From 0d55ccbb1578ad4cd2f42e5d5e721b2b396a3f2c Mon Sep 17 00:00:00 2001 From: Cedoor Date: Thu, 18 Jul 2024 18:48:36 +0100 Subject: [PATCH] chore: update verification keys and deploy contracts (#826) * chore: update verification keys * fix(contracts): update verification key parameters * chore: deploy contracts * chore(contracts): remove script to copy abi after compiling --- .../contracts/base/SemaphoreVerifier.sol | 908 ++++++++--------- packages/contracts/package.json | 4 +- packages/proof/src/generate-proof.ts | 5 +- packages/proof/src/verification-keys.json | 932 +++++++++--------- .../src/networks/deployed-contracts.json | 48 +- packages/utils/src/semaphore-abi.json | 884 +++++++++++++++++ 6 files changed, 1834 insertions(+), 947 deletions(-) create mode 100644 packages/utils/src/semaphore-abi.json diff --git a/packages/contracts/contracts/base/SemaphoreVerifier.sol b/packages/contracts/contracts/base/SemaphoreVerifier.sol index e23402f44..47c596e18 100644 --- a/packages/contracts/contracts/base/SemaphoreVerifier.sol +++ b/packages/contracts/contracts/base/SemaphoreVerifier.sol @@ -12,12 +12,12 @@ contract SemaphoreVerifier { uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; - uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; - uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; - uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; - uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; - uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; @@ -28,516 +28,516 @@ contract SemaphoreVerifier { // It allows to use the same verifier to verify proofs for all the tree depths supported by Semaphore. uint256[14][MAX_DEPTH] VK_POINTS = [ [ - 6798275159111696631765684932966934480819839778360905827982023140392612472251, - 10049769308514589345710525790497478045162192181874654650612439582831356277192, - 13909893679970909921284721325099295595079958875696358686115736114533495869795, - 9632931161306518428495887250948808623666181422608519935229236995717535313753, - 11373228439083951786763438874368468668602473169346848394664028118071804690004, - 2392728274936215006016716287711141290248196217507457308817981648956555973842, - 21165236263460891597139480651611604342552675916374159149811150532317922022637, - 2205889866435138776852640052657720558691248366998420655585799331913362910317, - 5142950424486523257531761394520431861723450305642839631787321698382624066484, - 15189409525440736600177098582380596261100810741418368942552492853472187151232, - 15166768161845773257369241904008805578918273462394677953758522994830670545180, - 11585842449811129847758954303386730558495513604993443241740010514431580852767, - 18309269743519286170259635930367379586611051469932392196263349325096833776404, - 5169422438906150387687192335052847822734742081564185146089879581734761329500 + 18358547564487905095688479908858987846616998213156437518686067355563592118237, + 15662648751553932653781975807624464121405704024803073886925976686616010387354, + 1545474538105908330267074270190095622354834966212647889547653097055078098224, + 12579159544968648693964563165973893448704730885005100826654630574108054705556, + 20602000776800724705104231353971008348678632605343811527051139864158800058742, + 14100125742256756091734688090621667470723401759459592787502475801413744195297, + 5090583730862410755830979584235210054631184460526892606022709842010236308675, + 4935746665478263580470501879719907639988899436008466660042851826337922233613, + 3603230519262933722323237889869128969156000998401789817930265262617368730462, + 11467103179184542033012124498958167915605281189440445972230559164572312725202, + 20354120984011889701917116306955017859695028034788955847437411305304360829487, + 16952752114474306858880411587178692742589121096026762314329638709126787301483, + 18678961143994743003180318723146092299060216598083112257165966782010215931454, + 5866474510945308764957529269555101130643879788634167019342763906927794156659 ], [ - 9002589149121965406377790703690701514742110610103894317373190676851261250182, - 19341779283870938325962302230892649885502492339014465701160403382913313018716, - 15384387008815567134216543585911373077215244920196736604974944142355824894376, - 15853924395610285571497184614672056220255220256147800551140212909213761909913, - 9858819933413872566321287453112479619079314892623028633956302548255682218967, - 8978980794620905465584214544974627507731009260328687273037813961789203643024, - 10076358326823042048333094257819800797834453359160913022846795563251044706095, - 19803968301016597767781555029004899114416563609613744105056144083718519453457, - 5163620256392555974431339018883081297271688900512864797552560460039668157036, - 14255936460639291949681319740874191007595598327244735898045668418052144766452, - 14537605621065916653836904827349546258169731169287489407049733321313440129043, - 13697104552179432948127977631695913762483329167428550338828664939969524379194, - 10518837188707767707511411972157042015637825295037224566646839468274503919246, - 20859740531774787409224706405964614133972994888613078458739440328759279998775 + 15357842752194390032830879177519514606613356943505010426726499926726016517582, + 13720528004476084359207196371475762368424714925503835663451917882430924467554, + 2196656647584375999320189230399052835502476576494068012902156164580595749760, + 14571933744484927053512012311263939678215066456565339237074260778179419354637, + 15947740979005208428427315036716544174249364023308166418156254508145278950889, + 13324328715790405384125386378518079709609297588403011236512446709595322048979, + 18308129219862888344083447566760955160779532192553849267018614487088634836563, + 6372459765603725576424215986727450779217530423615747931788702584026023386877, + 7093003777162632186231777482293120808844116758585672698445917711442486215336, + 15357576732947512625016950088762579987226580659874157718142226214458009204755, + 13910597919064508360434043231000553781072135406219661606166769706745413894201, + 9475901949906914147982792916474633312982452326368523201024844634638043554494, + 5845138751782936895477553974859998077996624699108246120208069774017428318479, + 3326095377373657419775174404381825686428913179751401123841216020519623741775 ], [ - 4892475367240699533498124978912576905968020673574559095879617409161257740280, - 20083606144842666939684160820556467581044745205228415333288523629251382490832, - 19196917991372254097659601920372094664470329157515388592183392963173987434415, - 8880701712891502068342106183752508169009511975869428067925759962432179990770, - 8295798606560676055262757451569098075661634806877203374010954805416034560369, - 17823033916327857017646050340986899797748134226556967395794361949180557598708, - 7863282428525672743372793899382505053760053469668593484933349016990801573594, - 18331488006684435728676028523354067877257617459721620528326034910754871664656, - 3208791308718324440134969236351379590643354353649811828887575168234009128404, - 10257765481441384707633559757593912517257134336953024015057545492286789467798, - 211202131360446365222702196868578991195656024430005775334667458570635430182, - 20847900408506094777967626429608261593000174750467914924458433091857566381170, - 12874163201492094577931796006056258188942453406826318262453514614280169978298, - 6030254908603478785612749007917517401778254879153565233016575793713168729906 + 1096090542237876305763822439899873238394525438826581012748557492836778110917, + 18282758355470198230938465615400409713402004038201360061031317503584711879237, + 7973969975759518869552865162652900479072033124669141796195141770899882758383, + 2920496587818605789230962034477809982324000981266163502059117507002917895757, + 8027751638293718359199675565570157214590620386957299982399037269650333307021, + 19002113380575481191643777830101182489616906893723699470070419138254788369727, + 13631613009301650992828160964785768170789209232530437462516754147352285424672, + 10537705110128905270703523362934130036880036854847578111990360444182641655212, + 15557574650831364767567015658284909068256128766563081293491003990055297878366, + 4049724481871929240016595616316679773340938699307608349394228543495262553744, + 9967066649437927083270210032320564587652082866881800887188539489167094397640, + 12463426560961961450861478284334163210886016242490079948590082000657390077088, + 21318595425700216078579789307308348011199610228556265752904860757510620370622, + 7430155508771673067823897542900534022148544854722115377830369283854627952599 ], [ - 14709385606134004409926090352432771201334818755294681438762198567603122984956, - 15595111262392352699569329550863719272136417639201948573321210451845475261310, - 14227147558489134328158035447732190048870965571562543433839005727350235629494, - 6894292519900463438264764292659242116361936210107228897203114956615108320465, - 5698226291009392212509456603087660757167892215070748391710298686451794945150, - 6157973895099184288402315817801807399850034827661856468278605062696847353498, - 15141526076642728649535042926649597908183234939224775055067110611584500129001, - 4384760212321739848884344304193577499977798066111221580475869690599633722806, - 4172483707996304656828832165635673373391709578552982633845732115764569616109, - 18703118242791177268087540217341214701751955061868356627779317654228486952499, - 19450300041750343627209216069867232901980973906626832440586455706765725761024, - 16059746288175455494980620176090534670137960271693908437020084988051972211964, - 20545976615820429183066000767405817531114365884543728191728740956241774393365, - 441682222632036954103668474012025602234972690129065917741930205184363335774 + 14033304028688398404089545751254979569049699915340551984412184456786819712695, + 17529478610649635357901422564682249462969460088983393810272144503916885638629, + 968190632906420692452807865081290940343138767641492735661467959437198373032, + 7242759178038747404494096998044224993169513816067824413031492987300456908934, + 12017353327534072098763415761011052990865822334777878720246921848197559257711, + 4746680322053291743787031203095442352574780441873349801788355375401126089939, + 6764632552006100580460767171096753901452726344615530017064702126145414585640, + 11581587935666673652762153205827599529022773836189155792609728856814288572033, + 3123694825428833189943974730387937552931713004458396242443840668462184834558, + 3432192610292569155696646287493678963086402014898209278361624573082188247990, + 12349833666000936285363634772178969342930188247085371717039135170012686159900, + 5587426338437935681688079936152042996259869611071713486439341129143155921959, + 12022589354168680516901928073724404259700970836413687340697868887207353139344, + 2351613311284811919248989036726852289804810348516261915606564943623124473717 ], [ - 5475541246268319974306511838266954642349839591742677843373092350878881816036, - 14320850367979727803456370253215537369678224171279198206044992705279862306132, - 14026863062721131266417143383735927929515468275568001741023143022462108466668, - 9695519010485916829174245942670015592311240112874015080337013283624414875322, - 5694780594861626040122686431862072023944220266576706715410778734338641503716, - 8712472904136893949123536631603982882802768648960668490262215595304129180625, - 1995786476093573828491499692373505173525336583145392096683467783999902548268, - 4926925836258627177637371690839427994092983220113811290959738100072290144384, - 3791559722445528845247206264702403543222196830021730221796818130566106209767, - 18417761581887733852915376127193234657558128442956795523445623750943914605716, - 6559711611059474660788123194641390228396298237139470196512451543415077405796, - 10546964127996233691569839986330212916129646278460480030759233831657936468012, - 19639002331873293572459373894235941550278985499149213248754356208213460657162, - 16617740711303077578250556582154106231075844388484693766277639059298286987625 + 15740655435463241944594855735935231648684671883923953096410588018036769516770, + 12964751171177929169670182425240761498461607040020835118601467328036987558858, + 21474571159868965455306627669334290549452576803823591301731326342326814568896, + 6954370193053655486251406740905618458518953022289151868757271522548301919472, + 3115002343037487520580459802807906562630507097436525958861415456096559884443, + 11775142132959919266954507317832500578453517368862270948538792702813845219681, + 5975456097652384580746132945351678665917860606511206167023154005883554813508, + 10958037207675554032315788914627312943186758288936582678633536154169678007202, + 16345185674805541466042568997276776714209785989761944600635051035243995431568, + 3326264593228494909568322793066180033820330146744162800569972963329142251537, + 20721047231464194965879320004420846916587593568519526251056516572985788552732, + 2552439778142862614309289213707433798337671284267429041900242151271508522517, + 2849386127826497959217687777221941766595094589431869464564268817450132435018, + 12188539304210779665491473755999603070354632830707125660270270405780470402800 ], [ - 10286912080628596477467183526391676938111746098793720613051271594210995874277, - 12402838088924052923512617712407943454558325804407246215860795418264423785092, - 8969827906164370148568535190125332589838680819876134752608330672491611718778, - 18192144771812728760821091791509406004413270888917521896519497516182602851052, - 10137887164821194167739010222610234245229180897989876335252633099720202939025, - 13556557929447859629157159796541922173969485671491640178139584889369979056605, - 18001826336416230108554083436980932740049468855770464827475781769090259294957, - 10997751199060512644156045915284269336171252742084691214654620601348632057908, - 79913969765597476108932900497715672182891152853885723893501837676479334643, - 5339064100797178384601587097901074769415731437415874905101259438574150065725, - 11790468783349396195257730524002236946005794800506042451697489501177528985869, - 2058745275642252757008568790584694831559296102476273845301514491747777902, - 8569838436054970055409792695113682207394942064434307728493565465575383738014, - 13183322615830117090366962414504200812495447396240587506161350006490578304105 + 16239592155161765109648123193105804251252701943901733499502441663333912783245, + 18702593988046837524790351483331632258278160532977261915119611324471253407466, + 13746033878407070858115621843430829498309218839316343379025665907999784574154, + 19358066347678636498093783612000296194480758342913325289131948678991962529441, + 6024976123298004874848602709755399197808739071863728225378332097920450236516, + 11108084608972457539770160222798307153256767409158349747526974841008717682367, + 3009127146923662343754766534488769100730310563110562565512507605403185571089, + 10560679284132950437595738585637379866590755950272794729013445350206405316661, + 16015321530803994569819047219560485624444041236327101681073970215458831987478, + 18489840631710745699731219026737904723160484479846032199737023956049067434815, + 609265187318362115240245160721406765003010398230819869810290394123140807290, + 2656965952206569220410287839949134856874352189248192147930831679380007159249, + 13957423432693450118120092425077530751840166358932317773385901323790404449641, + 7610225795517710715985874151201119876406845575780133396869144717381641586640 ], [ - 21294477411884184721419887719040509211791603543588769195913632677965664561521, - 11068844518467094308182673400072406174415035287465774858372276008144890272347, - 3145975317148809397211222308484405528017506805621720865271122352919092734185, - 4898298183000166428070984533097167988044449442228324686951622815588789280020, - 3610567344582501189941093515503625764015617358100951789070992465620388014770, - 10092557495034796324189431780067983533486688638792444215776822879681822814418, - 1266136239205073111432095590744834423814511894190159459963868637184138842722, - 11374864676654295041142699893206238903356920702572230940823052344171478284171, - 7496182320409371534981231046400216671163346135425875811178408606577271153492, - 1462528704706444827904493040179558039394825924259061934534583958249261959624, - 16141406653410498360525438265360373701532563198050057601030953589813051750690, - 14018180053857919258735952789533727227462568550710713906158448711665296451356, - 511374127838749625770334668647416912569313578777284750605965725458096929607, - 17635169227434142694714979150654436187903738366738972509867831826867283825221 + 6482921272760726478838066628157548923897782117283646773208763176771446379138, + 4562585331778730670899179927104513856322577370213643119870201750008533040214, + 9299549824594530154451155704400285409056448609359755927574262701418672785771, + 16654459784024455427280229763380300423080811024668332509526284511491790880990, + 18178936861568428015361893654874798233785855995042899944660014774323534883903, + 534506139369949013962728832141783820104682340925384016906020027968881380951, + 13888044772855561714276444972404100722751042044045312252045340354941233320135, + 13061437363756343100054622876229104455920015737970195589611281743974716159827, + 15297052669271818809266618537917704542138894789392864971735934945598379827363, + 3240592020743113440365790241401792477958041186219702004441781545015089517479, + 12939402739160799630996576545137073878726141216092557580496570401396343874133, + 409838859583542828209958035048329036930557790097408442597169497017958367880, + 4849352055719384218783567790347020036570406423962447054960403165168624679411, + 10140481868950825952506002812679553069445144019364683137830173127833535162812 ], [ - 17019299296527992906342471627956454165356014861255173051509531752951474839628, - 18275029135856620478842184125347270385705018956856636472544734692104668441197, - 18712955702371136698460276131619504667967074451844136203135440318125770689683, - 4726292743397434547486156972449202870187918808626632743805765024906772393932, - 10971489037448711908698715978943908500318707562175731815741960924655210840831, - 6006427343343794957952233726619963086279381477900155964075102505701412817059, - 15106747726469907788692287944434907296109850836405367650663267344226048690859, - 20492702082677255463093066854699770210633096845859381878102473765397334244292, - 20017671604137050517701389289600332952924272776091967565221423262198791114477, - 19092277823744726322414075820335182617528620489612060910384627313255069537857, - 521420364975417235554366424369539937652264103736140177007376087084617840969, - 3996914661098703435279657116324643068485300222550651293916442007463647760470, - 4679024209278631191232555253447082923762821738851347894762954616029136450469, - 8497347026541846312098745702841179850966624542794907236048342704145659678775 + 4169753203433043290708949478342499350225971996935208104044673971132510531963, + 16198597482473356107060462797493408464959815651823410647378959304462364790023, + 17831214733154720272879709021886998538183166751338990495293296921834561417050, + 15996002991058741836925286413107190453488985346498046642177496721490001022163, + 12128929995926069335150064696726717100038806543084523729572253928762150006902, + 1527343541447603983494013575570118174442170324803005341835852970207664984106, + 3864366504647042739453971869413719136218296278515580744588126485271535533745, + 16390744785373846505589339019032992526980013169808686005019244934399314954484, + 1189371614834081242339044631966546656514169937037419744085755746584992776112, + 2490564128297998291899011962907372091056992851367564813460897014374926950158, + 2632864541439030478006092584387470079076010621748787710053145987733131826177, + 10997016251008884590554668186933912000821350188750456144761529496433221911191, + 3662989402605074726032541754492900291134797145446056852785520146936851543244, + 8371074929323402425468930212402691638137013802793901226648986870188378349904 ], [ - 7070022814268269475674001477040669982274081663112043242616687573179272469763, - 4203949560354147821783061259439508268015232617968894950825877033100175693770, - 15428836885992191488864297196572470385256339610669991675966605773279258629810, - 12940391355331109441147053871885221765801476632578768077585085250842908979972, - 6504013699913689711099075581237522738280971836923813934562267069952131008789, - 9335304366750096675257996749136859439347731736177301019673263812644758419624, - 18674691980838913091347677991332234920479452203295602521958600357998616141596, - 4741568400157063102689633599777211724821079787176561142252991434247861983373, - 6081240166901015395566231760209678592881994305266889564610929100038948121840, - 6726099338457783260423971895907643672217936148382337363967495541886267184664, - 1518231630037540558074208692256894068220282655237665440528391362801123567400, - 6814959623000862963349418000763326032812413890585599160227546882616685479781, - 17691964860627566514162469663546469998385191762053312278765810284413361692706, - 8886638770454932775046812264172460584356331780532116653693013498914944507850 + 17920452210119585965813298538098997746450528307627971419517604274103840658730, + 8026613233416032931155189579997899527124867847165186585887532521124762242171, + 12536429843060624487053183271774959575059067729019923970247266906616071589989, + 18354222295715868456732739635697044486544782691576216892030243636076554800619, + 11685593308965088606881675161829854229906033467171784802160080423031157953626, + 18989841286028554273231159314070667749621876499337485447347239057791285949659, + 13501500842653069022700095920888317808542113497043735775280862312089436522286, + 16284422417487952110266526583186344607656490299306406671512902584454645262294, + 14766820041476554952520399418749355774195705334216487399328042021346008099854, + 11502099463338241997177160748027482497157165595330950109059924501733819344412, + 21097733162892834226328090737666232905549661288100963226189626007151883115218, + 3620141777236347892405766912767968106066233413607983266884777435591408542679, + 4465316625088681267432956930147995293521314127558426510839100849580054135068, + 15951396696291486543574989938200386934444721629903447106494532971713975302198 ], [ - 9215863273591023879373751614289228209440638027086548351177699133093136218918, - 15029143251469020678417745262015955011761489030158757959406941301509954637253, - 17639902090432855761607212999107125862255080434477939330403550134367931862250, - 17630923485910370531147811073172401806424795286222769017995022586794787691894, - 6051337981942268387146348592741777699916830790184591013400952407193740242722, - 14813309083853385461981331205467429689964041093530055551198131882311452944165, - 13243916879266487104491184915617833718034439141755271499342847081003561471291, - 20559308417239116672012110806712907520758637467837138402161111223933628840592, - 19581439469161095403630005805154174170687505024117879919441181595776240034092, - 17149923765379212333833055145767060687040557826663126725983709990821216291941, - 8848229792169763857187638630433883807573443546037902935946980878173551942434, - 9076584903972238461379608530218901607367189390010139393438137978954314962294, - 2838594782505936821949168913265923356032509180068328675364337511551145041706, - 12082207822506113008552336146445599677710895859529470992436917935385155760011 + 21420692366857794685888663542888709905237738746850069466081467001353666342965, + 18343503004862189418033094393114515169584171574852422315350418500159030922263, + 16439186901063853414808045554962977634854311593865750348846556486836509716488, + 15200551988732901161699976788357951085426436066677048420098461828563894176150, + 15140772590596966074591171894694986645347795546765667852915300358255369432294, + 7383386342436648909729802223228006548918015494414484659175617833341830753463, + 11436445698241305906567677067532324081573492145508451249291326304016376374466, + 17397405229027848655285535331264669055168427730382628461971653096729174692794, + 8888190346365862431131132945799487885295183925892581338098808269532220115208, + 17373048493258440814074078107890527278667903472831731635546171123117085702144, + 5394355195223713516914582580686192473163629785306318732489822694588538915692, + 20814957740385525027786677509245187599649792998372465800981035312224123940783, + 11167741662268878371451552983943563550747492198375641214347145843414778750740, + 1505498991925224080559736158020686494389967648228591899080542175743913505975 ], [ - 11286999809932675831231635172884104916598198610643895494221292893580015272745, - 13783008611244158112820345862046566925592820181422685465611038024392658912218, - 7399859568003719929092067255297667044787076639314018778324389410794797203822, - 18220331907668058189189266984811818382536030325980319490052254711990106619408, - 7221075042299165070640763584725863160347647659704278782330562384672809305162, - 13601198331885563117630840819920283945716376381432043240564878006092148603574, - 17966363662480886855360210401838893312981368660270687414500495451106355682632, - 9255647376958236127578779968319205385670535134228597865566167852255941456992, - 8203959912436866237932353632392355578980349384400645301966843912631449233592, - 20011411139499301504584228175724552542130947288854633651397978547089429982167, - 1820524505387064465309460998360793499775868154592043137422833944836520606454, - 1959603910351136409471920269505238383870634384371099582856753558856496902512, - 4198694051360120490653446337443734423586650228488283685090646499268901675490, - 21526524841382152147992421724785801038770676270240714297859552516739773492697 + 8482807834840099486107357849095958421708288941420679407730439668240369271197, + 1531932691795154082010331247272128035283420450879984505970978649526303671013, + 10326017741190716069982105202291613302347042236075737537452333444753171570010, + 2890563104449202149521252385842115871596603958515320789619311677428773944295, + 5091938011714608365574587822261119297677309310900626302766934784886036216676, + 18792973255357094538588824962661759194320829424712347846315600994520652609459, + 5819484726278895533547092474664732368175576227992878488267454637556311136768, + 14087278759052154922504944654932471722205352537489748711235261956958139094423, + 6676755499836944199268283133886528716777488598645051771936175647684814488319, + 7841200200792172536039490995922340397104113825218911994623753022413575084536, + 9685171750835271647846188024034904289604883281120913275229696726161494108338, + 13804722593058778047599265964893015518608567919815229008355552695901539135617, + 133210224564739370698401112580329091433152068231765294734991529050629411851, + 6253365067148837443745536970484493754157158998156041417978340186561909915882 ], [ - 16377454805970471136556451041642561492050129029468552950239023629414014853926, - 17038353963915800405951415178090940216214909064699790293151814567548494237780, - 3632028168433409518690370660019979191925992823806956511592031439491580827093, - 15490021089663831333876456182365939475639854244939093159179164741657017023319, - 11332498437023113295175458390938230450212523402749978995184951126111215368275, - 7016084735586326731105326496042171157633237979413962565940384222454876829020, - 5013383022618445727921740844767853050438275291216971327851792785650669011741, - 528618354489883480125467549183593651465882051681270315858578353218107644734, - 6932115924239435517832880685428272633342271017032662880345701095160428372300, - 5520601709801507363146277496110244143378961419982733100311341395981490633588, - 434079293392651414251114604226309649137438107252197032381696615267775897288, - 18623332313653972273799518879682220458729835518812577091590130632605360081933, - 16981203870828204556408891045732712151034600645789784935821356391746701607849, - 10839961472824284602079430847341654099878245597092020402049973455392611362164 + 6379626794062388565530320965673584683811331210463512233691169393056454417810, + 8031021217500376290269114216814836477415391402921787637085737712949651005952, + 15261959534341262089656432084966075417921918036565394975811438856221288978192, + 12412675319987657724460960278402203548317535126494687402198671892291826563464, + 11594484527416994136900781664743660516883697944736099448760569480817952218099, + 5525949004768282420418522754788387377346850869414250693501350383184014395566, + 13423677678153887686951876961584096043047689175638209759158420018856273430250, + 688554022717474500337948897714325469989973507431329797109415877246281679190, + 5767985312159947447966233995178318554138266544591427341210101818005833690773, + 13782057493439290506357575012457041256926849070794382612465582256292384507590, + 2009465632383454183075946487099156558696455704620200103263777377956167571948, + 10265570962161934109202420603055144010322859077969741656080416572925588897009, + 13063467510206676485181697613068184940643350938488359709447602318070297992418, + 8824580488237789516855671915345935747743201560548603121129517348234754630838 ], [ - 19318612173039398554610402032189036230760569630971013176034600348734573687128, - 10869362019203773549991994466432246818750552482449272815024995819170579818159, - 17376037803297137953593713472693431735691900221654570494069764772063916969267, - 3245151284162480382840661459866398914990218375518126822356780454697379196592, - 10532694937633872732615221785339191399998813277853598590284977223084586265406, - 18569891906743239236657790847950300608514739578359676359176841830736581922673, - 5204330292569275288250153279775499240677764904182920564782936399035494759139, - 14869136923170104943599081137392440247136712268832152014557322866069417673392, - 16609139756845639786750046885223171804867949172280450359139781662901766868597, - 7367747621397764356413880321758620580129087430671669202576071458908338963767, - 18157171842959734937470210968648189999811759058976098804831380331978049484161, - 14612065821098816890897211924691530301447930045836897440401478111363414764157, - 3678851330338811698871212394774190592148694554830208940152772420325429207592, - 1261073646471879421850354957670569129175034189935008550219832398890385831603 + 18405974527641184935569939050199806786119735189423462681352004154947586987761, + 11063658239692825381704700810385108349384459703800229121613802621026834850995, + 20401912636755055463157317129314482008782101856095804626717136888886428939725, + 10581036997862130058603889786198200057133900928078268413900852134308841628552, + 15613862437263830065893280422700893831122147824370200118126675792748158214283, + 11637898091445829201992956909089879348463617460955895182594618572267100421779, + 676470684249461112964281503193041675013396554434239929609436328672155420783, + 14862758280768060051884504554805186980208629806423451755599092137651959992706, + 5623342967419780942118234966618900971275224510117264341831041912523393680166, + 12293742687505619727765346377361630310803471543338450439759434637239250426631, + 17107107724389526013252251054585363312805578717860151655674796329456502453436, + 695490429984933474058785653390434166254929169748519672533632124843844650437, + 7941603993861390710630117468483386570984050378175531457457840811645822985465, + 19423663035279971057851778008344970269742436279020301703706239058210708410668 ], [ - 13337456010890669571312110722110978626654402271645533931088450675631972389174, - 21739762430966591611544841693197130387727042679304816904320680605415377362025, - 21111955068677333960505079108312560231811849538594697119908234179626105686302, - 9392230200497743555544102618287208999941692619434060081126831244370851959140, - 18128060449612109642142496525936963279825759724692188014181733764391545826501, - 6412545369924963430376339636555328095118045874871394681127600419621347748574, - 9178419128141821432265215706509797566711681420667049266964463482093364121974, - 12757958736224258162889762688354106158996770313065275427510212926355720788806, - 21697843782274732041256438596018216848529426578597975296740068185709056950695, - 9641329027897013830146943496858364657344657408442613002988204006109548012670, - 10157462635214395067310714425532743819094195406756516970796212542533337329791, - 6756552332702121619038049584093175387814338143922613739401669728656840170909, - 9276003791014657516094759987195269349958840151064358512535335441437526577719, - 17177335596130235736675313878734353760926293469390853206840228086544227127243 + 2844460676842285471844840162496739784337096369846435331204280645139535043731, + 5914749649291606384462747717764850940787906745751128721215181537027495043325, + 16403998562201315274383761287898474039980386929670468025842124690312505385798, + 16679714051449621657256662882211432986285335589270632187081448168743144646010, + 14178974435133537452754432783693851994073934244854394772136599698341675338748, + 14490318493007296294817313593753116388501252549516359980240258503496717340194, + 21219478166573360512901478467779541318881953172337799756939010190701884653821, + 13653038712207413996195005796658436532811211815454701512198612316602372800026, + 6606031466185873676955137126631780808678269492505994174970319773811652852017, + 6998326006251734945119834407770954155028321677085545151592873301468610324946, + 15717984973502827230694305820570642040862757036680118080574899662027439132392, + 6129387663611887185666499162725019000386957238200546358846681873950634080364, + 3229894653990057163047872622628926092609943988699832798310941005306795398260, + 1577249093608064810495237122250056987651980088410811739655744853476971398741 ], [ - 10611805799193697089972647133835358446175696630019306104758388585312795475026, - 9765887841111014027207536734081294072212942995633675647422724718381533100171, - 19734635784073407875945934329600179316595807453795254623432046479616133177247, - 12111202900875841332274674234864138665123655274511234144349518743965832241535, - 4691701433964504850819405353426875432448611177084640879664399563684106977201, - 6997026109056305304958456212770850719737661180940807196442278723629505898836, - 21862540916562048400075167198394269266629631981308358022452061330955535980535, - 20203136947717696850833432049217389834551585785220431602620838951128875924332, - 6166688558584392552732686802822787347815166465668907688252438119180905848686, - 1515830657197384709067854833370847128665474205967014377229527531272518040510, - 9783110166666159719262248155776421656845594701278593694743917659000214566949, - 14498343612651837182986000137068086166435021811504906980633109697812438152688, - 7451534988011232583608528483663880320228268776552285912767998924492654022315, - 14389118774297616531519885127100101489071211382178872997387065906551438715617 + 8019490235657930229602545685025618469913840887375206662306714562639338096359, + 6360514614281299182411878013125972206098844277909449064382248671632240409416, + 18532505668867290379738328175003759079607042632729982459107375168365918757976, + 8421518624327767035539667378193845962377888010421324291966623261409058898245, + 21508024236353721936402111331734487542417525255582275314005272967405040862839, + 18027689383014810715963711252886295463940938266456411644747464137365500951807, + 14484077699638992615220759300878276902226958277985946809174186953862915299590, + 4817080763362108602919187869554992685382108795016276838137423588157592666796, + 10791657063117982548380087239678382293931165307389242284595466175088416832331, + 17574587559710800088797913763598808892829608388483075257576879500511250128297, + 20931338330271163055101602391315623325223860904427973201832184784566097488773, + 1954574324880132355431783868495392698894997264747376529310223470792870288803, + 2551137710278149502571112114560159376697849893483916552857521579500208583200, + 3997814265160290573081282672183091638735659350920634229735367532175023689675 ], [ - 21819764752388384320943920865020023504588699757854723759009625630599418384159, - 9338876125692749169921649753345966897920335121369780024613311788669200836231, - 16193105938174292468402166430441544247332830012383311834096877330373326202912, - 18733835313573560168713238640348200008758608939774980957241614757051426557329, - 17586200399272141670685001491641162521294196727236050999778548238215046166017, - 281329337697491075931159352771449215426528517554332825727307529327678211850, - 13587768455979634277266588196077051473493752291227370910424884771755142551393, - 12132714832736811067697324782216133875324337588127071061942622831539088199516, - 5424242637034241045316293106740200282134858230716641545833281265555664814058, - 4099977807866045222441365441679488428090978308192769063472099506097446172444, - 20991094374514370732056452708323057419772785522538068181419368097559064487764, - 17494034245166301533444525935585362973100718889755879021217726039762737332309, - 21513377844056886482755561165035200163740875639723610667981589251852648290497, - 9065101624205101464784359744884631484276281653365096468139033730232168384170 + 20759074837657564809501685143530456377562536015816086555379080667602653298306, + 11573288866341175121647407708978273297857024597782918874282176717371576773130, + 19475107603336226504587469711392819869087288902355805230614724291289122375846, + 21884242265301052283286073107133504985083194336113478618838523331660374213570, + 11844625750737259417493690805104254337758743574820507915512371579679338049474, + 18479163117067129250021591308069049721232170743585134941796617403156042279597, + 4434911559893931929914698652677389633068778061297646529129767359157675249407, + 316682746098441691626372255125560321251096997722401729182940832349927288255, + 19610390525670030492896894087745165507340241783776573708027658938288182681300, + 5840208148535790468526125686220196099566194081164771919666034943299219873755, + 3679027218793663842409677356801552901605408436635647286999251784339864591201, + 9878321578558671609403512127325051261043472923444011356477587484000484178928, + 16646455734597629493777237097088292344110223995728568379569260368267096014288, + 14735311379463771264009437608444808852233202023120148855228542005281236140064 ], [ - 9675068040487058613030479303481110062861018853323992035192122053375288989240, - 3919601513420678474289276072949118564098120747866534224625771548831677958372, - 14608360470284772612816373122857162753416790881336559383898199290740342112532, - 14825744772260021909192492207967364627484904101011554011523154032558083852565, - 20984349344022619370458450579312578055808523135369866643465670885076660164806, - 418264638272070574199167297855020670696708537402223370097894154915338824856, - 21427513166561351336822904548010728579322568176247623689193394481261310743729, - 17218242846472515735641714187716984107651753683015981795233490838798663005098, - 21103921212558832170255972733170723908475938955264614598038505509464559335152, - 10402439116707708662126524824676626448483957064152280120730850351913612702748, - 17902409153345924357919108278878752639341210912451068626743802458423268435162, - 17156991212231172773517848502387153524430619870630373199856683436943875771004, - 10646416238055467241386416360395574804199761155307993872061057698215892822922, - 9567771666871218298332873263950533751702773388778384953522740303362056866931 + 3066170574229466435407264700502616839626082070514501523679452764935485028736, + 7951387307333182634684754650901435973768779794218900331714625086350726274942, + 13578824606544430966133042087468301830727811282121948825028360301706303669231, + 19848381031896652139349791682530465833719275685855743122849792015759588531339, + 6922136549797750291447751953663854475218048098902194660515442295348938322083, + 10287261443878564608994021014993200221021609196127927226041534661185500281120, + 6329063805909277980282354325384845982783657973381777424581891744521604640994, + 11017548748010510224711773916683171526878158646735796493859902304094594577338, + 7338335804036221772945379382782674399589206056354184002757176151341198318122, + 16538115574966264108203522400275571374556020887608210819563613080068710593180, + 5138245976626127736555381649425906350640183768145541963359703291501245587848, + 11347291457433539838423910567581114929056891897670787919546976342310334767900, + 16731418617609356258989018213857655050257827940403117452476763890174877962606, + 5300557287595854140445529914668848275536281916366261035684431572728600543772 ], [ - 12968340607736823528148475270009593191211106142050392359906510451365260428580, - 2721486373801018323157167210616746825623246218390071226081564411423434451187, - 9200592412239337272867558509657794777460340114124665277681133167901890516146, - 21479491441666028821536714814783435198368229014209693309182760114418462843253, - 271501919920560807144690888833558109667061334163559001274202634455325808979, - 14794481401072540343622539363544947515055760970979041148841701973173121160867, - 16241413887148836912852878034655069636111245133456457252704664072852738020971, - 4616891037946851677520624578755099324972320662835976914889099357030429177473, - 3608927726708508538381205233592212299638621918906539441231152707366248326730, - 20453218571243012416227036764366636460616051978680116597236464784651135817662, - 21663166035926867176571290287267617498655213253914511123571589436615865760399, - 6820544505512911561421102139415733480016159315919965296282806777526762552747, - 1241495087165602740391581058509323079765010896996258108944819093246488858318, - 8124857698166498408579282540958166224847900470279217858870563626568969324640 + 6573154341426354993599623914164155921131813615298607946435982334364383320793, + 16419308144058642981524756443290703631729426627385646905142158478345164404879, + 942314767315789144256266064192022265579304275774793342260835421710673918285, + 17945712678641984649495876620223190782305382105763957622870181201252059717682, + 6497446328454795535775520142893202697197882656922991300092165933292014766725, + 4597431274747983679157649737399090093759447324935531801532881928263496852124, + 20581664438782214735167492264807215952133504025063870863776714994387749970180, + 5854805250432620287068939301087113989827350315462338534819773170350910225622, + 13548539273975522227017059057161374261181128673406746320122994151943985128196, + 7414800418339434590171697383031637744601564309993253226498272110927128779715, + 1052987139013233499761917411027037646861657729931697227519754049539833189269, + 657108667626796780066815408290681939596246857020023912757838581820942772606, + 19088282520683145597098955555305422198780142332183007920340899996970202127885, + 12616611543293706969401642310383814806112402432261338062963427055972449363741 ], [ - 7468504662830152377628803783383953933430030795298938442558418401235422516300, - 4793686881935694857536946556150865385816389634693618604434563516314064685468, - 1544206620168318762839348132398850094597148992890365849594573375964142863145, - 5369558539480434036232750403701436967132622763576337857204435045501308015944, - 12006824962639473646619675695320713559632292589665720351249509600690404062910, - 13276706600670868735848192943347104623934461144298261448190397129714774342173, - 18264760419082021650494509547780257751527429714087988777838583561869870161497, - 16206621246021864196868319303736926716510401444517967423381020552156354105325, - 1711726122386296242553570383485323505029934793448519517467561601648909492476, - 424608816752490157168394436055547341686841853472229245627510525503910492101, - 15415617655332841541287596609058338190575210759281068404604554729079985521497, - 18478290351885872204755929772605378173281926792205081562405194750294909414375, - 1332104917854036528393448566746555920300729960761914526841432630705030394652, - 4875500610885916981959937005615629475085341806101091219174051361012752723259 + 9271002136483424788269278316391606491360153732024211579417926107994995432826, + 8228171988949250866347662896961764196608750080646539001443256474901139877051, + 20240081759615964816136232877050251456333669788276947762731625798225823502998, + 3685474186777860155223706676482968796090983045736466861690878558020083034916, + 305741399293956298249448376598537769086716682101868856634885453070917344627, + 14942830908704142867090451021371809832404069532430585621173997534136021340349, + 11873341523902185373029537495825388400298468809112431373607438726587086076801, + 16566421774425889929886838459987430622148040878072136298073788804726016806526, + 18314173705630320437871113612645566255775444265992974192826331109357704470403, + 8597072000455186494551694692524831407069966911367008568012412188890924300508, + 12713907619301764178052509321657058919935892208409394514649600000706175319189, + 14893305145776480356274920935320977108910444566603040558476174175562031483300, + 11027938853766719633497710751595847377263279173227878474215846011660771149283, + 6927793728403485743741891409676155921703126599118383623637742555953569891357 ], [ - 11778504031072617076835666396737479480765353231040635692430530998929741888857, - 21484720459303605302798978604237614472976046584193439253348361650969825748292, - 8499136457565785031004321689745329944377719203840897611578892135704152228750, - 2793941551558768339218839007321603095797268500190811372910811097625523777732, - 1105636691459466684354861615642532458695547504319491829198944901848354002466, - 12426506081436950451531584361567271522327297423292681691257507245865800741808, - 21744454903360799020170340278186587365704908765309976031542813238813825084489, - 11372248299010487313898881702904101518095247949018830132141430386679279269802, - 21355163712164844869530150285034119671090568151924216195709912115114996041497, - 5914269246724008463378274526282819036767424774567321843447592335886063108576, - 11757178117438262829005662514573037965023628709384135799022098340275235227691, - 12324099857879926506512664547633107100872133202763933183968148074461422444945, - 19030167447913285073203707487614824348154933215474799593455300093917690498309, - 10756138991756861027792433599825283466492898786698456971350016301834120358130 + 275116175553159498718561489405169511232715998055900506709208190227728439831, + 7338708370982730261395030177227912514214944721567888714384503728042214055309, + 2285508597732647746841213906783440647997136124356359059650028586535477309792, + 15163443940499746648640851269666923560658903809778640616581862089179343108182, + 37868753390676617287004841173348795594362354905038492583057282228528019603, + 19475937072595290694509025801956972632863465524774747773770243946674956142538, + 1818532521520079200500527816308109106767855745862413136331026404438772138114, + 7893556755641665136576228990240239515272703124353568551151593029797349984766, + 21843411659343488969197036446870567462789014279182131087406329675847260538394, + 13883536936296384480685931731174096875043607202415233199362935327975006076376, + 3061885619227488514362869971925298711535995206671454426027635264218303442708, + 18477632669759047471715211461337808302603089797347923153039515976242018999984, + 4953684980989921770137053964305439167945572062294709110871332076115076441738, + 849590699713478394267684876803414882497887483062076673282369901261463387635 ], [ - 11875738647114616324350947684061726919561909502972863503130998242120718452173, - 13694249165008464179020280306785446096967664405044044843321440965214796746818, - 19812433478661078453961877947302599509407379278239949313742808880496429684167, - 8478769662157599345424310347901565107922506021173025438525323643981274129672, - 5818698629865247565077962768609742022241069606093835632689725123770908238374, - 10032230959981143208283946841992758493223859540652919348005062379046462012203, - 11522228664628777947230879504212386210128576797203829606594158165912469543023, - 13272285677937114294437486001063514791939240537126238704993220742500063989359, - 8471655692275117723910962427858752915984310638982095612617085072826817856111, - 4389133967757502017802977428616053155133503096651056259096018766643340643444, - 14833683426056097377459837308704611274315245609945506612281500340707955071545, - 21735047966739217600224642583481593664121921255631091231639049365846545339271, - 7278464060898751306868720821317869528105334779561787036194323452374165351865, - 6039871164511288641970658426390882746101314533737081850970345002118723705339 + 7481617454708320190331411214970150566519243590120906863698168124347483283307, + 3790897889674729687102011235738708037383393765058266352188381434189575086080, + 17582850308142585333519054672998882111865339708436809129995518706804527076353, + 18961585057625546222763334757505522771740769338010572292783220912986926586854, + 17761332237343741278668998123360108574589045018570742689473320560784505694171, + 2985768806786881176362869973473950745997650698247163897069614623128281191971, + 14099532828736062687388547070054719462342298981811592749594569670955512096417, + 11038429458121896617356666499000022639824993159854464409767840206807807728043, + 7092464867594165410092487979619486929166817679669939558999555261465867685619, + 20690943609696626243672018055336898909740557628366317533030490341400911534771, + 11468803355345327303851639215186997122074583511720489615730106184659306943551, + 9723340381470060111632263437706139036358918795037011403763820908081655273682, + 15929497108714526572140462634902391796285476840034863688822264979709196730555, + 10556139316790113226399166507094772235069235781001645893008903131855134732783 ], [ - 19806735015669785931995353978269817545182909058206355431360188275802638341659, - 5812040741672176204747103844640668295298927415072914668459838256763201016256, - 11525530340338830716502860942689345100262306689117330289237484894552808300709, - 17521885357464563233202648521875905290166433650141773052058705408597538338911, - 3562081668776383619644089086241623016377051210290983257053604147762967187048, - 4553365292908760204444921066083280974740968313355524357160308575327815731986, - 9612674806513362915023578944934656419542782185316845654919222232866782079973, - 2856039308549766546769489569358317466998141815061340660074603482372423614916, - 17144423089194150938664044057037571466137059216126551322826296560818480520188, - 7777587218396926909905079292812226413674978129026320051535300425275288555883, - 13348600530906896077492067999286804922009589548263122827764204432718850414877, - 3504452333162729816257605356258771813994176063517472700088677353335099652978, - 9271993074172346116417190887626439840621996383820554885726881799780298924983, - 19415901227000992567609415633317148788461729474913900357094507534384428975572 + 9679690373149117563754317307037586538394929348733117229177073999196519450461, + 13953490152873041611053779700802518995304489998104548903919774028525032867964, + 8584860336778813488021026261425560177968889952950706471574873674510806966419, + 8400619522468195192079024924375785176686244213372269992523849676384018875300, + 16018239095599670975582212156736908990475077583136160880304021421989907078233, + 13442762142079759258078337448325782252795445513077684243558458356586404542166, + 8012524517439221218249889438165569497775551565363444399021079689755695756644, + 18993442931337392722189844722480176040693468853419121807183123246184718322422, + 3920077716342530896195446297162279477088824676672184510151991496745985467962, + 5663885918690734602622426696143772526257235018784490039324179199552252272203, + 11007942216549411481832816505096362871539130535791764225892613523847180067807, + 12333277086717649179464584335417603775633093807601488202185840108448843332123, + 18845646001611639216437777320622198530894193094859924604338859788769244491906, + 4365664869724113934112630479809518948808449158812862195377335314227128146059 ], [ - 19436706355139059383094509938806698706706766923839248625914995027794208831821, - 10792411997925964958381215817029067479896035855504468308483392531229534219232, - 8072583953344188119277829536748521153437596767795457833432747233169365522749, - 935862788360489051830486282214078237146011038653740178111222389815697167391, - 7693170882539863875701602528545342311434468852163389086171388853464572270633, - 3908303967241020812745991584454294385640133430208468916543029049706292930305, - 14200361022064175872846252914915938901018673724842857113422899538373627654493, - 1887985090111673428008310095306101841985601166058324952496388205310462613383, - 11573157656525163647952907768764423420183350046483835223957092582860133547451, - 9173604865670358445639146193904526160076171763657483567287015999631297551260, - 8178722693917751358075016256308930447648179998714325218415150487090497217243, - 16479808796736995387921450370830080669813035631409450618705788666753274143975, - 20533543720941262967922843401527010251494136604304116450329194230919992456714, - 21738708027542248258448002258354036928076950567990414271901435012481250510866 + 1895928299034844696630794694609519515092896092191683631304721647222032914779, + 19026513891744713045426845531420132126578554294461150386909840193098440147673, + 4073281111734161932072345995811001896063226222777392994725894652964051683943, + 13362867147840304033834065229457670563442204439046527165143934160967798444725, + 9724485076061228092177286932258189815958450833155679889060988975712535081230, + 1627333086421877964064603957348348763696708139082607562629629725119997724989, + 15641874381988682075545920458678901707167602315586561132909307694310257446023, + 11034182059786563285109970430313289917032071817373248775707546493147901388113, + 19299574745226772810381056007321573284793444116746272581694295128392282602507, + 6482638271546132546782310681506292669989505915370438641175376336582811537739, + 5515138970831679245126906315331906152285174207704247085730757090763031968272, + 5476746571008230667726688443817396210804752373221945489797046634505665572661, + 7666694240010574980777401583687953099995588711474009270339615112182231942529, + 5345423812126487230177352826531606752132805611025916574123407915411930666385 ], [ - 21007636601223260258896743126015285106374704680873221102534543271676455685798, - 13369983427310673379273386726118528512090053533610011895772924489087434499560, - 7437655172123655742476741904638757853205242308502126726581419961030710769332, - 781816009964815727693649369421765727079762601401895827065766198634750193888, - 705729203963801077445366659807159942042515811344776106038944684242779323077, - 8198640129213076396347058165827729949570109420499123900233622693161948493955, - 17567949859381263201697894705370978555666635560577878390586549308344241574720, - 16953629262080155066207979848352607491010984453917718285923448228568338552102, - 16571340903058171078202337397668804978258511905425857983395617262853832093164, - 8200869898550007995855767338315600003217265793696813934354774140864404387075, - 19245130308508431368191001431651810775716975255435369252757393063712397235401, - 19295429264588775090334360243373041256684104838925789132682844828445374541241, - 8244640034562580123950327146088236084020067479873470678893810764954021793820, - 6071779329882466654134795663117452253106971568263743258793999061311754781283 + 7211419275788152379372992549185439317698375419836488104253705518694042119228, + 9112140750806762434510825375931543886135367141484613422947675423683311130537, + 12020406779776320543918475257645763209221278449775176154727249143619468329590, + 6961266423823329910790066424248133365666435921221127260870444632539329606224, + 3527954161191330198309290076708590175518992377857531220243324230315686986882, + 4506493800007416260514839382433205292331764028735360433653631210611507932973, + 5530043493028748853396066194331787195114268917530734310055878976603589658986, + 6225101949608434111198442012357272827532649788667254718474232856896193900534, + 18857681750145313162493356993928966938826030906289025101399379263672964054354, + 869004496821135911657110194622810910776043851317139916414752924319830673140, + 1563829187789877652048924285544523323087888587074484491222967490033068091506, + 3746011388196035005128740753677692387874351474501361202463946309770129429478, + 8923361680602360491637539340186330583808472610027697444204036893010926051377, + 17386658730777389148551542774423634880430074554050371095211396948875032586750 ], [ - 7297858819137361266048049960276576061221795813016982777983276508233065012908, - 18289767809318109953604511379563953654879368440278122006476245297734205780313, - 11861017471431365163414128324204576291654501179050818386156071891372931715517, - 4400537004106671968009111731711678778861503186165383927771233149107549932374, - 12211353780794522017482442205152184029453185156252615419956272689806996867522, - 11858951133579915446931127734829983281450719684822534749146423795831786572024, - 18699083494838544659449334875917956720534604312394484877250282743052866694, - 749778821409550859537528691118971534871459292764959826137658158363222566834, - 2909597392070263345393422292436111503720531353687130181723707126400751447693, - 12217177777420376281128847110380606163261839348068116179245513037333903388087, - 6920254660239140919505113388774145966103232605095540610909080767264160069300, - 9696367212878183305057911542364374139977595200010754215085255727487778572962, - 14968323162826489282828176469636555044919206060463682988985750923782404039777, - 11757071201913114247059598621424329188966752420483410843397919162379753756933 + 18803497674827878184210135371703804206276128582022416604041787392310845729622, + 6590008305704976915857671866558706505394630312395969823040635040879201337002, + 2714759247406808259589803854440914533632699567907406761316959511568030744066, + 16299600292583383998706243035294548578562168326056377699804434906128380481545, + 18030052417377603682453955579175094175373404791176719861146533099419481910116, + 8281176924556272137773300347187527516223668703826908452855802099328657344885, + 11849913964821118293258226409033507680960291656604016015128854810099746642358, + 2718653438901851962181612429288634518502998150085578586248082443515454453331, + 17998120665039026798317726060462551095622279047136565816648549826384179735803, + 5133986071087432716437635164720916024596119526725252628340805179596147643344, + 10436725621240227608920674037516192343160590540839553356331196590007025190330, + 15618861474705274368161439159831328775613537777134266634959100526889759124590, + 2511040106219966488942941427805413210834998861588095124665874406004322450915, + 9256734357641210393451356199893573129989430877284906007481196262323584132500 ], [ - 2149278938146333837762157047865197539626726297462234579786480672038208839960, - 2992162472650247075753290379196863994101122291268065125561265479303189972094, - 28038421244332437252451488699272760491836813993308427474241344447797755331, - 551667036500907650888508201663204030618105224866044580467647054394918324251, - 13128279467779141267539556181844646897000953259054467200148815485804849945589, - 19182542610668848202527767345596590904881280203255613775118909904478382941801, - 12622787765544530515623619382100437898246101834816376149292007743211956407286, - 12570391550772615838335361042568121892906867634448929202232001812492234390257, - 5735316164124731332271878247418185434228086026647700113833855177940542823181, - 9649474108395394754402030685603045386825744478341882098839846461266003368756, - 16190069071551003451113144390700917484497316557096684922619605534369669949534, - 10681321343942329435795471710031949263678373347092770298132700842902513672840, - 13863872929961730606993556753801300020729351590807975827100825368353540990573, - 11931534405924761866343686993715271905704590108489876499851774273982957911423 + 9325238625126515763679853550553375879158552597544709459784109512243397955590, + 8484194759795978556088297437107686617328133596604796277228418191688537911573, + 7354463117736585470843139230227589188304331389476818932256765377140053168035, + 13482530129860761195447497269660263095272961608736579417124458190809007451755, + 14565877561081097978808851096191380459292726072163754601747539666057949167693, + 2135718143241813932226161801358235289781058013695871838383051572102928884567, + 20522747851108608773003772892187458826390403588440155512773881116135635256410, + 11218511591600821722003994140994121719832310771637604152054113941332818455369, + 16404237709834224719800904205708261378663612035126521203425485585484994986837, + 3167586669955731698085513002461997957955073343333183557668566807567186590619, + 12910675356590890481798719900077391291951346627685199305549632303581651173802, + 20462953503625657093808736208830478011818679863351201550868889073055617578896, + 18947108562530644410102590841857357185115081182319111952079371871969663671988, + 6652719222291337824561052377450295064566587460338214284424446330320206208978 ], [ - 8817602722261405319698829040610455364903580494786394492896940141358443005801, - 11119926988115729035668011565310535780603655775231850120289918739692745155137, - 654240854620562345252945066604315306494281026224973615193213783227252715475, - 1680290803075724940691569649460494417420550431404206498993917267359934429167, - 454088003829163771011170852736324196796734198039551149147118112028488218145, - 19539522144446103612355666512646927077463791742130426065863787086655625062176, - 9677517649080056520842169551325292586844311652869297540972831144430102239541, - 12171721941568335982623293519100425613310698565606469058956892831634461540059, - 15037699242073552386046516617138931456404909452736126928849871092088157606104, - 2403475304123870051310189713205959145472986292698418380091083485671020127630, - 127899593359332180821632671011918317356219506177015610133494845926153175595, - 18684733307620435559282273679266280240730732702398400109727422417551972403102, - 17130978638728591547347686801647449269492555647218567636544356715497286682290, - 14514080855160049012448903996874963632870196574887173768510902774625324658544 + 7333723286812204168407439917521565157977670700382476881790986792115201279410, + 21462572925415337738214437933606587540653694853107274549824898449394152530908, + 6820993392268884858152757378169835647522978080101384568523885945756789014349, + 16253055713127198337468919465234896268161918860396508551871391729457324125212, + 10110377608880446364161064735161091842938826397512230713135002732708361876777, + 6013899729219769410326935661934883558337463050053435907100782150692294649745, + 18208889227209298598015138525374980382541030144328510393048300775270787949840, + 15191444075449840811990314906356975059662539527217455842253932605838538105879, + 19203188682890514423320800755662084436821947463936810212920115637567986869322, + 3424855308164288636262956984024538145687254883958282264766019244372264927134, + 19586353501601321585672146098476085745700368665390426128801697725086439710122, + 15010004828387861046033155948517332272437733117418549079342100218646019702080, + 13686339229559293872534012092085760944059315023471369613822812965287369238447, + 3695584012986626869153168308549979767804807828687034680677188403817830418810 ], [ - 14337554339543299757023541671562153395916531829217482775164867679838962247573, - 4417305792230285111357011064673221162480286486496089003939989926259051525871, - 18318343953566300700872145919583310314872293221527574189507609074563561808951, - 18102181553730085952093068611215465293662342195186852247233989189686218494670, - 5855924544364003112712450030145237149424995112678688873039358008205969147611, - 15570549396870292677660853760591267003520405786863190676970087082855555878636, - 14821240964410715386910463283745689087244285662861027299124772223732179089302, - 15446473065604291444037235422131957717379131935322344411928007251149202158658, - 586582749011680966506460208877749670972200690716863059163322868400282852300, - 6765443750336920009167305874738739551390685770965140484130502003990191861016, - 11516588183751421185156362409787679404091107770536300994982153030408504091807, - 9422281521245157165519221572217222566067379888854607677340273485846988818889, - 11972785834549950434085949313031360662160524117252689786653411157712853588295, - 1251548247225430075659521219630231228104532865302157324337575228144557232422 + 11102327427527201346056529148642207216130990405495165914761901542247835149412, + 17544563341965869668707473190805417639220912289969746146554006791986582724590, + 4470848226757772603246285686584200798638888970547659211297578619392420918858, + 4999887962989142396481351641254451370620928952306237803174890583736074770292, + 18696621645163318552472841991871104820660024833640321869898695219244792544787, + 16940838088709411711968888146075539661653566927745755478421474505108166140656, + 11530916114120676768574532193664705720045810431665651204245333670674998923676, + 7355883923626920336916662475522243088902821161113628716197989160163721774248, + 11855011297239142909723378707832446926509921514737098047687587969894126468497, + 14942813403879667533705178220673159254886774089783887482228941707848831481300, + 12982663140753853847528768000921561826340636419307931766400467366396846035169, + 7171806600323437636744282845777660095738436086868856062406225133619265520575, + 15982491779929281894294451486893882850583039973528579274058985191703359466543, + 19910319651211685401050894240685395121165652955380089146603485967076493605680 ], [ - 6800687607590437742793451968857688924532461129043710692695682669594760138183, - 1902628209424530126704615228962823322693910527728191597878269502368972448245, - 17205169168497932228842841751695431463810324846010162985835301764799251782423, - 10034931611814725856775298104026042876081758307779816060207300321750191893265, - 6083168185688688297667869638715177381772180226443830560342282797830104869062, - 926194281246578915103720926341497520082595828680525575284123365838007044551, - 9409122852531801098754556536729028548924539102103420345160677794564194221020, - 20542245913396046089533736519215869670909083018889617904362139603473474391693, - 16873198639240289433836743385124757917190871707428690095953534423420502659893, - 6588241760722454601615602907791715854928448488066342428651422663075975107816, - 19842357292988471204463611705572234531158701273234975255676630503476698710155, - 14693625717448698302951456188963654748379774732579848481403435079923870603157, - 20241432824683494982737262054148903653340519392174437358036298330854555784611, - 5945081237575571782036580504962786649821981413555607621373828735238630355652 + 5314337765479745092537090978913989310916802510812096192767666377841447850226, + 19811002121850954821192061183148615163420706271800817927960207430256612524059, + 18254735365473444026840717290492248863101576601864757410600437101587001057517, + 3428844080448214358238191483671878854080864964895729401025193865570307658787, + 17688699129722255312471132988267997472426043097741089176095207368928695347323, + 4698778325800416923484519718058460264124242609977080857699400967590134848728, + 11905991584861721837480962390330989450197421918781662074678555052926188909272, + 11195321655863853696452219195252788379254952714823481930861848719672010792417, + 7364573423043519994861038175593500896079924196888521130462378149111415036167, + 8488161531239994007634631892382512438657593769374020273048837520623507271908, + 10948897450624334536526533930990935852623955696383743452358741253735922067160, + 7654175296077985337834288232610181411799310934515705881481549241949669590123, + 2456818423512317060112219756429819064402183920202453945509918337536940292593, + 10561627566351771351550703479997725668661012955063201536370060753602302262655 ], [ - 17652382972559786603081358712023734457988123179346418318061767410638467351353, - 8609310002954675750899296865505156197275068986904937546335682968407062557353, - 20953981342395933310821155979182741101782516022917194002901756056810161577653, - 14010114671133332884183212883039266364632832900771268544464943567097360538030, - 20768578042859563979294333002563065924476840206018011719077318477769915880402, - 2001786654254515377677955109354751436919751171611935922531378122392365944293, - 2298051095199584549599791615579815921675635758326996304424561508720678758962, - 15610877986863106190281569495837881819071964316157027243989237288310023404773, - 21503958051574416294837474683907975773972588915544597427974161349505807601206, - 16176536100016079147853297185775543699660096471098091832015791823791903209774, - 3606739889472294515277184850587920470749374877850756839089044653095424769194, - 14664144387169595605857061033949425545099119522415523292224065111113602111904, - 19699387660834749955063410769084991520255142011324093146157127237115274380578, - 4331670811250121546993058308579590495468093227852181043972677680581964769228 + 4310089243116651250383251477034324245457116277666484671624575402227833925755, + 11882651094700172542567008359015417490389070633573140242127755563781024148099, + 9304328383406369649010049197573360507944684656613297568584394172735340111263, + 18874624159090765871635243875933482675871258293088886749847315202391523956097, + 21295163659036117126535933666532228255134275601226122998452204301238438701469, + 12010652807420347304532358791037860496459429689113682253200903987591679627067, + 16035147304145989851106586435462674695447030608653337914734493255503105122271, + 9396862051344040260236487045030117425080665841603826234795752404308634565281, + 9623434193020540057685957851610556657916120473978726845338192370747426064401, + 20738972702824723087864078264786214906718601061526079118500228332898388551221, + 457108501000029082366810998923133233303603111079376685755578228260824733356, + 13918719735797746251051948238671198059940858851588937008268023917020073366433, + 19519317439483352367895890468095276150233498159453735432212409926941855183358, + 8400170000010792082337905010575114377571921640630709589910201278654198179035 ], [ - 11589273064298032074960397339280273111253628710081452605587787277989878262684, - 155887139811629598842391409587306581332057016161277301334614704354501745866, - 21415746312736962630685763964130668169157204911852029590085104536633069699336, - 16121151623164478719433805875174860779395398667644700642305374194327245787952, - 10631178625335401501457304969878852001559776191683447428857609753454937038299, - 11675745006421997275450756626998030285194831397590498324078767720340123952646, - 1759441622054752159360583922123536313476013806215300533220440946452846159126, - 3059329356920789196856680267147718801714171797250645043538678427768342056591, - 1809413652255811383678263677090386586529134039718623375196604927184100692799, - 7533217575609552382385270158875791232330359159976337796303987871112517604844, - 7704646641054955393597890923317433079643657350033170553840404545002600772539, - 19522826015127415513569513500635678903639248861485847260009074714535026926155, - 9396801995941988552875859512580723873116085524385365053682345361229348266222, - 8122885501816310710455960482459104382732335722838233409931476783790044860185 + 9476241965146735006848999585927664857836027675817848342111996150638876938940, + 20383112265143113621158547584533108172173014612497300318772355462448750327634, + 10370498046215116715134085566322498900073301617448752966999679321197451973184, + 20733082136685384602293372077980283048183069753990343452404863587763569081917, + 209896847902324756441033880218169809685412620378498856437573937154846479551, + 19434208870058033389225349051527401299247475125763108527095891214558119617655, + 4154375339831547300427516624109559852426973786711444825735879648391004291098, + 2168897082728012692838287354581700563166925732559863316849698306675591131396, + 3690054103601385333490512469861728231387681704127049683413276534001532261943, + 3997073653940540957268729302105309759820513901669570962308110503858257659002, + 1493108383089723041516694658460301260449183718295935886883417227290045091286, + 1479721274324005701970059663387618978577823761358404739977258141309872068056, + 20291086357406391640638647514048720424247838755446061571102712546958076851767, + 6860718845648137601753080432837091439893783461195961430761483584544410630099 ], [ - 14621784478774900045485232005516896073016099759402781623216618339142142444432, - 1432416214818308586539371032122259241440290306461685527056371471791146740623, - 10859741497221216461724796630804714121202257706435373999834867538278407694230, - 11269289100589657711755210305168004136417079020640258348687053385360804643179, - 16304360708182088008313907877667665892976553429106710412375369419780233976442, - 10460941404478613816427928998514834125407907547113907613807191273719986187223, - 20051043271541513424021087402997604909963063035826832503174487686321968961776, - 13432165841378395910455231038520827433713426813680931204822379789609795102053, - 18762866968227660024720719389346562423430884054824643430326826128394380607310, - 17713599719831815773421839749444223685540274101601039260510841144941870261910, - 1883157762896148563929088253054113240995256206097667755269496270918239318411, - 10985354533025938485092599481185428202087973711120611094551172933738810516920, - 670487064764400248463858966885752477833093767820377805346079091001272760417, - 8502840196732756246718058003393498205431869135787193347957619883686320532648 + 7929983584961755765377471515178883367433439212271736050025708429355823243624, + 10728358412340769313351519567620170787387770135423141966436844748162218854008, + 4169855297038740915695363102363044976292665711211255871324667594694964037773, + 2424224908982307794171893487036131370038399449016750026546326391873466118335, + 1265438250797513961458031163301351393237543067943565114202366151377865506872, + 11342865295714982458109220575532930834959120923837779800176462280225501198217, + 10415384677581396651184780193811022815145977389536746022901590915883889609878, + 5311187015233522007413118391261106264838418369874755037462489089469638365756, + 7499079368996193403750547553190134606728655877653629403923945654291953825315, + 1743769713774086589463238504150542785039161133276706463569974209707667651575, + 5792276842105452143354445764064878932177699791644537942211472215636738768211, + 9443070058088199873709166495831389298947366881168483562080569357428781583046, + 14451507664847323254023899990839043037382802537389529773382951366995420730648, + 7633550475637360595097128986678209600092185294414596687526062925070686318486 ] ]; diff --git a/packages/contracts/package.json b/packages/contracts/package.json index bb5efa31f..c98e3fa93 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -3,8 +3,8 @@ "private": true, "scripts": { "start": "hardhat node", - "copy:abi": "ncp artifacts/contracts/Semaphore.sol/Semaphore.json ../utils/src/semaphore-abi.json", - "compile": "hardhat compile && yarn copy:abi", + "copy:abi": "ncp artifacts/contracts/Semaphore.sol/Semaphore.json ../utils/src/semaphore-abi.json", + "compile": "hardhat compile", "deploy": "hardhat deploy", "verify": "hardhat run scripts/verify-contracts.ts", "mock": "hardhat run scripts/create-mock-groups.ts", diff --git a/packages/proof/src/generate-proof.ts b/packages/proof/src/generate-proof.ts index e7d845dd1..83ff9df6c 100644 --- a/packages/proof/src/generate-proof.ts +++ b/packages/proof/src/generate-proof.ts @@ -83,7 +83,10 @@ export default async function generateProof( } // If the Snark artifacts are not defined they will be automatically downloaded. - snarkArtifacts ??= await maybeGetSnarkArtifacts(Project.SEMAPHORE, { parameters: [merkleTreeDepth] }) + snarkArtifacts ??= await maybeGetSnarkArtifacts(Project.SEMAPHORE, { + parameters: [merkleTreeDepth], + version: "4.0.0-beta.18" + }) const { wasm, zkey } = snarkArtifacts // The index must be converted to a list of indices, 1 for each tree level. diff --git a/packages/proof/src/verification-keys.json b/packages/proof/src/verification-keys.json index aed9214a1..49780df4d 100644 --- a/packages/proof/src/verification-keys.json +++ b/packages/proof/src/verification-keys.json @@ -3,18 +3,18 @@ "curve": "bn128", "nPublic": 4, "vk_alpha_1": [ - "20491192805390485299153009773594534940189261866228447918068658471970481763042", - "9383485363053290200918347156157836566562967994039712273449902621266178545958", + "16428432848801857252194528405604668803277877773566238944394625302971855135431", + "16846502678714586896801519656441059708016666274385668027902869494772365009666", "1" ], "vk_beta_2": [ [ - "6375614351688725206403948262868962793625744043794305715222011528459656738731", - "4252822878758300859123897981450591353533073413197771768651442665752259397132" + "16348171800823588416173124589066524623406261996681292662100840445103873053252", + "3182164110458002340215786955198810119980427837186618912744689678939861918171" ], [ - "10505242626370262277552901082094356697409835680220590971873171140371331206856", - "21847035105528745403288232691147584728191162732299865338377159692350059136679" + "19687132236965066906216944365591810874384658708175106803089633851114028275753", + "4920802715848186258981584729175884379674325733638798907835771393452862684714" ], ["1", "0"] ], @@ -32,353 +32,353 @@ "vk_delta_2": [ [ [ - "10049769308514589345710525790497478045162192181874654650612439582831356277192", - "6798275159111696631765684932966934480819839778360905827982023140392612472251" + "15662648751553932653781975807624464121405704024803073886925976686616010387354", + "18358547564487905095688479908858987846616998213156437518686067355563592118237" ], [ - "9632931161306518428495887250948808623666181422608519935229236995717535313753", - "13909893679970909921284721325099295595079958875696358686115736114533495869795" + "12579159544968648693964563165973893448704730885005100826654630574108054705556", + "1545474538105908330267074270190095622354834966212647889547653097055078098224" ], ["1", "0"] ], [ [ - "19341779283870938325962302230892649885502492339014465701160403382913313018716", - "9002589149121965406377790703690701514742110610103894317373190676851261250182" + "13720528004476084359207196371475762368424714925503835663451917882430924467554", + "15357842752194390032830879177519514606613356943505010426726499926726016517582" ], [ - "15853924395610285571497184614672056220255220256147800551140212909213761909913", - "15384387008815567134216543585911373077215244920196736604974944142355824894376" + "14571933744484927053512012311263939678215066456565339237074260778179419354637", + "2196656647584375999320189230399052835502476576494068012902156164580595749760" ], ["1", "0"] ], [ [ - "20083606144842666939684160820556467581044745205228415333288523629251382490832", - "4892475367240699533498124978912576905968020673574559095879617409161257740280" + "18282758355470198230938465615400409713402004038201360061031317503584711879237", + "1096090542237876305763822439899873238394525438826581012748557492836778110917" ], [ - "8880701712891502068342106183752508169009511975869428067925759962432179990770", - "19196917991372254097659601920372094664470329157515388592183392963173987434415" + "2920496587818605789230962034477809982324000981266163502059117507002917895757", + "7973969975759518869552865162652900479072033124669141796195141770899882758383" ], ["1", "0"] ], [ [ - "15595111262392352699569329550863719272136417639201948573321210451845475261310", - "14709385606134004409926090352432771201334818755294681438762198567603122984956" + "17529478610649635357901422564682249462969460088983393810272144503916885638629", + "14033304028688398404089545751254979569049699915340551984412184456786819712695" ], [ - "6894292519900463438264764292659242116361936210107228897203114956615108320465", - "14227147558489134328158035447732190048870965571562543433839005727350235629494" + "7242759178038747404494096998044224993169513816067824413031492987300456908934", + "968190632906420692452807865081290940343138767641492735661467959437198373032" ], ["1", "0"] ], [ [ - "14320850367979727803456370253215537369678224171279198206044992705279862306132", - "5475541246268319974306511838266954642349839591742677843373092350878881816036" + "12964751171177929169670182425240761498461607040020835118601467328036987558858", + "15740655435463241944594855735935231648684671883923953096410588018036769516770" ], [ - "9695519010485916829174245942670015592311240112874015080337013283624414875322", - "14026863062721131266417143383735927929515468275568001741023143022462108466668" + "6954370193053655486251406740905618458518953022289151868757271522548301919472", + "21474571159868965455306627669334290549452576803823591301731326342326814568896" ], ["1", "0"] ], [ [ - "12402838088924052923512617712407943454558325804407246215860795418264423785092", - "10286912080628596477467183526391676938111746098793720613051271594210995874277" + "18702593988046837524790351483331632258278160532977261915119611324471253407466", + "16239592155161765109648123193105804251252701943901733499502441663333912783245" ], [ - "18192144771812728760821091791509406004413270888917521896519497516182602851052", - "8969827906164370148568535190125332589838680819876134752608330672491611718778" + "19358066347678636498093783612000296194480758342913325289131948678991962529441", + "13746033878407070858115621843430829498309218839316343379025665907999784574154" ], ["1", "0"] ], [ [ - "11068844518467094308182673400072406174415035287465774858372276008144890272347", - "21294477411884184721419887719040509211791603543588769195913632677965664561521" + "4562585331778730670899179927104513856322577370213643119870201750008533040214", + "6482921272760726478838066628157548923897782117283646773208763176771446379138" ], [ - "4898298183000166428070984533097167988044449442228324686951622815588789280020", - "3145975317148809397211222308484405528017506805621720865271122352919092734185" + "16654459784024455427280229763380300423080811024668332509526284511491790880990", + "9299549824594530154451155704400285409056448609359755927574262701418672785771" ], ["1", "0"] ], [ [ - "18275029135856620478842184125347270385705018956856636472544734692104668441197", - "17019299296527992906342471627956454165356014861255173051509531752951474839628" + "16198597482473356107060462797493408464959815651823410647378959304462364790023", + "4169753203433043290708949478342499350225971996935208104044673971132510531963" ], [ - "4726292743397434547486156972449202870187918808626632743805765024906772393932", - "18712955702371136698460276131619504667967074451844136203135440318125770689683" + "15996002991058741836925286413107190453488985346498046642177496721490001022163", + "17831214733154720272879709021886998538183166751338990495293296921834561417050" ], ["1", "0"] ], [ [ - "4203949560354147821783061259439508268015232617968894950825877033100175693770", - "7070022814268269475674001477040669982274081663112043242616687573179272469763" + "8026613233416032931155189579997899527124867847165186585887532521124762242171", + "17920452210119585965813298538098997746450528307627971419517604274103840658730" ], [ - "12940391355331109441147053871885221765801476632578768077585085250842908979972", - "15428836885992191488864297196572470385256339610669991675966605773279258629810" + "18354222295715868456732739635697044486544782691576216892030243636076554800619", + "12536429843060624487053183271774959575059067729019923970247266906616071589989" ], ["1", "0"] ], [ [ - "15029143251469020678417745262015955011761489030158757959406941301509954637253", - "9215863273591023879373751614289228209440638027086548351177699133093136218918" + "18343503004862189418033094393114515169584171574852422315350418500159030922263", + "21420692366857794685888663542888709905237738746850069466081467001353666342965" ], [ - "17630923485910370531147811073172401806424795286222769017995022586794787691894", - "17639902090432855761607212999107125862255080434477939330403550134367931862250" + "15200551988732901161699976788357951085426436066677048420098461828563894176150", + "16439186901063853414808045554962977634854311593865750348846556486836509716488" ], ["1", "0"] ], [ [ - "13783008611244158112820345862046566925592820181422685465611038024392658912218", - "11286999809932675831231635172884104916598198610643895494221292893580015272745" + "1531932691795154082010331247272128035283420450879984505970978649526303671013", + "8482807834840099486107357849095958421708288941420679407730439668240369271197" ], [ - "18220331907668058189189266984811818382536030325980319490052254711990106619408", - "7399859568003719929092067255297667044787076639314018778324389410794797203822" + "2890563104449202149521252385842115871596603958515320789619311677428773944295", + "10326017741190716069982105202291613302347042236075737537452333444753171570010" ], ["1", "0"] ], [ [ - "17038353963915800405951415178090940216214909064699790293151814567548494237780", - "16377454805970471136556451041642561492050129029468552950239023629414014853926" + "8031021217500376290269114216814836477415391402921787637085737712949651005952", + "6379626794062388565530320965673584683811331210463512233691169393056454417810" ], [ - "15490021089663831333876456182365939475639854244939093159179164741657017023319", - "3632028168433409518690370660019979191925992823806956511592031439491580827093" + "12412675319987657724460960278402203548317535126494687402198671892291826563464", + "15261959534341262089656432084966075417921918036565394975811438856221288978192" ], ["1", "0"] ], [ [ - "10869362019203773549991994466432246818750552482449272815024995819170579818159", - "19318612173039398554610402032189036230760569630971013176034600348734573687128" + "11063658239692825381704700810385108349384459703800229121613802621026834850995", + "18405974527641184935569939050199806786119735189423462681352004154947586987761" ], [ - "3245151284162480382840661459866398914990218375518126822356780454697379196592", - "17376037803297137953593713472693431735691900221654570494069764772063916969267" + "10581036997862130058603889786198200057133900928078268413900852134308841628552", + "20401912636755055463157317129314482008782101856095804626717136888886428939725" ], ["1", "0"] ], [ [ - "21739762430966591611544841693197130387727042679304816904320680605415377362025", - "13337456010890669571312110722110978626654402271645533931088450675631972389174" + "5914749649291606384462747717764850940787906745751128721215181537027495043325", + "2844460676842285471844840162496739784337096369846435331204280645139535043731" ], [ - "9392230200497743555544102618287208999941692619434060081126831244370851959140", - "21111955068677333960505079108312560231811849538594697119908234179626105686302" + "16679714051449621657256662882211432986285335589270632187081448168743144646010", + "16403998562201315274383761287898474039980386929670468025842124690312505385798" ], ["1", "0"] ], [ [ - "9765887841111014027207536734081294072212942995633675647422724718381533100171", - "10611805799193697089972647133835358446175696630019306104758388585312795475026" + "6360514614281299182411878013125972206098844277909449064382248671632240409416", + "8019490235657930229602545685025618469913840887375206662306714562639338096359" ], [ - "12111202900875841332274674234864138665123655274511234144349518743965832241535", - "19734635784073407875945934329600179316595807453795254623432046479616133177247" + "8421518624327767035539667378193845962377888010421324291966623261409058898245", + "18532505668867290379738328175003759079607042632729982459107375168365918757976" ], ["1", "0"] ], [ [ - "9338876125692749169921649753345966897920335121369780024613311788669200836231", - "21819764752388384320943920865020023504588699757854723759009625630599418384159" + "11573288866341175121647407708978273297857024597782918874282176717371576773130", + "20759074837657564809501685143530456377562536015816086555379080667602653298306" ], [ - "18733835313573560168713238640348200008758608939774980957241614757051426557329", - "16193105938174292468402166430441544247332830012383311834096877330373326202912" + "21884242265301052283286073107133504985083194336113478618838523331660374213570", + "19475107603336226504587469711392819869087288902355805230614724291289122375846" ], ["1", "0"] ], [ [ - "3919601513420678474289276072949118564098120747866534224625771548831677958372", - "9675068040487058613030479303481110062861018853323992035192122053375288989240" + "7951387307333182634684754650901435973768779794218900331714625086350726274942", + "3066170574229466435407264700502616839626082070514501523679452764935485028736" ], [ - "14825744772260021909192492207967364627484904101011554011523154032558083852565", - "14608360470284772612816373122857162753416790881336559383898199290740342112532" + "19848381031896652139349791682530465833719275685855743122849792015759588531339", + "13578824606544430966133042087468301830727811282121948825028360301706303669231" ], ["1", "0"] ], [ [ - "2721486373801018323157167210616746825623246218390071226081564411423434451187", - "12968340607736823528148475270009593191211106142050392359906510451365260428580" + "16419308144058642981524756443290703631729426627385646905142158478345164404879", + "6573154341426354993599623914164155921131813615298607946435982334364383320793" ], [ - "21479491441666028821536714814783435198368229014209693309182760114418462843253", - "9200592412239337272867558509657794777460340114124665277681133167901890516146" + "17945712678641984649495876620223190782305382105763957622870181201252059717682", + "942314767315789144256266064192022265579304275774793342260835421710673918285" ], ["1", "0"] ], [ [ - "4793686881935694857536946556150865385816389634693618604434563516314064685468", - "7468504662830152377628803783383953933430030795298938442558418401235422516300" + "8228171988949250866347662896961764196608750080646539001443256474901139877051", + "9271002136483424788269278316391606491360153732024211579417926107994995432826" ], [ - "5369558539480434036232750403701436967132622763576337857204435045501308015944", - "1544206620168318762839348132398850094597148992890365849594573375964142863145" + "3685474186777860155223706676482968796090983045736466861690878558020083034916", + "20240081759615964816136232877050251456333669788276947762731625798225823502998" ], ["1", "0"] ], [ [ - "21484720459303605302798978604237614472976046584193439253348361650969825748292", - "11778504031072617076835666396737479480765353231040635692430530998929741888857" + "7338708370982730261395030177227912514214944721567888714384503728042214055309", + "275116175553159498718561489405169511232715998055900506709208190227728439831" ], [ - "2793941551558768339218839007321603095797268500190811372910811097625523777732", - "8499136457565785031004321689745329944377719203840897611578892135704152228750" + "15163443940499746648640851269666923560658903809778640616581862089179343108182", + "2285508597732647746841213906783440647997136124356359059650028586535477309792" ], ["1", "0"] ], [ [ - "13694249165008464179020280306785446096967664405044044843321440965214796746818", - "11875738647114616324350947684061726919561909502972863503130998242120718452173" + "3790897889674729687102011235738708037383393765058266352188381434189575086080", + "7481617454708320190331411214970150566519243590120906863698168124347483283307" ], [ - "8478769662157599345424310347901565107922506021173025438525323643981274129672", - "19812433478661078453961877947302599509407379278239949313742808880496429684167" + "18961585057625546222763334757505522771740769338010572292783220912986926586854", + "17582850308142585333519054672998882111865339708436809129995518706804527076353" ], ["1", "0"] ], [ [ - "5812040741672176204747103844640668295298927415072914668459838256763201016256", - "19806735015669785931995353978269817545182909058206355431360188275802638341659" + "13953490152873041611053779700802518995304489998104548903919774028525032867964", + "9679690373149117563754317307037586538394929348733117229177073999196519450461" ], [ - "17521885357464563233202648521875905290166433650141773052058705408597538338911", - "11525530340338830716502860942689345100262306689117330289237484894552808300709" + "8400619522468195192079024924375785176686244213372269992523849676384018875300", + "8584860336778813488021026261425560177968889952950706471574873674510806966419" ], ["1", "0"] ], [ [ - "10792411997925964958381215817029067479896035855504468308483392531229534219232", - "19436706355139059383094509938806698706706766923839248625914995027794208831821" + "19026513891744713045426845531420132126578554294461150386909840193098440147673", + "1895928299034844696630794694609519515092896092191683631304721647222032914779" ], [ - "935862788360489051830486282214078237146011038653740178111222389815697167391", - "8072583953344188119277829536748521153437596767795457833432747233169365522749" + "13362867147840304033834065229457670563442204439046527165143934160967798444725", + "4073281111734161932072345995811001896063226222777392994725894652964051683943" ], ["1", "0"] ], [ [ - "13369983427310673379273386726118528512090053533610011895772924489087434499560", - "21007636601223260258896743126015285106374704680873221102534543271676455685798" + "9112140750806762434510825375931543886135367141484613422947675423683311130537", + "7211419275788152379372992549185439317698375419836488104253705518694042119228" ], [ - "781816009964815727693649369421765727079762601401895827065766198634750193888", - "7437655172123655742476741904638757853205242308502126726581419961030710769332" + "6961266423823329910790066424248133365666435921221127260870444632539329606224", + "12020406779776320543918475257645763209221278449775176154727249143619468329590" ], ["1", "0"] ], [ [ - "18289767809318109953604511379563953654879368440278122006476245297734205780313", - "7297858819137361266048049960276576061221795813016982777983276508233065012908" + "6590008305704976915857671866558706505394630312395969823040635040879201337002", + "18803497674827878184210135371703804206276128582022416604041787392310845729622" ], [ - "4400537004106671968009111731711678778861503186165383927771233149107549932374", - "11861017471431365163414128324204576291654501179050818386156071891372931715517" + "16299600292583383998706243035294548578562168326056377699804434906128380481545", + "2714759247406808259589803854440914533632699567907406761316959511568030744066" ], ["1", "0"] ], [ [ - "2992162472650247075753290379196863994101122291268065125561265479303189972094", - "2149278938146333837762157047865197539626726297462234579786480672038208839960" + "8484194759795978556088297437107686617328133596604796277228418191688537911573", + "9325238625126515763679853550553375879158552597544709459784109512243397955590" ], [ - "551667036500907650888508201663204030618105224866044580467647054394918324251", - "28038421244332437252451488699272760491836813993308427474241344447797755331" + "13482530129860761195447497269660263095272961608736579417124458190809007451755", + "7354463117736585470843139230227589188304331389476818932256765377140053168035" ], ["1", "0"] ], [ [ - "11119926988115729035668011565310535780603655775231850120289918739692745155137", - "8817602722261405319698829040610455364903580494786394492896940141358443005801" + "21462572925415337738214437933606587540653694853107274549824898449394152530908", + "7333723286812204168407439917521565157977670700382476881790986792115201279410" ], [ - "1680290803075724940691569649460494417420550431404206498993917267359934429167", - "654240854620562345252945066604315306494281026224973615193213783227252715475" + "16253055713127198337468919465234896268161918860396508551871391729457324125212", + "6820993392268884858152757378169835647522978080101384568523885945756789014349" ], ["1", "0"] ], [ [ - "4417305792230285111357011064673221162480286486496089003939989926259051525871", - "14337554339543299757023541671562153395916531829217482775164867679838962247573" + "17544563341965869668707473190805417639220912289969746146554006791986582724590", + "11102327427527201346056529148642207216130990405495165914761901542247835149412" ], [ - "18102181553730085952093068611215465293662342195186852247233989189686218494670", - "18318343953566300700872145919583310314872293221527574189507609074563561808951" + "4999887962989142396481351641254451370620928952306237803174890583736074770292", + "4470848226757772603246285686584200798638888970547659211297578619392420918858" ], ["1", "0"] ], [ [ - "1902628209424530126704615228962823322693910527728191597878269502368972448245", - "6800687607590437742793451968857688924532461129043710692695682669594760138183" + "19811002121850954821192061183148615163420706271800817927960207430256612524059", + "5314337765479745092537090978913989310916802510812096192767666377841447850226" ], [ - "10034931611814725856775298104026042876081758307779816060207300321750191893265", - "17205169168497932228842841751695431463810324846010162985835301764799251782423" + "3428844080448214358238191483671878854080864964895729401025193865570307658787", + "18254735365473444026840717290492248863101576601864757410600437101587001057517" ], ["1", "0"] ], [ [ - "8609310002954675750899296865505156197275068986904937546335682968407062557353", - "17652382972559786603081358712023734457988123179346418318061767410638467351353" + "11882651094700172542567008359015417490389070633573140242127755563781024148099", + "4310089243116651250383251477034324245457116277666484671624575402227833925755" ], [ - "14010114671133332884183212883039266364632832900771268544464943567097360538030", - "20953981342395933310821155979182741101782516022917194002901756056810161577653" + "18874624159090765871635243875933482675871258293088886749847315202391523956097", + "9304328383406369649010049197573360507944684656613297568584394172735340111263" ], ["1", "0"] ], [ [ - "155887139811629598842391409587306581332057016161277301334614704354501745866", - "11589273064298032074960397339280273111253628710081452605587787277989878262684" + "20383112265143113621158547584533108172173014612497300318772355462448750327634", + "9476241965146735006848999585927664857836027675817848342111996150638876938940" ], [ - "16121151623164478719433805875174860779395398667644700642305374194327245787952", - "21415746312736962630685763964130668169157204911852029590085104536633069699336" + "20733082136685384602293372077980283048183069753990343452404863587763569081917", + "10370498046215116715134085566322498900073301617448752966999679321197451973184" ], ["1", "0"] ], [ [ - "1432416214818308586539371032122259241440290306461685527056371471791146740623", - "14621784478774900045485232005516896073016099759402781623216618339142142444432" + "10728358412340769313351519567620170787387770135423141966436844748162218854008", + "7929983584961755765377471515178883367433439212271736050025708429355823243624" ], [ - "11269289100589657711755210305168004136417079020640258348687053385360804643179", - "10859741497221216461724796630804714121202257706435373999834867538278407694230" + "2424224908982307794171893487036131370038399449016750026546326391873466118335", + "4169855297038740915695363102363044976292665711211255871324667594694964037773" ], ["1", "0"] ] @@ -386,895 +386,895 @@ "vk_alphabeta_12": [ [ [ - "2029413683389138792403550203267699914886160938906632433982220835551125967885", - "21072700047562757817161031222997517981543347628379360635925549008442030252106" + "5275725312362878540782176211860327475781113689246818544623830805017503247034", + "700769043921060225711174322502145319612473365595920873303028146383045646735" ], [ - "5940354580057074848093997050200682056184807770593307860589430076672439820312", - "12156638873931618554171829126792193045421052652279363021382169897324752428276" + "16577533945604560505206253312979863148043263406037367789711279754781525822966", + "9408338099405950952721388539539775335199747835458172188116297223654842340186" ], [ - "7898200236362823042373859371574133993780991612861777490112507062703164551277", - "7074218545237549455313236346927434013100842096812539264420499035217050630853" + "12663399896275491035004982800573482669934131767886952660443268164480899034271", + "4432711152773877173921024337047412943791122852326272337530740732443732395954" ] ], [ [ - "7077479683546002997211712695946002074877511277312570035766170199895071832130", - "10093483419865920389913245021038182291233451549023025229112148274109565435465" + "13121778684901402722679281862736806628725205381360313795132945954337708567513", + "9534744673358550231812045647241180985734073058548683258847806241019905135720" ], [ - "4595479056700221319381530156280926371456704509942304414423590385166031118820", - "19831328484489333784475432780421641293929726139240675179672856274388269393268" + "21329152369227346659770815132468371951064045353268189088026893413117512652875", + "17209195434408943681049655974234541356066884378594227002358272904159790622854" ], [ - "11934129596455521040620786944827826205713621633706285934057045369193958244500", - "8037395052364110730298837004334506829870972346962140206007064471173334027475" + "5346467096835895366917814311591075634165750361894629082277248282132405045579", + "15508364027636868967189209273443690126627947943852338696115233789046842639684" ] ] ], "IC": [ [ [ - "11373228439083951786763438874368468668602473169346848394664028118071804690004", - "2392728274936215006016716287711141290248196217507457308817981648956555973842", + "20602000776800724705104231353971008348678632605343811527051139864158800058742", + "14100125742256756091734688090621667470723401759459592787502475801413744195297", "1" ], [ - "21165236263460891597139480651611604342552675916374159149811150532317922022637", - "2205889866435138776852640052657720558691248366998420655585799331913362910317", + "5090583730862410755830979584235210054631184460526892606022709842010236308675", + "4935746665478263580470501879719907639988899436008466660042851826337922233613", "1" ], [ - "5142950424486523257531761394520431861723450305642839631787321698382624066484", - "15189409525440736600177098582380596261100810741418368942552492853472187151232", + "3603230519262933722323237889869128969156000998401789817930265262617368730462", + "11467103179184542033012124498958167915605281189440445972230559164572312725202", "1" ], [ - "15166768161845773257369241904008805578918273462394677953758522994830670545180", - "11585842449811129847758954303386730558495513604993443241740010514431580852767", + "20354120984011889701917116306955017859695028034788955847437411305304360829487", + "16952752114474306858880411587178692742589121096026762314329638709126787301483", "1" ], [ - "18309269743519286170259635930367379586611051469932392196263349325096833776404", - "5169422438906150387687192335052847822734742081564185146089879581734761329500", + "18678961143994743003180318723146092299060216598083112257165966782010215931454", + "5866474510945308764957529269555101130643879788634167019342763906927794156659", "1" ] ], [ [ - "9858819933413872566321287453112479619079314892623028633956302548255682218967", - "8978980794620905465584214544974627507731009260328687273037813961789203643024", + "15947740979005208428427315036716544174249364023308166418156254508145278950889", + "13324328715790405384125386378518079709609297588403011236512446709595322048979", "1" ], [ - "10076358326823042048333094257819800797834453359160913022846795563251044706095", - "19803968301016597767781555029004899114416563609613744105056144083718519453457", + "18308129219862888344083447566760955160779532192553849267018614487088634836563", + "6372459765603725576424215986727450779217530423615747931788702584026023386877", "1" ], [ - "5163620256392555974431339018883081297271688900512864797552560460039668157036", - "14255936460639291949681319740874191007595598327244735898045668418052144766452", + "7093003777162632186231777482293120808844116758585672698445917711442486215336", + "15357576732947512625016950088762579987226580659874157718142226214458009204755", "1" ], [ - "14537605621065916653836904827349546258169731169287489407049733321313440129043", - "13697104552179432948127977631695913762483329167428550338828664939969524379194", + "13910597919064508360434043231000553781072135406219661606166769706745413894201", + "9475901949906914147982792916474633312982452326368523201024844634638043554494", "1" ], [ - "10518837188707767707511411972157042015637825295037224566646839468274503919246", - "20859740531774787409224706405964614133972994888613078458739440328759279998775", + "5845138751782936895477553974859998077996624699108246120208069774017428318479", + "3326095377373657419775174404381825686428913179751401123841216020519623741775", "1" ] ], [ [ - "8295798606560676055262757451569098075661634806877203374010954805416034560369", - "17823033916327857017646050340986899797748134226556967395794361949180557598708", + "8027751638293718359199675565570157214590620386957299982399037269650333307021", + "19002113380575481191643777830101182489616906893723699470070419138254788369727", "1" ], [ - "7863282428525672743372793899382505053760053469668593484933349016990801573594", - "18331488006684435728676028523354067877257617459721620528326034910754871664656", + "13631613009301650992828160964785768170789209232530437462516754147352285424672", + "10537705110128905270703523362934130036880036854847578111990360444182641655212", "1" ], [ - "3208791308718324440134969236351379590643354353649811828887575168234009128404", - "10257765481441384707633559757593912517257134336953024015057545492286789467798", + "15557574650831364767567015658284909068256128766563081293491003990055297878366", + "4049724481871929240016595616316679773340938699307608349394228543495262553744", "1" ], [ - "211202131360446365222702196868578991195656024430005775334667458570635430182", - "20847900408506094777967626429608261593000174750467914924458433091857566381170", + "9967066649437927083270210032320564587652082866881800887188539489167094397640", + "12463426560961961450861478284334163210886016242490079948590082000657390077088", "1" ], [ - "12874163201492094577931796006056258188942453406826318262453514614280169978298", - "6030254908603478785612749007917517401778254879153565233016575793713168729906", + "21318595425700216078579789307308348011199610228556265752904860757510620370622", + "7430155508771673067823897542900534022148544854722115377830369283854627952599", "1" ] ], [ [ - "5698226291009392212509456603087660757167892215070748391710298686451794945150", - "6157973895099184288402315817801807399850034827661856468278605062696847353498", + "12017353327534072098763415761011052990865822334777878720246921848197559257711", + "4746680322053291743787031203095442352574780441873349801788355375401126089939", "1" ], [ - "15141526076642728649535042926649597908183234939224775055067110611584500129001", - "4384760212321739848884344304193577499977798066111221580475869690599633722806", + "6764632552006100580460767171096753901452726344615530017064702126145414585640", + "11581587935666673652762153205827599529022773836189155792609728856814288572033", "1" ], [ - "4172483707996304656828832165635673373391709578552982633845732115764569616109", - "18703118242791177268087540217341214701751955061868356627779317654228486952499", + "3123694825428833189943974730387937552931713004458396242443840668462184834558", + "3432192610292569155696646287493678963086402014898209278361624573082188247990", "1" ], [ - "19450300041750343627209216069867232901980973906626832440586455706765725761024", - "16059746288175455494980620176090534670137960271693908437020084988051972211964", + "12349833666000936285363634772178969342930188247085371717039135170012686159900", + "5587426338437935681688079936152042996259869611071713486439341129143155921959", "1" ], [ - "20545976615820429183066000767405817531114365884543728191728740956241774393365", - "441682222632036954103668474012025602234972690129065917741930205184363335774", + "12022589354168680516901928073724404259700970836413687340697868887207353139344", + "2351613311284811919248989036726852289804810348516261915606564943623124473717", "1" ] ], [ [ - "5694780594861626040122686431862072023944220266576706715410778734338641503716", - "8712472904136893949123536631603982882802768648960668490262215595304129180625", + "3115002343037487520580459802807906562630507097436525958861415456096559884443", + "11775142132959919266954507317832500578453517368862270948538792702813845219681", "1" ], [ - "1995786476093573828491499692373505173525336583145392096683467783999902548268", - "4926925836258627177637371690839427994092983220113811290959738100072290144384", + "5975456097652384580746132945351678665917860606511206167023154005883554813508", + "10958037207675554032315788914627312943186758288936582678633536154169678007202", "1" ], [ - "3791559722445528845247206264702403543222196830021730221796818130566106209767", - "18417761581887733852915376127193234657558128442956795523445623750943914605716", + "16345185674805541466042568997276776714209785989761944600635051035243995431568", + "3326264593228494909568322793066180033820330146744162800569972963329142251537", "1" ], [ - "6559711611059474660788123194641390228396298237139470196512451543415077405796", - "10546964127996233691569839986330212916129646278460480030759233831657936468012", + "20721047231464194965879320004420846916587593568519526251056516572985788552732", + "2552439778142862614309289213707433798337671284267429041900242151271508522517", "1" ], [ - "19639002331873293572459373894235941550278985499149213248754356208213460657162", - "16617740711303077578250556582154106231075844388484693766277639059298286987625", + "2849386127826497959217687777221941766595094589431869464564268817450132435018", + "12188539304210779665491473755999603070354632830707125660270270405780470402800", "1" ] ], [ [ - "10137887164821194167739010222610234245229180897989876335252633099720202939025", - "13556557929447859629157159796541922173969485671491640178139584889369979056605", + "6024976123298004874848602709755399197808739071863728225378332097920450236516", + "11108084608972457539770160222798307153256767409158349747526974841008717682367", "1" ], [ - "18001826336416230108554083436980932740049468855770464827475781769090259294957", - "10997751199060512644156045915284269336171252742084691214654620601348632057908", + "3009127146923662343754766534488769100730310563110562565512507605403185571089", + "10560679284132950437595738585637379866590755950272794729013445350206405316661", "1" ], [ - "79913969765597476108932900497715672182891152853885723893501837676479334643", - "5339064100797178384601587097901074769415731437415874905101259438574150065725", + "16015321530803994569819047219560485624444041236327101681073970215458831987478", + "18489840631710745699731219026737904723160484479846032199737023956049067434815", "1" ], [ - "11790468783349396195257730524002236946005794800506042451697489501177528985869", - "2058745275642252757008568790584694831559296102476273845301514491747777902", + "609265187318362115240245160721406765003010398230819869810290394123140807290", + "2656965952206569220410287839949134856874352189248192147930831679380007159249", "1" ], [ - "8569838436054970055409792695113682207394942064434307728493565465575383738014", - "13183322615830117090366962414504200812495447396240587506161350006490578304105", + "13957423432693450118120092425077530751840166358932317773385901323790404449641", + "7610225795517710715985874151201119876406845575780133396869144717381641586640", "1" ] ], [ [ - "3610567344582501189941093515503625764015617358100951789070992465620388014770", - "10092557495034796324189431780067983533486688638792444215776822879681822814418", + "18178936861568428015361893654874798233785855995042899944660014774323534883903", + "534506139369949013962728832141783820104682340925384016906020027968881380951", "1" ], [ - "1266136239205073111432095590744834423814511894190159459963868637184138842722", - "11374864676654295041142699893206238903356920702572230940823052344171478284171", + "13888044772855561714276444972404100722751042044045312252045340354941233320135", + "13061437363756343100054622876229104455920015737970195589611281743974716159827", "1" ], [ - "7496182320409371534981231046400216671163346135425875811178408606577271153492", - "1462528704706444827904493040179558039394825924259061934534583958249261959624", + "15297052669271818809266618537917704542138894789392864971735934945598379827363", + "3240592020743113440365790241401792477958041186219702004441781545015089517479", "1" ], [ - "16141406653410498360525438265360373701532563198050057601030953589813051750690", - "14018180053857919258735952789533727227462568550710713906158448711665296451356", + "12939402739160799630996576545137073878726141216092557580496570401396343874133", + "409838859583542828209958035048329036930557790097408442597169497017958367880", "1" ], [ - "511374127838749625770334668647416912569313578777284750605965725458096929607", - "17635169227434142694714979150654436187903738366738972509867831826867283825221", + "4849352055719384218783567790347020036570406423962447054960403165168624679411", + "10140481868950825952506002812679553069445144019364683137830173127833535162812", "1" ] ], [ [ - "10971489037448711908698715978943908500318707562175731815741960924655210840831", - "6006427343343794957952233726619963086279381477900155964075102505701412817059", + "12128929995926069335150064696726717100038806543084523729572253928762150006902", + "1527343541447603983494013575570118174442170324803005341835852970207664984106", "1" ], [ - "15106747726469907788692287944434907296109850836405367650663267344226048690859", - "20492702082677255463093066854699770210633096845859381878102473765397334244292", + "3864366504647042739453971869413719136218296278515580744588126485271535533745", + "16390744785373846505589339019032992526980013169808686005019244934399314954484", "1" ], [ - "20017671604137050517701389289600332952924272776091967565221423262198791114477", - "19092277823744726322414075820335182617528620489612060910384627313255069537857", + "1189371614834081242339044631966546656514169937037419744085755746584992776112", + "2490564128297998291899011962907372091056992851367564813460897014374926950158", "1" ], [ - "521420364975417235554366424369539937652264103736140177007376087084617840969", - "3996914661098703435279657116324643068485300222550651293916442007463647760470", + "2632864541439030478006092584387470079076010621748787710053145987733131826177", + "10997016251008884590554668186933912000821350188750456144761529496433221911191", "1" ], [ - "4679024209278631191232555253447082923762821738851347894762954616029136450469", - "8497347026541846312098745702841179850966624542794907236048342704145659678775", + "3662989402605074726032541754492900291134797145446056852785520146936851543244", + "8371074929323402425468930212402691638137013802793901226648986870188378349904", "1" ] ], [ [ - "6504013699913689711099075581237522738280971836923813934562267069952131008789", - "9335304366750096675257996749136859439347731736177301019673263812644758419624", + "11685593308965088606881675161829854229906033467171784802160080423031157953626", + "18989841286028554273231159314070667749621876499337485447347239057791285949659", "1" ], [ - "18674691980838913091347677991332234920479452203295602521958600357998616141596", - "4741568400157063102689633599777211724821079787176561142252991434247861983373", + "13501500842653069022700095920888317808542113497043735775280862312089436522286", + "16284422417487952110266526583186344607656490299306406671512902584454645262294", "1" ], [ - "6081240166901015395566231760209678592881994305266889564610929100038948121840", - "6726099338457783260423971895907643672217936148382337363967495541886267184664", + "14766820041476554952520399418749355774195705334216487399328042021346008099854", + "11502099463338241997177160748027482497157165595330950109059924501733819344412", "1" ], [ - "1518231630037540558074208692256894068220282655237665440528391362801123567400", - "6814959623000862963349418000763326032812413890585599160227546882616685479781", + "21097733162892834226328090737666232905549661288100963226189626007151883115218", + "3620141777236347892405766912767968106066233413607983266884777435591408542679", "1" ], [ - "17691964860627566514162469663546469998385191762053312278765810284413361692706", - "8886638770454932775046812264172460584356331780532116653693013498914944507850", + "4465316625088681267432956930147995293521314127558426510839100849580054135068", + "15951396696291486543574989938200386934444721629903447106494532971713975302198", "1" ] ], [ [ - "6051337981942268387146348592741777699916830790184591013400952407193740242722", - "14813309083853385461981331205467429689964041093530055551198131882311452944165", + "15140772590596966074591171894694986645347795546765667852915300358255369432294", + "7383386342436648909729802223228006548918015494414484659175617833341830753463", "1" ], [ - "13243916879266487104491184915617833718034439141755271499342847081003561471291", - "20559308417239116672012110806712907520758637467837138402161111223933628840592", + "11436445698241305906567677067532324081573492145508451249291326304016376374466", + "17397405229027848655285535331264669055168427730382628461971653096729174692794", "1" ], [ - "19581439469161095403630005805154174170687505024117879919441181595776240034092", - "17149923765379212333833055145767060687040557826663126725983709990821216291941", + "8888190346365862431131132945799487885295183925892581338098808269532220115208", + "17373048493258440814074078107890527278667903472831731635546171123117085702144", "1" ], [ - "8848229792169763857187638630433883807573443546037902935946980878173551942434", - "9076584903972238461379608530218901607367189390010139393438137978954314962294", + "5394355195223713516914582580686192473163629785306318732489822694588538915692", + "20814957740385525027786677509245187599649792998372465800981035312224123940783", "1" ], [ - "2838594782505936821949168913265923356032509180068328675364337511551145041706", - "12082207822506113008552336146445599677710895859529470992436917935385155760011", + "11167741662268878371451552983943563550747492198375641214347145843414778750740", + "1505498991925224080559736158020686494389967648228591899080542175743913505975", "1" ] ], [ [ - "7221075042299165070640763584725863160347647659704278782330562384672809305162", - "13601198331885563117630840819920283945716376381432043240564878006092148603574", + "5091938011714608365574587822261119297677309310900626302766934784886036216676", + "18792973255357094538588824962661759194320829424712347846315600994520652609459", "1" ], [ - "17966363662480886855360210401838893312981368660270687414500495451106355682632", - "9255647376958236127578779968319205385670535134228597865566167852255941456992", + "5819484726278895533547092474664732368175576227992878488267454637556311136768", + "14087278759052154922504944654932471722205352537489748711235261956958139094423", "1" ], [ - "8203959912436866237932353632392355578980349384400645301966843912631449233592", - "20011411139499301504584228175724552542130947288854633651397978547089429982167", + "6676755499836944199268283133886528716777488598645051771936175647684814488319", + "7841200200792172536039490995922340397104113825218911994623753022413575084536", "1" ], [ - "1820524505387064465309460998360793499775868154592043137422833944836520606454", - "1959603910351136409471920269505238383870634384371099582856753558856496902512", + "9685171750835271647846188024034904289604883281120913275229696726161494108338", + "13804722593058778047599265964893015518608567919815229008355552695901539135617", "1" ], [ - "4198694051360120490653446337443734423586650228488283685090646499268901675490", - "21526524841382152147992421724785801038770676270240714297859552516739773492697", + "133210224564739370698401112580329091433152068231765294734991529050629411851", + "6253365067148837443745536970484493754157158998156041417978340186561909915882", "1" ] ], [ [ - "11332498437023113295175458390938230450212523402749978995184951126111215368275", - "7016084735586326731105326496042171157633237979413962565940384222454876829020", + "11594484527416994136900781664743660516883697944736099448760569480817952218099", + "5525949004768282420418522754788387377346850869414250693501350383184014395566", "1" ], [ - "5013383022618445727921740844767853050438275291216971327851792785650669011741", - "528618354489883480125467549183593651465882051681270315858578353218107644734", + "13423677678153887686951876961584096043047689175638209759158420018856273430250", + "688554022717474500337948897714325469989973507431329797109415877246281679190", "1" ], [ - "6932115924239435517832880685428272633342271017032662880345701095160428372300", - "5520601709801507363146277496110244143378961419982733100311341395981490633588", + "5767985312159947447966233995178318554138266544591427341210101818005833690773", + "13782057493439290506357575012457041256926849070794382612465582256292384507590", "1" ], [ - "434079293392651414251114604226309649137438107252197032381696615267775897288", - "18623332313653972273799518879682220458729835518812577091590130632605360081933", + "2009465632383454183075946487099156558696455704620200103263777377956167571948", + "10265570962161934109202420603055144010322859077969741656080416572925588897009", "1" ], [ - "16981203870828204556408891045732712151034600645789784935821356391746701607849", - "10839961472824284602079430847341654099878245597092020402049973455392611362164", + "13063467510206676485181697613068184940643350938488359709447602318070297992418", + "8824580488237789516855671915345935747743201560548603121129517348234754630838", "1" ] ], [ [ - "10532694937633872732615221785339191399998813277853598590284977223084586265406", - "18569891906743239236657790847950300608514739578359676359176841830736581922673", + "15613862437263830065893280422700893831122147824370200118126675792748158214283", + "11637898091445829201992956909089879348463617460955895182594618572267100421779", "1" ], [ - "5204330292569275288250153279775499240677764904182920564782936399035494759139", - "14869136923170104943599081137392440247136712268832152014557322866069417673392", + "676470684249461112964281503193041675013396554434239929609436328672155420783", + "14862758280768060051884504554805186980208629806423451755599092137651959992706", "1" ], [ - "16609139756845639786750046885223171804867949172280450359139781662901766868597", - "7367747621397764356413880321758620580129087430671669202576071458908338963767", + "5623342967419780942118234966618900971275224510117264341831041912523393680166", + "12293742687505619727765346377361630310803471543338450439759434637239250426631", "1" ], [ - "18157171842959734937470210968648189999811759058976098804831380331978049484161", - "14612065821098816890897211924691530301447930045836897440401478111363414764157", + "17107107724389526013252251054585363312805578717860151655674796329456502453436", + "695490429984933474058785653390434166254929169748519672533632124843844650437", "1" ], [ - "3678851330338811698871212394774190592148694554830208940152772420325429207592", - "1261073646471879421850354957670569129175034189935008550219832398890385831603", + "7941603993861390710630117468483386570984050378175531457457840811645822985465", + "19423663035279971057851778008344970269742436279020301703706239058210708410668", "1" ] ], [ [ - "18128060449612109642142496525936963279825759724692188014181733764391545826501", - "6412545369924963430376339636555328095118045874871394681127600419621347748574", + "14178974435133537452754432783693851994073934244854394772136599698341675338748", + "14490318493007296294817313593753116388501252549516359980240258503496717340194", "1" ], [ - "9178419128141821432265215706509797566711681420667049266964463482093364121974", - "12757958736224258162889762688354106158996770313065275427510212926355720788806", + "21219478166573360512901478467779541318881953172337799756939010190701884653821", + "13653038712207413996195005796658436532811211815454701512198612316602372800026", "1" ], [ - "21697843782274732041256438596018216848529426578597975296740068185709056950695", - "9641329027897013830146943496858364657344657408442613002988204006109548012670", + "6606031466185873676955137126631780808678269492505994174970319773811652852017", + "6998326006251734945119834407770954155028321677085545151592873301468610324946", "1" ], [ - "10157462635214395067310714425532743819094195406756516970796212542533337329791", - "6756552332702121619038049584093175387814338143922613739401669728656840170909", + "15717984973502827230694305820570642040862757036680118080574899662027439132392", + "6129387663611887185666499162725019000386957238200546358846681873950634080364", "1" ], [ - "9276003791014657516094759987195269349958840151064358512535335441437526577719", - "17177335596130235736675313878734353760926293469390853206840228086544227127243", + "3229894653990057163047872622628926092609943988699832798310941005306795398260", + "1577249093608064810495237122250056987651980088410811739655744853476971398741", "1" ] ], [ [ - "4691701433964504850819405353426875432448611177084640879664399563684106977201", - "6997026109056305304958456212770850719737661180940807196442278723629505898836", + "21508024236353721936402111331734487542417525255582275314005272967405040862839", + "18027689383014810715963711252886295463940938266456411644747464137365500951807", "1" ], [ - "21862540916562048400075167198394269266629631981308358022452061330955535980535", - "20203136947717696850833432049217389834551585785220431602620838951128875924332", + "14484077699638992615220759300878276902226958277985946809174186953862915299590", + "4817080763362108602919187869554992685382108795016276838137423588157592666796", "1" ], [ - "6166688558584392552732686802822787347815166465668907688252438119180905848686", - "1515830657197384709067854833370847128665474205967014377229527531272518040510", + "10791657063117982548380087239678382293931165307389242284595466175088416832331", + "17574587559710800088797913763598808892829608388483075257576879500511250128297", "1" ], [ - "9783110166666159719262248155776421656845594701278593694743917659000214566949", - "14498343612651837182986000137068086166435021811504906980633109697812438152688", + "20931338330271163055101602391315623325223860904427973201832184784566097488773", + "1954574324880132355431783868495392698894997264747376529310223470792870288803", "1" ], [ - "7451534988011232583608528483663880320228268776552285912767998924492654022315", - "14389118774297616531519885127100101489071211382178872997387065906551438715617", + "2551137710278149502571112114560159376697849893483916552857521579500208583200", + "3997814265160290573081282672183091638735659350920634229735367532175023689675", "1" ] ], [ [ - "17586200399272141670685001491641162521294196727236050999778548238215046166017", - "281329337697491075931159352771449215426528517554332825727307529327678211850", + "11844625750737259417493690805104254337758743574820507915512371579679338049474", + "18479163117067129250021591308069049721232170743585134941796617403156042279597", "1" ], [ - "13587768455979634277266588196077051473493752291227370910424884771755142551393", - "12132714832736811067697324782216133875324337588127071061942622831539088199516", + "4434911559893931929914698652677389633068778061297646529129767359157675249407", + "316682746098441691626372255125560321251096997722401729182940832349927288255", "1" ], [ - "5424242637034241045316293106740200282134858230716641545833281265555664814058", - "4099977807866045222441365441679488428090978308192769063472099506097446172444", + "19610390525670030492896894087745165507340241783776573708027658938288182681300", + "5840208148535790468526125686220196099566194081164771919666034943299219873755", "1" ], [ - "20991094374514370732056452708323057419772785522538068181419368097559064487764", - "17494034245166301533444525935585362973100718889755879021217726039762737332309", + "3679027218793663842409677356801552901605408436635647286999251784339864591201", + "9878321578558671609403512127325051261043472923444011356477587484000484178928", "1" ], [ - "21513377844056886482755561165035200163740875639723610667981589251852648290497", - "9065101624205101464784359744884631484276281653365096468139033730232168384170", + "16646455734597629493777237097088292344110223995728568379569260368267096014288", + "14735311379463771264009437608444808852233202023120148855228542005281236140064", "1" ] ], [ [ - "20984349344022619370458450579312578055808523135369866643465670885076660164806", - "418264638272070574199167297855020670696708537402223370097894154915338824856", + "6922136549797750291447751953663854475218048098902194660515442295348938322083", + "10287261443878564608994021014993200221021609196127927226041534661185500281120", "1" ], [ - "21427513166561351336822904548010728579322568176247623689193394481261310743729", - "17218242846472515735641714187716984107651753683015981795233490838798663005098", + "6329063805909277980282354325384845982783657973381777424581891744521604640994", + "11017548748010510224711773916683171526878158646735796493859902304094594577338", "1" ], [ - "21103921212558832170255972733170723908475938955264614598038505509464559335152", - "10402439116707708662126524824676626448483957064152280120730850351913612702748", + "7338335804036221772945379382782674399589206056354184002757176151341198318122", + "16538115574966264108203522400275571374556020887608210819563613080068710593180", "1" ], [ - "17902409153345924357919108278878752639341210912451068626743802458423268435162", - "17156991212231172773517848502387153524430619870630373199856683436943875771004", + "5138245976626127736555381649425906350640183768145541963359703291501245587848", + "11347291457433539838423910567581114929056891897670787919546976342310334767900", "1" ], [ - "10646416238055467241386416360395574804199761155307993872061057698215892822922", - "9567771666871218298332873263950533751702773388778384953522740303362056866931", + "16731418617609356258989018213857655050257827940403117452476763890174877962606", + "5300557287595854140445529914668848275536281916366261035684431572728600543772", "1" ] ], [ [ - "271501919920560807144690888833558109667061334163559001274202634455325808979", - "14794481401072540343622539363544947515055760970979041148841701973173121160867", + "6497446328454795535775520142893202697197882656922991300092165933292014766725", + "4597431274747983679157649737399090093759447324935531801532881928263496852124", "1" ], [ - "16241413887148836912852878034655069636111245133456457252704664072852738020971", - "4616891037946851677520624578755099324972320662835976914889099357030429177473", + "20581664438782214735167492264807215952133504025063870863776714994387749970180", + "5854805250432620287068939301087113989827350315462338534819773170350910225622", "1" ], [ - "3608927726708508538381205233592212299638621918906539441231152707366248326730", - "20453218571243012416227036764366636460616051978680116597236464784651135817662", + "13548539273975522227017059057161374261181128673406746320122994151943985128196", + "7414800418339434590171697383031637744601564309993253226498272110927128779715", "1" ], [ - "21663166035926867176571290287267617498655213253914511123571589436615865760399", - "6820544505512911561421102139415733480016159315919965296282806777526762552747", + "1052987139013233499761917411027037646861657729931697227519754049539833189269", + "657108667626796780066815408290681939596246857020023912757838581820942772606", "1" ], [ - "1241495087165602740391581058509323079765010896996258108944819093246488858318", - "8124857698166498408579282540958166224847900470279217858870563626568969324640", + "19088282520683145597098955555305422198780142332183007920340899996970202127885", + "12616611543293706969401642310383814806112402432261338062963427055972449363741", "1" ] ], [ [ - "12006824962639473646619675695320713559632292589665720351249509600690404062910", - "13276706600670868735848192943347104623934461144298261448190397129714774342173", + "305741399293956298249448376598537769086716682101868856634885453070917344627", + "14942830908704142867090451021371809832404069532430585621173997534136021340349", "1" ], [ - "18264760419082021650494509547780257751527429714087988777838583561869870161497", - "16206621246021864196868319303736926716510401444517967423381020552156354105325", + "11873341523902185373029537495825388400298468809112431373607438726587086076801", + "16566421774425889929886838459987430622148040878072136298073788804726016806526", "1" ], [ - "1711726122386296242553570383485323505029934793448519517467561601648909492476", - "424608816752490157168394436055547341686841853472229245627510525503910492101", + "18314173705630320437871113612645566255775444265992974192826331109357704470403", + "8597072000455186494551694692524831407069966911367008568012412188890924300508", "1" ], [ - "15415617655332841541287596609058338190575210759281068404604554729079985521497", - "18478290351885872204755929772605378173281926792205081562405194750294909414375", + "12713907619301764178052509321657058919935892208409394514649600000706175319189", + "14893305145776480356274920935320977108910444566603040558476174175562031483300", "1" ], [ - "1332104917854036528393448566746555920300729960761914526841432630705030394652", - "4875500610885916981959937005615629475085341806101091219174051361012752723259", + "11027938853766719633497710751595847377263279173227878474215846011660771149283", + "6927793728403485743741891409676155921703126599118383623637742555953569891357", "1" ] ], [ [ - "1105636691459466684354861615642532458695547504319491829198944901848354002466", - "12426506081436950451531584361567271522327297423292681691257507245865800741808", + "37868753390676617287004841173348795594362354905038492583057282228528019603", + "19475937072595290694509025801956972632863465524774747773770243946674956142538", "1" ], [ - "21744454903360799020170340278186587365704908765309976031542813238813825084489", - "11372248299010487313898881702904101518095247949018830132141430386679279269802", + "1818532521520079200500527816308109106767855745862413136331026404438772138114", + "7893556755641665136576228990240239515272703124353568551151593029797349984766", "1" ], [ - "21355163712164844869530150285034119671090568151924216195709912115114996041497", - "5914269246724008463378274526282819036767424774567321843447592335886063108576", + "21843411659343488969197036446870567462789014279182131087406329675847260538394", + "13883536936296384480685931731174096875043607202415233199362935327975006076376", "1" ], [ - "11757178117438262829005662514573037965023628709384135799022098340275235227691", - "12324099857879926506512664547633107100872133202763933183968148074461422444945", + "3061885619227488514362869971925298711535995206671454426027635264218303442708", + "18477632669759047471715211461337808302603089797347923153039515976242018999984", "1" ], [ - "19030167447913285073203707487614824348154933215474799593455300093917690498309", - "10756138991756861027792433599825283466492898786698456971350016301834120358130", + "4953684980989921770137053964305439167945572062294709110871332076115076441738", + "849590699713478394267684876803414882497887483062076673282369901261463387635", "1" ] ], [ [ - "5818698629865247565077962768609742022241069606093835632689725123770908238374", - "10032230959981143208283946841992758493223859540652919348005062379046462012203", + "17761332237343741278668998123360108574589045018570742689473320560784505694171", + "2985768806786881176362869973473950745997650698247163897069614623128281191971", "1" ], [ - "11522228664628777947230879504212386210128576797203829606594158165912469543023", - "13272285677937114294437486001063514791939240537126238704993220742500063989359", + "14099532828736062687388547070054719462342298981811592749594569670955512096417", + "11038429458121896617356666499000022639824993159854464409767840206807807728043", "1" ], [ - "8471655692275117723910962427858752915984310638982095612617085072826817856111", - "4389133967757502017802977428616053155133503096651056259096018766643340643444", + "7092464867594165410092487979619486929166817679669939558999555261465867685619", + "20690943609696626243672018055336898909740557628366317533030490341400911534771", "1" ], [ - "14833683426056097377459837308704611274315245609945506612281500340707955071545", - "21735047966739217600224642583481593664121921255631091231639049365846545339271", + "11468803355345327303851639215186997122074583511720489615730106184659306943551", + "9723340381470060111632263437706139036358918795037011403763820908081655273682", "1" ], [ - "7278464060898751306868720821317869528105334779561787036194323452374165351865", - "6039871164511288641970658426390882746101314533737081850970345002118723705339", + "15929497108714526572140462634902391796285476840034863688822264979709196730555", + "10556139316790113226399166507094772235069235781001645893008903131855134732783", "1" ] ], [ [ - "3562081668776383619644089086241623016377051210290983257053604147762967187048", - "4553365292908760204444921066083280974740968313355524357160308575327815731986", + "16018239095599670975582212156736908990475077583136160880304021421989907078233", + "13442762142079759258078337448325782252795445513077684243558458356586404542166", "1" ], [ - "9612674806513362915023578944934656419542782185316845654919222232866782079973", - "2856039308549766546769489569358317466998141815061340660074603482372423614916", + "8012524517439221218249889438165569497775551565363444399021079689755695756644", + "18993442931337392722189844722480176040693468853419121807183123246184718322422", "1" ], [ - "17144423089194150938664044057037571466137059216126551322826296560818480520188", - "7777587218396926909905079292812226413674978129026320051535300425275288555883", + "3920077716342530896195446297162279477088824676672184510151991496745985467962", + "5663885918690734602622426696143772526257235018784490039324179199552252272203", "1" ], [ - "13348600530906896077492067999286804922009589548263122827764204432718850414877", - "3504452333162729816257605356258771813994176063517472700088677353335099652978", + "11007942216549411481832816505096362871539130535791764225892613523847180067807", + "12333277086717649179464584335417603775633093807601488202185840108448843332123", "1" ], [ - "9271993074172346116417190887626439840621996383820554885726881799780298924983", - "19415901227000992567609415633317148788461729474913900357094507534384428975572", + "18845646001611639216437777320622198530894193094859924604338859788769244491906", + "4365664869724113934112630479809518948808449158812862195377335314227128146059", "1" ] ], [ [ - "7693170882539863875701602528545342311434468852163389086171388853464572270633", - "3908303967241020812745991584454294385640133430208468916543029049706292930305", + "9724485076061228092177286932258189815958450833155679889060988975712535081230", + "1627333086421877964064603957348348763696708139082607562629629725119997724989", "1" ], [ - "14200361022064175872846252914915938901018673724842857113422899538373627654493", - "1887985090111673428008310095306101841985601166058324952496388205310462613383", + "15641874381988682075545920458678901707167602315586561132909307694310257446023", + "11034182059786563285109970430313289917032071817373248775707546493147901388113", "1" ], [ - "11573157656525163647952907768764423420183350046483835223957092582860133547451", - "9173604865670358445639146193904526160076171763657483567287015999631297551260", + "19299574745226772810381056007321573284793444116746272581694295128392282602507", + "6482638271546132546782310681506292669989505915370438641175376336582811537739", "1" ], [ - "8178722693917751358075016256308930447648179998714325218415150487090497217243", - "16479808796736995387921450370830080669813035631409450618705788666753274143975", + "5515138970831679245126906315331906152285174207704247085730757090763031968272", + "5476746571008230667726688443817396210804752373221945489797046634505665572661", "1" ], [ - "20533543720941262967922843401527010251494136604304116450329194230919992456714", - "21738708027542248258448002258354036928076950567990414271901435012481250510866", + "7666694240010574980777401583687953099995588711474009270339615112182231942529", + "5345423812126487230177352826531606752132805611025916574123407915411930666385", "1" ] ], [ [ - "705729203963801077445366659807159942042515811344776106038944684242779323077", - "8198640129213076396347058165827729949570109420499123900233622693161948493955", + "3527954161191330198309290076708590175518992377857531220243324230315686986882", + "4506493800007416260514839382433205292331764028735360433653631210611507932973", "1" ], [ - "17567949859381263201697894705370978555666635560577878390586549308344241574720", - "16953629262080155066207979848352607491010984453917718285923448228568338552102", + "5530043493028748853396066194331787195114268917530734310055878976603589658986", + "6225101949608434111198442012357272827532649788667254718474232856896193900534", "1" ], [ - "16571340903058171078202337397668804978258511905425857983395617262853832093164", - "8200869898550007995855767338315600003217265793696813934354774140864404387075", + "18857681750145313162493356993928966938826030906289025101399379263672964054354", + "869004496821135911657110194622810910776043851317139916414752924319830673140", "1" ], [ - "19245130308508431368191001431651810775716975255435369252757393063712397235401", - "19295429264588775090334360243373041256684104838925789132682844828445374541241", + "1563829187789877652048924285544523323087888587074484491222967490033068091506", + "3746011388196035005128740753677692387874351474501361202463946309770129429478", "1" ], [ - "8244640034562580123950327146088236084020067479873470678893810764954021793820", - "6071779329882466654134795663117452253106971568263743258793999061311754781283", + "8923361680602360491637539340186330583808472610027697444204036893010926051377", + "17386658730777389148551542774423634880430074554050371095211396948875032586750", "1" ] ], [ [ - "12211353780794522017482442205152184029453185156252615419956272689806996867522", - "11858951133579915446931127734829983281450719684822534749146423795831786572024", + "18030052417377603682453955579175094175373404791176719861146533099419481910116", + "8281176924556272137773300347187527516223668703826908452855802099328657344885", "1" ], [ - "18699083494838544659449334875917956720534604312394484877250282743052866694", - "749778821409550859537528691118971534871459292764959826137658158363222566834", + "11849913964821118293258226409033507680960291656604016015128854810099746642358", + "2718653438901851962181612429288634518502998150085578586248082443515454453331", "1" ], [ - "2909597392070263345393422292436111503720531353687130181723707126400751447693", - "12217177777420376281128847110380606163261839348068116179245513037333903388087", + "17998120665039026798317726060462551095622279047136565816648549826384179735803", + "5133986071087432716437635164720916024596119526725252628340805179596147643344", "1" ], [ - "6920254660239140919505113388774145966103232605095540610909080767264160069300", - "9696367212878183305057911542364374139977595200010754215085255727487778572962", + "10436725621240227608920674037516192343160590540839553356331196590007025190330", + "15618861474705274368161439159831328775613537777134266634959100526889759124590", "1" ], [ - "14968323162826489282828176469636555044919206060463682988985750923782404039777", - "11757071201913114247059598621424329188966752420483410843397919162379753756933", + "2511040106219966488942941427805413210834998861588095124665874406004322450915", + "9256734357641210393451356199893573129989430877284906007481196262323584132500", "1" ] ], [ [ - "13128279467779141267539556181844646897000953259054467200148815485804849945589", - "19182542610668848202527767345596590904881280203255613775118909904478382941801", + "14565877561081097978808851096191380459292726072163754601747539666057949167693", + "2135718143241813932226161801358235289781058013695871838383051572102928884567", "1" ], [ - "12622787765544530515623619382100437898246101834816376149292007743211956407286", - "12570391550772615838335361042568121892906867634448929202232001812492234390257", + "20522747851108608773003772892187458826390403588440155512773881116135635256410", + "11218511591600821722003994140994121719832310771637604152054113941332818455369", "1" ], [ - "5735316164124731332271878247418185434228086026647700113833855177940542823181", - "9649474108395394754402030685603045386825744478341882098839846461266003368756", + "16404237709834224719800904205708261378663612035126521203425485585484994986837", + "3167586669955731698085513002461997957955073343333183557668566807567186590619", "1" ], [ - "16190069071551003451113144390700917484497316557096684922619605534369669949534", - "10681321343942329435795471710031949263678373347092770298132700842902513672840", + "12910675356590890481798719900077391291951346627685199305549632303581651173802", + "20462953503625657093808736208830478011818679863351201550868889073055617578896", "1" ], [ - "13863872929961730606993556753801300020729351590807975827100825368353540990573", - "11931534405924761866343686993715271905704590108489876499851774273982957911423", + "18947108562530644410102590841857357185115081182319111952079371871969663671988", + "6652719222291337824561052377450295064566587460338214284424446330320206208978", "1" ] ], [ [ - "454088003829163771011170852736324196796734198039551149147118112028488218145", - "19539522144446103612355666512646927077463791742130426065863787086655625062176", + "10110377608880446364161064735161091842938826397512230713135002732708361876777", + "6013899729219769410326935661934883558337463050053435907100782150692294649745", "1" ], [ - "9677517649080056520842169551325292586844311652869297540972831144430102239541", - "12171721941568335982623293519100425613310698565606469058956892831634461540059", + "18208889227209298598015138525374980382541030144328510393048300775270787949840", + "15191444075449840811990314906356975059662539527217455842253932605838538105879", "1" ], [ - "15037699242073552386046516617138931456404909452736126928849871092088157606104", - "2403475304123870051310189713205959145472986292698418380091083485671020127630", + "19203188682890514423320800755662084436821947463936810212920115637567986869322", + "3424855308164288636262956984024538145687254883958282264766019244372264927134", "1" ], [ - "127899593359332180821632671011918317356219506177015610133494845926153175595", - "18684733307620435559282273679266280240730732702398400109727422417551972403102", + "19586353501601321585672146098476085745700368665390426128801697725086439710122", + "15010004828387861046033155948517332272437733117418549079342100218646019702080", "1" ], [ - "17130978638728591547347686801647449269492555647218567636544356715497286682290", - "14514080855160049012448903996874963632870196574887173768510902774625324658544", + "13686339229559293872534012092085760944059315023471369613822812965287369238447", + "3695584012986626869153168308549979767804807828687034680677188403817830418810", "1" ] ], [ [ - "5855924544364003112712450030145237149424995112678688873039358008205969147611", - "15570549396870292677660853760591267003520405786863190676970087082855555878636", + "18696621645163318552472841991871104820660024833640321869898695219244792544787", + "16940838088709411711968888146075539661653566927745755478421474505108166140656", "1" ], [ - "14821240964410715386910463283745689087244285662861027299124772223732179089302", - "15446473065604291444037235422131957717379131935322344411928007251149202158658", + "11530916114120676768574532193664705720045810431665651204245333670674998923676", + "7355883923626920336916662475522243088902821161113628716197989160163721774248", "1" ], [ - "586582749011680966506460208877749670972200690716863059163322868400282852300", - "6765443750336920009167305874738739551390685770965140484130502003990191861016", + "11855011297239142909723378707832446926509921514737098047687587969894126468497", + "14942813403879667533705178220673159254886774089783887482228941707848831481300", "1" ], [ - "11516588183751421185156362409787679404091107770536300994982153030408504091807", - "9422281521245157165519221572217222566067379888854607677340273485846988818889", + "12982663140753853847528768000921561826340636419307931766400467366396846035169", + "7171806600323437636744282845777660095738436086868856062406225133619265520575", "1" ], [ - "11972785834549950434085949313031360662160524117252689786653411157712853588295", - "1251548247225430075659521219630231228104532865302157324337575228144557232422", + "15982491779929281894294451486893882850583039973528579274058985191703359466543", + "19910319651211685401050894240685395121165652955380089146603485967076493605680", "1" ] ], [ [ - "6083168185688688297667869638715177381772180226443830560342282797830104869062", - "926194281246578915103720926341497520082595828680525575284123365838007044551", + "17688699129722255312471132988267997472426043097741089176095207368928695347323", + "4698778325800416923484519718058460264124242609977080857699400967590134848728", "1" ], [ - "9409122852531801098754556536729028548924539102103420345160677794564194221020", - "20542245913396046089533736519215869670909083018889617904362139603473474391693", + "11905991584861721837480962390330989450197421918781662074678555052926188909272", + "11195321655863853696452219195252788379254952714823481930861848719672010792417", "1" ], [ - "16873198639240289433836743385124757917190871707428690095953534423420502659893", - "6588241760722454601615602907791715854928448488066342428651422663075975107816", + "7364573423043519994861038175593500896079924196888521130462378149111415036167", + "8488161531239994007634631892382512438657593769374020273048837520623507271908", "1" ], [ - "19842357292988471204463611705572234531158701273234975255676630503476698710155", - "14693625717448698302951456188963654748379774732579848481403435079923870603157", + "10948897450624334536526533930990935852623955696383743452358741253735922067160", + "7654175296077985337834288232610181411799310934515705881481549241949669590123", "1" ], [ - "20241432824683494982737262054148903653340519392174437358036298330854555784611", - "5945081237575571782036580504962786649821981413555607621373828735238630355652", + "2456818423512317060112219756429819064402183920202453945509918337536940292593", + "10561627566351771351550703479997725668661012955063201536370060753602302262655", "1" ] ], [ [ - "20768578042859563979294333002563065924476840206018011719077318477769915880402", - "2001786654254515377677955109354751436919751171611935922531378122392365944293", + "21295163659036117126535933666532228255134275601226122998452204301238438701469", + "12010652807420347304532358791037860496459429689113682253200903987591679627067", "1" ], [ - "2298051095199584549599791615579815921675635758326996304424561508720678758962", - "15610877986863106190281569495837881819071964316157027243989237288310023404773", + "16035147304145989851106586435462674695447030608653337914734493255503105122271", + "9396862051344040260236487045030117425080665841603826234795752404308634565281", "1" ], [ - "21503958051574416294837474683907975773972588915544597427974161349505807601206", - "16176536100016079147853297185775543699660096471098091832015791823791903209774", + "9623434193020540057685957851610556657916120473978726845338192370747426064401", + "20738972702824723087864078264786214906718601061526079118500228332898388551221", "1" ], [ - "3606739889472294515277184850587920470749374877850756839089044653095424769194", - "14664144387169595605857061033949425545099119522415523292224065111113602111904", + "457108501000029082366810998923133233303603111079376685755578228260824733356", + "13918719735797746251051948238671198059940858851588937008268023917020073366433", "1" ], [ - "19699387660834749955063410769084991520255142011324093146157127237115274380578", - "4331670811250121546993058308579590495468093227852181043972677680581964769228", + "19519317439483352367895890468095276150233498159453735432212409926941855183358", + "8400170000010792082337905010575114377571921640630709589910201278654198179035", "1" ] ], [ [ - "10631178625335401501457304969878852001559776191683447428857609753454937038299", - "11675745006421997275450756626998030285194831397590498324078767720340123952646", + "209896847902324756441033880218169809685412620378498856437573937154846479551", + "19434208870058033389225349051527401299247475125763108527095891214558119617655", "1" ], [ - "1759441622054752159360583922123536313476013806215300533220440946452846159126", - "3059329356920789196856680267147718801714171797250645043538678427768342056591", + "4154375339831547300427516624109559852426973786711444825735879648391004291098", + "2168897082728012692838287354581700563166925732559863316849698306675591131396", "1" ], [ - "1809413652255811383678263677090386586529134039718623375196604927184100692799", - "7533217575609552382385270158875791232330359159976337796303987871112517604844", + "3690054103601385333490512469861728231387681704127049683413276534001532261943", + "3997073653940540957268729302105309759820513901669570962308110503858257659002", "1" ], [ - "7704646641054955393597890923317433079643657350033170553840404545002600772539", - "19522826015127415513569513500635678903639248861485847260009074714535026926155", + "1493108383089723041516694658460301260449183718295935886883417227290045091286", + "1479721274324005701970059663387618978577823761358404739977258141309872068056", "1" ], [ - "9396801995941988552875859512580723873116085524385365053682345361229348266222", - "8122885501816310710455960482459104382732335722838233409931476783790044860185", + "20291086357406391640638647514048720424247838755446061571102712546958076851767", + "6860718845648137601753080432837091439893783461195961430761483584544410630099", "1" ] ], [ [ - "16304360708182088008313907877667665892976553429106710412375369419780233976442", - "10460941404478613816427928998514834125407907547113907613807191273719986187223", + "1265438250797513961458031163301351393237543067943565114202366151377865506872", + "11342865295714982458109220575532930834959120923837779800176462280225501198217", "1" ], [ - "20051043271541513424021087402997604909963063035826832503174487686321968961776", - "13432165841378395910455231038520827433713426813680931204822379789609795102053", + "10415384677581396651184780193811022815145977389536746022901590915883889609878", + "5311187015233522007413118391261106264838418369874755037462489089469638365756", "1" ], [ - "18762866968227660024720719389346562423430884054824643430326826128394380607310", - "17713599719831815773421839749444223685540274101601039260510841144941870261910", + "7499079368996193403750547553190134606728655877653629403923945654291953825315", + "1743769713774086589463238504150542785039161133276706463569974209707667651575", "1" ], [ - "1883157762896148563929088253054113240995256206097667755269496270918239318411", - "10985354533025938485092599481185428202087973711120611094551172933738810516920", + "5792276842105452143354445764064878932177699791644537942211472215636738768211", + "9443070058088199873709166495831389298947366881168483562080569357428781583046", "1" ], [ - "670487064764400248463858966885752477833093767820377805346079091001272760417", - "8502840196732756246718058003393498205431869135787193347957619883686320532648", + "14451507664847323254023899990839043037382802537389529773382951366995420730648", + "7633550475637360595097128986678209600092185294414596687526062925070686318486", "1" ] ] diff --git a/packages/utils/src/networks/deployed-contracts.json b/packages/utils/src/networks/deployed-contracts.json index 451fea07a..c45b79786 100644 --- a/packages/utils/src/networks/deployed-contracts.json +++ b/packages/utils/src/networks/deployed-contracts.json @@ -4,18 +4,18 @@ "contracts": [ { "name": "SemaphoreVerifier", - "address": "0x521fCd9d3049DEc8a893A422f57C155ddB30BB45", - "startBlock": 6198270 + "address": "0xe538f9DeeE04A397decb1E7dc5D16fD6f123c043", + "startBlock": 6333999 }, { "name": "PoseidonT3", - "address": "0x4EFfF6a6a7BB31cdAd9Ee742b0faAA6Bb9BF096B", - "startBlock": 6198270 + "address": "0xB43122Ecb241DD50062641f089876679fd06599a", + "startBlock": 6333999 }, { "name": "Semaphore", - "address": "0x42C0e6780B60E18E44B3AB031B216B6360009baB", - "startBlock": 6198270 + "address": "0x1e0d7FF1610e480fC93BdEC510811ea2Ba6d7c2f", + "startBlock": 6333999 } ] }, @@ -24,18 +24,18 @@ "contracts": [ { "name": "SemaphoreVerifier", - "address": "0xF864ABa335073e01234c9a88888BfFfa965650bD", - "startBlock": 58900259 + "address": "0xe538f9DeeE04A397decb1E7dc5D16fD6f123c043", + "startBlock": 64798522 }, { "name": "PoseidonT3", - "address": "0x181B7f34538cE3BceC68597d4A212aB3f7881648", - "startBlock": 58900259 + "address": "0xB43122Ecb241DD50062641f089876679fd06599a", + "startBlock": 64798522 }, { "name": "Semaphore", - "address": "0xE5269ae1E996C6FEEf6E832c7032401E73087568", - "startBlock": 58900259 + "address": "0x1e0d7FF1610e480fC93BdEC510811ea2Ba6d7c2f", + "startBlock": 64798522 } ] }, @@ -44,18 +44,18 @@ "contracts": [ { "name": "SemaphoreVerifier", - "address": "0x220fBdB6F996827b1Cf12f0C181E8d5e6de3a36F", - "startBlock": 13847620 + "address": "0xe538f9DeeE04A397decb1E7dc5D16fD6f123c043", + "startBlock": 14757931 }, { "name": "PoseidonT3", - "address": "0x5f4edC58142f4395D1D536e793137A0252dA5a49", - "startBlock": 13847620 + "address": "0xB43122Ecb241DD50062641f089876679fd06599a", + "startBlock": 14757931 }, { "name": "Semaphore", - "address": "0xF864ABa335073e01234c9a88888BfFfa965650bD", - "startBlock": 13847620 + "address": "0x1e0d7FF1610e480fC93BdEC510811ea2Ba6d7c2f", + "startBlock": 14757931 } ] }, @@ -64,18 +64,18 @@ "contracts": [ { "name": "SemaphoreVerifier", - "address": "0xEFD83f827FA5B0496359D817c6CD8a5AA5D2aCe5", - "startBlock": 8788886 + "address": "0xe538f9DeeE04A397decb1E7dc5D16fD6f123c043", + "startBlock": 9636193 }, { "name": "PoseidonT3", - "address": "0x3d3df6CFc6BFf68d9693e097F32bF4a9903E77a5", - "startBlock": 8788886 + "address": "0xB43122Ecb241DD50062641f089876679fd06599a", + "startBlock": 9636193 }, { "name": "Semaphore", - "address": "0x5f4edC58142f4395D1D536e793137A0252dA5a49", - "startBlock": 8788886 + "address": "0x1e0d7FF1610e480fC93BdEC510811ea2Ba6d7c2f", + "startBlock": 9636193 } ] } diff --git a/packages/utils/src/semaphore-abi.json b/packages/utils/src/semaphore-abi.json new file mode 100644 index 000000000..9636d1b5e --- /dev/null +++ b/packages/utils/src/semaphore-abi.json @@ -0,0 +1,884 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Semaphore", + "sourceName": "contracts/Semaphore.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ISemaphoreVerifier", + "name": "_verifier", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "LeafAlreadyExists", + "type": "error" + }, + { + "inputs": [], + "name": "LeafCannotBeZero", + "type": "error" + }, + { + "inputs": [], + "name": "LeafDoesNotExist", + "type": "error" + }, + { + "inputs": [], + "name": "LeafGreaterThanSnarkScalarField", + "type": "error" + }, + { + "inputs": [], + "name": "Semaphore__CallerIsNotTheGroupAdmin", + "type": "error" + }, + { + "inputs": [], + "name": "Semaphore__CallerIsNotThePendingGroupAdmin", + "type": "error" + }, + { + "inputs": [], + "name": "Semaphore__GroupDoesNotExist", + "type": "error" + }, + { + "inputs": [], + "name": "Semaphore__GroupHasNoMembers", + "type": "error" + }, + { + "inputs": [], + "name": "Semaphore__InvalidProof", + "type": "error" + }, + { + "inputs": [], + "name": "Semaphore__MerkleTreeDepthIsNotSupported", + "type": "error" + }, + { + "inputs": [], + "name": "Semaphore__MerkleTreeRootIsExpired", + "type": "error" + }, + { + "inputs": [], + "name": "Semaphore__MerkleTreeRootIsNotPartOfTheGroup", + "type": "error" + }, + { + "inputs": [], + "name": "Semaphore__YouAreUsingTheSameNullifierTwice", + "type": "error" + }, + { + "inputs": [], + "name": "WrongSiblingNodes", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "GroupAdminPending", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "GroupAdminUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + } + ], + "name": "GroupCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "oldMerkleTreeDuration", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newMerkleTreeDuration", + "type": "uint256" + } + ], + "name": "GroupMerkleTreeDurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "identityCommitment", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "merkleTreeRoot", + "type": "uint256" + } + ], + "name": "MemberAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "identityCommitment", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "merkleTreeRoot", + "type": "uint256" + } + ], + "name": "MemberRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "identityCommitment", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newIdentityCommitment", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "merkleTreeRoot", + "type": "uint256" + } + ], + "name": "MemberUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "startIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "identityCommitments", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "merkleTreeRoot", + "type": "uint256" + } + ], + "name": "MembersAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "merkleTreeDepth", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "merkleTreeRoot", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nullifier", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "message", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "scope", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[8]", + "name": "points", + "type": "uint256[8]" + } + ], + "name": "ProofValidated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + } + ], + "name": "acceptGroupAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "identityCommitment", + "type": "uint256" + } + ], + "name": "addMember", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "identityCommitments", + "type": "uint256[]" + } + ], + "name": "addMembers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "uint256", + "name": "merkleTreeDuration", + "type": "uint256" + } + ], + "name": "createGroup", + "outputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "createGroup", + "outputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "admin", + "type": "address" + } + ], + "name": "createGroup", + "outputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + } + ], + "name": "getGroupAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + } + ], + "name": "getMerkleTreeDepth", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + } + ], + "name": "getMerkleTreeRoot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + } + ], + "name": "getMerkleTreeSize", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "groupCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "groups", + "outputs": [ + { + "internalType": "uint256", + "name": "merkleTreeDuration", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "identityCommitment", + "type": "uint256" + } + ], + "name": "hasMember", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "identityCommitment", + "type": "uint256" + } + ], + "name": "indexOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "identityCommitment", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "merkleProofSiblings", + "type": "uint256[]" + } + ], + "name": "removeMember", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "updateGroupAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "newMerkleTreeDuration", + "type": "uint256" + } + ], + "name": "updateGroupMerkleTreeDuration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "identityCommitment", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "newIdentityCommitment", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "merkleProofSiblings", + "type": "uint256[]" + } + ], + "name": "updateMember", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "merkleTreeDepth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "merkleTreeRoot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nullifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "message", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "scope", + "type": "uint256" + }, + { + "internalType": "uint256[8]", + "name": "points", + "type": "uint256[8]" + } + ], + "internalType": "struct ISemaphore.SemaphoreProof", + "name": "proof", + "type": "tuple" + } + ], + "name": "validateProof", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "verifier", + "outputs": [ + { + "internalType": "contract ISemaphoreVerifier", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "merkleTreeDepth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "merkleTreeRoot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nullifier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "message", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "scope", + "type": "uint256" + }, + { + "internalType": "uint256[8]", + "name": "points", + "type": "uint256[8]" + } + ], + "internalType": "struct ISemaphore.SemaphoreProof", + "name": "proof", + "type": "tuple" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060405161201538038061201583398101604081905261002f91610054565b600380546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b611f82806100936000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80636389e107116100b8578063a9961c941161007c578063a9961c94146102b5578063d0d898dd146102de578063d24924fe146102f1578063da3cda52146102fa578063dabc4d511461030d578063fcf0b6ec1461032057600080fd5b80636389e1071461022c5780636cdd32fe1461024f5780637ee35a0c1461026257806390509d441461028257806396324bd41461029557600080fd5b80634178c4d5116100ff5780634178c4d5146101c8578063456f4188146101db578063568ee826146101fe578063575185ed146102115780635c3f3b601461021957600080fd5b8063042453711461013c57806306dd8485146101515780631783efc3146101775780632b7ac3f31461018a5780632c880363146101b5575b600080fd5b61014f61014a3660046119e2565b610333565b005b61016461015f366004611a2e565b610366565b6040519081526020015b60405180910390f35b61014f610185366004611a2e565b610387565b60035461019d906001600160a01b031681565b6040516001600160a01b03909116815260200161016e565b6101646101c3366004611a6c565b6103b8565b61014f6101d6366004611a96565b6103f0565b6101ee6101e9366004611af7565b610427565b604051901515815260200161016e565b61014f61020c366004611b31565b61068c565b61016461069a565b610164610227366004611b5d565b6106d1565b61016461023a366004611b78565b60009081526020819052604090206001015490565b61014f61025d366004611b91565b61070a565b610164610270366004611b78565b60009081526020819052604090205490565b6101ee610290366004611a2e565b61073f565b6101646102a3366004611b78565b60046020526000908152604090205481565b61019d6102c3366004611b78565b6000908152600160205260409020546001600160a01b031690565b61014f6102ec366004611af7565b610761565b61016460055481565b61014f610308366004611b78565b61084b565b61016461031b366004611b78565b610857565b61014f61032e366004611a2e565b61087b565b600061034084848461090b565b600094855260046020908152604080872092875260019092019052909320429055505050565b600082815260208190526040812061037e90836109a9565b90505b92915050565b600061039383836109f6565b6000938452600460209081526040808620928652600190920190529092204290555050565b60058054600091826103c983611bfa565b9190505590506103d98184610a98565b600081815260046020526040902091909155919050565b60006103ff8686868686610b22565b6000968752600460209081526040808920928952600190920190529095204290555050505050565b60008281526001602052604081205483906001600160a01b031661045e5760405163029f057960e01b815260040160405180910390fd5b60018335108061046f575060208335115b1561048d5760405163767b278960e11b815260040160405180910390fd5b600084815260208190526040812054908190036104bd5760405163c8b02e0160e01b815260040160405180910390fd5b60006104c886610857565b90508085602001351461054d576000868152600460208181526040808420898301358552600181018352908420548a855292909152549091829003610520576040516326994ac360e11b815260040160405180910390fd5b61052a8183611c13565b42111561054a576040516309581a9960e41b815260040160405180910390fd5b50505b60035460408051808201825260a0880135815260c088013560208083019190915282516080808201855260e08b01358286019081526101008c0135606080850191909152908352855180870187526101208d013581526101408d01358186015283850152855180870187526101608d013581526101808d01358186015286519283018752848d013583528c870135948301949094526001600160a01b039096169563a23f019995929392820190610606908d0135610be9565b81526020016106188c60800135610be9565b90526040516001600160e01b031960e087901b16815261064194939291908c3590600401611c88565b602060405180830381865afa15801561065e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106829190611d1b565b9695505050505050565b6106968282610c20565b5050565b60058054600091826106ab83611bfa565b9190505590506106bb8133610a98565b6000818152600460205260409020610e10905590565b60058054600091826106e283611bfa565b9190505590506106f28183610a98565b6000818152600460205260409020610e109055919050565b600061071885858585610cb4565b60009586526004602090815260408088209288526001909201905290942042905550505050565b600082815260208181526040808320848452600301909152812054151561037e565b600082815260046020908152604080832084820135845260020190915290205460ff16156107a25760405163041162bd60e31b815260040160405180910390fd5b6107ac8282610427565b6107c95760405163012a9af160e61b815260040160405180910390fd5b6000828152600460209081526040808320848201358085526002909101835292819020805460ff1916600117905551608084013592918401359185917f0c32e14cfe81a05d371c248d22de6b7ae849e981b76a1f8842e7b6da73fc405a9161083f918735919060608901359060a08a0190611d44565b60405180910390a45050565b61085481610d72565b50565b60008181526020818152604080832060018101548452600201909152812054610381565b60008281526001602052604090205482906001600160a01b031633146108b4576040516317737e4f60e31b815260040160405180910390fd5b60008381526004602090815260409182902080549085905582518181529182018590529185917f264b2a8f6763c084235fe832ba903482b2ef1a521336881fc75b987c2dfd29c5910160405180910390a250505050565b60008381526001602052604081205484906001600160a01b03163314610944576040516317737e4f60e31b815260040160405180910390fd5b6000858152602081905260409020805490610960908686610e17565b9250857f61e5e8054e3daf084a0c6c646c065e8bf5e7ca4d5567bda942309bd1652f349d828787876040516109989493929190611d6c565b60405180910390a250509392505050565b600081815260038301602052604081205481036109d957604051631c811d5b60e21b815260040160405180910390fd5b600082815260038401602052604090205461037e90600190611db2565b60008281526001602052604081205483906001600160a01b03163314610a2f576040516317737e4f60e31b815260040160405180910390fd5b6000848152602081905260409020805490610a4a9085611344565b604080518381526020810187905290810182905290935085907f19239b3f93cd10558aaf11423af70c77763bf54f52bcc75bfa74d4d13548cde99060600160405180910390a2505092915050565b60008281526001602052604080822080546001600160a01b0319166001600160a01b0385161790555183917ff0adfb94eab6daf835deb69c5738fe636150c3dfd08094a76f39b963dc8cb05a91a26040516001600160a01b0382169060009084907f0ba83579a0e79193ef649b9f5a8759d35af086ba62a3e207b52e4a8ae30d49e3908390a45050565b60008581526001602052604081205486906001600160a01b03163314610b5b576040516317737e4f60e31b815260040160405180910390fd5b6000878152602081905260408120610b7390886109a9565b6000898152602081905260409020909150610b91908888888861150d565b60408051838152602081018a90529081018890526060810182905290935088907fea3588e4a2a0c93d6a0e69dfeaf7496f43ccccf02ad9ce0a5b7627cbca4b61b19060800160405180910390a2505095945050505050565b6000600882604051602001610c0091815260200190565b60408051601f198184030181529190528051602090910120901c92915050565b60008281526001602052604090205482906001600160a01b03163314610c59576040516317737e4f60e31b815260040160405180910390fd5b60008381526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519091339186917f1018365553cce55d9cb02ef73e18cc9311894f3fe1d1eafd235ac2d26cd8ba5891a4505050565b60008481526001602052604081205485906001600160a01b03163314610ced576040516317737e4f60e31b815260040160405180910390fd5b6000868152602081905260408120610d0590876109a9565b6000888152602081905260409020909150610d229087878761197d565b604080518381526020810189905290810182905290935087907f3108849c053c77b8073a11256dffb5ffd5b55e93e105a355e1c9061db890d8719060600160405180910390a25050949350505050565b6000818152600260205260409020546001600160a01b03163314610da9576040516334c4245d60e01b815260040160405180910390fd5b60008181526001602090815260408083208054336001600160a01b031980831682179093556002909452828520805490921690915590516001600160a01b0390911692839185917f0ba83579a0e79193ef649b9f5a8759d35af086ba62a3e207b52e4a8ae30d49e391a45050565b8254600090815b83811015610f4857600080516020611f2d833981519152858583818110610e4757610e47611c26565b9050602002013510610e6c576040516361c0541760e11b815260040160405180910390fd5b848482818110610e7e57610e7e611c26565b90506020020135600003610ea5576040516314b48df160e11b815260040160405180910390fd5b610eda86868684818110610ebb57610ebb611c26565b9050602002013560009081526003919091016020526040902054151590565b15610ef8576040516312c50cad60e11b815260040160405180910390fd5b80610f04836001611c13565b610f0e9190611c13565b866003016000878785818110610f2657610f26611c26565b6020908102929092013583525081019190915260400160002055600101610e1e565b50606084848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050506001880154919250505b610f918584611c13565b610f9c826002611ea9565b1015610fb257610fab81611bfa565b9050610f87565b60018701819055826000610fc68783611c13565b9050600182811c90600090610fdb8185611db2565b610fe7911c6001611c13565b905060005b858110156112d85760006110008484611db2565b905060008167ffffffffffffffff81111561101d5761101d611eb5565b604051908082528060200260200182016040528015611046578160200160208202803683370190505b50905060005b82811015611203576000886110618884611c13565b61106c906002611ecb565b101561108f578f60020160008681526020019081526020016000205490506110cb565b8a8961109b8985611c13565b6110a6906002611ecb565b6110b09190611db2565b815181106110c0576110c0611c26565b602002602001015190505b6000886110d88985611c13565b6110e3906002611ecb565b6110ee906001611c13565b101561113b578b8a6111008a86611c13565b61110b906002611ecb565b611116906001611c13565b6111209190611db2565b8151811061113057611130611c26565b602002602001015190505b600081156111d357604080518082018252848152602081018490529051632b0aac7f60e11b815273__$75f79a42d9bcbdbb69ad79ebd80f556f39$__9163561558fe9161118b9190600401611ee2565b602060405180830381865af41580156111a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cc9190611f13565b90506111d6565b50815b808585815181106111e9576111e9611c26565b60200260200101818152505083600101935050505061104c565b5085600116600103611254578860018a5161121e9190611db2565b8151811061122e5761122e611c26565b60200260200101518e60020160008581526020019081526020016000208190555061129f565b60018951111561129f578860028a5161126d9190611db2565b8151811061127d5761127d611c26565b60200260200101518e6002016000858152602001908152602001600020819055505b849650600185901c9450809850839550600180856112bd9190611db2565b6112c9911c6001611c13565b93508260010192505050610fec565b506112e38988611c13565b8b55855186906000906112f8576112f8611c26565b60200260200101518b6002016000878152602001908152602001600020819055508560008151811061132c5761132c611c26565b60200260200101519750505050505050509392505050565b6000600080516020611f2d8339815191528210611374576040516361c0541760e11b815260040160405180910390fd5b81600003611395576040516314b48df160e11b815260040160405180910390fd5b6000828152600384016020526040902054156113c4576040516312c50cad60e11b815260040160405180910390fd5b8254600180850154906113d8908390611c13565b6113e3826002611ea9565b10156113f5576113f281611bfa565b90505b600185018190558360005b828110156114d2578084901c6001166001036114b657604080518082018252600083815260028a0160209081529083902054825281018490529051632b0aac7f60e11b815273__$75f79a42d9bcbdbb69ad79ebd80f556f39$__9163561558fe9161146e9190600401611ee2565b602060405180830381865af415801561148b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114af9190611f13565b91506114ca565b600081815260028801602052604090208290555b600101611400565b506114dc83611bfa565b8087556000928352600287016020908152604080852084905596845260039097019096529390209390935550919050565b6000600080516020611f2d833981519152841061153d576040516361c0541760e11b815260040160405180910390fd5b600085815260038701602052604090205461156b57604051631c811d5b60e21b815260040160405180910390fd5b60008481526003870160205260409020541561159a576040516312c50cad60e11b815260040160405180910390fd5b60006115a687876109a9565b8754909150859087906000906115be90600190611db2565b60018b0154909150600090815b818110156118f4578087901c60011660010361177e57600080516020611f2d8339815191528a8a8581811061160257611602611c26565b9050602002013510611627576040516361c0541760e11b815260040160405180910390fd5b73__$75f79a42d9bcbdbb69ad79ebd80f556f39$__63561558fe60405180604001604052808d8d8881811061165e5761165e611c26565b905060200201358152602001898152506040518263ffffffff1660e01b815260040161168a9190611ee2565b602060405180830381865af41580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cb9190611f13565b955073__$75f79a42d9bcbdbb69ad79ebd80f556f39$__63561558fe60405180604001604052808d8d8881811061170457611704611c26565b905060200201358152602001888152506040518263ffffffff1660e01b81526004016117309190611ee2565b602060405180830381865af415801561174d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117719190611f13565b94508260010192506118ec565b86811c84821c146118d857600080516020611f2d8339815191528a8a858181106117aa576117aa611c26565b90506020020135106117cf576040516361c0541760e11b815260040160405180910390fd5b73__$75f79a42d9bcbdbb69ad79ebd80f556f39$__63561558fe60405180604001604052808981526020018d8d8881811061180c5761180c611c26565b905060200201358152506040518263ffffffff1660e01b81526004016118329190611ee2565b602060405180830381865af415801561184f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118739190611f13565b955073__$75f79a42d9bcbdbb69ad79ebd80f556f39$__63561558fe60405180604001604052808881526020018d8d888181106118b2576118b2611c26565b905060200201358152506040518263ffffffff1660e01b81526004016117309190611ee2565b600083815260028e01602052604090208690555b6001016115cb565b5060018c0154600090815260028d016020526040902054841461192a57604051631fd4986360e11b815260040160405180910390fd5b600081815260028d0160205260409020859055891561195c5760008b815260038d016020526040808220548c83529120555b505050600088815260038a0160205260408120555091505095945050505050565b600061198d85856000868661150d565b95945050505050565b60008083601f8401126119a857600080fd5b50813567ffffffffffffffff8111156119c057600080fd5b6020830191508360208260051b85010111156119db57600080fd5b9250929050565b6000806000604084860312156119f757600080fd5b83359250602084013567ffffffffffffffff811115611a1557600080fd5b611a2186828701611996565b9497909650939450505050565b60008060408385031215611a4157600080fd5b50508035926020909101359150565b80356001600160a01b0381168114611a6757600080fd5b919050565b60008060408385031215611a7f57600080fd5b611a8883611a50565b946020939093013593505050565b600080600080600060808688031215611aae57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115611ada57600080fd5b611ae688828901611996565b969995985093965092949392505050565b6000808284036101c0811215611b0c57600080fd5b833592506101a0601f1982011215611b2357600080fd5b506020830190509250929050565b60008060408385031215611b4457600080fd5b82359150611b5460208401611a50565b90509250929050565b600060208284031215611b6f57600080fd5b61037e82611a50565b600060208284031215611b8a57600080fd5b5035919050565b60008060008060608587031215611ba757600080fd5b8435935060208501359250604085013567ffffffffffffffff811115611bcc57600080fd5b611bd887828801611996565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b600060018201611c0c57611c0c611be4565b5060010190565b8082018082111561038157610381611be4565b634e487b7160e01b600052603260045260246000fd5b8060005b6002811015611c5f578151845260209384019390910190600101611c40565b50505050565b8060005b6004811015611c5f578151845260209384019390910190600101611c69565b6101a08101611c978288611c3c565b6040808301876000805b6002808210611cb05750611cea565b835185845b83811015611cd3578251825260209283019290910190600101611cb5565b505050938501935060209290920191600101611ca1565b5050505050611cfc60c0830186611c3c565b611d0a610100830185611c65565b826101808301529695505050505050565b600060208284031215611d2d57600080fd5b81518015158114611d3d57600080fd5b9392505050565b8481526020810184905260408101839052610160810161010083606084013795945050505050565b848152606060208201819052810183905260006001600160fb1b03841115611d9357600080fd5b8360051b80866080850137604083019390935250016080019392505050565b8181038181111561038157610381611be4565b600181815b80851115611e00578160001904821115611de657611de6611be4565b80851615611df357918102915b93841c9390800290611dca565b509250929050565b600082611e1757506001610381565b81611e2457506000610381565b8160018114611e3a5760028114611e4457611e60565b6001915050610381565b60ff841115611e5557611e55611be4565b50506001821b610381565b5060208310610133831016604e8410600b8410161715611e83575081810a610381565b611e8d8383611dc5565b8060001904821115611ea157611ea1611be4565b029392505050565b600061037e8383611e08565b634e487b7160e01b600052604160045260246000fd5b808202811582820484141761038157610381611be4565b60408101818360005b6002811015611f0a578151835260209283019290910190600101611eeb565b50505092915050565b600060208284031215611f2557600080fd5b505191905056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220164ddea4e67fb9956ad9d73065c0b85ecf9b8062f67bcc5be446364b9475660664736f6c63430008170033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c80636389e107116100b8578063a9961c941161007c578063a9961c94146102b5578063d0d898dd146102de578063d24924fe146102f1578063da3cda52146102fa578063dabc4d511461030d578063fcf0b6ec1461032057600080fd5b80636389e1071461022c5780636cdd32fe1461024f5780637ee35a0c1461026257806390509d441461028257806396324bd41461029557600080fd5b80634178c4d5116100ff5780634178c4d5146101c8578063456f4188146101db578063568ee826146101fe578063575185ed146102115780635c3f3b601461021957600080fd5b8063042453711461013c57806306dd8485146101515780631783efc3146101775780632b7ac3f31461018a5780632c880363146101b5575b600080fd5b61014f61014a3660046119e2565b610333565b005b61016461015f366004611a2e565b610366565b6040519081526020015b60405180910390f35b61014f610185366004611a2e565b610387565b60035461019d906001600160a01b031681565b6040516001600160a01b03909116815260200161016e565b6101646101c3366004611a6c565b6103b8565b61014f6101d6366004611a96565b6103f0565b6101ee6101e9366004611af7565b610427565b604051901515815260200161016e565b61014f61020c366004611b31565b61068c565b61016461069a565b610164610227366004611b5d565b6106d1565b61016461023a366004611b78565b60009081526020819052604090206001015490565b61014f61025d366004611b91565b61070a565b610164610270366004611b78565b60009081526020819052604090205490565b6101ee610290366004611a2e565b61073f565b6101646102a3366004611b78565b60046020526000908152604090205481565b61019d6102c3366004611b78565b6000908152600160205260409020546001600160a01b031690565b61014f6102ec366004611af7565b610761565b61016460055481565b61014f610308366004611b78565b61084b565b61016461031b366004611b78565b610857565b61014f61032e366004611a2e565b61087b565b600061034084848461090b565b600094855260046020908152604080872092875260019092019052909320429055505050565b600082815260208190526040812061037e90836109a9565b90505b92915050565b600061039383836109f6565b6000938452600460209081526040808620928652600190920190529092204290555050565b60058054600091826103c983611bfa565b9190505590506103d98184610a98565b600081815260046020526040902091909155919050565b60006103ff8686868686610b22565b6000968752600460209081526040808920928952600190920190529095204290555050505050565b60008281526001602052604081205483906001600160a01b031661045e5760405163029f057960e01b815260040160405180910390fd5b60018335108061046f575060208335115b1561048d5760405163767b278960e11b815260040160405180910390fd5b600084815260208190526040812054908190036104bd5760405163c8b02e0160e01b815260040160405180910390fd5b60006104c886610857565b90508085602001351461054d576000868152600460208181526040808420898301358552600181018352908420548a855292909152549091829003610520576040516326994ac360e11b815260040160405180910390fd5b61052a8183611c13565b42111561054a576040516309581a9960e41b815260040160405180910390fd5b50505b60035460408051808201825260a0880135815260c088013560208083019190915282516080808201855260e08b01358286019081526101008c0135606080850191909152908352855180870187526101208d013581526101408d01358186015283850152855180870187526101608d013581526101808d01358186015286519283018752848d013583528c870135948301949094526001600160a01b039096169563a23f019995929392820190610606908d0135610be9565b81526020016106188c60800135610be9565b90526040516001600160e01b031960e087901b16815261064194939291908c3590600401611c88565b602060405180830381865afa15801561065e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106829190611d1b565b9695505050505050565b6106968282610c20565b5050565b60058054600091826106ab83611bfa565b9190505590506106bb8133610a98565b6000818152600460205260409020610e10905590565b60058054600091826106e283611bfa565b9190505590506106f28183610a98565b6000818152600460205260409020610e109055919050565b600061071885858585610cb4565b60009586526004602090815260408088209288526001909201905290942042905550505050565b600082815260208181526040808320848452600301909152812054151561037e565b600082815260046020908152604080832084820135845260020190915290205460ff16156107a25760405163041162bd60e31b815260040160405180910390fd5b6107ac8282610427565b6107c95760405163012a9af160e61b815260040160405180910390fd5b6000828152600460209081526040808320848201358085526002909101835292819020805460ff1916600117905551608084013592918401359185917f0c32e14cfe81a05d371c248d22de6b7ae849e981b76a1f8842e7b6da73fc405a9161083f918735919060608901359060a08a0190611d44565b60405180910390a45050565b61085481610d72565b50565b60008181526020818152604080832060018101548452600201909152812054610381565b60008281526001602052604090205482906001600160a01b031633146108b4576040516317737e4f60e31b815260040160405180910390fd5b60008381526004602090815260409182902080549085905582518181529182018590529185917f264b2a8f6763c084235fe832ba903482b2ef1a521336881fc75b987c2dfd29c5910160405180910390a250505050565b60008381526001602052604081205484906001600160a01b03163314610944576040516317737e4f60e31b815260040160405180910390fd5b6000858152602081905260409020805490610960908686610e17565b9250857f61e5e8054e3daf084a0c6c646c065e8bf5e7ca4d5567bda942309bd1652f349d828787876040516109989493929190611d6c565b60405180910390a250509392505050565b600081815260038301602052604081205481036109d957604051631c811d5b60e21b815260040160405180910390fd5b600082815260038401602052604090205461037e90600190611db2565b60008281526001602052604081205483906001600160a01b03163314610a2f576040516317737e4f60e31b815260040160405180910390fd5b6000848152602081905260409020805490610a4a9085611344565b604080518381526020810187905290810182905290935085907f19239b3f93cd10558aaf11423af70c77763bf54f52bcc75bfa74d4d13548cde99060600160405180910390a2505092915050565b60008281526001602052604080822080546001600160a01b0319166001600160a01b0385161790555183917ff0adfb94eab6daf835deb69c5738fe636150c3dfd08094a76f39b963dc8cb05a91a26040516001600160a01b0382169060009084907f0ba83579a0e79193ef649b9f5a8759d35af086ba62a3e207b52e4a8ae30d49e3908390a45050565b60008581526001602052604081205486906001600160a01b03163314610b5b576040516317737e4f60e31b815260040160405180910390fd5b6000878152602081905260408120610b7390886109a9565b6000898152602081905260409020909150610b91908888888861150d565b60408051838152602081018a90529081018890526060810182905290935088907fea3588e4a2a0c93d6a0e69dfeaf7496f43ccccf02ad9ce0a5b7627cbca4b61b19060800160405180910390a2505095945050505050565b6000600882604051602001610c0091815260200190565b60408051601f198184030181529190528051602090910120901c92915050565b60008281526001602052604090205482906001600160a01b03163314610c59576040516317737e4f60e31b815260040160405180910390fd5b60008381526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519091339186917f1018365553cce55d9cb02ef73e18cc9311894f3fe1d1eafd235ac2d26cd8ba5891a4505050565b60008481526001602052604081205485906001600160a01b03163314610ced576040516317737e4f60e31b815260040160405180910390fd5b6000868152602081905260408120610d0590876109a9565b6000888152602081905260409020909150610d229087878761197d565b604080518381526020810189905290810182905290935087907f3108849c053c77b8073a11256dffb5ffd5b55e93e105a355e1c9061db890d8719060600160405180910390a25050949350505050565b6000818152600260205260409020546001600160a01b03163314610da9576040516334c4245d60e01b815260040160405180910390fd5b60008181526001602090815260408083208054336001600160a01b031980831682179093556002909452828520805490921690915590516001600160a01b0390911692839185917f0ba83579a0e79193ef649b9f5a8759d35af086ba62a3e207b52e4a8ae30d49e391a45050565b8254600090815b83811015610f4857600080516020611f2d833981519152858583818110610e4757610e47611c26565b9050602002013510610e6c576040516361c0541760e11b815260040160405180910390fd5b848482818110610e7e57610e7e611c26565b90506020020135600003610ea5576040516314b48df160e11b815260040160405180910390fd5b610eda86868684818110610ebb57610ebb611c26565b9050602002013560009081526003919091016020526040902054151590565b15610ef8576040516312c50cad60e11b815260040160405180910390fd5b80610f04836001611c13565b610f0e9190611c13565b866003016000878785818110610f2657610f26611c26565b6020908102929092013583525081019190915260400160002055600101610e1e565b50606084848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050506001880154919250505b610f918584611c13565b610f9c826002611ea9565b1015610fb257610fab81611bfa565b9050610f87565b60018701819055826000610fc68783611c13565b9050600182811c90600090610fdb8185611db2565b610fe7911c6001611c13565b905060005b858110156112d85760006110008484611db2565b905060008167ffffffffffffffff81111561101d5761101d611eb5565b604051908082528060200260200182016040528015611046578160200160208202803683370190505b50905060005b82811015611203576000886110618884611c13565b61106c906002611ecb565b101561108f578f60020160008681526020019081526020016000205490506110cb565b8a8961109b8985611c13565b6110a6906002611ecb565b6110b09190611db2565b815181106110c0576110c0611c26565b602002602001015190505b6000886110d88985611c13565b6110e3906002611ecb565b6110ee906001611c13565b101561113b578b8a6111008a86611c13565b61110b906002611ecb565b611116906001611c13565b6111209190611db2565b8151811061113057611130611c26565b602002602001015190505b600081156111d357604080518082018252848152602081018490529051632b0aac7f60e11b815273__$75f79a42d9bcbdbb69ad79ebd80f556f39$__9163561558fe9161118b9190600401611ee2565b602060405180830381865af41580156111a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cc9190611f13565b90506111d6565b50815b808585815181106111e9576111e9611c26565b60200260200101818152505083600101935050505061104c565b5085600116600103611254578860018a5161121e9190611db2565b8151811061122e5761122e611c26565b60200260200101518e60020160008581526020019081526020016000208190555061129f565b60018951111561129f578860028a5161126d9190611db2565b8151811061127d5761127d611c26565b60200260200101518e6002016000858152602001908152602001600020819055505b849650600185901c9450809850839550600180856112bd9190611db2565b6112c9911c6001611c13565b93508260010192505050610fec565b506112e38988611c13565b8b55855186906000906112f8576112f8611c26565b60200260200101518b6002016000878152602001908152602001600020819055508560008151811061132c5761132c611c26565b60200260200101519750505050505050509392505050565b6000600080516020611f2d8339815191528210611374576040516361c0541760e11b815260040160405180910390fd5b81600003611395576040516314b48df160e11b815260040160405180910390fd5b6000828152600384016020526040902054156113c4576040516312c50cad60e11b815260040160405180910390fd5b8254600180850154906113d8908390611c13565b6113e3826002611ea9565b10156113f5576113f281611bfa565b90505b600185018190558360005b828110156114d2578084901c6001166001036114b657604080518082018252600083815260028a0160209081529083902054825281018490529051632b0aac7f60e11b815273__$75f79a42d9bcbdbb69ad79ebd80f556f39$__9163561558fe9161146e9190600401611ee2565b602060405180830381865af415801561148b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114af9190611f13565b91506114ca565b600081815260028801602052604090208290555b600101611400565b506114dc83611bfa565b8087556000928352600287016020908152604080852084905596845260039097019096529390209390935550919050565b6000600080516020611f2d833981519152841061153d576040516361c0541760e11b815260040160405180910390fd5b600085815260038701602052604090205461156b57604051631c811d5b60e21b815260040160405180910390fd5b60008481526003870160205260409020541561159a576040516312c50cad60e11b815260040160405180910390fd5b60006115a687876109a9565b8754909150859087906000906115be90600190611db2565b60018b0154909150600090815b818110156118f4578087901c60011660010361177e57600080516020611f2d8339815191528a8a8581811061160257611602611c26565b9050602002013510611627576040516361c0541760e11b815260040160405180910390fd5b73__$75f79a42d9bcbdbb69ad79ebd80f556f39$__63561558fe60405180604001604052808d8d8881811061165e5761165e611c26565b905060200201358152602001898152506040518263ffffffff1660e01b815260040161168a9190611ee2565b602060405180830381865af41580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cb9190611f13565b955073__$75f79a42d9bcbdbb69ad79ebd80f556f39$__63561558fe60405180604001604052808d8d8881811061170457611704611c26565b905060200201358152602001888152506040518263ffffffff1660e01b81526004016117309190611ee2565b602060405180830381865af415801561174d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117719190611f13565b94508260010192506118ec565b86811c84821c146118d857600080516020611f2d8339815191528a8a858181106117aa576117aa611c26565b90506020020135106117cf576040516361c0541760e11b815260040160405180910390fd5b73__$75f79a42d9bcbdbb69ad79ebd80f556f39$__63561558fe60405180604001604052808981526020018d8d8881811061180c5761180c611c26565b905060200201358152506040518263ffffffff1660e01b81526004016118329190611ee2565b602060405180830381865af415801561184f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118739190611f13565b955073__$75f79a42d9bcbdbb69ad79ebd80f556f39$__63561558fe60405180604001604052808881526020018d8d888181106118b2576118b2611c26565b905060200201358152506040518263ffffffff1660e01b81526004016117309190611ee2565b600083815260028e01602052604090208690555b6001016115cb565b5060018c0154600090815260028d016020526040902054841461192a57604051631fd4986360e11b815260040160405180910390fd5b600081815260028d0160205260409020859055891561195c5760008b815260038d016020526040808220548c83529120555b505050600088815260038a0160205260408120555091505095945050505050565b600061198d85856000868661150d565b95945050505050565b60008083601f8401126119a857600080fd5b50813567ffffffffffffffff8111156119c057600080fd5b6020830191508360208260051b85010111156119db57600080fd5b9250929050565b6000806000604084860312156119f757600080fd5b83359250602084013567ffffffffffffffff811115611a1557600080fd5b611a2186828701611996565b9497909650939450505050565b60008060408385031215611a4157600080fd5b50508035926020909101359150565b80356001600160a01b0381168114611a6757600080fd5b919050565b60008060408385031215611a7f57600080fd5b611a8883611a50565b946020939093013593505050565b600080600080600060808688031215611aae57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115611ada57600080fd5b611ae688828901611996565b969995985093965092949392505050565b6000808284036101c0811215611b0c57600080fd5b833592506101a0601f1982011215611b2357600080fd5b506020830190509250929050565b60008060408385031215611b4457600080fd5b82359150611b5460208401611a50565b90509250929050565b600060208284031215611b6f57600080fd5b61037e82611a50565b600060208284031215611b8a57600080fd5b5035919050565b60008060008060608587031215611ba757600080fd5b8435935060208501359250604085013567ffffffffffffffff811115611bcc57600080fd5b611bd887828801611996565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b600060018201611c0c57611c0c611be4565b5060010190565b8082018082111561038157610381611be4565b634e487b7160e01b600052603260045260246000fd5b8060005b6002811015611c5f578151845260209384019390910190600101611c40565b50505050565b8060005b6004811015611c5f578151845260209384019390910190600101611c69565b6101a08101611c978288611c3c565b6040808301876000805b6002808210611cb05750611cea565b835185845b83811015611cd3578251825260209283019290910190600101611cb5565b505050938501935060209290920191600101611ca1565b5050505050611cfc60c0830186611c3c565b611d0a610100830185611c65565b826101808301529695505050505050565b600060208284031215611d2d57600080fd5b81518015158114611d3d57600080fd5b9392505050565b8481526020810184905260408101839052610160810161010083606084013795945050505050565b848152606060208201819052810183905260006001600160fb1b03841115611d9357600080fd5b8360051b80866080850137604083019390935250016080019392505050565b8181038181111561038157610381611be4565b600181815b80851115611e00578160001904821115611de657611de6611be4565b80851615611df357918102915b93841c9390800290611dca565b509250929050565b600082611e1757506001610381565b81611e2457506000610381565b8160018114611e3a5760028114611e4457611e60565b6001915050610381565b60ff841115611e5557611e55611be4565b50506001821b610381565b5060208310610133831016604e8410600b8410161715611e83575081810a610381565b611e8d8383611dc5565b8060001904821115611ea157611ea1611be4565b029392505050565b600061037e8383611e08565b634e487b7160e01b600052604160045260246000fd5b808202811582820484141761038157610381611be4565b60408101818360005b6002811015611f0a578151835260209283019290910190600101611eeb565b50505092915050565b600060208284031215611f2557600080fd5b505191905056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220164ddea4e67fb9956ad9d73065c0b85ecf9b8062f67bcc5be446364b9475660664736f6c63430008170033", + "linkReferences": { + "poseidon-solidity/PoseidonT3.sol": { + "PoseidonT3": [ + { + "length": 20, + "start": 4599 + }, + { + "length": 20, + "start": 5338 + }, + { + "length": 20, + "start": 5820 + }, + { + "length": 20, + "start": 5986 + }, + { + "length": 20, + "start": 6244 + }, + { + "length": 20, + "start": 6410 + } + ] + } + }, + "deployedLinkReferences": { + "poseidon-solidity/PoseidonT3.sol": { + "PoseidonT3": [ + { + "length": 20, + "start": 4452 + }, + { + "length": 20, + "start": 5191 + }, + { + "length": 20, + "start": 5673 + }, + { + "length": 20, + "start": 5839 + }, + { + "length": 20, + "start": 6097 + }, + { + "length": 20, + "start": 6263 + } + ] + } + } +}