1use super::poseidon_params::PoseidonParams;
2use crate::fields::babybear::FpBabyBear;
3use crate::fields::utils::from_hex;
4
5use lazy_static::lazy_static;
6use std::sync::Arc;
7
8type Scalar = FpBabyBear;
9
10lazy_static! {
11 pub static ref MDS16: Vec<Vec<Scalar>> = vec![
12 vec![from_hex("0x6ed88b54"),
13 from_hex("0x365c29f9"),
14 from_hex("0x029047ae"),
15 from_hex("0x0340f575"),
16 from_hex("0x68418255"),
17 from_hex("0x315e4e40"),
18 from_hex("0x51596faa"),
19 from_hex("0x71183465"),
20 from_hex("0x2d036fca"),
21 from_hex("0x09e4fa24"),
22 from_hex("0x38e00966"),
23 from_hex("0x13e81974"),
24 from_hex("0x60f6dafc"),
25 from_hex("0x3c664116"),
26 from_hex("0x2e2b9d4b"),
27 from_hex("0x6c5f6689"),
28 ],
29 vec![from_hex("0x4a1d7fc9"),
30 from_hex("0x6506dfb7"),
31 from_hex("0x2f49702b"),
32 from_hex("0x3ebaafe9"),
33 from_hex("0x718fc5d2"),
34 from_hex("0x14dcbeed"),
35 from_hex("0x27a38245"),
36 from_hex("0x528238e5"),
37 from_hex("0x10663404"),
38 from_hex("0x2a504978"),
39 from_hex("0x0b027c2e"),
40 from_hex("0x4bdd7226"),
41 from_hex("0x001ebc59"),
42 from_hex("0x52555194"),
43 from_hex("0x148df9b7"),
44 from_hex("0x013587d5"),
45 ],
46 vec![from_hex("0x03a74096"),
47 from_hex("0x5b791ccd"),
48 from_hex("0x2e3a2688"),
49 from_hex("0x26b936dc"),
50 from_hex("0x0a0df4c3"),
51 from_hex("0x4a1e89d8"),
52 from_hex("0x07a37b58"),
53 from_hex("0x3ff10121"),
54 from_hex("0x4912f3d0"),
55 from_hex("0x0e5cbd22"),
56 from_hex("0x0086832d"),
57 from_hex("0x5bc8209b"),
58 from_hex("0x0ecaa423"),
59 from_hex("0x0c8b360e"),
60 from_hex("0x542abb63"),
61 from_hex("0x198e5ede"),
62 ],
63 vec![from_hex("0x2ba24027"),
64 from_hex("0x5c61cbe2"),
65 from_hex("0x15dabd0c"),
66 from_hex("0x58763be5"),
67 from_hex("0x70a28315"),
68 from_hex("0x41a8f9fb"),
69 from_hex("0x3786bc6d"),
70 from_hex("0x19ca59f8"),
71 from_hex("0x42185a03"),
72 from_hex("0x48223bcf"),
73 from_hex("0x190d6883"),
74 from_hex("0x086269de"),
75 from_hex("0x3630ddef"),
76 from_hex("0x2c0dbdd3"),
77 from_hex("0x2c07ad23"),
78 from_hex("0x29561d75"),
79 ],
80 vec![from_hex("0x2db3561a"),
81 from_hex("0x349aabc3"),
82 from_hex("0x0aeb611d"),
83 from_hex("0x32c2bd61"),
84 from_hex("0x38527028"),
85 from_hex("0x1483f37b"),
86 from_hex("0x3b28e234"),
87 from_hex("0x5a2762d4"),
88 from_hex("0x47c2d9d7"),
89 from_hex("0x372c5808"),
90 from_hex("0x54d14bd6"),
91 from_hex("0x49690d33"),
92 from_hex("0x0e015d17"),
93 from_hex("0x6aabc1ec"),
94 from_hex("0x3070eff3"),
95 from_hex("0x20b26c05"),
96 ],
97 vec![from_hex("0x2e19ba8d"),
98 from_hex("0x0d23450a"),
99 from_hex("0x2e5d9599"),
100 from_hex("0x57521a71"),
101 from_hex("0x0fe30b31"),
102 from_hex("0x2d125f10"),
103 from_hex("0x0bcd2b75"),
104 from_hex("0x1c5c0995"),
105 from_hex("0x13538cc1"),
106 from_hex("0x3e89bab1"),
107 from_hex("0x0ecd2c52"),
108 from_hex("0x4a242476"),
109 from_hex("0x3bd8f726"),
110 from_hex("0x6f61a168"),
111 from_hex("0x4be24d17"),
112 from_hex("0x3612cac7"),
113 ],
114 vec![from_hex("0x2d922f25"),
115 from_hex("0x6edf0857"),
116 from_hex("0x33af4716"),
117 from_hex("0x724e5171"),
118 from_hex("0x2a7361d2"),
119 from_hex("0x123ecf2e"),
120 from_hex("0x2275c912"),
121 from_hex("0x21f75377"),
122 from_hex("0x0b4a2d3c"),
123 from_hex("0x61940261"),
124 from_hex("0x335fa739"),
125 from_hex("0x3e18aca4"),
126 from_hex("0x1255c968"),
127 from_hex("0x0627c139"),
128 from_hex("0x0c870799"),
129 from_hex("0x1a271c86"),
130 ],
131 vec![from_hex("0x3722cccf"),
132 from_hex("0x3e2ac9f8"),
133 from_hex("0x3c6899ac"),
134 from_hex("0x6ced5ba0"),
135 from_hex("0x767999cd"),
136 from_hex("0x12fdf314"),
137 from_hex("0x284d52da"),
138 from_hex("0x010fa38b"),
139 from_hex("0x14e29a97"),
140 from_hex("0x58b4180e"),
141 from_hex("0x19b6c4ac"),
142 from_hex("0x722e27d3"),
143 from_hex("0x39a050e6"),
144 from_hex("0x4d05c08a"),
145 from_hex("0x3dbffefa"),
146 from_hex("0x61f01023"),
147 ],
148 vec![from_hex("0x4237a659"),
149 from_hex("0x4947e8c3"),
150 from_hex("0x069342f5"),
151 from_hex("0x15171937"),
152 from_hex("0x554eef00"),
153 from_hex("0x2ff329af"),
154 from_hex("0x0a5129f2"),
155 from_hex("0x634b85d7"),
156 from_hex("0x2a8adb36"),
157 from_hex("0x0c41318c"),
158 from_hex("0x5ac8ad85"),
159 from_hex("0x75823102"),
160 from_hex("0x49a8c8f4"),
161 from_hex("0x37b4dc23"),
162 from_hex("0x48383ddd"),
163 from_hex("0x2917cc4a"),
164 ],
165 vec![from_hex("0x64ded285"),
166 from_hex("0x2cf24480"),
167 from_hex("0x48a51fa3"),
168 from_hex("0x3f6d1fa6"),
169 from_hex("0x67fb2b58"),
170 from_hex("0x4ee85b14"),
171 from_hex("0x0185c875"),
172 from_hex("0x5c7a942d"),
173 from_hex("0x700e51a2"),
174 from_hex("0x15aff07d"),
175 from_hex("0x303754a2"),
176 from_hex("0x18a3e923"),
177 from_hex("0x28f104b7"),
178 from_hex("0x4d81102d"),
179 from_hex("0x26eee317"),
180 from_hex("0x2624abc9"),
181 ],
182 vec![from_hex("0x1cabd063"),
183 from_hex("0x2100450e"),
184 from_hex("0x1f3be9dd"),
185 from_hex("0x2a76b379"),
186 from_hex("0x3f18d12a"),
187 from_hex("0x0bb69105"),
188 from_hex("0x04d8a7ac"),
189 from_hex("0x1faded71"),
190 from_hex("0x0b2d86dd"),
191 from_hex("0x5b4fd3ea"),
192 from_hex("0x0d7f56e4"),
193 from_hex("0x4c934264"),
194 from_hex("0x00578cbc"),
195 from_hex("0x4ac335a4"),
196 from_hex("0x6de618f4"),
197 from_hex("0x12430d70"),
198 ],
199 vec![from_hex("0x69a43964"),
200 from_hex("0x27be8c04"),
201 from_hex("0x05bbbf28"),
202 from_hex("0x6a6fd5f2"),
203 from_hex("0x029ff4a2"),
204 from_hex("0x7480e7d2"),
205 from_hex("0x6ebd8697"),
206 from_hex("0x505ac2f2"),
207 from_hex("0x42198491"),
208 from_hex("0x3e22dde8"),
209 from_hex("0x19b3ffc9"),
210 from_hex("0x1c029b85"),
211 from_hex("0x3c83bd24"),
212 from_hex("0x5d48ee0c"),
213 from_hex("0x51db5088"),
214 from_hex("0x6a044125"),
215 ],
216 vec![from_hex("0x033e3e9f"),
217 from_hex("0x320cdce6"),
218 from_hex("0x42ceb3a3"),
219 from_hex("0x2c39ef78"),
220 from_hex("0x129f22c0"),
221 from_hex("0x038ce048"),
222 from_hex("0x200c7aa6"),
223 from_hex("0x37297a16"),
224 from_hex("0x6957af38"),
225 from_hex("0x3efaaf35"),
226 from_hex("0x47086768"),
227 from_hex("0x65017cbd"),
228 from_hex("0x3e52dd44"),
229 from_hex("0x632cdfec"),
230 from_hex("0x1e21dc74"),
231 from_hex("0x02b68bcf"),
232 ],
233 vec![from_hex("0x2526f6b9"),
234 from_hex("0x18cdaeca"),
235 from_hex("0x1a64dd5e"),
236 from_hex("0x0ed814ac"),
237 from_hex("0x32a9eb40"),
238 from_hex("0x2f276e0d"),
239 from_hex("0x30c6664b"),
240 from_hex("0x0ecfbdf7"),
241 from_hex("0x6e70acbc"),
242 from_hex("0x1df04c92"),
243 from_hex("0x44090fa0"),
244 from_hex("0x69e69133"),
245 from_hex("0x1bca435a"),
246 from_hex("0x0cb43110"),
247 from_hex("0x19f651ca"),
248 from_hex("0x3ea3be87"),
249 ],
250 vec![from_hex("0x032bf42c"),
251 from_hex("0x72b82f03"),
252 from_hex("0x2b56b081"),
253 from_hex("0x377703d9"),
254 from_hex("0x49cadd18"),
255 from_hex("0x3f7a6788"),
256 from_hex("0x1be5dac5"),
257 from_hex("0x1c81f75b"),
258 from_hex("0x6983b960"),
259 from_hex("0x067493e8"),
260 from_hex("0x4a4c05c9"),
261 from_hex("0x04dbd1a7"),
262 from_hex("0x2d30836d"),
263 from_hex("0x67454db1"),
264 from_hex("0x70de7fb4"),
265 from_hex("0x331eb4b8"),
266 ],
267 vec![from_hex("0x574bceed"),
268 from_hex("0x3c1e600e"),
269 from_hex("0x3a1b91b1"),
270 from_hex("0x69369cf9"),
271 from_hex("0x5e68d7ff"),
272 from_hex("0x2ddcd8d4"),
273 from_hex("0x5aff0a6d"),
274 from_hex("0x7068c4fc"),
275 from_hex("0x0fcb3bfd"),
276 from_hex("0x133838c7"),
277 from_hex("0x0bac1e88"),
278 from_hex("0x13ee81b1"),
279 from_hex("0x2eecf375"),
280 from_hex("0x1450e2a1"),
281 from_hex("0x474d780d"),
282 from_hex("0x3a9c651c"),
283 ],
284 ];
285
286 pub static ref RC16: Vec<Vec<Scalar>> = vec![
287 vec![from_hex("0x22d14fc7"),
288 from_hex("0x47743d29"),
289 from_hex("0x677f35c3"),
290 from_hex("0x3ae46df5"),
291 from_hex("0x24f86039"),
292 from_hex("0x4eb76fe3"),
293 from_hex("0x463c658a"),
294 from_hex("0x06ee674e"),
295 from_hex("0x21e71f9b"),
296 from_hex("0x50cd5cec"),
297 from_hex("0x5959fa83"),
298 from_hex("0x10a5b894"),
299 from_hex("0x0cf4d6db"),
300 from_hex("0x32b95009"),
301 from_hex("0x40299d0f"),
302 from_hex("0x31762364"),
303 ],
304 vec![from_hex("0x77a932b9"),
305 from_hex("0x4d5f9435"),
306 from_hex("0x585e5f8d"),
307 from_hex("0x68852880"),
308 from_hex("0x186d0ef0"),
309 from_hex("0x0bc8e16b"),
310 from_hex("0x33efc152"),
311 from_hex("0x4818fbb4"),
312 from_hex("0x60b89701"),
313 from_hex("0x217f693a"),
314 from_hex("0x242e7dd9"),
315 from_hex("0x2c602bd2"),
316 from_hex("0x3da5d2a9"),
317 from_hex("0x44d38735"),
318 from_hex("0x00b8f704"),
319 from_hex("0x6d897b7f"),
320 ],
321 vec![from_hex("0x26d51110"),
322 from_hex("0x4b9eaa24"),
323 from_hex("0x59f60b8a"),
324 from_hex("0x481b4e03"),
325 from_hex("0x4898afc8"),
326 from_hex("0x21a0b0cc"),
327 from_hex("0x2b03c2df"),
328 from_hex("0x0fea4ba0"),
329 from_hex("0x4bf2e3e8"),
330 from_hex("0x2073fdff"),
331 from_hex("0x3285abb7"),
332 from_hex("0x3ac0d1e9"),
333 from_hex("0x13d65258"),
334 from_hex("0x16b7a570"),
335 from_hex("0x45bcb00f"),
336 from_hex("0x5ba25311"),
337 ],
338 vec![from_hex("0x0f78e922"),
339 from_hex("0x294613f3"),
340 from_hex("0x1c377a1d"),
341 from_hex("0x2c19a8f6"),
342 from_hex("0x46e75290"),
343 from_hex("0x34bdbe27"),
344 from_hex("0x103e09a6"),
345 from_hex("0x32f00a1c"),
346 from_hex("0x193d8310"),
347 from_hex("0x48f5804b"),
348 from_hex("0x6866d66a"),
349 from_hex("0x05e6320a"),
350 from_hex("0x6250e5ba"),
351 from_hex("0x0f64c9de"),
352 from_hex("0x27f3a9c3"),
353 from_hex("0x367b028e"),
354 ],
355 vec![from_hex("0x3062eba8"),
356 from_hex("0x66794e00"),
357 from_hex("0x3a8857de"),
358 from_hex("0x311769e5"),
359 from_hex("0x269b55e6"),
360 from_hex("0x5962fc4d"),
361 from_hex("0x26e2a5a0"),
362 from_hex("0x1f6aec92"),
363 from_hex("0x66ff3568"),
364 from_hex("0x011c60cd"),
365 from_hex("0x2347af5a"),
366 from_hex("0x57bb56a4"),
367 from_hex("0x64de8246"),
368 from_hex("0x70f587ad"),
369 from_hex("0x4a91fd65"),
370 from_hex("0x3279477b"),
371 ],
372 vec![from_hex("0x6ded73c5"),
373 from_hex("0x75418e3f"),
374 from_hex("0x002a0229"),
375 from_hex("0x21fbe33c"),
376 from_hex("0x206b9591"),
377 from_hex("0x4133e248"),
378 from_hex("0x3e0d0cc5"),
379 from_hex("0x1e2351fd"),
380 from_hex("0x078e4519"),
381 from_hex("0x30a9d69e"),
382 from_hex("0x7689ab87"),
383 from_hex("0x0ae7a298"),
384 from_hex("0x029923cb"),
385 from_hex("0x024a2b1b"),
386 from_hex("0x1d60dbdf"),
387 from_hex("0x3d8af2b3"),
388 ],
389 vec![from_hex("0x36174f16"),
390 from_hex("0x397bf853"),
391 from_hex("0x478f1171"),
392 from_hex("0x202b95f5"),
393 from_hex("0x22a49e9a"),
394 from_hex("0x593a115d"),
395 from_hex("0x65f5a466"),
396 from_hex("0x56fdefeb"),
397 from_hex("0x0aa188c1"),
398 from_hex("0x5982426b"),
399 from_hex("0x71f6cb38"),
400 from_hex("0x594a711d"),
401 from_hex("0x2033eea8"),
402 from_hex("0x0c20b93b"),
403 from_hex("0x4873d752"),
404 from_hex("0x413cdb68"),
405 ],
406 vec![from_hex("0x1020fb7b"),
407 from_hex("0x55642c83"),
408 from_hex("0x4c3ca55e"),
409 from_hex("0x5cc9d020"),
410 from_hex("0x01bf4025"),
411 from_hex("0x5d53256f"),
412 from_hex("0x12110fe3"),
413 from_hex("0x5f325b00"),
414 from_hex("0x05ed0223"),
415 from_hex("0x6f73787e"),
416 from_hex("0x4250e6af"),
417 from_hex("0x05a1f50f"),
418 from_hex("0x5cedfe10"),
419 from_hex("0x5da8026b"),
420 from_hex("0x086fe6ee"),
421 from_hex("0x29e60bc0"),
422 ],
423 vec![from_hex("0x1c725c10"),
424 from_hex("0x1c3f0e56"),
425 from_hex("0x3bd7fb18"),
426 from_hex("0x24d8e7d6"),
427 from_hex("0x502b1331"),
428 from_hex("0x1570f4c6"),
429 from_hex("0x7060c4b4"),
430 from_hex("0x2822b9fe"),
431 from_hex("0x379b4036"),
432 from_hex("0x3c9ab0d8"),
433 from_hex("0x35bd29cf"),
434 from_hex("0x3353ba79"),
435 from_hex("0x72bc5629"),
436 from_hex("0x2e553ca6"),
437 from_hex("0x23131dd6"),
438 from_hex("0x46e96cd6"),
439 ],
440 vec![from_hex("0x4d65f5dc"),
441 from_hex("0x3fe8d06f"),
442 from_hex("0x6a4c8483"),
443 from_hex("0x6a9d46ea"),
444 from_hex("0x51b39333"),
445 from_hex("0x773dd4bb"),
446 from_hex("0x75472220"),
447 from_hex("0x03536ac5"),
448 from_hex("0x3fc93d6f"),
449 from_hex("0x1bd92d69"),
450 from_hex("0x6620b70f"),
451 from_hex("0x26e72902"),
452 from_hex("0x25eebb36"),
453 from_hex("0x66edfccc"),
454 from_hex("0x37779413"),
455 from_hex("0x60e28ba3"),
456 ],
457 vec![from_hex("0x741d0b77"),
458 from_hex("0x60f2d017"),
459 from_hex("0x23a25699"),
460 from_hex("0x2f063482"),
461 from_hex("0x1c768088"),
462 from_hex("0x11733e6b"),
463 from_hex("0x65d84305"),
464 from_hex("0x11c4ca51"),
465 from_hex("0x0fd5b6d7"),
466 from_hex("0x6469045d"),
467 from_hex("0x40257c38"),
468 from_hex("0x4c1d66ac"),
469 from_hex("0x3a86fb76"),
470 from_hex("0x6545288f"),
471 from_hex("0x00947328"),
472 from_hex("0x40d6abcb"),
473 ],
474 vec![from_hex("0x6f5d7715"),
475 from_hex("0x09801dd4"),
476 from_hex("0x389b74f8"),
477 from_hex("0x23461c1a"),
478 from_hex("0x1ae8ae39"),
479 from_hex("0x111cc3cb"),
480 from_hex("0x5b08fb1f"),
481 from_hex("0x5d2826af"),
482 from_hex("0x59c2918b"),
483 from_hex("0x392ece30"),
484 from_hex("0x56cb9b3b"),
485 from_hex("0x66bc00b1"),
486 from_hex("0x33d307df"),
487 from_hex("0x69624a18"),
488 from_hex("0x66eb09dc"),
489 from_hex("0x6597fd4c"),
490 ],
491 vec![from_hex("0x612fbfbd"),
492 from_hex("0x32c37391"),
493 from_hex("0x6b8bde71"),
494 from_hex("0x77384d19"),
495 from_hex("0x6580ce59"),
496 from_hex("0x169b7580"),
497 from_hex("0x6616ad73"),
498 from_hex("0x3c1887de"),
499 from_hex("0x75e3f2e5"),
500 from_hex("0x3ef08074"),
501 from_hex("0x59f70462"),
502 from_hex("0x27012115"),
503 from_hex("0x2ecc37d6"),
504 from_hex("0x52b25aa4"),
505 from_hex("0x0e71eb68"),
506 from_hex("0x6a5b543d"),
507 ],
508 vec![from_hex("0x2f47db02"),
509 from_hex("0x6b426d43"),
510 from_hex("0x22e2a257"),
511 from_hex("0x05689f5d"),
512 from_hex("0x53000206"),
513 from_hex("0x62174579"),
514 from_hex("0x41ee708e"),
515 from_hex("0x4c69f70e"),
516 from_hex("0x3a403a2c"),
517 from_hex("0x74a944ff"),
518 from_hex("0x0c5369ae"),
519 from_hex("0x08360919"),
520 from_hex("0x20502e46"),
521 from_hex("0x3aaba434"),
522 from_hex("0x6a3f85ff"),
523 from_hex("0x04a9a527"),
524 ],
525 vec![from_hex("0x3b985df9"),
526 from_hex("0x5ed46d10"),
527 from_hex("0x4b48f8aa"),
528 from_hex("0x3365ee9c"),
529 from_hex("0x688d45f5"),
530 from_hex("0x52f52e90"),
531 from_hex("0x48bfad48"),
532 from_hex("0x0f5474cb"),
533 from_hex("0x03b31034"),
534 from_hex("0x23c4e6fb"),
535 from_hex("0x37835e64"),
536 from_hex("0x24e8a57b"),
537 from_hex("0x700e9dd8"),
538 from_hex("0x44a95941"),
539 from_hex("0x3a495982"),
540 from_hex("0x3dd606f4"),
541 ],
542 vec![from_hex("0x6b990415"),
543 from_hex("0x5f419361"),
544 from_hex("0x18992a1f"),
545 from_hex("0x50d0225b"),
546 from_hex("0x16959009"),
547 from_hex("0x75c0bf50"),
548 from_hex("0x0b95ce3d"),
549 from_hex("0x10deaf8f"),
550 from_hex("0x36ca8803"),
551 from_hex("0x52d760ce"),
552 from_hex("0x49a1d323"),
553 from_hex("0x1cee5d28"),
554 from_hex("0x517d182a"),
555 from_hex("0x445e59d5"),
556 from_hex("0x0f9dd8a7"),
557 from_hex("0x5e137128"),
558 ],
559 vec![from_hex("0x70c68bd4"),
560 from_hex("0x4e452a12"),
561 from_hex("0x42c2636b"),
562 from_hex("0x5b5fa86c"),
563 from_hex("0x317568b1"),
564 from_hex("0x03e62c70"),
565 from_hex("0x1bb59265"),
566 from_hex("0x1baf7be7"),
567 from_hex("0x6376d40e"),
568 from_hex("0x548d4eca"),
569 from_hex("0x75e7d9f1"),
570 from_hex("0x4f9f6c94"),
571 from_hex("0x412cbbc5"),
572 from_hex("0x580e0d79"),
573 from_hex("0x21bb6865"),
574 from_hex("0x3f50966b"),
575 ],
576 vec![from_hex("0x3522ced6"),
577 from_hex("0x2a1988c9"),
578 from_hex("0x63cc080d"),
579 from_hex("0x2b1f3d4c"),
580 from_hex("0x4506613e"),
581 from_hex("0x60102247"),
582 from_hex("0x33a8ed0c"),
583 from_hex("0x4918947e"),
584 from_hex("0x4528a692"),
585 from_hex("0x1092a39e"),
586 from_hex("0x3b1f852a"),
587 from_hex("0x2691e16d"),
588 from_hex("0x36b79fd6"),
589 from_hex("0x108673bf"),
590 from_hex("0x66addb91"),
591 from_hex("0x0f453f41"),
592 ],
593 vec![from_hex("0x48b36260"),
594 from_hex("0x6f748480"),
595 from_hex("0x429817b2"),
596 from_hex("0x23073ebf"),
597 from_hex("0x4dbba065"),
598 from_hex("0x4cdb2356"),
599 from_hex("0x72c494a2"),
600 from_hex("0x4733a44d"),
601 from_hex("0x76a19165"),
602 from_hex("0x6c7872c8"),
603 from_hex("0x4bc245e1"),
604 from_hex("0x6d1efcfa"),
605 from_hex("0x29be57e1"),
606 from_hex("0x5eef5121"),
607 from_hex("0x0fda3d38"),
608 from_hex("0x2873e796"),
609 ],
610 vec![from_hex("0x10e8340b"),
611 from_hex("0x1bd00ac6"),
612 from_hex("0x4b8db5b7"),
613 from_hex("0x61fe659f"),
614 from_hex("0x247777c9"),
615 from_hex("0x0468bdea"),
616 from_hex("0x0e9f932b"),
617 from_hex("0x4d35799d"),
618 from_hex("0x0449265f"),
619 from_hex("0x45e3b326"),
620 from_hex("0x220818ed"),
621 from_hex("0x686090e1"),
622 from_hex("0x69361c44"),
623 from_hex("0x0ab186f2"),
624 from_hex("0x348a8c1a"),
625 from_hex("0x77a8cb46"),
626 ],
627 vec![from_hex("0x776673b7"),
628 from_hex("0x3764f92a"),
629 from_hex("0x4b49f079"),
630 from_hex("0x068c7915"),
631 from_hex("0x6ae894f1"),
632 from_hex("0x3ca29798"),
633 from_hex("0x27f0ccd0"),
634 from_hex("0x51bb1b3b"),
635 from_hex("0x1f45baaa"),
636 from_hex("0x22a18c6a"),
637 from_hex("0x5172d793"),
638 from_hex("0x46560975"),
639 from_hex("0x12ac2c28"),
640 from_hex("0x4ec30409"),
641 from_hex("0x0f41009b"),
642 from_hex("0x71ea9382"),
643 ],
644 ];
645
646 pub static ref MDS24: Vec<Vec<Scalar>> = vec![
647 vec![from_hex("0x19191a7d"),
648 from_hex("0x6cbe083c"),
649 from_hex("0x0b589971"),
650 from_hex("0x3be4046a"),
651 from_hex("0x2c837497"),
652 from_hex("0x61c4fa1e"),
653 from_hex("0x3d45f6db"),
654 from_hex("0x679624bc"),
655 from_hex("0x5f59f3da"),
656 from_hex("0x62cda2fe"),
657 from_hex("0x567b01b2"),
658 from_hex("0x389daccb"),
659 from_hex("0x5522ba84"),
660 from_hex("0x71e3475e"),
661 from_hex("0x5f147d86"),
662 from_hex("0x1d7e0433"),
663 from_hex("0x4450fc40"),
664 from_hex("0x6a1d0eee"),
665 from_hex("0x258885f3"),
666 from_hex("0x0ec7eb27"),
667 from_hex("0x584ae718"),
668 from_hex("0x3e4a6f51"),
669 from_hex("0x0671c21b"),
670 from_hex("0x418f03e4"),
671 ],
672 vec![from_hex("0x61a34efe"),
673 from_hex("0x593f2d08"),
674 from_hex("0x5a5599f9"),
675 from_hex("0x246030d1"),
676 from_hex("0x1210627a"),
677 from_hex("0x2e5a37f0"),
678 from_hex("0x23c9e547"),
679 from_hex("0x02071da9"),
680 from_hex("0x49852008"),
681 from_hex("0x6e9fae9f"),
682 from_hex("0x26d98222"),
683 from_hex("0x13538a35"),
684 from_hex("0x61216f13"),
685 from_hex("0x3552bef4"),
686 from_hex("0x0bbe8d33"),
687 from_hex("0x0bf02cff"),
688 from_hex("0x0991e1c3"),
689 from_hex("0x73dccd52"),
690 from_hex("0x4f5a8c64"),
691 from_hex("0x2a9f0e56"),
692 from_hex("0x60786ad6"),
693 from_hex("0x5ce8c0fe"),
694 from_hex("0x3a9d048a"),
695 from_hex("0x3e1e5cd2"),
696 ],
697 vec![from_hex("0x1866d4b4"),
698 from_hex("0x2e2f9a97"),
699 from_hex("0x127340e3"),
700 from_hex("0x6faf4fa8"),
701 from_hex("0x75575b7f"),
702 from_hex("0x447bb0f8"),
703 from_hex("0x069efa67"),
704 from_hex("0x610a18ac"),
705 from_hex("0x0edf2bd3"),
706 from_hex("0x559135f8"),
707 from_hex("0x5b912991"),
708 from_hex("0x43f2c76f"),
709 from_hex("0x73cd6b24"),
710 from_hex("0x13c3df30"),
711 from_hex("0x10a57d3d"),
712 from_hex("0x01603b41"),
713 from_hex("0x6e04d184"),
714 from_hex("0x40cdb676"),
715 from_hex("0x0134bac6"),
716 from_hex("0x0b88cf23"),
717 from_hex("0x31e557c7"),
718 from_hex("0x5a7cba48"),
719 from_hex("0x58fbabe3"),
720 from_hex("0x1b03e09e"),
721 ],
722 vec![from_hex("0x4dc75c69"),
723 from_hex("0x63f7f41b"),
724 from_hex("0x27c89e9e"),
725 from_hex("0x09c1b7ad"),
726 from_hex("0x004a124f"),
727 from_hex("0x691a8125"),
728 from_hex("0x6924edbd"),
729 from_hex("0x29cdb1aa"),
730 from_hex("0x56bf4b5c"),
731 from_hex("0x2703c2c7"),
732 from_hex("0x19107ae4"),
733 from_hex("0x30c37517"),
734 from_hex("0x253c03bd"),
735 from_hex("0x623725c0"),
736 from_hex("0x37054961"),
737 from_hex("0x48ae028b"),
738 from_hex("0x52d40d06"),
739 from_hex("0x3e7d0eb6"),
740 from_hex("0x1d40d7dd"),
741 from_hex("0x29f924ee"),
742 from_hex("0x37083357"),
743 from_hex("0x59c995bc"),
744 from_hex("0x501e3fe0"),
745 from_hex("0x19024c7d"),
746 ],
747 vec![from_hex("0x04377f31"),
748 from_hex("0x0a4a0017"),
749 from_hex("0x1f17ba47"),
750 from_hex("0x54276fdf"),
751 from_hex("0x1ad767cd"),
752 from_hex("0x4c397b7d"),
753 from_hex("0x45dad135"),
754 from_hex("0x1166cd59"),
755 from_hex("0x10032dd4"),
756 from_hex("0x26250b6c"),
757 from_hex("0x52802c2e"),
758 from_hex("0x53f6862f"),
759 from_hex("0x73fe56cf"),
760 from_hex("0x1f33e178"),
761 from_hex("0x02c41117"),
762 from_hex("0x2ccc0227"),
763 from_hex("0x44f9db11"),
764 from_hex("0x439fa653"),
765 from_hex("0x08c1efb8"),
766 from_hex("0x0dee8126"),
767 from_hex("0x157974cf"),
768 from_hex("0x3ed232d6"),
769 from_hex("0x2f2ad7ef"),
770 from_hex("0x2b3a4348"),
771 ],
772 vec![from_hex("0x24802d4b"),
773 from_hex("0x0e3bf555"),
774 from_hex("0x094764ce"),
775 from_hex("0x1e5558cd"),
776 from_hex("0x300bd275"),
777 from_hex("0x41c2f5b5"),
778 from_hex("0x5fd9db22"),
779 from_hex("0x5681e3e6"),
780 from_hex("0x5e17625b"),
781 from_hex("0x2990a7d2"),
782 from_hex("0x146901e4"),
783 from_hex("0x09b26110"),
784 from_hex("0x451759ad"),
785 from_hex("0x4eb06038"),
786 from_hex("0x61c9ed3c"),
787 from_hex("0x074e4cb7"),
788 from_hex("0x51b17024"),
789 from_hex("0x507e4bb3"),
790 from_hex("0x487cdc37"),
791 from_hex("0x629c4f2c"),
792 from_hex("0x28f8531b"),
793 from_hex("0x271f4983"),
794 from_hex("0x038a6d28"),
795 from_hex("0x2c0aacd8"),
796 ],
797 vec![from_hex("0x15545583"),
798 from_hex("0x101a363d"),
799 from_hex("0x15126e8a"),
800 from_hex("0x4e1ed8a5"),
801 from_hex("0x53d4f4d1"),
802 from_hex("0x3d07b7b3"),
803 from_hex("0x073ea0d9"),
804 from_hex("0x60998306"),
805 from_hex("0x00ffb607"),
806 from_hex("0x3e71b599"),
807 from_hex("0x730ea91f"),
808 from_hex("0x5fe87f4b"),
809 from_hex("0x49510355"),
810 from_hex("0x2ce9fd2a"),
811 from_hex("0x0b9451b8"),
812 from_hex("0x319c006d"),
813 from_hex("0x669ab96c"),
814 from_hex("0x71ee9e09"),
815 from_hex("0x5dc07b5e"),
816 from_hex("0x4611ee0d"),
817 from_hex("0x5022239a"),
818 from_hex("0x5a3ca2a3"),
819 from_hex("0x3f6830ca"),
820 from_hex("0x4928eae1"),
821 ],
822 vec![from_hex("0x284e8831"),
823 from_hex("0x1cdef1a6"),
824 from_hex("0x3797153a"),
825 from_hex("0x42f4735d"),
826 from_hex("0x38cce46e"),
827 from_hex("0x1ef113c2"),
828 from_hex("0x5af0700d"),
829 from_hex("0x69ef808a"),
830 from_hex("0x3b9a08a3"),
831 from_hex("0x6aae8b15"),
832 from_hex("0x1bca8baf"),
833 from_hex("0x43fe3d1a"),
834 from_hex("0x3f08abbc"),
835 from_hex("0x13f6e4fa"),
836 from_hex("0x72948221"),
837 from_hex("0x53bd5821"),
838 from_hex("0x76f6675e"),
839 from_hex("0x3b26093c"),
840 from_hex("0x6e4ead9f"),
841 from_hex("0x11cd8332"),
842 from_hex("0x7035588c"),
843 from_hex("0x2575bb3d"),
844 from_hex("0x51f93a72"),
845 from_hex("0x22dad1b9"),
846 ],
847 vec![from_hex("0x1120f193"),
848 from_hex("0x06ff8b82"),
849 from_hex("0x54b835cf"),
850 from_hex("0x3dc53b9e"),
851 from_hex("0x4d181e81"),
852 from_hex("0x7218c243"),
853 from_hex("0x11231c2b"),
854 from_hex("0x062fdc55"),
855 from_hex("0x2e2ae16d"),
856 from_hex("0x16d13882"),
857 from_hex("0x46f856e3"),
858 from_hex("0x3827488e"),
859 from_hex("0x7737cf0a"),
860 from_hex("0x620a9582"),
861 from_hex("0x38a1cae9"),
862 from_hex("0x150b8797"),
863 from_hex("0x506bd8aa"),
864 from_hex("0x47d6929c"),
865 from_hex("0x3f9205fd"),
866 from_hex("0x164ecbbf"),
867 from_hex("0x23d5093c"),
868 from_hex("0x0e9fde93"),
869 from_hex("0x562a2e48"),
870 from_hex("0x713a8433"),
871 ],
872 vec![from_hex("0x5bab57ce"),
873 from_hex("0x005075f9"),
874 from_hex("0x3c9d0507"),
875 from_hex("0x2d25f9cd"),
876 from_hex("0x4cdf7499"),
877 from_hex("0x694cac91"),
878 from_hex("0x65c21198"),
879 from_hex("0x329c7d0b"),
880 from_hex("0x021d84c3"),
881 from_hex("0x6a61dfb1"),
882 from_hex("0x4ab97480"),
883 from_hex("0x19f2d1bd"),
884 from_hex("0x35381b5b"),
885 from_hex("0x0da575ff"),
886 from_hex("0x08afd461"),
887 from_hex("0x0fade176"),
888 from_hex("0x5b815cc2"),
889 from_hex("0x644290b2"),
890 from_hex("0x4ef463e7"),
891 from_hex("0x6ea5993e"),
892 from_hex("0x61b7b10b"),
893 from_hex("0x7081130d"),
894 from_hex("0x3d683910"),
895 from_hex("0x6860542b"),
896 ],
897 vec![from_hex("0x1d7214bd"),
898 from_hex("0x367bf2b0"),
899 from_hex("0x48b48241"),
900 from_hex("0x1017b7be"),
901 from_hex("0x059453ab"),
902 from_hex("0x277337ec"),
903 from_hex("0x56277c87"),
904 from_hex("0x677bb976"),
905 from_hex("0x24190c2f"),
906 from_hex("0x2c717e0b"),
907 from_hex("0x59e2a73d"),
908 from_hex("0x4bf46e75"),
909 from_hex("0x270ebff5"),
910 from_hex("0x2e9a07a6"),
911 from_hex("0x47b4f2cc"),
912 from_hex("0x54d12ed3"),
913 from_hex("0x2bb16505"),
914 from_hex("0x745c060a"),
915 from_hex("0x3e0a397e"),
916 from_hex("0x2c5d842a"),
917 from_hex("0x03034fd5"),
918 from_hex("0x38cef2b1"),
919 from_hex("0x31927212"),
920 from_hex("0x423c33ef"),
921 ],
922 vec![from_hex("0x4e7dfc7a"),
923 from_hex("0x037378f9"),
924 from_hex("0x1881ed25"),
925 from_hex("0x6af37772"),
926 from_hex("0x18ce1693"),
927 from_hex("0x4626f02f"),
928 from_hex("0x70732dcd"),
929 from_hex("0x0942f572"),
930 from_hex("0x65df735e"),
931 from_hex("0x5ad72db4"),
932 from_hex("0x699fe9cc"),
933 from_hex("0x35ab9cd7"),
934 from_hex("0x758a62eb"),
935 from_hex("0x0ae5ff35"),
936 from_hex("0x342e0c42"),
937 from_hex("0x1d3f9a7e"),
938 from_hex("0x2feedf99"),
939 from_hex("0x55e3734c"),
940 from_hex("0x56d75a3b"),
941 from_hex("0x040dfb91"),
942 from_hex("0x0361ad6c"),
943 from_hex("0x5a6aeb5d"),
944 from_hex("0x0de01972"),
945 from_hex("0x33328e03"),
946 ],
947 vec![from_hex("0x13501f54"),
948 from_hex("0x204885fb"),
949 from_hex("0x43c85d92"),
950 from_hex("0x4a97c740"),
951 from_hex("0x424beb1b"),
952 from_hex("0x2012116a"),
953 from_hex("0x49694aa2"),
954 from_hex("0x247703cc"),
955 from_hex("0x4ba4bc45"),
956 from_hex("0x132cdb95"),
957 from_hex("0x3cafc24a"),
958 from_hex("0x241870e3"),
959 from_hex("0x1e582d31"),
960 from_hex("0x27ba0403"),
961 from_hex("0x1aa8fff0"),
962 from_hex("0x6eedc92c"),
963 from_hex("0x35d4decf"),
964 from_hex("0x2e722b3f"),
965 from_hex("0x36358015"),
966 from_hex("0x062d8da5"),
967 from_hex("0x4a0ff259"),
968 from_hex("0x41c55848"),
969 from_hex("0x67e4ea95"),
970 from_hex("0x40f69a47"),
971 ],
972 vec![from_hex("0x0bba6386"),
973 from_hex("0x6f7efbff"),
974 from_hex("0x3d8fed85"),
975 from_hex("0x264b3587"),
976 from_hex("0x2c1d569b"),
977 from_hex("0x04b218e8"),
978 from_hex("0x3a939d97"),
979 from_hex("0x6b3a6c39"),
980 from_hex("0x29c25fb7"),
981 from_hex("0x6ffd0c02"),
982 from_hex("0x5e38ab0e"),
983 from_hex("0x0e3e636a"),
984 from_hex("0x324551bd"),
985 from_hex("0x19ac1d52"),
986 from_hex("0x6389c4b1"),
987 from_hex("0x15c77366"),
988 from_hex("0x3b746f85"),
989 from_hex("0x5e1eea00"),
990 from_hex("0x732b79a2"),
991 from_hex("0x73e81e4c"),
992 from_hex("0x2172727c"),
993 from_hex("0x58e8098c"),
994 from_hex("0x46c6e6c2"),
995 from_hex("0x07e9d643"),
996 ],
997 vec![from_hex("0x5eca9a37"),
998 from_hex("0x304d75f1"),
999 from_hex("0x2294c0bd"),
1000 from_hex("0x3d7ab743"),
1001 from_hex("0x2636b5d5"),
1002 from_hex("0x0f890758"),
1003 from_hex("0x0afa5a3d"),
1004 from_hex("0x41e4665b"),
1005 from_hex("0x0b4c63fc"),
1006 from_hex("0x1112be28"),
1007 from_hex("0x0e9162b1"),
1008 from_hex("0x6a00fcaa"),
1009 from_hex("0x6cac103b"),
1010 from_hex("0x153d5d75"),
1011 from_hex("0x05ac5be5"),
1012 from_hex("0x06519cce"),
1013 from_hex("0x66941f1c"),
1014 from_hex("0x1abeed57"),
1015 from_hex("0x05f3b38b"),
1016 from_hex("0x2dbe8560"),
1017 from_hex("0x28c7ffb3"),
1018 from_hex("0x06eed76a"),
1019 from_hex("0x5404eed2"),
1020 from_hex("0x28464e68"),
1021 ],
1022 vec![from_hex("0x6937aa7d"),
1023 from_hex("0x20cd555a"),
1024 from_hex("0x41d20da1"),
1025 from_hex("0x163d4a11"),
1026 from_hex("0x4da2443d"),
1027 from_hex("0x08c6343c"),
1028 from_hex("0x5ec6eb45"),
1029 from_hex("0x5e1b7c27"),
1030 from_hex("0x29c7fd8e"),
1031 from_hex("0x268f1b7f"),
1032 from_hex("0x014ab25d"),
1033 from_hex("0x1892edb1"),
1034 from_hex("0x413222ca"),
1035 from_hex("0x548a31a0"),
1036 from_hex("0x765d9087"),
1037 from_hex("0x64de0f9a"),
1038 from_hex("0x3d0e6471"),
1039 from_hex("0x7513a7ae"),
1040 from_hex("0x3112d543"),
1041 from_hex("0x2375ab22"),
1042 from_hex("0x270250d0"),
1043 from_hex("0x025b8b09"),
1044 from_hex("0x574ca016"),
1045 from_hex("0x02e4bb01"),
1046 ],
1047 vec![from_hex("0x41786ccf"),
1048 from_hex("0x41f0df6c"),
1049 from_hex("0x43107975"),
1050 from_hex("0x11ca0a05"),
1051 from_hex("0x4b3d6afe"),
1052 from_hex("0x5ad09060"),
1053 from_hex("0x3da8de0a"),
1054 from_hex("0x1573ad5b"),
1055 from_hex("0x32384d13"),
1056 from_hex("0x2e2cc2a4"),
1057 from_hex("0x257be6c0"),
1058 from_hex("0x246dd39b"),
1059 from_hex("0x1d43bce2"),
1060 from_hex("0x399670ed"),
1061 from_hex("0x1c703658"),
1062 from_hex("0x042b4e65"),
1063 from_hex("0x2fcd523a"),
1064 from_hex("0x58d576a5"),
1065 from_hex("0x3f70e99e"),
1066 from_hex("0x2c08c7e5"),
1067 from_hex("0x048463f2"),
1068 from_hex("0x30c41673"),
1069 from_hex("0x327e05f6"),
1070 from_hex("0x13476bbf"),
1071 ],
1072 vec![from_hex("0x14971335"),
1073 from_hex("0x2a9db91a"),
1074 from_hex("0x48ceae5d"),
1075 from_hex("0x0eab20e2"),
1076 from_hex("0x627c3e30"),
1077 from_hex("0x55697057"),
1078 from_hex("0x0ab66b04"),
1079 from_hex("0x51da9659"),
1080 from_hex("0x4e7e6fba"),
1081 from_hex("0x5c911a08"),
1082 from_hex("0x093289b9"),
1083 from_hex("0x5a95b9d6"),
1084 from_hex("0x47a94672"),
1085 from_hex("0x2b251d75"),
1086 from_hex("0x334521f0"),
1087 from_hex("0x32c685fb"),
1088 from_hex("0x3431a4c5"),
1089 from_hex("0x3a5c7f94"),
1090 from_hex("0x319109af"),
1091 from_hex("0x4c921429"),
1092 from_hex("0x5dd16726"),
1093 from_hex("0x60ea6e89"),
1094 from_hex("0x47dc57e2"),
1095 from_hex("0x2705784a"),
1096 ],
1097 vec![from_hex("0x2eadb949"),
1098 from_hex("0x6152ba98"),
1099 from_hex("0x17e543ad"),
1100 from_hex("0x1e65633a"),
1101 from_hex("0x162f1877"),
1102 from_hex("0x4b07c2b4"),
1103 from_hex("0x5fc3caef"),
1104 from_hex("0x45357bef"),
1105 from_hex("0x65694da5"),
1106 from_hex("0x4f35206b"),
1107 from_hex("0x099d6860"),
1108 from_hex("0x02ce0797"),
1109 from_hex("0x7032c8f9"),
1110 from_hex("0x21eb00e8"),
1111 from_hex("0x5cb8810d"),
1112 from_hex("0x1ae59be7"),
1113 from_hex("0x48df9450"),
1114 from_hex("0x620314f3"),
1115 from_hex("0x37539abb"),
1116 from_hex("0x477b9153"),
1117 from_hex("0x72d3c7be"),
1118 from_hex("0x6ca27c72"),
1119 from_hex("0x767a7651"),
1120 from_hex("0x191a449a"),
1121 ],
1122 vec![from_hex("0x64e2a38c"),
1123 from_hex("0x280cc6af"),
1124 from_hex("0x28bf710a"),
1125 from_hex("0x76bfe2c0"),
1126 from_hex("0x40ed3108"),
1127 from_hex("0x3beabed2"),
1128 from_hex("0x18cfa693"),
1129 from_hex("0x3672bd08"),
1130 from_hex("0x3d0b66fb"),
1131 from_hex("0x59af6345"),
1132 from_hex("0x76d6cf74"),
1133 from_hex("0x0b4f4043"),
1134 from_hex("0x082538a9"),
1135 from_hex("0x5680b41f"),
1136 from_hex("0x73d88c5a"),
1137 from_hex("0x1a038c65"),
1138 from_hex("0x25b16b46"),
1139 from_hex("0x40266a1f"),
1140 from_hex("0x401fa170"),
1141 from_hex("0x2c44ad35"),
1142 from_hex("0x3c6e516d"),
1143 from_hex("0x2d5ca9b3"),
1144 from_hex("0x485ebe47"),
1145 from_hex("0x3cbad540"),
1146 ],
1147 vec![from_hex("0x1a317281"),
1148 from_hex("0x03e74eb2"),
1149 from_hex("0x1569d934"),
1150 from_hex("0x0494659c"),
1151 from_hex("0x034f41c3"),
1152 from_hex("0x00b2f8a2"),
1153 from_hex("0x5d7e821b"),
1154 from_hex("0x2bb1d834"),
1155 from_hex("0x06b36470"),
1156 from_hex("0x2a42f149"),
1157 from_hex("0x73e9fe13"),
1158 from_hex("0x0d401689"),
1159 from_hex("0x2f0b0fdc"),
1160 from_hex("0x6cb6443c"),
1161 from_hex("0x670e3987"),
1162 from_hex("0x410c9579"),
1163 from_hex("0x4b8fa592"),
1164 from_hex("0x67d14ddc"),
1165 from_hex("0x58c63aae"),
1166 from_hex("0x33f6ac7b"),
1167 from_hex("0x62496614"),
1168 from_hex("0x5913b1ec"),
1169 from_hex("0x338ed582"),
1170 from_hex("0x4d4f4f02"),
1171 ],
1172 vec![from_hex("0x19dfa11b"),
1173 from_hex("0x005524e2"),
1174 from_hex("0x5f7574d0"),
1175 from_hex("0x5c5b3588"),
1176 from_hex("0x0ee563ab"),
1177 from_hex("0x05930821"),
1178 from_hex("0x4c4c668e"),
1179 from_hex("0x5a02d1c5"),
1180 from_hex("0x33e4965c"),
1181 from_hex("0x5b79d5c0"),
1182 from_hex("0x730ca318"),
1183 from_hex("0x2ce70f7b"),
1184 from_hex("0x65611461"),
1185 from_hex("0x6af41f50"),
1186 from_hex("0x3a851c9d"),
1187 from_hex("0x38225964"),
1188 from_hex("0x45f49cd7"),
1189 from_hex("0x0516405e"),
1190 from_hex("0x63d9dbad"),
1191 from_hex("0x4fbce612"),
1192 from_hex("0x1f30cbb0"),
1193 from_hex("0x47320ea7"),
1194 from_hex("0x5c5a1db7"),
1195 from_hex("0x344524d6"),
1196 ],
1197 vec![from_hex("0x305f18aa"),
1198 from_hex("0x4fefce1d"),
1199 from_hex("0x2dd60db5"),
1200 from_hex("0x37e7edb0"),
1201 from_hex("0x33590038"),
1202 from_hex("0x5ba76f30"),
1203 from_hex("0x370a8395"),
1204 from_hex("0x29114d66"),
1205 from_hex("0x0ca70423"),
1206 from_hex("0x64591365"),
1207 from_hex("0x384f8781"),
1208 from_hex("0x300190ae"),
1209 from_hex("0x32abb521"),
1210 from_hex("0x399cb85f"),
1211 from_hex("0x5bb899ef"),
1212 from_hex("0x68e000f3"),
1213 from_hex("0x1ab3e268"),
1214 from_hex("0x5cf5235f"),
1215 from_hex("0x2b567559"),
1216 from_hex("0x02e26480"),
1217 from_hex("0x5df459ca"),
1218 from_hex("0x2f379c3e"),
1219 from_hex("0x5db69b04"),
1220 from_hex("0x565b8f83"),
1221 ],
1222 vec![from_hex("0x137f7ff7"),
1223 from_hex("0x2dd419c1"),
1224 from_hex("0x4c4af6e7"),
1225 from_hex("0x49e58f6c"),
1226 from_hex("0x16263dba"),
1227 from_hex("0x694a7845"),
1228 from_hex("0x01840406"),
1229 from_hex("0x1f89c640"),
1230 from_hex("0x1cd737aa"),
1231 from_hex("0x58881e16"),
1232 from_hex("0x462928d6"),
1233 from_hex("0x2490dea3"),
1234 from_hex("0x0bf92538"),
1235 from_hex("0x37607a3d"),
1236 from_hex("0x60321d26"),
1237 from_hex("0x34118d9e"),
1238 from_hex("0x1b9743bb"),
1239 from_hex("0x018b4aad"),
1240 from_hex("0x362d15da"),
1241 from_hex("0x4cbb87c1"),
1242 from_hex("0x384ae3c2"),
1243 from_hex("0x48ce88f7"),
1244 from_hex("0x27a25e4f"),
1245 from_hex("0x47ef48c5"),
1246 ],
1247 ];
1248
1249 pub static ref RC24: Vec<Vec<Scalar>> = vec![
1250 vec![from_hex("0x75c89df8"),
1251 from_hex("0x0af90431"),
1252 from_hex("0x39e877bf"),
1253 from_hex("0x18a5a8cd"),
1254 from_hex("0x588e9a95"),
1255 from_hex("0x16760b26"),
1256 from_hex("0x026ff4a4"),
1257 from_hex("0x2326df32"),
1258 from_hex("0x5a0b7c6f"),
1259 from_hex("0x37d3973d"),
1260 from_hex("0x1e5bc883"),
1261 from_hex("0x59d3664a"),
1262 from_hex("0x677f8a14"),
1263 from_hex("0x64a3389e"),
1264 from_hex("0x0d81d503"),
1265 from_hex("0x77f51a78"),
1266 from_hex("0x1fc66dca"),
1267 from_hex("0x13a094e3"),
1268 from_hex("0x5d410ff1"),
1269 from_hex("0x2383e213"),
1270 from_hex("0x4f1144c3"),
1271 from_hex("0x1ee540c8"),
1272 from_hex("0x097edb05"),
1273 from_hex("0x2c17a521"),
1274 ],
1275 vec![from_hex("0x66927671"),
1276 from_hex("0x76626203"),
1277 from_hex("0x1de486e8"),
1278 from_hex("0x440c19f5"),
1279 from_hex("0x20bbb67a"),
1280 from_hex("0x2d4f79b0"),
1281 from_hex("0x55b64ceb"),
1282 from_hex("0x6712fbb4"),
1283 from_hex("0x24a3ec8a"),
1284 from_hex("0x3b6062d5"),
1285 from_hex("0x265abe23"),
1286 from_hex("0x3b6fb81b"),
1287 from_hex("0x43ddb4af"),
1288 from_hex("0x49a5c4a8"),
1289 from_hex("0x64581fc3"),
1290 from_hex("0x77b795f1"),
1291 from_hex("0x1e918db8"),
1292 from_hex("0x550e2c6a"),
1293 from_hex("0x6b3571c8"),
1294 from_hex("0x3609bf61"),
1295 from_hex("0x46ae6e8f"),
1296 from_hex("0x41fe0f80"),
1297 from_hex("0x20420c1a"),
1298 from_hex("0x0e95ad8a"),
1299 ],
1300 vec![from_hex("0x1b48deb1"),
1301 from_hex("0x122ac59f"),
1302 from_hex("0x0252c4a7"),
1303 from_hex("0x2696a2c4"),
1304 from_hex("0x01b232cf"),
1305 from_hex("0x5c26d56b"),
1306 from_hex("0x405535be"),
1307 from_hex("0x20cc2fe6"),
1308 from_hex("0x1c16804d"),
1309 from_hex("0x5fa5a4b8"),
1310 from_hex("0x579729ad"),
1311 from_hex("0x63e11b88"),
1312 from_hex("0x5601d544"),
1313 from_hex("0x3eeeaa1a"),
1314 from_hex("0x4dfd202b"),
1315 from_hex("0x4fa5da37"),
1316 from_hex("0x2118e7fc"),
1317 from_hex("0x3eb830dd"),
1318 from_hex("0x169ee87b"),
1319 from_hex("0x2bd97286"),
1320 from_hex("0x22865c3e"),
1321 from_hex("0x6aaa6429"),
1322 from_hex("0x29e0f68d"),
1323 from_hex("0x6aca023a"),
1324 ],
1325 vec![from_hex("0x4d02be5e"),
1326 from_hex("0x4f170e62"),
1327 from_hex("0x5cc04ba7"),
1328 from_hex("0x20655f92"),
1329 from_hex("0x6a216eea"),
1330 from_hex("0x7685bdbd"),
1331 from_hex("0x332f989c"),
1332 from_hex("0x57a66733"),
1333 from_hex("0x0719b431"),
1334 from_hex("0x2f19a5c2"),
1335 from_hex("0x5191f27f"),
1336 from_hex("0x0e38bd91"),
1337 from_hex("0x1c5abcda"),
1338 from_hex("0x1da9f1bf"),
1339 from_hex("0x42b01881"),
1340 from_hex("0x5bf52e0f"),
1341 from_hex("0x4dc17cb8"),
1342 from_hex("0x1d4688d6"),
1343 from_hex("0x18e0160d"),
1344 from_hex("0x54841116"),
1345 from_hex("0x6b381bc9"),
1346 from_hex("0x5c4a838c"),
1347 from_hex("0x0e3dc983"),
1348 from_hex("0x71c18d85"),
1349 ],
1350 vec![from_hex("0x71902c5e"),
1351 from_hex("0x1654566c"),
1352 from_hex("0x38b6f3a0"),
1353 from_hex("0x35a19789"),
1354 from_hex("0x2adf05e2"),
1355 from_hex("0x07d01f0d"),
1356 from_hex("0x02677f73"),
1357 from_hex("0x385f532a"),
1358 from_hex("0x3e2fb2ac"),
1359 from_hex("0x4e88c53b"),
1360 from_hex("0x1e370587"),
1361 from_hex("0x4e64e63c"),
1362 from_hex("0x5942f756"),
1363 from_hex("0x16944480"),
1364 from_hex("0x711cc845"),
1365 from_hex("0x76a93011"),
1366 from_hex("0x6c978579"),
1367 from_hex("0x68f3467f"),
1368 from_hex("0x47df3684"),
1369 from_hex("0x09001f22"),
1370 from_hex("0x3c1d9746"),
1371 from_hex("0x70796779"),
1372 from_hex("0x3b0bcbc9"),
1373 from_hex("0x64665dab"),
1374 ],
1375 vec![from_hex("0x55eb1733"),
1376 from_hex("0x3a240c5c"),
1377 from_hex("0x5a4445ac"),
1378 from_hex("0x3623eb7e"),
1379 from_hex("0x6c1a9a42"),
1380 from_hex("0x0a024e58"),
1381 from_hex("0x44097942"),
1382 from_hex("0x240878ef"),
1383 from_hex("0x3f507e57"),
1384 from_hex("0x68b9393f"),
1385 from_hex("0x43163825"),
1386 from_hex("0x6d71852f"),
1387 from_hex("0x5937ffff"),
1388 from_hex("0x564b7092"),
1389 from_hex("0x60d0dcb4"),
1390 from_hex("0x414e0bf2"),
1391 from_hex("0x754a4cd6"),
1392 from_hex("0x4edd0db2"),
1393 from_hex("0x341f2761"),
1394 from_hex("0x6da77d03"),
1395 from_hex("0x6f157bce"),
1396 from_hex("0x436d5397"),
1397 from_hex("0x5501d7ab"),
1398 from_hex("0x310b522f"),
1399 ],
1400 vec![from_hex("0x0ab56164"),
1401 from_hex("0x150e3635"),
1402 from_hex("0x0a7e3bc1"),
1403 from_hex("0x05fac2a2"),
1404 from_hex("0x68f51ab3"),
1405 from_hex("0x1f03a3cf"),
1406 from_hex("0x398e133a"),
1407 from_hex("0x0f5d1399"),
1408 from_hex("0x5f29a526"),
1409 from_hex("0x6cea6946"),
1410 from_hex("0x1dca5af8"),
1411 from_hex("0x5c06e542"),
1412 from_hex("0x1665a8f2"),
1413 from_hex("0x4b950256"),
1414 from_hex("0x6ad5b666"),
1415 from_hex("0x68e13aff"),
1416 from_hex("0x3c118567"),
1417 from_hex("0x70ef24e6"),
1418 from_hex("0x08fe6bb2"),
1419 from_hex("0x77610aee"),
1420 from_hex("0x140b4090"),
1421 from_hex("0x12a59e03"),
1422 from_hex("0x43376c38"),
1423 from_hex("0x5cc0ffc8"),
1424 ],
1425 vec![from_hex("0x1b05d461"),
1426 from_hex("0x50cd7eb1"),
1427 from_hex("0x320b07e2"),
1428 from_hex("0x24cfbcfc"),
1429 from_hex("0x12bb2eec"),
1430 from_hex("0x33169cde"),
1431 from_hex("0x5f7ea3ec"),
1432 from_hex("0x3f690e4c"),
1433 from_hex("0x2f47b8cd"),
1434 from_hex("0x32d5e526"),
1435 from_hex("0x3493e551"),
1436 from_hex("0x07eac5d0"),
1437 from_hex("0x111bfa27"),
1438 from_hex("0x2f667258"),
1439 from_hex("0x4c1c06d2"),
1440 from_hex("0x6cd4b86c"),
1441 from_hex("0x30702542"),
1442 from_hex("0x53d64e17"),
1443 from_hex("0x7143e320"),
1444 from_hex("0x47e038ee"),
1445 from_hex("0x6871b994"),
1446 from_hex("0x4113c042"),
1447 from_hex("0x240af147"),
1448 from_hex("0x5cde3214"),
1449 ],
1450 vec![from_hex("0x600fd4c2"),
1451 from_hex("0x17a79c40"),
1452 from_hex("0x43600bcc"),
1453 from_hex("0x158238e7"),
1454 from_hex("0x23082895"),
1455 from_hex("0x53b32037"),
1456 from_hex("0x583dd7e9"),
1457 from_hex("0x1c2966ec"),
1458 from_hex("0x4f1c4aa2"),
1459 from_hex("0x5e004513"),
1460 from_hex("0x3b80fd92"),
1461 from_hex("0x4cfed7fe"),
1462 from_hex("0x62679264"),
1463 from_hex("0x59abcafe"),
1464 from_hex("0x4ddde884"),
1465 from_hex("0x45535ec3"),
1466 from_hex("0x6a446628"),
1467 from_hex("0x238b231e"),
1468 from_hex("0x307d9f5a"),
1469 from_hex("0x1128d0a2"),
1470 from_hex("0x6ff378d4"),
1471 from_hex("0x2cd023e3"),
1472 from_hex("0x2f1d7c11"),
1473 from_hex("0x4c10f8f9"),
1474 ],
1475 vec![from_hex("0x6bd45d5c"),
1476 from_hex("0x74c89ea9"),
1477 from_hex("0x33cb1c8b"),
1478 from_hex("0x2c94a9ce"),
1479 from_hex("0x3816b43d"),
1480 from_hex("0x0e65a71e"),
1481 from_hex("0x5e38c082"),
1482 from_hex("0x6427f754"),
1483 from_hex("0x3bcce6ef"),
1484 from_hex("0x6ea9c00e"),
1485 from_hex("0x510a8434"),
1486 from_hex("0x30063591"),
1487 from_hex("0x06620981"),
1488 from_hex("0x4beaf035"),
1489 from_hex("0x4be4a698"),
1490 from_hex("0x5ca330ec"),
1491 from_hex("0x33d54bf7"),
1492 from_hex("0x316d226b"),
1493 from_hex("0x3fe68690"),
1494 from_hex("0x54e0d88e"),
1495 from_hex("0x197cc4e9"),
1496 from_hex("0x23c98f88"),
1497 from_hex("0x299beb0c"),
1498 from_hex("0x1c598f09"),
1499 ],
1500 vec![from_hex("0x772a2f2d"),
1501 from_hex("0x28f39a58"),
1502 from_hex("0x15c6d916"),
1503 from_hex("0x5482d960"),
1504 from_hex("0x1bcfe651"),
1505 from_hex("0x17da1dbc"),
1506 from_hex("0x4ae31a82"),
1507 from_hex("0x3d1fb87a"),
1508 from_hex("0x10e59612"),
1509 from_hex("0x59fff611"),
1510 from_hex("0x7151fd1f"),
1511 from_hex("0x04308067"),
1512 from_hex("0x538af856"),
1513 from_hex("0x31ec4b46"),
1514 from_hex("0x5ca7e0e1"),
1515 from_hex("0x014f24bc"),
1516 from_hex("0x34801c56"),
1517 from_hex("0x400f2575"),
1518 from_hex("0x42c0be20"),
1519 from_hex("0x3fef7fd5"),
1520 from_hex("0x40e16c35"),
1521 from_hex("0x39a29264"),
1522 from_hex("0x5139e92e"),
1523 from_hex("0x6243e0e4"),
1524 ],
1525 vec![from_hex("0x356f27cc"),
1526 from_hex("0x022c022e"),
1527 from_hex("0x47511780"),
1528 from_hex("0x28cc6078"),
1529 from_hex("0x358b8d3d"),
1530 from_hex("0x45f840fa"),
1531 from_hex("0x615d96d5"),
1532 from_hex("0x4e68d893"),
1533 from_hex("0x761e8520"),
1534 from_hex("0x3ae0bc8d"),
1535 from_hex("0x4d793ea9"),
1536 from_hex("0x461c98dd"),
1537 from_hex("0x0e6ae09e"),
1538 from_hex("0x2473818a"),
1539 from_hex("0x027d0ea1"),
1540 from_hex("0x1e37b4fc"),
1541 from_hex("0x5a9b918e"),
1542 from_hex("0x1af57d91"),
1543 from_hex("0x16b2e255"),
1544 from_hex("0x3e968bb0"),
1545 from_hex("0x025fff84"),
1546 from_hex("0x4a0ae3b6"),
1547 from_hex("0x196ea9cc"),
1548 from_hex("0x492f54d7"),
1549 ],
1550 vec![from_hex("0x21dd4a08"),
1551 from_hex("0x63d6a965"),
1552 from_hex("0x0d8d0c0c"),
1553 from_hex("0x4f797854"),
1554 from_hex("0x1ddd249b"),
1555 from_hex("0x48ea3e56"),
1556 from_hex("0x2028b394"),
1557 from_hex("0x59ba09f9"),
1558 from_hex("0x73e9f78e"),
1559 from_hex("0x14d3b6cb"),
1560 from_hex("0x095b67e2"),
1561 from_hex("0x5b97fccb"),
1562 from_hex("0x4ae9fd70"),
1563 from_hex("0x1c3d8daf"),
1564 from_hex("0x592bb255"),
1565 from_hex("0x459d8bb0"),
1566 from_hex("0x53284952"),
1567 from_hex("0x62d219ff"),
1568 from_hex("0x085b04e1"),
1569 from_hex("0x292a4f83"),
1570 from_hex("0x33ab42f3"),
1571 from_hex("0x3b4848d7"),
1572 from_hex("0x35b3b4e3"),
1573 from_hex("0x2b104210"),
1574 ],
1575 vec![from_hex("0x36bc80a0"),
1576 from_hex("0x23bc9027"),
1577 from_hex("0x5d3a8ec7"),
1578 from_hex("0x0b24aed6"),
1579 from_hex("0x0ede5278"),
1580 from_hex("0x5e5305a8"),
1581 from_hex("0x39ac900a"),
1582 from_hex("0x05dc1627"),
1583 from_hex("0x4294fabf"),
1584 from_hex("0x6de5d842"),
1585 from_hex("0x2a826d22"),
1586 from_hex("0x1f30553c"),
1587 from_hex("0x340b8c1b"),
1588 from_hex("0x05b2b5d4"),
1589 from_hex("0x752b7fd1"),
1590 from_hex("0x1ee6d240"),
1591 from_hex("0x63125d49"),
1592 from_hex("0x09fe5b3e"),
1593 from_hex("0x05f70546"),
1594 from_hex("0x13eb2cbd"),
1595 from_hex("0x0d833c10"),
1596 from_hex("0x5a629eec"),
1597 from_hex("0x5a7fd158"),
1598 from_hex("0x0eb52380"),
1599 ],
1600 vec![from_hex("0x560ad5c4"),
1601 from_hex("0x29645160"),
1602 from_hex("0x1170c734"),
1603 from_hex("0x1822aac9"),
1604 from_hex("0x217db6d3"),
1605 from_hex("0x2e21c8d3"),
1606 from_hex("0x606c5e6a"),
1607 from_hex("0x75faa8f5"),
1608 from_hex("0x3094fa7e"),
1609 from_hex("0x21b00a43"),
1610 from_hex("0x4bb30480"),
1611 from_hex("0x498991be"),
1612 from_hex("0x28b20b19"),
1613 from_hex("0x5c3d4d5f"),
1614 from_hex("0x0b992d6a"),
1615 from_hex("0x2607ef95"),
1616 from_hex("0x24188fae"),
1617 from_hex("0x3bf8a077"),
1618 from_hex("0x33f06cbf"),
1619 from_hex("0x2cd92b31"),
1620 from_hex("0x057d5b1b"),
1621 from_hex("0x344f5403"),
1622 from_hex("0x74b78582"),
1623 from_hex("0x1f3d6a54"),
1624 ],
1625 vec![from_hex("0x5f1e1ae8"),
1626 from_hex("0x6136a9a2"),
1627 from_hex("0x470c5e78"),
1628 from_hex("0x02ad2fca"),
1629 from_hex("0x4cd3a6bb"),
1630 from_hex("0x05b4f5c1"),
1631 from_hex("0x20436bea"),
1632 from_hex("0x1bed9ec7"),
1633 from_hex("0x1f29cc65"),
1634 from_hex("0x1417eaa3"),
1635 from_hex("0x0ba88347"),
1636 from_hex("0x0a65070c"),
1637 from_hex("0x03217e79"),
1638 from_hex("0x3e5f5253"),
1639 from_hex("0x60bb876e"),
1640 from_hex("0x320e4cec"),
1641 from_hex("0x53b2c52e"),
1642 from_hex("0x3e1d6eff"),
1643 from_hex("0x687a3e07"),
1644 from_hex("0x112d32bc"),
1645 from_hex("0x5af9296f"),
1646 from_hex("0x2cded641"),
1647 from_hex("0x6ecc492b"),
1648 from_hex("0x45bd2f2c"),
1649 ],
1650 vec![from_hex("0x5068b70b"),
1651 from_hex("0x2563dc0f"),
1652 from_hex("0x47e5ec52"),
1653 from_hex("0x6e316d9b"),
1654 from_hex("0x770839b4"),
1655 from_hex("0x4fecdeaa"),
1656 from_hex("0x20e2248a"),
1657 from_hex("0x257fa6ed"),
1658 from_hex("0x21abc9d3"),
1659 from_hex("0x4aaae270"),
1660 from_hex("0x17e21621"),
1661 from_hex("0x70d18ab2"),
1662 from_hex("0x4a23443e"),
1663 from_hex("0x169492c3"),
1664 from_hex("0x627575d6"),
1665 from_hex("0x4bcf6471"),
1666 from_hex("0x070d29e0"),
1667 from_hex("0x75fbfe05"),
1668 from_hex("0x08e3b575"),
1669 from_hex("0x582caf96"),
1670 from_hex("0x0ad360ea"),
1671 from_hex("0x53e6e93d"),
1672 from_hex("0x5ce70e60"),
1673 from_hex("0x68b4d9c8"),
1674 ],
1675 vec![from_hex("0x665572ef"),
1676 from_hex("0x02d7409a"),
1677 from_hex("0x645cdaf7"),
1678 from_hex("0x1a6ffc30"),
1679 from_hex("0x1cdb2768"),
1680 from_hex("0x681b647b"),
1681 from_hex("0x2744d691"),
1682 from_hex("0x51749894"),
1683 from_hex("0x1fa88ff1"),
1684 from_hex("0x3b11764e"),
1685 from_hex("0x71fec668"),
1686 from_hex("0x12ad4534"),
1687 from_hex("0x51ce85bf"),
1688 from_hex("0x2fa22845"),
1689 from_hex("0x4279a18a"),
1690 from_hex("0x6436c1c4"),
1691 from_hex("0x00ac710b"),
1692 from_hex("0x64aa70d4"),
1693 from_hex("0x6cb3f64d"),
1694 from_hex("0x73215a9e"),
1695 from_hex("0x1e0d8c6a"),
1696 from_hex("0x43cba3a4"),
1697 from_hex("0x207f2305"),
1698 from_hex("0x3b06e336"),
1699 ],
1700 vec![from_hex("0x3e1b5bb9"),
1701 from_hex("0x02392281"),
1702 from_hex("0x18b48bd7"),
1703 from_hex("0x0ed07feb"),
1704 from_hex("0x50fd2ce1"),
1705 from_hex("0x27016dbd"),
1706 from_hex("0x57328674"),
1707 from_hex("0x474cb312"),
1708 from_hex("0x77168659"),
1709 from_hex("0x6adbaa3a"),
1710 from_hex("0x6910fad6"),
1711 from_hex("0x1443e8c4"),
1712 from_hex("0x263c7e3e"),
1713 from_hex("0x034b3bcb"),
1714 from_hex("0x1bdfbbff"),
1715 from_hex("0x0d60038e"),
1716 from_hex("0x57283b50"),
1717 from_hex("0x06989f09"),
1718 from_hex("0x53e02e93"),
1719 from_hex("0x0f36babc"),
1720 from_hex("0x1d11c437"),
1721 from_hex("0x34c59005"),
1722 from_hex("0x0e84eb31"),
1723 from_hex("0x76503e52"),
1724 ],
1725 vec![from_hex("0x5172219b"),
1726 from_hex("0x187801e0"),
1727 from_hex("0x484aead8"),
1728 from_hex("0x27658b1c"),
1729 from_hex("0x29264a97"),
1730 from_hex("0x3dce14e1"),
1731 from_hex("0x35996177"),
1732 from_hex("0x5d5371b7"),
1733 from_hex("0x6ec08900"),
1734 from_hex("0x5d816715"),
1735 from_hex("0x20cfbffa"),
1736 from_hex("0x613f7c59"),
1737 from_hex("0x0569fcff"),
1738 from_hex("0x0761a9cb"),
1739 from_hex("0x2cfbcf11"),
1740 from_hex("0x085eea02"),
1741 from_hex("0x4860f9f0"),
1742 from_hex("0x4d205005"),
1743 from_hex("0x57f328bd"),
1744 from_hex("0x1a650f78"),
1745 from_hex("0x46ce7839"),
1746 from_hex("0x770a894b"),
1747 from_hex("0x1c0e9cb6"),
1748 from_hex("0x6e0ca41a"),
1749 ],
1750 vec![from_hex("0x0552da59"),
1751 from_hex("0x594dec6b"),
1752 from_hex("0x2aab23ed"),
1753 from_hex("0x60c6eb54"),
1754 from_hex("0x033206e3"),
1755 from_hex("0x0c7a8237"),
1756 from_hex("0x56a98019"),
1757 from_hex("0x5479f680"),
1758 from_hex("0x0c51522a"),
1759 from_hex("0x35d2c421"),
1760 from_hex("0x69a6d90b"),
1761 from_hex("0x5e7946e4"),
1762 from_hex("0x6b48ddca"),
1763 from_hex("0x728e2313"),
1764 from_hex("0x14dad2af"),
1765 from_hex("0x3947f321"),
1766 from_hex("0x67bd011f"),
1767 from_hex("0x60c4f777"),
1768 from_hex("0x472591d6"),
1769 from_hex("0x32731626"),
1770 from_hex("0x70a23d5b"),
1771 from_hex("0x151b6c47"),
1772 from_hex("0x6a67fb25"),
1773 from_hex("0x2fe0c49e"),
1774 ],
1775 vec![from_hex("0x54f4561b"),
1776 from_hex("0x15704ee4"),
1777 from_hex("0x16f90bb9"),
1778 from_hex("0x3be1690c"),
1779 from_hex("0x76c1febb"),
1780 from_hex("0x50a35164"),
1781 from_hex("0x509717e0"),
1782 from_hex("0x0355f8d3"),
1783 from_hex("0x668309fd"),
1784 from_hex("0x54efe9b0"),
1785 from_hex("0x49578bc5"),
1786 from_hex("0x02fa220b"),
1787 from_hex("0x2699c296"),
1788 from_hex("0x5b07ec6a"),
1789 from_hex("0x3df439cb"),
1790 from_hex("0x6fa4b39c"),
1791 from_hex("0x09e690d7"),
1792 from_hex("0x0bbce5c4"),
1793 from_hex("0x6a106fd9"),
1794 from_hex("0x1c13ac7f"),
1795 from_hex("0x1347d8fe"),
1796 from_hex("0x4f5e5b3e"),
1797 from_hex("0x6b5802b7"),
1798 from_hex("0x62d98682"),
1799 ],
1800 vec![from_hex("0x5a98822d"),
1801 from_hex("0x5f84702e"),
1802 from_hex("0x3126f240"),
1803 from_hex("0x5a1aff1a"),
1804 from_hex("0x77b04e66"),
1805 from_hex("0x48c685c3"),
1806 from_hex("0x355f8209"),
1807 from_hex("0x2e739ce1"),
1808 from_hex("0x1adf9544"),
1809 from_hex("0x1b327099"),
1810 from_hex("0x0ce1a5a0"),
1811 from_hex("0x1129ee7e"),
1812 from_hex("0x5b334254"),
1813 from_hex("0x4d1d8f66"),
1814 from_hex("0x23c29e16"),
1815 from_hex("0x63ac7ba7"),
1816 from_hex("0x513cb4e4"),
1817 from_hex("0x52edd435"),
1818 from_hex("0x4580818e"),
1819 from_hex("0x55516239"),
1820 from_hex("0x628cf778"),
1821 from_hex("0x5eebf087"),
1822 from_hex("0x15def2ec"),
1823 from_hex("0x581ee8ce"),
1824 ],
1825 vec![from_hex("0x6b4345c5"),
1826 from_hex("0x62ab4957"),
1827 from_hex("0x4af89e0f"),
1828 from_hex("0x4424f30c"),
1829 from_hex("0x23ad1768"),
1830 from_hex("0x665a9fd6"),
1831 from_hex("0x1c0b5ae1"),
1832 from_hex("0x65abddb8"),
1833 from_hex("0x7039a4b0"),
1834 from_hex("0x21c65f02"),
1835 from_hex("0x539f7cdc"),
1836 from_hex("0x05ad0446"),
1837 from_hex("0x4aae4ae6"),
1838 from_hex("0x258bc9e4"),
1839 from_hex("0x12e4cd47"),
1840 from_hex("0x5a8e8499"),
1841 from_hex("0x21ccbdef"),
1842 from_hex("0x1aee7336"),
1843 from_hex("0x622564eb"),
1844 from_hex("0x5e6d5bbc"),
1845 from_hex("0x48c2117a"),
1846 from_hex("0x418c1333"),
1847 from_hex("0x6afb386a"),
1848 from_hex("0x0c5b7812"),
1849 ],
1850 vec![from_hex("0x565753d9"),
1851 from_hex("0x59a7ea4f"),
1852 from_hex("0x37dd5860"),
1853 from_hex("0x5bf14251"),
1854 from_hex("0x56398160"),
1855 from_hex("0x20cbf536"),
1856 from_hex("0x1e49ee8c"),
1857 from_hex("0x30e66c4d"),
1858 from_hex("0x32357c88"),
1859 from_hex("0x595c244d"),
1860 from_hex("0x7464a56d"),
1861 from_hex("0x3a31384e"),
1862 from_hex("0x3d3273be"),
1863 from_hex("0x14d339cb"),
1864 from_hex("0x5044a65c"),
1865 from_hex("0x1cd80ac0"),
1866 from_hex("0x2d6ae173"),
1867 from_hex("0x5bfd70f8"),
1868 from_hex("0x05a66375"),
1869 from_hex("0x29500b8c"),
1870 from_hex("0x08d07343"),
1871 from_hex("0x45bec74b"),
1872 from_hex("0x045faaef"),
1873 from_hex("0x6e763fd3"),
1874 ],
1875 vec![from_hex("0x51aa9c1a"),
1876 from_hex("0x6acf4d51"),
1877 from_hex("0x35b040a0"),
1878 from_hex("0x73bf91ea"),
1879 from_hex("0x3177f4ab"),
1880 from_hex("0x579e48cc"),
1881 from_hex("0x241608ab"),
1882 from_hex("0x333e6a9e"),
1883 from_hex("0x0d495ddb"),
1884 from_hex("0x6987b141"),
1885 from_hex("0x18feffde"),
1886 from_hex("0x2c91e2c2"),
1887 from_hex("0x5dd6bff0"),
1888 from_hex("0x5ce61d67"),
1889 from_hex("0x779eb8b2"),
1890 from_hex("0x54826cbb"),
1891 from_hex("0x3001ecb4"),
1892 from_hex("0x154bcd9a"),
1893 from_hex("0x3be72d2e"),
1894 from_hex("0x5455873b"),
1895 from_hex("0x09ab84d6"),
1896 from_hex("0x438c6a8b"),
1897 from_hex("0x45ffda0e"),
1898 from_hex("0x1ce4c9c7"),
1899 ],
1900 vec![from_hex("0x35c8f2f0"),
1901 from_hex("0x1dc40835"),
1902 from_hex("0x756cc6f6"),
1903 from_hex("0x0e146d08"),
1904 from_hex("0x0ad9b699"),
1905 from_hex("0x0541f6fa"),
1906 from_hex("0x77b884d0"),
1907 from_hex("0x17db8c98"),
1908 from_hex("0x59c7d04e"),
1909 from_hex("0x3e0eba95"),
1910 from_hex("0x2a28a66e"),
1911 from_hex("0x60566879"),
1912 from_hex("0x1ae1e397"),
1913 from_hex("0x331e0750"),
1914 from_hex("0x38d0f91e"),
1915 from_hex("0x52fcf20d"),
1916 from_hex("0x4508cf06"),
1917 from_hex("0x4826d030"),
1918 from_hex("0x321f7db2"),
1919 from_hex("0x022452ff"),
1920 from_hex("0x375adcb4"),
1921 from_hex("0x69b19019"),
1922 from_hex("0x47442ecd"),
1923 from_hex("0x0222de3d"),
1924 ],
1925 vec![from_hex("0x3b30e99a"),
1926 from_hex("0x5b4c7207"),
1927 from_hex("0x71d04e99"),
1928 from_hex("0x1f02c78e"),
1929 from_hex("0x73fc0cdc"),
1930 from_hex("0x4bb751f9"),
1931 from_hex("0x2474d1bc"),
1932 from_hex("0x637b9b71"),
1933 from_hex("0x4766ad4f"),
1934 from_hex("0x33060411"),
1935 from_hex("0x2168b8b4"),
1936 from_hex("0x4f15816e"),
1937 from_hex("0x6ddacf2b"),
1938 from_hex("0x0057c6ad"),
1939 from_hex("0x5bfb91a9"),
1940 from_hex("0x6027e02f"),
1941 from_hex("0x5d967a56"),
1942 from_hex("0x139d4629"),
1943 from_hex("0x41f6cc04"),
1944 from_hex("0x240c7304"),
1945 from_hex("0x131eba30"),
1946 from_hex("0x0cd4affb"),
1947 from_hex("0x72b01bef"),
1948 from_hex("0x4ef7a632"),
1949 ],
1950 vec![from_hex("0x09478952"),
1951 from_hex("0x6814a0f0"),
1952 from_hex("0x72a61a71"),
1953 from_hex("0x39bd9d86"),
1954 from_hex("0x3ed1fbfc"),
1955 from_hex("0x653afc45"),
1956 from_hex("0x4c4ddb5d"),
1957 from_hex("0x656b8199"),
1958 from_hex("0x686caf27"),
1959 from_hex("0x5caf0289"),
1960 from_hex("0x20e047b0"),
1961 from_hex("0x736702e2"),
1962 from_hex("0x1b46d6ed"),
1963 from_hex("0x64cd8fdd"),
1964 from_hex("0x475354f5"),
1965 from_hex("0x59f199b8"),
1966 from_hex("0x32d5d81d"),
1967 from_hex("0x2732f5f5"),
1968 from_hex("0x09538182"),
1969 from_hex("0x1c3ac6b0"),
1970 from_hex("0x1f754ae0"),
1971 from_hex("0x442a0cb1"),
1972 from_hex("0x74ccefcd"),
1973 from_hex("0x43013839"),
1974 ],
1975 ];
1976
1977 pub static ref POSEIDON_BABYBEAR_16_PARAMS: Arc<PoseidonParams<Scalar>> = Arc::new(PoseidonParams::new(16, 7, 8, 13, &MDS16, &RC16));
1978
1979 pub static ref POSEIDON_BABYBEAR_24_PARAMS: Arc<PoseidonParams<Scalar>> = Arc::new(PoseidonParams::new(24, 7, 8, 21, &MDS24, &RC24));
1980
1981 }