1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
/* This file is part of DarkFi (https://dark.fi)
 *
 * Copyright (C) 2020-2024 Dyne.org foundation
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

use super::SMT_FP_DEPTH;
use pasta_curves::Fp;

pub const EMPTY_NODES_FP: [Fp; SMT_FP_DEPTH + 1] = [
    Fp::from_raw([0x7fdcb87b3a7cc688, 0xfb77f62c64bd9533, 0xbcc6a6199bde1950, 0x1d7677b2ff2e6dd3]),
    Fp::from_raw([0x95acb632a06bf9d9, 0x65e7a909c06a8c73, 0xa15e11d587aa9432, 0x0fe83b8f5d6373da]),
    Fp::from_raw([0xd2d484725272e5aa, 0x564650615cd38a17, 0xae014d5e771656a7, 0x2d60bb7425f9aa9b]),
    Fp::from_raw([0xa8af07e90e392d98, 0xb942ef60d8abb1a0, 0x3b29b3cfe7a9f3b4, 0x07f825e570f07664]),
    Fp::from_raw([0x298349b40ffbf2c7, 0x6128a1328e77098c, 0x1563ad670f607578, 0x1d9fea0cbb58f648]),
    Fp::from_raw([0xdc0efb03fcca9fe5, 0x4113aee17f28966f, 0xdf20851bbe40b0cb, 0x00ceca8ae32afda4]),
    Fp::from_raw([0x18f5954c2ed13367, 0x8b7174e3c4a28f27, 0xdc06660982d92113, 0x24222d12990845fc]),
    Fp::from_raw([0x4032702bc9634471, 0x6753e161504032cd, 0xf25603c1d8ba80fd, 0x1c33fb2b2bf28dfa]),
    Fp::from_raw([0x8e9a9cc03e4d128c, 0x3f8a51e60eb5f397, 0x57be821227f50910, 0x3f5cfdff3e19a03b]),
    Fp::from_raw([0x3fc1a622e7173d65, 0xda15893b656d216b, 0xba77c64a78caeb0f, 0x2dc9987c40959d65]),
    Fp::from_raw([0xbb7fc3b38fccdfb0, 0xa94c45781ede4575, 0x9d1748b0bdb0fd76, 0x34e970844de735d0]),
    Fp::from_raw([0x0f24cfb0cec28dc7, 0x55b82dbeacab0a25, 0x5d161d59c270caf6, 0x0be2dbdfbc4f76f7]),
    Fp::from_raw([0xf1685e14186bf7f1, 0x5b1b25b3b5a2a788, 0x2e5324dae74b0b62, 0x2f254d1855cd0be2]),
    Fp::from_raw([0x0c07896f9f1d64d1, 0x593c2919d06d083c, 0xcd6d901dc0830f28, 0x15a09a9ce5833014]),
    Fp::from_raw([0x3dc579ce0a003736, 0x06bad4a9b660f6ac, 0x518f48ea8b2d92c3, 0x16c6c536533761cb]),
    Fp::from_raw([0x251afcba84aafce4, 0x0fdf40eac22f2b5e, 0x7f3bb5a736b67c22, 0x3b1ce50a2e745b84]),
    Fp::from_raw([0x65045de657b00762, 0xf996e4345b6aa59f, 0xef529897f223c446, 0x23f437dfa69b17f0]),
    Fp::from_raw([0x0768a4c716f699ae, 0x3ea2011f572ea7f4, 0x705655499eddea1a, 0x1a66fb63d0526571]),
    Fp::from_raw([0x17ba0576ac47ef73, 0x8967aef45cb1751e, 0xb8bcb833f72a6d68, 0x12a055ffd6725b48]),
    Fp::from_raw([0xb0ac21ff1f1eb1d5, 0xd57044bfca45dc33, 0xd1afcf037fae5cc0, 0x196e8a3711caab93]),
    Fp::from_raw([0x90d2a9ca72a1860f, 0x7187acc05619d647, 0xf7c75ffdece6f00e, 0x298639dea13742ec]),
    Fp::from_raw([0x44e6ad8931a2b58d, 0xbf6c06e161a5e298, 0x358745d38b31da89, 0x24fa722b60aca46e]),
    Fp::from_raw([0x013b462cc5e2ee24, 0x9439c569fdcc4ea0, 0x334b6bc314d08c81, 0x2611bf3615cea519]),
    Fp::from_raw([0xc1f9a8a6615c73dc, 0x9437959c162f00e6, 0x67109d6208253f20, 0x3719c323f44c6833]),
    Fp::from_raw([0x3cc1be66d60846b8, 0xb447a56fce7e1c85, 0x3c5fe90977fb8f14, 0x1e77609e7763df74]),
    Fp::from_raw([0xac079d1f814a574a, 0x3b7330cf331da0ee, 0xd09273bc6a6a81fa, 0x36ed25f79d404aa6]),
    Fp::from_raw([0x00969f24330612cc, 0x62f033cff1bb518f, 0x9b13603cd39ab1e8, 0x37eead79b0decdf3]),
    Fp::from_raw([0x273a034cd8d139c5, 0x49f325d7f6dbfc33, 0x6d3d240c7f109db0, 0x34946156144c956a]),
    Fp::from_raw([0xf73f6342300563b2, 0x5aaa92448a255e44, 0xedb7cad31e133fea, 0x14c135e735af210d]),
    Fp::from_raw([0xe8fa4f7fc1d32903, 0xe2bcaf32229ac7c4, 0x690a16b26ee80925, 0x0e4db52aa89e1782]),
    Fp::from_raw([0xc30d089c6fac7b57, 0xed30361f9b3dc321, 0x53fecf00595e254d, 0x13051e6d8b28f4d3]),
    Fp::from_raw([0x48439fb3306b357d, 0x412f17ed4fd52997, 0xce94f95ca4836c48, 0x2fb76b0a9d081cfd]),
    Fp::from_raw([0xbe3ac571ede9e6d4, 0x73cdaa1ecc05d563, 0xa1614d0823de3ce6, 0x1423e2dcac5d3192]),
    Fp::from_raw([0xd70d76661a86940d, 0xdcbcf033ea93c211, 0x37fb4fde264fa376, 0x18e093034b8fa944]),
    Fp::from_raw([0xd4aca7ce039bd75f, 0xc628c84fc8fbc4d7, 0x78466fa34b417995, 0x1563ea9ff93155ac]),
    Fp::from_raw([0x1281bc8f370ec5b8, 0x0ed284e8ceaf2fb7, 0xb41b2ddf4076326f, 0x2e1ad21b58ecfd10]),
    Fp::from_raw([0x100f6130aa399926, 0xcd5c152fd64e72aa, 0x0f326779f655f6f6, 0x28026600035fb09f]),
    Fp::from_raw([0x273bce9aace7320a, 0x9b814c4573c5f1c3, 0x2299e799c809bacb, 0x2d686f59e0ae8a18]),
    Fp::from_raw([0xfa5d595e7c75e869, 0x1c258bc05fa12124, 0x6c958d88c5ea9a7c, 0x0a5916de75446748]),
    Fp::from_raw([0xe2bf94560c8c5f0a, 0x4d0f05c2fd4d2382, 0xa73474e6fb98eafc, 0x2047c47fe2b32b4b]),
    Fp::from_raw([0xc3d124aa0f22c845, 0xe5b1fee55b19ffa5, 0xb1330766aa3a9b88, 0x2f7b0ab990b6717d]),
    Fp::from_raw([0x2b6118e5c8f751fb, 0xd05c4bac8d6e7b26, 0x1b912c63fddd5579, 0x17dd6215966d6908]),
    Fp::from_raw([0x46a1f3d365f72676, 0xdd5d95c1f9c5fdc2, 0xd085e52e4283ce6a, 0x083870c216e61d0a]),
    Fp::from_raw([0x86b2f90bb064eb84, 0xa247d80141f19768, 0x9d5b5a307b21d4d7, 0x1e0c4e372d6ea5a6]),
    Fp::from_raw([0xcad93b9a206a36e8, 0x7ca68732b5a36c9a, 0xe959e97119426069, 0x172c843da8d192ce]),
    Fp::from_raw([0x6199d948c3c6f738, 0x210010cffef9b5c8, 0xfae70189f61bd14b, 0x1c78db05b4cf7c69]),
    Fp::from_raw([0x43e29f171bac4412, 0xe4b20183312dd15a, 0x21d4c0b0738b0c21, 0x1a518b94b0f061d6]),
    Fp::from_raw([0x8381261b0060ed01, 0xbbffb3107bdb4c00, 0x56b18562189315d3, 0x3593512f1bd6d55e]),
    Fp::from_raw([0xf5a031abbde06007, 0xa4b93c725d4f9fd6, 0xecb1c6c01b635d05, 0x27557b110bc9fcb4]),
    Fp::from_raw([0x859af37c0fe479a6, 0x0a8d9354d24571e1, 0xcfae163cad265a42, 0x23b002b85a97cbac]),
    Fp::from_raw([0x85875792c3b857a2, 0x80408ca4a798285e, 0xb467f8d817983d04, 0x074260a839fa32ca]),
    Fp::from_raw([0xabb8f74cb4b3f3bb, 0x82c245b0fa064a76, 0x877933e420b67873, 0x05c560ff8a75a2a8]),
    Fp::from_raw([0x41188569cae868d2, 0xca1b791d9734960f, 0x4f27235d44e7a22e, 0x071a90ea1cfa49e9]),
    Fp::from_raw([0xaac629c11c8a6532, 0x69cda724b8a6029e, 0x73e84de87cb88148, 0x33283917598bfe9d]),
    Fp::from_raw([0x650935ed8dfe935c, 0x01b01484e28952c6, 0xf5b5b7385e970c8c, 0x3a6352a63e88c0a5]),
    Fp::from_raw([0x4d28866f92c54bb7, 0xbe728416b4fbed94, 0x6e749f731c663ead, 0x028493f6aac925c2]),
    Fp::from_raw([0x1512cade740012c5, 0x15395d3fc9e5d1e3, 0x3dc4398707b8adff, 0x2e8dd279cea40c03]),
    Fp::from_raw([0xbec96ea31269956e, 0x800c24ecb0449682, 0x7daa4e31e318fe11, 0x0fa8dfb23a60d9c2]),
    Fp::from_raw([0x56d5067ce6851c42, 0xbf57a91b368a5963, 0x4d7b9c618ca725fd, 0x0d8a00cda1877e1b]),
    Fp::from_raw([0xb02c47e9667383d9, 0xf4662b7efc54f19d, 0x5206da18498c2561, 0x07df0f3970d15b6d]),
    Fp::from_raw([0x96ff5351a981c016, 0x583c22c7ab7dc44c, 0x85e382adb59e5d0a, 0x0c3fba5d05ba8fff]),
    Fp::from_raw([0xd1ba3b9a2ba4cfde, 0x8630c9056e400cf2, 0xe859b13c3210c6a2, 0x38633af1d6f74cf9]),
    Fp::from_raw([0xcc89ad8478d41a53, 0x302eeef0c9a16617, 0x0d8d53d9234bdf61, 0x02385e8eb6652b25]),
    Fp::from_raw([0xe119faa2de19d540, 0xcbadaf9ba9ee104c, 0x879d4f91ad894150, 0x26a4fb9e31fab5c3]),
    Fp::from_raw([0x6eca24bb07bce840, 0x4c112d6ecdb7b467, 0x8a43011d7ba817c5, 0x0caf0419d2c38f3d]),
    Fp::from_raw([0xaa9802cfea30b27f, 0x1ee5e625405c63e5, 0x0aedd0b4503fdfef, 0x3f1ff3d360a1e640]),
    Fp::from_raw([0x9dea990d07a2a97a, 0x6d76d0ccb0212366, 0xf0df6a5a471e400b, 0x0b0014c005d11a72]),
    Fp::from_raw([0xae957a4966d85b24, 0x11152d2d95d0f8da, 0x526faa6b54e3bb50, 0x3743e38e1c1bf37d]),
    Fp::from_raw([0x1116e119991f2ddc, 0x8bc6a70d0519f0be, 0x9df71fd6a58bcf7e, 0x0b3a33fc9f0b18f9]),
    Fp::from_raw([0xf6e2c96a0af305e3, 0xcf8543381d5594d8, 0xcd7b93962d0c0e94, 0x20c383e4be7f0483]),
    Fp::from_raw([0x78165416e42edd23, 0x5144a081587f3970, 0x7b846c04dfc3dd73, 0x210434b6d4640037]),
    Fp::from_raw([0x57a3d43bb98c368c, 0xabd1a1ef8ceae053, 0x83bb0974c4fb6097, 0x18abdb23479a3215]),
    Fp::from_raw([0x8751009f107f1d10, 0xe0caee8ac16f7ad0, 0xcbafcaaab50d06ed, 0x156e19d597a84c1f]),
    Fp::from_raw([0x72fdfe05fcef7774, 0x074035620d64eecf, 0x2971d01c70b9947f, 0x3acf173e6ac82f37]),
    Fp::from_raw([0x1981b8346d5fb2c9, 0xd5dfbcedf58f4a35, 0xa7e546ad16b2b69b, 0x017b83d2fe862f98]),
    Fp::from_raw([0x38d6f2287aa498ff, 0x37f28c9cc47a7096, 0x68144744a5775fb1, 0x09df52813e053fcb]),
    Fp::from_raw([0x9ef3134fc86f800b, 0x2e6b636817a7f0de, 0xb594bf009eca1888, 0x2bf5a4535bd70580]),
    Fp::from_raw([0x80825326c2a44534, 0x18964a81cff2d46a, 0x11bc371f54065f74, 0x271f17dd2ce95e4c]),
    Fp::from_raw([0x0ef966a3dee41cb4, 0x86db3a2dbe171a7f, 0x32498b69b51ac0f9, 0x31569052c9d05a4d]),
    Fp::from_raw([0x194b9a831baf1fb9, 0xfdc32d5ab705700b, 0x7bd784508873ed7b, 0x0730ed26e07c4845]),
    Fp::from_raw([0x40f3802d97f9f2bd, 0xc511b34c5b166b1f, 0xfe72a5fb066fad82, 0x191e74e4b0dee30c]),
    Fp::from_raw([0xf615100ed8cd1170, 0xf227836c8f619416, 0xef1bcb87d162f322, 0x244ab91d3a2bb6ea]),
    Fp::from_raw([0x3c762e7c1c2507ae, 0x41b66cbf2d4a4da4, 0x6c25e40ab14483ca, 0x39a7e26074380273]),
    Fp::from_raw([0x56affbb2d23b44a4, 0xf6c856b820c137ef, 0x9e4889c70a11b531, 0x280489796c6fb38c]),
    Fp::from_raw([0x72318acf9c0ee0bf, 0xc7530a9953d588d0, 0x019a0e0cb6a7cfcc, 0x143d7d370b90a253]),
    Fp::from_raw([0xea91d45a77dcf340, 0x3d50239cd801a935, 0xa8af4267eda5f951, 0x23e3500c39c1ee0b]),
    Fp::from_raw([0xe5a2121848a034eb, 0xe9ec37dc86d1708c, 0xc0c0692b5deef17e, 0x0ecfc842f26b2eee]),
    Fp::from_raw([0xf373c5b8ebd22743, 0x32356dee3cbc770d, 0xddbdaa1d48373c75, 0x39390eb009c12ca3]),
    Fp::from_raw([0x81e09fca48d7addc, 0xf04776fb59f1b248, 0xb842414acb0090dd, 0x2bc64efe2b8ceb1a]),
    Fp::from_raw([0xfc0d01a7908b858a, 0x8d6f2ffb99d9a7b4, 0xee226e4b27fa4aa6, 0x06c456cf0a86bd9b]),
    Fp::from_raw([0xecf98b9436c7e555, 0xc3e7d4306f56ae13, 0x9f622ea34b879626, 0x115d6246020c9b54]),
    Fp::from_raw([0xd10217ab8333bcd8, 0xdf3c2b53f989093c, 0xe59a5b58e4c5d231, 0x124a11d1ce2c80af]),
    Fp::from_raw([0xb3f633b12cd120cf, 0x2e48dbe5e3a0289b, 0xd910a9fdfa842239, 0x3ac5e29def27496a]),
    Fp::from_raw([0xf5b13c36dbef13ee, 0x3efd619bc655549e, 0x1b97213aee445988, 0x07d4074593fe19a1]),
    Fp::from_raw([0xfe23b88b6e352edc, 0xa77a9df9a0e35a09, 0x136a16b23fa8c140, 0x09aa7f4d20d2c752]),
    Fp::from_raw([0x5907c27773adf646, 0x20c579c699879289, 0x92bd2aea57c513bf, 0x20985362b9e385dc]),
    Fp::from_raw([0x829c24c06eb90899, 0xd33ededda3162a95, 0x3e18356a0868bcc9, 0x17079d5b389834f1]),
    Fp::from_raw([0xcf225a73d7c1e647, 0x17572d8aba0b6ac0, 0x46855aa988fcae75, 0x3237267c0c90cdcb]),
    Fp::from_raw([0xdfb4c6026b2d120e, 0xe9e82f0582ca3737, 0x480cf82f1b5f6405, 0x18d2b3b364458a32]),
    Fp::from_raw([0x24a87e3d41e4c5b6, 0x21101ab8f28f1064, 0xfca51e33d1feb8c3, 0x3c71bdb7e803fe92]),
    Fp::from_raw([0x8c0e7c754c02a3e1, 0x806b5df0ebae33b0, 0x57bfb02726fba413, 0x2c7039986b9bb6b6]),
    Fp::from_raw([0x1466c0529a67d120, 0x7de4aa0fd5af565d, 0x38b9ca03dc024b94, 0x0d204d7098557e49]),
    Fp::from_raw([0xc9e4bfeae8229202, 0x57eaf1472ace898b, 0xe6d1f8b04126c2bc, 0x3d67511eb5b23a4a]),
    Fp::from_raw([0xa7d7c815384bb511, 0x1a184965c9891b86, 0x05c33d07eda4f764, 0x24c3f22de80f9f6c]),
    Fp::from_raw([0x376df23e528146ab, 0x790f0b976ef51d1f, 0xb7ef381d9d69c77d, 0x23277d1e7d3312ce]),
    Fp::from_raw([0x15e07b74445b1bd9, 0x17571177d2aa5d05, 0xbb5a18e32f2480cd, 0x17f8ad0b46479b00]),
    Fp::from_raw([0x72212551a2c1eaec, 0x41e6e002da3127b0, 0xbc91ae736b029dc4, 0x163737b5ce6f658c]),
    Fp::from_raw([0xb016400bbbe519b2, 0xfa2b7fdb9f09d92a, 0xb12955c9409bdc71, 0x020317395f6a7f64]),
    Fp::from_raw([0xa1e4b90ede93e6b1, 0x5e8191434103c97d, 0xcd40862d18a618ca, 0x00aedac93402bb18]),
    Fp::from_raw([0x7f2b9ddc96bdc70a, 0x99ae344fc71c31a7, 0x7156a6665745ebdd, 0x1d9b06412d5ce96d]),
    Fp::from_raw([0x14480920d0a06a79, 0x77f31b1ffce3fb92, 0xc9bfd1a1c6f80cce, 0x3106e68eea1351ce]),
    Fp::from_raw([0x0d7280b665939c7f, 0x3bf7d2203458c315, 0xd0cc0ec85d1ea775, 0x03ee1b0281a3563a]),
    Fp::from_raw([0x956883ed477692d6, 0xbf5448d452e93194, 0x6c8821019a6ed39c, 0x0a96fced47195d16]),
    Fp::from_raw([0x116ff721c096b9ba, 0x256fa58356ff07cb, 0x376303271b9ae555, 0x1d9b75598c074958]),
    Fp::from_raw([0xcc192bda0ac09f8d, 0xf7b72cb3678deb9f, 0xc46f0930ea2902a5, 0x38b6299ebbec1f54]),
    Fp::from_raw([0xbf327372cf693be8, 0x3280e7e3c238e988, 0xae9db3f8ec0d030b, 0x0ac868ec3dd9ebad]),
    Fp::from_raw([0x7ca56218ef580900, 0x57097db94a74b55e, 0x5231646ef35022c5, 0x1cec34b131c6d148]),
    Fp::from_raw([0xe5bb7659667ddfd4, 0x01ce46c51ca21207, 0x3df0dd3c20d78039, 0x061db09f7c795666]),
    Fp::from_raw([0xb133f7b5a05d5e92, 0xc3cb7b46ba8c47be, 0x05bbc7b8b66ff4dc, 0x207e13847eee223e]),
    Fp::from_raw([0x52d748e41518a2d4, 0xe6990890ee4cf684, 0xb20c68e0fdb5d5f1, 0x204b419898f8a6f8]),
    Fp::from_raw([0x202755edb699c52c, 0xd12e0c979fe0452d, 0xff5e0090b846b06d, 0x28f117fcfef35da6]),
    Fp::from_raw([0x6e578d7eaf032135, 0x598809759a327db7, 0xbab808204b5e08aa, 0x3a0414657ec0d812]),
    Fp::from_raw([0x1a39f01f9a3b0ac9, 0x29aaa3c3c2c509ca, 0x6d86c9246128b030, 0x22af474b0b051fd9]),
    Fp::from_raw([0xd725c4c00dd21894, 0xa112e339f122b859, 0x2fe8ed4b935591b7, 0x00c7a1a7eba0232e]),
    Fp::from_raw([0x2ae5a389f9072b40, 0xd6fa3eecfabed4ed, 0x5fbfcce81f0c07ba, 0x26656db10b0d8afa]),
    Fp::from_raw([0xf0ee9c9ef39752b2, 0xdfaf4dbeac4c7de8, 0x6155ed318a99e79c, 0x17236699364a1d25]),
    Fp::from_raw([0xd140c375e8430d4f, 0xae9e91a90d45363a, 0x97c5aef5a1b587aa, 0x0944787d2fe15a66]),
    Fp::from_raw([0xdaf1b25949545117, 0xe769f626f6ccb11d, 0xd6232f3af68819c2, 0x3d43cf647552bea7]),
    Fp::from_raw([0x9959d075f478f8f7, 0x57328b260e046eda, 0xd6dd5963ca09110e, 0x1a7892dc5e82ab39]),
    Fp::from_raw([0x1e4c0e395dda5127, 0xb5c70162ca58e0fe, 0x0a80541544aef313, 0x0d34fea9410710dd]),
    Fp::from_raw([0xbcfc8fa9e40f91be, 0x097224b94d84ca83, 0x463c5e21abd08844, 0x103cacab50fa50c8]),
    Fp::from_raw([0xf3b928331d72702f, 0x659ca3c6f5bd7ff5, 0x2104560000fef1ff, 0x31e9b21d52e192b0]),
    Fp::from_raw([0x15d318809f60865f, 0x9d50a31ec6d49a30, 0xdb6b98b210777a58, 0x028cfa1ff8107705]),
    Fp::from_raw([0x2b1e22b718a3b91e, 0x2448fe31fe61e6ec, 0xf219411c70f28506, 0x212f7fa30f223b93]),
    Fp::from_raw([0x75a84a45bcb8858b, 0x89e0132891b60aed, 0xb07ec6198b4b8978, 0x1f8eb32a975dafba]),
    Fp::from_raw([0x36edf93a387cb60f, 0xcc2b47c63ba10fcd, 0x4d1004dc39ae5766, 0x3e6582172a41f7d5]),
    Fp::from_raw([0x8aff4bf1b94467a1, 0x0a4008ebcf4c8d82, 0x09a268b43b2edcf6, 0x1a9ba420d2f389c2]),
    Fp::from_raw([0xfef92cd972c2ae73, 0x73d60c67a3036e88, 0x15b8df320a06e443, 0x1fa88175a1992310]),
    Fp::from_raw([0x3b45778f5c162b88, 0xa9cfb590e28e06e1, 0x2e0fda6eeae1bd4b, 0x07d68aa4efc4c70a]),
    Fp::from_raw([0x5fdba4a75284ae16, 0x8d90ef0f9e9e412e, 0xdc2bdd5dc388b9ac, 0x1cd3f0167137966b]),
    Fp::from_raw([0x3eab61c1e0f1894e, 0xf90be72096668fe0, 0xf71ba848b0486e74, 0x190a705bd7932ee5]),
    Fp::from_raw([0xaba896b423158040, 0xe2858c7e206179a9, 0xdc31cebbf5c4dc30, 0x2fdd205811f034d5]),
    Fp::from_raw([0x9cb55a459dba8b0f, 0xad3fee969fec610b, 0xfb11af0a4564b800, 0x2beec004fff52582]),
    Fp::from_raw([0x35152a50d30a1f42, 0xa47de8aadd39e53f, 0xc442f6e1e7da058e, 0x1e6e95e9a5d03728]),
    Fp::from_raw([0x7c4bcd2e919ce944, 0x1476d797bfd103cd, 0x61958357ffc95308, 0x13e4208949e31df5]),
    Fp::from_raw([0x57b07139ba293f92, 0x312457748a25f905, 0x56bb71773c3947f5, 0x21b2f2343c364d27]),
    Fp::from_raw([0xb5008e213864563a, 0xea5731918b689a10, 0x331063c5887d937b, 0x1f90e68a6190dfd7]),
    Fp::from_raw([0xaba56b0a6eae644e, 0xf5331c87da1b47aa, 0x1f4b37c58f34160d, 0x1c88b570d97d132f]),
    Fp::from_raw([0x39e9707cd191047b, 0x04c152e6efe8837c, 0x72683515b0fd2979, 0x249cf703d15adbcf]),
    Fp::from_raw([0x440c6e9c0b7d20cf, 0xa1a5c0ccc5384a5f, 0x32735dd34897fed8, 0x3a210a1d3ce74b47]),
    Fp::from_raw([0x7985afbaca05fb7b, 0x0bbf8c3c0bfd5309, 0xe53d524b50d3c7df, 0x1e62c63b2d4dcce4]),
    Fp::from_raw([0x339c93afe06b6424, 0x3f4d02703ac40da3, 0xd868e8736146fc20, 0x199f499c41a96fb8]),
    Fp::from_raw([0xee200a57edeeb076, 0x3fa1538acdb892d9, 0x093634ff4d744740, 0x07d009c744f40744]),
    Fp::from_raw([0x95bb9b2493100d1f, 0xe75de3f18a153ee6, 0xbf0cd1d98f7cab28, 0x3e84c27e6eac70d1]),
    Fp::from_raw([0xfd12132b6d4b1cb8, 0x23315e4439f546b5, 0xe9d03261baca4007, 0x22306aac801e9696]),
    Fp::from_raw([0xb023e2dcd0af5cdc, 0x60b018f901a90bcf, 0x2ecb2b6166590d1b, 0x1380bd48f98efa74]),
    Fp::from_raw([0x8c3e57dcdfcbb030, 0x3b0011e79f9665aa, 0x14ad256809184278, 0x1a0b071831f9004b]),
    Fp::from_raw([0x6e4346f0b63f1934, 0x167f0968923bf686, 0xa476412799f2cadb, 0x308dbc8723e9a242]),
    Fp::from_raw([0x0eb127bfd81ad21f, 0x6c8843cd4877adb8, 0x44f368422b601a1e, 0x335f9530238e10aa]),
    Fp::from_raw([0xaa8986046dc44290, 0x0fdd3668381824fb, 0x8b9b22ef684ffb05, 0x1591db904b23c736]),
    Fp::from_raw([0x9baa070c1e998908, 0x1c43e7f7044b0626, 0xb34a4e1c50e4f9a3, 0x131f0b2e45e0d3a9]),
    Fp::from_raw([0x17c9f9f310b4ed74, 0xc93283a3ff203665, 0x47f90d6f32f19930, 0x1d613dc762e2da61]),
    Fp::from_raw([0x5b1575c35570b631, 0x80e2e56d2d969674, 0x70d0f287b6fb257d, 0x25c973cfd4666ef8]),
    Fp::from_raw([0x88ca319bdf34d082, 0xbc66eb7722f12100, 0xda2228fba1395996, 0x3035f564a6ca6d5e]),
    Fp::from_raw([0xe7c2e5c936b9f578, 0xa1735e6c7cf9e8e3, 0xd8a1f52ea822ec74, 0x2a28f60cf833652d]),
    Fp::from_raw([0x6d488a79fbfaeb6b, 0xf2576a8afa7e88b1, 0xd956641ab37f8224, 0x02893e63debedb51]),
    Fp::from_raw([0x97c554cb2bc7e10b, 0x1ffd8f859b778cd6, 0x6834c5ab663dae4a, 0x159b5f00f85226e5]),
    Fp::from_raw([0x4c6077ce5851b11c, 0x9dd07caaebcfbc9b, 0xf8db08d424ceb5a1, 0x38a1ec67630e73df]),
    Fp::from_raw([0xe4ce4f1708becfd5, 0x4f28a5057e63d9c4, 0xa5945cad0443e2b2, 0x2773016b94aec214]),
    Fp::from_raw([0xda3ded9efa2c3e39, 0xc4375581dd6a10c1, 0xb83c1879c433f0ce, 0x2af0401500a133ad]),
    Fp::from_raw([0x3a858d7896b912a9, 0xe50626318e1d2fff, 0x1dda9e1420f9ef23, 0x0890942c3755ba12]),
    Fp::from_raw([0x4773bbc47762ed92, 0x3a6af10069c763a1, 0x82e6a67f0cdea31c, 0x27c987ae496f5fdd]),
    Fp::from_raw([0x3d7d586515fc6c46, 0x18c85c9506ee2f4f, 0x9b46c24b9533188d, 0x34797c991f123787]),
    Fp::from_raw([0xef2fcb243e62a46c, 0x0dc8aa31131c85e3, 0x585b14825b5ad5c6, 0x2656598cd4645af0]),
    Fp::from_raw([0x51277f9edb676e9b, 0xacd2a69bf84a3d38, 0x5fe742934ee905bd, 0x02e70bec3a4b2852]),
    Fp::from_raw([0x7cb948daf20c8743, 0x4321a033001ec2bc, 0xb00ab432eb152bfb, 0x03c1b5ab8bf028fd]),
    Fp::from_raw([0x7049b1a70877655d, 0x787254546824b7dc, 0x7b11e5c5c9536452, 0x35261aef6cdb6751]),
    Fp::from_raw([0xc05f09aa0985670b, 0x036188e251791905, 0x30ea7e66df40128a, 0x08030d0b420a0e59]),
    Fp::from_raw([0x8839ecb654d1a720, 0x116184c46e97787b, 0x92f4e41edd36c6fe, 0x37f2ef43a3ae9eb5]),
    Fp::from_raw([0x4fb05f8ae264c429, 0x4677be6b2d3a0506, 0x04c33ef1d626b84f, 0x3a656ea92dca77d3]),
    Fp::from_raw([0x9f559ae8daad9b94, 0x14c0adee725fbbde, 0xdcb80424b9a2bdd5, 0x0888340570b20630]),
    Fp::from_raw([0x65d69b797b3074a4, 0x9f1ae44ed4e339fb, 0xd1af401cdc7e107f, 0x3e9e816ed45e6137]),
    Fp::from_raw([0xb59c9765f0bf3b00, 0xb6b46895955aa7da, 0xdfa8f84a7d0a2bd2, 0x11a9241d8dc681e1]),
    Fp::from_raw([0x86f8918fe5ef2632, 0x967473fb2dc66c5c, 0xd79c6cea186f84cb, 0x102b14e823fc673f]),
    Fp::from_raw([0xd825e9c5b039c431, 0x6c90fb653293423a, 0x5bb7aced07f65cfc, 0x3ddfeeca13f802a3]),
    Fp::from_raw([0xa7b0d3cfbd5295e0, 0x480ba581139f9873, 0xf46826fda9f8ae40, 0x0739c55c984e337a]),
    Fp::from_raw([0xe7d5b6dcc9041184, 0x46693dc98377e3aa, 0xdad7940a3b8fd448, 0x38a14f0e48e31bb3]),
    Fp::from_raw([0x2b12d90a174906d8, 0x4510975fdcab1718, 0xe2445f8da9fb8cff, 0x0c00c70dc2dc3c47]),
    Fp::from_raw([0xa6489525a354be92, 0xf90dae70507fa089, 0x687f87239625fc22, 0x1e464cb65ea84090]),
    Fp::from_raw([0x127938514ba77d41, 0xfecac07de16f5830, 0xd2fc60db48742f6c, 0x2afc284e5e641119]),
    Fp::from_raw([0x594ef290ee00e62d, 0x21022ee8a023532a, 0xf67cabc62c6bc525, 0x227f44c0a1a01fd2]),
    Fp::from_raw([0x38bbbe32f3c31eb3, 0x722c69f54a717022, 0xe51de0b9acef7831, 0x14a0ff81aa610dd1]),
    Fp::from_raw([0x7c7b6a7a5f3a8732, 0x53edbd7d7cd5dff9, 0x6b95c6bbf38a77af, 0x1e7cc24137af66ca]),
    Fp::from_raw([0xcf6ca880c4b57566, 0xc332ffddcab926ff, 0x1471e45a60074681, 0x0249ab641c0dd216]),
    Fp::from_raw([0x24f57661bbac302d, 0xaba2302cc96bdfde, 0xe8011e830ba32ff0, 0x2681e8c667b5a435]),
    Fp::from_raw([0x37b8648cd93c671b, 0xbb6f80a0d6e75425, 0x26fd5335c2f4b239, 0x01b65829275acf41]),
    Fp::from_raw([0xea81d36814fa04ba, 0x4c3cb14f94466735, 0x28f385ba31e06edd, 0x37fa49f169efd222]),
    Fp::from_raw([0xd97eea1516a96709, 0xed9ebd15139c1f6b, 0x6baa46e71ac385be, 0x262033dccfe9b9fa]),
    Fp::from_raw([0x3fc52baf7cba3f05, 0xed8e761167e028b1, 0x2d379e38e9da35b3, 0x1ee633d2fb5a1768]),
    Fp::from_raw([0x305da6c96157de03, 0x20565f7f2fabc136, 0x5ff96274cc09f6f8, 0x2de21104833d698b]),
    Fp::from_raw([0x1a7f5dbeeb85440d, 0x727c3a9d968425d0, 0xd5f8264123a285a1, 0x35dd6506bff3fba8]),
    Fp::from_raw([0xd6856b0581484a80, 0x51893ab52b87e844, 0xbee5e18b0899c4bd, 0x3491d0abc689059e]),
    Fp::from_raw([0x37598e5a55794938, 0x8929d87529e2d83e, 0x69c49e5c30e1d9eb, 0x2914e258563f0a1d]),
    Fp::from_raw([0xb1ce963174ff53f4, 0xbb3f5101afe5b95c, 0x7d510951de49935a, 0x00f296a6cb22cdd5]),
    Fp::from_raw([0x875c33b952c9e3b9, 0x3135e7ccd65d641e, 0x3fe59265ce7a319b, 0x303e0b05872f031e]),
    Fp::from_raw([0xde7a24ad5340e11c, 0x4f51a31b2d89389c, 0x174ec7a5e0600446, 0x1d41bd3b1e42d857]),
    Fp::from_raw([0x998069223aad18d0, 0x9aee34256dcde17d, 0x3cf183d4fe29e11b, 0x21c519ae2546d8bf]),
    Fp::from_raw([0x5cd8d5510699d859, 0x684ca0aaec13bf89, 0x97983d9bebce0b26, 0x335d0c8156482464]),
    Fp::from_raw([0x489b875e2a1dfcb8, 0xf50b1e6d8c58ba11, 0x1dc8903d943673f2, 0x2fe3b7263c5ad945]),
    Fp::from_raw([0x88008e6d216722d6, 0xa596a9060f06bc9c, 0x48a97890cc7cebe9, 0x3f65390f2be26392]),
    Fp::from_raw([0x39de5602c3440a28, 0x962bb9e50cc28c84, 0x20deed4e48b5998a, 0x10fe58e3d709845d]),
    Fp::from_raw([0xcd9e4ec144e4fecc, 0x612d3199d0d650af, 0x98f7cdd92e87ab8b, 0x310eb8b16bd52b5c]),
    Fp::from_raw([0x31e10158e0609e12, 0x61adad1170cb6ad3, 0x43b03367b992a4cb, 0x0b675c5155b583fb]),
    Fp::from_raw([0x95e4d3c6713c8b98, 0xb0b2cafca021de61, 0x2f272c1e3723e1f0, 0x1f2c785cd53a7531]),
    Fp::from_raw([0x520be537b3c7976c, 0xb8b33c8387f87170, 0xa5e280db519eb4d2, 0x38b4be13facaabbd]),
    Fp::from_raw([0xc1008f95b5a30ec1, 0x2c30e4326d28c5d0, 0xe2f10485c5224aca, 0x3dc1ee940a0d49a1]),
    Fp::from_raw([0xf1492242707cd62b, 0xee2de10bbf2df17f, 0x978e34b19bb14445, 0x340e0653a9355f23]),
    Fp::from_raw([0x71064134b816a654, 0x55640a059d275bfd, 0xd41ad687a4afa036, 0x3d0b2d14b5611d29]),
    Fp::from_raw([0xfeb7ed6ae8f921a9, 0x3dd5ababa51f0fa5, 0x376a4d651179eac1, 0x1b376d3d610a0b09]),
    Fp::from_raw([0xdec9d5eff4732bc8, 0xca7ac6e3391934f7, 0x194b7e38e1b58bf3, 0x1b0463c8b5022edb]),
    Fp::from_raw([0x93a802ff5e0a5c74, 0x5bcd320655d6df32, 0xd7f39e8e2b387197, 0x31c8c50b91880565]),
    Fp::from_raw([0x4fe46af13d411cb1, 0x22de083e542e88ef, 0x32fd7b690d60714e, 0x1d4925e7df9327bb]),
    Fp::from_raw([0x826a68439c6cc700, 0x92e7bb46f7ecd881, 0xfb5964a1b1f621f4, 0x022cf3bfbcf480a0]),
    Fp::from_raw([0x3ec0798ea92fd30c, 0x00646f2e56aff36a, 0x9ead0c0f58946c1a, 0x3ec767e505ee2f1b]),
    Fp::from_raw([0xca61c38bfd43b306, 0xe0a251339b7cbd13, 0xb4072507cb0cdc40, 0x2c17e0a7b92c0be8]),
    Fp::from_raw([0xcbda037e8121c9e7, 0x785f87aa160d7d91, 0xab4c23ad369595e2, 0x16b50fb12797fc65]),
    Fp::from_raw([0x72c3ceff501f1f76, 0x1d5d3fd04dbae386, 0x42b1e6ae750a523d, 0x3ff28302761a6b95]),
    Fp::from_raw([0x0cf2fdc0de8f9cce, 0xf6e4e7e2983f9a7d, 0x190a70b828ec4774, 0x37ebe308145ebdcb]),
    Fp::from_raw([0x182abf658bfcbde0, 0xb2b499715cfffaac, 0x912a43c406332c84, 0x24d266df43d0881c]),
    Fp::from_raw([0x82a295313543cea0, 0x5f457eb7af0ea74a, 0xec9f63a0a2a83645, 0x2358a0f7e472ae30]),
    Fp::from_raw([0x37e3c3794a67b158, 0xfdcc380a915e9fe4, 0x8a77e847dec3a2b4, 0x33c9ffb85f033302]),
    Fp::from_raw([0xa68fc3ea2324871a, 0x7f858dbe8c843e3d, 0xcdb8d4f4c3a36d2e, 0x15f7de06da2d96c9]),
    Fp::from_raw([0xfe1c102bc809670d, 0x28fe40df23797dd9, 0xb139922a986b0ac9, 0x30e5fb6e6fdf9664]),
    Fp::from_raw([0x0d7d7a71f88252b2, 0xc2136d8eea99b7e5, 0x68f58a385800cb98, 0x2458bae1bb538b81]),
    Fp::from_raw([0xc32068a99af07e61, 0xa3ac3f486f1c243e, 0x8fceed5e7707b42f, 0x258dea48aee8d67b]),
    Fp::from_raw([0x9d475ca8dc5c402f, 0x9e58f7ee1de40722, 0x6ec2d78d5ed5d763, 0x2d37128e74ce6fcc]),
    Fp::from_raw([0x7411e24402342d89, 0x3a42c755f7daac7d, 0x5fbe1b7dc1f41455, 0x356c7ecb86fc6a9b]),
    Fp::from_raw([0xf513705b6cef61bb, 0x17c5ce529ecf1542, 0x6646153c786cbb39, 0x1c79f4aa3bb6cce9]),
    Fp::from_raw([0x01b77944d2ecbc02, 0xdafc04b4f51e0d7f, 0x323b4d9cd7269160, 0x33c3d0189963d3e0]),
    Fp::from_raw([0xa2a61abaf4143105, 0x3d6f81b17e7c1ace, 0x7a6df8b31e940649, 0x3554c3efb2690acb]),
    Fp::from_raw([0xc58a53abd55f3809, 0xa297c50fb35144f2, 0x0ce5922d02a6f1b3, 0x1577a9875e1af86c]),
    Fp::from_raw([0x2f05743a6284d47f, 0xa234edc72643eb1e, 0xaa17e7eb43038d70, 0x302cb42a0a14b23a]),
    Fp::from_raw([0x21420460aa3767f8, 0x1db0ecff49859175, 0x8d9e65d43d89b7d7, 0x1e7639068129c5e9]),
    Fp::from_raw([0x7a5c9bf9013d0207, 0xa3fefd5691449524, 0xa6d75c9aff7674d4, 0x319e1e3a74ec1a5f]),
    Fp::from_raw([0xd0ba2f37b9c5d930, 0xbafa3c71aa2bef1f, 0x29fd5f2d7debd014, 0x00b88e4674e21b38]),
    Fp::from_raw([0xe76bd6f9b98214e0, 0xc9de71a73b4db9fe, 0x61dd1ef9ca9e29dc, 0x018e558c71cb152e]),
    Fp::from_raw([0x271d231ae290b1a0, 0x39af404c0ef27542, 0x431f9e33667d38e5, 0x1f431806e7a5236e]),
    Fp::from_raw([0x413f64c07b89cb74, 0x83ebfaaaeaa2c98a, 0xd5f64ea56f6d9d17, 0x0f0247b79829b359]),
    Fp::from_raw([0x3dce7d91ee903995, 0xe9f03965fa32f311, 0x391628389711fa32, 0x153d37b3671d5043]),
    Fp::from_raw([0x45c27592a56f6c30, 0xf82476851acb9cf8, 0xaa335d0399e98ad7, 0x384f31275ba6d066]),
    Fp::from_raw([0x07d0d4cb66808d87, 0x3b1ce42f1c042035, 0x23868b1d0433198b, 0x145d40a674843737]),
    Fp::from_raw([0x635c1cf7d374308c, 0x795add36a5d2c516, 0x88ac6e4362d594b6, 0x2eaff451b551ccec]),
    Fp::from_raw([0x9e836c39ae5b8114, 0xdb1cef740d561012, 0xe8b699f9891d8597, 0x12a9b4fd088a12e4]),
    Fp::from_raw([0xe774e9db0948a682, 0xe22b4486bece41d1, 0x751feb9e9a9b7ffb, 0x362320e8e7d662f4]),
    Fp::from_raw([0x1ec2c6ce8359517a, 0x4dc531bc4ff2c227, 0xc7eb0033d3008469, 0x0394521bb77c67f4]),
    Fp::from_raw([0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000]),
];