use mina_curves::pasta::Fq;
use mina_poseidon::poseidon::ArithmeticSpongeParams;
use once_cell::sync::Lazy;
use std::str::FromStr;
fn params() -> ArithmeticSpongeParams<Fq> {
ArithmeticSpongeParams {
mds: vec![
vec![
Fq::from_str(
"13841249378323021054377890016443265503914469864575312305567855128857444259487",
)
.unwrap(),
Fq::from_str(
"13474541630870351706035366868551274745344722775965283971488625444792482938921",
)
.unwrap(),
Fq::from_str(
"12151399309130104322934698634832550272633145452940229406831079937203453962655",
)
.unwrap(),
],
vec![
Fq::from_str(
"23740172672243477188057832304277375136172708212574345504502655344614455663606",
)
.unwrap(),
Fq::from_str(
"21546379895052337509105835711466137751271439534383664473903037983361236182649",
)
.unwrap(),
Fq::from_str(
"23066889761122039690865858791355498392807739602525834512710419267656039395072",
)
.unwrap(),
],
vec![
Fq::from_str(
"21257914241847355181936015256361686342208107590210872866396751638657186725269",
)
.unwrap(),
Fq::from_str(
"26067439960311266372107947555750482427352889677249991931425889311346331301244",
)
.unwrap(),
Fq::from_str(
"12928079059102104389399617486508810710959599542061627402082516871089532252204",
)
.unwrap(),
],
],
round_constants: vec![
vec![
Fq::from_str(
"26670984196527839467673167978149437755844366956321273026656650542011198272197",
)
.unwrap(),
Fq::from_str(
"26013004827491165884682917918428377897255879902000375849310858738009760470562",
)
.unwrap(),
Fq::from_str(
"5420685313310124987480400044757399826914052519997427998887189691416232403245",
)
.unwrap(),
],
vec![
Fq::from_str(
"7380609437725388759172027592963234162853451534319456286538277978633614936971",
)
.unwrap(),
Fq::from_str(
"9966232995568830110180758641581023485115951463148554382368561029317340036027",
)
.unwrap(),
Fq::from_str(
"28754092216755158675001416045004197886112586989030713157273469167863632395356",
)
.unwrap(),
],
vec![
Fq::from_str(
"28357886559269113664297190499547194903533546901013467270751349984975123919000",
)
.unwrap(),
Fq::from_str(
"19730820496452085203255679263480518276180414649569269459731768952000235952971",
)
.unwrap(),
Fq::from_str(
"6101012598333622734057793807254456227076559878860659397169023699671171625527",
)
.unwrap(),
],
vec![
Fq::from_str(
"19354296086288079144159688795327823522398391728875212438965010638655375455562",
)
.unwrap(),
Fq::from_str(
"963886109865447521127743832003203330310842182698308283277967974115778110471",
)
.unwrap(),
Fq::from_str(
"4281563786504771719885397038176034931017772107152448013142531584031665653873",
)
.unwrap(),
],
vec![
Fq::from_str(
"22434977466990605082277346891649372581276997387643726171473862867763924117097",
)
.unwrap(),
Fq::from_str(
"13174550665662255841009687929042395185477189619407134958480174063404635971634",
)
.unwrap(),
Fq::from_str(
"26005789312462815321328498182081852420665006828682992304348915245386398610873",
)
.unwrap(),
],
vec![
Fq::from_str(
"14261478113012663354046752356759087159765688199500179875954642395193867447371",
)
.unwrap(),
Fq::from_str(
"5319741634899083444347353099902602066490888021034732217012556056837111902901",
)
.unwrap(),
Fq::from_str(
"24281416757910026946666445460917181064060869667150825997973925467333387775115",
)
.unwrap(),
],
vec![
Fq::from_str(
"15416895049592059092638358872355212898998998908558794698876839869683256456004",
)
.unwrap(),
Fq::from_str(
"15390253357931539610194542193095570692890805122713279610257215942935464374719",
)
.unwrap(),
Fq::from_str(
"20789588747734416786711125246746886476076139970160040037960650024173751844025",
)
.unwrap(),
],
vec![
Fq::from_str(
"19268124713110905659901812882050400279035919397728249325940775594990663211110",
)
.unwrap(),
Fq::from_str(
"12195786313905509291107072431512687605919725851081638502151678111133621832441",
)
.unwrap(),
Fq::from_str(
"10996797254442470598461241872576533474264956098948895636942413022641449567843",
)
.unwrap(),
],
vec![
Fq::from_str(
"16031386136507188699582593290815695992163943378269473017916874103066734548603",
)
.unwrap(),
Fq::from_str(
"26393086215631991843496465996980424738477421979529423684963588301934817887804",
)
.unwrap(),
Fq::from_str(
"10020908459421884208513359412128136167359628801846395421852688157171038382652",
)
.unwrap(),
],
vec![
Fq::from_str(
"2275674645721881281344332559044371002228696505945826386093638383129626987820",
)
.unwrap(),
Fq::from_str(
"20871954636987436302289348956897439215309251875529050679580127597263497272022",
)
.unwrap(),
Fq::from_str(
"2805912099911037452690852710034714538324835563618608205533675796786012172540",
)
.unwrap(),
],
vec![
Fq::from_str(
"12915788094434266346171730509109106471648198000850852516599691611952366277595",
)
.unwrap(),
Fq::from_str(
"10455858116745097341023546462392222663807393446470812029549928814838698828197",
)
.unwrap(),
Fq::from_str(
"18548429514862373104120945125763670495246981395802510059301488453312220138142",
)
.unwrap(),
],
vec![
Fq::from_str(
"15373116094599762914903524023093729273461654612461234960666295498677422349953",
)
.unwrap(),
Fq::from_str(
"3525617356615259862195106796336657658007178396368139338747079341939583684666",
)
.unwrap(),
Fq::from_str(
"12023105750813777481149114228471616659998426860941299094537298344838126075345",
)
.unwrap(),
],
vec![
Fq::from_str(
"26587730386641627909670986517353025269633372837450910451825098440250303207114",
)
.unwrap(),
Fq::from_str(
"9074270097550873666867300148771600909014032474714272120531292635080024578351",
)
.unwrap(),
Fq::from_str(
"16615827041072034692314621590279489654646723822721197974770794031303667078327",
)
.unwrap(),
],
vec![
Fq::from_str(
"20461572479624705365303610120753007669488016680882759421045733709021889519289",
)
.unwrap(),
Fq::from_str(
"26965967315571780826140179998689464673459701276445944370512797087644375234978",
)
.unwrap(),
Fq::from_str(
"28024057220417802371648952762950742790050995995116405638415899316978666577934",
)
.unwrap(),
],
vec![
Fq::from_str(
"21950318517032882689049872365078159816107931788675573974069114493584495431253",
)
.unwrap(),
Fq::from_str(
"19426502278378560572857838763658840255394172603117177227007593438933781199090",
)
.unwrap(),
Fq::from_str(
"17109968150768182960870375097797329526321434967783065142585178988441418255970",
)
.unwrap(),
],
vec![
Fq::from_str(
"4900697972992083407198577086201839674947019834151233581099269472024415286865",
)
.unwrap(),
Fq::from_str(
"21257266248810969336901990518010397339194787485618799904331928858369131592715",
)
.unwrap(),
Fq::from_str(
"7853338111392902876480479512761358182087148519956105729210068733325256641242",
)
.unwrap(),
],
vec![
Fq::from_str(
"14953731463927686511781103109299419908680866708971902685494637646180828533194",
)
.unwrap(),
Fq::from_str(
"1039568133358048217256645444858779690222593722360933428132029595856197231708",
)
.unwrap(),
Fq::from_str(
"21957403689654416397064622231922871551099838312101526423356724466906188357692",
)
.unwrap(),
],
vec![
Fq::from_str(
"26854225070716528408870645522239189278896427207500130710682305948803020238931",
)
.unwrap(),
Fq::from_str(
"26943892344604571557701285028044912982696825664345334371487484451303282475647",
)
.unwrap(),
Fq::from_str(
"1055486347679417723372054024522800671210435936363188971739620139282176021577",
)
.unwrap(),
],
vec![
Fq::from_str(
"12039988523641802893655502894224498050885828461811563074139032284005801213403",
)
.unwrap(),
Fq::from_str(
"8902157540895169828625719473847119761637916797736988512418726291566892375478",
)
.unwrap(),
Fq::from_str(
"19808247018928888974783844516743773328294296650472582590579002155958871262899",
)
.unwrap(),
],
vec![
Fq::from_str(
"1166679276532448467842854177763358821231571989731998006764195336801763455021",
)
.unwrap(),
Fq::from_str(
"3606106570684658925413634110366206918044489665389891978146383152327787874509",
)
.unwrap(),
Fq::from_str(
"6852721786435315500790559962812048058053541164453308515683899928808277370093",
)
.unwrap(),
],
vec![
Fq::from_str(
"13806687138702327718737608018875659025193922209134042758115965685374173572631",
)
.unwrap(),
Fq::from_str(
"22097540835610763700704213032962472026569342000865482925296449079325231775952",
)
.unwrap(),
Fq::from_str(
"23854994668788070518164362677404876296654138145727636839907804381279830692184",
)
.unwrap(),
],
vec![
Fq::from_str(
"14328285116930040297167480888093252040682222507378296723083675894276997543320",
)
.unwrap(),
Fq::from_str(
"20209427422345103632021534022650468075947344519137728114160624684121322455710",
)
.unwrap(),
Fq::from_str(
"27033255520536361062197858564300467125597172428228104135004669745440717000280",
)
.unwrap(),
],
vec![
Fq::from_str(
"28248381813468035169220139433513611820173498138773431024157751299160860251101",
)
.unwrap(),
Fq::from_str(
"21526871958088430765907319854118302865893119689569733282961302685994303096697",
)
.unwrap(),
Fq::from_str(
"4746295740702898653769939686610795189271514521752909912067264117422778228375",
)
.unwrap(),
],
vec![
Fq::from_str(
"9101401092044932317062159778689819323115945875284594416907500031473455978135",
)
.unwrap(),
Fq::from_str(
"27308974038596559880820319745148649731010999017812218694960076804027626479421",
)
.unwrap(),
Fq::from_str(
"27024963874124411093581981994784661747591122603933013537982183388422444695841",
)
.unwrap(),
],
vec![
Fq::from_str(
"21057964411478038759944416368533075071641109811620242561938792043892897144239",
)
.unwrap(),
Fq::from_str(
"7934667723159326341262909811771836782101934647017223031384894873861929276033",
)
.unwrap(),
Fq::from_str(
"24057087430176896270365331032150773107194301890269528289146941949706298382245",
)
.unwrap(),
],
vec![
Fq::from_str(
"24872091794585731195123232743434894841960966480807109028172616559410714340378",
)
.unwrap(),
Fq::from_str(
"15518684264925082319927189973387561377010439235348248553623063845923579402660",
)
.unwrap(),
Fq::from_str(
"14948609980173019585444594725654208043748147783660285932086415887394611752597",
)
.unwrap(),
],
vec![
Fq::from_str(
"10984170585530607867489913407826422000086932773059636533222090923195886168825",
)
.unwrap(),
Fq::from_str(
"9321826953632892919090736157541940967379221312916602977566838169907380096870",
)
.unwrap(),
Fq::from_str(
"17487804874644538928028029763348613533582076810998020571125589343942948265817",
)
.unwrap(),
],
vec![
Fq::from_str(
"15275480059698629965360784554938662843156630611714827458212571654634240046605",
)
.unwrap(),
Fq::from_str(
"26413670478329619782619613350537218886176471689804000980910258836369485101702",
)
.unwrap(),
Fq::from_str(
"22110235271545922012664286788630290002548452970188851575240062241974646215797",
)
.unwrap(),
],
vec![
Fq::from_str(
"5711011179980344348611755788272653483339509530994363809978304737350075716000",
)
.unwrap(),
Fq::from_str(
"23953629463804192365925501930661733866204203811414692118288576654795847703470",
)
.unwrap(),
Fq::from_str(
"5136563821326800571661592018591914751723715382808500909300542629456466994789",
)
.unwrap(),
],
vec![
Fq::from_str(
"21002177360068475415405665266698677701230625062874672384664043086721899565078",
)
.unwrap(),
Fq::from_str(
"16160705656234082318664468980148954204257542989847179985485042083802028404005",
)
.unwrap(),
Fq::from_str(
"9584652138885123343129154370726916454016668838741647553957283602972361563118",
)
.unwrap(),
],
vec![
Fq::from_str(
"11976558678099062367003807661135049597791370468907580902513666607265118739358",
)
.unwrap(),
Fq::from_str(
"17770574027300583122009021603974295849535945441531452157529578670591628790562",
)
.unwrap(),
Fq::from_str(
"8779857893007641767450158410931422967669604621388757865092237959422562566512",
)
.unwrap(),
],
vec![
Fq::from_str(
"1106764359170752442062364091255316123175951798705034870298529962585584020572",
)
.unwrap(),
Fq::from_str(
"14282358984863272931851137163247018760911529915646224138003781953088609751794",
)
.unwrap(),
Fq::from_str(
"23068266846998739315579280127999495081981085207657183174657687901108103620833",
)
.unwrap(),
],
vec![
Fq::from_str(
"8653390726873789662036821861474930339237642221033368679523999558683634039983",
)
.unwrap(),
Fq::from_str(
"21189350969079886399299663440211026207756289316640749637497110786199356061458",
)
.unwrap(),
Fq::from_str(
"5874508707195808729739662175554323653263260150428377752434606463967243900638",
)
.unwrap(),
],
vec![
Fq::from_str(
"22562647947455785733109059717137970098038603103702164680034643705156923696289",
)
.unwrap(),
Fq::from_str(
"28784044665662723346322790792841446800014639216013400198981660575412845188995",
)
.unwrap(),
Fq::from_str(
"21617548860882346762468289662184539964972003273262239453456162866555087501784",
)
.unwrap(),
],
vec![
Fq::from_str(
"7921707293863412887763762425340047557212461768642176100113995468887128120848",
)
.unwrap(),
Fq::from_str(
"5079638071684390339031549260477894630888951581139107799635162857532169033203",
)
.unwrap(),
Fq::from_str(
"1906474501718235725268246233868869738847898113905316888545913829010490521322",
)
.unwrap(),
],
vec![
Fq::from_str(
"15010703057223301210797194186273140083891325609163657533528230982592512926640",
)
.unwrap(),
Fq::from_str(
"10211530488461406492044942258309860029358718988798555599263583230449549386184",
)
.unwrap(),
Fq::from_str(
"7926214251232883423235385814093337865027940862721299192910052080502780132651",
)
.unwrap(),
],
vec![
Fq::from_str(
"1615858616585740214171190013584453494816062927677997768793286983960714636586",
)
.unwrap(),
Fq::from_str(
"6300851832008087933477316424296862623492613015770943553911344820034487697725",
)
.unwrap(),
Fq::from_str(
"16997495024966063782859434171461822461915808567641951044575476421161801044996",
)
.unwrap(),
],
vec![
Fq::from_str(
"19093867154823521476631513454884258559801391479742181351464825851713886882804",
)
.unwrap(),
Fq::from_str(
"9876623979316708918029048066191049762079725911343449898764854106968461086193",
)
.unwrap(),
Fq::from_str(
"7438377435815100341595798523554450500128694745187932659511819662569177641879",
)
.unwrap(),
],
vec![
Fq::from_str(
"13237643488507212932551762727914712522464902552479712766778808080089035951383",
)
.unwrap(),
Fq::from_str(
"1319931255447271194675270558717799001431869893418472253731223591074983480311",
)
.unwrap(),
Fq::from_str(
"7612481215526800118812690896530728866481443352597194934339693910825696483013",
)
.unwrap(),
],
vec![
Fq::from_str(
"21648850356578602757279748986908901999065310414626834013406905545000047414361",
)
.unwrap(),
Fq::from_str(
"5114318994465500116617192593880584287425659388356129222869162968973137431628",
)
.unwrap(),
Fq::from_str(
"14274034502399536699480454286342319572996073205595632914757715057595605987972",
)
.unwrap(),
],
vec![
Fq::from_str(
"26790719393278821612050895247884938435625613110754118299610499799014565923461",
)
.unwrap(),
Fq::from_str(
"4610514154584214123082003352374212407564345220952368178746170358675112402908",
)
.unwrap(),
Fq::from_str(
"1698630880910166583271254572454135552446512741333083347763483525435981457103",
)
.unwrap(),
],
vec![
Fq::from_str(
"20552720912510443152155372945469698492199625763926700431467362374595133355503",
)
.unwrap(),
Fq::from_str(
"13027934210042230481275252151174239452268620117959842710803374999950407743674",
)
.unwrap(),
Fq::from_str(
"12928773210332716904967599591061654461064257952845874859809010183743576804183",
)
.unwrap(),
],
vec![
Fq::from_str(
"9898388983730091833586496876143319487640591474664562180048110968261504227763",
)
.unwrap(),
Fq::from_str(
"246696781145054333994875178319722243107187829835409556837932862368780043827",
)
.unwrap(),
Fq::from_str(
"3643500059049840720789605431319295724288225718414327982164300578592452239677",
)
.unwrap(),
],
vec![
Fq::from_str(
"3565425667601106009770782071884148125071341260281920273751052503326375058481",
)
.unwrap(),
Fq::from_str(
"11864389139266614505889554458655451207930913861631435830492116979608557714974",
)
.unwrap(),
Fq::from_str(
"8274657129590003581058306529364964194968347052625573424884303363838851417154",
)
.unwrap(),
],
vec![
Fq::from_str(
"1275743209701804744206403454856572943723564090814290111897584099271022701779",
)
.unwrap(),
Fq::from_str(
"21973662159342416905656953138735231968923660220069068196765641337893610648313",
)
.unwrap(),
Fq::from_str(
"25894732957240328820500628771930855661060611454759858073185019889253632110910",
)
.unwrap(),
],
vec![
Fq::from_str(
"24235983361660621912660346593434103797222337145613774587667715180072880402932",
)
.unwrap(),
Fq::from_str(
"28064151545062294376369933084121731998678552213732523790998247369967442851222",
)
.unwrap(),
Fq::from_str(
"17349893890535912362335854141505342728498068491067316154965484585819728433057",
)
.unwrap(),
],
vec![
Fq::from_str(
"15761968906322825313255937439984951429369868993224115833647535952461101665403",
)
.unwrap(),
Fq::from_str(
"12730132432828071741894158325728434195442074356127747454789604974311569256382",
)
.unwrap(),
Fq::from_str(
"15546396661635542412156226214532349631117485335067100794480597316674413181741",
)
.unwrap(),
],
vec![
Fq::from_str(
"26114367077546812088524649139586722615602988031071908939189781274012523720259",
)
.unwrap(),
Fq::from_str(
"24120384959346861175854010829333655347217114314748265093541001656605937854873",
)
.unwrap(),
Fq::from_str(
"19948360916941737903881302285818644687244482456463503655644971939056521509651",
)
.unwrap(),
],
vec![
Fq::from_str(
"19726197518649987200467574937800886411552656360200944676459718139782252781161",
)
.unwrap(),
Fq::from_str(
"28474607446546947575504882600162047140263193547832650495916965063574806568486",
)
.unwrap(),
Fq::from_str(
"23853413930706347232024181413476257923113376782352708959863255759270297482643",
)
.unwrap(),
],
vec![
Fq::from_str(
"12172967092520478036533278879321417885370166446952416302138802149554076887765",
)
.unwrap(),
Fq::from_str(
"23009599418043991694882996890518263678873774603216345360596994131664213566862",
)
.unwrap(),
Fq::from_str(
"10115258270635971171995411905168552695793622404699352160197062614831363007330",
)
.unwrap(),
],
vec![
Fq::from_str(
"11872854830696109949651382814501844672018549027397589681743730297592698621988",
)
.unwrap(),
Fq::from_str(
"27242375034974808335639708106328197436180434795006391706142292135621509320179",
)
.unwrap(),
Fq::from_str(
"12240585689619491656334069880205175383446802092185679587077983154058337550941",
)
.unwrap(),
],
vec![
Fq::from_str(
"21354477485311779262361916142854589865704748405272954734490890336687615138805",
)
.unwrap(),
Fq::from_str(
"23957401946708184815950634880682726184066491070197994539079194824221621571898",
)
.unwrap(),
Fq::from_str(
"8357936131918521617894415271376877545637994736685320868457215391964819334380",
)
.unwrap(),
],
vec![
Fq::from_str(
"23556508762893476575740526218250109012025360589353787405830042158273933308342",
)
.unwrap(),
Fq::from_str(
"26459483525453534734424286694012535960391097465802298977757104519791714946079",
)
.unwrap(),
Fq::from_str(
"10475806893121710950614249918125355895080858562674206501925615132176728614089",
)
.unwrap(),
],
vec![
Fq::from_str(
"509921547172201949904713166493001584273069976849368713467345580264015783495",
)
.unwrap(),
Fq::from_str(
"18125203608474211016238804504111319380002458161505700677366869384368972046217",
)
.unwrap(),
Fq::from_str(
"21924276575871168170965471499148658434002761718539337627176793776405331995359",
)
.unwrap(),
],
vec![
Fq::from_str(
"20766228186393497584471782099005176987747009290594643934202011294470303807376",
)
.unwrap(),
Fq::from_str(
"14375963887626641531579004947270417067489282157820693664981439571201925786507",
)
.unwrap(),
Fq::from_str(
"21159389101933617620301753100914640106752229791897141844262326158946032983368",
)
.unwrap(),
],
vec![
Fq::from_str(
"4461134990679762924709186776053724197764516354075947521348677372357740214228",
)
.unwrap(),
Fq::from_str(
"16252169654788390820854791971943967502618323077922450508362670811049952999068",
)
.unwrap(),
Fq::from_str(
"12230304177499919762152198881532284912863465765960540568879309220349311440639",
)
.unwrap(),
],
vec![
Fq::from_str(
"28841011969818167186628412469014473288587924982384920380582573823320491690149",
)
.unwrap(),
Fq::from_str(
"2799323756756092759606808189644604436886324385103205704619694119270259152673",
)
.unwrap(),
Fq::from_str(
"7552245287463888227716869296827175678848435662455435319330135096459780527367",
)
.unwrap(),
],
vec![
Fq::from_str(
"14559878705009013461912521439177189262826320003053264136037120330161817373798",
)
.unwrap(),
Fq::from_str(
"135149832293512941307855088962585950397809468736297008779181618805608043951",
)
.unwrap(),
Fq::from_str(
"10076925352984375920319893131906409552943218948970513115140185752025602734367",
)
.unwrap(),
],
vec![
Fq::from_str(
"21180884538099273847084389539895114475410666123121133636810594347139251692132",
)
.unwrap(),
Fq::from_str(
"16264335492355657460979899000171576784721337003978974122245774555132733725877",
)
.unwrap(),
Fq::from_str(
"11243620954294652682442140545184810781230200439960589447680494425973184831880",
)
.unwrap(),
],
vec![
Fq::from_str(
"11960277331258705530567654798295965395742512385392290832518951609500109974170",
)
.unwrap(),
Fq::from_str(
"12193804570375975216227507559799714885990198774010330434569978857678369247842",
)
.unwrap(),
Fq::from_str(
"19383474201008690035488023798780015353919506197647243443206760029489523188626",
)
.unwrap(),
],
],
}
}
pub fn static_params() -> &'static ArithmeticSpongeParams<Fq> {
static PARAMS: Lazy<ArithmeticSpongeParams<Fq>> = Lazy::new(params);
&PARAMS
}