forked from argotorg/fe
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconst_poseidon.fe
More file actions
1137 lines (1110 loc) · 55.5 KB
/
Copy pathconst_poseidon.fe
File metadata and controls
1137 lines (1110 loc) · 55.5 KB
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
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
use core::ops::{Add, Mul}
use std::evm::crypto::{addmod, mulmod}
// BN254 scalar field modulus.
const SNARK_SCALAR_FIELD: u256 = 21888242871839275222246405745257275088548364400416034343698204186575808495617
const POSEIDON_T3_FULL_ROUNDS: usize = 8
const POSEIDON_T3_PARTIAL_ROUNDS: usize = 57
const POSEIDON_T3_ROUNDS: usize = POSEIDON_T3_FULL_ROUNDS + POSEIDON_T3_PARTIAL_ROUNDS
const POSEIDON_T3_HALF_FULL_ROUNDS: usize = POSEIDON_T3_FULL_ROUNDS / 2
const POSEIDON_T6_FULL_ROUNDS: usize = 8
const POSEIDON_T6_PARTIAL_ROUNDS: usize = 60
const POSEIDON_T6_ROUNDS: usize = POSEIDON_T6_FULL_ROUNDS + POSEIDON_T6_PARTIAL_ROUNDS
const POSEIDON_T6_HALF_FULL_ROUNDS: usize = POSEIDON_T6_FULL_ROUNDS / 2
const POSEIDON_T3_MDS: [[u256; 3]; 3] = [
[
0x109b7f411ba0e4c9b2b70caf5c36a7b194be7c11ad24378bfedb68592ba8118b,
0x16ed41e13bb9c0c66ae119424fddbcbc9314dc9fdbdeea55d6c64543dc4903e0,
0x2b90bba00fca0589f617e7dcbfe82e0df706ab640ceb247b791a93b74e36736d,
],
[
0x2969f27eed31a480b9c36c764379dbca2cc8fdd1415c3dded62940bcde0bd771,
0x2e2419f9ec02ec394c9871c832963dc1b89d743c8c7b964029b2311687b1fe23,
0x101071f0032379b697315876690f053d148d4e109f5fb065c8aacc55a0f89bfa,
],
[
0x143021ec686a3f330d5f9e654638065ce6cd79e28c5b3753326244ee65a1b1a7,
0x176cc029695ad02582a70eff08a6fd99d057e12e58e7d7b6b16cdfabc8ee2911,
0x19a3fc0a56702bf417ba7fee3802593fa644470307043f7773279cd71d25d5e0,
],
]
const POSEIDON_T6_MDS: [[u256; 6]; 6] = [
[
0x124666f80561ed5916f2f070b1bd248c6d53f44d273d956a0c87b917692a4d18,
0x11924f02fd19b09255aaa1cf46ea0518e3d7bfeef47421609491011db0bd0b02,
0x247fa7f022304a1994ff505456c2201ef9b717369498d3ffce446601ed9df845,
0x03fd7b19ef2c861f22f77ff810f54e277bc94eb76c02d79d986be3dcdf051c3f,
0x18bd41239c3e71579a677443ecffbd555a81eeeea69352a68b67c8563c0c2a06,
0x2d78c3a5d28de9ff35bf0a257635196e5730ca7f40493277078cd75da8b4ebdc,
],
[
0x0a514a5c227f4cec95dfa029e8dd124c34895aa46bb27c0911f3780d5015540a,
0x192e16d17d956b257b85a652eefdf2ee09589eac5be80915775723d2cb1da06d,
0x298ce0c1e3113bb935c7058e7772b533b1aa9db0c0926bdc8917e5605ca3ac10,
0x094cb4e83621afd271e41bc71727f0158ebd612239ac9d698b17fe4be05b7fc8,
0x03d880395be93c27d649af5fd142e76b33918cb8841d5a28173bd5cf7d328791,
0x28eeae6b5866ad68e443bbaf91680db7d7e2b3037e38fef61b42cbccffceca81,
],
[
0x278bb49a7b4e44aea46eb0f882cb692801a6e60fdd5b5c23c63cd65ccce4fe0a,
0x063edec1bed831f506af8db648d6fdea145345887e8bdcff109035a1d9b674d7,
0x1baef1cb5509b526a42061fb53657f99b3232500e855192cbe8c940e068c475f,
0x1324564ac7bdf9e22164e9858d7fa8e368b165eaea3daf4eb67ee59c0df2e5d4,
0x005761b8c6aecb1a8ca4ea4dfc2c8376064a4a8004ceeda210a55240562ddc13,
0x10c9e283159d58cb4cb2e35fde83a3ba1fdc28002ed9963d2a99f186178a148d,
],
[
0x0c399e9f67aa40707a203feefb0b958bbdadcec5ca34901d253d026a2419f6a2,
0x083f0df3f1a0351d0330ec3ff602ca8cc353b7f6e762c7107184cd7b423449f6,
0x1a6764d5943fc4a720b4c0a19fdb8c711984307287a58b9b5f9f5d58212cb263,
0x011a63a26feabf87fa66bde66cc25a922c96382d76c6a7ff48f1537beaed683a,
0x08ca7b64657c3548f32bef5b63ad24288a41c0b251099ad27f9434307e3e64d4,
0x01998270471e9361955446b0cdb8bea915ec0675f1cd648ddcb04303507a4489,
],
[
0x1d6b3d5f6ea369c26f825d2362933eaa31ea35ec0a77c1fbd9e01ca1523e4432,
0x119ef188bb3dd0d32306976c19941e8664be687e7a69692da27da215a6f06d40,
0x2d9e0ab5c06893dfdfd03481381ba86b6e6292df5609d71f2c64b2d9a79f809e,
0x25f16631bf77060f7ea34087c025bf135784319ef08cda2e31419ee0a529e658,
0x144c7a11da5a7c5dabae3f33fbd03cad86d18bc594c79a497ecb9894edb554f1,
0x0f971162627723f3feadacb28b0c104cb8f74de508752fa8d7c0db2af13de8ee,
],
[
0x24be510095436206dd0abd0b0cbb95c883ab304aa52598b1a69306ec981a688d,
0x211610e2ad4a377426fadf7068b0c1a6c299a164c1c1a603eaed944870d0b9b9,
0x15a67d981041b1f6f09f3f9ebefd864e779d3af08157786ac077505e50ec79fc,
0x049327fa79d28c12a2c82406947f77f06775b0287468b3136877701dbe7c9598,
0x230940dcc5232658ff9c29697a3fd416d170e8c998f1aa85dea0c42d79f951aa,
0x1b121c049cd1159e289007e0c9da9995cc4bab4c26fb888ec3972a8a2e656964,
],
]
const POSEIDON_T3_ROUND_CONSTANTS: [[u256; 3]; 65] = [
[
0x0ee9a592ba9a9518d05986d656f40c2114c4993c11bb29938d21d47304cd8e6e,
0x00f1445235f2148c5986587169fc1bcd887b08d4d00868df5696fff40956e864,
0x08dff3487e8ac99e1f29a058d0fa80b930c728730b7ab36ce879f3890ecf73f5,
],
[
0x2f27be690fdaee46c3ce28f7532b13c856c35342c84bda6e20966310fadc01d0,
0x2b2ae1acf68b7b8d2416bebf3d4f6234b763fe04b8043ee48b8327bebca16cf2,
0x0319d062072bef7ecca5eac06f97d4d55952c175ab6b03eae64b44c7dbf11cfa,
],
[
0x28813dcaebaeaa828a376df87af4a63bc8b7bf27ad49c6298ef7b387bf28526d,
0x2727673b2ccbc903f181bf38e1c1d40d2033865200c352bc150928adddf9cb78,
0x234ec45ca27727c2e74abd2b2a1494cd6efbd43e340587d6b8fb9e31e65cc632,
],
[
0x15b52534031ae18f7f862cb2cf7cf760ab10a8150a337b1ccd99ff6e8797d428,
0x0dc8fad6d9e4b35f5ed9a3d186b79ce38e0e8a8d1b58b132d701d4eecf68d1f6,
0x1bcd95ffc211fbca600f705fad3fb567ea4eb378f62e1fec97805518a47e4d9c,
],
[
0x10520b0ab721cadfe9eff81b016fc34dc76da36c2578937817cb978d069de559,
0x1f6d48149b8e7f7d9b257d8ed5fbbaf42932498075fed0ace88a9eb81f5627f6,
0x1d9655f652309014d29e00ef35a2089bfff8dc1c816f0dc9ca34bdb5460c8705,
],
[
0x04df5a56ff95bcafb051f7b1cd43a99ba731ff67e47032058fe3d4185697cc7d,
0x0672d995f8fff640151b3d290cedaf148690a10a8c8424a7f6ec282b6e4be828,
0x099952b414884454b21200d7ffafdd5f0c9a9dcc06f2708e9fc1d8209b5c75b9,
],
[
0x052cba2255dfd00c7c483143ba8d469448e43586a9b4cd9183fd0e843a6b9fa6,
0x0b8badee690adb8eb0bd74712b7999af82de55707251ad7716077cb93c464ddc,
0x119b1590f13307af5a1ee651020c07c749c15d60683a8050b963d0a8e4b2bdd1,
],
[
0x03150b7cd6d5d17b2529d36be0f67b832c4acfc884ef4ee5ce15be0bfb4a8d09,
0x2cc6182c5e14546e3cf1951f173912355374efb83d80898abe69cb317c9ea565,
0x005032551e6378c450cfe129a404b3764218cadedac14e2b92d2cd73111bf0f9,
],
[
0x233237e3289baa34bb147e972ebcb9516469c399fcc069fb88f9da2cc28276b5,
0x05c8f4f4ebd4a6e3c980d31674bfbe6323037f21b34ae5a4e80c2d4c24d60280,
0x0a7b1db13042d396ba05d818a319f25252bcf35ef3aeed91ee1f09b2590fc65b,
],
[
0x2a73b71f9b210cf5b14296572c9d32dbf156e2b086ff47dc5df542365a404ec0,
0x1ac9b0417abcc9a1935107e9ffc91dc3ec18f2c4dbe7f22976a760bb5c50c460,
0x12c0339ae08374823fabb076707ef479269f3e4d6cb104349015ee046dc93fc0,
],
[
0x0b7475b102a165ad7f5b18db4e1e704f52900aa3253baac68246682e56e9a28e,
0x037c2849e191ca3edb1c5e49f6e8b8917c843e379366f2ea32ab3aa88d7f8448,
0x05a6811f8556f014e92674661e217e9bd5206c5c93a07dc145fdb176a716346f,
],
[
0x29a795e7d98028946e947b75d54e9f044076e87a7b2883b47b675ef5f38bd66e,
0x20439a0c84b322eb45a3857afc18f5826e8c7382c8a1585c507be199981fd22f,
0x2e0ba8d94d9ecf4a94ec2050c7371ff1bb50f27799a84b6d4a2a6f2a0982c887,
],
[
0x143fd115ce08fb27ca38eb7cce822b4517822cd2109048d2e6d0ddcca17d71c8,
0x0c64cbecb1c734b857968dbbdcf813cdf8611659323dbcbfc84323623be9caf1,
0x028a305847c683f646fca925c163ff5ae74f348d62c2b670f1426cef9403da53,
],
[
0x2e4ef510ff0b6fda5fa940ab4c4380f26a6bcb64d89427b824d6755b5db9e30c,
0x0081c95bc43384e663d79270c956ce3b8925b4f6d033b078b96384f50579400e,
0x2ed5f0c91cbd9749187e2fade687e05ee2491b349c039a0bba8a9f4023a0bb38,
],
[
0x30509991f88da3504bbf374ed5aae2f03448a22c76234c8c990f01f33a735206,
0x1c3f20fd55409a53221b7c4d49a356b9f0a1119fb2067b41a7529094424ec6ad,
0x10b4e7f3ab5df003049514459b6e18eec46bb2213e8e131e170887b47ddcb96c,
],
[
0x2a1982979c3ff7f43ddd543d891c2abddd80f804c077d775039aa3502e43adef,
0x1c74ee64f15e1db6feddbead56d6d55dba431ebc396c9af95cad0f1315bd5c91,
0x07533ec850ba7f98eab9303cace01b4b9e4f2e8b82708cfa9c2fe45a0ae146a0,
],
[
0x21576b438e500449a151e4eeaf17b154285c68f42d42c1808a11abf3764c0750,
0x2f17c0559b8fe79608ad5ca193d62f10bce8384c815f0906743d6930836d4a9e,
0x2d477e3862d07708a79e8aae946170bc9775a4201318474ae665b0b1b7e2730e,
],
[
0x162f5243967064c390e095577984f291afba2266c38f5abcd89be0f5b2747eab,
0x2b4cb233ede9ba48264ecd2c8ae50d1ad7a8596a87f29f8a7777a70092393311,
0x2c8fbcb2dd8573dc1dbaf8f4622854776db2eece6d85c4cf4254e7c35e03b07a,
],
[
0x1d6f347725e4816af2ff453f0cd56b199e1b61e9f601e9ade5e88db870949da9,
0x204b0c397f4ebe71ebc2d8b3df5b913df9e6ac02b68d31324cd49af5c4565529,
0x0c4cb9dc3c4fd8174f1149b3c63c3c2f9ecb827cd7dc25534ff8fb75bc79c502,
],
[
0x174ad61a1448c899a25416474f4930301e5c49475279e0639a616ddc45bc7b54,
0x1a96177bcf4d8d89f759df4ec2f3cde2eaaa28c177cc0fa13a9816d49a38d2ef,
0x066d04b24331d71cd0ef8054bc60c4ff05202c126a233c1a8242ace360b8a30a,
],
[
0x2a4c4fc6ec0b0cf52195782871c6dd3b381cc65f72e02ad527037a62aa1bd804,
0x13ab2d136ccf37d447e9f2e14a7cedc95e727f8446f6d9d7e55afc01219fd649,
0x1121552fca26061619d24d843dc82769c1b04fcec26f55194c2e3e869acc6a9a,
],
[
0x00ef653322b13d6c889bc81715c37d77a6cd267d595c4a8909a5546c7c97cff1,
0x0e25483e45a665208b261d8ba74051e6400c776d652595d9845aca35d8a397d3,
0x29f536dcb9dd7682245264659e15d88e395ac3d4dde92d8c46448db979eeba89,
],
[
0x2a56ef9f2c53febadfda33575dbdbd885a124e2780bbea170e456baace0fa5be,
0x1c8361c78eb5cf5decfb7a2d17b5c409f2ae2999a46762e8ee416240a8cb9af1,
0x151aff5f38b20a0fc0473089aaf0206b83e8e68a764507bfd3d0ab4be74319c5,
],
[
0x04c6187e41ed881dc1b239c88f7f9d43a9f52fc8c8b6cdd1e76e47615b51f100,
0x13b37bd80f4d27fb10d84331f6fb6d534b81c61ed15776449e801b7ddc9c2967,
0x01a5c536273c2d9df578bfbd32c17b7a2ce3664c2a52032c9321ceb1c4e8a8e4,
],
[
0x2ab3561834ca73835ad05f5d7acb950b4a9a2c666b9726da832239065b7c3b02,
0x1d4d8ec291e720db200fe6d686c0d613acaf6af4e95d3bf69f7ed516a597b646,
0x041294d2cc484d228f5784fe7919fd2bb925351240a04b711514c9c80b65af1d,
],
[
0x154ac98e01708c611c4fa715991f004898f57939d126e392042971dd90e81fc6,
0x0b339d8acca7d4f83eedd84093aef51050b3684c88f8b0b04524563bc6ea4da4,
0x0955e49e6610c94254a4f84cfbab344598f0e71eaff4a7dd81ed95b50839c82e,
],
[
0x06746a6156eba54426b9e22206f15abca9a6f41e6f535c6f3525401ea0654626,
0x0f18f5a0ecd1423c496f3820c549c27838e5790e2bd0a196ac917c7ff32077fb,
0x04f6eeca1751f7308ac59eff5beb261e4bb563583ede7bc92a738223d6f76e13,
],
[
0x2b56973364c4c4f5c1a3ec4da3cdce038811eb116fb3e45bc1768d26fc0b3758,
0x123769dd49d5b054dcd76b89804b1bcb8e1392b385716a5d83feb65d437f29ef,
0x2147b424fc48c80a88ee52b91169aacea989f6446471150994257b2fb01c63e9,
],
[
0x0fdc1f58548b85701a6c5505ea332a29647e6f34ad4243c2ea54ad897cebe54d,
0x12373a8251fea004df68abcf0f7786d4bceff28c5dbbe0c3944f685cc0a0b1f2,
0x21e4f4ea5f35f85bad7ea52ff742c9e8a642756b6af44203dd8a1f35c1a90035,
],
[
0x16243916d69d2ca3dfb4722224d4c462b57366492f45e90d8a81934f1bc3b147,
0x1efbe46dd7a578b4f66f9adbc88b4378abc21566e1a0453ca13a4159cac04ac2,
0x07ea5e8537cf5dd08886020e23a7f387d468d5525be66f853b672cc96a88969a,
],
[
0x05a8c4f9968b8aa3b7b478a30f9a5b63650f19a75e7ce11ca9fe16c0b76c00bc,
0x20f057712cc21654fbfe59bd345e8dac3f7818c701b9c7882d9d57b72a32e83f,
0x04a12ededa9dfd689672f8c67fee31636dcd8e88d01d49019bd90b33eb33db69,
],
[
0x27e88d8c15f37dcee44f1e5425a51decbd136ce5091a6767e49ec9544ccd101a,
0x2feed17b84285ed9b8a5c8c5e95a41f66e096619a7703223176c41ee433de4d1,
0x1ed7cc76edf45c7c404241420f729cf394e5942911312a0d6972b8bd53aff2b8,
],
[
0x15742e99b9bfa323157ff8c586f5660eac6783476144cdcadf2874be45466b1a,
0x1aac285387f65e82c895fc6887ddf40577107454c6ec0317284f033f27d0c785,
0x25851c3c845d4790f9ddadbdb6057357832e2e7a49775f71ec75a96554d67c77,
],
[
0x15a5821565cc2ec2ce78457db197edf353b7ebba2c5523370ddccc3d9f146a67,
0x2411d57a4813b9980efa7e31a1db5966dcf64f36044277502f15485f28c71727,
0x002e6f8d6520cd4713e335b8c0b6d2e647e9a98e12f4cd2558828b5ef6cb4c9b,
],
[
0x2ff7bc8f4380cde997da00b616b0fcd1af8f0e91e2fe1ed7398834609e0315d2,
0x00b9831b948525595ee02724471bcd182e9521f6b7bb68f1e93be4febb0d3cbe,
0x0a2f53768b8ebf6a86913b0e57c04e011ca408648a4743a87d77adbf0c9c3512,
],
[
0x00248156142fd0373a479f91ff239e960f599ff7e94be69b7f2a290305e1198d,
0x171d5620b87bfb1328cf8c02ab3f0c9a397196aa6a542c2350eb512a2b2bcda9,
0x170a4f55536f7dc970087c7c10d6fad760c952172dd54dd99d1045e4ec34a808,
],
[
0x29aba33f799fe66c2ef3134aea04336ecc37e38c1cd211ba482eca17e2dbfae1,
0x1e9bc179a4fdd758fdd1bb1945088d47e70d114a03f6a0e8b5ba650369e64973,
0x1dd269799b660fad58f7f4892dfb0b5afeaad869a9c4b44f9c9e1c43bdaf8f09,
],
[
0x22cdbc8b70117ad1401181d02e15459e7ccd426fe869c7c95d1dd2cb0f24af38,
0x0ef042e454771c533a9f57a55c503fcefd3150f52ed94a7cd5ba93b9c7dacefd,
0x11609e06ad6c8fe2f287f3036037e8851318e8b08a0359a03b304ffca62e8284,
],
[
0x1166d9e554616dba9e753eea427c17b7fecd58c076dfe42708b08f5b783aa9af,
0x2de52989431a859593413026354413db177fbf4cd2ac0b56f855a888357ee466,
0x3006eb4ffc7a85819a6da492f3a8ac1df51aee5b17b8e89d74bf01cf5f71e9ad,
],
[
0x2af41fbb61ba8a80fdcf6fff9e3f6f422993fe8f0a4639f962344c8225145086,
0x119e684de476155fe5a6b41a8ebc85db8718ab27889e85e781b214bace4827c3,
0x1835b786e2e8925e188bea59ae363537b51248c23828f047cff784b97b3fd800,
],
[
0x28201a34c594dfa34d794996c6433a20d152bac2a7905c926c40e285ab32eeb6,
0x083efd7a27d1751094e80fefaf78b000864c82eb571187724a761f88c22cc4e7,
0x0b6f88a3577199526158e61ceea27be811c16df7774dd8519e079564f61fd13b,
],
[
0x0ec868e6d15e51d9644f66e1d6471a94589511ca00d29e1014390e6ee4254f5b,
0x2af33e3f866771271ac0c9b3ed2e1142ecd3e74b939cd40d00d937ab84c98591,
0x0b520211f904b5e7d09b5d961c6ace7734568c547dd6858b364ce5e47951f178,
],
[
0x0b2d722d0919a1aad8db58f10062a92ea0c56ac4270e822cca228620188a1d40,
0x1f790d4d7f8cf094d980ceb37c2453e957b54a9991ca38bbe0061d1ed6e562d4,
0x0171eb95dfbf7d1eaea97cd385f780150885c16235a2a6a8da92ceb01e504233,
],
[
0x0c2d0e3b5fd57549329bf6885da66b9b790b40defd2c8650762305381b168873,
0x1162fb28689c27154e5a8228b4e72b377cbcafa589e283c35d3803054407a18d,
0x2f1459b65dee441b64ad386a91e8310f282c5a92a89e19921623ef8249711bc0,
],
[
0x1e6ff3216b688c3d996d74367d5cd4c1bc489d46754eb712c243f70d1b53cfbb,
0x01ca8be73832b8d0681487d27d157802d741a6f36cdc2a0576881f9326478875,
0x1f7735706ffe9fc586f976d5bdf223dc680286080b10cea00b9b5de315f9650e,
],
[
0x2522b60f4ea3307640a0c2dce041fba921ac10a3d5f096ef4745ca838285f019,
0x23f0bee001b1029d5255075ddc957f833418cad4f52b6c3f8ce16c235572575b,
0x2bc1ae8b8ddbb81fcaac2d44555ed5685d142633e9df905f66d9401093082d59,
],
[
0x0f9406b8296564a37304507b8dba3ed162371273a07b1fc98011fcd6ad72205f,
0x2360a8eb0cc7defa67b72998de90714e17e75b174a52ee4acb126c8cd995f0a8,
0x15871a5cddead976804c803cbaef255eb4815a5e96df8b006dcbbc2767f88948,
],
[
0x193a56766998ee9e0a8652dd2f3b1da0362f4f54f72379544f957ccdeefb420f,
0x2a394a43934f86982f9be56ff4fab1703b2e63c8ad334834e4309805e777ae0f,
0x1859954cfeb8695f3e8b635dcb345192892cd11223443ba7b4166e8876c0d142,
],
[
0x04e1181763050e58013444dbcb99f1902b11bc25d90bbdca408d3819f4fed32b,
0x0fdb253dee83869d40c335ea64de8c5bb10eb82db08b5e8b1f5e5552bfd05f23,
0x058cbe8a9a5027bdaa4efb623adead6275f08686f1c08984a9d7c5bae9b4f1c0,
],
[
0x1382edce9971e186497eadb1aeb1f52b23b4b83bef023ab0d15228b4cceca59a,
0x03464990f045c6ee0819ca51fd11b0be7f61b8eb99f14b77e1e6634601d9e8b5,
0x23f7bfc8720dc296fff33b41f98ff83c6fcab4605db2eb5aaa5bc137aeb70a58,
],
[
0x0a59a158e3eec2117e6e94e7f0e9decf18c3ffd5e1531a9219636158bbaf62f2,
0x06ec54c80381c052b58bf23b312ffd3ce2c4eba065420af8f4c23ed0075fd07b,
0x118872dc832e0eb5476b56648e867ec8b09340f7a7bcb1b4962f0ff9ed1f9d01,
],
[
0x13d69fa127d834165ad5c7cba7ad59ed52e0b0f0e42d7fea95e1906b520921b1,
0x169a177f63ea681270b1c6877a73d21bde143942fb71dc55fd8a49f19f10c77b,
0x04ef51591c6ead97ef42f287adce40d93abeb032b922f66ffb7e9a5a7450544d,
],
[
0x256e175a1dc079390ecd7ca703fb2e3b19ec61805d4f03ced5f45ee6dd0f69ec,
0x30102d28636abd5fe5f2af412ff6004f75cc360d3205dd2da002813d3e2ceeb2,
0x10998e42dfcd3bbf1c0714bc73eb1bf40443a3fa99bef4a31fd31be182fcc792,
],
[
0x193edd8e9fcf3d7625fa7d24b598a1d89f3362eaf4d582efecad76f879e36860,
0x18168afd34f2d915d0368ce80b7b3347d1c7a561ce611425f2664d7aa51f0b5d,
0x29383c01ebd3b6ab0c017656ebe658b6a328ec77bc33626e29e2e95b33ea6111,
],
[
0x10646d2f2603de39a1f4ae5e7771a64a702db6e86fb76ab600bf573f9010c711,
0x0beb5e07d1b27145f575f1395a55bf132f90c25b40da7b3864d0242dcb1117fb,
0x16d685252078c133dc0d3ecad62b5c8830f95bb2e54b59abdffbf018d96fa336,
],
[
0x0a6abd1d833938f33c74154e0404b4b40a555bbbec21ddfafd672dd62047f01a,
0x1a679f5d36eb7b5c8ea12a4c2dedc8feb12dffeec450317270a6f19b34cf1860,
0x0980fb233bd456c23974d50e0ebfde4726a423eada4e8f6ffbc7592e3f1b93d6,
],
[
0x161b42232e61b84cbf1810af93a38fc0cece3d5628c9282003ebacb5c312c72b,
0x0ada10a90c7f0520950f7d47a60d5e6a493f09787f1564e5d09203db47de1a0b,
0x1a730d372310ba82320345a29ac4238ed3f07a8a2b4e121bb50ddb9af407f451,
],
[
0x2c8120f268ef054f817064c369dda7ea908377feaba5c4dffbda10ef58e8c556,
0x1c7c8824f758753fa57c00789c684217b930e95313bcb73e6e7b8649a4968f70,
0x2cd9ed31f5f8691c8e39e4077a74faa0f400ad8b491eb3f7b47b27fa3fd1cf77,
],
[
0x23ff4f9d46813457cf60d92f57618399a5e022ac321ca550854ae23918a22eea,
0x09945a5d147a4f66ceece6405dddd9d0af5a2c5103529407dff1ea58f180426d,
0x188d9c528025d4c2b67660c6b771b90f7c7da6eaa29d3f268a6dd223ec6fc630,
],
[
0x3050e37996596b7f81f68311431d8734dba7d926d3633595e0c0d8ddf4f0f47f,
0x15af1169396830a91600ca8102c35c426ceae5461e3f95d89d829518d30afd78,
0x1da6d09885432ea9a06d9f37f873d985dae933e351466b2904284da3320d8acc,
],
[
0x2796ea90d269af29f5f8acf33921124e4e4fad3dbe658945e546ee411ddaa9cb,
0x202d7dd1da0f6b4b0325c8b3307742f01e15612ec8e9304a7cb0319e01d32d60,
0x096d6790d05bb759156a952ba263d672a2d7f9c788f4c831a29dace4c0f8be5f,
],
[
0x054efa1f65b0fce283808965275d877b438da23ce5b13e1963798cb1447d25a4,
0x1b162f83d917e93edb3308c29802deb9d8aa690113b2e14864ccf6e18e4165f1,
0x21e5241e12564dd6fd9f1cdd2a0de39eedfefc1466cc568ec5ceb745a0506edc,
],
[
0x1cfb5662e8cf5ac9226a80ee17b36abecb73ab5f87e161927b4349e10e4bdf08,
0x0f21177e302a771bbae6d8d1ecb373b62c99af346220ac0129c53f666eb24100,
0x1671522374606992affb0dd7f71b12bec4236aede6290546bcef7e1f515c2320,
],
[
0x0fa3ec5b9488259c2eb4cf24501bfad9be2ec9e42c5cc8ccd419d2a692cad870,
0x193c0e04e0bd298357cb266c1506080ed36edce85c648cc085e8c57b1ab54bba,
0x102adf8ef74735a27e9128306dcbc3c99f6f7291cd406578ce14ea2adaba68f8,
],
[
0x0fe0af7858e49859e2a54d6f1ad945b1316aa24bfbdd23ae40a6d0cb70c3eab1,
0x216f6717bbc7dedb08536a2220843f4e2da5f1daa9ebdefde8a5ea7344798d22,
0x1da55cc900f0d21f4a3e694391918a1b3c23b2ac773c6b3ef88e2e4228325161,
],
]
const POSEIDON_T6_ROUND_CONSTANTS: [[u256; 6]; 68] = [
[
0x1448614598e00f98e7ae7dea45fbd83bd968653ef8390cde2e86b706ad40c651,
0xab7b291388e5c9e43c0dc1f591fb83ecdb65022e1b70af43b8a7b40c1dff7c3,
0x2b7cbb217896f52c9a8c088e654af21e84cde754a3cef5b15c4d5466612d6adf,
0x2bc6b0ddbe1d701b6570428bdc1ca1bf0da59ff3bbbb95fc2bc71c0c6e67a65c,
0x123a55a31980384f3d20b2cecbc44ed60c38c11f7d20e9271efab9a905eefd3c,
0x37501cc8c9dc819309a769f4df098e588b01858bc8eb7e279e2883be9fb8c53,
],
[
0x1c2116e47e03a86bb11695b0a5f6dab6b9a460b1eb951ab01c259eca3fd47d51,
0x2c18213489032e85a9c8cb8e9a65839bfaed13e57bc0fae49dbdaebf54f56f93,
0x2ee8fed3d4d2c71a0429eafd8e5db1718f29e2227985fdf2ad8703c835b9e031,
0x28c64d8f5ed7aac004c92029d9e9bf91ba9436d1cce94b9316d111c70a0c1714,
0x18a01d9ffb747ae0de3e83c707f8b24f682c84f15abf571b34254a03478665e0,
0x1c21d92bef197e73b234e4777b60db14e642a56cee71515d54e1ac71cde72bd3,
],
[
0xad404ccbcb1e195897cb60c80981ebb9d66a6677dbbedad8b6455fe62d807b1,
0xa9b6de833064f93b6adb99af6c005945cb654cb7bd14c8b97af8b60cc1fb387,
0x13129e3f930aed6d47690331ff09dc5160efa58ddce2c3e6180d45bec3aa3a6f,
0xd7a614c8991508ab1ce4895813bb1c82f18bf7bfc9e280ccca18079839387f1,
0x532f7ec36e30041b0486986875c913a49bddf2f5af5febe8c31f2f4094ffea5,
0x6bbcb8e8e180201293e712f4950f1b0bbee808c9d64263c84d9d8ae155cb892,
],
[
0xf558a4db1a3ac07f61e2e6bee947f73586bf40f211ceb4f687ca5678a9dcb33,
0x2be140a60b5b5f2f8edd78a818a969b20c643e419bcf0b577c24a0d0e7acfe98,
0x1c49c4b9a9f09f7b9ad5f74ebacc710512b8e867bace27cb0dea06e89b96f631,
0x170c1a732721b12cde7f33e476a39a1aa77a81c06e2eac503847b00d597652db,
0x19c27d0e52f65ca34f4e31a068e49331c6bfc39d9241f9d4c302041615cf27f1,
0x2f1bdc5254f9220c1a731fc5276964dab26b385fa40b6b04bed9960e2543ba08,
],
[
0x5b42d2fbccbf4d39d2be9339cabe9d0dc6d921e855cd91154b639d28d4a1cf0,
0x1220040715a41ad59f4f410e0c05a42c5fd32ac52fe9d06f88188d71f61e0935,
0x25f9526526155b83946609f7bb9507dd4925ef871dee916d9144ebb4ece1343c,
0x17bfe4284299ae7740b6d0e204951e314a8a5d0452419147978a95b34742444,
0x2a5d4764021ca71d78a9674cb6708f1588d2ceaf3578c4111cf8b359eef089cf,
0x17f02dab745fbe3c081321fe5cef845e7b8d070b2514d29b2a7b7d89cc0815da,
],
[
0x19da62626db7199b65f4adcf57fa4a3dbaa1764a7bd155708ee6f378c89ef013,
0xf88e295fa2ed81b426c91fa69366a73edf75f39bf18634cd266ec4038829e05,
0x1fe31c5548546c7948fe4ee1bd7412e3280eff7d20cb09aa85f49f2766148017,
0x10fdc1613bdbf67f38bdde561b2f91e4cc48b59f98d643638fdc0afadbfe126e,
0x1f2618c2ebe9574508b9c52f0000e33ebfddad1a03fdd6bca6ef7f0093127bef,
0x129fe7fc3efac6a8ab23dba6d886f394da11f5953cf98e28269a0dba2a745dd3,
],
[
0x15afd4cdf1e4f820c1631d4ab85ca4ba3bafcfee72beade9fae60523102448e3,
0x1f2c74ba5c367e370d728e71e15b268851a7bb8b45528cb734956079ac99b012,
0x1130e1872d76f2f9369cf59b95edf9ce19f01fa89c9c36b26e09def6786dad3c,
0x13523d173f7e6badb73b63fc1c9bbdbee242c61bc68656493327533a5c1b1dca,
0x14da40d0af427a65f1841b5adc96538653368f7254cb5667ddadbbad7a574cd4,
0x91f96400e4297ea85bb186c17b304e82638e57fd631ff6315976e1a5dd8b86,
],
[
0x303329bf9031c5515b9a34d49a64bb6a0267bc7b54a0deca5c450277a002cdcb,
0x14ed47e55c1da1c2f05d3c1a1b2e6c18509fc8336ecfe9db737916e283fa821b,
0x1161f10b357775d810ad53bcc4a20d5add2b03251c747deb04ee94c565e58d6b,
0x17a8a50ae72ce707f22bc070eb992851ca914eb94cc68eafbb8a96a714eb8221,
0x1a6c61d795dbaf62f99250b37ec5df88645a1c153791db6312b932dc250e4f62,
0x1f8bd2ab8aa840664c4eee198c4684dc4b05772bb2a0869da6722b15f447a133,
],
[
0x1ffcb852a4f0027a9799f131cd74b98ccfb8cbc06349d8fefcc62f10c8fb3e2f,
0x35e742ec52f19b36d489c720f467ffad77cd53bc2db5dddb246b23021f79f18,
0x1dfaaee41bdf94d783aa29fc62b7ec7b55673aa818d305fd42d175a05f2e3d86,
0x2821378477a02e995005a5635088540945bd333f2d1455f038a219b8c4796b3a,
0x1db4a4d0f238a570b1061c6eec81c02f31ffdd4a7c19e763174f238d04897421,
0x14bf7889457b20b7a1367b34a3a538217d693b52426aff40a4bb72893b1784ca,
],
[
0x2ced52c2bf296f87e57410c3ec9a9483a796d164f6049127109ff0d3a9c08465,
0x1ddeac5805a7f4ada4d0441ed108e3149d4ce6584f49ae5bdfd46d6766eea334,
0x2e36b4e5e9c97b462304e8e2b5f9dc88e1c9f2161ba040673f911123f042ae70,
0xc6840d1cb0666dc59e89b1865275d8a164b447c5ed64347caee63502c238d5e,
0x137e2e3e89e71d461f4c9bc3e8f12183262a4d1db55c589b2caeaac01238f58c,
0x250932e7b0adcf2c84ed4bfb60a36b6b82e55aa94751157b1d45794b081c8aad,
],
[
0x170a7292f5634c06dd3bf09ab5c9c4ecd4b00d5ce2f35f972b4555391f16b42d,
0xd68cbbe77289e78d5cbf51d70f1b75ba215df4e7bd0149d10b2c50f2a4f3b81,
0xcaf74563b90525f645a6d2036ecd1306fa1dc680b49d9ce4ed24c9749973178,
0x20a7d1c0a27fcce78ffe372f4c58306b166f9456ed46cdeb255e395b7d30d42a,
0x623f3226b5470b2789b8a53040e44443385e96b9cfa0be4d35015158a468465,
0x1632308688c25e790f57d68a5350241242a56305347de4a5009ce46b8cdcb91f,
],
[
0x2de4793a6f99cd14e3f6642211f4d0b7bcfa361597c544ffcb5a567e9076f47f,
0x1d4d06d19ea1b09cad79086d51bde11725a554fa99559ca2f09f3bb73d728c66,
0x480e7479a66a7cd9ea61c8b28974389908350abc4aafc18cd75e33dd130c144,
0x30430b03368ebcaa91246960490bcf917d78681463e2e7d744bfb44335dac24d,
0xb57b37320127d4c50f269124b0dbdcb2b1f1352241a5d12103283e089c0c742,
0x2cf4890650d27240e195f60a4f698eda249b8dd614b23376b50178d2df6d2b8f,
],
[
0x1e221c5526898bfd12de86851a0d9703751a2f239008ab5f9b7d3b6911c64184,
0x28e07485ad7d992ed1a58f329ca12adce4ec693ebddbb2952e54d339f2eebda5,
0x2f44d64f84de16dc67bd5ead51efb1dc8381c84520c12854dd5ef3a079acd4e0,
0x50a76bc32ebd1dfe2be330f304edc7ace7167ab7ba1516f4021c62cf0d4fac2,
0x2f58c45e5d659a67d781367241f6c35d8cb46361d97b28947d29421c270594a9,
0x25e8da9ae0e42e840e04b230370e782bdb67534844325ba36fc7e5e160c66a74,
],
[
0x2fec734da20fe32003ea04f127f844724f38a368ba10c29544252be796040f7f,
0x288a6778f3a83988a8ed1727f15e93b4cb14f4e3a3bbb91dd6d1facafffd5eef,
0x20dcc6c75fd89259be7f406750b3db679a25a8cd2715d245b9175390ac922c84,
0x17f42ba10942df25cb8a541782a18b6fd31cf965d11178c7b04ac45b4dea5dd3,
0x28eeb85d115a904020e0c6148eec6603e9cedabc664abee764aafd455986ba5,
0xb1d7cecf3a79b2ad3fa298f6cea7ae95d80c0299ecc918e9f8c9c3d38d59d40,
],
[
0x440339c9764cec79c16efdb834a26261db8e3f12ce1cf722d23c0e11ff4cf07,
0x6ca647c29727c1962a002177da2d504f4b07a5f7eb57c79b88e6b7abbbdad5c,
0x2ea120a864f5c4093dd1a962e8f013c7b8ef778b04d2ba5bfc3cab28619ba9e3,
0x2bb737546c4aee7c0cc2ba87c1157e2a77c479ebfb5dc76adbb39cf8697633fd,
0xe30da6490625d33e79cd50176f568f9a2c28c2f449a2bd51a25d15686803a93,
0xdf7ca7278a13650b919d85497b2ebb0f71035a7c20430d4131d903ab7f57521,
],
[
0x27cc589f5bf585794abace589fb8a74a2f784c0990b80fcaa6944097f870e2d5,
0x2255c36a38c8735de45cedf452afa842332d33042f78e60c43c7455421b325bf,
0x133d9602bd3378d69f681c27b05bdffc98b7d86cca63d73a60caed485784d087,
0xe1548e942ae9d3e26860699b93727c817a9948616c93ef4accd981b1dc3d78a,
0xf20f0e55d93689fe09ec312f6af47627482e4bde0a1602a8e2c8d6e84e8a6ae,
0x2e52328483cb5b7ff2eb4e45b12e51b26232c9bc17b7292954c0a9f6bfa51bb9,
],
[
0x2b2162d533e059a6eda2abb74712edb3a7860beea95dd8a4abfc957660804f4,
0x19e0927715d1cc6d389429947fb3737dad733974c6b2e13e5b3d432519516c74,
0xd3a800457d77785636303b8b94f17dcffcb46048872ac9f74ef7f27ee573705,
0x2c974d1952557a1aac5f7bae4996616da619b73f441c4e504dc8fe9cfb559e32,
0x766bfeeede2ccf3708e1b4ff30714c22c1d434cdbe8f55514babc2dd5d97bef,
0x23dac8ea54082fc131e173ae55e4630cd4ca7c871b2a0a479c1e74e7f191e62c,
],
[
0x17d5fb6c2cb37010e3e358ab2d575376870ed33186b8eae49ad3b47e340a8d7f,
0x175dcac76d8a8126139b583ae38853290246e43e783fa6903ec8007f178c0023,
0xc4fd08fede5d221adb7abf549898c91e5be7e85bf1fd2a611bf182cc2e71655,
0x277934b909e72d3a3475bb1ec766ab7a38ad59b128303fc5002f02a65bdfe729,
0xe88349998dfe703f1b184524f9c394d6004ccacf9cb952896e8cfdb0b078b68,
0x1f1b2078b60b0fce07824e2a2bc8cae8ee673514b0070a8b45710cc78cbb9942,
],
[
0x2eb1559566c536ddbc316f6482d51fa340557657700f5b8a846e812a0ed334d1,
0x1c4dbdc335cf6764355208b4c9d243d34541d623c669dec2c3ba066bbeaf6773,
0x2374a6b2da6f8cab8e5cfe8d805dd3a2dfca1e8b7eba5dc8574021fd1241e3b4,
0x19dd342533ccc603a99738e3fb5a569b94ef71b3e49f90fb874f6161733072f4,
0x217d66db6c7fb3effa508800587d2eb3c6d03d8385132f2fcce7f35f2705cccf,
0x815fb8591fe01038cd3a3b38b236f9efca77c618d3bfc6c2a7fa89296c7e64f,
],
[
0x2bb943b40c2bd456a6c17853b1ca88eb0ff36f5974b2ff9a5f5093e9bf63a16f,
0x11a5153fce659513ee7cb9974ae6cba581e3b4cd14570c5709fec3d8d3fc82e9,
0x1b72bfd07635d8501b2eff8785a2495bae74c7653cf90e6d5c9f144426836df4,
0x14902c0700eec897ae178ba8caf850d793f1d87512bea0ecea39cf6b1fee233d,
0x9c138c6e0a616a49ff90d43a6b043f3b745b78865856dc4c1a45e2fd84cb3f4,
0x5b58a3dce57b281a271d69895052d887458a715783e8317e024a61a35ec10bc,
],
[
0x2be8d29525c0cfdd5e6b3125e3bde3bf558e55fbe867f024457a96765474d037,
0x61d72f78f1ba9dc6b4d7f7784225d6a81bdfc1b5ad6c24369f9c0560523d9ad,
0xbf18aefcacffabdf4112eddadca6145738b4803b36145bb9516db501a0692e9,
0x2e73dd105fa8b2ec931d8cdf29ec679e3a9801a93071a7d5ea30659255f03bc6,
0xf8440ef667c9ae81337ba5d8c927a5347de7296860b211cad1ecbfb5d3598ef,
0x4d303b2dea627b2731be83f93ac34e7d14d178a13800558ca7396395eb118f,
],
[
0x234541ad72040a70da2996a35269230c94699eef313a4d480508008cbc3d37c1,
0xd123f1e72d26b92bdd8fd73d14286c312ad4c23acb46b2e08c157104409e174,
0x2fb360776f0de79d7098ee7aa4123c05ee6b05a8be460a774f3a048e138545bb,
0x3685c079434e167276c57d3cc79703b7dfdc41c156ea1e8b7f99b6956a55326,
0x260af0e0fffcc9772c1631b179344566b47aaada3681eb9034c6f75c3705c1c7,
0x2862b41374f89b695274b33b773f2554916e2bff9ff672545fc2f49563f62767,
],
[
0x2a9912fe170310227189ea1e691d0362f18b38b400b0eff192ca59513eba8d5,
0x8e513ade694a0d8ac1f3ebf1a96440d32c713d5058e1224e070348c281f4a6f,
0x140a4a431e2ee79400ed7465978d84773213c628264ff80f21ac7a6b673d09ab,
0x296af4d019cb5df7d959b29d549c3f071202b4eba8b53dc5ee979ed143377927,
0x1832e284a7f4c81614882b6939fc0f185573bd2023e3e505765470bb812b349,
0x1a84d56a67bfdd3d965abdcd329aa78d4fe93434496f2d103861fd19d66d7260,
],
[
0x40cb82847773927d2aefdc07489037a9d1f7631eca75c9fb0dda0cb9dbde143,
0x10dcf084cc29cb7caecf26aa633bce4ed2b019f2887cee7b1a78f89d3fabe2f,
0x7edc22a0911ea214425ef542b776db23b0fe5817810d40c72ca98aabd9afa83,
0x2eea4ab08aec775f2148479ea36fbb96936da58ba48bd1d2d3acd48173aaabe7,
0x1e40c0e8257fe4a61005cdcfad148cf7f47d1b5cfddfaa082738695518245f19,
0x23a27809583bd1ea51f436de5443e108f69d44cdf51dc1f03e21948b4980b876,
],
[
0x2e4652b044dbfe40e63b6b232fcd5f3f39abfbd2051ee68adc754080d49250a9,
0x11e7abdb6ecbafc2e7d8cdefe9c7b9c50475eb475db3c2caf7f7d67f485775f2,
0x199d52350cc30e8c73821f802096f0e547a13551b27bf6b899396f63ac5cf8e7,
0xf575d6ee67cbecd98345624e032a37c859a7cbef30b3fddc949cd0978484101,
0x1c4b6f9a2ae2b418e6265acba9c96b06184d07028e5fb784f3475ae7772ff057,
0x2dcb5cf8896de39f228e157c0c5593f4626fb9bc225206383db20360abf0c925,
],
[
0x1340abb9f4e113186bdc26cbdf4bcca50b531a107f863ca544575e3cf870f8e1,
0x2368e692b72787cb8870ea888e714e006f59d2b4460cfb74c48a8cc73b1d1a5b,
0x1fab9add9baa4a4f56f23165775c6f2d922a7632a94f96374b7dc852756f54b6,
0xc7f7b82300d3c6ce3f8957ba1e4add54c4c015e20d9765d220571c16ab8680f,
0x15d63e86beacd93c6083688e5d9c8f3c6947929f9f1f99ab578a4c3a922eff03,
0xbe843ae5f9b07e52572178af7dae8ed05d36b12c0607862929355ea74023d9e,
],
[
0x1332749c523694cb6935e0963a07e81b05967ce1d950c0b731058ec92a7a0c9a,
0x25439408810e074c0bdd4598b9815fee892bb95ca51029ecf009bffa5b9b9682,
0x57e8d19dd999a918da29b0940b383ba9fd15db0b0f64996dff67feb55f9a742,
0x1e014e37e9b117cf3b4870d999f2b55d3534d0a6be98e9e357fa43f01e70a29d,
0x1a4ed24e6e03aebcd6bdb100533dc966597afe15c851b4b863f6e889084c6479,
0x253420007083f1aa863ad4760905c1039ed4111c9f053f27710452f83ce36a90,
],
[
0x2276a1441971709affe6d2a99320001ec45ec72155c575ddeecac0e32759ab06,
0x28957dd1218ea799fd3411eb19325853adf7ae8ae1281f753302fe7d31dfa7b0,
0x2fd925726ab794c88bd75796aa3e7f1e6692f2914cf802267ddf01e37902a008,
0x1cf8a5c9c76a84b147c8238d9253cd55b47c0c43d82966c4636a28674705fd9a,
0x373cbbc306e1bab9e7077368715e6230b4b2e2e4a1db9c674b8c359a41e9108,
0x60283d2fe7f23dff513d9110b3dc62448bc48f531ce0c1eab5920bf23290a40,
],
[
0xdab465d6d910740f33ef6cc0eadc71bf8119bdfd5a3527dc8bbfadfaa40263c,
0xcba7bcbc8224b2a8e4aba17977230a686cd6421dc0ca5346f3446b62439c4c3,
0x1e4365db0790c9c4f445b0653c466ff21db96c38b4076ba8bd68bcb4dea6911d,
0x1bb2dba2199a9ab3bc86ef5f9de7f6c5ca13d60eab42ced68de98fc643800a8d,
0xad3c1870c6d6ef40eebad52123cd1a2913d9d62e80bfbacae812e082021f9ca,
0x1b098c91e7b0cbb5c34588077c0ddf95300ddf614935630c0ce3a2627245308,
],
[
0x19fd5c0eac14fae7598bd4ceea3b1e2998b0c168493b6d72ae41b576e55b9c3f,
0xd4749d79cc163f17110a404a46fe427c6434f3fe67b7e7b4ccfa6ab95bd7e18,
0x1ebbfe8114a41bb809e0b33399241232eb940ad8728c8a516d40ada440dbfdcf,
0x2704e5b6133d9764d6d3f17d49d833223e3937f80eb9faeabbfba9baf4b4c1b8,
0x2165e1c8027305b1ae0e323571635e5d540d13d710c3f9a390b6913f14d035e3,
0x2e3497e4d35fda596c06afa63bc3a0f2e55d4eeba4aceb60e65081ad63aa8b8a,
],
[
0x31da4345eecd6db6c0f7b07c7815d7add1fe0546d738f4d79ab5c57aa841edf,
0x89ece54e47aa5c908e43e5f08737c1436967089006acab1c9cd19eac4a20876,
0x2f53c15e2aded33c47f55a070483e6cc7f3821fbf8aa40677d0552ed9d10d847,
0x142aa34f4b2e8ad0df7a21b3e39c00c8b0aa2857094801eaafd72befed077f93,
0x17aea4da4c7bcf0d7588b014eb8b40979dd2725eda4e6ace331982467c7ff2bf,
0xe970c19d19748d8c465104d8f02200363f9a41786f02f1827742b20dc0d1727,
],
[
0x4bcad9e553795642f59baf714a6bdb432fc45a0a0b77f1aba3a9823476df9b9,
0x242c0bfbcdaa76f715dbd4ba825c71fcfed671c1b1901fa484c87f810315d0ce,
0x25db1343c24104071023fb6ed34d9909078311e1efe85af0a11b19114fa9e790,
0x2ffe4d9c420a59e9cdc7c31ab2bf35187ca147cb898a3942deb3677786036a80,
0x125bb03af3e2cf18bbe6f5b590eb3bf8d0d1ba63be696483e98f283bc7cd07a3,
0x816be42745b7dbb4ceffe5b8e24ea60fd8b719deba50037ac7b75948745c6bc,
],
[
0x111160f9acf6ec360d1b6a712313a0dbcbe23e64420055471d2ee4c5dedb35d4,
0x1377978e1b1f6a8925fa8e7b7941bdf8fb59ab9542342419283d8203435c9391,
0xdefc1d8882166ef3ccde53a4f236fba83d384621937cee57e421a513d0d3397,
0x2f8fa5c78c706e3a5d4a03f2a7a3953046d7e94cb88a7ef350e67b5ba0f0debf,
0x1a2a957ec0a723da61c2134bab0bf17beb00e6dcd84690c230dcb9e58da94827,
0x1cdf8710995f5e03412b4a7f699532f9fd01f0ea167a8dfc1ddf37e2805addef,
],
[
0x26fd31471828c36ae36c27b748054b0c0c4fe5239b301699e3765eebecc18946,
0x775d996cc2c4456f303a2c1f9007647e11a921d9fea3f7b926143b99d2fa0be,
0x16fb9337708ca638cdfda91bd0daea6b97224ef7b2062672addd1bd18bb8900,
0x2c392fbe7d3fde42fca4f9478bb439331258255356f184af6f76f119054117d7,
0x187a2a3bf79a69fa3e5089ef9f1fd56fdb47c55eece77aa228aa3de1b486bcb1,
0x271a863a280a32641ffa33510b2edd278c98630359532f3e506b275fd5d20ce,
],
[
0x1557459c9c74c94aa00e5af69a1e3112fb69537ce897ec0c718958d96516f2ab,
0x2a8e26ca8d647d9a6388516ea9dcff89083d539e58168c2a50c6dae30f109f21,
0x21cb752194cf43f3b51942eb0040eba9de2bcfb1c2a3fae97924b710f26832cd,
0x2c26daf996be247acd6dd4acad60d38b5a471e6322188d02c137e7cb484377ec,
0x240176ee0e7982eebe92a68d3e3a38c26821acc0f5d058cf8c137bca2d26f1b,
0x2636e0973c865c1bd974dd78daaa8d0a84cdaf6be1ad47ecf2a0d18f117318f2,
],
[
0x19e84f4f25a799496041661dc5d975b681f6e06744cee89b7be5d9fde1744ac0,
0xebf89064a3af247ca1f36f6f3570188e271e0b326c4fb26664e89e1454ca110,
0x25c7e97b475be00e8b559a38c452364f4c9c531fecb8ac698f7fd73ce22e71ec,
0x444c99e592353e5aecaa302add901c14d8c55270a160afed4429ef5598ad74f,
0x138db8887830565f2693d0e0f02e4e79e144967f0ba53b03519aba764b5c994a,
0x24d40f462114fe9ee02aafcf74b4fca24e1ae365dc75c3b52bb13cbbb2f21edd,
],
[
0x21e65d6d8ee43760bca40e730b5df4c4cf3a8a732db148f4b2951b4c61d68e8c,
0x248dd79669ec09dbf0350a15d6c75c6a9bdaacefca14d51300978f13d1ab6d1c,
0x2b8238c1548f9cbe29fd35cf91e7b48f0ebda7e639edf69fe8d5aba7924d5362,
0x2439fd239257f38181c7be3cf513f1bf7235eba94f6b8942a94cbddecf6f62f7,
0x200958235281a61ba2c4be0aa3282a18c74b6d262f5de7c2e33d2bb3e893dfec,
0xe1eca5df88ee5f60cfa7e1fe5befbb719fad8211fa9b2d02fcc233190c17f12,
],
[
0x26b53427f9b3ea2c769d9c660fc60881a169c12732d001b7158ee4b1b842ca24,
0x20f3b3f4acafe9f8af3e06661b3a8f778fa2812522b9d70a67402cff8db2b1b4,
0x211e5d2b39d62520a7a627ece8cacbac9f97506def4ec286928ba6c27d463b17,
0xbb743ee34802129c556731aed9d302dcd085313ce572f6242d13832e536b4b4,
0x23cb2661b488ee71e4c753ff23ae4bd25d8a44094f66b6532977e22140eba5cb,
0x3a35aa3123911cdb4535baed3359f5f6a5205b9c93ef31d35323a47807b8bc9,
],
[
0x27803848a0aed96a93fa943b6635e450217e137f4ade74a62d7917322714b697,
0xcb37839c2c9a7ff79884cbec75f41e9be5e47c76d61538231bd8162996d6f67,
0x1f0026d0bf1f8e1dd5423cc2fec1fb5cdaa1ecdc4c3cb218dbceef77c00d2f93,
0x2a7d7bb970b8a6ed2ee66fabbba956b6da3b100f5b5fb928eef42f9708273c9,
0xcfd7f4215e434c8da17ec3258b0bc605ad1ab2e90aa494351e4ee40bbc491fa,
0x180b11b720622a156849dc6f7f6e7f571659be69682230c5ed9ac339700a7cde,
],
[
0x4e96a965bce3d3a0a24a4a457c951582c871349ce7eee1aabfe578a94c65011,
0x15931f782b45f7fb656f2cdbd1f7705c353a23fe1d30a5a46a1522ed160df3ad,
0x2e296e57c97a5309acd26febf55ac963a5444c1c5f703ad88a0d7b97b9dd38b1,
0x26157bceb78e846bbb262f9a1e06d4271bde5a5bce8f0419952f97ffd13eaca8,
0x2194eb89847d6b0f1897f675f19c0c56b61b13248eff3ca36e34fb9d1c79ee43,
0x2350bf35477656899151ad7dde96ea7857e15501447008dab6b3d27c8ffa274f,
],
[
0x1a486f0ae591cacdaf09c58a49c4d1795405435340819e003f0469d110b7752b,
0x1b56dcf76fb23cc4a834d455a4065e133571402b7df309d59bc3105d42a8c301,
0x1a749d7964af0b7202913ef204c653f2b4bfb65ceab7b685233ab59ce3bb6925,
0x18ae590073f969696af762ffa4e8f0ebbf97f8cc787e37cddd1f321be3beadbb,
0x21c47b275d82dde6460d5e769a99421144b1c5a9da59294ade9cbb317103f249,
0x473ddbd52e737e527364e8eb63207975c38d5fd6cc32b272102b082cd1518fb,
],
[
0xb12fac95b6d3a881d892657c8424e645ac4e6b00515f902d594574302b26e02,
0x8ae7616a260cf6657f8f73ac284588d2c5f07ff425d837aa7cdcef63e3e2103,
0x39daf6876280b80e873bf2a32fd2834a83c69757badd58a888ef819e926ce28,
0x25e7b1d7470a3c75f13f0b56546c8e09f2d8efeff06ef766f9c783ca869d130d,
0x1e8fd3634c3ff764184d03435f98584b11b5b15aeb9c75262da3f1ea2c2a9e7a,
0x241dcc51ac37808a415dd1e3c281f05aff11789dc0cafdd77a35484e0993f9a4,
],
[
0x1ffc3153c56ef9755932cea2be0573749bdafe1c4fa0781a4b8b4078ce9d7547,
0x17630d62d9a3e510c88a4d43c360f92bc0fa00b66031adec29bd9543fd3a17ee,
0x2980400edd1d74e3d69db5458d2ccd5fabdb236ec16a82a4301a0ab59ea4a6e9,
0x3034fb24366123ec6dcafcad35726dbfb16194c036dcd648fa69439bfcd00cd4,
0x1aa7e8f4189ca9dff3db2ab7648be0a2392995ce46041e04680dca8ad7232df0,
0x1fa195f834a69e62372f60eb497da167646eae14153d803b39dc5d11f5d7800b,
],
[
0xf23f1c74d5fbf6195ad5a6aee5e56993c5477e8453f5b93a0d7bafd333036d3,
0x16556fac9348a735ab50aa089c97151b3caaf0a20a34fb9d9370505a1515729,
0x23d92b793648110fc5aeef0633f0c77cacb0dbbca1879b8a6f6e5df445e5f70b,
0x2e4c10ec5e65e2f239bbc43c13031df2686ab40fd79a304b05d611b823f23b73,
0x12418bbfd77b63ad5e16864ad9c32ffbfc5a3dd9b78ec2b79329fe5e0a8d2953,
0x1e4a8aace15abc1d5b76a9e848431d2c06a78f72b6bebb1293e6c58e5185696d,
],
[
0xf3e96107decdbd6872c20ea09acf92cdf17a3ee1d1331488092d96176deb755,
0x12c3780207f395cc21deb0abd951681eea32498ddba6ce897a8f9f0c2357067,
0x13eab1b4e672ba1b1c1bb901769301f1e5659d03ea10c61de2477ff0ac221421,
0x20dc664abb20b7456c06629ce37a1ecb1a27a4e8b24e31b48b9c4635aa30323e,
0x2c6b1e2cfea78e2c36785e76a8cfb1b057e9471f24f5b391175c3decb01e000f,
0x188c926255f5b7af3da96355729c2a8670ab4c2c70400481b2ac903740e0c5ab,
],
[
0x2f9913208e09e3d6e9e6fba6384fd076ab89f2662976e3e30e0870bb30eb54f2,
0x2b33803d90889706e714f720b5628d26fb60b545a1f3e9ce49a6ae912b024086,
0x26ccabc10eb04327cb5cc3dde2abb36f097086c97e738c133c9f57077e748b09,
0x1b16ae0d7c54408cb75fd931f246751f2b0c3dc20d79e82a2531b76c22b4d5df,
0x11d0bb461bd8af2844f49f0f840c94ef9518b2511344742d1f5438fe3d415ae4,
0x233031847b476bead0118d3db338e89133ec420d673e504ad647259df655571e,
],
[
0x1f84e97895bee438eb3c92dc9b1846c9ad29c164387b06aeb6ed1841ed8c4dca,
0x277f7f9b542f0c2bb5f45bed054f09624536010c3cf9452d2273193327f801d6,
0x1efc9c9069e5068baac13d2e6645641b7d27e80fc23077161535c44682ee57a9,
0xd6ec477761e2efbac4f14b3bf3d5257a99e64c3f25fe104faf988b20fe5ff44,
0xe0e7d7c5501999b7d16173b59b7cae1f203bef21aebf00251881439ccf93013,
0x217bef2f4f12c6dcc91c2058a23391cb77de53ca6e44dcdc6ea3d36fea326ea6,
],
[
0x5780c88adf01531b50f817e3fe44447d29b35aa8a389c71e8cf1226acef68ba,
0x18733887a6b2b3b4c90d8e4990196e23445e47d7ea5939ebfb89a3ee3d67b4bd,
0x20bace63acfcae0b1c9f2bee24b8e9da85ba597d37b0905720c4f15db231b07a,
0x166ea595375a6786ac527ee9eced73ed6bf550876abcaf3ac92b42c808b00d8f,
0x304262a9eff4040acf43e322d6f52676ae2f853ec2e7a80db00c488cf917c74e,
0x226bac7050166e5f6db78cd0b12d36f305b6e8c9a055114ad7709e6f57245b6b,
],
[
0x26b2f539c573829f6aca91baa954505bc5c3eb4e1df1d638582717fbdf2388cc,
0x6a0fbf4cd52e93ba5e4c6c4af65db02ee96297f8ad200f2f1cff252e769b551,
0x2cb9c24112d35341aceac88360fb528924e58b6ecac321b9fb29e6aa3368ff23,
0x20e88a4d607526dd07fe08a3552a44669129eb87fcc0b13aac8fe8afd9301521,
0x1544649a2bd73e3ba72f396df91dd65401dd8faf51de325fbaedb9d536ad94fc,
0x1980077457995712c44da7e17713258e3f8eb354bfd80ed9eaf3ecbaf6960105,
],
[
0x25d1d22ff13e7705d3c085f97fc4e4f6914b82ffaa5d2091ec64dac423765ef7,
0x2fec990ef556efe1035a464ff5581e74067445cd54abcaf6b8c0399fe0d24cfc,
0x1bd9563506d9544ef3e4830e13545012c579379c2dcc1330416c4ae49bc4ec61,
0xaffcd17ba6003c56dfa85571fc29737b225a80d480e7dd7edec01f14f23010,
0x23670dbaef966881f07f919a2d883128c7b23cf767a477b2b2e0762bc0dbc18b,
0x1f93a532917394c7e22fd17abeea6389c66fd7ae2dd9f02f860f6d96947f0edd,
],
[
0x2de42e9f537b7d61b0213771c0e74f555512be07b6a50934734e2c5beb40be37,
0x25c557f45b99781cd37d3bb22931662a67f78b37782c885b456bb96d55e88404,
0x2074c8b709705c9888538a7f8a3c4aff647731bd16f8e254fa74ea9f2be7662c,
0x2738355956298138949e442171d6a4e4b74ef2065740db7cfc3a0b60fd573acb,
0x13d36ad0a4ebeb81969778649659c65cb7d0c41cc519871fdb71a9ea6a0caa56,
0x8a2c18ba41381348c1acfbf9617716806b462a1691bc2e343b79b8085e376b0,
],
[
0x59092fc395aed285807bbf557ad9a1041f59c079822b1088457882fee7b612c,
0x161924151b5a5ad2d8cac119522a991a906f15e8531dc70567f6b28371cc24e3,
0x1c68ca8f7aa17659075405ef6341b8e69a298b9a4d72f3bb854b309e4ba87a1b,
0x27f5d03bca1c8207f7239a4b2cf73ae559a15aa37e7bdddf3aab05eec5ce5592,
0xecbff4846962a975d347ea9a8fc465fb46861557622f2c2564a7e639833c169,
0x277c4de2363d8b5b456cfc5a7ff8e46ff2ec8daa59855f5ad64bc0521f3ac567,
],
[
0x1b11862c52acd351b7a464793f4fbb57fec99f832b63226f95d175c8d2fc08b2,
0x6a719c584c74ffbdd7218eb565cb4c8bd86c92e3dfb3c73e1527201aa51234e,
0x230e4adeecb799877f7ce9a58c836b99d533584a195c1d77a313abe1c7d126bd,
0x10b109b864809c4767a133cce6cbad6c88628173b8ea51e8cca85830ca7de522,
0xe21117970dcfbd4b1526b253636f377538d3b4faaeb5a8b24bf6200d14cc591,
0x2667349978401362f6b17939eeb0e64ff55607ebdb35c7071db46bb3e7ba4778,
],
[
0x5000fa5fda505e029a13bfe304c267b0d86c72c039babf6d3ff02ee246be02e,
0x264d9e094aed5f41a60242220a34a284089087b2436a9bfce8174cc9be8c2e20,
0x8076f9c4743de6130ff622cf401edd2c92f24bfe114f3c5e724891746315c47,
0x132370abddbb0b1dd57f2a520c25336bd7cede94b95bbf5c2151d6d88e641b64,
0x8ff1116b7a227bfdfd4465a67890882b615c8c4c17f28d8d24958edf602ddcb,
0x2bcb0b0db8b9e3e02b7e9c1c9460fdd9c6cd98562332e648d8a3e0ab94597520,
],
[
0x12ea68ce6881becad7f8a6b117b03ab976f7abd597f903b0bf230d20d21a943a,
0x27439c98a76688067a097b19b6fdd7d78d5f88e274e0d8fea5ea6b7406fdda7f,
0x2f40d0ad05f5652e31ef9440ad71ebc8419e393493937f05f00499d02a99e36,
0x2fbf04284327ee4f680f06bd390e309d0d13acc74b9c5b14b63059b8cc7abff5,
0x1be686d53e2a8ad57a828b0651425cfc6978c7027edbf247f6b6723c21df86e7,
0x2683b425e85a508f96852f14b4220fcfe9f7ad8b17bfefc0e348c47ca78bb57f,
],
[
0x16dace9b2e8012e31db1c7ebe672d86bbe61a1aa3e1693e0eddfc0de0a9dd951,
0x27a321f8c7d3c9022e962f7fef2e3c848b4539dbb75aa139f30430fe545bcedb,
0x6ccd7210dee1d6b0e22b79e12d19082d8078b788d71007b95e7a774ed86a651,
0xa41dd42221653752bef350f6d74a917b6cbb1fd76a3a12166f4d0be978e4026,
0x220a02881e4d47ac94d950cdf8386274d1782e27cbd0d845978deec91298f165,
0xe2155a545fe5f3cbb6397606589eac19cd92639339c6b017298a4ad3408b4b9,
],
[
0xf0f19c6291e51546a267c60cc774e5fb9d088bac530782d891ec1af4b847073,
0xe925bcd1c6ddb4a3a1c67ec8deefbd40c53c0d33e7aeef1b46795aed5943c9d,
0x2ad000b1748abb812cd6e5411286b9ff3ef0a5bd3d259a36e45ef05b9eb5beeb,
0xa65aa232d32ed6e8de63d1cdffebc2f3fa616465c27aaf97e8cd3dcff648652,
0x263d8470ab4b1c61d74d8e896242f4f261dcb167a3a06923893d7cb2c93d6a1,
0x2901d946addc94b040fd58004d9a5f8cd1926540c7a8612cec1c58cb60c2b3a5,
],
[
0x1889cfa8209f4952df9022db9dc583b5717a0696da41cee64937d0cd6321e693,
0x236064d71cb6c64c84747ac25fcf8d881502e5f03bff87561b85a116b1f39aca,
0x2ff7a174ffcec29862e04f5dbdc73ebf3661570033576290c0c1f6cd8ced27ae,
0x19e724a1d742cab103455f0040edf745a2696a71084c93e322715450dd4d6f5b,
0x3eed3892b6f0e6c5da1059c5f3793985835aa283500a8129904a94c87f161bf,
0x8e2b8273bfa30c1ac850306d91e468a9e8d05092aee4cbc80c687248463ba30,
],
[
0x7adcca76d8337728839a1b6ac3b3ed42afb87d72af98f52f416f2ec58b28cec,
0x171ef37896bae2b1020a0a5839bd51784ce11bb4237d548c171169d32fa19b40,
0x20ffdfcb86f4d005064edbc296918c332d32fbeff1729de5056a26abbc3a35fa,
0x8ecd7a6f1735eed86baa094e608f488f38dbb398fcfed4b994383a0ca8e4647,
0x1c3f5d86e5921fde9890189f1d8c618754288600e6928bc182ac4d5e4c9f0ccb,
0x29c61184ed9d460f337558a1af639aa7e3c0975e4014ed8ebcad4a25d51eabf3,
],
[
0xdefd45b28958728228adbb2dbdaef6a5e9b1a64902a734f402b8cefb8ab3b56,
0xa74ea22d8a09336060610179ac1d82fffa9492df76deed4ea60e0133b0811a8,
0x3a37bf12daf1400d297ac4ac13ba24c17dc262db16c8523deee4e0ccde9a680,
0x11fe1790d5abbf5935ff22318e4f7ffe69966ada2f9136b54f830eacb0a65368,
0x18165842f406375f2346686915afb14bf1fe0564c8858ee3bde0aba3de5f68f,
0x261db25e7cff5a9fb72f276b1f9260b667300fb7d361b50fd5c0e8b6995b05f9,
],
[
0x2a3ac3314b2b66e796fbe36df778c5e46972320cc43ec807048826b6704ba7c4,
0x23caa4b80ecfa99e9d3fea2bbc1dbbf369d1bfc8937d03d074061c30fd8cd76b,
0x27db260085e224898df145f23f635f2066d8e4e124e581e8c6261929b1dfe107,
0x274f6c5fd34a784d6b915ef05d424ee6c0babbf369e79ab138b8167b5618ec7f,
0x2c3a29e13a84d26a0911c9289daf1aa4cf5840aada0701d57e23dfc796da6da1,
0x1ea210f2001a334d3e801f4e53270d42da7aaf317a553b4282aa78eaa2282e6d,
],
[
0x254dbeb52884b699c1ba7fa0d6e80d610903b18a3e509c36351ccc3b024946e3,
0x59e781d65896ebe0e4ba26dc2f29907f47bcdeda4a2ca2c713d8505ea31fd5d,
0xb5b1cec63d42d5e615dc269b885a24cef303ec78c972dd17cdbb3e915cc4ffb,
0x2a7c015e9c3b2c57ca8b7d26d39a1bcc85d6ffacb7d9fbd66d2a8f1d64ed0c92,
0x29b736b911d71a79cf63d8a6f786f11bd5abee24161dc567a7c851eae1e43b51,
0x285745a90a7fe3d09af5a808704bc69c6f1701e573912df5cc1e265d596c4141,
],
[
0x2d901b8195c3c96c8c36eb99fec0134ec2b8304ae810bd30da554e3080826715,
0x1905d3518355eaba7859b591ed7b8c9c253980f0450dbdf54d7a7782ba058392,
0x23e813026fc0b80064d19b5c5428942fdf7efea80bfa8ec4095272bfdb7b4c9f,
0x23c0a19a252c87e6b1c1c21b1a79800200c3fbff3e3300e7e5568071de9efb81,
0x11c4ae607bae492413bf62cdaa2c2868ed1fec6dc0631b067ca60fab125b9e2a,
0x2cd055ebb7ee4686365dea450f046ff62405fae1b1afc9fb01707cf81da0e3b9,
],
[
0x53c9fef2e021fa9a20fada22fdea1505b58a3159bbb47337dbf791b215b1452,
0xa35bd74e87cbabaabe89ad1319d2c9e863b4c631c21938c9a5395bf97872a9f,
0x1c115056539ce20cd5a04d1a5c43e2b00fbe83b25901be36f5ddc4666fc383fe,
0x242954047e5772fd3bded590ec8beb4c542f2e264c8c3e284cdc473505c51a90,
0xe2abd315b47c0dc93849c0cdf267e811cbdbdb200a6e7c2b67edf7cb0174214,
0x282b37020c0890d751c3fd76950d8068668e1dfeae621dd552d2de887da2ea75,
],
[
0x28933852266b52d9ea6b5bb923d9d94f2e5a5be5c778e75e07942c234b643bd9,
0x99ab6765505ba1198ef140e77b7954d4fbe79a056ce72bace39c048c00da3cf,
0x2af211d8e0ac2d8fda7f849b8f229a225c6186b55762c7a7b2ae2d1dd85c57cb,
0xcd070f234014a2809ab90c71c1da61e98a96322fedd99b6aaae1ca104f3facf,
0x26793e2abc8d3c30c60626fbaa158f263587d6bd15833d448b116264b930256a,
0x225be36ed0ee85e1f845ada84e5748a56699152113ff61b5056b6d8bde60c19d,
],
[
0x2174f49edb02d5154d2beca2dc92b9cc595383da1fde8f09e4b5ee3ea5a065e,
0xf64891c2c8b020e46c3594cb758f0bddcdbd09bd0308816fb41734a869872c3,
0x192a84ca2f99d36991e2d2b1deff3989d1c156c239e10e9f56140e1854576067,
0x29dfcd7b63f05abf2753a8c341d6b7a60c6243b04c9a1b8b3320bba04a4d4787,
0x1ee27ad6b9b5a867733afc61a2b3e76a52ba3e4bd5e657ade91fc038819dba5b,
0xab4773f150c3f8ad3bc9538f43cec395a7e3731ae973fefeb623a09217e64c7,
],
[
0x13c352a02f595186202cb0b99fa58c5542ab67f9b6d3a0afd103deeff6d80f41,
0x2a97cf2c10c4bfbfd299f67c52a169f92c05b7dac56a41c4dd4fe87c8246ce14,
0xbecbb47042bd7f8c9f6bb422162d1aed089a28482f7fd16ab06a13285fe702,
0x8e44da21d738691b881757ef37ed29c5bd9f7a4450fcf53290a92cc2ca2176,
0x2b205a8b6d4b7063d931f3bb5d3464053843fe7fbe4b83c17883f86527882a18,
0x2d9e32a7c90556fe108d255ac01e75df338fcd63b2bf84c19280d427298863fc,
],
[
0x29a322a84c25bd2ddf6e2e4200228d95abd6349a02266ac1dbba520738ceca97,
0x678c9bfc6f2df012f4fe55e33bb68ac14ced1df0d02152792089d046d828c43,
0xfaff3a5e7425794fe20a7e0eb615b8b1760394b7f2304286a3ae4009124db23,
0x1f8f5b611af9feb9cea86c084058120553e404103aee213f5a41d1d02541c0d3,
0x160875d8479602f96f40acc2d042ee52c1588b6a29de4284965a6dc6c930ea07,
0x16d87a5183a316a1d70afc951efe2cd667c77328fcfda458cbf5fe3045f46d9e,
],
]
struct Fr { value: u256 }
impl Copy for Fr {}
impl Fr {
const fn new(_ value: u256) -> Fr {
Fr { value: value }
}
const fn pow5(self) -> Fr {
let x2 = self * self
let x4 = x2 * x2
x4 * self
}
}
impl Add for Fr {
const fn add(own self, _ other: own Fr) -> Fr {
Fr::new(addmod(self.value, other.value, SNARK_SCALAR_FIELD))
}
}
impl Add<u256> for Fr {
const fn add(own self, _ other: own u256) -> Fr {
self + Fr::new(other)
}
}
impl Mul for Fr {
const fn mul(own self, _ other: own Fr) -> Fr {
Fr::new(mulmod(self.value, other.value, SNARK_SCALAR_FIELD))
}
}
impl Mul<u256> for Fr {
const fn mul(own self, _ other: own u256) -> Fr {
self * Fr::new(other)
}
}
const fn is_full_round(round: usize, half_full_rounds: usize, partial_rounds: usize) -> bool {