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
use crate::poseidon::ArithmeticSpongeParams;
use mina_curves::pasta::Fp;
use once_cell::sync::Lazy;

/* Generated by ./params.sage --rounds 55 rust 3 kimchi */

use std::str::FromStr;

pub fn params() -> ArithmeticSpongeParams<Fp> {
    ArithmeticSpongeParams {
        mds: vec![
            vec![
                Fp::from_str(
                    "12035446894107573964500871153637039653510326950134440362813193268448863222019",
                )
                .unwrap(),
                Fp::from_str(
                    "25461374787957152039031444204194007219326765802730624564074257060397341542093",
                )
                .unwrap(),
                Fp::from_str(
                    "27667907157110496066452777015908813333407980290333709698851344970789663080149",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "4491931056866994439025447213644536587424785196363427220456343191847333476930",
                )
                .unwrap(),
                Fp::from_str(
                    "14743631939509747387607291926699970421064627808101543132147270746750887019919",
                )
                .unwrap(),
                Fp::from_str(
                    "9448400033389617131295304336481030167723486090288313334230651810071857784477",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "10525578725509990281643336361904863911009900817790387635342941550657754064843",
                )
                .unwrap(),
                Fp::from_str(
                    "27437632000253211280915908546961303399777448677029255413769125486614773776695",
                )
                .unwrap(),
                Fp::from_str(
                    "27566319851776897085443681456689352477426926500749993803132851225169606086988",
                )
                .unwrap(),
            ],
        ],

        round_constants: vec![
            vec![
                Fp::from_str(
                    "21155079691556475130150866428468322463125560312786319980770950159250751855431",
                )
                .unwrap(),
                Fp::from_str(
                    "16883442198399350202652499677723930673110172289234921799701652810789093522349",
                )
                .unwrap(),
                Fp::from_str(
                    "17030687036425314703519085065002231920937594822150793091243263847382891822670",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "25216718237129482752721276445368692059997901880654047883630276346421457427360",
                )
                .unwrap(),
                Fp::from_str(
                    "9054264347380455706540423067244764093107767235485930776517975315876127782582",
                )
                .unwrap(),
                Fp::from_str(
                    "26439087121446593160953570192891907825526260324480347638727375735543609856888",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "15251000790817261169639394496851831733819930596125214313084182526610855787494",
                )
                .unwrap(),
                Fp::from_str(
                    "10861916012597714684433535077722887124099023163589869801449218212493070551767",
                )
                .unwrap(),
                Fp::from_str(
                    "18597653523270601187312528478986388028263730767495975370566527202946430104139",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "15831416454198644276563319006805490049460322229057756462580029181847589006611",
                )
                .unwrap(),
                Fp::from_str(
                    "15171856919255965617705854914448645702014039524159471542852132430360867202292",
                )
                .unwrap(),
                Fp::from_str(
                    "15488495958879593647482715143904752785889816789652405888927117106448507625751",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "19039802679983063488134304670998725949842655199289961967801223969839823940152",
                )
                .unwrap(),
                Fp::from_str(
                    "4720101937153217036737330058775388037616286510783561045464678919473230044408",
                )
                .unwrap(),
                Fp::from_str(
                    "10226318327254973427513859412126640040910264416718766418164893837597674300190",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "20878756131129218406920515859235137275859844638301967889441262030146031838819",
                )
                .unwrap(),
                Fp::from_str(
                    "7178475685651744631172532830973371642652029385893667810726019303466125436953",
                )
                .unwrap(),
                Fp::from_str(
                    "1996970955918516145107673266490486752153434673064635795711751450164177339618",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "15205545916434157464929420145756897321482314798910153575340430817222504672630",
                )
                .unwrap(),
                Fp::from_str(
                    "25660296961552699573824264215804279051322332899472350724416657386062327210698",
                )
                .unwrap(),
                Fp::from_str(
                    "13842611741937412200312851417353455040950878279339067816479233688850376089318",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "1383799642177300432144836486981606294838630135265094078921115713566691160459",
                )
                .unwrap(),
                Fp::from_str(
                    "1135532281155277588005319334542025976079676424839948500020664227027300010929",
                )
                .unwrap(),
                Fp::from_str(
                    "4384117336930380014868572224801371377488688194169758696438185377724744869360",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "21725577575710270071808882335900370909424604447083353471892004026180492193649",
                )
                .unwrap(),
                Fp::from_str(
                    "676128913284806802699862508051022306366147359505124346651466289788974059668",
                )
                .unwrap(),
                Fp::from_str(
                    "25186611339598418732666781049829183886812651492845008333418424746493100589207",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "10402240124664763733060094237696964473609580414190944671778761753887884341073",
                )
                .unwrap(),
                Fp::from_str(
                    "11918307118590866200687906627767559273324023585642003803337447146531313172441",
                )
                .unwrap(),
                Fp::from_str(
                    "16895677254395661024186292503536662354181715337630376909778003268311296637301",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "23818602699032741669874498456696325705498383130221297580399035778119213224810",
                )
                .unwrap(),
                Fp::from_str(
                    "4285193711150023248690088154344086684336247475445482883105661485741762600154",
                )
                .unwrap(),
                Fp::from_str(
                    "19133204443389422404056150665863951250222934590192266371578950735825153238612",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "5515589673266504033533906836494002702866463791762187140099560583198974233395",
                )
                .unwrap(),
                Fp::from_str(
                    "11830435563729472715615302060564876527985621376031612798386367965451821182352",
                )
                .unwrap(),
                Fp::from_str(
                    "7510711479224915247011074129666445216001563200717943545636462819681638560128",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "24694843201907722940091503626731830056550128225297370217610328578733387733444",
                )
                .unwrap(),
                Fp::from_str(
                    "27361655066973784653563425664091383058914302579694897188019422193564924110528",
                )
                .unwrap(),
                Fp::from_str(
                    "21606788186194534241166833954371013788633495786419718955480491478044413102713",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "19934060063390905409309407607814787335159021816537006003398035237707924006757",
                )
                .unwrap(),
                Fp::from_str(
                    "8495813630060004961768092461554180468161254914257386012937942498774724649553",
                )
                .unwrap(),
                Fp::from_str(
                    "27524960680529762202005330464726908693944660961000958842417927307941561848461",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "15178481650950399259757805400615635703086255035073919114667254549690862896985",
                )
                .unwrap(),
                Fp::from_str(
                    "16164780354695672259791105197274509251141405713012804937107314962551600380870",
                )
                .unwrap(),
                Fp::from_str(
                    "10529167793600778056702353412758954281652843049850979705476598375597148191979",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "721141070179074082553302896292167103755384741083338957818644728290501449040",
                )
                .unwrap(),
                Fp::from_str(
                    "22044408985956234023934090378372374883099115753118261312473550998188148912041",
                )
                .unwrap(),
                Fp::from_str(
                    "27068254103241989852888872162525066148367014691482601147536314217249046186315",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "3880429241956357176819112098792744584376727450211873998699580893624868748961",
                )
                .unwrap(),
                Fp::from_str(
                    "17387097125522937623262508065966749501583017524609697127088211568136333655623",
                )
                .unwrap(),
                Fp::from_str(
                    "6256814421247770895467770393029354017922744712896100913895513234184920631289",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "2942627347777337187690939671601251987500285937340386328746818861972711408579",
                )
                .unwrap(),
                Fp::from_str(
                    "24031654937764287280548628128490074801809101323243546313826173430897408945397",
                )
                .unwrap(),
                Fp::from_str(
                    "14401457902976567713827506689641442844921449636054278900045849050301331732143",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "20170632877385406450742199836933900257692624353889848352407590794211839130727",
                )
                .unwrap(),
                Fp::from_str(
                    "24056496193857444725324410428861722338174099794084586764867109123681727290181",
                )
                .unwrap(),
                Fp::from_str(
                    "11257913009612703357266904349759250619633397075667824800196659858304604714965",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "22228158921984425749199071461510152694025757871561406897041788037116931009246",
                )
                .unwrap(),
                Fp::from_str(
                    "9152163378317846541430311327336774331416267016980485920222768197583559318682",
                )
                .unwrap(),
                Fp::from_str(
                    "13906695403538884432896105059360907560653506400343268230130536740148070289175",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "7220714562509721437034241786731185291972496952091254931195414855962344025067",
                )
                .unwrap(),
                Fp::from_str(
                    "27608867305903811397208862801981345878179337369367554478205559689592889691927",
                )
                .unwrap(),
                Fp::from_str(
                    "13288465747219756218882697408422850918209170830515545272152965967042670763153",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "8251343892709140154567051772980662609566359215743613773155065627504813327653",
                )
                .unwrap(),
                Fp::from_str(
                    "22035238365102171608166944627493632660244312563934708756134297161332908879090",
                )
                .unwrap(),
                Fp::from_str(
                    "13560937766273321037807329177749403409731524715067067740487246745322577571823",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "21652518608959234550262559135285358020552897349934571164032339186996805408040",
                )
                .unwrap(),
                Fp::from_str(
                    "22479086963324173427634460342145551255011746993910136574926173581069603086891",
                )
                .unwrap(),
                Fp::from_str(
                    "13676501958531751140966255121288182631772843001727158043704693838707387130095",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "5680310394102577950568930199056707827608275306479994663197187031893244826674",
                )
                .unwrap(),
                Fp::from_str(
                    "25125360450906166639190392763071557410047335755341060350879819485506243289998",
                )
                .unwrap(),
                Fp::from_str(
                    "22659254028501616785029594492374243581602744364859762239504348429834224676676",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "23101411405087512171421838856759448177512679869882987631073569441496722536782",
                )
                .unwrap(),
                Fp::from_str(
                    "24149774013240355952057123660656464942409328637280437515964899830988178868108",
                )
                .unwrap(),
                Fp::from_str(
                    "5782097512368226173095183217893826020351125522160843964147125728530147423065",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "13540762114500083869920564649399977644344247485313990448129838910231204868111",
                )
                .unwrap(),
                Fp::from_str(
                    "20421637734328811337527547703833013277831804985438407401987624070721139913982",
                )
                .unwrap(),
                Fp::from_str(
                    "7742664118615900772129122541139124149525273579639574972380600206383923500701",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "1109643801053963021778418773196543643970146666329661268825691230294798976318",
                )
                .unwrap(),
                Fp::from_str(
                    "16580663920817053843121063692728699890952505074386761779275436996241901223840",
                )
                .unwrap(),
                Fp::from_str(
                    "14638514680222429058240285918830106208025229459346033470787111294847121792366",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "17080385857812672649489217965285727739557573467014392822992021264701563205891",
                )
                .unwrap(),
                Fp::from_str(
                    "26176268111736737558502775993925696791974738793095023824029827577569530708665",
                )
                .unwrap(),
                Fp::from_str(
                    "4382756253392449071896813428140986330161215829425086284611219278674857536001",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "13934033814940585315406666445960471293638427404971553891617533231178815348902",
                )
                .unwrap(),
                Fp::from_str(
                    "27054912732979753314774418228399230433963143177662848084045249524271046173121",
                )
                .unwrap(),
                Fp::from_str(
                    "28916070403698593376490976676534962592542013020010643734621202484860041243391",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "24820015636966360150164458094894587765384135259446295278101998130934963922381",
                )
                .unwrap(),
                Fp::from_str(
                    "7969535238488580655870884015145760954416088335296905520306227531221721881868",
                )
                .unwrap(),
                Fp::from_str(
                    "7690547696740080985104189563436871930607055124031711216224219523236060212249",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "9712576468091272384496248353414290908377825697488757134833205246106605867289",
                )
                .unwrap(),
                Fp::from_str(
                    "12148698031438398980683630141370402088785182722473169207262735228500190477924",
                )
                .unwrap(),
                Fp::from_str(
                    "14359657643133476969781351728574842164124292705609900285041476162075031948227",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "23563839965372067275137992801035780013422228997724286060975035719045352435470",
                )
                .unwrap(),
                Fp::from_str(
                    "4184634822776323233231956802962638484057536837393405750680645555481330909086",
                )
                .unwrap(),
                Fp::from_str(
                    "16249511905185772125762038789038193114431085603985079639889795722501216492487",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "11001863048692031559800673473526311616702863826063550559568315794438941516621",
                )
                .unwrap(),
                Fp::from_str(
                    "4702354107983530219070178410740869035350641284373933887080161024348425080464",
                )
                .unwrap(),
                Fp::from_str(
                    "23751680507533064238793742311430343910720206725883441625894258483004979501613",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "28670526516158451470169873496541739545860177757793329093045522432279094518766",
                )
                .unwrap(),
                Fp::from_str(
                    "3568312993091537758218792253361873752799472566055209125947589819564395417072",
                )
                .unwrap(),
                Fp::from_str(
                    "1819755756343439646550062754332039103654718693246396323207323333948654200950",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "5372129954699791301953948907349887257752247843844511069896766784624930478273",
                )
                .unwrap(),
                Fp::from_str(
                    "17512156688034945920605615850550150476471921176481039715733979181538491476080",
                )
                .unwrap(),
                Fp::from_str(
                    "25777105342317622165159064911913148785971147228777677435200128966844208883059",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "25350392006158741749134238306326265756085455157012701586003300872637887157982",
                )
                .unwrap(),
                Fp::from_str(
                    "20096724945283767296886159120145376967480397366990493578897615204296873954844",
                )
                .unwrap(),
                Fp::from_str(
                    "8063283381910110762785892100479219642751540456251198202214433355775540036851",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "4393613870462297385565277757207010824900723217720226130342463666351557475823",
                )
                .unwrap(),
                Fp::from_str(
                    "9874972555132910032057499689351411450892722671352476280351715757363137891038",
                )
                .unwrap(),
                Fp::from_str(
                    "23590926474329902351439438151596866311245682682435235170001347511997242904868",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "17723373371137275859467518615551278584842947963894791032296774955869958211070",
                )
                .unwrap(),
                Fp::from_str(
                    "2350345015303336966039836492267992193191479606566494799781846958620636621159",
                )
                .unwrap(),
                Fp::from_str(
                    "27755207882790211140683010581856487965587066971982625511152297537534623405016",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "6584607987789185408123601849106260907671314994378225066806060862710814193906",
                )
                .unwrap(),
                Fp::from_str(
                    "609759108847171587253578490536519506369136135254150754300671591987320319770",
                )
                .unwrap(),
                Fp::from_str(
                    "28435187585965602110074342250910608316032945187476441868666714022529803033083",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "16016664911651770663938916450245705908287192964254704641717751103464322455303",
                )
                .unwrap(),
                Fp::from_str(
                    "17551273293154696089066968171579395800922204266630874071186322718903959339163",
                )
                .unwrap(),
                Fp::from_str(
                    "20414195497994754529479032467015716938594722029047207834858832838081413050198",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "19773307918850685463180290966774465805537520595602496529624568184993487593855",
                )
                .unwrap(),
                Fp::from_str(
                    "24598603838812162820757838364185126333280131847747737533989799467867231166980",
                )
                .unwrap(),
                Fp::from_str(
                    "11040972566103463398651864390163813377135738019556270484707889323659789290225",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "5189242080957784038860188184443287562488963023922086723850863987437818393811",
                )
                .unwrap(),
                Fp::from_str(
                    "1435203288979376557721239239445613396009633263160237764653161500252258220144",
                )
                .unwrap(),
                Fp::from_str(
                    "13066591163578079667911016543985168493088721636164837520689376346534152547210",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "17345901407013599418148210465150865782628422047458024807490502489711252831342",
                )
                .unwrap(),
                Fp::from_str(
                    "22139633362249671900128029132387275539363684188353969065288495002671733200348",
                )
                .unwrap(),
                Fp::from_str(
                    "1061056418502836172283188490483332922126033656372467737207927075184389487061",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "10241738906190857416046229928455551829189196941239601756375665129874835232299",
                )
                .unwrap(),
                Fp::from_str(
                    "27808033332417845112292408673209999320983657696373938259351951416571545364415",
                )
                .unwrap(),
                Fp::from_str(
                    "18820154989873674261497645724903918046694142479240549687085662625471577737140",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "7983688435214640842673294735439196010654951226956101271763849527529940619307",
                )
                .unwrap(),
                Fp::from_str(
                    "17067928657801807648925755556866676899145460770352731818062909643149568271566",
                )
                .unwrap(),
                Fp::from_str(
                    "24472070825156236829515738091791182856425635433388202153358580534810244942762",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "25752201169361795911258625731016717414310986450004737514595241038036936283227",
                )
                .unwrap(),
                Fp::from_str(
                    "26041505376284666160132119888949817249574689146924196064963008712979256107535",
                )
                .unwrap(),
                Fp::from_str(
                    "23977050489096115210391718599021827780049209314283111721864956071820102846008",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "26678257097278788410676026718736087312816016749016738933942134600725962413805",
                )
                .unwrap(),
                Fp::from_str(
                    "10480026985951498884090911619636977502506079971893083605102044931823547311729",
                )
                .unwrap(),
                Fp::from_str(
                    "21126631300593007055117122830961273871167754554670317425822083333557535463396",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "1564862894215434177641156287699106659379648851457681469848362532131406827573",
                )
                .unwrap(),
                Fp::from_str(
                    "13247162472821152334486419054854847522301612781818744556576865965657773174584",
                )
                .unwrap(),
                Fp::from_str(
                    "8673615954922496961704442777870253767001276027366984739283715623634850885984",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "2794525076937490807476666942602262298677291735723129868457629508555429470085",
                )
                .unwrap(),
                Fp::from_str(
                    "4656175953888995612264371467596648522808911819700660048695373348629527757049",
                )
                .unwrap(),
                Fp::from_str(
                    "23221574237857660318443567292601561932489621919104226163978909845174616477329",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "1878392460078272317716114458784636517603142716091316893054365153068227117145",
                )
                .unwrap(),
                Fp::from_str(
                    "2370412714505757731457251173604396662292063533194555369091306667486647634097",
                )
                .unwrap(),
                Fp::from_str(
                    "17409784861870189930766639925394191888667317762328427589153989811980152373276",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "25869136641898166514111941708608048269584233242773814014385564101168774293194",
                )
                .unwrap(),
                Fp::from_str(
                    "11361209360311194794795494027949518465383235799633128250259863567683341091323",
                )
                .unwrap(),
                Fp::from_str(
                    "14913258820718821235077379851098720071902170702113538811112331615559409988569",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "12957012022018304419868287033513141736995211906682903915897515954290678373899",
                )
                .unwrap(),
                Fp::from_str(
                    "17128889547450684566010972445328859295804027707361763477802050112063630550300",
                )
                .unwrap(),
                Fp::from_str(
                    "23329219085372232771288306767242735245018143857623151155581182779769305489903",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "1607741027962933685476527275858938699728586794398382348454736018784568853937",
                )
                .unwrap(),
                Fp::from_str(
                    "2611953825405141009309433982109911976923326848135736099261873796908057448476",
                )
                .unwrap(),
                Fp::from_str(
                    "7372230383134982628913227482618052530364724821976589156840317933676130378411",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "20203606758501212620842735123770014952499754751430660463060696990317556818571",
                )
                .unwrap(),
                Fp::from_str(
                    "4678361398979174017885631008335559529633853759463947250620930343087749944307",
                )
                .unwrap(),
                Fp::from_str(
                    "27176462634198471376002287271754121925750749676999036165457559387195124025594",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "6361981813552614697928697527332318530502852015189048838072565811230204474643",
                )
                .unwrap(),
                Fp::from_str(
                    "13815234633287489023151647353581705241145927054858922281829444557905946323248",
                )
                .unwrap(),
                Fp::from_str(
                    "10888828634279127981352133512429657747610298502219125571406085952954136470354",
                )
                .unwrap(),
            ],
        ],
    }
}

/// the fp sponge params
pub fn static_params() -> &'static ArithmeticSpongeParams<Fp> {
    static PARAMS: Lazy<ArithmeticSpongeParams<Fp>> = Lazy::new(params);
    &PARAMS
}