sp_arm64.c 5.6 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206822078220882209822108221182212822138221482215822168221782218822198222082221822228222382224822258222682227822288222982230822318223282233822348223582236822378223882239822408224182242822438224482245822468224782248822498225082251822528225382254822558225682257822588225982260822618226282263822648226582266822678226882269822708227182272822738227482275822768227782278822798228082281822828228382284822858228682287822888228982290822918229282293822948229582296822978229882299823008230182302823038230482305823068230782308823098231082311823128231382314823158231682317823188231982320823218232282323823248232582326823278232882329823308233182332823338233482335823368233782338823398234082341823428234382344823458234682347823488234982350823518235282353823548235582356823578235882359823608236182362823638236482365823668236782368823698237082371823728237382374823758237682377823788237982380823818238282383823848238582386823878238882389823908239182392823938239482395823968239782398823998240082401824028240382404824058240682407824088240982410824118241282413824148241582416824178241882419824208242182422824238242482425824268242782428824298243082431824328243382434824358243682437824388243982440824418244282443824448244582446824478244882449824508245182452824538245482455824568245782458824598246082461824628246382464824658246682467824688246982470824718247282473824748247582476824778247882479824808248182482824838248482485824868248782488824898249082491824928249382494824958249682497824988249982500825018250282503825048250582506825078250882509825108251182512825138251482515825168251782518825198252082521825228252382524825258252682527825288252982530825318253282533825348253582536825378253882539825408254182542825438254482545825468254782548825498255082551825528255382554825558255682557825588255982560825618256282563825648256582566825678256882569825708257182572825738257482575825768257782578825798258082581825828258382584825858258682587825888258982590825918259282593825948259582596825978259882599826008260182602826038260482605826068260782608826098261082611826128261382614826158261682617826188261982620826218262282623826248262582626826278262882629826308263182632826338263482635826368263782638826398264082641826428264382644826458264682647826488264982650826518265282653826548265582656826578265882659826608266182662826638266482665826668266782668826698267082671826728267382674826758267682677826788267982680826818268282683826848268582686826878268882689826908269182692826938269482695826968269782698826998270082701827028270382704827058270682707827088270982710827118271282713827148271582716827178271882719827208272182722827238272482725827268272782728827298273082731827328273382734827358273682737827388273982740827418274282743827448274582746827478274882749827508275182752827538275482755827568275782758827598276082761827628276382764827658276682767827688276982770827718277282773827748277582776827778277882779827808278182782827838278482785827868278782788827898279082791827928279382794827958279682797827988279982800828018280282803828048280582806828078280882809828108281182812828138281482815828168281782818828198282082821828228282382824828258282682827828288282982830828318283282833828348283582836828378283882839828408284182842828438284482845828468284782848828498285082851828528285382854828558285682857828588285982860828618286282863828648286582866828678286882869828708287182872828738287482875828768287782878828798288082881828828288382884828858288682887828888288982890828918289282893828948289582896828978289882899829008290182902829038290482905829068290782908829098291082911829128291382914829158291682917829188291982920829218292282923829248292582926829278292882929829308293182932829338293482935829368293782938829398294082941829428294382944829458294682947829488294982950829518295282953829548295582956829578295882959829608296182962829638296482965829668296782968829698297082971829728297382974829758297682977829788297982980829818298282983829848298582986829878298882989829908299182992829938299482995829968299782998829998300083001830028300383004830058300683007830088300983010830118301283013830148301583016830178301883019830208302183022830238302483025830268302783028830298303083031830328303383034830358303683037830388303983040830418304283043830448304583046830478304883049830508305183052830538305483055830568305783058830598306083061830628306383064830658306683067830688306983070830718307283073830748307583076830778307883079830808308183082830838308483085830868308783088830898309083091830928309383094830958309683097830988309983100831018310283103831048310583106831078310883109831108311183112831138311483115831168311783118831198312083121831228312383124831258312683127831288312983130831318313283133831348313583136831378313883139831408314183142831438314483145831468314783148831498315083151831528315383154831558315683157831588315983160831618316283163831648316583166831678316883169831708317183172831738317483175831768317783178831798318083181831828318383184831858318683187831888318983190831918319283193831948319583196831978319883199832008320183202832038320483205832068320783208832098321083211832128321383214832158321683217832188321983220832218322283223832248322583226832278322883229832308323183232832338323483235832368323783238832398324083241832428324383244832458324683247832488324983250832518325283253832548325583256832578325883259832608326183262832638326483265832668326783268832698327083271832728327383274832758327683277832788327983280832818328283283832848328583286832878328883289832908329183292832938329483295832968329783298832998330083301833028330383304833058330683307833088330983310833118331283313833148331583316833178331883319833208332183322833238332483325833268332783328833298333083331833328333383334833358333683337833388333983340833418334283343833448334583346833478334883349833508335183352833538335483355833568335783358833598336083361833628336383364833658336683367833688336983370833718337283373833748337583376833778337883379833808338183382833838338483385833868338783388833898339083391833928339383394833958339683397833988339983400834018340283403834048340583406834078340883409834108341183412834138341483415834168341783418834198342083421834228342383424834258342683427834288342983430834318343283433834348343583436834378343883439834408344183442834438344483445834468344783448834498345083451834528345383454834558345683457834588345983460834618346283463834648346583466834678346883469834708347183472834738347483475834768347783478834798348083481834828348383484834858348683487834888348983490834918349283493834948349583496834978349883499835008350183502835038350483505835068350783508835098351083511835128351383514835158351683517835188351983520835218352283523835248352583526835278352883529835308353183532835338353483535835368353783538835398354083541835428354383544835458354683547835488354983550835518355283553835548355583556835578355883559835608356183562835638356483565835668356783568835698357083571835728357383574835758357683577835788357983580835818358283583835848358583586835878358883589835908359183592835938359483595835968359783598835998360083601836028360383604836058360683607836088360983610836118361283613836148361583616836178361883619836208362183622836238362483625836268362783628836298363083631836328363383634836358363683637836388363983640836418364283643836448364583646836478364883649836508365183652836538365483655836568365783658836598366083661836628366383664836658366683667836688366983670836718367283673836748367583676836778367883679836808368183682836838368483685836868368783688836898369083691836928369383694836958369683697836988369983700837018370283703837048370583706837078370883709837108371183712837138371483715837168371783718837198372083721837228372383724837258372683727837288372983730837318373283733837348373583736837378373883739837408374183742837438374483745837468374783748837498375083751837528375383754837558375683757837588375983760837618376283763837648376583766837678376883769837708377183772837738377483775837768377783778837798378083781837828378383784837858378683787837888378983790837918379283793837948379583796837978379883799838008380183802838038380483805838068380783808838098381083811838128381383814838158381683817838188381983820838218382283823838248382583826838278382883829838308383183832838338383483835838368383783838838398384083841838428384383844838458384683847838488384983850838518385283853838548385583856838578385883859838608386183862838638386483865838668386783868838698387083871838728387383874838758387683877838788387983880838818388283883838848388583886838878388883889838908389183892838938389483895838968389783898838998390083901839028390383904839058390683907839088390983910839118391283913839148391583916839178391883919839208392183922839238392483925839268392783928839298393083931839328393383934839358393683937839388393983940839418394283943839448394583946839478394883949839508395183952839538395483955839568395783958839598396083961839628396383964839658396683967839688396983970839718397283973839748397583976839778397883979839808398183982839838398483985839868398783988839898399083991839928399383994839958399683997839988399984000840018400284003840048400584006840078400884009840108401184012840138401484015840168401784018840198402084021840228402384024840258402684027840288402984030840318403284033840348403584036840378403884039840408404184042840438404484045840468404784048840498405084051840528405384054840558405684057840588405984060840618406284063840648406584066840678406884069840708407184072840738407484075840768407784078840798408084081840828408384084840858408684087840888408984090840918409284093840948409584096840978409884099841008410184102841038410484105841068410784108841098411084111841128411384114841158411684117841188411984120841218412284123841248412584126841278412884129841308413184132841338413484135841368413784138841398414084141841428414384144841458414684147841488414984150841518415284153841548415584156841578415884159841608416184162841638416484165841668416784168841698417084171841728417384174841758417684177841788417984180841818418284183841848418584186841878418884189841908419184192841938419484195841968419784198841998420084201842028420384204842058420684207842088420984210842118421284213842148421584216842178421884219842208422184222842238422484225842268422784228842298423084231842328423384234842358423684237842388423984240842418424284243842448424584246842478424884249842508425184252842538425484255842568425784258842598426084261842628426384264842658426684267842688426984270842718427284273842748427584276842778427884279842808428184282842838428484285842868428784288842898429084291842928429384294842958429684297842988429984300843018430284303843048430584306843078430884309843108431184312843138431484315843168431784318843198432084321843228432384324843258432684327843288432984330843318433284333843348433584336843378433884339843408434184342843438434484345843468434784348843498435084351843528435384354843558435684357843588435984360843618436284363843648436584366843678436884369843708437184372843738437484375843768437784378843798438084381843828438384384843858438684387843888438984390843918439284393843948439584396843978439884399844008440184402844038440484405844068440784408844098441084411844128441384414844158441684417844188441984420844218442284423844248442584426844278442884429844308443184432844338443484435844368443784438844398444084441844428444384444844458444684447844488444984450844518445284453844548445584456844578445884459844608446184462844638446484465844668446784468844698447084471844728447384474844758447684477844788447984480844818448284483844848448584486844878448884489844908449184492844938449484495844968449784498844998450084501845028450384504845058450684507845088450984510845118451284513845148451584516845178451884519845208452184522845238452484525845268452784528845298453084531845328453384534845358453684537845388453984540845418454284543845448454584546845478454884549845508455184552845538455484555845568455784558845598456084561845628456384564845658456684567845688456984570845718457284573845748457584576845778457884579845808458184582845838458484585845868458784588845898459084591845928459384594845958459684597845988459984600846018460284603846048460584606846078460884609846108461184612846138461484615846168461784618846198462084621846228462384624846258462684627846288462984630846318463284633846348463584636846378463884639846408464184642846438464484645846468464784648846498465084651846528465384654846558465684657846588465984660846618466284663846648466584666846678466884669846708467184672846738467484675846768467784678846798468084681846828468384684846858468684687846888468984690846918469284693846948469584696846978469884699847008470184702847038470484705847068470784708847098471084711847128471384714847158471684717847188471984720847218472284723847248472584726847278472884729847308473184732847338473484735847368473784738847398474084741847428474384744847458474684747847488474984750847518475284753847548475584756847578475884759847608476184762847638476484765847668476784768847698477084771847728477384774847758477684777847788477984780847818478284783847848478584786847878478884789847908479184792847938479484795847968479784798847998480084801848028480384804848058480684807848088480984810848118481284813848148481584816848178481884819848208482184822848238482484825848268482784828848298483084831848328483384834848358483684837848388483984840848418484284843848448484584846848478484884849848508485184852848538485484855848568485784858848598486084861848628486384864848658486684867848688486984870848718487284873848748487584876848778487884879848808488184882848838488484885848868488784888848898489084891848928489384894848958489684897848988489984900849018490284903849048490584906849078490884909849108491184912849138491484915849168491784918849198492084921849228492384924849258492684927849288492984930849318493284933849348493584936849378493884939849408494184942849438494484945849468494784948849498495084951849528495384954849558495684957849588495984960849618496284963849648496584966849678496884969849708497184972849738497484975849768497784978849798498084981849828498384984849858498684987849888498984990849918499284993849948499584996849978499884999850008500185002850038500485005850068500785008850098501085011850128501385014850158501685017850188501985020850218502285023850248502585026850278502885029850308503185032850338503485035850368503785038850398504085041850428504385044850458504685047850488504985050850518505285053850548505585056850578505885059850608506185062850638506485065850668506785068850698507085071850728507385074850758507685077850788507985080850818508285083850848508585086850878508885089850908509185092850938509485095850968509785098850998510085101851028510385104851058510685107851088510985110851118511285113851148511585116851178511885119851208512185122851238512485125851268512785128851298513085131851328513385134851358513685137851388513985140851418514285143851448514585146851478514885149851508515185152851538515485155851568515785158851598516085161851628516385164851658516685167851688516985170851718517285173851748517585176851778517885179851808518185182851838518485185851868518785188851898519085191851928519385194851958519685197851988519985200852018520285203852048520585206852078520885209852108521185212852138521485215852168521785218852198522085221852228522385224852258522685227852288522985230852318523285233852348523585236852378523885239852408524185242852438524485245852468524785248852498525085251852528525385254852558525685257852588525985260852618526285263852648526585266852678526885269852708527185272852738527485275852768527785278852798528085281852828528385284852858528685287852888528985290852918529285293852948529585296852978529885299853008530185302853038530485305853068530785308853098531085311853128531385314853158531685317853188531985320853218532285323853248532585326853278532885329853308533185332853338533485335853368533785338853398534085341853428534385344853458534685347853488534985350853518535285353853548535585356853578535885359853608536185362853638536485365853668536785368853698537085371853728537385374853758537685377853788537985380853818538285383853848538585386853878538885389853908539185392853938539485395853968539785398853998540085401854028540385404854058540685407854088540985410854118541285413854148541585416854178541885419854208542185422854238542485425854268542785428854298543085431854328543385434854358543685437854388543985440854418544285443854448544585446854478544885449854508545185452854538545485455854568545785458854598546085461854628546385464854658546685467854688546985470854718547285473854748547585476854778547885479854808548185482854838548485485854868548785488854898549085491854928549385494854958549685497854988549985500855018550285503855048550585506855078550885509855108551185512855138551485515855168551785518855198552085521855228552385524855258552685527855288552985530855318553285533855348553585536855378553885539855408554185542855438554485545855468554785548855498555085551855528555385554855558555685557855588555985560855618556285563855648556585566855678556885569855708557185572855738557485575855768557785578855798558085581855828558385584855858558685587855888558985590855918559285593855948559585596855978559885599856008560185602856038560485605856068560785608856098561085611856128561385614856158561685617856188561985620856218562285623856248562585626856278562885629856308563185632856338563485635856368563785638856398564085641856428564385644856458564685647856488564985650856518565285653856548565585656856578565885659856608566185662856638566485665856668566785668856698567085671856728567385674856758567685677856788567985680856818568285683856848568585686856878568885689856908569185692856938569485695856968569785698856998570085701857028570385704857058570685707857088570985710857118571285713857148571585716857178571885719857208572185722857238572485725857268572785728857298573085731857328573385734857358573685737857388573985740857418574285743857448574585746857478574885749857508575185752857538575485755857568575785758857598576085761857628576385764857658576685767857688576985770857718577285773857748577585776857778577885779857808578185782857838578485785857868578785788857898579085791857928579385794857958579685797857988579985800858018580285803858048580585806858078580885809858108581185812858138581485815858168581785818858198582085821858228582385824858258582685827858288582985830858318583285833858348583585836858378583885839858408584185842858438584485845858468584785848858498585085851858528585385854858558585685857858588585985860858618586285863858648586585866858678586885869858708587185872858738587485875858768587785878858798588085881858828588385884858858588685887858888588985890858918589285893858948589585896858978589885899859008590185902859038590485905859068590785908859098591085911859128591385914859158591685917859188591985920859218592285923859248592585926859278592885929859308593185932859338593485935859368593785938859398594085941859428594385944859458594685947859488594985950859518595285953859548595585956859578595885959859608596185962859638596485965859668596785968859698597085971859728597385974859758597685977859788597985980859818598285983859848598585986859878598885989859908599185992859938599485995859968599785998859998600086001860028600386004860058600686007860088600986010860118601286013860148601586016860178601886019860208602186022860238602486025860268602786028860298603086031860328603386034860358603686037860388603986040860418604286043860448604586046860478604886049860508605186052860538605486055860568605786058860598606086061860628606386064860658606686067860688606986070860718607286073860748607586076860778607886079860808608186082860838608486085860868608786088860898609086091860928609386094860958609686097860988609986100861018610286103861048610586106861078610886109861108611186112861138611486115861168611786118861198612086121861228612386124861258612686127861288612986130861318613286133861348613586136861378613886139861408614186142861438614486145861468614786148861498615086151861528615386154861558615686157861588615986160861618616286163861648616586166861678616886169861708617186172861738617486175861768617786178861798618086181861828618386184861858618686187861888618986190861918619286193861948619586196861978619886199862008620186202862038620486205862068620786208862098621086211862128621386214862158621686217862188621986220862218622286223862248622586226862278622886229862308623186232862338623486235862368623786238862398624086241862428624386244862458624686247862488624986250862518625286253862548625586256862578625886259862608626186262862638626486265862668626786268862698627086271862728627386274862758627686277862788627986280862818628286283862848628586286862878628886289862908629186292862938629486295862968629786298862998630086301863028630386304863058630686307863088630986310863118631286313863148631586316863178631886319863208632186322863238632486325863268632786328863298633086331863328633386334863358633686337863388633986340863418634286343863448634586346863478634886349863508635186352863538635486355863568635786358863598636086361863628636386364863658636686367863688636986370863718637286373863748637586376863778637886379863808638186382863838638486385863868638786388863898639086391863928639386394863958639686397863988639986400864018640286403864048640586406864078640886409864108641186412864138641486415864168641786418864198642086421864228642386424864258642686427864288642986430864318643286433864348643586436864378643886439864408644186442864438644486445864468644786448864498645086451864528645386454864558645686457864588645986460864618646286463864648646586466864678646886469864708647186472864738647486475864768647786478864798648086481864828648386484864858648686487864888648986490864918649286493864948649586496864978649886499865008650186502865038650486505865068650786508865098651086511865128651386514865158651686517865188651986520865218652286523865248652586526865278652886529865308653186532865338653486535865368653786538865398654086541865428654386544865458654686547865488654986550865518655286553865548655586556865578655886559865608656186562865638656486565865668656786568865698657086571865728657386574865758657686577865788657986580865818658286583865848658586586865878658886589865908659186592865938659486595865968659786598865998660086601866028660386604866058660686607866088660986610866118661286613866148661586616866178661886619866208662186622866238662486625866268662786628866298663086631866328663386634866358663686637866388663986640866418664286643866448664586646866478664886649866508665186652866538665486655866568665786658866598666086661866628666386664866658666686667866688666986670866718667286673866748667586676866778667886679866808668186682866838668486685866868668786688866898669086691866928669386694866958669686697866988669986700867018670286703867048670586706867078670886709867108671186712867138671486715867168671786718867198672086721867228672386724867258672686727867288672986730867318673286733867348673586736867378673886739867408674186742867438674486745867468674786748867498675086751867528675386754867558675686757867588675986760867618676286763867648676586766867678676886769867708677186772867738677486775867768677786778867798678086781867828678386784867858678686787867888678986790867918679286793867948679586796867978679886799868008680186802868038680486805868068680786808868098681086811868128681386814868158681686817868188681986820868218682286823868248682586826868278682886829868308683186832868338683486835868368683786838868398684086841868428684386844868458684686847868488684986850868518685286853868548685586856868578685886859868608686186862868638686486865868668686786868868698687086871868728687386874868758687686877868788687986880868818688286883868848688586886868878688886889868908689186892868938689486895868968689786898868998690086901869028690386904869058690686907869088690986910869118691286913869148691586916869178691886919869208692186922869238692486925869268692786928869298693086931869328693386934869358693686937869388693986940869418694286943869448694586946869478694886949869508695186952869538695486955869568695786958869598696086961869628696386964869658696686967869688696986970869718697286973869748697586976869778697886979869808698186982869838698486985869868698786988869898699086991869928699386994869958699686997869988699987000870018700287003870048700587006870078700887009870108701187012870138701487015870168701787018870198702087021870228702387024870258702687027870288702987030870318703287033870348703587036870378703887039870408704187042870438704487045870468704787048870498705087051870528705387054870558705687057870588705987060870618706287063870648706587066870678706887069870708707187072870738707487075870768707787078870798708087081870828708387084870858708687087870888708987090870918709287093870948709587096870978709887099871008710187102871038710487105871068710787108871098711087111871128711387114871158711687117871188711987120871218712287123871248712587126871278712887129871308713187132871338713487135871368713787138871398714087141871428714387144871458714687147871488714987150871518715287153871548715587156871578715887159871608716187162871638716487165871668716787168871698717087171871728717387174871758717687177871788717987180871818718287183871848718587186871878718887189871908719187192871938719487195871968719787198871998720087201872028720387204872058720687207872088720987210872118721287213872148721587216872178721887219872208722187222872238722487225872268722787228872298723087231872328723387234872358723687237872388723987240872418724287243872448724587246872478724887249872508725187252872538725487255872568725787258872598726087261872628726387264872658726687267872688726987270872718727287273872748727587276872778727887279872808728187282872838728487285872868728787288872898729087291872928729387294872958729687297872988729987300873018730287303873048730587306873078730887309873108731187312873138731487315873168731787318873198732087321873228732387324873258732687327873288732987330873318733287333873348733587336873378733887339873408734187342873438734487345873468734787348873498735087351873528735387354873558735687357873588735987360873618736287363873648736587366873678736887369873708737187372873738737487375873768737787378873798738087381873828738387384873858738687387873888738987390873918739287393873948739587396873978739887399874008740187402874038740487405874068740787408874098741087411874128741387414874158741687417874188741987420874218742287423874248742587426874278742887429874308743187432874338743487435874368743787438874398744087441874428744387444874458744687447874488744987450874518745287453874548745587456874578745887459874608746187462874638746487465874668746787468874698747087471874728747387474874758747687477874788747987480874818748287483874848748587486874878748887489874908749187492874938749487495874968749787498874998750087501875028750387504875058750687507875088750987510875118751287513875148751587516875178751887519875208752187522875238752487525875268752787528875298753087531875328753387534875358753687537875388753987540875418754287543875448754587546875478754887549875508755187552875538755487555875568755787558875598756087561875628756387564875658756687567875688756987570875718757287573875748757587576875778757887579875808758187582875838758487585875868758787588875898759087591875928759387594875958759687597875988759987600876018760287603876048760587606876078760887609876108761187612876138761487615876168761787618876198762087621876228762387624876258762687627876288762987630876318763287633876348763587636876378763887639876408764187642876438764487645876468764787648876498765087651876528765387654876558765687657876588765987660876618766287663876648766587666876678766887669876708767187672876738767487675876768767787678876798768087681876828768387684876858768687687876888768987690876918769287693876948769587696876978769887699877008770187702877038770487705877068770787708877098771087711877128771387714877158771687717877188771987720877218772287723877248772587726877278772887729877308773187732877338773487735877368773787738877398774087741877428774387744877458774687747877488774987750877518775287753877548775587756877578775887759877608776187762877638776487765877668776787768877698777087771877728777387774877758777687777877788777987780877818778287783877848778587786877878778887789877908779187792877938779487795877968779787798877998780087801878028780387804878058780687807878088780987810878118781287813878148781587816878178781887819878208782187822878238782487825878268782787828878298783087831878328783387834878358783687837878388783987840878418784287843878448784587846878478784887849878508785187852878538785487855878568785787858878598786087861878628786387864878658786687867878688786987870878718787287873878748787587876878778787887879878808788187882878838788487885878868788787888878898789087891878928789387894878958789687897878988789987900879018790287903879048790587906879078790887909879108791187912879138791487915879168791787918879198792087921879228792387924879258792687927879288792987930879318793287933879348793587936879378793887939879408794187942879438794487945879468794787948879498795087951879528795387954879558795687957879588795987960879618796287963879648796587966879678796887969879708797187972879738797487975879768797787978879798798087981879828798387984879858798687987879888798987990879918799287993879948799587996879978799887999880008800188002880038800488005880068800788008880098801088011880128801388014880158801688017880188801988020880218802288023880248802588026880278802888029880308803188032880338803488035880368803788038880398804088041880428804388044880458804688047880488804988050880518805288053880548805588056880578805888059880608806188062880638806488065880668806788068880698807088071880728807388074880758807688077880788807988080880818808288083880848808588086880878808888089880908809188092880938809488095880968809788098880998810088101881028810388104881058810688107881088810988110881118811288113881148811588116881178811888119881208812188122881238812488125881268812788128881298813088131881328813388134881358813688137881388813988140881418814288143881448814588146881478814888149881508815188152881538815488155881568815788158881598816088161881628816388164881658816688167881688816988170881718817288173881748817588176881778817888179881808818188182881838818488185881868818788188881898819088191881928819388194881958819688197881988819988200882018820288203882048820588206882078820888209882108821188212882138821488215882168821788218882198822088221882228822388224882258822688227882288822988230882318823288233882348823588236882378823888239882408824188242882438824488245882468824788248882498825088251882528825388254882558825688257882588825988260882618826288263882648826588266882678826888269882708827188272882738827488275882768827788278882798828088281882828828388284882858828688287882888828988290882918829288293882948829588296882978829888299883008830188302883038830488305883068830788308883098831088311883128831388314883158831688317883188831988320883218832288323883248832588326883278832888329883308833188332883338833488335883368833788338883398834088341883428834388344883458834688347883488834988350883518835288353883548835588356883578835888359883608836188362883638836488365883668836788368883698837088371883728837388374883758837688377883788837988380883818838288383883848838588386883878838888389883908839188392883938839488395883968839788398883998840088401884028840388404884058840688407884088840988410884118841288413884148841588416884178841888419884208842188422884238842488425884268842788428884298843088431884328843388434884358843688437884388843988440884418844288443884448844588446884478844888449884508845188452884538845488455884568845788458884598846088461884628846388464884658846688467884688846988470884718847288473884748847588476884778847888479884808848188482884838848488485884868848788488884898849088491884928849388494884958849688497884988849988500885018850288503885048850588506885078850888509885108851188512885138851488515885168851788518885198852088521885228852388524885258852688527885288852988530885318853288533885348853588536885378853888539885408854188542885438854488545885468854788548885498855088551885528855388554885558855688557885588855988560885618856288563885648856588566885678856888569885708857188572885738857488575885768857788578885798858088581885828858388584885858858688587885888858988590885918859288593885948859588596885978859888599886008860188602886038860488605886068860788608886098861088611886128861388614886158861688617886188861988620886218862288623886248862588626886278862888629886308863188632886338863488635886368863788638886398864088641886428864388644886458864688647886488864988650886518865288653886548865588656886578865888659886608866188662886638866488665886668866788668886698867088671886728867388674886758867688677886788867988680886818868288683886848868588686886878868888689886908869188692886938869488695886968869788698886998870088701887028870388704887058870688707887088870988710887118871288713887148871588716887178871888719887208872188722887238872488725887268872788728887298873088731887328873388734887358873688737887388873988740887418874288743887448874588746887478874888749887508875188752887538875488755887568875788758887598876088761887628876388764887658876688767887688876988770887718877288773887748877588776887778877888779887808878188782887838878488785887868878788788887898879088791887928879388794887958879688797887988879988800888018880288803888048880588806888078880888809888108881188812888138881488815888168881788818888198882088821888228882388824888258882688827888288882988830888318883288833888348883588836888378883888839888408884188842888438884488845888468884788848888498885088851888528885388854888558885688857888588885988860888618886288863888648886588866888678886888869888708887188872888738887488875888768887788878888798888088881888828888388884888858888688887888888888988890888918889288893888948889588896888978889888899889008890188902889038890488905889068890788908889098891088911889128891388914889158891688917889188891988920889218892288923889248892588926889278892888929889308893188932889338893488935889368893788938889398894088941889428894388944889458894688947889488894988950889518895288953889548895588956889578895888959889608896188962889638896488965889668896788968889698897088971889728897388974889758897688977889788897988980889818898288983889848898588986889878898888989889908899188992889938899488995889968899788998889998900089001890028900389004890058900689007890088900989010890118901289013890148901589016890178901889019890208902189022890238902489025890268902789028890298903089031890328903389034890358903689037890388903989040890418904289043890448904589046890478904889049890508905189052890538905489055890568905789058890598906089061890628906389064890658906689067890688906989070890718907289073890748907589076890778907889079890808908189082890838908489085890868908789088890898909089091890928909389094890958909689097890988909989100891018910289103891048910589106891078910889109891108911189112891138911489115891168911789118891198912089121891228912389124891258912689127891288912989130891318913289133891348913589136891378913889139891408914189142891438914489145891468914789148891498915089151891528915389154891558915689157891588915989160891618916289163891648916589166891678916889169891708917189172891738917489175891768917789178891798918089181891828918389184891858918689187891888918989190891918919289193891948919589196891978919889199892008920189202892038920489205892068920789208892098921089211892128921389214892158921689217892188921989220892218922289223892248922589226892278922889229892308923189232892338923489235892368923789238892398924089241892428924389244892458924689247892488924989250892518925289253892548925589256892578925889259892608926189262892638926489265892668926789268892698927089271892728927389274892758927689277892788927989280892818928289283892848928589286892878928889289892908929189292892938929489295892968929789298892998930089301893028930389304893058930689307893088930989310893118931289313893148931589316893178931889319893208932189322893238932489325893268932789328893298933089331893328933389334893358933689337893388933989340893418934289343893448934589346893478934889349893508935189352893538935489355893568935789358893598936089361893628936389364893658936689367893688936989370893718937289373893748937589376893778937889379893808938189382893838938489385893868938789388893898939089391893928939389394893958939689397893988939989400894018940289403894048940589406894078940889409894108941189412894138941489415894168941789418894198942089421894228942389424894258942689427894288942989430894318943289433894348943589436894378943889439894408944189442894438944489445894468944789448894498945089451894528945389454894558945689457894588945989460894618946289463894648946589466894678946889469894708947189472894738947489475894768947789478894798948089481894828948389484894858948689487894888948989490894918949289493894948949589496894978949889499895008950189502895038950489505895068950789508895098951089511895128951389514895158951689517895188951989520895218952289523895248952589526895278952889529895308953189532895338953489535895368953789538895398954089541895428954389544895458954689547895488954989550895518955289553895548955589556895578955889559895608956189562895638956489565895668956789568895698957089571895728957389574895758957689577895788957989580895818958289583895848958589586895878958889589895908959189592895938959489595895968959789598895998960089601896028960389604896058960689607896088960989610896118961289613896148961589616896178961889619896208962189622896238962489625896268962789628896298963089631896328963389634896358963689637896388963989640896418964289643896448964589646896478964889649896508965189652896538965489655896568965789658896598966089661896628966389664896658966689667896688966989670896718967289673896748967589676896778967889679896808968189682896838968489685896868968789688896898969089691896928969389694896958969689697896988969989700897018970289703897048970589706897078970889709897108971189712897138971489715897168971789718897198972089721897228972389724897258972689727897288972989730897318973289733897348973589736897378973889739897408974189742897438974489745897468974789748897498975089751897528975389754897558975689757897588975989760897618976289763897648976589766897678976889769897708977189772897738977489775897768977789778897798978089781897828978389784897858978689787897888978989790897918979289793897948979589796897978979889799898008980189802898038980489805898068980789808898098981089811898128981389814898158981689817898188981989820898218982289823898248982589826898278982889829898308983189832898338983489835898368983789838898398984089841898428984389844898458984689847898488984989850898518985289853898548985589856898578985889859898608986189862898638986489865898668986789868898698987089871898728987389874898758987689877898788987989880898818988289883898848988589886898878988889889898908989189892898938989489895898968989789898898998990089901899028990389904899058990689907899088990989910899118991289913899148991589916899178991889919899208992189922899238992489925899268992789928899298993089931899328993389934899358993689937899388993989940899418994289943899448994589946899478994889949899508995189952899538995489955899568995789958899598996089961899628996389964899658996689967899688996989970899718997289973899748997589976899778997889979899808998189982899838998489985899868998789988899898999089991899928999389994899958999689997899988999990000900019000290003900049000590006900079000890009900109001190012900139001490015900169001790018900199002090021900229002390024900259002690027900289002990030900319003290033900349003590036900379003890039900409004190042900439004490045900469004790048900499005090051900529005390054900559005690057900589005990060900619006290063900649006590066900679006890069900709007190072900739007490075900769007790078900799008090081900829008390084900859008690087900889008990090900919009290093900949009590096900979009890099901009010190102901039010490105901069010790108901099011090111901129011390114901159011690117901189011990120901219012290123901249012590126901279012890129901309013190132901339013490135901369013790138901399014090141901429014390144901459014690147901489014990150901519015290153901549015590156901579015890159901609016190162901639016490165901669016790168901699017090171901729017390174901759017690177901789017990180901819018290183901849018590186901879018890189901909019190192901939019490195901969019790198901999020090201902029020390204902059020690207902089020990210902119021290213902149021590216902179021890219902209022190222902239022490225902269022790228902299023090231902329023390234902359023690237902389023990240902419024290243902449024590246902479024890249902509025190252902539025490255902569025790258902599026090261902629026390264902659026690267902689026990270902719027290273902749027590276902779027890279902809028190282902839028490285902869028790288902899029090291902929029390294902959029690297902989029990300903019030290303903049030590306903079030890309903109031190312903139031490315903169031790318903199032090321903229032390324903259032690327903289032990330903319033290333903349033590336903379033890339903409034190342903439034490345903469034790348903499035090351903529035390354903559035690357903589035990360903619036290363903649036590366903679036890369903709037190372903739037490375903769037790378903799038090381903829038390384903859038690387903889038990390903919039290393903949039590396903979039890399904009040190402904039040490405904069040790408904099041090411904129041390414904159041690417904189041990420904219042290423904249042590426904279042890429904309043190432904339043490435904369043790438904399044090441904429044390444904459044690447904489044990450904519045290453904549045590456904579045890459904609046190462904639046490465904669046790468904699047090471904729047390474904759047690477904789047990480904819048290483904849048590486904879048890489904909049190492904939049490495904969049790498904999050090501905029050390504905059050690507905089050990510905119051290513905149051590516905179051890519905209052190522905239052490525905269052790528905299053090531905329053390534905359053690537905389053990540905419054290543905449054590546905479054890549905509055190552905539055490555905569055790558905599056090561905629056390564905659056690567905689056990570905719057290573905749057590576905779057890579905809058190582905839058490585905869058790588905899059090591905929059390594905959059690597905989059990600906019060290603906049060590606906079060890609906109061190612906139061490615906169061790618906199062090621906229062390624906259062690627906289062990630906319063290633906349063590636906379063890639906409064190642906439064490645906469064790648906499065090651906529065390654906559065690657906589065990660906619066290663906649066590666906679066890669906709067190672906739067490675906769067790678906799068090681906829068390684906859068690687906889068990690906919069290693906949069590696906979069890699907009070190702907039070490705907069070790708907099071090711907129071390714907159071690717907189071990720907219072290723907249072590726907279072890729907309073190732907339073490735907369073790738907399074090741907429074390744907459074690747907489074990750907519075290753907549075590756907579075890759907609076190762907639076490765907669076790768907699077090771907729077390774907759077690777907789077990780907819078290783907849078590786907879078890789907909079190792907939079490795907969079790798907999080090801908029080390804908059080690807908089080990810908119081290813908149081590816908179081890819908209082190822908239082490825908269082790828908299083090831908329083390834908359083690837908389083990840908419084290843908449084590846908479084890849908509085190852908539085490855908569085790858908599086090861908629086390864908659086690867908689086990870908719087290873908749087590876908779087890879908809088190882908839088490885908869088790888908899089090891908929089390894908959089690897908989089990900909019090290903909049090590906909079090890909909109091190912909139091490915909169091790918909199092090921909229092390924909259092690927909289092990930909319093290933909349093590936909379093890939909409094190942909439094490945909469094790948909499095090951909529095390954909559095690957909589095990960909619096290963909649096590966909679096890969909709097190972909739097490975909769097790978909799098090981909829098390984909859098690987909889098990990909919099290993909949099590996909979099890999910009100191002910039100491005910069100791008910099101091011910129101391014910159101691017910189101991020910219102291023910249102591026910279102891029910309103191032910339103491035910369103791038910399104091041910429104391044910459104691047910489104991050910519105291053910549105591056910579105891059910609106191062910639106491065910669106791068910699107091071910729107391074910759107691077910789107991080910819108291083910849108591086910879108891089910909109191092910939109491095910969109791098910999110091101911029110391104911059110691107911089110991110911119111291113911149111591116911179111891119911209112191122911239112491125911269112791128911299113091131911329113391134911359113691137911389113991140911419114291143911449114591146911479114891149911509115191152911539115491155911569115791158911599116091161911629116391164911659116691167911689116991170911719117291173911749117591176911779117891179911809118191182911839118491185911869118791188911899119091191911929119391194911959119691197911989119991200912019120291203912049120591206912079120891209912109121191212912139121491215912169121791218912199122091221912229122391224912259122691227912289122991230912319123291233912349123591236912379123891239912409124191242912439124491245912469124791248912499125091251912529125391254912559125691257912589125991260912619126291263912649126591266912679126891269912709127191272912739127491275912769127791278912799128091281912829128391284912859128691287912889128991290912919129291293912949129591296912979129891299913009130191302913039130491305913069130791308913099131091311913129131391314913159131691317913189131991320913219132291323913249132591326913279132891329913309133191332913339133491335913369133791338913399134091341913429134391344913459134691347913489134991350913519135291353913549135591356913579135891359913609136191362913639136491365913669136791368913699137091371913729137391374913759137691377913789137991380913819138291383913849138591386913879138891389913909139191392913939139491395913969139791398913999140091401914029140391404914059140691407914089140991410914119141291413914149141591416914179141891419914209142191422914239142491425914269142791428914299143091431914329143391434914359143691437914389143991440914419144291443914449144591446914479144891449914509145191452914539145491455914569145791458914599146091461914629146391464914659146691467914689146991470914719147291473914749147591476914779147891479914809148191482914839148491485914869148791488914899149091491914929149391494914959149691497914989149991500915019150291503915049150591506915079150891509915109151191512915139151491515915169151791518915199152091521915229152391524915259152691527915289152991530915319153291533915349153591536915379153891539915409154191542915439154491545915469154791548915499155091551915529155391554915559155691557915589155991560915619156291563915649156591566915679156891569915709157191572915739157491575915769157791578915799158091581915829158391584915859158691587915889158991590915919159291593915949159591596915979159891599916009160191602916039160491605916069160791608916099161091611916129161391614916159161691617916189161991620916219162291623916249162591626916279162891629916309163191632916339163491635916369163791638916399164091641916429164391644916459164691647916489164991650916519165291653916549165591656916579165891659916609166191662916639166491665916669166791668916699167091671916729167391674916759167691677916789167991680916819168291683916849168591686916879168891689916909169191692916939169491695916969169791698916999170091701917029170391704917059170691707917089170991710917119171291713917149171591716917179171891719917209172191722917239172491725917269172791728917299173091731917329173391734917359173691737917389173991740917419174291743917449174591746917479174891749917509175191752917539175491755917569175791758917599176091761917629176391764917659176691767917689176991770917719177291773917749177591776917779177891779917809178191782917839178491785917869178791788917899179091791917929179391794917959179691797917989179991800918019180291803918049180591806918079180891809918109181191812918139181491815918169181791818918199182091821918229182391824918259182691827918289182991830918319183291833918349183591836918379183891839918409184191842918439184491845918469184791848918499185091851918529185391854918559185691857918589185991860918619186291863918649186591866918679186891869918709187191872918739187491875918769187791878918799188091881918829188391884918859188691887918889188991890918919189291893918949189591896918979189891899919009190191902919039190491905919069190791908919099191091911919129191391914919159191691917919189191991920919219192291923919249192591926919279192891929919309193191932919339193491935919369193791938919399194091941919429194391944919459194691947919489194991950919519195291953919549195591956919579195891959919609196191962919639196491965919669196791968919699197091971919729197391974919759197691977919789197991980919819198291983919849198591986919879198891989919909199191992919939199491995919969199791998919999200092001920029200392004920059200692007920089200992010920119201292013920149201592016920179201892019920209202192022920239202492025920269202792028920299203092031920329203392034920359203692037920389203992040920419204292043920449204592046920479204892049920509205192052920539205492055920569205792058920599206092061920629206392064920659206692067920689206992070920719207292073920749207592076920779207892079920809208192082920839208492085920869208792088920899209092091920929209392094920959209692097920989209992100921019210292103921049210592106921079210892109921109211192112921139211492115921169211792118921199212092121921229212392124921259212692127921289212992130921319213292133921349213592136921379213892139921409214192142921439214492145921469214792148921499215092151921529215392154921559215692157921589215992160921619216292163921649216592166921679216892169921709217192172921739217492175921769217792178921799218092181921829218392184921859218692187921889218992190921919219292193921949219592196921979219892199922009220192202922039220492205922069220792208922099221092211922129221392214922159221692217922189221992220922219222292223922249222592226922279222892229922309223192232922339223492235922369223792238922399224092241922429224392244922459224692247922489224992250922519225292253922549225592256922579225892259922609226192262922639226492265922669226792268922699227092271922729227392274922759227692277922789227992280922819228292283922849228592286922879228892289922909229192292922939229492295922969229792298922999230092301923029230392304923059230692307923089230992310923119231292313923149231592316923179231892319923209232192322923239232492325923269232792328923299233092331923329233392334923359233692337923389233992340923419234292343923449234592346923479234892349923509235192352923539235492355923569235792358923599236092361923629236392364923659236692367923689236992370923719237292373923749237592376923779237892379923809238192382923839238492385923869238792388923899239092391923929239392394923959239692397923989239992400924019240292403924049240592406924079240892409924109241192412924139241492415924169241792418924199242092421924229242392424924259242692427924289242992430924319243292433924349243592436924379243892439924409244192442924439244492445924469244792448924499245092451924529245392454924559245692457924589245992460924619246292463924649246592466924679246892469924709247192472924739247492475924769247792478924799248092481924829248392484924859248692487924889248992490924919249292493924949249592496924979249892499925009250192502925039250492505925069250792508925099251092511925129251392514925159251692517925189251992520925219252292523925249252592526925279252892529925309253192532925339253492535925369253792538925399254092541925429254392544925459254692547925489254992550925519255292553925549255592556925579255892559925609256192562925639256492565925669256792568925699257092571925729257392574925759257692577925789257992580925819258292583925849258592586925879258892589925909259192592925939259492595925969259792598925999260092601926029260392604926059260692607926089260992610926119261292613926149261592616926179261892619926209262192622926239262492625926269262792628926299263092631926329263392634926359263692637926389263992640926419264292643926449264592646926479264892649926509265192652926539265492655926569265792658926599266092661926629266392664926659266692667926689266992670926719267292673926749267592676926779267892679926809268192682926839268492685926869268792688926899269092691926929269392694926959269692697926989269992700927019270292703927049270592706927079270892709927109271192712927139271492715927169271792718927199272092721927229272392724927259272692727927289272992730927319273292733927349273592736927379273892739927409274192742927439274492745927469274792748927499275092751927529275392754927559275692757927589275992760927619276292763927649276592766927679276892769927709277192772927739277492775927769277792778927799278092781927829278392784927859278692787927889278992790927919279292793927949279592796927979279892799928009280192802928039280492805928069280792808928099281092811928129281392814928159281692817928189281992820928219282292823928249282592826928279282892829928309283192832928339283492835928369283792838928399284092841928429284392844928459284692847928489284992850928519285292853928549285592856928579285892859928609286192862928639286492865928669286792868928699287092871928729287392874928759287692877928789287992880928819288292883928849288592886928879288892889928909289192892928939289492895928969289792898928999290092901929029290392904929059290692907929089290992910929119291292913929149291592916929179291892919929209292192922929239292492925929269292792928929299293092931929329293392934929359293692937929389293992940929419294292943929449294592946929479294892949929509295192952929539295492955929569295792958929599296092961929629296392964929659296692967929689296992970929719297292973929749297592976929779297892979929809298192982929839298492985929869298792988929899299092991929929299392994929959299692997929989299993000930019300293003930049300593006930079300893009930109301193012930139301493015930169301793018930199302093021930229302393024930259302693027930289302993030930319303293033930349303593036930379303893039930409304193042930439304493045930469304793048930499305093051930529305393054930559305693057930589305993060930619306293063930649306593066930679306893069930709307193072930739307493075930769307793078930799308093081930829308393084930859308693087930889308993090930919309293093930949309593096930979309893099931009310193102931039310493105931069310793108931099311093111931129311393114931159311693117931189311993120931219312293123931249312593126931279312893129931309313193132931339313493135931369313793138931399314093141931429314393144931459314693147931489314993150931519315293153931549315593156931579315893159931609316193162931639316493165931669316793168931699317093171931729317393174931759317693177931789317993180931819318293183931849318593186931879318893189931909319193192931939319493195931969319793198931999320093201932029320393204932059320693207932089320993210932119321293213932149321593216932179321893219932209322193222932239322493225932269322793228932299323093231932329323393234932359323693237932389323993240932419324293243932449324593246932479324893249932509325193252932539325493255932569325793258932599326093261932629326393264932659326693267932689326993270932719327293273932749327593276932779327893279932809328193282932839328493285932869328793288932899329093291932929329393294932959329693297932989329993300933019330293303933049330593306933079330893309933109331193312933139331493315933169331793318933199332093321933229332393324933259332693327933289332993330933319333293333933349333593336933379333893339933409334193342933439334493345933469334793348933499335093351933529335393354933559335693357933589335993360933619336293363933649336593366933679336893369933709337193372933739337493375933769337793378933799338093381933829338393384933859338693387933889338993390933919339293393933949339593396933979339893399934009340193402934039340493405934069340793408934099341093411934129341393414934159341693417934189341993420934219342293423934249342593426934279342893429934309343193432934339343493435934369343793438934399344093441934429344393444934459344693447934489344993450934519345293453934549345593456934579345893459934609346193462934639346493465934669346793468934699347093471934729347393474934759347693477934789347993480934819348293483934849348593486934879348893489934909349193492934939349493495934969349793498934999350093501935029350393504935059350693507935089350993510935119351293513935149351593516935179351893519935209352193522935239352493525935269352793528935299353093531935329353393534935359353693537935389353993540935419354293543935449354593546935479354893549935509355193552935539355493555935569355793558935599356093561935629356393564935659356693567935689356993570935719357293573935749357593576935779357893579935809358193582935839358493585935869358793588935899359093591935929359393594935959359693597935989359993600936019360293603936049360593606936079360893609936109361193612936139361493615936169361793618936199362093621936229362393624936259362693627936289362993630936319363293633936349363593636936379363893639936409364193642936439364493645936469364793648936499365093651936529365393654936559365693657936589365993660936619366293663936649366593666936679366893669936709367193672936739367493675936769367793678936799368093681936829368393684936859368693687936889368993690936919369293693936949369593696936979369893699937009370193702937039370493705937069370793708937099371093711937129371393714937159371693717937189371993720937219372293723937249372593726937279372893729937309373193732937339373493735937369373793738937399374093741937429374393744937459374693747937489374993750937519375293753937549375593756937579375893759937609376193762937639376493765937669376793768937699377093771937729377393774937759377693777937789377993780937819378293783937849378593786937879378893789937909379193792937939379493795937969379793798937999380093801938029380393804938059380693807938089380993810938119381293813938149381593816938179381893819938209382193822938239382493825938269382793828938299383093831938329383393834938359383693837938389383993840938419384293843938449384593846938479384893849938509385193852938539385493855938569385793858938599386093861938629386393864938659386693867938689386993870938719387293873938749387593876938779387893879938809388193882938839388493885938869388793888938899389093891938929389393894938959389693897938989389993900939019390293903939049390593906939079390893909939109391193912939139391493915939169391793918939199392093921939229392393924939259392693927939289392993930939319393293933939349393593936939379393893939939409394193942939439394493945939469394793948939499395093951939529395393954939559395693957939589395993960939619396293963939649396593966939679396893969939709397193972939739397493975939769397793978939799398093981939829398393984939859398693987939889398993990939919399293993939949399593996939979399893999940009400194002940039400494005940069400794008940099401094011940129401394014940159401694017940189401994020940219402294023940249402594026940279402894029940309403194032940339403494035940369403794038940399404094041940429404394044940459404694047940489404994050940519405294053940549405594056940579405894059940609406194062940639406494065940669406794068940699407094071940729407394074940759407694077940789407994080940819408294083940849408594086940879408894089940909409194092940939409494095940969409794098940999410094101941029410394104941059410694107941089410994110941119411294113941149411594116941179411894119941209412194122941239412494125941269412794128941299413094131941329413394134941359413694137941389413994140941419414294143941449414594146941479414894149941509415194152941539415494155941569415794158941599416094161941629416394164941659416694167941689416994170941719417294173941749417594176941779417894179941809418194182941839418494185941869418794188941899419094191941929419394194941959419694197941989419994200942019420294203942049420594206942079420894209942109421194212942139421494215942169421794218942199422094221942229422394224942259422694227942289422994230942319423294233942349423594236942379423894239942409424194242942439424494245942469424794248942499425094251942529425394254942559425694257942589425994260942619426294263942649426594266942679426894269942709427194272942739427494275942769427794278942799428094281942829428394284942859428694287942889428994290942919429294293942949429594296942979429894299943009430194302943039430494305943069430794308943099431094311943129431394314943159431694317943189431994320943219432294323943249432594326943279432894329943309433194332943339433494335943369433794338943399434094341943429434394344943459434694347943489434994350943519435294353943549435594356943579435894359943609436194362943639436494365943669436794368943699437094371943729437394374943759437694377943789437994380943819438294383943849438594386943879438894389943909439194392943939439494395943969439794398943999440094401944029440394404944059440694407944089440994410944119441294413944149441594416944179441894419944209442194422944239442494425944269442794428944299443094431944329443394434944359443694437944389443994440944419444294443944449444594446944479444894449944509445194452944539445494455944569445794458944599446094461944629446394464944659446694467944689446994470944719447294473944749447594476944779447894479944809448194482944839448494485944869448794488944899449094491944929449394494944959449694497944989449994500945019450294503945049450594506945079450894509945109451194512945139451494515945169451794518945199452094521945229452394524945259452694527945289452994530945319453294533945349453594536945379453894539945409454194542945439454494545945469454794548945499455094551945529455394554945559455694557945589455994560945619456294563945649456594566945679456894569945709457194572945739457494575945769457794578945799458094581945829458394584945859458694587945889458994590945919459294593945949459594596945979459894599946009460194602946039460494605946069460794608946099461094611946129461394614946159461694617946189461994620946219462294623946249462594626946279462894629946309463194632946339463494635946369463794638946399464094641946429464394644946459464694647946489464994650946519465294653946549465594656946579465894659946609466194662946639466494665946669466794668946699467094671946729467394674946759467694677946789467994680946819468294683946849468594686946879468894689946909469194692946939469494695946969469794698946999470094701947029470394704947059470694707947089470994710947119471294713947149471594716947179471894719947209472194722947239472494725947269472794728947299473094731947329473394734947359473694737947389473994740947419474294743947449474594746947479474894749947509475194752947539475494755947569475794758947599476094761947629476394764947659476694767947689476994770947719477294773947749477594776947779477894779947809478194782947839478494785947869478794788947899479094791947929479394794947959479694797947989479994800948019480294803948049480594806948079480894809948109481194812948139481494815948169481794818948199482094821948229482394824948259482694827948289482994830948319483294833948349483594836948379483894839948409484194842948439484494845948469484794848948499485094851948529485394854948559485694857948589485994860948619486294863948649486594866948679486894869948709487194872948739487494875948769487794878948799488094881948829488394884948859488694887948889488994890948919489294893948949489594896948979489894899949009490194902949039490494905949069490794908949099491094911949129491394914949159491694917949189491994920949219492294923949249492594926949279492894929949309493194932949339493494935949369493794938949399494094941949429494394944949459494694947949489494994950949519495294953949549495594956949579495894959949609496194962949639496494965949669496794968949699497094971949729497394974949759497694977949789497994980949819498294983949849498594986949879498894989949909499194992949939499494995949969499794998949999500095001950029500395004950059500695007950089500995010950119501295013950149501595016950179501895019950209502195022950239502495025950269502795028950299503095031950329503395034950359503695037950389503995040950419504295043950449504595046950479504895049950509505195052950539505495055950569505795058950599506095061950629506395064950659506695067950689506995070950719507295073950749507595076950779507895079950809508195082950839508495085950869508795088950899509095091950929509395094950959509695097950989509995100951019510295103951049510595106951079510895109951109511195112951139511495115951169511795118951199512095121951229512395124951259512695127951289512995130951319513295133951349513595136951379513895139951409514195142951439514495145951469514795148951499515095151951529515395154951559515695157951589515995160951619516295163951649516595166951679516895169951709517195172951739517495175951769517795178951799518095181951829518395184951859518695187951889518995190951919519295193951949519595196951979519895199952009520195202952039520495205952069520795208952099521095211952129521395214952159521695217952189521995220952219522295223952249522595226952279522895229952309523195232952339523495235952369523795238952399524095241952429524395244952459524695247952489524995250952519525295253952549525595256952579525895259952609526195262952639526495265952669526795268952699527095271952729527395274952759527695277952789527995280952819528295283952849528595286952879528895289952909529195292952939529495295952969529795298952999530095301953029530395304953059530695307953089530995310953119531295313953149531595316953179531895319953209532195322953239532495325953269532795328953299533095331953329533395334953359533695337953389533995340953419534295343953449534595346953479534895349953509535195352953539535495355953569535795358953599536095361953629536395364953659536695367953689536995370953719537295373953749537595376953779537895379953809538195382953839538495385953869538795388953899539095391953929539395394953959539695397953989539995400954019540295403954049540595406954079540895409954109541195412954139541495415954169541795418954199542095421954229542395424954259542695427954289542995430954319543295433954349543595436954379543895439954409544195442954439544495445954469544795448954499545095451954529545395454954559545695457954589545995460954619546295463954649546595466954679546895469954709547195472954739547495475954769547795478954799548095481954829548395484954859548695487954889548995490954919549295493954949549595496954979549895499955009550195502955039550495505955069550795508955099551095511955129551395514955159551695517955189551995520955219552295523955249552595526955279552895529955309553195532955339553495535955369553795538955399554095541955429554395544955459554695547955489554995550955519555295553955549555595556955579555895559955609556195562955639556495565955669556795568955699557095571955729557395574955759557695577955789557995580955819558295583955849558595586955879558895589955909559195592955939559495595955969559795598955999560095601956029560395604956059560695607956089560995610956119561295613956149561595616956179561895619956209562195622956239562495625956269562795628956299563095631956329563395634956359563695637956389563995640956419564295643956449564595646956479564895649956509565195652956539565495655956569565795658956599566095661956629566395664956659566695667956689566995670956719567295673956749567595676956779567895679956809568195682956839568495685956869568795688956899569095691956929569395694956959569695697956989569995700957019570295703957049570595706957079570895709957109571195712957139571495715957169571795718957199572095721957229572395724957259572695727957289572995730957319573295733957349573595736957379573895739957409574195742957439574495745957469574795748957499575095751957529575395754957559575695757957589575995760957619576295763957649576595766957679576895769957709577195772957739577495775957769577795778957799578095781957829578395784957859578695787957889578995790957919579295793957949579595796957979579895799958009580195802958039580495805958069580795808958099581095811958129581395814958159581695817958189581995820958219582295823958249582595826958279582895829958309583195832958339583495835958369583795838958399584095841958429584395844958459584695847958489584995850958519585295853958549585595856958579585895859958609586195862958639586495865958669586795868958699587095871958729587395874958759587695877958789587995880958819588295883958849588595886958879588895889958909589195892958939589495895958969589795898958999590095901959029590395904959059590695907959089590995910959119591295913959149591595916959179591895919959209592195922959239592495925959269592795928959299593095931959329593395934959359593695937959389593995940959419594295943959449594595946959479594895949959509595195952959539595495955959569595795958959599596095961959629596395964959659596695967959689596995970959719597295973959749597595976959779597895979959809598195982959839598495985959869598795988959899599095991959929599395994959959599695997959989599996000960019600296003960049600596006960079600896009960109601196012960139601496015960169601796018960199602096021960229602396024960259602696027960289602996030960319603296033960349603596036960379603896039960409604196042960439604496045960469604796048960499605096051960529605396054960559605696057960589605996060960619606296063960649606596066960679606896069960709607196072960739607496075960769607796078960799608096081960829608396084960859608696087960889608996090960919609296093960949609596096960979609896099961009610196102961039610496105961069610796108961099611096111961129611396114961159611696117961189611996120961219612296123961249612596126961279612896129961309613196132961339613496135961369613796138961399614096141961429614396144961459614696147961489614996150961519615296153961549615596156961579615896159961609616196162961639616496165961669616796168961699617096171961729617396174961759617696177961789617996180961819618296183961849618596186961879618896189961909619196192961939619496195961969619796198961999620096201962029620396204962059620696207962089620996210962119621296213962149621596216962179621896219962209622196222962239622496225962269622796228962299623096231962329623396234962359623696237962389623996240962419624296243962449624596246962479624896249962509625196252962539625496255962569625796258962599626096261962629626396264962659626696267962689626996270962719627296273962749627596276962779627896279962809628196282962839628496285962869628796288962899629096291962929629396294962959629696297962989629996300963019630296303963049630596306963079630896309963109631196312963139631496315963169631796318963199632096321963229632396324963259632696327963289632996330963319633296333963349633596336963379633896339963409634196342963439634496345963469634796348963499635096351963529635396354963559635696357963589635996360963619636296363963649636596366963679636896369963709637196372963739637496375963769637796378963799638096381963829638396384963859638696387963889638996390963919639296393963949639596396963979639896399964009640196402964039640496405964069640796408964099641096411964129641396414964159641696417964189641996420964219642296423964249642596426964279642896429964309643196432964339643496435964369643796438964399644096441964429644396444964459644696447964489644996450964519645296453964549645596456964579645896459964609646196462964639646496465964669646796468964699647096471964729647396474964759647696477964789647996480964819648296483964849648596486964879648896489964909649196492964939649496495964969649796498964999650096501965029650396504965059650696507965089650996510965119651296513965149651596516965179651896519965209652196522965239652496525965269652796528965299653096531965329653396534965359653696537965389653996540965419654296543965449654596546965479654896549965509655196552965539655496555965569655796558965599656096561965629656396564965659656696567965689656996570965719657296573965749657596576965779657896579965809658196582965839658496585965869658796588965899659096591965929659396594965959659696597965989659996600966019660296603966049660596606966079660896609966109661196612966139661496615966169661796618966199662096621966229662396624966259662696627966289662996630966319663296633966349663596636966379663896639966409664196642966439664496645966469664796648966499665096651966529665396654966559665696657966589665996660966619666296663966649666596666966679666896669966709667196672966739667496675966769667796678966799668096681966829668396684966859668696687966889668996690966919669296693966949669596696966979669896699967009670196702967039670496705967069670796708967099671096711967129671396714967159671696717967189671996720967219672296723967249672596726967279672896729967309673196732967339673496735967369673796738967399674096741967429674396744967459674696747967489674996750967519675296753967549675596756967579675896759967609676196762967639676496765967669676796768967699677096771967729677396774967759677696777967789677996780967819678296783967849678596786967879678896789967909679196792967939679496795967969679796798967999680096801968029680396804968059680696807968089680996810968119681296813968149681596816968179681896819968209682196822968239682496825968269682796828968299683096831968329683396834968359683696837968389683996840968419684296843968449684596846968479684896849968509685196852968539685496855968569685796858968599686096861968629686396864968659686696867968689686996870968719687296873968749687596876968779687896879968809688196882968839688496885968869688796888968899689096891968929689396894968959689696897968989689996900969019690296903969049690596906969079690896909969109691196912969139691496915969169691796918969199692096921969229692396924969259692696927969289692996930969319693296933969349693596936969379693896939969409694196942969439694496945969469694796948969499695096951969529695396954969559695696957969589695996960969619696296963969649696596966969679696896969969709697196972969739697496975969769697796978969799698096981969829698396984969859698696987969889698996990969919699296993969949699596996969979699896999970009700197002970039700497005970069700797008970099701097011970129701397014970159701697017970189701997020970219702297023970249702597026970279702897029970309703197032970339703497035970369703797038970399704097041970429704397044970459704697047970489704997050970519705297053970549705597056970579705897059970609706197062970639706497065970669706797068970699707097071970729707397074970759707697077970789707997080970819708297083970849708597086970879708897089970909709197092970939709497095970969709797098970999710097101971029710397104971059710697107971089710997110971119711297113971149711597116971179711897119971209712197122971239712497125971269712797128971299713097131971329713397134971359713697137971389713997140971419714297143971449714597146971479714897149971509715197152971539715497155971569715797158971599716097161971629716397164971659716697167971689716997170971719717297173971749717597176971779717897179971809718197182971839718497185971869718797188971899719097191971929719397194971959719697197971989719997200972019720297203972049720597206972079720897209972109721197212972139721497215972169721797218972199722097221972229722397224972259722697227972289722997230972319723297233972349723597236972379723897239972409724197242972439724497245972469724797248972499725097251972529725397254972559725697257972589725997260972619726297263972649726597266972679726897269972709727197272972739727497275972769727797278972799728097281972829728397284972859728697287972889728997290972919729297293972949729597296972979729897299973009730197302973039730497305973069730797308973099731097311973129731397314973159731697317973189731997320973219732297323973249732597326973279732897329973309733197332973339733497335973369733797338973399734097341973429734397344973459734697347973489734997350973519735297353973549735597356973579735897359973609736197362973639736497365973669736797368973699737097371973729737397374973759737697377973789737997380973819738297383973849738597386973879738897389973909739197392973939739497395973969739797398973999740097401974029740397404974059740697407974089740997410974119741297413974149741597416974179741897419974209742197422974239742497425974269742797428974299743097431974329743397434974359743697437974389743997440974419744297443974449744597446974479744897449974509745197452974539745497455974569745797458974599746097461974629746397464974659746697467974689746997470974719747297473974749747597476974779747897479974809748197482974839748497485974869748797488974899749097491974929749397494974959749697497974989749997500975019750297503975049750597506975079750897509975109751197512975139751497515975169751797518975199752097521975229752397524975259752697527975289752997530975319753297533975349753597536975379753897539975409754197542975439754497545975469754797548975499755097551975529755397554975559755697557975589755997560975619756297563975649756597566975679756897569975709757197572975739757497575975769757797578975799758097581975829758397584975859758697587975889758997590975919759297593975949759597596975979759897599976009760197602976039760497605976069760797608976099761097611976129761397614976159761697617976189761997620976219762297623976249762597626976279762897629976309763197632976339763497635976369763797638976399764097641976429764397644976459764697647976489764997650976519765297653976549765597656976579765897659976609766197662976639766497665976669766797668976699767097671976729767397674976759767697677976789767997680976819768297683976849768597686976879768897689976909769197692976939769497695976969769797698976999770097701977029770397704977059770697707977089770997710977119771297713977149771597716977179771897719977209772197722977239772497725977269772797728977299773097731977329773397734977359773697737977389773997740977419774297743977449774597746977479774897749977509775197752977539775497755977569775797758977599776097761977629776397764977659776697767977689776997770977719777297773977749777597776977779777897779977809778197782977839778497785977869778797788977899779097791977929779397794977959779697797977989779997800978019780297803978049780597806978079780897809978109781197812978139781497815978169781797818978199782097821978229782397824978259782697827978289782997830978319783297833978349783597836978379783897839978409784197842978439784497845978469784797848978499785097851978529785397854978559785697857978589785997860978619786297863978649786597866978679786897869978709787197872978739787497875978769787797878978799788097881978829788397884978859788697887978889788997890978919789297893978949789597896978979789897899979009790197902979039790497905979069790797908979099791097911979129791397914979159791697917979189791997920979219792297923979249792597926979279792897929979309793197932979339793497935979369793797938979399794097941979429794397944979459794697947979489794997950979519795297953979549795597956979579795897959979609796197962979639796497965979669796797968979699797097971979729797397974979759797697977979789797997980979819798297983979849798597986979879798897989979909799197992979939799497995979969799797998979999800098001980029800398004980059800698007980089800998010980119801298013980149801598016980179801898019980209802198022980239802498025980269802798028980299803098031980329803398034980359803698037980389803998040980419804298043980449804598046980479804898049980509805198052980539805498055980569805798058980599806098061980629806398064980659806698067980689806998070980719807298073980749807598076980779807898079980809808198082980839808498085980869808798088980899809098091980929809398094980959809698097980989809998100981019810298103981049810598106981079810898109981109811198112981139811498115981169811798118981199812098121981229812398124981259812698127981289812998130981319813298133981349813598136981379813898139981409814198142981439814498145981469814798148981499815098151981529815398154981559815698157981589815998160981619816298163981649816598166981679816898169981709817198172981739817498175981769817798178981799818098181981829818398184981859818698187981889818998190981919819298193981949819598196981979819898199982009820198202982039820498205982069820798208982099821098211982129821398214982159821698217982189821998220982219822298223982249822598226982279822898229982309823198232982339823498235982369823798238982399824098241982429824398244982459824698247982489824998250982519825298253982549825598256982579825898259982609826198262982639826498265982669826798268982699827098271982729827398274982759827698277982789827998280982819828298283982849828598286982879828898289982909829198292982939829498295982969829798298982999830098301983029830398304983059830698307983089830998310983119831298313983149831598316983179831898319983209832198322983239832498325983269832798328983299833098331983329833398334983359833698337983389833998340983419834298343983449834598346983479834898349983509835198352983539835498355983569835798358983599836098361983629836398364983659836698367983689836998370983719837298373983749837598376983779837898379983809838198382983839838498385983869838798388983899839098391983929839398394983959839698397983989839998400984019840298403984049840598406984079840898409984109841198412984139841498415984169841798418984199842098421984229842398424984259842698427984289842998430984319843298433984349843598436984379843898439984409844198442984439844498445984469844798448984499845098451984529845398454984559845698457984589845998460984619846298463984649846598466984679846898469984709847198472984739847498475984769847798478984799848098481984829848398484984859848698487984889848998490984919849298493984949849598496984979849898499985009850198502985039850498505985069850798508985099851098511985129851398514985159851698517985189851998520985219852298523985249852598526985279852898529985309853198532985339853498535985369853798538985399854098541985429854398544985459854698547985489854998550985519855298553985549855598556985579855898559985609856198562985639856498565985669856798568985699857098571985729857398574985759857698577985789857998580985819858298583985849858598586985879858898589985909859198592985939859498595985969859798598985999860098601986029860398604986059860698607986089860998610986119861298613986149861598616986179861898619986209862198622986239862498625986269862798628986299863098631986329863398634986359863698637986389863998640986419864298643986449864598646986479864898649986509865198652986539865498655986569865798658986599866098661986629866398664986659866698667986689866998670986719867298673986749867598676986779867898679986809868198682986839868498685986869868798688986899869098691986929869398694986959869698697986989869998700987019870298703987049870598706987079870898709987109871198712987139871498715987169871798718987199872098721987229872398724987259872698727987289872998730987319873298733987349873598736987379873898739987409874198742987439874498745987469874798748987499875098751987529875398754987559875698757987589875998760987619876298763987649876598766987679876898769987709877198772987739877498775987769877798778987799878098781987829878398784987859878698787987889878998790987919879298793987949879598796987979879898799988009880198802988039880498805988069880798808988099881098811988129881398814988159881698817988189881998820988219882298823988249882598826988279882898829988309883198832988339883498835988369883798838988399884098841988429884398844988459884698847988489884998850988519885298853988549885598856988579885898859988609886198862988639886498865988669886798868988699887098871988729887398874988759887698877988789887998880988819888298883988849888598886988879888898889988909889198892988939889498895988969889798898988999890098901989029890398904989059890698907989089890998910989119891298913989149891598916989179891898919989209892198922989239892498925989269892798928989299893098931989329893398934989359893698937989389893998940989419894298943989449894598946989479894898949989509895198952989539895498955989569895798958989599896098961989629896398964989659896698967989689896998970989719897298973989749897598976989779897898979989809898198982989839898498985989869898798988989899899098991989929899398994989959899698997989989899999000990019900299003990049900599006990079900899009990109901199012990139901499015990169901799018990199902099021990229902399024990259902699027990289902999030990319903299033990349903599036990379903899039990409904199042990439904499045990469904799048990499905099051990529905399054990559905699057990589905999060990619906299063990649906599066990679906899069990709907199072990739907499075990769907799078990799908099081990829908399084990859908699087990889908999090990919909299093990949909599096990979909899099991009910199102991039910499105991069910799108991099911099111991129911399114991159911699117991189911999120991219912299123991249912599126991279912899129991309913199132991339913499135991369913799138991399914099141991429914399144991459914699147991489914999150991519915299153991549915599156991579915899159991609916199162991639916499165991669916799168991699917099171991729917399174991759917699177991789917999180991819918299183991849918599186991879918899189991909919199192991939919499195991969919799198991999920099201992029920399204992059920699207992089920999210992119921299213992149921599216992179921899219992209922199222992239922499225992269922799228992299923099231992329923399234992359923699237992389923999240992419924299243992449924599246992479924899249992509925199252992539925499255992569925799258992599926099261992629926399264992659926699267992689926999270992719927299273992749927599276992779927899279992809928199282992839928499285992869928799288992899929099291992929929399294992959929699297992989929999300993019930299303993049930599306993079930899309993109931199312993139931499315993169931799318993199932099321993229932399324993259932699327993289932999330993319933299333993349933599336993379933899339993409934199342993439934499345993469934799348993499935099351993529935399354993559935699357993589935999360993619936299363993649936599366993679936899369993709937199372993739937499375993769937799378993799938099381993829938399384993859938699387993889938999390993919939299393993949939599396993979939899399994009940199402994039940499405994069940799408994099941099411994129941399414994159941699417994189941999420994219942299423994249942599426994279942899429994309943199432994339943499435994369943799438994399944099441994429944399444994459944699447994489944999450994519945299453994549945599456994579945899459994609946199462994639946499465994669946799468994699947099471994729947399474994759947699477994789947999480994819948299483994849948599486994879948899489994909949199492994939949499495994969949799498994999950099501995029950399504995059950699507995089950999510995119951299513995149951599516995179951899519995209952199522995239952499525995269952799528995299953099531995329953399534995359953699537995389953999540995419954299543995449954599546995479954899549995509955199552995539955499555995569955799558995599956099561995629956399564995659956699567995689956999570995719957299573995749957599576995779957899579995809958199582995839958499585995869958799588995899959099591995929959399594995959959699597995989959999600996019960299603996049960599606996079960899609996109961199612996139961499615996169961799618996199962099621996229962399624996259962699627996289962999630996319963299633996349963599636996379963899639996409964199642996439964499645996469964799648996499965099651996529965399654996559965699657996589965999660996619966299663996649966599666996679966899669996709967199672996739967499675996769967799678996799968099681996829968399684996859968699687996889968999690996919969299693996949969599696996979969899699997009970199702997039970499705997069970799708997099971099711997129971399714997159971699717997189971999720997219972299723997249972599726997279972899729997309973199732997339973499735997369973799738997399974099741997429974399744997459974699747997489974999750997519975299753997549975599756997579975899759997609976199762997639976499765997669976799768997699977099771997729977399774997759977699777997789977999780997819978299783997849978599786997879978899789997909979199792997939979499795997969979799798997999980099801998029980399804998059980699807998089980999810998119981299813998149981599816998179981899819998209982199822998239982499825998269982799828998299983099831998329983399834998359983699837998389983999840998419984299843998449984599846998479984899849998509985199852998539985499855998569985799858998599986099861998629986399864998659986699867998689986999870998719987299873998749987599876998779987899879998809988199882998839988499885998869988799888998899989099891998929989399894998959989699897998989989999900999019990299903999049990599906999079990899909999109991199912999139991499915999169991799918999199992099921999229992399924999259992699927999289992999930999319993299933999349993599936999379993899939999409994199942999439994499945999469994799948999499995099951999529995399954999559995699957999589995999960999619996299963999649996599966999679996899969999709997199972999739997499975999769997799978999799998099981999829998399984999859998699987999889998999990999919999299993999949999599996999979999899999100000100001100002100003100004100005100006100007100008100009100010100011100012100013100014100015100016100017100018100019100020100021100022100023100024100025100026100027100028100029100030100031100032100033100034100035100036100037100038100039100040100041100042100043100044100045100046100047100048100049100050100051100052100053100054100055100056100057100058100059100060100061100062100063100064100065100066100067100068100069100070100071100072100073100074100075100076100077100078100079100080100081100082100083100084100085100086100087100088100089100090100091100092100093100094100095100096100097100098100099100100100101100102100103100104100105100106100107100108100109100110100111100112100113100114100115100116100117100118100119100120100121100122100123100124100125100126100127100128100129100130100131100132100133100134100135100136100137100138100139100140100141100142100143100144100145100146100147100148100149100150100151100152100153100154100155100156100157100158100159100160100161100162100163100164100165100166100167100168100169100170100171100172100173100174100175100176100177100178100179100180100181100182100183100184100185100186100187100188100189100190100191100192100193100194100195100196100197100198100199100200100201100202100203100204100205100206100207100208100209100210100211100212100213100214100215100216100217100218100219100220100221100222100223100224100225100226100227100228100229100230100231100232100233100234100235100236100237100238100239100240100241100242100243100244100245100246100247100248100249100250100251100252100253100254100255100256100257100258100259100260100261100262100263100264100265100266100267100268100269100270100271100272100273100274100275100276100277100278100279100280100281100282100283100284100285100286100287100288100289100290100291100292100293100294100295100296100297100298100299100300100301100302100303100304100305100306100307100308100309100310100311100312100313100314100315100316100317100318100319100320100321100322100323100324100325100326100327100328100329100330100331100332100333100334100335100336100337100338100339100340100341100342100343100344100345100346100347100348100349100350100351100352100353100354100355100356100357100358100359100360100361100362100363100364100365100366100367100368100369100370100371100372100373100374100375100376100377100378100379100380100381100382100383100384100385100386100387100388100389100390100391100392100393100394100395100396100397100398100399100400100401100402100403100404100405100406100407100408100409100410100411100412100413100414100415100416100417100418100419100420100421100422100423100424100425100426100427100428100429100430100431100432100433100434100435100436100437100438100439100440100441100442100443100444100445100446100447100448100449100450100451100452100453100454100455100456100457100458100459100460100461100462100463100464100465100466100467100468100469100470100471100472100473100474100475100476100477100478100479100480100481100482100483100484100485100486100487100488100489100490100491100492100493100494100495100496100497100498100499100500100501100502100503100504100505100506100507100508100509100510100511100512100513100514100515100516100517100518100519100520100521100522100523100524100525100526100527100528100529100530100531100532100533100534100535100536100537100538100539100540100541100542100543100544100545100546100547100548100549100550100551100552100553100554100555100556100557100558100559100560100561100562100563100564100565100566100567100568100569100570100571100572100573100574100575100576100577100578100579100580100581100582100583100584100585100586100587100588100589100590100591100592100593100594100595100596100597100598100599100600100601100602100603100604100605100606100607100608100609100610100611100612100613100614100615100616100617100618100619100620100621100622100623100624100625100626100627100628100629100630100631100632100633100634100635100636100637100638100639100640100641100642100643100644100645100646100647100648100649100650100651100652100653100654100655100656100657100658100659100660100661100662100663100664100665100666100667100668100669100670100671100672100673100674100675100676100677100678100679100680100681100682100683100684100685100686100687100688100689100690100691100692100693100694100695100696100697100698100699100700100701100702100703100704100705100706100707100708100709100710100711100712100713100714100715100716100717100718100719100720100721100722100723100724100725100726100727100728100729100730100731100732100733100734100735100736100737100738100739100740100741100742100743100744100745100746100747100748100749100750100751100752100753100754100755100756100757100758100759100760100761100762100763100764100765100766100767100768100769100770100771100772100773100774100775100776100777100778100779100780100781100782100783100784100785100786100787100788100789100790100791100792100793100794100795100796100797100798100799100800100801100802100803100804100805100806100807100808100809100810100811100812100813100814100815100816100817100818100819100820100821100822100823100824100825100826100827100828100829100830100831100832100833100834100835100836100837100838100839100840100841100842100843100844100845100846100847100848100849100850100851100852100853100854100855100856100857100858100859100860100861100862100863100864100865100866100867100868100869100870100871100872100873100874100875100876100877100878100879100880100881100882100883100884100885100886100887100888100889100890100891100892100893100894100895100896100897100898100899100900100901100902100903100904100905100906100907100908100909100910100911100912100913100914100915100916100917100918100919100920100921100922100923100924100925100926100927100928100929100930100931100932100933100934100935100936100937100938100939100940100941100942100943100944100945100946100947100948100949100950100951100952100953100954100955100956100957100958100959100960100961100962100963100964100965100966100967100968100969100970100971100972100973100974100975100976100977100978100979100980100981100982100983100984100985100986100987100988100989100990100991100992100993100994100995100996100997100998100999101000101001101002101003101004101005101006101007101008101009101010101011101012101013101014101015101016101017101018101019101020101021101022101023101024101025101026101027101028101029101030101031101032101033101034101035101036101037101038101039101040101041101042101043101044101045101046101047101048101049101050101051101052101053101054101055101056101057101058101059101060101061101062101063101064101065101066101067101068101069101070101071101072101073101074101075101076101077101078101079101080101081101082101083101084101085101086101087101088101089101090101091101092101093101094101095101096101097101098101099101100101101101102101103101104101105101106101107101108101109101110101111101112101113101114101115101116101117101118101119101120101121101122101123101124101125101126101127101128101129101130101131101132101133101134101135101136101137101138101139101140101141101142101143101144101145101146101147101148101149101150101151101152101153101154101155101156101157101158101159101160101161101162101163101164101165101166101167101168101169101170101171101172101173101174101175101176101177101178101179101180101181101182101183101184101185101186101187101188101189101190101191101192101193101194101195101196101197101198101199101200101201101202101203101204101205101206101207101208101209101210101211101212101213101214101215101216101217101218101219101220101221101222101223101224101225101226101227101228101229101230101231101232101233101234101235101236101237101238101239101240101241101242101243101244101245101246101247101248101249101250101251101252101253101254101255101256101257101258101259101260101261101262101263101264101265101266101267101268101269101270101271101272101273101274101275101276101277101278101279101280101281101282101283101284101285101286101287101288101289101290101291101292101293101294101295101296101297101298101299101300101301101302101303101304101305101306101307101308101309101310101311101312101313101314101315101316101317101318101319101320101321101322101323101324101325101326101327101328101329101330101331101332101333101334101335101336101337101338101339101340101341101342101343101344101345101346101347101348101349101350101351101352101353101354101355101356101357101358101359101360101361101362101363101364101365101366101367101368101369101370101371101372101373101374101375101376101377101378101379101380101381101382101383101384101385101386101387101388101389101390101391101392101393101394101395101396101397101398101399101400101401101402101403101404101405101406101407101408101409101410101411101412101413101414101415101416101417101418101419101420101421101422101423101424101425101426101427101428101429101430101431101432101433101434101435101436101437101438101439101440101441101442101443101444101445101446101447101448101449101450101451101452101453101454101455101456101457101458101459101460101461101462101463101464101465101466101467101468101469101470101471101472101473101474101475101476101477101478101479101480101481101482101483101484101485101486101487101488101489101490101491101492101493101494101495101496101497101498101499101500101501101502101503101504101505101506101507101508101509101510101511101512101513101514101515101516101517101518101519101520101521101522101523101524101525101526101527101528101529101530101531101532101533101534101535101536101537101538101539101540101541101542101543101544101545101546101547101548101549101550101551101552101553101554101555101556101557101558101559101560101561101562101563101564101565101566101567101568101569101570101571101572101573101574101575101576101577101578101579101580101581101582101583101584101585101586101587101588101589101590101591101592101593101594101595101596101597101598101599101600101601101602101603101604101605101606101607101608101609101610101611101612101613101614101615101616101617101618101619101620101621101622101623101624101625101626101627101628101629101630101631101632101633101634101635101636101637101638101639101640101641101642101643101644101645101646101647101648101649101650101651101652101653101654101655101656101657101658101659101660101661101662101663101664101665101666101667101668101669101670101671101672101673101674101675101676101677101678101679101680101681101682101683101684101685101686101687101688101689101690101691101692101693101694101695101696101697101698101699101700101701101702101703101704101705101706101707101708101709101710101711101712101713101714101715101716101717101718101719101720101721101722101723101724101725101726101727101728101729101730101731101732101733101734101735101736101737101738101739101740101741101742101743101744101745101746101747101748101749101750101751101752101753101754101755101756101757101758101759101760101761101762101763101764101765101766101767101768101769101770101771101772101773101774101775101776101777101778101779101780101781101782101783101784101785101786101787101788101789101790101791101792101793101794101795101796101797101798101799101800101801101802101803101804101805101806101807101808101809101810101811101812101813101814101815101816101817101818101819101820101821101822101823101824101825101826101827101828101829101830101831101832101833101834101835101836101837101838101839101840101841101842101843101844101845101846101847101848101849101850101851101852101853101854101855101856101857101858101859101860101861101862101863101864101865101866101867101868101869101870101871101872101873101874101875101876101877101878101879101880101881101882101883101884101885101886101887101888101889101890101891101892101893101894101895101896101897101898101899101900101901101902101903101904101905101906101907101908101909101910101911101912101913101914101915101916101917101918101919101920101921101922101923101924101925101926101927101928101929101930101931101932101933101934101935101936101937101938101939101940101941101942101943101944101945101946101947101948101949101950101951101952101953101954101955101956101957101958101959101960101961101962101963101964101965101966101967101968101969101970101971101972101973101974101975101976101977101978101979101980101981101982101983101984101985101986101987101988101989101990101991101992101993101994101995101996101997101998101999102000102001102002102003102004102005102006102007102008102009102010102011102012102013102014102015102016102017102018102019102020102021102022102023102024102025102026102027102028102029102030102031102032102033102034102035102036102037102038102039102040102041102042102043102044102045102046102047102048102049102050102051102052102053102054102055102056102057102058102059102060102061102062102063102064102065102066102067102068102069102070102071102072102073102074102075102076102077102078102079102080102081102082102083102084102085102086102087102088102089102090102091102092102093102094102095102096102097102098102099102100102101102102102103102104102105102106102107102108102109102110102111102112102113102114102115102116102117102118102119102120102121102122102123102124102125102126102127102128102129102130102131102132102133102134102135102136102137102138102139102140102141102142102143102144102145102146102147102148102149102150102151102152102153102154102155102156102157102158102159102160102161102162102163102164102165102166102167102168102169102170102171102172102173102174102175102176102177102178102179102180102181102182102183102184102185102186102187102188102189102190102191102192102193102194102195102196102197102198102199102200102201102202102203102204102205102206102207102208102209102210102211102212102213102214102215102216102217102218102219102220102221102222102223102224102225102226102227102228102229102230102231102232102233102234102235102236102237102238102239102240102241102242102243102244102245102246102247102248102249102250102251102252102253102254102255102256102257102258102259102260102261102262102263102264102265102266102267102268102269102270102271102272102273102274102275102276102277102278102279102280102281102282102283102284102285102286102287102288102289102290102291102292102293102294102295102296102297102298102299102300102301102302102303102304102305102306102307102308102309102310102311102312102313102314102315102316102317102318102319102320102321102322102323102324102325102326102327102328102329102330102331102332102333102334102335102336102337102338102339102340102341102342102343102344102345102346102347102348102349102350102351102352102353102354102355102356102357102358102359102360102361102362102363102364102365102366102367102368102369102370102371102372102373102374102375102376102377102378102379102380102381102382102383102384102385102386102387102388102389102390102391102392102393102394102395102396102397102398102399102400102401102402102403102404102405102406102407102408102409102410102411102412102413102414102415102416102417102418102419102420102421102422102423102424102425102426102427102428102429102430102431102432102433102434102435102436102437102438102439102440102441102442102443102444102445102446102447102448102449102450102451102452102453102454102455102456102457102458102459102460102461102462102463102464102465102466102467102468102469102470102471102472102473102474102475102476102477102478102479102480102481102482102483102484102485102486102487102488102489102490102491102492102493102494102495102496102497102498102499102500102501102502102503102504102505102506102507102508102509102510102511102512102513102514102515102516102517102518102519102520102521102522102523102524102525102526102527102528102529102530102531102532102533102534102535102536102537102538102539102540102541102542102543102544102545102546102547102548102549102550102551102552102553102554102555102556102557102558102559102560102561102562102563102564102565102566102567102568102569102570102571102572102573102574102575102576102577102578102579102580102581102582102583102584102585102586102587102588102589102590102591102592102593102594102595102596102597102598102599102600102601102602102603102604102605102606102607102608102609102610102611102612102613102614102615102616102617102618102619102620102621102622102623102624102625102626102627102628102629102630102631102632102633102634102635102636102637102638102639102640102641102642102643102644102645102646102647102648102649102650102651102652102653102654102655102656102657102658102659102660102661102662102663102664102665102666102667102668102669102670102671102672102673102674102675102676102677102678102679102680102681102682102683102684102685102686102687102688102689102690102691102692102693102694102695102696102697102698102699102700102701102702102703102704102705102706102707102708102709102710102711102712102713102714102715102716102717102718102719102720102721102722102723102724102725102726102727102728102729102730102731102732102733102734102735102736102737102738102739102740102741102742102743102744102745102746102747102748102749102750102751102752102753102754102755102756102757102758102759102760102761102762102763102764102765102766102767102768102769102770102771102772102773102774102775102776102777102778102779102780102781102782102783102784102785102786102787102788102789102790102791102792102793102794102795102796102797102798102799102800102801102802102803102804102805102806102807102808102809102810102811102812102813102814102815102816102817102818102819102820102821102822102823102824102825102826102827102828102829102830102831102832102833102834102835102836102837102838102839102840102841102842102843102844102845102846102847102848102849102850102851102852102853102854102855102856102857102858102859102860102861102862102863102864102865102866102867102868102869102870102871102872102873102874102875102876102877102878102879102880102881102882102883102884102885102886102887102888102889102890102891102892102893102894102895102896102897102898102899102900102901102902102903102904102905102906102907102908102909102910102911102912102913102914102915102916102917102918102919102920102921102922102923102924102925102926102927102928102929102930102931102932102933102934102935102936102937102938102939102940102941102942102943102944102945102946102947102948102949102950102951102952102953102954102955102956102957102958102959102960102961102962102963102964102965102966102967102968102969102970102971102972102973102974102975102976102977102978102979102980102981102982102983102984102985102986102987102988102989102990102991102992102993102994102995102996102997102998102999103000103001103002103003103004103005103006103007103008103009103010103011103012103013103014103015103016103017103018103019103020103021103022103023103024103025103026103027103028103029103030103031103032103033103034103035103036103037103038103039103040103041103042103043103044103045103046103047103048103049103050103051103052103053103054103055103056103057103058103059103060103061103062103063103064103065103066103067103068103069103070103071103072103073103074103075103076103077103078103079103080103081103082103083103084103085103086103087103088103089103090103091103092103093103094103095103096103097103098103099103100103101103102103103103104103105103106103107103108103109103110103111103112103113103114103115103116103117103118103119103120103121103122103123103124103125103126103127103128103129103130103131103132103133103134103135103136103137103138103139103140103141103142103143103144103145103146103147103148103149103150103151103152103153103154103155103156103157103158103159103160103161103162103163103164103165103166103167103168103169103170103171103172103173103174103175103176103177103178103179103180103181103182103183103184103185103186103187103188103189103190103191103192103193103194103195103196103197103198103199103200103201103202103203103204103205103206103207103208103209103210103211103212103213103214103215103216103217103218103219103220103221103222103223103224103225103226103227103228103229103230103231103232103233103234103235103236103237103238103239103240103241103242103243103244103245103246103247103248103249103250103251103252103253103254103255103256103257103258103259103260103261103262103263103264103265103266103267103268103269103270103271103272103273103274103275103276103277103278103279103280103281103282103283103284103285103286103287103288103289103290103291103292103293103294103295103296103297103298103299103300103301103302103303103304103305103306103307103308103309103310103311103312103313103314103315103316103317103318103319103320103321103322103323103324103325103326103327103328103329103330103331103332103333103334103335103336103337103338103339103340103341103342103343103344103345103346103347103348103349103350103351103352103353103354103355103356103357103358103359103360103361103362103363103364103365103366103367103368103369103370103371103372103373103374103375103376103377103378103379103380103381103382103383103384103385103386103387103388103389103390103391103392103393103394103395103396103397103398103399103400103401103402103403103404103405103406103407103408103409103410103411103412103413103414103415103416103417103418103419103420103421103422103423103424103425103426103427103428103429103430103431103432103433103434103435103436103437103438103439103440103441103442103443103444103445103446103447103448103449103450103451103452103453103454103455103456103457103458103459103460103461103462103463103464103465103466103467103468103469103470103471103472103473103474103475103476103477103478103479103480103481103482103483103484103485103486103487103488103489103490103491103492103493103494103495103496103497103498103499103500103501103502103503103504103505103506103507103508103509103510103511103512103513103514103515103516103517103518103519103520103521103522103523103524103525103526103527103528103529103530103531103532103533103534103535103536103537103538103539103540103541103542103543103544103545103546103547103548103549103550103551103552103553103554103555103556103557103558103559103560103561103562103563103564103565103566103567103568103569103570103571103572103573103574103575103576103577103578103579103580103581103582103583103584103585103586103587103588103589103590103591103592103593103594103595103596103597103598103599103600103601103602103603103604103605103606103607103608103609103610103611103612103613103614103615103616103617103618103619103620103621103622103623103624103625103626103627103628103629103630103631103632103633103634103635103636103637103638103639103640103641103642103643103644103645103646103647103648103649103650103651103652103653103654103655103656103657103658103659103660103661103662103663103664103665103666103667103668103669103670103671103672103673103674103675103676103677103678103679103680103681103682103683103684103685103686103687103688103689103690103691103692103693103694103695103696103697103698103699103700103701103702103703103704103705103706103707103708103709103710103711103712103713103714103715103716103717103718103719103720103721103722103723103724103725103726103727103728103729103730103731103732103733103734103735103736103737103738103739103740103741103742103743103744103745103746103747103748103749103750103751103752103753103754103755103756103757103758103759103760103761103762103763103764103765103766103767103768103769103770103771103772103773103774103775103776103777103778103779103780103781103782103783103784103785103786103787103788103789103790103791103792103793103794103795103796103797103798103799103800103801103802103803103804103805103806103807103808103809103810103811103812103813103814103815103816103817103818103819103820103821103822103823103824103825103826103827103828103829103830103831103832103833103834103835103836103837103838103839103840103841103842103843103844103845103846103847103848103849103850103851103852103853103854103855103856103857103858103859103860103861103862103863103864103865103866103867103868103869103870103871103872103873103874103875103876103877103878103879103880103881103882103883103884103885103886103887103888103889103890103891103892103893103894103895103896103897103898103899103900103901103902103903103904103905103906103907103908103909103910103911103912103913103914103915103916103917103918103919103920103921103922103923103924103925103926103927103928103929103930103931103932103933103934103935103936103937103938103939103940103941103942103943103944103945103946103947103948103949103950103951103952103953103954103955103956103957103958103959103960103961103962103963103964103965103966103967103968103969103970103971103972103973103974103975103976103977103978103979103980103981103982103983103984103985103986103987103988103989103990103991103992103993103994103995103996103997103998103999104000104001104002104003104004104005104006104007104008104009104010104011104012104013104014104015104016104017104018104019104020104021104022104023104024104025104026104027104028104029104030104031104032104033104034104035104036104037104038104039104040104041104042104043104044104045104046104047104048104049104050104051104052104053104054104055104056104057104058104059104060104061104062104063104064104065104066104067104068104069104070104071104072104073104074104075104076104077104078104079104080104081104082104083104084104085104086104087104088104089104090104091104092104093104094104095104096104097104098104099104100104101104102104103104104104105104106104107104108104109104110104111104112104113104114104115104116104117104118104119104120104121104122104123104124104125104126104127104128104129104130104131104132104133104134104135104136104137104138104139104140104141104142104143104144104145104146104147104148104149104150104151104152104153104154104155104156104157104158104159104160104161104162104163104164104165104166104167104168104169104170104171104172104173104174104175104176104177104178104179104180104181104182104183104184104185104186104187104188104189104190104191104192104193104194104195104196104197104198104199104200104201104202104203104204104205104206104207104208104209104210104211104212104213104214104215104216104217104218104219104220104221104222104223104224104225104226104227104228104229104230104231104232104233104234104235104236104237104238104239104240104241104242104243104244104245104246104247104248104249104250104251104252104253104254104255104256104257104258104259104260104261104262104263104264104265104266104267104268104269104270104271104272104273104274104275104276104277104278104279104280104281104282104283104284104285104286104287104288104289104290104291104292104293104294104295104296104297104298104299104300104301104302104303104304104305104306104307104308104309104310104311104312104313104314104315104316104317104318104319104320104321104322104323104324104325104326104327104328104329104330104331104332104333104334104335104336104337104338104339104340104341104342104343104344104345104346104347104348104349104350104351104352104353104354104355104356104357104358104359104360104361104362104363104364104365104366104367104368104369104370104371104372104373104374104375104376104377104378104379104380104381104382104383104384104385104386104387104388104389104390104391104392104393104394104395104396104397104398104399104400104401104402104403104404104405104406104407104408104409104410104411104412104413104414104415104416104417104418104419104420104421104422104423104424104425104426104427104428104429104430104431104432104433104434104435104436104437104438104439104440104441104442104443104444104445104446104447104448104449104450104451104452104453104454104455104456104457104458104459104460104461104462104463104464104465104466104467104468104469104470104471104472104473104474104475104476104477104478104479104480104481104482104483104484104485104486104487104488104489104490104491104492104493104494104495104496104497104498104499104500104501104502104503104504104505104506104507104508104509104510104511104512104513104514104515104516104517104518104519104520104521104522104523104524104525104526104527104528104529104530104531104532104533104534104535104536104537104538104539104540104541104542104543104544104545104546104547104548104549104550104551104552104553104554104555104556104557104558104559104560104561104562104563104564104565104566104567104568104569104570104571104572104573104574104575104576104577104578104579104580104581104582104583104584104585104586104587104588104589104590104591104592104593104594104595104596104597104598104599104600104601104602104603104604104605104606104607104608104609104610104611104612104613104614104615104616104617104618104619104620104621104622104623104624104625104626104627104628104629104630104631104632104633104634104635104636104637104638104639104640104641104642104643104644104645104646104647104648104649104650104651104652104653104654104655104656104657104658104659104660104661104662104663104664104665104666104667104668104669104670104671104672104673104674104675104676104677104678104679104680104681104682104683104684104685104686104687104688104689104690104691104692104693104694104695104696104697104698104699104700104701104702104703104704104705104706104707104708104709104710104711104712104713104714104715104716104717104718104719104720104721104722104723104724104725104726104727104728104729104730104731104732104733104734104735104736104737104738104739104740104741104742104743104744104745104746104747104748104749104750104751104752104753104754104755104756104757104758104759104760104761104762104763104764104765104766104767104768104769104770104771104772104773104774104775104776104777104778104779104780104781104782104783104784104785104786104787104788104789104790104791104792104793104794104795104796104797104798104799104800104801104802104803104804104805104806104807104808104809104810104811104812104813104814104815104816104817104818104819104820104821104822104823104824104825104826104827104828104829104830104831104832104833104834104835104836104837104838104839104840104841104842104843104844104845104846104847104848104849104850104851104852104853104854104855104856104857104858104859104860104861104862104863104864104865104866104867104868104869104870104871104872104873104874104875104876104877104878104879104880104881104882104883104884104885104886104887104888104889104890104891104892104893104894104895104896104897104898104899104900104901104902104903104904104905104906104907104908104909104910104911104912104913104914104915104916104917104918104919104920104921104922104923104924104925104926104927104928104929104930104931104932104933104934104935104936104937104938104939104940104941104942104943104944104945104946104947104948104949104950104951104952104953104954104955104956104957104958104959104960104961104962104963104964104965104966104967104968104969104970104971104972104973104974104975104976104977104978104979104980104981104982104983104984104985104986104987104988104989104990104991104992104993104994104995104996104997104998104999105000105001105002105003105004105005105006105007105008105009105010105011105012105013105014105015105016105017105018105019105020105021105022105023105024105025105026105027105028105029105030105031105032105033105034105035105036105037105038105039105040105041105042105043105044105045105046105047105048105049105050105051105052105053105054105055105056105057105058105059105060105061105062105063105064105065105066105067105068105069105070105071105072105073105074105075105076105077105078105079105080105081105082105083105084105085105086105087105088105089105090105091105092105093105094105095105096105097105098105099105100105101105102105103105104105105105106105107105108105109105110105111105112105113105114105115105116105117105118105119105120105121105122105123105124105125105126105127105128105129105130105131105132105133105134105135105136105137105138105139105140105141105142105143105144105145105146105147105148105149105150105151105152105153105154105155105156105157105158105159105160105161105162105163105164105165105166105167105168105169105170105171105172105173105174105175105176105177105178105179105180105181105182105183105184105185105186105187105188105189105190105191105192105193105194105195105196105197105198105199105200105201105202105203105204105205105206105207105208105209105210105211105212105213105214105215105216105217105218105219105220105221105222105223105224105225105226105227105228105229105230105231105232105233105234105235105236105237105238105239105240105241105242105243105244105245105246105247105248105249105250105251105252105253105254105255105256105257105258105259105260105261105262105263105264105265105266105267105268105269105270105271105272105273105274105275105276105277105278105279105280105281105282105283105284105285105286105287105288105289105290105291105292105293105294105295105296105297105298105299105300105301105302105303105304105305105306105307105308105309105310105311105312105313105314105315105316105317105318105319105320105321105322105323105324105325105326105327105328105329105330105331105332105333105334105335105336105337105338105339105340105341105342105343105344105345105346105347105348105349105350105351105352105353105354105355105356105357105358105359105360105361105362105363105364105365105366105367105368105369105370105371105372105373105374105375105376105377105378105379105380105381105382105383105384105385105386105387105388105389105390105391105392105393105394105395105396105397105398105399105400105401105402105403105404105405105406105407105408105409105410105411105412105413105414105415105416105417105418105419105420105421105422105423105424105425105426105427105428105429105430105431105432105433105434105435105436105437105438105439105440105441105442105443105444105445105446105447105448105449105450105451105452105453105454105455105456105457105458105459105460105461105462105463105464105465105466105467105468105469105470105471105472105473105474105475105476105477105478105479105480105481105482105483105484105485105486105487105488105489105490105491105492105493105494105495105496105497105498105499105500105501105502105503105504105505105506105507105508105509105510105511105512105513105514105515105516105517105518105519105520105521105522105523105524105525105526105527105528105529105530105531105532105533105534105535105536105537105538105539105540105541105542105543105544105545105546105547105548105549105550105551105552105553105554105555105556105557105558105559105560105561105562105563105564105565105566105567105568105569105570105571105572105573105574105575105576105577105578105579105580105581105582105583105584105585105586105587105588105589105590105591105592105593105594105595105596105597105598105599105600105601105602105603105604105605105606105607105608105609105610105611105612105613105614105615105616105617105618105619105620105621105622105623105624105625105626105627105628105629105630105631105632105633105634105635105636105637105638105639105640105641105642105643105644105645105646105647105648105649105650105651105652105653105654105655105656105657105658105659105660105661105662105663105664105665105666105667105668105669105670105671105672105673105674105675105676105677105678105679105680105681105682105683105684105685105686105687105688105689105690105691105692105693105694105695105696105697105698105699105700105701105702105703105704105705105706105707105708105709105710105711105712105713105714105715105716105717105718105719105720105721105722105723105724105725105726105727105728105729105730105731105732105733105734105735105736105737105738105739105740105741105742105743105744105745105746105747105748105749105750105751105752105753105754105755105756105757105758105759105760105761105762105763105764105765105766105767105768105769105770105771105772105773105774105775105776105777105778105779105780105781105782105783105784105785105786105787105788105789105790105791105792105793105794105795105796105797105798105799105800105801105802105803105804105805105806105807105808105809105810105811105812105813105814105815105816105817105818105819105820105821105822105823105824105825105826105827105828105829105830105831105832105833105834105835105836105837105838105839105840105841105842105843105844105845105846105847105848105849105850105851105852105853105854105855105856105857105858105859105860105861105862105863105864105865105866105867105868105869105870105871105872105873105874105875105876105877105878105879105880105881105882105883105884105885105886105887105888105889105890105891105892105893105894105895105896105897105898105899105900105901105902105903105904105905105906105907105908105909105910105911105912105913105914105915105916105917105918105919105920105921105922105923105924105925105926105927105928105929105930105931105932105933105934105935105936105937105938105939105940105941105942105943105944105945105946105947105948105949105950105951105952105953105954105955105956105957105958105959105960105961105962105963105964105965105966105967105968105969105970105971105972105973105974105975105976105977105978105979105980105981105982105983105984105985105986105987105988105989105990105991105992105993105994105995105996105997105998105999106000106001106002106003106004106005106006106007106008106009106010106011106012106013106014106015106016106017106018106019106020106021106022106023106024106025106026106027106028106029106030106031106032106033106034106035106036106037106038106039106040106041106042106043106044106045106046106047106048106049106050106051106052106053106054106055106056106057106058106059106060106061106062106063106064106065106066106067106068106069106070106071106072106073106074106075106076106077106078106079106080106081106082106083106084106085106086106087106088106089106090106091106092106093106094106095106096106097106098106099106100106101106102106103106104106105106106106107106108106109106110106111106112106113106114106115106116106117106118106119106120106121106122106123106124106125106126106127106128106129106130106131106132106133106134106135106136106137106138106139106140106141106142106143106144106145106146106147106148106149106150106151106152106153106154106155106156106157106158106159106160106161106162106163106164106165106166106167106168106169106170106171106172106173106174106175106176106177106178106179106180106181106182106183106184106185106186106187106188106189106190106191106192106193106194106195106196106197106198106199106200106201106202106203106204106205106206106207106208106209106210106211106212106213106214106215106216106217106218106219106220106221106222106223106224106225106226106227106228106229106230106231106232106233106234106235106236106237106238106239106240106241106242106243106244106245106246106247106248106249106250106251106252106253106254106255106256106257106258106259106260106261106262106263106264106265106266106267106268106269106270106271106272106273106274106275106276106277106278106279106280106281106282106283106284106285106286106287106288106289106290106291106292106293106294106295106296106297106298106299106300106301106302106303106304106305106306106307106308106309106310106311106312106313106314106315106316106317106318106319106320106321106322106323106324106325106326106327106328106329106330106331106332106333106334106335106336106337106338106339106340106341106342106343106344106345106346106347106348106349106350106351106352106353106354106355106356106357106358106359106360106361106362106363106364106365106366106367106368106369106370106371106372106373106374106375106376106377106378106379106380106381106382106383106384106385106386106387106388106389106390106391106392106393106394106395106396106397106398106399106400106401106402106403106404106405106406106407106408106409106410106411106412106413106414106415106416106417106418106419106420106421106422106423106424106425106426106427106428106429106430106431106432106433106434106435106436106437106438106439106440106441106442106443106444106445106446106447106448106449106450106451106452106453106454106455106456106457106458106459106460106461106462106463106464106465106466106467106468106469106470106471106472106473106474106475106476106477106478106479106480106481106482106483106484106485106486106487106488106489106490106491106492106493106494106495106496106497106498106499106500106501106502106503106504106505106506106507106508106509106510106511106512106513106514106515106516106517106518106519106520106521106522106523106524106525106526106527106528106529106530106531106532106533106534106535106536106537106538106539106540106541106542106543106544106545106546106547106548106549106550106551106552106553106554106555106556106557106558106559106560106561106562106563106564106565106566106567106568106569106570106571106572106573106574106575106576106577106578106579106580106581106582106583106584106585106586106587106588106589106590106591106592106593106594106595106596106597106598106599106600106601106602106603106604106605106606106607106608106609106610106611106612106613106614106615106616106617106618106619106620106621106622106623106624106625106626106627106628106629106630106631106632106633106634106635106636106637106638106639106640106641106642106643106644106645106646106647106648106649106650106651106652106653106654106655106656106657106658106659106660106661106662106663106664106665106666106667106668106669106670106671106672106673106674106675106676106677106678106679106680106681106682106683106684106685106686106687106688106689106690106691106692106693106694106695106696106697106698106699106700106701106702106703106704106705106706106707106708106709106710106711106712106713106714106715106716106717106718106719106720106721106722106723106724106725106726106727106728106729106730106731106732106733106734106735106736106737106738106739106740106741106742106743106744106745106746106747106748106749106750106751106752106753106754106755106756106757106758106759106760106761106762106763106764106765106766106767106768106769106770106771106772106773106774106775106776106777106778106779106780106781106782106783106784106785106786106787106788106789106790106791106792106793106794106795106796106797106798106799106800106801106802106803106804106805106806106807106808106809106810106811106812106813106814106815106816106817106818106819106820106821106822106823106824106825106826106827106828106829106830106831106832106833106834106835106836106837106838106839106840106841106842106843106844106845106846106847106848106849106850106851106852106853106854106855106856106857106858106859106860106861106862106863106864106865106866106867106868106869106870106871106872106873106874106875106876106877106878106879106880106881106882106883106884106885106886106887106888106889106890106891106892106893106894106895106896106897106898106899106900106901106902106903106904106905106906106907106908106909106910106911106912106913106914106915106916106917106918106919106920106921106922106923106924106925106926106927106928106929106930106931106932106933106934106935106936106937106938106939106940106941106942106943106944106945106946106947106948106949106950106951106952106953106954106955106956106957106958106959106960106961106962106963106964106965106966106967106968106969106970106971106972106973106974106975106976106977106978106979106980106981106982106983106984106985106986106987106988106989106990106991106992106993106994106995106996106997106998106999107000107001107002107003107004107005107006107007107008107009107010107011107012107013107014107015107016107017107018107019107020107021107022107023107024107025107026107027107028107029107030107031107032107033107034107035107036107037107038107039107040107041107042107043107044107045107046107047107048107049107050107051107052107053107054107055107056107057107058107059107060107061107062107063107064107065107066107067107068107069107070107071107072107073107074107075107076107077107078107079107080107081107082107083107084107085107086107087107088107089107090107091107092107093107094107095107096107097107098107099107100107101107102107103107104107105107106107107107108107109107110107111107112107113107114107115107116107117107118107119107120107121107122107123107124107125107126107127107128107129107130107131107132107133107134107135107136107137107138107139107140107141107142107143107144107145107146107147107148107149107150107151107152107153107154107155107156107157107158107159107160107161107162107163107164107165107166107167107168107169107170107171107172107173107174107175107176107177107178107179107180107181107182107183107184107185107186107187107188107189107190107191107192107193107194107195107196107197107198107199107200107201107202107203107204107205107206107207107208107209107210107211107212107213107214107215107216107217107218107219107220107221107222107223107224107225107226107227107228107229107230107231107232107233107234107235107236107237107238107239107240107241107242107243107244107245107246107247107248107249107250107251107252107253107254107255107256107257107258107259107260107261107262107263107264107265107266107267107268107269107270107271107272107273107274107275107276107277107278107279107280107281107282107283107284107285107286107287107288107289107290107291107292107293107294107295107296107297107298107299107300107301107302107303107304107305107306107307107308107309107310107311107312107313107314107315107316107317107318107319107320107321107322107323107324107325107326107327107328107329107330107331107332107333107334107335107336107337107338107339107340107341107342107343107344107345107346107347107348107349107350107351107352107353107354107355107356107357107358107359107360107361107362107363107364107365107366107367107368107369107370107371107372107373107374107375107376107377107378107379107380107381107382107383107384107385107386107387107388107389107390107391107392107393107394107395107396107397107398107399107400107401107402107403107404107405107406107407107408107409107410107411107412107413107414107415107416107417107418107419107420107421107422107423107424107425107426107427107428107429107430107431107432107433107434107435107436107437107438107439107440107441107442107443107444107445107446107447107448107449107450107451107452107453107454107455107456107457107458107459107460107461107462107463107464107465107466107467107468107469107470107471107472107473107474107475107476107477107478107479107480107481107482107483107484107485107486107487107488107489107490107491107492107493107494107495107496107497107498107499107500107501107502107503107504107505107506107507107508107509107510107511107512107513107514107515107516107517107518107519107520107521107522107523107524107525107526107527107528107529107530107531107532107533107534107535107536107537107538107539107540107541107542107543107544107545107546107547107548107549107550107551107552107553107554107555107556107557107558107559107560107561107562107563107564107565107566107567107568107569107570107571107572107573107574107575107576107577107578107579107580107581107582107583107584107585107586107587107588107589107590107591107592107593107594107595107596107597107598107599107600107601107602107603107604107605107606107607107608107609107610107611107612107613107614107615107616107617107618107619107620107621107622107623107624107625107626107627107628107629107630107631107632107633107634107635107636107637107638107639107640107641107642107643107644107645107646107647107648107649107650107651107652107653107654107655107656107657107658107659107660107661107662107663107664107665107666107667107668107669107670107671107672107673107674107675107676107677107678107679107680107681107682107683107684107685107686107687107688107689107690107691107692107693107694107695107696107697107698107699107700107701107702107703107704107705107706107707107708107709107710107711107712107713107714107715107716107717107718107719107720107721107722107723107724107725107726107727107728107729107730107731107732107733107734107735107736107737107738107739107740107741107742107743107744107745107746107747107748107749107750107751107752107753107754107755107756107757107758107759107760107761107762107763107764107765107766107767107768107769107770107771107772107773107774107775107776107777107778107779107780107781107782107783107784107785107786107787107788107789107790107791107792107793107794107795107796107797107798107799107800107801107802107803107804107805107806107807107808107809107810107811107812107813107814107815107816107817107818107819107820107821107822107823107824107825107826107827107828107829107830107831107832107833107834107835107836107837107838107839107840107841107842107843107844107845107846107847107848107849107850107851107852107853107854107855107856107857107858107859107860107861107862107863107864107865107866107867107868107869107870107871107872107873107874107875107876107877107878107879107880107881107882107883107884107885107886107887107888107889107890107891107892107893107894107895107896107897107898107899107900107901107902107903107904107905107906107907107908107909107910107911107912107913107914107915107916107917107918107919107920107921107922107923107924107925107926107927107928107929107930107931107932107933107934107935107936107937107938107939107940107941107942107943107944107945107946107947107948107949107950107951107952107953107954107955107956107957107958107959107960107961107962107963107964107965107966107967107968107969107970107971107972107973107974107975107976107977107978107979107980107981107982107983107984107985107986107987107988107989107990107991107992107993107994107995107996107997107998107999108000108001108002108003108004108005108006108007108008108009108010108011108012108013108014108015108016108017108018108019108020108021108022108023108024108025108026108027108028108029108030108031108032108033108034108035108036108037108038108039108040108041108042108043108044108045108046108047108048108049108050108051108052108053108054108055108056108057108058108059108060108061108062108063108064108065108066108067108068108069108070108071108072108073108074108075108076108077108078108079108080108081108082108083108084108085108086108087108088108089108090108091108092108093108094108095108096108097108098108099108100108101108102108103108104108105108106108107108108108109108110108111108112108113108114108115108116108117108118108119108120108121108122108123108124108125108126108127108128108129108130108131108132108133108134108135108136108137108138108139108140108141108142108143108144108145108146108147108148108149108150108151108152108153108154108155108156108157108158108159108160108161108162108163108164108165108166108167108168108169108170108171108172108173108174108175108176108177108178108179108180108181108182108183108184108185108186108187108188108189108190108191108192108193108194108195108196108197108198108199108200108201108202108203108204108205108206108207108208108209108210108211108212108213108214108215108216108217108218108219108220108221108222108223108224108225108226108227108228108229108230108231108232108233108234108235108236108237108238108239108240108241108242108243108244108245108246108247108248108249108250108251108252108253108254108255108256108257108258108259108260108261108262108263108264108265108266108267108268108269108270108271108272108273108274108275108276108277108278108279108280108281108282108283108284108285108286108287108288108289108290108291108292108293108294108295108296108297108298108299108300108301108302108303108304108305108306108307108308108309108310108311108312108313108314108315108316108317108318108319108320108321108322108323108324108325108326108327108328108329108330108331108332108333108334108335108336108337108338108339108340108341108342108343108344108345108346108347108348108349108350108351108352108353108354108355108356108357108358108359108360108361108362108363108364108365108366108367108368108369108370108371108372108373108374108375108376108377108378108379108380108381108382108383108384108385108386108387108388108389108390108391108392108393108394108395108396108397108398108399108400108401108402108403108404108405108406108407108408108409108410108411108412108413108414108415108416108417108418108419108420108421108422108423108424108425108426108427108428108429108430108431108432108433108434108435108436108437108438108439108440108441108442108443108444108445108446108447108448108449108450108451108452108453108454108455108456108457108458108459108460108461108462108463108464108465108466108467108468108469108470108471108472108473108474108475108476108477108478108479108480108481108482108483108484108485108486108487108488108489108490108491108492108493108494108495108496108497108498108499108500108501108502108503108504108505108506108507108508108509108510108511108512108513108514108515108516108517108518108519108520108521108522108523108524108525108526108527108528108529108530108531108532108533108534108535108536108537108538108539108540108541108542108543108544108545108546108547108548108549108550108551108552108553108554108555108556108557108558108559108560108561108562108563108564108565108566108567108568108569108570108571108572108573108574108575108576108577108578108579108580108581108582108583108584108585108586108587108588108589108590108591108592108593108594108595108596108597108598108599108600108601108602108603108604108605108606108607108608108609108610108611108612108613108614108615108616108617108618108619108620108621108622108623108624108625108626108627108628108629108630108631108632108633108634108635108636108637108638108639108640108641108642108643108644108645108646108647108648108649108650108651108652108653108654108655108656108657108658108659108660108661108662108663108664108665108666108667108668108669108670108671108672108673108674108675108676108677108678108679108680108681108682108683108684108685108686108687108688108689108690108691108692108693108694108695108696108697108698108699108700108701108702108703108704108705108706108707108708108709108710108711108712108713108714108715108716108717108718108719108720108721108722108723108724108725108726108727108728108729108730108731108732108733108734108735108736108737108738108739108740108741108742108743108744108745108746108747108748108749108750108751108752108753108754108755108756108757108758108759108760108761108762108763108764108765108766108767108768108769108770108771108772108773108774108775108776108777108778108779108780108781108782108783108784108785108786108787108788108789108790108791108792108793108794108795108796108797108798108799108800108801108802108803108804108805108806108807108808108809108810108811108812108813108814108815108816108817108818108819108820108821108822108823108824108825108826108827108828108829108830108831108832108833108834108835108836108837108838108839108840108841108842108843108844108845108846108847108848108849108850108851108852108853108854108855108856108857108858108859108860108861108862108863108864108865108866108867108868108869108870108871108872108873108874108875108876108877108878108879108880108881108882108883108884108885108886108887108888108889108890108891108892108893108894108895108896108897108898108899108900108901108902108903108904108905108906108907108908108909108910108911108912108913108914108915108916108917108918108919108920108921108922108923108924108925108926108927108928108929108930108931108932108933108934108935108936108937108938108939108940108941108942108943108944108945108946108947108948108949108950108951108952108953108954108955108956108957108958108959108960108961108962108963108964108965108966108967108968108969108970108971108972108973108974108975108976108977108978108979108980108981108982108983108984108985108986108987108988108989108990108991108992108993108994108995108996108997108998108999109000109001109002109003109004109005109006109007109008109009109010109011109012109013109014109015109016109017109018109019109020109021109022109023109024109025109026109027109028109029109030109031109032109033109034109035109036109037109038109039109040109041109042109043109044109045109046109047109048109049109050109051109052109053109054109055109056109057109058109059109060109061109062109063109064109065109066109067109068109069109070109071109072109073109074109075109076109077109078109079109080109081109082109083109084109085109086109087109088109089109090109091109092109093109094109095109096109097109098109099109100109101109102109103109104109105109106109107109108109109109110109111109112109113109114109115109116109117109118109119109120109121109122109123109124109125109126109127109128109129109130109131109132109133109134109135109136109137109138109139109140109141109142109143109144109145109146109147109148109149109150109151109152109153109154109155109156109157109158109159109160109161109162109163109164109165109166109167109168109169109170109171109172109173109174109175109176109177109178109179109180109181109182109183109184109185109186109187109188109189109190109191109192109193109194109195109196109197109198109199109200109201109202109203109204109205109206109207109208109209109210109211109212109213109214109215109216109217109218109219109220109221109222109223109224109225109226109227109228109229109230109231109232109233109234109235109236109237109238109239109240109241109242109243109244109245109246109247109248109249109250109251109252109253109254109255109256109257109258109259109260109261109262109263109264109265109266109267109268109269109270109271109272109273109274109275109276109277109278109279109280109281109282109283109284109285109286109287109288109289109290109291109292109293109294109295109296109297109298109299109300109301109302109303109304109305109306109307109308109309109310109311109312109313109314109315109316109317109318109319109320109321109322109323109324109325109326109327109328109329109330109331109332109333109334109335109336109337109338109339109340109341109342109343109344109345109346109347109348109349109350109351109352109353109354109355109356109357109358109359109360109361109362109363109364109365109366109367109368109369109370109371109372109373109374109375109376109377109378109379109380109381109382109383109384109385109386109387109388109389109390109391109392109393109394109395109396109397109398109399109400109401109402109403109404109405109406109407109408109409109410109411109412109413109414109415109416109417109418109419109420109421109422109423109424109425109426109427109428109429109430109431109432109433109434109435109436109437109438109439109440109441109442109443109444109445109446109447109448109449109450109451109452109453109454109455109456109457109458109459109460109461109462109463109464109465109466109467109468109469109470109471109472109473109474109475109476109477109478109479109480109481109482109483109484109485109486109487109488109489109490109491109492109493109494109495109496109497109498109499109500109501109502109503109504109505109506109507109508109509109510109511109512109513109514109515109516109517109518109519109520109521109522109523109524109525109526109527109528109529109530109531109532109533109534109535109536109537109538109539109540109541109542109543109544109545109546109547109548109549109550109551109552109553109554109555109556109557109558109559109560109561109562109563109564109565109566109567109568109569109570109571109572109573109574109575109576109577109578109579109580109581109582109583109584109585109586109587109588109589109590109591109592109593109594109595109596109597109598109599109600109601109602109603109604109605109606109607109608109609109610109611109612109613109614109615109616109617109618109619109620109621109622109623109624109625109626109627109628109629109630109631109632109633109634109635109636109637109638109639109640109641109642109643109644109645109646109647109648109649109650109651109652109653109654109655109656109657109658109659109660109661109662109663109664109665109666109667109668109669109670109671109672109673109674109675109676109677109678109679109680109681109682109683109684109685109686109687109688109689109690109691109692109693109694109695109696109697109698109699109700109701109702109703109704109705109706109707109708109709109710109711109712109713109714109715109716109717109718109719109720109721109722109723109724109725109726109727109728109729109730109731109732109733109734109735109736109737109738109739109740109741109742109743109744109745109746109747109748109749109750109751109752109753109754109755109756109757109758109759109760109761109762109763109764109765109766109767109768109769109770109771109772109773109774109775109776109777109778109779109780109781109782109783109784109785109786109787109788109789109790109791109792109793109794109795109796109797109798109799109800109801109802109803109804109805109806109807109808109809109810109811109812109813109814109815109816109817109818109819109820109821109822109823109824109825109826109827109828109829109830109831109832109833109834109835109836109837109838109839109840109841109842109843109844109845109846109847109848109849109850109851109852109853109854109855109856109857109858109859109860109861109862109863109864109865109866109867109868109869109870109871109872109873109874109875109876109877109878109879109880109881109882109883109884109885109886109887109888109889109890109891109892109893109894109895109896109897109898109899109900109901109902109903109904109905109906109907109908109909109910109911109912109913109914109915109916109917109918109919109920109921109922109923109924109925109926109927109928109929109930109931109932109933109934109935109936109937109938109939109940109941109942109943109944109945109946109947109948109949109950109951109952109953109954109955109956109957109958109959109960109961109962109963109964109965109966109967109968109969109970109971109972109973109974109975109976109977109978109979109980109981109982109983109984109985109986109987109988109989109990109991109992109993109994109995109996109997109998109999110000110001110002110003110004110005110006110007110008110009110010110011110012110013110014110015110016110017110018110019110020110021110022110023110024110025110026110027110028110029110030110031110032110033110034110035110036110037110038110039110040110041110042110043110044110045110046110047110048110049110050110051110052110053110054110055110056110057110058110059110060110061110062110063110064110065110066110067110068110069110070110071110072110073110074110075110076110077110078110079110080110081110082110083110084110085110086110087110088110089110090110091110092110093110094110095110096110097110098110099110100110101110102110103110104110105110106110107110108110109110110110111110112110113110114110115110116110117110118110119110120110121110122110123110124110125110126110127110128110129110130110131110132110133110134110135110136110137110138110139110140110141110142110143110144110145110146110147110148110149110150110151110152110153110154110155110156110157110158110159110160110161110162110163110164110165110166110167110168110169110170110171110172110173110174110175110176110177110178110179110180110181110182110183110184110185110186110187110188110189110190110191110192110193110194110195110196110197110198110199110200110201110202110203110204110205110206110207110208110209110210110211110212110213110214110215110216110217110218110219110220110221110222110223110224110225110226110227110228110229110230110231110232110233110234110235110236110237110238110239110240110241110242110243110244110245110246110247110248110249110250110251110252110253110254110255110256110257110258110259110260110261110262110263110264110265110266110267110268110269110270110271110272110273110274110275110276110277110278110279110280110281110282110283110284110285110286110287110288110289110290110291110292110293110294110295110296110297110298110299110300110301110302110303110304110305110306110307110308110309110310110311110312110313110314110315110316110317110318110319110320110321110322110323110324110325110326110327110328110329110330110331110332110333110334110335110336110337110338110339110340110341110342110343110344110345110346110347110348110349110350110351110352110353110354110355110356110357110358110359110360110361110362110363110364110365110366110367110368110369110370110371110372110373110374110375110376110377110378110379110380110381110382110383110384110385110386110387110388110389110390110391110392110393110394110395110396110397110398110399110400110401110402110403110404110405110406110407110408110409110410110411110412110413110414110415110416110417110418110419110420110421110422110423110424110425110426110427110428110429110430110431110432110433110434110435110436110437110438110439110440110441110442110443110444110445110446110447110448110449110450110451110452110453110454110455110456110457110458110459110460110461110462110463110464110465110466110467110468110469110470110471110472110473110474110475110476110477110478110479110480110481110482110483110484110485110486110487110488110489110490110491110492110493110494110495110496110497110498110499110500110501110502110503110504110505110506110507110508110509110510110511110512110513110514110515110516110517110518110519110520110521110522110523110524110525110526110527110528110529110530110531110532110533110534110535110536110537110538110539110540110541110542110543110544110545110546110547110548110549110550110551110552110553110554110555110556110557110558110559110560110561110562110563110564110565110566110567110568110569110570110571110572110573110574110575110576110577110578110579110580110581110582110583110584110585110586110587110588110589110590110591110592110593110594110595110596110597110598110599110600110601110602110603110604110605110606110607110608110609110610110611110612110613110614110615110616110617110618110619110620110621110622110623110624110625110626110627110628110629110630110631110632110633110634110635110636110637110638110639110640110641110642110643110644110645110646110647110648110649110650110651110652110653110654110655110656110657110658110659110660110661110662110663110664110665110666110667110668110669110670110671110672110673110674110675110676110677110678110679110680110681110682110683110684110685110686110687110688110689110690110691110692110693110694110695110696110697110698110699110700110701110702110703110704110705110706110707110708110709110710110711110712110713110714110715110716110717110718110719110720110721110722110723110724110725110726110727110728110729110730110731110732110733110734110735110736110737110738110739110740110741110742110743110744110745110746110747110748110749110750110751110752110753110754110755110756110757110758110759110760110761110762110763110764110765110766110767110768110769110770110771110772110773110774110775110776110777110778110779110780110781110782110783110784110785110786110787110788110789110790110791110792110793110794110795110796110797110798110799110800110801110802110803110804110805110806110807110808110809110810110811110812110813110814110815110816110817110818110819110820110821110822110823110824110825110826110827110828110829110830110831110832110833110834110835110836110837110838110839110840110841110842110843110844110845110846110847110848110849110850110851110852110853110854110855110856110857110858110859110860110861110862110863110864110865110866110867110868110869110870110871110872110873110874110875110876110877110878110879110880110881110882110883110884110885110886110887110888110889110890110891110892110893110894110895110896110897110898110899110900110901110902110903110904110905110906110907110908110909110910110911110912110913110914110915110916110917110918110919110920110921110922110923110924110925110926110927110928110929110930110931110932110933110934110935110936110937110938110939110940110941110942110943110944110945110946110947110948110949110950110951110952110953110954110955110956110957110958110959110960110961110962110963110964110965110966110967110968110969110970110971110972110973110974110975110976110977110978110979110980110981110982110983110984110985110986110987110988110989110990110991110992110993110994110995110996110997110998110999111000111001111002111003111004111005111006111007111008111009111010111011111012111013111014111015111016111017111018111019111020111021111022111023111024111025111026111027111028111029111030111031111032111033111034111035111036111037111038111039111040111041111042111043111044111045111046111047111048111049111050111051111052111053111054111055111056111057111058111059111060111061111062111063111064111065111066111067111068111069111070111071111072111073111074111075111076111077111078111079111080111081111082111083111084111085111086111087111088111089111090111091111092111093111094111095111096111097111098111099111100111101111102111103111104111105111106111107111108111109111110111111111112111113111114111115111116111117111118111119111120111121111122111123111124111125111126111127111128111129111130111131111132111133111134111135111136111137111138111139111140111141111142111143111144111145111146111147111148111149111150111151111152111153111154111155111156111157111158111159111160111161111162111163111164111165111166111167111168111169111170111171111172111173111174111175111176111177111178111179111180111181111182111183111184111185111186111187111188111189111190111191111192111193111194111195111196111197111198111199111200111201111202111203111204111205111206111207111208111209111210111211111212111213111214111215111216111217111218111219111220111221111222111223111224111225111226111227111228111229111230111231111232111233111234111235111236111237111238111239111240111241111242111243111244111245111246111247111248111249111250111251111252111253111254111255111256111257111258111259111260111261111262111263111264111265111266111267111268111269111270111271111272111273111274111275111276111277111278111279111280111281111282111283111284111285111286111287111288111289111290111291111292111293111294111295111296111297111298111299111300111301111302111303111304111305111306111307111308111309111310111311111312111313111314111315111316111317111318111319111320111321111322111323111324111325111326111327111328111329111330111331111332111333111334111335111336111337111338111339111340111341111342111343111344111345111346111347111348111349111350111351111352111353111354111355111356111357111358111359111360111361111362111363111364111365111366111367111368111369111370111371111372111373111374111375111376111377111378111379111380111381111382111383111384111385111386111387111388111389111390111391111392111393111394111395111396111397111398111399111400111401111402111403111404111405111406111407111408111409111410111411111412111413111414111415111416111417111418111419111420111421111422111423111424111425111426111427111428111429111430111431111432111433111434111435111436111437111438111439111440111441111442111443111444111445111446111447111448111449111450111451111452111453111454111455111456111457111458111459111460111461111462111463111464111465111466111467111468111469111470111471111472111473111474111475111476111477111478111479111480111481111482111483111484111485111486111487111488111489111490111491111492111493111494111495111496111497111498111499111500111501111502111503111504111505111506111507111508111509111510111511111512111513111514111515111516111517111518111519111520111521111522111523111524111525111526111527111528111529111530111531111532111533111534111535111536111537111538111539111540111541111542111543111544111545111546111547111548111549111550111551111552111553111554111555111556111557111558111559111560111561111562111563111564111565111566111567111568111569111570111571111572111573111574111575111576111577111578111579111580111581111582111583111584111585111586111587111588111589111590111591111592111593111594111595111596111597111598111599111600111601111602111603111604111605111606111607111608111609111610111611111612111613111614111615111616111617111618111619111620111621111622111623111624111625111626111627111628111629111630111631111632111633111634111635111636111637111638111639111640111641111642111643111644111645111646111647111648111649111650111651111652111653111654111655111656111657111658111659111660111661111662111663111664111665111666111667111668111669111670111671111672111673111674111675111676111677111678111679111680111681111682111683111684111685111686111687111688111689111690111691111692111693111694111695111696111697111698111699111700111701111702111703111704111705111706111707111708111709111710111711111712111713111714111715111716111717111718111719111720111721111722111723111724111725111726111727111728111729111730111731111732111733111734111735111736111737111738111739111740111741111742111743111744111745111746111747111748111749111750111751111752111753111754111755111756111757111758111759111760111761111762111763111764111765111766111767111768111769111770111771111772111773111774111775111776111777111778111779111780111781111782111783111784111785111786111787111788111789111790111791111792111793111794111795111796111797111798111799111800111801111802111803111804111805111806111807111808111809111810111811111812111813111814111815111816111817111818111819111820111821111822111823111824111825111826111827111828111829111830111831111832111833111834111835111836111837111838111839111840111841111842111843111844111845111846111847111848111849111850111851111852111853111854111855111856111857111858111859111860111861111862111863111864111865111866111867111868111869111870111871111872111873111874111875111876111877111878111879111880111881111882111883111884111885111886111887111888111889111890111891111892111893111894111895111896111897111898111899111900111901111902111903111904111905111906111907111908111909111910111911111912111913111914111915111916111917111918111919111920111921111922111923111924111925111926111927111928111929111930111931111932111933111934111935111936111937111938111939111940111941111942111943111944111945111946111947111948111949111950111951111952111953111954111955111956111957111958111959111960111961111962111963111964111965111966111967111968111969111970111971111972111973111974111975111976111977111978111979111980111981111982111983111984111985111986111987111988111989111990111991111992111993111994111995111996111997111998111999112000112001112002112003112004112005112006112007112008112009112010112011112012112013112014112015112016112017112018112019112020112021112022112023112024112025112026112027112028112029112030112031112032112033112034112035112036112037112038112039112040112041112042112043112044112045112046112047112048112049112050112051112052112053112054112055112056112057112058112059112060112061112062112063112064112065112066112067112068112069112070112071112072112073112074112075112076112077112078112079112080112081112082112083112084112085112086112087112088112089112090112091112092112093112094112095112096112097112098112099112100112101112102112103112104112105112106112107112108112109112110112111112112112113112114112115112116112117112118112119112120112121112122112123112124112125112126112127112128112129112130112131112132112133112134112135112136112137112138112139112140112141112142112143112144112145112146112147112148112149112150112151112152112153112154112155112156112157112158112159112160112161112162112163112164112165112166112167112168112169112170112171112172112173112174112175112176112177112178112179112180112181112182112183112184112185112186112187112188112189112190112191112192112193112194112195112196112197112198112199112200112201112202112203112204112205112206112207112208112209112210112211112212112213112214112215112216112217112218112219112220112221112222112223112224112225112226112227112228112229112230112231112232112233112234112235112236112237112238112239112240112241112242112243112244112245112246112247112248112249112250112251112252112253112254112255112256112257112258112259112260112261112262112263112264112265112266112267112268112269112270112271112272112273112274112275112276112277112278112279112280112281112282112283112284112285112286112287112288112289112290112291112292112293112294112295112296112297112298112299112300112301112302112303112304112305112306112307112308112309112310112311112312112313112314112315112316112317112318112319112320112321112322112323112324112325112326112327112328112329112330112331112332112333112334112335112336112337112338112339112340112341112342112343112344112345112346112347112348112349112350112351112352112353112354112355112356112357112358112359112360112361112362112363112364112365112366112367112368112369112370112371112372112373112374112375112376112377112378112379112380112381112382112383112384112385112386112387112388112389112390112391112392112393112394112395112396112397112398112399112400112401112402112403112404112405112406112407112408112409112410112411112412112413112414112415112416112417112418112419112420112421112422112423112424112425112426112427112428112429112430112431112432112433112434112435112436112437112438112439112440112441112442112443112444112445112446112447112448112449112450112451112452112453112454112455112456112457112458112459112460112461112462112463112464112465112466112467112468112469112470112471112472112473112474112475112476112477112478112479112480112481112482112483112484112485112486112487112488112489112490112491112492112493112494112495112496112497112498112499112500112501112502112503112504112505112506112507112508112509112510112511112512112513112514112515112516112517112518112519112520112521112522112523112524112525112526112527112528112529112530112531112532112533112534112535112536112537112538112539112540112541112542112543112544112545112546112547112548112549112550112551112552112553112554112555112556112557112558112559112560112561112562112563112564112565112566112567112568112569112570112571112572112573112574112575112576112577112578112579112580112581112582112583112584112585112586112587112588112589112590112591112592112593112594112595112596112597112598112599112600112601112602112603112604112605112606112607112608112609112610112611112612112613112614112615112616112617112618112619112620112621112622112623112624112625112626112627112628112629112630112631112632112633112634112635112636112637112638112639112640112641112642112643112644112645112646112647112648112649112650112651112652112653112654112655112656112657112658112659112660112661112662112663112664112665112666112667112668112669112670112671112672112673112674112675112676112677112678112679112680112681112682112683112684112685112686112687112688112689112690112691112692112693112694112695112696112697112698112699112700112701112702112703112704112705112706112707112708112709112710112711112712112713112714112715112716112717112718112719112720112721112722112723112724112725112726112727112728112729112730112731112732112733112734112735112736112737112738112739112740112741112742112743112744112745112746112747112748112749112750112751112752112753112754112755112756112757112758112759112760112761112762112763112764112765112766112767112768112769112770112771112772112773112774112775112776112777112778112779112780112781112782112783112784112785112786112787112788112789112790112791112792112793112794112795112796112797112798112799112800112801112802112803112804112805112806112807112808112809112810112811112812112813112814112815112816112817112818112819112820112821112822112823112824112825112826112827112828112829112830112831112832112833112834112835112836112837112838112839112840112841112842112843112844112845112846112847112848112849112850112851112852112853112854112855112856112857112858112859112860112861112862112863112864112865112866112867112868112869112870112871112872112873112874112875112876112877112878112879112880112881112882112883112884112885112886112887112888112889112890112891112892112893112894112895112896112897112898112899112900112901112902112903112904112905112906112907112908112909112910112911112912112913112914112915112916112917112918112919112920112921112922112923112924112925112926112927112928112929112930112931112932112933112934112935112936112937112938112939112940112941112942112943112944112945112946112947112948112949112950112951112952112953112954112955112956112957112958112959112960112961112962112963112964112965112966112967112968112969112970112971112972112973112974112975112976112977112978112979112980112981112982112983112984112985112986112987112988112989112990112991112992112993112994112995112996112997112998112999113000113001113002113003113004113005113006113007113008113009113010113011113012113013113014113015113016113017113018113019113020113021113022113023113024113025113026113027113028113029113030113031113032113033113034113035113036113037113038113039113040113041113042113043113044113045113046113047113048113049113050113051113052113053113054113055113056113057113058113059113060113061113062113063113064113065113066113067113068113069113070113071113072113073113074113075113076113077113078113079113080113081113082113083113084113085113086113087113088113089113090113091113092113093113094113095113096113097113098113099113100113101113102113103113104113105113106113107113108113109113110113111113112113113113114113115113116113117113118113119113120113121113122113123113124113125113126113127113128113129113130113131113132113133113134113135113136113137113138113139113140113141113142113143113144113145113146113147113148113149113150113151113152113153113154113155113156113157113158113159113160113161113162113163113164113165113166113167113168113169113170113171113172113173113174113175113176113177113178113179113180113181113182113183113184113185113186113187113188113189113190113191113192113193113194113195113196113197113198113199113200113201113202113203113204113205113206113207113208113209113210113211113212113213113214113215113216113217113218113219113220113221113222113223113224113225113226113227113228113229113230113231113232113233113234113235113236113237113238113239113240113241113242113243113244113245113246113247113248113249113250113251113252113253113254113255113256113257113258113259113260113261113262113263113264113265113266113267113268113269113270113271113272113273113274113275113276113277113278113279113280113281113282113283113284113285113286113287113288113289113290113291113292113293113294113295113296113297113298113299113300113301113302113303113304113305113306113307113308113309113310113311113312113313113314113315113316113317113318113319113320113321113322113323113324113325113326113327113328113329113330113331113332113333113334113335113336113337113338113339113340113341113342113343113344113345113346113347113348113349113350113351113352113353113354113355113356113357113358113359113360113361113362113363113364113365113366113367113368113369113370113371113372113373113374113375113376113377113378113379113380113381113382113383113384113385113386113387113388113389113390113391113392113393113394113395113396113397113398113399113400113401113402113403113404113405113406113407113408113409113410113411113412113413113414113415113416113417113418113419113420113421113422113423113424113425113426113427113428113429113430113431113432113433113434113435113436113437113438113439113440113441113442113443113444113445113446113447113448113449113450113451113452113453113454113455113456113457113458113459113460113461113462113463113464113465113466113467113468113469113470113471113472113473113474113475113476113477113478113479113480113481113482113483113484113485113486113487113488113489113490113491113492113493113494113495113496113497113498113499113500113501113502113503113504113505113506113507113508113509113510113511113512113513113514113515113516113517113518113519113520113521113522113523113524113525113526113527113528113529113530113531113532113533113534113535113536113537113538113539113540113541113542113543113544113545113546113547113548113549113550113551113552113553113554113555113556113557113558113559113560113561113562113563113564113565113566113567113568113569113570113571113572113573113574113575113576113577113578113579113580113581113582113583113584113585113586113587113588113589113590113591113592113593113594113595113596113597113598113599113600113601113602113603113604113605113606113607113608113609113610113611113612113613113614113615113616113617113618113619113620113621113622113623113624113625113626113627113628113629113630113631113632113633113634113635113636113637113638113639113640113641113642113643113644113645113646113647113648113649113650113651113652113653113654113655113656113657113658113659113660113661113662113663113664113665113666113667113668113669113670113671113672113673113674113675113676113677113678113679113680113681113682113683113684113685113686113687113688113689113690113691113692113693113694113695113696113697113698113699113700113701113702113703113704113705113706113707113708113709113710113711113712113713113714113715113716113717113718113719113720113721113722113723113724113725113726113727113728113729113730113731113732113733113734113735113736113737113738113739113740113741113742113743113744113745113746113747113748113749113750113751113752113753113754113755113756113757113758113759113760113761113762113763113764113765113766113767113768113769113770113771113772113773113774113775113776113777113778113779113780113781113782113783113784113785113786113787113788113789113790113791113792113793113794113795113796113797113798113799113800113801113802113803113804113805113806113807113808113809113810113811113812113813113814113815113816113817113818113819113820113821113822113823113824113825113826113827113828113829113830113831113832113833113834113835113836113837113838113839113840113841113842113843113844113845113846113847113848113849113850113851113852113853113854113855113856113857113858113859113860113861113862113863113864113865113866113867113868113869113870113871113872113873113874113875113876113877113878113879113880113881113882113883113884113885113886113887113888113889113890113891113892113893113894113895113896113897113898113899113900113901113902113903113904113905113906113907113908113909113910113911113912113913113914113915113916113917113918113919113920113921113922113923113924113925113926113927113928113929113930113931113932113933113934113935113936113937113938113939113940113941113942113943113944113945113946113947113948113949113950113951113952113953113954113955113956113957113958113959113960113961113962113963113964113965113966113967113968113969113970113971113972113973113974113975113976113977113978113979113980113981113982113983113984113985113986113987113988113989113990113991113992113993113994113995113996113997113998113999114000114001114002114003114004114005114006114007114008114009114010114011114012114013114014114015114016114017114018114019114020114021114022114023114024114025114026114027114028114029114030114031114032114033114034114035114036114037114038114039114040114041114042114043114044114045114046114047114048114049114050114051114052114053114054114055114056114057114058114059114060114061114062114063114064114065114066114067114068114069114070114071114072114073114074114075114076114077114078114079114080114081114082114083114084114085114086114087114088114089114090114091114092114093114094114095114096114097114098114099114100114101114102114103114104114105114106114107114108114109114110114111114112114113114114114115114116114117114118114119114120114121114122114123114124114125114126114127114128114129114130114131114132114133114134114135114136114137114138114139114140114141114142114143114144114145114146114147114148114149114150114151114152114153114154114155114156114157114158114159114160114161114162114163114164114165114166114167114168114169114170114171114172114173114174114175114176114177114178114179114180114181114182114183114184114185114186114187114188114189114190114191114192114193114194114195114196114197114198114199114200114201114202114203114204114205114206114207114208114209114210114211114212114213114214114215114216114217114218114219114220114221114222114223114224114225114226114227114228114229114230114231114232114233114234114235114236114237114238114239114240114241114242114243114244114245114246114247114248114249114250114251114252114253114254114255114256114257114258114259114260114261114262114263114264114265114266114267114268114269114270114271114272114273114274114275114276114277114278114279114280114281114282114283114284114285114286114287114288114289114290114291114292114293114294114295114296114297114298114299114300114301114302114303114304114305114306114307114308114309114310114311114312114313114314114315114316114317114318114319114320114321114322114323114324114325114326114327114328114329114330114331114332114333114334114335114336114337114338114339114340114341114342114343114344114345114346114347114348114349114350114351114352114353114354114355114356114357114358114359114360114361114362114363114364114365114366114367114368114369114370114371114372114373114374114375114376114377114378114379114380114381114382114383114384114385114386114387114388114389114390114391114392114393114394114395114396114397114398114399114400114401114402114403114404114405114406114407114408114409114410114411114412114413114414114415114416114417114418114419114420114421114422114423114424114425114426114427114428114429114430114431114432114433114434114435114436114437114438114439114440114441114442114443114444114445114446114447114448114449114450114451114452114453114454114455114456114457114458114459114460114461114462114463114464114465114466114467114468114469114470114471114472114473114474114475114476114477114478114479114480114481114482114483114484114485114486114487114488114489114490114491114492114493114494114495114496114497114498114499114500114501114502114503114504114505114506114507114508114509114510114511114512114513114514114515114516114517114518114519114520114521114522114523114524114525114526114527114528114529114530114531114532114533114534114535114536114537114538114539114540114541114542114543114544114545114546114547114548114549114550114551114552114553114554114555114556114557114558114559114560114561114562114563114564114565114566114567114568114569114570114571114572114573114574114575114576114577114578114579114580114581114582114583114584114585114586114587114588114589114590114591114592114593114594114595114596114597114598114599114600114601114602114603114604114605114606114607114608114609114610114611114612114613114614114615114616114617114618114619114620114621114622114623114624114625114626114627114628114629114630114631114632114633114634114635114636114637114638114639114640114641114642114643114644114645114646114647114648114649114650114651114652114653114654114655114656114657114658114659114660114661114662114663114664114665114666114667114668114669114670114671114672114673114674114675114676114677114678114679114680114681114682114683114684114685114686114687114688114689114690114691114692114693114694114695114696114697114698114699114700114701114702114703114704114705114706114707114708114709114710114711114712114713114714114715114716114717114718114719114720114721114722114723114724114725114726114727114728114729114730114731114732114733114734114735114736114737114738114739114740114741114742114743114744114745114746114747114748114749114750114751114752114753114754114755114756114757114758114759114760114761114762114763114764114765114766114767114768114769114770114771114772114773114774114775114776114777114778114779114780114781114782114783114784114785114786114787114788114789114790114791114792114793114794114795114796114797114798114799114800114801114802114803114804114805114806114807114808114809114810114811114812114813114814114815114816114817114818114819114820114821114822114823114824114825114826114827114828114829114830114831114832114833114834114835114836114837114838114839114840114841114842114843114844114845114846114847114848114849114850114851114852114853114854114855114856114857114858114859114860114861114862114863114864114865114866114867114868114869114870114871114872114873114874114875114876114877114878114879114880114881114882114883114884114885114886114887114888114889114890114891114892114893114894114895114896114897114898114899114900114901114902114903114904114905114906114907114908114909114910114911114912114913114914114915114916114917114918114919114920114921114922114923114924114925114926114927114928114929114930114931114932114933114934114935114936114937114938114939114940114941114942114943114944114945114946114947114948114949114950114951114952114953114954114955114956114957114958114959114960114961114962114963114964114965114966114967114968114969114970114971114972114973114974114975114976114977114978114979114980114981114982114983114984114985114986114987114988114989114990114991114992114993114994114995114996114997114998114999115000115001115002115003115004115005115006115007115008115009115010115011115012115013115014115015115016115017115018115019115020115021115022115023115024115025115026115027115028115029115030115031115032115033115034115035115036115037115038115039115040115041115042115043115044115045115046115047115048115049115050115051115052115053115054115055115056115057115058115059115060115061115062115063115064115065115066115067115068115069115070115071115072115073115074115075115076115077115078115079115080115081115082115083115084115085115086115087115088115089115090115091115092115093115094115095115096115097115098115099115100115101115102115103115104115105115106115107115108115109115110115111115112115113115114115115115116115117115118115119115120115121115122115123115124115125115126115127115128115129115130115131115132115133115134115135115136115137115138115139115140115141115142115143115144115145115146115147115148115149115150115151115152115153115154115155115156115157115158115159115160115161115162115163115164115165115166115167115168115169115170115171115172115173115174115175115176115177115178115179115180115181115182115183115184115185115186115187115188115189115190115191115192115193115194115195115196115197115198115199115200115201115202115203115204115205115206115207115208115209115210115211115212115213115214115215115216115217115218115219115220115221115222115223115224115225115226115227115228115229115230115231115232115233115234115235115236115237115238115239115240115241115242115243115244115245115246115247115248115249115250115251115252115253115254115255115256115257115258115259115260115261115262115263115264115265115266115267115268115269115270115271115272115273115274115275115276115277115278115279115280115281115282115283115284115285115286115287115288115289115290115291115292115293115294115295115296115297115298115299115300115301115302115303115304115305115306115307115308115309115310115311115312115313115314115315115316115317115318115319115320115321115322115323115324115325115326115327115328115329115330115331115332115333115334115335115336115337115338115339115340115341115342115343115344115345115346115347115348115349115350115351115352115353115354115355115356115357115358115359115360115361115362115363115364115365115366115367115368115369115370115371115372115373115374115375115376115377115378115379115380115381115382115383115384115385115386115387115388115389115390115391115392115393115394115395115396115397115398115399115400115401115402115403115404115405115406115407115408115409115410115411115412115413115414115415115416115417115418115419115420115421115422115423115424115425115426115427115428115429115430115431115432115433115434115435115436115437115438115439115440115441115442115443115444115445115446115447115448115449115450115451115452115453115454115455115456115457115458115459115460115461115462115463115464115465115466115467115468115469115470115471115472115473115474115475115476115477115478115479115480115481115482115483115484115485115486115487115488115489115490115491115492115493115494115495115496115497115498115499115500115501115502115503115504115505115506115507115508115509115510115511115512115513115514115515115516115517115518115519115520115521115522115523115524115525115526115527115528115529115530115531115532115533115534115535115536115537115538115539115540115541115542115543115544115545115546115547115548115549115550115551115552115553115554115555115556115557115558115559115560115561115562115563115564115565115566115567115568115569115570115571115572115573115574115575115576115577115578115579115580115581115582115583115584115585115586115587115588115589115590115591115592115593115594115595115596115597115598115599115600115601115602115603115604115605115606115607115608115609115610115611115612115613115614115615115616115617115618115619115620115621115622115623115624115625115626115627115628115629115630115631115632115633115634115635115636115637115638115639115640115641115642115643115644115645115646115647115648115649115650115651115652115653115654115655115656115657115658115659115660115661115662115663115664115665115666115667115668115669115670115671115672115673115674115675115676115677115678115679115680115681115682115683115684115685115686115687115688115689115690115691115692115693115694115695115696115697115698115699115700115701115702115703115704115705115706115707115708115709115710115711115712115713115714115715115716115717115718115719115720115721115722115723115724115725115726115727115728115729115730115731115732115733115734115735115736115737115738115739115740115741115742115743115744115745115746115747115748115749115750115751115752115753115754115755115756115757115758115759115760115761115762115763115764115765115766115767115768115769115770115771115772115773115774115775115776115777115778115779115780115781115782115783115784115785115786115787115788115789115790115791115792115793115794115795115796115797115798115799115800115801115802115803115804115805115806115807115808115809115810115811115812115813115814115815115816115817115818115819115820115821115822115823115824115825115826115827115828115829115830115831115832115833115834115835115836115837115838115839115840115841115842115843115844115845115846115847115848115849115850115851115852115853115854115855115856115857115858115859115860115861115862115863115864115865115866115867115868115869115870115871115872115873115874115875115876115877115878115879115880115881115882115883115884115885115886115887115888115889115890115891115892115893115894115895115896115897115898115899115900115901115902115903115904115905115906115907115908115909115910115911115912115913115914115915115916115917115918115919115920115921115922115923115924115925115926115927115928115929115930115931115932115933115934115935115936115937115938115939115940115941115942115943115944115945115946115947115948115949115950115951115952115953115954115955115956115957115958115959115960115961115962115963115964115965115966115967115968115969115970115971115972115973115974115975115976115977115978115979115980115981115982115983115984115985115986115987115988115989115990115991115992115993115994115995115996115997115998115999116000116001116002116003116004116005116006116007116008116009116010116011116012116013116014116015116016116017116018116019116020116021116022116023116024116025116026116027116028116029116030116031116032116033116034116035116036116037116038116039116040116041116042116043116044116045116046116047116048116049116050116051116052116053116054116055116056116057116058116059116060116061116062116063116064116065116066116067116068116069116070116071116072116073116074116075116076116077116078116079116080116081116082116083116084116085116086116087116088116089116090116091116092116093116094116095116096116097116098116099116100116101116102116103116104116105116106116107116108116109116110116111116112116113116114116115116116116117116118116119116120116121116122116123116124116125116126116127116128116129116130116131116132116133116134116135116136116137116138116139116140116141116142116143116144116145116146116147116148116149116150116151116152116153116154116155116156116157116158116159116160116161116162116163116164116165116166116167116168116169116170116171116172116173116174116175116176116177116178116179116180116181116182116183116184116185116186116187116188116189116190116191116192116193116194116195116196116197116198116199116200116201116202116203116204116205116206116207116208116209116210116211116212116213116214116215116216116217116218116219116220116221116222116223116224116225116226116227116228116229116230116231116232116233116234116235116236116237116238116239116240116241116242116243116244116245116246116247116248116249116250116251116252116253116254116255116256116257116258116259116260116261116262116263116264116265116266116267116268116269116270116271116272116273116274116275116276116277116278116279116280116281116282116283116284116285116286116287116288116289116290116291116292116293116294116295116296116297116298116299116300116301116302116303116304116305116306116307116308116309116310116311116312116313116314116315116316116317116318116319116320116321116322116323116324116325116326116327116328116329116330116331116332116333116334116335116336116337116338116339116340116341116342116343116344116345116346116347116348116349116350116351116352116353116354116355116356116357116358116359116360116361116362116363116364116365116366116367116368116369116370116371116372116373116374116375116376116377116378116379116380116381116382116383116384116385116386116387116388116389116390116391116392116393116394116395116396116397116398116399116400116401116402116403116404116405116406116407116408116409116410116411116412116413116414116415116416116417116418116419116420116421116422116423116424116425116426116427116428116429116430116431116432116433116434116435116436116437116438116439116440116441116442116443116444116445116446116447116448116449116450116451116452116453116454116455116456116457116458116459116460116461116462116463116464116465116466116467116468116469116470116471116472116473116474116475116476116477116478116479116480116481116482116483116484116485116486116487116488116489116490116491116492116493116494116495116496116497116498116499116500116501116502116503116504116505116506116507116508116509116510116511116512116513116514116515116516116517116518116519116520116521116522116523116524116525116526116527116528116529116530116531116532116533116534116535116536116537116538116539116540116541116542116543116544116545116546116547116548116549116550116551116552116553116554116555116556116557116558116559116560116561116562116563116564116565116566116567116568116569116570116571116572116573116574116575116576116577116578116579116580116581116582116583116584116585116586116587116588116589116590116591116592116593116594116595116596116597116598116599116600116601116602116603116604116605116606116607116608116609116610116611116612116613116614116615116616116617116618116619116620116621116622116623116624116625116626116627116628116629116630116631116632116633116634116635116636116637116638116639116640116641116642116643116644116645116646116647116648116649116650116651116652116653116654116655116656116657116658116659116660116661116662116663116664116665116666116667116668116669116670116671116672116673116674116675116676116677116678116679116680116681116682116683116684116685116686116687116688116689116690116691116692116693116694116695116696116697116698116699116700116701116702116703116704116705116706116707116708116709116710116711116712116713116714116715116716116717116718116719116720116721116722116723116724116725116726116727116728116729116730116731116732116733116734116735116736116737116738116739116740116741116742116743116744116745116746116747116748116749116750116751116752116753116754116755116756116757116758116759116760116761116762116763116764116765116766116767116768116769116770116771116772116773116774116775116776116777116778116779116780116781116782116783116784116785116786116787116788116789116790116791116792116793116794116795116796116797116798116799116800116801116802116803116804116805116806116807116808116809116810116811116812116813116814116815116816116817116818116819116820116821116822116823116824116825116826116827116828116829116830116831116832116833116834116835116836116837116838116839116840116841116842116843116844116845116846116847116848116849116850116851116852116853116854116855116856116857116858116859116860116861116862116863116864116865116866116867116868116869116870116871116872116873116874116875116876116877116878116879116880116881116882116883116884116885116886116887116888116889116890116891116892116893116894116895116896116897116898116899116900116901116902116903116904116905116906116907116908116909116910116911116912116913116914116915116916116917116918116919116920116921116922116923116924116925116926116927116928116929116930116931116932116933116934116935116936116937116938116939116940116941116942116943116944116945116946116947116948116949116950116951116952116953116954116955116956116957116958116959116960116961116962116963116964116965116966116967116968116969116970116971116972116973116974116975116976116977116978116979116980116981116982116983116984116985116986116987116988116989116990116991116992116993116994116995116996116997116998116999117000117001117002117003117004117005117006117007117008117009117010117011117012117013117014117015117016117017117018117019117020117021117022117023117024117025117026117027117028117029117030117031117032117033117034117035117036117037117038117039117040117041117042117043117044117045117046117047117048117049117050117051117052117053117054117055117056117057117058117059117060117061117062117063117064117065117066117067117068117069117070117071117072117073117074117075117076117077117078117079117080117081117082117083117084117085117086117087117088117089117090117091117092117093117094117095117096117097117098117099117100117101117102117103117104117105117106117107117108117109117110117111117112117113117114117115117116117117117118117119117120117121117122117123117124117125117126117127117128117129117130117131117132117133117134117135117136117137117138117139117140117141117142117143117144117145117146117147117148117149117150117151117152117153117154117155117156117157117158117159117160117161117162117163117164117165117166117167117168117169117170117171117172117173117174117175117176117177117178117179117180117181117182117183117184117185117186117187117188117189117190117191117192117193117194117195117196117197117198117199117200117201117202117203117204117205117206117207117208117209117210117211117212117213117214117215117216117217117218117219117220117221117222117223117224117225117226117227117228117229117230117231117232117233117234117235117236117237117238117239117240117241117242117243117244117245117246117247117248117249117250117251117252117253117254117255117256117257117258117259117260117261117262117263117264117265117266117267117268117269117270117271117272117273117274117275117276117277117278117279117280117281117282117283117284117285117286117287117288117289117290117291117292117293117294117295117296117297117298117299117300117301117302117303117304117305117306117307117308117309117310117311117312117313117314117315117316117317117318117319117320117321117322117323117324117325117326117327117328117329117330117331117332117333117334117335117336117337117338117339117340117341117342117343117344117345117346117347117348117349117350117351117352117353117354117355117356117357117358117359117360117361117362117363117364117365117366117367117368117369117370117371117372117373117374117375117376117377117378117379117380117381117382117383117384117385117386117387117388117389117390117391117392117393117394117395117396117397117398117399117400117401117402117403117404117405117406117407117408117409117410117411117412117413117414117415117416117417117418117419117420117421117422117423117424117425117426117427117428117429117430117431117432117433117434117435117436117437117438117439117440117441117442117443117444117445117446117447117448117449117450117451117452117453117454117455117456117457117458117459117460117461117462117463117464117465117466117467117468117469117470117471117472117473117474117475117476117477117478117479117480117481117482117483117484117485117486117487117488117489117490117491117492117493117494117495117496117497117498117499117500117501117502117503117504117505117506117507117508117509117510117511117512117513117514117515117516117517117518117519117520117521117522117523117524117525117526117527117528117529117530117531117532117533117534117535117536117537117538117539117540117541117542117543117544117545117546117547117548117549117550117551117552117553117554117555117556117557117558117559117560117561117562117563117564117565117566117567117568117569117570117571117572117573117574117575117576117577117578117579117580117581117582117583117584117585117586117587117588117589117590117591117592117593117594117595117596117597117598117599117600117601117602117603117604117605117606117607117608117609117610117611117612117613117614117615117616117617117618117619117620117621117622117623117624117625117626117627117628117629117630117631117632117633117634117635117636117637117638117639117640117641117642117643117644117645117646117647117648117649117650117651117652117653117654117655117656117657117658117659117660117661117662117663117664117665117666117667117668117669117670117671117672117673117674117675117676117677117678117679117680117681117682117683117684117685117686117687117688117689117690117691117692117693117694117695117696117697117698117699117700117701117702117703117704117705117706117707117708117709117710117711117712117713117714117715117716117717117718117719117720117721117722117723117724117725117726117727117728117729117730117731117732117733117734117735117736117737117738117739117740117741117742117743117744117745117746117747117748117749117750117751117752117753117754117755117756117757117758117759117760117761117762117763117764117765117766117767117768117769117770117771117772117773117774117775117776117777117778117779117780117781117782117783117784117785117786117787117788117789117790117791117792117793117794117795117796117797117798117799117800117801117802117803117804117805117806117807117808117809117810117811117812117813117814117815117816117817117818117819117820117821117822117823117824117825117826117827117828117829117830117831117832117833117834117835117836117837117838117839117840117841117842117843117844117845117846117847117848117849117850117851117852117853117854117855117856117857117858117859117860117861117862117863117864117865117866117867117868117869117870117871117872117873117874117875117876117877117878117879117880117881117882117883117884117885117886117887117888117889117890117891117892117893117894117895117896117897117898117899117900117901117902117903117904117905117906117907117908117909117910117911117912117913117914117915117916117917117918117919117920117921117922117923117924117925117926117927117928117929117930117931117932117933117934117935117936117937117938117939117940117941117942117943117944117945117946117947117948117949117950117951117952117953117954117955117956117957117958117959117960117961117962117963117964117965117966117967117968117969117970117971117972117973117974117975117976117977117978117979117980117981117982117983117984117985117986117987117988117989117990117991117992117993117994117995117996117997117998117999118000118001118002118003118004118005118006118007118008118009118010118011118012118013118014118015118016118017118018118019118020118021118022118023118024118025118026118027118028118029118030118031118032118033118034118035118036118037118038118039118040118041118042118043118044118045118046118047118048118049118050118051118052118053118054118055118056118057118058118059118060118061118062118063118064118065118066118067118068118069118070118071118072118073118074118075118076118077118078118079118080118081118082118083118084118085118086118087118088118089118090118091118092118093118094118095118096118097118098118099118100118101118102118103118104118105118106118107118108118109118110118111118112118113118114118115118116118117118118118119118120118121118122118123118124118125118126118127118128118129118130118131118132118133118134118135118136118137118138118139118140118141118142118143118144118145118146118147118148118149118150118151118152118153118154118155118156118157118158118159118160118161118162118163118164118165118166118167118168118169118170118171118172118173118174118175118176118177118178118179118180118181118182118183118184118185118186118187118188118189118190118191118192118193118194118195118196118197118198118199118200118201118202118203118204118205118206118207118208118209118210118211118212118213118214118215118216118217118218118219118220118221118222118223118224118225118226118227118228118229118230118231118232118233118234118235118236118237118238118239118240118241118242118243118244118245118246118247118248118249118250118251118252118253118254118255118256118257118258118259118260118261118262118263118264118265118266118267118268118269118270118271118272118273118274118275118276118277118278118279118280118281118282118283118284118285118286118287118288118289118290118291118292118293118294118295118296118297118298118299118300118301118302118303118304118305118306118307118308118309118310118311118312118313118314118315118316118317118318118319118320118321118322118323118324118325118326118327118328118329118330118331118332118333118334118335118336118337118338118339118340118341118342118343118344118345118346118347118348118349118350118351118352118353118354118355118356118357118358118359118360118361118362118363118364118365118366118367118368118369118370118371118372118373118374118375118376118377118378118379118380118381118382118383118384118385118386118387118388118389118390118391118392118393118394118395118396118397118398118399118400118401118402118403118404118405118406118407118408118409118410118411118412118413118414118415118416118417118418118419118420118421118422118423118424118425118426118427118428118429118430118431118432118433118434118435118436118437118438118439118440118441118442118443118444118445118446118447118448118449118450118451118452118453118454118455118456118457118458118459118460118461118462118463118464118465118466118467118468118469118470118471118472118473118474118475118476118477118478118479118480118481118482118483118484118485118486118487118488118489118490118491118492118493118494118495118496118497118498118499118500118501118502118503118504118505118506118507118508118509118510118511118512118513118514118515118516118517118518118519118520118521118522118523118524118525118526118527118528118529118530118531118532118533118534118535118536118537118538118539118540118541118542118543118544118545118546118547118548118549118550118551118552118553118554118555118556118557118558118559118560118561118562118563118564118565118566118567118568118569118570118571118572118573118574118575118576118577118578118579118580118581118582118583118584118585118586118587118588118589118590118591118592118593118594118595118596118597118598118599118600118601118602118603118604118605118606118607118608118609118610118611118612118613118614118615118616118617118618118619118620118621118622118623118624118625118626118627118628118629118630118631118632118633118634118635118636118637118638118639118640118641118642118643118644118645118646118647118648118649118650118651118652118653118654118655118656118657118658118659118660118661118662118663118664118665118666118667118668118669118670118671118672118673118674118675118676118677118678118679118680118681118682118683118684118685118686118687118688118689118690118691118692118693118694118695118696118697118698118699118700118701118702118703118704118705118706118707118708118709118710118711118712118713118714118715118716118717118718118719118720118721118722118723118724118725118726118727118728118729118730118731118732118733118734118735118736118737118738118739118740118741118742118743118744118745118746118747118748118749118750118751118752118753118754118755118756118757118758118759118760118761118762118763118764118765118766118767118768118769118770118771118772118773118774118775118776118777118778118779118780118781118782118783118784118785118786118787118788118789118790118791118792118793118794118795118796118797118798118799118800118801118802118803118804118805118806118807118808118809118810118811118812118813118814118815118816118817118818118819118820118821118822118823118824118825118826118827118828118829118830118831118832118833118834118835118836118837118838118839118840118841118842118843118844118845118846118847118848118849118850118851118852118853118854118855118856118857118858118859118860118861118862118863118864118865118866118867118868118869118870118871118872118873118874118875118876118877118878118879118880118881118882118883118884118885118886118887118888118889118890118891118892118893118894118895118896118897118898118899118900118901118902118903118904118905118906118907118908118909118910118911118912118913118914118915118916118917118918118919118920118921118922118923118924118925118926118927118928118929118930118931118932118933118934118935118936118937118938118939118940118941118942118943118944118945118946118947118948118949118950118951118952118953118954118955118956118957118958118959118960118961118962118963118964118965118966118967118968118969118970118971118972118973118974118975118976118977118978118979118980118981118982118983118984118985118986118987118988118989118990118991118992118993118994118995118996118997118998118999119000119001119002119003119004119005119006119007119008119009119010119011119012119013119014119015119016119017119018119019119020119021119022119023119024119025119026119027119028119029119030119031119032119033119034119035119036119037119038119039119040119041119042119043119044119045119046119047119048119049119050119051119052119053119054119055119056119057119058119059119060119061119062119063119064119065119066119067119068119069119070119071119072119073119074119075119076119077119078119079119080119081119082119083119084119085119086119087119088119089119090119091119092119093119094119095119096119097119098119099119100119101119102119103119104119105119106119107119108119109119110119111119112119113119114119115119116119117119118119119119120119121119122119123119124119125119126119127119128119129119130119131119132119133119134119135119136119137119138119139119140119141119142119143119144119145119146119147119148119149119150119151119152119153119154119155119156119157119158119159119160119161119162119163119164119165119166119167119168119169119170119171119172119173119174119175119176119177119178119179119180119181119182119183119184119185119186119187119188119189119190119191119192119193119194119195119196119197119198119199119200119201119202119203119204119205119206119207119208119209119210119211119212119213119214119215119216119217119218119219119220119221119222119223119224119225119226119227119228119229119230119231119232119233119234119235119236119237119238119239119240119241119242119243119244119245119246119247119248119249119250119251119252119253119254119255119256119257119258119259119260119261119262119263119264119265119266119267119268119269119270119271119272119273119274119275119276119277119278119279119280119281119282119283119284119285119286119287119288119289119290119291119292119293119294119295119296119297119298119299119300119301119302119303119304119305119306119307119308119309119310119311119312119313119314119315119316119317119318119319119320119321119322119323119324119325119326119327119328119329119330119331119332119333119334119335119336119337119338119339119340119341119342119343119344119345119346119347119348119349119350119351119352119353119354119355119356119357119358119359119360119361119362119363119364119365119366119367119368119369119370119371119372119373119374119375119376119377119378119379119380119381119382119383119384119385119386119387119388119389119390119391119392119393119394119395119396119397119398119399119400119401119402119403119404119405119406119407119408119409119410119411119412119413119414119415119416119417119418119419119420119421119422119423119424119425119426119427119428119429119430119431119432119433119434119435119436119437119438119439119440119441119442119443119444119445119446119447119448119449119450119451119452119453119454119455119456119457119458119459119460119461119462119463119464119465119466119467119468119469119470119471119472119473119474119475119476119477119478119479119480119481119482119483119484119485119486119487119488119489119490119491119492119493119494119495119496119497119498119499119500119501119502119503119504119505119506119507119508119509119510119511119512119513119514119515119516119517119518119519119520119521119522119523119524119525119526119527119528119529119530119531119532119533119534119535119536119537119538119539119540119541119542119543119544119545119546119547119548119549119550119551119552119553119554119555119556119557119558119559119560119561119562119563119564119565119566119567119568119569119570119571119572119573119574119575119576119577119578119579119580119581119582119583119584119585119586119587119588119589119590119591119592119593119594119595119596119597119598119599119600119601119602119603119604119605119606119607119608119609119610119611119612119613119614119615119616119617119618119619119620119621119622119623119624119625119626119627119628119629119630119631119632119633119634119635119636119637119638119639119640119641119642119643119644119645119646119647119648119649119650119651119652119653119654119655119656119657119658119659119660119661119662119663119664119665119666119667119668119669119670119671119672119673119674119675119676119677119678119679119680119681119682119683119684119685119686119687119688119689119690119691119692119693119694119695119696119697119698119699119700119701119702119703119704119705119706119707119708119709119710119711119712119713119714119715119716119717119718119719119720119721119722119723119724119725119726119727119728119729119730119731119732119733119734119735119736119737119738119739119740119741119742119743119744119745119746119747119748119749119750119751119752119753119754119755119756119757119758119759119760119761119762119763119764119765119766119767119768119769119770119771119772119773119774119775119776119777119778119779119780119781119782119783119784119785119786119787119788119789119790119791119792119793119794119795119796119797119798119799119800119801119802119803119804119805119806119807119808119809119810119811119812119813119814119815119816119817119818119819119820119821119822119823119824119825119826119827119828119829119830119831119832119833119834119835119836119837119838119839119840119841119842119843119844119845119846119847119848119849119850119851119852119853119854119855119856119857119858119859119860119861119862119863119864119865119866119867119868119869119870119871119872119873119874119875119876119877119878119879119880119881119882119883119884119885119886119887119888119889119890119891119892119893119894119895119896119897119898119899119900119901119902119903119904119905119906119907119908119909119910119911119912119913119914119915119916119917119918119919119920119921119922119923119924119925119926119927119928119929119930119931119932119933119934119935119936119937119938119939119940119941119942119943119944119945119946119947119948119949119950119951119952119953119954119955119956119957119958119959119960119961119962119963119964119965119966119967119968119969119970119971119972119973119974119975119976119977119978119979119980119981119982119983119984119985119986119987119988119989119990119991119992119993119994119995119996119997119998119999120000120001120002120003120004120005120006120007120008120009120010120011120012120013120014120015120016120017120018120019120020120021120022120023120024120025120026120027120028120029120030120031120032120033120034120035120036120037120038120039120040120041120042120043120044120045120046120047120048120049120050120051120052120053120054120055120056120057120058120059120060120061120062120063120064120065120066120067120068120069120070120071120072120073120074120075120076120077120078120079120080120081120082120083120084120085120086120087120088120089120090120091120092120093120094120095120096120097120098120099120100120101120102120103120104120105120106120107120108120109120110120111120112120113120114120115120116120117120118120119120120120121120122120123120124120125120126120127120128120129120130120131120132120133120134120135120136120137120138120139120140120141120142120143120144120145120146120147120148120149120150120151120152120153120154120155120156120157120158120159120160120161120162120163120164120165120166120167120168120169120170120171120172120173120174120175120176120177120178120179120180120181120182120183120184120185120186120187120188120189120190120191120192120193120194120195120196120197120198120199120200120201120202120203120204120205120206120207120208120209120210120211120212120213120214120215120216120217120218120219120220120221120222120223120224120225120226120227120228120229120230120231120232120233120234120235120236120237120238120239120240120241120242120243120244120245120246120247120248120249120250120251120252120253120254120255120256120257120258120259120260120261120262120263120264120265120266120267120268120269120270120271120272120273120274120275120276120277120278120279120280120281120282120283120284120285120286120287120288120289120290120291120292120293120294120295120296120297120298120299120300120301120302120303120304120305120306120307120308120309120310120311120312120313120314120315120316120317120318120319120320120321120322120323120324120325120326120327120328120329120330120331120332120333120334120335120336120337120338120339120340120341120342120343120344120345120346120347120348120349120350120351120352120353120354120355120356120357120358120359120360120361120362120363120364120365120366120367120368120369120370120371120372120373120374120375120376120377120378120379120380120381120382120383120384120385120386120387120388120389120390120391120392120393120394120395120396120397120398120399120400120401120402120403120404120405120406120407120408120409120410120411120412120413120414120415120416120417120418120419120420120421120422120423120424120425120426120427120428120429120430120431120432120433120434120435120436120437120438120439120440120441120442120443120444120445120446120447120448120449120450120451120452120453120454120455120456120457120458120459120460120461120462120463120464120465120466120467120468120469120470120471120472120473120474120475120476120477120478120479120480120481120482120483120484120485120486120487120488120489120490120491120492120493120494120495120496120497120498120499120500120501120502120503120504120505120506120507120508120509120510120511120512120513120514120515120516120517120518120519120520120521120522120523120524120525120526120527120528120529120530120531120532120533120534120535120536120537120538120539120540120541120542120543120544120545120546120547120548120549120550120551120552120553120554120555120556120557120558120559120560120561120562120563120564120565120566120567120568120569120570120571120572120573120574120575120576120577120578120579120580120581120582120583120584120585120586120587120588120589120590120591120592120593120594120595120596120597120598120599120600120601120602120603120604120605120606120607120608120609120610120611120612120613120614120615120616120617120618120619120620120621120622120623120624120625120626120627120628120629120630120631120632120633120634120635120636120637120638120639120640120641120642120643120644120645120646120647120648120649120650120651120652120653120654120655120656120657120658120659120660120661120662120663120664120665120666120667120668120669120670120671120672120673120674120675120676120677120678120679120680120681120682120683120684120685120686120687120688120689120690120691120692120693120694120695120696120697120698120699120700120701120702120703120704120705120706120707120708120709120710120711120712120713120714120715120716120717120718120719120720120721120722120723120724120725120726120727120728120729120730120731120732120733120734120735120736120737120738120739120740120741120742120743120744120745120746120747120748120749120750120751120752120753120754120755120756120757120758120759120760120761120762120763120764120765120766120767120768120769120770120771120772120773120774120775120776120777120778120779120780120781120782120783120784120785120786120787120788120789120790120791120792120793120794120795120796120797120798120799120800120801120802120803120804120805120806120807120808120809120810120811120812120813120814120815120816120817120818120819120820120821120822120823120824120825120826120827120828120829120830120831120832120833120834120835120836120837120838120839120840120841120842120843120844120845120846120847120848120849120850120851120852120853120854120855120856120857120858120859120860120861120862120863120864120865120866120867120868120869120870120871120872120873120874120875120876120877120878120879120880120881120882120883120884120885120886120887120888120889120890120891120892120893120894120895120896120897120898120899120900120901120902120903120904120905120906120907120908120909120910120911120912120913120914120915120916120917120918120919120920120921120922120923120924120925120926120927120928120929120930120931120932120933120934120935120936120937120938120939120940120941120942120943120944120945120946120947120948120949120950120951120952120953120954120955120956120957120958120959120960120961120962120963120964120965120966120967120968120969120970120971120972120973120974120975120976120977120978120979120980120981120982120983120984120985120986120987120988120989120990120991120992120993120994120995120996120997120998120999121000121001121002121003121004121005121006121007121008121009121010121011121012121013121014121015121016121017121018121019121020121021121022121023121024121025121026121027121028121029121030121031121032121033121034121035121036121037121038121039121040121041121042121043121044121045121046121047121048121049121050121051121052121053121054121055121056121057121058121059121060121061121062121063121064121065121066121067121068121069121070121071121072121073121074121075121076121077121078121079121080121081121082121083121084121085121086121087121088121089121090121091121092121093121094121095121096121097121098121099121100121101121102121103121104121105121106121107121108121109121110121111121112121113121114121115121116121117121118121119121120121121121122121123121124121125121126121127121128121129121130121131121132121133121134121135121136121137121138121139121140121141121142121143121144121145121146121147121148121149121150121151121152121153121154121155121156121157121158121159121160121161121162121163121164121165121166121167121168121169121170121171121172121173121174121175121176121177121178121179121180121181121182121183121184121185121186121187121188121189121190121191121192121193121194121195121196121197121198121199121200121201121202121203121204121205121206121207121208121209121210121211121212121213121214121215121216121217121218121219121220121221121222121223121224121225121226121227121228121229121230121231121232121233121234121235121236121237121238121239121240121241121242121243121244121245121246121247121248121249121250121251121252121253121254121255121256121257121258121259121260121261121262121263121264121265121266121267121268121269121270121271121272121273121274121275121276121277121278121279121280121281121282121283121284121285121286121287121288121289121290121291121292121293121294121295121296121297121298121299121300121301121302121303121304121305121306121307121308121309121310121311121312121313121314121315121316121317121318121319121320121321121322121323121324121325121326121327121328121329121330121331121332121333121334121335121336121337121338121339121340121341121342121343121344121345121346121347121348121349121350121351121352121353121354121355121356121357121358121359121360121361121362121363121364121365121366121367121368121369121370121371121372121373121374121375121376121377121378121379121380121381121382121383121384121385121386121387121388121389121390121391121392121393121394121395121396121397121398121399121400121401121402121403121404121405121406121407121408121409121410121411121412121413121414121415121416121417121418121419121420121421121422121423121424121425121426121427121428121429121430121431121432121433121434121435121436121437121438121439121440121441121442121443121444121445121446121447121448121449121450121451121452121453121454121455121456121457121458121459121460121461121462121463121464121465121466121467121468121469121470121471121472121473121474121475121476121477121478121479121480121481121482121483121484121485121486121487121488121489121490121491121492121493121494121495121496121497121498121499121500121501121502121503121504121505121506121507121508121509121510121511121512121513121514121515121516121517121518121519121520121521121522121523121524121525121526121527121528121529121530121531121532121533121534121535121536121537121538121539121540121541121542121543121544121545121546121547121548121549121550121551121552121553121554121555121556121557121558121559121560121561121562121563121564121565121566121567121568121569121570121571121572121573121574121575121576121577121578121579121580121581121582121583121584121585121586121587121588121589121590121591121592121593121594121595121596121597121598121599121600121601121602121603121604121605121606121607121608121609121610121611121612121613121614121615121616121617121618121619121620121621121622121623121624121625121626121627121628121629121630121631121632121633121634121635121636121637121638121639121640121641121642121643121644121645121646121647121648121649121650121651121652121653121654121655121656121657121658121659121660121661121662121663121664121665121666121667121668121669121670121671121672121673121674121675121676121677121678121679121680121681121682121683121684121685121686121687121688121689121690121691121692121693121694121695121696121697121698121699121700121701121702121703121704121705121706121707121708121709121710121711121712121713121714121715121716121717121718121719121720121721121722121723121724121725121726121727121728121729121730121731121732121733121734121735121736121737121738121739121740121741121742121743121744121745121746121747121748121749121750121751121752121753121754121755121756121757121758121759121760121761121762121763121764121765121766121767121768121769121770121771121772121773121774121775121776121777121778121779121780121781121782121783121784121785121786121787121788121789121790121791121792121793121794121795121796121797121798121799121800121801121802121803121804121805121806121807121808121809121810121811121812121813121814121815121816121817121818121819121820121821121822121823121824121825121826121827121828121829121830121831121832121833121834121835121836121837121838121839121840121841121842121843121844121845121846121847121848121849121850121851121852121853121854121855121856121857121858121859121860121861121862121863121864121865121866121867121868121869121870121871121872121873121874121875121876121877121878121879121880121881121882121883121884121885121886121887121888121889121890121891121892121893121894121895121896121897121898121899121900121901121902121903121904121905121906121907121908121909121910121911121912121913121914121915121916121917121918121919121920121921121922121923121924121925121926121927121928121929121930121931121932121933121934121935121936121937121938121939121940121941121942121943121944121945121946121947121948121949121950121951121952121953121954121955121956121957121958121959121960121961121962121963121964121965121966121967121968121969121970121971121972121973121974121975121976121977121978121979121980121981121982121983121984121985121986121987121988121989121990121991121992121993121994121995121996121997121998121999122000122001122002122003122004122005122006122007122008122009122010122011122012122013122014122015122016122017122018122019122020122021122022122023122024122025122026122027122028122029122030122031122032122033122034122035122036122037122038122039122040122041122042122043122044122045122046122047122048122049122050122051122052122053122054122055122056122057122058122059122060122061122062122063122064122065122066122067122068122069122070122071122072122073122074122075122076122077122078122079122080122081122082122083122084122085122086122087122088122089122090122091122092122093122094122095122096122097122098122099122100122101122102122103122104122105122106122107122108122109122110122111122112122113122114122115122116122117122118122119122120122121122122122123122124122125122126122127122128122129122130122131122132122133122134122135122136122137122138122139122140122141122142122143122144122145122146122147122148122149122150122151122152122153122154122155122156122157122158122159122160122161122162122163122164122165122166122167122168122169122170122171122172122173122174122175122176122177122178122179122180122181122182122183122184122185122186122187122188122189122190122191122192122193122194122195122196122197122198122199122200122201122202122203122204122205122206122207122208122209122210122211122212122213122214122215122216122217122218122219122220122221122222122223122224122225122226122227122228122229122230122231122232122233122234122235122236122237122238122239122240122241122242122243122244122245122246122247122248122249122250122251122252122253122254122255122256122257122258122259122260122261122262122263122264122265122266122267122268122269122270122271122272122273122274122275122276122277122278122279122280122281122282122283122284122285122286122287122288122289122290122291122292122293122294122295122296122297122298122299122300122301122302122303122304122305122306122307122308122309122310122311122312122313122314122315122316122317122318122319122320122321122322122323122324122325122326122327122328122329122330122331122332122333122334122335122336122337122338122339122340122341122342122343122344122345122346122347122348122349122350122351122352122353122354122355122356122357122358122359122360122361122362122363122364122365122366122367122368122369122370122371122372122373122374122375122376122377122378122379122380122381122382122383122384122385122386122387122388122389122390122391122392122393122394122395122396122397122398122399122400122401122402122403122404122405122406122407122408122409122410122411122412122413122414122415122416122417122418122419122420122421122422122423122424122425122426122427122428122429122430122431122432122433122434122435122436122437122438122439122440122441122442122443122444122445122446122447122448122449122450122451122452122453122454122455122456122457122458122459122460122461122462122463122464122465122466122467122468122469122470122471122472122473122474122475122476122477122478122479122480122481122482122483122484122485122486122487122488122489122490122491122492122493122494122495122496122497122498122499122500122501122502122503122504122505122506122507122508122509122510122511122512122513122514122515122516122517122518122519122520122521122522122523122524122525122526122527122528122529122530122531122532122533122534122535122536122537122538122539122540122541122542122543122544122545122546122547122548122549122550122551122552122553122554122555122556122557122558122559122560122561122562122563122564122565122566122567122568122569122570122571122572122573122574122575122576122577122578122579122580122581122582122583122584122585122586122587122588122589122590122591122592122593122594122595122596122597122598122599122600122601122602122603122604122605122606122607122608122609122610122611122612122613122614122615122616122617122618122619122620122621122622122623122624122625122626122627122628122629122630122631122632122633122634122635122636122637122638122639122640122641122642122643122644122645122646122647122648122649122650122651122652122653122654122655122656122657122658122659122660122661122662122663122664122665122666122667122668122669122670122671122672122673122674122675122676122677122678122679122680122681122682122683122684122685122686122687122688122689122690122691122692122693122694122695122696122697122698122699122700122701122702122703122704122705122706122707122708122709122710122711122712122713122714122715122716122717122718122719122720122721122722122723122724122725122726122727122728122729122730122731122732122733122734122735122736122737122738122739122740122741122742122743122744122745122746122747122748122749122750122751122752122753122754122755122756122757122758122759122760122761122762122763122764122765122766122767122768122769122770122771122772122773122774122775122776122777122778122779122780122781122782122783122784122785122786122787122788122789122790122791122792122793122794122795122796122797122798122799122800122801122802122803122804122805122806122807122808122809122810122811122812122813122814122815122816122817122818122819122820122821122822122823122824122825122826122827122828122829122830122831122832122833122834122835122836122837122838122839122840122841122842122843122844122845122846122847122848122849122850122851122852122853122854122855122856122857122858122859122860122861122862122863122864122865122866122867122868122869122870122871122872122873122874122875122876122877122878122879122880122881122882122883122884122885122886122887122888122889122890122891122892122893122894122895122896122897122898122899122900122901122902122903122904122905122906122907122908122909122910122911122912122913122914122915122916122917122918122919122920122921122922122923122924122925122926122927122928122929122930122931122932122933122934122935122936122937122938122939122940122941122942122943122944122945122946122947122948122949122950122951122952122953122954122955122956122957122958122959122960122961122962122963122964122965122966122967122968122969122970122971122972122973122974122975122976122977122978122979122980122981122982122983122984122985122986122987122988122989122990122991122992122993122994122995122996122997122998122999123000123001123002123003123004123005123006123007123008123009123010123011123012123013123014123015123016123017123018123019123020123021123022123023123024123025123026123027123028123029123030123031123032123033123034123035123036123037123038123039123040123041123042123043123044123045123046123047123048123049123050123051123052123053123054123055123056123057123058123059123060123061123062123063123064123065123066123067123068123069123070123071123072123073123074123075123076123077123078123079123080123081123082123083123084123085123086123087123088123089123090123091123092123093123094123095123096123097123098123099123100123101123102123103123104123105123106123107123108123109123110123111123112123113123114123115123116123117123118123119123120123121123122123123123124123125123126123127123128123129123130123131123132123133123134123135123136123137123138123139123140123141123142123143123144123145123146123147123148123149123150123151123152123153123154123155123156123157123158123159123160123161123162123163123164123165123166123167123168123169123170123171123172123173123174123175123176123177123178123179123180123181123182123183123184123185123186123187123188123189123190123191123192123193123194123195123196123197123198123199123200123201123202123203123204123205123206123207123208123209123210123211123212123213123214123215123216123217123218123219123220123221123222123223123224123225123226123227123228123229123230123231123232123233123234123235123236123237123238123239123240123241123242123243123244123245123246123247123248123249123250123251123252123253123254123255123256123257123258123259123260123261123262123263123264123265123266123267123268123269123270123271123272123273123274123275123276123277123278123279123280123281123282123283123284123285123286123287123288123289123290123291123292123293123294123295123296123297123298123299123300123301123302123303123304123305123306123307123308123309123310123311123312123313123314123315123316123317123318123319123320123321123322123323123324123325123326123327123328123329123330123331123332123333123334123335123336123337123338123339123340123341123342123343123344123345123346123347123348123349123350123351123352123353123354123355123356123357123358123359123360123361123362123363123364123365123366123367123368123369123370123371123372123373123374123375123376123377123378123379123380123381123382123383123384123385123386123387123388123389123390123391123392123393123394123395123396123397123398123399123400123401123402123403123404123405123406123407123408123409123410123411123412123413123414123415123416123417123418123419123420123421123422123423123424123425123426123427123428123429123430123431123432123433123434123435123436123437123438123439123440123441123442123443123444123445123446123447123448123449123450123451123452123453123454123455123456123457123458123459123460123461123462123463123464123465123466123467123468123469123470123471123472123473123474123475123476123477123478123479123480123481123482123483123484123485123486123487123488123489123490123491123492123493123494123495123496123497123498123499123500123501123502123503123504123505123506123507123508123509123510123511123512123513123514123515123516123517123518123519123520123521123522123523123524123525123526123527123528123529123530123531123532123533123534123535123536123537123538123539123540123541123542123543123544123545123546123547123548123549123550123551123552123553123554123555123556123557123558123559123560123561123562123563123564123565123566123567123568123569123570123571123572123573123574123575123576123577123578123579123580123581123582123583123584123585123586123587123588123589123590123591123592123593123594123595123596123597123598123599123600123601123602123603123604123605123606123607123608123609123610123611123612123613123614123615123616123617123618123619123620123621123622123623123624123625123626123627123628123629123630123631123632123633123634123635123636123637123638123639123640123641123642123643123644123645123646123647123648123649123650123651123652123653123654123655123656123657123658123659123660123661123662123663123664123665123666123667123668123669123670123671123672123673123674123675123676123677123678123679123680123681123682123683123684123685123686123687123688123689123690123691123692123693123694123695123696123697123698123699123700123701123702123703123704123705123706123707123708123709123710123711123712123713123714123715123716123717123718123719123720123721123722123723123724123725123726123727123728123729123730123731123732123733123734123735123736123737123738123739123740123741123742123743123744123745123746123747123748123749123750123751123752123753123754123755123756123757123758123759123760123761123762123763123764123765123766123767123768123769123770123771123772123773123774123775123776123777123778123779123780123781123782123783123784123785123786123787123788123789123790123791123792123793123794123795123796123797123798123799123800123801123802123803123804123805123806123807123808123809123810123811123812123813123814123815123816123817123818123819123820123821123822123823123824123825123826123827123828123829123830123831123832123833123834123835123836123837123838123839123840123841123842123843123844123845123846123847123848123849123850123851123852123853123854123855123856123857123858123859123860123861123862123863123864123865123866123867123868123869123870123871123872123873123874123875123876123877123878123879123880123881123882123883123884123885123886123887123888123889123890123891123892123893123894123895123896123897123898123899123900123901123902123903123904123905123906123907123908123909123910123911123912123913123914123915123916123917123918123919123920123921123922123923123924123925123926123927123928123929123930123931123932123933123934123935123936123937123938123939123940123941123942123943123944123945123946123947123948123949123950123951123952123953123954123955123956123957123958123959123960123961123962123963123964123965123966123967123968123969123970123971123972123973123974123975123976123977123978123979123980123981123982123983123984123985123986123987123988123989123990123991123992123993123994123995123996123997123998123999124000124001124002124003124004124005124006124007124008124009124010124011124012124013124014124015124016124017124018124019124020124021124022124023124024124025124026124027124028124029124030124031
  1. /* sp.c
  2. *
  3. * Copyright (C) 2006-2022 wolfSSL Inc.
  4. *
  5. * This file is part of wolfSSL.
  6. *
  7. * wolfSSL is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * wolfSSL is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
  20. */
  21. /* Implementation by Sean Parkinson. */
  22. #ifdef HAVE_CONFIG_H
  23. #include <config.h>
  24. #endif
  25. #include <wolfssl/wolfcrypt/settings.h>
  26. #if defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH) || \
  27. defined(WOLFSSL_HAVE_SP_ECC)
  28. #include <wolfssl/wolfcrypt/error-crypt.h>
  29. #include <wolfssl/wolfcrypt/cpuid.h>
  30. #ifdef NO_INLINE
  31. #include <wolfssl/wolfcrypt/misc.h>
  32. #else
  33. #define WOLFSSL_MISC_INCLUDED
  34. #include <wolfcrypt/src/misc.c>
  35. #endif
  36. #ifdef RSA_LOW_MEM
  37. #ifndef WOLFSSL_SP_SMALL
  38. #define WOLFSSL_SP_SMALL
  39. #endif
  40. #endif
  41. #include <wolfssl/wolfcrypt/sp.h>
  42. #ifdef WOLFSSL_SP_ARM64_ASM
  43. #define SP_PRINT_NUM(var, name, total, words, bits) \
  44. do { \
  45. int ii; \
  46. fprintf(stderr, name "=0x"); \
  47. for (ii = ((bits + 63) / 64) - 1; ii >= 0; ii--) \
  48. fprintf(stderr, SP_PRINT_FMT, (var)[ii]); \
  49. fprintf(stderr, "\n"); \
  50. } while (0)
  51. #define SP_PRINT_VAL(var, name) \
  52. fprintf(stderr, name "=0x" SP_PRINT_FMT "\n", var)
  53. #define SP_PRINT_INT(var, name) \
  54. fprintf(stderr, name "=%d\n", var)
  55. #if defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH)
  56. #ifndef WOLFSSL_SP_NO_2048
  57. /* Read big endian unsigned byte array into r.
  58. *
  59. * r A single precision integer.
  60. * size Maximum number of bytes to convert
  61. * a Byte array.
  62. * n Number of bytes in array to read.
  63. */
  64. static void sp_2048_from_bin(sp_digit* r, int size, const byte* a, int n)
  65. {
  66. sp_int64 nl = n;
  67. sp_int64 size8 = size * 8;
  68. __asm__ __volatile__ (
  69. "add x4, %[a], %[n]\n\t"
  70. "mov x5, %[r]\n\t"
  71. "sub x4, x4, 8\n\t"
  72. "subs x6, %[n], 8\n\t"
  73. "mov x7, xzr\n\t"
  74. "blt 2f\n\t"
  75. /* Put in mulitples of 8 bytes. */
  76. "1:\n\t"
  77. "ldr x8, [x4], -8\n\t"
  78. "subs x6, x6, 8\n\t"
  79. "rev x8, x8\n\t"
  80. "str x8, [x5], 8\n\t"
  81. "add x7, x7, 8\n\t"
  82. "b.ge 1b\n\t"
  83. "2:\n\t"
  84. "cmp x6, -7\n\t"
  85. "b.lt 20f\n\t"
  86. /* Put in less than 8 bytes. */
  87. "str xzr, [x5]\n\t"
  88. "add x7, x7, 8\n\t"
  89. "add x4, x4, 7\n\t"
  90. "b.eq 17f\n\t"
  91. "cmp x6, -5\n\t"
  92. "b.lt 16f\n\t"
  93. "b.eq 15f\n\t"
  94. "cmp x6, -3\n\t"
  95. "b.lt 14f\n\t"
  96. "b.eq 13f\n\t"
  97. "cmp x6, -2\n\t"
  98. "b.eq 12f\n\t"
  99. "ldrb w8, [x4], -1\n\t"
  100. "strb w8, [x5], 1\n\t"
  101. "12:\n\t"
  102. "ldrb w8, [x4], -1\n\t"
  103. "strb w8, [x5], 1\n\t"
  104. "13:\n\t"
  105. "ldrb w8, [x4], -1\n\t"
  106. "strb w8, [x5], 1\n\t"
  107. "14:\n\t"
  108. "ldrb w8, [x4], -1\n\t"
  109. "strb w8, [x5], 1\n\t"
  110. "15:\n\t"
  111. "ldrb w8, [x4], -1\n\t"
  112. "strb w8, [x5], 1\n\t"
  113. "16:\n\t"
  114. "ldrb w8, [x4], -1\n\t"
  115. "strb w8, [x5], 1\n\t"
  116. "17:\n\t"
  117. "ldrb w8, [x4], -1\n\t"
  118. "strb w8, [x5], 1\n\t"
  119. "20:\n\t"
  120. "add x5, %[r], x7\n\t"
  121. "subs x7, %[size], x7\n\t"
  122. "b.eq 30f\n\t"
  123. /* Zero out remaining words. */
  124. "21:\n\t"
  125. "subs x7, x7, 8\n\t"
  126. "str xzr, [x5], 8\n\t"
  127. "b.gt 21b\n\t"
  128. "30:\n\t"
  129. :
  130. : [r] "r" (r), [size] "r" (size8), [a] "r" (a), [n] "r" (nl)
  131. : "memory", "x4", "x5", "x6", "x7", "x8"
  132. );
  133. }
  134. /* Convert an mp_int to an array of sp_digit.
  135. *
  136. * r A single precision integer.
  137. * size Maximum number of bytes to convert
  138. * a A multi-precision integer.
  139. */
  140. static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
  141. {
  142. #if DIGIT_BIT == 64
  143. int j;
  144. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  145. for (j = a->used; j < size; j++) {
  146. r[j] = 0;
  147. }
  148. #elif DIGIT_BIT > 64
  149. int i;
  150. int j = 0;
  151. word32 s = 0;
  152. r[0] = 0;
  153. for (i = 0; i < a->used && j < size; i++) {
  154. r[j] |= ((sp_digit)a->dp[i] << s);
  155. r[j] &= 0xffffffffffffffffl;
  156. s = 64U - s;
  157. if (j + 1 >= size) {
  158. break;
  159. }
  160. /* lint allow cast of mismatch word32 and mp_digit */
  161. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  162. while ((s + 64U) <= (word32)DIGIT_BIT) {
  163. s += 64U;
  164. r[j] &= 0xffffffffffffffffl;
  165. if (j + 1 >= size) {
  166. break;
  167. }
  168. if (s < (word32)DIGIT_BIT) {
  169. /* lint allow cast of mismatch word32 and mp_digit */
  170. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  171. }
  172. else {
  173. r[++j] = (sp_digit)0;
  174. }
  175. }
  176. s = (word32)DIGIT_BIT - s;
  177. }
  178. for (j++; j < size; j++) {
  179. r[j] = 0;
  180. }
  181. #else
  182. int i;
  183. int j = 0;
  184. int s = 0;
  185. r[0] = 0;
  186. for (i = 0; i < a->used && j < size; i++) {
  187. r[j] |= ((sp_digit)a->dp[i]) << s;
  188. if (s + DIGIT_BIT >= 64) {
  189. r[j] &= 0xffffffffffffffffl;
  190. if (j + 1 >= size) {
  191. break;
  192. }
  193. s = 64 - s;
  194. if (s == DIGIT_BIT) {
  195. r[++j] = 0;
  196. s = 0;
  197. }
  198. else {
  199. r[++j] = a->dp[i] >> s;
  200. s = DIGIT_BIT - s;
  201. }
  202. }
  203. else {
  204. s += DIGIT_BIT;
  205. }
  206. }
  207. for (j++; j < size; j++) {
  208. r[j] = 0;
  209. }
  210. #endif
  211. }
  212. /* Write r as big endian to byte array.
  213. * Fixed length number of bytes written: 256
  214. *
  215. * r A single precision integer.
  216. * a Byte array.
  217. */
  218. static void sp_2048_to_bin_32(sp_digit* r, byte* a)
  219. {
  220. int i;
  221. int j = 0;
  222. for (i = 31; i >= 0; i--, j += 8) {
  223. __asm__ __volatile__ (
  224. "ldr x4, [%[r]]\n\t"
  225. "rev x4, x4\n\t"
  226. "str x4, [%[a]]\n\t"
  227. :
  228. : [r] "r" (r + i), [a] "r" (a + j)
  229. : "memory", "x4"
  230. );
  231. }
  232. }
  233. #if (defined(WOLFSSL_HAVE_SP_RSA) && (!defined(WOLFSSL_RSA_PUBLIC_ONLY) || !defined(WOLFSSL_SP_SMALL))) || defined(WOLFSSL_HAVE_SP_DH)
  234. /* Normalize the values in each word to 64.
  235. *
  236. * a Array of sp_digit to normalize.
  237. */
  238. #define sp_2048_norm_32(a)
  239. #endif /* (WOLFSSL_HAVE_SP_RSA && (!WOLFSSL_RSA_PUBLIC_ONLY || !WOLFSSL_SP_SMALL)) || WOLFSSL_HAVE_SP_DH */
  240. /* Normalize the values in each word to 64.
  241. *
  242. * a Array of sp_digit to normalize.
  243. */
  244. #define sp_2048_norm_32(a)
  245. #ifndef WOLFSSL_SP_SMALL
  246. /* Multiply a and b into r. (r = a * b)
  247. *
  248. * r A single precision integer.
  249. * a A single precision integer.
  250. * b A single precision integer.
  251. */
  252. static void sp_2048_mul_8(sp_digit* r, const sp_digit* a, const sp_digit* b)
  253. {
  254. __asm__ __volatile__ (
  255. "ldp x8, x9, [%[a], 0]\n\t"
  256. "ldp x10, x11, [%[a], 16]\n\t"
  257. "ldp x12, x13, [%[a], 32]\n\t"
  258. "ldp x14, x15, [%[a], 48]\n\t"
  259. "ldp x16, x17, [%[b], 0]\n\t"
  260. "ldp x19, x20, [%[b], 16]\n\t"
  261. "ldp x21, x22, [%[b], 32]\n\t"
  262. "ldp x23, x24, [%[b], 48]\n\t"
  263. "# A[0] * B[0]\n\t"
  264. "mul x3, x8, x16\n\t"
  265. "umulh x4, x8, x16\n\t"
  266. "str x3, [%[r]]\n\t"
  267. "# A[0] * B[1]\n\t"
  268. "mul x6, x8, x17\n\t"
  269. "umulh x7, x8, x17\n\t"
  270. "adds x4, x4, x6\n\t"
  271. "# A[1] * B[0]\n\t"
  272. "mul x6, x9, x16\n\t"
  273. "adc x5, xzr, x7\n\t"
  274. "umulh x7, x9, x16\n\t"
  275. "adds x4, x4, x6\n\t"
  276. "adcs x5, x5, x7\n\t"
  277. "str x4, [%[r], 8]\n\t"
  278. "adc x3, xzr, xzr\n\t"
  279. "# A[0] * B[2]\n\t"
  280. "mul x6, x8, x19\n\t"
  281. "umulh x7, x8, x19\n\t"
  282. "adds x5, x5, x6\n\t"
  283. "# A[1] * B[1]\n\t"
  284. "mul x6, x9, x17\n\t"
  285. "adcs x3, x3, x7\n\t"
  286. "umulh x7, x9, x17\n\t"
  287. "adc x4, xzr, xzr\n\t"
  288. "adds x5, x5, x6\n\t"
  289. "# A[2] * B[0]\n\t"
  290. "mul x6, x10, x16\n\t"
  291. "adcs x3, x3, x7\n\t"
  292. "umulh x7, x10, x16\n\t"
  293. "adc x4, x4, xzr\n\t"
  294. "adds x5, x5, x6\n\t"
  295. "adcs x3, x3, x7\n\t"
  296. "str x5, [%[r], 16]\n\t"
  297. "adc x4, x4, xzr\n\t"
  298. "# A[0] * B[3]\n\t"
  299. "mul x6, x8, x20\n\t"
  300. "umulh x7, x8, x20\n\t"
  301. "adds x3, x3, x6\n\t"
  302. "# A[1] * B[2]\n\t"
  303. "mul x6, x9, x19\n\t"
  304. "adcs x4, x4, x7\n\t"
  305. "umulh x7, x9, x19\n\t"
  306. "adc x5, xzr, xzr\n\t"
  307. "adds x3, x3, x6\n\t"
  308. "# A[2] * B[1]\n\t"
  309. "mul x6, x10, x17\n\t"
  310. "adcs x4, x4, x7\n\t"
  311. "umulh x7, x10, x17\n\t"
  312. "adc x5, x5, xzr\n\t"
  313. "adds x3, x3, x6\n\t"
  314. "# A[3] * B[0]\n\t"
  315. "mul x6, x11, x16\n\t"
  316. "adcs x4, x4, x7\n\t"
  317. "umulh x7, x11, x16\n\t"
  318. "adc x5, x5, xzr\n\t"
  319. "adds x3, x3, x6\n\t"
  320. "adcs x4, x4, x7\n\t"
  321. "str x3, [%[r], 24]\n\t"
  322. "adc x5, x5, xzr\n\t"
  323. "# A[0] * B[4]\n\t"
  324. "mul x6, x8, x21\n\t"
  325. "umulh x7, x8, x21\n\t"
  326. "adds x4, x4, x6\n\t"
  327. "# A[1] * B[3]\n\t"
  328. "mul x6, x9, x20\n\t"
  329. "adcs x5, x5, x7\n\t"
  330. "umulh x7, x9, x20\n\t"
  331. "adc x3, xzr, xzr\n\t"
  332. "adds x4, x4, x6\n\t"
  333. "# A[2] * B[2]\n\t"
  334. "mul x6, x10, x19\n\t"
  335. "adcs x5, x5, x7\n\t"
  336. "umulh x7, x10, x19\n\t"
  337. "adc x3, x3, xzr\n\t"
  338. "adds x4, x4, x6\n\t"
  339. "# A[3] * B[1]\n\t"
  340. "mul x6, x11, x17\n\t"
  341. "adcs x5, x5, x7\n\t"
  342. "umulh x7, x11, x17\n\t"
  343. "adc x3, x3, xzr\n\t"
  344. "adds x4, x4, x6\n\t"
  345. "# A[4] * B[0]\n\t"
  346. "mul x6, x12, x16\n\t"
  347. "adcs x5, x5, x7\n\t"
  348. "umulh x7, x12, x16\n\t"
  349. "adc x3, x3, xzr\n\t"
  350. "adds x4, x4, x6\n\t"
  351. "adcs x5, x5, x7\n\t"
  352. "str x4, [%[r], 32]\n\t"
  353. "adc x3, x3, xzr\n\t"
  354. "# A[0] * B[5]\n\t"
  355. "mul x6, x8, x22\n\t"
  356. "umulh x7, x8, x22\n\t"
  357. "adds x5, x5, x6\n\t"
  358. "# A[1] * B[4]\n\t"
  359. "mul x6, x9, x21\n\t"
  360. "adcs x3, x3, x7\n\t"
  361. "umulh x7, x9, x21\n\t"
  362. "adc x4, xzr, xzr\n\t"
  363. "adds x5, x5, x6\n\t"
  364. "# A[2] * B[3]\n\t"
  365. "mul x6, x10, x20\n\t"
  366. "adcs x3, x3, x7\n\t"
  367. "umulh x7, x10, x20\n\t"
  368. "adc x4, x4, xzr\n\t"
  369. "adds x5, x5, x6\n\t"
  370. "# A[3] * B[2]\n\t"
  371. "mul x6, x11, x19\n\t"
  372. "adcs x3, x3, x7\n\t"
  373. "umulh x7, x11, x19\n\t"
  374. "adc x4, x4, xzr\n\t"
  375. "adds x5, x5, x6\n\t"
  376. "# A[4] * B[1]\n\t"
  377. "mul x6, x12, x17\n\t"
  378. "adcs x3, x3, x7\n\t"
  379. "umulh x7, x12, x17\n\t"
  380. "adc x4, x4, xzr\n\t"
  381. "adds x5, x5, x6\n\t"
  382. "# A[5] * B[0]\n\t"
  383. "mul x6, x13, x16\n\t"
  384. "adcs x3, x3, x7\n\t"
  385. "umulh x7, x13, x16\n\t"
  386. "adc x4, x4, xzr\n\t"
  387. "adds x5, x5, x6\n\t"
  388. "adcs x3, x3, x7\n\t"
  389. "str x5, [%[r], 40]\n\t"
  390. "adc x4, x4, xzr\n\t"
  391. "# A[0] * B[6]\n\t"
  392. "mul x6, x8, x23\n\t"
  393. "umulh x7, x8, x23\n\t"
  394. "adds x3, x3, x6\n\t"
  395. "# A[1] * B[5]\n\t"
  396. "mul x6, x9, x22\n\t"
  397. "adcs x4, x4, x7\n\t"
  398. "umulh x7, x9, x22\n\t"
  399. "adc x5, xzr, xzr\n\t"
  400. "adds x3, x3, x6\n\t"
  401. "# A[2] * B[4]\n\t"
  402. "mul x6, x10, x21\n\t"
  403. "adcs x4, x4, x7\n\t"
  404. "umulh x7, x10, x21\n\t"
  405. "adc x5, x5, xzr\n\t"
  406. "adds x3, x3, x6\n\t"
  407. "# A[3] * B[3]\n\t"
  408. "mul x6, x11, x20\n\t"
  409. "adcs x4, x4, x7\n\t"
  410. "umulh x7, x11, x20\n\t"
  411. "adc x5, x5, xzr\n\t"
  412. "adds x3, x3, x6\n\t"
  413. "# A[4] * B[2]\n\t"
  414. "mul x6, x12, x19\n\t"
  415. "adcs x4, x4, x7\n\t"
  416. "umulh x7, x12, x19\n\t"
  417. "adc x5, x5, xzr\n\t"
  418. "adds x3, x3, x6\n\t"
  419. "# A[5] * B[1]\n\t"
  420. "mul x6, x13, x17\n\t"
  421. "adcs x4, x4, x7\n\t"
  422. "umulh x7, x13, x17\n\t"
  423. "adc x5, x5, xzr\n\t"
  424. "adds x3, x3, x6\n\t"
  425. "# A[6] * B[0]\n\t"
  426. "mul x6, x14, x16\n\t"
  427. "adcs x4, x4, x7\n\t"
  428. "umulh x7, x14, x16\n\t"
  429. "adc x5, x5, xzr\n\t"
  430. "adds x3, x3, x6\n\t"
  431. "adcs x4, x4, x7\n\t"
  432. "str x3, [%[r], 48]\n\t"
  433. "adc x5, x5, xzr\n\t"
  434. "# A[0] * B[7]\n\t"
  435. "mul x6, x8, x24\n\t"
  436. "umulh x7, x8, x24\n\t"
  437. "adds x4, x4, x6\n\t"
  438. "# A[1] * B[6]\n\t"
  439. "mul x6, x9, x23\n\t"
  440. "adcs x5, x5, x7\n\t"
  441. "umulh x7, x9, x23\n\t"
  442. "adc x3, xzr, xzr\n\t"
  443. "adds x4, x4, x6\n\t"
  444. "# A[2] * B[5]\n\t"
  445. "mul x6, x10, x22\n\t"
  446. "adcs x5, x5, x7\n\t"
  447. "umulh x7, x10, x22\n\t"
  448. "adc x3, x3, xzr\n\t"
  449. "adds x4, x4, x6\n\t"
  450. "# A[3] * B[4]\n\t"
  451. "mul x6, x11, x21\n\t"
  452. "adcs x5, x5, x7\n\t"
  453. "umulh x7, x11, x21\n\t"
  454. "adc x3, x3, xzr\n\t"
  455. "adds x4, x4, x6\n\t"
  456. "# A[4] * B[3]\n\t"
  457. "mul x6, x12, x20\n\t"
  458. "adcs x5, x5, x7\n\t"
  459. "umulh x7, x12, x20\n\t"
  460. "adc x3, x3, xzr\n\t"
  461. "adds x4, x4, x6\n\t"
  462. "# A[5] * B[2]\n\t"
  463. "mul x6, x13, x19\n\t"
  464. "adcs x5, x5, x7\n\t"
  465. "umulh x7, x13, x19\n\t"
  466. "adc x3, x3, xzr\n\t"
  467. "adds x4, x4, x6\n\t"
  468. "# A[6] * B[1]\n\t"
  469. "mul x6, x14, x17\n\t"
  470. "adcs x5, x5, x7\n\t"
  471. "umulh x7, x14, x17\n\t"
  472. "adc x3, x3, xzr\n\t"
  473. "adds x4, x4, x6\n\t"
  474. "# A[7] * B[0]\n\t"
  475. "mul x6, x15, x16\n\t"
  476. "adcs x5, x5, x7\n\t"
  477. "umulh x7, x15, x16\n\t"
  478. "adc x3, x3, xzr\n\t"
  479. "adds x4, x4, x6\n\t"
  480. "adcs x5, x5, x7\n\t"
  481. "str x4, [%[r], 56]\n\t"
  482. "adc x3, x3, xzr\n\t"
  483. "# A[1] * B[7]\n\t"
  484. "mul x6, x9, x24\n\t"
  485. "umulh x7, x9, x24\n\t"
  486. "adds x5, x5, x6\n\t"
  487. "# A[2] * B[6]\n\t"
  488. "mul x6, x10, x23\n\t"
  489. "adcs x3, x3, x7\n\t"
  490. "umulh x7, x10, x23\n\t"
  491. "adc x4, xzr, xzr\n\t"
  492. "adds x5, x5, x6\n\t"
  493. "# A[3] * B[5]\n\t"
  494. "mul x6, x11, x22\n\t"
  495. "adcs x3, x3, x7\n\t"
  496. "umulh x7, x11, x22\n\t"
  497. "adc x4, x4, xzr\n\t"
  498. "adds x5, x5, x6\n\t"
  499. "# A[4] * B[4]\n\t"
  500. "mul x6, x12, x21\n\t"
  501. "adcs x3, x3, x7\n\t"
  502. "umulh x7, x12, x21\n\t"
  503. "adc x4, x4, xzr\n\t"
  504. "adds x5, x5, x6\n\t"
  505. "# A[5] * B[3]\n\t"
  506. "mul x6, x13, x20\n\t"
  507. "adcs x3, x3, x7\n\t"
  508. "umulh x7, x13, x20\n\t"
  509. "adc x4, x4, xzr\n\t"
  510. "adds x5, x5, x6\n\t"
  511. "# A[6] * B[2]\n\t"
  512. "mul x6, x14, x19\n\t"
  513. "adcs x3, x3, x7\n\t"
  514. "umulh x7, x14, x19\n\t"
  515. "adc x4, x4, xzr\n\t"
  516. "adds x5, x5, x6\n\t"
  517. "# A[7] * B[1]\n\t"
  518. "mul x6, x15, x17\n\t"
  519. "adcs x3, x3, x7\n\t"
  520. "umulh x7, x15, x17\n\t"
  521. "adc x4, x4, xzr\n\t"
  522. "adds x5, x5, x6\n\t"
  523. "adcs x3, x3, x7\n\t"
  524. "str x5, [%[r], 64]\n\t"
  525. "adc x4, x4, xzr\n\t"
  526. "# A[2] * B[7]\n\t"
  527. "mul x6, x10, x24\n\t"
  528. "umulh x7, x10, x24\n\t"
  529. "adds x3, x3, x6\n\t"
  530. "# A[3] * B[6]\n\t"
  531. "mul x6, x11, x23\n\t"
  532. "adcs x4, x4, x7\n\t"
  533. "umulh x7, x11, x23\n\t"
  534. "adc x5, xzr, xzr\n\t"
  535. "adds x3, x3, x6\n\t"
  536. "# A[4] * B[5]\n\t"
  537. "mul x6, x12, x22\n\t"
  538. "adcs x4, x4, x7\n\t"
  539. "umulh x7, x12, x22\n\t"
  540. "adc x5, x5, xzr\n\t"
  541. "adds x3, x3, x6\n\t"
  542. "# A[5] * B[4]\n\t"
  543. "mul x6, x13, x21\n\t"
  544. "adcs x4, x4, x7\n\t"
  545. "umulh x7, x13, x21\n\t"
  546. "adc x5, x5, xzr\n\t"
  547. "adds x3, x3, x6\n\t"
  548. "# A[6] * B[3]\n\t"
  549. "mul x6, x14, x20\n\t"
  550. "adcs x4, x4, x7\n\t"
  551. "umulh x7, x14, x20\n\t"
  552. "adc x5, x5, xzr\n\t"
  553. "adds x3, x3, x6\n\t"
  554. "# A[7] * B[2]\n\t"
  555. "mul x6, x15, x19\n\t"
  556. "adcs x4, x4, x7\n\t"
  557. "umulh x7, x15, x19\n\t"
  558. "adc x5, x5, xzr\n\t"
  559. "adds x3, x3, x6\n\t"
  560. "adcs x4, x4, x7\n\t"
  561. "str x3, [%[r], 72]\n\t"
  562. "adc x5, x5, xzr\n\t"
  563. "# A[3] * B[7]\n\t"
  564. "mul x6, x11, x24\n\t"
  565. "umulh x7, x11, x24\n\t"
  566. "adds x4, x4, x6\n\t"
  567. "# A[4] * B[6]\n\t"
  568. "mul x6, x12, x23\n\t"
  569. "adcs x5, x5, x7\n\t"
  570. "umulh x7, x12, x23\n\t"
  571. "adc x3, xzr, xzr\n\t"
  572. "adds x4, x4, x6\n\t"
  573. "# A[5] * B[5]\n\t"
  574. "mul x6, x13, x22\n\t"
  575. "adcs x5, x5, x7\n\t"
  576. "umulh x7, x13, x22\n\t"
  577. "adc x3, x3, xzr\n\t"
  578. "adds x4, x4, x6\n\t"
  579. "# A[6] * B[4]\n\t"
  580. "mul x6, x14, x21\n\t"
  581. "adcs x5, x5, x7\n\t"
  582. "umulh x7, x14, x21\n\t"
  583. "adc x3, x3, xzr\n\t"
  584. "adds x4, x4, x6\n\t"
  585. "# A[7] * B[3]\n\t"
  586. "mul x6, x15, x20\n\t"
  587. "adcs x5, x5, x7\n\t"
  588. "umulh x7, x15, x20\n\t"
  589. "adc x3, x3, xzr\n\t"
  590. "adds x4, x4, x6\n\t"
  591. "adcs x5, x5, x7\n\t"
  592. "str x4, [%[r], 80]\n\t"
  593. "adc x3, x3, xzr\n\t"
  594. "# A[4] * B[7]\n\t"
  595. "mul x6, x12, x24\n\t"
  596. "umulh x7, x12, x24\n\t"
  597. "adds x5, x5, x6\n\t"
  598. "# A[5] * B[6]\n\t"
  599. "mul x6, x13, x23\n\t"
  600. "adcs x3, x3, x7\n\t"
  601. "umulh x7, x13, x23\n\t"
  602. "adc x4, xzr, xzr\n\t"
  603. "adds x5, x5, x6\n\t"
  604. "# A[6] * B[5]\n\t"
  605. "mul x6, x14, x22\n\t"
  606. "adcs x3, x3, x7\n\t"
  607. "umulh x7, x14, x22\n\t"
  608. "adc x4, x4, xzr\n\t"
  609. "adds x5, x5, x6\n\t"
  610. "# A[7] * B[4]\n\t"
  611. "mul x6, x15, x21\n\t"
  612. "adcs x3, x3, x7\n\t"
  613. "umulh x7, x15, x21\n\t"
  614. "adc x4, x4, xzr\n\t"
  615. "adds x5, x5, x6\n\t"
  616. "adcs x3, x3, x7\n\t"
  617. "str x5, [%[r], 88]\n\t"
  618. "adc x4, x4, xzr\n\t"
  619. "# A[5] * B[7]\n\t"
  620. "mul x6, x13, x24\n\t"
  621. "umulh x7, x13, x24\n\t"
  622. "adds x3, x3, x6\n\t"
  623. "# A[6] * B[6]\n\t"
  624. "mul x6, x14, x23\n\t"
  625. "adcs x4, x4, x7\n\t"
  626. "umulh x7, x14, x23\n\t"
  627. "adc x5, xzr, xzr\n\t"
  628. "adds x3, x3, x6\n\t"
  629. "# A[7] * B[5]\n\t"
  630. "mul x6, x15, x22\n\t"
  631. "adcs x4, x4, x7\n\t"
  632. "umulh x7, x15, x22\n\t"
  633. "adc x5, x5, xzr\n\t"
  634. "adds x3, x3, x6\n\t"
  635. "adcs x4, x4, x7\n\t"
  636. "str x3, [%[r], 96]\n\t"
  637. "adc x5, x5, xzr\n\t"
  638. "# A[6] * B[7]\n\t"
  639. "mul x6, x14, x24\n\t"
  640. "umulh x7, x14, x24\n\t"
  641. "adds x4, x4, x6\n\t"
  642. "# A[7] * B[6]\n\t"
  643. "mul x6, x15, x23\n\t"
  644. "adcs x5, x5, x7\n\t"
  645. "umulh x7, x15, x23\n\t"
  646. "adc x3, xzr, xzr\n\t"
  647. "adds x4, x4, x6\n\t"
  648. "adcs x5, x5, x7\n\t"
  649. "str x4, [%[r], 104]\n\t"
  650. "adc x3, x3, xzr\n\t"
  651. "# A[7] * B[7]\n\t"
  652. "mul x6, x15, x24\n\t"
  653. "umulh x7, x15, x24\n\t"
  654. "adds x5, x5, x6\n\t"
  655. "adc x3, x3, x7\n\t"
  656. "stp x5, x3, [%[r], 112]\n\t"
  657. :
  658. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  659. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24"
  660. );
  661. }
  662. /* Add b to a into r. (r = a + b)
  663. *
  664. * r A single precision integer.
  665. * a A single precision integer.
  666. * b A single precision integer.
  667. */
  668. static sp_digit sp_2048_add_8(sp_digit* r, const sp_digit* a,
  669. const sp_digit* b)
  670. {
  671. __asm__ __volatile__ (
  672. "ldp x3, x4, [%[a], 0]\n\t"
  673. "ldp x7, x8, [%[b], 0]\n\t"
  674. "adds x3, x3, x7\n\t"
  675. "ldp x5, x6, [%[a], 16]\n\t"
  676. "adcs x4, x4, x8\n\t"
  677. "ldp x9, x10, [%[b], 16]\n\t"
  678. "adcs x5, x5, x9\n\t"
  679. "stp x3, x4, [%[r], 0]\n\t"
  680. "adcs x6, x6, x10\n\t"
  681. "stp x5, x6, [%[r], 16]\n\t"
  682. "ldp x3, x4, [%[a], 32]\n\t"
  683. "ldp x7, x8, [%[b], 32]\n\t"
  684. "adcs x3, x3, x7\n\t"
  685. "ldp x5, x6, [%[a], 48]\n\t"
  686. "adcs x4, x4, x8\n\t"
  687. "ldp x9, x10, [%[b], 48]\n\t"
  688. "adcs x5, x5, x9\n\t"
  689. "stp x3, x4, [%[r], 32]\n\t"
  690. "adcs x6, x6, x10\n\t"
  691. "stp x5, x6, [%[r], 48]\n\t"
  692. "cset %[r], cs\n\t"
  693. : [r] "+r" (r)
  694. : [a] "r" (a), [b] "r" (b)
  695. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  696. );
  697. return (sp_digit)r;
  698. }
  699. /* Add digit to a into r. (r = a + b)
  700. *
  701. * r A single precision integer.
  702. * a A single precision integer.
  703. * b A single precision integer.
  704. */
  705. static void sp_2048_add_word_8(sp_digit* r, const sp_digit* a,
  706. sp_digit b)
  707. {
  708. __asm__ __volatile__ (
  709. "ldp x3, x4, [%[a], 0]\n\t"
  710. "ldp x5, x6, [%[a], 16]\n\t"
  711. "adds x3, x3, %[b]\n\t"
  712. "adcs x4, x4, xzr\n\t"
  713. "adcs x5, x5, xzr\n\t"
  714. "stp x3, x4, [%[r], 0]\n\t"
  715. "adcs x6, x6, xzr\n\t"
  716. "stp x5, x6, [%[r], 16]\n\t"
  717. "ldp x3, x4, [%[a], 32]\n\t"
  718. "ldp x5, x6, [%[a], 48]\n\t"
  719. "adcs x3, x3, xzr\n\t"
  720. "adcs x4, x4, xzr\n\t"
  721. "adcs x5, x5, xzr\n\t"
  722. "stp x3, x4, [%[r], 32]\n\t"
  723. "adcs x6, x6, xzr\n\t"
  724. "stp x5, x6, [%[r], 48]\n\t"
  725. :
  726. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  727. : "memory", "x3", "x4", "x5", "x6"
  728. );
  729. }
  730. /* Sub b from a into a. (a -= b)
  731. *
  732. * a A single precision integer and result.
  733. * b A single precision integer.
  734. */
  735. static sp_digit sp_2048_sub_in_place_16(sp_digit* a, const sp_digit* b)
  736. {
  737. __asm__ __volatile__ (
  738. "ldp x2, x3, [%[a], 0]\n\t"
  739. "ldp x6, x7, [%[b], 0]\n\t"
  740. "subs x2, x2, x6\n\t"
  741. "ldp x4, x5, [%[a], 16]\n\t"
  742. "sbcs x3, x3, x7\n\t"
  743. "ldp x8, x9, [%[b], 16]\n\t"
  744. "sbcs x4, x4, x8\n\t"
  745. "stp x2, x3, [%[a], 0]\n\t"
  746. "sbcs x5, x5, x9\n\t"
  747. "stp x4, x5, [%[a], 16]\n\t"
  748. "ldp x2, x3, [%[a], 32]\n\t"
  749. "ldp x6, x7, [%[b], 32]\n\t"
  750. "sbcs x2, x2, x6\n\t"
  751. "ldp x4, x5, [%[a], 48]\n\t"
  752. "sbcs x3, x3, x7\n\t"
  753. "ldp x8, x9, [%[b], 48]\n\t"
  754. "sbcs x4, x4, x8\n\t"
  755. "stp x2, x3, [%[a], 32]\n\t"
  756. "sbcs x5, x5, x9\n\t"
  757. "stp x4, x5, [%[a], 48]\n\t"
  758. "ldp x2, x3, [%[a], 64]\n\t"
  759. "ldp x6, x7, [%[b], 64]\n\t"
  760. "sbcs x2, x2, x6\n\t"
  761. "ldp x4, x5, [%[a], 80]\n\t"
  762. "sbcs x3, x3, x7\n\t"
  763. "ldp x8, x9, [%[b], 80]\n\t"
  764. "sbcs x4, x4, x8\n\t"
  765. "stp x2, x3, [%[a], 64]\n\t"
  766. "sbcs x5, x5, x9\n\t"
  767. "stp x4, x5, [%[a], 80]\n\t"
  768. "ldp x2, x3, [%[a], 96]\n\t"
  769. "ldp x6, x7, [%[b], 96]\n\t"
  770. "sbcs x2, x2, x6\n\t"
  771. "ldp x4, x5, [%[a], 112]\n\t"
  772. "sbcs x3, x3, x7\n\t"
  773. "ldp x8, x9, [%[b], 112]\n\t"
  774. "sbcs x4, x4, x8\n\t"
  775. "stp x2, x3, [%[a], 96]\n\t"
  776. "sbcs x5, x5, x9\n\t"
  777. "stp x4, x5, [%[a], 112]\n\t"
  778. "csetm %[a], cc\n\t"
  779. : [a] "+r" (a)
  780. : [b] "r" (b)
  781. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  782. );
  783. return (sp_digit)a;
  784. }
  785. /* Add b to a into r. (r = a + b)
  786. *
  787. * r A single precision integer.
  788. * a A single precision integer.
  789. * b A single precision integer.
  790. */
  791. static sp_digit sp_2048_add_16(sp_digit* r, const sp_digit* a,
  792. const sp_digit* b)
  793. {
  794. __asm__ __volatile__ (
  795. "ldp x3, x4, [%[a], 0]\n\t"
  796. "ldp x7, x8, [%[b], 0]\n\t"
  797. "adds x3, x3, x7\n\t"
  798. "ldp x5, x6, [%[a], 16]\n\t"
  799. "adcs x4, x4, x8\n\t"
  800. "ldp x9, x10, [%[b], 16]\n\t"
  801. "adcs x5, x5, x9\n\t"
  802. "stp x3, x4, [%[r], 0]\n\t"
  803. "adcs x6, x6, x10\n\t"
  804. "stp x5, x6, [%[r], 16]\n\t"
  805. "ldp x3, x4, [%[a], 32]\n\t"
  806. "ldp x7, x8, [%[b], 32]\n\t"
  807. "adcs x3, x3, x7\n\t"
  808. "ldp x5, x6, [%[a], 48]\n\t"
  809. "adcs x4, x4, x8\n\t"
  810. "ldp x9, x10, [%[b], 48]\n\t"
  811. "adcs x5, x5, x9\n\t"
  812. "stp x3, x4, [%[r], 32]\n\t"
  813. "adcs x6, x6, x10\n\t"
  814. "stp x5, x6, [%[r], 48]\n\t"
  815. "ldp x3, x4, [%[a], 64]\n\t"
  816. "ldp x7, x8, [%[b], 64]\n\t"
  817. "adcs x3, x3, x7\n\t"
  818. "ldp x5, x6, [%[a], 80]\n\t"
  819. "adcs x4, x4, x8\n\t"
  820. "ldp x9, x10, [%[b], 80]\n\t"
  821. "adcs x5, x5, x9\n\t"
  822. "stp x3, x4, [%[r], 64]\n\t"
  823. "adcs x6, x6, x10\n\t"
  824. "stp x5, x6, [%[r], 80]\n\t"
  825. "ldp x3, x4, [%[a], 96]\n\t"
  826. "ldp x7, x8, [%[b], 96]\n\t"
  827. "adcs x3, x3, x7\n\t"
  828. "ldp x5, x6, [%[a], 112]\n\t"
  829. "adcs x4, x4, x8\n\t"
  830. "ldp x9, x10, [%[b], 112]\n\t"
  831. "adcs x5, x5, x9\n\t"
  832. "stp x3, x4, [%[r], 96]\n\t"
  833. "adcs x6, x6, x10\n\t"
  834. "stp x5, x6, [%[r], 112]\n\t"
  835. "cset %[r], cs\n\t"
  836. : [r] "+r" (r)
  837. : [a] "r" (a), [b] "r" (b)
  838. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  839. );
  840. return (sp_digit)r;
  841. }
  842. #ifndef WOLFSSL_SP_SMALL
  843. /* Conditionally add a and b using the mask m.
  844. * m is -1 to add and 0 when not.
  845. *
  846. * r A single precision number representing conditional add result.
  847. * a A single precision number to add with.
  848. * b A single precision number to add.
  849. * m Mask value to apply.
  850. */
  851. static sp_digit sp_2048_cond_add_8(sp_digit* r, const sp_digit* a, const sp_digit* b,
  852. sp_digit m)
  853. {
  854. __asm__ __volatile__ (
  855. "ldp x8, x9, [%[b], 0]\n\t"
  856. "ldp x10, x11, [%[b], 16]\n\t"
  857. "ldp x4, x5, [%[a], 0]\n\t"
  858. "and x8, x8, %[m]\n\t"
  859. "ldp x6, x7, [%[a], 16]\n\t"
  860. "and x9, x9, %[m]\n\t"
  861. "adds x4, x4, x8\n\t"
  862. "and x10, x10, %[m]\n\t"
  863. "adcs x5, x5, x9\n\t"
  864. "and x11, x11, %[m]\n\t"
  865. "adcs x6, x6, x10\n\t"
  866. "stp x4, x5, [%[r], 0]\n\t"
  867. "adcs x7, x7, x11\n\t"
  868. "stp x6, x7, [%[r], 16]\n\t"
  869. "ldp x8, x9, [%[b], 32]\n\t"
  870. "ldp x10, x11, [%[b], 48]\n\t"
  871. "ldp x4, x5, [%[a], 32]\n\t"
  872. "and x8, x8, %[m]\n\t"
  873. "ldp x6, x7, [%[a], 48]\n\t"
  874. "and x9, x9, %[m]\n\t"
  875. "adcs x4, x4, x8\n\t"
  876. "and x10, x10, %[m]\n\t"
  877. "adcs x5, x5, x9\n\t"
  878. "and x11, x11, %[m]\n\t"
  879. "adcs x6, x6, x10\n\t"
  880. "stp x4, x5, [%[r], 32]\n\t"
  881. "adcs x7, x7, x11\n\t"
  882. "stp x6, x7, [%[r], 48]\n\t"
  883. "cset %[r], cs\n\t"
  884. : [r] "+r" (r)
  885. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  886. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  887. );
  888. return (sp_digit)r;
  889. }
  890. #endif /* !WOLFSSL_SP_SMALL */
  891. /* Multiply a and b into r. (r = a * b)
  892. *
  893. * r A single precision integer.
  894. * a A single precision integer.
  895. * b A single precision integer.
  896. */
  897. SP_NOINLINE static void sp_2048_mul_16(sp_digit* r, const sp_digit* a,
  898. const sp_digit* b)
  899. {
  900. sp_digit* z0 = r;
  901. sp_digit z1[16];
  902. sp_digit a1[8];
  903. sp_digit b1[8];
  904. sp_digit* z2 = r + 16;
  905. sp_digit u;
  906. sp_digit ca;
  907. sp_digit cb;
  908. ca = sp_2048_add_8(a1, a, &a[8]);
  909. cb = sp_2048_add_8(b1, b, &b[8]);
  910. u = ca & cb;
  911. sp_2048_mul_8(z2, &a[8], &b[8]);
  912. sp_2048_mul_8(z0, a, b);
  913. sp_2048_mul_8(z1, a1, b1);
  914. u += sp_2048_sub_in_place_16(z1, z0);
  915. u += sp_2048_sub_in_place_16(z1, z2);
  916. u += sp_2048_cond_add_8(z1 + 8, z1 + 8, a1, 0 - cb);
  917. u += sp_2048_cond_add_8(z1 + 8, z1 + 8, b1, 0 - ca);
  918. u += sp_2048_add_16(r + 8, r + 8, z1);
  919. (void)sp_2048_add_word_8(r + 24, r + 24, u);
  920. }
  921. /* Add digit to a into r. (r = a + b)
  922. *
  923. * r A single precision integer.
  924. * a A single precision integer.
  925. * b A single precision integer.
  926. */
  927. static void sp_2048_add_word_16(sp_digit* r, const sp_digit* a,
  928. sp_digit b)
  929. {
  930. __asm__ __volatile__ (
  931. "ldp x3, x4, [%[a], 0]\n\t"
  932. "ldp x5, x6, [%[a], 16]\n\t"
  933. "adds x3, x3, %[b]\n\t"
  934. "adcs x4, x4, xzr\n\t"
  935. "adcs x5, x5, xzr\n\t"
  936. "stp x3, x4, [%[r], 0]\n\t"
  937. "adcs x6, x6, xzr\n\t"
  938. "stp x5, x6, [%[r], 16]\n\t"
  939. "ldp x3, x4, [%[a], 32]\n\t"
  940. "ldp x5, x6, [%[a], 48]\n\t"
  941. "adcs x3, x3, xzr\n\t"
  942. "adcs x4, x4, xzr\n\t"
  943. "adcs x5, x5, xzr\n\t"
  944. "stp x3, x4, [%[r], 32]\n\t"
  945. "adcs x6, x6, xzr\n\t"
  946. "stp x5, x6, [%[r], 48]\n\t"
  947. "ldp x3, x4, [%[a], 64]\n\t"
  948. "ldp x5, x6, [%[a], 80]\n\t"
  949. "adcs x3, x3, xzr\n\t"
  950. "adcs x4, x4, xzr\n\t"
  951. "adcs x5, x5, xzr\n\t"
  952. "stp x3, x4, [%[r], 64]\n\t"
  953. "adcs x6, x6, xzr\n\t"
  954. "stp x5, x6, [%[r], 80]\n\t"
  955. "ldp x3, x4, [%[a], 96]\n\t"
  956. "ldp x5, x6, [%[a], 112]\n\t"
  957. "adcs x3, x3, xzr\n\t"
  958. "adcs x4, x4, xzr\n\t"
  959. "adcs x5, x5, xzr\n\t"
  960. "stp x3, x4, [%[r], 96]\n\t"
  961. "adcs x6, x6, xzr\n\t"
  962. "stp x5, x6, [%[r], 112]\n\t"
  963. :
  964. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  965. : "memory", "x3", "x4", "x5", "x6"
  966. );
  967. }
  968. /* Sub b from a into a. (a -= b)
  969. *
  970. * a A single precision integer and result.
  971. * b A single precision integer.
  972. */
  973. static sp_digit sp_2048_sub_in_place_32(sp_digit* a, const sp_digit* b)
  974. {
  975. __asm__ __volatile__ (
  976. "ldp x2, x3, [%[a], 0]\n\t"
  977. "ldp x6, x7, [%[b], 0]\n\t"
  978. "subs x2, x2, x6\n\t"
  979. "ldp x4, x5, [%[a], 16]\n\t"
  980. "sbcs x3, x3, x7\n\t"
  981. "ldp x8, x9, [%[b], 16]\n\t"
  982. "sbcs x4, x4, x8\n\t"
  983. "stp x2, x3, [%[a], 0]\n\t"
  984. "sbcs x5, x5, x9\n\t"
  985. "stp x4, x5, [%[a], 16]\n\t"
  986. "ldp x2, x3, [%[a], 32]\n\t"
  987. "ldp x6, x7, [%[b], 32]\n\t"
  988. "sbcs x2, x2, x6\n\t"
  989. "ldp x4, x5, [%[a], 48]\n\t"
  990. "sbcs x3, x3, x7\n\t"
  991. "ldp x8, x9, [%[b], 48]\n\t"
  992. "sbcs x4, x4, x8\n\t"
  993. "stp x2, x3, [%[a], 32]\n\t"
  994. "sbcs x5, x5, x9\n\t"
  995. "stp x4, x5, [%[a], 48]\n\t"
  996. "ldp x2, x3, [%[a], 64]\n\t"
  997. "ldp x6, x7, [%[b], 64]\n\t"
  998. "sbcs x2, x2, x6\n\t"
  999. "ldp x4, x5, [%[a], 80]\n\t"
  1000. "sbcs x3, x3, x7\n\t"
  1001. "ldp x8, x9, [%[b], 80]\n\t"
  1002. "sbcs x4, x4, x8\n\t"
  1003. "stp x2, x3, [%[a], 64]\n\t"
  1004. "sbcs x5, x5, x9\n\t"
  1005. "stp x4, x5, [%[a], 80]\n\t"
  1006. "ldp x2, x3, [%[a], 96]\n\t"
  1007. "ldp x6, x7, [%[b], 96]\n\t"
  1008. "sbcs x2, x2, x6\n\t"
  1009. "ldp x4, x5, [%[a], 112]\n\t"
  1010. "sbcs x3, x3, x7\n\t"
  1011. "ldp x8, x9, [%[b], 112]\n\t"
  1012. "sbcs x4, x4, x8\n\t"
  1013. "stp x2, x3, [%[a], 96]\n\t"
  1014. "sbcs x5, x5, x9\n\t"
  1015. "stp x4, x5, [%[a], 112]\n\t"
  1016. "ldp x2, x3, [%[a], 128]\n\t"
  1017. "ldp x6, x7, [%[b], 128]\n\t"
  1018. "sbcs x2, x2, x6\n\t"
  1019. "ldp x4, x5, [%[a], 144]\n\t"
  1020. "sbcs x3, x3, x7\n\t"
  1021. "ldp x8, x9, [%[b], 144]\n\t"
  1022. "sbcs x4, x4, x8\n\t"
  1023. "stp x2, x3, [%[a], 128]\n\t"
  1024. "sbcs x5, x5, x9\n\t"
  1025. "stp x4, x5, [%[a], 144]\n\t"
  1026. "ldp x2, x3, [%[a], 160]\n\t"
  1027. "ldp x6, x7, [%[b], 160]\n\t"
  1028. "sbcs x2, x2, x6\n\t"
  1029. "ldp x4, x5, [%[a], 176]\n\t"
  1030. "sbcs x3, x3, x7\n\t"
  1031. "ldp x8, x9, [%[b], 176]\n\t"
  1032. "sbcs x4, x4, x8\n\t"
  1033. "stp x2, x3, [%[a], 160]\n\t"
  1034. "sbcs x5, x5, x9\n\t"
  1035. "stp x4, x5, [%[a], 176]\n\t"
  1036. "ldp x2, x3, [%[a], 192]\n\t"
  1037. "ldp x6, x7, [%[b], 192]\n\t"
  1038. "sbcs x2, x2, x6\n\t"
  1039. "ldp x4, x5, [%[a], 208]\n\t"
  1040. "sbcs x3, x3, x7\n\t"
  1041. "ldp x8, x9, [%[b], 208]\n\t"
  1042. "sbcs x4, x4, x8\n\t"
  1043. "stp x2, x3, [%[a], 192]\n\t"
  1044. "sbcs x5, x5, x9\n\t"
  1045. "stp x4, x5, [%[a], 208]\n\t"
  1046. "ldp x2, x3, [%[a], 224]\n\t"
  1047. "ldp x6, x7, [%[b], 224]\n\t"
  1048. "sbcs x2, x2, x6\n\t"
  1049. "ldp x4, x5, [%[a], 240]\n\t"
  1050. "sbcs x3, x3, x7\n\t"
  1051. "ldp x8, x9, [%[b], 240]\n\t"
  1052. "sbcs x4, x4, x8\n\t"
  1053. "stp x2, x3, [%[a], 224]\n\t"
  1054. "sbcs x5, x5, x9\n\t"
  1055. "stp x4, x5, [%[a], 240]\n\t"
  1056. "csetm %[a], cc\n\t"
  1057. : [a] "+r" (a)
  1058. : [b] "r" (b)
  1059. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  1060. );
  1061. return (sp_digit)a;
  1062. }
  1063. /* Add b to a into r. (r = a + b)
  1064. *
  1065. * r A single precision integer.
  1066. * a A single precision integer.
  1067. * b A single precision integer.
  1068. */
  1069. static sp_digit sp_2048_add_32(sp_digit* r, const sp_digit* a,
  1070. const sp_digit* b)
  1071. {
  1072. __asm__ __volatile__ (
  1073. "ldp x3, x4, [%[a], 0]\n\t"
  1074. "ldp x7, x8, [%[b], 0]\n\t"
  1075. "adds x3, x3, x7\n\t"
  1076. "ldp x5, x6, [%[a], 16]\n\t"
  1077. "adcs x4, x4, x8\n\t"
  1078. "ldp x9, x10, [%[b], 16]\n\t"
  1079. "adcs x5, x5, x9\n\t"
  1080. "stp x3, x4, [%[r], 0]\n\t"
  1081. "adcs x6, x6, x10\n\t"
  1082. "stp x5, x6, [%[r], 16]\n\t"
  1083. "ldp x3, x4, [%[a], 32]\n\t"
  1084. "ldp x7, x8, [%[b], 32]\n\t"
  1085. "adcs x3, x3, x7\n\t"
  1086. "ldp x5, x6, [%[a], 48]\n\t"
  1087. "adcs x4, x4, x8\n\t"
  1088. "ldp x9, x10, [%[b], 48]\n\t"
  1089. "adcs x5, x5, x9\n\t"
  1090. "stp x3, x4, [%[r], 32]\n\t"
  1091. "adcs x6, x6, x10\n\t"
  1092. "stp x5, x6, [%[r], 48]\n\t"
  1093. "ldp x3, x4, [%[a], 64]\n\t"
  1094. "ldp x7, x8, [%[b], 64]\n\t"
  1095. "adcs x3, x3, x7\n\t"
  1096. "ldp x5, x6, [%[a], 80]\n\t"
  1097. "adcs x4, x4, x8\n\t"
  1098. "ldp x9, x10, [%[b], 80]\n\t"
  1099. "adcs x5, x5, x9\n\t"
  1100. "stp x3, x4, [%[r], 64]\n\t"
  1101. "adcs x6, x6, x10\n\t"
  1102. "stp x5, x6, [%[r], 80]\n\t"
  1103. "ldp x3, x4, [%[a], 96]\n\t"
  1104. "ldp x7, x8, [%[b], 96]\n\t"
  1105. "adcs x3, x3, x7\n\t"
  1106. "ldp x5, x6, [%[a], 112]\n\t"
  1107. "adcs x4, x4, x8\n\t"
  1108. "ldp x9, x10, [%[b], 112]\n\t"
  1109. "adcs x5, x5, x9\n\t"
  1110. "stp x3, x4, [%[r], 96]\n\t"
  1111. "adcs x6, x6, x10\n\t"
  1112. "stp x5, x6, [%[r], 112]\n\t"
  1113. "ldp x3, x4, [%[a], 128]\n\t"
  1114. "ldp x7, x8, [%[b], 128]\n\t"
  1115. "adcs x3, x3, x7\n\t"
  1116. "ldp x5, x6, [%[a], 144]\n\t"
  1117. "adcs x4, x4, x8\n\t"
  1118. "ldp x9, x10, [%[b], 144]\n\t"
  1119. "adcs x5, x5, x9\n\t"
  1120. "stp x3, x4, [%[r], 128]\n\t"
  1121. "adcs x6, x6, x10\n\t"
  1122. "stp x5, x6, [%[r], 144]\n\t"
  1123. "ldp x3, x4, [%[a], 160]\n\t"
  1124. "ldp x7, x8, [%[b], 160]\n\t"
  1125. "adcs x3, x3, x7\n\t"
  1126. "ldp x5, x6, [%[a], 176]\n\t"
  1127. "adcs x4, x4, x8\n\t"
  1128. "ldp x9, x10, [%[b], 176]\n\t"
  1129. "adcs x5, x5, x9\n\t"
  1130. "stp x3, x4, [%[r], 160]\n\t"
  1131. "adcs x6, x6, x10\n\t"
  1132. "stp x5, x6, [%[r], 176]\n\t"
  1133. "ldp x3, x4, [%[a], 192]\n\t"
  1134. "ldp x7, x8, [%[b], 192]\n\t"
  1135. "adcs x3, x3, x7\n\t"
  1136. "ldp x5, x6, [%[a], 208]\n\t"
  1137. "adcs x4, x4, x8\n\t"
  1138. "ldp x9, x10, [%[b], 208]\n\t"
  1139. "adcs x5, x5, x9\n\t"
  1140. "stp x3, x4, [%[r], 192]\n\t"
  1141. "adcs x6, x6, x10\n\t"
  1142. "stp x5, x6, [%[r], 208]\n\t"
  1143. "ldp x3, x4, [%[a], 224]\n\t"
  1144. "ldp x7, x8, [%[b], 224]\n\t"
  1145. "adcs x3, x3, x7\n\t"
  1146. "ldp x5, x6, [%[a], 240]\n\t"
  1147. "adcs x4, x4, x8\n\t"
  1148. "ldp x9, x10, [%[b], 240]\n\t"
  1149. "adcs x5, x5, x9\n\t"
  1150. "stp x3, x4, [%[r], 224]\n\t"
  1151. "adcs x6, x6, x10\n\t"
  1152. "stp x5, x6, [%[r], 240]\n\t"
  1153. "cset %[r], cs\n\t"
  1154. : [r] "+r" (r)
  1155. : [a] "r" (a), [b] "r" (b)
  1156. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  1157. );
  1158. return (sp_digit)r;
  1159. }
  1160. #ifndef WOLFSSL_SP_SMALL
  1161. /* Conditionally add a and b using the mask m.
  1162. * m is -1 to add and 0 when not.
  1163. *
  1164. * r A single precision number representing conditional add result.
  1165. * a A single precision number to add with.
  1166. * b A single precision number to add.
  1167. * m Mask value to apply.
  1168. */
  1169. static sp_digit sp_2048_cond_add_16(sp_digit* r, const sp_digit* a, const sp_digit* b,
  1170. sp_digit m)
  1171. {
  1172. __asm__ __volatile__ (
  1173. "ldp x8, x9, [%[b], 0]\n\t"
  1174. "ldp x10, x11, [%[b], 16]\n\t"
  1175. "ldp x4, x5, [%[a], 0]\n\t"
  1176. "and x8, x8, %[m]\n\t"
  1177. "ldp x6, x7, [%[a], 16]\n\t"
  1178. "and x9, x9, %[m]\n\t"
  1179. "adds x4, x4, x8\n\t"
  1180. "and x10, x10, %[m]\n\t"
  1181. "adcs x5, x5, x9\n\t"
  1182. "and x11, x11, %[m]\n\t"
  1183. "adcs x6, x6, x10\n\t"
  1184. "stp x4, x5, [%[r], 0]\n\t"
  1185. "adcs x7, x7, x11\n\t"
  1186. "stp x6, x7, [%[r], 16]\n\t"
  1187. "ldp x8, x9, [%[b], 32]\n\t"
  1188. "ldp x10, x11, [%[b], 48]\n\t"
  1189. "ldp x4, x5, [%[a], 32]\n\t"
  1190. "and x8, x8, %[m]\n\t"
  1191. "ldp x6, x7, [%[a], 48]\n\t"
  1192. "and x9, x9, %[m]\n\t"
  1193. "adcs x4, x4, x8\n\t"
  1194. "and x10, x10, %[m]\n\t"
  1195. "adcs x5, x5, x9\n\t"
  1196. "and x11, x11, %[m]\n\t"
  1197. "adcs x6, x6, x10\n\t"
  1198. "stp x4, x5, [%[r], 32]\n\t"
  1199. "adcs x7, x7, x11\n\t"
  1200. "stp x6, x7, [%[r], 48]\n\t"
  1201. "ldp x8, x9, [%[b], 64]\n\t"
  1202. "ldp x10, x11, [%[b], 80]\n\t"
  1203. "ldp x4, x5, [%[a], 64]\n\t"
  1204. "and x8, x8, %[m]\n\t"
  1205. "ldp x6, x7, [%[a], 80]\n\t"
  1206. "and x9, x9, %[m]\n\t"
  1207. "adcs x4, x4, x8\n\t"
  1208. "and x10, x10, %[m]\n\t"
  1209. "adcs x5, x5, x9\n\t"
  1210. "and x11, x11, %[m]\n\t"
  1211. "adcs x6, x6, x10\n\t"
  1212. "stp x4, x5, [%[r], 64]\n\t"
  1213. "adcs x7, x7, x11\n\t"
  1214. "stp x6, x7, [%[r], 80]\n\t"
  1215. "ldp x8, x9, [%[b], 96]\n\t"
  1216. "ldp x10, x11, [%[b], 112]\n\t"
  1217. "ldp x4, x5, [%[a], 96]\n\t"
  1218. "and x8, x8, %[m]\n\t"
  1219. "ldp x6, x7, [%[a], 112]\n\t"
  1220. "and x9, x9, %[m]\n\t"
  1221. "adcs x4, x4, x8\n\t"
  1222. "and x10, x10, %[m]\n\t"
  1223. "adcs x5, x5, x9\n\t"
  1224. "and x11, x11, %[m]\n\t"
  1225. "adcs x6, x6, x10\n\t"
  1226. "stp x4, x5, [%[r], 96]\n\t"
  1227. "adcs x7, x7, x11\n\t"
  1228. "stp x6, x7, [%[r], 112]\n\t"
  1229. "cset %[r], cs\n\t"
  1230. : [r] "+r" (r)
  1231. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  1232. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  1233. );
  1234. return (sp_digit)r;
  1235. }
  1236. #endif /* !WOLFSSL_SP_SMALL */
  1237. /* Multiply a and b into r. (r = a * b)
  1238. *
  1239. * r A single precision integer.
  1240. * a A single precision integer.
  1241. * b A single precision integer.
  1242. */
  1243. SP_NOINLINE static void sp_2048_mul_32(sp_digit* r, const sp_digit* a,
  1244. const sp_digit* b)
  1245. {
  1246. sp_digit* z0 = r;
  1247. sp_digit z1[32];
  1248. sp_digit a1[16];
  1249. sp_digit b1[16];
  1250. sp_digit* z2 = r + 32;
  1251. sp_digit u;
  1252. sp_digit ca;
  1253. sp_digit cb;
  1254. ca = sp_2048_add_16(a1, a, &a[16]);
  1255. cb = sp_2048_add_16(b1, b, &b[16]);
  1256. u = ca & cb;
  1257. sp_2048_mul_16(z2, &a[16], &b[16]);
  1258. sp_2048_mul_16(z0, a, b);
  1259. sp_2048_mul_16(z1, a1, b1);
  1260. u += sp_2048_sub_in_place_32(z1, z0);
  1261. u += sp_2048_sub_in_place_32(z1, z2);
  1262. u += sp_2048_cond_add_16(z1 + 16, z1 + 16, a1, 0 - cb);
  1263. u += sp_2048_cond_add_16(z1 + 16, z1 + 16, b1, 0 - ca);
  1264. u += sp_2048_add_32(r + 16, r + 16, z1);
  1265. (void)sp_2048_add_word_16(r + 48, r + 48, u);
  1266. }
  1267. /* Square a and put result in r. (r = a * a)
  1268. *
  1269. * r A single precision integer.
  1270. * a A single precision integer.
  1271. */
  1272. static void sp_2048_sqr_16(sp_digit* r, const sp_digit* a)
  1273. {
  1274. __asm__ __volatile__ (
  1275. "ldp x10, x11, [%[a], 0]\n\t"
  1276. "ldp x12, x13, [%[a], 16]\n\t"
  1277. "ldp x14, x15, [%[a], 32]\n\t"
  1278. "ldp x16, x17, [%[a], 48]\n\t"
  1279. "ldp x19, x20, [%[a], 64]\n\t"
  1280. "ldp x21, x22, [%[a], 80]\n\t"
  1281. "ldp x23, x24, [%[a], 96]\n\t"
  1282. "ldp x25, x26, [%[a], 112]\n\t"
  1283. "# A[0] * A[0]\n\t"
  1284. "mul x2, x10, x10\n\t"
  1285. "umulh x3, x10, x10\n\t"
  1286. "str x2, [%[r]]\n\t"
  1287. "mov x4, xzr\n\t"
  1288. "# A[0] * A[1]\n\t"
  1289. "mul x8, x10, x11\n\t"
  1290. "umulh x9, x10, x11\n\t"
  1291. "adds x3, x3, x8\n\t"
  1292. "adcs x4, x4, x9\n\t"
  1293. "adc x2, xzr, xzr\n\t"
  1294. "adds x3, x3, x8\n\t"
  1295. "str x3, [%[r], 8]\n\t"
  1296. "# A[0] * A[2]\n\t"
  1297. "mul x8, x10, x12\n\t"
  1298. "adcs x4, x4, x9\n\t"
  1299. "umulh x9, x10, x12\n\t"
  1300. "adc x2, x2, xzr\n\t"
  1301. "adds x4, x4, x8\n\t"
  1302. "adcs x2, x2, x9\n\t"
  1303. "adc x3, xzr, xzr\n\t"
  1304. "adds x4, x4, x8\n\t"
  1305. "# A[1] * A[1]\n\t"
  1306. "mul x8, x11, x11\n\t"
  1307. "adcs x2, x2, x9\n\t"
  1308. "umulh x9, x11, x11\n\t"
  1309. "adc x3, x3, xzr\n\t"
  1310. "adds x4, x4, x8\n\t"
  1311. "str x4, [%[r], 16]\n\t"
  1312. "# A[0] * A[3]\n\t"
  1313. "mul x8, x10, x13\n\t"
  1314. "adcs x2, x2, x9\n\t"
  1315. "umulh x9, x10, x13\n\t"
  1316. "adc x3, x3, xzr\n\t"
  1317. "adds x2, x2, x8\n\t"
  1318. "adcs x3, x3, x9\n\t"
  1319. "adc x4, xzr, xzr\n\t"
  1320. "adds x2, x2, x8\n\t"
  1321. "# A[1] * A[2]\n\t"
  1322. "mul x8, x11, x12\n\t"
  1323. "adcs x3, x3, x9\n\t"
  1324. "umulh x9, x11, x12\n\t"
  1325. "adc x4, x4, xzr\n\t"
  1326. "adds x2, x2, x8\n\t"
  1327. "adcs x3, x3, x9\n\t"
  1328. "adc x4, x4, xzr\n\t"
  1329. "adds x2, x2, x8\n\t"
  1330. "str x2, [%[r], 24]\n\t"
  1331. "# A[0] * A[4]\n\t"
  1332. "mul x8, x10, x14\n\t"
  1333. "adcs x3, x3, x9\n\t"
  1334. "umulh x9, x10, x14\n\t"
  1335. "adc x4, x4, xzr\n\t"
  1336. "adds x3, x3, x8\n\t"
  1337. "adcs x4, x4, x9\n\t"
  1338. "adc x2, xzr, xzr\n\t"
  1339. "adds x3, x3, x8\n\t"
  1340. "# A[1] * A[3]\n\t"
  1341. "mul x8, x11, x13\n\t"
  1342. "adcs x4, x4, x9\n\t"
  1343. "umulh x9, x11, x13\n\t"
  1344. "adc x2, x2, xzr\n\t"
  1345. "adds x3, x3, x8\n\t"
  1346. "adcs x4, x4, x9\n\t"
  1347. "adc x2, x2, xzr\n\t"
  1348. "adds x3, x3, x8\n\t"
  1349. "# A[2] * A[2]\n\t"
  1350. "mul x8, x12, x12\n\t"
  1351. "adcs x4, x4, x9\n\t"
  1352. "umulh x9, x12, x12\n\t"
  1353. "adc x2, x2, xzr\n\t"
  1354. "adds x3, x3, x8\n\t"
  1355. "str x3, [%[r], 32]\n\t"
  1356. "# A[0] * A[5]\n\t"
  1357. "mul x5, x10, x15\n\t"
  1358. "adcs x4, x4, x9\n\t"
  1359. "umulh x6, x10, x15\n\t"
  1360. "adc x2, x2, xzr\n\t"
  1361. "mov x3, xzr\n\t"
  1362. "mov x7, xzr\n\t"
  1363. "# A[1] * A[4]\n\t"
  1364. "mul x8, x11, x14\n\t"
  1365. "umulh x9, x11, x14\n\t"
  1366. "adds x5, x5, x8\n\t"
  1367. "# A[2] * A[3]\n\t"
  1368. "mul x8, x12, x13\n\t"
  1369. "adcs x6, x6, x9\n\t"
  1370. "umulh x9, x12, x13\n\t"
  1371. "adc x7, x7, xzr\n\t"
  1372. "adds x5, x5, x8\n\t"
  1373. "adcs x6, x6, x9\n\t"
  1374. "adc x7, x7, xzr\n\t"
  1375. "adds x5, x5, x5\n\t"
  1376. "adcs x6, x6, x6\n\t"
  1377. "adc x7, x7, x7\n\t"
  1378. "adds x4, x4, x5\n\t"
  1379. "adcs x2, x2, x6\n\t"
  1380. "adc x3, x3, x7\n\t"
  1381. "str x4, [%[r], 40]\n\t"
  1382. "# A[0] * A[6]\n\t"
  1383. "mul x5, x10, x16\n\t"
  1384. "umulh x6, x10, x16\n\t"
  1385. "mov x4, xzr\n\t"
  1386. "mov x7, xzr\n\t"
  1387. "# A[1] * A[5]\n\t"
  1388. "mul x8, x11, x15\n\t"
  1389. "umulh x9, x11, x15\n\t"
  1390. "adds x5, x5, x8\n\t"
  1391. "# A[2] * A[4]\n\t"
  1392. "mul x8, x12, x14\n\t"
  1393. "adcs x6, x6, x9\n\t"
  1394. "umulh x9, x12, x14\n\t"
  1395. "adc x7, x7, xzr\n\t"
  1396. "adds x5, x5, x8\n\t"
  1397. "# A[3] * A[3]\n\t"
  1398. "mul x8, x13, x13\n\t"
  1399. "adcs x6, x6, x9\n\t"
  1400. "umulh x9, x13, x13\n\t"
  1401. "adc x7, x7, xzr\n\t"
  1402. "adds x5, x5, x5\n\t"
  1403. "adcs x6, x6, x6\n\t"
  1404. "adc x7, x7, x7\n\t"
  1405. "adds x5, x5, x8\n\t"
  1406. "adcs x6, x6, x9\n\t"
  1407. "adc x7, x7, xzr\n\t"
  1408. "adds x2, x2, x5\n\t"
  1409. "adcs x3, x3, x6\n\t"
  1410. "adc x4, x4, x7\n\t"
  1411. "str x2, [%[r], 48]\n\t"
  1412. "# A[0] * A[7]\n\t"
  1413. "mul x5, x10, x17\n\t"
  1414. "umulh x6, x10, x17\n\t"
  1415. "mov x2, xzr\n\t"
  1416. "mov x7, xzr\n\t"
  1417. "# A[1] * A[6]\n\t"
  1418. "mul x8, x11, x16\n\t"
  1419. "umulh x9, x11, x16\n\t"
  1420. "adds x5, x5, x8\n\t"
  1421. "# A[2] * A[5]\n\t"
  1422. "mul x8, x12, x15\n\t"
  1423. "adcs x6, x6, x9\n\t"
  1424. "umulh x9, x12, x15\n\t"
  1425. "adc x7, x7, xzr\n\t"
  1426. "adds x5, x5, x8\n\t"
  1427. "# A[3] * A[4]\n\t"
  1428. "mul x8, x13, x14\n\t"
  1429. "adcs x6, x6, x9\n\t"
  1430. "umulh x9, x13, x14\n\t"
  1431. "adc x7, x7, xzr\n\t"
  1432. "adds x5, x5, x8\n\t"
  1433. "adcs x6, x6, x9\n\t"
  1434. "adc x7, x7, xzr\n\t"
  1435. "adds x5, x5, x5\n\t"
  1436. "adcs x6, x6, x6\n\t"
  1437. "adc x7, x7, x7\n\t"
  1438. "adds x3, x3, x5\n\t"
  1439. "adcs x4, x4, x6\n\t"
  1440. "adc x2, x2, x7\n\t"
  1441. "str x3, [%[r], 56]\n\t"
  1442. "# A[0] * A[8]\n\t"
  1443. "mul x5, x10, x19\n\t"
  1444. "umulh x6, x10, x19\n\t"
  1445. "mov x3, xzr\n\t"
  1446. "mov x7, xzr\n\t"
  1447. "# A[1] * A[7]\n\t"
  1448. "mul x8, x11, x17\n\t"
  1449. "umulh x9, x11, x17\n\t"
  1450. "adds x5, x5, x8\n\t"
  1451. "# A[2] * A[6]\n\t"
  1452. "mul x8, x12, x16\n\t"
  1453. "adcs x6, x6, x9\n\t"
  1454. "umulh x9, x12, x16\n\t"
  1455. "adc x7, x7, xzr\n\t"
  1456. "adds x5, x5, x8\n\t"
  1457. "# A[3] * A[5]\n\t"
  1458. "mul x8, x13, x15\n\t"
  1459. "adcs x6, x6, x9\n\t"
  1460. "umulh x9, x13, x15\n\t"
  1461. "adc x7, x7, xzr\n\t"
  1462. "adds x5, x5, x8\n\t"
  1463. "# A[4] * A[4]\n\t"
  1464. "mul x8, x14, x14\n\t"
  1465. "adcs x6, x6, x9\n\t"
  1466. "umulh x9, x14, x14\n\t"
  1467. "adc x7, x7, xzr\n\t"
  1468. "adds x5, x5, x5\n\t"
  1469. "adcs x6, x6, x6\n\t"
  1470. "adc x7, x7, x7\n\t"
  1471. "adds x5, x5, x8\n\t"
  1472. "adcs x6, x6, x9\n\t"
  1473. "adc x7, x7, xzr\n\t"
  1474. "adds x4, x4, x5\n\t"
  1475. "adcs x2, x2, x6\n\t"
  1476. "adc x3, x3, x7\n\t"
  1477. "str x4, [%[r], 64]\n\t"
  1478. "# A[0] * A[9]\n\t"
  1479. "mul x5, x10, x20\n\t"
  1480. "umulh x6, x10, x20\n\t"
  1481. "mov x4, xzr\n\t"
  1482. "mov x7, xzr\n\t"
  1483. "# A[1] * A[8]\n\t"
  1484. "mul x8, x11, x19\n\t"
  1485. "umulh x9, x11, x19\n\t"
  1486. "adds x5, x5, x8\n\t"
  1487. "# A[2] * A[7]\n\t"
  1488. "mul x8, x12, x17\n\t"
  1489. "adcs x6, x6, x9\n\t"
  1490. "umulh x9, x12, x17\n\t"
  1491. "adc x7, x7, xzr\n\t"
  1492. "adds x5, x5, x8\n\t"
  1493. "# A[3] * A[6]\n\t"
  1494. "mul x8, x13, x16\n\t"
  1495. "adcs x6, x6, x9\n\t"
  1496. "umulh x9, x13, x16\n\t"
  1497. "adc x7, x7, xzr\n\t"
  1498. "adds x5, x5, x8\n\t"
  1499. "# A[4] * A[5]\n\t"
  1500. "mul x8, x14, x15\n\t"
  1501. "adcs x6, x6, x9\n\t"
  1502. "umulh x9, x14, x15\n\t"
  1503. "adc x7, x7, xzr\n\t"
  1504. "adds x5, x5, x8\n\t"
  1505. "adcs x6, x6, x9\n\t"
  1506. "adc x7, x7, xzr\n\t"
  1507. "adds x5, x5, x5\n\t"
  1508. "adcs x6, x6, x6\n\t"
  1509. "adc x7, x7, x7\n\t"
  1510. "adds x2, x2, x5\n\t"
  1511. "adcs x3, x3, x6\n\t"
  1512. "adc x4, x4, x7\n\t"
  1513. "str x2, [%[r], 72]\n\t"
  1514. "# A[0] * A[10]\n\t"
  1515. "mul x5, x10, x21\n\t"
  1516. "umulh x6, x10, x21\n\t"
  1517. "mov x2, xzr\n\t"
  1518. "mov x7, xzr\n\t"
  1519. "# A[1] * A[9]\n\t"
  1520. "mul x8, x11, x20\n\t"
  1521. "umulh x9, x11, x20\n\t"
  1522. "adds x5, x5, x8\n\t"
  1523. "# A[2] * A[8]\n\t"
  1524. "mul x8, x12, x19\n\t"
  1525. "adcs x6, x6, x9\n\t"
  1526. "umulh x9, x12, x19\n\t"
  1527. "adc x7, x7, xzr\n\t"
  1528. "adds x5, x5, x8\n\t"
  1529. "# A[3] * A[7]\n\t"
  1530. "mul x8, x13, x17\n\t"
  1531. "adcs x6, x6, x9\n\t"
  1532. "umulh x9, x13, x17\n\t"
  1533. "adc x7, x7, xzr\n\t"
  1534. "adds x5, x5, x8\n\t"
  1535. "# A[4] * A[6]\n\t"
  1536. "mul x8, x14, x16\n\t"
  1537. "adcs x6, x6, x9\n\t"
  1538. "umulh x9, x14, x16\n\t"
  1539. "adc x7, x7, xzr\n\t"
  1540. "adds x5, x5, x8\n\t"
  1541. "# A[5] * A[5]\n\t"
  1542. "mul x8, x15, x15\n\t"
  1543. "adcs x6, x6, x9\n\t"
  1544. "umulh x9, x15, x15\n\t"
  1545. "adc x7, x7, xzr\n\t"
  1546. "adds x5, x5, x5\n\t"
  1547. "adcs x6, x6, x6\n\t"
  1548. "adc x7, x7, x7\n\t"
  1549. "adds x5, x5, x8\n\t"
  1550. "adcs x6, x6, x9\n\t"
  1551. "adc x7, x7, xzr\n\t"
  1552. "adds x3, x3, x5\n\t"
  1553. "adcs x4, x4, x6\n\t"
  1554. "adc x2, x2, x7\n\t"
  1555. "str x3, [%[r], 80]\n\t"
  1556. "# A[0] * A[11]\n\t"
  1557. "mul x5, x10, x22\n\t"
  1558. "umulh x6, x10, x22\n\t"
  1559. "mov x3, xzr\n\t"
  1560. "mov x7, xzr\n\t"
  1561. "# A[1] * A[10]\n\t"
  1562. "mul x8, x11, x21\n\t"
  1563. "umulh x9, x11, x21\n\t"
  1564. "adds x5, x5, x8\n\t"
  1565. "# A[2] * A[9]\n\t"
  1566. "mul x8, x12, x20\n\t"
  1567. "adcs x6, x6, x9\n\t"
  1568. "umulh x9, x12, x20\n\t"
  1569. "adc x7, x7, xzr\n\t"
  1570. "adds x5, x5, x8\n\t"
  1571. "# A[3] * A[8]\n\t"
  1572. "mul x8, x13, x19\n\t"
  1573. "adcs x6, x6, x9\n\t"
  1574. "umulh x9, x13, x19\n\t"
  1575. "adc x7, x7, xzr\n\t"
  1576. "adds x5, x5, x8\n\t"
  1577. "# A[4] * A[7]\n\t"
  1578. "mul x8, x14, x17\n\t"
  1579. "adcs x6, x6, x9\n\t"
  1580. "umulh x9, x14, x17\n\t"
  1581. "adc x7, x7, xzr\n\t"
  1582. "adds x5, x5, x8\n\t"
  1583. "# A[5] * A[6]\n\t"
  1584. "mul x8, x15, x16\n\t"
  1585. "adcs x6, x6, x9\n\t"
  1586. "umulh x9, x15, x16\n\t"
  1587. "adc x7, x7, xzr\n\t"
  1588. "adds x5, x5, x8\n\t"
  1589. "adcs x6, x6, x9\n\t"
  1590. "adc x7, x7, xzr\n\t"
  1591. "adds x5, x5, x5\n\t"
  1592. "adcs x6, x6, x6\n\t"
  1593. "adc x7, x7, x7\n\t"
  1594. "adds x4, x4, x5\n\t"
  1595. "adcs x2, x2, x6\n\t"
  1596. "adc x3, x3, x7\n\t"
  1597. "str x4, [%[r], 88]\n\t"
  1598. "# A[0] * A[12]\n\t"
  1599. "mul x5, x10, x23\n\t"
  1600. "umulh x6, x10, x23\n\t"
  1601. "mov x4, xzr\n\t"
  1602. "mov x7, xzr\n\t"
  1603. "# A[1] * A[11]\n\t"
  1604. "mul x8, x11, x22\n\t"
  1605. "umulh x9, x11, x22\n\t"
  1606. "adds x5, x5, x8\n\t"
  1607. "# A[2] * A[10]\n\t"
  1608. "mul x8, x12, x21\n\t"
  1609. "adcs x6, x6, x9\n\t"
  1610. "umulh x9, x12, x21\n\t"
  1611. "adc x7, x7, xzr\n\t"
  1612. "adds x5, x5, x8\n\t"
  1613. "# A[3] * A[9]\n\t"
  1614. "mul x8, x13, x20\n\t"
  1615. "adcs x6, x6, x9\n\t"
  1616. "umulh x9, x13, x20\n\t"
  1617. "adc x7, x7, xzr\n\t"
  1618. "adds x5, x5, x8\n\t"
  1619. "# A[4] * A[8]\n\t"
  1620. "mul x8, x14, x19\n\t"
  1621. "adcs x6, x6, x9\n\t"
  1622. "umulh x9, x14, x19\n\t"
  1623. "adc x7, x7, xzr\n\t"
  1624. "adds x5, x5, x8\n\t"
  1625. "# A[5] * A[7]\n\t"
  1626. "mul x8, x15, x17\n\t"
  1627. "adcs x6, x6, x9\n\t"
  1628. "umulh x9, x15, x17\n\t"
  1629. "adc x7, x7, xzr\n\t"
  1630. "adds x5, x5, x8\n\t"
  1631. "# A[6] * A[6]\n\t"
  1632. "mul x8, x16, x16\n\t"
  1633. "adcs x6, x6, x9\n\t"
  1634. "umulh x9, x16, x16\n\t"
  1635. "adc x7, x7, xzr\n\t"
  1636. "adds x5, x5, x5\n\t"
  1637. "adcs x6, x6, x6\n\t"
  1638. "adc x7, x7, x7\n\t"
  1639. "adds x5, x5, x8\n\t"
  1640. "adcs x6, x6, x9\n\t"
  1641. "adc x7, x7, xzr\n\t"
  1642. "adds x2, x2, x5\n\t"
  1643. "adcs x3, x3, x6\n\t"
  1644. "adc x4, x4, x7\n\t"
  1645. "str x2, [%[r], 96]\n\t"
  1646. "# A[0] * A[13]\n\t"
  1647. "mul x5, x10, x24\n\t"
  1648. "umulh x6, x10, x24\n\t"
  1649. "mov x2, xzr\n\t"
  1650. "mov x7, xzr\n\t"
  1651. "# A[1] * A[12]\n\t"
  1652. "mul x8, x11, x23\n\t"
  1653. "umulh x9, x11, x23\n\t"
  1654. "adds x5, x5, x8\n\t"
  1655. "# A[2] * A[11]\n\t"
  1656. "mul x8, x12, x22\n\t"
  1657. "adcs x6, x6, x9\n\t"
  1658. "umulh x9, x12, x22\n\t"
  1659. "adc x7, x7, xzr\n\t"
  1660. "adds x5, x5, x8\n\t"
  1661. "# A[3] * A[10]\n\t"
  1662. "mul x8, x13, x21\n\t"
  1663. "adcs x6, x6, x9\n\t"
  1664. "umulh x9, x13, x21\n\t"
  1665. "adc x7, x7, xzr\n\t"
  1666. "adds x5, x5, x8\n\t"
  1667. "# A[4] * A[9]\n\t"
  1668. "mul x8, x14, x20\n\t"
  1669. "adcs x6, x6, x9\n\t"
  1670. "umulh x9, x14, x20\n\t"
  1671. "adc x7, x7, xzr\n\t"
  1672. "adds x5, x5, x8\n\t"
  1673. "# A[5] * A[8]\n\t"
  1674. "mul x8, x15, x19\n\t"
  1675. "adcs x6, x6, x9\n\t"
  1676. "umulh x9, x15, x19\n\t"
  1677. "adc x7, x7, xzr\n\t"
  1678. "adds x5, x5, x8\n\t"
  1679. "# A[6] * A[7]\n\t"
  1680. "mul x8, x16, x17\n\t"
  1681. "adcs x6, x6, x9\n\t"
  1682. "umulh x9, x16, x17\n\t"
  1683. "adc x7, x7, xzr\n\t"
  1684. "adds x5, x5, x8\n\t"
  1685. "adcs x6, x6, x9\n\t"
  1686. "adc x7, x7, xzr\n\t"
  1687. "adds x5, x5, x5\n\t"
  1688. "adcs x6, x6, x6\n\t"
  1689. "adc x7, x7, x7\n\t"
  1690. "adds x3, x3, x5\n\t"
  1691. "adcs x4, x4, x6\n\t"
  1692. "adc x2, x2, x7\n\t"
  1693. "str x3, [%[r], 104]\n\t"
  1694. "# A[0] * A[14]\n\t"
  1695. "mul x5, x10, x25\n\t"
  1696. "umulh x6, x10, x25\n\t"
  1697. "mov x3, xzr\n\t"
  1698. "mov x7, xzr\n\t"
  1699. "# A[1] * A[13]\n\t"
  1700. "mul x8, x11, x24\n\t"
  1701. "umulh x9, x11, x24\n\t"
  1702. "adds x5, x5, x8\n\t"
  1703. "# A[2] * A[12]\n\t"
  1704. "mul x8, x12, x23\n\t"
  1705. "adcs x6, x6, x9\n\t"
  1706. "umulh x9, x12, x23\n\t"
  1707. "adc x7, x7, xzr\n\t"
  1708. "adds x5, x5, x8\n\t"
  1709. "# A[3] * A[11]\n\t"
  1710. "mul x8, x13, x22\n\t"
  1711. "adcs x6, x6, x9\n\t"
  1712. "umulh x9, x13, x22\n\t"
  1713. "adc x7, x7, xzr\n\t"
  1714. "adds x5, x5, x8\n\t"
  1715. "# A[4] * A[10]\n\t"
  1716. "mul x8, x14, x21\n\t"
  1717. "adcs x6, x6, x9\n\t"
  1718. "umulh x9, x14, x21\n\t"
  1719. "adc x7, x7, xzr\n\t"
  1720. "adds x5, x5, x8\n\t"
  1721. "# A[5] * A[9]\n\t"
  1722. "mul x8, x15, x20\n\t"
  1723. "adcs x6, x6, x9\n\t"
  1724. "umulh x9, x15, x20\n\t"
  1725. "adc x7, x7, xzr\n\t"
  1726. "adds x5, x5, x8\n\t"
  1727. "# A[6] * A[8]\n\t"
  1728. "mul x8, x16, x19\n\t"
  1729. "adcs x6, x6, x9\n\t"
  1730. "umulh x9, x16, x19\n\t"
  1731. "adc x7, x7, xzr\n\t"
  1732. "adds x5, x5, x8\n\t"
  1733. "# A[7] * A[7]\n\t"
  1734. "mul x8, x17, x17\n\t"
  1735. "adcs x6, x6, x9\n\t"
  1736. "umulh x9, x17, x17\n\t"
  1737. "adc x7, x7, xzr\n\t"
  1738. "adds x5, x5, x5\n\t"
  1739. "adcs x6, x6, x6\n\t"
  1740. "adc x7, x7, x7\n\t"
  1741. "adds x5, x5, x8\n\t"
  1742. "adcs x6, x6, x9\n\t"
  1743. "adc x7, x7, xzr\n\t"
  1744. "adds x4, x4, x5\n\t"
  1745. "adcs x2, x2, x6\n\t"
  1746. "adc x3, x3, x7\n\t"
  1747. "str x4, [%[r], 112]\n\t"
  1748. "# A[0] * A[15]\n\t"
  1749. "mul x5, x10, x26\n\t"
  1750. "umulh x6, x10, x26\n\t"
  1751. "mov x4, xzr\n\t"
  1752. "mov x7, xzr\n\t"
  1753. "# A[1] * A[14]\n\t"
  1754. "mul x8, x11, x25\n\t"
  1755. "umulh x9, x11, x25\n\t"
  1756. "adds x5, x5, x8\n\t"
  1757. "# A[2] * A[13]\n\t"
  1758. "mul x8, x12, x24\n\t"
  1759. "adcs x6, x6, x9\n\t"
  1760. "umulh x9, x12, x24\n\t"
  1761. "adc x7, x7, xzr\n\t"
  1762. "adds x5, x5, x8\n\t"
  1763. "# A[3] * A[12]\n\t"
  1764. "mul x8, x13, x23\n\t"
  1765. "adcs x6, x6, x9\n\t"
  1766. "umulh x9, x13, x23\n\t"
  1767. "adc x7, x7, xzr\n\t"
  1768. "adds x5, x5, x8\n\t"
  1769. "# A[4] * A[11]\n\t"
  1770. "mul x8, x14, x22\n\t"
  1771. "adcs x6, x6, x9\n\t"
  1772. "umulh x9, x14, x22\n\t"
  1773. "adc x7, x7, xzr\n\t"
  1774. "adds x5, x5, x8\n\t"
  1775. "# A[5] * A[10]\n\t"
  1776. "mul x8, x15, x21\n\t"
  1777. "adcs x6, x6, x9\n\t"
  1778. "umulh x9, x15, x21\n\t"
  1779. "adc x7, x7, xzr\n\t"
  1780. "adds x5, x5, x8\n\t"
  1781. "# A[6] * A[9]\n\t"
  1782. "mul x8, x16, x20\n\t"
  1783. "adcs x6, x6, x9\n\t"
  1784. "umulh x9, x16, x20\n\t"
  1785. "adc x7, x7, xzr\n\t"
  1786. "adds x5, x5, x8\n\t"
  1787. "# A[7] * A[8]\n\t"
  1788. "mul x8, x17, x19\n\t"
  1789. "adcs x6, x6, x9\n\t"
  1790. "umulh x9, x17, x19\n\t"
  1791. "adc x7, x7, xzr\n\t"
  1792. "adds x5, x5, x8\n\t"
  1793. "adcs x6, x6, x9\n\t"
  1794. "adc x7, x7, xzr\n\t"
  1795. "adds x5, x5, x5\n\t"
  1796. "adcs x6, x6, x6\n\t"
  1797. "adc x7, x7, x7\n\t"
  1798. "adds x2, x2, x5\n\t"
  1799. "adcs x3, x3, x6\n\t"
  1800. "adc x4, x4, x7\n\t"
  1801. "str x2, [%[r], 120]\n\t"
  1802. "# A[1] * A[15]\n\t"
  1803. "mul x5, x11, x26\n\t"
  1804. "umulh x6, x11, x26\n\t"
  1805. "mov x2, xzr\n\t"
  1806. "mov x7, xzr\n\t"
  1807. "# A[2] * A[14]\n\t"
  1808. "mul x8, x12, x25\n\t"
  1809. "umulh x9, x12, x25\n\t"
  1810. "adds x5, x5, x8\n\t"
  1811. "# A[3] * A[13]\n\t"
  1812. "mul x8, x13, x24\n\t"
  1813. "adcs x6, x6, x9\n\t"
  1814. "umulh x9, x13, x24\n\t"
  1815. "adc x7, x7, xzr\n\t"
  1816. "adds x5, x5, x8\n\t"
  1817. "# A[4] * A[12]\n\t"
  1818. "mul x8, x14, x23\n\t"
  1819. "adcs x6, x6, x9\n\t"
  1820. "umulh x9, x14, x23\n\t"
  1821. "adc x7, x7, xzr\n\t"
  1822. "adds x5, x5, x8\n\t"
  1823. "# A[5] * A[11]\n\t"
  1824. "mul x8, x15, x22\n\t"
  1825. "adcs x6, x6, x9\n\t"
  1826. "umulh x9, x15, x22\n\t"
  1827. "adc x7, x7, xzr\n\t"
  1828. "adds x5, x5, x8\n\t"
  1829. "# A[6] * A[10]\n\t"
  1830. "mul x8, x16, x21\n\t"
  1831. "adcs x6, x6, x9\n\t"
  1832. "umulh x9, x16, x21\n\t"
  1833. "adc x7, x7, xzr\n\t"
  1834. "adds x5, x5, x8\n\t"
  1835. "# A[7] * A[9]\n\t"
  1836. "mul x8, x17, x20\n\t"
  1837. "adcs x6, x6, x9\n\t"
  1838. "umulh x9, x17, x20\n\t"
  1839. "adc x7, x7, xzr\n\t"
  1840. "adds x5, x5, x8\n\t"
  1841. "# A[8] * A[8]\n\t"
  1842. "mul x8, x19, x19\n\t"
  1843. "adcs x6, x6, x9\n\t"
  1844. "umulh x9, x19, x19\n\t"
  1845. "adc x7, x7, xzr\n\t"
  1846. "adds x5, x5, x5\n\t"
  1847. "adcs x6, x6, x6\n\t"
  1848. "adc x7, x7, x7\n\t"
  1849. "adds x5, x5, x8\n\t"
  1850. "adcs x6, x6, x9\n\t"
  1851. "adc x7, x7, xzr\n\t"
  1852. "adds x3, x3, x5\n\t"
  1853. "adcs x4, x4, x6\n\t"
  1854. "adc x2, x2, x7\n\t"
  1855. "str x3, [%[r], 128]\n\t"
  1856. "# A[2] * A[15]\n\t"
  1857. "mul x5, x12, x26\n\t"
  1858. "umulh x6, x12, x26\n\t"
  1859. "mov x3, xzr\n\t"
  1860. "mov x7, xzr\n\t"
  1861. "# A[3] * A[14]\n\t"
  1862. "mul x8, x13, x25\n\t"
  1863. "umulh x9, x13, x25\n\t"
  1864. "adds x5, x5, x8\n\t"
  1865. "# A[4] * A[13]\n\t"
  1866. "mul x8, x14, x24\n\t"
  1867. "adcs x6, x6, x9\n\t"
  1868. "umulh x9, x14, x24\n\t"
  1869. "adc x7, x7, xzr\n\t"
  1870. "adds x5, x5, x8\n\t"
  1871. "# A[5] * A[12]\n\t"
  1872. "mul x8, x15, x23\n\t"
  1873. "adcs x6, x6, x9\n\t"
  1874. "umulh x9, x15, x23\n\t"
  1875. "adc x7, x7, xzr\n\t"
  1876. "adds x5, x5, x8\n\t"
  1877. "# A[6] * A[11]\n\t"
  1878. "mul x8, x16, x22\n\t"
  1879. "adcs x6, x6, x9\n\t"
  1880. "umulh x9, x16, x22\n\t"
  1881. "adc x7, x7, xzr\n\t"
  1882. "adds x5, x5, x8\n\t"
  1883. "# A[7] * A[10]\n\t"
  1884. "mul x8, x17, x21\n\t"
  1885. "adcs x6, x6, x9\n\t"
  1886. "umulh x9, x17, x21\n\t"
  1887. "adc x7, x7, xzr\n\t"
  1888. "adds x5, x5, x8\n\t"
  1889. "# A[8] * A[9]\n\t"
  1890. "mul x8, x19, x20\n\t"
  1891. "adcs x6, x6, x9\n\t"
  1892. "umulh x9, x19, x20\n\t"
  1893. "adc x7, x7, xzr\n\t"
  1894. "adds x5, x5, x8\n\t"
  1895. "adcs x6, x6, x9\n\t"
  1896. "adc x7, x7, xzr\n\t"
  1897. "adds x5, x5, x5\n\t"
  1898. "adcs x6, x6, x6\n\t"
  1899. "adc x7, x7, x7\n\t"
  1900. "adds x4, x4, x5\n\t"
  1901. "adcs x2, x2, x6\n\t"
  1902. "adc x3, x3, x7\n\t"
  1903. "str x4, [%[r], 136]\n\t"
  1904. "# A[3] * A[15]\n\t"
  1905. "mul x5, x13, x26\n\t"
  1906. "umulh x6, x13, x26\n\t"
  1907. "mov x4, xzr\n\t"
  1908. "mov x7, xzr\n\t"
  1909. "# A[4] * A[14]\n\t"
  1910. "mul x8, x14, x25\n\t"
  1911. "umulh x9, x14, x25\n\t"
  1912. "adds x5, x5, x8\n\t"
  1913. "# A[5] * A[13]\n\t"
  1914. "mul x8, x15, x24\n\t"
  1915. "adcs x6, x6, x9\n\t"
  1916. "umulh x9, x15, x24\n\t"
  1917. "adc x7, x7, xzr\n\t"
  1918. "adds x5, x5, x8\n\t"
  1919. "# A[6] * A[12]\n\t"
  1920. "mul x8, x16, x23\n\t"
  1921. "adcs x6, x6, x9\n\t"
  1922. "umulh x9, x16, x23\n\t"
  1923. "adc x7, x7, xzr\n\t"
  1924. "adds x5, x5, x8\n\t"
  1925. "# A[7] * A[11]\n\t"
  1926. "mul x8, x17, x22\n\t"
  1927. "adcs x6, x6, x9\n\t"
  1928. "umulh x9, x17, x22\n\t"
  1929. "adc x7, x7, xzr\n\t"
  1930. "adds x5, x5, x8\n\t"
  1931. "# A[8] * A[10]\n\t"
  1932. "mul x8, x19, x21\n\t"
  1933. "adcs x6, x6, x9\n\t"
  1934. "umulh x9, x19, x21\n\t"
  1935. "adc x7, x7, xzr\n\t"
  1936. "adds x5, x5, x8\n\t"
  1937. "# A[9] * A[9]\n\t"
  1938. "mul x8, x20, x20\n\t"
  1939. "adcs x6, x6, x9\n\t"
  1940. "umulh x9, x20, x20\n\t"
  1941. "adc x7, x7, xzr\n\t"
  1942. "adds x5, x5, x5\n\t"
  1943. "adcs x6, x6, x6\n\t"
  1944. "adc x7, x7, x7\n\t"
  1945. "adds x5, x5, x8\n\t"
  1946. "adcs x6, x6, x9\n\t"
  1947. "adc x7, x7, xzr\n\t"
  1948. "adds x2, x2, x5\n\t"
  1949. "adcs x3, x3, x6\n\t"
  1950. "adc x4, x4, x7\n\t"
  1951. "str x2, [%[r], 144]\n\t"
  1952. "# A[4] * A[15]\n\t"
  1953. "mul x5, x14, x26\n\t"
  1954. "umulh x6, x14, x26\n\t"
  1955. "mov x2, xzr\n\t"
  1956. "mov x7, xzr\n\t"
  1957. "# A[5] * A[14]\n\t"
  1958. "mul x8, x15, x25\n\t"
  1959. "umulh x9, x15, x25\n\t"
  1960. "adds x5, x5, x8\n\t"
  1961. "# A[6] * A[13]\n\t"
  1962. "mul x8, x16, x24\n\t"
  1963. "adcs x6, x6, x9\n\t"
  1964. "umulh x9, x16, x24\n\t"
  1965. "adc x7, x7, xzr\n\t"
  1966. "adds x5, x5, x8\n\t"
  1967. "# A[7] * A[12]\n\t"
  1968. "mul x8, x17, x23\n\t"
  1969. "adcs x6, x6, x9\n\t"
  1970. "umulh x9, x17, x23\n\t"
  1971. "adc x7, x7, xzr\n\t"
  1972. "adds x5, x5, x8\n\t"
  1973. "# A[8] * A[11]\n\t"
  1974. "mul x8, x19, x22\n\t"
  1975. "adcs x6, x6, x9\n\t"
  1976. "umulh x9, x19, x22\n\t"
  1977. "adc x7, x7, xzr\n\t"
  1978. "adds x5, x5, x8\n\t"
  1979. "# A[9] * A[10]\n\t"
  1980. "mul x8, x20, x21\n\t"
  1981. "adcs x6, x6, x9\n\t"
  1982. "umulh x9, x20, x21\n\t"
  1983. "adc x7, x7, xzr\n\t"
  1984. "adds x5, x5, x8\n\t"
  1985. "adcs x6, x6, x9\n\t"
  1986. "adc x7, x7, xzr\n\t"
  1987. "adds x5, x5, x5\n\t"
  1988. "adcs x6, x6, x6\n\t"
  1989. "adc x7, x7, x7\n\t"
  1990. "adds x3, x3, x5\n\t"
  1991. "adcs x4, x4, x6\n\t"
  1992. "adc x2, x2, x7\n\t"
  1993. "str x3, [%[r], 152]\n\t"
  1994. "# A[5] * A[15]\n\t"
  1995. "mul x5, x15, x26\n\t"
  1996. "umulh x6, x15, x26\n\t"
  1997. "mov x3, xzr\n\t"
  1998. "mov x7, xzr\n\t"
  1999. "# A[6] * A[14]\n\t"
  2000. "mul x8, x16, x25\n\t"
  2001. "umulh x9, x16, x25\n\t"
  2002. "adds x5, x5, x8\n\t"
  2003. "# A[7] * A[13]\n\t"
  2004. "mul x8, x17, x24\n\t"
  2005. "adcs x6, x6, x9\n\t"
  2006. "umulh x9, x17, x24\n\t"
  2007. "adc x7, x7, xzr\n\t"
  2008. "adds x5, x5, x8\n\t"
  2009. "# A[8] * A[12]\n\t"
  2010. "mul x8, x19, x23\n\t"
  2011. "adcs x6, x6, x9\n\t"
  2012. "umulh x9, x19, x23\n\t"
  2013. "adc x7, x7, xzr\n\t"
  2014. "adds x5, x5, x8\n\t"
  2015. "# A[9] * A[11]\n\t"
  2016. "mul x8, x20, x22\n\t"
  2017. "adcs x6, x6, x9\n\t"
  2018. "umulh x9, x20, x22\n\t"
  2019. "adc x7, x7, xzr\n\t"
  2020. "adds x5, x5, x8\n\t"
  2021. "# A[10] * A[10]\n\t"
  2022. "mul x8, x21, x21\n\t"
  2023. "adcs x6, x6, x9\n\t"
  2024. "umulh x9, x21, x21\n\t"
  2025. "adc x7, x7, xzr\n\t"
  2026. "adds x5, x5, x5\n\t"
  2027. "adcs x6, x6, x6\n\t"
  2028. "adc x7, x7, x7\n\t"
  2029. "adds x5, x5, x8\n\t"
  2030. "adcs x6, x6, x9\n\t"
  2031. "adc x7, x7, xzr\n\t"
  2032. "adds x4, x4, x5\n\t"
  2033. "adcs x2, x2, x6\n\t"
  2034. "adc x3, x3, x7\n\t"
  2035. "str x4, [%[r], 160]\n\t"
  2036. "# A[6] * A[15]\n\t"
  2037. "mul x5, x16, x26\n\t"
  2038. "umulh x6, x16, x26\n\t"
  2039. "mov x4, xzr\n\t"
  2040. "mov x7, xzr\n\t"
  2041. "# A[7] * A[14]\n\t"
  2042. "mul x8, x17, x25\n\t"
  2043. "umulh x9, x17, x25\n\t"
  2044. "adds x5, x5, x8\n\t"
  2045. "# A[8] * A[13]\n\t"
  2046. "mul x8, x19, x24\n\t"
  2047. "adcs x6, x6, x9\n\t"
  2048. "umulh x9, x19, x24\n\t"
  2049. "adc x7, x7, xzr\n\t"
  2050. "adds x5, x5, x8\n\t"
  2051. "# A[9] * A[12]\n\t"
  2052. "mul x8, x20, x23\n\t"
  2053. "adcs x6, x6, x9\n\t"
  2054. "umulh x9, x20, x23\n\t"
  2055. "adc x7, x7, xzr\n\t"
  2056. "adds x5, x5, x8\n\t"
  2057. "# A[10] * A[11]\n\t"
  2058. "mul x8, x21, x22\n\t"
  2059. "adcs x6, x6, x9\n\t"
  2060. "umulh x9, x21, x22\n\t"
  2061. "adc x7, x7, xzr\n\t"
  2062. "adds x5, x5, x8\n\t"
  2063. "adcs x6, x6, x9\n\t"
  2064. "adc x7, x7, xzr\n\t"
  2065. "adds x5, x5, x5\n\t"
  2066. "adcs x6, x6, x6\n\t"
  2067. "adc x7, x7, x7\n\t"
  2068. "adds x2, x2, x5\n\t"
  2069. "adcs x3, x3, x6\n\t"
  2070. "adc x4, x4, x7\n\t"
  2071. "str x2, [%[r], 168]\n\t"
  2072. "# A[7] * A[15]\n\t"
  2073. "mul x5, x17, x26\n\t"
  2074. "umulh x6, x17, x26\n\t"
  2075. "mov x2, xzr\n\t"
  2076. "mov x7, xzr\n\t"
  2077. "# A[8] * A[14]\n\t"
  2078. "mul x8, x19, x25\n\t"
  2079. "umulh x9, x19, x25\n\t"
  2080. "adds x5, x5, x8\n\t"
  2081. "# A[9] * A[13]\n\t"
  2082. "mul x8, x20, x24\n\t"
  2083. "adcs x6, x6, x9\n\t"
  2084. "umulh x9, x20, x24\n\t"
  2085. "adc x7, x7, xzr\n\t"
  2086. "adds x5, x5, x8\n\t"
  2087. "# A[10] * A[12]\n\t"
  2088. "mul x8, x21, x23\n\t"
  2089. "adcs x6, x6, x9\n\t"
  2090. "umulh x9, x21, x23\n\t"
  2091. "adc x7, x7, xzr\n\t"
  2092. "adds x5, x5, x8\n\t"
  2093. "# A[11] * A[11]\n\t"
  2094. "mul x8, x22, x22\n\t"
  2095. "adcs x6, x6, x9\n\t"
  2096. "umulh x9, x22, x22\n\t"
  2097. "adc x7, x7, xzr\n\t"
  2098. "adds x5, x5, x5\n\t"
  2099. "adcs x6, x6, x6\n\t"
  2100. "adc x7, x7, x7\n\t"
  2101. "adds x5, x5, x8\n\t"
  2102. "adcs x6, x6, x9\n\t"
  2103. "adc x7, x7, xzr\n\t"
  2104. "adds x3, x3, x5\n\t"
  2105. "adcs x4, x4, x6\n\t"
  2106. "adc x2, x2, x7\n\t"
  2107. "str x3, [%[r], 176]\n\t"
  2108. "# A[8] * A[15]\n\t"
  2109. "mul x5, x19, x26\n\t"
  2110. "umulh x6, x19, x26\n\t"
  2111. "mov x3, xzr\n\t"
  2112. "mov x7, xzr\n\t"
  2113. "# A[9] * A[14]\n\t"
  2114. "mul x8, x20, x25\n\t"
  2115. "umulh x9, x20, x25\n\t"
  2116. "adds x5, x5, x8\n\t"
  2117. "# A[10] * A[13]\n\t"
  2118. "mul x8, x21, x24\n\t"
  2119. "adcs x6, x6, x9\n\t"
  2120. "umulh x9, x21, x24\n\t"
  2121. "adc x7, x7, xzr\n\t"
  2122. "adds x5, x5, x8\n\t"
  2123. "# A[11] * A[12]\n\t"
  2124. "mul x8, x22, x23\n\t"
  2125. "adcs x6, x6, x9\n\t"
  2126. "umulh x9, x22, x23\n\t"
  2127. "adc x7, x7, xzr\n\t"
  2128. "adds x5, x5, x8\n\t"
  2129. "adcs x6, x6, x9\n\t"
  2130. "adc x7, x7, xzr\n\t"
  2131. "adds x5, x5, x5\n\t"
  2132. "adcs x6, x6, x6\n\t"
  2133. "adc x7, x7, x7\n\t"
  2134. "adds x4, x4, x5\n\t"
  2135. "adcs x2, x2, x6\n\t"
  2136. "adc x3, x3, x7\n\t"
  2137. "str x4, [%[r], 184]\n\t"
  2138. "# A[9] * A[15]\n\t"
  2139. "mul x5, x20, x26\n\t"
  2140. "umulh x6, x20, x26\n\t"
  2141. "mov x4, xzr\n\t"
  2142. "mov x7, xzr\n\t"
  2143. "# A[10] * A[14]\n\t"
  2144. "mul x8, x21, x25\n\t"
  2145. "umulh x9, x21, x25\n\t"
  2146. "adds x5, x5, x8\n\t"
  2147. "# A[11] * A[13]\n\t"
  2148. "mul x8, x22, x24\n\t"
  2149. "adcs x6, x6, x9\n\t"
  2150. "umulh x9, x22, x24\n\t"
  2151. "adc x7, x7, xzr\n\t"
  2152. "adds x5, x5, x8\n\t"
  2153. "# A[12] * A[12]\n\t"
  2154. "mul x8, x23, x23\n\t"
  2155. "adcs x6, x6, x9\n\t"
  2156. "umulh x9, x23, x23\n\t"
  2157. "adc x7, x7, xzr\n\t"
  2158. "adds x5, x5, x5\n\t"
  2159. "adcs x6, x6, x6\n\t"
  2160. "adc x7, x7, x7\n\t"
  2161. "adds x5, x5, x8\n\t"
  2162. "adcs x6, x6, x9\n\t"
  2163. "adc x7, x7, xzr\n\t"
  2164. "adds x2, x2, x5\n\t"
  2165. "adcs x3, x3, x6\n\t"
  2166. "adc x4, x4, x7\n\t"
  2167. "str x2, [%[r], 192]\n\t"
  2168. "# A[10] * A[15]\n\t"
  2169. "mul x5, x21, x26\n\t"
  2170. "umulh x6, x21, x26\n\t"
  2171. "mov x2, xzr\n\t"
  2172. "mov x7, xzr\n\t"
  2173. "# A[11] * A[14]\n\t"
  2174. "mul x8, x22, x25\n\t"
  2175. "umulh x9, x22, x25\n\t"
  2176. "adds x5, x5, x8\n\t"
  2177. "# A[12] * A[13]\n\t"
  2178. "mul x8, x23, x24\n\t"
  2179. "adcs x6, x6, x9\n\t"
  2180. "umulh x9, x23, x24\n\t"
  2181. "adc x7, x7, xzr\n\t"
  2182. "adds x5, x5, x8\n\t"
  2183. "adcs x6, x6, x9\n\t"
  2184. "adc x7, x7, xzr\n\t"
  2185. "adds x5, x5, x5\n\t"
  2186. "adcs x6, x6, x6\n\t"
  2187. "adc x7, x7, x7\n\t"
  2188. "adds x3, x3, x5\n\t"
  2189. "adcs x4, x4, x6\n\t"
  2190. "adc x2, x2, x7\n\t"
  2191. "str x3, [%[r], 200]\n\t"
  2192. "# A[11] * A[15]\n\t"
  2193. "mul x8, x22, x26\n\t"
  2194. "umulh x9, x22, x26\n\t"
  2195. "adds x4, x4, x8\n\t"
  2196. "adcs x2, x2, x9\n\t"
  2197. "adc x3, xzr, xzr\n\t"
  2198. "adds x4, x4, x8\n\t"
  2199. "# A[12] * A[14]\n\t"
  2200. "mul x8, x23, x25\n\t"
  2201. "adcs x2, x2, x9\n\t"
  2202. "umulh x9, x23, x25\n\t"
  2203. "adc x3, x3, xzr\n\t"
  2204. "adds x4, x4, x8\n\t"
  2205. "adcs x2, x2, x9\n\t"
  2206. "adc x3, x3, xzr\n\t"
  2207. "adds x4, x4, x8\n\t"
  2208. "# A[13] * A[13]\n\t"
  2209. "mul x8, x24, x24\n\t"
  2210. "adcs x2, x2, x9\n\t"
  2211. "umulh x9, x24, x24\n\t"
  2212. "adc x3, x3, xzr\n\t"
  2213. "adds x4, x4, x8\n\t"
  2214. "str x4, [%[r], 208]\n\t"
  2215. "# A[12] * A[15]\n\t"
  2216. "mul x8, x23, x26\n\t"
  2217. "adcs x2, x2, x9\n\t"
  2218. "umulh x9, x23, x26\n\t"
  2219. "adc x3, x3, xzr\n\t"
  2220. "adds x2, x2, x8\n\t"
  2221. "adcs x3, x3, x9\n\t"
  2222. "adc x4, xzr, xzr\n\t"
  2223. "adds x2, x2, x8\n\t"
  2224. "# A[13] * A[14]\n\t"
  2225. "mul x8, x24, x25\n\t"
  2226. "adcs x3, x3, x9\n\t"
  2227. "umulh x9, x24, x25\n\t"
  2228. "adc x4, x4, xzr\n\t"
  2229. "adds x2, x2, x8\n\t"
  2230. "adcs x3, x3, x9\n\t"
  2231. "adc x4, x4, xzr\n\t"
  2232. "adds x2, x2, x8\n\t"
  2233. "str x2, [%[r], 216]\n\t"
  2234. "# A[13] * A[15]\n\t"
  2235. "mul x8, x24, x26\n\t"
  2236. "adcs x3, x3, x9\n\t"
  2237. "umulh x9, x24, x26\n\t"
  2238. "adc x4, x4, xzr\n\t"
  2239. "adds x3, x3, x8\n\t"
  2240. "adcs x4, x4, x9\n\t"
  2241. "adc x2, xzr, xzr\n\t"
  2242. "adds x3, x3, x8\n\t"
  2243. "# A[14] * A[14]\n\t"
  2244. "mul x8, x25, x25\n\t"
  2245. "adcs x4, x4, x9\n\t"
  2246. "umulh x9, x25, x25\n\t"
  2247. "adc x2, x2, xzr\n\t"
  2248. "adds x3, x3, x8\n\t"
  2249. "str x3, [%[r], 224]\n\t"
  2250. "# A[14] * A[15]\n\t"
  2251. "mul x8, x25, x26\n\t"
  2252. "adcs x4, x4, x9\n\t"
  2253. "umulh x9, x25, x26\n\t"
  2254. "adc x2, x2, xzr\n\t"
  2255. "adds x4, x4, x8\n\t"
  2256. "adcs x2, x2, x9\n\t"
  2257. "adc x3, xzr, xzr\n\t"
  2258. "adds x4, x4, x8\n\t"
  2259. "str x4, [%[r], 232]\n\t"
  2260. "# A[15] * A[15]\n\t"
  2261. "mul x8, x26, x26\n\t"
  2262. "adcs x2, x2, x9\n\t"
  2263. "umulh x9, x26, x26\n\t"
  2264. "adc x3, x3, xzr\n\t"
  2265. "adds x2, x2, x8\n\t"
  2266. "adc x3, x3, x9\n\t"
  2267. "stp x2, x3, [%[r], 240]\n\t"
  2268. :
  2269. : [r] "r" (r), [a] "r" (a)
  2270. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26"
  2271. );
  2272. }
  2273. /* Sub b from a into r. (r = a - b)
  2274. *
  2275. * r A single precision integer.
  2276. * a A single precision integer.
  2277. * b A single precision integer.
  2278. */
  2279. static sp_digit sp_2048_sub_16(sp_digit* r, const sp_digit* a,
  2280. const sp_digit* b)
  2281. {
  2282. __asm__ __volatile__ (
  2283. "ldp x3, x4, [%[a], 0]\n\t"
  2284. "ldp x7, x8, [%[b], 0]\n\t"
  2285. "subs x3, x3, x7\n\t"
  2286. "ldp x5, x6, [%[a], 16]\n\t"
  2287. "sbcs x4, x4, x8\n\t"
  2288. "ldp x9, x10, [%[b], 16]\n\t"
  2289. "sbcs x5, x5, x9\n\t"
  2290. "stp x3, x4, [%[r], 0]\n\t"
  2291. "sbcs x6, x6, x10\n\t"
  2292. "stp x5, x6, [%[r], 16]\n\t"
  2293. "ldp x3, x4, [%[a], 32]\n\t"
  2294. "ldp x7, x8, [%[b], 32]\n\t"
  2295. "sbcs x3, x3, x7\n\t"
  2296. "ldp x5, x6, [%[a], 48]\n\t"
  2297. "sbcs x4, x4, x8\n\t"
  2298. "ldp x9, x10, [%[b], 48]\n\t"
  2299. "sbcs x5, x5, x9\n\t"
  2300. "stp x3, x4, [%[r], 32]\n\t"
  2301. "sbcs x6, x6, x10\n\t"
  2302. "stp x5, x6, [%[r], 48]\n\t"
  2303. "ldp x3, x4, [%[a], 64]\n\t"
  2304. "ldp x7, x8, [%[b], 64]\n\t"
  2305. "sbcs x3, x3, x7\n\t"
  2306. "ldp x5, x6, [%[a], 80]\n\t"
  2307. "sbcs x4, x4, x8\n\t"
  2308. "ldp x9, x10, [%[b], 80]\n\t"
  2309. "sbcs x5, x5, x9\n\t"
  2310. "stp x3, x4, [%[r], 64]\n\t"
  2311. "sbcs x6, x6, x10\n\t"
  2312. "stp x5, x6, [%[r], 80]\n\t"
  2313. "ldp x3, x4, [%[a], 96]\n\t"
  2314. "ldp x7, x8, [%[b], 96]\n\t"
  2315. "sbcs x3, x3, x7\n\t"
  2316. "ldp x5, x6, [%[a], 112]\n\t"
  2317. "sbcs x4, x4, x8\n\t"
  2318. "ldp x9, x10, [%[b], 112]\n\t"
  2319. "sbcs x5, x5, x9\n\t"
  2320. "stp x3, x4, [%[r], 96]\n\t"
  2321. "sbcs x6, x6, x10\n\t"
  2322. "stp x5, x6, [%[r], 112]\n\t"
  2323. "csetm %[r], cc\n\t"
  2324. : [r] "+r" (r)
  2325. : [a] "r" (a), [b] "r" (b)
  2326. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  2327. );
  2328. return (sp_digit)r;
  2329. }
  2330. /* Square a and put result in r. (r = a * a)
  2331. *
  2332. * r A single precision integer.
  2333. * a A single precision integer.
  2334. */
  2335. SP_NOINLINE static void sp_2048_sqr_32(sp_digit* r, const sp_digit* a)
  2336. {
  2337. sp_digit* z0 = r;
  2338. sp_digit* z2 = r + 32;
  2339. sp_digit z1[32];
  2340. sp_digit* a1 = z1;
  2341. sp_digit* zero = z1 + 16;
  2342. sp_digit u;
  2343. sp_digit mask;
  2344. sp_digit* p1;
  2345. sp_digit* p2;
  2346. XMEMSET(zero, 0, sizeof(sp_digit) * 16);
  2347. mask = sp_2048_sub_16(a1, a, &a[16]);
  2348. p1 = (sp_digit*)(((sp_digit)zero & mask ) | ((sp_digit)a1 & (~mask)));
  2349. p2 = (sp_digit*)(((sp_digit)zero & (~mask)) | ((sp_digit)a1 & mask ));
  2350. (void)sp_2048_sub_16(a1, p1, p2);
  2351. sp_2048_sqr_16(z2, &a[16]);
  2352. sp_2048_sqr_16(z0, a);
  2353. sp_2048_sqr_16(z1, a1);
  2354. u = 0;
  2355. u -= sp_2048_sub_in_place_32(z1, z2);
  2356. u -= sp_2048_sub_in_place_32(z1, z0);
  2357. u += sp_2048_sub_in_place_32(r + 16, z1);
  2358. sp_2048_add_word_16(r + 48, r + 48, u);
  2359. }
  2360. #endif /* !WOLFSSL_SP_SMALL */
  2361. #ifdef WOLFSSL_SP_SMALL
  2362. /* Add b to a into r. (r = a + b)
  2363. *
  2364. * r A single precision integer.
  2365. * a A single precision integer.
  2366. * b A single precision integer.
  2367. */
  2368. static sp_digit sp_2048_add_32(sp_digit* r, const sp_digit* a,
  2369. const sp_digit* b)
  2370. {
  2371. sp_digit c = 0;
  2372. __asm__ __volatile__ (
  2373. "add x11, %[a], 256\n\t"
  2374. "\n1:\n\t"
  2375. "adds %[c], %[c], #-1\n\t"
  2376. "ldp x3, x4, [%[a]], #16\n\t"
  2377. "ldp x5, x6, [%[a]], #16\n\t"
  2378. "ldp x7, x8, [%[b]], #16\n\t"
  2379. "adcs x3, x3, x7\n\t"
  2380. "ldp x9, x10, [%[b]], #16\n\t"
  2381. "adcs x4, x4, x8\n\t"
  2382. "adcs x5, x5, x9\n\t"
  2383. "stp x3, x4, [%[r]], #16\n\t"
  2384. "adcs x6, x6, x10\n\t"
  2385. "stp x5, x6, [%[r]], #16\n\t"
  2386. "cset %[c], cs\n\t"
  2387. "cmp %[a], x11\n\t"
  2388. "b.ne 1b\n\t"
  2389. : [c] "+r" (c), [r] "+r" (r), [a] "+r" (a), [b] "+r" (b)
  2390. :
  2391. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  2392. );
  2393. return c;
  2394. }
  2395. #endif /* WOLFSSL_SP_SMALL */
  2396. #ifdef WOLFSSL_SP_SMALL
  2397. /* Sub b from a into a. (a -= b)
  2398. *
  2399. * a A single precision integer.
  2400. * b A single precision integer.
  2401. */
  2402. static sp_digit sp_2048_sub_in_place_32(sp_digit* a, const sp_digit* b)
  2403. {
  2404. sp_digit c = 0;
  2405. __asm__ __volatile__ (
  2406. "add x10, %[a], 256\n\t"
  2407. "\n1:\n\t"
  2408. "subs %[c], xzr, %[c]\n\t"
  2409. "ldp x2, x3, [%[a]]\n\t"
  2410. "ldp x4, x5, [%[a], #16]\n\t"
  2411. "ldp x6, x7, [%[b]], #16\n\t"
  2412. "sbcs x2, x2, x6\n\t"
  2413. "ldp x8, x9, [%[b]], #16\n\t"
  2414. "sbcs x3, x3, x7\n\t"
  2415. "sbcs x4, x4, x8\n\t"
  2416. "stp x2, x3, [%[a]], #16\n\t"
  2417. "sbcs x5, x5, x9\n\t"
  2418. "stp x4, x5, [%[a]], #16\n\t"
  2419. "csetm %[c], cc\n\t"
  2420. "cmp %[a], x10\n\t"
  2421. "b.ne 1b\n\t"
  2422. : [c] "+r" (c), [a] "+r" (a), [b] "+r" (b)
  2423. :
  2424. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  2425. );
  2426. return c;
  2427. }
  2428. #endif /* WOLFSSL_SP_SMALL */
  2429. #ifdef WOLFSSL_SP_SMALL
  2430. /* Multiply a and b into r. (r = a * b)
  2431. *
  2432. * r A single precision integer.
  2433. * a A single precision integer.
  2434. * b A single precision integer.
  2435. */
  2436. static void sp_2048_mul_32(sp_digit* r, const sp_digit* a, const sp_digit* b)
  2437. {
  2438. sp_digit tmp[64];
  2439. __asm__ __volatile__ (
  2440. "mov x5, xzr\n\t"
  2441. "mov x6, xzr\n\t"
  2442. "mov x7, xzr\n\t"
  2443. "mov x8, xzr\n\t"
  2444. "\n1:\n\t"
  2445. "subs x3, x5, 248\n\t"
  2446. "csel x3, xzr, x3, cc\n\t"
  2447. "sub x4, x5, x3\n\t"
  2448. "\n2:\n\t"
  2449. "ldr x10, [%[a], x3]\n\t"
  2450. "ldr x11, [%[b], x4]\n\t"
  2451. "mul x9, x10, x11\n\t"
  2452. "umulh x10, x10, x11\n\t"
  2453. "adds x6, x6, x9\n\t"
  2454. "adcs x7, x7, x10\n\t"
  2455. "adc x8, x8, xzr\n\t"
  2456. "add x3, x3, #8\n\t"
  2457. "sub x4, x4, #8\n\t"
  2458. "cmp x3, 256\n\t"
  2459. "b.eq 3f\n\t"
  2460. "cmp x3, x5\n\t"
  2461. "b.le 2b\n\t"
  2462. "\n3:\n\t"
  2463. "str x6, [%[r], x5]\n\t"
  2464. "mov x6, x7\n\t"
  2465. "mov x7, x8\n\t"
  2466. "mov x8, #0\n\t"
  2467. "add x5, x5, #8\n\t"
  2468. "cmp x5, 496\n\t"
  2469. "b.le 1b\n\t"
  2470. "str x6, [%[r], x5]\n\t"
  2471. :
  2472. : [r] "r" (tmp), [a] "r" (a), [b] "r" (b)
  2473. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  2474. );
  2475. XMEMCPY(r, tmp, sizeof(tmp));
  2476. }
  2477. /* Square a and put result in r. (r = a * a)
  2478. *
  2479. * r A single precision integer.
  2480. * a A single precision integer.
  2481. */
  2482. static void sp_2048_sqr_32(sp_digit* r, const sp_digit* a)
  2483. {
  2484. sp_digit tmp[64];
  2485. __asm__ __volatile__ (
  2486. "mov x6, xzr\n\t"
  2487. "mov x7, xzr\n\t"
  2488. "mov x8, xzr\n\t"
  2489. "mov x5, xzr\n\t"
  2490. "\n1:\n\t"
  2491. "subs x3, x5, 248\n\t"
  2492. "csel x3, xzr, x3, cc\n\t"
  2493. "sub x4, x5, x3\n\t"
  2494. "\n2:\n\t"
  2495. "cmp x4, x3\n\t"
  2496. "b.eq 4f\n\t"
  2497. "ldr x10, [%[a], x3]\n\t"
  2498. "ldr x11, [%[a], x4]\n\t"
  2499. "mul x9, x10, x11\n\t"
  2500. "umulh x10, x10, x11\n\t"
  2501. "adds x6, x6, x9\n\t"
  2502. "adcs x7, x7, x10\n\t"
  2503. "adc x8, x8, xzr\n\t"
  2504. "adds x6, x6, x9\n\t"
  2505. "adcs x7, x7, x10\n\t"
  2506. "adc x8, x8, xzr\n\t"
  2507. "b.al 5f\n\t"
  2508. "\n4:\n\t"
  2509. "ldr x10, [%[a], x3]\n\t"
  2510. "mul x9, x10, x10\n\t"
  2511. "umulh x10, x10, x10\n\t"
  2512. "adds x6, x6, x9\n\t"
  2513. "adcs x7, x7, x10\n\t"
  2514. "adc x8, x8, xzr\n\t"
  2515. "\n5:\n\t"
  2516. "add x3, x3, #8\n\t"
  2517. "sub x4, x4, #8\n\t"
  2518. "cmp x3, 256\n\t"
  2519. "b.eq 3f\n\t"
  2520. "cmp x3, x4\n\t"
  2521. "b.gt 3f\n\t"
  2522. "cmp x3, x5\n\t"
  2523. "b.le 2b\n\t"
  2524. "\n3:\n\t"
  2525. "str x6, [%[r], x5]\n\t"
  2526. "mov x6, x7\n\t"
  2527. "mov x7, x8\n\t"
  2528. "mov x8, #0\n\t"
  2529. "add x5, x5, #8\n\t"
  2530. "cmp x5, 496\n\t"
  2531. "b.le 1b\n\t"
  2532. "str x6, [%[r], x5]\n\t"
  2533. :
  2534. : [r] "r" (tmp), [a] "r" (a)
  2535. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  2536. );
  2537. XMEMCPY(r, tmp, sizeof(tmp));
  2538. }
  2539. #endif /* WOLFSSL_SP_SMALL */
  2540. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  2541. #ifdef WOLFSSL_SP_SMALL
  2542. /* Add b to a into r. (r = a + b)
  2543. *
  2544. * r A single precision integer.
  2545. * a A single precision integer.
  2546. * b A single precision integer.
  2547. */
  2548. static sp_digit sp_2048_add_16(sp_digit* r, const sp_digit* a,
  2549. const sp_digit* b)
  2550. {
  2551. sp_digit c = 0;
  2552. __asm__ __volatile__ (
  2553. "add x11, %[a], 128\n\t"
  2554. "\n1:\n\t"
  2555. "adds %[c], %[c], #-1\n\t"
  2556. "ldp x3, x4, [%[a]], #16\n\t"
  2557. "ldp x5, x6, [%[a]], #16\n\t"
  2558. "ldp x7, x8, [%[b]], #16\n\t"
  2559. "adcs x3, x3, x7\n\t"
  2560. "ldp x9, x10, [%[b]], #16\n\t"
  2561. "adcs x4, x4, x8\n\t"
  2562. "adcs x5, x5, x9\n\t"
  2563. "stp x3, x4, [%[r]], #16\n\t"
  2564. "adcs x6, x6, x10\n\t"
  2565. "stp x5, x6, [%[r]], #16\n\t"
  2566. "cset %[c], cs\n\t"
  2567. "cmp %[a], x11\n\t"
  2568. "b.ne 1b\n\t"
  2569. : [c] "+r" (c), [r] "+r" (r), [a] "+r" (a), [b] "+r" (b)
  2570. :
  2571. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  2572. );
  2573. return c;
  2574. }
  2575. #endif /* WOLFSSL_SP_SMALL */
  2576. #ifdef WOLFSSL_SP_SMALL
  2577. /* Sub b from a into a. (a -= b)
  2578. *
  2579. * a A single precision integer.
  2580. * b A single precision integer.
  2581. */
  2582. static sp_digit sp_2048_sub_in_place_16(sp_digit* a, const sp_digit* b)
  2583. {
  2584. sp_digit c = 0;
  2585. __asm__ __volatile__ (
  2586. "add x10, %[a], 128\n\t"
  2587. "\n1:\n\t"
  2588. "subs %[c], xzr, %[c]\n\t"
  2589. "ldp x2, x3, [%[a]]\n\t"
  2590. "ldp x4, x5, [%[a], #16]\n\t"
  2591. "ldp x6, x7, [%[b]], #16\n\t"
  2592. "sbcs x2, x2, x6\n\t"
  2593. "ldp x8, x9, [%[b]], #16\n\t"
  2594. "sbcs x3, x3, x7\n\t"
  2595. "sbcs x4, x4, x8\n\t"
  2596. "stp x2, x3, [%[a]], #16\n\t"
  2597. "sbcs x5, x5, x9\n\t"
  2598. "stp x4, x5, [%[a]], #16\n\t"
  2599. "csetm %[c], cc\n\t"
  2600. "cmp %[a], x10\n\t"
  2601. "b.ne 1b\n\t"
  2602. : [c] "+r" (c), [a] "+r" (a), [b] "+r" (b)
  2603. :
  2604. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  2605. );
  2606. return c;
  2607. }
  2608. #endif /* WOLFSSL_SP_SMALL */
  2609. #ifdef WOLFSSL_SP_SMALL
  2610. /* Multiply a and b into r. (r = a * b)
  2611. *
  2612. * r A single precision integer.
  2613. * a A single precision integer.
  2614. * b A single precision integer.
  2615. */
  2616. static void sp_2048_mul_16(sp_digit* r, const sp_digit* a, const sp_digit* b)
  2617. {
  2618. sp_digit tmp[32];
  2619. __asm__ __volatile__ (
  2620. "mov x5, xzr\n\t"
  2621. "mov x6, xzr\n\t"
  2622. "mov x7, xzr\n\t"
  2623. "mov x8, xzr\n\t"
  2624. "\n1:\n\t"
  2625. "subs x3, x5, 120\n\t"
  2626. "csel x3, xzr, x3, cc\n\t"
  2627. "sub x4, x5, x3\n\t"
  2628. "\n2:\n\t"
  2629. "ldr x10, [%[a], x3]\n\t"
  2630. "ldr x11, [%[b], x4]\n\t"
  2631. "mul x9, x10, x11\n\t"
  2632. "umulh x10, x10, x11\n\t"
  2633. "adds x6, x6, x9\n\t"
  2634. "adcs x7, x7, x10\n\t"
  2635. "adc x8, x8, xzr\n\t"
  2636. "add x3, x3, #8\n\t"
  2637. "sub x4, x4, #8\n\t"
  2638. "cmp x3, 128\n\t"
  2639. "b.eq 3f\n\t"
  2640. "cmp x3, x5\n\t"
  2641. "b.le 2b\n\t"
  2642. "\n3:\n\t"
  2643. "str x6, [%[r], x5]\n\t"
  2644. "mov x6, x7\n\t"
  2645. "mov x7, x8\n\t"
  2646. "mov x8, #0\n\t"
  2647. "add x5, x5, #8\n\t"
  2648. "cmp x5, 240\n\t"
  2649. "b.le 1b\n\t"
  2650. "str x6, [%[r], x5]\n\t"
  2651. :
  2652. : [r] "r" (tmp), [a] "r" (a), [b] "r" (b)
  2653. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  2654. );
  2655. XMEMCPY(r, tmp, sizeof(tmp));
  2656. }
  2657. /* Square a and put result in r. (r = a * a)
  2658. *
  2659. * r A single precision integer.
  2660. * a A single precision integer.
  2661. */
  2662. static void sp_2048_sqr_16(sp_digit* r, const sp_digit* a)
  2663. {
  2664. sp_digit tmp[32];
  2665. __asm__ __volatile__ (
  2666. "mov x6, xzr\n\t"
  2667. "mov x7, xzr\n\t"
  2668. "mov x8, xzr\n\t"
  2669. "mov x5, xzr\n\t"
  2670. "\n1:\n\t"
  2671. "subs x3, x5, 120\n\t"
  2672. "csel x3, xzr, x3, cc\n\t"
  2673. "sub x4, x5, x3\n\t"
  2674. "\n2:\n\t"
  2675. "cmp x4, x3\n\t"
  2676. "b.eq 4f\n\t"
  2677. "ldr x10, [%[a], x3]\n\t"
  2678. "ldr x11, [%[a], x4]\n\t"
  2679. "mul x9, x10, x11\n\t"
  2680. "umulh x10, x10, x11\n\t"
  2681. "adds x6, x6, x9\n\t"
  2682. "adcs x7, x7, x10\n\t"
  2683. "adc x8, x8, xzr\n\t"
  2684. "adds x6, x6, x9\n\t"
  2685. "adcs x7, x7, x10\n\t"
  2686. "adc x8, x8, xzr\n\t"
  2687. "b.al 5f\n\t"
  2688. "\n4:\n\t"
  2689. "ldr x10, [%[a], x3]\n\t"
  2690. "mul x9, x10, x10\n\t"
  2691. "umulh x10, x10, x10\n\t"
  2692. "adds x6, x6, x9\n\t"
  2693. "adcs x7, x7, x10\n\t"
  2694. "adc x8, x8, xzr\n\t"
  2695. "\n5:\n\t"
  2696. "add x3, x3, #8\n\t"
  2697. "sub x4, x4, #8\n\t"
  2698. "cmp x3, 128\n\t"
  2699. "b.eq 3f\n\t"
  2700. "cmp x3, x4\n\t"
  2701. "b.gt 3f\n\t"
  2702. "cmp x3, x5\n\t"
  2703. "b.le 2b\n\t"
  2704. "\n3:\n\t"
  2705. "str x6, [%[r], x5]\n\t"
  2706. "mov x6, x7\n\t"
  2707. "mov x7, x8\n\t"
  2708. "mov x8, #0\n\t"
  2709. "add x5, x5, #8\n\t"
  2710. "cmp x5, 240\n\t"
  2711. "b.le 1b\n\t"
  2712. "str x6, [%[r], x5]\n\t"
  2713. :
  2714. : [r] "r" (tmp), [a] "r" (a)
  2715. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  2716. );
  2717. XMEMCPY(r, tmp, sizeof(tmp));
  2718. }
  2719. #endif /* WOLFSSL_SP_SMALL */
  2720. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  2721. /* Caclulate the bottom digit of -1/a mod 2^n.
  2722. *
  2723. * a A single precision number.
  2724. * rho Bottom word of inverse.
  2725. */
  2726. static void sp_2048_mont_setup(const sp_digit* a, sp_digit* rho)
  2727. {
  2728. sp_digit x;
  2729. sp_digit b;
  2730. b = a[0];
  2731. x = (((b + 2) & 4) << 1) + b; /* here x*a==1 mod 2**4 */
  2732. x *= 2 - b * x; /* here x*a==1 mod 2**8 */
  2733. x *= 2 - b * x; /* here x*a==1 mod 2**16 */
  2734. x *= 2 - b * x; /* here x*a==1 mod 2**32 */
  2735. x *= 2 - b * x; /* here x*a==1 mod 2**64 */
  2736. /* rho = -1/m mod b */
  2737. *rho = (sp_digit)0 - x;
  2738. }
  2739. /* Mul a by digit b into r. (r = a * b)
  2740. *
  2741. * r A single precision integer.
  2742. * a A single precision integer.
  2743. * b A single precision digit.
  2744. */
  2745. static void sp_2048_mul_d_32(sp_digit* r, const sp_digit* a,
  2746. sp_digit b)
  2747. {
  2748. #ifdef WOLFSSL_SP_SMALL
  2749. __asm__ __volatile__ (
  2750. "# A[0] * B\n\t"
  2751. "ldr x8, [%[a]]\n\t"
  2752. "mul x5, %[b], x8\n\t"
  2753. "umulh x3, %[b], x8\n\t"
  2754. "mov x4, xzr\n\t"
  2755. "str x5, [%[r]]\n\t"
  2756. "mov x5, xzr\n\t"
  2757. "mov x9, #8\n\t"
  2758. "1:\n\t"
  2759. "ldr x8, [%[a], x9]\n\t"
  2760. "mul x6, %[b], x8\n\t"
  2761. "umulh x7, %[b], x8\n\t"
  2762. "adds x3, x3, x6\n\t"
  2763. "adcs x4, x4, x7\n\t"
  2764. "adc x5, xzr, xzr\n\t"
  2765. "str x3, [%[r], x9]\n\t"
  2766. "mov x3, x4\n\t"
  2767. "mov x4, x5\n\t"
  2768. "mov x5, #0\n\t"
  2769. "add x9, x9, #8\n\t"
  2770. "cmp x9, 256\n\t"
  2771. "b.lt 1b\n\t"
  2772. "str x3, [%[r], 256]\n\t"
  2773. :
  2774. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  2775. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  2776. );
  2777. #else
  2778. __asm__ __volatile__ (
  2779. "# A[0] * B\n\t"
  2780. "ldp x9, x10, [%[a]]\n\t"
  2781. "mul x3, %[b], x9\n\t"
  2782. "umulh x4, %[b], x9\n\t"
  2783. "mov x5, xzr\n\t"
  2784. "# A[1] * B\n\t"
  2785. "str x3, [%[r]]\n\t"
  2786. "mul x6, %[b], x10\n\t"
  2787. "mov x3, xzr\n\t"
  2788. "umulh x7, %[b], x10\n\t"
  2789. "adds x4, x4, x6\n\t"
  2790. "# A[2] * B\n\t"
  2791. "ldp x9, x10, [%[a], 16]\n\t"
  2792. "str x4, [%[r], 8]\n\t"
  2793. "adcs x5, x5, x7\n\t"
  2794. "mul x6, %[b], x9\n\t"
  2795. "mov x4, xzr\n\t"
  2796. "umulh x7, %[b], x9\n\t"
  2797. "adc x3, xzr, xzr\n\t"
  2798. "adds x5, x5, x6\n\t"
  2799. "# A[3] * B\n\t"
  2800. "str x5, [%[r], 16]\n\t"
  2801. "adcs x3, x3, x7\n\t"
  2802. "mul x6, %[b], x10\n\t"
  2803. "mov x5, xzr\n\t"
  2804. "umulh x7, %[b], x10\n\t"
  2805. "adc x4, xzr, xzr\n\t"
  2806. "adds x3, x3, x6\n\t"
  2807. "# A[4] * B\n\t"
  2808. "ldp x9, x10, [%[a], 32]\n\t"
  2809. "str x3, [%[r], 24]\n\t"
  2810. "adcs x4, x4, x7\n\t"
  2811. "mul x6, %[b], x9\n\t"
  2812. "mov x3, xzr\n\t"
  2813. "umulh x7, %[b], x9\n\t"
  2814. "adc x5, xzr, xzr\n\t"
  2815. "adds x4, x4, x6\n\t"
  2816. "# A[5] * B\n\t"
  2817. "str x4, [%[r], 32]\n\t"
  2818. "adcs x5, x5, x7\n\t"
  2819. "mul x6, %[b], x10\n\t"
  2820. "mov x4, xzr\n\t"
  2821. "umulh x7, %[b], x10\n\t"
  2822. "adc x3, xzr, xzr\n\t"
  2823. "adds x5, x5, x6\n\t"
  2824. "# A[6] * B\n\t"
  2825. "ldp x9, x10, [%[a], 48]\n\t"
  2826. "str x5, [%[r], 40]\n\t"
  2827. "adcs x3, x3, x7\n\t"
  2828. "mul x6, %[b], x9\n\t"
  2829. "mov x5, xzr\n\t"
  2830. "umulh x7, %[b], x9\n\t"
  2831. "adc x4, xzr, xzr\n\t"
  2832. "adds x3, x3, x6\n\t"
  2833. "# A[7] * B\n\t"
  2834. "str x3, [%[r], 48]\n\t"
  2835. "adcs x4, x4, x7\n\t"
  2836. "mul x6, %[b], x10\n\t"
  2837. "mov x3, xzr\n\t"
  2838. "umulh x7, %[b], x10\n\t"
  2839. "adc x5, xzr, xzr\n\t"
  2840. "adds x4, x4, x6\n\t"
  2841. "# A[8] * B\n\t"
  2842. "ldp x9, x10, [%[a], 64]\n\t"
  2843. "str x4, [%[r], 56]\n\t"
  2844. "adcs x5, x5, x7\n\t"
  2845. "mul x6, %[b], x9\n\t"
  2846. "mov x4, xzr\n\t"
  2847. "umulh x7, %[b], x9\n\t"
  2848. "adc x3, xzr, xzr\n\t"
  2849. "adds x5, x5, x6\n\t"
  2850. "# A[9] * B\n\t"
  2851. "str x5, [%[r], 64]\n\t"
  2852. "adcs x3, x3, x7\n\t"
  2853. "mul x6, %[b], x10\n\t"
  2854. "mov x5, xzr\n\t"
  2855. "umulh x7, %[b], x10\n\t"
  2856. "adc x4, xzr, xzr\n\t"
  2857. "adds x3, x3, x6\n\t"
  2858. "# A[10] * B\n\t"
  2859. "ldp x9, x10, [%[a], 80]\n\t"
  2860. "str x3, [%[r], 72]\n\t"
  2861. "adcs x4, x4, x7\n\t"
  2862. "mul x6, %[b], x9\n\t"
  2863. "mov x3, xzr\n\t"
  2864. "umulh x7, %[b], x9\n\t"
  2865. "adc x5, xzr, xzr\n\t"
  2866. "adds x4, x4, x6\n\t"
  2867. "# A[11] * B\n\t"
  2868. "str x4, [%[r], 80]\n\t"
  2869. "adcs x5, x5, x7\n\t"
  2870. "mul x6, %[b], x10\n\t"
  2871. "mov x4, xzr\n\t"
  2872. "umulh x7, %[b], x10\n\t"
  2873. "adc x3, xzr, xzr\n\t"
  2874. "adds x5, x5, x6\n\t"
  2875. "# A[12] * B\n\t"
  2876. "ldp x9, x10, [%[a], 96]\n\t"
  2877. "str x5, [%[r], 88]\n\t"
  2878. "adcs x3, x3, x7\n\t"
  2879. "mul x6, %[b], x9\n\t"
  2880. "mov x5, xzr\n\t"
  2881. "umulh x7, %[b], x9\n\t"
  2882. "adc x4, xzr, xzr\n\t"
  2883. "adds x3, x3, x6\n\t"
  2884. "# A[13] * B\n\t"
  2885. "str x3, [%[r], 96]\n\t"
  2886. "adcs x4, x4, x7\n\t"
  2887. "mul x6, %[b], x10\n\t"
  2888. "mov x3, xzr\n\t"
  2889. "umulh x7, %[b], x10\n\t"
  2890. "adc x5, xzr, xzr\n\t"
  2891. "adds x4, x4, x6\n\t"
  2892. "# A[14] * B\n\t"
  2893. "ldp x9, x10, [%[a], 112]\n\t"
  2894. "str x4, [%[r], 104]\n\t"
  2895. "adcs x5, x5, x7\n\t"
  2896. "mul x6, %[b], x9\n\t"
  2897. "mov x4, xzr\n\t"
  2898. "umulh x7, %[b], x9\n\t"
  2899. "adc x3, xzr, xzr\n\t"
  2900. "adds x5, x5, x6\n\t"
  2901. "# A[15] * B\n\t"
  2902. "str x5, [%[r], 112]\n\t"
  2903. "adcs x3, x3, x7\n\t"
  2904. "mul x6, %[b], x10\n\t"
  2905. "mov x5, xzr\n\t"
  2906. "umulh x7, %[b], x10\n\t"
  2907. "adc x4, xzr, xzr\n\t"
  2908. "adds x3, x3, x6\n\t"
  2909. "# A[16] * B\n\t"
  2910. "ldp x9, x10, [%[a], 128]\n\t"
  2911. "str x3, [%[r], 120]\n\t"
  2912. "adcs x4, x4, x7\n\t"
  2913. "mul x6, %[b], x9\n\t"
  2914. "mov x3, xzr\n\t"
  2915. "umulh x7, %[b], x9\n\t"
  2916. "adc x5, xzr, xzr\n\t"
  2917. "adds x4, x4, x6\n\t"
  2918. "# A[17] * B\n\t"
  2919. "str x4, [%[r], 128]\n\t"
  2920. "adcs x5, x5, x7\n\t"
  2921. "mul x6, %[b], x10\n\t"
  2922. "mov x4, xzr\n\t"
  2923. "umulh x7, %[b], x10\n\t"
  2924. "adc x3, xzr, xzr\n\t"
  2925. "adds x5, x5, x6\n\t"
  2926. "# A[18] * B\n\t"
  2927. "ldp x9, x10, [%[a], 144]\n\t"
  2928. "str x5, [%[r], 136]\n\t"
  2929. "adcs x3, x3, x7\n\t"
  2930. "mul x6, %[b], x9\n\t"
  2931. "mov x5, xzr\n\t"
  2932. "umulh x7, %[b], x9\n\t"
  2933. "adc x4, xzr, xzr\n\t"
  2934. "adds x3, x3, x6\n\t"
  2935. "# A[19] * B\n\t"
  2936. "str x3, [%[r], 144]\n\t"
  2937. "adcs x4, x4, x7\n\t"
  2938. "mul x6, %[b], x10\n\t"
  2939. "mov x3, xzr\n\t"
  2940. "umulh x7, %[b], x10\n\t"
  2941. "adc x5, xzr, xzr\n\t"
  2942. "adds x4, x4, x6\n\t"
  2943. "# A[20] * B\n\t"
  2944. "ldp x9, x10, [%[a], 160]\n\t"
  2945. "str x4, [%[r], 152]\n\t"
  2946. "adcs x5, x5, x7\n\t"
  2947. "mul x6, %[b], x9\n\t"
  2948. "mov x4, xzr\n\t"
  2949. "umulh x7, %[b], x9\n\t"
  2950. "adc x3, xzr, xzr\n\t"
  2951. "adds x5, x5, x6\n\t"
  2952. "# A[21] * B\n\t"
  2953. "str x5, [%[r], 160]\n\t"
  2954. "adcs x3, x3, x7\n\t"
  2955. "mul x6, %[b], x10\n\t"
  2956. "mov x5, xzr\n\t"
  2957. "umulh x7, %[b], x10\n\t"
  2958. "adc x4, xzr, xzr\n\t"
  2959. "adds x3, x3, x6\n\t"
  2960. "# A[22] * B\n\t"
  2961. "ldp x9, x10, [%[a], 176]\n\t"
  2962. "str x3, [%[r], 168]\n\t"
  2963. "adcs x4, x4, x7\n\t"
  2964. "mul x6, %[b], x9\n\t"
  2965. "mov x3, xzr\n\t"
  2966. "umulh x7, %[b], x9\n\t"
  2967. "adc x5, xzr, xzr\n\t"
  2968. "adds x4, x4, x6\n\t"
  2969. "# A[23] * B\n\t"
  2970. "str x4, [%[r], 176]\n\t"
  2971. "adcs x5, x5, x7\n\t"
  2972. "mul x6, %[b], x10\n\t"
  2973. "mov x4, xzr\n\t"
  2974. "umulh x7, %[b], x10\n\t"
  2975. "adc x3, xzr, xzr\n\t"
  2976. "adds x5, x5, x6\n\t"
  2977. "# A[24] * B\n\t"
  2978. "ldp x9, x10, [%[a], 192]\n\t"
  2979. "str x5, [%[r], 184]\n\t"
  2980. "adcs x3, x3, x7\n\t"
  2981. "mul x6, %[b], x9\n\t"
  2982. "mov x5, xzr\n\t"
  2983. "umulh x7, %[b], x9\n\t"
  2984. "adc x4, xzr, xzr\n\t"
  2985. "adds x3, x3, x6\n\t"
  2986. "# A[25] * B\n\t"
  2987. "str x3, [%[r], 192]\n\t"
  2988. "adcs x4, x4, x7\n\t"
  2989. "mul x6, %[b], x10\n\t"
  2990. "mov x3, xzr\n\t"
  2991. "umulh x7, %[b], x10\n\t"
  2992. "adc x5, xzr, xzr\n\t"
  2993. "adds x4, x4, x6\n\t"
  2994. "# A[26] * B\n\t"
  2995. "ldp x9, x10, [%[a], 208]\n\t"
  2996. "str x4, [%[r], 200]\n\t"
  2997. "adcs x5, x5, x7\n\t"
  2998. "mul x6, %[b], x9\n\t"
  2999. "mov x4, xzr\n\t"
  3000. "umulh x7, %[b], x9\n\t"
  3001. "adc x3, xzr, xzr\n\t"
  3002. "adds x5, x5, x6\n\t"
  3003. "# A[27] * B\n\t"
  3004. "str x5, [%[r], 208]\n\t"
  3005. "adcs x3, x3, x7\n\t"
  3006. "mul x6, %[b], x10\n\t"
  3007. "mov x5, xzr\n\t"
  3008. "umulh x7, %[b], x10\n\t"
  3009. "adc x4, xzr, xzr\n\t"
  3010. "adds x3, x3, x6\n\t"
  3011. "# A[28] * B\n\t"
  3012. "ldp x9, x10, [%[a], 224]\n\t"
  3013. "str x3, [%[r], 216]\n\t"
  3014. "adcs x4, x4, x7\n\t"
  3015. "mul x6, %[b], x9\n\t"
  3016. "mov x3, xzr\n\t"
  3017. "umulh x7, %[b], x9\n\t"
  3018. "adc x5, xzr, xzr\n\t"
  3019. "adds x4, x4, x6\n\t"
  3020. "# A[29] * B\n\t"
  3021. "str x4, [%[r], 224]\n\t"
  3022. "adcs x5, x5, x7\n\t"
  3023. "mul x6, %[b], x10\n\t"
  3024. "mov x4, xzr\n\t"
  3025. "umulh x7, %[b], x10\n\t"
  3026. "adc x3, xzr, xzr\n\t"
  3027. "adds x5, x5, x6\n\t"
  3028. "# A[30] * B\n\t"
  3029. "ldp x9, x10, [%[a], 240]\n\t"
  3030. "str x5, [%[r], 232]\n\t"
  3031. "adcs x3, x3, x7\n\t"
  3032. "mul x6, %[b], x9\n\t"
  3033. "mov x5, xzr\n\t"
  3034. "umulh x7, %[b], x9\n\t"
  3035. "adc x4, xzr, xzr\n\t"
  3036. "adds x3, x3, x6\n\t"
  3037. "# A[31] * B\n\t"
  3038. "str x3, [%[r], 240]\n\t"
  3039. "mul x6, %[b], x10\n\t"
  3040. "adcs x4, x4, x7\n\t"
  3041. "umulh x7, %[b], x10\n\t"
  3042. "adc x5, xzr, xzr\n\t"
  3043. "adds x4, x4, x6\n\t"
  3044. "adc x5, x5, x7\n\t"
  3045. "stp x4, x5, [%[r], 248]\n\t"
  3046. :
  3047. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  3048. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  3049. );
  3050. #endif
  3051. }
  3052. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  3053. /* r = 2^n mod m where n is the number of bits to reduce by.
  3054. * Given m must be 2048 bits, just need to subtract.
  3055. *
  3056. * r A single precision number.
  3057. * m A single precision number.
  3058. */
  3059. static void sp_2048_mont_norm_16(sp_digit* r, const sp_digit* m)
  3060. {
  3061. XMEMSET(r, 0, sizeof(sp_digit) * 16);
  3062. /* r = 2^n mod m */
  3063. sp_2048_sub_in_place_16(r, m);
  3064. }
  3065. /* Reduce the number back to 2048 bits using Montgomery reduction.
  3066. *
  3067. * a A single precision number to reduce in place.
  3068. * m The single precision number representing the modulus.
  3069. * mp The digit representing the negative inverse of m mod 2^n.
  3070. */
  3071. SP_NOINLINE static void sp_2048_mont_reduce_16(sp_digit* a, const sp_digit* m,
  3072. sp_digit mp)
  3073. {
  3074. __asm__ __volatile__ (
  3075. "ldp x12, x13, [%[a], 0]\n\t"
  3076. "ldp x14, x15, [%[a], 16]\n\t"
  3077. "ldp x16, x17, [%[a], 32]\n\t"
  3078. "ldp x19, x20, [%[a], 48]\n\t"
  3079. "ldp x21, x22, [%[a], 64]\n\t"
  3080. "ldp x23, x24, [%[a], 80]\n\t"
  3081. "ldp x25, x26, [%[a], 96]\n\t"
  3082. "ldp x27, x28, [%[a], 112]\n\t"
  3083. "mov x3, xzr\n\t"
  3084. "# i = 0..15\n\t"
  3085. "mov x4, 16\n\t"
  3086. "\n1:\n\t"
  3087. "# mu = a[i] * mp\n\t"
  3088. "mul x9, %[mp], x12\n\t"
  3089. "# a[i+0] += m[0] * mu\n\t"
  3090. "ldp x10, x11, [%[m], 0]\n\t"
  3091. "mul x7, x10, x9\n\t"
  3092. "umulh x8, x10, x9\n\t"
  3093. "adds x12, x12, x7\n\t"
  3094. "# a[i+1] += m[1] * mu\n\t"
  3095. "adc x6, x8, xzr\n\t"
  3096. "mul x7, x11, x9\n\t"
  3097. "umulh x8, x11, x9\n\t"
  3098. "adds x12, x13, x7\n\t"
  3099. "# a[i+2] += m[2] * mu\n\t"
  3100. "ldp x11, x10, [%[m], 16]\n\t"
  3101. "adc x5, x8, xzr\n\t"
  3102. "adds x12, x12, x6\n\t"
  3103. "mul x7, x11, x9\n\t"
  3104. "adc x5, x5, xzr\n\t"
  3105. "umulh x8, x11, x9\n\t"
  3106. "adds x13, x14, x7\n\t"
  3107. "# a[i+3] += m[3] * mu\n\t"
  3108. "adc x6, x8, xzr\n\t"
  3109. "adds x13, x13, x5\n\t"
  3110. "mul x7, x10, x9\n\t"
  3111. "adc x6, x6, xzr\n\t"
  3112. "umulh x8, x10, x9\n\t"
  3113. "adds x14, x15, x7\n\t"
  3114. "# a[i+4] += m[4] * mu\n\t"
  3115. "ldp x11, x10, [%[m], 32]\n\t"
  3116. "adc x5, x8, xzr\n\t"
  3117. "adds x14, x14, x6\n\t"
  3118. "mul x7, x11, x9\n\t"
  3119. "adc x5, x5, xzr\n\t"
  3120. "umulh x8, x11, x9\n\t"
  3121. "adds x15, x16, x7\n\t"
  3122. "# a[i+5] += m[5] * mu\n\t"
  3123. "adc x6, x8, xzr\n\t"
  3124. "adds x15, x15, x5\n\t"
  3125. "mul x7, x10, x9\n\t"
  3126. "adc x6, x6, xzr\n\t"
  3127. "umulh x8, x10, x9\n\t"
  3128. "adds x16, x17, x7\n\t"
  3129. "# a[i+6] += m[6] * mu\n\t"
  3130. "ldp x11, x10, [%[m], 48]\n\t"
  3131. "adc x5, x8, xzr\n\t"
  3132. "adds x16, x16, x6\n\t"
  3133. "mul x7, x11, x9\n\t"
  3134. "adc x5, x5, xzr\n\t"
  3135. "umulh x8, x11, x9\n\t"
  3136. "adds x17, x19, x7\n\t"
  3137. "# a[i+7] += m[7] * mu\n\t"
  3138. "adc x6, x8, xzr\n\t"
  3139. "adds x17, x17, x5\n\t"
  3140. "mul x7, x10, x9\n\t"
  3141. "adc x6, x6, xzr\n\t"
  3142. "umulh x8, x10, x9\n\t"
  3143. "adds x19, x20, x7\n\t"
  3144. "# a[i+8] += m[8] * mu\n\t"
  3145. "ldp x11, x10, [%[m], 64]\n\t"
  3146. "adc x5, x8, xzr\n\t"
  3147. "adds x19, x19, x6\n\t"
  3148. "mul x7, x11, x9\n\t"
  3149. "adc x5, x5, xzr\n\t"
  3150. "umulh x8, x11, x9\n\t"
  3151. "adds x20, x21, x7\n\t"
  3152. "# a[i+9] += m[9] * mu\n\t"
  3153. "adc x6, x8, xzr\n\t"
  3154. "adds x20, x20, x5\n\t"
  3155. "mul x7, x10, x9\n\t"
  3156. "adc x6, x6, xzr\n\t"
  3157. "umulh x8, x10, x9\n\t"
  3158. "adds x21, x22, x7\n\t"
  3159. "# a[i+10] += m[10] * mu\n\t"
  3160. "ldp x11, x10, [%[m], 80]\n\t"
  3161. "adc x5, x8, xzr\n\t"
  3162. "adds x21, x21, x6\n\t"
  3163. "mul x7, x11, x9\n\t"
  3164. "adc x5, x5, xzr\n\t"
  3165. "umulh x8, x11, x9\n\t"
  3166. "adds x22, x23, x7\n\t"
  3167. "# a[i+11] += m[11] * mu\n\t"
  3168. "adc x6, x8, xzr\n\t"
  3169. "adds x22, x22, x5\n\t"
  3170. "mul x7, x10, x9\n\t"
  3171. "adc x6, x6, xzr\n\t"
  3172. "umulh x8, x10, x9\n\t"
  3173. "adds x23, x24, x7\n\t"
  3174. "# a[i+12] += m[12] * mu\n\t"
  3175. "ldp x11, x10, [%[m], 96]\n\t"
  3176. "adc x5, x8, xzr\n\t"
  3177. "adds x23, x23, x6\n\t"
  3178. "mul x7, x11, x9\n\t"
  3179. "adc x5, x5, xzr\n\t"
  3180. "umulh x8, x11, x9\n\t"
  3181. "adds x24, x25, x7\n\t"
  3182. "# a[i+13] += m[13] * mu\n\t"
  3183. "adc x6, x8, xzr\n\t"
  3184. "adds x24, x24, x5\n\t"
  3185. "mul x7, x10, x9\n\t"
  3186. "adc x6, x6, xzr\n\t"
  3187. "umulh x8, x10, x9\n\t"
  3188. "adds x25, x26, x7\n\t"
  3189. "# a[i+14] += m[14] * mu\n\t"
  3190. "ldp x11, x10, [%[m], 112]\n\t"
  3191. "adc x5, x8, xzr\n\t"
  3192. "adds x25, x25, x6\n\t"
  3193. "mul x7, x11, x9\n\t"
  3194. "adc x5, x5, xzr\n\t"
  3195. "umulh x8, x11, x9\n\t"
  3196. "adds x26, x27, x7\n\t"
  3197. "# a[i+15] += m[15] * mu\n\t"
  3198. "ldr x10, [%[m], 120]\n\t"
  3199. "adc x6, x8, xzr\n\t"
  3200. "adds x26, x26, x5\n\t"
  3201. "mul x7, x10, x9\n\t"
  3202. "adc x6, x6, xzr\n\t"
  3203. "umulh x8, x10, x9\n\t"
  3204. "adds x6, x6, x7\n\t"
  3205. "adcs x8, x8, x3\n\t"
  3206. "cset x3, cs\n\t"
  3207. "adds x27, x28, x6\n\t"
  3208. "ldr x28, [%[a], 128]\n\t"
  3209. "adcs x28, x28, x8\n\t"
  3210. "adc x3, x3, xzr\n\t"
  3211. "subs x4, x4, 1\n\t"
  3212. "add %[a], %[a], 8\n\t"
  3213. "bne 1b\n\t"
  3214. "# Create mask\n\t"
  3215. "neg x3, x3\n\t"
  3216. "mov x9, %[a]\n\t"
  3217. "sub %[a], %[a], 128\n\t"
  3218. "# Subtract masked modulus\n\t"
  3219. "ldp x4, x5, [%[m], 0]\n\t"
  3220. "ldp x6, x7, [%[m], 16]\n\t"
  3221. "and x4, x4, x3\n\t"
  3222. "and x5, x5, x3\n\t"
  3223. "subs x12, x12, x4\n\t"
  3224. "and x6, x6, x3\n\t"
  3225. "sbcs x13, x13, x5\n\t"
  3226. "and x7, x7, x3\n\t"
  3227. "sbcs x14, x14, x6\n\t"
  3228. "stp x12, x13, [%[a], 0]\n\t"
  3229. "sbcs x15, x15, x7\n\t"
  3230. "stp x14, x15, [%[a], 16]\n\t"
  3231. "ldp x4, x5, [%[m], 32]\n\t"
  3232. "ldp x6, x7, [%[m], 48]\n\t"
  3233. "and x4, x4, x3\n\t"
  3234. "and x5, x5, x3\n\t"
  3235. "sbcs x16, x16, x4\n\t"
  3236. "and x6, x6, x3\n\t"
  3237. "sbcs x17, x17, x5\n\t"
  3238. "and x7, x7, x3\n\t"
  3239. "sbcs x19, x19, x6\n\t"
  3240. "stp x16, x17, [%[a], 32]\n\t"
  3241. "sbcs x20, x20, x7\n\t"
  3242. "stp x19, x20, [%[a], 48]\n\t"
  3243. "ldp x4, x5, [%[m], 64]\n\t"
  3244. "ldp x6, x7, [%[m], 80]\n\t"
  3245. "and x4, x4, x3\n\t"
  3246. "and x5, x5, x3\n\t"
  3247. "sbcs x21, x21, x4\n\t"
  3248. "and x6, x6, x3\n\t"
  3249. "sbcs x22, x22, x5\n\t"
  3250. "and x7, x7, x3\n\t"
  3251. "sbcs x23, x23, x6\n\t"
  3252. "stp x21, x22, [%[a], 64]\n\t"
  3253. "sbcs x24, x24, x7\n\t"
  3254. "stp x23, x24, [%[a], 80]\n\t"
  3255. "ldp x4, x5, [%[m], 96]\n\t"
  3256. "ldp x6, x7, [%[m], 112]\n\t"
  3257. "and x4, x4, x3\n\t"
  3258. "and x5, x5, x3\n\t"
  3259. "sbcs x25, x25, x4\n\t"
  3260. "and x6, x6, x3\n\t"
  3261. "sbcs x26, x26, x5\n\t"
  3262. "and x7, x7, x3\n\t"
  3263. "sbcs x27, x27, x6\n\t"
  3264. "stp x25, x26, [%[a], 96]\n\t"
  3265. "sbcs x28, x28, x7\n\t"
  3266. "stp x27, x28, [%[a], 112]\n\t"
  3267. : [a] "+r" (a), [mp] "+r" (mp)
  3268. : [m] "r" (m)
  3269. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28"
  3270. );
  3271. }
  3272. /* Multiply two Montgomery form numbers mod the modulus (prime).
  3273. * (r = a * b mod m)
  3274. *
  3275. * r Result of multiplication.
  3276. * a First number to multiply in Montgomery form.
  3277. * b Second number to multiply in Montgomery form.
  3278. * m Modulus (prime).
  3279. * mp Montgomery mulitplier.
  3280. */
  3281. SP_NOINLINE static void sp_2048_mont_mul_16(sp_digit* r, const sp_digit* a,
  3282. const sp_digit* b, const sp_digit* m, sp_digit mp)
  3283. {
  3284. sp_2048_mul_16(r, a, b);
  3285. sp_2048_mont_reduce_16(r, m, mp);
  3286. }
  3287. /* Square the Montgomery form number. (r = a * a mod m)
  3288. *
  3289. * r Result of squaring.
  3290. * a Number to square in Montgomery form.
  3291. * m Modulus (prime).
  3292. * mp Montgomery mulitplier.
  3293. */
  3294. SP_NOINLINE static void sp_2048_mont_sqr_16(sp_digit* r, const sp_digit* a,
  3295. const sp_digit* m, sp_digit mp)
  3296. {
  3297. sp_2048_sqr_16(r, a);
  3298. sp_2048_mont_reduce_16(r, m, mp);
  3299. }
  3300. /* Conditionally subtract b from a using the mask m.
  3301. * m is -1 to subtract and 0 when not copying.
  3302. *
  3303. * r A single precision number representing condition subtract result.
  3304. * a A single precision number to subtract from.
  3305. * b A single precision number to subtract.
  3306. * m Mask value to apply.
  3307. */
  3308. static sp_digit sp_2048_cond_sub_16(sp_digit* r, const sp_digit* a, const sp_digit* b,
  3309. sp_digit m)
  3310. {
  3311. #ifdef WOLFSSL_SP_SMALL
  3312. sp_digit c = 0;
  3313. __asm__ __volatile__ (
  3314. "mov x8, #0\n\t"
  3315. "1:\n\t"
  3316. "subs %[c], xzr, %[c]\n\t"
  3317. "ldr x4, [%[a], x8]\n\t"
  3318. "ldr x5, [%[b], x8]\n\t"
  3319. "and x5, x5, %[m]\n\t"
  3320. "sbcs x4, x4, x5\n\t"
  3321. "csetm %[c], cc\n\t"
  3322. "str x4, [%[r], x8]\n\t"
  3323. "add x8, x8, #8\n\t"
  3324. "cmp x8, 128\n\t"
  3325. "b.lt 1b\n\t"
  3326. : [c] "+r" (c)
  3327. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  3328. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  3329. );
  3330. return c;
  3331. #else
  3332. __asm__ __volatile__ (
  3333. "ldp x5, x7, [%[b], 0]\n\t"
  3334. "ldp x11, x12, [%[b], 16]\n\t"
  3335. "ldp x4, x6, [%[a], 0]\n\t"
  3336. "and x5, x5, %[m]\n\t"
  3337. "ldp x9, x10, [%[a], 16]\n\t"
  3338. "and x7, x7, %[m]\n\t"
  3339. "subs x4, x4, x5\n\t"
  3340. "and x11, x11, %[m]\n\t"
  3341. "sbcs x6, x6, x7\n\t"
  3342. "and x12, x12, %[m]\n\t"
  3343. "sbcs x9, x9, x11\n\t"
  3344. "stp x4, x6, [%[r], 0]\n\t"
  3345. "sbcs x10, x10, x12\n\t"
  3346. "stp x9, x10, [%[r], 16]\n\t"
  3347. "ldp x5, x7, [%[b], 32]\n\t"
  3348. "ldp x11, x12, [%[b], 48]\n\t"
  3349. "ldp x4, x6, [%[a], 32]\n\t"
  3350. "and x5, x5, %[m]\n\t"
  3351. "ldp x9, x10, [%[a], 48]\n\t"
  3352. "and x7, x7, %[m]\n\t"
  3353. "sbcs x4, x4, x5\n\t"
  3354. "and x11, x11, %[m]\n\t"
  3355. "sbcs x6, x6, x7\n\t"
  3356. "and x12, x12, %[m]\n\t"
  3357. "sbcs x9, x9, x11\n\t"
  3358. "stp x4, x6, [%[r], 32]\n\t"
  3359. "sbcs x10, x10, x12\n\t"
  3360. "stp x9, x10, [%[r], 48]\n\t"
  3361. "ldp x5, x7, [%[b], 64]\n\t"
  3362. "ldp x11, x12, [%[b], 80]\n\t"
  3363. "ldp x4, x6, [%[a], 64]\n\t"
  3364. "and x5, x5, %[m]\n\t"
  3365. "ldp x9, x10, [%[a], 80]\n\t"
  3366. "and x7, x7, %[m]\n\t"
  3367. "sbcs x4, x4, x5\n\t"
  3368. "and x11, x11, %[m]\n\t"
  3369. "sbcs x6, x6, x7\n\t"
  3370. "and x12, x12, %[m]\n\t"
  3371. "sbcs x9, x9, x11\n\t"
  3372. "stp x4, x6, [%[r], 64]\n\t"
  3373. "sbcs x10, x10, x12\n\t"
  3374. "stp x9, x10, [%[r], 80]\n\t"
  3375. "ldp x5, x7, [%[b], 96]\n\t"
  3376. "ldp x11, x12, [%[b], 112]\n\t"
  3377. "ldp x4, x6, [%[a], 96]\n\t"
  3378. "and x5, x5, %[m]\n\t"
  3379. "ldp x9, x10, [%[a], 112]\n\t"
  3380. "and x7, x7, %[m]\n\t"
  3381. "sbcs x4, x4, x5\n\t"
  3382. "and x11, x11, %[m]\n\t"
  3383. "sbcs x6, x6, x7\n\t"
  3384. "and x12, x12, %[m]\n\t"
  3385. "sbcs x9, x9, x11\n\t"
  3386. "stp x4, x6, [%[r], 96]\n\t"
  3387. "sbcs x10, x10, x12\n\t"
  3388. "stp x9, x10, [%[r], 112]\n\t"
  3389. "csetm %[r], cc\n\t"
  3390. : [r] "+r" (r)
  3391. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  3392. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  3393. );
  3394. return (sp_digit)r;
  3395. #endif /* WOLFSSL_SP_SMALL */
  3396. }
  3397. /* Mul a by digit b into r. (r = a * b)
  3398. *
  3399. * r A single precision integer.
  3400. * a A single precision integer.
  3401. * b A single precision digit.
  3402. */
  3403. static void sp_2048_mul_d_16(sp_digit* r, const sp_digit* a,
  3404. sp_digit b)
  3405. {
  3406. #ifdef WOLFSSL_SP_SMALL
  3407. __asm__ __volatile__ (
  3408. "# A[0] * B\n\t"
  3409. "ldr x8, [%[a]]\n\t"
  3410. "mul x5, %[b], x8\n\t"
  3411. "umulh x3, %[b], x8\n\t"
  3412. "mov x4, xzr\n\t"
  3413. "str x5, [%[r]]\n\t"
  3414. "mov x5, xzr\n\t"
  3415. "mov x9, #8\n\t"
  3416. "1:\n\t"
  3417. "ldr x8, [%[a], x9]\n\t"
  3418. "mul x6, %[b], x8\n\t"
  3419. "umulh x7, %[b], x8\n\t"
  3420. "adds x3, x3, x6\n\t"
  3421. "adcs x4, x4, x7\n\t"
  3422. "adc x5, xzr, xzr\n\t"
  3423. "str x3, [%[r], x9]\n\t"
  3424. "mov x3, x4\n\t"
  3425. "mov x4, x5\n\t"
  3426. "mov x5, #0\n\t"
  3427. "add x9, x9, #8\n\t"
  3428. "cmp x9, 128\n\t"
  3429. "b.lt 1b\n\t"
  3430. "str x3, [%[r], 128]\n\t"
  3431. :
  3432. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  3433. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  3434. );
  3435. #else
  3436. __asm__ __volatile__ (
  3437. "# A[0] * B\n\t"
  3438. "ldp x9, x10, [%[a]]\n\t"
  3439. "mul x3, %[b], x9\n\t"
  3440. "umulh x4, %[b], x9\n\t"
  3441. "mov x5, xzr\n\t"
  3442. "# A[1] * B\n\t"
  3443. "str x3, [%[r]]\n\t"
  3444. "mul x6, %[b], x10\n\t"
  3445. "mov x3, xzr\n\t"
  3446. "umulh x7, %[b], x10\n\t"
  3447. "adds x4, x4, x6\n\t"
  3448. "# A[2] * B\n\t"
  3449. "ldp x9, x10, [%[a], 16]\n\t"
  3450. "str x4, [%[r], 8]\n\t"
  3451. "adcs x5, x5, x7\n\t"
  3452. "mul x6, %[b], x9\n\t"
  3453. "mov x4, xzr\n\t"
  3454. "umulh x7, %[b], x9\n\t"
  3455. "adc x3, xzr, xzr\n\t"
  3456. "adds x5, x5, x6\n\t"
  3457. "# A[3] * B\n\t"
  3458. "str x5, [%[r], 16]\n\t"
  3459. "adcs x3, x3, x7\n\t"
  3460. "mul x6, %[b], x10\n\t"
  3461. "mov x5, xzr\n\t"
  3462. "umulh x7, %[b], x10\n\t"
  3463. "adc x4, xzr, xzr\n\t"
  3464. "adds x3, x3, x6\n\t"
  3465. "# A[4] * B\n\t"
  3466. "ldp x9, x10, [%[a], 32]\n\t"
  3467. "str x3, [%[r], 24]\n\t"
  3468. "adcs x4, x4, x7\n\t"
  3469. "mul x6, %[b], x9\n\t"
  3470. "mov x3, xzr\n\t"
  3471. "umulh x7, %[b], x9\n\t"
  3472. "adc x5, xzr, xzr\n\t"
  3473. "adds x4, x4, x6\n\t"
  3474. "# A[5] * B\n\t"
  3475. "str x4, [%[r], 32]\n\t"
  3476. "adcs x5, x5, x7\n\t"
  3477. "mul x6, %[b], x10\n\t"
  3478. "mov x4, xzr\n\t"
  3479. "umulh x7, %[b], x10\n\t"
  3480. "adc x3, xzr, xzr\n\t"
  3481. "adds x5, x5, x6\n\t"
  3482. "# A[6] * B\n\t"
  3483. "ldp x9, x10, [%[a], 48]\n\t"
  3484. "str x5, [%[r], 40]\n\t"
  3485. "adcs x3, x3, x7\n\t"
  3486. "mul x6, %[b], x9\n\t"
  3487. "mov x5, xzr\n\t"
  3488. "umulh x7, %[b], x9\n\t"
  3489. "adc x4, xzr, xzr\n\t"
  3490. "adds x3, x3, x6\n\t"
  3491. "# A[7] * B\n\t"
  3492. "str x3, [%[r], 48]\n\t"
  3493. "adcs x4, x4, x7\n\t"
  3494. "mul x6, %[b], x10\n\t"
  3495. "mov x3, xzr\n\t"
  3496. "umulh x7, %[b], x10\n\t"
  3497. "adc x5, xzr, xzr\n\t"
  3498. "adds x4, x4, x6\n\t"
  3499. "# A[8] * B\n\t"
  3500. "ldp x9, x10, [%[a], 64]\n\t"
  3501. "str x4, [%[r], 56]\n\t"
  3502. "adcs x5, x5, x7\n\t"
  3503. "mul x6, %[b], x9\n\t"
  3504. "mov x4, xzr\n\t"
  3505. "umulh x7, %[b], x9\n\t"
  3506. "adc x3, xzr, xzr\n\t"
  3507. "adds x5, x5, x6\n\t"
  3508. "# A[9] * B\n\t"
  3509. "str x5, [%[r], 64]\n\t"
  3510. "adcs x3, x3, x7\n\t"
  3511. "mul x6, %[b], x10\n\t"
  3512. "mov x5, xzr\n\t"
  3513. "umulh x7, %[b], x10\n\t"
  3514. "adc x4, xzr, xzr\n\t"
  3515. "adds x3, x3, x6\n\t"
  3516. "# A[10] * B\n\t"
  3517. "ldp x9, x10, [%[a], 80]\n\t"
  3518. "str x3, [%[r], 72]\n\t"
  3519. "adcs x4, x4, x7\n\t"
  3520. "mul x6, %[b], x9\n\t"
  3521. "mov x3, xzr\n\t"
  3522. "umulh x7, %[b], x9\n\t"
  3523. "adc x5, xzr, xzr\n\t"
  3524. "adds x4, x4, x6\n\t"
  3525. "# A[11] * B\n\t"
  3526. "str x4, [%[r], 80]\n\t"
  3527. "adcs x5, x5, x7\n\t"
  3528. "mul x6, %[b], x10\n\t"
  3529. "mov x4, xzr\n\t"
  3530. "umulh x7, %[b], x10\n\t"
  3531. "adc x3, xzr, xzr\n\t"
  3532. "adds x5, x5, x6\n\t"
  3533. "# A[12] * B\n\t"
  3534. "ldp x9, x10, [%[a], 96]\n\t"
  3535. "str x5, [%[r], 88]\n\t"
  3536. "adcs x3, x3, x7\n\t"
  3537. "mul x6, %[b], x9\n\t"
  3538. "mov x5, xzr\n\t"
  3539. "umulh x7, %[b], x9\n\t"
  3540. "adc x4, xzr, xzr\n\t"
  3541. "adds x3, x3, x6\n\t"
  3542. "# A[13] * B\n\t"
  3543. "str x3, [%[r], 96]\n\t"
  3544. "adcs x4, x4, x7\n\t"
  3545. "mul x6, %[b], x10\n\t"
  3546. "mov x3, xzr\n\t"
  3547. "umulh x7, %[b], x10\n\t"
  3548. "adc x5, xzr, xzr\n\t"
  3549. "adds x4, x4, x6\n\t"
  3550. "# A[14] * B\n\t"
  3551. "ldp x9, x10, [%[a], 112]\n\t"
  3552. "str x4, [%[r], 104]\n\t"
  3553. "adcs x5, x5, x7\n\t"
  3554. "mul x6, %[b], x9\n\t"
  3555. "mov x4, xzr\n\t"
  3556. "umulh x7, %[b], x9\n\t"
  3557. "adc x3, xzr, xzr\n\t"
  3558. "adds x5, x5, x6\n\t"
  3559. "# A[15] * B\n\t"
  3560. "str x5, [%[r], 112]\n\t"
  3561. "mul x6, %[b], x10\n\t"
  3562. "adcs x3, x3, x7\n\t"
  3563. "umulh x7, %[b], x10\n\t"
  3564. "adc x4, xzr, xzr\n\t"
  3565. "adds x3, x3, x6\n\t"
  3566. "adc x4, x4, x7\n\t"
  3567. "stp x3, x4, [%[r], 120]\n\t"
  3568. :
  3569. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  3570. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  3571. );
  3572. #endif
  3573. }
  3574. /* Divide the double width number (d1|d0) by the divisor. (d1|d0 / div)
  3575. *
  3576. * Assumes divisor has higest bit set.
  3577. *
  3578. * d1 The high order half of the number to divide.
  3579. * d0 The low order half of the number to divide.
  3580. * div The divisor.
  3581. * returns the result of the division.
  3582. */
  3583. static sp_digit div_2048_word_16(sp_digit d1, sp_digit d0, sp_digit div)
  3584. {
  3585. __asm__ __volatile__ (
  3586. "lsr x8, %[div], 32\n\t"
  3587. "add x5, x8, 1\n\t"
  3588. "udiv x3, %[d1], x5\n\t"
  3589. "lsl x7, %[div], 32\n\t"
  3590. "movz x9, #1, lsl 32\n\t"
  3591. "lsl x6, x3, 32\n\t"
  3592. "mul x4, %[div], x6\n\t"
  3593. "umulh x3, %[div], x6\n\t"
  3594. "subs %[d0], %[d0], x4\n\t"
  3595. "sbc %[d1], %[d1], x3\n\t"
  3596. "cmp %[d1], x5\n\t"
  3597. "cset x9, ge\n\t"
  3598. "csetm x10, ge\n\t"
  3599. "lsl x9, x9, #32\n\t"
  3600. "and x7, x7, x10\n\t"
  3601. "and x8, x8, x10\n\t"
  3602. "subs %[d0], %[d0], x7\n\t"
  3603. "add x6, x6, x9\n\t"
  3604. "sbc %[d1], %[d1], x8\n\t"
  3605. "extr x3, %[d1], %[d0], 32\n\t"
  3606. "udiv x3, x3, x5\n\t"
  3607. "add x6, x6, x3\n\t"
  3608. "mul x4, %[div], x3\n\t"
  3609. "umulh x3, %[div], x3\n\t"
  3610. "subs %[d0], %[d0], x4\n\t"
  3611. "sbc %[d1], %[d1], x3\n\t"
  3612. "extr x3, %[d1], %[d0], 32\n\t"
  3613. "udiv x3, x3, x5\n\t"
  3614. "add x6, x6, x3\n\t"
  3615. "mul x4, %[div], x3\n\t"
  3616. "sub %[d0], %[d0], x4\n\t"
  3617. "udiv x3, %[d0], %[div]\n\t"
  3618. "add %[d1], x6, x3\n\t"
  3619. : [d1] "+r" (d1), [d0] "+r" (d0)
  3620. : [div] "r" (div)
  3621. : "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  3622. );
  3623. return d1;
  3624. }
  3625. /* AND m into each word of a and store in r.
  3626. *
  3627. * r A single precision integer.
  3628. * a A single precision integer.
  3629. * m Mask to AND against each digit.
  3630. */
  3631. static void sp_2048_mask_16(sp_digit* r, const sp_digit* a, sp_digit m)
  3632. {
  3633. #ifdef WOLFSSL_SP_SMALL
  3634. int i;
  3635. for (i=0; i<16; i++) {
  3636. r[i] = a[i] & m;
  3637. }
  3638. #else
  3639. int i;
  3640. for (i = 0; i < 16; i += 8) {
  3641. r[i+0] = a[i+0] & m;
  3642. r[i+1] = a[i+1] & m;
  3643. r[i+2] = a[i+2] & m;
  3644. r[i+3] = a[i+3] & m;
  3645. r[i+4] = a[i+4] & m;
  3646. r[i+5] = a[i+5] & m;
  3647. r[i+6] = a[i+6] & m;
  3648. r[i+7] = a[i+7] & m;
  3649. }
  3650. #endif
  3651. }
  3652. /* Compare a with b in constant time.
  3653. *
  3654. * a A single precision integer.
  3655. * b A single precision integer.
  3656. * return -ve, 0 or +ve if a is less than, equal to or greater than b
  3657. * respectively.
  3658. */
  3659. static sp_int64 sp_2048_cmp_16(const sp_digit* a, const sp_digit* b)
  3660. {
  3661. #ifdef WOLFSSL_SP_SMALL
  3662. __asm__ __volatile__ (
  3663. "mov x3, #0\n\t"
  3664. "mov x2, #-1\n\t"
  3665. "mov x10, #16\n\t"
  3666. "add %[a], %[a], #112\n\t"
  3667. "add %[b], %[b], #112\n\t"
  3668. "1:\n\t"
  3669. "ldp x6, x7, [%[a]], -16\n\t"
  3670. "ldp x8, x9, [%[b]], -16\n\t"
  3671. "subs x7, x7, x9\n\t"
  3672. "csel x4, x2, xzr, lo\n\t"
  3673. "csetm x5, eq\n\t"
  3674. "orr x3, x3, x4\n\t"
  3675. "and x2, x2, x5\n\t"
  3676. "subs x6, x6, x8\n\t"
  3677. "csel x4, x2, xzr, lo\n\t"
  3678. "csetm x5, eq\n\t"
  3679. "orr x3, x3, x4\n\t"
  3680. "and x2, x2, x5\n\t"
  3681. "subs x10, x10, #2\n\t"
  3682. "b.ne 1b\n\t"
  3683. "cmp x2, #0\n\t"
  3684. "cset %[a], eq\n\t"
  3685. "orr %[a], %[a], x3\n\t"
  3686. : [a] "+r" (a), [b] "+r" (b)
  3687. :
  3688. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  3689. );
  3690. #else
  3691. __asm__ __volatile__ (
  3692. "mov x3, #0\n\t"
  3693. "mov x2, #-1\n\t"
  3694. "ldp x6, x7, [%[a], 112]\n\t"
  3695. "ldp x8, x9, [%[b], 112]\n\t"
  3696. "subs x7, x7, x9\n\t"
  3697. "csel x4, x2, xzr, lo\n\t"
  3698. "csetm x5, eq\n\t"
  3699. "orr x3, x3, x4\n\t"
  3700. "and x2, x2, x5\n\t"
  3701. "subs x6, x6, x8\n\t"
  3702. "csel x4, x2, xzr, lo\n\t"
  3703. "csetm x5, eq\n\t"
  3704. "orr x3, x3, x4\n\t"
  3705. "and x2, x2, x5\n\t"
  3706. "ldp x6, x7, [%[a], 96]\n\t"
  3707. "ldp x8, x9, [%[b], 96]\n\t"
  3708. "subs x7, x7, x9\n\t"
  3709. "csel x4, x2, xzr, lo\n\t"
  3710. "csetm x5, eq\n\t"
  3711. "orr x3, x3, x4\n\t"
  3712. "and x2, x2, x5\n\t"
  3713. "subs x6, x6, x8\n\t"
  3714. "csel x4, x2, xzr, lo\n\t"
  3715. "csetm x5, eq\n\t"
  3716. "orr x3, x3, x4\n\t"
  3717. "and x2, x2, x5\n\t"
  3718. "ldp x6, x7, [%[a], 80]\n\t"
  3719. "ldp x8, x9, [%[b], 80]\n\t"
  3720. "subs x7, x7, x9\n\t"
  3721. "csel x4, x2, xzr, lo\n\t"
  3722. "csetm x5, eq\n\t"
  3723. "orr x3, x3, x4\n\t"
  3724. "and x2, x2, x5\n\t"
  3725. "subs x6, x6, x8\n\t"
  3726. "csel x4, x2, xzr, lo\n\t"
  3727. "csetm x5, eq\n\t"
  3728. "orr x3, x3, x4\n\t"
  3729. "and x2, x2, x5\n\t"
  3730. "ldp x6, x7, [%[a], 64]\n\t"
  3731. "ldp x8, x9, [%[b], 64]\n\t"
  3732. "subs x7, x7, x9\n\t"
  3733. "csel x4, x2, xzr, lo\n\t"
  3734. "csetm x5, eq\n\t"
  3735. "orr x3, x3, x4\n\t"
  3736. "and x2, x2, x5\n\t"
  3737. "subs x6, x6, x8\n\t"
  3738. "csel x4, x2, xzr, lo\n\t"
  3739. "csetm x5, eq\n\t"
  3740. "orr x3, x3, x4\n\t"
  3741. "and x2, x2, x5\n\t"
  3742. "ldp x6, x7, [%[a], 48]\n\t"
  3743. "ldp x8, x9, [%[b], 48]\n\t"
  3744. "subs x7, x7, x9\n\t"
  3745. "csel x4, x2, xzr, lo\n\t"
  3746. "csetm x5, eq\n\t"
  3747. "orr x3, x3, x4\n\t"
  3748. "and x2, x2, x5\n\t"
  3749. "subs x6, x6, x8\n\t"
  3750. "csel x4, x2, xzr, lo\n\t"
  3751. "csetm x5, eq\n\t"
  3752. "orr x3, x3, x4\n\t"
  3753. "and x2, x2, x5\n\t"
  3754. "ldp x6, x7, [%[a], 32]\n\t"
  3755. "ldp x8, x9, [%[b], 32]\n\t"
  3756. "subs x7, x7, x9\n\t"
  3757. "csel x4, x2, xzr, lo\n\t"
  3758. "csetm x5, eq\n\t"
  3759. "orr x3, x3, x4\n\t"
  3760. "and x2, x2, x5\n\t"
  3761. "subs x6, x6, x8\n\t"
  3762. "csel x4, x2, xzr, lo\n\t"
  3763. "csetm x5, eq\n\t"
  3764. "orr x3, x3, x4\n\t"
  3765. "and x2, x2, x5\n\t"
  3766. "ldp x6, x7, [%[a], 16]\n\t"
  3767. "ldp x8, x9, [%[b], 16]\n\t"
  3768. "subs x7, x7, x9\n\t"
  3769. "csel x4, x2, xzr, lo\n\t"
  3770. "csetm x5, eq\n\t"
  3771. "orr x3, x3, x4\n\t"
  3772. "and x2, x2, x5\n\t"
  3773. "subs x6, x6, x8\n\t"
  3774. "csel x4, x2, xzr, lo\n\t"
  3775. "csetm x5, eq\n\t"
  3776. "orr x3, x3, x4\n\t"
  3777. "and x2, x2, x5\n\t"
  3778. "ldp x6, x7, [%[a], 0]\n\t"
  3779. "ldp x8, x9, [%[b], 0]\n\t"
  3780. "subs x7, x7, x9\n\t"
  3781. "csel x4, x2, xzr, lo\n\t"
  3782. "csetm x5, eq\n\t"
  3783. "orr x3, x3, x4\n\t"
  3784. "and x2, x2, x5\n\t"
  3785. "subs x6, x6, x8\n\t"
  3786. "csel x4, x2, xzr, lo\n\t"
  3787. "csetm x5, eq\n\t"
  3788. "orr x3, x3, x4\n\t"
  3789. "and x2, x2, x5\n\t"
  3790. "cmp x2, #0\n\t"
  3791. "cset %[a], eq\n\t"
  3792. "orr %[a], %[a], x3\n\t"
  3793. : [a] "+r" (a)
  3794. : [b] "r" (b)
  3795. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  3796. );
  3797. #endif
  3798. return (sp_int64)a;
  3799. }
  3800. /* Divide d in a and put remainder into r (m*d + r = a)
  3801. * m is not calculated as it is not needed at this time.
  3802. *
  3803. * a Number to be divided.
  3804. * d Number to divide with.
  3805. * m Multiplier result.
  3806. * r Remainder from the division.
  3807. * returns MP_OKAY indicating success.
  3808. */
  3809. static WC_INLINE int sp_2048_div_16(const sp_digit* a, const sp_digit* d, sp_digit* m,
  3810. sp_digit* r)
  3811. {
  3812. sp_digit t1[32], t2[17];
  3813. sp_digit div, r1;
  3814. int i;
  3815. (void)m;
  3816. div = d[15];
  3817. XMEMCPY(t1, a, sizeof(*t1) * 2 * 16);
  3818. r1 = sp_2048_cmp_16(&t1[16], d) >= 0;
  3819. sp_2048_cond_sub_16(&t1[16], &t1[16], d, (sp_digit)0 - r1);
  3820. for (i = 15; i >= 0; i--) {
  3821. sp_digit mask = 0 - (t1[16 + i] == div);
  3822. sp_digit hi = t1[16 + i] + mask;
  3823. r1 = div_2048_word_16(hi, t1[16 + i - 1], div);
  3824. r1 |= mask;
  3825. sp_2048_mul_d_16(t2, d, r1);
  3826. t1[16 + i] += sp_2048_sub_in_place_16(&t1[i], t2);
  3827. t1[16 + i] -= t2[16];
  3828. sp_2048_mask_16(t2, d, t1[16 + i]);
  3829. t1[16 + i] += sp_2048_add_16(&t1[i], &t1[i], t2);
  3830. sp_2048_mask_16(t2, d, t1[16 + i]);
  3831. t1[16 + i] += sp_2048_add_16(&t1[i], &t1[i], t2);
  3832. }
  3833. r1 = sp_2048_cmp_16(t1, d) >= 0;
  3834. sp_2048_cond_sub_16(r, t1, d, (sp_digit)0 - r1);
  3835. return MP_OKAY;
  3836. }
  3837. /* Reduce a modulo m into r. (r = a mod m)
  3838. *
  3839. * r A single precision number that is the reduced result.
  3840. * a A single precision number that is to be reduced.
  3841. * m A single precision number that is the modulus to reduce with.
  3842. * returns MP_OKAY indicating success.
  3843. */
  3844. static WC_INLINE int sp_2048_mod_16(sp_digit* r, const sp_digit* a, const sp_digit* m)
  3845. {
  3846. return sp_2048_div_16(a, m, NULL, r);
  3847. }
  3848. #ifdef WOLFSSL_SP_SMALL
  3849. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  3850. *
  3851. * r A single precision number that is the result of the operation.
  3852. * a A single precision number being exponentiated.
  3853. * e A single precision number that is the exponent.
  3854. * bits The number of bits in the exponent.
  3855. * m A single precision number that is the modulus.
  3856. * returns 0 on success.
  3857. * returns MEMORY_E on dynamic memory allocation failure.
  3858. * returns MP_VAL when base is even or exponent is 0.
  3859. */
  3860. static int sp_2048_mod_exp_16(sp_digit* r, const sp_digit* a, const sp_digit* e,
  3861. int bits, const sp_digit* m, int reduceA)
  3862. {
  3863. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  3864. sp_digit* td = NULL;
  3865. #else
  3866. sp_digit td[16 * 32];
  3867. #endif
  3868. sp_digit* t[16];
  3869. sp_digit* norm = NULL;
  3870. sp_digit mp = 1;
  3871. sp_digit n;
  3872. sp_digit mask;
  3873. int i;
  3874. int c;
  3875. byte y;
  3876. int err = MP_OKAY;
  3877. if (bits == 0) {
  3878. err = MP_VAL;
  3879. }
  3880. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  3881. if (err == MP_OKAY) {
  3882. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (16 * 32), NULL,
  3883. DYNAMIC_TYPE_TMP_BUFFER);
  3884. if (td == NULL)
  3885. err = MEMORY_E;
  3886. }
  3887. #endif
  3888. if (err == MP_OKAY) {
  3889. norm = td;
  3890. for (i=0; i<16; i++) {
  3891. t[i] = td + i * 32;
  3892. }
  3893. sp_2048_mont_setup(m, &mp);
  3894. sp_2048_mont_norm_16(norm, m);
  3895. XMEMSET(t[1], 0, sizeof(sp_digit) * 16U);
  3896. if (reduceA != 0) {
  3897. err = sp_2048_mod_16(t[1] + 16, a, m);
  3898. if (err == MP_OKAY) {
  3899. err = sp_2048_mod_16(t[1], t[1], m);
  3900. }
  3901. }
  3902. else {
  3903. XMEMCPY(t[1] + 16, a, sizeof(sp_digit) * 16);
  3904. err = sp_2048_mod_16(t[1], t[1], m);
  3905. }
  3906. }
  3907. if (err == MP_OKAY) {
  3908. sp_2048_mont_sqr_16(t[ 2], t[ 1], m, mp);
  3909. sp_2048_mont_mul_16(t[ 3], t[ 2], t[ 1], m, mp);
  3910. sp_2048_mont_sqr_16(t[ 4], t[ 2], m, mp);
  3911. sp_2048_mont_mul_16(t[ 5], t[ 3], t[ 2], m, mp);
  3912. sp_2048_mont_sqr_16(t[ 6], t[ 3], m, mp);
  3913. sp_2048_mont_mul_16(t[ 7], t[ 4], t[ 3], m, mp);
  3914. sp_2048_mont_sqr_16(t[ 8], t[ 4], m, mp);
  3915. sp_2048_mont_mul_16(t[ 9], t[ 5], t[ 4], m, mp);
  3916. sp_2048_mont_sqr_16(t[10], t[ 5], m, mp);
  3917. sp_2048_mont_mul_16(t[11], t[ 6], t[ 5], m, mp);
  3918. sp_2048_mont_sqr_16(t[12], t[ 6], m, mp);
  3919. sp_2048_mont_mul_16(t[13], t[ 7], t[ 6], m, mp);
  3920. sp_2048_mont_sqr_16(t[14], t[ 7], m, mp);
  3921. sp_2048_mont_mul_16(t[15], t[ 8], t[ 7], m, mp);
  3922. i = (bits - 1) / 64;
  3923. n = e[i--];
  3924. c = bits & 63;
  3925. if (c == 0) {
  3926. c = 64;
  3927. }
  3928. c -= bits % 4;
  3929. if (c == 64) {
  3930. c = 60;
  3931. }
  3932. if (c < 0) {
  3933. /* Number of bits in top word is less than number needed. */
  3934. c = -c;
  3935. y = (byte)(n << c);
  3936. n = e[i--];
  3937. y |= (byte)(n >> (64 - c));
  3938. n <<= c;
  3939. c = 64 - c;
  3940. }
  3941. else if (c == 0) {
  3942. /* All bits in top word used. */
  3943. y = (byte)n;
  3944. }
  3945. else {
  3946. y = (byte)(n >> c);
  3947. n <<= 64 - c;
  3948. }
  3949. XMEMCPY(r, t[y], sizeof(sp_digit) * 16);
  3950. for (; i>=0 || c>=4; ) {
  3951. if (c == 0) {
  3952. n = e[i--];
  3953. y = (byte)(n >> 60);
  3954. n <<= 4;
  3955. c = 60;
  3956. }
  3957. else if (c < 4) {
  3958. y = (byte)(n >> 60);
  3959. n = e[i--];
  3960. c = 4 - c;
  3961. y |= (byte)(n >> (64 - c));
  3962. n <<= c;
  3963. c = 64 - c;
  3964. }
  3965. else {
  3966. y = (byte)((n >> 60) & 0xf);
  3967. n <<= 4;
  3968. c -= 4;
  3969. }
  3970. sp_2048_mont_sqr_16(r, r, m, mp);
  3971. sp_2048_mont_sqr_16(r, r, m, mp);
  3972. sp_2048_mont_sqr_16(r, r, m, mp);
  3973. sp_2048_mont_sqr_16(r, r, m, mp);
  3974. sp_2048_mont_mul_16(r, r, t[y], m, mp);
  3975. }
  3976. XMEMSET(&r[16], 0, sizeof(sp_digit) * 16U);
  3977. sp_2048_mont_reduce_16(r, m, mp);
  3978. mask = 0 - (sp_2048_cmp_16(r, m) >= 0);
  3979. sp_2048_cond_sub_16(r, r, m, mask);
  3980. }
  3981. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  3982. if (td != NULL)
  3983. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  3984. #endif
  3985. return err;
  3986. }
  3987. #else
  3988. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  3989. *
  3990. * r A single precision number that is the result of the operation.
  3991. * a A single precision number being exponentiated.
  3992. * e A single precision number that is the exponent.
  3993. * bits The number of bits in the exponent.
  3994. * m A single precision number that is the modulus.
  3995. * returns 0 on success.
  3996. * returns MEMORY_E on dynamic memory allocation failure.
  3997. * returns MP_VAL when base is even or exponent is 0.
  3998. */
  3999. static int sp_2048_mod_exp_16(sp_digit* r, const sp_digit* a, const sp_digit* e,
  4000. int bits, const sp_digit* m, int reduceA)
  4001. {
  4002. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4003. sp_digit* td = NULL;
  4004. #else
  4005. sp_digit td[32 * 32];
  4006. #endif
  4007. sp_digit* t[32];
  4008. sp_digit* norm = NULL;
  4009. sp_digit mp = 1;
  4010. sp_digit n;
  4011. sp_digit mask;
  4012. int i;
  4013. int c;
  4014. byte y;
  4015. int err = MP_OKAY;
  4016. if (bits == 0) {
  4017. err = MP_VAL;
  4018. }
  4019. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4020. if (err == MP_OKAY) {
  4021. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (32 * 32), NULL,
  4022. DYNAMIC_TYPE_TMP_BUFFER);
  4023. if (td == NULL)
  4024. err = MEMORY_E;
  4025. }
  4026. #endif
  4027. if (err == MP_OKAY) {
  4028. norm = td;
  4029. for (i=0; i<32; i++) {
  4030. t[i] = td + i * 32;
  4031. }
  4032. sp_2048_mont_setup(m, &mp);
  4033. sp_2048_mont_norm_16(norm, m);
  4034. XMEMSET(t[1], 0, sizeof(sp_digit) * 16U);
  4035. if (reduceA != 0) {
  4036. err = sp_2048_mod_16(t[1] + 16, a, m);
  4037. if (err == MP_OKAY) {
  4038. err = sp_2048_mod_16(t[1], t[1], m);
  4039. }
  4040. }
  4041. else {
  4042. XMEMCPY(t[1] + 16, a, sizeof(sp_digit) * 16);
  4043. err = sp_2048_mod_16(t[1], t[1], m);
  4044. }
  4045. }
  4046. if (err == MP_OKAY) {
  4047. sp_2048_mont_sqr_16(t[ 2], t[ 1], m, mp);
  4048. sp_2048_mont_mul_16(t[ 3], t[ 2], t[ 1], m, mp);
  4049. sp_2048_mont_sqr_16(t[ 4], t[ 2], m, mp);
  4050. sp_2048_mont_mul_16(t[ 5], t[ 3], t[ 2], m, mp);
  4051. sp_2048_mont_sqr_16(t[ 6], t[ 3], m, mp);
  4052. sp_2048_mont_mul_16(t[ 7], t[ 4], t[ 3], m, mp);
  4053. sp_2048_mont_sqr_16(t[ 8], t[ 4], m, mp);
  4054. sp_2048_mont_mul_16(t[ 9], t[ 5], t[ 4], m, mp);
  4055. sp_2048_mont_sqr_16(t[10], t[ 5], m, mp);
  4056. sp_2048_mont_mul_16(t[11], t[ 6], t[ 5], m, mp);
  4057. sp_2048_mont_sqr_16(t[12], t[ 6], m, mp);
  4058. sp_2048_mont_mul_16(t[13], t[ 7], t[ 6], m, mp);
  4059. sp_2048_mont_sqr_16(t[14], t[ 7], m, mp);
  4060. sp_2048_mont_mul_16(t[15], t[ 8], t[ 7], m, mp);
  4061. sp_2048_mont_sqr_16(t[16], t[ 8], m, mp);
  4062. sp_2048_mont_mul_16(t[17], t[ 9], t[ 8], m, mp);
  4063. sp_2048_mont_sqr_16(t[18], t[ 9], m, mp);
  4064. sp_2048_mont_mul_16(t[19], t[10], t[ 9], m, mp);
  4065. sp_2048_mont_sqr_16(t[20], t[10], m, mp);
  4066. sp_2048_mont_mul_16(t[21], t[11], t[10], m, mp);
  4067. sp_2048_mont_sqr_16(t[22], t[11], m, mp);
  4068. sp_2048_mont_mul_16(t[23], t[12], t[11], m, mp);
  4069. sp_2048_mont_sqr_16(t[24], t[12], m, mp);
  4070. sp_2048_mont_mul_16(t[25], t[13], t[12], m, mp);
  4071. sp_2048_mont_sqr_16(t[26], t[13], m, mp);
  4072. sp_2048_mont_mul_16(t[27], t[14], t[13], m, mp);
  4073. sp_2048_mont_sqr_16(t[28], t[14], m, mp);
  4074. sp_2048_mont_mul_16(t[29], t[15], t[14], m, mp);
  4075. sp_2048_mont_sqr_16(t[30], t[15], m, mp);
  4076. sp_2048_mont_mul_16(t[31], t[16], t[15], m, mp);
  4077. i = (bits - 1) / 64;
  4078. n = e[i--];
  4079. c = bits & 63;
  4080. if (c == 0) {
  4081. c = 64;
  4082. }
  4083. c -= bits % 5;
  4084. if (c == 64) {
  4085. c = 59;
  4086. }
  4087. if (c < 0) {
  4088. /* Number of bits in top word is less than number needed. */
  4089. c = -c;
  4090. y = (byte)(n << c);
  4091. n = e[i--];
  4092. y |= (byte)(n >> (64 - c));
  4093. n <<= c;
  4094. c = 64 - c;
  4095. }
  4096. else if (c == 0) {
  4097. /* All bits in top word used. */
  4098. y = (byte)n;
  4099. }
  4100. else {
  4101. y = (byte)(n >> c);
  4102. n <<= 64 - c;
  4103. }
  4104. XMEMCPY(r, t[y], sizeof(sp_digit) * 16);
  4105. for (; i>=0 || c>=5; ) {
  4106. if (c == 0) {
  4107. n = e[i--];
  4108. y = (byte)(n >> 59);
  4109. n <<= 5;
  4110. c = 59;
  4111. }
  4112. else if (c < 5) {
  4113. y = (byte)(n >> 59);
  4114. n = e[i--];
  4115. c = 5 - c;
  4116. y |= (byte)(n >> (64 - c));
  4117. n <<= c;
  4118. c = 64 - c;
  4119. }
  4120. else {
  4121. y = (byte)((n >> 59) & 0x1f);
  4122. n <<= 5;
  4123. c -= 5;
  4124. }
  4125. sp_2048_mont_sqr_16(r, r, m, mp);
  4126. sp_2048_mont_sqr_16(r, r, m, mp);
  4127. sp_2048_mont_sqr_16(r, r, m, mp);
  4128. sp_2048_mont_sqr_16(r, r, m, mp);
  4129. sp_2048_mont_sqr_16(r, r, m, mp);
  4130. sp_2048_mont_mul_16(r, r, t[y], m, mp);
  4131. }
  4132. XMEMSET(&r[16], 0, sizeof(sp_digit) * 16U);
  4133. sp_2048_mont_reduce_16(r, m, mp);
  4134. mask = 0 - (sp_2048_cmp_16(r, m) >= 0);
  4135. sp_2048_cond_sub_16(r, r, m, mask);
  4136. }
  4137. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  4138. if (td != NULL)
  4139. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  4140. #endif
  4141. return err;
  4142. }
  4143. #endif /* WOLFSSL_SP_SMALL */
  4144. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  4145. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  4146. /* r = 2^n mod m where n is the number of bits to reduce by.
  4147. * Given m must be 2048 bits, just need to subtract.
  4148. *
  4149. * r A single precision number.
  4150. * m A single precision number.
  4151. */
  4152. static void sp_2048_mont_norm_32(sp_digit* r, const sp_digit* m)
  4153. {
  4154. XMEMSET(r, 0, sizeof(sp_digit) * 32);
  4155. /* r = 2^n mod m */
  4156. sp_2048_sub_in_place_32(r, m);
  4157. }
  4158. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  4159. /* Reduce the number back to 2048 bits using Montgomery reduction.
  4160. *
  4161. * a A single precision number to reduce in place.
  4162. * m The single precision number representing the modulus.
  4163. * mp The digit representing the negative inverse of m mod 2^n.
  4164. */
  4165. SP_NOINLINE static void sp_2048_mont_reduce_32(sp_digit* a, const sp_digit* m,
  4166. sp_digit mp)
  4167. {
  4168. __asm__ __volatile__ (
  4169. "ldp x11, x12, [%[a], 0]\n\t"
  4170. "ldp x13, x14, [%[a], 16]\n\t"
  4171. "ldp x15, x16, [%[a], 32]\n\t"
  4172. "ldp x17, x19, [%[a], 48]\n\t"
  4173. "ldp x20, x21, [%[a], 64]\n\t"
  4174. "ldp x22, x23, [%[a], 80]\n\t"
  4175. "# No carry yet\n\t"
  4176. "mov x3, xzr\n\t"
  4177. "# i = 0..31\n\t"
  4178. "mov x4, 32\n\t"
  4179. "\n1:\n\t"
  4180. "# mu = a[i] * mp\n\t"
  4181. "mul x10, %[mp], x11\n\t"
  4182. "ldp x24, x25, [%[m], 0]\n\t"
  4183. "ldp x26, x27, [%[m], 16]\n\t"
  4184. "# a[i+0] += m[0] * mu\n\t"
  4185. "mul x5, x24, x10\n\t"
  4186. "umulh x6, x24, x10\n\t"
  4187. "# a[i+1] += m[1] * mu\n\t"
  4188. "adds x11, x11, x5\n\t"
  4189. "mul x5, x25, x10\n\t"
  4190. "adc x6, x6, xzr\n\t"
  4191. "umulh x7, x25, x10\n\t"
  4192. "adds x11, x12, x5\n\t"
  4193. "# a[i+2] += m[2] * mu\n\t"
  4194. "adc x7, x7, xzr\n\t"
  4195. "adds x11, x11, x6\n\t"
  4196. "mul x5, x26, x10\n\t"
  4197. "adc x7, x7, xzr\n\t"
  4198. "umulh x6, x26, x10\n\t"
  4199. "adds x12, x13, x5\n\t"
  4200. "# a[i+3] += m[3] * mu\n\t"
  4201. "adc x6, x6, xzr\n\t"
  4202. "adds x12, x12, x7\n\t"
  4203. "mul x5, x27, x10\n\t"
  4204. "adc x6, x6, xzr\n\t"
  4205. "umulh x7, x27, x10\n\t"
  4206. "adds x13, x14, x5\n\t"
  4207. "ldp x24, x25, [%[m], 32]\n\t"
  4208. "ldp x26, x27, [%[m], 48]\n\t"
  4209. "# a[i+4] += m[4] * mu\n\t"
  4210. "adc x7, x7, xzr\n\t"
  4211. "adds x13, x13, x6\n\t"
  4212. "mul x5, x24, x10\n\t"
  4213. "adc x7, x7, xzr\n\t"
  4214. "umulh x6, x24, x10\n\t"
  4215. "adds x14, x15, x5\n\t"
  4216. "# a[i+5] += m[5] * mu\n\t"
  4217. "adc x6, x6, xzr\n\t"
  4218. "adds x14, x14, x7\n\t"
  4219. "mul x5, x25, x10\n\t"
  4220. "adc x6, x6, xzr\n\t"
  4221. "umulh x7, x25, x10\n\t"
  4222. "adds x15, x16, x5\n\t"
  4223. "# a[i+6] += m[6] * mu\n\t"
  4224. "adc x7, x7, xzr\n\t"
  4225. "adds x15, x15, x6\n\t"
  4226. "mul x5, x26, x10\n\t"
  4227. "adc x7, x7, xzr\n\t"
  4228. "umulh x6, x26, x10\n\t"
  4229. "adds x16, x17, x5\n\t"
  4230. "# a[i+7] += m[7] * mu\n\t"
  4231. "adc x6, x6, xzr\n\t"
  4232. "adds x16, x16, x7\n\t"
  4233. "mul x5, x27, x10\n\t"
  4234. "adc x6, x6, xzr\n\t"
  4235. "umulh x7, x27, x10\n\t"
  4236. "adds x17, x19, x5\n\t"
  4237. "ldp x24, x25, [%[m], 64]\n\t"
  4238. "ldp x26, x27, [%[m], 80]\n\t"
  4239. "# a[i+8] += m[8] * mu\n\t"
  4240. "adc x7, x7, xzr\n\t"
  4241. "adds x17, x17, x6\n\t"
  4242. "mul x5, x24, x10\n\t"
  4243. "adc x7, x7, xzr\n\t"
  4244. "umulh x6, x24, x10\n\t"
  4245. "adds x19, x20, x5\n\t"
  4246. "# a[i+9] += m[9] * mu\n\t"
  4247. "adc x6, x6, xzr\n\t"
  4248. "adds x19, x19, x7\n\t"
  4249. "mul x5, x25, x10\n\t"
  4250. "adc x6, x6, xzr\n\t"
  4251. "umulh x7, x25, x10\n\t"
  4252. "adds x20, x21, x5\n\t"
  4253. "# a[i+10] += m[10] * mu\n\t"
  4254. "adc x7, x7, xzr\n\t"
  4255. "adds x20, x20, x6\n\t"
  4256. "mul x5, x26, x10\n\t"
  4257. "adc x7, x7, xzr\n\t"
  4258. "umulh x6, x26, x10\n\t"
  4259. "adds x21, x22, x5\n\t"
  4260. "# a[i+11] += m[11] * mu\n\t"
  4261. "adc x6, x6, xzr\n\t"
  4262. "adds x21, x21, x7\n\t"
  4263. "mul x5, x27, x10\n\t"
  4264. "adc x6, x6, xzr\n\t"
  4265. "umulh x7, x27, x10\n\t"
  4266. "adds x22, x23, x5\n\t"
  4267. "ldp x24, x25, [%[m], 96]\n\t"
  4268. "ldp x26, x27, [%[m], 112]\n\t"
  4269. "# a[i+12] += m[12] * mu\n\t"
  4270. "adc x7, x7, xzr\n\t"
  4271. "adds x22, x22, x6\n\t"
  4272. "mul x5, x24, x10\n\t"
  4273. "adc x7, x7, xzr\n\t"
  4274. "ldr x23, [%[a], 96]\n\t"
  4275. "umulh x6, x24, x10\n\t"
  4276. "adds x23, x23, x5\n\t"
  4277. "# a[i+13] += m[13] * mu\n\t"
  4278. "adc x6, x6, xzr\n\t"
  4279. "adds x23, x23, x7\n\t"
  4280. "mul x5, x25, x10\n\t"
  4281. "adc x6, x6, xzr\n\t"
  4282. "ldp x8, x9, [%[a], 104]\n\t"
  4283. "umulh x7, x25, x10\n\t"
  4284. "adds x8, x8, x5\n\t"
  4285. "# a[i+14] += m[14] * mu\n\t"
  4286. "adc x7, x7, xzr\n\t"
  4287. "adds x8, x8, x6\n\t"
  4288. "mul x5, x26, x10\n\t"
  4289. "adc x7, x7, xzr\n\t"
  4290. "str x8, [%[a], 104]\n\t"
  4291. "umulh x6, x26, x10\n\t"
  4292. "adds x9, x9, x5\n\t"
  4293. "# a[i+15] += m[15] * mu\n\t"
  4294. "adc x6, x6, xzr\n\t"
  4295. "adds x9, x9, x7\n\t"
  4296. "mul x5, x27, x10\n\t"
  4297. "adc x6, x6, xzr\n\t"
  4298. "str x9, [%[a], 112]\n\t"
  4299. "ldp x8, x9, [%[a], 120]\n\t"
  4300. "umulh x7, x27, x10\n\t"
  4301. "adds x8, x8, x5\n\t"
  4302. "ldp x24, x25, [%[m], 128]\n\t"
  4303. "ldp x26, x27, [%[m], 144]\n\t"
  4304. "# a[i+16] += m[16] * mu\n\t"
  4305. "adc x7, x7, xzr\n\t"
  4306. "adds x8, x8, x6\n\t"
  4307. "mul x5, x24, x10\n\t"
  4308. "adc x7, x7, xzr\n\t"
  4309. "str x8, [%[a], 120]\n\t"
  4310. "umulh x6, x24, x10\n\t"
  4311. "adds x9, x9, x5\n\t"
  4312. "# a[i+17] += m[17] * mu\n\t"
  4313. "adc x6, x6, xzr\n\t"
  4314. "adds x9, x9, x7\n\t"
  4315. "mul x5, x25, x10\n\t"
  4316. "adc x6, x6, xzr\n\t"
  4317. "str x9, [%[a], 128]\n\t"
  4318. "ldp x8, x9, [%[a], 136]\n\t"
  4319. "umulh x7, x25, x10\n\t"
  4320. "adds x8, x8, x5\n\t"
  4321. "# a[i+18] += m[18] * mu\n\t"
  4322. "adc x7, x7, xzr\n\t"
  4323. "adds x8, x8, x6\n\t"
  4324. "mul x5, x26, x10\n\t"
  4325. "adc x7, x7, xzr\n\t"
  4326. "str x8, [%[a], 136]\n\t"
  4327. "umulh x6, x26, x10\n\t"
  4328. "adds x9, x9, x5\n\t"
  4329. "# a[i+19] += m[19] * mu\n\t"
  4330. "adc x6, x6, xzr\n\t"
  4331. "adds x9, x9, x7\n\t"
  4332. "mul x5, x27, x10\n\t"
  4333. "adc x6, x6, xzr\n\t"
  4334. "str x9, [%[a], 144]\n\t"
  4335. "ldp x8, x9, [%[a], 152]\n\t"
  4336. "umulh x7, x27, x10\n\t"
  4337. "adds x8, x8, x5\n\t"
  4338. "ldp x24, x25, [%[m], 160]\n\t"
  4339. "ldp x26, x27, [%[m], 176]\n\t"
  4340. "# a[i+20] += m[20] * mu\n\t"
  4341. "adc x7, x7, xzr\n\t"
  4342. "adds x8, x8, x6\n\t"
  4343. "mul x5, x24, x10\n\t"
  4344. "adc x7, x7, xzr\n\t"
  4345. "str x8, [%[a], 152]\n\t"
  4346. "umulh x6, x24, x10\n\t"
  4347. "adds x9, x9, x5\n\t"
  4348. "# a[i+21] += m[21] * mu\n\t"
  4349. "adc x6, x6, xzr\n\t"
  4350. "adds x9, x9, x7\n\t"
  4351. "mul x5, x25, x10\n\t"
  4352. "adc x6, x6, xzr\n\t"
  4353. "str x9, [%[a], 160]\n\t"
  4354. "ldp x8, x9, [%[a], 168]\n\t"
  4355. "umulh x7, x25, x10\n\t"
  4356. "adds x8, x8, x5\n\t"
  4357. "# a[i+22] += m[22] * mu\n\t"
  4358. "adc x7, x7, xzr\n\t"
  4359. "adds x8, x8, x6\n\t"
  4360. "mul x5, x26, x10\n\t"
  4361. "adc x7, x7, xzr\n\t"
  4362. "str x8, [%[a], 168]\n\t"
  4363. "umulh x6, x26, x10\n\t"
  4364. "adds x9, x9, x5\n\t"
  4365. "# a[i+23] += m[23] * mu\n\t"
  4366. "adc x6, x6, xzr\n\t"
  4367. "adds x9, x9, x7\n\t"
  4368. "mul x5, x27, x10\n\t"
  4369. "adc x6, x6, xzr\n\t"
  4370. "str x9, [%[a], 176]\n\t"
  4371. "ldp x8, x9, [%[a], 184]\n\t"
  4372. "umulh x7, x27, x10\n\t"
  4373. "adds x8, x8, x5\n\t"
  4374. "ldp x24, x25, [%[m], 192]\n\t"
  4375. "ldp x26, x27, [%[m], 208]\n\t"
  4376. "# a[i+24] += m[24] * mu\n\t"
  4377. "adc x7, x7, xzr\n\t"
  4378. "adds x8, x8, x6\n\t"
  4379. "mul x5, x24, x10\n\t"
  4380. "adc x7, x7, xzr\n\t"
  4381. "str x8, [%[a], 184]\n\t"
  4382. "umulh x6, x24, x10\n\t"
  4383. "adds x9, x9, x5\n\t"
  4384. "# a[i+25] += m[25] * mu\n\t"
  4385. "adc x6, x6, xzr\n\t"
  4386. "adds x9, x9, x7\n\t"
  4387. "mul x5, x25, x10\n\t"
  4388. "adc x6, x6, xzr\n\t"
  4389. "str x9, [%[a], 192]\n\t"
  4390. "ldp x8, x9, [%[a], 200]\n\t"
  4391. "umulh x7, x25, x10\n\t"
  4392. "adds x8, x8, x5\n\t"
  4393. "# a[i+26] += m[26] * mu\n\t"
  4394. "adc x7, x7, xzr\n\t"
  4395. "adds x8, x8, x6\n\t"
  4396. "mul x5, x26, x10\n\t"
  4397. "adc x7, x7, xzr\n\t"
  4398. "str x8, [%[a], 200]\n\t"
  4399. "umulh x6, x26, x10\n\t"
  4400. "adds x9, x9, x5\n\t"
  4401. "# a[i+27] += m[27] * mu\n\t"
  4402. "adc x6, x6, xzr\n\t"
  4403. "adds x9, x9, x7\n\t"
  4404. "mul x5, x27, x10\n\t"
  4405. "adc x6, x6, xzr\n\t"
  4406. "str x9, [%[a], 208]\n\t"
  4407. "ldp x8, x9, [%[a], 216]\n\t"
  4408. "umulh x7, x27, x10\n\t"
  4409. "adds x8, x8, x5\n\t"
  4410. "ldp x24, x25, [%[m], 224]\n\t"
  4411. "ldp x26, x27, [%[m], 240]\n\t"
  4412. "# a[i+28] += m[28] * mu\n\t"
  4413. "adc x7, x7, xzr\n\t"
  4414. "adds x8, x8, x6\n\t"
  4415. "mul x5, x24, x10\n\t"
  4416. "adc x7, x7, xzr\n\t"
  4417. "str x8, [%[a], 216]\n\t"
  4418. "umulh x6, x24, x10\n\t"
  4419. "adds x9, x9, x5\n\t"
  4420. "# a[i+29] += m[29] * mu\n\t"
  4421. "adc x6, x6, xzr\n\t"
  4422. "adds x9, x9, x7\n\t"
  4423. "mul x5, x25, x10\n\t"
  4424. "adc x6, x6, xzr\n\t"
  4425. "str x9, [%[a], 224]\n\t"
  4426. "ldp x8, x9, [%[a], 232]\n\t"
  4427. "umulh x7, x25, x10\n\t"
  4428. "adds x8, x8, x5\n\t"
  4429. "# a[i+30] += m[30] * mu\n\t"
  4430. "adc x7, x7, xzr\n\t"
  4431. "adds x8, x8, x6\n\t"
  4432. "mul x5, x26, x10\n\t"
  4433. "adc x7, x7, xzr\n\t"
  4434. "str x8, [%[a], 232]\n\t"
  4435. "umulh x6, x26, x10\n\t"
  4436. "adds x9, x9, x5\n\t"
  4437. "# a[i+31] += m[31] * mu\n\t"
  4438. "adc x6, x6, xzr\n\t"
  4439. "adds x9, x9, x7\n\t"
  4440. "mul x5, x27, x10\n\t"
  4441. "adc x6, x6, xzr\n\t"
  4442. "str x9, [%[a], 240]\n\t"
  4443. "umulh x7, x27, x10\n\t"
  4444. "ldp x8, x9, [%[a], 248]\n\t"
  4445. "adds x5, x5, x6\n\t"
  4446. "adcs x7, x7, x3\n\t"
  4447. "cset x3, cs\n\t"
  4448. "adds x8, x8, x5\n\t"
  4449. "str x8, [%[a], 248]\n\t"
  4450. "adcs x9, x9, x7\n\t"
  4451. "str x9, [%[a], 256]\n\t"
  4452. "adc x3, x3, xzr\n\t"
  4453. "subs x4, x4, 1\n\t"
  4454. "add %[a], %[a], 8\n\t"
  4455. "b.ne 1b\n\t"
  4456. "# Create mask\n\t"
  4457. "neg x3, x3\n\t"
  4458. "mov %[mp], %[a]\n\t"
  4459. "sub %[a], %[a], 256\n\t"
  4460. "# Subtract masked modulus\n\t"
  4461. "ldp x4, x5, [%[m], 0]\n\t"
  4462. "ldp x6, x7, [%[m], 16]\n\t"
  4463. "and x4, x4, x3\n\t"
  4464. "and x5, x5, x3\n\t"
  4465. "subs x11, x11, x4\n\t"
  4466. "and x6, x6, x3\n\t"
  4467. "sbcs x12, x12, x5\n\t"
  4468. "and x7, x7, x3\n\t"
  4469. "sbcs x13, x13, x6\n\t"
  4470. "stp x11, x12, [%[a], 0]\n\t"
  4471. "sbcs x14, x14, x7\n\t"
  4472. "stp x13, x14, [%[a], 16]\n\t"
  4473. "ldp x4, x5, [%[m], 32]\n\t"
  4474. "ldp x6, x7, [%[m], 48]\n\t"
  4475. "and x4, x4, x3\n\t"
  4476. "and x5, x5, x3\n\t"
  4477. "sbcs x15, x15, x4\n\t"
  4478. "and x6, x6, x3\n\t"
  4479. "sbcs x16, x16, x5\n\t"
  4480. "and x7, x7, x3\n\t"
  4481. "sbcs x17, x17, x6\n\t"
  4482. "stp x15, x16, [%[a], 32]\n\t"
  4483. "sbcs x19, x19, x7\n\t"
  4484. "stp x17, x19, [%[a], 48]\n\t"
  4485. "ldp x4, x5, [%[m], 64]\n\t"
  4486. "ldp x6, x7, [%[m], 80]\n\t"
  4487. "and x4, x4, x3\n\t"
  4488. "and x5, x5, x3\n\t"
  4489. "sbcs x20, x20, x4\n\t"
  4490. "and x6, x6, x3\n\t"
  4491. "sbcs x21, x21, x5\n\t"
  4492. "and x7, x7, x3\n\t"
  4493. "sbcs x22, x22, x6\n\t"
  4494. "stp x20, x21, [%[a], 64]\n\t"
  4495. "sbcs x23, x23, x7\n\t"
  4496. "stp x22, x23, [%[a], 80]\n\t"
  4497. "ldp x4, x5, [%[m], 96]\n\t"
  4498. "ldp x6, x7, [%[m], 112]\n\t"
  4499. "ldp x8, x9, [%[mp], 96]\n\t"
  4500. "ldp x10, x11, [%[mp], 112]\n\t"
  4501. "and x4, x4, x3\n\t"
  4502. "and x5, x5, x3\n\t"
  4503. "sbcs x8, x8, x4\n\t"
  4504. "and x6, x6, x3\n\t"
  4505. "sbcs x9, x9, x5\n\t"
  4506. "and x7, x7, x3\n\t"
  4507. "sbcs x10, x10, x6\n\t"
  4508. "stp x8, x9, [%[a], 96]\n\t"
  4509. "sbcs x11, x11, x7\n\t"
  4510. "stp x10, x11, [%[a], 112]\n\t"
  4511. "ldp x4, x5, [%[m], 128]\n\t"
  4512. "ldp x6, x7, [%[m], 144]\n\t"
  4513. "ldp x8, x9, [%[mp], 128]\n\t"
  4514. "ldp x10, x11, [%[mp], 144]\n\t"
  4515. "and x4, x4, x3\n\t"
  4516. "and x5, x5, x3\n\t"
  4517. "sbcs x8, x8, x4\n\t"
  4518. "and x6, x6, x3\n\t"
  4519. "sbcs x9, x9, x5\n\t"
  4520. "and x7, x7, x3\n\t"
  4521. "sbcs x10, x10, x6\n\t"
  4522. "stp x8, x9, [%[a], 128]\n\t"
  4523. "sbcs x11, x11, x7\n\t"
  4524. "stp x10, x11, [%[a], 144]\n\t"
  4525. "ldp x4, x5, [%[m], 160]\n\t"
  4526. "ldp x6, x7, [%[m], 176]\n\t"
  4527. "ldp x8, x9, [%[mp], 160]\n\t"
  4528. "ldp x10, x11, [%[mp], 176]\n\t"
  4529. "and x4, x4, x3\n\t"
  4530. "and x5, x5, x3\n\t"
  4531. "sbcs x8, x8, x4\n\t"
  4532. "and x6, x6, x3\n\t"
  4533. "sbcs x9, x9, x5\n\t"
  4534. "and x7, x7, x3\n\t"
  4535. "sbcs x10, x10, x6\n\t"
  4536. "stp x8, x9, [%[a], 160]\n\t"
  4537. "sbcs x11, x11, x7\n\t"
  4538. "stp x10, x11, [%[a], 176]\n\t"
  4539. "ldp x4, x5, [%[m], 192]\n\t"
  4540. "ldp x6, x7, [%[m], 208]\n\t"
  4541. "ldp x8, x9, [%[mp], 192]\n\t"
  4542. "ldp x10, x11, [%[mp], 208]\n\t"
  4543. "and x4, x4, x3\n\t"
  4544. "and x5, x5, x3\n\t"
  4545. "sbcs x8, x8, x4\n\t"
  4546. "and x6, x6, x3\n\t"
  4547. "sbcs x9, x9, x5\n\t"
  4548. "and x7, x7, x3\n\t"
  4549. "sbcs x10, x10, x6\n\t"
  4550. "stp x8, x9, [%[a], 192]\n\t"
  4551. "sbcs x11, x11, x7\n\t"
  4552. "stp x10, x11, [%[a], 208]\n\t"
  4553. "ldp x4, x5, [%[m], 224]\n\t"
  4554. "ldp x6, x7, [%[m], 240]\n\t"
  4555. "ldp x8, x9, [%[mp], 224]\n\t"
  4556. "ldp x10, x11, [%[mp], 240]\n\t"
  4557. "and x4, x4, x3\n\t"
  4558. "and x5, x5, x3\n\t"
  4559. "sbcs x8, x8, x4\n\t"
  4560. "and x6, x6, x3\n\t"
  4561. "sbcs x9, x9, x5\n\t"
  4562. "and x7, x7, x3\n\t"
  4563. "sbcs x10, x10, x6\n\t"
  4564. "stp x8, x9, [%[a], 224]\n\t"
  4565. "sbcs x11, x11, x7\n\t"
  4566. "stp x10, x11, [%[a], 240]\n\t"
  4567. : [a] "+r" (a), [mp] "+r" (mp)
  4568. : [m] "r" (m)
  4569. : "memory", "x3", "x4", "x5", "x6", "x7", "x10", "x8", "x9", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27"
  4570. );
  4571. }
  4572. /* Multiply two Montgomery form numbers mod the modulus (prime).
  4573. * (r = a * b mod m)
  4574. *
  4575. * r Result of multiplication.
  4576. * a First number to multiply in Montgomery form.
  4577. * b Second number to multiply in Montgomery form.
  4578. * m Modulus (prime).
  4579. * mp Montgomery mulitplier.
  4580. */
  4581. SP_NOINLINE static void sp_2048_mont_mul_32(sp_digit* r, const sp_digit* a,
  4582. const sp_digit* b, const sp_digit* m, sp_digit mp)
  4583. {
  4584. sp_2048_mul_32(r, a, b);
  4585. sp_2048_mont_reduce_32(r, m, mp);
  4586. }
  4587. /* Square the Montgomery form number. (r = a * a mod m)
  4588. *
  4589. * r Result of squaring.
  4590. * a Number to square in Montgomery form.
  4591. * m Modulus (prime).
  4592. * mp Montgomery mulitplier.
  4593. */
  4594. SP_NOINLINE static void sp_2048_mont_sqr_32(sp_digit* r, const sp_digit* a,
  4595. const sp_digit* m, sp_digit mp)
  4596. {
  4597. sp_2048_sqr_32(r, a);
  4598. sp_2048_mont_reduce_32(r, m, mp);
  4599. }
  4600. #ifdef WOLFSSL_SP_SMALL
  4601. /* Sub b from a into r. (r = a - b)
  4602. *
  4603. * r A single precision integer.
  4604. * a A single precision integer.
  4605. * b A single precision integer.
  4606. */
  4607. static sp_digit sp_2048_sub_32(sp_digit* r, const sp_digit* a,
  4608. const sp_digit* b)
  4609. {
  4610. sp_digit c = 0;
  4611. __asm__ __volatile__ (
  4612. "add x11, %[a], 256\n\t"
  4613. "\n1:\n\t"
  4614. "subs %[c], xzr, %[c]\n\t"
  4615. "ldp x3, x4, [%[a]], #16\n\t"
  4616. "ldp x5, x6, [%[a]], #16\n\t"
  4617. "ldp x7, x8, [%[b]], #16\n\t"
  4618. "sbcs x3, x3, x7\n\t"
  4619. "ldp x9, x10, [%[b]], #16\n\t"
  4620. "sbcs x4, x4, x8\n\t"
  4621. "sbcs x5, x5, x9\n\t"
  4622. "stp x3, x4, [%[r]], #16\n\t"
  4623. "sbcs x6, x6, x10\n\t"
  4624. "stp x5, x6, [%[r]], #16\n\t"
  4625. "csetm %[c], cc\n\t"
  4626. "cmp %[a], x11\n\t"
  4627. "b.ne 1b\n\t"
  4628. : [c] "+r" (c), [r] "+r" (r), [a] "+r" (a), [b] "+r" (b)
  4629. :
  4630. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  4631. );
  4632. return c;
  4633. }
  4634. #else
  4635. /* Sub b from a into r. (r = a - b)
  4636. *
  4637. * r A single precision integer.
  4638. * a A single precision integer.
  4639. * b A single precision integer.
  4640. */
  4641. static sp_digit sp_2048_sub_32(sp_digit* r, const sp_digit* a,
  4642. const sp_digit* b)
  4643. {
  4644. __asm__ __volatile__ (
  4645. "ldp x3, x4, [%[a], 0]\n\t"
  4646. "ldp x7, x8, [%[b], 0]\n\t"
  4647. "subs x3, x3, x7\n\t"
  4648. "ldp x5, x6, [%[a], 16]\n\t"
  4649. "sbcs x4, x4, x8\n\t"
  4650. "ldp x9, x10, [%[b], 16]\n\t"
  4651. "sbcs x5, x5, x9\n\t"
  4652. "stp x3, x4, [%[r], 0]\n\t"
  4653. "sbcs x6, x6, x10\n\t"
  4654. "stp x5, x6, [%[r], 16]\n\t"
  4655. "ldp x3, x4, [%[a], 32]\n\t"
  4656. "ldp x7, x8, [%[b], 32]\n\t"
  4657. "sbcs x3, x3, x7\n\t"
  4658. "ldp x5, x6, [%[a], 48]\n\t"
  4659. "sbcs x4, x4, x8\n\t"
  4660. "ldp x9, x10, [%[b], 48]\n\t"
  4661. "sbcs x5, x5, x9\n\t"
  4662. "stp x3, x4, [%[r], 32]\n\t"
  4663. "sbcs x6, x6, x10\n\t"
  4664. "stp x5, x6, [%[r], 48]\n\t"
  4665. "ldp x3, x4, [%[a], 64]\n\t"
  4666. "ldp x7, x8, [%[b], 64]\n\t"
  4667. "sbcs x3, x3, x7\n\t"
  4668. "ldp x5, x6, [%[a], 80]\n\t"
  4669. "sbcs x4, x4, x8\n\t"
  4670. "ldp x9, x10, [%[b], 80]\n\t"
  4671. "sbcs x5, x5, x9\n\t"
  4672. "stp x3, x4, [%[r], 64]\n\t"
  4673. "sbcs x6, x6, x10\n\t"
  4674. "stp x5, x6, [%[r], 80]\n\t"
  4675. "ldp x3, x4, [%[a], 96]\n\t"
  4676. "ldp x7, x8, [%[b], 96]\n\t"
  4677. "sbcs x3, x3, x7\n\t"
  4678. "ldp x5, x6, [%[a], 112]\n\t"
  4679. "sbcs x4, x4, x8\n\t"
  4680. "ldp x9, x10, [%[b], 112]\n\t"
  4681. "sbcs x5, x5, x9\n\t"
  4682. "stp x3, x4, [%[r], 96]\n\t"
  4683. "sbcs x6, x6, x10\n\t"
  4684. "stp x5, x6, [%[r], 112]\n\t"
  4685. "ldp x3, x4, [%[a], 128]\n\t"
  4686. "ldp x7, x8, [%[b], 128]\n\t"
  4687. "sbcs x3, x3, x7\n\t"
  4688. "ldp x5, x6, [%[a], 144]\n\t"
  4689. "sbcs x4, x4, x8\n\t"
  4690. "ldp x9, x10, [%[b], 144]\n\t"
  4691. "sbcs x5, x5, x9\n\t"
  4692. "stp x3, x4, [%[r], 128]\n\t"
  4693. "sbcs x6, x6, x10\n\t"
  4694. "stp x5, x6, [%[r], 144]\n\t"
  4695. "ldp x3, x4, [%[a], 160]\n\t"
  4696. "ldp x7, x8, [%[b], 160]\n\t"
  4697. "sbcs x3, x3, x7\n\t"
  4698. "ldp x5, x6, [%[a], 176]\n\t"
  4699. "sbcs x4, x4, x8\n\t"
  4700. "ldp x9, x10, [%[b], 176]\n\t"
  4701. "sbcs x5, x5, x9\n\t"
  4702. "stp x3, x4, [%[r], 160]\n\t"
  4703. "sbcs x6, x6, x10\n\t"
  4704. "stp x5, x6, [%[r], 176]\n\t"
  4705. "ldp x3, x4, [%[a], 192]\n\t"
  4706. "ldp x7, x8, [%[b], 192]\n\t"
  4707. "sbcs x3, x3, x7\n\t"
  4708. "ldp x5, x6, [%[a], 208]\n\t"
  4709. "sbcs x4, x4, x8\n\t"
  4710. "ldp x9, x10, [%[b], 208]\n\t"
  4711. "sbcs x5, x5, x9\n\t"
  4712. "stp x3, x4, [%[r], 192]\n\t"
  4713. "sbcs x6, x6, x10\n\t"
  4714. "stp x5, x6, [%[r], 208]\n\t"
  4715. "ldp x3, x4, [%[a], 224]\n\t"
  4716. "ldp x7, x8, [%[b], 224]\n\t"
  4717. "sbcs x3, x3, x7\n\t"
  4718. "ldp x5, x6, [%[a], 240]\n\t"
  4719. "sbcs x4, x4, x8\n\t"
  4720. "ldp x9, x10, [%[b], 240]\n\t"
  4721. "sbcs x5, x5, x9\n\t"
  4722. "stp x3, x4, [%[r], 224]\n\t"
  4723. "sbcs x6, x6, x10\n\t"
  4724. "stp x5, x6, [%[r], 240]\n\t"
  4725. "csetm %[r], cc\n\t"
  4726. : [r] "+r" (r)
  4727. : [a] "r" (a), [b] "r" (b)
  4728. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  4729. );
  4730. return (sp_digit)r;
  4731. }
  4732. #endif /* WOLFSSL_SP_SMALL */
  4733. /* Divide the double width number (d1|d0) by the divisor. (d1|d0 / div)
  4734. *
  4735. * Assumes divisor has higest bit set.
  4736. *
  4737. * d1 The high order half of the number to divide.
  4738. * d0 The low order half of the number to divide.
  4739. * div The divisor.
  4740. * returns the result of the division.
  4741. */
  4742. static sp_digit div_2048_word_32_cond(sp_digit d1, sp_digit d0, sp_digit div)
  4743. {
  4744. __asm__ __volatile__ (
  4745. "lsr x8, %[div], 32\n\t"
  4746. "add x5, x8, 1\n\t"
  4747. "udiv x3, %[d1], x5\n\t"
  4748. "lsl x7, %[div], 32\n\t"
  4749. "movz x9, #1, lsl 32\n\t"
  4750. "lsl x6, x3, 32\n\t"
  4751. "mul x4, %[div], x6\n\t"
  4752. "umulh x3, %[div], x6\n\t"
  4753. "subs %[d0], %[d0], x4\n\t"
  4754. "sbc %[d1], %[d1], x3\n\t"
  4755. "cmp %[d1], x5\n\t"
  4756. "b.lt 1f\n\t"
  4757. "subs %[d0], %[d0], x7\n\t"
  4758. "add x6, x6, x9\n\t"
  4759. "sbc %[d1], %[d1], x8\n\t"
  4760. "1:\n\t"
  4761. "extr x3, %[d1], %[d0], 32\n\t"
  4762. "udiv x3, x3, x5\n\t"
  4763. "add x6, x6, x3\n\t"
  4764. "mul x4, %[div], x3\n\t"
  4765. "umulh x3, %[div], x3\n\t"
  4766. "subs %[d0], %[d0], x4\n\t"
  4767. "sbc %[d1], %[d1], x3\n\t"
  4768. "extr x3, %[d1], %[d0], 32\n\t"
  4769. "cmp x3, x5\n\t"
  4770. "b.lt 2f\n\t"
  4771. "udiv x3, x3, x5\n\t"
  4772. "add x6, x6, x3\n\t"
  4773. "mul x4, %[div], x3\n\t"
  4774. "sub %[d0], %[d0], x4\n\t"
  4775. "2:\n\t"
  4776. "udiv x3, %[d0], %[div]\n\t"
  4777. "add %[d1], x6, x3\n\t"
  4778. : [d1] "+r" (d1), [d0] "+r" (d0)
  4779. : [div] "r" (div)
  4780. : "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  4781. );
  4782. return d1;
  4783. }
  4784. /* Divide d in a and put remainder into r (m*d + r = a)
  4785. * m is not calculated as it is not needed at this time.
  4786. *
  4787. * a Number to be divided.
  4788. * d Number to divide with.
  4789. * m Multiplier result.
  4790. * r Remainder from the division.
  4791. * returns MP_OKAY indicating success.
  4792. */
  4793. static WC_INLINE int sp_2048_div_32_cond(const sp_digit* a, const sp_digit* d, sp_digit* m,
  4794. sp_digit* r)
  4795. {
  4796. sp_digit t1[64], t2[33];
  4797. sp_digit div, r1;
  4798. int i;
  4799. (void)m;
  4800. div = d[31];
  4801. XMEMCPY(t1, a, sizeof(*t1) * 2 * 32);
  4802. for (i = 31; i > 0; i--) {
  4803. if (t1[i + 32] != d[i])
  4804. break;
  4805. }
  4806. if (t1[i + 32] >= d[i]) {
  4807. sp_2048_sub_in_place_32(&t1[32], d);
  4808. }
  4809. for (i = 31; i >= 0; i--) {
  4810. if (t1[32 + i] == div) {
  4811. r1 = SP_DIGIT_MAX;
  4812. }
  4813. else {
  4814. r1 = div_2048_word_32_cond(t1[32 + i], t1[32 + i - 1], div);
  4815. }
  4816. sp_2048_mul_d_32(t2, d, r1);
  4817. t1[32 + i] += sp_2048_sub_in_place_32(&t1[i], t2);
  4818. t1[32 + i] -= t2[32];
  4819. if (t1[32 + i] != 0) {
  4820. t1[32 + i] += sp_2048_add_32(&t1[i], &t1[i], d);
  4821. if (t1[32 + i] != 0)
  4822. t1[32 + i] += sp_2048_add_32(&t1[i], &t1[i], d);
  4823. }
  4824. }
  4825. for (i = 31; i > 0; i--) {
  4826. if (t1[i] != d[i])
  4827. break;
  4828. }
  4829. if (t1[i] >= d[i]) {
  4830. sp_2048_sub_32(r, t1, d);
  4831. }
  4832. else {
  4833. XMEMCPY(r, t1, sizeof(*t1) * 32);
  4834. }
  4835. return MP_OKAY;
  4836. }
  4837. /* Reduce a modulo m into r. (r = a mod m)
  4838. *
  4839. * r A single precision number that is the reduced result.
  4840. * a A single precision number that is to be reduced.
  4841. * m A single precision number that is the modulus to reduce with.
  4842. * returns MP_OKAY indicating success.
  4843. */
  4844. static WC_INLINE int sp_2048_mod_32_cond(sp_digit* r, const sp_digit* a, const sp_digit* m)
  4845. {
  4846. return sp_2048_div_32_cond(a, m, NULL, r);
  4847. }
  4848. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  4849. /* Conditionally subtract b from a using the mask m.
  4850. * m is -1 to subtract and 0 when not copying.
  4851. *
  4852. * r A single precision number representing condition subtract result.
  4853. * a A single precision number to subtract from.
  4854. * b A single precision number to subtract.
  4855. * m Mask value to apply.
  4856. */
  4857. static sp_digit sp_2048_cond_sub_32(sp_digit* r, const sp_digit* a, const sp_digit* b,
  4858. sp_digit m)
  4859. {
  4860. #ifdef WOLFSSL_SP_SMALL
  4861. sp_digit c = 0;
  4862. __asm__ __volatile__ (
  4863. "mov x8, #0\n\t"
  4864. "1:\n\t"
  4865. "subs %[c], xzr, %[c]\n\t"
  4866. "ldr x4, [%[a], x8]\n\t"
  4867. "ldr x5, [%[b], x8]\n\t"
  4868. "and x5, x5, %[m]\n\t"
  4869. "sbcs x4, x4, x5\n\t"
  4870. "csetm %[c], cc\n\t"
  4871. "str x4, [%[r], x8]\n\t"
  4872. "add x8, x8, #8\n\t"
  4873. "cmp x8, 256\n\t"
  4874. "b.lt 1b\n\t"
  4875. : [c] "+r" (c)
  4876. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  4877. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  4878. );
  4879. return c;
  4880. #else
  4881. __asm__ __volatile__ (
  4882. "ldp x5, x7, [%[b], 0]\n\t"
  4883. "ldp x11, x12, [%[b], 16]\n\t"
  4884. "ldp x4, x6, [%[a], 0]\n\t"
  4885. "and x5, x5, %[m]\n\t"
  4886. "ldp x9, x10, [%[a], 16]\n\t"
  4887. "and x7, x7, %[m]\n\t"
  4888. "subs x4, x4, x5\n\t"
  4889. "and x11, x11, %[m]\n\t"
  4890. "sbcs x6, x6, x7\n\t"
  4891. "and x12, x12, %[m]\n\t"
  4892. "sbcs x9, x9, x11\n\t"
  4893. "stp x4, x6, [%[r], 0]\n\t"
  4894. "sbcs x10, x10, x12\n\t"
  4895. "stp x9, x10, [%[r], 16]\n\t"
  4896. "ldp x5, x7, [%[b], 32]\n\t"
  4897. "ldp x11, x12, [%[b], 48]\n\t"
  4898. "ldp x4, x6, [%[a], 32]\n\t"
  4899. "and x5, x5, %[m]\n\t"
  4900. "ldp x9, x10, [%[a], 48]\n\t"
  4901. "and x7, x7, %[m]\n\t"
  4902. "sbcs x4, x4, x5\n\t"
  4903. "and x11, x11, %[m]\n\t"
  4904. "sbcs x6, x6, x7\n\t"
  4905. "and x12, x12, %[m]\n\t"
  4906. "sbcs x9, x9, x11\n\t"
  4907. "stp x4, x6, [%[r], 32]\n\t"
  4908. "sbcs x10, x10, x12\n\t"
  4909. "stp x9, x10, [%[r], 48]\n\t"
  4910. "ldp x5, x7, [%[b], 64]\n\t"
  4911. "ldp x11, x12, [%[b], 80]\n\t"
  4912. "ldp x4, x6, [%[a], 64]\n\t"
  4913. "and x5, x5, %[m]\n\t"
  4914. "ldp x9, x10, [%[a], 80]\n\t"
  4915. "and x7, x7, %[m]\n\t"
  4916. "sbcs x4, x4, x5\n\t"
  4917. "and x11, x11, %[m]\n\t"
  4918. "sbcs x6, x6, x7\n\t"
  4919. "and x12, x12, %[m]\n\t"
  4920. "sbcs x9, x9, x11\n\t"
  4921. "stp x4, x6, [%[r], 64]\n\t"
  4922. "sbcs x10, x10, x12\n\t"
  4923. "stp x9, x10, [%[r], 80]\n\t"
  4924. "ldp x5, x7, [%[b], 96]\n\t"
  4925. "ldp x11, x12, [%[b], 112]\n\t"
  4926. "ldp x4, x6, [%[a], 96]\n\t"
  4927. "and x5, x5, %[m]\n\t"
  4928. "ldp x9, x10, [%[a], 112]\n\t"
  4929. "and x7, x7, %[m]\n\t"
  4930. "sbcs x4, x4, x5\n\t"
  4931. "and x11, x11, %[m]\n\t"
  4932. "sbcs x6, x6, x7\n\t"
  4933. "and x12, x12, %[m]\n\t"
  4934. "sbcs x9, x9, x11\n\t"
  4935. "stp x4, x6, [%[r], 96]\n\t"
  4936. "sbcs x10, x10, x12\n\t"
  4937. "stp x9, x10, [%[r], 112]\n\t"
  4938. "ldp x5, x7, [%[b], 128]\n\t"
  4939. "ldp x11, x12, [%[b], 144]\n\t"
  4940. "ldp x4, x6, [%[a], 128]\n\t"
  4941. "and x5, x5, %[m]\n\t"
  4942. "ldp x9, x10, [%[a], 144]\n\t"
  4943. "and x7, x7, %[m]\n\t"
  4944. "sbcs x4, x4, x5\n\t"
  4945. "and x11, x11, %[m]\n\t"
  4946. "sbcs x6, x6, x7\n\t"
  4947. "and x12, x12, %[m]\n\t"
  4948. "sbcs x9, x9, x11\n\t"
  4949. "stp x4, x6, [%[r], 128]\n\t"
  4950. "sbcs x10, x10, x12\n\t"
  4951. "stp x9, x10, [%[r], 144]\n\t"
  4952. "ldp x5, x7, [%[b], 160]\n\t"
  4953. "ldp x11, x12, [%[b], 176]\n\t"
  4954. "ldp x4, x6, [%[a], 160]\n\t"
  4955. "and x5, x5, %[m]\n\t"
  4956. "ldp x9, x10, [%[a], 176]\n\t"
  4957. "and x7, x7, %[m]\n\t"
  4958. "sbcs x4, x4, x5\n\t"
  4959. "and x11, x11, %[m]\n\t"
  4960. "sbcs x6, x6, x7\n\t"
  4961. "and x12, x12, %[m]\n\t"
  4962. "sbcs x9, x9, x11\n\t"
  4963. "stp x4, x6, [%[r], 160]\n\t"
  4964. "sbcs x10, x10, x12\n\t"
  4965. "stp x9, x10, [%[r], 176]\n\t"
  4966. "ldp x5, x7, [%[b], 192]\n\t"
  4967. "ldp x11, x12, [%[b], 208]\n\t"
  4968. "ldp x4, x6, [%[a], 192]\n\t"
  4969. "and x5, x5, %[m]\n\t"
  4970. "ldp x9, x10, [%[a], 208]\n\t"
  4971. "and x7, x7, %[m]\n\t"
  4972. "sbcs x4, x4, x5\n\t"
  4973. "and x11, x11, %[m]\n\t"
  4974. "sbcs x6, x6, x7\n\t"
  4975. "and x12, x12, %[m]\n\t"
  4976. "sbcs x9, x9, x11\n\t"
  4977. "stp x4, x6, [%[r], 192]\n\t"
  4978. "sbcs x10, x10, x12\n\t"
  4979. "stp x9, x10, [%[r], 208]\n\t"
  4980. "ldp x5, x7, [%[b], 224]\n\t"
  4981. "ldp x11, x12, [%[b], 240]\n\t"
  4982. "ldp x4, x6, [%[a], 224]\n\t"
  4983. "and x5, x5, %[m]\n\t"
  4984. "ldp x9, x10, [%[a], 240]\n\t"
  4985. "and x7, x7, %[m]\n\t"
  4986. "sbcs x4, x4, x5\n\t"
  4987. "and x11, x11, %[m]\n\t"
  4988. "sbcs x6, x6, x7\n\t"
  4989. "and x12, x12, %[m]\n\t"
  4990. "sbcs x9, x9, x11\n\t"
  4991. "stp x4, x6, [%[r], 224]\n\t"
  4992. "sbcs x10, x10, x12\n\t"
  4993. "stp x9, x10, [%[r], 240]\n\t"
  4994. "csetm %[r], cc\n\t"
  4995. : [r] "+r" (r)
  4996. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  4997. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  4998. );
  4999. return (sp_digit)r;
  5000. #endif /* WOLFSSL_SP_SMALL */
  5001. }
  5002. /* Divide the double width number (d1|d0) by the divisor. (d1|d0 / div)
  5003. *
  5004. * Assumes divisor has higest bit set.
  5005. *
  5006. * d1 The high order half of the number to divide.
  5007. * d0 The low order half of the number to divide.
  5008. * div The divisor.
  5009. * returns the result of the division.
  5010. */
  5011. static sp_digit div_2048_word_32(sp_digit d1, sp_digit d0, sp_digit div)
  5012. {
  5013. __asm__ __volatile__ (
  5014. "lsr x8, %[div], 32\n\t"
  5015. "add x5, x8, 1\n\t"
  5016. "udiv x3, %[d1], x5\n\t"
  5017. "lsl x7, %[div], 32\n\t"
  5018. "movz x9, #1, lsl 32\n\t"
  5019. "lsl x6, x3, 32\n\t"
  5020. "mul x4, %[div], x6\n\t"
  5021. "umulh x3, %[div], x6\n\t"
  5022. "subs %[d0], %[d0], x4\n\t"
  5023. "sbc %[d1], %[d1], x3\n\t"
  5024. "cmp %[d1], x5\n\t"
  5025. "cset x9, ge\n\t"
  5026. "csetm x10, ge\n\t"
  5027. "lsl x9, x9, #32\n\t"
  5028. "and x7, x7, x10\n\t"
  5029. "and x8, x8, x10\n\t"
  5030. "subs %[d0], %[d0], x7\n\t"
  5031. "add x6, x6, x9\n\t"
  5032. "sbc %[d1], %[d1], x8\n\t"
  5033. "extr x3, %[d1], %[d0], 32\n\t"
  5034. "udiv x3, x3, x5\n\t"
  5035. "add x6, x6, x3\n\t"
  5036. "mul x4, %[div], x3\n\t"
  5037. "umulh x3, %[div], x3\n\t"
  5038. "subs %[d0], %[d0], x4\n\t"
  5039. "sbc %[d1], %[d1], x3\n\t"
  5040. "extr x3, %[d1], %[d0], 32\n\t"
  5041. "udiv x3, x3, x5\n\t"
  5042. "add x6, x6, x3\n\t"
  5043. "mul x4, %[div], x3\n\t"
  5044. "sub %[d0], %[d0], x4\n\t"
  5045. "udiv x3, %[d0], %[div]\n\t"
  5046. "add %[d1], x6, x3\n\t"
  5047. : [d1] "+r" (d1), [d0] "+r" (d0)
  5048. : [div] "r" (div)
  5049. : "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  5050. );
  5051. return d1;
  5052. }
  5053. /* AND m into each word of a and store in r.
  5054. *
  5055. * r A single precision integer.
  5056. * a A single precision integer.
  5057. * m Mask to AND against each digit.
  5058. */
  5059. static void sp_2048_mask_32(sp_digit* r, const sp_digit* a, sp_digit m)
  5060. {
  5061. #ifdef WOLFSSL_SP_SMALL
  5062. int i;
  5063. for (i=0; i<32; i++) {
  5064. r[i] = a[i] & m;
  5065. }
  5066. #else
  5067. int i;
  5068. for (i = 0; i < 32; i += 8) {
  5069. r[i+0] = a[i+0] & m;
  5070. r[i+1] = a[i+1] & m;
  5071. r[i+2] = a[i+2] & m;
  5072. r[i+3] = a[i+3] & m;
  5073. r[i+4] = a[i+4] & m;
  5074. r[i+5] = a[i+5] & m;
  5075. r[i+6] = a[i+6] & m;
  5076. r[i+7] = a[i+7] & m;
  5077. }
  5078. #endif
  5079. }
  5080. /* Compare a with b in constant time.
  5081. *
  5082. * a A single precision integer.
  5083. * b A single precision integer.
  5084. * return -ve, 0 or +ve if a is less than, equal to or greater than b
  5085. * respectively.
  5086. */
  5087. static sp_int64 sp_2048_cmp_32(const sp_digit* a, const sp_digit* b)
  5088. {
  5089. #ifdef WOLFSSL_SP_SMALL
  5090. __asm__ __volatile__ (
  5091. "mov x3, #0\n\t"
  5092. "mov x2, #-1\n\t"
  5093. "mov x10, #32\n\t"
  5094. "add %[a], %[a], #240\n\t"
  5095. "add %[b], %[b], #240\n\t"
  5096. "1:\n\t"
  5097. "ldp x6, x7, [%[a]], -16\n\t"
  5098. "ldp x8, x9, [%[b]], -16\n\t"
  5099. "subs x7, x7, x9\n\t"
  5100. "csel x4, x2, xzr, lo\n\t"
  5101. "csetm x5, eq\n\t"
  5102. "orr x3, x3, x4\n\t"
  5103. "and x2, x2, x5\n\t"
  5104. "subs x6, x6, x8\n\t"
  5105. "csel x4, x2, xzr, lo\n\t"
  5106. "csetm x5, eq\n\t"
  5107. "orr x3, x3, x4\n\t"
  5108. "and x2, x2, x5\n\t"
  5109. "subs x10, x10, #2\n\t"
  5110. "b.ne 1b\n\t"
  5111. "cmp x2, #0\n\t"
  5112. "cset %[a], eq\n\t"
  5113. "orr %[a], %[a], x3\n\t"
  5114. : [a] "+r" (a), [b] "+r" (b)
  5115. :
  5116. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  5117. );
  5118. #else
  5119. __asm__ __volatile__ (
  5120. "mov x3, #0\n\t"
  5121. "mov x2, #-1\n\t"
  5122. "ldp x6, x7, [%[a], 240]\n\t"
  5123. "ldp x8, x9, [%[b], 240]\n\t"
  5124. "subs x7, x7, x9\n\t"
  5125. "csel x4, x2, xzr, lo\n\t"
  5126. "csetm x5, eq\n\t"
  5127. "orr x3, x3, x4\n\t"
  5128. "and x2, x2, x5\n\t"
  5129. "subs x6, x6, x8\n\t"
  5130. "csel x4, x2, xzr, lo\n\t"
  5131. "csetm x5, eq\n\t"
  5132. "orr x3, x3, x4\n\t"
  5133. "and x2, x2, x5\n\t"
  5134. "ldp x6, x7, [%[a], 224]\n\t"
  5135. "ldp x8, x9, [%[b], 224]\n\t"
  5136. "subs x7, x7, x9\n\t"
  5137. "csel x4, x2, xzr, lo\n\t"
  5138. "csetm x5, eq\n\t"
  5139. "orr x3, x3, x4\n\t"
  5140. "and x2, x2, x5\n\t"
  5141. "subs x6, x6, x8\n\t"
  5142. "csel x4, x2, xzr, lo\n\t"
  5143. "csetm x5, eq\n\t"
  5144. "orr x3, x3, x4\n\t"
  5145. "and x2, x2, x5\n\t"
  5146. "ldp x6, x7, [%[a], 208]\n\t"
  5147. "ldp x8, x9, [%[b], 208]\n\t"
  5148. "subs x7, x7, x9\n\t"
  5149. "csel x4, x2, xzr, lo\n\t"
  5150. "csetm x5, eq\n\t"
  5151. "orr x3, x3, x4\n\t"
  5152. "and x2, x2, x5\n\t"
  5153. "subs x6, x6, x8\n\t"
  5154. "csel x4, x2, xzr, lo\n\t"
  5155. "csetm x5, eq\n\t"
  5156. "orr x3, x3, x4\n\t"
  5157. "and x2, x2, x5\n\t"
  5158. "ldp x6, x7, [%[a], 192]\n\t"
  5159. "ldp x8, x9, [%[b], 192]\n\t"
  5160. "subs x7, x7, x9\n\t"
  5161. "csel x4, x2, xzr, lo\n\t"
  5162. "csetm x5, eq\n\t"
  5163. "orr x3, x3, x4\n\t"
  5164. "and x2, x2, x5\n\t"
  5165. "subs x6, x6, x8\n\t"
  5166. "csel x4, x2, xzr, lo\n\t"
  5167. "csetm x5, eq\n\t"
  5168. "orr x3, x3, x4\n\t"
  5169. "and x2, x2, x5\n\t"
  5170. "ldp x6, x7, [%[a], 176]\n\t"
  5171. "ldp x8, x9, [%[b], 176]\n\t"
  5172. "subs x7, x7, x9\n\t"
  5173. "csel x4, x2, xzr, lo\n\t"
  5174. "csetm x5, eq\n\t"
  5175. "orr x3, x3, x4\n\t"
  5176. "and x2, x2, x5\n\t"
  5177. "subs x6, x6, x8\n\t"
  5178. "csel x4, x2, xzr, lo\n\t"
  5179. "csetm x5, eq\n\t"
  5180. "orr x3, x3, x4\n\t"
  5181. "and x2, x2, x5\n\t"
  5182. "ldp x6, x7, [%[a], 160]\n\t"
  5183. "ldp x8, x9, [%[b], 160]\n\t"
  5184. "subs x7, x7, x9\n\t"
  5185. "csel x4, x2, xzr, lo\n\t"
  5186. "csetm x5, eq\n\t"
  5187. "orr x3, x3, x4\n\t"
  5188. "and x2, x2, x5\n\t"
  5189. "subs x6, x6, x8\n\t"
  5190. "csel x4, x2, xzr, lo\n\t"
  5191. "csetm x5, eq\n\t"
  5192. "orr x3, x3, x4\n\t"
  5193. "and x2, x2, x5\n\t"
  5194. "ldp x6, x7, [%[a], 144]\n\t"
  5195. "ldp x8, x9, [%[b], 144]\n\t"
  5196. "subs x7, x7, x9\n\t"
  5197. "csel x4, x2, xzr, lo\n\t"
  5198. "csetm x5, eq\n\t"
  5199. "orr x3, x3, x4\n\t"
  5200. "and x2, x2, x5\n\t"
  5201. "subs x6, x6, x8\n\t"
  5202. "csel x4, x2, xzr, lo\n\t"
  5203. "csetm x5, eq\n\t"
  5204. "orr x3, x3, x4\n\t"
  5205. "and x2, x2, x5\n\t"
  5206. "ldp x6, x7, [%[a], 128]\n\t"
  5207. "ldp x8, x9, [%[b], 128]\n\t"
  5208. "subs x7, x7, x9\n\t"
  5209. "csel x4, x2, xzr, lo\n\t"
  5210. "csetm x5, eq\n\t"
  5211. "orr x3, x3, x4\n\t"
  5212. "and x2, x2, x5\n\t"
  5213. "subs x6, x6, x8\n\t"
  5214. "csel x4, x2, xzr, lo\n\t"
  5215. "csetm x5, eq\n\t"
  5216. "orr x3, x3, x4\n\t"
  5217. "and x2, x2, x5\n\t"
  5218. "ldp x6, x7, [%[a], 112]\n\t"
  5219. "ldp x8, x9, [%[b], 112]\n\t"
  5220. "subs x7, x7, x9\n\t"
  5221. "csel x4, x2, xzr, lo\n\t"
  5222. "csetm x5, eq\n\t"
  5223. "orr x3, x3, x4\n\t"
  5224. "and x2, x2, x5\n\t"
  5225. "subs x6, x6, x8\n\t"
  5226. "csel x4, x2, xzr, lo\n\t"
  5227. "csetm x5, eq\n\t"
  5228. "orr x3, x3, x4\n\t"
  5229. "and x2, x2, x5\n\t"
  5230. "ldp x6, x7, [%[a], 96]\n\t"
  5231. "ldp x8, x9, [%[b], 96]\n\t"
  5232. "subs x7, x7, x9\n\t"
  5233. "csel x4, x2, xzr, lo\n\t"
  5234. "csetm x5, eq\n\t"
  5235. "orr x3, x3, x4\n\t"
  5236. "and x2, x2, x5\n\t"
  5237. "subs x6, x6, x8\n\t"
  5238. "csel x4, x2, xzr, lo\n\t"
  5239. "csetm x5, eq\n\t"
  5240. "orr x3, x3, x4\n\t"
  5241. "and x2, x2, x5\n\t"
  5242. "ldp x6, x7, [%[a], 80]\n\t"
  5243. "ldp x8, x9, [%[b], 80]\n\t"
  5244. "subs x7, x7, x9\n\t"
  5245. "csel x4, x2, xzr, lo\n\t"
  5246. "csetm x5, eq\n\t"
  5247. "orr x3, x3, x4\n\t"
  5248. "and x2, x2, x5\n\t"
  5249. "subs x6, x6, x8\n\t"
  5250. "csel x4, x2, xzr, lo\n\t"
  5251. "csetm x5, eq\n\t"
  5252. "orr x3, x3, x4\n\t"
  5253. "and x2, x2, x5\n\t"
  5254. "ldp x6, x7, [%[a], 64]\n\t"
  5255. "ldp x8, x9, [%[b], 64]\n\t"
  5256. "subs x7, x7, x9\n\t"
  5257. "csel x4, x2, xzr, lo\n\t"
  5258. "csetm x5, eq\n\t"
  5259. "orr x3, x3, x4\n\t"
  5260. "and x2, x2, x5\n\t"
  5261. "subs x6, x6, x8\n\t"
  5262. "csel x4, x2, xzr, lo\n\t"
  5263. "csetm x5, eq\n\t"
  5264. "orr x3, x3, x4\n\t"
  5265. "and x2, x2, x5\n\t"
  5266. "ldp x6, x7, [%[a], 48]\n\t"
  5267. "ldp x8, x9, [%[b], 48]\n\t"
  5268. "subs x7, x7, x9\n\t"
  5269. "csel x4, x2, xzr, lo\n\t"
  5270. "csetm x5, eq\n\t"
  5271. "orr x3, x3, x4\n\t"
  5272. "and x2, x2, x5\n\t"
  5273. "subs x6, x6, x8\n\t"
  5274. "csel x4, x2, xzr, lo\n\t"
  5275. "csetm x5, eq\n\t"
  5276. "orr x3, x3, x4\n\t"
  5277. "and x2, x2, x5\n\t"
  5278. "ldp x6, x7, [%[a], 32]\n\t"
  5279. "ldp x8, x9, [%[b], 32]\n\t"
  5280. "subs x7, x7, x9\n\t"
  5281. "csel x4, x2, xzr, lo\n\t"
  5282. "csetm x5, eq\n\t"
  5283. "orr x3, x3, x4\n\t"
  5284. "and x2, x2, x5\n\t"
  5285. "subs x6, x6, x8\n\t"
  5286. "csel x4, x2, xzr, lo\n\t"
  5287. "csetm x5, eq\n\t"
  5288. "orr x3, x3, x4\n\t"
  5289. "and x2, x2, x5\n\t"
  5290. "ldp x6, x7, [%[a], 16]\n\t"
  5291. "ldp x8, x9, [%[b], 16]\n\t"
  5292. "subs x7, x7, x9\n\t"
  5293. "csel x4, x2, xzr, lo\n\t"
  5294. "csetm x5, eq\n\t"
  5295. "orr x3, x3, x4\n\t"
  5296. "and x2, x2, x5\n\t"
  5297. "subs x6, x6, x8\n\t"
  5298. "csel x4, x2, xzr, lo\n\t"
  5299. "csetm x5, eq\n\t"
  5300. "orr x3, x3, x4\n\t"
  5301. "and x2, x2, x5\n\t"
  5302. "ldp x6, x7, [%[a], 0]\n\t"
  5303. "ldp x8, x9, [%[b], 0]\n\t"
  5304. "subs x7, x7, x9\n\t"
  5305. "csel x4, x2, xzr, lo\n\t"
  5306. "csetm x5, eq\n\t"
  5307. "orr x3, x3, x4\n\t"
  5308. "and x2, x2, x5\n\t"
  5309. "subs x6, x6, x8\n\t"
  5310. "csel x4, x2, xzr, lo\n\t"
  5311. "csetm x5, eq\n\t"
  5312. "orr x3, x3, x4\n\t"
  5313. "and x2, x2, x5\n\t"
  5314. "cmp x2, #0\n\t"
  5315. "cset %[a], eq\n\t"
  5316. "orr %[a], %[a], x3\n\t"
  5317. : [a] "+r" (a)
  5318. : [b] "r" (b)
  5319. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  5320. );
  5321. #endif
  5322. return (sp_int64)a;
  5323. }
  5324. /* Divide d in a and put remainder into r (m*d + r = a)
  5325. * m is not calculated as it is not needed at this time.
  5326. *
  5327. * a Number to be divided.
  5328. * d Number to divide with.
  5329. * m Multiplier result.
  5330. * r Remainder from the division.
  5331. * returns MP_OKAY indicating success.
  5332. */
  5333. static WC_INLINE int sp_2048_div_32(const sp_digit* a, const sp_digit* d, sp_digit* m,
  5334. sp_digit* r)
  5335. {
  5336. sp_digit t1[64], t2[33];
  5337. sp_digit div, r1;
  5338. int i;
  5339. (void)m;
  5340. div = d[31];
  5341. XMEMCPY(t1, a, sizeof(*t1) * 2 * 32);
  5342. r1 = sp_2048_cmp_32(&t1[32], d) >= 0;
  5343. sp_2048_cond_sub_32(&t1[32], &t1[32], d, (sp_digit)0 - r1);
  5344. for (i = 31; i >= 0; i--) {
  5345. sp_digit mask = 0 - (t1[32 + i] == div);
  5346. sp_digit hi = t1[32 + i] + mask;
  5347. r1 = div_2048_word_32(hi, t1[32 + i - 1], div);
  5348. r1 |= mask;
  5349. sp_2048_mul_d_32(t2, d, r1);
  5350. t1[32 + i] += sp_2048_sub_in_place_32(&t1[i], t2);
  5351. t1[32 + i] -= t2[32];
  5352. sp_2048_mask_32(t2, d, t1[32 + i]);
  5353. t1[32 + i] += sp_2048_add_32(&t1[i], &t1[i], t2);
  5354. sp_2048_mask_32(t2, d, t1[32 + i]);
  5355. t1[32 + i] += sp_2048_add_32(&t1[i], &t1[i], t2);
  5356. }
  5357. r1 = sp_2048_cmp_32(t1, d) >= 0;
  5358. sp_2048_cond_sub_32(r, t1, d, (sp_digit)0 - r1);
  5359. return MP_OKAY;
  5360. }
  5361. /* Reduce a modulo m into r. (r = a mod m)
  5362. *
  5363. * r A single precision number that is the reduced result.
  5364. * a A single precision number that is to be reduced.
  5365. * m A single precision number that is the modulus to reduce with.
  5366. * returns MP_OKAY indicating success.
  5367. */
  5368. static WC_INLINE int sp_2048_mod_32(sp_digit* r, const sp_digit* a, const sp_digit* m)
  5369. {
  5370. return sp_2048_div_32(a, m, NULL, r);
  5371. }
  5372. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || \
  5373. defined(WOLFSSL_HAVE_SP_DH)
  5374. #ifdef WOLFSSL_SP_SMALL
  5375. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  5376. *
  5377. * r A single precision number that is the result of the operation.
  5378. * a A single precision number being exponentiated.
  5379. * e A single precision number that is the exponent.
  5380. * bits The number of bits in the exponent.
  5381. * m A single precision number that is the modulus.
  5382. * returns 0 on success.
  5383. * returns MEMORY_E on dynamic memory allocation failure.
  5384. * returns MP_VAL when base is even or exponent is 0.
  5385. */
  5386. static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
  5387. int bits, const sp_digit* m, int reduceA)
  5388. {
  5389. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5390. sp_digit* td = NULL;
  5391. #else
  5392. sp_digit td[32 * 64];
  5393. #endif
  5394. sp_digit* t[32];
  5395. sp_digit* norm = NULL;
  5396. sp_digit mp = 1;
  5397. sp_digit n;
  5398. sp_digit mask;
  5399. int i;
  5400. int c;
  5401. byte y;
  5402. int err = MP_OKAY;
  5403. if (bits == 0) {
  5404. err = MP_VAL;
  5405. }
  5406. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5407. if (err == MP_OKAY) {
  5408. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (32 * 64), NULL,
  5409. DYNAMIC_TYPE_TMP_BUFFER);
  5410. if (td == NULL)
  5411. err = MEMORY_E;
  5412. }
  5413. #endif
  5414. if (err == MP_OKAY) {
  5415. norm = td;
  5416. for (i=0; i<32; i++) {
  5417. t[i] = td + i * 64;
  5418. }
  5419. sp_2048_mont_setup(m, &mp);
  5420. sp_2048_mont_norm_32(norm, m);
  5421. XMEMSET(t[1], 0, sizeof(sp_digit) * 32U);
  5422. if (reduceA != 0) {
  5423. err = sp_2048_mod_32(t[1] + 32, a, m);
  5424. if (err == MP_OKAY) {
  5425. err = sp_2048_mod_32(t[1], t[1], m);
  5426. }
  5427. }
  5428. else {
  5429. XMEMCPY(t[1] + 32, a, sizeof(sp_digit) * 32);
  5430. err = sp_2048_mod_32(t[1], t[1], m);
  5431. }
  5432. }
  5433. if (err == MP_OKAY) {
  5434. sp_2048_mont_sqr_32(t[ 2], t[ 1], m, mp);
  5435. sp_2048_mont_mul_32(t[ 3], t[ 2], t[ 1], m, mp);
  5436. sp_2048_mont_sqr_32(t[ 4], t[ 2], m, mp);
  5437. sp_2048_mont_mul_32(t[ 5], t[ 3], t[ 2], m, mp);
  5438. sp_2048_mont_sqr_32(t[ 6], t[ 3], m, mp);
  5439. sp_2048_mont_mul_32(t[ 7], t[ 4], t[ 3], m, mp);
  5440. sp_2048_mont_sqr_32(t[ 8], t[ 4], m, mp);
  5441. sp_2048_mont_mul_32(t[ 9], t[ 5], t[ 4], m, mp);
  5442. sp_2048_mont_sqr_32(t[10], t[ 5], m, mp);
  5443. sp_2048_mont_mul_32(t[11], t[ 6], t[ 5], m, mp);
  5444. sp_2048_mont_sqr_32(t[12], t[ 6], m, mp);
  5445. sp_2048_mont_mul_32(t[13], t[ 7], t[ 6], m, mp);
  5446. sp_2048_mont_sqr_32(t[14], t[ 7], m, mp);
  5447. sp_2048_mont_mul_32(t[15], t[ 8], t[ 7], m, mp);
  5448. sp_2048_mont_sqr_32(t[16], t[ 8], m, mp);
  5449. sp_2048_mont_mul_32(t[17], t[ 9], t[ 8], m, mp);
  5450. sp_2048_mont_sqr_32(t[18], t[ 9], m, mp);
  5451. sp_2048_mont_mul_32(t[19], t[10], t[ 9], m, mp);
  5452. sp_2048_mont_sqr_32(t[20], t[10], m, mp);
  5453. sp_2048_mont_mul_32(t[21], t[11], t[10], m, mp);
  5454. sp_2048_mont_sqr_32(t[22], t[11], m, mp);
  5455. sp_2048_mont_mul_32(t[23], t[12], t[11], m, mp);
  5456. sp_2048_mont_sqr_32(t[24], t[12], m, mp);
  5457. sp_2048_mont_mul_32(t[25], t[13], t[12], m, mp);
  5458. sp_2048_mont_sqr_32(t[26], t[13], m, mp);
  5459. sp_2048_mont_mul_32(t[27], t[14], t[13], m, mp);
  5460. sp_2048_mont_sqr_32(t[28], t[14], m, mp);
  5461. sp_2048_mont_mul_32(t[29], t[15], t[14], m, mp);
  5462. sp_2048_mont_sqr_32(t[30], t[15], m, mp);
  5463. sp_2048_mont_mul_32(t[31], t[16], t[15], m, mp);
  5464. i = (bits - 1) / 64;
  5465. n = e[i--];
  5466. c = bits & 63;
  5467. if (c == 0) {
  5468. c = 64;
  5469. }
  5470. c -= bits % 5;
  5471. if (c == 64) {
  5472. c = 59;
  5473. }
  5474. if (c < 0) {
  5475. /* Number of bits in top word is less than number needed. */
  5476. c = -c;
  5477. y = (byte)(n << c);
  5478. n = e[i--];
  5479. y |= (byte)(n >> (64 - c));
  5480. n <<= c;
  5481. c = 64 - c;
  5482. }
  5483. else if (c == 0) {
  5484. /* All bits in top word used. */
  5485. y = (byte)n;
  5486. }
  5487. else {
  5488. y = (byte)(n >> c);
  5489. n <<= 64 - c;
  5490. }
  5491. XMEMCPY(r, t[y], sizeof(sp_digit) * 32);
  5492. for (; i>=0 || c>=5; ) {
  5493. if (c == 0) {
  5494. n = e[i--];
  5495. y = (byte)(n >> 59);
  5496. n <<= 5;
  5497. c = 59;
  5498. }
  5499. else if (c < 5) {
  5500. y = (byte)(n >> 59);
  5501. n = e[i--];
  5502. c = 5 - c;
  5503. y |= (byte)(n >> (64 - c));
  5504. n <<= c;
  5505. c = 64 - c;
  5506. }
  5507. else {
  5508. y = (byte)((n >> 59) & 0x1f);
  5509. n <<= 5;
  5510. c -= 5;
  5511. }
  5512. sp_2048_mont_sqr_32(r, r, m, mp);
  5513. sp_2048_mont_sqr_32(r, r, m, mp);
  5514. sp_2048_mont_sqr_32(r, r, m, mp);
  5515. sp_2048_mont_sqr_32(r, r, m, mp);
  5516. sp_2048_mont_sqr_32(r, r, m, mp);
  5517. sp_2048_mont_mul_32(r, r, t[y], m, mp);
  5518. }
  5519. XMEMSET(&r[32], 0, sizeof(sp_digit) * 32U);
  5520. sp_2048_mont_reduce_32(r, m, mp);
  5521. mask = 0 - (sp_2048_cmp_32(r, m) >= 0);
  5522. sp_2048_cond_sub_32(r, r, m, mask);
  5523. }
  5524. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5525. if (td != NULL)
  5526. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  5527. #endif
  5528. return err;
  5529. }
  5530. #else
  5531. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  5532. *
  5533. * r A single precision number that is the result of the operation.
  5534. * a A single precision number being exponentiated.
  5535. * e A single precision number that is the exponent.
  5536. * bits The number of bits in the exponent.
  5537. * m A single precision number that is the modulus.
  5538. * returns 0 on success.
  5539. * returns MEMORY_E on dynamic memory allocation failure.
  5540. * returns MP_VAL when base is even or exponent is 0.
  5541. */
  5542. static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e,
  5543. int bits, const sp_digit* m, int reduceA)
  5544. {
  5545. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5546. sp_digit* td = NULL;
  5547. #else
  5548. sp_digit td[64 * 64];
  5549. #endif
  5550. sp_digit* t[64];
  5551. sp_digit* norm = NULL;
  5552. sp_digit mp = 1;
  5553. sp_digit n;
  5554. sp_digit mask;
  5555. int i;
  5556. int c;
  5557. byte y;
  5558. int err = MP_OKAY;
  5559. if (bits == 0) {
  5560. err = MP_VAL;
  5561. }
  5562. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5563. if (err == MP_OKAY) {
  5564. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (64 * 64), NULL,
  5565. DYNAMIC_TYPE_TMP_BUFFER);
  5566. if (td == NULL)
  5567. err = MEMORY_E;
  5568. }
  5569. #endif
  5570. if (err == MP_OKAY) {
  5571. norm = td;
  5572. for (i=0; i<64; i++) {
  5573. t[i] = td + i * 64;
  5574. }
  5575. sp_2048_mont_setup(m, &mp);
  5576. sp_2048_mont_norm_32(norm, m);
  5577. XMEMSET(t[1], 0, sizeof(sp_digit) * 32U);
  5578. if (reduceA != 0) {
  5579. err = sp_2048_mod_32(t[1] + 32, a, m);
  5580. if (err == MP_OKAY) {
  5581. err = sp_2048_mod_32(t[1], t[1], m);
  5582. }
  5583. }
  5584. else {
  5585. XMEMCPY(t[1] + 32, a, sizeof(sp_digit) * 32);
  5586. err = sp_2048_mod_32(t[1], t[1], m);
  5587. }
  5588. }
  5589. if (err == MP_OKAY) {
  5590. sp_2048_mont_sqr_32(t[ 2], t[ 1], m, mp);
  5591. sp_2048_mont_mul_32(t[ 3], t[ 2], t[ 1], m, mp);
  5592. sp_2048_mont_sqr_32(t[ 4], t[ 2], m, mp);
  5593. sp_2048_mont_mul_32(t[ 5], t[ 3], t[ 2], m, mp);
  5594. sp_2048_mont_sqr_32(t[ 6], t[ 3], m, mp);
  5595. sp_2048_mont_mul_32(t[ 7], t[ 4], t[ 3], m, mp);
  5596. sp_2048_mont_sqr_32(t[ 8], t[ 4], m, mp);
  5597. sp_2048_mont_mul_32(t[ 9], t[ 5], t[ 4], m, mp);
  5598. sp_2048_mont_sqr_32(t[10], t[ 5], m, mp);
  5599. sp_2048_mont_mul_32(t[11], t[ 6], t[ 5], m, mp);
  5600. sp_2048_mont_sqr_32(t[12], t[ 6], m, mp);
  5601. sp_2048_mont_mul_32(t[13], t[ 7], t[ 6], m, mp);
  5602. sp_2048_mont_sqr_32(t[14], t[ 7], m, mp);
  5603. sp_2048_mont_mul_32(t[15], t[ 8], t[ 7], m, mp);
  5604. sp_2048_mont_sqr_32(t[16], t[ 8], m, mp);
  5605. sp_2048_mont_mul_32(t[17], t[ 9], t[ 8], m, mp);
  5606. sp_2048_mont_sqr_32(t[18], t[ 9], m, mp);
  5607. sp_2048_mont_mul_32(t[19], t[10], t[ 9], m, mp);
  5608. sp_2048_mont_sqr_32(t[20], t[10], m, mp);
  5609. sp_2048_mont_mul_32(t[21], t[11], t[10], m, mp);
  5610. sp_2048_mont_sqr_32(t[22], t[11], m, mp);
  5611. sp_2048_mont_mul_32(t[23], t[12], t[11], m, mp);
  5612. sp_2048_mont_sqr_32(t[24], t[12], m, mp);
  5613. sp_2048_mont_mul_32(t[25], t[13], t[12], m, mp);
  5614. sp_2048_mont_sqr_32(t[26], t[13], m, mp);
  5615. sp_2048_mont_mul_32(t[27], t[14], t[13], m, mp);
  5616. sp_2048_mont_sqr_32(t[28], t[14], m, mp);
  5617. sp_2048_mont_mul_32(t[29], t[15], t[14], m, mp);
  5618. sp_2048_mont_sqr_32(t[30], t[15], m, mp);
  5619. sp_2048_mont_mul_32(t[31], t[16], t[15], m, mp);
  5620. sp_2048_mont_sqr_32(t[32], t[16], m, mp);
  5621. sp_2048_mont_mul_32(t[33], t[17], t[16], m, mp);
  5622. sp_2048_mont_sqr_32(t[34], t[17], m, mp);
  5623. sp_2048_mont_mul_32(t[35], t[18], t[17], m, mp);
  5624. sp_2048_mont_sqr_32(t[36], t[18], m, mp);
  5625. sp_2048_mont_mul_32(t[37], t[19], t[18], m, mp);
  5626. sp_2048_mont_sqr_32(t[38], t[19], m, mp);
  5627. sp_2048_mont_mul_32(t[39], t[20], t[19], m, mp);
  5628. sp_2048_mont_sqr_32(t[40], t[20], m, mp);
  5629. sp_2048_mont_mul_32(t[41], t[21], t[20], m, mp);
  5630. sp_2048_mont_sqr_32(t[42], t[21], m, mp);
  5631. sp_2048_mont_mul_32(t[43], t[22], t[21], m, mp);
  5632. sp_2048_mont_sqr_32(t[44], t[22], m, mp);
  5633. sp_2048_mont_mul_32(t[45], t[23], t[22], m, mp);
  5634. sp_2048_mont_sqr_32(t[46], t[23], m, mp);
  5635. sp_2048_mont_mul_32(t[47], t[24], t[23], m, mp);
  5636. sp_2048_mont_sqr_32(t[48], t[24], m, mp);
  5637. sp_2048_mont_mul_32(t[49], t[25], t[24], m, mp);
  5638. sp_2048_mont_sqr_32(t[50], t[25], m, mp);
  5639. sp_2048_mont_mul_32(t[51], t[26], t[25], m, mp);
  5640. sp_2048_mont_sqr_32(t[52], t[26], m, mp);
  5641. sp_2048_mont_mul_32(t[53], t[27], t[26], m, mp);
  5642. sp_2048_mont_sqr_32(t[54], t[27], m, mp);
  5643. sp_2048_mont_mul_32(t[55], t[28], t[27], m, mp);
  5644. sp_2048_mont_sqr_32(t[56], t[28], m, mp);
  5645. sp_2048_mont_mul_32(t[57], t[29], t[28], m, mp);
  5646. sp_2048_mont_sqr_32(t[58], t[29], m, mp);
  5647. sp_2048_mont_mul_32(t[59], t[30], t[29], m, mp);
  5648. sp_2048_mont_sqr_32(t[60], t[30], m, mp);
  5649. sp_2048_mont_mul_32(t[61], t[31], t[30], m, mp);
  5650. sp_2048_mont_sqr_32(t[62], t[31], m, mp);
  5651. sp_2048_mont_mul_32(t[63], t[32], t[31], m, mp);
  5652. i = (bits - 1) / 64;
  5653. n = e[i--];
  5654. c = bits & 63;
  5655. if (c == 0) {
  5656. c = 64;
  5657. }
  5658. c -= bits % 6;
  5659. if (c == 64) {
  5660. c = 58;
  5661. }
  5662. if (c < 0) {
  5663. /* Number of bits in top word is less than number needed. */
  5664. c = -c;
  5665. y = (byte)(n << c);
  5666. n = e[i--];
  5667. y |= (byte)(n >> (64 - c));
  5668. n <<= c;
  5669. c = 64 - c;
  5670. }
  5671. else if (c == 0) {
  5672. /* All bits in top word used. */
  5673. y = (byte)n;
  5674. }
  5675. else {
  5676. y = (byte)(n >> c);
  5677. n <<= 64 - c;
  5678. }
  5679. XMEMCPY(r, t[y], sizeof(sp_digit) * 32);
  5680. for (; i>=0 || c>=6; ) {
  5681. if (c == 0) {
  5682. n = e[i--];
  5683. y = (byte)(n >> 58);
  5684. n <<= 6;
  5685. c = 58;
  5686. }
  5687. else if (c < 6) {
  5688. y = (byte)(n >> 58);
  5689. n = e[i--];
  5690. c = 6 - c;
  5691. y |= (byte)(n >> (64 - c));
  5692. n <<= c;
  5693. c = 64 - c;
  5694. }
  5695. else {
  5696. y = (byte)((n >> 58) & 0x3f);
  5697. n <<= 6;
  5698. c -= 6;
  5699. }
  5700. sp_2048_mont_sqr_32(r, r, m, mp);
  5701. sp_2048_mont_sqr_32(r, r, m, mp);
  5702. sp_2048_mont_sqr_32(r, r, m, mp);
  5703. sp_2048_mont_sqr_32(r, r, m, mp);
  5704. sp_2048_mont_sqr_32(r, r, m, mp);
  5705. sp_2048_mont_sqr_32(r, r, m, mp);
  5706. sp_2048_mont_mul_32(r, r, t[y], m, mp);
  5707. }
  5708. XMEMSET(&r[32], 0, sizeof(sp_digit) * 32U);
  5709. sp_2048_mont_reduce_32(r, m, mp);
  5710. mask = 0 - (sp_2048_cmp_32(r, m) >= 0);
  5711. sp_2048_cond_sub_32(r, r, m, mask);
  5712. }
  5713. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5714. if (td != NULL)
  5715. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  5716. #endif
  5717. return err;
  5718. }
  5719. #endif /* WOLFSSL_SP_SMALL */
  5720. #endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
  5721. #endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
  5722. #ifdef WOLFSSL_HAVE_SP_RSA
  5723. /* RSA public key operation.
  5724. *
  5725. * in Array of bytes representing the number to exponentiate, base.
  5726. * inLen Number of bytes in base.
  5727. * em Public exponent.
  5728. * mm Modulus.
  5729. * out Buffer to hold big-endian bytes of exponentiation result.
  5730. * Must be at least 256 bytes long.
  5731. * outLen Number of bytes in result.
  5732. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  5733. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  5734. */
  5735. int sp_RsaPublic_2048(const byte* in, word32 inLen, const mp_int* em,
  5736. const mp_int* mm, byte* out, word32* outLen)
  5737. {
  5738. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5739. sp_digit* a = NULL;
  5740. #else
  5741. sp_digit a[32 * 5];
  5742. #endif
  5743. sp_digit* m = NULL;
  5744. sp_digit* r = NULL;
  5745. sp_digit *ah = NULL;
  5746. sp_digit e[1] = {0};
  5747. int err = MP_OKAY;
  5748. if (*outLen < 256) {
  5749. err = MP_TO_E;
  5750. }
  5751. else if (mp_count_bits(em) > 64 || inLen > 256 ||
  5752. mp_count_bits(mm) != 2048) {
  5753. err = MP_READ_E;
  5754. }
  5755. else if (mp_iseven(mm)) {
  5756. err = MP_VAL;
  5757. }
  5758. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5759. if (err == MP_OKAY) {
  5760. a = (sp_digit*)XMALLOC(sizeof(sp_digit) * 32 * 5, NULL,
  5761. DYNAMIC_TYPE_RSA);
  5762. if (a == NULL)
  5763. err = MEMORY_E;
  5764. }
  5765. #endif
  5766. if (err == MP_OKAY) {
  5767. ah = a + 32;
  5768. r = a + 32 * 2;
  5769. m = r + 32 * 2;
  5770. sp_2048_from_bin(ah, 32, in, inLen);
  5771. #if DIGIT_BIT >= 64
  5772. e[0] = em->dp[0];
  5773. #else
  5774. e[0] = em->dp[0];
  5775. if (em->used > 1) {
  5776. e[0] |= ((sp_digit)em->dp[1]) << DIGIT_BIT;
  5777. }
  5778. #endif
  5779. if (e[0] == 0) {
  5780. err = MP_EXPTMOD_E;
  5781. }
  5782. }
  5783. if (err == MP_OKAY) {
  5784. sp_2048_from_mp(m, 32, mm);
  5785. if (e[0] == 0x10001) {
  5786. int i;
  5787. sp_digit mp;
  5788. sp_2048_mont_setup(m, &mp);
  5789. /* Convert to Montgomery form. */
  5790. XMEMSET(a, 0, sizeof(sp_digit) * 32);
  5791. err = sp_2048_mod_32_cond(r, a, m);
  5792. /* Montgomery form: r = a.R mod m */
  5793. if (err == MP_OKAY) {
  5794. /* r = a ^ 0x10000 => r = a squared 16 times */
  5795. for (i = 15; i >= 0; i--) {
  5796. sp_2048_mont_sqr_32(r, r, m, mp);
  5797. }
  5798. /* mont_red(r.R.R) = (r.R.R / R) mod m = r.R mod m
  5799. * mont_red(r.R * a) = (r.R.a / R) mod m = r.a mod m
  5800. */
  5801. sp_2048_mont_mul_32(r, r, ah, m, mp);
  5802. for (i = 31; i > 0; i--) {
  5803. if (r[i] != m[i]) {
  5804. break;
  5805. }
  5806. }
  5807. if (r[i] >= m[i]) {
  5808. sp_2048_sub_in_place_32(r, m);
  5809. }
  5810. }
  5811. }
  5812. else if (e[0] == 0x3) {
  5813. if (err == MP_OKAY) {
  5814. sp_2048_sqr_32(r, ah);
  5815. err = sp_2048_mod_32_cond(r, r, m);
  5816. }
  5817. if (err == MP_OKAY) {
  5818. sp_2048_mul_32(r, ah, r);
  5819. err = sp_2048_mod_32_cond(r, r, m);
  5820. }
  5821. }
  5822. else {
  5823. int i;
  5824. sp_digit mp;
  5825. sp_2048_mont_setup(m, &mp);
  5826. /* Convert to Montgomery form. */
  5827. XMEMSET(a, 0, sizeof(sp_digit) * 32);
  5828. err = sp_2048_mod_32_cond(a, a, m);
  5829. if (err == MP_OKAY) {
  5830. for (i = 63; i >= 0; i--) {
  5831. if (e[0] >> i) {
  5832. break;
  5833. }
  5834. }
  5835. XMEMCPY(r, a, sizeof(sp_digit) * 32);
  5836. for (i--; i >= 0; i--) {
  5837. sp_2048_mont_sqr_32(r, r, m, mp);
  5838. if (((e[0] >> i) & 1) == 1) {
  5839. sp_2048_mont_mul_32(r, r, a, m, mp);
  5840. }
  5841. }
  5842. XMEMSET(&r[32], 0, sizeof(sp_digit) * 32);
  5843. sp_2048_mont_reduce_32(r, m, mp);
  5844. for (i = 31; i > 0; i--) {
  5845. if (r[i] != m[i]) {
  5846. break;
  5847. }
  5848. }
  5849. if (r[i] >= m[i]) {
  5850. sp_2048_sub_in_place_32(r, m);
  5851. }
  5852. }
  5853. }
  5854. }
  5855. if (err == MP_OKAY) {
  5856. sp_2048_to_bin_32(r, out);
  5857. *outLen = 256;
  5858. }
  5859. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5860. if (a != NULL)
  5861. XFREE(a, NULL, DYNAMIC_TYPE_RSA);
  5862. #endif
  5863. return err;
  5864. }
  5865. #ifndef WOLFSSL_RSA_PUBLIC_ONLY
  5866. #ifdef WOLFSSL_SP_SMALL
  5867. /* Conditionally add a and b using the mask m.
  5868. * m is -1 to add and 0 when not.
  5869. *
  5870. * r A single precision number representing conditional add result.
  5871. * a A single precision number to add with.
  5872. * b A single precision number to add.
  5873. * m Mask value to apply.
  5874. */
  5875. static sp_digit sp_2048_cond_add_16(sp_digit* r, const sp_digit* a, const sp_digit* b,
  5876. sp_digit m)
  5877. {
  5878. sp_digit c = 0;
  5879. __asm__ __volatile__ (
  5880. "mov x8, #0\n\t"
  5881. "1:\n\t"
  5882. "adds %[c], %[c], #-1\n\t"
  5883. "ldr x4, [%[a], x8]\n\t"
  5884. "ldr x5, [%[b], x8]\n\t"
  5885. "and x5, x5, %[m]\n\t"
  5886. "adcs x4, x4, x5\n\t"
  5887. "cset %[c], cs\n\t"
  5888. "str x4, [%[r], x8]\n\t"
  5889. "add x8, x8, #8\n\t"
  5890. "cmp x8, 128\n\t"
  5891. "b.lt 1b\n\t"
  5892. : [c] "+r" (c)
  5893. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  5894. : "memory", "x4", "x5", "x8", "x9", "x10", "x11", "x12"
  5895. );
  5896. return c;
  5897. }
  5898. #endif /* WOLFSSL_SP_SMALL */
  5899. /* RSA private key operation.
  5900. *
  5901. * in Array of bytes representing the number to exponentiate, base.
  5902. * inLen Number of bytes in base.
  5903. * dm Private exponent.
  5904. * pm First prime.
  5905. * qm Second prime.
  5906. * dpm First prime's CRT exponent.
  5907. * dqm Second prime's CRT exponent.
  5908. * qim Inverse of second prime mod p.
  5909. * mm Modulus.
  5910. * out Buffer to hold big-endian bytes of exponentiation result.
  5911. * Must be at least 256 bytes long.
  5912. * outLen Number of bytes in result.
  5913. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  5914. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  5915. */
  5916. int sp_RsaPrivate_2048(const byte* in, word32 inLen, const mp_int* dm,
  5917. const mp_int* pm, const mp_int* qm, const mp_int* dpm, const mp_int* dqm,
  5918. const mp_int* qim, const mp_int* mm, byte* out, word32* outLen)
  5919. {
  5920. #if defined(SP_RSA_PRIVATE_EXP_D) || defined(RSA_LOW_MEM)
  5921. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5922. sp_digit* d = NULL;
  5923. #else
  5924. sp_digit d[32 * 4];
  5925. #endif
  5926. sp_digit* a = NULL;
  5927. sp_digit* m = NULL;
  5928. sp_digit* r = NULL;
  5929. int err = MP_OKAY;
  5930. (void)pm;
  5931. (void)qm;
  5932. (void)dpm;
  5933. (void)dqm;
  5934. (void)qim;
  5935. if (*outLen < 256U) {
  5936. err = MP_TO_E;
  5937. }
  5938. if (err == MP_OKAY) {
  5939. if (mp_count_bits(dm) > 2048) {
  5940. err = MP_READ_E;
  5941. }
  5942. else if (inLen > 256) {
  5943. err = MP_READ_E;
  5944. }
  5945. else if (mp_count_bits(mm) != 2048) {
  5946. err = MP_READ_E;
  5947. }
  5948. else if (mp_iseven(mm)) {
  5949. err = MP_VAL;
  5950. }
  5951. }
  5952. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5953. if (err == MP_OKAY) {
  5954. d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 32 * 4, NULL,
  5955. DYNAMIC_TYPE_RSA);
  5956. if (d == NULL)
  5957. err = MEMORY_E;
  5958. }
  5959. #endif
  5960. if (err == MP_OKAY) {
  5961. a = d + 32;
  5962. m = a + 64;
  5963. r = a;
  5964. sp_2048_from_bin(a, 32, in, inLen);
  5965. sp_2048_from_mp(d, 32, dm);
  5966. sp_2048_from_mp(m, 32, mm);
  5967. err = sp_2048_mod_exp_32(r, a, d, 2048, m, 0);
  5968. }
  5969. if (err == MP_OKAY) {
  5970. sp_2048_to_bin_32(r, out);
  5971. *outLen = 256;
  5972. }
  5973. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5974. if (d != NULL)
  5975. #endif
  5976. {
  5977. /* only "a" and "r" are sensitive and need zeroized (same pointer) */
  5978. if (a != NULL)
  5979. ForceZero(a, sizeof(sp_digit) * 32);
  5980. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5981. XFREE(d, NULL, DYNAMIC_TYPE_RSA);
  5982. #endif
  5983. }
  5984. return err;
  5985. #else
  5986. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  5987. sp_digit* a = NULL;
  5988. #else
  5989. sp_digit a[16 * 11];
  5990. #endif
  5991. sp_digit* p = NULL;
  5992. sp_digit* q = NULL;
  5993. sp_digit* dp = NULL;
  5994. sp_digit* tmpa = NULL;
  5995. sp_digit* tmpb = NULL;
  5996. sp_digit* r = NULL;
  5997. sp_digit* qi = NULL;
  5998. sp_digit* dq = NULL;
  5999. sp_digit c;
  6000. int err = MP_OKAY;
  6001. (void)dm;
  6002. (void)mm;
  6003. if (*outLen < 256) {
  6004. err = MP_TO_E;
  6005. }
  6006. else if (inLen > 256 || mp_count_bits(mm) != 2048) {
  6007. err = MP_READ_E;
  6008. }
  6009. else if (mp_iseven(mm)) {
  6010. err = MP_VAL;
  6011. }
  6012. else if (mp_iseven(pm)) {
  6013. err = MP_VAL;
  6014. }
  6015. else if (mp_iseven(qm)) {
  6016. err = MP_VAL;
  6017. }
  6018. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6019. if (err == MP_OKAY) {
  6020. a = (sp_digit*)XMALLOC(sizeof(sp_digit) * 16 * 11, NULL,
  6021. DYNAMIC_TYPE_RSA);
  6022. if (a == NULL)
  6023. err = MEMORY_E;
  6024. }
  6025. #endif
  6026. if (err == MP_OKAY) {
  6027. p = a + 32 * 2;
  6028. q = p + 16;
  6029. qi = dq = dp = q + 16;
  6030. tmpa = qi + 16;
  6031. tmpb = tmpa + 32;
  6032. r = a;
  6033. sp_2048_from_bin(a, 32, in, inLen);
  6034. sp_2048_from_mp(p, 16, pm);
  6035. sp_2048_from_mp(q, 16, qm);
  6036. sp_2048_from_mp(dp, 16, dpm);
  6037. err = sp_2048_mod_exp_16(tmpa, a, dp, 1024, p, 1);
  6038. }
  6039. if (err == MP_OKAY) {
  6040. sp_2048_from_mp(dq, 16, dqm);
  6041. err = sp_2048_mod_exp_16(tmpb, a, dq, 1024, q, 1);
  6042. }
  6043. if (err == MP_OKAY) {
  6044. c = sp_2048_sub_in_place_16(tmpa, tmpb);
  6045. c += sp_2048_cond_add_16(tmpa, tmpa, p, c);
  6046. sp_2048_cond_add_16(tmpa, tmpa, p, c);
  6047. sp_2048_from_mp(qi, 16, qim);
  6048. sp_2048_mul_16(tmpa, tmpa, qi);
  6049. err = sp_2048_mod_16(tmpa, tmpa, p);
  6050. }
  6051. if (err == MP_OKAY) {
  6052. sp_2048_mul_16(tmpa, q, tmpa);
  6053. XMEMSET(&tmpb[16], 0, sizeof(sp_digit) * 16);
  6054. sp_2048_add_32(r, tmpb, tmpa);
  6055. sp_2048_to_bin_32(r, out);
  6056. *outLen = 256;
  6057. }
  6058. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6059. if (a != NULL)
  6060. #endif
  6061. {
  6062. ForceZero(a, sizeof(sp_digit) * 16 * 11);
  6063. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6064. XFREE(a, NULL, DYNAMIC_TYPE_RSA);
  6065. #endif
  6066. }
  6067. #endif /* SP_RSA_PRIVATE_EXP_D || RSA_LOW_MEM */
  6068. return err;
  6069. }
  6070. #endif /* WOLFSSL_RSA_PUBLIC_ONLY */
  6071. #endif /* WOLFSSL_HAVE_SP_RSA */
  6072. #if defined(WOLFSSL_HAVE_SP_DH) || (defined(WOLFSSL_HAVE_SP_RSA) && \
  6073. !defined(WOLFSSL_RSA_PUBLIC_ONLY))
  6074. /* Convert an array of sp_digit to an mp_int.
  6075. *
  6076. * a A single precision integer.
  6077. * r A multi-precision integer.
  6078. */
  6079. static int sp_2048_to_mp(const sp_digit* a, mp_int* r)
  6080. {
  6081. int err;
  6082. err = mp_grow(r, (2048 + DIGIT_BIT - 1) / DIGIT_BIT);
  6083. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  6084. #if DIGIT_BIT == 64
  6085. XMEMCPY(r->dp, a, sizeof(sp_digit) * 32);
  6086. r->used = 32;
  6087. mp_clamp(r);
  6088. #elif DIGIT_BIT < 64
  6089. int i;
  6090. int j = 0;
  6091. int s = 0;
  6092. r->dp[0] = 0;
  6093. for (i = 0; i < 32; i++) {
  6094. r->dp[j] |= (mp_digit)(a[i] << s);
  6095. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  6096. s = DIGIT_BIT - s;
  6097. r->dp[++j] = (mp_digit)(a[i] >> s);
  6098. while (s + DIGIT_BIT <= 64) {
  6099. s += DIGIT_BIT;
  6100. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  6101. if (s == SP_WORD_SIZE) {
  6102. r->dp[j] = 0;
  6103. }
  6104. else {
  6105. r->dp[j] = (mp_digit)(a[i] >> s);
  6106. }
  6107. }
  6108. s = 64 - s;
  6109. }
  6110. r->used = (2048 + DIGIT_BIT - 1) / DIGIT_BIT;
  6111. mp_clamp(r);
  6112. #else
  6113. int i;
  6114. int j = 0;
  6115. int s = 0;
  6116. r->dp[0] = 0;
  6117. for (i = 0; i < 32; i++) {
  6118. r->dp[j] |= ((mp_digit)a[i]) << s;
  6119. if (s + 64 >= DIGIT_BIT) {
  6120. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  6121. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  6122. #endif
  6123. s = DIGIT_BIT - s;
  6124. r->dp[++j] = a[i] >> s;
  6125. s = 64 - s;
  6126. }
  6127. else {
  6128. s += 64;
  6129. }
  6130. }
  6131. r->used = (2048 + DIGIT_BIT - 1) / DIGIT_BIT;
  6132. mp_clamp(r);
  6133. #endif
  6134. }
  6135. return err;
  6136. }
  6137. /* Perform the modular exponentiation for Diffie-Hellman.
  6138. *
  6139. * base Base. MP integer.
  6140. * exp Exponent. MP integer.
  6141. * mod Modulus. MP integer.
  6142. * res Result. MP integer.
  6143. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  6144. * and MEMORY_E if memory allocation fails.
  6145. */
  6146. int sp_ModExp_2048(const mp_int* base, const mp_int* exp, const mp_int* mod,
  6147. mp_int* res)
  6148. {
  6149. int err = MP_OKAY;
  6150. sp_digit b[64];
  6151. sp_digit e[32];
  6152. sp_digit m[32];
  6153. sp_digit* r = b;
  6154. int expBits = mp_count_bits(exp);
  6155. if (mp_count_bits(base) > 2048) {
  6156. err = MP_READ_E;
  6157. }
  6158. else if (expBits > 2048) {
  6159. err = MP_READ_E;
  6160. }
  6161. else if (mp_count_bits(mod) != 2048) {
  6162. err = MP_READ_E;
  6163. }
  6164. else if (mp_iseven(mod)) {
  6165. err = MP_VAL;
  6166. }
  6167. if (err == MP_OKAY) {
  6168. sp_2048_from_mp(b, 32, base);
  6169. sp_2048_from_mp(e, 32, exp);
  6170. sp_2048_from_mp(m, 32, mod);
  6171. err = sp_2048_mod_exp_32(r, b, e, expBits, m, 0);
  6172. }
  6173. if (err == MP_OKAY) {
  6174. err = sp_2048_to_mp(r, res);
  6175. }
  6176. XMEMSET(e, 0, sizeof(e));
  6177. return err;
  6178. }
  6179. #ifdef WOLFSSL_HAVE_SP_DH
  6180. #ifdef HAVE_FFDHE_2048
  6181. static void sp_2048_lshift_32(sp_digit* r, const sp_digit* a, byte n)
  6182. {
  6183. word64 n64 = n;
  6184. __asm__ __volatile__ (
  6185. "mov x6, 63\n\t"
  6186. "sub x6, x6, %[n]\n\t"
  6187. "ldr x3, [%[a], 248]\n\t"
  6188. "lsr x4, x3, 1\n\t"
  6189. "lsl x3, x3, %[n]\n\t"
  6190. "lsr x4, x4, x6\n\t"
  6191. "ldr x2, [%[a], 240]\n\t"
  6192. "str x4, [%[r], 256]\n\t"
  6193. "lsr x5, x2, 1\n\t"
  6194. "lsl x2, x2, %[n]\n\t"
  6195. "lsr x5, x5, x6\n\t"
  6196. "orr x3, x3, x5\n\t"
  6197. "ldr x4, [%[a], 232]\n\t"
  6198. "str x3, [%[r], 248]\n\t"
  6199. "lsr x5, x4, 1\n\t"
  6200. "lsl x4, x4, %[n]\n\t"
  6201. "lsr x5, x5, x6\n\t"
  6202. "orr x2, x2, x5\n\t"
  6203. "ldr x3, [%[a], 224]\n\t"
  6204. "str x2, [%[r], 240]\n\t"
  6205. "lsr x5, x3, 1\n\t"
  6206. "lsl x3, x3, %[n]\n\t"
  6207. "lsr x5, x5, x6\n\t"
  6208. "orr x4, x4, x5\n\t"
  6209. "ldr x2, [%[a], 216]\n\t"
  6210. "str x4, [%[r], 232]\n\t"
  6211. "lsr x5, x2, 1\n\t"
  6212. "lsl x2, x2, %[n]\n\t"
  6213. "lsr x5, x5, x6\n\t"
  6214. "orr x3, x3, x5\n\t"
  6215. "ldr x4, [%[a], 208]\n\t"
  6216. "str x3, [%[r], 224]\n\t"
  6217. "lsr x5, x4, 1\n\t"
  6218. "lsl x4, x4, %[n]\n\t"
  6219. "lsr x5, x5, x6\n\t"
  6220. "orr x2, x2, x5\n\t"
  6221. "ldr x3, [%[a], 200]\n\t"
  6222. "str x2, [%[r], 216]\n\t"
  6223. "lsr x5, x3, 1\n\t"
  6224. "lsl x3, x3, %[n]\n\t"
  6225. "lsr x5, x5, x6\n\t"
  6226. "orr x4, x4, x5\n\t"
  6227. "ldr x2, [%[a], 192]\n\t"
  6228. "str x4, [%[r], 208]\n\t"
  6229. "lsr x5, x2, 1\n\t"
  6230. "lsl x2, x2, %[n]\n\t"
  6231. "lsr x5, x5, x6\n\t"
  6232. "orr x3, x3, x5\n\t"
  6233. "ldr x4, [%[a], 184]\n\t"
  6234. "str x3, [%[r], 200]\n\t"
  6235. "lsr x5, x4, 1\n\t"
  6236. "lsl x4, x4, %[n]\n\t"
  6237. "lsr x5, x5, x6\n\t"
  6238. "orr x2, x2, x5\n\t"
  6239. "ldr x3, [%[a], 176]\n\t"
  6240. "str x2, [%[r], 192]\n\t"
  6241. "lsr x5, x3, 1\n\t"
  6242. "lsl x3, x3, %[n]\n\t"
  6243. "lsr x5, x5, x6\n\t"
  6244. "orr x4, x4, x5\n\t"
  6245. "ldr x2, [%[a], 168]\n\t"
  6246. "str x4, [%[r], 184]\n\t"
  6247. "lsr x5, x2, 1\n\t"
  6248. "lsl x2, x2, %[n]\n\t"
  6249. "lsr x5, x5, x6\n\t"
  6250. "orr x3, x3, x5\n\t"
  6251. "ldr x4, [%[a], 160]\n\t"
  6252. "str x3, [%[r], 176]\n\t"
  6253. "lsr x5, x4, 1\n\t"
  6254. "lsl x4, x4, %[n]\n\t"
  6255. "lsr x5, x5, x6\n\t"
  6256. "orr x2, x2, x5\n\t"
  6257. "ldr x3, [%[a], 152]\n\t"
  6258. "str x2, [%[r], 168]\n\t"
  6259. "lsr x5, x3, 1\n\t"
  6260. "lsl x3, x3, %[n]\n\t"
  6261. "lsr x5, x5, x6\n\t"
  6262. "orr x4, x4, x5\n\t"
  6263. "ldr x2, [%[a], 144]\n\t"
  6264. "str x4, [%[r], 160]\n\t"
  6265. "lsr x5, x2, 1\n\t"
  6266. "lsl x2, x2, %[n]\n\t"
  6267. "lsr x5, x5, x6\n\t"
  6268. "orr x3, x3, x5\n\t"
  6269. "ldr x4, [%[a], 136]\n\t"
  6270. "str x3, [%[r], 152]\n\t"
  6271. "lsr x5, x4, 1\n\t"
  6272. "lsl x4, x4, %[n]\n\t"
  6273. "lsr x5, x5, x6\n\t"
  6274. "orr x2, x2, x5\n\t"
  6275. "ldr x3, [%[a], 128]\n\t"
  6276. "str x2, [%[r], 144]\n\t"
  6277. "lsr x5, x3, 1\n\t"
  6278. "lsl x3, x3, %[n]\n\t"
  6279. "lsr x5, x5, x6\n\t"
  6280. "orr x4, x4, x5\n\t"
  6281. "ldr x2, [%[a], 120]\n\t"
  6282. "str x4, [%[r], 136]\n\t"
  6283. "lsr x5, x2, 1\n\t"
  6284. "lsl x2, x2, %[n]\n\t"
  6285. "lsr x5, x5, x6\n\t"
  6286. "orr x3, x3, x5\n\t"
  6287. "ldr x4, [%[a], 112]\n\t"
  6288. "str x3, [%[r], 128]\n\t"
  6289. "lsr x5, x4, 1\n\t"
  6290. "lsl x4, x4, %[n]\n\t"
  6291. "lsr x5, x5, x6\n\t"
  6292. "orr x2, x2, x5\n\t"
  6293. "ldr x3, [%[a], 104]\n\t"
  6294. "str x2, [%[r], 120]\n\t"
  6295. "lsr x5, x3, 1\n\t"
  6296. "lsl x3, x3, %[n]\n\t"
  6297. "lsr x5, x5, x6\n\t"
  6298. "orr x4, x4, x5\n\t"
  6299. "ldr x2, [%[a], 96]\n\t"
  6300. "str x4, [%[r], 112]\n\t"
  6301. "lsr x5, x2, 1\n\t"
  6302. "lsl x2, x2, %[n]\n\t"
  6303. "lsr x5, x5, x6\n\t"
  6304. "orr x3, x3, x5\n\t"
  6305. "ldr x4, [%[a], 88]\n\t"
  6306. "str x3, [%[r], 104]\n\t"
  6307. "lsr x5, x4, 1\n\t"
  6308. "lsl x4, x4, %[n]\n\t"
  6309. "lsr x5, x5, x6\n\t"
  6310. "orr x2, x2, x5\n\t"
  6311. "ldr x3, [%[a], 80]\n\t"
  6312. "str x2, [%[r], 96]\n\t"
  6313. "lsr x5, x3, 1\n\t"
  6314. "lsl x3, x3, %[n]\n\t"
  6315. "lsr x5, x5, x6\n\t"
  6316. "orr x4, x4, x5\n\t"
  6317. "ldr x2, [%[a], 72]\n\t"
  6318. "str x4, [%[r], 88]\n\t"
  6319. "lsr x5, x2, 1\n\t"
  6320. "lsl x2, x2, %[n]\n\t"
  6321. "lsr x5, x5, x6\n\t"
  6322. "orr x3, x3, x5\n\t"
  6323. "ldr x4, [%[a], 64]\n\t"
  6324. "str x3, [%[r], 80]\n\t"
  6325. "lsr x5, x4, 1\n\t"
  6326. "lsl x4, x4, %[n]\n\t"
  6327. "lsr x5, x5, x6\n\t"
  6328. "orr x2, x2, x5\n\t"
  6329. "ldr x3, [%[a], 56]\n\t"
  6330. "str x2, [%[r], 72]\n\t"
  6331. "lsr x5, x3, 1\n\t"
  6332. "lsl x3, x3, %[n]\n\t"
  6333. "lsr x5, x5, x6\n\t"
  6334. "orr x4, x4, x5\n\t"
  6335. "ldr x2, [%[a], 48]\n\t"
  6336. "str x4, [%[r], 64]\n\t"
  6337. "lsr x5, x2, 1\n\t"
  6338. "lsl x2, x2, %[n]\n\t"
  6339. "lsr x5, x5, x6\n\t"
  6340. "orr x3, x3, x5\n\t"
  6341. "ldr x4, [%[a], 40]\n\t"
  6342. "str x3, [%[r], 56]\n\t"
  6343. "lsr x5, x4, 1\n\t"
  6344. "lsl x4, x4, %[n]\n\t"
  6345. "lsr x5, x5, x6\n\t"
  6346. "orr x2, x2, x5\n\t"
  6347. "ldr x3, [%[a], 32]\n\t"
  6348. "str x2, [%[r], 48]\n\t"
  6349. "lsr x5, x3, 1\n\t"
  6350. "lsl x3, x3, %[n]\n\t"
  6351. "lsr x5, x5, x6\n\t"
  6352. "orr x4, x4, x5\n\t"
  6353. "ldr x2, [%[a], 24]\n\t"
  6354. "str x4, [%[r], 40]\n\t"
  6355. "lsr x5, x2, 1\n\t"
  6356. "lsl x2, x2, %[n]\n\t"
  6357. "lsr x5, x5, x6\n\t"
  6358. "orr x3, x3, x5\n\t"
  6359. "ldr x4, [%[a], 16]\n\t"
  6360. "str x3, [%[r], 32]\n\t"
  6361. "lsr x5, x4, 1\n\t"
  6362. "lsl x4, x4, %[n]\n\t"
  6363. "lsr x5, x5, x6\n\t"
  6364. "orr x2, x2, x5\n\t"
  6365. "ldr x3, [%[a], 8]\n\t"
  6366. "str x2, [%[r], 24]\n\t"
  6367. "lsr x5, x3, 1\n\t"
  6368. "lsl x3, x3, %[n]\n\t"
  6369. "lsr x5, x5, x6\n\t"
  6370. "orr x4, x4, x5\n\t"
  6371. "ldr x2, [%[a], 0]\n\t"
  6372. "str x4, [%[r], 16]\n\t"
  6373. "lsr x5, x2, 1\n\t"
  6374. "lsl x2, x2, %[n]\n\t"
  6375. "lsr x5, x5, x6\n\t"
  6376. "orr x3, x3, x5\n\t"
  6377. "stp x2, x3, [%[r]]\n\t"
  6378. :
  6379. : [r] "r" (r), [a] "r" (a), [n] "r" (n64)
  6380. : "memory", "x2", "x3", "x4", "x5", "x6"
  6381. );
  6382. }
  6383. /* Modular exponentiate 2 to the e mod m. (r = 2^e mod m)
  6384. *
  6385. * r A single precision number that is the result of the operation.
  6386. * e A single precision number that is the exponent.
  6387. * bits The number of bits in the exponent.
  6388. * m A single precision number that is the modulus.
  6389. * returns 0 on success.
  6390. * returns MEMORY_E on dynamic memory allocation failure.
  6391. * returns MP_VAL when base is even.
  6392. */
  6393. static int sp_2048_mod_exp_2_32(sp_digit* r, const sp_digit* e, int bits,
  6394. const sp_digit* m)
  6395. {
  6396. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6397. sp_digit* td = NULL;
  6398. #else
  6399. sp_digit td[97];
  6400. #endif
  6401. sp_digit* norm = NULL;
  6402. sp_digit* tmp = NULL;
  6403. sp_digit mp = 1;
  6404. sp_digit n;
  6405. sp_digit o;
  6406. sp_digit mask;
  6407. int i;
  6408. int c;
  6409. byte y;
  6410. int err = MP_OKAY;
  6411. if (bits == 0) {
  6412. err = MP_VAL;
  6413. }
  6414. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6415. if (err == MP_OKAY) {
  6416. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 97, NULL,
  6417. DYNAMIC_TYPE_TMP_BUFFER);
  6418. if (td == NULL)
  6419. err = MEMORY_E;
  6420. }
  6421. #endif
  6422. if (err == MP_OKAY) {
  6423. norm = td;
  6424. tmp = td + 64;
  6425. sp_2048_mont_setup(m, &mp);
  6426. sp_2048_mont_norm_32(norm, m);
  6427. i = (bits - 1) / 64;
  6428. n = e[i--];
  6429. c = bits & 63;
  6430. if (c == 0) {
  6431. c = 64;
  6432. }
  6433. c -= bits % 6;
  6434. if (c == 64) {
  6435. c = 58;
  6436. }
  6437. if (c < 0) {
  6438. /* Number of bits in top word is less than number needed. */
  6439. c = -c;
  6440. y = (byte)(n << c);
  6441. n = e[i--];
  6442. y |= (byte)(n >> (64 - c));
  6443. n <<= c;
  6444. c = 64 - c;
  6445. }
  6446. else if (c == 0) {
  6447. /* All bits in top word used. */
  6448. y = (byte)n;
  6449. }
  6450. else {
  6451. y = (byte)(n >> c);
  6452. n <<= 64 - c;
  6453. }
  6454. sp_2048_lshift_32(r, norm, y);
  6455. for (; i>=0 || c>=6; ) {
  6456. if (c == 0) {
  6457. n = e[i--];
  6458. y = (byte)(n >> 58);
  6459. n <<= 6;
  6460. c = 58;
  6461. }
  6462. else if (c < 6) {
  6463. y = (byte)(n >> 58);
  6464. n = e[i--];
  6465. c = 6 - c;
  6466. y |= (byte)(n >> (64 - c));
  6467. n <<= c;
  6468. c = 64 - c;
  6469. }
  6470. else {
  6471. y = (byte)((n >> 58) & 0x3f);
  6472. n <<= 6;
  6473. c -= 6;
  6474. }
  6475. sp_2048_mont_sqr_32(r, r, m, mp);
  6476. sp_2048_mont_sqr_32(r, r, m, mp);
  6477. sp_2048_mont_sqr_32(r, r, m, mp);
  6478. sp_2048_mont_sqr_32(r, r, m, mp);
  6479. sp_2048_mont_sqr_32(r, r, m, mp);
  6480. sp_2048_mont_sqr_32(r, r, m, mp);
  6481. sp_2048_lshift_32(r, r, y);
  6482. sp_2048_mul_d_32(tmp, norm, r[32]);
  6483. r[32] = 0;
  6484. o = sp_2048_add_32(r, r, tmp);
  6485. sp_2048_cond_sub_32(r, r, m, (sp_digit)0 - o);
  6486. }
  6487. XMEMSET(&r[32], 0, sizeof(sp_digit) * 32U);
  6488. sp_2048_mont_reduce_32(r, m, mp);
  6489. mask = 0 - (sp_2048_cmp_32(r, m) >= 0);
  6490. sp_2048_cond_sub_32(r, r, m, mask);
  6491. }
  6492. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  6493. if (td != NULL)
  6494. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  6495. #endif
  6496. return err;
  6497. }
  6498. #endif /* HAVE_FFDHE_2048 */
  6499. /* Perform the modular exponentiation for Diffie-Hellman.
  6500. *
  6501. * base Base.
  6502. * exp Array of bytes that is the exponent.
  6503. * expLen Length of data, in bytes, in exponent.
  6504. * mod Modulus.
  6505. * out Buffer to hold big-endian bytes of exponentiation result.
  6506. * Must be at least 256 bytes long.
  6507. * outLen Length, in bytes, of exponentiation result.
  6508. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  6509. * and MEMORY_E if memory allocation fails.
  6510. */
  6511. int sp_DhExp_2048(const mp_int* base, const byte* exp, word32 expLen,
  6512. const mp_int* mod, byte* out, word32* outLen)
  6513. {
  6514. int err = MP_OKAY;
  6515. sp_digit b[64];
  6516. sp_digit e[32];
  6517. sp_digit m[32];
  6518. sp_digit* r = b;
  6519. word32 i;
  6520. if (mp_count_bits(base) > 2048) {
  6521. err = MP_READ_E;
  6522. }
  6523. else if (expLen > 256) {
  6524. err = MP_READ_E;
  6525. }
  6526. else if (mp_count_bits(mod) != 2048) {
  6527. err = MP_READ_E;
  6528. }
  6529. else if (mp_iseven(mod)) {
  6530. err = MP_VAL;
  6531. }
  6532. if (err == MP_OKAY) {
  6533. sp_2048_from_mp(b, 32, base);
  6534. sp_2048_from_bin(e, 32, exp, expLen);
  6535. sp_2048_from_mp(m, 32, mod);
  6536. #ifdef HAVE_FFDHE_2048
  6537. if (base->used == 1 && base->dp[0] == 2 && m[31] == (sp_digit)-1)
  6538. err = sp_2048_mod_exp_2_32(r, e, expLen * 8, m);
  6539. else
  6540. #endif
  6541. err = sp_2048_mod_exp_32(r, b, e, expLen * 8, m, 0);
  6542. }
  6543. if (err == MP_OKAY) {
  6544. sp_2048_to_bin_32(r, out);
  6545. *outLen = 256;
  6546. for (i=0; i<256 && out[i] == 0; i++) {
  6547. /* Search for first non-zero. */
  6548. }
  6549. *outLen -= i;
  6550. XMEMMOVE(out, out + i, *outLen);
  6551. }
  6552. XMEMSET(e, 0, sizeof(e));
  6553. return err;
  6554. }
  6555. #endif /* WOLFSSL_HAVE_SP_DH */
  6556. /* Perform the modular exponentiation for Diffie-Hellman.
  6557. *
  6558. * base Base. MP integer.
  6559. * exp Exponent. MP integer.
  6560. * mod Modulus. MP integer.
  6561. * res Result. MP integer.
  6562. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  6563. * and MEMORY_E if memory allocation fails.
  6564. */
  6565. int sp_ModExp_1024(const mp_int* base, const mp_int* exp, const mp_int* mod,
  6566. mp_int* res)
  6567. {
  6568. int err = MP_OKAY;
  6569. sp_digit b[32];
  6570. sp_digit e[16];
  6571. sp_digit m[16];
  6572. sp_digit* r = b;
  6573. int expBits = mp_count_bits(exp);
  6574. if (mp_count_bits(base) > 1024) {
  6575. err = MP_READ_E;
  6576. }
  6577. else if (expBits > 1024) {
  6578. err = MP_READ_E;
  6579. }
  6580. else if (mp_count_bits(mod) != 1024) {
  6581. err = MP_READ_E;
  6582. }
  6583. else if (mp_iseven(mod)) {
  6584. err = MP_VAL;
  6585. }
  6586. if (err == MP_OKAY) {
  6587. sp_2048_from_mp(b, 16, base);
  6588. sp_2048_from_mp(e, 16, exp);
  6589. sp_2048_from_mp(m, 16, mod);
  6590. err = sp_2048_mod_exp_16(r, b, e, expBits, m, 0);
  6591. }
  6592. if (err == MP_OKAY) {
  6593. XMEMSET(r + 16, 0, sizeof(*r) * 16U);
  6594. err = sp_2048_to_mp(r, res);
  6595. res->used = mod->used;
  6596. mp_clamp(res);
  6597. }
  6598. XMEMSET(e, 0, sizeof(e));
  6599. return err;
  6600. }
  6601. #endif /* WOLFSSL_HAVE_SP_DH | (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) */
  6602. #endif /* !WOLFSSL_SP_NO_2048 */
  6603. #ifndef WOLFSSL_SP_NO_3072
  6604. /* Read big endian unsigned byte array into r.
  6605. *
  6606. * r A single precision integer.
  6607. * size Maximum number of bytes to convert
  6608. * a Byte array.
  6609. * n Number of bytes in array to read.
  6610. */
  6611. static void sp_3072_from_bin(sp_digit* r, int size, const byte* a, int n)
  6612. {
  6613. sp_int64 nl = n;
  6614. sp_int64 size8 = size * 8;
  6615. __asm__ __volatile__ (
  6616. "add x4, %[a], %[n]\n\t"
  6617. "mov x5, %[r]\n\t"
  6618. "sub x4, x4, 8\n\t"
  6619. "subs x6, %[n], 8\n\t"
  6620. "mov x7, xzr\n\t"
  6621. "blt 2f\n\t"
  6622. /* Put in mulitples of 8 bytes. */
  6623. "1:\n\t"
  6624. "ldr x8, [x4], -8\n\t"
  6625. "subs x6, x6, 8\n\t"
  6626. "rev x8, x8\n\t"
  6627. "str x8, [x5], 8\n\t"
  6628. "add x7, x7, 8\n\t"
  6629. "b.ge 1b\n\t"
  6630. "2:\n\t"
  6631. "cmp x6, -7\n\t"
  6632. "b.lt 20f\n\t"
  6633. /* Put in less than 8 bytes. */
  6634. "str xzr, [x5]\n\t"
  6635. "add x7, x7, 8\n\t"
  6636. "add x4, x4, 7\n\t"
  6637. "b.eq 17f\n\t"
  6638. "cmp x6, -5\n\t"
  6639. "b.lt 16f\n\t"
  6640. "b.eq 15f\n\t"
  6641. "cmp x6, -3\n\t"
  6642. "b.lt 14f\n\t"
  6643. "b.eq 13f\n\t"
  6644. "cmp x6, -2\n\t"
  6645. "b.eq 12f\n\t"
  6646. "ldrb w8, [x4], -1\n\t"
  6647. "strb w8, [x5], 1\n\t"
  6648. "12:\n\t"
  6649. "ldrb w8, [x4], -1\n\t"
  6650. "strb w8, [x5], 1\n\t"
  6651. "13:\n\t"
  6652. "ldrb w8, [x4], -1\n\t"
  6653. "strb w8, [x5], 1\n\t"
  6654. "14:\n\t"
  6655. "ldrb w8, [x4], -1\n\t"
  6656. "strb w8, [x5], 1\n\t"
  6657. "15:\n\t"
  6658. "ldrb w8, [x4], -1\n\t"
  6659. "strb w8, [x5], 1\n\t"
  6660. "16:\n\t"
  6661. "ldrb w8, [x4], -1\n\t"
  6662. "strb w8, [x5], 1\n\t"
  6663. "17:\n\t"
  6664. "ldrb w8, [x4], -1\n\t"
  6665. "strb w8, [x5], 1\n\t"
  6666. "20:\n\t"
  6667. "add x5, %[r], x7\n\t"
  6668. "subs x7, %[size], x7\n\t"
  6669. "b.eq 30f\n\t"
  6670. /* Zero out remaining words. */
  6671. "21:\n\t"
  6672. "subs x7, x7, 8\n\t"
  6673. "str xzr, [x5], 8\n\t"
  6674. "b.gt 21b\n\t"
  6675. "30:\n\t"
  6676. :
  6677. : [r] "r" (r), [size] "r" (size8), [a] "r" (a), [n] "r" (nl)
  6678. : "memory", "x4", "x5", "x6", "x7", "x8"
  6679. );
  6680. }
  6681. /* Convert an mp_int to an array of sp_digit.
  6682. *
  6683. * r A single precision integer.
  6684. * size Maximum number of bytes to convert
  6685. * a A multi-precision integer.
  6686. */
  6687. static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
  6688. {
  6689. #if DIGIT_BIT == 64
  6690. int j;
  6691. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  6692. for (j = a->used; j < size; j++) {
  6693. r[j] = 0;
  6694. }
  6695. #elif DIGIT_BIT > 64
  6696. int i;
  6697. int j = 0;
  6698. word32 s = 0;
  6699. r[0] = 0;
  6700. for (i = 0; i < a->used && j < size; i++) {
  6701. r[j] |= ((sp_digit)a->dp[i] << s);
  6702. r[j] &= 0xffffffffffffffffl;
  6703. s = 64U - s;
  6704. if (j + 1 >= size) {
  6705. break;
  6706. }
  6707. /* lint allow cast of mismatch word32 and mp_digit */
  6708. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  6709. while ((s + 64U) <= (word32)DIGIT_BIT) {
  6710. s += 64U;
  6711. r[j] &= 0xffffffffffffffffl;
  6712. if (j + 1 >= size) {
  6713. break;
  6714. }
  6715. if (s < (word32)DIGIT_BIT) {
  6716. /* lint allow cast of mismatch word32 and mp_digit */
  6717. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  6718. }
  6719. else {
  6720. r[++j] = (sp_digit)0;
  6721. }
  6722. }
  6723. s = (word32)DIGIT_BIT - s;
  6724. }
  6725. for (j++; j < size; j++) {
  6726. r[j] = 0;
  6727. }
  6728. #else
  6729. int i;
  6730. int j = 0;
  6731. int s = 0;
  6732. r[0] = 0;
  6733. for (i = 0; i < a->used && j < size; i++) {
  6734. r[j] |= ((sp_digit)a->dp[i]) << s;
  6735. if (s + DIGIT_BIT >= 64) {
  6736. r[j] &= 0xffffffffffffffffl;
  6737. if (j + 1 >= size) {
  6738. break;
  6739. }
  6740. s = 64 - s;
  6741. if (s == DIGIT_BIT) {
  6742. r[++j] = 0;
  6743. s = 0;
  6744. }
  6745. else {
  6746. r[++j] = a->dp[i] >> s;
  6747. s = DIGIT_BIT - s;
  6748. }
  6749. }
  6750. else {
  6751. s += DIGIT_BIT;
  6752. }
  6753. }
  6754. for (j++; j < size; j++) {
  6755. r[j] = 0;
  6756. }
  6757. #endif
  6758. }
  6759. /* Write r as big endian to byte array.
  6760. * Fixed length number of bytes written: 384
  6761. *
  6762. * r A single precision integer.
  6763. * a Byte array.
  6764. */
  6765. static void sp_3072_to_bin_48(sp_digit* r, byte* a)
  6766. {
  6767. int i;
  6768. int j = 0;
  6769. for (i = 47; i >= 0; i--, j += 8) {
  6770. __asm__ __volatile__ (
  6771. "ldr x4, [%[r]]\n\t"
  6772. "rev x4, x4\n\t"
  6773. "str x4, [%[a]]\n\t"
  6774. :
  6775. : [r] "r" (r + i), [a] "r" (a + j)
  6776. : "memory", "x4"
  6777. );
  6778. }
  6779. }
  6780. #if (defined(WOLFSSL_HAVE_SP_RSA) && (!defined(WOLFSSL_RSA_PUBLIC_ONLY) || !defined(WOLFSSL_SP_SMALL))) || defined(WOLFSSL_HAVE_SP_DH)
  6781. /* Normalize the values in each word to 64.
  6782. *
  6783. * a Array of sp_digit to normalize.
  6784. */
  6785. #define sp_3072_norm_48(a)
  6786. #endif /* (WOLFSSL_HAVE_SP_RSA && (!WOLFSSL_RSA_PUBLIC_ONLY || !WOLFSSL_SP_SMALL)) || WOLFSSL_HAVE_SP_DH */
  6787. /* Normalize the values in each word to 64.
  6788. *
  6789. * a Array of sp_digit to normalize.
  6790. */
  6791. #define sp_3072_norm_48(a)
  6792. #ifndef WOLFSSL_SP_SMALL
  6793. /* Multiply a and b into r. (r = a * b)
  6794. *
  6795. * r A single precision integer.
  6796. * a A single precision integer.
  6797. * b A single precision integer.
  6798. */
  6799. static void sp_3072_mul_6(sp_digit* r, const sp_digit* a, const sp_digit* b)
  6800. {
  6801. __asm__ __volatile__ (
  6802. "ldp x8, x9, [%[a], 0]\n\t"
  6803. "ldp x10, x11, [%[a], 16]\n\t"
  6804. "ldp x12, x13, [%[a], 32]\n\t"
  6805. "ldp x14, x15, [%[b], 0]\n\t"
  6806. "ldp x16, x17, [%[b], 16]\n\t"
  6807. "ldp x19, x20, [%[b], 32]\n\t"
  6808. "# A[0] * B[0]\n\t"
  6809. "mul x3, x8, x14\n\t"
  6810. "umulh x4, x8, x14\n\t"
  6811. "str x3, [%[r]]\n\t"
  6812. "# A[0] * B[1]\n\t"
  6813. "mul x6, x8, x15\n\t"
  6814. "umulh x7, x8, x15\n\t"
  6815. "adds x4, x4, x6\n\t"
  6816. "# A[1] * B[0]\n\t"
  6817. "mul x6, x9, x14\n\t"
  6818. "adc x5, xzr, x7\n\t"
  6819. "umulh x7, x9, x14\n\t"
  6820. "adds x4, x4, x6\n\t"
  6821. "adcs x5, x5, x7\n\t"
  6822. "str x4, [%[r], 8]\n\t"
  6823. "adc x3, xzr, xzr\n\t"
  6824. "# A[0] * B[2]\n\t"
  6825. "mul x6, x8, x16\n\t"
  6826. "umulh x7, x8, x16\n\t"
  6827. "adds x5, x5, x6\n\t"
  6828. "# A[1] * B[1]\n\t"
  6829. "mul x6, x9, x15\n\t"
  6830. "adcs x3, x3, x7\n\t"
  6831. "umulh x7, x9, x15\n\t"
  6832. "adc x4, xzr, xzr\n\t"
  6833. "adds x5, x5, x6\n\t"
  6834. "# A[2] * B[0]\n\t"
  6835. "mul x6, x10, x14\n\t"
  6836. "adcs x3, x3, x7\n\t"
  6837. "umulh x7, x10, x14\n\t"
  6838. "adc x4, x4, xzr\n\t"
  6839. "adds x5, x5, x6\n\t"
  6840. "adcs x3, x3, x7\n\t"
  6841. "str x5, [%[r], 16]\n\t"
  6842. "adc x4, x4, xzr\n\t"
  6843. "# A[0] * B[3]\n\t"
  6844. "mul x6, x8, x17\n\t"
  6845. "umulh x7, x8, x17\n\t"
  6846. "adds x3, x3, x6\n\t"
  6847. "# A[1] * B[2]\n\t"
  6848. "mul x6, x9, x16\n\t"
  6849. "adcs x4, x4, x7\n\t"
  6850. "umulh x7, x9, x16\n\t"
  6851. "adc x5, xzr, xzr\n\t"
  6852. "adds x3, x3, x6\n\t"
  6853. "# A[2] * B[1]\n\t"
  6854. "mul x6, x10, x15\n\t"
  6855. "adcs x4, x4, x7\n\t"
  6856. "umulh x7, x10, x15\n\t"
  6857. "adc x5, x5, xzr\n\t"
  6858. "adds x3, x3, x6\n\t"
  6859. "# A[3] * B[0]\n\t"
  6860. "mul x6, x11, x14\n\t"
  6861. "adcs x4, x4, x7\n\t"
  6862. "umulh x7, x11, x14\n\t"
  6863. "adc x5, x5, xzr\n\t"
  6864. "adds x3, x3, x6\n\t"
  6865. "adcs x4, x4, x7\n\t"
  6866. "str x3, [%[r], 24]\n\t"
  6867. "adc x5, x5, xzr\n\t"
  6868. "# A[0] * B[4]\n\t"
  6869. "mul x6, x8, x19\n\t"
  6870. "umulh x7, x8, x19\n\t"
  6871. "adds x4, x4, x6\n\t"
  6872. "# A[1] * B[3]\n\t"
  6873. "mul x6, x9, x17\n\t"
  6874. "adcs x5, x5, x7\n\t"
  6875. "umulh x7, x9, x17\n\t"
  6876. "adc x3, xzr, xzr\n\t"
  6877. "adds x4, x4, x6\n\t"
  6878. "# A[2] * B[2]\n\t"
  6879. "mul x6, x10, x16\n\t"
  6880. "adcs x5, x5, x7\n\t"
  6881. "umulh x7, x10, x16\n\t"
  6882. "adc x3, x3, xzr\n\t"
  6883. "adds x4, x4, x6\n\t"
  6884. "# A[3] * B[1]\n\t"
  6885. "mul x6, x11, x15\n\t"
  6886. "adcs x5, x5, x7\n\t"
  6887. "umulh x7, x11, x15\n\t"
  6888. "adc x3, x3, xzr\n\t"
  6889. "adds x4, x4, x6\n\t"
  6890. "# A[4] * B[0]\n\t"
  6891. "mul x6, x12, x14\n\t"
  6892. "adcs x5, x5, x7\n\t"
  6893. "umulh x7, x12, x14\n\t"
  6894. "adc x3, x3, xzr\n\t"
  6895. "adds x4, x4, x6\n\t"
  6896. "adcs x5, x5, x7\n\t"
  6897. "str x4, [%[r], 32]\n\t"
  6898. "adc x3, x3, xzr\n\t"
  6899. "# A[0] * B[5]\n\t"
  6900. "mul x6, x8, x20\n\t"
  6901. "umulh x7, x8, x20\n\t"
  6902. "adds x5, x5, x6\n\t"
  6903. "# A[1] * B[4]\n\t"
  6904. "mul x6, x9, x19\n\t"
  6905. "adcs x3, x3, x7\n\t"
  6906. "umulh x7, x9, x19\n\t"
  6907. "adc x4, xzr, xzr\n\t"
  6908. "adds x5, x5, x6\n\t"
  6909. "# A[2] * B[3]\n\t"
  6910. "mul x6, x10, x17\n\t"
  6911. "adcs x3, x3, x7\n\t"
  6912. "umulh x7, x10, x17\n\t"
  6913. "adc x4, x4, xzr\n\t"
  6914. "adds x5, x5, x6\n\t"
  6915. "# A[3] * B[2]\n\t"
  6916. "mul x6, x11, x16\n\t"
  6917. "adcs x3, x3, x7\n\t"
  6918. "umulh x7, x11, x16\n\t"
  6919. "adc x4, x4, xzr\n\t"
  6920. "adds x5, x5, x6\n\t"
  6921. "# A[4] * B[1]\n\t"
  6922. "mul x6, x12, x15\n\t"
  6923. "adcs x3, x3, x7\n\t"
  6924. "umulh x7, x12, x15\n\t"
  6925. "adc x4, x4, xzr\n\t"
  6926. "adds x5, x5, x6\n\t"
  6927. "# A[5] * B[0]\n\t"
  6928. "mul x6, x13, x14\n\t"
  6929. "adcs x3, x3, x7\n\t"
  6930. "umulh x7, x13, x14\n\t"
  6931. "adc x4, x4, xzr\n\t"
  6932. "adds x5, x5, x6\n\t"
  6933. "adcs x3, x3, x7\n\t"
  6934. "str x5, [%[r], 40]\n\t"
  6935. "adc x4, x4, xzr\n\t"
  6936. "# A[1] * B[5]\n\t"
  6937. "mul x6, x9, x20\n\t"
  6938. "umulh x7, x9, x20\n\t"
  6939. "adds x3, x3, x6\n\t"
  6940. "# A[2] * B[4]\n\t"
  6941. "mul x6, x10, x19\n\t"
  6942. "adcs x4, x4, x7\n\t"
  6943. "umulh x7, x10, x19\n\t"
  6944. "adc x5, xzr, xzr\n\t"
  6945. "adds x3, x3, x6\n\t"
  6946. "# A[3] * B[3]\n\t"
  6947. "mul x6, x11, x17\n\t"
  6948. "adcs x4, x4, x7\n\t"
  6949. "umulh x7, x11, x17\n\t"
  6950. "adc x5, x5, xzr\n\t"
  6951. "adds x3, x3, x6\n\t"
  6952. "# A[4] * B[2]\n\t"
  6953. "mul x6, x12, x16\n\t"
  6954. "adcs x4, x4, x7\n\t"
  6955. "umulh x7, x12, x16\n\t"
  6956. "adc x5, x5, xzr\n\t"
  6957. "adds x3, x3, x6\n\t"
  6958. "# A[5] * B[1]\n\t"
  6959. "mul x6, x13, x15\n\t"
  6960. "adcs x4, x4, x7\n\t"
  6961. "umulh x7, x13, x15\n\t"
  6962. "adc x5, x5, xzr\n\t"
  6963. "adds x3, x3, x6\n\t"
  6964. "adcs x4, x4, x7\n\t"
  6965. "str x3, [%[r], 48]\n\t"
  6966. "adc x5, x5, xzr\n\t"
  6967. "# A[2] * B[5]\n\t"
  6968. "mul x6, x10, x20\n\t"
  6969. "umulh x7, x10, x20\n\t"
  6970. "adds x4, x4, x6\n\t"
  6971. "# A[3] * B[4]\n\t"
  6972. "mul x6, x11, x19\n\t"
  6973. "adcs x5, x5, x7\n\t"
  6974. "umulh x7, x11, x19\n\t"
  6975. "adc x3, xzr, xzr\n\t"
  6976. "adds x4, x4, x6\n\t"
  6977. "# A[4] * B[3]\n\t"
  6978. "mul x6, x12, x17\n\t"
  6979. "adcs x5, x5, x7\n\t"
  6980. "umulh x7, x12, x17\n\t"
  6981. "adc x3, x3, xzr\n\t"
  6982. "adds x4, x4, x6\n\t"
  6983. "# A[5] * B[2]\n\t"
  6984. "mul x6, x13, x16\n\t"
  6985. "adcs x5, x5, x7\n\t"
  6986. "umulh x7, x13, x16\n\t"
  6987. "adc x3, x3, xzr\n\t"
  6988. "adds x4, x4, x6\n\t"
  6989. "adcs x5, x5, x7\n\t"
  6990. "str x4, [%[r], 56]\n\t"
  6991. "adc x3, x3, xzr\n\t"
  6992. "# A[3] * B[5]\n\t"
  6993. "mul x6, x11, x20\n\t"
  6994. "umulh x7, x11, x20\n\t"
  6995. "adds x5, x5, x6\n\t"
  6996. "# A[4] * B[4]\n\t"
  6997. "mul x6, x12, x19\n\t"
  6998. "adcs x3, x3, x7\n\t"
  6999. "umulh x7, x12, x19\n\t"
  7000. "adc x4, xzr, xzr\n\t"
  7001. "adds x5, x5, x6\n\t"
  7002. "# A[5] * B[3]\n\t"
  7003. "mul x6, x13, x17\n\t"
  7004. "adcs x3, x3, x7\n\t"
  7005. "umulh x7, x13, x17\n\t"
  7006. "adc x4, x4, xzr\n\t"
  7007. "adds x5, x5, x6\n\t"
  7008. "adcs x3, x3, x7\n\t"
  7009. "str x5, [%[r], 64]\n\t"
  7010. "adc x4, x4, xzr\n\t"
  7011. "# A[4] * B[5]\n\t"
  7012. "mul x6, x12, x20\n\t"
  7013. "umulh x7, x12, x20\n\t"
  7014. "adds x3, x3, x6\n\t"
  7015. "# A[5] * B[4]\n\t"
  7016. "mul x6, x13, x19\n\t"
  7017. "adcs x4, x4, x7\n\t"
  7018. "umulh x7, x13, x19\n\t"
  7019. "adc x5, xzr, xzr\n\t"
  7020. "adds x3, x3, x6\n\t"
  7021. "adcs x4, x4, x7\n\t"
  7022. "str x3, [%[r], 72]\n\t"
  7023. "adc x5, x5, xzr\n\t"
  7024. "# A[5] * B[5]\n\t"
  7025. "mul x6, x13, x20\n\t"
  7026. "umulh x7, x13, x20\n\t"
  7027. "adds x4, x4, x6\n\t"
  7028. "adc x5, x5, x7\n\t"
  7029. "stp x4, x5, [%[r], 80]\n\t"
  7030. :
  7031. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  7032. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20"
  7033. );
  7034. }
  7035. /* Add b to a into r. (r = a + b)
  7036. *
  7037. * r A single precision integer.
  7038. * a A single precision integer.
  7039. * b A single precision integer.
  7040. */
  7041. static sp_digit sp_3072_add_6(sp_digit* r, const sp_digit* a,
  7042. const sp_digit* b)
  7043. {
  7044. __asm__ __volatile__ (
  7045. "ldp x3, x4, [%[a], 0]\n\t"
  7046. "ldp x7, x8, [%[b], 0]\n\t"
  7047. "adds x3, x3, x7\n\t"
  7048. "ldp x5, x6, [%[a], 16]\n\t"
  7049. "adcs x4, x4, x8\n\t"
  7050. "ldp x9, x10, [%[b], 16]\n\t"
  7051. "adcs x5, x5, x9\n\t"
  7052. "stp x3, x4, [%[r], 0]\n\t"
  7053. "adcs x6, x6, x10\n\t"
  7054. "stp x5, x6, [%[r], 16]\n\t"
  7055. "ldr x3, [%[a], 32]\n\t"
  7056. "ldr x4, [%[a], 40]\n\t"
  7057. "ldr x7, [%[b], 32]\n\t"
  7058. "ldr x8, [%[b], 40]\n\t"
  7059. "adcs x3, x3, x7\n\t"
  7060. "adcs x4, x4, x8\n\t"
  7061. "str x3, [%[r], 32]\n\t"
  7062. "str x4, [%[r], 40]\n\t"
  7063. "cset %[r], cs\n\t"
  7064. : [r] "+r" (r)
  7065. : [a] "r" (a), [b] "r" (b)
  7066. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  7067. );
  7068. return (sp_digit)r;
  7069. }
  7070. /* Add digit to a into r. (r = a + b)
  7071. *
  7072. * r A single precision integer.
  7073. * a A single precision integer.
  7074. * b A single precision integer.
  7075. */
  7076. static void sp_3072_add_word_6(sp_digit* r, const sp_digit* a,
  7077. sp_digit b)
  7078. {
  7079. __asm__ __volatile__ (
  7080. "ldp x3, x4, [%[a], 0]\n\t"
  7081. "ldp x5, x6, [%[a], 16]\n\t"
  7082. "adds x3, x3, %[b]\n\t"
  7083. "adcs x4, x4, xzr\n\t"
  7084. "adcs x5, x5, xzr\n\t"
  7085. "stp x3, x4, [%[r], 0]\n\t"
  7086. "adcs x6, x6, xzr\n\t"
  7087. "stp x5, x6, [%[r], 16]\n\t"
  7088. "ldr x3, [%[a], 32]\n\t"
  7089. "ldr x4, [%[a], 40]\n\t"
  7090. "adcs x3, x3, xzr\n\t"
  7091. "adcs x4, x4, xzr\n\t"
  7092. "str x3, [%[r], 32]\n\t"
  7093. "str x4, [%[r], 40]\n\t"
  7094. :
  7095. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  7096. : "memory", "x3", "x4", "x5", "x6"
  7097. );
  7098. }
  7099. /* Sub b from a into a. (a -= b)
  7100. *
  7101. * a A single precision integer and result.
  7102. * b A single precision integer.
  7103. */
  7104. static sp_digit sp_3072_sub_in_place_12(sp_digit* a, const sp_digit* b)
  7105. {
  7106. __asm__ __volatile__ (
  7107. "ldp x2, x3, [%[a], 0]\n\t"
  7108. "ldp x6, x7, [%[b], 0]\n\t"
  7109. "subs x2, x2, x6\n\t"
  7110. "ldp x4, x5, [%[a], 16]\n\t"
  7111. "sbcs x3, x3, x7\n\t"
  7112. "ldp x8, x9, [%[b], 16]\n\t"
  7113. "sbcs x4, x4, x8\n\t"
  7114. "stp x2, x3, [%[a], 0]\n\t"
  7115. "sbcs x5, x5, x9\n\t"
  7116. "stp x4, x5, [%[a], 16]\n\t"
  7117. "ldp x2, x3, [%[a], 32]\n\t"
  7118. "ldp x6, x7, [%[b], 32]\n\t"
  7119. "sbcs x2, x2, x6\n\t"
  7120. "ldp x4, x5, [%[a], 48]\n\t"
  7121. "sbcs x3, x3, x7\n\t"
  7122. "ldp x8, x9, [%[b], 48]\n\t"
  7123. "sbcs x4, x4, x8\n\t"
  7124. "stp x2, x3, [%[a], 32]\n\t"
  7125. "sbcs x5, x5, x9\n\t"
  7126. "stp x4, x5, [%[a], 48]\n\t"
  7127. "ldp x2, x3, [%[a], 64]\n\t"
  7128. "ldp x6, x7, [%[b], 64]\n\t"
  7129. "sbcs x2, x2, x6\n\t"
  7130. "ldp x4, x5, [%[a], 80]\n\t"
  7131. "sbcs x3, x3, x7\n\t"
  7132. "ldp x8, x9, [%[b], 80]\n\t"
  7133. "sbcs x4, x4, x8\n\t"
  7134. "stp x2, x3, [%[a], 64]\n\t"
  7135. "sbcs x5, x5, x9\n\t"
  7136. "stp x4, x5, [%[a], 80]\n\t"
  7137. "csetm %[a], cc\n\t"
  7138. : [a] "+r" (a)
  7139. : [b] "r" (b)
  7140. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  7141. );
  7142. return (sp_digit)a;
  7143. }
  7144. /* Add b to a into r. (r = a + b)
  7145. *
  7146. * r A single precision integer.
  7147. * a A single precision integer.
  7148. * b A single precision integer.
  7149. */
  7150. static sp_digit sp_3072_add_12(sp_digit* r, const sp_digit* a,
  7151. const sp_digit* b)
  7152. {
  7153. __asm__ __volatile__ (
  7154. "ldp x3, x4, [%[a], 0]\n\t"
  7155. "ldp x7, x8, [%[b], 0]\n\t"
  7156. "adds x3, x3, x7\n\t"
  7157. "ldp x5, x6, [%[a], 16]\n\t"
  7158. "adcs x4, x4, x8\n\t"
  7159. "ldp x9, x10, [%[b], 16]\n\t"
  7160. "adcs x5, x5, x9\n\t"
  7161. "stp x3, x4, [%[r], 0]\n\t"
  7162. "adcs x6, x6, x10\n\t"
  7163. "stp x5, x6, [%[r], 16]\n\t"
  7164. "ldp x3, x4, [%[a], 32]\n\t"
  7165. "ldp x7, x8, [%[b], 32]\n\t"
  7166. "adcs x3, x3, x7\n\t"
  7167. "ldp x5, x6, [%[a], 48]\n\t"
  7168. "adcs x4, x4, x8\n\t"
  7169. "ldp x9, x10, [%[b], 48]\n\t"
  7170. "adcs x5, x5, x9\n\t"
  7171. "stp x3, x4, [%[r], 32]\n\t"
  7172. "adcs x6, x6, x10\n\t"
  7173. "stp x5, x6, [%[r], 48]\n\t"
  7174. "ldp x3, x4, [%[a], 64]\n\t"
  7175. "ldp x7, x8, [%[b], 64]\n\t"
  7176. "adcs x3, x3, x7\n\t"
  7177. "ldp x5, x6, [%[a], 80]\n\t"
  7178. "adcs x4, x4, x8\n\t"
  7179. "ldp x9, x10, [%[b], 80]\n\t"
  7180. "adcs x5, x5, x9\n\t"
  7181. "stp x3, x4, [%[r], 64]\n\t"
  7182. "adcs x6, x6, x10\n\t"
  7183. "stp x5, x6, [%[r], 80]\n\t"
  7184. "cset %[r], cs\n\t"
  7185. : [r] "+r" (r)
  7186. : [a] "r" (a), [b] "r" (b)
  7187. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  7188. );
  7189. return (sp_digit)r;
  7190. }
  7191. #ifndef WOLFSSL_SP_SMALL
  7192. /* Conditionally add a and b using the mask m.
  7193. * m is -1 to add and 0 when not.
  7194. *
  7195. * r A single precision number representing conditional add result.
  7196. * a A single precision number to add with.
  7197. * b A single precision number to add.
  7198. * m Mask value to apply.
  7199. */
  7200. static sp_digit sp_3072_cond_add_6(sp_digit* r, const sp_digit* a, const sp_digit* b,
  7201. sp_digit m)
  7202. {
  7203. __asm__ __volatile__ (
  7204. "ldp x8, x9, [%[b], 0]\n\t"
  7205. "ldp x10, x11, [%[b], 16]\n\t"
  7206. "ldp x4, x5, [%[a], 0]\n\t"
  7207. "and x8, x8, %[m]\n\t"
  7208. "ldp x6, x7, [%[a], 16]\n\t"
  7209. "and x9, x9, %[m]\n\t"
  7210. "adds x4, x4, x8\n\t"
  7211. "and x10, x10, %[m]\n\t"
  7212. "adcs x5, x5, x9\n\t"
  7213. "and x11, x11, %[m]\n\t"
  7214. "adcs x6, x6, x10\n\t"
  7215. "stp x4, x5, [%[r], 0]\n\t"
  7216. "adcs x7, x7, x11\n\t"
  7217. "stp x6, x7, [%[r], 16]\n\t"
  7218. "ldp x8, x9, [%[b], 32]\n\t"
  7219. "ldp x4, x5, [%[a], 32]\n\t"
  7220. "and x8, x8, %[m]\n\t"
  7221. "and x9, x9, %[m]\n\t"
  7222. "adcs x4, x4, x8\n\t"
  7223. "adcs x5, x5, x9\n\t"
  7224. "stp x4, x5, [%[r], 32]\n\t"
  7225. "cset %[r], cs\n\t"
  7226. : [r] "+r" (r)
  7227. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  7228. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  7229. );
  7230. return (sp_digit)r;
  7231. }
  7232. #endif /* !WOLFSSL_SP_SMALL */
  7233. /* Multiply a and b into r. (r = a * b)
  7234. *
  7235. * r A single precision integer.
  7236. * a A single precision integer.
  7237. * b A single precision integer.
  7238. */
  7239. SP_NOINLINE static void sp_3072_mul_12(sp_digit* r, const sp_digit* a,
  7240. const sp_digit* b)
  7241. {
  7242. sp_digit* z0 = r;
  7243. sp_digit z1[12];
  7244. sp_digit a1[6];
  7245. sp_digit b1[6];
  7246. sp_digit* z2 = r + 12;
  7247. sp_digit u;
  7248. sp_digit ca;
  7249. sp_digit cb;
  7250. ca = sp_3072_add_6(a1, a, &a[6]);
  7251. cb = sp_3072_add_6(b1, b, &b[6]);
  7252. u = ca & cb;
  7253. sp_3072_mul_6(z2, &a[6], &b[6]);
  7254. sp_3072_mul_6(z0, a, b);
  7255. sp_3072_mul_6(z1, a1, b1);
  7256. u += sp_3072_sub_in_place_12(z1, z0);
  7257. u += sp_3072_sub_in_place_12(z1, z2);
  7258. u += sp_3072_cond_add_6(z1 + 6, z1 + 6, a1, 0 - cb);
  7259. u += sp_3072_cond_add_6(z1 + 6, z1 + 6, b1, 0 - ca);
  7260. u += sp_3072_add_12(r + 6, r + 6, z1);
  7261. (void)sp_3072_add_word_6(r + 18, r + 18, u);
  7262. }
  7263. /* Add digit to a into r. (r = a + b)
  7264. *
  7265. * r A single precision integer.
  7266. * a A single precision integer.
  7267. * b A single precision integer.
  7268. */
  7269. static void sp_3072_add_word_12(sp_digit* r, const sp_digit* a,
  7270. sp_digit b)
  7271. {
  7272. __asm__ __volatile__ (
  7273. "ldp x3, x4, [%[a], 0]\n\t"
  7274. "ldp x5, x6, [%[a], 16]\n\t"
  7275. "adds x3, x3, %[b]\n\t"
  7276. "adcs x4, x4, xzr\n\t"
  7277. "adcs x5, x5, xzr\n\t"
  7278. "stp x3, x4, [%[r], 0]\n\t"
  7279. "adcs x6, x6, xzr\n\t"
  7280. "stp x5, x6, [%[r], 16]\n\t"
  7281. "ldp x3, x4, [%[a], 32]\n\t"
  7282. "ldp x5, x6, [%[a], 48]\n\t"
  7283. "adcs x3, x3, xzr\n\t"
  7284. "adcs x4, x4, xzr\n\t"
  7285. "adcs x5, x5, xzr\n\t"
  7286. "stp x3, x4, [%[r], 32]\n\t"
  7287. "adcs x6, x6, xzr\n\t"
  7288. "stp x5, x6, [%[r], 48]\n\t"
  7289. "ldp x3, x4, [%[a], 64]\n\t"
  7290. "ldp x5, x6, [%[a], 80]\n\t"
  7291. "adcs x3, x3, xzr\n\t"
  7292. "adcs x4, x4, xzr\n\t"
  7293. "adcs x5, x5, xzr\n\t"
  7294. "stp x3, x4, [%[r], 64]\n\t"
  7295. "adcs x6, x6, xzr\n\t"
  7296. "stp x5, x6, [%[r], 80]\n\t"
  7297. :
  7298. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  7299. : "memory", "x3", "x4", "x5", "x6"
  7300. );
  7301. }
  7302. /* Sub b from a into a. (a -= b)
  7303. *
  7304. * a A single precision integer and result.
  7305. * b A single precision integer.
  7306. */
  7307. static sp_digit sp_3072_sub_in_place_24(sp_digit* a, const sp_digit* b)
  7308. {
  7309. __asm__ __volatile__ (
  7310. "ldp x2, x3, [%[a], 0]\n\t"
  7311. "ldp x6, x7, [%[b], 0]\n\t"
  7312. "subs x2, x2, x6\n\t"
  7313. "ldp x4, x5, [%[a], 16]\n\t"
  7314. "sbcs x3, x3, x7\n\t"
  7315. "ldp x8, x9, [%[b], 16]\n\t"
  7316. "sbcs x4, x4, x8\n\t"
  7317. "stp x2, x3, [%[a], 0]\n\t"
  7318. "sbcs x5, x5, x9\n\t"
  7319. "stp x4, x5, [%[a], 16]\n\t"
  7320. "ldp x2, x3, [%[a], 32]\n\t"
  7321. "ldp x6, x7, [%[b], 32]\n\t"
  7322. "sbcs x2, x2, x6\n\t"
  7323. "ldp x4, x5, [%[a], 48]\n\t"
  7324. "sbcs x3, x3, x7\n\t"
  7325. "ldp x8, x9, [%[b], 48]\n\t"
  7326. "sbcs x4, x4, x8\n\t"
  7327. "stp x2, x3, [%[a], 32]\n\t"
  7328. "sbcs x5, x5, x9\n\t"
  7329. "stp x4, x5, [%[a], 48]\n\t"
  7330. "ldp x2, x3, [%[a], 64]\n\t"
  7331. "ldp x6, x7, [%[b], 64]\n\t"
  7332. "sbcs x2, x2, x6\n\t"
  7333. "ldp x4, x5, [%[a], 80]\n\t"
  7334. "sbcs x3, x3, x7\n\t"
  7335. "ldp x8, x9, [%[b], 80]\n\t"
  7336. "sbcs x4, x4, x8\n\t"
  7337. "stp x2, x3, [%[a], 64]\n\t"
  7338. "sbcs x5, x5, x9\n\t"
  7339. "stp x4, x5, [%[a], 80]\n\t"
  7340. "ldp x2, x3, [%[a], 96]\n\t"
  7341. "ldp x6, x7, [%[b], 96]\n\t"
  7342. "sbcs x2, x2, x6\n\t"
  7343. "ldp x4, x5, [%[a], 112]\n\t"
  7344. "sbcs x3, x3, x7\n\t"
  7345. "ldp x8, x9, [%[b], 112]\n\t"
  7346. "sbcs x4, x4, x8\n\t"
  7347. "stp x2, x3, [%[a], 96]\n\t"
  7348. "sbcs x5, x5, x9\n\t"
  7349. "stp x4, x5, [%[a], 112]\n\t"
  7350. "ldp x2, x3, [%[a], 128]\n\t"
  7351. "ldp x6, x7, [%[b], 128]\n\t"
  7352. "sbcs x2, x2, x6\n\t"
  7353. "ldp x4, x5, [%[a], 144]\n\t"
  7354. "sbcs x3, x3, x7\n\t"
  7355. "ldp x8, x9, [%[b], 144]\n\t"
  7356. "sbcs x4, x4, x8\n\t"
  7357. "stp x2, x3, [%[a], 128]\n\t"
  7358. "sbcs x5, x5, x9\n\t"
  7359. "stp x4, x5, [%[a], 144]\n\t"
  7360. "ldp x2, x3, [%[a], 160]\n\t"
  7361. "ldp x6, x7, [%[b], 160]\n\t"
  7362. "sbcs x2, x2, x6\n\t"
  7363. "ldp x4, x5, [%[a], 176]\n\t"
  7364. "sbcs x3, x3, x7\n\t"
  7365. "ldp x8, x9, [%[b], 176]\n\t"
  7366. "sbcs x4, x4, x8\n\t"
  7367. "stp x2, x3, [%[a], 160]\n\t"
  7368. "sbcs x5, x5, x9\n\t"
  7369. "stp x4, x5, [%[a], 176]\n\t"
  7370. "csetm %[a], cc\n\t"
  7371. : [a] "+r" (a)
  7372. : [b] "r" (b)
  7373. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  7374. );
  7375. return (sp_digit)a;
  7376. }
  7377. /* Add b to a into r. (r = a + b)
  7378. *
  7379. * r A single precision integer.
  7380. * a A single precision integer.
  7381. * b A single precision integer.
  7382. */
  7383. static sp_digit sp_3072_add_24(sp_digit* r, const sp_digit* a,
  7384. const sp_digit* b)
  7385. {
  7386. __asm__ __volatile__ (
  7387. "ldp x3, x4, [%[a], 0]\n\t"
  7388. "ldp x7, x8, [%[b], 0]\n\t"
  7389. "adds x3, x3, x7\n\t"
  7390. "ldp x5, x6, [%[a], 16]\n\t"
  7391. "adcs x4, x4, x8\n\t"
  7392. "ldp x9, x10, [%[b], 16]\n\t"
  7393. "adcs x5, x5, x9\n\t"
  7394. "stp x3, x4, [%[r], 0]\n\t"
  7395. "adcs x6, x6, x10\n\t"
  7396. "stp x5, x6, [%[r], 16]\n\t"
  7397. "ldp x3, x4, [%[a], 32]\n\t"
  7398. "ldp x7, x8, [%[b], 32]\n\t"
  7399. "adcs x3, x3, x7\n\t"
  7400. "ldp x5, x6, [%[a], 48]\n\t"
  7401. "adcs x4, x4, x8\n\t"
  7402. "ldp x9, x10, [%[b], 48]\n\t"
  7403. "adcs x5, x5, x9\n\t"
  7404. "stp x3, x4, [%[r], 32]\n\t"
  7405. "adcs x6, x6, x10\n\t"
  7406. "stp x5, x6, [%[r], 48]\n\t"
  7407. "ldp x3, x4, [%[a], 64]\n\t"
  7408. "ldp x7, x8, [%[b], 64]\n\t"
  7409. "adcs x3, x3, x7\n\t"
  7410. "ldp x5, x6, [%[a], 80]\n\t"
  7411. "adcs x4, x4, x8\n\t"
  7412. "ldp x9, x10, [%[b], 80]\n\t"
  7413. "adcs x5, x5, x9\n\t"
  7414. "stp x3, x4, [%[r], 64]\n\t"
  7415. "adcs x6, x6, x10\n\t"
  7416. "stp x5, x6, [%[r], 80]\n\t"
  7417. "ldp x3, x4, [%[a], 96]\n\t"
  7418. "ldp x7, x8, [%[b], 96]\n\t"
  7419. "adcs x3, x3, x7\n\t"
  7420. "ldp x5, x6, [%[a], 112]\n\t"
  7421. "adcs x4, x4, x8\n\t"
  7422. "ldp x9, x10, [%[b], 112]\n\t"
  7423. "adcs x5, x5, x9\n\t"
  7424. "stp x3, x4, [%[r], 96]\n\t"
  7425. "adcs x6, x6, x10\n\t"
  7426. "stp x5, x6, [%[r], 112]\n\t"
  7427. "ldp x3, x4, [%[a], 128]\n\t"
  7428. "ldp x7, x8, [%[b], 128]\n\t"
  7429. "adcs x3, x3, x7\n\t"
  7430. "ldp x5, x6, [%[a], 144]\n\t"
  7431. "adcs x4, x4, x8\n\t"
  7432. "ldp x9, x10, [%[b], 144]\n\t"
  7433. "adcs x5, x5, x9\n\t"
  7434. "stp x3, x4, [%[r], 128]\n\t"
  7435. "adcs x6, x6, x10\n\t"
  7436. "stp x5, x6, [%[r], 144]\n\t"
  7437. "ldp x3, x4, [%[a], 160]\n\t"
  7438. "ldp x7, x8, [%[b], 160]\n\t"
  7439. "adcs x3, x3, x7\n\t"
  7440. "ldp x5, x6, [%[a], 176]\n\t"
  7441. "adcs x4, x4, x8\n\t"
  7442. "ldp x9, x10, [%[b], 176]\n\t"
  7443. "adcs x5, x5, x9\n\t"
  7444. "stp x3, x4, [%[r], 160]\n\t"
  7445. "adcs x6, x6, x10\n\t"
  7446. "stp x5, x6, [%[r], 176]\n\t"
  7447. "cset %[r], cs\n\t"
  7448. : [r] "+r" (r)
  7449. : [a] "r" (a), [b] "r" (b)
  7450. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  7451. );
  7452. return (sp_digit)r;
  7453. }
  7454. #ifndef WOLFSSL_SP_SMALL
  7455. /* Conditionally add a and b using the mask m.
  7456. * m is -1 to add and 0 when not.
  7457. *
  7458. * r A single precision number representing conditional add result.
  7459. * a A single precision number to add with.
  7460. * b A single precision number to add.
  7461. * m Mask value to apply.
  7462. */
  7463. static sp_digit sp_3072_cond_add_12(sp_digit* r, const sp_digit* a, const sp_digit* b,
  7464. sp_digit m)
  7465. {
  7466. __asm__ __volatile__ (
  7467. "ldp x8, x9, [%[b], 0]\n\t"
  7468. "ldp x10, x11, [%[b], 16]\n\t"
  7469. "ldp x4, x5, [%[a], 0]\n\t"
  7470. "and x8, x8, %[m]\n\t"
  7471. "ldp x6, x7, [%[a], 16]\n\t"
  7472. "and x9, x9, %[m]\n\t"
  7473. "adds x4, x4, x8\n\t"
  7474. "and x10, x10, %[m]\n\t"
  7475. "adcs x5, x5, x9\n\t"
  7476. "and x11, x11, %[m]\n\t"
  7477. "adcs x6, x6, x10\n\t"
  7478. "stp x4, x5, [%[r], 0]\n\t"
  7479. "adcs x7, x7, x11\n\t"
  7480. "stp x6, x7, [%[r], 16]\n\t"
  7481. "ldp x8, x9, [%[b], 32]\n\t"
  7482. "ldp x10, x11, [%[b], 48]\n\t"
  7483. "ldp x4, x5, [%[a], 32]\n\t"
  7484. "and x8, x8, %[m]\n\t"
  7485. "ldp x6, x7, [%[a], 48]\n\t"
  7486. "and x9, x9, %[m]\n\t"
  7487. "adcs x4, x4, x8\n\t"
  7488. "and x10, x10, %[m]\n\t"
  7489. "adcs x5, x5, x9\n\t"
  7490. "and x11, x11, %[m]\n\t"
  7491. "adcs x6, x6, x10\n\t"
  7492. "stp x4, x5, [%[r], 32]\n\t"
  7493. "adcs x7, x7, x11\n\t"
  7494. "stp x6, x7, [%[r], 48]\n\t"
  7495. "ldp x8, x9, [%[b], 64]\n\t"
  7496. "ldp x10, x11, [%[b], 80]\n\t"
  7497. "ldp x4, x5, [%[a], 64]\n\t"
  7498. "and x8, x8, %[m]\n\t"
  7499. "ldp x6, x7, [%[a], 80]\n\t"
  7500. "and x9, x9, %[m]\n\t"
  7501. "adcs x4, x4, x8\n\t"
  7502. "and x10, x10, %[m]\n\t"
  7503. "adcs x5, x5, x9\n\t"
  7504. "and x11, x11, %[m]\n\t"
  7505. "adcs x6, x6, x10\n\t"
  7506. "stp x4, x5, [%[r], 64]\n\t"
  7507. "adcs x7, x7, x11\n\t"
  7508. "stp x6, x7, [%[r], 80]\n\t"
  7509. "cset %[r], cs\n\t"
  7510. : [r] "+r" (r)
  7511. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  7512. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  7513. );
  7514. return (sp_digit)r;
  7515. }
  7516. #endif /* !WOLFSSL_SP_SMALL */
  7517. /* Multiply a and b into r. (r = a * b)
  7518. *
  7519. * r A single precision integer.
  7520. * a A single precision integer.
  7521. * b A single precision integer.
  7522. */
  7523. SP_NOINLINE static void sp_3072_mul_24(sp_digit* r, const sp_digit* a,
  7524. const sp_digit* b)
  7525. {
  7526. sp_digit* z0 = r;
  7527. sp_digit z1[24];
  7528. sp_digit a1[12];
  7529. sp_digit b1[12];
  7530. sp_digit* z2 = r + 24;
  7531. sp_digit u;
  7532. sp_digit ca;
  7533. sp_digit cb;
  7534. ca = sp_3072_add_12(a1, a, &a[12]);
  7535. cb = sp_3072_add_12(b1, b, &b[12]);
  7536. u = ca & cb;
  7537. sp_3072_mul_12(z2, &a[12], &b[12]);
  7538. sp_3072_mul_12(z0, a, b);
  7539. sp_3072_mul_12(z1, a1, b1);
  7540. u += sp_3072_sub_in_place_24(z1, z0);
  7541. u += sp_3072_sub_in_place_24(z1, z2);
  7542. u += sp_3072_cond_add_12(z1 + 12, z1 + 12, a1, 0 - cb);
  7543. u += sp_3072_cond_add_12(z1 + 12, z1 + 12, b1, 0 - ca);
  7544. u += sp_3072_add_24(r + 12, r + 12, z1);
  7545. (void)sp_3072_add_word_12(r + 36, r + 36, u);
  7546. }
  7547. /* Add digit to a into r. (r = a + b)
  7548. *
  7549. * r A single precision integer.
  7550. * a A single precision integer.
  7551. * b A single precision integer.
  7552. */
  7553. static void sp_3072_add_word_24(sp_digit* r, const sp_digit* a,
  7554. sp_digit b)
  7555. {
  7556. __asm__ __volatile__ (
  7557. "ldp x3, x4, [%[a], 0]\n\t"
  7558. "ldp x5, x6, [%[a], 16]\n\t"
  7559. "adds x3, x3, %[b]\n\t"
  7560. "adcs x4, x4, xzr\n\t"
  7561. "adcs x5, x5, xzr\n\t"
  7562. "stp x3, x4, [%[r], 0]\n\t"
  7563. "adcs x6, x6, xzr\n\t"
  7564. "stp x5, x6, [%[r], 16]\n\t"
  7565. "ldp x3, x4, [%[a], 32]\n\t"
  7566. "ldp x5, x6, [%[a], 48]\n\t"
  7567. "adcs x3, x3, xzr\n\t"
  7568. "adcs x4, x4, xzr\n\t"
  7569. "adcs x5, x5, xzr\n\t"
  7570. "stp x3, x4, [%[r], 32]\n\t"
  7571. "adcs x6, x6, xzr\n\t"
  7572. "stp x5, x6, [%[r], 48]\n\t"
  7573. "ldp x3, x4, [%[a], 64]\n\t"
  7574. "ldp x5, x6, [%[a], 80]\n\t"
  7575. "adcs x3, x3, xzr\n\t"
  7576. "adcs x4, x4, xzr\n\t"
  7577. "adcs x5, x5, xzr\n\t"
  7578. "stp x3, x4, [%[r], 64]\n\t"
  7579. "adcs x6, x6, xzr\n\t"
  7580. "stp x5, x6, [%[r], 80]\n\t"
  7581. "ldp x3, x4, [%[a], 96]\n\t"
  7582. "ldp x5, x6, [%[a], 112]\n\t"
  7583. "adcs x3, x3, xzr\n\t"
  7584. "adcs x4, x4, xzr\n\t"
  7585. "adcs x5, x5, xzr\n\t"
  7586. "stp x3, x4, [%[r], 96]\n\t"
  7587. "adcs x6, x6, xzr\n\t"
  7588. "stp x5, x6, [%[r], 112]\n\t"
  7589. "ldp x3, x4, [%[a], 128]\n\t"
  7590. "ldp x5, x6, [%[a], 144]\n\t"
  7591. "adcs x3, x3, xzr\n\t"
  7592. "adcs x4, x4, xzr\n\t"
  7593. "adcs x5, x5, xzr\n\t"
  7594. "stp x3, x4, [%[r], 128]\n\t"
  7595. "adcs x6, x6, xzr\n\t"
  7596. "stp x5, x6, [%[r], 144]\n\t"
  7597. "ldp x3, x4, [%[a], 160]\n\t"
  7598. "ldp x5, x6, [%[a], 176]\n\t"
  7599. "adcs x3, x3, xzr\n\t"
  7600. "adcs x4, x4, xzr\n\t"
  7601. "adcs x5, x5, xzr\n\t"
  7602. "stp x3, x4, [%[r], 160]\n\t"
  7603. "adcs x6, x6, xzr\n\t"
  7604. "stp x5, x6, [%[r], 176]\n\t"
  7605. :
  7606. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  7607. : "memory", "x3", "x4", "x5", "x6"
  7608. );
  7609. }
  7610. /* Sub b from a into a. (a -= b)
  7611. *
  7612. * a A single precision integer and result.
  7613. * b A single precision integer.
  7614. */
  7615. static sp_digit sp_3072_sub_in_place_48(sp_digit* a, const sp_digit* b)
  7616. {
  7617. __asm__ __volatile__ (
  7618. "ldp x2, x3, [%[a], 0]\n\t"
  7619. "ldp x6, x7, [%[b], 0]\n\t"
  7620. "subs x2, x2, x6\n\t"
  7621. "ldp x4, x5, [%[a], 16]\n\t"
  7622. "sbcs x3, x3, x7\n\t"
  7623. "ldp x8, x9, [%[b], 16]\n\t"
  7624. "sbcs x4, x4, x8\n\t"
  7625. "stp x2, x3, [%[a], 0]\n\t"
  7626. "sbcs x5, x5, x9\n\t"
  7627. "stp x4, x5, [%[a], 16]\n\t"
  7628. "ldp x2, x3, [%[a], 32]\n\t"
  7629. "ldp x6, x7, [%[b], 32]\n\t"
  7630. "sbcs x2, x2, x6\n\t"
  7631. "ldp x4, x5, [%[a], 48]\n\t"
  7632. "sbcs x3, x3, x7\n\t"
  7633. "ldp x8, x9, [%[b], 48]\n\t"
  7634. "sbcs x4, x4, x8\n\t"
  7635. "stp x2, x3, [%[a], 32]\n\t"
  7636. "sbcs x5, x5, x9\n\t"
  7637. "stp x4, x5, [%[a], 48]\n\t"
  7638. "ldp x2, x3, [%[a], 64]\n\t"
  7639. "ldp x6, x7, [%[b], 64]\n\t"
  7640. "sbcs x2, x2, x6\n\t"
  7641. "ldp x4, x5, [%[a], 80]\n\t"
  7642. "sbcs x3, x3, x7\n\t"
  7643. "ldp x8, x9, [%[b], 80]\n\t"
  7644. "sbcs x4, x4, x8\n\t"
  7645. "stp x2, x3, [%[a], 64]\n\t"
  7646. "sbcs x5, x5, x9\n\t"
  7647. "stp x4, x5, [%[a], 80]\n\t"
  7648. "ldp x2, x3, [%[a], 96]\n\t"
  7649. "ldp x6, x7, [%[b], 96]\n\t"
  7650. "sbcs x2, x2, x6\n\t"
  7651. "ldp x4, x5, [%[a], 112]\n\t"
  7652. "sbcs x3, x3, x7\n\t"
  7653. "ldp x8, x9, [%[b], 112]\n\t"
  7654. "sbcs x4, x4, x8\n\t"
  7655. "stp x2, x3, [%[a], 96]\n\t"
  7656. "sbcs x5, x5, x9\n\t"
  7657. "stp x4, x5, [%[a], 112]\n\t"
  7658. "ldp x2, x3, [%[a], 128]\n\t"
  7659. "ldp x6, x7, [%[b], 128]\n\t"
  7660. "sbcs x2, x2, x6\n\t"
  7661. "ldp x4, x5, [%[a], 144]\n\t"
  7662. "sbcs x3, x3, x7\n\t"
  7663. "ldp x8, x9, [%[b], 144]\n\t"
  7664. "sbcs x4, x4, x8\n\t"
  7665. "stp x2, x3, [%[a], 128]\n\t"
  7666. "sbcs x5, x5, x9\n\t"
  7667. "stp x4, x5, [%[a], 144]\n\t"
  7668. "ldp x2, x3, [%[a], 160]\n\t"
  7669. "ldp x6, x7, [%[b], 160]\n\t"
  7670. "sbcs x2, x2, x6\n\t"
  7671. "ldp x4, x5, [%[a], 176]\n\t"
  7672. "sbcs x3, x3, x7\n\t"
  7673. "ldp x8, x9, [%[b], 176]\n\t"
  7674. "sbcs x4, x4, x8\n\t"
  7675. "stp x2, x3, [%[a], 160]\n\t"
  7676. "sbcs x5, x5, x9\n\t"
  7677. "stp x4, x5, [%[a], 176]\n\t"
  7678. "ldp x2, x3, [%[a], 192]\n\t"
  7679. "ldp x6, x7, [%[b], 192]\n\t"
  7680. "sbcs x2, x2, x6\n\t"
  7681. "ldp x4, x5, [%[a], 208]\n\t"
  7682. "sbcs x3, x3, x7\n\t"
  7683. "ldp x8, x9, [%[b], 208]\n\t"
  7684. "sbcs x4, x4, x8\n\t"
  7685. "stp x2, x3, [%[a], 192]\n\t"
  7686. "sbcs x5, x5, x9\n\t"
  7687. "stp x4, x5, [%[a], 208]\n\t"
  7688. "ldp x2, x3, [%[a], 224]\n\t"
  7689. "ldp x6, x7, [%[b], 224]\n\t"
  7690. "sbcs x2, x2, x6\n\t"
  7691. "ldp x4, x5, [%[a], 240]\n\t"
  7692. "sbcs x3, x3, x7\n\t"
  7693. "ldp x8, x9, [%[b], 240]\n\t"
  7694. "sbcs x4, x4, x8\n\t"
  7695. "stp x2, x3, [%[a], 224]\n\t"
  7696. "sbcs x5, x5, x9\n\t"
  7697. "stp x4, x5, [%[a], 240]\n\t"
  7698. "ldp x2, x3, [%[a], 256]\n\t"
  7699. "ldp x6, x7, [%[b], 256]\n\t"
  7700. "sbcs x2, x2, x6\n\t"
  7701. "ldp x4, x5, [%[a], 272]\n\t"
  7702. "sbcs x3, x3, x7\n\t"
  7703. "ldp x8, x9, [%[b], 272]\n\t"
  7704. "sbcs x4, x4, x8\n\t"
  7705. "stp x2, x3, [%[a], 256]\n\t"
  7706. "sbcs x5, x5, x9\n\t"
  7707. "stp x4, x5, [%[a], 272]\n\t"
  7708. "ldp x2, x3, [%[a], 288]\n\t"
  7709. "ldp x6, x7, [%[b], 288]\n\t"
  7710. "sbcs x2, x2, x6\n\t"
  7711. "ldp x4, x5, [%[a], 304]\n\t"
  7712. "sbcs x3, x3, x7\n\t"
  7713. "ldp x8, x9, [%[b], 304]\n\t"
  7714. "sbcs x4, x4, x8\n\t"
  7715. "stp x2, x3, [%[a], 288]\n\t"
  7716. "sbcs x5, x5, x9\n\t"
  7717. "stp x4, x5, [%[a], 304]\n\t"
  7718. "ldp x2, x3, [%[a], 320]\n\t"
  7719. "ldp x6, x7, [%[b], 320]\n\t"
  7720. "sbcs x2, x2, x6\n\t"
  7721. "ldp x4, x5, [%[a], 336]\n\t"
  7722. "sbcs x3, x3, x7\n\t"
  7723. "ldp x8, x9, [%[b], 336]\n\t"
  7724. "sbcs x4, x4, x8\n\t"
  7725. "stp x2, x3, [%[a], 320]\n\t"
  7726. "sbcs x5, x5, x9\n\t"
  7727. "stp x4, x5, [%[a], 336]\n\t"
  7728. "ldp x2, x3, [%[a], 352]\n\t"
  7729. "ldp x6, x7, [%[b], 352]\n\t"
  7730. "sbcs x2, x2, x6\n\t"
  7731. "ldp x4, x5, [%[a], 368]\n\t"
  7732. "sbcs x3, x3, x7\n\t"
  7733. "ldp x8, x9, [%[b], 368]\n\t"
  7734. "sbcs x4, x4, x8\n\t"
  7735. "stp x2, x3, [%[a], 352]\n\t"
  7736. "sbcs x5, x5, x9\n\t"
  7737. "stp x4, x5, [%[a], 368]\n\t"
  7738. "csetm %[a], cc\n\t"
  7739. : [a] "+r" (a)
  7740. : [b] "r" (b)
  7741. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  7742. );
  7743. return (sp_digit)a;
  7744. }
  7745. /* Add b to a into r. (r = a + b)
  7746. *
  7747. * r A single precision integer.
  7748. * a A single precision integer.
  7749. * b A single precision integer.
  7750. */
  7751. static sp_digit sp_3072_add_48(sp_digit* r, const sp_digit* a,
  7752. const sp_digit* b)
  7753. {
  7754. __asm__ __volatile__ (
  7755. "ldp x3, x4, [%[a], 0]\n\t"
  7756. "ldp x7, x8, [%[b], 0]\n\t"
  7757. "adds x3, x3, x7\n\t"
  7758. "ldp x5, x6, [%[a], 16]\n\t"
  7759. "adcs x4, x4, x8\n\t"
  7760. "ldp x9, x10, [%[b], 16]\n\t"
  7761. "adcs x5, x5, x9\n\t"
  7762. "stp x3, x4, [%[r], 0]\n\t"
  7763. "adcs x6, x6, x10\n\t"
  7764. "stp x5, x6, [%[r], 16]\n\t"
  7765. "ldp x3, x4, [%[a], 32]\n\t"
  7766. "ldp x7, x8, [%[b], 32]\n\t"
  7767. "adcs x3, x3, x7\n\t"
  7768. "ldp x5, x6, [%[a], 48]\n\t"
  7769. "adcs x4, x4, x8\n\t"
  7770. "ldp x9, x10, [%[b], 48]\n\t"
  7771. "adcs x5, x5, x9\n\t"
  7772. "stp x3, x4, [%[r], 32]\n\t"
  7773. "adcs x6, x6, x10\n\t"
  7774. "stp x5, x6, [%[r], 48]\n\t"
  7775. "ldp x3, x4, [%[a], 64]\n\t"
  7776. "ldp x7, x8, [%[b], 64]\n\t"
  7777. "adcs x3, x3, x7\n\t"
  7778. "ldp x5, x6, [%[a], 80]\n\t"
  7779. "adcs x4, x4, x8\n\t"
  7780. "ldp x9, x10, [%[b], 80]\n\t"
  7781. "adcs x5, x5, x9\n\t"
  7782. "stp x3, x4, [%[r], 64]\n\t"
  7783. "adcs x6, x6, x10\n\t"
  7784. "stp x5, x6, [%[r], 80]\n\t"
  7785. "ldp x3, x4, [%[a], 96]\n\t"
  7786. "ldp x7, x8, [%[b], 96]\n\t"
  7787. "adcs x3, x3, x7\n\t"
  7788. "ldp x5, x6, [%[a], 112]\n\t"
  7789. "adcs x4, x4, x8\n\t"
  7790. "ldp x9, x10, [%[b], 112]\n\t"
  7791. "adcs x5, x5, x9\n\t"
  7792. "stp x3, x4, [%[r], 96]\n\t"
  7793. "adcs x6, x6, x10\n\t"
  7794. "stp x5, x6, [%[r], 112]\n\t"
  7795. "ldp x3, x4, [%[a], 128]\n\t"
  7796. "ldp x7, x8, [%[b], 128]\n\t"
  7797. "adcs x3, x3, x7\n\t"
  7798. "ldp x5, x6, [%[a], 144]\n\t"
  7799. "adcs x4, x4, x8\n\t"
  7800. "ldp x9, x10, [%[b], 144]\n\t"
  7801. "adcs x5, x5, x9\n\t"
  7802. "stp x3, x4, [%[r], 128]\n\t"
  7803. "adcs x6, x6, x10\n\t"
  7804. "stp x5, x6, [%[r], 144]\n\t"
  7805. "ldp x3, x4, [%[a], 160]\n\t"
  7806. "ldp x7, x8, [%[b], 160]\n\t"
  7807. "adcs x3, x3, x7\n\t"
  7808. "ldp x5, x6, [%[a], 176]\n\t"
  7809. "adcs x4, x4, x8\n\t"
  7810. "ldp x9, x10, [%[b], 176]\n\t"
  7811. "adcs x5, x5, x9\n\t"
  7812. "stp x3, x4, [%[r], 160]\n\t"
  7813. "adcs x6, x6, x10\n\t"
  7814. "stp x5, x6, [%[r], 176]\n\t"
  7815. "ldp x3, x4, [%[a], 192]\n\t"
  7816. "ldp x7, x8, [%[b], 192]\n\t"
  7817. "adcs x3, x3, x7\n\t"
  7818. "ldp x5, x6, [%[a], 208]\n\t"
  7819. "adcs x4, x4, x8\n\t"
  7820. "ldp x9, x10, [%[b], 208]\n\t"
  7821. "adcs x5, x5, x9\n\t"
  7822. "stp x3, x4, [%[r], 192]\n\t"
  7823. "adcs x6, x6, x10\n\t"
  7824. "stp x5, x6, [%[r], 208]\n\t"
  7825. "ldp x3, x4, [%[a], 224]\n\t"
  7826. "ldp x7, x8, [%[b], 224]\n\t"
  7827. "adcs x3, x3, x7\n\t"
  7828. "ldp x5, x6, [%[a], 240]\n\t"
  7829. "adcs x4, x4, x8\n\t"
  7830. "ldp x9, x10, [%[b], 240]\n\t"
  7831. "adcs x5, x5, x9\n\t"
  7832. "stp x3, x4, [%[r], 224]\n\t"
  7833. "adcs x6, x6, x10\n\t"
  7834. "stp x5, x6, [%[r], 240]\n\t"
  7835. "ldp x3, x4, [%[a], 256]\n\t"
  7836. "ldp x7, x8, [%[b], 256]\n\t"
  7837. "adcs x3, x3, x7\n\t"
  7838. "ldp x5, x6, [%[a], 272]\n\t"
  7839. "adcs x4, x4, x8\n\t"
  7840. "ldp x9, x10, [%[b], 272]\n\t"
  7841. "adcs x5, x5, x9\n\t"
  7842. "stp x3, x4, [%[r], 256]\n\t"
  7843. "adcs x6, x6, x10\n\t"
  7844. "stp x5, x6, [%[r], 272]\n\t"
  7845. "ldp x3, x4, [%[a], 288]\n\t"
  7846. "ldp x7, x8, [%[b], 288]\n\t"
  7847. "adcs x3, x3, x7\n\t"
  7848. "ldp x5, x6, [%[a], 304]\n\t"
  7849. "adcs x4, x4, x8\n\t"
  7850. "ldp x9, x10, [%[b], 304]\n\t"
  7851. "adcs x5, x5, x9\n\t"
  7852. "stp x3, x4, [%[r], 288]\n\t"
  7853. "adcs x6, x6, x10\n\t"
  7854. "stp x5, x6, [%[r], 304]\n\t"
  7855. "ldp x3, x4, [%[a], 320]\n\t"
  7856. "ldp x7, x8, [%[b], 320]\n\t"
  7857. "adcs x3, x3, x7\n\t"
  7858. "ldp x5, x6, [%[a], 336]\n\t"
  7859. "adcs x4, x4, x8\n\t"
  7860. "ldp x9, x10, [%[b], 336]\n\t"
  7861. "adcs x5, x5, x9\n\t"
  7862. "stp x3, x4, [%[r], 320]\n\t"
  7863. "adcs x6, x6, x10\n\t"
  7864. "stp x5, x6, [%[r], 336]\n\t"
  7865. "ldp x3, x4, [%[a], 352]\n\t"
  7866. "ldp x7, x8, [%[b], 352]\n\t"
  7867. "adcs x3, x3, x7\n\t"
  7868. "ldp x5, x6, [%[a], 368]\n\t"
  7869. "adcs x4, x4, x8\n\t"
  7870. "ldp x9, x10, [%[b], 368]\n\t"
  7871. "adcs x5, x5, x9\n\t"
  7872. "stp x3, x4, [%[r], 352]\n\t"
  7873. "adcs x6, x6, x10\n\t"
  7874. "stp x5, x6, [%[r], 368]\n\t"
  7875. "cset %[r], cs\n\t"
  7876. : [r] "+r" (r)
  7877. : [a] "r" (a), [b] "r" (b)
  7878. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  7879. );
  7880. return (sp_digit)r;
  7881. }
  7882. #ifndef WOLFSSL_SP_SMALL
  7883. /* Conditionally add a and b using the mask m.
  7884. * m is -1 to add and 0 when not.
  7885. *
  7886. * r A single precision number representing conditional add result.
  7887. * a A single precision number to add with.
  7888. * b A single precision number to add.
  7889. * m Mask value to apply.
  7890. */
  7891. static sp_digit sp_3072_cond_add_24(sp_digit* r, const sp_digit* a, const sp_digit* b,
  7892. sp_digit m)
  7893. {
  7894. __asm__ __volatile__ (
  7895. "ldp x8, x9, [%[b], 0]\n\t"
  7896. "ldp x10, x11, [%[b], 16]\n\t"
  7897. "ldp x4, x5, [%[a], 0]\n\t"
  7898. "and x8, x8, %[m]\n\t"
  7899. "ldp x6, x7, [%[a], 16]\n\t"
  7900. "and x9, x9, %[m]\n\t"
  7901. "adds x4, x4, x8\n\t"
  7902. "and x10, x10, %[m]\n\t"
  7903. "adcs x5, x5, x9\n\t"
  7904. "and x11, x11, %[m]\n\t"
  7905. "adcs x6, x6, x10\n\t"
  7906. "stp x4, x5, [%[r], 0]\n\t"
  7907. "adcs x7, x7, x11\n\t"
  7908. "stp x6, x7, [%[r], 16]\n\t"
  7909. "ldp x8, x9, [%[b], 32]\n\t"
  7910. "ldp x10, x11, [%[b], 48]\n\t"
  7911. "ldp x4, x5, [%[a], 32]\n\t"
  7912. "and x8, x8, %[m]\n\t"
  7913. "ldp x6, x7, [%[a], 48]\n\t"
  7914. "and x9, x9, %[m]\n\t"
  7915. "adcs x4, x4, x8\n\t"
  7916. "and x10, x10, %[m]\n\t"
  7917. "adcs x5, x5, x9\n\t"
  7918. "and x11, x11, %[m]\n\t"
  7919. "adcs x6, x6, x10\n\t"
  7920. "stp x4, x5, [%[r], 32]\n\t"
  7921. "adcs x7, x7, x11\n\t"
  7922. "stp x6, x7, [%[r], 48]\n\t"
  7923. "ldp x8, x9, [%[b], 64]\n\t"
  7924. "ldp x10, x11, [%[b], 80]\n\t"
  7925. "ldp x4, x5, [%[a], 64]\n\t"
  7926. "and x8, x8, %[m]\n\t"
  7927. "ldp x6, x7, [%[a], 80]\n\t"
  7928. "and x9, x9, %[m]\n\t"
  7929. "adcs x4, x4, x8\n\t"
  7930. "and x10, x10, %[m]\n\t"
  7931. "adcs x5, x5, x9\n\t"
  7932. "and x11, x11, %[m]\n\t"
  7933. "adcs x6, x6, x10\n\t"
  7934. "stp x4, x5, [%[r], 64]\n\t"
  7935. "adcs x7, x7, x11\n\t"
  7936. "stp x6, x7, [%[r], 80]\n\t"
  7937. "ldp x8, x9, [%[b], 96]\n\t"
  7938. "ldp x10, x11, [%[b], 112]\n\t"
  7939. "ldp x4, x5, [%[a], 96]\n\t"
  7940. "and x8, x8, %[m]\n\t"
  7941. "ldp x6, x7, [%[a], 112]\n\t"
  7942. "and x9, x9, %[m]\n\t"
  7943. "adcs x4, x4, x8\n\t"
  7944. "and x10, x10, %[m]\n\t"
  7945. "adcs x5, x5, x9\n\t"
  7946. "and x11, x11, %[m]\n\t"
  7947. "adcs x6, x6, x10\n\t"
  7948. "stp x4, x5, [%[r], 96]\n\t"
  7949. "adcs x7, x7, x11\n\t"
  7950. "stp x6, x7, [%[r], 112]\n\t"
  7951. "ldp x8, x9, [%[b], 128]\n\t"
  7952. "ldp x10, x11, [%[b], 144]\n\t"
  7953. "ldp x4, x5, [%[a], 128]\n\t"
  7954. "and x8, x8, %[m]\n\t"
  7955. "ldp x6, x7, [%[a], 144]\n\t"
  7956. "and x9, x9, %[m]\n\t"
  7957. "adcs x4, x4, x8\n\t"
  7958. "and x10, x10, %[m]\n\t"
  7959. "adcs x5, x5, x9\n\t"
  7960. "and x11, x11, %[m]\n\t"
  7961. "adcs x6, x6, x10\n\t"
  7962. "stp x4, x5, [%[r], 128]\n\t"
  7963. "adcs x7, x7, x11\n\t"
  7964. "stp x6, x7, [%[r], 144]\n\t"
  7965. "ldp x8, x9, [%[b], 160]\n\t"
  7966. "ldp x10, x11, [%[b], 176]\n\t"
  7967. "ldp x4, x5, [%[a], 160]\n\t"
  7968. "and x8, x8, %[m]\n\t"
  7969. "ldp x6, x7, [%[a], 176]\n\t"
  7970. "and x9, x9, %[m]\n\t"
  7971. "adcs x4, x4, x8\n\t"
  7972. "and x10, x10, %[m]\n\t"
  7973. "adcs x5, x5, x9\n\t"
  7974. "and x11, x11, %[m]\n\t"
  7975. "adcs x6, x6, x10\n\t"
  7976. "stp x4, x5, [%[r], 160]\n\t"
  7977. "adcs x7, x7, x11\n\t"
  7978. "stp x6, x7, [%[r], 176]\n\t"
  7979. "cset %[r], cs\n\t"
  7980. : [r] "+r" (r)
  7981. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  7982. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  7983. );
  7984. return (sp_digit)r;
  7985. }
  7986. #endif /* !WOLFSSL_SP_SMALL */
  7987. /* Multiply a and b into r. (r = a * b)
  7988. *
  7989. * r A single precision integer.
  7990. * a A single precision integer.
  7991. * b A single precision integer.
  7992. */
  7993. SP_NOINLINE static void sp_3072_mul_48(sp_digit* r, const sp_digit* a,
  7994. const sp_digit* b)
  7995. {
  7996. sp_digit* z0 = r;
  7997. sp_digit z1[48];
  7998. sp_digit a1[24];
  7999. sp_digit b1[24];
  8000. sp_digit* z2 = r + 48;
  8001. sp_digit u;
  8002. sp_digit ca;
  8003. sp_digit cb;
  8004. ca = sp_3072_add_24(a1, a, &a[24]);
  8005. cb = sp_3072_add_24(b1, b, &b[24]);
  8006. u = ca & cb;
  8007. sp_3072_mul_24(z2, &a[24], &b[24]);
  8008. sp_3072_mul_24(z0, a, b);
  8009. sp_3072_mul_24(z1, a1, b1);
  8010. u += sp_3072_sub_in_place_48(z1, z0);
  8011. u += sp_3072_sub_in_place_48(z1, z2);
  8012. u += sp_3072_cond_add_24(z1 + 24, z1 + 24, a1, 0 - cb);
  8013. u += sp_3072_cond_add_24(z1 + 24, z1 + 24, b1, 0 - ca);
  8014. u += sp_3072_add_48(r + 24, r + 24, z1);
  8015. (void)sp_3072_add_word_24(r + 72, r + 72, u);
  8016. }
  8017. /* Square a and put result in r. (r = a * a)
  8018. *
  8019. * r A single precision integer.
  8020. * a A single precision integer.
  8021. */
  8022. static void sp_3072_sqr_24(sp_digit* r, const sp_digit* a)
  8023. {
  8024. sp_digit tmp[24];
  8025. __asm__ __volatile__ (
  8026. "# A[0] * A[0]\n\t"
  8027. "ldr x9, [%[a], 0]\n\t"
  8028. "mul x8, x9, x9\n\t"
  8029. "umulh x3, x9, x9\n\t"
  8030. "mov x4, xzr\n\t"
  8031. "str x8, [%[tmp]]\n\t"
  8032. "# A[0] * A[1]\n\t"
  8033. "ldr x9, [%[a], 8]\n\t"
  8034. "ldr x10, [%[a], 0]\n\t"
  8035. "mul x8, x9, x10\n\t"
  8036. "umulh x9, x9, x10\n\t"
  8037. "adds x3, x3, x8\n\t"
  8038. "adcs x4, x4, x9\n\t"
  8039. "adc x2, xzr, xzr\n\t"
  8040. "adds x3, x3, x8\n\t"
  8041. "adcs x4, x4, x9\n\t"
  8042. "adc x2, x2, xzr\n\t"
  8043. "str x3, [%[tmp], 8]\n\t"
  8044. "# A[0] * A[2]\n\t"
  8045. "ldr x9, [%[a], 16]\n\t"
  8046. "ldr x10, [%[a], 0]\n\t"
  8047. "mul x8, x9, x10\n\t"
  8048. "umulh x9, x9, x10\n\t"
  8049. "adds x4, x4, x8\n\t"
  8050. "adcs x2, x2, x9\n\t"
  8051. "adc x3, xzr, xzr\n\t"
  8052. "adds x4, x4, x8\n\t"
  8053. "adcs x2, x2, x9\n\t"
  8054. "adc x3, x3, xzr\n\t"
  8055. "# A[1] * A[1]\n\t"
  8056. "ldr x9, [%[a], 8]\n\t"
  8057. "mul x8, x9, x9\n\t"
  8058. "umulh x9, x9, x9\n\t"
  8059. "adds x4, x4, x8\n\t"
  8060. "adcs x2, x2, x9\n\t"
  8061. "adc x3, x3, xzr\n\t"
  8062. "str x4, [%[tmp], 16]\n\t"
  8063. "# A[0] * A[3]\n\t"
  8064. "ldr x9, [%[a], 24]\n\t"
  8065. "ldr x10, [%[a], 0]\n\t"
  8066. "mul x8, x9, x10\n\t"
  8067. "umulh x9, x9, x10\n\t"
  8068. "adds x2, x2, x8\n\t"
  8069. "adcs x3, x3, x9\n\t"
  8070. "adc x4, xzr, xzr\n\t"
  8071. "adds x2, x2, x8\n\t"
  8072. "adcs x3, x3, x9\n\t"
  8073. "adc x4, x4, xzr\n\t"
  8074. "# A[1] * A[2]\n\t"
  8075. "ldr x9, [%[a], 16]\n\t"
  8076. "ldr x10, [%[a], 8]\n\t"
  8077. "mul x8, x9, x10\n\t"
  8078. "umulh x9, x9, x10\n\t"
  8079. "adds x2, x2, x8\n\t"
  8080. "adcs x3, x3, x9\n\t"
  8081. "adc x4, x4, xzr\n\t"
  8082. "adds x2, x2, x8\n\t"
  8083. "adcs x3, x3, x9\n\t"
  8084. "adc x4, x4, xzr\n\t"
  8085. "str x2, [%[tmp], 24]\n\t"
  8086. "# A[0] * A[4]\n\t"
  8087. "ldr x9, [%[a], 32]\n\t"
  8088. "ldr x10, [%[a], 0]\n\t"
  8089. "mul x8, x9, x10\n\t"
  8090. "umulh x9, x9, x10\n\t"
  8091. "adds x3, x3, x8\n\t"
  8092. "adcs x4, x4, x9\n\t"
  8093. "adc x2, xzr, xzr\n\t"
  8094. "adds x3, x3, x8\n\t"
  8095. "adcs x4, x4, x9\n\t"
  8096. "adc x2, x2, xzr\n\t"
  8097. "# A[1] * A[3]\n\t"
  8098. "ldr x9, [%[a], 24]\n\t"
  8099. "ldr x10, [%[a], 8]\n\t"
  8100. "mul x8, x9, x10\n\t"
  8101. "umulh x9, x9, x10\n\t"
  8102. "adds x3, x3, x8\n\t"
  8103. "adcs x4, x4, x9\n\t"
  8104. "adc x2, x2, xzr\n\t"
  8105. "adds x3, x3, x8\n\t"
  8106. "adcs x4, x4, x9\n\t"
  8107. "adc x2, x2, xzr\n\t"
  8108. "# A[2] * A[2]\n\t"
  8109. "ldr x9, [%[a], 16]\n\t"
  8110. "mul x8, x9, x9\n\t"
  8111. "umulh x9, x9, x9\n\t"
  8112. "adds x3, x3, x8\n\t"
  8113. "adcs x4, x4, x9\n\t"
  8114. "adc x2, x2, xzr\n\t"
  8115. "str x3, [%[tmp], 32]\n\t"
  8116. "# A[0] * A[5]\n\t"
  8117. "ldr x9, [%[a], 40]\n\t"
  8118. "ldr x10, [%[a], 0]\n\t"
  8119. "mul x5, x9, x10\n\t"
  8120. "umulh x6, x9, x10\n\t"
  8121. "mov x3, xzr\n\t"
  8122. "mov x7, xzr\n\t"
  8123. "# A[1] * A[4]\n\t"
  8124. "ldr x9, [%[a], 32]\n\t"
  8125. "ldr x10, [%[a], 8]\n\t"
  8126. "mul x8, x9, x10\n\t"
  8127. "umulh x9, x9, x10\n\t"
  8128. "adds x5, x5, x8\n\t"
  8129. "adcs x6, x6, x9\n\t"
  8130. "adc x7, x7, xzr\n\t"
  8131. "# A[2] * A[3]\n\t"
  8132. "ldr x9, [%[a], 24]\n\t"
  8133. "ldr x10, [%[a], 16]\n\t"
  8134. "mul x8, x9, x10\n\t"
  8135. "umulh x9, x9, x10\n\t"
  8136. "adds x5, x5, x8\n\t"
  8137. "adcs x6, x6, x9\n\t"
  8138. "adc x7, x7, xzr\n\t"
  8139. "adds x5, x5, x5\n\t"
  8140. "adcs x6, x6, x6\n\t"
  8141. "adc x7, x7, x7\n\t"
  8142. "adds x4, x4, x5\n\t"
  8143. "adcs x2, x2, x6\n\t"
  8144. "adc x3, x3, x7\n\t"
  8145. "str x4, [%[tmp], 40]\n\t"
  8146. "# A[0] * A[6]\n\t"
  8147. "ldr x9, [%[a], 48]\n\t"
  8148. "ldr x10, [%[a], 0]\n\t"
  8149. "mul x5, x9, x10\n\t"
  8150. "umulh x6, x9, x10\n\t"
  8151. "mov x4, xzr\n\t"
  8152. "mov x7, xzr\n\t"
  8153. "# A[1] * A[5]\n\t"
  8154. "ldr x9, [%[a], 40]\n\t"
  8155. "ldr x10, [%[a], 8]\n\t"
  8156. "mul x8, x9, x10\n\t"
  8157. "umulh x9, x9, x10\n\t"
  8158. "adds x5, x5, x8\n\t"
  8159. "adcs x6, x6, x9\n\t"
  8160. "adc x7, x7, xzr\n\t"
  8161. "# A[2] * A[4]\n\t"
  8162. "ldr x9, [%[a], 32]\n\t"
  8163. "ldr x10, [%[a], 16]\n\t"
  8164. "mul x8, x9, x10\n\t"
  8165. "umulh x9, x9, x10\n\t"
  8166. "adds x5, x5, x8\n\t"
  8167. "adcs x6, x6, x9\n\t"
  8168. "adc x7, x7, xzr\n\t"
  8169. "# A[3] * A[3]\n\t"
  8170. "ldr x9, [%[a], 24]\n\t"
  8171. "mul x8, x9, x9\n\t"
  8172. "umulh x9, x9, x9\n\t"
  8173. "adds x5, x5, x5\n\t"
  8174. "adcs x6, x6, x6\n\t"
  8175. "adc x7, x7, x7\n\t"
  8176. "adds x5, x5, x8\n\t"
  8177. "adcs x6, x6, x9\n\t"
  8178. "adc x7, x7, xzr\n\t"
  8179. "adds x2, x2, x5\n\t"
  8180. "adcs x3, x3, x6\n\t"
  8181. "adc x4, x4, x7\n\t"
  8182. "str x2, [%[tmp], 48]\n\t"
  8183. "# A[0] * A[7]\n\t"
  8184. "ldr x9, [%[a], 56]\n\t"
  8185. "ldr x10, [%[a], 0]\n\t"
  8186. "mul x5, x9, x10\n\t"
  8187. "umulh x6, x9, x10\n\t"
  8188. "mov x2, xzr\n\t"
  8189. "mov x7, xzr\n\t"
  8190. "# A[1] * A[6]\n\t"
  8191. "ldr x9, [%[a], 48]\n\t"
  8192. "ldr x10, [%[a], 8]\n\t"
  8193. "mul x8, x9, x10\n\t"
  8194. "umulh x9, x9, x10\n\t"
  8195. "adds x5, x5, x8\n\t"
  8196. "adcs x6, x6, x9\n\t"
  8197. "adc x7, x7, xzr\n\t"
  8198. "# A[2] * A[5]\n\t"
  8199. "ldr x9, [%[a], 40]\n\t"
  8200. "ldr x10, [%[a], 16]\n\t"
  8201. "mul x8, x9, x10\n\t"
  8202. "umulh x9, x9, x10\n\t"
  8203. "adds x5, x5, x8\n\t"
  8204. "adcs x6, x6, x9\n\t"
  8205. "adc x7, x7, xzr\n\t"
  8206. "# A[3] * A[4]\n\t"
  8207. "ldr x9, [%[a], 32]\n\t"
  8208. "ldr x10, [%[a], 24]\n\t"
  8209. "mul x8, x9, x10\n\t"
  8210. "umulh x9, x9, x10\n\t"
  8211. "adds x5, x5, x8\n\t"
  8212. "adcs x6, x6, x9\n\t"
  8213. "adc x7, x7, xzr\n\t"
  8214. "adds x5, x5, x5\n\t"
  8215. "adcs x6, x6, x6\n\t"
  8216. "adc x7, x7, x7\n\t"
  8217. "adds x3, x3, x5\n\t"
  8218. "adcs x4, x4, x6\n\t"
  8219. "adc x2, x2, x7\n\t"
  8220. "str x3, [%[tmp], 56]\n\t"
  8221. "# A[0] * A[8]\n\t"
  8222. "ldr x9, [%[a], 64]\n\t"
  8223. "ldr x10, [%[a], 0]\n\t"
  8224. "mul x5, x9, x10\n\t"
  8225. "umulh x6, x9, x10\n\t"
  8226. "mov x3, xzr\n\t"
  8227. "mov x7, xzr\n\t"
  8228. "# A[1] * A[7]\n\t"
  8229. "ldr x9, [%[a], 56]\n\t"
  8230. "ldr x10, [%[a], 8]\n\t"
  8231. "mul x8, x9, x10\n\t"
  8232. "umulh x9, x9, x10\n\t"
  8233. "adds x5, x5, x8\n\t"
  8234. "adcs x6, x6, x9\n\t"
  8235. "adc x7, x7, xzr\n\t"
  8236. "# A[2] * A[6]\n\t"
  8237. "ldr x9, [%[a], 48]\n\t"
  8238. "ldr x10, [%[a], 16]\n\t"
  8239. "mul x8, x9, x10\n\t"
  8240. "umulh x9, x9, x10\n\t"
  8241. "adds x5, x5, x8\n\t"
  8242. "adcs x6, x6, x9\n\t"
  8243. "adc x7, x7, xzr\n\t"
  8244. "# A[3] * A[5]\n\t"
  8245. "ldr x9, [%[a], 40]\n\t"
  8246. "ldr x10, [%[a], 24]\n\t"
  8247. "mul x8, x9, x10\n\t"
  8248. "umulh x9, x9, x10\n\t"
  8249. "adds x5, x5, x8\n\t"
  8250. "adcs x6, x6, x9\n\t"
  8251. "adc x7, x7, xzr\n\t"
  8252. "# A[4] * A[4]\n\t"
  8253. "ldr x9, [%[a], 32]\n\t"
  8254. "mul x8, x9, x9\n\t"
  8255. "umulh x9, x9, x9\n\t"
  8256. "adds x5, x5, x5\n\t"
  8257. "adcs x6, x6, x6\n\t"
  8258. "adc x7, x7, x7\n\t"
  8259. "adds x5, x5, x8\n\t"
  8260. "adcs x6, x6, x9\n\t"
  8261. "adc x7, x7, xzr\n\t"
  8262. "adds x4, x4, x5\n\t"
  8263. "adcs x2, x2, x6\n\t"
  8264. "adc x3, x3, x7\n\t"
  8265. "str x4, [%[tmp], 64]\n\t"
  8266. "# A[0] * A[9]\n\t"
  8267. "ldr x9, [%[a], 72]\n\t"
  8268. "ldr x10, [%[a], 0]\n\t"
  8269. "mul x5, x9, x10\n\t"
  8270. "umulh x6, x9, x10\n\t"
  8271. "mov x4, xzr\n\t"
  8272. "mov x7, xzr\n\t"
  8273. "# A[1] * A[8]\n\t"
  8274. "ldr x9, [%[a], 64]\n\t"
  8275. "ldr x10, [%[a], 8]\n\t"
  8276. "mul x8, x9, x10\n\t"
  8277. "umulh x9, x9, x10\n\t"
  8278. "adds x5, x5, x8\n\t"
  8279. "adcs x6, x6, x9\n\t"
  8280. "adc x7, x7, xzr\n\t"
  8281. "# A[2] * A[7]\n\t"
  8282. "ldr x9, [%[a], 56]\n\t"
  8283. "ldr x10, [%[a], 16]\n\t"
  8284. "mul x8, x9, x10\n\t"
  8285. "umulh x9, x9, x10\n\t"
  8286. "adds x5, x5, x8\n\t"
  8287. "adcs x6, x6, x9\n\t"
  8288. "adc x7, x7, xzr\n\t"
  8289. "# A[3] * A[6]\n\t"
  8290. "ldr x9, [%[a], 48]\n\t"
  8291. "ldr x10, [%[a], 24]\n\t"
  8292. "mul x8, x9, x10\n\t"
  8293. "umulh x9, x9, x10\n\t"
  8294. "adds x5, x5, x8\n\t"
  8295. "adcs x6, x6, x9\n\t"
  8296. "adc x7, x7, xzr\n\t"
  8297. "# A[4] * A[5]\n\t"
  8298. "ldr x9, [%[a], 40]\n\t"
  8299. "ldr x10, [%[a], 32]\n\t"
  8300. "mul x8, x9, x10\n\t"
  8301. "umulh x9, x9, x10\n\t"
  8302. "adds x5, x5, x8\n\t"
  8303. "adcs x6, x6, x9\n\t"
  8304. "adc x7, x7, xzr\n\t"
  8305. "adds x5, x5, x5\n\t"
  8306. "adcs x6, x6, x6\n\t"
  8307. "adc x7, x7, x7\n\t"
  8308. "adds x2, x2, x5\n\t"
  8309. "adcs x3, x3, x6\n\t"
  8310. "adc x4, x4, x7\n\t"
  8311. "str x2, [%[tmp], 72]\n\t"
  8312. "# A[0] * A[10]\n\t"
  8313. "ldr x9, [%[a], 80]\n\t"
  8314. "ldr x10, [%[a], 0]\n\t"
  8315. "mul x5, x9, x10\n\t"
  8316. "umulh x6, x9, x10\n\t"
  8317. "mov x2, xzr\n\t"
  8318. "mov x7, xzr\n\t"
  8319. "# A[1] * A[9]\n\t"
  8320. "ldr x9, [%[a], 72]\n\t"
  8321. "ldr x10, [%[a], 8]\n\t"
  8322. "mul x8, x9, x10\n\t"
  8323. "umulh x9, x9, x10\n\t"
  8324. "adds x5, x5, x8\n\t"
  8325. "adcs x6, x6, x9\n\t"
  8326. "adc x7, x7, xzr\n\t"
  8327. "# A[2] * A[8]\n\t"
  8328. "ldr x9, [%[a], 64]\n\t"
  8329. "ldr x10, [%[a], 16]\n\t"
  8330. "mul x8, x9, x10\n\t"
  8331. "umulh x9, x9, x10\n\t"
  8332. "adds x5, x5, x8\n\t"
  8333. "adcs x6, x6, x9\n\t"
  8334. "adc x7, x7, xzr\n\t"
  8335. "# A[3] * A[7]\n\t"
  8336. "ldr x9, [%[a], 56]\n\t"
  8337. "ldr x10, [%[a], 24]\n\t"
  8338. "mul x8, x9, x10\n\t"
  8339. "umulh x9, x9, x10\n\t"
  8340. "adds x5, x5, x8\n\t"
  8341. "adcs x6, x6, x9\n\t"
  8342. "adc x7, x7, xzr\n\t"
  8343. "# A[4] * A[6]\n\t"
  8344. "ldr x9, [%[a], 48]\n\t"
  8345. "ldr x10, [%[a], 32]\n\t"
  8346. "mul x8, x9, x10\n\t"
  8347. "umulh x9, x9, x10\n\t"
  8348. "adds x5, x5, x8\n\t"
  8349. "adcs x6, x6, x9\n\t"
  8350. "adc x7, x7, xzr\n\t"
  8351. "# A[5] * A[5]\n\t"
  8352. "ldr x9, [%[a], 40]\n\t"
  8353. "mul x8, x9, x9\n\t"
  8354. "umulh x9, x9, x9\n\t"
  8355. "adds x5, x5, x5\n\t"
  8356. "adcs x6, x6, x6\n\t"
  8357. "adc x7, x7, x7\n\t"
  8358. "adds x5, x5, x8\n\t"
  8359. "adcs x6, x6, x9\n\t"
  8360. "adc x7, x7, xzr\n\t"
  8361. "adds x3, x3, x5\n\t"
  8362. "adcs x4, x4, x6\n\t"
  8363. "adc x2, x2, x7\n\t"
  8364. "str x3, [%[tmp], 80]\n\t"
  8365. "# A[0] * A[11]\n\t"
  8366. "ldr x9, [%[a], 88]\n\t"
  8367. "ldr x10, [%[a], 0]\n\t"
  8368. "mul x5, x9, x10\n\t"
  8369. "umulh x6, x9, x10\n\t"
  8370. "mov x3, xzr\n\t"
  8371. "mov x7, xzr\n\t"
  8372. "# A[1] * A[10]\n\t"
  8373. "ldr x9, [%[a], 80]\n\t"
  8374. "ldr x10, [%[a], 8]\n\t"
  8375. "mul x8, x9, x10\n\t"
  8376. "umulh x9, x9, x10\n\t"
  8377. "adds x5, x5, x8\n\t"
  8378. "adcs x6, x6, x9\n\t"
  8379. "adc x7, x7, xzr\n\t"
  8380. "# A[2] * A[9]\n\t"
  8381. "ldr x9, [%[a], 72]\n\t"
  8382. "ldr x10, [%[a], 16]\n\t"
  8383. "mul x8, x9, x10\n\t"
  8384. "umulh x9, x9, x10\n\t"
  8385. "adds x5, x5, x8\n\t"
  8386. "adcs x6, x6, x9\n\t"
  8387. "adc x7, x7, xzr\n\t"
  8388. "# A[3] * A[8]\n\t"
  8389. "ldr x9, [%[a], 64]\n\t"
  8390. "ldr x10, [%[a], 24]\n\t"
  8391. "mul x8, x9, x10\n\t"
  8392. "umulh x9, x9, x10\n\t"
  8393. "adds x5, x5, x8\n\t"
  8394. "adcs x6, x6, x9\n\t"
  8395. "adc x7, x7, xzr\n\t"
  8396. "# A[4] * A[7]\n\t"
  8397. "ldr x9, [%[a], 56]\n\t"
  8398. "ldr x10, [%[a], 32]\n\t"
  8399. "mul x8, x9, x10\n\t"
  8400. "umulh x9, x9, x10\n\t"
  8401. "adds x5, x5, x8\n\t"
  8402. "adcs x6, x6, x9\n\t"
  8403. "adc x7, x7, xzr\n\t"
  8404. "# A[5] * A[6]\n\t"
  8405. "ldr x9, [%[a], 48]\n\t"
  8406. "ldr x10, [%[a], 40]\n\t"
  8407. "mul x8, x9, x10\n\t"
  8408. "umulh x9, x9, x10\n\t"
  8409. "adds x5, x5, x8\n\t"
  8410. "adcs x6, x6, x9\n\t"
  8411. "adc x7, x7, xzr\n\t"
  8412. "adds x5, x5, x5\n\t"
  8413. "adcs x6, x6, x6\n\t"
  8414. "adc x7, x7, x7\n\t"
  8415. "adds x4, x4, x5\n\t"
  8416. "adcs x2, x2, x6\n\t"
  8417. "adc x3, x3, x7\n\t"
  8418. "str x4, [%[tmp], 88]\n\t"
  8419. "# A[0] * A[12]\n\t"
  8420. "ldr x9, [%[a], 96]\n\t"
  8421. "ldr x10, [%[a], 0]\n\t"
  8422. "mul x5, x9, x10\n\t"
  8423. "umulh x6, x9, x10\n\t"
  8424. "mov x4, xzr\n\t"
  8425. "mov x7, xzr\n\t"
  8426. "# A[1] * A[11]\n\t"
  8427. "ldr x9, [%[a], 88]\n\t"
  8428. "ldr x10, [%[a], 8]\n\t"
  8429. "mul x8, x9, x10\n\t"
  8430. "umulh x9, x9, x10\n\t"
  8431. "adds x5, x5, x8\n\t"
  8432. "adcs x6, x6, x9\n\t"
  8433. "adc x7, x7, xzr\n\t"
  8434. "# A[2] * A[10]\n\t"
  8435. "ldr x9, [%[a], 80]\n\t"
  8436. "ldr x10, [%[a], 16]\n\t"
  8437. "mul x8, x9, x10\n\t"
  8438. "umulh x9, x9, x10\n\t"
  8439. "adds x5, x5, x8\n\t"
  8440. "adcs x6, x6, x9\n\t"
  8441. "adc x7, x7, xzr\n\t"
  8442. "# A[3] * A[9]\n\t"
  8443. "ldr x9, [%[a], 72]\n\t"
  8444. "ldr x10, [%[a], 24]\n\t"
  8445. "mul x8, x9, x10\n\t"
  8446. "umulh x9, x9, x10\n\t"
  8447. "adds x5, x5, x8\n\t"
  8448. "adcs x6, x6, x9\n\t"
  8449. "adc x7, x7, xzr\n\t"
  8450. "# A[4] * A[8]\n\t"
  8451. "ldr x9, [%[a], 64]\n\t"
  8452. "ldr x10, [%[a], 32]\n\t"
  8453. "mul x8, x9, x10\n\t"
  8454. "umulh x9, x9, x10\n\t"
  8455. "adds x5, x5, x8\n\t"
  8456. "adcs x6, x6, x9\n\t"
  8457. "adc x7, x7, xzr\n\t"
  8458. "# A[5] * A[7]\n\t"
  8459. "ldr x9, [%[a], 56]\n\t"
  8460. "ldr x10, [%[a], 40]\n\t"
  8461. "mul x8, x9, x10\n\t"
  8462. "umulh x9, x9, x10\n\t"
  8463. "adds x5, x5, x8\n\t"
  8464. "adcs x6, x6, x9\n\t"
  8465. "adc x7, x7, xzr\n\t"
  8466. "# A[6] * A[6]\n\t"
  8467. "ldr x9, [%[a], 48]\n\t"
  8468. "mul x8, x9, x9\n\t"
  8469. "umulh x9, x9, x9\n\t"
  8470. "adds x5, x5, x5\n\t"
  8471. "adcs x6, x6, x6\n\t"
  8472. "adc x7, x7, x7\n\t"
  8473. "adds x5, x5, x8\n\t"
  8474. "adcs x6, x6, x9\n\t"
  8475. "adc x7, x7, xzr\n\t"
  8476. "adds x2, x2, x5\n\t"
  8477. "adcs x3, x3, x6\n\t"
  8478. "adc x4, x4, x7\n\t"
  8479. "str x2, [%[tmp], 96]\n\t"
  8480. "# A[0] * A[13]\n\t"
  8481. "ldr x9, [%[a], 104]\n\t"
  8482. "ldr x10, [%[a], 0]\n\t"
  8483. "mul x5, x9, x10\n\t"
  8484. "umulh x6, x9, x10\n\t"
  8485. "mov x2, xzr\n\t"
  8486. "mov x7, xzr\n\t"
  8487. "# A[1] * A[12]\n\t"
  8488. "ldr x9, [%[a], 96]\n\t"
  8489. "ldr x10, [%[a], 8]\n\t"
  8490. "mul x8, x9, x10\n\t"
  8491. "umulh x9, x9, x10\n\t"
  8492. "adds x5, x5, x8\n\t"
  8493. "adcs x6, x6, x9\n\t"
  8494. "adc x7, x7, xzr\n\t"
  8495. "# A[2] * A[11]\n\t"
  8496. "ldr x9, [%[a], 88]\n\t"
  8497. "ldr x10, [%[a], 16]\n\t"
  8498. "mul x8, x9, x10\n\t"
  8499. "umulh x9, x9, x10\n\t"
  8500. "adds x5, x5, x8\n\t"
  8501. "adcs x6, x6, x9\n\t"
  8502. "adc x7, x7, xzr\n\t"
  8503. "# A[3] * A[10]\n\t"
  8504. "ldr x9, [%[a], 80]\n\t"
  8505. "ldr x10, [%[a], 24]\n\t"
  8506. "mul x8, x9, x10\n\t"
  8507. "umulh x9, x9, x10\n\t"
  8508. "adds x5, x5, x8\n\t"
  8509. "adcs x6, x6, x9\n\t"
  8510. "adc x7, x7, xzr\n\t"
  8511. "# A[4] * A[9]\n\t"
  8512. "ldr x9, [%[a], 72]\n\t"
  8513. "ldr x10, [%[a], 32]\n\t"
  8514. "mul x8, x9, x10\n\t"
  8515. "umulh x9, x9, x10\n\t"
  8516. "adds x5, x5, x8\n\t"
  8517. "adcs x6, x6, x9\n\t"
  8518. "adc x7, x7, xzr\n\t"
  8519. "# A[5] * A[8]\n\t"
  8520. "ldr x9, [%[a], 64]\n\t"
  8521. "ldr x10, [%[a], 40]\n\t"
  8522. "mul x8, x9, x10\n\t"
  8523. "umulh x9, x9, x10\n\t"
  8524. "adds x5, x5, x8\n\t"
  8525. "adcs x6, x6, x9\n\t"
  8526. "adc x7, x7, xzr\n\t"
  8527. "# A[6] * A[7]\n\t"
  8528. "ldr x9, [%[a], 56]\n\t"
  8529. "ldr x10, [%[a], 48]\n\t"
  8530. "mul x8, x9, x10\n\t"
  8531. "umulh x9, x9, x10\n\t"
  8532. "adds x5, x5, x8\n\t"
  8533. "adcs x6, x6, x9\n\t"
  8534. "adc x7, x7, xzr\n\t"
  8535. "adds x5, x5, x5\n\t"
  8536. "adcs x6, x6, x6\n\t"
  8537. "adc x7, x7, x7\n\t"
  8538. "adds x3, x3, x5\n\t"
  8539. "adcs x4, x4, x6\n\t"
  8540. "adc x2, x2, x7\n\t"
  8541. "str x3, [%[tmp], 104]\n\t"
  8542. "# A[0] * A[14]\n\t"
  8543. "ldr x9, [%[a], 112]\n\t"
  8544. "ldr x10, [%[a], 0]\n\t"
  8545. "mul x5, x9, x10\n\t"
  8546. "umulh x6, x9, x10\n\t"
  8547. "mov x3, xzr\n\t"
  8548. "mov x7, xzr\n\t"
  8549. "# A[1] * A[13]\n\t"
  8550. "ldr x9, [%[a], 104]\n\t"
  8551. "ldr x10, [%[a], 8]\n\t"
  8552. "mul x8, x9, x10\n\t"
  8553. "umulh x9, x9, x10\n\t"
  8554. "adds x5, x5, x8\n\t"
  8555. "adcs x6, x6, x9\n\t"
  8556. "adc x7, x7, xzr\n\t"
  8557. "# A[2] * A[12]\n\t"
  8558. "ldr x9, [%[a], 96]\n\t"
  8559. "ldr x10, [%[a], 16]\n\t"
  8560. "mul x8, x9, x10\n\t"
  8561. "umulh x9, x9, x10\n\t"
  8562. "adds x5, x5, x8\n\t"
  8563. "adcs x6, x6, x9\n\t"
  8564. "adc x7, x7, xzr\n\t"
  8565. "# A[3] * A[11]\n\t"
  8566. "ldr x9, [%[a], 88]\n\t"
  8567. "ldr x10, [%[a], 24]\n\t"
  8568. "mul x8, x9, x10\n\t"
  8569. "umulh x9, x9, x10\n\t"
  8570. "adds x5, x5, x8\n\t"
  8571. "adcs x6, x6, x9\n\t"
  8572. "adc x7, x7, xzr\n\t"
  8573. "# A[4] * A[10]\n\t"
  8574. "ldr x9, [%[a], 80]\n\t"
  8575. "ldr x10, [%[a], 32]\n\t"
  8576. "mul x8, x9, x10\n\t"
  8577. "umulh x9, x9, x10\n\t"
  8578. "adds x5, x5, x8\n\t"
  8579. "adcs x6, x6, x9\n\t"
  8580. "adc x7, x7, xzr\n\t"
  8581. "# A[5] * A[9]\n\t"
  8582. "ldr x9, [%[a], 72]\n\t"
  8583. "ldr x10, [%[a], 40]\n\t"
  8584. "mul x8, x9, x10\n\t"
  8585. "umulh x9, x9, x10\n\t"
  8586. "adds x5, x5, x8\n\t"
  8587. "adcs x6, x6, x9\n\t"
  8588. "adc x7, x7, xzr\n\t"
  8589. "# A[6] * A[8]\n\t"
  8590. "ldr x9, [%[a], 64]\n\t"
  8591. "ldr x10, [%[a], 48]\n\t"
  8592. "mul x8, x9, x10\n\t"
  8593. "umulh x9, x9, x10\n\t"
  8594. "adds x5, x5, x8\n\t"
  8595. "adcs x6, x6, x9\n\t"
  8596. "adc x7, x7, xzr\n\t"
  8597. "# A[7] * A[7]\n\t"
  8598. "ldr x9, [%[a], 56]\n\t"
  8599. "mul x8, x9, x9\n\t"
  8600. "umulh x9, x9, x9\n\t"
  8601. "adds x5, x5, x5\n\t"
  8602. "adcs x6, x6, x6\n\t"
  8603. "adc x7, x7, x7\n\t"
  8604. "adds x5, x5, x8\n\t"
  8605. "adcs x6, x6, x9\n\t"
  8606. "adc x7, x7, xzr\n\t"
  8607. "adds x4, x4, x5\n\t"
  8608. "adcs x2, x2, x6\n\t"
  8609. "adc x3, x3, x7\n\t"
  8610. "str x4, [%[tmp], 112]\n\t"
  8611. "# A[0] * A[15]\n\t"
  8612. "ldr x9, [%[a], 120]\n\t"
  8613. "ldr x10, [%[a], 0]\n\t"
  8614. "mul x5, x9, x10\n\t"
  8615. "umulh x6, x9, x10\n\t"
  8616. "mov x4, xzr\n\t"
  8617. "mov x7, xzr\n\t"
  8618. "# A[1] * A[14]\n\t"
  8619. "ldr x9, [%[a], 112]\n\t"
  8620. "ldr x10, [%[a], 8]\n\t"
  8621. "mul x8, x9, x10\n\t"
  8622. "umulh x9, x9, x10\n\t"
  8623. "adds x5, x5, x8\n\t"
  8624. "adcs x6, x6, x9\n\t"
  8625. "adc x7, x7, xzr\n\t"
  8626. "# A[2] * A[13]\n\t"
  8627. "ldr x9, [%[a], 104]\n\t"
  8628. "ldr x10, [%[a], 16]\n\t"
  8629. "mul x8, x9, x10\n\t"
  8630. "umulh x9, x9, x10\n\t"
  8631. "adds x5, x5, x8\n\t"
  8632. "adcs x6, x6, x9\n\t"
  8633. "adc x7, x7, xzr\n\t"
  8634. "# A[3] * A[12]\n\t"
  8635. "ldr x9, [%[a], 96]\n\t"
  8636. "ldr x10, [%[a], 24]\n\t"
  8637. "mul x8, x9, x10\n\t"
  8638. "umulh x9, x9, x10\n\t"
  8639. "adds x5, x5, x8\n\t"
  8640. "adcs x6, x6, x9\n\t"
  8641. "adc x7, x7, xzr\n\t"
  8642. "# A[4] * A[11]\n\t"
  8643. "ldr x9, [%[a], 88]\n\t"
  8644. "ldr x10, [%[a], 32]\n\t"
  8645. "mul x8, x9, x10\n\t"
  8646. "umulh x9, x9, x10\n\t"
  8647. "adds x5, x5, x8\n\t"
  8648. "adcs x6, x6, x9\n\t"
  8649. "adc x7, x7, xzr\n\t"
  8650. "# A[5] * A[10]\n\t"
  8651. "ldr x9, [%[a], 80]\n\t"
  8652. "ldr x10, [%[a], 40]\n\t"
  8653. "mul x8, x9, x10\n\t"
  8654. "umulh x9, x9, x10\n\t"
  8655. "adds x5, x5, x8\n\t"
  8656. "adcs x6, x6, x9\n\t"
  8657. "adc x7, x7, xzr\n\t"
  8658. "# A[6] * A[9]\n\t"
  8659. "ldr x9, [%[a], 72]\n\t"
  8660. "ldr x10, [%[a], 48]\n\t"
  8661. "mul x8, x9, x10\n\t"
  8662. "umulh x9, x9, x10\n\t"
  8663. "adds x5, x5, x8\n\t"
  8664. "adcs x6, x6, x9\n\t"
  8665. "adc x7, x7, xzr\n\t"
  8666. "# A[7] * A[8]\n\t"
  8667. "ldr x9, [%[a], 64]\n\t"
  8668. "ldr x10, [%[a], 56]\n\t"
  8669. "mul x8, x9, x10\n\t"
  8670. "umulh x9, x9, x10\n\t"
  8671. "adds x5, x5, x8\n\t"
  8672. "adcs x6, x6, x9\n\t"
  8673. "adc x7, x7, xzr\n\t"
  8674. "adds x5, x5, x5\n\t"
  8675. "adcs x6, x6, x6\n\t"
  8676. "adc x7, x7, x7\n\t"
  8677. "adds x2, x2, x5\n\t"
  8678. "adcs x3, x3, x6\n\t"
  8679. "adc x4, x4, x7\n\t"
  8680. "str x2, [%[tmp], 120]\n\t"
  8681. "# A[0] * A[16]\n\t"
  8682. "ldr x9, [%[a], 128]\n\t"
  8683. "ldr x10, [%[a], 0]\n\t"
  8684. "mul x5, x9, x10\n\t"
  8685. "umulh x6, x9, x10\n\t"
  8686. "mov x2, xzr\n\t"
  8687. "mov x7, xzr\n\t"
  8688. "# A[1] * A[15]\n\t"
  8689. "ldr x9, [%[a], 120]\n\t"
  8690. "ldr x10, [%[a], 8]\n\t"
  8691. "mul x8, x9, x10\n\t"
  8692. "umulh x9, x9, x10\n\t"
  8693. "adds x5, x5, x8\n\t"
  8694. "adcs x6, x6, x9\n\t"
  8695. "adc x7, x7, xzr\n\t"
  8696. "# A[2] * A[14]\n\t"
  8697. "ldr x9, [%[a], 112]\n\t"
  8698. "ldr x10, [%[a], 16]\n\t"
  8699. "mul x8, x9, x10\n\t"
  8700. "umulh x9, x9, x10\n\t"
  8701. "adds x5, x5, x8\n\t"
  8702. "adcs x6, x6, x9\n\t"
  8703. "adc x7, x7, xzr\n\t"
  8704. "# A[3] * A[13]\n\t"
  8705. "ldr x9, [%[a], 104]\n\t"
  8706. "ldr x10, [%[a], 24]\n\t"
  8707. "mul x8, x9, x10\n\t"
  8708. "umulh x9, x9, x10\n\t"
  8709. "adds x5, x5, x8\n\t"
  8710. "adcs x6, x6, x9\n\t"
  8711. "adc x7, x7, xzr\n\t"
  8712. "# A[4] * A[12]\n\t"
  8713. "ldr x9, [%[a], 96]\n\t"
  8714. "ldr x10, [%[a], 32]\n\t"
  8715. "mul x8, x9, x10\n\t"
  8716. "umulh x9, x9, x10\n\t"
  8717. "adds x5, x5, x8\n\t"
  8718. "adcs x6, x6, x9\n\t"
  8719. "adc x7, x7, xzr\n\t"
  8720. "# A[5] * A[11]\n\t"
  8721. "ldr x9, [%[a], 88]\n\t"
  8722. "ldr x10, [%[a], 40]\n\t"
  8723. "mul x8, x9, x10\n\t"
  8724. "umulh x9, x9, x10\n\t"
  8725. "adds x5, x5, x8\n\t"
  8726. "adcs x6, x6, x9\n\t"
  8727. "adc x7, x7, xzr\n\t"
  8728. "# A[6] * A[10]\n\t"
  8729. "ldr x9, [%[a], 80]\n\t"
  8730. "ldr x10, [%[a], 48]\n\t"
  8731. "mul x8, x9, x10\n\t"
  8732. "umulh x9, x9, x10\n\t"
  8733. "adds x5, x5, x8\n\t"
  8734. "adcs x6, x6, x9\n\t"
  8735. "adc x7, x7, xzr\n\t"
  8736. "# A[7] * A[9]\n\t"
  8737. "ldr x9, [%[a], 72]\n\t"
  8738. "ldr x10, [%[a], 56]\n\t"
  8739. "mul x8, x9, x10\n\t"
  8740. "umulh x9, x9, x10\n\t"
  8741. "adds x5, x5, x8\n\t"
  8742. "adcs x6, x6, x9\n\t"
  8743. "adc x7, x7, xzr\n\t"
  8744. "# A[8] * A[8]\n\t"
  8745. "ldr x9, [%[a], 64]\n\t"
  8746. "mul x8, x9, x9\n\t"
  8747. "umulh x9, x9, x9\n\t"
  8748. "adds x5, x5, x5\n\t"
  8749. "adcs x6, x6, x6\n\t"
  8750. "adc x7, x7, x7\n\t"
  8751. "adds x5, x5, x8\n\t"
  8752. "adcs x6, x6, x9\n\t"
  8753. "adc x7, x7, xzr\n\t"
  8754. "adds x3, x3, x5\n\t"
  8755. "adcs x4, x4, x6\n\t"
  8756. "adc x2, x2, x7\n\t"
  8757. "str x3, [%[tmp], 128]\n\t"
  8758. "# A[0] * A[17]\n\t"
  8759. "ldr x9, [%[a], 136]\n\t"
  8760. "ldr x10, [%[a], 0]\n\t"
  8761. "mul x5, x9, x10\n\t"
  8762. "umulh x6, x9, x10\n\t"
  8763. "mov x3, xzr\n\t"
  8764. "mov x7, xzr\n\t"
  8765. "# A[1] * A[16]\n\t"
  8766. "ldr x9, [%[a], 128]\n\t"
  8767. "ldr x10, [%[a], 8]\n\t"
  8768. "mul x8, x9, x10\n\t"
  8769. "umulh x9, x9, x10\n\t"
  8770. "adds x5, x5, x8\n\t"
  8771. "adcs x6, x6, x9\n\t"
  8772. "adc x7, x7, xzr\n\t"
  8773. "# A[2] * A[15]\n\t"
  8774. "ldr x9, [%[a], 120]\n\t"
  8775. "ldr x10, [%[a], 16]\n\t"
  8776. "mul x8, x9, x10\n\t"
  8777. "umulh x9, x9, x10\n\t"
  8778. "adds x5, x5, x8\n\t"
  8779. "adcs x6, x6, x9\n\t"
  8780. "adc x7, x7, xzr\n\t"
  8781. "# A[3] * A[14]\n\t"
  8782. "ldr x9, [%[a], 112]\n\t"
  8783. "ldr x10, [%[a], 24]\n\t"
  8784. "mul x8, x9, x10\n\t"
  8785. "umulh x9, x9, x10\n\t"
  8786. "adds x5, x5, x8\n\t"
  8787. "adcs x6, x6, x9\n\t"
  8788. "adc x7, x7, xzr\n\t"
  8789. "# A[4] * A[13]\n\t"
  8790. "ldr x9, [%[a], 104]\n\t"
  8791. "ldr x10, [%[a], 32]\n\t"
  8792. "mul x8, x9, x10\n\t"
  8793. "umulh x9, x9, x10\n\t"
  8794. "adds x5, x5, x8\n\t"
  8795. "adcs x6, x6, x9\n\t"
  8796. "adc x7, x7, xzr\n\t"
  8797. "# A[5] * A[12]\n\t"
  8798. "ldr x9, [%[a], 96]\n\t"
  8799. "ldr x10, [%[a], 40]\n\t"
  8800. "mul x8, x9, x10\n\t"
  8801. "umulh x9, x9, x10\n\t"
  8802. "adds x5, x5, x8\n\t"
  8803. "adcs x6, x6, x9\n\t"
  8804. "adc x7, x7, xzr\n\t"
  8805. "# A[6] * A[11]\n\t"
  8806. "ldr x9, [%[a], 88]\n\t"
  8807. "ldr x10, [%[a], 48]\n\t"
  8808. "mul x8, x9, x10\n\t"
  8809. "umulh x9, x9, x10\n\t"
  8810. "adds x5, x5, x8\n\t"
  8811. "adcs x6, x6, x9\n\t"
  8812. "adc x7, x7, xzr\n\t"
  8813. "# A[7] * A[10]\n\t"
  8814. "ldr x9, [%[a], 80]\n\t"
  8815. "ldr x10, [%[a], 56]\n\t"
  8816. "mul x8, x9, x10\n\t"
  8817. "umulh x9, x9, x10\n\t"
  8818. "adds x5, x5, x8\n\t"
  8819. "adcs x6, x6, x9\n\t"
  8820. "adc x7, x7, xzr\n\t"
  8821. "# A[8] * A[9]\n\t"
  8822. "ldr x9, [%[a], 72]\n\t"
  8823. "ldr x10, [%[a], 64]\n\t"
  8824. "mul x8, x9, x10\n\t"
  8825. "umulh x9, x9, x10\n\t"
  8826. "adds x5, x5, x8\n\t"
  8827. "adcs x6, x6, x9\n\t"
  8828. "adc x7, x7, xzr\n\t"
  8829. "adds x5, x5, x5\n\t"
  8830. "adcs x6, x6, x6\n\t"
  8831. "adc x7, x7, x7\n\t"
  8832. "adds x4, x4, x5\n\t"
  8833. "adcs x2, x2, x6\n\t"
  8834. "adc x3, x3, x7\n\t"
  8835. "str x4, [%[tmp], 136]\n\t"
  8836. "# A[0] * A[18]\n\t"
  8837. "ldr x9, [%[a], 144]\n\t"
  8838. "ldr x10, [%[a], 0]\n\t"
  8839. "mul x5, x9, x10\n\t"
  8840. "umulh x6, x9, x10\n\t"
  8841. "mov x4, xzr\n\t"
  8842. "mov x7, xzr\n\t"
  8843. "# A[1] * A[17]\n\t"
  8844. "ldr x9, [%[a], 136]\n\t"
  8845. "ldr x10, [%[a], 8]\n\t"
  8846. "mul x8, x9, x10\n\t"
  8847. "umulh x9, x9, x10\n\t"
  8848. "adds x5, x5, x8\n\t"
  8849. "adcs x6, x6, x9\n\t"
  8850. "adc x7, x7, xzr\n\t"
  8851. "# A[2] * A[16]\n\t"
  8852. "ldr x9, [%[a], 128]\n\t"
  8853. "ldr x10, [%[a], 16]\n\t"
  8854. "mul x8, x9, x10\n\t"
  8855. "umulh x9, x9, x10\n\t"
  8856. "adds x5, x5, x8\n\t"
  8857. "adcs x6, x6, x9\n\t"
  8858. "adc x7, x7, xzr\n\t"
  8859. "# A[3] * A[15]\n\t"
  8860. "ldr x9, [%[a], 120]\n\t"
  8861. "ldr x10, [%[a], 24]\n\t"
  8862. "mul x8, x9, x10\n\t"
  8863. "umulh x9, x9, x10\n\t"
  8864. "adds x5, x5, x8\n\t"
  8865. "adcs x6, x6, x9\n\t"
  8866. "adc x7, x7, xzr\n\t"
  8867. "# A[4] * A[14]\n\t"
  8868. "ldr x9, [%[a], 112]\n\t"
  8869. "ldr x10, [%[a], 32]\n\t"
  8870. "mul x8, x9, x10\n\t"
  8871. "umulh x9, x9, x10\n\t"
  8872. "adds x5, x5, x8\n\t"
  8873. "adcs x6, x6, x9\n\t"
  8874. "adc x7, x7, xzr\n\t"
  8875. "# A[5] * A[13]\n\t"
  8876. "ldr x9, [%[a], 104]\n\t"
  8877. "ldr x10, [%[a], 40]\n\t"
  8878. "mul x8, x9, x10\n\t"
  8879. "umulh x9, x9, x10\n\t"
  8880. "adds x5, x5, x8\n\t"
  8881. "adcs x6, x6, x9\n\t"
  8882. "adc x7, x7, xzr\n\t"
  8883. "# A[6] * A[12]\n\t"
  8884. "ldr x9, [%[a], 96]\n\t"
  8885. "ldr x10, [%[a], 48]\n\t"
  8886. "mul x8, x9, x10\n\t"
  8887. "umulh x9, x9, x10\n\t"
  8888. "adds x5, x5, x8\n\t"
  8889. "adcs x6, x6, x9\n\t"
  8890. "adc x7, x7, xzr\n\t"
  8891. "# A[7] * A[11]\n\t"
  8892. "ldr x9, [%[a], 88]\n\t"
  8893. "ldr x10, [%[a], 56]\n\t"
  8894. "mul x8, x9, x10\n\t"
  8895. "umulh x9, x9, x10\n\t"
  8896. "adds x5, x5, x8\n\t"
  8897. "adcs x6, x6, x9\n\t"
  8898. "adc x7, x7, xzr\n\t"
  8899. "# A[8] * A[10]\n\t"
  8900. "ldr x9, [%[a], 80]\n\t"
  8901. "ldr x10, [%[a], 64]\n\t"
  8902. "mul x8, x9, x10\n\t"
  8903. "umulh x9, x9, x10\n\t"
  8904. "adds x5, x5, x8\n\t"
  8905. "adcs x6, x6, x9\n\t"
  8906. "adc x7, x7, xzr\n\t"
  8907. "# A[9] * A[9]\n\t"
  8908. "ldr x9, [%[a], 72]\n\t"
  8909. "mul x8, x9, x9\n\t"
  8910. "umulh x9, x9, x9\n\t"
  8911. "adds x5, x5, x5\n\t"
  8912. "adcs x6, x6, x6\n\t"
  8913. "adc x7, x7, x7\n\t"
  8914. "adds x5, x5, x8\n\t"
  8915. "adcs x6, x6, x9\n\t"
  8916. "adc x7, x7, xzr\n\t"
  8917. "adds x2, x2, x5\n\t"
  8918. "adcs x3, x3, x6\n\t"
  8919. "adc x4, x4, x7\n\t"
  8920. "str x2, [%[tmp], 144]\n\t"
  8921. "# A[0] * A[19]\n\t"
  8922. "ldr x9, [%[a], 152]\n\t"
  8923. "ldr x10, [%[a], 0]\n\t"
  8924. "mul x5, x9, x10\n\t"
  8925. "umulh x6, x9, x10\n\t"
  8926. "mov x2, xzr\n\t"
  8927. "mov x7, xzr\n\t"
  8928. "# A[1] * A[18]\n\t"
  8929. "ldr x9, [%[a], 144]\n\t"
  8930. "ldr x10, [%[a], 8]\n\t"
  8931. "mul x8, x9, x10\n\t"
  8932. "umulh x9, x9, x10\n\t"
  8933. "adds x5, x5, x8\n\t"
  8934. "adcs x6, x6, x9\n\t"
  8935. "adc x7, x7, xzr\n\t"
  8936. "# A[2] * A[17]\n\t"
  8937. "ldr x9, [%[a], 136]\n\t"
  8938. "ldr x10, [%[a], 16]\n\t"
  8939. "mul x8, x9, x10\n\t"
  8940. "umulh x9, x9, x10\n\t"
  8941. "adds x5, x5, x8\n\t"
  8942. "adcs x6, x6, x9\n\t"
  8943. "adc x7, x7, xzr\n\t"
  8944. "# A[3] * A[16]\n\t"
  8945. "ldr x9, [%[a], 128]\n\t"
  8946. "ldr x10, [%[a], 24]\n\t"
  8947. "mul x8, x9, x10\n\t"
  8948. "umulh x9, x9, x10\n\t"
  8949. "adds x5, x5, x8\n\t"
  8950. "adcs x6, x6, x9\n\t"
  8951. "adc x7, x7, xzr\n\t"
  8952. "# A[4] * A[15]\n\t"
  8953. "ldr x9, [%[a], 120]\n\t"
  8954. "ldr x10, [%[a], 32]\n\t"
  8955. "mul x8, x9, x10\n\t"
  8956. "umulh x9, x9, x10\n\t"
  8957. "adds x5, x5, x8\n\t"
  8958. "adcs x6, x6, x9\n\t"
  8959. "adc x7, x7, xzr\n\t"
  8960. "# A[5] * A[14]\n\t"
  8961. "ldr x9, [%[a], 112]\n\t"
  8962. "ldr x10, [%[a], 40]\n\t"
  8963. "mul x8, x9, x10\n\t"
  8964. "umulh x9, x9, x10\n\t"
  8965. "adds x5, x5, x8\n\t"
  8966. "adcs x6, x6, x9\n\t"
  8967. "adc x7, x7, xzr\n\t"
  8968. "# A[6] * A[13]\n\t"
  8969. "ldr x9, [%[a], 104]\n\t"
  8970. "ldr x10, [%[a], 48]\n\t"
  8971. "mul x8, x9, x10\n\t"
  8972. "umulh x9, x9, x10\n\t"
  8973. "adds x5, x5, x8\n\t"
  8974. "adcs x6, x6, x9\n\t"
  8975. "adc x7, x7, xzr\n\t"
  8976. "# A[7] * A[12]\n\t"
  8977. "ldr x9, [%[a], 96]\n\t"
  8978. "ldr x10, [%[a], 56]\n\t"
  8979. "mul x8, x9, x10\n\t"
  8980. "umulh x9, x9, x10\n\t"
  8981. "adds x5, x5, x8\n\t"
  8982. "adcs x6, x6, x9\n\t"
  8983. "adc x7, x7, xzr\n\t"
  8984. "# A[8] * A[11]\n\t"
  8985. "ldr x9, [%[a], 88]\n\t"
  8986. "ldr x10, [%[a], 64]\n\t"
  8987. "mul x8, x9, x10\n\t"
  8988. "umulh x9, x9, x10\n\t"
  8989. "adds x5, x5, x8\n\t"
  8990. "adcs x6, x6, x9\n\t"
  8991. "adc x7, x7, xzr\n\t"
  8992. "# A[9] * A[10]\n\t"
  8993. "ldr x9, [%[a], 80]\n\t"
  8994. "ldr x10, [%[a], 72]\n\t"
  8995. "mul x8, x9, x10\n\t"
  8996. "umulh x9, x9, x10\n\t"
  8997. "adds x5, x5, x8\n\t"
  8998. "adcs x6, x6, x9\n\t"
  8999. "adc x7, x7, xzr\n\t"
  9000. "adds x5, x5, x5\n\t"
  9001. "adcs x6, x6, x6\n\t"
  9002. "adc x7, x7, x7\n\t"
  9003. "adds x3, x3, x5\n\t"
  9004. "adcs x4, x4, x6\n\t"
  9005. "adc x2, x2, x7\n\t"
  9006. "str x3, [%[tmp], 152]\n\t"
  9007. "# A[0] * A[20]\n\t"
  9008. "ldr x9, [%[a], 160]\n\t"
  9009. "ldr x10, [%[a], 0]\n\t"
  9010. "mul x5, x9, x10\n\t"
  9011. "umulh x6, x9, x10\n\t"
  9012. "mov x3, xzr\n\t"
  9013. "mov x7, xzr\n\t"
  9014. "# A[1] * A[19]\n\t"
  9015. "ldr x9, [%[a], 152]\n\t"
  9016. "ldr x10, [%[a], 8]\n\t"
  9017. "mul x8, x9, x10\n\t"
  9018. "umulh x9, x9, x10\n\t"
  9019. "adds x5, x5, x8\n\t"
  9020. "adcs x6, x6, x9\n\t"
  9021. "adc x7, x7, xzr\n\t"
  9022. "# A[2] * A[18]\n\t"
  9023. "ldr x9, [%[a], 144]\n\t"
  9024. "ldr x10, [%[a], 16]\n\t"
  9025. "mul x8, x9, x10\n\t"
  9026. "umulh x9, x9, x10\n\t"
  9027. "adds x5, x5, x8\n\t"
  9028. "adcs x6, x6, x9\n\t"
  9029. "adc x7, x7, xzr\n\t"
  9030. "# A[3] * A[17]\n\t"
  9031. "ldr x9, [%[a], 136]\n\t"
  9032. "ldr x10, [%[a], 24]\n\t"
  9033. "mul x8, x9, x10\n\t"
  9034. "umulh x9, x9, x10\n\t"
  9035. "adds x5, x5, x8\n\t"
  9036. "adcs x6, x6, x9\n\t"
  9037. "adc x7, x7, xzr\n\t"
  9038. "# A[4] * A[16]\n\t"
  9039. "ldr x9, [%[a], 128]\n\t"
  9040. "ldr x10, [%[a], 32]\n\t"
  9041. "mul x8, x9, x10\n\t"
  9042. "umulh x9, x9, x10\n\t"
  9043. "adds x5, x5, x8\n\t"
  9044. "adcs x6, x6, x9\n\t"
  9045. "adc x7, x7, xzr\n\t"
  9046. "# A[5] * A[15]\n\t"
  9047. "ldr x9, [%[a], 120]\n\t"
  9048. "ldr x10, [%[a], 40]\n\t"
  9049. "mul x8, x9, x10\n\t"
  9050. "umulh x9, x9, x10\n\t"
  9051. "adds x5, x5, x8\n\t"
  9052. "adcs x6, x6, x9\n\t"
  9053. "adc x7, x7, xzr\n\t"
  9054. "# A[6] * A[14]\n\t"
  9055. "ldr x9, [%[a], 112]\n\t"
  9056. "ldr x10, [%[a], 48]\n\t"
  9057. "mul x8, x9, x10\n\t"
  9058. "umulh x9, x9, x10\n\t"
  9059. "adds x5, x5, x8\n\t"
  9060. "adcs x6, x6, x9\n\t"
  9061. "adc x7, x7, xzr\n\t"
  9062. "# A[7] * A[13]\n\t"
  9063. "ldr x9, [%[a], 104]\n\t"
  9064. "ldr x10, [%[a], 56]\n\t"
  9065. "mul x8, x9, x10\n\t"
  9066. "umulh x9, x9, x10\n\t"
  9067. "adds x5, x5, x8\n\t"
  9068. "adcs x6, x6, x9\n\t"
  9069. "adc x7, x7, xzr\n\t"
  9070. "# A[8] * A[12]\n\t"
  9071. "ldr x9, [%[a], 96]\n\t"
  9072. "ldr x10, [%[a], 64]\n\t"
  9073. "mul x8, x9, x10\n\t"
  9074. "umulh x9, x9, x10\n\t"
  9075. "adds x5, x5, x8\n\t"
  9076. "adcs x6, x6, x9\n\t"
  9077. "adc x7, x7, xzr\n\t"
  9078. "# A[9] * A[11]\n\t"
  9079. "ldr x9, [%[a], 88]\n\t"
  9080. "ldr x10, [%[a], 72]\n\t"
  9081. "mul x8, x9, x10\n\t"
  9082. "umulh x9, x9, x10\n\t"
  9083. "adds x5, x5, x8\n\t"
  9084. "adcs x6, x6, x9\n\t"
  9085. "adc x7, x7, xzr\n\t"
  9086. "# A[10] * A[10]\n\t"
  9087. "ldr x9, [%[a], 80]\n\t"
  9088. "mul x8, x9, x9\n\t"
  9089. "umulh x9, x9, x9\n\t"
  9090. "adds x5, x5, x5\n\t"
  9091. "adcs x6, x6, x6\n\t"
  9092. "adc x7, x7, x7\n\t"
  9093. "adds x5, x5, x8\n\t"
  9094. "adcs x6, x6, x9\n\t"
  9095. "adc x7, x7, xzr\n\t"
  9096. "adds x4, x4, x5\n\t"
  9097. "adcs x2, x2, x6\n\t"
  9098. "adc x3, x3, x7\n\t"
  9099. "str x4, [%[tmp], 160]\n\t"
  9100. "# A[0] * A[21]\n\t"
  9101. "ldr x9, [%[a], 168]\n\t"
  9102. "ldr x10, [%[a], 0]\n\t"
  9103. "mul x5, x9, x10\n\t"
  9104. "umulh x6, x9, x10\n\t"
  9105. "mov x4, xzr\n\t"
  9106. "mov x7, xzr\n\t"
  9107. "# A[1] * A[20]\n\t"
  9108. "ldr x9, [%[a], 160]\n\t"
  9109. "ldr x10, [%[a], 8]\n\t"
  9110. "mul x8, x9, x10\n\t"
  9111. "umulh x9, x9, x10\n\t"
  9112. "adds x5, x5, x8\n\t"
  9113. "adcs x6, x6, x9\n\t"
  9114. "adc x7, x7, xzr\n\t"
  9115. "# A[2] * A[19]\n\t"
  9116. "ldr x9, [%[a], 152]\n\t"
  9117. "ldr x10, [%[a], 16]\n\t"
  9118. "mul x8, x9, x10\n\t"
  9119. "umulh x9, x9, x10\n\t"
  9120. "adds x5, x5, x8\n\t"
  9121. "adcs x6, x6, x9\n\t"
  9122. "adc x7, x7, xzr\n\t"
  9123. "# A[3] * A[18]\n\t"
  9124. "ldr x9, [%[a], 144]\n\t"
  9125. "ldr x10, [%[a], 24]\n\t"
  9126. "mul x8, x9, x10\n\t"
  9127. "umulh x9, x9, x10\n\t"
  9128. "adds x5, x5, x8\n\t"
  9129. "adcs x6, x6, x9\n\t"
  9130. "adc x7, x7, xzr\n\t"
  9131. "# A[4] * A[17]\n\t"
  9132. "ldr x9, [%[a], 136]\n\t"
  9133. "ldr x10, [%[a], 32]\n\t"
  9134. "mul x8, x9, x10\n\t"
  9135. "umulh x9, x9, x10\n\t"
  9136. "adds x5, x5, x8\n\t"
  9137. "adcs x6, x6, x9\n\t"
  9138. "adc x7, x7, xzr\n\t"
  9139. "# A[5] * A[16]\n\t"
  9140. "ldr x9, [%[a], 128]\n\t"
  9141. "ldr x10, [%[a], 40]\n\t"
  9142. "mul x8, x9, x10\n\t"
  9143. "umulh x9, x9, x10\n\t"
  9144. "adds x5, x5, x8\n\t"
  9145. "adcs x6, x6, x9\n\t"
  9146. "adc x7, x7, xzr\n\t"
  9147. "# A[6] * A[15]\n\t"
  9148. "ldr x9, [%[a], 120]\n\t"
  9149. "ldr x10, [%[a], 48]\n\t"
  9150. "mul x8, x9, x10\n\t"
  9151. "umulh x9, x9, x10\n\t"
  9152. "adds x5, x5, x8\n\t"
  9153. "adcs x6, x6, x9\n\t"
  9154. "adc x7, x7, xzr\n\t"
  9155. "# A[7] * A[14]\n\t"
  9156. "ldr x9, [%[a], 112]\n\t"
  9157. "ldr x10, [%[a], 56]\n\t"
  9158. "mul x8, x9, x10\n\t"
  9159. "umulh x9, x9, x10\n\t"
  9160. "adds x5, x5, x8\n\t"
  9161. "adcs x6, x6, x9\n\t"
  9162. "adc x7, x7, xzr\n\t"
  9163. "# A[8] * A[13]\n\t"
  9164. "ldr x9, [%[a], 104]\n\t"
  9165. "ldr x10, [%[a], 64]\n\t"
  9166. "mul x8, x9, x10\n\t"
  9167. "umulh x9, x9, x10\n\t"
  9168. "adds x5, x5, x8\n\t"
  9169. "adcs x6, x6, x9\n\t"
  9170. "adc x7, x7, xzr\n\t"
  9171. "# A[9] * A[12]\n\t"
  9172. "ldr x9, [%[a], 96]\n\t"
  9173. "ldr x10, [%[a], 72]\n\t"
  9174. "mul x8, x9, x10\n\t"
  9175. "umulh x9, x9, x10\n\t"
  9176. "adds x5, x5, x8\n\t"
  9177. "adcs x6, x6, x9\n\t"
  9178. "adc x7, x7, xzr\n\t"
  9179. "# A[10] * A[11]\n\t"
  9180. "ldr x9, [%[a], 88]\n\t"
  9181. "ldr x10, [%[a], 80]\n\t"
  9182. "mul x8, x9, x10\n\t"
  9183. "umulh x9, x9, x10\n\t"
  9184. "adds x5, x5, x8\n\t"
  9185. "adcs x6, x6, x9\n\t"
  9186. "adc x7, x7, xzr\n\t"
  9187. "adds x5, x5, x5\n\t"
  9188. "adcs x6, x6, x6\n\t"
  9189. "adc x7, x7, x7\n\t"
  9190. "adds x2, x2, x5\n\t"
  9191. "adcs x3, x3, x6\n\t"
  9192. "adc x4, x4, x7\n\t"
  9193. "str x2, [%[tmp], 168]\n\t"
  9194. "# A[0] * A[22]\n\t"
  9195. "ldr x9, [%[a], 176]\n\t"
  9196. "ldr x10, [%[a], 0]\n\t"
  9197. "mul x5, x9, x10\n\t"
  9198. "umulh x6, x9, x10\n\t"
  9199. "mov x2, xzr\n\t"
  9200. "mov x7, xzr\n\t"
  9201. "# A[1] * A[21]\n\t"
  9202. "ldr x9, [%[a], 168]\n\t"
  9203. "ldr x10, [%[a], 8]\n\t"
  9204. "mul x8, x9, x10\n\t"
  9205. "umulh x9, x9, x10\n\t"
  9206. "adds x5, x5, x8\n\t"
  9207. "adcs x6, x6, x9\n\t"
  9208. "adc x7, x7, xzr\n\t"
  9209. "# A[2] * A[20]\n\t"
  9210. "ldr x9, [%[a], 160]\n\t"
  9211. "ldr x10, [%[a], 16]\n\t"
  9212. "mul x8, x9, x10\n\t"
  9213. "umulh x9, x9, x10\n\t"
  9214. "adds x5, x5, x8\n\t"
  9215. "adcs x6, x6, x9\n\t"
  9216. "adc x7, x7, xzr\n\t"
  9217. "# A[3] * A[19]\n\t"
  9218. "ldr x9, [%[a], 152]\n\t"
  9219. "ldr x10, [%[a], 24]\n\t"
  9220. "mul x8, x9, x10\n\t"
  9221. "umulh x9, x9, x10\n\t"
  9222. "adds x5, x5, x8\n\t"
  9223. "adcs x6, x6, x9\n\t"
  9224. "adc x7, x7, xzr\n\t"
  9225. "# A[4] * A[18]\n\t"
  9226. "ldr x9, [%[a], 144]\n\t"
  9227. "ldr x10, [%[a], 32]\n\t"
  9228. "mul x8, x9, x10\n\t"
  9229. "umulh x9, x9, x10\n\t"
  9230. "adds x5, x5, x8\n\t"
  9231. "adcs x6, x6, x9\n\t"
  9232. "adc x7, x7, xzr\n\t"
  9233. "# A[5] * A[17]\n\t"
  9234. "ldr x9, [%[a], 136]\n\t"
  9235. "ldr x10, [%[a], 40]\n\t"
  9236. "mul x8, x9, x10\n\t"
  9237. "umulh x9, x9, x10\n\t"
  9238. "adds x5, x5, x8\n\t"
  9239. "adcs x6, x6, x9\n\t"
  9240. "adc x7, x7, xzr\n\t"
  9241. "# A[6] * A[16]\n\t"
  9242. "ldr x9, [%[a], 128]\n\t"
  9243. "ldr x10, [%[a], 48]\n\t"
  9244. "mul x8, x9, x10\n\t"
  9245. "umulh x9, x9, x10\n\t"
  9246. "adds x5, x5, x8\n\t"
  9247. "adcs x6, x6, x9\n\t"
  9248. "adc x7, x7, xzr\n\t"
  9249. "# A[7] * A[15]\n\t"
  9250. "ldr x9, [%[a], 120]\n\t"
  9251. "ldr x10, [%[a], 56]\n\t"
  9252. "mul x8, x9, x10\n\t"
  9253. "umulh x9, x9, x10\n\t"
  9254. "adds x5, x5, x8\n\t"
  9255. "adcs x6, x6, x9\n\t"
  9256. "adc x7, x7, xzr\n\t"
  9257. "# A[8] * A[14]\n\t"
  9258. "ldr x9, [%[a], 112]\n\t"
  9259. "ldr x10, [%[a], 64]\n\t"
  9260. "mul x8, x9, x10\n\t"
  9261. "umulh x9, x9, x10\n\t"
  9262. "adds x5, x5, x8\n\t"
  9263. "adcs x6, x6, x9\n\t"
  9264. "adc x7, x7, xzr\n\t"
  9265. "# A[9] * A[13]\n\t"
  9266. "ldr x9, [%[a], 104]\n\t"
  9267. "ldr x10, [%[a], 72]\n\t"
  9268. "mul x8, x9, x10\n\t"
  9269. "umulh x9, x9, x10\n\t"
  9270. "adds x5, x5, x8\n\t"
  9271. "adcs x6, x6, x9\n\t"
  9272. "adc x7, x7, xzr\n\t"
  9273. "# A[10] * A[12]\n\t"
  9274. "ldr x9, [%[a], 96]\n\t"
  9275. "ldr x10, [%[a], 80]\n\t"
  9276. "mul x8, x9, x10\n\t"
  9277. "umulh x9, x9, x10\n\t"
  9278. "adds x5, x5, x8\n\t"
  9279. "adcs x6, x6, x9\n\t"
  9280. "adc x7, x7, xzr\n\t"
  9281. "# A[11] * A[11]\n\t"
  9282. "ldr x9, [%[a], 88]\n\t"
  9283. "mul x8, x9, x9\n\t"
  9284. "umulh x9, x9, x9\n\t"
  9285. "adds x5, x5, x5\n\t"
  9286. "adcs x6, x6, x6\n\t"
  9287. "adc x7, x7, x7\n\t"
  9288. "adds x5, x5, x8\n\t"
  9289. "adcs x6, x6, x9\n\t"
  9290. "adc x7, x7, xzr\n\t"
  9291. "adds x3, x3, x5\n\t"
  9292. "adcs x4, x4, x6\n\t"
  9293. "adc x2, x2, x7\n\t"
  9294. "str x3, [%[tmp], 176]\n\t"
  9295. "# A[0] * A[23]\n\t"
  9296. "ldr x9, [%[a], 184]\n\t"
  9297. "ldr x10, [%[a], 0]\n\t"
  9298. "mul x5, x9, x10\n\t"
  9299. "umulh x6, x9, x10\n\t"
  9300. "mov x3, xzr\n\t"
  9301. "mov x7, xzr\n\t"
  9302. "# A[1] * A[22]\n\t"
  9303. "ldr x9, [%[a], 176]\n\t"
  9304. "ldr x10, [%[a], 8]\n\t"
  9305. "mul x8, x9, x10\n\t"
  9306. "umulh x9, x9, x10\n\t"
  9307. "adds x5, x5, x8\n\t"
  9308. "adcs x6, x6, x9\n\t"
  9309. "adc x7, x7, xzr\n\t"
  9310. "# A[2] * A[21]\n\t"
  9311. "ldr x9, [%[a], 168]\n\t"
  9312. "ldr x10, [%[a], 16]\n\t"
  9313. "mul x8, x9, x10\n\t"
  9314. "umulh x9, x9, x10\n\t"
  9315. "adds x5, x5, x8\n\t"
  9316. "adcs x6, x6, x9\n\t"
  9317. "adc x7, x7, xzr\n\t"
  9318. "# A[3] * A[20]\n\t"
  9319. "ldr x9, [%[a], 160]\n\t"
  9320. "ldr x10, [%[a], 24]\n\t"
  9321. "mul x8, x9, x10\n\t"
  9322. "umulh x9, x9, x10\n\t"
  9323. "adds x5, x5, x8\n\t"
  9324. "adcs x6, x6, x9\n\t"
  9325. "adc x7, x7, xzr\n\t"
  9326. "# A[4] * A[19]\n\t"
  9327. "ldr x9, [%[a], 152]\n\t"
  9328. "ldr x10, [%[a], 32]\n\t"
  9329. "mul x8, x9, x10\n\t"
  9330. "umulh x9, x9, x10\n\t"
  9331. "adds x5, x5, x8\n\t"
  9332. "adcs x6, x6, x9\n\t"
  9333. "adc x7, x7, xzr\n\t"
  9334. "# A[5] * A[18]\n\t"
  9335. "ldr x9, [%[a], 144]\n\t"
  9336. "ldr x10, [%[a], 40]\n\t"
  9337. "mul x8, x9, x10\n\t"
  9338. "umulh x9, x9, x10\n\t"
  9339. "adds x5, x5, x8\n\t"
  9340. "adcs x6, x6, x9\n\t"
  9341. "adc x7, x7, xzr\n\t"
  9342. "# A[6] * A[17]\n\t"
  9343. "ldr x9, [%[a], 136]\n\t"
  9344. "ldr x10, [%[a], 48]\n\t"
  9345. "mul x8, x9, x10\n\t"
  9346. "umulh x9, x9, x10\n\t"
  9347. "adds x5, x5, x8\n\t"
  9348. "adcs x6, x6, x9\n\t"
  9349. "adc x7, x7, xzr\n\t"
  9350. "# A[7] * A[16]\n\t"
  9351. "ldr x9, [%[a], 128]\n\t"
  9352. "ldr x10, [%[a], 56]\n\t"
  9353. "mul x8, x9, x10\n\t"
  9354. "umulh x9, x9, x10\n\t"
  9355. "adds x5, x5, x8\n\t"
  9356. "adcs x6, x6, x9\n\t"
  9357. "adc x7, x7, xzr\n\t"
  9358. "# A[8] * A[15]\n\t"
  9359. "ldr x9, [%[a], 120]\n\t"
  9360. "ldr x10, [%[a], 64]\n\t"
  9361. "mul x8, x9, x10\n\t"
  9362. "umulh x9, x9, x10\n\t"
  9363. "adds x5, x5, x8\n\t"
  9364. "adcs x6, x6, x9\n\t"
  9365. "adc x7, x7, xzr\n\t"
  9366. "# A[9] * A[14]\n\t"
  9367. "ldr x9, [%[a], 112]\n\t"
  9368. "ldr x10, [%[a], 72]\n\t"
  9369. "mul x8, x9, x10\n\t"
  9370. "umulh x9, x9, x10\n\t"
  9371. "adds x5, x5, x8\n\t"
  9372. "adcs x6, x6, x9\n\t"
  9373. "adc x7, x7, xzr\n\t"
  9374. "# A[10] * A[13]\n\t"
  9375. "ldr x9, [%[a], 104]\n\t"
  9376. "ldr x10, [%[a], 80]\n\t"
  9377. "mul x8, x9, x10\n\t"
  9378. "umulh x9, x9, x10\n\t"
  9379. "adds x5, x5, x8\n\t"
  9380. "adcs x6, x6, x9\n\t"
  9381. "adc x7, x7, xzr\n\t"
  9382. "# A[11] * A[12]\n\t"
  9383. "ldr x9, [%[a], 96]\n\t"
  9384. "ldr x10, [%[a], 88]\n\t"
  9385. "mul x8, x9, x10\n\t"
  9386. "umulh x9, x9, x10\n\t"
  9387. "adds x5, x5, x8\n\t"
  9388. "adcs x6, x6, x9\n\t"
  9389. "adc x7, x7, xzr\n\t"
  9390. "adds x5, x5, x5\n\t"
  9391. "adcs x6, x6, x6\n\t"
  9392. "adc x7, x7, x7\n\t"
  9393. "adds x4, x4, x5\n\t"
  9394. "adcs x2, x2, x6\n\t"
  9395. "adc x3, x3, x7\n\t"
  9396. "str x4, [%[tmp], 184]\n\t"
  9397. "# A[1] * A[23]\n\t"
  9398. "ldr x9, [%[a], 184]\n\t"
  9399. "ldr x10, [%[a], 8]\n\t"
  9400. "mul x5, x9, x10\n\t"
  9401. "umulh x6, x9, x10\n\t"
  9402. "mov x4, xzr\n\t"
  9403. "mov x7, xzr\n\t"
  9404. "# A[2] * A[22]\n\t"
  9405. "ldr x9, [%[a], 176]\n\t"
  9406. "ldr x10, [%[a], 16]\n\t"
  9407. "mul x8, x9, x10\n\t"
  9408. "umulh x9, x9, x10\n\t"
  9409. "adds x5, x5, x8\n\t"
  9410. "adcs x6, x6, x9\n\t"
  9411. "adc x7, x7, xzr\n\t"
  9412. "# A[3] * A[21]\n\t"
  9413. "ldr x9, [%[a], 168]\n\t"
  9414. "ldr x10, [%[a], 24]\n\t"
  9415. "mul x8, x9, x10\n\t"
  9416. "umulh x9, x9, x10\n\t"
  9417. "adds x5, x5, x8\n\t"
  9418. "adcs x6, x6, x9\n\t"
  9419. "adc x7, x7, xzr\n\t"
  9420. "# A[4] * A[20]\n\t"
  9421. "ldr x9, [%[a], 160]\n\t"
  9422. "ldr x10, [%[a], 32]\n\t"
  9423. "mul x8, x9, x10\n\t"
  9424. "umulh x9, x9, x10\n\t"
  9425. "adds x5, x5, x8\n\t"
  9426. "adcs x6, x6, x9\n\t"
  9427. "adc x7, x7, xzr\n\t"
  9428. "# A[5] * A[19]\n\t"
  9429. "ldr x9, [%[a], 152]\n\t"
  9430. "ldr x10, [%[a], 40]\n\t"
  9431. "mul x8, x9, x10\n\t"
  9432. "umulh x9, x9, x10\n\t"
  9433. "adds x5, x5, x8\n\t"
  9434. "adcs x6, x6, x9\n\t"
  9435. "adc x7, x7, xzr\n\t"
  9436. "# A[6] * A[18]\n\t"
  9437. "ldr x9, [%[a], 144]\n\t"
  9438. "ldr x10, [%[a], 48]\n\t"
  9439. "mul x8, x9, x10\n\t"
  9440. "umulh x9, x9, x10\n\t"
  9441. "adds x5, x5, x8\n\t"
  9442. "adcs x6, x6, x9\n\t"
  9443. "adc x7, x7, xzr\n\t"
  9444. "# A[7] * A[17]\n\t"
  9445. "ldr x9, [%[a], 136]\n\t"
  9446. "ldr x10, [%[a], 56]\n\t"
  9447. "mul x8, x9, x10\n\t"
  9448. "umulh x9, x9, x10\n\t"
  9449. "adds x5, x5, x8\n\t"
  9450. "adcs x6, x6, x9\n\t"
  9451. "adc x7, x7, xzr\n\t"
  9452. "# A[8] * A[16]\n\t"
  9453. "ldr x9, [%[a], 128]\n\t"
  9454. "ldr x10, [%[a], 64]\n\t"
  9455. "mul x8, x9, x10\n\t"
  9456. "umulh x9, x9, x10\n\t"
  9457. "adds x5, x5, x8\n\t"
  9458. "adcs x6, x6, x9\n\t"
  9459. "adc x7, x7, xzr\n\t"
  9460. "# A[9] * A[15]\n\t"
  9461. "ldr x9, [%[a], 120]\n\t"
  9462. "ldr x10, [%[a], 72]\n\t"
  9463. "mul x8, x9, x10\n\t"
  9464. "umulh x9, x9, x10\n\t"
  9465. "adds x5, x5, x8\n\t"
  9466. "adcs x6, x6, x9\n\t"
  9467. "adc x7, x7, xzr\n\t"
  9468. "# A[10] * A[14]\n\t"
  9469. "ldr x9, [%[a], 112]\n\t"
  9470. "ldr x10, [%[a], 80]\n\t"
  9471. "mul x8, x9, x10\n\t"
  9472. "umulh x9, x9, x10\n\t"
  9473. "adds x5, x5, x8\n\t"
  9474. "adcs x6, x6, x9\n\t"
  9475. "adc x7, x7, xzr\n\t"
  9476. "# A[11] * A[13]\n\t"
  9477. "ldr x9, [%[a], 104]\n\t"
  9478. "ldr x10, [%[a], 88]\n\t"
  9479. "mul x8, x9, x10\n\t"
  9480. "umulh x9, x9, x10\n\t"
  9481. "adds x5, x5, x8\n\t"
  9482. "adcs x6, x6, x9\n\t"
  9483. "adc x7, x7, xzr\n\t"
  9484. "# A[12] * A[12]\n\t"
  9485. "ldr x9, [%[a], 96]\n\t"
  9486. "mul x8, x9, x9\n\t"
  9487. "umulh x9, x9, x9\n\t"
  9488. "adds x5, x5, x5\n\t"
  9489. "adcs x6, x6, x6\n\t"
  9490. "adc x7, x7, x7\n\t"
  9491. "adds x5, x5, x8\n\t"
  9492. "adcs x6, x6, x9\n\t"
  9493. "adc x7, x7, xzr\n\t"
  9494. "adds x2, x2, x5\n\t"
  9495. "adcs x3, x3, x6\n\t"
  9496. "adc x4, x4, x7\n\t"
  9497. "str x2, [%[r], 192]\n\t"
  9498. "# A[2] * A[23]\n\t"
  9499. "ldr x9, [%[a], 184]\n\t"
  9500. "ldr x10, [%[a], 16]\n\t"
  9501. "mul x5, x9, x10\n\t"
  9502. "umulh x6, x9, x10\n\t"
  9503. "mov x2, xzr\n\t"
  9504. "mov x7, xzr\n\t"
  9505. "# A[3] * A[22]\n\t"
  9506. "ldr x9, [%[a], 176]\n\t"
  9507. "ldr x10, [%[a], 24]\n\t"
  9508. "mul x8, x9, x10\n\t"
  9509. "umulh x9, x9, x10\n\t"
  9510. "adds x5, x5, x8\n\t"
  9511. "adcs x6, x6, x9\n\t"
  9512. "adc x7, x7, xzr\n\t"
  9513. "# A[4] * A[21]\n\t"
  9514. "ldr x9, [%[a], 168]\n\t"
  9515. "ldr x10, [%[a], 32]\n\t"
  9516. "mul x8, x9, x10\n\t"
  9517. "umulh x9, x9, x10\n\t"
  9518. "adds x5, x5, x8\n\t"
  9519. "adcs x6, x6, x9\n\t"
  9520. "adc x7, x7, xzr\n\t"
  9521. "# A[5] * A[20]\n\t"
  9522. "ldr x9, [%[a], 160]\n\t"
  9523. "ldr x10, [%[a], 40]\n\t"
  9524. "mul x8, x9, x10\n\t"
  9525. "umulh x9, x9, x10\n\t"
  9526. "adds x5, x5, x8\n\t"
  9527. "adcs x6, x6, x9\n\t"
  9528. "adc x7, x7, xzr\n\t"
  9529. "# A[6] * A[19]\n\t"
  9530. "ldr x9, [%[a], 152]\n\t"
  9531. "ldr x10, [%[a], 48]\n\t"
  9532. "mul x8, x9, x10\n\t"
  9533. "umulh x9, x9, x10\n\t"
  9534. "adds x5, x5, x8\n\t"
  9535. "adcs x6, x6, x9\n\t"
  9536. "adc x7, x7, xzr\n\t"
  9537. "# A[7] * A[18]\n\t"
  9538. "ldr x9, [%[a], 144]\n\t"
  9539. "ldr x10, [%[a], 56]\n\t"
  9540. "mul x8, x9, x10\n\t"
  9541. "umulh x9, x9, x10\n\t"
  9542. "adds x5, x5, x8\n\t"
  9543. "adcs x6, x6, x9\n\t"
  9544. "adc x7, x7, xzr\n\t"
  9545. "# A[8] * A[17]\n\t"
  9546. "ldr x9, [%[a], 136]\n\t"
  9547. "ldr x10, [%[a], 64]\n\t"
  9548. "mul x8, x9, x10\n\t"
  9549. "umulh x9, x9, x10\n\t"
  9550. "adds x5, x5, x8\n\t"
  9551. "adcs x6, x6, x9\n\t"
  9552. "adc x7, x7, xzr\n\t"
  9553. "# A[9] * A[16]\n\t"
  9554. "ldr x9, [%[a], 128]\n\t"
  9555. "ldr x10, [%[a], 72]\n\t"
  9556. "mul x8, x9, x10\n\t"
  9557. "umulh x9, x9, x10\n\t"
  9558. "adds x5, x5, x8\n\t"
  9559. "adcs x6, x6, x9\n\t"
  9560. "adc x7, x7, xzr\n\t"
  9561. "# A[10] * A[15]\n\t"
  9562. "ldr x9, [%[a], 120]\n\t"
  9563. "ldr x10, [%[a], 80]\n\t"
  9564. "mul x8, x9, x10\n\t"
  9565. "umulh x9, x9, x10\n\t"
  9566. "adds x5, x5, x8\n\t"
  9567. "adcs x6, x6, x9\n\t"
  9568. "adc x7, x7, xzr\n\t"
  9569. "# A[11] * A[14]\n\t"
  9570. "ldr x9, [%[a], 112]\n\t"
  9571. "ldr x10, [%[a], 88]\n\t"
  9572. "mul x8, x9, x10\n\t"
  9573. "umulh x9, x9, x10\n\t"
  9574. "adds x5, x5, x8\n\t"
  9575. "adcs x6, x6, x9\n\t"
  9576. "adc x7, x7, xzr\n\t"
  9577. "# A[12] * A[13]\n\t"
  9578. "ldr x9, [%[a], 104]\n\t"
  9579. "ldr x10, [%[a], 96]\n\t"
  9580. "mul x8, x9, x10\n\t"
  9581. "umulh x9, x9, x10\n\t"
  9582. "adds x5, x5, x8\n\t"
  9583. "adcs x6, x6, x9\n\t"
  9584. "adc x7, x7, xzr\n\t"
  9585. "adds x5, x5, x5\n\t"
  9586. "adcs x6, x6, x6\n\t"
  9587. "adc x7, x7, x7\n\t"
  9588. "adds x3, x3, x5\n\t"
  9589. "adcs x4, x4, x6\n\t"
  9590. "adc x2, x2, x7\n\t"
  9591. "str x3, [%[r], 200]\n\t"
  9592. "# A[3] * A[23]\n\t"
  9593. "ldr x9, [%[a], 184]\n\t"
  9594. "ldr x10, [%[a], 24]\n\t"
  9595. "mul x5, x9, x10\n\t"
  9596. "umulh x6, x9, x10\n\t"
  9597. "mov x3, xzr\n\t"
  9598. "mov x7, xzr\n\t"
  9599. "# A[4] * A[22]\n\t"
  9600. "ldr x9, [%[a], 176]\n\t"
  9601. "ldr x10, [%[a], 32]\n\t"
  9602. "mul x8, x9, x10\n\t"
  9603. "umulh x9, x9, x10\n\t"
  9604. "adds x5, x5, x8\n\t"
  9605. "adcs x6, x6, x9\n\t"
  9606. "adc x7, x7, xzr\n\t"
  9607. "# A[5] * A[21]\n\t"
  9608. "ldr x9, [%[a], 168]\n\t"
  9609. "ldr x10, [%[a], 40]\n\t"
  9610. "mul x8, x9, x10\n\t"
  9611. "umulh x9, x9, x10\n\t"
  9612. "adds x5, x5, x8\n\t"
  9613. "adcs x6, x6, x9\n\t"
  9614. "adc x7, x7, xzr\n\t"
  9615. "# A[6] * A[20]\n\t"
  9616. "ldr x9, [%[a], 160]\n\t"
  9617. "ldr x10, [%[a], 48]\n\t"
  9618. "mul x8, x9, x10\n\t"
  9619. "umulh x9, x9, x10\n\t"
  9620. "adds x5, x5, x8\n\t"
  9621. "adcs x6, x6, x9\n\t"
  9622. "adc x7, x7, xzr\n\t"
  9623. "# A[7] * A[19]\n\t"
  9624. "ldr x9, [%[a], 152]\n\t"
  9625. "ldr x10, [%[a], 56]\n\t"
  9626. "mul x8, x9, x10\n\t"
  9627. "umulh x9, x9, x10\n\t"
  9628. "adds x5, x5, x8\n\t"
  9629. "adcs x6, x6, x9\n\t"
  9630. "adc x7, x7, xzr\n\t"
  9631. "# A[8] * A[18]\n\t"
  9632. "ldr x9, [%[a], 144]\n\t"
  9633. "ldr x10, [%[a], 64]\n\t"
  9634. "mul x8, x9, x10\n\t"
  9635. "umulh x9, x9, x10\n\t"
  9636. "adds x5, x5, x8\n\t"
  9637. "adcs x6, x6, x9\n\t"
  9638. "adc x7, x7, xzr\n\t"
  9639. "# A[9] * A[17]\n\t"
  9640. "ldr x9, [%[a], 136]\n\t"
  9641. "ldr x10, [%[a], 72]\n\t"
  9642. "mul x8, x9, x10\n\t"
  9643. "umulh x9, x9, x10\n\t"
  9644. "adds x5, x5, x8\n\t"
  9645. "adcs x6, x6, x9\n\t"
  9646. "adc x7, x7, xzr\n\t"
  9647. "# A[10] * A[16]\n\t"
  9648. "ldr x9, [%[a], 128]\n\t"
  9649. "ldr x10, [%[a], 80]\n\t"
  9650. "mul x8, x9, x10\n\t"
  9651. "umulh x9, x9, x10\n\t"
  9652. "adds x5, x5, x8\n\t"
  9653. "adcs x6, x6, x9\n\t"
  9654. "adc x7, x7, xzr\n\t"
  9655. "# A[11] * A[15]\n\t"
  9656. "ldr x9, [%[a], 120]\n\t"
  9657. "ldr x10, [%[a], 88]\n\t"
  9658. "mul x8, x9, x10\n\t"
  9659. "umulh x9, x9, x10\n\t"
  9660. "adds x5, x5, x8\n\t"
  9661. "adcs x6, x6, x9\n\t"
  9662. "adc x7, x7, xzr\n\t"
  9663. "# A[12] * A[14]\n\t"
  9664. "ldr x9, [%[a], 112]\n\t"
  9665. "ldr x10, [%[a], 96]\n\t"
  9666. "mul x8, x9, x10\n\t"
  9667. "umulh x9, x9, x10\n\t"
  9668. "adds x5, x5, x8\n\t"
  9669. "adcs x6, x6, x9\n\t"
  9670. "adc x7, x7, xzr\n\t"
  9671. "# A[13] * A[13]\n\t"
  9672. "ldr x9, [%[a], 104]\n\t"
  9673. "mul x8, x9, x9\n\t"
  9674. "umulh x9, x9, x9\n\t"
  9675. "adds x5, x5, x5\n\t"
  9676. "adcs x6, x6, x6\n\t"
  9677. "adc x7, x7, x7\n\t"
  9678. "adds x5, x5, x8\n\t"
  9679. "adcs x6, x6, x9\n\t"
  9680. "adc x7, x7, xzr\n\t"
  9681. "adds x4, x4, x5\n\t"
  9682. "adcs x2, x2, x6\n\t"
  9683. "adc x3, x3, x7\n\t"
  9684. "str x4, [%[r], 208]\n\t"
  9685. "# A[4] * A[23]\n\t"
  9686. "ldr x9, [%[a], 184]\n\t"
  9687. "ldr x10, [%[a], 32]\n\t"
  9688. "mul x5, x9, x10\n\t"
  9689. "umulh x6, x9, x10\n\t"
  9690. "mov x4, xzr\n\t"
  9691. "mov x7, xzr\n\t"
  9692. "# A[5] * A[22]\n\t"
  9693. "ldr x9, [%[a], 176]\n\t"
  9694. "ldr x10, [%[a], 40]\n\t"
  9695. "mul x8, x9, x10\n\t"
  9696. "umulh x9, x9, x10\n\t"
  9697. "adds x5, x5, x8\n\t"
  9698. "adcs x6, x6, x9\n\t"
  9699. "adc x7, x7, xzr\n\t"
  9700. "# A[6] * A[21]\n\t"
  9701. "ldr x9, [%[a], 168]\n\t"
  9702. "ldr x10, [%[a], 48]\n\t"
  9703. "mul x8, x9, x10\n\t"
  9704. "umulh x9, x9, x10\n\t"
  9705. "adds x5, x5, x8\n\t"
  9706. "adcs x6, x6, x9\n\t"
  9707. "adc x7, x7, xzr\n\t"
  9708. "# A[7] * A[20]\n\t"
  9709. "ldr x9, [%[a], 160]\n\t"
  9710. "ldr x10, [%[a], 56]\n\t"
  9711. "mul x8, x9, x10\n\t"
  9712. "umulh x9, x9, x10\n\t"
  9713. "adds x5, x5, x8\n\t"
  9714. "adcs x6, x6, x9\n\t"
  9715. "adc x7, x7, xzr\n\t"
  9716. "# A[8] * A[19]\n\t"
  9717. "ldr x9, [%[a], 152]\n\t"
  9718. "ldr x10, [%[a], 64]\n\t"
  9719. "mul x8, x9, x10\n\t"
  9720. "umulh x9, x9, x10\n\t"
  9721. "adds x5, x5, x8\n\t"
  9722. "adcs x6, x6, x9\n\t"
  9723. "adc x7, x7, xzr\n\t"
  9724. "# A[9] * A[18]\n\t"
  9725. "ldr x9, [%[a], 144]\n\t"
  9726. "ldr x10, [%[a], 72]\n\t"
  9727. "mul x8, x9, x10\n\t"
  9728. "umulh x9, x9, x10\n\t"
  9729. "adds x5, x5, x8\n\t"
  9730. "adcs x6, x6, x9\n\t"
  9731. "adc x7, x7, xzr\n\t"
  9732. "# A[10] * A[17]\n\t"
  9733. "ldr x9, [%[a], 136]\n\t"
  9734. "ldr x10, [%[a], 80]\n\t"
  9735. "mul x8, x9, x10\n\t"
  9736. "umulh x9, x9, x10\n\t"
  9737. "adds x5, x5, x8\n\t"
  9738. "adcs x6, x6, x9\n\t"
  9739. "adc x7, x7, xzr\n\t"
  9740. "# A[11] * A[16]\n\t"
  9741. "ldr x9, [%[a], 128]\n\t"
  9742. "ldr x10, [%[a], 88]\n\t"
  9743. "mul x8, x9, x10\n\t"
  9744. "umulh x9, x9, x10\n\t"
  9745. "adds x5, x5, x8\n\t"
  9746. "adcs x6, x6, x9\n\t"
  9747. "adc x7, x7, xzr\n\t"
  9748. "# A[12] * A[15]\n\t"
  9749. "ldr x9, [%[a], 120]\n\t"
  9750. "ldr x10, [%[a], 96]\n\t"
  9751. "mul x8, x9, x10\n\t"
  9752. "umulh x9, x9, x10\n\t"
  9753. "adds x5, x5, x8\n\t"
  9754. "adcs x6, x6, x9\n\t"
  9755. "adc x7, x7, xzr\n\t"
  9756. "# A[13] * A[14]\n\t"
  9757. "ldr x9, [%[a], 112]\n\t"
  9758. "ldr x10, [%[a], 104]\n\t"
  9759. "mul x8, x9, x10\n\t"
  9760. "umulh x9, x9, x10\n\t"
  9761. "adds x5, x5, x8\n\t"
  9762. "adcs x6, x6, x9\n\t"
  9763. "adc x7, x7, xzr\n\t"
  9764. "adds x5, x5, x5\n\t"
  9765. "adcs x6, x6, x6\n\t"
  9766. "adc x7, x7, x7\n\t"
  9767. "adds x2, x2, x5\n\t"
  9768. "adcs x3, x3, x6\n\t"
  9769. "adc x4, x4, x7\n\t"
  9770. "str x2, [%[r], 216]\n\t"
  9771. "# A[5] * A[23]\n\t"
  9772. "ldr x9, [%[a], 184]\n\t"
  9773. "ldr x10, [%[a], 40]\n\t"
  9774. "mul x5, x9, x10\n\t"
  9775. "umulh x6, x9, x10\n\t"
  9776. "mov x2, xzr\n\t"
  9777. "mov x7, xzr\n\t"
  9778. "# A[6] * A[22]\n\t"
  9779. "ldr x9, [%[a], 176]\n\t"
  9780. "ldr x10, [%[a], 48]\n\t"
  9781. "mul x8, x9, x10\n\t"
  9782. "umulh x9, x9, x10\n\t"
  9783. "adds x5, x5, x8\n\t"
  9784. "adcs x6, x6, x9\n\t"
  9785. "adc x7, x7, xzr\n\t"
  9786. "# A[7] * A[21]\n\t"
  9787. "ldr x9, [%[a], 168]\n\t"
  9788. "ldr x10, [%[a], 56]\n\t"
  9789. "mul x8, x9, x10\n\t"
  9790. "umulh x9, x9, x10\n\t"
  9791. "adds x5, x5, x8\n\t"
  9792. "adcs x6, x6, x9\n\t"
  9793. "adc x7, x7, xzr\n\t"
  9794. "# A[8] * A[20]\n\t"
  9795. "ldr x9, [%[a], 160]\n\t"
  9796. "ldr x10, [%[a], 64]\n\t"
  9797. "mul x8, x9, x10\n\t"
  9798. "umulh x9, x9, x10\n\t"
  9799. "adds x5, x5, x8\n\t"
  9800. "adcs x6, x6, x9\n\t"
  9801. "adc x7, x7, xzr\n\t"
  9802. "# A[9] * A[19]\n\t"
  9803. "ldr x9, [%[a], 152]\n\t"
  9804. "ldr x10, [%[a], 72]\n\t"
  9805. "mul x8, x9, x10\n\t"
  9806. "umulh x9, x9, x10\n\t"
  9807. "adds x5, x5, x8\n\t"
  9808. "adcs x6, x6, x9\n\t"
  9809. "adc x7, x7, xzr\n\t"
  9810. "# A[10] * A[18]\n\t"
  9811. "ldr x9, [%[a], 144]\n\t"
  9812. "ldr x10, [%[a], 80]\n\t"
  9813. "mul x8, x9, x10\n\t"
  9814. "umulh x9, x9, x10\n\t"
  9815. "adds x5, x5, x8\n\t"
  9816. "adcs x6, x6, x9\n\t"
  9817. "adc x7, x7, xzr\n\t"
  9818. "# A[11] * A[17]\n\t"
  9819. "ldr x9, [%[a], 136]\n\t"
  9820. "ldr x10, [%[a], 88]\n\t"
  9821. "mul x8, x9, x10\n\t"
  9822. "umulh x9, x9, x10\n\t"
  9823. "adds x5, x5, x8\n\t"
  9824. "adcs x6, x6, x9\n\t"
  9825. "adc x7, x7, xzr\n\t"
  9826. "# A[12] * A[16]\n\t"
  9827. "ldr x9, [%[a], 128]\n\t"
  9828. "ldr x10, [%[a], 96]\n\t"
  9829. "mul x8, x9, x10\n\t"
  9830. "umulh x9, x9, x10\n\t"
  9831. "adds x5, x5, x8\n\t"
  9832. "adcs x6, x6, x9\n\t"
  9833. "adc x7, x7, xzr\n\t"
  9834. "# A[13] * A[15]\n\t"
  9835. "ldr x9, [%[a], 120]\n\t"
  9836. "ldr x10, [%[a], 104]\n\t"
  9837. "mul x8, x9, x10\n\t"
  9838. "umulh x9, x9, x10\n\t"
  9839. "adds x5, x5, x8\n\t"
  9840. "adcs x6, x6, x9\n\t"
  9841. "adc x7, x7, xzr\n\t"
  9842. "# A[14] * A[14]\n\t"
  9843. "ldr x9, [%[a], 112]\n\t"
  9844. "mul x8, x9, x9\n\t"
  9845. "umulh x9, x9, x9\n\t"
  9846. "adds x5, x5, x5\n\t"
  9847. "adcs x6, x6, x6\n\t"
  9848. "adc x7, x7, x7\n\t"
  9849. "adds x5, x5, x8\n\t"
  9850. "adcs x6, x6, x9\n\t"
  9851. "adc x7, x7, xzr\n\t"
  9852. "adds x3, x3, x5\n\t"
  9853. "adcs x4, x4, x6\n\t"
  9854. "adc x2, x2, x7\n\t"
  9855. "str x3, [%[r], 224]\n\t"
  9856. "# A[6] * A[23]\n\t"
  9857. "ldr x9, [%[a], 184]\n\t"
  9858. "ldr x10, [%[a], 48]\n\t"
  9859. "mul x5, x9, x10\n\t"
  9860. "umulh x6, x9, x10\n\t"
  9861. "mov x3, xzr\n\t"
  9862. "mov x7, xzr\n\t"
  9863. "# A[7] * A[22]\n\t"
  9864. "ldr x9, [%[a], 176]\n\t"
  9865. "ldr x10, [%[a], 56]\n\t"
  9866. "mul x8, x9, x10\n\t"
  9867. "umulh x9, x9, x10\n\t"
  9868. "adds x5, x5, x8\n\t"
  9869. "adcs x6, x6, x9\n\t"
  9870. "adc x7, x7, xzr\n\t"
  9871. "# A[8] * A[21]\n\t"
  9872. "ldr x9, [%[a], 168]\n\t"
  9873. "ldr x10, [%[a], 64]\n\t"
  9874. "mul x8, x9, x10\n\t"
  9875. "umulh x9, x9, x10\n\t"
  9876. "adds x5, x5, x8\n\t"
  9877. "adcs x6, x6, x9\n\t"
  9878. "adc x7, x7, xzr\n\t"
  9879. "# A[9] * A[20]\n\t"
  9880. "ldr x9, [%[a], 160]\n\t"
  9881. "ldr x10, [%[a], 72]\n\t"
  9882. "mul x8, x9, x10\n\t"
  9883. "umulh x9, x9, x10\n\t"
  9884. "adds x5, x5, x8\n\t"
  9885. "adcs x6, x6, x9\n\t"
  9886. "adc x7, x7, xzr\n\t"
  9887. "# A[10] * A[19]\n\t"
  9888. "ldr x9, [%[a], 152]\n\t"
  9889. "ldr x10, [%[a], 80]\n\t"
  9890. "mul x8, x9, x10\n\t"
  9891. "umulh x9, x9, x10\n\t"
  9892. "adds x5, x5, x8\n\t"
  9893. "adcs x6, x6, x9\n\t"
  9894. "adc x7, x7, xzr\n\t"
  9895. "# A[11] * A[18]\n\t"
  9896. "ldr x9, [%[a], 144]\n\t"
  9897. "ldr x10, [%[a], 88]\n\t"
  9898. "mul x8, x9, x10\n\t"
  9899. "umulh x9, x9, x10\n\t"
  9900. "adds x5, x5, x8\n\t"
  9901. "adcs x6, x6, x9\n\t"
  9902. "adc x7, x7, xzr\n\t"
  9903. "# A[12] * A[17]\n\t"
  9904. "ldr x9, [%[a], 136]\n\t"
  9905. "ldr x10, [%[a], 96]\n\t"
  9906. "mul x8, x9, x10\n\t"
  9907. "umulh x9, x9, x10\n\t"
  9908. "adds x5, x5, x8\n\t"
  9909. "adcs x6, x6, x9\n\t"
  9910. "adc x7, x7, xzr\n\t"
  9911. "# A[13] * A[16]\n\t"
  9912. "ldr x9, [%[a], 128]\n\t"
  9913. "ldr x10, [%[a], 104]\n\t"
  9914. "mul x8, x9, x10\n\t"
  9915. "umulh x9, x9, x10\n\t"
  9916. "adds x5, x5, x8\n\t"
  9917. "adcs x6, x6, x9\n\t"
  9918. "adc x7, x7, xzr\n\t"
  9919. "# A[14] * A[15]\n\t"
  9920. "ldr x9, [%[a], 120]\n\t"
  9921. "ldr x10, [%[a], 112]\n\t"
  9922. "mul x8, x9, x10\n\t"
  9923. "umulh x9, x9, x10\n\t"
  9924. "adds x5, x5, x8\n\t"
  9925. "adcs x6, x6, x9\n\t"
  9926. "adc x7, x7, xzr\n\t"
  9927. "adds x5, x5, x5\n\t"
  9928. "adcs x6, x6, x6\n\t"
  9929. "adc x7, x7, x7\n\t"
  9930. "adds x4, x4, x5\n\t"
  9931. "adcs x2, x2, x6\n\t"
  9932. "adc x3, x3, x7\n\t"
  9933. "str x4, [%[r], 232]\n\t"
  9934. "# A[7] * A[23]\n\t"
  9935. "ldr x9, [%[a], 184]\n\t"
  9936. "ldr x10, [%[a], 56]\n\t"
  9937. "mul x5, x9, x10\n\t"
  9938. "umulh x6, x9, x10\n\t"
  9939. "mov x4, xzr\n\t"
  9940. "mov x7, xzr\n\t"
  9941. "# A[8] * A[22]\n\t"
  9942. "ldr x9, [%[a], 176]\n\t"
  9943. "ldr x10, [%[a], 64]\n\t"
  9944. "mul x8, x9, x10\n\t"
  9945. "umulh x9, x9, x10\n\t"
  9946. "adds x5, x5, x8\n\t"
  9947. "adcs x6, x6, x9\n\t"
  9948. "adc x7, x7, xzr\n\t"
  9949. "# A[9] * A[21]\n\t"
  9950. "ldr x9, [%[a], 168]\n\t"
  9951. "ldr x10, [%[a], 72]\n\t"
  9952. "mul x8, x9, x10\n\t"
  9953. "umulh x9, x9, x10\n\t"
  9954. "adds x5, x5, x8\n\t"
  9955. "adcs x6, x6, x9\n\t"
  9956. "adc x7, x7, xzr\n\t"
  9957. "# A[10] * A[20]\n\t"
  9958. "ldr x9, [%[a], 160]\n\t"
  9959. "ldr x10, [%[a], 80]\n\t"
  9960. "mul x8, x9, x10\n\t"
  9961. "umulh x9, x9, x10\n\t"
  9962. "adds x5, x5, x8\n\t"
  9963. "adcs x6, x6, x9\n\t"
  9964. "adc x7, x7, xzr\n\t"
  9965. "# A[11] * A[19]\n\t"
  9966. "ldr x9, [%[a], 152]\n\t"
  9967. "ldr x10, [%[a], 88]\n\t"
  9968. "mul x8, x9, x10\n\t"
  9969. "umulh x9, x9, x10\n\t"
  9970. "adds x5, x5, x8\n\t"
  9971. "adcs x6, x6, x9\n\t"
  9972. "adc x7, x7, xzr\n\t"
  9973. "# A[12] * A[18]\n\t"
  9974. "ldr x9, [%[a], 144]\n\t"
  9975. "ldr x10, [%[a], 96]\n\t"
  9976. "mul x8, x9, x10\n\t"
  9977. "umulh x9, x9, x10\n\t"
  9978. "adds x5, x5, x8\n\t"
  9979. "adcs x6, x6, x9\n\t"
  9980. "adc x7, x7, xzr\n\t"
  9981. "# A[13] * A[17]\n\t"
  9982. "ldr x9, [%[a], 136]\n\t"
  9983. "ldr x10, [%[a], 104]\n\t"
  9984. "mul x8, x9, x10\n\t"
  9985. "umulh x9, x9, x10\n\t"
  9986. "adds x5, x5, x8\n\t"
  9987. "adcs x6, x6, x9\n\t"
  9988. "adc x7, x7, xzr\n\t"
  9989. "# A[14] * A[16]\n\t"
  9990. "ldr x9, [%[a], 128]\n\t"
  9991. "ldr x10, [%[a], 112]\n\t"
  9992. "mul x8, x9, x10\n\t"
  9993. "umulh x9, x9, x10\n\t"
  9994. "adds x5, x5, x8\n\t"
  9995. "adcs x6, x6, x9\n\t"
  9996. "adc x7, x7, xzr\n\t"
  9997. "# A[15] * A[15]\n\t"
  9998. "ldr x9, [%[a], 120]\n\t"
  9999. "mul x8, x9, x9\n\t"
  10000. "umulh x9, x9, x9\n\t"
  10001. "adds x5, x5, x5\n\t"
  10002. "adcs x6, x6, x6\n\t"
  10003. "adc x7, x7, x7\n\t"
  10004. "adds x5, x5, x8\n\t"
  10005. "adcs x6, x6, x9\n\t"
  10006. "adc x7, x7, xzr\n\t"
  10007. "adds x2, x2, x5\n\t"
  10008. "adcs x3, x3, x6\n\t"
  10009. "adc x4, x4, x7\n\t"
  10010. "str x2, [%[r], 240]\n\t"
  10011. "# A[8] * A[23]\n\t"
  10012. "ldr x9, [%[a], 184]\n\t"
  10013. "ldr x10, [%[a], 64]\n\t"
  10014. "mul x5, x9, x10\n\t"
  10015. "umulh x6, x9, x10\n\t"
  10016. "mov x2, xzr\n\t"
  10017. "mov x7, xzr\n\t"
  10018. "# A[9] * A[22]\n\t"
  10019. "ldr x9, [%[a], 176]\n\t"
  10020. "ldr x10, [%[a], 72]\n\t"
  10021. "mul x8, x9, x10\n\t"
  10022. "umulh x9, x9, x10\n\t"
  10023. "adds x5, x5, x8\n\t"
  10024. "adcs x6, x6, x9\n\t"
  10025. "adc x7, x7, xzr\n\t"
  10026. "# A[10] * A[21]\n\t"
  10027. "ldr x9, [%[a], 168]\n\t"
  10028. "ldr x10, [%[a], 80]\n\t"
  10029. "mul x8, x9, x10\n\t"
  10030. "umulh x9, x9, x10\n\t"
  10031. "adds x5, x5, x8\n\t"
  10032. "adcs x6, x6, x9\n\t"
  10033. "adc x7, x7, xzr\n\t"
  10034. "# A[11] * A[20]\n\t"
  10035. "ldr x9, [%[a], 160]\n\t"
  10036. "ldr x10, [%[a], 88]\n\t"
  10037. "mul x8, x9, x10\n\t"
  10038. "umulh x9, x9, x10\n\t"
  10039. "adds x5, x5, x8\n\t"
  10040. "adcs x6, x6, x9\n\t"
  10041. "adc x7, x7, xzr\n\t"
  10042. "# A[12] * A[19]\n\t"
  10043. "ldr x9, [%[a], 152]\n\t"
  10044. "ldr x10, [%[a], 96]\n\t"
  10045. "mul x8, x9, x10\n\t"
  10046. "umulh x9, x9, x10\n\t"
  10047. "adds x5, x5, x8\n\t"
  10048. "adcs x6, x6, x9\n\t"
  10049. "adc x7, x7, xzr\n\t"
  10050. "# A[13] * A[18]\n\t"
  10051. "ldr x9, [%[a], 144]\n\t"
  10052. "ldr x10, [%[a], 104]\n\t"
  10053. "mul x8, x9, x10\n\t"
  10054. "umulh x9, x9, x10\n\t"
  10055. "adds x5, x5, x8\n\t"
  10056. "adcs x6, x6, x9\n\t"
  10057. "adc x7, x7, xzr\n\t"
  10058. "# A[14] * A[17]\n\t"
  10059. "ldr x9, [%[a], 136]\n\t"
  10060. "ldr x10, [%[a], 112]\n\t"
  10061. "mul x8, x9, x10\n\t"
  10062. "umulh x9, x9, x10\n\t"
  10063. "adds x5, x5, x8\n\t"
  10064. "adcs x6, x6, x9\n\t"
  10065. "adc x7, x7, xzr\n\t"
  10066. "# A[15] * A[16]\n\t"
  10067. "ldr x9, [%[a], 128]\n\t"
  10068. "ldr x10, [%[a], 120]\n\t"
  10069. "mul x8, x9, x10\n\t"
  10070. "umulh x9, x9, x10\n\t"
  10071. "adds x5, x5, x8\n\t"
  10072. "adcs x6, x6, x9\n\t"
  10073. "adc x7, x7, xzr\n\t"
  10074. "adds x5, x5, x5\n\t"
  10075. "adcs x6, x6, x6\n\t"
  10076. "adc x7, x7, x7\n\t"
  10077. "adds x3, x3, x5\n\t"
  10078. "adcs x4, x4, x6\n\t"
  10079. "adc x2, x2, x7\n\t"
  10080. "str x3, [%[r], 248]\n\t"
  10081. "# A[9] * A[23]\n\t"
  10082. "ldr x9, [%[a], 184]\n\t"
  10083. "ldr x10, [%[a], 72]\n\t"
  10084. "mul x5, x9, x10\n\t"
  10085. "umulh x6, x9, x10\n\t"
  10086. "mov x3, xzr\n\t"
  10087. "mov x7, xzr\n\t"
  10088. "# A[10] * A[22]\n\t"
  10089. "ldr x9, [%[a], 176]\n\t"
  10090. "ldr x10, [%[a], 80]\n\t"
  10091. "mul x8, x9, x10\n\t"
  10092. "umulh x9, x9, x10\n\t"
  10093. "adds x5, x5, x8\n\t"
  10094. "adcs x6, x6, x9\n\t"
  10095. "adc x7, x7, xzr\n\t"
  10096. "# A[11] * A[21]\n\t"
  10097. "ldr x9, [%[a], 168]\n\t"
  10098. "ldr x10, [%[a], 88]\n\t"
  10099. "mul x8, x9, x10\n\t"
  10100. "umulh x9, x9, x10\n\t"
  10101. "adds x5, x5, x8\n\t"
  10102. "adcs x6, x6, x9\n\t"
  10103. "adc x7, x7, xzr\n\t"
  10104. "# A[12] * A[20]\n\t"
  10105. "ldr x9, [%[a], 160]\n\t"
  10106. "ldr x10, [%[a], 96]\n\t"
  10107. "mul x8, x9, x10\n\t"
  10108. "umulh x9, x9, x10\n\t"
  10109. "adds x5, x5, x8\n\t"
  10110. "adcs x6, x6, x9\n\t"
  10111. "adc x7, x7, xzr\n\t"
  10112. "# A[13] * A[19]\n\t"
  10113. "ldr x9, [%[a], 152]\n\t"
  10114. "ldr x10, [%[a], 104]\n\t"
  10115. "mul x8, x9, x10\n\t"
  10116. "umulh x9, x9, x10\n\t"
  10117. "adds x5, x5, x8\n\t"
  10118. "adcs x6, x6, x9\n\t"
  10119. "adc x7, x7, xzr\n\t"
  10120. "# A[14] * A[18]\n\t"
  10121. "ldr x9, [%[a], 144]\n\t"
  10122. "ldr x10, [%[a], 112]\n\t"
  10123. "mul x8, x9, x10\n\t"
  10124. "umulh x9, x9, x10\n\t"
  10125. "adds x5, x5, x8\n\t"
  10126. "adcs x6, x6, x9\n\t"
  10127. "adc x7, x7, xzr\n\t"
  10128. "# A[15] * A[17]\n\t"
  10129. "ldr x9, [%[a], 136]\n\t"
  10130. "ldr x10, [%[a], 120]\n\t"
  10131. "mul x8, x9, x10\n\t"
  10132. "umulh x9, x9, x10\n\t"
  10133. "adds x5, x5, x8\n\t"
  10134. "adcs x6, x6, x9\n\t"
  10135. "adc x7, x7, xzr\n\t"
  10136. "# A[16] * A[16]\n\t"
  10137. "ldr x9, [%[a], 128]\n\t"
  10138. "mul x8, x9, x9\n\t"
  10139. "umulh x9, x9, x9\n\t"
  10140. "adds x5, x5, x5\n\t"
  10141. "adcs x6, x6, x6\n\t"
  10142. "adc x7, x7, x7\n\t"
  10143. "adds x5, x5, x8\n\t"
  10144. "adcs x6, x6, x9\n\t"
  10145. "adc x7, x7, xzr\n\t"
  10146. "adds x4, x4, x5\n\t"
  10147. "adcs x2, x2, x6\n\t"
  10148. "adc x3, x3, x7\n\t"
  10149. "str x4, [%[r], 256]\n\t"
  10150. "# A[10] * A[23]\n\t"
  10151. "ldr x9, [%[a], 184]\n\t"
  10152. "ldr x10, [%[a], 80]\n\t"
  10153. "mul x5, x9, x10\n\t"
  10154. "umulh x6, x9, x10\n\t"
  10155. "mov x4, xzr\n\t"
  10156. "mov x7, xzr\n\t"
  10157. "# A[11] * A[22]\n\t"
  10158. "ldr x9, [%[a], 176]\n\t"
  10159. "ldr x10, [%[a], 88]\n\t"
  10160. "mul x8, x9, x10\n\t"
  10161. "umulh x9, x9, x10\n\t"
  10162. "adds x5, x5, x8\n\t"
  10163. "adcs x6, x6, x9\n\t"
  10164. "adc x7, x7, xzr\n\t"
  10165. "# A[12] * A[21]\n\t"
  10166. "ldr x9, [%[a], 168]\n\t"
  10167. "ldr x10, [%[a], 96]\n\t"
  10168. "mul x8, x9, x10\n\t"
  10169. "umulh x9, x9, x10\n\t"
  10170. "adds x5, x5, x8\n\t"
  10171. "adcs x6, x6, x9\n\t"
  10172. "adc x7, x7, xzr\n\t"
  10173. "# A[13] * A[20]\n\t"
  10174. "ldr x9, [%[a], 160]\n\t"
  10175. "ldr x10, [%[a], 104]\n\t"
  10176. "mul x8, x9, x10\n\t"
  10177. "umulh x9, x9, x10\n\t"
  10178. "adds x5, x5, x8\n\t"
  10179. "adcs x6, x6, x9\n\t"
  10180. "adc x7, x7, xzr\n\t"
  10181. "# A[14] * A[19]\n\t"
  10182. "ldr x9, [%[a], 152]\n\t"
  10183. "ldr x10, [%[a], 112]\n\t"
  10184. "mul x8, x9, x10\n\t"
  10185. "umulh x9, x9, x10\n\t"
  10186. "adds x5, x5, x8\n\t"
  10187. "adcs x6, x6, x9\n\t"
  10188. "adc x7, x7, xzr\n\t"
  10189. "# A[15] * A[18]\n\t"
  10190. "ldr x9, [%[a], 144]\n\t"
  10191. "ldr x10, [%[a], 120]\n\t"
  10192. "mul x8, x9, x10\n\t"
  10193. "umulh x9, x9, x10\n\t"
  10194. "adds x5, x5, x8\n\t"
  10195. "adcs x6, x6, x9\n\t"
  10196. "adc x7, x7, xzr\n\t"
  10197. "# A[16] * A[17]\n\t"
  10198. "ldr x9, [%[a], 136]\n\t"
  10199. "ldr x10, [%[a], 128]\n\t"
  10200. "mul x8, x9, x10\n\t"
  10201. "umulh x9, x9, x10\n\t"
  10202. "adds x5, x5, x8\n\t"
  10203. "adcs x6, x6, x9\n\t"
  10204. "adc x7, x7, xzr\n\t"
  10205. "adds x5, x5, x5\n\t"
  10206. "adcs x6, x6, x6\n\t"
  10207. "adc x7, x7, x7\n\t"
  10208. "adds x2, x2, x5\n\t"
  10209. "adcs x3, x3, x6\n\t"
  10210. "adc x4, x4, x7\n\t"
  10211. "str x2, [%[r], 264]\n\t"
  10212. "# A[11] * A[23]\n\t"
  10213. "ldr x9, [%[a], 184]\n\t"
  10214. "ldr x10, [%[a], 88]\n\t"
  10215. "mul x5, x9, x10\n\t"
  10216. "umulh x6, x9, x10\n\t"
  10217. "mov x2, xzr\n\t"
  10218. "mov x7, xzr\n\t"
  10219. "# A[12] * A[22]\n\t"
  10220. "ldr x9, [%[a], 176]\n\t"
  10221. "ldr x10, [%[a], 96]\n\t"
  10222. "mul x8, x9, x10\n\t"
  10223. "umulh x9, x9, x10\n\t"
  10224. "adds x5, x5, x8\n\t"
  10225. "adcs x6, x6, x9\n\t"
  10226. "adc x7, x7, xzr\n\t"
  10227. "# A[13] * A[21]\n\t"
  10228. "ldr x9, [%[a], 168]\n\t"
  10229. "ldr x10, [%[a], 104]\n\t"
  10230. "mul x8, x9, x10\n\t"
  10231. "umulh x9, x9, x10\n\t"
  10232. "adds x5, x5, x8\n\t"
  10233. "adcs x6, x6, x9\n\t"
  10234. "adc x7, x7, xzr\n\t"
  10235. "# A[14] * A[20]\n\t"
  10236. "ldr x9, [%[a], 160]\n\t"
  10237. "ldr x10, [%[a], 112]\n\t"
  10238. "mul x8, x9, x10\n\t"
  10239. "umulh x9, x9, x10\n\t"
  10240. "adds x5, x5, x8\n\t"
  10241. "adcs x6, x6, x9\n\t"
  10242. "adc x7, x7, xzr\n\t"
  10243. "# A[15] * A[19]\n\t"
  10244. "ldr x9, [%[a], 152]\n\t"
  10245. "ldr x10, [%[a], 120]\n\t"
  10246. "mul x8, x9, x10\n\t"
  10247. "umulh x9, x9, x10\n\t"
  10248. "adds x5, x5, x8\n\t"
  10249. "adcs x6, x6, x9\n\t"
  10250. "adc x7, x7, xzr\n\t"
  10251. "# A[16] * A[18]\n\t"
  10252. "ldr x9, [%[a], 144]\n\t"
  10253. "ldr x10, [%[a], 128]\n\t"
  10254. "mul x8, x9, x10\n\t"
  10255. "umulh x9, x9, x10\n\t"
  10256. "adds x5, x5, x8\n\t"
  10257. "adcs x6, x6, x9\n\t"
  10258. "adc x7, x7, xzr\n\t"
  10259. "# A[17] * A[17]\n\t"
  10260. "ldr x9, [%[a], 136]\n\t"
  10261. "mul x8, x9, x9\n\t"
  10262. "umulh x9, x9, x9\n\t"
  10263. "adds x5, x5, x5\n\t"
  10264. "adcs x6, x6, x6\n\t"
  10265. "adc x7, x7, x7\n\t"
  10266. "adds x5, x5, x8\n\t"
  10267. "adcs x6, x6, x9\n\t"
  10268. "adc x7, x7, xzr\n\t"
  10269. "adds x3, x3, x5\n\t"
  10270. "adcs x4, x4, x6\n\t"
  10271. "adc x2, x2, x7\n\t"
  10272. "str x3, [%[r], 272]\n\t"
  10273. "# A[12] * A[23]\n\t"
  10274. "ldr x9, [%[a], 184]\n\t"
  10275. "ldr x10, [%[a], 96]\n\t"
  10276. "mul x5, x9, x10\n\t"
  10277. "umulh x6, x9, x10\n\t"
  10278. "mov x3, xzr\n\t"
  10279. "mov x7, xzr\n\t"
  10280. "# A[13] * A[22]\n\t"
  10281. "ldr x9, [%[a], 176]\n\t"
  10282. "ldr x10, [%[a], 104]\n\t"
  10283. "mul x8, x9, x10\n\t"
  10284. "umulh x9, x9, x10\n\t"
  10285. "adds x5, x5, x8\n\t"
  10286. "adcs x6, x6, x9\n\t"
  10287. "adc x7, x7, xzr\n\t"
  10288. "# A[14] * A[21]\n\t"
  10289. "ldr x9, [%[a], 168]\n\t"
  10290. "ldr x10, [%[a], 112]\n\t"
  10291. "mul x8, x9, x10\n\t"
  10292. "umulh x9, x9, x10\n\t"
  10293. "adds x5, x5, x8\n\t"
  10294. "adcs x6, x6, x9\n\t"
  10295. "adc x7, x7, xzr\n\t"
  10296. "# A[15] * A[20]\n\t"
  10297. "ldr x9, [%[a], 160]\n\t"
  10298. "ldr x10, [%[a], 120]\n\t"
  10299. "mul x8, x9, x10\n\t"
  10300. "umulh x9, x9, x10\n\t"
  10301. "adds x5, x5, x8\n\t"
  10302. "adcs x6, x6, x9\n\t"
  10303. "adc x7, x7, xzr\n\t"
  10304. "# A[16] * A[19]\n\t"
  10305. "ldr x9, [%[a], 152]\n\t"
  10306. "ldr x10, [%[a], 128]\n\t"
  10307. "mul x8, x9, x10\n\t"
  10308. "umulh x9, x9, x10\n\t"
  10309. "adds x5, x5, x8\n\t"
  10310. "adcs x6, x6, x9\n\t"
  10311. "adc x7, x7, xzr\n\t"
  10312. "# A[17] * A[18]\n\t"
  10313. "ldr x9, [%[a], 144]\n\t"
  10314. "ldr x10, [%[a], 136]\n\t"
  10315. "mul x8, x9, x10\n\t"
  10316. "umulh x9, x9, x10\n\t"
  10317. "adds x5, x5, x8\n\t"
  10318. "adcs x6, x6, x9\n\t"
  10319. "adc x7, x7, xzr\n\t"
  10320. "adds x5, x5, x5\n\t"
  10321. "adcs x6, x6, x6\n\t"
  10322. "adc x7, x7, x7\n\t"
  10323. "adds x4, x4, x5\n\t"
  10324. "adcs x2, x2, x6\n\t"
  10325. "adc x3, x3, x7\n\t"
  10326. "str x4, [%[r], 280]\n\t"
  10327. "# A[13] * A[23]\n\t"
  10328. "ldr x9, [%[a], 184]\n\t"
  10329. "ldr x10, [%[a], 104]\n\t"
  10330. "mul x5, x9, x10\n\t"
  10331. "umulh x6, x9, x10\n\t"
  10332. "mov x4, xzr\n\t"
  10333. "mov x7, xzr\n\t"
  10334. "# A[14] * A[22]\n\t"
  10335. "ldr x9, [%[a], 176]\n\t"
  10336. "ldr x10, [%[a], 112]\n\t"
  10337. "mul x8, x9, x10\n\t"
  10338. "umulh x9, x9, x10\n\t"
  10339. "adds x5, x5, x8\n\t"
  10340. "adcs x6, x6, x9\n\t"
  10341. "adc x7, x7, xzr\n\t"
  10342. "# A[15] * A[21]\n\t"
  10343. "ldr x9, [%[a], 168]\n\t"
  10344. "ldr x10, [%[a], 120]\n\t"
  10345. "mul x8, x9, x10\n\t"
  10346. "umulh x9, x9, x10\n\t"
  10347. "adds x5, x5, x8\n\t"
  10348. "adcs x6, x6, x9\n\t"
  10349. "adc x7, x7, xzr\n\t"
  10350. "# A[16] * A[20]\n\t"
  10351. "ldr x9, [%[a], 160]\n\t"
  10352. "ldr x10, [%[a], 128]\n\t"
  10353. "mul x8, x9, x10\n\t"
  10354. "umulh x9, x9, x10\n\t"
  10355. "adds x5, x5, x8\n\t"
  10356. "adcs x6, x6, x9\n\t"
  10357. "adc x7, x7, xzr\n\t"
  10358. "# A[17] * A[19]\n\t"
  10359. "ldr x9, [%[a], 152]\n\t"
  10360. "ldr x10, [%[a], 136]\n\t"
  10361. "mul x8, x9, x10\n\t"
  10362. "umulh x9, x9, x10\n\t"
  10363. "adds x5, x5, x8\n\t"
  10364. "adcs x6, x6, x9\n\t"
  10365. "adc x7, x7, xzr\n\t"
  10366. "# A[18] * A[18]\n\t"
  10367. "ldr x9, [%[a], 144]\n\t"
  10368. "mul x8, x9, x9\n\t"
  10369. "umulh x9, x9, x9\n\t"
  10370. "adds x5, x5, x5\n\t"
  10371. "adcs x6, x6, x6\n\t"
  10372. "adc x7, x7, x7\n\t"
  10373. "adds x5, x5, x8\n\t"
  10374. "adcs x6, x6, x9\n\t"
  10375. "adc x7, x7, xzr\n\t"
  10376. "adds x2, x2, x5\n\t"
  10377. "adcs x3, x3, x6\n\t"
  10378. "adc x4, x4, x7\n\t"
  10379. "str x2, [%[r], 288]\n\t"
  10380. "# A[14] * A[23]\n\t"
  10381. "ldr x9, [%[a], 184]\n\t"
  10382. "ldr x10, [%[a], 112]\n\t"
  10383. "mul x5, x9, x10\n\t"
  10384. "umulh x6, x9, x10\n\t"
  10385. "mov x2, xzr\n\t"
  10386. "mov x7, xzr\n\t"
  10387. "# A[15] * A[22]\n\t"
  10388. "ldr x9, [%[a], 176]\n\t"
  10389. "ldr x10, [%[a], 120]\n\t"
  10390. "mul x8, x9, x10\n\t"
  10391. "umulh x9, x9, x10\n\t"
  10392. "adds x5, x5, x8\n\t"
  10393. "adcs x6, x6, x9\n\t"
  10394. "adc x7, x7, xzr\n\t"
  10395. "# A[16] * A[21]\n\t"
  10396. "ldr x9, [%[a], 168]\n\t"
  10397. "ldr x10, [%[a], 128]\n\t"
  10398. "mul x8, x9, x10\n\t"
  10399. "umulh x9, x9, x10\n\t"
  10400. "adds x5, x5, x8\n\t"
  10401. "adcs x6, x6, x9\n\t"
  10402. "adc x7, x7, xzr\n\t"
  10403. "# A[17] * A[20]\n\t"
  10404. "ldr x9, [%[a], 160]\n\t"
  10405. "ldr x10, [%[a], 136]\n\t"
  10406. "mul x8, x9, x10\n\t"
  10407. "umulh x9, x9, x10\n\t"
  10408. "adds x5, x5, x8\n\t"
  10409. "adcs x6, x6, x9\n\t"
  10410. "adc x7, x7, xzr\n\t"
  10411. "# A[18] * A[19]\n\t"
  10412. "ldr x9, [%[a], 152]\n\t"
  10413. "ldr x10, [%[a], 144]\n\t"
  10414. "mul x8, x9, x10\n\t"
  10415. "umulh x9, x9, x10\n\t"
  10416. "adds x5, x5, x8\n\t"
  10417. "adcs x6, x6, x9\n\t"
  10418. "adc x7, x7, xzr\n\t"
  10419. "adds x5, x5, x5\n\t"
  10420. "adcs x6, x6, x6\n\t"
  10421. "adc x7, x7, x7\n\t"
  10422. "adds x3, x3, x5\n\t"
  10423. "adcs x4, x4, x6\n\t"
  10424. "adc x2, x2, x7\n\t"
  10425. "str x3, [%[r], 296]\n\t"
  10426. "# A[15] * A[23]\n\t"
  10427. "ldr x9, [%[a], 184]\n\t"
  10428. "ldr x10, [%[a], 120]\n\t"
  10429. "mul x5, x9, x10\n\t"
  10430. "umulh x6, x9, x10\n\t"
  10431. "mov x3, xzr\n\t"
  10432. "mov x7, xzr\n\t"
  10433. "# A[16] * A[22]\n\t"
  10434. "ldr x9, [%[a], 176]\n\t"
  10435. "ldr x10, [%[a], 128]\n\t"
  10436. "mul x8, x9, x10\n\t"
  10437. "umulh x9, x9, x10\n\t"
  10438. "adds x5, x5, x8\n\t"
  10439. "adcs x6, x6, x9\n\t"
  10440. "adc x7, x7, xzr\n\t"
  10441. "# A[17] * A[21]\n\t"
  10442. "ldr x9, [%[a], 168]\n\t"
  10443. "ldr x10, [%[a], 136]\n\t"
  10444. "mul x8, x9, x10\n\t"
  10445. "umulh x9, x9, x10\n\t"
  10446. "adds x5, x5, x8\n\t"
  10447. "adcs x6, x6, x9\n\t"
  10448. "adc x7, x7, xzr\n\t"
  10449. "# A[18] * A[20]\n\t"
  10450. "ldr x9, [%[a], 160]\n\t"
  10451. "ldr x10, [%[a], 144]\n\t"
  10452. "mul x8, x9, x10\n\t"
  10453. "umulh x9, x9, x10\n\t"
  10454. "adds x5, x5, x8\n\t"
  10455. "adcs x6, x6, x9\n\t"
  10456. "adc x7, x7, xzr\n\t"
  10457. "# A[19] * A[19]\n\t"
  10458. "ldr x9, [%[a], 152]\n\t"
  10459. "mul x8, x9, x9\n\t"
  10460. "umulh x9, x9, x9\n\t"
  10461. "adds x5, x5, x5\n\t"
  10462. "adcs x6, x6, x6\n\t"
  10463. "adc x7, x7, x7\n\t"
  10464. "adds x5, x5, x8\n\t"
  10465. "adcs x6, x6, x9\n\t"
  10466. "adc x7, x7, xzr\n\t"
  10467. "adds x4, x4, x5\n\t"
  10468. "adcs x2, x2, x6\n\t"
  10469. "adc x3, x3, x7\n\t"
  10470. "str x4, [%[r], 304]\n\t"
  10471. "# A[16] * A[23]\n\t"
  10472. "ldr x9, [%[a], 184]\n\t"
  10473. "ldr x10, [%[a], 128]\n\t"
  10474. "mul x5, x9, x10\n\t"
  10475. "umulh x6, x9, x10\n\t"
  10476. "mov x4, xzr\n\t"
  10477. "mov x7, xzr\n\t"
  10478. "# A[17] * A[22]\n\t"
  10479. "ldr x9, [%[a], 176]\n\t"
  10480. "ldr x10, [%[a], 136]\n\t"
  10481. "mul x8, x9, x10\n\t"
  10482. "umulh x9, x9, x10\n\t"
  10483. "adds x5, x5, x8\n\t"
  10484. "adcs x6, x6, x9\n\t"
  10485. "adc x7, x7, xzr\n\t"
  10486. "# A[18] * A[21]\n\t"
  10487. "ldr x9, [%[a], 168]\n\t"
  10488. "ldr x10, [%[a], 144]\n\t"
  10489. "mul x8, x9, x10\n\t"
  10490. "umulh x9, x9, x10\n\t"
  10491. "adds x5, x5, x8\n\t"
  10492. "adcs x6, x6, x9\n\t"
  10493. "adc x7, x7, xzr\n\t"
  10494. "# A[19] * A[20]\n\t"
  10495. "ldr x9, [%[a], 160]\n\t"
  10496. "ldr x10, [%[a], 152]\n\t"
  10497. "mul x8, x9, x10\n\t"
  10498. "umulh x9, x9, x10\n\t"
  10499. "adds x5, x5, x8\n\t"
  10500. "adcs x6, x6, x9\n\t"
  10501. "adc x7, x7, xzr\n\t"
  10502. "adds x5, x5, x5\n\t"
  10503. "adcs x6, x6, x6\n\t"
  10504. "adc x7, x7, x7\n\t"
  10505. "adds x2, x2, x5\n\t"
  10506. "adcs x3, x3, x6\n\t"
  10507. "adc x4, x4, x7\n\t"
  10508. "str x2, [%[r], 312]\n\t"
  10509. "# A[17] * A[23]\n\t"
  10510. "ldr x9, [%[a], 184]\n\t"
  10511. "ldr x10, [%[a], 136]\n\t"
  10512. "mul x5, x9, x10\n\t"
  10513. "umulh x6, x9, x10\n\t"
  10514. "mov x2, xzr\n\t"
  10515. "mov x7, xzr\n\t"
  10516. "# A[18] * A[22]\n\t"
  10517. "ldr x9, [%[a], 176]\n\t"
  10518. "ldr x10, [%[a], 144]\n\t"
  10519. "mul x8, x9, x10\n\t"
  10520. "umulh x9, x9, x10\n\t"
  10521. "adds x5, x5, x8\n\t"
  10522. "adcs x6, x6, x9\n\t"
  10523. "adc x7, x7, xzr\n\t"
  10524. "# A[19] * A[21]\n\t"
  10525. "ldr x9, [%[a], 168]\n\t"
  10526. "ldr x10, [%[a], 152]\n\t"
  10527. "mul x8, x9, x10\n\t"
  10528. "umulh x9, x9, x10\n\t"
  10529. "adds x5, x5, x8\n\t"
  10530. "adcs x6, x6, x9\n\t"
  10531. "adc x7, x7, xzr\n\t"
  10532. "# A[20] * A[20]\n\t"
  10533. "ldr x9, [%[a], 160]\n\t"
  10534. "mul x8, x9, x9\n\t"
  10535. "umulh x9, x9, x9\n\t"
  10536. "adds x5, x5, x5\n\t"
  10537. "adcs x6, x6, x6\n\t"
  10538. "adc x7, x7, x7\n\t"
  10539. "adds x5, x5, x8\n\t"
  10540. "adcs x6, x6, x9\n\t"
  10541. "adc x7, x7, xzr\n\t"
  10542. "adds x3, x3, x5\n\t"
  10543. "adcs x4, x4, x6\n\t"
  10544. "adc x2, x2, x7\n\t"
  10545. "str x3, [%[r], 320]\n\t"
  10546. "# A[18] * A[23]\n\t"
  10547. "ldr x9, [%[a], 184]\n\t"
  10548. "ldr x10, [%[a], 144]\n\t"
  10549. "mul x5, x9, x10\n\t"
  10550. "umulh x6, x9, x10\n\t"
  10551. "mov x3, xzr\n\t"
  10552. "mov x7, xzr\n\t"
  10553. "# A[19] * A[22]\n\t"
  10554. "ldr x9, [%[a], 176]\n\t"
  10555. "ldr x10, [%[a], 152]\n\t"
  10556. "mul x8, x9, x10\n\t"
  10557. "umulh x9, x9, x10\n\t"
  10558. "adds x5, x5, x8\n\t"
  10559. "adcs x6, x6, x9\n\t"
  10560. "adc x7, x7, xzr\n\t"
  10561. "# A[20] * A[21]\n\t"
  10562. "ldr x9, [%[a], 168]\n\t"
  10563. "ldr x10, [%[a], 160]\n\t"
  10564. "mul x8, x9, x10\n\t"
  10565. "umulh x9, x9, x10\n\t"
  10566. "adds x5, x5, x8\n\t"
  10567. "adcs x6, x6, x9\n\t"
  10568. "adc x7, x7, xzr\n\t"
  10569. "adds x5, x5, x5\n\t"
  10570. "adcs x6, x6, x6\n\t"
  10571. "adc x7, x7, x7\n\t"
  10572. "adds x4, x4, x5\n\t"
  10573. "adcs x2, x2, x6\n\t"
  10574. "adc x3, x3, x7\n\t"
  10575. "str x4, [%[r], 328]\n\t"
  10576. "# A[19] * A[23]\n\t"
  10577. "ldr x9, [%[a], 184]\n\t"
  10578. "ldr x10, [%[a], 152]\n\t"
  10579. "mul x8, x9, x10\n\t"
  10580. "umulh x9, x9, x10\n\t"
  10581. "adds x2, x2, x8\n\t"
  10582. "adcs x3, x3, x9\n\t"
  10583. "adc x4, xzr, xzr\n\t"
  10584. "adds x2, x2, x8\n\t"
  10585. "adcs x3, x3, x9\n\t"
  10586. "adc x4, x4, xzr\n\t"
  10587. "# A[20] * A[22]\n\t"
  10588. "ldr x9, [%[a], 176]\n\t"
  10589. "ldr x10, [%[a], 160]\n\t"
  10590. "mul x8, x9, x10\n\t"
  10591. "umulh x9, x9, x10\n\t"
  10592. "adds x2, x2, x8\n\t"
  10593. "adcs x3, x3, x9\n\t"
  10594. "adc x4, x4, xzr\n\t"
  10595. "adds x2, x2, x8\n\t"
  10596. "adcs x3, x3, x9\n\t"
  10597. "adc x4, x4, xzr\n\t"
  10598. "# A[21] * A[21]\n\t"
  10599. "ldr x9, [%[a], 168]\n\t"
  10600. "mul x8, x9, x9\n\t"
  10601. "umulh x9, x9, x9\n\t"
  10602. "adds x2, x2, x8\n\t"
  10603. "adcs x3, x3, x9\n\t"
  10604. "adc x4, x4, xzr\n\t"
  10605. "str x2, [%[r], 336]\n\t"
  10606. "# A[20] * A[23]\n\t"
  10607. "ldr x9, [%[a], 184]\n\t"
  10608. "ldr x10, [%[a], 160]\n\t"
  10609. "mul x8, x9, x10\n\t"
  10610. "umulh x9, x9, x10\n\t"
  10611. "adds x3, x3, x8\n\t"
  10612. "adcs x4, x4, x9\n\t"
  10613. "adc x2, xzr, xzr\n\t"
  10614. "adds x3, x3, x8\n\t"
  10615. "adcs x4, x4, x9\n\t"
  10616. "adc x2, x2, xzr\n\t"
  10617. "# A[21] * A[22]\n\t"
  10618. "ldr x9, [%[a], 176]\n\t"
  10619. "ldr x10, [%[a], 168]\n\t"
  10620. "mul x8, x9, x10\n\t"
  10621. "umulh x9, x9, x10\n\t"
  10622. "adds x3, x3, x8\n\t"
  10623. "adcs x4, x4, x9\n\t"
  10624. "adc x2, x2, xzr\n\t"
  10625. "adds x3, x3, x8\n\t"
  10626. "adcs x4, x4, x9\n\t"
  10627. "adc x2, x2, xzr\n\t"
  10628. "str x3, [%[r], 344]\n\t"
  10629. "# A[21] * A[23]\n\t"
  10630. "ldr x9, [%[a], 184]\n\t"
  10631. "ldr x10, [%[a], 168]\n\t"
  10632. "mul x8, x9, x10\n\t"
  10633. "umulh x9, x9, x10\n\t"
  10634. "adds x4, x4, x8\n\t"
  10635. "adcs x2, x2, x9\n\t"
  10636. "adc x3, xzr, xzr\n\t"
  10637. "adds x4, x4, x8\n\t"
  10638. "adcs x2, x2, x9\n\t"
  10639. "adc x3, x3, xzr\n\t"
  10640. "# A[22] * A[22]\n\t"
  10641. "ldr x9, [%[a], 176]\n\t"
  10642. "mul x8, x9, x9\n\t"
  10643. "umulh x9, x9, x9\n\t"
  10644. "adds x4, x4, x8\n\t"
  10645. "adcs x2, x2, x9\n\t"
  10646. "adc x3, x3, xzr\n\t"
  10647. "str x4, [%[r], 352]\n\t"
  10648. "# A[22] * A[23]\n\t"
  10649. "ldr x9, [%[a], 184]\n\t"
  10650. "ldr x10, [%[a], 176]\n\t"
  10651. "mul x8, x9, x10\n\t"
  10652. "umulh x9, x9, x10\n\t"
  10653. "adds x2, x2, x8\n\t"
  10654. "adcs x3, x3, x9\n\t"
  10655. "adc x4, xzr, xzr\n\t"
  10656. "adds x2, x2, x8\n\t"
  10657. "adcs x3, x3, x9\n\t"
  10658. "adc x4, x4, xzr\n\t"
  10659. "str x2, [%[r], 360]\n\t"
  10660. "# A[23] * A[23]\n\t"
  10661. "ldr x9, [%[a], 184]\n\t"
  10662. "mul x8, x9, x9\n\t"
  10663. "umulh x9, x9, x9\n\t"
  10664. "adds x3, x3, x8\n\t"
  10665. "adc x4, x4, x9\n\t"
  10666. "stp x3, x4, [%[r], 368]\n\t"
  10667. "ldp x9, x10, [%[tmp], 0]\n\t"
  10668. "stp x9, x10, [%[r], 0]\n\t"
  10669. "ldp x9, x10, [%[tmp], 16]\n\t"
  10670. "stp x9, x10, [%[r], 16]\n\t"
  10671. "ldp x9, x10, [%[tmp], 32]\n\t"
  10672. "stp x9, x10, [%[r], 32]\n\t"
  10673. "ldp x9, x10, [%[tmp], 48]\n\t"
  10674. "stp x9, x10, [%[r], 48]\n\t"
  10675. "ldp x9, x10, [%[tmp], 64]\n\t"
  10676. "stp x9, x10, [%[r], 64]\n\t"
  10677. "ldp x9, x10, [%[tmp], 80]\n\t"
  10678. "stp x9, x10, [%[r], 80]\n\t"
  10679. "ldp x9, x10, [%[tmp], 96]\n\t"
  10680. "stp x9, x10, [%[r], 96]\n\t"
  10681. "ldp x9, x10, [%[tmp], 112]\n\t"
  10682. "stp x9, x10, [%[r], 112]\n\t"
  10683. "ldp x9, x10, [%[tmp], 128]\n\t"
  10684. "stp x9, x10, [%[r], 128]\n\t"
  10685. "ldp x9, x10, [%[tmp], 144]\n\t"
  10686. "stp x9, x10, [%[r], 144]\n\t"
  10687. "ldp x9, x10, [%[tmp], 160]\n\t"
  10688. "stp x9, x10, [%[r], 160]\n\t"
  10689. "ldp x9, x10, [%[tmp], 176]\n\t"
  10690. "stp x9, x10, [%[r], 176]\n\t"
  10691. :
  10692. : [r] "r" (r), [a] "r" (a), [tmp] "r" (tmp)
  10693. : "memory", "x2", "x3", "x4", "x8", "x9", "x10", "x5", "x6", "x7"
  10694. );
  10695. }
  10696. /* Sub b from a into r. (r = a - b)
  10697. *
  10698. * r A single precision integer.
  10699. * a A single precision integer.
  10700. * b A single precision integer.
  10701. */
  10702. static sp_digit sp_3072_sub_24(sp_digit* r, const sp_digit* a,
  10703. const sp_digit* b)
  10704. {
  10705. __asm__ __volatile__ (
  10706. "ldp x3, x4, [%[a], 0]\n\t"
  10707. "ldp x7, x8, [%[b], 0]\n\t"
  10708. "subs x3, x3, x7\n\t"
  10709. "ldp x5, x6, [%[a], 16]\n\t"
  10710. "sbcs x4, x4, x8\n\t"
  10711. "ldp x9, x10, [%[b], 16]\n\t"
  10712. "sbcs x5, x5, x9\n\t"
  10713. "stp x3, x4, [%[r], 0]\n\t"
  10714. "sbcs x6, x6, x10\n\t"
  10715. "stp x5, x6, [%[r], 16]\n\t"
  10716. "ldp x3, x4, [%[a], 32]\n\t"
  10717. "ldp x7, x8, [%[b], 32]\n\t"
  10718. "sbcs x3, x3, x7\n\t"
  10719. "ldp x5, x6, [%[a], 48]\n\t"
  10720. "sbcs x4, x4, x8\n\t"
  10721. "ldp x9, x10, [%[b], 48]\n\t"
  10722. "sbcs x5, x5, x9\n\t"
  10723. "stp x3, x4, [%[r], 32]\n\t"
  10724. "sbcs x6, x6, x10\n\t"
  10725. "stp x5, x6, [%[r], 48]\n\t"
  10726. "ldp x3, x4, [%[a], 64]\n\t"
  10727. "ldp x7, x8, [%[b], 64]\n\t"
  10728. "sbcs x3, x3, x7\n\t"
  10729. "ldp x5, x6, [%[a], 80]\n\t"
  10730. "sbcs x4, x4, x8\n\t"
  10731. "ldp x9, x10, [%[b], 80]\n\t"
  10732. "sbcs x5, x5, x9\n\t"
  10733. "stp x3, x4, [%[r], 64]\n\t"
  10734. "sbcs x6, x6, x10\n\t"
  10735. "stp x5, x6, [%[r], 80]\n\t"
  10736. "ldp x3, x4, [%[a], 96]\n\t"
  10737. "ldp x7, x8, [%[b], 96]\n\t"
  10738. "sbcs x3, x3, x7\n\t"
  10739. "ldp x5, x6, [%[a], 112]\n\t"
  10740. "sbcs x4, x4, x8\n\t"
  10741. "ldp x9, x10, [%[b], 112]\n\t"
  10742. "sbcs x5, x5, x9\n\t"
  10743. "stp x3, x4, [%[r], 96]\n\t"
  10744. "sbcs x6, x6, x10\n\t"
  10745. "stp x5, x6, [%[r], 112]\n\t"
  10746. "ldp x3, x4, [%[a], 128]\n\t"
  10747. "ldp x7, x8, [%[b], 128]\n\t"
  10748. "sbcs x3, x3, x7\n\t"
  10749. "ldp x5, x6, [%[a], 144]\n\t"
  10750. "sbcs x4, x4, x8\n\t"
  10751. "ldp x9, x10, [%[b], 144]\n\t"
  10752. "sbcs x5, x5, x9\n\t"
  10753. "stp x3, x4, [%[r], 128]\n\t"
  10754. "sbcs x6, x6, x10\n\t"
  10755. "stp x5, x6, [%[r], 144]\n\t"
  10756. "ldp x3, x4, [%[a], 160]\n\t"
  10757. "ldp x7, x8, [%[b], 160]\n\t"
  10758. "sbcs x3, x3, x7\n\t"
  10759. "ldp x5, x6, [%[a], 176]\n\t"
  10760. "sbcs x4, x4, x8\n\t"
  10761. "ldp x9, x10, [%[b], 176]\n\t"
  10762. "sbcs x5, x5, x9\n\t"
  10763. "stp x3, x4, [%[r], 160]\n\t"
  10764. "sbcs x6, x6, x10\n\t"
  10765. "stp x5, x6, [%[r], 176]\n\t"
  10766. "csetm %[r], cc\n\t"
  10767. : [r] "+r" (r)
  10768. : [a] "r" (a), [b] "r" (b)
  10769. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  10770. );
  10771. return (sp_digit)r;
  10772. }
  10773. /* Square a and put result in r. (r = a * a)
  10774. *
  10775. * r A single precision integer.
  10776. * a A single precision integer.
  10777. */
  10778. SP_NOINLINE static void sp_3072_sqr_48(sp_digit* r, const sp_digit* a)
  10779. {
  10780. sp_digit* z0 = r;
  10781. sp_digit* z2 = r + 48;
  10782. sp_digit z1[48];
  10783. sp_digit* a1 = z1;
  10784. sp_digit* zero = z1 + 24;
  10785. sp_digit u;
  10786. sp_digit mask;
  10787. sp_digit* p1;
  10788. sp_digit* p2;
  10789. XMEMSET(zero, 0, sizeof(sp_digit) * 24);
  10790. mask = sp_3072_sub_24(a1, a, &a[24]);
  10791. p1 = (sp_digit*)(((sp_digit)zero & mask ) | ((sp_digit)a1 & (~mask)));
  10792. p2 = (sp_digit*)(((sp_digit)zero & (~mask)) | ((sp_digit)a1 & mask ));
  10793. (void)sp_3072_sub_24(a1, p1, p2);
  10794. sp_3072_sqr_24(z2, &a[24]);
  10795. sp_3072_sqr_24(z0, a);
  10796. sp_3072_sqr_24(z1, a1);
  10797. u = 0;
  10798. u -= sp_3072_sub_in_place_48(z1, z2);
  10799. u -= sp_3072_sub_in_place_48(z1, z0);
  10800. u += sp_3072_sub_in_place_48(r + 24, z1);
  10801. sp_3072_add_word_24(r + 72, r + 72, u);
  10802. }
  10803. #endif /* !WOLFSSL_SP_SMALL */
  10804. #ifdef WOLFSSL_SP_SMALL
  10805. /* Add b to a into r. (r = a + b)
  10806. *
  10807. * r A single precision integer.
  10808. * a A single precision integer.
  10809. * b A single precision integer.
  10810. */
  10811. static sp_digit sp_3072_add_48(sp_digit* r, const sp_digit* a,
  10812. const sp_digit* b)
  10813. {
  10814. sp_digit c = 0;
  10815. __asm__ __volatile__ (
  10816. "add x11, %[a], 384\n\t"
  10817. "\n1:\n\t"
  10818. "adds %[c], %[c], #-1\n\t"
  10819. "ldp x3, x4, [%[a]], #16\n\t"
  10820. "ldp x5, x6, [%[a]], #16\n\t"
  10821. "ldp x7, x8, [%[b]], #16\n\t"
  10822. "adcs x3, x3, x7\n\t"
  10823. "ldp x9, x10, [%[b]], #16\n\t"
  10824. "adcs x4, x4, x8\n\t"
  10825. "adcs x5, x5, x9\n\t"
  10826. "stp x3, x4, [%[r]], #16\n\t"
  10827. "adcs x6, x6, x10\n\t"
  10828. "stp x5, x6, [%[r]], #16\n\t"
  10829. "cset %[c], cs\n\t"
  10830. "cmp %[a], x11\n\t"
  10831. "b.ne 1b\n\t"
  10832. : [c] "+r" (c), [r] "+r" (r), [a] "+r" (a), [b] "+r" (b)
  10833. :
  10834. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  10835. );
  10836. return c;
  10837. }
  10838. #endif /* WOLFSSL_SP_SMALL */
  10839. #ifdef WOLFSSL_SP_SMALL
  10840. /* Sub b from a into a. (a -= b)
  10841. *
  10842. * a A single precision integer.
  10843. * b A single precision integer.
  10844. */
  10845. static sp_digit sp_3072_sub_in_place_48(sp_digit* a, const sp_digit* b)
  10846. {
  10847. sp_digit c = 0;
  10848. __asm__ __volatile__ (
  10849. "add x10, %[a], 384\n\t"
  10850. "\n1:\n\t"
  10851. "subs %[c], xzr, %[c]\n\t"
  10852. "ldp x2, x3, [%[a]]\n\t"
  10853. "ldp x4, x5, [%[a], #16]\n\t"
  10854. "ldp x6, x7, [%[b]], #16\n\t"
  10855. "sbcs x2, x2, x6\n\t"
  10856. "ldp x8, x9, [%[b]], #16\n\t"
  10857. "sbcs x3, x3, x7\n\t"
  10858. "sbcs x4, x4, x8\n\t"
  10859. "stp x2, x3, [%[a]], #16\n\t"
  10860. "sbcs x5, x5, x9\n\t"
  10861. "stp x4, x5, [%[a]], #16\n\t"
  10862. "csetm %[c], cc\n\t"
  10863. "cmp %[a], x10\n\t"
  10864. "b.ne 1b\n\t"
  10865. : [c] "+r" (c), [a] "+r" (a), [b] "+r" (b)
  10866. :
  10867. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  10868. );
  10869. return c;
  10870. }
  10871. #endif /* WOLFSSL_SP_SMALL */
  10872. #ifdef WOLFSSL_SP_SMALL
  10873. /* Multiply a and b into r. (r = a * b)
  10874. *
  10875. * r A single precision integer.
  10876. * a A single precision integer.
  10877. * b A single precision integer.
  10878. */
  10879. static void sp_3072_mul_48(sp_digit* r, const sp_digit* a, const sp_digit* b)
  10880. {
  10881. sp_digit tmp[96];
  10882. __asm__ __volatile__ (
  10883. "mov x5, xzr\n\t"
  10884. "mov x6, xzr\n\t"
  10885. "mov x7, xzr\n\t"
  10886. "mov x8, xzr\n\t"
  10887. "\n1:\n\t"
  10888. "subs x3, x5, 376\n\t"
  10889. "csel x3, xzr, x3, cc\n\t"
  10890. "sub x4, x5, x3\n\t"
  10891. "\n2:\n\t"
  10892. "ldr x10, [%[a], x3]\n\t"
  10893. "ldr x11, [%[b], x4]\n\t"
  10894. "mul x9, x10, x11\n\t"
  10895. "umulh x10, x10, x11\n\t"
  10896. "adds x6, x6, x9\n\t"
  10897. "adcs x7, x7, x10\n\t"
  10898. "adc x8, x8, xzr\n\t"
  10899. "add x3, x3, #8\n\t"
  10900. "sub x4, x4, #8\n\t"
  10901. "cmp x3, 384\n\t"
  10902. "b.eq 3f\n\t"
  10903. "cmp x3, x5\n\t"
  10904. "b.le 2b\n\t"
  10905. "\n3:\n\t"
  10906. "str x6, [%[r], x5]\n\t"
  10907. "mov x6, x7\n\t"
  10908. "mov x7, x8\n\t"
  10909. "mov x8, #0\n\t"
  10910. "add x5, x5, #8\n\t"
  10911. "cmp x5, 752\n\t"
  10912. "b.le 1b\n\t"
  10913. "str x6, [%[r], x5]\n\t"
  10914. :
  10915. : [r] "r" (tmp), [a] "r" (a), [b] "r" (b)
  10916. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  10917. );
  10918. XMEMCPY(r, tmp, sizeof(tmp));
  10919. }
  10920. /* Square a and put result in r. (r = a * a)
  10921. *
  10922. * r A single precision integer.
  10923. * a A single precision integer.
  10924. */
  10925. static void sp_3072_sqr_48(sp_digit* r, const sp_digit* a)
  10926. {
  10927. sp_digit tmp[96];
  10928. __asm__ __volatile__ (
  10929. "mov x6, xzr\n\t"
  10930. "mov x7, xzr\n\t"
  10931. "mov x8, xzr\n\t"
  10932. "mov x5, xzr\n\t"
  10933. "\n1:\n\t"
  10934. "subs x3, x5, 376\n\t"
  10935. "csel x3, xzr, x3, cc\n\t"
  10936. "sub x4, x5, x3\n\t"
  10937. "\n2:\n\t"
  10938. "cmp x4, x3\n\t"
  10939. "b.eq 4f\n\t"
  10940. "ldr x10, [%[a], x3]\n\t"
  10941. "ldr x11, [%[a], x4]\n\t"
  10942. "mul x9, x10, x11\n\t"
  10943. "umulh x10, x10, x11\n\t"
  10944. "adds x6, x6, x9\n\t"
  10945. "adcs x7, x7, x10\n\t"
  10946. "adc x8, x8, xzr\n\t"
  10947. "adds x6, x6, x9\n\t"
  10948. "adcs x7, x7, x10\n\t"
  10949. "adc x8, x8, xzr\n\t"
  10950. "b.al 5f\n\t"
  10951. "\n4:\n\t"
  10952. "ldr x10, [%[a], x3]\n\t"
  10953. "mul x9, x10, x10\n\t"
  10954. "umulh x10, x10, x10\n\t"
  10955. "adds x6, x6, x9\n\t"
  10956. "adcs x7, x7, x10\n\t"
  10957. "adc x8, x8, xzr\n\t"
  10958. "\n5:\n\t"
  10959. "add x3, x3, #8\n\t"
  10960. "sub x4, x4, #8\n\t"
  10961. "cmp x3, 384\n\t"
  10962. "b.eq 3f\n\t"
  10963. "cmp x3, x4\n\t"
  10964. "b.gt 3f\n\t"
  10965. "cmp x3, x5\n\t"
  10966. "b.le 2b\n\t"
  10967. "\n3:\n\t"
  10968. "str x6, [%[r], x5]\n\t"
  10969. "mov x6, x7\n\t"
  10970. "mov x7, x8\n\t"
  10971. "mov x8, #0\n\t"
  10972. "add x5, x5, #8\n\t"
  10973. "cmp x5, 752\n\t"
  10974. "b.le 1b\n\t"
  10975. "str x6, [%[r], x5]\n\t"
  10976. :
  10977. : [r] "r" (tmp), [a] "r" (a)
  10978. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  10979. );
  10980. XMEMCPY(r, tmp, sizeof(tmp));
  10981. }
  10982. #endif /* WOLFSSL_SP_SMALL */
  10983. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  10984. #ifdef WOLFSSL_SP_SMALL
  10985. /* Add b to a into r. (r = a + b)
  10986. *
  10987. * r A single precision integer.
  10988. * a A single precision integer.
  10989. * b A single precision integer.
  10990. */
  10991. static sp_digit sp_3072_add_24(sp_digit* r, const sp_digit* a,
  10992. const sp_digit* b)
  10993. {
  10994. sp_digit c = 0;
  10995. __asm__ __volatile__ (
  10996. "add x11, %[a], 192\n\t"
  10997. "\n1:\n\t"
  10998. "adds %[c], %[c], #-1\n\t"
  10999. "ldp x3, x4, [%[a]], #16\n\t"
  11000. "ldp x5, x6, [%[a]], #16\n\t"
  11001. "ldp x7, x8, [%[b]], #16\n\t"
  11002. "adcs x3, x3, x7\n\t"
  11003. "ldp x9, x10, [%[b]], #16\n\t"
  11004. "adcs x4, x4, x8\n\t"
  11005. "adcs x5, x5, x9\n\t"
  11006. "stp x3, x4, [%[r]], #16\n\t"
  11007. "adcs x6, x6, x10\n\t"
  11008. "stp x5, x6, [%[r]], #16\n\t"
  11009. "cset %[c], cs\n\t"
  11010. "cmp %[a], x11\n\t"
  11011. "b.ne 1b\n\t"
  11012. : [c] "+r" (c), [r] "+r" (r), [a] "+r" (a), [b] "+r" (b)
  11013. :
  11014. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  11015. );
  11016. return c;
  11017. }
  11018. #endif /* WOLFSSL_SP_SMALL */
  11019. #ifdef WOLFSSL_SP_SMALL
  11020. /* Sub b from a into a. (a -= b)
  11021. *
  11022. * a A single precision integer.
  11023. * b A single precision integer.
  11024. */
  11025. static sp_digit sp_3072_sub_in_place_24(sp_digit* a, const sp_digit* b)
  11026. {
  11027. sp_digit c = 0;
  11028. __asm__ __volatile__ (
  11029. "add x10, %[a], 192\n\t"
  11030. "\n1:\n\t"
  11031. "subs %[c], xzr, %[c]\n\t"
  11032. "ldp x2, x3, [%[a]]\n\t"
  11033. "ldp x4, x5, [%[a], #16]\n\t"
  11034. "ldp x6, x7, [%[b]], #16\n\t"
  11035. "sbcs x2, x2, x6\n\t"
  11036. "ldp x8, x9, [%[b]], #16\n\t"
  11037. "sbcs x3, x3, x7\n\t"
  11038. "sbcs x4, x4, x8\n\t"
  11039. "stp x2, x3, [%[a]], #16\n\t"
  11040. "sbcs x5, x5, x9\n\t"
  11041. "stp x4, x5, [%[a]], #16\n\t"
  11042. "csetm %[c], cc\n\t"
  11043. "cmp %[a], x10\n\t"
  11044. "b.ne 1b\n\t"
  11045. : [c] "+r" (c), [a] "+r" (a), [b] "+r" (b)
  11046. :
  11047. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  11048. );
  11049. return c;
  11050. }
  11051. #endif /* WOLFSSL_SP_SMALL */
  11052. #ifdef WOLFSSL_SP_SMALL
  11053. /* Multiply a and b into r. (r = a * b)
  11054. *
  11055. * r A single precision integer.
  11056. * a A single precision integer.
  11057. * b A single precision integer.
  11058. */
  11059. static void sp_3072_mul_24(sp_digit* r, const sp_digit* a, const sp_digit* b)
  11060. {
  11061. sp_digit tmp[48];
  11062. __asm__ __volatile__ (
  11063. "mov x5, xzr\n\t"
  11064. "mov x6, xzr\n\t"
  11065. "mov x7, xzr\n\t"
  11066. "mov x8, xzr\n\t"
  11067. "\n1:\n\t"
  11068. "subs x3, x5, 184\n\t"
  11069. "csel x3, xzr, x3, cc\n\t"
  11070. "sub x4, x5, x3\n\t"
  11071. "\n2:\n\t"
  11072. "ldr x10, [%[a], x3]\n\t"
  11073. "ldr x11, [%[b], x4]\n\t"
  11074. "mul x9, x10, x11\n\t"
  11075. "umulh x10, x10, x11\n\t"
  11076. "adds x6, x6, x9\n\t"
  11077. "adcs x7, x7, x10\n\t"
  11078. "adc x8, x8, xzr\n\t"
  11079. "add x3, x3, #8\n\t"
  11080. "sub x4, x4, #8\n\t"
  11081. "cmp x3, 192\n\t"
  11082. "b.eq 3f\n\t"
  11083. "cmp x3, x5\n\t"
  11084. "b.le 2b\n\t"
  11085. "\n3:\n\t"
  11086. "str x6, [%[r], x5]\n\t"
  11087. "mov x6, x7\n\t"
  11088. "mov x7, x8\n\t"
  11089. "mov x8, #0\n\t"
  11090. "add x5, x5, #8\n\t"
  11091. "cmp x5, 368\n\t"
  11092. "b.le 1b\n\t"
  11093. "str x6, [%[r], x5]\n\t"
  11094. :
  11095. : [r] "r" (tmp), [a] "r" (a), [b] "r" (b)
  11096. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  11097. );
  11098. XMEMCPY(r, tmp, sizeof(tmp));
  11099. }
  11100. /* Square a and put result in r. (r = a * a)
  11101. *
  11102. * r A single precision integer.
  11103. * a A single precision integer.
  11104. */
  11105. static void sp_3072_sqr_24(sp_digit* r, const sp_digit* a)
  11106. {
  11107. sp_digit tmp[48];
  11108. __asm__ __volatile__ (
  11109. "mov x6, xzr\n\t"
  11110. "mov x7, xzr\n\t"
  11111. "mov x8, xzr\n\t"
  11112. "mov x5, xzr\n\t"
  11113. "\n1:\n\t"
  11114. "subs x3, x5, 184\n\t"
  11115. "csel x3, xzr, x3, cc\n\t"
  11116. "sub x4, x5, x3\n\t"
  11117. "\n2:\n\t"
  11118. "cmp x4, x3\n\t"
  11119. "b.eq 4f\n\t"
  11120. "ldr x10, [%[a], x3]\n\t"
  11121. "ldr x11, [%[a], x4]\n\t"
  11122. "mul x9, x10, x11\n\t"
  11123. "umulh x10, x10, x11\n\t"
  11124. "adds x6, x6, x9\n\t"
  11125. "adcs x7, x7, x10\n\t"
  11126. "adc x8, x8, xzr\n\t"
  11127. "adds x6, x6, x9\n\t"
  11128. "adcs x7, x7, x10\n\t"
  11129. "adc x8, x8, xzr\n\t"
  11130. "b.al 5f\n\t"
  11131. "\n4:\n\t"
  11132. "ldr x10, [%[a], x3]\n\t"
  11133. "mul x9, x10, x10\n\t"
  11134. "umulh x10, x10, x10\n\t"
  11135. "adds x6, x6, x9\n\t"
  11136. "adcs x7, x7, x10\n\t"
  11137. "adc x8, x8, xzr\n\t"
  11138. "\n5:\n\t"
  11139. "add x3, x3, #8\n\t"
  11140. "sub x4, x4, #8\n\t"
  11141. "cmp x3, 192\n\t"
  11142. "b.eq 3f\n\t"
  11143. "cmp x3, x4\n\t"
  11144. "b.gt 3f\n\t"
  11145. "cmp x3, x5\n\t"
  11146. "b.le 2b\n\t"
  11147. "\n3:\n\t"
  11148. "str x6, [%[r], x5]\n\t"
  11149. "mov x6, x7\n\t"
  11150. "mov x7, x8\n\t"
  11151. "mov x8, #0\n\t"
  11152. "add x5, x5, #8\n\t"
  11153. "cmp x5, 368\n\t"
  11154. "b.le 1b\n\t"
  11155. "str x6, [%[r], x5]\n\t"
  11156. :
  11157. : [r] "r" (tmp), [a] "r" (a)
  11158. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  11159. );
  11160. XMEMCPY(r, tmp, sizeof(tmp));
  11161. }
  11162. #endif /* WOLFSSL_SP_SMALL */
  11163. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  11164. /* Caclulate the bottom digit of -1/a mod 2^n.
  11165. *
  11166. * a A single precision number.
  11167. * rho Bottom word of inverse.
  11168. */
  11169. static void sp_3072_mont_setup(const sp_digit* a, sp_digit* rho)
  11170. {
  11171. sp_digit x;
  11172. sp_digit b;
  11173. b = a[0];
  11174. x = (((b + 2) & 4) << 1) + b; /* here x*a==1 mod 2**4 */
  11175. x *= 2 - b * x; /* here x*a==1 mod 2**8 */
  11176. x *= 2 - b * x; /* here x*a==1 mod 2**16 */
  11177. x *= 2 - b * x; /* here x*a==1 mod 2**32 */
  11178. x *= 2 - b * x; /* here x*a==1 mod 2**64 */
  11179. /* rho = -1/m mod b */
  11180. *rho = (sp_digit)0 - x;
  11181. }
  11182. /* Mul a by digit b into r. (r = a * b)
  11183. *
  11184. * r A single precision integer.
  11185. * a A single precision integer.
  11186. * b A single precision digit.
  11187. */
  11188. static void sp_3072_mul_d_48(sp_digit* r, const sp_digit* a,
  11189. sp_digit b)
  11190. {
  11191. #ifdef WOLFSSL_SP_SMALL
  11192. __asm__ __volatile__ (
  11193. "# A[0] * B\n\t"
  11194. "ldr x8, [%[a]]\n\t"
  11195. "mul x5, %[b], x8\n\t"
  11196. "umulh x3, %[b], x8\n\t"
  11197. "mov x4, xzr\n\t"
  11198. "str x5, [%[r]]\n\t"
  11199. "mov x5, xzr\n\t"
  11200. "mov x9, #8\n\t"
  11201. "1:\n\t"
  11202. "ldr x8, [%[a], x9]\n\t"
  11203. "mul x6, %[b], x8\n\t"
  11204. "umulh x7, %[b], x8\n\t"
  11205. "adds x3, x3, x6\n\t"
  11206. "adcs x4, x4, x7\n\t"
  11207. "adc x5, xzr, xzr\n\t"
  11208. "str x3, [%[r], x9]\n\t"
  11209. "mov x3, x4\n\t"
  11210. "mov x4, x5\n\t"
  11211. "mov x5, #0\n\t"
  11212. "add x9, x9, #8\n\t"
  11213. "cmp x9, 384\n\t"
  11214. "b.lt 1b\n\t"
  11215. "str x3, [%[r], 384]\n\t"
  11216. :
  11217. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  11218. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  11219. );
  11220. #else
  11221. __asm__ __volatile__ (
  11222. "# A[0] * B\n\t"
  11223. "ldp x9, x10, [%[a]]\n\t"
  11224. "mul x3, %[b], x9\n\t"
  11225. "umulh x4, %[b], x9\n\t"
  11226. "mov x5, xzr\n\t"
  11227. "# A[1] * B\n\t"
  11228. "str x3, [%[r]]\n\t"
  11229. "mul x6, %[b], x10\n\t"
  11230. "mov x3, xzr\n\t"
  11231. "umulh x7, %[b], x10\n\t"
  11232. "adds x4, x4, x6\n\t"
  11233. "# A[2] * B\n\t"
  11234. "ldp x9, x10, [%[a], 16]\n\t"
  11235. "str x4, [%[r], 8]\n\t"
  11236. "adcs x5, x5, x7\n\t"
  11237. "mul x6, %[b], x9\n\t"
  11238. "mov x4, xzr\n\t"
  11239. "umulh x7, %[b], x9\n\t"
  11240. "adc x3, xzr, xzr\n\t"
  11241. "adds x5, x5, x6\n\t"
  11242. "# A[3] * B\n\t"
  11243. "str x5, [%[r], 16]\n\t"
  11244. "adcs x3, x3, x7\n\t"
  11245. "mul x6, %[b], x10\n\t"
  11246. "mov x5, xzr\n\t"
  11247. "umulh x7, %[b], x10\n\t"
  11248. "adc x4, xzr, xzr\n\t"
  11249. "adds x3, x3, x6\n\t"
  11250. "# A[4] * B\n\t"
  11251. "ldp x9, x10, [%[a], 32]\n\t"
  11252. "str x3, [%[r], 24]\n\t"
  11253. "adcs x4, x4, x7\n\t"
  11254. "mul x6, %[b], x9\n\t"
  11255. "mov x3, xzr\n\t"
  11256. "umulh x7, %[b], x9\n\t"
  11257. "adc x5, xzr, xzr\n\t"
  11258. "adds x4, x4, x6\n\t"
  11259. "# A[5] * B\n\t"
  11260. "str x4, [%[r], 32]\n\t"
  11261. "adcs x5, x5, x7\n\t"
  11262. "mul x6, %[b], x10\n\t"
  11263. "mov x4, xzr\n\t"
  11264. "umulh x7, %[b], x10\n\t"
  11265. "adc x3, xzr, xzr\n\t"
  11266. "adds x5, x5, x6\n\t"
  11267. "# A[6] * B\n\t"
  11268. "ldp x9, x10, [%[a], 48]\n\t"
  11269. "str x5, [%[r], 40]\n\t"
  11270. "adcs x3, x3, x7\n\t"
  11271. "mul x6, %[b], x9\n\t"
  11272. "mov x5, xzr\n\t"
  11273. "umulh x7, %[b], x9\n\t"
  11274. "adc x4, xzr, xzr\n\t"
  11275. "adds x3, x3, x6\n\t"
  11276. "# A[7] * B\n\t"
  11277. "str x3, [%[r], 48]\n\t"
  11278. "adcs x4, x4, x7\n\t"
  11279. "mul x6, %[b], x10\n\t"
  11280. "mov x3, xzr\n\t"
  11281. "umulh x7, %[b], x10\n\t"
  11282. "adc x5, xzr, xzr\n\t"
  11283. "adds x4, x4, x6\n\t"
  11284. "# A[8] * B\n\t"
  11285. "ldp x9, x10, [%[a], 64]\n\t"
  11286. "str x4, [%[r], 56]\n\t"
  11287. "adcs x5, x5, x7\n\t"
  11288. "mul x6, %[b], x9\n\t"
  11289. "mov x4, xzr\n\t"
  11290. "umulh x7, %[b], x9\n\t"
  11291. "adc x3, xzr, xzr\n\t"
  11292. "adds x5, x5, x6\n\t"
  11293. "# A[9] * B\n\t"
  11294. "str x5, [%[r], 64]\n\t"
  11295. "adcs x3, x3, x7\n\t"
  11296. "mul x6, %[b], x10\n\t"
  11297. "mov x5, xzr\n\t"
  11298. "umulh x7, %[b], x10\n\t"
  11299. "adc x4, xzr, xzr\n\t"
  11300. "adds x3, x3, x6\n\t"
  11301. "# A[10] * B\n\t"
  11302. "ldp x9, x10, [%[a], 80]\n\t"
  11303. "str x3, [%[r], 72]\n\t"
  11304. "adcs x4, x4, x7\n\t"
  11305. "mul x6, %[b], x9\n\t"
  11306. "mov x3, xzr\n\t"
  11307. "umulh x7, %[b], x9\n\t"
  11308. "adc x5, xzr, xzr\n\t"
  11309. "adds x4, x4, x6\n\t"
  11310. "# A[11] * B\n\t"
  11311. "str x4, [%[r], 80]\n\t"
  11312. "adcs x5, x5, x7\n\t"
  11313. "mul x6, %[b], x10\n\t"
  11314. "mov x4, xzr\n\t"
  11315. "umulh x7, %[b], x10\n\t"
  11316. "adc x3, xzr, xzr\n\t"
  11317. "adds x5, x5, x6\n\t"
  11318. "# A[12] * B\n\t"
  11319. "ldp x9, x10, [%[a], 96]\n\t"
  11320. "str x5, [%[r], 88]\n\t"
  11321. "adcs x3, x3, x7\n\t"
  11322. "mul x6, %[b], x9\n\t"
  11323. "mov x5, xzr\n\t"
  11324. "umulh x7, %[b], x9\n\t"
  11325. "adc x4, xzr, xzr\n\t"
  11326. "adds x3, x3, x6\n\t"
  11327. "# A[13] * B\n\t"
  11328. "str x3, [%[r], 96]\n\t"
  11329. "adcs x4, x4, x7\n\t"
  11330. "mul x6, %[b], x10\n\t"
  11331. "mov x3, xzr\n\t"
  11332. "umulh x7, %[b], x10\n\t"
  11333. "adc x5, xzr, xzr\n\t"
  11334. "adds x4, x4, x6\n\t"
  11335. "# A[14] * B\n\t"
  11336. "ldp x9, x10, [%[a], 112]\n\t"
  11337. "str x4, [%[r], 104]\n\t"
  11338. "adcs x5, x5, x7\n\t"
  11339. "mul x6, %[b], x9\n\t"
  11340. "mov x4, xzr\n\t"
  11341. "umulh x7, %[b], x9\n\t"
  11342. "adc x3, xzr, xzr\n\t"
  11343. "adds x5, x5, x6\n\t"
  11344. "# A[15] * B\n\t"
  11345. "str x5, [%[r], 112]\n\t"
  11346. "adcs x3, x3, x7\n\t"
  11347. "mul x6, %[b], x10\n\t"
  11348. "mov x5, xzr\n\t"
  11349. "umulh x7, %[b], x10\n\t"
  11350. "adc x4, xzr, xzr\n\t"
  11351. "adds x3, x3, x6\n\t"
  11352. "# A[16] * B\n\t"
  11353. "ldp x9, x10, [%[a], 128]\n\t"
  11354. "str x3, [%[r], 120]\n\t"
  11355. "adcs x4, x4, x7\n\t"
  11356. "mul x6, %[b], x9\n\t"
  11357. "mov x3, xzr\n\t"
  11358. "umulh x7, %[b], x9\n\t"
  11359. "adc x5, xzr, xzr\n\t"
  11360. "adds x4, x4, x6\n\t"
  11361. "# A[17] * B\n\t"
  11362. "str x4, [%[r], 128]\n\t"
  11363. "adcs x5, x5, x7\n\t"
  11364. "mul x6, %[b], x10\n\t"
  11365. "mov x4, xzr\n\t"
  11366. "umulh x7, %[b], x10\n\t"
  11367. "adc x3, xzr, xzr\n\t"
  11368. "adds x5, x5, x6\n\t"
  11369. "# A[18] * B\n\t"
  11370. "ldp x9, x10, [%[a], 144]\n\t"
  11371. "str x5, [%[r], 136]\n\t"
  11372. "adcs x3, x3, x7\n\t"
  11373. "mul x6, %[b], x9\n\t"
  11374. "mov x5, xzr\n\t"
  11375. "umulh x7, %[b], x9\n\t"
  11376. "adc x4, xzr, xzr\n\t"
  11377. "adds x3, x3, x6\n\t"
  11378. "# A[19] * B\n\t"
  11379. "str x3, [%[r], 144]\n\t"
  11380. "adcs x4, x4, x7\n\t"
  11381. "mul x6, %[b], x10\n\t"
  11382. "mov x3, xzr\n\t"
  11383. "umulh x7, %[b], x10\n\t"
  11384. "adc x5, xzr, xzr\n\t"
  11385. "adds x4, x4, x6\n\t"
  11386. "# A[20] * B\n\t"
  11387. "ldp x9, x10, [%[a], 160]\n\t"
  11388. "str x4, [%[r], 152]\n\t"
  11389. "adcs x5, x5, x7\n\t"
  11390. "mul x6, %[b], x9\n\t"
  11391. "mov x4, xzr\n\t"
  11392. "umulh x7, %[b], x9\n\t"
  11393. "adc x3, xzr, xzr\n\t"
  11394. "adds x5, x5, x6\n\t"
  11395. "# A[21] * B\n\t"
  11396. "str x5, [%[r], 160]\n\t"
  11397. "adcs x3, x3, x7\n\t"
  11398. "mul x6, %[b], x10\n\t"
  11399. "mov x5, xzr\n\t"
  11400. "umulh x7, %[b], x10\n\t"
  11401. "adc x4, xzr, xzr\n\t"
  11402. "adds x3, x3, x6\n\t"
  11403. "# A[22] * B\n\t"
  11404. "ldp x9, x10, [%[a], 176]\n\t"
  11405. "str x3, [%[r], 168]\n\t"
  11406. "adcs x4, x4, x7\n\t"
  11407. "mul x6, %[b], x9\n\t"
  11408. "mov x3, xzr\n\t"
  11409. "umulh x7, %[b], x9\n\t"
  11410. "adc x5, xzr, xzr\n\t"
  11411. "adds x4, x4, x6\n\t"
  11412. "# A[23] * B\n\t"
  11413. "str x4, [%[r], 176]\n\t"
  11414. "adcs x5, x5, x7\n\t"
  11415. "mul x6, %[b], x10\n\t"
  11416. "mov x4, xzr\n\t"
  11417. "umulh x7, %[b], x10\n\t"
  11418. "adc x3, xzr, xzr\n\t"
  11419. "adds x5, x5, x6\n\t"
  11420. "# A[24] * B\n\t"
  11421. "ldp x9, x10, [%[a], 192]\n\t"
  11422. "str x5, [%[r], 184]\n\t"
  11423. "adcs x3, x3, x7\n\t"
  11424. "mul x6, %[b], x9\n\t"
  11425. "mov x5, xzr\n\t"
  11426. "umulh x7, %[b], x9\n\t"
  11427. "adc x4, xzr, xzr\n\t"
  11428. "adds x3, x3, x6\n\t"
  11429. "# A[25] * B\n\t"
  11430. "str x3, [%[r], 192]\n\t"
  11431. "adcs x4, x4, x7\n\t"
  11432. "mul x6, %[b], x10\n\t"
  11433. "mov x3, xzr\n\t"
  11434. "umulh x7, %[b], x10\n\t"
  11435. "adc x5, xzr, xzr\n\t"
  11436. "adds x4, x4, x6\n\t"
  11437. "# A[26] * B\n\t"
  11438. "ldp x9, x10, [%[a], 208]\n\t"
  11439. "str x4, [%[r], 200]\n\t"
  11440. "adcs x5, x5, x7\n\t"
  11441. "mul x6, %[b], x9\n\t"
  11442. "mov x4, xzr\n\t"
  11443. "umulh x7, %[b], x9\n\t"
  11444. "adc x3, xzr, xzr\n\t"
  11445. "adds x5, x5, x6\n\t"
  11446. "# A[27] * B\n\t"
  11447. "str x5, [%[r], 208]\n\t"
  11448. "adcs x3, x3, x7\n\t"
  11449. "mul x6, %[b], x10\n\t"
  11450. "mov x5, xzr\n\t"
  11451. "umulh x7, %[b], x10\n\t"
  11452. "adc x4, xzr, xzr\n\t"
  11453. "adds x3, x3, x6\n\t"
  11454. "# A[28] * B\n\t"
  11455. "ldp x9, x10, [%[a], 224]\n\t"
  11456. "str x3, [%[r], 216]\n\t"
  11457. "adcs x4, x4, x7\n\t"
  11458. "mul x6, %[b], x9\n\t"
  11459. "mov x3, xzr\n\t"
  11460. "umulh x7, %[b], x9\n\t"
  11461. "adc x5, xzr, xzr\n\t"
  11462. "adds x4, x4, x6\n\t"
  11463. "# A[29] * B\n\t"
  11464. "str x4, [%[r], 224]\n\t"
  11465. "adcs x5, x5, x7\n\t"
  11466. "mul x6, %[b], x10\n\t"
  11467. "mov x4, xzr\n\t"
  11468. "umulh x7, %[b], x10\n\t"
  11469. "adc x3, xzr, xzr\n\t"
  11470. "adds x5, x5, x6\n\t"
  11471. "# A[30] * B\n\t"
  11472. "ldp x9, x10, [%[a], 240]\n\t"
  11473. "str x5, [%[r], 232]\n\t"
  11474. "adcs x3, x3, x7\n\t"
  11475. "mul x6, %[b], x9\n\t"
  11476. "mov x5, xzr\n\t"
  11477. "umulh x7, %[b], x9\n\t"
  11478. "adc x4, xzr, xzr\n\t"
  11479. "adds x3, x3, x6\n\t"
  11480. "# A[31] * B\n\t"
  11481. "str x3, [%[r], 240]\n\t"
  11482. "adcs x4, x4, x7\n\t"
  11483. "mul x6, %[b], x10\n\t"
  11484. "mov x3, xzr\n\t"
  11485. "umulh x7, %[b], x10\n\t"
  11486. "adc x5, xzr, xzr\n\t"
  11487. "adds x4, x4, x6\n\t"
  11488. "# A[32] * B\n\t"
  11489. "ldp x9, x10, [%[a], 256]\n\t"
  11490. "str x4, [%[r], 248]\n\t"
  11491. "adcs x5, x5, x7\n\t"
  11492. "mul x6, %[b], x9\n\t"
  11493. "mov x4, xzr\n\t"
  11494. "umulh x7, %[b], x9\n\t"
  11495. "adc x3, xzr, xzr\n\t"
  11496. "adds x5, x5, x6\n\t"
  11497. "# A[33] * B\n\t"
  11498. "str x5, [%[r], 256]\n\t"
  11499. "adcs x3, x3, x7\n\t"
  11500. "mul x6, %[b], x10\n\t"
  11501. "mov x5, xzr\n\t"
  11502. "umulh x7, %[b], x10\n\t"
  11503. "adc x4, xzr, xzr\n\t"
  11504. "adds x3, x3, x6\n\t"
  11505. "# A[34] * B\n\t"
  11506. "ldp x9, x10, [%[a], 272]\n\t"
  11507. "str x3, [%[r], 264]\n\t"
  11508. "adcs x4, x4, x7\n\t"
  11509. "mul x6, %[b], x9\n\t"
  11510. "mov x3, xzr\n\t"
  11511. "umulh x7, %[b], x9\n\t"
  11512. "adc x5, xzr, xzr\n\t"
  11513. "adds x4, x4, x6\n\t"
  11514. "# A[35] * B\n\t"
  11515. "str x4, [%[r], 272]\n\t"
  11516. "adcs x5, x5, x7\n\t"
  11517. "mul x6, %[b], x10\n\t"
  11518. "mov x4, xzr\n\t"
  11519. "umulh x7, %[b], x10\n\t"
  11520. "adc x3, xzr, xzr\n\t"
  11521. "adds x5, x5, x6\n\t"
  11522. "# A[36] * B\n\t"
  11523. "ldp x9, x10, [%[a], 288]\n\t"
  11524. "str x5, [%[r], 280]\n\t"
  11525. "adcs x3, x3, x7\n\t"
  11526. "mul x6, %[b], x9\n\t"
  11527. "mov x5, xzr\n\t"
  11528. "umulh x7, %[b], x9\n\t"
  11529. "adc x4, xzr, xzr\n\t"
  11530. "adds x3, x3, x6\n\t"
  11531. "# A[37] * B\n\t"
  11532. "str x3, [%[r], 288]\n\t"
  11533. "adcs x4, x4, x7\n\t"
  11534. "mul x6, %[b], x10\n\t"
  11535. "mov x3, xzr\n\t"
  11536. "umulh x7, %[b], x10\n\t"
  11537. "adc x5, xzr, xzr\n\t"
  11538. "adds x4, x4, x6\n\t"
  11539. "# A[38] * B\n\t"
  11540. "ldp x9, x10, [%[a], 304]\n\t"
  11541. "str x4, [%[r], 296]\n\t"
  11542. "adcs x5, x5, x7\n\t"
  11543. "mul x6, %[b], x9\n\t"
  11544. "mov x4, xzr\n\t"
  11545. "umulh x7, %[b], x9\n\t"
  11546. "adc x3, xzr, xzr\n\t"
  11547. "adds x5, x5, x6\n\t"
  11548. "# A[39] * B\n\t"
  11549. "str x5, [%[r], 304]\n\t"
  11550. "adcs x3, x3, x7\n\t"
  11551. "mul x6, %[b], x10\n\t"
  11552. "mov x5, xzr\n\t"
  11553. "umulh x7, %[b], x10\n\t"
  11554. "adc x4, xzr, xzr\n\t"
  11555. "adds x3, x3, x6\n\t"
  11556. "# A[40] * B\n\t"
  11557. "ldp x9, x10, [%[a], 320]\n\t"
  11558. "str x3, [%[r], 312]\n\t"
  11559. "adcs x4, x4, x7\n\t"
  11560. "mul x6, %[b], x9\n\t"
  11561. "mov x3, xzr\n\t"
  11562. "umulh x7, %[b], x9\n\t"
  11563. "adc x5, xzr, xzr\n\t"
  11564. "adds x4, x4, x6\n\t"
  11565. "# A[41] * B\n\t"
  11566. "str x4, [%[r], 320]\n\t"
  11567. "adcs x5, x5, x7\n\t"
  11568. "mul x6, %[b], x10\n\t"
  11569. "mov x4, xzr\n\t"
  11570. "umulh x7, %[b], x10\n\t"
  11571. "adc x3, xzr, xzr\n\t"
  11572. "adds x5, x5, x6\n\t"
  11573. "# A[42] * B\n\t"
  11574. "ldp x9, x10, [%[a], 336]\n\t"
  11575. "str x5, [%[r], 328]\n\t"
  11576. "adcs x3, x3, x7\n\t"
  11577. "mul x6, %[b], x9\n\t"
  11578. "mov x5, xzr\n\t"
  11579. "umulh x7, %[b], x9\n\t"
  11580. "adc x4, xzr, xzr\n\t"
  11581. "adds x3, x3, x6\n\t"
  11582. "# A[43] * B\n\t"
  11583. "str x3, [%[r], 336]\n\t"
  11584. "adcs x4, x4, x7\n\t"
  11585. "mul x6, %[b], x10\n\t"
  11586. "mov x3, xzr\n\t"
  11587. "umulh x7, %[b], x10\n\t"
  11588. "adc x5, xzr, xzr\n\t"
  11589. "adds x4, x4, x6\n\t"
  11590. "# A[44] * B\n\t"
  11591. "ldp x9, x10, [%[a], 352]\n\t"
  11592. "str x4, [%[r], 344]\n\t"
  11593. "adcs x5, x5, x7\n\t"
  11594. "mul x6, %[b], x9\n\t"
  11595. "mov x4, xzr\n\t"
  11596. "umulh x7, %[b], x9\n\t"
  11597. "adc x3, xzr, xzr\n\t"
  11598. "adds x5, x5, x6\n\t"
  11599. "# A[45] * B\n\t"
  11600. "str x5, [%[r], 352]\n\t"
  11601. "adcs x3, x3, x7\n\t"
  11602. "mul x6, %[b], x10\n\t"
  11603. "mov x5, xzr\n\t"
  11604. "umulh x7, %[b], x10\n\t"
  11605. "adc x4, xzr, xzr\n\t"
  11606. "adds x3, x3, x6\n\t"
  11607. "# A[46] * B\n\t"
  11608. "ldp x9, x10, [%[a], 368]\n\t"
  11609. "str x3, [%[r], 360]\n\t"
  11610. "adcs x4, x4, x7\n\t"
  11611. "mul x6, %[b], x9\n\t"
  11612. "mov x3, xzr\n\t"
  11613. "umulh x7, %[b], x9\n\t"
  11614. "adc x5, xzr, xzr\n\t"
  11615. "adds x4, x4, x6\n\t"
  11616. "# A[47] * B\n\t"
  11617. "str x4, [%[r], 368]\n\t"
  11618. "mul x6, %[b], x10\n\t"
  11619. "adcs x5, x5, x7\n\t"
  11620. "umulh x7, %[b], x10\n\t"
  11621. "adc x3, xzr, xzr\n\t"
  11622. "adds x5, x5, x6\n\t"
  11623. "adc x3, x3, x7\n\t"
  11624. "str x5, [%[r], 376]\n\t"
  11625. "str x3, [%[r], 384]\n\t"
  11626. :
  11627. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  11628. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  11629. );
  11630. #endif
  11631. }
  11632. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  11633. /* r = 2^n mod m where n is the number of bits to reduce by.
  11634. * Given m must be 3072 bits, just need to subtract.
  11635. *
  11636. * r A single precision number.
  11637. * m A single precision number.
  11638. */
  11639. static void sp_3072_mont_norm_24(sp_digit* r, const sp_digit* m)
  11640. {
  11641. XMEMSET(r, 0, sizeof(sp_digit) * 24);
  11642. /* r = 2^n mod m */
  11643. sp_3072_sub_in_place_24(r, m);
  11644. }
  11645. /* Reduce the number back to 3072 bits using Montgomery reduction.
  11646. *
  11647. * a A single precision number to reduce in place.
  11648. * m The single precision number representing the modulus.
  11649. * mp The digit representing the negative inverse of m mod 2^n.
  11650. */
  11651. SP_NOINLINE static void sp_3072_mont_reduce_24(sp_digit* a, const sp_digit* m,
  11652. sp_digit mp)
  11653. {
  11654. __asm__ __volatile__ (
  11655. "ldp x11, x12, [%[a], 0]\n\t"
  11656. "ldp x13, x14, [%[a], 16]\n\t"
  11657. "ldp x15, x16, [%[a], 32]\n\t"
  11658. "ldp x17, x19, [%[a], 48]\n\t"
  11659. "ldp x20, x21, [%[a], 64]\n\t"
  11660. "ldp x22, x23, [%[a], 80]\n\t"
  11661. "# No carry yet\n\t"
  11662. "mov x3, xzr\n\t"
  11663. "# i = 0..23\n\t"
  11664. "mov x4, 24\n\t"
  11665. "\n1:\n\t"
  11666. "# mu = a[i] * mp\n\t"
  11667. "mul x10, %[mp], x11\n\t"
  11668. "ldp x24, x25, [%[m], 0]\n\t"
  11669. "ldp x26, x27, [%[m], 16]\n\t"
  11670. "# a[i+0] += m[0] * mu\n\t"
  11671. "mul x5, x24, x10\n\t"
  11672. "umulh x6, x24, x10\n\t"
  11673. "# a[i+1] += m[1] * mu\n\t"
  11674. "adds x11, x11, x5\n\t"
  11675. "mul x5, x25, x10\n\t"
  11676. "adc x6, x6, xzr\n\t"
  11677. "umulh x7, x25, x10\n\t"
  11678. "adds x11, x12, x5\n\t"
  11679. "# a[i+2] += m[2] * mu\n\t"
  11680. "adc x7, x7, xzr\n\t"
  11681. "adds x11, x11, x6\n\t"
  11682. "mul x5, x26, x10\n\t"
  11683. "adc x7, x7, xzr\n\t"
  11684. "umulh x6, x26, x10\n\t"
  11685. "adds x12, x13, x5\n\t"
  11686. "# a[i+3] += m[3] * mu\n\t"
  11687. "adc x6, x6, xzr\n\t"
  11688. "adds x12, x12, x7\n\t"
  11689. "mul x5, x27, x10\n\t"
  11690. "adc x6, x6, xzr\n\t"
  11691. "umulh x7, x27, x10\n\t"
  11692. "adds x13, x14, x5\n\t"
  11693. "ldp x24, x25, [%[m], 32]\n\t"
  11694. "ldp x26, x27, [%[m], 48]\n\t"
  11695. "# a[i+4] += m[4] * mu\n\t"
  11696. "adc x7, x7, xzr\n\t"
  11697. "adds x13, x13, x6\n\t"
  11698. "mul x5, x24, x10\n\t"
  11699. "adc x7, x7, xzr\n\t"
  11700. "umulh x6, x24, x10\n\t"
  11701. "adds x14, x15, x5\n\t"
  11702. "# a[i+5] += m[5] * mu\n\t"
  11703. "adc x6, x6, xzr\n\t"
  11704. "adds x14, x14, x7\n\t"
  11705. "mul x5, x25, x10\n\t"
  11706. "adc x6, x6, xzr\n\t"
  11707. "umulh x7, x25, x10\n\t"
  11708. "adds x15, x16, x5\n\t"
  11709. "# a[i+6] += m[6] * mu\n\t"
  11710. "adc x7, x7, xzr\n\t"
  11711. "adds x15, x15, x6\n\t"
  11712. "mul x5, x26, x10\n\t"
  11713. "adc x7, x7, xzr\n\t"
  11714. "umulh x6, x26, x10\n\t"
  11715. "adds x16, x17, x5\n\t"
  11716. "# a[i+7] += m[7] * mu\n\t"
  11717. "adc x6, x6, xzr\n\t"
  11718. "adds x16, x16, x7\n\t"
  11719. "mul x5, x27, x10\n\t"
  11720. "adc x6, x6, xzr\n\t"
  11721. "umulh x7, x27, x10\n\t"
  11722. "adds x17, x19, x5\n\t"
  11723. "ldp x24, x25, [%[m], 64]\n\t"
  11724. "ldp x26, x27, [%[m], 80]\n\t"
  11725. "# a[i+8] += m[8] * mu\n\t"
  11726. "adc x7, x7, xzr\n\t"
  11727. "adds x17, x17, x6\n\t"
  11728. "mul x5, x24, x10\n\t"
  11729. "adc x7, x7, xzr\n\t"
  11730. "umulh x6, x24, x10\n\t"
  11731. "adds x19, x20, x5\n\t"
  11732. "# a[i+9] += m[9] * mu\n\t"
  11733. "adc x6, x6, xzr\n\t"
  11734. "adds x19, x19, x7\n\t"
  11735. "mul x5, x25, x10\n\t"
  11736. "adc x6, x6, xzr\n\t"
  11737. "umulh x7, x25, x10\n\t"
  11738. "adds x20, x21, x5\n\t"
  11739. "# a[i+10] += m[10] * mu\n\t"
  11740. "adc x7, x7, xzr\n\t"
  11741. "adds x20, x20, x6\n\t"
  11742. "mul x5, x26, x10\n\t"
  11743. "adc x7, x7, xzr\n\t"
  11744. "umulh x6, x26, x10\n\t"
  11745. "adds x21, x22, x5\n\t"
  11746. "# a[i+11] += m[11] * mu\n\t"
  11747. "adc x6, x6, xzr\n\t"
  11748. "adds x21, x21, x7\n\t"
  11749. "mul x5, x27, x10\n\t"
  11750. "adc x6, x6, xzr\n\t"
  11751. "umulh x7, x27, x10\n\t"
  11752. "adds x22, x23, x5\n\t"
  11753. "ldp x24, x25, [%[m], 96]\n\t"
  11754. "ldp x26, x27, [%[m], 112]\n\t"
  11755. "# a[i+12] += m[12] * mu\n\t"
  11756. "adc x7, x7, xzr\n\t"
  11757. "adds x22, x22, x6\n\t"
  11758. "mul x5, x24, x10\n\t"
  11759. "adc x7, x7, xzr\n\t"
  11760. "ldr x23, [%[a], 96]\n\t"
  11761. "umulh x6, x24, x10\n\t"
  11762. "adds x23, x23, x5\n\t"
  11763. "# a[i+13] += m[13] * mu\n\t"
  11764. "adc x6, x6, xzr\n\t"
  11765. "adds x23, x23, x7\n\t"
  11766. "mul x5, x25, x10\n\t"
  11767. "adc x6, x6, xzr\n\t"
  11768. "ldp x8, x9, [%[a], 104]\n\t"
  11769. "umulh x7, x25, x10\n\t"
  11770. "adds x8, x8, x5\n\t"
  11771. "# a[i+14] += m[14] * mu\n\t"
  11772. "adc x7, x7, xzr\n\t"
  11773. "adds x8, x8, x6\n\t"
  11774. "mul x5, x26, x10\n\t"
  11775. "adc x7, x7, xzr\n\t"
  11776. "str x8, [%[a], 104]\n\t"
  11777. "umulh x6, x26, x10\n\t"
  11778. "adds x9, x9, x5\n\t"
  11779. "# a[i+15] += m[15] * mu\n\t"
  11780. "adc x6, x6, xzr\n\t"
  11781. "adds x9, x9, x7\n\t"
  11782. "mul x5, x27, x10\n\t"
  11783. "adc x6, x6, xzr\n\t"
  11784. "str x9, [%[a], 112]\n\t"
  11785. "ldp x8, x9, [%[a], 120]\n\t"
  11786. "umulh x7, x27, x10\n\t"
  11787. "adds x8, x8, x5\n\t"
  11788. "ldp x24, x25, [%[m], 128]\n\t"
  11789. "ldp x26, x27, [%[m], 144]\n\t"
  11790. "# a[i+16] += m[16] * mu\n\t"
  11791. "adc x7, x7, xzr\n\t"
  11792. "adds x8, x8, x6\n\t"
  11793. "mul x5, x24, x10\n\t"
  11794. "adc x7, x7, xzr\n\t"
  11795. "str x8, [%[a], 120]\n\t"
  11796. "umulh x6, x24, x10\n\t"
  11797. "adds x9, x9, x5\n\t"
  11798. "# a[i+17] += m[17] * mu\n\t"
  11799. "adc x6, x6, xzr\n\t"
  11800. "adds x9, x9, x7\n\t"
  11801. "mul x5, x25, x10\n\t"
  11802. "adc x6, x6, xzr\n\t"
  11803. "str x9, [%[a], 128]\n\t"
  11804. "ldp x8, x9, [%[a], 136]\n\t"
  11805. "umulh x7, x25, x10\n\t"
  11806. "adds x8, x8, x5\n\t"
  11807. "# a[i+18] += m[18] * mu\n\t"
  11808. "adc x7, x7, xzr\n\t"
  11809. "adds x8, x8, x6\n\t"
  11810. "mul x5, x26, x10\n\t"
  11811. "adc x7, x7, xzr\n\t"
  11812. "str x8, [%[a], 136]\n\t"
  11813. "umulh x6, x26, x10\n\t"
  11814. "adds x9, x9, x5\n\t"
  11815. "# a[i+19] += m[19] * mu\n\t"
  11816. "adc x6, x6, xzr\n\t"
  11817. "adds x9, x9, x7\n\t"
  11818. "mul x5, x27, x10\n\t"
  11819. "adc x6, x6, xzr\n\t"
  11820. "str x9, [%[a], 144]\n\t"
  11821. "ldp x8, x9, [%[a], 152]\n\t"
  11822. "umulh x7, x27, x10\n\t"
  11823. "adds x8, x8, x5\n\t"
  11824. "ldp x24, x25, [%[m], 160]\n\t"
  11825. "ldp x26, x27, [%[m], 176]\n\t"
  11826. "# a[i+20] += m[20] * mu\n\t"
  11827. "adc x7, x7, xzr\n\t"
  11828. "adds x8, x8, x6\n\t"
  11829. "mul x5, x24, x10\n\t"
  11830. "adc x7, x7, xzr\n\t"
  11831. "str x8, [%[a], 152]\n\t"
  11832. "umulh x6, x24, x10\n\t"
  11833. "adds x9, x9, x5\n\t"
  11834. "# a[i+21] += m[21] * mu\n\t"
  11835. "adc x6, x6, xzr\n\t"
  11836. "adds x9, x9, x7\n\t"
  11837. "mul x5, x25, x10\n\t"
  11838. "adc x6, x6, xzr\n\t"
  11839. "str x9, [%[a], 160]\n\t"
  11840. "ldp x8, x9, [%[a], 168]\n\t"
  11841. "umulh x7, x25, x10\n\t"
  11842. "adds x8, x8, x5\n\t"
  11843. "# a[i+22] += m[22] * mu\n\t"
  11844. "adc x7, x7, xzr\n\t"
  11845. "adds x8, x8, x6\n\t"
  11846. "mul x5, x26, x10\n\t"
  11847. "adc x7, x7, xzr\n\t"
  11848. "str x8, [%[a], 168]\n\t"
  11849. "umulh x6, x26, x10\n\t"
  11850. "adds x9, x9, x5\n\t"
  11851. "# a[i+23] += m[23] * mu\n\t"
  11852. "adc x6, x6, xzr\n\t"
  11853. "adds x9, x9, x7\n\t"
  11854. "mul x5, x27, x10\n\t"
  11855. "adc x6, x6, xzr\n\t"
  11856. "str x9, [%[a], 176]\n\t"
  11857. "umulh x7, x27, x10\n\t"
  11858. "ldp x8, x9, [%[a], 184]\n\t"
  11859. "adds x5, x5, x6\n\t"
  11860. "adcs x7, x7, x3\n\t"
  11861. "cset x3, cs\n\t"
  11862. "adds x8, x8, x5\n\t"
  11863. "str x8, [%[a], 184]\n\t"
  11864. "adcs x9, x9, x7\n\t"
  11865. "str x9, [%[a], 192]\n\t"
  11866. "adc x3, x3, xzr\n\t"
  11867. "subs x4, x4, 1\n\t"
  11868. "add %[a], %[a], 8\n\t"
  11869. "b.ne 1b\n\t"
  11870. "# Create mask\n\t"
  11871. "neg x3, x3\n\t"
  11872. "mov %[mp], %[a]\n\t"
  11873. "sub %[a], %[a], 192\n\t"
  11874. "# Subtract masked modulus\n\t"
  11875. "ldp x4, x5, [%[m], 0]\n\t"
  11876. "ldp x6, x7, [%[m], 16]\n\t"
  11877. "and x4, x4, x3\n\t"
  11878. "and x5, x5, x3\n\t"
  11879. "subs x11, x11, x4\n\t"
  11880. "and x6, x6, x3\n\t"
  11881. "sbcs x12, x12, x5\n\t"
  11882. "and x7, x7, x3\n\t"
  11883. "sbcs x13, x13, x6\n\t"
  11884. "stp x11, x12, [%[a], 0]\n\t"
  11885. "sbcs x14, x14, x7\n\t"
  11886. "stp x13, x14, [%[a], 16]\n\t"
  11887. "ldp x4, x5, [%[m], 32]\n\t"
  11888. "ldp x6, x7, [%[m], 48]\n\t"
  11889. "and x4, x4, x3\n\t"
  11890. "and x5, x5, x3\n\t"
  11891. "sbcs x15, x15, x4\n\t"
  11892. "and x6, x6, x3\n\t"
  11893. "sbcs x16, x16, x5\n\t"
  11894. "and x7, x7, x3\n\t"
  11895. "sbcs x17, x17, x6\n\t"
  11896. "stp x15, x16, [%[a], 32]\n\t"
  11897. "sbcs x19, x19, x7\n\t"
  11898. "stp x17, x19, [%[a], 48]\n\t"
  11899. "ldp x4, x5, [%[m], 64]\n\t"
  11900. "ldp x6, x7, [%[m], 80]\n\t"
  11901. "and x4, x4, x3\n\t"
  11902. "and x5, x5, x3\n\t"
  11903. "sbcs x20, x20, x4\n\t"
  11904. "and x6, x6, x3\n\t"
  11905. "sbcs x21, x21, x5\n\t"
  11906. "and x7, x7, x3\n\t"
  11907. "sbcs x22, x22, x6\n\t"
  11908. "stp x20, x21, [%[a], 64]\n\t"
  11909. "sbcs x23, x23, x7\n\t"
  11910. "stp x22, x23, [%[a], 80]\n\t"
  11911. "ldp x4, x5, [%[m], 96]\n\t"
  11912. "ldp x6, x7, [%[m], 112]\n\t"
  11913. "ldp x8, x9, [%[mp], 96]\n\t"
  11914. "ldp x10, x11, [%[mp], 112]\n\t"
  11915. "and x4, x4, x3\n\t"
  11916. "and x5, x5, x3\n\t"
  11917. "sbcs x8, x8, x4\n\t"
  11918. "and x6, x6, x3\n\t"
  11919. "sbcs x9, x9, x5\n\t"
  11920. "and x7, x7, x3\n\t"
  11921. "sbcs x10, x10, x6\n\t"
  11922. "stp x8, x9, [%[a], 96]\n\t"
  11923. "sbcs x11, x11, x7\n\t"
  11924. "stp x10, x11, [%[a], 112]\n\t"
  11925. "ldp x4, x5, [%[m], 128]\n\t"
  11926. "ldp x6, x7, [%[m], 144]\n\t"
  11927. "ldp x8, x9, [%[mp], 128]\n\t"
  11928. "ldp x10, x11, [%[mp], 144]\n\t"
  11929. "and x4, x4, x3\n\t"
  11930. "and x5, x5, x3\n\t"
  11931. "sbcs x8, x8, x4\n\t"
  11932. "and x6, x6, x3\n\t"
  11933. "sbcs x9, x9, x5\n\t"
  11934. "and x7, x7, x3\n\t"
  11935. "sbcs x10, x10, x6\n\t"
  11936. "stp x8, x9, [%[a], 128]\n\t"
  11937. "sbcs x11, x11, x7\n\t"
  11938. "stp x10, x11, [%[a], 144]\n\t"
  11939. "ldp x4, x5, [%[m], 160]\n\t"
  11940. "ldp x6, x7, [%[m], 176]\n\t"
  11941. "ldp x8, x9, [%[mp], 160]\n\t"
  11942. "ldp x10, x11, [%[mp], 176]\n\t"
  11943. "and x4, x4, x3\n\t"
  11944. "and x5, x5, x3\n\t"
  11945. "sbcs x8, x8, x4\n\t"
  11946. "and x6, x6, x3\n\t"
  11947. "sbcs x9, x9, x5\n\t"
  11948. "and x7, x7, x3\n\t"
  11949. "sbcs x10, x10, x6\n\t"
  11950. "stp x8, x9, [%[a], 160]\n\t"
  11951. "sbcs x11, x11, x7\n\t"
  11952. "stp x10, x11, [%[a], 176]\n\t"
  11953. : [a] "+r" (a), [mp] "+r" (mp)
  11954. : [m] "r" (m)
  11955. : "memory", "x3", "x4", "x5", "x6", "x7", "x10", "x8", "x9", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27"
  11956. );
  11957. }
  11958. /* Multiply two Montgomery form numbers mod the modulus (prime).
  11959. * (r = a * b mod m)
  11960. *
  11961. * r Result of multiplication.
  11962. * a First number to multiply in Montgomery form.
  11963. * b Second number to multiply in Montgomery form.
  11964. * m Modulus (prime).
  11965. * mp Montgomery mulitplier.
  11966. */
  11967. SP_NOINLINE static void sp_3072_mont_mul_24(sp_digit* r, const sp_digit* a,
  11968. const sp_digit* b, const sp_digit* m, sp_digit mp)
  11969. {
  11970. sp_3072_mul_24(r, a, b);
  11971. sp_3072_mont_reduce_24(r, m, mp);
  11972. }
  11973. /* Square the Montgomery form number. (r = a * a mod m)
  11974. *
  11975. * r Result of squaring.
  11976. * a Number to square in Montgomery form.
  11977. * m Modulus (prime).
  11978. * mp Montgomery mulitplier.
  11979. */
  11980. SP_NOINLINE static void sp_3072_mont_sqr_24(sp_digit* r, const sp_digit* a,
  11981. const sp_digit* m, sp_digit mp)
  11982. {
  11983. sp_3072_sqr_24(r, a);
  11984. sp_3072_mont_reduce_24(r, m, mp);
  11985. }
  11986. /* Conditionally subtract b from a using the mask m.
  11987. * m is -1 to subtract and 0 when not copying.
  11988. *
  11989. * r A single precision number representing condition subtract result.
  11990. * a A single precision number to subtract from.
  11991. * b A single precision number to subtract.
  11992. * m Mask value to apply.
  11993. */
  11994. static sp_digit sp_3072_cond_sub_24(sp_digit* r, const sp_digit* a, const sp_digit* b,
  11995. sp_digit m)
  11996. {
  11997. #ifdef WOLFSSL_SP_SMALL
  11998. sp_digit c = 0;
  11999. __asm__ __volatile__ (
  12000. "mov x8, #0\n\t"
  12001. "1:\n\t"
  12002. "subs %[c], xzr, %[c]\n\t"
  12003. "ldr x4, [%[a], x8]\n\t"
  12004. "ldr x5, [%[b], x8]\n\t"
  12005. "and x5, x5, %[m]\n\t"
  12006. "sbcs x4, x4, x5\n\t"
  12007. "csetm %[c], cc\n\t"
  12008. "str x4, [%[r], x8]\n\t"
  12009. "add x8, x8, #8\n\t"
  12010. "cmp x8, 192\n\t"
  12011. "b.lt 1b\n\t"
  12012. : [c] "+r" (c)
  12013. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  12014. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  12015. );
  12016. return c;
  12017. #else
  12018. __asm__ __volatile__ (
  12019. "ldp x5, x7, [%[b], 0]\n\t"
  12020. "ldp x11, x12, [%[b], 16]\n\t"
  12021. "ldp x4, x6, [%[a], 0]\n\t"
  12022. "and x5, x5, %[m]\n\t"
  12023. "ldp x9, x10, [%[a], 16]\n\t"
  12024. "and x7, x7, %[m]\n\t"
  12025. "subs x4, x4, x5\n\t"
  12026. "and x11, x11, %[m]\n\t"
  12027. "sbcs x6, x6, x7\n\t"
  12028. "and x12, x12, %[m]\n\t"
  12029. "sbcs x9, x9, x11\n\t"
  12030. "stp x4, x6, [%[r], 0]\n\t"
  12031. "sbcs x10, x10, x12\n\t"
  12032. "stp x9, x10, [%[r], 16]\n\t"
  12033. "ldp x5, x7, [%[b], 32]\n\t"
  12034. "ldp x11, x12, [%[b], 48]\n\t"
  12035. "ldp x4, x6, [%[a], 32]\n\t"
  12036. "and x5, x5, %[m]\n\t"
  12037. "ldp x9, x10, [%[a], 48]\n\t"
  12038. "and x7, x7, %[m]\n\t"
  12039. "sbcs x4, x4, x5\n\t"
  12040. "and x11, x11, %[m]\n\t"
  12041. "sbcs x6, x6, x7\n\t"
  12042. "and x12, x12, %[m]\n\t"
  12043. "sbcs x9, x9, x11\n\t"
  12044. "stp x4, x6, [%[r], 32]\n\t"
  12045. "sbcs x10, x10, x12\n\t"
  12046. "stp x9, x10, [%[r], 48]\n\t"
  12047. "ldp x5, x7, [%[b], 64]\n\t"
  12048. "ldp x11, x12, [%[b], 80]\n\t"
  12049. "ldp x4, x6, [%[a], 64]\n\t"
  12050. "and x5, x5, %[m]\n\t"
  12051. "ldp x9, x10, [%[a], 80]\n\t"
  12052. "and x7, x7, %[m]\n\t"
  12053. "sbcs x4, x4, x5\n\t"
  12054. "and x11, x11, %[m]\n\t"
  12055. "sbcs x6, x6, x7\n\t"
  12056. "and x12, x12, %[m]\n\t"
  12057. "sbcs x9, x9, x11\n\t"
  12058. "stp x4, x6, [%[r], 64]\n\t"
  12059. "sbcs x10, x10, x12\n\t"
  12060. "stp x9, x10, [%[r], 80]\n\t"
  12061. "ldp x5, x7, [%[b], 96]\n\t"
  12062. "ldp x11, x12, [%[b], 112]\n\t"
  12063. "ldp x4, x6, [%[a], 96]\n\t"
  12064. "and x5, x5, %[m]\n\t"
  12065. "ldp x9, x10, [%[a], 112]\n\t"
  12066. "and x7, x7, %[m]\n\t"
  12067. "sbcs x4, x4, x5\n\t"
  12068. "and x11, x11, %[m]\n\t"
  12069. "sbcs x6, x6, x7\n\t"
  12070. "and x12, x12, %[m]\n\t"
  12071. "sbcs x9, x9, x11\n\t"
  12072. "stp x4, x6, [%[r], 96]\n\t"
  12073. "sbcs x10, x10, x12\n\t"
  12074. "stp x9, x10, [%[r], 112]\n\t"
  12075. "ldp x5, x7, [%[b], 128]\n\t"
  12076. "ldp x11, x12, [%[b], 144]\n\t"
  12077. "ldp x4, x6, [%[a], 128]\n\t"
  12078. "and x5, x5, %[m]\n\t"
  12079. "ldp x9, x10, [%[a], 144]\n\t"
  12080. "and x7, x7, %[m]\n\t"
  12081. "sbcs x4, x4, x5\n\t"
  12082. "and x11, x11, %[m]\n\t"
  12083. "sbcs x6, x6, x7\n\t"
  12084. "and x12, x12, %[m]\n\t"
  12085. "sbcs x9, x9, x11\n\t"
  12086. "stp x4, x6, [%[r], 128]\n\t"
  12087. "sbcs x10, x10, x12\n\t"
  12088. "stp x9, x10, [%[r], 144]\n\t"
  12089. "ldp x5, x7, [%[b], 160]\n\t"
  12090. "ldp x11, x12, [%[b], 176]\n\t"
  12091. "ldp x4, x6, [%[a], 160]\n\t"
  12092. "and x5, x5, %[m]\n\t"
  12093. "ldp x9, x10, [%[a], 176]\n\t"
  12094. "and x7, x7, %[m]\n\t"
  12095. "sbcs x4, x4, x5\n\t"
  12096. "and x11, x11, %[m]\n\t"
  12097. "sbcs x6, x6, x7\n\t"
  12098. "and x12, x12, %[m]\n\t"
  12099. "sbcs x9, x9, x11\n\t"
  12100. "stp x4, x6, [%[r], 160]\n\t"
  12101. "sbcs x10, x10, x12\n\t"
  12102. "stp x9, x10, [%[r], 176]\n\t"
  12103. "csetm %[r], cc\n\t"
  12104. : [r] "+r" (r)
  12105. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  12106. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  12107. );
  12108. return (sp_digit)r;
  12109. #endif /* WOLFSSL_SP_SMALL */
  12110. }
  12111. /* Mul a by digit b into r. (r = a * b)
  12112. *
  12113. * r A single precision integer.
  12114. * a A single precision integer.
  12115. * b A single precision digit.
  12116. */
  12117. static void sp_3072_mul_d_24(sp_digit* r, const sp_digit* a,
  12118. sp_digit b)
  12119. {
  12120. #ifdef WOLFSSL_SP_SMALL
  12121. __asm__ __volatile__ (
  12122. "# A[0] * B\n\t"
  12123. "ldr x8, [%[a]]\n\t"
  12124. "mul x5, %[b], x8\n\t"
  12125. "umulh x3, %[b], x8\n\t"
  12126. "mov x4, xzr\n\t"
  12127. "str x5, [%[r]]\n\t"
  12128. "mov x5, xzr\n\t"
  12129. "mov x9, #8\n\t"
  12130. "1:\n\t"
  12131. "ldr x8, [%[a], x9]\n\t"
  12132. "mul x6, %[b], x8\n\t"
  12133. "umulh x7, %[b], x8\n\t"
  12134. "adds x3, x3, x6\n\t"
  12135. "adcs x4, x4, x7\n\t"
  12136. "adc x5, xzr, xzr\n\t"
  12137. "str x3, [%[r], x9]\n\t"
  12138. "mov x3, x4\n\t"
  12139. "mov x4, x5\n\t"
  12140. "mov x5, #0\n\t"
  12141. "add x9, x9, #8\n\t"
  12142. "cmp x9, 192\n\t"
  12143. "b.lt 1b\n\t"
  12144. "str x3, [%[r], 192]\n\t"
  12145. :
  12146. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  12147. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  12148. );
  12149. #else
  12150. __asm__ __volatile__ (
  12151. "# A[0] * B\n\t"
  12152. "ldp x9, x10, [%[a]]\n\t"
  12153. "mul x3, %[b], x9\n\t"
  12154. "umulh x4, %[b], x9\n\t"
  12155. "mov x5, xzr\n\t"
  12156. "# A[1] * B\n\t"
  12157. "str x3, [%[r]]\n\t"
  12158. "mul x6, %[b], x10\n\t"
  12159. "mov x3, xzr\n\t"
  12160. "umulh x7, %[b], x10\n\t"
  12161. "adds x4, x4, x6\n\t"
  12162. "# A[2] * B\n\t"
  12163. "ldp x9, x10, [%[a], 16]\n\t"
  12164. "str x4, [%[r], 8]\n\t"
  12165. "adcs x5, x5, x7\n\t"
  12166. "mul x6, %[b], x9\n\t"
  12167. "mov x4, xzr\n\t"
  12168. "umulh x7, %[b], x9\n\t"
  12169. "adc x3, xzr, xzr\n\t"
  12170. "adds x5, x5, x6\n\t"
  12171. "# A[3] * B\n\t"
  12172. "str x5, [%[r], 16]\n\t"
  12173. "adcs x3, x3, x7\n\t"
  12174. "mul x6, %[b], x10\n\t"
  12175. "mov x5, xzr\n\t"
  12176. "umulh x7, %[b], x10\n\t"
  12177. "adc x4, xzr, xzr\n\t"
  12178. "adds x3, x3, x6\n\t"
  12179. "# A[4] * B\n\t"
  12180. "ldp x9, x10, [%[a], 32]\n\t"
  12181. "str x3, [%[r], 24]\n\t"
  12182. "adcs x4, x4, x7\n\t"
  12183. "mul x6, %[b], x9\n\t"
  12184. "mov x3, xzr\n\t"
  12185. "umulh x7, %[b], x9\n\t"
  12186. "adc x5, xzr, xzr\n\t"
  12187. "adds x4, x4, x6\n\t"
  12188. "# A[5] * B\n\t"
  12189. "str x4, [%[r], 32]\n\t"
  12190. "adcs x5, x5, x7\n\t"
  12191. "mul x6, %[b], x10\n\t"
  12192. "mov x4, xzr\n\t"
  12193. "umulh x7, %[b], x10\n\t"
  12194. "adc x3, xzr, xzr\n\t"
  12195. "adds x5, x5, x6\n\t"
  12196. "# A[6] * B\n\t"
  12197. "ldp x9, x10, [%[a], 48]\n\t"
  12198. "str x5, [%[r], 40]\n\t"
  12199. "adcs x3, x3, x7\n\t"
  12200. "mul x6, %[b], x9\n\t"
  12201. "mov x5, xzr\n\t"
  12202. "umulh x7, %[b], x9\n\t"
  12203. "adc x4, xzr, xzr\n\t"
  12204. "adds x3, x3, x6\n\t"
  12205. "# A[7] * B\n\t"
  12206. "str x3, [%[r], 48]\n\t"
  12207. "adcs x4, x4, x7\n\t"
  12208. "mul x6, %[b], x10\n\t"
  12209. "mov x3, xzr\n\t"
  12210. "umulh x7, %[b], x10\n\t"
  12211. "adc x5, xzr, xzr\n\t"
  12212. "adds x4, x4, x6\n\t"
  12213. "# A[8] * B\n\t"
  12214. "ldp x9, x10, [%[a], 64]\n\t"
  12215. "str x4, [%[r], 56]\n\t"
  12216. "adcs x5, x5, x7\n\t"
  12217. "mul x6, %[b], x9\n\t"
  12218. "mov x4, xzr\n\t"
  12219. "umulh x7, %[b], x9\n\t"
  12220. "adc x3, xzr, xzr\n\t"
  12221. "adds x5, x5, x6\n\t"
  12222. "# A[9] * B\n\t"
  12223. "str x5, [%[r], 64]\n\t"
  12224. "adcs x3, x3, x7\n\t"
  12225. "mul x6, %[b], x10\n\t"
  12226. "mov x5, xzr\n\t"
  12227. "umulh x7, %[b], x10\n\t"
  12228. "adc x4, xzr, xzr\n\t"
  12229. "adds x3, x3, x6\n\t"
  12230. "# A[10] * B\n\t"
  12231. "ldp x9, x10, [%[a], 80]\n\t"
  12232. "str x3, [%[r], 72]\n\t"
  12233. "adcs x4, x4, x7\n\t"
  12234. "mul x6, %[b], x9\n\t"
  12235. "mov x3, xzr\n\t"
  12236. "umulh x7, %[b], x9\n\t"
  12237. "adc x5, xzr, xzr\n\t"
  12238. "adds x4, x4, x6\n\t"
  12239. "# A[11] * B\n\t"
  12240. "str x4, [%[r], 80]\n\t"
  12241. "adcs x5, x5, x7\n\t"
  12242. "mul x6, %[b], x10\n\t"
  12243. "mov x4, xzr\n\t"
  12244. "umulh x7, %[b], x10\n\t"
  12245. "adc x3, xzr, xzr\n\t"
  12246. "adds x5, x5, x6\n\t"
  12247. "# A[12] * B\n\t"
  12248. "ldp x9, x10, [%[a], 96]\n\t"
  12249. "str x5, [%[r], 88]\n\t"
  12250. "adcs x3, x3, x7\n\t"
  12251. "mul x6, %[b], x9\n\t"
  12252. "mov x5, xzr\n\t"
  12253. "umulh x7, %[b], x9\n\t"
  12254. "adc x4, xzr, xzr\n\t"
  12255. "adds x3, x3, x6\n\t"
  12256. "# A[13] * B\n\t"
  12257. "str x3, [%[r], 96]\n\t"
  12258. "adcs x4, x4, x7\n\t"
  12259. "mul x6, %[b], x10\n\t"
  12260. "mov x3, xzr\n\t"
  12261. "umulh x7, %[b], x10\n\t"
  12262. "adc x5, xzr, xzr\n\t"
  12263. "adds x4, x4, x6\n\t"
  12264. "# A[14] * B\n\t"
  12265. "ldp x9, x10, [%[a], 112]\n\t"
  12266. "str x4, [%[r], 104]\n\t"
  12267. "adcs x5, x5, x7\n\t"
  12268. "mul x6, %[b], x9\n\t"
  12269. "mov x4, xzr\n\t"
  12270. "umulh x7, %[b], x9\n\t"
  12271. "adc x3, xzr, xzr\n\t"
  12272. "adds x5, x5, x6\n\t"
  12273. "# A[15] * B\n\t"
  12274. "str x5, [%[r], 112]\n\t"
  12275. "adcs x3, x3, x7\n\t"
  12276. "mul x6, %[b], x10\n\t"
  12277. "mov x5, xzr\n\t"
  12278. "umulh x7, %[b], x10\n\t"
  12279. "adc x4, xzr, xzr\n\t"
  12280. "adds x3, x3, x6\n\t"
  12281. "# A[16] * B\n\t"
  12282. "ldp x9, x10, [%[a], 128]\n\t"
  12283. "str x3, [%[r], 120]\n\t"
  12284. "adcs x4, x4, x7\n\t"
  12285. "mul x6, %[b], x9\n\t"
  12286. "mov x3, xzr\n\t"
  12287. "umulh x7, %[b], x9\n\t"
  12288. "adc x5, xzr, xzr\n\t"
  12289. "adds x4, x4, x6\n\t"
  12290. "# A[17] * B\n\t"
  12291. "str x4, [%[r], 128]\n\t"
  12292. "adcs x5, x5, x7\n\t"
  12293. "mul x6, %[b], x10\n\t"
  12294. "mov x4, xzr\n\t"
  12295. "umulh x7, %[b], x10\n\t"
  12296. "adc x3, xzr, xzr\n\t"
  12297. "adds x5, x5, x6\n\t"
  12298. "# A[18] * B\n\t"
  12299. "ldp x9, x10, [%[a], 144]\n\t"
  12300. "str x5, [%[r], 136]\n\t"
  12301. "adcs x3, x3, x7\n\t"
  12302. "mul x6, %[b], x9\n\t"
  12303. "mov x5, xzr\n\t"
  12304. "umulh x7, %[b], x9\n\t"
  12305. "adc x4, xzr, xzr\n\t"
  12306. "adds x3, x3, x6\n\t"
  12307. "# A[19] * B\n\t"
  12308. "str x3, [%[r], 144]\n\t"
  12309. "adcs x4, x4, x7\n\t"
  12310. "mul x6, %[b], x10\n\t"
  12311. "mov x3, xzr\n\t"
  12312. "umulh x7, %[b], x10\n\t"
  12313. "adc x5, xzr, xzr\n\t"
  12314. "adds x4, x4, x6\n\t"
  12315. "# A[20] * B\n\t"
  12316. "ldp x9, x10, [%[a], 160]\n\t"
  12317. "str x4, [%[r], 152]\n\t"
  12318. "adcs x5, x5, x7\n\t"
  12319. "mul x6, %[b], x9\n\t"
  12320. "mov x4, xzr\n\t"
  12321. "umulh x7, %[b], x9\n\t"
  12322. "adc x3, xzr, xzr\n\t"
  12323. "adds x5, x5, x6\n\t"
  12324. "# A[21] * B\n\t"
  12325. "str x5, [%[r], 160]\n\t"
  12326. "adcs x3, x3, x7\n\t"
  12327. "mul x6, %[b], x10\n\t"
  12328. "mov x5, xzr\n\t"
  12329. "umulh x7, %[b], x10\n\t"
  12330. "adc x4, xzr, xzr\n\t"
  12331. "adds x3, x3, x6\n\t"
  12332. "# A[22] * B\n\t"
  12333. "ldp x9, x10, [%[a], 176]\n\t"
  12334. "str x3, [%[r], 168]\n\t"
  12335. "adcs x4, x4, x7\n\t"
  12336. "mul x6, %[b], x9\n\t"
  12337. "mov x3, xzr\n\t"
  12338. "umulh x7, %[b], x9\n\t"
  12339. "adc x5, xzr, xzr\n\t"
  12340. "adds x4, x4, x6\n\t"
  12341. "# A[23] * B\n\t"
  12342. "str x4, [%[r], 176]\n\t"
  12343. "mul x6, %[b], x10\n\t"
  12344. "adcs x5, x5, x7\n\t"
  12345. "umulh x7, %[b], x10\n\t"
  12346. "adc x3, xzr, xzr\n\t"
  12347. "adds x5, x5, x6\n\t"
  12348. "adc x3, x3, x7\n\t"
  12349. "str x5, [%[r], 184]\n\t"
  12350. "str x3, [%[r], 192]\n\t"
  12351. :
  12352. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  12353. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  12354. );
  12355. #endif
  12356. }
  12357. /* Divide the double width number (d1|d0) by the divisor. (d1|d0 / div)
  12358. *
  12359. * Assumes divisor has higest bit set.
  12360. *
  12361. * d1 The high order half of the number to divide.
  12362. * d0 The low order half of the number to divide.
  12363. * div The divisor.
  12364. * returns the result of the division.
  12365. */
  12366. static sp_digit div_3072_word_24(sp_digit d1, sp_digit d0, sp_digit div)
  12367. {
  12368. __asm__ __volatile__ (
  12369. "lsr x8, %[div], 32\n\t"
  12370. "add x5, x8, 1\n\t"
  12371. "udiv x3, %[d1], x5\n\t"
  12372. "lsl x7, %[div], 32\n\t"
  12373. "movz x9, #1, lsl 32\n\t"
  12374. "lsl x6, x3, 32\n\t"
  12375. "mul x4, %[div], x6\n\t"
  12376. "umulh x3, %[div], x6\n\t"
  12377. "subs %[d0], %[d0], x4\n\t"
  12378. "sbc %[d1], %[d1], x3\n\t"
  12379. "cmp %[d1], x5\n\t"
  12380. "cset x9, ge\n\t"
  12381. "csetm x10, ge\n\t"
  12382. "lsl x9, x9, #32\n\t"
  12383. "and x7, x7, x10\n\t"
  12384. "and x8, x8, x10\n\t"
  12385. "subs %[d0], %[d0], x7\n\t"
  12386. "add x6, x6, x9\n\t"
  12387. "sbc %[d1], %[d1], x8\n\t"
  12388. "extr x3, %[d1], %[d0], 32\n\t"
  12389. "udiv x3, x3, x5\n\t"
  12390. "add x6, x6, x3\n\t"
  12391. "mul x4, %[div], x3\n\t"
  12392. "umulh x3, %[div], x3\n\t"
  12393. "subs %[d0], %[d0], x4\n\t"
  12394. "sbc %[d1], %[d1], x3\n\t"
  12395. "extr x3, %[d1], %[d0], 32\n\t"
  12396. "udiv x3, x3, x5\n\t"
  12397. "add x6, x6, x3\n\t"
  12398. "mul x4, %[div], x3\n\t"
  12399. "sub %[d0], %[d0], x4\n\t"
  12400. "udiv x3, %[d0], %[div]\n\t"
  12401. "add %[d1], x6, x3\n\t"
  12402. : [d1] "+r" (d1), [d0] "+r" (d0)
  12403. : [div] "r" (div)
  12404. : "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  12405. );
  12406. return d1;
  12407. }
  12408. /* AND m into each word of a and store in r.
  12409. *
  12410. * r A single precision integer.
  12411. * a A single precision integer.
  12412. * m Mask to AND against each digit.
  12413. */
  12414. static void sp_3072_mask_24(sp_digit* r, const sp_digit* a, sp_digit m)
  12415. {
  12416. #ifdef WOLFSSL_SP_SMALL
  12417. int i;
  12418. for (i=0; i<24; i++) {
  12419. r[i] = a[i] & m;
  12420. }
  12421. #else
  12422. int i;
  12423. for (i = 0; i < 24; i += 8) {
  12424. r[i+0] = a[i+0] & m;
  12425. r[i+1] = a[i+1] & m;
  12426. r[i+2] = a[i+2] & m;
  12427. r[i+3] = a[i+3] & m;
  12428. r[i+4] = a[i+4] & m;
  12429. r[i+5] = a[i+5] & m;
  12430. r[i+6] = a[i+6] & m;
  12431. r[i+7] = a[i+7] & m;
  12432. }
  12433. #endif
  12434. }
  12435. /* Compare a with b in constant time.
  12436. *
  12437. * a A single precision integer.
  12438. * b A single precision integer.
  12439. * return -ve, 0 or +ve if a is less than, equal to or greater than b
  12440. * respectively.
  12441. */
  12442. static sp_int64 sp_3072_cmp_24(const sp_digit* a, const sp_digit* b)
  12443. {
  12444. #ifdef WOLFSSL_SP_SMALL
  12445. __asm__ __volatile__ (
  12446. "mov x3, #0\n\t"
  12447. "mov x2, #-1\n\t"
  12448. "mov x10, #24\n\t"
  12449. "add %[a], %[a], #176\n\t"
  12450. "add %[b], %[b], #176\n\t"
  12451. "1:\n\t"
  12452. "ldp x6, x7, [%[a]], -16\n\t"
  12453. "ldp x8, x9, [%[b]], -16\n\t"
  12454. "subs x7, x7, x9\n\t"
  12455. "csel x4, x2, xzr, lo\n\t"
  12456. "csetm x5, eq\n\t"
  12457. "orr x3, x3, x4\n\t"
  12458. "and x2, x2, x5\n\t"
  12459. "subs x6, x6, x8\n\t"
  12460. "csel x4, x2, xzr, lo\n\t"
  12461. "csetm x5, eq\n\t"
  12462. "orr x3, x3, x4\n\t"
  12463. "and x2, x2, x5\n\t"
  12464. "subs x10, x10, #2\n\t"
  12465. "b.ne 1b\n\t"
  12466. "cmp x2, #0\n\t"
  12467. "cset %[a], eq\n\t"
  12468. "orr %[a], %[a], x3\n\t"
  12469. : [a] "+r" (a), [b] "+r" (b)
  12470. :
  12471. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  12472. );
  12473. #else
  12474. __asm__ __volatile__ (
  12475. "mov x3, #0\n\t"
  12476. "mov x2, #-1\n\t"
  12477. "ldp x6, x7, [%[a], 176]\n\t"
  12478. "ldp x8, x9, [%[b], 176]\n\t"
  12479. "subs x7, x7, x9\n\t"
  12480. "csel x4, x2, xzr, lo\n\t"
  12481. "csetm x5, eq\n\t"
  12482. "orr x3, x3, x4\n\t"
  12483. "and x2, x2, x5\n\t"
  12484. "subs x6, x6, x8\n\t"
  12485. "csel x4, x2, xzr, lo\n\t"
  12486. "csetm x5, eq\n\t"
  12487. "orr x3, x3, x4\n\t"
  12488. "and x2, x2, x5\n\t"
  12489. "ldp x6, x7, [%[a], 160]\n\t"
  12490. "ldp x8, x9, [%[b], 160]\n\t"
  12491. "subs x7, x7, x9\n\t"
  12492. "csel x4, x2, xzr, lo\n\t"
  12493. "csetm x5, eq\n\t"
  12494. "orr x3, x3, x4\n\t"
  12495. "and x2, x2, x5\n\t"
  12496. "subs x6, x6, x8\n\t"
  12497. "csel x4, x2, xzr, lo\n\t"
  12498. "csetm x5, eq\n\t"
  12499. "orr x3, x3, x4\n\t"
  12500. "and x2, x2, x5\n\t"
  12501. "ldp x6, x7, [%[a], 144]\n\t"
  12502. "ldp x8, x9, [%[b], 144]\n\t"
  12503. "subs x7, x7, x9\n\t"
  12504. "csel x4, x2, xzr, lo\n\t"
  12505. "csetm x5, eq\n\t"
  12506. "orr x3, x3, x4\n\t"
  12507. "and x2, x2, x5\n\t"
  12508. "subs x6, x6, x8\n\t"
  12509. "csel x4, x2, xzr, lo\n\t"
  12510. "csetm x5, eq\n\t"
  12511. "orr x3, x3, x4\n\t"
  12512. "and x2, x2, x5\n\t"
  12513. "ldp x6, x7, [%[a], 128]\n\t"
  12514. "ldp x8, x9, [%[b], 128]\n\t"
  12515. "subs x7, x7, x9\n\t"
  12516. "csel x4, x2, xzr, lo\n\t"
  12517. "csetm x5, eq\n\t"
  12518. "orr x3, x3, x4\n\t"
  12519. "and x2, x2, x5\n\t"
  12520. "subs x6, x6, x8\n\t"
  12521. "csel x4, x2, xzr, lo\n\t"
  12522. "csetm x5, eq\n\t"
  12523. "orr x3, x3, x4\n\t"
  12524. "and x2, x2, x5\n\t"
  12525. "ldp x6, x7, [%[a], 112]\n\t"
  12526. "ldp x8, x9, [%[b], 112]\n\t"
  12527. "subs x7, x7, x9\n\t"
  12528. "csel x4, x2, xzr, lo\n\t"
  12529. "csetm x5, eq\n\t"
  12530. "orr x3, x3, x4\n\t"
  12531. "and x2, x2, x5\n\t"
  12532. "subs x6, x6, x8\n\t"
  12533. "csel x4, x2, xzr, lo\n\t"
  12534. "csetm x5, eq\n\t"
  12535. "orr x3, x3, x4\n\t"
  12536. "and x2, x2, x5\n\t"
  12537. "ldp x6, x7, [%[a], 96]\n\t"
  12538. "ldp x8, x9, [%[b], 96]\n\t"
  12539. "subs x7, x7, x9\n\t"
  12540. "csel x4, x2, xzr, lo\n\t"
  12541. "csetm x5, eq\n\t"
  12542. "orr x3, x3, x4\n\t"
  12543. "and x2, x2, x5\n\t"
  12544. "subs x6, x6, x8\n\t"
  12545. "csel x4, x2, xzr, lo\n\t"
  12546. "csetm x5, eq\n\t"
  12547. "orr x3, x3, x4\n\t"
  12548. "and x2, x2, x5\n\t"
  12549. "ldp x6, x7, [%[a], 80]\n\t"
  12550. "ldp x8, x9, [%[b], 80]\n\t"
  12551. "subs x7, x7, x9\n\t"
  12552. "csel x4, x2, xzr, lo\n\t"
  12553. "csetm x5, eq\n\t"
  12554. "orr x3, x3, x4\n\t"
  12555. "and x2, x2, x5\n\t"
  12556. "subs x6, x6, x8\n\t"
  12557. "csel x4, x2, xzr, lo\n\t"
  12558. "csetm x5, eq\n\t"
  12559. "orr x3, x3, x4\n\t"
  12560. "and x2, x2, x5\n\t"
  12561. "ldp x6, x7, [%[a], 64]\n\t"
  12562. "ldp x8, x9, [%[b], 64]\n\t"
  12563. "subs x7, x7, x9\n\t"
  12564. "csel x4, x2, xzr, lo\n\t"
  12565. "csetm x5, eq\n\t"
  12566. "orr x3, x3, x4\n\t"
  12567. "and x2, x2, x5\n\t"
  12568. "subs x6, x6, x8\n\t"
  12569. "csel x4, x2, xzr, lo\n\t"
  12570. "csetm x5, eq\n\t"
  12571. "orr x3, x3, x4\n\t"
  12572. "and x2, x2, x5\n\t"
  12573. "ldp x6, x7, [%[a], 48]\n\t"
  12574. "ldp x8, x9, [%[b], 48]\n\t"
  12575. "subs x7, x7, x9\n\t"
  12576. "csel x4, x2, xzr, lo\n\t"
  12577. "csetm x5, eq\n\t"
  12578. "orr x3, x3, x4\n\t"
  12579. "and x2, x2, x5\n\t"
  12580. "subs x6, x6, x8\n\t"
  12581. "csel x4, x2, xzr, lo\n\t"
  12582. "csetm x5, eq\n\t"
  12583. "orr x3, x3, x4\n\t"
  12584. "and x2, x2, x5\n\t"
  12585. "ldp x6, x7, [%[a], 32]\n\t"
  12586. "ldp x8, x9, [%[b], 32]\n\t"
  12587. "subs x7, x7, x9\n\t"
  12588. "csel x4, x2, xzr, lo\n\t"
  12589. "csetm x5, eq\n\t"
  12590. "orr x3, x3, x4\n\t"
  12591. "and x2, x2, x5\n\t"
  12592. "subs x6, x6, x8\n\t"
  12593. "csel x4, x2, xzr, lo\n\t"
  12594. "csetm x5, eq\n\t"
  12595. "orr x3, x3, x4\n\t"
  12596. "and x2, x2, x5\n\t"
  12597. "ldp x6, x7, [%[a], 16]\n\t"
  12598. "ldp x8, x9, [%[b], 16]\n\t"
  12599. "subs x7, x7, x9\n\t"
  12600. "csel x4, x2, xzr, lo\n\t"
  12601. "csetm x5, eq\n\t"
  12602. "orr x3, x3, x4\n\t"
  12603. "and x2, x2, x5\n\t"
  12604. "subs x6, x6, x8\n\t"
  12605. "csel x4, x2, xzr, lo\n\t"
  12606. "csetm x5, eq\n\t"
  12607. "orr x3, x3, x4\n\t"
  12608. "and x2, x2, x5\n\t"
  12609. "ldp x6, x7, [%[a], 0]\n\t"
  12610. "ldp x8, x9, [%[b], 0]\n\t"
  12611. "subs x7, x7, x9\n\t"
  12612. "csel x4, x2, xzr, lo\n\t"
  12613. "csetm x5, eq\n\t"
  12614. "orr x3, x3, x4\n\t"
  12615. "and x2, x2, x5\n\t"
  12616. "subs x6, x6, x8\n\t"
  12617. "csel x4, x2, xzr, lo\n\t"
  12618. "csetm x5, eq\n\t"
  12619. "orr x3, x3, x4\n\t"
  12620. "and x2, x2, x5\n\t"
  12621. "cmp x2, #0\n\t"
  12622. "cset %[a], eq\n\t"
  12623. "orr %[a], %[a], x3\n\t"
  12624. : [a] "+r" (a)
  12625. : [b] "r" (b)
  12626. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  12627. );
  12628. #endif
  12629. return (sp_int64)a;
  12630. }
  12631. /* Divide d in a and put remainder into r (m*d + r = a)
  12632. * m is not calculated as it is not needed at this time.
  12633. *
  12634. * a Number to be divided.
  12635. * d Number to divide with.
  12636. * m Multiplier result.
  12637. * r Remainder from the division.
  12638. * returns MP_OKAY indicating success.
  12639. */
  12640. static WC_INLINE int sp_3072_div_24(const sp_digit* a, const sp_digit* d, sp_digit* m,
  12641. sp_digit* r)
  12642. {
  12643. sp_digit t1[48], t2[25];
  12644. sp_digit div, r1;
  12645. int i;
  12646. (void)m;
  12647. div = d[23];
  12648. XMEMCPY(t1, a, sizeof(*t1) * 2 * 24);
  12649. r1 = sp_3072_cmp_24(&t1[24], d) >= 0;
  12650. sp_3072_cond_sub_24(&t1[24], &t1[24], d, (sp_digit)0 - r1);
  12651. for (i = 23; i >= 0; i--) {
  12652. sp_digit mask = 0 - (t1[24 + i] == div);
  12653. sp_digit hi = t1[24 + i] + mask;
  12654. r1 = div_3072_word_24(hi, t1[24 + i - 1], div);
  12655. r1 |= mask;
  12656. sp_3072_mul_d_24(t2, d, r1);
  12657. t1[24 + i] += sp_3072_sub_in_place_24(&t1[i], t2);
  12658. t1[24 + i] -= t2[24];
  12659. sp_3072_mask_24(t2, d, t1[24 + i]);
  12660. t1[24 + i] += sp_3072_add_24(&t1[i], &t1[i], t2);
  12661. sp_3072_mask_24(t2, d, t1[24 + i]);
  12662. t1[24 + i] += sp_3072_add_24(&t1[i], &t1[i], t2);
  12663. }
  12664. r1 = sp_3072_cmp_24(t1, d) >= 0;
  12665. sp_3072_cond_sub_24(r, t1, d, (sp_digit)0 - r1);
  12666. return MP_OKAY;
  12667. }
  12668. /* Reduce a modulo m into r. (r = a mod m)
  12669. *
  12670. * r A single precision number that is the reduced result.
  12671. * a A single precision number that is to be reduced.
  12672. * m A single precision number that is the modulus to reduce with.
  12673. * returns MP_OKAY indicating success.
  12674. */
  12675. static WC_INLINE int sp_3072_mod_24(sp_digit* r, const sp_digit* a, const sp_digit* m)
  12676. {
  12677. return sp_3072_div_24(a, m, NULL, r);
  12678. }
  12679. #ifdef WOLFSSL_SP_SMALL
  12680. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  12681. *
  12682. * r A single precision number that is the result of the operation.
  12683. * a A single precision number being exponentiated.
  12684. * e A single precision number that is the exponent.
  12685. * bits The number of bits in the exponent.
  12686. * m A single precision number that is the modulus.
  12687. * returns 0 on success.
  12688. * returns MEMORY_E on dynamic memory allocation failure.
  12689. * returns MP_VAL when base is even or exponent is 0.
  12690. */
  12691. static int sp_3072_mod_exp_24(sp_digit* r, const sp_digit* a, const sp_digit* e,
  12692. int bits, const sp_digit* m, int reduceA)
  12693. {
  12694. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  12695. sp_digit* td = NULL;
  12696. #else
  12697. sp_digit td[16 * 48];
  12698. #endif
  12699. sp_digit* t[16];
  12700. sp_digit* norm = NULL;
  12701. sp_digit mp = 1;
  12702. sp_digit n;
  12703. sp_digit mask;
  12704. int i;
  12705. int c;
  12706. byte y;
  12707. int err = MP_OKAY;
  12708. if (bits == 0) {
  12709. err = MP_VAL;
  12710. }
  12711. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  12712. if (err == MP_OKAY) {
  12713. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (16 * 48), NULL,
  12714. DYNAMIC_TYPE_TMP_BUFFER);
  12715. if (td == NULL)
  12716. err = MEMORY_E;
  12717. }
  12718. #endif
  12719. if (err == MP_OKAY) {
  12720. norm = td;
  12721. for (i=0; i<16; i++) {
  12722. t[i] = td + i * 48;
  12723. }
  12724. sp_3072_mont_setup(m, &mp);
  12725. sp_3072_mont_norm_24(norm, m);
  12726. XMEMSET(t[1], 0, sizeof(sp_digit) * 24U);
  12727. if (reduceA != 0) {
  12728. err = sp_3072_mod_24(t[1] + 24, a, m);
  12729. if (err == MP_OKAY) {
  12730. err = sp_3072_mod_24(t[1], t[1], m);
  12731. }
  12732. }
  12733. else {
  12734. XMEMCPY(t[1] + 24, a, sizeof(sp_digit) * 24);
  12735. err = sp_3072_mod_24(t[1], t[1], m);
  12736. }
  12737. }
  12738. if (err == MP_OKAY) {
  12739. sp_3072_mont_sqr_24(t[ 2], t[ 1], m, mp);
  12740. sp_3072_mont_mul_24(t[ 3], t[ 2], t[ 1], m, mp);
  12741. sp_3072_mont_sqr_24(t[ 4], t[ 2], m, mp);
  12742. sp_3072_mont_mul_24(t[ 5], t[ 3], t[ 2], m, mp);
  12743. sp_3072_mont_sqr_24(t[ 6], t[ 3], m, mp);
  12744. sp_3072_mont_mul_24(t[ 7], t[ 4], t[ 3], m, mp);
  12745. sp_3072_mont_sqr_24(t[ 8], t[ 4], m, mp);
  12746. sp_3072_mont_mul_24(t[ 9], t[ 5], t[ 4], m, mp);
  12747. sp_3072_mont_sqr_24(t[10], t[ 5], m, mp);
  12748. sp_3072_mont_mul_24(t[11], t[ 6], t[ 5], m, mp);
  12749. sp_3072_mont_sqr_24(t[12], t[ 6], m, mp);
  12750. sp_3072_mont_mul_24(t[13], t[ 7], t[ 6], m, mp);
  12751. sp_3072_mont_sqr_24(t[14], t[ 7], m, mp);
  12752. sp_3072_mont_mul_24(t[15], t[ 8], t[ 7], m, mp);
  12753. i = (bits - 1) / 64;
  12754. n = e[i--];
  12755. c = bits & 63;
  12756. if (c == 0) {
  12757. c = 64;
  12758. }
  12759. c -= bits % 4;
  12760. if (c == 64) {
  12761. c = 60;
  12762. }
  12763. if (c < 0) {
  12764. /* Number of bits in top word is less than number needed. */
  12765. c = -c;
  12766. y = (byte)(n << c);
  12767. n = e[i--];
  12768. y |= (byte)(n >> (64 - c));
  12769. n <<= c;
  12770. c = 64 - c;
  12771. }
  12772. else if (c == 0) {
  12773. /* All bits in top word used. */
  12774. y = (byte)n;
  12775. }
  12776. else {
  12777. y = (byte)(n >> c);
  12778. n <<= 64 - c;
  12779. }
  12780. XMEMCPY(r, t[y], sizeof(sp_digit) * 24);
  12781. for (; i>=0 || c>=4; ) {
  12782. if (c == 0) {
  12783. n = e[i--];
  12784. y = (byte)(n >> 60);
  12785. n <<= 4;
  12786. c = 60;
  12787. }
  12788. else if (c < 4) {
  12789. y = (byte)(n >> 60);
  12790. n = e[i--];
  12791. c = 4 - c;
  12792. y |= (byte)(n >> (64 - c));
  12793. n <<= c;
  12794. c = 64 - c;
  12795. }
  12796. else {
  12797. y = (byte)((n >> 60) & 0xf);
  12798. n <<= 4;
  12799. c -= 4;
  12800. }
  12801. sp_3072_mont_sqr_24(r, r, m, mp);
  12802. sp_3072_mont_sqr_24(r, r, m, mp);
  12803. sp_3072_mont_sqr_24(r, r, m, mp);
  12804. sp_3072_mont_sqr_24(r, r, m, mp);
  12805. sp_3072_mont_mul_24(r, r, t[y], m, mp);
  12806. }
  12807. XMEMSET(&r[24], 0, sizeof(sp_digit) * 24U);
  12808. sp_3072_mont_reduce_24(r, m, mp);
  12809. mask = 0 - (sp_3072_cmp_24(r, m) >= 0);
  12810. sp_3072_cond_sub_24(r, r, m, mask);
  12811. }
  12812. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  12813. if (td != NULL)
  12814. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  12815. #endif
  12816. return err;
  12817. }
  12818. #else
  12819. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  12820. *
  12821. * r A single precision number that is the result of the operation.
  12822. * a A single precision number being exponentiated.
  12823. * e A single precision number that is the exponent.
  12824. * bits The number of bits in the exponent.
  12825. * m A single precision number that is the modulus.
  12826. * returns 0 on success.
  12827. * returns MEMORY_E on dynamic memory allocation failure.
  12828. * returns MP_VAL when base is even or exponent is 0.
  12829. */
  12830. static int sp_3072_mod_exp_24(sp_digit* r, const sp_digit* a, const sp_digit* e,
  12831. int bits, const sp_digit* m, int reduceA)
  12832. {
  12833. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  12834. sp_digit* td = NULL;
  12835. #else
  12836. sp_digit td[32 * 48];
  12837. #endif
  12838. sp_digit* t[32];
  12839. sp_digit* norm = NULL;
  12840. sp_digit mp = 1;
  12841. sp_digit n;
  12842. sp_digit mask;
  12843. int i;
  12844. int c;
  12845. byte y;
  12846. int err = MP_OKAY;
  12847. if (bits == 0) {
  12848. err = MP_VAL;
  12849. }
  12850. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  12851. if (err == MP_OKAY) {
  12852. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (32 * 48), NULL,
  12853. DYNAMIC_TYPE_TMP_BUFFER);
  12854. if (td == NULL)
  12855. err = MEMORY_E;
  12856. }
  12857. #endif
  12858. if (err == MP_OKAY) {
  12859. norm = td;
  12860. for (i=0; i<32; i++) {
  12861. t[i] = td + i * 48;
  12862. }
  12863. sp_3072_mont_setup(m, &mp);
  12864. sp_3072_mont_norm_24(norm, m);
  12865. XMEMSET(t[1], 0, sizeof(sp_digit) * 24U);
  12866. if (reduceA != 0) {
  12867. err = sp_3072_mod_24(t[1] + 24, a, m);
  12868. if (err == MP_OKAY) {
  12869. err = sp_3072_mod_24(t[1], t[1], m);
  12870. }
  12871. }
  12872. else {
  12873. XMEMCPY(t[1] + 24, a, sizeof(sp_digit) * 24);
  12874. err = sp_3072_mod_24(t[1], t[1], m);
  12875. }
  12876. }
  12877. if (err == MP_OKAY) {
  12878. sp_3072_mont_sqr_24(t[ 2], t[ 1], m, mp);
  12879. sp_3072_mont_mul_24(t[ 3], t[ 2], t[ 1], m, mp);
  12880. sp_3072_mont_sqr_24(t[ 4], t[ 2], m, mp);
  12881. sp_3072_mont_mul_24(t[ 5], t[ 3], t[ 2], m, mp);
  12882. sp_3072_mont_sqr_24(t[ 6], t[ 3], m, mp);
  12883. sp_3072_mont_mul_24(t[ 7], t[ 4], t[ 3], m, mp);
  12884. sp_3072_mont_sqr_24(t[ 8], t[ 4], m, mp);
  12885. sp_3072_mont_mul_24(t[ 9], t[ 5], t[ 4], m, mp);
  12886. sp_3072_mont_sqr_24(t[10], t[ 5], m, mp);
  12887. sp_3072_mont_mul_24(t[11], t[ 6], t[ 5], m, mp);
  12888. sp_3072_mont_sqr_24(t[12], t[ 6], m, mp);
  12889. sp_3072_mont_mul_24(t[13], t[ 7], t[ 6], m, mp);
  12890. sp_3072_mont_sqr_24(t[14], t[ 7], m, mp);
  12891. sp_3072_mont_mul_24(t[15], t[ 8], t[ 7], m, mp);
  12892. sp_3072_mont_sqr_24(t[16], t[ 8], m, mp);
  12893. sp_3072_mont_mul_24(t[17], t[ 9], t[ 8], m, mp);
  12894. sp_3072_mont_sqr_24(t[18], t[ 9], m, mp);
  12895. sp_3072_mont_mul_24(t[19], t[10], t[ 9], m, mp);
  12896. sp_3072_mont_sqr_24(t[20], t[10], m, mp);
  12897. sp_3072_mont_mul_24(t[21], t[11], t[10], m, mp);
  12898. sp_3072_mont_sqr_24(t[22], t[11], m, mp);
  12899. sp_3072_mont_mul_24(t[23], t[12], t[11], m, mp);
  12900. sp_3072_mont_sqr_24(t[24], t[12], m, mp);
  12901. sp_3072_mont_mul_24(t[25], t[13], t[12], m, mp);
  12902. sp_3072_mont_sqr_24(t[26], t[13], m, mp);
  12903. sp_3072_mont_mul_24(t[27], t[14], t[13], m, mp);
  12904. sp_3072_mont_sqr_24(t[28], t[14], m, mp);
  12905. sp_3072_mont_mul_24(t[29], t[15], t[14], m, mp);
  12906. sp_3072_mont_sqr_24(t[30], t[15], m, mp);
  12907. sp_3072_mont_mul_24(t[31], t[16], t[15], m, mp);
  12908. i = (bits - 1) / 64;
  12909. n = e[i--];
  12910. c = bits & 63;
  12911. if (c == 0) {
  12912. c = 64;
  12913. }
  12914. c -= bits % 5;
  12915. if (c == 64) {
  12916. c = 59;
  12917. }
  12918. if (c < 0) {
  12919. /* Number of bits in top word is less than number needed. */
  12920. c = -c;
  12921. y = (byte)(n << c);
  12922. n = e[i--];
  12923. y |= (byte)(n >> (64 - c));
  12924. n <<= c;
  12925. c = 64 - c;
  12926. }
  12927. else if (c == 0) {
  12928. /* All bits in top word used. */
  12929. y = (byte)n;
  12930. }
  12931. else {
  12932. y = (byte)(n >> c);
  12933. n <<= 64 - c;
  12934. }
  12935. XMEMCPY(r, t[y], sizeof(sp_digit) * 24);
  12936. for (; i>=0 || c>=5; ) {
  12937. if (c == 0) {
  12938. n = e[i--];
  12939. y = (byte)(n >> 59);
  12940. n <<= 5;
  12941. c = 59;
  12942. }
  12943. else if (c < 5) {
  12944. y = (byte)(n >> 59);
  12945. n = e[i--];
  12946. c = 5 - c;
  12947. y |= (byte)(n >> (64 - c));
  12948. n <<= c;
  12949. c = 64 - c;
  12950. }
  12951. else {
  12952. y = (byte)((n >> 59) & 0x1f);
  12953. n <<= 5;
  12954. c -= 5;
  12955. }
  12956. sp_3072_mont_sqr_24(r, r, m, mp);
  12957. sp_3072_mont_sqr_24(r, r, m, mp);
  12958. sp_3072_mont_sqr_24(r, r, m, mp);
  12959. sp_3072_mont_sqr_24(r, r, m, mp);
  12960. sp_3072_mont_sqr_24(r, r, m, mp);
  12961. sp_3072_mont_mul_24(r, r, t[y], m, mp);
  12962. }
  12963. XMEMSET(&r[24], 0, sizeof(sp_digit) * 24U);
  12964. sp_3072_mont_reduce_24(r, m, mp);
  12965. mask = 0 - (sp_3072_cmp_24(r, m) >= 0);
  12966. sp_3072_cond_sub_24(r, r, m, mask);
  12967. }
  12968. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  12969. if (td != NULL)
  12970. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  12971. #endif
  12972. return err;
  12973. }
  12974. #endif /* WOLFSSL_SP_SMALL */
  12975. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  12976. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  12977. /* r = 2^n mod m where n is the number of bits to reduce by.
  12978. * Given m must be 3072 bits, just need to subtract.
  12979. *
  12980. * r A single precision number.
  12981. * m A single precision number.
  12982. */
  12983. static void sp_3072_mont_norm_48(sp_digit* r, const sp_digit* m)
  12984. {
  12985. XMEMSET(r, 0, sizeof(sp_digit) * 48);
  12986. /* r = 2^n mod m */
  12987. sp_3072_sub_in_place_48(r, m);
  12988. }
  12989. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  12990. /* Reduce the number back to 3072 bits using Montgomery reduction.
  12991. *
  12992. * a A single precision number to reduce in place.
  12993. * m The single precision number representing the modulus.
  12994. * mp The digit representing the negative inverse of m mod 2^n.
  12995. */
  12996. SP_NOINLINE static void sp_3072_mont_reduce_48(sp_digit* a, const sp_digit* m,
  12997. sp_digit mp)
  12998. {
  12999. __asm__ __volatile__ (
  13000. "ldp x11, x12, [%[a], 0]\n\t"
  13001. "ldp x13, x14, [%[a], 16]\n\t"
  13002. "ldp x15, x16, [%[a], 32]\n\t"
  13003. "ldp x17, x19, [%[a], 48]\n\t"
  13004. "ldp x20, x21, [%[a], 64]\n\t"
  13005. "ldp x22, x23, [%[a], 80]\n\t"
  13006. "# No carry yet\n\t"
  13007. "mov x3, xzr\n\t"
  13008. "# i = 0..47\n\t"
  13009. "mov x4, 48\n\t"
  13010. "\n1:\n\t"
  13011. "# mu = a[i] * mp\n\t"
  13012. "mul x10, %[mp], x11\n\t"
  13013. "ldp x24, x25, [%[m], 0]\n\t"
  13014. "ldp x26, x27, [%[m], 16]\n\t"
  13015. "# a[i+0] += m[0] * mu\n\t"
  13016. "mul x5, x24, x10\n\t"
  13017. "umulh x6, x24, x10\n\t"
  13018. "# a[i+1] += m[1] * mu\n\t"
  13019. "adds x11, x11, x5\n\t"
  13020. "mul x5, x25, x10\n\t"
  13021. "adc x6, x6, xzr\n\t"
  13022. "umulh x7, x25, x10\n\t"
  13023. "adds x11, x12, x5\n\t"
  13024. "# a[i+2] += m[2] * mu\n\t"
  13025. "adc x7, x7, xzr\n\t"
  13026. "adds x11, x11, x6\n\t"
  13027. "mul x5, x26, x10\n\t"
  13028. "adc x7, x7, xzr\n\t"
  13029. "umulh x6, x26, x10\n\t"
  13030. "adds x12, x13, x5\n\t"
  13031. "# a[i+3] += m[3] * mu\n\t"
  13032. "adc x6, x6, xzr\n\t"
  13033. "adds x12, x12, x7\n\t"
  13034. "mul x5, x27, x10\n\t"
  13035. "adc x6, x6, xzr\n\t"
  13036. "umulh x7, x27, x10\n\t"
  13037. "adds x13, x14, x5\n\t"
  13038. "ldp x24, x25, [%[m], 32]\n\t"
  13039. "ldp x26, x27, [%[m], 48]\n\t"
  13040. "# a[i+4] += m[4] * mu\n\t"
  13041. "adc x7, x7, xzr\n\t"
  13042. "adds x13, x13, x6\n\t"
  13043. "mul x5, x24, x10\n\t"
  13044. "adc x7, x7, xzr\n\t"
  13045. "umulh x6, x24, x10\n\t"
  13046. "adds x14, x15, x5\n\t"
  13047. "# a[i+5] += m[5] * mu\n\t"
  13048. "adc x6, x6, xzr\n\t"
  13049. "adds x14, x14, x7\n\t"
  13050. "mul x5, x25, x10\n\t"
  13051. "adc x6, x6, xzr\n\t"
  13052. "umulh x7, x25, x10\n\t"
  13053. "adds x15, x16, x5\n\t"
  13054. "# a[i+6] += m[6] * mu\n\t"
  13055. "adc x7, x7, xzr\n\t"
  13056. "adds x15, x15, x6\n\t"
  13057. "mul x5, x26, x10\n\t"
  13058. "adc x7, x7, xzr\n\t"
  13059. "umulh x6, x26, x10\n\t"
  13060. "adds x16, x17, x5\n\t"
  13061. "# a[i+7] += m[7] * mu\n\t"
  13062. "adc x6, x6, xzr\n\t"
  13063. "adds x16, x16, x7\n\t"
  13064. "mul x5, x27, x10\n\t"
  13065. "adc x6, x6, xzr\n\t"
  13066. "umulh x7, x27, x10\n\t"
  13067. "adds x17, x19, x5\n\t"
  13068. "ldp x24, x25, [%[m], 64]\n\t"
  13069. "ldp x26, x27, [%[m], 80]\n\t"
  13070. "# a[i+8] += m[8] * mu\n\t"
  13071. "adc x7, x7, xzr\n\t"
  13072. "adds x17, x17, x6\n\t"
  13073. "mul x5, x24, x10\n\t"
  13074. "adc x7, x7, xzr\n\t"
  13075. "umulh x6, x24, x10\n\t"
  13076. "adds x19, x20, x5\n\t"
  13077. "# a[i+9] += m[9] * mu\n\t"
  13078. "adc x6, x6, xzr\n\t"
  13079. "adds x19, x19, x7\n\t"
  13080. "mul x5, x25, x10\n\t"
  13081. "adc x6, x6, xzr\n\t"
  13082. "umulh x7, x25, x10\n\t"
  13083. "adds x20, x21, x5\n\t"
  13084. "# a[i+10] += m[10] * mu\n\t"
  13085. "adc x7, x7, xzr\n\t"
  13086. "adds x20, x20, x6\n\t"
  13087. "mul x5, x26, x10\n\t"
  13088. "adc x7, x7, xzr\n\t"
  13089. "umulh x6, x26, x10\n\t"
  13090. "adds x21, x22, x5\n\t"
  13091. "# a[i+11] += m[11] * mu\n\t"
  13092. "adc x6, x6, xzr\n\t"
  13093. "adds x21, x21, x7\n\t"
  13094. "mul x5, x27, x10\n\t"
  13095. "adc x6, x6, xzr\n\t"
  13096. "umulh x7, x27, x10\n\t"
  13097. "adds x22, x23, x5\n\t"
  13098. "ldp x24, x25, [%[m], 96]\n\t"
  13099. "ldp x26, x27, [%[m], 112]\n\t"
  13100. "# a[i+12] += m[12] * mu\n\t"
  13101. "adc x7, x7, xzr\n\t"
  13102. "adds x22, x22, x6\n\t"
  13103. "mul x5, x24, x10\n\t"
  13104. "adc x7, x7, xzr\n\t"
  13105. "ldr x23, [%[a], 96]\n\t"
  13106. "umulh x6, x24, x10\n\t"
  13107. "adds x23, x23, x5\n\t"
  13108. "# a[i+13] += m[13] * mu\n\t"
  13109. "adc x6, x6, xzr\n\t"
  13110. "adds x23, x23, x7\n\t"
  13111. "mul x5, x25, x10\n\t"
  13112. "adc x6, x6, xzr\n\t"
  13113. "ldp x8, x9, [%[a], 104]\n\t"
  13114. "umulh x7, x25, x10\n\t"
  13115. "adds x8, x8, x5\n\t"
  13116. "# a[i+14] += m[14] * mu\n\t"
  13117. "adc x7, x7, xzr\n\t"
  13118. "adds x8, x8, x6\n\t"
  13119. "mul x5, x26, x10\n\t"
  13120. "adc x7, x7, xzr\n\t"
  13121. "str x8, [%[a], 104]\n\t"
  13122. "umulh x6, x26, x10\n\t"
  13123. "adds x9, x9, x5\n\t"
  13124. "# a[i+15] += m[15] * mu\n\t"
  13125. "adc x6, x6, xzr\n\t"
  13126. "adds x9, x9, x7\n\t"
  13127. "mul x5, x27, x10\n\t"
  13128. "adc x6, x6, xzr\n\t"
  13129. "str x9, [%[a], 112]\n\t"
  13130. "ldp x8, x9, [%[a], 120]\n\t"
  13131. "umulh x7, x27, x10\n\t"
  13132. "adds x8, x8, x5\n\t"
  13133. "ldp x24, x25, [%[m], 128]\n\t"
  13134. "ldp x26, x27, [%[m], 144]\n\t"
  13135. "# a[i+16] += m[16] * mu\n\t"
  13136. "adc x7, x7, xzr\n\t"
  13137. "adds x8, x8, x6\n\t"
  13138. "mul x5, x24, x10\n\t"
  13139. "adc x7, x7, xzr\n\t"
  13140. "str x8, [%[a], 120]\n\t"
  13141. "umulh x6, x24, x10\n\t"
  13142. "adds x9, x9, x5\n\t"
  13143. "# a[i+17] += m[17] * mu\n\t"
  13144. "adc x6, x6, xzr\n\t"
  13145. "adds x9, x9, x7\n\t"
  13146. "mul x5, x25, x10\n\t"
  13147. "adc x6, x6, xzr\n\t"
  13148. "str x9, [%[a], 128]\n\t"
  13149. "ldp x8, x9, [%[a], 136]\n\t"
  13150. "umulh x7, x25, x10\n\t"
  13151. "adds x8, x8, x5\n\t"
  13152. "# a[i+18] += m[18] * mu\n\t"
  13153. "adc x7, x7, xzr\n\t"
  13154. "adds x8, x8, x6\n\t"
  13155. "mul x5, x26, x10\n\t"
  13156. "adc x7, x7, xzr\n\t"
  13157. "str x8, [%[a], 136]\n\t"
  13158. "umulh x6, x26, x10\n\t"
  13159. "adds x9, x9, x5\n\t"
  13160. "# a[i+19] += m[19] * mu\n\t"
  13161. "adc x6, x6, xzr\n\t"
  13162. "adds x9, x9, x7\n\t"
  13163. "mul x5, x27, x10\n\t"
  13164. "adc x6, x6, xzr\n\t"
  13165. "str x9, [%[a], 144]\n\t"
  13166. "ldp x8, x9, [%[a], 152]\n\t"
  13167. "umulh x7, x27, x10\n\t"
  13168. "adds x8, x8, x5\n\t"
  13169. "ldp x24, x25, [%[m], 160]\n\t"
  13170. "ldp x26, x27, [%[m], 176]\n\t"
  13171. "# a[i+20] += m[20] * mu\n\t"
  13172. "adc x7, x7, xzr\n\t"
  13173. "adds x8, x8, x6\n\t"
  13174. "mul x5, x24, x10\n\t"
  13175. "adc x7, x7, xzr\n\t"
  13176. "str x8, [%[a], 152]\n\t"
  13177. "umulh x6, x24, x10\n\t"
  13178. "adds x9, x9, x5\n\t"
  13179. "# a[i+21] += m[21] * mu\n\t"
  13180. "adc x6, x6, xzr\n\t"
  13181. "adds x9, x9, x7\n\t"
  13182. "mul x5, x25, x10\n\t"
  13183. "adc x6, x6, xzr\n\t"
  13184. "str x9, [%[a], 160]\n\t"
  13185. "ldp x8, x9, [%[a], 168]\n\t"
  13186. "umulh x7, x25, x10\n\t"
  13187. "adds x8, x8, x5\n\t"
  13188. "# a[i+22] += m[22] * mu\n\t"
  13189. "adc x7, x7, xzr\n\t"
  13190. "adds x8, x8, x6\n\t"
  13191. "mul x5, x26, x10\n\t"
  13192. "adc x7, x7, xzr\n\t"
  13193. "str x8, [%[a], 168]\n\t"
  13194. "umulh x6, x26, x10\n\t"
  13195. "adds x9, x9, x5\n\t"
  13196. "# a[i+23] += m[23] * mu\n\t"
  13197. "adc x6, x6, xzr\n\t"
  13198. "adds x9, x9, x7\n\t"
  13199. "mul x5, x27, x10\n\t"
  13200. "adc x6, x6, xzr\n\t"
  13201. "str x9, [%[a], 176]\n\t"
  13202. "ldp x8, x9, [%[a], 184]\n\t"
  13203. "umulh x7, x27, x10\n\t"
  13204. "adds x8, x8, x5\n\t"
  13205. "ldp x24, x25, [%[m], 192]\n\t"
  13206. "ldp x26, x27, [%[m], 208]\n\t"
  13207. "# a[i+24] += m[24] * mu\n\t"
  13208. "adc x7, x7, xzr\n\t"
  13209. "adds x8, x8, x6\n\t"
  13210. "mul x5, x24, x10\n\t"
  13211. "adc x7, x7, xzr\n\t"
  13212. "str x8, [%[a], 184]\n\t"
  13213. "umulh x6, x24, x10\n\t"
  13214. "adds x9, x9, x5\n\t"
  13215. "# a[i+25] += m[25] * mu\n\t"
  13216. "adc x6, x6, xzr\n\t"
  13217. "adds x9, x9, x7\n\t"
  13218. "mul x5, x25, x10\n\t"
  13219. "adc x6, x6, xzr\n\t"
  13220. "str x9, [%[a], 192]\n\t"
  13221. "ldp x8, x9, [%[a], 200]\n\t"
  13222. "umulh x7, x25, x10\n\t"
  13223. "adds x8, x8, x5\n\t"
  13224. "# a[i+26] += m[26] * mu\n\t"
  13225. "adc x7, x7, xzr\n\t"
  13226. "adds x8, x8, x6\n\t"
  13227. "mul x5, x26, x10\n\t"
  13228. "adc x7, x7, xzr\n\t"
  13229. "str x8, [%[a], 200]\n\t"
  13230. "umulh x6, x26, x10\n\t"
  13231. "adds x9, x9, x5\n\t"
  13232. "# a[i+27] += m[27] * mu\n\t"
  13233. "adc x6, x6, xzr\n\t"
  13234. "adds x9, x9, x7\n\t"
  13235. "mul x5, x27, x10\n\t"
  13236. "adc x6, x6, xzr\n\t"
  13237. "str x9, [%[a], 208]\n\t"
  13238. "ldp x8, x9, [%[a], 216]\n\t"
  13239. "umulh x7, x27, x10\n\t"
  13240. "adds x8, x8, x5\n\t"
  13241. "ldp x24, x25, [%[m], 224]\n\t"
  13242. "ldp x26, x27, [%[m], 240]\n\t"
  13243. "# a[i+28] += m[28] * mu\n\t"
  13244. "adc x7, x7, xzr\n\t"
  13245. "adds x8, x8, x6\n\t"
  13246. "mul x5, x24, x10\n\t"
  13247. "adc x7, x7, xzr\n\t"
  13248. "str x8, [%[a], 216]\n\t"
  13249. "umulh x6, x24, x10\n\t"
  13250. "adds x9, x9, x5\n\t"
  13251. "# a[i+29] += m[29] * mu\n\t"
  13252. "adc x6, x6, xzr\n\t"
  13253. "adds x9, x9, x7\n\t"
  13254. "mul x5, x25, x10\n\t"
  13255. "adc x6, x6, xzr\n\t"
  13256. "str x9, [%[a], 224]\n\t"
  13257. "ldp x8, x9, [%[a], 232]\n\t"
  13258. "umulh x7, x25, x10\n\t"
  13259. "adds x8, x8, x5\n\t"
  13260. "# a[i+30] += m[30] * mu\n\t"
  13261. "adc x7, x7, xzr\n\t"
  13262. "adds x8, x8, x6\n\t"
  13263. "mul x5, x26, x10\n\t"
  13264. "adc x7, x7, xzr\n\t"
  13265. "str x8, [%[a], 232]\n\t"
  13266. "umulh x6, x26, x10\n\t"
  13267. "adds x9, x9, x5\n\t"
  13268. "# a[i+31] += m[31] * mu\n\t"
  13269. "adc x6, x6, xzr\n\t"
  13270. "adds x9, x9, x7\n\t"
  13271. "mul x5, x27, x10\n\t"
  13272. "adc x6, x6, xzr\n\t"
  13273. "str x9, [%[a], 240]\n\t"
  13274. "ldp x8, x9, [%[a], 248]\n\t"
  13275. "umulh x7, x27, x10\n\t"
  13276. "adds x8, x8, x5\n\t"
  13277. "ldp x24, x25, [%[m], 256]\n\t"
  13278. "ldp x26, x27, [%[m], 272]\n\t"
  13279. "# a[i+32] += m[32] * mu\n\t"
  13280. "adc x7, x7, xzr\n\t"
  13281. "adds x8, x8, x6\n\t"
  13282. "mul x5, x24, x10\n\t"
  13283. "adc x7, x7, xzr\n\t"
  13284. "str x8, [%[a], 248]\n\t"
  13285. "umulh x6, x24, x10\n\t"
  13286. "adds x9, x9, x5\n\t"
  13287. "# a[i+33] += m[33] * mu\n\t"
  13288. "adc x6, x6, xzr\n\t"
  13289. "adds x9, x9, x7\n\t"
  13290. "mul x5, x25, x10\n\t"
  13291. "adc x6, x6, xzr\n\t"
  13292. "str x9, [%[a], 256]\n\t"
  13293. "ldp x8, x9, [%[a], 264]\n\t"
  13294. "umulh x7, x25, x10\n\t"
  13295. "adds x8, x8, x5\n\t"
  13296. "# a[i+34] += m[34] * mu\n\t"
  13297. "adc x7, x7, xzr\n\t"
  13298. "adds x8, x8, x6\n\t"
  13299. "mul x5, x26, x10\n\t"
  13300. "adc x7, x7, xzr\n\t"
  13301. "str x8, [%[a], 264]\n\t"
  13302. "umulh x6, x26, x10\n\t"
  13303. "adds x9, x9, x5\n\t"
  13304. "# a[i+35] += m[35] * mu\n\t"
  13305. "adc x6, x6, xzr\n\t"
  13306. "adds x9, x9, x7\n\t"
  13307. "mul x5, x27, x10\n\t"
  13308. "adc x6, x6, xzr\n\t"
  13309. "str x9, [%[a], 272]\n\t"
  13310. "ldp x8, x9, [%[a], 280]\n\t"
  13311. "umulh x7, x27, x10\n\t"
  13312. "adds x8, x8, x5\n\t"
  13313. "ldp x24, x25, [%[m], 288]\n\t"
  13314. "ldp x26, x27, [%[m], 304]\n\t"
  13315. "# a[i+36] += m[36] * mu\n\t"
  13316. "adc x7, x7, xzr\n\t"
  13317. "adds x8, x8, x6\n\t"
  13318. "mul x5, x24, x10\n\t"
  13319. "adc x7, x7, xzr\n\t"
  13320. "str x8, [%[a], 280]\n\t"
  13321. "umulh x6, x24, x10\n\t"
  13322. "adds x9, x9, x5\n\t"
  13323. "# a[i+37] += m[37] * mu\n\t"
  13324. "adc x6, x6, xzr\n\t"
  13325. "adds x9, x9, x7\n\t"
  13326. "mul x5, x25, x10\n\t"
  13327. "adc x6, x6, xzr\n\t"
  13328. "str x9, [%[a], 288]\n\t"
  13329. "ldp x8, x9, [%[a], 296]\n\t"
  13330. "umulh x7, x25, x10\n\t"
  13331. "adds x8, x8, x5\n\t"
  13332. "# a[i+38] += m[38] * mu\n\t"
  13333. "adc x7, x7, xzr\n\t"
  13334. "adds x8, x8, x6\n\t"
  13335. "mul x5, x26, x10\n\t"
  13336. "adc x7, x7, xzr\n\t"
  13337. "str x8, [%[a], 296]\n\t"
  13338. "umulh x6, x26, x10\n\t"
  13339. "adds x9, x9, x5\n\t"
  13340. "# a[i+39] += m[39] * mu\n\t"
  13341. "adc x6, x6, xzr\n\t"
  13342. "adds x9, x9, x7\n\t"
  13343. "mul x5, x27, x10\n\t"
  13344. "adc x6, x6, xzr\n\t"
  13345. "str x9, [%[a], 304]\n\t"
  13346. "ldp x8, x9, [%[a], 312]\n\t"
  13347. "umulh x7, x27, x10\n\t"
  13348. "adds x8, x8, x5\n\t"
  13349. "ldp x24, x25, [%[m], 320]\n\t"
  13350. "ldp x26, x27, [%[m], 336]\n\t"
  13351. "# a[i+40] += m[40] * mu\n\t"
  13352. "adc x7, x7, xzr\n\t"
  13353. "adds x8, x8, x6\n\t"
  13354. "mul x5, x24, x10\n\t"
  13355. "adc x7, x7, xzr\n\t"
  13356. "str x8, [%[a], 312]\n\t"
  13357. "umulh x6, x24, x10\n\t"
  13358. "adds x9, x9, x5\n\t"
  13359. "# a[i+41] += m[41] * mu\n\t"
  13360. "adc x6, x6, xzr\n\t"
  13361. "adds x9, x9, x7\n\t"
  13362. "mul x5, x25, x10\n\t"
  13363. "adc x6, x6, xzr\n\t"
  13364. "str x9, [%[a], 320]\n\t"
  13365. "ldp x8, x9, [%[a], 328]\n\t"
  13366. "umulh x7, x25, x10\n\t"
  13367. "adds x8, x8, x5\n\t"
  13368. "# a[i+42] += m[42] * mu\n\t"
  13369. "adc x7, x7, xzr\n\t"
  13370. "adds x8, x8, x6\n\t"
  13371. "mul x5, x26, x10\n\t"
  13372. "adc x7, x7, xzr\n\t"
  13373. "str x8, [%[a], 328]\n\t"
  13374. "umulh x6, x26, x10\n\t"
  13375. "adds x9, x9, x5\n\t"
  13376. "# a[i+43] += m[43] * mu\n\t"
  13377. "adc x6, x6, xzr\n\t"
  13378. "adds x9, x9, x7\n\t"
  13379. "mul x5, x27, x10\n\t"
  13380. "adc x6, x6, xzr\n\t"
  13381. "str x9, [%[a], 336]\n\t"
  13382. "ldp x8, x9, [%[a], 344]\n\t"
  13383. "umulh x7, x27, x10\n\t"
  13384. "adds x8, x8, x5\n\t"
  13385. "ldp x24, x25, [%[m], 352]\n\t"
  13386. "ldp x26, x27, [%[m], 368]\n\t"
  13387. "# a[i+44] += m[44] * mu\n\t"
  13388. "adc x7, x7, xzr\n\t"
  13389. "adds x8, x8, x6\n\t"
  13390. "mul x5, x24, x10\n\t"
  13391. "adc x7, x7, xzr\n\t"
  13392. "str x8, [%[a], 344]\n\t"
  13393. "umulh x6, x24, x10\n\t"
  13394. "adds x9, x9, x5\n\t"
  13395. "# a[i+45] += m[45] * mu\n\t"
  13396. "adc x6, x6, xzr\n\t"
  13397. "adds x9, x9, x7\n\t"
  13398. "mul x5, x25, x10\n\t"
  13399. "adc x6, x6, xzr\n\t"
  13400. "str x9, [%[a], 352]\n\t"
  13401. "ldp x8, x9, [%[a], 360]\n\t"
  13402. "umulh x7, x25, x10\n\t"
  13403. "adds x8, x8, x5\n\t"
  13404. "# a[i+46] += m[46] * mu\n\t"
  13405. "adc x7, x7, xzr\n\t"
  13406. "adds x8, x8, x6\n\t"
  13407. "mul x5, x26, x10\n\t"
  13408. "adc x7, x7, xzr\n\t"
  13409. "str x8, [%[a], 360]\n\t"
  13410. "umulh x6, x26, x10\n\t"
  13411. "adds x9, x9, x5\n\t"
  13412. "# a[i+47] += m[47] * mu\n\t"
  13413. "adc x6, x6, xzr\n\t"
  13414. "adds x9, x9, x7\n\t"
  13415. "mul x5, x27, x10\n\t"
  13416. "adc x6, x6, xzr\n\t"
  13417. "str x9, [%[a], 368]\n\t"
  13418. "umulh x7, x27, x10\n\t"
  13419. "ldp x8, x9, [%[a], 376]\n\t"
  13420. "adds x5, x5, x6\n\t"
  13421. "adcs x7, x7, x3\n\t"
  13422. "cset x3, cs\n\t"
  13423. "adds x8, x8, x5\n\t"
  13424. "str x8, [%[a], 376]\n\t"
  13425. "adcs x9, x9, x7\n\t"
  13426. "str x9, [%[a], 384]\n\t"
  13427. "adc x3, x3, xzr\n\t"
  13428. "subs x4, x4, 1\n\t"
  13429. "add %[a], %[a], 8\n\t"
  13430. "b.ne 1b\n\t"
  13431. "# Create mask\n\t"
  13432. "neg x3, x3\n\t"
  13433. "mov %[mp], %[a]\n\t"
  13434. "sub %[a], %[a], 384\n\t"
  13435. "# Subtract masked modulus\n\t"
  13436. "ldp x4, x5, [%[m], 0]\n\t"
  13437. "ldp x6, x7, [%[m], 16]\n\t"
  13438. "and x4, x4, x3\n\t"
  13439. "and x5, x5, x3\n\t"
  13440. "subs x11, x11, x4\n\t"
  13441. "and x6, x6, x3\n\t"
  13442. "sbcs x12, x12, x5\n\t"
  13443. "and x7, x7, x3\n\t"
  13444. "sbcs x13, x13, x6\n\t"
  13445. "stp x11, x12, [%[a], 0]\n\t"
  13446. "sbcs x14, x14, x7\n\t"
  13447. "stp x13, x14, [%[a], 16]\n\t"
  13448. "ldp x4, x5, [%[m], 32]\n\t"
  13449. "ldp x6, x7, [%[m], 48]\n\t"
  13450. "and x4, x4, x3\n\t"
  13451. "and x5, x5, x3\n\t"
  13452. "sbcs x15, x15, x4\n\t"
  13453. "and x6, x6, x3\n\t"
  13454. "sbcs x16, x16, x5\n\t"
  13455. "and x7, x7, x3\n\t"
  13456. "sbcs x17, x17, x6\n\t"
  13457. "stp x15, x16, [%[a], 32]\n\t"
  13458. "sbcs x19, x19, x7\n\t"
  13459. "stp x17, x19, [%[a], 48]\n\t"
  13460. "ldp x4, x5, [%[m], 64]\n\t"
  13461. "ldp x6, x7, [%[m], 80]\n\t"
  13462. "and x4, x4, x3\n\t"
  13463. "and x5, x5, x3\n\t"
  13464. "sbcs x20, x20, x4\n\t"
  13465. "and x6, x6, x3\n\t"
  13466. "sbcs x21, x21, x5\n\t"
  13467. "and x7, x7, x3\n\t"
  13468. "sbcs x22, x22, x6\n\t"
  13469. "stp x20, x21, [%[a], 64]\n\t"
  13470. "sbcs x23, x23, x7\n\t"
  13471. "stp x22, x23, [%[a], 80]\n\t"
  13472. "ldp x4, x5, [%[m], 96]\n\t"
  13473. "ldp x6, x7, [%[m], 112]\n\t"
  13474. "ldp x8, x9, [%[mp], 96]\n\t"
  13475. "ldp x10, x11, [%[mp], 112]\n\t"
  13476. "and x4, x4, x3\n\t"
  13477. "and x5, x5, x3\n\t"
  13478. "sbcs x8, x8, x4\n\t"
  13479. "and x6, x6, x3\n\t"
  13480. "sbcs x9, x9, x5\n\t"
  13481. "and x7, x7, x3\n\t"
  13482. "sbcs x10, x10, x6\n\t"
  13483. "stp x8, x9, [%[a], 96]\n\t"
  13484. "sbcs x11, x11, x7\n\t"
  13485. "stp x10, x11, [%[a], 112]\n\t"
  13486. "ldp x4, x5, [%[m], 128]\n\t"
  13487. "ldp x6, x7, [%[m], 144]\n\t"
  13488. "ldp x8, x9, [%[mp], 128]\n\t"
  13489. "ldp x10, x11, [%[mp], 144]\n\t"
  13490. "and x4, x4, x3\n\t"
  13491. "and x5, x5, x3\n\t"
  13492. "sbcs x8, x8, x4\n\t"
  13493. "and x6, x6, x3\n\t"
  13494. "sbcs x9, x9, x5\n\t"
  13495. "and x7, x7, x3\n\t"
  13496. "sbcs x10, x10, x6\n\t"
  13497. "stp x8, x9, [%[a], 128]\n\t"
  13498. "sbcs x11, x11, x7\n\t"
  13499. "stp x10, x11, [%[a], 144]\n\t"
  13500. "ldp x4, x5, [%[m], 160]\n\t"
  13501. "ldp x6, x7, [%[m], 176]\n\t"
  13502. "ldp x8, x9, [%[mp], 160]\n\t"
  13503. "ldp x10, x11, [%[mp], 176]\n\t"
  13504. "and x4, x4, x3\n\t"
  13505. "and x5, x5, x3\n\t"
  13506. "sbcs x8, x8, x4\n\t"
  13507. "and x6, x6, x3\n\t"
  13508. "sbcs x9, x9, x5\n\t"
  13509. "and x7, x7, x3\n\t"
  13510. "sbcs x10, x10, x6\n\t"
  13511. "stp x8, x9, [%[a], 160]\n\t"
  13512. "sbcs x11, x11, x7\n\t"
  13513. "stp x10, x11, [%[a], 176]\n\t"
  13514. "ldp x4, x5, [%[m], 192]\n\t"
  13515. "ldp x6, x7, [%[m], 208]\n\t"
  13516. "ldp x8, x9, [%[mp], 192]\n\t"
  13517. "ldp x10, x11, [%[mp], 208]\n\t"
  13518. "and x4, x4, x3\n\t"
  13519. "and x5, x5, x3\n\t"
  13520. "sbcs x8, x8, x4\n\t"
  13521. "and x6, x6, x3\n\t"
  13522. "sbcs x9, x9, x5\n\t"
  13523. "and x7, x7, x3\n\t"
  13524. "sbcs x10, x10, x6\n\t"
  13525. "stp x8, x9, [%[a], 192]\n\t"
  13526. "sbcs x11, x11, x7\n\t"
  13527. "stp x10, x11, [%[a], 208]\n\t"
  13528. "ldp x4, x5, [%[m], 224]\n\t"
  13529. "ldp x6, x7, [%[m], 240]\n\t"
  13530. "ldp x8, x9, [%[mp], 224]\n\t"
  13531. "ldp x10, x11, [%[mp], 240]\n\t"
  13532. "and x4, x4, x3\n\t"
  13533. "and x5, x5, x3\n\t"
  13534. "sbcs x8, x8, x4\n\t"
  13535. "and x6, x6, x3\n\t"
  13536. "sbcs x9, x9, x5\n\t"
  13537. "and x7, x7, x3\n\t"
  13538. "sbcs x10, x10, x6\n\t"
  13539. "stp x8, x9, [%[a], 224]\n\t"
  13540. "sbcs x11, x11, x7\n\t"
  13541. "stp x10, x11, [%[a], 240]\n\t"
  13542. "ldp x4, x5, [%[m], 256]\n\t"
  13543. "ldp x6, x7, [%[m], 272]\n\t"
  13544. "ldp x8, x9, [%[mp], 256]\n\t"
  13545. "ldp x10, x11, [%[mp], 272]\n\t"
  13546. "and x4, x4, x3\n\t"
  13547. "and x5, x5, x3\n\t"
  13548. "sbcs x8, x8, x4\n\t"
  13549. "and x6, x6, x3\n\t"
  13550. "sbcs x9, x9, x5\n\t"
  13551. "and x7, x7, x3\n\t"
  13552. "sbcs x10, x10, x6\n\t"
  13553. "stp x8, x9, [%[a], 256]\n\t"
  13554. "sbcs x11, x11, x7\n\t"
  13555. "stp x10, x11, [%[a], 272]\n\t"
  13556. "ldp x4, x5, [%[m], 288]\n\t"
  13557. "ldp x6, x7, [%[m], 304]\n\t"
  13558. "ldp x8, x9, [%[mp], 288]\n\t"
  13559. "ldp x10, x11, [%[mp], 304]\n\t"
  13560. "and x4, x4, x3\n\t"
  13561. "and x5, x5, x3\n\t"
  13562. "sbcs x8, x8, x4\n\t"
  13563. "and x6, x6, x3\n\t"
  13564. "sbcs x9, x9, x5\n\t"
  13565. "and x7, x7, x3\n\t"
  13566. "sbcs x10, x10, x6\n\t"
  13567. "stp x8, x9, [%[a], 288]\n\t"
  13568. "sbcs x11, x11, x7\n\t"
  13569. "stp x10, x11, [%[a], 304]\n\t"
  13570. "ldp x4, x5, [%[m], 320]\n\t"
  13571. "ldp x6, x7, [%[m], 336]\n\t"
  13572. "ldp x8, x9, [%[mp], 320]\n\t"
  13573. "ldp x10, x11, [%[mp], 336]\n\t"
  13574. "and x4, x4, x3\n\t"
  13575. "and x5, x5, x3\n\t"
  13576. "sbcs x8, x8, x4\n\t"
  13577. "and x6, x6, x3\n\t"
  13578. "sbcs x9, x9, x5\n\t"
  13579. "and x7, x7, x3\n\t"
  13580. "sbcs x10, x10, x6\n\t"
  13581. "stp x8, x9, [%[a], 320]\n\t"
  13582. "sbcs x11, x11, x7\n\t"
  13583. "stp x10, x11, [%[a], 336]\n\t"
  13584. "ldp x4, x5, [%[m], 352]\n\t"
  13585. "ldp x6, x7, [%[m], 368]\n\t"
  13586. "ldp x8, x9, [%[mp], 352]\n\t"
  13587. "ldp x10, x11, [%[mp], 368]\n\t"
  13588. "and x4, x4, x3\n\t"
  13589. "and x5, x5, x3\n\t"
  13590. "sbcs x8, x8, x4\n\t"
  13591. "and x6, x6, x3\n\t"
  13592. "sbcs x9, x9, x5\n\t"
  13593. "and x7, x7, x3\n\t"
  13594. "sbcs x10, x10, x6\n\t"
  13595. "stp x8, x9, [%[a], 352]\n\t"
  13596. "sbcs x11, x11, x7\n\t"
  13597. "stp x10, x11, [%[a], 368]\n\t"
  13598. : [a] "+r" (a), [mp] "+r" (mp)
  13599. : [m] "r" (m)
  13600. : "memory", "x3", "x4", "x5", "x6", "x7", "x10", "x8", "x9", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27"
  13601. );
  13602. }
  13603. /* Multiply two Montgomery form numbers mod the modulus (prime).
  13604. * (r = a * b mod m)
  13605. *
  13606. * r Result of multiplication.
  13607. * a First number to multiply in Montgomery form.
  13608. * b Second number to multiply in Montgomery form.
  13609. * m Modulus (prime).
  13610. * mp Montgomery mulitplier.
  13611. */
  13612. SP_NOINLINE static void sp_3072_mont_mul_48(sp_digit* r, const sp_digit* a,
  13613. const sp_digit* b, const sp_digit* m, sp_digit mp)
  13614. {
  13615. sp_3072_mul_48(r, a, b);
  13616. sp_3072_mont_reduce_48(r, m, mp);
  13617. }
  13618. /* Square the Montgomery form number. (r = a * a mod m)
  13619. *
  13620. * r Result of squaring.
  13621. * a Number to square in Montgomery form.
  13622. * m Modulus (prime).
  13623. * mp Montgomery mulitplier.
  13624. */
  13625. SP_NOINLINE static void sp_3072_mont_sqr_48(sp_digit* r, const sp_digit* a,
  13626. const sp_digit* m, sp_digit mp)
  13627. {
  13628. sp_3072_sqr_48(r, a);
  13629. sp_3072_mont_reduce_48(r, m, mp);
  13630. }
  13631. #ifdef WOLFSSL_SP_SMALL
  13632. /* Sub b from a into r. (r = a - b)
  13633. *
  13634. * r A single precision integer.
  13635. * a A single precision integer.
  13636. * b A single precision integer.
  13637. */
  13638. static sp_digit sp_3072_sub_48(sp_digit* r, const sp_digit* a,
  13639. const sp_digit* b)
  13640. {
  13641. sp_digit c = 0;
  13642. __asm__ __volatile__ (
  13643. "add x11, %[a], 384\n\t"
  13644. "\n1:\n\t"
  13645. "subs %[c], xzr, %[c]\n\t"
  13646. "ldp x3, x4, [%[a]], #16\n\t"
  13647. "ldp x5, x6, [%[a]], #16\n\t"
  13648. "ldp x7, x8, [%[b]], #16\n\t"
  13649. "sbcs x3, x3, x7\n\t"
  13650. "ldp x9, x10, [%[b]], #16\n\t"
  13651. "sbcs x4, x4, x8\n\t"
  13652. "sbcs x5, x5, x9\n\t"
  13653. "stp x3, x4, [%[r]], #16\n\t"
  13654. "sbcs x6, x6, x10\n\t"
  13655. "stp x5, x6, [%[r]], #16\n\t"
  13656. "csetm %[c], cc\n\t"
  13657. "cmp %[a], x11\n\t"
  13658. "b.ne 1b\n\t"
  13659. : [c] "+r" (c), [r] "+r" (r), [a] "+r" (a), [b] "+r" (b)
  13660. :
  13661. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  13662. );
  13663. return c;
  13664. }
  13665. #else
  13666. /* Sub b from a into r. (r = a - b)
  13667. *
  13668. * r A single precision integer.
  13669. * a A single precision integer.
  13670. * b A single precision integer.
  13671. */
  13672. static sp_digit sp_3072_sub_48(sp_digit* r, const sp_digit* a,
  13673. const sp_digit* b)
  13674. {
  13675. __asm__ __volatile__ (
  13676. "ldp x3, x4, [%[a], 0]\n\t"
  13677. "ldp x7, x8, [%[b], 0]\n\t"
  13678. "subs x3, x3, x7\n\t"
  13679. "ldp x5, x6, [%[a], 16]\n\t"
  13680. "sbcs x4, x4, x8\n\t"
  13681. "ldp x9, x10, [%[b], 16]\n\t"
  13682. "sbcs x5, x5, x9\n\t"
  13683. "stp x3, x4, [%[r], 0]\n\t"
  13684. "sbcs x6, x6, x10\n\t"
  13685. "stp x5, x6, [%[r], 16]\n\t"
  13686. "ldp x3, x4, [%[a], 32]\n\t"
  13687. "ldp x7, x8, [%[b], 32]\n\t"
  13688. "sbcs x3, x3, x7\n\t"
  13689. "ldp x5, x6, [%[a], 48]\n\t"
  13690. "sbcs x4, x4, x8\n\t"
  13691. "ldp x9, x10, [%[b], 48]\n\t"
  13692. "sbcs x5, x5, x9\n\t"
  13693. "stp x3, x4, [%[r], 32]\n\t"
  13694. "sbcs x6, x6, x10\n\t"
  13695. "stp x5, x6, [%[r], 48]\n\t"
  13696. "ldp x3, x4, [%[a], 64]\n\t"
  13697. "ldp x7, x8, [%[b], 64]\n\t"
  13698. "sbcs x3, x3, x7\n\t"
  13699. "ldp x5, x6, [%[a], 80]\n\t"
  13700. "sbcs x4, x4, x8\n\t"
  13701. "ldp x9, x10, [%[b], 80]\n\t"
  13702. "sbcs x5, x5, x9\n\t"
  13703. "stp x3, x4, [%[r], 64]\n\t"
  13704. "sbcs x6, x6, x10\n\t"
  13705. "stp x5, x6, [%[r], 80]\n\t"
  13706. "ldp x3, x4, [%[a], 96]\n\t"
  13707. "ldp x7, x8, [%[b], 96]\n\t"
  13708. "sbcs x3, x3, x7\n\t"
  13709. "ldp x5, x6, [%[a], 112]\n\t"
  13710. "sbcs x4, x4, x8\n\t"
  13711. "ldp x9, x10, [%[b], 112]\n\t"
  13712. "sbcs x5, x5, x9\n\t"
  13713. "stp x3, x4, [%[r], 96]\n\t"
  13714. "sbcs x6, x6, x10\n\t"
  13715. "stp x5, x6, [%[r], 112]\n\t"
  13716. "ldp x3, x4, [%[a], 128]\n\t"
  13717. "ldp x7, x8, [%[b], 128]\n\t"
  13718. "sbcs x3, x3, x7\n\t"
  13719. "ldp x5, x6, [%[a], 144]\n\t"
  13720. "sbcs x4, x4, x8\n\t"
  13721. "ldp x9, x10, [%[b], 144]\n\t"
  13722. "sbcs x5, x5, x9\n\t"
  13723. "stp x3, x4, [%[r], 128]\n\t"
  13724. "sbcs x6, x6, x10\n\t"
  13725. "stp x5, x6, [%[r], 144]\n\t"
  13726. "ldp x3, x4, [%[a], 160]\n\t"
  13727. "ldp x7, x8, [%[b], 160]\n\t"
  13728. "sbcs x3, x3, x7\n\t"
  13729. "ldp x5, x6, [%[a], 176]\n\t"
  13730. "sbcs x4, x4, x8\n\t"
  13731. "ldp x9, x10, [%[b], 176]\n\t"
  13732. "sbcs x5, x5, x9\n\t"
  13733. "stp x3, x4, [%[r], 160]\n\t"
  13734. "sbcs x6, x6, x10\n\t"
  13735. "stp x5, x6, [%[r], 176]\n\t"
  13736. "ldp x3, x4, [%[a], 192]\n\t"
  13737. "ldp x7, x8, [%[b], 192]\n\t"
  13738. "sbcs x3, x3, x7\n\t"
  13739. "ldp x5, x6, [%[a], 208]\n\t"
  13740. "sbcs x4, x4, x8\n\t"
  13741. "ldp x9, x10, [%[b], 208]\n\t"
  13742. "sbcs x5, x5, x9\n\t"
  13743. "stp x3, x4, [%[r], 192]\n\t"
  13744. "sbcs x6, x6, x10\n\t"
  13745. "stp x5, x6, [%[r], 208]\n\t"
  13746. "ldp x3, x4, [%[a], 224]\n\t"
  13747. "ldp x7, x8, [%[b], 224]\n\t"
  13748. "sbcs x3, x3, x7\n\t"
  13749. "ldp x5, x6, [%[a], 240]\n\t"
  13750. "sbcs x4, x4, x8\n\t"
  13751. "ldp x9, x10, [%[b], 240]\n\t"
  13752. "sbcs x5, x5, x9\n\t"
  13753. "stp x3, x4, [%[r], 224]\n\t"
  13754. "sbcs x6, x6, x10\n\t"
  13755. "stp x5, x6, [%[r], 240]\n\t"
  13756. "ldp x3, x4, [%[a], 256]\n\t"
  13757. "ldp x7, x8, [%[b], 256]\n\t"
  13758. "sbcs x3, x3, x7\n\t"
  13759. "ldp x5, x6, [%[a], 272]\n\t"
  13760. "sbcs x4, x4, x8\n\t"
  13761. "ldp x9, x10, [%[b], 272]\n\t"
  13762. "sbcs x5, x5, x9\n\t"
  13763. "stp x3, x4, [%[r], 256]\n\t"
  13764. "sbcs x6, x6, x10\n\t"
  13765. "stp x5, x6, [%[r], 272]\n\t"
  13766. "ldp x3, x4, [%[a], 288]\n\t"
  13767. "ldp x7, x8, [%[b], 288]\n\t"
  13768. "sbcs x3, x3, x7\n\t"
  13769. "ldp x5, x6, [%[a], 304]\n\t"
  13770. "sbcs x4, x4, x8\n\t"
  13771. "ldp x9, x10, [%[b], 304]\n\t"
  13772. "sbcs x5, x5, x9\n\t"
  13773. "stp x3, x4, [%[r], 288]\n\t"
  13774. "sbcs x6, x6, x10\n\t"
  13775. "stp x5, x6, [%[r], 304]\n\t"
  13776. "ldp x3, x4, [%[a], 320]\n\t"
  13777. "ldp x7, x8, [%[b], 320]\n\t"
  13778. "sbcs x3, x3, x7\n\t"
  13779. "ldp x5, x6, [%[a], 336]\n\t"
  13780. "sbcs x4, x4, x8\n\t"
  13781. "ldp x9, x10, [%[b], 336]\n\t"
  13782. "sbcs x5, x5, x9\n\t"
  13783. "stp x3, x4, [%[r], 320]\n\t"
  13784. "sbcs x6, x6, x10\n\t"
  13785. "stp x5, x6, [%[r], 336]\n\t"
  13786. "ldp x3, x4, [%[a], 352]\n\t"
  13787. "ldp x7, x8, [%[b], 352]\n\t"
  13788. "sbcs x3, x3, x7\n\t"
  13789. "ldp x5, x6, [%[a], 368]\n\t"
  13790. "sbcs x4, x4, x8\n\t"
  13791. "ldp x9, x10, [%[b], 368]\n\t"
  13792. "sbcs x5, x5, x9\n\t"
  13793. "stp x3, x4, [%[r], 352]\n\t"
  13794. "sbcs x6, x6, x10\n\t"
  13795. "stp x5, x6, [%[r], 368]\n\t"
  13796. "csetm %[r], cc\n\t"
  13797. : [r] "+r" (r)
  13798. : [a] "r" (a), [b] "r" (b)
  13799. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  13800. );
  13801. return (sp_digit)r;
  13802. }
  13803. #endif /* WOLFSSL_SP_SMALL */
  13804. /* Divide the double width number (d1|d0) by the divisor. (d1|d0 / div)
  13805. *
  13806. * Assumes divisor has higest bit set.
  13807. *
  13808. * d1 The high order half of the number to divide.
  13809. * d0 The low order half of the number to divide.
  13810. * div The divisor.
  13811. * returns the result of the division.
  13812. */
  13813. static sp_digit div_3072_word_48_cond(sp_digit d1, sp_digit d0, sp_digit div)
  13814. {
  13815. __asm__ __volatile__ (
  13816. "lsr x8, %[div], 32\n\t"
  13817. "add x5, x8, 1\n\t"
  13818. "udiv x3, %[d1], x5\n\t"
  13819. "lsl x7, %[div], 32\n\t"
  13820. "movz x9, #1, lsl 32\n\t"
  13821. "lsl x6, x3, 32\n\t"
  13822. "mul x4, %[div], x6\n\t"
  13823. "umulh x3, %[div], x6\n\t"
  13824. "subs %[d0], %[d0], x4\n\t"
  13825. "sbc %[d1], %[d1], x3\n\t"
  13826. "cmp %[d1], x5\n\t"
  13827. "b.lt 1f\n\t"
  13828. "subs %[d0], %[d0], x7\n\t"
  13829. "add x6, x6, x9\n\t"
  13830. "sbc %[d1], %[d1], x8\n\t"
  13831. "1:\n\t"
  13832. "extr x3, %[d1], %[d0], 32\n\t"
  13833. "udiv x3, x3, x5\n\t"
  13834. "add x6, x6, x3\n\t"
  13835. "mul x4, %[div], x3\n\t"
  13836. "umulh x3, %[div], x3\n\t"
  13837. "subs %[d0], %[d0], x4\n\t"
  13838. "sbc %[d1], %[d1], x3\n\t"
  13839. "extr x3, %[d1], %[d0], 32\n\t"
  13840. "cmp x3, x5\n\t"
  13841. "b.lt 2f\n\t"
  13842. "udiv x3, x3, x5\n\t"
  13843. "add x6, x6, x3\n\t"
  13844. "mul x4, %[div], x3\n\t"
  13845. "sub %[d0], %[d0], x4\n\t"
  13846. "2:\n\t"
  13847. "udiv x3, %[d0], %[div]\n\t"
  13848. "add %[d1], x6, x3\n\t"
  13849. : [d1] "+r" (d1), [d0] "+r" (d0)
  13850. : [div] "r" (div)
  13851. : "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  13852. );
  13853. return d1;
  13854. }
  13855. /* Divide d in a and put remainder into r (m*d + r = a)
  13856. * m is not calculated as it is not needed at this time.
  13857. *
  13858. * a Number to be divided.
  13859. * d Number to divide with.
  13860. * m Multiplier result.
  13861. * r Remainder from the division.
  13862. * returns MP_OKAY indicating success.
  13863. */
  13864. static WC_INLINE int sp_3072_div_48_cond(const sp_digit* a, const sp_digit* d, sp_digit* m,
  13865. sp_digit* r)
  13866. {
  13867. sp_digit t1[96], t2[49];
  13868. sp_digit div, r1;
  13869. int i;
  13870. (void)m;
  13871. div = d[47];
  13872. XMEMCPY(t1, a, sizeof(*t1) * 2 * 48);
  13873. for (i = 47; i > 0; i--) {
  13874. if (t1[i + 48] != d[i])
  13875. break;
  13876. }
  13877. if (t1[i + 48] >= d[i]) {
  13878. sp_3072_sub_in_place_48(&t1[48], d);
  13879. }
  13880. for (i = 47; i >= 0; i--) {
  13881. if (t1[48 + i] == div) {
  13882. r1 = SP_DIGIT_MAX;
  13883. }
  13884. else {
  13885. r1 = div_3072_word_48_cond(t1[48 + i], t1[48 + i - 1], div);
  13886. }
  13887. sp_3072_mul_d_48(t2, d, r1);
  13888. t1[48 + i] += sp_3072_sub_in_place_48(&t1[i], t2);
  13889. t1[48 + i] -= t2[48];
  13890. if (t1[48 + i] != 0) {
  13891. t1[48 + i] += sp_3072_add_48(&t1[i], &t1[i], d);
  13892. if (t1[48 + i] != 0)
  13893. t1[48 + i] += sp_3072_add_48(&t1[i], &t1[i], d);
  13894. }
  13895. }
  13896. for (i = 47; i > 0; i--) {
  13897. if (t1[i] != d[i])
  13898. break;
  13899. }
  13900. if (t1[i] >= d[i]) {
  13901. sp_3072_sub_48(r, t1, d);
  13902. }
  13903. else {
  13904. XMEMCPY(r, t1, sizeof(*t1) * 48);
  13905. }
  13906. return MP_OKAY;
  13907. }
  13908. /* Reduce a modulo m into r. (r = a mod m)
  13909. *
  13910. * r A single precision number that is the reduced result.
  13911. * a A single precision number that is to be reduced.
  13912. * m A single precision number that is the modulus to reduce with.
  13913. * returns MP_OKAY indicating success.
  13914. */
  13915. static WC_INLINE int sp_3072_mod_48_cond(sp_digit* r, const sp_digit* a, const sp_digit* m)
  13916. {
  13917. return sp_3072_div_48_cond(a, m, NULL, r);
  13918. }
  13919. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  13920. /* Conditionally subtract b from a using the mask m.
  13921. * m is -1 to subtract and 0 when not copying.
  13922. *
  13923. * r A single precision number representing condition subtract result.
  13924. * a A single precision number to subtract from.
  13925. * b A single precision number to subtract.
  13926. * m Mask value to apply.
  13927. */
  13928. static sp_digit sp_3072_cond_sub_48(sp_digit* r, const sp_digit* a, const sp_digit* b,
  13929. sp_digit m)
  13930. {
  13931. #ifdef WOLFSSL_SP_SMALL
  13932. sp_digit c = 0;
  13933. __asm__ __volatile__ (
  13934. "mov x8, #0\n\t"
  13935. "1:\n\t"
  13936. "subs %[c], xzr, %[c]\n\t"
  13937. "ldr x4, [%[a], x8]\n\t"
  13938. "ldr x5, [%[b], x8]\n\t"
  13939. "and x5, x5, %[m]\n\t"
  13940. "sbcs x4, x4, x5\n\t"
  13941. "csetm %[c], cc\n\t"
  13942. "str x4, [%[r], x8]\n\t"
  13943. "add x8, x8, #8\n\t"
  13944. "cmp x8, 384\n\t"
  13945. "b.lt 1b\n\t"
  13946. : [c] "+r" (c)
  13947. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  13948. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  13949. );
  13950. return c;
  13951. #else
  13952. __asm__ __volatile__ (
  13953. "ldp x5, x7, [%[b], 0]\n\t"
  13954. "ldp x11, x12, [%[b], 16]\n\t"
  13955. "ldp x4, x6, [%[a], 0]\n\t"
  13956. "and x5, x5, %[m]\n\t"
  13957. "ldp x9, x10, [%[a], 16]\n\t"
  13958. "and x7, x7, %[m]\n\t"
  13959. "subs x4, x4, x5\n\t"
  13960. "and x11, x11, %[m]\n\t"
  13961. "sbcs x6, x6, x7\n\t"
  13962. "and x12, x12, %[m]\n\t"
  13963. "sbcs x9, x9, x11\n\t"
  13964. "stp x4, x6, [%[r], 0]\n\t"
  13965. "sbcs x10, x10, x12\n\t"
  13966. "stp x9, x10, [%[r], 16]\n\t"
  13967. "ldp x5, x7, [%[b], 32]\n\t"
  13968. "ldp x11, x12, [%[b], 48]\n\t"
  13969. "ldp x4, x6, [%[a], 32]\n\t"
  13970. "and x5, x5, %[m]\n\t"
  13971. "ldp x9, x10, [%[a], 48]\n\t"
  13972. "and x7, x7, %[m]\n\t"
  13973. "sbcs x4, x4, x5\n\t"
  13974. "and x11, x11, %[m]\n\t"
  13975. "sbcs x6, x6, x7\n\t"
  13976. "and x12, x12, %[m]\n\t"
  13977. "sbcs x9, x9, x11\n\t"
  13978. "stp x4, x6, [%[r], 32]\n\t"
  13979. "sbcs x10, x10, x12\n\t"
  13980. "stp x9, x10, [%[r], 48]\n\t"
  13981. "ldp x5, x7, [%[b], 64]\n\t"
  13982. "ldp x11, x12, [%[b], 80]\n\t"
  13983. "ldp x4, x6, [%[a], 64]\n\t"
  13984. "and x5, x5, %[m]\n\t"
  13985. "ldp x9, x10, [%[a], 80]\n\t"
  13986. "and x7, x7, %[m]\n\t"
  13987. "sbcs x4, x4, x5\n\t"
  13988. "and x11, x11, %[m]\n\t"
  13989. "sbcs x6, x6, x7\n\t"
  13990. "and x12, x12, %[m]\n\t"
  13991. "sbcs x9, x9, x11\n\t"
  13992. "stp x4, x6, [%[r], 64]\n\t"
  13993. "sbcs x10, x10, x12\n\t"
  13994. "stp x9, x10, [%[r], 80]\n\t"
  13995. "ldp x5, x7, [%[b], 96]\n\t"
  13996. "ldp x11, x12, [%[b], 112]\n\t"
  13997. "ldp x4, x6, [%[a], 96]\n\t"
  13998. "and x5, x5, %[m]\n\t"
  13999. "ldp x9, x10, [%[a], 112]\n\t"
  14000. "and x7, x7, %[m]\n\t"
  14001. "sbcs x4, x4, x5\n\t"
  14002. "and x11, x11, %[m]\n\t"
  14003. "sbcs x6, x6, x7\n\t"
  14004. "and x12, x12, %[m]\n\t"
  14005. "sbcs x9, x9, x11\n\t"
  14006. "stp x4, x6, [%[r], 96]\n\t"
  14007. "sbcs x10, x10, x12\n\t"
  14008. "stp x9, x10, [%[r], 112]\n\t"
  14009. "ldp x5, x7, [%[b], 128]\n\t"
  14010. "ldp x11, x12, [%[b], 144]\n\t"
  14011. "ldp x4, x6, [%[a], 128]\n\t"
  14012. "and x5, x5, %[m]\n\t"
  14013. "ldp x9, x10, [%[a], 144]\n\t"
  14014. "and x7, x7, %[m]\n\t"
  14015. "sbcs x4, x4, x5\n\t"
  14016. "and x11, x11, %[m]\n\t"
  14017. "sbcs x6, x6, x7\n\t"
  14018. "and x12, x12, %[m]\n\t"
  14019. "sbcs x9, x9, x11\n\t"
  14020. "stp x4, x6, [%[r], 128]\n\t"
  14021. "sbcs x10, x10, x12\n\t"
  14022. "stp x9, x10, [%[r], 144]\n\t"
  14023. "ldp x5, x7, [%[b], 160]\n\t"
  14024. "ldp x11, x12, [%[b], 176]\n\t"
  14025. "ldp x4, x6, [%[a], 160]\n\t"
  14026. "and x5, x5, %[m]\n\t"
  14027. "ldp x9, x10, [%[a], 176]\n\t"
  14028. "and x7, x7, %[m]\n\t"
  14029. "sbcs x4, x4, x5\n\t"
  14030. "and x11, x11, %[m]\n\t"
  14031. "sbcs x6, x6, x7\n\t"
  14032. "and x12, x12, %[m]\n\t"
  14033. "sbcs x9, x9, x11\n\t"
  14034. "stp x4, x6, [%[r], 160]\n\t"
  14035. "sbcs x10, x10, x12\n\t"
  14036. "stp x9, x10, [%[r], 176]\n\t"
  14037. "ldp x5, x7, [%[b], 192]\n\t"
  14038. "ldp x11, x12, [%[b], 208]\n\t"
  14039. "ldp x4, x6, [%[a], 192]\n\t"
  14040. "and x5, x5, %[m]\n\t"
  14041. "ldp x9, x10, [%[a], 208]\n\t"
  14042. "and x7, x7, %[m]\n\t"
  14043. "sbcs x4, x4, x5\n\t"
  14044. "and x11, x11, %[m]\n\t"
  14045. "sbcs x6, x6, x7\n\t"
  14046. "and x12, x12, %[m]\n\t"
  14047. "sbcs x9, x9, x11\n\t"
  14048. "stp x4, x6, [%[r], 192]\n\t"
  14049. "sbcs x10, x10, x12\n\t"
  14050. "stp x9, x10, [%[r], 208]\n\t"
  14051. "ldp x5, x7, [%[b], 224]\n\t"
  14052. "ldp x11, x12, [%[b], 240]\n\t"
  14053. "ldp x4, x6, [%[a], 224]\n\t"
  14054. "and x5, x5, %[m]\n\t"
  14055. "ldp x9, x10, [%[a], 240]\n\t"
  14056. "and x7, x7, %[m]\n\t"
  14057. "sbcs x4, x4, x5\n\t"
  14058. "and x11, x11, %[m]\n\t"
  14059. "sbcs x6, x6, x7\n\t"
  14060. "and x12, x12, %[m]\n\t"
  14061. "sbcs x9, x9, x11\n\t"
  14062. "stp x4, x6, [%[r], 224]\n\t"
  14063. "sbcs x10, x10, x12\n\t"
  14064. "stp x9, x10, [%[r], 240]\n\t"
  14065. "ldp x5, x7, [%[b], 256]\n\t"
  14066. "ldp x11, x12, [%[b], 272]\n\t"
  14067. "ldp x4, x6, [%[a], 256]\n\t"
  14068. "and x5, x5, %[m]\n\t"
  14069. "ldp x9, x10, [%[a], 272]\n\t"
  14070. "and x7, x7, %[m]\n\t"
  14071. "sbcs x4, x4, x5\n\t"
  14072. "and x11, x11, %[m]\n\t"
  14073. "sbcs x6, x6, x7\n\t"
  14074. "and x12, x12, %[m]\n\t"
  14075. "sbcs x9, x9, x11\n\t"
  14076. "stp x4, x6, [%[r], 256]\n\t"
  14077. "sbcs x10, x10, x12\n\t"
  14078. "stp x9, x10, [%[r], 272]\n\t"
  14079. "ldp x5, x7, [%[b], 288]\n\t"
  14080. "ldp x11, x12, [%[b], 304]\n\t"
  14081. "ldp x4, x6, [%[a], 288]\n\t"
  14082. "and x5, x5, %[m]\n\t"
  14083. "ldp x9, x10, [%[a], 304]\n\t"
  14084. "and x7, x7, %[m]\n\t"
  14085. "sbcs x4, x4, x5\n\t"
  14086. "and x11, x11, %[m]\n\t"
  14087. "sbcs x6, x6, x7\n\t"
  14088. "and x12, x12, %[m]\n\t"
  14089. "sbcs x9, x9, x11\n\t"
  14090. "stp x4, x6, [%[r], 288]\n\t"
  14091. "sbcs x10, x10, x12\n\t"
  14092. "stp x9, x10, [%[r], 304]\n\t"
  14093. "ldp x5, x7, [%[b], 320]\n\t"
  14094. "ldp x11, x12, [%[b], 336]\n\t"
  14095. "ldp x4, x6, [%[a], 320]\n\t"
  14096. "and x5, x5, %[m]\n\t"
  14097. "ldp x9, x10, [%[a], 336]\n\t"
  14098. "and x7, x7, %[m]\n\t"
  14099. "sbcs x4, x4, x5\n\t"
  14100. "and x11, x11, %[m]\n\t"
  14101. "sbcs x6, x6, x7\n\t"
  14102. "and x12, x12, %[m]\n\t"
  14103. "sbcs x9, x9, x11\n\t"
  14104. "stp x4, x6, [%[r], 320]\n\t"
  14105. "sbcs x10, x10, x12\n\t"
  14106. "stp x9, x10, [%[r], 336]\n\t"
  14107. "ldp x5, x7, [%[b], 352]\n\t"
  14108. "ldp x11, x12, [%[b], 368]\n\t"
  14109. "ldp x4, x6, [%[a], 352]\n\t"
  14110. "and x5, x5, %[m]\n\t"
  14111. "ldp x9, x10, [%[a], 368]\n\t"
  14112. "and x7, x7, %[m]\n\t"
  14113. "sbcs x4, x4, x5\n\t"
  14114. "and x11, x11, %[m]\n\t"
  14115. "sbcs x6, x6, x7\n\t"
  14116. "and x12, x12, %[m]\n\t"
  14117. "sbcs x9, x9, x11\n\t"
  14118. "stp x4, x6, [%[r], 352]\n\t"
  14119. "sbcs x10, x10, x12\n\t"
  14120. "stp x9, x10, [%[r], 368]\n\t"
  14121. "csetm %[r], cc\n\t"
  14122. : [r] "+r" (r)
  14123. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  14124. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  14125. );
  14126. return (sp_digit)r;
  14127. #endif /* WOLFSSL_SP_SMALL */
  14128. }
  14129. /* Divide the double width number (d1|d0) by the divisor. (d1|d0 / div)
  14130. *
  14131. * Assumes divisor has higest bit set.
  14132. *
  14133. * d1 The high order half of the number to divide.
  14134. * d0 The low order half of the number to divide.
  14135. * div The divisor.
  14136. * returns the result of the division.
  14137. */
  14138. static sp_digit div_3072_word_48(sp_digit d1, sp_digit d0, sp_digit div)
  14139. {
  14140. __asm__ __volatile__ (
  14141. "lsr x8, %[div], 32\n\t"
  14142. "add x5, x8, 1\n\t"
  14143. "udiv x3, %[d1], x5\n\t"
  14144. "lsl x7, %[div], 32\n\t"
  14145. "movz x9, #1, lsl 32\n\t"
  14146. "lsl x6, x3, 32\n\t"
  14147. "mul x4, %[div], x6\n\t"
  14148. "umulh x3, %[div], x6\n\t"
  14149. "subs %[d0], %[d0], x4\n\t"
  14150. "sbc %[d1], %[d1], x3\n\t"
  14151. "cmp %[d1], x5\n\t"
  14152. "cset x9, ge\n\t"
  14153. "csetm x10, ge\n\t"
  14154. "lsl x9, x9, #32\n\t"
  14155. "and x7, x7, x10\n\t"
  14156. "and x8, x8, x10\n\t"
  14157. "subs %[d0], %[d0], x7\n\t"
  14158. "add x6, x6, x9\n\t"
  14159. "sbc %[d1], %[d1], x8\n\t"
  14160. "extr x3, %[d1], %[d0], 32\n\t"
  14161. "udiv x3, x3, x5\n\t"
  14162. "add x6, x6, x3\n\t"
  14163. "mul x4, %[div], x3\n\t"
  14164. "umulh x3, %[div], x3\n\t"
  14165. "subs %[d0], %[d0], x4\n\t"
  14166. "sbc %[d1], %[d1], x3\n\t"
  14167. "extr x3, %[d1], %[d0], 32\n\t"
  14168. "udiv x3, x3, x5\n\t"
  14169. "add x6, x6, x3\n\t"
  14170. "mul x4, %[div], x3\n\t"
  14171. "sub %[d0], %[d0], x4\n\t"
  14172. "udiv x3, %[d0], %[div]\n\t"
  14173. "add %[d1], x6, x3\n\t"
  14174. : [d1] "+r" (d1), [d0] "+r" (d0)
  14175. : [div] "r" (div)
  14176. : "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  14177. );
  14178. return d1;
  14179. }
  14180. /* AND m into each word of a and store in r.
  14181. *
  14182. * r A single precision integer.
  14183. * a A single precision integer.
  14184. * m Mask to AND against each digit.
  14185. */
  14186. static void sp_3072_mask_48(sp_digit* r, const sp_digit* a, sp_digit m)
  14187. {
  14188. #ifdef WOLFSSL_SP_SMALL
  14189. int i;
  14190. for (i=0; i<48; i++) {
  14191. r[i] = a[i] & m;
  14192. }
  14193. #else
  14194. int i;
  14195. for (i = 0; i < 48; i += 8) {
  14196. r[i+0] = a[i+0] & m;
  14197. r[i+1] = a[i+1] & m;
  14198. r[i+2] = a[i+2] & m;
  14199. r[i+3] = a[i+3] & m;
  14200. r[i+4] = a[i+4] & m;
  14201. r[i+5] = a[i+5] & m;
  14202. r[i+6] = a[i+6] & m;
  14203. r[i+7] = a[i+7] & m;
  14204. }
  14205. #endif
  14206. }
  14207. /* Compare a with b in constant time.
  14208. *
  14209. * a A single precision integer.
  14210. * b A single precision integer.
  14211. * return -ve, 0 or +ve if a is less than, equal to or greater than b
  14212. * respectively.
  14213. */
  14214. static sp_int64 sp_3072_cmp_48(const sp_digit* a, const sp_digit* b)
  14215. {
  14216. #ifdef WOLFSSL_SP_SMALL
  14217. __asm__ __volatile__ (
  14218. "mov x3, #0\n\t"
  14219. "mov x2, #-1\n\t"
  14220. "mov x10, #48\n\t"
  14221. "add %[a], %[a], #368\n\t"
  14222. "add %[b], %[b], #368\n\t"
  14223. "1:\n\t"
  14224. "ldp x6, x7, [%[a]], -16\n\t"
  14225. "ldp x8, x9, [%[b]], -16\n\t"
  14226. "subs x7, x7, x9\n\t"
  14227. "csel x4, x2, xzr, lo\n\t"
  14228. "csetm x5, eq\n\t"
  14229. "orr x3, x3, x4\n\t"
  14230. "and x2, x2, x5\n\t"
  14231. "subs x6, x6, x8\n\t"
  14232. "csel x4, x2, xzr, lo\n\t"
  14233. "csetm x5, eq\n\t"
  14234. "orr x3, x3, x4\n\t"
  14235. "and x2, x2, x5\n\t"
  14236. "subs x10, x10, #2\n\t"
  14237. "b.ne 1b\n\t"
  14238. "cmp x2, #0\n\t"
  14239. "cset %[a], eq\n\t"
  14240. "orr %[a], %[a], x3\n\t"
  14241. : [a] "+r" (a), [b] "+r" (b)
  14242. :
  14243. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  14244. );
  14245. #else
  14246. __asm__ __volatile__ (
  14247. "mov x3, #0\n\t"
  14248. "mov x2, #-1\n\t"
  14249. "ldp x6, x7, [%[a], 368]\n\t"
  14250. "ldp x8, x9, [%[b], 368]\n\t"
  14251. "subs x7, x7, x9\n\t"
  14252. "csel x4, x2, xzr, lo\n\t"
  14253. "csetm x5, eq\n\t"
  14254. "orr x3, x3, x4\n\t"
  14255. "and x2, x2, x5\n\t"
  14256. "subs x6, x6, x8\n\t"
  14257. "csel x4, x2, xzr, lo\n\t"
  14258. "csetm x5, eq\n\t"
  14259. "orr x3, x3, x4\n\t"
  14260. "and x2, x2, x5\n\t"
  14261. "ldp x6, x7, [%[a], 352]\n\t"
  14262. "ldp x8, x9, [%[b], 352]\n\t"
  14263. "subs x7, x7, x9\n\t"
  14264. "csel x4, x2, xzr, lo\n\t"
  14265. "csetm x5, eq\n\t"
  14266. "orr x3, x3, x4\n\t"
  14267. "and x2, x2, x5\n\t"
  14268. "subs x6, x6, x8\n\t"
  14269. "csel x4, x2, xzr, lo\n\t"
  14270. "csetm x5, eq\n\t"
  14271. "orr x3, x3, x4\n\t"
  14272. "and x2, x2, x5\n\t"
  14273. "ldp x6, x7, [%[a], 336]\n\t"
  14274. "ldp x8, x9, [%[b], 336]\n\t"
  14275. "subs x7, x7, x9\n\t"
  14276. "csel x4, x2, xzr, lo\n\t"
  14277. "csetm x5, eq\n\t"
  14278. "orr x3, x3, x4\n\t"
  14279. "and x2, x2, x5\n\t"
  14280. "subs x6, x6, x8\n\t"
  14281. "csel x4, x2, xzr, lo\n\t"
  14282. "csetm x5, eq\n\t"
  14283. "orr x3, x3, x4\n\t"
  14284. "and x2, x2, x5\n\t"
  14285. "ldp x6, x7, [%[a], 320]\n\t"
  14286. "ldp x8, x9, [%[b], 320]\n\t"
  14287. "subs x7, x7, x9\n\t"
  14288. "csel x4, x2, xzr, lo\n\t"
  14289. "csetm x5, eq\n\t"
  14290. "orr x3, x3, x4\n\t"
  14291. "and x2, x2, x5\n\t"
  14292. "subs x6, x6, x8\n\t"
  14293. "csel x4, x2, xzr, lo\n\t"
  14294. "csetm x5, eq\n\t"
  14295. "orr x3, x3, x4\n\t"
  14296. "and x2, x2, x5\n\t"
  14297. "ldp x6, x7, [%[a], 304]\n\t"
  14298. "ldp x8, x9, [%[b], 304]\n\t"
  14299. "subs x7, x7, x9\n\t"
  14300. "csel x4, x2, xzr, lo\n\t"
  14301. "csetm x5, eq\n\t"
  14302. "orr x3, x3, x4\n\t"
  14303. "and x2, x2, x5\n\t"
  14304. "subs x6, x6, x8\n\t"
  14305. "csel x4, x2, xzr, lo\n\t"
  14306. "csetm x5, eq\n\t"
  14307. "orr x3, x3, x4\n\t"
  14308. "and x2, x2, x5\n\t"
  14309. "ldp x6, x7, [%[a], 288]\n\t"
  14310. "ldp x8, x9, [%[b], 288]\n\t"
  14311. "subs x7, x7, x9\n\t"
  14312. "csel x4, x2, xzr, lo\n\t"
  14313. "csetm x5, eq\n\t"
  14314. "orr x3, x3, x4\n\t"
  14315. "and x2, x2, x5\n\t"
  14316. "subs x6, x6, x8\n\t"
  14317. "csel x4, x2, xzr, lo\n\t"
  14318. "csetm x5, eq\n\t"
  14319. "orr x3, x3, x4\n\t"
  14320. "and x2, x2, x5\n\t"
  14321. "ldp x6, x7, [%[a], 272]\n\t"
  14322. "ldp x8, x9, [%[b], 272]\n\t"
  14323. "subs x7, x7, x9\n\t"
  14324. "csel x4, x2, xzr, lo\n\t"
  14325. "csetm x5, eq\n\t"
  14326. "orr x3, x3, x4\n\t"
  14327. "and x2, x2, x5\n\t"
  14328. "subs x6, x6, x8\n\t"
  14329. "csel x4, x2, xzr, lo\n\t"
  14330. "csetm x5, eq\n\t"
  14331. "orr x3, x3, x4\n\t"
  14332. "and x2, x2, x5\n\t"
  14333. "ldp x6, x7, [%[a], 256]\n\t"
  14334. "ldp x8, x9, [%[b], 256]\n\t"
  14335. "subs x7, x7, x9\n\t"
  14336. "csel x4, x2, xzr, lo\n\t"
  14337. "csetm x5, eq\n\t"
  14338. "orr x3, x3, x4\n\t"
  14339. "and x2, x2, x5\n\t"
  14340. "subs x6, x6, x8\n\t"
  14341. "csel x4, x2, xzr, lo\n\t"
  14342. "csetm x5, eq\n\t"
  14343. "orr x3, x3, x4\n\t"
  14344. "and x2, x2, x5\n\t"
  14345. "ldp x6, x7, [%[a], 240]\n\t"
  14346. "ldp x8, x9, [%[b], 240]\n\t"
  14347. "subs x7, x7, x9\n\t"
  14348. "csel x4, x2, xzr, lo\n\t"
  14349. "csetm x5, eq\n\t"
  14350. "orr x3, x3, x4\n\t"
  14351. "and x2, x2, x5\n\t"
  14352. "subs x6, x6, x8\n\t"
  14353. "csel x4, x2, xzr, lo\n\t"
  14354. "csetm x5, eq\n\t"
  14355. "orr x3, x3, x4\n\t"
  14356. "and x2, x2, x5\n\t"
  14357. "ldp x6, x7, [%[a], 224]\n\t"
  14358. "ldp x8, x9, [%[b], 224]\n\t"
  14359. "subs x7, x7, x9\n\t"
  14360. "csel x4, x2, xzr, lo\n\t"
  14361. "csetm x5, eq\n\t"
  14362. "orr x3, x3, x4\n\t"
  14363. "and x2, x2, x5\n\t"
  14364. "subs x6, x6, x8\n\t"
  14365. "csel x4, x2, xzr, lo\n\t"
  14366. "csetm x5, eq\n\t"
  14367. "orr x3, x3, x4\n\t"
  14368. "and x2, x2, x5\n\t"
  14369. "ldp x6, x7, [%[a], 208]\n\t"
  14370. "ldp x8, x9, [%[b], 208]\n\t"
  14371. "subs x7, x7, x9\n\t"
  14372. "csel x4, x2, xzr, lo\n\t"
  14373. "csetm x5, eq\n\t"
  14374. "orr x3, x3, x4\n\t"
  14375. "and x2, x2, x5\n\t"
  14376. "subs x6, x6, x8\n\t"
  14377. "csel x4, x2, xzr, lo\n\t"
  14378. "csetm x5, eq\n\t"
  14379. "orr x3, x3, x4\n\t"
  14380. "and x2, x2, x5\n\t"
  14381. "ldp x6, x7, [%[a], 192]\n\t"
  14382. "ldp x8, x9, [%[b], 192]\n\t"
  14383. "subs x7, x7, x9\n\t"
  14384. "csel x4, x2, xzr, lo\n\t"
  14385. "csetm x5, eq\n\t"
  14386. "orr x3, x3, x4\n\t"
  14387. "and x2, x2, x5\n\t"
  14388. "subs x6, x6, x8\n\t"
  14389. "csel x4, x2, xzr, lo\n\t"
  14390. "csetm x5, eq\n\t"
  14391. "orr x3, x3, x4\n\t"
  14392. "and x2, x2, x5\n\t"
  14393. "ldp x6, x7, [%[a], 176]\n\t"
  14394. "ldp x8, x9, [%[b], 176]\n\t"
  14395. "subs x7, x7, x9\n\t"
  14396. "csel x4, x2, xzr, lo\n\t"
  14397. "csetm x5, eq\n\t"
  14398. "orr x3, x3, x4\n\t"
  14399. "and x2, x2, x5\n\t"
  14400. "subs x6, x6, x8\n\t"
  14401. "csel x4, x2, xzr, lo\n\t"
  14402. "csetm x5, eq\n\t"
  14403. "orr x3, x3, x4\n\t"
  14404. "and x2, x2, x5\n\t"
  14405. "ldp x6, x7, [%[a], 160]\n\t"
  14406. "ldp x8, x9, [%[b], 160]\n\t"
  14407. "subs x7, x7, x9\n\t"
  14408. "csel x4, x2, xzr, lo\n\t"
  14409. "csetm x5, eq\n\t"
  14410. "orr x3, x3, x4\n\t"
  14411. "and x2, x2, x5\n\t"
  14412. "subs x6, x6, x8\n\t"
  14413. "csel x4, x2, xzr, lo\n\t"
  14414. "csetm x5, eq\n\t"
  14415. "orr x3, x3, x4\n\t"
  14416. "and x2, x2, x5\n\t"
  14417. "ldp x6, x7, [%[a], 144]\n\t"
  14418. "ldp x8, x9, [%[b], 144]\n\t"
  14419. "subs x7, x7, x9\n\t"
  14420. "csel x4, x2, xzr, lo\n\t"
  14421. "csetm x5, eq\n\t"
  14422. "orr x3, x3, x4\n\t"
  14423. "and x2, x2, x5\n\t"
  14424. "subs x6, x6, x8\n\t"
  14425. "csel x4, x2, xzr, lo\n\t"
  14426. "csetm x5, eq\n\t"
  14427. "orr x3, x3, x4\n\t"
  14428. "and x2, x2, x5\n\t"
  14429. "ldp x6, x7, [%[a], 128]\n\t"
  14430. "ldp x8, x9, [%[b], 128]\n\t"
  14431. "subs x7, x7, x9\n\t"
  14432. "csel x4, x2, xzr, lo\n\t"
  14433. "csetm x5, eq\n\t"
  14434. "orr x3, x3, x4\n\t"
  14435. "and x2, x2, x5\n\t"
  14436. "subs x6, x6, x8\n\t"
  14437. "csel x4, x2, xzr, lo\n\t"
  14438. "csetm x5, eq\n\t"
  14439. "orr x3, x3, x4\n\t"
  14440. "and x2, x2, x5\n\t"
  14441. "ldp x6, x7, [%[a], 112]\n\t"
  14442. "ldp x8, x9, [%[b], 112]\n\t"
  14443. "subs x7, x7, x9\n\t"
  14444. "csel x4, x2, xzr, lo\n\t"
  14445. "csetm x5, eq\n\t"
  14446. "orr x3, x3, x4\n\t"
  14447. "and x2, x2, x5\n\t"
  14448. "subs x6, x6, x8\n\t"
  14449. "csel x4, x2, xzr, lo\n\t"
  14450. "csetm x5, eq\n\t"
  14451. "orr x3, x3, x4\n\t"
  14452. "and x2, x2, x5\n\t"
  14453. "ldp x6, x7, [%[a], 96]\n\t"
  14454. "ldp x8, x9, [%[b], 96]\n\t"
  14455. "subs x7, x7, x9\n\t"
  14456. "csel x4, x2, xzr, lo\n\t"
  14457. "csetm x5, eq\n\t"
  14458. "orr x3, x3, x4\n\t"
  14459. "and x2, x2, x5\n\t"
  14460. "subs x6, x6, x8\n\t"
  14461. "csel x4, x2, xzr, lo\n\t"
  14462. "csetm x5, eq\n\t"
  14463. "orr x3, x3, x4\n\t"
  14464. "and x2, x2, x5\n\t"
  14465. "ldp x6, x7, [%[a], 80]\n\t"
  14466. "ldp x8, x9, [%[b], 80]\n\t"
  14467. "subs x7, x7, x9\n\t"
  14468. "csel x4, x2, xzr, lo\n\t"
  14469. "csetm x5, eq\n\t"
  14470. "orr x3, x3, x4\n\t"
  14471. "and x2, x2, x5\n\t"
  14472. "subs x6, x6, x8\n\t"
  14473. "csel x4, x2, xzr, lo\n\t"
  14474. "csetm x5, eq\n\t"
  14475. "orr x3, x3, x4\n\t"
  14476. "and x2, x2, x5\n\t"
  14477. "ldp x6, x7, [%[a], 64]\n\t"
  14478. "ldp x8, x9, [%[b], 64]\n\t"
  14479. "subs x7, x7, x9\n\t"
  14480. "csel x4, x2, xzr, lo\n\t"
  14481. "csetm x5, eq\n\t"
  14482. "orr x3, x3, x4\n\t"
  14483. "and x2, x2, x5\n\t"
  14484. "subs x6, x6, x8\n\t"
  14485. "csel x4, x2, xzr, lo\n\t"
  14486. "csetm x5, eq\n\t"
  14487. "orr x3, x3, x4\n\t"
  14488. "and x2, x2, x5\n\t"
  14489. "ldp x6, x7, [%[a], 48]\n\t"
  14490. "ldp x8, x9, [%[b], 48]\n\t"
  14491. "subs x7, x7, x9\n\t"
  14492. "csel x4, x2, xzr, lo\n\t"
  14493. "csetm x5, eq\n\t"
  14494. "orr x3, x3, x4\n\t"
  14495. "and x2, x2, x5\n\t"
  14496. "subs x6, x6, x8\n\t"
  14497. "csel x4, x2, xzr, lo\n\t"
  14498. "csetm x5, eq\n\t"
  14499. "orr x3, x3, x4\n\t"
  14500. "and x2, x2, x5\n\t"
  14501. "ldp x6, x7, [%[a], 32]\n\t"
  14502. "ldp x8, x9, [%[b], 32]\n\t"
  14503. "subs x7, x7, x9\n\t"
  14504. "csel x4, x2, xzr, lo\n\t"
  14505. "csetm x5, eq\n\t"
  14506. "orr x3, x3, x4\n\t"
  14507. "and x2, x2, x5\n\t"
  14508. "subs x6, x6, x8\n\t"
  14509. "csel x4, x2, xzr, lo\n\t"
  14510. "csetm x5, eq\n\t"
  14511. "orr x3, x3, x4\n\t"
  14512. "and x2, x2, x5\n\t"
  14513. "ldp x6, x7, [%[a], 16]\n\t"
  14514. "ldp x8, x9, [%[b], 16]\n\t"
  14515. "subs x7, x7, x9\n\t"
  14516. "csel x4, x2, xzr, lo\n\t"
  14517. "csetm x5, eq\n\t"
  14518. "orr x3, x3, x4\n\t"
  14519. "and x2, x2, x5\n\t"
  14520. "subs x6, x6, x8\n\t"
  14521. "csel x4, x2, xzr, lo\n\t"
  14522. "csetm x5, eq\n\t"
  14523. "orr x3, x3, x4\n\t"
  14524. "and x2, x2, x5\n\t"
  14525. "ldp x6, x7, [%[a], 0]\n\t"
  14526. "ldp x8, x9, [%[b], 0]\n\t"
  14527. "subs x7, x7, x9\n\t"
  14528. "csel x4, x2, xzr, lo\n\t"
  14529. "csetm x5, eq\n\t"
  14530. "orr x3, x3, x4\n\t"
  14531. "and x2, x2, x5\n\t"
  14532. "subs x6, x6, x8\n\t"
  14533. "csel x4, x2, xzr, lo\n\t"
  14534. "csetm x5, eq\n\t"
  14535. "orr x3, x3, x4\n\t"
  14536. "and x2, x2, x5\n\t"
  14537. "cmp x2, #0\n\t"
  14538. "cset %[a], eq\n\t"
  14539. "orr %[a], %[a], x3\n\t"
  14540. : [a] "+r" (a)
  14541. : [b] "r" (b)
  14542. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  14543. );
  14544. #endif
  14545. return (sp_int64)a;
  14546. }
  14547. /* Divide d in a and put remainder into r (m*d + r = a)
  14548. * m is not calculated as it is not needed at this time.
  14549. *
  14550. * a Number to be divided.
  14551. * d Number to divide with.
  14552. * m Multiplier result.
  14553. * r Remainder from the division.
  14554. * returns MP_OKAY indicating success.
  14555. */
  14556. static WC_INLINE int sp_3072_div_48(const sp_digit* a, const sp_digit* d, sp_digit* m,
  14557. sp_digit* r)
  14558. {
  14559. sp_digit t1[96], t2[49];
  14560. sp_digit div, r1;
  14561. int i;
  14562. (void)m;
  14563. div = d[47];
  14564. XMEMCPY(t1, a, sizeof(*t1) * 2 * 48);
  14565. r1 = sp_3072_cmp_48(&t1[48], d) >= 0;
  14566. sp_3072_cond_sub_48(&t1[48], &t1[48], d, (sp_digit)0 - r1);
  14567. for (i = 47; i >= 0; i--) {
  14568. sp_digit mask = 0 - (t1[48 + i] == div);
  14569. sp_digit hi = t1[48 + i] + mask;
  14570. r1 = div_3072_word_48(hi, t1[48 + i - 1], div);
  14571. r1 |= mask;
  14572. sp_3072_mul_d_48(t2, d, r1);
  14573. t1[48 + i] += sp_3072_sub_in_place_48(&t1[i], t2);
  14574. t1[48 + i] -= t2[48];
  14575. sp_3072_mask_48(t2, d, t1[48 + i]);
  14576. t1[48 + i] += sp_3072_add_48(&t1[i], &t1[i], t2);
  14577. sp_3072_mask_48(t2, d, t1[48 + i]);
  14578. t1[48 + i] += sp_3072_add_48(&t1[i], &t1[i], t2);
  14579. }
  14580. r1 = sp_3072_cmp_48(t1, d) >= 0;
  14581. sp_3072_cond_sub_48(r, t1, d, (sp_digit)0 - r1);
  14582. return MP_OKAY;
  14583. }
  14584. /* Reduce a modulo m into r. (r = a mod m)
  14585. *
  14586. * r A single precision number that is the reduced result.
  14587. * a A single precision number that is to be reduced.
  14588. * m A single precision number that is the modulus to reduce with.
  14589. * returns MP_OKAY indicating success.
  14590. */
  14591. static WC_INLINE int sp_3072_mod_48(sp_digit* r, const sp_digit* a, const sp_digit* m)
  14592. {
  14593. return sp_3072_div_48(a, m, NULL, r);
  14594. }
  14595. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || \
  14596. defined(WOLFSSL_HAVE_SP_DH)
  14597. #ifdef WOLFSSL_SP_SMALL
  14598. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  14599. *
  14600. * r A single precision number that is the result of the operation.
  14601. * a A single precision number being exponentiated.
  14602. * e A single precision number that is the exponent.
  14603. * bits The number of bits in the exponent.
  14604. * m A single precision number that is the modulus.
  14605. * returns 0 on success.
  14606. * returns MEMORY_E on dynamic memory allocation failure.
  14607. * returns MP_VAL when base is even or exponent is 0.
  14608. */
  14609. static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
  14610. int bits, const sp_digit* m, int reduceA)
  14611. {
  14612. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  14613. sp_digit* td = NULL;
  14614. #else
  14615. sp_digit td[8 * 96];
  14616. #endif
  14617. sp_digit* t[8];
  14618. sp_digit* norm = NULL;
  14619. sp_digit mp = 1;
  14620. sp_digit n;
  14621. sp_digit mask;
  14622. int i;
  14623. int c;
  14624. byte y;
  14625. int err = MP_OKAY;
  14626. if (bits == 0) {
  14627. err = MP_VAL;
  14628. }
  14629. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  14630. if (err == MP_OKAY) {
  14631. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (8 * 96), NULL,
  14632. DYNAMIC_TYPE_TMP_BUFFER);
  14633. if (td == NULL)
  14634. err = MEMORY_E;
  14635. }
  14636. #endif
  14637. if (err == MP_OKAY) {
  14638. norm = td;
  14639. for (i=0; i<8; i++) {
  14640. t[i] = td + i * 96;
  14641. }
  14642. sp_3072_mont_setup(m, &mp);
  14643. sp_3072_mont_norm_48(norm, m);
  14644. XMEMSET(t[1], 0, sizeof(sp_digit) * 48U);
  14645. if (reduceA != 0) {
  14646. err = sp_3072_mod_48(t[1] + 48, a, m);
  14647. if (err == MP_OKAY) {
  14648. err = sp_3072_mod_48(t[1], t[1], m);
  14649. }
  14650. }
  14651. else {
  14652. XMEMCPY(t[1] + 48, a, sizeof(sp_digit) * 48);
  14653. err = sp_3072_mod_48(t[1], t[1], m);
  14654. }
  14655. }
  14656. if (err == MP_OKAY) {
  14657. sp_3072_mont_sqr_48(t[ 2], t[ 1], m, mp);
  14658. sp_3072_mont_mul_48(t[ 3], t[ 2], t[ 1], m, mp);
  14659. sp_3072_mont_sqr_48(t[ 4], t[ 2], m, mp);
  14660. sp_3072_mont_mul_48(t[ 5], t[ 3], t[ 2], m, mp);
  14661. sp_3072_mont_sqr_48(t[ 6], t[ 3], m, mp);
  14662. sp_3072_mont_mul_48(t[ 7], t[ 4], t[ 3], m, mp);
  14663. i = (bits - 1) / 64;
  14664. n = e[i--];
  14665. c = bits & 63;
  14666. if (c == 0) {
  14667. c = 64;
  14668. }
  14669. c -= bits % 3;
  14670. if (c == 64) {
  14671. c = 61;
  14672. }
  14673. if (c < 0) {
  14674. /* Number of bits in top word is less than number needed. */
  14675. c = -c;
  14676. y = (byte)(n << c);
  14677. n = e[i--];
  14678. y |= (byte)(n >> (64 - c));
  14679. n <<= c;
  14680. c = 64 - c;
  14681. }
  14682. else if (c == 0) {
  14683. /* All bits in top word used. */
  14684. y = (byte)n;
  14685. }
  14686. else {
  14687. y = (byte)(n >> c);
  14688. n <<= 64 - c;
  14689. }
  14690. XMEMCPY(r, t[y], sizeof(sp_digit) * 48);
  14691. for (; i>=0 || c>=3; ) {
  14692. if (c == 0) {
  14693. n = e[i--];
  14694. y = (byte)(n >> 61);
  14695. n <<= 3;
  14696. c = 61;
  14697. }
  14698. else if (c < 3) {
  14699. y = (byte)(n >> 61);
  14700. n = e[i--];
  14701. c = 3 - c;
  14702. y |= (byte)(n >> (64 - c));
  14703. n <<= c;
  14704. c = 64 - c;
  14705. }
  14706. else {
  14707. y = (byte)((n >> 61) & 0x7);
  14708. n <<= 3;
  14709. c -= 3;
  14710. }
  14711. sp_3072_mont_sqr_48(r, r, m, mp);
  14712. sp_3072_mont_sqr_48(r, r, m, mp);
  14713. sp_3072_mont_sqr_48(r, r, m, mp);
  14714. sp_3072_mont_mul_48(r, r, t[y], m, mp);
  14715. }
  14716. XMEMSET(&r[48], 0, sizeof(sp_digit) * 48U);
  14717. sp_3072_mont_reduce_48(r, m, mp);
  14718. mask = 0 - (sp_3072_cmp_48(r, m) >= 0);
  14719. sp_3072_cond_sub_48(r, r, m, mask);
  14720. }
  14721. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  14722. if (td != NULL)
  14723. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  14724. #endif
  14725. return err;
  14726. }
  14727. #else
  14728. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  14729. *
  14730. * r A single precision number that is the result of the operation.
  14731. * a A single precision number being exponentiated.
  14732. * e A single precision number that is the exponent.
  14733. * bits The number of bits in the exponent.
  14734. * m A single precision number that is the modulus.
  14735. * returns 0 on success.
  14736. * returns MEMORY_E on dynamic memory allocation failure.
  14737. * returns MP_VAL when base is even or exponent is 0.
  14738. */
  14739. static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e,
  14740. int bits, const sp_digit* m, int reduceA)
  14741. {
  14742. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  14743. sp_digit* td = NULL;
  14744. #else
  14745. sp_digit td[16 * 96];
  14746. #endif
  14747. sp_digit* t[16];
  14748. sp_digit* norm = NULL;
  14749. sp_digit mp = 1;
  14750. sp_digit n;
  14751. sp_digit mask;
  14752. int i;
  14753. int c;
  14754. byte y;
  14755. int err = MP_OKAY;
  14756. if (bits == 0) {
  14757. err = MP_VAL;
  14758. }
  14759. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  14760. if (err == MP_OKAY) {
  14761. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (16 * 96), NULL,
  14762. DYNAMIC_TYPE_TMP_BUFFER);
  14763. if (td == NULL)
  14764. err = MEMORY_E;
  14765. }
  14766. #endif
  14767. if (err == MP_OKAY) {
  14768. norm = td;
  14769. for (i=0; i<16; i++) {
  14770. t[i] = td + i * 96;
  14771. }
  14772. sp_3072_mont_setup(m, &mp);
  14773. sp_3072_mont_norm_48(norm, m);
  14774. XMEMSET(t[1], 0, sizeof(sp_digit) * 48U);
  14775. if (reduceA != 0) {
  14776. err = sp_3072_mod_48(t[1] + 48, a, m);
  14777. if (err == MP_OKAY) {
  14778. err = sp_3072_mod_48(t[1], t[1], m);
  14779. }
  14780. }
  14781. else {
  14782. XMEMCPY(t[1] + 48, a, sizeof(sp_digit) * 48);
  14783. err = sp_3072_mod_48(t[1], t[1], m);
  14784. }
  14785. }
  14786. if (err == MP_OKAY) {
  14787. sp_3072_mont_sqr_48(t[ 2], t[ 1], m, mp);
  14788. sp_3072_mont_mul_48(t[ 3], t[ 2], t[ 1], m, mp);
  14789. sp_3072_mont_sqr_48(t[ 4], t[ 2], m, mp);
  14790. sp_3072_mont_mul_48(t[ 5], t[ 3], t[ 2], m, mp);
  14791. sp_3072_mont_sqr_48(t[ 6], t[ 3], m, mp);
  14792. sp_3072_mont_mul_48(t[ 7], t[ 4], t[ 3], m, mp);
  14793. sp_3072_mont_sqr_48(t[ 8], t[ 4], m, mp);
  14794. sp_3072_mont_mul_48(t[ 9], t[ 5], t[ 4], m, mp);
  14795. sp_3072_mont_sqr_48(t[10], t[ 5], m, mp);
  14796. sp_3072_mont_mul_48(t[11], t[ 6], t[ 5], m, mp);
  14797. sp_3072_mont_sqr_48(t[12], t[ 6], m, mp);
  14798. sp_3072_mont_mul_48(t[13], t[ 7], t[ 6], m, mp);
  14799. sp_3072_mont_sqr_48(t[14], t[ 7], m, mp);
  14800. sp_3072_mont_mul_48(t[15], t[ 8], t[ 7], m, mp);
  14801. i = (bits - 1) / 64;
  14802. n = e[i--];
  14803. c = bits & 63;
  14804. if (c == 0) {
  14805. c = 64;
  14806. }
  14807. c -= bits % 4;
  14808. if (c == 64) {
  14809. c = 60;
  14810. }
  14811. if (c < 0) {
  14812. /* Number of bits in top word is less than number needed. */
  14813. c = -c;
  14814. y = (byte)(n << c);
  14815. n = e[i--];
  14816. y |= (byte)(n >> (64 - c));
  14817. n <<= c;
  14818. c = 64 - c;
  14819. }
  14820. else if (c == 0) {
  14821. /* All bits in top word used. */
  14822. y = (byte)n;
  14823. }
  14824. else {
  14825. y = (byte)(n >> c);
  14826. n <<= 64 - c;
  14827. }
  14828. XMEMCPY(r, t[y], sizeof(sp_digit) * 48);
  14829. for (; i>=0 || c>=4; ) {
  14830. if (c == 0) {
  14831. n = e[i--];
  14832. y = (byte)(n >> 60);
  14833. n <<= 4;
  14834. c = 60;
  14835. }
  14836. else if (c < 4) {
  14837. y = (byte)(n >> 60);
  14838. n = e[i--];
  14839. c = 4 - c;
  14840. y |= (byte)(n >> (64 - c));
  14841. n <<= c;
  14842. c = 64 - c;
  14843. }
  14844. else {
  14845. y = (byte)((n >> 60) & 0xf);
  14846. n <<= 4;
  14847. c -= 4;
  14848. }
  14849. sp_3072_mont_sqr_48(r, r, m, mp);
  14850. sp_3072_mont_sqr_48(r, r, m, mp);
  14851. sp_3072_mont_sqr_48(r, r, m, mp);
  14852. sp_3072_mont_sqr_48(r, r, m, mp);
  14853. sp_3072_mont_mul_48(r, r, t[y], m, mp);
  14854. }
  14855. XMEMSET(&r[48], 0, sizeof(sp_digit) * 48U);
  14856. sp_3072_mont_reduce_48(r, m, mp);
  14857. mask = 0 - (sp_3072_cmp_48(r, m) >= 0);
  14858. sp_3072_cond_sub_48(r, r, m, mask);
  14859. }
  14860. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  14861. if (td != NULL)
  14862. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  14863. #endif
  14864. return err;
  14865. }
  14866. #endif /* WOLFSSL_SP_SMALL */
  14867. #endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
  14868. #endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
  14869. #ifdef WOLFSSL_HAVE_SP_RSA
  14870. /* RSA public key operation.
  14871. *
  14872. * in Array of bytes representing the number to exponentiate, base.
  14873. * inLen Number of bytes in base.
  14874. * em Public exponent.
  14875. * mm Modulus.
  14876. * out Buffer to hold big-endian bytes of exponentiation result.
  14877. * Must be at least 384 bytes long.
  14878. * outLen Number of bytes in result.
  14879. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  14880. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  14881. */
  14882. int sp_RsaPublic_3072(const byte* in, word32 inLen, const mp_int* em,
  14883. const mp_int* mm, byte* out, word32* outLen)
  14884. {
  14885. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  14886. sp_digit* a = NULL;
  14887. #else
  14888. sp_digit a[48 * 5];
  14889. #endif
  14890. sp_digit* m = NULL;
  14891. sp_digit* r = NULL;
  14892. sp_digit *ah = NULL;
  14893. sp_digit e[1] = {0};
  14894. int err = MP_OKAY;
  14895. if (*outLen < 384) {
  14896. err = MP_TO_E;
  14897. }
  14898. else if (mp_count_bits(em) > 64 || inLen > 384 ||
  14899. mp_count_bits(mm) != 3072) {
  14900. err = MP_READ_E;
  14901. }
  14902. else if (mp_iseven(mm)) {
  14903. err = MP_VAL;
  14904. }
  14905. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  14906. if (err == MP_OKAY) {
  14907. a = (sp_digit*)XMALLOC(sizeof(sp_digit) * 48 * 5, NULL,
  14908. DYNAMIC_TYPE_RSA);
  14909. if (a == NULL)
  14910. err = MEMORY_E;
  14911. }
  14912. #endif
  14913. if (err == MP_OKAY) {
  14914. ah = a + 48;
  14915. r = a + 48 * 2;
  14916. m = r + 48 * 2;
  14917. sp_3072_from_bin(ah, 48, in, inLen);
  14918. #if DIGIT_BIT >= 64
  14919. e[0] = em->dp[0];
  14920. #else
  14921. e[0] = em->dp[0];
  14922. if (em->used > 1) {
  14923. e[0] |= ((sp_digit)em->dp[1]) << DIGIT_BIT;
  14924. }
  14925. #endif
  14926. if (e[0] == 0) {
  14927. err = MP_EXPTMOD_E;
  14928. }
  14929. }
  14930. if (err == MP_OKAY) {
  14931. sp_3072_from_mp(m, 48, mm);
  14932. if (e[0] == 0x10001) {
  14933. int i;
  14934. sp_digit mp;
  14935. sp_3072_mont_setup(m, &mp);
  14936. /* Convert to Montgomery form. */
  14937. XMEMSET(a, 0, sizeof(sp_digit) * 48);
  14938. err = sp_3072_mod_48_cond(r, a, m);
  14939. /* Montgomery form: r = a.R mod m */
  14940. if (err == MP_OKAY) {
  14941. /* r = a ^ 0x10000 => r = a squared 16 times */
  14942. for (i = 15; i >= 0; i--) {
  14943. sp_3072_mont_sqr_48(r, r, m, mp);
  14944. }
  14945. /* mont_red(r.R.R) = (r.R.R / R) mod m = r.R mod m
  14946. * mont_red(r.R * a) = (r.R.a / R) mod m = r.a mod m
  14947. */
  14948. sp_3072_mont_mul_48(r, r, ah, m, mp);
  14949. for (i = 47; i > 0; i--) {
  14950. if (r[i] != m[i]) {
  14951. break;
  14952. }
  14953. }
  14954. if (r[i] >= m[i]) {
  14955. sp_3072_sub_in_place_48(r, m);
  14956. }
  14957. }
  14958. }
  14959. else if (e[0] == 0x3) {
  14960. if (err == MP_OKAY) {
  14961. sp_3072_sqr_48(r, ah);
  14962. err = sp_3072_mod_48_cond(r, r, m);
  14963. }
  14964. if (err == MP_OKAY) {
  14965. sp_3072_mul_48(r, ah, r);
  14966. err = sp_3072_mod_48_cond(r, r, m);
  14967. }
  14968. }
  14969. else {
  14970. int i;
  14971. sp_digit mp;
  14972. sp_3072_mont_setup(m, &mp);
  14973. /* Convert to Montgomery form. */
  14974. XMEMSET(a, 0, sizeof(sp_digit) * 48);
  14975. err = sp_3072_mod_48_cond(a, a, m);
  14976. if (err == MP_OKAY) {
  14977. for (i = 63; i >= 0; i--) {
  14978. if (e[0] >> i) {
  14979. break;
  14980. }
  14981. }
  14982. XMEMCPY(r, a, sizeof(sp_digit) * 48);
  14983. for (i--; i >= 0; i--) {
  14984. sp_3072_mont_sqr_48(r, r, m, mp);
  14985. if (((e[0] >> i) & 1) == 1) {
  14986. sp_3072_mont_mul_48(r, r, a, m, mp);
  14987. }
  14988. }
  14989. XMEMSET(&r[48], 0, sizeof(sp_digit) * 48);
  14990. sp_3072_mont_reduce_48(r, m, mp);
  14991. for (i = 47; i > 0; i--) {
  14992. if (r[i] != m[i]) {
  14993. break;
  14994. }
  14995. }
  14996. if (r[i] >= m[i]) {
  14997. sp_3072_sub_in_place_48(r, m);
  14998. }
  14999. }
  15000. }
  15001. }
  15002. if (err == MP_OKAY) {
  15003. sp_3072_to_bin_48(r, out);
  15004. *outLen = 384;
  15005. }
  15006. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  15007. if (a != NULL)
  15008. XFREE(a, NULL, DYNAMIC_TYPE_RSA);
  15009. #endif
  15010. return err;
  15011. }
  15012. #ifndef WOLFSSL_RSA_PUBLIC_ONLY
  15013. #ifdef WOLFSSL_SP_SMALL
  15014. /* Conditionally add a and b using the mask m.
  15015. * m is -1 to add and 0 when not.
  15016. *
  15017. * r A single precision number representing conditional add result.
  15018. * a A single precision number to add with.
  15019. * b A single precision number to add.
  15020. * m Mask value to apply.
  15021. */
  15022. static sp_digit sp_3072_cond_add_24(sp_digit* r, const sp_digit* a, const sp_digit* b,
  15023. sp_digit m)
  15024. {
  15025. sp_digit c = 0;
  15026. __asm__ __volatile__ (
  15027. "mov x8, #0\n\t"
  15028. "1:\n\t"
  15029. "adds %[c], %[c], #-1\n\t"
  15030. "ldr x4, [%[a], x8]\n\t"
  15031. "ldr x5, [%[b], x8]\n\t"
  15032. "and x5, x5, %[m]\n\t"
  15033. "adcs x4, x4, x5\n\t"
  15034. "cset %[c], cs\n\t"
  15035. "str x4, [%[r], x8]\n\t"
  15036. "add x8, x8, #8\n\t"
  15037. "cmp x8, 192\n\t"
  15038. "b.lt 1b\n\t"
  15039. : [c] "+r" (c)
  15040. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  15041. : "memory", "x4", "x5", "x8", "x9", "x10", "x11", "x12"
  15042. );
  15043. return c;
  15044. }
  15045. #endif /* WOLFSSL_SP_SMALL */
  15046. /* RSA private key operation.
  15047. *
  15048. * in Array of bytes representing the number to exponentiate, base.
  15049. * inLen Number of bytes in base.
  15050. * dm Private exponent.
  15051. * pm First prime.
  15052. * qm Second prime.
  15053. * dpm First prime's CRT exponent.
  15054. * dqm Second prime's CRT exponent.
  15055. * qim Inverse of second prime mod p.
  15056. * mm Modulus.
  15057. * out Buffer to hold big-endian bytes of exponentiation result.
  15058. * Must be at least 384 bytes long.
  15059. * outLen Number of bytes in result.
  15060. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  15061. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  15062. */
  15063. int sp_RsaPrivate_3072(const byte* in, word32 inLen, const mp_int* dm,
  15064. const mp_int* pm, const mp_int* qm, const mp_int* dpm, const mp_int* dqm,
  15065. const mp_int* qim, const mp_int* mm, byte* out, word32* outLen)
  15066. {
  15067. #if defined(SP_RSA_PRIVATE_EXP_D) || defined(RSA_LOW_MEM)
  15068. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  15069. sp_digit* d = NULL;
  15070. #else
  15071. sp_digit d[48 * 4];
  15072. #endif
  15073. sp_digit* a = NULL;
  15074. sp_digit* m = NULL;
  15075. sp_digit* r = NULL;
  15076. int err = MP_OKAY;
  15077. (void)pm;
  15078. (void)qm;
  15079. (void)dpm;
  15080. (void)dqm;
  15081. (void)qim;
  15082. if (*outLen < 384U) {
  15083. err = MP_TO_E;
  15084. }
  15085. if (err == MP_OKAY) {
  15086. if (mp_count_bits(dm) > 3072) {
  15087. err = MP_READ_E;
  15088. }
  15089. else if (inLen > 384) {
  15090. err = MP_READ_E;
  15091. }
  15092. else if (mp_count_bits(mm) != 3072) {
  15093. err = MP_READ_E;
  15094. }
  15095. else if (mp_iseven(mm)) {
  15096. err = MP_VAL;
  15097. }
  15098. }
  15099. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  15100. if (err == MP_OKAY) {
  15101. d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 48 * 4, NULL,
  15102. DYNAMIC_TYPE_RSA);
  15103. if (d == NULL)
  15104. err = MEMORY_E;
  15105. }
  15106. #endif
  15107. if (err == MP_OKAY) {
  15108. a = d + 48;
  15109. m = a + 96;
  15110. r = a;
  15111. sp_3072_from_bin(a, 48, in, inLen);
  15112. sp_3072_from_mp(d, 48, dm);
  15113. sp_3072_from_mp(m, 48, mm);
  15114. err = sp_3072_mod_exp_48(r, a, d, 3072, m, 0);
  15115. }
  15116. if (err == MP_OKAY) {
  15117. sp_3072_to_bin_48(r, out);
  15118. *outLen = 384;
  15119. }
  15120. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  15121. if (d != NULL)
  15122. #endif
  15123. {
  15124. /* only "a" and "r" are sensitive and need zeroized (same pointer) */
  15125. if (a != NULL)
  15126. ForceZero(a, sizeof(sp_digit) * 48);
  15127. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  15128. XFREE(d, NULL, DYNAMIC_TYPE_RSA);
  15129. #endif
  15130. }
  15131. return err;
  15132. #else
  15133. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  15134. sp_digit* a = NULL;
  15135. #else
  15136. sp_digit a[24 * 11];
  15137. #endif
  15138. sp_digit* p = NULL;
  15139. sp_digit* q = NULL;
  15140. sp_digit* dp = NULL;
  15141. sp_digit* tmpa = NULL;
  15142. sp_digit* tmpb = NULL;
  15143. sp_digit* r = NULL;
  15144. sp_digit* qi = NULL;
  15145. sp_digit* dq = NULL;
  15146. sp_digit c;
  15147. int err = MP_OKAY;
  15148. (void)dm;
  15149. (void)mm;
  15150. if (*outLen < 384) {
  15151. err = MP_TO_E;
  15152. }
  15153. else if (inLen > 384 || mp_count_bits(mm) != 3072) {
  15154. err = MP_READ_E;
  15155. }
  15156. else if (mp_iseven(mm)) {
  15157. err = MP_VAL;
  15158. }
  15159. else if (mp_iseven(pm)) {
  15160. err = MP_VAL;
  15161. }
  15162. else if (mp_iseven(qm)) {
  15163. err = MP_VAL;
  15164. }
  15165. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  15166. if (err == MP_OKAY) {
  15167. a = (sp_digit*)XMALLOC(sizeof(sp_digit) * 24 * 11, NULL,
  15168. DYNAMIC_TYPE_RSA);
  15169. if (a == NULL)
  15170. err = MEMORY_E;
  15171. }
  15172. #endif
  15173. if (err == MP_OKAY) {
  15174. p = a + 48 * 2;
  15175. q = p + 24;
  15176. qi = dq = dp = q + 24;
  15177. tmpa = qi + 24;
  15178. tmpb = tmpa + 48;
  15179. r = a;
  15180. sp_3072_from_bin(a, 48, in, inLen);
  15181. sp_3072_from_mp(p, 24, pm);
  15182. sp_3072_from_mp(q, 24, qm);
  15183. sp_3072_from_mp(dp, 24, dpm);
  15184. err = sp_3072_mod_exp_24(tmpa, a, dp, 1536, p, 1);
  15185. }
  15186. if (err == MP_OKAY) {
  15187. sp_3072_from_mp(dq, 24, dqm);
  15188. err = sp_3072_mod_exp_24(tmpb, a, dq, 1536, q, 1);
  15189. }
  15190. if (err == MP_OKAY) {
  15191. c = sp_3072_sub_in_place_24(tmpa, tmpb);
  15192. c += sp_3072_cond_add_24(tmpa, tmpa, p, c);
  15193. sp_3072_cond_add_24(tmpa, tmpa, p, c);
  15194. sp_3072_from_mp(qi, 24, qim);
  15195. sp_3072_mul_24(tmpa, tmpa, qi);
  15196. err = sp_3072_mod_24(tmpa, tmpa, p);
  15197. }
  15198. if (err == MP_OKAY) {
  15199. sp_3072_mul_24(tmpa, q, tmpa);
  15200. XMEMSET(&tmpb[24], 0, sizeof(sp_digit) * 24);
  15201. sp_3072_add_48(r, tmpb, tmpa);
  15202. sp_3072_to_bin_48(r, out);
  15203. *outLen = 384;
  15204. }
  15205. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  15206. if (a != NULL)
  15207. #endif
  15208. {
  15209. ForceZero(a, sizeof(sp_digit) * 24 * 11);
  15210. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  15211. XFREE(a, NULL, DYNAMIC_TYPE_RSA);
  15212. #endif
  15213. }
  15214. #endif /* SP_RSA_PRIVATE_EXP_D || RSA_LOW_MEM */
  15215. return err;
  15216. }
  15217. #endif /* WOLFSSL_RSA_PUBLIC_ONLY */
  15218. #endif /* WOLFSSL_HAVE_SP_RSA */
  15219. #if defined(WOLFSSL_HAVE_SP_DH) || (defined(WOLFSSL_HAVE_SP_RSA) && \
  15220. !defined(WOLFSSL_RSA_PUBLIC_ONLY))
  15221. /* Convert an array of sp_digit to an mp_int.
  15222. *
  15223. * a A single precision integer.
  15224. * r A multi-precision integer.
  15225. */
  15226. static int sp_3072_to_mp(const sp_digit* a, mp_int* r)
  15227. {
  15228. int err;
  15229. err = mp_grow(r, (3072 + DIGIT_BIT - 1) / DIGIT_BIT);
  15230. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  15231. #if DIGIT_BIT == 64
  15232. XMEMCPY(r->dp, a, sizeof(sp_digit) * 48);
  15233. r->used = 48;
  15234. mp_clamp(r);
  15235. #elif DIGIT_BIT < 64
  15236. int i;
  15237. int j = 0;
  15238. int s = 0;
  15239. r->dp[0] = 0;
  15240. for (i = 0; i < 48; i++) {
  15241. r->dp[j] |= (mp_digit)(a[i] << s);
  15242. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  15243. s = DIGIT_BIT - s;
  15244. r->dp[++j] = (mp_digit)(a[i] >> s);
  15245. while (s + DIGIT_BIT <= 64) {
  15246. s += DIGIT_BIT;
  15247. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  15248. if (s == SP_WORD_SIZE) {
  15249. r->dp[j] = 0;
  15250. }
  15251. else {
  15252. r->dp[j] = (mp_digit)(a[i] >> s);
  15253. }
  15254. }
  15255. s = 64 - s;
  15256. }
  15257. r->used = (3072 + DIGIT_BIT - 1) / DIGIT_BIT;
  15258. mp_clamp(r);
  15259. #else
  15260. int i;
  15261. int j = 0;
  15262. int s = 0;
  15263. r->dp[0] = 0;
  15264. for (i = 0; i < 48; i++) {
  15265. r->dp[j] |= ((mp_digit)a[i]) << s;
  15266. if (s + 64 >= DIGIT_BIT) {
  15267. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  15268. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  15269. #endif
  15270. s = DIGIT_BIT - s;
  15271. r->dp[++j] = a[i] >> s;
  15272. s = 64 - s;
  15273. }
  15274. else {
  15275. s += 64;
  15276. }
  15277. }
  15278. r->used = (3072 + DIGIT_BIT - 1) / DIGIT_BIT;
  15279. mp_clamp(r);
  15280. #endif
  15281. }
  15282. return err;
  15283. }
  15284. /* Perform the modular exponentiation for Diffie-Hellman.
  15285. *
  15286. * base Base. MP integer.
  15287. * exp Exponent. MP integer.
  15288. * mod Modulus. MP integer.
  15289. * res Result. MP integer.
  15290. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  15291. * and MEMORY_E if memory allocation fails.
  15292. */
  15293. int sp_ModExp_3072(const mp_int* base, const mp_int* exp, const mp_int* mod,
  15294. mp_int* res)
  15295. {
  15296. int err = MP_OKAY;
  15297. sp_digit b[96];
  15298. sp_digit e[48];
  15299. sp_digit m[48];
  15300. sp_digit* r = b;
  15301. int expBits = mp_count_bits(exp);
  15302. if (mp_count_bits(base) > 3072) {
  15303. err = MP_READ_E;
  15304. }
  15305. else if (expBits > 3072) {
  15306. err = MP_READ_E;
  15307. }
  15308. else if (mp_count_bits(mod) != 3072) {
  15309. err = MP_READ_E;
  15310. }
  15311. else if (mp_iseven(mod)) {
  15312. err = MP_VAL;
  15313. }
  15314. if (err == MP_OKAY) {
  15315. sp_3072_from_mp(b, 48, base);
  15316. sp_3072_from_mp(e, 48, exp);
  15317. sp_3072_from_mp(m, 48, mod);
  15318. err = sp_3072_mod_exp_48(r, b, e, expBits, m, 0);
  15319. }
  15320. if (err == MP_OKAY) {
  15321. err = sp_3072_to_mp(r, res);
  15322. }
  15323. XMEMSET(e, 0, sizeof(e));
  15324. return err;
  15325. }
  15326. #ifdef WOLFSSL_HAVE_SP_DH
  15327. #ifdef HAVE_FFDHE_3072
  15328. static void sp_3072_lshift_48(sp_digit* r, const sp_digit* a, byte n)
  15329. {
  15330. word64 n64 = n;
  15331. __asm__ __volatile__ (
  15332. "mov x6, 63\n\t"
  15333. "sub x6, x6, %[n]\n\t"
  15334. "ldr x3, [%[a], 376]\n\t"
  15335. "lsr x4, x3, 1\n\t"
  15336. "lsl x3, x3, %[n]\n\t"
  15337. "lsr x4, x4, x6\n\t"
  15338. "ldr x2, [%[a], 368]\n\t"
  15339. "str x4, [%[r], 384]\n\t"
  15340. "lsr x5, x2, 1\n\t"
  15341. "lsl x2, x2, %[n]\n\t"
  15342. "lsr x5, x5, x6\n\t"
  15343. "orr x3, x3, x5\n\t"
  15344. "ldr x4, [%[a], 360]\n\t"
  15345. "str x3, [%[r], 376]\n\t"
  15346. "lsr x5, x4, 1\n\t"
  15347. "lsl x4, x4, %[n]\n\t"
  15348. "lsr x5, x5, x6\n\t"
  15349. "orr x2, x2, x5\n\t"
  15350. "ldr x3, [%[a], 352]\n\t"
  15351. "str x2, [%[r], 368]\n\t"
  15352. "lsr x5, x3, 1\n\t"
  15353. "lsl x3, x3, %[n]\n\t"
  15354. "lsr x5, x5, x6\n\t"
  15355. "orr x4, x4, x5\n\t"
  15356. "ldr x2, [%[a], 344]\n\t"
  15357. "str x4, [%[r], 360]\n\t"
  15358. "lsr x5, x2, 1\n\t"
  15359. "lsl x2, x2, %[n]\n\t"
  15360. "lsr x5, x5, x6\n\t"
  15361. "orr x3, x3, x5\n\t"
  15362. "ldr x4, [%[a], 336]\n\t"
  15363. "str x3, [%[r], 352]\n\t"
  15364. "lsr x5, x4, 1\n\t"
  15365. "lsl x4, x4, %[n]\n\t"
  15366. "lsr x5, x5, x6\n\t"
  15367. "orr x2, x2, x5\n\t"
  15368. "ldr x3, [%[a], 328]\n\t"
  15369. "str x2, [%[r], 344]\n\t"
  15370. "lsr x5, x3, 1\n\t"
  15371. "lsl x3, x3, %[n]\n\t"
  15372. "lsr x5, x5, x6\n\t"
  15373. "orr x4, x4, x5\n\t"
  15374. "ldr x2, [%[a], 320]\n\t"
  15375. "str x4, [%[r], 336]\n\t"
  15376. "lsr x5, x2, 1\n\t"
  15377. "lsl x2, x2, %[n]\n\t"
  15378. "lsr x5, x5, x6\n\t"
  15379. "orr x3, x3, x5\n\t"
  15380. "ldr x4, [%[a], 312]\n\t"
  15381. "str x3, [%[r], 328]\n\t"
  15382. "lsr x5, x4, 1\n\t"
  15383. "lsl x4, x4, %[n]\n\t"
  15384. "lsr x5, x5, x6\n\t"
  15385. "orr x2, x2, x5\n\t"
  15386. "ldr x3, [%[a], 304]\n\t"
  15387. "str x2, [%[r], 320]\n\t"
  15388. "lsr x5, x3, 1\n\t"
  15389. "lsl x3, x3, %[n]\n\t"
  15390. "lsr x5, x5, x6\n\t"
  15391. "orr x4, x4, x5\n\t"
  15392. "ldr x2, [%[a], 296]\n\t"
  15393. "str x4, [%[r], 312]\n\t"
  15394. "lsr x5, x2, 1\n\t"
  15395. "lsl x2, x2, %[n]\n\t"
  15396. "lsr x5, x5, x6\n\t"
  15397. "orr x3, x3, x5\n\t"
  15398. "ldr x4, [%[a], 288]\n\t"
  15399. "str x3, [%[r], 304]\n\t"
  15400. "lsr x5, x4, 1\n\t"
  15401. "lsl x4, x4, %[n]\n\t"
  15402. "lsr x5, x5, x6\n\t"
  15403. "orr x2, x2, x5\n\t"
  15404. "ldr x3, [%[a], 280]\n\t"
  15405. "str x2, [%[r], 296]\n\t"
  15406. "lsr x5, x3, 1\n\t"
  15407. "lsl x3, x3, %[n]\n\t"
  15408. "lsr x5, x5, x6\n\t"
  15409. "orr x4, x4, x5\n\t"
  15410. "ldr x2, [%[a], 272]\n\t"
  15411. "str x4, [%[r], 288]\n\t"
  15412. "lsr x5, x2, 1\n\t"
  15413. "lsl x2, x2, %[n]\n\t"
  15414. "lsr x5, x5, x6\n\t"
  15415. "orr x3, x3, x5\n\t"
  15416. "ldr x4, [%[a], 264]\n\t"
  15417. "str x3, [%[r], 280]\n\t"
  15418. "lsr x5, x4, 1\n\t"
  15419. "lsl x4, x4, %[n]\n\t"
  15420. "lsr x5, x5, x6\n\t"
  15421. "orr x2, x2, x5\n\t"
  15422. "ldr x3, [%[a], 256]\n\t"
  15423. "str x2, [%[r], 272]\n\t"
  15424. "lsr x5, x3, 1\n\t"
  15425. "lsl x3, x3, %[n]\n\t"
  15426. "lsr x5, x5, x6\n\t"
  15427. "orr x4, x4, x5\n\t"
  15428. "ldr x2, [%[a], 248]\n\t"
  15429. "str x4, [%[r], 264]\n\t"
  15430. "lsr x5, x2, 1\n\t"
  15431. "lsl x2, x2, %[n]\n\t"
  15432. "lsr x5, x5, x6\n\t"
  15433. "orr x3, x3, x5\n\t"
  15434. "ldr x4, [%[a], 240]\n\t"
  15435. "str x3, [%[r], 256]\n\t"
  15436. "lsr x5, x4, 1\n\t"
  15437. "lsl x4, x4, %[n]\n\t"
  15438. "lsr x5, x5, x6\n\t"
  15439. "orr x2, x2, x5\n\t"
  15440. "ldr x3, [%[a], 232]\n\t"
  15441. "str x2, [%[r], 248]\n\t"
  15442. "lsr x5, x3, 1\n\t"
  15443. "lsl x3, x3, %[n]\n\t"
  15444. "lsr x5, x5, x6\n\t"
  15445. "orr x4, x4, x5\n\t"
  15446. "ldr x2, [%[a], 224]\n\t"
  15447. "str x4, [%[r], 240]\n\t"
  15448. "lsr x5, x2, 1\n\t"
  15449. "lsl x2, x2, %[n]\n\t"
  15450. "lsr x5, x5, x6\n\t"
  15451. "orr x3, x3, x5\n\t"
  15452. "ldr x4, [%[a], 216]\n\t"
  15453. "str x3, [%[r], 232]\n\t"
  15454. "lsr x5, x4, 1\n\t"
  15455. "lsl x4, x4, %[n]\n\t"
  15456. "lsr x5, x5, x6\n\t"
  15457. "orr x2, x2, x5\n\t"
  15458. "ldr x3, [%[a], 208]\n\t"
  15459. "str x2, [%[r], 224]\n\t"
  15460. "lsr x5, x3, 1\n\t"
  15461. "lsl x3, x3, %[n]\n\t"
  15462. "lsr x5, x5, x6\n\t"
  15463. "orr x4, x4, x5\n\t"
  15464. "ldr x2, [%[a], 200]\n\t"
  15465. "str x4, [%[r], 216]\n\t"
  15466. "lsr x5, x2, 1\n\t"
  15467. "lsl x2, x2, %[n]\n\t"
  15468. "lsr x5, x5, x6\n\t"
  15469. "orr x3, x3, x5\n\t"
  15470. "ldr x4, [%[a], 192]\n\t"
  15471. "str x3, [%[r], 208]\n\t"
  15472. "lsr x5, x4, 1\n\t"
  15473. "lsl x4, x4, %[n]\n\t"
  15474. "lsr x5, x5, x6\n\t"
  15475. "orr x2, x2, x5\n\t"
  15476. "ldr x3, [%[a], 184]\n\t"
  15477. "str x2, [%[r], 200]\n\t"
  15478. "lsr x5, x3, 1\n\t"
  15479. "lsl x3, x3, %[n]\n\t"
  15480. "lsr x5, x5, x6\n\t"
  15481. "orr x4, x4, x5\n\t"
  15482. "ldr x2, [%[a], 176]\n\t"
  15483. "str x4, [%[r], 192]\n\t"
  15484. "lsr x5, x2, 1\n\t"
  15485. "lsl x2, x2, %[n]\n\t"
  15486. "lsr x5, x5, x6\n\t"
  15487. "orr x3, x3, x5\n\t"
  15488. "ldr x4, [%[a], 168]\n\t"
  15489. "str x3, [%[r], 184]\n\t"
  15490. "lsr x5, x4, 1\n\t"
  15491. "lsl x4, x4, %[n]\n\t"
  15492. "lsr x5, x5, x6\n\t"
  15493. "orr x2, x2, x5\n\t"
  15494. "ldr x3, [%[a], 160]\n\t"
  15495. "str x2, [%[r], 176]\n\t"
  15496. "lsr x5, x3, 1\n\t"
  15497. "lsl x3, x3, %[n]\n\t"
  15498. "lsr x5, x5, x6\n\t"
  15499. "orr x4, x4, x5\n\t"
  15500. "ldr x2, [%[a], 152]\n\t"
  15501. "str x4, [%[r], 168]\n\t"
  15502. "lsr x5, x2, 1\n\t"
  15503. "lsl x2, x2, %[n]\n\t"
  15504. "lsr x5, x5, x6\n\t"
  15505. "orr x3, x3, x5\n\t"
  15506. "ldr x4, [%[a], 144]\n\t"
  15507. "str x3, [%[r], 160]\n\t"
  15508. "lsr x5, x4, 1\n\t"
  15509. "lsl x4, x4, %[n]\n\t"
  15510. "lsr x5, x5, x6\n\t"
  15511. "orr x2, x2, x5\n\t"
  15512. "ldr x3, [%[a], 136]\n\t"
  15513. "str x2, [%[r], 152]\n\t"
  15514. "lsr x5, x3, 1\n\t"
  15515. "lsl x3, x3, %[n]\n\t"
  15516. "lsr x5, x5, x6\n\t"
  15517. "orr x4, x4, x5\n\t"
  15518. "ldr x2, [%[a], 128]\n\t"
  15519. "str x4, [%[r], 144]\n\t"
  15520. "lsr x5, x2, 1\n\t"
  15521. "lsl x2, x2, %[n]\n\t"
  15522. "lsr x5, x5, x6\n\t"
  15523. "orr x3, x3, x5\n\t"
  15524. "ldr x4, [%[a], 120]\n\t"
  15525. "str x3, [%[r], 136]\n\t"
  15526. "lsr x5, x4, 1\n\t"
  15527. "lsl x4, x4, %[n]\n\t"
  15528. "lsr x5, x5, x6\n\t"
  15529. "orr x2, x2, x5\n\t"
  15530. "ldr x3, [%[a], 112]\n\t"
  15531. "str x2, [%[r], 128]\n\t"
  15532. "lsr x5, x3, 1\n\t"
  15533. "lsl x3, x3, %[n]\n\t"
  15534. "lsr x5, x5, x6\n\t"
  15535. "orr x4, x4, x5\n\t"
  15536. "ldr x2, [%[a], 104]\n\t"
  15537. "str x4, [%[r], 120]\n\t"
  15538. "lsr x5, x2, 1\n\t"
  15539. "lsl x2, x2, %[n]\n\t"
  15540. "lsr x5, x5, x6\n\t"
  15541. "orr x3, x3, x5\n\t"
  15542. "ldr x4, [%[a], 96]\n\t"
  15543. "str x3, [%[r], 112]\n\t"
  15544. "lsr x5, x4, 1\n\t"
  15545. "lsl x4, x4, %[n]\n\t"
  15546. "lsr x5, x5, x6\n\t"
  15547. "orr x2, x2, x5\n\t"
  15548. "ldr x3, [%[a], 88]\n\t"
  15549. "str x2, [%[r], 104]\n\t"
  15550. "lsr x5, x3, 1\n\t"
  15551. "lsl x3, x3, %[n]\n\t"
  15552. "lsr x5, x5, x6\n\t"
  15553. "orr x4, x4, x5\n\t"
  15554. "ldr x2, [%[a], 80]\n\t"
  15555. "str x4, [%[r], 96]\n\t"
  15556. "lsr x5, x2, 1\n\t"
  15557. "lsl x2, x2, %[n]\n\t"
  15558. "lsr x5, x5, x6\n\t"
  15559. "orr x3, x3, x5\n\t"
  15560. "ldr x4, [%[a], 72]\n\t"
  15561. "str x3, [%[r], 88]\n\t"
  15562. "lsr x5, x4, 1\n\t"
  15563. "lsl x4, x4, %[n]\n\t"
  15564. "lsr x5, x5, x6\n\t"
  15565. "orr x2, x2, x5\n\t"
  15566. "ldr x3, [%[a], 64]\n\t"
  15567. "str x2, [%[r], 80]\n\t"
  15568. "lsr x5, x3, 1\n\t"
  15569. "lsl x3, x3, %[n]\n\t"
  15570. "lsr x5, x5, x6\n\t"
  15571. "orr x4, x4, x5\n\t"
  15572. "ldr x2, [%[a], 56]\n\t"
  15573. "str x4, [%[r], 72]\n\t"
  15574. "lsr x5, x2, 1\n\t"
  15575. "lsl x2, x2, %[n]\n\t"
  15576. "lsr x5, x5, x6\n\t"
  15577. "orr x3, x3, x5\n\t"
  15578. "ldr x4, [%[a], 48]\n\t"
  15579. "str x3, [%[r], 64]\n\t"
  15580. "lsr x5, x4, 1\n\t"
  15581. "lsl x4, x4, %[n]\n\t"
  15582. "lsr x5, x5, x6\n\t"
  15583. "orr x2, x2, x5\n\t"
  15584. "ldr x3, [%[a], 40]\n\t"
  15585. "str x2, [%[r], 56]\n\t"
  15586. "lsr x5, x3, 1\n\t"
  15587. "lsl x3, x3, %[n]\n\t"
  15588. "lsr x5, x5, x6\n\t"
  15589. "orr x4, x4, x5\n\t"
  15590. "ldr x2, [%[a], 32]\n\t"
  15591. "str x4, [%[r], 48]\n\t"
  15592. "lsr x5, x2, 1\n\t"
  15593. "lsl x2, x2, %[n]\n\t"
  15594. "lsr x5, x5, x6\n\t"
  15595. "orr x3, x3, x5\n\t"
  15596. "ldr x4, [%[a], 24]\n\t"
  15597. "str x3, [%[r], 40]\n\t"
  15598. "lsr x5, x4, 1\n\t"
  15599. "lsl x4, x4, %[n]\n\t"
  15600. "lsr x5, x5, x6\n\t"
  15601. "orr x2, x2, x5\n\t"
  15602. "ldr x3, [%[a], 16]\n\t"
  15603. "str x2, [%[r], 32]\n\t"
  15604. "lsr x5, x3, 1\n\t"
  15605. "lsl x3, x3, %[n]\n\t"
  15606. "lsr x5, x5, x6\n\t"
  15607. "orr x4, x4, x5\n\t"
  15608. "ldr x2, [%[a], 8]\n\t"
  15609. "str x4, [%[r], 24]\n\t"
  15610. "lsr x5, x2, 1\n\t"
  15611. "lsl x2, x2, %[n]\n\t"
  15612. "lsr x5, x5, x6\n\t"
  15613. "orr x3, x3, x5\n\t"
  15614. "ldr x4, [%[a], 0]\n\t"
  15615. "str x3, [%[r], 16]\n\t"
  15616. "lsr x5, x4, 1\n\t"
  15617. "lsl x4, x4, %[n]\n\t"
  15618. "lsr x5, x5, x6\n\t"
  15619. "orr x2, x2, x5\n\t"
  15620. "stp x4, x2, [%[r]]\n\t"
  15621. :
  15622. : [r] "r" (r), [a] "r" (a), [n] "r" (n64)
  15623. : "memory", "x2", "x3", "x4", "x5", "x6"
  15624. );
  15625. }
  15626. /* Modular exponentiate 2 to the e mod m. (r = 2^e mod m)
  15627. *
  15628. * r A single precision number that is the result of the operation.
  15629. * e A single precision number that is the exponent.
  15630. * bits The number of bits in the exponent.
  15631. * m A single precision number that is the modulus.
  15632. * returns 0 on success.
  15633. * returns MEMORY_E on dynamic memory allocation failure.
  15634. * returns MP_VAL when base is even.
  15635. */
  15636. static int sp_3072_mod_exp_2_48(sp_digit* r, const sp_digit* e, int bits,
  15637. const sp_digit* m)
  15638. {
  15639. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  15640. sp_digit* td = NULL;
  15641. #else
  15642. sp_digit td[145];
  15643. #endif
  15644. sp_digit* norm = NULL;
  15645. sp_digit* tmp = NULL;
  15646. sp_digit mp = 1;
  15647. sp_digit n;
  15648. sp_digit o;
  15649. sp_digit mask;
  15650. int i;
  15651. int c;
  15652. byte y;
  15653. int err = MP_OKAY;
  15654. if (bits == 0) {
  15655. err = MP_VAL;
  15656. }
  15657. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  15658. if (err == MP_OKAY) {
  15659. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 145, NULL,
  15660. DYNAMIC_TYPE_TMP_BUFFER);
  15661. if (td == NULL)
  15662. err = MEMORY_E;
  15663. }
  15664. #endif
  15665. if (err == MP_OKAY) {
  15666. norm = td;
  15667. tmp = td + 96;
  15668. sp_3072_mont_setup(m, &mp);
  15669. sp_3072_mont_norm_48(norm, m);
  15670. i = (bits - 1) / 64;
  15671. n = e[i--];
  15672. c = bits & 63;
  15673. if (c == 0) {
  15674. c = 64;
  15675. }
  15676. c -= bits % 6;
  15677. if (c == 64) {
  15678. c = 58;
  15679. }
  15680. if (c < 0) {
  15681. /* Number of bits in top word is less than number needed. */
  15682. c = -c;
  15683. y = (byte)(n << c);
  15684. n = e[i--];
  15685. y |= (byte)(n >> (64 - c));
  15686. n <<= c;
  15687. c = 64 - c;
  15688. }
  15689. else if (c == 0) {
  15690. /* All bits in top word used. */
  15691. y = (byte)n;
  15692. }
  15693. else {
  15694. y = (byte)(n >> c);
  15695. n <<= 64 - c;
  15696. }
  15697. sp_3072_lshift_48(r, norm, y);
  15698. for (; i>=0 || c>=6; ) {
  15699. if (c == 0) {
  15700. n = e[i--];
  15701. y = (byte)(n >> 58);
  15702. n <<= 6;
  15703. c = 58;
  15704. }
  15705. else if (c < 6) {
  15706. y = (byte)(n >> 58);
  15707. n = e[i--];
  15708. c = 6 - c;
  15709. y |= (byte)(n >> (64 - c));
  15710. n <<= c;
  15711. c = 64 - c;
  15712. }
  15713. else {
  15714. y = (byte)((n >> 58) & 0x3f);
  15715. n <<= 6;
  15716. c -= 6;
  15717. }
  15718. sp_3072_mont_sqr_48(r, r, m, mp);
  15719. sp_3072_mont_sqr_48(r, r, m, mp);
  15720. sp_3072_mont_sqr_48(r, r, m, mp);
  15721. sp_3072_mont_sqr_48(r, r, m, mp);
  15722. sp_3072_mont_sqr_48(r, r, m, mp);
  15723. sp_3072_mont_sqr_48(r, r, m, mp);
  15724. sp_3072_lshift_48(r, r, y);
  15725. sp_3072_mul_d_48(tmp, norm, r[48]);
  15726. r[48] = 0;
  15727. o = sp_3072_add_48(r, r, tmp);
  15728. sp_3072_cond_sub_48(r, r, m, (sp_digit)0 - o);
  15729. }
  15730. XMEMSET(&r[48], 0, sizeof(sp_digit) * 48U);
  15731. sp_3072_mont_reduce_48(r, m, mp);
  15732. mask = 0 - (sp_3072_cmp_48(r, m) >= 0);
  15733. sp_3072_cond_sub_48(r, r, m, mask);
  15734. }
  15735. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  15736. if (td != NULL)
  15737. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  15738. #endif
  15739. return err;
  15740. }
  15741. #endif /* HAVE_FFDHE_3072 */
  15742. /* Perform the modular exponentiation for Diffie-Hellman.
  15743. *
  15744. * base Base.
  15745. * exp Array of bytes that is the exponent.
  15746. * expLen Length of data, in bytes, in exponent.
  15747. * mod Modulus.
  15748. * out Buffer to hold big-endian bytes of exponentiation result.
  15749. * Must be at least 384 bytes long.
  15750. * outLen Length, in bytes, of exponentiation result.
  15751. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  15752. * and MEMORY_E if memory allocation fails.
  15753. */
  15754. int sp_DhExp_3072(const mp_int* base, const byte* exp, word32 expLen,
  15755. const mp_int* mod, byte* out, word32* outLen)
  15756. {
  15757. int err = MP_OKAY;
  15758. sp_digit b[96];
  15759. sp_digit e[48];
  15760. sp_digit m[48];
  15761. sp_digit* r = b;
  15762. word32 i;
  15763. if (mp_count_bits(base) > 3072) {
  15764. err = MP_READ_E;
  15765. }
  15766. else if (expLen > 384) {
  15767. err = MP_READ_E;
  15768. }
  15769. else if (mp_count_bits(mod) != 3072) {
  15770. err = MP_READ_E;
  15771. }
  15772. else if (mp_iseven(mod)) {
  15773. err = MP_VAL;
  15774. }
  15775. if (err == MP_OKAY) {
  15776. sp_3072_from_mp(b, 48, base);
  15777. sp_3072_from_bin(e, 48, exp, expLen);
  15778. sp_3072_from_mp(m, 48, mod);
  15779. #ifdef HAVE_FFDHE_3072
  15780. if (base->used == 1 && base->dp[0] == 2 && m[47] == (sp_digit)-1)
  15781. err = sp_3072_mod_exp_2_48(r, e, expLen * 8, m);
  15782. else
  15783. #endif
  15784. err = sp_3072_mod_exp_48(r, b, e, expLen * 8, m, 0);
  15785. }
  15786. if (err == MP_OKAY) {
  15787. sp_3072_to_bin_48(r, out);
  15788. *outLen = 384;
  15789. for (i=0; i<384 && out[i] == 0; i++) {
  15790. /* Search for first non-zero. */
  15791. }
  15792. *outLen -= i;
  15793. XMEMMOVE(out, out + i, *outLen);
  15794. }
  15795. XMEMSET(e, 0, sizeof(e));
  15796. return err;
  15797. }
  15798. #endif /* WOLFSSL_HAVE_SP_DH */
  15799. /* Perform the modular exponentiation for Diffie-Hellman.
  15800. *
  15801. * base Base. MP integer.
  15802. * exp Exponent. MP integer.
  15803. * mod Modulus. MP integer.
  15804. * res Result. MP integer.
  15805. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  15806. * and MEMORY_E if memory allocation fails.
  15807. */
  15808. int sp_ModExp_1536(const mp_int* base, const mp_int* exp, const mp_int* mod,
  15809. mp_int* res)
  15810. {
  15811. int err = MP_OKAY;
  15812. sp_digit b[48];
  15813. sp_digit e[24];
  15814. sp_digit m[24];
  15815. sp_digit* r = b;
  15816. int expBits = mp_count_bits(exp);
  15817. if (mp_count_bits(base) > 1536) {
  15818. err = MP_READ_E;
  15819. }
  15820. else if (expBits > 1536) {
  15821. err = MP_READ_E;
  15822. }
  15823. else if (mp_count_bits(mod) != 1536) {
  15824. err = MP_READ_E;
  15825. }
  15826. else if (mp_iseven(mod)) {
  15827. err = MP_VAL;
  15828. }
  15829. if (err == MP_OKAY) {
  15830. sp_3072_from_mp(b, 24, base);
  15831. sp_3072_from_mp(e, 24, exp);
  15832. sp_3072_from_mp(m, 24, mod);
  15833. err = sp_3072_mod_exp_24(r, b, e, expBits, m, 0);
  15834. }
  15835. if (err == MP_OKAY) {
  15836. XMEMSET(r + 24, 0, sizeof(*r) * 24U);
  15837. err = sp_3072_to_mp(r, res);
  15838. res->used = mod->used;
  15839. mp_clamp(res);
  15840. }
  15841. XMEMSET(e, 0, sizeof(e));
  15842. return err;
  15843. }
  15844. #endif /* WOLFSSL_HAVE_SP_DH | (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) */
  15845. #endif /* !WOLFSSL_SP_NO_3072 */
  15846. #ifdef WOLFSSL_SP_4096
  15847. /* Read big endian unsigned byte array into r.
  15848. *
  15849. * r A single precision integer.
  15850. * size Maximum number of bytes to convert
  15851. * a Byte array.
  15852. * n Number of bytes in array to read.
  15853. */
  15854. static void sp_4096_from_bin(sp_digit* r, int size, const byte* a, int n)
  15855. {
  15856. sp_int64 nl = n;
  15857. sp_int64 size8 = size * 8;
  15858. __asm__ __volatile__ (
  15859. "add x4, %[a], %[n]\n\t"
  15860. "mov x5, %[r]\n\t"
  15861. "sub x4, x4, 8\n\t"
  15862. "subs x6, %[n], 8\n\t"
  15863. "mov x7, xzr\n\t"
  15864. "blt 2f\n\t"
  15865. /* Put in mulitples of 8 bytes. */
  15866. "1:\n\t"
  15867. "ldr x8, [x4], -8\n\t"
  15868. "subs x6, x6, 8\n\t"
  15869. "rev x8, x8\n\t"
  15870. "str x8, [x5], 8\n\t"
  15871. "add x7, x7, 8\n\t"
  15872. "b.ge 1b\n\t"
  15873. "2:\n\t"
  15874. "cmp x6, -7\n\t"
  15875. "b.lt 20f\n\t"
  15876. /* Put in less than 8 bytes. */
  15877. "str xzr, [x5]\n\t"
  15878. "add x7, x7, 8\n\t"
  15879. "add x4, x4, 7\n\t"
  15880. "b.eq 17f\n\t"
  15881. "cmp x6, -5\n\t"
  15882. "b.lt 16f\n\t"
  15883. "b.eq 15f\n\t"
  15884. "cmp x6, -3\n\t"
  15885. "b.lt 14f\n\t"
  15886. "b.eq 13f\n\t"
  15887. "cmp x6, -2\n\t"
  15888. "b.eq 12f\n\t"
  15889. "ldrb w8, [x4], -1\n\t"
  15890. "strb w8, [x5], 1\n\t"
  15891. "12:\n\t"
  15892. "ldrb w8, [x4], -1\n\t"
  15893. "strb w8, [x5], 1\n\t"
  15894. "13:\n\t"
  15895. "ldrb w8, [x4], -1\n\t"
  15896. "strb w8, [x5], 1\n\t"
  15897. "14:\n\t"
  15898. "ldrb w8, [x4], -1\n\t"
  15899. "strb w8, [x5], 1\n\t"
  15900. "15:\n\t"
  15901. "ldrb w8, [x4], -1\n\t"
  15902. "strb w8, [x5], 1\n\t"
  15903. "16:\n\t"
  15904. "ldrb w8, [x4], -1\n\t"
  15905. "strb w8, [x5], 1\n\t"
  15906. "17:\n\t"
  15907. "ldrb w8, [x4], -1\n\t"
  15908. "strb w8, [x5], 1\n\t"
  15909. "20:\n\t"
  15910. "add x5, %[r], x7\n\t"
  15911. "subs x7, %[size], x7\n\t"
  15912. "b.eq 30f\n\t"
  15913. /* Zero out remaining words. */
  15914. "21:\n\t"
  15915. "subs x7, x7, 8\n\t"
  15916. "str xzr, [x5], 8\n\t"
  15917. "b.gt 21b\n\t"
  15918. "30:\n\t"
  15919. :
  15920. : [r] "r" (r), [size] "r" (size8), [a] "r" (a), [n] "r" (nl)
  15921. : "memory", "x4", "x5", "x6", "x7", "x8"
  15922. );
  15923. }
  15924. /* Convert an mp_int to an array of sp_digit.
  15925. *
  15926. * r A single precision integer.
  15927. * size Maximum number of bytes to convert
  15928. * a A multi-precision integer.
  15929. */
  15930. static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
  15931. {
  15932. #if DIGIT_BIT == 64
  15933. int j;
  15934. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  15935. for (j = a->used; j < size; j++) {
  15936. r[j] = 0;
  15937. }
  15938. #elif DIGIT_BIT > 64
  15939. int i;
  15940. int j = 0;
  15941. word32 s = 0;
  15942. r[0] = 0;
  15943. for (i = 0; i < a->used && j < size; i++) {
  15944. r[j] |= ((sp_digit)a->dp[i] << s);
  15945. r[j] &= 0xffffffffffffffffl;
  15946. s = 64U - s;
  15947. if (j + 1 >= size) {
  15948. break;
  15949. }
  15950. /* lint allow cast of mismatch word32 and mp_digit */
  15951. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  15952. while ((s + 64U) <= (word32)DIGIT_BIT) {
  15953. s += 64U;
  15954. r[j] &= 0xffffffffffffffffl;
  15955. if (j + 1 >= size) {
  15956. break;
  15957. }
  15958. if (s < (word32)DIGIT_BIT) {
  15959. /* lint allow cast of mismatch word32 and mp_digit */
  15960. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  15961. }
  15962. else {
  15963. r[++j] = (sp_digit)0;
  15964. }
  15965. }
  15966. s = (word32)DIGIT_BIT - s;
  15967. }
  15968. for (j++; j < size; j++) {
  15969. r[j] = 0;
  15970. }
  15971. #else
  15972. int i;
  15973. int j = 0;
  15974. int s = 0;
  15975. r[0] = 0;
  15976. for (i = 0; i < a->used && j < size; i++) {
  15977. r[j] |= ((sp_digit)a->dp[i]) << s;
  15978. if (s + DIGIT_BIT >= 64) {
  15979. r[j] &= 0xffffffffffffffffl;
  15980. if (j + 1 >= size) {
  15981. break;
  15982. }
  15983. s = 64 - s;
  15984. if (s == DIGIT_BIT) {
  15985. r[++j] = 0;
  15986. s = 0;
  15987. }
  15988. else {
  15989. r[++j] = a->dp[i] >> s;
  15990. s = DIGIT_BIT - s;
  15991. }
  15992. }
  15993. else {
  15994. s += DIGIT_BIT;
  15995. }
  15996. }
  15997. for (j++; j < size; j++) {
  15998. r[j] = 0;
  15999. }
  16000. #endif
  16001. }
  16002. /* Write r as big endian to byte array.
  16003. * Fixed length number of bytes written: 512
  16004. *
  16005. * r A single precision integer.
  16006. * a Byte array.
  16007. */
  16008. static void sp_4096_to_bin_64(sp_digit* r, byte* a)
  16009. {
  16010. int i;
  16011. int j = 0;
  16012. for (i = 63; i >= 0; i--, j += 8) {
  16013. __asm__ __volatile__ (
  16014. "ldr x4, [%[r]]\n\t"
  16015. "rev x4, x4\n\t"
  16016. "str x4, [%[a]]\n\t"
  16017. :
  16018. : [r] "r" (r + i), [a] "r" (a + j)
  16019. : "memory", "x4"
  16020. );
  16021. }
  16022. }
  16023. #if (defined(WOLFSSL_HAVE_SP_RSA) && (!defined(WOLFSSL_RSA_PUBLIC_ONLY) || !defined(WOLFSSL_SP_SMALL))) || defined(WOLFSSL_HAVE_SP_DH)
  16024. /* Normalize the values in each word to 64.
  16025. *
  16026. * a Array of sp_digit to normalize.
  16027. */
  16028. #define sp_4096_norm_64(a)
  16029. #endif /* (WOLFSSL_HAVE_SP_RSA && (!WOLFSSL_RSA_PUBLIC_ONLY || !WOLFSSL_SP_SMALL)) || WOLFSSL_HAVE_SP_DH */
  16030. /* Normalize the values in each word to 64.
  16031. *
  16032. * a Array of sp_digit to normalize.
  16033. */
  16034. #define sp_4096_norm_64(a)
  16035. #ifndef WOLFSSL_SP_SMALL
  16036. /* Add digit to a into r. (r = a + b)
  16037. *
  16038. * r A single precision integer.
  16039. * a A single precision integer.
  16040. * b A single precision integer.
  16041. */
  16042. static void sp_4096_add_word_32(sp_digit* r, const sp_digit* a,
  16043. sp_digit b)
  16044. {
  16045. __asm__ __volatile__ (
  16046. "ldp x3, x4, [%[a], 0]\n\t"
  16047. "ldp x5, x6, [%[a], 16]\n\t"
  16048. "adds x3, x3, %[b]\n\t"
  16049. "adcs x4, x4, xzr\n\t"
  16050. "adcs x5, x5, xzr\n\t"
  16051. "stp x3, x4, [%[r], 0]\n\t"
  16052. "adcs x6, x6, xzr\n\t"
  16053. "stp x5, x6, [%[r], 16]\n\t"
  16054. "ldp x3, x4, [%[a], 32]\n\t"
  16055. "ldp x5, x6, [%[a], 48]\n\t"
  16056. "adcs x3, x3, xzr\n\t"
  16057. "adcs x4, x4, xzr\n\t"
  16058. "adcs x5, x5, xzr\n\t"
  16059. "stp x3, x4, [%[r], 32]\n\t"
  16060. "adcs x6, x6, xzr\n\t"
  16061. "stp x5, x6, [%[r], 48]\n\t"
  16062. "ldp x3, x4, [%[a], 64]\n\t"
  16063. "ldp x5, x6, [%[a], 80]\n\t"
  16064. "adcs x3, x3, xzr\n\t"
  16065. "adcs x4, x4, xzr\n\t"
  16066. "adcs x5, x5, xzr\n\t"
  16067. "stp x3, x4, [%[r], 64]\n\t"
  16068. "adcs x6, x6, xzr\n\t"
  16069. "stp x5, x6, [%[r], 80]\n\t"
  16070. "ldp x3, x4, [%[a], 96]\n\t"
  16071. "ldp x5, x6, [%[a], 112]\n\t"
  16072. "adcs x3, x3, xzr\n\t"
  16073. "adcs x4, x4, xzr\n\t"
  16074. "adcs x5, x5, xzr\n\t"
  16075. "stp x3, x4, [%[r], 96]\n\t"
  16076. "adcs x6, x6, xzr\n\t"
  16077. "stp x5, x6, [%[r], 112]\n\t"
  16078. "ldp x3, x4, [%[a], 128]\n\t"
  16079. "ldp x5, x6, [%[a], 144]\n\t"
  16080. "adcs x3, x3, xzr\n\t"
  16081. "adcs x4, x4, xzr\n\t"
  16082. "adcs x5, x5, xzr\n\t"
  16083. "stp x3, x4, [%[r], 128]\n\t"
  16084. "adcs x6, x6, xzr\n\t"
  16085. "stp x5, x6, [%[r], 144]\n\t"
  16086. "ldp x3, x4, [%[a], 160]\n\t"
  16087. "ldp x5, x6, [%[a], 176]\n\t"
  16088. "adcs x3, x3, xzr\n\t"
  16089. "adcs x4, x4, xzr\n\t"
  16090. "adcs x5, x5, xzr\n\t"
  16091. "stp x3, x4, [%[r], 160]\n\t"
  16092. "adcs x6, x6, xzr\n\t"
  16093. "stp x5, x6, [%[r], 176]\n\t"
  16094. "ldp x3, x4, [%[a], 192]\n\t"
  16095. "ldp x5, x6, [%[a], 208]\n\t"
  16096. "adcs x3, x3, xzr\n\t"
  16097. "adcs x4, x4, xzr\n\t"
  16098. "adcs x5, x5, xzr\n\t"
  16099. "stp x3, x4, [%[r], 192]\n\t"
  16100. "adcs x6, x6, xzr\n\t"
  16101. "stp x5, x6, [%[r], 208]\n\t"
  16102. "ldp x3, x4, [%[a], 224]\n\t"
  16103. "ldp x5, x6, [%[a], 240]\n\t"
  16104. "adcs x3, x3, xzr\n\t"
  16105. "adcs x4, x4, xzr\n\t"
  16106. "adcs x5, x5, xzr\n\t"
  16107. "stp x3, x4, [%[r], 224]\n\t"
  16108. "adcs x6, x6, xzr\n\t"
  16109. "stp x5, x6, [%[r], 240]\n\t"
  16110. :
  16111. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  16112. : "memory", "x3", "x4", "x5", "x6"
  16113. );
  16114. }
  16115. /* Sub b from a into a. (a -= b)
  16116. *
  16117. * a A single precision integer and result.
  16118. * b A single precision integer.
  16119. */
  16120. static sp_digit sp_4096_sub_in_place_64(sp_digit* a, const sp_digit* b)
  16121. {
  16122. __asm__ __volatile__ (
  16123. "ldp x2, x3, [%[a], 0]\n\t"
  16124. "ldp x6, x7, [%[b], 0]\n\t"
  16125. "subs x2, x2, x6\n\t"
  16126. "ldp x4, x5, [%[a], 16]\n\t"
  16127. "sbcs x3, x3, x7\n\t"
  16128. "ldp x8, x9, [%[b], 16]\n\t"
  16129. "sbcs x4, x4, x8\n\t"
  16130. "stp x2, x3, [%[a], 0]\n\t"
  16131. "sbcs x5, x5, x9\n\t"
  16132. "stp x4, x5, [%[a], 16]\n\t"
  16133. "ldp x2, x3, [%[a], 32]\n\t"
  16134. "ldp x6, x7, [%[b], 32]\n\t"
  16135. "sbcs x2, x2, x6\n\t"
  16136. "ldp x4, x5, [%[a], 48]\n\t"
  16137. "sbcs x3, x3, x7\n\t"
  16138. "ldp x8, x9, [%[b], 48]\n\t"
  16139. "sbcs x4, x4, x8\n\t"
  16140. "stp x2, x3, [%[a], 32]\n\t"
  16141. "sbcs x5, x5, x9\n\t"
  16142. "stp x4, x5, [%[a], 48]\n\t"
  16143. "ldp x2, x3, [%[a], 64]\n\t"
  16144. "ldp x6, x7, [%[b], 64]\n\t"
  16145. "sbcs x2, x2, x6\n\t"
  16146. "ldp x4, x5, [%[a], 80]\n\t"
  16147. "sbcs x3, x3, x7\n\t"
  16148. "ldp x8, x9, [%[b], 80]\n\t"
  16149. "sbcs x4, x4, x8\n\t"
  16150. "stp x2, x3, [%[a], 64]\n\t"
  16151. "sbcs x5, x5, x9\n\t"
  16152. "stp x4, x5, [%[a], 80]\n\t"
  16153. "ldp x2, x3, [%[a], 96]\n\t"
  16154. "ldp x6, x7, [%[b], 96]\n\t"
  16155. "sbcs x2, x2, x6\n\t"
  16156. "ldp x4, x5, [%[a], 112]\n\t"
  16157. "sbcs x3, x3, x7\n\t"
  16158. "ldp x8, x9, [%[b], 112]\n\t"
  16159. "sbcs x4, x4, x8\n\t"
  16160. "stp x2, x3, [%[a], 96]\n\t"
  16161. "sbcs x5, x5, x9\n\t"
  16162. "stp x4, x5, [%[a], 112]\n\t"
  16163. "ldp x2, x3, [%[a], 128]\n\t"
  16164. "ldp x6, x7, [%[b], 128]\n\t"
  16165. "sbcs x2, x2, x6\n\t"
  16166. "ldp x4, x5, [%[a], 144]\n\t"
  16167. "sbcs x3, x3, x7\n\t"
  16168. "ldp x8, x9, [%[b], 144]\n\t"
  16169. "sbcs x4, x4, x8\n\t"
  16170. "stp x2, x3, [%[a], 128]\n\t"
  16171. "sbcs x5, x5, x9\n\t"
  16172. "stp x4, x5, [%[a], 144]\n\t"
  16173. "ldp x2, x3, [%[a], 160]\n\t"
  16174. "ldp x6, x7, [%[b], 160]\n\t"
  16175. "sbcs x2, x2, x6\n\t"
  16176. "ldp x4, x5, [%[a], 176]\n\t"
  16177. "sbcs x3, x3, x7\n\t"
  16178. "ldp x8, x9, [%[b], 176]\n\t"
  16179. "sbcs x4, x4, x8\n\t"
  16180. "stp x2, x3, [%[a], 160]\n\t"
  16181. "sbcs x5, x5, x9\n\t"
  16182. "stp x4, x5, [%[a], 176]\n\t"
  16183. "ldp x2, x3, [%[a], 192]\n\t"
  16184. "ldp x6, x7, [%[b], 192]\n\t"
  16185. "sbcs x2, x2, x6\n\t"
  16186. "ldp x4, x5, [%[a], 208]\n\t"
  16187. "sbcs x3, x3, x7\n\t"
  16188. "ldp x8, x9, [%[b], 208]\n\t"
  16189. "sbcs x4, x4, x8\n\t"
  16190. "stp x2, x3, [%[a], 192]\n\t"
  16191. "sbcs x5, x5, x9\n\t"
  16192. "stp x4, x5, [%[a], 208]\n\t"
  16193. "ldp x2, x3, [%[a], 224]\n\t"
  16194. "ldp x6, x7, [%[b], 224]\n\t"
  16195. "sbcs x2, x2, x6\n\t"
  16196. "ldp x4, x5, [%[a], 240]\n\t"
  16197. "sbcs x3, x3, x7\n\t"
  16198. "ldp x8, x9, [%[b], 240]\n\t"
  16199. "sbcs x4, x4, x8\n\t"
  16200. "stp x2, x3, [%[a], 224]\n\t"
  16201. "sbcs x5, x5, x9\n\t"
  16202. "stp x4, x5, [%[a], 240]\n\t"
  16203. "ldp x2, x3, [%[a], 256]\n\t"
  16204. "ldp x6, x7, [%[b], 256]\n\t"
  16205. "sbcs x2, x2, x6\n\t"
  16206. "ldp x4, x5, [%[a], 272]\n\t"
  16207. "sbcs x3, x3, x7\n\t"
  16208. "ldp x8, x9, [%[b], 272]\n\t"
  16209. "sbcs x4, x4, x8\n\t"
  16210. "stp x2, x3, [%[a], 256]\n\t"
  16211. "sbcs x5, x5, x9\n\t"
  16212. "stp x4, x5, [%[a], 272]\n\t"
  16213. "ldp x2, x3, [%[a], 288]\n\t"
  16214. "ldp x6, x7, [%[b], 288]\n\t"
  16215. "sbcs x2, x2, x6\n\t"
  16216. "ldp x4, x5, [%[a], 304]\n\t"
  16217. "sbcs x3, x3, x7\n\t"
  16218. "ldp x8, x9, [%[b], 304]\n\t"
  16219. "sbcs x4, x4, x8\n\t"
  16220. "stp x2, x3, [%[a], 288]\n\t"
  16221. "sbcs x5, x5, x9\n\t"
  16222. "stp x4, x5, [%[a], 304]\n\t"
  16223. "ldp x2, x3, [%[a], 320]\n\t"
  16224. "ldp x6, x7, [%[b], 320]\n\t"
  16225. "sbcs x2, x2, x6\n\t"
  16226. "ldp x4, x5, [%[a], 336]\n\t"
  16227. "sbcs x3, x3, x7\n\t"
  16228. "ldp x8, x9, [%[b], 336]\n\t"
  16229. "sbcs x4, x4, x8\n\t"
  16230. "stp x2, x3, [%[a], 320]\n\t"
  16231. "sbcs x5, x5, x9\n\t"
  16232. "stp x4, x5, [%[a], 336]\n\t"
  16233. "ldp x2, x3, [%[a], 352]\n\t"
  16234. "ldp x6, x7, [%[b], 352]\n\t"
  16235. "sbcs x2, x2, x6\n\t"
  16236. "ldp x4, x5, [%[a], 368]\n\t"
  16237. "sbcs x3, x3, x7\n\t"
  16238. "ldp x8, x9, [%[b], 368]\n\t"
  16239. "sbcs x4, x4, x8\n\t"
  16240. "stp x2, x3, [%[a], 352]\n\t"
  16241. "sbcs x5, x5, x9\n\t"
  16242. "stp x4, x5, [%[a], 368]\n\t"
  16243. "ldp x2, x3, [%[a], 384]\n\t"
  16244. "ldp x6, x7, [%[b], 384]\n\t"
  16245. "sbcs x2, x2, x6\n\t"
  16246. "ldp x4, x5, [%[a], 400]\n\t"
  16247. "sbcs x3, x3, x7\n\t"
  16248. "ldp x8, x9, [%[b], 400]\n\t"
  16249. "sbcs x4, x4, x8\n\t"
  16250. "stp x2, x3, [%[a], 384]\n\t"
  16251. "sbcs x5, x5, x9\n\t"
  16252. "stp x4, x5, [%[a], 400]\n\t"
  16253. "ldp x2, x3, [%[a], 416]\n\t"
  16254. "ldp x6, x7, [%[b], 416]\n\t"
  16255. "sbcs x2, x2, x6\n\t"
  16256. "ldp x4, x5, [%[a], 432]\n\t"
  16257. "sbcs x3, x3, x7\n\t"
  16258. "ldp x8, x9, [%[b], 432]\n\t"
  16259. "sbcs x4, x4, x8\n\t"
  16260. "stp x2, x3, [%[a], 416]\n\t"
  16261. "sbcs x5, x5, x9\n\t"
  16262. "stp x4, x5, [%[a], 432]\n\t"
  16263. "ldp x2, x3, [%[a], 448]\n\t"
  16264. "ldp x6, x7, [%[b], 448]\n\t"
  16265. "sbcs x2, x2, x6\n\t"
  16266. "ldp x4, x5, [%[a], 464]\n\t"
  16267. "sbcs x3, x3, x7\n\t"
  16268. "ldp x8, x9, [%[b], 464]\n\t"
  16269. "sbcs x4, x4, x8\n\t"
  16270. "stp x2, x3, [%[a], 448]\n\t"
  16271. "sbcs x5, x5, x9\n\t"
  16272. "stp x4, x5, [%[a], 464]\n\t"
  16273. "ldp x2, x3, [%[a], 480]\n\t"
  16274. "ldp x6, x7, [%[b], 480]\n\t"
  16275. "sbcs x2, x2, x6\n\t"
  16276. "ldp x4, x5, [%[a], 496]\n\t"
  16277. "sbcs x3, x3, x7\n\t"
  16278. "ldp x8, x9, [%[b], 496]\n\t"
  16279. "sbcs x4, x4, x8\n\t"
  16280. "stp x2, x3, [%[a], 480]\n\t"
  16281. "sbcs x5, x5, x9\n\t"
  16282. "stp x4, x5, [%[a], 496]\n\t"
  16283. "csetm %[a], cc\n\t"
  16284. : [a] "+r" (a)
  16285. : [b] "r" (b)
  16286. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  16287. );
  16288. return (sp_digit)a;
  16289. }
  16290. /* Add b to a into r. (r = a + b)
  16291. *
  16292. * r A single precision integer.
  16293. * a A single precision integer.
  16294. * b A single precision integer.
  16295. */
  16296. static sp_digit sp_4096_add_64(sp_digit* r, const sp_digit* a,
  16297. const sp_digit* b)
  16298. {
  16299. __asm__ __volatile__ (
  16300. "ldp x3, x4, [%[a], 0]\n\t"
  16301. "ldp x7, x8, [%[b], 0]\n\t"
  16302. "adds x3, x3, x7\n\t"
  16303. "ldp x5, x6, [%[a], 16]\n\t"
  16304. "adcs x4, x4, x8\n\t"
  16305. "ldp x9, x10, [%[b], 16]\n\t"
  16306. "adcs x5, x5, x9\n\t"
  16307. "stp x3, x4, [%[r], 0]\n\t"
  16308. "adcs x6, x6, x10\n\t"
  16309. "stp x5, x6, [%[r], 16]\n\t"
  16310. "ldp x3, x4, [%[a], 32]\n\t"
  16311. "ldp x7, x8, [%[b], 32]\n\t"
  16312. "adcs x3, x3, x7\n\t"
  16313. "ldp x5, x6, [%[a], 48]\n\t"
  16314. "adcs x4, x4, x8\n\t"
  16315. "ldp x9, x10, [%[b], 48]\n\t"
  16316. "adcs x5, x5, x9\n\t"
  16317. "stp x3, x4, [%[r], 32]\n\t"
  16318. "adcs x6, x6, x10\n\t"
  16319. "stp x5, x6, [%[r], 48]\n\t"
  16320. "ldp x3, x4, [%[a], 64]\n\t"
  16321. "ldp x7, x8, [%[b], 64]\n\t"
  16322. "adcs x3, x3, x7\n\t"
  16323. "ldp x5, x6, [%[a], 80]\n\t"
  16324. "adcs x4, x4, x8\n\t"
  16325. "ldp x9, x10, [%[b], 80]\n\t"
  16326. "adcs x5, x5, x9\n\t"
  16327. "stp x3, x4, [%[r], 64]\n\t"
  16328. "adcs x6, x6, x10\n\t"
  16329. "stp x5, x6, [%[r], 80]\n\t"
  16330. "ldp x3, x4, [%[a], 96]\n\t"
  16331. "ldp x7, x8, [%[b], 96]\n\t"
  16332. "adcs x3, x3, x7\n\t"
  16333. "ldp x5, x6, [%[a], 112]\n\t"
  16334. "adcs x4, x4, x8\n\t"
  16335. "ldp x9, x10, [%[b], 112]\n\t"
  16336. "adcs x5, x5, x9\n\t"
  16337. "stp x3, x4, [%[r], 96]\n\t"
  16338. "adcs x6, x6, x10\n\t"
  16339. "stp x5, x6, [%[r], 112]\n\t"
  16340. "ldp x3, x4, [%[a], 128]\n\t"
  16341. "ldp x7, x8, [%[b], 128]\n\t"
  16342. "adcs x3, x3, x7\n\t"
  16343. "ldp x5, x6, [%[a], 144]\n\t"
  16344. "adcs x4, x4, x8\n\t"
  16345. "ldp x9, x10, [%[b], 144]\n\t"
  16346. "adcs x5, x5, x9\n\t"
  16347. "stp x3, x4, [%[r], 128]\n\t"
  16348. "adcs x6, x6, x10\n\t"
  16349. "stp x5, x6, [%[r], 144]\n\t"
  16350. "ldp x3, x4, [%[a], 160]\n\t"
  16351. "ldp x7, x8, [%[b], 160]\n\t"
  16352. "adcs x3, x3, x7\n\t"
  16353. "ldp x5, x6, [%[a], 176]\n\t"
  16354. "adcs x4, x4, x8\n\t"
  16355. "ldp x9, x10, [%[b], 176]\n\t"
  16356. "adcs x5, x5, x9\n\t"
  16357. "stp x3, x4, [%[r], 160]\n\t"
  16358. "adcs x6, x6, x10\n\t"
  16359. "stp x5, x6, [%[r], 176]\n\t"
  16360. "ldp x3, x4, [%[a], 192]\n\t"
  16361. "ldp x7, x8, [%[b], 192]\n\t"
  16362. "adcs x3, x3, x7\n\t"
  16363. "ldp x5, x6, [%[a], 208]\n\t"
  16364. "adcs x4, x4, x8\n\t"
  16365. "ldp x9, x10, [%[b], 208]\n\t"
  16366. "adcs x5, x5, x9\n\t"
  16367. "stp x3, x4, [%[r], 192]\n\t"
  16368. "adcs x6, x6, x10\n\t"
  16369. "stp x5, x6, [%[r], 208]\n\t"
  16370. "ldp x3, x4, [%[a], 224]\n\t"
  16371. "ldp x7, x8, [%[b], 224]\n\t"
  16372. "adcs x3, x3, x7\n\t"
  16373. "ldp x5, x6, [%[a], 240]\n\t"
  16374. "adcs x4, x4, x8\n\t"
  16375. "ldp x9, x10, [%[b], 240]\n\t"
  16376. "adcs x5, x5, x9\n\t"
  16377. "stp x3, x4, [%[r], 224]\n\t"
  16378. "adcs x6, x6, x10\n\t"
  16379. "stp x5, x6, [%[r], 240]\n\t"
  16380. "ldp x3, x4, [%[a], 256]\n\t"
  16381. "ldp x7, x8, [%[b], 256]\n\t"
  16382. "adcs x3, x3, x7\n\t"
  16383. "ldp x5, x6, [%[a], 272]\n\t"
  16384. "adcs x4, x4, x8\n\t"
  16385. "ldp x9, x10, [%[b], 272]\n\t"
  16386. "adcs x5, x5, x9\n\t"
  16387. "stp x3, x4, [%[r], 256]\n\t"
  16388. "adcs x6, x6, x10\n\t"
  16389. "stp x5, x6, [%[r], 272]\n\t"
  16390. "ldp x3, x4, [%[a], 288]\n\t"
  16391. "ldp x7, x8, [%[b], 288]\n\t"
  16392. "adcs x3, x3, x7\n\t"
  16393. "ldp x5, x6, [%[a], 304]\n\t"
  16394. "adcs x4, x4, x8\n\t"
  16395. "ldp x9, x10, [%[b], 304]\n\t"
  16396. "adcs x5, x5, x9\n\t"
  16397. "stp x3, x4, [%[r], 288]\n\t"
  16398. "adcs x6, x6, x10\n\t"
  16399. "stp x5, x6, [%[r], 304]\n\t"
  16400. "ldp x3, x4, [%[a], 320]\n\t"
  16401. "ldp x7, x8, [%[b], 320]\n\t"
  16402. "adcs x3, x3, x7\n\t"
  16403. "ldp x5, x6, [%[a], 336]\n\t"
  16404. "adcs x4, x4, x8\n\t"
  16405. "ldp x9, x10, [%[b], 336]\n\t"
  16406. "adcs x5, x5, x9\n\t"
  16407. "stp x3, x4, [%[r], 320]\n\t"
  16408. "adcs x6, x6, x10\n\t"
  16409. "stp x5, x6, [%[r], 336]\n\t"
  16410. "ldp x3, x4, [%[a], 352]\n\t"
  16411. "ldp x7, x8, [%[b], 352]\n\t"
  16412. "adcs x3, x3, x7\n\t"
  16413. "ldp x5, x6, [%[a], 368]\n\t"
  16414. "adcs x4, x4, x8\n\t"
  16415. "ldp x9, x10, [%[b], 368]\n\t"
  16416. "adcs x5, x5, x9\n\t"
  16417. "stp x3, x4, [%[r], 352]\n\t"
  16418. "adcs x6, x6, x10\n\t"
  16419. "stp x5, x6, [%[r], 368]\n\t"
  16420. "ldp x3, x4, [%[a], 384]\n\t"
  16421. "ldp x7, x8, [%[b], 384]\n\t"
  16422. "adcs x3, x3, x7\n\t"
  16423. "ldp x5, x6, [%[a], 400]\n\t"
  16424. "adcs x4, x4, x8\n\t"
  16425. "ldp x9, x10, [%[b], 400]\n\t"
  16426. "adcs x5, x5, x9\n\t"
  16427. "stp x3, x4, [%[r], 384]\n\t"
  16428. "adcs x6, x6, x10\n\t"
  16429. "stp x5, x6, [%[r], 400]\n\t"
  16430. "ldp x3, x4, [%[a], 416]\n\t"
  16431. "ldp x7, x8, [%[b], 416]\n\t"
  16432. "adcs x3, x3, x7\n\t"
  16433. "ldp x5, x6, [%[a], 432]\n\t"
  16434. "adcs x4, x4, x8\n\t"
  16435. "ldp x9, x10, [%[b], 432]\n\t"
  16436. "adcs x5, x5, x9\n\t"
  16437. "stp x3, x4, [%[r], 416]\n\t"
  16438. "adcs x6, x6, x10\n\t"
  16439. "stp x5, x6, [%[r], 432]\n\t"
  16440. "ldp x3, x4, [%[a], 448]\n\t"
  16441. "ldp x7, x8, [%[b], 448]\n\t"
  16442. "adcs x3, x3, x7\n\t"
  16443. "ldp x5, x6, [%[a], 464]\n\t"
  16444. "adcs x4, x4, x8\n\t"
  16445. "ldp x9, x10, [%[b], 464]\n\t"
  16446. "adcs x5, x5, x9\n\t"
  16447. "stp x3, x4, [%[r], 448]\n\t"
  16448. "adcs x6, x6, x10\n\t"
  16449. "stp x5, x6, [%[r], 464]\n\t"
  16450. "ldp x3, x4, [%[a], 480]\n\t"
  16451. "ldp x7, x8, [%[b], 480]\n\t"
  16452. "adcs x3, x3, x7\n\t"
  16453. "ldp x5, x6, [%[a], 496]\n\t"
  16454. "adcs x4, x4, x8\n\t"
  16455. "ldp x9, x10, [%[b], 496]\n\t"
  16456. "adcs x5, x5, x9\n\t"
  16457. "stp x3, x4, [%[r], 480]\n\t"
  16458. "adcs x6, x6, x10\n\t"
  16459. "stp x5, x6, [%[r], 496]\n\t"
  16460. "cset %[r], cs\n\t"
  16461. : [r] "+r" (r)
  16462. : [a] "r" (a), [b] "r" (b)
  16463. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  16464. );
  16465. return (sp_digit)r;
  16466. }
  16467. #ifndef WOLFSSL_SP_SMALL
  16468. /* Conditionally add a and b using the mask m.
  16469. * m is -1 to add and 0 when not.
  16470. *
  16471. * r A single precision number representing conditional add result.
  16472. * a A single precision number to add with.
  16473. * b A single precision number to add.
  16474. * m Mask value to apply.
  16475. */
  16476. static sp_digit sp_4096_cond_add_32(sp_digit* r, const sp_digit* a, const sp_digit* b,
  16477. sp_digit m)
  16478. {
  16479. __asm__ __volatile__ (
  16480. "ldp x8, x9, [%[b], 0]\n\t"
  16481. "ldp x10, x11, [%[b], 16]\n\t"
  16482. "ldp x4, x5, [%[a], 0]\n\t"
  16483. "and x8, x8, %[m]\n\t"
  16484. "ldp x6, x7, [%[a], 16]\n\t"
  16485. "and x9, x9, %[m]\n\t"
  16486. "adds x4, x4, x8\n\t"
  16487. "and x10, x10, %[m]\n\t"
  16488. "adcs x5, x5, x9\n\t"
  16489. "and x11, x11, %[m]\n\t"
  16490. "adcs x6, x6, x10\n\t"
  16491. "stp x4, x5, [%[r], 0]\n\t"
  16492. "adcs x7, x7, x11\n\t"
  16493. "stp x6, x7, [%[r], 16]\n\t"
  16494. "ldp x8, x9, [%[b], 32]\n\t"
  16495. "ldp x10, x11, [%[b], 48]\n\t"
  16496. "ldp x4, x5, [%[a], 32]\n\t"
  16497. "and x8, x8, %[m]\n\t"
  16498. "ldp x6, x7, [%[a], 48]\n\t"
  16499. "and x9, x9, %[m]\n\t"
  16500. "adcs x4, x4, x8\n\t"
  16501. "and x10, x10, %[m]\n\t"
  16502. "adcs x5, x5, x9\n\t"
  16503. "and x11, x11, %[m]\n\t"
  16504. "adcs x6, x6, x10\n\t"
  16505. "stp x4, x5, [%[r], 32]\n\t"
  16506. "adcs x7, x7, x11\n\t"
  16507. "stp x6, x7, [%[r], 48]\n\t"
  16508. "ldp x8, x9, [%[b], 64]\n\t"
  16509. "ldp x10, x11, [%[b], 80]\n\t"
  16510. "ldp x4, x5, [%[a], 64]\n\t"
  16511. "and x8, x8, %[m]\n\t"
  16512. "ldp x6, x7, [%[a], 80]\n\t"
  16513. "and x9, x9, %[m]\n\t"
  16514. "adcs x4, x4, x8\n\t"
  16515. "and x10, x10, %[m]\n\t"
  16516. "adcs x5, x5, x9\n\t"
  16517. "and x11, x11, %[m]\n\t"
  16518. "adcs x6, x6, x10\n\t"
  16519. "stp x4, x5, [%[r], 64]\n\t"
  16520. "adcs x7, x7, x11\n\t"
  16521. "stp x6, x7, [%[r], 80]\n\t"
  16522. "ldp x8, x9, [%[b], 96]\n\t"
  16523. "ldp x10, x11, [%[b], 112]\n\t"
  16524. "ldp x4, x5, [%[a], 96]\n\t"
  16525. "and x8, x8, %[m]\n\t"
  16526. "ldp x6, x7, [%[a], 112]\n\t"
  16527. "and x9, x9, %[m]\n\t"
  16528. "adcs x4, x4, x8\n\t"
  16529. "and x10, x10, %[m]\n\t"
  16530. "adcs x5, x5, x9\n\t"
  16531. "and x11, x11, %[m]\n\t"
  16532. "adcs x6, x6, x10\n\t"
  16533. "stp x4, x5, [%[r], 96]\n\t"
  16534. "adcs x7, x7, x11\n\t"
  16535. "stp x6, x7, [%[r], 112]\n\t"
  16536. "ldp x8, x9, [%[b], 128]\n\t"
  16537. "ldp x10, x11, [%[b], 144]\n\t"
  16538. "ldp x4, x5, [%[a], 128]\n\t"
  16539. "and x8, x8, %[m]\n\t"
  16540. "ldp x6, x7, [%[a], 144]\n\t"
  16541. "and x9, x9, %[m]\n\t"
  16542. "adcs x4, x4, x8\n\t"
  16543. "and x10, x10, %[m]\n\t"
  16544. "adcs x5, x5, x9\n\t"
  16545. "and x11, x11, %[m]\n\t"
  16546. "adcs x6, x6, x10\n\t"
  16547. "stp x4, x5, [%[r], 128]\n\t"
  16548. "adcs x7, x7, x11\n\t"
  16549. "stp x6, x7, [%[r], 144]\n\t"
  16550. "ldp x8, x9, [%[b], 160]\n\t"
  16551. "ldp x10, x11, [%[b], 176]\n\t"
  16552. "ldp x4, x5, [%[a], 160]\n\t"
  16553. "and x8, x8, %[m]\n\t"
  16554. "ldp x6, x7, [%[a], 176]\n\t"
  16555. "and x9, x9, %[m]\n\t"
  16556. "adcs x4, x4, x8\n\t"
  16557. "and x10, x10, %[m]\n\t"
  16558. "adcs x5, x5, x9\n\t"
  16559. "and x11, x11, %[m]\n\t"
  16560. "adcs x6, x6, x10\n\t"
  16561. "stp x4, x5, [%[r], 160]\n\t"
  16562. "adcs x7, x7, x11\n\t"
  16563. "stp x6, x7, [%[r], 176]\n\t"
  16564. "ldp x8, x9, [%[b], 192]\n\t"
  16565. "ldp x10, x11, [%[b], 208]\n\t"
  16566. "ldp x4, x5, [%[a], 192]\n\t"
  16567. "and x8, x8, %[m]\n\t"
  16568. "ldp x6, x7, [%[a], 208]\n\t"
  16569. "and x9, x9, %[m]\n\t"
  16570. "adcs x4, x4, x8\n\t"
  16571. "and x10, x10, %[m]\n\t"
  16572. "adcs x5, x5, x9\n\t"
  16573. "and x11, x11, %[m]\n\t"
  16574. "adcs x6, x6, x10\n\t"
  16575. "stp x4, x5, [%[r], 192]\n\t"
  16576. "adcs x7, x7, x11\n\t"
  16577. "stp x6, x7, [%[r], 208]\n\t"
  16578. "ldp x8, x9, [%[b], 224]\n\t"
  16579. "ldp x10, x11, [%[b], 240]\n\t"
  16580. "ldp x4, x5, [%[a], 224]\n\t"
  16581. "and x8, x8, %[m]\n\t"
  16582. "ldp x6, x7, [%[a], 240]\n\t"
  16583. "and x9, x9, %[m]\n\t"
  16584. "adcs x4, x4, x8\n\t"
  16585. "and x10, x10, %[m]\n\t"
  16586. "adcs x5, x5, x9\n\t"
  16587. "and x11, x11, %[m]\n\t"
  16588. "adcs x6, x6, x10\n\t"
  16589. "stp x4, x5, [%[r], 224]\n\t"
  16590. "adcs x7, x7, x11\n\t"
  16591. "stp x6, x7, [%[r], 240]\n\t"
  16592. "cset %[r], cs\n\t"
  16593. : [r] "+r" (r)
  16594. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  16595. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  16596. );
  16597. return (sp_digit)r;
  16598. }
  16599. #endif /* !WOLFSSL_SP_SMALL */
  16600. /* Multiply a and b into r. (r = a * b)
  16601. *
  16602. * r A single precision integer.
  16603. * a A single precision integer.
  16604. * b A single precision integer.
  16605. */
  16606. SP_NOINLINE static void sp_4096_mul_64(sp_digit* r, const sp_digit* a,
  16607. const sp_digit* b)
  16608. {
  16609. sp_digit* z0 = r;
  16610. sp_digit z1[64];
  16611. sp_digit a1[32];
  16612. sp_digit b1[32];
  16613. sp_digit* z2 = r + 64;
  16614. sp_digit u;
  16615. sp_digit ca;
  16616. sp_digit cb;
  16617. ca = sp_2048_add_32(a1, a, &a[32]);
  16618. cb = sp_2048_add_32(b1, b, &b[32]);
  16619. u = ca & cb;
  16620. sp_2048_mul_32(z2, &a[32], &b[32]);
  16621. sp_2048_mul_32(z0, a, b);
  16622. sp_2048_mul_32(z1, a1, b1);
  16623. u += sp_4096_sub_in_place_64(z1, z0);
  16624. u += sp_4096_sub_in_place_64(z1, z2);
  16625. u += sp_4096_cond_add_32(z1 + 32, z1 + 32, a1, 0 - cb);
  16626. u += sp_4096_cond_add_32(z1 + 32, z1 + 32, b1, 0 - ca);
  16627. u += sp_4096_add_64(r + 32, r + 32, z1);
  16628. (void)sp_4096_add_word_32(r + 96, r + 96, u);
  16629. }
  16630. /* Square a and put result in r. (r = a * a)
  16631. *
  16632. * r A single precision integer.
  16633. * a A single precision integer.
  16634. */
  16635. SP_NOINLINE static void sp_4096_sqr_64(sp_digit* r, const sp_digit* a)
  16636. {
  16637. sp_digit* z0 = r;
  16638. sp_digit* z2 = r + 64;
  16639. sp_digit z1[64];
  16640. sp_digit* a1 = z1;
  16641. sp_digit* zero = z1 + 32;
  16642. sp_digit u;
  16643. sp_digit mask;
  16644. sp_digit* p1;
  16645. sp_digit* p2;
  16646. XMEMSET(zero, 0, sizeof(sp_digit) * 32);
  16647. mask = sp_2048_sub_32(a1, a, &a[32]);
  16648. p1 = (sp_digit*)(((sp_digit)zero & mask ) | ((sp_digit)a1 & (~mask)));
  16649. p2 = (sp_digit*)(((sp_digit)zero & (~mask)) | ((sp_digit)a1 & mask ));
  16650. (void)sp_2048_sub_32(a1, p1, p2);
  16651. sp_2048_sqr_32(z2, &a[32]);
  16652. sp_2048_sqr_32(z0, a);
  16653. sp_2048_sqr_32(z1, a1);
  16654. u = 0;
  16655. u -= sp_4096_sub_in_place_64(z1, z2);
  16656. u -= sp_4096_sub_in_place_64(z1, z0);
  16657. u += sp_4096_sub_in_place_64(r + 32, z1);
  16658. sp_4096_add_word_32(r + 96, r + 96, u);
  16659. }
  16660. #endif /* !WOLFSSL_SP_SMALL */
  16661. #ifdef WOLFSSL_SP_SMALL
  16662. /* Add b to a into r. (r = a + b)
  16663. *
  16664. * r A single precision integer.
  16665. * a A single precision integer.
  16666. * b A single precision integer.
  16667. */
  16668. static sp_digit sp_4096_add_64(sp_digit* r, const sp_digit* a,
  16669. const sp_digit* b)
  16670. {
  16671. sp_digit c = 0;
  16672. __asm__ __volatile__ (
  16673. "add x11, %[a], 512\n\t"
  16674. "\n1:\n\t"
  16675. "adds %[c], %[c], #-1\n\t"
  16676. "ldp x3, x4, [%[a]], #16\n\t"
  16677. "ldp x5, x6, [%[a]], #16\n\t"
  16678. "ldp x7, x8, [%[b]], #16\n\t"
  16679. "adcs x3, x3, x7\n\t"
  16680. "ldp x9, x10, [%[b]], #16\n\t"
  16681. "adcs x4, x4, x8\n\t"
  16682. "adcs x5, x5, x9\n\t"
  16683. "stp x3, x4, [%[r]], #16\n\t"
  16684. "adcs x6, x6, x10\n\t"
  16685. "stp x5, x6, [%[r]], #16\n\t"
  16686. "cset %[c], cs\n\t"
  16687. "cmp %[a], x11\n\t"
  16688. "b.ne 1b\n\t"
  16689. : [c] "+r" (c), [r] "+r" (r), [a] "+r" (a), [b] "+r" (b)
  16690. :
  16691. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  16692. );
  16693. return c;
  16694. }
  16695. #endif /* WOLFSSL_SP_SMALL */
  16696. #ifdef WOLFSSL_SP_SMALL
  16697. /* Sub b from a into a. (a -= b)
  16698. *
  16699. * a A single precision integer.
  16700. * b A single precision integer.
  16701. */
  16702. static sp_digit sp_4096_sub_in_place_64(sp_digit* a, const sp_digit* b)
  16703. {
  16704. sp_digit c = 0;
  16705. __asm__ __volatile__ (
  16706. "add x10, %[a], 512\n\t"
  16707. "\n1:\n\t"
  16708. "subs %[c], xzr, %[c]\n\t"
  16709. "ldp x2, x3, [%[a]]\n\t"
  16710. "ldp x4, x5, [%[a], #16]\n\t"
  16711. "ldp x6, x7, [%[b]], #16\n\t"
  16712. "sbcs x2, x2, x6\n\t"
  16713. "ldp x8, x9, [%[b]], #16\n\t"
  16714. "sbcs x3, x3, x7\n\t"
  16715. "sbcs x4, x4, x8\n\t"
  16716. "stp x2, x3, [%[a]], #16\n\t"
  16717. "sbcs x5, x5, x9\n\t"
  16718. "stp x4, x5, [%[a]], #16\n\t"
  16719. "csetm %[c], cc\n\t"
  16720. "cmp %[a], x10\n\t"
  16721. "b.ne 1b\n\t"
  16722. : [c] "+r" (c), [a] "+r" (a), [b] "+r" (b)
  16723. :
  16724. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  16725. );
  16726. return c;
  16727. }
  16728. #endif /* WOLFSSL_SP_SMALL */
  16729. #ifdef WOLFSSL_SP_SMALL
  16730. /* Multiply a and b into r. (r = a * b)
  16731. *
  16732. * r A single precision integer.
  16733. * a A single precision integer.
  16734. * b A single precision integer.
  16735. */
  16736. static void sp_4096_mul_64(sp_digit* r, const sp_digit* a, const sp_digit* b)
  16737. {
  16738. sp_digit tmp[128];
  16739. __asm__ __volatile__ (
  16740. "mov x5, xzr\n\t"
  16741. "mov x6, xzr\n\t"
  16742. "mov x7, xzr\n\t"
  16743. "mov x8, xzr\n\t"
  16744. "\n1:\n\t"
  16745. "subs x3, x5, 504\n\t"
  16746. "csel x3, xzr, x3, cc\n\t"
  16747. "sub x4, x5, x3\n\t"
  16748. "\n2:\n\t"
  16749. "ldr x10, [%[a], x3]\n\t"
  16750. "ldr x11, [%[b], x4]\n\t"
  16751. "mul x9, x10, x11\n\t"
  16752. "umulh x10, x10, x11\n\t"
  16753. "adds x6, x6, x9\n\t"
  16754. "adcs x7, x7, x10\n\t"
  16755. "adc x8, x8, xzr\n\t"
  16756. "add x3, x3, #8\n\t"
  16757. "sub x4, x4, #8\n\t"
  16758. "cmp x3, 512\n\t"
  16759. "b.eq 3f\n\t"
  16760. "cmp x3, x5\n\t"
  16761. "b.le 2b\n\t"
  16762. "\n3:\n\t"
  16763. "str x6, [%[r], x5]\n\t"
  16764. "mov x6, x7\n\t"
  16765. "mov x7, x8\n\t"
  16766. "mov x8, #0\n\t"
  16767. "add x5, x5, #8\n\t"
  16768. "cmp x5, 1008\n\t"
  16769. "b.le 1b\n\t"
  16770. "str x6, [%[r], x5]\n\t"
  16771. :
  16772. : [r] "r" (tmp), [a] "r" (a), [b] "r" (b)
  16773. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  16774. );
  16775. XMEMCPY(r, tmp, sizeof(tmp));
  16776. }
  16777. /* Square a and put result in r. (r = a * a)
  16778. *
  16779. * r A single precision integer.
  16780. * a A single precision integer.
  16781. */
  16782. static void sp_4096_sqr_64(sp_digit* r, const sp_digit* a)
  16783. {
  16784. sp_digit tmp[128];
  16785. __asm__ __volatile__ (
  16786. "mov x6, xzr\n\t"
  16787. "mov x7, xzr\n\t"
  16788. "mov x8, xzr\n\t"
  16789. "mov x5, xzr\n\t"
  16790. "\n1:\n\t"
  16791. "subs x3, x5, 504\n\t"
  16792. "csel x3, xzr, x3, cc\n\t"
  16793. "sub x4, x5, x3\n\t"
  16794. "\n2:\n\t"
  16795. "cmp x4, x3\n\t"
  16796. "b.eq 4f\n\t"
  16797. "ldr x10, [%[a], x3]\n\t"
  16798. "ldr x11, [%[a], x4]\n\t"
  16799. "mul x9, x10, x11\n\t"
  16800. "umulh x10, x10, x11\n\t"
  16801. "adds x6, x6, x9\n\t"
  16802. "adcs x7, x7, x10\n\t"
  16803. "adc x8, x8, xzr\n\t"
  16804. "adds x6, x6, x9\n\t"
  16805. "adcs x7, x7, x10\n\t"
  16806. "adc x8, x8, xzr\n\t"
  16807. "b.al 5f\n\t"
  16808. "\n4:\n\t"
  16809. "ldr x10, [%[a], x3]\n\t"
  16810. "mul x9, x10, x10\n\t"
  16811. "umulh x10, x10, x10\n\t"
  16812. "adds x6, x6, x9\n\t"
  16813. "adcs x7, x7, x10\n\t"
  16814. "adc x8, x8, xzr\n\t"
  16815. "\n5:\n\t"
  16816. "add x3, x3, #8\n\t"
  16817. "sub x4, x4, #8\n\t"
  16818. "cmp x3, 512\n\t"
  16819. "b.eq 3f\n\t"
  16820. "cmp x3, x4\n\t"
  16821. "b.gt 3f\n\t"
  16822. "cmp x3, x5\n\t"
  16823. "b.le 2b\n\t"
  16824. "\n3:\n\t"
  16825. "str x6, [%[r], x5]\n\t"
  16826. "mov x6, x7\n\t"
  16827. "mov x7, x8\n\t"
  16828. "mov x8, #0\n\t"
  16829. "add x5, x5, #8\n\t"
  16830. "cmp x5, 1008\n\t"
  16831. "b.le 1b\n\t"
  16832. "str x6, [%[r], x5]\n\t"
  16833. :
  16834. : [r] "r" (tmp), [a] "r" (a)
  16835. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  16836. );
  16837. XMEMCPY(r, tmp, sizeof(tmp));
  16838. }
  16839. #endif /* WOLFSSL_SP_SMALL */
  16840. /* Caclulate the bottom digit of -1/a mod 2^n.
  16841. *
  16842. * a A single precision number.
  16843. * rho Bottom word of inverse.
  16844. */
  16845. static void sp_4096_mont_setup(const sp_digit* a, sp_digit* rho)
  16846. {
  16847. sp_digit x;
  16848. sp_digit b;
  16849. b = a[0];
  16850. x = (((b + 2) & 4) << 1) + b; /* here x*a==1 mod 2**4 */
  16851. x *= 2 - b * x; /* here x*a==1 mod 2**8 */
  16852. x *= 2 - b * x; /* here x*a==1 mod 2**16 */
  16853. x *= 2 - b * x; /* here x*a==1 mod 2**32 */
  16854. x *= 2 - b * x; /* here x*a==1 mod 2**64 */
  16855. /* rho = -1/m mod b */
  16856. *rho = (sp_digit)0 - x;
  16857. }
  16858. /* Mul a by digit b into r. (r = a * b)
  16859. *
  16860. * r A single precision integer.
  16861. * a A single precision integer.
  16862. * b A single precision digit.
  16863. */
  16864. static void sp_4096_mul_d_64(sp_digit* r, const sp_digit* a,
  16865. sp_digit b)
  16866. {
  16867. #ifdef WOLFSSL_SP_SMALL
  16868. __asm__ __volatile__ (
  16869. "# A[0] * B\n\t"
  16870. "ldr x8, [%[a]]\n\t"
  16871. "mul x5, %[b], x8\n\t"
  16872. "umulh x3, %[b], x8\n\t"
  16873. "mov x4, xzr\n\t"
  16874. "str x5, [%[r]]\n\t"
  16875. "mov x5, xzr\n\t"
  16876. "mov x9, #8\n\t"
  16877. "1:\n\t"
  16878. "ldr x8, [%[a], x9]\n\t"
  16879. "mul x6, %[b], x8\n\t"
  16880. "umulh x7, %[b], x8\n\t"
  16881. "adds x3, x3, x6\n\t"
  16882. "adcs x4, x4, x7\n\t"
  16883. "adc x5, xzr, xzr\n\t"
  16884. "str x3, [%[r], x9]\n\t"
  16885. "mov x3, x4\n\t"
  16886. "mov x4, x5\n\t"
  16887. "mov x5, #0\n\t"
  16888. "add x9, x9, #8\n\t"
  16889. "cmp x9, 512\n\t"
  16890. "b.lt 1b\n\t"
  16891. "str x3, [%[r], 512]\n\t"
  16892. :
  16893. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  16894. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  16895. );
  16896. #else
  16897. __asm__ __volatile__ (
  16898. "# A[0] * B\n\t"
  16899. "ldp x9, x10, [%[a]]\n\t"
  16900. "mul x3, %[b], x9\n\t"
  16901. "umulh x4, %[b], x9\n\t"
  16902. "mov x5, xzr\n\t"
  16903. "# A[1] * B\n\t"
  16904. "str x3, [%[r]]\n\t"
  16905. "mul x6, %[b], x10\n\t"
  16906. "mov x3, xzr\n\t"
  16907. "umulh x7, %[b], x10\n\t"
  16908. "adds x4, x4, x6\n\t"
  16909. "# A[2] * B\n\t"
  16910. "ldp x9, x10, [%[a], 16]\n\t"
  16911. "str x4, [%[r], 8]\n\t"
  16912. "adcs x5, x5, x7\n\t"
  16913. "mul x6, %[b], x9\n\t"
  16914. "mov x4, xzr\n\t"
  16915. "umulh x7, %[b], x9\n\t"
  16916. "adc x3, xzr, xzr\n\t"
  16917. "adds x5, x5, x6\n\t"
  16918. "# A[3] * B\n\t"
  16919. "str x5, [%[r], 16]\n\t"
  16920. "adcs x3, x3, x7\n\t"
  16921. "mul x6, %[b], x10\n\t"
  16922. "mov x5, xzr\n\t"
  16923. "umulh x7, %[b], x10\n\t"
  16924. "adc x4, xzr, xzr\n\t"
  16925. "adds x3, x3, x6\n\t"
  16926. "# A[4] * B\n\t"
  16927. "ldp x9, x10, [%[a], 32]\n\t"
  16928. "str x3, [%[r], 24]\n\t"
  16929. "adcs x4, x4, x7\n\t"
  16930. "mul x6, %[b], x9\n\t"
  16931. "mov x3, xzr\n\t"
  16932. "umulh x7, %[b], x9\n\t"
  16933. "adc x5, xzr, xzr\n\t"
  16934. "adds x4, x4, x6\n\t"
  16935. "# A[5] * B\n\t"
  16936. "str x4, [%[r], 32]\n\t"
  16937. "adcs x5, x5, x7\n\t"
  16938. "mul x6, %[b], x10\n\t"
  16939. "mov x4, xzr\n\t"
  16940. "umulh x7, %[b], x10\n\t"
  16941. "adc x3, xzr, xzr\n\t"
  16942. "adds x5, x5, x6\n\t"
  16943. "# A[6] * B\n\t"
  16944. "ldp x9, x10, [%[a], 48]\n\t"
  16945. "str x5, [%[r], 40]\n\t"
  16946. "adcs x3, x3, x7\n\t"
  16947. "mul x6, %[b], x9\n\t"
  16948. "mov x5, xzr\n\t"
  16949. "umulh x7, %[b], x9\n\t"
  16950. "adc x4, xzr, xzr\n\t"
  16951. "adds x3, x3, x6\n\t"
  16952. "# A[7] * B\n\t"
  16953. "str x3, [%[r], 48]\n\t"
  16954. "adcs x4, x4, x7\n\t"
  16955. "mul x6, %[b], x10\n\t"
  16956. "mov x3, xzr\n\t"
  16957. "umulh x7, %[b], x10\n\t"
  16958. "adc x5, xzr, xzr\n\t"
  16959. "adds x4, x4, x6\n\t"
  16960. "# A[8] * B\n\t"
  16961. "ldp x9, x10, [%[a], 64]\n\t"
  16962. "str x4, [%[r], 56]\n\t"
  16963. "adcs x5, x5, x7\n\t"
  16964. "mul x6, %[b], x9\n\t"
  16965. "mov x4, xzr\n\t"
  16966. "umulh x7, %[b], x9\n\t"
  16967. "adc x3, xzr, xzr\n\t"
  16968. "adds x5, x5, x6\n\t"
  16969. "# A[9] * B\n\t"
  16970. "str x5, [%[r], 64]\n\t"
  16971. "adcs x3, x3, x7\n\t"
  16972. "mul x6, %[b], x10\n\t"
  16973. "mov x5, xzr\n\t"
  16974. "umulh x7, %[b], x10\n\t"
  16975. "adc x4, xzr, xzr\n\t"
  16976. "adds x3, x3, x6\n\t"
  16977. "# A[10] * B\n\t"
  16978. "ldp x9, x10, [%[a], 80]\n\t"
  16979. "str x3, [%[r], 72]\n\t"
  16980. "adcs x4, x4, x7\n\t"
  16981. "mul x6, %[b], x9\n\t"
  16982. "mov x3, xzr\n\t"
  16983. "umulh x7, %[b], x9\n\t"
  16984. "adc x5, xzr, xzr\n\t"
  16985. "adds x4, x4, x6\n\t"
  16986. "# A[11] * B\n\t"
  16987. "str x4, [%[r], 80]\n\t"
  16988. "adcs x5, x5, x7\n\t"
  16989. "mul x6, %[b], x10\n\t"
  16990. "mov x4, xzr\n\t"
  16991. "umulh x7, %[b], x10\n\t"
  16992. "adc x3, xzr, xzr\n\t"
  16993. "adds x5, x5, x6\n\t"
  16994. "# A[12] * B\n\t"
  16995. "ldp x9, x10, [%[a], 96]\n\t"
  16996. "str x5, [%[r], 88]\n\t"
  16997. "adcs x3, x3, x7\n\t"
  16998. "mul x6, %[b], x9\n\t"
  16999. "mov x5, xzr\n\t"
  17000. "umulh x7, %[b], x9\n\t"
  17001. "adc x4, xzr, xzr\n\t"
  17002. "adds x3, x3, x6\n\t"
  17003. "# A[13] * B\n\t"
  17004. "str x3, [%[r], 96]\n\t"
  17005. "adcs x4, x4, x7\n\t"
  17006. "mul x6, %[b], x10\n\t"
  17007. "mov x3, xzr\n\t"
  17008. "umulh x7, %[b], x10\n\t"
  17009. "adc x5, xzr, xzr\n\t"
  17010. "adds x4, x4, x6\n\t"
  17011. "# A[14] * B\n\t"
  17012. "ldp x9, x10, [%[a], 112]\n\t"
  17013. "str x4, [%[r], 104]\n\t"
  17014. "adcs x5, x5, x7\n\t"
  17015. "mul x6, %[b], x9\n\t"
  17016. "mov x4, xzr\n\t"
  17017. "umulh x7, %[b], x9\n\t"
  17018. "adc x3, xzr, xzr\n\t"
  17019. "adds x5, x5, x6\n\t"
  17020. "# A[15] * B\n\t"
  17021. "str x5, [%[r], 112]\n\t"
  17022. "adcs x3, x3, x7\n\t"
  17023. "mul x6, %[b], x10\n\t"
  17024. "mov x5, xzr\n\t"
  17025. "umulh x7, %[b], x10\n\t"
  17026. "adc x4, xzr, xzr\n\t"
  17027. "adds x3, x3, x6\n\t"
  17028. "# A[16] * B\n\t"
  17029. "ldp x9, x10, [%[a], 128]\n\t"
  17030. "str x3, [%[r], 120]\n\t"
  17031. "adcs x4, x4, x7\n\t"
  17032. "mul x6, %[b], x9\n\t"
  17033. "mov x3, xzr\n\t"
  17034. "umulh x7, %[b], x9\n\t"
  17035. "adc x5, xzr, xzr\n\t"
  17036. "adds x4, x4, x6\n\t"
  17037. "# A[17] * B\n\t"
  17038. "str x4, [%[r], 128]\n\t"
  17039. "adcs x5, x5, x7\n\t"
  17040. "mul x6, %[b], x10\n\t"
  17041. "mov x4, xzr\n\t"
  17042. "umulh x7, %[b], x10\n\t"
  17043. "adc x3, xzr, xzr\n\t"
  17044. "adds x5, x5, x6\n\t"
  17045. "# A[18] * B\n\t"
  17046. "ldp x9, x10, [%[a], 144]\n\t"
  17047. "str x5, [%[r], 136]\n\t"
  17048. "adcs x3, x3, x7\n\t"
  17049. "mul x6, %[b], x9\n\t"
  17050. "mov x5, xzr\n\t"
  17051. "umulh x7, %[b], x9\n\t"
  17052. "adc x4, xzr, xzr\n\t"
  17053. "adds x3, x3, x6\n\t"
  17054. "# A[19] * B\n\t"
  17055. "str x3, [%[r], 144]\n\t"
  17056. "adcs x4, x4, x7\n\t"
  17057. "mul x6, %[b], x10\n\t"
  17058. "mov x3, xzr\n\t"
  17059. "umulh x7, %[b], x10\n\t"
  17060. "adc x5, xzr, xzr\n\t"
  17061. "adds x4, x4, x6\n\t"
  17062. "# A[20] * B\n\t"
  17063. "ldp x9, x10, [%[a], 160]\n\t"
  17064. "str x4, [%[r], 152]\n\t"
  17065. "adcs x5, x5, x7\n\t"
  17066. "mul x6, %[b], x9\n\t"
  17067. "mov x4, xzr\n\t"
  17068. "umulh x7, %[b], x9\n\t"
  17069. "adc x3, xzr, xzr\n\t"
  17070. "adds x5, x5, x6\n\t"
  17071. "# A[21] * B\n\t"
  17072. "str x5, [%[r], 160]\n\t"
  17073. "adcs x3, x3, x7\n\t"
  17074. "mul x6, %[b], x10\n\t"
  17075. "mov x5, xzr\n\t"
  17076. "umulh x7, %[b], x10\n\t"
  17077. "adc x4, xzr, xzr\n\t"
  17078. "adds x3, x3, x6\n\t"
  17079. "# A[22] * B\n\t"
  17080. "ldp x9, x10, [%[a], 176]\n\t"
  17081. "str x3, [%[r], 168]\n\t"
  17082. "adcs x4, x4, x7\n\t"
  17083. "mul x6, %[b], x9\n\t"
  17084. "mov x3, xzr\n\t"
  17085. "umulh x7, %[b], x9\n\t"
  17086. "adc x5, xzr, xzr\n\t"
  17087. "adds x4, x4, x6\n\t"
  17088. "# A[23] * B\n\t"
  17089. "str x4, [%[r], 176]\n\t"
  17090. "adcs x5, x5, x7\n\t"
  17091. "mul x6, %[b], x10\n\t"
  17092. "mov x4, xzr\n\t"
  17093. "umulh x7, %[b], x10\n\t"
  17094. "adc x3, xzr, xzr\n\t"
  17095. "adds x5, x5, x6\n\t"
  17096. "# A[24] * B\n\t"
  17097. "ldp x9, x10, [%[a], 192]\n\t"
  17098. "str x5, [%[r], 184]\n\t"
  17099. "adcs x3, x3, x7\n\t"
  17100. "mul x6, %[b], x9\n\t"
  17101. "mov x5, xzr\n\t"
  17102. "umulh x7, %[b], x9\n\t"
  17103. "adc x4, xzr, xzr\n\t"
  17104. "adds x3, x3, x6\n\t"
  17105. "# A[25] * B\n\t"
  17106. "str x3, [%[r], 192]\n\t"
  17107. "adcs x4, x4, x7\n\t"
  17108. "mul x6, %[b], x10\n\t"
  17109. "mov x3, xzr\n\t"
  17110. "umulh x7, %[b], x10\n\t"
  17111. "adc x5, xzr, xzr\n\t"
  17112. "adds x4, x4, x6\n\t"
  17113. "# A[26] * B\n\t"
  17114. "ldp x9, x10, [%[a], 208]\n\t"
  17115. "str x4, [%[r], 200]\n\t"
  17116. "adcs x5, x5, x7\n\t"
  17117. "mul x6, %[b], x9\n\t"
  17118. "mov x4, xzr\n\t"
  17119. "umulh x7, %[b], x9\n\t"
  17120. "adc x3, xzr, xzr\n\t"
  17121. "adds x5, x5, x6\n\t"
  17122. "# A[27] * B\n\t"
  17123. "str x5, [%[r], 208]\n\t"
  17124. "adcs x3, x3, x7\n\t"
  17125. "mul x6, %[b], x10\n\t"
  17126. "mov x5, xzr\n\t"
  17127. "umulh x7, %[b], x10\n\t"
  17128. "adc x4, xzr, xzr\n\t"
  17129. "adds x3, x3, x6\n\t"
  17130. "# A[28] * B\n\t"
  17131. "ldp x9, x10, [%[a], 224]\n\t"
  17132. "str x3, [%[r], 216]\n\t"
  17133. "adcs x4, x4, x7\n\t"
  17134. "mul x6, %[b], x9\n\t"
  17135. "mov x3, xzr\n\t"
  17136. "umulh x7, %[b], x9\n\t"
  17137. "adc x5, xzr, xzr\n\t"
  17138. "adds x4, x4, x6\n\t"
  17139. "# A[29] * B\n\t"
  17140. "str x4, [%[r], 224]\n\t"
  17141. "adcs x5, x5, x7\n\t"
  17142. "mul x6, %[b], x10\n\t"
  17143. "mov x4, xzr\n\t"
  17144. "umulh x7, %[b], x10\n\t"
  17145. "adc x3, xzr, xzr\n\t"
  17146. "adds x5, x5, x6\n\t"
  17147. "# A[30] * B\n\t"
  17148. "ldp x9, x10, [%[a], 240]\n\t"
  17149. "str x5, [%[r], 232]\n\t"
  17150. "adcs x3, x3, x7\n\t"
  17151. "mul x6, %[b], x9\n\t"
  17152. "mov x5, xzr\n\t"
  17153. "umulh x7, %[b], x9\n\t"
  17154. "adc x4, xzr, xzr\n\t"
  17155. "adds x3, x3, x6\n\t"
  17156. "# A[31] * B\n\t"
  17157. "str x3, [%[r], 240]\n\t"
  17158. "adcs x4, x4, x7\n\t"
  17159. "mul x6, %[b], x10\n\t"
  17160. "mov x3, xzr\n\t"
  17161. "umulh x7, %[b], x10\n\t"
  17162. "adc x5, xzr, xzr\n\t"
  17163. "adds x4, x4, x6\n\t"
  17164. "# A[32] * B\n\t"
  17165. "ldp x9, x10, [%[a], 256]\n\t"
  17166. "str x4, [%[r], 248]\n\t"
  17167. "adcs x5, x5, x7\n\t"
  17168. "mul x6, %[b], x9\n\t"
  17169. "mov x4, xzr\n\t"
  17170. "umulh x7, %[b], x9\n\t"
  17171. "adc x3, xzr, xzr\n\t"
  17172. "adds x5, x5, x6\n\t"
  17173. "# A[33] * B\n\t"
  17174. "str x5, [%[r], 256]\n\t"
  17175. "adcs x3, x3, x7\n\t"
  17176. "mul x6, %[b], x10\n\t"
  17177. "mov x5, xzr\n\t"
  17178. "umulh x7, %[b], x10\n\t"
  17179. "adc x4, xzr, xzr\n\t"
  17180. "adds x3, x3, x6\n\t"
  17181. "# A[34] * B\n\t"
  17182. "ldp x9, x10, [%[a], 272]\n\t"
  17183. "str x3, [%[r], 264]\n\t"
  17184. "adcs x4, x4, x7\n\t"
  17185. "mul x6, %[b], x9\n\t"
  17186. "mov x3, xzr\n\t"
  17187. "umulh x7, %[b], x9\n\t"
  17188. "adc x5, xzr, xzr\n\t"
  17189. "adds x4, x4, x6\n\t"
  17190. "# A[35] * B\n\t"
  17191. "str x4, [%[r], 272]\n\t"
  17192. "adcs x5, x5, x7\n\t"
  17193. "mul x6, %[b], x10\n\t"
  17194. "mov x4, xzr\n\t"
  17195. "umulh x7, %[b], x10\n\t"
  17196. "adc x3, xzr, xzr\n\t"
  17197. "adds x5, x5, x6\n\t"
  17198. "# A[36] * B\n\t"
  17199. "ldp x9, x10, [%[a], 288]\n\t"
  17200. "str x5, [%[r], 280]\n\t"
  17201. "adcs x3, x3, x7\n\t"
  17202. "mul x6, %[b], x9\n\t"
  17203. "mov x5, xzr\n\t"
  17204. "umulh x7, %[b], x9\n\t"
  17205. "adc x4, xzr, xzr\n\t"
  17206. "adds x3, x3, x6\n\t"
  17207. "# A[37] * B\n\t"
  17208. "str x3, [%[r], 288]\n\t"
  17209. "adcs x4, x4, x7\n\t"
  17210. "mul x6, %[b], x10\n\t"
  17211. "mov x3, xzr\n\t"
  17212. "umulh x7, %[b], x10\n\t"
  17213. "adc x5, xzr, xzr\n\t"
  17214. "adds x4, x4, x6\n\t"
  17215. "# A[38] * B\n\t"
  17216. "ldp x9, x10, [%[a], 304]\n\t"
  17217. "str x4, [%[r], 296]\n\t"
  17218. "adcs x5, x5, x7\n\t"
  17219. "mul x6, %[b], x9\n\t"
  17220. "mov x4, xzr\n\t"
  17221. "umulh x7, %[b], x9\n\t"
  17222. "adc x3, xzr, xzr\n\t"
  17223. "adds x5, x5, x6\n\t"
  17224. "# A[39] * B\n\t"
  17225. "str x5, [%[r], 304]\n\t"
  17226. "adcs x3, x3, x7\n\t"
  17227. "mul x6, %[b], x10\n\t"
  17228. "mov x5, xzr\n\t"
  17229. "umulh x7, %[b], x10\n\t"
  17230. "adc x4, xzr, xzr\n\t"
  17231. "adds x3, x3, x6\n\t"
  17232. "# A[40] * B\n\t"
  17233. "ldp x9, x10, [%[a], 320]\n\t"
  17234. "str x3, [%[r], 312]\n\t"
  17235. "adcs x4, x4, x7\n\t"
  17236. "mul x6, %[b], x9\n\t"
  17237. "mov x3, xzr\n\t"
  17238. "umulh x7, %[b], x9\n\t"
  17239. "adc x5, xzr, xzr\n\t"
  17240. "adds x4, x4, x6\n\t"
  17241. "# A[41] * B\n\t"
  17242. "str x4, [%[r], 320]\n\t"
  17243. "adcs x5, x5, x7\n\t"
  17244. "mul x6, %[b], x10\n\t"
  17245. "mov x4, xzr\n\t"
  17246. "umulh x7, %[b], x10\n\t"
  17247. "adc x3, xzr, xzr\n\t"
  17248. "adds x5, x5, x6\n\t"
  17249. "# A[42] * B\n\t"
  17250. "ldp x9, x10, [%[a], 336]\n\t"
  17251. "str x5, [%[r], 328]\n\t"
  17252. "adcs x3, x3, x7\n\t"
  17253. "mul x6, %[b], x9\n\t"
  17254. "mov x5, xzr\n\t"
  17255. "umulh x7, %[b], x9\n\t"
  17256. "adc x4, xzr, xzr\n\t"
  17257. "adds x3, x3, x6\n\t"
  17258. "# A[43] * B\n\t"
  17259. "str x3, [%[r], 336]\n\t"
  17260. "adcs x4, x4, x7\n\t"
  17261. "mul x6, %[b], x10\n\t"
  17262. "mov x3, xzr\n\t"
  17263. "umulh x7, %[b], x10\n\t"
  17264. "adc x5, xzr, xzr\n\t"
  17265. "adds x4, x4, x6\n\t"
  17266. "# A[44] * B\n\t"
  17267. "ldp x9, x10, [%[a], 352]\n\t"
  17268. "str x4, [%[r], 344]\n\t"
  17269. "adcs x5, x5, x7\n\t"
  17270. "mul x6, %[b], x9\n\t"
  17271. "mov x4, xzr\n\t"
  17272. "umulh x7, %[b], x9\n\t"
  17273. "adc x3, xzr, xzr\n\t"
  17274. "adds x5, x5, x6\n\t"
  17275. "# A[45] * B\n\t"
  17276. "str x5, [%[r], 352]\n\t"
  17277. "adcs x3, x3, x7\n\t"
  17278. "mul x6, %[b], x10\n\t"
  17279. "mov x5, xzr\n\t"
  17280. "umulh x7, %[b], x10\n\t"
  17281. "adc x4, xzr, xzr\n\t"
  17282. "adds x3, x3, x6\n\t"
  17283. "# A[46] * B\n\t"
  17284. "ldp x9, x10, [%[a], 368]\n\t"
  17285. "str x3, [%[r], 360]\n\t"
  17286. "adcs x4, x4, x7\n\t"
  17287. "mul x6, %[b], x9\n\t"
  17288. "mov x3, xzr\n\t"
  17289. "umulh x7, %[b], x9\n\t"
  17290. "adc x5, xzr, xzr\n\t"
  17291. "adds x4, x4, x6\n\t"
  17292. "# A[47] * B\n\t"
  17293. "str x4, [%[r], 368]\n\t"
  17294. "adcs x5, x5, x7\n\t"
  17295. "mul x6, %[b], x10\n\t"
  17296. "mov x4, xzr\n\t"
  17297. "umulh x7, %[b], x10\n\t"
  17298. "adc x3, xzr, xzr\n\t"
  17299. "adds x5, x5, x6\n\t"
  17300. "# A[48] * B\n\t"
  17301. "ldp x9, x10, [%[a], 384]\n\t"
  17302. "str x5, [%[r], 376]\n\t"
  17303. "adcs x3, x3, x7\n\t"
  17304. "mul x6, %[b], x9\n\t"
  17305. "mov x5, xzr\n\t"
  17306. "umulh x7, %[b], x9\n\t"
  17307. "adc x4, xzr, xzr\n\t"
  17308. "adds x3, x3, x6\n\t"
  17309. "# A[49] * B\n\t"
  17310. "str x3, [%[r], 384]\n\t"
  17311. "adcs x4, x4, x7\n\t"
  17312. "mul x6, %[b], x10\n\t"
  17313. "mov x3, xzr\n\t"
  17314. "umulh x7, %[b], x10\n\t"
  17315. "adc x5, xzr, xzr\n\t"
  17316. "adds x4, x4, x6\n\t"
  17317. "# A[50] * B\n\t"
  17318. "ldp x9, x10, [%[a], 400]\n\t"
  17319. "str x4, [%[r], 392]\n\t"
  17320. "adcs x5, x5, x7\n\t"
  17321. "mul x6, %[b], x9\n\t"
  17322. "mov x4, xzr\n\t"
  17323. "umulh x7, %[b], x9\n\t"
  17324. "adc x3, xzr, xzr\n\t"
  17325. "adds x5, x5, x6\n\t"
  17326. "# A[51] * B\n\t"
  17327. "str x5, [%[r], 400]\n\t"
  17328. "adcs x3, x3, x7\n\t"
  17329. "mul x6, %[b], x10\n\t"
  17330. "mov x5, xzr\n\t"
  17331. "umulh x7, %[b], x10\n\t"
  17332. "adc x4, xzr, xzr\n\t"
  17333. "adds x3, x3, x6\n\t"
  17334. "# A[52] * B\n\t"
  17335. "ldp x9, x10, [%[a], 416]\n\t"
  17336. "str x3, [%[r], 408]\n\t"
  17337. "adcs x4, x4, x7\n\t"
  17338. "mul x6, %[b], x9\n\t"
  17339. "mov x3, xzr\n\t"
  17340. "umulh x7, %[b], x9\n\t"
  17341. "adc x5, xzr, xzr\n\t"
  17342. "adds x4, x4, x6\n\t"
  17343. "# A[53] * B\n\t"
  17344. "str x4, [%[r], 416]\n\t"
  17345. "adcs x5, x5, x7\n\t"
  17346. "mul x6, %[b], x10\n\t"
  17347. "mov x4, xzr\n\t"
  17348. "umulh x7, %[b], x10\n\t"
  17349. "adc x3, xzr, xzr\n\t"
  17350. "adds x5, x5, x6\n\t"
  17351. "# A[54] * B\n\t"
  17352. "ldp x9, x10, [%[a], 432]\n\t"
  17353. "str x5, [%[r], 424]\n\t"
  17354. "adcs x3, x3, x7\n\t"
  17355. "mul x6, %[b], x9\n\t"
  17356. "mov x5, xzr\n\t"
  17357. "umulh x7, %[b], x9\n\t"
  17358. "adc x4, xzr, xzr\n\t"
  17359. "adds x3, x3, x6\n\t"
  17360. "# A[55] * B\n\t"
  17361. "str x3, [%[r], 432]\n\t"
  17362. "adcs x4, x4, x7\n\t"
  17363. "mul x6, %[b], x10\n\t"
  17364. "mov x3, xzr\n\t"
  17365. "umulh x7, %[b], x10\n\t"
  17366. "adc x5, xzr, xzr\n\t"
  17367. "adds x4, x4, x6\n\t"
  17368. "# A[56] * B\n\t"
  17369. "ldp x9, x10, [%[a], 448]\n\t"
  17370. "str x4, [%[r], 440]\n\t"
  17371. "adcs x5, x5, x7\n\t"
  17372. "mul x6, %[b], x9\n\t"
  17373. "mov x4, xzr\n\t"
  17374. "umulh x7, %[b], x9\n\t"
  17375. "adc x3, xzr, xzr\n\t"
  17376. "adds x5, x5, x6\n\t"
  17377. "# A[57] * B\n\t"
  17378. "str x5, [%[r], 448]\n\t"
  17379. "adcs x3, x3, x7\n\t"
  17380. "mul x6, %[b], x10\n\t"
  17381. "mov x5, xzr\n\t"
  17382. "umulh x7, %[b], x10\n\t"
  17383. "adc x4, xzr, xzr\n\t"
  17384. "adds x3, x3, x6\n\t"
  17385. "# A[58] * B\n\t"
  17386. "ldp x9, x10, [%[a], 464]\n\t"
  17387. "str x3, [%[r], 456]\n\t"
  17388. "adcs x4, x4, x7\n\t"
  17389. "mul x6, %[b], x9\n\t"
  17390. "mov x3, xzr\n\t"
  17391. "umulh x7, %[b], x9\n\t"
  17392. "adc x5, xzr, xzr\n\t"
  17393. "adds x4, x4, x6\n\t"
  17394. "# A[59] * B\n\t"
  17395. "str x4, [%[r], 464]\n\t"
  17396. "adcs x5, x5, x7\n\t"
  17397. "mul x6, %[b], x10\n\t"
  17398. "mov x4, xzr\n\t"
  17399. "umulh x7, %[b], x10\n\t"
  17400. "adc x3, xzr, xzr\n\t"
  17401. "adds x5, x5, x6\n\t"
  17402. "# A[60] * B\n\t"
  17403. "ldp x9, x10, [%[a], 480]\n\t"
  17404. "str x5, [%[r], 472]\n\t"
  17405. "adcs x3, x3, x7\n\t"
  17406. "mul x6, %[b], x9\n\t"
  17407. "mov x5, xzr\n\t"
  17408. "umulh x7, %[b], x9\n\t"
  17409. "adc x4, xzr, xzr\n\t"
  17410. "adds x3, x3, x6\n\t"
  17411. "# A[61] * B\n\t"
  17412. "str x3, [%[r], 480]\n\t"
  17413. "adcs x4, x4, x7\n\t"
  17414. "mul x6, %[b], x10\n\t"
  17415. "mov x3, xzr\n\t"
  17416. "umulh x7, %[b], x10\n\t"
  17417. "adc x5, xzr, xzr\n\t"
  17418. "adds x4, x4, x6\n\t"
  17419. "# A[62] * B\n\t"
  17420. "ldp x9, x10, [%[a], 496]\n\t"
  17421. "str x4, [%[r], 488]\n\t"
  17422. "adcs x5, x5, x7\n\t"
  17423. "mul x6, %[b], x9\n\t"
  17424. "mov x4, xzr\n\t"
  17425. "umulh x7, %[b], x9\n\t"
  17426. "adc x3, xzr, xzr\n\t"
  17427. "adds x5, x5, x6\n\t"
  17428. "# A[63] * B\n\t"
  17429. "str x5, [%[r], 496]\n\t"
  17430. "mul x6, %[b], x10\n\t"
  17431. "adcs x3, x3, x7\n\t"
  17432. "umulh x7, %[b], x10\n\t"
  17433. "adc x4, xzr, xzr\n\t"
  17434. "adds x3, x3, x6\n\t"
  17435. "adc x4, x4, x7\n\t"
  17436. "stp x3, x4, [%[r], 504]\n\t"
  17437. :
  17438. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  17439. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  17440. );
  17441. #endif
  17442. }
  17443. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  17444. /* r = 2^n mod m where n is the number of bits to reduce by.
  17445. * Given m must be 4096 bits, just need to subtract.
  17446. *
  17447. * r A single precision number.
  17448. * m A single precision number.
  17449. */
  17450. static void sp_4096_mont_norm_64(sp_digit* r, const sp_digit* m)
  17451. {
  17452. XMEMSET(r, 0, sizeof(sp_digit) * 64);
  17453. /* r = 2^n mod m */
  17454. sp_4096_sub_in_place_64(r, m);
  17455. }
  17456. #endif /* (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) | WOLFSSL_HAVE_SP_DH */
  17457. /* Reduce the number back to 4096 bits using Montgomery reduction.
  17458. *
  17459. * a A single precision number to reduce in place.
  17460. * m The single precision number representing the modulus.
  17461. * mp The digit representing the negative inverse of m mod 2^n.
  17462. */
  17463. SP_NOINLINE static void sp_4096_mont_reduce_64(sp_digit* a, const sp_digit* m,
  17464. sp_digit mp)
  17465. {
  17466. __asm__ __volatile__ (
  17467. "ldp x11, x12, [%[a], 0]\n\t"
  17468. "ldp x13, x14, [%[a], 16]\n\t"
  17469. "ldp x15, x16, [%[a], 32]\n\t"
  17470. "ldp x17, x19, [%[a], 48]\n\t"
  17471. "ldp x20, x21, [%[a], 64]\n\t"
  17472. "ldp x22, x23, [%[a], 80]\n\t"
  17473. "# No carry yet\n\t"
  17474. "mov x3, xzr\n\t"
  17475. "# i = 0..63\n\t"
  17476. "mov x4, 64\n\t"
  17477. "\n1:\n\t"
  17478. "# mu = a[i] * mp\n\t"
  17479. "mul x10, %[mp], x11\n\t"
  17480. "ldp x24, x25, [%[m], 0]\n\t"
  17481. "ldp x26, x27, [%[m], 16]\n\t"
  17482. "# a[i+0] += m[0] * mu\n\t"
  17483. "mul x5, x24, x10\n\t"
  17484. "umulh x6, x24, x10\n\t"
  17485. "# a[i+1] += m[1] * mu\n\t"
  17486. "adds x11, x11, x5\n\t"
  17487. "mul x5, x25, x10\n\t"
  17488. "adc x6, x6, xzr\n\t"
  17489. "umulh x7, x25, x10\n\t"
  17490. "adds x11, x12, x5\n\t"
  17491. "# a[i+2] += m[2] * mu\n\t"
  17492. "adc x7, x7, xzr\n\t"
  17493. "adds x11, x11, x6\n\t"
  17494. "mul x5, x26, x10\n\t"
  17495. "adc x7, x7, xzr\n\t"
  17496. "umulh x6, x26, x10\n\t"
  17497. "adds x12, x13, x5\n\t"
  17498. "# a[i+3] += m[3] * mu\n\t"
  17499. "adc x6, x6, xzr\n\t"
  17500. "adds x12, x12, x7\n\t"
  17501. "mul x5, x27, x10\n\t"
  17502. "adc x6, x6, xzr\n\t"
  17503. "umulh x7, x27, x10\n\t"
  17504. "adds x13, x14, x5\n\t"
  17505. "ldp x24, x25, [%[m], 32]\n\t"
  17506. "ldp x26, x27, [%[m], 48]\n\t"
  17507. "# a[i+4] += m[4] * mu\n\t"
  17508. "adc x7, x7, xzr\n\t"
  17509. "adds x13, x13, x6\n\t"
  17510. "mul x5, x24, x10\n\t"
  17511. "adc x7, x7, xzr\n\t"
  17512. "umulh x6, x24, x10\n\t"
  17513. "adds x14, x15, x5\n\t"
  17514. "# a[i+5] += m[5] * mu\n\t"
  17515. "adc x6, x6, xzr\n\t"
  17516. "adds x14, x14, x7\n\t"
  17517. "mul x5, x25, x10\n\t"
  17518. "adc x6, x6, xzr\n\t"
  17519. "umulh x7, x25, x10\n\t"
  17520. "adds x15, x16, x5\n\t"
  17521. "# a[i+6] += m[6] * mu\n\t"
  17522. "adc x7, x7, xzr\n\t"
  17523. "adds x15, x15, x6\n\t"
  17524. "mul x5, x26, x10\n\t"
  17525. "adc x7, x7, xzr\n\t"
  17526. "umulh x6, x26, x10\n\t"
  17527. "adds x16, x17, x5\n\t"
  17528. "# a[i+7] += m[7] * mu\n\t"
  17529. "adc x6, x6, xzr\n\t"
  17530. "adds x16, x16, x7\n\t"
  17531. "mul x5, x27, x10\n\t"
  17532. "adc x6, x6, xzr\n\t"
  17533. "umulh x7, x27, x10\n\t"
  17534. "adds x17, x19, x5\n\t"
  17535. "ldp x24, x25, [%[m], 64]\n\t"
  17536. "ldp x26, x27, [%[m], 80]\n\t"
  17537. "# a[i+8] += m[8] * mu\n\t"
  17538. "adc x7, x7, xzr\n\t"
  17539. "adds x17, x17, x6\n\t"
  17540. "mul x5, x24, x10\n\t"
  17541. "adc x7, x7, xzr\n\t"
  17542. "umulh x6, x24, x10\n\t"
  17543. "adds x19, x20, x5\n\t"
  17544. "# a[i+9] += m[9] * mu\n\t"
  17545. "adc x6, x6, xzr\n\t"
  17546. "adds x19, x19, x7\n\t"
  17547. "mul x5, x25, x10\n\t"
  17548. "adc x6, x6, xzr\n\t"
  17549. "umulh x7, x25, x10\n\t"
  17550. "adds x20, x21, x5\n\t"
  17551. "# a[i+10] += m[10] * mu\n\t"
  17552. "adc x7, x7, xzr\n\t"
  17553. "adds x20, x20, x6\n\t"
  17554. "mul x5, x26, x10\n\t"
  17555. "adc x7, x7, xzr\n\t"
  17556. "umulh x6, x26, x10\n\t"
  17557. "adds x21, x22, x5\n\t"
  17558. "# a[i+11] += m[11] * mu\n\t"
  17559. "adc x6, x6, xzr\n\t"
  17560. "adds x21, x21, x7\n\t"
  17561. "mul x5, x27, x10\n\t"
  17562. "adc x6, x6, xzr\n\t"
  17563. "umulh x7, x27, x10\n\t"
  17564. "adds x22, x23, x5\n\t"
  17565. "ldp x24, x25, [%[m], 96]\n\t"
  17566. "ldp x26, x27, [%[m], 112]\n\t"
  17567. "# a[i+12] += m[12] * mu\n\t"
  17568. "adc x7, x7, xzr\n\t"
  17569. "adds x22, x22, x6\n\t"
  17570. "mul x5, x24, x10\n\t"
  17571. "adc x7, x7, xzr\n\t"
  17572. "ldr x23, [%[a], 96]\n\t"
  17573. "umulh x6, x24, x10\n\t"
  17574. "adds x23, x23, x5\n\t"
  17575. "# a[i+13] += m[13] * mu\n\t"
  17576. "adc x6, x6, xzr\n\t"
  17577. "adds x23, x23, x7\n\t"
  17578. "mul x5, x25, x10\n\t"
  17579. "adc x6, x6, xzr\n\t"
  17580. "ldp x8, x9, [%[a], 104]\n\t"
  17581. "umulh x7, x25, x10\n\t"
  17582. "adds x8, x8, x5\n\t"
  17583. "# a[i+14] += m[14] * mu\n\t"
  17584. "adc x7, x7, xzr\n\t"
  17585. "adds x8, x8, x6\n\t"
  17586. "mul x5, x26, x10\n\t"
  17587. "adc x7, x7, xzr\n\t"
  17588. "str x8, [%[a], 104]\n\t"
  17589. "umulh x6, x26, x10\n\t"
  17590. "adds x9, x9, x5\n\t"
  17591. "# a[i+15] += m[15] * mu\n\t"
  17592. "adc x6, x6, xzr\n\t"
  17593. "adds x9, x9, x7\n\t"
  17594. "mul x5, x27, x10\n\t"
  17595. "adc x6, x6, xzr\n\t"
  17596. "str x9, [%[a], 112]\n\t"
  17597. "ldp x8, x9, [%[a], 120]\n\t"
  17598. "umulh x7, x27, x10\n\t"
  17599. "adds x8, x8, x5\n\t"
  17600. "ldp x24, x25, [%[m], 128]\n\t"
  17601. "ldp x26, x27, [%[m], 144]\n\t"
  17602. "# a[i+16] += m[16] * mu\n\t"
  17603. "adc x7, x7, xzr\n\t"
  17604. "adds x8, x8, x6\n\t"
  17605. "mul x5, x24, x10\n\t"
  17606. "adc x7, x7, xzr\n\t"
  17607. "str x8, [%[a], 120]\n\t"
  17608. "umulh x6, x24, x10\n\t"
  17609. "adds x9, x9, x5\n\t"
  17610. "# a[i+17] += m[17] * mu\n\t"
  17611. "adc x6, x6, xzr\n\t"
  17612. "adds x9, x9, x7\n\t"
  17613. "mul x5, x25, x10\n\t"
  17614. "adc x6, x6, xzr\n\t"
  17615. "str x9, [%[a], 128]\n\t"
  17616. "ldp x8, x9, [%[a], 136]\n\t"
  17617. "umulh x7, x25, x10\n\t"
  17618. "adds x8, x8, x5\n\t"
  17619. "# a[i+18] += m[18] * mu\n\t"
  17620. "adc x7, x7, xzr\n\t"
  17621. "adds x8, x8, x6\n\t"
  17622. "mul x5, x26, x10\n\t"
  17623. "adc x7, x7, xzr\n\t"
  17624. "str x8, [%[a], 136]\n\t"
  17625. "umulh x6, x26, x10\n\t"
  17626. "adds x9, x9, x5\n\t"
  17627. "# a[i+19] += m[19] * mu\n\t"
  17628. "adc x6, x6, xzr\n\t"
  17629. "adds x9, x9, x7\n\t"
  17630. "mul x5, x27, x10\n\t"
  17631. "adc x6, x6, xzr\n\t"
  17632. "str x9, [%[a], 144]\n\t"
  17633. "ldp x8, x9, [%[a], 152]\n\t"
  17634. "umulh x7, x27, x10\n\t"
  17635. "adds x8, x8, x5\n\t"
  17636. "ldp x24, x25, [%[m], 160]\n\t"
  17637. "ldp x26, x27, [%[m], 176]\n\t"
  17638. "# a[i+20] += m[20] * mu\n\t"
  17639. "adc x7, x7, xzr\n\t"
  17640. "adds x8, x8, x6\n\t"
  17641. "mul x5, x24, x10\n\t"
  17642. "adc x7, x7, xzr\n\t"
  17643. "str x8, [%[a], 152]\n\t"
  17644. "umulh x6, x24, x10\n\t"
  17645. "adds x9, x9, x5\n\t"
  17646. "# a[i+21] += m[21] * mu\n\t"
  17647. "adc x6, x6, xzr\n\t"
  17648. "adds x9, x9, x7\n\t"
  17649. "mul x5, x25, x10\n\t"
  17650. "adc x6, x6, xzr\n\t"
  17651. "str x9, [%[a], 160]\n\t"
  17652. "ldp x8, x9, [%[a], 168]\n\t"
  17653. "umulh x7, x25, x10\n\t"
  17654. "adds x8, x8, x5\n\t"
  17655. "# a[i+22] += m[22] * mu\n\t"
  17656. "adc x7, x7, xzr\n\t"
  17657. "adds x8, x8, x6\n\t"
  17658. "mul x5, x26, x10\n\t"
  17659. "adc x7, x7, xzr\n\t"
  17660. "str x8, [%[a], 168]\n\t"
  17661. "umulh x6, x26, x10\n\t"
  17662. "adds x9, x9, x5\n\t"
  17663. "# a[i+23] += m[23] * mu\n\t"
  17664. "adc x6, x6, xzr\n\t"
  17665. "adds x9, x9, x7\n\t"
  17666. "mul x5, x27, x10\n\t"
  17667. "adc x6, x6, xzr\n\t"
  17668. "str x9, [%[a], 176]\n\t"
  17669. "ldp x8, x9, [%[a], 184]\n\t"
  17670. "umulh x7, x27, x10\n\t"
  17671. "adds x8, x8, x5\n\t"
  17672. "ldp x24, x25, [%[m], 192]\n\t"
  17673. "ldp x26, x27, [%[m], 208]\n\t"
  17674. "# a[i+24] += m[24] * mu\n\t"
  17675. "adc x7, x7, xzr\n\t"
  17676. "adds x8, x8, x6\n\t"
  17677. "mul x5, x24, x10\n\t"
  17678. "adc x7, x7, xzr\n\t"
  17679. "str x8, [%[a], 184]\n\t"
  17680. "umulh x6, x24, x10\n\t"
  17681. "adds x9, x9, x5\n\t"
  17682. "# a[i+25] += m[25] * mu\n\t"
  17683. "adc x6, x6, xzr\n\t"
  17684. "adds x9, x9, x7\n\t"
  17685. "mul x5, x25, x10\n\t"
  17686. "adc x6, x6, xzr\n\t"
  17687. "str x9, [%[a], 192]\n\t"
  17688. "ldp x8, x9, [%[a], 200]\n\t"
  17689. "umulh x7, x25, x10\n\t"
  17690. "adds x8, x8, x5\n\t"
  17691. "# a[i+26] += m[26] * mu\n\t"
  17692. "adc x7, x7, xzr\n\t"
  17693. "adds x8, x8, x6\n\t"
  17694. "mul x5, x26, x10\n\t"
  17695. "adc x7, x7, xzr\n\t"
  17696. "str x8, [%[a], 200]\n\t"
  17697. "umulh x6, x26, x10\n\t"
  17698. "adds x9, x9, x5\n\t"
  17699. "# a[i+27] += m[27] * mu\n\t"
  17700. "adc x6, x6, xzr\n\t"
  17701. "adds x9, x9, x7\n\t"
  17702. "mul x5, x27, x10\n\t"
  17703. "adc x6, x6, xzr\n\t"
  17704. "str x9, [%[a], 208]\n\t"
  17705. "ldp x8, x9, [%[a], 216]\n\t"
  17706. "umulh x7, x27, x10\n\t"
  17707. "adds x8, x8, x5\n\t"
  17708. "ldp x24, x25, [%[m], 224]\n\t"
  17709. "ldp x26, x27, [%[m], 240]\n\t"
  17710. "# a[i+28] += m[28] * mu\n\t"
  17711. "adc x7, x7, xzr\n\t"
  17712. "adds x8, x8, x6\n\t"
  17713. "mul x5, x24, x10\n\t"
  17714. "adc x7, x7, xzr\n\t"
  17715. "str x8, [%[a], 216]\n\t"
  17716. "umulh x6, x24, x10\n\t"
  17717. "adds x9, x9, x5\n\t"
  17718. "# a[i+29] += m[29] * mu\n\t"
  17719. "adc x6, x6, xzr\n\t"
  17720. "adds x9, x9, x7\n\t"
  17721. "mul x5, x25, x10\n\t"
  17722. "adc x6, x6, xzr\n\t"
  17723. "str x9, [%[a], 224]\n\t"
  17724. "ldp x8, x9, [%[a], 232]\n\t"
  17725. "umulh x7, x25, x10\n\t"
  17726. "adds x8, x8, x5\n\t"
  17727. "# a[i+30] += m[30] * mu\n\t"
  17728. "adc x7, x7, xzr\n\t"
  17729. "adds x8, x8, x6\n\t"
  17730. "mul x5, x26, x10\n\t"
  17731. "adc x7, x7, xzr\n\t"
  17732. "str x8, [%[a], 232]\n\t"
  17733. "umulh x6, x26, x10\n\t"
  17734. "adds x9, x9, x5\n\t"
  17735. "# a[i+31] += m[31] * mu\n\t"
  17736. "adc x6, x6, xzr\n\t"
  17737. "adds x9, x9, x7\n\t"
  17738. "mul x5, x27, x10\n\t"
  17739. "adc x6, x6, xzr\n\t"
  17740. "str x9, [%[a], 240]\n\t"
  17741. "ldp x8, x9, [%[a], 248]\n\t"
  17742. "umulh x7, x27, x10\n\t"
  17743. "adds x8, x8, x5\n\t"
  17744. "ldp x24, x25, [%[m], 256]\n\t"
  17745. "ldp x26, x27, [%[m], 272]\n\t"
  17746. "# a[i+32] += m[32] * mu\n\t"
  17747. "adc x7, x7, xzr\n\t"
  17748. "adds x8, x8, x6\n\t"
  17749. "mul x5, x24, x10\n\t"
  17750. "adc x7, x7, xzr\n\t"
  17751. "str x8, [%[a], 248]\n\t"
  17752. "umulh x6, x24, x10\n\t"
  17753. "adds x9, x9, x5\n\t"
  17754. "# a[i+33] += m[33] * mu\n\t"
  17755. "adc x6, x6, xzr\n\t"
  17756. "adds x9, x9, x7\n\t"
  17757. "mul x5, x25, x10\n\t"
  17758. "adc x6, x6, xzr\n\t"
  17759. "str x9, [%[a], 256]\n\t"
  17760. "ldp x8, x9, [%[a], 264]\n\t"
  17761. "umulh x7, x25, x10\n\t"
  17762. "adds x8, x8, x5\n\t"
  17763. "# a[i+34] += m[34] * mu\n\t"
  17764. "adc x7, x7, xzr\n\t"
  17765. "adds x8, x8, x6\n\t"
  17766. "mul x5, x26, x10\n\t"
  17767. "adc x7, x7, xzr\n\t"
  17768. "str x8, [%[a], 264]\n\t"
  17769. "umulh x6, x26, x10\n\t"
  17770. "adds x9, x9, x5\n\t"
  17771. "# a[i+35] += m[35] * mu\n\t"
  17772. "adc x6, x6, xzr\n\t"
  17773. "adds x9, x9, x7\n\t"
  17774. "mul x5, x27, x10\n\t"
  17775. "adc x6, x6, xzr\n\t"
  17776. "str x9, [%[a], 272]\n\t"
  17777. "ldp x8, x9, [%[a], 280]\n\t"
  17778. "umulh x7, x27, x10\n\t"
  17779. "adds x8, x8, x5\n\t"
  17780. "ldp x24, x25, [%[m], 288]\n\t"
  17781. "ldp x26, x27, [%[m], 304]\n\t"
  17782. "# a[i+36] += m[36] * mu\n\t"
  17783. "adc x7, x7, xzr\n\t"
  17784. "adds x8, x8, x6\n\t"
  17785. "mul x5, x24, x10\n\t"
  17786. "adc x7, x7, xzr\n\t"
  17787. "str x8, [%[a], 280]\n\t"
  17788. "umulh x6, x24, x10\n\t"
  17789. "adds x9, x9, x5\n\t"
  17790. "# a[i+37] += m[37] * mu\n\t"
  17791. "adc x6, x6, xzr\n\t"
  17792. "adds x9, x9, x7\n\t"
  17793. "mul x5, x25, x10\n\t"
  17794. "adc x6, x6, xzr\n\t"
  17795. "str x9, [%[a], 288]\n\t"
  17796. "ldp x8, x9, [%[a], 296]\n\t"
  17797. "umulh x7, x25, x10\n\t"
  17798. "adds x8, x8, x5\n\t"
  17799. "# a[i+38] += m[38] * mu\n\t"
  17800. "adc x7, x7, xzr\n\t"
  17801. "adds x8, x8, x6\n\t"
  17802. "mul x5, x26, x10\n\t"
  17803. "adc x7, x7, xzr\n\t"
  17804. "str x8, [%[a], 296]\n\t"
  17805. "umulh x6, x26, x10\n\t"
  17806. "adds x9, x9, x5\n\t"
  17807. "# a[i+39] += m[39] * mu\n\t"
  17808. "adc x6, x6, xzr\n\t"
  17809. "adds x9, x9, x7\n\t"
  17810. "mul x5, x27, x10\n\t"
  17811. "adc x6, x6, xzr\n\t"
  17812. "str x9, [%[a], 304]\n\t"
  17813. "ldp x8, x9, [%[a], 312]\n\t"
  17814. "umulh x7, x27, x10\n\t"
  17815. "adds x8, x8, x5\n\t"
  17816. "ldp x24, x25, [%[m], 320]\n\t"
  17817. "ldp x26, x27, [%[m], 336]\n\t"
  17818. "# a[i+40] += m[40] * mu\n\t"
  17819. "adc x7, x7, xzr\n\t"
  17820. "adds x8, x8, x6\n\t"
  17821. "mul x5, x24, x10\n\t"
  17822. "adc x7, x7, xzr\n\t"
  17823. "str x8, [%[a], 312]\n\t"
  17824. "umulh x6, x24, x10\n\t"
  17825. "adds x9, x9, x5\n\t"
  17826. "# a[i+41] += m[41] * mu\n\t"
  17827. "adc x6, x6, xzr\n\t"
  17828. "adds x9, x9, x7\n\t"
  17829. "mul x5, x25, x10\n\t"
  17830. "adc x6, x6, xzr\n\t"
  17831. "str x9, [%[a], 320]\n\t"
  17832. "ldp x8, x9, [%[a], 328]\n\t"
  17833. "umulh x7, x25, x10\n\t"
  17834. "adds x8, x8, x5\n\t"
  17835. "# a[i+42] += m[42] * mu\n\t"
  17836. "adc x7, x7, xzr\n\t"
  17837. "adds x8, x8, x6\n\t"
  17838. "mul x5, x26, x10\n\t"
  17839. "adc x7, x7, xzr\n\t"
  17840. "str x8, [%[a], 328]\n\t"
  17841. "umulh x6, x26, x10\n\t"
  17842. "adds x9, x9, x5\n\t"
  17843. "# a[i+43] += m[43] * mu\n\t"
  17844. "adc x6, x6, xzr\n\t"
  17845. "adds x9, x9, x7\n\t"
  17846. "mul x5, x27, x10\n\t"
  17847. "adc x6, x6, xzr\n\t"
  17848. "str x9, [%[a], 336]\n\t"
  17849. "ldp x8, x9, [%[a], 344]\n\t"
  17850. "umulh x7, x27, x10\n\t"
  17851. "adds x8, x8, x5\n\t"
  17852. "ldp x24, x25, [%[m], 352]\n\t"
  17853. "ldp x26, x27, [%[m], 368]\n\t"
  17854. "# a[i+44] += m[44] * mu\n\t"
  17855. "adc x7, x7, xzr\n\t"
  17856. "adds x8, x8, x6\n\t"
  17857. "mul x5, x24, x10\n\t"
  17858. "adc x7, x7, xzr\n\t"
  17859. "str x8, [%[a], 344]\n\t"
  17860. "umulh x6, x24, x10\n\t"
  17861. "adds x9, x9, x5\n\t"
  17862. "# a[i+45] += m[45] * mu\n\t"
  17863. "adc x6, x6, xzr\n\t"
  17864. "adds x9, x9, x7\n\t"
  17865. "mul x5, x25, x10\n\t"
  17866. "adc x6, x6, xzr\n\t"
  17867. "str x9, [%[a], 352]\n\t"
  17868. "ldp x8, x9, [%[a], 360]\n\t"
  17869. "umulh x7, x25, x10\n\t"
  17870. "adds x8, x8, x5\n\t"
  17871. "# a[i+46] += m[46] * mu\n\t"
  17872. "adc x7, x7, xzr\n\t"
  17873. "adds x8, x8, x6\n\t"
  17874. "mul x5, x26, x10\n\t"
  17875. "adc x7, x7, xzr\n\t"
  17876. "str x8, [%[a], 360]\n\t"
  17877. "umulh x6, x26, x10\n\t"
  17878. "adds x9, x9, x5\n\t"
  17879. "# a[i+47] += m[47] * mu\n\t"
  17880. "adc x6, x6, xzr\n\t"
  17881. "adds x9, x9, x7\n\t"
  17882. "mul x5, x27, x10\n\t"
  17883. "adc x6, x6, xzr\n\t"
  17884. "str x9, [%[a], 368]\n\t"
  17885. "ldp x8, x9, [%[a], 376]\n\t"
  17886. "umulh x7, x27, x10\n\t"
  17887. "adds x8, x8, x5\n\t"
  17888. "ldp x24, x25, [%[m], 384]\n\t"
  17889. "ldp x26, x27, [%[m], 400]\n\t"
  17890. "# a[i+48] += m[48] * mu\n\t"
  17891. "adc x7, x7, xzr\n\t"
  17892. "adds x8, x8, x6\n\t"
  17893. "mul x5, x24, x10\n\t"
  17894. "adc x7, x7, xzr\n\t"
  17895. "str x8, [%[a], 376]\n\t"
  17896. "umulh x6, x24, x10\n\t"
  17897. "adds x9, x9, x5\n\t"
  17898. "# a[i+49] += m[49] * mu\n\t"
  17899. "adc x6, x6, xzr\n\t"
  17900. "adds x9, x9, x7\n\t"
  17901. "mul x5, x25, x10\n\t"
  17902. "adc x6, x6, xzr\n\t"
  17903. "str x9, [%[a], 384]\n\t"
  17904. "ldp x8, x9, [%[a], 392]\n\t"
  17905. "umulh x7, x25, x10\n\t"
  17906. "adds x8, x8, x5\n\t"
  17907. "# a[i+50] += m[50] * mu\n\t"
  17908. "adc x7, x7, xzr\n\t"
  17909. "adds x8, x8, x6\n\t"
  17910. "mul x5, x26, x10\n\t"
  17911. "adc x7, x7, xzr\n\t"
  17912. "str x8, [%[a], 392]\n\t"
  17913. "umulh x6, x26, x10\n\t"
  17914. "adds x9, x9, x5\n\t"
  17915. "# a[i+51] += m[51] * mu\n\t"
  17916. "adc x6, x6, xzr\n\t"
  17917. "adds x9, x9, x7\n\t"
  17918. "mul x5, x27, x10\n\t"
  17919. "adc x6, x6, xzr\n\t"
  17920. "str x9, [%[a], 400]\n\t"
  17921. "ldp x8, x9, [%[a], 408]\n\t"
  17922. "umulh x7, x27, x10\n\t"
  17923. "adds x8, x8, x5\n\t"
  17924. "ldp x24, x25, [%[m], 416]\n\t"
  17925. "ldp x26, x27, [%[m], 432]\n\t"
  17926. "# a[i+52] += m[52] * mu\n\t"
  17927. "adc x7, x7, xzr\n\t"
  17928. "adds x8, x8, x6\n\t"
  17929. "mul x5, x24, x10\n\t"
  17930. "adc x7, x7, xzr\n\t"
  17931. "str x8, [%[a], 408]\n\t"
  17932. "umulh x6, x24, x10\n\t"
  17933. "adds x9, x9, x5\n\t"
  17934. "# a[i+53] += m[53] * mu\n\t"
  17935. "adc x6, x6, xzr\n\t"
  17936. "adds x9, x9, x7\n\t"
  17937. "mul x5, x25, x10\n\t"
  17938. "adc x6, x6, xzr\n\t"
  17939. "str x9, [%[a], 416]\n\t"
  17940. "ldp x8, x9, [%[a], 424]\n\t"
  17941. "umulh x7, x25, x10\n\t"
  17942. "adds x8, x8, x5\n\t"
  17943. "# a[i+54] += m[54] * mu\n\t"
  17944. "adc x7, x7, xzr\n\t"
  17945. "adds x8, x8, x6\n\t"
  17946. "mul x5, x26, x10\n\t"
  17947. "adc x7, x7, xzr\n\t"
  17948. "str x8, [%[a], 424]\n\t"
  17949. "umulh x6, x26, x10\n\t"
  17950. "adds x9, x9, x5\n\t"
  17951. "# a[i+55] += m[55] * mu\n\t"
  17952. "adc x6, x6, xzr\n\t"
  17953. "adds x9, x9, x7\n\t"
  17954. "mul x5, x27, x10\n\t"
  17955. "adc x6, x6, xzr\n\t"
  17956. "str x9, [%[a], 432]\n\t"
  17957. "ldp x8, x9, [%[a], 440]\n\t"
  17958. "umulh x7, x27, x10\n\t"
  17959. "adds x8, x8, x5\n\t"
  17960. "ldp x24, x25, [%[m], 448]\n\t"
  17961. "ldp x26, x27, [%[m], 464]\n\t"
  17962. "# a[i+56] += m[56] * mu\n\t"
  17963. "adc x7, x7, xzr\n\t"
  17964. "adds x8, x8, x6\n\t"
  17965. "mul x5, x24, x10\n\t"
  17966. "adc x7, x7, xzr\n\t"
  17967. "str x8, [%[a], 440]\n\t"
  17968. "umulh x6, x24, x10\n\t"
  17969. "adds x9, x9, x5\n\t"
  17970. "# a[i+57] += m[57] * mu\n\t"
  17971. "adc x6, x6, xzr\n\t"
  17972. "adds x9, x9, x7\n\t"
  17973. "mul x5, x25, x10\n\t"
  17974. "adc x6, x6, xzr\n\t"
  17975. "str x9, [%[a], 448]\n\t"
  17976. "ldp x8, x9, [%[a], 456]\n\t"
  17977. "umulh x7, x25, x10\n\t"
  17978. "adds x8, x8, x5\n\t"
  17979. "# a[i+58] += m[58] * mu\n\t"
  17980. "adc x7, x7, xzr\n\t"
  17981. "adds x8, x8, x6\n\t"
  17982. "mul x5, x26, x10\n\t"
  17983. "adc x7, x7, xzr\n\t"
  17984. "str x8, [%[a], 456]\n\t"
  17985. "umulh x6, x26, x10\n\t"
  17986. "adds x9, x9, x5\n\t"
  17987. "# a[i+59] += m[59] * mu\n\t"
  17988. "adc x6, x6, xzr\n\t"
  17989. "adds x9, x9, x7\n\t"
  17990. "mul x5, x27, x10\n\t"
  17991. "adc x6, x6, xzr\n\t"
  17992. "str x9, [%[a], 464]\n\t"
  17993. "ldp x8, x9, [%[a], 472]\n\t"
  17994. "umulh x7, x27, x10\n\t"
  17995. "adds x8, x8, x5\n\t"
  17996. "ldp x24, x25, [%[m], 480]\n\t"
  17997. "ldp x26, x27, [%[m], 496]\n\t"
  17998. "# a[i+60] += m[60] * mu\n\t"
  17999. "adc x7, x7, xzr\n\t"
  18000. "adds x8, x8, x6\n\t"
  18001. "mul x5, x24, x10\n\t"
  18002. "adc x7, x7, xzr\n\t"
  18003. "str x8, [%[a], 472]\n\t"
  18004. "umulh x6, x24, x10\n\t"
  18005. "adds x9, x9, x5\n\t"
  18006. "# a[i+61] += m[61] * mu\n\t"
  18007. "adc x6, x6, xzr\n\t"
  18008. "adds x9, x9, x7\n\t"
  18009. "mul x5, x25, x10\n\t"
  18010. "adc x6, x6, xzr\n\t"
  18011. "str x9, [%[a], 480]\n\t"
  18012. "ldp x8, x9, [%[a], 488]\n\t"
  18013. "umulh x7, x25, x10\n\t"
  18014. "adds x8, x8, x5\n\t"
  18015. "# a[i+62] += m[62] * mu\n\t"
  18016. "adc x7, x7, xzr\n\t"
  18017. "adds x8, x8, x6\n\t"
  18018. "mul x5, x26, x10\n\t"
  18019. "adc x7, x7, xzr\n\t"
  18020. "str x8, [%[a], 488]\n\t"
  18021. "umulh x6, x26, x10\n\t"
  18022. "adds x9, x9, x5\n\t"
  18023. "# a[i+63] += m[63] * mu\n\t"
  18024. "adc x6, x6, xzr\n\t"
  18025. "adds x9, x9, x7\n\t"
  18026. "mul x5, x27, x10\n\t"
  18027. "adc x6, x6, xzr\n\t"
  18028. "str x9, [%[a], 496]\n\t"
  18029. "umulh x7, x27, x10\n\t"
  18030. "ldp x8, x9, [%[a], 504]\n\t"
  18031. "adds x5, x5, x6\n\t"
  18032. "adcs x7, x7, x3\n\t"
  18033. "cset x3, cs\n\t"
  18034. "adds x8, x8, x5\n\t"
  18035. "str x8, [%[a], 504]\n\t"
  18036. "adcs x9, x9, x7\n\t"
  18037. "str x9, [%[a], 512]\n\t"
  18038. "adc x3, x3, xzr\n\t"
  18039. "subs x4, x4, 1\n\t"
  18040. "add %[a], %[a], 8\n\t"
  18041. "b.ne 1b\n\t"
  18042. "# Create mask\n\t"
  18043. "neg x3, x3\n\t"
  18044. "mov %[mp], %[a]\n\t"
  18045. "sub %[a], %[a], 512\n\t"
  18046. "# Subtract masked modulus\n\t"
  18047. "ldp x4, x5, [%[m], 0]\n\t"
  18048. "ldp x6, x7, [%[m], 16]\n\t"
  18049. "and x4, x4, x3\n\t"
  18050. "and x5, x5, x3\n\t"
  18051. "subs x11, x11, x4\n\t"
  18052. "and x6, x6, x3\n\t"
  18053. "sbcs x12, x12, x5\n\t"
  18054. "and x7, x7, x3\n\t"
  18055. "sbcs x13, x13, x6\n\t"
  18056. "stp x11, x12, [%[a], 0]\n\t"
  18057. "sbcs x14, x14, x7\n\t"
  18058. "stp x13, x14, [%[a], 16]\n\t"
  18059. "ldp x4, x5, [%[m], 32]\n\t"
  18060. "ldp x6, x7, [%[m], 48]\n\t"
  18061. "and x4, x4, x3\n\t"
  18062. "and x5, x5, x3\n\t"
  18063. "sbcs x15, x15, x4\n\t"
  18064. "and x6, x6, x3\n\t"
  18065. "sbcs x16, x16, x5\n\t"
  18066. "and x7, x7, x3\n\t"
  18067. "sbcs x17, x17, x6\n\t"
  18068. "stp x15, x16, [%[a], 32]\n\t"
  18069. "sbcs x19, x19, x7\n\t"
  18070. "stp x17, x19, [%[a], 48]\n\t"
  18071. "ldp x4, x5, [%[m], 64]\n\t"
  18072. "ldp x6, x7, [%[m], 80]\n\t"
  18073. "and x4, x4, x3\n\t"
  18074. "and x5, x5, x3\n\t"
  18075. "sbcs x20, x20, x4\n\t"
  18076. "and x6, x6, x3\n\t"
  18077. "sbcs x21, x21, x5\n\t"
  18078. "and x7, x7, x3\n\t"
  18079. "sbcs x22, x22, x6\n\t"
  18080. "stp x20, x21, [%[a], 64]\n\t"
  18081. "sbcs x23, x23, x7\n\t"
  18082. "stp x22, x23, [%[a], 80]\n\t"
  18083. "ldp x4, x5, [%[m], 96]\n\t"
  18084. "ldp x6, x7, [%[m], 112]\n\t"
  18085. "ldp x8, x9, [%[mp], 96]\n\t"
  18086. "ldp x10, x11, [%[mp], 112]\n\t"
  18087. "and x4, x4, x3\n\t"
  18088. "and x5, x5, x3\n\t"
  18089. "sbcs x8, x8, x4\n\t"
  18090. "and x6, x6, x3\n\t"
  18091. "sbcs x9, x9, x5\n\t"
  18092. "and x7, x7, x3\n\t"
  18093. "sbcs x10, x10, x6\n\t"
  18094. "stp x8, x9, [%[a], 96]\n\t"
  18095. "sbcs x11, x11, x7\n\t"
  18096. "stp x10, x11, [%[a], 112]\n\t"
  18097. "ldp x4, x5, [%[m], 128]\n\t"
  18098. "ldp x6, x7, [%[m], 144]\n\t"
  18099. "ldp x8, x9, [%[mp], 128]\n\t"
  18100. "ldp x10, x11, [%[mp], 144]\n\t"
  18101. "and x4, x4, x3\n\t"
  18102. "and x5, x5, x3\n\t"
  18103. "sbcs x8, x8, x4\n\t"
  18104. "and x6, x6, x3\n\t"
  18105. "sbcs x9, x9, x5\n\t"
  18106. "and x7, x7, x3\n\t"
  18107. "sbcs x10, x10, x6\n\t"
  18108. "stp x8, x9, [%[a], 128]\n\t"
  18109. "sbcs x11, x11, x7\n\t"
  18110. "stp x10, x11, [%[a], 144]\n\t"
  18111. "ldp x4, x5, [%[m], 160]\n\t"
  18112. "ldp x6, x7, [%[m], 176]\n\t"
  18113. "ldp x8, x9, [%[mp], 160]\n\t"
  18114. "ldp x10, x11, [%[mp], 176]\n\t"
  18115. "and x4, x4, x3\n\t"
  18116. "and x5, x5, x3\n\t"
  18117. "sbcs x8, x8, x4\n\t"
  18118. "and x6, x6, x3\n\t"
  18119. "sbcs x9, x9, x5\n\t"
  18120. "and x7, x7, x3\n\t"
  18121. "sbcs x10, x10, x6\n\t"
  18122. "stp x8, x9, [%[a], 160]\n\t"
  18123. "sbcs x11, x11, x7\n\t"
  18124. "stp x10, x11, [%[a], 176]\n\t"
  18125. "ldp x4, x5, [%[m], 192]\n\t"
  18126. "ldp x6, x7, [%[m], 208]\n\t"
  18127. "ldp x8, x9, [%[mp], 192]\n\t"
  18128. "ldp x10, x11, [%[mp], 208]\n\t"
  18129. "and x4, x4, x3\n\t"
  18130. "and x5, x5, x3\n\t"
  18131. "sbcs x8, x8, x4\n\t"
  18132. "and x6, x6, x3\n\t"
  18133. "sbcs x9, x9, x5\n\t"
  18134. "and x7, x7, x3\n\t"
  18135. "sbcs x10, x10, x6\n\t"
  18136. "stp x8, x9, [%[a], 192]\n\t"
  18137. "sbcs x11, x11, x7\n\t"
  18138. "stp x10, x11, [%[a], 208]\n\t"
  18139. "ldp x4, x5, [%[m], 224]\n\t"
  18140. "ldp x6, x7, [%[m], 240]\n\t"
  18141. "ldp x8, x9, [%[mp], 224]\n\t"
  18142. "ldp x10, x11, [%[mp], 240]\n\t"
  18143. "and x4, x4, x3\n\t"
  18144. "and x5, x5, x3\n\t"
  18145. "sbcs x8, x8, x4\n\t"
  18146. "and x6, x6, x3\n\t"
  18147. "sbcs x9, x9, x5\n\t"
  18148. "and x7, x7, x3\n\t"
  18149. "sbcs x10, x10, x6\n\t"
  18150. "stp x8, x9, [%[a], 224]\n\t"
  18151. "sbcs x11, x11, x7\n\t"
  18152. "stp x10, x11, [%[a], 240]\n\t"
  18153. "ldp x4, x5, [%[m], 256]\n\t"
  18154. "ldp x6, x7, [%[m], 272]\n\t"
  18155. "ldp x8, x9, [%[mp], 256]\n\t"
  18156. "ldp x10, x11, [%[mp], 272]\n\t"
  18157. "and x4, x4, x3\n\t"
  18158. "and x5, x5, x3\n\t"
  18159. "sbcs x8, x8, x4\n\t"
  18160. "and x6, x6, x3\n\t"
  18161. "sbcs x9, x9, x5\n\t"
  18162. "and x7, x7, x3\n\t"
  18163. "sbcs x10, x10, x6\n\t"
  18164. "stp x8, x9, [%[a], 256]\n\t"
  18165. "sbcs x11, x11, x7\n\t"
  18166. "stp x10, x11, [%[a], 272]\n\t"
  18167. "ldp x4, x5, [%[m], 288]\n\t"
  18168. "ldp x6, x7, [%[m], 304]\n\t"
  18169. "ldp x8, x9, [%[mp], 288]\n\t"
  18170. "ldp x10, x11, [%[mp], 304]\n\t"
  18171. "and x4, x4, x3\n\t"
  18172. "and x5, x5, x3\n\t"
  18173. "sbcs x8, x8, x4\n\t"
  18174. "and x6, x6, x3\n\t"
  18175. "sbcs x9, x9, x5\n\t"
  18176. "and x7, x7, x3\n\t"
  18177. "sbcs x10, x10, x6\n\t"
  18178. "stp x8, x9, [%[a], 288]\n\t"
  18179. "sbcs x11, x11, x7\n\t"
  18180. "stp x10, x11, [%[a], 304]\n\t"
  18181. "ldp x4, x5, [%[m], 320]\n\t"
  18182. "ldp x6, x7, [%[m], 336]\n\t"
  18183. "ldp x8, x9, [%[mp], 320]\n\t"
  18184. "ldp x10, x11, [%[mp], 336]\n\t"
  18185. "and x4, x4, x3\n\t"
  18186. "and x5, x5, x3\n\t"
  18187. "sbcs x8, x8, x4\n\t"
  18188. "and x6, x6, x3\n\t"
  18189. "sbcs x9, x9, x5\n\t"
  18190. "and x7, x7, x3\n\t"
  18191. "sbcs x10, x10, x6\n\t"
  18192. "stp x8, x9, [%[a], 320]\n\t"
  18193. "sbcs x11, x11, x7\n\t"
  18194. "stp x10, x11, [%[a], 336]\n\t"
  18195. "ldp x4, x5, [%[m], 352]\n\t"
  18196. "ldp x6, x7, [%[m], 368]\n\t"
  18197. "ldp x8, x9, [%[mp], 352]\n\t"
  18198. "ldp x10, x11, [%[mp], 368]\n\t"
  18199. "and x4, x4, x3\n\t"
  18200. "and x5, x5, x3\n\t"
  18201. "sbcs x8, x8, x4\n\t"
  18202. "and x6, x6, x3\n\t"
  18203. "sbcs x9, x9, x5\n\t"
  18204. "and x7, x7, x3\n\t"
  18205. "sbcs x10, x10, x6\n\t"
  18206. "stp x8, x9, [%[a], 352]\n\t"
  18207. "sbcs x11, x11, x7\n\t"
  18208. "stp x10, x11, [%[a], 368]\n\t"
  18209. "ldp x4, x5, [%[m], 384]\n\t"
  18210. "ldp x6, x7, [%[m], 400]\n\t"
  18211. "ldp x8, x9, [%[mp], 384]\n\t"
  18212. "ldp x10, x11, [%[mp], 400]\n\t"
  18213. "and x4, x4, x3\n\t"
  18214. "and x5, x5, x3\n\t"
  18215. "sbcs x8, x8, x4\n\t"
  18216. "and x6, x6, x3\n\t"
  18217. "sbcs x9, x9, x5\n\t"
  18218. "and x7, x7, x3\n\t"
  18219. "sbcs x10, x10, x6\n\t"
  18220. "stp x8, x9, [%[a], 384]\n\t"
  18221. "sbcs x11, x11, x7\n\t"
  18222. "stp x10, x11, [%[a], 400]\n\t"
  18223. "ldp x4, x5, [%[m], 416]\n\t"
  18224. "ldp x6, x7, [%[m], 432]\n\t"
  18225. "ldp x8, x9, [%[mp], 416]\n\t"
  18226. "ldp x10, x11, [%[mp], 432]\n\t"
  18227. "and x4, x4, x3\n\t"
  18228. "and x5, x5, x3\n\t"
  18229. "sbcs x8, x8, x4\n\t"
  18230. "and x6, x6, x3\n\t"
  18231. "sbcs x9, x9, x5\n\t"
  18232. "and x7, x7, x3\n\t"
  18233. "sbcs x10, x10, x6\n\t"
  18234. "stp x8, x9, [%[a], 416]\n\t"
  18235. "sbcs x11, x11, x7\n\t"
  18236. "stp x10, x11, [%[a], 432]\n\t"
  18237. "ldp x4, x5, [%[m], 448]\n\t"
  18238. "ldp x6, x7, [%[m], 464]\n\t"
  18239. "ldp x8, x9, [%[mp], 448]\n\t"
  18240. "ldp x10, x11, [%[mp], 464]\n\t"
  18241. "and x4, x4, x3\n\t"
  18242. "and x5, x5, x3\n\t"
  18243. "sbcs x8, x8, x4\n\t"
  18244. "and x6, x6, x3\n\t"
  18245. "sbcs x9, x9, x5\n\t"
  18246. "and x7, x7, x3\n\t"
  18247. "sbcs x10, x10, x6\n\t"
  18248. "stp x8, x9, [%[a], 448]\n\t"
  18249. "sbcs x11, x11, x7\n\t"
  18250. "stp x10, x11, [%[a], 464]\n\t"
  18251. "ldp x4, x5, [%[m], 480]\n\t"
  18252. "ldp x6, x7, [%[m], 496]\n\t"
  18253. "ldp x8, x9, [%[mp], 480]\n\t"
  18254. "ldp x10, x11, [%[mp], 496]\n\t"
  18255. "and x4, x4, x3\n\t"
  18256. "and x5, x5, x3\n\t"
  18257. "sbcs x8, x8, x4\n\t"
  18258. "and x6, x6, x3\n\t"
  18259. "sbcs x9, x9, x5\n\t"
  18260. "and x7, x7, x3\n\t"
  18261. "sbcs x10, x10, x6\n\t"
  18262. "stp x8, x9, [%[a], 480]\n\t"
  18263. "sbcs x11, x11, x7\n\t"
  18264. "stp x10, x11, [%[a], 496]\n\t"
  18265. : [a] "+r" (a), [mp] "+r" (mp)
  18266. : [m] "r" (m)
  18267. : "memory", "x3", "x4", "x5", "x6", "x7", "x10", "x8", "x9", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27"
  18268. );
  18269. }
  18270. /* Multiply two Montgomery form numbers mod the modulus (prime).
  18271. * (r = a * b mod m)
  18272. *
  18273. * r Result of multiplication.
  18274. * a First number to multiply in Montgomery form.
  18275. * b Second number to multiply in Montgomery form.
  18276. * m Modulus (prime).
  18277. * mp Montgomery mulitplier.
  18278. */
  18279. SP_NOINLINE static void sp_4096_mont_mul_64(sp_digit* r, const sp_digit* a,
  18280. const sp_digit* b, const sp_digit* m, sp_digit mp)
  18281. {
  18282. sp_4096_mul_64(r, a, b);
  18283. sp_4096_mont_reduce_64(r, m, mp);
  18284. }
  18285. /* Square the Montgomery form number. (r = a * a mod m)
  18286. *
  18287. * r Result of squaring.
  18288. * a Number to square in Montgomery form.
  18289. * m Modulus (prime).
  18290. * mp Montgomery mulitplier.
  18291. */
  18292. SP_NOINLINE static void sp_4096_mont_sqr_64(sp_digit* r, const sp_digit* a,
  18293. const sp_digit* m, sp_digit mp)
  18294. {
  18295. sp_4096_sqr_64(r, a);
  18296. sp_4096_mont_reduce_64(r, m, mp);
  18297. }
  18298. #ifdef WOLFSSL_SP_SMALL
  18299. /* Sub b from a into r. (r = a - b)
  18300. *
  18301. * r A single precision integer.
  18302. * a A single precision integer.
  18303. * b A single precision integer.
  18304. */
  18305. static sp_digit sp_4096_sub_64(sp_digit* r, const sp_digit* a,
  18306. const sp_digit* b)
  18307. {
  18308. sp_digit c = 0;
  18309. __asm__ __volatile__ (
  18310. "add x11, %[a], 512\n\t"
  18311. "\n1:\n\t"
  18312. "subs %[c], xzr, %[c]\n\t"
  18313. "ldp x3, x4, [%[a]], #16\n\t"
  18314. "ldp x5, x6, [%[a]], #16\n\t"
  18315. "ldp x7, x8, [%[b]], #16\n\t"
  18316. "sbcs x3, x3, x7\n\t"
  18317. "ldp x9, x10, [%[b]], #16\n\t"
  18318. "sbcs x4, x4, x8\n\t"
  18319. "sbcs x5, x5, x9\n\t"
  18320. "stp x3, x4, [%[r]], #16\n\t"
  18321. "sbcs x6, x6, x10\n\t"
  18322. "stp x5, x6, [%[r]], #16\n\t"
  18323. "csetm %[c], cc\n\t"
  18324. "cmp %[a], x11\n\t"
  18325. "b.ne 1b\n\t"
  18326. : [c] "+r" (c), [r] "+r" (r), [a] "+r" (a), [b] "+r" (b)
  18327. :
  18328. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  18329. );
  18330. return c;
  18331. }
  18332. #else
  18333. /* Sub b from a into r. (r = a - b)
  18334. *
  18335. * r A single precision integer.
  18336. * a A single precision integer.
  18337. * b A single precision integer.
  18338. */
  18339. static sp_digit sp_4096_sub_64(sp_digit* r, const sp_digit* a,
  18340. const sp_digit* b)
  18341. {
  18342. __asm__ __volatile__ (
  18343. "ldp x3, x4, [%[a], 0]\n\t"
  18344. "ldp x7, x8, [%[b], 0]\n\t"
  18345. "subs x3, x3, x7\n\t"
  18346. "ldp x5, x6, [%[a], 16]\n\t"
  18347. "sbcs x4, x4, x8\n\t"
  18348. "ldp x9, x10, [%[b], 16]\n\t"
  18349. "sbcs x5, x5, x9\n\t"
  18350. "stp x3, x4, [%[r], 0]\n\t"
  18351. "sbcs x6, x6, x10\n\t"
  18352. "stp x5, x6, [%[r], 16]\n\t"
  18353. "ldp x3, x4, [%[a], 32]\n\t"
  18354. "ldp x7, x8, [%[b], 32]\n\t"
  18355. "sbcs x3, x3, x7\n\t"
  18356. "ldp x5, x6, [%[a], 48]\n\t"
  18357. "sbcs x4, x4, x8\n\t"
  18358. "ldp x9, x10, [%[b], 48]\n\t"
  18359. "sbcs x5, x5, x9\n\t"
  18360. "stp x3, x4, [%[r], 32]\n\t"
  18361. "sbcs x6, x6, x10\n\t"
  18362. "stp x5, x6, [%[r], 48]\n\t"
  18363. "ldp x3, x4, [%[a], 64]\n\t"
  18364. "ldp x7, x8, [%[b], 64]\n\t"
  18365. "sbcs x3, x3, x7\n\t"
  18366. "ldp x5, x6, [%[a], 80]\n\t"
  18367. "sbcs x4, x4, x8\n\t"
  18368. "ldp x9, x10, [%[b], 80]\n\t"
  18369. "sbcs x5, x5, x9\n\t"
  18370. "stp x3, x4, [%[r], 64]\n\t"
  18371. "sbcs x6, x6, x10\n\t"
  18372. "stp x5, x6, [%[r], 80]\n\t"
  18373. "ldp x3, x4, [%[a], 96]\n\t"
  18374. "ldp x7, x8, [%[b], 96]\n\t"
  18375. "sbcs x3, x3, x7\n\t"
  18376. "ldp x5, x6, [%[a], 112]\n\t"
  18377. "sbcs x4, x4, x8\n\t"
  18378. "ldp x9, x10, [%[b], 112]\n\t"
  18379. "sbcs x5, x5, x9\n\t"
  18380. "stp x3, x4, [%[r], 96]\n\t"
  18381. "sbcs x6, x6, x10\n\t"
  18382. "stp x5, x6, [%[r], 112]\n\t"
  18383. "ldp x3, x4, [%[a], 128]\n\t"
  18384. "ldp x7, x8, [%[b], 128]\n\t"
  18385. "sbcs x3, x3, x7\n\t"
  18386. "ldp x5, x6, [%[a], 144]\n\t"
  18387. "sbcs x4, x4, x8\n\t"
  18388. "ldp x9, x10, [%[b], 144]\n\t"
  18389. "sbcs x5, x5, x9\n\t"
  18390. "stp x3, x4, [%[r], 128]\n\t"
  18391. "sbcs x6, x6, x10\n\t"
  18392. "stp x5, x6, [%[r], 144]\n\t"
  18393. "ldp x3, x4, [%[a], 160]\n\t"
  18394. "ldp x7, x8, [%[b], 160]\n\t"
  18395. "sbcs x3, x3, x7\n\t"
  18396. "ldp x5, x6, [%[a], 176]\n\t"
  18397. "sbcs x4, x4, x8\n\t"
  18398. "ldp x9, x10, [%[b], 176]\n\t"
  18399. "sbcs x5, x5, x9\n\t"
  18400. "stp x3, x4, [%[r], 160]\n\t"
  18401. "sbcs x6, x6, x10\n\t"
  18402. "stp x5, x6, [%[r], 176]\n\t"
  18403. "ldp x3, x4, [%[a], 192]\n\t"
  18404. "ldp x7, x8, [%[b], 192]\n\t"
  18405. "sbcs x3, x3, x7\n\t"
  18406. "ldp x5, x6, [%[a], 208]\n\t"
  18407. "sbcs x4, x4, x8\n\t"
  18408. "ldp x9, x10, [%[b], 208]\n\t"
  18409. "sbcs x5, x5, x9\n\t"
  18410. "stp x3, x4, [%[r], 192]\n\t"
  18411. "sbcs x6, x6, x10\n\t"
  18412. "stp x5, x6, [%[r], 208]\n\t"
  18413. "ldp x3, x4, [%[a], 224]\n\t"
  18414. "ldp x7, x8, [%[b], 224]\n\t"
  18415. "sbcs x3, x3, x7\n\t"
  18416. "ldp x5, x6, [%[a], 240]\n\t"
  18417. "sbcs x4, x4, x8\n\t"
  18418. "ldp x9, x10, [%[b], 240]\n\t"
  18419. "sbcs x5, x5, x9\n\t"
  18420. "stp x3, x4, [%[r], 224]\n\t"
  18421. "sbcs x6, x6, x10\n\t"
  18422. "stp x5, x6, [%[r], 240]\n\t"
  18423. "ldp x3, x4, [%[a], 256]\n\t"
  18424. "ldp x7, x8, [%[b], 256]\n\t"
  18425. "sbcs x3, x3, x7\n\t"
  18426. "ldp x5, x6, [%[a], 272]\n\t"
  18427. "sbcs x4, x4, x8\n\t"
  18428. "ldp x9, x10, [%[b], 272]\n\t"
  18429. "sbcs x5, x5, x9\n\t"
  18430. "stp x3, x4, [%[r], 256]\n\t"
  18431. "sbcs x6, x6, x10\n\t"
  18432. "stp x5, x6, [%[r], 272]\n\t"
  18433. "ldp x3, x4, [%[a], 288]\n\t"
  18434. "ldp x7, x8, [%[b], 288]\n\t"
  18435. "sbcs x3, x3, x7\n\t"
  18436. "ldp x5, x6, [%[a], 304]\n\t"
  18437. "sbcs x4, x4, x8\n\t"
  18438. "ldp x9, x10, [%[b], 304]\n\t"
  18439. "sbcs x5, x5, x9\n\t"
  18440. "stp x3, x4, [%[r], 288]\n\t"
  18441. "sbcs x6, x6, x10\n\t"
  18442. "stp x5, x6, [%[r], 304]\n\t"
  18443. "ldp x3, x4, [%[a], 320]\n\t"
  18444. "ldp x7, x8, [%[b], 320]\n\t"
  18445. "sbcs x3, x3, x7\n\t"
  18446. "ldp x5, x6, [%[a], 336]\n\t"
  18447. "sbcs x4, x4, x8\n\t"
  18448. "ldp x9, x10, [%[b], 336]\n\t"
  18449. "sbcs x5, x5, x9\n\t"
  18450. "stp x3, x4, [%[r], 320]\n\t"
  18451. "sbcs x6, x6, x10\n\t"
  18452. "stp x5, x6, [%[r], 336]\n\t"
  18453. "ldp x3, x4, [%[a], 352]\n\t"
  18454. "ldp x7, x8, [%[b], 352]\n\t"
  18455. "sbcs x3, x3, x7\n\t"
  18456. "ldp x5, x6, [%[a], 368]\n\t"
  18457. "sbcs x4, x4, x8\n\t"
  18458. "ldp x9, x10, [%[b], 368]\n\t"
  18459. "sbcs x5, x5, x9\n\t"
  18460. "stp x3, x4, [%[r], 352]\n\t"
  18461. "sbcs x6, x6, x10\n\t"
  18462. "stp x5, x6, [%[r], 368]\n\t"
  18463. "ldp x3, x4, [%[a], 384]\n\t"
  18464. "ldp x7, x8, [%[b], 384]\n\t"
  18465. "sbcs x3, x3, x7\n\t"
  18466. "ldp x5, x6, [%[a], 400]\n\t"
  18467. "sbcs x4, x4, x8\n\t"
  18468. "ldp x9, x10, [%[b], 400]\n\t"
  18469. "sbcs x5, x5, x9\n\t"
  18470. "stp x3, x4, [%[r], 384]\n\t"
  18471. "sbcs x6, x6, x10\n\t"
  18472. "stp x5, x6, [%[r], 400]\n\t"
  18473. "ldp x3, x4, [%[a], 416]\n\t"
  18474. "ldp x7, x8, [%[b], 416]\n\t"
  18475. "sbcs x3, x3, x7\n\t"
  18476. "ldp x5, x6, [%[a], 432]\n\t"
  18477. "sbcs x4, x4, x8\n\t"
  18478. "ldp x9, x10, [%[b], 432]\n\t"
  18479. "sbcs x5, x5, x9\n\t"
  18480. "stp x3, x4, [%[r], 416]\n\t"
  18481. "sbcs x6, x6, x10\n\t"
  18482. "stp x5, x6, [%[r], 432]\n\t"
  18483. "ldp x3, x4, [%[a], 448]\n\t"
  18484. "ldp x7, x8, [%[b], 448]\n\t"
  18485. "sbcs x3, x3, x7\n\t"
  18486. "ldp x5, x6, [%[a], 464]\n\t"
  18487. "sbcs x4, x4, x8\n\t"
  18488. "ldp x9, x10, [%[b], 464]\n\t"
  18489. "sbcs x5, x5, x9\n\t"
  18490. "stp x3, x4, [%[r], 448]\n\t"
  18491. "sbcs x6, x6, x10\n\t"
  18492. "stp x5, x6, [%[r], 464]\n\t"
  18493. "ldp x3, x4, [%[a], 480]\n\t"
  18494. "ldp x7, x8, [%[b], 480]\n\t"
  18495. "sbcs x3, x3, x7\n\t"
  18496. "ldp x5, x6, [%[a], 496]\n\t"
  18497. "sbcs x4, x4, x8\n\t"
  18498. "ldp x9, x10, [%[b], 496]\n\t"
  18499. "sbcs x5, x5, x9\n\t"
  18500. "stp x3, x4, [%[r], 480]\n\t"
  18501. "sbcs x6, x6, x10\n\t"
  18502. "stp x5, x6, [%[r], 496]\n\t"
  18503. "csetm %[r], cc\n\t"
  18504. : [r] "+r" (r)
  18505. : [a] "r" (a), [b] "r" (b)
  18506. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  18507. );
  18508. return (sp_digit)r;
  18509. }
  18510. #endif /* WOLFSSL_SP_SMALL */
  18511. /* Divide the double width number (d1|d0) by the divisor. (d1|d0 / div)
  18512. *
  18513. * Assumes divisor has higest bit set.
  18514. *
  18515. * d1 The high order half of the number to divide.
  18516. * d0 The low order half of the number to divide.
  18517. * div The divisor.
  18518. * returns the result of the division.
  18519. */
  18520. static sp_digit div_4096_word_64_cond(sp_digit d1, sp_digit d0, sp_digit div)
  18521. {
  18522. __asm__ __volatile__ (
  18523. "lsr x8, %[div], 32\n\t"
  18524. "add x5, x8, 1\n\t"
  18525. "udiv x3, %[d1], x5\n\t"
  18526. "lsl x7, %[div], 32\n\t"
  18527. "movz x9, #1, lsl 32\n\t"
  18528. "lsl x6, x3, 32\n\t"
  18529. "mul x4, %[div], x6\n\t"
  18530. "umulh x3, %[div], x6\n\t"
  18531. "subs %[d0], %[d0], x4\n\t"
  18532. "sbc %[d1], %[d1], x3\n\t"
  18533. "cmp %[d1], x5\n\t"
  18534. "b.lt 1f\n\t"
  18535. "subs %[d0], %[d0], x7\n\t"
  18536. "add x6, x6, x9\n\t"
  18537. "sbc %[d1], %[d1], x8\n\t"
  18538. "1:\n\t"
  18539. "extr x3, %[d1], %[d0], 32\n\t"
  18540. "udiv x3, x3, x5\n\t"
  18541. "add x6, x6, x3\n\t"
  18542. "mul x4, %[div], x3\n\t"
  18543. "umulh x3, %[div], x3\n\t"
  18544. "subs %[d0], %[d0], x4\n\t"
  18545. "sbc %[d1], %[d1], x3\n\t"
  18546. "extr x3, %[d1], %[d0], 32\n\t"
  18547. "cmp x3, x5\n\t"
  18548. "b.lt 2f\n\t"
  18549. "udiv x3, x3, x5\n\t"
  18550. "add x6, x6, x3\n\t"
  18551. "mul x4, %[div], x3\n\t"
  18552. "sub %[d0], %[d0], x4\n\t"
  18553. "2:\n\t"
  18554. "udiv x3, %[d0], %[div]\n\t"
  18555. "add %[d1], x6, x3\n\t"
  18556. : [d1] "+r" (d1), [d0] "+r" (d0)
  18557. : [div] "r" (div)
  18558. : "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  18559. );
  18560. return d1;
  18561. }
  18562. /* Divide d in a and put remainder into r (m*d + r = a)
  18563. * m is not calculated as it is not needed at this time.
  18564. *
  18565. * a Number to be divided.
  18566. * d Number to divide with.
  18567. * m Multiplier result.
  18568. * r Remainder from the division.
  18569. * returns MP_OKAY indicating success.
  18570. */
  18571. static WC_INLINE int sp_4096_div_64_cond(const sp_digit* a, const sp_digit* d, sp_digit* m,
  18572. sp_digit* r)
  18573. {
  18574. sp_digit t1[128], t2[65];
  18575. sp_digit div, r1;
  18576. int i;
  18577. (void)m;
  18578. div = d[63];
  18579. XMEMCPY(t1, a, sizeof(*t1) * 2 * 64);
  18580. for (i = 63; i > 0; i--) {
  18581. if (t1[i + 64] != d[i])
  18582. break;
  18583. }
  18584. if (t1[i + 64] >= d[i]) {
  18585. sp_4096_sub_in_place_64(&t1[64], d);
  18586. }
  18587. for (i = 63; i >= 0; i--) {
  18588. if (t1[64 + i] == div) {
  18589. r1 = SP_DIGIT_MAX;
  18590. }
  18591. else {
  18592. r1 = div_4096_word_64_cond(t1[64 + i], t1[64 + i - 1], div);
  18593. }
  18594. sp_4096_mul_d_64(t2, d, r1);
  18595. t1[64 + i] += sp_4096_sub_in_place_64(&t1[i], t2);
  18596. t1[64 + i] -= t2[64];
  18597. if (t1[64 + i] != 0) {
  18598. t1[64 + i] += sp_4096_add_64(&t1[i], &t1[i], d);
  18599. if (t1[64 + i] != 0)
  18600. t1[64 + i] += sp_4096_add_64(&t1[i], &t1[i], d);
  18601. }
  18602. }
  18603. for (i = 63; i > 0; i--) {
  18604. if (t1[i] != d[i])
  18605. break;
  18606. }
  18607. if (t1[i] >= d[i]) {
  18608. sp_4096_sub_64(r, t1, d);
  18609. }
  18610. else {
  18611. XMEMCPY(r, t1, sizeof(*t1) * 64);
  18612. }
  18613. return MP_OKAY;
  18614. }
  18615. /* Reduce a modulo m into r. (r = a mod m)
  18616. *
  18617. * r A single precision number that is the reduced result.
  18618. * a A single precision number that is to be reduced.
  18619. * m A single precision number that is the modulus to reduce with.
  18620. * returns MP_OKAY indicating success.
  18621. */
  18622. static WC_INLINE int sp_4096_mod_64_cond(sp_digit* r, const sp_digit* a, const sp_digit* m)
  18623. {
  18624. return sp_4096_div_64_cond(a, m, NULL, r);
  18625. }
  18626. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
  18627. /* Conditionally subtract b from a using the mask m.
  18628. * m is -1 to subtract and 0 when not copying.
  18629. *
  18630. * r A single precision number representing condition subtract result.
  18631. * a A single precision number to subtract from.
  18632. * b A single precision number to subtract.
  18633. * m Mask value to apply.
  18634. */
  18635. static sp_digit sp_4096_cond_sub_64(sp_digit* r, const sp_digit* a, const sp_digit* b,
  18636. sp_digit m)
  18637. {
  18638. #ifdef WOLFSSL_SP_SMALL
  18639. sp_digit c = 0;
  18640. __asm__ __volatile__ (
  18641. "mov x8, #0\n\t"
  18642. "1:\n\t"
  18643. "subs %[c], xzr, %[c]\n\t"
  18644. "ldr x4, [%[a], x8]\n\t"
  18645. "ldr x5, [%[b], x8]\n\t"
  18646. "and x5, x5, %[m]\n\t"
  18647. "sbcs x4, x4, x5\n\t"
  18648. "csetm %[c], cc\n\t"
  18649. "str x4, [%[r], x8]\n\t"
  18650. "add x8, x8, #8\n\t"
  18651. "cmp x8, 512\n\t"
  18652. "b.lt 1b\n\t"
  18653. : [c] "+r" (c)
  18654. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  18655. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  18656. );
  18657. return c;
  18658. #else
  18659. __asm__ __volatile__ (
  18660. "ldp x5, x7, [%[b], 0]\n\t"
  18661. "ldp x11, x12, [%[b], 16]\n\t"
  18662. "ldp x4, x6, [%[a], 0]\n\t"
  18663. "and x5, x5, %[m]\n\t"
  18664. "ldp x9, x10, [%[a], 16]\n\t"
  18665. "and x7, x7, %[m]\n\t"
  18666. "subs x4, x4, x5\n\t"
  18667. "and x11, x11, %[m]\n\t"
  18668. "sbcs x6, x6, x7\n\t"
  18669. "and x12, x12, %[m]\n\t"
  18670. "sbcs x9, x9, x11\n\t"
  18671. "stp x4, x6, [%[r], 0]\n\t"
  18672. "sbcs x10, x10, x12\n\t"
  18673. "stp x9, x10, [%[r], 16]\n\t"
  18674. "ldp x5, x7, [%[b], 32]\n\t"
  18675. "ldp x11, x12, [%[b], 48]\n\t"
  18676. "ldp x4, x6, [%[a], 32]\n\t"
  18677. "and x5, x5, %[m]\n\t"
  18678. "ldp x9, x10, [%[a], 48]\n\t"
  18679. "and x7, x7, %[m]\n\t"
  18680. "sbcs x4, x4, x5\n\t"
  18681. "and x11, x11, %[m]\n\t"
  18682. "sbcs x6, x6, x7\n\t"
  18683. "and x12, x12, %[m]\n\t"
  18684. "sbcs x9, x9, x11\n\t"
  18685. "stp x4, x6, [%[r], 32]\n\t"
  18686. "sbcs x10, x10, x12\n\t"
  18687. "stp x9, x10, [%[r], 48]\n\t"
  18688. "ldp x5, x7, [%[b], 64]\n\t"
  18689. "ldp x11, x12, [%[b], 80]\n\t"
  18690. "ldp x4, x6, [%[a], 64]\n\t"
  18691. "and x5, x5, %[m]\n\t"
  18692. "ldp x9, x10, [%[a], 80]\n\t"
  18693. "and x7, x7, %[m]\n\t"
  18694. "sbcs x4, x4, x5\n\t"
  18695. "and x11, x11, %[m]\n\t"
  18696. "sbcs x6, x6, x7\n\t"
  18697. "and x12, x12, %[m]\n\t"
  18698. "sbcs x9, x9, x11\n\t"
  18699. "stp x4, x6, [%[r], 64]\n\t"
  18700. "sbcs x10, x10, x12\n\t"
  18701. "stp x9, x10, [%[r], 80]\n\t"
  18702. "ldp x5, x7, [%[b], 96]\n\t"
  18703. "ldp x11, x12, [%[b], 112]\n\t"
  18704. "ldp x4, x6, [%[a], 96]\n\t"
  18705. "and x5, x5, %[m]\n\t"
  18706. "ldp x9, x10, [%[a], 112]\n\t"
  18707. "and x7, x7, %[m]\n\t"
  18708. "sbcs x4, x4, x5\n\t"
  18709. "and x11, x11, %[m]\n\t"
  18710. "sbcs x6, x6, x7\n\t"
  18711. "and x12, x12, %[m]\n\t"
  18712. "sbcs x9, x9, x11\n\t"
  18713. "stp x4, x6, [%[r], 96]\n\t"
  18714. "sbcs x10, x10, x12\n\t"
  18715. "stp x9, x10, [%[r], 112]\n\t"
  18716. "ldp x5, x7, [%[b], 128]\n\t"
  18717. "ldp x11, x12, [%[b], 144]\n\t"
  18718. "ldp x4, x6, [%[a], 128]\n\t"
  18719. "and x5, x5, %[m]\n\t"
  18720. "ldp x9, x10, [%[a], 144]\n\t"
  18721. "and x7, x7, %[m]\n\t"
  18722. "sbcs x4, x4, x5\n\t"
  18723. "and x11, x11, %[m]\n\t"
  18724. "sbcs x6, x6, x7\n\t"
  18725. "and x12, x12, %[m]\n\t"
  18726. "sbcs x9, x9, x11\n\t"
  18727. "stp x4, x6, [%[r], 128]\n\t"
  18728. "sbcs x10, x10, x12\n\t"
  18729. "stp x9, x10, [%[r], 144]\n\t"
  18730. "ldp x5, x7, [%[b], 160]\n\t"
  18731. "ldp x11, x12, [%[b], 176]\n\t"
  18732. "ldp x4, x6, [%[a], 160]\n\t"
  18733. "and x5, x5, %[m]\n\t"
  18734. "ldp x9, x10, [%[a], 176]\n\t"
  18735. "and x7, x7, %[m]\n\t"
  18736. "sbcs x4, x4, x5\n\t"
  18737. "and x11, x11, %[m]\n\t"
  18738. "sbcs x6, x6, x7\n\t"
  18739. "and x12, x12, %[m]\n\t"
  18740. "sbcs x9, x9, x11\n\t"
  18741. "stp x4, x6, [%[r], 160]\n\t"
  18742. "sbcs x10, x10, x12\n\t"
  18743. "stp x9, x10, [%[r], 176]\n\t"
  18744. "ldp x5, x7, [%[b], 192]\n\t"
  18745. "ldp x11, x12, [%[b], 208]\n\t"
  18746. "ldp x4, x6, [%[a], 192]\n\t"
  18747. "and x5, x5, %[m]\n\t"
  18748. "ldp x9, x10, [%[a], 208]\n\t"
  18749. "and x7, x7, %[m]\n\t"
  18750. "sbcs x4, x4, x5\n\t"
  18751. "and x11, x11, %[m]\n\t"
  18752. "sbcs x6, x6, x7\n\t"
  18753. "and x12, x12, %[m]\n\t"
  18754. "sbcs x9, x9, x11\n\t"
  18755. "stp x4, x6, [%[r], 192]\n\t"
  18756. "sbcs x10, x10, x12\n\t"
  18757. "stp x9, x10, [%[r], 208]\n\t"
  18758. "ldp x5, x7, [%[b], 224]\n\t"
  18759. "ldp x11, x12, [%[b], 240]\n\t"
  18760. "ldp x4, x6, [%[a], 224]\n\t"
  18761. "and x5, x5, %[m]\n\t"
  18762. "ldp x9, x10, [%[a], 240]\n\t"
  18763. "and x7, x7, %[m]\n\t"
  18764. "sbcs x4, x4, x5\n\t"
  18765. "and x11, x11, %[m]\n\t"
  18766. "sbcs x6, x6, x7\n\t"
  18767. "and x12, x12, %[m]\n\t"
  18768. "sbcs x9, x9, x11\n\t"
  18769. "stp x4, x6, [%[r], 224]\n\t"
  18770. "sbcs x10, x10, x12\n\t"
  18771. "stp x9, x10, [%[r], 240]\n\t"
  18772. "ldp x5, x7, [%[b], 256]\n\t"
  18773. "ldp x11, x12, [%[b], 272]\n\t"
  18774. "ldp x4, x6, [%[a], 256]\n\t"
  18775. "and x5, x5, %[m]\n\t"
  18776. "ldp x9, x10, [%[a], 272]\n\t"
  18777. "and x7, x7, %[m]\n\t"
  18778. "sbcs x4, x4, x5\n\t"
  18779. "and x11, x11, %[m]\n\t"
  18780. "sbcs x6, x6, x7\n\t"
  18781. "and x12, x12, %[m]\n\t"
  18782. "sbcs x9, x9, x11\n\t"
  18783. "stp x4, x6, [%[r], 256]\n\t"
  18784. "sbcs x10, x10, x12\n\t"
  18785. "stp x9, x10, [%[r], 272]\n\t"
  18786. "ldp x5, x7, [%[b], 288]\n\t"
  18787. "ldp x11, x12, [%[b], 304]\n\t"
  18788. "ldp x4, x6, [%[a], 288]\n\t"
  18789. "and x5, x5, %[m]\n\t"
  18790. "ldp x9, x10, [%[a], 304]\n\t"
  18791. "and x7, x7, %[m]\n\t"
  18792. "sbcs x4, x4, x5\n\t"
  18793. "and x11, x11, %[m]\n\t"
  18794. "sbcs x6, x6, x7\n\t"
  18795. "and x12, x12, %[m]\n\t"
  18796. "sbcs x9, x9, x11\n\t"
  18797. "stp x4, x6, [%[r], 288]\n\t"
  18798. "sbcs x10, x10, x12\n\t"
  18799. "stp x9, x10, [%[r], 304]\n\t"
  18800. "ldp x5, x7, [%[b], 320]\n\t"
  18801. "ldp x11, x12, [%[b], 336]\n\t"
  18802. "ldp x4, x6, [%[a], 320]\n\t"
  18803. "and x5, x5, %[m]\n\t"
  18804. "ldp x9, x10, [%[a], 336]\n\t"
  18805. "and x7, x7, %[m]\n\t"
  18806. "sbcs x4, x4, x5\n\t"
  18807. "and x11, x11, %[m]\n\t"
  18808. "sbcs x6, x6, x7\n\t"
  18809. "and x12, x12, %[m]\n\t"
  18810. "sbcs x9, x9, x11\n\t"
  18811. "stp x4, x6, [%[r], 320]\n\t"
  18812. "sbcs x10, x10, x12\n\t"
  18813. "stp x9, x10, [%[r], 336]\n\t"
  18814. "ldp x5, x7, [%[b], 352]\n\t"
  18815. "ldp x11, x12, [%[b], 368]\n\t"
  18816. "ldp x4, x6, [%[a], 352]\n\t"
  18817. "and x5, x5, %[m]\n\t"
  18818. "ldp x9, x10, [%[a], 368]\n\t"
  18819. "and x7, x7, %[m]\n\t"
  18820. "sbcs x4, x4, x5\n\t"
  18821. "and x11, x11, %[m]\n\t"
  18822. "sbcs x6, x6, x7\n\t"
  18823. "and x12, x12, %[m]\n\t"
  18824. "sbcs x9, x9, x11\n\t"
  18825. "stp x4, x6, [%[r], 352]\n\t"
  18826. "sbcs x10, x10, x12\n\t"
  18827. "stp x9, x10, [%[r], 368]\n\t"
  18828. "ldp x5, x7, [%[b], 384]\n\t"
  18829. "ldp x11, x12, [%[b], 400]\n\t"
  18830. "ldp x4, x6, [%[a], 384]\n\t"
  18831. "and x5, x5, %[m]\n\t"
  18832. "ldp x9, x10, [%[a], 400]\n\t"
  18833. "and x7, x7, %[m]\n\t"
  18834. "sbcs x4, x4, x5\n\t"
  18835. "and x11, x11, %[m]\n\t"
  18836. "sbcs x6, x6, x7\n\t"
  18837. "and x12, x12, %[m]\n\t"
  18838. "sbcs x9, x9, x11\n\t"
  18839. "stp x4, x6, [%[r], 384]\n\t"
  18840. "sbcs x10, x10, x12\n\t"
  18841. "stp x9, x10, [%[r], 400]\n\t"
  18842. "ldp x5, x7, [%[b], 416]\n\t"
  18843. "ldp x11, x12, [%[b], 432]\n\t"
  18844. "ldp x4, x6, [%[a], 416]\n\t"
  18845. "and x5, x5, %[m]\n\t"
  18846. "ldp x9, x10, [%[a], 432]\n\t"
  18847. "and x7, x7, %[m]\n\t"
  18848. "sbcs x4, x4, x5\n\t"
  18849. "and x11, x11, %[m]\n\t"
  18850. "sbcs x6, x6, x7\n\t"
  18851. "and x12, x12, %[m]\n\t"
  18852. "sbcs x9, x9, x11\n\t"
  18853. "stp x4, x6, [%[r], 416]\n\t"
  18854. "sbcs x10, x10, x12\n\t"
  18855. "stp x9, x10, [%[r], 432]\n\t"
  18856. "ldp x5, x7, [%[b], 448]\n\t"
  18857. "ldp x11, x12, [%[b], 464]\n\t"
  18858. "ldp x4, x6, [%[a], 448]\n\t"
  18859. "and x5, x5, %[m]\n\t"
  18860. "ldp x9, x10, [%[a], 464]\n\t"
  18861. "and x7, x7, %[m]\n\t"
  18862. "sbcs x4, x4, x5\n\t"
  18863. "and x11, x11, %[m]\n\t"
  18864. "sbcs x6, x6, x7\n\t"
  18865. "and x12, x12, %[m]\n\t"
  18866. "sbcs x9, x9, x11\n\t"
  18867. "stp x4, x6, [%[r], 448]\n\t"
  18868. "sbcs x10, x10, x12\n\t"
  18869. "stp x9, x10, [%[r], 464]\n\t"
  18870. "ldp x5, x7, [%[b], 480]\n\t"
  18871. "ldp x11, x12, [%[b], 496]\n\t"
  18872. "ldp x4, x6, [%[a], 480]\n\t"
  18873. "and x5, x5, %[m]\n\t"
  18874. "ldp x9, x10, [%[a], 496]\n\t"
  18875. "and x7, x7, %[m]\n\t"
  18876. "sbcs x4, x4, x5\n\t"
  18877. "and x11, x11, %[m]\n\t"
  18878. "sbcs x6, x6, x7\n\t"
  18879. "and x12, x12, %[m]\n\t"
  18880. "sbcs x9, x9, x11\n\t"
  18881. "stp x4, x6, [%[r], 480]\n\t"
  18882. "sbcs x10, x10, x12\n\t"
  18883. "stp x9, x10, [%[r], 496]\n\t"
  18884. "csetm %[r], cc\n\t"
  18885. : [r] "+r" (r)
  18886. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  18887. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  18888. );
  18889. return (sp_digit)r;
  18890. #endif /* WOLFSSL_SP_SMALL */
  18891. }
  18892. /* Divide the double width number (d1|d0) by the divisor. (d1|d0 / div)
  18893. *
  18894. * Assumes divisor has higest bit set.
  18895. *
  18896. * d1 The high order half of the number to divide.
  18897. * d0 The low order half of the number to divide.
  18898. * div The divisor.
  18899. * returns the result of the division.
  18900. */
  18901. static sp_digit div_4096_word_64(sp_digit d1, sp_digit d0, sp_digit div)
  18902. {
  18903. __asm__ __volatile__ (
  18904. "lsr x8, %[div], 32\n\t"
  18905. "add x5, x8, 1\n\t"
  18906. "udiv x3, %[d1], x5\n\t"
  18907. "lsl x7, %[div], 32\n\t"
  18908. "movz x9, #1, lsl 32\n\t"
  18909. "lsl x6, x3, 32\n\t"
  18910. "mul x4, %[div], x6\n\t"
  18911. "umulh x3, %[div], x6\n\t"
  18912. "subs %[d0], %[d0], x4\n\t"
  18913. "sbc %[d1], %[d1], x3\n\t"
  18914. "cmp %[d1], x5\n\t"
  18915. "cset x9, ge\n\t"
  18916. "csetm x10, ge\n\t"
  18917. "lsl x9, x9, #32\n\t"
  18918. "and x7, x7, x10\n\t"
  18919. "and x8, x8, x10\n\t"
  18920. "subs %[d0], %[d0], x7\n\t"
  18921. "add x6, x6, x9\n\t"
  18922. "sbc %[d1], %[d1], x8\n\t"
  18923. "extr x3, %[d1], %[d0], 32\n\t"
  18924. "udiv x3, x3, x5\n\t"
  18925. "add x6, x6, x3\n\t"
  18926. "mul x4, %[div], x3\n\t"
  18927. "umulh x3, %[div], x3\n\t"
  18928. "subs %[d0], %[d0], x4\n\t"
  18929. "sbc %[d1], %[d1], x3\n\t"
  18930. "extr x3, %[d1], %[d0], 32\n\t"
  18931. "udiv x3, x3, x5\n\t"
  18932. "add x6, x6, x3\n\t"
  18933. "mul x4, %[div], x3\n\t"
  18934. "sub %[d0], %[d0], x4\n\t"
  18935. "udiv x3, %[d0], %[div]\n\t"
  18936. "add %[d1], x6, x3\n\t"
  18937. : [d1] "+r" (d1), [d0] "+r" (d0)
  18938. : [div] "r" (div)
  18939. : "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  18940. );
  18941. return d1;
  18942. }
  18943. /* AND m into each word of a and store in r.
  18944. *
  18945. * r A single precision integer.
  18946. * a A single precision integer.
  18947. * m Mask to AND against each digit.
  18948. */
  18949. static void sp_4096_mask_64(sp_digit* r, const sp_digit* a, sp_digit m)
  18950. {
  18951. #ifdef WOLFSSL_SP_SMALL
  18952. int i;
  18953. for (i=0; i<64; i++) {
  18954. r[i] = a[i] & m;
  18955. }
  18956. #else
  18957. int i;
  18958. for (i = 0; i < 64; i += 8) {
  18959. r[i+0] = a[i+0] & m;
  18960. r[i+1] = a[i+1] & m;
  18961. r[i+2] = a[i+2] & m;
  18962. r[i+3] = a[i+3] & m;
  18963. r[i+4] = a[i+4] & m;
  18964. r[i+5] = a[i+5] & m;
  18965. r[i+6] = a[i+6] & m;
  18966. r[i+7] = a[i+7] & m;
  18967. }
  18968. #endif
  18969. }
  18970. /* Compare a with b in constant time.
  18971. *
  18972. * a A single precision integer.
  18973. * b A single precision integer.
  18974. * return -ve, 0 or +ve if a is less than, equal to or greater than b
  18975. * respectively.
  18976. */
  18977. static sp_int64 sp_4096_cmp_64(const sp_digit* a, const sp_digit* b)
  18978. {
  18979. #ifdef WOLFSSL_SP_SMALL
  18980. __asm__ __volatile__ (
  18981. "mov x3, #0\n\t"
  18982. "mov x2, #-1\n\t"
  18983. "mov x10, #64\n\t"
  18984. "add %[a], %[a], #496\n\t"
  18985. "add %[b], %[b], #496\n\t"
  18986. "1:\n\t"
  18987. "ldp x6, x7, [%[a]], -16\n\t"
  18988. "ldp x8, x9, [%[b]], -16\n\t"
  18989. "subs x7, x7, x9\n\t"
  18990. "csel x4, x2, xzr, lo\n\t"
  18991. "csetm x5, eq\n\t"
  18992. "orr x3, x3, x4\n\t"
  18993. "and x2, x2, x5\n\t"
  18994. "subs x6, x6, x8\n\t"
  18995. "csel x4, x2, xzr, lo\n\t"
  18996. "csetm x5, eq\n\t"
  18997. "orr x3, x3, x4\n\t"
  18998. "and x2, x2, x5\n\t"
  18999. "subs x10, x10, #2\n\t"
  19000. "b.ne 1b\n\t"
  19001. "cmp x2, #0\n\t"
  19002. "cset %[a], eq\n\t"
  19003. "orr %[a], %[a], x3\n\t"
  19004. : [a] "+r" (a), [b] "+r" (b)
  19005. :
  19006. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  19007. );
  19008. #else
  19009. __asm__ __volatile__ (
  19010. "mov x3, #0\n\t"
  19011. "mov x2, #-1\n\t"
  19012. "ldp x6, x7, [%[a], 496]\n\t"
  19013. "ldp x8, x9, [%[b], 496]\n\t"
  19014. "subs x7, x7, x9\n\t"
  19015. "csel x4, x2, xzr, lo\n\t"
  19016. "csetm x5, eq\n\t"
  19017. "orr x3, x3, x4\n\t"
  19018. "and x2, x2, x5\n\t"
  19019. "subs x6, x6, x8\n\t"
  19020. "csel x4, x2, xzr, lo\n\t"
  19021. "csetm x5, eq\n\t"
  19022. "orr x3, x3, x4\n\t"
  19023. "and x2, x2, x5\n\t"
  19024. "ldp x6, x7, [%[a], 480]\n\t"
  19025. "ldp x8, x9, [%[b], 480]\n\t"
  19026. "subs x7, x7, x9\n\t"
  19027. "csel x4, x2, xzr, lo\n\t"
  19028. "csetm x5, eq\n\t"
  19029. "orr x3, x3, x4\n\t"
  19030. "and x2, x2, x5\n\t"
  19031. "subs x6, x6, x8\n\t"
  19032. "csel x4, x2, xzr, lo\n\t"
  19033. "csetm x5, eq\n\t"
  19034. "orr x3, x3, x4\n\t"
  19035. "and x2, x2, x5\n\t"
  19036. "ldp x6, x7, [%[a], 464]\n\t"
  19037. "ldp x8, x9, [%[b], 464]\n\t"
  19038. "subs x7, x7, x9\n\t"
  19039. "csel x4, x2, xzr, lo\n\t"
  19040. "csetm x5, eq\n\t"
  19041. "orr x3, x3, x4\n\t"
  19042. "and x2, x2, x5\n\t"
  19043. "subs x6, x6, x8\n\t"
  19044. "csel x4, x2, xzr, lo\n\t"
  19045. "csetm x5, eq\n\t"
  19046. "orr x3, x3, x4\n\t"
  19047. "and x2, x2, x5\n\t"
  19048. "ldp x6, x7, [%[a], 448]\n\t"
  19049. "ldp x8, x9, [%[b], 448]\n\t"
  19050. "subs x7, x7, x9\n\t"
  19051. "csel x4, x2, xzr, lo\n\t"
  19052. "csetm x5, eq\n\t"
  19053. "orr x3, x3, x4\n\t"
  19054. "and x2, x2, x5\n\t"
  19055. "subs x6, x6, x8\n\t"
  19056. "csel x4, x2, xzr, lo\n\t"
  19057. "csetm x5, eq\n\t"
  19058. "orr x3, x3, x4\n\t"
  19059. "and x2, x2, x5\n\t"
  19060. "ldp x6, x7, [%[a], 432]\n\t"
  19061. "ldp x8, x9, [%[b], 432]\n\t"
  19062. "subs x7, x7, x9\n\t"
  19063. "csel x4, x2, xzr, lo\n\t"
  19064. "csetm x5, eq\n\t"
  19065. "orr x3, x3, x4\n\t"
  19066. "and x2, x2, x5\n\t"
  19067. "subs x6, x6, x8\n\t"
  19068. "csel x4, x2, xzr, lo\n\t"
  19069. "csetm x5, eq\n\t"
  19070. "orr x3, x3, x4\n\t"
  19071. "and x2, x2, x5\n\t"
  19072. "ldp x6, x7, [%[a], 416]\n\t"
  19073. "ldp x8, x9, [%[b], 416]\n\t"
  19074. "subs x7, x7, x9\n\t"
  19075. "csel x4, x2, xzr, lo\n\t"
  19076. "csetm x5, eq\n\t"
  19077. "orr x3, x3, x4\n\t"
  19078. "and x2, x2, x5\n\t"
  19079. "subs x6, x6, x8\n\t"
  19080. "csel x4, x2, xzr, lo\n\t"
  19081. "csetm x5, eq\n\t"
  19082. "orr x3, x3, x4\n\t"
  19083. "and x2, x2, x5\n\t"
  19084. "ldp x6, x7, [%[a], 400]\n\t"
  19085. "ldp x8, x9, [%[b], 400]\n\t"
  19086. "subs x7, x7, x9\n\t"
  19087. "csel x4, x2, xzr, lo\n\t"
  19088. "csetm x5, eq\n\t"
  19089. "orr x3, x3, x4\n\t"
  19090. "and x2, x2, x5\n\t"
  19091. "subs x6, x6, x8\n\t"
  19092. "csel x4, x2, xzr, lo\n\t"
  19093. "csetm x5, eq\n\t"
  19094. "orr x3, x3, x4\n\t"
  19095. "and x2, x2, x5\n\t"
  19096. "ldp x6, x7, [%[a], 384]\n\t"
  19097. "ldp x8, x9, [%[b], 384]\n\t"
  19098. "subs x7, x7, x9\n\t"
  19099. "csel x4, x2, xzr, lo\n\t"
  19100. "csetm x5, eq\n\t"
  19101. "orr x3, x3, x4\n\t"
  19102. "and x2, x2, x5\n\t"
  19103. "subs x6, x6, x8\n\t"
  19104. "csel x4, x2, xzr, lo\n\t"
  19105. "csetm x5, eq\n\t"
  19106. "orr x3, x3, x4\n\t"
  19107. "and x2, x2, x5\n\t"
  19108. "ldp x6, x7, [%[a], 368]\n\t"
  19109. "ldp x8, x9, [%[b], 368]\n\t"
  19110. "subs x7, x7, x9\n\t"
  19111. "csel x4, x2, xzr, lo\n\t"
  19112. "csetm x5, eq\n\t"
  19113. "orr x3, x3, x4\n\t"
  19114. "and x2, x2, x5\n\t"
  19115. "subs x6, x6, x8\n\t"
  19116. "csel x4, x2, xzr, lo\n\t"
  19117. "csetm x5, eq\n\t"
  19118. "orr x3, x3, x4\n\t"
  19119. "and x2, x2, x5\n\t"
  19120. "ldp x6, x7, [%[a], 352]\n\t"
  19121. "ldp x8, x9, [%[b], 352]\n\t"
  19122. "subs x7, x7, x9\n\t"
  19123. "csel x4, x2, xzr, lo\n\t"
  19124. "csetm x5, eq\n\t"
  19125. "orr x3, x3, x4\n\t"
  19126. "and x2, x2, x5\n\t"
  19127. "subs x6, x6, x8\n\t"
  19128. "csel x4, x2, xzr, lo\n\t"
  19129. "csetm x5, eq\n\t"
  19130. "orr x3, x3, x4\n\t"
  19131. "and x2, x2, x5\n\t"
  19132. "ldp x6, x7, [%[a], 336]\n\t"
  19133. "ldp x8, x9, [%[b], 336]\n\t"
  19134. "subs x7, x7, x9\n\t"
  19135. "csel x4, x2, xzr, lo\n\t"
  19136. "csetm x5, eq\n\t"
  19137. "orr x3, x3, x4\n\t"
  19138. "and x2, x2, x5\n\t"
  19139. "subs x6, x6, x8\n\t"
  19140. "csel x4, x2, xzr, lo\n\t"
  19141. "csetm x5, eq\n\t"
  19142. "orr x3, x3, x4\n\t"
  19143. "and x2, x2, x5\n\t"
  19144. "ldp x6, x7, [%[a], 320]\n\t"
  19145. "ldp x8, x9, [%[b], 320]\n\t"
  19146. "subs x7, x7, x9\n\t"
  19147. "csel x4, x2, xzr, lo\n\t"
  19148. "csetm x5, eq\n\t"
  19149. "orr x3, x3, x4\n\t"
  19150. "and x2, x2, x5\n\t"
  19151. "subs x6, x6, x8\n\t"
  19152. "csel x4, x2, xzr, lo\n\t"
  19153. "csetm x5, eq\n\t"
  19154. "orr x3, x3, x4\n\t"
  19155. "and x2, x2, x5\n\t"
  19156. "ldp x6, x7, [%[a], 304]\n\t"
  19157. "ldp x8, x9, [%[b], 304]\n\t"
  19158. "subs x7, x7, x9\n\t"
  19159. "csel x4, x2, xzr, lo\n\t"
  19160. "csetm x5, eq\n\t"
  19161. "orr x3, x3, x4\n\t"
  19162. "and x2, x2, x5\n\t"
  19163. "subs x6, x6, x8\n\t"
  19164. "csel x4, x2, xzr, lo\n\t"
  19165. "csetm x5, eq\n\t"
  19166. "orr x3, x3, x4\n\t"
  19167. "and x2, x2, x5\n\t"
  19168. "ldp x6, x7, [%[a], 288]\n\t"
  19169. "ldp x8, x9, [%[b], 288]\n\t"
  19170. "subs x7, x7, x9\n\t"
  19171. "csel x4, x2, xzr, lo\n\t"
  19172. "csetm x5, eq\n\t"
  19173. "orr x3, x3, x4\n\t"
  19174. "and x2, x2, x5\n\t"
  19175. "subs x6, x6, x8\n\t"
  19176. "csel x4, x2, xzr, lo\n\t"
  19177. "csetm x5, eq\n\t"
  19178. "orr x3, x3, x4\n\t"
  19179. "and x2, x2, x5\n\t"
  19180. "ldp x6, x7, [%[a], 272]\n\t"
  19181. "ldp x8, x9, [%[b], 272]\n\t"
  19182. "subs x7, x7, x9\n\t"
  19183. "csel x4, x2, xzr, lo\n\t"
  19184. "csetm x5, eq\n\t"
  19185. "orr x3, x3, x4\n\t"
  19186. "and x2, x2, x5\n\t"
  19187. "subs x6, x6, x8\n\t"
  19188. "csel x4, x2, xzr, lo\n\t"
  19189. "csetm x5, eq\n\t"
  19190. "orr x3, x3, x4\n\t"
  19191. "and x2, x2, x5\n\t"
  19192. "ldp x6, x7, [%[a], 256]\n\t"
  19193. "ldp x8, x9, [%[b], 256]\n\t"
  19194. "subs x7, x7, x9\n\t"
  19195. "csel x4, x2, xzr, lo\n\t"
  19196. "csetm x5, eq\n\t"
  19197. "orr x3, x3, x4\n\t"
  19198. "and x2, x2, x5\n\t"
  19199. "subs x6, x6, x8\n\t"
  19200. "csel x4, x2, xzr, lo\n\t"
  19201. "csetm x5, eq\n\t"
  19202. "orr x3, x3, x4\n\t"
  19203. "and x2, x2, x5\n\t"
  19204. "ldp x6, x7, [%[a], 240]\n\t"
  19205. "ldp x8, x9, [%[b], 240]\n\t"
  19206. "subs x7, x7, x9\n\t"
  19207. "csel x4, x2, xzr, lo\n\t"
  19208. "csetm x5, eq\n\t"
  19209. "orr x3, x3, x4\n\t"
  19210. "and x2, x2, x5\n\t"
  19211. "subs x6, x6, x8\n\t"
  19212. "csel x4, x2, xzr, lo\n\t"
  19213. "csetm x5, eq\n\t"
  19214. "orr x3, x3, x4\n\t"
  19215. "and x2, x2, x5\n\t"
  19216. "ldp x6, x7, [%[a], 224]\n\t"
  19217. "ldp x8, x9, [%[b], 224]\n\t"
  19218. "subs x7, x7, x9\n\t"
  19219. "csel x4, x2, xzr, lo\n\t"
  19220. "csetm x5, eq\n\t"
  19221. "orr x3, x3, x4\n\t"
  19222. "and x2, x2, x5\n\t"
  19223. "subs x6, x6, x8\n\t"
  19224. "csel x4, x2, xzr, lo\n\t"
  19225. "csetm x5, eq\n\t"
  19226. "orr x3, x3, x4\n\t"
  19227. "and x2, x2, x5\n\t"
  19228. "ldp x6, x7, [%[a], 208]\n\t"
  19229. "ldp x8, x9, [%[b], 208]\n\t"
  19230. "subs x7, x7, x9\n\t"
  19231. "csel x4, x2, xzr, lo\n\t"
  19232. "csetm x5, eq\n\t"
  19233. "orr x3, x3, x4\n\t"
  19234. "and x2, x2, x5\n\t"
  19235. "subs x6, x6, x8\n\t"
  19236. "csel x4, x2, xzr, lo\n\t"
  19237. "csetm x5, eq\n\t"
  19238. "orr x3, x3, x4\n\t"
  19239. "and x2, x2, x5\n\t"
  19240. "ldp x6, x7, [%[a], 192]\n\t"
  19241. "ldp x8, x9, [%[b], 192]\n\t"
  19242. "subs x7, x7, x9\n\t"
  19243. "csel x4, x2, xzr, lo\n\t"
  19244. "csetm x5, eq\n\t"
  19245. "orr x3, x3, x4\n\t"
  19246. "and x2, x2, x5\n\t"
  19247. "subs x6, x6, x8\n\t"
  19248. "csel x4, x2, xzr, lo\n\t"
  19249. "csetm x5, eq\n\t"
  19250. "orr x3, x3, x4\n\t"
  19251. "and x2, x2, x5\n\t"
  19252. "ldp x6, x7, [%[a], 176]\n\t"
  19253. "ldp x8, x9, [%[b], 176]\n\t"
  19254. "subs x7, x7, x9\n\t"
  19255. "csel x4, x2, xzr, lo\n\t"
  19256. "csetm x5, eq\n\t"
  19257. "orr x3, x3, x4\n\t"
  19258. "and x2, x2, x5\n\t"
  19259. "subs x6, x6, x8\n\t"
  19260. "csel x4, x2, xzr, lo\n\t"
  19261. "csetm x5, eq\n\t"
  19262. "orr x3, x3, x4\n\t"
  19263. "and x2, x2, x5\n\t"
  19264. "ldp x6, x7, [%[a], 160]\n\t"
  19265. "ldp x8, x9, [%[b], 160]\n\t"
  19266. "subs x7, x7, x9\n\t"
  19267. "csel x4, x2, xzr, lo\n\t"
  19268. "csetm x5, eq\n\t"
  19269. "orr x3, x3, x4\n\t"
  19270. "and x2, x2, x5\n\t"
  19271. "subs x6, x6, x8\n\t"
  19272. "csel x4, x2, xzr, lo\n\t"
  19273. "csetm x5, eq\n\t"
  19274. "orr x3, x3, x4\n\t"
  19275. "and x2, x2, x5\n\t"
  19276. "ldp x6, x7, [%[a], 144]\n\t"
  19277. "ldp x8, x9, [%[b], 144]\n\t"
  19278. "subs x7, x7, x9\n\t"
  19279. "csel x4, x2, xzr, lo\n\t"
  19280. "csetm x5, eq\n\t"
  19281. "orr x3, x3, x4\n\t"
  19282. "and x2, x2, x5\n\t"
  19283. "subs x6, x6, x8\n\t"
  19284. "csel x4, x2, xzr, lo\n\t"
  19285. "csetm x5, eq\n\t"
  19286. "orr x3, x3, x4\n\t"
  19287. "and x2, x2, x5\n\t"
  19288. "ldp x6, x7, [%[a], 128]\n\t"
  19289. "ldp x8, x9, [%[b], 128]\n\t"
  19290. "subs x7, x7, x9\n\t"
  19291. "csel x4, x2, xzr, lo\n\t"
  19292. "csetm x5, eq\n\t"
  19293. "orr x3, x3, x4\n\t"
  19294. "and x2, x2, x5\n\t"
  19295. "subs x6, x6, x8\n\t"
  19296. "csel x4, x2, xzr, lo\n\t"
  19297. "csetm x5, eq\n\t"
  19298. "orr x3, x3, x4\n\t"
  19299. "and x2, x2, x5\n\t"
  19300. "ldp x6, x7, [%[a], 112]\n\t"
  19301. "ldp x8, x9, [%[b], 112]\n\t"
  19302. "subs x7, x7, x9\n\t"
  19303. "csel x4, x2, xzr, lo\n\t"
  19304. "csetm x5, eq\n\t"
  19305. "orr x3, x3, x4\n\t"
  19306. "and x2, x2, x5\n\t"
  19307. "subs x6, x6, x8\n\t"
  19308. "csel x4, x2, xzr, lo\n\t"
  19309. "csetm x5, eq\n\t"
  19310. "orr x3, x3, x4\n\t"
  19311. "and x2, x2, x5\n\t"
  19312. "ldp x6, x7, [%[a], 96]\n\t"
  19313. "ldp x8, x9, [%[b], 96]\n\t"
  19314. "subs x7, x7, x9\n\t"
  19315. "csel x4, x2, xzr, lo\n\t"
  19316. "csetm x5, eq\n\t"
  19317. "orr x3, x3, x4\n\t"
  19318. "and x2, x2, x5\n\t"
  19319. "subs x6, x6, x8\n\t"
  19320. "csel x4, x2, xzr, lo\n\t"
  19321. "csetm x5, eq\n\t"
  19322. "orr x3, x3, x4\n\t"
  19323. "and x2, x2, x5\n\t"
  19324. "ldp x6, x7, [%[a], 80]\n\t"
  19325. "ldp x8, x9, [%[b], 80]\n\t"
  19326. "subs x7, x7, x9\n\t"
  19327. "csel x4, x2, xzr, lo\n\t"
  19328. "csetm x5, eq\n\t"
  19329. "orr x3, x3, x4\n\t"
  19330. "and x2, x2, x5\n\t"
  19331. "subs x6, x6, x8\n\t"
  19332. "csel x4, x2, xzr, lo\n\t"
  19333. "csetm x5, eq\n\t"
  19334. "orr x3, x3, x4\n\t"
  19335. "and x2, x2, x5\n\t"
  19336. "ldp x6, x7, [%[a], 64]\n\t"
  19337. "ldp x8, x9, [%[b], 64]\n\t"
  19338. "subs x7, x7, x9\n\t"
  19339. "csel x4, x2, xzr, lo\n\t"
  19340. "csetm x5, eq\n\t"
  19341. "orr x3, x3, x4\n\t"
  19342. "and x2, x2, x5\n\t"
  19343. "subs x6, x6, x8\n\t"
  19344. "csel x4, x2, xzr, lo\n\t"
  19345. "csetm x5, eq\n\t"
  19346. "orr x3, x3, x4\n\t"
  19347. "and x2, x2, x5\n\t"
  19348. "ldp x6, x7, [%[a], 48]\n\t"
  19349. "ldp x8, x9, [%[b], 48]\n\t"
  19350. "subs x7, x7, x9\n\t"
  19351. "csel x4, x2, xzr, lo\n\t"
  19352. "csetm x5, eq\n\t"
  19353. "orr x3, x3, x4\n\t"
  19354. "and x2, x2, x5\n\t"
  19355. "subs x6, x6, x8\n\t"
  19356. "csel x4, x2, xzr, lo\n\t"
  19357. "csetm x5, eq\n\t"
  19358. "orr x3, x3, x4\n\t"
  19359. "and x2, x2, x5\n\t"
  19360. "ldp x6, x7, [%[a], 32]\n\t"
  19361. "ldp x8, x9, [%[b], 32]\n\t"
  19362. "subs x7, x7, x9\n\t"
  19363. "csel x4, x2, xzr, lo\n\t"
  19364. "csetm x5, eq\n\t"
  19365. "orr x3, x3, x4\n\t"
  19366. "and x2, x2, x5\n\t"
  19367. "subs x6, x6, x8\n\t"
  19368. "csel x4, x2, xzr, lo\n\t"
  19369. "csetm x5, eq\n\t"
  19370. "orr x3, x3, x4\n\t"
  19371. "and x2, x2, x5\n\t"
  19372. "ldp x6, x7, [%[a], 16]\n\t"
  19373. "ldp x8, x9, [%[b], 16]\n\t"
  19374. "subs x7, x7, x9\n\t"
  19375. "csel x4, x2, xzr, lo\n\t"
  19376. "csetm x5, eq\n\t"
  19377. "orr x3, x3, x4\n\t"
  19378. "and x2, x2, x5\n\t"
  19379. "subs x6, x6, x8\n\t"
  19380. "csel x4, x2, xzr, lo\n\t"
  19381. "csetm x5, eq\n\t"
  19382. "orr x3, x3, x4\n\t"
  19383. "and x2, x2, x5\n\t"
  19384. "ldp x6, x7, [%[a], 0]\n\t"
  19385. "ldp x8, x9, [%[b], 0]\n\t"
  19386. "subs x7, x7, x9\n\t"
  19387. "csel x4, x2, xzr, lo\n\t"
  19388. "csetm x5, eq\n\t"
  19389. "orr x3, x3, x4\n\t"
  19390. "and x2, x2, x5\n\t"
  19391. "subs x6, x6, x8\n\t"
  19392. "csel x4, x2, xzr, lo\n\t"
  19393. "csetm x5, eq\n\t"
  19394. "orr x3, x3, x4\n\t"
  19395. "and x2, x2, x5\n\t"
  19396. "cmp x2, #0\n\t"
  19397. "cset %[a], eq\n\t"
  19398. "orr %[a], %[a], x3\n\t"
  19399. : [a] "+r" (a)
  19400. : [b] "r" (b)
  19401. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  19402. );
  19403. #endif
  19404. return (sp_int64)a;
  19405. }
  19406. /* Divide d in a and put remainder into r (m*d + r = a)
  19407. * m is not calculated as it is not needed at this time.
  19408. *
  19409. * a Number to be divided.
  19410. * d Number to divide with.
  19411. * m Multiplier result.
  19412. * r Remainder from the division.
  19413. * returns MP_OKAY indicating success.
  19414. */
  19415. static WC_INLINE int sp_4096_div_64(const sp_digit* a, const sp_digit* d, sp_digit* m,
  19416. sp_digit* r)
  19417. {
  19418. sp_digit t1[128], t2[65];
  19419. sp_digit div, r1;
  19420. int i;
  19421. (void)m;
  19422. div = d[63];
  19423. XMEMCPY(t1, a, sizeof(*t1) * 2 * 64);
  19424. r1 = sp_4096_cmp_64(&t1[64], d) >= 0;
  19425. sp_4096_cond_sub_64(&t1[64], &t1[64], d, (sp_digit)0 - r1);
  19426. for (i = 63; i >= 0; i--) {
  19427. sp_digit mask = 0 - (t1[64 + i] == div);
  19428. sp_digit hi = t1[64 + i] + mask;
  19429. r1 = div_4096_word_64(hi, t1[64 + i - 1], div);
  19430. r1 |= mask;
  19431. sp_4096_mul_d_64(t2, d, r1);
  19432. t1[64 + i] += sp_4096_sub_in_place_64(&t1[i], t2);
  19433. t1[64 + i] -= t2[64];
  19434. sp_4096_mask_64(t2, d, t1[64 + i]);
  19435. t1[64 + i] += sp_4096_add_64(&t1[i], &t1[i], t2);
  19436. sp_4096_mask_64(t2, d, t1[64 + i]);
  19437. t1[64 + i] += sp_4096_add_64(&t1[i], &t1[i], t2);
  19438. }
  19439. r1 = sp_4096_cmp_64(t1, d) >= 0;
  19440. sp_4096_cond_sub_64(r, t1, d, (sp_digit)0 - r1);
  19441. return MP_OKAY;
  19442. }
  19443. /* Reduce a modulo m into r. (r = a mod m)
  19444. *
  19445. * r A single precision number that is the reduced result.
  19446. * a A single precision number that is to be reduced.
  19447. * m A single precision number that is the modulus to reduce with.
  19448. * returns MP_OKAY indicating success.
  19449. */
  19450. static WC_INLINE int sp_4096_mod_64(sp_digit* r, const sp_digit* a, const sp_digit* m)
  19451. {
  19452. return sp_4096_div_64(a, m, NULL, r);
  19453. }
  19454. #if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || \
  19455. defined(WOLFSSL_HAVE_SP_DH)
  19456. #ifdef WOLFSSL_SP_SMALL
  19457. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  19458. *
  19459. * r A single precision number that is the result of the operation.
  19460. * a A single precision number being exponentiated.
  19461. * e A single precision number that is the exponent.
  19462. * bits The number of bits in the exponent.
  19463. * m A single precision number that is the modulus.
  19464. * returns 0 on success.
  19465. * returns MEMORY_E on dynamic memory allocation failure.
  19466. * returns MP_VAL when base is even or exponent is 0.
  19467. */
  19468. static int sp_4096_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e,
  19469. int bits, const sp_digit* m, int reduceA)
  19470. {
  19471. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19472. sp_digit* td = NULL;
  19473. #else
  19474. sp_digit td[8 * 128];
  19475. #endif
  19476. sp_digit* t[8];
  19477. sp_digit* norm = NULL;
  19478. sp_digit mp = 1;
  19479. sp_digit n;
  19480. sp_digit mask;
  19481. int i;
  19482. int c;
  19483. byte y;
  19484. int err = MP_OKAY;
  19485. if (bits == 0) {
  19486. err = MP_VAL;
  19487. }
  19488. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19489. if (err == MP_OKAY) {
  19490. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (8 * 128), NULL,
  19491. DYNAMIC_TYPE_TMP_BUFFER);
  19492. if (td == NULL)
  19493. err = MEMORY_E;
  19494. }
  19495. #endif
  19496. if (err == MP_OKAY) {
  19497. norm = td;
  19498. for (i=0; i<8; i++) {
  19499. t[i] = td + i * 128;
  19500. }
  19501. sp_4096_mont_setup(m, &mp);
  19502. sp_4096_mont_norm_64(norm, m);
  19503. XMEMSET(t[1], 0, sizeof(sp_digit) * 64U);
  19504. if (reduceA != 0) {
  19505. err = sp_4096_mod_64(t[1] + 64, a, m);
  19506. if (err == MP_OKAY) {
  19507. err = sp_4096_mod_64(t[1], t[1], m);
  19508. }
  19509. }
  19510. else {
  19511. XMEMCPY(t[1] + 64, a, sizeof(sp_digit) * 64);
  19512. err = sp_4096_mod_64(t[1], t[1], m);
  19513. }
  19514. }
  19515. if (err == MP_OKAY) {
  19516. sp_4096_mont_sqr_64(t[ 2], t[ 1], m, mp);
  19517. sp_4096_mont_mul_64(t[ 3], t[ 2], t[ 1], m, mp);
  19518. sp_4096_mont_sqr_64(t[ 4], t[ 2], m, mp);
  19519. sp_4096_mont_mul_64(t[ 5], t[ 3], t[ 2], m, mp);
  19520. sp_4096_mont_sqr_64(t[ 6], t[ 3], m, mp);
  19521. sp_4096_mont_mul_64(t[ 7], t[ 4], t[ 3], m, mp);
  19522. i = (bits - 1) / 64;
  19523. n = e[i--];
  19524. c = bits & 63;
  19525. if (c == 0) {
  19526. c = 64;
  19527. }
  19528. c -= bits % 3;
  19529. if (c == 64) {
  19530. c = 61;
  19531. }
  19532. if (c < 0) {
  19533. /* Number of bits in top word is less than number needed. */
  19534. c = -c;
  19535. y = (byte)(n << c);
  19536. n = e[i--];
  19537. y |= (byte)(n >> (64 - c));
  19538. n <<= c;
  19539. c = 64 - c;
  19540. }
  19541. else if (c == 0) {
  19542. /* All bits in top word used. */
  19543. y = (byte)n;
  19544. }
  19545. else {
  19546. y = (byte)(n >> c);
  19547. n <<= 64 - c;
  19548. }
  19549. XMEMCPY(r, t[y], sizeof(sp_digit) * 64);
  19550. for (; i>=0 || c>=3; ) {
  19551. if (c == 0) {
  19552. n = e[i--];
  19553. y = (byte)(n >> 61);
  19554. n <<= 3;
  19555. c = 61;
  19556. }
  19557. else if (c < 3) {
  19558. y = (byte)(n >> 61);
  19559. n = e[i--];
  19560. c = 3 - c;
  19561. y |= (byte)(n >> (64 - c));
  19562. n <<= c;
  19563. c = 64 - c;
  19564. }
  19565. else {
  19566. y = (byte)((n >> 61) & 0x7);
  19567. n <<= 3;
  19568. c -= 3;
  19569. }
  19570. sp_4096_mont_sqr_64(r, r, m, mp);
  19571. sp_4096_mont_sqr_64(r, r, m, mp);
  19572. sp_4096_mont_sqr_64(r, r, m, mp);
  19573. sp_4096_mont_mul_64(r, r, t[y], m, mp);
  19574. }
  19575. XMEMSET(&r[64], 0, sizeof(sp_digit) * 64U);
  19576. sp_4096_mont_reduce_64(r, m, mp);
  19577. mask = 0 - (sp_4096_cmp_64(r, m) >= 0);
  19578. sp_4096_cond_sub_64(r, r, m, mask);
  19579. }
  19580. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19581. if (td != NULL)
  19582. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  19583. #endif
  19584. return err;
  19585. }
  19586. #else
  19587. /* Modular exponentiate a to the e mod m. (r = a^e mod m)
  19588. *
  19589. * r A single precision number that is the result of the operation.
  19590. * a A single precision number being exponentiated.
  19591. * e A single precision number that is the exponent.
  19592. * bits The number of bits in the exponent.
  19593. * m A single precision number that is the modulus.
  19594. * returns 0 on success.
  19595. * returns MEMORY_E on dynamic memory allocation failure.
  19596. * returns MP_VAL when base is even or exponent is 0.
  19597. */
  19598. static int sp_4096_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e,
  19599. int bits, const sp_digit* m, int reduceA)
  19600. {
  19601. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19602. sp_digit* td = NULL;
  19603. #else
  19604. sp_digit td[16 * 128];
  19605. #endif
  19606. sp_digit* t[16];
  19607. sp_digit* norm = NULL;
  19608. sp_digit mp = 1;
  19609. sp_digit n;
  19610. sp_digit mask;
  19611. int i;
  19612. int c;
  19613. byte y;
  19614. int err = MP_OKAY;
  19615. if (bits == 0) {
  19616. err = MP_VAL;
  19617. }
  19618. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19619. if (err == MP_OKAY) {
  19620. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * (16 * 128), NULL,
  19621. DYNAMIC_TYPE_TMP_BUFFER);
  19622. if (td == NULL)
  19623. err = MEMORY_E;
  19624. }
  19625. #endif
  19626. if (err == MP_OKAY) {
  19627. norm = td;
  19628. for (i=0; i<16; i++) {
  19629. t[i] = td + i * 128;
  19630. }
  19631. sp_4096_mont_setup(m, &mp);
  19632. sp_4096_mont_norm_64(norm, m);
  19633. XMEMSET(t[1], 0, sizeof(sp_digit) * 64U);
  19634. if (reduceA != 0) {
  19635. err = sp_4096_mod_64(t[1] + 64, a, m);
  19636. if (err == MP_OKAY) {
  19637. err = sp_4096_mod_64(t[1], t[1], m);
  19638. }
  19639. }
  19640. else {
  19641. XMEMCPY(t[1] + 64, a, sizeof(sp_digit) * 64);
  19642. err = sp_4096_mod_64(t[1], t[1], m);
  19643. }
  19644. }
  19645. if (err == MP_OKAY) {
  19646. sp_4096_mont_sqr_64(t[ 2], t[ 1], m, mp);
  19647. sp_4096_mont_mul_64(t[ 3], t[ 2], t[ 1], m, mp);
  19648. sp_4096_mont_sqr_64(t[ 4], t[ 2], m, mp);
  19649. sp_4096_mont_mul_64(t[ 5], t[ 3], t[ 2], m, mp);
  19650. sp_4096_mont_sqr_64(t[ 6], t[ 3], m, mp);
  19651. sp_4096_mont_mul_64(t[ 7], t[ 4], t[ 3], m, mp);
  19652. sp_4096_mont_sqr_64(t[ 8], t[ 4], m, mp);
  19653. sp_4096_mont_mul_64(t[ 9], t[ 5], t[ 4], m, mp);
  19654. sp_4096_mont_sqr_64(t[10], t[ 5], m, mp);
  19655. sp_4096_mont_mul_64(t[11], t[ 6], t[ 5], m, mp);
  19656. sp_4096_mont_sqr_64(t[12], t[ 6], m, mp);
  19657. sp_4096_mont_mul_64(t[13], t[ 7], t[ 6], m, mp);
  19658. sp_4096_mont_sqr_64(t[14], t[ 7], m, mp);
  19659. sp_4096_mont_mul_64(t[15], t[ 8], t[ 7], m, mp);
  19660. i = (bits - 1) / 64;
  19661. n = e[i--];
  19662. c = bits & 63;
  19663. if (c == 0) {
  19664. c = 64;
  19665. }
  19666. c -= bits % 4;
  19667. if (c == 64) {
  19668. c = 60;
  19669. }
  19670. if (c < 0) {
  19671. /* Number of bits in top word is less than number needed. */
  19672. c = -c;
  19673. y = (byte)(n << c);
  19674. n = e[i--];
  19675. y |= (byte)(n >> (64 - c));
  19676. n <<= c;
  19677. c = 64 - c;
  19678. }
  19679. else if (c == 0) {
  19680. /* All bits in top word used. */
  19681. y = (byte)n;
  19682. }
  19683. else {
  19684. y = (byte)(n >> c);
  19685. n <<= 64 - c;
  19686. }
  19687. XMEMCPY(r, t[y], sizeof(sp_digit) * 64);
  19688. for (; i>=0 || c>=4; ) {
  19689. if (c == 0) {
  19690. n = e[i--];
  19691. y = (byte)(n >> 60);
  19692. n <<= 4;
  19693. c = 60;
  19694. }
  19695. else if (c < 4) {
  19696. y = (byte)(n >> 60);
  19697. n = e[i--];
  19698. c = 4 - c;
  19699. y |= (byte)(n >> (64 - c));
  19700. n <<= c;
  19701. c = 64 - c;
  19702. }
  19703. else {
  19704. y = (byte)((n >> 60) & 0xf);
  19705. n <<= 4;
  19706. c -= 4;
  19707. }
  19708. sp_4096_mont_sqr_64(r, r, m, mp);
  19709. sp_4096_mont_sqr_64(r, r, m, mp);
  19710. sp_4096_mont_sqr_64(r, r, m, mp);
  19711. sp_4096_mont_sqr_64(r, r, m, mp);
  19712. sp_4096_mont_mul_64(r, r, t[y], m, mp);
  19713. }
  19714. XMEMSET(&r[64], 0, sizeof(sp_digit) * 64U);
  19715. sp_4096_mont_reduce_64(r, m, mp);
  19716. mask = 0 - (sp_4096_cmp_64(r, m) >= 0);
  19717. sp_4096_cond_sub_64(r, r, m, mask);
  19718. }
  19719. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19720. if (td != NULL)
  19721. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  19722. #endif
  19723. return err;
  19724. }
  19725. #endif /* WOLFSSL_SP_SMALL */
  19726. #endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
  19727. #endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
  19728. #ifdef WOLFSSL_HAVE_SP_RSA
  19729. /* RSA public key operation.
  19730. *
  19731. * in Array of bytes representing the number to exponentiate, base.
  19732. * inLen Number of bytes in base.
  19733. * em Public exponent.
  19734. * mm Modulus.
  19735. * out Buffer to hold big-endian bytes of exponentiation result.
  19736. * Must be at least 512 bytes long.
  19737. * outLen Number of bytes in result.
  19738. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  19739. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  19740. */
  19741. int sp_RsaPublic_4096(const byte* in, word32 inLen, const mp_int* em,
  19742. const mp_int* mm, byte* out, word32* outLen)
  19743. {
  19744. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19745. sp_digit* a = NULL;
  19746. #else
  19747. sp_digit a[64 * 5];
  19748. #endif
  19749. sp_digit* m = NULL;
  19750. sp_digit* r = NULL;
  19751. sp_digit *ah = NULL;
  19752. sp_digit e[1] = {0};
  19753. int err = MP_OKAY;
  19754. if (*outLen < 512) {
  19755. err = MP_TO_E;
  19756. }
  19757. else if (mp_count_bits(em) > 64 || inLen > 512 ||
  19758. mp_count_bits(mm) != 4096) {
  19759. err = MP_READ_E;
  19760. }
  19761. else if (mp_iseven(mm)) {
  19762. err = MP_VAL;
  19763. }
  19764. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19765. if (err == MP_OKAY) {
  19766. a = (sp_digit*)XMALLOC(sizeof(sp_digit) * 64 * 5, NULL,
  19767. DYNAMIC_TYPE_RSA);
  19768. if (a == NULL)
  19769. err = MEMORY_E;
  19770. }
  19771. #endif
  19772. if (err == MP_OKAY) {
  19773. ah = a + 64;
  19774. r = a + 64 * 2;
  19775. m = r + 64 * 2;
  19776. sp_4096_from_bin(ah, 64, in, inLen);
  19777. #if DIGIT_BIT >= 64
  19778. e[0] = em->dp[0];
  19779. #else
  19780. e[0] = em->dp[0];
  19781. if (em->used > 1) {
  19782. e[0] |= ((sp_digit)em->dp[1]) << DIGIT_BIT;
  19783. }
  19784. #endif
  19785. if (e[0] == 0) {
  19786. err = MP_EXPTMOD_E;
  19787. }
  19788. }
  19789. if (err == MP_OKAY) {
  19790. sp_4096_from_mp(m, 64, mm);
  19791. if (e[0] == 0x10001) {
  19792. int i;
  19793. sp_digit mp;
  19794. sp_4096_mont_setup(m, &mp);
  19795. /* Convert to Montgomery form. */
  19796. XMEMSET(a, 0, sizeof(sp_digit) * 64);
  19797. err = sp_4096_mod_64_cond(r, a, m);
  19798. /* Montgomery form: r = a.R mod m */
  19799. if (err == MP_OKAY) {
  19800. /* r = a ^ 0x10000 => r = a squared 16 times */
  19801. for (i = 15; i >= 0; i--) {
  19802. sp_4096_mont_sqr_64(r, r, m, mp);
  19803. }
  19804. /* mont_red(r.R.R) = (r.R.R / R) mod m = r.R mod m
  19805. * mont_red(r.R * a) = (r.R.a / R) mod m = r.a mod m
  19806. */
  19807. sp_4096_mont_mul_64(r, r, ah, m, mp);
  19808. for (i = 63; i > 0; i--) {
  19809. if (r[i] != m[i]) {
  19810. break;
  19811. }
  19812. }
  19813. if (r[i] >= m[i]) {
  19814. sp_4096_sub_in_place_64(r, m);
  19815. }
  19816. }
  19817. }
  19818. else if (e[0] == 0x3) {
  19819. if (err == MP_OKAY) {
  19820. sp_4096_sqr_64(r, ah);
  19821. err = sp_4096_mod_64_cond(r, r, m);
  19822. }
  19823. if (err == MP_OKAY) {
  19824. sp_4096_mul_64(r, ah, r);
  19825. err = sp_4096_mod_64_cond(r, r, m);
  19826. }
  19827. }
  19828. else {
  19829. int i;
  19830. sp_digit mp;
  19831. sp_4096_mont_setup(m, &mp);
  19832. /* Convert to Montgomery form. */
  19833. XMEMSET(a, 0, sizeof(sp_digit) * 64);
  19834. err = sp_4096_mod_64_cond(a, a, m);
  19835. if (err == MP_OKAY) {
  19836. for (i = 63; i >= 0; i--) {
  19837. if (e[0] >> i) {
  19838. break;
  19839. }
  19840. }
  19841. XMEMCPY(r, a, sizeof(sp_digit) * 64);
  19842. for (i--; i >= 0; i--) {
  19843. sp_4096_mont_sqr_64(r, r, m, mp);
  19844. if (((e[0] >> i) & 1) == 1) {
  19845. sp_4096_mont_mul_64(r, r, a, m, mp);
  19846. }
  19847. }
  19848. XMEMSET(&r[64], 0, sizeof(sp_digit) * 64);
  19849. sp_4096_mont_reduce_64(r, m, mp);
  19850. for (i = 63; i > 0; i--) {
  19851. if (r[i] != m[i]) {
  19852. break;
  19853. }
  19854. }
  19855. if (r[i] >= m[i]) {
  19856. sp_4096_sub_in_place_64(r, m);
  19857. }
  19858. }
  19859. }
  19860. }
  19861. if (err == MP_OKAY) {
  19862. sp_4096_to_bin_64(r, out);
  19863. *outLen = 512;
  19864. }
  19865. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19866. if (a != NULL)
  19867. XFREE(a, NULL, DYNAMIC_TYPE_RSA);
  19868. #endif
  19869. return err;
  19870. }
  19871. #ifndef WOLFSSL_RSA_PUBLIC_ONLY
  19872. #ifdef WOLFSSL_SP_SMALL
  19873. /* Conditionally add a and b using the mask m.
  19874. * m is -1 to add and 0 when not.
  19875. *
  19876. * r A single precision number representing conditional add result.
  19877. * a A single precision number to add with.
  19878. * b A single precision number to add.
  19879. * m Mask value to apply.
  19880. */
  19881. static sp_digit sp_4096_cond_add_32(sp_digit* r, const sp_digit* a, const sp_digit* b,
  19882. sp_digit m)
  19883. {
  19884. sp_digit c = 0;
  19885. __asm__ __volatile__ (
  19886. "mov x8, #0\n\t"
  19887. "1:\n\t"
  19888. "adds %[c], %[c], #-1\n\t"
  19889. "ldr x4, [%[a], x8]\n\t"
  19890. "ldr x5, [%[b], x8]\n\t"
  19891. "and x5, x5, %[m]\n\t"
  19892. "adcs x4, x4, x5\n\t"
  19893. "cset %[c], cs\n\t"
  19894. "str x4, [%[r], x8]\n\t"
  19895. "add x8, x8, #8\n\t"
  19896. "cmp x8, 256\n\t"
  19897. "b.lt 1b\n\t"
  19898. : [c] "+r" (c)
  19899. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  19900. : "memory", "x4", "x5", "x8", "x9", "x10", "x11", "x12"
  19901. );
  19902. return c;
  19903. }
  19904. #endif /* WOLFSSL_SP_SMALL */
  19905. /* RSA private key operation.
  19906. *
  19907. * in Array of bytes representing the number to exponentiate, base.
  19908. * inLen Number of bytes in base.
  19909. * dm Private exponent.
  19910. * pm First prime.
  19911. * qm Second prime.
  19912. * dpm First prime's CRT exponent.
  19913. * dqm Second prime's CRT exponent.
  19914. * qim Inverse of second prime mod p.
  19915. * mm Modulus.
  19916. * out Buffer to hold big-endian bytes of exponentiation result.
  19917. * Must be at least 512 bytes long.
  19918. * outLen Number of bytes in result.
  19919. * returns 0 on success, MP_TO_E when the outLen is too small, MP_READ_E when
  19920. * an array is too long and MEMORY_E when dynamic memory allocation fails.
  19921. */
  19922. int sp_RsaPrivate_4096(const byte* in, word32 inLen, const mp_int* dm,
  19923. const mp_int* pm, const mp_int* qm, const mp_int* dpm, const mp_int* dqm,
  19924. const mp_int* qim, const mp_int* mm, byte* out, word32* outLen)
  19925. {
  19926. #if defined(SP_RSA_PRIVATE_EXP_D) || defined(RSA_LOW_MEM)
  19927. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19928. sp_digit* d = NULL;
  19929. #else
  19930. sp_digit d[64 * 4];
  19931. #endif
  19932. sp_digit* a = NULL;
  19933. sp_digit* m = NULL;
  19934. sp_digit* r = NULL;
  19935. int err = MP_OKAY;
  19936. (void)pm;
  19937. (void)qm;
  19938. (void)dpm;
  19939. (void)dqm;
  19940. (void)qim;
  19941. if (*outLen < 512U) {
  19942. err = MP_TO_E;
  19943. }
  19944. if (err == MP_OKAY) {
  19945. if (mp_count_bits(dm) > 4096) {
  19946. err = MP_READ_E;
  19947. }
  19948. else if (inLen > 512) {
  19949. err = MP_READ_E;
  19950. }
  19951. else if (mp_count_bits(mm) != 4096) {
  19952. err = MP_READ_E;
  19953. }
  19954. else if (mp_iseven(mm)) {
  19955. err = MP_VAL;
  19956. }
  19957. }
  19958. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19959. if (err == MP_OKAY) {
  19960. d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 64 * 4, NULL,
  19961. DYNAMIC_TYPE_RSA);
  19962. if (d == NULL)
  19963. err = MEMORY_E;
  19964. }
  19965. #endif
  19966. if (err == MP_OKAY) {
  19967. a = d + 64;
  19968. m = a + 128;
  19969. r = a;
  19970. sp_4096_from_bin(a, 64, in, inLen);
  19971. sp_4096_from_mp(d, 64, dm);
  19972. sp_4096_from_mp(m, 64, mm);
  19973. err = sp_4096_mod_exp_64(r, a, d, 4096, m, 0);
  19974. }
  19975. if (err == MP_OKAY) {
  19976. sp_4096_to_bin_64(r, out);
  19977. *outLen = 512;
  19978. }
  19979. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19980. if (d != NULL)
  19981. #endif
  19982. {
  19983. /* only "a" and "r" are sensitive and need zeroized (same pointer) */
  19984. if (a != NULL)
  19985. ForceZero(a, sizeof(sp_digit) * 64);
  19986. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19987. XFREE(d, NULL, DYNAMIC_TYPE_RSA);
  19988. #endif
  19989. }
  19990. return err;
  19991. #else
  19992. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  19993. sp_digit* a = NULL;
  19994. #else
  19995. sp_digit a[32 * 11];
  19996. #endif
  19997. sp_digit* p = NULL;
  19998. sp_digit* q = NULL;
  19999. sp_digit* dp = NULL;
  20000. sp_digit* tmpa = NULL;
  20001. sp_digit* tmpb = NULL;
  20002. sp_digit* r = NULL;
  20003. sp_digit* qi = NULL;
  20004. sp_digit* dq = NULL;
  20005. sp_digit c;
  20006. int err = MP_OKAY;
  20007. (void)dm;
  20008. (void)mm;
  20009. if (*outLen < 512) {
  20010. err = MP_TO_E;
  20011. }
  20012. else if (inLen > 512 || mp_count_bits(mm) != 4096) {
  20013. err = MP_READ_E;
  20014. }
  20015. else if (mp_iseven(mm)) {
  20016. err = MP_VAL;
  20017. }
  20018. else if (mp_iseven(pm)) {
  20019. err = MP_VAL;
  20020. }
  20021. else if (mp_iseven(qm)) {
  20022. err = MP_VAL;
  20023. }
  20024. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  20025. if (err == MP_OKAY) {
  20026. a = (sp_digit*)XMALLOC(sizeof(sp_digit) * 32 * 11, NULL,
  20027. DYNAMIC_TYPE_RSA);
  20028. if (a == NULL)
  20029. err = MEMORY_E;
  20030. }
  20031. #endif
  20032. if (err == MP_OKAY) {
  20033. p = a + 64 * 2;
  20034. q = p + 32;
  20035. qi = dq = dp = q + 32;
  20036. tmpa = qi + 32;
  20037. tmpb = tmpa + 64;
  20038. r = a;
  20039. sp_4096_from_bin(a, 64, in, inLen);
  20040. sp_4096_from_mp(p, 32, pm);
  20041. sp_4096_from_mp(q, 32, qm);
  20042. sp_4096_from_mp(dp, 32, dpm);
  20043. err = sp_2048_mod_exp_32(tmpa, a, dp, 2048, p, 1);
  20044. }
  20045. if (err == MP_OKAY) {
  20046. sp_4096_from_mp(dq, 32, dqm);
  20047. err = sp_2048_mod_exp_32(tmpb, a, dq, 2048, q, 1);
  20048. }
  20049. if (err == MP_OKAY) {
  20050. c = sp_2048_sub_in_place_32(tmpa, tmpb);
  20051. c += sp_4096_cond_add_32(tmpa, tmpa, p, c);
  20052. sp_4096_cond_add_32(tmpa, tmpa, p, c);
  20053. sp_2048_from_mp(qi, 32, qim);
  20054. sp_2048_mul_32(tmpa, tmpa, qi);
  20055. err = sp_2048_mod_32(tmpa, tmpa, p);
  20056. }
  20057. if (err == MP_OKAY) {
  20058. sp_2048_mul_32(tmpa, q, tmpa);
  20059. XMEMSET(&tmpb[32], 0, sizeof(sp_digit) * 32);
  20060. sp_4096_add_64(r, tmpb, tmpa);
  20061. sp_4096_to_bin_64(r, out);
  20062. *outLen = 512;
  20063. }
  20064. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  20065. if (a != NULL)
  20066. #endif
  20067. {
  20068. ForceZero(a, sizeof(sp_digit) * 32 * 11);
  20069. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  20070. XFREE(a, NULL, DYNAMIC_TYPE_RSA);
  20071. #endif
  20072. }
  20073. #endif /* SP_RSA_PRIVATE_EXP_D || RSA_LOW_MEM */
  20074. return err;
  20075. }
  20076. #endif /* WOLFSSL_RSA_PUBLIC_ONLY */
  20077. #endif /* WOLFSSL_HAVE_SP_RSA */
  20078. #if defined(WOLFSSL_HAVE_SP_DH) || (defined(WOLFSSL_HAVE_SP_RSA) && \
  20079. !defined(WOLFSSL_RSA_PUBLIC_ONLY))
  20080. /* Convert an array of sp_digit to an mp_int.
  20081. *
  20082. * a A single precision integer.
  20083. * r A multi-precision integer.
  20084. */
  20085. static int sp_4096_to_mp(const sp_digit* a, mp_int* r)
  20086. {
  20087. int err;
  20088. err = mp_grow(r, (4096 + DIGIT_BIT - 1) / DIGIT_BIT);
  20089. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  20090. #if DIGIT_BIT == 64
  20091. XMEMCPY(r->dp, a, sizeof(sp_digit) * 64);
  20092. r->used = 64;
  20093. mp_clamp(r);
  20094. #elif DIGIT_BIT < 64
  20095. int i;
  20096. int j = 0;
  20097. int s = 0;
  20098. r->dp[0] = 0;
  20099. for (i = 0; i < 64; i++) {
  20100. r->dp[j] |= (mp_digit)(a[i] << s);
  20101. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  20102. s = DIGIT_BIT - s;
  20103. r->dp[++j] = (mp_digit)(a[i] >> s);
  20104. while (s + DIGIT_BIT <= 64) {
  20105. s += DIGIT_BIT;
  20106. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  20107. if (s == SP_WORD_SIZE) {
  20108. r->dp[j] = 0;
  20109. }
  20110. else {
  20111. r->dp[j] = (mp_digit)(a[i] >> s);
  20112. }
  20113. }
  20114. s = 64 - s;
  20115. }
  20116. r->used = (4096 + DIGIT_BIT - 1) / DIGIT_BIT;
  20117. mp_clamp(r);
  20118. #else
  20119. int i;
  20120. int j = 0;
  20121. int s = 0;
  20122. r->dp[0] = 0;
  20123. for (i = 0; i < 64; i++) {
  20124. r->dp[j] |= ((mp_digit)a[i]) << s;
  20125. if (s + 64 >= DIGIT_BIT) {
  20126. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  20127. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  20128. #endif
  20129. s = DIGIT_BIT - s;
  20130. r->dp[++j] = a[i] >> s;
  20131. s = 64 - s;
  20132. }
  20133. else {
  20134. s += 64;
  20135. }
  20136. }
  20137. r->used = (4096 + DIGIT_BIT - 1) / DIGIT_BIT;
  20138. mp_clamp(r);
  20139. #endif
  20140. }
  20141. return err;
  20142. }
  20143. /* Perform the modular exponentiation for Diffie-Hellman.
  20144. *
  20145. * base Base. MP integer.
  20146. * exp Exponent. MP integer.
  20147. * mod Modulus. MP integer.
  20148. * res Result. MP integer.
  20149. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  20150. * and MEMORY_E if memory allocation fails.
  20151. */
  20152. int sp_ModExp_4096(const mp_int* base, const mp_int* exp, const mp_int* mod,
  20153. mp_int* res)
  20154. {
  20155. int err = MP_OKAY;
  20156. sp_digit b[128];
  20157. sp_digit e[64];
  20158. sp_digit m[64];
  20159. sp_digit* r = b;
  20160. int expBits = mp_count_bits(exp);
  20161. if (mp_count_bits(base) > 4096) {
  20162. err = MP_READ_E;
  20163. }
  20164. else if (expBits > 4096) {
  20165. err = MP_READ_E;
  20166. }
  20167. else if (mp_count_bits(mod) != 4096) {
  20168. err = MP_READ_E;
  20169. }
  20170. else if (mp_iseven(mod)) {
  20171. err = MP_VAL;
  20172. }
  20173. if (err == MP_OKAY) {
  20174. sp_4096_from_mp(b, 64, base);
  20175. sp_4096_from_mp(e, 64, exp);
  20176. sp_4096_from_mp(m, 64, mod);
  20177. err = sp_4096_mod_exp_64(r, b, e, expBits, m, 0);
  20178. }
  20179. if (err == MP_OKAY) {
  20180. err = sp_4096_to_mp(r, res);
  20181. }
  20182. XMEMSET(e, 0, sizeof(e));
  20183. return err;
  20184. }
  20185. #ifdef WOLFSSL_HAVE_SP_DH
  20186. #ifdef HAVE_FFDHE_4096
  20187. static void sp_4096_lshift_64(sp_digit* r, const sp_digit* a, byte n)
  20188. {
  20189. word64 n64 = n;
  20190. __asm__ __volatile__ (
  20191. "mov x6, 63\n\t"
  20192. "sub x6, x6, %[n]\n\t"
  20193. "ldr x3, [%[a], 504]\n\t"
  20194. "lsr x4, x3, 1\n\t"
  20195. "lsl x3, x3, %[n]\n\t"
  20196. "lsr x4, x4, x6\n\t"
  20197. "ldr x2, [%[a], 496]\n\t"
  20198. "str x4, [%[r], 512]\n\t"
  20199. "lsr x5, x2, 1\n\t"
  20200. "lsl x2, x2, %[n]\n\t"
  20201. "lsr x5, x5, x6\n\t"
  20202. "orr x3, x3, x5\n\t"
  20203. "ldr x4, [%[a], 488]\n\t"
  20204. "str x3, [%[r], 504]\n\t"
  20205. "lsr x5, x4, 1\n\t"
  20206. "lsl x4, x4, %[n]\n\t"
  20207. "lsr x5, x5, x6\n\t"
  20208. "orr x2, x2, x5\n\t"
  20209. "ldr x3, [%[a], 480]\n\t"
  20210. "str x2, [%[r], 496]\n\t"
  20211. "lsr x5, x3, 1\n\t"
  20212. "lsl x3, x3, %[n]\n\t"
  20213. "lsr x5, x5, x6\n\t"
  20214. "orr x4, x4, x5\n\t"
  20215. "ldr x2, [%[a], 472]\n\t"
  20216. "str x4, [%[r], 488]\n\t"
  20217. "lsr x5, x2, 1\n\t"
  20218. "lsl x2, x2, %[n]\n\t"
  20219. "lsr x5, x5, x6\n\t"
  20220. "orr x3, x3, x5\n\t"
  20221. "ldr x4, [%[a], 464]\n\t"
  20222. "str x3, [%[r], 480]\n\t"
  20223. "lsr x5, x4, 1\n\t"
  20224. "lsl x4, x4, %[n]\n\t"
  20225. "lsr x5, x5, x6\n\t"
  20226. "orr x2, x2, x5\n\t"
  20227. "ldr x3, [%[a], 456]\n\t"
  20228. "str x2, [%[r], 472]\n\t"
  20229. "lsr x5, x3, 1\n\t"
  20230. "lsl x3, x3, %[n]\n\t"
  20231. "lsr x5, x5, x6\n\t"
  20232. "orr x4, x4, x5\n\t"
  20233. "ldr x2, [%[a], 448]\n\t"
  20234. "str x4, [%[r], 464]\n\t"
  20235. "lsr x5, x2, 1\n\t"
  20236. "lsl x2, x2, %[n]\n\t"
  20237. "lsr x5, x5, x6\n\t"
  20238. "orr x3, x3, x5\n\t"
  20239. "ldr x4, [%[a], 440]\n\t"
  20240. "str x3, [%[r], 456]\n\t"
  20241. "lsr x5, x4, 1\n\t"
  20242. "lsl x4, x4, %[n]\n\t"
  20243. "lsr x5, x5, x6\n\t"
  20244. "orr x2, x2, x5\n\t"
  20245. "ldr x3, [%[a], 432]\n\t"
  20246. "str x2, [%[r], 448]\n\t"
  20247. "lsr x5, x3, 1\n\t"
  20248. "lsl x3, x3, %[n]\n\t"
  20249. "lsr x5, x5, x6\n\t"
  20250. "orr x4, x4, x5\n\t"
  20251. "ldr x2, [%[a], 424]\n\t"
  20252. "str x4, [%[r], 440]\n\t"
  20253. "lsr x5, x2, 1\n\t"
  20254. "lsl x2, x2, %[n]\n\t"
  20255. "lsr x5, x5, x6\n\t"
  20256. "orr x3, x3, x5\n\t"
  20257. "ldr x4, [%[a], 416]\n\t"
  20258. "str x3, [%[r], 432]\n\t"
  20259. "lsr x5, x4, 1\n\t"
  20260. "lsl x4, x4, %[n]\n\t"
  20261. "lsr x5, x5, x6\n\t"
  20262. "orr x2, x2, x5\n\t"
  20263. "ldr x3, [%[a], 408]\n\t"
  20264. "str x2, [%[r], 424]\n\t"
  20265. "lsr x5, x3, 1\n\t"
  20266. "lsl x3, x3, %[n]\n\t"
  20267. "lsr x5, x5, x6\n\t"
  20268. "orr x4, x4, x5\n\t"
  20269. "ldr x2, [%[a], 400]\n\t"
  20270. "str x4, [%[r], 416]\n\t"
  20271. "lsr x5, x2, 1\n\t"
  20272. "lsl x2, x2, %[n]\n\t"
  20273. "lsr x5, x5, x6\n\t"
  20274. "orr x3, x3, x5\n\t"
  20275. "ldr x4, [%[a], 392]\n\t"
  20276. "str x3, [%[r], 408]\n\t"
  20277. "lsr x5, x4, 1\n\t"
  20278. "lsl x4, x4, %[n]\n\t"
  20279. "lsr x5, x5, x6\n\t"
  20280. "orr x2, x2, x5\n\t"
  20281. "ldr x3, [%[a], 384]\n\t"
  20282. "str x2, [%[r], 400]\n\t"
  20283. "lsr x5, x3, 1\n\t"
  20284. "lsl x3, x3, %[n]\n\t"
  20285. "lsr x5, x5, x6\n\t"
  20286. "orr x4, x4, x5\n\t"
  20287. "ldr x2, [%[a], 376]\n\t"
  20288. "str x4, [%[r], 392]\n\t"
  20289. "lsr x5, x2, 1\n\t"
  20290. "lsl x2, x2, %[n]\n\t"
  20291. "lsr x5, x5, x6\n\t"
  20292. "orr x3, x3, x5\n\t"
  20293. "ldr x4, [%[a], 368]\n\t"
  20294. "str x3, [%[r], 384]\n\t"
  20295. "lsr x5, x4, 1\n\t"
  20296. "lsl x4, x4, %[n]\n\t"
  20297. "lsr x5, x5, x6\n\t"
  20298. "orr x2, x2, x5\n\t"
  20299. "ldr x3, [%[a], 360]\n\t"
  20300. "str x2, [%[r], 376]\n\t"
  20301. "lsr x5, x3, 1\n\t"
  20302. "lsl x3, x3, %[n]\n\t"
  20303. "lsr x5, x5, x6\n\t"
  20304. "orr x4, x4, x5\n\t"
  20305. "ldr x2, [%[a], 352]\n\t"
  20306. "str x4, [%[r], 368]\n\t"
  20307. "lsr x5, x2, 1\n\t"
  20308. "lsl x2, x2, %[n]\n\t"
  20309. "lsr x5, x5, x6\n\t"
  20310. "orr x3, x3, x5\n\t"
  20311. "ldr x4, [%[a], 344]\n\t"
  20312. "str x3, [%[r], 360]\n\t"
  20313. "lsr x5, x4, 1\n\t"
  20314. "lsl x4, x4, %[n]\n\t"
  20315. "lsr x5, x5, x6\n\t"
  20316. "orr x2, x2, x5\n\t"
  20317. "ldr x3, [%[a], 336]\n\t"
  20318. "str x2, [%[r], 352]\n\t"
  20319. "lsr x5, x3, 1\n\t"
  20320. "lsl x3, x3, %[n]\n\t"
  20321. "lsr x5, x5, x6\n\t"
  20322. "orr x4, x4, x5\n\t"
  20323. "ldr x2, [%[a], 328]\n\t"
  20324. "str x4, [%[r], 344]\n\t"
  20325. "lsr x5, x2, 1\n\t"
  20326. "lsl x2, x2, %[n]\n\t"
  20327. "lsr x5, x5, x6\n\t"
  20328. "orr x3, x3, x5\n\t"
  20329. "ldr x4, [%[a], 320]\n\t"
  20330. "str x3, [%[r], 336]\n\t"
  20331. "lsr x5, x4, 1\n\t"
  20332. "lsl x4, x4, %[n]\n\t"
  20333. "lsr x5, x5, x6\n\t"
  20334. "orr x2, x2, x5\n\t"
  20335. "ldr x3, [%[a], 312]\n\t"
  20336. "str x2, [%[r], 328]\n\t"
  20337. "lsr x5, x3, 1\n\t"
  20338. "lsl x3, x3, %[n]\n\t"
  20339. "lsr x5, x5, x6\n\t"
  20340. "orr x4, x4, x5\n\t"
  20341. "ldr x2, [%[a], 304]\n\t"
  20342. "str x4, [%[r], 320]\n\t"
  20343. "lsr x5, x2, 1\n\t"
  20344. "lsl x2, x2, %[n]\n\t"
  20345. "lsr x5, x5, x6\n\t"
  20346. "orr x3, x3, x5\n\t"
  20347. "ldr x4, [%[a], 296]\n\t"
  20348. "str x3, [%[r], 312]\n\t"
  20349. "lsr x5, x4, 1\n\t"
  20350. "lsl x4, x4, %[n]\n\t"
  20351. "lsr x5, x5, x6\n\t"
  20352. "orr x2, x2, x5\n\t"
  20353. "ldr x3, [%[a], 288]\n\t"
  20354. "str x2, [%[r], 304]\n\t"
  20355. "lsr x5, x3, 1\n\t"
  20356. "lsl x3, x3, %[n]\n\t"
  20357. "lsr x5, x5, x6\n\t"
  20358. "orr x4, x4, x5\n\t"
  20359. "ldr x2, [%[a], 280]\n\t"
  20360. "str x4, [%[r], 296]\n\t"
  20361. "lsr x5, x2, 1\n\t"
  20362. "lsl x2, x2, %[n]\n\t"
  20363. "lsr x5, x5, x6\n\t"
  20364. "orr x3, x3, x5\n\t"
  20365. "ldr x4, [%[a], 272]\n\t"
  20366. "str x3, [%[r], 288]\n\t"
  20367. "lsr x5, x4, 1\n\t"
  20368. "lsl x4, x4, %[n]\n\t"
  20369. "lsr x5, x5, x6\n\t"
  20370. "orr x2, x2, x5\n\t"
  20371. "ldr x3, [%[a], 264]\n\t"
  20372. "str x2, [%[r], 280]\n\t"
  20373. "lsr x5, x3, 1\n\t"
  20374. "lsl x3, x3, %[n]\n\t"
  20375. "lsr x5, x5, x6\n\t"
  20376. "orr x4, x4, x5\n\t"
  20377. "ldr x2, [%[a], 256]\n\t"
  20378. "str x4, [%[r], 272]\n\t"
  20379. "lsr x5, x2, 1\n\t"
  20380. "lsl x2, x2, %[n]\n\t"
  20381. "lsr x5, x5, x6\n\t"
  20382. "orr x3, x3, x5\n\t"
  20383. "ldr x4, [%[a], 248]\n\t"
  20384. "str x3, [%[r], 264]\n\t"
  20385. "lsr x5, x4, 1\n\t"
  20386. "lsl x4, x4, %[n]\n\t"
  20387. "lsr x5, x5, x6\n\t"
  20388. "orr x2, x2, x5\n\t"
  20389. "ldr x3, [%[a], 240]\n\t"
  20390. "str x2, [%[r], 256]\n\t"
  20391. "lsr x5, x3, 1\n\t"
  20392. "lsl x3, x3, %[n]\n\t"
  20393. "lsr x5, x5, x6\n\t"
  20394. "orr x4, x4, x5\n\t"
  20395. "ldr x2, [%[a], 232]\n\t"
  20396. "str x4, [%[r], 248]\n\t"
  20397. "lsr x5, x2, 1\n\t"
  20398. "lsl x2, x2, %[n]\n\t"
  20399. "lsr x5, x5, x6\n\t"
  20400. "orr x3, x3, x5\n\t"
  20401. "ldr x4, [%[a], 224]\n\t"
  20402. "str x3, [%[r], 240]\n\t"
  20403. "lsr x5, x4, 1\n\t"
  20404. "lsl x4, x4, %[n]\n\t"
  20405. "lsr x5, x5, x6\n\t"
  20406. "orr x2, x2, x5\n\t"
  20407. "ldr x3, [%[a], 216]\n\t"
  20408. "str x2, [%[r], 232]\n\t"
  20409. "lsr x5, x3, 1\n\t"
  20410. "lsl x3, x3, %[n]\n\t"
  20411. "lsr x5, x5, x6\n\t"
  20412. "orr x4, x4, x5\n\t"
  20413. "ldr x2, [%[a], 208]\n\t"
  20414. "str x4, [%[r], 224]\n\t"
  20415. "lsr x5, x2, 1\n\t"
  20416. "lsl x2, x2, %[n]\n\t"
  20417. "lsr x5, x5, x6\n\t"
  20418. "orr x3, x3, x5\n\t"
  20419. "ldr x4, [%[a], 200]\n\t"
  20420. "str x3, [%[r], 216]\n\t"
  20421. "lsr x5, x4, 1\n\t"
  20422. "lsl x4, x4, %[n]\n\t"
  20423. "lsr x5, x5, x6\n\t"
  20424. "orr x2, x2, x5\n\t"
  20425. "ldr x3, [%[a], 192]\n\t"
  20426. "str x2, [%[r], 208]\n\t"
  20427. "lsr x5, x3, 1\n\t"
  20428. "lsl x3, x3, %[n]\n\t"
  20429. "lsr x5, x5, x6\n\t"
  20430. "orr x4, x4, x5\n\t"
  20431. "ldr x2, [%[a], 184]\n\t"
  20432. "str x4, [%[r], 200]\n\t"
  20433. "lsr x5, x2, 1\n\t"
  20434. "lsl x2, x2, %[n]\n\t"
  20435. "lsr x5, x5, x6\n\t"
  20436. "orr x3, x3, x5\n\t"
  20437. "ldr x4, [%[a], 176]\n\t"
  20438. "str x3, [%[r], 192]\n\t"
  20439. "lsr x5, x4, 1\n\t"
  20440. "lsl x4, x4, %[n]\n\t"
  20441. "lsr x5, x5, x6\n\t"
  20442. "orr x2, x2, x5\n\t"
  20443. "ldr x3, [%[a], 168]\n\t"
  20444. "str x2, [%[r], 184]\n\t"
  20445. "lsr x5, x3, 1\n\t"
  20446. "lsl x3, x3, %[n]\n\t"
  20447. "lsr x5, x5, x6\n\t"
  20448. "orr x4, x4, x5\n\t"
  20449. "ldr x2, [%[a], 160]\n\t"
  20450. "str x4, [%[r], 176]\n\t"
  20451. "lsr x5, x2, 1\n\t"
  20452. "lsl x2, x2, %[n]\n\t"
  20453. "lsr x5, x5, x6\n\t"
  20454. "orr x3, x3, x5\n\t"
  20455. "ldr x4, [%[a], 152]\n\t"
  20456. "str x3, [%[r], 168]\n\t"
  20457. "lsr x5, x4, 1\n\t"
  20458. "lsl x4, x4, %[n]\n\t"
  20459. "lsr x5, x5, x6\n\t"
  20460. "orr x2, x2, x5\n\t"
  20461. "ldr x3, [%[a], 144]\n\t"
  20462. "str x2, [%[r], 160]\n\t"
  20463. "lsr x5, x3, 1\n\t"
  20464. "lsl x3, x3, %[n]\n\t"
  20465. "lsr x5, x5, x6\n\t"
  20466. "orr x4, x4, x5\n\t"
  20467. "ldr x2, [%[a], 136]\n\t"
  20468. "str x4, [%[r], 152]\n\t"
  20469. "lsr x5, x2, 1\n\t"
  20470. "lsl x2, x2, %[n]\n\t"
  20471. "lsr x5, x5, x6\n\t"
  20472. "orr x3, x3, x5\n\t"
  20473. "ldr x4, [%[a], 128]\n\t"
  20474. "str x3, [%[r], 144]\n\t"
  20475. "lsr x5, x4, 1\n\t"
  20476. "lsl x4, x4, %[n]\n\t"
  20477. "lsr x5, x5, x6\n\t"
  20478. "orr x2, x2, x5\n\t"
  20479. "ldr x3, [%[a], 120]\n\t"
  20480. "str x2, [%[r], 136]\n\t"
  20481. "lsr x5, x3, 1\n\t"
  20482. "lsl x3, x3, %[n]\n\t"
  20483. "lsr x5, x5, x6\n\t"
  20484. "orr x4, x4, x5\n\t"
  20485. "ldr x2, [%[a], 112]\n\t"
  20486. "str x4, [%[r], 128]\n\t"
  20487. "lsr x5, x2, 1\n\t"
  20488. "lsl x2, x2, %[n]\n\t"
  20489. "lsr x5, x5, x6\n\t"
  20490. "orr x3, x3, x5\n\t"
  20491. "ldr x4, [%[a], 104]\n\t"
  20492. "str x3, [%[r], 120]\n\t"
  20493. "lsr x5, x4, 1\n\t"
  20494. "lsl x4, x4, %[n]\n\t"
  20495. "lsr x5, x5, x6\n\t"
  20496. "orr x2, x2, x5\n\t"
  20497. "ldr x3, [%[a], 96]\n\t"
  20498. "str x2, [%[r], 112]\n\t"
  20499. "lsr x5, x3, 1\n\t"
  20500. "lsl x3, x3, %[n]\n\t"
  20501. "lsr x5, x5, x6\n\t"
  20502. "orr x4, x4, x5\n\t"
  20503. "ldr x2, [%[a], 88]\n\t"
  20504. "str x4, [%[r], 104]\n\t"
  20505. "lsr x5, x2, 1\n\t"
  20506. "lsl x2, x2, %[n]\n\t"
  20507. "lsr x5, x5, x6\n\t"
  20508. "orr x3, x3, x5\n\t"
  20509. "ldr x4, [%[a], 80]\n\t"
  20510. "str x3, [%[r], 96]\n\t"
  20511. "lsr x5, x4, 1\n\t"
  20512. "lsl x4, x4, %[n]\n\t"
  20513. "lsr x5, x5, x6\n\t"
  20514. "orr x2, x2, x5\n\t"
  20515. "ldr x3, [%[a], 72]\n\t"
  20516. "str x2, [%[r], 88]\n\t"
  20517. "lsr x5, x3, 1\n\t"
  20518. "lsl x3, x3, %[n]\n\t"
  20519. "lsr x5, x5, x6\n\t"
  20520. "orr x4, x4, x5\n\t"
  20521. "ldr x2, [%[a], 64]\n\t"
  20522. "str x4, [%[r], 80]\n\t"
  20523. "lsr x5, x2, 1\n\t"
  20524. "lsl x2, x2, %[n]\n\t"
  20525. "lsr x5, x5, x6\n\t"
  20526. "orr x3, x3, x5\n\t"
  20527. "ldr x4, [%[a], 56]\n\t"
  20528. "str x3, [%[r], 72]\n\t"
  20529. "lsr x5, x4, 1\n\t"
  20530. "lsl x4, x4, %[n]\n\t"
  20531. "lsr x5, x5, x6\n\t"
  20532. "orr x2, x2, x5\n\t"
  20533. "ldr x3, [%[a], 48]\n\t"
  20534. "str x2, [%[r], 64]\n\t"
  20535. "lsr x5, x3, 1\n\t"
  20536. "lsl x3, x3, %[n]\n\t"
  20537. "lsr x5, x5, x6\n\t"
  20538. "orr x4, x4, x5\n\t"
  20539. "ldr x2, [%[a], 40]\n\t"
  20540. "str x4, [%[r], 56]\n\t"
  20541. "lsr x5, x2, 1\n\t"
  20542. "lsl x2, x2, %[n]\n\t"
  20543. "lsr x5, x5, x6\n\t"
  20544. "orr x3, x3, x5\n\t"
  20545. "ldr x4, [%[a], 32]\n\t"
  20546. "str x3, [%[r], 48]\n\t"
  20547. "lsr x5, x4, 1\n\t"
  20548. "lsl x4, x4, %[n]\n\t"
  20549. "lsr x5, x5, x6\n\t"
  20550. "orr x2, x2, x5\n\t"
  20551. "ldr x3, [%[a], 24]\n\t"
  20552. "str x2, [%[r], 40]\n\t"
  20553. "lsr x5, x3, 1\n\t"
  20554. "lsl x3, x3, %[n]\n\t"
  20555. "lsr x5, x5, x6\n\t"
  20556. "orr x4, x4, x5\n\t"
  20557. "ldr x2, [%[a], 16]\n\t"
  20558. "str x4, [%[r], 32]\n\t"
  20559. "lsr x5, x2, 1\n\t"
  20560. "lsl x2, x2, %[n]\n\t"
  20561. "lsr x5, x5, x6\n\t"
  20562. "orr x3, x3, x5\n\t"
  20563. "ldr x4, [%[a], 8]\n\t"
  20564. "str x3, [%[r], 24]\n\t"
  20565. "lsr x5, x4, 1\n\t"
  20566. "lsl x4, x4, %[n]\n\t"
  20567. "lsr x5, x5, x6\n\t"
  20568. "orr x2, x2, x5\n\t"
  20569. "ldr x3, [%[a], 0]\n\t"
  20570. "str x2, [%[r], 16]\n\t"
  20571. "lsr x5, x3, 1\n\t"
  20572. "lsl x3, x3, %[n]\n\t"
  20573. "lsr x5, x5, x6\n\t"
  20574. "orr x4, x4, x5\n\t"
  20575. "stp x3, x4, [%[r]]\n\t"
  20576. :
  20577. : [r] "r" (r), [a] "r" (a), [n] "r" (n64)
  20578. : "memory", "x2", "x3", "x4", "x5", "x6"
  20579. );
  20580. }
  20581. /* Modular exponentiate 2 to the e mod m. (r = 2^e mod m)
  20582. *
  20583. * r A single precision number that is the result of the operation.
  20584. * e A single precision number that is the exponent.
  20585. * bits The number of bits in the exponent.
  20586. * m A single precision number that is the modulus.
  20587. * returns 0 on success.
  20588. * returns MEMORY_E on dynamic memory allocation failure.
  20589. * returns MP_VAL when base is even.
  20590. */
  20591. static int sp_4096_mod_exp_2_64(sp_digit* r, const sp_digit* e, int bits,
  20592. const sp_digit* m)
  20593. {
  20594. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  20595. sp_digit* td = NULL;
  20596. #else
  20597. sp_digit td[193];
  20598. #endif
  20599. sp_digit* norm = NULL;
  20600. sp_digit* tmp = NULL;
  20601. sp_digit mp = 1;
  20602. sp_digit n;
  20603. sp_digit o;
  20604. sp_digit mask;
  20605. int i;
  20606. int c;
  20607. byte y;
  20608. int err = MP_OKAY;
  20609. if (bits == 0) {
  20610. err = MP_VAL;
  20611. }
  20612. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  20613. if (err == MP_OKAY) {
  20614. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 193, NULL,
  20615. DYNAMIC_TYPE_TMP_BUFFER);
  20616. if (td == NULL)
  20617. err = MEMORY_E;
  20618. }
  20619. #endif
  20620. if (err == MP_OKAY) {
  20621. norm = td;
  20622. tmp = td + 128;
  20623. sp_4096_mont_setup(m, &mp);
  20624. sp_4096_mont_norm_64(norm, m);
  20625. i = (bits - 1) / 64;
  20626. n = e[i--];
  20627. c = bits & 63;
  20628. if (c == 0) {
  20629. c = 64;
  20630. }
  20631. c -= bits % 6;
  20632. if (c == 64) {
  20633. c = 58;
  20634. }
  20635. if (c < 0) {
  20636. /* Number of bits in top word is less than number needed. */
  20637. c = -c;
  20638. y = (byte)(n << c);
  20639. n = e[i--];
  20640. y |= (byte)(n >> (64 - c));
  20641. n <<= c;
  20642. c = 64 - c;
  20643. }
  20644. else if (c == 0) {
  20645. /* All bits in top word used. */
  20646. y = (byte)n;
  20647. }
  20648. else {
  20649. y = (byte)(n >> c);
  20650. n <<= 64 - c;
  20651. }
  20652. sp_4096_lshift_64(r, norm, y);
  20653. for (; i>=0 || c>=6; ) {
  20654. if (c == 0) {
  20655. n = e[i--];
  20656. y = (byte)(n >> 58);
  20657. n <<= 6;
  20658. c = 58;
  20659. }
  20660. else if (c < 6) {
  20661. y = (byte)(n >> 58);
  20662. n = e[i--];
  20663. c = 6 - c;
  20664. y |= (byte)(n >> (64 - c));
  20665. n <<= c;
  20666. c = 64 - c;
  20667. }
  20668. else {
  20669. y = (byte)((n >> 58) & 0x3f);
  20670. n <<= 6;
  20671. c -= 6;
  20672. }
  20673. sp_4096_mont_sqr_64(r, r, m, mp);
  20674. sp_4096_mont_sqr_64(r, r, m, mp);
  20675. sp_4096_mont_sqr_64(r, r, m, mp);
  20676. sp_4096_mont_sqr_64(r, r, m, mp);
  20677. sp_4096_mont_sqr_64(r, r, m, mp);
  20678. sp_4096_mont_sqr_64(r, r, m, mp);
  20679. sp_4096_lshift_64(r, r, y);
  20680. sp_4096_mul_d_64(tmp, norm, r[64]);
  20681. r[64] = 0;
  20682. o = sp_4096_add_64(r, r, tmp);
  20683. sp_4096_cond_sub_64(r, r, m, (sp_digit)0 - o);
  20684. }
  20685. XMEMSET(&r[64], 0, sizeof(sp_digit) * 64U);
  20686. sp_4096_mont_reduce_64(r, m, mp);
  20687. mask = 0 - (sp_4096_cmp_64(r, m) >= 0);
  20688. sp_4096_cond_sub_64(r, r, m, mask);
  20689. }
  20690. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  20691. if (td != NULL)
  20692. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  20693. #endif
  20694. return err;
  20695. }
  20696. #endif /* HAVE_FFDHE_4096 */
  20697. /* Perform the modular exponentiation for Diffie-Hellman.
  20698. *
  20699. * base Base.
  20700. * exp Array of bytes that is the exponent.
  20701. * expLen Length of data, in bytes, in exponent.
  20702. * mod Modulus.
  20703. * out Buffer to hold big-endian bytes of exponentiation result.
  20704. * Must be at least 512 bytes long.
  20705. * outLen Length, in bytes, of exponentiation result.
  20706. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  20707. * and MEMORY_E if memory allocation fails.
  20708. */
  20709. int sp_DhExp_4096(const mp_int* base, const byte* exp, word32 expLen,
  20710. const mp_int* mod, byte* out, word32* outLen)
  20711. {
  20712. int err = MP_OKAY;
  20713. sp_digit b[128];
  20714. sp_digit e[64];
  20715. sp_digit m[64];
  20716. sp_digit* r = b;
  20717. word32 i;
  20718. if (mp_count_bits(base) > 4096) {
  20719. err = MP_READ_E;
  20720. }
  20721. else if (expLen > 512) {
  20722. err = MP_READ_E;
  20723. }
  20724. else if (mp_count_bits(mod) != 4096) {
  20725. err = MP_READ_E;
  20726. }
  20727. else if (mp_iseven(mod)) {
  20728. err = MP_VAL;
  20729. }
  20730. if (err == MP_OKAY) {
  20731. sp_4096_from_mp(b, 64, base);
  20732. sp_4096_from_bin(e, 64, exp, expLen);
  20733. sp_4096_from_mp(m, 64, mod);
  20734. #ifdef HAVE_FFDHE_4096
  20735. if (base->used == 1 && base->dp[0] == 2 && m[63] == (sp_digit)-1)
  20736. err = sp_4096_mod_exp_2_64(r, e, expLen * 8, m);
  20737. else
  20738. #endif
  20739. err = sp_4096_mod_exp_64(r, b, e, expLen * 8, m, 0);
  20740. }
  20741. if (err == MP_OKAY) {
  20742. sp_4096_to_bin_64(r, out);
  20743. *outLen = 512;
  20744. for (i=0; i<512 && out[i] == 0; i++) {
  20745. /* Search for first non-zero. */
  20746. }
  20747. *outLen -= i;
  20748. XMEMMOVE(out, out + i, *outLen);
  20749. }
  20750. XMEMSET(e, 0, sizeof(e));
  20751. return err;
  20752. }
  20753. #endif /* WOLFSSL_HAVE_SP_DH */
  20754. #endif /* WOLFSSL_HAVE_SP_DH | (WOLFSSL_HAVE_SP_RSA & !WOLFSSL_RSA_PUBLIC_ONLY) */
  20755. #endif /* WOLFSSL_SP_4096 */
  20756. #endif /* WOLFSSL_HAVE_SP_RSA | WOLFSSL_HAVE_SP_DH */
  20757. #ifdef WOLFSSL_HAVE_SP_ECC
  20758. #ifndef WOLFSSL_SP_NO_256
  20759. /* Point structure to use. */
  20760. typedef struct sp_point_256 {
  20761. /* X ordinate of point. */
  20762. sp_digit x[2 * 4];
  20763. /* Y ordinate of point. */
  20764. sp_digit y[2 * 4];
  20765. /* Z ordinate of point. */
  20766. sp_digit z[2 * 4];
  20767. /* Indicates point is at infinity. */
  20768. int infinity;
  20769. } sp_point_256;
  20770. /* The modulus (prime) of the curve P256. */
  20771. static const sp_digit p256_mod[4] = {
  20772. 0xffffffffffffffffL,0x00000000ffffffffL,0x0000000000000000L,
  20773. 0xffffffff00000001L
  20774. };
  20775. /* The Montgomery normalizer for modulus of the curve P256. */
  20776. static const sp_digit p256_norm_mod[4] = {
  20777. 0x0000000000000001L,0xffffffff00000000L,0xffffffffffffffffL,
  20778. 0x00000000fffffffeL
  20779. };
  20780. /* The Montgomery multiplier for modulus of the curve P256. */
  20781. static const sp_digit p256_mp_mod = 0x0000000000000001;
  20782. #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \
  20783. defined(HAVE_ECC_VERIFY)
  20784. /* The order of the curve P256. */
  20785. static const sp_digit p256_order[4] = {
  20786. 0xf3b9cac2fc632551L,0xbce6faada7179e84L,0xffffffffffffffffL,
  20787. 0xffffffff00000000L
  20788. };
  20789. #endif
  20790. /* The order of the curve P256 minus 2. */
  20791. static const sp_digit p256_order2[4] = {
  20792. 0xf3b9cac2fc63254fL,0xbce6faada7179e84L,0xffffffffffffffffL,
  20793. 0xffffffff00000000L
  20794. };
  20795. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  20796. /* The Montgomery normalizer for order of the curve P256. */
  20797. static const sp_digit p256_norm_order[4] = {
  20798. 0x0c46353d039cdaafL,0x4319055258e8617bL,0x0000000000000000L,
  20799. 0x00000000ffffffffL
  20800. };
  20801. #endif
  20802. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  20803. /* The Montgomery multiplier for order of the curve P256. */
  20804. static const sp_digit p256_mp_order = 0xccd1c8aaee00bc4fL;
  20805. #endif
  20806. #ifdef WOLFSSL_SP_SMALL
  20807. /* The base point of curve P256. */
  20808. static const sp_point_256 p256_base = {
  20809. /* X ordinate */
  20810. {
  20811. 0xf4a13945d898c296L,0x77037d812deb33a0L,0xf8bce6e563a440f2L,
  20812. 0x6b17d1f2e12c4247L,
  20813. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0
  20814. },
  20815. /* Y ordinate */
  20816. {
  20817. 0xcbb6406837bf51f5L,0x2bce33576b315eceL,0x8ee7eb4a7c0f9e16L,
  20818. 0x4fe342e2fe1a7f9bL,
  20819. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0
  20820. },
  20821. /* Z ordinate */
  20822. {
  20823. 0x0000000000000001L,0x0000000000000000L,0x0000000000000000L,
  20824. 0x0000000000000000L,
  20825. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0
  20826. },
  20827. /* infinity */
  20828. 0
  20829. };
  20830. #endif /* WOLFSSL_SP_SMALL */
  20831. #if defined(HAVE_ECC_CHECK_KEY) || defined(HAVE_COMP_KEY)
  20832. static const sp_digit p256_b[4] = {
  20833. 0x3bce3c3e27d2604bL,0x651d06b0cc53b0f6L,0xb3ebbd55769886bcL,
  20834. 0x5ac635d8aa3a93e7L
  20835. };
  20836. #endif
  20837. #ifdef WOLFSSL_SP_SMALL
  20838. /* Multiply a and b into r. (r = a * b)
  20839. *
  20840. * r A single precision integer.
  20841. * a A single precision integer.
  20842. * b A single precision integer.
  20843. */
  20844. static void sp_256_mul_4(sp_digit* r, const sp_digit* a, const sp_digit* b)
  20845. {
  20846. sp_digit tmp[8];
  20847. __asm__ __volatile__ (
  20848. "mov x5, xzr\n\t"
  20849. "mov x6, xzr\n\t"
  20850. "mov x7, xzr\n\t"
  20851. "mov x8, xzr\n\t"
  20852. "\n1:\n\t"
  20853. "subs x3, x5, 24\n\t"
  20854. "csel x3, xzr, x3, cc\n\t"
  20855. "sub x4, x5, x3\n\t"
  20856. "\n2:\n\t"
  20857. "ldr x10, [%[a], x3]\n\t"
  20858. "ldr x11, [%[b], x4]\n\t"
  20859. "mul x9, x10, x11\n\t"
  20860. "umulh x10, x10, x11\n\t"
  20861. "adds x6, x6, x9\n\t"
  20862. "adcs x7, x7, x10\n\t"
  20863. "adc x8, x8, xzr\n\t"
  20864. "add x3, x3, #8\n\t"
  20865. "sub x4, x4, #8\n\t"
  20866. "cmp x3, 32\n\t"
  20867. "b.eq 3f\n\t"
  20868. "cmp x3, x5\n\t"
  20869. "b.le 2b\n\t"
  20870. "\n3:\n\t"
  20871. "str x6, [%[r], x5]\n\t"
  20872. "mov x6, x7\n\t"
  20873. "mov x7, x8\n\t"
  20874. "mov x8, #0\n\t"
  20875. "add x5, x5, #8\n\t"
  20876. "cmp x5, 48\n\t"
  20877. "b.le 1b\n\t"
  20878. "str x6, [%[r], x5]\n\t"
  20879. :
  20880. : [r] "r" (tmp), [a] "r" (a), [b] "r" (b)
  20881. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  20882. );
  20883. XMEMCPY(r, tmp, sizeof(tmp));
  20884. }
  20885. #else
  20886. /* Multiply a and b into r. (r = a * b)
  20887. *
  20888. * r A single precision integer.
  20889. * a A single precision integer.
  20890. * b A single precision integer.
  20891. */
  20892. static void sp_256_mul_4(sp_digit* r, const sp_digit* a, const sp_digit* b)
  20893. {
  20894. sp_digit tmp[4];
  20895. __asm__ __volatile__ (
  20896. "ldp x16, x17, [%[a], 0]\n\t"
  20897. "ldp x21, x22, [%[b], 0]\n\t"
  20898. "# A[0] * B[0]\n\t"
  20899. "mul x8, x16, x21\n\t"
  20900. "ldr x19, [%[a], 16]\n\t"
  20901. "umulh x9, x16, x21\n\t"
  20902. "ldr x23, [%[b], 16]\n\t"
  20903. "# A[0] * B[1]\n\t"
  20904. "mul x4, x16, x22\n\t"
  20905. "ldr x20, [%[a], 24]\n\t"
  20906. "umulh x5, x16, x22\n\t"
  20907. "ldr x24, [%[b], 24]\n\t"
  20908. "adds x9, x9, x4\n\t"
  20909. "# A[1] * B[0]\n\t"
  20910. "mul x4, x17, x21\n\t"
  20911. "adc x10, xzr, x5\n\t"
  20912. "umulh x5, x17, x21\n\t"
  20913. "adds x9, x9, x4\n\t"
  20914. "# A[0] * B[2]\n\t"
  20915. "mul x4, x16, x23\n\t"
  20916. "adcs x10, x10, x5\n\t"
  20917. "umulh x5, x16, x23\n\t"
  20918. "adc x11, xzr, xzr\n\t"
  20919. "adds x10, x10, x4\n\t"
  20920. "# A[1] * B[1]\n\t"
  20921. "mul x4, x17, x22\n\t"
  20922. "adc x11, x11, x5\n\t"
  20923. "umulh x5, x17, x22\n\t"
  20924. "adds x10, x10, x4\n\t"
  20925. "# A[2] * B[0]\n\t"
  20926. "mul x4, x19, x21\n\t"
  20927. "adcs x11, x11, x5\n\t"
  20928. "umulh x5, x19, x21\n\t"
  20929. "adc x12, xzr, xzr\n\t"
  20930. "adds x10, x10, x4\n\t"
  20931. "# A[0] * B[3]\n\t"
  20932. "mul x4, x16, x24\n\t"
  20933. "adcs x11, x11, x5\n\t"
  20934. "umulh x5, x16, x24\n\t"
  20935. "adc x12, x12, xzr\n\t"
  20936. "adds x11, x11, x4\n\t"
  20937. "# A[1] * B[2]\n\t"
  20938. "mul x4, x17, x23\n\t"
  20939. "adcs x12, x12, x5\n\t"
  20940. "umulh x5, x17, x23\n\t"
  20941. "adc x13, xzr, xzr\n\t"
  20942. "adds x11, x11, x4\n\t"
  20943. "# A[2] * B[1]\n\t"
  20944. "mul x4, x19, x22\n\t"
  20945. "adcs x12, x12, x5\n\t"
  20946. "umulh x5, x19, x22\n\t"
  20947. "adc x13, x13, xzr\n\t"
  20948. "adds x11, x11, x4\n\t"
  20949. "# A[3] * B[0]\n\t"
  20950. "mul x4, x20, x21\n\t"
  20951. "adcs x12, x12, x5\n\t"
  20952. "umulh x5, x20, x21\n\t"
  20953. "adc x13, x13, xzr\n\t"
  20954. "adds x11, x11, x4\n\t"
  20955. "# A[1] * B[3]\n\t"
  20956. "mul x4, x17, x24\n\t"
  20957. "adcs x12, x12, x5\n\t"
  20958. "umulh x5, x17, x24\n\t"
  20959. "adc x13, x13, xzr\n\t"
  20960. "adds x12, x12, x4\n\t"
  20961. "# A[2] * B[2]\n\t"
  20962. "mul x4, x19, x23\n\t"
  20963. "adcs x13, x13, x5\n\t"
  20964. "umulh x5, x19, x23\n\t"
  20965. "adc x14, xzr, xzr\n\t"
  20966. "adds x12, x12, x4\n\t"
  20967. "# A[3] * B[1]\n\t"
  20968. "mul x4, x20, x22\n\t"
  20969. "adcs x13, x13, x5\n\t"
  20970. "umulh x5, x20, x22\n\t"
  20971. "adc x14, x14, xzr\n\t"
  20972. "adds x12, x12, x4\n\t"
  20973. "# A[2] * B[3]\n\t"
  20974. "mul x4, x19, x24\n\t"
  20975. "adcs x13, x13, x5\n\t"
  20976. "umulh x5, x19, x24\n\t"
  20977. "adc x14, x14, xzr\n\t"
  20978. "adds x13, x13, x4\n\t"
  20979. "# A[3] * B[2]\n\t"
  20980. "mul x4, x20, x23\n\t"
  20981. "adcs x14, x14, x5\n\t"
  20982. "umulh x5, x20, x23\n\t"
  20983. "adc x15, xzr, xzr\n\t"
  20984. "adds x13, x13, x4\n\t"
  20985. "# A[3] * B[3]\n\t"
  20986. "mul x4, x20, x24\n\t"
  20987. "adcs x14, x14, x5\n\t"
  20988. "umulh x5, x20, x24\n\t"
  20989. "adc x15, x15, xzr\n\t"
  20990. "adds x14, x14, x4\n\t"
  20991. "adc x15, x15, x5\n\t"
  20992. "stp x8, x9, [%[r], 0]\n\t"
  20993. "stp x10, x11, [%[r], 16]\n\t"
  20994. "stp x12, x13, [%[r], 32]\n\t"
  20995. "stp x14, x15, [%[r], 48]\n\t"
  20996. :
  20997. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [tmp] "r" (tmp)
  20998. : "memory", "x4", "x5", "x6", "x7", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15"
  20999. );
  21000. }
  21001. #endif /* WOLFSSL_SP_SMALL */
  21002. /* Square a and put result in r. (r = a * a)
  21003. *
  21004. * r A single precision integer.
  21005. * a A single precision integer.
  21006. */
  21007. static void sp_256_sqr_4(sp_digit* r, const sp_digit* a)
  21008. {
  21009. __asm__ __volatile__ (
  21010. "ldp x16, x17, [%[a], 0]\n\t"
  21011. "# A[0] * A[1]\n\t"
  21012. "mul x9, x16, x17\n\t"
  21013. "ldr x19, [%[a], 16]\n\t"
  21014. "umulh x10, x16, x17\n\t"
  21015. "ldr x20, [%[a], 24]\n\t"
  21016. "# A[0] * A[2]\n\t"
  21017. "mul x4, x16, x19\n\t"
  21018. "umulh x5, x16, x19\n\t"
  21019. "adds x10, x10, x4\n\t"
  21020. "# A[0] * A[3]\n\t"
  21021. "mul x4, x16, x20\n\t"
  21022. "adc x11, xzr, x5\n\t"
  21023. "umulh x5, x16, x20\n\t"
  21024. "adds x11, x11, x4\n\t"
  21025. "# A[1] * A[2]\n\t"
  21026. "mul x4, x17, x19\n\t"
  21027. "adc x12, xzr, x5\n\t"
  21028. "umulh x5, x17, x19\n\t"
  21029. "adds x11, x11, x4\n\t"
  21030. "# A[1] * A[3]\n\t"
  21031. "mul x4, x17, x20\n\t"
  21032. "adcs x12, x12, x5\n\t"
  21033. "umulh x5, x17, x20\n\t"
  21034. "adc x13, xzr, xzr\n\t"
  21035. "adds x12, x12, x4\n\t"
  21036. "# A[2] * A[3]\n\t"
  21037. "mul x4, x19, x20\n\t"
  21038. "adc x13, x13, x5\n\t"
  21039. "umulh x5, x19, x20\n\t"
  21040. "adds x13, x13, x4\n\t"
  21041. "adc x14, xzr, x5\n\t"
  21042. "# Double\n\t"
  21043. "adds x9, x9, x9\n\t"
  21044. "adcs x10, x10, x10\n\t"
  21045. "adcs x11, x11, x11\n\t"
  21046. "adcs x12, x12, x12\n\t"
  21047. "adcs x13, x13, x13\n\t"
  21048. "# A[0] * A[0]\n\t"
  21049. "mul x8, x16, x16\n\t"
  21050. "adcs x14, x14, x14\n\t"
  21051. "umulh x3, x16, x16\n\t"
  21052. "cset x15, cs\n\t"
  21053. "# A[1] * A[1]\n\t"
  21054. "mul x4, x17, x17\n\t"
  21055. "adds x9, x9, x3\n\t"
  21056. "umulh x5, x17, x17\n\t"
  21057. "adcs x10, x10, x4\n\t"
  21058. "# A[2] * A[2]\n\t"
  21059. "mul x6, x19, x19\n\t"
  21060. "adcs x11, x11, x5\n\t"
  21061. "umulh x7, x19, x19\n\t"
  21062. "adcs x12, x12, x6\n\t"
  21063. "# A[3] * A[3]\n\t"
  21064. "mul x16, x20, x20\n\t"
  21065. "adcs x13, x13, x7\n\t"
  21066. "umulh x17, x20, x20\n\t"
  21067. "adcs x14, x14, x16\n\t"
  21068. "adc x15, x15, x17\n\t"
  21069. "stp x8, x9, [%[r], 0]\n\t"
  21070. "stp x10, x11, [%[r], 16]\n\t"
  21071. "stp x12, x13, [%[r], 32]\n\t"
  21072. "stp x14, x15, [%[r], 48]\n\t"
  21073. :
  21074. : [r] "r" (r), [a] "r" (a)
  21075. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20"
  21076. );
  21077. }
  21078. /* Add b to a into r. (r = a + b)
  21079. *
  21080. * r A single precision integer.
  21081. * a A single precision integer.
  21082. * b A single precision integer.
  21083. */
  21084. static sp_digit sp_256_add_4(sp_digit* r, const sp_digit* a,
  21085. const sp_digit* b)
  21086. {
  21087. __asm__ __volatile__ (
  21088. "ldp x3, x4, [%[a], 0]\n\t"
  21089. "ldp x7, x8, [%[b], 0]\n\t"
  21090. "adds x3, x3, x7\n\t"
  21091. "ldp x5, x6, [%[a], 16]\n\t"
  21092. "adcs x4, x4, x8\n\t"
  21093. "ldp x9, x10, [%[b], 16]\n\t"
  21094. "adcs x5, x5, x9\n\t"
  21095. "stp x3, x4, [%[r], 0]\n\t"
  21096. "adcs x6, x6, x10\n\t"
  21097. "stp x5, x6, [%[r], 16]\n\t"
  21098. "cset %[r], cs\n\t"
  21099. : [r] "+r" (r)
  21100. : [a] "r" (a), [b] "r" (b)
  21101. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  21102. );
  21103. return (sp_digit)r;
  21104. }
  21105. /* Sub b from a into r. (r = a - b)
  21106. *
  21107. * r A single precision integer.
  21108. * a A single precision integer.
  21109. * b A single precision integer.
  21110. */
  21111. static sp_digit sp_256_sub_4(sp_digit* r, const sp_digit* a,
  21112. const sp_digit* b)
  21113. {
  21114. __asm__ __volatile__ (
  21115. "ldp x3, x4, [%[a], 0]\n\t"
  21116. "ldp x7, x8, [%[b], 0]\n\t"
  21117. "subs x3, x3, x7\n\t"
  21118. "ldp x5, x6, [%[a], 16]\n\t"
  21119. "sbcs x4, x4, x8\n\t"
  21120. "ldp x9, x10, [%[b], 16]\n\t"
  21121. "sbcs x5, x5, x9\n\t"
  21122. "stp x3, x4, [%[r], 0]\n\t"
  21123. "sbcs x6, x6, x10\n\t"
  21124. "stp x5, x6, [%[r], 16]\n\t"
  21125. "csetm %[r], cc\n\t"
  21126. : [r] "+r" (r)
  21127. : [a] "r" (a), [b] "r" (b)
  21128. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  21129. );
  21130. return (sp_digit)r;
  21131. }
  21132. /* Multiply a number by Montgomery normalizer mod modulus (prime).
  21133. *
  21134. * r The resulting Montgomery form number.
  21135. * a The number to convert.
  21136. * m The modulus (prime).
  21137. */
  21138. static int sp_256_mod_mul_norm_4(sp_digit* r, const sp_digit* a, const sp_digit* m)
  21139. {
  21140. int64_t t[8];
  21141. int64_t a32[8];
  21142. int64_t o;
  21143. (void)m;
  21144. a32[0] = a[0] & 0xffffffff;
  21145. a32[1] = a[0] >> 32;
  21146. a32[2] = a[1] & 0xffffffff;
  21147. a32[3] = a[1] >> 32;
  21148. a32[4] = a[2] & 0xffffffff;
  21149. a32[5] = a[2] >> 32;
  21150. a32[6] = a[3] & 0xffffffff;
  21151. a32[7] = a[3] >> 32;
  21152. /* 1 1 0 -1 -1 -1 -1 0 */
  21153. t[0] = 0 + a32[0] + a32[1] - a32[3] - a32[4] - a32[5] - a32[6];
  21154. /* 0 1 1 0 -1 -1 -1 -1 */
  21155. t[1] = 0 + a32[1] + a32[2] - a32[4] - a32[5] - a32[6] - a32[7];
  21156. /* 0 0 1 1 0 -1 -1 -1 */
  21157. t[2] = 0 + a32[2] + a32[3] - a32[5] - a32[6] - a32[7];
  21158. /* -1 -1 0 2 2 1 0 -1 */
  21159. t[3] = 0 - a32[0] - a32[1] + 2 * a32[3] + 2 * a32[4] + a32[5] - a32[7];
  21160. /* 0 -1 -1 0 2 2 1 0 */
  21161. t[4] = 0 - a32[1] - a32[2] + 2 * a32[4] + 2 * a32[5] + a32[6];
  21162. /* 0 0 -1 -1 0 2 2 1 */
  21163. t[5] = 0 - a32[2] - a32[3] + 2 * a32[5] + 2 * a32[6] + a32[7];
  21164. /* -1 -1 0 0 0 1 3 2 */
  21165. t[6] = 0 - a32[0] - a32[1] + a32[5] + 3 * a32[6] + 2 * a32[7];
  21166. /* 1 0 -1 -1 -1 -1 0 3 */
  21167. t[7] = 0 + a32[0] - a32[2] - a32[3] - a32[4] - a32[5] + 3 * a32[7];
  21168. t[1] += t[0] >> 32; t[0] &= 0xffffffff;
  21169. t[2] += t[1] >> 32; t[1] &= 0xffffffff;
  21170. t[3] += t[2] >> 32; t[2] &= 0xffffffff;
  21171. t[4] += t[3] >> 32; t[3] &= 0xffffffff;
  21172. t[5] += t[4] >> 32; t[4] &= 0xffffffff;
  21173. t[6] += t[5] >> 32; t[5] &= 0xffffffff;
  21174. t[7] += t[6] >> 32; t[6] &= 0xffffffff;
  21175. o = t[7] >> 32; t[7] &= 0xffffffff;
  21176. t[0] += o;
  21177. t[3] -= o;
  21178. t[6] -= o;
  21179. t[7] += o;
  21180. t[1] += t[0] >> 32; t[0] &= 0xffffffff;
  21181. t[2] += t[1] >> 32; t[1] &= 0xffffffff;
  21182. t[3] += t[2] >> 32; t[2] &= 0xffffffff;
  21183. t[4] += t[3] >> 32; t[3] &= 0xffffffff;
  21184. t[5] += t[4] >> 32; t[4] &= 0xffffffff;
  21185. t[6] += t[5] >> 32; t[5] &= 0xffffffff;
  21186. t[7] += t[6] >> 32; t[6] &= 0xffffffff;
  21187. r[0] = (t[1] << 32) | t[0];
  21188. r[1] = (t[3] << 32) | t[2];
  21189. r[2] = (t[5] << 32) | t[4];
  21190. r[3] = (t[7] << 32) | t[6];
  21191. return MP_OKAY;
  21192. }
  21193. /* Convert an mp_int to an array of sp_digit.
  21194. *
  21195. * r A single precision integer.
  21196. * size Maximum number of bytes to convert
  21197. * a A multi-precision integer.
  21198. */
  21199. static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
  21200. {
  21201. #if DIGIT_BIT == 64
  21202. int j;
  21203. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  21204. for (j = a->used; j < size; j++) {
  21205. r[j] = 0;
  21206. }
  21207. #elif DIGIT_BIT > 64
  21208. int i;
  21209. int j = 0;
  21210. word32 s = 0;
  21211. r[0] = 0;
  21212. for (i = 0; i < a->used && j < size; i++) {
  21213. r[j] |= ((sp_digit)a->dp[i] << s);
  21214. r[j] &= 0xffffffffffffffffl;
  21215. s = 64U - s;
  21216. if (j + 1 >= size) {
  21217. break;
  21218. }
  21219. /* lint allow cast of mismatch word32 and mp_digit */
  21220. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  21221. while ((s + 64U) <= (word32)DIGIT_BIT) {
  21222. s += 64U;
  21223. r[j] &= 0xffffffffffffffffl;
  21224. if (j + 1 >= size) {
  21225. break;
  21226. }
  21227. if (s < (word32)DIGIT_BIT) {
  21228. /* lint allow cast of mismatch word32 and mp_digit */
  21229. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  21230. }
  21231. else {
  21232. r[++j] = (sp_digit)0;
  21233. }
  21234. }
  21235. s = (word32)DIGIT_BIT - s;
  21236. }
  21237. for (j++; j < size; j++) {
  21238. r[j] = 0;
  21239. }
  21240. #else
  21241. int i;
  21242. int j = 0;
  21243. int s = 0;
  21244. r[0] = 0;
  21245. for (i = 0; i < a->used && j < size; i++) {
  21246. r[j] |= ((sp_digit)a->dp[i]) << s;
  21247. if (s + DIGIT_BIT >= 64) {
  21248. r[j] &= 0xffffffffffffffffl;
  21249. if (j + 1 >= size) {
  21250. break;
  21251. }
  21252. s = 64 - s;
  21253. if (s == DIGIT_BIT) {
  21254. r[++j] = 0;
  21255. s = 0;
  21256. }
  21257. else {
  21258. r[++j] = a->dp[i] >> s;
  21259. s = DIGIT_BIT - s;
  21260. }
  21261. }
  21262. else {
  21263. s += DIGIT_BIT;
  21264. }
  21265. }
  21266. for (j++; j < size; j++) {
  21267. r[j] = 0;
  21268. }
  21269. #endif
  21270. }
  21271. /* Convert a point of type ecc_point to type sp_point_256.
  21272. *
  21273. * p Point of type sp_point_256 (result).
  21274. * pm Point of type ecc_point.
  21275. */
  21276. static void sp_256_point_from_ecc_point_4(sp_point_256* p,
  21277. const ecc_point* pm)
  21278. {
  21279. XMEMSET(p->x, 0, sizeof(p->x));
  21280. XMEMSET(p->y, 0, sizeof(p->y));
  21281. XMEMSET(p->z, 0, sizeof(p->z));
  21282. sp_256_from_mp(p->x, 4, pm->x);
  21283. sp_256_from_mp(p->y, 4, pm->y);
  21284. sp_256_from_mp(p->z, 4, pm->z);
  21285. p->infinity = 0;
  21286. }
  21287. /* Convert an array of sp_digit to an mp_int.
  21288. *
  21289. * a A single precision integer.
  21290. * r A multi-precision integer.
  21291. */
  21292. static int sp_256_to_mp(const sp_digit* a, mp_int* r)
  21293. {
  21294. int err;
  21295. err = mp_grow(r, (256 + DIGIT_BIT - 1) / DIGIT_BIT);
  21296. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  21297. #if DIGIT_BIT == 64
  21298. XMEMCPY(r->dp, a, sizeof(sp_digit) * 4);
  21299. r->used = 4;
  21300. mp_clamp(r);
  21301. #elif DIGIT_BIT < 64
  21302. int i;
  21303. int j = 0;
  21304. int s = 0;
  21305. r->dp[0] = 0;
  21306. for (i = 0; i < 4; i++) {
  21307. r->dp[j] |= (mp_digit)(a[i] << s);
  21308. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  21309. s = DIGIT_BIT - s;
  21310. r->dp[++j] = (mp_digit)(a[i] >> s);
  21311. while (s + DIGIT_BIT <= 64) {
  21312. s += DIGIT_BIT;
  21313. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  21314. if (s == SP_WORD_SIZE) {
  21315. r->dp[j] = 0;
  21316. }
  21317. else {
  21318. r->dp[j] = (mp_digit)(a[i] >> s);
  21319. }
  21320. }
  21321. s = 64 - s;
  21322. }
  21323. r->used = (256 + DIGIT_BIT - 1) / DIGIT_BIT;
  21324. mp_clamp(r);
  21325. #else
  21326. int i;
  21327. int j = 0;
  21328. int s = 0;
  21329. r->dp[0] = 0;
  21330. for (i = 0; i < 4; i++) {
  21331. r->dp[j] |= ((mp_digit)a[i]) << s;
  21332. if (s + 64 >= DIGIT_BIT) {
  21333. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  21334. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  21335. #endif
  21336. s = DIGIT_BIT - s;
  21337. r->dp[++j] = a[i] >> s;
  21338. s = 64 - s;
  21339. }
  21340. else {
  21341. s += 64;
  21342. }
  21343. }
  21344. r->used = (256 + DIGIT_BIT - 1) / DIGIT_BIT;
  21345. mp_clamp(r);
  21346. #endif
  21347. }
  21348. return err;
  21349. }
  21350. /* Convert a point of type sp_point_256 to type ecc_point.
  21351. *
  21352. * p Point of type sp_point_256.
  21353. * pm Point of type ecc_point (result).
  21354. * returns MEMORY_E when allocation of memory in ecc_point fails otherwise
  21355. * MP_OKAY.
  21356. */
  21357. static int sp_256_point_to_ecc_point_4(const sp_point_256* p, ecc_point* pm)
  21358. {
  21359. int err;
  21360. err = sp_256_to_mp(p->x, pm->x);
  21361. if (err == MP_OKAY) {
  21362. err = sp_256_to_mp(p->y, pm->y);
  21363. }
  21364. if (err == MP_OKAY) {
  21365. err = sp_256_to_mp(p->z, pm->z);
  21366. }
  21367. return err;
  21368. }
  21369. /* Conditionally copy a into r using the mask m.
  21370. * m is -1 to copy and 0 when not.
  21371. *
  21372. * r A single precision number to copy over.
  21373. * a A single precision number to copy.
  21374. * m Mask value to apply.
  21375. */
  21376. static void sp_256_cond_copy_4(sp_digit* r, const sp_digit* a, sp_digit m)
  21377. {
  21378. __asm__ __volatile__ (
  21379. "ldp x3, x4, [%[r], 0]\n\t"
  21380. "ldp x7, x8, [%[a], 0]\n\t"
  21381. "eor x7, x7, x3\n\t"
  21382. "ldp x5, x6, [%[r], 16]\n\t"
  21383. "eor x8, x8, x4\n\t"
  21384. "ldp x9, x10, [%[a], 16]\n\t"
  21385. "eor x9, x9, x5\n\t"
  21386. "eor x10, x10, x6\n\t"
  21387. "and x7, x7, %[m]\n\t"
  21388. "and x8, x8, %[m]\n\t"
  21389. "and x9, x9, %[m]\n\t"
  21390. "and x10, x10, %[m]\n\t"
  21391. "eor x3, x3, x7\n\t"
  21392. "eor x4, x4, x8\n\t"
  21393. "eor x5, x5, x9\n\t"
  21394. "stp x3, x4, [%[r], 0]\n\t"
  21395. "eor x6, x6, x10\n\t"
  21396. "stp x5, x6, [%[r], 16]\n\t"
  21397. :
  21398. : [r] "r" (r), [a] "r" (a), [m] "r" (m)
  21399. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  21400. );
  21401. }
  21402. /* Multiply two Montgomery form numbers mod the modulus (prime).
  21403. * (r = a * b mod m)
  21404. *
  21405. * r Result of multiplication.
  21406. * a First number to multiply in Montgomery form.
  21407. * b Second number to multiply in Montgomery form.
  21408. * m Modulus (prime).
  21409. * mp Montgomery mulitplier.
  21410. */
  21411. SP_NOINLINE static void sp_256_mont_mul_4(sp_digit* r, const sp_digit* a, const sp_digit* b,
  21412. const sp_digit* m, sp_digit mp)
  21413. {
  21414. (void)m;
  21415. (void)mp;
  21416. __asm__ __volatile__ (
  21417. "ldp x16, x17, [%[a], 0]\n\t"
  21418. "ldp x21, x22, [%[b], 0]\n\t"
  21419. "# A[0] * B[0]\n\t"
  21420. "mul x8, x16, x21\n\t"
  21421. "ldr x19, [%[a], 16]\n\t"
  21422. "umulh x9, x16, x21\n\t"
  21423. "ldr x23, [%[b], 16]\n\t"
  21424. "# A[0] * B[1]\n\t"
  21425. "mul x4, x16, x22\n\t"
  21426. "ldr x20, [%[a], 24]\n\t"
  21427. "umulh x5, x16, x22\n\t"
  21428. "ldr x24, [%[b], 24]\n\t"
  21429. "adds x9, x9, x4\n\t"
  21430. "# A[1] * B[0]\n\t"
  21431. "mul x4, x17, x21\n\t"
  21432. "adc x10, xzr, x5\n\t"
  21433. "umulh x5, x17, x21\n\t"
  21434. "adds x9, x9, x4\n\t"
  21435. "# A[0] * B[2]\n\t"
  21436. "mul x4, x16, x23\n\t"
  21437. "adcs x10, x10, x5\n\t"
  21438. "umulh x5, x16, x23\n\t"
  21439. "adc x11, xzr, xzr\n\t"
  21440. "adds x10, x10, x4\n\t"
  21441. "# A[1] * B[1]\n\t"
  21442. "mul x4, x17, x22\n\t"
  21443. "adc x11, x11, x5\n\t"
  21444. "umulh x5, x17, x22\n\t"
  21445. "adds x10, x10, x4\n\t"
  21446. "# A[2] * B[0]\n\t"
  21447. "mul x4, x19, x21\n\t"
  21448. "adcs x11, x11, x5\n\t"
  21449. "umulh x5, x19, x21\n\t"
  21450. "adc x12, xzr, xzr\n\t"
  21451. "adds x10, x10, x4\n\t"
  21452. "# A[0] * B[3]\n\t"
  21453. "mul x4, x16, x24\n\t"
  21454. "adcs x11, x11, x5\n\t"
  21455. "umulh x5, x16, x24\n\t"
  21456. "adc x12, x12, xzr\n\t"
  21457. "adds x11, x11, x4\n\t"
  21458. "# A[1] * B[2]\n\t"
  21459. "mul x4, x17, x23\n\t"
  21460. "adcs x12, x12, x5\n\t"
  21461. "umulh x5, x17, x23\n\t"
  21462. "adc x13, xzr, xzr\n\t"
  21463. "adds x11, x11, x4\n\t"
  21464. "# A[2] * B[1]\n\t"
  21465. "mul x4, x19, x22\n\t"
  21466. "adcs x12, x12, x5\n\t"
  21467. "umulh x5, x19, x22\n\t"
  21468. "adc x13, x13, xzr\n\t"
  21469. "adds x11, x11, x4\n\t"
  21470. "# A[3] * B[0]\n\t"
  21471. "mul x4, x20, x21\n\t"
  21472. "adcs x12, x12, x5\n\t"
  21473. "umulh x5, x20, x21\n\t"
  21474. "adc x13, x13, xzr\n\t"
  21475. "adds x11, x11, x4\n\t"
  21476. "# A[1] * B[3]\n\t"
  21477. "mul x4, x17, x24\n\t"
  21478. "adcs x12, x12, x5\n\t"
  21479. "umulh x5, x17, x24\n\t"
  21480. "adc x13, x13, xzr\n\t"
  21481. "adds x12, x12, x4\n\t"
  21482. "# A[2] * B[2]\n\t"
  21483. "mul x4, x19, x23\n\t"
  21484. "adcs x13, x13, x5\n\t"
  21485. "umulh x5, x19, x23\n\t"
  21486. "adc x14, xzr, xzr\n\t"
  21487. "adds x12, x12, x4\n\t"
  21488. "# A[3] * B[1]\n\t"
  21489. "mul x4, x20, x22\n\t"
  21490. "adcs x13, x13, x5\n\t"
  21491. "umulh x5, x20, x22\n\t"
  21492. "adc x14, x14, xzr\n\t"
  21493. "adds x12, x12, x4\n\t"
  21494. "# A[2] * B[3]\n\t"
  21495. "mul x4, x19, x24\n\t"
  21496. "adcs x13, x13, x5\n\t"
  21497. "umulh x5, x19, x24\n\t"
  21498. "adc x14, x14, xzr\n\t"
  21499. "adds x13, x13, x4\n\t"
  21500. "# A[3] * B[2]\n\t"
  21501. "mul x4, x20, x23\n\t"
  21502. "adcs x14, x14, x5\n\t"
  21503. "umulh x5, x20, x23\n\t"
  21504. "adc x15, xzr, xzr\n\t"
  21505. "adds x13, x13, x4\n\t"
  21506. "# A[3] * B[3]\n\t"
  21507. "mul x4, x20, x24\n\t"
  21508. "adcs x14, x14, x5\n\t"
  21509. "umulh x5, x20, x24\n\t"
  21510. "adc x15, x15, xzr\n\t"
  21511. "adds x14, x14, x4\n\t"
  21512. "mov x4, x8\n\t"
  21513. "adc x15, x15, x5\n\t"
  21514. "# Start Reduction\n\t"
  21515. "mov x5, x9\n\t"
  21516. "mov x6, x10\n\t"
  21517. "# mu = a[0]-a[3] + a[0]-a[2] << 32 << 64 + (a[0] * 2) << 192\n\t"
  21518. "# - a[0] << 32 << 192\n\t"
  21519. "# + (a[0] * 2) << 192\n\t"
  21520. "# a[0]-a[2] << 32\n\t"
  21521. "extr x10, x10, x9, 32\n\t"
  21522. "add x7, x11, x8\n\t"
  21523. "extr x9, x9, x8, 32\n\t"
  21524. "add x7, x7, x8\n\t"
  21525. "# + a[0]-a[2] << 32 << 64\n\t"
  21526. "# - a[0] << 32 << 192\n\t"
  21527. "adds x5, x5, x8, lsl #32\n\t"
  21528. "sub x7, x7, x8, lsl #32\n\t"
  21529. "adcs x6, x6, x9\n\t"
  21530. "adc x7, x7, x10\n\t"
  21531. "# a += (mu << 256) - (mu << 224) + (mu << 192) + (mu << 96) - mu\n\t"
  21532. "# a += mu << 256\n\t"
  21533. "adds x12, x12, x4\n\t"
  21534. "adcs x13, x13, x5\n\t"
  21535. "adcs x14, x14, x6\n\t"
  21536. "adcs x15, x15, x7\n\t"
  21537. "cset x8, cs\n\t"
  21538. "# a += mu << 192\n\t"
  21539. "# mu <<= 32\n\t"
  21540. "# a += (mu << 32) << 64\n\t"
  21541. "adds x11, x11, x4\n\t"
  21542. "adcs x12, x12, x5\n\t"
  21543. "adcs x13, x13, x6\n\t"
  21544. "lsr x16, x7, 32\n\t"
  21545. "adcs x14, x14, x7\n\t"
  21546. "extr x7, x7, x6, 32\n\t"
  21547. "adcs x15, x15, xzr\n\t"
  21548. "extr x6, x6, x5, 32\n\t"
  21549. "adc x8, x8, xzr\n\t"
  21550. "extr x5, x5, x4, 32\n\t"
  21551. "lsl x4, x4, 32\n\t"
  21552. "adds x9, x9, x4\n\t"
  21553. "adcs x10, x10, x5\n\t"
  21554. "adcs x11, x11, x6\n\t"
  21555. "adcs x12, x12, x7\n\t"
  21556. "adcs x13, x13, x16\n\t"
  21557. "adcs x14, x14, xzr\n\t"
  21558. "adcs x15, x15, xzr\n\t"
  21559. "adc x8, x8, xzr\n\t"
  21560. "# a -= (mu << 32) << 192\n\t"
  21561. "subs x11, x11, x4\n\t"
  21562. "sbcs x12, x12, x5\n\t"
  21563. "sbcs x13, x13, x6\n\t"
  21564. "sbcs x14, x14, x7\n\t"
  21565. "sbcs x15, x15, x16\n\t"
  21566. "mov x19, 0xffffffff00000001\n\t"
  21567. "sbc x8, x8, xzr\n\t"
  21568. "neg x8, x8\n\t"
  21569. "# mask m and sub from result if overflow\n\t"
  21570. "# m[0] = -1 & mask = mask\n\t"
  21571. "subs x12, x12, x8\n\t"
  21572. "# m[1] = 0xffffffff & mask = mask >> 32 as mask is all 1s or 0s\n\t"
  21573. "lsr x17, x8, 32\n\t"
  21574. "sbcs x13, x13, x17\n\t"
  21575. "and x19, x19, x8\n\t"
  21576. "# m[2] = 0 & mask = 0\n\t"
  21577. "sbcs x14, x14, xzr\n\t"
  21578. "stp x12, x13, [%[r], 0]\n\t"
  21579. "# m[3] = 0xffffffff00000001 & mask\n\t"
  21580. "sbc x15, x15, x19\n\t"
  21581. "stp x14, x15, [%[r], 16]\n\t"
  21582. : [a] "+r" (a), [b] "+r" (b)
  21583. : [r] "r" (r)
  21584. : "memory", "x4", "x5", "x6", "x7", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15"
  21585. );
  21586. }
  21587. /* Square the Montgomery form number mod the modulus (prime). (r = a * a mod m)
  21588. *
  21589. * r Result of squaring.
  21590. * a Number to square in Montgomery form.
  21591. * m Modulus (prime).
  21592. * mp Montgomery mulitplier.
  21593. */
  21594. SP_NOINLINE static void sp_256_mont_sqr_4(sp_digit* r, const sp_digit* a, const sp_digit* m,
  21595. sp_digit mp)
  21596. {
  21597. (void)m;
  21598. (void)mp;
  21599. __asm__ __volatile__ (
  21600. "ldp x16, x17, [%[a], 0]\n\t"
  21601. "# A[0] * A[1]\n\t"
  21602. "mul x9, x16, x17\n\t"
  21603. "ldr x19, [%[a], 16]\n\t"
  21604. "umulh x10, x16, x17\n\t"
  21605. "ldr x20, [%[a], 24]\n\t"
  21606. "# A[0] * A[2]\n\t"
  21607. "mul x4, x16, x19\n\t"
  21608. "umulh x5, x16, x19\n\t"
  21609. "adds x10, x10, x4\n\t"
  21610. "# A[0] * A[3]\n\t"
  21611. "mul x4, x16, x20\n\t"
  21612. "adc x11, xzr, x5\n\t"
  21613. "umulh x5, x16, x20\n\t"
  21614. "adds x11, x11, x4\n\t"
  21615. "# A[1] * A[2]\n\t"
  21616. "mul x4, x17, x19\n\t"
  21617. "adc x12, xzr, x5\n\t"
  21618. "umulh x5, x17, x19\n\t"
  21619. "adds x11, x11, x4\n\t"
  21620. "# A[1] * A[3]\n\t"
  21621. "mul x4, x17, x20\n\t"
  21622. "adcs x12, x12, x5\n\t"
  21623. "umulh x5, x17, x20\n\t"
  21624. "adc x13, xzr, xzr\n\t"
  21625. "adds x12, x12, x4\n\t"
  21626. "# A[2] * A[3]\n\t"
  21627. "mul x4, x19, x20\n\t"
  21628. "adc x13, x13, x5\n\t"
  21629. "umulh x5, x19, x20\n\t"
  21630. "adds x13, x13, x4\n\t"
  21631. "adc x14, xzr, x5\n\t"
  21632. "# Double\n\t"
  21633. "adds x9, x9, x9\n\t"
  21634. "adcs x10, x10, x10\n\t"
  21635. "adcs x11, x11, x11\n\t"
  21636. "adcs x12, x12, x12\n\t"
  21637. "adcs x13, x13, x13\n\t"
  21638. "# A[0] * A[0]\n\t"
  21639. "mul x8, x16, x16\n\t"
  21640. "adcs x14, x14, x14\n\t"
  21641. "umulh x3, x16, x16\n\t"
  21642. "cset x15, cs\n\t"
  21643. "# A[1] * A[1]\n\t"
  21644. "mul x4, x17, x17\n\t"
  21645. "adds x9, x9, x3\n\t"
  21646. "umulh x5, x17, x17\n\t"
  21647. "adcs x10, x10, x4\n\t"
  21648. "# A[2] * A[2]\n\t"
  21649. "mul x6, x19, x19\n\t"
  21650. "adcs x11, x11, x5\n\t"
  21651. "umulh x7, x19, x19\n\t"
  21652. "adcs x12, x12, x6\n\t"
  21653. "# A[3] * A[3]\n\t"
  21654. "mul x16, x20, x20\n\t"
  21655. "adcs x13, x13, x7\n\t"
  21656. "umulh x17, x20, x20\n\t"
  21657. "adcs x14, x14, x16\n\t"
  21658. "mov x3, x8\n\t"
  21659. "adc x15, x15, x17\n\t"
  21660. "# Start Reduction\n\t"
  21661. "mov x4, x9\n\t"
  21662. "mov x5, x10\n\t"
  21663. "# mu = a[0]-a[3] + a[0]-a[2] << 32 << 64 + (a[0] * 2) << 192\n\t"
  21664. "# - a[0] << 32 << 192\n\t"
  21665. "# + (a[0] * 2) << 192\n\t"
  21666. "# a[0]-a[2] << 32\n\t"
  21667. "extr x10, x10, x9, 32\n\t"
  21668. "add x6, x11, x8\n\t"
  21669. "extr x9, x9, x8, 32\n\t"
  21670. "add x6, x6, x8\n\t"
  21671. "# + a[0]-a[2] << 32 << 64\n\t"
  21672. "# - a[0] << 32 << 192\n\t"
  21673. "adds x4, x4, x8, lsl #32\n\t"
  21674. "sub x6, x6, x8, lsl #32\n\t"
  21675. "adcs x5, x5, x9\n\t"
  21676. "adc x6, x6, x10\n\t"
  21677. "# a += (mu << 256) - (mu << 224) + (mu << 192) + (mu << 96) - mu\n\t"
  21678. "# a += mu << 256\n\t"
  21679. "adds x12, x12, x3\n\t"
  21680. "adcs x13, x13, x4\n\t"
  21681. "adcs x14, x14, x5\n\t"
  21682. "adcs x15, x15, x6\n\t"
  21683. "cset x8, cs\n\t"
  21684. "# a += mu << 192\n\t"
  21685. "# mu <<= 32\n\t"
  21686. "# a += (mu << 32) << 64\n\t"
  21687. "adds x11, x11, x3\n\t"
  21688. "adcs x12, x12, x4\n\t"
  21689. "adcs x13, x13, x5\n\t"
  21690. "lsr x7, x6, 32\n\t"
  21691. "adcs x14, x14, x6\n\t"
  21692. "extr x6, x6, x5, 32\n\t"
  21693. "adcs x15, x15, xzr\n\t"
  21694. "extr x5, x5, x4, 32\n\t"
  21695. "adc x8, x8, xzr\n\t"
  21696. "extr x4, x4, x3, 32\n\t"
  21697. "lsl x3, x3, 32\n\t"
  21698. "adds x9, x9, x3\n\t"
  21699. "adcs x10, x10, x4\n\t"
  21700. "adcs x11, x11, x5\n\t"
  21701. "adcs x12, x12, x6\n\t"
  21702. "adcs x13, x13, x7\n\t"
  21703. "adcs x14, x14, xzr\n\t"
  21704. "adcs x15, x15, xzr\n\t"
  21705. "adc x8, x8, xzr\n\t"
  21706. "# a -= (mu << 32) << 192\n\t"
  21707. "subs x11, x11, x3\n\t"
  21708. "sbcs x12, x12, x4\n\t"
  21709. "sbcs x13, x13, x5\n\t"
  21710. "sbcs x14, x14, x6\n\t"
  21711. "sbcs x15, x15, x7\n\t"
  21712. "mov x17, 0xffffffff00000001\n\t"
  21713. "sbc x8, x8, xzr\n\t"
  21714. "neg x8, x8\n\t"
  21715. "# mask m and sub from result if overflow\n\t"
  21716. "# m[0] = -1 & mask = mask\n\t"
  21717. "subs x12, x12, x8\n\t"
  21718. "# m[1] = 0xffffffff & mask = mask >> 32 as mask is all 1s or 0s\n\t"
  21719. "lsr x16, x8, 32\n\t"
  21720. "sbcs x13, x13, x16\n\t"
  21721. "and x17, x17, x8\n\t"
  21722. "# m[2] = 0 & mask = 0\n\t"
  21723. "sbcs x14, x14, xzr\n\t"
  21724. "stp x12, x13, [%[r], 0]\n\t"
  21725. "# m[3] = 0xffffffff00000001 & mask\n\t"
  21726. "sbc x15, x15, x17\n\t"
  21727. "stp x14, x15, [%[r], 16]\n\t"
  21728. :
  21729. : [r] "r" (r), [a] "r" (a)
  21730. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20"
  21731. );
  21732. }
  21733. #if !defined(WOLFSSL_SP_SMALL) || defined(HAVE_COMP_KEY)
  21734. /* Square the Montgomery form number a number of times. (r = a ^ n mod m)
  21735. *
  21736. * r Result of squaring.
  21737. * a Number to square in Montgomery form.
  21738. * n Number of times to square.
  21739. * m Modulus (prime).
  21740. * mp Montgomery mulitplier.
  21741. */
  21742. static void sp_256_mont_sqr_n_4(sp_digit* r, const sp_digit* a, int n,
  21743. const sp_digit* m, sp_digit mp)
  21744. {
  21745. sp_256_mont_sqr_4(r, a, m, mp);
  21746. for (; n > 1; n--) {
  21747. sp_256_mont_sqr_4(r, r, m, mp);
  21748. }
  21749. }
  21750. #endif /* !WOLFSSL_SP_SMALL | HAVE_COMP_KEY */
  21751. #ifdef WOLFSSL_SP_SMALL
  21752. /* Mod-2 for the P256 curve. */
  21753. static const uint64_t p256_mod_minus_2[4] = {
  21754. 0xfffffffffffffffdU,0x00000000ffffffffU,0x0000000000000000U,
  21755. 0xffffffff00000001U
  21756. };
  21757. #endif /* !WOLFSSL_SP_SMALL */
  21758. /* Invert the number, in Montgomery form, modulo the modulus (prime) of the
  21759. * P256 curve. (r = 1 / a mod m)
  21760. *
  21761. * r Inverse result.
  21762. * a Number to invert.
  21763. * td Temporary data.
  21764. */
  21765. static void sp_256_mont_inv_4(sp_digit* r, const sp_digit* a, sp_digit* td)
  21766. {
  21767. #ifdef WOLFSSL_SP_SMALL
  21768. sp_digit* t = td;
  21769. int i;
  21770. XMEMCPY(t, a, sizeof(sp_digit) * 4);
  21771. for (i=254; i>=0; i--) {
  21772. sp_256_mont_sqr_4(t, t, p256_mod, p256_mp_mod);
  21773. if (p256_mod_minus_2[i / 64] & ((sp_digit)1 << (i % 64)))
  21774. sp_256_mont_mul_4(t, t, a, p256_mod, p256_mp_mod);
  21775. }
  21776. XMEMCPY(r, t, sizeof(sp_digit) * 4);
  21777. #else
  21778. sp_digit* t1 = td;
  21779. sp_digit* t2 = td + 2 * 4;
  21780. sp_digit* t3 = td + 4 * 4;
  21781. /* 0x2 */
  21782. sp_256_mont_sqr_4(t1, a, p256_mod, p256_mp_mod);
  21783. /* 0x3 */
  21784. sp_256_mont_mul_4(t2, t1, a, p256_mod, p256_mp_mod);
  21785. /* 0xc */
  21786. sp_256_mont_sqr_n_4(t1, t2, 2, p256_mod, p256_mp_mod);
  21787. /* 0xd */
  21788. sp_256_mont_mul_4(t3, t1, a, p256_mod, p256_mp_mod);
  21789. /* 0xf */
  21790. sp_256_mont_mul_4(t2, t2, t1, p256_mod, p256_mp_mod);
  21791. /* 0xf0 */
  21792. sp_256_mont_sqr_n_4(t1, t2, 4, p256_mod, p256_mp_mod);
  21793. /* 0xfd */
  21794. sp_256_mont_mul_4(t3, t3, t1, p256_mod, p256_mp_mod);
  21795. /* 0xff */
  21796. sp_256_mont_mul_4(t2, t2, t1, p256_mod, p256_mp_mod);
  21797. /* 0xff00 */
  21798. sp_256_mont_sqr_n_4(t1, t2, 8, p256_mod, p256_mp_mod);
  21799. /* 0xfffd */
  21800. sp_256_mont_mul_4(t3, t3, t1, p256_mod, p256_mp_mod);
  21801. /* 0xffff */
  21802. sp_256_mont_mul_4(t2, t2, t1, p256_mod, p256_mp_mod);
  21803. /* 0xffff0000 */
  21804. sp_256_mont_sqr_n_4(t1, t2, 16, p256_mod, p256_mp_mod);
  21805. /* 0xfffffffd */
  21806. sp_256_mont_mul_4(t3, t3, t1, p256_mod, p256_mp_mod);
  21807. /* 0xffffffff */
  21808. sp_256_mont_mul_4(t2, t2, t1, p256_mod, p256_mp_mod);
  21809. /* 0xffffffff00000000 */
  21810. sp_256_mont_sqr_n_4(t1, t2, 32, p256_mod, p256_mp_mod);
  21811. /* 0xffffffffffffffff */
  21812. sp_256_mont_mul_4(t2, t2, t1, p256_mod, p256_mp_mod);
  21813. /* 0xffffffff00000001 */
  21814. sp_256_mont_mul_4(r, t1, a, p256_mod, p256_mp_mod);
  21815. /* 0xffffffff000000010000000000000000000000000000000000000000 */
  21816. sp_256_mont_sqr_n_4(r, r, 160, p256_mod, p256_mp_mod);
  21817. /* 0xffffffff00000001000000000000000000000000ffffffffffffffff */
  21818. sp_256_mont_mul_4(r, r, t2, p256_mod, p256_mp_mod);
  21819. /* 0xffffffff00000001000000000000000000000000ffffffffffffffff00000000 */
  21820. sp_256_mont_sqr_n_4(r, r, 32, p256_mod, p256_mp_mod);
  21821. /* 0xffffffff00000001000000000000000000000000fffffffffffffffffffffffd */
  21822. sp_256_mont_mul_4(r, r, t3, p256_mod, p256_mp_mod);
  21823. #endif /* WOLFSSL_SP_SMALL */
  21824. }
  21825. /* Compare a with b in constant time.
  21826. *
  21827. * a A single precision integer.
  21828. * b A single precision integer.
  21829. * return -ve, 0 or +ve if a is less than, equal to or greater than b
  21830. * respectively.
  21831. */
  21832. static sp_int64 sp_256_cmp_4(const sp_digit* a, const sp_digit* b)
  21833. {
  21834. #ifdef WOLFSSL_SP_SMALL
  21835. __asm__ __volatile__ (
  21836. "mov x3, #0\n\t"
  21837. "mov x2, #-1\n\t"
  21838. "mov x10, #4\n\t"
  21839. "add %[a], %[a], #16\n\t"
  21840. "add %[b], %[b], #16\n\t"
  21841. "1:\n\t"
  21842. "ldp x6, x7, [%[a]], -16\n\t"
  21843. "ldp x8, x9, [%[b]], -16\n\t"
  21844. "subs x7, x7, x9\n\t"
  21845. "csel x4, x2, xzr, lo\n\t"
  21846. "csetm x5, eq\n\t"
  21847. "orr x3, x3, x4\n\t"
  21848. "and x2, x2, x5\n\t"
  21849. "subs x6, x6, x8\n\t"
  21850. "csel x4, x2, xzr, lo\n\t"
  21851. "csetm x5, eq\n\t"
  21852. "orr x3, x3, x4\n\t"
  21853. "and x2, x2, x5\n\t"
  21854. "subs x10, x10, #2\n\t"
  21855. "b.ne 1b\n\t"
  21856. "cmp x2, #0\n\t"
  21857. "cset %[a], eq\n\t"
  21858. "orr %[a], %[a], x3\n\t"
  21859. : [a] "+r" (a), [b] "+r" (b)
  21860. :
  21861. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  21862. );
  21863. #else
  21864. __asm__ __volatile__ (
  21865. "mov x3, #0\n\t"
  21866. "mov x2, #-1\n\t"
  21867. "ldp x6, x7, [%[a], 16]\n\t"
  21868. "ldp x8, x9, [%[b], 16]\n\t"
  21869. "subs x7, x7, x9\n\t"
  21870. "csel x4, x2, xzr, lo\n\t"
  21871. "csetm x5, eq\n\t"
  21872. "orr x3, x3, x4\n\t"
  21873. "and x2, x2, x5\n\t"
  21874. "subs x6, x6, x8\n\t"
  21875. "csel x4, x2, xzr, lo\n\t"
  21876. "csetm x5, eq\n\t"
  21877. "orr x3, x3, x4\n\t"
  21878. "and x2, x2, x5\n\t"
  21879. "ldp x6, x7, [%[a], 0]\n\t"
  21880. "ldp x8, x9, [%[b], 0]\n\t"
  21881. "subs x7, x7, x9\n\t"
  21882. "csel x4, x2, xzr, lo\n\t"
  21883. "csetm x5, eq\n\t"
  21884. "orr x3, x3, x4\n\t"
  21885. "and x2, x2, x5\n\t"
  21886. "subs x6, x6, x8\n\t"
  21887. "csel x4, x2, xzr, lo\n\t"
  21888. "csetm x5, eq\n\t"
  21889. "orr x3, x3, x4\n\t"
  21890. "and x2, x2, x5\n\t"
  21891. "cmp x2, #0\n\t"
  21892. "cset %[a], eq\n\t"
  21893. "orr %[a], %[a], x3\n\t"
  21894. : [a] "+r" (a)
  21895. : [b] "r" (b)
  21896. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  21897. );
  21898. #endif
  21899. return (sp_int64)a;
  21900. }
  21901. /* Normalize the values in each word to 64.
  21902. *
  21903. * a Array of sp_digit to normalize.
  21904. */
  21905. #define sp_256_norm_4(a)
  21906. /* Conditionally subtract b from a using the mask m.
  21907. * m is -1 to subtract and 0 when not copying.
  21908. *
  21909. * r A single precision number representing condition subtract result.
  21910. * a A single precision number to subtract from.
  21911. * b A single precision number to subtract.
  21912. * m Mask value to apply.
  21913. */
  21914. static sp_digit sp_256_cond_sub_4(sp_digit* r, const sp_digit* a, const sp_digit* b,
  21915. sp_digit m)
  21916. {
  21917. __asm__ __volatile__ (
  21918. "ldp x5, x7, [%[b], 0]\n\t"
  21919. "ldp x11, x12, [%[b], 16]\n\t"
  21920. "ldp x4, x6, [%[a], 0]\n\t"
  21921. "and x5, x5, %[m]\n\t"
  21922. "ldp x9, x10, [%[a], 16]\n\t"
  21923. "and x7, x7, %[m]\n\t"
  21924. "subs x4, x4, x5\n\t"
  21925. "and x11, x11, %[m]\n\t"
  21926. "sbcs x6, x6, x7\n\t"
  21927. "and x12, x12, %[m]\n\t"
  21928. "sbcs x9, x9, x11\n\t"
  21929. "stp x4, x6, [%[r], 0]\n\t"
  21930. "sbcs x10, x10, x12\n\t"
  21931. "stp x9, x10, [%[r], 16]\n\t"
  21932. "csetm %[r], cc\n\t"
  21933. : [r] "+r" (r)
  21934. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  21935. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  21936. );
  21937. return (sp_digit)r;
  21938. }
  21939. /* Reduce the number back to 256 bits using Montgomery reduction.
  21940. *
  21941. * a A single precision number to reduce in place.
  21942. * m The single precision number representing the modulus.
  21943. * mp The digit representing the negative inverse of m mod 2^n.
  21944. */
  21945. SP_NOINLINE static void sp_256_mont_reduce_4(sp_digit* a, const sp_digit* m,
  21946. sp_digit mp)
  21947. {
  21948. __asm__ __volatile__ (
  21949. "ldp x10, x11, [%[a], 0]\n\t"
  21950. "ldp x12, x13, [%[a], 16]\n\t"
  21951. "ldp x14, x15, [%[a], 32]\n\t"
  21952. "ldp x16, x17, [%[a], 48]\n\t"
  21953. "mov x3, x10\n\t"
  21954. "# Start Reduction\n\t"
  21955. "mov x4, x11\n\t"
  21956. "mov x5, x12\n\t"
  21957. "# mu = a[0]-a[3] + a[0]-a[2] << 32 << 64 + (a[0] * 2) << 192\n\t"
  21958. "# - a[0] << 32 << 192\n\t"
  21959. "# + (a[0] * 2) << 192\n\t"
  21960. "# a[0]-a[2] << 32\n\t"
  21961. "extr x12, x12, x11, 32\n\t"
  21962. "add x6, x13, x10\n\t"
  21963. "extr x11, x11, x10, 32\n\t"
  21964. "add x6, x6, x10\n\t"
  21965. "# + a[0]-a[2] << 32 << 64\n\t"
  21966. "# - a[0] << 32 << 192\n\t"
  21967. "adds x4, x4, x10, lsl #32\n\t"
  21968. "sub x6, x6, x10, lsl #32\n\t"
  21969. "adcs x5, x5, x11\n\t"
  21970. "adc x6, x6, x12\n\t"
  21971. "# a += (mu << 256) - (mu << 224) + (mu << 192) + (mu << 96) - mu\n\t"
  21972. "# a += mu << 256\n\t"
  21973. "adds x14, x14, x3\n\t"
  21974. "adcs x15, x15, x4\n\t"
  21975. "adcs x16, x16, x5\n\t"
  21976. "adcs x17, x17, x6\n\t"
  21977. "cset x10, cs\n\t"
  21978. "# a += mu << 192\n\t"
  21979. "# mu <<= 32\n\t"
  21980. "# a += (mu << 32) << 64\n\t"
  21981. "adds x13, x13, x3\n\t"
  21982. "adcs x14, x14, x4\n\t"
  21983. "adcs x15, x15, x5\n\t"
  21984. "lsr x7, x6, 32\n\t"
  21985. "adcs x16, x16, x6\n\t"
  21986. "extr x6, x6, x5, 32\n\t"
  21987. "adcs x17, x17, xzr\n\t"
  21988. "extr x5, x5, x4, 32\n\t"
  21989. "adc x10, x10, xzr\n\t"
  21990. "extr x4, x4, x3, 32\n\t"
  21991. "lsl x3, x3, 32\n\t"
  21992. "adds x11, x11, x3\n\t"
  21993. "adcs x12, x12, x4\n\t"
  21994. "adcs x13, x13, x5\n\t"
  21995. "adcs x14, x14, x6\n\t"
  21996. "adcs x15, x15, x7\n\t"
  21997. "adcs x16, x16, xzr\n\t"
  21998. "adcs x17, x17, xzr\n\t"
  21999. "adc x10, x10, xzr\n\t"
  22000. "# a -= (mu << 32) << 192\n\t"
  22001. "subs x13, x13, x3\n\t"
  22002. "sbcs x14, x14, x4\n\t"
  22003. "sbcs x15, x15, x5\n\t"
  22004. "sbcs x16, x16, x6\n\t"
  22005. "sbcs x17, x17, x7\n\t"
  22006. "mov x9, 0xffffffff00000001\n\t"
  22007. "sbc x10, x10, xzr\n\t"
  22008. "neg x10, x10\n\t"
  22009. "# mask m and sub from result if overflow\n\t"
  22010. "# m[0] = -1 & mask = mask\n\t"
  22011. "subs x14, x14, x10\n\t"
  22012. "# m[1] = 0xffffffff & mask = mask >> 32 as mask is all 1s or 0s\n\t"
  22013. "lsr x8, x10, 32\n\t"
  22014. "sbcs x15, x15, x8\n\t"
  22015. "and x9, x9, x10\n\t"
  22016. "# m[2] = 0 & mask = 0\n\t"
  22017. "sbcs x16, x16, xzr\n\t"
  22018. "stp x14, x15, [%[a], 0]\n\t"
  22019. "# m[3] = 0xffffffff00000001 & mask\n\t"
  22020. "sbc x17, x17, x9\n\t"
  22021. "stp x16, x17, [%[a], 16]\n\t"
  22022. :
  22023. : [a] "r" (a), [m] "r" (m), [mp] "r" (mp)
  22024. : "memory", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  22025. );
  22026. }
  22027. /* Reduce the number back to 256 bits using Montgomery reduction.
  22028. *
  22029. * a A single precision number to reduce in place.
  22030. * m The single precision number representing the modulus.
  22031. * mp The digit representing the negative inverse of m mod 2^n.
  22032. */
  22033. SP_NOINLINE static void sp_256_mont_reduce_order_4(sp_digit* a, const sp_digit* m,
  22034. sp_digit mp)
  22035. {
  22036. __asm__ __volatile__ (
  22037. "ldp x9, x10, [%[a], 0]\n\t"
  22038. "ldp x11, x12, [%[a], 16]\n\t"
  22039. "ldp x17, x19, [%[m], 0]\n\t"
  22040. "ldp x20, x21, [%[m], 16]\n\t"
  22041. "mov x8, xzr\n\t"
  22042. "# mu = a[0] * mp\n\t"
  22043. "mul x5, %[mp], x9\n\t"
  22044. "ldr x13, [%[a], 32]\n\t"
  22045. "# a[0+0] += m[0] * mu\n\t"
  22046. "mul x3, x17, x5\n\t"
  22047. "ldr x14, [%[a], 40]\n\t"
  22048. "umulh x6, x17, x5\n\t"
  22049. "ldr x15, [%[a], 48]\n\t"
  22050. "adds x9, x9, x3\n\t"
  22051. "ldr x16, [%[a], 56]\n\t"
  22052. "adc x6, x6, xzr\n\t"
  22053. "# a[0+1] += m[1] * mu\n\t"
  22054. "mul x3, x19, x5\n\t"
  22055. "umulh x7, x19, x5\n\t"
  22056. "adds x3, x3, x6\n\t"
  22057. "adc x7, x7, xzr\n\t"
  22058. "adds x10, x10, x3\n\t"
  22059. "adc x7, x7, xzr\n\t"
  22060. "# a[0+2] += m[2] * mu\n\t"
  22061. "mul x3, x20, x5\n\t"
  22062. "umulh x6, x20, x5\n\t"
  22063. "adds x3, x3, x7\n\t"
  22064. "adc x6, x6, xzr\n\t"
  22065. "adds x11, x11, x3\n\t"
  22066. "adc x6, x6, xzr\n\t"
  22067. "# a[0+3] += m[3] * mu\n\t"
  22068. "mul x3, x21, x5\n\t"
  22069. "umulh x4, x21, x5\n\t"
  22070. "adds x3, x3, x6\n\t"
  22071. "adcs x4, x4, x8\n\t"
  22072. "cset x8, cs\n\t"
  22073. "adds x12, x12, x3\n\t"
  22074. "adcs x13, x13, x4\n\t"
  22075. "adc x8, x8, xzr\n\t"
  22076. "# mu = a[1] * mp\n\t"
  22077. "mul x5, %[mp], x10\n\t"
  22078. "# a[1+0] += m[0] * mu\n\t"
  22079. "mul x3, x17, x5\n\t"
  22080. "umulh x6, x17, x5\n\t"
  22081. "adds x10, x10, x3\n\t"
  22082. "adc x6, x6, xzr\n\t"
  22083. "# a[1+1] += m[1] * mu\n\t"
  22084. "mul x3, x19, x5\n\t"
  22085. "umulh x7, x19, x5\n\t"
  22086. "adds x3, x3, x6\n\t"
  22087. "adc x7, x7, xzr\n\t"
  22088. "adds x11, x11, x3\n\t"
  22089. "adc x7, x7, xzr\n\t"
  22090. "# a[1+2] += m[2] * mu\n\t"
  22091. "mul x3, x20, x5\n\t"
  22092. "umulh x6, x20, x5\n\t"
  22093. "adds x3, x3, x7\n\t"
  22094. "adc x6, x6, xzr\n\t"
  22095. "adds x12, x12, x3\n\t"
  22096. "adc x6, x6, xzr\n\t"
  22097. "# a[1+3] += m[3] * mu\n\t"
  22098. "mul x3, x21, x5\n\t"
  22099. "umulh x4, x21, x5\n\t"
  22100. "adds x3, x3, x6\n\t"
  22101. "adcs x4, x4, x8\n\t"
  22102. "cset x8, cs\n\t"
  22103. "adds x13, x13, x3\n\t"
  22104. "adcs x14, x14, x4\n\t"
  22105. "adc x8, x8, xzr\n\t"
  22106. "# mu = a[2] * mp\n\t"
  22107. "mul x5, %[mp], x11\n\t"
  22108. "# a[2+0] += m[0] * mu\n\t"
  22109. "mul x3, x17, x5\n\t"
  22110. "umulh x6, x17, x5\n\t"
  22111. "adds x11, x11, x3\n\t"
  22112. "adc x6, x6, xzr\n\t"
  22113. "# a[2+1] += m[1] * mu\n\t"
  22114. "mul x3, x19, x5\n\t"
  22115. "umulh x7, x19, x5\n\t"
  22116. "adds x3, x3, x6\n\t"
  22117. "adc x7, x7, xzr\n\t"
  22118. "adds x12, x12, x3\n\t"
  22119. "adc x7, x7, xzr\n\t"
  22120. "# a[2+2] += m[2] * mu\n\t"
  22121. "mul x3, x20, x5\n\t"
  22122. "umulh x6, x20, x5\n\t"
  22123. "adds x3, x3, x7\n\t"
  22124. "adc x6, x6, xzr\n\t"
  22125. "adds x13, x13, x3\n\t"
  22126. "adc x6, x6, xzr\n\t"
  22127. "# a[2+3] += m[3] * mu\n\t"
  22128. "mul x3, x21, x5\n\t"
  22129. "umulh x4, x21, x5\n\t"
  22130. "adds x3, x3, x6\n\t"
  22131. "adcs x4, x4, x8\n\t"
  22132. "cset x8, cs\n\t"
  22133. "adds x14, x14, x3\n\t"
  22134. "adcs x15, x15, x4\n\t"
  22135. "adc x8, x8, xzr\n\t"
  22136. "# mu = a[3] * mp\n\t"
  22137. "mul x5, %[mp], x12\n\t"
  22138. "# a[3+0] += m[0] * mu\n\t"
  22139. "mul x3, x17, x5\n\t"
  22140. "umulh x6, x17, x5\n\t"
  22141. "adds x12, x12, x3\n\t"
  22142. "adc x6, x6, xzr\n\t"
  22143. "# a[3+1] += m[1] * mu\n\t"
  22144. "mul x3, x19, x5\n\t"
  22145. "umulh x7, x19, x5\n\t"
  22146. "adds x3, x3, x6\n\t"
  22147. "adc x7, x7, xzr\n\t"
  22148. "adds x13, x13, x3\n\t"
  22149. "adc x7, x7, xzr\n\t"
  22150. "# a[3+2] += m[2] * mu\n\t"
  22151. "mul x3, x20, x5\n\t"
  22152. "umulh x6, x20, x5\n\t"
  22153. "adds x3, x3, x7\n\t"
  22154. "adc x6, x6, xzr\n\t"
  22155. "adds x14, x14, x3\n\t"
  22156. "adc x6, x6, xzr\n\t"
  22157. "# a[3+3] += m[3] * mu\n\t"
  22158. "mul x3, x21, x5\n\t"
  22159. "umulh x4, x21, x5\n\t"
  22160. "adds x3, x3, x6\n\t"
  22161. "adcs x4, x4, x8\n\t"
  22162. "cset x8, cs\n\t"
  22163. "adds x15, x15, x3\n\t"
  22164. "adcs x16, x16, x4\n\t"
  22165. "adc x8, x8, xzr\n\t"
  22166. "sub x3, xzr, x8\n\t"
  22167. "and x17, x17, x3\n\t"
  22168. "and x19, x19, x3\n\t"
  22169. "and x20, x20, x3\n\t"
  22170. "and x21, x21, x3\n\t"
  22171. "subs x13, x13, x17\n\t"
  22172. "sbcs x14, x14, x19\n\t"
  22173. "sbcs x15, x15, x20\n\t"
  22174. "stp x13, x14, [%[a], 0]\n\t"
  22175. "sbc x16, x16, x21\n\t"
  22176. "stp x15, x16, [%[a], 16]\n\t"
  22177. :
  22178. : [a] "r" (a), [m] "r" (m), [mp] "r" (mp)
  22179. : "memory", "x3", "x4", "x5", "x8", "x6", "x7", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21"
  22180. );
  22181. }
  22182. /* Map the Montgomery form projective coordinate point to an affine point.
  22183. *
  22184. * r Resulting affine coordinate point.
  22185. * p Montgomery form projective coordinate point.
  22186. * t Temporary ordinate data.
  22187. */
  22188. static void sp_256_map_4(sp_point_256* r, const sp_point_256* p,
  22189. sp_digit* t)
  22190. {
  22191. sp_digit* t1 = t;
  22192. sp_digit* t2 = t + 2*4;
  22193. sp_int64 n;
  22194. sp_256_mont_inv_4(t1, p->z, t + 2*4);
  22195. sp_256_mont_sqr_4(t2, t1, p256_mod, p256_mp_mod);
  22196. sp_256_mont_mul_4(t1, t2, t1, p256_mod, p256_mp_mod);
  22197. /* x /= z^2 */
  22198. sp_256_mont_mul_4(r->x, p->x, t2, p256_mod, p256_mp_mod);
  22199. XMEMSET(r->x + 4, 0, sizeof(r->x) / 2U);
  22200. sp_256_mont_reduce_4(r->x, p256_mod, p256_mp_mod);
  22201. /* Reduce x to less than modulus */
  22202. n = sp_256_cmp_4(r->x, p256_mod);
  22203. sp_256_cond_sub_4(r->x, r->x, p256_mod, ~(n >> 63));
  22204. sp_256_norm_4(r->x);
  22205. /* y /= z^3 */
  22206. sp_256_mont_mul_4(r->y, p->y, t1, p256_mod, p256_mp_mod);
  22207. XMEMSET(r->y + 4, 0, sizeof(r->y) / 2U);
  22208. sp_256_mont_reduce_4(r->y, p256_mod, p256_mp_mod);
  22209. /* Reduce y to less than modulus */
  22210. n = sp_256_cmp_4(r->y, p256_mod);
  22211. sp_256_cond_sub_4(r->y, r->y, p256_mod, ~(n >> 63));
  22212. sp_256_norm_4(r->y);
  22213. XMEMSET(r->z, 0, sizeof(r->z) / 2);
  22214. r->z[0] = 1;
  22215. }
  22216. /* Add two Montgomery form numbers (r = a + b % m).
  22217. *
  22218. * r Result of addition.
  22219. * a First number to add in Montgomery form.
  22220. * b Second number to add in Montgomery form.
  22221. * m Modulus (prime).
  22222. */
  22223. static void sp_256_mont_add_4(sp_digit* r, const sp_digit* a, const sp_digit* b,
  22224. const sp_digit* m)
  22225. {
  22226. __asm__ __volatile__ (
  22227. "ldp x4, x5, [%[a], 0]\n\t"
  22228. "ldp x8, x9, [%[b], 0]\n\t"
  22229. "adds x4, x4, x8\n\t"
  22230. "ldp x6, x7, [%[a], 16]\n\t"
  22231. "adcs x5, x5, x9\n\t"
  22232. "ldp x10, x11, [%[b], 16]\n\t"
  22233. "adcs x6, x6, x10\n\t"
  22234. "adcs x7, x7, x11\n\t"
  22235. "mov x13, 0xffffffff00000001\n\t"
  22236. "csetm x14, cs\n\t"
  22237. "subs x4, x4, x14\n\t"
  22238. "lsr x12, x14, 32\n\t"
  22239. "sbcs x5, x5, x12\n\t"
  22240. "and x13, x13, x14\n\t"
  22241. "sbcs x6, x6, xzr\n\t"
  22242. "stp x4, x5, [%[r],0]\n\t"
  22243. "sbc x7, x7, x13\n\t"
  22244. "stp x6, x7, [%[r],16]\n\t"
  22245. :
  22246. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  22247. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14"
  22248. );
  22249. }
  22250. /* Double a Montgomery form number (r = a + a % m).
  22251. *
  22252. * r Result of doubling.
  22253. * a Number to double in Montgomery form.
  22254. * m Modulus (prime).
  22255. */
  22256. static void sp_256_mont_dbl_4(sp_digit* r, const sp_digit* a, const sp_digit* m)
  22257. {
  22258. __asm__ __volatile__ (
  22259. "ldp x3, x4, [%[a]]\n\t"
  22260. "ldp x5, x6, [%[a],16]\n\t"
  22261. "adds x3, x3, x3\n\t"
  22262. "adcs x4, x4, x4\n\t"
  22263. "adcs x5, x5, x5\n\t"
  22264. "adcs x6, x6, x6\n\t"
  22265. "mov x8, 0xffffffff00000001\n\t"
  22266. "csetm x9, cs\n\t"
  22267. "subs x3, x3, x9\n\t"
  22268. "lsr x7, x9, 32\n\t"
  22269. "sbcs x4, x4, x7\n\t"
  22270. "and x8, x8, x9\n\t"
  22271. "sbcs x5, x5, xzr\n\t"
  22272. "stp x3, x4, [%[r],0]\n\t"
  22273. "sbc x6, x6, x8\n\t"
  22274. "stp x5, x6, [%[r],16]\n\t"
  22275. :
  22276. : [r] "r" (r), [a] "r" (a)
  22277. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  22278. );
  22279. (void)m;
  22280. }
  22281. /* Triple a Montgomery form number (r = a + a + a % m).
  22282. *
  22283. * r Result of Tripling.
  22284. * a Number to triple in Montgomery form.
  22285. * m Modulus (prime).
  22286. */
  22287. static void sp_256_mont_tpl_4(sp_digit* r, const sp_digit* a, const sp_digit* m)
  22288. {
  22289. __asm__ __volatile__ (
  22290. "ldp x10, x11, [%[a]]\n\t"
  22291. "adds x3, x10, x10\n\t"
  22292. "ldr x12, [%[a], 16]\n\t"
  22293. "adcs x4, x11, x11\n\t"
  22294. "ldr x13, [%[a], 24]\n\t"
  22295. "adcs x5, x12, x12\n\t"
  22296. "adcs x6, x13, x13\n\t"
  22297. "mov x8, 0xffffffff00000001\n\t"
  22298. "csetm x9, cs\n\t"
  22299. "subs x3, x3, x9\n\t"
  22300. "lsr x7, x9, 32\n\t"
  22301. "sbcs x4, x4, x7\n\t"
  22302. "and x8, x8, x9\n\t"
  22303. "sbcs x5, x5, xzr\n\t"
  22304. "sbc x6, x6, x8\n\t"
  22305. "adds x3, x3, x10\n\t"
  22306. "adcs x4, x4, x11\n\t"
  22307. "adcs x5, x5, x12\n\t"
  22308. "adcs x6, x6, x13\n\t"
  22309. "mov x8, 0xffffffff00000001\n\t"
  22310. "csetm x9, cs\n\t"
  22311. "subs x3, x3, x9\n\t"
  22312. "lsr x7, x9, 32\n\t"
  22313. "sbcs x4, x4, x7\n\t"
  22314. "and x8, x8, x9\n\t"
  22315. "sbcs x5, x5, xzr\n\t"
  22316. "stp x3, x4, [%[r], 0]\n\t"
  22317. "sbc x6, x6, x8\n\t"
  22318. "stp x5, x6, [%[r], 16]\n\t"
  22319. :
  22320. : [r] "r" (r), [a] "r" (a)
  22321. : "memory", "x10", "x11", "x12", "x13", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  22322. );
  22323. (void)m;
  22324. }
  22325. /* Subtract two Montgomery form numbers (r = a - b % m).
  22326. *
  22327. * r Result of subtration.
  22328. * a Number to subtract from in Montgomery form.
  22329. * b Number to subtract with in Montgomery form.
  22330. * m Modulus (prime).
  22331. */
  22332. static void sp_256_mont_sub_4(sp_digit* r, const sp_digit* a, const sp_digit* b,
  22333. const sp_digit* m)
  22334. {
  22335. __asm__ __volatile__ (
  22336. "ldp x4, x5, [%[a], 0]\n\t"
  22337. "ldp x8, x9, [%[b], 0]\n\t"
  22338. "subs x4, x4, x8\n\t"
  22339. "ldp x6, x7, [%[a], 16]\n\t"
  22340. "sbcs x5, x5, x9\n\t"
  22341. "ldp x10, x11, [%[b], 16]\n\t"
  22342. "sbcs x6, x6, x10\n\t"
  22343. "sbcs x7, x7, x11\n\t"
  22344. "mov x13, 0xffffffff00000001\n\t"
  22345. "csetm x14, cc\n\t"
  22346. "adds x4, x4, x14\n\t"
  22347. "lsr x12, x14, 32\n\t"
  22348. "adcs x5, x5, x12\n\t"
  22349. "and x13, x13, x14\n\t"
  22350. "adcs x6, x6, xzr\n\t"
  22351. "stp x4, x5, [%[r],0]\n\t"
  22352. "adc x7, x7, x13\n\t"
  22353. "stp x6, x7, [%[r],16]\n\t"
  22354. :
  22355. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  22356. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14"
  22357. );
  22358. }
  22359. #define sp_256_mont_sub_lower_4 sp_256_mont_sub_4
  22360. /* Divide the number by 2 mod the modulus (prime). (r = a / 2 % m)
  22361. *
  22362. * r Result of division by 2.
  22363. * a Number to divide.
  22364. * m Modulus (prime).
  22365. */
  22366. static void sp_256_div2_4(sp_digit* r, const sp_digit* a, const sp_digit* m)
  22367. {
  22368. __asm__ __volatile__ (
  22369. "ldp x3, x4, [%[a], 0]\n\t"
  22370. "and x9, x3, 1\n\t"
  22371. "ldp x5, x6, [%[a], 16]\n\t"
  22372. "sub x10, xzr, x9\n\t"
  22373. "lsr x7, x10, 32\n\t"
  22374. "adds x3, x3, x10\n\t"
  22375. "and x8, x10, 0xffffffff00000001\n\t"
  22376. "adcs x4, x4, x7\n\t"
  22377. "adcs x5, x5, xzr\n\t"
  22378. "extr x3, x4, x3, 1\n\t"
  22379. "adcs x6, x6, x8\n\t"
  22380. "extr x4, x5, x4, 1\n\t"
  22381. "cset x9, cs\n\t"
  22382. "extr x5, x6, x5, 1\n\t"
  22383. "extr x6, x9, x6, 1\n\t"
  22384. "stp x3, x4, [%[r], 0]\n\t"
  22385. "stp x5, x6, [%[r], 16]\n\t"
  22386. :
  22387. : [r] "r" (r), [a] "r" (a), [m] "r" (m)
  22388. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  22389. );
  22390. }
  22391. /* Double the Montgomery form projective point p.
  22392. *
  22393. * r Result of doubling point.
  22394. * p Point to double.
  22395. * t Temporary ordinate data.
  22396. */
  22397. #ifdef WOLFSSL_SP_NONBLOCK
  22398. typedef struct sp_256_proj_point_dbl_4_ctx {
  22399. int state;
  22400. sp_digit* t1;
  22401. sp_digit* t2;
  22402. sp_digit* x;
  22403. sp_digit* y;
  22404. sp_digit* z;
  22405. } sp_256_proj_point_dbl_4_ctx;
  22406. static int sp_256_proj_point_dbl_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, const sp_point_256* p, sp_digit* t)
  22407. {
  22408. int err = FP_WOULDBLOCK;
  22409. sp_256_proj_point_dbl_4_ctx* ctx = (sp_256_proj_point_dbl_4_ctx*)sp_ctx->data;
  22410. typedef char ctx_size_test[sizeof(sp_256_proj_point_dbl_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  22411. (void)sizeof(ctx_size_test);
  22412. switch (ctx->state) {
  22413. case 0:
  22414. ctx->t1 = t;
  22415. ctx->t2 = t + 2*4;
  22416. ctx->x = r->x;
  22417. ctx->y = r->y;
  22418. ctx->z = r->z;
  22419. /* Put infinity into result. */
  22420. if (r != p) {
  22421. r->infinity = p->infinity;
  22422. }
  22423. ctx->state = 1;
  22424. break;
  22425. case 1:
  22426. /* T1 = Z * Z */
  22427. sp_256_mont_sqr_4(ctx->t1, p->z, p256_mod, p256_mp_mod);
  22428. ctx->state = 2;
  22429. break;
  22430. case 2:
  22431. /* Z = Y * Z */
  22432. sp_256_mont_mul_4(ctx->z, p->y, p->z, p256_mod, p256_mp_mod);
  22433. ctx->state = 3;
  22434. break;
  22435. case 3:
  22436. /* Z = 2Z */
  22437. sp_256_mont_dbl_4(ctx->z, ctx->z, p256_mod);
  22438. ctx->state = 4;
  22439. break;
  22440. case 4:
  22441. /* T2 = X - T1 */
  22442. sp_256_mont_sub_4(ctx->t2, p->x, ctx->t1, p256_mod);
  22443. ctx->state = 5;
  22444. break;
  22445. case 5:
  22446. /* T1 = X + T1 */
  22447. sp_256_mont_add_4(ctx->t1, p->x, ctx->t1, p256_mod);
  22448. ctx->state = 6;
  22449. break;
  22450. case 6:
  22451. /* T2 = T1 * T2 */
  22452. sp_256_mont_mul_4(ctx->t2, ctx->t1, ctx->t2, p256_mod, p256_mp_mod);
  22453. ctx->state = 7;
  22454. break;
  22455. case 7:
  22456. /* T1 = 3T2 */
  22457. sp_256_mont_tpl_4(ctx->t1, ctx->t2, p256_mod);
  22458. ctx->state = 8;
  22459. break;
  22460. case 8:
  22461. /* Y = 2Y */
  22462. sp_256_mont_dbl_4(ctx->y, p->y, p256_mod);
  22463. ctx->state = 9;
  22464. break;
  22465. case 9:
  22466. /* Y = Y * Y */
  22467. sp_256_mont_sqr_4(ctx->y, ctx->y, p256_mod, p256_mp_mod);
  22468. ctx->state = 10;
  22469. break;
  22470. case 10:
  22471. /* T2 = Y * Y */
  22472. sp_256_mont_sqr_4(ctx->t2, ctx->y, p256_mod, p256_mp_mod);
  22473. ctx->state = 11;
  22474. break;
  22475. case 11:
  22476. /* T2 = T2/2 */
  22477. sp_256_div2_4(ctx->t2, ctx->t2, p256_mod);
  22478. ctx->state = 12;
  22479. break;
  22480. case 12:
  22481. /* Y = Y * X */
  22482. sp_256_mont_mul_4(ctx->y, ctx->y, p->x, p256_mod, p256_mp_mod);
  22483. ctx->state = 13;
  22484. break;
  22485. case 13:
  22486. /* X = T1 * T1 */
  22487. sp_256_mont_sqr_4(ctx->x, ctx->t1, p256_mod, p256_mp_mod);
  22488. ctx->state = 14;
  22489. break;
  22490. case 14:
  22491. /* X = X - Y */
  22492. sp_256_mont_sub_4(ctx->x, ctx->x, ctx->y, p256_mod);
  22493. ctx->state = 15;
  22494. break;
  22495. case 15:
  22496. /* X = X - Y */
  22497. sp_256_mont_sub_4(ctx->x, ctx->x, ctx->y, p256_mod);
  22498. ctx->state = 16;
  22499. break;
  22500. case 16:
  22501. /* Y = Y - X */
  22502. sp_256_mont_sub_lower_4(ctx->y, ctx->y, ctx->x, p256_mod);
  22503. ctx->state = 17;
  22504. break;
  22505. case 17:
  22506. /* Y = Y * T1 */
  22507. sp_256_mont_mul_4(ctx->y, ctx->y, ctx->t1, p256_mod, p256_mp_mod);
  22508. ctx->state = 18;
  22509. break;
  22510. case 18:
  22511. /* Y = Y - T2 */
  22512. sp_256_mont_sub_4(ctx->y, ctx->y, ctx->t2, p256_mod);
  22513. ctx->state = 19;
  22514. /* fall-through */
  22515. case 19:
  22516. err = MP_OKAY;
  22517. break;
  22518. }
  22519. if (err == MP_OKAY && ctx->state != 19) {
  22520. err = FP_WOULDBLOCK;
  22521. }
  22522. return err;
  22523. }
  22524. #endif /* WOLFSSL_SP_NONBLOCK */
  22525. static void sp_256_proj_point_dbl_4(sp_point_256* r, const sp_point_256* p,
  22526. sp_digit* t)
  22527. {
  22528. sp_digit* t1 = t;
  22529. sp_digit* t2 = t + 2*4;
  22530. sp_digit* x;
  22531. sp_digit* y;
  22532. sp_digit* z;
  22533. x = r->x;
  22534. y = r->y;
  22535. z = r->z;
  22536. /* Put infinity into result. */
  22537. if (r != p) {
  22538. r->infinity = p->infinity;
  22539. }
  22540. /* T1 = Z * Z */
  22541. sp_256_mont_sqr_4(t1, p->z, p256_mod, p256_mp_mod);
  22542. /* Z = Y * Z */
  22543. sp_256_mont_mul_4(z, p->y, p->z, p256_mod, p256_mp_mod);
  22544. /* Z = 2Z */
  22545. sp_256_mont_dbl_4(z, z, p256_mod);
  22546. /* T2 = X - T1 */
  22547. sp_256_mont_sub_4(t2, p->x, t1, p256_mod);
  22548. /* T1 = X + T1 */
  22549. sp_256_mont_add_4(t1, p->x, t1, p256_mod);
  22550. /* T2 = T1 * T2 */
  22551. sp_256_mont_mul_4(t2, t1, t2, p256_mod, p256_mp_mod);
  22552. /* T1 = 3T2 */
  22553. sp_256_mont_tpl_4(t1, t2, p256_mod);
  22554. /* Y = 2Y */
  22555. sp_256_mont_dbl_4(y, p->y, p256_mod);
  22556. /* Y = Y * Y */
  22557. sp_256_mont_sqr_4(y, y, p256_mod, p256_mp_mod);
  22558. /* T2 = Y * Y */
  22559. sp_256_mont_sqr_4(t2, y, p256_mod, p256_mp_mod);
  22560. /* T2 = T2/2 */
  22561. sp_256_div2_4(t2, t2, p256_mod);
  22562. /* Y = Y * X */
  22563. sp_256_mont_mul_4(y, y, p->x, p256_mod, p256_mp_mod);
  22564. /* X = T1 * T1 */
  22565. sp_256_mont_sqr_4(x, t1, p256_mod, p256_mp_mod);
  22566. /* X = X - Y */
  22567. sp_256_mont_sub_4(x, x, y, p256_mod);
  22568. /* X = X - Y */
  22569. sp_256_mont_sub_4(x, x, y, p256_mod);
  22570. /* Y = Y - X */
  22571. sp_256_mont_sub_lower_4(y, y, x, p256_mod);
  22572. /* Y = Y * T1 */
  22573. sp_256_mont_mul_4(y, y, t1, p256_mod, p256_mp_mod);
  22574. /* Y = Y - T2 */
  22575. sp_256_mont_sub_4(y, y, t2, p256_mod);
  22576. }
  22577. #define sp_256_mont_tpl_lower_4 sp_256_mont_tpl_4
  22578. /* Subtract two Montgomery form numbers (r = a - b % m).
  22579. *
  22580. * r Result of subtration.
  22581. * a Number to subtract from in Montgomery form.
  22582. * b Number to subtract with in Montgomery form.
  22583. * m Modulus (prime).
  22584. */
  22585. static void sp_256_mont_sub_dbl_4(sp_digit* r, const sp_digit* a, const sp_digit* b,
  22586. const sp_digit* m)
  22587. {
  22588. __asm__ __volatile__ (
  22589. "ldp x8, x9, [%[b]]\n\t"
  22590. "ldp x10, x11, [%[b],16]\n\t"
  22591. "adds x8, x8, x8\n\t"
  22592. "ldp x4, x5, [%[a]]\n\t"
  22593. "adcs x9, x9, x9\n\t"
  22594. "ldp x6, x7, [%[a],16]\n\t"
  22595. "adcs x10, x10, x10\n\t"
  22596. "adcs x11, x11, x11\n\t"
  22597. "mov x13, 0xffffffff00000001\n\t"
  22598. "csetm x14, cs\n\t"
  22599. "subs x8, x8, x14\n\t"
  22600. "lsr x12, x14, 32\n\t"
  22601. "sbcs x9, x9, x12\n\t"
  22602. "and x13, x13, x14\n\t"
  22603. "sbcs x10, x10, xzr\n\t"
  22604. "sbc x11, x11, x13\n\t"
  22605. "subs x4, x4, x8\n\t"
  22606. "sbcs x5, x5, x9\n\t"
  22607. "sbcs x6, x6, x10\n\t"
  22608. "sbcs x7, x7, x11\n\t"
  22609. "mov x13, 0xffffffff00000001\n\t"
  22610. "csetm x14, cc\n\t"
  22611. "adds x4, x4, x14\n\t"
  22612. "lsr x12, x14, 32\n\t"
  22613. "adcs x5, x5, x12\n\t"
  22614. "and x13, x13, x14\n\t"
  22615. "adcs x6, x6, xzr\n\t"
  22616. "stp x4, x5, [%[r],0]\n\t"
  22617. "adc x7, x7, x13\n\t"
  22618. "stp x6, x7, [%[r],16]\n\t"
  22619. :
  22620. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  22621. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14"
  22622. );
  22623. }
  22624. /* Subtract two Montgomery form numbers (r = a - b % m).
  22625. *
  22626. * r Result of subtration.
  22627. * a Number to subtract from in Montgomery form.
  22628. * b Number to subtract with in Montgomery form.
  22629. * m Modulus (prime).
  22630. */
  22631. static void sp_256_mont_dbl_sub_4(sp_digit* r, const sp_digit* a, const sp_digit* b,
  22632. const sp_digit* m)
  22633. {
  22634. __asm__ __volatile__ (
  22635. "ldp x4, x5, [%[a], 0]\n\t"
  22636. "ldp x8, x9, [%[b], 0]\n\t"
  22637. "subs x4, x4, x8\n\t"
  22638. "ldp x6, x7, [%[a], 16]\n\t"
  22639. "sbcs x5, x5, x9\n\t"
  22640. "ldp x10, x11, [%[b], 16]\n\t"
  22641. "sbcs x6, x6, x10\n\t"
  22642. "sbcs x7, x7, x11\n\t"
  22643. "mov x13, 0xffffffff00000001\n\t"
  22644. "csetm x14, cc\n\t"
  22645. "adds x4, x4, x14\n\t"
  22646. "lsr x12, x14, 32\n\t"
  22647. "adcs x5, x5, x12\n\t"
  22648. "and x13, x13, x14\n\t"
  22649. "adcs x6, x6, xzr\n\t"
  22650. "adc x7, x7, x13\n\t"
  22651. "adds x4, x4, x4\n\t"
  22652. "adcs x5, x5, x5\n\t"
  22653. "adcs x6, x6, x6\n\t"
  22654. "adcs x7, x7, x7\n\t"
  22655. "mov x13, 0xffffffff00000001\n\t"
  22656. "csetm x14, cs\n\t"
  22657. "subs x4, x4, x14\n\t"
  22658. "lsr x12, x14, 32\n\t"
  22659. "sbcs x5, x5, x12\n\t"
  22660. "and x13, x13, x14\n\t"
  22661. "sbcs x6, x6, xzr\n\t"
  22662. "stp x4, x5, [%[r],0]\n\t"
  22663. "sbc x7, x7, x13\n\t"
  22664. "stp x6, x7, [%[r],16]\n\t"
  22665. :
  22666. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  22667. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14"
  22668. );
  22669. }
  22670. /* Double the Montgomery form projective point p a number of times.
  22671. *
  22672. * r Result of repeated doubling of point.
  22673. * p Point to double.
  22674. * n Number of times to double
  22675. * t Temporary ordinate data.
  22676. */
  22677. static void sp_256_proj_point_dbl_n_4(sp_point_256* p, int i,
  22678. sp_digit* t)
  22679. {
  22680. sp_digit* w = t;
  22681. sp_digit* a = t + 2*4;
  22682. sp_digit* b = t + 4*4;
  22683. sp_digit* t1 = t + 6*4;
  22684. sp_digit* x;
  22685. sp_digit* y;
  22686. sp_digit* z;
  22687. volatile int n = i;
  22688. x = p->x;
  22689. y = p->y;
  22690. z = p->z;
  22691. /* Y = 2*Y */
  22692. sp_256_mont_dbl_4(y, y, p256_mod);
  22693. /* W = Z^4 */
  22694. sp_256_mont_sqr_4(w, z, p256_mod, p256_mp_mod);
  22695. sp_256_mont_sqr_4(w, w, p256_mod, p256_mp_mod);
  22696. #ifndef WOLFSSL_SP_SMALL
  22697. while (--n > 0)
  22698. #else
  22699. while (--n >= 0)
  22700. #endif
  22701. {
  22702. /* A = 3*(X^2 - W) */
  22703. sp_256_mont_sqr_4(t1, x, p256_mod, p256_mp_mod);
  22704. sp_256_mont_sub_4(t1, t1, w, p256_mod);
  22705. sp_256_mont_tpl_lower_4(a, t1, p256_mod);
  22706. /* B = X*Y^2 */
  22707. sp_256_mont_sqr_4(t1, y, p256_mod, p256_mp_mod);
  22708. sp_256_mont_mul_4(b, t1, x, p256_mod, p256_mp_mod);
  22709. /* X = A^2 - 2B */
  22710. sp_256_mont_sqr_4(x, a, p256_mod, p256_mp_mod);
  22711. sp_256_mont_sub_dbl_4(x, x, b, p256_mod);
  22712. /* b = 2.(B - X) */
  22713. sp_256_mont_dbl_sub_4(b, b, x, p256_mod);
  22714. /* Z = Z*Y */
  22715. sp_256_mont_mul_4(z, z, y, p256_mod, p256_mp_mod);
  22716. /* t1 = Y^4 */
  22717. sp_256_mont_sqr_4(t1, t1, p256_mod, p256_mp_mod);
  22718. #ifdef WOLFSSL_SP_SMALL
  22719. if (n != 0)
  22720. #endif
  22721. {
  22722. /* W = W*Y^4 */
  22723. sp_256_mont_mul_4(w, w, t1, p256_mod, p256_mp_mod);
  22724. }
  22725. /* y = 2*A*(B - X) - Y^4 */
  22726. sp_256_mont_mul_4(y, b, a, p256_mod, p256_mp_mod);
  22727. sp_256_mont_sub_4(y, y, t1, p256_mod);
  22728. }
  22729. #ifndef WOLFSSL_SP_SMALL
  22730. /* A = 3*(X^2 - W) */
  22731. sp_256_mont_sqr_4(t1, x, p256_mod, p256_mp_mod);
  22732. sp_256_mont_sub_4(t1, t1, w, p256_mod);
  22733. sp_256_mont_tpl_lower_4(a, t1, p256_mod);
  22734. /* B = X*Y^2 */
  22735. sp_256_mont_sqr_4(t1, y, p256_mod, p256_mp_mod);
  22736. sp_256_mont_mul_4(b, t1, x, p256_mod, p256_mp_mod);
  22737. /* X = A^2 - 2B */
  22738. sp_256_mont_sqr_4(x, a, p256_mod, p256_mp_mod);
  22739. sp_256_mont_sub_dbl_4(x, x, b, p256_mod);
  22740. /* b = 2.(B - X) */
  22741. sp_256_mont_dbl_sub_4(b, b, x, p256_mod);
  22742. /* Z = Z*Y */
  22743. sp_256_mont_mul_4(z, z, y, p256_mod, p256_mp_mod);
  22744. /* t1 = Y^4 */
  22745. sp_256_mont_sqr_4(t1, t1, p256_mod, p256_mp_mod);
  22746. /* y = 2*A*(B - X) - Y^4 */
  22747. sp_256_mont_mul_4(y, b, a, p256_mod, p256_mp_mod);
  22748. sp_256_mont_sub_4(y, y, t1, p256_mod);
  22749. #endif
  22750. /* Y = Y/2 */
  22751. sp_256_div2_4(y, y, p256_mod);
  22752. }
  22753. /* Compare two numbers to determine if they are equal.
  22754. * Constant time implementation.
  22755. *
  22756. * a First number to compare.
  22757. * b Second number to compare.
  22758. * returns 1 when equal and 0 otherwise.
  22759. */
  22760. static int sp_256_cmp_equal_4(const sp_digit* a, const sp_digit* b)
  22761. {
  22762. return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) |
  22763. (a[3] ^ b[3])) == 0;
  22764. }
  22765. /* Returns 1 if the number of zero.
  22766. * Implementation is constant time.
  22767. *
  22768. * a Number to check.
  22769. * returns 1 if the number is zero and 0 otherwise.
  22770. */
  22771. static int sp_256_iszero_4(const sp_digit* a)
  22772. {
  22773. return (a[0] | a[1] | a[2] | a[3]) == 0;
  22774. }
  22775. /* Add two Montgomery form projective points.
  22776. *
  22777. * r Result of addition.
  22778. * p First point to add.
  22779. * q Second point to add.
  22780. * t Temporary ordinate data.
  22781. */
  22782. #ifdef WOLFSSL_SP_NONBLOCK
  22783. typedef struct sp_256_proj_point_add_4_ctx {
  22784. int state;
  22785. sp_256_proj_point_dbl_4_ctx dbl_ctx;
  22786. const sp_point_256* ap[2];
  22787. sp_point_256* rp[2];
  22788. sp_digit* t1;
  22789. sp_digit* t2;
  22790. sp_digit* t3;
  22791. sp_digit* t4;
  22792. sp_digit* t5;
  22793. sp_digit* t6;
  22794. sp_digit* x;
  22795. sp_digit* y;
  22796. sp_digit* z;
  22797. } sp_256_proj_point_add_4_ctx;
  22798. static int sp_256_proj_point_add_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r,
  22799. const sp_point_256* p, const sp_point_256* q, sp_digit* t)
  22800. {
  22801. int err = FP_WOULDBLOCK;
  22802. sp_256_proj_point_add_4_ctx* ctx = (sp_256_proj_point_add_4_ctx*)sp_ctx->data;
  22803. /* Ensure only the first point is the same as the result. */
  22804. if (q == r) {
  22805. const sp_point_256* a = p;
  22806. p = q;
  22807. q = a;
  22808. }
  22809. typedef char ctx_size_test[sizeof(sp_256_proj_point_add_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  22810. (void)sizeof(ctx_size_test);
  22811. switch (ctx->state) {
  22812. case 0: /* INIT */
  22813. ctx->t1 = t;
  22814. ctx->t2 = t + 2*4;
  22815. ctx->t3 = t + 4*4;
  22816. ctx->t4 = t + 6*4;
  22817. ctx->t5 = t + 8*4;
  22818. ctx->t6 = t + 10*4;
  22819. ctx->x = ctx->t6;
  22820. ctx->y = ctx->t1;
  22821. ctx->z = ctx->t2;
  22822. ctx->state = 1;
  22823. break;
  22824. case 1:
  22825. /* Check double */
  22826. (void)sp_256_sub_4(ctx->t1, p256_mod, q->y);
  22827. sp_256_norm_4(ctx->t1);
  22828. if ((~p->infinity & ~q->infinity &
  22829. sp_256_cmp_equal_4(p->x, q->x) & sp_256_cmp_equal_4(p->z, q->z) &
  22830. (sp_256_cmp_equal_4(p->y, q->y) | sp_256_cmp_equal_4(p->y, ctx->t1))) != 0)
  22831. {
  22832. XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx));
  22833. ctx->state = 2;
  22834. }
  22835. else {
  22836. ctx->state = 3;
  22837. }
  22838. break;
  22839. case 2:
  22840. err = sp_256_proj_point_dbl_4_nb((sp_ecc_ctx_t*)&ctx->dbl_ctx, r, p, t);
  22841. if (err == MP_OKAY)
  22842. ctx->state = 27; /* done */
  22843. break;
  22844. case 3:
  22845. {
  22846. ctx->state = 4;
  22847. break;
  22848. }
  22849. case 4:
  22850. /* U1 = X1*Z2^2 */
  22851. sp_256_mont_sqr_4(ctx->t1, q->z, p256_mod, p256_mp_mod);
  22852. ctx->state = 5;
  22853. break;
  22854. case 5:
  22855. sp_256_mont_mul_4(ctx->t3, ctx->t1, q->z, p256_mod, p256_mp_mod);
  22856. ctx->state = 6;
  22857. break;
  22858. case 6:
  22859. sp_256_mont_mul_4(ctx->t1, ctx->t1, p->x, p256_mod, p256_mp_mod);
  22860. ctx->state = 7;
  22861. break;
  22862. case 7:
  22863. /* U2 = X2*Z1^2 */
  22864. sp_256_mont_sqr_4(ctx->t2, p->z, p256_mod, p256_mp_mod);
  22865. ctx->state = 8;
  22866. break;
  22867. case 8:
  22868. sp_256_mont_mul_4(ctx->t4, ctx->t2, p->z, p256_mod, p256_mp_mod);
  22869. ctx->state = 9;
  22870. break;
  22871. case 9:
  22872. sp_256_mont_mul_4(ctx->t2, ctx->t2, q->x, p256_mod, p256_mp_mod);
  22873. ctx->state = 10;
  22874. break;
  22875. case 10:
  22876. /* S1 = Y1*Z2^3 */
  22877. sp_256_mont_mul_4(ctx->t3, ctx->t3, p->y, p256_mod, p256_mp_mod);
  22878. ctx->state = 11;
  22879. break;
  22880. case 11:
  22881. /* S2 = Y2*Z1^3 */
  22882. sp_256_mont_mul_4(ctx->t4, ctx->t4, q->y, p256_mod, p256_mp_mod);
  22883. ctx->state = 12;
  22884. break;
  22885. case 12:
  22886. /* H = U2 - U1 */
  22887. sp_256_mont_sub_4(ctx->t2, ctx->t2, ctx->t1, p256_mod);
  22888. ctx->state = 13;
  22889. break;
  22890. case 13:
  22891. /* R = S2 - S1 */
  22892. sp_256_mont_sub_4(ctx->t4, ctx->t4, ctx->t3, p256_mod);
  22893. ctx->state = 14;
  22894. break;
  22895. case 14:
  22896. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  22897. sp_256_mont_sqr_4(ctx->t5, ctx->t2, p256_mod, p256_mp_mod);
  22898. ctx->state = 15;
  22899. break;
  22900. case 15:
  22901. sp_256_mont_mul_4(ctx->y, ctx->t1, ctx->t5, p256_mod, p256_mp_mod);
  22902. ctx->state = 16;
  22903. break;
  22904. case 16:
  22905. sp_256_mont_mul_4(ctx->t5, ctx->t5, ctx->t2, p256_mod, p256_mp_mod);
  22906. ctx->state = 17;
  22907. break;
  22908. case 17:
  22909. /* Z3 = H*Z1*Z2 */
  22910. sp_256_mont_mul_4(ctx->z, p->z, ctx->t2, p256_mod, p256_mp_mod);
  22911. ctx->state = 18;
  22912. break;
  22913. case 18:
  22914. sp_256_mont_mul_4(ctx->z, ctx->z, q->z, p256_mod, p256_mp_mod);
  22915. ctx->state = 19;
  22916. break;
  22917. case 19:
  22918. sp_256_mont_sqr_4(ctx->x, ctx->t4, p256_mod, p256_mp_mod);
  22919. ctx->state = 20;
  22920. break;
  22921. case 20:
  22922. sp_256_mont_sub_4(ctx->x, ctx->x, ctx->t5, p256_mod);
  22923. ctx->state = 21;
  22924. break;
  22925. case 21:
  22926. sp_256_mont_mul_4(ctx->t5, ctx->t5, ctx->t3, p256_mod, p256_mp_mod);
  22927. ctx->state = 22;
  22928. break;
  22929. case 22:
  22930. sp_256_mont_dbl_4(ctx->t3, ctx->y, p256_mod);
  22931. ctx->state = 23;
  22932. break;
  22933. case 23:
  22934. sp_256_mont_sub_4(ctx->x, ctx->x, ctx->t3, p256_mod);
  22935. ctx->state = 24;
  22936. break;
  22937. case 24:
  22938. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  22939. sp_256_mont_sub_lower_4(ctx->y, ctx->y, ctx->x, p256_mod);
  22940. ctx->state = 25;
  22941. break;
  22942. case 25:
  22943. sp_256_mont_mul_4(ctx->y, ctx->y, ctx->t4, p256_mod, p256_mp_mod);
  22944. ctx->state = 26;
  22945. break;
  22946. case 26:
  22947. sp_256_mont_sub_4(ctx->y, ctx->y, ctx->t5, p256_mod);
  22948. ctx->state = 27;
  22949. /* fall-through */
  22950. case 27:
  22951. {
  22952. int i;
  22953. sp_digit maskp = 0 - (q->infinity & (!p->infinity));
  22954. sp_digit maskq = 0 - (p->infinity & (!q->infinity));
  22955. sp_digit maskt = ~(maskp | maskq);
  22956. for (i = 0; i < 4; i++) {
  22957. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  22958. (ctx->x[i] & maskt);
  22959. }
  22960. for (i = 0; i < 4; i++) {
  22961. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  22962. (ctx->y[i] & maskt);
  22963. }
  22964. for (i = 0; i < 4; i++) {
  22965. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  22966. (ctx->z[i] & maskt);
  22967. }
  22968. r->z[0] |= p->infinity & q->infinity;
  22969. r->infinity = p->infinity & q->infinity;
  22970. err = MP_OKAY;
  22971. break;
  22972. }
  22973. }
  22974. if (err == MP_OKAY && ctx->state != 27) {
  22975. err = FP_WOULDBLOCK;
  22976. }
  22977. return err;
  22978. }
  22979. #endif /* WOLFSSL_SP_NONBLOCK */
  22980. static void sp_256_proj_point_add_4(sp_point_256* r,
  22981. const sp_point_256* p, const sp_point_256* q, sp_digit* t)
  22982. {
  22983. sp_digit* t1 = t;
  22984. sp_digit* t2 = t + 2*4;
  22985. sp_digit* t3 = t + 4*4;
  22986. sp_digit* t4 = t + 6*4;
  22987. sp_digit* t5 = t + 8*4;
  22988. sp_digit* t6 = t + 10*4;
  22989. /* Check double */
  22990. (void)sp_256_sub_4(t1, p256_mod, q->y);
  22991. sp_256_norm_4(t1);
  22992. if ((~p->infinity & ~q->infinity &
  22993. sp_256_cmp_equal_4(p->x, q->x) & sp_256_cmp_equal_4(p->z, q->z) &
  22994. (sp_256_cmp_equal_4(p->y, q->y) | sp_256_cmp_equal_4(p->y, t1))) != 0) {
  22995. sp_256_proj_point_dbl_4(r, p, t);
  22996. }
  22997. else {
  22998. sp_digit maskp;
  22999. sp_digit maskq;
  23000. sp_digit maskt;
  23001. sp_digit* x = t6;
  23002. sp_digit* y = t1;
  23003. sp_digit* z = t2;
  23004. int i;
  23005. maskp = 0 - (q->infinity & (!p->infinity));
  23006. maskq = 0 - (p->infinity & (!q->infinity));
  23007. maskt = ~(maskp | maskq);
  23008. /* U1 = X1*Z2^2 */
  23009. sp_256_mont_sqr_4(t1, q->z, p256_mod, p256_mp_mod);
  23010. sp_256_mont_mul_4(t3, t1, q->z, p256_mod, p256_mp_mod);
  23011. sp_256_mont_mul_4(t1, t1, p->x, p256_mod, p256_mp_mod);
  23012. /* U2 = X2*Z1^2 */
  23013. sp_256_mont_sqr_4(t2, p->z, p256_mod, p256_mp_mod);
  23014. sp_256_mont_mul_4(t4, t2, p->z, p256_mod, p256_mp_mod);
  23015. sp_256_mont_mul_4(t2, t2, q->x, p256_mod, p256_mp_mod);
  23016. /* S1 = Y1*Z2^3 */
  23017. sp_256_mont_mul_4(t3, t3, p->y, p256_mod, p256_mp_mod);
  23018. /* S2 = Y2*Z1^3 */
  23019. sp_256_mont_mul_4(t4, t4, q->y, p256_mod, p256_mp_mod);
  23020. /* H = U2 - U1 */
  23021. sp_256_mont_sub_4(t2, t2, t1, p256_mod);
  23022. /* R = S2 - S1 */
  23023. sp_256_mont_sub_4(t4, t4, t3, p256_mod);
  23024. if (~p->infinity & ~q->infinity &
  23025. sp_256_iszero_4(t2) & sp_256_iszero_4(t4) & maskt) {
  23026. sp_256_proj_point_dbl_4(r, p, t);
  23027. }
  23028. else {
  23029. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  23030. sp_256_mont_sqr_4(t5, t2, p256_mod, p256_mp_mod);
  23031. sp_256_mont_mul_4(y, t1, t5, p256_mod, p256_mp_mod);
  23032. sp_256_mont_mul_4(t5, t5, t2, p256_mod, p256_mp_mod);
  23033. /* Z3 = H*Z1*Z2 */
  23034. sp_256_mont_mul_4(z, p->z, t2, p256_mod, p256_mp_mod);
  23035. sp_256_mont_mul_4(z, z, q->z, p256_mod, p256_mp_mod);
  23036. sp_256_mont_sqr_4(x, t4, p256_mod, p256_mp_mod);
  23037. sp_256_mont_sub_4(x, x, t5, p256_mod);
  23038. sp_256_mont_mul_4(t5, t5, t3, p256_mod, p256_mp_mod);
  23039. sp_256_mont_sub_dbl_4(x, x, y, p256_mod);
  23040. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  23041. sp_256_mont_sub_lower_4(y, y, x, p256_mod);
  23042. sp_256_mont_mul_4(y, y, t4, p256_mod, p256_mp_mod);
  23043. sp_256_mont_sub_4(y, y, t5, p256_mod);
  23044. for (i = 0; i < 4; i++) {
  23045. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  23046. (x[i] & maskt);
  23047. }
  23048. for (i = 0; i < 4; i++) {
  23049. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  23050. (y[i] & maskt);
  23051. }
  23052. for (i = 0; i < 4; i++) {
  23053. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  23054. (z[i] & maskt);
  23055. }
  23056. r->z[0] |= p->infinity & q->infinity;
  23057. r->infinity = p->infinity & q->infinity;
  23058. }
  23059. }
  23060. }
  23061. /* Double the Montgomery form projective point p a number of times.
  23062. *
  23063. * r Result of repeated doubling of point.
  23064. * p Point to double.
  23065. * n Number of times to double
  23066. * t Temporary ordinate data.
  23067. */
  23068. static void sp_256_proj_point_dbl_n_store_4(sp_point_256* r,
  23069. const sp_point_256* p, int n, int m, sp_digit* t)
  23070. {
  23071. sp_digit* w = t;
  23072. sp_digit* a = t + 2*4;
  23073. sp_digit* b = t + 4*4;
  23074. sp_digit* t1 = t + 6*4;
  23075. sp_digit* x = r[2*m].x;
  23076. sp_digit* y = r[(1<<n)*m].y;
  23077. sp_digit* z = r[2*m].z;
  23078. int i;
  23079. int j;
  23080. for (i=0; i<4; i++) {
  23081. x[i] = p->x[i];
  23082. }
  23083. for (i=0; i<4; i++) {
  23084. y[i] = p->y[i];
  23085. }
  23086. for (i=0; i<4; i++) {
  23087. z[i] = p->z[i];
  23088. }
  23089. /* Y = 2*Y */
  23090. sp_256_mont_dbl_4(y, y, p256_mod);
  23091. /* W = Z^4 */
  23092. sp_256_mont_sqr_4(w, z, p256_mod, p256_mp_mod);
  23093. sp_256_mont_sqr_4(w, w, p256_mod, p256_mp_mod);
  23094. j = m;
  23095. for (i=1; i<=n; i++) {
  23096. j *= 2;
  23097. /* A = 3*(X^2 - W) */
  23098. sp_256_mont_sqr_4(t1, x, p256_mod, p256_mp_mod);
  23099. sp_256_mont_sub_4(t1, t1, w, p256_mod);
  23100. sp_256_mont_tpl_lower_4(a, t1, p256_mod);
  23101. /* B = X*Y^2 */
  23102. sp_256_mont_sqr_4(t1, y, p256_mod, p256_mp_mod);
  23103. sp_256_mont_mul_4(b, t1, x, p256_mod, p256_mp_mod);
  23104. x = r[j].x;
  23105. /* X = A^2 - 2B */
  23106. sp_256_mont_sqr_4(x, a, p256_mod, p256_mp_mod);
  23107. sp_256_mont_sub_dbl_4(x, x, b, p256_mod);
  23108. /* b = 2.(B - X) */
  23109. sp_256_mont_dbl_sub_4(b, b, x, p256_mod);
  23110. /* Z = Z*Y */
  23111. sp_256_mont_mul_4(r[j].z, z, y, p256_mod, p256_mp_mod);
  23112. z = r[j].z;
  23113. /* t1 = Y^4 */
  23114. sp_256_mont_sqr_4(t1, t1, p256_mod, p256_mp_mod);
  23115. if (i != n) {
  23116. /* W = W*Y^4 */
  23117. sp_256_mont_mul_4(w, w, t1, p256_mod, p256_mp_mod);
  23118. }
  23119. /* y = 2*A*(B - X) - Y^4 */
  23120. sp_256_mont_mul_4(y, b, a, p256_mod, p256_mp_mod);
  23121. sp_256_mont_sub_4(y, y, t1, p256_mod);
  23122. /* Y = Y/2 */
  23123. sp_256_div2_4(r[j].y, y, p256_mod);
  23124. r[j].infinity = 0;
  23125. }
  23126. }
  23127. /* Add two Montgomery form projective points.
  23128. *
  23129. * ra Result of addition.
  23130. * rs Result of subtraction.
  23131. * p First point to add.
  23132. * q Second point to add.
  23133. * t Temporary ordinate data.
  23134. */
  23135. static void sp_256_proj_point_add_sub_4(sp_point_256* ra,
  23136. sp_point_256* rs, const sp_point_256* p, const sp_point_256* q,
  23137. sp_digit* t)
  23138. {
  23139. sp_digit* t1 = t;
  23140. sp_digit* t2 = t + 2*4;
  23141. sp_digit* t3 = t + 4*4;
  23142. sp_digit* t4 = t + 6*4;
  23143. sp_digit* t5 = t + 8*4;
  23144. sp_digit* t6 = t + 10*4;
  23145. sp_digit* xa = ra->x;
  23146. sp_digit* ya = ra->y;
  23147. sp_digit* za = ra->z;
  23148. sp_digit* xs = rs->x;
  23149. sp_digit* ys = rs->y;
  23150. sp_digit* zs = rs->z;
  23151. XMEMCPY(xa, p->x, sizeof(p->x) / 2);
  23152. XMEMCPY(ya, p->y, sizeof(p->y) / 2);
  23153. XMEMCPY(za, p->z, sizeof(p->z) / 2);
  23154. ra->infinity = 0;
  23155. rs->infinity = 0;
  23156. /* U1 = X1*Z2^2 */
  23157. sp_256_mont_sqr_4(t1, q->z, p256_mod, p256_mp_mod);
  23158. sp_256_mont_mul_4(t3, t1, q->z, p256_mod, p256_mp_mod);
  23159. sp_256_mont_mul_4(t1, t1, xa, p256_mod, p256_mp_mod);
  23160. /* U2 = X2*Z1^2 */
  23161. sp_256_mont_sqr_4(t2, za, p256_mod, p256_mp_mod);
  23162. sp_256_mont_mul_4(t4, t2, za, p256_mod, p256_mp_mod);
  23163. sp_256_mont_mul_4(t2, t2, q->x, p256_mod, p256_mp_mod);
  23164. /* S1 = Y1*Z2^3 */
  23165. sp_256_mont_mul_4(t3, t3, ya, p256_mod, p256_mp_mod);
  23166. /* S2 = Y2*Z1^3 */
  23167. sp_256_mont_mul_4(t4, t4, q->y, p256_mod, p256_mp_mod);
  23168. /* H = U2 - U1 */
  23169. sp_256_mont_sub_4(t2, t2, t1, p256_mod);
  23170. /* RS = S2 + S1 */
  23171. sp_256_mont_add_4(t6, t4, t3, p256_mod);
  23172. /* R = S2 - S1 */
  23173. sp_256_mont_sub_4(t4, t4, t3, p256_mod);
  23174. /* Z3 = H*Z1*Z2 */
  23175. /* ZS = H*Z1*Z2 */
  23176. sp_256_mont_mul_4(za, za, q->z, p256_mod, p256_mp_mod);
  23177. sp_256_mont_mul_4(za, za, t2, p256_mod, p256_mp_mod);
  23178. XMEMCPY(zs, za, sizeof(p->z)/2);
  23179. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  23180. /* XS = RS^2 - H^3 - 2*U1*H^2 */
  23181. sp_256_mont_sqr_4(xa, t4, p256_mod, p256_mp_mod);
  23182. sp_256_mont_sqr_4(xs, t6, p256_mod, p256_mp_mod);
  23183. sp_256_mont_sqr_4(t5, t2, p256_mod, p256_mp_mod);
  23184. sp_256_mont_mul_4(ya, t1, t5, p256_mod, p256_mp_mod);
  23185. sp_256_mont_mul_4(t5, t5, t2, p256_mod, p256_mp_mod);
  23186. sp_256_mont_sub_4(xa, xa, t5, p256_mod);
  23187. sp_256_mont_sub_4(xs, xs, t5, p256_mod);
  23188. sp_256_mont_dbl_4(t1, ya, p256_mod);
  23189. sp_256_mont_sub_4(xa, xa, t1, p256_mod);
  23190. sp_256_mont_sub_4(xs, xs, t1, p256_mod);
  23191. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  23192. /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */
  23193. sp_256_mont_sub_lower_4(ys, ya, xs, p256_mod);
  23194. sp_256_mont_sub_lower_4(ya, ya, xa, p256_mod);
  23195. sp_256_mont_mul_4(ya, ya, t4, p256_mod, p256_mp_mod);
  23196. sp_256_sub_4(t6, p256_mod, t6);
  23197. sp_256_mont_mul_4(ys, ys, t6, p256_mod, p256_mp_mod);
  23198. sp_256_mont_mul_4(t5, t5, t3, p256_mod, p256_mp_mod);
  23199. sp_256_mont_sub_4(ya, ya, t5, p256_mod);
  23200. sp_256_mont_sub_4(ys, ys, t5, p256_mod);
  23201. }
  23202. /* Structure used to describe recoding of scalar multiplication. */
  23203. typedef struct ecc_recode_256 {
  23204. /* Index into pre-computation table. */
  23205. uint8_t i;
  23206. /* Use the negative of the point. */
  23207. uint8_t neg;
  23208. } ecc_recode_256;
  23209. /* The index into pre-computation table to use. */
  23210. static const uint8_t recode_index_4_6[66] = {
  23211. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  23212. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  23213. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  23214. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  23215. 0, 1,
  23216. };
  23217. /* Whether to negate y-ordinate. */
  23218. static const uint8_t recode_neg_4_6[66] = {
  23219. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  23220. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  23221. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  23222. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  23223. 0, 0,
  23224. };
  23225. /* Recode the scalar for multiplication using pre-computed values and
  23226. * subtraction.
  23227. *
  23228. * k Scalar to multiply by.
  23229. * v Vector of operations to perform.
  23230. */
  23231. static void sp_256_ecc_recode_6_4(const sp_digit* k, ecc_recode_256* v)
  23232. {
  23233. int i;
  23234. int j;
  23235. uint8_t y;
  23236. int carry = 0;
  23237. int o;
  23238. sp_digit n;
  23239. j = 0;
  23240. n = k[j];
  23241. o = 0;
  23242. for (i=0; i<43; i++) {
  23243. y = (int8_t)n;
  23244. if (o + 6 < 64) {
  23245. y &= 0x3f;
  23246. n >>= 6;
  23247. o += 6;
  23248. }
  23249. else if (o + 6 == 64) {
  23250. n >>= 6;
  23251. if (++j < 4)
  23252. n = k[j];
  23253. o = 0;
  23254. }
  23255. else if (++j < 4) {
  23256. n = k[j];
  23257. y |= (uint8_t)((n << (64 - o)) & 0x3f);
  23258. o -= 58;
  23259. n >>= o;
  23260. }
  23261. y += (uint8_t)carry;
  23262. v[i].i = recode_index_4_6[y];
  23263. v[i].neg = recode_neg_4_6[y];
  23264. carry = (y >> 6) + v[i].neg;
  23265. }
  23266. }
  23267. #ifndef WC_NO_CACHE_RESISTANT
  23268. /* Touch each possible point that could be being copied.
  23269. *
  23270. * r Point to copy into.
  23271. * table Table - start of the entires to access
  23272. * idx Index of entry to retrieve.
  23273. */
  23274. static void sp_256_get_point_33_4(sp_point_256* r, const sp_point_256* table,
  23275. int idx)
  23276. {
  23277. int i;
  23278. sp_digit mask;
  23279. r->x[0] = 0;
  23280. r->x[1] = 0;
  23281. r->x[2] = 0;
  23282. r->x[3] = 0;
  23283. r->y[0] = 0;
  23284. r->y[1] = 0;
  23285. r->y[2] = 0;
  23286. r->y[3] = 0;
  23287. r->z[0] = 0;
  23288. r->z[1] = 0;
  23289. r->z[2] = 0;
  23290. r->z[3] = 0;
  23291. for (i = 1; i < 33; i++) {
  23292. mask = 0 - (i == idx);
  23293. r->x[0] |= mask & table[i].x[0];
  23294. r->x[1] |= mask & table[i].x[1];
  23295. r->x[2] |= mask & table[i].x[2];
  23296. r->x[3] |= mask & table[i].x[3];
  23297. r->y[0] |= mask & table[i].y[0];
  23298. r->y[1] |= mask & table[i].y[1];
  23299. r->y[2] |= mask & table[i].y[2];
  23300. r->y[3] |= mask & table[i].y[3];
  23301. r->z[0] |= mask & table[i].z[0];
  23302. r->z[1] |= mask & table[i].z[1];
  23303. r->z[2] |= mask & table[i].z[2];
  23304. r->z[3] |= mask & table[i].z[3];
  23305. }
  23306. }
  23307. #endif /* !WC_NO_CACHE_RESISTANT */
  23308. /* Multiply the point by the scalar and return the result.
  23309. * If map is true then convert result to affine coordinates.
  23310. *
  23311. * Window technique of 6 bits. (Add-Sub variation.)
  23312. * Calculate 0..32 times the point. Use function that adds and
  23313. * subtracts the same two points.
  23314. * Recode to add or subtract one of the computed points.
  23315. * Double to push up.
  23316. * NOT a sliding window.
  23317. *
  23318. * r Resulting point.
  23319. * g Point to multiply.
  23320. * k Scalar to multiply by.
  23321. * map Indicates whether to convert result to affine.
  23322. * ct Constant time required.
  23323. * heap Heap to use for allocation.
  23324. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  23325. */
  23326. static int sp_256_ecc_mulmod_win_add_sub_4(sp_point_256* r, const sp_point_256* g,
  23327. const sp_digit* k, int map, int ct, void* heap)
  23328. {
  23329. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23330. sp_point_256* t = NULL;
  23331. sp_digit* tmp = NULL;
  23332. #else
  23333. sp_point_256 t[33+2];
  23334. sp_digit tmp[2 * 4 * 6];
  23335. #endif
  23336. sp_point_256* rt = NULL;
  23337. sp_point_256* p = NULL;
  23338. sp_digit* negy;
  23339. int i;
  23340. ecc_recode_256 v[43];
  23341. int err = MP_OKAY;
  23342. /* Constant time used for cache attack resistance implementation. */
  23343. (void)ct;
  23344. (void)heap;
  23345. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23346. t = (sp_point_256*)XMALLOC(sizeof(sp_point_256) *
  23347. (33+2), heap, DYNAMIC_TYPE_ECC);
  23348. if (t == NULL)
  23349. err = MEMORY_E;
  23350. if (err == MP_OKAY) {
  23351. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6,
  23352. heap, DYNAMIC_TYPE_ECC);
  23353. if (tmp == NULL)
  23354. err = MEMORY_E;
  23355. }
  23356. #endif
  23357. if (err == MP_OKAY) {
  23358. rt = t + 33;
  23359. p = t + 33+1;
  23360. /* t[0] = {0, 0, 1} * norm */
  23361. XMEMSET(&t[0], 0, sizeof(t[0]));
  23362. t[0].infinity = 1;
  23363. /* t[1] = {g->x, g->y, g->z} * norm */
  23364. err = sp_256_mod_mul_norm_4(t[1].x, g->x, p256_mod);
  23365. }
  23366. if (err == MP_OKAY) {
  23367. err = sp_256_mod_mul_norm_4(t[1].y, g->y, p256_mod);
  23368. }
  23369. if (err == MP_OKAY) {
  23370. err = sp_256_mod_mul_norm_4(t[1].z, g->z, p256_mod);
  23371. }
  23372. if (err == MP_OKAY) {
  23373. t[1].infinity = 0;
  23374. /* t[2] ... t[32] */
  23375. sp_256_proj_point_dbl_n_store_4(t, &t[ 1], 5, 1, tmp);
  23376. sp_256_proj_point_add_4(&t[ 3], &t[ 2], &t[ 1], tmp);
  23377. sp_256_proj_point_dbl_4(&t[ 6], &t[ 3], tmp);
  23378. sp_256_proj_point_add_sub_4(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp);
  23379. sp_256_proj_point_dbl_4(&t[10], &t[ 5], tmp);
  23380. sp_256_proj_point_add_sub_4(&t[11], &t[ 9], &t[10], &t[ 1], tmp);
  23381. sp_256_proj_point_dbl_4(&t[12], &t[ 6], tmp);
  23382. sp_256_proj_point_dbl_4(&t[14], &t[ 7], tmp);
  23383. sp_256_proj_point_add_sub_4(&t[15], &t[13], &t[14], &t[ 1], tmp);
  23384. sp_256_proj_point_dbl_4(&t[18], &t[ 9], tmp);
  23385. sp_256_proj_point_add_sub_4(&t[19], &t[17], &t[18], &t[ 1], tmp);
  23386. sp_256_proj_point_dbl_4(&t[20], &t[10], tmp);
  23387. sp_256_proj_point_dbl_4(&t[22], &t[11], tmp);
  23388. sp_256_proj_point_add_sub_4(&t[23], &t[21], &t[22], &t[ 1], tmp);
  23389. sp_256_proj_point_dbl_4(&t[24], &t[12], tmp);
  23390. sp_256_proj_point_dbl_4(&t[26], &t[13], tmp);
  23391. sp_256_proj_point_add_sub_4(&t[27], &t[25], &t[26], &t[ 1], tmp);
  23392. sp_256_proj_point_dbl_4(&t[28], &t[14], tmp);
  23393. sp_256_proj_point_dbl_4(&t[30], &t[15], tmp);
  23394. sp_256_proj_point_add_sub_4(&t[31], &t[29], &t[30], &t[ 1], tmp);
  23395. negy = t[0].y;
  23396. sp_256_ecc_recode_6_4(k, v);
  23397. i = 42;
  23398. #ifndef WC_NO_CACHE_RESISTANT
  23399. if (ct) {
  23400. sp_256_get_point_33_4(rt, t, v[i].i);
  23401. rt->infinity = !v[i].i;
  23402. }
  23403. else
  23404. #endif
  23405. {
  23406. XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_256));
  23407. }
  23408. for (--i; i>=0; i--) {
  23409. sp_256_proj_point_dbl_n_4(rt, 6, tmp);
  23410. #ifndef WC_NO_CACHE_RESISTANT
  23411. if (ct) {
  23412. sp_256_get_point_33_4(p, t, v[i].i);
  23413. p->infinity = !v[i].i;
  23414. }
  23415. else
  23416. #endif
  23417. {
  23418. XMEMCPY(p, &t[v[i].i], sizeof(sp_point_256));
  23419. }
  23420. sp_256_sub_4(negy, p256_mod, p->y);
  23421. sp_256_norm_4(negy);
  23422. sp_256_cond_copy_4(p->y, negy, (sp_digit)0 - v[i].neg);
  23423. sp_256_proj_point_add_4(rt, rt, p, tmp);
  23424. }
  23425. if (map != 0) {
  23426. sp_256_map_4(r, rt, tmp);
  23427. }
  23428. else {
  23429. XMEMCPY(r, rt, sizeof(sp_point_256));
  23430. }
  23431. }
  23432. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23433. if (t != NULL)
  23434. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  23435. if (tmp != NULL)
  23436. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  23437. #endif
  23438. return err;
  23439. }
  23440. #ifndef WC_NO_CACHE_RESISTANT
  23441. /* A table entry for pre-computed points. */
  23442. typedef struct sp_table_entry_256 {
  23443. sp_digit x[4];
  23444. sp_digit y[4];
  23445. } sp_table_entry_256;
  23446. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  23447. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  23448. /* Add two Montgomery form projective points. The second point has a q value of
  23449. * one.
  23450. * Only the first point can be the same pointer as the result point.
  23451. *
  23452. * r Result of addition.
  23453. * p First point to add.
  23454. * q Second point to add.
  23455. * t Temporary ordinate data.
  23456. */
  23457. static void sp_256_proj_point_add_qz1_4(sp_point_256* r, const sp_point_256* p,
  23458. const sp_point_256* q, sp_digit* t)
  23459. {
  23460. sp_digit* t1 = t;
  23461. sp_digit* t2 = t + 2*4;
  23462. sp_digit* t3 = t + 4*4;
  23463. sp_digit* t4 = t + 6*4;
  23464. sp_digit* t5 = t + 8*4;
  23465. sp_digit* t6 = t + 10*4;
  23466. /* Check double */
  23467. (void)sp_256_sub_4(t1, p256_mod, q->y);
  23468. sp_256_norm_4(t1);
  23469. if ((~p->infinity & ~q->infinity &
  23470. sp_256_cmp_equal_4(p->x, q->x) & sp_256_cmp_equal_4(p->z, q->z) &
  23471. (sp_256_cmp_equal_4(p->y, q->y) | sp_256_cmp_equal_4(p->y, t1))) != 0) {
  23472. sp_256_proj_point_dbl_4(r, p, t);
  23473. }
  23474. else {
  23475. sp_digit maskp;
  23476. sp_digit maskq;
  23477. sp_digit maskt;
  23478. sp_digit* x = t2;
  23479. sp_digit* y = t5;
  23480. sp_digit* z = t6;
  23481. int i;
  23482. /* U2 = X2*Z1^2 */
  23483. sp_256_mont_sqr_4(t2, p->z, p256_mod, p256_mp_mod);
  23484. sp_256_mont_mul_4(t4, t2, p->z, p256_mod, p256_mp_mod);
  23485. sp_256_mont_mul_4(t2, t2, q->x, p256_mod, p256_mp_mod);
  23486. /* S2 = Y2*Z1^3 */
  23487. sp_256_mont_mul_4(t4, t4, q->y, p256_mod, p256_mp_mod);
  23488. /* H = U2 - X1 */
  23489. sp_256_mont_sub_4(t2, t2, p->x, p256_mod);
  23490. /* R = S2 - Y1 */
  23491. sp_256_mont_sub_4(t4, t4, p->y, p256_mod);
  23492. /* Z3 = H*Z1 */
  23493. sp_256_mont_mul_4(z, p->z, t2, p256_mod, p256_mp_mod);
  23494. /* X3 = R^2 - H^3 - 2*X1*H^2 */
  23495. sp_256_mont_sqr_4(t1, t4, p256_mod, p256_mp_mod);
  23496. sp_256_mont_sqr_4(t5, t2, p256_mod, p256_mp_mod);
  23497. sp_256_mont_mul_4(t3, p->x, t5, p256_mod, p256_mp_mod);
  23498. sp_256_mont_mul_4(t5, t5, t2, p256_mod, p256_mp_mod);
  23499. sp_256_mont_sub_4(x, t1, t5, p256_mod);
  23500. sp_256_mont_sub_dbl_4(x, x, t3, p256_mod);
  23501. /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */
  23502. sp_256_mont_sub_lower_4(t3, t3, x, p256_mod);
  23503. sp_256_mont_mul_4(t3, t3, t4, p256_mod, p256_mp_mod);
  23504. sp_256_mont_mul_4(t5, t5, p->y, p256_mod, p256_mp_mod);
  23505. sp_256_mont_sub_4(y, t3, t5, p256_mod);
  23506. maskp = 0 - (q->infinity & (!p->infinity));
  23507. maskq = 0 - (p->infinity & (!q->infinity));
  23508. maskt = ~(maskp | maskq);
  23509. for (i = 0; i < 4; i++) {
  23510. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | (x[i] & maskt);
  23511. }
  23512. for (i = 0; i < 4; i++) {
  23513. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | (y[i] & maskt);
  23514. }
  23515. for (i = 0; i < 4; i++) {
  23516. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | (z[i] & maskt);
  23517. }
  23518. r->z[0] |= p->infinity & q->infinity;
  23519. r->infinity = p->infinity & q->infinity;
  23520. }
  23521. }
  23522. #ifdef FP_ECC
  23523. /* Convert the projective point to affine.
  23524. * Ordinates are in Montgomery form.
  23525. *
  23526. * a Point to convert.
  23527. * t Temporary data.
  23528. */
  23529. static void sp_256_proj_to_affine_4(sp_point_256* a, sp_digit* t)
  23530. {
  23531. sp_digit* t1 = t;
  23532. sp_digit* t2 = t + 2 * 4;
  23533. sp_digit* tmp = t + 4 * 4;
  23534. sp_256_mont_inv_4(t1, a->z, tmp);
  23535. sp_256_mont_sqr_4(t2, t1, p256_mod, p256_mp_mod);
  23536. sp_256_mont_mul_4(t1, t2, t1, p256_mod, p256_mp_mod);
  23537. sp_256_mont_mul_4(a->x, a->x, t2, p256_mod, p256_mp_mod);
  23538. sp_256_mont_mul_4(a->y, a->y, t1, p256_mod, p256_mp_mod);
  23539. XMEMCPY(a->z, p256_norm_mod, sizeof(p256_norm_mod));
  23540. }
  23541. /* Generate the pre-computed table of points for the base point.
  23542. *
  23543. * width = 6
  23544. * 64 entries
  23545. * 42 bits between
  23546. *
  23547. * a The base point.
  23548. * table Place to store generated point data.
  23549. * tmp Temporary data.
  23550. * heap Heap to use for allocation.
  23551. */
  23552. static int sp_256_gen_stripe_table_4(const sp_point_256* a,
  23553. sp_table_entry_256* table, sp_digit* tmp, void* heap)
  23554. {
  23555. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23556. sp_point_256* t = NULL;
  23557. #else
  23558. sp_point_256 t[3];
  23559. #endif
  23560. sp_point_256* s1 = NULL;
  23561. sp_point_256* s2 = NULL;
  23562. int i;
  23563. int j;
  23564. int err = MP_OKAY;
  23565. (void)heap;
  23566. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23567. t = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 3, heap,
  23568. DYNAMIC_TYPE_ECC);
  23569. if (t == NULL)
  23570. err = MEMORY_E;
  23571. #endif
  23572. if (err == MP_OKAY) {
  23573. s1 = t + 1;
  23574. s2 = t + 2;
  23575. err = sp_256_mod_mul_norm_4(t->x, a->x, p256_mod);
  23576. }
  23577. if (err == MP_OKAY) {
  23578. err = sp_256_mod_mul_norm_4(t->y, a->y, p256_mod);
  23579. }
  23580. if (err == MP_OKAY) {
  23581. err = sp_256_mod_mul_norm_4(t->z, a->z, p256_mod);
  23582. }
  23583. if (err == MP_OKAY) {
  23584. t->infinity = 0;
  23585. sp_256_proj_to_affine_4(t, tmp);
  23586. XMEMCPY(s1->z, p256_norm_mod, sizeof(p256_norm_mod));
  23587. s1->infinity = 0;
  23588. XMEMCPY(s2->z, p256_norm_mod, sizeof(p256_norm_mod));
  23589. s2->infinity = 0;
  23590. /* table[0] = {0, 0, infinity} */
  23591. XMEMSET(&table[0], 0, sizeof(sp_table_entry_256));
  23592. /* table[1] = Affine version of 'a' in Montgomery form */
  23593. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  23594. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  23595. for (i=1; i<6; i++) {
  23596. sp_256_proj_point_dbl_n_4(t, 43, tmp);
  23597. sp_256_proj_to_affine_4(t, tmp);
  23598. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  23599. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  23600. }
  23601. for (i=1; i<6; i++) {
  23602. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  23603. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  23604. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  23605. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  23606. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  23607. sp_256_proj_point_add_qz1_4(t, s1, s2, tmp);
  23608. sp_256_proj_to_affine_4(t, tmp);
  23609. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  23610. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  23611. }
  23612. }
  23613. }
  23614. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23615. if (t != NULL)
  23616. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  23617. #endif
  23618. return err;
  23619. }
  23620. #endif /* FP_ECC */
  23621. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  23622. #ifndef WC_NO_CACHE_RESISTANT
  23623. /* Touch each possible entry that could be being copied.
  23624. *
  23625. * r Point to copy into.
  23626. * table Table - start of the entires to access
  23627. * idx Index of entry to retrieve.
  23628. */
  23629. static void sp_256_get_entry_64_4(sp_point_256* r,
  23630. const sp_table_entry_256* table, int idx)
  23631. {
  23632. int i;
  23633. sp_digit mask;
  23634. r->x[0] = 0;
  23635. r->x[1] = 0;
  23636. r->x[2] = 0;
  23637. r->x[3] = 0;
  23638. r->y[0] = 0;
  23639. r->y[1] = 0;
  23640. r->y[2] = 0;
  23641. r->y[3] = 0;
  23642. for (i = 1; i < 64; i++) {
  23643. mask = 0 - (i == idx);
  23644. r->x[0] |= mask & table[i].x[0];
  23645. r->x[1] |= mask & table[i].x[1];
  23646. r->x[2] |= mask & table[i].x[2];
  23647. r->x[3] |= mask & table[i].x[3];
  23648. r->y[0] |= mask & table[i].y[0];
  23649. r->y[1] |= mask & table[i].y[1];
  23650. r->y[2] |= mask & table[i].y[2];
  23651. r->y[3] |= mask & table[i].y[3];
  23652. }
  23653. }
  23654. #endif /* !WC_NO_CACHE_RESISTANT */
  23655. /* Multiply the point by the scalar and return the result.
  23656. * If map is true then convert result to affine coordinates.
  23657. *
  23658. * Stripe implementation.
  23659. * Pre-generated: 2^0, 2^42, ...
  23660. * Pre-generated: products of all combinations of above.
  23661. * 6 doubles and adds (with qz=1)
  23662. *
  23663. * r Resulting point.
  23664. * k Scalar to multiply by.
  23665. * table Pre-computed table.
  23666. * map Indicates whether to convert result to affine.
  23667. * ct Constant time required.
  23668. * heap Heap to use for allocation.
  23669. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  23670. */
  23671. static int sp_256_ecc_mulmod_stripe_4(sp_point_256* r, const sp_point_256* g,
  23672. const sp_table_entry_256* table, const sp_digit* k, int map,
  23673. int ct, void* heap)
  23674. {
  23675. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23676. sp_point_256* rt = NULL;
  23677. sp_digit* t = NULL;
  23678. #else
  23679. sp_point_256 rt[2];
  23680. sp_digit t[2 * 4 * 6];
  23681. #endif
  23682. sp_point_256* p = NULL;
  23683. int i;
  23684. int j;
  23685. int y;
  23686. int x;
  23687. int err = MP_OKAY;
  23688. (void)g;
  23689. /* Constant time used for cache attack resistance implementation. */
  23690. (void)ct;
  23691. (void)heap;
  23692. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23693. rt = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  23694. DYNAMIC_TYPE_ECC);
  23695. if (rt == NULL)
  23696. err = MEMORY_E;
  23697. if (err == MP_OKAY) {
  23698. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, heap,
  23699. DYNAMIC_TYPE_ECC);
  23700. if (t == NULL)
  23701. err = MEMORY_E;
  23702. }
  23703. #endif
  23704. if (err == MP_OKAY) {
  23705. p = rt + 1;
  23706. XMEMCPY(p->z, p256_norm_mod, sizeof(p256_norm_mod));
  23707. XMEMCPY(rt->z, p256_norm_mod, sizeof(p256_norm_mod));
  23708. y = 0;
  23709. x = 42;
  23710. for (j=0; j<6 && x<256; j++) {
  23711. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  23712. x += 43;
  23713. }
  23714. #ifndef WC_NO_CACHE_RESISTANT
  23715. if (ct) {
  23716. sp_256_get_entry_64_4(rt, table, y);
  23717. } else
  23718. #endif
  23719. {
  23720. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  23721. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  23722. }
  23723. rt->infinity = !y;
  23724. for (i=41; i>=0; i--) {
  23725. y = 0;
  23726. x = i;
  23727. for (j=0; j<6 && x<256; j++) {
  23728. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  23729. x += 43;
  23730. }
  23731. sp_256_proj_point_dbl_4(rt, rt, t);
  23732. #ifndef WC_NO_CACHE_RESISTANT
  23733. if (ct) {
  23734. sp_256_get_entry_64_4(p, table, y);
  23735. }
  23736. else
  23737. #endif
  23738. {
  23739. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  23740. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  23741. }
  23742. p->infinity = !y;
  23743. sp_256_proj_point_add_qz1_4(rt, rt, p, t);
  23744. }
  23745. if (map != 0) {
  23746. sp_256_map_4(r, rt, t);
  23747. }
  23748. else {
  23749. XMEMCPY(r, rt, sizeof(sp_point_256));
  23750. }
  23751. }
  23752. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23753. if (t != NULL)
  23754. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  23755. if (rt != NULL)
  23756. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  23757. #endif
  23758. return err;
  23759. }
  23760. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  23761. #ifdef FP_ECC
  23762. #ifndef FP_ENTRIES
  23763. #define FP_ENTRIES 16
  23764. #endif
  23765. /* Cache entry - holds precomputation tables for a point. */
  23766. typedef struct sp_cache_256_t {
  23767. /* X ordinate of point that table was generated from. */
  23768. sp_digit x[4];
  23769. /* Y ordinate of point that table was generated from. */
  23770. sp_digit y[4];
  23771. /* Precomputation table for point. */
  23772. sp_table_entry_256 table[64];
  23773. /* Count of entries in table. */
  23774. uint32_t cnt;
  23775. /* Point and table set in entry. */
  23776. int set;
  23777. } sp_cache_256_t;
  23778. /* Cache of tables. */
  23779. static THREAD_LS_T sp_cache_256_t sp_cache_256[FP_ENTRIES];
  23780. /* Index of last entry in cache. */
  23781. static THREAD_LS_T int sp_cache_256_last = -1;
  23782. /* Cache has been initialized. */
  23783. static THREAD_LS_T int sp_cache_256_inited = 0;
  23784. #ifndef HAVE_THREAD_LS
  23785. static volatile int initCacheMutex_256 = 0;
  23786. static wolfSSL_Mutex sp_cache_256_lock;
  23787. #endif
  23788. /* Get the cache entry for the point.
  23789. *
  23790. * g [in] Point scalar multipling.
  23791. * cache [out] Cache table to use.
  23792. */
  23793. static void sp_ecc_get_cache_256(const sp_point_256* g, sp_cache_256_t** cache)
  23794. {
  23795. int i;
  23796. int j;
  23797. uint32_t least;
  23798. if (sp_cache_256_inited == 0) {
  23799. for (i=0; i<FP_ENTRIES; i++) {
  23800. sp_cache_256[i].set = 0;
  23801. }
  23802. sp_cache_256_inited = 1;
  23803. }
  23804. /* Compare point with those in cache. */
  23805. for (i=0; i<FP_ENTRIES; i++) {
  23806. if (!sp_cache_256[i].set)
  23807. continue;
  23808. if (sp_256_cmp_equal_4(g->x, sp_cache_256[i].x) &
  23809. sp_256_cmp_equal_4(g->y, sp_cache_256[i].y)) {
  23810. sp_cache_256[i].cnt++;
  23811. break;
  23812. }
  23813. }
  23814. /* No match. */
  23815. if (i == FP_ENTRIES) {
  23816. /* Find empty entry. */
  23817. i = (sp_cache_256_last + 1) % FP_ENTRIES;
  23818. for (; i != sp_cache_256_last; i=(i+1)%FP_ENTRIES) {
  23819. if (!sp_cache_256[i].set) {
  23820. break;
  23821. }
  23822. }
  23823. /* Evict least used. */
  23824. if (i == sp_cache_256_last) {
  23825. least = sp_cache_256[0].cnt;
  23826. for (j=1; j<FP_ENTRIES; j++) {
  23827. if (sp_cache_256[j].cnt < least) {
  23828. i = j;
  23829. least = sp_cache_256[i].cnt;
  23830. }
  23831. }
  23832. }
  23833. XMEMCPY(sp_cache_256[i].x, g->x, sizeof(sp_cache_256[i].x));
  23834. XMEMCPY(sp_cache_256[i].y, g->y, sizeof(sp_cache_256[i].y));
  23835. sp_cache_256[i].set = 1;
  23836. sp_cache_256[i].cnt = 1;
  23837. }
  23838. *cache = &sp_cache_256[i];
  23839. sp_cache_256_last = i;
  23840. }
  23841. #endif /* FP_ECC */
  23842. /* Multiply the base point of P256 by the scalar and return the result.
  23843. * If map is true then convert result to affine coordinates.
  23844. *
  23845. * r Resulting point.
  23846. * g Point to multiply.
  23847. * k Scalar to multiply by.
  23848. * map Indicates whether to convert result to affine.
  23849. * ct Constant time required.
  23850. * heap Heap to use for allocation.
  23851. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  23852. */
  23853. static int sp_256_ecc_mulmod_4(sp_point_256* r, const sp_point_256* g, const sp_digit* k,
  23854. int map, int ct, void* heap)
  23855. {
  23856. #ifndef FP_ECC
  23857. return sp_256_ecc_mulmod_win_add_sub_4(r, g, k, map, ct, heap);
  23858. #else
  23859. sp_digit tmp[2 * 4 * 6];
  23860. sp_cache_256_t* cache;
  23861. int err = MP_OKAY;
  23862. #ifndef HAVE_THREAD_LS
  23863. if (initCacheMutex_256 == 0) {
  23864. wc_InitMutex(&sp_cache_256_lock);
  23865. initCacheMutex_256 = 1;
  23866. }
  23867. if (wc_LockMutex(&sp_cache_256_lock) != 0)
  23868. err = BAD_MUTEX_E;
  23869. #endif /* HAVE_THREAD_LS */
  23870. if (err == MP_OKAY) {
  23871. sp_ecc_get_cache_256(g, &cache);
  23872. if (cache->cnt == 2)
  23873. sp_256_gen_stripe_table_4(g, cache->table, tmp, heap);
  23874. #ifndef HAVE_THREAD_LS
  23875. wc_UnLockMutex(&sp_cache_256_lock);
  23876. #endif /* HAVE_THREAD_LS */
  23877. if (cache->cnt < 2) {
  23878. err = sp_256_ecc_mulmod_win_add_sub_4(r, g, k, map, ct, heap);
  23879. }
  23880. else {
  23881. err = sp_256_ecc_mulmod_stripe_4(r, g, cache->table, k,
  23882. map, ct, heap);
  23883. }
  23884. }
  23885. return err;
  23886. #endif
  23887. }
  23888. #else
  23889. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  23890. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  23891. #ifdef FP_ECC
  23892. /* Generate the pre-computed table of points for the base point.
  23893. *
  23894. * width = 8
  23895. * 256 entries
  23896. * 32 bits between
  23897. *
  23898. * a The base point.
  23899. * table Place to store generated point data.
  23900. * tmp Temporary data.
  23901. * heap Heap to use for allocation.
  23902. */
  23903. static int sp_256_gen_stripe_table_4(const sp_point_256* a,
  23904. sp_table_entry_256* table, sp_digit* tmp, void* heap)
  23905. {
  23906. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23907. sp_point_256* t = NULL;
  23908. #else
  23909. sp_point_256 t[3];
  23910. #endif
  23911. sp_point_256* s1 = NULL;
  23912. sp_point_256* s2 = NULL;
  23913. int i;
  23914. int j;
  23915. int err = MP_OKAY;
  23916. (void)heap;
  23917. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23918. t = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 3, heap,
  23919. DYNAMIC_TYPE_ECC);
  23920. if (t == NULL)
  23921. err = MEMORY_E;
  23922. #endif
  23923. if (err == MP_OKAY) {
  23924. s1 = t + 1;
  23925. s2 = t + 2;
  23926. err = sp_256_mod_mul_norm_4(t->x, a->x, p256_mod);
  23927. }
  23928. if (err == MP_OKAY) {
  23929. err = sp_256_mod_mul_norm_4(t->y, a->y, p256_mod);
  23930. }
  23931. if (err == MP_OKAY) {
  23932. err = sp_256_mod_mul_norm_4(t->z, a->z, p256_mod);
  23933. }
  23934. if (err == MP_OKAY) {
  23935. t->infinity = 0;
  23936. sp_256_proj_to_affine_4(t, tmp);
  23937. XMEMCPY(s1->z, p256_norm_mod, sizeof(p256_norm_mod));
  23938. s1->infinity = 0;
  23939. XMEMCPY(s2->z, p256_norm_mod, sizeof(p256_norm_mod));
  23940. s2->infinity = 0;
  23941. /* table[0] = {0, 0, infinity} */
  23942. XMEMSET(&table[0], 0, sizeof(sp_table_entry_256));
  23943. /* table[1] = Affine version of 'a' in Montgomery form */
  23944. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  23945. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  23946. for (i=1; i<8; i++) {
  23947. sp_256_proj_point_dbl_n_4(t, 32, tmp);
  23948. sp_256_proj_to_affine_4(t, tmp);
  23949. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  23950. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  23951. }
  23952. for (i=1; i<8; i++) {
  23953. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  23954. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  23955. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  23956. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  23957. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  23958. sp_256_proj_point_add_qz1_4(t, s1, s2, tmp);
  23959. sp_256_proj_to_affine_4(t, tmp);
  23960. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  23961. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  23962. }
  23963. }
  23964. }
  23965. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  23966. if (t != NULL)
  23967. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  23968. #endif
  23969. return err;
  23970. }
  23971. #endif /* FP_ECC */
  23972. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  23973. #ifndef WC_NO_CACHE_RESISTANT
  23974. /* Touch each possible entry that could be being copied.
  23975. *
  23976. * r Point to copy into.
  23977. * table Table - start of the entires to access
  23978. * idx Index of entry to retrieve.
  23979. */
  23980. static void sp_256_get_entry_256_4(sp_point_256* r,
  23981. const sp_table_entry_256* table, int idx)
  23982. {
  23983. int i;
  23984. sp_digit mask;
  23985. r->x[0] = 0;
  23986. r->x[1] = 0;
  23987. r->x[2] = 0;
  23988. r->x[3] = 0;
  23989. r->y[0] = 0;
  23990. r->y[1] = 0;
  23991. r->y[2] = 0;
  23992. r->y[3] = 0;
  23993. for (i = 1; i < 256; i++) {
  23994. mask = 0 - (i == idx);
  23995. r->x[0] |= mask & table[i].x[0];
  23996. r->x[1] |= mask & table[i].x[1];
  23997. r->x[2] |= mask & table[i].x[2];
  23998. r->x[3] |= mask & table[i].x[3];
  23999. r->y[0] |= mask & table[i].y[0];
  24000. r->y[1] |= mask & table[i].y[1];
  24001. r->y[2] |= mask & table[i].y[2];
  24002. r->y[3] |= mask & table[i].y[3];
  24003. }
  24004. }
  24005. #endif /* !WC_NO_CACHE_RESISTANT */
  24006. /* Multiply the point by the scalar and return the result.
  24007. * If map is true then convert result to affine coordinates.
  24008. *
  24009. * Stripe implementation.
  24010. * Pre-generated: 2^0, 2^32, ...
  24011. * Pre-generated: products of all combinations of above.
  24012. * 8 doubles and adds (with qz=1)
  24013. *
  24014. * r Resulting point.
  24015. * k Scalar to multiply by.
  24016. * table Pre-computed table.
  24017. * map Indicates whether to convert result to affine.
  24018. * ct Constant time required.
  24019. * heap Heap to use for allocation.
  24020. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  24021. */
  24022. static int sp_256_ecc_mulmod_stripe_4(sp_point_256* r, const sp_point_256* g,
  24023. const sp_table_entry_256* table, const sp_digit* k, int map,
  24024. int ct, void* heap)
  24025. {
  24026. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24027. sp_point_256* rt = NULL;
  24028. sp_digit* t = NULL;
  24029. #else
  24030. sp_point_256 rt[2];
  24031. sp_digit t[2 * 4 * 6];
  24032. #endif
  24033. sp_point_256* p = NULL;
  24034. int i;
  24035. int j;
  24036. int y;
  24037. int x;
  24038. int err = MP_OKAY;
  24039. (void)g;
  24040. /* Constant time used for cache attack resistance implementation. */
  24041. (void)ct;
  24042. (void)heap;
  24043. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24044. rt = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  24045. DYNAMIC_TYPE_ECC);
  24046. if (rt == NULL)
  24047. err = MEMORY_E;
  24048. if (err == MP_OKAY) {
  24049. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, heap,
  24050. DYNAMIC_TYPE_ECC);
  24051. if (t == NULL)
  24052. err = MEMORY_E;
  24053. }
  24054. #endif
  24055. if (err == MP_OKAY) {
  24056. p = rt + 1;
  24057. XMEMCPY(p->z, p256_norm_mod, sizeof(p256_norm_mod));
  24058. XMEMCPY(rt->z, p256_norm_mod, sizeof(p256_norm_mod));
  24059. y = 0;
  24060. x = 31;
  24061. for (j=0; j<8; j++) {
  24062. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  24063. x += 32;
  24064. }
  24065. #ifndef WC_NO_CACHE_RESISTANT
  24066. if (ct) {
  24067. sp_256_get_entry_256_4(rt, table, y);
  24068. } else
  24069. #endif
  24070. {
  24071. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  24072. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  24073. }
  24074. rt->infinity = !y;
  24075. for (i=30; i>=0; i--) {
  24076. y = 0;
  24077. x = i;
  24078. for (j=0; j<8; j++) {
  24079. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  24080. x += 32;
  24081. }
  24082. sp_256_proj_point_dbl_4(rt, rt, t);
  24083. #ifndef WC_NO_CACHE_RESISTANT
  24084. if (ct) {
  24085. sp_256_get_entry_256_4(p, table, y);
  24086. }
  24087. else
  24088. #endif
  24089. {
  24090. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  24091. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  24092. }
  24093. p->infinity = !y;
  24094. sp_256_proj_point_add_qz1_4(rt, rt, p, t);
  24095. }
  24096. if (map != 0) {
  24097. sp_256_map_4(r, rt, t);
  24098. }
  24099. else {
  24100. XMEMCPY(r, rt, sizeof(sp_point_256));
  24101. }
  24102. }
  24103. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24104. if (t != NULL)
  24105. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  24106. if (rt != NULL)
  24107. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  24108. #endif
  24109. return err;
  24110. }
  24111. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  24112. #ifdef FP_ECC
  24113. #ifndef FP_ENTRIES
  24114. #define FP_ENTRIES 16
  24115. #endif
  24116. /* Cache entry - holds precomputation tables for a point. */
  24117. typedef struct sp_cache_256_t {
  24118. /* X ordinate of point that table was generated from. */
  24119. sp_digit x[4];
  24120. /* Y ordinate of point that table was generated from. */
  24121. sp_digit y[4];
  24122. /* Precomputation table for point. */
  24123. sp_table_entry_256 table[256];
  24124. /* Count of entries in table. */
  24125. uint32_t cnt;
  24126. /* Point and table set in entry. */
  24127. int set;
  24128. } sp_cache_256_t;
  24129. /* Cache of tables. */
  24130. static THREAD_LS_T sp_cache_256_t sp_cache_256[FP_ENTRIES];
  24131. /* Index of last entry in cache. */
  24132. static THREAD_LS_T int sp_cache_256_last = -1;
  24133. /* Cache has been initialized. */
  24134. static THREAD_LS_T int sp_cache_256_inited = 0;
  24135. #ifndef HAVE_THREAD_LS
  24136. static volatile int initCacheMutex_256 = 0;
  24137. static wolfSSL_Mutex sp_cache_256_lock;
  24138. #endif
  24139. /* Get the cache entry for the point.
  24140. *
  24141. * g [in] Point scalar multipling.
  24142. * cache [out] Cache table to use.
  24143. */
  24144. static void sp_ecc_get_cache_256(const sp_point_256* g, sp_cache_256_t** cache)
  24145. {
  24146. int i;
  24147. int j;
  24148. uint32_t least;
  24149. if (sp_cache_256_inited == 0) {
  24150. for (i=0; i<FP_ENTRIES; i++) {
  24151. sp_cache_256[i].set = 0;
  24152. }
  24153. sp_cache_256_inited = 1;
  24154. }
  24155. /* Compare point with those in cache. */
  24156. for (i=0; i<FP_ENTRIES; i++) {
  24157. if (!sp_cache_256[i].set)
  24158. continue;
  24159. if (sp_256_cmp_equal_4(g->x, sp_cache_256[i].x) &
  24160. sp_256_cmp_equal_4(g->y, sp_cache_256[i].y)) {
  24161. sp_cache_256[i].cnt++;
  24162. break;
  24163. }
  24164. }
  24165. /* No match. */
  24166. if (i == FP_ENTRIES) {
  24167. /* Find empty entry. */
  24168. i = (sp_cache_256_last + 1) % FP_ENTRIES;
  24169. for (; i != sp_cache_256_last; i=(i+1)%FP_ENTRIES) {
  24170. if (!sp_cache_256[i].set) {
  24171. break;
  24172. }
  24173. }
  24174. /* Evict least used. */
  24175. if (i == sp_cache_256_last) {
  24176. least = sp_cache_256[0].cnt;
  24177. for (j=1; j<FP_ENTRIES; j++) {
  24178. if (sp_cache_256[j].cnt < least) {
  24179. i = j;
  24180. least = sp_cache_256[i].cnt;
  24181. }
  24182. }
  24183. }
  24184. XMEMCPY(sp_cache_256[i].x, g->x, sizeof(sp_cache_256[i].x));
  24185. XMEMCPY(sp_cache_256[i].y, g->y, sizeof(sp_cache_256[i].y));
  24186. sp_cache_256[i].set = 1;
  24187. sp_cache_256[i].cnt = 1;
  24188. }
  24189. *cache = &sp_cache_256[i];
  24190. sp_cache_256_last = i;
  24191. }
  24192. #endif /* FP_ECC */
  24193. /* Multiply the base point of P256 by the scalar and return the result.
  24194. * If map is true then convert result to affine coordinates.
  24195. *
  24196. * r Resulting point.
  24197. * g Point to multiply.
  24198. * k Scalar to multiply by.
  24199. * map Indicates whether to convert result to affine.
  24200. * ct Constant time required.
  24201. * heap Heap to use for allocation.
  24202. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  24203. */
  24204. static int sp_256_ecc_mulmod_4(sp_point_256* r, const sp_point_256* g, const sp_digit* k,
  24205. int map, int ct, void* heap)
  24206. {
  24207. #ifndef FP_ECC
  24208. return sp_256_ecc_mulmod_win_add_sub_4(r, g, k, map, ct, heap);
  24209. #else
  24210. sp_digit tmp[2 * 4 * 6];
  24211. sp_cache_256_t* cache;
  24212. int err = MP_OKAY;
  24213. #ifndef HAVE_THREAD_LS
  24214. if (initCacheMutex_256 == 0) {
  24215. wc_InitMutex(&sp_cache_256_lock);
  24216. initCacheMutex_256 = 1;
  24217. }
  24218. if (wc_LockMutex(&sp_cache_256_lock) != 0)
  24219. err = BAD_MUTEX_E;
  24220. #endif /* HAVE_THREAD_LS */
  24221. if (err == MP_OKAY) {
  24222. sp_ecc_get_cache_256(g, &cache);
  24223. if (cache->cnt == 2)
  24224. sp_256_gen_stripe_table_4(g, cache->table, tmp, heap);
  24225. #ifndef HAVE_THREAD_LS
  24226. wc_UnLockMutex(&sp_cache_256_lock);
  24227. #endif /* HAVE_THREAD_LS */
  24228. if (cache->cnt < 2) {
  24229. err = sp_256_ecc_mulmod_win_add_sub_4(r, g, k, map, ct, heap);
  24230. }
  24231. else {
  24232. err = sp_256_ecc_mulmod_stripe_4(r, g, cache->table, k,
  24233. map, ct, heap);
  24234. }
  24235. }
  24236. return err;
  24237. #endif
  24238. }
  24239. #endif /* !WC_NO_CACHE_RESISTANT */
  24240. /* Multiply the point by the scalar and return the result.
  24241. * If map is true then convert result to affine coordinates.
  24242. *
  24243. * km Scalar to multiply by.
  24244. * p Point to multiply.
  24245. * r Resulting point.
  24246. * map Indicates whether to convert result to affine.
  24247. * heap Heap to use for allocation.
  24248. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  24249. */
  24250. int sp_ecc_mulmod_256(const mp_int* km, const ecc_point* gm, ecc_point* r,
  24251. int map, void* heap)
  24252. {
  24253. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24254. sp_point_256* point = NULL;
  24255. sp_digit* k = NULL;
  24256. #else
  24257. sp_point_256 point[1];
  24258. sp_digit k[4];
  24259. #endif
  24260. int err = MP_OKAY;
  24261. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24262. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap,
  24263. DYNAMIC_TYPE_ECC);
  24264. if (point == NULL)
  24265. err = MEMORY_E;
  24266. if (err == MP_OKAY) {
  24267. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap,
  24268. DYNAMIC_TYPE_ECC);
  24269. if (k == NULL)
  24270. err = MEMORY_E;
  24271. }
  24272. #endif
  24273. if (err == MP_OKAY) {
  24274. sp_256_from_mp(k, 4, km);
  24275. sp_256_point_from_ecc_point_4(point, gm);
  24276. err = sp_256_ecc_mulmod_4(point, point, k, map, 1, heap);
  24277. }
  24278. if (err == MP_OKAY) {
  24279. err = sp_256_point_to_ecc_point_4(point, r);
  24280. }
  24281. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24282. if (k != NULL)
  24283. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  24284. if (point != NULL)
  24285. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  24286. #endif
  24287. return err;
  24288. }
  24289. /* Multiply the point by the scalar, add point a and return the result.
  24290. * If map is true then convert result to affine coordinates.
  24291. *
  24292. * km Scalar to multiply by.
  24293. * p Point to multiply.
  24294. * am Point to add to scalar mulitply result.
  24295. * inMont Point to add is in montgomery form.
  24296. * r Resulting point.
  24297. * map Indicates whether to convert result to affine.
  24298. * heap Heap to use for allocation.
  24299. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  24300. */
  24301. int sp_ecc_mulmod_add_256(const mp_int* km, const ecc_point* gm,
  24302. const ecc_point* am, int inMont, ecc_point* r, int map, void* heap)
  24303. {
  24304. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24305. sp_point_256* point = NULL;
  24306. sp_digit* k = NULL;
  24307. #else
  24308. sp_point_256 point[2];
  24309. sp_digit k[4 + 4 * 2 * 6];
  24310. #endif
  24311. sp_point_256* addP = NULL;
  24312. sp_digit* tmp = NULL;
  24313. int err = MP_OKAY;
  24314. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24315. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  24316. DYNAMIC_TYPE_ECC);
  24317. if (point == NULL)
  24318. err = MEMORY_E;
  24319. if (err == MP_OKAY) {
  24320. k = (sp_digit*)XMALLOC(
  24321. sizeof(sp_digit) * (4 + 4 * 2 * 6), heap,
  24322. DYNAMIC_TYPE_ECC);
  24323. if (k == NULL)
  24324. err = MEMORY_E;
  24325. }
  24326. #endif
  24327. if (err == MP_OKAY) {
  24328. addP = point + 1;
  24329. tmp = k + 4;
  24330. sp_256_from_mp(k, 4, km);
  24331. sp_256_point_from_ecc_point_4(point, gm);
  24332. sp_256_point_from_ecc_point_4(addP, am);
  24333. }
  24334. if ((err == MP_OKAY) && (!inMont)) {
  24335. err = sp_256_mod_mul_norm_4(addP->x, addP->x, p256_mod);
  24336. }
  24337. if ((err == MP_OKAY) && (!inMont)) {
  24338. err = sp_256_mod_mul_norm_4(addP->y, addP->y, p256_mod);
  24339. }
  24340. if ((err == MP_OKAY) && (!inMont)) {
  24341. err = sp_256_mod_mul_norm_4(addP->z, addP->z, p256_mod);
  24342. }
  24343. if (err == MP_OKAY) {
  24344. err = sp_256_ecc_mulmod_4(point, point, k, 0, 0, heap);
  24345. }
  24346. if (err == MP_OKAY) {
  24347. sp_256_proj_point_add_4(point, point, addP, tmp);
  24348. if (map) {
  24349. sp_256_map_4(point, point, tmp);
  24350. }
  24351. err = sp_256_point_to_ecc_point_4(point, r);
  24352. }
  24353. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  24354. if (k != NULL)
  24355. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  24356. if (point != NULL)
  24357. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  24358. #endif
  24359. return err;
  24360. }
  24361. #ifdef WOLFSSL_SP_SMALL
  24362. #ifndef WC_NO_CACHE_RESISTANT
  24363. /* Striping precomputation table.
  24364. * 6 points combined into a table of 64 points.
  24365. * Distance of 43 between points.
  24366. */
  24367. static const sp_table_entry_256 p256_table[64] = {
  24368. /* 0 */
  24369. { { 0x00, 0x00, 0x00, 0x00 },
  24370. { 0x00, 0x00, 0x00, 0x00 } },
  24371. /* 1 */
  24372. { { 0x79e730d418a9143cL,0x75ba95fc5fedb601L,0x79fb732b77622510L,
  24373. 0x18905f76a53755c6L },
  24374. { 0xddf25357ce95560aL,0x8b4ab8e4ba19e45cL,0xd2e88688dd21f325L,
  24375. 0x8571ff1825885d85L } },
  24376. /* 2 */
  24377. { { 0x8910507903605c39L,0xf0843d9ea142c96cL,0xf374493416923684L,
  24378. 0x732caa2ffa0a2893L },
  24379. { 0xb2e8c27061160170L,0xc32788cc437fbaa3L,0x39cd818ea6eda3acL,
  24380. 0xe2e942399e2b2e07L } },
  24381. /* 3 */
  24382. { { 0xb9c0d276abc3e190L,0x610e3d4dcb55b9caL,0xd16dbd025720f50aL,
  24383. 0xd0ed73dca607de84L },
  24384. { 0x3bbde5bf49219fb5L,0x698e12c057771843L,0xdb606a9763470a5eL,
  24385. 0x61c71975853635d5L } },
  24386. /* 4 */
  24387. { { 0xeb5ddcb6ec7fae9fL,0x995f2714efb66e5aL,0xdee95d8e69445d52L,
  24388. 0x1b6c2d4609e27620L },
  24389. { 0x32621c318129d716L,0xb03909f10958c1aaL,0x8c468ef91af4af63L,
  24390. 0x162c429ffba5cdf6L } },
  24391. /* 5 */
  24392. { { 0x4615d912c1d85f12L,0x1f0880b0e1f4e302L,0x336bcc896f1fca13L,
  24393. 0xda59ad0dc70dedbcL },
  24394. { 0x3897efaeb0f62eceL,0xbaed81cdf4990cfdL,0xa3b1c2f260321bbbL,
  24395. 0x2aefd95addc84f79L } },
  24396. /* 6 */
  24397. { { 0x2d427e3cee9e92e6L,0x43d40da0437fe629L,0x0006e4e06ab72b31L,
  24398. 0x21ccfbb46f5c8e02L },
  24399. { 0x53a2f1a753e821ecL,0x5d72d201e209d591L,0xfd84a26445e8ad41L,
  24400. 0x86ee0e684059cc6eL } },
  24401. /* 7 */
  24402. { { 0x3d8242d09248fce2L,0x32d4bf827f49f33dL,0x78807beb29d41fd1L,
  24403. 0xfce48b99f8f562cbL },
  24404. { 0x72a7d4849f38f097L,0x1b482c10a37059adL,0xc1aa8284472e5ed3L,
  24405. 0xc5d6f3bbef23e9c9L } },
  24406. /* 8 */
  24407. { { 0x23f949feb8a24a20L,0x17ebfed1f52ca53fL,0x9b691bbebcfb4853L,
  24408. 0x5617ff6b6278a05dL },
  24409. { 0x241b34c5e3c99ebdL,0xfc64242e1784156aL,0x4206482f695d67dfL,
  24410. 0xb967ce0eee27c011L } },
  24411. /* 9 */
  24412. { { 0x569aacdf9fc3df19L,0x0c6782c7c34c6fb2L,0xbb5f98b2c4ec873dL,
  24413. 0x5578433b9fe9e475L },
  24414. { 0xfa14f3869ca84821L,0xb8ef658d39589501L,0x4022c48e07127b8eL,
  24415. 0xcbc4dfe35402ea12L } },
  24416. /* 10 */
  24417. { { 0x092ef96a2ad408a3L,0xf1e1a4c4cfbc45a3L,0x966b2676efeecdeeL,
  24418. 0xa0e2c6713a6216c5L },
  24419. { 0xcd6e22a292c4bf61L,0x56d99a11d830dfc7L,0xb8c612bd259de547L,
  24420. 0x3d8e9a72e91f8ff7L } },
  24421. /* 11 */
  24422. { { 0x0b885e962352b4ffL,0x6be320d2a6545766L,0xbd22a444b9a59e72L,
  24423. 0x2f2d32d6ccc55d7dL },
  24424. { 0xd86e4c4cddcec70bL,0x19cdb0e97a25c934L,0x542ade069ca97e28L,
  24425. 0x58c5927c746517f7L } },
  24426. /* 12 */
  24427. { { 0x24abb0f08d087091L,0x6aa2c2ef51add8deL,0xc3e1cb4ccc2a2134L,
  24428. 0x3563112895589212L },
  24429. { 0x3bf17d2a7984344bL,0xbcb6f7b2f8a142ccL,0xd6057d8a08ec9266L,
  24430. 0x75c150d22852405aL } },
  24431. /* 13 */
  24432. { { 0xa8f88eb5a9fee73eL,0x72a84174576ea39bL,0x671fa0ade2692e7dL,
  24433. 0x2556288596769f9eL },
  24434. { 0x254323bce850a6b0L,0x74b61c18fff6c89aL,0x2e7c563fcfae2690L,
  24435. 0x2cf454b7164afb0fL } },
  24436. /* 14 */
  24437. { { 0xe312a5618f10f423L,0x59a1f1fff2b85df4L,0x56c5991941c48122L,
  24438. 0x74953c1eae3d175fL },
  24439. { 0x4d767fc78859244cL,0xc486bc00719a4cc1L,0xdd282985df1c1787L,
  24440. 0x1143301aae93c719L } },
  24441. /* 15 */
  24442. { { 0x7201a1d61fab7d71L,0x65931f5432cbbee8L,0x202955d3dcb387eeL,
  24443. 0xa5045ba5c4678432L },
  24444. { 0xcfb5ee87dca85ff6L,0xdd25a7c6dfec0f67L,0xfee47169356a87c6L,
  24445. 0x20a8f159c3d7ece9L } },
  24446. /* 16 */
  24447. { { 0xe4ac8b33070d3aabL,0x2643672b9a2cd5e5L,0x52eff79b1cfc9173L,
  24448. 0x665ca49b90a7c13fL },
  24449. { 0x5a8dda59b3efb998L,0x8a5b922d052f1341L,0xae9ebbab3cf9a530L,
  24450. 0x35986e7bf56da4d7L } },
  24451. /* 17 */
  24452. { { 0x21e07f9abc0a70c0L,0xecfdb3a2989a0182L,0x360682c0e40e8125L,
  24453. 0x73a637952f837f32L },
  24454. { 0xf4eb8cef9c0d326bL,0xefb97fecebf4c7a5L,0xf9352123af3d5d7eL,
  24455. 0xb71ef4ef34e22ab1L } },
  24456. /* 18 */
  24457. { { 0xd6bd0d810d488032L,0x1676df9971f0b92eL,0xa7acdcfcb6d215acL,
  24458. 0x82461a26cd0ff939L },
  24459. { 0x827189c0b635d2e5L,0x18f3b6dda92f1622L,0x10d738aa05cef325L,
  24460. 0x12c2a13f39bb0aa6L } },
  24461. /* 19 */
  24462. { { 0x5f94d8deb50b4e82L,0xbcd9144e34bd93e9L,0x61c3392107c08623L,
  24463. 0xedec947e7e3de8eeL },
  24464. { 0x9d2da51d2f21b202L,0xc0c885cd96692a89L,0x4a613462a5e7309cL,
  24465. 0x227788550f28dee6L } },
  24466. /* 20 */
  24467. { { 0x1ff0bd527695447aL,0x63534a4a42ae2627L,0xd96af0dad0cc09f2L,
  24468. 0xb59ea545412d3e1aL },
  24469. { 0xd10518cf6a759072L,0xffeec37c10475dfdL,0xacbc29ccb25089c4L,
  24470. 0xbf3dfc8521b6d4eeL } },
  24471. /* 21 */
  24472. { { 0x8f2eacfe49388995L,0x000fc8d4841be9edL,0x2ed8085a6955c290L,
  24473. 0x1929cf606d8e176fL },
  24474. { 0x2efd26a5fd1a09dbL,0x58d767ad6cb626cdL,0x13a81b95b26c6e05L,
  24475. 0x68fe61078f61832bL } },
  24476. /* 22 */
  24477. { { 0x4ad7de2e2d85c2f6L,0xcd552fcb510101a1L,0x638d122b02acdabfL,
  24478. 0x117221e850bfd921L },
  24479. { 0x08571ee199a99129L,0xebd046d1ba2f03a9L,0x035ed7baa6f8a181L,
  24480. 0x8aabf98d3187c6f3L } },
  24481. /* 23 */
  24482. { { 0xaf8e65cae3ab5f4eL,0x8b0b8b897561a69cL,0x37e83aa0b17c1e66L,
  24483. 0xe894d84cf8d80edcL },
  24484. { 0xf1e465e7ce514e22L,0xc7fa324ca72340efL,0x08297fcae7370673L,
  24485. 0x4f799682b119ae5eL } },
  24486. /* 24 */
  24487. { { 0x014d6bd8f180f206L,0x56640c8b7ab44f55L,0x9a39660d93f9a5b8L,
  24488. 0xcac069e9959b68f1L },
  24489. { 0x2bf6b65e208d9918L,0xb7e45dfb3f943291L,0xad5770f0d439c712L,
  24490. 0xfec635e17654d805L } },
  24491. /* 25 */
  24492. { { 0x37221cd13f031a88L,0xe4d53d2f0b5558d4L,0x2ede8e8fdafc51cdL,
  24493. 0xb587284ca8a883eaL },
  24494. { 0xfa37674044fa5251L,0x5e5e18f95c5e3528L,0x8af51fac6e10b958L,
  24495. 0x09be79032c429b30L } },
  24496. /* 26 */
  24497. { { 0x7a468ba47f29936dL,0xacbbe3657cfb8176L,0xe892c10a4db9cd5dL,
  24498. 0xcb2f29d7a1aade8bL },
  24499. { 0x3087eef4efffcb14L,0x92a7f3ec2afe8f2eL,0x199d89b8136f29d2L,
  24500. 0x3131604eb4836623L } },
  24501. /* 27 */
  24502. { { 0xf5cca5da31b5df76L,0x9431318676a4abc0L,0x5db8e6f71877c7c7L,
  24503. 0x3ce3f5f96031ac99L },
  24504. { 0x585961d07e7cef80L,0x5ed6e841d424f16aL,0x18289cd056b16a49L,
  24505. 0x8008d03b2e5770faL } },
  24506. /* 28 */
  24507. { { 0xc8c2af64254e39deL,0x783cea738582571cL,0x2f2f55f1a6edd971L,
  24508. 0x7e00cc92c86bf30aL },
  24509. { 0xa0db735447d7491fL,0xb3eb751ca5b12260L,0x3bc39a23297fb234L,
  24510. 0xd1330c20b8b4bfe4L } },
  24511. /* 29 */
  24512. { { 0xfb776af07824d53aL,0x04709096422dea35L,0x6f480b6b5fec3ac7L,
  24513. 0xdb2b1b62e27edda4L },
  24514. { 0x0bba904cda78b494L,0x37ef59b691a147f7L,0xf880517726a4730aL,
  24515. 0xecc9d79aa8ab368eL } },
  24516. /* 30 */
  24517. { { 0x628e05c185a4bd0eL,0xebf7b67800e244e8L,0xf645947b8b176eebL,
  24518. 0xc92bf8301641ab35L },
  24519. { 0x7a039c1a21be7a6fL,0x11e4354d2fd4bd92L,0x42552422886fd224L,
  24520. 0xdbf3194cc44ced37L } },
  24521. /* 31 */
  24522. { { 0x832da983c56f6b04L,0x7aaa84eb8ef098aeL,0x602e3eefa6a616a2L,
  24523. 0xc2824ddcb7b717a3L },
  24524. { 0x19f50324ddb0a2e9L,0x04553a285bedfbbdL,0x37ea8b12aa1aee0aL,
  24525. 0xc1844e79945959a1L } },
  24526. /* 32 */
  24527. { { 0x5043dea7e0f222c2L,0x309d42ac72e65142L,0x94fe9ddd9216cd30L,
  24528. 0xd6539c7d0f87feecL },
  24529. { 0x03c5a57c432ac7d7L,0x72692cf0327fda10L,0xec28c85f280698deL,
  24530. 0x2331fb467ec283b1L } },
  24531. /* 33 */
  24532. { { 0x651cfdeb43248e67L,0x2c3d72ceee561de8L,0xa48b8f33443dac8bL,
  24533. 0xe6b042fe7991f986L },
  24534. { 0xd091636de810bcd2L,0xfc1e96aea97416d7L,0x2b6087cb2892694dL,
  24535. 0x0f8ac2459985a628L } },
  24536. /* 34 */
  24537. { { 0x54e908747f2326a2L,0xce43dd44fa9e1131L,0x4b2c740cd3d2d948L,
  24538. 0x9b0b126aa86e8b07L },
  24539. { 0x228ef320b77f5af2L,0x14fc8a01ca07661cL,0x1d72509ed34f1a3aL,
  24540. 0xd169031729d9086eL } },
  24541. /* 35 */
  24542. { { 0x13e44acc03c5fe33L,0x13f4374e0105bbc6L,0x0cba5018cb4451b8L,
  24543. 0xa1a38e4afa29a4e1L },
  24544. { 0x063fb9a8f4403917L,0x7afe108f996ea7f2L,0xec252363f93a1f87L,
  24545. 0xc029c8117e432609L } },
  24546. /* 36 */
  24547. { { 0x25080c29486e548eL,0xdaa411327868ab32L,0x46891511d61d1a3aL,
  24548. 0xc87f3f533efc8facL },
  24549. { 0x984f613ff3e31393L,0x10bb15f67648f5d2L,0xe4990f2bdefaa440L,
  24550. 0xce647f03dd51c31dL } },
  24551. /* 37 */
  24552. { { 0x3161ebdd9c2c0abfL,0x48b7ee7bf497cf35L,0x9233e31d94dd9c97L,
  24553. 0x4aef9a62c5d2988fL },
  24554. { 0x89a54161a03e6456L,0x9d25e003c1f02b47L,0x8784cdbfc1857782L,
  24555. 0x7928cafd0222b49cL } },
  24556. /* 38 */
  24557. { { 0x5a591abdecf4ea23L,0xb2725e8a80bd9b8aL,0xf569679f29ff348bL,
  24558. 0xa28163d36f22536aL },
  24559. { 0x89e7a8f621c43971L,0x60cbe4a1c4a09567L,0x41046c8f5928b03dL,
  24560. 0x646feda7ef74a95aL } },
  24561. /* 39 */
  24562. { { 0x3aef6bc05d75d310L,0xf3e7f03c82476e5cL,0x9dcf3d508419b8a0L,
  24563. 0x221a3885eaf07f07L },
  24564. { 0x16d533f337bdcb7dL,0xd778066bbb49550dL,0xf6f4540936c2600cL,
  24565. 0x7544396fc1c61709L } },
  24566. /* 40 */
  24567. { { 0xf79f556fde08cd42L,0x7d0aba1ee13cadc8L,0x841d9df6d4d81fefL,
  24568. 0x8f7ae1f2602d2043L },
  24569. { 0x950c4de4b57ee181L,0xfe51e045c55cf490L,0xdb60b56a1efdd0a8L,
  24570. 0x276bccb3bf0fa497L } },
  24571. /* 41 */
  24572. { { 0x7926625b19e5a603L,0xf1b98e93e1bf712bL,0x933ecb52e33abeccL,
  24573. 0x9ebfc506f826619bL },
  24574. { 0xd2965f67a1692c52L,0x8ac4012dfc4f9564L,0xa8af57036739f003L,
  24575. 0x7dd2282dbc715e13L } },
  24576. /* 42 */
  24577. { { 0x3ec01587cf2bb490L,0x5346082c3f1ea428L,0xf2c679e26739e506L,
  24578. 0xeab710d6930c28e4L },
  24579. { 0xe9947ff8e043249aL,0x63640678ad54b0e6L,0x8cde42591854eaafL,
  24580. 0xf1feeaec6b25bdceL } },
  24581. /* 43 */
  24582. { { 0x49f7e8991bdd2aa2L,0x88fd273534e3cae9L,0x5ac0510182cbfea2L,
  24583. 0x324c9d414cf84578L },
  24584. { 0xa242311719f13061L,0x69d67cf15f3b9932L,0x32ecdb3cdde2dfadL,
  24585. 0x2f74d995b916f7a6L } },
  24586. /* 44 */
  24587. { { 0x35f7ed423d14bc68L,0x32f63a0445574f91L,0xd04108335e8801e7L,
  24588. 0x63b6f13c1c9c1462L },
  24589. { 0x180dcbcd9dc7201fL,0xa07b5b2c360350dfL,0x2582b2774236f5ccL,
  24590. 0x90163924a7ab06b9L } },
  24591. /* 45 */
  24592. { { 0x35e751b50767cdf2L,0x808372e69d8e2838L,0xcbad6b30646914d7L,
  24593. 0x4eeeb1de6c7b3cabL },
  24594. { 0x3ef3af968c965004L,0xd162290fd281920bL,0x4626c313181f811bL,
  24595. 0x5fa42f4fbe61dd14L } },
  24596. /* 46 */
  24597. { { 0x1f5a9c53a185e98eL,0x13c28277ea9e83c3L,0xb566e4c0b693a226L,
  24598. 0x2ea3f1c001533e9eL },
  24599. { 0xb4dbcc336215a21fL,0x7df608c3cb4e98f0L,0x677df928b4dd95ddL,
  24600. 0x4c1d7142eeed2934L } },
  24601. /* 47 */
  24602. { { 0x30bf236c86a2ee12L,0x74d5a12705ecb4c0L,0x9ef43b0f1601cca9L,
  24603. 0xbe1b1bf9ac4dd202L },
  24604. { 0x84943e4717b6f93bL,0x6f789757cd5214b3L,0x5e0db1a97f313dfaL,
  24605. 0x0515efacece0b72bL } },
  24606. /* 48 */
  24607. { { 0x433a677ca78c3f8bL,0x204a9feaf376a9c1L,0xb6bfbea444baeadfL,
  24608. 0x5a43cafd2b48a3f4L },
  24609. { 0xe25a7d0b67d1d226L,0xb2115844f6837985L,0x8c9cca3ed87c2b88L,
  24610. 0xecd4bc73894772e1L } },
  24611. /* 49 */
  24612. { { 0x368abec6783490e7L,0xf26da8bdd925c359L,0xf9b643e5e8fb0679L,
  24613. 0x7ab803d9b555d175L },
  24614. { 0x1b4059994ebae595L,0x07fbbf25ba417a49L,0x02d7cf1cc617957aL,
  24615. 0x79070ea5565c1fbbL } },
  24616. /* 50 */
  24617. { { 0x70194602d9b028faL,0x9c49969d9ff06760L,0xbf4add816ad27b42L,
  24618. 0x7d1f226d8651524eL },
  24619. { 0xb0779b40eecd7724L,0xd356077265938707L,0xe3a61fe5d054b903L,
  24620. 0xd6f5a3433365136bL } },
  24621. /* 51 */
  24622. { { 0x25c87c76d2970fcfL,0x7c9f60a04d5546a8L,0x7dab072f8dd8bf8cL,
  24623. 0x3d10907ce8ff9f28L },
  24624. { 0xb08d6d0e34bb2a29L,0x5dfd4907c3fcfdafL,0xe4a2d4b147123ba6L,
  24625. 0x6e9eef0b42de6d8dL } },
  24626. /* 52 */
  24627. { { 0x81255af5cbb55f9dL,0x579f27055328d39eL,0xa7bfc9173e5ae663L,
  24628. 0xe9b55d57a1246e42L },
  24629. { 0x240ecd9475629188L,0x8748d297457bd3c0L,0x50e215ef373c361cL,
  24630. 0xaf9d8a8618c967b9L } },
  24631. /* 53 */
  24632. { { 0x79a041040a04143fL,0x03f7410fc700c616L,0xe8f2a3f291108ca6L,
  24633. 0xa26d67e8f5ac679aL },
  24634. { 0xa15dbfebb83fbd9aL,0xf1aaebd23a0b5587L,0x639a97ddce0ead44L,
  24635. 0xf253b00c71d12ee0L } },
  24636. /* 54 */
  24637. { { 0x7baecf4c9e35e57cL,0x522e26a16786e3a5L,0x600b538b8af829a2L,
  24638. 0x19fa80b72c6de44aL },
  24639. { 0xb52364f0aaf0ff52L,0x2e4bc21a6714587fL,0x401377a3c245967dL,
  24640. 0x65178766a23cf3ebL } },
  24641. /* 55 */
  24642. { { 0xc1c81838923ac000L,0x42021f02c4abc0eeL,0xcde3bc9a47132a20L,
  24643. 0x6f52a864c69f55fbL },
  24644. { 0x0bdfd3e4df89ff6aL,0x244c943bc88bd74eL,0x649e0b532612998bL,
  24645. 0xce61ebc3d3413d4aL } },
  24646. /* 56 */
  24647. { { 0xe31629042cba5a90L,0xa72710aedb6c224eL,0x51831390d87e44dbL,
  24648. 0xa687dc9848fe2ef3L },
  24649. { 0x857e985516a21ca9L,0xe3428d8ec9a7bc12L,0x16d3bcd012b044a2L,
  24650. 0xe6fa0c69e85f6704L } },
  24651. /* 57 */
  24652. { { 0xe4cca34b8fd42692L,0xc86d49a6e15f3acfL,0xbfe1f263a6b18392L,
  24653. 0x0664c933dcd266f6L },
  24654. { 0x86738cf519399d88L,0x1cbcc8c3749ce6bcL,0x28171f7bc773b884L,
  24655. 0x306fc95701acf19eL } },
  24656. /* 58 */
  24657. { { 0x0da7a737afb6a419L,0x637fc26a195fbc40L,0x0fc8f8769c64e8e7L,
  24658. 0x2a68579b208c0626L },
  24659. { 0x82e823108628abc3L,0xe4e09313ab23ae94L,0x66bf9adbe5155cf1L,
  24660. 0x17909f6ce8a2dd0cL } },
  24661. /* 59 */
  24662. { { 0x767c359643d7ad31L,0x7ba3a1aa49ccef62L,0x5261c3160242bf5aL,
  24663. 0x85f452199eb82dfbL },
  24664. { 0x554cb38237b42e47L,0xc9771ec14cf66133L,0xde70617a153905a3L,
  24665. 0x2cab26fcbc61316dL } },
  24666. /* 60 */
  24667. { { 0x7dababbd75c10315L,0x9a8fbe88a48df64eL,0x2b076fe5e1b8f912L,
  24668. 0x1a530ce9ccbd50dcL },
  24669. { 0x47361ab76647d225L,0xf84e73be4d636a15L,0xd58fcaaf5904a2faL,
  24670. 0x73747d4b38523a19L } },
  24671. /* 61 */
  24672. { { 0x6e6b0fb8b6864cc0L,0x5d8a0027ab3b623cL,0x5e6665389a1cfc9cL,
  24673. 0x816b19de521e4ff3L },
  24674. { 0x56709ad00bc447f8L,0x1d46cb1c8f1464d7L,0x49cef820a949873dL,
  24675. 0x02804692d9d3e65fL } },
  24676. /* 62 */
  24677. { { 0x1ae0ea28ad8b5976L,0x4e9ad48e869458fbL,0xe9437ec996cfedf8L,
  24678. 0xa4f924a22afa74d9L },
  24679. { 0xcb5b1845aaf797c0L,0xe5d6dd0eba6f557fL,0xa1496fe691dc2e7cL,
  24680. 0xad31edac8c179fc7L } },
  24681. /* 63 */
  24682. { { 0xf9c5e9de44b06ed7L,0x6ce7c4f74a597159L,0xd02ec441833accb5L,
  24683. 0xf30205996296e8fcL },
  24684. { 0x7df6c5c6c2afbe06L,0xff429dda9c849b09L,0x42170166f5dd78d6L,
  24685. 0x2403ea21830c388bL } },
  24686. };
  24687. /* Multiply the base point of P256 by the scalar and return the result.
  24688. * If map is true then convert result to affine coordinates.
  24689. *
  24690. * Stripe implementation.
  24691. * Pre-generated: 2^0, 2^42, ...
  24692. * Pre-generated: products of all combinations of above.
  24693. * 6 doubles and adds (with qz=1)
  24694. *
  24695. * r Resulting point.
  24696. * k Scalar to multiply by.
  24697. * map Indicates whether to convert result to affine.
  24698. * ct Constant time required.
  24699. * heap Heap to use for allocation.
  24700. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  24701. */
  24702. static int sp_256_ecc_mulmod_base_4(sp_point_256* r, const sp_digit* k,
  24703. int map, int ct, void* heap)
  24704. {
  24705. return sp_256_ecc_mulmod_stripe_4(r, &p256_base, p256_table,
  24706. k, map, ct, heap);
  24707. }
  24708. #else
  24709. /* Striping precomputation table.
  24710. * 8 points combined into a table of 256 points.
  24711. * Distance of 32 between points.
  24712. */
  24713. static const sp_table_entry_256 p256_table[256] = {
  24714. /* 0 */
  24715. { { 0x00, 0x00, 0x00, 0x00 },
  24716. { 0x00, 0x00, 0x00, 0x00 } },
  24717. /* 1 */
  24718. { { 0x79e730d418a9143cL,0x75ba95fc5fedb601L,0x79fb732b77622510L,
  24719. 0x18905f76a53755c6L },
  24720. { 0xddf25357ce95560aL,0x8b4ab8e4ba19e45cL,0xd2e88688dd21f325L,
  24721. 0x8571ff1825885d85L } },
  24722. /* 2 */
  24723. { { 0x202886024147519aL,0xd0981eac26b372f0L,0xa9d4a7caa785ebc8L,
  24724. 0xd953c50ddbdf58e9L },
  24725. { 0x9d6361ccfd590f8fL,0x72e9626b44e6c917L,0x7fd9611022eb64cfL,
  24726. 0x863ebb7e9eb288f3L } },
  24727. /* 3 */
  24728. { { 0x7856b6235cdb6485L,0x808f0ea22f0a2f97L,0x3e68d9544f7e300bL,
  24729. 0x00076055b5ff80a0L },
  24730. { 0x7634eb9b838d2010L,0x54014fbb3243708aL,0xe0e47d39842a6606L,
  24731. 0x8308776134373ee0L } },
  24732. /* 4 */
  24733. { { 0x4f922fc516a0d2bbL,0x0d5cc16c1a623499L,0x9241cf3a57c62c8bL,
  24734. 0x2f5e6961fd1b667fL },
  24735. { 0x5c15c70bf5a01797L,0x3d20b44d60956192L,0x04911b37071fdb52L,
  24736. 0xf648f9168d6f0f7bL } },
  24737. /* 5 */
  24738. { { 0x9e566847e137bbbcL,0xe434469e8a6a0becL,0xb1c4276179d73463L,
  24739. 0x5abe0285133d0015L },
  24740. { 0x92aa837cc04c7dabL,0x573d9f4c43260c07L,0x0c93156278e6cc37L,
  24741. 0x94bb725b6b6f7383L } },
  24742. /* 6 */
  24743. { { 0xbbf9b48f720f141cL,0x6199b3cd2df5bc74L,0xdc3f6129411045c4L,
  24744. 0xcdd6bbcb2f7dc4efL },
  24745. { 0xcca6700beaf436fdL,0x6f647f6db99326beL,0x0c0fa792014f2522L,
  24746. 0xa361bebd4bdae5f6L } },
  24747. /* 7 */
  24748. { { 0x28aa2558597c13c7L,0xc38d635f50b7c3e1L,0x07039aecf3c09d1dL,
  24749. 0xba12ca09c4b5292cL },
  24750. { 0x9e408fa459f91dfdL,0x3af43b66ceea07fbL,0x1eceb0899d780b29L,
  24751. 0x53ebb99d701fef4bL } },
  24752. /* 8 */
  24753. { { 0x4fe7ee31b0e63d34L,0xf4600572a9e54fabL,0xc0493334d5e7b5a4L,
  24754. 0x8589fb9206d54831L },
  24755. { 0xaa70f5cc6583553aL,0x0879094ae25649e5L,0xcc90450710044652L,
  24756. 0xebb0696d02541c4fL } },
  24757. /* 9 */
  24758. { { 0x4616ca15ac1647c5L,0xb8127d47c4cf5799L,0xdc666aa3764dfbacL,
  24759. 0xeb2820cbd1b27da3L },
  24760. { 0x9406f8d86a87e008L,0xd87dfa9d922378f3L,0x56ed2e4280ccecb2L,
  24761. 0x1f28289b55a7da1dL } },
  24762. /* 10 */
  24763. { { 0xabbaa0c03b89da99L,0xa6f2d79eb8284022L,0x27847862b81c05e8L,
  24764. 0x337a4b5905e54d63L },
  24765. { 0x3c67500d21f7794aL,0x207005b77d6d7f61L,0x0a5a378104cfd6e8L,
  24766. 0x0d65e0d5f4c2fbd6L } },
  24767. /* 11 */
  24768. { { 0xd9d09bbeb5275d38L,0x4268a7450be0a358L,0xf0762ff4973eb265L,
  24769. 0xc23da24252f4a232L },
  24770. { 0x5da1b84f0b94520cL,0x09666763b05bd78eL,0x3a4dcb8694d29ea1L,
  24771. 0x19de3b8cc790cff1L } },
  24772. /* 12 */
  24773. { { 0x183a716c26c5fe04L,0x3b28de0b3bba1bdbL,0x7432c586a4cb712cL,
  24774. 0xe34dcbd491fccbfdL },
  24775. { 0xb408d46baaa58403L,0x9a69748682e97a53L,0x9e39012736aaa8afL,
  24776. 0xe7641f447b4e0f7fL } },
  24777. /* 13 */
  24778. { { 0x7d753941df64ba59L,0xd33f10ec0b0242fcL,0x4f06dfc6a1581859L,
  24779. 0x4a12df57052a57bfL },
  24780. { 0xbfa6338f9439dbd0L,0xd3c24bd4bde53e1fL,0xfd5e4ffa21f1b314L,
  24781. 0x6af5aa93bb5bea46L } },
  24782. /* 14 */
  24783. { { 0xda10b69910c91999L,0x0a24b4402a580491L,0x3e0094b4b8cc2090L,
  24784. 0x5fe3475a66a44013L },
  24785. { 0xb0f8cabdf93e7b4bL,0x292b501a7c23f91aL,0x42e889aecd1e6263L,
  24786. 0xb544e308ecfea916L } },
  24787. /* 15 */
  24788. { { 0x6478c6e916ddfdceL,0x2c329166f89179e6L,0x4e8d6e764d4e67e1L,
  24789. 0xe0b6b2bda6b0c20bL },
  24790. { 0x0d312df2bb7efb57L,0x1aac0dde790c4007L,0xf90336ad679bc944L,
  24791. 0x71c023de25a63774L } },
  24792. /* 16 */
  24793. { { 0x62a8c244bfe20925L,0x91c19ac38fdce867L,0x5a96a5d5dd387063L,
  24794. 0x61d587d421d324f6L },
  24795. { 0xe87673a2a37173eaL,0x2384800853778b65L,0x10f8441e05bab43eL,
  24796. 0xfa11fe124621efbeL } },
  24797. /* 17 */
  24798. { { 0x1c891f2b2cb19ffdL,0x01ba8d5bb1923c23L,0xb6d03d678ac5ca8eL,
  24799. 0x586eb04c1f13bedcL },
  24800. { 0x0c35c6e527e8ed09L,0x1e81a33c1819ede2L,0x278fd6c056c652faL,
  24801. 0x19d5ac0870864f11L } },
  24802. /* 18 */
  24803. { { 0x1e99f581309a4e1fL,0xab7de71be9270074L,0x26a5ef0befd28d20L,
  24804. 0xe7c0073f7f9c563fL },
  24805. { 0x1f6d663a0ef59f76L,0x669b3b5420fcb050L,0xc08c1f7a7a6602d4L,
  24806. 0xe08504fec65b3c0aL } },
  24807. /* 19 */
  24808. { { 0xf098f68da031b3caL,0x6d1cab9ee6da6d66L,0x5bfd81fa94f246e8L,
  24809. 0x78f018825b0996b4L },
  24810. { 0xb7eefde43a25787fL,0x8016f80d1dccac9bL,0x0cea4877b35bfc36L,
  24811. 0x43a773b87e94747aL } },
  24812. /* 20 */
  24813. { { 0x62577734d2b533d5L,0x673b8af6a1bdddc0L,0x577e7c9aa79ec293L,
  24814. 0xbb6de651c3b266b1L },
  24815. { 0xe7e9303ab65259b3L,0xd6a0afd3d03a7480L,0xc5ac83d19b3cfc27L,
  24816. 0x60b4619a5d18b99bL } },
  24817. /* 21 */
  24818. { { 0xbd6a38e11ae5aa1cL,0xb8b7652b49e73658L,0x0b130014ee5f87edL,
  24819. 0x9d0f27b2aeebffcdL },
  24820. { 0xca9246317a730a55L,0x9c955b2fddbbc83aL,0x07c1dfe0ac019a71L,
  24821. 0x244a566d356ec48dL } },
  24822. /* 22 */
  24823. { { 0x6db0394aeacf1f96L,0x9f2122a9024c271cL,0x2626ac1b82cbd3b9L,
  24824. 0x45e58c873581ef69L },
  24825. { 0xd3ff479da38f9dbcL,0xa8aaf146e888a040L,0x945adfb246e0bed7L,
  24826. 0xc040e21cc1e4b7a4L } },
  24827. /* 23 */
  24828. { { 0x847af0006f8117b6L,0x651969ff73a35433L,0x482b35761d9475ebL,
  24829. 0x1cdf5c97682c6ec7L },
  24830. { 0x7db775b411f04839L,0x7dbeacf448de1698L,0xb2921dd1b70b3219L,
  24831. 0x046755f8a92dff3dL } },
  24832. /* 24 */
  24833. { { 0xcc8ac5d2bce8ffcdL,0x0d53c48b2fe61a82L,0xf6f161727202d6c7L,
  24834. 0x046e5e113b83a5f3L },
  24835. { 0xe7b8ff64d8007f01L,0x7fb1ef125af43183L,0x045c5ea635e1a03cL,
  24836. 0x6e0106c3303d005bL } },
  24837. /* 25 */
  24838. { { 0x48c7358488dd73b1L,0x7670708f995ed0d9L,0x38385ea8c56a2ab7L,
  24839. 0x442594ede901cf1fL },
  24840. { 0xf8faa2c912d4b65bL,0x94c2343b96c90c37L,0xd326e4a15e978d1fL,
  24841. 0xa796fa514c2ee68eL } },
  24842. /* 26 */
  24843. { { 0x359fb604823addd7L,0x9e2a6183e56693b3L,0xf885b78e3cbf3c80L,
  24844. 0xe4ad2da9c69766e9L },
  24845. { 0x357f7f428e048a61L,0x082d198cc092d9a0L,0xfc3a1af4c03ed8efL,
  24846. 0xc5e94046c37b5143L } },
  24847. /* 27 */
  24848. { { 0x476a538c2be75f9eL,0x6fd1a9e8cb123a78L,0xd85e4df0b109c04bL,
  24849. 0x63283dafdb464747L },
  24850. { 0xce728cf7baf2df15L,0xe592c4550ad9a7f4L,0xfab226ade834bcc3L,
  24851. 0x68bd19ab1981a938L } },
  24852. /* 28 */
  24853. { { 0xc08ead511887d659L,0x3374d5f4b359305aL,0x96986981cfe74fe3L,
  24854. 0x495292f53c6fdfd6L },
  24855. { 0x4a878c9e1acec896L,0xd964b210ec5b4484L,0x6696f7e2664d60a7L,
  24856. 0x0ec7530d26036837L } },
  24857. /* 29 */
  24858. { { 0x2da13a05ad2687bbL,0xa1f83b6af32e21faL,0x390f5ef51dd4607bL,
  24859. 0x0f6207a664863f0bL },
  24860. { 0xbd67e3bb0f138233L,0xdd66b96c272aa718L,0x8ed0040726ec88aeL,
  24861. 0xff0db07208ed6dcfL } },
  24862. /* 30 */
  24863. { { 0x749fa1014c95d553L,0xa44052fd5d680a8aL,0x183b4317ff3b566fL,
  24864. 0x313b513c88740ea3L },
  24865. { 0xb402e2ac08d11549L,0x071ee10bb4dee21cL,0x26b987dd47f2320eL,
  24866. 0x2d3abcf986f19f81L } },
  24867. /* 31 */
  24868. { { 0x4c288501815581a2L,0x9a0a6d56632211afL,0x19ba7a0f0cab2e99L,
  24869. 0xc036fa10ded98cdfL },
  24870. { 0x29ae08bac1fbd009L,0x0b68b19006d15816L,0xc2eb32779b9e0d8fL,
  24871. 0xa6b2a2c4b6d40194L } },
  24872. /* 32 */
  24873. { { 0xd433e50f6d3549cfL,0x6f33696ffacd665eL,0x695bfdacce11fcb4L,
  24874. 0x810ee252af7c9860L },
  24875. { 0x65450fe17159bb2cL,0xf7dfbebe758b357bL,0x2b057e74d69fea72L,
  24876. 0xd485717a92731745L } },
  24877. /* 33 */
  24878. { { 0x11741a8af0cb5a98L,0xd3da8f931f3110bfL,0x1994e2cbab382adfL,
  24879. 0x6a6045a72f9a604eL },
  24880. { 0x170c0d3fa2b2411dL,0xbe0eb83e510e96e0L,0x3bcc9f738865b3ccL,
  24881. 0xd3e45cfaf9e15790L } },
  24882. /* 34 */
  24883. { { 0xce1f69bbe83f7669L,0x09f8ae8272877d6bL,0x9548ae543244278dL,
  24884. 0x207755dee3c2c19cL },
  24885. { 0x87bd61d96fef1945L,0x18813cefb12d28c3L,0x9fbcd1d672df64aaL,
  24886. 0x48dc5ee57154b00dL } },
  24887. /* 35 */
  24888. { { 0x123790bff7e5a199L,0xe0efb8cf989ccbb7L,0xc27a2bfe0a519c79L,
  24889. 0xf2fb0aeddff6f445L },
  24890. { 0x41c09575f0b5025fL,0x550543d740fa9f22L,0x8fa3c8ad380bfbd0L,
  24891. 0xa13e9015db28d525L } },
  24892. /* 36 */
  24893. { { 0xf9f7a350a2b65cbcL,0x0b04b9722a464226L,0x265ce241e23f07a1L,
  24894. 0x2bf0d6b01497526fL },
  24895. { 0xd3d4dd3f4b216fb7L,0xf7d7b867fbdda26aL,0xaeb7b83f6708505cL,
  24896. 0x42a94a5a162fe89fL } },
  24897. /* 37 */
  24898. { { 0x5846ad0beaadf191L,0x0f8a489025a268d7L,0xe8603050494dc1f6L,
  24899. 0x2c2dd969c65ede3dL },
  24900. { 0x6d02171d93849c17L,0x460488ba1da250ddL,0x4810c7063c3a5485L,
  24901. 0xf437fa1f42c56dbcL } },
  24902. /* 38 */
  24903. { { 0x6aa0d7144a0f7dabL,0x0f0497931776e9acL,0x52c0a050f5f39786L,
  24904. 0xaaf45b3354707aa8L },
  24905. { 0x85e37c33c18d364aL,0xd40b9b063e497165L,0xf417168115ec5444L,
  24906. 0xcdf6310df4f272bcL } },
  24907. /* 39 */
  24908. { { 0x7473c6238ea8b7efL,0x08e9351885bc2287L,0x419567722bda8e34L,
  24909. 0xf0d008bada9e2ff2L },
  24910. { 0x2912671d2414d3b1L,0xb3754985b019ea76L,0x5c61b96d453bcbdbL,
  24911. 0x5bd5c2f5ca887b8bL } },
  24912. /* 40 */
  24913. { { 0xef0f469ef49a3154L,0x3e85a5956e2b2e9aL,0x45aaec1eaa924a9cL,
  24914. 0xaa12dfc8a09e4719L },
  24915. { 0x26f272274df69f1dL,0xe0e4c82ca2ff5e73L,0xb9d8ce73b7a9dd44L,
  24916. 0x6c036e73e48ca901L } },
  24917. /* 41 */
  24918. { { 0x5cfae12a0f6e3138L,0x6966ef0025ad345aL,0x8993c64b45672bc5L,
  24919. 0x292ff65896afbe24L },
  24920. { 0xd5250d445e213402L,0xf6580e274392c9feL,0x097b397fda1c72e8L,
  24921. 0x644e0c90311b7276L } },
  24922. /* 42 */
  24923. { { 0xe1e421e1a47153f0L,0xb86c3b79920418c9L,0x93bdce87705d7672L,
  24924. 0xf25ae793cab79a77L },
  24925. { 0x1f3194a36d869d0cL,0x9d55c8824986c264L,0x49fb5ea3096e945eL,
  24926. 0x39b8e65313db0a3eL } },
  24927. /* 43 */
  24928. { { 0x37754200b6fd2e59L,0x35e2c0669255c98fL,0xd9dab21a0e2a5739L,
  24929. 0x39122f2f0f19db06L },
  24930. { 0xcfbce1e003cad53cL,0x225b2c0fe65c17e3L,0x72baf1d29aa13877L,
  24931. 0x8de80af8ce80ff8dL } },
  24932. /* 44 */
  24933. { { 0xafbea8d9207bbb76L,0x921c7e7c21782758L,0xdfa2b74b1c0436b1L,
  24934. 0x871949062e368c04L },
  24935. { 0xb5f928bba3993df5L,0x639d75b5f3b3d26aL,0x011aa78a85b55050L,
  24936. 0xfc315e6a5b74fde1L } },
  24937. /* 45 */
  24938. { { 0x561fd41ae8d6ecfaL,0x5f8c44f61aec7f86L,0x98452a7b4924741dL,
  24939. 0xe6d4a7adee389088L },
  24940. { 0x60552ed14593c75dL,0x70a70da4dd271162L,0xd2aede937ba2c7dbL,
  24941. 0x35dfaf9a9be2ae57L } },
  24942. /* 46 */
  24943. { { 0x6b956fcdaa736636L,0x09f51d97ae2cab7eL,0xfb10bf410f349966L,
  24944. 0x1da5c7d71c830d2bL },
  24945. { 0x5c41e4833cce6825L,0x15ad118ff9573c3bL,0xa28552c7f23036b8L,
  24946. 0x7077c0fddbf4b9d6L } },
  24947. /* 47 */
  24948. { { 0xbf63ff8d46b9661cL,0xa1dfd36b0d2cfd71L,0x0373e140a847f8f7L,
  24949. 0x53a8632ee50efe44L },
  24950. { 0x0976ff68696d8051L,0xdaec0c95c74f468aL,0x62994dc35e4e26bdL,
  24951. 0x028ca76d34e1fcc1L } },
  24952. /* 48 */
  24953. { { 0xd11d47dcfc9877eeL,0xc8b36210801d0002L,0xd002c11754c260b6L,
  24954. 0x04c17cd86962f046L },
  24955. { 0x6d9bd094b0daddf5L,0xbea2357524ce55c0L,0x663356e672da03b5L,
  24956. 0xf7ba4de9fed97474L } },
  24957. /* 49 */
  24958. { { 0xd0dbfa34ebe1263fL,0x5576373571ae7ce6L,0xd244055382a6f523L,
  24959. 0xe31f960052131c41L },
  24960. { 0xd1bb9216ea6b6ec6L,0x37a1d12e73c2fc44L,0xc10e7eac89d0a294L,
  24961. 0xaa3a6259ce34d47bL } },
  24962. /* 50 */
  24963. { { 0xfbcf9df536f3dcd3L,0x6ceded50d2bf7360L,0x491710fadf504f5bL,
  24964. 0x2398dd627e79daeeL },
  24965. { 0xcf4705a36d09569eL,0xea0619bb5149f769L,0xff9c037735f6034cL,
  24966. 0x5717f5b21c046210L } },
  24967. /* 51 */
  24968. { { 0x9fe229c921dd895eL,0x8e51850040c28451L,0xfa13d2391d637ecdL,
  24969. 0x660a2c560e3c28deL },
  24970. { 0x9cca88aed67fcbd0L,0xc84724780ea9f096L,0x32b2f48172e92b4dL,
  24971. 0x624ee54c4f522453L } },
  24972. /* 52 */
  24973. { { 0x09549ce4d897ecccL,0x4d49d1d93f9880aaL,0x723c2423043a7c20L,
  24974. 0x4f392afb92bdfbc0L },
  24975. { 0x6969f8fa7de44fd9L,0xb66cfbe457b32156L,0xdb2fa803368ebc3cL,
  24976. 0x8a3e7977ccdb399cL } },
  24977. /* 53 */
  24978. { { 0xdde1881f06c4b125L,0xae34e300f6e3ca8cL,0xef6999de5c7a13e9L,
  24979. 0x3888d02370c24404L },
  24980. { 0x7628035644f91081L,0x3d9fcf615f015504L,0x1827edc8632cd36eL,
  24981. 0xa5e62e4718102336L } },
  24982. /* 54 */
  24983. { { 0x1a825ee32facd6c8L,0x699c635454bcbc66L,0x0ce3edf798df9931L,
  24984. 0x2c4768e6466a5adcL },
  24985. { 0xb346ff8c90a64bc9L,0x630a6020e4779f5cL,0xd949d064bc05e884L,
  24986. 0x7b5e6441f9e652a0L } },
  24987. /* 55 */
  24988. { { 0x2169422c1d28444aL,0xe996c5d8be136a39L,0x2387afe5fb0c7fceL,
  24989. 0xb8af73cb0c8d744aL },
  24990. { 0x5fde83aa338b86fdL,0xfee3f158a58a5cffL,0xc9ee8f6f20ac9433L,
  24991. 0xa036395f7f3f0895L } },
  24992. /* 56 */
  24993. { { 0x8c73c6bba10f7770L,0xa6f16d81a12a0e24L,0x100df68251bc2b9fL,
  24994. 0x4be36b01875fb533L },
  24995. { 0x9226086e9fb56dbbL,0x306fef8b07e7a4f8L,0xeeaccc0566d52f20L,
  24996. 0x8cbc9a871bdc00c0L } },
  24997. /* 57 */
  24998. { { 0xe131895cc0dac4abL,0xa874a440712ff112L,0x6332ae7c6a1cee57L,
  24999. 0x44e7553e0c0835f8L },
  25000. { 0x6d503fff7734002dL,0x9d35cb8b0b34425cL,0x95f702760e8738b5L,
  25001. 0x470a683a5eb8fc18L } },
  25002. /* 58 */
  25003. { { 0x81b761dc90513482L,0x0287202a01e9276aL,0xcda441ee0ce73083L,
  25004. 0x16410690c63dc6efL },
  25005. { 0xf5034a066d06a2edL,0xdd4d7745189b100bL,0xd914ae72ab8218c9L,
  25006. 0xd73479fd7abcbb4fL } },
  25007. /* 59 */
  25008. { { 0x7edefb165ad4c6e5L,0x262cf08f5b06d04dL,0x12ed5bb18575cb14L,
  25009. 0x816469e30771666bL },
  25010. { 0xd7ab9d79561e291eL,0xeb9daf22c1de1661L,0xf49827eb135e0513L,
  25011. 0x0a36dd23f0dd3f9cL } },
  25012. /* 60 */
  25013. { { 0x098d32c741d5533cL,0x7c5f5a9e8684628fL,0x39a228ade349bd11L,
  25014. 0xe331dfd6fdbab118L },
  25015. { 0x5100ab686bcc6ed8L,0x7160c3bdef7a260eL,0x9063d9a7bce850d7L,
  25016. 0xd3b4782a492e3389L } },
  25017. /* 61 */
  25018. { { 0xa149b6e8f3821f90L,0x92edd9ed66eb7aadL,0x0bb669531a013116L,
  25019. 0x7281275a4c86a5bdL },
  25020. { 0x503858f7d3ff47e5L,0x5e1616bc61016441L,0x62b0f11a7dfd9bb1L,
  25021. 0x2c062e7ece145059L } },
  25022. /* 62 */
  25023. { { 0xa76f996f0159ac2eL,0x281e7736cbdb2713L,0x2ad6d28808e46047L,
  25024. 0x282a35f92c4e7ef1L },
  25025. { 0x9c354b1ec0ce5cd2L,0xcf99efc91379c229L,0x992caf383e82c11eL,
  25026. 0xc71cd513554d2abdL } },
  25027. /* 63 */
  25028. { { 0x4885de9c09b578f4L,0x1884e258e3affa7aL,0x8f76b1b759182f1fL,
  25029. 0xc50f6740cf47f3a3L },
  25030. { 0xa9c4adf3374b68eaL,0xa406f32369965fe2L,0x2f86a22285a53050L,
  25031. 0xb9ecb3a7212958dcL } },
  25032. /* 64 */
  25033. { { 0x56f8410ef4f8b16aL,0x97241afec47b266aL,0x0a406b8e6d9c87c1L,
  25034. 0x803f3e02cd42ab1bL },
  25035. { 0x7f0309a804dbec69L,0xa83b85f73bbad05fL,0xc6097273ad8e197fL,
  25036. 0xc097440e5067adc1L } },
  25037. /* 65 */
  25038. { { 0x846a56f2c379ab34L,0xa8ee068b841df8d1L,0x20314459176c68efL,
  25039. 0xf1af32d5915f1f30L },
  25040. { 0x99c375315d75bd50L,0x837cffbaf72f67bcL,0x0613a41848d7723fL,
  25041. 0x23d0f130e2d41c8bL } },
  25042. /* 66 */
  25043. { { 0x857ab6edf41500d9L,0x0d890ae5fcbeada8L,0x52fe864889725951L,
  25044. 0xb0288dd6c0a3faddL },
  25045. { 0x85320f30650bcb08L,0x71af6313695d6e16L,0x31f520a7b989aa76L,
  25046. 0xffd3724ff408c8d2L } },
  25047. /* 67 */
  25048. { { 0x53968e64b458e6cbL,0x992dad20317a5d28L,0x3814ae0b7aa75f56L,
  25049. 0xf5590f4ad78c26dfL },
  25050. { 0x0fc24bd3cf0ba55aL,0x0fc4724a0c778baeL,0x1ce9864f683b674aL,
  25051. 0x18d6da54f6f74a20L } },
  25052. /* 68 */
  25053. { { 0xed93e225d5be5a2bL,0x6fe799835934f3c6L,0x4314092622626ffcL,
  25054. 0x50bbb4d97990216aL },
  25055. { 0x378191c6e57ec63eL,0x65422c40181dcdb2L,0x41a8099b0236e0f6L,
  25056. 0x2b10011801fe49c3L } },
  25057. /* 69 */
  25058. { { 0xfc68b5c59b391593L,0xc385f5a2598270fcL,0x7144f3aad19adcbbL,
  25059. 0xdd55899983fbae0cL },
  25060. { 0x93b88b8e74b82ff4L,0xd2e03c4071e734c9L,0x9a7a9eaf43c0322aL,
  25061. 0xe6e4c551149d6041L } },
  25062. /* 70 */
  25063. { { 0x55f655bb1e9af288L,0x647e1a64f7ada931L,0x43697e4bcb2820e5L,
  25064. 0x51e00db107ed56ffL },
  25065. { 0x43d169b8771c327eL,0x29cdb20b4a96c2adL,0xc07d51f53deb4779L,
  25066. 0xe22f424149829177L } },
  25067. /* 71 */
  25068. { { 0xcd45e8f4635f1abbL,0x7edc0cb568538874L,0xc9472c1fb5a8034dL,
  25069. 0xf709373d52dc48c9L },
  25070. { 0x401966bba8af30d6L,0x95bf5f4af137b69cL,0x3966162a9361c47eL,
  25071. 0xbd52d288e7275b11L } },
  25072. /* 72 */
  25073. { { 0xab155c7a9c5fa877L,0x17dad6727d3a3d48L,0x43f43f9e73d189d8L,
  25074. 0xa0d0f8e4c8aa77a6L },
  25075. { 0x0bbeafd8cc94f92dL,0xd818c8be0c4ddb3aL,0x22cc65f8b82eba14L,
  25076. 0xa56c78c7946d6a00L } },
  25077. /* 73 */
  25078. { { 0x2962391b0dd09529L,0x803e0ea63daddfcfL,0x2c77351f5b5bf481L,
  25079. 0xd8befdf8731a367aL },
  25080. { 0xab919d42fc0157f4L,0xf51caed7fec8e650L,0xcdf9cb4002d48b0aL,
  25081. 0x854a68a5ce9f6478L } },
  25082. /* 74 */
  25083. { { 0xdc35f67b63506ea5L,0x9286c489a4fe0d66L,0x3f101d3bfe95cd4dL,
  25084. 0x5cacea0b98846a95L },
  25085. { 0xa90df60c9ceac44dL,0x3db29af4354d1c3aL,0x08dd3de8ad5dbabeL,
  25086. 0xe4982d1235e4efa9L } },
  25087. /* 75 */
  25088. { { 0x23104a22c34cd55eL,0x58695bb32680d132L,0xfb345afa1fa1d943L,
  25089. 0x8046b7f616b20499L },
  25090. { 0xb533581e38e7d098L,0xd7f61e8df46f0b70L,0x30dea9ea44cb78c4L,
  25091. 0xeb17ca7b9082af55L } },
  25092. /* 76 */
  25093. { { 0x1751b59876a145b9L,0xa5cf6b0fc1bc71ecL,0xd3e03565392715bbL,
  25094. 0x097b00bafab5e131L },
  25095. { 0xaa66c8e9565f69e1L,0x77e8f75ab5be5199L,0x6033ba11da4fd984L,
  25096. 0xf95c747bafdbcc9eL } },
  25097. /* 77 */
  25098. { { 0x558f01d3bebae45eL,0xa8ebe9f0c4bc6955L,0xaeb705b1dbc64fc6L,
  25099. 0x3512601e566ed837L },
  25100. { 0x9336f1e1fa1161cdL,0x328ab8d54c65ef87L,0x4757eee2724f21e5L,
  25101. 0x0ef971236068ab6bL } },
  25102. /* 78 */
  25103. { { 0x02598cf754ca4226L,0x5eede138f8642c8eL,0x48963f74468e1790L,
  25104. 0xfc16d9333b4fbc95L },
  25105. { 0xbe96fb31e7c800caL,0x138063312678adaaL,0x3d6244976ff3e8b5L,
  25106. 0x14ca4af1b95d7a17L } },
  25107. /* 79 */
  25108. { { 0x7a4771babd2f81d5L,0x1a5f9d6901f7d196L,0xd898bef7cad9c907L,
  25109. 0x4057b063f59c231dL },
  25110. { 0xbffd82fe89c05c0aL,0xe4911c6f1dc0df85L,0x3befccaea35a16dbL,
  25111. 0x1c3b5d64f1330b13L } },
  25112. /* 80 */
  25113. { { 0x5fe14bfe80ec21feL,0xf6ce116ac255be82L,0x98bc5a072f4a5d67L,
  25114. 0xfad27148db7e63afL },
  25115. { 0x90c0b6ac29ab05b3L,0x37a9a83c4e251ae6L,0x0a7dc875c2aade7dL,
  25116. 0x77387de39f0e1a84L } },
  25117. /* 81 */
  25118. { { 0x1e9ecc49a56c0dd7L,0xa5cffcd846086c74L,0x8f7a1408f505aeceL,
  25119. 0xb37b85c0bef0c47eL },
  25120. { 0x3596b6e4cc0e6a8fL,0xfd6d4bbf6b388f23L,0xaba453fac39cef4eL,
  25121. 0x9c135ac8f9f628d5L } },
  25122. /* 82 */
  25123. { { 0x32aa320284e35743L,0x320d6ab185a3cdefL,0xb821b1761df19819L,
  25124. 0x5721361fc433851fL },
  25125. { 0x1f0db36a71fc9168L,0x5f98ba735e5c403cL,0xf64ca87e37bcd8f5L,
  25126. 0xdcbac3c9e6bb11bdL } },
  25127. /* 83 */
  25128. { { 0xf01d99684518cbe2L,0xd242fc189c9eb04eL,0x727663c7e47feebfL,
  25129. 0xb8c1c89e2d626862L },
  25130. { 0x51a58bddc8e1d569L,0x563809c8b7d88cd0L,0x26c27fd9f11f31ebL,
  25131. 0x5d23bbda2f9422d4L } },
  25132. /* 84 */
  25133. { { 0x0a1c729495c8f8beL,0x2961c4803bf362bfL,0x9e418403df63d4acL,
  25134. 0xc109f9cb91ece900L },
  25135. { 0xc2d095d058945705L,0xb9083d96ddeb85c0L,0x84692b8d7a40449bL,
  25136. 0x9bc3344f2eee1ee1L } },
  25137. /* 85 */
  25138. { { 0x0d5ae35642913074L,0x55491b2748a542b1L,0x469ca665b310732aL,
  25139. 0x29591d525f1a4cc1L },
  25140. { 0xe76f5b6bb84f983fL,0xbe7eef419f5f84e1L,0x1200d49680baa189L,
  25141. 0x6376551f18ef332cL } },
  25142. /* 86 */
  25143. { { 0xbda5f14e562976ccL,0x22bca3e60ef12c38L,0xbbfa30646cca9852L,
  25144. 0xbdb79dc808e2987aL },
  25145. { 0xfd2cb5c9cb06a772L,0x38f475aafe536dceL,0xc2a3e0227c2b5db8L,
  25146. 0x8ee86001add3c14aL } },
  25147. /* 87 */
  25148. { { 0xcbe96981a4ade873L,0x7ee9aa4dc4fba48cL,0x2cee28995a054ba5L,
  25149. 0x92e51d7a6f77aa4bL },
  25150. { 0x948bafa87190a34dL,0xd698f75bf6bd1ed1L,0xd00ee6e30caf1144L,
  25151. 0x5182f86f0a56aaaaL } },
  25152. /* 88 */
  25153. { { 0xfba6212c7a4cc99cL,0xff609b683e6d9ca1L,0x5dbb27cb5ac98c5aL,
  25154. 0x91dcab5d4073a6f2L },
  25155. { 0x01b6cc3d5f575a70L,0x0cb361396f8d87faL,0x165d4e8c89981736L,
  25156. 0x17a0cedb97974f2bL } },
  25157. /* 89 */
  25158. { { 0x38861e2a076c8d3aL,0x701aad39210f924bL,0x94d0eae413a835d9L,
  25159. 0x2e8ce36c7f4cdf41L },
  25160. { 0x91273dab037a862bL,0x01ba9bb760e4c8faL,0xf964538833baf2ddL,
  25161. 0xf4ccc6cb34f668f3L } },
  25162. /* 90 */
  25163. { { 0x44ef525cf1f79687L,0x7c59549592efa815L,0xe1231741a5c78d29L,
  25164. 0xac0db4889a0df3c9L },
  25165. { 0x86bfc711df01747fL,0x592b9358ef17df13L,0xe5880e4f5ccb6bb5L,
  25166. 0x95a64a6194c974a2L } },
  25167. /* 91 */
  25168. { { 0x72c1efdac15a4c93L,0x40269b7382585141L,0x6a8dfb1c16cb0badL,
  25169. 0x231e54ba29210677L },
  25170. { 0xa70df9178ae6d2dcL,0x4d6aa63f39112918L,0xf627726b5e5b7223L,
  25171. 0xab0be032d8a731e1L } },
  25172. /* 92 */
  25173. { { 0x097ad0e98d131f2dL,0x637f09e33b04f101L,0x1ac86196d5e9a748L,
  25174. 0xf1bcc8802cf6a679L },
  25175. { 0x25c69140e8daacb4L,0x3c4e405560f65009L,0x591cc8fc477937a6L,
  25176. 0x851694695aebb271L } },
  25177. /* 93 */
  25178. { { 0xde35c143f1dcf593L,0x78202b29b018be3bL,0xe9cdadc29bdd9d3dL,
  25179. 0x8f67d9d2daad55d8L },
  25180. { 0x841116567481ea5fL,0xe7d2dde9e34c590cL,0xffdd43f405053fa8L,
  25181. 0xf84572b9c0728b5dL } },
  25182. /* 94 */
  25183. { { 0x5e1a7a7197af71c9L,0xa14494447a736565L,0xa1b4ae070e1d5063L,
  25184. 0xedee2710616b2c19L },
  25185. { 0xb2f034f511734121L,0x1cac6e554a25e9f0L,0x8dc148f3a40c2ecfL,
  25186. 0x9fd27e9b44ebd7f4L } },
  25187. /* 95 */
  25188. { { 0x3cc7658af6e2cb16L,0xe3eb7d2cfe5919b6L,0x5a8c5816168d5583L,
  25189. 0xa40c2fb6958ff387L },
  25190. { 0x8c9ec560fedcc158L,0x7ad804c655f23056L,0xd93967049a307e12L,
  25191. 0x99bc9bb87dc6decfL } },
  25192. /* 96 */
  25193. { { 0x84a9521d927dafc6L,0x52c1fb695c09cd19L,0x9d9581a0f9366ddeL,
  25194. 0x9abe210ba16d7e64L },
  25195. { 0x480af84a48915220L,0xfa73176a4dd816c6L,0xc7d539871681ca5aL,
  25196. 0x7881c25787f344b0L } },
  25197. /* 97 */
  25198. { { 0x93399b51e0bcf3ffL,0x0d02cbc5127f74f6L,0x8fb465a2dd01d968L,
  25199. 0x15e6e319a30e8940L },
  25200. { 0x646d6e0d3e0e05f4L,0xfad7bddc43588404L,0xbe61c7d1c4f850d3L,
  25201. 0x0e55facf191172ceL } },
  25202. /* 98 */
  25203. { { 0x7e9d9806f8787564L,0x1a33172131e85ce6L,0x6b0158cab819e8d6L,
  25204. 0xd73d09766fe96577L },
  25205. { 0x424834251eb7206eL,0xa519290fc618bb42L,0x5dcbb8595e30a520L,
  25206. 0x9250a3748f15a50bL } },
  25207. /* 99 */
  25208. { { 0xcaff08f8be577410L,0xfd408a035077a8c6L,0xf1f63289ec0a63a4L,
  25209. 0x77414082c1cc8c0bL },
  25210. { 0x05a40fa6eb0991cdL,0xc1ca086649fdc296L,0x3a68a3c7b324fd40L,
  25211. 0x8cb04f4d12eb20b9L } },
  25212. /* 100 */
  25213. { { 0xb1c2d0556906171cL,0x9073e9cdb0240c3fL,0xdb8e6b4fd8906841L,
  25214. 0xe4e429ef47123b51L },
  25215. { 0x0b8dd53c38ec36f4L,0xf9d2dc01ff4b6a27L,0x5d066e07879a9a48L,
  25216. 0x37bca2ff3c6e6552L } },
  25217. /* 101 */
  25218. { { 0x4cd2e3c7df562470L,0x44f272a2c0964ac9L,0x7c6d5df980c793beL,
  25219. 0x59913edc3002b22aL },
  25220. { 0x7a139a835750592aL,0x99e01d80e783de02L,0xcf8c0375ea05d64fL,
  25221. 0x43786e4ab013e226L } },
  25222. /* 102 */
  25223. { { 0xff32b0ed9e56b5a6L,0x0750d9a6d9fc68f9L,0xec15e845597846a7L,
  25224. 0x8638ca98b7e79e7aL },
  25225. { 0x2f5ae0960afc24b2L,0x05398eaf4dace8f2L,0x3b765dd0aecba78fL,
  25226. 0x1ecdd36a7b3aa6f0L } },
  25227. /* 103 */
  25228. { { 0x5d3acd626c5ff2f3L,0xa2d516c02873a978L,0xad94c9fad2110d54L,
  25229. 0xd85d0f85d459f32dL },
  25230. { 0x9f700b8d10b11da3L,0xd2c22c30a78318c4L,0x556988f49208decdL,
  25231. 0xa04f19c3b4ed3c62L } },
  25232. /* 104 */
  25233. { { 0x087924c8ed7f93bdL,0xcb64ac5d392f51f6L,0x7cae330a821b71afL,
  25234. 0x92b2eeea5c0950b0L },
  25235. { 0x85ac4c9485b6e235L,0xab2ca4a92936c0f0L,0x80faa6b3e0508891L,
  25236. 0x1ee782215834276cL } },
  25237. /* 105 */
  25238. { { 0xa60a2e00e63e79f7L,0xf590e7b2f399d906L,0x9021054a6607c09dL,
  25239. 0xf3f2ced857a6e150L },
  25240. { 0x200510f3f10d9b55L,0x9d2fcfacd8642648L,0xe5631aa7e8bd0e7cL,
  25241. 0x0f56a4543da3e210L } },
  25242. /* 106 */
  25243. { { 0x5b21bffa1043e0dfL,0x6c74b6cc9c007e6dL,0x1a656ec0d4a8517aL,
  25244. 0xbd8f17411969e263L },
  25245. { 0x8a9bbb86beb7494aL,0x1567d46f45f3b838L,0xdf7a12a7a4e5a79aL,
  25246. 0x2d1a1c3530ccfa09L } },
  25247. /* 107 */
  25248. { { 0x192e3813506508daL,0x336180c4a1d795a7L,0xcddb59497a9944b3L,
  25249. 0xa107a65eb91fba46L },
  25250. { 0xe6d1d1c50f94d639L,0x8b4af3758a58b7d7L,0x1a7c5584bd37ca1cL,
  25251. 0x183d760af87a9af2L } },
  25252. /* 108 */
  25253. { { 0x29d697110dde59a4L,0xf1ad8d070e8bef87L,0x229b49634f2ebe78L,
  25254. 0x1d44179dc269d754L },
  25255. { 0xb32dc0cf8390d30eL,0x0a3b27530de8110cL,0x31af1dc52bc0339aL,
  25256. 0x771f9cc29606d262L } },
  25257. /* 109 */
  25258. { { 0x99993e7785040739L,0x44539db98026a939L,0xcf40f6f2f5f8fc26L,
  25259. 0x64427a310362718eL },
  25260. { 0x4f4f2d8785428aa8L,0x7b7adc3febfb49a8L,0x201b2c6df23d01acL,
  25261. 0x49d9b7496ae90d6dL } },
  25262. /* 110 */
  25263. { { 0xcc78d8bc435d1099L,0x2adbcd4e8e8d1a08L,0x02c2e2a02cb68a41L,
  25264. 0x9037d81b3f605445L },
  25265. { 0x7cdbac27074c7b61L,0xfe2031ab57bfd72eL,0x61ccec96596d5352L,
  25266. 0x08c3de6a7cc0639cL } },
  25267. /* 111 */
  25268. { { 0x20fdd020f6d552abL,0x56baff9805cd81f1L,0x06fb7c3e91351291L,
  25269. 0xc690944245796b2fL },
  25270. { 0x17b3ae9c41231bd1L,0x1eac6e875cc58205L,0x208837abf9d6a122L,
  25271. 0x3fa3db02cafe3ac0L } },
  25272. /* 112 */
  25273. { { 0xd75a3e6505058880L,0x7da365ef643943f2L,0x4147861cfab24925L,
  25274. 0xc5c4bdb0fdb808ffL },
  25275. { 0x73513e34b272b56bL,0xc8327e9511b9043aL,0xfd8ce37df8844969L,
  25276. 0x2d56db9446c2b6b5L } },
  25277. /* 113 */
  25278. { { 0x2461782fff46ac6bL,0xd19f792607a2e425L,0xfafea3c409a48de1L,
  25279. 0x0f56bd9de503ba42L },
  25280. { 0x137d4ed1345cda49L,0x821158fc816f299dL,0xe7c6a54aaeb43402L,
  25281. 0x4003bb9d1173b5f1L } },
  25282. /* 114 */
  25283. { { 0x3b8e8189a0803387L,0xece115f539cbd404L,0x4297208dd2877f21L,
  25284. 0x53765522a07f2f9eL },
  25285. { 0xa4980a21a8a4182dL,0xa2bbd07a3219df79L,0x674d0a2e1a19a2d4L,
  25286. 0x7a056f586c5d4549L } },
  25287. /* 115 */
  25288. { { 0x646b25589d8a2a47L,0x5b582948c3df2773L,0x51ec000eabf0d539L,
  25289. 0x77d482f17a1a2675L },
  25290. { 0xb8a1bd9587853948L,0xa6f817bd6cfbffeeL,0xab6ec05780681e47L,
  25291. 0x4115012b2b38b0e4L } },
  25292. /* 116 */
  25293. { { 0x3c73f0f46de28cedL,0x1d5da7609b13ec47L,0x61b8ce9e6e5c6392L,
  25294. 0xcdf04572fbea0946L },
  25295. { 0x1cb3c58b6c53c3b0L,0x97fe3c10447b843cL,0xfb2b8ae12cb9780eL,
  25296. 0xee703dda97383109L } },
  25297. /* 117 */
  25298. { { 0x34515140ff57e43aL,0xd44660d3b1b811b8L,0x2b3b5dff8f42b986L,
  25299. 0x2a0ad89da162ce21L },
  25300. { 0x64e4a6946bc277baL,0xc788c954c141c276L,0x141aa64ccabf6274L,
  25301. 0xd62d0b67ac2b4659L } },
  25302. /* 118 */
  25303. { { 0x39c5d87b2c054ac4L,0x57005859f27df788L,0xedf7cbf3b18128d6L,
  25304. 0xb39a23f2991c2426L },
  25305. { 0x95284a15f0b16ae5L,0x0c6a05b1a136f51bL,0x1d63c137f2700783L,
  25306. 0x04ed0092c0674cc5L } },
  25307. /* 119 */
  25308. { { 0x1f4185d19ae90393L,0x3047b4294a3d64e6L,0xae0001a69854fc14L,
  25309. 0xa0a91fc10177c387L },
  25310. { 0xff0a3f01ae2c831eL,0xbb76ae822b727e16L,0x8f12c8a15a3075b4L,
  25311. 0x084cf9889ed20c41L } },
  25312. /* 120 */
  25313. { { 0xd98509defca6becfL,0x2fceae807dffb328L,0x5d8a15c44778e8b9L,
  25314. 0xd57955b273abf77eL },
  25315. { 0x210da79e31b5d4f1L,0xaa52f04b3cfa7a1cL,0xd4d12089dc27c20bL,
  25316. 0x8e14ea4202d141f1L } },
  25317. /* 121 */
  25318. { { 0xeed50345f2897042L,0x8d05331f43402c4aL,0xc8d9c194c8bdfb21L,
  25319. 0x597e1a372aa4d158L },
  25320. { 0x0327ec1acf0bd68cL,0x6d4be0dcab024945L,0x5b9c8d7ac9fe3e84L,
  25321. 0xca3f0236199b4deaL } },
  25322. /* 122 */
  25323. { { 0x592a10b56170bd20L,0x0ea897f16d3f5de7L,0xa3363ff144b2ade2L,
  25324. 0xbde7fd7e309c07e4L },
  25325. { 0x516bb6d2b8f5432cL,0x210dc1cbe043444bL,0x3db01e6ff8f95b5aL,
  25326. 0xb623ad0e0a7dd198L } },
  25327. /* 123 */
  25328. { { 0xa75bd67560c7b65bL,0xab8c559023a4a289L,0xf8220fd0d7b26795L,
  25329. 0xd6aa2e4658ec137bL },
  25330. { 0x10abc00b5138bb85L,0x8c31d121d833a95cL,0xb24ff00b1702a32eL,
  25331. 0x111662e02dcc513aL } },
  25332. /* 124 */
  25333. { { 0x78114015efb42b87L,0xbd9f5d701b6c4dffL,0x66ecccd7a7d7c129L,
  25334. 0xdb3ee1cb94b750f8L },
  25335. { 0xb26f3db0f34837cfL,0xe7eed18bb9578d4fL,0x5d2cdf937c56657dL,
  25336. 0x886a644252206a59L } },
  25337. /* 125 */
  25338. { { 0x3c234cfb65b569eaL,0x20011141f72119c1L,0x8badc85da15a619eL,
  25339. 0xa70cf4eb018a17bcL },
  25340. { 0x224f97ae8c4a6a65L,0x36e5cf270134378fL,0xbe3a609e4f7e0960L,
  25341. 0xaa4772abd1747b77L } },
  25342. /* 126 */
  25343. { { 0x676761317aa60cc0L,0xc79163610368115fL,0xded98bb4bbc1bb5aL,
  25344. 0x611a6ddc30faf974L },
  25345. { 0x30e78cbcc15ee47aL,0x2e8962824e0d96a5L,0x36f35adf3dd9ed88L,
  25346. 0x5cfffaf816429c88L } },
  25347. /* 127 */
  25348. { { 0xc0d54cff9b7a99cdL,0x7bf3b99d843c45a1L,0x038a908f62c739e1L,
  25349. 0x6e5a6b237dc1994cL },
  25350. { 0xef8b454e0ba5db77L,0xb7b8807facf60d63L,0xe591c0c676608378L,
  25351. 0x481a238d242dabccL } },
  25352. /* 128 */
  25353. { { 0xe3417bc035d0b34aL,0x440b386b8327c0a7L,0x8fb7262dac0362d1L,
  25354. 0x2c41114ce0cdf943L },
  25355. { 0x2ba5cef1ad95a0b1L,0xc09b37a867d54362L,0x26d6cdd201e486c9L,
  25356. 0x20477abf42ff9297L } },
  25357. /* 129 */
  25358. { { 0x2f75173c18d65dbfL,0x77bf940e339edad8L,0x7022d26bdcf1001cL,
  25359. 0xac66409ac77396b6L },
  25360. { 0x8b0bb36fc6261cc3L,0x213f7bc9190e7e90L,0x6541cebaa45e6c10L,
  25361. 0xce8e6975cc122f85L } },
  25362. /* 130 */
  25363. { { 0x0f121b41bc0a67d2L,0x62d4760a444d248aL,0x0e044f1d659b4737L,
  25364. 0x08fde365250bb4a8L },
  25365. { 0xaceec3da848bf287L,0xc2a62182d3369d6eL,0x3582dfdc92449482L,
  25366. 0x2f7e2fd2565d6cd7L } },
  25367. /* 131 */
  25368. { { 0xae4b92dbc3770fa7L,0x095e8d5c379043f9L,0x54f34e9d17761171L,
  25369. 0xc65be92e907702aeL },
  25370. { 0x2758a303f6fd0a40L,0xe7d822e3bcce784bL,0x7ae4f5854f9767bfL,
  25371. 0x4bff8e47d1193b3aL } },
  25372. /* 132 */
  25373. { { 0xcd41d21f00ff1480L,0x2ab8fb7d0754db16L,0xac81d2efbbe0f3eaL,
  25374. 0x3e4e4ae65772967dL },
  25375. { 0x7e18f36d3c5303e6L,0x3bd9994b92262397L,0x9ed70e261324c3c0L,
  25376. 0x5388aefd58ec6028L } },
  25377. /* 133 */
  25378. { { 0xad1317eb5e5d7713L,0x09b985ee75de49daL,0x32f5bc4fc74fb261L,
  25379. 0x5cf908d14f75be0eL },
  25380. { 0x760435108e657b12L,0xbfd421a5b96ed9e6L,0x0e29f51f8970ccc2L,
  25381. 0xa698ba4060f00ce2L } },
  25382. /* 134 */
  25383. { { 0x73db1686ef748fecL,0xe6e755a27e9d2cf9L,0x630b6544ce265effL,
  25384. 0xb142ef8a7aebad8dL },
  25385. { 0xad31af9f17d5770aL,0x66af3b672cb3412fL,0x6bd60d1bdf3359deL,
  25386. 0xd1896a9658515075L } },
  25387. /* 135 */
  25388. { { 0xec5957ab33c41c08L,0x87de94ac5468e2e1L,0x18816b73ac472f6cL,
  25389. 0x267b0e0b7981da39L },
  25390. { 0x6e554e5d8e62b988L,0xd8ddc755116d21e7L,0x4610faf03d2a6f99L,
  25391. 0xb54e287aa1119393L } },
  25392. /* 136 */
  25393. { { 0x0a0122b5178a876bL,0x51ff96ff085104b4L,0x050b31ab14f29f76L,
  25394. 0x84abb28b5f87d4e6L },
  25395. { 0xd5ed439f8270790aL,0x2d6cb59d85e3f46bL,0x75f55c1b6c1e2212L,
  25396. 0xe5436f6717655640L } },
  25397. /* 137 */
  25398. { { 0x53f9025e2286e8d5L,0x353c95b4864453beL,0xd832f5bde408e3a0L,
  25399. 0x0404f68b5b9ce99eL },
  25400. { 0xcad33bdea781e8e5L,0x3cdf5018163c2f5bL,0x575769600119caa3L,
  25401. 0x3a4263df0ac1c701L } },
  25402. /* 138 */
  25403. { { 0xc2965ecc9aeb596dL,0x01ea03e7023c92b4L,0x4704b4b62e013961L,
  25404. 0x0ca8fd3f905ea367L },
  25405. { 0x92523a42551b2b61L,0x1eb7a89c390fcd06L,0xe7f1d2be0392a63eL,
  25406. 0x96dca2644ddb0c33L } },
  25407. /* 139 */
  25408. { { 0x203bb43a387510afL,0x846feaa8a9a36a01L,0xd23a57702f950378L,
  25409. 0x4363e2123aad59dcL },
  25410. { 0xca43a1c740246a47L,0xb362b8d2e55dd24dL,0xf9b086045d8faf96L,
  25411. 0x840e115cd8bb98c4L } },
  25412. /* 140 */
  25413. { { 0xf12205e21023e8a7L,0xc808a8cdd8dc7a0bL,0xe292a272163a5ddfL,
  25414. 0x5e0d6abd30ded6d4L },
  25415. { 0x07a721c27cfc0f64L,0x42eec01d0e55ed88L,0x26a7bef91d1f9db2L,
  25416. 0x7dea48f42945a25aL } },
  25417. /* 141 */
  25418. { { 0xabdf6f1ce5060a81L,0xe79f9c72f8f95615L,0xcfd36c5406ac268bL,
  25419. 0xabc2a2beebfd16d1L },
  25420. { 0x8ac66f91d3e2eac7L,0x6f10ba63d2dd0466L,0x6790e3770282d31bL,
  25421. 0x4ea353946c7eefc1L } },
  25422. /* 142 */
  25423. { { 0xed8a2f8d5266309dL,0x0a51c6c081945a3eL,0xcecaf45a578c5dc1L,
  25424. 0x3a76e6891c94ffc3L },
  25425. { 0x9aace8a47d7b0d0fL,0x963ace968f584a5fL,0x51a30c724e697fbeL,
  25426. 0x8212a10a465e6464L } },
  25427. /* 143 */
  25428. { { 0xef7c61c3cfab8caaL,0x18eb8e840e142390L,0xcd1dff677e9733caL,
  25429. 0xaa7cab71599cb164L },
  25430. { 0x02fc9273bc837bd1L,0xc06407d0c36af5d7L,0x17621292f423da49L,
  25431. 0x40e38073fe0617c3L } },
  25432. /* 144 */
  25433. { { 0xf4f80824a7bf9b7cL,0x365d23203fbe30d0L,0xbfbe532097cf9ce3L,
  25434. 0xe3604700b3055526L },
  25435. { 0x4dcb99116cc6c2c7L,0x72683708ba4cbee6L,0xdcded434637ad9ecL,
  25436. 0x6542d677a3dee15fL } },
  25437. /* 145 */
  25438. { { 0x3f32b6d07b6c377aL,0x6cb03847903448beL,0xd6fdd3a820da8af7L,
  25439. 0xa6534aee09bb6f21L },
  25440. { 0x30a1780d1035facfL,0x35e55a339dcb47e6L,0x6ea50fe1c447f393L,
  25441. 0xf3cb672fdc9aef22L } },
  25442. /* 146 */
  25443. { { 0xeb3719fe3b55fd83L,0xe0d7a46c875ddd10L,0x33ac9fa905cea784L,
  25444. 0x7cafaa2eaae870e7L },
  25445. { 0x9b814d041d53b338L,0xe0acc0a0ef87e6c6L,0xfb93d10811672b0fL,
  25446. 0x0aab13c1b9bd522eL } },
  25447. /* 147 */
  25448. { { 0xddcce278d2681297L,0xcb350eb1b509546aL,0x2dc431737661aaf2L,
  25449. 0x4b91a602847012e9L },
  25450. { 0xdcff109572f8ddcfL,0x08ebf61e9a911af4L,0x48f4360ac372430eL,
  25451. 0x49534c5372321cabL } },
  25452. /* 148 */
  25453. { { 0x83df7d71f07b7e9dL,0xa478efa313cd516fL,0x78ef264b6c047ee3L,
  25454. 0xcaf46c4fd65ac5eeL },
  25455. { 0xa04d0c7792aa8266L,0xedf45466913684bbL,0x56e65168ae4b16b0L,
  25456. 0x14ce9e5704c6770fL } },
  25457. /* 149 */
  25458. { { 0x99445e3e965e8f91L,0xd3aca1bacb0f2492L,0xd31cc70f90c8a0a0L,
  25459. 0x1bb708a53e4c9a71L },
  25460. { 0xd5ca9e69558bdd7aL,0x734a0508018a26b1L,0xb093aa714c9cf1ecL,
  25461. 0xf9d126f2da300102L } },
  25462. /* 150 */
  25463. { { 0x749bca7aaff9563eL,0xdd077afeb49914a0L,0xe27a0311bf5f1671L,
  25464. 0x807afcb9729ecc69L },
  25465. { 0x7f8a9337c9b08b77L,0x86c3a785443c7e38L,0x85fafa59476fd8baL,
  25466. 0x751adcd16568cd8cL } },
  25467. /* 151 */
  25468. { { 0x8aea38b410715c0dL,0xd113ea718f7697f7L,0x665eab1493fbf06dL,
  25469. 0x29ec44682537743fL },
  25470. { 0x3d94719cb50bebbcL,0x399ee5bfe4505422L,0x90cd5b3a8d2dedb1L,
  25471. 0xff9370e392a4077dL } },
  25472. /* 152 */
  25473. { { 0x59a2d69bc6b75b65L,0x4188f8d5266651c5L,0x28a9f33e3de9d7d2L,
  25474. 0x9776478ba2a9d01aL },
  25475. { 0x8852622d929af2c7L,0x334f5d6d4e690923L,0xce6cc7e5a89a51e9L,
  25476. 0x74a6313fac2f82faL } },
  25477. /* 153 */
  25478. { { 0xb2f4dfddb75f079cL,0x85b07c9518e36fbbL,0x1b6cfcf0e7cd36ddL,
  25479. 0xab75be150ff4863dL },
  25480. { 0x81b367c0173fc9b7L,0xb90a7420d2594fd0L,0x15fdbf03c4091236L,
  25481. 0x4ebeac2e0b4459f6L } },
  25482. /* 154 */
  25483. { { 0xeb6c5fe75c9f2c53L,0xd25220118eae9411L,0xc8887633f95ac5d8L,
  25484. 0xdf99887b2c1baffcL },
  25485. { 0xbb78eed2850aaecbL,0x9d49181b01d6a272L,0x978dd511b1cdbcacL,
  25486. 0x27b040a7779f4058L } },
  25487. /* 155 */
  25488. { { 0x90405db7f73b2eb2L,0xe0df85088e1b2118L,0x501b71525962327eL,
  25489. 0xb393dd37e4cfa3f5L },
  25490. { 0xa1230e7b3fd75165L,0xd66344c2bcd33554L,0x6c36f1be0f7b5022L,
  25491. 0x09588c12d0463419L } },
  25492. /* 156 */
  25493. { { 0xe086093f02601c3bL,0xfb0252f8cf5c335fL,0x955cf280894aff28L,
  25494. 0x81c879a9db9f648bL },
  25495. { 0x040e687cc6f56c51L,0xfed471693f17618cL,0x44f88a419059353bL,
  25496. 0xfa0d48f55fc11bc4L } },
  25497. /* 157 */
  25498. { { 0xbc6e1c9de1608e4dL,0x010dda113582822cL,0xf6b7ddc1157ec2d7L,
  25499. 0x8ea0e156b6a367d6L },
  25500. { 0xa354e02f2383b3b4L,0x69966b943f01f53cL,0x4ff6632b2de03ca5L,
  25501. 0x3f5ab924fa00b5acL } },
  25502. /* 158 */
  25503. { { 0x337bb0d959739efbL,0xc751b0f4e7ebec0dL,0x2da52dd6411a67d1L,
  25504. 0x8bc768872b74256eL },
  25505. { 0xa5be3b7282d3d253L,0xa9f679a1f58d779fL,0xa1cac168e16767bbL,
  25506. 0xb386f19060fcf34fL } },
  25507. /* 159 */
  25508. { { 0x31f3c1352fedcfc2L,0x5396bf6262f8af0dL,0x9a02b4eae57288c2L,
  25509. 0x4cb460f71b069c4dL },
  25510. { 0xae67b4d35b8095eaL,0x92bbf8596fc07603L,0xe1475f66b614a165L,
  25511. 0x52c0d50895ef5223L } },
  25512. /* 160 */
  25513. { { 0x231c210e15339848L,0xe87a28e870778c8dL,0x9d1de6616956e170L,
  25514. 0x4ac3c9382bb09c0bL },
  25515. { 0x19be05516998987dL,0x8b2376c4ae09f4d6L,0x1de0b7651a3f933dL,
  25516. 0x380d94c7e39705f4L } },
  25517. /* 161 */
  25518. { { 0x01a355aa81542e75L,0x96c724a1ee01b9b7L,0x6b3a2977624d7087L,
  25519. 0x2ce3e171de2637afL },
  25520. { 0xcfefeb49f5d5bc1aL,0xa655607e2777e2b5L,0x4feaac2f9513756cL,
  25521. 0x2e6cd8520b624e4dL } },
  25522. /* 162 */
  25523. { { 0x3685954b8c31c31dL,0x68533d005bf21a0cL,0x0bd7626e75c79ec9L,
  25524. 0xca17754742c69d54L },
  25525. { 0xcc6edafff6d2dbb2L,0xfd0d8cbd174a9d18L,0x875e8793aa4578e8L,
  25526. 0xa976a7139cab2ce6L } },
  25527. /* 163 */
  25528. { { 0x0a651f1b93fb353dL,0xd75cab8b57fcfa72L,0xaa88cfa731b15281L,
  25529. 0x8720a7170a1f4999L },
  25530. { 0x8c3e8d37693e1b90L,0xd345dc0b16f6dfc3L,0x8ea8d00ab52a8742L,
  25531. 0x9719ef29c769893cL } },
  25532. /* 164 */
  25533. { { 0x820eed8d58e35909L,0x9366d8dc33ddc116L,0xd7f999d06e205026L,
  25534. 0xa5072976e15704c1L },
  25535. { 0x002a37eac4e70b2eL,0x84dcf6576890aa8aL,0xcd71bf18645b2a5cL,
  25536. 0x99389c9df7b77725L } },
  25537. /* 165 */
  25538. { { 0x238c08f27ada7a4bL,0x3abe9d03fd389366L,0x6b672e89766f512cL,
  25539. 0xa88806aa202c82e4L },
  25540. { 0x6602044ad380184eL,0xa8cb78c4126a8b85L,0x79d670c0ad844f17L,
  25541. 0x0043bffb4738dcfeL } },
  25542. /* 166 */
  25543. { { 0x8d59b5dc36d5192eL,0xacf885d34590b2afL,0x83566d0a11601781L,
  25544. 0x52f3ef01ba6c4866L },
  25545. { 0x3986732a0edcb64dL,0x0a482c238068379fL,0x16cbe5fa7040f309L,
  25546. 0x3296bd899ef27e75L } },
  25547. /* 167 */
  25548. { { 0x476aba89454d81d7L,0x9eade7ef51eb9b3cL,0x619a21cd81c57986L,
  25549. 0x3b90febfaee571e9L },
  25550. { 0x9393023e5496f7cbL,0x55be41d87fb51bc4L,0x03f1dd4899beb5ceL,
  25551. 0x6e88069d9f810b18L } },
  25552. /* 168 */
  25553. { { 0xce37ab11b43ea1dbL,0x0a7ff1a95259d292L,0x851b02218f84f186L,
  25554. 0xa7222beadefaad13L },
  25555. { 0xa2ac78ec2b0a9144L,0x5a024051f2fa59c5L,0x91d1eca56147ce38L,
  25556. 0xbe94d523bc2ac690L } },
  25557. /* 169 */
  25558. { { 0x72f4945e0b226ce7L,0xb8afd747967e8b70L,0xedea46f185a6c63eL,
  25559. 0x7782defe9be8c766L },
  25560. { 0x760d2aa43db38626L,0x460ae78776f67ad1L,0x341b86fc54499cdbL,
  25561. 0x03838567a2892e4bL } },
  25562. /* 170 */
  25563. { { 0x2d8daefd79ec1a0fL,0x3bbcd6fdceb39c97L,0xf5575ffc58f61a95L,
  25564. 0xdbd986c4adf7b420L },
  25565. { 0x81aa881415f39eb7L,0x6ee2fcf5b98d976cL,0x5465475dcf2f717dL,
  25566. 0x8e24d3c46860bbd0L } },
  25567. /* 171 */
  25568. { { 0x749d8e549a587390L,0x12bb194f0cbec588L,0x46e07da4b25983c6L,
  25569. 0x541a99c4407bafc8L },
  25570. { 0xdb241692624c8842L,0x6044c12ad86c05ffL,0xc59d14b44f7fcf62L,
  25571. 0xc0092c49f57d35d1L } },
  25572. /* 172 */
  25573. { { 0xd3cc75c3df2e61efL,0x7e8841c82e1b35caL,0xc62d30d1909f29f4L,
  25574. 0x75e406347286944dL },
  25575. { 0xe7d41fc5bbc237d0L,0xc9537bf0ec4f01c9L,0x91c51a16282bd534L,
  25576. 0x5b7cb658c7848586L } },
  25577. /* 173 */
  25578. { { 0x964a70848a28ead1L,0x802dc508fd3b47f6L,0x9ae4bfd1767e5b39L,
  25579. 0x7ae13eba8df097a1L },
  25580. { 0xfd216ef8eadd384eL,0x0361a2d9b6b2ff06L,0x204b98784bcdb5f3L,
  25581. 0x787d8074e2a8e3fdL } },
  25582. /* 174 */
  25583. { { 0xc5e25d6b757fbb1cL,0xe47bddb2ca201debL,0x4a55e9a36d2233ffL,
  25584. 0x5c2228199ef28484L },
  25585. { 0x773d4a8588315250L,0x21b21a2b827097c1L,0xab7c4ea1def5d33fL,
  25586. 0xe45d37abbaf0f2b0L } },
  25587. /* 175 */
  25588. { { 0xd2df1e3428511c8aL,0xebb229c8bdca6cd3L,0x578a71a7627c39a7L,
  25589. 0xed7bc12284dfb9d3L },
  25590. { 0xcf22a6df93dea561L,0x5443f18dd48f0ed1L,0xd8b861405bad23e8L,
  25591. 0xaac97cc945ca6d27L } },
  25592. /* 176 */
  25593. { { 0xeb54ea74a16bd00aL,0xd839e9adf5c0bcc1L,0x092bb7f11f9bfc06L,
  25594. 0x318f97b31163dc4eL },
  25595. { 0xecc0c5bec30d7138L,0x44e8df23abc30220L,0x2bb7972fb0223606L,
  25596. 0xfa41faa19a84ff4dL } },
  25597. /* 177 */
  25598. { { 0x4402d974a6642269L,0xc81814ce9bb783bdL,0x398d38e47941e60bL,
  25599. 0x38bb6b2c1d26e9e2L },
  25600. { 0xc64e4a256a577f87L,0x8b52d253dc11fe1cL,0xff336abf62280728L,
  25601. 0x94dd0905ce7601a5L } },
  25602. /* 178 */
  25603. { { 0x156cf7dcde93f92aL,0xa01333cb89b5f315L,0x02404df9c995e750L,
  25604. 0x92077867d25c2ae9L },
  25605. { 0xe2471e010bf39d44L,0x5f2c902096bb53d7L,0x4c44b7b35c9c3d8fL,
  25606. 0x81e8428bd29beb51L } },
  25607. /* 179 */
  25608. { { 0x6dd9c2bac477199fL,0x8cb8eeee6b5ecdd9L,0x8af7db3fee40fd0eL,
  25609. 0x1b94ab62dbbfa4b1L },
  25610. { 0x44f0d8b3ce47f143L,0x51e623fc63f46163L,0xf18f270fcc599383L,
  25611. 0x06a38e28055590eeL } },
  25612. /* 180 */
  25613. { { 0x2e5b0139b3355b49L,0x20e26560b4ebf99bL,0xc08ffa6bd269f3dcL,
  25614. 0xa7b36c2083d9d4f8L },
  25615. { 0x64d15c3a1b3e8830L,0xd5fceae1a89f9c0bL,0xcfeee4a2e2d16930L,
  25616. 0xbe54c6b4a2822a20L } },
  25617. /* 181 */
  25618. { { 0xd6cdb3df8d91167cL,0x517c3f79e7a6625eL,0x7105648f346ac7f4L,
  25619. 0xbf30a5abeae022bbL },
  25620. { 0x8e7785be93828a68L,0x5161c3327f3ef036L,0xe11b5feb592146b2L,
  25621. 0xd1c820de2732d13aL } },
  25622. /* 182 */
  25623. { { 0x043e13479038b363L,0x58c11f546b05e519L,0x4fe57abe6026cad1L,
  25624. 0xb7d17bed68a18da3L },
  25625. { 0x44ca5891e29c2559L,0x4f7a03765bfffd84L,0x498de4af74e46948L,
  25626. 0x3997fd5e6412cc64L } },
  25627. /* 183 */
  25628. { { 0xf20746828bd61507L,0x29e132d534a64d2aL,0xffeddfb08a8a15e3L,
  25629. 0x0eeb89293c6c13e8L },
  25630. { 0xe9b69a3ea7e259f8L,0xce1db7e6d13e7e67L,0x277318f6ad1fa685L,
  25631. 0x228916f8c922b6efL } },
  25632. /* 184 */
  25633. { { 0x959ae25b0a12ab5bL,0xcc11171f957bc136L,0x8058429ed16e2b0cL,
  25634. 0xec05ad1d6e93097eL },
  25635. { 0x157ba5beac3f3708L,0x31baf93530b59d77L,0x47b55237118234e5L,
  25636. 0x7d3141567ff11b37L } },
  25637. /* 185 */
  25638. { { 0x7bd9c05cf6dfefabL,0xbe2f2268dcb37707L,0xe53ead973a38bb95L,
  25639. 0xe9ce66fc9bc1d7a3L },
  25640. { 0x75aa15766f6a02a1L,0x38c087df60e600edL,0xf8947f3468cdc1b9L,
  25641. 0xd9650b0172280651L } },
  25642. /* 186 */
  25643. { { 0x504b4c4a5a057e60L,0xcbccc3be8def25e4L,0xa635320817c1ccbdL,
  25644. 0x14d6699a804eb7a2L },
  25645. { 0x2c8a8415db1f411aL,0x09fbaf0bf80d769cL,0xb4deef901c2f77adL,
  25646. 0x6f4c68410d43598aL } },
  25647. /* 187 */
  25648. { { 0x8726df4e96c24a96L,0x534dbc85fcbd99a3L,0x3c466ef28b2ae30aL,
  25649. 0x4c4350fd61189abbL },
  25650. { 0x2967f716f855b8daL,0x41a42394463c38a1L,0xc37e1413eae93343L,
  25651. 0xa726d2425a3118b5L } },
  25652. /* 188 */
  25653. { { 0xdae6b3ee948c1086L,0xf1de503dcbd3a2e1L,0x3f35ed3f03d022f3L,
  25654. 0x13639e82cc6cf392L },
  25655. { 0x9ac938fbcdafaa86L,0xf45bc5fb2654a258L,0x1963b26e45051329L,
  25656. 0xca9365e1c1a335a3L } },
  25657. /* 189 */
  25658. { { 0x3615ac754c3b2d20L,0x742a5417904e241bL,0xb08521c4cc9d071dL,
  25659. 0x9ce29c34970b72a5L },
  25660. { 0x8cc81f736d3e0ad6L,0x8060da9ef2f8434cL,0x35ed1d1a6ce862d9L,
  25661. 0x48c4abd7ab42af98L } },
  25662. /* 190 */
  25663. { { 0xd221b0cc40c7485aL,0xead455bbe5274dbfL,0x493c76989263d2e8L,
  25664. 0x78017c32f67b33cbL },
  25665. { 0xb9d35769930cb5eeL,0xc0d14e940c408ed2L,0xf8b7bf55272f1a4dL,
  25666. 0x53cd0454de5c1c04L } },
  25667. /* 191 */
  25668. { { 0xbcd585fa5d28ccacL,0x5f823e56005b746eL,0x7c79f0a1cd0123aaL,
  25669. 0xeea465c1d3d7fa8fL },
  25670. { 0x7810659f0551803bL,0x6c0b599f7ce6af70L,0x4195a77029288e70L,
  25671. 0x1b6e42a47ae69193L } },
  25672. /* 192 */
  25673. { { 0x2e80937cf67d04c3L,0x1e312be289eeb811L,0x56b5d88792594d60L,
  25674. 0x0224da14187fbd3dL },
  25675. { 0x87abb8630c5fe36fL,0x580f3c604ef51f5fL,0x964fb1bfb3b429ecL,
  25676. 0x60838ef042bfff33L } },
  25677. /* 193 */
  25678. { { 0x432cb2f27e0bbe99L,0x7bda44f304aa39eeL,0x5f497c7a9fa93903L,
  25679. 0x636eb2022d331643L },
  25680. { 0xfcfd0e6193ae00aaL,0x875a00fe31ae6d2fL,0xf43658a29f93901cL,
  25681. 0x8844eeb639218bacL } },
  25682. /* 194 */
  25683. { { 0x114171d26b3bae58L,0x7db3df7117e39f3eL,0xcd37bc7f81a8eadaL,
  25684. 0x27ba83dc51fb789eL },
  25685. { 0xa7df439ffbf54de5L,0x7277030bb5fe1a71L,0x42ee8e35db297a48L,
  25686. 0xadb62d3487f3a4abL } },
  25687. /* 195 */
  25688. { { 0x9b1168a2a175df2aL,0x082aa04f618c32e9L,0xc9e4f2e7146b0916L,
  25689. 0xb990fd7675e7c8b2L },
  25690. { 0x0829d96b4df37313L,0x1c205579d0b40789L,0x66c9ae4a78087711L,
  25691. 0x81707ef94d10d18dL } },
  25692. /* 196 */
  25693. { { 0x97d7cab203d6ff96L,0x5b851bfc0d843360L,0x268823c4d042db4bL,
  25694. 0x3792daead5a8aa5cL },
  25695. { 0x52818865941afa0bL,0xf3e9e74142d83671L,0x17c825275be4e0a7L,
  25696. 0x5abd635e94b001baL } },
  25697. /* 197 */
  25698. { { 0x727fa84e0ac4927cL,0xe3886035a7c8cf23L,0xa4bcd5ea4adca0dfL,
  25699. 0x5995bf21846ab610L },
  25700. { 0xe90f860b829dfa33L,0xcaafe2ae958fc18bL,0x9b3baf4478630366L,
  25701. 0x44c32ca2d483411eL } },
  25702. /* 198 */
  25703. { { 0xa74a97f1e40ed80cL,0x5f938cb131d2ca82L,0x53f2124b7c2d6ad9L,
  25704. 0x1f2162fb8082a54cL },
  25705. { 0x7e467cc5720b173eL,0x40e8a666085f12f9L,0x8cebc20e4c9d65dcL,
  25706. 0x8f1d402bc3e907c9L } },
  25707. /* 199 */
  25708. { { 0x4f592f9cfbc4058aL,0xb15e14b6292f5670L,0xc55cfe37bc1d8c57L,
  25709. 0xb1980f43926edbf9L },
  25710. { 0x98c33e0932c76b09L,0x1df5279d33b07f78L,0x6f08ead4863bb461L,
  25711. 0x2828ad9b37448e45L } },
  25712. /* 200 */
  25713. { { 0x696722c4c4cf4ac5L,0xf5ac1a3fdde64afbL,0x0551baa2e0890832L,
  25714. 0x4973f1275a14b390L },
  25715. { 0xe59d8335322eac5dL,0x5e07eef50bd9b568L,0xab36720fa2588393L,
  25716. 0x6dac8ed0db168ac7L } },
  25717. /* 201 */
  25718. { { 0xf7b545aeeda835efL,0x4aa113d21d10ed51L,0x035a65e013741b09L,
  25719. 0x4b23ef5920b9de4cL },
  25720. { 0xe82bb6803c4c7341L,0xd457706d3f58bc37L,0x73527863a51e3ee8L,
  25721. 0x4dd71534ddf49a4eL } },
  25722. /* 202 */
  25723. { { 0xbf94467295476cd9L,0x648d072fe31a725bL,0x1441c8b8fc4b67e0L,
  25724. 0xfd3170002f4a4dbbL },
  25725. { 0x1cb43ff48995d0e1L,0x76e695d10ef729aaL,0xe0d5f97641798982L,
  25726. 0x14fac58c9569f365L } },
  25727. /* 203 */
  25728. { { 0xad9a0065f312ae18L,0x51958dc0fcc93fc9L,0xd9a142408a7d2846L,
  25729. 0xed7c765136abda50L },
  25730. { 0x46270f1a25d4abbcL,0x9b5dd8f3f1a113eaL,0xc609b0755b51952fL,
  25731. 0xfefcb7f74d2e9f53L } },
  25732. /* 204 */
  25733. { { 0xbd09497aba119185L,0xd54e8c30aac45ba4L,0x492479deaa521179L,
  25734. 0x1801a57e87e0d80bL },
  25735. { 0x073d3f8dfcafffb0L,0x6cf33c0bae255240L,0x781d763b5b5fdfbcL,
  25736. 0x9f8fc11e1ead1064L } },
  25737. /* 205 */
  25738. { { 0x1583a1715e69544cL,0x0eaf8567f04b7813L,0x1e22a8fd278a4c32L,
  25739. 0xa9d3809d3d3a69a9L },
  25740. { 0x936c2c2c59a2da3bL,0x38ccbcf61895c847L,0x5e65244e63d50869L,
  25741. 0x3006b9aee1178ef7L } },
  25742. /* 206 */
  25743. { { 0x0bb1f2b0c9eead28L,0x7eef635d89f4dfbcL,0x074757fdb2ce8939L,
  25744. 0x0ab85fd745f8f761L },
  25745. { 0xecda7c933e5b4549L,0x4be2bb5c97922f21L,0x261a1274b43b8040L,
  25746. 0xb122d67511e942c2L } },
  25747. /* 207 */
  25748. { { 0x3be607be66a5ae7aL,0x01e703fa76adcbe3L,0xaf9043014eb6e5c5L,
  25749. 0x9f599dc1097dbaecL },
  25750. { 0x6d75b7180ff250edL,0x8eb91574349a20dcL,0x425605a410b227a3L,
  25751. 0x7d5528e08a294b78L } },
  25752. /* 208 */
  25753. { { 0xf0f58f6620c26defL,0x025585ea582b2d1eL,0xfbe7d79b01ce3881L,
  25754. 0x28ccea01303f1730L },
  25755. { 0xd1dabcd179644ba5L,0x1fc643e806fff0b8L,0xa60a76fc66b3e17bL,
  25756. 0xc18baf48a1d013bfL } },
  25757. /* 209 */
  25758. { { 0x34e638c85dc4216dL,0x00c01067206142acL,0xd453a17195f5064aL,
  25759. 0x9def809db7a9596bL },
  25760. { 0x41e8642e67ab8d2cL,0xb42404336237a2b6L,0x7d506a6d64c4218bL,
  25761. 0x0357f8b068808ce5L } },
  25762. /* 210 */
  25763. { { 0x8e9dbe644cd2cc88L,0xcc61c28df0b8f39dL,0x4a309874cd30a0c8L,
  25764. 0xe4a01add1b489887L },
  25765. { 0x2ed1eeacf57cd8f9L,0x1b767d3ebd594c48L,0xa7295c717bd2f787L,
  25766. 0x466d7d79ce10cc30L } },
  25767. /* 211 */
  25768. { { 0x47d318929dada2c7L,0x4fa0a6c38f9aa27dL,0x90e4fd28820a59e1L,
  25769. 0xc672a522451ead1aL },
  25770. { 0x30607cc85d86b655L,0xf0235d3bf9ad4af1L,0x99a08680571172a6L,
  25771. 0x5e3d64faf2a67513L } },
  25772. /* 212 */
  25773. { { 0xaa6410c79b3b4416L,0xcd8fcf85eab26d99L,0x5ebff74adb656a74L,
  25774. 0x6c8a7a95eb8e42fcL },
  25775. { 0x10c60ba7b02a63bdL,0x6b2f23038b8f0047L,0x8c6c3738312d90b0L,
  25776. 0x348ae422ad82ca91L } },
  25777. /* 213 */
  25778. { { 0x7f4746635ccda2fbL,0x22accaa18e0726d2L,0x85adf782492b1f20L,
  25779. 0xc1074de0d9ef2d2eL },
  25780. { 0xfcf3ce44ae9a65b3L,0xfd71e4ac05d7151bL,0xd4711f50ce6a9788L,
  25781. 0xfbadfbdbc9e54ffcL } },
  25782. /* 214 */
  25783. { { 0x1713f1cd20a99363L,0xb915658f6cf22775L,0x968175cd24d359b2L,
  25784. 0xb7f976b483716fcdL },
  25785. { 0x5758e24d5d6dbf74L,0x8d23bafd71c3af36L,0x48f477600243dfe3L,
  25786. 0xf4d41b2ecafcc805L } },
  25787. /* 215 */
  25788. { { 0x51f1cf28fdabd48dL,0xce81be3632c078a4L,0x6ace2974117146e9L,
  25789. 0x180824eae0160f10L },
  25790. { 0x0387698b66e58358L,0x63568752ce6ca358L,0x82380e345e41e6c5L,
  25791. 0x67e5f63983cf6d25L } },
  25792. /* 216 */
  25793. { { 0xf89ccb8dcf4899efL,0x949015f09ebb44c0L,0x546f9276b2598ec9L,
  25794. 0x9fef789a04c11fc6L },
  25795. { 0x6d367ecf53d2a071L,0xb10e1a7fa4519b09L,0xca6b3fb0611e2eefL,
  25796. 0xbc80c181a99c4e20L } },
  25797. /* 217 */
  25798. { { 0x972536f8e5eb82e6L,0x1a484fc7f56cb920L,0xc78e217150b5da5eL,
  25799. 0x49270e629f8cdf10L },
  25800. { 0x1a39b7bbea6b50adL,0x9a0284c1a2388ffcL,0x5403eb178107197bL,
  25801. 0xd2ee52f961372f7fL } },
  25802. /* 218 */
  25803. { { 0xd37cd28588e0362aL,0x442fa8a78fa5d94dL,0xaff836e5a434a526L,
  25804. 0xdfb478bee5abb733L },
  25805. { 0xa91f1ce7673eede6L,0xa5390ad42b5b2f04L,0x5e66f7bf5530da2fL,
  25806. 0xd9a140b408df473aL } },
  25807. /* 219 */
  25808. { { 0x0e0221b56e8ea498L,0x623478293563ee09L,0xe06b8391335d2adeL,
  25809. 0x760c058d623f4b1aL },
  25810. { 0x0b89b58cc198aa79L,0xf74890d2f07aba7fL,0x4e204110fde2556aL,
  25811. 0x7141982d8f190409L } },
  25812. /* 220 */
  25813. { { 0x6f0a0e334d4b0f45L,0xd9280b38392a94e1L,0x3af324c6b3c61d5eL,
  25814. 0x3af9d1ce89d54e47L },
  25815. { 0xfd8f798120930371L,0xeda2664c21c17097L,0x0e9545dcdc42309bL,
  25816. 0xb1f815c373957dd6L } },
  25817. /* 221 */
  25818. { { 0x84faa78e89fec44aL,0xc8c2ae473caa4cafL,0x691c807dc1b6a624L,
  25819. 0xa41aed141543f052L },
  25820. { 0x424353997d5ffe04L,0x8bacb2df625b6e20L,0x85d660be87817775L,
  25821. 0xd6e9c1dd86fb60efL } },
  25822. /* 222 */
  25823. { { 0x3aa2e97ec6853264L,0x771533b7e2304a0bL,0x1b912bb7b8eae9beL,
  25824. 0x9c9c6e10ae9bf8c2L },
  25825. { 0xa2309a59e030b74cL,0x4ed7494d6a631e90L,0x89f44b23a49b79f2L,
  25826. 0x566bd59640fa61b6L } },
  25827. /* 223 */
  25828. { { 0x066c0118c18061f3L,0x190b25d37c83fc70L,0xf05fc8e027273245L,
  25829. 0xcf2c7390f525345eL },
  25830. { 0xa09bceb410eb30cfL,0xcfd2ebba0d77703aL,0xe842c43a150ff255L,
  25831. 0x02f517558aa20979L } },
  25832. /* 224 */
  25833. { { 0x396ef794addb7d07L,0x0b4fc74224455500L,0xfaff8eacc78aa3ceL,
  25834. 0x14e9ada5e8d4d97dL },
  25835. { 0xdaa480a12f7079e2L,0x45baa3cde4b0800eL,0x01765e2d7838157dL,
  25836. 0xa0ad4fab8e9d9ae8L } },
  25837. /* 225 */
  25838. { { 0x0bfb76214a653618L,0x1872813c31eaaa5fL,0x1553e73744949d5eL,
  25839. 0xbcd530b86e56ed1eL },
  25840. { 0x169be85332e9c47bL,0xdc2776feb50059abL,0xcdba9761192bfbb4L,
  25841. 0x909283cf6979341dL } },
  25842. /* 226 */
  25843. { { 0x67b0032476e81a13L,0x9bee1a9962171239L,0x08ed361bd32e19d6L,
  25844. 0x35eeb7c9ace1549aL },
  25845. { 0x1280ae5a7e4e5bdcL,0x2dcd2cd3b6ceec6eL,0x52e4224c6e266bc1L,
  25846. 0x9a8b2cf4448ae864L } },
  25847. /* 227 */
  25848. { { 0xf6471bf209d03b59L,0xc90e62a3b65af2abL,0xff7ff168ebd5eec9L,
  25849. 0x6bdb60f4d4491379L },
  25850. { 0xdadafebc8a55bc30L,0xc79ead1610097fe0L,0x42e197414c1e3bddL,
  25851. 0x01ec3cfd94ba08a9L } },
  25852. /* 228 */
  25853. { { 0xba6277ebdc9485c2L,0x48cc9a7922fb10c7L,0x4f61d60f70a28d8aL,
  25854. 0xd1acb1c0475464f6L },
  25855. { 0xd26902b126f36612L,0x59c3a44ee0618d8bL,0x4df8a813308357eeL,
  25856. 0x7dcd079d405626c2L } },
  25857. /* 229 */
  25858. { { 0x5ce7d4d3f05a4b48L,0xadcd295237230772L,0xd18f7971812a915aL,
  25859. 0x0bf53589377d19b8L },
  25860. { 0x35ecd95a6c68ea73L,0xc7f3bbca823a584dL,0x9fb674c6f473a723L,
  25861. 0xd28be4d9e16686fcL } },
  25862. /* 230 */
  25863. { { 0x5d2b990638fa8e4bL,0x559f186e893fd8fcL,0x3a6de2aa436fb6fcL,
  25864. 0xd76007aa510f88ceL },
  25865. { 0x2d10aab6523a4988L,0xb455cf4474dd0273L,0x7f467082a3407278L,
  25866. 0xf2b52f68b303bb01L } },
  25867. /* 231 */
  25868. { { 0x0d57eafa9835b4caL,0x2d2232fcbb669cbcL,0x8eeeb680c6643198L,
  25869. 0xd8dbe98ecc5aed3aL },
  25870. { 0xcba9be3fc5a02709L,0x30be68e5f5ba1fa8L,0xfebd43cdf10ea852L,
  25871. 0xe01593a3ee559705L } },
  25872. /* 232 */
  25873. { { 0xd3e5af50ea75a0a6L,0x512226ac57858033L,0x6fe6d50fd0176406L,
  25874. 0xafec07b1aeb8ef06L },
  25875. { 0x7fb9956780bb0a31L,0x6f1af3cc37309aaeL,0x9153a15a01abf389L,
  25876. 0xa71b93546e2dbfddL } },
  25877. /* 233 */
  25878. { { 0xbf8e12e018f593d2L,0xd1a90428a078122bL,0x150505db0ba4f2adL,
  25879. 0x53a2005c628523d9L },
  25880. { 0x07c8b639e7f2b935L,0x2bff975ac182961aL,0x86bceea77518ca2cL,
  25881. 0xbf47d19b3d588e3dL } },
  25882. /* 234 */
  25883. { { 0x672967a7dd7665d5L,0x4e3030572f2f4de5L,0x144005ae80d4903fL,
  25884. 0x001c2c7f39c9a1b6L },
  25885. { 0x143a801469efc6d6L,0xc810bdaa7bc7a724L,0x5f65670ba78150a4L,
  25886. 0xfdadf8e786ffb99bL } },
  25887. /* 235 */
  25888. { { 0xfd38cb88ffc00785L,0x77fa75913b48eb67L,0x0454d055bf368fbcL,
  25889. 0x3a838e4d5aa43c94L },
  25890. { 0x561663293e97bb9aL,0x9eb93363441d94d9L,0x515591a60adb2a83L,
  25891. 0x3cdb8257873e1da3L } },
  25892. /* 236 */
  25893. { { 0x137140a97de77eabL,0xf7e1c50d41648109L,0x762dcad2ceb1d0dfL,
  25894. 0x5a60cc89f1f57fbaL },
  25895. { 0x80b3638240d45673L,0x1b82be195913c655L,0x057284b8dd64b741L,
  25896. 0x922ff56fdbfd8fc0L } },
  25897. /* 237 */
  25898. { { 0x1b265deec9a129a1L,0xa5b1ce57cc284e04L,0x04380c46cebfbe3cL,
  25899. 0x72919a7df6c5cd62L },
  25900. { 0x298f453a8fb90f9aL,0xd719c00b88e4031bL,0xe32c0e77796f1856L,
  25901. 0x5e7917803624089aL } },
  25902. /* 238 */
  25903. { { 0x5c16ec557f63cdfbL,0x8e6a3571f1cae4fdL,0xfce26bea560597caL,
  25904. 0x4e0a5371e24c2fabL },
  25905. { 0x276a40d3a5765357L,0x3c89af440d73a2b4L,0xb8f370ae41d11a32L,
  25906. 0xf5ff7818d56604eeL } },
  25907. /* 239 */
  25908. { { 0xfbf3e3fe1a09df21L,0x26d5d28ee66e8e47L,0x2096bd0a29c89015L,
  25909. 0xe41df0e9533f5e64L },
  25910. { 0x305fda40b3ba9e3fL,0xf2340ceb2604d895L,0x0866e1927f0367c7L,
  25911. 0x8edd7d6eac4f155fL } },
  25912. /* 240 */
  25913. { { 0xc9a1dc0e0bfc8ff3L,0x14efd82be936f42fL,0x67016f7ccca381efL,
  25914. 0x1432c1caed8aee96L },
  25915. { 0xec68482970b23c26L,0xa64fe8730735b273L,0xe389f6e5eaef0f5aL,
  25916. 0xcaef480b5ac8d2c6L } },
  25917. /* 241 */
  25918. { { 0x5245c97875315922L,0xd82951713063cca5L,0xf3ce60d0b64ef2cbL,
  25919. 0xd0ba177e8efae236L },
  25920. { 0x53a9ae8fb1b3af60L,0x1a796ae53d2da20eL,0x01d63605df9eef28L,
  25921. 0xf31c957c1c54ae16L } },
  25922. /* 242 */
  25923. { { 0xc0f58d5249cc4597L,0xdc5015b0bae0a028L,0xefc5fc55734a814aL,
  25924. 0x013404cb96e17c3aL },
  25925. { 0xb29e2585c9a824bfL,0xd593185e001eaed7L,0x8d6ee68261ef68acL,
  25926. 0x6f377c4b91933e6cL } },
  25927. /* 243 */
  25928. { { 0x9f93bad1a8333fd2L,0xa89302025a2a95b8L,0x211e5037eaf75aceL,
  25929. 0x6dba3e4ed2d09506L },
  25930. { 0xa48ef98cd04399cdL,0x1811c66ee6b73adeL,0x72f60752c17ecaf3L,
  25931. 0xf13cf3423becf4a7L } },
  25932. /* 244 */
  25933. { { 0xceeb9ec0a919e2ebL,0x83a9a195f62c0f68L,0xcfba3bb67aba2299L,
  25934. 0xc83fa9a9274bbad3L },
  25935. { 0x0d7d1b0b62fa1ce0L,0xe58b60f53418efbfL,0xbfa8ef9e52706f04L,
  25936. 0xb49d70f45d702683L } },
  25937. /* 245 */
  25938. { { 0x914c7510fad5513bL,0x05f32eecb1751e2dL,0x6d850418d9fb9d59L,
  25939. 0x59cfadbb0c30f1cfL },
  25940. { 0xe167ac2355cb7fd6L,0x249367b8820426a3L,0xeaeec58c90a78864L,
  25941. 0x5babf362354a4b67L } },
  25942. /* 246 */
  25943. { { 0x37c981d1ee424865L,0x8b002878f2e5577fL,0x702970f1b9e0c058L,
  25944. 0x6188c6a79026c8f0L },
  25945. { 0x06f9a19bd0f244daL,0x1ecced5cfb080873L,0x35470f9b9f213637L,
  25946. 0x993fe475df50b9d9L } },
  25947. /* 247 */
  25948. { { 0x68e31cdf9b2c3609L,0x84eb19c02c46d4eaL,0x7ac9ec1a9a775101L,
  25949. 0x81f764664c80616bL },
  25950. { 0x1d7c2a5a75fbe978L,0x6743fed3f183b356L,0x838d1f04501dd2bfL,
  25951. 0x564a812a5fe9060dL } },
  25952. /* 248 */
  25953. { { 0x7a5a64f4fa817d1dL,0x55f96844bea82e0fL,0xb5ff5a0fcd57f9aaL,
  25954. 0x226bf3cf00e51d6cL },
  25955. { 0xd6d1a9f92f2833cfL,0x20a0a35a4f4f89a8L,0x11536c498f3f7f77L,
  25956. 0x68779f47ff257836L } },
  25957. /* 249 */
  25958. { { 0x79b0c1c173043d08L,0xa54467741fc020faL,0xd3767e289a6d26d0L,
  25959. 0x97bcb0d1eb092e0bL },
  25960. { 0x2ab6eaa8f32ed3c3L,0xc8a4f151b281bc48L,0x4d1bf4f3bfa178f3L,
  25961. 0xa872ffe80a784655L } },
  25962. /* 250 */
  25963. { { 0xb1ab7935a32b2086L,0xe1eb710e8160f486L,0x9bd0cd913b6ae6beL,
  25964. 0x02812bfcb732a36aL },
  25965. { 0xa63fd7cacf605318L,0x646e5d50fdfd6d1dL,0xa1d683982102d619L,
  25966. 0x07391cc9fe5396afL } },
  25967. /* 251 */
  25968. { { 0xc50157f08b80d02bL,0x6b8333d162877f7fL,0x7aca1af878d542aeL,
  25969. 0x355d2adc7e6d2a08L },
  25970. { 0xb41f335a287386e1L,0xfd272a94f8e43275L,0x286ca2cde79989eaL,
  25971. 0x3dc2b1e37c2a3a79L } },
  25972. /* 252 */
  25973. { { 0xd689d21c04581352L,0x0a00c825376782beL,0x203bd5909fed701fL,
  25974. 0xc47869103ccd846bL },
  25975. { 0x5dba770824c768edL,0x72feea026841f657L,0x73313ed56accce0eL,
  25976. 0xccc42968d5bb4d32L } },
  25977. /* 253 */
  25978. { { 0x94e50de13d7620b9L,0xd89a5c8a5992a56aL,0xdc007640675487c9L,
  25979. 0xe147eb42aa4871cfL },
  25980. { 0x274ab4eeacf3ae46L,0xfd4936fb50350fbeL,0xdf2afe4748c840eaL,
  25981. 0x239ac047080e96e3L } },
  25982. /* 254 */
  25983. { { 0x481d1f352bfee8d4L,0xce80b5cffa7b0fecL,0x105c4c9e2ce9af3cL,
  25984. 0xc55fa1a3f5f7e59dL },
  25985. { 0x3186f14e8257c227L,0xc5b1653f342be00bL,0x09afc998aa904fb2L,
  25986. 0x094cd99cd4f4b699L } },
  25987. /* 255 */
  25988. { { 0x8a981c84d703bebaL,0x8631d15032ceb291L,0xa445f2c9e3bd49ecL,
  25989. 0xb90a30b642abad33L },
  25990. { 0xb465404fb4a5abf9L,0x004750c375db7603L,0x6f9a42ccca35d89fL,
  25991. 0x019f8b9a1b7924f7L } },
  25992. };
  25993. /* Multiply the base point of P256 by the scalar and return the result.
  25994. * If map is true then convert result to affine coordinates.
  25995. *
  25996. * Stripe implementation.
  25997. * Pre-generated: 2^0, 2^32, ...
  25998. * Pre-generated: products of all combinations of above.
  25999. * 8 doubles and adds (with qz=1)
  26000. *
  26001. * r Resulting point.
  26002. * k Scalar to multiply by.
  26003. * map Indicates whether to convert result to affine.
  26004. * ct Constant time required.
  26005. * heap Heap to use for allocation.
  26006. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  26007. */
  26008. static int sp_256_ecc_mulmod_base_4(sp_point_256* r, const sp_digit* k,
  26009. int map, int ct, void* heap)
  26010. {
  26011. return sp_256_ecc_mulmod_stripe_4(r, &p256_base, p256_table,
  26012. k, map, ct, heap);
  26013. }
  26014. #endif /* WC_NO_CACHE_RESISTANT */
  26015. #else
  26016. /* The index into pre-computation table to use. */
  26017. static const uint8_t recode_index_4_7[130] = {
  26018. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  26019. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  26020. 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  26021. 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
  26022. 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49,
  26023. 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33,
  26024. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  26025. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  26026. 0, 1,
  26027. };
  26028. /* Whether to negate y-ordinate. */
  26029. static const uint8_t recode_neg_4_7[130] = {
  26030. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  26031. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  26032. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  26033. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  26034. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  26035. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  26036. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  26037. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  26038. 0, 0,
  26039. };
  26040. /* Recode the scalar for multiplication using pre-computed values and
  26041. * subtraction.
  26042. *
  26043. * k Scalar to multiply by.
  26044. * v Vector of operations to perform.
  26045. */
  26046. static void sp_256_ecc_recode_7_4(const sp_digit* k, ecc_recode_256* v)
  26047. {
  26048. int i;
  26049. int j;
  26050. uint8_t y;
  26051. int carry = 0;
  26052. int o;
  26053. sp_digit n;
  26054. j = 0;
  26055. n = k[j];
  26056. o = 0;
  26057. for (i=0; i<37; i++) {
  26058. y = (int8_t)n;
  26059. if (o + 7 < 64) {
  26060. y &= 0x7f;
  26061. n >>= 7;
  26062. o += 7;
  26063. }
  26064. else if (o + 7 == 64) {
  26065. n >>= 7;
  26066. if (++j < 4)
  26067. n = k[j];
  26068. o = 0;
  26069. }
  26070. else if (++j < 4) {
  26071. n = k[j];
  26072. y |= (uint8_t)((n << (64 - o)) & 0x7f);
  26073. o -= 57;
  26074. n >>= o;
  26075. }
  26076. y += (uint8_t)carry;
  26077. v[i].i = recode_index_4_7[y];
  26078. v[i].neg = recode_neg_4_7[y];
  26079. carry = (y >> 7) + v[i].neg;
  26080. }
  26081. }
  26082. #ifndef WC_NO_CACHE_RESISTANT
  26083. /* Touch each possible entry that could be being copied.
  26084. *
  26085. * r Point to copy into.
  26086. * table Table - start of the entires to access
  26087. * idx Index of entry to retrieve.
  26088. */
  26089. static void sp_256_get_entry_65_4(sp_point_256* r,
  26090. const sp_table_entry_256* table, int idx)
  26091. {
  26092. int i;
  26093. sp_digit mask;
  26094. r->x[0] = 0;
  26095. r->x[1] = 0;
  26096. r->x[2] = 0;
  26097. r->x[3] = 0;
  26098. r->y[0] = 0;
  26099. r->y[1] = 0;
  26100. r->y[2] = 0;
  26101. r->y[3] = 0;
  26102. for (i = 1; i < 65; i++) {
  26103. mask = 0 - (i == idx);
  26104. r->x[0] |= mask & table[i].x[0];
  26105. r->x[1] |= mask & table[i].x[1];
  26106. r->x[2] |= mask & table[i].x[2];
  26107. r->x[3] |= mask & table[i].x[3];
  26108. r->y[0] |= mask & table[i].y[0];
  26109. r->y[1] |= mask & table[i].y[1];
  26110. r->y[2] |= mask & table[i].y[2];
  26111. r->y[3] |= mask & table[i].y[3];
  26112. }
  26113. }
  26114. #endif /* !WC_NO_CACHE_RESISTANT */
  26115. static const sp_table_entry_256 p256_table[2405] = {
  26116. /* 0 << 0 */
  26117. { { 0x00, 0x00, 0x00, 0x00 },
  26118. { 0x00, 0x00, 0x00, 0x00 } },
  26119. /* 1 << 0 */
  26120. { { 0x79e730d418a9143cL,0x75ba95fc5fedb601L,0x79fb732b77622510L,
  26121. 0x18905f76a53755c6L },
  26122. { 0xddf25357ce95560aL,0x8b4ab8e4ba19e45cL,0xd2e88688dd21f325L,
  26123. 0x8571ff1825885d85L } },
  26124. /* 2 << 0 */
  26125. { { 0x850046d410ddd64dL,0xaa6ae3c1a433827dL,0x732205038d1490d9L,
  26126. 0xf6bb32e43dcf3a3bL },
  26127. { 0x2f3648d361bee1a5L,0x152cd7cbeb236ff8L,0x19a8fb0e92042dbeL,
  26128. 0x78c577510a5b8a3bL } },
  26129. /* 3 << 0 */
  26130. { { 0xffac3f904eebc127L,0xb027f84a087d81fbL,0x66ad77dd87cbbc98L,
  26131. 0x26936a3fb6ff747eL },
  26132. { 0xb04c5c1fc983a7ebL,0x583e47ad0861fe1aL,0x788208311a2ee98eL,
  26133. 0xd5f06a29e587cc07L } },
  26134. /* 4 << 0 */
  26135. { { 0x74b0b50d46918dccL,0x4650a6edc623c173L,0x0cdaacace8100af2L,
  26136. 0x577362f541b0176bL },
  26137. { 0x2d96f24ce4cbaba6L,0x17628471fad6f447L,0x6b6c36dee5ddd22eL,
  26138. 0x84b14c394c5ab863L } },
  26139. /* 5 << 0 */
  26140. { { 0xbe1b8aaec45c61f5L,0x90ec649a94b9537dL,0x941cb5aad076c20cL,
  26141. 0xc9079605890523c8L },
  26142. { 0xeb309b4ae7ba4f10L,0x73c568efe5eb882bL,0x3540a9877e7a1f68L,
  26143. 0x73a076bb2dd1e916L } },
  26144. /* 6 << 0 */
  26145. { { 0x403947373e77664aL,0x55ae744f346cee3eL,0xd50a961a5b17a3adL,
  26146. 0x13074b5954213673L },
  26147. { 0x93d36220d377e44bL,0x299c2b53adff14b5L,0xf424d44cef639f11L,
  26148. 0xa4c9916d4a07f75fL } },
  26149. /* 7 << 0 */
  26150. { { 0x0746354ea0173b4fL,0x2bd20213d23c00f7L,0xf43eaab50c23bb08L,
  26151. 0x13ba5119c3123e03L },
  26152. { 0x2847d0303f5b9d4dL,0x6742f2f25da67bddL,0xef933bdc77c94195L,
  26153. 0xeaedd9156e240867L } },
  26154. /* 8 << 0 */
  26155. { { 0x27f14cd19499a78fL,0x462ab5c56f9b3455L,0x8f90f02af02cfc6bL,
  26156. 0xb763891eb265230dL },
  26157. { 0xf59da3a9532d4977L,0x21e3327dcf9eba15L,0x123c7b84be60bbf0L,
  26158. 0x56ec12f27706df76L } },
  26159. /* 9 << 0 */
  26160. { { 0x75c96e8f264e20e8L,0xabe6bfed59a7a841L,0x2cc09c0444c8eb00L,
  26161. 0xe05b3080f0c4e16bL },
  26162. { 0x1eb7777aa45f3314L,0x56af7bedce5d45e3L,0x2b6e019a88b12f1aL,
  26163. 0x086659cdfd835f9bL } },
  26164. /* 10 << 0 */
  26165. { { 0x2c18dbd19dc21ec8L,0x98f9868a0fcf8139L,0x737d2cd648250b49L,
  26166. 0xcc61c94724b3428fL },
  26167. { 0x0c2b407880dd9e76L,0xc43a8991383fbe08L,0x5f7d2d65779be5d2L,
  26168. 0x78719a54eb3b4ab5L } },
  26169. /* 11 << 0 */
  26170. { { 0xea7d260a6245e404L,0x9de407956e7fdfe0L,0x1ff3a4158dac1ab5L,
  26171. 0x3e7090f1649c9073L },
  26172. { 0x1a7685612b944e88L,0x250f939ee57f61c8L,0x0c0daa891ead643dL,
  26173. 0x68930023e125b88eL } },
  26174. /* 12 << 0 */
  26175. { { 0x04b71aa7d2697768L,0xabdedef5ca345a33L,0x2409d29dee37385eL,
  26176. 0x4ee1df77cb83e156L },
  26177. { 0x0cac12d91cbb5b43L,0x170ed2f6ca895637L,0x28228cfa8ade6d66L,
  26178. 0x7ff57c9553238acaL } },
  26179. /* 13 << 0 */
  26180. { { 0xccc425634b2ed709L,0x0e356769856fd30dL,0xbcbcd43f559e9811L,
  26181. 0x738477ac5395b759L },
  26182. { 0x35752b90c00ee17fL,0x68748390742ed2e3L,0x7cd06422bd1f5bc1L,
  26183. 0xfbc08769c9e7b797L } },
  26184. /* 14 << 0 */
  26185. { { 0xa242a35bb0cf664aL,0x126e48f77f9707e3L,0x1717bf54c6832660L,
  26186. 0xfaae7332fd12c72eL },
  26187. { 0x27b52db7995d586bL,0xbe29569e832237c2L,0xe8e4193e2a65e7dbL,
  26188. 0x152706dc2eaa1bbbL } },
  26189. /* 15 << 0 */
  26190. { { 0x72bcd8b7bc60055bL,0x03cc23ee56e27e4bL,0xee337424e4819370L,
  26191. 0xe2aa0e430ad3da09L },
  26192. { 0x40b8524f6383c45dL,0xd766355442a41b25L,0x64efa6de778a4797L,
  26193. 0x2042170a7079adf4L } },
  26194. /* 16 << 0 */
  26195. { { 0x808b0b650bc6fb80L,0x5882e0753ffe2e6bL,0xd5ef2f7c2c83f549L,
  26196. 0x54d63c809103b723L },
  26197. { 0xf2f11bd652a23f9bL,0x3670c3194b0b6587L,0x55c4623bb1580e9eL,
  26198. 0x64edf7b201efe220L } },
  26199. /* 17 << 0 */
  26200. { { 0x97091dcbd53c5c9dL,0xf17624b6ac0a177bL,0xb0f139752cfe2dffL,
  26201. 0xc1a35c0a6c7a574eL },
  26202. { 0x227d314693e79987L,0x0575bf30e89cb80eL,0x2f4e247f0d1883bbL,
  26203. 0xebd512263274c3d0L } },
  26204. /* 18 << 0 */
  26205. { { 0x5f3e51c856ada97aL,0x4afc964d8f8b403eL,0xa6f247ab412e2979L,
  26206. 0x675abd1b6f80ebdaL },
  26207. { 0x66a2bd725e485a1dL,0x4b2a5caf8f4f0b3cL,0x2626927f1b847bbaL,
  26208. 0x6c6fc7d90502394dL } },
  26209. /* 19 << 0 */
  26210. { { 0xfea912baa5659ae8L,0x68363aba25e1a16eL,0xb8842277752c41acL,
  26211. 0xfe545c282897c3fcL },
  26212. { 0x2d36e9e7dc4c696bL,0x5806244afba977c5L,0x85665e9be39508c1L,
  26213. 0xf720ee256d12597bL } },
  26214. /* 20 << 0 */
  26215. { { 0x8a979129d2337a31L,0x5916868f0f862bdcL,0x048099d95dd283baL,
  26216. 0xe2d1eeb6fe5bfb4eL },
  26217. { 0x82ef1c417884005dL,0xa2d4ec17ffffcbaeL,0x9161c53f8aa95e66L,
  26218. 0x5ee104e1c5fee0d0L } },
  26219. /* 21 << 0 */
  26220. { { 0x562e4cecc135b208L,0x74e1b2654783f47dL,0x6d2a506c5a3f3b30L,
  26221. 0xecead9f4c16762fcL },
  26222. { 0xf29dd4b2e286e5b9L,0x1b0fadc083bb3c61L,0x7a75023e7fac29a4L,
  26223. 0xc086d5f1c9477fa3L } },
  26224. /* 22 << 0 */
  26225. { { 0x0fc611352f6f3076L,0xc99ffa23e3912a9aL,0x6a0b0685d2f8ba3dL,
  26226. 0xfdc777e8e93358a4L },
  26227. { 0x94a787bb35415f04L,0x640c2d6a4d23fea4L,0x9de917da153a35b5L,
  26228. 0x793e8d075d5cd074L } },
  26229. /* 23 << 0 */
  26230. { { 0xf4f876532de45068L,0x37c7a7e89e2e1f6eL,0xd0825fa2a3584069L,
  26231. 0xaf2cea7c1727bf42L },
  26232. { 0x0360a4fb9e4785a9L,0xe5fda49c27299f4aL,0x48068e1371ac2f71L,
  26233. 0x83d0687b9077666fL } },
  26234. /* 24 << 0 */
  26235. { { 0x6d3883b215d02819L,0x6d0d755040dd9a35L,0x61d7cbf91d2b469fL,
  26236. 0xf97b232f2efc3115L },
  26237. { 0xa551d750b24bcbc7L,0x11ea494988a1e356L,0x7669f03193cb7501L,
  26238. 0x595dc55eca737b8aL } },
  26239. /* 25 << 0 */
  26240. { { 0xa4a319acd837879fL,0x6fc1b49eed6b67b0L,0xe395993332f1f3afL,
  26241. 0x966742eb65432a2eL },
  26242. { 0x4b8dc9feb4966228L,0x96cc631243f43950L,0x12068859c9b731eeL,
  26243. 0x7b948dc356f79968L } },
  26244. /* 26 << 0 */
  26245. { { 0x61e4ad32ed1f8008L,0xe6c9267ad8b17538L,0x1ac7c5eb857ff6fbL,
  26246. 0x994baaa855f2fb10L },
  26247. { 0x84cf14e11d248018L,0x5a39898b628ac508L,0x14fde97b5fa944f5L,
  26248. 0xed178030d12e5ac7L } },
  26249. /* 27 << 0 */
  26250. { { 0x042c2af497e2feb4L,0xd36a42d7aebf7313L,0x49d2c9eb084ffdd7L,
  26251. 0x9f8aa54b2ef7c76aL },
  26252. { 0x9200b7ba09895e70L,0x3bd0c66fddb7fb58L,0x2d97d10878eb4cbbL,
  26253. 0x2d431068d84bde31L } },
  26254. /* 28 << 0 */
  26255. { { 0x4b523eb7172ccd1fL,0x7323cb2830a6a892L,0x97082ec0cfe153ebL,
  26256. 0xe97f6b6af2aadb97L },
  26257. { 0x1d3d393ed1a83da1L,0xa6a7f9c7804b2a68L,0x4a688b482d0cb71eL,
  26258. 0xa9b4cc5f40585278L } },
  26259. /* 29 << 0 */
  26260. { { 0x5e5db46acb66e132L,0xf1be963a0d925880L,0x944a70270317b9e2L,
  26261. 0xe266f95948603d48L },
  26262. { 0x98db66735c208899L,0x90472447a2fb18a3L,0x8a966939777c619fL,
  26263. 0x3798142a2a3be21bL } },
  26264. /* 30 << 0 */
  26265. { { 0xb4241cb13298b343L,0xa3a14e49b44f65a1L,0xc5f4d6cd3ac77acdL,
  26266. 0xd0288cb552b6fc3cL },
  26267. { 0xd5cc8c2f1c040abcL,0xb675511e06bf9b4aL,0xd667da379b3aa441L,
  26268. 0x460d45ce51601f72L } },
  26269. /* 31 << 0 */
  26270. { { 0xe2f73c696755ff89L,0xdd3cf7e7473017e6L,0x8ef5689d3cf7600dL,
  26271. 0x948dc4f8b1fc87b4L },
  26272. { 0xd9e9fe814ea53299L,0x2d921ca298eb6028L,0xfaecedfd0c9803fcL,
  26273. 0xf38ae8914d7b4745L } },
  26274. /* 32 << 0 */
  26275. { { 0xd8c5fccfc5e3a3d8L,0xbefd904c4079dfbfL,0xbc6d6a58fead0197L,
  26276. 0x39227077695532a4L },
  26277. { 0x09e23e6ddbef42f5L,0x7e449b64480a9908L,0x7b969c1aad9a2e40L,
  26278. 0x6231d7929591c2a4L } },
  26279. /* 33 << 0 */
  26280. { { 0x871514560f664534L,0x85ceae7c4b68f103L,0xac09c4ae65578ab9L,
  26281. 0x33ec6868f044b10cL },
  26282. { 0x6ac4832b3a8ec1f1L,0x5509d1285847d5efL,0xf909604f763f1574L,
  26283. 0xb16c4303c32f63c4L } },
  26284. /* 34 << 0 */
  26285. { { 0xb6ab20147ca23cd3L,0xcaa7a5c6a391849dL,0x5b0673a375678d94L,
  26286. 0xc982ddd4dd303e64L },
  26287. { 0xfd7b000b5db6f971L,0xbba2cb1f6f876f92L,0xc77332a33c569426L,
  26288. 0xa159100c570d74f8L } },
  26289. /* 35 << 0 */
  26290. { { 0xfd16847fdec67ef5L,0x742ee464233e76b7L,0x0b8e4134efc2b4c8L,
  26291. 0xca640b8642a3e521L },
  26292. { 0x653a01908ceb6aa9L,0x313c300c547852d5L,0x24e4ab126b237af7L,
  26293. 0x2ba901628bb47af8L } },
  26294. /* 36 << 0 */
  26295. { { 0x3d5e58d6a8219bb7L,0xc691d0bd1b06c57fL,0x0ae4cb10d257576eL,
  26296. 0x3569656cd54a3dc3L },
  26297. { 0xe5ebaebd94cda03aL,0x934e82d3162bfe13L,0x450ac0bae251a0c6L,
  26298. 0x480b9e11dd6da526L } },
  26299. /* 37 << 0 */
  26300. { { 0x00467bc58cce08b5L,0xb636458c7f178d55L,0xc5748baea677d806L,
  26301. 0x2763a387dfa394ebL },
  26302. { 0xa12b448a7d3cebb6L,0xe7adda3e6f20d850L,0xf63ebce51558462cL,
  26303. 0x58b36143620088a8L } },
  26304. /* 38 << 0 */
  26305. { { 0x8a2cc3ca4d63c0eeL,0x512331170fe948ceL,0x7463fd85222ef33bL,
  26306. 0xadf0c7dc7c603d6cL },
  26307. { 0x0ec32d3bfe7765e5L,0xccaab359bf380409L,0xbdaa84d68e59319cL,
  26308. 0xd9a4c2809c80c34dL } },
  26309. /* 39 << 0 */
  26310. { { 0xa9d89488a059c142L,0x6f5ae714ff0b9346L,0x068f237d16fb3664L,
  26311. 0x5853e4c4363186acL },
  26312. { 0xe2d87d2363c52f98L,0x2ec4a76681828876L,0x47b864fae14e7b1cL,
  26313. 0x0c0bc0e569192408L } },
  26314. /* 40 << 0 */
  26315. { { 0xe4d7681db82e9f3eL,0x83200f0bdf25e13cL,0x8909984c66f27280L,
  26316. 0x462d7b0075f73227L },
  26317. { 0xd90ba188f2651798L,0x74c6e18c36ab1c34L,0xab256ea35ef54359L,
  26318. 0x03466612d1aa702fL } },
  26319. /* 41 << 0 */
  26320. { { 0x624d60492ed22e91L,0x6fdfe0b56f072822L,0xeeca111539ce2271L,
  26321. 0x98100a4fdb01614fL },
  26322. { 0xb6b0daa2a35c628fL,0xb6f94d2ec87e9a47L,0xc67732591d57d9ceL,
  26323. 0xf70bfeec03884a7bL } },
  26324. /* 42 << 0 */
  26325. { { 0x5fb35ccfed2bad01L,0xa155cbe31da6a5c7L,0xc2e2594c30a92f8fL,
  26326. 0x649c89ce5bfafe43L },
  26327. { 0xd158667de9ff257aL,0x9b359611f32c50aeL,0x4b00b20b906014cfL,
  26328. 0xf3a8cfe389bc7d3dL } },
  26329. /* 43 << 0 */
  26330. { { 0x4ff23ffd248a7d06L,0x80c5bfb4878873faL,0xb7d9ad9005745981L,
  26331. 0x179c85db3db01994L },
  26332. { 0xba41b06261a6966cL,0x4d82d052eadce5a8L,0x9e91cd3ba5e6a318L,
  26333. 0x47795f4f95b2dda0L } },
  26334. /* 44 << 0 */
  26335. { { 0xecfd7c1fd55a897cL,0x009194abb29110fbL,0x5f0e2046e381d3b0L,
  26336. 0x5f3425f6a98dd291L },
  26337. { 0xbfa06687730d50daL,0x0423446c4b083b7fL,0x397a247dd69d3417L,
  26338. 0xeb629f90387ba42aL } },
  26339. /* 45 << 0 */
  26340. { { 0x1ee426ccd5cd79bfL,0x0032940b946c6e18L,0x1b1e8ae057477f58L,
  26341. 0xe94f7d346d823278L },
  26342. { 0xc747cb96782ba21aL,0xc5254469f72b33a5L,0x772ef6dec7f80c81L,
  26343. 0xd73acbfe2cd9e6b5L } },
  26344. /* 46 << 0 */
  26345. { { 0x4075b5b149ee90d9L,0x785c339aa06e9ebaL,0xa1030d5babf825e0L,
  26346. 0xcec684c3a42931dcL },
  26347. { 0x42ab62c9c1586e63L,0x45431d665ab43f2bL,0x57c8b2c055f7835dL,
  26348. 0x033da338c1b7f865L } },
  26349. /* 47 << 0 */
  26350. { { 0x283c7513caa76097L,0x0a624fa936c83906L,0x6b20afec715af2c7L,
  26351. 0x4b969974eba78bfdL },
  26352. { 0x220755ccd921d60eL,0x9b944e107baeca13L,0x04819d515ded93d4L,
  26353. 0x9bbff86e6dddfd27L } },
  26354. /* 48 << 0 */
  26355. { { 0x6b34413077adc612L,0xa7496529bbd803a0L,0x1a1baaa76d8805bdL,
  26356. 0xc8403902470343adL },
  26357. { 0x39f59f66175adff1L,0x0b26d7fbb7d8c5b7L,0xa875f5ce529d75e3L,
  26358. 0x85efc7e941325cc2L } },
  26359. /* 49 << 0 */
  26360. { { 0x21950b421ff6acd3L,0xffe7048453dc6909L,0xff4cd0b228766127L,
  26361. 0xabdbe6084fb7db2bL },
  26362. { 0x837c92285e1109e8L,0x26147d27f4645b5aL,0x4d78f592f7818ed8L,
  26363. 0xd394077ef247fa36L } },
  26364. /* 50 << 0 */
  26365. { { 0x0fb9c2d0488c171aL,0xa78bfbaa13685278L,0xedfbe268d5b1fa6aL,
  26366. 0x0dceb8db2b7eaba7L },
  26367. { 0xbf9e80899ae2b710L,0xefde7ae6a4449c96L,0x43b7716bcc143a46L,
  26368. 0xd7d34194c3628c13L } },
  26369. /* 51 << 0 */
  26370. { { 0x508cec1c3b3f64c9L,0xe20bc0ba1e5edf3fL,0xda1deb852f4318d4L,
  26371. 0xd20ebe0d5c3fa443L },
  26372. { 0x370b4ea773241ea3L,0x61f1511c5e1a5f65L,0x99a5e23d82681c62L,
  26373. 0xd731e383a2f54c2dL } },
  26374. /* 52 << 0 */
  26375. { { 0x2692f36e83445904L,0x2e0ec469af45f9c0L,0x905a3201c67528b7L,
  26376. 0x88f77f34d0e5e542L },
  26377. { 0xf67a8d295864687cL,0x23b92eae22df3562L,0x5c27014b9bbec39eL,
  26378. 0x7ef2f2269c0f0f8dL } },
  26379. /* 53 << 0 */
  26380. { { 0x97359638546c4d8dL,0x5f9c3fc492f24679L,0x912e8beda8c8acd9L,
  26381. 0xec3a318d306634b0L },
  26382. { 0x80167f41c31cb264L,0x3db82f6f522113f2L,0xb155bcd2dcafe197L,
  26383. 0xfba1da5943465283L } },
  26384. /* 54 << 0 */
  26385. { { 0xa0425b8eb212cf53L,0x4f2e512ef8557c5fL,0xc1286ff925c4d56cL,
  26386. 0xbb8a0feaee26c851L },
  26387. { 0xc28f70d2e7d6107eL,0x7ee0c444e76265aaL,0x3df277a41d1936b1L,
  26388. 0x1a556e3fea9595ebL } },
  26389. /* 55 << 0 */
  26390. { { 0x258bbbf9e7305683L,0x31eea5bf07ef5be6L,0x0deb0e4a46c814c1L,
  26391. 0x5cee8449a7b730ddL },
  26392. { 0xeab495c5a0182bdeL,0xee759f879e27a6b4L,0xc2cf6a6880e518caL,
  26393. 0x25e8013ff14cf3f4L } },
  26394. /* 56 << 0 */
  26395. { { 0x8fc441407e8d7a14L,0xbb1ff3ca9556f36aL,0x6a84438514600044L,
  26396. 0xba3f0c4a7451ae63L },
  26397. { 0xdfcac25b1f9af32aL,0x01e0db86b1f2214bL,0x4e9a5bc2a4b596acL,
  26398. 0x83927681026c2c08L } },
  26399. /* 57 << 0 */
  26400. { { 0x3ec832e77acaca28L,0x1bfeea57c7385b29L,0x068212e3fd1eaf38L,
  26401. 0xc13298306acf8cccL },
  26402. { 0xb909f2db2aac9e59L,0x5748060db661782aL,0xc5ab2632c79b7a01L,
  26403. 0xda44c6c600017626L } },
  26404. /* 58 << 0 */
  26405. { { 0xf26c00e8a7ea82f0L,0x99cac80de4299aafL,0xd66fe3b67ed78be1L,
  26406. 0x305f725f648d02cdL },
  26407. { 0x33ed1bc4623fb21bL,0xfa70533e7a6319adL,0x17ab562dbe5ffb3eL,
  26408. 0x0637499456674741L } },
  26409. /* 59 << 0 */
  26410. { { 0x69d44ed65c46aa8eL,0x2100d5d3a8d063d1L,0xcb9727eaa2d17c36L,
  26411. 0x4c2bab1b8add53b7L },
  26412. { 0xa084e90c15426704L,0x778afcd3a837ebeaL,0x6651f7017ce477f8L,
  26413. 0xa062499846fb7a8bL } },
  26414. /* 60 << 0 */
  26415. { { 0xdc1e6828ed8a6e19L,0x33fc23364189d9c7L,0x026f8fe2671c39bcL,
  26416. 0xd40c4ccdbc6f9915L },
  26417. { 0xafa135bbf80e75caL,0x12c651a022adff2cL,0xc40a04bd4f51ad96L,
  26418. 0x04820109bbe4e832L } },
  26419. /* 61 << 0 */
  26420. { { 0x3667eb1a7f4c04ccL,0x59556621a9404f84L,0x71cdf6537eceb50aL,
  26421. 0x994a44a69b8335faL },
  26422. { 0xd7faf819dbeb9b69L,0x473c5680eed4350dL,0xb6658466da44bba2L,
  26423. 0x0d1bc780872bdbf3L } },
  26424. /* 62 << 0 */
  26425. { { 0xe535f175a1962f91L,0x6ed7e061ed58f5a7L,0x177aa4c02089a233L,
  26426. 0x0dbcb03ae539b413L },
  26427. { 0xe3dc424ebb32e38eL,0x6472e5ef6806701eL,0xdd47ff98814be9eeL,
  26428. 0x6b60cfff35ace009L } },
  26429. /* 63 << 0 */
  26430. { { 0xb8d3d9319ff91fe5L,0x039c4800f0518eedL,0x95c376329182cb26L,
  26431. 0x0763a43482fc568dL },
  26432. { 0x707c04d5383e76baL,0xac98b930824e8197L,0x92bf7c8f91230de0L,
  26433. 0x90876a0140959b70L } },
  26434. /* 64 << 0 */
  26435. { { 0xdb6d96f305968b80L,0x380a0913089f73b9L,0x7da70b83c2c61e01L,
  26436. 0x95fb8394569b38c7L },
  26437. { 0x9a3c651280edfe2fL,0x8f726bb98faeaf82L,0x8010a4a078424bf8L,
  26438. 0x296720440e844970L } },
  26439. /* 0 << 7 */
  26440. { { 0x00, 0x00, 0x00, 0x00 },
  26441. { 0x00, 0x00, 0x00, 0x00 } },
  26442. /* 1 << 7 */
  26443. { { 0x63c5cb817a2ad62aL,0x7ef2b6b9ac62ff54L,0x3749bba4b3ad9db5L,
  26444. 0xad311f2c46d5a617L },
  26445. { 0xb77a8087c2ff3b6dL,0xb46feaf3367834ffL,0xf8aa266d75d6b138L,
  26446. 0xfa38d320ec008188L } },
  26447. /* 2 << 7 */
  26448. { { 0x486d8ffa696946fcL,0x50fbc6d8b9cba56dL,0x7e3d423e90f35a15L,
  26449. 0x7c3da195c0dd962cL },
  26450. { 0xe673fdb03cfd5d8bL,0x0704b7c2889dfca5L,0xf6ce581ff52305aaL,
  26451. 0x399d49eb914d5e53L } },
  26452. /* 3 << 7 */
  26453. { { 0x380a496d6ec293cdL,0x733dbda78e7051f5L,0x037e388db849140aL,
  26454. 0xee4b32b05946dbf6L },
  26455. { 0xb1c4fda9cae368d1L,0x5001a7b0fdb0b2f3L,0x6df593742e3ac46eL,
  26456. 0x4af675f239b3e656L } },
  26457. /* 4 << 7 */
  26458. { { 0x44e3811039949296L,0x5b63827b361db1b5L,0x3e5323ed206eaff5L,
  26459. 0x942370d2c21f4290L },
  26460. { 0xf2caaf2ee0d985a1L,0x192cc64b7239846dL,0x7c0b8f47ae6312f8L,
  26461. 0x7dc61f9196620108L } },
  26462. /* 5 << 7 */
  26463. { { 0xb830fb5bc2da7de9L,0xd0e643df0ff8d3beL,0x31ee77ba188a9641L,
  26464. 0x4e8aa3aabcf6d502L },
  26465. { 0xf9fb65329a49110fL,0xd18317f62dd6b220L,0x7e3ced4152c3ea5aL,
  26466. 0x0d296a147d579c4aL } },
  26467. /* 6 << 7 */
  26468. { { 0x35d6a53eed4c3717L,0x9f8240cf3d0ed2a3L,0x8c0d4d05e5543aa5L,
  26469. 0x45d5bbfbdd33b4b4L },
  26470. { 0xfa04cc73137fd28eL,0x862ac6efc73b3ffdL,0x403ff9f531f51ef2L,
  26471. 0x34d5e0fcbc73f5a2L } },
  26472. /* 7 << 7 */
  26473. { { 0xf252682008913f4fL,0xea20ed61eac93d95L,0x51ed38b46ca6b26cL,
  26474. 0x8662dcbcea4327b0L },
  26475. { 0x6daf295c725d2aaaL,0xbad2752f8e52dcdaL,0x2210e7210b17daccL,
  26476. 0xa37f7912d51e8232L } },
  26477. /* 8 << 7 */
  26478. { { 0x4f7081e144cc3addL,0xd5ffa1d687be82cfL,0x89890b6c0edd6472L,
  26479. 0xada26e1a3ed17863L },
  26480. { 0x276f271563483caaL,0xe6924cd92f6077fdL,0x05a7fe980a466e3cL,
  26481. 0xf1c794b0b1902d1fL } },
  26482. /* 9 << 7 */
  26483. { { 0xe521368882a8042cL,0xd931cfafcd278298L,0x069a0ae0f597a740L,
  26484. 0x0adbb3f3eb59107cL },
  26485. { 0x983e951e5eaa8eb8L,0xe663a8b511b48e78L,0x1631cc0d8a03f2c5L,
  26486. 0x7577c11e11e271e2L } },
  26487. /* 10 << 7 */
  26488. { { 0x33b2385c08369a90L,0x2990c59b190eb4f8L,0x819a6145c68eac80L,
  26489. 0x7a786d622ec4a014L },
  26490. { 0x33faadbe20ac3a8dL,0x31a217815aba2d30L,0x209d2742dba4f565L,
  26491. 0xdb2ce9e355aa0fbbL } },
  26492. /* 11 << 7 */
  26493. { { 0x8cef334b168984dfL,0xe81dce1733879638L,0xf6e6949c263720f0L,
  26494. 0x5c56feaff593cbecL },
  26495. { 0x8bff5601fde58c84L,0x74e241172eccb314L,0xbcf01b614c9a8a78L,
  26496. 0xa233e35e544c9868L } },
  26497. /* 12 << 7 */
  26498. { { 0xb3156bf38bd7aff1L,0x1b5ee4cb1d81b146L,0x7ba1ac41d628a915L,
  26499. 0x8f3a8f9cfd89699eL },
  26500. { 0x7329b9c9a0748be7L,0x1d391c95a92e621fL,0xe51e6b214d10a837L,
  26501. 0xd255f53a4947b435L } },
  26502. /* 13 << 7 */
  26503. { { 0x07669e04f1788ee3L,0xc14f27afa86938a2L,0x8b47a334e93a01c0L,
  26504. 0xff627438d9366808L },
  26505. { 0x7a0985d8ca2a5965L,0x3d9a5542d6e9b9b3L,0xc23eb80b4cf972e8L,
  26506. 0x5c1c33bb4fdf72fdL } },
  26507. /* 14 << 7 */
  26508. { { 0x0c4a58d474a86108L,0xf8048a8fee4c5d90L,0xe3c7c924e86d4c80L,
  26509. 0x28c889de056a1e60L },
  26510. { 0x57e2662eb214a040L,0xe8c48e9837e10347L,0x8774286280ac748aL,
  26511. 0xf1c24022186b06f2L } },
  26512. /* 15 << 7 */
  26513. { { 0xac2dd4c35f74040aL,0x409aeb71fceac957L,0x4fbad78255c4ec23L,
  26514. 0xb359ed618a7b76ecL },
  26515. { 0x12744926ed6f4a60L,0xe21e8d7f4b912de3L,0xe2575a59fc705a59L,
  26516. 0x72f1d4deed2dbc0eL } },
  26517. /* 16 << 7 */
  26518. { { 0x3d2b24b9eb7926b8L,0xbff88cb3cdbe5509L,0xd0f399afe4dd640bL,
  26519. 0x3c5fe1302f76ed45L },
  26520. { 0x6f3562f43764fb3dL,0x7b5af3183151b62dL,0xd5bd0bc7d79ce5f3L,
  26521. 0xfdaf6b20ec66890fL } },
  26522. /* 17 << 7 */
  26523. { { 0x735c67ec6063540cL,0x50b259c2e5f9cb8fL,0xb8734f9a3f99c6abL,
  26524. 0xf8cc13d5a3a7bc85L },
  26525. { 0x80c1b305c5217659L,0xfe5364d44ec12a54L,0xbd87045e681345feL,
  26526. 0x7f8efeb1582f897fL } },
  26527. /* 18 << 7 */
  26528. { { 0xe8cbf1e5d5923359L,0xdb0cea9d539b9fb0L,0x0c5b34cf49859b98L,
  26529. 0x5e583c56a4403cc6L },
  26530. { 0x11fc1a2dd48185b7L,0xc93fbc7e6e521787L,0x47e7a05805105b8bL,
  26531. 0x7b4d4d58db8260c8L } },
  26532. /* 19 << 7 */
  26533. { { 0xe33930b046eb842aL,0x8e844a9a7bdae56dL,0x34ef3a9e13f7fdfcL,
  26534. 0xb3768f82636ca176L },
  26535. { 0x2821f4e04e09e61cL,0x414dc3a1a0c7cddcL,0xd537943754945fcdL,
  26536. 0x151b6eefb3555ff1L } },
  26537. /* 20 << 7 */
  26538. { { 0xb31bd6136339c083L,0x39ff8155dfb64701L,0x7c3388d2e29604abL,
  26539. 0x1e19084ba6b10442L },
  26540. { 0x17cf54c0eccd47efL,0x896933854a5dfb30L,0x69d023fb47daf9f6L,
  26541. 0x9222840b7d91d959L } },
  26542. /* 21 << 7 */
  26543. { { 0x439108f5803bac62L,0x0b7dd91d379bd45fL,0xd651e827ca63c581L,
  26544. 0x5c5d75f6509c104fL },
  26545. { 0x7d5fc7381f2dc308L,0x20faa7bfd98454beL,0x95374beea517b031L,
  26546. 0xf036b9b1642692acL } },
  26547. /* 22 << 7 */
  26548. { { 0xc510610939842194L,0xb7e2353e49d05295L,0xfc8c1d5cefb42ee0L,
  26549. 0xe04884eb08ce811cL },
  26550. { 0xf1f75d817419f40eL,0x5b0ac162a995c241L,0x120921bbc4c55646L,
  26551. 0x713520c28d33cf97L } },
  26552. /* 23 << 7 */
  26553. { { 0xb4a65a5ce98c5100L,0x6cec871d2ddd0f5aL,0x251f0b7f9ba2e78bL,
  26554. 0x224a8434ce3a2a5fL },
  26555. { 0x26827f6125f5c46fL,0x6a22bedc48545ec0L,0x25ae5fa0b1bb5cdcL,
  26556. 0xd693682ffcb9b98fL } },
  26557. /* 24 << 7 */
  26558. { { 0x32027fe891e5d7d3L,0xf14b7d1773a07678L,0xf88497b3c0dfdd61L,
  26559. 0xf7c2eec02a8c4f48L },
  26560. { 0xaa5573f43756e621L,0xc013a2401825b948L,0x1c03b34563878572L,
  26561. 0xa0472bea653a4184L } },
  26562. /* 25 << 7 */
  26563. { { 0xf4222e270ac69a80L,0x34096d25f51e54f6L,0x00a648cb8fffa591L,
  26564. 0x4e87acdc69b6527fL },
  26565. { 0x0575e037e285ccb4L,0x188089e450ddcf52L,0xaa96c9a8870ff719L,
  26566. 0x74a56cd81fc7e369L } },
  26567. /* 26 << 7 */
  26568. { { 0x41d04ee21726931aL,0x0bbbb2c83660ecfdL,0xa6ef6de524818e18L,
  26569. 0xe421cc51e7d57887L },
  26570. { 0xf127d208bea87be6L,0x16a475d3b1cdd682L,0x9db1b684439b63f7L,
  26571. 0x5359b3dbf0f113b6L } },
  26572. /* 27 << 7 */
  26573. { { 0xdfccf1de8bf06e31L,0x1fdf8f44dd383901L,0x10775cad5017e7d2L,
  26574. 0xdfc3a59758d11eefL },
  26575. { 0x6ec9c8a0b1ecff10L,0xee6ed6cc28400549L,0xb5ad7bae1b4f8d73L,
  26576. 0x61b4f11de00aaab9L } },
  26577. /* 28 << 7 */
  26578. { { 0x7b32d69bd4eff2d7L,0x88ae67714288b60fL,0x159461b437a1e723L,
  26579. 0x1f3d4789570aae8cL },
  26580. { 0x869118c07f9871daL,0x35fbda78f635e278L,0x738f3641e1541dacL,
  26581. 0x6794b13ac0dae45fL } },
  26582. /* 29 << 7 */
  26583. { { 0x065064ac09cc0917L,0x27c53729c68540fdL,0x0d2d4c8eef227671L,
  26584. 0xd23a9f80a1785a04L },
  26585. { 0x98c5952852650359L,0xfa09ad0174a1acadL,0x082d5a290b55bf5cL,
  26586. 0xa40f1c67419b8084L } },
  26587. /* 30 << 7 */
  26588. { { 0x3a5c752edcc18770L,0x4baf1f2f8825c3a5L,0xebd63f7421b153edL,
  26589. 0xa2383e47b2f64723L },
  26590. { 0xe7bf620a2646d19aL,0x56cb44ec03c83ffdL,0xaf7267c94f6be9f1L,
  26591. 0x8b2dfd7bc06bb5e9L } },
  26592. /* 31 << 7 */
  26593. { { 0xb87072f2a672c5c7L,0xeacb11c80d53c5e2L,0x22dac29dff435932L,
  26594. 0x37bdb99d4408693cL },
  26595. { 0xf6e62fb62899c20fL,0x3535d512447ece24L,0xfbdc6b88ff577ce3L,
  26596. 0x726693bd190575f2L } },
  26597. /* 32 << 7 */
  26598. { { 0x6772b0e5ab4b35a2L,0x1d8b6001f5eeaacfL,0x728f7ce4795b9580L,
  26599. 0x4a20ed2a41fb81daL },
  26600. { 0x9f685cd44fec01e6L,0x3ed7ddcca7ff50adL,0x460fd2640c2d97fdL,
  26601. 0x3a241426eb82f4f9L } },
  26602. /* 33 << 7 */
  26603. { { 0x17d1df2c6a8ea820L,0xb2b50d3bf22cc254L,0x03856cbab7291426L,
  26604. 0x87fd26ae04f5ee39L },
  26605. { 0x9cb696cc02bee4baL,0x5312180406820fd6L,0xa5dfc2690212e985L,
  26606. 0x666f7ffa160f9a09L } },
  26607. /* 34 << 7 */
  26608. { { 0xc503cd33bccd9617L,0x365dede4ba7730a3L,0x798c63555ddb0786L,
  26609. 0xa6c3200efc9cd3bcL },
  26610. { 0x060ffb2ce5e35efdL,0x99a4e25b5555a1c1L,0x11d95375f70b3751L,
  26611. 0x0a57354a160e1bf6L } },
  26612. /* 35 << 7 */
  26613. { { 0xecb3ae4bf8e4b065L,0x07a834c42e53022bL,0x1cd300b38692ed96L,
  26614. 0x16a6f79261ee14ecL },
  26615. { 0x8f1063c66a8649edL,0xfbcdfcfe869f3e14L,0x2cfb97c100a7b3ecL,
  26616. 0xcea49b3c7130c2f1L } },
  26617. /* 36 << 7 */
  26618. { { 0x462d044fe9d96488L,0x4b53d52e8182a0c1L,0x84b6ddd30391e9e9L,
  26619. 0x80ab7b48b1741a09L },
  26620. { 0xec0e15d427d3317fL,0x8dfc1ddb1a64671eL,0x93cc5d5fd49c5b92L,
  26621. 0xc995d53d3674a331L } },
  26622. /* 37 << 7 */
  26623. { { 0x302e41ec090090aeL,0x2278a0ccedb06830L,0x1d025932fbc99690L,
  26624. 0x0c32fbd2b80d68daL },
  26625. { 0xd79146daf341a6c1L,0xae0ba1391bef68a0L,0xc6b8a5638d774b3aL,
  26626. 0x1cf307bd880ba4d7L } },
  26627. /* 38 << 7 */
  26628. { { 0xc033bdc719803511L,0xa9f97b3b8888c3beL,0x3d68aebc85c6d05eL,
  26629. 0xc3b88a9d193919ebL },
  26630. { 0x2d300748c48b0ee3L,0x7506bc7c07a746c1L,0xfc48437c6e6d57f3L,
  26631. 0x5bd71587cfeaa91aL } },
  26632. /* 39 << 7 */
  26633. { { 0xa4ed0408c1bc5225L,0xd0b946db2719226dL,0x109ecd62758d2d43L,
  26634. 0x75c8485a2751759bL },
  26635. { 0xb0b75f499ce4177aL,0x4fa61a1e79c10c3dL,0xc062d300a167fcd7L,
  26636. 0x4df3874c750f0fa8L } },
  26637. /* 40 << 7 */
  26638. { { 0x29ae2cf983dfedc9L,0xf84371348d87631aL,0xaf5717117429c8d2L,
  26639. 0x18d15867146d9272L },
  26640. { 0x83053ecf69769bb7L,0xc55eb856c479ab82L,0x5ef7791c21b0f4b2L,
  26641. 0xaa5956ba3d491525L } },
  26642. /* 41 << 7 */
  26643. { { 0x407a96c29fe20ebaL,0xf27168bbe52a5ad3L,0x43b60ab3bf1d9d89L,
  26644. 0xe45c51ef710e727aL },
  26645. { 0xdfca5276099b4221L,0x8dc6407c2557a159L,0x0ead833591035895L,
  26646. 0x0a9db9579c55dc32L } },
  26647. /* 42 << 7 */
  26648. { { 0xe40736d3df61bc76L,0x13a619c03f778cdbL,0x6dd921a4c56ea28fL,
  26649. 0x76a524332fa647b4L },
  26650. { 0x23591891ac5bdc5dL,0xff4a1a72bac7dc01L,0x9905e26162df8453L,
  26651. 0x3ac045dfe63b265fL } },
  26652. /* 43 << 7 */
  26653. { { 0x8a3f341bad53dba7L,0x8ec269cc837b625aL,0xd71a27823ae31189L,
  26654. 0x8fb4f9a355e96120L },
  26655. { 0x804af823ff9875cfL,0x23224f575d442a9bL,0x1c4d3b9eecc62679L,
  26656. 0x91da22fba0e7ddb1L } },
  26657. /* 44 << 7 */
  26658. { { 0xa370324d6c04a661L,0x9710d3b65e376d17L,0xed8c98f03044e357L,
  26659. 0xc364ebbe6422701cL },
  26660. { 0x347f5d517733d61cL,0xd55644b9cea826c3L,0x80c6e0ad55a25548L,
  26661. 0x0aa7641d844220a7L } },
  26662. /* 45 << 7 */
  26663. { { 0x1438ec8131810660L,0x9dfa6507de4b4043L,0x10b515d8cc3e0273L,
  26664. 0x1b6066dd28d8cfb2L },
  26665. { 0xd3b045919c9efebdL,0x425d4bdfa21c1ff4L,0x5fe5af19d57607d3L,
  26666. 0xbbf773f754481084L } },
  26667. /* 46 << 7 */
  26668. { { 0x8435bd6994b03ed1L,0xd9ad1de3634cc546L,0x2cf423fc00e420caL,
  26669. 0xeed26d80a03096ddL },
  26670. { 0xd7f60be7a4db09d2L,0xf47f569d960622f7L,0xe5925fd77296c729L,
  26671. 0xeff2db2626ca2715L } },
  26672. /* 47 << 7 */
  26673. { { 0xa6fcd014b913e759L,0x53da47868ff4de93L,0x14616d79c32068e1L,
  26674. 0xb187d664ccdf352eL },
  26675. { 0xf7afb6501dc90b59L,0x8170e9437daa1b26L,0xc8e3bdd8700c0a84L,
  26676. 0x6e8d345f6482bdfaL } },
  26677. /* 48 << 7 */
  26678. { { 0x84cfbfa1c5c5ea50L,0xd3baf14c67960681L,0x263984030dd50942L,
  26679. 0xe4b7839c4716a663L },
  26680. { 0xd5f1f794e7de6dc0L,0x5cd0f4d4622aa7ceL,0x5295f3f159acfeecL,
  26681. 0x8d933552953e0607L } },
  26682. /* 49 << 7 */
  26683. { { 0xc7db8ec5776c5722L,0xdc467e622b5f290cL,0xd4297e704ff425a9L,
  26684. 0x4be924c10cf7bb72L },
  26685. { 0x0d5dc5aea1892131L,0x8bf8a8e3a705c992L,0x73a0b0647a305ac5L,
  26686. 0x00c9ca4e9a8c77a8L } },
  26687. /* 50 << 7 */
  26688. { { 0x5dfee80f83774bddL,0x6313160285734485L,0xa1b524ae914a69a9L,
  26689. 0xebc2ffafd4e300d7L },
  26690. { 0x52c93db77cfa46a5L,0x71e6161f21653b50L,0x3574fc57a4bc580aL,
  26691. 0xc09015dde1bc1253L } },
  26692. /* 51 << 7 */
  26693. { { 0x4b7b47b2d174d7aaL,0x4072d8e8f3a15d04L,0xeeb7d47fd6fa07edL,
  26694. 0x6f2b9ff9edbdafb1L },
  26695. { 0x18c516153760fe8aL,0x7a96e6bff06c6c13L,0x4d7a04100ea2d071L,
  26696. 0xa1914e9b0be2a5ceL } },
  26697. /* 52 << 7 */
  26698. { { 0x5726e357d8a3c5cfL,0x1197ecc32abb2b13L,0x6c0d7f7f31ae88ddL,
  26699. 0x15b20d1afdbb3efeL },
  26700. { 0xcd06aa2670584039L,0x2277c969a7dc9747L,0xbca695877855d815L,
  26701. 0x899ea2385188b32aL } },
  26702. /* 53 << 7 */
  26703. { { 0x37d9228b760c1c9dL,0xc7efbb119b5c18daL,0x7f0d1bc819f6dbc5L,
  26704. 0x4875384b07e6905bL },
  26705. { 0xc7c50baa3ba8cd86L,0xb0ce40fbc2905de0L,0x708406737a231952L,
  26706. 0xa912a262cf43de26L } },
  26707. /* 54 << 7 */
  26708. { { 0x9c38ddcceb5b76c1L,0x746f528526fc0ab4L,0x52a63a50d62c269fL,
  26709. 0x60049c5599458621L },
  26710. { 0xe7f48f823c2f7c9eL,0x6bd99043917d5cf3L,0xeb1317a88701f469L,
  26711. 0xbd3fe2ed9a449fe0L } },
  26712. /* 55 << 7 */
  26713. { { 0x421e79ca12ef3d36L,0x9ee3c36c3e7ea5deL,0xe48198b5cdff36f7L,
  26714. 0xaff4f967c6b82228L },
  26715. { 0x15e19dd0c47adb7eL,0x45699b23032e7dfaL,0x40680c8b1fae026aL,
  26716. 0x5a347a48550dbf4dL } },
  26717. /* 56 << 7 */
  26718. { { 0xe652533b3cef0d7dL,0xd94f7b182bbb4381L,0x838752be0e80f500L,
  26719. 0x8e6e24889e9c9bfbL },
  26720. { 0xc975169716caca6aL,0x866c49d838531ad9L,0xc917e2397151ade1L,
  26721. 0x2d016ec16037c407L } },
  26722. /* 57 << 7 */
  26723. { { 0xa407ccc900eac3f9L,0x835f6280e2ed4748L,0xcc54c3471cc98e0dL,
  26724. 0x0e969937dcb572ebL },
  26725. { 0x1b16c8e88f30c9cbL,0xa606ae75373c4661L,0x47aa689b35502cabL,
  26726. 0xf89014ae4d9bb64fL } },
  26727. /* 58 << 7 */
  26728. { { 0x202f6a9c31c71f7bL,0x01f95aa3296ffe5cL,0x5fc0601453cec3a3L,
  26729. 0xeb9912375f498a45L },
  26730. { 0xae9a935e5d91ba87L,0xc6ac62810b564a19L,0x8a8fe81c3bd44e69L,
  26731. 0x7c8b467f9dd11d45L } },
  26732. /* 59 << 7 */
  26733. { { 0xf772251fea5b8e69L,0xaeecb3bdc5b75fbcL,0x1aca3331887ff0e5L,
  26734. 0xbe5d49ff19f0a131L },
  26735. { 0x582c13aae5c8646fL,0xdbaa12e820e19980L,0x8f40f31af7abbd94L,
  26736. 0x1f13f5a81dfc7663L } },
  26737. /* 60 << 7 */
  26738. { { 0x5d81f1eeaceb4fc0L,0x362560025e6f0f42L,0x4b67d6d7751370c8L,
  26739. 0x2608b69803e80589L },
  26740. { 0xcfc0d2fc05268301L,0xa6943d3940309212L,0x192a90c21fd0e1c2L,
  26741. 0xb209f11337f1dc76L } },
  26742. /* 61 << 7 */
  26743. { { 0xefcc5e0697bf1298L,0xcbdb6730219d639eL,0xd009c116b81e8c6fL,
  26744. 0xa3ffdde31a7ce2e5L },
  26745. { 0xc53fbaaaa914d3baL,0x836d500f88df85eeL,0xd98dc71b66ee0751L,
  26746. 0x5a3d7005714516fdL } },
  26747. /* 62 << 7 */
  26748. { { 0x21d3634d39eedbbaL,0x35cd2e680455a46dL,0xc8cafe65f9d7eb0cL,
  26749. 0xbda3ce9e00cefb3eL },
  26750. { 0xddc17a602c9cf7a4L,0x01572ee47bcb8773L,0xa92b2b018c7548dfL,
  26751. 0x732fd309a84600e3L } },
  26752. /* 63 << 7 */
  26753. { { 0xe22109c716543a40L,0x9acafd36fede3c6cL,0xfb2068526824e614L,
  26754. 0x2a4544a9da25dca0L },
  26755. { 0x2598526291d60b06L,0x281b7be928753545L,0xec667b1a90f13b27L,
  26756. 0x33a83aff940e2eb4L } },
  26757. /* 64 << 7 */
  26758. { { 0x80009862d5d721d5L,0x0c3357a35bd3a182L,0x27f3a83b7aa2cda4L,
  26759. 0xb58ae74ef6f83085L },
  26760. { 0x2a911a812e6dad6bL,0xde286051f43d6c5bL,0x4bdccc41f996c4d8L,
  26761. 0xe7312ec00ae1e24eL } },
  26762. /* 0 << 14 */
  26763. { { 0x00, 0x00, 0x00, 0x00 },
  26764. { 0x00, 0x00, 0x00, 0x00 } },
  26765. /* 1 << 14 */
  26766. { { 0xf8d112e76e6485b3L,0x4d3e24db771c52f8L,0x48e3ee41684a2f6dL,
  26767. 0x7161957d21d95551L },
  26768. { 0x19631283cdb12a6cL,0xbf3fa8822e50e164L,0xf6254b633166cc73L,
  26769. 0x3aefa7aeaee8cc38L } },
  26770. /* 2 << 14 */
  26771. { { 0x79b0fe623b36f9fdL,0x26543b23fde19fc0L,0x136e64a0958482efL,
  26772. 0x23f637719b095825L },
  26773. { 0x14cfd596b6a1142eL,0x5ea6aac6335aac0bL,0x86a0e8bdf3081dd5L,
  26774. 0x5fb89d79003dc12aL } },
  26775. /* 3 << 14 */
  26776. { { 0xf615c33af72e34d4L,0x0bd9ea40110eec35L,0x1c12bc5bc1dea34eL,
  26777. 0x686584c949ae4699L },
  26778. { 0x13ad95d38c97b942L,0x4609561a4e5c7562L,0x9e94a4aef2737f89L,
  26779. 0xf57594c6371c78b6L } },
  26780. /* 4 << 14 */
  26781. { { 0x0f0165fce3779ee3L,0xe00e7f9dbd495d9eL,0x1fa4efa220284e7aL,
  26782. 0x4564bade47ac6219L },
  26783. { 0x90e6312ac4708e8eL,0x4f5725fba71e9adfL,0xe95f55ae3d684b9fL,
  26784. 0x47f7ccb11e94b415L } },
  26785. /* 5 << 14 */
  26786. { { 0x7322851b8d946581L,0xf0d13133bdf4a012L,0xa3510f696584dae0L,
  26787. 0x03a7c1713c9f6c6dL },
  26788. { 0x5be97f38e475381aL,0xca1ba42285823334L,0xf83cc5c70be17ddaL,
  26789. 0x158b14940b918c0fL } },
  26790. /* 6 << 14 */
  26791. { { 0xda3a77e5522e6b69L,0x69c908c3bbcd6c18L,0x1f1b9e48d924fd56L,
  26792. 0x37c64e36aa4bb3f7L },
  26793. { 0x5a4fdbdfee478d7dL,0xba75c8bc0193f7a0L,0x84bc1e8456cd16dfL,
  26794. 0x1fb08f0846fad151L } },
  26795. /* 7 << 14 */
  26796. { { 0x8a7cabf9842e9f30L,0xa331d4bf5eab83afL,0xd272cfba017f2a6aL,
  26797. 0x27560abc83aba0e3L },
  26798. { 0x94b833870e3a6b75L,0x25c6aea26b9f50f5L,0x803d691db5fdf6d0L,
  26799. 0x03b77509e6333514L } },
  26800. /* 8 << 14 */
  26801. { { 0x3617890361a341c1L,0x3604dc600cfd6142L,0x022295eb8533316cL,
  26802. 0x3dbde4ac44af2922L },
  26803. { 0x898afc5d1c7eef69L,0x58896805d14f4fa1L,0x05002160203c21caL,
  26804. 0x6f0d1f3040ef730bL } },
  26805. /* 9 << 14 */
  26806. { { 0x8e8c44d4196224f8L,0x75a4ab95374d079dL,0x79085ecc7d48f123L,
  26807. 0x56f04d311bf65ad8L },
  26808. { 0xe220bf1cbda602b2L,0x73ee1742f9612c69L,0x76008fc8084fd06bL,
  26809. 0x4000ef9ff11380d1L } },
  26810. /* 10 << 14 */
  26811. { { 0x48201b4b12cfe297L,0x3eee129c292f74e5L,0xe1fe114ec9e874e8L,
  26812. 0x899b055c92c5fc41L },
  26813. { 0x4e477a643a39c8cfL,0x82f09efe78963cc9L,0x6fd3fd8fd333f863L,
  26814. 0x85132b2adc949c63L } },
  26815. /* 11 << 14 */
  26816. { { 0x7e06a3ab516eb17bL,0x73bec06fd2c7372bL,0xe4f74f55ba896da6L,
  26817. 0xbb4afef88e9eb40fL },
  26818. { 0x2d75bec8e61d66b0L,0x02bda4b4ef29300bL,0x8bbaa8de026baa5aL,
  26819. 0xff54befda07f4440L } },
  26820. /* 12 << 14 */
  26821. { { 0xbd9b8b1dbe7a2af3L,0xec51caa94fb74a72L,0xb9937a4b63879697L,
  26822. 0x7c9a9d20ec2687d5L },
  26823. { 0x1773e44f6ef5f014L,0x8abcf412e90c6900L,0x387bd0228142161eL,
  26824. 0x50393755fcb6ff2aL } },
  26825. /* 13 << 14 */
  26826. { { 0x9813fd56ed6def63L,0x53cf64827d53106cL,0x991a35bd431f7ac1L,
  26827. 0xf1e274dd63e65fafL },
  26828. { 0xf63ffa3c44cc7880L,0x411a426b7c256981L,0xb698b9fd93a420e0L,
  26829. 0x89fdddc0ae53f8feL } },
  26830. /* 14 << 14 */
  26831. { { 0x766e072232398baaL,0x205fee425cfca031L,0xa49f53417a029cf2L,
  26832. 0xa88c68b84023890dL },
  26833. { 0xbc2750417337aaa8L,0x9ed364ad0eb384f4L,0xe0816f8529aba92fL,
  26834. 0x2e9e194104e38a88L } },
  26835. /* 15 << 14 */
  26836. { { 0x57eef44a3dafd2d5L,0x35d1fae597ed98d8L,0x50628c092307f9b1L,
  26837. 0x09d84aaed6cba5c6L },
  26838. { 0x67071bc788aaa691L,0x2dea57a9afe6cb03L,0xdfe11bb43d78ac01L,
  26839. 0x7286418c7fd7aa51L } },
  26840. /* 16 << 14 */
  26841. { { 0xfabf770977f7195aL,0x8ec86167adeb838fL,0xea1285a8bb4f012dL,
  26842. 0xd68835039a3eab3fL },
  26843. { 0xee5d24f8309004c2L,0xa96e4b7613ffe95eL,0x0cdffe12bd223ea4L,
  26844. 0x8f5c2ee5b6739a53L } },
  26845. /* 17 << 14 */
  26846. { { 0x5cb4aaa5dd968198L,0xfa131c5272413a6cL,0x53d46a909536d903L,
  26847. 0xb270f0d348606d8eL },
  26848. { 0x518c7564a053a3bcL,0x088254b71a86caefL,0xb3ba8cb40ab5efd0L,
  26849. 0x5c59900e4605945dL } },
  26850. /* 18 << 14 */
  26851. { { 0xecace1dda1887395L,0x40960f36932a65deL,0x9611ff5c3aa95529L,
  26852. 0xc58215b07c1e5a36L },
  26853. { 0xd48c9b58f0e1a524L,0xb406856bf590dfb8L,0xc7605e049cd95662L,
  26854. 0x0dd036eea33ecf82L } },
  26855. /* 19 << 14 */
  26856. { { 0xa50171acc33156b3L,0xf09d24ea4a80172eL,0x4e1f72c676dc8eefL,
  26857. 0xe60caadc5e3d44eeL },
  26858. { 0x006ef8a6979b1d8fL,0x60908a1c97788d26L,0x6e08f95b266feec0L,
  26859. 0x618427c222e8c94eL } },
  26860. /* 20 << 14 */
  26861. { { 0x3d61333959145a65L,0xcd9bc368fa406337L,0x82d11be32d8a52a0L,
  26862. 0xf6877b2797a1c590L },
  26863. { 0x837a819bf5cbdb25L,0x2a4fd1d8de090249L,0x622a7de774990e5fL,
  26864. 0x840fa5a07945511bL } },
  26865. /* 21 << 14 */
  26866. { { 0x30b974be6558842dL,0x70df8c6417f3d0a6L,0x7c8035207542e46dL,
  26867. 0x7251fe7fe4ecc823L },
  26868. { 0xe59134cb5e9aac9aL,0x11bb0934f0045d71L,0x53e5d9b5dbcb1d4eL,
  26869. 0x8d97a90592defc91L } },
  26870. /* 22 << 14 */
  26871. { { 0xfe2893277946d3f9L,0xe132bd2407472273L,0xeeeb510c1eb6ae86L,
  26872. 0x777708c5f0595067L },
  26873. { 0x18e2c8cd1297029eL,0x2c61095cbbf9305eL,0xe466c2586b85d6d9L,
  26874. 0x8ac06c36da1ea530L } },
  26875. /* 23 << 14 */
  26876. { { 0xa365dc39a1304668L,0xe4a9c88507f89606L,0x65a4898facc7228dL,
  26877. 0x3e2347ff84ca8303L },
  26878. { 0xa5f6fb77ea7d23a3L,0x2fac257d672a71cdL,0x6908bef87e6a44d3L,
  26879. 0x8ff87566891d3d7aL } },
  26880. /* 24 << 14 */
  26881. { { 0xe58e90b36b0cf82eL,0x6438d2462615b5e7L,0x07b1f8fc669c145aL,
  26882. 0xb0d8b2da36f1e1cbL },
  26883. { 0x54d5dadbd9184c4dL,0x3dbb18d5f93d9976L,0x0a3e0f56d1147d47L,
  26884. 0x2afa8c8da0a48609L } },
  26885. /* 25 << 14 */
  26886. { { 0x275353e8bc36742cL,0x898f427eeea0ed90L,0x26f4947e3e477b00L,
  26887. 0x8ad8848a308741e3L },
  26888. { 0x6c703c38d74a2a46L,0x5e3e05a99ba17ba2L,0xc1fa6f664ab9a9e4L,
  26889. 0x474a2d9a3841d6ecL } },
  26890. /* 26 << 14 */
  26891. { { 0x871239ad653ae326L,0x14bcf72aa74cbb43L,0x8737650e20d4c083L,
  26892. 0x3df86536110ed4afL },
  26893. { 0xd2d86fe7b53ca555L,0x688cb00dabd5d538L,0xcf81bda31ad38468L,
  26894. 0x7ccfe3ccf01167b6L } },
  26895. /* 27 << 14 */
  26896. { { 0xcf4f47e06c4c1fe6L,0x557e1f1a298bbb79L,0xf93b974f30d45a14L,
  26897. 0x174a1d2d0baf97c4L },
  26898. { 0x7a003b30c51fbf53L,0xd8940991ee68b225L,0x5b0aa7b71c0f4173L,
  26899. 0x975797c9a20a7153L } },
  26900. /* 28 << 14 */
  26901. { { 0x26e08c07e3533d77L,0xd7222e6a2e341c99L,0x9d60ec3d8d2dc4edL,
  26902. 0xbdfe0d8f7c476cf8L },
  26903. { 0x1fe59ab61d056605L,0xa9ea9df686a8551fL,0x8489941e47fb8d8cL,
  26904. 0xfeb874eb4a7f1b10L } },
  26905. /* 29 << 14 */
  26906. { { 0xfe5fea867ee0d98fL,0x201ad34bdbf61864L,0x45d8fe4737c031d4L,
  26907. 0xd5f49fae795f0822L },
  26908. { 0xdb0fb291c7f4a40cL,0x2e69d9c1730ddd92L,0x754e105449d76987L,
  26909. 0x8a24911d7662db87L } },
  26910. /* 30 << 14 */
  26911. { { 0x61fc181060a71676L,0xe852d1a8f66a8ad1L,0x172bbd656417231eL,
  26912. 0x0d6de7bd3babb11fL },
  26913. { 0x6fde6f88c8e347f8L,0x1c5875479bd99cc3L,0x78e54ed034076950L,
  26914. 0x97f0f334796e83baL } },
  26915. /* 31 << 14 */
  26916. { { 0xe4dbe1ce4924867aL,0xbd5f51b060b84917L,0x375300403cb09a79L,
  26917. 0xdb3fe0f8ff1743d8L },
  26918. { 0xed7894d8556fa9dbL,0xfa26216923412fbfL,0x563be0dbba7b9291L,
  26919. 0x6ca8b8c00c9fb234L } },
  26920. /* 32 << 14 */
  26921. { { 0xed406aa9bd763802L,0xc21486a065303da1L,0x61ae291ec7e62ec4L,
  26922. 0x622a0492df99333eL },
  26923. { 0x7fd80c9dbb7a8ee0L,0xdc2ed3bc6c01aedbL,0x35c35a1208be74ecL,
  26924. 0xd540cb1a469f671fL } },
  26925. /* 33 << 14 */
  26926. { { 0xd16ced4ecf84f6c7L,0x8561fb9c2d090f43L,0x7e693d796f239db4L,
  26927. 0xa736f92877bd0d94L },
  26928. { 0x07b4d9292c1950eeL,0xda17754356dc11b3L,0xa5dfbbaa7a6a878eL,
  26929. 0x1c70cb294decb08aL } },
  26930. /* 34 << 14 */
  26931. { { 0xfba28c8b6f0f7c50L,0xa8eba2b8854dcc6dL,0x5ff8e89a36b78642L,
  26932. 0x070c1c8ef6873adfL },
  26933. { 0xbbd3c3716484d2e4L,0xfb78318f0d414129L,0x2621a39c6ad93b0bL,
  26934. 0x979d74c2a9e917f7L } },
  26935. /* 35 << 14 */
  26936. { { 0xfc19564761fb0428L,0x4d78954abee624d4L,0xb94896e0b8ae86fdL,
  26937. 0x6667ac0cc91c8b13L },
  26938. { 0x9f18051243bcf832L,0xfbadf8b7a0010137L,0xc69b4089b3ba8aa7L,
  26939. 0xfac4bacde687ce85L } },
  26940. /* 36 << 14 */
  26941. { { 0x9164088d977eab40L,0x51f4c5b62760b390L,0xd238238f340dd553L,
  26942. 0x358566c3db1d31c9L },
  26943. { 0x3a5ad69e5068f5ffL,0xf31435fcdaff6b06L,0xae549a5bd6debff0L,
  26944. 0x59e5f0b775e01331L } },
  26945. /* 37 << 14 */
  26946. { { 0x5d492fb898559acfL,0x96018c2e4db79b50L,0x55f4a48f609f66aaL,
  26947. 0x1943b3af4900a14fL },
  26948. { 0xc22496df15a40d39L,0xb2a446844c20f7c5L,0x76a35afa3b98404cL,
  26949. 0xbec75725ff5d1b77L } },
  26950. /* 38 << 14 */
  26951. { { 0xb67aa163bea06444L,0x27e95bb2f724b6f2L,0x3c20e3e9d238c8abL,
  26952. 0x1213754eddd6ae17L },
  26953. { 0x8c431020716e0f74L,0x6679c82effc095c2L,0x2eb3adf4d0ac2932L,
  26954. 0x2cc970d301bb7a76L } },
  26955. /* 39 << 14 */
  26956. { { 0x70c71f2f740f0e66L,0x545c616b2b6b23ccL,0x4528cfcbb40a8bd7L,
  26957. 0xff8396332ab27722L },
  26958. { 0x049127d9025ac99aL,0xd314d4a02b63e33bL,0xc8c310e728d84519L,
  26959. 0x0fcb8983b3bc84baL } },
  26960. /* 40 << 14 */
  26961. { { 0x2cc5226138634818L,0x501814f4b44c2e0bL,0xf7e181aa54dfdba3L,
  26962. 0xcfd58ff0e759718cL },
  26963. { 0xf90cdb14d3b507a8L,0x57bd478ec50bdad8L,0x29c197e250e5f9aaL,
  26964. 0x4db6eef8e40bc855L } },
  26965. /* 41 << 14 */
  26966. { { 0x2cc8f21ad1fc0654L,0xc71cc96381269d73L,0xecfbb204077f49f9L,
  26967. 0xdde92571ca56b793L },
  26968. { 0x9abed6a3f97ad8f7L,0xe6c19d3f924de3bdL,0x8dce92f4a140a800L,
  26969. 0x85f44d1e1337af07L } },
  26970. /* 42 << 14 */
  26971. { { 0x5953c08b09d64c52L,0xa1b5e49ff5df9749L,0x336a8fb852735f7dL,
  26972. 0xb332b6db9add676bL },
  26973. { 0x558b88a0b4511aa4L,0x09788752dbd5cc55L,0x16b43b9cd8cd52bdL,
  26974. 0x7f0bc5a0c2a2696bL } },
  26975. /* 43 << 14 */
  26976. { { 0x146e12d4c11f61efL,0x9ce107543a83e79eL,0x08ec73d96cbfca15L,
  26977. 0x09ff29ad5b49653fL },
  26978. { 0xe31b72bde7da946eL,0xebf9eb3bee80a4f2L,0xd1aabd0817598ce4L,
  26979. 0x18b5fef453f37e80L } },
  26980. /* 44 << 14 */
  26981. { { 0xd5d5cdd35958cd79L,0x3580a1b51d373114L,0xa36e4c91fa935726L,
  26982. 0xa38c534def20d760L },
  26983. { 0x7088e40a2ff5845bL,0xe5bb40bdbd78177fL,0x4f06a7a8857f9920L,
  26984. 0xe3cc3e50e968f05dL } },
  26985. /* 45 << 14 */
  26986. { { 0x1d68b7fee5682d26L,0x5206f76faec7f87cL,0x41110530041951abL,
  26987. 0x58ec52c1d4b5a71aL },
  26988. { 0xf3488f990f75cf9aL,0xf411951fba82d0d5L,0x27ee75be618895abL,
  26989. 0xeae060d46d8aab14L } },
  26990. /* 46 << 14 */
  26991. { { 0x9ae1df737fb54dc2L,0x1f3e391b25963649L,0x242ec32afe055081L,
  26992. 0x5bd450ef8491c9bdL },
  26993. { 0x367efc67981eb389L,0xed7e19283a0550d5L,0x362e776bab3ce75cL,
  26994. 0xe890e3081f24c523L } },
  26995. /* 47 << 14 */
  26996. { { 0xb961b682feccef76L,0x8b8e11f58bba6d92L,0x8f2ccc4c2b2375c4L,
  26997. 0x0d7f7a52e2f86cfaL },
  26998. { 0xfd94d30a9efe5633L,0x2d8d246b5451f934L,0x2234c6e3244e6a00L,
  26999. 0xde2b5b0dddec8c50L } },
  27000. /* 48 << 14 */
  27001. { { 0x2ce53c5abf776f5bL,0x6f72407160357b05L,0xb259371771bf3f7aL,
  27002. 0x87d2501c440c4a9fL },
  27003. { 0x440552e187b05340L,0xb7bf7cc821624c32L,0x4155a6ce22facddbL,
  27004. 0x5a4228cb889837efL } },
  27005. /* 49 << 14 */
  27006. { { 0xef87d6d6fd4fd671L,0xa233687ec2daa10eL,0x7562224403c0eb96L,
  27007. 0x7632d1848bf19be6L },
  27008. { 0x05d0f8e940735ff4L,0x3a3e6e13c00931f1L,0x31ccde6adafe3f18L,
  27009. 0xf381366acfe51207L } },
  27010. /* 50 << 14 */
  27011. { { 0x24c222a960167d92L,0x62f9d6f87529f18cL,0x412397c00353b114L,
  27012. 0x334d89dcef808043L },
  27013. { 0xd9ec63ba2a4383ceL,0xcec8e9375cf92ba0L,0xfb8b4288c8be74c0L,
  27014. 0x67d6912f105d4391L } },
  27015. /* 51 << 14 */
  27016. { { 0x7b996c461b913149L,0x36aae2ef3a4e02daL,0xb68aa003972de594L,
  27017. 0x284ec70d4ec6d545L },
  27018. { 0xf3d2b2d061391d54L,0x69c5d5d6fe114e92L,0xbe0f00b5b4482dffL,
  27019. 0xe1596fa5f5bf33c5L } },
  27020. /* 52 << 14 */
  27021. { { 0x10595b5696a71cbaL,0x944938b2fdcadeb7L,0xa282da4cfccd8471L,
  27022. 0x98ec05f30d37bfe1L },
  27023. { 0xe171ce1b0698304aL,0x2d69144421bdf79bL,0xd0cd3b741b21dec1L,
  27024. 0x712ecd8b16a15f71L } },
  27025. /* 53 << 14 */
  27026. { { 0x8d4c00a700fd56e1L,0x02ec9692f9527c18L,0x21c449374a3e42e1L,
  27027. 0x9176fbab1392ae0aL },
  27028. { 0x8726f1ba44b7b618L,0xb4d7aae9f1de491cL,0xf91df7b907b582c0L,
  27029. 0x7e116c30ef60aa3aL } },
  27030. /* 54 << 14 */
  27031. { { 0x99270f81466265d7L,0xb15b6fe24df7adf0L,0xfe33b2d3f9738f7fL,
  27032. 0x48553ab9d6d70f95L },
  27033. { 0x2cc72ac8c21e94dbL,0x795ac38dbdc0bbeeL,0x0a1be4492e40478fL,
  27034. 0x81bd3394052bde55L } },
  27035. /* 55 << 14 */
  27036. { { 0x63c8dbe956b3c4f2L,0x017a99cf904177ccL,0x947bbddb4d010fc1L,
  27037. 0xacf9b00bbb2c9b21L },
  27038. { 0x2970bc8d47173611L,0x1a4cbe08ac7d756fL,0x06d9f4aa67d541a2L,
  27039. 0xa3e8b68959c2cf44L } },
  27040. /* 56 << 14 */
  27041. { { 0xaad066da4d88f1ddL,0xc604f1657ad35deaL,0x7edc07204478ca67L,
  27042. 0xa10dfae0ba02ce06L },
  27043. { 0xeceb1c76af36f4e4L,0x994b2292af3f8f48L,0xbf9ed77b77c8a68cL,
  27044. 0x74f544ea51744c9dL } },
  27045. /* 57 << 14 */
  27046. { { 0x82d05bb98113a757L,0x4ef2d2b48a9885e4L,0x1e332be51aa7865fL,
  27047. 0x22b76b18290d1a52L },
  27048. { 0x308a231044351683L,0x9d861896a3f22840L,0x5959ddcd841ed947L,
  27049. 0x0def0c94154b73bfL } },
  27050. /* 58 << 14 */
  27051. { { 0xf01054174c7c15e0L,0x539bfb023a277c32L,0xe699268ef9dccf5fL,
  27052. 0x9f5796a50247a3bdL },
  27053. { 0x8b839de84f157269L,0xc825c1e57a30196bL,0x6ef0aabcdc8a5a91L,
  27054. 0xf4a8ce6c498b7fe6L } },
  27055. /* 59 << 14 */
  27056. { { 0x1cce35a770cbac78L,0x83488e9bf6b23958L,0x0341a070d76cb011L,
  27057. 0xda6c9d06ae1b2658L },
  27058. { 0xb701fb30dd648c52L,0x994ca02c52fb9fd1L,0x069331176f563086L,
  27059. 0x3d2b810017856babL } },
  27060. /* 60 << 14 */
  27061. { { 0xe89f48c85963a46eL,0x658ab875a99e61c7L,0x6e296f874b8517b4L,
  27062. 0x36c4fcdcfc1bc656L },
  27063. { 0xde5227a1a3906defL,0x9fe95f5762418945L,0x20c91e81fdd96cdeL,
  27064. 0x5adbe47eda4480deL } },
  27065. /* 61 << 14 */
  27066. { { 0xa009370f396de2b6L,0x98583d4bf0ecc7bdL,0xf44f6b57e51d0672L,
  27067. 0x03d6b078556b1984L },
  27068. { 0x27dbdd93b0b64912L,0x9b3a343415687b09L,0x0dba646151ec20a9L,
  27069. 0xec93db7fff28187cL } },
  27070. /* 62 << 14 */
  27071. { { 0x00ff8c2466e48bddL,0x2514f2f911ccd78eL,0xeba11f4fe1250603L,
  27072. 0x8a22cd41243fa156L },
  27073. { 0xa4e58df4b283e4c6L,0x78c298598b39783fL,0x5235aee2a5259809L,
  27074. 0xc16284b50e0227ddL } },
  27075. /* 63 << 14 */
  27076. { { 0xa5f579161338830dL,0x6d4b8a6bd2123fcaL,0x236ea68af9c546f8L,
  27077. 0xc1d36873fa608d36L },
  27078. { 0xcd76e4958d436d13L,0xd4d9c2218fb080afL,0x665c1728e8ad3fb5L,
  27079. 0xcf1ebe4db3d572e0L } },
  27080. /* 64 << 14 */
  27081. { { 0xa7a8746a584c5e20L,0x267e4ea1b9dc7035L,0x593a15cfb9548c9bL,
  27082. 0x5e6e21354bd012f3L },
  27083. { 0xdf31cc6a8c8f936eL,0x8af84d04b5c241dcL,0x63990a6f345efb86L,
  27084. 0x6fef4e61b9b962cbL } },
  27085. /* 0 << 21 */
  27086. { { 0x00, 0x00, 0x00, 0x00 },
  27087. { 0x00, 0x00, 0x00, 0x00 } },
  27088. /* 1 << 21 */
  27089. { { 0xf6368f0925722608L,0x131260db131cf5c6L,0x40eb353bfab4f7acL,
  27090. 0x85c7888037eee829L },
  27091. { 0x4c1581ffc3bdf24eL,0x5bff75cbf5c3c5a8L,0x35e8c83fa14e6f40L,
  27092. 0xb81d1c0f0295e0caL } },
  27093. /* 2 << 21 */
  27094. { { 0xfcde7cc8f43a730fL,0xe89b6f3c33ab590eL,0xc823f529ad03240bL,
  27095. 0x82b79afe98bea5dbL },
  27096. { 0x568f2856962fe5deL,0x0c590adb60c591f3L,0x1fc74a144a28a858L,
  27097. 0x3b662498b3203f4cL } },
  27098. /* 3 << 21 */
  27099. { { 0x91e3cf0d6c39765aL,0xa2db3acdac3cca0bL,0x288f2f08cb953b50L,
  27100. 0x2414582ccf43cf1aL },
  27101. { 0x8dec8bbc60eee9a8L,0x54c79f02729aa042L,0xd81cd5ec6532f5d5L,
  27102. 0xa672303acf82e15fL } },
  27103. /* 4 << 21 */
  27104. { { 0x376aafa8719c0563L,0xcd8ad2dcbc5fc79fL,0x303fdb9fcb750cd3L,
  27105. 0x14ff052f4418b08eL },
  27106. { 0xf75084cf3e2d6520L,0x7ebdf0f8144ed509L,0xf43bf0f2d3f25b98L,
  27107. 0x86ad71cfa354d837L } },
  27108. /* 5 << 21 */
  27109. { { 0xb827fe9226f43572L,0xdfd3ab5b5d824758L,0x315dd23a539094c1L,
  27110. 0x85c0e37a66623d68L },
  27111. { 0x575c79727be19ae0L,0x616a3396df0d36b5L,0xa1ebb3c826b1ff7eL,
  27112. 0x635b9485140ad453L } },
  27113. /* 6 << 21 */
  27114. { { 0x92bf3cdada430c0bL,0x4702850e3a96dac6L,0xc91cf0a515ac326aL,
  27115. 0x95de4f49ab8c25e4L },
  27116. { 0xb01bad09e265c17cL,0x24e45464087b3881L,0xd43e583ce1fac5caL,
  27117. 0xe17cb3186ead97a6L } },
  27118. /* 7 << 21 */
  27119. { { 0x6cc3924374dcec46L,0x33cfc02d54c2b73fL,0x82917844f26cd99cL,
  27120. 0x8819dd95d1773f89L },
  27121. { 0x09572aa60871f427L,0x8e0cf365f6f01c34L,0x7fa52988bff1f5afL,
  27122. 0x4eb357eae75e8e50L } },
  27123. /* 8 << 21 */
  27124. { { 0xd9d0c8c4868af75dL,0xd7325cff45c8c7eaL,0xab471996cc81ecb0L,
  27125. 0xff5d55f3611824edL },
  27126. { 0xbe3145411977a0eeL,0x5085c4c5722038c6L,0x2d5335bff94bb495L,
  27127. 0x894ad8a6c8e2a082L } },
  27128. /* 9 << 21 */
  27129. { { 0x5c3e2341ada35438L,0xf4a9fc89049b8c4eL,0xbeeb355a9f17cf34L,
  27130. 0x3f311e0e6c91fe10L },
  27131. { 0xc2d2003892ab9891L,0x257bdcc13e8ce9a9L,0x1b2d978988c53beeL,
  27132. 0x927ce89acdba143aL } },
  27133. /* 10 << 21 */
  27134. { { 0xb0a32cca523db280L,0x5c889f8a50d43783L,0x503e04b34897d16fL,
  27135. 0x8cdb6e7808f5f2e8L },
  27136. { 0x6ab91cf0179c8e74L,0xd8874e5248211d60L,0xf948d4d5ea851200L,
  27137. 0x4076d41ee6f9840aL } },
  27138. /* 11 << 21 */
  27139. { { 0xc20e263c47b517eaL,0x79a448fd30685e5eL,0xe55f6f78f90631a0L,
  27140. 0x88a790b1a79e6346L },
  27141. { 0x62160c7d80969fe8L,0x54f92fd441491bb9L,0xa6645c235c957526L,
  27142. 0xf44cc5aebea3ce7bL } },
  27143. /* 12 << 21 */
  27144. { { 0xf76283278b1e68b7L,0xc731ad7a303f29d3L,0xfe5a9ca957d03ecbL,
  27145. 0x96c0d50c41bc97a7L },
  27146. { 0xc4669fe79b4f7f24L,0xfdd781d83d9967efL,0x7892c7c35d2c208dL,
  27147. 0x8bf64f7cae545cb3L } },
  27148. /* 13 << 21 */
  27149. { { 0xc01f862c467be912L,0xf4c85ee9c73d30ccL,0x1fa6f4be6ab83ec7L,
  27150. 0xa07a3c1c4e3e3cf9L },
  27151. { 0x87f8ef450c00beb3L,0x30e2c2b3000d4c3eL,0x1aa00b94fe08bf5bL,
  27152. 0x32c133aa9224ef52L } },
  27153. /* 14 << 21 */
  27154. { { 0x38df16bb32e5685dL,0x68a9e06958e6f544L,0x495aaff7cdc5ebc6L,
  27155. 0xf894a645378b135fL },
  27156. { 0xf316350a09e27ecfL,0xeced201e58f7179dL,0x2eec273ce97861baL,
  27157. 0x47ec2caed693be2eL } },
  27158. /* 15 << 21 */
  27159. { { 0xfa4c97c4f68367ceL,0xe4f47d0bbe5a5755L,0x17de815db298a979L,
  27160. 0xd7eca659c177dc7dL },
  27161. { 0x20fdbb7149ded0a3L,0x4cb2aad4fb34d3c5L,0x2cf31d2860858a33L,
  27162. 0x3b6873efa24aa40fL } },
  27163. /* 16 << 21 */
  27164. { { 0x540234b22c11bb37L,0x2d0366dded4c74a3L,0xf9a968daeec5f25dL,
  27165. 0x3660106867b63142L },
  27166. { 0x07cd6d2c68d7b6d4L,0xa8f74f090c842942L,0xe27514047768b1eeL,
  27167. 0x4b5f7e89fe62aee4L } },
  27168. /* 17 << 21 */
  27169. { { 0xc6a7717789070d26L,0xa1f28e4edd1c8bc7L,0xea5f4f06469e1f17L,
  27170. 0x78fc242afbdb78e0L },
  27171. { 0xc9c7c5928b0588f1L,0xb6b7a0fd1535921eL,0xcc5bdb91bde5ae35L,
  27172. 0xb42c485e12ff1864L } },
  27173. /* 18 << 21 */
  27174. { { 0xa1113e13dbab98aaL,0xde9d469ba17b1024L,0x23f48b37c0462d3aL,
  27175. 0x3752e5377c5c078dL },
  27176. { 0xe3a86add15544eb9L,0xf013aea780fba279L,0x8b5bb76cf22001b5L,
  27177. 0xe617ba14f02891abL } },
  27178. /* 19 << 21 */
  27179. { { 0xd39182a6936219d3L,0x5ce1f194ae51cb19L,0xc78f8598bf07a74cL,
  27180. 0x6d7158f222cbf1bcL },
  27181. { 0x3b846b21e300ce18L,0x35fba6302d11275dL,0x5fe25c36a0239b9bL,
  27182. 0xd8beb35ddf05d940L } },
  27183. /* 20 << 21 */
  27184. { { 0x4db02bb01f7e320dL,0x0641c3646da320eaL,0x6d95fa5d821389a3L,
  27185. 0x926997488fcd8e3dL },
  27186. { 0x316fef17ceb6c143L,0x67fcb841d933762bL,0xbb837e35118b17f8L,
  27187. 0x4b92552f9fd24821L } },
  27188. /* 21 << 21 */
  27189. { { 0xae6bc70e46aca793L,0x1cf0b0e4e579311bL,0x8dc631be5802f716L,
  27190. 0x099bdc6fbddbee4dL },
  27191. { 0xcc352bb20caf8b05L,0xf74d505a72d63df2L,0xb9876d4b91c4f408L,
  27192. 0x1ce184739e229b2dL } },
  27193. /* 22 << 21 */
  27194. { { 0x4950759783abdb4aL,0x850fbcb6dee84b18L,0x6325236e609e67dcL,
  27195. 0x04d831d99336c6d8L },
  27196. { 0x8deaae3bfa12d45dL,0xe425f8ce4746e246L,0x8004c17524f5f31eL,
  27197. 0xaca16d8fad62c3b7L } },
  27198. /* 23 << 21 */
  27199. { { 0x0dc15a6a9152f934L,0xf1235e5ded0e12c1L,0xc33c06ecda477dacL,
  27200. 0x76be8732b2ea0006L },
  27201. { 0xcf3f78310c0cd313L,0x3c524553a614260dL,0x31a756f8cab22d15L,
  27202. 0x03ee10d177827a20L } },
  27203. /* 24 << 21 */
  27204. { { 0xd1e059b21994ef20L,0x2a653b69638ae318L,0x70d5eb582f699010L,
  27205. 0x279739f709f5f84aL },
  27206. { 0x5da4663c8b799336L,0xfdfdf14d203c37ebL,0x32d8a9dca1dbfb2dL,
  27207. 0xab40cff077d48f9bL } },
  27208. /* 25 << 21 */
  27209. { { 0xc018b383d20b42d5L,0xf9a810ef9f78845fL,0x40af3753bdba9df0L,
  27210. 0xb90bdcfc131dfdf9L },
  27211. { 0x18720591f01ab782L,0xc823f2116af12a88L,0xa51b80f30dc14401L,
  27212. 0xde248f77fb2dfbe3L } },
  27213. /* 26 << 21 */
  27214. { { 0xef5a44e50cafe751L,0x73997c9cd4dcd221L,0x32fd86d1de854024L,
  27215. 0xd5b53adca09b84bbL },
  27216. { 0x008d7a11dcedd8d1L,0x406bd1c874b32c84L,0x5d4472ff05dde8b1L,
  27217. 0x2e25f2cdfce2b32fL } },
  27218. /* 27 << 21 */
  27219. { { 0xbec0dd5e29dfc254L,0x4455fcf62b98b267L,0x0b4d43a5c72df2adL,
  27220. 0xea70e6be48a75397L },
  27221. { 0x2aad61695820f3bfL,0xf410d2dd9e37f68fL,0x70fb7dba7be5ac83L,
  27222. 0x636bb64536ec3eecL } },
  27223. /* 28 << 21 */
  27224. { { 0x27104ea39754e21cL,0xbc87a3e68d63c373L,0x483351d74109db9aL,
  27225. 0x0fa724e360134da7L },
  27226. { 0x9ff44c29b0720b16L,0x2dd0cf1306aceeadL,0x5942758ce26929a6L,
  27227. 0x96c5db92b766a92bL } },
  27228. /* 29 << 21 */
  27229. { { 0xcec7d4c05f18395eL,0xd3f227441f80d032L,0x7a68b37acb86075bL,
  27230. 0x074764ddafef92dbL },
  27231. { 0xded1e9507bc7f389L,0xc580c850b9756460L,0xaeeec2a47da48157L,
  27232. 0x3f0b4e7f82c587b3L } },
  27233. /* 30 << 21 */
  27234. { { 0x231c6de8a9f19c53L,0x5717bd736974e34eL,0xd9e1d216f1508fa9L,
  27235. 0x9f112361dadaa124L },
  27236. { 0x80145e31823b7348L,0x4dd8f0d5ac634069L,0xe3d82fc72297c258L,
  27237. 0x276fcfee9cee7431L } },
  27238. /* 31 << 21 */
  27239. { { 0x8eb61b5e2bc0aea9L,0x4f668fd5de329431L,0x03a32ab138e4b87eL,
  27240. 0xe137451773d0ef0bL },
  27241. { 0x1a46f7e6853ac983L,0xc3bdf42e68e78a57L,0xacf207852ea96dd1L,
  27242. 0xa10649b9f1638460L } },
  27243. /* 32 << 21 */
  27244. { { 0xf2369f0b879fbbedL,0x0ff0ae86da9d1869L,0x5251d75956766f45L,
  27245. 0x4984d8c02be8d0fcL },
  27246. { 0x7ecc95a6d21008f0L,0x29bd54a03a1a1c49L,0xab9828c5d26c50f3L,
  27247. 0x32c0087c51d0d251L } },
  27248. /* 33 << 21 */
  27249. { { 0x9bac3ce60c1cdb26L,0xcd94d947557ca205L,0x1b1bd5989db1fdcdL,
  27250. 0x0eda0108a3d8b149L },
  27251. { 0x9506661056152fccL,0xc2f037e6e7192b33L,0xdeffb41ac92e05a4L,
  27252. 0x1105f6c2c2f6c62eL } },
  27253. /* 34 << 21 */
  27254. { { 0x68e735008733913cL,0xcce861633f3adc40L,0xf407a94238a278e9L,
  27255. 0xd13c1b9d2ab21292L },
  27256. { 0x93ed7ec71c74cf5cL,0x8887dc48f1a4c1b4L,0x3830ff304b3a11f1L,
  27257. 0x358c5a3c58937cb6L } },
  27258. /* 35 << 21 */
  27259. { { 0x027dc40489022829L,0x40e939773b798f79L,0x90ad333738be6eadL,
  27260. 0x9c23f6bcf34c0a5dL },
  27261. { 0xd1711a35fbffd8bbL,0x60fcfb491949d3ddL,0x09c8ef4b7825d93aL,
  27262. 0x24233cffa0a8c968L } },
  27263. /* 36 << 21 */
  27264. { { 0x67ade46ce6d982afL,0xebb6bf3ee7544d7cL,0xd6b9ba763d8bd087L,
  27265. 0x46fe382d4dc61280L },
  27266. { 0xbd39a7e8b5bdbd75L,0xab381331b8f228feL,0x0709a77cce1c4300L,
  27267. 0x6a247e56f337ceacL } },
  27268. /* 37 << 21 */
  27269. { { 0x8f34f21b636288beL,0x9dfdca74c8a7c305L,0x6decfd1bea919e04L,
  27270. 0xcdf2688d8e1991f8L },
  27271. { 0xe607df44d0f8a67eL,0xd985df4b0b58d010L,0x57f834c50c24f8f4L,
  27272. 0xe976ef56a0bf01aeL } },
  27273. /* 38 << 21 */
  27274. { { 0x536395aca1c32373L,0x351027aa734c0a13L,0xd2f1b5d65e6bd5bcL,
  27275. 0x2b539e24223debedL },
  27276. { 0xd4994cec0eaa1d71L,0x2a83381d661dcf65L,0x5f1aed2f7b54c740L,
  27277. 0x0bea3fa5d6dda5eeL } },
  27278. /* 39 << 21 */
  27279. { { 0x9d4fb68436cc6134L,0x8eb9bbf3c0a443ddL,0xfc500e2e383b7d2aL,
  27280. 0x7aad621c5b775257L },
  27281. { 0x69284d740a8f7cc0L,0xe820c2ce07562d65L,0xbf9531b9499758eeL,
  27282. 0x73e95ca56ee0cc2dL } },
  27283. /* 40 << 21 */
  27284. { { 0xf61790abfbaf50a5L,0xdf55e76b684e0750L,0xec516da7f176b005L,
  27285. 0x575553bb7a2dddc7L },
  27286. { 0x37c87ca3553afa73L,0x315f3ffc4d55c251L,0xe846442aaf3e5d35L,
  27287. 0x61b911496495ff28L } },
  27288. /* 41 << 21 */
  27289. { { 0x23cc95d3fa326dc3L,0x1df4da1f18fc2ceaL,0x24bf9adcd0a37d59L,
  27290. 0xb6710053320d6e1eL },
  27291. { 0x96f9667e618344d1L,0xcc7ce042a06445afL,0xa02d8514d68dbc3aL,
  27292. 0x4ea109e4280b5a5bL } },
  27293. /* 42 << 21 */
  27294. { { 0x5741a7acb40961bfL,0x4ada59376aa56bfaL,0x7feb914502b765d1L,
  27295. 0x561e97bee6ad1582L },
  27296. { 0xbbc4a5b6da3982f5L,0x0c2659edb546f468L,0xb8e7e6aa59612d20L,
  27297. 0xd83dfe20ac19e8e0L } },
  27298. /* 43 << 21 */
  27299. { { 0x8530c45fb835398cL,0x6106a8bfb38a41c2L,0x21e8f9a635f5dcdbL,
  27300. 0x39707137cae498edL },
  27301. { 0x70c23834d8249f00L,0x9f14b58fab2537a0L,0xd043c3655f61c0c2L,
  27302. 0xdc5926d609a194a7L } },
  27303. /* 44 << 21 */
  27304. { { 0xddec03398e77738aL,0xd07a63effba46426L,0x2e58e79cee7f6e86L,
  27305. 0xe59b0459ff32d241L },
  27306. { 0xc5ec84e520fa0338L,0x97939ac8eaff5aceL,0x0310a4e3b4a38313L,
  27307. 0x9115fba28f9d9885L } },
  27308. /* 45 << 21 */
  27309. { { 0x8dd710c25fadf8c3L,0x66be38a2ce19c0e2L,0xd42a279c4cfe5022L,
  27310. 0x597bb5300e24e1b8L },
  27311. { 0x3cde86b7c153ca7fL,0xa8d30fb3707d63bdL,0xac905f92bd60d21eL,
  27312. 0x98e7ffb67b9a54abL } },
  27313. /* 46 << 21 */
  27314. { { 0xd7147df8e9726a30L,0xb5e216ffafce3533L,0xb550b7992ff1ec40L,
  27315. 0x6b613b87a1e953fdL },
  27316. { 0x87b88dba792d5610L,0x2ee1270aa190fbe1L,0x02f4e2dc2ef581daL,
  27317. 0x016530e4eff82a95L } },
  27318. /* 47 << 21 */
  27319. { { 0xcbb93dfd8fd6ee89L,0x16d3d98646848fffL,0x600eff241da47adfL,
  27320. 0x1b9754a00ad47a71L },
  27321. { 0x8f9266df70c33b98L,0xaadc87aedf34186eL,0x0d2ce8e14ad24132L,
  27322. 0x8a47cbfc19946ebaL } },
  27323. /* 48 << 21 */
  27324. { { 0x47feeb6662b5f3afL,0xcefab5610abb3734L,0x449de60e19f35cb1L,
  27325. 0x39f8db14157f0eb9L },
  27326. { 0xffaecc5b3c61bfd6L,0xa5a4d41d41216703L,0x7f8fabed224e1cc2L,
  27327. 0x0d5a8186871ad953L } },
  27328. /* 49 << 21 */
  27329. { { 0xf10774f7d22da9a9L,0x45b8a678cc8a9b0dL,0xd9c2e722bdc32cffL,
  27330. 0xbf71b5f5337202a5L },
  27331. { 0x95c57f2f69fc4db9L,0xb6dad34c765d01e1L,0x7e0bd13fcb904635L,
  27332. 0x61751253763a588cL } },
  27333. /* 50 << 21 */
  27334. { { 0xd85c299781af2c2dL,0xc0f7d9c481b9d7daL,0x838a34ae08533e8dL,
  27335. 0x15c4cb08311d8311L },
  27336. { 0x97f832858e121e14L,0xeea7dc1e85000a5fL,0x0c6059b65d256274L,
  27337. 0xec9beaceb95075c0L } },
  27338. /* 51 << 21 */
  27339. { { 0x173daad71df97828L,0xbf851cb5a8937877L,0xb083c59401646f3cL,
  27340. 0x3bad30cf50c6d352L },
  27341. { 0xfeb2b202496bbceaL,0x3cf9fd4f18a1e8baL,0xd26de7ff1c066029L,
  27342. 0x39c81e9e4e9ed4f8L } },
  27343. /* 52 << 21 */
  27344. { { 0xd8be0cb97b390d35L,0x01df2bbd964aab27L,0x3e8c1a65c3ef64f8L,
  27345. 0x567291d1716ed1ddL },
  27346. { 0x95499c6c5f5406d3L,0x71fdda395ba8e23fL,0xcfeb320ed5096eceL,
  27347. 0xbe7ba92bca66dd16L } },
  27348. /* 53 << 21 */
  27349. { { 0x4608d36bc6fb5a7dL,0xe3eea15a6d2dd0e0L,0x75b0a3eb8f97a36aL,
  27350. 0xf59814cc1c83de1eL },
  27351. { 0x56c9c5b01c33c23fL,0xa96c1da46faa4136L,0x46bf2074de316551L,
  27352. 0x3b866e7b1f756c8fL } },
  27353. /* 54 << 21 */
  27354. { { 0x727727d81495ed6bL,0xb2394243b682dce7L,0x8ab8454e758610f3L,
  27355. 0xc243ce84857d72a4L },
  27356. { 0x7b320d71dbbf370fL,0xff9afa3778e0f7caL,0x0119d1e0ea7b523fL,
  27357. 0xb997f8cb058c7d42L } },
  27358. /* 55 << 21 */
  27359. { { 0x285bcd2a37bbb184L,0x51dcec49a45d1fa6L,0x6ade3b64e29634cbL,
  27360. 0x080c94a726b86ef1L },
  27361. { 0xba583db12283fbe3L,0x902bddc85a9315edL,0x07c1ccb386964becL,
  27362. 0x78f4eacfb6258301L } },
  27363. /* 56 << 21 */
  27364. { { 0x4bdf3a4956f90823L,0xba0f5080741d777bL,0x091d71c3f38bf760L,
  27365. 0x9633d50f9b625b02L },
  27366. { 0x03ecb743b8c9de61L,0xb47512545de74720L,0x9f9defc974ce1cb2L,
  27367. 0x774a4f6a00bd32efL } },
  27368. /* 57 << 21 */
  27369. { { 0xaca385f773848f22L,0x53dad716f3f8558eL,0xab7b34b093c471f9L,
  27370. 0xf530e06919644bc7L },
  27371. { 0x3d9fb1ffdd59d31aL,0x4382e0df08daa795L,0x165c6f4bd5cc88d7L,
  27372. 0xeaa392d54a18c900L } },
  27373. /* 58 << 21 */
  27374. { { 0x94203c67648024eeL,0x188763f28c2fabcdL,0xa80f87acbbaec835L,
  27375. 0x632c96e0f29d8d54L },
  27376. { 0x29b0a60e4c00a95eL,0x2ef17f40e011e9faL,0xf6c0e1d115b77223L,
  27377. 0xaaec2c6214b04e32L } },
  27378. /* 59 << 21 */
  27379. { { 0xd35688d83d84e58cL,0x2af5094c958571dbL,0x4fff7e19760682a6L,
  27380. 0x4cb27077e39a407cL },
  27381. { 0x0f59c5474ff0e321L,0x169f34a61b34c8ffL,0x2bff109652bc1ba7L,
  27382. 0xa25423b783583544L } },
  27383. /* 60 << 21 */
  27384. { { 0x5d55d5d50ac8b782L,0xff6622ec2db3c892L,0x48fce7416b8bb642L,
  27385. 0x31d6998c69d7e3dcL },
  27386. { 0xdbaf8004cadcaed0L,0x801b0142d81d053cL,0x94b189fc59630ec6L,
  27387. 0x120e9934af762c8eL } },
  27388. /* 61 << 21 */
  27389. { { 0x53a29aa4fdc6a404L,0x19d8e01ea1909948L,0x3cfcabf1d7e89681L,
  27390. 0x3321a50d4e132d37L },
  27391. { 0xd0496863e9a86111L,0x8c0cde6106a3bc65L,0xaf866c49fc9f8eefL,
  27392. 0x2066350eff7f5141L } },
  27393. /* 62 << 21 */
  27394. { { 0x4f8a4689e56ddfbdL,0xea1b0c07fe32983aL,0x2b317462873cb8cbL,
  27395. 0x658deddc2d93229fL },
  27396. { 0x65efaf4d0f64ef58L,0xfe43287d730cc7a8L,0xaebc0c723d047d70L,
  27397. 0x92efa539d92d26c9L } },
  27398. /* 63 << 21 */
  27399. { { 0x06e7845794b56526L,0x415cb80f0961002dL,0x89e5c56576dcb10fL,
  27400. 0x8bbb6982ff9259feL },
  27401. { 0x4fe8795b9abc2668L,0xb5d4f5341e678fb1L,0x6601f3be7b7da2b9L,
  27402. 0x98da59e2a13d6805L } },
  27403. /* 64 << 21 */
  27404. { { 0x190d8ea601799a52L,0xa20cec41b86d2952L,0x3062ffb27fff2a7cL,
  27405. 0x741b32e579f19d37L },
  27406. { 0xf80d81814eb57d47L,0x7a2d0ed416aef06bL,0x09735fb01cecb588L,
  27407. 0x1641caaac6061f5bL } },
  27408. /* 0 << 28 */
  27409. { { 0x00, 0x00, 0x00, 0x00 },
  27410. { 0x00, 0x00, 0x00, 0x00 } },
  27411. /* 1 << 28 */
  27412. { { 0x7f99824f20151427L,0x206828b692430206L,0xaa9097d7e1112357L,
  27413. 0xacf9a2f209e414ecL },
  27414. { 0xdbdac9da27915356L,0x7e0734b7001efee3L,0x54fab5bbd2b288e2L,
  27415. 0x4c630fc4f62dd09cL } },
  27416. /* 2 << 28 */
  27417. { { 0x8537107a1ac2703bL,0xb49258d86bc857b5L,0x57df14debcdaccd1L,
  27418. 0x24ab68d7c4ae8529L },
  27419. { 0x7ed8b5d4734e59d0L,0x5f8740c8c495cc80L,0x84aedd5a291db9b3L,
  27420. 0x80b360f84fb995beL } },
  27421. /* 3 << 28 */
  27422. { { 0xae915f5d5fa067d1L,0x4134b57f9668960cL,0xbd3656d6a48edaacL,
  27423. 0xdac1e3e4fc1d7436L },
  27424. { 0x674ff869d81fbb26L,0x449ed3ecb26c33d4L,0x85138705d94203e8L,
  27425. 0xccde538bbeeb6f4aL } },
  27426. /* 4 << 28 */
  27427. { { 0x55d5c68da61a76faL,0x598b441dca1554dcL,0xd39923b9773b279cL,
  27428. 0x33331d3c36bf9efcL },
  27429. { 0x2d4c848e298de399L,0xcfdb8e77a1a27f56L,0x94c855ea57b8ab70L,
  27430. 0xdcdb9dae6f7879baL } },
  27431. /* 5 << 28 */
  27432. { { 0x7bdff8c2019f2a59L,0xb3ce5bb3cb4fbc74L,0xea907f688a9173ddL,
  27433. 0x6cd3d0d395a75439L },
  27434. { 0x92ecc4d6efed021cL,0x09a9f9b06a77339aL,0x87ca6b157188c64aL,
  27435. 0x10c2996844899158L } },
  27436. /* 6 << 28 */
  27437. { { 0x5859a229ed6e82efL,0x16f338e365ebaf4eL,0x0cd313875ead67aeL,
  27438. 0x1c73d22854ef0bb4L },
  27439. { 0x4cb5513174a5c8c7L,0x01cd29707f69ad6aL,0xa04d00dde966f87eL,
  27440. 0xd96fe4470b7b0321L } },
  27441. /* 7 << 28 */
  27442. { { 0x342ac06e88fbd381L,0x02cd4a845c35a493L,0xe8fa89de54f1bbcdL,
  27443. 0x341d63672575ed4cL },
  27444. { 0xebe357fbd238202bL,0x600b4d1aa984ead9L,0xc35c9f4452436ea0L,
  27445. 0x96fe0a39a370751bL } },
  27446. /* 8 << 28 */
  27447. { { 0x4c4f07367f636a38L,0x9f943fb70e76d5cbL,0xb03510baa8b68b8bL,
  27448. 0xc246780a9ed07a1fL },
  27449. { 0x3c0514156d549fc2L,0xc2953f31607781caL,0x955e2c69d8d95413L,
  27450. 0xb300fadc7bd282e3L } },
  27451. /* 9 << 28 */
  27452. { { 0x81fe7b5087e9189fL,0xdb17375cf42dda27L,0x22f7d896cf0a5904L,
  27453. 0xa0e57c5aebe348e6L },
  27454. { 0xa61011d3f40e3c80L,0xb11893218db705c5L,0x4ed9309e50fedec3L,
  27455. 0xdcf14a104d6d5c1dL } },
  27456. /* 10 << 28 */
  27457. { { 0x056c265b55691342L,0xe8e0850491049dc7L,0x131329f5c9bae20aL,
  27458. 0x96c8b3e8d9dccdb4L },
  27459. { 0x8c5ff838fb4ee6b4L,0xfc5a9aeb41e8ccf0L,0x7417b764fae050c6L,
  27460. 0x0953c3d700452080L } },
  27461. /* 11 << 28 */
  27462. { { 0x2137268238dfe7e8L,0xea417e152bb79d4bL,0x59641f1c76e7cf2dL,
  27463. 0x271e3059ea0bcfccL },
  27464. { 0x624c7dfd7253ecbdL,0x2f552e254fca6186L,0xcbf84ecd4d866e9cL,
  27465. 0x73967709f68d4610L } },
  27466. /* 12 << 28 */
  27467. { { 0xa14b1163c27901b4L,0xfd9236e0899b8bf3L,0x42b091eccbc6da0aL,
  27468. 0xbb1dac6f5ad1d297L },
  27469. { 0x80e61d53a91cf76eL,0x4110a412d31f1ee7L,0x2d87c3ba13efcf77L,
  27470. 0x1f374bb4df450d76L } },
  27471. /* 13 << 28 */
  27472. { { 0x5e78e2f20d188dabL,0xe3968ed0f4b885efL,0x46c0568e7314570fL,
  27473. 0x3161633801170521L },
  27474. { 0x18e1e7e24f0c8afeL,0x4caa75ffdeea78daL,0x82db67f27c5d8a51L,
  27475. 0x36a44d866f505370L } },
  27476. /* 14 << 28 */
  27477. { { 0xd72c5bda0333974fL,0x5db516ae27a70146L,0x34705281210ef921L,
  27478. 0xbff17a8f0c9c38e5L },
  27479. { 0x78f4814e12476da1L,0xc1e1661333c16980L,0x9e5b386f424d4bcaL,
  27480. 0x4c274e87c85740deL } },
  27481. /* 15 << 28 */
  27482. { { 0xb6a9b88d6c2f5226L,0x14d1b944550d7ca8L,0x580c85fc1fc41709L,
  27483. 0xc1da368b54c6d519L },
  27484. { 0x2b0785ced5113cf7L,0x0670f6335a34708fL,0x46e2376715cc3f88L,
  27485. 0x1b480cfa50c72c8fL } },
  27486. /* 16 << 28 */
  27487. { { 0x202886024147519aL,0xd0981eac26b372f0L,0xa9d4a7caa785ebc8L,
  27488. 0xd953c50ddbdf58e9L },
  27489. { 0x9d6361ccfd590f8fL,0x72e9626b44e6c917L,0x7fd9611022eb64cfL,
  27490. 0x863ebb7e9eb288f3L } },
  27491. /* 17 << 28 */
  27492. { { 0x6e6ab7616aca8ee7L,0x97d10b39d7b40358L,0x1687d3771e5feb0dL,
  27493. 0xc83e50e48265a27aL },
  27494. { 0x8f75a9fec954b313L,0xcc2e8f47310d1f61L,0xf5ba81c56557d0e0L,
  27495. 0x25f9680c3eaf6207L } },
  27496. /* 18 << 28 */
  27497. { { 0xf95c66094354080bL,0x5225bfa57bf2fe1cL,0xc5c004e25c7d98faL,
  27498. 0x3561bf1c019aaf60L },
  27499. { 0x5e6f9f17ba151474L,0xdec2f934b04f6ecaL,0x64e368a1269acb1eL,
  27500. 0x1332d9e40cdda493L } },
  27501. /* 19 << 28 */
  27502. { { 0x60d6cf69df23de05L,0x66d17da2009339a0L,0x9fcac9850a693923L,
  27503. 0xbcf057fced7c6a6dL },
  27504. { 0xc3c5c8c5f0b5662cL,0x25318dd8dcba4f24L,0x60e8cb75082b69ffL,
  27505. 0x7c23b3ee1e728c01L } },
  27506. /* 20 << 28 */
  27507. { { 0x15e10a0a097e4403L,0xcb3d0a8619854665L,0x88d8e211d67d4826L,
  27508. 0xb39af66e0b9d2839L },
  27509. { 0xa5f94588bd475ca8L,0xe06b7966c077b80bL,0xfedb1485da27c26cL,
  27510. 0xd290d33afe0fd5e0L } },
  27511. /* 21 << 28 */
  27512. { { 0xa40bcc47f34fb0faL,0xb4760cc81fb1ab09L,0x8fca0993a273bfe3L,
  27513. 0x13e4fe07f70b213cL },
  27514. { 0x3bcdb992fdb05163L,0x8c484b110c2b19b6L,0x1acb815faaf2e3e2L,
  27515. 0xc6905935b89ff1b4L } },
  27516. /* 22 << 28 */
  27517. { { 0xb2ad6f9d586e74e1L,0x488883ad67b80484L,0x758aa2c7369c3ddbL,
  27518. 0x8ab74e699f9afd31L },
  27519. { 0x10fc2d285e21beb1L,0x3484518a318c42f9L,0x377427dc53cf40c3L,
  27520. 0x9de0781a391bc1d9L } },
  27521. /* 23 << 28 */
  27522. { { 0x8faee858693807e1L,0xa38653274e81ccc7L,0x02c30ff26f835b84L,
  27523. 0xb604437b0d3d38d4L },
  27524. { 0xb3fc8a985ca1823dL,0xb82f7ec903be0324L,0xee36d761cf684a33L,
  27525. 0x5a01df0e9f29bf7dL } },
  27526. /* 24 << 28 */
  27527. { { 0x686202f31306583dL,0x05b10da0437c622eL,0xbf9aaa0f076a7bc8L,
  27528. 0x25e94efb8f8f4e43L },
  27529. { 0x8a35c9b7fa3dc26dL,0xe0e5fb9396ff03c5L,0xa77e3843ebc394ceL,
  27530. 0xcede65958361de60L } },
  27531. /* 25 << 28 */
  27532. { { 0xd27c22f6a1993545L,0xab01cc3624d671baL,0x63fa2877a169c28eL,
  27533. 0x925ef9042eb08376L },
  27534. { 0x3b2fa3cf53aa0b32L,0xb27beb5b71c49d7aL,0xb60e1834d105e27fL,
  27535. 0xd60897884f68570dL } },
  27536. /* 26 << 28 */
  27537. { { 0x23094ce0d6fbc2acL,0x738037a1815ff551L,0xda73b1bb6bef119cL,
  27538. 0xdcf6c430eef506baL },
  27539. { 0x00e4fe7be3ef104aL,0xebdd9a2c0a065628L,0x853a81c38792043eL,
  27540. 0x22ad6eceb3b59108L } },
  27541. /* 27 << 28 */
  27542. { { 0x9fb813c039cd297dL,0x8ec7e16e05bda5d9L,0x2834797c0d104b96L,
  27543. 0xcc11a2e77c511510L },
  27544. { 0x96ca5a5396ee6380L,0x054c8655cea38742L,0xb5946852d54dfa7dL,
  27545. 0x97c422e71f4ab207L } },
  27546. /* 28 << 28 */
  27547. { { 0xbf9075090c22b540L,0x2cde42aab7c267d4L,0xba18f9ed5ab0d693L,
  27548. 0x3ba62aa66e4660d9L },
  27549. { 0xb24bf97bab9ea96aL,0x5d039642e3b60e32L,0x4e6a45067c4d9bd5L,
  27550. 0x666c5b9e7ed4a6a4L } },
  27551. /* 29 << 28 */
  27552. { { 0xfa3fdcd98edbd7ccL,0x4660bb87c6ccd753L,0x9ae9082021e6b64fL,
  27553. 0x8a56a713b36bfb3fL },
  27554. { 0xabfce0965726d47fL,0x9eed01b20b1a9a7fL,0x30e9cad44eb74a37L,
  27555. 0x7b2524cc53e9666dL } },
  27556. /* 30 << 28 */
  27557. { { 0x6a29683b8f4b002fL,0xc2200d7a41f4fc20L,0xcf3af47a3a338accL,
  27558. 0x6539a4fbe7128975L },
  27559. { 0xcec31c14c33c7fcfL,0x7eb6799bc7be322bL,0x119ef4e96646f623L,
  27560. 0x7b7a26a554d7299bL } },
  27561. /* 31 << 28 */
  27562. { { 0xcb37f08d403f46f2L,0x94b8fc431a0ec0c7L,0xbb8514e3c332142fL,
  27563. 0xf3ed2c33e80d2a7aL },
  27564. { 0x8d2080afb639126cL,0xf7b6be60e3553adeL,0x3950aa9f1c7e2b09L,
  27565. 0x847ff9586410f02bL } },
  27566. /* 32 << 28 */
  27567. { { 0x877b7cf5678a31b0L,0xd50301ae3998b620L,0x734257c5c00fb396L,
  27568. 0xf9fb18a004e672a6L },
  27569. { 0xff8bd8ebe8758851L,0x1e64e4c65d99ba44L,0x4b8eaedf7dfd93b7L,
  27570. 0xba2f2a9804e76b8cL } },
  27571. /* 33 << 28 */
  27572. { { 0x7d790cbae8053433L,0xc8e725a03d2c9585L,0x58c5c476cdd8f5edL,
  27573. 0xd106b952efa9fe1dL },
  27574. { 0x3c5c775b0eff13a9L,0x242442bae057b930L,0xe9f458d4c9b70cbdL,
  27575. 0x69b71448a3cdb89aL } },
  27576. /* 34 << 28 */
  27577. { { 0x41ee46f60e2ed742L,0x573f104540067493L,0xb1e154ff9d54c304L,
  27578. 0x2ad0436a8d3a7502L },
  27579. { 0xee4aaa2d431a8121L,0xcd38b3ab886f11edL,0x57d49ea6034a0eb7L,
  27580. 0xd2b773bdf7e85e58L } },
  27581. /* 35 << 28 */
  27582. { { 0x4a559ac49b5c1f14L,0xc444be1a3e54df2bL,0x13aad704eda41891L,
  27583. 0xcd927bec5eb5c788L },
  27584. { 0xeb3c8516e48c8a34L,0x1b7ac8124b546669L,0x1815f896594df8ecL,
  27585. 0x87c6a79c79227865L } },
  27586. /* 36 << 28 */
  27587. { { 0xae02a2f09b56ddbdL,0x1339b5ac8a2f1cf3L,0xf2b569c7839dff0dL,
  27588. 0xb0b9e864fee9a43dL },
  27589. { 0x4ff8ca4177bb064eL,0x145a2812fd249f63L,0x3ab7beacf86f689aL,
  27590. 0x9bafec2701d35f5eL } },
  27591. /* 37 << 28 */
  27592. { { 0x28054c654265aa91L,0xa4b18304035efe42L,0x6887b0e69639dec7L,
  27593. 0xf4b8f6ad3d52aea5L },
  27594. { 0xfb9293cc971a8a13L,0x3f159e5d4c934d07L,0x2c50e9b109acbc29L,
  27595. 0x08eb65e67154d129L } },
  27596. /* 38 << 28 */
  27597. { { 0x4feff58930b75c3eL,0x0bb82fe294491c93L,0xd8ac377a89af62bbL,
  27598. 0xd7b514909685e49fL },
  27599. { 0xabca9a7b04497f19L,0x1b35ed0a1a7ad13fL,0x6b601e213ec86ed6L,
  27600. 0xda91fcb9ce0c76f1L } },
  27601. /* 39 << 28 */
  27602. { { 0x9e28507bd7ab27e1L,0x7c19a55563945b7bL,0x6b43f0a1aafc9827L,
  27603. 0x443b4fbd3aa55b91L },
  27604. { 0x962b2e656962c88fL,0x139da8d4ce0db0caL,0xb93f05dd1b8d6c4fL,
  27605. 0x779cdff7180b9824L } },
  27606. /* 40 << 28 */
  27607. { { 0xbba23fddae57c7b7L,0x345342f21b932522L,0xfd9c80fe556d4aa3L,
  27608. 0xa03907ba6525bb61L },
  27609. { 0x38b010e1ff218933L,0xc066b654aa52117bL,0x8e14192094f2e6eaL,
  27610. 0x66a27dca0d32f2b2L } },
  27611. /* 41 << 28 */
  27612. { { 0x69c7f993048b3717L,0xbf5a989ab178ae1cL,0x49fa9058564f1d6bL,
  27613. 0x27ec6e15d31fde4eL },
  27614. { 0x4cce03737276e7fcL,0x64086d7989d6bf02L,0x5a72f0464ccdd979L,
  27615. 0x909c356647775631L } },
  27616. /* 42 << 28 */
  27617. { { 0x1c07bc6b75dd7125L,0xb4c6bc9787a0428dL,0x507ece52fdeb6b9dL,
  27618. 0xfca56512b2c95432L },
  27619. { 0x15d97181d0e8bd06L,0x384dd317c6bb46eaL,0x5441ea203952b624L,
  27620. 0xbcf70dee4e7dc2fbL } },
  27621. /* 43 << 28 */
  27622. { { 0x372b016e6628e8c3L,0x07a0d667b60a7522L,0xcf05751b0a344ee2L,
  27623. 0x0ec09a48118bdeecL },
  27624. { 0x6e4b3d4ed83dce46L,0x43a6316d99d2fc6eL,0xa99d898956cf044cL,
  27625. 0x7c7f4454ae3e5fb7L } },
  27626. /* 44 << 28 */
  27627. { { 0xb2e6b121fbabbe92L,0x281850fbe1330076L,0x093581ec97890015L,
  27628. 0x69b1dded75ff77f5L },
  27629. { 0x7cf0b18fab105105L,0x953ced31a89ccfefL,0x3151f85feb914009L,
  27630. 0x3c9f1b8788ed48adL } },
  27631. /* 45 << 28 */
  27632. { { 0xc9aba1a14a7eadcbL,0x928e7501522e71cfL,0xeaede7273a2e4f83L,
  27633. 0x467e10d11ce3bbd3L },
  27634. { 0xf3442ac3b955dcf0L,0xba96307dd3d5e527L,0xf763a10efd77f474L,
  27635. 0x5d744bd06a6e1ff0L } },
  27636. /* 46 << 28 */
  27637. { { 0xd287282aa777899eL,0xe20eda8fd03f3cdeL,0x6a7e75bb50b07d31L,
  27638. 0x0b7e2a946f379de4L },
  27639. { 0x31cb64ad19f593cfL,0x7b1a9e4f1e76ef1dL,0xe18c9c9db62d609cL,
  27640. 0x439bad6de779a650L } },
  27641. /* 47 << 28 */
  27642. { { 0x219d9066e032f144L,0x1db632b8e8b2ec6aL,0xff0d0fd4fda12f78L,
  27643. 0x56fb4c2d2a25d265L },
  27644. { 0x5f4e2ee1255a03f1L,0x61cd6af2e96af176L,0xe0317ba8d068bc97L,
  27645. 0x927d6bab264b988eL } },
  27646. /* 48 << 28 */
  27647. { { 0xa18f07e0e90fb21eL,0x00fd2b80bba7fca1L,0x20387f2795cd67b5L,
  27648. 0x5b89a4e7d39707f7L },
  27649. { 0x8f83ad3f894407ceL,0xa0025b946c226132L,0xc79563c7f906c13bL,
  27650. 0x5f548f314e7bb025L } },
  27651. /* 49 << 28 */
  27652. { { 0x2b4c6b8feac6d113L,0xa67e3f9c0e813c76L,0x3982717c3fe1f4b9L,
  27653. 0x5886581926d8050eL },
  27654. { 0x99f3640cf7f06f20L,0xdc6102162a66ebc2L,0x52f2c175767a1e08L,
  27655. 0x05660e1a5999871bL } },
  27656. /* 50 << 28 */
  27657. { { 0x6b0f17626d3c4693L,0xf0e7d62737ed7beaL,0xc51758c7b75b226dL,
  27658. 0x40a886281f91613bL },
  27659. { 0x889dbaa7bbb38ce0L,0xe0404b65bddcad81L,0xfebccd3a8bc9671fL,
  27660. 0xfbf9a357ee1f5375L } },
  27661. /* 51 << 28 */
  27662. { { 0x5dc169b028f33398L,0xb07ec11d72e90f65L,0xae7f3b4afaab1eb1L,
  27663. 0xd970195e5f17538aL },
  27664. { 0x52b05cbe0181e640L,0xf5debd622643313dL,0x761481545df31f82L,
  27665. 0x23e03b333a9e13c5L } },
  27666. /* 52 << 28 */
  27667. { { 0xff7589494fde0c1fL,0xbf8a1abee5b6ec20L,0x702278fb87e1db6cL,
  27668. 0xc447ad7a35ed658fL },
  27669. { 0x48d4aa3803d0ccf2L,0x80acb338819a7c03L,0x9bc7c89e6e17ceccL,
  27670. 0x46736b8b03be1d82L } },
  27671. /* 53 << 28 */
  27672. { { 0xd65d7b60c0432f96L,0xddebe7a3deb5442fL,0x79a253077dff69a2L,
  27673. 0x37a56d9402cf3122L },
  27674. { 0x8bab8aedf2350d0aL,0x13c3f276037b0d9aL,0xc664957c44c65caeL,
  27675. 0x88b44089c2e71a88L } },
  27676. /* 54 << 28 */
  27677. { { 0xdb88e5a35cb02664L,0x5d4c0bf18686c72eL,0xea3d9b62a682d53eL,
  27678. 0x9b605ef40b2ad431L },
  27679. { 0x71bac202c69645d0L,0xa115f03a6a1b66e7L,0xfe2c563a158f4dc4L,
  27680. 0xf715b3a04d12a78cL } },
  27681. /* 55 << 28 */
  27682. { { 0x8f7f0a48d413213aL,0x2035806dc04becdbL,0xecd34a995d8587f5L,
  27683. 0x4d8c30799f6d3a71L },
  27684. { 0x1b2a2a678d95a8f6L,0xc58c9d7df2110d0dL,0xdeee81d5cf8fba3fL,
  27685. 0xa42be3c00c7cdf68L } },
  27686. /* 56 << 28 */
  27687. { { 0x2126f742d43b5eaaL,0x054a0766dfa59b85L,0x9d0d5e36126bfd45L,
  27688. 0xa1f8fbd7384f8a8fL },
  27689. { 0x317680f5d563fcccL,0x48ca5055f280a928L,0xe00b81b227b578cfL,
  27690. 0x10aad9182994a514L } },
  27691. /* 57 << 28 */
  27692. { { 0xd9e07b62b7bdc953L,0x9f0f6ff25bc086ddL,0x09d1ccff655eee77L,
  27693. 0x45475f795bef7df1L },
  27694. { 0x3faa28fa86f702ccL,0x92e609050f021f07L,0xe9e629687f8fa8c6L,
  27695. 0xbd71419af036ea2cL } },
  27696. /* 58 << 28 */
  27697. { { 0x171ee1cc6028da9aL,0x5352fe1ac251f573L,0xf8ff236e3fa997f4L,
  27698. 0xd831b6c9a5749d5fL },
  27699. { 0x7c872e1de350e2c2L,0xc56240d91e0ce403L,0xf9deb0776974f5cbL,
  27700. 0x7d50ba87961c3728L } },
  27701. /* 59 << 28 */
  27702. { { 0xd6f894265a3a2518L,0xcf817799c6303d43L,0x510a0471619e5696L,
  27703. 0xab049ff63a5e307bL },
  27704. { 0xe4cdf9b0feb13ec7L,0xd5e971179d8ff90cL,0xf6f64d069afa96afL,
  27705. 0x00d0bf5e9d2012a2L } },
  27706. /* 60 << 28 */
  27707. { { 0xe63f301f358bcdc0L,0x07689e990a9d47f8L,0x1f689e2f4f43d43aL,
  27708. 0x4d542a1690920904L },
  27709. { 0xaea293d59ca0a707L,0xd061fe458ac68065L,0x1033bf1b0090008cL,
  27710. 0x29749558c08a6db6L } },
  27711. /* 61 << 28 */
  27712. { { 0x74b5fc59c1d5d034L,0xf712e9f667e215e0L,0xfd520cbd860200e6L,
  27713. 0x0229acb43ea22588L },
  27714. { 0x9cd1e14cfff0c82eL,0x87684b6259c69e73L,0xda85e61c96ccb989L,
  27715. 0x2d5dbb02a3d06493L } },
  27716. /* 62 << 28 */
  27717. { { 0xf22ad33ae86b173cL,0xe8e41ea5a79ff0e3L,0x01d2d725dd0d0c10L,
  27718. 0x31f39088032d28f9L },
  27719. { 0x7b3f71e17829839eL,0x0cf691b44502ae58L,0xef658dbdbefc6115L,
  27720. 0xa5cd6ee5b3ab5314L } },
  27721. /* 63 << 28 */
  27722. { { 0x206c8d7b5f1d2347L,0x794645ba4cc2253aL,0xd517d8ff58389e08L,
  27723. 0x4fa20dee9f847288L },
  27724. { 0xeba072d8d797770aL,0x7360c91dbf429e26L,0x7200a3b380af8279L,
  27725. 0x6a1c915082dadce3L } },
  27726. /* 64 << 28 */
  27727. { { 0x0ee6d3a7c35d8794L,0x042e65580356bae5L,0x9f59698d643322fdL,
  27728. 0x9379ae1550a61967L },
  27729. { 0x64b9ae62fcc9981eL,0xaed3d6316d2934c6L,0x2454b3025e4e65ebL,
  27730. 0xab09f647f9950428L } },
  27731. /* 0 << 35 */
  27732. { { 0x00, 0x00, 0x00, 0x00 },
  27733. { 0x00, 0x00, 0x00, 0x00 } },
  27734. /* 1 << 35 */
  27735. { { 0xb2083a1222248accL,0x1f6ec0ef3264e366L,0x5659b7045afdee28L,
  27736. 0x7a823a40e6430bb5L },
  27737. { 0x24592a04e1900a79L,0xcde09d4ac9ee6576L,0x52b6463f4b5ea54aL,
  27738. 0x1efe9ed3d3ca65a7L } },
  27739. /* 2 << 35 */
  27740. { { 0xe27a6dbe305406ddL,0x8eb7dc7fdd5d1957L,0xf54a6876387d4d8fL,
  27741. 0x9c479409c7762de4L },
  27742. { 0xbe4d5b5d99b30778L,0x25380c566e793682L,0x602d37f3dac740e3L,
  27743. 0x140deabe1566e4aeL } },
  27744. /* 3 << 35 */
  27745. { { 0x4481d067afd32acfL,0xd8f0fccae1f71ccfL,0xd208dd0cb596f2daL,
  27746. 0xd049d7309aad93f9L },
  27747. { 0xc79f263d42ab580eL,0x09411bb123f707b4L,0x8cfde1ff835e0edaL,
  27748. 0x7270749090f03402L } },
  27749. /* 4 << 35 */
  27750. { { 0xeaee6126c49a861eL,0x024f3b65e14f0d06L,0x51a3f1e8c69bfc17L,
  27751. 0xc3c3a8e9a7686381L },
  27752. { 0x3400752cb103d4c8L,0x02bc46139218b36bL,0xc67f75eb7651504aL,
  27753. 0xd6848b56d02aebfaL } },
  27754. /* 5 << 35 */
  27755. { { 0xbd9802e6c30fa92bL,0x5a70d96d9a552784L,0x9085c4ea3f83169bL,
  27756. 0xfa9423bb06908228L },
  27757. { 0x2ffebe12fe97a5b9L,0x85da604971b99118L,0x9cbc2f7f63178846L,
  27758. 0xfd96bc709153218eL } },
  27759. /* 6 << 35 */
  27760. { { 0x958381db1782269bL,0xae34bf792597e550L,0xbb5c60645f385153L,
  27761. 0x6f0e96afe3088048L },
  27762. { 0xbf6a021577884456L,0xb3b5688c69310ea7L,0x17c9429504fad2deL,
  27763. 0xe020f0e517896d4dL } },
  27764. /* 7 << 35 */
  27765. { { 0x730ba0ab0976505fL,0x567f6813095e2ec5L,0x470620106331ab71L,
  27766. 0x72cfa97741d22b9fL },
  27767. { 0x33e55ead8a2373daL,0xa8d0d5f47ba45a68L,0xba1d8f9c03029d15L,
  27768. 0x8f34f1ccfc55b9f3L } },
  27769. /* 8 << 35 */
  27770. { { 0xcca4428dbbe5a1a9L,0x8187fd5f3126bd67L,0x0036973a48105826L,
  27771. 0xa39b6663b8bd61a0L },
  27772. { 0x6d42deef2d65a808L,0x4969044f94636b19L,0xf611ee47dd5d564cL,
  27773. 0x7b2f3a49d2873077L } },
  27774. /* 9 << 35 */
  27775. { { 0x94157d45300eb294L,0x2b2a656e169c1494L,0xc000dd76d3a47aa9L,
  27776. 0xa2864e4fa6243ea4L },
  27777. { 0x82716c47db89842eL,0x12dfd7d761479fb7L,0x3b9a2c56e0b2f6dcL,
  27778. 0x46be862ad7f85d67L } },
  27779. /* 10 << 35 */
  27780. { { 0x03b0d8dd0f82b214L,0x460c34f9f103cbc6L,0xf32e5c0318d79e19L,
  27781. 0x8b8888baa84117f8L },
  27782. { 0x8f3c37dcc0722677L,0x10d21be91c1c0f27L,0xd47c8468e0f7a0c6L,
  27783. 0x9bf02213adecc0e0L } },
  27784. /* 11 << 35 */
  27785. { { 0x0baa7d1242b48b99L,0x1bcb665d48424096L,0x8b847cd6ebfb5cfbL,
  27786. 0x87c2ae569ad4d10dL },
  27787. { 0xf1cbb1220de36726L,0xe7043c683fdfbd21L,0x4bd0826a4e79d460L,
  27788. 0x11f5e5984bd1a2cbL } },
  27789. /* 12 << 35 */
  27790. { { 0x97554160b7fe7b6eL,0x7d16189a400a3fb2L,0xd73e9beae328ca1eL,
  27791. 0x0dd04b97e793d8ccL },
  27792. { 0xa9c83c9b506db8ccL,0x5cd47aaecf38814cL,0x26fc430db64b45e6L,
  27793. 0x079b5499d818ea84L } },
  27794. /* 13 << 35 */
  27795. { { 0xebb01102c1c24a3bL,0xca24e5681c161c1aL,0x103eea6936f00a4aL,
  27796. 0x9ad76ee876176c7bL },
  27797. { 0x97451fc2538e0ff7L,0x94f898096604b3b0L,0x6311436e3249cfd7L,
  27798. 0x27b4a7bd41224f69L } },
  27799. /* 14 << 35 */
  27800. { { 0x03b5d21ae0ac2941L,0x279b0254c2d31937L,0x3307c052cac992d0L,
  27801. 0x6aa7cb92efa8b1f3L },
  27802. { 0x5a1825800d37c7a5L,0x13380c37342d5422L,0x92ac2d66d5d2ef92L,
  27803. 0x035a70c9030c63c6L } },
  27804. /* 15 << 35 */
  27805. { { 0xc16025dd4ce4f152L,0x1f419a71f9df7c06L,0x6d5b221491e4bb14L,
  27806. 0xfc43c6cc839fb4ceL },
  27807. { 0x49f06591925d6b2dL,0x4b37d9d362186598L,0x8c54a971d01b1629L,
  27808. 0xe1a9c29f51d50e05L } },
  27809. /* 16 << 35 */
  27810. { { 0x5109b78571ba1861L,0x48b22d5cd0c8f93dL,0xe8fa84a78633bb93L,
  27811. 0x53fba6ba5aebbd08L },
  27812. { 0x7ff27df3e5eea7d8L,0x521c879668ca7158L,0xb9d5133bce6f1a05L,
  27813. 0x2d50cd53fd0ebee4L } },
  27814. /* 17 << 35 */
  27815. { { 0xc82115d6c5a3ef16L,0x993eff9dba079221L,0xe4da2c5e4b5da81cL,
  27816. 0x9a89dbdb8033fd85L },
  27817. { 0x60819ebf2b892891L,0x53902b215d14a4d5L,0x6ac35051d7fda421L,
  27818. 0xcc6ab88561c83284L } },
  27819. /* 18 << 35 */
  27820. { { 0x14eba133f74cff17L,0x240aaa03ecb813f2L,0xcfbb65406f665beeL,
  27821. 0x084b1fe4a425ad73L },
  27822. { 0x009d5d16d081f6a6L,0x35304fe8eef82c90L,0xf20346d5aa9eaa22L,
  27823. 0x0ada9f07ac1c91e3L } },
  27824. /* 19 << 35 */
  27825. { { 0xa6e21678968a6144L,0x54c1f77c07b31a1eL,0xd6bb787e5781fbe1L,
  27826. 0x61bd2ee0e31f1c4aL },
  27827. { 0xf25aa1e9781105fcL,0x9cf2971f7b2f8e80L,0x26d15412cdff919bL,
  27828. 0x01db4ebe34bc896eL } },
  27829. /* 20 << 35 */
  27830. { { 0x7d9b3e23b40df1cfL,0x5933737394e971b4L,0xbf57bd14669cf921L,
  27831. 0x865daedf0c1a1064L },
  27832. { 0x3eb70bd383279125L,0xbc3d5b9f34ecdaabL,0x91e3ed7e5f755cafL,
  27833. 0x49699f54d41e6f02L } },
  27834. /* 21 << 35 */
  27835. { { 0x185770e1d4a7a15bL,0x08f3587aeaac87e7L,0x352018db473133eaL,
  27836. 0x674ce71904fd30fcL },
  27837. { 0x7b8d9835088b3e0eL,0x7a0356a95d0d47a1L,0x9d9e76596474a3c4L,
  27838. 0x61ea48a7ff66966cL } },
  27839. /* 22 << 35 */
  27840. { { 0x304177580f3e4834L,0xfdbb21c217a9afcbL,0x756fa17f2f9a67b3L,
  27841. 0x2a6b2421a245c1a8L },
  27842. { 0x64be27944af02291L,0xade465c62a5804feL,0x8dffbd39a6f08fd7L,
  27843. 0xc4efa84caa14403bL } },
  27844. /* 23 << 35 */
  27845. { { 0xa1b91b2a442b0f5cL,0xb748e317cf997736L,0x8d1b62bfcee90e16L,
  27846. 0x907ae2710b2078c0L },
  27847. { 0xdf31534b0c9bcdddL,0x043fb05439adce83L,0x99031043d826846aL,
  27848. 0x61a9c0d6b144f393L } },
  27849. /* 24 << 35 */
  27850. { { 0xdab4804647718427L,0xdf17ff9b6e830f8bL,0x408d7ee8e49a1347L,
  27851. 0x6ac71e2391c1d4aeL },
  27852. { 0xc8cbb9fd1defd73cL,0x19840657bbbbfec5L,0x39db1cb59e7ef8eaL,
  27853. 0x78aa829664105f30L } },
  27854. /* 25 << 35 */
  27855. { { 0xa3d9b7f0a3738c29L,0x0a2f235abc3250a3L,0x55e506f6445e4cafL,
  27856. 0x0974f73d33475f7aL },
  27857. { 0xd37dbba35ba2f5a8L,0x542c6e636af40066L,0x26d99b53c5d73e2cL,
  27858. 0x06060d7d6c3ca33eL } },
  27859. /* 26 << 35 */
  27860. { { 0xcdbef1c2065fef4aL,0x77e60f7dfd5b92e3L,0xd7c549f026708350L,
  27861. 0x201b3ad034f121bfL },
  27862. { 0x5fcac2a10334fc14L,0x8a9a9e09344552f6L,0x7dd8a1d397653082L,
  27863. 0x5fc0738f79d4f289L } },
  27864. /* 27 << 35 */
  27865. { { 0x787d244d17d2d8c3L,0xeffc634570830684L,0x5ddb96dde4f73ae5L,
  27866. 0x8efb14b1172549a5L },
  27867. { 0x6eb73eee2245ae7aL,0xbca4061eea11f13eL,0xb577421d30b01f5dL,
  27868. 0xaa688b24782e152cL } },
  27869. /* 28 << 35 */
  27870. { { 0x67608e71bd3502baL,0x4ef41f24b4de75a0L,0xb08dde5efd6125e5L,
  27871. 0xde484825a409543fL },
  27872. { 0x1f198d9865cc2295L,0x428a37716e0edfa2L,0x4f9697a2adf35fc7L,
  27873. 0x01a43c79f7cac3c7L } },
  27874. /* 29 << 35 */
  27875. { { 0xb05d70590fd3659aL,0x8927f30cbb7f2d9aL,0x4023d1ac8cf984d3L,
  27876. 0x32125ed302897a45L },
  27877. { 0xfb572dad3d414205L,0x73000ef2e3fa82a9L,0x4c0868e9f10a5581L,
  27878. 0x5b61fc676b0b3ca5L } },
  27879. /* 30 << 35 */
  27880. { { 0xc1258d5b7cae440cL,0x21c08b41402b7531L,0xf61a8955de932321L,
  27881. 0x3568faf82d1408afL },
  27882. { 0x71b15e999ecf965bL,0xf14ed248e917276fL,0xc6f4caa1820cf9e2L,
  27883. 0x681b20b218d83c7eL } },
  27884. /* 31 << 35 */
  27885. { { 0x6cde738dc6c01120L,0x71db0813ae70e0dbL,0x95fc064474afe18cL,
  27886. 0x34619053129e2be7L },
  27887. { 0x80615ceadb2a3b15L,0x0a49a19edb4c7073L,0x0e1b84c88fd2d367L,
  27888. 0xd74bf462033fb8aaL } },
  27889. /* 32 << 35 */
  27890. { { 0x889f6d65533ef217L,0x7158c7e4c3ca2e87L,0xfb670dfbdc2b4167L,
  27891. 0x75910a01844c257fL },
  27892. { 0xf336bf07cf88577dL,0x22245250e45e2aceL,0x2ed92e8d7ca23d85L,
  27893. 0x29f8be4c2b812f58L } },
  27894. /* 33 << 35 */
  27895. { { 0xdd9ebaa7076fe12bL,0x3f2400cbae1537f9L,0x1aa9352817bdfb46L,
  27896. 0xc0f9843067883b41L },
  27897. { 0x5590ede10170911dL,0x7562f5bb34d4b17fL,0xe1fa1df21826b8d2L,
  27898. 0xb40b796a6bd80d59L } },
  27899. /* 34 << 35 */
  27900. { { 0xd65bf1973467ba92L,0x8c9b46dbf70954b0L,0x97c8a0f30e78f15dL,
  27901. 0xa8f3a69a85a4c961L },
  27902. { 0x4242660f61e4ce9bL,0xbf06aab36ea6790cL,0xc6706f8eec986416L,
  27903. 0x9e56dec19a9fc225L } },
  27904. /* 35 << 35 */
  27905. { { 0x527c46f49a9898d9L,0xd799e77b5633cdefL,0x24eacc167d9e4297L,
  27906. 0xabb61cea6b1cb734L },
  27907. { 0xbee2e8a7f778443cL,0x3bb42bf129de2fe6L,0xcbed86a13003bb6fL,
  27908. 0xd3918e6cd781cdf6L } },
  27909. /* 36 << 35 */
  27910. { { 0x4bee32719a5103f1L,0x5243efc6f50eac06L,0xb8e122cb6adcc119L,
  27911. 0x1b7faa84c0b80a08L },
  27912. { 0x32c3d1bd6dfcd08cL,0x129dec4e0be427deL,0x98ab679c1d263c83L,
  27913. 0xafc83cb7cef64effL } },
  27914. /* 37 << 35 */
  27915. { { 0x85eb60882fa6be76L,0x892585fb1328cbfeL,0xc154d3edcf618ddaL,
  27916. 0xc44f601b3abaf26eL },
  27917. { 0x7bf57d0b2be1fdfdL,0xa833bd2d21137feeL,0x9353af362db591a8L,
  27918. 0xc76f26dc5562a056L } },
  27919. /* 38 << 35 */
  27920. { { 0x1d87e47d3fdf5a51L,0x7afb5f9355c9cab0L,0x91bbf58f89e0586eL,
  27921. 0x7c72c0180d843709L },
  27922. { 0xa9a5aafb99b5c3dcL,0xa48a0f1d3844aeb0L,0x7178b7ddb667e482L,
  27923. 0x453985e96e23a59aL } },
  27924. /* 39 << 35 */
  27925. { { 0x4a54c86001b25dd8L,0x0dd37f48fb897c8aL,0x5f8aa6100ea90cd9L,
  27926. 0xc8892c6816d5830dL },
  27927. { 0xeb4befc0ef514ca5L,0x478eb679e72c9ee6L,0x9bca20dadbc40d5fL,
  27928. 0xf015de21dde4f64aL } },
  27929. /* 40 << 35 */
  27930. { { 0xaa6a4de0eaf4b8a5L,0x68cfd9ca4bc60e32L,0x668a4b017fd15e70L,
  27931. 0xd9f0694af27dc09dL },
  27932. { 0xf6c3cad5ba708bcdL,0x5cd2ba695bb95c2aL,0xaa28c1d333c0a58fL,
  27933. 0x23e274e3abc77870L } },
  27934. /* 41 << 35 */
  27935. { { 0x44c3692ddfd20a4aL,0x091c5fd381a66653L,0x6c0bb69109a0757dL,
  27936. 0x9072e8b9667343eaL },
  27937. { 0x31d40eb080848becL,0x95bd480a79fd36ccL,0x01a77c6165ed43f5L,
  27938. 0xafccd1272e0d40bfL } },
  27939. /* 42 << 35 */
  27940. { { 0xeccfc82d1cc1884bL,0xc85ac2015d4753b4L,0xc7a6caac658e099fL,
  27941. 0xcf46369e04b27390L },
  27942. { 0xe2e7d049506467eaL,0x481b63a237cdecccL,0x4029abd8ed80143aL,
  27943. 0x28bfe3c7bcb00b88L } },
  27944. /* 43 << 35 */
  27945. { { 0x3bec10090643d84aL,0x885f3668abd11041L,0xdb02432cf83a34d6L,
  27946. 0x32f7b360719ceebeL },
  27947. { 0xf06c7837dad1fe7aL,0x60a157a95441a0b0L,0x704970e9e2d47550L,
  27948. 0xcd2bd553271b9020L } },
  27949. /* 44 << 35 */
  27950. { { 0xff57f82f33e24a0bL,0x9cbee23ff2565079L,0x16353427eb5f5825L,
  27951. 0x276feec4e948d662L },
  27952. { 0xd1b62bc6da10032bL,0x718351ddf0e72a53L,0x934520762420e7baL,
  27953. 0x96368fff3a00118dL } },
  27954. /* 45 << 35 */
  27955. { { 0x00ce2d26150a49e4L,0x0c28b6363f04706bL,0xbad65a4658b196d0L,
  27956. 0x6c8455fcec9f8b7cL },
  27957. { 0xe90c895f2d71867eL,0x5c0be31bedf9f38cL,0x2a37a15ed8f6ec04L,
  27958. 0x239639e78cd85251L } },
  27959. /* 46 << 35 */
  27960. { { 0xd89753159c7c4c6bL,0x603aa3c0d7409af7L,0xb8d53d0c007132fbL,
  27961. 0x68d12af7a6849238L },
  27962. { 0xbe0607e7bf5d9279L,0x9aa50055aada74ceL,0xe81079cbba7e8ccbL,
  27963. 0x610c71d1a5f4ff5eL } },
  27964. /* 47 << 35 */
  27965. { { 0x9e2ee1a75aa07093L,0xca84004ba75da47cL,0x074d39513de75401L,
  27966. 0xf938f756bb311592L },
  27967. { 0x9619761800a43421L,0x39a2536207bc78c8L,0x278f710a0a171276L,
  27968. 0xb28446ea8d1a8f08L } },
  27969. /* 48 << 35 */
  27970. { { 0x184781bfe3b6a661L,0x7751cb1de6d279f7L,0xf8ff95d6c59eb662L,
  27971. 0x186d90b758d3dea7L },
  27972. { 0x0e4bb6c1dfb4f754L,0x5c5cf56b2b2801dcL,0xc561e4521f54564dL,
  27973. 0xb4fb8c60f0dd7f13L } },
  27974. /* 49 << 35 */
  27975. { { 0xf884963033ff98c7L,0x9619fffacf17769cL,0xf8090bf61bfdd80aL,
  27976. 0x14d9a149422cfe63L },
  27977. { 0xb354c3606f6df9eaL,0xdbcf770d218f17eaL,0x207db7c879eb3480L,
  27978. 0x213dbda8559b6a26L } },
  27979. /* 50 << 35 */
  27980. { { 0xac4c200b29fc81b3L,0xebc3e09f171d87c1L,0x917995301481aa9eL,
  27981. 0x051b92e192e114faL },
  27982. { 0xdf8f92e9ecb5537fL,0x44b1b2cc290c7483L,0xa711455a2adeb016L,
  27983. 0x964b685681a10c2cL } },
  27984. /* 51 << 35 */
  27985. { { 0x4f159d99cec03623L,0x05532225ef3271eaL,0xb231bea3c5ee4849L,
  27986. 0x57a54f507094f103L },
  27987. { 0x3e2d421d9598b352L,0xe865a49c67412ab4L,0xd2998a251cc3a912L,
  27988. 0x5d0928080c74d65dL } },
  27989. /* 52 << 35 */
  27990. { { 0x73f459084088567aL,0xeb6b280e1f214a61L,0x8c9adc34caf0c13dL,
  27991. 0x39d12938f561fb80L },
  27992. { 0xb2dc3a5ebc6edfb4L,0x7485b1b1fe4d210eL,0x062e0400e186ae72L,
  27993. 0x91e32d5c6eeb3b88L } },
  27994. /* 53 << 35 */
  27995. { { 0x6df574d74be59224L,0xebc88ccc716d55f3L,0x26c2e6d0cad6ed33L,
  27996. 0xc6e21e7d0d3e8b10L },
  27997. { 0x2cc5840e5bcc36bbL,0x9292445e7da74f69L,0x8be8d3214e5193a8L,
  27998. 0x3ec236298df06413L } },
  27999. /* 54 << 35 */
  28000. { { 0xc7e9ae85b134defaL,0x6073b1d01bb2d475L,0xb9ad615e2863c00dL,
  28001. 0x9e29493d525f4ac4L },
  28002. { 0xc32b1dea4e9acf4fL,0x3e1f01c8a50db88dL,0xb05d70ea04da916cL,
  28003. 0x714b0d0ad865803eL } },
  28004. /* 55 << 35 */
  28005. { { 0x4bd493fc9920cb5eL,0x5b44b1f792c7a3acL,0xa2a77293bcec9235L,
  28006. 0x5ee06e87cd378553L },
  28007. { 0xceff8173da621607L,0x2bb03e4c99f5d290L,0x2945106aa6f734acL,
  28008. 0xb5056604d25c4732L } },
  28009. /* 56 << 35 */
  28010. { { 0x5945920ce079afeeL,0x686e17a06789831fL,0x5966bee8b74a5ae5L,
  28011. 0x38a673a21e258d46L },
  28012. { 0xbd1cc1f283141c95L,0x3b2ecf4f0e96e486L,0xcd3aa89674e5fc78L,
  28013. 0x415ec10c2482fa7aL } },
  28014. /* 57 << 35 */
  28015. { { 0x1523441980503380L,0x513d917ad314b392L,0xb0b52f4e63caecaeL,
  28016. 0x07bf22ad2dc7780bL },
  28017. { 0xe761e8a1e4306839L,0x1b3be9625dd7feaaL,0x4fe728de74c778f1L,
  28018. 0xf1fa0bda5e0070f6L } },
  28019. /* 58 << 35 */
  28020. { { 0x85205a316ec3f510L,0x2c7e4a14d2980475L,0xde3c19c06f30ebfdL,
  28021. 0xdb1c1f38d4b7e644L },
  28022. { 0xfe291a755dce364aL,0xb7b22a3c058f5be3L,0x2cd2c30237fea38cL,
  28023. 0x2930967a2e17be17L } },
  28024. /* 59 << 35 */
  28025. { { 0x87f009de0c061c65L,0xcb014aacedc6ed44L,0x49bd1cb43bafb1ebL,
  28026. 0x81bd8b5c282d3688L },
  28027. { 0x1cdab87ef01a17afL,0x21f37ac4e710063bL,0x5a6c567642fc8193L,
  28028. 0xf4753e7056a6015cL } },
  28029. /* 60 << 35 */
  28030. { { 0x020f795ea15b0a44L,0x8f37c8d78958a958L,0x63b7e89ba4b675b5L,
  28031. 0xb4fb0c0c0fc31aeaL },
  28032. { 0xed95e639a7ff1f2eL,0x9880f5a3619614fbL,0xdeb6ff02947151abL,
  28033. 0x5bc5118ca868dcdbL } },
  28034. /* 61 << 35 */
  28035. { { 0xd8da20554c20cea5L,0xcac2776e14c4d69aL,0xcccb22c1622d599bL,
  28036. 0xa4ddb65368a9bb50L },
  28037. { 0x2c4ff1511b4941b4L,0xe1ff19b46efba588L,0x35034363c48345e0L,
  28038. 0x45542e3d1e29dfc4L } },
  28039. /* 62 << 35 */
  28040. { { 0xf197cb91349f7aedL,0x3b2b5a008fca8420L,0x7c175ee823aaf6d8L,
  28041. 0x54dcf42135af32b6L },
  28042. { 0x0ba1430727d6561eL,0x879d5ee4d175b1e2L,0xc7c4367399807db5L,
  28043. 0x77a544559cd55bcdL } },
  28044. /* 63 << 35 */
  28045. { { 0xe6c2ff130105c072L,0x18f7a99f8dda7da4L,0x4c3018200e2d35c1L,
  28046. 0x06a53ca0d9cc6c82L },
  28047. { 0xaa21cc1ef1aa1d9eL,0x324143344a75b1e8L,0x2a6d13280ebe9fdcL,
  28048. 0x16bd173f98a4755aL } },
  28049. /* 64 << 35 */
  28050. { { 0xfbb9b2452133ffd9L,0x39a8b2f1830f1a20L,0x484bc97dd5a1f52aL,
  28051. 0xd6aebf56a40eddf8L },
  28052. { 0x32257acb76ccdac6L,0xaf4d36ec1586ff27L,0x8eaa8863f8de7dd1L,
  28053. 0x0045d5cf88647c16L } },
  28054. /* 0 << 42 */
  28055. { { 0x00, 0x00, 0x00, 0x00 },
  28056. { 0x00, 0x00, 0x00, 0x00 } },
  28057. /* 1 << 42 */
  28058. { { 0xa6f3d574c005979dL,0xc2072b426a40e350L,0xfca5c1568de2ecf9L,
  28059. 0xa8c8bf5ba515344eL },
  28060. { 0x97aee555114df14aL,0xd4374a4dfdc5ec6bL,0x754cc28f2ca85418L,
  28061. 0x71cb9e27d3c41f78L } },
  28062. /* 2 << 42 */
  28063. { { 0x8910507903605c39L,0xf0843d9ea142c96cL,0xf374493416923684L,
  28064. 0x732caa2ffa0a2893L },
  28065. { 0xb2e8c27061160170L,0xc32788cc437fbaa3L,0x39cd818ea6eda3acL,
  28066. 0xe2e942399e2b2e07L } },
  28067. /* 3 << 42 */
  28068. { { 0x6967d39b0260e52aL,0xd42585cc90653325L,0x0d9bd60521ca7954L,
  28069. 0x4fa2087781ed57b3L },
  28070. { 0x60c1eff8e34a0bbeL,0x56b0040c84f6ef64L,0x28be2b24b1af8483L,
  28071. 0xb2278163f5531614L } },
  28072. /* 4 << 42 */
  28073. { { 0x8df275455922ac1cL,0xa7b3ef5ca52b3f63L,0x8e77b21471de57c4L,
  28074. 0x31682c10834c008bL },
  28075. { 0xc76824f04bd55d31L,0xb6d1c08617b61c71L,0x31db0903c2a5089dL,
  28076. 0x9c092172184e5d3fL } },
  28077. /* 5 << 42 */
  28078. { { 0xdd7ced5bc00cc638L,0x1a2015eb61278fc2L,0x2e8e52886a37f8d6L,
  28079. 0xc457786fe79933adL },
  28080. { 0xb3fe4cce2c51211aL,0xad9b10b224c20498L,0x90d87a4fd28db5e5L,
  28081. 0x698cd1053aca2fc3L } },
  28082. /* 6 << 42 */
  28083. { { 0x4f112d07e91b536dL,0xceb982f29eba09d6L,0x3c157b2c197c396fL,
  28084. 0xe23c2d417b66eb24L },
  28085. { 0x480c57d93f330d37L,0xb3a4c8a179108debL,0x702388decb199ce5L,
  28086. 0x0b019211b944a8d4L } },
  28087. /* 7 << 42 */
  28088. { { 0x24f2a692840bb336L,0x7c353bdca669fa7bL,0xda20d6fcdec9c300L,
  28089. 0x625fbe2fa13a4f17L },
  28090. { 0xa2b1b61adbc17328L,0x008965bfa9515621L,0x49690939c620ff46L,
  28091. 0x182dd27d8717e91cL } },
  28092. /* 8 << 42 */
  28093. { { 0x5ace5035ea6c3997L,0x54259aaac2610befL,0xef18bb3f3c80dd39L,
  28094. 0x6910b95b5fc3fa39L },
  28095. { 0xfce2f51043e09aeeL,0xced56c9fa7675665L,0x10e265acd872db61L,
  28096. 0x6982812eae9fce69L } },
  28097. /* 9 << 42 */
  28098. { { 0x29be11c6ce800998L,0x72bb1752b90360d9L,0x2c1931975a4ad590L,
  28099. 0x2ba2f5489fc1dbc0L },
  28100. { 0x7fe4eebbe490ebe0L,0x12a0a4cd7fae11c0L,0x7197cf81e903ba37L,
  28101. 0xcf7d4aa8de1c6dd8L } },
  28102. /* 10 << 42 */
  28103. { { 0x92af6bf43fd5684cL,0x2b26eecf80360aa1L,0xbd960f3000546a82L,
  28104. 0x407b3c43f59ad8feL },
  28105. { 0x86cae5fe249c82baL,0x9e0faec72463744cL,0x87f551e894916272L,
  28106. 0x033f93446ceb0615L } },
  28107. /* 11 << 42 */
  28108. { { 0x1e5eb0d18be82e84L,0x89967f0e7a582fefL,0xbcf687d5a6e921faL,
  28109. 0xdfee4cf3d37a09baL },
  28110. { 0x94f06965b493c465L,0x638b9a1c7635c030L,0x7666786466f05e9fL,
  28111. 0xccaf6808c04da725L } },
  28112. /* 12 << 42 */
  28113. { { 0xca2eb690768fccfcL,0xf402d37db835b362L,0x0efac0d0e2fdfcceL,
  28114. 0xefc9cdefb638d990L },
  28115. { 0x2af12b72d1669a8bL,0x33c536bc5774ccbdL,0x30b21909fb34870eL,
  28116. 0xc38fa2f77df25acaL } },
  28117. /* 13 << 42 */
  28118. { { 0x74c5f02bbf81f3f5L,0x0525a5aeaf7e4581L,0x88d2aaba433c54aeL,
  28119. 0xed9775db806a56c5L },
  28120. { 0xd320738ac0edb37dL,0x25fdb6ee66cc1f51L,0xac661d1710600d76L,
  28121. 0x931ec1f3bdd1ed76L } },
  28122. /* 14 << 42 */
  28123. { { 0x65c11d6219ee43f1L,0x5cd57c3e60829d97L,0xd26c91a3984be6e8L,
  28124. 0xf08d93098b0c53bdL },
  28125. { 0x94bc9e5bc016e4eaL,0xd391683911d43d2bL,0x886c5ad773701155L,
  28126. 0xe037762620b00715L } },
  28127. /* 15 << 42 */
  28128. { { 0x7f01c9ecaa80ba59L,0x3083411a68538e51L,0x970370f1e88128afL,
  28129. 0x625cc3db91dec14bL },
  28130. { 0xfef9666c01ac3107L,0xb2a8d577d5057ac3L,0xb0f2629992be5df7L,
  28131. 0xf579c8e500353924L } },
  28132. /* 16 << 42 */
  28133. { { 0xb8fa3d931341ed7aL,0x4223272ca7b59d49L,0x3dcb194783b8c4a4L,
  28134. 0x4e413c01ed1302e4L },
  28135. { 0x6d999127e17e44ceL,0xee86bf7533b3adfbL,0xf6902fe625aa96caL,
  28136. 0xb73540e4e5aae47dL } },
  28137. /* 17 << 42 */
  28138. { { 0x32801d7b1b4a158cL,0xe571c99e27e2a369L,0x40cb76c010d9f197L,
  28139. 0xc308c2893167c0aeL },
  28140. { 0xa6ef9dd3eb7958f2L,0xa7226dfc300879b1L,0x6cd0b3627edf0636L,
  28141. 0x4efbce6c7bc37eedL } },
  28142. /* 18 << 42 */
  28143. { { 0x75f92a058d699021L,0x586d4c79772566e3L,0x378ca5f1761ad23aL,
  28144. 0x650d86fc1465a8acL },
  28145. { 0x7a4ed457842ba251L,0x6b65e3e642234933L,0xaf1543b731aad657L,
  28146. 0xa4cefe98cbfec369L } },
  28147. /* 19 << 42 */
  28148. { { 0xb587da909f47befbL,0x6562e9fb41312d13L,0xa691ea59eff1cefeL,
  28149. 0xcc30477a05fc4cf6L },
  28150. { 0xa16324610b0ffd3dL,0xa1f16f3b5b355956L,0x5b148d534224ec24L,
  28151. 0xdc834e7bf977012aL } },
  28152. /* 20 << 42 */
  28153. { { 0x7bfc5e75b2c69dbcL,0x3aa77a2903c3da6cL,0xde0df03cca910271L,
  28154. 0xcbd5ca4a7806dc55L },
  28155. { 0xe1ca58076db476cbL,0xfde15d625f37a31eL,0xf49af520f41af416L,
  28156. 0x96c5c5b17d342db5L } },
  28157. /* 21 << 42 */
  28158. { { 0x155c43b7eb4ceb9bL,0x2e9930104e77371aL,0x1d2987da675d43afL,
  28159. 0xef2bc1c08599fd72L },
  28160. { 0x96894b7b9342f6b2L,0x201eadf27c8e71f0L,0xf3479d9f4a1f3efcL,
  28161. 0xe0f8a742702a9704L } },
  28162. /* 22 << 42 */
  28163. { { 0xeafd44b6b3eba40cL,0xf9739f29c1c1e0d0L,0x0091471a619d505eL,
  28164. 0xc15f9c969d7c263eL },
  28165. { 0x5be4728583afbe33L,0xa3b6d6af04f1e092L,0xe76526b9751a9d11L,
  28166. 0x2ec5b26d9a4ae4d2L } },
  28167. /* 23 << 42 */
  28168. { { 0xeb66f4d902f6fb8dL,0x4063c56196912164L,0xeb7050c180ef3000L,
  28169. 0x288d1c33eaa5b3f0L },
  28170. { 0xe87c68d607806fd8L,0xb2f7f9d54bbbf50fL,0x25972f3aac8d6627L,
  28171. 0xf854777410e8c13bL } },
  28172. /* 24 << 42 */
  28173. { { 0xcc50ef6c872b4a60L,0xab2a34a44613521bL,0x39c5c190983e15d1L,
  28174. 0x61dde5df59905512L },
  28175. { 0xe417f6219f2275f3L,0x0750c8b6451d894bL,0x75b04ab978b0bdaaL,
  28176. 0x3bfd9fd4458589bdL } },
  28177. /* 25 << 42 */
  28178. { { 0xf1013e30ee9120b6L,0x2b51af9323a4743eL,0xea96ffae48d14d9eL,
  28179. 0x71dc0dbe698a1d32L },
  28180. { 0x914962d20180cca4L,0x1ae60677c3568963L,0x8cf227b1437bc444L,
  28181. 0xc650c83bc9962c7aL } },
  28182. /* 26 << 42 */
  28183. { { 0x23c2c7ddfe7ccfc4L,0xf925c89d1b929d48L,0x4460f74b06783c33L,
  28184. 0xac2c8d49a590475aL },
  28185. { 0xfb40b407b807bba0L,0x9d1e362d69ff8f3aL,0xa33e9681cbef64a4L,
  28186. 0x67ece5fa332fb4b2L } },
  28187. /* 27 << 42 */
  28188. { { 0x6900a99b739f10e3L,0xc3341ca9ff525925L,0xee18a626a9e2d041L,
  28189. 0xa5a8368529580dddL },
  28190. { 0xf3470c819d7de3cdL,0xedf025862062cf9cL,0xf43522fac010edb0L,
  28191. 0x3031413513a4b1aeL } },
  28192. /* 28 << 42 */
  28193. { { 0xc792e02adb22b94bL,0x993d8ae9a1eaa45bL,0x8aad6cd3cd1e1c63L,
  28194. 0x89529ca7c5ce688aL },
  28195. { 0x2ccee3aae572a253L,0xe02b643802a21efbL,0xa7091b6ec9430358L,
  28196. 0x06d1b1fa9d7db504L } },
  28197. /* 29 << 42 */
  28198. { { 0x58846d32c4744733L,0x40517c71379f9e34L,0x2f65655f130ef6caL,
  28199. 0x526e4488f1f3503fL },
  28200. { 0x8467bd177ee4a976L,0x1d9dc913921363d1L,0xd8d24c33b069e041L,
  28201. 0x5eb5da0a2cdf7f51L } },
  28202. /* 30 << 42 */
  28203. { { 0x1c0f3cb1197b994fL,0x3c95a6c52843eae9L,0x7766ffc9a6097ea5L,
  28204. 0x7bea4093d723b867L },
  28205. { 0xb48e1f734db378f9L,0x70025b00e37b77acL,0x943dc8e7af24ad46L,
  28206. 0xb98a15ac16d00a85L } },
  28207. /* 31 << 42 */
  28208. { { 0x3adc38ba2743b004L,0xb1c7f4f7334415eeL,0xea43df8f1e62d05aL,
  28209. 0x326189059d76a3b6L },
  28210. { 0x2fbd0bb5a23a0f46L,0x5bc971db6a01918cL,0x7801d94ab4743f94L,
  28211. 0xb94df65e676ae22bL } },
  28212. /* 32 << 42 */
  28213. { { 0xaafcbfabaf95894cL,0x7b9bdc07276b2241L,0xeaf983625bdda48bL,
  28214. 0x5977faf2a3fcb4dfL },
  28215. { 0xbed042ef052c4b5bL,0x9fe87f71067591f0L,0xc89c73ca22f24ec7L,
  28216. 0x7d37fa9ee64a9f1bL } },
  28217. /* 33 << 42 */
  28218. { { 0x2710841a15562627L,0x2c01a613c243b034L,0x1d135c562bc68609L,
  28219. 0xc2ca17158b03f1f6L },
  28220. { 0xc9966c2d3eb81d82L,0xc02abf4a8f6df13eL,0x77b34bd78f72b43bL,
  28221. 0xaff6218f360c82b0L } },
  28222. /* 34 << 42 */
  28223. { { 0x0aa5726c8d55b9d2L,0xdc0adbe999e9bffbL,0x9097549cefb9e72aL,
  28224. 0x167557129dfb3111L },
  28225. { 0xdd8bf984f26847f9L,0xbcb8e387dfb30cb7L,0xc1fd32a75171ef9cL,
  28226. 0x977f3fc7389b363fL } },
  28227. /* 35 << 42 */
  28228. { { 0x116eaf2bf4babda0L,0xfeab68bdf7113c8eL,0xd1e3f064b7def526L,
  28229. 0x1ac30885e0b3fa02L },
  28230. { 0x1c5a6e7b40142d9dL,0x839b560330921c0bL,0x48f301fa36a116a3L,
  28231. 0x380e1107cfd9ee6dL } },
  28232. /* 36 << 42 */
  28233. { { 0x7945ead858854be1L,0x4111c12ecbd4d49dL,0xece3b1ec3a29c2efL,
  28234. 0x6356d4048d3616f5L },
  28235. { 0x9f0d6a8f594d320eL,0x0989316df651ccd2L,0x6c32117a0f8fdde4L,
  28236. 0x9abe5cc5a26a9bbcL } },
  28237. /* 37 << 42 */
  28238. { { 0xcff560fb9723f671L,0x21b2a12d7f3d593cL,0xe4cb18da24ba0696L,
  28239. 0x186e2220c3543384L },
  28240. { 0x722f64e088312c29L,0x94282a9917dc7752L,0x62467bbf5a85ee89L,
  28241. 0xf435c650f10076a0L } },
  28242. /* 38 << 42 */
  28243. { { 0xc9ff153943b3a50bL,0x7132130c1a53efbcL,0x31bfe063f7b0c5b7L,
  28244. 0xb0179a7d4ea994ccL },
  28245. { 0x12d064b3c85f455bL,0x472593288f6e0062L,0xf64e590bb875d6d9L,
  28246. 0x22dd6225ad92bcc7L } },
  28247. /* 39 << 42 */
  28248. { { 0xb658038eb9c3bd6dL,0x00cdb0d6fbba27c8L,0x0c6813371062c45dL,
  28249. 0xd8515b8c2d33407dL },
  28250. { 0xcb8f699e8cbb5ecfL,0x8c4347f8c608d7d8L,0x2c11850abb3e00dbL,
  28251. 0x20a8dafdecb49d19L } },
  28252. /* 40 << 42 */
  28253. { { 0xbd78148045ee2f40L,0x75e354af416b60cfL,0xde0b58a18d49a8c4L,
  28254. 0xe40e94e2fa359536L },
  28255. { 0xbd4fa59f62accd76L,0x05cf466a8c762837L,0xb5abda99448c277bL,
  28256. 0x5a9e01bf48b13740L } },
  28257. /* 41 << 42 */
  28258. { { 0x9d457798326aad8dL,0xbdef4954c396f7e7L,0x6fb274a2c253e292L,
  28259. 0x2800bf0a1cfe53e7L },
  28260. { 0x22426d3144438fd4L,0xef2339235e259f9aL,0x4188503c03f66264L,
  28261. 0x9e5e7f137f9fdfabL } },
  28262. /* 42 << 42 */
  28263. { { 0x565eb76c5fcc1abaL,0xea63254859b5bff8L,0x5587c087aab6d3faL,
  28264. 0x92b639ea6ce39c1bL },
  28265. { 0x0706e782953b135cL,0x7308912e425268efL,0x599e92c7090e7469L,
  28266. 0x83b90f529bc35e75L } },
  28267. /* 43 << 42 */
  28268. { { 0x4750b3d0244975b3L,0xf3a4435811965d72L,0x179c67749c8dc751L,
  28269. 0xff18cdfed23d9ff0L },
  28270. { 0xc40138332028e247L,0x96e280e2f3bfbc79L,0xf60417bdd0880a84L,
  28271. 0x263c9f3d2a568151L } },
  28272. /* 44 << 42 */
  28273. { { 0x36be15b32d2ce811L,0x846dc0c2f8291d21L,0x5cfa0ecb789fcfdbL,
  28274. 0x45a0beedd7535b9aL },
  28275. { 0xec8e9f0796d69af1L,0x31a7c5b8599ab6dcL,0xd36d45eff9e2e09fL,
  28276. 0x3cf49ef1dcee954bL } },
  28277. /* 45 << 42 */
  28278. { { 0x6be34cf3086cff9bL,0x88dbd49139a3360fL,0x1e96b8cc0dbfbd1dL,
  28279. 0xc1e5f7bfcb7e2552L },
  28280. { 0x0547b21428819d98L,0xc770dd9c7aea9dcbL,0xaef0d4c7041d68c8L,
  28281. 0xcc2b981813cb9ba8L } },
  28282. /* 46 << 42 */
  28283. { { 0x7fc7bc76fe86c607L,0x6b7b9337502a9a95L,0x1948dc27d14dab63L,
  28284. 0x249dd198dae047beL },
  28285. { 0xe8356584a981a202L,0x3531dd183a893387L,0x1be11f90c85c7209L,
  28286. 0x93d2fe1ee2a52b5aL } },
  28287. /* 47 << 42 */
  28288. { { 0x8225bfe2ec6d6b97L,0x9cf6d6f4bd0aa5deL,0x911459cb54779f5fL,
  28289. 0x5649cddb86aeb1f3L },
  28290. { 0x321335793f26ce5aL,0xc289a102550f431eL,0x559dcfda73b84c6fL,
  28291. 0x84973819ee3ac4d7L } },
  28292. /* 48 << 42 */
  28293. { { 0xb51e55e6f2606a82L,0xe25f706190f2fb57L,0xacef6c2ab1a4e37cL,
  28294. 0x864e359d5dcf2706L },
  28295. { 0x479e6b187ce57316L,0x2cab25003a96b23dL,0xed4898628ef16df7L,
  28296. 0x2056538cef3758b5L } },
  28297. /* 49 << 42 */
  28298. { { 0xa7df865ef15d3101L,0x80c5533a61b553d7L,0x366e19974ed14294L,
  28299. 0x6620741fb3c0bcd6L },
  28300. { 0x21d1d9c4edc45418L,0x005b859ec1cc4a9dL,0xdf01f630a1c462f0L,
  28301. 0x15d06cf3f26820c7L } },
  28302. /* 50 << 42 */
  28303. { { 0x9f7f24ee3484be47L,0x2ff33e964a0c902fL,0x00bdf4575a0bc453L,
  28304. 0x2378dfaf1aa238dbL },
  28305. { 0x272420ec856720f2L,0x2ad9d95b96797291L,0xd1242cc6768a1558L,
  28306. 0x2e287f8b5cc86aa8L } },
  28307. /* 51 << 42 */
  28308. { { 0x796873d0990cecaaL,0xade55f81675d4080L,0x2645eea321f0cd84L,
  28309. 0x7a1efa0fb4e17d02L },
  28310. { 0xf6858420037cc061L,0x682e05f0d5d43e12L,0x59c3699427218710L,
  28311. 0x85cbba4d3f7cd2fcL } },
  28312. /* 52 << 42 */
  28313. { { 0x726f97297a3cd22aL,0x9f8cd5dc4a628397L,0x17b93ab9c23165edL,
  28314. 0xff5f5dbf122823d4L },
  28315. { 0xc1e4e4b5654a446dL,0xd1a9496f677257baL,0x6387ba94de766a56L,
  28316. 0x23608bc8521ec74aL } },
  28317. /* 53 << 42 */
  28318. { { 0x16a522d76688c4d4L,0x9d6b428207373abdL,0xa62f07acb42efaa3L,
  28319. 0xf73e00f7e3b90180L },
  28320. { 0x36175fec49421c3eL,0xc4e44f9b3dcf2678L,0x76df436b7220f09fL,
  28321. 0x172755fb3aa8b6cfL } },
  28322. /* 54 << 42 */
  28323. { { 0xbab89d57446139ccL,0x0a0a6e025fe0208fL,0xcdbb63e211e5d399L,
  28324. 0x33ecaa12a8977f0bL },
  28325. { 0x59598b21f7c42664L,0xb3e91b32ab65d08aL,0x035822eef4502526L,
  28326. 0x1dcf0176720a82a9L } },
  28327. /* 55 << 42 */
  28328. { { 0x50f8598f3d589e02L,0xdf0478ffb1d63d2cL,0x8b8068bd1571cd07L,
  28329. 0x30c3aa4fd79670cdL },
  28330. { 0x25e8fd4b941ade7fL,0x3d1debdc32790011L,0x65b6dcbd3a3f9ff0L,
  28331. 0x282736a4793de69cL } },
  28332. /* 56 << 42 */
  28333. { { 0xef69a0c3d41d3bd3L,0xb533b8c907a26bdeL,0xe2801d97db2edf9fL,
  28334. 0xdc4a8269e1877af0L },
  28335. { 0x6c1c58513d590dbeL,0x84632f6bee4e9357L,0xd36d36b779b33374L,
  28336. 0xb46833e39bbca2e6L } },
  28337. /* 57 << 42 */
  28338. { { 0x37893913f7fc0586L,0x385315f766bf4719L,0x72c56293b31855dcL,
  28339. 0xd1416d4e849061feL },
  28340. { 0xbeb3ab7851047213L,0x447f6e61f040c996L,0xd06d310d638b1d0cL,
  28341. 0xe28a413fbad1522eL } },
  28342. /* 58 << 42 */
  28343. { { 0x685a76cb82003f86L,0x610d07f70bcdbca3L,0x6ff660219ca4c455L,
  28344. 0x7df39b87cea10eecL },
  28345. { 0xb9255f96e22db218L,0x8cc6d9eb08a34c44L,0xcd4ffb86859f9276L,
  28346. 0x8fa15eb250d07335L } },
  28347. /* 59 << 42 */
  28348. { { 0xdf553845cf2c24b5L,0x89f66a9f52f9c3baL,0x8f22b5b9e4a7ceb3L,
  28349. 0xaffef8090e134686L },
  28350. { 0x3e53e1c68eb8fac2L,0x93c1e4eb28aec98eL,0xb6b91ec532a43bcbL,
  28351. 0x2dbfa947b2d74a51L } },
  28352. /* 60 << 42 */
  28353. { { 0xe065d190ca84bad7L,0xfb13919fad58e65cL,0x3c41718bf1cb6e31L,
  28354. 0x688969f006d05c3fL },
  28355. { 0xd4f94ce721264d45L,0xfdfb65e97367532bL,0x5b1be8b10945a39dL,
  28356. 0x229f789c2b8baf3bL } },
  28357. /* 61 << 42 */
  28358. { { 0xd8f41f3e6f49f15dL,0x678ce828907f0792L,0xc69ace82fca6e867L,
  28359. 0x106451aed01dcc89L },
  28360. { 0x1bb4f7f019fc32d2L,0x64633dfcb00c52d2L,0x8f13549aad9ea445L,
  28361. 0x99a3bf50fb323705L } },
  28362. /* 62 << 42 */
  28363. { { 0x0c9625a2534d4dbcL,0x45b8f1d1c2a2fea3L,0x76ec21a1a530fc1aL,
  28364. 0x4bac9c2a9e5bd734L },
  28365. { 0x5996d76a7b4e3587L,0x0045cdee1182d9e3L,0x1aee24b91207f13dL,
  28366. 0x66452e9797345a41L } },
  28367. /* 63 << 42 */
  28368. { { 0x16e5b0549f950cd0L,0x9cc72fb1d7fdd075L,0x6edd61e766249663L,
  28369. 0xde4caa4df043cccbL },
  28370. { 0x11b1f57a55c7ac17L,0x779cbd441a85e24dL,0x78030f86e46081e7L,
  28371. 0xfd4a60328e20f643L } },
  28372. /* 64 << 42 */
  28373. { { 0xcc7a64880a750c0fL,0x39bacfe34e548e83L,0x3d418c760c110f05L,
  28374. 0x3e4daa4cb1f11588L },
  28375. { 0x2733e7b55ffc69ffL,0x46f147bc92053127L,0x885b2434d722df94L,
  28376. 0x6a444f65e6fc6b7cL } },
  28377. /* 0 << 49 */
  28378. { { 0x00, 0x00, 0x00, 0x00 },
  28379. { 0x00, 0x00, 0x00, 0x00 } },
  28380. /* 1 << 49 */
  28381. { { 0x7a1a465ac3f16ea8L,0x115a461db2f1d11cL,0x4767dd956c68a172L,
  28382. 0x3392f2ebd13a4698L },
  28383. { 0xc7a99ccde526cdc7L,0x8e537fdc22292b81L,0x76d8cf69a6d39198L,
  28384. 0xffc5ff432446852dL } },
  28385. /* 2 << 49 */
  28386. { { 0x97b14f7ea90567e6L,0x513257b7b6ae5cb7L,0x85454a3c9f10903dL,
  28387. 0xd8d2c9ad69bc3724L },
  28388. { 0x38da93246b29cb44L,0xb540a21d77c8cbacL,0x9bbfe43501918e42L,
  28389. 0xfffa707a56c3614eL } },
  28390. /* 3 << 49 */
  28391. { { 0x0ce4e3f1d4e353b7L,0x062d8a14ef46b0a0L,0x6408d5ab574b73fdL,
  28392. 0xbc41d1c9d3273ffdL },
  28393. { 0x3538e1e76be77800L,0x71fe8b37c5655031L,0x1cd916216b9b331aL,
  28394. 0xad825d0bbb388f73L } },
  28395. /* 4 << 49 */
  28396. { { 0x56c2e05b1cb76219L,0x0ec0bf9171567e7eL,0xe7076f8661c4c910L,
  28397. 0xd67b085bbabc04d9L },
  28398. { 0x9fb904595e93a96aL,0x7526c1eafbdc249aL,0x0d44d367ecdd0bb7L,
  28399. 0x953999179dc0d695L } },
  28400. /* 5 << 49 */
  28401. { { 0x61360ee99e240d18L,0x057cdcacb4b94466L,0xe7667cd12fe5325cL,
  28402. 0x1fa297b521974e3bL },
  28403. { 0xfa4081e7db083d76L,0x31993be6f206bd15L,0x8949269b14c19f8cL,
  28404. 0x21468d72a9d92357L } },
  28405. /* 6 << 49 */
  28406. { { 0x2ccbc583a4c506ecL,0x957ed188d1acfe97L,0x8baed83312f1aea2L,
  28407. 0xef2a6cb48325362dL },
  28408. { 0x130dde428e195c43L,0xc842025a0e6050c6L,0x2da972a708686a5dL,
  28409. 0xb52999a1e508b4a8L } },
  28410. /* 7 << 49 */
  28411. { { 0xd9f090b910a5a8bdL,0xca91d249096864daL,0x8e6a93be3f67dbc1L,
  28412. 0xacae6fbaf5f4764cL },
  28413. { 0x1563c6e0d21411a0L,0x28fa787fda0a4ad8L,0xd524491c908c8030L,
  28414. 0x1257ba0e4c795f07L } },
  28415. /* 8 << 49 */
  28416. { { 0x83f49167ceca9754L,0x426d2cf64b7939a0L,0x2555e355723fd0bfL,
  28417. 0xa96e6d06c4f144e2L },
  28418. { 0x4768a8dd87880e61L,0x15543815e508e4d5L,0x09d7e772b1b65e15L,
  28419. 0x63439dd6ac302fa0L } },
  28420. /* 9 << 49 */
  28421. { { 0xb93f802fc14e35c2L,0x71735b7c4341333cL,0x03a2510416d4f362L,
  28422. 0x3f4d069bbf433c8eL },
  28423. { 0x0d83ae01f78f5a7cL,0x50a8ffbe7c4eed07L,0xc74f890676e10f83L,
  28424. 0x7d0809669ddaf8e1L } },
  28425. /* 10 << 49 */
  28426. { { 0xb11df8e1698e04ccL,0x877be203169005c8L,0x32749e8c4f3c6179L,
  28427. 0x2dbc9d0a7853fc05L },
  28428. { 0x187d4f939454d937L,0xe682ce9db4800e1bL,0xa9129ad8165e68e8L,
  28429. 0x0fe29735be7f785bL } },
  28430. /* 11 << 49 */
  28431. { { 0x5303f40c5b9e02b7L,0xa37c969235ee04e8L,0x5f46cc2034d6632bL,
  28432. 0x55ef72b296ac545bL },
  28433. { 0xabec5c1f7b91b062L,0x0a79e1c7bb33e821L,0xbb04b4283a9f4117L,
  28434. 0x0de1f28ffd2a475aL } },
  28435. /* 12 << 49 */
  28436. { { 0x31019ccf3a4434b4L,0xa34581111a7954dcL,0xa9dac80de34972a7L,
  28437. 0xb043d05474f6b8ddL },
  28438. { 0x021c319e11137b1aL,0x00a754ceed5cc03fL,0x0aa2c794cbea5ad4L,
  28439. 0x093e67f470c015b6L } },
  28440. /* 13 << 49 */
  28441. { { 0x72cdfee9c97e3f6bL,0xc10bcab4b6da7461L,0x3b02d2fcb59806b9L,
  28442. 0x85185e89a1de6f47L },
  28443. { 0x39e6931f0eb6c4d4L,0x4d4440bdd4fa5b04L,0x5418786e34be7eb8L,
  28444. 0x6380e5219d7259bcL } },
  28445. /* 14 << 49 */
  28446. { { 0x20ac0351d598d710L,0x272c4166cb3a4da4L,0xdb82fe1aca71de1fL,
  28447. 0x746e79f2d8f54b0fL },
  28448. { 0x6e7fc7364b573e9bL,0x75d03f46fd4b5040L,0x5c1cc36d0b98d87bL,
  28449. 0x513ba3f11f472da1L } },
  28450. /* 15 << 49 */
  28451. { { 0x79d0af26abb177ddL,0xf82ab5687891d564L,0x2b6768a972232173L,
  28452. 0xefbb3bb08c1f6619L },
  28453. { 0xb29c11dba6d18358L,0x519e2797b0916d3aL,0xd4dc18f09188e290L,
  28454. 0x648e86e398b0ca7fL } },
  28455. /* 16 << 49 */
  28456. { { 0x859d3145983c38b5L,0xb14f176c637abc8bL,0x2793fb9dcaff7be6L,
  28457. 0xebe5a55f35a66a5aL },
  28458. { 0x7cec1dcd9f87dc59L,0x7c595cd3fbdbf560L,0x5b543b2226eb3257L,
  28459. 0x69080646c4c935fdL } },
  28460. /* 17 << 49 */
  28461. { { 0x7f2e440381e9ede3L,0x243c3894caf6df0aL,0x7c605bb11c073b11L,
  28462. 0xcd06a541ba6a4a62L },
  28463. { 0x2916894949d4e2e5L,0x33649d074af66880L,0xbfc0c885e9a85035L,
  28464. 0xb4e52113fc410f4bL } },
  28465. /* 18 << 49 */
  28466. { { 0xdca3b70678a6513bL,0x92ea4a2a9edb1943L,0x02642216db6e2dd8L,
  28467. 0x9b45d0b49fd57894L },
  28468. { 0x114e70dbc69d11aeL,0x1477dd194c57595fL,0xbc2208b4ec77c272L,
  28469. 0x95c5b4d7db68f59cL } },
  28470. /* 19 << 49 */
  28471. { { 0xb8c4fc6342e532b7L,0x386ba4229ae35290L,0xfb5dda42d201ecbcL,
  28472. 0x2353dc8ba0e38fd6L },
  28473. { 0x9a0b85ea68f7e978L,0x96ec56822ad6d11fL,0x5e279d6ce5f6886dL,
  28474. 0xd3fe03cd3cb1914dL } },
  28475. /* 20 << 49 */
  28476. { { 0xfe541fa47ea67c77L,0x952bd2afe3ea810cL,0x791fef568d01d374L,
  28477. 0xa3a1c6210f11336eL },
  28478. { 0x5ad0d5a9c7ec6d79L,0xff7038af3225c342L,0x003c6689bc69601bL,
  28479. 0x25059bc745e8747dL } },
  28480. /* 21 << 49 */
  28481. { { 0xfa4965b2f2086fbfL,0xf6840ea686916078L,0xd7ac762070081d6cL,
  28482. 0xe600da31b5328645L },
  28483. { 0x01916f63529b8a80L,0xe80e48582d7d6f3eL,0x29eb0fe8d664ca7cL,
  28484. 0xf017637be7b43b0cL } },
  28485. /* 22 << 49 */
  28486. { { 0x9a75c80676cb2566L,0x8f76acb1b24892d9L,0x7ae7b9cc1f08fe45L,
  28487. 0x19ef73296a4907d8L },
  28488. { 0x2db4ab715f228bf0L,0xf3cdea39817032d7L,0x0b1f482edcabe3c0L,
  28489. 0x3baf76b4bb86325cL } },
  28490. /* 23 << 49 */
  28491. { { 0xd49065e010089465L,0x3bab5d298e77c596L,0x7636c3a6193dbd95L,
  28492. 0xdef5d294b246e499L },
  28493. { 0xb22c58b9286b2475L,0xa0b93939cd80862bL,0x3002c83af0992388L,
  28494. 0x6de01f9beacbe14cL } },
  28495. /* 24 << 49 */
  28496. { { 0x6aac688eadd70482L,0x708de92a7b4a4e8aL,0x75b6dd73758a6eefL,
  28497. 0xea4bf352725b3c43L },
  28498. { 0x10041f2c87912868L,0xb1b1be95ef09297aL,0x19ae23c5a9f3860aL,
  28499. 0xc4f0f839515dcf4bL } },
  28500. /* 25 << 49 */
  28501. { { 0x3c7ecca397f6306aL,0x744c44ae68a3a4b0L,0x69cd13a0b3a1d8a2L,
  28502. 0x7cad0a1e5256b578L },
  28503. { 0xea653fcd33791d9eL,0x9cc2a05d74b2e05fL,0x73b391dcfd7affa2L,
  28504. 0xddb7091eb6b05442L } },
  28505. /* 26 << 49 */
  28506. { { 0xc71e27bf8538a5c6L,0x195c63dd89abff17L,0xfd3152851b71e3daL,
  28507. 0x9cbdfda7fa680fa0L },
  28508. { 0x9db876ca849d7eabL,0xebe2764b3c273271L,0x663357e3f208dceaL,
  28509. 0x8c5bd833565b1b70L } },
  28510. /* 27 << 49 */
  28511. { { 0xccc3b4f59837fc0dL,0x9b641ba8a79cf00fL,0x7428243ddfdf3990L,
  28512. 0x83a594c4020786b1L },
  28513. { 0xb712451a526c4502L,0x9d39438e6adb3f93L,0xfdb261e3e9ff0ccdL,
  28514. 0x80344e3ce07af4c3L } },
  28515. /* 28 << 49 */
  28516. { { 0x75900d7c2fa4f126L,0x08a3b8655c99a232L,0x2478b6bfdb25e0c3L,
  28517. 0x482cc2c271db2edfL },
  28518. { 0x37df7e645f321bb8L,0x8a93821b9a8005b4L,0x3fa2f10ccc8c1958L,
  28519. 0x0d3322182c269d0aL } },
  28520. /* 29 << 49 */
  28521. { { 0x20ab8119e246b0e6L,0xb39781e4d349fd17L,0xd293231eb31aa100L,
  28522. 0x4b779c97bb032168L },
  28523. { 0x4b3f19e1c8470500L,0x45b7efe90c4c869dL,0xdb84f38aa1a6bbccL,
  28524. 0x3b59cb15b2fddbc1L } },
  28525. /* 30 << 49 */
  28526. { { 0xba5514df3fd165e8L,0x499fd6a9061f8811L,0x72cd1fe0bfef9f00L,
  28527. 0x120a4bb979ad7e8aL },
  28528. { 0xf2ffd0955f4a5ac5L,0xcfd174f195a7a2f0L,0xd42301ba9d17baf1L,
  28529. 0xd2fa487a77f22089L } },
  28530. /* 31 << 49 */
  28531. { { 0x9cb09efeb1dc77e1L,0xe956693921c99682L,0x8c5469016c6067bbL,
  28532. 0xfd37857461c24456L },
  28533. { 0x2b6a6cbe81796b33L,0x62d550f658e87f8bL,0x1b763e1c7f1b01b4L,
  28534. 0x4b93cfea1b1b5e12L } },
  28535. /* 32 << 49 */
  28536. { { 0xb93452381d531696L,0x57201c0088cdde69L,0xdde922519a86afc7L,
  28537. 0xe3043895bd35cea8L },
  28538. { 0x7608c1e18555970dL,0x8267dfa92535935eL,0xd4c60a57322ea38bL,
  28539. 0xe0bf7977804ef8b5L } },
  28540. /* 33 << 49 */
  28541. { { 0x1a0dab28c06fece4L,0xd405991e94e7b49dL,0xc542b6d2706dab28L,
  28542. 0xcb228da3a91618fbL },
  28543. { 0x224e4164107d1ceaL,0xeb9fdab3d0f5d8f1L,0xc02ba3860d6e41cdL,
  28544. 0x676a72c59b1f7146L } },
  28545. /* 34 << 49 */
  28546. { { 0xffd6dd984d6cb00bL,0xcef9c5cade2e8d7cL,0xa1bbf5d7641c7936L,
  28547. 0x1b95b230ee8f772eL },
  28548. { 0xf765a92ee8ac25b1L,0xceb04cfc3a18b7c6L,0x27944cef0acc8966L,
  28549. 0xcbb3c957434c1004L } },
  28550. /* 35 << 49 */
  28551. { { 0x9c9971a1a43ff93cL,0x5bc2db17a1e358a9L,0x45b4862ea8d9bc82L,
  28552. 0x70ebfbfb2201e052L },
  28553. { 0xafdf64c792871591L,0xea5bcae6b42d0219L,0xde536c552ad8f03cL,
  28554. 0xcd6c3f4da76aa33cL } },
  28555. /* 36 << 49 */
  28556. { { 0xbeb5f6230bca6de3L,0xdd20dd99b1e706fdL,0x90b3ff9dac9059d4L,
  28557. 0x2d7b29027ccccc4eL },
  28558. { 0x8a090a59ce98840fL,0xa5d947e08410680aL,0x49ae346a923379a5L,
  28559. 0x7dbc84f9b28a3156L } },
  28560. /* 37 << 49 */
  28561. { { 0xfd40d91654a1aff2L,0xabf318ba3a78fb9bL,0x50152ed83029f95eL,
  28562. 0x9fc1dd77c58ad7faL },
  28563. { 0x5fa5791513595c17L,0xb95046688f62b3a9L,0x907b5b24ff3055b0L,
  28564. 0x2e995e359a84f125L } },
  28565. /* 38 << 49 */
  28566. { { 0x87dacf697e9bbcfbL,0x95d0c1d6e86d96e3L,0x65726e3c2d95a75cL,
  28567. 0x2c3c9001acd27f21L },
  28568. { 0x1deab5616c973f57L,0x108b7e2ca5221643L,0x5fee9859c4ef79d4L,
  28569. 0xbd62b88a40d4b8c6L } },
  28570. /* 39 << 49 */
  28571. { { 0xb4dd29c4197c75d6L,0x266a6df2b7076febL,0x9512d0ea4bf2df11L,
  28572. 0x1320c24f6b0cc9ecL },
  28573. { 0x6bb1e0e101a59596L,0x8317c5bbeff9aaacL,0x65bb405e385aa6c9L,
  28574. 0x613439c18f07988fL } },
  28575. /* 40 << 49 */
  28576. { { 0xd730049f16a66e91L,0xe97f2820fa1b0e0dL,0x4131e003304c28eaL,
  28577. 0x820ab732526bac62L },
  28578. { 0xb2ac9ef928714423L,0x54ecfffaadb10cb2L,0x8781476ef886a4ccL,
  28579. 0x4b2c87b5db2f8d49L } },
  28580. /* 41 << 49 */
  28581. { { 0xe857cd200a44295dL,0x707d7d2158c6b044L,0xae8521f9f596757cL,
  28582. 0x87448f0367b2b714L },
  28583. { 0x13a9bc455ebcd58dL,0x79bcced99122d3c1L,0x3c6442479e076642L,
  28584. 0x0cf227782df4767dL } },
  28585. /* 42 << 49 */
  28586. { { 0x5e61aee471d444b6L,0x211236bfc5084a1dL,0x7e15bc9a4fd3eaf6L,
  28587. 0x68df2c34ab622bf5L },
  28588. { 0x9e674f0f59bf4f36L,0xf883669bd7f34d73L,0xc48ac1b831497b1dL,
  28589. 0x323b925d5106703bL } },
  28590. /* 43 << 49 */
  28591. { { 0x22156f4274082008L,0xeffc521ac8482bcbL,0x5c6831bf12173479L,
  28592. 0xcaa2528fc4739490L },
  28593. { 0x84d2102a8f1b3c4dL,0xcf64dfc12d9bec0dL,0x433febad78a546efL,
  28594. 0x1f621ec37b73cef1L } },
  28595. /* 44 << 49 */
  28596. { { 0x6aecd62737338615L,0x162082ab01d8edf6L,0x833a811919e86b66L,
  28597. 0x6023a251d299b5dbL },
  28598. { 0xf5bb0c3abbf04b89L,0x6735eb69ae749a44L,0xd0e058c54713de3bL,
  28599. 0xfdf2593e2c3d4ccdL } },
  28600. /* 45 << 49 */
  28601. { { 0x1b8f414efdd23667L,0xdd52aacafa2015eeL,0x3e31b517bd9625ffL,
  28602. 0x5ec9322d8db5918cL },
  28603. { 0xbc73ac85a96f5294L,0x82aa5bf361a0666aL,0x49755810bf08ac42L,
  28604. 0xd21cdfd5891cedfcL } },
  28605. /* 46 << 49 */
  28606. { { 0x918cb57b67f8be10L,0x365d1a7c56ffa726L,0x2435c5046532de93L,
  28607. 0xc0fc5e102674cd02L },
  28608. { 0x6e51fcf89cbbb142L,0x1d436e5aafc50692L,0x766bffff3fbcae22L,
  28609. 0x3148c2fdfd55d3b8L } },
  28610. /* 47 << 49 */
  28611. { { 0x52c7fdc9233222faL,0x89ff1092e419fb6bL,0x3cd6db9925254977L,
  28612. 0x2e85a1611cf12ca7L },
  28613. { 0xadd2547cdc810bc9L,0xea3f458f9d257c22L,0x642c1fbe27d6b19bL,
  28614. 0xed07e6b5140481a6L } },
  28615. /* 48 << 49 */
  28616. { { 0x6ada1d4286d2e0f8L,0xe59201220e8a9fd5L,0x02c936af708c1b49L,
  28617. 0x60f30fee2b4bfaffL },
  28618. { 0x6637ad06858e6a61L,0xce4c77673fd374d0L,0x39d54b2d7188defbL,
  28619. 0xa8c9d250f56a6b66L } },
  28620. /* 49 << 49 */
  28621. { { 0x58fc0f5eb24fe1dcL,0x9eaf9dee6b73f24cL,0xa90d588b33650705L,
  28622. 0xde5b62c5af2ec729L },
  28623. { 0x5c72cfaed3c2b36eL,0x868c19d5034435daL,0x88605f93e17ee145L,
  28624. 0xaa60c4ee77a5d5b1L } },
  28625. /* 50 << 49 */
  28626. { { 0xbcf5bfd23b60c472L,0xaf4ef13ceb1d3049L,0x373f44fce13895c9L,
  28627. 0xf29b382f0cbc9822L },
  28628. { 0x1bfcb85373efaef6L,0xcf56ac9ca8c96f40L,0xd7adf1097a191e24L,
  28629. 0x98035f44bf8a8dc2L } },
  28630. /* 51 << 49 */
  28631. { { 0xf40a71b91e750c84L,0xc57f7b0c5dc6c469L,0x49a0e79c6fbc19c1L,
  28632. 0x6b0f5889a48ebdb8L },
  28633. { 0x5d3fd084a07c4e9fL,0xc3830111ab27de14L,0x0e4929fe33e08dccL,
  28634. 0xf4a5ad2440bb73a3L } },
  28635. /* 52 << 49 */
  28636. { { 0xde86c2bf490f97caL,0x288f09c667a1ce18L,0x364bb8861844478dL,
  28637. 0x7840fa42ceedb040L },
  28638. { 0x1269fdd25a631b37L,0x94761f1ea47c8b7dL,0xfc0c2e17481c6266L,
  28639. 0x85e16ea23daa5fa7L } },
  28640. /* 53 << 49 */
  28641. { { 0xccd8603392491048L,0x0c2f6963f4d402d7L,0x6336f7dfdf6a865cL,
  28642. 0x0a2a463cb5c02a87L },
  28643. { 0xb0e29be7bf2f12eeL,0xf0a2200266bad988L,0x27f87e039123c1d7L,
  28644. 0x21669c55328a8c98L } },
  28645. /* 54 << 49 */
  28646. { { 0x186b980392f14529L,0xd3d056cc63954df3L,0x2f03fd58175a46f6L,
  28647. 0x63e34ebe11558558L },
  28648. { 0xe13fedee5b80cfa5L,0xe872a120d401dbd1L,0x52657616e8a9d667L,
  28649. 0xbc8da4b6e08d6693L } },
  28650. /* 55 << 49 */
  28651. { { 0x370fb9bb1b703e75L,0x6773b186d4338363L,0x18dad378ecef7bffL,
  28652. 0xaac787ed995677daL },
  28653. { 0x4801ea8b0437164bL,0xf430ad2073fe795eL,0xb164154d8ee5eb73L,
  28654. 0x0884ecd8108f7c0eL } },
  28655. /* 56 << 49 */
  28656. { { 0x0e6ec0965f520698L,0x640631fe44f7b8d9L,0x92fd34fca35a68b9L,
  28657. 0x9c5a4b664d40cf4eL },
  28658. { 0x949454bf80b6783dL,0x80e701fe3a320a10L,0x8d1a564a1a0a39b2L,
  28659. 0x1436d53d320587dbL } },
  28660. /* 57 << 49 */
  28661. { { 0xf5096e6d6556c362L,0xbc23a3c0e2455d7eL,0x3a7aee54807230f9L,
  28662. 0x9ba1cfa622ae82fdL },
  28663. { 0x833a057a99c5d706L,0x8be85f4b842315c9L,0xd083179a66a72f12L,
  28664. 0x2fc77d5dcdcc73cdL } },
  28665. /* 58 << 49 */
  28666. { { 0x22b88a805616ee30L,0xfb09548fe7ab1083L,0x8ad6ab0d511270cdL,
  28667. 0x61f6c57a6924d9abL },
  28668. { 0xa0f7bf7290aecb08L,0x849f87c90df784a4L,0x27c79c15cfaf1d03L,
  28669. 0xbbf9f675c463faceL } },
  28670. /* 59 << 49 */
  28671. { { 0x91502c65765ba543L,0x18ce3cac42ea60ddL,0xe5cee6ac6e43ecb3L,
  28672. 0x63e4e91068f2aeebL },
  28673. { 0x26234fa3c85932eeL,0x96883e8b4c90c44dL,0x29b9e738a18a50f6L,
  28674. 0xbfc62b2a3f0420dfL } },
  28675. /* 60 << 49 */
  28676. { { 0xd22a7d906d3e1fa9L,0x17115618fe05b8a3L,0x2a0c9926bb2b9c01L,
  28677. 0xc739fcc6e07e76a2L },
  28678. { 0x540e9157165e439aL,0x06353a626a9063d8L,0x84d9559461e927a3L,
  28679. 0x013b9b26e2e0be7fL } },
  28680. /* 61 << 49 */
  28681. { { 0x4feaec3b973497f1L,0x15c0f94e093ebc2dL,0x6af5f22733af0583L,
  28682. 0x0c2af206c61f3340L },
  28683. { 0xd25dbdf14457397cL,0x2e8ed017cabcbae0L,0xe3010938c2815306L,
  28684. 0xbaa99337e8c6cd68L } },
  28685. /* 62 << 49 */
  28686. { { 0x085131823b0ec7deL,0x1e1b822b58df05dfL,0x5c14842fa5c3b683L,
  28687. 0x98fe977e3eba34ceL },
  28688. { 0xfd2316c20d5e8873L,0xe48d839abd0d427dL,0x495b2218623fc961L,
  28689. 0x24ee56e7b46fba5eL } },
  28690. /* 63 << 49 */
  28691. { { 0x9184a55b91e4de58L,0xa7488ca5dfdea288L,0xa723862ea8dcc943L,
  28692. 0x92d762b2849dc0fcL },
  28693. { 0x3c444a12091ff4a9L,0x581113fa0cada274L,0xb9de0a4530d8eae2L,
  28694. 0x5e0fcd85df6b41eaL } },
  28695. /* 64 << 49 */
  28696. { { 0x6233ea68c094dbb5L,0xb77d062ed968d410L,0x3e719bbc58b3002dL,
  28697. 0x68e7dd3d3dc49d58L },
  28698. { 0x8d825740013a5e58L,0x213117473c9e3c1bL,0x0cb0a2a77c99b6abL,
  28699. 0x5c48a3b3c2f888f2L } },
  28700. /* 0 << 56 */
  28701. { { 0x00, 0x00, 0x00, 0x00 },
  28702. { 0x00, 0x00, 0x00, 0x00 } },
  28703. /* 1 << 56 */
  28704. { { 0xc7913e91991724f3L,0x5eda799c39cbd686L,0xddb595c763d4fc1eL,
  28705. 0x6b63b80bac4fed54L },
  28706. { 0x6ea0fc697e5fb516L,0x737708bad0f1c964L,0x9628745f11a92ca5L,
  28707. 0x61f379589a86967aL } },
  28708. /* 2 << 56 */
  28709. { { 0x9af39b2caa665072L,0x78322fa4efd324efL,0x3d153394c327bd31L,
  28710. 0x81d5f2713129dab0L },
  28711. { 0xc72e0c42f48027f5L,0xaa40cdbc8536e717L,0xf45a657a2d369d0fL,
  28712. 0xb03bbfc4ea7f74e6L } },
  28713. /* 3 << 56 */
  28714. { { 0x46a8c4180d738dedL,0x6f1a5bb0e0de5729L,0xf10230b98ba81675L,
  28715. 0x32c6f30c112b33d4L },
  28716. { 0x7559129dd8fffb62L,0x6a281b47b459bf05L,0x77c1bd3afa3b6776L,
  28717. 0x0709b3807829973aL } },
  28718. /* 4 << 56 */
  28719. { { 0x8c26b232a3326505L,0x38d69272ee1d41bfL,0x0459453effe32afaL,
  28720. 0xce8143ad7cb3ea87L },
  28721. { 0x932ec1fa7e6ab666L,0x6cd2d23022286264L,0x459a46fe6736f8edL,
  28722. 0x50bf0d009eca85bbL } },
  28723. /* 5 << 56 */
  28724. { { 0x0b825852877a21ecL,0x300414a70f537a94L,0x3f1cba4021a9a6a2L,
  28725. 0x50824eee76943c00L },
  28726. { 0xa0dbfcecf83cba5dL,0xf953814893b4f3c0L,0x6174416248f24dd7L,
  28727. 0x5322d64de4fb09ddL } },
  28728. /* 6 << 56 */
  28729. { { 0x574473843d9325f3L,0xa9bef2d0f371cb84L,0x77d2188ba61e36c5L,
  28730. 0xbbd6a7d7c602df72L },
  28731. { 0xba3aa9028f61bc0bL,0xf49085ed6ed0b6a1L,0x8bc625d6ae6e8298L,
  28732. 0x832b0b1da2e9c01dL } },
  28733. /* 7 << 56 */
  28734. { { 0xa337c447f1f0ced1L,0x800cc7939492dd2bL,0x4b93151dbea08efaL,
  28735. 0x820cf3f8de0a741eL },
  28736. { 0xff1982dc1c0f7d13L,0xef92196084dde6caL,0x1ad7d97245f96ee3L,
  28737. 0x319c8dbe29dea0c7L } },
  28738. /* 8 << 56 */
  28739. { { 0xd3ea38717b82b99bL,0x75922d4d470eb624L,0x8f66ec543b95d466L,
  28740. 0x66e673ccbee1e346L },
  28741. { 0x6afe67c4b5f2b89aL,0x3de9c1e6290e5cd3L,0x8c278bb6310a2adaL,
  28742. 0x420fa3840bdb323bL } },
  28743. /* 9 << 56 */
  28744. { { 0x0ae1d63b0eb919b0L,0xd74ee51da74b9620L,0x395458d0a674290cL,
  28745. 0x324c930f4620a510L },
  28746. { 0x2d1f4d19fbac27d4L,0x4086e8ca9bedeeacL,0x0cdd211b9b679ab8L,
  28747. 0x5970167d7090fec4L } },
  28748. /* 10 << 56 */
  28749. { { 0x3420f2c9faf1fc63L,0x616d333a328c8bb4L,0x7d65364c57f1fe4aL,
  28750. 0x9343e87755e5c73aL },
  28751. { 0x5795176be970e78cL,0xa36ccebf60533627L,0xfc7c738009cdfc1bL,
  28752. 0xb39a2afeb3fec326L } },
  28753. /* 11 << 56 */
  28754. { { 0xb7ff1ba16224408aL,0xcc856e92247cfc5eL,0x01f102e7c18bc493L,
  28755. 0x4613ab742091c727L },
  28756. { 0xaa25e89cc420bf2bL,0x00a5317690337ec2L,0xd2be9f437d025fc7L,
  28757. 0x3316fb856e6fe3dcL } },
  28758. /* 12 << 56 */
  28759. { { 0x27520af59ac50814L,0xfdf95e789a8e4223L,0xb7e7df2a56bec5a0L,
  28760. 0xf7022f7ddf159e5dL },
  28761. { 0x93eeeab1cac1fe8fL,0x8040188c37451168L,0x7ee8aa8ad967dce6L,
  28762. 0xfa0e79e73abc9299L } },
  28763. /* 13 << 56 */
  28764. { { 0x67332cfc2064cfd1L,0x339c31deb0651934L,0x719b28d52a3bcbeaL,
  28765. 0xee74c82b9d6ae5c6L },
  28766. { 0x0927d05ebaf28ee6L,0x82cecf2c9d719028L,0x0b0d353eddb30289L,
  28767. 0xfe4bb977fddb2e29L } },
  28768. /* 14 << 56 */
  28769. { { 0xbb5bb990640bfd9eL,0xd226e27782f62108L,0x4bf0098502ffdd56L,
  28770. 0x7756758a2ca1b1b5L },
  28771. { 0xc32b62a35285fe91L,0xedbc546a8c9cd140L,0x1e47a013af5cb008L,
  28772. 0xbca7e720073ce8f2L } },
  28773. /* 15 << 56 */
  28774. { { 0xe10b2ab817a91caeL,0xb89aab6508e27f63L,0x7b3074a7dba3ddf9L,
  28775. 0x1c20ce09330c2972L },
  28776. { 0x6b9917b45fcf7e33L,0xe6793743945ceb42L,0x18fc22155c633d19L,
  28777. 0xad1adb3cc7485474L } },
  28778. /* 16 << 56 */
  28779. { { 0x646f96796424c49bL,0xf888dfe867c241c9L,0xe12d4b9324f68b49L,
  28780. 0x9a6b62d8a571df20L },
  28781. { 0x81b4b26d179483cbL,0x666f96329511fae2L,0xd281b3e4d53aa51fL,
  28782. 0x7f96a7657f3dbd16L } },
  28783. /* 17 << 56 */
  28784. { { 0xa7f8b5bf074a30ceL,0xd7f52107005a32e6L,0x6f9e090750237ed4L,
  28785. 0x2f21da478096fa2bL },
  28786. { 0xf3e19cb4eec863a0L,0xd18f77fd9527620aL,0x9505c81c407c1cf8L,
  28787. 0x9998db4e1b6ec284L } },
  28788. /* 18 << 56 */
  28789. { { 0x7e3389e5c247d44dL,0x125071413f4f3d80L,0xd4ba01104a78a6c7L,
  28790. 0x312874a0767720beL },
  28791. { 0xded059a675944370L,0xd6123d903b2c0bddL,0xa56b717b51c108e3L,
  28792. 0x9bb7940e070623e9L } },
  28793. /* 19 << 56 */
  28794. { { 0x794e2d5984ac066cL,0xf5954a92e68c69a0L,0x28c524584fd99dccL,
  28795. 0x60e639fcb1012517L },
  28796. { 0xc2e601257de79248L,0xe9ef6404f12fc6d7L,0x4c4f28082a3b5d32L,
  28797. 0x865ad32ec768eb8aL } },
  28798. /* 20 << 56 */
  28799. { { 0xac02331b13fb70b6L,0x037b44c195599b27L,0x1a860fc460bd082cL,
  28800. 0xa2e25745c980cd01L },
  28801. { 0xee3387a81da0263eL,0x931bfb952d10f3d6L,0x5b687270a1f24a32L,
  28802. 0xf140e65dca494b86L } },
  28803. /* 21 << 56 */
  28804. { { 0x4f4ddf91b2f1ac7aL,0xf99eaabb760fee27L,0x57f4008a49c228e5L,
  28805. 0x090be4401cf713bbL },
  28806. { 0xac91fbe45004f022L,0xd838c2c2569e1af6L,0xd6c7d20b0f1daaa5L,
  28807. 0xaa063ac11bbb02c0L } },
  28808. /* 22 << 56 */
  28809. { { 0x0938a42259558a78L,0x5343c6698435da2fL,0x96f67b18034410dcL,
  28810. 0x7cc1e42484510804L },
  28811. { 0x86a1543f16dfbb7dL,0x921fa9425b5bd592L,0x9dcccb6eb33dd03cL,
  28812. 0x8581ddd9b843f51eL } },
  28813. /* 23 << 56 */
  28814. { { 0x54935fcb81d73c9eL,0x6d07e9790a5e97abL,0x4dc7b30acf3a6babL,
  28815. 0x147ab1f3170bee11L },
  28816. { 0x0aaf8e3d9fafdee4L,0xfab3dbcb538a8b95L,0x405df4b36ef13871L,
  28817. 0xf1f4e9cb088d5a49L } },
  28818. /* 24 << 56 */
  28819. { { 0x9bcd24d366b33f1dL,0x3b97b8205ce445c0L,0xe2926549ba93ff61L,
  28820. 0xd9c341ce4dafe616L },
  28821. { 0xfb30a76e16efb6f3L,0xdf24b8ca605b953cL,0x8bd52afec2fffb9fL,
  28822. 0xbbac5ff7e19d0b96L } },
  28823. /* 25 << 56 */
  28824. { { 0x43c01b87459afccdL,0x6bd45143b7432652L,0x8473453055b5d78eL,
  28825. 0x81088fdb1554ba7dL },
  28826. { 0xada0a52c1e269375L,0xf9f037c42dc5ec10L,0xc066060794bfbc11L,
  28827. 0xc0a630bbc9c40d2fL } },
  28828. /* 26 << 56 */
  28829. { { 0x5efc797eab64c31eL,0xffdb1dab74507144L,0xf61242871ca6790cL,
  28830. 0xe9609d81e69bf1bfL },
  28831. { 0xdb89859500d24fc9L,0x9c750333e51fb417L,0x51830a91fef7bbdeL,
  28832. 0x0ce67dc8945f585cL } },
  28833. /* 27 << 56 */
  28834. { { 0x9a730ed44763eb50L,0x24a0e221c1ab0d66L,0x643b6393648748f3L,
  28835. 0x1982daa16d3c6291L },
  28836. { 0x6f00a9f78bbc5549L,0x7a1783e17f36384eL,0xe8346323de977f50L,
  28837. 0x91ab688db245502aL } },
  28838. /* 28 << 56 */
  28839. { { 0x331ab6b56d0bdd66L,0x0a6ef32e64b71229L,0x1028150efe7c352fL,
  28840. 0x27e04350ce7b39d3L },
  28841. { 0x2a3c8acdc1070c82L,0xfb2034d380c9feefL,0x2d729621709f3729L,
  28842. 0x8df290bf62cb4549L } },
  28843. /* 29 << 56 */
  28844. { { 0x02f99f33fc2e4326L,0x3b30076d5eddf032L,0xbb21f8cf0c652fb5L,
  28845. 0x314fb49eed91cf7bL },
  28846. { 0xa013eca52f700750L,0x2b9e3c23712a4575L,0xe5355557af30fbb0L,
  28847. 0x1ada35167c77e771L } },
  28848. /* 30 << 56 */
  28849. { { 0x45f6ecb27b135670L,0xe85d19df7cfc202eL,0x0f1b50c758d1be9fL,
  28850. 0x5ebf2c0aead2e344L },
  28851. { 0x1531fe4eabc199c9L,0xc703259256bab0aeL,0x16ab2e486c1fec54L,
  28852. 0x0f87fda804280188L } },
  28853. /* 31 << 56 */
  28854. { { 0xdc9f46fc609e4a74L,0x2a44a143ba667f91L,0xbc3d8b95b4d83436L,
  28855. 0xa01e4bd0c7bd2958L },
  28856. { 0x7b18293273483c90L,0xa79c6aa1a7c7b598L,0xbf3983c6eaaac07eL,
  28857. 0x8f18181e96e0d4e6L } },
  28858. /* 32 << 56 */
  28859. { { 0x8553d37c051af62bL,0xe9a998eb0bf94496L,0xe0844f9fb0d59aa1L,
  28860. 0x983fd558e6afb813L },
  28861. { 0x9670c0ca65d69804L,0x732b22de6ea5ff2dL,0xd7640ba95fd8623bL,
  28862. 0x9f619163a6351782L } },
  28863. /* 33 << 56 */
  28864. { { 0x0bfc27eeacee5043L,0xae419e732eb10f02L,0x19c028d18943fb05L,
  28865. 0x71f01cf7ff13aa2aL },
  28866. { 0x7790737e8887a132L,0x6751330966318410L,0x9819e8a37ddb795eL,
  28867. 0xfecb8ef5dad100b2L } },
  28868. /* 34 << 56 */
  28869. { { 0x59f74a223021926aL,0xb7c28a496f9b4c1cL,0xed1a733f912ad0abL,
  28870. 0x42a910af01a5659cL },
  28871. { 0x3842c6e07bd68cabL,0x2b57fa3876d70ac8L,0x8a6707a83c53aaebL,
  28872. 0x62c1c51065b4db18L } },
  28873. /* 35 << 56 */
  28874. { { 0x8de2c1fbb2d09dc7L,0xc3dfed12266bd23bL,0x927d039bd5b27db6L,
  28875. 0x2fb2f0f1103243daL },
  28876. { 0xf855a07b80be7399L,0xed9327ce1f9f27a8L,0xa0bd99c7729bdef7L,
  28877. 0x2b67125e28250d88L } },
  28878. /* 36 << 56 */
  28879. { { 0x784b26e88670ced7L,0xe3dfe41fc31bd3b4L,0x9e353a06bcc85cbcL,
  28880. 0x302e290960178a9dL },
  28881. { 0x860abf11a6eac16eL,0x76447000aa2b3aacL,0x46ff9d19850afdabL,
  28882. 0x35bdd6a5fdb2d4c1L } },
  28883. /* 37 << 56 */
  28884. { { 0xe82594b07e5c9ce9L,0x0f379e5320af346eL,0x608b31e3bc65ad4aL,
  28885. 0x710c6b12267c4826L },
  28886. { 0x51c966f971954cf1L,0xb1cec7930d0aa215L,0x1f15598986bd23a8L,
  28887. 0xae2ff99cf9452e86L } },
  28888. /* 38 << 56 */
  28889. { { 0xd8dd953c340ceaa2L,0x263552752e2e9333L,0x15d4e5f98586f06dL,
  28890. 0xd6bf94a8f7cab546L },
  28891. { 0x33c59a0ab76a9af0L,0x52740ab3ba095af7L,0xc444de8a24389ca0L,
  28892. 0xcc6f9863706da0cbL } },
  28893. /* 39 << 56 */
  28894. { { 0xb5a741a76b2515cfL,0x71c416019585c749L,0x78350d4fe683de97L,
  28895. 0x31d6152463d0b5f5L },
  28896. { 0x7a0cc5e1fbce090bL,0xaac927edfbcb2a5bL,0xe920de4920d84c35L,
  28897. 0x8c06a0b622b4de26L } },
  28898. /* 40 << 56 */
  28899. { { 0xd34dd58bafe7ddf3L,0x55851fedc1e6e55bL,0xd1395616960696e7L,
  28900. 0x940304b25f22705fL },
  28901. { 0x6f43f861b0a2a860L,0xcf1212820e7cc981L,0x121862120ab64a96L,
  28902. 0x09215b9ab789383cL } },
  28903. /* 41 << 56 */
  28904. { { 0x311eb30537387c09L,0xc5832fcef03ee760L,0x30358f5832f7ea19L,
  28905. 0xe01d3c3491d53551L },
  28906. { 0x1ca5ee41da48ea80L,0x34e71e8ecf4fa4c1L,0x312abd257af1e1c7L,
  28907. 0xe3afcdeb2153f4a5L } },
  28908. /* 42 << 56 */
  28909. { { 0x9d5c84d700235e9aL,0x0308d3f48c4c836fL,0xc0a66b0489332de5L,
  28910. 0x610dd39989e566efL },
  28911. { 0xf8eea460d1ac1635L,0x84cbb3fb20a2c0dfL,0x40afb488e74a48c5L,
  28912. 0x29738198d326b150L } },
  28913. /* 43 << 56 */
  28914. { { 0x2a17747fa6d74081L,0x60ea4c0555a26214L,0x53514bb41f88c5feL,
  28915. 0xedd645677e83426cL },
  28916. { 0xd5d6cbec96460b25L,0xa12fd0ce68dc115eL,0xc5bc3ed2697840eaL,
  28917. 0x969876a8a6331e31L } },
  28918. /* 44 << 56 */
  28919. { { 0x60c36217472ff580L,0xf42297054ad41393L,0x4bd99ef0a03b8b92L,
  28920. 0x501c7317c144f4f6L },
  28921. { 0x159009b318464945L,0x6d5e594c74c5c6beL,0x2d587011321a3660L,
  28922. 0xd1e184b13898d022L } },
  28923. /* 45 << 56 */
  28924. { { 0x5ba047524c6a7e04L,0x47fa1e2b45550b65L,0x9419daf048c0a9a5L,
  28925. 0x663629537c243236L },
  28926. { 0xcd0744b15cb12a88L,0x561b6f9a2b646188L,0x599415a566c2c0c0L,
  28927. 0xbe3f08590f83f09aL } },
  28928. /* 46 << 56 */
  28929. { { 0x9141c5beb92041b8L,0x01ae38c726477d0dL,0xca8b71f3d12c7a94L,
  28930. 0xfab5b31f765c70dbL },
  28931. { 0x76ae7492487443e9L,0x8595a310990d1349L,0xf8dbeda87d460a37L,
  28932. 0x7f7ad0821e45a38fL } },
  28933. /* 47 << 56 */
  28934. { { 0xed1d4db61059705aL,0xa3dd492ae6b9c697L,0x4b92ee3a6eb38bd5L,
  28935. 0xbab2609d67cc0bb7L },
  28936. { 0x7fc4fe896e70ee82L,0xeff2c56e13e6b7e3L,0x9b18959e34d26fcaL,
  28937. 0x2517ab66889d6b45L } },
  28938. /* 48 << 56 */
  28939. { { 0xf167b4e0bdefdd4fL,0x69958465f366e401L,0x5aa368aba73bbec0L,
  28940. 0x121487097b240c21L },
  28941. { 0x378c323318969006L,0xcb4d73cee1fe53d1L,0x5f50a80e130c4361L,
  28942. 0xd67f59517ef5212bL } },
  28943. /* 49 << 56 */
  28944. { { 0xf145e21e9e70c72eL,0xb2e52e295566d2fbL,0x44eaba4a032397f5L,
  28945. 0x5e56937b7e31a7deL },
  28946. { 0x68dcf517456c61e1L,0xbc2e954aa8b0a388L,0xe3552fa760a8b755L,
  28947. 0x03442dae73ad0cdeL } },
  28948. /* 50 << 56 */
  28949. { { 0x37ffe747ceb26210L,0x983545e8787baef9L,0x8b8c853586a3de31L,
  28950. 0xc621dbcbfacd46dbL },
  28951. { 0x82e442e959266fbbL,0xa3514c37339d471cL,0x3a11b77162cdad96L,
  28952. 0xf0cb3b3cecf9bdf0L } },
  28953. /* 51 << 56 */
  28954. { { 0x3fcbdbce478e2135L,0x7547b5cfbda35342L,0xa97e81f18a677af6L,
  28955. 0xc8c2bf8328817987L },
  28956. { 0xdf07eaaf45580985L,0xc68d1f05c93b45cbL,0x106aa2fec77b4cacL,
  28957. 0x4c1d8afc04a7ae86L } },
  28958. /* 52 << 56 */
  28959. { { 0xdb41c3fd9eb45ab2L,0x5b234b5bd4b22e74L,0xda253decf215958aL,
  28960. 0x67e0606ea04edfa0L },
  28961. { 0xabbbf070ef751b11L,0xf352f175f6f06dceL,0xdfc4b6af6839f6b4L,
  28962. 0x53ddf9a89959848eL } },
  28963. /* 53 << 56 */
  28964. { { 0xda49c379c21520b0L,0x90864ff0dbd5d1b6L,0x2f055d235f49c7f7L,
  28965. 0xe51e4e6aa796b2d8L },
  28966. { 0xc361a67f5c9dc340L,0x5ad53c37bca7c620L,0xda1d658832c756d0L,
  28967. 0xad60d9118bb67e13L } },
  28968. /* 54 << 56 */
  28969. { { 0xd6c47bdf0eeec8c6L,0x4a27fec1078a1821L,0x081f7415c3099524L,
  28970. 0x8effdf0b82cd8060L },
  28971. { 0xdb70ec1c65842df8L,0x8821b358d319a901L,0x72ee56eede42b529L,
  28972. 0x5bb39592236e4286L } },
  28973. /* 55 << 56 */
  28974. { { 0xd1183316fd6f7140L,0xf9fadb5bbd8e81f7L,0x701d5e0c5a02d962L,
  28975. 0xfdee4dbf1b601324L },
  28976. { 0xbed1740735d7620eL,0x04e3c2c3f48c0012L,0x9ee29da73455449aL,
  28977. 0x562cdef491a836c4L } },
  28978. /* 56 << 56 */
  28979. { { 0x8f682a5f47701097L,0x617125d8ff88d0c2L,0x948fda2457bb86ddL,
  28980. 0x348abb8f289f7286L },
  28981. { 0xeb10eab599d94bbdL,0xd51ba28e4684d160L,0xabe0e51c30c8f41aL,
  28982. 0x66588b4513254f4aL } },
  28983. /* 57 << 56 */
  28984. { { 0x147ebf01fad097a5L,0x49883ea8610e815dL,0xe44d60ba8a11de56L,
  28985. 0xa970de6e827a7a6dL },
  28986. { 0x2be414245e17fc19L,0xd833c65701214057L,0x1375813b363e723fL,
  28987. 0x6820bb88e6a52e9bL } },
  28988. /* 58 << 56 */
  28989. { { 0x7e7f6970d875d56aL,0xd6a0a9ac51fbf6bfL,0x54ba8790a3083c12L,
  28990. 0xebaeb23d6ae7eb64L },
  28991. { 0xa8685c3ab99a907aL,0xf1e74550026bf40bL,0x7b73a027c802cd9eL,
  28992. 0x9a8a927c4fef4635L } },
  28993. /* 59 << 56 */
  28994. { { 0xe1b6f60c08191224L,0xc4126ebbde4ec091L,0xe1dff4dc4ae38d84L,
  28995. 0xde3f57db4f2ef985L },
  28996. { 0x34964337d446a1ddL,0x7bf217a0859e77f6L,0x8ff105278e1d13f5L,
  28997. 0xa304ef0374eeae27L } },
  28998. /* 60 << 56 */
  28999. { { 0xfc6f5e47d19dfa5aL,0xdb007de37fad982bL,0x28205ad1613715f5L,
  29000. 0x251e67297889529eL },
  29001. { 0x727051841ae98e78L,0xf818537d271cac32L,0xc8a15b7eb7f410f5L,
  29002. 0xc474356f81f62393L } },
  29003. /* 61 << 56 */
  29004. { { 0x92dbdc5ac242316bL,0xabe060acdbf4aff5L,0x6e8c38fe909a8ec6L,
  29005. 0x43e514e56116cb94L },
  29006. { 0x2078fa3807d784f9L,0x1161a880f4b5b357L,0x5283ce7913adea3dL,
  29007. 0x0756c3e6cc6a910bL } },
  29008. /* 62 << 56 */
  29009. { { 0x60bcfe01aaa79697L,0x04a73b2956391db1L,0xdd8dad47189b45a0L,
  29010. 0xbfac0dd048d5b8d9L },
  29011. { 0x34ab3af57d3d2ec2L,0x6fa2fc2d207bd3afL,0x9ff4009266550dedL,
  29012. 0x719b3e871fd5b913L } },
  29013. /* 63 << 56 */
  29014. { { 0xa573a4966d17fbc7L,0x0cd1a70a73d2b24eL,0x34e2c5cab2676937L,
  29015. 0xe7050b06bf669f21L },
  29016. { 0xfbe948b61ede9046L,0xa053005197662659L,0x58cbd4edf10124c5L,
  29017. 0xde2646e4dd6c06c8L } },
  29018. /* 64 << 56 */
  29019. { { 0x332f81088cad38c0L,0x471b7e906bd68ae2L,0x56ac3fb20d8e27a3L,
  29020. 0xb54660db136b4b0dL },
  29021. { 0x123a1e11a6fd8de4L,0x44dbffeaa37799efL,0x4540b977ce6ac17cL,
  29022. 0x495173a8af60acefL } },
  29023. /* 0 << 63 */
  29024. { { 0x00, 0x00, 0x00, 0x00 },
  29025. { 0x00, 0x00, 0x00, 0x00 } },
  29026. /* 1 << 63 */
  29027. { { 0x9ebb284d391c2a82L,0xbcdd4863158308e8L,0x006f16ec83f1edcaL,
  29028. 0xa13e2c37695dc6c8L },
  29029. { 0x2ab756f04a057a87L,0xa8765500a6b48f98L,0x4252face68651c44L,
  29030. 0xa52b540be1765e02L } },
  29031. /* 2 << 63 */
  29032. { { 0x4f922fc516a0d2bbL,0x0d5cc16c1a623499L,0x9241cf3a57c62c8bL,
  29033. 0x2f5e6961fd1b667fL },
  29034. { 0x5c15c70bf5a01797L,0x3d20b44d60956192L,0x04911b37071fdb52L,
  29035. 0xf648f9168d6f0f7bL } },
  29036. /* 3 << 63 */
  29037. { { 0x6dc1acafe60b7cf7L,0x25860a5084a9d869L,0x56fc6f09e7ba8ac4L,
  29038. 0x828c5bd06148d29eL },
  29039. { 0xac6b435edc55ae5fL,0xa527f56cc0117411L,0x94d5045efd24342cL,
  29040. 0x2c4c0a3570b67c0dL } },
  29041. /* 4 << 63 */
  29042. { { 0x027cc8b8fac61d9aL,0x7d25e062e3c6fe8aL,0xe08805bfe5bff503L,
  29043. 0x13271e6c6ff632f7L },
  29044. { 0x55dca6c0232f76a5L,0x8957c32d701ef426L,0xee728bcba10a5178L,
  29045. 0x5ea60411b62c5173L } },
  29046. /* 5 << 63 */
  29047. { { 0xfc4e964ed0b8892bL,0x9ea176839301bb74L,0x6265c5aefcc48626L,
  29048. 0xe60cf82ebb3e9102L },
  29049. { 0x57adf797d4df5531L,0x235b59a18deeefe2L,0x60adcf583f306eb1L,
  29050. 0x105c27533d09492dL } },
  29051. /* 6 << 63 */
  29052. { { 0x4090914bb5def996L,0x1cb69c83233dd1e7L,0xc1e9c1d39b3d5e76L,
  29053. 0x1f3338edfccf6012L },
  29054. { 0xb1e95d0d2f5378a8L,0xacf4c2c72f00cd21L,0x6e984240eb5fe290L,
  29055. 0xd66c038d248088aeL } },
  29056. /* 7 << 63 */
  29057. { { 0x804d264af94d70cfL,0xbdb802ef7314bf7eL,0x8fb54de24333ed02L,
  29058. 0x740461e0285635d9L },
  29059. { 0x4113b2c8365e9383L,0xea762c833fdef652L,0x4eec6e2e47b956c1L,
  29060. 0xa3d814be65620fa4L } },
  29061. /* 8 << 63 */
  29062. { { 0x9ad5462bb4d8bc50L,0x181c0b16a9195770L,0xebd4fe1c78412a68L,
  29063. 0xae0341bcc0dff48cL },
  29064. { 0xb6bc45cf7003e866L,0xf11a6dea8a24a41bL,0x5407151ad04c24c2L,
  29065. 0x62c9d27dda5b7b68L } },
  29066. /* 9 << 63 */
  29067. { { 0x2e96423588cceff6L,0x8594c54f8b07ed69L,0x1578e73cc84d0d0dL,
  29068. 0x7b4e1055ff532868L },
  29069. { 0xa348c0d5b5ec995aL,0xbf4b9d5514289a54L,0x9ba155a658fbd777L,
  29070. 0x186ed7a81a84491dL } },
  29071. /* 10 << 63 */
  29072. { { 0xd4992b30614c0900L,0xda98d121bd00c24bL,0x7f534dc87ec4bfa1L,
  29073. 0x4a5ff67437dc34bcL },
  29074. { 0x68c196b81d7ea1d7L,0x38cf289380a6d208L,0xfd56cd09e3cbbd6eL,
  29075. 0xec72e27e4205a5b6L } },
  29076. /* 11 << 63 */
  29077. { { 0x15ea68f5a44f77f7L,0x7aa5f9fdb43c52bcL,0x86ff676f94f0e609L,
  29078. 0xa4cde9632e2d432bL },
  29079. { 0x8cafa0c0eee470afL,0x84137d0e8a3f5ec8L,0xebb40411faa31231L,
  29080. 0xa239c13f6f7f7ccfL } },
  29081. /* 12 << 63 */
  29082. { { 0x32865719a8afd30bL,0x867983288a826dceL,0xdf04e891c4a8fbe0L,
  29083. 0xbb6b6e1bebf56ad3L },
  29084. { 0x0a695b11471f1ff0L,0xd76c3389be15baf0L,0x018edb95be96c43eL,
  29085. 0xf2beaaf490794158L } },
  29086. /* 13 << 63 */
  29087. { { 0x152db09ec3076a27L,0x5e82908ee416545dL,0xa2c41272356d6f2eL,
  29088. 0xdc9c964231fd74e1L },
  29089. { 0x66ceb88d519bf615L,0xe29ecd7605a2274eL,0x3a0473c4bf5e2fa0L,
  29090. 0x6b6eb67164284e67L } },
  29091. /* 14 << 63 */
  29092. { { 0xe8b97932b88756ddL,0xed4e8652f17e3e61L,0xc2dd14993ee1c4a4L,
  29093. 0xc0aaee17597f8c0eL },
  29094. { 0x15c4edb96c168af3L,0x6563c7bfb39ae875L,0xadfadb6f20adb436L,
  29095. 0xad55e8c99a042ac0L } },
  29096. /* 15 << 63 */
  29097. { { 0x975a1ed8b76da1f5L,0x10dfa466a58acb94L,0x8dd7f7e3ac060282L,
  29098. 0x6813e66a572a051eL },
  29099. { 0xb4ccae1e350cb901L,0xb653d65650cb7822L,0x42484710dfab3b87L,
  29100. 0xcd7ee5379b670fd0L } },
  29101. /* 16 << 63 */
  29102. { { 0x0a50b12e523b8bf6L,0x8009eb5b8f910c1bL,0xf535af824a167588L,
  29103. 0x0f835f9cfb2a2abdL },
  29104. { 0xf59b29312afceb62L,0xc797df2a169d383fL,0xeb3f5fb066ac02b0L,
  29105. 0x029d4c6fdaa2d0caL } },
  29106. /* 17 << 63 */
  29107. { { 0xd4059bc1afab4bc5L,0x833f5c6f56783247L,0xb53466308d2d3605L,
  29108. 0x83387891d34d8433L },
  29109. { 0xd973b30fadd9419aL,0xbcca1099afe3fce8L,0x081783150809aac6L,
  29110. 0x01b7f21a540f0f11L } },
  29111. /* 18 << 63 */
  29112. { { 0x65c29219909523c8L,0xa62f648fa3a1c741L,0x88598d4f60c9e55aL,
  29113. 0xbce9141b0e4f347aL },
  29114. { 0x9af97d8435f9b988L,0x0210da62320475b6L,0x3c076e229191476cL,
  29115. 0x7520dbd944fc7834L } },
  29116. /* 19 << 63 */
  29117. { { 0x6a6b2cfec1ab1bbdL,0xef8a65bedc650938L,0x72855540805d7bc4L,
  29118. 0xda389396ed11fdfdL },
  29119. { 0xa9d5bd3674660876L,0x11d67c54b45dff35L,0x6af7d148a4f5da94L,
  29120. 0xbb8d4c3fc0bbeb31L } },
  29121. /* 20 << 63 */
  29122. { { 0x87a7ebd1e0a1b12aL,0x1e4ef88d770ba95fL,0x8c33345cdc2ae9cbL,
  29123. 0xcecf127601cc8403L },
  29124. { 0x687c012e1b39b80fL,0xfd90d0ad35c33ba4L,0xa3ef5a675c9661c2L,
  29125. 0x368fc88ee017429eL } },
  29126. /* 21 << 63 */
  29127. { { 0xd30c6761196a2fa2L,0x931b9817bd5b312eL,0xba01000c72f54a31L,
  29128. 0xa203d2c866eaa541L },
  29129. { 0xf2abdee098939db3L,0xe37d6c2c3e606c02L,0xf2921574521ff643L,
  29130. 0x2781b3c4d7e2fca3L } },
  29131. /* 22 << 63 */
  29132. { { 0x664300b07850ec06L,0xac5a38b97d3a10cfL,0x9233188de34ab39dL,
  29133. 0xe77057e45072cbb9L },
  29134. { 0xbcf0c042b59e78dfL,0x4cfc91e81d97de52L,0x4661a26c3ee0ca4aL,
  29135. 0x5620a4c1fb8507bcL } },
  29136. /* 23 << 63 */
  29137. { { 0x4b44d4aa049f842cL,0xceabc5d51540e82bL,0x306710fd15c6f156L,
  29138. 0xbe5ae52b63db1d72L },
  29139. { 0x06f1e7e6334957f1L,0x57e388f031144a70L,0xfb69bb2fdf96447bL,
  29140. 0x0f78ebd373e38a12L } },
  29141. /* 24 << 63 */
  29142. { { 0xb82226052b7ce542L,0xe6d4ce997472bde1L,0x53e16ebe09d2f4daL,
  29143. 0x180ff42e53b92b2eL },
  29144. { 0xc59bcc022c34a1c6L,0x3803d6f9422c46c2L,0x18aff74f5c14a8a2L,
  29145. 0x55aebf8010a08b28L } },
  29146. /* 25 << 63 */
  29147. { { 0x66097d587135593fL,0x32e6eff72be570cdL,0x584e6a102a8c860dL,
  29148. 0xcd185890a2eb4163L },
  29149. { 0x7ceae99d6d97e134L,0xd42c6b70dd8447ceL,0x59ddbb4ab8c50273L,
  29150. 0x03c612df3cf34e1eL } },
  29151. /* 26 << 63 */
  29152. { { 0x84b9ca1504b6c5a0L,0x35216f3918f0e3a3L,0x3ec2d2bcbd986c00L,
  29153. 0x8bf546d9d19228feL },
  29154. { 0xd1c655a44cd623c3L,0x366ce718502b8e5aL,0x2cfc84b4eea0bfe7L,
  29155. 0xe01d5ceecf443e8eL } },
  29156. /* 27 << 63 */
  29157. { { 0x8ec045d9036520f8L,0xdfb3c3d192d40e98L,0x0bac4ccecc559a04L,
  29158. 0x35eccae5240ea6b1L },
  29159. { 0x180b32dbf8a5a0acL,0x547972a5eb699700L,0xa3765801ca26bca0L,
  29160. 0x57e09d0ea647f25aL } },
  29161. /* 28 << 63 */
  29162. { { 0xb956970e2fdd23ccL,0xb80288bc5682e971L,0xe6e6d91e9ae86ebcL,
  29163. 0x0564c83f8c9f1939L },
  29164. { 0x551932a239560368L,0xe893752b049c28e2L,0x0b03cee5a6a158c3L,
  29165. 0xe12d656b04964263L } },
  29166. /* 29 << 63 */
  29167. { { 0x4b47554e63e3bc1dL,0xc719b6a245044ff7L,0x4f24d30ae48daa07L,
  29168. 0xa3f37556c8c1edc3L },
  29169. { 0x9a47bf760700d360L,0xbb1a1824822ae4e2L,0x22e275a389f1fb4cL,
  29170. 0x72b1aa239968c5f5L } },
  29171. /* 30 << 63 */
  29172. { { 0xa75feacabe063f64L,0x9b392f43bce47a09L,0xd42415091ad07acaL,
  29173. 0x4b0c591b8d26cd0fL },
  29174. { 0x2d42ddfd92f1169aL,0x63aeb1ac4cbf2392L,0x1de9e8770691a2afL,
  29175. 0xebe79af7d98021daL } },
  29176. /* 31 << 63 */
  29177. { { 0xcfdf2a4e40e50acfL,0xf0a98ad7af01d665L,0xefb640bf1831be1fL,
  29178. 0x6fe8bd2f80e9ada0L },
  29179. { 0x94c103a16cafbc91L,0x170f87598308e08cL,0x5de2d2ab9780ff4fL,
  29180. 0x666466bc45b201f2L } },
  29181. /* 32 << 63 */
  29182. { { 0x58af2010f5b343bcL,0x0f2e400af2f142feL,0x3483bfdea85f4bdfL,
  29183. 0xf0b1d09303bfeaa9L },
  29184. { 0x2ea01b95c7081603L,0xe943e4c93dba1097L,0x47be92adb438f3a6L,
  29185. 0x00bb7742e5bf6636L } },
  29186. /* 33 << 63 */
  29187. { { 0x136b7083824297b4L,0x9d0e55805584455fL,0xab48cedcf1c7d69eL,
  29188. 0x53a9e4812a256e76L },
  29189. { 0x0402b0e065eb2413L,0xdadbbb848fc407a7L,0xa65cd5a48d7f5492L,
  29190. 0x21d4429374bae294L } },
  29191. /* 34 << 63 */
  29192. { { 0x66917ce63b5f1cc4L,0x37ae52eace872e62L,0xbb087b722905f244L,
  29193. 0x120770861e6af74fL },
  29194. { 0x4b644e491058edeaL,0x827510e3b638ca1dL,0x8cf2b7046038591cL,
  29195. 0xffc8b47afe635063L } },
  29196. /* 35 << 63 */
  29197. { { 0x3ae220e61b4d5e63L,0xbd8647429d961b4bL,0x610c107e9bd16bedL,
  29198. 0x4270352a1127147bL },
  29199. { 0x7d17ffe664cfc50eL,0x50dee01a1e36cb42L,0x068a762235dc5f9aL,
  29200. 0x9a08d536df53f62cL } },
  29201. /* 36 << 63 */
  29202. { { 0x4ed714576be5f7deL,0xd93006f8c2263c9eL,0xe073694ccacacb36L,
  29203. 0x2ff7a5b43ae118abL },
  29204. { 0x3cce53f1cd871236L,0xf156a39dc2aa6d52L,0x9cc5f271b198d76dL,
  29205. 0xbc615b6f81383d39L } },
  29206. /* 37 << 63 */
  29207. { { 0xa54538e8de3eee6bL,0x58c77538ab910d91L,0x31e5bdbc58d278bdL,
  29208. 0x3cde4adfb963acaeL },
  29209. { 0xb1881fd25302169cL,0x8ca60fa0a989ed8bL,0xa1999458ff96a0eeL,
  29210. 0xc1141f03ac6c283dL } },
  29211. /* 38 << 63 */
  29212. { { 0x7677408d6dfafed3L,0x33a0165339661588L,0x3c9c15ec0b726fa0L,
  29213. 0x090cfd936c9b56daL },
  29214. { 0xe34f4baea3c40af5L,0x3469eadbd21129f1L,0xcc51674a1e207ce8L,
  29215. 0x1e293b24c83b1ef9L } },
  29216. /* 39 << 63 */
  29217. { { 0x17173d131e6c0bb4L,0x1900469590776d35L,0xe7980e346de6f922L,
  29218. 0x873554cbf4dd9a22L },
  29219. { 0x0316c627cbf18a51L,0x4d93651b3032c081L,0x207f27713946834dL,
  29220. 0x2c08d7b430cdbf80L } },
  29221. /* 40 << 63 */
  29222. { { 0x137a4fb486df2a61L,0xa1ed9c07ecf7b4a2L,0xb2e460e27bd042ffL,
  29223. 0xb7f5e2fa5f62f5ecL },
  29224. { 0x7aa6ec6bcc2423b7L,0x75ce0a7fba63eea7L,0x67a45fb1f250a6e1L,
  29225. 0x93bc919ce53cdc9fL } },
  29226. /* 41 << 63 */
  29227. { { 0x9271f56f871942dfL,0x2372ff6f7859ad66L,0x5f4c2b9633cb1a78L,
  29228. 0xe3e291015838aa83L },
  29229. { 0xa7ed1611e4e8110cL,0x2a2d70d5330198ceL,0xbdf132e86720efe0L,
  29230. 0xe61a896266a471bfL } },
  29231. /* 42 << 63 */
  29232. { { 0x796d3a85825808bdL,0x51dc3cb73fd6e902L,0x643c768a916219d1L,
  29233. 0x36cd7685a2ad7d32L },
  29234. { 0xe3db9d05b22922a4L,0x6494c87edba29660L,0xf0ac91dfbcd2ebc7L,
  29235. 0x4deb57a045107f8dL } },
  29236. /* 43 << 63 */
  29237. { { 0x42271f59c3d12a73L,0x5f71687ca5c2c51dL,0xcb1f50c605797bcbL,
  29238. 0x29ed0ed9d6d34eb0L },
  29239. { 0xe5fe5b474683c2ebL,0x4956eeb597447c46L,0x5b163a4371207167L,
  29240. 0x93fa2fed0248c5efL } },
  29241. /* 44 << 63 */
  29242. { { 0x67930af231f63950L,0xa77797c114caa2c9L,0x526e80ee27ac7e62L,
  29243. 0xe1e6e62658b28aecL },
  29244. { 0x636178b0b3c9fef0L,0xaf7752e06d5f90beL,0x94ecaf18eece51cfL,
  29245. 0x2864d0edca806e1fL } },
  29246. /* 45 << 63 */
  29247. { { 0x6de2e38397c69134L,0x5a42c316eb291293L,0xc77792196a60bae0L,
  29248. 0xa24de3466b7599d1L },
  29249. { 0x49d374aab75d4941L,0x989005862d501ff0L,0x9f16d40eeb7974cfL,
  29250. 0x1033860bcdd8c115L } },
  29251. /* 46 << 63 */
  29252. { { 0xb6c69ac82094cec3L,0x9976fb88403b770cL,0x1dea026c4859590dL,
  29253. 0xb6acbb468562d1fdL },
  29254. { 0x7cd6c46144569d85L,0xc3190a3697f0891dL,0xc6f5319548d5a17dL,
  29255. 0x7d919966d749abc8L } },
  29256. /* 47 << 63 */
  29257. { { 0x65104837dd1c8a20L,0x7e5410c82f683419L,0x958c3ca8be94022eL,
  29258. 0x605c31976145dac2L },
  29259. { 0x3fc0750101683d54L,0x1d7127c5595b1234L,0x10b8f87c9481277fL,
  29260. 0x677db2a8e65a1adbL } },
  29261. /* 48 << 63 */
  29262. { { 0xec2fccaaddce3345L,0x2a6811b7012a4350L,0x96760ff1ac598bdcL,
  29263. 0x054d652ad1bf4128L },
  29264. { 0x0a1151d492a21005L,0xad7f397133110fdfL,0x8c95928c1960100fL,
  29265. 0x6c91c8257bf03362L } },
  29266. /* 49 << 63 */
  29267. { { 0xc8c8b2a2ce309f06L,0xfdb27b59ca27204bL,0xd223eaa50848e32eL,
  29268. 0xb93e4b2ee7bfaf1eL },
  29269. { 0xc5308ae644aa3dedL,0x317a666ac015d573L,0xc888ce231a979707L,
  29270. 0xf141c1e60d5c4958L } },
  29271. /* 50 << 63 */
  29272. { { 0xb53b7de561906373L,0x858dbadeeb999595L,0x8cbb47b2a59e5c36L,
  29273. 0x660318b3dcf4e842L },
  29274. { 0xbd161ccd12ba4b7aL,0xf399daabf8c8282aL,0x1587633aeeb2130dL,
  29275. 0xa465311ada38dd7dL } },
  29276. /* 51 << 63 */
  29277. { { 0x5f75eec864d3779bL,0x3c5d0476ad64c171L,0x874103712a914428L,
  29278. 0x8096a89190e2fc29L },
  29279. { 0xd3d2ae9d23b3ebc2L,0x90bdd6dba580cfd6L,0x52dbb7f3c5b01f6cL,
  29280. 0xe68eded4e102a2dcL } },
  29281. /* 52 << 63 */
  29282. { { 0x17785b7799eb6df0L,0x26c3cc517386b779L,0x345ed9886417a48eL,
  29283. 0xe990b4e407d6ef31L },
  29284. { 0x0f456b7e2586abbaL,0x239ca6a559c96e9aL,0xe327459ce2eb4206L,
  29285. 0x3a4c3313a002b90aL } },
  29286. /* 53 << 63 */
  29287. { { 0x2a114806f6a3f6fbL,0xad5cad2f85c251ddL,0x92c1f613f5a784d3L,
  29288. 0xec7bfacf349766d5L },
  29289. { 0x04b3cd333e23cb3bL,0x3979fe84c5a64b2dL,0x192e27207e589106L,
  29290. 0xa60c43d1a15b527fL } },
  29291. /* 54 << 63 */
  29292. { { 0x2dae9082be7cf3a6L,0xcc86ba92bc967274L,0xf28a2ce8aea0a8a9L,
  29293. 0x404ca6d96ee988b3L },
  29294. { 0xfd7e9c5d005921b8L,0xf56297f144e79bf9L,0xa163b4600d75ddc2L,
  29295. 0x30b23616a1f2be87L } },
  29296. /* 55 << 63 */
  29297. { { 0x4b070d21bfe50e2bL,0x7ef8cfd0e1bfede1L,0xadba00112aac4ae0L,
  29298. 0x2a3e7d01b9ebd033L },
  29299. { 0x995277ece38d9d1cL,0xb500249e9c5d2de3L,0x8912b820f13ca8c9L,
  29300. 0xc8798114877793afL } },
  29301. /* 56 << 63 */
  29302. { { 0x19e6125dec3f1decL,0x07b1f040911178daL,0xd93ededa904a6738L,
  29303. 0x55187a5a0bebedcdL },
  29304. { 0xf7d04722eb329d41L,0xf449099ef170b391L,0xfd317a69ca99f828L,
  29305. 0x50c3db2b34a4976dL } },
  29306. /* 57 << 63 */
  29307. { { 0xe9ba77843757b392L,0x326caefdaa3ca05aL,0x78e5293bf1e593d4L,
  29308. 0x7842a9370d98fd13L },
  29309. { 0xe694bf965f96b10dL,0x373a9df606a8cd05L,0x997d1e51e8f0c7fcL,
  29310. 0x1d01979063fd972eL } },
  29311. /* 58 << 63 */
  29312. { { 0x0064d8585499fb32L,0x7b67bad977a8aeb7L,0x1d3eb9772d08eec5L,
  29313. 0x5fc047a6cbabae1dL },
  29314. { 0x0577d159e54a64bbL,0x8862201bc43497e4L,0xad6b4e282ce0608dL,
  29315. 0x8b687b7d0b167aacL } },
  29316. /* 59 << 63 */
  29317. { { 0x6ed4d3678b2ecfa9L,0x24dfe62da90c3c38L,0xa1862e103fe5c42bL,
  29318. 0x1ca73dcad5732a9fL },
  29319. { 0x35f038b776bb87adL,0x674976abf242b81fL,0x4f2bde7eb0fd90cdL,
  29320. 0x6efc172ea7fdf092L } },
  29321. /* 60 << 63 */
  29322. { { 0x3806b69b92222f1fL,0x5a2459ca6cf7ae70L,0x6789f69ca85217eeL,
  29323. 0x5f232b5ee3dc85acL },
  29324. { 0x660e3ec548e9e516L,0x124b4e473197eb31L,0x10a0cb13aafcca23L,
  29325. 0x7bd63ba48213224fL } },
  29326. /* 61 << 63 */
  29327. { { 0xaffad7cc290a7f4fL,0x6b409c9e0286b461L,0x58ab809fffa407afL,
  29328. 0xc3122eedc68ac073L },
  29329. { 0x17bf9e504ef24d7eL,0x5d9297943e2a5811L,0x519bc86702902e01L,
  29330. 0x76bba5da39c8a851L } },
  29331. /* 62 << 63 */
  29332. { { 0xe9f9669cda94951eL,0x4b6af58d66b8d418L,0xfa32107417d426a4L,
  29333. 0xc78e66a99dde6027L },
  29334. { 0x0516c0834a53b964L,0xfc659d38ff602330L,0x0ab55e5c58c5c897L,
  29335. 0x985099b2838bc5dfL } },
  29336. /* 63 << 63 */
  29337. { { 0x061d9efcc52fc238L,0x712b27286ac1da3fL,0xfb6581499283fe08L,
  29338. 0x4954ac94b8aaa2f7L },
  29339. { 0x85c0ada47fb2e74fL,0xee8ba98eb89926b0L,0xe4f9d37d23d1af5bL,
  29340. 0x14ccdbf9ba9b015eL } },
  29341. /* 64 << 63 */
  29342. { { 0xb674481b7bfe7178L,0x4e1debae65405868L,0x061b2821c48c867dL,
  29343. 0x69c15b35513b30eaL },
  29344. { 0x3b4a166636871088L,0xe5e29f5d1220b1ffL,0x4b82bb35233d9f4dL,
  29345. 0x4e07633318cdc675L } },
  29346. /* 0 << 70 */
  29347. { { 0x00, 0x00, 0x00, 0x00 },
  29348. { 0x00, 0x00, 0x00, 0x00 } },
  29349. /* 1 << 70 */
  29350. { { 0x0d53f5c7a3e6fcedL,0xe8cbbdd5f45fbdebL,0xf85c01df13339a70L,
  29351. 0x0ff71880142ceb81L },
  29352. { 0x4c4e8774bd70437aL,0x5fb32891ba0bda6aL,0x1cdbebd2f18bd26eL,
  29353. 0x2f9526f103a9d522L } },
  29354. /* 2 << 70 */
  29355. { { 0x40ce305192c4d684L,0x8b04d7257612efcdL,0xb9dcda366f9cae20L,
  29356. 0x0edc4d24f058856cL },
  29357. { 0x64f2e6bf85427900L,0x3de81295dc09dfeaL,0xd41b4487379bf26cL,
  29358. 0x50b62c6d6df135a9L } },
  29359. /* 3 << 70 */
  29360. { { 0xd4f8e3b4c72dfe67L,0xc416b0f690e19fdfL,0x18b9098d4c13bd35L,
  29361. 0xac11118a15b8cb9eL },
  29362. { 0xf598a318f0062841L,0xbfe0602f89f356f4L,0x7ae3637e30177a0cL,
  29363. 0x3409774761136537L } },
  29364. /* 4 << 70 */
  29365. { { 0x0db2fb5ed005832aL,0x5f5efd3b91042e4fL,0x8c4ffdc6ed70f8caL,
  29366. 0xe4645d0bb52da9ccL },
  29367. { 0x9596f58bc9001d1fL,0x52c8f0bc4e117205L,0xfd4aa0d2e398a084L,
  29368. 0x815bfe3a104f49deL } },
  29369. /* 5 << 70 */
  29370. { { 0x97e5443f23885e5fL,0xf72f8f99e8433aabL,0xbd00b154e4d4e604L,
  29371. 0xd0b35e6ae5e173ffL },
  29372. { 0x57b2a0489164722dL,0x3e3c665b88761ec8L,0x6bdd13973da83832L,
  29373. 0x3c8b1a1e73dafe3bL } },
  29374. /* 6 << 70 */
  29375. { { 0x4497ace654317cacL,0xbe600ab9521771b3L,0xb42e409eb0dfe8b8L,
  29376. 0x386a67d73942310fL },
  29377. { 0x25548d8d4431cc28L,0xa7cff142985dc524L,0x4d60f5a193c4be32L,
  29378. 0x83ebd5c8d071c6e1L } },
  29379. /* 7 << 70 */
  29380. { { 0xba3a80a7b1fd2b0bL,0x9b3ad3965bec33e8L,0xb3868d6179743fb3L,
  29381. 0xcfd169fcfdb462faL },
  29382. { 0xd3b499d79ce0a6afL,0x55dc1cf1e42d3ff8L,0x04fb9e6cc6c3e1b2L,
  29383. 0x47e6961d6f69a474L } },
  29384. /* 8 << 70 */
  29385. { { 0x54eb3acce548b37bL,0xb38e754284d40549L,0x8c3daa517b341b4fL,
  29386. 0x2f6928ec690bf7faL },
  29387. { 0x0496b32386ce6c41L,0x01be1c5510adadcdL,0xc04e67e74bb5faf9L,
  29388. 0x3cbaf678e15c9985L } },
  29389. /* 9 << 70 */
  29390. { { 0x8cd1214550ca4247L,0xba1aa47ae7dd30aaL,0x2f81ddf1e58fee24L,
  29391. 0x03452936eec9b0e8L },
  29392. { 0x8bdc3b81243aea96L,0x9a2919af15c3d0e5L,0x9ea640ec10948361L,
  29393. 0x5ac86d5b6e0bcccfL } },
  29394. /* 10 << 70 */
  29395. { { 0xf892d918c36cf440L,0xaed3e837c939719cL,0xb07b08d2c0218b64L,
  29396. 0x6f1bcbbace9790ddL },
  29397. { 0x4a84d6ed60919b8eL,0xd89007918ac1f9ebL,0xf84941aa0dd5daefL,
  29398. 0xb22fe40a67fd62c5L } },
  29399. /* 11 << 70 */
  29400. { { 0x97e15ba2157f2db3L,0xbda2fc8f8e28ca9cL,0x5d050da437b9f454L,
  29401. 0x3d57eb572379d72eL },
  29402. { 0xe9b5eba2fb5ee997L,0x01648ca2e11538caL,0x32bb76f6f6327974L,
  29403. 0x338f14b8ff3f4bb7L } },
  29404. /* 12 << 70 */
  29405. { { 0x524d226ad7ab9a2dL,0x9c00090d7dfae958L,0x0ba5f5398751d8c2L,
  29406. 0x8afcbcdd3ab8262dL },
  29407. { 0x57392729e99d043bL,0xef51263baebc943aL,0x9feace9320862935L,
  29408. 0x639efc03b06c817bL } },
  29409. /* 13 << 70 */
  29410. { { 0x1fe054b366b4be7aL,0x3f25a9de84a37a1eL,0xf39ef1ad78d75cd9L,
  29411. 0xd7b58f495062c1b5L },
  29412. { 0x6f74f9a9ff563436L,0xf718ff29e8af51e7L,0x5234d31315e97fecL,
  29413. 0xb6a8e2b1292f1c0aL } },
  29414. /* 14 << 70 */
  29415. { { 0xa7f53aa8327720c1L,0x956ca322ba092cc8L,0x8f03d64a28746c4dL,
  29416. 0x51fe178266d0d392L },
  29417. { 0xd19b34db3c832c80L,0x60dccc5c6da2e3b4L,0x245dd62e0a104cccL,
  29418. 0xa7ab1de1620b21fdL } },
  29419. /* 15 << 70 */
  29420. { { 0xb293ae0b3893d123L,0xf7b75783b15ee71cL,0x5aa3c61442a9468bL,
  29421. 0xd686123cdb15d744L },
  29422. { 0x8c616891a7ab4116L,0x6fcd72c8a4e6a459L,0xac21911077e5fad7L,
  29423. 0xfb6a20e7704fa46bL } },
  29424. /* 16 << 70 */
  29425. { { 0xe839be7d341d81dcL,0xcddb688932148379L,0xda6211a1f7026eadL,
  29426. 0xf3b2575ff4d1cc5eL },
  29427. { 0x40cfc8f6a7a73ae6L,0x83879a5e61d5b483L,0xc5acb1ed41a50ebcL,
  29428. 0x59a60cc83c07d8faL } },
  29429. /* 17 << 70 */
  29430. { { 0x1b73bdceb1876262L,0x2b0d79f012af4ee9L,0x8bcf3b0bd46e1d07L,
  29431. 0x17d6af9de45d152fL },
  29432. { 0x735204616d736451L,0x43cbbd9756b0bf5aL,0xb0833a5bd5999b9dL,
  29433. 0x702614f0eb72e398L } },
  29434. /* 18 << 70 */
  29435. { { 0x0aadf01a59c3e9f8L,0x40200e77ce6b3d16L,0xda22bdd3deddafadL,
  29436. 0x76dedaf4310d72e1L },
  29437. { 0x49ef807c4bc2e88fL,0x6ba81291146dd5a5L,0xa1a4077a7d8d59e9L,
  29438. 0x87b6a2e7802db349L } },
  29439. /* 19 << 70 */
  29440. { { 0xd56799971b4e598eL,0xf499ef1f06fe4b1dL,0x3978d3aefcb267c5L,
  29441. 0xb582b557235786d0L },
  29442. { 0x32b3b2ca1715cb07L,0x4c3de6a28480241dL,0x63b5ffedcb571ecdL,
  29443. 0xeaf53900ed2fe9a9L } },
  29444. /* 20 << 70 */
  29445. { { 0xdec98d4ac3b81990L,0x1cb837229e0cc8feL,0xfe0b0491d2b427b9L,
  29446. 0x0f2386ace983a66cL },
  29447. { 0x930c4d1eb3291213L,0xa2f82b2e59a62ae4L,0x77233853f93e89e3L,
  29448. 0x7f8063ac11777c7fL } },
  29449. /* 21 << 70 */
  29450. { { 0xff0eb56759ad2877L,0x6f4546429865c754L,0xe6fe701a236e9a84L,
  29451. 0xc586ef1606e40fc3L },
  29452. { 0x3f62b6e024bafad9L,0xc8b42bd264da906aL,0xc98e1eb4da3276a0L,
  29453. 0x30d0e5fc06cbf852L } },
  29454. /* 22 << 70 */
  29455. { { 0x1b6b2ae1e8b4dfd4L,0xd754d5c78301cbacL,0x66097629112a39acL,
  29456. 0xf86b599993ba4ab9L },
  29457. { 0x26c9dea799f9d581L,0x0473b1a8c2fafeaaL,0x1469af553b2505a5L,
  29458. 0x227d16d7d6a43323L } },
  29459. /* 23 << 70 */
  29460. { { 0x3316f73cad3d97f9L,0x52bf3bb51f137455L,0x953eafeb09954e7cL,
  29461. 0xa721dfeddd732411L },
  29462. { 0xb4929821141d4579L,0x3411321caa3bd435L,0xafb355aa17fa6015L,
  29463. 0xb4e7ef4a18e42f0eL } },
  29464. /* 24 << 70 */
  29465. { { 0x604ac97c59371000L,0xe1c48c707f759c18L,0x3f62ecc5a5db6b65L,
  29466. 0x0a78b17338a21495L },
  29467. { 0x6be1819dbcc8ad94L,0x70dc04f6d89c3400L,0x462557b4a6b4840aL,
  29468. 0x544c6ade60bd21c0L } },
  29469. /* 25 << 70 */
  29470. { { 0x6a00f24e907a544bL,0xa7520dcb313da210L,0xfe939b7511e4994bL,
  29471. 0x918b6ba6bc275d70L },
  29472. { 0xd3e5e0fc644be892L,0x707a9816fdaf6c42L,0x60145567f15c13feL,
  29473. 0x4818ebaae130a54aL } },
  29474. /* 26 << 70 */
  29475. { { 0x28aad3ad58d2f767L,0xdc5267fdd7e7c773L,0x4919cc88c3afcc98L,
  29476. 0xaa2e6ab02db8cd4bL },
  29477. { 0xd46fec04d0c63eaaL,0xa1cb92c519ffa832L,0x678dd178e43a631fL,
  29478. 0xfb5ae1cd3dc788b3L } },
  29479. /* 27 << 70 */
  29480. { { 0x68b4fb906e77de04L,0x7992bcf0f06dbb97L,0x896e6a13c417c01dL,
  29481. 0x8d96332cb956be01L },
  29482. { 0x902fc93a413aa2b9L,0x99a4d915fc98c8a5L,0x52c29407565f1137L,
  29483. 0x4072690f21e4f281L } },
  29484. /* 28 << 70 */
  29485. { { 0x36e607cf02ff6072L,0xa47d2ca98ad98cdcL,0xbf471d1ef5f56609L,
  29486. 0xbcf86623f264ada0L },
  29487. { 0xb70c0687aa9e5cb6L,0xc98124f217401c6cL,0x8189635fd4a61435L,
  29488. 0xd28fb8afa9d98ea6L } },
  29489. /* 29 << 70 */
  29490. { { 0xb9a67c2a40c251f8L,0x88cd5d87a2da44beL,0x437deb96e09b5423L,
  29491. 0x150467db64287dc1L },
  29492. { 0xe161debbcdabb839L,0xa79e9742f1839a3eL,0xbb8dd3c2652d202bL,
  29493. 0x7b3e67f7e9f97d96L } },
  29494. /* 30 << 70 */
  29495. { { 0x5aa5d78fb1cb6ac9L,0xffa13e8eca1d0d45L,0x369295dd2ba5bf95L,
  29496. 0xd68bd1f839aff05eL },
  29497. { 0xaf0d86f926d783f2L,0x543a59b3fc3aafc1L,0x3fcf81d27b7da97cL,
  29498. 0xc990a056d25dee46L } },
  29499. /* 31 << 70 */
  29500. { { 0x3e6775b8519cce2cL,0xfc9af71fae13d863L,0x774a4a6f47c1605cL,
  29501. 0x46ba42452fd205e8L },
  29502. { 0xa06feea4d3fd524dL,0x1e7246416de1acc2L,0xf53816f1334e2b42L,
  29503. 0x49e5918e922f0024L } },
  29504. /* 32 << 70 */
  29505. { { 0x439530b665c7322dL,0xcf12cc01b3c1b3fbL,0xc70b01860172f685L,
  29506. 0xb915ee221b58391dL },
  29507. { 0x9afdf03ba317db24L,0x87dec65917b8ffc4L,0x7f46597be4d3d050L,
  29508. 0x80a1c1ed006500e7L } },
  29509. /* 33 << 70 */
  29510. { { 0x84902a9678bf030eL,0xfb5e9c9a50560148L,0x6dae0a9263362426L,
  29511. 0xdcaeecf4a9e30c40L },
  29512. { 0xc0d887bb518d0c6bL,0x99181152cb985b9dL,0xad186898ef7bc381L,
  29513. 0x18168ffb9ee46201L } },
  29514. /* 34 << 70 */
  29515. { { 0x9a04cdaa2502753cL,0xbb279e2651407c41L,0xeacb03aaf23564e5L,
  29516. 0x1833658271e61016L },
  29517. { 0x8684b8c4eb809877L,0xb336e18dea0e672eL,0xefb601f034ee5867L,
  29518. 0x2733edbe1341cfd1L } },
  29519. /* 35 << 70 */
  29520. { { 0xb15e809a26025c3cL,0xe6e981a69350df88L,0x923762378502fd8eL,
  29521. 0x4791f2160c12be9bL },
  29522. { 0xb725678925f02425L,0xec8631947a974443L,0x7c0ce882fb41cc52L,
  29523. 0xc266ff7ef25c07f2L } },
  29524. /* 36 << 70 */
  29525. { { 0x3d4da8c3017025f3L,0xefcf628cfb9579b4L,0x5c4d00161f3716ecL,
  29526. 0x9c27ebc46801116eL },
  29527. { 0x5eba0ea11da1767eL,0xfe15145247004c57L,0x3ace6df68c2373b7L,
  29528. 0x75c3dffe5dbc37acL } },
  29529. /* 37 << 70 */
  29530. { { 0x3dc32a73ddc925fcL,0xb679c8412f65ee0bL,0x715a3295451cbfebL,
  29531. 0xd9889768f76e9a29L },
  29532. { 0xec20ce7fb28ad247L,0xe99146c400894d79L,0x71457d7c9f5e3ea7L,
  29533. 0x097b266238030031L } },
  29534. /* 38 << 70 */
  29535. { { 0xdb7f6ae6cf9f82a8L,0x319decb9438f473aL,0xa63ab386283856c3L,
  29536. 0x13e3172fb06a361bL },
  29537. { 0x2959f8dc7d5a006cL,0x2dbc27c675fba752L,0xc1227ab287c22c9eL,
  29538. 0x06f61f7571a268b2L } },
  29539. /* 39 << 70 */
  29540. { { 0x1b6bb97104779ce2L,0xaca838120aadcb1dL,0x297ae0bcaeaab2d5L,
  29541. 0xa5c14ee75bfb9f13L },
  29542. { 0xaa00c583f17a62c7L,0x39eb962c173759f6L,0x1eeba1d486c9a88fL,
  29543. 0x0ab6c37adf016c5eL } },
  29544. /* 40 << 70 */
  29545. { { 0xa2a147dba28a0749L,0x246c20d6ee519165L,0x5068d1b1d3810715L,
  29546. 0xb1e7018c748160b9L },
  29547. { 0x03f5b1faf380ff62L,0xef7fb1ddf3cb2c1eL,0xeab539a8fc91a7daL,
  29548. 0x83ddb707f3f9b561L } },
  29549. /* 41 << 70 */
  29550. { { 0xc550e211fe7df7a4L,0xa7cd07f2063f6f40L,0xb0de36352976879cL,
  29551. 0xb5f83f85e55741daL },
  29552. { 0x4ea9d25ef3d8ac3dL,0x6fe2066f62819f02L,0x4ab2b9c2cef4a564L,
  29553. 0x1e155d965ffa2de3L } },
  29554. /* 42 << 70 */
  29555. { { 0x0eb0a19bc3a72d00L,0x4037665b8513c31bL,0x2fb2b6bf04c64637L,
  29556. 0x45c34d6e08cdc639L },
  29557. { 0x56f1e10ff01fd796L,0x4dfb8101fe3667b8L,0xe0eda2539021d0c0L,
  29558. 0x7a94e9ff8a06c6abL } },
  29559. /* 43 << 70 */
  29560. { { 0x2d3bb0d9bb9aa882L,0xea20e4e5ec05fd10L,0xed7eeb5f1a1ca64eL,
  29561. 0x2fa6b43cc6327cbdL },
  29562. { 0xb577e3cf3aa91121L,0x8c6bd5ea3a34079bL,0xd7e5ba3960e02fc0L,
  29563. 0xf16dd2c390141bf8L } },
  29564. /* 44 << 70 */
  29565. { { 0xb57276d980101b98L,0x760883fdb82f0f66L,0x89d7de754bc3eff3L,
  29566. 0x03b606435dc2ab40L },
  29567. { 0xcd6e53dfe05beeacL,0xf2f1e862bc3325cdL,0xdd0f7921774f03c3L,
  29568. 0x97ca72214552cc1bL } },
  29569. /* 45 << 70 */
  29570. { { 0x5a0d6afe1cd19f72L,0xa20915dcf183fbebL,0x9fda4b40832c403cL,
  29571. 0x32738eddbe425442L },
  29572. { 0x469a1df6b5eccf1aL,0x4b5aff4228bbe1f0L,0x31359d7f570dfc93L,
  29573. 0xa18be235f0088628L } },
  29574. /* 46 << 70 */
  29575. { { 0xa5b30fbab00ed3a9L,0x34c6137473cdf8beL,0x2c5c5f46abc56797L,
  29576. 0x5cecf93db82a8ae2L },
  29577. { 0x7d3dbe41a968fbf0L,0xd23d45831a5c7f3dL,0xf28f69a0c087a9c7L,
  29578. 0xc2d75471474471caL } },
  29579. /* 47 << 70 */
  29580. { { 0x36ec9f4a4eb732ecL,0x6c943bbdb1ca6bedL,0xd64535e1f2457892L,
  29581. 0x8b84a8eaf7e2ac06L },
  29582. { 0xe0936cd32499dd5fL,0x12053d7e0ed04e57L,0x4bdd0076e4305d9dL,
  29583. 0x34a527b91f67f0a2L } },
  29584. /* 48 << 70 */
  29585. { { 0xe79a4af09cec46eaL,0xb15347a1658b9bc7L,0x6bd2796f35af2f75L,
  29586. 0xac9579904051c435L },
  29587. { 0x2669dda3c33a655dL,0x5d503c2e88514aa3L,0xdfa113373753dd41L,
  29588. 0x3f0546730b754f78L } },
  29589. /* 49 << 70 */
  29590. { { 0xbf185677496125bdL,0xfb0023c83775006cL,0xfa0f072f3a037899L,
  29591. 0x4222b6eb0e4aea57L },
  29592. { 0x3dde5e767866d25aL,0xb6eb04f84837aa6fL,0x5315591a2cf1cdb8L,
  29593. 0x6dfb4f412d4e683cL } },
  29594. /* 50 << 70 */
  29595. { { 0x7e923ea448ee1f3aL,0x9604d9f705a2afd5L,0xbe1d4a3340ea4948L,
  29596. 0x5b45f1f4b44cbd2fL },
  29597. { 0x5faf83764acc757eL,0xa7cf9ab863d68ff7L,0x8ad62f69df0e404bL,
  29598. 0xd65f33c212bdafdfL } },
  29599. /* 51 << 70 */
  29600. { { 0xc365de15a377b14eL,0x6bf5463b8e39f60cL,0x62030d2d2ce68148L,
  29601. 0xd95867efe6f843a8L },
  29602. { 0xd39a0244ef5ab017L,0x0bd2d8c14ab55d12L,0xc9503db341639169L,
  29603. 0x2d4e25b0f7660c8aL } },
  29604. /* 52 << 70 */
  29605. { { 0x760cb3b5e224c5d7L,0xfa3baf8c68616919L,0x9fbca1138d142552L,
  29606. 0x1ab18bf17669ebf5L },
  29607. { 0x55e6f53e9bdf25ddL,0x04cc0bf3cb6cd154L,0x595bef4995e89080L,
  29608. 0xfe9459a8104a9ac1L } },
  29609. /* 53 << 70 */
  29610. { { 0xad2d89cacce9bb32L,0xddea65e1f7de8285L,0x62ed8c35b351bd4bL,
  29611. 0x4150ff360c0e19a7L },
  29612. { 0x86e3c801345f4e47L,0x3bf21f71203a266cL,0x7ae110d4855b1f13L,
  29613. 0x5d6aaf6a07262517L } },
  29614. /* 54 << 70 */
  29615. { { 0x1e0f12e1813d28f1L,0x6000e11d7ad7a523L,0xc7d8deefc744a17bL,
  29616. 0x1e990b4814c05a00L },
  29617. { 0x68fddaee93e976d5L,0x696241d146610d63L,0xb204e7c3893dda88L,
  29618. 0x8bccfa656a3a6946L } },
  29619. /* 55 << 70 */
  29620. { { 0xb59425b4c5cd1411L,0x701b4042ff3658b1L,0xe3e56bca4784cf93L,
  29621. 0x27de5f158fe68d60L },
  29622. { 0x4ab9cfcef8d53f19L,0xddb10311a40a730dL,0x6fa73cd14eee0a8aL,
  29623. 0xfd5487485249719dL } },
  29624. /* 56 << 70 */
  29625. { { 0x49d66316a8123ef0L,0x73c32db4e7f95438L,0x2e2ed2090d9e7854L,
  29626. 0xf98a93299d9f0507L },
  29627. { 0xc5d33cf60c6aa20aL,0x9a32ba1475279bb2L,0x7e3202cb774a7307L,
  29628. 0x64ed4bc4e8c42dbdL } },
  29629. /* 57 << 70 */
  29630. { { 0xc20f1a06d4caed0dL,0xb8021407171d22b3L,0xd426ca04d13268d7L,
  29631. 0x9237700725f4d126L },
  29632. { 0x4204cbc371f21a85L,0x18461b7af82369baL,0xc0c07d313fc858f9L,
  29633. 0x5deb5a50e2bab569L } },
  29634. /* 58 << 70 */
  29635. { { 0xd5959d46d5eea89eL,0xfdff842408437f4bL,0xf21071e43cfe254fL,
  29636. 0x7241769695468321L },
  29637. { 0x5d8288b9102cae3eL,0x2d143e3df1965dffL,0x00c9a376a078d847L,
  29638. 0x6fc0da3126028731L } },
  29639. /* 59 << 70 */
  29640. { { 0xa2baeadfe45083a2L,0x66bc72185e5b4bcdL,0x2c826442d04b8e7fL,
  29641. 0xc19f54516c4b586bL },
  29642. { 0x60182c495b7eeed5L,0xd9954ecd7aa9dfa1L,0xa403a8ecc73884adL,
  29643. 0x7fb17de29bb39041L } },
  29644. /* 60 << 70 */
  29645. { { 0x694b64c5abb020e8L,0x3d18c18419c4eec7L,0x9c4673ef1c4793e5L,
  29646. 0xc7b8aeb5056092e6L },
  29647. { 0x3aa1ca43f0f8c16bL,0x224ed5ecd679b2f6L,0x0d56eeaf55a205c9L,
  29648. 0xbfe115ba4b8e028bL } },
  29649. /* 61 << 70 */
  29650. { { 0x97e608493927f4feL,0xf91fbf94759aa7c5L,0x985af7696be90a51L,
  29651. 0xc1277b7878ccb823L },
  29652. { 0x395b656ee7a75952L,0x00df7de0928da5f5L,0x09c231754ca4454fL,
  29653. 0x4ec971f47aa2d3c1L } },
  29654. /* 62 << 70 */
  29655. { { 0x45c3c507e75d9cccL,0x63b7be8a3dc90306L,0x37e09c665db44bdcL,
  29656. 0x50d60da16841c6a2L },
  29657. { 0x6f9b65ee08df1b12L,0x387348797ff089dfL,0x9c331a663fe8013dL,
  29658. 0x017f5de95f42fcc8L } },
  29659. /* 63 << 70 */
  29660. { { 0x43077866e8e57567L,0xc9f781cef9fcdb18L,0x38131dda9b12e174L,
  29661. 0x25d84aa38a03752aL },
  29662. { 0x45e09e094d0c0ce2L,0x1564008b92bebba5L,0xf7e8ad31a87284c7L,
  29663. 0xb7c4b46c97e7bbaaL } },
  29664. /* 64 << 70 */
  29665. { { 0x3e22a7b397acf4ecL,0x0426c4005ea8b640L,0x5e3295a64e969285L,
  29666. 0x22aabc59a6a45670L },
  29667. { 0xb929714c5f5942bcL,0x9a6168bdfa3182edL,0x2216a665104152baL,
  29668. 0x46908d03b6926368L } },
  29669. /* 0 << 77 */
  29670. { { 0x00, 0x00, 0x00, 0x00 },
  29671. { 0x00, 0x00, 0x00, 0x00 } },
  29672. /* 1 << 77 */
  29673. { { 0xa9f5d8745a1251fbL,0x967747a8c72725c7L,0x195c33e531ffe89eL,
  29674. 0x609d210fe964935eL },
  29675. { 0xcafd6ca82fe12227L,0xaf9b5b960426469dL,0x2e9ee04c5693183cL,
  29676. 0x1084a333c8146fefL } },
  29677. /* 2 << 77 */
  29678. { { 0x96649933aed1d1f7L,0x566eaff350563090L,0x345057f0ad2e39cfL,
  29679. 0x148ff65b1f832124L },
  29680. { 0x042e89d4cf94cf0dL,0x319bec84520c58b3L,0x2a2676265361aa0dL,
  29681. 0xc86fa3028fbc87adL } },
  29682. /* 3 << 77 */
  29683. { { 0xfc83d2ab5c8b06d5L,0xb1a785a2fe4eac46L,0xb99315bc846f7779L,
  29684. 0xcf31d816ef9ea505L },
  29685. { 0x2391fe6a15d7dc85L,0x2f132b04b4016b33L,0x29547fe3181cb4c7L,
  29686. 0xdb66d8a6650155a1L } },
  29687. /* 4 << 77 */
  29688. { { 0x6b66d7e1adc1696fL,0x98ebe5930acd72d0L,0x65f24550cc1b7435L,
  29689. 0xce231393b4b9a5ecL },
  29690. { 0x234a22d4db067df9L,0x98dda095caff9b00L,0x1bbc75a06100c9c1L,
  29691. 0x1560a9c8939cf695L } },
  29692. /* 5 << 77 */
  29693. { { 0xcf006d3e99e0925fL,0x2dd74a966322375aL,0xc58b446ab56af5baL,
  29694. 0x50292683e0b9b4f1L },
  29695. { 0xe2c34cb41aeaffa3L,0x8b17203f9b9587c1L,0x6d559207ead1350cL,
  29696. 0x2b66a215fb7f9604L } },
  29697. /* 6 << 77 */
  29698. { { 0x0850325efe51bf74L,0x9c4f579e5e460094L,0x5c87b92a76da2f25L,
  29699. 0x889de4e06febef33L },
  29700. { 0x6900ec06646083ceL,0xbe2a0335bfe12773L,0xadd1da35c5344110L,
  29701. 0x757568b7b802cd20L } },
  29702. /* 7 << 77 */
  29703. { { 0x7555977900f7e6c8L,0x38e8b94f0facd2f0L,0xfea1f3af03fde375L,
  29704. 0x5e11a1d875881dfcL },
  29705. { 0xb3a6b02ec1e2f2efL,0x193d2bbbc605a6c5L,0x325ffeee339a0b2dL,
  29706. 0x27b6a7249e0c8846L } },
  29707. /* 8 << 77 */
  29708. { { 0xe4050f1cf1c367caL,0x9bc85a9bc90fbc7dL,0xa373c4a2e1a11032L,
  29709. 0xb64232b7ad0393a9L },
  29710. { 0xf5577eb0167dad29L,0x1604f30194b78ab2L,0x0baa94afe829348bL,
  29711. 0x77fbd8dd41654342L } },
  29712. /* 9 << 77 */
  29713. { { 0xdab50ea5b964e39aL,0xd4c29e3cd0d3c76eL,0x80dae67c56d11964L,
  29714. 0x7307a8bfe5ffcc2fL },
  29715. { 0x65bbc1aa91708c3bL,0xa151e62c28bf0eebL,0x6cb533816fa34db7L,
  29716. 0x5139e05ca29403a8L } },
  29717. /* 10 << 77 */
  29718. { { 0x6ff651b494a7cd2eL,0x5671ffd10699336cL,0x6f5fd2cc979a896aL,
  29719. 0x11e893a8d8148cefL },
  29720. { 0x988906a165cf7b10L,0x81b67178c50d8485L,0x7c0deb358a35b3deL,
  29721. 0x423ac855c1d29799L } },
  29722. /* 11 << 77 */
  29723. { { 0xaf580d87dac50b74L,0x28b2b89f5869734cL,0x99a3b936874e28fbL,
  29724. 0xbb2c919025f3f73aL },
  29725. { 0x199f691884a9d5b7L,0x7ebe23257e770374L,0xf442e1070738efe2L,
  29726. 0xcf9f3f56cf9082d2L } },
  29727. /* 12 << 77 */
  29728. { { 0x719f69e109618708L,0xcc9e8364c183f9b1L,0xec203a95366a21afL,
  29729. 0x6aec5d6d068b141fL },
  29730. { 0xee2df78a994f04e9L,0xb39ccae8271245b0L,0xb875a4a997e43f4fL,
  29731. 0x507dfe11db2cea98L } },
  29732. /* 13 << 77 */
  29733. { { 0x4fbf81cb489b03e9L,0xdb86ec5b6ec414faL,0xfad444f9f51b3ae5L,
  29734. 0xca7d33d61914e3feL },
  29735. { 0xa9c32f5c0ae6c4d0L,0xa9ca1d1e73969568L,0x98043c311aa7467eL,
  29736. 0xe832e75ce21b5ac6L } },
  29737. /* 14 << 77 */
  29738. { { 0x314b7aea5232123dL,0x08307c8c65ae86dbL,0x06e7165caa4668edL,
  29739. 0xb170458bb4d3ec39L },
  29740. { 0x4d2e3ec6c19bb986L,0xc5f34846ae0304edL,0x917695a06c9f9722L,
  29741. 0x6c7f73174cab1c0aL } },
  29742. /* 15 << 77 */
  29743. { { 0x6295940e9d6d2e8bL,0xd318b8c1549f7c97L,0x2245320497713885L,
  29744. 0x468d834ba8a440feL },
  29745. { 0xd81fe5b2bfba796eL,0x152364db6d71f116L,0xbb8c7c59b5b66e53L,
  29746. 0x0b12c61b2641a192L } },
  29747. /* 16 << 77 */
  29748. { { 0x31f14802fcf0a7fdL,0x42fd07895488b01eL,0x71d78d6d9952b498L,
  29749. 0x8eb572d907ac5201L },
  29750. { 0xe0a2a44c4d194a88L,0xd2b63fd9ba017e66L,0x78efc6c8f888aefcL,
  29751. 0xb76f6bda4a881a11L } },
  29752. /* 17 << 77 */
  29753. { { 0x187f314bb46c2397L,0x004cf5665ded2819L,0xa9ea570438764d34L,
  29754. 0xbba4521778084709L },
  29755. { 0x064745711171121eL,0xad7b7eb1e7c9b671L,0xdacfbc40730f7507L,
  29756. 0x178cd8c6c7ad7bd1L } },
  29757. /* 18 << 77 */
  29758. { { 0xbf0be101b2a67238L,0x3556d367af9c14f2L,0x104b7831a5662075L,
  29759. 0x58ca59bb79d9e60aL },
  29760. { 0x4bc45392a569a73bL,0x517a52e85698f6c9L,0x85643da5aeadd755L,
  29761. 0x1aed0cd52a581b84L } },
  29762. /* 19 << 77 */
  29763. { { 0xb9b4ff8480af1372L,0x244c3113f1ba5d1fL,0x2a5dacbef5f98d31L,
  29764. 0x2c3323e84375bc2aL },
  29765. { 0x17a3ab4a5594b1ddL,0xa1928bfbceb4797eL,0xe83af245e4886a19L,
  29766. 0x8979d54672b5a74aL } },
  29767. /* 20 << 77 */
  29768. { { 0xa0f726bc19f9e967L,0xd9d03152e8fbbf4eL,0xcfd6f51db7707d40L,
  29769. 0x633084d963f6e6e0L },
  29770. { 0xedcd9cdc55667eafL,0x73b7f92b2e44d56fL,0xfb2e39b64e962b14L,
  29771. 0x7d408f6ef671fcbfL } },
  29772. /* 21 << 77 */
  29773. { { 0xcc634ddc164a89bbL,0x74a42bb23ef3bd05L,0x1280dbb2428decbbL,
  29774. 0x6103f6bb402c8596L },
  29775. { 0xfa2bf581355a5752L,0x562f96a800946674L,0x4e4ca16d6da0223bL,
  29776. 0xfe47819f28d3aa25L } },
  29777. /* 22 << 77 */
  29778. { { 0x9eea3075f8dfcf8aL,0xa284f0aa95669825L,0xb3fca250867d3fd8L,
  29779. 0x20757b5f269d691eL },
  29780. { 0xf2c2402093b8a5deL,0xd3f93359ebc06da6L,0x1178293eb2739c33L,
  29781. 0xd2a3e770bcd686e5L } },
  29782. /* 23 << 77 */
  29783. { { 0xa76f49f4cd941534L,0x0d37406be3c71c0eL,0x172d93973b97f7e3L,
  29784. 0xec17e239bd7fd0deL },
  29785. { 0xe32905516f496ba2L,0x6a69317236ad50e7L,0xc4e539a283e7eff5L,
  29786. 0x752737e718e1b4cfL } },
  29787. /* 24 << 77 */
  29788. { { 0xa2f7932c68af43eeL,0x5502468e703d00bdL,0xe5dc978f2fb061f5L,
  29789. 0xc9a1904a28c815adL },
  29790. { 0xd3af538d470c56a4L,0x159abc5f193d8cedL,0x2a37245f20108ef3L,
  29791. 0xfa17081e223f7178L } },
  29792. /* 25 << 77 */
  29793. { { 0x27b0fb2b10c8c0f5L,0x2102c3ea40650547L,0x594564df8ac3bfa7L,
  29794. 0x98102033509dad96L },
  29795. { 0x6989643ff1d18a13L,0x35eebd91d7fc5af0L,0x078d096afaeaafd8L,
  29796. 0xb7a89341def3de98L } },
  29797. /* 26 << 77 */
  29798. { { 0x2a206e8decf2a73aL,0x066a63978e551994L,0x3a6a088ab98d53a2L,
  29799. 0x0ce7c67c2d1124aaL },
  29800. { 0x48cec671759a113cL,0xe3b373d34f6f67faL,0x5455d479fd36727bL,
  29801. 0xe5a428eea13c0d81L } },
  29802. /* 27 << 77 */
  29803. { { 0xb853dbc81c86682bL,0xb78d2727b8d02b2aL,0xaaf69bed8ebc329aL,
  29804. 0xdb6b40b3293b2148L },
  29805. { 0xe42ea77db8c4961fL,0xb1a12f7c20e5e0abL,0xa0ec527479e8b05eL,
  29806. 0x68027391fab60a80L } },
  29807. /* 28 << 77 */
  29808. { { 0x6bfeea5f16b1bd5eL,0xf957e4204de30ad3L,0xcbaf664e6a353b9eL,
  29809. 0x5c87331226d14febL },
  29810. { 0x4e87f98cb65f57cbL,0xdb60a6215e0cdd41L,0x67c16865a6881440L,
  29811. 0x1093ef1a46ab52aaL } },
  29812. /* 29 << 77 */
  29813. { { 0xc095afb53f4ece64L,0x6a6bb02e7604551aL,0x55d44b4e0b26b8cdL,
  29814. 0xe5f9a999f971268aL },
  29815. { 0xc08ec42511a7de84L,0x83568095fda469ddL,0x737bfba16c6c90a2L,
  29816. 0x1cb9c4a0be229831L } },
  29817. /* 30 << 77 */
  29818. { { 0x93bccbbabb2eec64L,0xa0c23b64da03adbeL,0x5f7aa00ae0e86ac4L,
  29819. 0x470b941efc1401e6L },
  29820. { 0x5ad8d6799df43574L,0x4ccfb8a90f65d810L,0x1bce80e3aa7fbd81L,
  29821. 0x273291ad9508d20aL } },
  29822. /* 31 << 77 */
  29823. { { 0xf5c4b46b42a92806L,0x810684eca86ab44aL,0x4591640bca0bc9f8L,
  29824. 0xb5efcdfc5c4b6054L },
  29825. { 0x16fc89076e9edd12L,0xe29d0b50d4d792f9L,0xa45fd01c9b03116dL,
  29826. 0x85035235c81765a4L } },
  29827. /* 32 << 77 */
  29828. { { 0x1fe2a9b2b4b4b67cL,0xc1d10df0e8020604L,0x9d64abfcbc8058d8L,
  29829. 0x8943b9b2712a0fbbL },
  29830. { 0x90eed9143b3def04L,0x85ab3aa24ce775ffL,0x605fd4ca7bbc9040L,
  29831. 0x8b34a564e2c75dfbL } },
  29832. /* 33 << 77 */
  29833. { { 0x41ffc94a10358560L,0x2d8a50729e5c28aaL,0xe915a0fc4cc7eb15L,
  29834. 0xe9efab058f6d0f5dL },
  29835. { 0xdbab47a9d19e9b91L,0x8cfed7450276154cL,0x154357ae2cfede0dL,
  29836. 0x520630df19f5a4efL } },
  29837. /* 34 << 77 */
  29838. { { 0x25759f7ce382360fL,0xb6db05c988bf5857L,0x2917d61d6c58d46cL,
  29839. 0x14f8e491fd20cb7aL },
  29840. { 0xb68a727a11c20340L,0x0386f86faf7ccbb6L,0x5c8bc6ccfee09a20L,
  29841. 0x7d76ff4abb7eea35L } },
  29842. /* 35 << 77 */
  29843. { { 0xa7bdebe7db15be7aL,0x67a08054d89f0302L,0x56bf0ea9c1193364L,
  29844. 0xc824446762837ebeL },
  29845. { 0x32bd8e8b20d841b8L,0x127a0548dbb8a54fL,0x83dd4ca663b20236L,
  29846. 0x87714718203491faL } },
  29847. /* 36 << 77 */
  29848. { { 0x4dabcaaaaa8a5288L,0x91cc0c8aaf23a1c9L,0x34c72c6a3f220e0cL,
  29849. 0xbcc20bdf1232144aL },
  29850. { 0x6e2f42daa20ede1bL,0xc441f00c74a00515L,0xbf46a5b6734b8c4bL,
  29851. 0x574095037b56c9a4L } },
  29852. /* 37 << 77 */
  29853. { { 0x9f735261e4585d45L,0x9231faed6734e642L,0x1158a176be70ee6cL,
  29854. 0x35f1068d7c3501bfL },
  29855. { 0x6beef900a2d26115L,0x649406f2ef0afee3L,0x3f43a60abc2420a1L,
  29856. 0x509002a7d5aee4acL } },
  29857. /* 38 << 77 */
  29858. { { 0xb46836a53ff3571bL,0x24f98b78837927c1L,0x6254256a4533c716L,
  29859. 0xf27abb0bd07ee196L },
  29860. { 0xd7cf64fc5c6d5bfdL,0x6915c751f0cd7a77L,0xd9f590128798f534L,
  29861. 0x772b0da8f81d8b5fL } },
  29862. /* 39 << 77 */
  29863. { { 0x1244260c2e03fa69L,0x36cf0e3a3be1a374L,0x6e7c1633ef06b960L,
  29864. 0xa71a4c55671f90f6L },
  29865. { 0x7a94125133c673dbL,0xc0bea51073e8c131L,0x61a8a699d4f6c734L,
  29866. 0x25e78c88341ed001L } },
  29867. /* 40 << 77 */
  29868. { { 0x5c18acf88e2f7d90L,0xfdbf33d777be32cdL,0x0a085cd7d2eb5ee9L,
  29869. 0x2d702cfbb3201115L },
  29870. { 0xb6e0ebdb85c88ce8L,0x23a3ce3c1e01d617L,0x3041618e567333acL,
  29871. 0x9dd0fd8f157edb6bL } },
  29872. /* 41 << 77 */
  29873. { { 0x27f74702b57872b8L,0x2ef26b4f657d5fe1L,0x95426f0a57cf3d40L,
  29874. 0x847e2ad165a6067aL },
  29875. { 0xd474d9a009996a74L,0x16a56acd2a26115cL,0x02a615c3d16f4d43L,
  29876. 0xcc3fc965aadb85b7L } },
  29877. /* 42 << 77 */
  29878. { { 0x386bda73ce07d1b0L,0xd82910c258ad4178L,0x124f82cfcd2617f4L,
  29879. 0xcc2f5e8def691770L },
  29880. { 0x82702550b8c30cccL,0x7b856aea1a8e575aL,0xbb822fefb1ab9459L,
  29881. 0x085928bcec24e38eL } },
  29882. /* 43 << 77 */
  29883. { { 0x5d0402ecba8f4b4dL,0xc07cd4ba00b4d58bL,0x5d8dffd529227e7aL,
  29884. 0x61d44d0c31bf386fL },
  29885. { 0xe486dc2b135e6f4dL,0x680962ebe79410efL,0xa61bd343f10088b5L,
  29886. 0x6aa76076e2e28686L } },
  29887. /* 44 << 77 */
  29888. { { 0x80463d118fb98871L,0xcb26f5c3bbc76affL,0xd4ab8eddfbe03614L,
  29889. 0xc8eb579bc0cf2deeL },
  29890. { 0xcc004c15c93bae41L,0x46fbae5d3aeca3b2L,0x671235cf0f1e9ab1L,
  29891. 0xadfba9349ec285c1L } },
  29892. /* 45 << 77 */
  29893. { { 0x88ded013f216c980L,0xc8ac4fb8f79e0bc1L,0xa29b89c6fb97a237L,
  29894. 0xb697b7809922d8e7L },
  29895. { 0x3142c639ddb945b5L,0x447b06c7e094c3a9L,0xcdcb364272266c90L,
  29896. 0x633aad08a9385046L } },
  29897. /* 46 << 77 */
  29898. { { 0xa36c936bb57c6477L,0x871f8b64e94dbcc6L,0x28d0fb62a591a67bL,
  29899. 0x9d40e081c1d926f5L },
  29900. { 0x3111eaf6f2d84b5aL,0x228993f9a565b644L,0x0ccbf5922c83188bL,
  29901. 0xf87b30ab3df3e197L } },
  29902. /* 47 << 77 */
  29903. { { 0xb8658b317642bca8L,0x1a032d7f52800f17L,0x051dcae579bf9445L,
  29904. 0xeba6b8ee54a2e253L },
  29905. { 0x5c8b9cadd4485692L,0x84bda40e8986e9beL,0xd16d16a42f0db448L,
  29906. 0x8ec80050a14d4188L } },
  29907. /* 48 << 77 */
  29908. { { 0xb2b2610798fa7aaaL,0x41209ee4f073aa4eL,0xf1570359f2d6b19bL,
  29909. 0xcbe6868cfc577cafL },
  29910. { 0x186c4bdc32c04dd3L,0xa6c35faecfeee397L,0xb4a1b312f086c0cfL,
  29911. 0xe0a5ccc6d9461fe2L } },
  29912. /* 49 << 77 */
  29913. { { 0xc32278aa1536189fL,0x1126c55fba6df571L,0x0f71a602b194560eL,
  29914. 0x8b2d7405324bd6e1L },
  29915. { 0x8481939e3738be71L,0xb5090b1a1a4d97a9L,0x116c65a3f05ba915L,
  29916. 0x21863ad3aae448aaL } },
  29917. /* 50 << 77 */
  29918. { { 0xd24e2679a7aae5d3L,0x7076013d0de5c1c4L,0x2d50f8babb05b629L,
  29919. 0x73c1abe26e66efbbL },
  29920. { 0xefd4b422f2488af7L,0xe4105d02663ba575L,0x7eb60a8b53a69457L,
  29921. 0x62210008c945973bL } },
  29922. /* 51 << 77 */
  29923. { { 0xfb25547877a50ec6L,0xbf0392f70a37a72cL,0xa0a7a19c4be18e7aL,
  29924. 0x90d8ea1625b1e0afL },
  29925. { 0x7582a293ef953f57L,0x90a64d05bdc5465aL,0xca79c497e2510717L,
  29926. 0x560dbb7c18cb641fL } },
  29927. /* 52 << 77 */
  29928. { { 0x1d8e32864b66abfbL,0xd26f52e559030900L,0x1ee3f6435584941aL,
  29929. 0x6d3b3730569f5958L },
  29930. { 0x9ff2a62f4789dba5L,0x91fcb81572b5c9b7L,0xf446cb7d6c8f9a0eL,
  29931. 0x48f625c139b7ecb5L } },
  29932. /* 53 << 77 */
  29933. { { 0xbabae8011c6219b8L,0xe7a562d928ac2f23L,0xe1b4873226e20588L,
  29934. 0x06ee1cad775af051L },
  29935. { 0xda29ae43faff79f7L,0xc141a412652ee9e0L,0x1e127f6f195f4bd0L,
  29936. 0x29c6ab4f072f34f8L } },
  29937. /* 54 << 77 */
  29938. { { 0x7b7c147730448112L,0x82b51af1e4a38656L,0x2bf2028a2f315010L,
  29939. 0xc9a4a01f6ea88cd4L },
  29940. { 0xf63e95d8257e5818L,0xdd8efa10b4519b16L,0xed8973e00da910bfL,
  29941. 0xed49d0775c0fe4a9L } },
  29942. /* 55 << 77 */
  29943. { { 0xac3aac5eb7caee1eL,0x1033898da7f4da57L,0x42145c0e5c6669b9L,
  29944. 0x42daa688c1aa2aa0L },
  29945. { 0x629cc15c1a1d885aL,0x25572ec0f4b76817L,0x8312e4359c8f8f28L,
  29946. 0x8107f8cd81965490L } },
  29947. /* 56 << 77 */
  29948. { { 0x516ff3a36fa6110cL,0x74fb1eb1fb93561fL,0x6c0c90478457522bL,
  29949. 0xcfd321046bb8bdc6L },
  29950. { 0x2d6884a2cc80ad57L,0x7c27fc3586a9b637L,0x3461baedadf4e8cdL,
  29951. 0x1d56251a617242f0L } },
  29952. /* 57 << 77 */
  29953. { { 0x0b80d209c955bef4L,0xdf02cad206adb047L,0xf0d7cb915ec74feeL,
  29954. 0xd25033751111ba44L },
  29955. { 0x9671755edf53cb36L,0x54dcb6123368551bL,0x66d69aacc8a025a4L,
  29956. 0x6be946c6e77ef445L } },
  29957. /* 58 << 77 */
  29958. { { 0x719946d1a995e094L,0x65e848f6e51e04d8L,0xe62f33006a1e3113L,
  29959. 0x1541c7c1501de503L },
  29960. { 0x4daac9faf4acfadeL,0x0e58589744cd0b71L,0x544fd8690a51cd77L,
  29961. 0x60fc20ed0031016dL } },
  29962. /* 59 << 77 */
  29963. { { 0x58b404eca4276867L,0x46f6c3cc34f34993L,0x477ca007c636e5bdL,
  29964. 0x8018f5e57c458b47L },
  29965. { 0xa1202270e47b668fL,0xcef48ccdee14f203L,0x23f98bae62ff9b4dL,
  29966. 0x55acc035c589edddL } },
  29967. /* 60 << 77 */
  29968. { { 0x3fe712af64db4444L,0x19e9d634becdd480L,0xe08bc047a930978aL,
  29969. 0x2dbf24eca1280733L },
  29970. { 0x3c0ae38c2cd706b2L,0x5b012a5b359017b9L,0x3943c38c72e0f5aeL,
  29971. 0x786167ea57176fa3L } },
  29972. /* 61 << 77 */
  29973. { { 0xe5f9897d594881dcL,0x6b5efad8cfb820c1L,0xb2179093d55018deL,
  29974. 0x39ad7d320bac56ceL },
  29975. { 0xb55122e02cfc0e81L,0x117c4661f6d89daaL,0x362d01e1cb64fa09L,
  29976. 0x6a309b4e3e9c4dddL } },
  29977. /* 62 << 77 */
  29978. { { 0xfa979fb7abea49b1L,0xb4b1d27d10e2c6c5L,0xbd61c2c423afde7aL,
  29979. 0xeb6614f89786d358L },
  29980. { 0x4a5d816b7f6f7459L,0xe431a44f09360e7bL,0x8c27a032c309914cL,
  29981. 0xcea5d68acaede3d8L } },
  29982. /* 63 << 77 */
  29983. { { 0x3668f6653a0a3f95L,0x893694167ceba27bL,0x89981fade4728fe9L,
  29984. 0x7102c8a08a093562L },
  29985. { 0xbb80310e235d21c8L,0x505e55d1befb7f7bL,0xa0a9081112958a67L,
  29986. 0xd67e106a4d851fefL } },
  29987. /* 64 << 77 */
  29988. { { 0xb84011a9431dd80eL,0xeb7c7cca73306cd9L,0x20fadd29d1b3b730L,
  29989. 0x83858b5bfe37b3d3L },
  29990. { 0xbf4cd193b6251d5cL,0x1cca1fd31352d952L,0xc66157a490fbc051L,
  29991. 0x7990a63889b98636L } },
  29992. /* 0 << 84 */
  29993. { { 0x00, 0x00, 0x00, 0x00 },
  29994. { 0x00, 0x00, 0x00, 0x00 } },
  29995. /* 1 << 84 */
  29996. { { 0xe5aa692a87dec0e1L,0x010ded8df7b39d00L,0x7b1b80c854cfa0b5L,
  29997. 0x66beb876a0f8ea28L },
  29998. { 0x50d7f5313476cd0eL,0xa63d0e65b08d3949L,0x1a09eea953479fc6L,
  29999. 0x82ae9891f499e742L } },
  30000. /* 2 << 84 */
  30001. { { 0xab58b9105ca7d866L,0x582967e23adb3b34L,0x89ae4447cceac0bcL,
  30002. 0x919c667c7bf56af5L },
  30003. { 0x9aec17b160f5dcd7L,0xec697b9fddcaadbcL,0x0b98f341463467f5L,
  30004. 0xb187f1f7a967132fL } },
  30005. /* 3 << 84 */
  30006. { { 0x90fe7a1d214aeb18L,0x1506af3c741432f7L,0xbb5565f9e591a0c4L,
  30007. 0x10d41a77b44f1bc3L },
  30008. { 0xa09d65e4a84bde96L,0x42f060d8f20a6a1cL,0x652a3bfdf27f9ce7L,
  30009. 0xb6bdb65c3b3d739fL } },
  30010. /* 4 << 84 */
  30011. { { 0xeb5ddcb6ec7fae9fL,0x995f2714efb66e5aL,0xdee95d8e69445d52L,
  30012. 0x1b6c2d4609e27620L },
  30013. { 0x32621c318129d716L,0xb03909f10958c1aaL,0x8c468ef91af4af63L,
  30014. 0x162c429ffba5cdf6L } },
  30015. /* 5 << 84 */
  30016. { { 0x2f682343753b9371L,0x29cab45a5f1f9cd7L,0x571623abb245db96L,
  30017. 0xc507db093fd79999L },
  30018. { 0x4e2ef652af036c32L,0x86f0cc7805018e5cL,0xc10a73d4ab8be350L,
  30019. 0x6519b3977e826327L } },
  30020. /* 6 << 84 */
  30021. { { 0xe8cb5eef9c053df7L,0x8de25b37b300ea6fL,0xdb03fa92c849cffbL,
  30022. 0x242e43a7e84169bbL },
  30023. { 0xe4fa51f4dd6f958eL,0x6925a77ff4445a8dL,0xe6e72a50e90d8949L,
  30024. 0xc66648e32b1f6390L } },
  30025. /* 7 << 84 */
  30026. { { 0xb2ab1957173e460cL,0x1bbbce7530704590L,0xc0a90dbddb1c7162L,
  30027. 0x505e399e15cdd65dL },
  30028. { 0x68434dcb57797ab7L,0x60ad35ba6a2ca8e8L,0x4bfdb1e0de3336c1L,
  30029. 0xbbef99ebd8b39015L } },
  30030. /* 8 << 84 */
  30031. { { 0x6c3b96f31711ebecL,0x2da40f1fce98fdc4L,0xb99774d357b4411fL,
  30032. 0x87c8bdf415b65bb6L },
  30033. { 0xda3a89e3c2eef12dL,0xde95bb9b3c7471f3L,0x600f225bd812c594L,
  30034. 0x54907c5d2b75a56bL } },
  30035. /* 9 << 84 */
  30036. { { 0xa93cc5f08db60e35L,0x743e3cd6fa833319L,0x7dad5c41f81683c9L,
  30037. 0x70c1e7d99c34107eL },
  30038. { 0x0edc4a39a6be0907L,0x36d4703586d0b7d3L,0x8c76da03272bfa60L,
  30039. 0x0b4a07ea0f08a414L } },
  30040. /* 10 << 84 */
  30041. { { 0x699e4d2945c1dd53L,0xcadc5898231debb5L,0xdf49fcc7a77f00e0L,
  30042. 0x93057bbfa73e5a0eL },
  30043. { 0x2f8b7ecd027a4cd1L,0x114734b3c614011aL,0xe7a01db767677c68L,
  30044. 0x89d9be5e7e273f4fL } },
  30045. /* 11 << 84 */
  30046. { { 0xd225cb2e089808efL,0xf1f7a27dd59e4107L,0x53afc7618211b9c9L,
  30047. 0x0361bc67e6819159L },
  30048. { 0x2a865d0b7f071426L,0x6a3c1810e7072567L,0x3e3bca1e0d6bcabdL,
  30049. 0xa1b02bc1408591bcL } },
  30050. /* 12 << 84 */
  30051. { { 0xe0deee5931fba239L,0xf47424d398bd91d1L,0x0f8886f4071a3c1dL,
  30052. 0x3f7d41e8a819233bL },
  30053. { 0x708623c2cf6eb998L,0x86bb49af609a287fL,0x942bb24963c90762L,
  30054. 0x0ef6eea555a9654bL } },
  30055. /* 13 << 84 */
  30056. { { 0x5f6d2d7236f5defeL,0xfa9922dc56f99176L,0x6c8c5ecef78ce0c7L,
  30057. 0x7b44589dbe09b55eL },
  30058. { 0xe11b3bca9ea83770L,0xd7fa2c7f2ab71547L,0x2a3dd6fa2a1ddcc0L,
  30059. 0x09acb4305a7b7707L } },
  30060. /* 14 << 84 */
  30061. { { 0x4add4a2e649d4e57L,0xcd53a2b01917526eL,0xc526233020b44ac4L,
  30062. 0x4028746abaa2c31dL },
  30063. { 0x5131839064291d4cL,0xbf48f151ee5ad909L,0xcce57f597b185681L,
  30064. 0x7c3ac1b04854d442L } },
  30065. /* 15 << 84 */
  30066. { { 0x65587dc3c093c171L,0xae7acb2424f42b65L,0x5a338adb955996cbL,
  30067. 0xc8e656756051f91bL },
  30068. { 0x66711fba28b8d0b1L,0x15d74137b6c10a90L,0x70cdd7eb3a232a80L,
  30069. 0xc9e2f07f6191ed24L } },
  30070. /* 16 << 84 */
  30071. { { 0xa80d1db6f79588c0L,0xfa52fc69b55768ccL,0x0b4df1ae7f54438aL,
  30072. 0x0cadd1a7f9b46a4fL },
  30073. { 0xb40ea6b31803dd6fL,0x488e4fa555eaae35L,0x9f047d55382e4e16L,
  30074. 0xc9b5b7e02f6e0c98L } },
  30075. /* 17 << 84 */
  30076. { { 0x6b1bd2d395762649L,0xa9604ee7c7aea3f6L,0x3646ff276dc6f896L,
  30077. 0x9bf0e7f52860bad1L },
  30078. { 0x2d92c8217cb44b92L,0xa2f5ce63aea9c182L,0xd0a2afb19154a5fdL,
  30079. 0x482e474c95801da6L } },
  30080. /* 18 << 84 */
  30081. { { 0xc19972d0b611c24bL,0x1d468e6560a8f351L,0xeb7580697bcf6421L,
  30082. 0xec9dd0ee88fbc491L },
  30083. { 0x5b59d2bf956c2e32L,0x73dc6864dcddf94eL,0xfd5e2321bcee7665L,
  30084. 0xa7b4f8ef5e9a06c4L } },
  30085. /* 19 << 84 */
  30086. { { 0xfba918dd7280f855L,0xbbaac2608baec688L,0xa3b3f00f33400f42L,
  30087. 0x3d2dba2966f2e6e4L },
  30088. { 0xb6f71a9498509375L,0x8f33031fcea423ccL,0x009b8dd04807e6fbL,
  30089. 0x5163cfe55cdb954cL } },
  30090. /* 20 << 84 */
  30091. { { 0x03cc8f17cf41c6e8L,0xf1f03c2a037b925cL,0xc39c19cc66d2427cL,
  30092. 0x823d24ba7b6c18e4L },
  30093. { 0x32ef9013901f0b4fL,0x684360f1f8941c2eL,0x0ebaff522c28092eL,
  30094. 0x7891e4e3256c932fL } },
  30095. /* 21 << 84 */
  30096. { { 0x51264319ac445e3dL,0x553432e78ea74381L,0xe6eeaa6967e9c50aL,
  30097. 0x27ced28462e628c7L },
  30098. { 0x3f96d3757a4afa57L,0xde0a14c3e484c150L,0x364a24eb38bd9923L,
  30099. 0x1df18da0e5177422L } },
  30100. /* 22 << 84 */
  30101. { { 0x174e8f82d8d38a9bL,0x2e97c600e7de1391L,0xc5709850a1c175ddL,
  30102. 0x969041a032ae5035L },
  30103. { 0xcbfd533b76a2086bL,0xd6bba71bd7c2e8feL,0xb2d58ee6099dfb67L,
  30104. 0x3a8b342d064a85d9L } },
  30105. /* 23 << 84 */
  30106. { { 0x3bc07649522f9be3L,0x690c075bdf1f49a8L,0x80e1aee83854ec42L,
  30107. 0x2a7dbf4417689dc7L },
  30108. { 0xc004fc0e3faf4078L,0xb2f02e9edf11862cL,0xf10a5e0fa0a1b7b3L,
  30109. 0x30aca6238936ec80L } },
  30110. /* 24 << 84 */
  30111. { { 0xf83cbf0502f40d9aL,0x4681c4682c318a4dL,0x985756180e9c2674L,
  30112. 0xbe79d0461847092eL },
  30113. { 0xaf1e480a78bd01e0L,0x6dd359e472a51db9L,0x62ce3821e3afbab6L,
  30114. 0xc5cee5b617733199L } },
  30115. /* 25 << 84 */
  30116. { { 0xe08b30d46ffd9fbbL,0x6e5bc69936c610b7L,0xf343cff29ce262cfL,
  30117. 0xca2e4e3568b914c1L },
  30118. { 0x011d64c016de36c5L,0xe0b10fdd42e2b829L,0x789429816685aaf8L,
  30119. 0xe7511708230ede97L } },
  30120. /* 26 << 84 */
  30121. { { 0x671ed8fc3b922bf8L,0xe4d8c0a04c29b133L,0x87eb12393b6e99c4L,
  30122. 0xaff3974c8793bebaL },
  30123. { 0x037494052c18df9bL,0xc5c3a29391007139L,0x6a77234fe37a0b95L,
  30124. 0x02c29a21b661c96bL } },
  30125. /* 27 << 84 */
  30126. { { 0xc3aaf1d6141ecf61L,0x9195509e3bb22f53L,0x2959740422d51357L,
  30127. 0x1b083822537bed60L },
  30128. { 0xcd7d6e35e07289f0L,0x1f94c48c6dd86effL,0xc8bb1f82eb0f9cfaL,
  30129. 0x9ee0b7e61b2eb97dL } },
  30130. /* 28 << 84 */
  30131. { { 0x5a52fe2e34d74e31L,0xa352c3103bf79ab6L,0x97ff6c5aabfeeb8fL,
  30132. 0xbfbe8feff5c97305L },
  30133. { 0xd6081ce6a7904608L,0x1f812f3ac4fca249L,0x9b24bc9ab9e5e200L,
  30134. 0x91022c6738012ee8L } },
  30135. /* 29 << 84 */
  30136. { { 0xe83d9c5d30a713a1L,0x4876e3f084ef0f93L,0xc9777029c1fbf928L,
  30137. 0xef7a6bb3bce7d2a4L },
  30138. { 0xb8067228dfa2a659L,0xd5cd3398d877a48fL,0xbea4fd8f025d0f3fL,
  30139. 0xd67d2e352eae7c2bL } },
  30140. /* 30 << 84 */
  30141. { { 0x184de7d7cc5f4394L,0xb5551b5c4536e142L,0x2e89b212d34aa60aL,
  30142. 0x14a96feaf50051d5L },
  30143. { 0x4e21ef740d12bb0bL,0xc522f02060b9677eL,0x8b12e4672df7731dL,
  30144. 0x39f803827b326d31L } },
  30145. /* 31 << 84 */
  30146. { { 0xdfb8630c39024a94L,0xaacb96a897319452L,0xd68a3961eda3867cL,
  30147. 0x0c58e2b077c4ffcaL },
  30148. { 0x3d545d634da919faL,0xef79b69af15e2289L,0x54bc3d3d808bab10L,
  30149. 0xc8ab300745f82c37L } },
  30150. /* 32 << 84 */
  30151. { { 0xc12738b67c4a658aL,0xb3c4763940e72182L,0x3b77be468798e44fL,
  30152. 0xdc047df217a7f85fL },
  30153. { 0x2439d4c55e59d92dL,0xcedca475e8e64d8dL,0xa724cd0d87ca9b16L,
  30154. 0x35e4fd59a5540dfeL } },
  30155. /* 33 << 84 */
  30156. { { 0xf8c1ff18e4bcf6b1L,0x856d6285295018faL,0x433f665c3263c949L,
  30157. 0xa6a76dd6a1f21409L },
  30158. { 0x17d32334cc7b4f79L,0xa1d0312206720e4aL,0xadb6661d81d9bed5L,
  30159. 0xf0d6fb0211db15d1L } },
  30160. /* 34 << 84 */
  30161. { { 0x7fd11ad51fb747d2L,0xab50f9593033762bL,0x2a7e711bfbefaf5aL,
  30162. 0xc73932783fef2bbfL },
  30163. { 0xe29fa2440df6f9beL,0x9092757b71efd215L,0xee60e3114f3d6fd9L,
  30164. 0x338542d40acfb78bL } },
  30165. /* 35 << 84 */
  30166. { { 0x44a23f0838961a0fL,0x1426eade986987caL,0x36e6ee2e4a863cc6L,
  30167. 0x48059420628b8b79L },
  30168. { 0x30303ad87396e1deL,0x5c8bdc4838c5aad1L,0x3e40e11f5c8f5066L,
  30169. 0xabd6e7688d246bbdL } },
  30170. /* 36 << 84 */
  30171. { { 0x68aa40bb23330a01L,0xd23f5ee4c34eafa0L,0x3bbee3155de02c21L,
  30172. 0x18dd4397d1d8dd06L },
  30173. { 0x3ba1939a122d7b44L,0xe6d3b40aa33870d6L,0x8e620f701c4fe3f8L,
  30174. 0xf6bba1a5d3a50cbfL } },
  30175. /* 37 << 84 */
  30176. { { 0x4a78bde5cfc0aee0L,0x847edc46c08c50bdL,0xbaa2439cad63c9b2L,
  30177. 0xceb4a72810fc2acbL },
  30178. { 0xa419e40e26da033dL,0x6cc3889d03e02683L,0x1cd28559fdccf725L,
  30179. 0x0fd7e0f18d13d208L } },
  30180. /* 38 << 84 */
  30181. { { 0x01b9733b1f0df9d4L,0x8cc2c5f3a2b5e4f3L,0x43053bfa3a304fd4L,
  30182. 0x8e87665c0a9f1aa7L },
  30183. { 0x087f29ecd73dc965L,0x15ace4553e9023dbL,0x2370e3092bce28b4L,
  30184. 0xf9723442b6b1e84aL } },
  30185. /* 39 << 84 */
  30186. { { 0xbeee662eb72d9f26L,0xb19396def0e47109L,0x85b1fa73e13289d0L,
  30187. 0x436cf77e54e58e32L },
  30188. { 0x0ec833b3e990ef77L,0x7373e3ed1b11fc25L,0xbe0eda870fc332ceL,
  30189. 0xced049708d7ea856L } },
  30190. /* 40 << 84 */
  30191. { { 0xf85ff7857e977ca0L,0xb66ee8dadfdd5d2bL,0xf5e37950905af461L,
  30192. 0x587b9090966d487cL },
  30193. { 0x6a198a1b32ba0127L,0xa7720e07141615acL,0xa23f3499996ef2f2L,
  30194. 0xef5f64b4470bcb3dL } },
  30195. /* 41 << 84 */
  30196. { { 0xa526a96292b8c559L,0x0c14aac069740a0fL,0x0d41a9e3a6bdc0a5L,
  30197. 0x97d521069c48aef4L },
  30198. { 0xcf16bd303e7c253bL,0xcc834b1a47fdedc1L,0x7362c6e5373aab2eL,
  30199. 0x264ed85ec5f590ffL } },
  30200. /* 42 << 84 */
  30201. { { 0x7a46d9c066d41870L,0xa50c20b14787ba09L,0x185e7e51e3d44635L,
  30202. 0xb3b3e08031e2d8dcL },
  30203. { 0xbed1e558a179e9d9L,0x2daa3f7974a76781L,0x4372baf23a40864fL,
  30204. 0x46900c544fe75cb5L } },
  30205. /* 43 << 84 */
  30206. { { 0xb95f171ef76765d0L,0x4ad726d295c87502L,0x2ec769da4d7c99bdL,
  30207. 0x5e2ddd19c36cdfa8L },
  30208. { 0xc22117fca93e6deaL,0xe8a2583b93771123L,0xbe2f6089fa08a3a2L,
  30209. 0x4809d5ed8f0e1112L } },
  30210. /* 44 << 84 */
  30211. { { 0x3b414aa3da7a095eL,0x9049acf126f5aaddL,0x78d46a4d6be8b84aL,
  30212. 0xd66b1963b732b9b3L },
  30213. { 0x5c2ac2a0de6e9555L,0xcf52d098b5bd8770L,0x15a15fa60fd28921L,
  30214. 0x56ccb81e8b27536dL } },
  30215. /* 45 << 84 */
  30216. { { 0x0f0d8ab89f4ccbb8L,0xed5f44d2db221729L,0x4314198800bed10cL,
  30217. 0xc94348a41d735b8bL },
  30218. { 0x79f3e9c429ef8479L,0x4c13a4e3614c693fL,0x32c9af568e143a14L,
  30219. 0xbc517799e29ac5c4L } },
  30220. /* 46 << 84 */
  30221. { { 0x05e179922774856fL,0x6e52fb056c1bf55fL,0xaeda4225e4f19e16L,
  30222. 0x70f4728aaf5ccb26L },
  30223. { 0x5d2118d1b2947f22L,0xc827ea16281d6fb9L,0x8412328d8cf0eabdL,
  30224. 0x45ee9fb203ef9dcfL } },
  30225. /* 47 << 84 */
  30226. { { 0x8e700421bb937d63L,0xdf8ff2d5cc4b37a6L,0xa4c0d5b25ced7b68L,
  30227. 0x6537c1efc7308f59L },
  30228. { 0x25ce6a263b37f8e8L,0x170e9a9bdeebc6ceL,0xdd0379528728d72cL,
  30229. 0x445b0e55850154bcL } },
  30230. /* 48 << 84 */
  30231. { { 0x4b7d0e0683a7337bL,0x1e3416d4ffecf249L,0x24840eff66a2b71fL,
  30232. 0xd0d9a50ab37cc26dL },
  30233. { 0xe21981506fe28ef7L,0x3cc5ef1623324c7fL,0x220f3455769b5263L,
  30234. 0xe2ade2f1a10bf475L } },
  30235. /* 49 << 84 */
  30236. { { 0x28cd20fa458d3671L,0x1549722c2dc4847bL,0x6dd01e55591941e3L,
  30237. 0x0e6fbcea27128ccbL },
  30238. { 0xae1a1e6b3bef0262L,0xfa8c472c8f54e103L,0x7539c0a872c052ecL,
  30239. 0xd7b273695a3490e9L } },
  30240. /* 50 << 84 */
  30241. { { 0x143fe1f171684349L,0x36b4722e32e19b97L,0xdc05922790980affL,
  30242. 0x175c9c889e13d674L },
  30243. { 0xa7de5b226e6bfdb1L,0x5ea5b7b2bedb4b46L,0xd5570191d34a6e44L,
  30244. 0xfcf60d2ea24ff7e6L } },
  30245. /* 51 << 84 */
  30246. { { 0x614a392d677819e1L,0x7be74c7eaa5a29e8L,0xab50fece63c85f3fL,
  30247. 0xaca2e2a946cab337L },
  30248. { 0x7f700388122a6fe3L,0xdb69f703882a04a8L,0x9a77935dcf7aed57L,
  30249. 0xdf16207c8d91c86fL } },
  30250. /* 52 << 84 */
  30251. { { 0x2fca49ab63ed9998L,0xa3125c44a77ddf96L,0x05dd8a8624344072L,
  30252. 0xa023dda2fec3fb56L },
  30253. { 0x421b41fc0c743032L,0x4f2120c15e438639L,0xfb7cae51c83c1b07L,
  30254. 0xb2370caacac2171aL } },
  30255. /* 53 << 84 */
  30256. { { 0x2eb2d9626cc820fbL,0x59feee5cb85a44bfL,0x94620fca5b6598f0L,
  30257. 0x6b922cae7e314051L },
  30258. { 0xff8745ad106bed4eL,0x546e71f5dfa1e9abL,0x935c1e481ec29487L,
  30259. 0x9509216c4d936530L } },
  30260. /* 54 << 84 */
  30261. { { 0xc7ca306785c9a2dbL,0xd6ae51526be8606fL,0x09dbcae6e14c651dL,
  30262. 0xc9536e239bc32f96L },
  30263. { 0xa90535a934521b03L,0xf39c526c878756ffL,0x383172ec8aedf03cL,
  30264. 0x20a8075eefe0c034L } },
  30265. /* 55 << 84 */
  30266. { { 0xf22f9c6264026422L,0x8dd1078024b9d076L,0x944c742a3bef2950L,
  30267. 0x55b9502e88a2b00bL },
  30268. { 0xa59e14b486a09817L,0xa39dd3ac47bb4071L,0x55137f663be0592fL,
  30269. 0x07fcafd4c9e63f5bL } },
  30270. /* 56 << 84 */
  30271. { { 0x963652ee346eb226L,0x7dfab085ec2facb7L,0x273bf2b8691add26L,
  30272. 0x30d74540f2b46c44L },
  30273. { 0x05e8e73ef2c2d065L,0xff9b8a00d42eeac9L,0x2fcbd20597209d22L,
  30274. 0xeb740ffade14ea2cL } },
  30275. /* 57 << 84 */
  30276. { { 0xc71ff913a8aef518L,0x7bfc74bbfff4cfa2L,0x1716680cb6b36048L,
  30277. 0x121b2cce9ef79af1L },
  30278. { 0xbff3c836a01eb3d3L,0x50eb1c6a5f79077bL,0xa48c32d6a004bbcfL,
  30279. 0x47a593167d64f61dL } },
  30280. /* 58 << 84 */
  30281. { { 0x6068147f93102016L,0x12c5f65494d12576L,0xefb071a7c9bc6b91L,
  30282. 0x7c2da0c56e23ea95L },
  30283. { 0xf4fd45b6d4a1dd5dL,0x3e7ad9b69122b13cL,0x342ca118e6f57a48L,
  30284. 0x1c2e94a706f8288fL } },
  30285. /* 59 << 84 */
  30286. { { 0x99e68f075a97d231L,0x7c80de974d838758L,0xbce0f5d005872727L,
  30287. 0xbe5d95c219c4d016L },
  30288. { 0x921d5cb19c2492eeL,0x42192dc1404d6fb3L,0x4c84dcd132f988d3L,
  30289. 0xde26d61fa17b8e85L } },
  30290. /* 60 << 84 */
  30291. { { 0xc466dcb6137c7408L,0x9a38d7b636a266daL,0x7ef5cb0683bebf1bL,
  30292. 0xe5cdcbbf0fd014e3L },
  30293. { 0x30aa376df65965a0L,0x60fe88c2ebb3e95eL,0x33fd0b6166ee6f20L,
  30294. 0x8827dcdb3f41f0a0L } },
  30295. /* 61 << 84 */
  30296. { { 0xbf8a9d240c56c690L,0x40265dadddb7641dL,0x522b05bf3a6b662bL,
  30297. 0x466d1dfeb1478c9bL },
  30298. { 0xaa6169621484469bL,0x0db6054902df8f9fL,0xc37bca023cb8bf51L,
  30299. 0x5effe34621371ce8L } },
  30300. /* 62 << 84 */
  30301. { { 0xe8f65264ff112c32L,0x8a9c736d7b971fb2L,0xa4f194707b75080dL,
  30302. 0xfc3f2c5a8839c59bL },
  30303. { 0x1d6c777e5aeb49c2L,0xf3db034dda1addfeL,0xd76fee5a5535affcL,
  30304. 0x0853ac70b92251fdL } },
  30305. /* 63 << 84 */
  30306. { { 0x37e3d5948b2a29d5L,0x28f1f4574de00ddbL,0x8083c1b5f42c328bL,
  30307. 0xd8ef1d8fe493c73bL },
  30308. { 0x96fb626041dc61bdL,0xf74e8a9d27ee2f8aL,0x7c605a802c946a5dL,
  30309. 0xeed48d653839ccfdL } },
  30310. /* 64 << 84 */
  30311. { { 0x9894344f3a29467aL,0xde81e949c51eba6dL,0xdaea066ba5e5c2f2L,
  30312. 0x3fc8a61408c8c7b3L },
  30313. { 0x7adff88f06d0de9fL,0xbbc11cf53b75ce0aL,0x9fbb7accfbbc87d5L,
  30314. 0xa1458e267badfde2L } },
  30315. /* 0 << 91 */
  30316. { { 0x00, 0x00, 0x00, 0x00 },
  30317. { 0x00, 0x00, 0x00, 0x00 } },
  30318. /* 1 << 91 */
  30319. { { 0x1cb43668e039c256L,0x5f26fb8b7c17fd5dL,0xeee426af79aa062bL,
  30320. 0x072002d0d78fbf04L },
  30321. { 0x4c9ca237e84fb7e3L,0xb401d8a10c82133dL,0xaaa525926d7e4181L,
  30322. 0xe943083373dbb152L } },
  30323. /* 2 << 91 */
  30324. { { 0xf92dda31be24319aL,0x03f7d28be095a8e7L,0xa52fe84098782185L,
  30325. 0x276ddafe29c24dbcL },
  30326. { 0x80cd54961d7a64ebL,0xe43608897f1dbe42L,0x2f81a8778438d2d5L,
  30327. 0x7e4d52a885169036L } },
  30328. /* 3 << 91 */
  30329. { { 0x19e3d5b11d59715dL,0xc7eaa762d788983eL,0xe5a730b0abf1f248L,
  30330. 0xfbab8084fae3fd83L },
  30331. { 0x65e50d2153765b2fL,0xbdd4e083fa127f3dL,0x9cf3c074397b1b10L,
  30332. 0x59f8090cb1b59fd3L } },
  30333. /* 4 << 91 */
  30334. { { 0x7b15fd9d615faa8fL,0x8fa1eb40968554edL,0x7bb4447e7aa44882L,
  30335. 0x2bb2d0d1029fff32L },
  30336. { 0x075e2a646caa6d2fL,0x8eb879de22e7351bL,0xbcd5624e9a506c62L,
  30337. 0x218eaef0a87e24dcL } },
  30338. /* 5 << 91 */
  30339. { { 0x37e5684744ddfa35L,0x9ccfc5c5dab3f747L,0x9ac1df3f1ee96cf4L,
  30340. 0x0c0571a13b480b8fL },
  30341. { 0x2fbeb3d54b3a7b3cL,0x35c036695dcdbb99L,0x52a0f5dcb2415b3aL,
  30342. 0xd57759b44413ed9aL } },
  30343. /* 6 << 91 */
  30344. { { 0x1fe647d83d30a2c5L,0x0857f77ef78a81dcL,0x11d5a334131a4a9bL,
  30345. 0xc0a94af929d393f5L },
  30346. { 0xbc3a5c0bdaa6ec1aL,0xba9fe49388d2d7edL,0xbb4335b4bb614797L,
  30347. 0x991c4d6872f83533L } },
  30348. /* 7 << 91 */
  30349. { { 0x53258c28d2f01cb3L,0x93d6eaa3d75db0b1L,0x419a2b0de87d0db4L,
  30350. 0xa1e48f03d8fe8493L },
  30351. { 0xf747faf6c508b23aL,0xf137571a35d53549L,0x9f5e58e2fcf9b838L,
  30352. 0xc7186ceea7fd3cf5L } },
  30353. /* 8 << 91 */
  30354. { { 0x77b868cee978a1d3L,0xe3a68b337ab92d04L,0x5102979487a5b862L,
  30355. 0x5f0606c33a61d41dL },
  30356. { 0x2814be276f9326f1L,0x2f521c14c6fe3c2eL,0x17464d7dacdf7351L,
  30357. 0x10f5f9d3777f7e44L } },
  30358. /* 9 << 91 */
  30359. { { 0xce8e616b269fb37dL,0xaaf738047de62de5L,0xaba111754fdd4153L,
  30360. 0x515759ba3770b49bL },
  30361. { 0x8b09ebf8aa423a61L,0x592245a1cd41fb92L,0x1cba8ec19b4c8936L,
  30362. 0xa87e91e3af36710eL } },
  30363. /* 10 << 91 */
  30364. { { 0x1fd84ce43d34a2e3L,0xee3759ceb43b5d61L,0x895bc78c619186c7L,
  30365. 0xf19c3809cbb9725aL },
  30366. { 0xc0be21aade744b1fL,0xa7d222b060f8056bL,0x74be6157b23efe11L,
  30367. 0x6fab2b4f0cd68253L } },
  30368. /* 11 << 91 */
  30369. { { 0xad33ea5f4bf1d725L,0x9c1d8ee24f6c950fL,0x544ee78aa377af06L,
  30370. 0x54f489bb94a113e1L },
  30371. { 0x8f11d634992fb7e8L,0x0169a7aaa2a44347L,0x1d49d4af95020e00L,
  30372. 0x95945722e08e120bL } },
  30373. /* 12 << 91 */
  30374. { { 0xb6e33878a4d32282L,0xe36e029d48020ae7L,0xe05847fb37a9b750L,
  30375. 0xf876812cb29e3819L },
  30376. { 0x84ad138ed23a17f0L,0x6d7b4480f0b3950eL,0xdfa8aef42fd67ae0L,
  30377. 0x8d3eea2452333af6L } },
  30378. /* 13 << 91 */
  30379. { { 0x0d052075b15d5accL,0xc6d9c79fbd815bc4L,0x8dcafd88dfa36cf2L,
  30380. 0x908ccbe238aa9070L },
  30381. { 0x638722c4ba35afceL,0x5a3da8b0fd6abf0bL,0x2dce252cc9c335c1L,
  30382. 0x84e7f0de65aa799bL } },
  30383. /* 14 << 91 */
  30384. { { 0x2101a522b99a72cbL,0x06de6e6787618016L,0x5ff8c7cde6f3653eL,
  30385. 0x0a821ab5c7a6754aL },
  30386. { 0x7e3fa52b7cb0b5a2L,0xa7fb121cc9048790L,0x1a72502006ce053aL,
  30387. 0xb490a31f04e929b0L } },
  30388. /* 15 << 91 */
  30389. { { 0xe17be47d62dd61adL,0x781a961c6be01371L,0x1063bfd3dae3cbbaL,
  30390. 0x356474067f73c9baL },
  30391. { 0xf50e957b2736a129L,0xa6313702ed13f256L,0x9436ee653a19fcc5L,
  30392. 0xcf2bdb29e7a4c8b6L } },
  30393. /* 16 << 91 */
  30394. { { 0xb06b1244c5f95cd8L,0xda8c8af0f4ab95f4L,0x1bae59c2b9e5836dL,
  30395. 0x07d51e7e3acffffcL },
  30396. { 0x01e15e6ac2ccbcdaL,0x3bc1923f8528c3e0L,0x43324577a49fead4L,
  30397. 0x61a1b8842aa7a711L } },
  30398. /* 17 << 91 */
  30399. { { 0xf9a86e08700230efL,0x0af585a1bd19adf8L,0x7645f361f55ad8f2L,
  30400. 0x6e67622346c3614cL },
  30401. { 0x23cb257c4e774d3fL,0x82a38513ac102d1bL,0x9bcddd887b126aa5L,
  30402. 0xe716998beefd3ee4L } },
  30403. /* 18 << 91 */
  30404. { { 0x4239d571fb167583L,0xdd011c78d16c8f8aL,0x271c289569a27519L,
  30405. 0x9ce0a3b7d2d64b6aL },
  30406. { 0x8c977289d5ec6738L,0xa3b49f9a8840ef6bL,0x808c14c99a453419L,
  30407. 0x5c00295b0cf0a2d5L } },
  30408. /* 19 << 91 */
  30409. { { 0x524414fb1d4bcc76L,0xb07691d2459a88f1L,0x77f43263f70d110fL,
  30410. 0x64ada5e0b7abf9f3L },
  30411. { 0xafd0f94e5b544cf5L,0xb4a13a15fd2713feL,0xb99b7d6e250c74f4L,
  30412. 0x097f2f7320324e45L } },
  30413. /* 20 << 91 */
  30414. { { 0x994b37d8affa8208L,0xc3c31b0bdc29aafcL,0x3da746517a3a607fL,
  30415. 0xd8e1b8c1fe6955d6L },
  30416. { 0x716e1815c8418682L,0x541d487f7dc91d97L,0x48a04669c6996982L,
  30417. 0xf39cab1583a6502eL } },
  30418. /* 21 << 91 */
  30419. { { 0x025801a0e68db055L,0xf3569758ba3338d5L,0xb0c8c0aaee2afa84L,
  30420. 0x4f6985d3fb6562d1L },
  30421. { 0x351f1f15132ed17aL,0x510ed0b4c04365feL,0xa3f98138e5b1f066L,
  30422. 0xbc9d95d632df03dcL } },
  30423. /* 22 << 91 */
  30424. { { 0xa83ccf6e19abd09eL,0x0b4097c14ff17edbL,0x58a5c478d64a06ceL,
  30425. 0x2ddcc3fd544a58fdL },
  30426. { 0xd449503d9e8153b8L,0x3324fd027774179bL,0xaf5d47c8dbd9120cL,
  30427. 0xeb86016234fa94dbL } },
  30428. /* 23 << 91 */
  30429. { { 0x5817bdd1972f07f4L,0xe5579e2ed27bbcebL,0x86847a1f5f11e5a6L,
  30430. 0xb39ed2557c3cf048L },
  30431. { 0xe1076417a2f62e55L,0x6b9ab38f1bcf82a2L,0x4bb7c3197aeb29f9L,
  30432. 0xf6d17da317227a46L } },
  30433. /* 24 << 91 */
  30434. { { 0xab53ddbd0f968c00L,0xa03da7ec000c880bL,0x7b2396246a9ad24dL,
  30435. 0x612c040101ec60d0L },
  30436. { 0x70d10493109f5df1L,0xfbda403080af7550L,0x30b93f95c6b9a9b3L,
  30437. 0x0c74ec71007d9418L } },
  30438. /* 25 << 91 */
  30439. { { 0x941755646edb951fL,0x5f4a9d787f22c282L,0xb7870895b38d1196L,
  30440. 0xbc593df3a228ce7cL },
  30441. { 0xc78c5bd46af3641aL,0x7802200b3d9b3dccL,0x0dc73f328be33304L,
  30442. 0x847ed87d61ffb79aL } },
  30443. /* 26 << 91 */
  30444. { { 0xf85c974e6d671192L,0x1e14100ade16f60fL,0x45cb0d5a95c38797L,
  30445. 0x18923bba9b022da4L },
  30446. { 0xef2be899bbe7e86eL,0x4a1510ee216067bfL,0xd98c815484d5ce3eL,
  30447. 0x1af777f0f92a2b90L } },
  30448. /* 27 << 91 */
  30449. { { 0x9fbcb4004ef65724L,0x3e04a4c93c0ca6feL,0xfb3e2cb555002994L,
  30450. 0x1f3a93c55363ecabL },
  30451. { 0x1fe00efe3923555bL,0x744bedd91e1751eaL,0x3fb2db596ab69357L,
  30452. 0x8dbd7365f5e6618bL } },
  30453. /* 28 << 91 */
  30454. { { 0x99d53099df1ea40eL,0xb3f24a0b57d61e64L,0xd088a198596eb812L,
  30455. 0x22c8361b5762940bL },
  30456. { 0x66f01f97f9c0d95cL,0x884611728e43cdaeL,0x11599a7fb72b15c3L,
  30457. 0x135a7536420d95ccL } },
  30458. /* 29 << 91 */
  30459. { { 0x2dcdf0f75f7ae2f6L,0x15fc6e1dd7fa6da2L,0x81ca829ad1d441b6L,
  30460. 0x84c10cf804a106b6L },
  30461. { 0xa9b26c95a73fbbd0L,0x7f24e0cb4d8f6ee8L,0x48b459371e25a043L,
  30462. 0xf8a74fca036f3dfeL } },
  30463. /* 30 << 91 */
  30464. { { 0x1ed46585c9f84296L,0x7fbaa8fb3bc278b0L,0xa8e96cd46c4fcbd0L,
  30465. 0x940a120273b60a5fL },
  30466. { 0x34aae12055a4aec8L,0x550e9a74dbd742f0L,0x794456d7228c68abL,
  30467. 0x492f8868a4e25ec6L } },
  30468. /* 31 << 91 */
  30469. { { 0x682915adb2d8f398L,0xf13b51cc5b84c953L,0xcda90ab85bb917d6L,
  30470. 0x4b6155604ea3dee1L },
  30471. { 0x578b4e850a52c1c8L,0xeab1a69520b75fc4L,0x60c14f3caa0bb3c6L,
  30472. 0x220f448ab8216094L } },
  30473. /* 32 << 91 */
  30474. { { 0x4fe7ee31b0e63d34L,0xf4600572a9e54fabL,0xc0493334d5e7b5a4L,
  30475. 0x8589fb9206d54831L },
  30476. { 0xaa70f5cc6583553aL,0x0879094ae25649e5L,0xcc90450710044652L,
  30477. 0xebb0696d02541c4fL } },
  30478. /* 33 << 91 */
  30479. { { 0x5a171fdeb9718710L,0x38f1bed8f374a9f5L,0xc8c582e1ba39bdc1L,
  30480. 0xfc457b0a908cc0ceL },
  30481. { 0x9a187fd4883841e2L,0x8ec25b3938725381L,0x2553ed0596f84395L,
  30482. 0x095c76616f6c6897L } },
  30483. /* 34 << 91 */
  30484. { { 0x917ac85c4bdc5610L,0xb2885fe4179eb301L,0x5fc655478b78bdccL,
  30485. 0x4a9fc893e59e4699L },
  30486. { 0xbb7ff0cd3ce299afL,0x195be9b3adf38b20L,0x6a929c87d38ddb8fL,
  30487. 0x55fcc99cb21a51b9L } },
  30488. /* 35 << 91 */
  30489. { { 0x2b695b4c721a4593L,0xed1e9a15768eaac2L,0xfb63d71c7489f914L,
  30490. 0xf98ba31c78118910L },
  30491. { 0x802913739b128eb4L,0x7801214ed448af4aL,0xdbd2e22b55418dd3L,
  30492. 0xeffb3c0dd3998242L } },
  30493. /* 36 << 91 */
  30494. { { 0xdfa6077cc7bf3827L,0xf2165bcb47f8238fL,0xfe37cf688564d554L,
  30495. 0xe5f825c40a81fb98L },
  30496. { 0x43cc4f67ffed4d6fL,0xbc609578b50a34b0L,0x8aa8fcf95041faf1L,
  30497. 0x5659f053651773b6L } },
  30498. /* 37 << 91 */
  30499. { { 0xe87582c36044d63bL,0xa60894090cdb0ca0L,0x8c993e0fbfb2bcf6L,
  30500. 0xfc64a71945985cfcL },
  30501. { 0x15c4da8083dbedbaL,0x804ae1122be67df7L,0xda4c9658a23defdeL,
  30502. 0x12002ddd5156e0d3L } },
  30503. /* 38 << 91 */
  30504. { { 0xe68eae895dd21b96L,0x8b99f28bcf44624dL,0x0ae008081ec8897aL,
  30505. 0xdd0a93036712f76eL },
  30506. { 0x962375224e233de4L,0x192445b12b36a8a5L,0xabf9ff74023993d9L,
  30507. 0x21f37bf42aad4a8fL } },
  30508. /* 39 << 91 */
  30509. { { 0x340a4349f8bd2bbdL,0x1d902cd94868195dL,0x3d27bbf1e5fdb6f1L,
  30510. 0x7a5ab088124f9f1cL },
  30511. { 0xc466ab06f7a09e03L,0x2f8a197731f2c123L,0xda355dc7041b6657L,
  30512. 0xcb840d128ece2a7cL } },
  30513. /* 40 << 91 */
  30514. { { 0xb600ad9f7db32675L,0x78fea13307a06f1bL,0x5d032269b31f6094L,
  30515. 0x07753ef583ec37aaL },
  30516. { 0x03485aed9c0bea78L,0x41bb3989bc3f4524L,0x09403761697f726dL,
  30517. 0x6109beb3df394820L } },
  30518. /* 41 << 91 */
  30519. { { 0x804111ea3b6d1145L,0xb6271ea9a8582654L,0x619615e624e66562L,
  30520. 0xa2554945d7b6ad9cL },
  30521. { 0xd9c4985e99bfe35fL,0x9770ccc07b51cdf6L,0x7c32701392881832L,
  30522. 0x8777d45f286b26d1L } },
  30523. /* 42 << 91 */
  30524. { { 0x9bbeda22d847999dL,0x03aa33b6c3525d32L,0x4b7b96d428a959a1L,
  30525. 0xbb3786e531e5d234L },
  30526. { 0xaeb5d3ce6961f247L,0x20aa85af02f93d3fL,0x9cd1ad3dd7a7ae4fL,
  30527. 0xbf6688f0781adaa8L } },
  30528. /* 43 << 91 */
  30529. { { 0xb1b40e867469ceadL,0x1904c524309fca48L,0x9b7312af4b54bbc7L,
  30530. 0xbe24bf8f593affa2L },
  30531. { 0xbe5e0790bd98764bL,0xa0f45f17a26e299eL,0x4af0d2c26b8fe4c7L,
  30532. 0xef170db18ae8a3e6L } },
  30533. /* 44 << 91 */
  30534. { { 0x0e8d61a029e0ccc1L,0xcd53e87e60ad36caL,0x328c6623c8173822L,
  30535. 0x7ee1767da496be55L },
  30536. { 0x89f13259648945afL,0x9e45a5fd25c8009cL,0xaf2febd91f61ab8cL,
  30537. 0x43f6bc868a275385L } },
  30538. /* 45 << 91 */
  30539. { { 0x87792348f2142e79L,0x17d89259c6e6238aL,0x7536d2f64a839d9bL,
  30540. 0x1f428fce76a1fbdcL },
  30541. { 0x1c1096010db06dfeL,0xbfc16bc150a3a3ccL,0xf9cbd9ec9b30f41bL,
  30542. 0x5b5da0d600138cceL } },
  30543. /* 46 << 91 */
  30544. { { 0xec1d0a4856ef96a7L,0xb47eb848982bf842L,0x66deae32ec3f700dL,
  30545. 0x4e43c42caa1181e0L },
  30546. { 0xa1d72a31d1a4aa2aL,0x440d4668c004f3ceL,0x0d6a2d3b45fe8a7aL,
  30547. 0x820e52e2fb128365L } },
  30548. /* 47 << 91 */
  30549. { { 0x29ac5fcf25e51b09L,0x180cd2bf2023d159L,0xa9892171a1ebf90eL,
  30550. 0xf97c4c877c132181L },
  30551. { 0x9f1dc724c03dbb7eL,0xae043765018cbbe4L,0xfb0b2a360767d153L,
  30552. 0xa8e2f4d6249cbaebL } },
  30553. /* 48 << 91 */
  30554. { { 0x172a5247d95ea168L,0x1758fada2970764aL,0xac803a511d978169L,
  30555. 0x299cfe2ede77e01bL },
  30556. { 0x652a1e17b0a98927L,0x2e26e1d120014495L,0x7ae0af9f7175b56aL,
  30557. 0xc2e22a80d64b9f95L } },
  30558. /* 49 << 91 */
  30559. { { 0x4d0ff9fbd90a060aL,0x496a27dbbaf38085L,0x32305401da776bcfL,
  30560. 0xb8cdcef6725f209eL },
  30561. { 0x61ba0f37436a0bbaL,0x263fa10876860049L,0x92beb98eda3542cfL,
  30562. 0xa2d4d14ad5849538L } },
  30563. /* 50 << 91 */
  30564. { { 0x989b9d6812e9a1bcL,0x61d9075c5f6e3268L,0x352c6aa999ace638L,
  30565. 0xde4e4a55920f43ffL },
  30566. { 0xe5e4144ad673c017L,0x667417ae6f6e05eaL,0x613416aedcd1bd56L,
  30567. 0x5eb3620186693711L } },
  30568. /* 51 << 91 */
  30569. { { 0x2d7bc5043a1aa914L,0x175a129976dc5975L,0xe900e0f23fc8125cL,
  30570. 0x569ef68c11198875L },
  30571. { 0x9012db6363a113b4L,0xe3bd3f5698835766L,0xa5c94a5276412deaL,
  30572. 0xad9e2a09aa735e5cL } },
  30573. /* 52 << 91 */
  30574. { { 0x405a984c508b65e9L,0xbde4a1d16df1a0d1L,0x1a9433a1dfba80daL,
  30575. 0xe9192ff99440ad2eL },
  30576. { 0x9f6496965099fe92L,0x25ddb65c0b27a54aL,0x178279ddc590da61L,
  30577. 0x5479a999fbde681aL } },
  30578. /* 53 << 91 */
  30579. { { 0xd0e84e05013fe162L,0xbe11dc92632d471bL,0xdf0b0c45fc0e089fL,
  30580. 0x04fb15b04c144025L },
  30581. { 0xa61d5fc213c99927L,0xa033e9e03de2eb35L,0xf8185d5cb8dacbb4L,
  30582. 0x9a88e2658644549dL } },
  30583. /* 54 << 91 */
  30584. { { 0xf717af6254671ff6L,0x4bd4241b5fa58603L,0x06fba40be67773c0L,
  30585. 0xc1d933d26a2847e9L },
  30586. { 0xf4f5acf3689e2c70L,0x92aab0e746bafd31L,0x798d76aa3473f6e5L,
  30587. 0xcc6641db93141934L } },
  30588. /* 55 << 91 */
  30589. { { 0xcae27757d31e535eL,0x04cc43b687c2ee11L,0x8d1f96752e029ffaL,
  30590. 0xc2150672e4cc7a2cL },
  30591. { 0x3b03c1e08d68b013L,0xa9d6816fedf298f3L,0x1bfbb529a2804464L,
  30592. 0x95a52fae5db22125L } },
  30593. /* 56 << 91 */
  30594. { { 0x55b321600e1cb64eL,0x004828f67e7fc9feL,0x13394b821bb0fb93L,
  30595. 0xb6293a2d35f1a920L },
  30596. { 0xde35ef21d145d2d9L,0xbe6225b3bb8fa603L,0x00fc8f6b32cf252dL,
  30597. 0xa28e52e6117cf8c2L } },
  30598. /* 57 << 91 */
  30599. { { 0x9d1dc89b4c371e6dL,0xcebe067536ef0f28L,0x5de05d09a4292f81L,
  30600. 0xa8303593353e3083L },
  30601. { 0xa1715b0a7e37a9bbL,0x8c56f61e2b8faec3L,0x5250743133c9b102L,
  30602. 0x0130cefca44431f0L } },
  30603. /* 58 << 91 */
  30604. { { 0x56039fa0bd865cfbL,0x4b03e578bc5f1dd7L,0x40edf2e4babe7224L,
  30605. 0xc752496d3a1988f6L },
  30606. { 0xd1572d3b564beb6bL,0x0db1d11039a1c608L,0x568d193416f60126L,
  30607. 0x05ae9668f354af33L } },
  30608. /* 59 << 91 */
  30609. { { 0x19de6d37c92544f2L,0xcc084353a35837d5L,0xcbb6869c1a514eceL,
  30610. 0xb633e7282e1d1066L },
  30611. { 0xf15dd69f936c581cL,0x96e7b8ce7439c4f9L,0x5e676f482e448a5bL,
  30612. 0xb2ca7d5bfd916bbbL } },
  30613. /* 60 << 91 */
  30614. { { 0xd55a2541f5024025L,0x47bc5769e4c2d937L,0x7d31b92a0362189fL,
  30615. 0x83f3086eef7816f9L },
  30616. { 0xf9f46d94b587579aL,0xec2d22d830e76c5fL,0x27d57461b000ffcfL,
  30617. 0xbb7e65f9364ffc2cL } },
  30618. /* 61 << 91 */
  30619. { { 0x7c7c94776652a220L,0x61618f89d696c981L,0x5021701d89effff3L,
  30620. 0xf2c8ff8e7c314163L },
  30621. { 0x2da413ad8efb4d3eL,0x937b5adfce176d95L,0x22867d342a67d51cL,
  30622. 0x262b9b1018eb3ac9L } },
  30623. /* 62 << 91 */
  30624. { { 0x4e314fe4c43ff28bL,0x764766276a664e7aL,0x3e90e40bb7a565c2L,
  30625. 0x8588993ac1acf831L },
  30626. { 0xd7b501d68f938829L,0x996627ee3edd7d4cL,0x37d44a6290cd34c7L,
  30627. 0xa8327499f3833e8dL } },
  30628. /* 63 << 91 */
  30629. { { 0x2e18917d4bf50353L,0x85dd726b556765fbL,0x54fe65d693d5ab66L,
  30630. 0x3ddbaced915c25feL },
  30631. { 0xa799d9a412f22e85L,0xe2a248676d06f6bcL,0xf4f1ee5643ca1637L,
  30632. 0xfda2828b61ece30aL } },
  30633. /* 64 << 91 */
  30634. { { 0x758c1a3ea2dee7a6L,0xdcde2f3c734b2284L,0xaba445d24eaba6adL,
  30635. 0x35aaf66876cee0a7L },
  30636. { 0x7e0b04a9e5aa049aL,0xe74083ad91103e84L,0xbeb183ce40afecc3L,
  30637. 0x6b89de9fea043f7aL } },
  30638. /* 0 << 98 */
  30639. { { 0x00, 0x00, 0x00, 0x00 },
  30640. { 0x00, 0x00, 0x00, 0x00 } },
  30641. /* 1 << 98 */
  30642. { { 0x0e299d23fe67ba66L,0x9145076093cf2f34L,0xf45b5ea997fcf913L,
  30643. 0x5be008438bd7dddaL },
  30644. { 0x358c3e05d53ff04dL,0xbf7ccdc35de91ef7L,0xad684dbfb69ec1a0L,
  30645. 0x367e7cf2801fd997L } },
  30646. /* 2 << 98 */
  30647. { { 0x0ca1f3b7b0dc8595L,0x27de46089f1d9f2eL,0x1af3bf39badd82a7L,
  30648. 0x79356a7965862448L },
  30649. { 0xc0602345f5f9a052L,0x1a8b0f89139a42f9L,0xb53eee42844d40fcL,
  30650. 0x93b0bfe54e5b6368L } },
  30651. /* 3 << 98 */
  30652. { { 0x5434dd02c024789cL,0x90dca9ea41b57bfcL,0x8aa898e2243398dfL,
  30653. 0xf607c834894a94bbL },
  30654. { 0xbb07be97c2c99b76L,0x6576ba6718c29302L,0x3d79efcce703a88cL,
  30655. 0xf259ced7b6a0d106L } },
  30656. /* 4 << 98 */
  30657. { { 0x0f893a5dc8de610bL,0xe8c515fb67e223ceL,0x7774bfa64ead6dc5L,
  30658. 0x89d20f95925c728fL },
  30659. { 0x7a1e0966098583ceL,0xa2eedb9493f2a7d7L,0x1b2820974c304d4aL,
  30660. 0x0842e3dac077282dL } },
  30661. /* 5 << 98 */
  30662. { { 0xe4d972a33b9e2d7bL,0x7cc60b27c48218ffL,0x8fc7083884149d91L,
  30663. 0x5c04346f2f461eccL },
  30664. { 0xebe9fdf2614650a9L,0x5e35b537c1f666acL,0x645613d188babc83L,
  30665. 0x88cace3ac5e1c93eL } },
  30666. /* 6 << 98 */
  30667. { { 0x209ca3753de92e23L,0xccb03cc85fbbb6e3L,0xccb90f03d7b1487eL,
  30668. 0xfa9c2a38c710941fL },
  30669. { 0x756c38236724ceedL,0x3a902258192d0323L,0xb150e519ea5e038eL,
  30670. 0xdcba2865c7427591L } },
  30671. /* 7 << 98 */
  30672. { { 0xe549237f78890732L,0xc443bef953fcb4d9L,0x9884d8a6eb3480d6L,
  30673. 0x8a35b6a13048b186L },
  30674. { 0xb4e4471665e9a90aL,0x45bf380d653006c0L,0x8f3f820d4fe9ae3bL,
  30675. 0x244a35a0979a3b71L } },
  30676. /* 8 << 98 */
  30677. { { 0xa1010e9d74cd06ffL,0x9c17c7dfaca3eeacL,0x74c86cd38063aa2bL,
  30678. 0x8595c4b3734614ffL },
  30679. { 0xa3de00ca990f62ccL,0xd9bed213ca0c3be5L,0x7886078adf8ce9f5L,
  30680. 0xddb27ce35cd44444L } },
  30681. /* 9 << 98 */
  30682. { { 0xed374a6658926dddL,0x138b2d49908015b8L,0x886c6579de1f7ab8L,
  30683. 0x888b9aa0c3020b7aL },
  30684. { 0xd3ec034e3a96e355L,0xba65b0b8f30fbe9aL,0x064c8e50ff21367aL,
  30685. 0x1f508ea40b04b46eL } },
  30686. /* 10 << 98 */
  30687. { { 0x98561a49747c866cL,0xbbb1e5fe0518a062L,0x20ff4e8becdc3608L,
  30688. 0x7f55cded20184027L },
  30689. { 0x8d73ec95f38c85f0L,0x5b589fdf8bc3b8c3L,0xbe95dd980f12b66fL,
  30690. 0xf5bd1a090e338e01L } },
  30691. /* 11 << 98 */
  30692. { { 0x65163ae55e915918L,0x6158d6d986f8a46bL,0x8466b538eeebf99cL,
  30693. 0xca8761f6bca477efL },
  30694. { 0xaf3449c29ebbc601L,0xef3b0f41e0c3ae2fL,0xaa6c577d5de63752L,
  30695. 0xe916660164682a51L } },
  30696. /* 12 << 98 */
  30697. { { 0x5a3097befc15aa1eL,0x40d12548b54b0745L,0x5bad4706519a5f12L,
  30698. 0xed03f717a439dee6L },
  30699. { 0x0794bb6c4a02c499L,0xf725083dcffe71d2L,0x2cad75190f3adcafL,
  30700. 0x7f68ea1c43729310L } },
  30701. /* 13 << 98 */
  30702. { { 0xe747c8c7b7ffd977L,0xec104c3580761a22L,0x8395ebaf5a3ffb83L,
  30703. 0xfb3261f4e4b63db7L },
  30704. { 0x53544960d883e544L,0x13520d708cc2eeb8L,0x08f6337bd3d65f99L,
  30705. 0x83997db2781cf95bL } },
  30706. /* 14 << 98 */
  30707. { { 0xce6ff1060dbd2c01L,0x4f8eea6b1f9ce934L,0x546f7c4b0e993921L,
  30708. 0x6236a3245e753fc7L },
  30709. { 0x65a41f84a16022e9L,0x0c18d87843d1dbb2L,0x73c556402d4cef9cL,
  30710. 0xa042810870444c74L } },
  30711. /* 15 << 98 */
  30712. { { 0x68e4f15e9afdfb3cL,0x49a561435bdfb6dfL,0xa9bc1bd45f823d97L,
  30713. 0xbceb5970ea111c2aL },
  30714. { 0x366b455fb269bbc4L,0x7cd85e1ee9bc5d62L,0xc743c41c4f18b086L,
  30715. 0xa4b4099095294fb9L } },
  30716. /* 16 << 98 */
  30717. { { 0x9c7c581d26ee8382L,0xcf17dcc5359d638eL,0xee8273abb728ae3dL,
  30718. 0x1d112926f821f047L },
  30719. { 0x1149847750491a74L,0x687fa761fde0dfb9L,0x2c2580227ea435abL,
  30720. 0x6b8bdb9491ce7e3fL } },
  30721. /* 17 << 98 */
  30722. { { 0x4c5b5dc93bf834aaL,0x043718194f6c7e4bL,0xc284e00a3736bcadL,
  30723. 0x0d88111821ae8f8dL },
  30724. { 0xf9cf0f82f48c8e33L,0xa11fd075a1bf40dbL,0xdceab0dedc2733e5L,
  30725. 0xc560a8b58e986bd7L } },
  30726. /* 18 << 98 */
  30727. { { 0x48dd1fe23929d097L,0x3885b29092f188f1L,0x0f2ae613da6fcdacL,
  30728. 0x9054303eb662a46cL },
  30729. { 0xb6871e440738042aL,0x98e6a977bdaf6449L,0xd8bc0650d1c9df1bL,
  30730. 0xef3d645136e098f9L } },
  30731. /* 19 << 98 */
  30732. { { 0x03fbae82b6d72d28L,0x77ca9db1f5d84080L,0x8a112cffa58efc1cL,
  30733. 0x518d761cc564cb4aL },
  30734. { 0x69b5740ef0d1b5ceL,0x717039cce9eb1785L,0x3fe29f9022f53382L,
  30735. 0x8e54ba566bc7c95cL } },
  30736. /* 20 << 98 */
  30737. { { 0x9c806d8af7f91d0fL,0x3b61b0f1a82a5728L,0x4640032d94d76754L,
  30738. 0x273eb5de47d834c6L },
  30739. { 0x2988abf77b4e4d53L,0xb7ce66bfde401777L,0x9fba6b32715071b3L,
  30740. 0x82413c24ad3a1a98L } },
  30741. /* 21 << 98 */
  30742. { { 0x5b7fc8c4e0e8ad93L,0xb5679aee5fab868dL,0xb1f9d2fa2b3946f3L,
  30743. 0x458897dc5685b50aL },
  30744. { 0x1e98c93089d0caf3L,0x39564c5f78642e92L,0x1b77729a0dbdaf18L,
  30745. 0xf9170722579e82e6L } },
  30746. /* 22 << 98 */
  30747. { { 0x680c0317e4515fa5L,0xf85cff84fb0c790fL,0xc7a82aab6d2e0765L,
  30748. 0x7446bca935c82b32L },
  30749. { 0x5de607aa6d63184fL,0x7c1a46a8262803a6L,0xd218313daebe8035L,
  30750. 0x92113ffdc73c51f8L } },
  30751. /* 23 << 98 */
  30752. { { 0x4b38e08312e7e46cL,0x69d0a37a56126bd5L,0xfb3f324b73c07e04L,
  30753. 0xa0c22f678fda7267L },
  30754. { 0x8f2c00514d2c7d8fL,0xbc45ced3cbe2cae5L,0xe1c6cf07a8f0f277L,
  30755. 0xbc3923121eb99a98L } },
  30756. /* 24 << 98 */
  30757. { { 0x75537b7e3cc8ac85L,0x8d725f57dd02753bL,0xfd05ff64b737df2fL,
  30758. 0x55fe8712f6d2531dL },
  30759. { 0x57ce04a96ab6b01cL,0x69a02a897cd93724L,0x4f82ac35cf86699bL,
  30760. 0x8242d3ad9cb4b232L } },
  30761. /* 25 << 98 */
  30762. { { 0x713d0f65d62105e5L,0xbb222bfa2d29be61L,0xf2f9a79e6cfbef09L,
  30763. 0xfc24d8d3d5d6782fL },
  30764. { 0x5db77085d4129967L,0xdb81c3ccdc3c2a43L,0x9d655fc005d8d9a3L,
  30765. 0x3f5d057a54298026L } },
  30766. /* 26 << 98 */
  30767. { { 0x1157f56d88c54694L,0xb26baba59b09573eL,0x2cab03b022adffd1L,
  30768. 0x60a412c8dd69f383L },
  30769. { 0xed76e98b54b25039L,0xd4ee67d3687e714dL,0x877396487b00b594L,
  30770. 0xce419775c9ef709bL } },
  30771. /* 27 << 98 */
  30772. { { 0x40f76f851c203a40L,0x30d352d6eafd8f91L,0xaf196d3d95578dd2L,
  30773. 0xea4bb3d777cc3f3dL },
  30774. { 0x42a5bd03b98e782bL,0xac958c400624920dL,0xb838134cfc56fcc8L,
  30775. 0x86ec4ccf89572e5eL } },
  30776. /* 28 << 98 */
  30777. { { 0x69c435269be47be0L,0x323b7dd8cb28fea1L,0xfa5538ba3a6c67e5L,
  30778. 0xef921d701d378e46L },
  30779. { 0xf92961fc3c4b880eL,0x3f6f914e98940a67L,0xa990eb0afef0ff39L,
  30780. 0xa6c2920ff0eeff9cL } },
  30781. /* 29 << 98 */
  30782. { { 0xca80416651b8d9a3L,0x42531bc90ffb0db1L,0x72ce4718aa82e7ceL,
  30783. 0x6e199913df574741L },
  30784. { 0xd5f1b13dd5d36946L,0x8255dc65f68f0194L,0xdc9df4cd8710d230L,
  30785. 0x3453c20f138c1988L } },
  30786. /* 30 << 98 */
  30787. { { 0x9af98dc089a6ef01L,0x4dbcc3f09857df85L,0x348056015c1ad924L,
  30788. 0x40448da5d0493046L },
  30789. { 0xf629926d4ee343e2L,0x6343f1bd90e8a301L,0xefc9349140815b3fL,
  30790. 0xf882a423de8f66fbL } },
  30791. /* 31 << 98 */
  30792. { { 0x3a12d5f4e7db9f57L,0x7dfba38a3c384c27L,0x7a904bfd6fc660b1L,
  30793. 0xeb6c5db32773b21cL },
  30794. { 0xc350ee661cdfe049L,0x9baac0ce44540f29L,0xbc57b6aba5ec6aadL,
  30795. 0x167ce8c30a7c1baaL } },
  30796. /* 32 << 98 */
  30797. { { 0xb23a03a553fb2b56L,0x6ce141e74e057f78L,0x796525c389e490d9L,
  30798. 0x0bc95725a31a7e75L },
  30799. { 0x1ec567911220fd06L,0x716e3a3c408b0bd6L,0x31cd6bf7e8ebeba9L,
  30800. 0xa7326ca6bee6b670L } },
  30801. /* 33 << 98 */
  30802. { { 0x3d9f851ccd090c43L,0x561e8f13f12c3988L,0x50490b6a904b7be4L,
  30803. 0x61690ce10410737bL },
  30804. { 0x299e9a370f009052L,0x258758f0f026092eL,0x9fa255f3fdfcdc0fL,
  30805. 0xdbc9fb1fc0e1bcd2L } },
  30806. /* 34 << 98 */
  30807. { { 0x35f9dd6e24651840L,0xdca45a84a5c59abcL,0x103d396fecca4938L,
  30808. 0x4532da0ab97b3f29L },
  30809. { 0xc4135ea51999a6bfL,0x3aa9505a5e6bf2eeL,0xf77cef063f5be093L,
  30810. 0x97d1a0f8a943152eL } },
  30811. /* 35 << 98 */
  30812. { { 0x2cb0ebba2e1c21ddL,0xf41b29fc2c6797c4L,0xc6e17321b300101fL,
  30813. 0x4422b0e9d0d79a89L },
  30814. { 0x49e4901c92f1bfc4L,0x06ab1f8fe1e10ed9L,0x84d35577db2926b8L,
  30815. 0xca349d39356e8ec2L } },
  30816. /* 36 << 98 */
  30817. { { 0x70b63d32343bf1a9L,0x8fd3bd2837d1a6b1L,0x0454879c316865b4L,
  30818. 0xee959ff6c458efa2L },
  30819. { 0x0461dcf89706dc3fL,0x737db0e2164e4b2eL,0x092626802f8843c8L,
  30820. 0x54498bbc7745e6f6L } },
  30821. /* 37 << 98 */
  30822. { { 0x359473faa29e24afL,0xfcc3c45470aa87a1L,0xfd2c4bf500573aceL,
  30823. 0xb65b514e28dd1965L },
  30824. { 0xe46ae7cf2193e393L,0x60e9a4e1f5444d97L,0xe7594e9600ff38edL,
  30825. 0x43d84d2f0a0e0f02L } },
  30826. /* 38 << 98 */
  30827. { { 0x8b6db141ee398a21L,0xb88a56aee3bcc5beL,0x0a1aa52f373460eaL,
  30828. 0x20da1a56160bb19bL },
  30829. { 0xfb54999d65bf0384L,0x71a14d245d5a180eL,0xbc44db7b21737b04L,
  30830. 0xd84fcb1801dd8e92L } },
  30831. /* 39 << 98 */
  30832. { { 0x80de937bfa44b479L,0x535054995c98fd4fL,0x1edb12ab28f08727L,
  30833. 0x4c58b582a5f3ef53L },
  30834. { 0xbfb236d88327f246L,0xc3a3bfaa4d7df320L,0xecd96c59b96024f2L,
  30835. 0xfc293a537f4e0433L } },
  30836. /* 40 << 98 */
  30837. { { 0x5341352b5acf6e10L,0xc50343fdafe652c3L,0x4af3792d18577a7fL,
  30838. 0xe1a4c617af16823dL },
  30839. { 0x9b26d0cd33425d0aL,0x306399ed9b7bc47fL,0x2a792f33706bb20bL,
  30840. 0x3121961498111055L } },
  30841. /* 41 << 98 */
  30842. { { 0x864ec06487f5d28bL,0x11392d91962277fdL,0xb5aa7942bb6aed5fL,
  30843. 0x080094dc47e799d9L },
  30844. { 0x4afa588c208ba19bL,0xd3e7570f8512f284L,0xcbae64e602f5799aL,
  30845. 0xdeebe7ef514b9492L } },
  30846. /* 42 << 98 */
  30847. { { 0x30300f98e5c298ffL,0x17f561be3678361fL,0xf52ff31298cb9a16L,
  30848. 0x6233c3bc5562d490L },
  30849. { 0x7bfa15a192e3a2cbL,0x961bcfd1e6365119L,0x3bdd29bf2c8c53b1L,
  30850. 0x739704df822844baL } },
  30851. /* 43 << 98 */
  30852. { { 0x7dacfb587e7b754bL,0x23360791a806c9b9L,0xe7eb88c923504452L,
  30853. 0x2983e996852c1783L },
  30854. { 0xdd4ae529958d881dL,0x026bae03262c7b3cL,0x3a6f9193960b52d1L,
  30855. 0xd0980f9092696cfbL } },
  30856. /* 44 << 98 */
  30857. { { 0x4c1f428cd5f30851L,0x94dfed272a4f6630L,0x4df53772fc5d48a4L,
  30858. 0xdd2d5a2f933260ceL },
  30859. { 0x574115bdd44cc7a5L,0x4ba6b20dbd12533aL,0x30e93cb8243057c9L,
  30860. 0x794c486a14de320eL } },
  30861. /* 45 << 98 */
  30862. { { 0xe925d4cef21496e4L,0xf951d198ec696331L,0x9810e2de3e8d812fL,
  30863. 0xd0a47259389294abL },
  30864. { 0x513ba2b50e3bab66L,0x462caff5abad306fL,0xe2dc6d59af04c49eL,
  30865. 0x1aeb8750e0b84b0bL } },
  30866. /* 46 << 98 */
  30867. { { 0xc034f12f2f7d0ca2L,0x6d2e8128e06acf2fL,0x801f4f8321facc2fL,
  30868. 0xa1170c03f40ef607L },
  30869. { 0xfe0a1d4f7805a99cL,0xbde56a36cc26aba5L,0x5b1629d035531f40L,
  30870. 0xac212c2b9afa6108L } },
  30871. /* 47 << 98 */
  30872. { { 0x30a06bf315697be5L,0x6f0545dc2c63c7c1L,0x5d8cb8427ccdadafL,
  30873. 0xd52e379bac7015bbL },
  30874. { 0xc4f56147f462c23eL,0xd44a429846bc24b0L,0xbc73d23ae2856d4fL,
  30875. 0x61cedd8c0832bcdfL } },
  30876. /* 48 << 98 */
  30877. { { 0x6095355699f241d7L,0xee4adbd7001a349dL,0x0b35bf6aaa89e491L,
  30878. 0x7f0076f4136f7546L },
  30879. { 0xd19a18ba9264da3dL,0x6eb2d2cd62a7a28bL,0xcdba941f8761c971L,
  30880. 0x1550518ba3be4a5dL } },
  30881. /* 49 << 98 */
  30882. { { 0xd0e8e2f057d0b70cL,0xeea8612ecd133ba3L,0x814670f044416aecL,
  30883. 0x424db6c330775061L },
  30884. { 0xd96039d116213fd1L,0xc61e7fa518a3478fL,0xa805bdcccb0c5021L,
  30885. 0xbdd6f3a80cc616ddL } },
  30886. /* 50 << 98 */
  30887. { { 0x060096675d97f7e2L,0x31db0fc1af0bf4b6L,0x23680ed45491627aL,
  30888. 0xb99a3c667d741fb1L },
  30889. { 0xe9bb5f5536b1ff92L,0x29738577512b388dL,0xdb8a2ce750fcf263L,
  30890. 0x385346d46c4f7b47L } },
  30891. /* 51 << 98 */
  30892. { { 0xbe86c5ef31631f9eL,0xbf91da2103a57a29L,0xc3b1f7967b23f821L,
  30893. 0x0f7d00d2770db354L },
  30894. { 0x8ffc6c3bd8fe79daL,0xcc5e8c40d525c996L,0x4640991dcfff632aL,
  30895. 0x64d97e8c67112528L } },
  30896. /* 52 << 98 */
  30897. { { 0xc232d97302f1cd1eL,0xce87eacb1dd212a4L,0x6e4c8c73e69802f7L,
  30898. 0x12ef02901fffddbdL },
  30899. { 0x941ec74e1bcea6e2L,0xd0b540243cb92cbbL,0x809fb9d47e8f9d05L,
  30900. 0x3bf16159f2992aaeL } },
  30901. /* 53 << 98 */
  30902. { { 0xad40f279f8a7a838L,0x11aea63105615660L,0xbf52e6f1a01f6fa1L,
  30903. 0xef0469953dc2aec9L },
  30904. { 0x785dbec9d8080711L,0xe1aec60a9fdedf76L,0xece797b5fa21c126L,
  30905. 0xc66e898f05e52732L } },
  30906. /* 54 << 98 */
  30907. { { 0x39bb69c408811fdbL,0x8bfe1ef82fc7f082L,0xc8e7a393174f4138L,
  30908. 0xfba8ad1dd58d1f98L },
  30909. { 0xbc21d0cebfd2fd5bL,0x0b839a826ee60d61L,0xaacf7658afd22253L,
  30910. 0xb526bed8aae396b3L } },
  30911. /* 55 << 98 */
  30912. { { 0xccc1bbc238564464L,0x9e3ff9478c45bc73L,0xcde9bca358188a78L,
  30913. 0x138b8ee0d73bf8f7L },
  30914. { 0x5c7e234c4123c489L,0x66e69368fa643297L,0x0629eeee39a15fa3L,
  30915. 0x95fab881a9e2a927L } },
  30916. /* 56 << 98 */
  30917. { { 0xb2497007eafbb1e1L,0xd75c9ce6e75b7a93L,0x3558352defb68d78L,
  30918. 0xa2f26699223f6396L },
  30919. { 0xeb911ecfe469b17aL,0x62545779e72d3ec2L,0x8ea47de782cb113fL,
  30920. 0xebe4b0864e1fa98dL } },
  30921. /* 57 << 98 */
  30922. { { 0xec2d5ed78cdfedb1L,0xa535c077fe211a74L,0x9678109b11d244c5L,
  30923. 0xf17c8bfbbe299a76L },
  30924. { 0xb651412efb11fbc4L,0xea0b548294ab3f65L,0xd8dffd950cf78243L,
  30925. 0x2e719e57ce0361d4L } },
  30926. /* 58 << 98 */
  30927. { { 0x9007f085304ddc5bL,0x095e8c6d4daba2eaL,0x5a33cdb43f9d28a9L,
  30928. 0x85b95cd8e2283003L },
  30929. { 0xbcd6c819b9744733L,0x29c5f538fc7f5783L,0x6c49b2fad59038e4L,
  30930. 0x68349cc13bbe1018L } },
  30931. /* 59 << 98 */
  30932. { { 0xcc490c1d21830ee5L,0x36f9c4eee9bfa297L,0x58fd729448de1a94L,
  30933. 0xaadb13a84e8f2cdcL },
  30934. { 0x515eaaa081313dbaL,0xc76bb468c2152dd8L,0x357f8d75a653dbf8L,
  30935. 0xe4d8c4d1b14ac143L } },
  30936. /* 60 << 98 */
  30937. { { 0xbdb8e675b055cb40L,0x898f8e7b977b5167L,0xecc65651b82fb863L,
  30938. 0x565448146d88f01fL },
  30939. { 0xb0928e95263a75a9L,0xcfb6836f1a22fcdaL,0x651d14db3f3bd37cL,
  30940. 0x1d3837fbb6ad4664L } },
  30941. /* 61 << 98 */
  30942. { { 0x7c5fb538ff4f94abL,0x7243c7126d7fb8f2L,0xef13d60ca85c5287L,
  30943. 0x18cfb7c74bb8dd1bL },
  30944. { 0x82f9bfe672908219L,0x35c4592b9d5144abL,0x52734f379cf4b42fL,
  30945. 0x6bac55e78c60ddc4L } },
  30946. /* 62 << 98 */
  30947. { { 0xb5cd811e94dea0f6L,0x259ecae4e18cc1a3L,0x6a0e836e15e660f8L,
  30948. 0x6c639ea60e02bff2L },
  30949. { 0x8721b8cb7e1026fdL,0x9e73b50b63261942L,0xb8c7097477f01da3L,
  30950. 0x1839e6a68268f57fL } },
  30951. /* 63 << 98 */
  30952. { { 0x571b94155150b805L,0x1892389ef92c7097L,0x8d69c18e4a084b95L,
  30953. 0x7014c512be5b495cL },
  30954. { 0x4780db361b07523cL,0x2f6219ce2c1c64faL,0xc38b81b0602c105aL,
  30955. 0xab4f4f205dc8e360L } },
  30956. /* 64 << 98 */
  30957. { { 0x20d3c982cf7d62d2L,0x1f36e29d23ba8150L,0x48ae0bf092763f9eL,
  30958. 0x7a527e6b1d3a7007L },
  30959. { 0xb4a89097581a85e3L,0x1f1a520fdc158be5L,0xf98db37d167d726eL,
  30960. 0x8802786e1113e862L } },
  30961. /* 0 << 105 */
  30962. { { 0x00, 0x00, 0x00, 0x00 },
  30963. { 0x00, 0x00, 0x00, 0x00 } },
  30964. /* 1 << 105 */
  30965. { { 0xefb2149e36f09ab0L,0x03f163ca4a10bb5bL,0xd029704506e20998L,
  30966. 0x56f0af001b5a3babL },
  30967. { 0x7af4cfec70880e0dL,0x7332a66fbe3d913fL,0x32e6c84a7eceb4bdL,
  30968. 0xedc4a79a9c228f55L } },
  30969. /* 2 << 105 */
  30970. { { 0xc37c7dd0c55c4496L,0xa6a9635725bbabd2L,0x5b7e63f2add7f363L,
  30971. 0x9dce37822e73f1dfL },
  30972. { 0xe1e5a16ab2b91f71L,0xe44898235ba0163cL,0xf2759c32f6e515adL,
  30973. 0xa5e2f1f88615eecfL } },
  30974. /* 3 << 105 */
  30975. { { 0x74519be7abded551L,0x03d358b8c8b74410L,0x4d00b10b0e10d9a9L,
  30976. 0x6392b0b128da52b7L },
  30977. { 0x6744a2980b75c904L,0xc305b0aea8f7f96cL,0x042e421d182cf932L,
  30978. 0xf6fc5d509e4636caL } },
  30979. /* 4 << 105 */
  30980. { { 0x795847c9d64cc78cL,0x6c50621b9b6cb27bL,0x07099bf8df8022abL,
  30981. 0x48f862ebc04eda1dL },
  30982. { 0xd12732ede1603c16L,0x19a80e0f5c9a9450L,0xe2257f54b429b4fcL,
  30983. 0x66d3b2c645460515L } },
  30984. /* 5 << 105 */
  30985. { { 0x6ca4f87e822e37beL,0x73f237b4253bda4eL,0xf747f3a241190aebL,
  30986. 0xf06fa36f804cf284L },
  30987. { 0x0a6bbb6efc621c12L,0x5d624b6440b80ec6L,0x4b0724257ba556f3L,
  30988. 0x7fa0c3543e2d20a8L } },
  30989. /* 6 << 105 */
  30990. { { 0xe921fa31e3229d41L,0xa929c65294531bd4L,0x84156027a6d38209L,
  30991. 0xf3d69f736bdb97bdL },
  30992. { 0x8906d19a16833631L,0x68a34c2e03d51be3L,0xcb59583b0e511cd8L,
  30993. 0x99ce6bfdfdc132a8L } },
  30994. /* 7 << 105 */
  30995. { { 0x3facdaaaffcdb463L,0x658bbc1a34a38b08L,0x12a801f8f1a9078dL,
  30996. 0x1567bcf96ab855deL },
  30997. { 0xe08498e03572359bL,0xcf0353e58659e68bL,0xbb86e9c87d23807cL,
  30998. 0xbc08728d2198e8a2L } },
  30999. /* 8 << 105 */
  31000. { { 0x8de2b7bc453cadd6L,0x203900a7bc0bc1f8L,0xbcd86e47a6abd3afL,
  31001. 0x911cac128502effbL },
  31002. { 0x2d550242ec965469L,0x0e9f769229e0017eL,0x633f078f65979885L,
  31003. 0xfb87d4494cf751efL } },
  31004. /* 9 << 105 */
  31005. { { 0xe1790e4bfc25419aL,0x364672034bff3cfdL,0xc8db638625b6e83fL,
  31006. 0x6cc69f236cad6fd2L },
  31007. { 0x0219e45a6bc68bb9L,0xe43d79b6297f7334L,0x7d445368465dc97cL,
  31008. 0x4b9eea322a0b949aL } },
  31009. /* 10 << 105 */
  31010. { { 0x1b96c6ba6102d021L,0xeaafac782f4461eaL,0xd4b85c41c49f19a8L,
  31011. 0x275c28e4cf538875L },
  31012. { 0x35451a9ddd2e54e0L,0x6991adb50605618bL,0x5b8b4bcd7b36cd24L,
  31013. 0x372a4f8c56f37216L } },
  31014. /* 11 << 105 */
  31015. { { 0xc890bd73a6a5da60L,0x6f083da0dc4c9ff0L,0xf4e14d94f0536e57L,
  31016. 0xf9ee1edaaaec8243L },
  31017. { 0x571241ec8bdcf8e7L,0xa5db82710b041e26L,0x9a0b9a99e3fff040L,
  31018. 0xcaaf21dd7c271202L } },
  31019. /* 12 << 105 */
  31020. { { 0xb4e2b2e14f0dd2e8L,0xe77e7c4f0a377ac7L,0x69202c3f0d7a2198L,
  31021. 0xf759b7ff28200eb8L },
  31022. { 0xc87526eddcfe314eL,0xeb84c52453d5cf99L,0xb1b52ace515138b6L,
  31023. 0x5aa7ff8c23fca3f4L } },
  31024. /* 13 << 105 */
  31025. { { 0xff0b13c3b9791a26L,0x960022dacdd58b16L,0xdbd55c9257aad2deL,
  31026. 0x3baaaaa3f30fe619L },
  31027. { 0x9a4b23460d881efdL,0x506416c046325e2aL,0x91381e76035c18d4L,
  31028. 0xb3bb68bef27817b0L } },
  31029. /* 14 << 105 */
  31030. { { 0x15bfb8bf5116f937L,0x7c64a586c1268943L,0x71e25cc38419a2c8L,
  31031. 0x9fd6b0c48335f463L },
  31032. { 0x4bf0ba3ce8ee0e0eL,0x6f6fba60298c21faL,0x57d57b39ae66bee0L,
  31033. 0x292d513022672544L } },
  31034. /* 15 << 105 */
  31035. { { 0xf451105dbab093b3L,0x012f59b902839986L,0x8a9158023474a89cL,
  31036. 0x048c919c2de03e97L },
  31037. { 0xc476a2b591071cd5L,0x791ed89a034970a5L,0x89bd9042e1b7994bL,
  31038. 0x8eaf5179a1057ffdL } },
  31039. /* 16 << 105 */
  31040. { { 0x6066e2a2d551ee10L,0x87a8f1d8727e09a6L,0x00d08bab2c01148dL,
  31041. 0x6da8e4f1424f33feL },
  31042. { 0x466d17f0cf9a4e71L,0xff5020103bf5cb19L,0xdccf97d8d062ecc0L,
  31043. 0x80c0d9af81d80ac4L } },
  31044. /* 17 << 105 */
  31045. { { 0xe87771d8033f2876L,0xb0186ec67d5cc3dbL,0x58e8bb803bc9bc1dL,
  31046. 0x4d1395cc6f6ef60eL },
  31047. { 0xa73c62d6186244a0L,0x918e5f23110a5b53L,0xed4878ca741b7eabL,
  31048. 0x3038d71adbe03e51L } },
  31049. /* 18 << 105 */
  31050. { { 0x840204b7a93c3246L,0x21ab6069a0b9b4cdL,0xf5fa6e2bb1d64218L,
  31051. 0x1de6ad0ef3d56191L },
  31052. { 0x570aaa88ff1929c7L,0xc6df4c6b640e87b5L,0xde8a74f2c65f0cccL,
  31053. 0x8b972fd5e6f6cc01L } },
  31054. /* 19 << 105 */
  31055. { { 0x3fff36b60b846531L,0xba7e45e610a5e475L,0x84a1d10e4145b6c5L,
  31056. 0xf1f7f91a5e046d9dL },
  31057. { 0x0317a69244de90d7L,0x951a1d4af199c15eL,0x91f78046c9d73debL,
  31058. 0x74c82828fab8224fL } },
  31059. /* 20 << 105 */
  31060. { { 0xaa6778fce7560b90L,0xb4073e61a7e824ceL,0xff0d693cd642eba8L,
  31061. 0x7ce2e57a5dccef38L },
  31062. { 0x89c2c7891df1ad46L,0x83a06922098346fdL,0x2d715d72da2fc177L,
  31063. 0x7b6dd71d85b6cf1dL } },
  31064. /* 21 << 105 */
  31065. { { 0xc60a6d0a73fa9cb0L,0xedd3992e328bf5a9L,0xc380ddd0832c8c82L,
  31066. 0xd182d410a2a0bf50L },
  31067. { 0x7d9d7438d9a528dbL,0xe8b1a0e9caf53994L,0xddd6e5fe0e19987cL,
  31068. 0xacb8df03190b059dL } },
  31069. /* 22 << 105 */
  31070. { { 0x53703a328300129fL,0x1f63766268c43bfdL,0xbcbd191300e54051L,
  31071. 0x812fcc627bf5a8c5L },
  31072. { 0x3f969d5f29fb85daL,0x72f4e00a694759e8L,0x426b6e52790726b7L,
  31073. 0x617bbc873bdbb209L } },
  31074. /* 23 << 105 */
  31075. { { 0x511f8bb997aee317L,0x812a4096e81536a8L,0x137dfe593ac09b9bL,
  31076. 0x0682238fba8c9a7aL },
  31077. { 0x7072ead6aeccb4bdL,0x6a34e9aa692ba633L,0xc82eaec26fff9d33L,
  31078. 0xfb7535121d4d2b62L } },
  31079. /* 24 << 105 */
  31080. { { 0x1a0445ff1d7aadabL,0x65d38260d5f6a67cL,0x6e62fb0891cfb26fL,
  31081. 0xef1e0fa55c7d91d6L },
  31082. { 0x47e7c7ba33db72cdL,0x017cbc09fa7c74b2L,0x3c931590f50a503cL,
  31083. 0xcac54f60616baa42L } },
  31084. /* 25 << 105 */
  31085. { { 0x9b6cd380b2369f0fL,0x97d3a70d23c76151L,0x5f9dd6fc9862a9c6L,
  31086. 0x044c4ab212312f51L },
  31087. { 0x035ea0fd834a2ddcL,0x49e6b862cc7b826dL,0xb03d688362fce490L,
  31088. 0x62f2497ab37e36e9L } },
  31089. /* 26 << 105 */
  31090. { { 0x04b005b6c6458293L,0x36bb5276e8d10af7L,0xacf2dc138ee617b8L,
  31091. 0x470d2d35b004b3d4L },
  31092. { 0x06790832feeb1b77L,0x2bb75c3985657f9cL,0xd70bd4edc0f60004L,
  31093. 0xfe797ecc219b018bL } },
  31094. /* 27 << 105 */
  31095. { { 0x9b5bec2a753aebccL,0xdaf9f3dcc939eca5L,0xd6bc6833d095ad09L,
  31096. 0x98abdd51daa4d2fcL },
  31097. { 0xd9840a318d168be5L,0xcf7c10e02325a23cL,0xa5c02aa07e6ecfafL,
  31098. 0x2462e7e6b5bfdf18L } },
  31099. /* 28 << 105 */
  31100. { { 0xab2d8a8ba0cc3f12L,0x68dd485dbc672a29L,0x72039752596f2cd3L,
  31101. 0x5d3eea67a0cf3d8dL },
  31102. { 0x810a1a81e6602671L,0x8f144a4014026c0cL,0xbc753a6d76b50f85L,
  31103. 0xc4dc21e8645cd4a4L } },
  31104. /* 29 << 105 */
  31105. { { 0xc5262dea521d0378L,0x802b8e0e05011c6fL,0x1ba19cbb0b4c19eaL,
  31106. 0x21db64b5ebf0aaecL },
  31107. { 0x1f394ee970342f9dL,0x93a10aee1bc44a14L,0xa7eed31b3efd0baaL,
  31108. 0x6e7c824e1d154e65L } },
  31109. /* 30 << 105 */
  31110. { { 0xee23fa819966e7eeL,0x64ec4aa805b7920dL,0x2d44462d2d90aad4L,
  31111. 0xf44dd195df277ad5L },
  31112. { 0x8d6471f1bb46b6a1L,0x1e65d313fd885090L,0x33a800f513a977b4L,
  31113. 0xaca9d7210797e1efL } },
  31114. /* 31 << 105 */
  31115. { { 0x9a5a85a0fcff6a17L,0x9970a3f31eca7ceeL,0xbb9f0d6bc9504be3L,
  31116. 0xe0c504beadd24ee2L },
  31117. { 0x7e09d95677fcc2f4L,0xef1a522765bb5fc4L,0x145d4fb18b9286aaL,
  31118. 0x66fd0c5d6649028bL } },
  31119. /* 32 << 105 */
  31120. { { 0x98857ceb1bf4581cL,0xe635e186aca7b166L,0x278ddd22659722acL,
  31121. 0xa0903c4c1db68007L },
  31122. { 0x366e458948f21402L,0x31b49c14b96abda2L,0x329c4b09e0403190L,
  31123. 0x97197ca3d29f43feL } },
  31124. /* 33 << 105 */
  31125. { { 0x8073dd1e274983d8L,0xda1a3bde55717c8fL,0xfd3d4da20361f9d1L,
  31126. 0x1332d0814c7de1ceL },
  31127. { 0x9b7ef7a3aa6d0e10L,0x17db2e73f54f1c4aL,0xaf3dffae4cd35567L,
  31128. 0xaaa2f406e56f4e71L } },
  31129. /* 34 << 105 */
  31130. { { 0x8966759e7ace3fc7L,0x9594eacf45a8d8c6L,0x8de3bd8b91834e0eL,
  31131. 0xafe4ca53548c0421L },
  31132. { 0xfdd7e856e6ee81c6L,0x8f671beb6b891a3aL,0xf7a58f2bfae63829L,
  31133. 0x9ab186fb9c11ac9fL } },
  31134. /* 35 << 105 */
  31135. { { 0x8d6eb36910b5be76L,0x046b7739fb040bcdL,0xccb4529fcb73de88L,
  31136. 0x1df0fefccf26be03L },
  31137. { 0xad7757a6bcfcd027L,0xa8786c75bb3165caL,0xe9db1e347e99a4d9L,
  31138. 0x99ee86dfb06c504bL } },
  31139. /* 36 << 105 */
  31140. { { 0x5b7c2dddc15c9f0aL,0xdf87a7344295989eL,0x59ece47c03d08fdaL,
  31141. 0xb074d3ddad5fc702L },
  31142. { 0x2040790351a03776L,0x2bb1f77b2a608007L,0x25c58f4fe1153185L,
  31143. 0xe6df62f6766e6447L } },
  31144. /* 37 << 105 */
  31145. { { 0xefb3d1beed51275aL,0x5de47dc72f0f483fL,0x7932d98e97c2bedfL,
  31146. 0xd5c119270219f8a1L },
  31147. { 0x9d751200a73a294eL,0x5f88434a9dc20172L,0xd28d9fd3a26f506aL,
  31148. 0xa890cd319d1dcd48L } },
  31149. /* 38 << 105 */
  31150. { { 0x0aebaec170f4d3b4L,0xfd1a13690ffc8d00L,0xb9d9c24057d57838L,
  31151. 0x45929d2668bac361L },
  31152. { 0x5a2cd06025b15ca6L,0x4b3c83e16e474446L,0x1aac7578ee1e5134L,
  31153. 0xa418f5d6c91e2f41L } },
  31154. /* 39 << 105 */
  31155. { { 0x6936fc8a213ed68bL,0x860ae7ed510a5224L,0x63660335def09b53L,
  31156. 0x641b2897cd79c98dL },
  31157. { 0x29bd38e101110f35L,0x79c26f42648b1937L,0x64dae5199d9164f4L,
  31158. 0xd85a23100265c273L } },
  31159. /* 40 << 105 */
  31160. { { 0x7173dd5d4b07e2b1L,0xd144c4cb8d9ea221L,0xe8b04ea41105ab14L,
  31161. 0x92dda542fe80d8f1L },
  31162. { 0xe9982fa8cf03dce6L,0x8b5ea9651a22cffcL,0xf7f4ea7f3fad88c4L,
  31163. 0x62db773e6a5ba95cL } },
  31164. /* 41 << 105 */
  31165. { { 0xd20f02fb93f24567L,0xfd46c69a315257caL,0x0ac74cc78bcab987L,
  31166. 0x46f31c015ceca2f5L },
  31167. { 0x40aedb59888b219eL,0xe50ecc37e1fccd02L,0x1bcd9dad911f816cL,
  31168. 0x583cc1ec8db9b00cL } },
  31169. /* 42 << 105 */
  31170. { { 0xf3cd2e66a483bf11L,0xfa08a6f5b1b2c169L,0xf375e2454be9fa28L,
  31171. 0x99a7ffec5b6d011fL },
  31172. { 0x6a3ebddbc4ae62daL,0x6cea00ae374aef5dL,0xab5fb98d9d4d05bcL,
  31173. 0x7cba1423d560f252L } },
  31174. /* 43 << 105 */
  31175. { { 0x49b2cc21208490deL,0x1ca66ec3bcfb2879L,0x7f1166b71b6fb16fL,
  31176. 0xfff63e0865fe5db3L },
  31177. { 0xb8345abe8b2610beL,0xb732ed8039de3df4L,0x0e24ed50211c32b4L,
  31178. 0xd10d8a69848ff27dL } },
  31179. /* 44 << 105 */
  31180. { { 0xc1074398ed4de248L,0xd7cedace10488927L,0xa4aa6bf885673e13L,
  31181. 0xb46bae916daf30afL },
  31182. { 0x07088472fcef7ad8L,0x61151608d4b35e97L,0xbcfe8f26dde29986L,
  31183. 0xeb84c4c7d5a34c79L } },
  31184. /* 45 << 105 */
  31185. { { 0xc1eec55c164e1214L,0x891be86da147bb03L,0x9fab4d100ba96835L,
  31186. 0xbf01e9b8a5c1ae9fL },
  31187. { 0x6b4de139b186ebc0L,0xd5c74c2685b91bcaL,0x5086a99cc2d93854L,
  31188. 0xeed62a7ba7a9dfbcL } },
  31189. /* 46 << 105 */
  31190. { { 0x8778ed6f76b7618aL,0xbff750a503b66062L,0x4cb7be22b65186dbL,
  31191. 0x369dfbf0cc3a6d13L },
  31192. { 0xc7dab26c7191a321L,0x9edac3f940ed718eL,0xbc142b36d0cfd183L,
  31193. 0xc8af82f67c991693L } },
  31194. /* 47 << 105 */
  31195. { { 0xb3d1e4d897ce0b2aL,0xe6d7c87fc3a55cdfL,0x35846b9568b81afeL,
  31196. 0x018d12afd3c239d8L },
  31197. { 0x2b2c620801206e15L,0xe0e42453a3b882c6L,0x854470a3a50162d5L,
  31198. 0x081574787017a62aL } },
  31199. /* 48 << 105 */
  31200. { { 0x18bd3fb4820357c7L,0x992039ae6f1458adL,0x9a1df3c525b44aa1L,
  31201. 0x2d780357ed3d5281L },
  31202. { 0x58cf7e4dc77ad4d4L,0xd49a7998f9df4fc4L,0x4465a8b51d71205eL,
  31203. 0xa0ee0ea6649254aaL } },
  31204. /* 49 << 105 */
  31205. { { 0x4b5eeecfab7bd771L,0x6c87307335c262b9L,0xdc5bd6483c9d61e7L,
  31206. 0x233d6d54321460d2L },
  31207. { 0xd20c5626fc195bccL,0x2544595804d78b63L,0xe03fcb3d17ec8ef3L,
  31208. 0x54b690d146b8f781L } },
  31209. /* 50 << 105 */
  31210. { { 0x82fa2c8a21230646L,0xf51aabb9084f418cL,0xff4fbec11a30ba43L,
  31211. 0x6a5acf73743c9df7L },
  31212. { 0x1da2b357d635b4d5L,0xc3de68ddecd5c1daL,0xa689080bd61af0ddL,
  31213. 0xdea5938ad665bf99L } },
  31214. /* 51 << 105 */
  31215. { { 0x0231d71afe637294L,0x01968aa6a5a81cd8L,0x11252d50048e63b5L,
  31216. 0xc446bc526ca007e9L },
  31217. { 0xef8c50a696d6134bL,0x9361fbf59e09a05cL,0xf17f85a6dca3291aL,
  31218. 0xb178d548ff251a21L } },
  31219. /* 52 << 105 */
  31220. { { 0x87f6374ba4df3915L,0x566ce1bf2fd5d608L,0x425cba4d7de35102L,
  31221. 0x6b745f8f58c5d5e2L },
  31222. { 0x88402af663122edfL,0x3190f9ed3b989a89L,0x4ad3d387ebba3156L,
  31223. 0xef385ad9c7c469a5L } },
  31224. /* 53 << 105 */
  31225. { { 0xb08281de3f642c29L,0x20be0888910ffb88L,0xf353dd4ad5292546L,
  31226. 0x3f1627de8377a262L },
  31227. { 0xa5faa013eefcd638L,0x8f3bf62674cc77c3L,0x32618f65a348f55eL,
  31228. 0x5787c0dc9fefeb9eL } },
  31229. /* 54 << 105 */
  31230. { { 0xf1673aa2d9a23e44L,0x88dfa9934e10690dL,0x1ced1b362bf91108L,
  31231. 0x9193ceca3af48649L },
  31232. { 0xfb34327d2d738fc5L,0x6697b037975fee6cL,0x2f485da0c04079a5L,
  31233. 0x2cdf57352feaa1acL } },
  31234. /* 55 << 105 */
  31235. { { 0x76944420bd55659eL,0x7973e32b4376090cL,0x86bb4fe1163b591aL,
  31236. 0x10441aedc196f0caL },
  31237. { 0x3b431f4a045ad915L,0x6c11b437a4afacb1L,0x30b0c7db71fdbbd8L,
  31238. 0xb642931feda65acdL } },
  31239. /* 56 << 105 */
  31240. { { 0x4baae6e89c92b235L,0xa73bbd0e6b3993a1L,0xd06d60ec693dd031L,
  31241. 0x03cab91b7156881cL },
  31242. { 0xd615862f1db3574bL,0x485b018564bb061aL,0x27434988a0181e06L,
  31243. 0x2cd61ad4c1c0c757L } },
  31244. /* 57 << 105 */
  31245. { { 0x3effed5a2ff9f403L,0x8dc98d8b62239029L,0x2206021e1f17b70dL,
  31246. 0xafbec0cabf510015L },
  31247. { 0x9fed716480130dfaL,0x306dc2b58a02dcf5L,0x48f06620feb10fc0L,
  31248. 0x78d1e1d55a57cf51L } },
  31249. /* 58 << 105 */
  31250. { { 0xadef8c5a192ef710L,0x88afbd4b3b7431f9L,0x7e1f740764250c9eL,
  31251. 0x6e31318db58bec07L },
  31252. { 0xfd4fc4b824f89b4eL,0x65a5dd8848c36a2aL,0x4f1eccfff024baa7L,
  31253. 0x22a21cf2cba94650L } },
  31254. /* 59 << 105 */
  31255. { { 0x95d29dee42a554f7L,0x828983a5002ec4baL,0x8112a1f78badb73dL,
  31256. 0x79ea8897a27c1839L },
  31257. { 0x8969a5a7d065fd83L,0xf49af791b262a0bcL,0xfcdea8b6af2b5127L,
  31258. 0x10e913e1564c2dbcL } },
  31259. /* 60 << 105 */
  31260. { { 0x51239d14bc21ef51L,0xe51c3ceb4ce57292L,0x795ff06847bbcc3bL,
  31261. 0x86b46e1ebd7e11e6L },
  31262. { 0x0ea6ba2380041ef4L,0xd72fe5056262342eL,0x8abc6dfd31d294d4L,
  31263. 0xbbe017a21278c2c9L } },
  31264. /* 61 << 105 */
  31265. { { 0xb1fcfa09b389328aL,0x322fbc62d01771b5L,0x04c0d06360b045bfL,
  31266. 0xdb652edc10e52d01L },
  31267. { 0x50ef932c03ec6627L,0xde1b3b2dc1ee50e3L,0x5ab7bdc5dc37a90dL,
  31268. 0xfea6721331e33a96L } },
  31269. /* 62 << 105 */
  31270. { { 0x6482b5cb4f2999aaL,0x38476cc6b8cbf0ddL,0x93ebfacb173405bbL,
  31271. 0x15cdafe7e52369ecL },
  31272. { 0xd42d5ba4d935b7dbL,0x648b60041c99a4cdL,0x785101bda3b5545bL,
  31273. 0x4bf2c38a9dd67fafL } },
  31274. /* 63 << 105 */
  31275. { { 0xb1aadc634442449cL,0xe0e9921a33ad4fb8L,0x5c552313aa686d82L,
  31276. 0xdee635fa465d866cL },
  31277. { 0xbc3c224a18ee6e8aL,0xeed748a6ed42e02fL,0xe70f930ad474cd08L,
  31278. 0x774ea6ecfff24adfL } },
  31279. /* 64 << 105 */
  31280. { { 0x03e2de1cf3480d4aL,0xf0d8edc7bc8acf1aL,0xf23e330368295a9cL,
  31281. 0xfadd5f68c546a97dL },
  31282. { 0x895597ad96f8acb1L,0xbddd49d5671bdae2L,0x16fcd52821dd43f4L,
  31283. 0xa5a454126619141aL } },
  31284. /* 0 << 112 */
  31285. { { 0x00, 0x00, 0x00, 0x00 },
  31286. { 0x00, 0x00, 0x00, 0x00 } },
  31287. /* 1 << 112 */
  31288. { { 0x8ce9b6bfc360e25aL,0xe6425195075a1a78L,0x9dc756a8481732f4L,
  31289. 0x83c0440f5432b57aL },
  31290. { 0xc670b3f1d720281fL,0x2205910ed135e051L,0xded14b0edb052be7L,
  31291. 0x697b3d27c568ea39L } },
  31292. /* 2 << 112 */
  31293. { { 0x2e599b9afb3ff9edL,0x28c2e0ab17f6515cL,0x1cbee4fd474da449L,
  31294. 0x071279a44f364452L },
  31295. { 0x97abff6601fbe855L,0x3ee394e85fda51c4L,0x190385f667597c0bL,
  31296. 0x6e9fccc6a27ee34bL } },
  31297. /* 3 << 112 */
  31298. { { 0x0b89de9314092ebbL,0xf17256bd428e240cL,0xcf89a7f393d2f064L,
  31299. 0x4f57841ee1ed3b14L },
  31300. { 0x4ee14405e708d855L,0x856aae7203f1c3d0L,0xc8e5424fbdd7eed5L,
  31301. 0x3333e4ef73ab4270L } },
  31302. /* 4 << 112 */
  31303. { { 0x3bc77adedda492f8L,0xc11a3aea78297205L,0x5e89a3e734931b4cL,
  31304. 0x17512e2e9f5694bbL },
  31305. { 0x5dc349f3177bf8b6L,0x232ea4ba08c7ff3eL,0x9c4f9d16f511145dL,
  31306. 0xccf109a333b379c3L } },
  31307. /* 5 << 112 */
  31308. { { 0xe75e7a88a1f25897L,0x7ac6961fa1b5d4d8L,0xe3e1077308f3ed5cL,
  31309. 0x208a54ec0a892dfbL },
  31310. { 0xbe826e1978660710L,0x0cf70a97237df2c8L,0x418a7340ed704da5L,
  31311. 0xa3eeb9a908ca33fdL } },
  31312. /* 6 << 112 */
  31313. { { 0x49d96233169bca96L,0x04d286d42da6aafbL,0xc09606eca0c2fa94L,
  31314. 0x8869d0d523ff0fb3L },
  31315. { 0xa99937e5d0150d65L,0xa92e2503240c14c9L,0x656bf945108e2d49L,
  31316. 0x152a733aa2f59e2bL } },
  31317. /* 7 << 112 */
  31318. { { 0xb4323d588434a920L,0xc0af8e93622103c5L,0x667518ef938dbf9aL,
  31319. 0xa184307383a9cdf2L },
  31320. { 0x350a94aa5447ab80L,0xe5e5a325c75a3d61L,0x74ba507f68411a9eL,
  31321. 0x10581fc1594f70c5L } },
  31322. /* 8 << 112 */
  31323. { { 0x60e2857080eb24a9L,0x7bedfb4d488e0cfdL,0x721ebbd7c259cdb8L,
  31324. 0x0b0da855bc6390a9L },
  31325. { 0x2b4d04dbde314c70L,0xcdbf1fbc6c32e846L,0x33833eabb162fc9eL,
  31326. 0x9939b48bb0dd3ab7L } },
  31327. /* 9 << 112 */
  31328. { { 0x5aaa98a7cb0c9c8cL,0x75105f3081c4375cL,0xceee50575ef1c90fL,
  31329. 0xb31e065fc23a17bfL },
  31330. { 0x5364d275d4b6d45aL,0xd363f3ad62ec8996L,0xb5d212394391c65bL,
  31331. 0x84564765ebb41b47L } },
  31332. /* 10 << 112 */
  31333. { { 0x20d18ecc37107c78L,0xacff3b6b570c2a66L,0x22f975d99bd0d845L,
  31334. 0xef0a0c46ba178fa0L },
  31335. { 0x1a41965176b6028eL,0xc49ec674248612d4L,0x5b6ac4f27338af55L,
  31336. 0x06145e627bee5a36L } },
  31337. /* 11 << 112 */
  31338. { { 0x33e95d07e75746b5L,0x1c1e1f6dc40c78beL,0x967833ef222ff8e2L,
  31339. 0x4bedcf6ab49180adL },
  31340. { 0x6b37e9c13d7a4c8aL,0x2748887c6ddfe760L,0xf7055123aa3a5bbcL,
  31341. 0x954ff2257bbb8e74L } },
  31342. /* 12 << 112 */
  31343. { { 0xc42b8ab197c3dfb9L,0x55a549b0cf168154L,0xad6748e7c1b50692L,
  31344. 0x2775780f6fc5cbcbL },
  31345. { 0x4eab80b8e1c9d7c8L,0x8c69dae13fdbcd56L,0x47e6b4fb9969eaceL,
  31346. 0x002f1085a705cb5aL } },
  31347. /* 13 << 112 */
  31348. { { 0x4e23ca446d3fea55L,0xb4ae9c86f4810568L,0x47bfb91b2a62f27dL,
  31349. 0x60deb4c9d9bac28cL },
  31350. { 0xa892d8947de6c34cL,0x4ee682594494587dL,0x914ee14e1a3f8a5bL,
  31351. 0xbb113eaa28700385L } },
  31352. /* 14 << 112 */
  31353. { { 0x81ca03b92115b4c9L,0x7c163d388908cad1L,0xc912a118aa18179aL,
  31354. 0xe09ed750886e3081L },
  31355. { 0xa676e3fa26f516caL,0x753cacf78e732f91L,0x51592aea833da8b4L,
  31356. 0xc626f42f4cbea8aaL } },
  31357. /* 15 << 112 */
  31358. { { 0xef9dc899a7b56eafL,0x00c0e52c34ef7316L,0x5b1e4e24fe818a86L,
  31359. 0x9d31e20dc538be47L },
  31360. { 0x22eb932d3ed68974L,0xe44bbc087c4e87c4L,0x4121086e0dde9aefL,
  31361. 0x8e6b9cff134f4345L } },
  31362. /* 16 << 112 */
  31363. { { 0x96892c1f711b0eb9L,0xb905f2c8780ab954L,0xace26309a20792dbL,
  31364. 0xec8ac9b30684e126L },
  31365. { 0x486ad8b6b40a2447L,0x60121fc19fe3fb24L,0x5626fccf1a8e3b3fL,
  31366. 0x4e5686226ad1f394L } },
  31367. /* 17 << 112 */
  31368. { { 0xda7aae0d196aa5a1L,0xe0df8c771041b5fbL,0x451465d926b318b7L,
  31369. 0xc29b6e557ab136e9L },
  31370. { 0x2c2ab48b71148463L,0xb5738de364454a76L,0x54ccf9a05a03abe4L,
  31371. 0x377c02960427d58eL } },
  31372. /* 18 << 112 */
  31373. { { 0x73f5f0b92bb39c1fL,0x14373f2ce608d8c5L,0xdcbfd31400fbb805L,
  31374. 0xdf18fb2083afdcfbL },
  31375. { 0x81a57f4242b3523fL,0xe958532d87f650fbL,0xaa8dc8b68b0a7d7cL,
  31376. 0x1b75dfb7150166beL } },
  31377. /* 19 << 112 */
  31378. { { 0x90e4f7c92d7d1413L,0x67e2d6b59834f597L,0x4fd4f4f9a808c3e8L,
  31379. 0xaf8237e0d5281ec1L },
  31380. { 0x25ab5fdc84687ceeL,0xc5ded6b1a5b26c09L,0x8e4a5aecc8ea7650L,
  31381. 0x23b73e5c14cc417fL } },
  31382. /* 20 << 112 */
  31383. { { 0x2bfb43183037bf52L,0xb61e6db578c725d7L,0x8efd4060bbb3e5d7L,
  31384. 0x2e014701dbac488eL },
  31385. { 0xac75cf9a360aa449L,0xb70cfd0579634d08L,0xa591536dfffb15efL,
  31386. 0xb2c37582d07c106cL } },
  31387. /* 21 << 112 */
  31388. { { 0xb4293fdcf50225f9L,0xc52e175cb0e12b03L,0xf649c3bad0a8bf64L,
  31389. 0x745a8fefeb8ae3c6L },
  31390. { 0x30d7e5a358321bc3L,0xb1732be70bc4df48L,0x1f217993e9ea5058L,
  31391. 0xf7a71cde3e4fd745L } },
  31392. /* 22 << 112 */
  31393. { { 0x86cc533e894c5bbbL,0x6915c7d969d83082L,0xa6aa2d055815c244L,
  31394. 0xaeeee59249b22ce5L },
  31395. { 0x89e39d1378135486L,0x3a275c1f16b76f2fL,0xdb6bcc1be036e8f5L,
  31396. 0x4df69b215e4709f5L } },
  31397. /* 23 << 112 */
  31398. { { 0xa188b2502d0f39aaL,0x622118bb15a85947L,0x2ebf520ffde0f4faL,
  31399. 0xa40e9f294860e539L },
  31400. { 0x7b6a51eb22b57f0fL,0x849a33b97e80644aL,0x50e5d16f1cf095feL,
  31401. 0xd754b54eec55f002L } },
  31402. /* 24 << 112 */
  31403. { { 0x5cfbbb22236f4a98L,0x0b0c59e9066800bbL,0x4ac69a8f5a9a7774L,
  31404. 0x2b33f804d6bec948L },
  31405. { 0xb372929532e6c466L,0x68956d0f4e599c73L,0xa47a249f155c31ccL,
  31406. 0x24d80f0de1ce284eL } },
  31407. /* 25 << 112 */
  31408. { { 0xcd821dfb988baf01L,0xe6331a7ddbb16647L,0x1eb8ad33094cb960L,
  31409. 0x593cca38c91bbca5L },
  31410. { 0x384aac8d26567456L,0x40fa0309c04b6490L,0x97834cd6dab6c8f6L,
  31411. 0x68a7318d3f91e55fL } },
  31412. /* 26 << 112 */
  31413. { { 0xa00fd04efc4d3157L,0xb56f8ab22bf3bdeaL,0x014f56484fa57172L,
  31414. 0x948c5860450abdb3L },
  31415. { 0x342b5df00ebd4f08L,0x3e5168cd0e82938eL,0x7aedc1ceb0df5dd0L,
  31416. 0x6bbbc6d9e5732516L } },
  31417. /* 27 << 112 */
  31418. { { 0xc7bfd486605daaa6L,0x46fd72b7bb9a6c9eL,0xe4847fb1a124fb89L,
  31419. 0x75959cbda2d8ffbcL },
  31420. { 0x42579f65c8a588eeL,0x368c92e6b80b499dL,0xea4ef6cd999a5df1L,
  31421. 0xaa73bb7f936fe604L } },
  31422. /* 28 << 112 */
  31423. { { 0xf347a70d6457d188L,0x86eda86b8b7a388bL,0xb7cdff060ccd6013L,
  31424. 0xbeb1b6c7d0053fb2L },
  31425. { 0x0b02238799240a9fL,0x1bbb384f776189b2L,0x8695e71e9066193aL,
  31426. 0x2eb5009706ffac7eL } },
  31427. /* 29 << 112 */
  31428. { { 0x0654a9c04a7d2caaL,0x6f3fb3d1a5aaa290L,0x835db041ff476e8fL,
  31429. 0x540b8b0bc42295e4L },
  31430. { 0xa5c73ac905e214f5L,0x9a74075a56a0b638L,0x2e4b1090ce9e680bL,
  31431. 0x57a5b4796b8d9afaL } },
  31432. /* 30 << 112 */
  31433. { { 0x0dca48e726bfe65cL,0x097e391c7290c307L,0x683c462e6669e72eL,
  31434. 0xf505be1e062559acL },
  31435. { 0x5fbe3ea1e3a3035aL,0x6431ebf69cd50da8L,0xfd169d5c1f6407f2L,
  31436. 0x8d838a9560fce6b8L } },
  31437. /* 31 << 112 */
  31438. { { 0x2a2bfa7f650006f0L,0xdfd7dad350c0fbb2L,0x92452495ccf9ad96L,
  31439. 0x183bf494d95635f9L },
  31440. { 0x02d5df434a7bd989L,0x505385cca5431095L,0xdd98e67dfd43f53eL,
  31441. 0xd61e1a6c500c34a9L } },
  31442. /* 32 << 112 */
  31443. { { 0x5a4b46c64a8a3d62L,0x8469c4d0247743d2L,0x2bb3a13d88f7e433L,
  31444. 0x62b23a1001be5849L },
  31445. { 0xe83596b4a63d1a4cL,0x454e7fea7d183f3eL,0x643fce6117afb01cL,
  31446. 0x4e65e5e61c4c3638L } },
  31447. /* 33 << 112 */
  31448. { { 0x41d85ea1ef74c45bL,0x2cfbfa66ae328506L,0x98b078f53ada7da9L,
  31449. 0xd985fe37ec752fbbL },
  31450. { 0xeece68fe5a0148b4L,0x6f9a55c72d78136dL,0x232dccc4d2b729ceL,
  31451. 0xa27e0dfd90aafbc4L } },
  31452. /* 34 << 112 */
  31453. { { 0x9647445212b4603eL,0xa876c5516b706d14L,0xdf145fcf69a9d412L,
  31454. 0xe2ab75b72d479c34L },
  31455. { 0x12df9a761a23ff97L,0xc61389925d359d10L,0x6e51c7aefa835f22L,
  31456. 0x69a79cb1c0fcc4d9L } },
  31457. /* 35 << 112 */
  31458. { { 0xf57f350d594cc7e1L,0x3079ca633350ab79L,0x226fb6149aff594aL,
  31459. 0x35afec026d59a62bL },
  31460. { 0x9bee46f406ed2c6eL,0x58da17357d939a57L,0x44c504028fd1797eL,
  31461. 0xd8853e7c5ccea6caL } },
  31462. /* 36 << 112 */
  31463. { { 0x4065508da35fcd5fL,0x8965df8c495ccaebL,0x0f2da85012e1a962L,
  31464. 0xee471b94c1cf1cc4L },
  31465. { 0xcef19bc80a08fb75L,0x704958f581de3591L,0x2867f8b23aef4f88L,
  31466. 0x8d749384ea9f9a5fL } },
  31467. /* 37 << 112 */
  31468. { { 0x1b3855378c9049f4L,0x5be948f37b92d8b6L,0xd96f725db6e2bd6bL,
  31469. 0x37a222bc958c454dL },
  31470. { 0xe7c61abb8809bf61L,0x46f07fbc1346f18dL,0xfb567a7ae87c0d1cL,
  31471. 0x84a461c87ef3d07aL } },
  31472. /* 38 << 112 */
  31473. { { 0x0a5adce6d9278d98L,0x24d948139dfc73e1L,0x4f3528b6054321c3L,
  31474. 0x2e03fdde692ea706L },
  31475. { 0x10e6061947b533c0L,0x1a8bc73f2ca3c055L,0xae58d4b21bb62b8fL,
  31476. 0xb2045a73584a24e3L } },
  31477. /* 39 << 112 */
  31478. { { 0x3ab3d5afbd76e195L,0x478dd1ad6938a810L,0x6ffab3936ee3d5cbL,
  31479. 0xdfb693db22b361e4L },
  31480. { 0xf969449651dbf1a7L,0xcab4b4ef08a2e762L,0xe8c92f25d39bba9aL,
  31481. 0x850e61bcf1464d96L } },
  31482. /* 40 << 112 */
  31483. { { 0xb7e830e3dc09508bL,0xfaf6d2cf74317655L,0x72606cebdf690355L,
  31484. 0x48bb92b3d0c3ded6L },
  31485. { 0x65b754845c7cf892L,0xf6cd7ac9d5d5f01fL,0xc2c30a5996401d69L,
  31486. 0x91268650ed921878L } },
  31487. /* 41 << 112 */
  31488. { { 0x380bf913b78c558fL,0x43c0baebc8afdaa9L,0x377f61d554f169d3L,
  31489. 0xf8da07e3ae5ff20bL },
  31490. { 0xb676c49da8a90ea8L,0x81c1ff2b83a29b21L,0x383297ac2ad8d276L,
  31491. 0x3001122fba89f982L } },
  31492. /* 42 << 112 */
  31493. { { 0xe1d794be6718e448L,0x246c14827c3e6e13L,0x56646ef85d26b5efL,
  31494. 0x80f5091e88069cddL },
  31495. { 0xc5992e2f724bdd38L,0x02e915b48471e8c7L,0x96ff320a0d0ff2a9L,
  31496. 0xbf8864874384d1a0L } },
  31497. /* 43 << 112 */
  31498. { { 0xbbe1e6a6c93f72d6L,0xd5f75d12cad800eaL,0xfa40a09fe7acf117L,
  31499. 0x32c8cdd57581a355L },
  31500. { 0x742219927023c499L,0xa8afe5d738ec3901L,0x5691afcba90e83f0L,
  31501. 0x41bcaa030b8f8eacL } },
  31502. /* 44 << 112 */
  31503. { { 0xe38b5ff98d2668d5L,0x0715281a7ad81965L,0x1bc8fc7c03c6ce11L,
  31504. 0xcbbee6e28b650436L },
  31505. { 0x06b00fe80cdb9808L,0x17d6e066fe3ed315L,0x2e9d38c64d0b5018L,
  31506. 0xab8bfd56844dcaefL } },
  31507. /* 45 << 112 */
  31508. { { 0x42894a59513aed8bL,0xf77f3b6d314bd07aL,0xbbdecb8f8e42b582L,
  31509. 0xf10e2fa8d2390fe6L },
  31510. { 0xefb9502262a2f201L,0x4d59ea5050ee32b0L,0xd87f77286da789a8L,
  31511. 0xcf98a2cff79492c4L } },
  31512. /* 46 << 112 */
  31513. { { 0xf9577239720943c2L,0xba044cf53990b9d0L,0x5aa8e82395f2884aL,
  31514. 0x834de6ed0278a0afL },
  31515. { 0xc8e1ee9a5f25bd12L,0x9259ceaa6f7ab271L,0x7e6d97a277d00b76L,
  31516. 0x5c0c6eeaa437832aL } },
  31517. /* 47 << 112 */
  31518. { { 0x5232c20f5606b81dL,0xabd7b3750d991ee5L,0x4d2bfe358632d951L,
  31519. 0x78f8514698ed9364L },
  31520. { 0x951873f0f30c3282L,0x0da8ac80a789230bL,0x3ac7789c5398967fL,
  31521. 0xa69b8f7fbdda0fb5L } },
  31522. /* 48 << 112 */
  31523. { { 0xe5db77176add8545L,0x1b71cb6672c49b66L,0xd856073968421d77L,
  31524. 0x03840fe883e3afeaL },
  31525. { 0xb391dad51ec69977L,0xae243fb9307f6726L,0xc88ac87be8ca160cL,
  31526. 0x5174cced4ce355f4L } },
  31527. /* 49 << 112 */
  31528. { { 0x98a35966e58ba37dL,0xfdcc8da27817335dL,0x5b75283083fbc7bfL,
  31529. 0x68e419d4d9c96984L },
  31530. { 0x409a39f402a40380L,0x88940faf1fe977bcL,0xc640a94b8f8edea6L,
  31531. 0x1e22cd17ed11547dL } },
  31532. /* 50 << 112 */
  31533. { { 0xe28568ce59ffc3e2L,0x60aa1b55c1dee4e7L,0xc67497c8837cb363L,
  31534. 0x06fb438a105a2bf2L },
  31535. { 0x30357ec4500d8e20L,0x1ad9095d0670db10L,0x7f589a05c73b7cfdL,
  31536. 0xf544607d880d6d28L } },
  31537. /* 51 << 112 */
  31538. { { 0x17ba93b1a20ef103L,0xad8591306ba6577bL,0x65c91cf66fa214a0L,
  31539. 0xd7d49c6c27990da5L },
  31540. { 0xecd9ec8d20bb569dL,0xbd4b2502eeffbc33L,0x2056ca5a6bed0467L,
  31541. 0x7916a1f75b63728cL } },
  31542. /* 52 << 112 */
  31543. { { 0xd4f9497d53a4f566L,0x8973466497b56810L,0xf8e1da740494a621L,
  31544. 0x82546a938d011c68L },
  31545. { 0x1f3acb19c61ac162L,0x52f8fa9cabad0d3eL,0x15356523b4b7ea43L,
  31546. 0x5a16ad61ae608125L } },
  31547. /* 53 << 112 */
  31548. { { 0xb0bcb87f4faed184L,0x5f236b1d5029f45fL,0xd42c76070bc6b1fcL,
  31549. 0xc644324e68aefce3L },
  31550. { 0x8e191d595c5d8446L,0xc020807713ae1979L,0xadcaee553ba59cc7L,
  31551. 0x20ed6d6ba2cb81baL } },
  31552. /* 54 << 112 */
  31553. { { 0x0952ba19b6efcffcL,0x60f12d6897c0b87cL,0x4ee2c7c49caa30bcL,
  31554. 0x767238b797fbff4eL },
  31555. { 0xebc73921501b5d92L,0x3279e3dfc2a37737L,0x9fc12bc86d197543L,
  31556. 0xfa94dc6f0a40db4eL } },
  31557. /* 55 << 112 */
  31558. { { 0x7392b41a530ccbbdL,0x87c82146ea823525L,0xa52f984c05d98d0cL,
  31559. 0x2ae57d735ef6974cL },
  31560. { 0x9377f7bf3042a6ddL,0xb1a007c019647a64L,0xfaa9079a0cca9767L,
  31561. 0x3d81a25bf68f72d5L } },
  31562. /* 56 << 112 */
  31563. { { 0x752067f8ff81578eL,0x786221509045447dL,0xc0c22fcf0505aa6fL,
  31564. 0x1030f0a66bed1c77L },
  31565. { 0x31f29f151f0bd739L,0x2d7989c7e6debe85L,0x5c070e728e677e98L,
  31566. 0x0a817bd306e81fd5L } },
  31567. /* 57 << 112 */
  31568. { { 0xc110d830b0f2ac95L,0x48d0995aab20e64eL,0x0f3e00e17729cd9aL,
  31569. 0x2a570c20dd556946L },
  31570. { 0x912dbcfd4e86214dL,0x2d014ee2cf615498L,0x55e2b1e63530d76eL,
  31571. 0xc5135ae4fd0fd6d1L } },
  31572. /* 58 << 112 */
  31573. { { 0x0066273ad4f3049fL,0xbb8e9893e7087477L,0x2dba1ddb14c6e5fdL,
  31574. 0xdba3788651f57e6cL },
  31575. { 0x5aaee0a65a72f2cfL,0x1208bfbf7bea5642L,0xf5c6aa3b67872c37L,
  31576. 0xd726e08343f93224L } },
  31577. /* 59 << 112 */
  31578. { { 0x1854daa5061f1658L,0xc0016df1df0cd2b3L,0xc2a3f23e833d50deL,
  31579. 0x73b681d2bbbd3017L },
  31580. { 0x2f046dc43ac343c0L,0x9c847e7d85716421L,0xe1e13c910917eed4L,
  31581. 0x3fc9eebd63a1b9c6L } },
  31582. /* 60 << 112 */
  31583. { { 0x0f816a727fe02299L,0x6335ccc2294f3319L,0x3820179f4745c5beL,
  31584. 0xe647b782922f066eL },
  31585. { 0xc22e49de02cafb8aL,0x299bc2fffcc2ecccL,0x9a8feea26e0e8282L,
  31586. 0xa627278bfe893205L } },
  31587. /* 61 << 112 */
  31588. { { 0xa7e197337933e47bL,0xf4ff6b132e766402L,0xa4d8be0a98440d9fL,
  31589. 0x658f5c2f38938808L },
  31590. { 0x90b75677c95b3b3eL,0xfa0442693137b6ffL,0x077b039b43c47c29L,
  31591. 0xcca95dd38a6445b2L } },
  31592. /* 62 << 112 */
  31593. { { 0x0b498ba42333fc4cL,0x274f8e68f736a1b1L,0x6ca348fd5f1d4b2eL,
  31594. 0x24d3be78a8f10199L },
  31595. { 0x8535f858ca14f530L,0xa6e7f1635b982e51L,0x847c851236e1bf62L,
  31596. 0xf6a7c58e03448418L } },
  31597. /* 63 << 112 */
  31598. { { 0x583f3703f9374ab6L,0x864f91956e564145L,0x33bc3f4822526d50L,
  31599. 0x9f323c801262a496L },
  31600. { 0xaa97a7ae3f046a9aL,0x70da183edf8a039aL,0x5b68f71c52aa0ba6L,
  31601. 0x9be0fe5121459c2dL } },
  31602. /* 64 << 112 */
  31603. { { 0xc1e17eb6cbc613e5L,0x33131d55497ea61cL,0x2f69d39eaf7eded5L,
  31604. 0x73c2f434de6af11bL },
  31605. { 0x4ca52493a4a375faL,0x5f06787cb833c5c2L,0x814e091f3e6e71cfL,
  31606. 0x76451f578b746666L } },
  31607. /* 0 << 119 */
  31608. { { 0x00, 0x00, 0x00, 0x00 },
  31609. { 0x00, 0x00, 0x00, 0x00 } },
  31610. /* 1 << 119 */
  31611. { { 0x80f9bdef694db7e0L,0xedca8787b9fcddc6L,0x51981c3403b8dce1L,
  31612. 0x4274dcf170e10ba1L },
  31613. { 0xf72743b86def6d1aL,0xd25b1670ebdb1866L,0xc4491e8c050c6f58L,
  31614. 0x2be2b2ab87fbd7f5L } },
  31615. /* 2 << 119 */
  31616. { { 0x3e0e5c9dd111f8ecL,0xbcc33f8db7c4e760L,0x702f9a91bd392a51L,
  31617. 0x7da4a795c132e92dL },
  31618. { 0x1a0b0ae30bb1151bL,0x54febac802e32251L,0xea3a5082694e9e78L,
  31619. 0xe58ffec1e4fe40b8L } },
  31620. /* 3 << 119 */
  31621. { { 0xf85592fcd1e0cf9eL,0xdea75f0dc0e7b2e8L,0xc04215cfc135584eL,
  31622. 0x174fc7272f57092aL },
  31623. { 0xe7277877eb930beaL,0x504caccb5eb02a5aL,0xf9fe08f7f5241b9bL,
  31624. 0xe7fb62f48d5ca954L } },
  31625. /* 4 << 119 */
  31626. { { 0xfbb8349d29c4120bL,0x9f94391fc0d0d915L,0xc4074fa75410ba51L,
  31627. 0xa66adbf6150a5911L },
  31628. { 0xc164543c34bfca38L,0xe0f27560b9e1ccfcL,0x99da0f53e820219cL,
  31629. 0xe8234498c6b4997aL } },
  31630. /* 5 << 119 */
  31631. { { 0xcfb88b769d4c5423L,0x9e56eb10b0521c49L,0x418e0b5ebe8700a1L,
  31632. 0x00cbaad6f93cb58aL },
  31633. { 0xe923fbded92a5e67L,0xca4979ac1f347f11L,0x89162d856bc0585bL,
  31634. 0xdd6254afac3c70e3L } },
  31635. /* 6 << 119 */
  31636. { { 0x7b23c513516e19e4L,0x56e2e847c5c4d593L,0x9f727d735ce71ef6L,
  31637. 0x5b6304a6f79a44c5L },
  31638. { 0x6638a7363ab7e433L,0x1adea470fe742f83L,0xe054b8545b7fc19fL,
  31639. 0xf935381aba1d0698L } },
  31640. /* 7 << 119 */
  31641. { { 0x546eab2d799e9a74L,0x96239e0ea949f729L,0xca274c6b7090055aL,
  31642. 0x835142c39020c9b0L },
  31643. { 0xa405667aa2e8807fL,0x29f2c0851aa3d39eL,0xcc555d6442fc72f5L,
  31644. 0xe856e0e7fbeacb3cL } },
  31645. /* 8 << 119 */
  31646. { { 0xb5504f9d918e4936L,0x65035ef6b2513982L,0x0553a0c26f4d9cb9L,
  31647. 0x6cb10d56bea85509L },
  31648. { 0x48d957b7a242da11L,0x16a4d3dd672b7268L,0x3d7e637c8502a96bL,
  31649. 0x27c7032b730d463bL } },
  31650. /* 9 << 119 */
  31651. { { 0xbdc02b18e4136a14L,0xbacf969d678e32bfL,0xc98d89a3dd9c3c03L,
  31652. 0x7b92420a23becc4fL },
  31653. { 0xd4b41f78c64d565cL,0x9f969d0010f28295L,0xec7f7f76b13d051aL,
  31654. 0x08945e1ea92da585L } },
  31655. /* 10 << 119 */
  31656. { { 0x55366b7d5846426fL,0xe7d09e89247d441dL,0x510b404d736fbf48L,
  31657. 0x7fa003d0e784bd7dL },
  31658. { 0x25f7614f17fd9596L,0x49e0e0a135cb98dbL,0x2c65957b2e83a76aL,
  31659. 0x5d40da8dcddbe0f8L } },
  31660. /* 11 << 119 */
  31661. { { 0xf2b8c405050bad24L,0x8918426dc2aa4823L,0x2aeab3dda38365a7L,
  31662. 0x720317177c91b690L },
  31663. { 0x8b00d69960a94120L,0x478a255de99eaeecL,0xbf656a5f6f60aafdL,
  31664. 0xdfd7cb755dee77b3L } },
  31665. /* 12 << 119 */
  31666. { { 0x37f68bb4a595939dL,0x0355647928740217L,0x8e740e7c84ad7612L,
  31667. 0xd89bc8439044695fL },
  31668. { 0xf7f3da5d85a9184dL,0x562563bb9fc0b074L,0x06d2e6aaf88a888eL,
  31669. 0x612d8643161fbe7cL } },
  31670. /* 13 << 119 */
  31671. { { 0x465edba7f64085e7L,0xb230f30429aa8511L,0x53388426cda2d188L,
  31672. 0x908857354b666649L },
  31673. { 0x6f02ff9a652f54f6L,0x65c822945fae2bf0L,0x7816ade062f5eee3L,
  31674. 0xdcdbdf43fcc56d70L } },
  31675. /* 14 << 119 */
  31676. { { 0x9fb3bba354530bb2L,0xbde3ef77cb0869eaL,0x89bc90460b431163L,
  31677. 0x4d03d7d2e4819a35L },
  31678. { 0x33ae4f9e43b6a782L,0x216db3079c88a686L,0x91dd88e000ffedd9L,
  31679. 0xb280da9f12bd4840L } },
  31680. /* 15 << 119 */
  31681. { { 0x32a7cb8a1635e741L,0xfe14008a78be02a7L,0x3fafb3341b7ae030L,
  31682. 0x7fd508e75add0ce9L },
  31683. { 0x72c83219d607ad51L,0x0f229c0a8d40964aL,0x1be2c3361c878da2L,
  31684. 0xe0c96742eab2ab86L } },
  31685. /* 16 << 119 */
  31686. { { 0x458f86913e538cd7L,0xa7001f6c8e08ad53L,0x52b8c6e6bf5d15ffL,
  31687. 0x548234a4011215ddL },
  31688. { 0xff5a9d2d3d5b4045L,0xb0ffeeb64a904190L,0x55a3aca448607f8bL,
  31689. 0x8cbd665c30a0672aL } },
  31690. /* 17 << 119 */
  31691. { { 0x87f834e042583068L,0x02da2aebf3f6e683L,0x6b763e5d05c12248L,
  31692. 0x7230378f65a8aefcL },
  31693. { 0x93bd80b571e8e5caL,0x53ab041cb3b62524L,0x1b8605136c9c552eL,
  31694. 0xe84d402cd5524e66L } },
  31695. /* 18 << 119 */
  31696. { { 0xa37f3573f37f5937L,0xeb0f6c7dd1e4fca5L,0x2965a554ac8ab0fcL,
  31697. 0x17fbf56c274676acL },
  31698. { 0x2e2f6bd9acf7d720L,0x41fc8f8810224766L,0x517a14b385d53befL,
  31699. 0xdae327a57d76a7d1L } },
  31700. /* 19 << 119 */
  31701. { { 0x6ad0a065c4818267L,0x33aa189b37c1bbc1L,0x64970b5227392a92L,
  31702. 0x21699a1c2d1535eaL },
  31703. { 0xcd20779cc2d7a7fdL,0xe318605999c83cf2L,0x9b69440b72c0b8c7L,
  31704. 0xa81497d77b9e0e4dL } },
  31705. /* 20 << 119 */
  31706. { { 0x515d5c891f5f82dcL,0x9a7f67d76361079eL,0xa8da81e311a35330L,
  31707. 0xe44990c44b18be1bL },
  31708. { 0xc7d5ed95af103e59L,0xece8aba78dac9261L,0xbe82b0999394b8d3L,
  31709. 0x6830f09a16adfe83L } },
  31710. /* 21 << 119 */
  31711. { { 0x250a29b488172d01L,0x8b20bd65caff9e02L,0xb8a7661ee8a6329aL,
  31712. 0x4520304dd3fce920L },
  31713. { 0xae45da1f2b47f7efL,0xe07f52885bffc540L,0xf79970093464f874L,
  31714. 0x2244c2cda6fa1f38L } },
  31715. /* 22 << 119 */
  31716. { { 0x43c41ac194d7d9b1L,0x5bafdd82c82e7f17L,0xdf0614c15fda0fcaL,
  31717. 0x74b043a7a8ae37adL },
  31718. { 0x3ba6afa19e71734cL,0x15d5437e9c450f2eL,0x4a5883fe67e242b1L,
  31719. 0x5143bdc22c1953c2L } },
  31720. /* 23 << 119 */
  31721. { { 0x542b8b53fc5e8920L,0x363bf9a89a9cee08L,0x02375f10c3486e08L,
  31722. 0x2037543b8c5e70d2L },
  31723. { 0x7109bccc625640b4L,0xcbc1051e8bc62c3bL,0xf8455fed803f26eaL,
  31724. 0x6badceabeb372424L } },
  31725. /* 24 << 119 */
  31726. { { 0xa2a9ce7c6b53f5f9L,0x642465951b176d99L,0xb1298d36b95c081bL,
  31727. 0x53505bb81d9a9ee6L },
  31728. { 0x3f6f9e61f2ba70b0L,0xd07e16c98afad453L,0x9f1694bbe7eb4a6aL,
  31729. 0xdfebced93cb0bc8eL } },
  31730. /* 25 << 119 */
  31731. { { 0x92d3dcdc53868c8bL,0x174311a2386107a6L,0x4109e07c689b4e64L,
  31732. 0x30e4587f2df3dcb6L },
  31733. { 0x841aea310811b3b2L,0x6144d41d0cce43eaL,0x464c45812a9a7803L,
  31734. 0xd03d371f3e158930L } },
  31735. /* 26 << 119 */
  31736. { { 0xc676d7f2b1f3390bL,0x9f7a1b8ca5b61272L,0x4ebebfc9c2e127a9L,
  31737. 0x4602500c5dd997bfL },
  31738. { 0x7f09771c4711230fL,0x058eb37c020f09c1L,0xab693d4bfee5e38bL,
  31739. 0x9289eb1f4653cbc0L } },
  31740. /* 27 << 119 */
  31741. { { 0xbecf46abd51b9cf5L,0xd2aa9c029f0121afL,0x36aaf7d2e90dc274L,
  31742. 0x909e4ea048b95a3cL },
  31743. { 0xe6b704966f32dbdbL,0x672188a08b030b3eL,0xeeffe5b3cfb617e2L,
  31744. 0x87e947de7c82709eL } },
  31745. /* 28 << 119 */
  31746. { { 0xa44d2b391770f5a7L,0xe4d4d7910e44eb82L,0x42e69d1e3f69712aL,
  31747. 0xbf11c4d6ac6a820eL },
  31748. { 0xb5e7f3e542c4224cL,0xd6b4e81c449d941cL,0x5d72bd165450e878L,
  31749. 0x6a61e28aee25ac54L } },
  31750. /* 29 << 119 */
  31751. { { 0x33272094e6f1cd95L,0x7512f30d0d18673fL,0x32f7a4ca5afc1464L,
  31752. 0x2f0956566bbb977bL },
  31753. { 0x586f47caa8226200L,0x02c868ad1ac07369L,0x4ef2b845c613acbeL,
  31754. 0x43d7563e0386054cL } },
  31755. /* 30 << 119 */
  31756. { { 0x54da9dc7ab952578L,0xb5423df226e84d0bL,0xa8b64eeb9b872042L,
  31757. 0xac2057825990f6dfL },
  31758. { 0x4ff696eb21f4c77aL,0x1a79c3e4aab273afL,0x29bc922e9436b3f1L,
  31759. 0xff807ef8d6d9a27aL } },
  31760. /* 31 << 119 */
  31761. { { 0x82acea3d778f22a0L,0xfb10b2e85b5e7469L,0xc0b169802818ee7dL,
  31762. 0x011afff4c91c1a2fL },
  31763. { 0x95a6d126ad124418L,0x31c081a5e72e295fL,0x36bb283af2f4db75L,
  31764. 0xd115540f7acef462L } },
  31765. /* 32 << 119 */
  31766. { { 0xc7f3a8f833f6746cL,0x21e46f65fea990caL,0x915fd5c5caddb0a9L,
  31767. 0xbd41f01678614555L },
  31768. { 0x346f4434426ffb58L,0x8055943614dbc204L,0xf3dd20fe5a969b7fL,
  31769. 0x9d59e956e899a39aL } },
  31770. /* 33 << 119 */
  31771. { { 0xf1b0971c8ad4cf4bL,0x034488602ffb8fb8L,0xf071ac3c65340ba4L,
  31772. 0x408d0596b27fd758L },
  31773. { 0xe7c78ea498c364b0L,0xa4aac4a5051e8ab5L,0xb9e1d560485d9002L,
  31774. 0x9acd518a88844455L } },
  31775. /* 34 << 119 */
  31776. { { 0xe4ca688fd06f56c0L,0xa48af70ddf027972L,0x691f0f045e9a609dL,
  31777. 0xa9dd82cdee61270eL },
  31778. { 0x8903ca63a0ef18d3L,0x9fb7ee353d6ca3bdL,0xa7b4a09cabf47d03L,
  31779. 0x4cdada011c67de8eL } },
  31780. /* 35 << 119 */
  31781. { { 0x520037499355a244L,0xe77fd2b64f2151a9L,0x695d6cf666b4efcbL,
  31782. 0xc5a0cacfda2cfe25L },
  31783. { 0x104efe5cef811865L,0xf52813e89ea5cc3dL,0x855683dc40b58dbcL,
  31784. 0x0338ecde175fcb11L } },
  31785. /* 36 << 119 */
  31786. { { 0xf9a0563774921592L,0xb4f1261db9bb9d31L,0x551429b74e9c5459L,
  31787. 0xbe182e6f6ea71f53L },
  31788. { 0xd3a3b07cdfc50573L,0x9ba1afda62be8d44L,0x9bcfd2cb52ab65d3L,
  31789. 0xdf11d547a9571802L } },
  31790. /* 37 << 119 */
  31791. { { 0x099403ee02a2404aL,0x497406f421088a71L,0x994794095004ae71L,
  31792. 0xbdb42078a812c362L },
  31793. { 0x2b72a30fd8828442L,0x283add27fcb5ed1cL,0xf7c0e20066a40015L,
  31794. 0x3e3be64108b295efL } },
  31795. /* 38 << 119 */
  31796. { { 0xac127dc1e038a675L,0x729deff38c5c6320L,0xb7df8fd4a90d2c53L,
  31797. 0x9b74b0ec681e7cd3L },
  31798. { 0x5cb5a623dab407e5L,0xcdbd361576b340c6L,0xa184415a7d28392cL,
  31799. 0xc184c1d8e96f7830L } },
  31800. /* 39 << 119 */
  31801. { { 0xc3204f1981d3a80fL,0xfde0c841c8e02432L,0x78203b3e8149e0c1L,
  31802. 0x5904bdbb08053a73L },
  31803. { 0x30fc1dd1101b6805L,0x43c223bc49aa6d49L,0x9ed671417a174087L,
  31804. 0x311469a0d5997008L } },
  31805. /* 40 << 119 */
  31806. { { 0xb189b6845e43fc61L,0xf3282375e0d3ab57L,0x4fa34b67b1181da8L,
  31807. 0x621ed0b299ee52b8L },
  31808. { 0x9b178de1ad990676L,0xd51de67b56d54065L,0x2a2c27c47538c201L,
  31809. 0x33856ec838a40f5cL } },
  31810. /* 41 << 119 */
  31811. { { 0x2522fc15be6cdcdeL,0x1e603f339f0c6f89L,0x7994edc3103e30a6L,
  31812. 0x033a00db220c853eL },
  31813. { 0xd3cfa409f7bb7fd7L,0x70f8781e462d18f6L,0xbbd82980687fe295L,
  31814. 0x6eef4c32595669f3L } },
  31815. /* 42 << 119 */
  31816. { { 0x86a9303b2f7e85c3L,0x5fce462171988f9bL,0x5b935bf6c138acb5L,
  31817. 0x30ea7d6725661212L },
  31818. { 0xef1eb5f4e51ab9a2L,0x0587c98aae067c78L,0xb3ce1b3c77ca9ca6L,
  31819. 0x2a553d4d54b5f057L } },
  31820. /* 43 << 119 */
  31821. { { 0xc78982364da29ec2L,0xdbdd5d13b9c57316L,0xc57d6e6b2cd80d47L,
  31822. 0x80b460cffe9e7391L },
  31823. { 0x98648cabf963c31eL,0x67f9f633cc4d32fdL,0x0af42a9dfdf7c687L,
  31824. 0x55f292a30b015ea7L } },
  31825. /* 44 << 119 */
  31826. { { 0x89e468b2cd21ab3dL,0xe504f022c393d392L,0xab21e1d4a5013af9L,
  31827. 0xe3283f78c2c28acbL },
  31828. { 0xf38b35f6226bf99fL,0xe83542740e291e69L,0x61673a15b20c162dL,
  31829. 0xc101dc75b04fbdbeL } },
  31830. /* 45 << 119 */
  31831. { { 0x8323b4c2255bd617L,0x6c9696936c2a9154L,0xc6e6586062679387L,
  31832. 0x8e01db0cb8c88e23L },
  31833. { 0x33c42873893a5559L,0x7630f04b47a3e149L,0xb5d80805ddcf35f8L,
  31834. 0x582ca08077dfe732L } },
  31835. /* 46 << 119 */
  31836. { { 0x2c7156e10b1894a0L,0x92034001d81c68c0L,0xed225d00c8b115b5L,
  31837. 0x237f9c2283b907f2L },
  31838. { 0x0ea2f32f4470e2c0L,0xb725f7c158be4e95L,0x0f1dcafab1ae5463L,
  31839. 0x59ed51871ba2fc04L } },
  31840. /* 47 << 119 */
  31841. { { 0xf6e0f316d0115d4dL,0x5180b12fd3691599L,0x157e32c9527f0a41L,
  31842. 0x7b0b081da8e0ecc0L },
  31843. { 0x6dbaaa8abf4f0dd0L,0x99b289c74d252696L,0x79b7755edbf864feL,
  31844. 0x6974e2b176cad3abL } },
  31845. /* 48 << 119 */
  31846. { { 0x35dbbee206ddd657L,0xe7cbdd112ff3a96dL,0x88381968076be758L,
  31847. 0x2d737e7208c91f5dL },
  31848. { 0x5f83ab6286ec3776L,0x98aa649d945fa7a1L,0xf477ec3772ef0933L,
  31849. 0x66f52b1e098c17b1L } },
  31850. /* 49 << 119 */
  31851. { { 0x9eec58fbd803738bL,0x91aaade7e4e86aa4L,0x6b1ae617a5b51492L,
  31852. 0x63272121bbc45974L },
  31853. { 0x7e0e28f0862c5129L,0x0a8f79a93321a4a0L,0xe26d16645041c88fL,
  31854. 0x0571b80553233e3aL } },
  31855. /* 50 << 119 */
  31856. { { 0xd1b0ccdec9520711L,0x55a9e4ed3c8b84bfL,0x9426bd39a1fef314L,
  31857. 0x4f5f638e6eb93f2bL },
  31858. { 0xba2a1ed32bf9341bL,0xd63c13214d42d5a9L,0xd2964a89316dc7c5L,
  31859. 0xd1759606ca511851L } },
  31860. /* 51 << 119 */
  31861. { { 0xd8a9201ff9e6ed35L,0xb7b5ee456736925aL,0x0a83fbbc99581af7L,
  31862. 0x3076bc4064eeb051L },
  31863. { 0x5511c98c02dec312L,0x270de898238dcb78L,0x2cf4cf9c539c08c9L,
  31864. 0xa70cb65e38d3b06eL } },
  31865. /* 52 << 119 */
  31866. { { 0xb12ec10ecfe57bbdL,0x82c7b65635a0c2b5L,0xddc7d5cd161c67bdL,
  31867. 0xe32e8985ae3a32ccL },
  31868. { 0x7aba9444d11a5529L,0xe964ed022427fa1aL,0x1528392d24a1770aL,
  31869. 0xa152ce2c12c72fcdL } },
  31870. /* 53 << 119 */
  31871. { { 0x714553a48ec07649L,0x18b4c290459dd453L,0xea32b7147b64b110L,
  31872. 0xb871bfa52e6f07a2L },
  31873. { 0xb67112e59e2e3c9bL,0xfbf250e544aa90f6L,0xf77aedb8bd539006L,
  31874. 0x3b0cdf9ad172a66fL } },
  31875. /* 54 << 119 */
  31876. { { 0xedf69feaf8c51187L,0x05bb67ec741e4da7L,0x47df0f3208114345L,
  31877. 0x56facb07bb9792b1L },
  31878. { 0xf3e007e98f6229e4L,0x62d103f4526fba0fL,0x4f33bef7b0339d79L,
  31879. 0x9841357bb59bfec1L } },
  31880. /* 55 << 119 */
  31881. { { 0xfa8dbb59c34e6705L,0xc3c7180b7fdaa84cL,0xf95872fca4108537L,
  31882. 0x8750cc3b932a3e5aL },
  31883. { 0xb61cc69db7275d7dL,0xffa0168b2e59b2e9L,0xca032abc6ecbb493L,
  31884. 0x1d86dbd32c9082d8L } },
  31885. /* 56 << 119 */
  31886. { { 0xae1e0b67e28ef5baL,0x2c9a4699cb18e169L,0x0ecd0e331e6bbd20L,
  31887. 0x571b360eaf5e81d2L },
  31888. { 0xcd9fea58101c1d45L,0x6651788e18880452L,0xa99726351f8dd446L,
  31889. 0x44bed022e37281d0L } },
  31890. /* 57 << 119 */
  31891. { { 0x094b2b2d33da525dL,0xf193678e13144fd8L,0xb8ab5ba4f4c1061dL,
  31892. 0x4343b5fadccbe0f4L },
  31893. { 0xa870237163812713L,0x47bf6d2df7611d93L,0x46729b8cbd21e1d7L,
  31894. 0x7484d4e0d629e77dL } },
  31895. /* 58 << 119 */
  31896. { { 0x830e6eea60dbac1fL,0x23d8c484da06a2f7L,0x896714b050ca535bL,
  31897. 0xdc8d3644ebd97a9bL },
  31898. { 0x106ef9fab12177b4L,0xf79bf464534d5d9cL,0x2537a349a6ab360bL,
  31899. 0xc7c54253a00c744fL } },
  31900. /* 59 << 119 */
  31901. { { 0xb3c7a047e5911a76L,0x61ffa5c8647f1ee7L,0x15aed36f8f56ab42L,
  31902. 0x6a0d41b0a3ff9ac9L },
  31903. { 0x68f469f5cc30d357L,0xbe9adf816b72be96L,0x1cd926fe903ad461L,
  31904. 0x7e89e38fcaca441bL } },
  31905. /* 60 << 119 */
  31906. { { 0xf0f82de5facf69d4L,0x363b7e764775344cL,0x6894f312b2e36d04L,
  31907. 0x3c6cb4fe11d1c9a5L },
  31908. { 0x85d9c3394008e1f2L,0x5e9a85ea249f326cL,0xdc35c60a678c5e06L,
  31909. 0xc08b944f9f86fba9L } },
  31910. /* 61 << 119 */
  31911. { { 0xde40c02c89f71f0fL,0xad8f3e31ff3da3c0L,0x3ea5096b42125dedL,
  31912. 0x13879cbfa7379183L },
  31913. { 0x6f4714a56b306a0bL,0x359c2ea667646c5eL,0xfacf894307726368L,
  31914. 0x07a5893565ff431eL } },
  31915. /* 62 << 119 */
  31916. { { 0x24d661d168754ab0L,0x801fce1d6f429a76L,0xc068a85fa58ce769L,
  31917. 0xedc35c545d5eca2bL },
  31918. { 0xea31276fa3f660d1L,0xa0184ebeb8fc7167L,0x0f20f21a1d8db0aeL,
  31919. 0xd96d095f56c35e12L } },
  31920. /* 63 << 119 */
  31921. { { 0xedf402b5f8c2a25bL,0x1bb772b9059204b6L,0x50cbeae219b4e34cL,
  31922. 0x93109d803fa0845aL },
  31923. { 0x54f7ccf78ef59fb5L,0x3b438fe288070963L,0x9e28c65931f3ba9bL,
  31924. 0x9cc31b46ead9da92L } },
  31925. /* 64 << 119 */
  31926. { { 0x3c2f0ba9b733aa5fL,0xdece47cbf05af235L,0xf8e3f715a2ac82a5L,
  31927. 0xc97ba6412203f18aL },
  31928. { 0xc3af550409c11060L,0x56ea2c0546af512dL,0xfac28daff3f28146L,
  31929. 0x87fab43a959ef494L } },
  31930. /* 0 << 126 */
  31931. { { 0x00, 0x00, 0x00, 0x00 },
  31932. { 0x00, 0x00, 0x00, 0x00 } },
  31933. /* 1 << 126 */
  31934. { { 0x09891641d4c5105fL,0x1ae80f8e6d7fbd65L,0x9d67225fbee6bdb0L,
  31935. 0x3b433b597fc4d860L },
  31936. { 0x44e66db693e85638L,0xf7b59252e3e9862fL,0xdb785157665c32ecL,
  31937. 0x702fefd7ae362f50L } },
  31938. /* 2 << 126 */
  31939. { { 0x3754475d0fefb0c3L,0xd48fb56b46d7c35dL,0xa070b633363798a4L,
  31940. 0xae89f3d28fdb98e6L },
  31941. { 0x970b89c86363d14cL,0x8981752167abd27dL,0x9bf7d47444d5a021L,
  31942. 0xb3083bafcac72aeeL } },
  31943. /* 3 << 126 */
  31944. { { 0x389741debe949a44L,0x638e9388546a4fa5L,0x3fe6419ca0047bdcL,
  31945. 0x7047f648aaea57caL },
  31946. { 0x54e48a9041fbab17L,0xda8e0b28576bdba2L,0xe807eebcc72afddcL,
  31947. 0x07d3336df42577bfL } },
  31948. /* 4 << 126 */
  31949. { { 0x62a8c244bfe20925L,0x91c19ac38fdce867L,0x5a96a5d5dd387063L,
  31950. 0x61d587d421d324f6L },
  31951. { 0xe87673a2a37173eaL,0x2384800853778b65L,0x10f8441e05bab43eL,
  31952. 0xfa11fe124621efbeL } },
  31953. /* 5 << 126 */
  31954. { { 0x047b772e81685d7bL,0x23f27d81bf34a976L,0xc27608e2915f48efL,
  31955. 0x3b0b43faa521d5c3L },
  31956. { 0x7613fb2663ca7284L,0x7f5729b41d4db837L,0x87b14898583b526bL,
  31957. 0x00b732a6bbadd3d1L } },
  31958. /* 6 << 126 */
  31959. { { 0x8e02f4262048e396L,0x436b50b6383d9de4L,0xf78d3481471e85adL,
  31960. 0x8b01ea6ad005c8d6L },
  31961. { 0xd3c7afee97015c07L,0x46cdf1a94e3ba2aeL,0x7a42e50183d3a1d2L,
  31962. 0xd54b5268b541dff4L } },
  31963. /* 7 << 126 */
  31964. { { 0x3f24cf304e23e9bcL,0x4387f816126e3624L,0x26a46a033b0b6d61L,
  31965. 0xaf1bc8458b2d777cL },
  31966. { 0x25c401ba527de79cL,0x0e1346d44261bbb6L,0x4b96c44b287b4bc7L,
  31967. 0x658493c75254562fL } },
  31968. /* 8 << 126 */
  31969. { { 0x23f949feb8a24a20L,0x17ebfed1f52ca53fL,0x9b691bbebcfb4853L,
  31970. 0x5617ff6b6278a05dL },
  31971. { 0x241b34c5e3c99ebdL,0xfc64242e1784156aL,0x4206482f695d67dfL,
  31972. 0xb967ce0eee27c011L } },
  31973. /* 9 << 126 */
  31974. { { 0x65db375121c80b5dL,0x2e7a563ca31ecca0L,0xe56ffc4e5238a07eL,
  31975. 0x3d6c296632ced854L },
  31976. { 0xe99d7d1aaf70b885L,0xafc3bad92d686459L,0x9c78bf460cc8ba5bL,
  31977. 0x5a43951918955aa3L } },
  31978. /* 10 << 126 */
  31979. { { 0xf8b517a85fe4e314L,0xe60234d0fcb8906fL,0xffe542acf2061b23L,
  31980. 0x287e191f6b4cb59cL },
  31981. { 0x21857ddc09d877d8L,0x1c23478c14678941L,0xbbf0c056b6e05ea4L,
  31982. 0x82da4b53b01594feL } },
  31983. /* 11 << 126 */
  31984. { { 0xf7526791fadb8608L,0x049e832d7b74cdf6L,0xa43581ccc2b90a34L,
  31985. 0x73639eb89360b10cL },
  31986. { 0x4fba331fe1e4a71bL,0x6ffd6b938072f919L,0x6e53271c65679032L,
  31987. 0x67206444f14272ceL } },
  31988. /* 12 << 126 */
  31989. { { 0xc0f734a3b2335834L,0x9526205a90ef6860L,0xcb8be71704e2bb0dL,
  31990. 0x2418871e02f383faL },
  31991. { 0xd71776814082c157L,0xcc914ad029c20073L,0xf186c1ebe587e728L,
  31992. 0x6fdb3c2261bcd5fdL } },
  31993. /* 13 << 126 */
  31994. { { 0x30d014a6f2f9f8e9L,0x963ece234fec49d2L,0x862025c59605a8d9L,
  31995. 0x3987444519f8929aL },
  31996. { 0x01b6ff6512bf476aL,0x598a64d809cf7d91L,0xd7ec774993be56caL,
  31997. 0x10899785cbb33615L } },
  31998. /* 14 << 126 */
  31999. { { 0xb8a092fd02eee3adL,0xa86b3d3530145270L,0x323d98c68512b675L,
  32000. 0x4b8bc78562ebb40fL },
  32001. { 0x7d301f54413f9cdeL,0xa5e4fb4f2bab5664L,0x1d2b252d1cbfec23L,
  32002. 0xfcd576bbe177120dL } },
  32003. /* 15 << 126 */
  32004. { { 0x04427d3e83731a34L,0x2bb9028eed836e8eL,0xb36acff8b612ca7cL,
  32005. 0xb88fe5efd3d9c73aL },
  32006. { 0xbe2a6bc6edea4eb3L,0x43b93133488eec77L,0xf41ff566b17106e1L,
  32007. 0x469e9172654efa32L } },
  32008. /* 16 << 126 */
  32009. { { 0xb4480f0441c23fa3L,0xb4712eb0c1989a2eL,0x3ccbba0f93a29ca7L,
  32010. 0x6e205c14d619428cL },
  32011. { 0x90db7957b3641686L,0x0432691d45ac8b4eL,0x07a759acf64e0350L,
  32012. 0x0514d89c9c972517L } },
  32013. /* 17 << 126 */
  32014. { { 0x1701147fa8e67fc3L,0x9e2e0b8bab2085beL,0xd5651824ac284e57L,
  32015. 0x890d432574893664L },
  32016. { 0x8a7c5e6ec55e68a3L,0xbf12e90b4339c85aL,0x31846b85f922b655L,
  32017. 0x9a54ce4d0bf4d700L } },
  32018. /* 18 << 126 */
  32019. { { 0xd7f4e83af1a14295L,0x916f955cb285d4f9L,0xe57bb0e099ffdabaL,
  32020. 0x28a43034eab0d152L },
  32021. { 0x0a36ffa2b8a9cef8L,0x5517407eb9ec051aL,0x9c796096ea68e672L,
  32022. 0x853db5fbfb3c77fbL } },
  32023. /* 19 << 126 */
  32024. { { 0x21474ba9e864a51aL,0x6c2676996e8a1b8bL,0x7c82362694120a28L,
  32025. 0xe61e9a488383a5dbL },
  32026. { 0x7dd750039f84216dL,0xab020d07ad43cd85L,0x9437ae48da12c659L,
  32027. 0x6449c2ebe65452adL } },
  32028. /* 20 << 126 */
  32029. { { 0xcc7c4c1c2cf9d7c1L,0x1320886aee95e5abL,0xbb7b9056beae170cL,
  32030. 0xc8a5b250dbc0d662L },
  32031. { 0x4ed81432c11d2303L,0x7da669121f03769fL,0x3ac7a5fd84539828L,
  32032. 0x14dada943bccdd02L } },
  32033. /* 21 << 126 */
  32034. { { 0x8b84c3217ef6b0d1L,0x52a9477a7c933f22L,0x5ef6728afd440b82L,
  32035. 0x5c3bd8596ce4bd5eL },
  32036. { 0x918b80f5f22c2d3eL,0x368d5040b7bb6cc5L,0xb66142a12695a11cL,
  32037. 0x60ac583aeb19ea70L } },
  32038. /* 22 << 126 */
  32039. { { 0x317cbb980eab2437L,0x8cc08c555e2654c8L,0xfe2d6520e6d8307fL,
  32040. 0xe9f147f357428993L },
  32041. { 0x5f9c7d14d2fd6cf1L,0xa3ecd0642d4fcbb0L,0xad83fef08e7341f7L,
  32042. 0x643f23a03a63115cL } },
  32043. /* 23 << 126 */
  32044. { { 0xd38a78abe65ab743L,0xbf7c75b135edc89cL,0x3dd8752e530df568L,
  32045. 0xf85c4a76e308c682L },
  32046. { 0x4c9955b2e68acf37L,0xa544df3dab32af85L,0x4b8ec3f5a25cf493L,
  32047. 0x4d8f27641a622febL } },
  32048. /* 24 << 126 */
  32049. { { 0x7bb4f7aaf0dcbc49L,0x7de551f970bbb45bL,0xcfd0f3e49f2ca2e5L,
  32050. 0xece587091f5c76efL },
  32051. { 0x32920edd167d79aeL,0x039df8a2fa7d7ec1L,0xf46206c0bb30af91L,
  32052. 0x1ff5e2f522676b59L } },
  32053. /* 25 << 126 */
  32054. { { 0x11f4a0396ea51d66L,0x506c1445807d7a26L,0x60da5705755a9b24L,
  32055. 0x8fc8cc321f1a319eL },
  32056. { 0x83642d4d9433d67dL,0x7fa5cb8f6a7dd296L,0x576591db9b7bde07L,
  32057. 0x13173d25419716fbL } },
  32058. /* 26 << 126 */
  32059. { { 0xea30599dd5b340ffL,0xfc6b5297b0fe76c5L,0x1c6968c8ab8f5adcL,
  32060. 0xf723c7f5901c928dL },
  32061. { 0x4203c3219773d402L,0xdf7c6aa31b51dd47L,0x3d49e37a552be23cL,
  32062. 0x57febee80b5a6e87L } },
  32063. /* 27 << 126 */
  32064. { { 0xc5ecbee47bd8e739L,0x79d44994ae63bf75L,0x168bd00f38fb8923L,
  32065. 0x75d48ee4d0533130L },
  32066. { 0x554f77aadb5cdf33L,0x3396e8963c696769L,0x2fdddbf2d3fd674eL,
  32067. 0xbbb8f6ee99d0e3e5L } },
  32068. /* 28 << 126 */
  32069. { { 0x51b90651cbae2f70L,0xefc4bc0593aaa8ebL,0x8ecd8689dd1df499L,
  32070. 0x1aee99a822f367a5L },
  32071. { 0x95d485b9ae8274c5L,0x6c14d4457d30b39cL,0xbafea90bbcc1ef81L,
  32072. 0x7c5f317aa459a2edL } },
  32073. /* 29 << 126 */
  32074. { { 0x012110754ef44227L,0xa17bed6edc20f496L,0x0cdfe424819853cdL,
  32075. 0x13793298f71e2ce7L },
  32076. { 0x3c1f3078dbbe307bL,0x6dd1c20e76ee9936L,0x23ee4b57423caa20L,
  32077. 0x4ac3793b8efb840eL } },
  32078. /* 30 << 126 */
  32079. { { 0x934438ebed1f8ca0L,0x3e5466584ebb25a2L,0xc415af0ec069896fL,
  32080. 0xc13eddb09a5aa43dL },
  32081. { 0x7a04204fd49eb8f6L,0xd0d5bdfcd74f1670L,0x3697e28656fc0558L,
  32082. 0x1020737101cebadeL } },
  32083. /* 31 << 126 */
  32084. { { 0x5f87e6900647a82bL,0x908e0ed48f40054fL,0xa9f633d479853803L,
  32085. 0x8ed13c9a4a28b252L },
  32086. { 0x3e2ef6761f460f64L,0x53930b9b36d06336L,0x347073ac8fc4979bL,
  32087. 0x84380e0e5ecd5597L } },
  32088. /* 32 << 126 */
  32089. { { 0xe3b22c6bc4fe3c39L,0xba4a81536c7bebdfL,0xf23ab6b725693459L,
  32090. 0x53bc377014922b11L },
  32091. { 0x4645c8ab5afc60dbL,0xaa02235520b9f2a3L,0x52a2954cce0fc507L,
  32092. 0x8c2731bb7ce1c2e7L } },
  32093. /* 33 << 126 */
  32094. { { 0xf39608ab18a0339dL,0xac7a658d3735436cL,0xb22c2b07cd992b4fL,
  32095. 0x4e83daecf40dcfd4L },
  32096. { 0x8a34c7be2f39ea3eL,0xef0c005fb0a56d2eL,0x62731f6a6edd8038L,
  32097. 0x5721d7404e3cb075L } },
  32098. /* 34 << 126 */
  32099. { { 0x1ea41511fbeeee1bL,0xd1ef5e73ef1d0c05L,0x42feefd173c07d35L,
  32100. 0xe530a00a8a329493L },
  32101. { 0x5d55b7fef15ebfb0L,0x549de03cd322491aL,0xf7b5f602745b3237L,
  32102. 0x3632a3a21ab6e2b6L } },
  32103. /* 35 << 126 */
  32104. { { 0x0d3bba890ef59f78L,0x0dfc6443c9e52b9aL,0x1dc7969972631447L,
  32105. 0xef033917b3be20b1L },
  32106. { 0x0c92735db1383948L,0xc1fc29a2c0dd7d7dL,0x6485b697403ed068L,
  32107. 0x13bfaab3aac93bdcL } },
  32108. /* 36 << 126 */
  32109. { { 0x410dc6a90deeaf52L,0xb003fb024c641c15L,0x1384978c5bc504c4L,
  32110. 0x37640487864a6a77L },
  32111. { 0x05991bc6222a77daL,0x62260a575e47eb11L,0xc7af6613f21b432cL,
  32112. 0x22f3acc9ab4953e9L } },
  32113. /* 37 << 126 */
  32114. { { 0x529349228e41d155L,0x4d0245683ac059efL,0xb02017554d884411L,
  32115. 0xce8055cfa59a178fL },
  32116. { 0xcd77d1aff6204549L,0xa0a00a3ec7066759L,0x471071ef0272c229L,
  32117. 0x009bcf6bd3c4b6b0L } },
  32118. /* 38 << 126 */
  32119. { { 0x2a2638a822305177L,0xd51d59df41645bbfL,0xa81142fdc0a7a3c0L,
  32120. 0xa17eca6d4c7063eeL },
  32121. { 0x0bb887ed60d9dcecL,0xd6d28e5120ad2455L,0xebed6308a67102baL,
  32122. 0x042c31148bffa408L } },
  32123. /* 39 << 126 */
  32124. { { 0xfd099ac58aa68e30L,0x7a6a3d7c1483513eL,0xffcc6b75ba2d8f0cL,
  32125. 0x54dacf961e78b954L },
  32126. { 0xf645696fa4a9af89L,0x3a41194006ac98ecL,0x41b8b3f622a67a20L,
  32127. 0x2d0b1e0f99dec626L } },
  32128. /* 40 << 126 */
  32129. { { 0x27c8919240be34e8L,0xc7162b3791907f35L,0x90188ec1a956702bL,
  32130. 0xca132f7ddf93769cL },
  32131. { 0x3ece44f90e2025b4L,0x67aaec690c62f14cL,0xad74141822e3cc11L,
  32132. 0xcf9b75c37ff9a50eL } },
  32133. /* 41 << 126 */
  32134. { { 0x02fa2b164d348272L,0xbd99d61a9959d56dL,0xbc4f19db18762916L,
  32135. 0xcc7cce5049c1ac80L },
  32136. { 0x4d59ebaad846bd83L,0x8775a9dca9202849L,0x07ec4ae16e1f4ca9L,
  32137. 0x27eb5875ba893f11L } },
  32138. /* 42 << 126 */
  32139. { { 0x00284d51662cc565L,0x82353a6b0db4138dL,0xd9c7aaaaaa32a594L,
  32140. 0xf5528b5ea5669c47L },
  32141. { 0xf32202312f23c5ffL,0xe3e8147a6affa3a1L,0xfb423d5c202ddda0L,
  32142. 0x3d6414ac6b871bd4L } },
  32143. /* 43 << 126 */
  32144. { { 0x586f82e1a51a168aL,0xb712c67148ae5448L,0x9a2e4bd176233eb8L,
  32145. 0x0188223a78811ca9L },
  32146. { 0x553c5e21f7c18de1L,0x7682e451b27bb286L,0x3ed036b30e51e929L,
  32147. 0xf487211bec9cb34fL } },
  32148. /* 44 << 126 */
  32149. { { 0x0d0942770c24efc8L,0x0349fd04bef737a4L,0x6d1c9dd2514cdd28L,
  32150. 0x29c135ff30da9521L },
  32151. { 0xea6e4508f78b0b6fL,0x176f5dd2678c143cL,0x081484184be21e65L,
  32152. 0x27f7525ce7df38c4L } },
  32153. /* 45 << 126 */
  32154. { { 0x1fb70e09748ab1a4L,0x9cba50a05efe4433L,0x7846c7a615f75af2L,
  32155. 0x2a7c2c575ee73ea8L },
  32156. { 0x42e566a43f0a449aL,0x45474c3bad90fc3dL,0x7447be3d8b61d057L,
  32157. 0x3e9d1cf13a4ec092L } },
  32158. /* 46 << 126 */
  32159. { { 0x1603e453f380a6e6L,0x0b86e4319b1437c2L,0x7a4173f2ef29610aL,
  32160. 0x8fa729a7f03d57f7L },
  32161. { 0x3e186f6e6c9c217eL,0xbe1d307991919524L,0x92a62a70153d4fb1L,
  32162. 0x32ed3e34d68c2f71L } },
  32163. /* 47 << 126 */
  32164. { { 0xd785027f9eb1a8b7L,0xbc37eb77c5b22fe8L,0x466b34f0b9d6a191L,
  32165. 0x008a89af9a05f816L },
  32166. { 0x19b028fb7d42c10aL,0x7fe8c92f49b3f6b8L,0x58907cc0a5a0ade3L,
  32167. 0xb3154f51559d1a7cL } },
  32168. /* 48 << 126 */
  32169. { { 0x5066efb6d9790ed6L,0xa77a0cbca6aa793bL,0x1a915f3c223e042eL,
  32170. 0x1c5def0469c5874bL },
  32171. { 0x0e83007873b6c1daL,0x55cf85d2fcd8557aL,0x0f7c7c760460f3b1L,
  32172. 0x87052acb46e58063L } },
  32173. /* 49 << 126 */
  32174. { { 0x09212b80907eae66L,0x3cb068e04d721c89L,0xa87941aedd45ac1cL,
  32175. 0xde8d5c0d0daa0dbbL },
  32176. { 0xda421fdce3502e6eL,0xc89442014d89a084L,0x7307ba5ef0c24bfbL,
  32177. 0xda212beb20bde0efL } },
  32178. /* 50 << 126 */
  32179. { { 0xea2da24bf82ce682L,0x058d381607f71fe4L,0x35a024625ffad8deL,
  32180. 0xcd7b05dcaadcefabL },
  32181. { 0xd442f8ed1d9f54ecL,0x8be3d618b2d3b5caL,0xe2220ed0e06b2ce2L,
  32182. 0x82699a5f1b0da4c0L } },
  32183. /* 51 << 126 */
  32184. { { 0x3ff106f571c0c3a7L,0x8f580f5a0d34180cL,0x4ebb120e22d7d375L,
  32185. 0x5e5782cce9513675L },
  32186. { 0x2275580c99c82a70L,0xe8359fbf15ea8c4cL,0x53b48db87b415e70L,
  32187. 0xaacf2240100c6014L } },
  32188. /* 52 << 126 */
  32189. { { 0x9faaccf5e4652f1dL,0xbd6fdd2ad56157b2L,0xa4f4fb1f6261ec50L,
  32190. 0x244e55ad476bcd52L },
  32191. { 0x881c9305047d320bL,0x1ca983d56181263fL,0x354e9a44278fb8eeL,
  32192. 0xad2dbc0f396e4964L } },
  32193. /* 53 << 126 */
  32194. { { 0x723f3aa29268b3deL,0x0d1ca29ae6e0609aL,0x794866aa6cf44252L,
  32195. 0x0b59f3e301af87edL },
  32196. { 0xe234e5ff7f4a6c51L,0xa8768fd261dc2f7eL,0xdafc73320a94d81fL,
  32197. 0xd7f8428206938ce1L } },
  32198. /* 54 << 126 */
  32199. { { 0xae0b3c0e0546063eL,0x7fbadcb25d61abc6L,0xd5d7a2c9369ac400L,
  32200. 0xa5978d09ae67d10cL },
  32201. { 0x290f211e4f85eaacL,0xe61e2ad1facac681L,0xae125225388384cdL,
  32202. 0xa7fb68e9ccfde30fL } },
  32203. /* 55 << 126 */
  32204. { { 0x7a59b9363daed4c2L,0x80a9aa402606f789L,0xb40c1ea5f6a6d90aL,
  32205. 0x948364d3514d5885L },
  32206. { 0x062ebc6070985182L,0xa6db5b0e33310895L,0x64a12175e329c2f5L,
  32207. 0xc5f25bd290ea237eL } },
  32208. /* 56 << 126 */
  32209. { { 0x7915c5242d0a4c23L,0xeb5d26e46bb3cc52L,0x369a9116c09e2c92L,
  32210. 0x0c527f92cf182cf8L },
  32211. { 0x9e5919382aede0acL,0xb29222086cc34939L,0x3c9d896299a34361L,
  32212. 0x3c81836dc1905fe6L } },
  32213. /* 57 << 126 */
  32214. { { 0x4bfeb57fa001ec5aL,0xe993f5bba0dc5dbaL,0x47884109724a1380L,
  32215. 0x8a0369ab32fe9a04L },
  32216. { 0xea068d608c927db8L,0xbf5f37cf94655741L,0x47d402a204b6c7eaL,
  32217. 0x4551c2956af259cbL } },
  32218. /* 58 << 126 */
  32219. { { 0x698b71e7ed77ee8bL,0xbddf7bd0f309d5c7L,0x6201c22c34e780caL,
  32220. 0xab04f7d84c295ef4L },
  32221. { 0x1c9472944313a8ceL,0xe532e4ac92ca4cfeL,0x89738f80d0a7a97aL,
  32222. 0xec088c88a580fd5bL } },
  32223. /* 59 << 126 */
  32224. { { 0x612b1ecc42ce9e51L,0x8f9840fdb25fdd2aL,0x3cda78c001e7f839L,
  32225. 0x546b3d3aece05480L },
  32226. { 0x271719a980d30916L,0x45497107584c20c4L,0xaf8f94785bc78608L,
  32227. 0x28c7d484277e2a4cL } },
  32228. /* 60 << 126 */
  32229. { { 0xfce0176788a2ffe4L,0xdc506a3528e169a5L,0x0ea108617af9c93aL,
  32230. 0x1ed2436103fa0e08L },
  32231. { 0x96eaaa92a3d694e7L,0xc0f43b4def50bc74L,0xce6aa58c64114db4L,
  32232. 0x8218e8ea7c000fd4L } },
  32233. /* 61 << 126 */
  32234. { { 0xac815dfb185f8844L,0xcd7e90cb1557abfbL,0x23d16655afbfecdfL,
  32235. 0x80f3271f085cac4aL },
  32236. { 0x7fc39aa7d0e62f47L,0x88d519d1460a48e5L,0x59559ac4d28f101eL,
  32237. 0x7981d9e9ca9ae816L } },
  32238. /* 62 << 126 */
  32239. { { 0x5c38652c9ac38203L,0x86eaf87f57657fe5L,0x568fc472e21f5416L,
  32240. 0x2afff39ce7e597b5L },
  32241. { 0x3adbbb07256d4eabL,0x225986928285ab89L,0x35f8112a041caefeL,
  32242. 0x95df02e3a5064c8bL } },
  32243. /* 63 << 126 */
  32244. { { 0x4d63356ec7004bf3L,0x230a08f4db83c7deL,0xca27b2708709a7b7L,
  32245. 0x0d1c4cc4cb9abd2dL },
  32246. { 0x8a0bc66e7550fee8L,0x369cd4c79cf7247eL,0x75562e8492b5b7e7L,
  32247. 0x8fed0da05802af7bL } },
  32248. /* 64 << 126 */
  32249. { { 0x6a7091c2e48fb889L,0x26882c137b8a9d06L,0xa24986631b82a0e2L,
  32250. 0x844ed7363518152dL },
  32251. { 0x282f476fd86e27c7L,0xa04edaca04afefdcL,0x8b256ebc6119e34dL,
  32252. 0x56a413e90787d78bL } },
  32253. /* 0 << 133 */
  32254. { { 0x00, 0x00, 0x00, 0x00 },
  32255. { 0x00, 0x00, 0x00, 0x00 } },
  32256. /* 1 << 133 */
  32257. { { 0x82ee061d5a74be50L,0xe41781c4dea16ff5L,0xe0b0c81e99bfc8a2L,
  32258. 0x624f4d690b547e2dL },
  32259. { 0x3a83545dbdcc9ae4L,0x2573dbb6409b1e8eL,0x482960c4a6c93539L,
  32260. 0xf01059ad5ae18798L } },
  32261. /* 2 << 133 */
  32262. { { 0x715c9f973112795fL,0xe8244437984e6ee1L,0x55cb4858ecb66bcdL,
  32263. 0x7c136735abaffbeeL },
  32264. { 0x546615955dbec38eL,0x51c0782c388ad153L,0x9ba4c53ac6e0952fL,
  32265. 0x27e6782a1b21dfa8L } },
  32266. /* 3 << 133 */
  32267. { { 0x682f903d4ed2dbc2L,0x0eba59c87c3b2d83L,0x8e9dc84d9c7e9335L,
  32268. 0x5f9b21b00eb226d7L },
  32269. { 0xe33bd394af267baeL,0xaa86cc25be2e15aeL,0x4f0bf67d6a8ec500L,
  32270. 0x5846aa44f9630658L } },
  32271. /* 4 << 133 */
  32272. { { 0xfeb09740e2c2bf15L,0x627a2205a9e99704L,0xec8d73d0c2fbc565L,
  32273. 0x223eed8fc20c8de8L },
  32274. { 0x1ee32583a8363b49L,0x1a0b6cb9c9c2b0a6L,0x49f7c3d290dbc85cL,
  32275. 0xa8dfbb971ef4c1acL } },
  32276. /* 5 << 133 */
  32277. { { 0xafb34d4c65c7c2abL,0x1d4610e7e2c5ea84L,0x893f6d1b973c4ab5L,
  32278. 0xa3cdd7e9945ba5c4L },
  32279. { 0x60514983064417eeL,0x1459b23cad6bdf2bL,0x23b2c3415cf726c3L,
  32280. 0x3a82963532d6354aL } },
  32281. /* 6 << 133 */
  32282. { { 0x294f901fab192c18L,0xec5fcbfe7030164fL,0xe2e2fcb7e2246ba6L,
  32283. 0x1e7c88b3221a1a0cL },
  32284. { 0x72c7dd93c92d88c5L,0x41c2148e1106fb59L,0x547dd4f5a0f60f14L,
  32285. 0xed9b52b263960f31L } },
  32286. /* 7 << 133 */
  32287. { { 0x6c8349ebb0a5b358L,0xb154c5c29e7e2ed6L,0xcad5eccfeda462dbL,
  32288. 0xf2d6dbe42de66b69L },
  32289. { 0x426aedf38665e5b2L,0x488a85137b7f5723L,0x15cc43b38bcbb386L,
  32290. 0x27ad0af3d791d879L } },
  32291. /* 8 << 133 */
  32292. { { 0xc16c236e846e364fL,0x7f33527cdea50ca0L,0xc48107750926b86dL,
  32293. 0x6c2a36090598e70cL },
  32294. { 0xa6755e52f024e924L,0xe0fa07a49db4afcaL,0x15c3ce7d66831790L,
  32295. 0x5b4ef350a6cbb0d6L } },
  32296. /* 9 << 133 */
  32297. { { 0x2c4aafc4b6205969L,0x42563f02f6c7854fL,0x016aced51d983b48L,
  32298. 0xfeb356d899949755L },
  32299. { 0x8c2a2c81d1a39bd7L,0x8f44340fe6934ae9L,0x148cf91c447904daL,
  32300. 0x7340185f0f51a926L } },
  32301. /* 10 << 133 */
  32302. { { 0x2f8f00fb7409ab46L,0x057e78e680e289b2L,0x03e5022ca888e5d1L,
  32303. 0x3c87111a9dede4e2L },
  32304. { 0x5b9b0e1c7809460bL,0xe751c85271c9abc7L,0x8b944e28c7cc1dc9L,
  32305. 0x4f201ffa1d3cfa08L } },
  32306. /* 11 << 133 */
  32307. { { 0x02fc905c3e6721ceL,0xd52d70dad0b3674cL,0x5dc2e5ca18810da4L,
  32308. 0xa984b2735c69dd99L },
  32309. { 0x63b9252784de5ca4L,0x2f1c9872c852dec4L,0x18b03593c2e3de09L,
  32310. 0x19d70b019813dc2fL } },
  32311. /* 12 << 133 */
  32312. { { 0x42806b2da6dc1d29L,0xd3030009f871e144L,0xa1feb333aaf49276L,
  32313. 0xb5583b9ec70bc04bL },
  32314. { 0x1db0be7895695f20L,0xfc84181189d012b5L,0x6409f27205f61643L,
  32315. 0x40d34174d5883128L } },
  32316. /* 13 << 133 */
  32317. { { 0xd79196f567419833L,0x6059e252863b7b08L,0x84da18171c56700cL,
  32318. 0x5758ee56b28d3ec4L },
  32319. { 0x7da2771d013b0ea6L,0xfddf524b54c5e9b9L,0x7df4faf824305d80L,
  32320. 0x58f5c1bf3a97763fL } },
  32321. /* 14 << 133 */
  32322. { { 0xa5af37f17c696042L,0xd4cba22c4a2538deL,0x211cb9959ea42600L,
  32323. 0xcd105f417b069889L },
  32324. { 0xb1e1cf19ddb81e74L,0x472f2d895157b8caL,0x086fb008ee9db885L,
  32325. 0x365cd5700f26d131L } },
  32326. /* 15 << 133 */
  32327. { { 0x284b02bba2be7053L,0xdcbbf7c67ab9a6d6L,0x4425559c20f7a530L,
  32328. 0x961f2dfa188767c8L },
  32329. { 0xe2fd943570dc80c4L,0x104d6b63f0784120L,0x7f592bc153567122L,
  32330. 0xf6bc1246f688ad77L } },
  32331. /* 16 << 133 */
  32332. { { 0x05214c050f15dde9L,0xa47a76a80d5f2b82L,0xbb254d3062e82b62L,
  32333. 0x11a05fe03ec955eeL },
  32334. { 0x7eaff46e9d529b36L,0x55ab13018f9e3df6L,0xc463e37199317698L,
  32335. 0xfd251438ccda47adL } },
  32336. /* 17 << 133 */
  32337. { { 0xca9c354723d695eaL,0x48ce626e16e589b5L,0x6b5b64c7b187d086L,
  32338. 0xd02e1794b2207948L },
  32339. { 0x8b58e98f7198111dL,0x90ca6305dcf9c3ccL,0x5691fe72f34089b0L,
  32340. 0x60941af1fc7c80ffL } },
  32341. /* 18 << 133 */
  32342. { { 0xa09bc0a222eb51e5L,0xc0bb7244aa9cf09aL,0x36a8077f80159f06L,
  32343. 0x8b5c989edddc560eL },
  32344. { 0x19d2f316512e1f43L,0x02eac554ad08ff62L,0x012ab84c07d20b4eL,
  32345. 0x37d1e115d6d4e4e1L } },
  32346. /* 19 << 133 */
  32347. { { 0xb6443e1aab7b19a8L,0xf08d067edef8cd45L,0x63adf3e9685e03daL,
  32348. 0xcf15a10e4792b916L },
  32349. { 0xf44bcce5b738a425L,0xebe131d59636b2fdL,0x940688417850d605L,
  32350. 0x09684eaab40d749dL } },
  32351. /* 20 << 133 */
  32352. { { 0x8c3c669c72ba075bL,0x89f78b55ba469015L,0x5706aade3e9f8ba8L,
  32353. 0x6d8bd565b32d7ed7L },
  32354. { 0x25f4e63b805f08d6L,0x7f48200dc3bcc1b5L,0x4e801968b025d847L,
  32355. 0x74afac0487cbe0a8L } },
  32356. /* 21 << 133 */
  32357. { { 0x43ed2c2b7e63d690L,0xefb6bbf00223cdb8L,0x4fec3cae2884d3feL,
  32358. 0x065ecce6d75e25a4L },
  32359. { 0x6c2294ce69f79071L,0x0d9a8e5f044b8666L,0x5009f23817b69d8fL,
  32360. 0x3c29f8fec5dfdaf7L } },
  32361. /* 22 << 133 */
  32362. { { 0x9067528febae68c4L,0x5b38563230c5ba21L,0x540df1191fdd1aecL,
  32363. 0xcf37825bcfba4c78L },
  32364. { 0x77eff980beb11454L,0x40a1a99160c1b066L,0xe8018980f889a1c7L,
  32365. 0xb9c52ae976c24be0L } },
  32366. /* 23 << 133 */
  32367. { { 0x05fbbcce45650ef4L,0xae000f108aa29ac7L,0x884b71724f04c470L,
  32368. 0x7cd4fde219bb5c25L },
  32369. { 0x6477b22ae8840869L,0xa88688595fbd0686L,0xf23cc02e1116dfbaL,
  32370. 0x76cd563fd87d7776L } },
  32371. /* 24 << 133 */
  32372. { { 0xe2a37598a9d82abfL,0x5f188ccbe6c170f5L,0x816822005066b087L,
  32373. 0xda22c212c7155adaL },
  32374. { 0x151e5d3afbddb479L,0x4b606b846d715b99L,0x4a73b54bf997cb2eL,
  32375. 0x9a1bfe433ecd8b66L } },
  32376. /* 25 << 133 */
  32377. { { 0x1c3128092a67d48aL,0xcd6a671e031fa9e2L,0xbec3312a0e43a34aL,
  32378. 0x1d93563955ef47d3L },
  32379. { 0x5ea024898fea73eaL,0x8247b364a035afb2L,0xb58300a65265b54cL,
  32380. 0x3286662f722c7148L } },
  32381. /* 26 << 133 */
  32382. { { 0xb77fd76bb4ec4c20L,0xf0a12fa70f3fe3fdL,0xf845bbf541d8c7e8L,
  32383. 0xe4d969ca5ec10aa8L },
  32384. { 0x4c0053b743e232a3L,0xdc7a3fac37f8a45aL,0x3c4261c520d81c8fL,
  32385. 0xfd4b3453b00eab00L } },
  32386. /* 27 << 133 */
  32387. { { 0x76d48f86d36e3062L,0x626c5277a143ff02L,0x538174deaf76f42eL,
  32388. 0x2267aa866407ceacL },
  32389. { 0xfad7635172e572d5L,0xab861af7ba7330ebL,0xa0a1c8c7418d8657L,
  32390. 0x988821cb20289a52L } },
  32391. /* 28 << 133 */
  32392. { { 0x79732522cccc18adL,0xaadf3f8df1a6e027L,0xf7382c9317c2354dL,
  32393. 0x5ce1680cd818b689L },
  32394. { 0x359ebbfcd9ecbee9L,0x4330689c1cae62acL,0xb55ce5b4c51ac38aL,
  32395. 0x7921dfeafe238ee8L } },
  32396. /* 29 << 133 */
  32397. { { 0x3972bef8271d1ca5L,0x3e423bc7e8aabd18L,0x57b09f3f44a3e5e3L,
  32398. 0x5da886ae7b444d66L },
  32399. { 0x68206634a9964375L,0x356a2fa3699cd0ffL,0xaf0faa24dba515e9L,
  32400. 0x536e1f5cb321d79aL } },
  32401. /* 30 << 133 */
  32402. { { 0xd3b9913a5c04e4eaL,0xd549dcfed6f11513L,0xee227bf579fd1d94L,
  32403. 0x9f35afeeb43f2c67L },
  32404. { 0xd2638d24f1314f53L,0x62baf948cabcd822L,0x5542de294ef48db0L,
  32405. 0xb3eb6a04fc5f6bb2L } },
  32406. /* 31 << 133 */
  32407. { { 0x23c110ae1208e16aL,0x1a4d15b5f8363e24L,0x30716844164be00bL,
  32408. 0xa8e24824f6f4690dL },
  32409. { 0x548773a290b170cfL,0xa1bef33142f191f4L,0x70f418d09247aa97L,
  32410. 0xea06028e48be9147L } },
  32411. /* 32 << 133 */
  32412. { { 0xe13122f3dbfb894eL,0xbe9b79f6ce274b18L,0x85a49de5ca58aadfL,
  32413. 0x2495775811487351L },
  32414. { 0x111def61bb939099L,0x1d6a974a26d13694L,0x4474b4ced3fc253bL,
  32415. 0x3a1485e64c5db15eL } },
  32416. /* 33 << 133 */
  32417. { { 0xe79667b4147c15b4L,0xe34f553b7bc61301L,0x032b80f817094381L,
  32418. 0x55d8bafd723eaa21L },
  32419. { 0x5a987995f1c0e74eL,0x5a9b292eebba289cL,0x413cd4b2eb4c8251L,
  32420. 0x98b5d243d162db0aL } },
  32421. /* 34 << 133 */
  32422. { { 0xbb47bf6668342520L,0x08d68949baa862d1L,0x11f349c7e906abcdL,
  32423. 0x454ce985ed7bf00eL },
  32424. { 0xacab5c9eb55b803bL,0xb03468ea31e3c16dL,0x5c24213dd273bf12L,
  32425. 0x211538eb71587887L } },
  32426. /* 35 << 133 */
  32427. { { 0x198e4a2f731dea2dL,0xd5856cf274ed7b2aL,0x86a632eb13a664feL,
  32428. 0x932cd909bda41291L },
  32429. { 0x850e95d4c0c4ddc0L,0xc0f422f8347fc2c9L,0xe68cbec486076bcbL,
  32430. 0xf9e7c0c0cd6cd286L } },
  32431. /* 36 << 133 */
  32432. { { 0x65994ddb0f5f27caL,0xe85461fba80d59ffL,0xff05481a66601023L,
  32433. 0xc665427afc9ebbfbL },
  32434. { 0xb0571a697587fd52L,0x935289f88d49efceL,0x61becc60ea420688L,
  32435. 0xb22639d913a786afL } },
  32436. /* 37 << 133 */
  32437. { { 0x1a8e6220361ecf90L,0x001f23e025506463L,0xe4ae9b5d0a5c2b79L,
  32438. 0xebc9cdadd8149db5L },
  32439. { 0xb33164a1934aa728L,0x750eb00eae9b60f3L,0x5a91615b9b9cfbfdL,
  32440. 0x97015cbfef45f7f6L } },
  32441. /* 38 << 133 */
  32442. { { 0xb462c4a5bf5151dfL,0x21adcc41b07118f2L,0xd60c545b043fa42cL,
  32443. 0xfc21aa54e96be1abL },
  32444. { 0xe84bc32f4e51ea80L,0x3dae45f0259b5d8dL,0xbb73c7ebc38f1b5eL,
  32445. 0xe405a74ae8ae617dL } },
  32446. /* 39 << 133 */
  32447. { { 0xbb1ae9c69f1c56bdL,0x8c176b9849f196a4L,0xc448f3116875092bL,
  32448. 0xb5afe3de9f976033L },
  32449. { 0xa8dafd49145813e5L,0x687fc4d9e2b34226L,0xf2dfc92d4c7ff57fL,
  32450. 0x004e3fc1401f1b46L } },
  32451. /* 40 << 133 */
  32452. { { 0x5afddab61430c9abL,0x0bdd41d32238e997L,0xf0947430418042aeL,
  32453. 0x71f9addacdddc4cbL },
  32454. { 0x7090c016c52dd907L,0xd9bdf44d29e2047fL,0xe6f1fe801b1011a6L,
  32455. 0xb63accbcd9acdc78L } },
  32456. /* 41 << 133 */
  32457. { { 0xcfc7e2351272a95bL,0x0c667717a6276ac8L,0x3c0d3709e2d7eef7L,
  32458. 0x5add2b069a685b3eL },
  32459. { 0x363ad32d14ea5d65L,0xf8e01f068d7dd506L,0xc9ea221375b4aac6L,
  32460. 0xed2a2bf90d353466L } },
  32461. /* 42 << 133 */
  32462. { { 0x439d79b5e9d3a7c3L,0x8e0ee5a681b7f34bL,0xcf3dacf51dc4ba75L,
  32463. 0x1d3d1773eb3310c7L },
  32464. { 0xa8e671127747ae83L,0x31f43160197d6b40L,0x0521cceecd961400L,
  32465. 0x67246f11f6535768L } },
  32466. /* 43 << 133 */
  32467. { { 0x702fcc5aef0c3133L,0x247cc45d7e16693bL,0xfd484e49c729b749L,
  32468. 0x522cef7db218320fL },
  32469. { 0xe56ef40559ab93b3L,0x225fba119f181071L,0x33bd659515330ed0L,
  32470. 0xc4be69d51ddb32f7L } },
  32471. /* 44 << 133 */
  32472. { { 0x264c76680448087cL,0xac30903f71432daeL,0x3851b26600f9bf47L,
  32473. 0x400ed3116cdd6d03L },
  32474. { 0x045e79fef8fd2424L,0xfdfd974afa6da98bL,0x45c9f6410c1e673aL,
  32475. 0x76f2e7335b2c5168L } },
  32476. /* 45 << 133 */
  32477. { { 0x1adaebb52a601753L,0xb286514cc57c2d49L,0xd87696701e0bfd24L,
  32478. 0x950c547e04478922L },
  32479. { 0xd1d41969e5d32bfeL,0x30bc1472750d6c3eL,0x8f3679fee0e27f3aL,
  32480. 0x8f64a7dca4a6ee0cL } },
  32481. /* 46 << 133 */
  32482. { { 0x2fe59937633dfb1fL,0xea82c395977f2547L,0xcbdfdf1a661ea646L,
  32483. 0xc7ccc591b9085451L },
  32484. { 0x8217796281761e13L,0xda57596f9196885cL,0xbc17e84928ffbd70L,
  32485. 0x1e6e0a412671d36fL } },
  32486. /* 47 << 133 */
  32487. { { 0x61ae872c4152fcf5L,0x441c87b09e77e754L,0xd0799dd5a34dff09L,
  32488. 0x766b4e4488a6b171L },
  32489. { 0xdc06a51211f1c792L,0xea02ae934be35c3eL,0xe5ca4d6de90c469eL,
  32490. 0x4df4368e56e4ff5cL } },
  32491. /* 48 << 133 */
  32492. { { 0x7817acab4baef62eL,0x9f5a2202a85b91e8L,0x9666ebe66ce57610L,
  32493. 0x32ad31f3f73bfe03L },
  32494. { 0x628330a425bcf4d6L,0xea950593515056e6L,0x59811c89e1332156L,
  32495. 0xc89cf1fe8c11b2d7L } },
  32496. /* 49 << 133 */
  32497. { { 0x75b6391304e60cc0L,0xce811e8d4625d375L,0x030e43fc2d26e562L,
  32498. 0xfbb30b4b608d36a0L },
  32499. { 0x634ff82c48528118L,0x7c6fe085cd285911L,0x7f2830c099358f28L,
  32500. 0x2e60a95e665e6c09L } },
  32501. /* 50 << 133 */
  32502. { { 0x08407d3d9b785dbfL,0x530889aba759bce7L,0xf228e0e652f61239L,
  32503. 0x2b6d14616879be3cL },
  32504. { 0xe6902c0451a7bbf7L,0x30ad99f076f24a64L,0x66d9317a98bc6da0L,
  32505. 0xf4f877f3cb596ac0L } },
  32506. /* 51 << 133 */
  32507. { { 0xb05ff62d4c44f119L,0x4555f536e9b77416L,0xc7c0d0598caed63bL,
  32508. 0x0cd2b7cec358b2a9L },
  32509. { 0x3f33287b46945fa3L,0xf8785b20d67c8791L,0xc54a7a619637bd08L,
  32510. 0x54d4598c18be79d7L } },
  32511. /* 52 << 133 */
  32512. { { 0x889e5acbc46d7ce1L,0x9a515bb78b085877L,0xfac1a03d0b7a5050L,
  32513. 0x7d3e738af2926035L },
  32514. { 0x861cc2ce2a6cb0ebL,0x6f2e29558f7adc79L,0x61c4d45133016376L,
  32515. 0xd9fd2c805ad59090L } },
  32516. /* 53 << 133 */
  32517. { { 0xe5a83738b2b836a1L,0x855b41a07c0d6622L,0x186fe3177cc19af1L,
  32518. 0x6465c1fffdd99acbL },
  32519. { 0x46e5c23f6974b99eL,0x75a7cf8ba2717cbeL,0x4d2ebc3f062be658L,
  32520. 0x094b44475f209c98L } },
  32521. /* 54 << 133 */
  32522. { { 0x4af285edb940cb5aL,0x6706d7927cc82f10L,0xc8c8776c030526faL,
  32523. 0xfa8e6f76a0da9140L },
  32524. { 0x77ea9d34591ee4f0L,0x5f46e33740274166L,0x1bdf98bbea671457L,
  32525. 0xd7c08b46862a1fe2L } },
  32526. /* 55 << 133 */
  32527. { { 0x46cc303c1c08ad63L,0x995434404c845e7bL,0x1b8fbdb548f36bf7L,
  32528. 0x5b82c3928c8273a7L },
  32529. { 0x08f712c4928435d5L,0x071cf0f179330380L,0xc74c2d24a8da054aL,
  32530. 0xcb0e720143c46b5cL } },
  32531. /* 56 << 133 */
  32532. { { 0x0ad7337ac0b7eff3L,0x8552225ec5e48b3cL,0xe6f78b0c73f13a5fL,
  32533. 0x5e70062e82349cbeL },
  32534. { 0x6b8d5048e7073969L,0x392d2a29c33cb3d2L,0xee4f727c4ecaa20fL,
  32535. 0xa068c99e2ccde707L } },
  32536. /* 57 << 133 */
  32537. { { 0xfcd5651fb87a2913L,0xea3e3c153cc252f0L,0x777d92df3b6cd3e4L,
  32538. 0x7a414143c5a732e7L },
  32539. { 0xa895951aa71ff493L,0xfe980c92bbd37cf6L,0x45bd5e64decfeeffL,
  32540. 0x910dc2a9a44c43e9L } },
  32541. /* 58 << 133 */
  32542. { { 0xcb403f26cca9f54dL,0x928bbdfb9303f6dbL,0x3c37951ea9eee67cL,
  32543. 0x3bd61a52f79961c3L },
  32544. { 0x09a238e6395c9a79L,0x6940ca2d61eb352dL,0x7d1e5c5ec1875631L,
  32545. 0x1e19742c1e1b20d1L } },
  32546. /* 59 << 133 */
  32547. { { 0x4633d90823fc2e6eL,0xa76e29a908959149L,0x61069d9c84ed7da5L,
  32548. 0x0baa11cf5dbcad51L },
  32549. { 0xd01eec64961849daL,0x93b75f1faf3d8c28L,0x57bc4f9f1ca2ee44L,
  32550. 0x5a26322d00e00558L } },
  32551. /* 60 << 133 */
  32552. { { 0x1888d65861a023efL,0x1d72aab4b9e5246eL,0xa9a26348e5563ec0L,
  32553. 0xa0971963c3439a43L },
  32554. { 0x567dd54badb9b5b7L,0x73fac1a1c45a524bL,0x8fe97ef7fe38e608L,
  32555. 0x608748d23f384f48L } },
  32556. /* 61 << 133 */
  32557. { { 0xb0571794c486094fL,0x869254a38bf3a8d6L,0x148a8dd1310b0e25L,
  32558. 0x99ab9f3f9aa3f7d8L },
  32559. { 0x0927c68a6706c02eL,0x22b5e76c69790e6cL,0x6c3252606c71376cL,
  32560. 0x53a5769009ef6657L } },
  32561. /* 62 << 133 */
  32562. { { 0x8d63f852edffcf3aL,0xb4d2ed043c0a6f55L,0xdb3aa8de12519b9eL,
  32563. 0x5d38e9c41e0a569aL },
  32564. { 0x871528bf303747e2L,0xa208e77cf5b5c18dL,0x9d129c88ca6bf923L,
  32565. 0xbcbf197fbf02839fL } },
  32566. /* 63 << 133 */
  32567. { { 0x9b9bf03027323194L,0x3b055a8b339ca59dL,0xb46b23120f669520L,
  32568. 0x19789f1f497e5f24L },
  32569. { 0x9c499468aaf01801L,0x72ee11908b69d59cL,0x8bd39595acf4c079L,
  32570. 0x3ee11ece8e0cd048L } },
  32571. /* 64 << 133 */
  32572. { { 0xebde86ec1ed66f18L,0x225d906bd61fce43L,0x5cab07d6e8bed74dL,
  32573. 0x16e4617f27855ab7L },
  32574. { 0x6568aaddb2fbc3ddL,0xedb5484f8aeddf5bL,0x878f20e86dcf2fadL,
  32575. 0x3516497c615f5699L } },
  32576. /* 0 << 140 */
  32577. { { 0x00, 0x00, 0x00, 0x00 },
  32578. { 0x00, 0x00, 0x00, 0x00 } },
  32579. /* 1 << 140 */
  32580. { { 0xef0a3fecfa181e69L,0x9ea02f8130d69a98L,0xb2e9cf8e66eab95dL,
  32581. 0x520f2beb24720021L },
  32582. { 0x621c540a1df84361L,0x1203772171fa6d5dL,0x6e3c7b510ff5f6ffL,
  32583. 0x817a069babb2bef3L } },
  32584. /* 2 << 140 */
  32585. { { 0x83572fb6b294cda6L,0x6ce9bf75b9039f34L,0x20e012f0095cbb21L,
  32586. 0xa0aecc1bd063f0daL },
  32587. { 0x57c21c3af02909e5L,0xc7d59ecf48ce9cdcL,0x2732b8448ae336f8L,
  32588. 0x056e37233f4f85f4L } },
  32589. /* 3 << 140 */
  32590. { { 0x8a10b53189e800caL,0x50fe0c17145208fdL,0x9e43c0d3b714ba37L,
  32591. 0x427d200e34189accL },
  32592. { 0x05dee24fe616e2c0L,0x9c25f4c8ee1854c1L,0x4d3222a58f342a73L,
  32593. 0x0807804fa027c952L } },
  32594. /* 4 << 140 */
  32595. { { 0xc222653a4f0d56f3L,0x961e4047ca28b805L,0x2c03f8b04a73434bL,
  32596. 0x4c966787ab712a19L },
  32597. { 0xcc196c42864fee42L,0xc1be93da5b0ece5cL,0xa87d9f22c131c159L,
  32598. 0x2bb6d593dce45655L } },
  32599. /* 5 << 140 */
  32600. { { 0x22c49ec9b809b7ceL,0x8a41486be2c72c2cL,0x813b9420fea0bf36L,
  32601. 0xb3d36ee9a66dac69L },
  32602. { 0x6fddc08a328cc987L,0x0a3bcd2c3a326461L,0x7103c49dd810dbbaL,
  32603. 0xf9d81a284b78a4c4L } },
  32604. /* 6 << 140 */
  32605. { { 0x3de865ade4d55941L,0xdedafa5e30384087L,0x6f414abb4ef18b9bL,
  32606. 0x9ee9ea42faee5268L },
  32607. { 0x260faa1637a55a4aL,0xeb19a514015f93b9L,0x51d7ebd29e9c3598L,
  32608. 0x523fc56d1932178eL } },
  32609. /* 7 << 140 */
  32610. { { 0x501d070cb98fe684L,0xd60fbe9a124a1458L,0xa45761c892bc6b3fL,
  32611. 0xf5384858fe6f27cbL },
  32612. { 0x4b0271f7b59e763bL,0x3d4606a95b5a8e5eL,0x1eda5d9b05a48292L,
  32613. 0xda7731d0e6fec446L } },
  32614. /* 8 << 140 */
  32615. { { 0xa3e3369390d45871L,0xe976404006166d8dL,0xb5c3368289a90403L,
  32616. 0x4bd1798372f1d637L },
  32617. { 0xa616679ed5d2c53aL,0x5ec4bcd8fdcf3b87L,0xae6d7613b66a694eL,
  32618. 0x7460fc76e3fc27e5L } },
  32619. /* 9 << 140 */
  32620. { { 0x70469b8295caabeeL,0xde024ca5889501e3L,0x6bdadc06076ed265L,
  32621. 0x0cb1236b5a0ef8b2L },
  32622. { 0x4065ddbf0972ebf9L,0xf1dd387522aca432L,0xa88b97cf744aff76L,
  32623. 0xd1359afdfe8e3d24L } },
  32624. /* 10 << 140 */
  32625. { { 0x52a3ba2b91502cf3L,0x2c3832a8084db75dL,0x04a12dddde30b1c9L,
  32626. 0x7802eabce31fd60cL },
  32627. { 0x33707327a37fddabL,0x65d6f2abfaafa973L,0x3525c5b811e6f91aL,
  32628. 0x76aeb0c95f46530bL } },
  32629. /* 11 << 140 */
  32630. { { 0xe8815ff62f93a675L,0xa6ec968405f48679L,0x6dcbb556358ae884L,
  32631. 0x0af61472e19e3873L },
  32632. { 0x72334372a5f696beL,0xc65e57ea6f22fb70L,0x268da30c946cea90L,
  32633. 0x136a8a8765681b2aL } },
  32634. /* 12 << 140 */
  32635. { { 0xad5e81dc0f9f44d4L,0xf09a69602c46585aL,0xd1649164c447d1b1L,
  32636. 0x3b4b36c8879dc8b1L },
  32637. { 0x20d4177b3b6b234cL,0x096a25051730d9d0L,0x0611b9b8ef80531dL,
  32638. 0xba904b3b64bb495dL } },
  32639. /* 13 << 140 */
  32640. { { 0x1192d9d493a3147aL,0x9f30a5dc9a565545L,0x90b1f9cb6ef07212L,
  32641. 0x299585460d87fc13L },
  32642. { 0xd3323effc17db9baL,0xcb18548ccb1644a8L,0x18a306d44f49ffbcL,
  32643. 0x28d658f14c2e8684L } },
  32644. /* 14 << 140 */
  32645. { { 0x44ba60cda99f8c71L,0x67b7abdb4bf742ffL,0x66310f9c914b3f99L,
  32646. 0xae430a32f412c161L },
  32647. { 0x1e6776d388ace52fL,0x4bc0fa2452d7067dL,0x03c286aa8f07cd1bL,
  32648. 0x4cb8f38ca985b2c1L } },
  32649. /* 15 << 140 */
  32650. { { 0x83ccbe808c3bff36L,0x005a0bd25263e575L,0x460d7dda259bdcd1L,
  32651. 0x4a1c5642fa5cab6bL },
  32652. { 0x2b7bdbb99fe4fc88L,0x09418e28cc97bbb5L,0xd8274fb4a12321aeL,
  32653. 0xb137007d5c87b64eL } },
  32654. /* 16 << 140 */
  32655. { { 0x80531fe1c63c4962L,0x50541e89981fdb25L,0xdc1291a1fd4c2b6bL,
  32656. 0xc0693a17a6df4fcaL },
  32657. { 0xb2c4604e0117f203L,0x245f19630a99b8d0L,0xaedc20aac6212c44L,
  32658. 0xb1ed4e56520f52a8L } },
  32659. /* 17 << 140 */
  32660. { { 0xfe48f575f8547be3L,0x0a7033cda9e45f98L,0x4b45d3a918c50100L,
  32661. 0xb2a6cd6aa61d41daL },
  32662. { 0x60bbb4f557933c6bL,0xa7538ebd2b0d7ffcL,0x9ea3ab8d8cd626b6L,
  32663. 0x8273a4843601625aL } },
  32664. /* 18 << 140 */
  32665. { { 0x888598450168e508L,0x8cbc9bb299a94abdL,0x713ac792fab0a671L,
  32666. 0xa3995b196c9ebffcL },
  32667. { 0xe711668e1239e152L,0x56892558bbb8dff4L,0x8bfc7dabdbf17963L,
  32668. 0x5b59fe5ab3de1253L } },
  32669. /* 19 << 140 */
  32670. { { 0x7e3320eb34a9f7aeL,0xe5e8cf72d751efe4L,0x7ea003bcd9be2f37L,
  32671. 0xc0f551a0b6c08ef7L },
  32672. { 0x56606268038f6725L,0x1dd38e356d92d3b6L,0x07dfce7cc3cbd686L,
  32673. 0x4e549e04651c5da8L } },
  32674. /* 20 << 140 */
  32675. { { 0x4058f93b08b19340L,0xc2fae6f4cac6d89dL,0x4bad8a8c8f159cc7L,
  32676. 0x0ddba4b3cb0b601cL },
  32677. { 0xda4fc7b51dd95f8cL,0x1d163cd7cea5c255L,0x30707d06274a8c4cL,
  32678. 0x79d9e0082802e9ceL } },
  32679. /* 21 << 140 */
  32680. { { 0x02a29ebfe6ddd505L,0x37064e74b50bed1aL,0x3f6bae65a7327d57L,
  32681. 0x3846f5f1f83920bcL },
  32682. { 0x87c3749160df1b9bL,0x4cfb28952d1da29fL,0x10a478ca4ed1743cL,
  32683. 0x390c60303edd47c6L } },
  32684. /* 22 << 140 */
  32685. { { 0x8f3e53128c0a78deL,0xccd02bda1e85df70L,0xd6c75c03a61b6582L,
  32686. 0x0762921cfc0eebd1L },
  32687. { 0xd34d0823d85010c0L,0xd73aaacb0044cf1fL,0xfb4159bba3b5e78aL,
  32688. 0x2287c7f7e5826f3fL } },
  32689. /* 23 << 140 */
  32690. { { 0x4aeaf742580b1a01L,0xf080415d60423b79L,0xe12622cda7dea144L,
  32691. 0x49ea499659d62472L },
  32692. { 0xb42991ef571f3913L,0x0610f214f5b25a8aL,0x47adc58530b79e8fL,
  32693. 0xf90e3df607a065a2L } },
  32694. /* 24 << 140 */
  32695. { { 0x5d0a5deb43e2e034L,0x53fb5a34444024aaL,0xa8628c686b0c9f7fL,
  32696. 0x9c69c29cac563656L },
  32697. { 0x5a231febbace47b6L,0xbdce02899ea5a2ecL,0x05da1fac9463853eL,
  32698. 0x96812c52509e78aaL } },
  32699. /* 25 << 140 */
  32700. { { 0xd3fb577157151692L,0xeb2721f8d98e1c44L,0xc050608732399be1L,
  32701. 0xda5a5511d979d8b8L },
  32702. { 0x737ed55dc6f56780L,0xe20d30040dc7a7f4L,0x02ce7301f5941a03L,
  32703. 0x91ef5215ed30f83aL } },
  32704. /* 26 << 140 */
  32705. { { 0x28727fc14092d85fL,0x72d223c65c49e41aL,0xa7cf30a2ba6a4d81L,
  32706. 0x7c086209b030d87dL },
  32707. { 0x04844c7dfc588b09L,0x728cd4995874bbb0L,0xcc1281eee84c0495L,
  32708. 0x0769b5baec31958fL } },
  32709. /* 27 << 140 */
  32710. { { 0x665c228bf99c2471L,0xf2d8a11b191eb110L,0x4594f494d36d7024L,
  32711. 0x482ded8bcdcb25a1L },
  32712. { 0xc958a9d8dadd4885L,0x7004477ef1d2b547L,0x0a45f6ef2a0af550L,
  32713. 0x4fc739d62f8d6351L } },
  32714. /* 28 << 140 */
  32715. { { 0x75cdaf27786f08a9L,0x8700bb2642c2737fL,0x855a71411c4e2670L,
  32716. 0x810188c115076fefL },
  32717. { 0xc251d0c9abcd3297L,0xae4c8967f48108ebL,0xbd146de718ceed30L,
  32718. 0xf9d4f07ac986bcedL } },
  32719. /* 29 << 140 */
  32720. { { 0x5ad98ed583fa1e08L,0x7780d33ebeabd1fbL,0xe330513c903b1196L,
  32721. 0xba11de9ea47bc8c4L },
  32722. { 0x684334da02c2d064L,0x7ecf360da48de23bL,0x57a1b4740a9089d8L,
  32723. 0xf28fa439ff36734cL } },
  32724. /* 30 << 140 */
  32725. { { 0xf2a482cbea4570b3L,0xee65d68ba5ebcee9L,0x988d0036b9694cd5L,
  32726. 0x53edd0e937885d32L },
  32727. { 0xe37e3307beb9bc6dL,0xe9abb9079f5c6768L,0x4396ccd551f2160fL,
  32728. 0x2500888c47336da6L } },
  32729. /* 31 << 140 */
  32730. { { 0x383f9ed9926fce43L,0x809dd1c704da2930L,0x30f6f5968a4cb227L,
  32731. 0x0d700c7f73a56b38L },
  32732. { 0x1825ea33ab64a065L,0xaab9b7351338df80L,0x1516100d9b63f57fL,
  32733. 0x2574395a27a6a634L } },
  32734. /* 32 << 140 */
  32735. { { 0xb5560fb6700a1acdL,0xe823fd73fd999681L,0xda915d1f6cb4e1baL,
  32736. 0x0d0301186ebe00a3L },
  32737. { 0x744fb0c989fca8cdL,0x970d01dbf9da0e0bL,0x0ad8c5647931d76fL,
  32738. 0xb15737bff659b96aL } },
  32739. /* 33 << 140 */
  32740. { { 0xdc9933e8a8b484e7L,0xb2fdbdf97a26dec7L,0x2349e9a49f1f0136L,
  32741. 0x7860368e70fddddbL },
  32742. { 0xd93d2c1cf9ad3e18L,0x6d6c5f17689f4e79L,0x7a544d91b24ff1b6L,
  32743. 0x3e12a5ebfe16cd8cL } },
  32744. /* 34 << 140 */
  32745. { { 0x543574e9a56b872fL,0xa1ad550cfcf68ea2L,0x689e37d23f560ef7L,
  32746. 0x8c54b9cac9d47a8bL },
  32747. { 0x46d40a4a088ac342L,0xec450c7c1576c6d0L,0xb589e31c1f9689e9L,
  32748. 0xdacf2602b8781718L } },
  32749. /* 35 << 140 */
  32750. { { 0xa89237c6c8cb6b42L,0x1326fc93b96ef381L,0x55d56c6db5f07825L,
  32751. 0xacba2eea7449e22dL },
  32752. { 0x74e0887a633c3000L,0xcb6cd172d7cbcf71L,0x309e81dec36cf1beL,
  32753. 0x07a18a6d60ae399bL } },
  32754. /* 36 << 140 */
  32755. { { 0xb36c26799edce57eL,0x52b892f4df001d41L,0xd884ae5d16a1f2c6L,
  32756. 0x9b329424efcc370aL },
  32757. { 0x3120daf2bd2e21dfL,0x55298d2d02470a99L,0x0b78af6ca05db32eL,
  32758. 0x5c76a331601f5636L } },
  32759. /* 37 << 140 */
  32760. { { 0xaae861fff8a4f29cL,0x70dc9240d68f8d49L,0x960e649f81b1321cL,
  32761. 0x3d2c801b8792e4ceL },
  32762. { 0xf479f77242521876L,0x0bed93bc416c79b1L,0xa67fbc05263e5bc9L,
  32763. 0x01e8e630521db049L } },
  32764. /* 38 << 140 */
  32765. { { 0x76f26738c6f3431eL,0xe609cb02e3267541L,0xb10cff2d818c877cL,
  32766. 0x1f0e75ce786a13cbL },
  32767. { 0xf4fdca641158544dL,0x5d777e896cb71ed0L,0x3c233737a9aa4755L,
  32768. 0x7b453192e527ab40L } },
  32769. /* 39 << 140 */
  32770. { { 0xdb59f68839f05ffeL,0x8f4f4be06d82574eL,0xcce3450cee292d1bL,
  32771. 0xaa448a1261ccd086L },
  32772. { 0xabce91b3f7914967L,0x4537f09b1908a5edL,0xa812421ef51042e7L,
  32773. 0xfaf5cebcec0b3a34L } },
  32774. /* 40 << 140 */
  32775. { { 0x730ffd874ca6b39aL,0x70fb72ed02efd342L,0xeb4735f9d75c8edbL,
  32776. 0xc11f2157c278aa51L },
  32777. { 0xc459f635bf3bfebfL,0x3a1ff0b46bd9601fL,0xc9d12823c420cb73L,
  32778. 0x3e9af3e23c2915a3L } },
  32779. /* 41 << 140 */
  32780. { { 0xe0c82c72b41c3440L,0x175239e5e3039a5fL,0xe1084b8a558795a3L,
  32781. 0x328d0a1dd01e5c60L },
  32782. { 0x0a495f2ed3788a04L,0x25d8ff1666c11a9fL,0xf5155f059ed692d6L,
  32783. 0x954fa1074f425fe4L } },
  32784. /* 42 << 140 */
  32785. { { 0xd16aabf2e98aaa99L,0x90cd8ba096b0f88aL,0x957f4782c154026aL,
  32786. 0x54ee073452af56d2L },
  32787. { 0xbcf89e5445b4147aL,0x3d102f219a52816cL,0x6808517e39b62e77L,
  32788. 0x92e2542169169ad8L } },
  32789. /* 43 << 140 */
  32790. { { 0xd721d871bb608558L,0x60e4ebaef6d4ff9bL,0x0ba1081941f2763eL,
  32791. 0xca2e45be51ee3247L },
  32792. { 0x66d172ec2bfd7a5fL,0x528a8f2f74d0b12dL,0xe17f1e38dabe70dcL,
  32793. 0x1d5d73169f93983cL } },
  32794. /* 44 << 140 */
  32795. { { 0x51b2184adf423e31L,0xcb417291aedb1a10L,0x2054ca93625bcab9L,
  32796. 0x54396860a98998f0L },
  32797. { 0x4e53f6c4a54ae57eL,0x0ffeb590ee648e9dL,0xfbbdaadc6afaf6bcL,
  32798. 0xf88ae796aa3bfb8aL } },
  32799. /* 45 << 140 */
  32800. { { 0x209f1d44d2359ed9L,0xac68dd03f3544ce2L,0xf378da47fd51e569L,
  32801. 0xe1abd8602cc80097L },
  32802. { 0x23ca18d9343b6e3aL,0x480797e8b40a1baeL,0xd1f0c717533f3e67L,
  32803. 0x4489697006e6cdfcL } },
  32804. /* 46 << 140 */
  32805. { { 0x8ca2105552a82e8dL,0xb2caf78578460cdcL,0x4c1b7b62e9037178L,
  32806. 0xefc09d2cdb514b58L },
  32807. { 0x5f2df9ee9113be5cL,0x2fbda78fb3f9271cL,0xe09a81af8f83fc54L,
  32808. 0x06b138668afb5141L } },
  32809. /* 47 << 140 */
  32810. { { 0x38f6480f43e3865dL,0x72dd77a81ddf47d9L,0xf2a8e9714c205ff7L,
  32811. 0x46d449d89d088ad8L },
  32812. { 0x926619ea185d706fL,0xe47e02ebc7dd7f62L,0xe7f120a78cbc2031L,
  32813. 0xc18bef00998d4ac9L } },
  32814. /* 48 << 140 */
  32815. { { 0x18f37a9c6bdf22daL,0xefbc432f90dc82dfL,0xc52cef8e5d703651L,
  32816. 0x82887ba0d99881a5L },
  32817. { 0x7cec9ddab920ec1dL,0xd0d7e8c3ec3e8d3bL,0x445bc3954ca88747L,
  32818. 0xedeaa2e09fd53535L } },
  32819. /* 49 << 140 */
  32820. { { 0x461b1d936cc87475L,0xd92a52e26d2383bdL,0xfabccb59d7903546L,
  32821. 0x6111a7613d14b112L },
  32822. { 0x0ae584feb3d5f612L,0x5ea69b8d60e828ecL,0x6c07898554087030L,
  32823. 0x649cab04ac4821feL } },
  32824. /* 50 << 140 */
  32825. { { 0x25ecedcf8bdce214L,0xb5622f7286af7361L,0x0e1227aa7038b9e2L,
  32826. 0xd0efb273ac20fa77L },
  32827. { 0x817ff88b79df975bL,0x856bf2861999503eL,0xb4d5351f5038ec46L,
  32828. 0x740a52c5fc42af6eL } },
  32829. /* 51 << 140 */
  32830. { { 0x2e38bb152cbb1a3fL,0xc3eb99fe17a83429L,0xca4fcbf1dd66bb74L,
  32831. 0x880784d6cde5e8fcL },
  32832. { 0xddc84c1cb4e7a0beL,0x8780510dbd15a72fL,0x44bcf1af81ec30e1L,
  32833. 0x141e50a80a61073eL } },
  32834. /* 52 << 140 */
  32835. { { 0x0d95571847be87aeL,0x68a61417f76a4372L,0xf57e7e87c607c3d3L,
  32836. 0x043afaf85252f332L },
  32837. { 0xcc14e1211552a4d2L,0xb6dee692bb4d4ab4L,0xb6ab74c8a03816a4L,
  32838. 0x84001ae46f394a29L } },
  32839. /* 53 << 140 */
  32840. { { 0x5bed8344d795fb45L,0x57326e7db79f55a5L,0xc9533ce04accdffcL,
  32841. 0x53473caf3993fa04L },
  32842. { 0x7906eb93a13df4c8L,0xa73e51f697cbe46fL,0xd1ab3ae10ae4ccf8L,
  32843. 0x256145088a5b3dbcL } },
  32844. /* 54 << 140 */
  32845. { { 0x61eff96211a71b27L,0xdf71412b6bb7fa39L,0xb31ba6b82bd7f3efL,
  32846. 0xb0b9c41569180d29L },
  32847. { 0xeec14552014cdde5L,0x702c624b227b4bbbL,0x2b15e8c2d3e988f3L,
  32848. 0xee3bcc6da4f7fd04L } },
  32849. /* 55 << 140 */
  32850. { { 0x9d00822a42ac6c85L,0x2db0cea61df9f2b7L,0xd7cad2ab42de1e58L,
  32851. 0x346ed5262d6fbb61L },
  32852. { 0xb39629951a2faf09L,0x2fa8a5807c25612eL,0x30ae04da7cf56490L,
  32853. 0x756629080eea3961L } },
  32854. /* 56 << 140 */
  32855. { { 0x3609f5c53d080847L,0xcb081d395241d4f6L,0xb4fb381077961a63L,
  32856. 0xc20c59842abb66fcL },
  32857. { 0x3d40aa7cf902f245L,0x9cb127364e536b1eL,0x5eda24da99b3134fL,
  32858. 0xafbd9c695cd011afL } },
  32859. /* 57 << 140 */
  32860. { { 0x9a16e30ac7088c7dL,0x5ab657103207389fL,0x1b09547fe7407a53L,
  32861. 0x2322f9d74fdc6eabL },
  32862. { 0xc0f2f22d7430de4dL,0x19382696e68ca9a9L,0x17f1eff1918e5868L,
  32863. 0xe3b5b635586f4204L } },
  32864. /* 58 << 140 */
  32865. { { 0x146ef9803fbc4341L,0x359f2c805b5eed4eL,0x9f35744e7482e41dL,
  32866. 0x9a9ac3ecf3b224c2L },
  32867. { 0x9161a6fe91fc50aeL,0x89ccc66bc613fa7cL,0x89268b14c732f15aL,
  32868. 0x7cd6f4e2b467ed03L } },
  32869. /* 59 << 140 */
  32870. { { 0xfbf79869ce56b40eL,0xf93e094cc02dde98L,0xefe0c3a8edee2cd7L,
  32871. 0x90f3ffc0b268fd42L },
  32872. { 0x81a7fd5608241aedL,0x95ab7ad800b1afe8L,0x401270563e310d52L,
  32873. 0xd3ffdeb109d9fc43L } },
  32874. /* 60 << 140 */
  32875. { { 0xc8f85c91d11a8594L,0x2e74d25831cf6db8L,0x829c7ca302b5dfd0L,
  32876. 0xe389cfbe69143c86L },
  32877. { 0xd01b6405941768d8L,0x4510399503bf825dL,0xcc4ee16656cd17e2L,
  32878. 0xbea3c283ba037e79L } },
  32879. /* 61 << 140 */
  32880. { { 0x4e1ac06ed9a47520L,0xfbfe18aaaf852404L,0x5615f8e28087648aL,
  32881. 0x7301e47eb9d150d9L },
  32882. { 0x79f9f9ddb299b977L,0x76697a7ba5b78314L,0x10d674687d7c90e7L,
  32883. 0x7afffe03937210b5L } },
  32884. /* 62 << 140 */
  32885. { { 0x5aef3e4b28c22ceeL,0xefb0ecd809fd55aeL,0x4cea71320d2a5d6aL,
  32886. 0x9cfb5fa101db6357L },
  32887. { 0x395e0b57f36e1ac5L,0x008fa9ad36cafb7dL,0x8f6cdf705308c4dbL,
  32888. 0x51527a3795ed2477L } },
  32889. /* 63 << 140 */
  32890. { { 0xba0dee305bd21311L,0x6ed41b22909c90d7L,0xc5f6b7587c8696d3L,
  32891. 0x0db8eaa83ce83a80L },
  32892. { 0xd297fe37b24b4b6fL,0xfe58afe8522d1f0dL,0x973587368c98dbd9L,
  32893. 0x6bc226ca9454a527L } },
  32894. /* 64 << 140 */
  32895. { { 0xa12b384ece53c2d0L,0x779d897d5e4606daL,0xa53e47b073ec12b0L,
  32896. 0x462dbbba5756f1adL },
  32897. { 0x69fe09f2cafe37b6L,0x273d1ebfecce2e17L,0x8ac1d5383cf607fdL,
  32898. 0x8035f7ff12e10c25L } },
  32899. /* 0 << 147 */
  32900. { { 0x00, 0x00, 0x00, 0x00 },
  32901. { 0x00, 0x00, 0x00, 0x00 } },
  32902. /* 1 << 147 */
  32903. { { 0x854d34c77e6c5520L,0xc27df9efdcb9ea58L,0x405f2369d686666dL,
  32904. 0x29d1febf0417aa85L },
  32905. { 0x9846819e93470afeL,0x3e6a9669e2a27f9eL,0x24d008a2e31e6504L,
  32906. 0xdba7cecf9cb7680aL } },
  32907. /* 2 << 147 */
  32908. { { 0xecaff541338d6e43L,0x56f7dd734541d5ccL,0xb5d426de96bc88caL,
  32909. 0x48d94f6b9ed3a2c3L },
  32910. { 0x6354a3bb2ef8279cL,0xd575465b0b1867f2L,0xef99b0ff95225151L,
  32911. 0xf3e19d88f94500d8L } },
  32912. /* 3 << 147 */
  32913. { { 0x92a83268e32dd620L,0x913ec99f627849a2L,0xedd8fdfa2c378882L,
  32914. 0xaf96f33eee6f8cfeL },
  32915. { 0xc06737e5dc3fa8a5L,0x236bb531b0b03a1dL,0x33e59f2989f037b0L,
  32916. 0x13f9b5a7d9a12a53L } },
  32917. /* 4 << 147 */
  32918. { { 0x0d0df6ce51efb310L,0xcb5b2eb4958df5beL,0xd6459e2936158e59L,
  32919. 0x82aae2b91466e336L },
  32920. { 0xfb658a39411aa636L,0x7152ecc5d4c0a933L,0xf10c758a49f026b7L,
  32921. 0xf4837f97cb09311fL } },
  32922. /* 5 << 147 */
  32923. { { 0xddfb02c4c753c45fL,0x18ca81b6f9c840feL,0x846fd09ab0f8a3e6L,
  32924. 0xb1162adde7733dbcL },
  32925. { 0x7070ad20236e3ab6L,0xf88cdaf5b2a56326L,0x05fc8719997cbc7aL,
  32926. 0x442cd4524b665272L } },
  32927. /* 6 << 147 */
  32928. { { 0x7807f364b71698f5L,0x6ba418d29f7b605eL,0xfd20b00fa03b2cbbL,
  32929. 0x883eca37da54386fL },
  32930. { 0xff0be43ff3437f24L,0xe910b432a48bb33cL,0x4963a128329df765L,
  32931. 0xac1dd556be2fe6f7L } },
  32932. /* 7 << 147 */
  32933. { { 0x557610f924a0a3fcL,0x38e17bf4e881c3f9L,0x6ba84fafed0dac99L,
  32934. 0xd4a222c359eeb918L },
  32935. { 0xc79c1dbe13f542b6L,0x1fc65e0de425d457L,0xeffb754f1debb779L,
  32936. 0x638d8fd09e08af60L } },
  32937. /* 8 << 147 */
  32938. { { 0x994f523a626332d5L,0x7bc388335561bb44L,0x005ed4b03d845ea2L,
  32939. 0xd39d3ee1c2a1f08aL },
  32940. { 0x6561fdd3e7676b0dL,0x620e35fffb706017L,0x36ce424ff264f9a8L,
  32941. 0xc4c3419fda2681f7L } },
  32942. /* 9 << 147 */
  32943. { { 0xfb6afd2f69beb6e8L,0x3a50b9936d700d03L,0xc840b2ad0c83a14fL,
  32944. 0x573207be54085befL },
  32945. { 0x5af882e309fe7e5bL,0x957678a43b40a7e1L,0x172d4bdd543056e2L,
  32946. 0x9c1b26b40df13c0aL } },
  32947. /* 10 << 147 */
  32948. { { 0x1c30861cf405ff06L,0xebac86bd486e828bL,0xe791a971636933fcL,
  32949. 0x50e7c2be7aeee947L },
  32950. { 0xc3d4a095fa90d767L,0xae60eb7be670ab7bL,0x17633a64397b056dL,
  32951. 0x93a21f33105012aaL } },
  32952. /* 11 << 147 */
  32953. { { 0x663c370babb88643L,0x91df36d722e21599L,0x183ba8358b761671L,
  32954. 0x381eea1d728f3bf1L },
  32955. { 0xb9b2f1ba39966e6cL,0x7c464a28e7295492L,0x0fd5f70a09b26b7fL,
  32956. 0xa9aba1f9fbe009dfL } },
  32957. /* 12 << 147 */
  32958. { { 0x857c1f22369b87adL,0x3c00e5d932fca556L,0x1ad74cab90b06466L,
  32959. 0xa7112386550faaf2L },
  32960. { 0x7435e1986d9bd5f5L,0x2dcc7e3859c3463fL,0xdc7df748ca7bd4b2L,
  32961. 0x13cd4c089dec2f31L } },
  32962. /* 13 << 147 */
  32963. { { 0x0d3b5df8e3237710L,0x0dadb26ecbd2f7b0L,0x9f5966abe4aa082bL,
  32964. 0x666ec8de350e966eL },
  32965. { 0x1bfd1ed5ee524216L,0xcd93c59b41dab0b6L,0x658a8435d186d6baL,
  32966. 0x1b7d34d2159d1195L } },
  32967. /* 14 << 147 */
  32968. { { 0x5936e46022caf46bL,0x6a45dd8f9a96fe4fL,0xf7925434b98f474eL,
  32969. 0x414104120053ef15L },
  32970. { 0x71cf8d1241de97bfL,0xb8547b61bd80bef4L,0xb47d3970c4db0037L,
  32971. 0xf1bcd328fef20dffL } },
  32972. /* 15 << 147 */
  32973. { { 0x31a92e0910caad67L,0x1f5919605531a1e1L,0x3bb852e05f4fc840L,
  32974. 0x63e297ca93a72c6cL },
  32975. { 0x3c2b0b2e49abad67L,0x6ec405fced3db0d9L,0xdc14a5307fef1d40L,
  32976. 0xccd19846280896fcL } },
  32977. /* 16 << 147 */
  32978. { { 0x00f831769bb81648L,0xd69eb485653120d0L,0xd17d75f44ccabc62L,
  32979. 0x34a07f82b749fcb1L },
  32980. { 0x2c3af787bbfb5554L,0xb06ed4d062e283f8L,0x5722889fa19213a0L,
  32981. 0x162b085edcf3c7b4L } },
  32982. /* 17 << 147 */
  32983. { { 0xbcaecb31e0dd3ecaL,0xc6237fbce52f13a5L,0xcc2b6b0327bac297L,
  32984. 0x2ae1cac5b917f54aL },
  32985. { 0x474807d47845ae4fL,0xfec7dd92ce5972e0L,0xc3bd25411d7915bbL,
  32986. 0x66f85dc4d94907caL } },
  32987. /* 18 << 147 */
  32988. { { 0xd981b888bdbcf0caL,0xd75f5da6df279e9fL,0x128bbf247054e934L,
  32989. 0x3c6ff6e581db134bL },
  32990. { 0x795b7cf4047d26e4L,0xf370f7b85049ec37L,0xc6712d4dced945afL,
  32991. 0xdf30b5ec095642bcL } },
  32992. /* 19 << 147 */
  32993. { { 0x9b034c624896246eL,0x5652c016ee90bbd1L,0xeb38636f87fedb73L,
  32994. 0x5e32f8470135a613L },
  32995. { 0x0703b312cf933c83L,0xd05bb76e1a7f47e6L,0x825e4f0c949c2415L,
  32996. 0x569e56227250d6f8L } },
  32997. /* 20 << 147 */
  32998. { { 0xbbe9eb3a6568013eL,0x8dbd203f22f243fcL,0x9dbd7694b342734aL,
  32999. 0x8f6d12f846afa984L },
  33000. { 0xb98610a2c9eade29L,0xbab4f32347dd0f18L,0x5779737b671c0d46L,
  33001. 0x10b6a7c6d3e0a42aL } },
  33002. /* 21 << 147 */
  33003. { { 0xfb19ddf33035b41cL,0xd336343f99c45895L,0x61fe493854c857e5L,
  33004. 0xc4d506beae4e57d5L },
  33005. { 0x3cd8c8cbbbc33f75L,0x7281f08a9262c77dL,0x083f4ea6f11a2823L,
  33006. 0x8895041e9fba2e33L } },
  33007. /* 22 << 147 */
  33008. { { 0xfcdfea499c438edfL,0x7678dcc391edba44L,0xf07b3b87e2ba50f0L,
  33009. 0xc13888ef43948c1bL },
  33010. { 0xc2135ad41140af42L,0x8e5104f3926ed1a7L,0xf24430cb88f6695fL,
  33011. 0x0ce0637b6d73c120L } },
  33012. /* 23 << 147 */
  33013. { { 0xb2db01e6fe631e8fL,0x1c5563d7d7bdd24bL,0x8daea3ba369ad44fL,
  33014. 0x000c81b68187a9f9L },
  33015. { 0x5f48a951aae1fd9aL,0xe35626c78d5aed8aL,0x209527630498c622L,
  33016. 0x76d17634773aa504L } },
  33017. /* 24 << 147 */
  33018. { { 0x36d90ddaeb300f7aL,0x9dcf7dfcedb5e801L,0x645cb26874d5244cL,
  33019. 0xa127ee79348e3aa2L },
  33020. { 0x488acc53575f1dbbL,0x95037e8580e6161eL,0x57e59283292650d0L,
  33021. 0xabe67d9914938216L } },
  33022. /* 25 << 147 */
  33023. { { 0x3c7f944b3f8e1065L,0xed908cb6330e8924L,0x08ee8fd56f530136L,
  33024. 0x2227b7d5d7ffc169L },
  33025. { 0x4f55c893b5cd6dd5L,0x82225e11a62796e8L,0x5c6cead1cb18e12cL,
  33026. 0x4381ae0c84f5a51aL } },
  33027. /* 26 << 147 */
  33028. { { 0x345913d37fafa4c8L,0x3d9180820491aac0L,0x9347871f3e69264cL,
  33029. 0xbea9dd3cb4f4f0cdL },
  33030. { 0xbda5d0673eadd3e7L,0x0033c1b80573bcd8L,0x255893795da2486cL,
  33031. 0xcb89ee5b86abbee7L } },
  33032. /* 27 << 147 */
  33033. { { 0x8fe0a8f322532e5dL,0xb6410ff0727dfc4cL,0x619b9d58226726dbL,
  33034. 0x5ec256697a2b2dc7L },
  33035. { 0xaf4d2e064c3beb01L,0x852123d07acea556L,0x0e9470faf783487aL,
  33036. 0x75a7ea045664b3ebL } },
  33037. /* 28 << 147 */
  33038. { { 0x4ad78f356798e4baL,0x9214e6e5c7d0e091L,0xc420b488b1290403L,
  33039. 0x64049e0afc295749L },
  33040. { 0x03ef5af13ae9841fL,0xdbe4ca19b0b662a6L,0x46845c5ffa453458L,
  33041. 0xf8dabf1910b66722L } },
  33042. /* 29 << 147 */
  33043. { { 0xb650f0aacce2793bL,0x71db851ec5ec47c1L,0x3eb78f3e3b234fa9L,
  33044. 0xb0c60f35fc0106ceL },
  33045. { 0x05427121774eadbdL,0x25367fafce323863L,0x7541b5c9cd086976L,
  33046. 0x4ff069e2dc507ad1L } },
  33047. /* 30 << 147 */
  33048. { { 0x741452568776e667L,0x6e76142cb23c6bb5L,0xdbf307121b3a8a87L,
  33049. 0x60e7363e98450836L },
  33050. { 0x5741450eb7366d80L,0xe4ee14ca4837dbdfL,0xa765eb9b69d4316fL,
  33051. 0x04548dca8ef43825L } },
  33052. /* 31 << 147 */
  33053. { { 0x9c9f4e4c5ae888ebL,0x733abb5156e9ac99L,0xdaad3c20ba6ac029L,
  33054. 0x9b8dd3d32ba3e38eL },
  33055. { 0xa9bb4c920bc5d11aL,0xf20127a79c5f88a3L,0x4f52b06e161d3cb8L,
  33056. 0x26c1ff096afaf0a6L } },
  33057. /* 32 << 147 */
  33058. { { 0x32670d2f7189e71fL,0xc64387485ecf91e7L,0x15758e57db757a21L,
  33059. 0x427d09f8290a9ce5L },
  33060. { 0x846a308f38384a7aL,0xaac3acb4b0732b99L,0x9e94100917845819L,
  33061. 0x95cba111a7ce5e03L } },
  33062. /* 33 << 147 */
  33063. { { 0x6f3d4f7fb00009c4L,0xb8396c278ff28b5fL,0xb1a9ae431c97975dL,
  33064. 0x9d7ba8afe5d9fed5L },
  33065. { 0x338cf09f34f485b6L,0xbc0ddacc64122516L,0xa450da1205d471feL,
  33066. 0x4c3a6250628dd8c9L } },
  33067. /* 34 << 147 */
  33068. { { 0x69c7d103d1295837L,0xa2893e503807eb2fL,0xd6e1e1debdb41491L,
  33069. 0xc630745b5e138235L },
  33070. { 0xc892109e48661ae1L,0x8d17e7ebea2b2674L,0x00ec0f87c328d6b5L,
  33071. 0x6d858645f079ff9eL } },
  33072. /* 35 << 147 */
  33073. { { 0x6cdf243e19115eadL,0x1ce1393e4bac4fcfL,0x2c960ed09c29f25bL,
  33074. 0x59be4d8e9d388a05L },
  33075. { 0x0d46e06cd0def72bL,0xb923db5de0342748L,0xf7d3aacd936d4a3dL,
  33076. 0x558519cc0b0b099eL } },
  33077. /* 36 << 147 */
  33078. { { 0x3ea8ebf8827097efL,0x259353dbd054f55dL,0x84c89abc6d2ed089L,
  33079. 0x5c548b698e096a7cL },
  33080. { 0xd587f616994b995dL,0x4d1531f6a5845601L,0x792ab31e451fd9f0L,
  33081. 0xc8b57bb265adf6caL } },
  33082. /* 37 << 147 */
  33083. { { 0x68440fcb1cd5ad73L,0xb9c860e66144da4fL,0x2ab286aa8462beb8L,
  33084. 0xcc6b8fffef46797fL },
  33085. { 0xac820da420c8a471L,0x69ae05a177ff7fafL,0xb9163f39bfb5da77L,
  33086. 0xbd03e5902c73ab7aL } },
  33087. /* 38 << 147 */
  33088. { { 0x7e862b5eb2940d9eL,0x3c663d864b9af564L,0xd8309031bde3033dL,
  33089. 0x298231b2d42c5bc6L },
  33090. { 0x42090d2c552ad093L,0xa4799d1cff854695L,0x0a88b5d6d31f0d00L,
  33091. 0xf8b40825a2f26b46L } },
  33092. /* 39 << 147 */
  33093. { { 0xec29b1edf1bd7218L,0xd491c53b4b24c86eL,0xd2fe588f3395ea65L,
  33094. 0x6f3764f74456ef15L },
  33095. { 0xdb43116dcdc34800L,0xcdbcd456c1e33955L,0xefdb554074ab286bL,
  33096. 0x948c7a51d18c5d7cL } },
  33097. /* 40 << 147 */
  33098. { { 0xeb81aa377378058eL,0x41c746a104411154L,0xa10c73bcfb828ac7L,
  33099. 0x6439be919d972b29L },
  33100. { 0x4bf3b4b043a2fbadL,0x39e6dadf82b5e840L,0x4f7164086397bd4cL,
  33101. 0x0f7de5687f1eeccbL } },
  33102. /* 41 << 147 */
  33103. { { 0x5865c5a1d2ffbfc1L,0xf74211fa4ccb6451L,0x66368a88c0b32558L,
  33104. 0x5b539dc29ad7812eL },
  33105. { 0x579483d02f3af6f6L,0x5213207899934eceL,0x50b9650fdcc9e983L,
  33106. 0xca989ec9aee42b8aL } },
  33107. /* 42 << 147 */
  33108. { { 0x6a44c829d6f62f99L,0x8f06a3094c2a7c0cL,0x4ea2b3a098a0cb0aL,
  33109. 0x5c547b70beee8364L },
  33110. { 0x461d40e1682afe11L,0x9e0fc77a7b41c0a8L,0x79e4aefde20d5d36L,
  33111. 0x2916e52032dd9f63L } },
  33112. /* 43 << 147 */
  33113. { { 0xf59e52e83f883fafL,0x396f96392b868d35L,0xc902a9df4ca19881L,
  33114. 0x0fc96822db2401a6L },
  33115. { 0x4123758766f1c68dL,0x10fc6de3fb476c0dL,0xf8b6b579841f5d90L,
  33116. 0x2ba8446cfa24f44aL } },
  33117. /* 44 << 147 */
  33118. { { 0xa237b920ef4a9975L,0x60bb60042330435fL,0xd6f4ab5acfb7e7b5L,
  33119. 0xb2ac509783435391L },
  33120. { 0xf036ee2fb0d1ea67L,0xae779a6a74c56230L,0x59bff8c8ab838ae6L,
  33121. 0xcd83ca999b38e6f0L } },
  33122. /* 45 << 147 */
  33123. { { 0xbb27bef5e33deed3L,0xe6356f6f001892a8L,0xbf3be6cc7adfbd3eL,
  33124. 0xaecbc81c33d1ac9dL },
  33125. { 0xe4feb909e6e861dcL,0x90a247a453f5f801L,0x01c50acb27346e57L,
  33126. 0xce29242e461acc1bL } },
  33127. /* 46 << 147 */
  33128. { { 0x04dd214a2f998a91L,0x271ee9b1d4baf27bL,0x7e3027d1e8c26722L,
  33129. 0x21d1645c1820dce5L },
  33130. { 0x086f242c7501779cL,0xf0061407fa0e8009L,0xf23ce47760187129L,
  33131. 0x05bbdedb0fde9bd0L } },
  33132. /* 47 << 147 */
  33133. { { 0x682f483225d98473L,0xf207fe855c658427L,0xb6fdd7ba4166ffa1L,
  33134. 0x0c3140569eed799dL },
  33135. { 0x0db8048f4107e28fL,0x74ed387141216840L,0x74489f8f56a3c06eL,
  33136. 0x1e1c005b12777134L } },
  33137. /* 48 << 147 */
  33138. { { 0xdb332a73f37ec3c3L,0xc65259bddd59eba0L,0x2291709cdb4d3257L,
  33139. 0x9a793b25bd389390L },
  33140. { 0xf39fe34be43756f0L,0x2f76bdce9afb56c9L,0x9f37867a61208b27L,
  33141. 0xea1d4307089972c3L } },
  33142. /* 49 << 147 */
  33143. { { 0x8c5953308bdf623aL,0x5f5accda8441fb7dL,0xfafa941832ddfd95L,
  33144. 0x6ad40c5a0fde9be7L },
  33145. { 0x43faba89aeca8709L,0xc64a7cf12c248a9dL,0x1662025272637a76L,
  33146. 0xaee1c79122b8d1bbL } },
  33147. /* 50 << 147 */
  33148. { { 0xf0f798fd21a843b2L,0x56e4ed4d8d005cb1L,0x355f77801f0d8abeL,
  33149. 0x197b04cf34522326L },
  33150. { 0x41f9b31ffd42c13fL,0x5ef7feb2b40f933dL,0x27326f425d60bad4L,
  33151. 0x027ecdb28c92cf89L } },
  33152. /* 51 << 147 */
  33153. { { 0x04aae4d14e3352feL,0x08414d2f73591b90L,0x5ed6124eb7da7d60L,
  33154. 0xb985b9314d13d4ecL },
  33155. { 0xa592d3ab96bf36f9L,0x012dbed5bbdf51dfL,0xa57963c0df6c177dL,
  33156. 0x010ec86987ca29cfL } },
  33157. /* 52 << 147 */
  33158. { { 0xba1700f6bf926dffL,0x7c9fdbd1f4bf6bc2L,0xdc18dc8f64da11f5L,
  33159. 0xa6074b7ad938ae75L },
  33160. { 0x14270066e84f44a4L,0x99998d38d27b954eL,0xc1be8ab2b4f38e9aL,
  33161. 0x8bb55bbf15c01016L } },
  33162. /* 53 << 147 */
  33163. { { 0xf73472b40ea2ab30L,0xd365a340f73d68ddL,0xc01a716819c2e1ebL,
  33164. 0x32f49e3734061719L },
  33165. { 0xb73c57f101d8b4d6L,0x03c8423c26b47700L,0x321d0bc8a4d8826aL,
  33166. 0x6004213c4bc0e638L } },
  33167. /* 54 << 147 */
  33168. { { 0xf78c64a1c1c06681L,0x16e0a16fef018e50L,0x31cbdf91db42b2b3L,
  33169. 0xf8f4ffcee0d36f58L },
  33170. { 0xcdcc71cd4cc5e3e0L,0xd55c7cfaa129e3e0L,0xccdb6ba00fb2cbf1L,
  33171. 0x6aba0005c4bce3cbL } },
  33172. /* 55 << 147 */
  33173. { { 0x501cdb30d232cfc4L,0x9ddcf12ed58a3cefL,0x02d2cf9c87e09149L,
  33174. 0xdc5d7ec72c976257L },
  33175. { 0x6447986e0b50d7ddL,0x88fdbaf7807f112aL,0x58c9822ab00ae9f6L,
  33176. 0x6abfb9506d3d27e0L } },
  33177. /* 56 << 147 */
  33178. { { 0xd0a744878a429f4fL,0x0649712bdb516609L,0xb826ba57e769b5dfL,
  33179. 0x82335df21fc7aaf2L },
  33180. { 0x2389f0675c93d995L,0x59ac367a68677be6L,0xa77985ff21d9951bL,
  33181. 0x038956fb85011cceL } },
  33182. /* 57 << 147 */
  33183. { { 0x608e48cbbb734e37L,0xc08c0bf22be5b26fL,0x17bbdd3bf9b1a0d9L,
  33184. 0xeac7d89810483319L },
  33185. { 0xc95c4bafbc1a6deaL,0xfdd0e2bf172aafdbL,0x40373cbc8235c41aL,
  33186. 0x14303f21fb6f41d5L } },
  33187. /* 58 << 147 */
  33188. { { 0xba0636210408f237L,0xcad3b09aecd2d1edL,0x4667855a52abb6a2L,
  33189. 0xba9157dcaa8b417bL },
  33190. { 0xfe7f35074f013efbL,0x1b112c4baa38c4a2L,0xa1406a609ba64345L,
  33191. 0xe53cba336993c80bL } },
  33192. /* 59 << 147 */
  33193. { { 0x45466063ded40d23L,0x3d5f1f4d54908e25L,0x9ebefe62403c3c31L,
  33194. 0x274ea0b50672a624L },
  33195. { 0xff818d99451d1b71L,0x80e826438f79cf79L,0xa165df1373ce37f5L,
  33196. 0xa744ef4ffe3a21fdL } },
  33197. /* 60 << 147 */
  33198. { { 0x73f1e7f5cf551396L,0xc616898e868c676bL,0x671c28c78c442c36L,
  33199. 0xcfe5e5585e0a317dL },
  33200. { 0x1242d8187051f476L,0x56fad2a614f03442L,0x262068bc0a44d0f6L,
  33201. 0xdfa2cd6ece6edf4eL } },
  33202. /* 61 << 147 */
  33203. { { 0x0f43813ad15d1517L,0x61214cb2377d44f5L,0xd399aa29c639b35fL,
  33204. 0x42136d7154c51c19L },
  33205. { 0x9774711b08417221L,0x0a5546b352545a57L,0x80624c411150582dL,
  33206. 0x9ec5c418fbc555bcL } },
  33207. /* 62 << 147 */
  33208. { { 0x2c87dcad771849f1L,0xb0c932c501d7bf6fL,0x6aa5cd3e89116eb2L,
  33209. 0xd378c25a51ca7bd3L },
  33210. { 0xc612a0da9e6e3e31L,0x0417a54db68ad5d0L,0x00451e4a22c6edb8L,
  33211. 0x9fbfe019b42827ceL } },
  33212. /* 63 << 147 */
  33213. { { 0x2fa92505ba9384a2L,0x21b8596e64ad69c1L,0x8f4fcc49983b35a6L,
  33214. 0xde09376072754672L },
  33215. { 0x2f14ccc8f7bffe6dL,0x27566bff5d94263dL,0xb5b4e9c62df3ec30L,
  33216. 0x94f1d7d53e6ea6baL } },
  33217. /* 64 << 147 */
  33218. { { 0x97b7851aaaca5e9bL,0x518aa52156713b97L,0x3357e8c7150a61f6L,
  33219. 0x7842e7e2ec2c2b69L },
  33220. { 0x8dffaf656868a548L,0xd963bd82e068fc81L,0x64da5c8b65917733L,
  33221. 0x927090ff7b247328L } },
  33222. /* 0 << 154 */
  33223. { { 0x00, 0x00, 0x00, 0x00 },
  33224. { 0x00, 0x00, 0x00, 0x00 } },
  33225. /* 1 << 154 */
  33226. { { 0x214bc9a7d298c241L,0xe3b697ba56807cfdL,0xef1c78024564eadbL,
  33227. 0xdde8cdcfb48149c5L },
  33228. { 0x946bf0a75a4d2604L,0x27154d7f6c1538afL,0x95cc9230de5b1fccL,
  33229. 0xd88519e966864f82L } },
  33230. /* 2 << 154 */
  33231. { { 0xb828dd1a7cb1282cL,0xa08d7626be46973aL,0x6baf8d40e708d6b2L,
  33232. 0x72571fa14daeb3f3L },
  33233. { 0x85b1732ff22dfd98L,0x87ab01a70087108dL,0xaaaafea85988207aL,
  33234. 0xccc832f869f00755L } },
  33235. /* 3 << 154 */
  33236. { { 0x964d950e36ff3bf0L,0x8ad20f6ff0b34638L,0x4d9177b3b5d7585fL,
  33237. 0xcf839760ef3f019fL },
  33238. { 0x582fc5b38288c545L,0x2f8e4e9b13116bd1L,0xf91e1b2f332120efL,
  33239. 0xcf5687242a17dd23L } },
  33240. /* 4 << 154 */
  33241. { { 0x488f1185ca8d9d1aL,0xadf2c77dd987ded2L,0x5f3039f060c46124L,
  33242. 0xe5d70b7571e095f4L },
  33243. { 0x82d586506260e70fL,0x39d75ea7f750d105L,0x8cf3d0b175bac364L,
  33244. 0xf3a7564d21d01329L } },
  33245. /* 5 << 154 */
  33246. { { 0x182f04cd2f52d2a7L,0x4fde149ae2df565aL,0xb80c5eeca79fb2f7L,
  33247. 0xab491d7b22ddc897L },
  33248. { 0x99d76c18c6312c7fL,0xca0d5f3d6aa41a57L,0x71207325d15363a0L,
  33249. 0xe82aa265beb252c2L } },
  33250. /* 6 << 154 */
  33251. { { 0x94ab4700ec3128c2L,0x6c76d8628e383f49L,0xdc36b150c03024ebL,
  33252. 0xfb43947753daac69L },
  33253. { 0xfc68764a8dc79623L,0x5b86995db440fbb2L,0xd66879bfccc5ee0dL,
  33254. 0x0522894295aa8bd3L } },
  33255. /* 7 << 154 */
  33256. { { 0xb51a40a51e6a75c1L,0x24327c760ea7d817L,0x0663018207774597L,
  33257. 0xd6fdbec397fa7164L },
  33258. { 0x20c99dfb13c90f48L,0xd6ac5273686ef263L,0xc6a50bdcfef64eebL,
  33259. 0xcd87b28186fdfc32L } },
  33260. /* 8 << 154 */
  33261. { { 0xb24aa43e3fcd3efcL,0xdd26c034b8088e9aL,0xa5ef4dc9bd3d46eaL,
  33262. 0xa2f99d588a4c6a6fL },
  33263. { 0xddabd3552f1da46cL,0x72c3f8ce1afacdd1L,0xd90c4eee92d40578L,
  33264. 0xd28bb41fca623b94L } },
  33265. /* 9 << 154 */
  33266. { { 0x50fc0711745edc11L,0x9dd9ad7d3dc87558L,0xce6931fbb49d1e64L,
  33267. 0x6c77a0a2c98bd0f9L },
  33268. { 0x62b9a6296baf7cb1L,0xcf065f91ccf72d22L,0x7203cce979639071L,
  33269. 0x09ae4885f9cb732fL } },
  33270. /* 10 << 154 */
  33271. { { 0x5e7c3becee8314f3L,0x1c068aeddbea298fL,0x08d381f17c80acecL,
  33272. 0x03b56be8e330495bL },
  33273. { 0xaeffb8f29222882dL,0x95ff38f6c4af8bf7L,0x50e32d351fc57d8cL,
  33274. 0x6635be5217b444f0L } },
  33275. /* 11 << 154 */
  33276. { { 0x04d15276a5177900L,0x4e1dbb47f6858752L,0x5b475622c615796cL,
  33277. 0xa6fa0387691867bfL },
  33278. { 0xed7f5d562844c6d0L,0xc633cf9b03a2477dL,0xf6be5c402d3721d6L,
  33279. 0xaf312eb7e9fd68e6L } },
  33280. /* 12 << 154 */
  33281. { { 0x242792d2e7417ce1L,0xff42bc71970ee7f5L,0x1ff4dc6d5c67a41eL,
  33282. 0x77709b7b20882a58L },
  33283. { 0x3554731dbe217f2cL,0x2af2a8cd5bb72177L,0x58eee769591dd059L,
  33284. 0xbb2930c94bba6477L } },
  33285. /* 13 << 154 */
  33286. { { 0x863ee0477d930cfcL,0x4c262ad1396fd1f4L,0xf4765bc8039af7e1L,
  33287. 0x2519834b5ba104f6L },
  33288. { 0x7cd61b4cd105f961L,0xa5415da5d63bca54L,0x778280a088a1f17cL,
  33289. 0xc49689492329512cL } },
  33290. /* 14 << 154 */
  33291. { { 0x174a9126cecdaa7aL,0xfc8c7e0e0b13247bL,0x29c110d23484c1c4L,
  33292. 0xf8eb8757831dfc3bL },
  33293. { 0x022f0212c0067452L,0x3f6f69ee7b9b926cL,0x09032da0ef42daf4L,
  33294. 0x79f00ade83f80de4L } },
  33295. /* 15 << 154 */
  33296. { { 0x6210db7181236c97L,0x74f7685b3ee0781fL,0x4df7da7ba3e41372L,
  33297. 0x2aae38b1b1a1553eL },
  33298. { 0x1688e222f6dd9d1bL,0x576954485b8b6487L,0x478d21274b2edeaaL,
  33299. 0xb2818fa51e85956aL } },
  33300. /* 16 << 154 */
  33301. { { 0x1e6adddaf176f2c0L,0x01ca4604e2572658L,0x0a404ded85342ffbL,
  33302. 0x8cf60f96441838d6L },
  33303. { 0x9bbc691cc9071c4aL,0xfd58874434442803L,0x97101c85809c0d81L,
  33304. 0xa7fb754c8c456f7fL } },
  33305. /* 17 << 154 */
  33306. { { 0xc95f3c5cd51805e1L,0xab4ccd39b299dca8L,0x3e03d20b47eaf500L,
  33307. 0xfa3165c1d7b80893L },
  33308. { 0x005e8b54e160e552L,0xdc4972ba9019d11fL,0x21a6972e0c9a4a7aL,
  33309. 0xa52c258f37840fd7L } },
  33310. /* 18 << 154 */
  33311. { { 0xf8559ff4c1e99d81L,0x08e1a7d6a3c617c0L,0xb398fd43248c6ba7L,
  33312. 0x6ffedd91d1283794L },
  33313. { 0x8a6a59d2d629d208L,0xa9d141d53490530eL,0x42f6fc1838505989L,
  33314. 0x09bf250d479d94eeL } },
  33315. /* 19 << 154 */
  33316. { { 0x223ad3b1b3822790L,0x6c5926c093b8971cL,0x609efc7e75f7fa62L,
  33317. 0x45d66a6d1ec2d989L },
  33318. { 0x4422d663987d2792L,0x4a73caad3eb31d2bL,0xf06c2ac1a32cb9e6L,
  33319. 0xd9445c5f91aeba84L } },
  33320. /* 20 << 154 */
  33321. { { 0x6af7a1d5af71013fL,0xe68216e50bedc946L,0xf4cba30bd27370a0L,
  33322. 0x7981afbf870421ccL },
  33323. { 0x02496a679449f0e1L,0x86cfc4be0a47edaeL,0x3073c936b1feca22L,
  33324. 0xf569461203f8f8fbL } },
  33325. /* 21 << 154 */
  33326. { { 0xd063b723901515eaL,0x4c6c77a5749cf038L,0x6361e360ab9e5059L,
  33327. 0x596cf171a76a37c0L },
  33328. { 0x800f53fa6530ae7aL,0x0f5e631e0792a7a6L,0x5cc29c24efdb81c9L,
  33329. 0xa269e8683f9c40baL } },
  33330. /* 22 << 154 */
  33331. { { 0xec14f9e12cb7191eL,0x78ea1bd8e5b08ea6L,0x3c65aa9b46332bb9L,
  33332. 0x84cc22b3bf80ce25L },
  33333. { 0x0098e9e9d49d5bf1L,0xcd4ec1c619087da4L,0x3c9d07c5aef6e357L,
  33334. 0x839a02689f8f64b8L } },
  33335. /* 23 << 154 */
  33336. { { 0xc5e9eb62c6d8607fL,0x759689f56aa995e4L,0x70464669bbb48317L,
  33337. 0x921474bfe402417dL },
  33338. { 0xcabe135b2a354c8cL,0xd51e52d2812fa4b5L,0xec74109653311fe8L,
  33339. 0x4f774535b864514bL } },
  33340. /* 24 << 154 */
  33341. { { 0xbcadd6715bde48f8L,0xc97038732189bc7dL,0x5d45299ec709ee8aL,
  33342. 0xd1287ee2845aaff8L },
  33343. { 0x7d1f8874db1dbf1fL,0xea46588b990c88d6L,0x60ba649a84368313L,
  33344. 0xd5fdcbce60d543aeL } },
  33345. /* 25 << 154 */
  33346. { { 0x90b46d43810d5ab0L,0x6739d8f904d7e5ccL,0x021c1a580d337c33L,
  33347. 0x00a6116268e67c40L },
  33348. { 0x95ef413b379f0a1fL,0xfe126605e9e2ab95L,0x67578b852f5f199cL,
  33349. 0xf5c003292cb84913L } },
  33350. /* 26 << 154 */
  33351. { { 0xf795643037577dd8L,0x83b82af429c5fe88L,0x9c1bea26cdbdc132L,
  33352. 0x589fa0869c04339eL },
  33353. { 0x033e9538b13799dfL,0x85fa8b21d295d034L,0xdf17f73fbd9ddccaL,
  33354. 0xf32bd122ddb66334L } },
  33355. /* 27 << 154 */
  33356. { { 0x55ef88a7858b044cL,0x1f0d69c25aa9e397L,0x55fd9cc340d85559L,
  33357. 0xc774df727785ddb2L },
  33358. { 0x5dcce9f6d3bd2e1cL,0xeb30da20a85dfed0L,0x5ed7f5bbd3ed09c4L,
  33359. 0x7d42a35c82a9c1bdL } },
  33360. /* 28 << 154 */
  33361. { { 0xcf3de9959890272dL,0x75f3432a3e713a10L,0x5e13479fe28227b8L,
  33362. 0xb8561ea9fefacdc8L },
  33363. { 0xa6a297a08332aafdL,0x9b0d8bb573809b62L,0xd2fa1cfd0c63036fL,
  33364. 0x7a16eb55bd64bda8L } },
  33365. /* 29 << 154 */
  33366. { { 0x3f5cf5f678e62ddcL,0x2267c45407fd752bL,0x5e361b6b5e437bbeL,
  33367. 0x95c595018354e075L },
  33368. { 0xec725f85f2b254d9L,0x844b617d2cb52b4eL,0xed8554f5cf425fb5L,
  33369. 0xab67703e2af9f312L } },
  33370. /* 30 << 154 */
  33371. { { 0x4cc34ec13cf48283L,0xb09daa259c8a705eL,0xd1e9d0d05b7d4f84L,
  33372. 0x4df6ef64db38929dL },
  33373. { 0xe16b0763aa21ba46L,0xc6b1d178a293f8fbL,0x0ff5b602d520aabfL,
  33374. 0x94d671bdc339397aL } },
  33375. /* 31 << 154 */
  33376. { { 0x7c7d98cf4f5792faL,0x7c5e0d6711215261L,0x9b19a631a7c5a6d4L,
  33377. 0xc8511a627a45274dL },
  33378. { 0x0c16621ca5a60d99L,0xf7fbab88cf5e48cbL,0xab1e6ca2f7ddee08L,
  33379. 0x83bd08cee7867f3cL } },
  33380. /* 32 << 154 */
  33381. { { 0xf7e48e8a2ac13e27L,0x4494f6df4eb1a9f5L,0xedbf84eb981f0a62L,
  33382. 0x49badc32536438f0L },
  33383. { 0x50bea541004f7571L,0xbac67d10df1c94eeL,0x253d73a1b727bc31L,
  33384. 0xb3d01cf230686e28L } },
  33385. /* 33 << 154 */
  33386. { { 0x51b77b1b55fd0b8bL,0xa099d183feec3173L,0x202b1fb7670e72b7L,
  33387. 0xadc88b33a8e1635fL },
  33388. { 0x34e8216af989d905L,0xc2e68d2029b58d01L,0x11f81c926fe55a93L,
  33389. 0x15f1462a8f296f40L } },
  33390. /* 34 << 154 */
  33391. { { 0x1915d375ea3d62f2L,0xa17765a301c8977dL,0x7559710ae47b26f6L,
  33392. 0xe0bd29c8535077a5L },
  33393. { 0x615f976d08d84858L,0x370dfe8569ced5c1L,0xbbc7503ca734fa56L,
  33394. 0xfbb9f1ec91ac4574L } },
  33395. /* 35 << 154 */
  33396. { { 0x95d7ec53060dd7efL,0xeef2dacd6e657979L,0x54511af3e2a08235L,
  33397. 0x1e324aa41f4aea3dL },
  33398. { 0x550e7e71e6e67671L,0xbccd5190bf52faf7L,0xf880d316223cc62aL,
  33399. 0x0d402c7e2b32eb5dL } },
  33400. /* 36 << 154 */
  33401. { { 0xa40bc039306a5a3bL,0x4e0a41fd96783a1bL,0xa1e8d39a0253cdd4L,
  33402. 0x6480be26c7388638L },
  33403. { 0xee365e1d2285f382L,0x188d8d8fec0b5c36L,0x34ef1a481f0f4d82L,
  33404. 0x1a8f43e1a487d29aL } },
  33405. /* 37 << 154 */
  33406. { { 0x8168226d77aefb3aL,0xf69a751e1e72c253L,0x8e04359ae9594df1L,
  33407. 0x475ffd7dd14c0467L },
  33408. { 0xb5a2c2b13844e95cL,0x85caf647dd12ef94L,0x1ecd2a9ff1063d00L,
  33409. 0x1dd2e22923843311L } },
  33410. /* 38 << 154 */
  33411. { { 0x38f0e09d73d17244L,0x3ede77468fc653f1L,0xae4459f5dc20e21cL,
  33412. 0x00db2ffa6a8599eaL },
  33413. { 0x11682c3930cfd905L,0x4934d074a5c112a6L,0xbdf063c5568bfe95L,
  33414. 0x779a440a016c441aL } },
  33415. /* 39 << 154 */
  33416. { { 0x0c23f21897d6fbdcL,0xd3a5cd87e0776aacL,0xcee37f72d712e8dbL,
  33417. 0xfb28c70d26f74e8dL },
  33418. { 0xffe0c728b61301a0L,0xa6282168d3724354L,0x7ff4cb00768ffedcL,
  33419. 0xc51b308803b02de9L } },
  33420. /* 40 << 154 */
  33421. { { 0xa5a8147c3902dda5L,0x35d2f706fe6973b4L,0x5ac2efcfc257457eL,
  33422. 0x933f48d48700611bL },
  33423. { 0xc365af884912beb2L,0x7f5a4de6162edf94L,0xc646ba7c0c32f34bL,
  33424. 0x632c6af3b2091074L } },
  33425. /* 41 << 154 */
  33426. { { 0x58d4f2e3753e43a9L,0x70e1d21724d4e23fL,0xb24bf729afede6a6L,
  33427. 0x7f4a94d8710c8b60L },
  33428. { 0xaad90a968d4faa6aL,0xd9ed0b32b066b690L,0x52fcd37b78b6dbfdL,
  33429. 0x0b64615e8bd2b431L } },
  33430. /* 42 << 154 */
  33431. { { 0x228e2048cfb9fad5L,0xbeaa386d240b76bdL,0x2d6681c890dad7bcL,
  33432. 0x3e553fc306d38f5eL },
  33433. { 0xf27cdb9b9d5f9750L,0x3e85c52ad28c5b0eL,0x190795af5247c39bL,
  33434. 0x547831ebbddd6828L } },
  33435. /* 43 << 154 */
  33436. { { 0xf327a2274a82f424L,0x36919c787e47f89dL,0xe478391943c7392cL,
  33437. 0xf101b9aa2316fefeL },
  33438. { 0xbcdc9e9c1c5009d2L,0xfb55ea139cd18345L,0xf5b5e231a3ce77c7L,
  33439. 0xde6b4527d2f2cb3dL } },
  33440. /* 44 << 154 */
  33441. { { 0x10f6a3339bb26f5fL,0x1e85db8e044d85b6L,0xc3697a0894197e54L,
  33442. 0x65e18cc0a7cb4ea8L },
  33443. { 0xa38c4f50a471fe6eL,0xf031747a2f13439cL,0x53c4a6bac007318bL,
  33444. 0xa8da3ee51deccb3dL } },
  33445. /* 45 << 154 */
  33446. { { 0x0555b31c558216b1L,0x90c7810c2f79e6c2L,0x9b669f4dfe8eed3cL,
  33447. 0x70398ec8e0fac126L },
  33448. { 0xa96a449ef701b235L,0x0ceecdb3eb94f395L,0x285fc368d0cb7431L,
  33449. 0x0d37bb5216a18c64L } },
  33450. /* 46 << 154 */
  33451. { { 0x05110d38b880d2ddL,0xa60f177b65930d57L,0x7da34a67f36235f5L,
  33452. 0x47f5e17c183816b9L },
  33453. { 0xc7664b57db394af4L,0x39ba215d7036f789L,0x46d2ca0e2f27b472L,
  33454. 0xc42647eef73a84b7L } },
  33455. /* 47 << 154 */
  33456. { { 0x44bc754564488f1dL,0xaa922708f4cf85d5L,0x721a01d553e4df63L,
  33457. 0x649c0c515db46cedL },
  33458. { 0x6bf0d64e3cffcb6cL,0xe3bf93fe50f71d96L,0x75044558bcc194a0L,
  33459. 0x16ae33726afdc554L } },
  33460. /* 48 << 154 */
  33461. { { 0xbfc01adf5ca48f3fL,0x64352f06e22a9b84L,0xcee54da1c1099e4aL,
  33462. 0xbbda54e8fa1b89c0L },
  33463. { 0x166a3df56f6e55fbL,0x1ca44a2420176f88L,0x936afd88dfb7b5ffL,
  33464. 0xe34c24378611d4a0L } },
  33465. /* 49 << 154 */
  33466. { { 0x7effbb7586142103L,0x6704ba1b1f34fc4dL,0x7c2a468f10c1b122L,
  33467. 0x36b3a6108c6aace9L },
  33468. { 0xabfcc0a775a0d050L,0x066f91973ce33e32L,0xce905ef429fe09beL,
  33469. 0x89ee25baa8376351L } },
  33470. /* 50 << 154 */
  33471. { { 0x2a3ede22fd29dc76L,0x7fd32ed936f17260L,0x0cadcf68284b4126L,
  33472. 0x63422f08a7951fc8L },
  33473. { 0x562b24f40807e199L,0xfe9ce5d122ad4490L,0xc2f51b100db2b1b4L,
  33474. 0xeb3613ffe4541d0dL } },
  33475. /* 51 << 154 */
  33476. { { 0xbd2c4a052680813bL,0x527aa55d561b08d6L,0xa9f8a40ea7205558L,
  33477. 0xe3eea56f243d0becL },
  33478. { 0x7b853817a0ff58b3L,0xb67d3f651a69e627L,0x0b76bbb9a869b5d6L,
  33479. 0xa3afeb82546723edL } },
  33480. /* 52 << 154 */
  33481. { { 0x5f24416d3e554892L,0x8413b53d430e2a45L,0x99c56aee9032a2a0L,
  33482. 0x09432bf6eec367b1L },
  33483. { 0x552850c6daf0ecc1L,0x49ebce555bc92048L,0xdfb66ba654811307L,
  33484. 0x1b84f7976f298597L } },
  33485. /* 53 << 154 */
  33486. { { 0x795904818d1d7a0dL,0xd9fabe033a6fa556L,0xa40f9c59ba9e5d35L,
  33487. 0xcb1771c1f6247577L },
  33488. { 0x542a47cae9a6312bL,0xa34b3560552dd8c5L,0xfdf94de00d794716L,
  33489. 0xd46124a99c623094L } },
  33490. /* 54 << 154 */
  33491. { { 0x56b7435d68afe8b4L,0x27f205406c0d8ea1L,0x12b77e1473186898L,
  33492. 0xdbc3dd467479490fL },
  33493. { 0x951a9842c03b0c05L,0x8b1b3bb37921bc96L,0xa573b3462b202e0aL,
  33494. 0x77e4665d47254d56L } },
  33495. /* 55 << 154 */
  33496. { { 0x08b70dfcd23e3984L,0xab86e8bcebd14236L,0xaa3e07f857114ba7L,
  33497. 0x5ac71689ab0ef4f2L },
  33498. { 0x88fca3840139d9afL,0x72733f8876644af0L,0xf122f72a65d74f4aL,
  33499. 0x13931577a5626c7aL } },
  33500. /* 56 << 154 */
  33501. { { 0xd5b5d9eb70f8d5a4L,0x375adde7d7bbb228L,0x31e88b860c1c0b32L,
  33502. 0xd1f568c4173edbaaL },
  33503. { 0x1592fc835459df02L,0x2beac0fb0fcd9a7eL,0xb0a6fdb81b473b0aL,
  33504. 0xe3224c6f0fe8fc48L } },
  33505. /* 57 << 154 */
  33506. { { 0x680bd00ee87edf5bL,0x30385f0220e77cf5L,0xe9ab98c04d42d1b2L,
  33507. 0x72d191d2d3816d77L },
  33508. { 0x1564daca0917d9e5L,0x394eab591f8fed7fL,0xa209aa8d7fbb3896L,
  33509. 0x5564f3b9be6ac98eL } },
  33510. /* 58 << 154 */
  33511. { { 0xead21d05d73654efL,0x68d1a9c413d78d74L,0x61e017086d4973a0L,
  33512. 0x83da350046e6d32aL },
  33513. { 0x6a3dfca468ae0118L,0xa1b9a4c9d02da069L,0x0b2ff9c7ebab8302L,
  33514. 0x98af07c3944ba436L } },
  33515. /* 59 << 154 */
  33516. { { 0x85997326995f0f9fL,0x467fade071b58bc6L,0x47e4495abd625a2bL,
  33517. 0xfdd2d01d33c3b8cdL },
  33518. { 0x2c38ae28c693f9faL,0x48622329348f7999L,0x97bf738e2161f583L,
  33519. 0x15ee2fa7565e8cc9L } },
  33520. /* 60 << 154 */
  33521. { { 0xa1a5c8455777e189L,0xcc10bee0456f2829L,0x8ad95c56da762bd5L,
  33522. 0x152e2214e9d91da8L },
  33523. { 0x975b0e727cb23c74L,0xfd5d7670a90c66dfL,0xb5b5b8ad225ffc53L,
  33524. 0xab6dff73faded2aeL } },
  33525. /* 61 << 154 */
  33526. { { 0xebd567816f4cbe9dL,0x0ed8b2496a574bd7L,0x41c246fe81a881faL,
  33527. 0x91564805c3db9c70L },
  33528. { 0xd7c12b085b862809L,0x1facd1f155858d7bL,0x7693747caf09e92aL,
  33529. 0x3b69dcba189a425fL } },
  33530. /* 62 << 154 */
  33531. { { 0x0be28e9f967365efL,0x57300eb2e801f5c9L,0x93b8ac6ad583352fL,
  33532. 0xa2cf1f89cd05b2b7L },
  33533. { 0x7c0c9b744dcc40ccL,0xfee38c45ada523fbL,0xb49a4dec1099cc4dL,
  33534. 0x325c377f69f069c6L } },
  33535. /* 63 << 154 */
  33536. { { 0xe12458ce476cc9ffL,0x580e0b6cc6d4cb63L,0xd561c8b79072289bL,
  33537. 0x0377f264a619e6daL },
  33538. { 0x2668536288e591a5L,0xa453a7bd7523ca2bL,0x8a9536d2c1df4533L,
  33539. 0xc8e50f2fbe972f79L } },
  33540. /* 64 << 154 */
  33541. { { 0xd433e50f6d3549cfL,0x6f33696ffacd665eL,0x695bfdacce11fcb4L,
  33542. 0x810ee252af7c9860L },
  33543. { 0x65450fe17159bb2cL,0xf7dfbebe758b357bL,0x2b057e74d69fea72L,
  33544. 0xd485717a92731745L } },
  33545. /* 0 << 161 */
  33546. { { 0x00, 0x00, 0x00, 0x00 },
  33547. { 0x00, 0x00, 0x00, 0x00 } },
  33548. /* 1 << 161 */
  33549. { { 0x896c42e8ee36860cL,0xdaf04dfd4113c22dL,0x1adbb7b744104213L,
  33550. 0xe5fd5fa11fd394eaL },
  33551. { 0x68235d941a4e0551L,0x6772cfbe18d10151L,0x276071e309984523L,
  33552. 0xe4e879de5a56ba98L } },
  33553. /* 2 << 161 */
  33554. { { 0xaaafafb0285b9491L,0x01a0be881e4c705eL,0xff1d4f5d2ad9caabL,
  33555. 0x6e349a4ac37a233fL },
  33556. { 0xcf1c12464a1c6a16L,0xd99e6b6629383260L,0xea3d43665f6d5471L,
  33557. 0x36974d04ff8cc89bL } },
  33558. /* 3 << 161 */
  33559. { { 0xc26c49a1cfe89d80L,0xb42c026dda9c8371L,0xca6c013adad066d2L,
  33560. 0xfb8f722856a4f3eeL },
  33561. { 0x08b579ecd850935bL,0x34c1a74cd631e1b3L,0xcb5fe596ac198534L,
  33562. 0x39ff21f6e1f24f25L } },
  33563. /* 4 << 161 */
  33564. { { 0x27f29e148f929057L,0x7a64ae06c0c853dfL,0x256cd18358e9c5ceL,
  33565. 0x9d9cce82ded092a5L },
  33566. { 0xcc6e59796e93b7c7L,0xe1e4709231bb9e27L,0xb70b3083aa9e29a0L,
  33567. 0xbf181a753785e644L } },
  33568. /* 5 << 161 */
  33569. { { 0xf53f2c658ead09f7L,0x1335e1d59780d14dL,0x69cc20e0cd1b66bcL,
  33570. 0x9b670a37bbe0bfc8L },
  33571. { 0xce53dc8128efbeedL,0x0c74e77c8326a6e5L,0x3604e0d2b88e9a63L,
  33572. 0xbab38fca13dc2248L } },
  33573. /* 6 << 161 */
  33574. { { 0x8ed6e8c85c0a3f1eL,0xbcad24927c87c37fL,0xfdfb62bb9ee3b78dL,
  33575. 0xeba8e477cbceba46L },
  33576. { 0x37d38cb0eeaede4bL,0x0bc498e87976deb6L,0xb2944c046b6147fbL,
  33577. 0x8b123f35f71f9609L } },
  33578. /* 7 << 161 */
  33579. { { 0xa155dcc7de79dc24L,0xf1168a32558f69cdL,0xbac215950d1850dfL,
  33580. 0x15c8295bb204c848L },
  33581. { 0xf661aa367d8184ffL,0xc396228e30447bdbL,0x11cd5143bde4a59eL,
  33582. 0xe3a26e3b6beab5e6L } },
  33583. /* 8 << 161 */
  33584. { { 0xd3b3a13f1402b9d0L,0x573441c32c7bc863L,0x4b301ec4578c3e6eL,
  33585. 0xc26fc9c40adaf57eL },
  33586. { 0x96e71bfd7493cea3L,0xd05d4b3f1af81456L,0xdaca2a8a6a8c608fL,
  33587. 0x53ef07f60725b276L } },
  33588. /* 9 << 161 */
  33589. { { 0x07a5fbd27824fc56L,0x3467521813289077L,0x5bf69fd5e0c48349L,
  33590. 0xa613ddd3b6aa7875L },
  33591. { 0x7f78c19c5450d866L,0x46f4409c8f84a481L,0x9f1d192890fce239L,
  33592. 0x016c4168b2ce44b9L } },
  33593. /* 10 << 161 */
  33594. { { 0xbae023f0c7435978L,0xb152c88820e30e19L,0x9c241645e3fa6fafL,
  33595. 0x735d95c184823e60L },
  33596. { 0x0319757303955317L,0x0b4b02a9f03b4995L,0x076bf55970274600L,
  33597. 0x32c5cc53aaf57508L } },
  33598. /* 11 << 161 */
  33599. { { 0xe8af6d1f60624129L,0xb7bc5d649a5e2b5eL,0x3814b0485f082d72L,
  33600. 0x76f267f2ce19677aL },
  33601. { 0x626c630fb36eed93L,0x55230cd73bf56803L,0x78837949ce2736a0L,
  33602. 0x0d792d60aa6c55f1L } },
  33603. /* 12 << 161 */
  33604. { { 0x0318dbfdd5c7c5d2L,0xb38f8da7072b342dL,0x3569bddc7b8de38aL,
  33605. 0xf25b5887a1c94842L },
  33606. { 0xb2d5b2842946ad60L,0x854f29ade9d1707eL,0xaa5159dc2c6a4509L,
  33607. 0x899f94c057189837L } },
  33608. /* 13 << 161 */
  33609. { { 0xcf6adc51f4a55b03L,0x261762de35e3b2d5L,0x4cc4301204827b51L,
  33610. 0xcd22a113c6021442L },
  33611. { 0xce2fd61a247c9569L,0x59a50973d152becaL,0x6c835a1163a716d4L,
  33612. 0xc26455ed187dedcfL } },
  33613. /* 14 << 161 */
  33614. { { 0x27f536e049ce89e7L,0x18908539cc890cb5L,0x308909abd83c2aa1L,
  33615. 0xecd3142b1ab73bd3L },
  33616. { 0x6a85bf59b3f5ab84L,0x3c320a68f2bea4c6L,0xad8dc5386da4541fL,
  33617. 0xeaf34eb0b7c41186L } },
  33618. /* 15 << 161 */
  33619. { { 0x1c780129977c97c4L,0x5ff9beebc57eb9faL,0xa24d0524c822c478L,
  33620. 0xfd8eec2a461cd415L },
  33621. { 0xfbde194ef027458cL,0xb4ff53191d1be115L,0x63f874d94866d6f4L,
  33622. 0x35c75015b21ad0c9L } },
  33623. /* 16 << 161 */
  33624. { { 0xa6b5c9d646ac49d2L,0x42c77c0b83137aa9L,0x24d000fc68225a38L,
  33625. 0x0f63cfc82fe1e907L },
  33626. { 0x22d1b01bc6441f95L,0x7d38f719ec8e448fL,0x9b33fa5f787fb1baL,
  33627. 0x94dcfda1190158dfL } },
  33628. /* 17 << 161 */
  33629. { { 0xc47cb3395f6d4a09L,0x6b4f355cee52b826L,0x3d100f5df51b930aL,
  33630. 0xf4512fac9f668f69L },
  33631. { 0x546781d5206c4c74L,0xd021d4d4cb4d2e48L,0x494a54c2ca085c2dL,
  33632. 0xf1dbaca4520850a8L } },
  33633. /* 18 << 161 */
  33634. { { 0x63c79326490a1acaL,0xcb64dd9c41526b02L,0xbb772591a2979258L,
  33635. 0x3f58297048d97846L },
  33636. { 0xd66b70d17c213ba7L,0xc28febb5e8a0ced4L,0x6b911831c10338c1L,
  33637. 0x0d54e389bf0126f3L } },
  33638. /* 19 << 161 */
  33639. { { 0x7048d4604af206eeL,0x786c88f677e97cb9L,0xd4375ae1ac64802eL,
  33640. 0x469bcfe1d53ec11cL },
  33641. { 0xfc9b340d47062230L,0xe743bb57c5b4a3acL,0xfe00b4aa59ef45acL,
  33642. 0x29a4ef2359edf188L } },
  33643. /* 20 << 161 */
  33644. { { 0x40242efeb483689bL,0x2575d3f6513ac262L,0xf30037c80ca6db72L,
  33645. 0xc9fcce8298864be2L },
  33646. { 0x84a112ff0149362dL,0x95e575821c4ae971L,0x1fa4b1a8945cf86cL,
  33647. 0x4525a7340b024a2fL } },
  33648. /* 21 << 161 */
  33649. { { 0xe76c8b628f338360L,0x483ff59328edf32bL,0x67e8e90a298b1aecL,
  33650. 0x9caab338736d9a21L },
  33651. { 0x5c09d2fd66892709L,0x2496b4dcb55a1d41L,0x93f5fb1ae24a4394L,
  33652. 0x08c750496fa8f6c1L } },
  33653. /* 22 << 161 */
  33654. { { 0xcaead1c2c905d85fL,0xe9d7f7900733ae57L,0x24c9a65cf07cdd94L,
  33655. 0x7389359ca4b55931L },
  33656. { 0xf58709b7367e45f7L,0x1f203067cb7e7adcL,0x82444bffc7b72818L,
  33657. 0x07303b35baac8033L } },
  33658. /* 23 << 161 */
  33659. { { 0x1e1ee4e4d13b7ea1L,0xe6489b24e0e74180L,0xa5f2c6107e70ef70L,
  33660. 0xa1655412bdd10894L },
  33661. { 0x555ebefb7af4194eL,0x533c1c3c8e89bd9cL,0x735b9b5789895856L,
  33662. 0x15fb3cd2567f5c15L } },
  33663. /* 24 << 161 */
  33664. { { 0x057fed45526f09fdL,0xe8a4f10c8128240aL,0x9332efc4ff2bfd8dL,
  33665. 0x214e77a0bd35aa31L },
  33666. { 0x32896d7314faa40eL,0x767867ec01e5f186L,0xc9adf8f117a1813eL,
  33667. 0xcb6cda7854741795L } },
  33668. /* 25 << 161 */
  33669. { { 0xb7521b6d349d51aaL,0xf56b5a9ee3c7b8e9L,0xc6f1e5c932a096dfL,
  33670. 0x083667c4a3635024L },
  33671. { 0x365ea13518087f2fL,0xf1b8eaacd136e45dL,0xc8a0e48473aec989L,
  33672. 0xd75a324b142c9259L } },
  33673. /* 26 << 161 */
  33674. { { 0xb7b4d00101dae185L,0x45434e0b9b7a94bcL,0xf54339affbd8cb0bL,
  33675. 0xdcc4569ee98ef49eL },
  33676. { 0x7789318a09a51299L,0x81b4d206b2b025d8L,0xf64aa418fae85792L,
  33677. 0x3e50258facd7baf7L } },
  33678. /* 27 << 161 */
  33679. { { 0xdce84cdb2996864bL,0xa2e670891f485fa4L,0xb28b2bb6534c6a5aL,
  33680. 0x31a7ec6bc94b9d39L },
  33681. { 0x1d217766d6bc20daL,0x4acdb5ec86761190L,0x6872632873701063L,
  33682. 0x4d24ee7c2128c29bL } },
  33683. /* 28 << 161 */
  33684. { { 0xc072ebd3a19fd868L,0x612e481cdb8ddd3bL,0xb4e1d7541a64d852L,
  33685. 0x00ef95acc4c6c4abL },
  33686. { 0x1536d2edaa0a6c46L,0x6129408643774790L,0x54af25e8343fda10L,
  33687. 0x9ff9d98dfd25d6f2L } },
  33688. /* 29 << 161 */
  33689. { { 0x0746af7c468b8835L,0x977a31cb730ecea7L,0xa5096b80c2cf4a81L,
  33690. 0xaa9868336458c37aL },
  33691. { 0x6af29bf3a6bd9d34L,0x6a62fe9b33c5d854L,0x50e6c304b7133b5eL,
  33692. 0x04b601597d6e6848L } },
  33693. /* 30 << 161 */
  33694. { { 0x4cd296df5579bea4L,0x10e35ac85ceedaf1L,0x04c4c5fde3bcc5b1L,
  33695. 0x95f9ee8a89412cf9L },
  33696. { 0x2c9459ee82b6eb0fL,0x2e84576595c2aaddL,0x774a84aed327fcfeL,
  33697. 0xd8c937220368d476L } },
  33698. /* 31 << 161 */
  33699. { { 0x0dbd5748f83e8a3bL,0xa579aa968d2495f3L,0x535996a0ae496e9bL,
  33700. 0x07afbfe9b7f9bcc2L },
  33701. { 0x3ac1dc6d5b7bd293L,0x3b592cff7022323dL,0xba0deb989c0a3e76L,
  33702. 0x18e78e9f4b197acbL } },
  33703. /* 32 << 161 */
  33704. { { 0x211cde10296c36efL,0x7ee8967282c4da77L,0xb617d270a57836daL,
  33705. 0xf0cd9c319cb7560bL },
  33706. { 0x01fdcbf7e455fe90L,0x3fb53cbb7e7334f3L,0x781e2ea44e7de4ecL,
  33707. 0x8adab3ad0b384fd0L } },
  33708. /* 33 << 161 */
  33709. { { 0x129eee2f53d64829L,0x7a471e17a261492bL,0xe4f9adb9e4cb4a2cL,
  33710. 0x3d359f6f97ba2c2dL },
  33711. { 0x346c67860aacd697L,0x92b444c375c2f8a8L,0xc79fa117d85df44eL,
  33712. 0x56782372398ddf31L } },
  33713. /* 34 << 161 */
  33714. { { 0x60e690f2bbbab3b8L,0x4851f8ae8b04816bL,0xc72046ab9c92e4d2L,
  33715. 0x518c74a17cf3136bL },
  33716. { 0xff4eb50af9877d4cL,0x14578d90a919cabbL,0x8218f8c4ac5eb2b6L,
  33717. 0xa3ccc547542016e4L } },
  33718. /* 35 << 161 */
  33719. { { 0x025bf48e327f8349L,0xf3e97346f43cb641L,0xdc2bafdf500f1085L,
  33720. 0x571678762f063055L },
  33721. { 0x5bd914b9411925a6L,0x7c078d48a1123de5L,0xee6bf835182b165dL,
  33722. 0xb11b5e5bba519727L } },
  33723. /* 36 << 161 */
  33724. { { 0xe33ea76c1eea7b85L,0x2352b46192d4f85eL,0xf101d334afe115bbL,
  33725. 0xfabc1294889175a3L },
  33726. { 0x7f6bcdc05233f925L,0xe0a802dbe77fec55L,0xbdb47b758069b659L,
  33727. 0x1c5e12def98fbd74L } },
  33728. /* 37 << 161 */
  33729. { { 0x869c58c64b8457eeL,0xa5360f694f7ea9f7L,0xe576c09ff460b38fL,
  33730. 0x6b70d54822b7fb36L },
  33731. { 0x3fd237f13bfae315L,0x33797852cbdff369L,0x97df25f525b516f9L,
  33732. 0x46f388f2ba38ad2dL } },
  33733. /* 38 << 161 */
  33734. { { 0x656c465889d8ddbbL,0x8830b26e70f38ee8L,0x4320fd5cde1212b0L,
  33735. 0xc34f30cfe4a2edb2L },
  33736. { 0xabb131a356ab64b8L,0x7f77f0ccd99c5d26L,0x66856a37bf981d94L,
  33737. 0x19e76d09738bd76eL } },
  33738. /* 39 << 161 */
  33739. { { 0xe76c8ac396238f39L,0xc0a482bea830b366L,0xb7b8eaff0b4eb499L,
  33740. 0x8ecd83bc4bfb4865L },
  33741. { 0x971b2cb7a2f3776fL,0xb42176a4f4b88adfL,0xb9617df5be1fa446L,
  33742. 0x8b32d508cd031bd2L } },
  33743. /* 40 << 161 */
  33744. { { 0x1c6bd47d53b618c0L,0xc424f46c6a227923L,0x7303ffdedd92d964L,
  33745. 0xe971287871b5abf2L },
  33746. { 0x8f48a632f815561dL,0x85f48ff5d3c055d1L,0x222a14277525684fL,
  33747. 0xd0d841a067360cc3L } },
  33748. /* 41 << 161 */
  33749. { { 0x4245a9260b9267c6L,0xc78913f1cf07f863L,0xaa844c8e4d0d9e24L,
  33750. 0xa42ad5223d5f9017L },
  33751. { 0xbd371749a2c989d5L,0x928292dfe1f5e78eL,0x493b383e0a1ea6daL,
  33752. 0x5136fd8d13aee529L } },
  33753. /* 42 << 161 */
  33754. { { 0x860c44b1f2c34a99L,0x3b00aca4bf5855acL,0xabf6aaa0faaf37beL,
  33755. 0x65f436822a53ec08L },
  33756. { 0x1d9a5801a11b12e1L,0x78a7ab2ce20ed475L,0x0de1067e9a41e0d5L,
  33757. 0x30473f5f305023eaL } },
  33758. /* 43 << 161 */
  33759. { { 0xdd3ae09d169c7d97L,0x5cd5baa4cfaef9cdL,0x5cd7440b65a44803L,
  33760. 0xdc13966a47f364deL },
  33761. { 0x077b2be82b8357c1L,0x0cb1b4c5e9d57c2aL,0x7a4ceb3205ff363eL,
  33762. 0xf310fa4dca35a9efL } },
  33763. /* 44 << 161 */
  33764. { { 0xdbb7b352f97f68c6L,0x0c773b500b02cf58L,0xea2e48213c1f96d9L,
  33765. 0xffb357b0eee01815L },
  33766. { 0xb9c924cde0f28039L,0x0b36c95a46a3fbe4L,0x1faaaea45e46db6cL,
  33767. 0xcae575c31928aaffL } },
  33768. /* 45 << 161 */
  33769. { { 0x7f671302a70dab86L,0xfcbd12a971c58cfcL,0xcbef9acfbee0cb92L,
  33770. 0x573da0b9f8c1b583L },
  33771. { 0x4752fcfe0d41d550L,0xe7eec0e32155cffeL,0x0fc39fcb545ae248L,
  33772. 0x522cb8d18065f44eL } },
  33773. /* 46 << 161 */
  33774. { { 0x263c962a70cbb96cL,0xe034362abcd124a9L,0xf120db283c2ae58dL,
  33775. 0xb9a38d49fef6d507L },
  33776. { 0xb1fd2a821ff140fdL,0xbd162f3020aee7e0L,0x4e17a5d4cb251949L,
  33777. 0x2aebcb834f7e1c3dL } },
  33778. /* 47 << 161 */
  33779. { { 0x608eb25f937b0527L,0xf42e1e47eb7d9997L,0xeba699c4b8a53a29L,
  33780. 0x1f921c71e091b536L },
  33781. { 0xcce29e7b5b26bbd5L,0x7a8ef5ed3b61a680L,0xe5ef8043ba1f1c7eL,
  33782. 0x16ea821718158ddaL } },
  33783. /* 48 << 161 */
  33784. { { 0x01778a2b599ff0f9L,0x68a923d78104fc6bL,0x5bfa44dfda694ff3L,
  33785. 0x4f7199dbf7667f12L },
  33786. { 0xc06d8ff6e46f2a79L,0x08b5deade9f8131dL,0x02519a59abb4ce7cL,
  33787. 0xc4f710bcb42aec3eL } },
  33788. /* 49 << 161 */
  33789. { { 0x3d77b05778bde41aL,0x6474bf80b4186b5aL,0x048b3f6788c65741L,
  33790. 0xc64519de03c7c154L },
  33791. { 0xdf0738460edfcc4fL,0x319aa73748f1aa6bL,0x8b9f8a02ca909f77L,
  33792. 0x902581397580bfefL } },
  33793. /* 50 << 161 */
  33794. { { 0xd8bfd3cac0c22719L,0xc60209e4c9ca151eL,0x7a744ab5d9a1a69cL,
  33795. 0x6de5048b14937f8fL },
  33796. { 0x171938d8e115ac04L,0x7df709401c6b16d2L,0xa6aeb6637f8e94e7L,
  33797. 0xc130388e2a2cf094L } },
  33798. /* 51 << 161 */
  33799. { { 0x1850be8477f54e6eL,0x9f258a7265d60fe5L,0xff7ff0c06c9146d6L,
  33800. 0x039aaf90e63a830bL },
  33801. { 0x38f27a739460342fL,0x4703148c3f795f8aL,0x1bb5467b9681a97eL,
  33802. 0x00931ba5ecaeb594L } },
  33803. /* 52 << 161 */
  33804. { { 0xcdb6719d786f337cL,0xd9c01cd2e704397dL,0x0f4a3f20555c2fefL,
  33805. 0x004525097c0af223L },
  33806. { 0x54a5804784db8e76L,0x3bacf1aa93c8aa06L,0x11ca957cf7919422L,
  33807. 0x5064105378cdaa40L } },
  33808. /* 53 << 161 */
  33809. { { 0x7a3038749f7144aeL,0x170c963f43d4acfdL,0x5e14814958ddd3efL,
  33810. 0xa7bde5829e72dba8L },
  33811. { 0x0769da8b6fa68750L,0xfa64e532572e0249L,0xfcaadf9d2619ad31L,
  33812. 0x87882daaa7b349cdL } },
  33813. /* 54 << 161 */
  33814. { { 0x9f6eb7316c67a775L,0xcb10471aefc5d0b1L,0xb433750ce1b806b2L,
  33815. 0x19c5714d57b1ae7eL },
  33816. { 0xc0dc8b7bed03fd3fL,0xdd03344f31bc194eL,0xa66c52a78c6320b5L,
  33817. 0x8bc82ce3d0b6fd93L } },
  33818. /* 55 << 161 */
  33819. { { 0xf8e13501b35f1341L,0xe53156dd25a43e42L,0xd3adf27e4daeb85cL,
  33820. 0xb81d8379bbeddeb5L },
  33821. { 0x1b0b546e2e435867L,0x9020eb94eba5dd60L,0x37d911618210cb9dL,
  33822. 0x4c596b315c91f1cfL } },
  33823. /* 56 << 161 */
  33824. { { 0xb228a90f0e0b040dL,0xbaf02d8245ff897fL,0x2aac79e600fa6122L,
  33825. 0x248288178e36f557L },
  33826. { 0xb9521d31113ec356L,0x9e48861e15eff1f8L,0x2aa1d412e0d41715L,
  33827. 0x71f8620353f131b8L } },
  33828. /* 57 << 161 */
  33829. { { 0xf60da8da3fd19408L,0x4aa716dc278d9d99L,0x394531f7a8c51c90L,
  33830. 0xb560b0e8f59db51cL },
  33831. { 0xa28fc992fa34bdadL,0xf024fa149cd4f8bdL,0x5cf530f723a9d0d3L,
  33832. 0x615ca193e28c9b56L } },
  33833. /* 58 << 161 */
  33834. { { 0x6d2a483d6f73c51eL,0xa4cb2412ea0dc2ddL,0x50663c411eb917ffL,
  33835. 0x3d3a74cfeade299eL },
  33836. { 0x29b3990f4a7a9202L,0xa9bccf59a7b15c3dL,0x66a3ccdca5df9208L,
  33837. 0x48027c1443f2f929L } },
  33838. /* 59 << 161 */
  33839. { { 0xd385377c40b557f0L,0xe001c366cd684660L,0x1b18ed6be2183a27L,
  33840. 0x879738d863210329L },
  33841. { 0xa687c74bbda94882L,0xd1bbcc48a684b299L,0xaf6f1112863b3724L,
  33842. 0x6943d1b42c8ce9f8L } },
  33843. /* 60 << 161 */
  33844. { { 0xe044a3bb098cafb4L,0x27ed231060d48cafL,0x542b56753a31b84dL,
  33845. 0xcbf3dd50fcddbed7L },
  33846. { 0x25031f1641b1d830L,0xa7ec851dcb0c1e27L,0xac1c8fe0b5ae75dbL,
  33847. 0xb24c755708c52120L } },
  33848. /* 61 << 161 */
  33849. { { 0x57f811dc1d4636c3L,0xf8436526681a9939L,0x1f6bc6d99c81adb3L,
  33850. 0x840f8ac35b7d80d4L },
  33851. { 0x731a9811f4387f1aL,0x7c501cd3b5156880L,0xa5ca4a07dfe68867L,
  33852. 0xf123d8f05fcea120L } },
  33853. /* 62 << 161 */
  33854. { { 0x1fbb0e71d607039eL,0x2b70e215cd3a4546L,0x32d2f01d53324091L,
  33855. 0xb796ff08180ab19bL },
  33856. { 0x32d87a863c57c4aaL,0x2aed9cafb7c49a27L,0x9fb35eac31630d98L,
  33857. 0x338e8cdf5c3e20a3L } },
  33858. /* 63 << 161 */
  33859. { { 0x80f1618266cde8dbL,0x4e1599802d72fd36L,0xd7b8f13b9b6e5072L,
  33860. 0xf52139073b7b5dc1L },
  33861. { 0x4d431f1d8ce4396eL,0x37a1a680a7ed2142L,0xbf375696d01aaf6bL,
  33862. 0xaa1c0c54e63aab66L } },
  33863. /* 64 << 161 */
  33864. { { 0x3014368b4ed80940L,0x67e6d0567a6fceddL,0x7c208c49ca97579fL,
  33865. 0xfe3d7a81a23597f6L },
  33866. { 0x5e2032027e096ae2L,0xb1f3e1e724b39366L,0x26da26f32fdcdffcL,
  33867. 0x79422f1d6097be83L } },
  33868. /* 0 << 168 */
  33869. { { 0x00, 0x00, 0x00, 0x00 },
  33870. { 0x00, 0x00, 0x00, 0x00 } },
  33871. /* 1 << 168 */
  33872. { { 0x263a2cfb9db3b381L,0x9c3a2deed4df0a4bL,0x728d06e97d04e61fL,
  33873. 0x8b1adfbc42449325L },
  33874. { 0x6ec1d9397e053a1bL,0xee2be5c766daf707L,0x80ba1e14810ac7abL,
  33875. 0xdd2ae778f530f174L } },
  33876. /* 2 << 168 */
  33877. { { 0x0435d97a205b9d8bL,0x6eb8f064056756d4L,0xd5e88a8bb6f8210eL,
  33878. 0x070ef12dec9fd9eaL },
  33879. { 0x4d8495053bcc876aL,0x12a75338a7404ce3L,0xd22b49e1b8a1db5eL,
  33880. 0xec1f205114bfa5adL } },
  33881. /* 3 << 168 */
  33882. { { 0xadbaeb79b6828f36L,0x9d7a025801bd5b9eL,0xeda01e0d1e844b0cL,
  33883. 0x4b625175887edfc9L },
  33884. { 0x14109fdd9669b621L,0x88a2ca56f6f87b98L,0xfe2eb788170df6bcL,
  33885. 0x0cea06f4ffa473f9L } },
  33886. /* 4 << 168 */
  33887. { { 0x43ed81b5c4e83d33L,0xd9f358795efd488bL,0x164a620f9deb4d0fL,
  33888. 0xc6927bdbac6a7394L },
  33889. { 0x45c28df79f9e0f03L,0x2868661efcd7e1a9L,0x7cf4e8d0ffa348f1L,
  33890. 0x6bd4c284398538e0L } },
  33891. /* 5 << 168 */
  33892. { { 0x2618a091289a8619L,0xef796e606671b173L,0x664e46e59090c632L,
  33893. 0xa38062d41e66f8fbL },
  33894. { 0x6c744a200573274eL,0xd07b67e4a9271394L,0x391223b26bdc0e20L,
  33895. 0xbe2d93f1eb0a05a7L } },
  33896. /* 6 << 168 */
  33897. { { 0xf23e2e533f36d141L,0xe84bb3d44dfca442L,0xb804a48d6b7c023aL,
  33898. 0x1e16a8fa76431c3bL },
  33899. { 0x1b5452adddd472e0L,0x7d405ee70d1ee127L,0x50fc6f1dffa27599L,
  33900. 0x351ac53cbf391b35L } },
  33901. /* 7 << 168 */
  33902. { { 0x7efa14b84444896bL,0x64974d2ff94027fbL,0xefdcd0e8de84487dL,
  33903. 0x8c45b2602b48989bL },
  33904. { 0xa8fcbbc2d8463487L,0xd1b2b3f73fbc476cL,0x21d005b7c8f443c0L,
  33905. 0x518f2e6740c0139cL } },
  33906. /* 8 << 168 */
  33907. { { 0x56036e8c06d75fc1L,0x2dcf7bb73249a89fL,0x81dd1d3de245e7ddL,
  33908. 0xf578dc4bebd6e2a7L },
  33909. { 0x4c028903df2ce7a0L,0xaee362889c39afacL,0xdc847c31146404abL,
  33910. 0x6304c0d8a4e97818L } },
  33911. /* 9 << 168 */
  33912. { { 0xae51dca2a91f6791L,0x2abe41909baa9efcL,0xd9d2e2f4559c7ac1L,
  33913. 0xe82f4b51fc9f773aL },
  33914. { 0xa77130274073e81cL,0xc0276facfbb596fcL,0x1d819fc9a684f70cL,
  33915. 0x29b47fddc9f7b1e0L } },
  33916. /* 10 << 168 */
  33917. { { 0x358de103459b1940L,0xec881c595b013e93L,0x51574c9349532ad3L,
  33918. 0x2db1d445b37b46deL },
  33919. { 0xc6445b87df239fd8L,0xc718af75151d24eeL,0xaea1c4a4f43c6259L,
  33920. 0x40c0e5d770be02f7L } },
  33921. /* 11 << 168 */
  33922. { { 0x6a4590f4721b33f2L,0x2124f1fbfedf04eaL,0xf8e53cde9745efe7L,
  33923. 0xe7e1043265f046d9L },
  33924. { 0xc3fca28ee4d0c7e6L,0x847e339a87253b1bL,0x9b5953483743e643L,
  33925. 0xcb6a0a0b4fd12fc5L } },
  33926. /* 12 << 168 */
  33927. { { 0xfb6836c327d02dccL,0x5ad009827a68bcc2L,0x1b24b44c005e912dL,
  33928. 0xcc83d20f811fdcfeL },
  33929. { 0x36527ec1666fba0cL,0x6994819714754635L,0xfcdcb1a8556da9c2L,
  33930. 0xa593426781a732b2L } },
  33931. /* 13 << 168 */
  33932. { { 0xec1214eda714181dL,0x609ac13b6067b341L,0xff4b4c97a545df1fL,
  33933. 0xa124050134d2076bL },
  33934. { 0x6efa0c231409ca97L,0x254cc1a820638c43L,0xd4e363afdcfb46cdL,
  33935. 0x62c2adc303942a27L } },
  33936. /* 14 << 168 */
  33937. { { 0xc67b9df056e46483L,0xa55abb2063736356L,0xab93c098c551bc52L,
  33938. 0x382b49f9b15fe64bL },
  33939. { 0x9ec221ad4dff8d47L,0x79caf615437df4d6L,0x5f13dc64bb456509L,
  33940. 0xe4c589d9191f0714L } },
  33941. /* 15 << 168 */
  33942. { { 0x27b6a8ab3fd40e09L,0xe455842e77313ea9L,0x8b51d1e21f55988bL,
  33943. 0x5716dd73062bbbfcL },
  33944. { 0x633c11e54e8bf3deL,0x9a0e77b61b85be3bL,0x565107290911cca6L,
  33945. 0x27e76495efa6590fL } },
  33946. /* 16 << 168 */
  33947. { { 0xe4ac8b33070d3aabL,0x2643672b9a2cd5e5L,0x52eff79b1cfc9173L,
  33948. 0x665ca49b90a7c13fL },
  33949. { 0x5a8dda59b3efb998L,0x8a5b922d052f1341L,0xae9ebbab3cf9a530L,
  33950. 0x35986e7bf56da4d7L } },
  33951. /* 17 << 168 */
  33952. { { 0x3a636b5cff3513ccL,0xbb0cf8ba3198f7ddL,0xb8d4052241f16f86L,
  33953. 0x760575d8de13a7bfL },
  33954. { 0x36f74e169f7aa181L,0x163a3ecff509ed1cL,0x6aead61f3c40a491L,
  33955. 0x158c95fcdfe8fcaaL } },
  33956. /* 18 << 168 */
  33957. { { 0xa3991b6e13cda46fL,0x79482415342faed0L,0xf3ba5bde666b5970L,
  33958. 0x1d52e6bcb26ab6ddL },
  33959. { 0x768ba1e78608dd3dL,0x4930db2aea076586L,0xd9575714e7dc1afaL,
  33960. 0x1fc7bf7df7c58817L } },
  33961. /* 19 << 168 */
  33962. { { 0x6b47accdd9eee96cL,0x0ca277fbe58cec37L,0x113fe413e702c42aL,
  33963. 0xdd1764eec47cbe51L },
  33964. { 0x041e7cde7b3ed739L,0x50cb74595ce9e1c0L,0x355685132925b212L,
  33965. 0x7cff95c4001b081cL } },
  33966. /* 20 << 168 */
  33967. { { 0x63ee4cbd8088b454L,0xdb7f32f79a9e0c8aL,0xb377d4186b2447cbL,
  33968. 0xe3e982aad370219bL },
  33969. { 0x06ccc1e4c2a2a593L,0x72c368650773f24fL,0xa13b4da795859423L,
  33970. 0x8bbf1d3375040c8fL } },
  33971. /* 21 << 168 */
  33972. { { 0x726f0973da50c991L,0x48afcd5b822d6ee2L,0xe5fc718b20fd7771L,
  33973. 0xb9e8e77dfd0807a1L },
  33974. { 0x7f5e0f4499a7703dL,0x6972930e618e36f3L,0x2b7c77b823807bbeL,
  33975. 0xe5b82405cb27ff50L } },
  33976. /* 22 << 168 */
  33977. { { 0xba8b8be3bd379062L,0xd64b7a1d2dce4a92L,0x040a73c5b2952e37L,
  33978. 0x0a9e252ed438aecaL },
  33979. { 0xdd43956bc39d3bcbL,0x1a31ca00b32b2d63L,0xd67133b85c417a18L,
  33980. 0xd08e47902ef442c8L } },
  33981. /* 23 << 168 */
  33982. { { 0x98cb1ae9255c0980L,0x4bd863812b4a739fL,0x5a5c31e11e4a45a1L,
  33983. 0x1e5d55fe9cb0db2fL },
  33984. { 0x74661b068ff5cc29L,0x026b389f0eb8a4f4L,0x536b21a458848c24L,
  33985. 0x2e5bf8ec81dc72b0L } },
  33986. /* 24 << 168 */
  33987. { { 0x03c187d0ad886aacL,0x5c16878ab771b645L,0xb07dfc6fc74045abL,
  33988. 0x2c6360bf7800caedL },
  33989. { 0x24295bb5b9c972a3L,0xc9e6f88e7c9a6dbaL,0x90ffbf2492a79aa6L,
  33990. 0xde29d50a41c26ac2L } },
  33991. /* 25 << 168 */
  33992. { { 0x9f0af483d309cbe6L,0x5b020d8ae0bced4fL,0x606e986db38023e3L,
  33993. 0xad8f2c9d1abc6933L },
  33994. { 0x19292e1de7400e93L,0xfe3e18a952be5e4dL,0xe8e9771d2e0680bfL,
  33995. 0x8c5bec98c54db063L } },
  33996. /* 26 << 168 */
  33997. { { 0x2af9662a74a55d1fL,0xe3fbf28f046f66d8L,0xa3a72ab4d4dc4794L,
  33998. 0x09779f455c7c2dd8L },
  33999. { 0xd893bdafc3d19d8dL,0xd5a7509457d6a6dfL,0x8cf8fef9952e6255L,
  34000. 0x3da67cfbda9a8affL } },
  34001. /* 27 << 168 */
  34002. { { 0x4c23f62a2c160dcdL,0x34e6c5e38f90eaefL,0x35865519a9a65d5aL,
  34003. 0x07c48aae8fd38a3dL },
  34004. { 0xb7e7aeda50068527L,0x2c09ef231c90936aL,0x31ecfeb6e879324cL,
  34005. 0xa0871f6bfb0ec938L } },
  34006. /* 28 << 168 */
  34007. { { 0xb1f0fb68d84d835dL,0xc90caf39861dc1e6L,0x12e5b0467594f8d7L,
  34008. 0x26897ae265012b92L },
  34009. { 0xbcf68a08a4d6755dL,0x403ee41c0991fbdaL,0x733e343e3bbf17e8L,
  34010. 0xd2c7980d679b3d65L } },
  34011. /* 29 << 168 */
  34012. { { 0x33056232d2e11305L,0x966be492f3c07a6fL,0x6a8878ffbb15509dL,
  34013. 0xff2211010a9b59a4L },
  34014. { 0x6c9f564aabe30129L,0xc6f2c940336e64cfL,0x0fe752628b0c8022L,
  34015. 0xbe0267e96ae8db87L } },
  34016. /* 30 << 168 */
  34017. { { 0x22e192f193bc042bL,0xf085b534b237c458L,0xa0d192bd832c4168L,
  34018. 0x7a76e9e3bdf6271dL },
  34019. { 0x52a882fab88911b5L,0xc85345e4b4db0eb5L,0xa3be02a681a7c3ffL,
  34020. 0x51889c8cf0ec0469L } },
  34021. /* 31 << 168 */
  34022. { { 0x9d031369a5e829e5L,0xcbb4c6fc1607aa41L,0x75ac59a6241d84c1L,
  34023. 0xc043f2bf8829e0eeL },
  34024. { 0x82a38f758ea5e185L,0x8bda40b9d87cbd9fL,0x9e65e75e2d8fc601L,
  34025. 0x3d515f74a35690b3L } },
  34026. /* 32 << 168 */
  34027. { { 0x534acf4fda79e5acL,0x68b83b3a8630215fL,0x5c748b2ed085756eL,
  34028. 0xb0317258e5d37cb2L },
  34029. { 0x6735841ac5ccc2c4L,0x7d7dc96b3d9d5069L,0xa147e410fd1754bdL,
  34030. 0x65296e94d399ddd5L } },
  34031. /* 33 << 168 */
  34032. { { 0xf6b5b2d0bc8fa5bcL,0x8a5ead67500c277bL,0x214625e6dfa08a5dL,
  34033. 0x51fdfedc959cf047L },
  34034. { 0x6bc9430b289fca32L,0xe36ff0cf9d9bdc3fL,0x2fe187cb58ea0edeL,
  34035. 0xed66af205a900b3fL } },
  34036. /* 34 << 168 */
  34037. { { 0x00e0968b5fa9f4d6L,0x2d4066ce37a362e7L,0xa99a9748bd07e772L,
  34038. 0x710989c006a4f1d0L },
  34039. { 0xd5dedf35ce40cbd8L,0xab55c5f01743293dL,0x766f11448aa24e2cL,
  34040. 0x94d874f8605fbcb4L } },
  34041. /* 35 << 168 */
  34042. { { 0xa365f0e8a518001bL,0xee605eb69d04ef0fL,0x5a3915cdba8d4d25L,
  34043. 0x44c0e1b8b5113472L },
  34044. { 0xcbb024e88b6740dcL,0x89087a53ee1d4f0cL,0xa88fa05c1fc4e372L,
  34045. 0x8bf395cbaf8b3af2L } },
  34046. /* 36 << 168 */
  34047. { { 0x1e71c9a1deb8568bL,0xa35daea080fb3d32L,0xe8b6f2662cf8fb81L,
  34048. 0x6d51afe89490696aL },
  34049. { 0x81beac6e51803a19L,0xe3d24b7f86219080L,0x727cfd9ddf6f463cL,
  34050. 0x8c6865ca72284ee8L } },
  34051. /* 37 << 168 */
  34052. { { 0x32c88b7db743f4efL,0x3793909be7d11dceL,0xd398f9222ff2ebe8L,
  34053. 0x2c70ca44e5e49796L },
  34054. { 0xdf4d9929cb1131b1L,0x7826f29825888e79L,0x4d3a112cf1d8740aL,
  34055. 0x00384cb6270afa8bL } },
  34056. /* 38 << 168 */
  34057. { { 0xcb64125b3ab48095L,0x3451c25662d05106L,0xd73d577da4955845L,
  34058. 0x39570c16bf9f4433L },
  34059. { 0xd7dfaad3adecf263L,0xf1c3d8d1dc76e102L,0x5e774a5854c6a836L,
  34060. 0xdad4b6723e92d47bL } },
  34061. /* 39 << 168 */
  34062. { { 0xbe7e990ff0d796a0L,0x5fc62478df0e8b02L,0x8aae8bf4030c00adL,
  34063. 0x3d2db93b9004ba0fL },
  34064. { 0xe48c8a79d85d5ddcL,0xe907caa76bb07f34L,0x58db343aa39eaed5L,
  34065. 0x0ea6e007adaf5724L } },
  34066. /* 40 << 168 */
  34067. { { 0xe00df169d23233f3L,0x3e32279677cb637fL,0x1f897c0e1da0cf6cL,
  34068. 0xa651f5d831d6bbddL },
  34069. { 0xdd61af191a230c76L,0xbd527272cdaa5e4aL,0xca753636d0abcd7eL,
  34070. 0x78bdd37c370bd8dcL } },
  34071. /* 41 << 168 */
  34072. { { 0xc23916c217cd93feL,0x65b97a4ddadce6e2L,0xe04ed4eb174e42f8L,
  34073. 0x1491ccaabb21480aL },
  34074. { 0x145a828023196332L,0x3c3862d7587b479aL,0x9f4a88a301dcd0edL,
  34075. 0x4da2b7ef3ea12f1fL } },
  34076. /* 42 << 168 */
  34077. { { 0xf8e7ae33b126e48eL,0x404a0b32f494e237L,0x9beac474c55acadbL,
  34078. 0x4ee5cf3bcbec9fd9L },
  34079. { 0x336b33b97df3c8c3L,0xbd905fe3b76808fdL,0x8f436981aa45c16aL,
  34080. 0x255c5bfa3dd27b62L } },
  34081. /* 43 << 168 */
  34082. { { 0x71965cbfc3dd9b4dL,0xce23edbffc068a87L,0xb78d4725745b029bL,
  34083. 0x74610713cefdd9bdL },
  34084. { 0x7116f75f1266bf52L,0x0204672218e49bb6L,0xdf43df9f3d6f19e3L,
  34085. 0xef1bc7d0e685cb2fL } },
  34086. /* 44 << 168 */
  34087. { { 0xcddb27c17078c432L,0xe1961b9cb77fedb7L,0x1edc2f5cc2290570L,
  34088. 0x2c3fefca19cbd886L },
  34089. { 0xcf880a36c2af389aL,0x96c610fdbda71ceaL,0xf03977a932aa8463L,
  34090. 0x8eb7763f8586d90aL } },
  34091. /* 45 << 168 */
  34092. { { 0x3f3424542a296e77L,0xc871868342837a35L,0x7dc710906a09c731L,
  34093. 0x54778ffb51b816dbL },
  34094. { 0x6b33bfecaf06defdL,0xfe3c105f8592b70bL,0xf937fda461da6114L,
  34095. 0x3c13e6514c266ad7L } },
  34096. /* 46 << 168 */
  34097. { { 0xe363a829855938e8L,0x2eeb5d9e9de54b72L,0xbeb93b0e20ccfab9L,
  34098. 0x3dffbb5f25e61a25L },
  34099. { 0x7f655e431acc093dL,0x0cb6cc3d3964ce61L,0x6ab283a1e5e9b460L,
  34100. 0x55d787c5a1c7e72dL } },
  34101. /* 47 << 168 */
  34102. { { 0x4d2efd47deadbf02L,0x11e80219ac459068L,0x810c762671f311f0L,
  34103. 0xfa17ef8d4ab6ef53L },
  34104. { 0xaf47fd2593e43bffL,0x5cb5ff3f0be40632L,0x546871068ee61da3L,
  34105. 0x7764196eb08afd0fL } },
  34106. /* 48 << 168 */
  34107. { { 0x831ab3edf0290a8fL,0xcae81966cb47c387L,0xaad7dece184efb4fL,
  34108. 0xdcfc53b34749110eL },
  34109. { 0x6698f23c4cb632f9L,0xc42a1ad6b91f8067L,0xb116a81d6284180aL,
  34110. 0xebedf5f8e901326fL } },
  34111. /* 49 << 168 */
  34112. { { 0xf2274c9f97e3e044L,0x4201852011d09fc9L,0x56a65f17d18e6e23L,
  34113. 0x2ea61e2a352b683cL },
  34114. { 0x27d291bc575eaa94L,0x9e7bc721b8ff522dL,0x5f7268bfa7f04d6fL,
  34115. 0x5868c73faba41748L } },
  34116. /* 50 << 168 */
  34117. { { 0x9f85c2db7be0eeadL,0x511e7842ff719135L,0x5a06b1e9c5ea90d7L,
  34118. 0x0c19e28326fab631L },
  34119. { 0x8af8f0cfe9206c55L,0x89389cb43553c06aL,0x39dbed97f65f8004L,
  34120. 0x0621b037c508991dL } },
  34121. /* 51 << 168 */
  34122. { { 0x1c52e63596e78cc4L,0x5385c8b20c06b4a8L,0xd84ddfdbb0e87d03L,
  34123. 0xc49dfb66934bafadL },
  34124. { 0x7071e17059f70772L,0x3a073a843a1db56bL,0x034949033b8af190L,
  34125. 0x7d882de3d32920f0L } },
  34126. /* 52 << 168 */
  34127. { { 0x91633f0ab2cf8940L,0x72b0b1786f948f51L,0x2d28dc30782653c8L,
  34128. 0x88829849db903a05L },
  34129. { 0xb8095d0c6a19d2bbL,0x4b9e7f0c86f782cbL,0x7af739882d907064L,
  34130. 0xd12be0fe8b32643cL } },
  34131. /* 53 << 168 */
  34132. { { 0x358ed23d0e165dc3L,0x3d47ce624e2378ceL,0x7e2bb0b9feb8a087L,
  34133. 0x3246e8aee29e10b9L },
  34134. { 0x459f4ec703ce2b4dL,0xe9b4ca1bbbc077cfL,0x2613b4f20e9940c1L,
  34135. 0xfc598bb9047d1eb1L } },
  34136. /* 54 << 168 */
  34137. { { 0x9744c62b45036099L,0xa9dee742167c65d8L,0x0c511525dabe1943L,
  34138. 0xda11055493c6c624L },
  34139. { 0xae00a52c651a3be2L,0xcda5111d884449a6L,0x063c06f4ff33bed1L,
  34140. 0x73baaf9a0d3d76b4L } },
  34141. /* 55 << 168 */
  34142. { { 0x52fb0c9d7fc63668L,0x6886c9dd0c039cdeL,0x602bd59955b22351L,
  34143. 0xb00cab02360c7c13L },
  34144. { 0x8cb616bc81b69442L,0x41486700b55c3ceeL,0x71093281f49ba278L,
  34145. 0xad956d9c64a50710L } },
  34146. /* 56 << 168 */
  34147. { { 0x9561f28b638a7e81L,0x54155cdf5980ddc3L,0xb2db4a96d26f247aL,
  34148. 0x9d774e4e4787d100L },
  34149. { 0x1a9e6e2e078637d2L,0x1c363e2d5e0ae06aL,0x7493483ee9cfa354L,
  34150. 0x76843cb37f74b98dL } },
  34151. /* 57 << 168 */
  34152. { { 0xbaca6591d4b66947L,0xb452ce9804460a8cL,0x6830d24643768f55L,
  34153. 0xf4197ed87dff12dfL },
  34154. { 0x6521b472400dd0f7L,0x59f5ca8f4b1e7093L,0x6feff11b080338aeL,
  34155. 0x0ada31f6a29ca3c6L } },
  34156. /* 58 << 168 */
  34157. { { 0x24794eb694a2c215L,0xd83a43ab05a57ab4L,0x264a543a2a6f89feL,
  34158. 0x2c2a3868dd5ec7c2L },
  34159. { 0xd33739408439d9b2L,0x715ea6720acd1f11L,0x42c1d235e7e6cc19L,
  34160. 0x81ce6e96b990585cL } },
  34161. /* 59 << 168 */
  34162. { { 0x04e5dfe0d809c7bdL,0xd7b2580c8f1050abL,0x6d91ad78d8a4176fL,
  34163. 0x0af556ee4e2e897cL },
  34164. { 0x162a8b73921de0acL,0x52ac9c227ea78400L,0xee2a4eeaefce2174L,
  34165. 0xbe61844e6d637f79L } },
  34166. /* 60 << 168 */
  34167. { { 0x0491f1bc789a283bL,0x72d3ac3d880836f4L,0xaa1c5ea388e5402dL,
  34168. 0x1b192421d5cc473dL },
  34169. { 0x5c0b99989dc84cacL,0xb0a8482d9c6e75b8L,0x639961d03a191ce2L,
  34170. 0xda3bc8656d837930L } },
  34171. /* 61 << 168 */
  34172. { { 0xca990653056e6f8fL,0x84861c4164d133a7L,0x8b403276746abe40L,
  34173. 0xb7b4d51aebf8e303L },
  34174. { 0x05b43211220a255dL,0xc997152c02419e6eL,0x76ff47b6630c2feaL,
  34175. 0x50518677281fdadeL } },
  34176. /* 62 << 168 */
  34177. { { 0x3283b8bacf902b0bL,0x8d4b4eb537db303bL,0xcc89f42d755011bcL,
  34178. 0xb43d74bbdd09d19bL },
  34179. { 0x65746bc98adba350L,0x364eaf8cb51c1927L,0x13c7659610ad72ecL,
  34180. 0x30045121f8d40c20L } },
  34181. /* 63 << 168 */
  34182. { { 0x6d2d99b7ea7b979bL,0xcd78cd74e6fb3bcdL,0x11e45a9e86cffbfeL,
  34183. 0x78a61cf4637024f6L },
  34184. { 0xd06bc8723d502295L,0xf1376854458cb288L,0xb9db26a1342f8586L,
  34185. 0xf33effcf4beee09eL } },
  34186. /* 64 << 168 */
  34187. { { 0xd7e0c4cdb30cfb3aL,0x6d09b8c16c9db4c8L,0x40ba1a4207c8d9dfL,
  34188. 0x6fd495f71c52c66dL },
  34189. { 0xfb0e169f275264daL,0x80c2b746e57d8362L,0xedd987f749ad7222L,
  34190. 0xfdc229af4398ec7bL } },
  34191. /* 0 << 175 */
  34192. { { 0x00, 0x00, 0x00, 0x00 },
  34193. { 0x00, 0x00, 0x00, 0x00 } },
  34194. /* 1 << 175 */
  34195. { { 0xb0d1ed8452666a58L,0x4bcb6e00e6a9c3c2L,0x3c57411c26906408L,
  34196. 0xcfc2075513556400L },
  34197. { 0xa08b1c505294dba3L,0xa30ba2868b7dd31eL,0xd70ba90e991eca74L,
  34198. 0x094e142ce762c2b9L } },
  34199. /* 2 << 175 */
  34200. { { 0xb81d783e979f3925L,0x1efd130aaf4c89a7L,0x525c2144fd1bf7faL,
  34201. 0x4b2969041b265a9eL },
  34202. { 0xed8e9634b9db65b6L,0x35c82e3203599d8aL,0xdaa7a54f403563f3L,
  34203. 0x9df088ad022c38abL } },
  34204. /* 3 << 175 */
  34205. { { 0xe5cfb066bb3fd30aL,0x429169daeff0354eL,0x809cf8523524e36cL,
  34206. 0x136f4fb30155be1dL },
  34207. { 0x4826af011fbba712L,0x6ef0f0b4506ba1a1L,0xd9928b3177aea73eL,
  34208. 0xe2bf6af25eaa244eL } },
  34209. /* 4 << 175 */
  34210. { { 0x8d084f124237b64bL,0x688ebe99e3ecfd07L,0x57b8a70cf6845dd8L,
  34211. 0x808fc59c5da4a325L },
  34212. { 0xa9032b2ba3585862L,0xb66825d5edf29386L,0xb5a5a8db431ec29bL,
  34213. 0xbb143a983a1e8dc8L } },
  34214. /* 5 << 175 */
  34215. { { 0x35ee94ce12ae381bL,0x3a7f176c86ccda90L,0xc63a657e4606eacaL,
  34216. 0x9ae5a38043cd04dfL },
  34217. { 0x9bec8d15ed251b46L,0x1f5d6d30caca5e64L,0x347b3b359ff20f07L,
  34218. 0x4d65f034f7e4b286L } },
  34219. /* 6 << 175 */
  34220. { { 0x9e93ba24f111661eL,0xedced484b105eb04L,0x96dc9ba1f424b578L,
  34221. 0xbf8f66b7e83e9069L },
  34222. { 0x872d4df4d7ed8216L,0xbf07f3778e2cbecfL,0x4281d89998e73754L,
  34223. 0xfec85fbb8aab8708L } },
  34224. /* 7 << 175 */
  34225. { { 0x9a3c0deea5ba5b0bL,0xe6a116ce42d05299L,0xae9775fee9b02d42L,
  34226. 0x72b05200a1545cb6L },
  34227. { 0xbc506f7d31a3b4eaL,0xe58930788bbd9b32L,0xc8bc5f37e4b12a97L,
  34228. 0x6b000c064a73b671L } },
  34229. /* 8 << 175 */
  34230. { { 0x13b5bf22765fa7d0L,0x59805bf01d6a5370L,0x67a5e29d4280db98L,
  34231. 0x4f53916f776b1ce3L },
  34232. { 0x714ff61f33ddf626L,0x4206238ea085d103L,0x1c50d4b7e5809ee3L,
  34233. 0x999f450d85f8eb1dL } },
  34234. /* 9 << 175 */
  34235. { { 0x658a6051e4c79e9bL,0x1394cb73c66a9feaL,0x27f31ed5c6be7b23L,
  34236. 0xf4c88f365aa6f8feL },
  34237. { 0x0fb0721f4aaa499eL,0x68b3a7d5e3fb2a6bL,0xa788097d3a92851dL,
  34238. 0x060e7f8ae96f4913L } },
  34239. /* 10 << 175 */
  34240. { { 0x82eebe731a3a93bcL,0x42bbf465a21adc1aL,0xc10b6fa4ef030efdL,
  34241. 0x247aa4c787b097bbL },
  34242. { 0x8b8dc632f60c77daL,0x6ffbc26ac223523eL,0xa4f6ff11344579cfL,
  34243. 0x5825653c980250f6L } },
  34244. /* 11 << 175 */
  34245. { { 0xb2dd097ebc1aa2b9L,0x0788939337a0333aL,0x1cf55e7137a0db38L,
  34246. 0x2648487f792c1613L },
  34247. { 0xdad013363fcef261L,0x6239c81d0eabf129L,0x8ee761de9d276be2L,
  34248. 0x406a7a341eda6ad3L } },
  34249. /* 12 << 175 */
  34250. { { 0x4bf367ba4a493b31L,0x54f20a529bf7f026L,0xb696e0629795914bL,
  34251. 0xcddab96d8bf236acL },
  34252. { 0x4ff2c70aed25ea13L,0xfa1d09eb81cbbbe7L,0x88fc8c87468544c5L,
  34253. 0x847a670d696b3317L } },
  34254. /* 13 << 175 */
  34255. { { 0xf133421e64bcb626L,0xaea638c826dee0b5L,0xd6e7680bb310346cL,
  34256. 0xe06f4097d5d4ced3L },
  34257. { 0x099614527512a30bL,0xf3d867fde589a59aL,0x2e73254f52d0c180L,
  34258. 0x9063d8a3333c74acL } },
  34259. /* 14 << 175 */
  34260. { { 0xeda6c595d314e7bcL,0x2ee7464b467899edL,0x1cef423c0a1ed5d3L,
  34261. 0x217e76ea69cc7613L },
  34262. { 0x27ccce1fe7cda917L,0x12d8016b8a893f16L,0xbcd6de849fc74f6bL,
  34263. 0xfa5817e2f3144e61L } },
  34264. /* 15 << 175 */
  34265. { { 0x1f3541640821ee4cL,0x1583eab40bc61992L,0x7490caf61d72879fL,
  34266. 0x998ad9f3f76ae7b2L },
  34267. { 0x1e181950a41157f7L,0xa9d7e1e6e8da3a7eL,0x963784eb8426b95fL,
  34268. 0x0ee4ed6e542e2a10L } },
  34269. /* 16 << 175 */
  34270. { { 0xb79d4cc5ac751e7bL,0x93f96472fd4211bdL,0x8c72d3d2c8de4fc6L,
  34271. 0x7b69cbf5df44f064L },
  34272. { 0x3da90ca2f4bf94e1L,0x1a5325f8f12894e2L,0x0a437f6c7917d60bL,
  34273. 0x9be7048696c9cb5dL } },
  34274. /* 17 << 175 */
  34275. { { 0xb4d880bfe1dc5c05L,0xd738addaeebeeb57L,0x6f0119d3df0fe6a3L,
  34276. 0x5c686e5566eaaf5aL },
  34277. { 0x9cb10b50dfd0b7ecL,0xbdd0264b6a497c21L,0xfc0935148c546c96L,
  34278. 0x58a947fa79dbf42aL } },
  34279. /* 18 << 175 */
  34280. { { 0xc0b48d4e49ccd6d7L,0xff8fb02c88bd5580L,0xc75235e907d473b2L,
  34281. 0x4fab1ac5a2188af3L },
  34282. { 0x030fa3bc97576ec0L,0xe8c946e80b7e7d2fL,0x40a5c9cc70305600L,
  34283. 0x6d8260a9c8b013b4L } },
  34284. /* 19 << 175 */
  34285. { { 0x0368304f70bba85cL,0xad090da1a4a0d311L,0x7170e8702415eec1L,
  34286. 0xbfba35fe8461ea47L },
  34287. { 0x6279019ac1e91938L,0xa47638f31afc415fL,0x36c65cbbbcba0e0fL,
  34288. 0x02160efb034e2c48L } },
  34289. /* 20 << 175 */
  34290. { { 0xe6c51073615cd9e4L,0x498ec047f1243c06L,0x3e5a8809b17b3d8cL,
  34291. 0x5cd99e610cc565f1L },
  34292. { 0x81e312df7851dafeL,0xf156f5baa79061e2L,0x80d62b71880c590eL,
  34293. 0xbec9746f0a39faa1L } },
  34294. /* 21 << 175 */
  34295. { { 0x1d98a9c1c8ed1f7aL,0x09e43bb5a81d5ff2L,0xd5f00f680da0794aL,
  34296. 0x412050d9661aa836L },
  34297. { 0xa89f7c4e90747e40L,0x6dc05ebbb62a3686L,0xdf4de847308e3353L,
  34298. 0x53868fbb9fb53bb9L } },
  34299. /* 22 << 175 */
  34300. { { 0x2b09d2c3cfdcf7ddL,0x41a9fce3723fcab4L,0x73d905f707f57ca3L,
  34301. 0x080f9fb1ac8e1555L },
  34302. { 0x7c088e849ba7a531L,0x07d35586ed9a147fL,0x602846abaf48c336L,
  34303. 0x7320fd320ccf0e79L } },
  34304. /* 23 << 175 */
  34305. { { 0xaa780798b18bd1ffL,0x52c2e300afdd2905L,0xf27ea3d6434267cdL,
  34306. 0x8b96d16d15605b5fL },
  34307. { 0x7bb310494b45706bL,0xe7f58b8e743d25f8L,0xe9b5e45b87f30076L,
  34308. 0xd19448d65d053d5aL } },
  34309. /* 24 << 175 */
  34310. { { 0x1ecc8cb9d3210a04L,0x6bc7d463dafb5269L,0x3e59b10a67c3489fL,
  34311. 0x1769788c65641e1bL },
  34312. { 0x8a53b82dbd6cb838L,0x7066d6e6236d5f22L,0x03aa1c616908536eL,
  34313. 0xc971da0d66ae9809L } },
  34314. /* 25 << 175 */
  34315. { { 0x01b3a86bc49a2facL,0x3b8420c03092e77aL,0x020573007d6fb556L,
  34316. 0x6941b2a1bff40a87L },
  34317. { 0x140b63080658ff2aL,0x878043633424ab36L,0x0253bd515751e299L,
  34318. 0xc75bcd76449c3e3aL } },
  34319. /* 26 << 175 */
  34320. { { 0x92eb40907f8f875dL,0x9c9d754e56c26bbfL,0x158cea618110bbe7L,
  34321. 0x62a6b802745f91eaL },
  34322. { 0xa79c41aac6e7394bL,0x445b6a83ad57ef10L,0x0c5277eb6ea6f40cL,
  34323. 0x319fe96b88633365L } },
  34324. /* 27 << 175 */
  34325. { { 0x0b0fc61f385f63cbL,0x41250c8422bdd127L,0x67d153f109e942c2L,
  34326. 0x60920d08c021ad5dL },
  34327. { 0x229f5746724d81a5L,0xb7ffb8925bba3299L,0x518c51a1de413032L,
  34328. 0x2a9bfe773c2fd94cL } },
  34329. /* 28 << 175 */
  34330. { { 0xcbcde2393191f4fdL,0x43093e16d3d6ada1L,0x184579f358769606L,
  34331. 0x2c94a8b3d236625cL },
  34332. { 0x6922b9c05c437d8eL,0x3d4ae423d8d9f3c8L,0xf72c31c12e7090a2L,
  34333. 0x4ac3f5f3d76a55bdL } },
  34334. /* 29 << 175 */
  34335. { { 0x342508fc6b6af991L,0x0d5271001b5cebbdL,0xb84740d0dd440dd7L,
  34336. 0x748ef841780162fdL },
  34337. { 0xa8dbfe0edfc6fafbL,0xeadfdf05f7300f27L,0x7d06555ffeba4ec9L,
  34338. 0x12c56f839e25fa97L } },
  34339. /* 30 << 175 */
  34340. { { 0x77f84203d39b8c34L,0xed8b1be63125eddbL,0x5bbf2441f6e39dc5L,
  34341. 0xb00f6ee66a5d678aL },
  34342. { 0xba456ecf57d0ea99L,0xdcae0f5817e06c43L,0x01643de40f5b4baaL,
  34343. 0x2c324341d161b9beL } },
  34344. /* 31 << 175 */
  34345. { { 0x80177f55e126d468L,0xed325f1f76748e09L,0x6116004acfa9bdc2L,
  34346. 0x2d8607e63a9fb468L },
  34347. { 0x0e573e276009d660L,0x3a525d2e8d10c5a1L,0xd26cb45c3b9009a0L,
  34348. 0xb6b0cdc0de9d7448L } },
  34349. /* 32 << 175 */
  34350. { { 0x949c9976e1337c26L,0x6faadebdd73d68e5L,0x9e158614f1b768d9L,
  34351. 0x22dfa5579cc4f069L },
  34352. { 0xccd6da17be93c6d6L,0x24866c61a504f5b9L,0x2121353c8d694da1L,
  34353. 0x1c6ca5800140b8c6L } },
  34354. /* 33 << 175 */
  34355. { { 0xc245ad8ce964021eL,0xb83bffba032b82b3L,0xfaa220c647ef9898L,
  34356. 0x7e8d3ac6982c948aL },
  34357. { 0x1faa2091bc2d124aL,0xbd54c3dd05b15ff4L,0x386bf3abc87c6fb7L,
  34358. 0xfb2b0563fdeb6f66L } },
  34359. /* 34 << 175 */
  34360. { { 0x4e77c5575b45afb4L,0xe9ded649efb8912dL,0x7ec9bbf542f6e557L,
  34361. 0x2570dfff62671f00L },
  34362. { 0x2b3bfb7888e084bdL,0xa024b238f37fe5b4L,0x44e7dc0495649aeeL,
  34363. 0x498ca2555e7ec1d8L } },
  34364. /* 35 << 175 */
  34365. { { 0x3bc766eaaaa07e86L,0x0db6facbf3608586L,0xbadd2549bdc259c8L,
  34366. 0x95af3c6e041c649fL },
  34367. { 0xb36a928c02e30afbL,0x9b5356ad008a88b8L,0x4b67a5f1cf1d9e9dL,
  34368. 0xc6542e47a5d8d8ceL } },
  34369. /* 36 << 175 */
  34370. { { 0x73061fe87adfb6ccL,0xcc826fd398678141L,0x00e758b13c80515aL,
  34371. 0x6afe324741485083L },
  34372. { 0x0fcb08b9b6ae8a75L,0xb8cf388d4acf51e1L,0x344a55606961b9d6L,
  34373. 0x1a6778b86a97fd0cL } },
  34374. /* 37 << 175 */
  34375. { { 0xd840fdc1ecc4c7e3L,0xde9fe47d16db68ccL,0xe95f89dea3e216aaL,
  34376. 0x84f1a6a49594a8beL },
  34377. { 0x7ddc7d725a7b162bL,0xc5cfda19adc817a3L,0x80a5d35078b58d46L,
  34378. 0x93365b1382978f19L } },
  34379. /* 38 << 175 */
  34380. { { 0x2e44d22526a1fc90L,0x0d6d10d24d70705dL,0xd94b6b10d70c45f4L,
  34381. 0x0f201022b216c079L },
  34382. { 0xcec966c5658fde41L,0xa8d2bc7d7e27601dL,0xbfcce3e1ff230be7L,
  34383. 0x3394ff6b0033ffb5L } },
  34384. /* 39 << 175 */
  34385. { { 0xd890c5098132c9afL,0xaac4b0eb361e7868L,0x5194ded3e82d15aaL,
  34386. 0x4550bd2e23ae6b7dL },
  34387. { 0x3fda318eea5399d4L,0xd989bffa91638b80L,0x5ea124d0a14aa12dL,
  34388. 0x1fb1b8993667b944L } },
  34389. /* 40 << 175 */
  34390. { { 0x95ec796944c44d6aL,0x91df144a57e86137L,0x915fd62073adac44L,
  34391. 0x8f01732d59a83801L },
  34392. { 0xec579d253aa0a633L,0x06de5e7cc9d6d59cL,0xc132f958b1ef8010L,
  34393. 0x29476f96e65c1a02L } },
  34394. /* 41 << 175 */
  34395. { { 0x336a77c0d34c3565L,0xef1105b21b9f1e9eL,0x63e6d08bf9e08002L,
  34396. 0x9aff2f21c613809eL },
  34397. { 0xb5754f853a80e75dL,0xde71853e6bbda681L,0x86f041df8197fd7aL,
  34398. 0x8b332e08127817faL } },
  34399. /* 42 << 175 */
  34400. { { 0x05d99be8b9c20cdaL,0x89f7aad5d5cd0c98L,0x7ef936fe5bb94183L,
  34401. 0x92ca0753b05cd7f2L },
  34402. { 0x9d65db1174a1e035L,0x02628cc813eaea92L,0xf2d9e24249e4fbf2L,
  34403. 0x94fdfd9be384f8b7L } },
  34404. /* 43 << 175 */
  34405. { { 0x65f5605463428c6bL,0x2f7205b290b409a5L,0xf778bb78ff45ae11L,
  34406. 0xa13045bec5ee53b2L },
  34407. { 0xe00a14ff03ef77feL,0x689cd59fffef8befL,0x3578f0ed1e9ade22L,
  34408. 0xe99f3ec06268b6a8L } },
  34409. /* 44 << 175 */
  34410. { { 0xa2057d91ea1b3c3eL,0x2d1a7053b8823a4aL,0xabbb336a2cca451eL,
  34411. 0xcd2466e32218bb5dL },
  34412. { 0x3ac1f42fc8cb762dL,0x7e312aae7690211fL,0xebb9bd7345d07450L,
  34413. 0x207c4b8246c2213fL } },
  34414. /* 45 << 175 */
  34415. { { 0x99d425c1375913ecL,0x94e45e9667908220L,0xc08f3087cd67dbf6L,
  34416. 0xa5670fbec0887056L },
  34417. { 0x6717b64a66f5b8fcL,0xd5a56aea786fec28L,0xa8c3f55fc0ff4952L,
  34418. 0xa77fefae457ac49bL } },
  34419. /* 46 << 175 */
  34420. { { 0x29882d7c98379d44L,0xd000bdfb509edc8aL,0xc6f95979e66fe464L,
  34421. 0x504a6115fa61bde0L },
  34422. { 0x56b3b871effea31aL,0x2d3de26df0c21a54L,0x21dbff31834753bfL,
  34423. 0xe67ecf4969269d86L } },
  34424. /* 47 << 175 */
  34425. { { 0x7a176952151fe690L,0x035158047f2adb5fL,0xee794b15d1b62a8dL,
  34426. 0xf004ceecaae454e6L },
  34427. { 0x0897ea7cf0386facL,0x3b62ff12d1fca751L,0x154181df1b7a04ecL,
  34428. 0x2008e04afb5847ecL } },
  34429. /* 48 << 175 */
  34430. { { 0xd147148e41dbd772L,0x2b419f7322942654L,0x669f30d3e9c544f7L,
  34431. 0x52a2c223c8540149L },
  34432. { 0x5da9ee14634dfb02L,0x5f074ff0f47869f3L,0x74ee878da3933accL,
  34433. 0xe65106514fe35ed1L } },
  34434. /* 49 << 175 */
  34435. { { 0xb3eb9482f1012e7aL,0x51013cc0a8a566aeL,0xdd5e924347c00d3bL,
  34436. 0x7fde089d946bb0e5L },
  34437. { 0x030754fec731b4b3L,0x12a136a499fda062L,0x7c1064b85a1a35bcL,
  34438. 0xbf1f5763446c84efL } },
  34439. /* 50 << 175 */
  34440. { { 0xed29a56da16d4b34L,0x7fba9d09dca21c4fL,0x66d7ac006d8de486L,
  34441. 0x6006198773a2a5e1L },
  34442. { 0x8b400f869da28ff0L,0x3133f70843c4599cL,0x9911c9b8ee28cb0dL,
  34443. 0xcd7e28748e0af61dL } },
  34444. /* 51 << 175 */
  34445. { { 0x5a85f0f272ed91fcL,0x85214f319cd4a373L,0x881fe5be1925253cL,
  34446. 0xd8dc98e091e8bc76L },
  34447. { 0x7120affe585cc3a2L,0x724952ed735bf97aL,0x5581e7dc3eb34581L,
  34448. 0x5cbff4f2e52ee57dL } },
  34449. /* 52 << 175 */
  34450. { { 0x8d320a0e87d8cc7bL,0x9beaa7f3f1d280d0L,0x7a0b95719beec704L,
  34451. 0x9126332e5b7f0057L },
  34452. { 0x01fbc1b48ed3bd6dL,0x35bb2c12d945eb24L,0x6404694e9a8ae255L,
  34453. 0xb6092eec8d6abfb3L } },
  34454. /* 53 << 175 */
  34455. { { 0x4d76143fcc058865L,0x7b0a5af26e249922L,0x8aef94406a50d353L,
  34456. 0xe11e4bcc64f0e07aL },
  34457. { 0x4472993aa14a90faL,0x7706e20cba0c51d4L,0xf403292f1532672dL,
  34458. 0x52573bfa21829382L } },
  34459. /* 54 << 175 */
  34460. { { 0x6a7bb6a93b5bdb83L,0x08da65c0a4a72318L,0xc58d22aa63eb065fL,
  34461. 0x1717596c1b15d685L },
  34462. { 0x112df0d0b266d88bL,0xf688ae975941945aL,0x487386e37c292cacL,
  34463. 0x42f3b50d57d6985cL } },
  34464. /* 55 << 175 */
  34465. { { 0x6da4f9986a90fc34L,0xc8f257d365ca8a8dL,0xc2feabca6951f762L,
  34466. 0xe1bc81d074c323acL },
  34467. { 0x1bc68f67251a2a12L,0x10d86587be8a70dcL,0xd648af7ff0f84d2eL,
  34468. 0xf0aa9ebc6a43ac92L } },
  34469. /* 56 << 175 */
  34470. { { 0x69e3be0427596893L,0xb6bb02a645bf452bL,0x0875c11af4c698c8L,
  34471. 0x6652b5c7bece3794L },
  34472. { 0x7b3755fd4f5c0499L,0x6ea16558b5532b38L,0xd1c69889a2e96ef7L,
  34473. 0x9c773c3a61ed8f48L } },
  34474. /* 57 << 175 */
  34475. { { 0x2b653a409b323abcL,0xe26605e1f0e1d791L,0x45d410644a87157aL,
  34476. 0x8f9a78b7cbbce616L },
  34477. { 0xcf1e44aac407edddL,0x81ddd1d8a35b964fL,0x473e339efd083999L,
  34478. 0x6c94bdde8e796802L } },
  34479. /* 58 << 175 */
  34480. { { 0x5a304ada8545d185L,0x82ae44ea738bb8cbL,0x628a35e3df87e10eL,
  34481. 0xd3624f3da15b9fe3L },
  34482. { 0xcc44209b14be4254L,0x7d0efcbcbdbc2ea5L,0x1f60336204c37bbeL,
  34483. 0x21f363f556a5852cL } },
  34484. /* 59 << 175 */
  34485. { { 0xa1503d1ca8501550L,0x2251e0e1d8ab10bbL,0xde129c966961c51cL,
  34486. 0x1f7246a481910f68L },
  34487. { 0x2eb744ee5f2591f2L,0x3c47d33f5e627157L,0x4d6d62c922f3bd68L,
  34488. 0x6120a64bcb8df856L } },
  34489. /* 60 << 175 */
  34490. { { 0x3a9ac6c07b5d07dfL,0xa92b95587ef39783L,0xe128a134ab3a9b4fL,
  34491. 0x41c18807b1252f05L },
  34492. { 0xfc7ed08980ba9b1cL,0xac8dc6dec532a9ddL,0xbf829cef55246809L,
  34493. 0x101b784f5b4ee80fL } },
  34494. /* 61 << 175 */
  34495. { { 0xc09945bbb6f11603L,0x57b09dbe41d2801eL,0xfba5202fa97534a8L,
  34496. 0x7fd8ae5fc17b9614L },
  34497. { 0xa50ba66678308435L,0x9572f77cd3868c4dL,0x0cef7bfd2dd7aab0L,
  34498. 0xe7958e082c7c79ffL } },
  34499. /* 62 << 175 */
  34500. { { 0x81262e4225346689L,0x716da290b07c7004L,0x35f911eab7950ee3L,
  34501. 0x6fd72969261d21b5L },
  34502. { 0x5238980308b640d3L,0x5b0026ee887f12a1L,0x20e21660742e9311L,
  34503. 0x0ef6d5415ff77ff7L } },
  34504. /* 63 << 175 */
  34505. { { 0x969127f0f9c41135L,0xf21d60c968a64993L,0x656e5d0ce541875cL,
  34506. 0xf1e0f84ea1d3c233L },
  34507. { 0x9bcca35906002d60L,0xbe2da60c06191552L,0x5da8bbae61181ec3L,
  34508. 0x9f04b82365806f19L } },
  34509. /* 64 << 175 */
  34510. { { 0xf1604a7dd4b79bb8L,0xaee806fb52c878c8L,0x34144f118d47b8e8L,
  34511. 0x72edf52b949f9054L },
  34512. { 0xebfca84e2127015aL,0x9051d0c09cb7cef3L,0x86e8fe58296deec8L,
  34513. 0x33b2818841010d74L } },
  34514. /* 0 << 182 */
  34515. { { 0x00, 0x00, 0x00, 0x00 },
  34516. { 0x00, 0x00, 0x00, 0x00 } },
  34517. /* 1 << 182 */
  34518. { { 0x01079383171b445fL,0x9bcf21e38131ad4cL,0x8cdfe205c93987e8L,
  34519. 0xe63f4152c92e8c8fL },
  34520. { 0x729462a930add43dL,0x62ebb143c980f05aL,0x4f3954e53b06e968L,
  34521. 0xfe1d75ad242cf6b1L } },
  34522. /* 2 << 182 */
  34523. { { 0x5f95c6c7af8685c8L,0xd4c1c8ce2f8f01aaL,0xc44bbe322574692aL,
  34524. 0xb8003478d4a4a068L },
  34525. { 0x7c8fc6e52eca3cdbL,0xea1db16bec04d399L,0xb05bc82e8f2bc5cfL,
  34526. 0x763d517ff44793d2L } },
  34527. /* 3 << 182 */
  34528. { { 0x4451c1b808bd98d0L,0x644b1cd46575f240L,0x6907eb337375d270L,
  34529. 0x56c8bebdfa2286bdL },
  34530. { 0xc713d2acc4632b46L,0x17da427aafd60242L,0x313065b7c95c7546L,
  34531. 0xf8239898bf17a3deL } },
  34532. /* 4 << 182 */
  34533. { { 0xf3b7963f4c830320L,0x842c7aa0903203e3L,0xaf22ca0ae7327afbL,
  34534. 0x38e13092967609b6L },
  34535. { 0x73b8fb62757558f1L,0x3cc3e831f7eca8c1L,0xe4174474f6331627L,
  34536. 0xa77989cac3c40234L } },
  34537. /* 5 << 182 */
  34538. { { 0xe5fd17a144a081e0L,0xd797fb7db70e296aL,0x2b472b30481f719cL,
  34539. 0x0e632a98fe6f8c52L },
  34540. { 0x89ccd116c5f0c284L,0xf51088af2d987c62L,0x2a2bccda4c2de6cfL,
  34541. 0x810f9efef679f0f9L } },
  34542. /* 6 << 182 */
  34543. { { 0xb0f394b97ffe4b3eL,0x0b691d21e5fa5d21L,0xb0bd77479dfbbc75L,
  34544. 0xd2830fdafaf78b00L },
  34545. { 0xf78c249c52434f57L,0x4b1f754598096dabL,0x73bf6f948ff8c0b3L,
  34546. 0x34aef03d454e134cL } },
  34547. /* 7 << 182 */
  34548. { { 0xf8d151f4b7ac7ec5L,0xd6ceb95ae50da7d5L,0xa1b492b0dc3a0eb8L,
  34549. 0x75157b69b3dd2863L },
  34550. { 0xe2c4c74ec5413d62L,0xbe329ff7bc5fc4c7L,0x835a2aea60fa9ddaL,
  34551. 0xf117f5ad7445cb87L } },
  34552. /* 8 << 182 */
  34553. { { 0xae8317f4b0166f7aL,0xfbd3e3f7ceec74e6L,0xfdb516ace0874bfdL,
  34554. 0x3d846019c681f3a3L },
  34555. { 0x0b12ee5c7c1620b0L,0xba68b4dd2b63c501L,0xac03cd326668c51eL,
  34556. 0x2a6279f74e0bcb5bL } },
  34557. /* 9 << 182 */
  34558. { { 0x17bd69b06ae85c10L,0x729469791dfdd3a6L,0xd9a032682c078becL,
  34559. 0x41c6a658bfd68a52L },
  34560. { 0xcdea10240e023900L,0xbaeec121b10d144dL,0x5a600e74058ab8dcL,
  34561. 0x1333af21bb89ccddL } },
  34562. /* 10 << 182 */
  34563. { { 0xdf25eae03aaba1f1L,0x2cada16e3b7144cfL,0x657ee27d71ab98bcL,
  34564. 0x99088b4c7a6fc96eL },
  34565. { 0x05d5c0a03549dbd4L,0x42cbdf8ff158c3acL,0x3fb6b3b087edd685L,
  34566. 0x22071cf686f064d0L } },
  34567. /* 11 << 182 */
  34568. { { 0xd2d6721fff2811e5L,0xdb81b703fe7fae8cL,0x3cfb74efd3f1f7bbL,
  34569. 0x0cdbcd7616cdeb5dL },
  34570. { 0x4f39642a566a808cL,0x02b74454340064d6L,0xfabbadca0528fa6fL,
  34571. 0xe4c3074cd3fc0bb6L } },
  34572. /* 12 << 182 */
  34573. { { 0xb32cb8b0b796d219L,0xc3e95f4f34741dd9L,0x8721212568edf6f5L,
  34574. 0x7a03aee4a2b9cb8eL },
  34575. { 0x0cd3c376f53a89aaL,0x0d8af9b1948a28dcL,0xcf86a3f4902ab04fL,
  34576. 0x8aacb62a7f42002dL } },
  34577. /* 13 << 182 */
  34578. { { 0x106985ebf62ffd52L,0xe670b54e5797bf10L,0x4b405209c5e30aefL,
  34579. 0x12c97a204365b5e9L },
  34580. { 0x104646ce1fe32093L,0x13cb4ff63907a8c9L,0x8b9f30d1d46e726bL,
  34581. 0xe1985e21aba0f499L } },
  34582. /* 14 << 182 */
  34583. { { 0xc573dea910a230cdL,0x24f46a93cd30f947L,0xf2623fcfabe2010aL,
  34584. 0x3f278cb273f00e4fL },
  34585. { 0xed55c67d50b920ebL,0xf1cb9a2d8e760571L,0x7c50d1090895b709L,
  34586. 0x4207cf07190d4369L } },
  34587. /* 15 << 182 */
  34588. { { 0x3b027e81c4127fe1L,0xa9f8b9ad3ae9c566L,0x5ab10851acbfbba5L,
  34589. 0xa747d648569556f5L },
  34590. { 0xcc172b5c2ba97bf7L,0x15e0f77dbcfa3324L,0xa345b7977686279dL,
  34591. 0x5a723480e38003d3L } },
  34592. /* 16 << 182 */
  34593. { { 0xfd8e139f8f5fcda8L,0xf3e558c4bdee5bfdL,0xd76cbaf4e33f9f77L,
  34594. 0x3a4c97a471771969L },
  34595. { 0xda27e84bf6dce6a7L,0xff373d9613e6c2d1L,0xf115193cd759a6e9L,
  34596. 0x3f9b702563d2262cL } },
  34597. /* 17 << 182 */
  34598. { { 0xd9764a31317cd062L,0x30779d8e199f8332L,0xd807410616b11b0bL,
  34599. 0x7917ab9f78aeaed8L },
  34600. { 0xb67a9cbe28fb1d8eL,0x2e313563136eda33L,0x010b7069a371a86cL,
  34601. 0x44d90fa26744e6b7L } },
  34602. /* 18 << 182 */
  34603. { { 0x68190867d6b3e243L,0x9fe6cd9d59048c48L,0xb900b02895731538L,
  34604. 0xa012062f32cae04fL },
  34605. { 0x8107c8bc9399d082L,0x47e8c54a41df12e2L,0x14ba5117b6ef3f73L,
  34606. 0x22260bea81362f0bL } },
  34607. /* 19 << 182 */
  34608. { { 0x90ea261e1a18cc20L,0x2192999f2321d636L,0xef64d314e311b6a0L,
  34609. 0xd7401e4c3b54a1f5L },
  34610. { 0x190199836fbca2baL,0x46ad32938fbffc4bL,0xa142d3f63786bf40L,
  34611. 0xeb5cbc26b67039fcL } },
  34612. /* 20 << 182 */
  34613. { { 0x9cb0ae6c252bd479L,0x05e0f88a12b5848fL,0x78f6d2b2a5c97663L,
  34614. 0x6f6e149bc162225cL },
  34615. { 0xe602235cde601a89L,0xd17bbe98f373be1fL,0xcaf49a5ba8471827L,
  34616. 0x7e1a0a8518aaa116L } },
  34617. /* 21 << 182 */
  34618. { { 0x6c833196270580c3L,0x1e233839f1c98a14L,0x67b2f7b4ae34e0a5L,
  34619. 0x47ac8745d8ce7289L },
  34620. { 0x2b74779a100dd467L,0x274a43374ee50d09L,0x603dcf1383608bc9L,
  34621. 0xcd9da6c3c89e8388L } },
  34622. /* 22 << 182 */
  34623. { { 0x2660199f355116acL,0xcc38bb59b6d18eedL,0x3075f31f2f4bc071L,
  34624. 0x9774457f265dc57eL },
  34625. { 0x06a6a9c8c6db88bbL,0x6429d07f4ec98e04L,0x8d05e57b05ecaa8bL,
  34626. 0x20f140b17872ea7bL } },
  34627. /* 23 << 182 */
  34628. { { 0xdf8c0f09ca494693L,0x48d3a020f252e909L,0x4c5c29af57b14b12L,
  34629. 0x7e6fa37dbf47ad1cL },
  34630. { 0x66e7b50649a0c938L,0xb72c0d486be5f41fL,0x6a6242b8b2359412L,
  34631. 0xcd35c7748e859480L } },
  34632. /* 24 << 182 */
  34633. { { 0x12536fea87baa627L,0x58c1fec1f72aa680L,0x6c29b637601e5dc9L,
  34634. 0x9e3c3c1cde9e01b9L },
  34635. { 0xefc8127b2bcfe0b0L,0x351071022a12f50dL,0x6ccd6cb14879b397L,
  34636. 0xf792f804f8a82f21L } },
  34637. /* 25 << 182 */
  34638. { { 0x509d4804a9b46402L,0xedddf85dc10f0850L,0x928410dc4b6208aaL,
  34639. 0xf6229c46391012dcL },
  34640. { 0xc5a7c41e7727b9b6L,0x289e4e4baa444842L,0x049ba1d9e9a947eaL,
  34641. 0x44f9e47f83c8debcL } },
  34642. /* 26 << 182 */
  34643. { { 0xfa77a1fe611f8b8eL,0xfd2e416af518f427L,0xc5fffa70114ebac3L,
  34644. 0xfe57c4e95d89697bL },
  34645. { 0xfdd053acb1aaf613L,0x31df210fea585a45L,0x318cc10e24985034L,
  34646. 0x1a38efd15f1d6130L } },
  34647. /* 27 << 182 */
  34648. { { 0xbf86f2370b1e9e21L,0xb258514d1dbe88aaL,0x1e38a58890c1baf9L,
  34649. 0x2936a01ebdb9b692L },
  34650. { 0xd576de986dd5b20cL,0xb586bf7170f98ecfL,0xcccf0f12c42d2fd7L,
  34651. 0x8717e61cfb35bd7bL } },
  34652. /* 28 << 182 */
  34653. { { 0x8b1e572235e6fc06L,0x3477728f0b3e13d5L,0x150c294daa8a7372L,
  34654. 0xc0291d433bfa528aL },
  34655. { 0xc6c8bc67cec5a196L,0xdeeb31e45c2e8a7cL,0xba93e244fb6e1c51L,
  34656. 0xb9f8b71b2e28e156L } },
  34657. /* 29 << 182 */
  34658. { { 0xce65a287968a2ab9L,0xe3c5ce6946bbcb1fL,0xf8c835b9e7ae3f30L,
  34659. 0x16bbee26ff72b82bL },
  34660. { 0x665e2017fd42cd22L,0x1e139970f8b1d2a0L,0x125cda2979204932L,
  34661. 0x7aee94a549c3bee5L } },
  34662. /* 30 << 182 */
  34663. { { 0x68c7016089821a66L,0xf7c376788f981669L,0xd90829fc48cc3645L,
  34664. 0x346af049d70addfcL },
  34665. { 0x2057b232370bf29cL,0xf90c73ce42e650eeL,0xe03386eaa126ab90L,
  34666. 0x0e266e7e975a087bL } },
  34667. /* 31 << 182 */
  34668. { { 0x80578eb90fca65d9L,0x7e2989ea16af45b8L,0x7438212dcac75a4eL,
  34669. 0x38c7ca394fef36b8L },
  34670. { 0x8650c494d402676aL,0x26ab5a66f72c7c48L,0x4e6cb426ce3a464eL,
  34671. 0xf8f998962b72f841L } },
  34672. /* 32 << 182 */
  34673. { { 0x8c3184911a335cc8L,0x563459ba6a5913e4L,0x1b920d61c7b32919L,
  34674. 0x805ab8b6a02425adL },
  34675. { 0x2ac512da8d006086L,0x6ca4846abcf5c0fdL,0xafea51d8ac2138d7L,
  34676. 0xcb647545344cd443L } },
  34677. /* 33 << 182 */
  34678. { { 0x0429ee8fbd7d9040L,0xee66a2de819b9c96L,0x54f9ec25dea7d744L,
  34679. 0x2ffea642671721bbL },
  34680. { 0x4f19dbd1114344eaL,0x04304536fd0dbc8bL,0x014b50aa29ec7f91L,
  34681. 0xb5fc22febb06014dL } },
  34682. /* 34 << 182 */
  34683. { { 0x60d963a91ee682e0L,0xdf48abc0fe85c727L,0x0cadba132e707c2dL,
  34684. 0xde608d3aa645aeffL },
  34685. { 0x05f1c28bedafd883L,0x3c362edebd94de1fL,0x8dd0629d13593e41L,
  34686. 0x0a5e736f766d6eafL } },
  34687. /* 35 << 182 */
  34688. { { 0xbfa92311f68cf9d1L,0xa4f9ef87c1797556L,0x10d75a1f5601c209L,
  34689. 0x651c374c09b07361L },
  34690. { 0x49950b5888b5ceadL,0x0ef000586fa9dbaaL,0xf51ddc264e15f33aL,
  34691. 0x1f8b5ca62ef46140L } },
  34692. /* 36 << 182 */
  34693. { { 0x343ac0a3ee9523f0L,0xbb75eab2975ea978L,0x1bccf332107387f4L,
  34694. 0x790f92599ab0062eL },
  34695. { 0xf1a363ad1e4f6a5fL,0x06e08b8462519a50L,0x609151877265f1eeL,
  34696. 0x6a80ca3493ae985eL } },
  34697. /* 37 << 182 */
  34698. { { 0x81b29768aaba4864L,0xb13cabf28d52a7d6L,0xb5c363488ead03f1L,
  34699. 0xc932ad9581c7c1c0L },
  34700. { 0x5452708ecae1e27bL,0x9dac42691b0df648L,0x233e3f0cdfcdb8bcL,
  34701. 0xe6ceccdfec540174L } },
  34702. /* 38 << 182 */
  34703. { { 0xbd0d845e95081181L,0xcc8a7920699355d5L,0x111c0f6dc3b375a8L,
  34704. 0xfd95bc6bfd51e0dcL },
  34705. { 0x4a106a266888523aL,0x4d142bd6cb01a06dL,0x79bfd289adb9b397L,
  34706. 0x0bdbfb94e9863914L } },
  34707. /* 39 << 182 */
  34708. { { 0x29d8a2291660f6a6L,0x7f6abcd6551c042dL,0x13039deb0ac3ffe8L,
  34709. 0xa01be628ec8523fbL },
  34710. { 0x6ea341030ca1c328L,0xc74114bdb903928eL,0x8aa4ff4e9e9144b0L,
  34711. 0x7064091f7f9a4b17L } },
  34712. /* 40 << 182 */
  34713. { { 0xa3f4f521e447f2c4L,0x81b8da7a604291f0L,0xd680bc467d5926deL,
  34714. 0x84f21fd534a1202fL },
  34715. { 0x1d1e31814e9df3d8L,0x1ca4861a39ab8d34L,0x809ddeec5b19aa4aL,
  34716. 0x59f72f7e4d329366L } },
  34717. /* 41 << 182 */
  34718. { { 0xa2f93f41386d5087L,0x40bf739cdd67d64fL,0xb449420566702158L,
  34719. 0xc33c65be73b1e178L },
  34720. { 0xcdcd657c38ca6153L,0x97f4519adc791976L,0xcc7c7f29cd6e1f39L,
  34721. 0x38de9cfb7e3c3932L } },
  34722. /* 42 << 182 */
  34723. { { 0xe448eba37b793f85L,0xe9f8dbf9f067e914L,0xc0390266f114ae87L,
  34724. 0x39ed75a7cd6a8e2aL },
  34725. { 0xadb148487ffba390L,0x67f8cb8b6af9bc09L,0x322c38489c7476dbL,
  34726. 0xa320fecf52a538d6L } },
  34727. /* 43 << 182 */
  34728. { { 0xe0493002b2aced2bL,0xdfba1809616bd430L,0x531c4644c331be70L,
  34729. 0xbc04d32e90d2e450L },
  34730. { 0x1805a0d10f9f142dL,0x2c44a0c547ee5a23L,0x31875a433989b4e3L,
  34731. 0x6b1949fd0c063481L } },
  34732. /* 44 << 182 */
  34733. { { 0x2dfb9e08be0f4492L,0x3ff0da03e9d5e517L,0x03dbe9a1f79466a8L,
  34734. 0x0b87bcd015ea9932L },
  34735. { 0xeb64fc83ab1f58abL,0x6d9598da817edc8aL,0x699cff661d3b67e5L,
  34736. 0x645c0f2992635853L } },
  34737. /* 45 << 182 */
  34738. { { 0x253cdd82eabaf21cL,0x82b9602a2241659eL,0x2cae07ec2d9f7091L,
  34739. 0xbe4c720c8b48cd9bL },
  34740. { 0x6ce5bc036f08d6c9L,0x36e8a997af10bf40L,0x83422d213e10ff12L,
  34741. 0x7b26d3ebbcc12494L } },
  34742. /* 46 << 182 */
  34743. { { 0xb240d2d0c9469ad6L,0xc4a11b4d30afa05bL,0x4b604acedd6ba286L,
  34744. 0x184866003ee2864cL },
  34745. { 0x5869d6ba8d9ce5beL,0x0d8f68c5ff4bfb0dL,0xb69f210b5700cf73L,
  34746. 0x61f6653a6d37c135L } },
  34747. /* 47 << 182 */
  34748. { { 0xff3d432b5aff5a48L,0x0d81c4b972ba3a69L,0xee879ae9fa1899efL,
  34749. 0xbac7e2a02d6acafdL },
  34750. { 0xd6d93f6c1c664399L,0x4c288de15bcb135dL,0x83031dab9dab7cbfL,
  34751. 0xfe23feb03abbf5f0L } },
  34752. /* 48 << 182 */
  34753. { { 0x9f1b2466cdedca85L,0x140bb7101a09538cL,0xac8ae8515e11115dL,
  34754. 0x0d63ff676f03f59eL },
  34755. { 0x755e55517d234afbL,0x61c2db4e7e208fc1L,0xaa9859cef28a4b5dL,
  34756. 0xbdd6d4fc34af030fL } },
  34757. /* 49 << 182 */
  34758. { { 0xd1c4a26d3be01cb1L,0x9ba14ffc243aa07cL,0xf95cd3a9b2503502L,
  34759. 0xe379bc067d2a93abL },
  34760. { 0x3efc18e9d4ca8d68L,0x083558ec80bb412aL,0xd903b9409645a968L,
  34761. 0xa499f0b69ba6054fL } },
  34762. /* 50 << 182 */
  34763. { { 0x208b573cb8349abeL,0x3baab3e530b4fc1cL,0x87e978bacb524990L,
  34764. 0x3524194eccdf0e80L },
  34765. { 0x627117257d4bcc42L,0xe90a3d9bb90109baL,0x3b1bdd571323e1e0L,
  34766. 0xb78e9bd55eae1599L } },
  34767. /* 51 << 182 */
  34768. { { 0x0794b7469e03d278L,0x80178605d70e6297L,0x171792f899c97855L,
  34769. 0x11b393eef5a86b5cL },
  34770. { 0x48ef6582d8884f27L,0xbd44737abf19ba5fL,0x8698de4ca42062c6L,
  34771. 0x8975eb8061ce9c54L } },
  34772. /* 52 << 182 */
  34773. { { 0xd50e57c7d7fe71f3L,0x15342190bc97ce38L,0x51bda2de4df07b63L,
  34774. 0xba12aeae200eb87dL },
  34775. { 0xabe135d2a9b4f8f6L,0x04619d65fad6d99cL,0x4a6683a77994937cL,
  34776. 0x7a778c8b6f94f09aL } },
  34777. /* 53 << 182 */
  34778. { { 0x8c50862320a71b89L,0x241a2aed1c229165L,0x352be595aaf83a99L,
  34779. 0x9fbfee7f1562bac8L },
  34780. { 0xeaf658b95c4017e3L,0x1dc7f9e015120b86L,0xd84f13dd4c034d6fL,
  34781. 0x283dd737eaea3038L } },
  34782. /* 54 << 182 */
  34783. { { 0x197f2609cd85d6a2L,0x6ebbc345fae60177L,0xb80f031b4e12fedeL,
  34784. 0xde55d0c207a2186bL },
  34785. { 0x1fb3e37f24dcdd5aL,0x8d602da57ed191fbL,0x108fb05676023e0dL,
  34786. 0x70178c71459c20c0L } },
  34787. /* 55 << 182 */
  34788. { { 0xfad5a3863fe54cf0L,0xa4a3ec4f02bbb475L,0x1aa5ec20919d94d7L,
  34789. 0x5d3b63b5a81e4ab3L },
  34790. { 0x7fa733d85ad3d2afL,0xfbc586ddd1ac7a37L,0x282925de40779614L,
  34791. 0xfe0ffffbe74a242aL } },
  34792. /* 56 << 182 */
  34793. { { 0x3f39e67f906151e5L,0xcea27f5f55e10649L,0xdca1d4e1c17cf7b7L,
  34794. 0x0c326d122fe2362dL },
  34795. { 0x05f7ac337dd35df3L,0x0c3b7639c396dbdfL,0x0912f5ac03b7db1cL,
  34796. 0x9dea4b705c9ed4a9L } },
  34797. /* 57 << 182 */
  34798. { { 0x475e6e53aae3f639L,0xfaba0e7cfc278bacL,0x16f9e2219490375fL,
  34799. 0xaebf9746a5a7ed0aL },
  34800. { 0x45f9af3ff41ad5d6L,0x03c4623cb2e99224L,0x82c5bb5cb3cf56aaL,
  34801. 0x6431181934567ed3L } },
  34802. /* 58 << 182 */
  34803. { { 0xec57f2118be489acL,0x2821895db9a1104bL,0x610dc8756064e007L,
  34804. 0x8e526f3f5b20d0feL },
  34805. { 0x6e71ca775b645aeeL,0x3d1dcb9f800e10ffL,0x36b51162189cf6deL,
  34806. 0x2c5a3e306bb17353L } },
  34807. /* 59 << 182 */
  34808. { { 0xc186cd3e2a6c6fbfL,0xa74516fa4bf97906L,0x5b4b8f4b279d6901L,
  34809. 0x0c4e57b42b573743L },
  34810. { 0x75fdb229b6e386b6L,0xb46793fd99deac27L,0xeeec47eacf712629L,
  34811. 0xe965f3c4cbc3b2ddL } },
  34812. /* 60 << 182 */
  34813. { { 0x8dd1fb83425c6559L,0x7fc00ee60af06fdaL,0xe98c922533d956dfL,
  34814. 0x0f1ef3354fbdc8a2L },
  34815. { 0x2abb5145b79b8ea2L,0x40fd2945bdbff288L,0x6a814ac4d7185db7L,
  34816. 0xc4329d6fc084609aL } },
  34817. /* 61 << 182 */
  34818. { { 0xc9ba7b52ed1be45dL,0x891dd20de4cd2c74L,0x5a4d4a7f824139b1L,
  34819. 0x66c17716b873c710L },
  34820. { 0x5e5bc1412843c4e0L,0xd5ac4817b97eb5bfL,0xc0f8af54450c95c7L,
  34821. 0xc91b3fa0318406c5L } },
  34822. /* 62 << 182 */
  34823. { { 0x360c340aab9d97f8L,0xfb57bd0790a2d611L,0x4339ae3ca6a6f7e5L,
  34824. 0x9c1fcd2a2feb8a10L },
  34825. { 0x972bcca9c7ea7432L,0x1b0b924c308076f6L,0x80b2814a2a5b4ca5L,
  34826. 0x2f78f55b61ef3b29L } },
  34827. /* 63 << 182 */
  34828. { { 0xf838744ac18a414fL,0xc611eaae903d0a86L,0x94dabc162a453f55L,
  34829. 0xe6f2e3da14efb279L },
  34830. { 0x5b7a60179320dc3cL,0x692e382f8df6b5a4L,0x3f5e15e02d40fa90L,
  34831. 0xc87883ae643dd318L } },
  34832. /* 64 << 182 */
  34833. { { 0x511053e453544774L,0x834d0ecc3adba2bcL,0x4215d7f7bae371f5L,
  34834. 0xfcfd57bf6c8663bcL },
  34835. { 0xded2383dd6901b1dL,0x3b49fbb4b5587dc3L,0xfd44a08d07625f62L,
  34836. 0x3ee4d65b9de9b762L } },
  34837. /* 0 << 189 */
  34838. { { 0x00, 0x00, 0x00, 0x00 },
  34839. { 0x00, 0x00, 0x00, 0x00 } },
  34840. /* 1 << 189 */
  34841. { { 0x64e5137d0d63d1faL,0x658fc05202a9d89fL,0x4889487450436309L,
  34842. 0xe9ae30f8d598da61L },
  34843. { 0x2ed710d1818baf91L,0xe27e9e068b6a0c20L,0x1e28dcfb1c1a6b44L,
  34844. 0x883acb64d6ac57dcL } },
  34845. /* 2 << 189 */
  34846. { { 0x8735728dc2c6ff70L,0x79d6122fc5dc2235L,0x23f5d00319e277f9L,
  34847. 0x7ee84e25dded8cc7L },
  34848. { 0x91a8afb063cd880aL,0x3f3ea7c63574af60L,0x0cfcdc8402de7f42L,
  34849. 0x62d0792fb31aa152L } },
  34850. /* 3 << 189 */
  34851. { { 0x8e1b4e438a5807ceL,0xad283893e4109a7eL,0xc30cc9cbafd59ddaL,
  34852. 0xf65f36c63d8d8093L },
  34853. { 0xdf31469ea60d32b2L,0xee93df4b3e8191c8L,0x9c1017c5355bdeb5L,
  34854. 0xd26231858616aa28L } },
  34855. /* 4 << 189 */
  34856. { { 0xb02c83f9dec31a21L,0x988c8b236ad9d573L,0x53e983aea57be365L,
  34857. 0xe968734d646f834eL },
  34858. { 0x9137ea8f5da6309bL,0x10f3a624c1f1ce16L,0x782a9ea2ca440921L,
  34859. 0xdf94739e5b46f1b5L } },
  34860. /* 5 << 189 */
  34861. { { 0x9f9be006cce85c9bL,0x360e70d6a4c7c2d3L,0x2cd5beeaaefa1e60L,
  34862. 0x64cf63c08c3d2b6dL },
  34863. { 0xfb107fa3e1cf6f90L,0xb7e937c6d5e044e6L,0x74e8ca78ce34db9fL,
  34864. 0x4f8b36c13e210bd0L } },
  34865. /* 6 << 189 */
  34866. { { 0x1df165a434a35ea8L,0x3418e0f74d4412f6L,0x5af1f8af518836c3L,
  34867. 0x42ceef4d130e1965L },
  34868. { 0x5560ca0b543a1957L,0xc33761e5886cb123L,0x66624b1ffe98ed30L,
  34869. 0xf772f4bf1090997dL } },
  34870. /* 7 << 189 */
  34871. { { 0xf4e540bb4885d410L,0x7287f8109ba5f8d7L,0x22d0d865de98dfb1L,
  34872. 0x49ff51a1bcfbb8a3L },
  34873. { 0xb6b6fa536bc3012eL,0x3d31fd72170d541dL,0x8018724f4b0f4966L,
  34874. 0x79e7399f87dbde07L } },
  34875. /* 8 << 189 */
  34876. { { 0x56f8410ef4f8b16aL,0x97241afec47b266aL,0x0a406b8e6d9c87c1L,
  34877. 0x803f3e02cd42ab1bL },
  34878. { 0x7f0309a804dbec69L,0xa83b85f73bbad05fL,0xc6097273ad8e197fL,
  34879. 0xc097440e5067adc1L } },
  34880. /* 9 << 189 */
  34881. { { 0x730eafb63524ff16L,0xd7f9b51e823fc6ceL,0x27bd0d32443e4ac0L,
  34882. 0x40c59ad94d66f217L },
  34883. { 0x6c33136f17c387a4L,0x5043b8d5eb86804dL,0x74970312675a73c9L,
  34884. 0x838fdb31f16669b6L } },
  34885. /* 10 << 189 */
  34886. { { 0xc507b6dd418e7dddL,0x39888d93472f19d6L,0x7eae26be0c27eb4dL,
  34887. 0x17b53ed3fbabb884L },
  34888. { 0xfc27021b2b01ae4fL,0x88462e87cf488682L,0xbee096ec215e2d87L,
  34889. 0xeb2fea9ad242e29bL } },
  34890. /* 11 << 189 */
  34891. { { 0x5d985b5fb821fc28L,0x89d2e197dc1e2ad2L,0x55b566b89030ba62L,
  34892. 0xe3fd41b54f41b1c6L },
  34893. { 0xb738ac2eb9a96d61L,0x7f8567ca369443f4L,0x8698622df803a440L,
  34894. 0x2b5862368fe2f4dcL } },
  34895. /* 12 << 189 */
  34896. { { 0xbbcc00c756b95bceL,0x5ec03906616da680L,0x79162ee672214252L,
  34897. 0x43132b6386a892d2L },
  34898. { 0x4bdd3ff22f3263bfL,0xd5b3733c9cd0a142L,0x592eaa8244415ccbL,
  34899. 0x663e89248d5474eaL } },
  34900. /* 13 << 189 */
  34901. { { 0x8058a25e5236344eL,0x82e8df9dbda76ee6L,0xdcf6efd811cc3d22L,
  34902. 0x00089cda3b4ab529L },
  34903. { 0x91d3a071bd38a3dbL,0x4ea97fc0ef72b925L,0x0c9fc15bea3edf75L,
  34904. 0x5a6297cda4348ed3L } },
  34905. /* 14 << 189 */
  34906. { { 0x0d38ab35ce7c42d4L,0x9fd493ef82feab10L,0x46056b6d82111b45L,
  34907. 0xda11dae173efc5c3L },
  34908. { 0xdc7402785545a7fbL,0xbdb2601c40d507e6L,0x121dfeeb7066fa58L,
  34909. 0x214369a839ae8c2aL } },
  34910. /* 15 << 189 */
  34911. { { 0x195709cb06e0956cL,0x4c9d254f010cd34bL,0xf51e13f70471a532L,
  34912. 0xe19d67911e73054dL },
  34913. { 0xf702a628db5c7be3L,0xc7141218b24dde05L,0xdc18233cf29b2e2eL,
  34914. 0x3a6bd1e885342dbaL } },
  34915. /* 16 << 189 */
  34916. { { 0x3f747fa0b311898cL,0xe2a272e4cd0eac65L,0x4bba5851f914d0bcL,
  34917. 0x7a1a9660c4a43ee3L },
  34918. { 0xe5a367cea1c8cde9L,0x9d958ba97271abe3L,0xf3ff7eb63d1615cdL,
  34919. 0xa2280dcef5ae20b0L } },
  34920. /* 17 << 189 */
  34921. { { 0x56dba5c1cf640147L,0xea5a2e3d5e83d118L,0x04cd6b6dda24c511L,
  34922. 0x1c0f4671e854d214L },
  34923. { 0x91a6b7a969565381L,0xdc966240decf1f5bL,0x1b22d21cfcf5d009L,
  34924. 0x2a05f6419021dbd5L } },
  34925. /* 18 << 189 */
  34926. { { 0x8c0ed566d4312483L,0x5179a95d643e216fL,0xcc185fec17044493L,
  34927. 0xb306333954991a21L },
  34928. { 0xd801ecdb0081a726L,0x0149b0c64fa89bbbL,0xafe9065a4391b6b9L,
  34929. 0xedc92786d633f3a3L } },
  34930. /* 19 << 189 */
  34931. { { 0xe408c24aae6a8e13L,0x85833fde9f3897abL,0x43800e7ed81a0715L,
  34932. 0xde08e346b44ffc5fL },
  34933. { 0x7094184ccdeff2e0L,0x49f9387b165eaed1L,0x635d6129777c468aL,
  34934. 0x8c0dcfd1538c2dd8L } },
  34935. /* 20 << 189 */
  34936. { { 0xd6d9d9e37a6a308bL,0x623758304c2767d3L,0x874a8bc6f38cbeb6L,
  34937. 0xd94d3f1accb6fd9eL },
  34938. { 0x92a9735bba21f248L,0x272ad0e56cd1efb0L,0x7437b69c05b03284L,
  34939. 0xe7f047026948c225L } },
  34940. /* 21 << 189 */
  34941. { { 0x8a56c04acba2ececL,0x0c181270e3a73e41L,0x6cb34e9d03e93725L,
  34942. 0xf77c8713496521a9L },
  34943. { 0x94569183fa7f9f90L,0xf2e7aa4c8c9707adL,0xced2c9ba26c1c9a3L,
  34944. 0x9109fe9640197507L } },
  34945. /* 22 << 189 */
  34946. { { 0x9ae868a9e9adfe1cL,0x3984403d314e39bbL,0xb5875720f2fe378fL,
  34947. 0x33f901e0ba44a628L },
  34948. { 0xea1125fe3652438cL,0xae9ec4e69dd1f20bL,0x1e740d9ebebf7fbdL,
  34949. 0x6dbd3ddc42dbe79cL } },
  34950. /* 23 << 189 */
  34951. { { 0x62082aecedd36776L,0xf612c478e9859039L,0xa493b201032f7065L,
  34952. 0xebd4d8f24ff9b211L },
  34953. { 0x3f23a0aaaac4cb32L,0xea3aadb715ed4005L,0xacf17ea4afa27e63L,
  34954. 0x56125c1ac11fd66cL } },
  34955. /* 24 << 189 */
  34956. { { 0x266344a43794f8dcL,0xdcca923a483c5c36L,0x2d6b6bbf3f9d10a0L,
  34957. 0xb320c5ca81d9bdf3L },
  34958. { 0x620e28ff47b50a95L,0x933e3b01cef03371L,0xf081bf8599100153L,
  34959. 0x183be9a0c3a8c8d6L } },
  34960. /* 25 << 189 */
  34961. { { 0x4e3ddc5ad6bbe24dL,0xc6c7463053843795L,0x78193dd765ec2d4cL,
  34962. 0xb8df26cccd3c89b2L },
  34963. { 0x98dbe3995a483f8dL,0x72d8a9577dd3313aL,0x65087294ab0bd375L,
  34964. 0xfcd892487c259d16L } },
  34965. /* 26 << 189 */
  34966. { { 0x8a9443d77613aa81L,0x8010080085fe6584L,0x70fc4dbc7fb10288L,
  34967. 0xf58280d3e86beee8L },
  34968. { 0x14fdd82f7c978c38L,0xdf1204c10de44d7bL,0xa08a1c844160252fL,
  34969. 0x591554cac17646a5L } },
  34970. /* 27 << 189 */
  34971. { { 0x214a37d6a05bd525L,0x48d5f09b07957b3cL,0x0247cdcbd7109bc9L,
  34972. 0x40f9e4bb30599ce7L },
  34973. { 0xc325fa03f46ad2ecL,0x00f766cfc3e3f9eeL,0xab556668d43a4577L,
  34974. 0x68d30a613ee03b93L } },
  34975. /* 28 << 189 */
  34976. { { 0x7ddc81ea77b46a08L,0xcf5a6477c7480699L,0x43a8cb346633f683L,
  34977. 0x1b867e6b92363c60L },
  34978. { 0x439211141f60558eL,0xcdbcdd632f41450eL,0x7fc04601cc630e8bL,
  34979. 0xea7c66d597038b43L } },
  34980. /* 29 << 189 */
  34981. { { 0x7259b8a504e99fd8L,0x98a8dd124785549aL,0x0e459a7c840552e1L,
  34982. 0xcdfcf4d04bb0909eL },
  34983. { 0x34a86db253758da7L,0xe643bb83eac997e1L,0x96400bd7530c5b7eL,
  34984. 0x9f97af87b41c8b52L } },
  34985. /* 30 << 189 */
  34986. { { 0x34fc8820fbeee3f9L,0x93e5349049091afdL,0x764b9be59a31f35cL,
  34987. 0x71f3786457e3d924L },
  34988. { 0x02fb34e0943aa75eL,0xa18c9c58ab8ff6e4L,0x080f31b133cf0d19L,
  34989. 0x5c9682db083518a7L } },
  34990. /* 31 << 189 */
  34991. { { 0x873d4ca6b709c3deL,0x64a842623575b8f0L,0x6275da1f020154bbL,
  34992. 0x97678caad17cf1abL },
  34993. { 0x8779795f951a95c3L,0xdd35b16350fccc08L,0x3270962733d8f031L,
  34994. 0x3c5ab10a498dd85cL } },
  34995. /* 32 << 189 */
  34996. { { 0xb6c185c341dca566L,0x7de7fedad8622aa3L,0x99e84d92901b6dfbL,
  34997. 0x30a02b0e7c4ad288L },
  34998. { 0xc7c81daa2fd3cf36L,0xd1319547df89e59fL,0xb2be8184cd496733L,
  34999. 0xd5f449eb93d3412bL } },
  35000. /* 33 << 189 */
  35001. { { 0x7ea41b1b25fe531dL,0xf97974326a1d5646L,0x86067f722bde501aL,
  35002. 0xf91481c00c85e89cL },
  35003. { 0xca8ee465f8b05bc6L,0x1844e1cf02e83cdaL,0xca82114ab4dbe33bL,
  35004. 0x0f9f87694eabfde2L } },
  35005. /* 34 << 189 */
  35006. { { 0x4936b1c038b27fe2L,0x63b6359baba402dfL,0x40c0ea2f656bdbabL,
  35007. 0x9c992a896580c39cL },
  35008. { 0x600e8f152a60aed1L,0xeb089ca4e0bf49dfL,0x9c233d7d2d42d99aL,
  35009. 0x648d3f954c6bc2faL } },
  35010. /* 35 << 189 */
  35011. { { 0xdcc383a8e1add3f3L,0xf42c0c6a4f64a348L,0x2abd176f0030dbdbL,
  35012. 0x4de501a37d6c215eL },
  35013. { 0x4a107c1f4b9a64bcL,0xa77f0ad32496cd59L,0xfb78ac627688dffbL,
  35014. 0x7025a2ca67937d8eL } },
  35015. /* 36 << 189 */
  35016. { { 0xfde8b2d1d1a8f4e7L,0xf5b3da477354927cL,0xe48606a3d9205735L,
  35017. 0xac477cc6e177b917L },
  35018. { 0xfb1f73d2a883239aL,0xe12572f6cc8b8357L,0x9d355e9cfb1f4f86L,
  35019. 0x89b795f8d9f3ec6eL } },
  35020. /* 37 << 189 */
  35021. { { 0x27be56f1b54398dcL,0x1890efd73fedeed5L,0x62f77f1f9c6d0140L,
  35022. 0x7ef0e314596f0ee4L },
  35023. { 0x50ca6631cc61dab3L,0x4a39801df4866e4fL,0x66c8d032ae363b39L,
  35024. 0x22c591e52ead66aaL } },
  35025. /* 38 << 189 */
  35026. { { 0x954ba308de02a53eL,0x2a6c060fd389f357L,0xe6cfcde8fbf40b66L,
  35027. 0x8e02fc56c6340ce1L },
  35028. { 0xe495779573adb4baL,0x7b86122ca7b03805L,0x63f835120c8e6fa6L,
  35029. 0x83660ea0057d7804L } },
  35030. /* 39 << 189 */
  35031. { { 0xbad7910521ba473cL,0xb6c50beeded5389dL,0xee2caf4daa7c9bc0L,
  35032. 0xd97b8de48c4e98a7L },
  35033. { 0xa9f63e70ab3bbddbL,0x3898aabf2597815aL,0x7659af89ac15b3d9L,
  35034. 0xedf7725b703ce784L } },
  35035. /* 40 << 189 */
  35036. { { 0x25470fabe085116bL,0x04a4337587285310L,0x4e39187ee2bfd52fL,
  35037. 0x36166b447d9ebc74L },
  35038. { 0x92ad433cfd4b322cL,0x726aa817ba79ab51L,0xf96eacd8c1db15ebL,
  35039. 0xfaf71e910476be63L } },
  35040. /* 41 << 189 */
  35041. { { 0xdd69a640641fad98L,0xb799591829622559L,0x03c6daa5de4199dcL,
  35042. 0x92cadc97ad545eb4L },
  35043. { 0x1028238b256534e4L,0x73e80ce68595409aL,0x690d4c66d05dc59bL,
  35044. 0xc95f7b8f981dee80L } },
  35045. /* 42 << 189 */
  35046. { { 0xf4337014d856ac25L,0x441bd9ddac524dcaL,0x640b3d855f0499f5L,
  35047. 0x39cf84a9d5fda182L },
  35048. { 0x04e7b055b2aa95a0L,0x29e33f0a0ddf1860L,0x082e74b5423f6b43L,
  35049. 0x217edeb90aaa2b0fL } },
  35050. /* 43 << 189 */
  35051. { { 0x58b83f3583cbea55L,0xc485ee4dbc185d70L,0x833ff03b1e5f6992L,
  35052. 0xb5b9b9cccf0c0dd5L },
  35053. { 0x7caaee8e4e9e8a50L,0x462e907b6269dafdL,0x6ed5cee9fbe791c6L,
  35054. 0x68ca3259ed430790L } },
  35055. /* 44 << 189 */
  35056. { { 0x2b72bdf213b5ba88L,0x60294c8a35ef0ac4L,0x9c3230ed19b99b08L,
  35057. 0x560fff176c2589aaL },
  35058. { 0x552b8487d6770374L,0xa373202d9a56f685L,0xd3e7f90745f175d9L,
  35059. 0x3c2f315fd080d810L } },
  35060. /* 45 << 189 */
  35061. { { 0x1130e9dd7b9520e8L,0xc078f9e20af037b5L,0x38cd2ec71e9c104cL,
  35062. 0x0f684368c472fe92L },
  35063. { 0xd3f1b5ed6247e7efL,0xb32d33a9396dfe21L,0x46f59cf44a9aa2c2L,
  35064. 0x69cd5168ff0f7e41L } },
  35065. /* 46 << 189 */
  35066. { { 0x3f59da0f4b3234daL,0xcf0b0235b4579ebeL,0x6d1cbb256d2476c7L,
  35067. 0x4f0837e69dc30f08L },
  35068. { 0x9a4075bb906f6e98L,0x253bb434c761e7d1L,0xde2e645f6e73af10L,
  35069. 0xb89a40600c5f131cL } },
  35070. /* 47 << 189 */
  35071. { { 0xd12840c5b8cc037fL,0x3d093a5b7405bb47L,0x6202c253206348b8L,
  35072. 0xbf5d57fcc55a3ca7L },
  35073. { 0x89f6c90c8c3bef48L,0x23ac76235a0a960aL,0xdfbd3d6b552b42abL,
  35074. 0x3ef22458132061f6L } },
  35075. /* 48 << 189 */
  35076. { { 0xd74e9bdac97e6516L,0x88779360c230f49eL,0xa6ec1de31e74ea49L,
  35077. 0x581dcee53fb645a2L },
  35078. { 0xbaef23918f483f14L,0x6d2dddfcd137d13bL,0x54cde50ed2743a42L,
  35079. 0x89a34fc5e4d97e67L } },
  35080. /* 49 << 189 */
  35081. { { 0x13f1f5b312e08ce5L,0xa80540b8a7f0b2caL,0x854bcf7701982805L,
  35082. 0xb8653ffd233bea04L },
  35083. { 0x8e7b878702b0b4c9L,0x2675261f9acb170aL,0x061a9d90930c14e5L,
  35084. 0xb59b30e0def0abeaL } },
  35085. /* 50 << 189 */
  35086. { { 0x1dc19ea60200ec7dL,0xb6f4a3f90bce132bL,0xb8d5de90f13e27e0L,
  35087. 0xbaee5ef01fade16fL },
  35088. { 0x6f406aaae4c6cf38L,0xab4cfe06d1369815L,0x0dcffe87efd550c6L,
  35089. 0x9d4f59c775ff7d39L } },
  35090. /* 51 << 189 */
  35091. { { 0xb02553b151deb6adL,0x812399a4b1877749L,0xce90f71fca6006e1L,
  35092. 0xc32363a6b02b6e77L },
  35093. { 0x02284fbedc36c64dL,0x86c81e31a7e1ae61L,0x2576c7e5b909d94aL,
  35094. 0x8b6f7d02818b2bb0L } },
  35095. /* 52 << 189 */
  35096. { { 0xeca3ed0756faa38aL,0xa3790e6c9305bb54L,0xd784eeda7bc73061L,
  35097. 0xbd56d3696dd50614L },
  35098. { 0xd6575949229a8aa9L,0xdcca8f474595ec28L,0x814305c106ab4fe6L,
  35099. 0xc8c3976824f43f16L } },
  35100. /* 53 << 189 */
  35101. { { 0xe2a45f36523f2b36L,0x995c6493920d93bbL,0xf8afdab790f1632bL,
  35102. 0x79ebbecd1c295954L },
  35103. { 0xc7bb3ddb79592f48L,0x67216a7b5f88e998L,0xd91f098bbc01193eL,
  35104. 0xf7d928a5b1db83fcL } },
  35105. /* 54 << 189 */
  35106. { { 0x55e38417e991f600L,0x2a91113e2981a934L,0xcbc9d64806b13bdeL,
  35107. 0xb011b6ac0755ff44L },
  35108. { 0x6f4cb518045ec613L,0x522d2d31c2f5930aL,0x5acae1af382e65deL,
  35109. 0x5764306727bc966fL } },
  35110. /* 55 << 189 */
  35111. { { 0x5e12705d1c7193f0L,0xf0f32f473be8858eL,0x785c3d7d96c6dfc7L,
  35112. 0xd75b4a20bf31795dL },
  35113. { 0x91acf17b342659d4L,0xe596ea3444f0378fL,0x4515708fce52129dL,
  35114. 0x17387e1e79f2f585L } },
  35115. /* 56 << 189 */
  35116. { { 0x72cfd2e949dee168L,0x1ae052233e2af239L,0x009e75be1d94066aL,
  35117. 0x6cca31c738abf413L },
  35118. { 0xb50bd61d9bc49908L,0x4a9b4a8cf5e2bc1eL,0xeb6cc5f7946f83acL,
  35119. 0x27da93fcebffab28L } },
  35120. /* 57 << 189 */
  35121. { { 0xea314c964821c8c5L,0x8de49deda83c15f4L,0x7a64cf207af33004L,
  35122. 0x45f1bfebc9627e10L },
  35123. { 0x878b062654b9df60L,0x5e4fdc3ca95c0b33L,0xe54a37cac2035d8eL,
  35124. 0x9087cda980f20b8cL } },
  35125. /* 58 << 189 */
  35126. { { 0x36f61c238319ade4L,0x766f287ade8cfdf8L,0x48821948346f3705L,
  35127. 0x49a7b85316e4f4a2L },
  35128. { 0xb9b3f8a75cedadfdL,0x8f5628158db2a815L,0xc0b7d55401f68f95L,
  35129. 0x12971e27688a208eL } },
  35130. /* 59 << 189 */
  35131. { { 0xc9f8b696d0ff34fcL,0x20824de21222718cL,0x7213cf9f0c95284dL,
  35132. 0xe2ad741bdc158240L },
  35133. { 0x0ee3a6df54043ccfL,0x16ff479bd84412b3L,0xf6c74ee0dfc98af0L,
  35134. 0xa78a169f52fcd2fbL } },
  35135. /* 60 << 189 */
  35136. { { 0xd8ae874699c930e9L,0x1d33e85849e117a5L,0x7581fcb46624759fL,
  35137. 0xde50644f5bedc01dL },
  35138. { 0xbeec5d00caf3155eL,0x672d66acbc73e75fL,0x86b9d8c6270b01dbL,
  35139. 0xd249ef8350f55b79L } },
  35140. /* 61 << 189 */
  35141. { { 0x6131d6d473978fe3L,0xcc4e4542754b00a1L,0x4e05df0557dfcfe9L,
  35142. 0x94b29cdd51ef6bf0L },
  35143. { 0xe4530cff9bc7edf2L,0x8ac236fdd3da65f3L,0x0faf7d5fc8eb0b48L,
  35144. 0x4d2de14c660eb039L } },
  35145. /* 62 << 189 */
  35146. { { 0xc006bba760430e54L,0x10a2d0d6da3289abL,0x9c037a5dd7979c59L,
  35147. 0x04d1f3d3a116d944L },
  35148. { 0x9ff224738a0983cdL,0x28e25b38c883cabbL,0xe968dba547a58995L,
  35149. 0x2c80b505774eebdfL } },
  35150. /* 63 << 189 */
  35151. { { 0xee763b714a953bebL,0x502e223f1642e7f6L,0x6fe4b64161d5e722L,
  35152. 0x9d37c5b0dbef5316L },
  35153. { 0x0115ed70f8330bc7L,0x139850e675a72789L,0x27d7faecffceccc2L,
  35154. 0x3016a8604fd9f7f6L } },
  35155. /* 64 << 189 */
  35156. { { 0xc492ec644cd8f64cL,0x58a2d790279d7b51L,0x0ced1fc51fc75256L,
  35157. 0x3e658aed8f433017L },
  35158. { 0x0b61942e05da59ebL,0xba3d60a30ddc3722L,0x7c311cd1742e7f87L,
  35159. 0x6473ffeef6b01b6eL } },
  35160. /* 0 << 196 */
  35161. { { 0x00, 0x00, 0x00, 0x00 },
  35162. { 0x00, 0x00, 0x00, 0x00 } },
  35163. /* 1 << 196 */
  35164. { { 0x8303604f692ac542L,0xf079ffe1227b91d3L,0x19f63e6315aaf9bdL,
  35165. 0xf99ee565f1f344fbL },
  35166. { 0x8a1d661fd6219199L,0x8c883bc6d48ce41cL,0x1065118f3c74d904L,
  35167. 0x713889ee0faf8b1bL } },
  35168. /* 2 << 196 */
  35169. { { 0x972b3f8f81a1b3beL,0x4f3ce145ce2764a0L,0xe2d0f1cc28c4f5f7L,
  35170. 0xdeee0c0dc7f3985bL },
  35171. { 0x7df4adc0d39e25c3L,0x40619820c467a080L,0x440ebc9361cf5a58L,
  35172. 0x527729a6422ad600L } },
  35173. /* 3 << 196 */
  35174. { { 0xca6c0937b1b76ba6L,0x1a2eab854d2026dcL,0xb1715e1519d9ae0aL,
  35175. 0xf1ad9199bac4a026L },
  35176. { 0x35b3dfb807ea7b0eL,0xedf5496f3ed9eb89L,0x8932e5ff2d6d08abL,
  35177. 0xf314874e25bd2731L } },
  35178. /* 4 << 196 */
  35179. { { 0xefb26a753f73f449L,0x1d1c94f88d44fc79L,0x49f0fbc53bc0dc4dL,
  35180. 0xb747ea0b3698a0d0L },
  35181. { 0x5218c3fe228d291eL,0x35b804b543c129d6L,0xfac859b8d1acc516L,
  35182. 0x6c10697d95d6e668L } },
  35183. /* 5 << 196 */
  35184. { { 0xc38e438f0876fd4eL,0x45f0c30783d2f383L,0x203cc2ecb10934cbL,
  35185. 0x6a8f24392c9d46eeL },
  35186. { 0xf16b431b65ccde7bL,0x41e2cd1827e76a6fL,0xb9c8cf8f4e3484d7L,
  35187. 0x64426efd8315244aL } },
  35188. /* 6 << 196 */
  35189. { { 0x1c0a8e44fc94dea3L,0x34c8cdbfdad6a0b0L,0x919c384004113cefL,
  35190. 0xfd32fba415490ffaL },
  35191. { 0x58d190f6795dcfb7L,0xfef01b0383588bafL,0x9e6d1d63ca1fc1c0L,
  35192. 0x53173f96f0a41ac9L } },
  35193. /* 7 << 196 */
  35194. { { 0x2b1d402aba16f73bL,0x2fb310148cf9b9fcL,0x2d51e60e446ef7bfL,
  35195. 0xc731021bb91e1745L },
  35196. { 0x9d3b47244fee99d4L,0x4bca48b6fac5c1eaL,0x70f5f514bbea9af7L,
  35197. 0x751f55a5974c283aL } },
  35198. /* 8 << 196 */
  35199. { { 0x6e30251acb452fdbL,0x31ee696550f30650L,0xb0b3e508933548d9L,
  35200. 0xb8949a4ff4b0ef5bL },
  35201. { 0x208b83263c88f3bdL,0xab147c30db1d9989L,0xed6515fd44d4df03L,
  35202. 0x17a12f75e72eb0c5L } },
  35203. /* 9 << 196 */
  35204. { { 0x3b59796d36cf69dbL,0x1219eee956670c18L,0xfe3341f77a070d8eL,
  35205. 0x9b70130ba327f90cL },
  35206. { 0x36a324620ae18e0eL,0x2021a62346c0a638L,0x251b5817c62eb0d4L,
  35207. 0x87bfbcdf4c762293L } },
  35208. /* 10 << 196 */
  35209. { { 0xf78ab505cdd61d64L,0x8c7a53fcc8c18857L,0xa653ce6f16147515L,
  35210. 0x9c923aa5ea7d52d5L },
  35211. { 0xc24709cb5c18871fL,0x7d53bec873b3cc74L,0x59264afffdd1d4c4L,
  35212. 0x5555917e240da582L } },
  35213. /* 11 << 196 */
  35214. { { 0xcae8bbda548f5a0eL,0x1910eaba3bbfbbe1L,0xae5796857677afc3L,
  35215. 0x49ea61f173ff0b5cL },
  35216. { 0x786554784f7c3922L,0x95d337cd20c68eefL,0x68f1e1e5df779ab9L,
  35217. 0x14b491b0b5cf69a8L } },
  35218. /* 12 << 196 */
  35219. { { 0x7a6cbbe028e3fe89L,0xe7e1fee4c5aac0ebL,0x7f47eda5697e5140L,
  35220. 0x4f450137b454921fL },
  35221. { 0xdb625f8495cd8185L,0x74be0ba1cdb2e583L,0xaee4fd7cdd5e6de4L,
  35222. 0x4251437de8101739L } },
  35223. /* 13 << 196 */
  35224. { { 0x686d72a0ac620366L,0x4be3fb9cb6d59344L,0x6e8b44e7a1eb75b9L,
  35225. 0x84e39da391a5c10cL },
  35226. { 0x37cc1490b38f0409L,0x029519432c2ade82L,0x9b6887831190a2d8L,
  35227. 0x25627d14231182baL } },
  35228. /* 14 << 196 */
  35229. { { 0x6eb550aa658a6d87L,0x1405aaa7cf9c7325L,0xd147142e5c8748c9L,
  35230. 0x7f637e4f53ede0e0L },
  35231. { 0xf8ca277614ffad2cL,0xe58fb1bdbafb6791L,0x17158c23bf8f93fcL,
  35232. 0x7f15b3730a4a4655L } },
  35233. /* 15 << 196 */
  35234. { { 0x39d4add2d842ca72L,0xa71e43913ed96305L,0x5bb09cbe6700be14L,
  35235. 0x68d69d54d8befcf6L },
  35236. { 0xa45f536737183bcfL,0x7152b7bb3370dff7L,0xcf887baabf12525bL,
  35237. 0xe7ac7bddd6d1e3cdL } },
  35238. /* 16 << 196 */
  35239. { { 0x25914f7881fdad90L,0xcf638f560d2cf6abL,0xb90bc03fcc054de5L,
  35240. 0x932811a718b06350L },
  35241. { 0x2f00b3309bbd11ffL,0x76108a6fb4044974L,0x801bb9e0a851d266L,
  35242. 0x0dd099bebf8990c1L } },
  35243. /* 17 << 196 */
  35244. { { 0x58c5aaaaabe32986L,0x0fe9dd2a50d59c27L,0x84951ff48d307305L,
  35245. 0x6c23f82986529b78L },
  35246. { 0x50bb22180b136a79L,0x7e2174de77a20996L,0x6f00a4b9c0bb4da6L,
  35247. 0x89a25a17efdde8daL } },
  35248. /* 18 << 196 */
  35249. { { 0xf728a27ec11ee01dL,0xf900553ae5f10dfbL,0x189a83c802ec893cL,
  35250. 0x3ca5bdc123f66d77L },
  35251. { 0x9878153797eada9fL,0x59c50ab310256230L,0x346042d9323c69b3L,
  35252. 0x1b715a6d2c460449L } },
  35253. /* 19 << 196 */
  35254. { { 0xa41dd4766ae06e0bL,0xcdd7888e9d42e25fL,0x0f395f7456b25a20L,
  35255. 0xeadfe0ae8700e27eL },
  35256. { 0xb09d52a969950093L,0x3525d9cb327f8d40L,0xb8235a9467df886aL,
  35257. 0x77e4b0dd035faec2L } },
  35258. /* 20 << 196 */
  35259. { { 0x115eb20a517d7061L,0x77fe34336c2df683L,0x6870ddc7cdc6fc67L,
  35260. 0xb16105880b87de83L },
  35261. { 0x343584cad9c4ddbeL,0xb3164f1c3d754be2L,0x0731ed3ac1e6c894L,
  35262. 0x26327dec4f6b904cL } },
  35263. /* 21 << 196 */
  35264. { { 0x9d49c6de97b5cd32L,0x40835daeb5eceecdL,0xc66350edd9ded7feL,
  35265. 0x8aeebb5c7a678804L },
  35266. { 0x51d42fb75b8ee9ecL,0xd7a17bdd8e3ca118L,0x40d7511a2ef4400eL,
  35267. 0xc48990ac875a66f4L } },
  35268. /* 22 << 196 */
  35269. { { 0x8de07d2a2199e347L,0xbee755562a39e051L,0x56918786916e51dcL,
  35270. 0xeb1913134a2d89ecL },
  35271. { 0x6679610d37d341edL,0x434fbb4156d51c2bL,0xe54b7ee7d7492dbaL,
  35272. 0xaa33a79a59021493L } },
  35273. /* 23 << 196 */
  35274. { { 0x49fc5054e4bd6d3dL,0x09540f045ab551d0L,0x8acc90854942d3a6L,
  35275. 0x231af02f2d28323bL },
  35276. { 0x93458cac0992c163L,0x1fef8e71888e3bb4L,0x27578da5be8c268cL,
  35277. 0xcc8be792e805ec00L } },
  35278. /* 24 << 196 */
  35279. { { 0x29267baec61c3855L,0xebff429d58c1fd3bL,0x22d886c08c0b93b8L,
  35280. 0xca5e00b22ddb8953L },
  35281. { 0xcf330117c3fed8b7L,0xd49ac6fa819c01f6L,0x6ddaa6bd3c0fbd54L,
  35282. 0x917430688049a2cfL } },
  35283. /* 25 << 196 */
  35284. { { 0xd67f981eaff2ef81L,0xc3654d352818ae80L,0x81d050441b2aa892L,
  35285. 0x2db067bf3d099328L },
  35286. { 0xe7c79e86703dcc97L,0xe66f9b37e133e215L,0xcdf119a6e39a7a5cL,
  35287. 0x47c60de3876f1b61L } },
  35288. /* 26 << 196 */
  35289. { { 0x6e405939d860f1b2L,0x3e9a1dbcf5ed4d4aL,0x3f23619ec9b6bcbdL,
  35290. 0x5ee790cf734e4497L },
  35291. { 0xf0a834b15bdaf9bbL,0x02cedda74ca295f0L,0x4619aa2bcb8e378cL,
  35292. 0xe5613244cc987ea4L } },
  35293. /* 27 << 196 */
  35294. { { 0x0bc022cc76b23a50L,0x4a2793ad0a6c21ceL,0x3832878089cac3f5L,
  35295. 0x29176f1bcba26d56L },
  35296. { 0x062961874f6f59ebL,0x86e9bca98bdc658eL,0x2ca9c4d357e30402L,
  35297. 0x5438b216516a09bbL } },
  35298. /* 28 << 196 */
  35299. { { 0x0a6a063c7672765aL,0x37a3ce640547b9bfL,0x42c099c898b1a633L,
  35300. 0xb5ab800d05ee6961L },
  35301. { 0xf1963f5911a5acd6L,0xbaee615746201063L,0x36d9a649a596210aL,
  35302. 0xaed043631ba7138cL } },
  35303. /* 29 << 196 */
  35304. { { 0xcf817d1ca4a82b76L,0x5586960ef3806be9L,0x7ab67c8909dc6bb5L,
  35305. 0x52ace7a0114fe7ebL },
  35306. { 0xcd987618cbbc9b70L,0x4f06fd5a604ca5e1L,0x90af14ca6dbde133L,
  35307. 0x1afe4322948a3264L } },
  35308. /* 30 << 196 */
  35309. { { 0xa70d2ca6c44b2c6cL,0xab7267990ef87dfeL,0x310f64dc2e696377L,
  35310. 0x49b42e684c8126a0L },
  35311. { 0x0ea444c3cea0b176L,0x53a8ddf7cb269182L,0xf3e674ebbbba9dcbL,
  35312. 0x0d2878a8d8669d33L } },
  35313. /* 31 << 196 */
  35314. { { 0x04b935d5d019b6a3L,0xbb5cf88e406f1e46L,0xa1912d165b57c111L,
  35315. 0x9803fc2119ebfd78L },
  35316. { 0x4f231c9ec07764a9L,0xd93286eeb75bd055L,0x83a9457d8ee6c9deL,
  35317. 0x046959156087ec90L } },
  35318. /* 32 << 196 */
  35319. { { 0x14c6dd8a58d6cd46L,0x9cb633b58e6634d2L,0xc1305047f81bc328L,
  35320. 0x12ede0e226a177e5L },
  35321. { 0x332cca62065a6f4fL,0xc3a47ecd67be487bL,0x741eb1870f47ed1cL,
  35322. 0x99e66e58e7598b14L } },
  35323. /* 33 << 196 */
  35324. { { 0x6f0544ca63d0ff12L,0xe5efc784b610a05fL,0xf72917b17cad7b47L,
  35325. 0x3ff6ea20f2cac0c0L },
  35326. { 0xcc23791bf21db8b7L,0x7dac70b1d7d93565L,0x682cda1d694bdaadL,
  35327. 0xeb88bb8c1023516dL } },
  35328. /* 34 << 196 */
  35329. { { 0xc4c634b4dfdbeb1bL,0x22f5ca72b4ee4deaL,0x1045a368e6524821L,
  35330. 0xed9e8a3f052b18b2L },
  35331. { 0x9b7f2cb1b961f49aL,0x7fee2ec17b009670L,0x350d875422507a6dL,
  35332. 0x561bd7114db55f1dL } },
  35333. /* 35 << 196 */
  35334. { { 0x4c189ccc320bbcafL,0x568434cfdf1de48cL,0x6af1b00e0fa8f128L,
  35335. 0xf0ba9d028907583cL },
  35336. { 0x735a400432ff9f60L,0x3dd8e4b6c25dcf33L,0xf2230f1642c74cefL,
  35337. 0xd8117623013fa8adL } },
  35338. /* 36 << 196 */
  35339. { { 0x36822876f51fe76eL,0x8a6811cc11d62589L,0xc3fc7e6546225718L,
  35340. 0xb7df2c9fc82fdbcdL },
  35341. { 0x3b1d4e52dd7b205bL,0xb695947847a2e414L,0x05e4d793efa91148L,
  35342. 0xb47ed446fd2e9675L } },
  35343. /* 37 << 196 */
  35344. { { 0x1a7098b904c9d9bfL,0x661e28811b793048L,0xb1a16966b01ee461L,
  35345. 0xbc5213082954746fL },
  35346. { 0xc909a0fc2477de50L,0xd80bb41c7dbd51efL,0xa85be7ec53294905L,
  35347. 0x6d465b1883958f97L } },
  35348. /* 38 << 196 */
  35349. { { 0x16f6f330fb6840fdL,0xfaaeb2143401e6c8L,0xaf83d30fccb5b4f8L,
  35350. 0x22885739266dec4bL },
  35351. { 0x51b4367c7bc467dfL,0x926562e3d842d27aL,0xdfcb66140fea14a6L,
  35352. 0xeb394daef2734cd9L } },
  35353. /* 39 << 196 */
  35354. { { 0x3eeae5d211c0be98L,0xb1e6ed11814e8165L,0x191086bce52bce1cL,
  35355. 0x14b74cc6a75a04daL },
  35356. { 0x63cf11868c060985L,0x071047de2dbd7f7cL,0x4e433b8bce0942caL,
  35357. 0xecbac447d8fec61dL } },
  35358. /* 40 << 196 */
  35359. { { 0x8f0ed0e2ebf3232fL,0xfff80f9ec52a2eddL,0xad9ab43375b55fdbL,
  35360. 0x73ca7820e42e0c11L },
  35361. { 0x6dace0a0e6251b46L,0x89bc6b5c4c0d932dL,0x3438cd77095da19aL,
  35362. 0x2f24a9398d48bdfbL } },
  35363. /* 41 << 196 */
  35364. { { 0x99b47e46766561b7L,0x736600e60ed0322aL,0x06a47cb1638e1865L,
  35365. 0x927c1c2dcb136000L },
  35366. { 0x295423370cc5df69L,0x99b37c0209d649a9L,0xc5f0043c6aefdb27L,
  35367. 0x6cdd99871be95c27L } },
  35368. /* 42 << 196 */
  35369. { { 0x69850931390420d2L,0x299c40ac0983efa4L,0x3a05e778af39aeadL,
  35370. 0x8427440843a45193L },
  35371. { 0x6bcd0fb991a711a0L,0x461592c89f52ab17L,0xb49302b4da3c6ed6L,
  35372. 0xc51fddc7330d7067L } },
  35373. /* 43 << 196 */
  35374. { { 0x94babeb6da50d531L,0x521b840da6a7b9daL,0x5305151e404bdc89L,
  35375. 0x1bcde201d0d07449L },
  35376. { 0xf427a78b3b76a59aL,0xf84841ce07791a1bL,0xebd314bebf91ed1cL,
  35377. 0x8e61d34cbf172943L } },
  35378. /* 44 << 196 */
  35379. { { 0x1d5dc4515541b892L,0xb186ee41fc9d9e54L,0x9d9f345ed5bf610dL,
  35380. 0x3e7ba65df6acca9fL },
  35381. { 0x9dda787aa8369486L,0x09f9dab78eb5ba53L,0x5afb2033d6481bc3L,
  35382. 0x76f4ce30afa62104L } },
  35383. /* 45 << 196 */
  35384. { { 0xa8fa00cff4f066b5L,0x89ab5143461dafc2L,0x44339ed7a3389998L,
  35385. 0x2ff862f1bc214903L },
  35386. { 0x2c88f985b05556e3L,0xcd96058e3467081eL,0x7d6a4176edc637eaL,
  35387. 0xe1743d0936a5acdcL } },
  35388. /* 46 << 196 */
  35389. { { 0x66fd72e27eb37726L,0xf7fa264e1481a037L,0x9fbd3bde45f4aa79L,
  35390. 0xed1e0147767c3e22L },
  35391. { 0x7621f97982e7abe2L,0x19eedc7245f633f8L,0xe69b155e6137bf3aL,
  35392. 0xa0ad13ce414ee94eL } },
  35393. /* 47 << 196 */
  35394. { { 0x93e3d5241c0e651aL,0xab1a6e2a02ce227eL,0xe7af17974ab27ecaL,
  35395. 0x245446debd444f39L },
  35396. { 0x59e22a2156c07613L,0x43deafcef4275498L,0x10834ccb67fd0946L,
  35397. 0xa75841e547406edfL } },
  35398. /* 48 << 196 */
  35399. { { 0xebd6a6777b0ac93dL,0xa6e37b0d78f5e0d7L,0x2516c09676f5492bL,
  35400. 0x1e4bf8889ac05f3aL },
  35401. { 0xcdb42ce04df0ba2bL,0x935d5cfd5062341bL,0x8a30333382acac20L,
  35402. 0x429438c45198b00eL } },
  35403. /* 49 << 196 */
  35404. { { 0x1d083bc9049d33faL,0x58b82dda946f67ffL,0xac3e2db867a1d6a3L,
  35405. 0x62e6bead1798aac8L },
  35406. { 0xfc85980fde46c58cL,0xa7f6937969c8d7beL,0x23557927837b35ecL,
  35407. 0x06a933d8e0790c0cL } },
  35408. /* 50 << 196 */
  35409. { { 0x827c0e9b077ff55dL,0x53977798bb26e680L,0x595308741d9cb54fL,
  35410. 0xcca3f4494aac53efL },
  35411. { 0x11dc5c87a07eda0fL,0xc138bccffd6400c8L,0x549680d313e5da72L,
  35412. 0xc93eed824540617eL } },
  35413. /* 51 << 196 */
  35414. { { 0xfd3db1574d0b75c0L,0x9716eb426386075bL,0x0639605c817b2c16L,
  35415. 0x09915109f1e4f201L },
  35416. { 0x35c9a9285cca6c3bL,0xb25f7d1a3505c900L,0xeb9f7d20630480c4L,
  35417. 0xc3c7b8c62a1a501cL } },
  35418. /* 52 << 196 */
  35419. { { 0x3f99183c5a1f8e24L,0xfdb118fa9dd255f0L,0xb9b18b90c27f62a6L,
  35420. 0xe8f732f7396ec191L },
  35421. { 0x524a2d910be786abL,0x5d32adef0ac5a0f5L,0x9b53d4d69725f694L,
  35422. 0x032a76c60510ba89L } },
  35423. /* 53 << 196 */
  35424. { { 0x840391a3ebeb1544L,0x44b7b88c3ed73ac3L,0xd24bae7a256cb8b3L,
  35425. 0x7ceb151ae394cb12L },
  35426. { 0xbd6b66d05bc1e6a8L,0xec70cecb090f07bfL,0x270644ed7d937589L,
  35427. 0xee9e1a3d5f1dccfeL } },
  35428. /* 54 << 196 */
  35429. { { 0xb0d40a84745b98d2L,0xda429a212556ed40L,0xf676eced85148cb9L,
  35430. 0x5a22d40cded18936L },
  35431. { 0x3bc4b9e570e8a4ceL,0xbfd1445b9eae0379L,0xf23f2c0c1a0bd47eL,
  35432. 0xa9c0bb31e1845531L } },
  35433. /* 55 << 196 */
  35434. { { 0x9ddc4d600a4c3f6bL,0xbdfaad792c15ef44L,0xce55a2367f484accL,
  35435. 0x08653ca7055b1f15L },
  35436. { 0x2efa8724538873a3L,0x09299e5dace1c7e7L,0x07afab66ade332baL,
  35437. 0x9be1fdf692dd71b7L } },
  35438. /* 56 << 196 */
  35439. { { 0xa49b5d595758b11cL,0x0b852893c8654f40L,0xb63ef6f452379447L,
  35440. 0xd4957d29105e690cL },
  35441. { 0x7d484363646559b0L,0xf4a8273c49788a8eL,0xee406cb834ce54a9L,
  35442. 0x1e1c260ff86fda9bL } },
  35443. /* 57 << 196 */
  35444. { { 0xe150e228cf6a4a81L,0x1fa3b6a31b488772L,0x1e6ff110c5a9c15bL,
  35445. 0xc6133b918ad6aa47L },
  35446. { 0x8ac5d55c9dffa978L,0xba1d1c1d5f3965f2L,0xf969f4e07732b52fL,
  35447. 0xfceecdb5a5172a07L } },
  35448. /* 58 << 196 */
  35449. { { 0xb0120a5f10f2b8f5L,0xc83a6cdf5c4c2f63L,0x4d47a491f8f9c213L,
  35450. 0xd9e1cce5d3f1bbd5L },
  35451. { 0x0d91bc7caba7e372L,0xfcdc74c8dfd1a2dbL,0x05efa800374618e5L,
  35452. 0x1121696915a7925eL } },
  35453. /* 59 << 196 */
  35454. { { 0xd4c89823f6021c5dL,0x880d5e84eff14423L,0x6523bc5a6dcd1396L,
  35455. 0xd1acfdfc113c978bL },
  35456. { 0xb0c164e8bbb66840L,0xf7f4301e72b58459L,0xc29ad4a6a638e8ecL,
  35457. 0xf5ab896146b78699L } },
  35458. /* 60 << 196 */
  35459. { { 0x9dbd79740e954750L,0x0121de8864f9d2c6L,0x2e597b42d985232eL,
  35460. 0x55b6c3c553451777L },
  35461. { 0xbb53e547519cb9fbL,0xf134019f8428600dL,0x5a473176e081791aL,
  35462. 0x2f3e226335fb0c08L } },
  35463. /* 61 << 196 */
  35464. { { 0xb28c301773d273b0L,0xccd210767721ef9aL,0x054cc292b650dc39L,
  35465. 0x662246de6188045eL },
  35466. { 0x904b52fa6b83c0d1L,0xa72df26797e9cd46L,0x886b43cd899725e4L,
  35467. 0x2b651688d849ff22L } },
  35468. /* 62 << 196 */
  35469. { { 0x60479b7902f34533L,0x5e354c140c77c148L,0xb4bb7581a8537c78L,
  35470. 0x188043d7efe1495fL },
  35471. { 0x9ba12f428c1d5026L,0x2e0c8a2693d4aaabL,0xbdba7b8baa57c450L,
  35472. 0x140c9ad69bbdafefL } },
  35473. /* 63 << 196 */
  35474. { { 0x2067aa4225ac0f18L,0xf7b1295b04d1fbf3L,0x14829111a4b04824L,
  35475. 0x2ce3f19233bd5e91L },
  35476. { 0x9c7a1d558f2e1b72L,0xfe932286302aa243L,0x497ca7b4d4be9554L,
  35477. 0xb8e821b8e0547a6eL } },
  35478. /* 64 << 196 */
  35479. { { 0xfb2838be67e573e0L,0x05891db94084c44bL,0x9131137396c1c2c5L,
  35480. 0x6aebfa3fd958444bL },
  35481. { 0xac9cdce9e56e55c1L,0x7148ced32caa46d0L,0x2e10c7efb61fe8ebL,
  35482. 0x9fd835daff97cf4dL } },
  35483. /* 0 << 203 */
  35484. { { 0x00, 0x00, 0x00, 0x00 },
  35485. { 0x00, 0x00, 0x00, 0x00 } },
  35486. /* 1 << 203 */
  35487. { { 0xa36da109081e9387L,0xfb9780d78c935828L,0xd5940332e540b015L,
  35488. 0xc9d7b51be0f466faL },
  35489. { 0xfaadcd41d6d9f671L,0xba6c1e28b1a2ac17L,0x066a7833ed201e5fL,
  35490. 0x19d99719f90f462bL } },
  35491. /* 2 << 203 */
  35492. { { 0xf431f462060b5f61L,0xa56f46b47bd057c2L,0x348dca6c47e1bf65L,
  35493. 0x9a38783e41bcf1ffL },
  35494. { 0x7a5d33a9da710718L,0x5a7799872e0aeaf6L,0xca87314d2d29d187L,
  35495. 0xfa0edc3ec687d733L } },
  35496. /* 3 << 203 */
  35497. { { 0x9df336216a31e09bL,0xde89e44dc1350e35L,0x292148714ca0cf52L,
  35498. 0xdf3796720b88a538L },
  35499. { 0xc92a510a2591d61bL,0x79aa87d7585b447bL,0xf67db604e5287f77L,
  35500. 0x1697c8bf5efe7a80L } },
  35501. /* 4 << 203 */
  35502. { { 0x1c894849cb198ac7L,0xa884a93d0f264665L,0x2da964ef9b200678L,
  35503. 0x3c351b87009834e6L },
  35504. { 0xafb2ef9fe2c4b44bL,0x580f6c473326790cL,0xb84805210b02264aL,
  35505. 0x8ba6f9e242a194e2L } },
  35506. /* 5 << 203 */
  35507. { { 0xfc87975f8fb54738L,0x3516078827c3ead3L,0x834116d2b74a085aL,
  35508. 0x53c99a73a62fe996L },
  35509. { 0x87585be05b81c51bL,0x925bafa8be0852b7L,0x76a4fafda84d19a7L,
  35510. 0x39a45982585206d4L } },
  35511. /* 6 << 203 */
  35512. { { 0x499b6ab65eb03c0eL,0xf19b795472bc3fdeL,0xa86b5b9c6e3a80d2L,
  35513. 0xe43775086d42819fL },
  35514. { 0xc1663650bb3ee8a3L,0x75eb14fcb132075fL,0xa8ccc9067ad834f6L,
  35515. 0xea6a2474e6e92ffdL } },
  35516. /* 7 << 203 */
  35517. { { 0x9d72fd950f8d6758L,0xcb84e101408c07ddL,0xb9114bfda5e23221L,
  35518. 0x358b5fe2e94e742cL },
  35519. { 0x1c0577ec95f40e75L,0xf01554513d73f3d6L,0x9d55cd67bd1b9b66L,
  35520. 0x63e86e78af8d63c7L } },
  35521. /* 8 << 203 */
  35522. { { 0x39d934abd3c095f1L,0x04b261bee4b76d71L,0x1d2e6970e73e6984L,
  35523. 0x879fb23b5e5fcb11L },
  35524. { 0x11506c72dfd75490L,0x3a97d08561bcf1c1L,0x43201d82bf5e7007L,
  35525. 0x7f0ac52f798232a7L } },
  35526. /* 9 << 203 */
  35527. { { 0x2715cbc46eb564d4L,0x8d6c752c9e570e29L,0xf80247c89ef5fd5dL,
  35528. 0xc3c66b46d53eb514L },
  35529. { 0x9666b4010f87de56L,0xce62c06fc6c603b5L,0xae7b4c607e4fc942L,
  35530. 0x38ac0b77663a9c19L } },
  35531. /* 10 << 203 */
  35532. { { 0xcb4d20ee4b049136L,0x8b63bf12356a4613L,0x1221aef670e08128L,
  35533. 0xe62d8c514acb6b16L },
  35534. { 0x71f64a67379e7896L,0xb25237a2cafd7fa5L,0xf077bd983841ba6aL,
  35535. 0xc4ac02443cd16e7eL } },
  35536. /* 11 << 203 */
  35537. { { 0x548ba86921fea4caL,0xd36d0817f3dfdac1L,0x09d8d71ff4685fafL,
  35538. 0x8eff66bec52c459aL },
  35539. { 0x182faee70b57235eL,0xee3c39b10106712bL,0x5107331fc0fcdcb0L,
  35540. 0x669fb9dca51054baL } },
  35541. /* 12 << 203 */
  35542. { { 0xb25101fb319d7682L,0xb02931290a982feeL,0x51c1c9b90261b344L,
  35543. 0x0e008c5bbfd371faL },
  35544. { 0xd866dd1c0278ca33L,0x666f76a6e5aa53b1L,0xe5cfb7796013a2cfL,
  35545. 0x1d3a1aada3521836L } },
  35546. /* 13 << 203 */
  35547. { { 0xcedd253173faa485L,0xc8ee6c4fc0a76878L,0xddbccfc92a11667dL,
  35548. 0x1a418ea91c2f695aL },
  35549. { 0xdb11bd9251f73971L,0x3e4b3c82da2ed89fL,0x9a44f3f4e73e0319L,
  35550. 0xd1e3de0f303431afL } },
  35551. /* 14 << 203 */
  35552. { { 0x3c5604ff50f75f9cL,0x1d8eddf37e752b22L,0x0ef074dd3c9a1118L,
  35553. 0xd0ffc172ccb86d7bL },
  35554. { 0xabd1ece3037d90f2L,0xe3f307d66055856cL,0x422f93287e4c6dafL,
  35555. 0x902aac66334879a0L } },
  35556. /* 15 << 203 */
  35557. { { 0xb6a1e7bf94cdfadeL,0x6c97e1ed7fc6d634L,0x662ad24da2fb63f8L,
  35558. 0xf81be1b9a5928405L },
  35559. { 0x86d765e4d14b4206L,0xbecc2e0e8fa0db65L,0xa28838e0b17fc76cL,
  35560. 0xe49a602ae37cf24eL } },
  35561. /* 16 << 203 */
  35562. { { 0x76b4131a567193ecL,0xaf3c305ae5f6e70bL,0x9587bd39031eebddL,
  35563. 0x5709def871bbe831L },
  35564. { 0x570599830eb2b669L,0x4d80ce1b875b7029L,0x838a7da80364ac16L,
  35565. 0x2f431d23be1c83abL } },
  35566. /* 17 << 203 */
  35567. { { 0xe56812a6f9294dd3L,0xb448d01f9b4b0d77L,0xf3ae606104e8305cL,
  35568. 0x2bead64594d8c63eL },
  35569. { 0x0a85434d84fd8b07L,0x537b983ff7a9dee5L,0xedcc5f18ef55bd85L,
  35570. 0x2041af6221c6cf8bL } },
  35571. /* 18 << 203 */
  35572. { { 0x8e52874cb940c71eL,0x211935a9db5f4b3aL,0x94350492301b1dc3L,
  35573. 0x33d2646d29958620L },
  35574. { 0x16b0d64bef911404L,0x9d1f25ea9a3c5ef4L,0x20f200eb4a352c78L,
  35575. 0x43929f2c4bd0b428L } },
  35576. /* 19 << 203 */
  35577. { { 0xa5656667c7196e29L,0x7992c2f09391be48L,0xaaa97cbd9ee0cd6eL,
  35578. 0x51b0310c3dc8c9bfL },
  35579. { 0x237f8acfdd9f22cbL,0xbb1d81a1b585d584L,0x8d5d85f58c416388L,
  35580. 0x0d6e5a5a42fe474fL } },
  35581. /* 20 << 203 */
  35582. { { 0xe781276638235d4eL,0x1c62bd67496e3298L,0x8378660c3f175bc8L,
  35583. 0x4d04e18917afdd4dL },
  35584. { 0x32a8160185a8068cL,0xdb58e4e192b29a85L,0xe8a65b86c70d8a3bL,
  35585. 0x5f0e6f4e98a0403bL } },
  35586. /* 21 << 203 */
  35587. { { 0x0812968469ed2370L,0x34dc30bd0871ee26L,0x3a5ce9487c9c5b05L,
  35588. 0x7d487b8043a90c87L },
  35589. { 0x4089ba37dd0e7179L,0x45f80191b4041811L,0x1c3e105898747ba5L,
  35590. 0x98c4e13a6e1ae592L } },
  35591. /* 22 << 203 */
  35592. { { 0xd44636e6e82c9f9eL,0x711db87cc33a1043L,0x6f431263aa8aec05L,
  35593. 0x43ff120d2744a4aaL },
  35594. { 0xd3bd892fae77779bL,0xf0fe0cc98cdc9f82L,0xca5f7fe6f1c5b1bcL,
  35595. 0xcc63a68244929a72L } },
  35596. /* 23 << 203 */
  35597. { { 0xc7eaba0c09dbe19aL,0x2f3585ad6b5c73c2L,0x8ab8924b0ae50c30L,
  35598. 0x17fcd27a638b30baL },
  35599. { 0xaf414d3410b3d5a5L,0x09c107d22a9accf1L,0x15dac49f946a6242L,
  35600. 0xaec3df2ad707d642L } },
  35601. /* 24 << 203 */
  35602. { { 0x2c2492b73f894ae0L,0xf59df3e5b75f18ceL,0x7cb740d28f53cad0L,
  35603. 0x3eb585fbc4f01294L },
  35604. { 0x17da0c8632c7f717L,0xeb8c795baf943f4cL,0x4ee23fb5f67c51d2L,
  35605. 0xef18757568889949L } },
  35606. /* 25 << 203 */
  35607. { { 0xa6b4bdb20389168bL,0xc4ecd258ea577d03L,0x3a63782b55743082L,
  35608. 0x6f678f4cc72f08cdL },
  35609. { 0x553511cf65e58dd8L,0xd53b4e3ed402c0cdL,0x37de3e29a037c14cL,
  35610. 0x86b6c516c05712aaL } },
  35611. /* 26 << 203 */
  35612. { { 0x2834da3eb38dff6fL,0xbe012c52ea636be8L,0x292d238c61dd37f8L,
  35613. 0x0e54523f8f8142dbL },
  35614. { 0xe31eb436036a05d8L,0x83e3cdff1e93c0ffL,0x3fd2fe0f50821ddfL,
  35615. 0xc8e19b0dff9eb33bL } },
  35616. /* 27 << 203 */
  35617. { { 0xc8cc943fb569a5feL,0xad0090d4d4342d75L,0x82090b4bcaeca000L,
  35618. 0xca39687f1bd410ebL },
  35619. { 0xe7bb0df765959d77L,0x39d782189c964999L,0xd87f62e8b2415451L,
  35620. 0xe5efb774bed76108L } },
  35621. /* 28 << 203 */
  35622. { { 0x3ea011a4e822f0d0L,0xbc647ad15a8704f8L,0xbb315b3550c6820fL,
  35623. 0x863dec3db7e76becL },
  35624. { 0x01ff5d3af017bfc7L,0x20054439976b8229L,0x067fca370bbd0d3bL,
  35625. 0xf63dde647f5e3d0fL } },
  35626. /* 29 << 203 */
  35627. { { 0x22dbefb32a4c94e9L,0xafbff0fe96f8278aL,0x80aea0b13503793dL,
  35628. 0xb22380295f06cd29L },
  35629. { 0x65703e578ec3fecaL,0x06c38314393e7053L,0xa0b751eb7c6734c4L,
  35630. 0xd2e8a435c59f0f1eL } },
  35631. /* 30 << 203 */
  35632. { { 0x147d90525e9ca895L,0x2f4dd31e972072dfL,0xa16fda8ee6c6755cL,
  35633. 0xc66826ffcf196558L },
  35634. { 0x1f1a76a30cf43895L,0xa9d604e083c3097bL,0xe190830966390e0eL,
  35635. 0xa50bf753b3c85effL } },
  35636. /* 31 << 203 */
  35637. { { 0x0696bddef6a70251L,0x548b801b3c6ab16aL,0x37fcf704a4d08762L,
  35638. 0x090b3defdff76c4eL },
  35639. { 0x87e8cb8969cb9158L,0x44a90744995ece43L,0xf85395f40ad9fbf5L,
  35640. 0x49b0f6c54fb0c82dL } },
  35641. /* 32 << 203 */
  35642. { { 0x75d9bc15adf7cccfL,0x81a3e5d6dfa1e1b0L,0x8c39e444249bc17eL,
  35643. 0xf37dccb28ea7fd43L },
  35644. { 0xda654873907fba12L,0x35daa6da4a372904L,0x0564cfc66283a6c5L,
  35645. 0xd09fa4f64a9395bfL } },
  35646. /* 33 << 203 */
  35647. { { 0x688e9ec9aeb19a36L,0xd913f1cec7bfbfb4L,0x797b9a3c61c2faa6L,
  35648. 0x2f979bec6a0a9c12L },
  35649. { 0xb5969d0f359679ecL,0xebcf523d079b0460L,0xfd6b000810fab870L,
  35650. 0x3f2edcda9373a39cL } },
  35651. /* 34 << 203 */
  35652. { { 0x0d64f9a76f568431L,0xf848c27c02f8898cL,0xf418ade1260b5bd5L,
  35653. 0xc1f3e3236973dee8L },
  35654. { 0x46e9319c26c185ddL,0x6d85b7d8546f0ac4L,0x427965f2247f9d57L,
  35655. 0xb519b636b0035f48L } },
  35656. /* 35 << 203 */
  35657. { { 0x6b6163a9ab87d59cL,0xff9f58c339caaa11L,0x4ac39cde3177387bL,
  35658. 0x5f6557c2873e77f9L },
  35659. { 0x6750400636a83041L,0x9b1c96ca75ef196cL,0xf34283deb08c7940L,
  35660. 0x7ea096441128c316L } },
  35661. /* 36 << 203 */
  35662. { { 0xb510b3b56aa39dffL,0x59b43da29f8e4d8cL,0xa8ce31fd9e4c4b9fL,
  35663. 0x0e20be26c1303c01L },
  35664. { 0x18187182e8ee47c9L,0xd9687cdb7db98101L,0x7a520e4da1e14ff6L,
  35665. 0x429808ba8836d572L } },
  35666. /* 37 << 203 */
  35667. { { 0xa37ca60d4944b663L,0xf901f7a9a3f91ae5L,0xe4e3e76e9e36e3b1L,
  35668. 0x9aa219cf29d93250L },
  35669. { 0x347fe275056a2512L,0xa4d643d9de65d95cL,0x9669d396699fc3edL,
  35670. 0xb598dee2cf8c6bbeL } },
  35671. /* 38 << 203 */
  35672. { { 0x682ac1e5dda9e5c6L,0x4e0d3c72caa9fc95L,0x17faaade772bea44L,
  35673. 0x5ef8428cab0009c8L },
  35674. { 0xcc4ce47a460ff016L,0xda6d12bf725281cbL,0x44c678480223aad2L,
  35675. 0x6e342afa36256e28L } },
  35676. /* 39 << 203 */
  35677. { { 0x1400bb0b93a37c04L,0x62b1bc9bdd10bd96L,0x7251adeb0dac46b7L,
  35678. 0x7d33b92e7be4ef51L },
  35679. { 0x28b2a94be61fa29aL,0x4b2be13f06422233L,0x36d6d062330d8d37L,
  35680. 0x5ef80e1eb28ca005L } },
  35681. /* 40 << 203 */
  35682. { { 0x174d46996d16768eL,0x9fc4ff6a628bf217L,0x77705a94154e490dL,
  35683. 0x9d96dd288d2d997aL },
  35684. { 0x77e2d9d8ce5d72c4L,0x9d06c5a4c11c714fL,0x02aa513679e4a03eL,
  35685. 0x1386b3c2030ff28bL } },
  35686. /* 41 << 203 */
  35687. { { 0xfe82e8a6fb283f61L,0x7df203e5f3abc3fbL,0xeec7c3513a4d3622L,
  35688. 0xf7d17dbfdf762761L },
  35689. { 0xc3956e44522055f0L,0xde3012db8fa748dbL,0xca9fcb63bf1dcc14L,
  35690. 0xa56d9dcfbe4e2f3aL } },
  35691. /* 42 << 203 */
  35692. { { 0xb86186b68bcec9c2L,0x7cf24df9680b9f06L,0xc46b45eac0d29281L,
  35693. 0xfff42bc507b10e12L },
  35694. { 0x12263c404d289427L,0x3d5f1899b4848ec4L,0x11f97010d040800cL,
  35695. 0xb4c5f529300feb20L } },
  35696. /* 43 << 203 */
  35697. { { 0xcc543f8fde94fdcbL,0xe96af739c7c2f05eL,0xaa5e0036882692e1L,
  35698. 0x09c75b68950d4ae9L },
  35699. { 0x62f63df2b5932a7aL,0x2658252ede0979adL,0x2a19343fb5e69631L,
  35700. 0x718c7501525b666bL } },
  35701. /* 44 << 203 */
  35702. { { 0x26a42d69ea40dc3aL,0xdc84ad22aecc018fL,0x25c36c7b3270f04aL,
  35703. 0x46ba6d4750fa72edL },
  35704. { 0x6c37d1c593e58a8eL,0xa2394731120c088cL,0xc3be4263cb6e86daL,
  35705. 0x2c417d367126d038L } },
  35706. /* 45 << 203 */
  35707. { { 0x5b70f9c58b6f8efaL,0x671a2faa37718536L,0xd3ced3c6b539c92bL,
  35708. 0xe56f1bd9a31203c2L },
  35709. { 0x8b096ec49ff3c8ebL,0x2deae43243491ceaL,0x2465c6eb17943794L,
  35710. 0x5d267e6620586843L } },
  35711. /* 46 << 203 */
  35712. { { 0x9d3d116db07159d0L,0xae07a67fc1896210L,0x8fc84d87bb961579L,
  35713. 0x30009e491c1f8dd6L },
  35714. { 0x8a8caf22e3132819L,0xcffa197cf23ab4ffL,0x58103a44205dd687L,
  35715. 0x57b796c30ded67a2L } },
  35716. /* 47 << 203 */
  35717. { { 0x0b9c3a6ca1779ad7L,0xa33cfe2e357c09c5L,0x2ea293153db4a57eL,
  35718. 0x919596958ebeb52eL },
  35719. { 0x118db9a6e546c879L,0x8e996df46295c8d6L,0xdd99048455ec806bL,
  35720. 0x24f291ca165c1035L } },
  35721. /* 48 << 203 */
  35722. { { 0xcca523bb440e2229L,0x324673a273ef4d04L,0xaf3adf343e11ec39L,
  35723. 0x6136d7f1dc5968d3L },
  35724. { 0x7a7b2899b053a927L,0x3eaa2661ae067ecdL,0x8549b9c802779cd9L,
  35725. 0x061d7940c53385eaL } },
  35726. /* 49 << 203 */
  35727. { { 0x3e0ba883f06d18bdL,0x4ba6de53b2700843L,0xb966b668591a9e4dL,
  35728. 0x93f675677f4fa0edL },
  35729. { 0x5a02711b4347237bL,0xbc041e2fe794608eL,0x55af10f570f73d8cL,
  35730. 0xd2d4d4f7bb7564f7L } },
  35731. /* 50 << 203 */
  35732. { { 0xd7d27a89b3e93ce7L,0xf7b5a8755d3a2c1bL,0xb29e68a0255b218aL,
  35733. 0xb533837e8af76754L },
  35734. { 0xd1b05a73579fab2eL,0xb41055a1ecd74385L,0xb2369274445e9115L,
  35735. 0x2972a7c4f520274eL } },
  35736. /* 51 << 203 */
  35737. { { 0x6c08334ef678e68aL,0x4e4160f099b057edL,0x3cfe11b852ccb69aL,
  35738. 0x2fd1823a21c8f772L },
  35739. { 0xdf7f072f3298f055L,0x8c0566f9fec74a6eL,0xe549e0195bb4d041L,
  35740. 0x7c3930ba9208d850L } },
  35741. /* 52 << 203 */
  35742. { { 0xe07141fcaaa2902bL,0x539ad799e4f69ad3L,0xa6453f94813f9ffdL,
  35743. 0xc58d3c48375bc2f7L },
  35744. { 0xb3326fad5dc64e96L,0x3aafcaa9b240e354L,0x1d1b0903aca1e7a9L,
  35745. 0x4ceb97671211b8a0L } },
  35746. /* 53 << 203 */
  35747. { { 0xeca83e49e32a858eL,0x4c32892eae907badL,0xd5b42ab62eb9b494L,
  35748. 0x7fde3ee21eabae1bL },
  35749. { 0x13b5ab09caf54957L,0xbfb028bee5f5d5d5L,0x928a06502003e2c0L,
  35750. 0x90793aac67476843L } },
  35751. /* 54 << 203 */
  35752. { { 0x5e942e79c81710a0L,0x557e4a3627ccadd4L,0x72a2bc564bcf6d0cL,
  35753. 0x09ee5f4326d7b80cL },
  35754. { 0x6b70dbe9d4292f19L,0x56f74c2663f16b18L,0xc23db0f735fbb42aL,
  35755. 0xb606bdf66ae10040L } },
  35756. /* 55 << 203 */
  35757. { { 0x1eb15d4d044573acL,0x7dc3cf86556b0ba4L,0x97af9a33c60df6f7L,
  35758. 0x0b1ef85ca716ce8cL },
  35759. { 0x2922f884c96958beL,0x7c32fa9435690963L,0x2d7f667ceaa00061L,
  35760. 0xeaaf7c173547365cL } },
  35761. /* 56 << 203 */
  35762. { { 0x1eb4de4687032d58L,0xc54f3d835e2c79e0L,0x07818df45d04ef23L,
  35763. 0x55faa9c8673d41b4L },
  35764. { 0xced64f6f89b95355L,0x4860d2eab7415c84L,0x5fdb9bd2050ebad3L,
  35765. 0xdb53e0cc6685a5bfL } },
  35766. /* 57 << 203 */
  35767. { { 0xb830c0319feb6593L,0xdd87f3106accff17L,0x2303ebab9f555c10L,
  35768. 0x94603695287e7065L },
  35769. { 0xf88311c32e83358cL,0x508dd9b4eefb0178L,0x7ca237062dba8652L,
  35770. 0x62aac5a30047abe5L } },
  35771. /* 58 << 203 */
  35772. { { 0x9a61d2a08b1ea7b3L,0xd495ab63ae8b1485L,0x38740f8487052f99L,
  35773. 0x178ebe5bb2974eeaL },
  35774. { 0x030bbcca5b36d17fL,0xb5e4cce3aaf86eeaL,0xb51a022068f8e9e0L,
  35775. 0xa434879609eb3e75L } },
  35776. /* 59 << 203 */
  35777. { { 0xbe592309eef1a752L,0x5d7162d76f2aa1edL,0xaebfb5ed0f007dd2L,
  35778. 0x255e14b2c89edd22L },
  35779. { 0xba85e0720303b697L,0xc5d17e25f05720ffL,0x02b58d6e5128ebb6L,
  35780. 0x2c80242dd754e113L } },
  35781. /* 60 << 203 */
  35782. { { 0x919fca5fabfae1caL,0x937afaac1a21459bL,0x9e0ca91c1f66a4d2L,
  35783. 0x194cc7f323ec1331L },
  35784. { 0xad25143a8aa11690L,0xbe40ad8d09b59e08L,0x37d60d9be750860aL,
  35785. 0x6c53b008c6bf434cL } },
  35786. /* 61 << 203 */
  35787. { { 0xb572415d1356eb80L,0xb8bf9da39578ded8L,0x22658e365e8fb38bL,
  35788. 0x9b70ce225af8cb22L },
  35789. { 0x7c00018a829a8180L,0x84329f93b81ed295L,0x7c343ea25f3cea83L,
  35790. 0x38f8655f67586536L } },
  35791. /* 62 << 203 */
  35792. { { 0xa661a0d01d3ec517L,0x98744652512321aeL,0x084ca591eca92598L,
  35793. 0xa9bb9dc91dcb3febL },
  35794. { 0x14c5435578b4c240L,0x5ed62a3b610cafdcL,0x07512f371b38846bL,
  35795. 0x571bb70ab0e38161L } },
  35796. /* 63 << 203 */
  35797. { { 0xb556b95b2da705d2L,0x3ef8ada6b1a08f98L,0x85302ca7ddecfbe5L,
  35798. 0x0e530573943105cdL },
  35799. { 0x60554d5521a9255dL,0x63a32fa1f2f3802aL,0x35c8c5b0cd477875L,
  35800. 0x97f458ea6ad42da1L } },
  35801. /* 64 << 203 */
  35802. { { 0x832d7080eb6b242dL,0xd30bd0233b71e246L,0x7027991bbe31139dL,
  35803. 0x68797e91462e4e53L },
  35804. { 0x423fe20a6b4e185aL,0x82f2c67e42d9b707L,0x25c817684cf7811bL,
  35805. 0xbd53005e045bb95dL } },
  35806. /* 0 << 210 */
  35807. { { 0x00, 0x00, 0x00, 0x00 },
  35808. { 0x00, 0x00, 0x00, 0x00 } },
  35809. /* 1 << 210 */
  35810. { { 0xe5f649be9d8e68fdL,0xdb0f05331b044320L,0xf6fde9b3e0c33398L,
  35811. 0x92f4209b66c8cfaeL },
  35812. { 0xe9d1afcc1a739d4bL,0x09aea75fa28ab8deL,0x14375fb5eac6f1d0L,
  35813. 0x6420b560708f7aa5L } },
  35814. /* 2 << 210 */
  35815. { { 0x9eae499c6254dc41L,0x7e2939247a837e7eL,0x74aec08c090524a7L,
  35816. 0xf82b92198d6f55f2L },
  35817. { 0x493c962e1402cec5L,0x9f17ca17fa2f30e7L,0xbcd783e8e9b879cbL,
  35818. 0xea3d8c145a6f145fL } },
  35819. /* 3 << 210 */
  35820. { { 0xdede15e75e0dee6eL,0x74f24872dc628aa2L,0xd3e9c4fe7861bb93L,
  35821. 0x56d4822a6187b2e0L },
  35822. { 0xb66417cfc59826f9L,0xca2609692408169eL,0xedf69d06c79ef885L,
  35823. 0x00031f8adc7d138fL } },
  35824. /* 4 << 210 */
  35825. { { 0x103c46e60ebcf726L,0x4482b8316231470eL,0x6f6dfaca487c2109L,
  35826. 0x2e0ace9762e666efL },
  35827. { 0x3246a9d31f8d1f42L,0x1b1e83f1574944d2L,0x13dfa63aa57f334bL,
  35828. 0x0cf8daed9f025d81L } },
  35829. /* 5 << 210 */
  35830. { { 0x30d78ea800ee11c1L,0xeb053cd4b5e3dd75L,0x9b65b13ed58c43c5L,
  35831. 0xc3ad49bdbd151663L },
  35832. { 0x99fd8e41b6427990L,0x12cf15bd707eae1eL,0x29ad4f1b1aabb71eL,
  35833. 0x5143e74d07545d0eL } },
  35834. /* 6 << 210 */
  35835. { { 0x30266336c88bdee1L,0x25f293065876767cL,0x9c078571c6731996L,
  35836. 0xc88690b2ed552951L },
  35837. { 0x274f2c2d852705b4L,0xb0bf8d444e09552dL,0x7628beeb986575d1L,
  35838. 0x407be2387f864651L } },
  35839. /* 7 << 210 */
  35840. { { 0x0e5e3049a639fc6bL,0xe75c35d986003625L,0x0cf35bd85dcc1646L,
  35841. 0x8bcaced26c26273aL },
  35842. { 0xe22ecf1db5536742L,0x013dd8971a9e068bL,0x17f411cb8a7909c5L,
  35843. 0x5757ac98861dd506L } },
  35844. /* 8 << 210 */
  35845. { { 0x85de1f0d1e935abbL,0xdefd10b4154de37aL,0xb8d9e392369cebb5L,
  35846. 0x54d5ef9b761324beL },
  35847. { 0x4d6341ba74f17e26L,0xc0a0e3c878c1dde4L,0xa6d7758187d918fdL,
  35848. 0x6687601502ca3a13L } },
  35849. /* 9 << 210 */
  35850. { { 0xc7313e9cf36658f0L,0xc433ef1c71f8057eL,0x853262461b6a835aL,
  35851. 0xc8f053987c86394cL },
  35852. { 0xff398cdfe983c4a1L,0xbf5e816203b7b931L,0x93193c46b7b9045bL,
  35853. 0x1e4ebf5da4a6e46bL } },
  35854. /* 10 << 210 */
  35855. { { 0xf9942a6043a24fe7L,0x29c1191effb3492bL,0x9f662449902fde05L,
  35856. 0xc792a7ac6713c32dL },
  35857. { 0x2fd88ad8b737982cL,0x7e3a0319a21e60e3L,0x09b0de447383591aL,
  35858. 0x6df141ee8310a456L } },
  35859. /* 11 << 210 */
  35860. { { 0xaec1a039e6d6f471L,0x14b2ba0f1198d12eL,0xebc1a1603aeee5acL,
  35861. 0x401f4836e0b964ceL },
  35862. { 0x2ee437964fd03f66L,0x3fdb4e49dd8f3f12L,0x6ef267f629380f18L,
  35863. 0x3e8e96708da64d16L } },
  35864. /* 12 << 210 */
  35865. { { 0xbc19180c207674f1L,0x112e09a733ae8fdbL,0x996675546aaeb71eL,
  35866. 0x79432af1e101b1c7L },
  35867. { 0xd5eb558fde2ddec6L,0x81392d1f5357753fL,0xa7a76b973ae1158aL,
  35868. 0x416fbbff4a899991L } },
  35869. /* 13 << 210 */
  35870. { { 0x9e65fdfd0d4a9dcfL,0x7bc29e48944ddf12L,0xbc1a92d93c856866L,
  35871. 0x273c69056e98dfe2L },
  35872. { 0x69fce418cdfaa6b8L,0x606bd8235061c69fL,0x42d495a06af75e27L,
  35873. 0x8ed3d5056d873a1fL } },
  35874. /* 14 << 210 */
  35875. { { 0xaf5528416ab25b6aL,0xc6c0ffc72b1a4523L,0xab18827b21c99e03L,
  35876. 0x060e86489034691bL },
  35877. { 0x5207f90f93c7f398L,0x9f4a96cb82f8d10bL,0xdd71cd793ad0f9e3L,
  35878. 0x84f435d2fc3a54f5L } },
  35879. /* 15 << 210 */
  35880. { { 0x4b03c55b8e33787fL,0xef42f975a6384673L,0xff7304f75051b9f0L,
  35881. 0x18aca1dc741c87c2L },
  35882. { 0x56f120a72d4bfe80L,0xfd823b3d053e732cL,0x11bccfe47537ca16L,
  35883. 0xdf6c9c741b5a996bL } },
  35884. /* 16 << 210 */
  35885. { { 0xee7332c7904fc3faL,0x14a23f45c7e3636aL,0xc38659c3f091d9aaL,
  35886. 0x4a995e5db12d8540L },
  35887. { 0x20a53becf3a5598aL,0x56534b17b1eaa995L,0x9ed3dca4bf04e03cL,
  35888. 0x716c563ad8d56268L } },
  35889. /* 17 << 210 */
  35890. { { 0x27ba77a41d6178e7L,0xe4c80c4068a1ff8eL,0x750110990a13f63dL,
  35891. 0x7bf33521a61d46f3L },
  35892. { 0x0aff218e10b365bbL,0x810218040fd7ea75L,0x05a3fd8aa4b3a925L,
  35893. 0xb829e75f9b3db4e6L } },
  35894. /* 18 << 210 */
  35895. { { 0x6bdc75a54d53e5fbL,0x04a5dc02d52717e3L,0x86af502fe9a42ec2L,
  35896. 0x8867e8fb2630e382L },
  35897. { 0xbf845c6ebec9889bL,0x54f491f2cb47c98dL,0xa3091fba790c2a12L,
  35898. 0xd7f6fd78c20f708bL } },
  35899. /* 19 << 210 */
  35900. { { 0xa569ac30acde5e17L,0xd0f996d06852b4d7L,0xe51d4bb54609ae54L,
  35901. 0x3fa37d170daed061L },
  35902. { 0x62a8868434b8fb41L,0x99a2acbd9efb64f1L,0xb75c1a5e6448e1f2L,
  35903. 0xfa99951a42b5a069L } },
  35904. /* 20 << 210 */
  35905. { { 0x6d956e892f3b26e7L,0xf4709860da875247L,0x3ad151792482dda3L,
  35906. 0xd64110e3017d82f0L },
  35907. { 0x14928d2cfad414e4L,0x2b155f582ed02b24L,0x481a141bcb821bf1L,
  35908. 0x12e3c7704f81f5daL } },
  35909. /* 21 << 210 */
  35910. { { 0xe49c5de59fff8381L,0x110532325bbec894L,0xa0d051cc454d88c4L,
  35911. 0x4f6db89c1f8e531bL },
  35912. { 0x34fe3fd6ca563a44L,0x7f5c221558da8ab9L,0x8445016d9474f0a1L,
  35913. 0x17d34d61cb7d8a0aL } },
  35914. /* 22 << 210 */
  35915. { { 0x8e9d39101c474019L,0xcaff2629d52ceefbL,0xf9cf3e32c1622c2bL,
  35916. 0xd4b95e3ce9071a05L },
  35917. { 0xfbbca61f1594438cL,0x1eb6e6a604aadedfL,0x853027f468e14940L,
  35918. 0x221d322adfabda9cL } },
  35919. /* 23 << 210 */
  35920. { { 0xed8ea9f6b7cb179aL,0xdc7b764db7934dccL,0xfcb139405e09180dL,
  35921. 0x6629a6bfb47dc2ddL },
  35922. { 0xbfc55e4e9f5a915eL,0xb1db9d376204441eL,0xf82d68cf930c5f53L,
  35923. 0x17d3a142cbb605b1L } },
  35924. /* 24 << 210 */
  35925. { { 0xdd5944ea308780f2L,0xdc8de7613845f5e4L,0x6beaba7d7624d7a3L,
  35926. 0x1e709afd304df11eL },
  35927. { 0x9536437602170456L,0xbf204b3ac8f94b64L,0x4e53af7c5680ca68L,
  35928. 0x0526074ae0c67574L } },
  35929. /* 25 << 210 */
  35930. { { 0x95d8cef8ecd92af6L,0xe6b9fa7a6cd1745aL,0x3d546d3da325c3e4L,
  35931. 0x1f57691d9ae93aaeL },
  35932. { 0xe891f3fe9d2e1a33L,0xd430093fac063d35L,0xeda59b125513a327L,
  35933. 0xdc2134f35536f18fL } },
  35934. /* 26 << 210 */
  35935. { { 0xaa51fe2c5c210286L,0x3f68aaee1cab658cL,0x5a23a00bf9357292L,
  35936. 0x9a626f397efdabedL },
  35937. { 0xfe2b3bf3199d78e3L,0xb7a2af7771bbc345L,0x3d19827a1e59802cL,
  35938. 0x823bbc15b487a51cL } },
  35939. /* 27 << 210 */
  35940. { { 0x856139f299d0a422L,0x9ac3df65f456c6fbL,0xaddf65c6701f8bd6L,
  35941. 0x149f321e3758df87L },
  35942. { 0xb1ecf714721b7ebaL,0xe17df09831a3312aL,0xdb2fd6ecd5c4d581L,
  35943. 0xfd02996f8fcea1b3L } },
  35944. /* 28 << 210 */
  35945. { { 0xe29fa63e7882f14fL,0xc9f6dc3507c6cadcL,0x46f22d6fb882bed0L,
  35946. 0x1a45755bd118e52cL },
  35947. { 0x9f2c7c277c4608cfL,0x7ccbdf32568012c2L,0xfcb0aedd61729b0eL,
  35948. 0x7ca2ca9ef7d75dbfL } },
  35949. /* 29 << 210 */
  35950. { { 0xf58fecb16f640f62L,0xe274b92b39f51946L,0x7f4dfc046288af44L,
  35951. 0x0a91f32aeac329e5L },
  35952. { 0x43ad274bd6aaba31L,0x719a16400f6884f9L,0x685d29f6daf91e20L,
  35953. 0x5ec1cc3327e49d52L } },
  35954. /* 30 << 210 */
  35955. { { 0x38f4de963b54a059L,0x0e0015e5efbcfdb3L,0x177d23d94dbb8da6L,
  35956. 0x98724aa297a617adL },
  35957. { 0x30f0885bfdb6558eL,0xf9f7a28ac7899a96L,0xd2ae8ac8872dc112L,
  35958. 0xfa0642ca73c3c459L } },
  35959. /* 31 << 210 */
  35960. { { 0x15296981e7dfc8d6L,0x67cd44501fb5b94aL,0x0ec71cf10eddfd37L,
  35961. 0xc7e5eeb39a8eddc7L },
  35962. { 0x02ac8e3d81d95028L,0x0088f17270b0e35dL,0xec041fabe1881fe3L,
  35963. 0x62cf71b8d99e7faaL } },
  35964. /* 32 << 210 */
  35965. { { 0x5043dea7e0f222c2L,0x309d42ac72e65142L,0x94fe9ddd9216cd30L,
  35966. 0xd6539c7d0f87feecL },
  35967. { 0x03c5a57c432ac7d7L,0x72692cf0327fda10L,0xec28c85f280698deL,
  35968. 0x2331fb467ec283b1L } },
  35969. /* 33 << 210 */
  35970. { { 0xd34bfa322867e633L,0x78709a820a9cc815L,0xb7fe6964875e2fa5L,
  35971. 0x25cc064f9e98bfb5L },
  35972. { 0x9eb0151c493a65c5L,0x5fb5d94153182464L,0x69e6f130f04618e2L,
  35973. 0xa8ecec22f89c8ab6L } },
  35974. /* 34 << 210 */
  35975. { { 0xcd6ac88bb96209bdL,0x65fa8cdbb3e1c9e0L,0xa47d22f54a8d8eacL,
  35976. 0x83895cdf8d33f963L },
  35977. { 0xa8adca59b56cd3d1L,0x10c8350bdaf38232L,0x2b161fb3a5080a9fL,
  35978. 0xbe7f5c643af65b3aL } },
  35979. /* 35 << 210 */
  35980. { { 0x2c75403997403a11L,0x94626cf7121b96afL,0x431de7c46a983ec2L,
  35981. 0x3780dd3a52cc3df7L },
  35982. { 0xe28a0e462baf8e3bL,0xabe68aad51d299aeL,0x603eb8f9647a2408L,
  35983. 0x14c61ed65c750981L } },
  35984. /* 36 << 210 */
  35985. { { 0x88b34414c53352e7L,0x5a34889c1337d46eL,0x612c1560f95f2bc8L,
  35986. 0x8a3f8441d4807a3aL },
  35987. { 0x680d9e975224da68L,0x60cd6e88c3eb00e9L,0x3875a98e9a6bc375L,
  35988. 0xdc80f9244fd554c2L } },
  35989. /* 37 << 210 */
  35990. { { 0x6c4b34156ac77407L,0xa1e5ea8f25420681L,0x541bfa144607a458L,
  35991. 0x5dbc7e7a96d7fbf9L },
  35992. { 0x646a851b31590a47L,0x039e85ba15ee6df8L,0xd19fa231d7b43fc0L,
  35993. 0x84bc8be8299a0e04L } },
  35994. /* 38 << 210 */
  35995. { { 0x2b9d2936f20df03aL,0x240543828608d472L,0x76b6ba049149202aL,
  35996. 0xb21c38313670e7b7L },
  35997. { 0xddd93059d6fdee10L,0x9da47ad378488e71L,0x99cc1dfda0fcfb25L,
  35998. 0x42abde1064696954L } },
  35999. /* 39 << 210 */
  36000. { { 0x14cc15fc17eab9feL,0xd6e863e4d3e70972L,0x29a7765c6432112cL,
  36001. 0x886600015b0774d8L },
  36002. { 0x3729175a2c088eaeL,0x13afbcae8230b8d4L,0x44768151915f4379L,
  36003. 0xf086431ad8d22812L } },
  36004. /* 40 << 210 */
  36005. { { 0x37461955c298b974L,0x905fb5f0f8711e04L,0x787abf3afe969d18L,
  36006. 0x392167c26f6a494eL },
  36007. { 0xfc7a0d2d28c511daL,0xf127c7dcb66a262dL,0xf9c4bb95fd63fdf0L,
  36008. 0x900165893913ef46L } },
  36009. /* 41 << 210 */
  36010. { { 0x74d2a73c11aa600dL,0x2f5379bd9fb5ab52L,0xe49e53a47fb70068L,
  36011. 0x68dd39e5404aa9a7L },
  36012. { 0xb9b0cf572ecaa9c3L,0xba0e103be824826bL,0x60c2198b4631a3c4L,
  36013. 0xc5ff84abfa8966a2L } },
  36014. /* 42 << 210 */
  36015. { { 0x2d6ebe22ac95aff8L,0x1c9bb6dbb5a46d09L,0x419062da53ee4f8dL,
  36016. 0x7b9042d0bb97efefL },
  36017. { 0x0f87f080830cf6bdL,0x4861d19a6ec8a6c6L,0xd3a0daa1202f01aaL,
  36018. 0xb0111674f25afbd5L } },
  36019. /* 43 << 210 */
  36020. { { 0x6d00d6cf1afb20d9L,0x1369500040671bc5L,0x913ab0dc2485ea9bL,
  36021. 0x1f2bed069eef61acL },
  36022. { 0x850c82176d799e20L,0x93415f373271c2deL,0x5afb06e96c4f5910L,
  36023. 0x688a52dfc4e9e421L } },
  36024. /* 44 << 210 */
  36025. { { 0x30495ba3e2a9a6dbL,0x4601303d58f9268bL,0xbe3b0dad7eb0f04fL,
  36026. 0x4ea472504456936dL },
  36027. { 0x8caf8798d33fd3e7L,0x1ccd8a89eb433708L,0x9effe3e887fd50adL,
  36028. 0xbe240a566b29c4dfL } },
  36029. /* 45 << 210 */
  36030. { { 0xec4ffd98ca0e7ebdL,0xf586783ae748616eL,0xa5b00d8fc77baa99L,
  36031. 0x0acada29b4f34c9cL },
  36032. { 0x36dad67d0fe723acL,0x1d8e53a539c36c1eL,0xe4dd342d1f4bea41L,
  36033. 0x64fd5e35ebc9e4e0L } },
  36034. /* 46 << 210 */
  36035. { { 0x96f01f9057908805L,0xb5b9ea3d5ed480ddL,0x366c5dc23efd2dd0L,
  36036. 0xed2fe3056e9dfa27L },
  36037. { 0x4575e8926e9197e2L,0x11719c09ab502a5dL,0x264c7bece81f213fL,
  36038. 0x741b924155f5c457L } },
  36039. /* 47 << 210 */
  36040. { { 0x78ac7b6849a5f4f4L,0xf91d70a29fc45b7dL,0x39b05544b0f5f355L,
  36041. 0x11f06bceeef930d9L },
  36042. { 0xdb84d25d038d05e1L,0x04838ee5bacc1d51L,0x9da3ce869e8ee00bL,
  36043. 0xc3412057c36eda1fL } },
  36044. /* 48 << 210 */
  36045. { { 0xae80b91364d9c2f4L,0x7468bac3a010a8ffL,0xdfd2003737359d41L,
  36046. 0x1a0f5ab815efeaccL },
  36047. { 0x7c25ad2f659d0ce0L,0x4011bcbb6785cff1L,0x128b99127e2192c7L,
  36048. 0xa549d8e113ccb0e8L } },
  36049. /* 49 << 210 */
  36050. { { 0x805588d8c85438b1L,0x5680332dbc25cb27L,0xdcd1bc961a4bfdf4L,
  36051. 0x779ff428706f6566L },
  36052. { 0x8bbee998f059987aL,0xf6ce8cf2cc686de7L,0xf8ad3c4a953cfdb2L,
  36053. 0xd1d426d92205da36L } },
  36054. /* 50 << 210 */
  36055. { { 0xb3c0f13fc781a241L,0x3e89360ed75362a8L,0xccd05863c8a91184L,
  36056. 0x9bd0c9b7efa8a7f4L },
  36057. { 0x97ee4d538a912a4bL,0xde5e15f8bcf518fdL,0x6a055bf8c467e1e0L,
  36058. 0x10be4b4b1587e256L } },
  36059. /* 51 << 210 */
  36060. { { 0xd90c14f2668621c9L,0xd5518f51ab9c92c1L,0x8e6a0100d6d47b3cL,
  36061. 0xcbe980dd66716175L },
  36062. { 0x500d3f10ddd83683L,0x3b6cb35d99cac73cL,0x53730c8b6083d550L,
  36063. 0xcf159767df0a1987L } },
  36064. /* 52 << 210 */
  36065. { { 0x84bfcf5343ad73b3L,0x1b528c204f035a94L,0x4294edf733eeac69L,
  36066. 0xb6283e83817f3240L },
  36067. { 0xc3fdc9590a5f25b1L,0xefaf8aa55844ee22L,0xde269ba5dbdde4deL,
  36068. 0xe3347160c56133bfL } },
  36069. /* 53 << 210 */
  36070. { { 0xc11842198d9ea9f8L,0x090de5dbf3fc1ab5L,0x404c37b10bf22cdaL,
  36071. 0x7de20ec8f5618894L },
  36072. { 0x754c588eecdaecabL,0x6ca4b0ed88342743L,0x76f08bddf4a938ecL,
  36073. 0xd182de8991493ccbL } },
  36074. /* 54 << 210 */
  36075. { { 0xd652c53ec8a4186aL,0xb3e878db946d8e33L,0x088453c05f37663cL,
  36076. 0x5cd9daaab407748bL },
  36077. { 0xa1f5197f586d5e72L,0x47500be8c443ca59L,0x78ef35b2e2652424L,
  36078. 0x09c5d26f6dd7767dL } },
  36079. /* 55 << 210 */
  36080. { { 0x7175a79aa74d3f7bL,0x0428fd8dcf5ea459L,0x511cb97ca5d1746dL,
  36081. 0x36363939e71d1278L },
  36082. { 0xcf2df95510350bf4L,0xb381743960aae782L,0xa748c0e43e688809L,
  36083. 0x98021fbfd7a5a006L } },
  36084. /* 56 << 210 */
  36085. { { 0x9076a70c0e367a98L,0xbea1bc150f62b7c2L,0x2645a68c30fe0343L,
  36086. 0xacaffa78699dc14fL },
  36087. { 0xf4469964457bf9c4L,0x0db6407b0d2ead83L,0x68d56cadb2c6f3ebL,
  36088. 0x3b512e73f376356cL } },
  36089. /* 57 << 210 */
  36090. { { 0xe43b0e1ffce10408L,0x89ddc0035a5e257dL,0xb0ae0d120362e5b3L,
  36091. 0x07f983c7b0519161L },
  36092. { 0xc2e94d155d5231e7L,0xcff22aed0b4f9513L,0xb02588dd6ad0b0b5L,
  36093. 0xb967d1ac11d0dcd5L } },
  36094. /* 58 << 210 */
  36095. { { 0x8dac6bc6cf777b6cL,0x0062bdbd4c6d1959L,0x53da71b50ef5cc85L,
  36096. 0x07012c7d4006f14fL },
  36097. { 0x4617f962ac47800dL,0x53365f2bc102ed75L,0xb422efcb4ab8c9d3L,
  36098. 0x195cb26b34af31c9L } },
  36099. /* 59 << 210 */
  36100. { { 0x3a926e2905f2c4ceL,0xbd2bdecb9856966cL,0x5d16ab3a85527015L,
  36101. 0x9f81609e4486c231L },
  36102. { 0xd8b96b2cda350002L,0xbd054690fa1b7d36L,0xdc90ebf5e71d79bcL,
  36103. 0xf241b6f908964e4eL } },
  36104. /* 60 << 210 */
  36105. { { 0x7c8386432fe3cd4cL,0xe0f33acbb4bc633cL,0xb4a9ecec3d139f1fL,
  36106. 0x05ce69cddc4a1f49L },
  36107. { 0xa19d1b16f5f98aafL,0x45bb71d66f23e0efL,0x33789fcd46cdfdd3L,
  36108. 0x9b8e2978cee040caL } },
  36109. /* 61 << 210 */
  36110. { { 0x9c69b246ae0a6828L,0xba533d247078d5aaL,0x7a2e42c07bb4fbdbL,
  36111. 0xcfb4879a7035385cL },
  36112. { 0x8c3dd30b3281705bL,0x7e361c6c404fe081L,0x7b21649c3f604edfL,
  36113. 0x5dbf6a3fe52ffe47L } },
  36114. /* 62 << 210 */
  36115. { { 0xc41b7c234b54d9bfL,0x1374e6813511c3d9L,0x1863bf16c1b2b758L,
  36116. 0x90e785071e9e6a96L },
  36117. { 0xab4bf98d5d86f174L,0xd74e0bd385e96fe4L,0x8afde39fcac5d344L,
  36118. 0x90946dbcbd91b847L } },
  36119. /* 63 << 210 */
  36120. { { 0xf5b42358fe1a838cL,0x05aae6c5620ac9d8L,0x8e193bd8a1ce5a0bL,
  36121. 0x8f7105714dabfd72L },
  36122. { 0x8d8fdd48182caaacL,0x8c4aeefa040745cfL,0x73c6c30af3b93e6dL,
  36123. 0x991241f316f42011L } },
  36124. /* 64 << 210 */
  36125. { { 0xa0158eeae457a477L,0xd19857dbee6ddc05L,0xb326522418c41671L,
  36126. 0x3ffdfc7e3c2c0d58L },
  36127. { 0x3a3a525426ee7cdaL,0x341b0869df02c3a8L,0xa023bf42723bbfc8L,
  36128. 0x3d15002a14452691L } },
  36129. /* 0 << 217 */
  36130. { { 0x00, 0x00, 0x00, 0x00 },
  36131. { 0x00, 0x00, 0x00, 0x00 } },
  36132. /* 1 << 217 */
  36133. { { 0x5ef7324c85edfa30L,0x2597655487d4f3daL,0x352f5bc0dcb50c86L,
  36134. 0x8f6927b04832a96cL },
  36135. { 0xd08ee1ba55f2f94cL,0x6a996f99344b45faL,0xe133cb8da8aa455dL,
  36136. 0x5d0721ec758dc1f7L } },
  36137. /* 2 << 217 */
  36138. { { 0x6ba7a92079e5fb67L,0xe1331feb70aa725eL,0x5080ccf57df5d837L,
  36139. 0xe4cae01d7ff72e21L },
  36140. { 0xd9243ee60412a77dL,0x06ff7cacdf449025L,0xbe75f7cd23ef5a31L,
  36141. 0xbc9578220ddef7a8L } },
  36142. /* 3 << 217 */
  36143. { { 0x8cf7230cb0ce1c55L,0x5b534d050bbfb607L,0xee1ef1130e16363bL,
  36144. 0x27e0aa7ab4999e82L },
  36145. { 0xce1dac2d79362c41L,0x67920c9091bb6cb0L,0x1e648d632223df24L,
  36146. 0x0f7d9eefe32e8f28L } },
  36147. /* 4 << 217 */
  36148. { { 0x6943f39afa833834L,0x22951722a6328562L,0x81d63dd54170fc10L,
  36149. 0x9f5fa58faecc2e6dL },
  36150. { 0xb66c8725e77d9a3bL,0x11235cea6384ebe0L,0x06a8c1185845e24aL,
  36151. 0x0137b286ebd093b1L } },
  36152. /* 5 << 217 */
  36153. { { 0xc589e1ce44ace150L,0xe0f8d3d94381e97cL,0x59e99b1162c5a4b8L,
  36154. 0x90d262f7fd0ec9f9L },
  36155. { 0xfbc854c9283e13c9L,0x2d04fde7aedc7085L,0x057d776547dcbecbL,
  36156. 0x8dbdf5919a76fa5fL } },
  36157. /* 6 << 217 */
  36158. { { 0xd01506950de1e578L,0x2e1463e7e9f72bc6L,0xffa684411b39eca5L,
  36159. 0x673c85307c037f2fL },
  36160. { 0xd0d6a600747f91daL,0xb08d43e1c9cb78e9L,0x0fc0c64427b5cef5L,
  36161. 0x5c1d160aa60a2fd6L } },
  36162. /* 7 << 217 */
  36163. { { 0xf98cae5328c8e13bL,0x375f10c4b2eddcd1L,0xd4eb8b7f5cce06adL,
  36164. 0xb4669f4580a2e1efL },
  36165. { 0xd593f9d05bbd8699L,0x5528a4c9e7976d13L,0x3923e0951c7e28d3L,
  36166. 0xb92937903f6bb577L } },
  36167. /* 8 << 217 */
  36168. { { 0xdb567d6ac42bd6d2L,0x6df86468bb1f96aeL,0x0efe5b1a4843b28eL,
  36169. 0x961bbb056379b240L },
  36170. { 0xb6caf5f070a6a26bL,0x70686c0d328e6e39L,0x80da06cf895fc8d3L,
  36171. 0x804d8810b363fdc9L } },
  36172. /* 9 << 217 */
  36173. { { 0xbe22877b207f1670L,0x9b0dd1884e615291L,0x625ae8dc97a3c2bfL,
  36174. 0x08584ef7439b86e8L },
  36175. { 0xde7190a5dcd898ffL,0x26286c402058ee3dL,0x3db0b2175f87b1c1L,
  36176. 0xcc334771102a6db5L } },
  36177. /* 10 << 217 */
  36178. { { 0xd99de9542f770fb1L,0x97c1c6204cd7535eL,0xd3b6c4483f09cefcL,
  36179. 0xd725af155a63b4f8L },
  36180. { 0x0c95d24fc01e20ecL,0xdfd374949ae7121fL,0x7d6ddb72ec77b7ecL,
  36181. 0xfe079d3b0353a4aeL } },
  36182. /* 11 << 217 */
  36183. { { 0x3066e70a2e6ac8d2L,0x9c6b5a43106e5c05L,0x52d3c6f5ede59b8cL,
  36184. 0x30d6a5c3fccec9aeL },
  36185. { 0xedec7c224fc0a9efL,0x190ff08395c16cedL,0xbe12ec8f94de0fdeL,
  36186. 0x0d131ab8852d3433L } },
  36187. /* 12 << 217 */
  36188. { { 0x42ace07e85701291L,0x94793ed9194061a8L,0x30e83ed6d7f4a485L,
  36189. 0x9eec7269f9eeff4dL },
  36190. { 0x90acba590c9d8005L,0x5feca4581e79b9d1L,0x8fbe54271d506a1eL,
  36191. 0xa32b2c8e2439cfa7L } },
  36192. /* 13 << 217 */
  36193. { { 0x1671c17373dd0b4eL,0x37a2821444a054c6L,0x81760a1b4e8b53f1L,
  36194. 0xa6c04224f9f93b9eL },
  36195. { 0x18784b34cf671e3cL,0x81bbecd2cda9b994L,0x38831979b2ab3848L,
  36196. 0xef54feb7f2e03c2dL } },
  36197. /* 14 << 217 */
  36198. { { 0xcf197ca7fb8088faL,0x014272474ddc96c5L,0xa2d2550a30777176L,
  36199. 0x534698984d0cf71dL },
  36200. { 0x6ce937b83a2aaac6L,0xe9f91dc35af38d9bL,0x2598ad83c8bf2899L,
  36201. 0x8e706ac9b5536c16L } },
  36202. /* 15 << 217 */
  36203. { { 0x40dc7495f688dc98L,0x26490cd7124c4afcL,0xe651ec841f18775cL,
  36204. 0x393ea6c3b4fdaf4aL },
  36205. { 0x1e1f33437f338e0dL,0x39fb832b6053e7b5L,0x46e702da619e14d5L,
  36206. 0x859cacd1cdeef6e0L } },
  36207. /* 16 << 217 */
  36208. { { 0x63b99ce74462007dL,0xb8ab48a54cb5f5b7L,0x9ec673d2f55edde7L,
  36209. 0xd1567f748cfaefdaL },
  36210. { 0x46381b6b0887bcecL,0x694497cee178f3c2L,0x5e6525e31e6266cbL,
  36211. 0x5931de26697d6413L } },
  36212. /* 17 << 217 */
  36213. { { 0x87f8df7c0e58d493L,0xb1ae5ed058b73f12L,0xc368f784dea0c34dL,
  36214. 0x9bd0a120859a91a0L },
  36215. { 0xb00d88b7cc863c68L,0x3a1cc11e3d1f4d65L,0xea38e0e70aa85593L,
  36216. 0x37f13e987dc4aee8L } },
  36217. /* 18 << 217 */
  36218. { { 0x10d38667bc947badL,0x738e07ce2a36ee2eL,0xc93470cdc577fcacL,
  36219. 0xdee1b6162782470dL },
  36220. { 0x36a25e672e793d12L,0xd6aa6caee0f186daL,0x474d0fd980e07af7L,
  36221. 0xf7cdc47dba8a5cd4L } },
  36222. /* 19 << 217 */
  36223. { { 0x28af6d9dab15247fL,0x7c789c10493a537fL,0x7ac9b11023a334e7L,
  36224. 0x0236ac0912c9c277L },
  36225. { 0xa7e5bd251d7a5144L,0x098b9c2af13ec4ecL,0x3639dacad3f0abcaL,
  36226. 0x642da81aa23960f9L } },
  36227. /* 20 << 217 */
  36228. { { 0x7d2e5c054f7269b1L,0xfcf30777e287c385L,0x10edc84ff2a46f21L,
  36229. 0x354417574f43fa36L },
  36230. { 0xf1327899fd703431L,0xa438d7a616dd587aL,0x65c34c57e9c8352dL,
  36231. 0xa728edab5cc5a24eL } },
  36232. /* 21 << 217 */
  36233. { { 0xaed78abc42531689L,0x0a51a0e8010963efL,0x5776fa0ad717d9b3L,
  36234. 0xf356c2397dd3428bL },
  36235. { 0x29903fff8d3a3dacL,0x409597fa3d94491fL,0x4cd7a5ffbf4a56a4L,
  36236. 0xe50964748adab462L } },
  36237. /* 22 << 217 */
  36238. { { 0xa97b51265c3427b0L,0x6401405cd282c9bdL,0x3629f8d7222c5c45L,
  36239. 0xb1c02c16e8d50aedL },
  36240. { 0xbea2ed75d9635bc9L,0x226790c76e24552fL,0x3c33f2a365f1d066L,
  36241. 0x2a43463e6dfccc2eL } },
  36242. /* 23 << 217 */
  36243. { { 0x8cc3453adb483761L,0xe7cc608565d5672bL,0x277ed6cbde3efc87L,
  36244. 0x19f2f36869234eafL },
  36245. { 0x9aaf43175c0b800bL,0x1f1e7c898b6da6e2L,0x6cfb4715b94ec75eL,
  36246. 0xd590dd5f453118c2L } },
  36247. /* 24 << 217 */
  36248. { { 0x14e49da11f17a34cL,0x5420ab39235a1456L,0xb76372412f50363bL,
  36249. 0x7b15d623c3fabb6eL },
  36250. { 0xa0ef40b1e274e49cL,0x5cf5074496b1860aL,0xd6583fbf66afe5a4L,
  36251. 0x44240510f47e3e9aL } },
  36252. /* 25 << 217 */
  36253. { { 0x9925434311b2d595L,0xf1367499eec8df57L,0x3cb12c613e73dd05L,
  36254. 0xd248c0337dac102aL },
  36255. { 0xcf154f13a77739f5L,0xbf4288cb23d2af42L,0xaa64c9b632e4a1cfL,
  36256. 0xee8c07a8c8a208f3L } },
  36257. /* 26 << 217 */
  36258. { { 0xe10d49996fe8393fL,0x0f809a3fe91f3a32L,0x61096d1c802f63c8L,
  36259. 0x289e146257750d3dL },
  36260. { 0xed06167e9889feeaL,0xd5c9c0e2e0993909L,0x46fca0d856508ac6L,
  36261. 0x918260474f1b8e83L } },
  36262. /* 27 << 217 */
  36263. { { 0x4f2c877a9a4a2751L,0x71bd0072cae6feadL,0x38df8dcc06aa1941L,
  36264. 0x5a074b4c63beeaa8L },
  36265. { 0xd6d65934c1cec8edL,0xa6ecb49eaabc03bdL,0xaade91c2de8a8415L,
  36266. 0xcfb0efdf691136e0L } },
  36267. /* 28 << 217 */
  36268. { { 0x11af45ee23ab3495L,0xa132df880b77463dL,0x8923c15c815d06f4L,
  36269. 0xc3ceb3f50d61a436L },
  36270. { 0xaf52291de88fb1daL,0xea0579741da12179L,0xb0d7218cd2fef720L,
  36271. 0x6c0899c98e1d8845L } },
  36272. /* 29 << 217 */
  36273. { { 0x98157504752ddad7L,0xd60bd74fa1a68a97L,0x7047a3a9f658fb99L,
  36274. 0x1f5d86d65f8511e4L },
  36275. { 0xb8a4bc424b5a6d88L,0x69eb2c331abefa7dL,0x95bf39e813c9c510L,
  36276. 0xf571960ad48aab43L } },
  36277. /* 30 << 217 */
  36278. { { 0x7e8cfbcf704e23c6L,0xc71b7d2228aaa65bL,0xa041b2bd245e3c83L,
  36279. 0x69b98834d21854ffL },
  36280. { 0x89d227a3963bfeecL,0x99947aaade7da7cbL,0x1d9ee9dbee68a9b1L,
  36281. 0x0a08f003698ec368L } },
  36282. /* 31 << 217 */
  36283. { { 0xe9ea409478ef2487L,0xc8d2d41502cfec26L,0xc52f9a6eb7dcf328L,
  36284. 0x0ed489e385b6a937L },
  36285. { 0x9b94986bbef3366eL,0x0de59c70edddddb8L,0xffdb748ceadddbe2L,
  36286. 0x9b9784bb8266ea40L } },
  36287. /* 32 << 217 */
  36288. { { 0x142b55021a93507aL,0xb4cd11878d3c06cfL,0xdf70e76a91ec3f40L,
  36289. 0x484e81ad4e7553c2L },
  36290. { 0x830f87b5272e9d6eL,0xea1c93e5c6ff514aL,0x67cc2adcc4192a8eL,
  36291. 0xc77e27e242f4535aL } },
  36292. /* 33 << 217 */
  36293. { { 0x9cdbab36d2b713c5L,0x86274ea0cf7b0cd3L,0x784680f309af826bL,
  36294. 0xbfcc837a0c72dea3L },
  36295. { 0xa8bdfe9dd6529b73L,0x708aa22863a88002L,0x6c7a9a54c91d45b9L,
  36296. 0xdf1a38bbfd004f56L } },
  36297. /* 34 << 217 */
  36298. { { 0x2e8c9a26b8bad853L,0x2d52cea33723eae7L,0x054d6d8156ca2830L,
  36299. 0xa3317d149a8dc411L },
  36300. { 0xa08662fefd4ddedaL,0xed2a153ab55d792bL,0x7035c16abfc6e944L,
  36301. 0xb6bc583400171cf3L } },
  36302. /* 35 << 217 */
  36303. { { 0xe27152b383d102b6L,0xfe695a470646b848L,0xa5bb09d8916e6d37L,
  36304. 0xb4269d640d17015eL },
  36305. { 0x8d8156a10a1d2285L,0xfeef6c5146d26d72L,0x9dac57c84c5434a7L,
  36306. 0x0282e5be59d39e31L } },
  36307. /* 36 << 217 */
  36308. { { 0xedfff181721c486dL,0x301baf10bc58824eL,0x8136a6aa00570031L,
  36309. 0x55aaf78c1cddde68L },
  36310. { 0x2682937159c63952L,0x3a3bd2748bc25bafL,0xecdf8657b7e52dc3L,
  36311. 0x2dd8c087fd78e6c8L } },
  36312. /* 37 << 217 */
  36313. { { 0x20553274f5531461L,0x8b4a12815d95499bL,0xe2c8763a1a80f9d2L,
  36314. 0xd1dbe32b4ddec758L },
  36315. { 0xaf12210d30c34169L,0xba74a95378baa533L,0x3d133c6ea438f254L,
  36316. 0xa431531a201bef5bL } },
  36317. /* 38 << 217 */
  36318. { { 0x15295e22f669d7ecL,0xca374f64357fb515L,0x8a8406ffeaa3fdb3L,
  36319. 0x106ae448df3f2da8L },
  36320. { 0x8f9b0a9033c8e9a1L,0x234645e271ad5885L,0x3d0832241c0aed14L,
  36321. 0xf10a7d3e7a942d46L } },
  36322. /* 39 << 217 */
  36323. { { 0x7c11deee40d5c9beL,0xb2bae7ffba84ed98L,0x93e97139aad58dddL,
  36324. 0x3d8727963f6d1fa3L },
  36325. { 0x483aca818569ff13L,0x8b89a5fb9a600f72L,0x4cbc27c3c06f2b86L,
  36326. 0x2213071363ad9c0bL } },
  36327. /* 40 << 217 */
  36328. { { 0xb5358b1e48ac2840L,0x18311294ecba9477L,0xda58f990a6946b43L,
  36329. 0x3098baf99ab41819L },
  36330. { 0x66c4c1584198da52L,0xab4fc17c146bfd1bL,0x2f0a4c3cbf36a908L,
  36331. 0x2ae9e34b58cf7838L } },
  36332. /* 41 << 217 */
  36333. { { 0xf411529e3fa11b1fL,0x21e43677974af2b4L,0x7c20958ec230793bL,
  36334. 0x710ea88516e840f3L },
  36335. { 0xfc0b21fcc5dc67cfL,0x08d5164788405718L,0xd955c21fcfe49eb7L,
  36336. 0x9722a5d556dd4a1fL } },
  36337. /* 42 << 217 */
  36338. { { 0xc9ef50e2c861baa5L,0xc0c21a5d9505ac3eL,0xaf6b9a338b7c063fL,
  36339. 0xc63703392f4779c1L },
  36340. { 0x22df99c7638167c3L,0xfe6ffe76795db30cL,0x2b822d33a4854989L,
  36341. 0xfef031dd30563aa5L } },
  36342. /* 43 << 217 */
  36343. { { 0x16b09f82d57c667fL,0xc70312cecc0b76f1L,0xbf04a9e6c9118aecL,
  36344. 0x82fcb4193409d133L },
  36345. { 0x1a8ab385ab45d44dL,0xfba07222617b83a3L,0xb05f50dd58e81b52L,
  36346. 0x1d8db55321ce5affL } },
  36347. /* 44 << 217 */
  36348. { { 0x3097b8d4e344a873L,0x7d8d116dfe36d53eL,0x6db22f587875e750L,
  36349. 0x2dc5e37343e144eaL },
  36350. { 0xc05f32e6e799eb95L,0xe9e5f4df6899e6ecL,0xbdc3bd681fab23d5L,
  36351. 0xb72b8ab773af60e6L } },
  36352. /* 45 << 217 */
  36353. { { 0x8db27ae02cecc84aL,0x600016d87bdb871cL,0x42a44b13d7c46f58L,
  36354. 0xb8919727c3a77d39L },
  36355. { 0xcfc6bbbddafd6088L,0x1a7401466bd20d39L,0x8c747abd98c41072L,
  36356. 0x4c91e765bdf68ea1L } },
  36357. /* 46 << 217 */
  36358. { { 0x7c95e5ca08819a78L,0xcf48b729c9587921L,0x091c7c5fdebbcc7dL,
  36359. 0x6f287404f0e05149L },
  36360. { 0xf83b5ac226cd44ecL,0x88ae32a6cfea250eL,0x6ac5047a1d06ebc5L,
  36361. 0xc7e550b4d434f781L } },
  36362. /* 47 << 217 */
  36363. { { 0x61ab1cf25c727bd2L,0x2e4badb11cf915b0L,0x1b4dadecf69d3920L,
  36364. 0xe61b1ca6f14c1dfeL },
  36365. { 0x90b479ccbd6bd51fL,0x8024e4018045ec30L,0xcab29ca325ef0e62L,
  36366. 0x4f2e941649e4ebc0L } },
  36367. /* 48 << 217 */
  36368. { { 0x45eb40ec0ccced58L,0x25cd4b9c0da44f98L,0x43e06458871812c6L,
  36369. 0x99f80d5516cef651L },
  36370. { 0x571340c9ce6dc153L,0x138d5117d8665521L,0xacdb45bc4e07014dL,
  36371. 0x2f34bb3884b60b91L } },
  36372. /* 49 << 217 */
  36373. { { 0xf44a4fd22ae8921eL,0xb039288e892ba1e2L,0x9da50174b1c180b2L,
  36374. 0x6b70ab661693dc87L },
  36375. { 0x7e9babc9e7057481L,0x4581ddef9c80dc41L,0x0c890da951294682L,
  36376. 0x0b5629d33f4736e5L } },
  36377. /* 50 << 217 */
  36378. { { 0x2340c79eb06f5b41L,0xa42e84ce4e243469L,0xf9a20135045a71a9L,
  36379. 0xefbfb415d27b6fb6L },
  36380. { 0x25ebea239d33cd6fL,0x9caedb88aa6c0af8L,0x53dc7e9ad9ce6f96L,
  36381. 0x3897f9fd51e0b15aL } },
  36382. /* 51 << 217 */
  36383. { { 0xf51cb1f88e5d788eL,0x1aec7ba8e1d490eeL,0x265991e0cc58cb3cL,
  36384. 0x9f306e8c9fc3ad31L },
  36385. { 0x5fed006e5040a0acL,0xca9d5043fb476f2eL,0xa19c06e8beea7a23L,
  36386. 0xd28658010edabb63L } },
  36387. /* 52 << 217 */
  36388. { { 0xdb92293f6967469aL,0x2894d8398d8a8ed8L,0x87c9e406bbc77122L,
  36389. 0x8671c6f12ea3a26aL },
  36390. { 0xe42df8d6d7de9853L,0x2e3ce346b1f2bcc7L,0xda601dfc899d50cfL,
  36391. 0xbfc913defb1b598fL } },
  36392. /* 53 << 217 */
  36393. { { 0x81c4909fe61f7908L,0x192e304f9bbc7b29L,0xc3ed8738c104b338L,
  36394. 0xedbe9e47783f5d61L },
  36395. { 0x0c06e9be2db30660L,0xda3e613fc0eb7d8eL,0xd8fa3e97322e096eL,
  36396. 0xfebd91e8d336e247L } },
  36397. /* 54 << 217 */
  36398. { { 0x8f13ccc4df655a49L,0xa9e00dfc5eb20210L,0x84631d0fc656b6eaL,
  36399. 0x93a058cdd8c0d947L },
  36400. { 0x6846904a67bd3448L,0x4a3d4e1af394fd5cL,0xc102c1a5db225f52L,
  36401. 0xe3455bbafc4f5e9aL } },
  36402. /* 55 << 217 */
  36403. { { 0x6b36985b4b9ad1ceL,0xa98185365bb7f793L,0x6c25e1d048b1a416L,
  36404. 0x1381dd533c81bee7L },
  36405. { 0xd2a30d617a4a7620L,0xc841292639b8944cL,0x3c1c6fbe7a97c33aL,
  36406. 0x941e541d938664e7L } },
  36407. /* 56 << 217 */
  36408. { { 0x417499e84a34f239L,0x15fdb83cb90402d5L,0xb75f46bf433aa832L,
  36409. 0xb61e15af63215db1L },
  36410. { 0xaabe59d4a127f89aL,0x5d541e0c07e816daL,0xaaba0659a618b692L,
  36411. 0x5532773317266026L } },
  36412. /* 57 << 217 */
  36413. { { 0xaf53a0fc95f57552L,0x329476506cacb0c9L,0x253ff58dc821be01L,
  36414. 0xb0309531a06f1146L },
  36415. { 0x59bbbdf505c2e54dL,0x158f27ad26e8dd22L,0xcc5b7ffb397e1e53L,
  36416. 0xae03f65b7fc1e50dL } },
  36417. /* 58 << 217 */
  36418. { { 0xa9784ebd9c95f0f9L,0x5ed9deb224640771L,0x31244af7035561c4L,
  36419. 0x87332f3a7ee857deL },
  36420. { 0x09e16e9e2b9e0d88L,0x52d910f456a06049L,0x507ed477a9592f48L,
  36421. 0x85cb917b2365d678L } },
  36422. /* 59 << 217 */
  36423. { { 0xf8511c934c8998d1L,0x2186a3f1730ea58fL,0x50189626b2029db0L,
  36424. 0x9137a6d902ceb75aL },
  36425. { 0x2fe17f37748bc82cL,0x87c2e93180469f8cL,0x850f71cdbf891aa2L,
  36426. 0x0ca1b89b75ec3d8dL } },
  36427. /* 60 << 217 */
  36428. { { 0x516c43aa5e1cd3cdL,0x893978089a887c28L,0x0059c699ddea1f9fL,
  36429. 0x7737d6fa8e6868f7L },
  36430. { 0x6d93746a60f1524bL,0x36985e55ba052aa7L,0x41b1d322ed923ea5L,
  36431. 0x3429759f25852a11L } },
  36432. /* 61 << 217 */
  36433. { { 0xbeca6ec3092e9f41L,0x3a238c6662256bbdL,0xd82958ea70ad487dL,
  36434. 0x4ac8aaf965610d93L },
  36435. { 0x3fa101b15e4ccab0L,0x9bf430f29de14bfbL,0xa10f5cc66531899dL,
  36436. 0x590005fbea8ce17dL } },
  36437. /* 62 << 217 */
  36438. { { 0xc437912f24544cb6L,0x9987b71ad79ac2e3L,0x13e3d9ddc058a212L,
  36439. 0x00075aacd2de9606L },
  36440. { 0x80ab508b6cac8369L,0x87842be7f54f6c89L,0xa7ad663d6bc532a4L,
  36441. 0x67813de778a91bc8L } },
  36442. /* 63 << 217 */
  36443. { { 0x5dcb61cec3427239L,0x5f3c7cf0c56934d9L,0xc079e0fbe3191591L,
  36444. 0xe40896bdb01aada7L },
  36445. { 0x8d4667910492d25fL,0x8aeb30c9e7408276L,0xe94374959287aaccL,
  36446. 0x23d4708d79fe03d4L } },
  36447. /* 64 << 217 */
  36448. { { 0x8cda9cf2d0c05199L,0x502fbc22fae78454L,0xc0bda9dff572a182L,
  36449. 0x5f9b71b86158b372L },
  36450. { 0xe0f33a592b82dd07L,0x763027359523032eL,0x7fe1a721c4505a32L,
  36451. 0x7b6e3e82f796409fL } },
  36452. /* 0 << 224 */
  36453. { { 0x00, 0x00, 0x00, 0x00 },
  36454. { 0x00, 0x00, 0x00, 0x00 } },
  36455. /* 1 << 224 */
  36456. { { 0xe3417bc035d0b34aL,0x440b386b8327c0a7L,0x8fb7262dac0362d1L,
  36457. 0x2c41114ce0cdf943L },
  36458. { 0x2ba5cef1ad95a0b1L,0xc09b37a867d54362L,0x26d6cdd201e486c9L,
  36459. 0x20477abf42ff9297L } },
  36460. /* 2 << 224 */
  36461. { { 0xa004dcb3292a9287L,0xddc15cf677b092c7L,0x083a8464806c0605L,
  36462. 0x4a68df703db997b0L },
  36463. { 0x9c134e4505bf7dd0L,0xa4e63d398ccf7f8cL,0xa6e6517f41b5f8afL,
  36464. 0xaa8b9342ad7bc1ccL } },
  36465. /* 3 << 224 */
  36466. { { 0x126f35b51e706ad9L,0xb99cebb4c3a9ebdfL,0xa75389afbf608d90L,
  36467. 0x76113c4fc6c89858L },
  36468. { 0x80de8eb097e2b5aaL,0x7e1022cc63b91304L,0x3bdab6056ccc066cL,
  36469. 0x33cbb144b2edf900L } },
  36470. /* 4 << 224 */
  36471. { { 0xc41764717af715d2L,0xe2f7f594d0134a96L,0x2c1873efa41ec956L,
  36472. 0xe4e7b4f677821304L },
  36473. { 0xe5c8ff9788d5374aL,0x2b915e6380823d5bL,0xea6bc755b2ee8fe2L,
  36474. 0x6657624ce7112651L } },
  36475. /* 5 << 224 */
  36476. { { 0x157af101dace5acaL,0xc4fdbcf211a6a267L,0xdaddf340c49c8609L,
  36477. 0x97e49f52e9604a65L },
  36478. { 0x9be8e790937e2ad5L,0x846e2508326e17f1L,0x3f38007a0bbbc0dcL,
  36479. 0xcf03603fb11e16d6L } },
  36480. /* 6 << 224 */
  36481. { { 0xd6f800e07442f1d5L,0x475607d166e0e3abL,0x82807f16b7c64047L,
  36482. 0x8858e1e3a749883dL },
  36483. { 0x5859120b8231ee10L,0x1b80e7eb638a1eceL,0xcb72525ac6aa73a4L,
  36484. 0xa7cdea3d844423acL } },
  36485. /* 7 << 224 */
  36486. { { 0x5ed0c007f8ae7c38L,0x6db07a5c3d740192L,0xbe5e9c2a5fe36db3L,
  36487. 0xd5b9d57a76e95046L },
  36488. { 0x54ac32e78eba20f2L,0xef11ca8f71b9a352L,0x305e373eff98a658L,
  36489. 0xffe5a100823eb667L } },
  36490. /* 8 << 224 */
  36491. { { 0x57477b11e51732d2L,0xdfd6eb282538fc0eL,0x5c43b0cc3b39eec5L,
  36492. 0x6af12778cb36cc57L },
  36493. { 0x70b0852d06c425aeL,0x6df92f8c5c221b9bL,0x6c8d4f9ece826d9cL,
  36494. 0xf59aba7bb49359c3L } },
  36495. /* 9 << 224 */
  36496. { { 0x5c8ed8d5da64309dL,0x61a6de5691b30704L,0xd6b52f6a2f9b5808L,
  36497. 0x0eee419498c958a7L },
  36498. { 0xcddd9aab771e4caaL,0x83965dfd78bc21beL,0x02affce3b3b504f5L,
  36499. 0x30847a21561c8291L } },
  36500. /* 10 << 224 */
  36501. { { 0xd2eb2cf152bfda05L,0xe0e4c4e96197b98cL,0x1d35076cf8a1726fL,
  36502. 0x6c06085b2db11e3dL },
  36503. { 0x15c0c4d74463ba14L,0x9d292f830030238cL,0x1311ee8b3727536dL,
  36504. 0xfeea86efbeaedc1eL } },
  36505. /* 11 << 224 */
  36506. { { 0xb9d18cd366131e2eL,0xf31d974f80fe2682L,0xb6e49e0fe4160289L,
  36507. 0x7c48ec0b08e92799L },
  36508. { 0x818111d8d1989aa7L,0xb34fa0aaebf926f9L,0xdb5fe2f5a245474aL,
  36509. 0xf80a6ebb3c7ca756L } },
  36510. /* 12 << 224 */
  36511. { { 0xa7f96054afa05dd8L,0x26dfcf21fcaf119eL,0xe20ef2e30564bb59L,
  36512. 0xef4dca5061cb02b8L },
  36513. { 0xcda7838a65d30672L,0x8b08d534fd657e86L,0x4c5b439546d595c8L,
  36514. 0x39b58725425cb836L } },
  36515. /* 13 << 224 */
  36516. { { 0x8ea610593de9abe3L,0x404348819cdc03beL,0x9b261245cfedce8cL,
  36517. 0x78c318b4cf5234a1L },
  36518. { 0x510bcf16fde24c99L,0x2a77cb75a2c2ff5dL,0x9c895c2b27960fb4L,
  36519. 0xd30ce975b0eda42bL } },
  36520. /* 14 << 224 */
  36521. { { 0xfda853931a62cc26L,0x23c69b9650c0e052L,0xa227df15bfc633f3L,
  36522. 0x2ac788481bae7d48L },
  36523. { 0x487878f9187d073dL,0x6c2be919967f807dL,0x765861d8336e6d8fL,
  36524. 0x88b8974cce528a43L } },
  36525. /* 15 << 224 */
  36526. { { 0x09521177ff57d051L,0x2ff38037fb6a1961L,0xfc0aba74a3d76ad4L,
  36527. 0x7c76480325a7ec17L },
  36528. { 0x7532d75f48879bc8L,0xea7eacc058ce6bc1L,0xc82176b48e896c16L,
  36529. 0x9a30e0b22c750fedL } },
  36530. /* 16 << 224 */
  36531. { { 0xc37e2c2e421d3aa4L,0xf926407ce84fa840L,0x18abc03d1454e41cL,
  36532. 0x26605ecd3f7af644L },
  36533. { 0x242341a6d6a5eabfL,0x1edb84f4216b668eL,0xd836edb804010102L,
  36534. 0x5b337ce7945e1d8cL } },
  36535. /* 17 << 224 */
  36536. { { 0xd2075c77c055dc14L,0x2a0ffa2581d89cdfL,0x8ce815ea6ffdcbafL,
  36537. 0xa3428878fb648867L },
  36538. { 0x277699cf884655fbL,0xfa5b5bd6364d3e41L,0x01f680c6441e1cb7L,
  36539. 0x3fd61e66b70a7d67L } },
  36540. /* 18 << 224 */
  36541. { { 0x666ba2dccc78cf66L,0xb30181746fdbff77L,0x8d4dd0db168d4668L,
  36542. 0x259455d01dab3a2aL },
  36543. { 0xf58564c5cde3acecL,0x7714192513adb276L,0x527d725d8a303f65L,
  36544. 0x55deb6c9e6f38f7bL } },
  36545. /* 19 << 224 */
  36546. { { 0xfd5bb657b1fa70fbL,0xfa07f50fd8073a00L,0xf72e3aa7bca02500L,
  36547. 0xf68f895d9975740dL },
  36548. { 0x301120605cae2a6aL,0x01bd721802874842L,0x3d4238917ce47bd3L,
  36549. 0xa66663c1789544f6L } },
  36550. /* 20 << 224 */
  36551. { { 0x864d05d73272d838L,0xe22924f9fa6295c5L,0x8189593f6c2fda32L,
  36552. 0x330d7189b184b544L },
  36553. { 0x79efa62cbde1f714L,0x35771c94e5cb1a63L,0x2f4826b8641c8332L,
  36554. 0x00a894fbc8cee854L } },
  36555. /* 21 << 224 */
  36556. { { 0xb4b9a39b36194d40L,0xe857a7c577612601L,0xf4209dd24ecf2f58L,
  36557. 0x82b9e66d5a033487L },
  36558. { 0xc1e36934e4e8b9ddL,0xd2372c9da42377d7L,0x51dc94c70e3ae43bL,
  36559. 0x4c57761e04474f6fL } },
  36560. /* 22 << 224 */
  36561. { { 0xdcdacd0a1058a318L,0x369cf3f578053a9aL,0xc6c3de5031c68de2L,
  36562. 0x4653a5763c4b6d9fL },
  36563. { 0x1688dd5aaa4e5c97L,0x5be80aa1b7ab3c74L,0x70cefe7cbc65c283L,
  36564. 0x57f95f1306867091L } },
  36565. /* 23 << 224 */
  36566. { { 0xa39114e24415503bL,0xc08ff7c64cbb17e9L,0x1eff674dd7dec966L,
  36567. 0x6d4690af53376f63L },
  36568. { 0xff6fe32eea74237bL,0xc436d17ecd57508eL,0x15aa28e1edcc40feL,
  36569. 0x0d769c04581bbb44L } },
  36570. /* 24 << 224 */
  36571. { { 0xc240b6de34eaacdaL,0xd9e116e82ba0f1deL,0xcbe45ec779438e55L,
  36572. 0x91787c9d96f752d7L },
  36573. { 0x897f532bf129ac2fL,0xd307b7c85a36e22cL,0x91940675749fb8f3L,
  36574. 0xd14f95d0157fdb28L } },
  36575. /* 25 << 224 */
  36576. { { 0xfe51d0296ae55043L,0x8931e98f44a87de1L,0xe57f1cc609e4fee2L,
  36577. 0x0d063b674e072d92L },
  36578. { 0x70a998b9ed0e4316L,0xe74a736b306aca46L,0xecf0fbf24fda97c7L,
  36579. 0xa40f65cb3e178d93L } },
  36580. /* 26 << 224 */
  36581. { { 0x1625360416df4285L,0xb0c9babbd0c56ae2L,0x73032b19cfc5cfc3L,
  36582. 0xe497e5c309752056L },
  36583. { 0x12096bb4164bda96L,0x1ee42419a0b74da1L,0x8fc36243403826baL,
  36584. 0x0c8f0069dc09e660L } },
  36585. /* 27 << 224 */
  36586. { { 0x8667e981c27253c9L,0x05a6aefb92b36a45L,0xa62c4b369cb7bb46L,
  36587. 0x8394f37511f7027bL },
  36588. { 0x747bc79c5f109d0fL,0xcad88a765b8cc60aL,0x80c5a66b58f09e68L,
  36589. 0xe753d451f6127eacL } },
  36590. /* 28 << 224 */
  36591. { { 0xc44b74a15b0ec6f5L,0x47989fe45289b2b8L,0x745f848458d6fc73L,
  36592. 0xec362a6ff61c70abL },
  36593. { 0x070c98a7b3a8ad41L,0x73a20fc07b63db51L,0xed2c2173f44c35f4L,
  36594. 0x8a56149d9acc9dcaL } },
  36595. /* 29 << 224 */
  36596. { { 0x98f178819ac6e0f4L,0x360fdeafa413b5edL,0x0625b8f4a300b0fdL,
  36597. 0xf1f4d76a5b3222d3L },
  36598. { 0x9d6f5109587f76b8L,0x8b4ee08d2317fdb5L,0x88089bb78c68b095L,
  36599. 0x95570e9a5808d9b9L } },
  36600. /* 30 << 224 */
  36601. { { 0xa395c36f35d33ae7L,0x200ea12350bb5a94L,0x20c789bd0bafe84bL,
  36602. 0x243ef52d0919276aL },
  36603. { 0x3934c577e23ae233L,0xb93807afa460d1ecL,0xb72a53b1f8fa76a4L,
  36604. 0xd8914cb0c3ca4491L } },
  36605. /* 31 << 224 */
  36606. { { 0x2e1284943fb42622L,0x3b2700ac500907d5L,0xf370fb091a95ec63L,
  36607. 0xf8f30be231b6dfbdL },
  36608. { 0xf2b2f8d269e55f15L,0x1fead851cc1323e9L,0xfa366010d9e5eef6L,
  36609. 0x64d487b0e316107eL } },
  36610. /* 32 << 224 */
  36611. { { 0x4c076b86d23ddc82L,0x03fd344c7e0143f0L,0xa95362ff317af2c5L,
  36612. 0x0add3db7e18b7a4fL },
  36613. { 0x9c673e3f8260e01bL,0xfbeb49e554a1cc91L,0x91351bf292f2e433L,
  36614. 0xc755e7ec851141ebL } },
  36615. /* 33 << 224 */
  36616. { { 0xc9a9513929607745L,0x0ca07420a26f2b28L,0xcb2790e74bc6f9ddL,
  36617. 0x345bbb58adcaffc0L },
  36618. { 0xc65ea38cbe0f27a2L,0x67c24d7c641fcb56L,0x2c25f0a7a9e2c757L,
  36619. 0x93f5cdb016f16c49L } },
  36620. /* 34 << 224 */
  36621. { { 0x2ca5a9d7c5ee30a1L,0xd1593635b909b729L,0x804ce9f3dadeff48L,
  36622. 0xec464751b07c30c3L },
  36623. { 0x89d65ff39e49af6aL,0xf2d6238a6f3d01bcL,0x1095561e0bced843L,
  36624. 0x51789e12c8a13fd8L } },
  36625. /* 35 << 224 */
  36626. { { 0xd633f929763231dfL,0x46df9f7de7cbddefL,0x01c889c0cb265da8L,
  36627. 0xfce1ad10af4336d2L },
  36628. { 0x8d110df6fc6a0a7eL,0xdd431b986da425dcL,0xcdc4aeab1834aabeL,
  36629. 0x84deb1248439b7fcL } },
  36630. /* 36 << 224 */
  36631. { { 0x8796f1693c2a5998L,0x9b9247b47947190dL,0x55b9d9a511597014L,
  36632. 0x7e9dd70d7b1566eeL },
  36633. { 0x94ad78f7cbcd5e64L,0x0359ac179bd4c032L,0x3b11baaf7cc222aeL,
  36634. 0xa6a6e284ba78e812L } },
  36635. /* 37 << 224 */
  36636. { { 0x8392053f24cea1a0L,0xc97bce4a33621491L,0x7eb1db3435399ee9L,
  36637. 0x473f78efece81ad1L },
  36638. { 0x41d72fe0f63d3d0dL,0xe620b880afab62fcL,0x92096bc993158383L,
  36639. 0x41a213578f896f6cL } },
  36640. /* 38 << 224 */
  36641. { { 0x1b5ee2fac7dcfcabL,0x650acfde9546e007L,0xc081b749b1b02e07L,
  36642. 0xda9e41a0f9eca03dL },
  36643. { 0x013ba727175a54abL,0xca0cd190ea5d8d10L,0x85ea52c095fd96a9L,
  36644. 0x2c591b9fbc5c3940L } },
  36645. /* 39 << 224 */
  36646. { { 0x6fb4d4e42bad4d5fL,0xfa4c3590fef0059bL,0x6a10218af5122294L,
  36647. 0x9a78a81aa85751d1L },
  36648. { 0x04f20579a98e84e7L,0xfe1242c04997e5b5L,0xe77a273bca21e1e4L,
  36649. 0xfcc8b1ef9411939dL } },
  36650. /* 40 << 224 */
  36651. { { 0xe20ea30292d0487aL,0x1442dbec294b91feL,0x1f7a4afebb6b0e8fL,
  36652. 0x1700ef746889c318L },
  36653. { 0xf5bbffc370f1fc62L,0x3b31d4b669c79ccaL,0xe8bc2aaba7f6340dL,
  36654. 0xb0b08ab4a725e10aL } },
  36655. /* 41 << 224 */
  36656. { { 0x44f05701ae340050L,0xba4b30161cf0c569L,0x5aa29f83fbe19a51L,
  36657. 0x1b9ed428b71d752eL },
  36658. { 0x1666e54eeb4819f5L,0x616cdfed9e18b75bL,0x112ed5be3ee27b0bL,
  36659. 0xfbf2831944c7de4dL } },
  36660. /* 42 << 224 */
  36661. { { 0xd685ec85e0e60d84L,0x68037e301db7ee78L,0x5b65bdcd003c4d6eL,
  36662. 0x33e7363a93e29a6aL },
  36663. { 0x995b3a6108d0756cL,0xd727f85c2faf134bL,0xfac6edf71d337823L,
  36664. 0x99b9aa500439b8b4L } },
  36665. /* 43 << 224 */
  36666. { { 0x722eb104e2b4e075L,0x49987295437c4926L,0xb1e4c0e446a9b82dL,
  36667. 0xd0cb319757a006f5L },
  36668. { 0xf3de0f7dd7808c56L,0xb5c54d8f51f89772L,0x500a114aadbd31aaL,
  36669. 0x9afaaaa6295f6cabL } },
  36670. /* 44 << 224 */
  36671. { { 0x94705e2104cf667aL,0xfc2a811b9d3935d7L,0x560b02806d09267cL,
  36672. 0xf19ed119f780e53bL },
  36673. { 0xf0227c09067b6269L,0x967b85335caef599L,0x155b924368efeebcL,
  36674. 0xcd6d34f5c497bae6L } },
  36675. /* 45 << 224 */
  36676. { { 0x1dd8d5d36cceb370L,0x2aeac579a78d7bf9L,0x5d65017d70b67a62L,
  36677. 0x70c8e44f17c53f67L },
  36678. { 0xd1fc095086a34d09L,0xe0fca256e7134907L,0xe24fa29c80fdd315L,
  36679. 0x2c4acd03d87499adL } },
  36680. /* 46 << 224 */
  36681. { { 0xbaaf75173b5a9ba6L,0xb9cbe1f612e51a51L,0xd88edae35e154897L,
  36682. 0xe4309c3c77b66ca0L },
  36683. { 0xf5555805f67f3746L,0x85fc37baa36401ffL,0xdf86e2cad9499a53L,
  36684. 0x6270b2a3ecbc955bL } },
  36685. /* 47 << 224 */
  36686. { { 0xafae64f5974ad33bL,0x04d85977fe7b2df1L,0x2a3db3ff4ab03f73L,
  36687. 0x0b87878a8702740aL },
  36688. { 0x6d263f015a061732L,0xc25430cea32a1901L,0xf7ebab3ddb155018L,
  36689. 0x3a86f69363a9b78eL } },
  36690. /* 48 << 224 */
  36691. { { 0x349ae368da9f3804L,0x470f07fea164349cL,0xd52f4cc98562baa5L,
  36692. 0xc74a9e862b290df3L },
  36693. { 0xd3a1aa3543471a24L,0x239446beb8194511L,0xbec2dd0081dcd44dL,
  36694. 0xca3d7f0fc42ac82dL } },
  36695. /* 49 << 224 */
  36696. { { 0x1f3db085fdaf4520L,0xbb6d3e804549daf2L,0xf5969d8a19ad5c42L,
  36697. 0x7052b13ddbfd1511L },
  36698. { 0x11890d1b682b9060L,0xa71d3883ac34452cL,0xa438055b783805b4L,
  36699. 0x432412774725b23eL } },
  36700. /* 50 << 224 */
  36701. { { 0xf20cf96e4901bbedL,0x6419c710f432a2bbL,0x57a0fbb9dfa9cd7dL,
  36702. 0x589111e400daa249L },
  36703. { 0x19809a337b60554eL,0xea5f8887ede283a4L,0x2d713802503bfd35L,
  36704. 0x151bb0af585d2a53L } },
  36705. /* 51 << 224 */
  36706. { { 0x40b08f7443b30ca8L,0xe10b5bbad9934583L,0xe8a546d6b51110adL,
  36707. 0x1dd50e6628e0b6c5L },
  36708. { 0x292e9d54cff2b821L,0x3882555d47281760L,0x134838f83724d6e3L,
  36709. 0xf2c679e022ddcda1L } },
  36710. /* 52 << 224 */
  36711. { { 0x40ee88156d2a5768L,0x7f227bd21c1e7e2dL,0x487ba134d04ff443L,
  36712. 0x76e2ff3dc614e54bL },
  36713. { 0x36b88d6fa3177ec7L,0xbf731d512328fff5L,0x758caea249ba158eL,
  36714. 0x5ab8ff4c02938188L } },
  36715. /* 53 << 224 */
  36716. { { 0x33e1605635edc56dL,0x5a69d3497e940d79L,0x6c4fd00103866dcbL,
  36717. 0x20a38f574893cdefL },
  36718. { 0xfbf3e790fac3a15bL,0x6ed7ea2e7a4f8e6bL,0xa663eb4fbc3aca86L,
  36719. 0x22061ea5080d53f7L } },
  36720. /* 54 << 224 */
  36721. { { 0x2480dfe6f546783fL,0xd38bc6da5a0a641eL,0xfb093cd12ede8965L,
  36722. 0x89654db4acb455cfL },
  36723. { 0x413cbf9a26e1adeeL,0x291f3764373294d4L,0x00797257648083feL,
  36724. 0x25f504d3208cc341L } },
  36725. /* 55 << 224 */
  36726. { { 0x635a8e5ec3a0ee43L,0x70aaebca679898ffL,0x9ee9f5475dc63d56L,
  36727. 0xce987966ffb34d00L },
  36728. { 0xf9f86b195e26310aL,0x9e435484382a8ca8L,0x253bcb81c2352fe4L,
  36729. 0xa4eac8b04474b571L } },
  36730. /* 56 << 224 */
  36731. { { 0xc1b97512c1ad8cf8L,0x193b4e9e99e0b697L,0x939d271601e85df0L,
  36732. 0x4fb265b3cd44eafdL },
  36733. { 0x321e7dcde51e1ae2L,0x8e3a8ca6e3d8b096L,0x8de46cb052604998L,
  36734. 0x91099ad839072aa7L } },
  36735. /* 57 << 224 */
  36736. { { 0x2617f91c93aa96b8L,0x0fc8716b7fca2e13L,0xa7106f5e95328723L,
  36737. 0xd1c9c40b262e6522L },
  36738. { 0xb9bafe8642b7c094L,0x1873439d1543c021L,0xe1baa5de5cbefd5dL,
  36739. 0xa363fc5e521e8affL } },
  36740. /* 58 << 224 */
  36741. { { 0xefe6320df862eaacL,0x14419c6322c647dcL,0x0e06707c4e46d428L,
  36742. 0xcb6c834f4a178f8fL },
  36743. { 0x0f993a45d30f917cL,0xd4c4b0499879afeeL,0xb6142a1e70500063L,
  36744. 0x7c9b41c3a5d9d605L } },
  36745. /* 59 << 224 */
  36746. { { 0xbc00fc2f2f8ba2c7L,0x0966eb2f7c67aa28L,0x13f7b5165a786972L,
  36747. 0x3bfb75578a2fbba0L },
  36748. { 0x131c4f235a2b9620L,0xbff3ed276faf46beL,0x9b4473d17e172323L,
  36749. 0x421e8878339f6246L } },
  36750. /* 60 << 224 */
  36751. { { 0x0fa8587a25a41632L,0xc0814124a35b6c93L,0x2b18a9f559ebb8dbL,
  36752. 0x264e335776edb29cL },
  36753. { 0xaf245ccdc87c51e2L,0x16b3015b501e6214L,0xbb31c5600a3882ceL,
  36754. 0x6961bb94fec11e04L } },
  36755. /* 61 << 224 */
  36756. { { 0x3b825b8deff7a3a0L,0xbec33738b1df7326L,0x68ad747c99604a1fL,
  36757. 0xd154c9349a3bd499L },
  36758. { 0xac33506f1cc7a906L,0x73bb53926c560e8fL,0x6428fcbe263e3944L,
  36759. 0xc11828d51c387434L } },
  36760. /* 62 << 224 */
  36761. { { 0x3cd04be13e4b12ffL,0xc3aad9f92d88667cL,0xc52ddcf8248120cfL,
  36762. 0x985a892e2a389532L },
  36763. { 0xfbb4b21b3bb85fa0L,0xf95375e08dfc6269L,0xfb4fb06c7ee2aceaL,
  36764. 0x6785426e309c4d1fL } },
  36765. /* 63 << 224 */
  36766. { { 0x659b17c8d8ceb147L,0x9b649eeeb70a5554L,0x6b7fa0b5ac6bc634L,
  36767. 0xd99fe2c71d6e732fL },
  36768. { 0x30e6e7628d3abba2L,0x18fee6e7a797b799L,0x5c9d360dc696464dL,
  36769. 0xe3baeb4827bfde12L } },
  36770. /* 64 << 224 */
  36771. { { 0x2bf5db47f23206d5L,0x2f6d34201d260152L,0x17b876533f8ff89aL,
  36772. 0x5157c30c378fa458L },
  36773. { 0x7517c5c52d4fb936L,0xef22f7ace6518cdcL,0xdeb483e6bf847a64L,
  36774. 0xf508455892e0fa89L } },
  36775. /* 0 << 231 */
  36776. { { 0x00, 0x00, 0x00, 0x00 },
  36777. { 0x00, 0x00, 0x00, 0x00 } },
  36778. /* 1 << 231 */
  36779. { { 0xab9659d8df7304d4L,0xb71bcf1bff210e8eL,0xa9a2438bd73fbd60L,
  36780. 0x4595cd1f5d11b4deL },
  36781. { 0x9c0d329a4835859dL,0x4a0f0d2d7dbb6e56L,0xc6038e5edf928a4eL,
  36782. 0xc94296218f5ad154L } },
  36783. /* 2 << 231 */
  36784. { { 0x91213462f23f2d92L,0x6cab71bd60b94078L,0x6bdd0a63176cde20L,
  36785. 0x54c9b20cee4d54bcL },
  36786. { 0x3cd2d8aa9f2ac02fL,0x03f8e617206eedb0L,0xc7f68e1693086434L,
  36787. 0x831469c592dd3db9L } },
  36788. /* 3 << 231 */
  36789. { { 0x8521df248f981354L,0x587e23ec3588a259L,0xcbedf281d7a0992cL,
  36790. 0x06930a5538961407L },
  36791. { 0x09320debbe5bbe21L,0xa7ffa5b52491817fL,0xe6c8b4d909065160L,
  36792. 0xac4f3992fff6d2a9L } },
  36793. /* 4 << 231 */
  36794. { { 0x7aa7a1583ae9c1bdL,0xe0af6d98e37ce240L,0xe54342d928ab38b4L,
  36795. 0xe8b750070a1c98caL },
  36796. { 0xefce86afe02358f2L,0x31b8b856ea921228L,0x052a19120a1c67fcL,
  36797. 0xb4069ea4e3aead59L } },
  36798. /* 5 << 231 */
  36799. { { 0x3232d6e27fa03cb3L,0xdb938e5b0fdd7d88L,0x04c1d2cd2ccbfc5dL,
  36800. 0xd2f45c12af3a580fL },
  36801. { 0x592620b57883e614L,0x5fd27e68be7c5f26L,0x139e45a91567e1e3L,
  36802. 0x2cc71d2d44d8aaafL } },
  36803. /* 6 << 231 */
  36804. { { 0x4a9090cde36d0757L,0xf722d7b1d9a29382L,0xfb7fb04c04b48ddfL,
  36805. 0x628ad2a7ebe16f43L },
  36806. { 0xcd3fbfb520226040L,0x6c34ecb15104b6c4L,0x30c0754ec903c188L,
  36807. 0xec336b082d23cab0L } },
  36808. /* 7 << 231 */
  36809. { { 0x473d62a21e206ee5L,0xf1e274808c49a633L,0x87ab956ce9f6b2c3L,
  36810. 0x61830b4862b606eaL },
  36811. { 0x67cd6846e78e815fL,0xfe40139f4c02082aL,0x52bbbfcb952ec365L,
  36812. 0x74c116426b9836abL } },
  36813. /* 8 << 231 */
  36814. { { 0x9f51439e558df019L,0x230da4baac712b27L,0x518919e355185a24L,
  36815. 0x4dcefcdd84b78f50L },
  36816. { 0xa7d90fb2a47d4c5aL,0x55ac9abfb30e009eL,0xfd2fc35974eed273L,
  36817. 0xb72d824cdbea8fafL } },
  36818. /* 9 << 231 */
  36819. { { 0xce721a744513e2caL,0x0b41861238240b2cL,0x05199968d5baa450L,
  36820. 0xeb1757ed2b0e8c25L },
  36821. { 0x6ebc3e283dfac6d5L,0xb2431e2e48a237f5L,0x2acb5e2352f61499L,
  36822. 0x5558a2a7e06c936bL } },
  36823. /* 10 << 231 */
  36824. { { 0xd213f923cbb13d1bL,0x98799f425bfb9bfeL,0x1ae8ddc9701144a9L,
  36825. 0x0b8b3bb64c5595eeL },
  36826. { 0x0ea9ef2e3ecebb21L,0x17cb6c4b3671f9a7L,0x47ef464f726f1d1fL,
  36827. 0x171b94846943a276L } },
  36828. /* 11 << 231 */
  36829. { { 0x51a4ae2d7ef0329cL,0x0850922291c4402aL,0x64a61d35afd45bbcL,
  36830. 0x38f096fe3035a851L },
  36831. { 0xc7468b74a1dec027L,0xe8cf10e74fc7dcbaL,0xea35ff40f4a06353L,
  36832. 0x0b4c0dfa8b77dd66L } },
  36833. /* 12 << 231 */
  36834. { { 0x779b8552de7e5c19L,0xfab28609c1c0256cL,0x64f58eeeabd4743dL,
  36835. 0x4e8ef8387b6cc93bL },
  36836. { 0xee650d264cb1bf3dL,0x4c1f9d0973dedf61L,0xaef7c9d7bfb70cedL,
  36837. 0x1ec0507e1641de1eL } },
  36838. /* 13 << 231 */
  36839. { { 0xcd7e5cc7cde45079L,0xde173c9a516ac9e4L,0x517a8494c170315cL,
  36840. 0x438fd90591d8e8fbL },
  36841. { 0x5145c506c7d9630bL,0x6457a87bf47d4d75L,0xd31646bf0d9a80e8L,
  36842. 0x453add2bcef3aabeL } },
  36843. /* 14 << 231 */
  36844. { { 0xc9941109a607419dL,0xfaa71e62bb6bca80L,0x34158c1307c431f3L,
  36845. 0x594abebc992bc47aL },
  36846. { 0x6dfea691eb78399fL,0x48aafb353f42cba4L,0xedcd65af077c04f0L,
  36847. 0x1a29a366e884491aL } },
  36848. /* 15 << 231 */
  36849. { { 0x023a40e51c21f2bfL,0xf99a513ca5057aeeL,0xa3fe7e25bcab072eL,
  36850. 0x8568d2e140e32bcfL },
  36851. { 0x904594ebd3f69d9fL,0x181a973307affab1L,0xe4d68d76b6e330f4L,
  36852. 0x87a6dafbc75a7fc1L } },
  36853. /* 16 << 231 */
  36854. { { 0x549db2b5ef7d9289L,0x2480d4a8197f015aL,0x61d5590bc40493b6L,
  36855. 0x3a55b52e6f780331L },
  36856. { 0x40eb8115309eadb0L,0xdea7de5a92e5c625L,0x64d631f0cc6a3d5aL,
  36857. 0x9d5e9d7c93e8dd61L } },
  36858. /* 17 << 231 */
  36859. { { 0xf297bef5206d3ffcL,0x23d5e0337d808bd4L,0x4a4f6912d24cf5baL,
  36860. 0xe4d8163b09cdaa8aL },
  36861. { 0x0e0de9efd3082e8eL,0x4fe1246c0192f360L,0x1f9001504b8eee0aL,
  36862. 0x5219da81f1da391bL } },
  36863. /* 18 << 231 */
  36864. { { 0x7bf6a5c1f7ea25aaL,0xd165e6bffbb07d5fL,0xe353936189e78671L,
  36865. 0xa3fcac892bac4219L },
  36866. { 0xdfab6fd4f0baa8abL,0x5a4adac1e2c1c2e5L,0x6cd75e3140d85849L,
  36867. 0xce263fea19b39181L } },
  36868. /* 19 << 231 */
  36869. { { 0xcb6803d307032c72L,0x7f40d5ce790968c8L,0xa6de86bddce978f0L,
  36870. 0x25547c4f368f751cL },
  36871. { 0xb1e685fd65fb2a9eL,0xce69336f1eb9179cL,0xb15d1c2712504442L,
  36872. 0xb7df465cb911a06bL } },
  36873. /* 20 << 231 */
  36874. { { 0xb8d804a3315980cdL,0x693bc492fa3bebf7L,0x3578aeee2253c504L,
  36875. 0x158de498cd2474a2L },
  36876. { 0x1331f5c7cfda8368L,0xd2d7bbb378d7177eL,0xdf61133af3c1e46eL,
  36877. 0x5836ce7dd30e7be8L } },
  36878. /* 21 << 231 */
  36879. { { 0x83084f1994f834cbL,0xd35653d4429ed782L,0xa542f16f59e58243L,
  36880. 0xc2b52f650470a22dL },
  36881. { 0xe3b6221b18f23d96L,0xcb05abac3f5252b4L,0xca00938b87d61402L,
  36882. 0x2f186cdd411933e4L } },
  36883. /* 22 << 231 */
  36884. { { 0xe042ece59a29a5c5L,0xb19b3c073b6c8402L,0xc97667c719d92684L,
  36885. 0xb5624622ebc66372L },
  36886. { 0x0cb96e653c04fa02L,0x83a7176c8eaa39aaL,0x2033561deaa1633fL,
  36887. 0x45a9d0864533df73L } },
  36888. /* 23 << 231 */
  36889. { { 0xe0542c1d3dc090bcL,0x82c996efaa59c167L,0xe3f735e80ee7fc4dL,
  36890. 0x7b1793937c35db79L },
  36891. { 0xb6419e25f8c5dbfdL,0x4d9d7a1e1f327b04L,0x979f6f9b298dfca8L,
  36892. 0xc7c5dff18de9366aL } },
  36893. /* 24 << 231 */
  36894. { { 0x1b7a588d04c82bddL,0x68005534f8319dfdL,0xde8a55b5d8eb9580L,
  36895. 0x5ea886da8d5bca81L },
  36896. { 0xe8530a01252a0b4dL,0x1bffb4fe35eaa0a1L,0x2ad828b1d8e99563L,
  36897. 0x7de96ef595f9cd87L } },
  36898. /* 25 << 231 */
  36899. { { 0x4abb2d0cd77d970cL,0x03cfb933d33ef9cbL,0xb0547c018b211fe9L,
  36900. 0x2fe64809a56ed1c6L },
  36901. { 0xcb7d5624c2ac98ccL,0x2a1372c01a393e33L,0xc8d1ec1c29660521L,
  36902. 0xf3d31b04b37ac3e9L } },
  36903. /* 26 << 231 */
  36904. { { 0xa29ae9df5ece6e7cL,0x0603ac8f0facfb55L,0xcfe85b7adda233a5L,
  36905. 0xe618919fbd75f0b8L },
  36906. { 0xf555a3d299bf1603L,0x1f43afc9f184255aL,0xdcdaf341319a3e02L,
  36907. 0xd3b117ef03903a39L } },
  36908. /* 27 << 231 */
  36909. { { 0xe095da1365d1d131L,0x86f16367c37ad03eL,0x5f37389e462cd8ddL,
  36910. 0xc103fa04d67a60e6L },
  36911. { 0x57c34344f4b478f0L,0xce91edd8e117c98dL,0x001777b0231fc12eL,
  36912. 0x11ae47f2b207bccbL } },
  36913. /* 28 << 231 */
  36914. { { 0xd983cf8d20f8a242L,0x7aff5b1df22e1ad8L,0x68fd11d07fc4feb3L,
  36915. 0x5d53ae90b0f1c3e1L },
  36916. { 0x50fb7905ec041803L,0x85e3c97714404888L,0x0e67faedac628d8fL,
  36917. 0x2e8651506668532cL } },
  36918. /* 29 << 231 */
  36919. { { 0x15acaaa46a67a6b0L,0xf4cdee25b25cec41L,0x49ee565ae4c6701eL,
  36920. 0x2a04ca66fc7d63d8L },
  36921. { 0xeb105018ef0543fbL,0xf709a4f5d1b0d81dL,0x5b906ee62915d333L,
  36922. 0xf4a8741296f1f0abL } },
  36923. /* 30 << 231 */
  36924. { { 0xb6b82fa74d82f4c2L,0x90725a606804efb3L,0xbc82ec46adc3425eL,
  36925. 0xb7b805812787843eL },
  36926. { 0xdf46d91cdd1fc74cL,0xdc1c62cbe783a6c4L,0x59d1b9f31a04cbbaL,
  36927. 0xd87f6f7295e40764L } },
  36928. /* 31 << 231 */
  36929. { { 0x02b4cfc1317f4a76L,0x8d2703eb91036bceL,0x98206cc6a5e72a56L,
  36930. 0x57be9ed1cf53fb0fL },
  36931. { 0x09374571ef0b17acL,0x74b2655ed9181b38L,0xc8f80ea889935d0eL,
  36932. 0xc0d9e94291529936L } },
  36933. /* 32 << 231 */
  36934. { { 0x196860411e84e0e5L,0xa5db84d3aea34c93L,0xf9d5bb197073a732L,
  36935. 0xb8d2fe566bcfd7c0L },
  36936. { 0x45775f36f3eb82faL,0x8cb20cccfdff8b58L,0x1659b65f8374c110L,
  36937. 0xb8b4a422330c789aL } },
  36938. /* 33 << 231 */
  36939. { { 0x75e3c3ea6fe8208bL,0xbd74b9e4286e78feL,0x0be2e81bd7d93a1aL,
  36940. 0x7ed06e27dd0a5aaeL },
  36941. { 0x721f5a586be8b800L,0x428299d1d846db28L,0x95cb8e6b5be88ed3L,
  36942. 0xc3186b231c034e11L } },
  36943. /* 34 << 231 */
  36944. { { 0xa6312c9e8977d99bL,0xbe94433183f531e7L,0x8232c0c218d3b1d4L,
  36945. 0x617aae8be1247b73L },
  36946. { 0x40153fc4282aec3bL,0xc6063d2ff7b8f823L,0x68f10e583304f94cL,
  36947. 0x31efae74ee676346L } },
  36948. /* 35 << 231 */
  36949. { { 0xbadb6c6d40a9b97cL,0x14702c634f666256L,0xdeb954f15184b2e3L,
  36950. 0x5184a52694b6ca40L },
  36951. { 0xfff05337003c32eaL,0x5aa374dd205974c7L,0x9a7638544b0dd71aL,
  36952. 0x459cd27fdeb947ecL } },
  36953. /* 36 << 231 */
  36954. { { 0xa6e28161459c2b92L,0x2f020fa875ee8ef5L,0xb132ec2d30b06310L,
  36955. 0xc3e15899bc6a4530L },
  36956. { 0xdc5f53feaa3f451aL,0x3a3c7f23c2d9acacL,0x2ec2f8926b27e58bL,
  36957. 0x68466ee7d742799fL } },
  36958. /* 37 << 231 */
  36959. { { 0x98324dd41fa26613L,0xa2dc6dabbdc29d63L,0xf9675faad712d657L,
  36960. 0x813994be21fd8d15L },
  36961. { 0x5ccbb722fd4f7553L,0x5135ff8bf3a36b20L,0x44be28af69559df5L,
  36962. 0x40b65bed9d41bf30L } },
  36963. /* 38 << 231 */
  36964. { { 0xd98bf2a43734e520L,0x5e3abbe3209bdcbaL,0x77c76553bc945b35L,
  36965. 0x5331c093c6ef14aaL },
  36966. { 0x518ffe2976b60c80L,0x2285593b7ace16f8L,0xab1f64ccbe2b9784L,
  36967. 0xe8f2c0d9ab2421b6L } },
  36968. /* 39 << 231 */
  36969. { { 0x617d7174c1df065cL,0xafeeb5ab5f6578faL,0x16ff1329263b54a8L,
  36970. 0x45c55808c990dce3L },
  36971. { 0x42eab6c0ecc8c177L,0x799ea9b55982ecaaL,0xf65da244b607ef8eL,
  36972. 0x8ab226ce32a3fc2cL } },
  36973. /* 40 << 231 */
  36974. { { 0x745741e57ea973dcL,0x5c00ca7020888f2eL,0x7cdce3cf45fd9cf1L,
  36975. 0x8a741ef15507f872L },
  36976. { 0x47c51c2f196b4cecL,0x70d08e43c97ea618L,0x930da15c15b18a2bL,
  36977. 0x33b6c6782f610514L } },
  36978. /* 41 << 231 */
  36979. { { 0xc662e4f807ac9794L,0x1eccf050ba06cb79L,0x1ff08623e7d954e5L,
  36980. 0x6ef2c5fb24cf71c3L },
  36981. { 0xb2c063d267978453L,0xa0cf37961d654af8L,0x7cb242ea7ebdaa37L,
  36982. 0x206e0b10b86747e0L } },
  36983. /* 42 << 231 */
  36984. { { 0x481dae5fd5ecfefcL,0x07084fd8c2bff8fcL,0x8040a01aea324596L,
  36985. 0x4c646980d4de4036L },
  36986. { 0x9eb8ab4ed65abfc3L,0xe01cb91f13541ec7L,0x8f029adbfd695012L,
  36987. 0x9ae284833c7569ecL } },
  36988. /* 43 << 231 */
  36989. { { 0xa5614c9ea66d80a1L,0x680a3e4475f5f911L,0x0c07b14dceba4fc1L,
  36990. 0x891c285ba13071c1L },
  36991. { 0xcac67ceb799ece3cL,0x29b910a941e07e27L,0x66bdb409f2e43123L,
  36992. 0x06f8b1377ac9ecbeL } },
  36993. /* 44 << 231 */
  36994. { { 0x5981fafd38547090L,0x19ab8b9f85e3415dL,0xfc28c194c7e31b27L,
  36995. 0x843be0aa6fbcbb42L },
  36996. { 0xf3b1ed43a6db836cL,0x2a1330e401a45c05L,0x4f19f3c595c1a377L,
  36997. 0xa85f39d044b5ee33L } },
  36998. /* 45 << 231 */
  36999. { { 0x3da18e6d4ae52834L,0x5a403b397423dcb0L,0xbb555e0af2374aefL,
  37000. 0x2ad599c41e8ca111L },
  37001. { 0x1b3a2fb9014b3bf8L,0x73092684f66d5007L,0x079f1426c4340102L,
  37002. 0x1827cf818fddf4deL } },
  37003. /* 46 << 231 */
  37004. { { 0xc83605f6f10ff927L,0xd387145123739fc6L,0x6d163450cac1c2ccL,
  37005. 0x6b521296a2ec1ac5L },
  37006. { 0x0606c4f96e3cb4a5L,0xe47d3f41778abff7L,0x425a8d5ebe8e3a45L,
  37007. 0x53ea9e97a6102160L } },
  37008. /* 47 << 231 */
  37009. { { 0x477a106e39cbb688L,0x532401d2f3386d32L,0x8e564f64b1b9b421L,
  37010. 0xca9b838881dad33fL },
  37011. { 0xb1422b4e2093913eL,0x533d2f9269bc8112L,0x3fa017beebe7b2c7L,
  37012. 0xb2767c4acaf197c6L } },
  37013. /* 48 << 231 */
  37014. { { 0xc925ff87aedbae9fL,0x7daf0eb936880a54L,0x9284ddf59c4d0e71L,
  37015. 0x1581cf93316f8cf5L },
  37016. { 0x3eeca8873ac1f452L,0xb417fce9fb6aeffeL,0xa5918046eefb8dc3L,
  37017. 0x73d318ac02209400L } },
  37018. /* 49 << 231 */
  37019. { { 0xe800400f728693e5L,0xe87d814b339927edL,0x93e94d3b57ea9910L,
  37020. 0xff8a35b62245fb69L },
  37021. { 0x043853d77f200d34L,0x470f1e680f653ce1L,0x81ac05bd59a06379L,
  37022. 0xa14052c203930c29L } },
  37023. /* 50 << 231 */
  37024. { { 0x6b72fab526bc2797L,0x13670d1699f16771L,0x001700521e3e48d1L,
  37025. 0x978fe401b7adf678L },
  37026. { 0x55ecfb92d41c5dd4L,0x5ff8e247c7b27da5L,0xe7518272013fb606L,
  37027. 0x5768d7e52f547a3cL } },
  37028. /* 51 << 231 */
  37029. { { 0xbb24eaa360017a5fL,0x6b18e6e49c64ce9bL,0xc225c655103dde07L,
  37030. 0xfc3672ae7592f7eaL },
  37031. { 0x9606ad77d06283a1L,0x542fc650e4d59d99L,0xabb57c492a40e7c2L,
  37032. 0xac948f13a8db9f55L } },
  37033. /* 52 << 231 */
  37034. { { 0x6d4c9682b04465c3L,0xe3d062fa6468bd15L,0xa51729ac5f318d7eL,
  37035. 0x1fc87df69eb6fc95L },
  37036. { 0x63d146a80591f652L,0xa861b8f7589621aaL,0x59f5f15ace31348cL,
  37037. 0x8f663391440da6daL } },
  37038. /* 53 << 231 */
  37039. { { 0xcfa778acb591ffa3L,0x027ca9c54cdfebceL,0xbe8e05a5444ea6b3L,
  37040. 0x8aab4e69a78d8254L },
  37041. { 0x2437f04fb474d6b8L,0x6597ffd4045b3855L,0xbb0aea4eca47ecaaL,
  37042. 0x568aae8385c7ebfcL } },
  37043. /* 54 << 231 */
  37044. { { 0x0e966e64c73b2383L,0x49eb3447d17d8762L,0xde1078218da05dabL,
  37045. 0x443d8baa016b7236L },
  37046. { 0x163b63a5ea7610d6L,0xe47e4185ce1ca979L,0xae648b6580baa132L,
  37047. 0xebf53de20e0d5b64L } },
  37048. /* 55 << 231 */
  37049. { { 0x8d3bfcb4d3c8c1caL,0x0d914ef35d04b309L,0x55ef64153de7d395L,
  37050. 0xbde1666f26b850e8L },
  37051. { 0xdbe1ca6ed449ab19L,0x8902b322e89a2672L,0xb1674b7edacb7a53L,
  37052. 0x8e9faf6ef52523ffL } },
  37053. /* 56 << 231 */
  37054. { { 0x6ba535da9a85788bL,0xd21f03aebd0626d4L,0x099f8c47e873dc64L,
  37055. 0xcda8564d018ec97eL },
  37056. { 0x3e8d7a5cde92c68cL,0x78e035a173323cc4L,0x3ef26275f880ff7cL,
  37057. 0xa4ee3dff273eedaaL } },
  37058. /* 57 << 231 */
  37059. { { 0x58823507af4e18f8L,0x967ec9b50672f328L,0x9ded19d9559d3186L,
  37060. 0x5e2ab3de6cdce39cL },
  37061. { 0xabad6e4d11c226dfL,0xf9783f4387723014L,0x9a49a0cf1a885719L,
  37062. 0xfc0c1a5a90da9dbfL } },
  37063. /* 58 << 231 */
  37064. { { 0x8bbaec49571d92acL,0x569e85fe4692517fL,0x8333b014a14ea4afL,
  37065. 0x32f2a62f12e5c5adL },
  37066. { 0x98c2ce3a06d89b85L,0xb90741aa2ff77a08L,0x2530defc01f795a2L,
  37067. 0xd6e5ba0b84b3c199L } },
  37068. /* 59 << 231 */
  37069. { { 0x7d8e845112e4c936L,0xae419f7dbd0be17bL,0xa583fc8c22262bc9L,
  37070. 0x6b842ac791bfe2bdL },
  37071. { 0x33cef4e9440d6827L,0x5f69f4deef81fb14L,0xf16cf6f6234fbb92L,
  37072. 0x76ae3fc3d9e7e158L } },
  37073. /* 60 << 231 */
  37074. { { 0x4e89f6c2e9740b33L,0x677bc85d4962d6a1L,0x6c6d8a7f68d10d15L,
  37075. 0x5f9a72240257b1cdL },
  37076. { 0x7096b9164ad85961L,0x5f8c47f7e657ab4aL,0xde57d7d0f7461d7eL,
  37077. 0x7eb6094d80ce5ee2L } },
  37078. /* 61 << 231 */
  37079. { { 0x0b1e1dfd34190547L,0x8a394f43f05dd150L,0x0a9eb24d97df44e6L,
  37080. 0x78ca06bf87675719L },
  37081. { 0x6f0b34626ffeec22L,0x9d91bcea36cdd8fbL,0xac83363ca105be47L,
  37082. 0x81ba76c1069710e3L } },
  37083. /* 62 << 231 */
  37084. { { 0x3d1b24cb28c682c6L,0x27f252288612575bL,0xb587c779e8e66e98L,
  37085. 0x7b0c03e9405eb1feL },
  37086. { 0xfdf0d03015b548e7L,0xa8be76e038b36af7L,0x4cdab04a4f310c40L,
  37087. 0x6287223ef47ecaecL } },
  37088. /* 63 << 231 */
  37089. { { 0x678e60558b399320L,0x61fe3fa6c01e4646L,0xc482866b03261a5eL,
  37090. 0xdfcf45b85c2f244aL },
  37091. { 0x8fab9a512f684b43L,0xf796c654c7220a66L,0x1d90707ef5afa58fL,
  37092. 0x2c421d974fdbe0deL } },
  37093. /* 64 << 231 */
  37094. { { 0xc4f4cda3af2ebc2fL,0xa0af843dcb4efe24L,0x53b857c19ccd10b1L,
  37095. 0xddc9d1eb914d3e04L },
  37096. { 0x7bdec8bb62771debL,0x829277aa91c5aa81L,0x7af18dd6832391aeL,
  37097. 0x1740f316c71a84caL } },
  37098. /* 0 << 238 */
  37099. { { 0x00, 0x00, 0x00, 0x00 },
  37100. { 0x00, 0x00, 0x00, 0x00 } },
  37101. /* 1 << 238 */
  37102. { { 0x8928e99aeeaf8c49L,0xee7aa73d6e24d728L,0x4c5007c2e72b156cL,
  37103. 0x5fcf57c5ed408a1dL },
  37104. { 0x9f719e39b6057604L,0x7d343c01c2868bbfL,0x2cca254b7e103e2dL,
  37105. 0xe6eb38a9f131bea2L } },
  37106. /* 2 << 238 */
  37107. { { 0xb33e624f8be762b4L,0x2a9ee4d1058e3413L,0x968e636967d805faL,
  37108. 0x9848949b7db8bfd7L },
  37109. { 0x5308d7e5d23a8417L,0x892f3b1df3e29da5L,0xc95c139e3dee471fL,
  37110. 0x8631594dd757e089L } },
  37111. /* 3 << 238 */
  37112. { { 0xe0c82a3cde918dccL,0x2e7b599426fdcf4bL,0x82c5024932cb1b2dL,
  37113. 0xea613a9d7657ae07L },
  37114. { 0xc2eb5f6cf1fdc9f7L,0xb6eae8b8879fe682L,0x253dfee0591cbc7fL,
  37115. 0x000da7133e1290e6L } },
  37116. /* 4 << 238 */
  37117. { { 0x1083e2ea1f095615L,0x0a28ad7714e68c33L,0x6bfc02523d8818beL,
  37118. 0xb585113af35850cdL },
  37119. { 0x7d935f0b30df8aa1L,0xaddda07c4ab7e3acL,0x92c34299552f00cbL,
  37120. 0xc33ed1de2909df6cL } },
  37121. /* 5 << 238 */
  37122. { { 0x22c2195d80e87766L,0x9e99e6d89ddf4ac0L,0x09642e4e65e74934L,
  37123. 0x2610ffa2ff1ff241L },
  37124. { 0x4d1d47d4751c8159L,0x697b4985af3a9363L,0x0318ca4687477c33L,
  37125. 0xa90cb5659441eff3L } },
  37126. /* 6 << 238 */
  37127. { { 0x58bb384836f024cbL,0x85be1f7736016168L,0x6c59587cdc7e07f1L,
  37128. 0x191be071af1d8f02L },
  37129. { 0xbf169fa5cca5e55cL,0x3864ba3cf7d04eacL,0x915e367f8d7d05dbL,
  37130. 0xb48a876da6549e5dL } },
  37131. /* 7 << 238 */
  37132. { { 0xef89c656580e40a2L,0xf194ed8c728068bcL,0x74528045a47990c9L,
  37133. 0xf53fc7d75e1a4649L },
  37134. { 0xbec5ae9b78593e7dL,0x2cac4ee341db65d7L,0xa8c1eb2404a3d39bL,
  37135. 0x53b7d63403f8f3efL } },
  37136. /* 8 << 238 */
  37137. { { 0x2dc40d483e07113cL,0x6e4a5d397d8b63aeL,0x5582a94b79684c2bL,
  37138. 0x932b33d4622da26cL },
  37139. { 0xf534f6510dbbf08dL,0x211d07c964c23a52L,0x0eeece0fee5bdc9bL,
  37140. 0xdf178168f7015558L } },
  37141. /* 9 << 238 */
  37142. { { 0xd42946350a712229L,0x93cbe44809273f8cL,0x00b095ef8f13bc83L,
  37143. 0xbb7419728798978cL },
  37144. { 0x9d7309a256dbe6e7L,0xe578ec565a5d39ecL,0x3961151b851f9a31L,
  37145. 0x2da7715de5709eb4L } },
  37146. /* 10 << 238 */
  37147. { { 0x867f301753dfabf0L,0x728d2078b8e39259L,0x5c75a0cd815d9958L,
  37148. 0xf84867a616603be1L },
  37149. { 0xc865b13d70e35b1cL,0x0241446819b03e2cL,0xe46041daac1f3121L,
  37150. 0x7c9017ad6f028a7cL } },
  37151. /* 11 << 238 */
  37152. { { 0xabc96de90a482873L,0x4265d6b1b77e54d4L,0x68c38e79a57d88e7L,
  37153. 0xd461d7669ce82de3L },
  37154. { 0x817a9ec564a7e489L,0xcc5675cda0def5f2L,0x9a00e785985d494eL,
  37155. 0xc626833f1b03514aL } },
  37156. /* 12 << 238 */
  37157. { { 0xabe7905a83cdd60eL,0x50602fb5a1170184L,0x689886cdb023642aL,
  37158. 0xd568d090a6e1fb00L },
  37159. { 0x5b1922c70259217fL,0x93831cd9c43141e4L,0xdfca35870c95f86eL,
  37160. 0xdec2057a568ae828L } },
  37161. /* 13 << 238 */
  37162. { { 0xc44ea599f98a759aL,0x55a0a7a2f7c23c1dL,0xd5ffb6e694c4f687L,
  37163. 0x3563cce212848478L },
  37164. { 0x812b3517e7b1fbe1L,0x8a7dc9794f7338e0L,0x211ecee952d048dbL,
  37165. 0x2eea4056c86ea3b8L } },
  37166. /* 14 << 238 */
  37167. { { 0xd8cb68a7ba772b34L,0xe16ed3415f4e2541L,0x9b32f6a60fec14dbL,
  37168. 0xeee376f7391698beL },
  37169. { 0xe9a7aa1783674c02L,0x65832f975843022aL,0x29f3a8da5ba4990fL,
  37170. 0x79a59c3afb8e3216L } },
  37171. /* 15 << 238 */
  37172. { { 0x9cdc4d2ebd19bb16L,0xc6c7cfd0b3262d86L,0xd4ce14d0969c0b47L,
  37173. 0x1fa352b713e56128L },
  37174. { 0x383d55b8973db6d3L,0x71836850e8e5b7bfL,0xc7714596e6bb571fL,
  37175. 0x259df31f2d5b2dd2L } },
  37176. /* 16 << 238 */
  37177. { { 0x568f8925913cc16dL,0x18bc5b6de1a26f5aL,0xdfa413bef5f499aeL,
  37178. 0xf8835decc3f0ae84L },
  37179. { 0xb6e60bd865a40ab0L,0x65596439194b377eL,0xbcd8562592084a69L,
  37180. 0x5ce433b94f23ede0L } },
  37181. /* 17 << 238 */
  37182. { { 0xe8e8f04f6ad65143L,0x11511827d6e14af6L,0x3d390a108295c0c7L,
  37183. 0x71e29ee4621eba16L },
  37184. { 0xa588fc0963717b46L,0x02be02fee06ad4a2L,0x931558c604c22b22L,
  37185. 0xbb4d4bd612f3c849L } },
  37186. /* 18 << 238 */
  37187. { { 0x54a4f49620efd662L,0x92ba6d20c5952d14L,0x2db8ea1ecc9784c2L,
  37188. 0x81cc10ca4b353644L },
  37189. { 0x40b570ad4b4d7f6cL,0x5c9f1d9684a1dcd2L,0x01379f813147e797L,
  37190. 0xe5c6097b2bd499f5L } },
  37191. /* 19 << 238 */
  37192. { { 0x40dcafa6328e5e20L,0xf7b5244a54815550L,0xb9a4f11847bfc978L,
  37193. 0x0ea0e79fd25825b1L },
  37194. { 0xa50f96eb646c7ecfL,0xeb811493446dea9dL,0x2af04677dfabcf69L,
  37195. 0xbe3a068fc713f6e8L } },
  37196. /* 20 << 238 */
  37197. { { 0x860d523d42e06189L,0xbf0779414e3aff13L,0x0b616dcac1b20650L,
  37198. 0xe66dd6d12131300dL },
  37199. { 0xd4a0fd67ff99abdeL,0xc9903550c7aac50dL,0x022ecf8b7c46b2d7L,
  37200. 0x3333b1e83abf92afL } },
  37201. /* 21 << 238 */
  37202. { { 0x11cc113c6c491c14L,0x0597668880dd3f88L,0xf5b4d9e729d932edL,
  37203. 0xe982aad8a2c38b6dL },
  37204. { 0x6f9253478be0dcf0L,0x700080ae65ca53f2L,0xd8131156443ca77fL,
  37205. 0xe92d6942ec51f984L } },
  37206. /* 22 << 238 */
  37207. { { 0xd2a08af885dfe9aeL,0xd825d9a54d2a86caL,0x2c53988d39dff020L,
  37208. 0xf38b135a430cdc40L },
  37209. { 0x0c918ae062a7150bL,0xf31fd8de0c340e9bL,0xafa0e7ae4dbbf02eL,
  37210. 0x5847fb2a5eba6239L } },
  37211. /* 23 << 238 */
  37212. { { 0x6b1647dcdccbac8bL,0xb642aa7806f485c8L,0x873f37657038ecdfL,
  37213. 0x2ce5e865fa49d3feL },
  37214. { 0xea223788c98c4400L,0x8104a8cdf1fa5279L,0xbcf7cc7a06becfd7L,
  37215. 0x49424316c8f974aeL } },
  37216. /* 24 << 238 */
  37217. { { 0xc0da65e784d6365dL,0xbcb7443f8f759fb8L,0x35c712b17ae81930L,
  37218. 0x80428dff4c6e08abL },
  37219. { 0xf19dafefa4faf843L,0xced8538dffa9855fL,0x20ac409cbe3ac7ceL,
  37220. 0x358c1fb6882da71eL } },
  37221. /* 25 << 238 */
  37222. { { 0xafa9c0e5fd349961L,0x2b2cfa518421c2fcL,0x2a80db17f3a28d38L,
  37223. 0xa8aba5395d138e7eL },
  37224. { 0x52012d1d6e96eb8dL,0x65d8dea0cbaf9622L,0x57735447b264f56cL,
  37225. 0xbeebef3f1b6c8da2L } },
  37226. /* 26 << 238 */
  37227. { { 0xfc346d98ce785254L,0xd50e8d72bb64a161L,0xc03567c749794addL,
  37228. 0x15a76065752c7ef6L },
  37229. { 0x59f3a222961f23d6L,0x378e443873ecc0b0L,0xc74be4345a82fde4L,
  37230. 0xae509af2d8b9cf34L } },
  37231. /* 27 << 238 */
  37232. { { 0x4a61ee46577f44a1L,0xe09b748cb611deebL,0xc0481b2cf5f7b884L,
  37233. 0x3562667861acfa6bL },
  37234. { 0x37f4c518bf8d21e6L,0x22d96531b205a76dL,0x37fb85e1954073c0L,
  37235. 0xbceafe4f65b3a567L } },
  37236. /* 28 << 238 */
  37237. { { 0xefecdef7be42a582L,0xd3fc608065046be6L,0xc9af13c809e8dba9L,
  37238. 0x1e6c9847641491ffL },
  37239. { 0x3b574925d30c31f7L,0xb7eb72baac2a2122L,0x776a0dacef0859e7L,
  37240. 0x06fec31421900942L } },
  37241. /* 29 << 238 */
  37242. { { 0x2464bc10f8c22049L,0x9bfbcce7875ebf69L,0xd7a88e2a4336326bL,
  37243. 0xda05261c5bc2acfaL },
  37244. { 0xc29f5bdceba7efc8L,0x471237ca25dbbf2eL,0xa72773f22975f127L,
  37245. 0xdc744e8e04d0b326L } },
  37246. /* 30 << 238 */
  37247. { { 0x38a7ed16a56edb73L,0x64357e372c007e70L,0xa167d15b5080b400L,
  37248. 0x07b4116423de4be1L },
  37249. { 0xb2d91e3274c89883L,0x3c1628212882e7edL,0xad6b36ba7503e482L,
  37250. 0x48434e8e0ea34331L } },
  37251. /* 31 << 238 */
  37252. { { 0x79f4f24f2c7ae0b9L,0xc46fbf811939b44aL,0x76fefae856595eb1L,
  37253. 0x417b66abcd5f29c7L },
  37254. { 0x5f2332b2c5ceec20L,0xd69661ffe1a1cae2L,0x5ede7e529b0286e6L,
  37255. 0x9d062529e276b993L } },
  37256. /* 32 << 238 */
  37257. { { 0x324794b07e50122bL,0xdd744f8b4af07ca5L,0x30a12f08d63fc97bL,
  37258. 0x39650f1a76626d9dL },
  37259. { 0x101b47f71fa38477L,0x3d815f19d4dc124fL,0x1569ae95b26eb58aL,
  37260. 0xc3cde18895fb1887L } },
  37261. /* 33 << 238 */
  37262. { { 0x54e9f37bf9539a48L,0xb0100e067408c1a5L,0x821d9811ea580cbbL,
  37263. 0x8af52d3586e50c56L },
  37264. { 0xdfbd9d47dbbf698bL,0x2961a1ea03dc1c73L,0x203d38f8e76a5df8L,
  37265. 0x08a53a686def707aL } },
  37266. /* 34 << 238 */
  37267. { { 0x26eefb481bee45d4L,0xb3cee3463c688036L,0x463c5315c42f2469L,
  37268. 0x19d84d2e81378162L },
  37269. { 0x22d7c3c51c4d349fL,0x65965844163d59c5L,0xcf198c56b8abceaeL,
  37270. 0x6fb1fb1b628559d5L } },
  37271. /* 35 << 238 */
  37272. { { 0x8bbffd0607bf8fe3L,0x46259c583467734bL,0xd8953cea35f7f0d3L,
  37273. 0x1f0bece2d65b0ff1L },
  37274. { 0xf7d5b4b3f3c72914L,0x29e8ea953cb53389L,0x4a365626836b6d46L,
  37275. 0xe849f910ea174fdeL } },
  37276. /* 36 << 238 */
  37277. { { 0x7ec62fbbf4737f21L,0xd8dba5ab6209f5acL,0x24b5d7a9a5f9adbeL,
  37278. 0x707d28f7a61dc768L },
  37279. { 0x7711460bcaa999eaL,0xba7b174d1c92e4ccL,0x3c4bab6618d4bf2dL,
  37280. 0xb8f0c980eb8bd279L } },
  37281. /* 37 << 238 */
  37282. { { 0x024bea9a324b4737L,0xfba9e42332a83bcaL,0x6e635643a232dcedL,
  37283. 0x996193672571c8baL },
  37284. { 0xe8c9f35754b7032bL,0xf936b3ba2442d54aL,0x2263f0f08290c65aL,
  37285. 0x48989780ee2c7fdbL } },
  37286. /* 38 << 238 */
  37287. { { 0xadc5d55a13d4f95eL,0x737cff85ad9b8500L,0x271c557b8a73f43dL,
  37288. 0xbed617a4e18bc476L },
  37289. { 0x662454017dfd8ab2L,0xae7b89ae3a2870aaL,0x1b555f5323a7e545L,
  37290. 0x6791e247be057e4cL } },
  37291. /* 39 << 238 */
  37292. { { 0x860136ad324fa34dL,0xea1114474cbeae28L,0x023a4270bedd3299L,
  37293. 0x3d5c3a7fc1c35c34L },
  37294. { 0xb0f6db678d0412d2L,0xd92625e2fcdc6b9aL,0x92ae5ccc4e28a982L,
  37295. 0xea251c3647a3ce7eL } },
  37296. /* 40 << 238 */
  37297. { { 0x9d658932790691bfL,0xed61058906b736aeL,0x712c2f04c0d63b6eL,
  37298. 0x5cf06fd5c63d488fL },
  37299. { 0x97363facd9588e41L,0x1f9bf7622b93257eL,0xa9d1ffc4667acaceL,
  37300. 0x1cf4a1aa0a061ecfL } },
  37301. /* 41 << 238 */
  37302. { { 0x40e48a49dc1818d0L,0x0643ff39a3621ab0L,0x5768640ce39ef639L,
  37303. 0x1fc099ea04d86854L },
  37304. { 0x9130b9c3eccd28fdL,0xd743cbd27eec54abL,0x052b146fe5b475b6L,
  37305. 0x058d9a82900a7d1fL } },
  37306. /* 42 << 238 */
  37307. { { 0x65e0229291262b72L,0x96f924f9bb0edf03L,0x5cfa59c8fe206842L,
  37308. 0xf60370045eafa720L },
  37309. { 0x5f30699e18d7dd96L,0x381e8782cbab2495L,0x91669b46dd8be949L,
  37310. 0xb40606f526aae8efL } },
  37311. /* 43 << 238 */
  37312. { { 0x2812b839fc6751a4L,0x16196214fba800efL,0x4398d5ca4c1a2875L,
  37313. 0x720c00ee653d8349L },
  37314. { 0xc2699eb0d820007cL,0x880ee660a39b5825L,0x70694694471f6984L,
  37315. 0xf7d16ea8e3dda99aL } },
  37316. /* 44 << 238 */
  37317. { { 0x28d675b2c0519a23L,0x9ebf94fe4f6952e3L,0xf28bb767a2294a8aL,
  37318. 0x85512b4dfe0af3f5L },
  37319. { 0x18958ba899b16a0dL,0x95c2430cba7548a7L,0xb30d1b10a16be615L,
  37320. 0xe3ebbb9785bfb74cL } },
  37321. /* 45 << 238 */
  37322. { { 0xa3273cfe18549fdbL,0xf6e200bf4fcdb792L,0x54a76e1883aba56cL,
  37323. 0x73ec66f689ef6aa2L },
  37324. { 0x8d17add7d1b9a305L,0xa959c5b9b7ae1b9dL,0x886435226bcc094aL,
  37325. 0xcc5616c4d7d429b9L } },
  37326. /* 46 << 238 */
  37327. { { 0xa6dada01e6a33f7cL,0xc6217a079d4e70adL,0xd619a81809c15b7cL,
  37328. 0xea06b3290e80c854L },
  37329. { 0x174811cea5f5e7b9L,0x66dfc310787c65f4L,0x4ea7bd693316ab54L,
  37330. 0xc12c4acb1dcc0f70L } },
  37331. /* 47 << 238 */
  37332. { { 0xe4308d1a1e407dd9L,0xe8a3587c91afa997L,0xea296c12ab77b7a5L,
  37333. 0xb5ad49e4673c0d52L },
  37334. { 0x40f9b2b27006085aL,0xa88ff34087bf6ec2L,0x978603b14e3066a6L,
  37335. 0xb3f99fc2b5e486e2L } },
  37336. /* 48 << 238 */
  37337. { { 0x07b53f5eb2e63645L,0xbe57e54784c84232L,0xd779c2167214d5cfL,
  37338. 0x617969cd029a3acaL },
  37339. { 0xd17668cd8a7017a0L,0x77b4d19abe9b7ee8L,0x58fd0e939c161776L,
  37340. 0xa8c4f4efd5968a72L } },
  37341. /* 49 << 238 */
  37342. { { 0x296071cc67b3de77L,0xae3c0b8e634f7905L,0x67e440c28a7100c9L,
  37343. 0xbb8c3c1beb4b9b42L },
  37344. { 0x6d71e8eac51b3583L,0x7591f5af9525e642L,0xf73a2f7b13f509f3L,
  37345. 0x618487aa5619ac9bL } },
  37346. /* 50 << 238 */
  37347. { { 0x3a72e5f79d61718aL,0x00413bcc7592d28cL,0x7d9b11d3963c35cfL,
  37348. 0x77623bcfb90a46edL },
  37349. { 0xdeef273bdcdd2a50L,0x4a741f9b0601846eL,0x33b89e510ec6e929L,
  37350. 0xcb02319f8b7f22cdL } },
  37351. /* 51 << 238 */
  37352. { { 0xbbe1500d084bae24L,0x2f0ae8d7343d2693L,0xacffb5f27cdef811L,
  37353. 0xaa0c030a263fb94fL },
  37354. { 0x6eef0d61a0f442deL,0xf92e181727b139d3L,0x1ae6deb70ad8bc28L,
  37355. 0xa89e38dcc0514130L } },
  37356. /* 52 << 238 */
  37357. { { 0x81eeb865d2fdca23L,0x5a15ee08cc8ef895L,0x768fa10a01905614L,
  37358. 0xeff5b8ef880ee19bL },
  37359. { 0xf0c0cabbcb1c8a0eL,0x2e1ee9cdb8c838f9L,0x0587d8b88a4a14c0L,
  37360. 0xf6f278962ff698e5L } },
  37361. /* 53 << 238 */
  37362. { { 0xed38ef1c89ee6256L,0xf44ee1fe6b353b45L,0x9115c0c770e903b3L,
  37363. 0xc78ec0a1818f31dfL },
  37364. { 0x6c003324b7dccbc6L,0xd96dd1f3163bbc25L,0x33aa82dd5cedd805L,
  37365. 0x123aae4f7f7eb2f1L } },
  37366. /* 54 << 238 */
  37367. { { 0x1723fcf5a26262cdL,0x1f7f4d5d0060ebd5L,0xf19c5c01b2eaa3afL,
  37368. 0x2ccb9b149790accfL },
  37369. { 0x1f9c1cad52324aa6L,0x632005267247df54L,0x5732fe42bac96f82L,
  37370. 0x52fe771f01a1c384L } },
  37371. /* 55 << 238 */
  37372. { { 0x546ca13db1001684L,0xb56b4eeea1709f75L,0x266545a9d5db8672L,
  37373. 0xed971c901e8f3cfbL },
  37374. { 0x4e7d8691e3a07b29L,0x7570d9ece4b696b9L,0xdc5fa0677bc7e9aeL,
  37375. 0x68b44cafc82c4844L } },
  37376. /* 56 << 238 */
  37377. { { 0x519d34b3bf44da80L,0x283834f95ab32e66L,0x6e6087976278a000L,
  37378. 0x1e62960e627312f6L },
  37379. { 0x9b87b27be6901c55L,0x80e7853824fdbc1fL,0xbbbc09512facc27dL,
  37380. 0x06394239ac143b5aL } },
  37381. /* 57 << 238 */
  37382. { { 0x35bb4a40376c1944L,0x7cb6269463da1511L,0xafd29161b7148a3bL,
  37383. 0xa6f9d9ed4e2ea2eeL },
  37384. { 0x15dc2ca2880dd212L,0x903c3813a61139a9L,0x2aa7b46d6c0f8785L,
  37385. 0x36ce2871901c60ffL } },
  37386. /* 58 << 238 */
  37387. { { 0xc683b028e10d9c12L,0x7573baa2032f33d3L,0x87a9b1f667a31b58L,
  37388. 0xfd3ed11af4ffae12L },
  37389. { 0x83dcaa9a0cb2748eL,0x8239f0185d6fdf16L,0xba67b49c72753941L,
  37390. 0x2beec455c321cb36L } },
  37391. /* 59 << 238 */
  37392. { { 0x880156063f8b84ceL,0x764170838d38c86fL,0x054f1ca7598953ddL,
  37393. 0xc939e1104e8e7429L },
  37394. { 0x9b1ac2b35a914f2fL,0x39e35ed3e74b8f9cL,0xd0debdb2781b2fb0L,
  37395. 0x1585638f2d997ba2L } },
  37396. /* 60 << 238 */
  37397. { { 0x9c4b646e9e2fce99L,0x68a210811e80857fL,0x06d54e443643b52aL,
  37398. 0xde8d6d630d8eb843L },
  37399. { 0x7032156342146a0aL,0x8ba826f25eaa3622L,0x227a58bd86138787L,
  37400. 0x43b6c03c10281d37L } },
  37401. /* 61 << 238 */
  37402. { { 0x6326afbbb54dde39L,0x744e5e8adb6f2d5fL,0x48b2a99acff158e1L,
  37403. 0xa93c8fa0ef87918fL },
  37404. { 0x2182f956de058c5cL,0x216235d2936f9e7aL,0xace0c0dbd2e31e67L,
  37405. 0xc96449bff23ac3e7L } },
  37406. /* 62 << 238 */
  37407. { { 0x7e9a2874170693bdL,0xa28e14fda45e6335L,0x5757f6b356427344L,
  37408. 0x822e4556acf8edf9L },
  37409. { 0x2b7a6ee2e6a285cdL,0x5866f211a9df3af0L,0x40dde2ddf845b844L,
  37410. 0x986c3726110e5e49L } },
  37411. /* 63 << 238 */
  37412. { { 0x73680c2af7172277L,0x57b94f0f0cccb244L,0xbdff72672d438ca7L,
  37413. 0xbad1ce11cf4663fdL },
  37414. { 0x9813ed9dd8f71caeL,0xf43272a6961fdaa6L,0xbeff0119bd6d1637L,
  37415. 0xfebc4f9130361978L } },
  37416. /* 64 << 238 */
  37417. { { 0x02b37a952f41deffL,0x0e44a59ae63b89b7L,0x673257dc143ff951L,
  37418. 0x19c02205d752baf4L },
  37419. { 0x46c23069c4b7d692L,0x2e6392c3fd1502acL,0x6057b1a21b220846L,
  37420. 0xe51ff9460c1b5b63L } },
  37421. /* 0 << 245 */
  37422. { { 0x00, 0x00, 0x00, 0x00 },
  37423. { 0x00, 0x00, 0x00, 0x00 } },
  37424. /* 1 << 245 */
  37425. { { 0x6e85cb51566c5c43L,0xcff9c9193597f046L,0x9354e90c4994d94aL,
  37426. 0xe0a393322147927dL },
  37427. { 0x8427fac10dc1eb2bL,0x88cfd8c22ff319faL,0xe2d4e68401965274L,
  37428. 0xfa2e067d67aaa746L } },
  37429. /* 2 << 245 */
  37430. { { 0xb6d92a7f3e5f9f11L,0x9afe153ad6cb3b8eL,0x4d1a6dd7ddf800bdL,
  37431. 0xf6c13cc0caf17e19L },
  37432. { 0x15f6c58e325fc3eeL,0x71095400a31dc3b2L,0x168e7c07afa3d3e7L,
  37433. 0x3f8417a194c7ae2dL } },
  37434. /* 3 << 245 */
  37435. { { 0xec234772813b230dL,0x634d0f5f17344427L,0x11548ab1d77fc56aL,
  37436. 0x7fab1750ce06af77L },
  37437. { 0xb62c10a74f7c4f83L,0xa7d2edc4220a67d9L,0x1c404170921209a0L,
  37438. 0x0b9815a0face59f0L } },
  37439. /* 4 << 245 */
  37440. { { 0x2842589b319540c3L,0x18490f59a283d6f8L,0xa2731f84daae9fcbL,
  37441. 0x3db6d960c3683ba0L },
  37442. { 0xc85c63bb14611069L,0xb19436af0788bf05L,0x905459df347460d2L,
  37443. 0x73f6e094e11a7db1L } },
  37444. /* 5 << 245 */
  37445. { { 0xdc7f938eb6357f37L,0xc5d00f792bd8aa62L,0xc878dcb92ca979fcL,
  37446. 0x37e83ed9eb023a99L },
  37447. { 0x6b23e2731560bf3dL,0x1086e4591d0fae61L,0x782483169a9414bdL,
  37448. 0x1b956bc0f0ea9ea1L } },
  37449. /* 6 << 245 */
  37450. { { 0x7b85bb91c31b9c38L,0x0c5aa90b48ef57b5L,0xdedeb169af3bab6fL,
  37451. 0xe610ad732d373685L },
  37452. { 0xf13870df02ba8e15L,0x0337edb68ca7f771L,0xe4acf747b62c036cL,
  37453. 0xd921d576b6b94e81L } },
  37454. /* 7 << 245 */
  37455. { { 0xdbc864392c422f7aL,0xfb635362ed348898L,0x83084668c45bfcd1L,
  37456. 0xc357c9e32b315e11L },
  37457. { 0xb173b5405b2e5b8cL,0x7e946931e102b9a4L,0x17c890eb7b0fb199L,
  37458. 0xec225a83d61b662bL } },
  37459. /* 8 << 245 */
  37460. { { 0xf306a3c8ee3c76cbL,0x3cf11623d32a1f6eL,0xe6d5ab646863e956L,
  37461. 0x3b8a4cbe5c005c26L },
  37462. { 0xdcd529a59ce6bb27L,0xc4afaa5204d4b16fL,0xb0624a267923798dL,
  37463. 0x85e56df66b307fabL } },
  37464. /* 9 << 245 */
  37465. { { 0x0281893c2bf29698L,0x91fc19a4d7ce7603L,0x75a5dca3ad9a558fL,
  37466. 0x40ceb3fa4d50bf77L },
  37467. { 0x1baf6060bc9ba369L,0x927e1037597888c2L,0xd936bf1986a34c07L,
  37468. 0xd4cf10c1c34ae980L } },
  37469. /* 10 << 245 */
  37470. { { 0x3a3e5334859dd614L,0x9c475b5b18d0c8eeL,0x63080d1f07cd51d5L,
  37471. 0xc9c0d0a6b88b4326L },
  37472. { 0x1ac98691c234296fL,0x2a0a83a494887fb6L,0x565114270cea9cf2L,
  37473. 0x5230a6e8a24802f5L } },
  37474. /* 11 << 245 */
  37475. { { 0xf7a2bf0f72e3d5c1L,0x377174464f21439eL,0xfedcbf259ce30334L,
  37476. 0xe0030a787ce202f9L },
  37477. { 0x6f2d9ebf1202e9caL,0xe79dde6c75e6e591L,0xf52072aff1dac4f8L,
  37478. 0x6c8d087ebb9b404dL } },
  37479. /* 12 << 245 */
  37480. { { 0xad0fc73dbce913afL,0x909e587b458a07cbL,0x1300da84d4f00c8aL,
  37481. 0x425cd048b54466acL },
  37482. { 0xb59cb9be90e9d8bfL,0x991616db3e431b0eL,0xd3aa117a531aecffL,
  37483. 0x91af92d359f4dc3bL } },
  37484. /* 13 << 245 */
  37485. { { 0x9b1ec292e93fda29L,0x76bb6c17e97d91bcL,0x7509d95faface1e6L,
  37486. 0x3653fe47be855ae3L },
  37487. { 0x73180b280f680e75L,0x75eefd1beeb6c26cL,0xa4cdf29fb66d4236L,
  37488. 0x2d70a9976b5821d8L } },
  37489. /* 14 << 245 */
  37490. { { 0x7a3ee20720445c36L,0x71d1ac8259877174L,0x0fc539f7949f73e9L,
  37491. 0xd05cf3d7982e3081L },
  37492. { 0x8758e20b7b1c7129L,0xffadcc20569e61f2L,0xb05d3a2f59544c2dL,
  37493. 0xbe16f5c19fff5e53L } },
  37494. /* 15 << 245 */
  37495. { { 0x73cf65b8aad58135L,0x622c2119037aa5beL,0x79373b3f646fd6a0L,
  37496. 0x0e029db50d3978cfL },
  37497. { 0x8bdfc43794fba037L,0xaefbd687620797a6L,0x3fa5382bbd30d38eL,
  37498. 0x7627cfbf585d7464L } },
  37499. /* 16 << 245 */
  37500. { { 0xb2330fef4e4ca463L,0xbcef72873566cc63L,0xd161d2cacf780900L,
  37501. 0x135dc5395b54827dL },
  37502. { 0x638f052e27bf1bc6L,0x10a224f007dfa06cL,0xe973586d6d3321daL,
  37503. 0x8b0c573826152c8fL } },
  37504. /* 17 << 245 */
  37505. { { 0x07ef4f2a34606074L,0x80fe7fe8a0f7047aL,0x3d1a8152e1a0e306L,
  37506. 0x32cf43d888da5222L },
  37507. { 0xbf89a95f5f02ffe6L,0x3d9eb9a4806ad3eaL,0x012c17bb79c8e55eL,
  37508. 0xfdcd1a7499c81dacL } },
  37509. /* 18 << 245 */
  37510. { { 0x7043178bb9556098L,0x4090a1df801c3886L,0x759800ff9b67b912L,
  37511. 0x3e5c0304232620c8L },
  37512. { 0x4b9d3c4b70dceecaL,0xbb2d3c15181f648eL,0xf981d8376e33345cL,
  37513. 0xb626289b0cf2297aL } },
  37514. /* 19 << 245 */
  37515. { { 0x766ac6598baebdcfL,0x1a28ae0975df01e5L,0xb71283da375876d8L,
  37516. 0x4865a96d607b9800L },
  37517. { 0x25dd1bcd237936b2L,0x332f4f4b60417494L,0xd0923d68370a2147L,
  37518. 0x497f5dfbdc842203L } },
  37519. /* 20 << 245 */
  37520. { { 0x9dc74cbd32be5e0fL,0x7475bcb717a01375L,0x438477c950d872b1L,
  37521. 0xcec67879ffe1d63dL },
  37522. { 0x9b006014d8578c70L,0xc9ad99a878bb6b8bL,0x6799008e11fb3806L,
  37523. 0xcfe81435cd44cab3L } },
  37524. /* 21 << 245 */
  37525. { { 0xa2ee15822f4fb344L,0xb8823450483fa6ebL,0x622d323d652c7749L,
  37526. 0xd8474a98beb0a15bL },
  37527. { 0xe43c154d5d1c00d0L,0x7fd581d90e3e7aacL,0x2b44c6192525ddf8L,
  37528. 0x67a033ebb8ae9739L } },
  37529. /* 22 << 245 */
  37530. { { 0x113ffec19ef2d2e4L,0x1bf6767ed5a0ea7fL,0x57fff75e03714c0aL,
  37531. 0xa23c422e0a23e9eeL },
  37532. { 0xdd5f6b2d540f83afL,0xc2c2c27e55ea46a7L,0xeb6b4246672a1208L,
  37533. 0xd13599f7ae634f7aL } },
  37534. /* 23 << 245 */
  37535. { { 0xcf914b5cd7b32c6eL,0x61a5a640eaf61814L,0x8dc3df8b208a1bbbL,
  37536. 0xef627fd6b6d79aa5L },
  37537. { 0x44232ffcc4c86bc8L,0xe6f9231b061539feL,0x1d04f25a958b9533L,
  37538. 0x180cf93449e8c885L } },
  37539. /* 24 << 245 */
  37540. { { 0x896895959884aaf7L,0xb1959be307b348a6L,0x96250e573c147c87L,
  37541. 0xae0efb3add0c61f8L },
  37542. { 0xed00745eca8c325eL,0x3c911696ecff3f70L,0x73acbc65319ad41dL,
  37543. 0x7b01a020f0b1c7efL } },
  37544. /* 25 << 245 */
  37545. { { 0xea32b29363a1483fL,0x89eabe717a248f96L,0x9c6231d3343157e5L,
  37546. 0x93a375e5df3c546dL },
  37547. { 0xe76e93436a2afe69L,0xc4f89100e166c88eL,0x248efd0d4f872093L,
  37548. 0xae0eb3ea8fe0ea61L } },
  37549. /* 26 << 245 */
  37550. { { 0xaf89790d9d79046eL,0x4d650f2d6cee0976L,0xa3935d9a43071ecaL,
  37551. 0x66fcd2c9283b0bfeL },
  37552. { 0x0e665eb5696605f1L,0xe77e5d07a54cd38dL,0x90ee050a43d950cfL,
  37553. 0x86ddebdad32e69b5L } },
  37554. /* 27 << 245 */
  37555. { { 0x6ad94a3dfddf7415L,0xf7fa13093f6e8d5aL,0xc4831d1de9957f75L,
  37556. 0x7de28501d5817447L },
  37557. { 0x6f1d70789e2aeb6bL,0xba2b9ff4f67a53c2L,0x36963767df9defc3L,
  37558. 0x479deed30d38022cL } },
  37559. /* 28 << 245 */
  37560. { { 0xd2edb89b3a8631e8L,0x8de855de7a213746L,0xb2056cb7b00c5f11L,
  37561. 0xdeaefbd02c9b85e4L },
  37562. { 0x03f39a8dd150892dL,0x37b84686218b7985L,0x36296dd8b7375f1aL,
  37563. 0x472cd4b1b78e898eL } },
  37564. /* 29 << 245 */
  37565. { { 0x15dff651e9f05de9L,0xd40450692ce98ba9L,0x8466a7ae9b38024cL,
  37566. 0xb910e700e5a6b5efL },
  37567. { 0xae1c56eab3aa8f0dL,0xbab2a5077eee74a6L,0x0dca11e24b4c4620L,
  37568. 0xfd896e2e4c47d1f4L } },
  37569. /* 30 << 245 */
  37570. { { 0xeb45ae53308fbd93L,0x46cd5a2e02c36fdaL,0x6a3d4e90baa48385L,
  37571. 0xdd55e62e9dbe9960L },
  37572. { 0xa1406aa02a81ede7L,0x6860dd14f9274ea7L,0xcfdcb0c280414f86L,
  37573. 0xff410b1022f94327L } },
  37574. /* 31 << 245 */
  37575. { { 0x5a33cc3849ad467bL,0xefb48b6c0a7335f1L,0x14fb54a4b153a360L,
  37576. 0x604aa9d2b52469ccL },
  37577. { 0x5e9dc486754e48e9L,0x693cb45537471e8eL,0xfb2fd7cd8d3b37b6L,
  37578. 0x63345e16cf09ff07L } },
  37579. /* 32 << 245 */
  37580. { { 0x9910ba6b23a5d896L,0x1fe19e357fe4364eL,0x6e1da8c39a33c677L,
  37581. 0x15b4488b29fd9fd0L },
  37582. { 0x1f4392541a1f22bfL,0x920a8a70ab8163e8L,0x3fd1b24907e5658eL,
  37583. 0xf2c4f79cb6ec839bL } },
  37584. /* 33 << 245 */
  37585. { { 0x1abbc3d04aa38d1bL,0x3b0db35cb5d9510eL,0x1754ac783e60dec0L,
  37586. 0x53272fd7ea099b33L },
  37587. { 0x5fb0494f07a8e107L,0x4a89e1376a8191faL,0xa113b7f63c4ad544L,
  37588. 0x88a2e9096cb9897bL } },
  37589. /* 34 << 245 */
  37590. { { 0x17d55de3b44a3f84L,0xacb2f34417c6c690L,0x3208816810232390L,
  37591. 0xf2e8a61f6c733bf7L },
  37592. { 0xa774aab69c2d7652L,0xfb5307e3ed95c5bcL,0xa05c73c24981f110L,
  37593. 0x1baae31ca39458c9L } },
  37594. /* 35 << 245 */
  37595. { { 0x1def185bcbea62e7L,0xe8ac9eaeeaf63059L,0x098a8cfd9921851cL,
  37596. 0xd959c3f13abe2f5bL },
  37597. { 0xa4f1952520e40ae5L,0x320789e307a24aa1L,0x259e69277392b2bcL,
  37598. 0x58f6c6671918668bL } },
  37599. /* 36 << 245 */
  37600. { { 0xce1db2bbc55d2d8bL,0x41d58bb7f4f6ca56L,0x7650b6808f877614L,
  37601. 0x905e16baf4c349edL },
  37602. { 0xed415140f661acacL,0x3b8784f0cb2270afL,0x3bc280ac8a402cbaL,
  37603. 0xd53f71460937921aL } },
  37604. /* 37 << 245 */
  37605. { { 0xc03c8ee5e5681e83L,0x62126105f6ac9e4aL,0x9503a53f936b1a38L,
  37606. 0x3d45e2d4782fecbdL },
  37607. { 0x69a5c43976e8ae98L,0xb53b2eebbfb4b00eL,0xf167471272386c89L,
  37608. 0x30ca34a24268bce4L } },
  37609. /* 38 << 245 */
  37610. { { 0x7f1ed86c78341730L,0x8ef5beb8b525e248L,0xbbc489fdb74fbf38L,
  37611. 0x38a92a0e91a0b382L },
  37612. { 0x7a77ba3f22433ccfL,0xde8362d6a29f05a9L,0x7f6a30ea61189afcL,
  37613. 0x693b550559ef114fL } },
  37614. /* 39 << 245 */
  37615. { { 0x50266bc0cd1797a1L,0xea17b47ef4b7af2dL,0xd6c4025c3df9483eL,
  37616. 0x8cbb9d9fa37b18c9L },
  37617. { 0x91cbfd9c4d8424cfL,0xdb7048f1ab1c3506L,0x9eaf641f028206a3L,
  37618. 0xf986f3f925bdf6ceL } },
  37619. /* 40 << 245 */
  37620. { { 0x262143b5224c08dcL,0x2bbb09b481b50c91L,0xc16ed709aca8c84fL,
  37621. 0xa6210d9db2850ca8L },
  37622. { 0x6d8df67a09cb54d6L,0x91eef6e0500919a4L,0x90f613810f132857L,
  37623. 0x9acede47f8d5028bL } },
  37624. /* 41 << 245 */
  37625. { { 0x844d1b7190b771c3L,0x563b71e4ba6426beL,0x2efa2e83bdb802ffL,
  37626. 0x3410cbabab5b4a41L },
  37627. { 0x555b2d2630da84ddL,0xd0711ae9ee1cc29aL,0xcf3e8c602f547792L,
  37628. 0x03d7d5dedc678b35L } },
  37629. /* 42 << 245 */
  37630. { { 0x071a2fa8ced806b8L,0x222e6134697f1478L,0xdc16fd5dabfcdbbfL,
  37631. 0x44912ebf121b53b8L },
  37632. { 0xac9436742496c27cL,0x8ea3176c1ffc26b0L,0xb6e224ac13debf2cL,
  37633. 0x524cc235f372a832L } },
  37634. /* 43 << 245 */
  37635. { { 0xd706e1d89f6f1b18L,0x2552f00544cce35bL,0x8c8326c2a88e31fcL,
  37636. 0xb5468b2cf9552047L },
  37637. { 0xce683e883ff90f2bL,0x77947bdf2f0a5423L,0xd0a1b28bed56e328L,
  37638. 0xaee35253c20134acL } },
  37639. /* 44 << 245 */
  37640. { { 0x7e98367d3567962fL,0x379ed61f8188bffbL,0x73bba348faf130a1L,
  37641. 0x6c1f75e1904ed734L },
  37642. { 0x189566423b4a79fcL,0xf20bc83d54ef4493L,0x836d425d9111eca1L,
  37643. 0xe5b5c318009a8dcfL } },
  37644. /* 45 << 245 */
  37645. { { 0x3360b25d13221bc5L,0x707baad26b3eeaf7L,0xd7279ed8743a95a1L,
  37646. 0x7450a875969e809fL },
  37647. { 0x32b6bd53e5d0338fL,0x1e77f7af2b883bbcL,0x90da12cc1063ecd0L,
  37648. 0xe2697b58c315be47L } },
  37649. /* 46 << 245 */
  37650. { { 0x2771a5bdda85d534L,0x53e78c1fff980eeaL,0xadf1cf84900385e7L,
  37651. 0x7d3b14f6c9387b62L },
  37652. { 0x170e74b0cb8f2bd2L,0x2d50b486827fa993L,0xcdbe8c9af6f32babL,
  37653. 0x55e906b0c3b93ab8L } },
  37654. /* 47 << 245 */
  37655. { { 0x747f22fc8fe280d1L,0xcd8e0de5b2e114abL,0x5ab7dbebe10b68b0L,
  37656. 0x9dc63a9ca480d4b2L },
  37657. { 0x78d4bc3b4be1495fL,0x25eb3db89359122dL,0x3f8ac05b0809cbdcL,
  37658. 0xbf4187bbd37c702fL } },
  37659. /* 48 << 245 */
  37660. { { 0x84cea0691416a6a5L,0x8f860c7943ef881cL,0x41311f8a38038a5dL,
  37661. 0xe78c2ec0fc612067L },
  37662. { 0x494d2e815ad73581L,0xb4cc9e0059604097L,0xff558aecf3612cbaL,
  37663. 0x35beef7a9e36c39eL } },
  37664. /* 49 << 245 */
  37665. { { 0x1845c7cfdbcf41b9L,0x5703662aaea997c0L,0x8b925afee402f6d8L,
  37666. 0xd0a1b1ae4dd72162L },
  37667. { 0x9f47b37503c41c4bL,0xa023829b0391d042L,0x5f5045c3503b8b0aL,
  37668. 0x123c268898c010e5L } },
  37669. /* 50 << 245 */
  37670. { { 0x324ec0cc36ba06eeL,0xface31153dd2cc0cL,0xb364f3bef333e91fL,
  37671. 0xef8aff7328e832b0L },
  37672. { 0x1e9bad042d05841bL,0x42f0e3df356a21e2L,0xa3270bcb4add627eL,
  37673. 0xb09a8158d322e711L } },
  37674. /* 51 << 245 */
  37675. { { 0x86e326a10fee104aL,0xad7788f83703f65dL,0x7e76543047bc4833L,
  37676. 0x6cee582b2b9b893aL },
  37677. { 0x9cd2a167e8f55a7bL,0xefbee3c6d9e4190dL,0x33ee7185d40c2e9dL,
  37678. 0x844cc9c5a380b548L } },
  37679. /* 52 << 245 */
  37680. { { 0x323f8ecd66926e04L,0x0001e38f8110c1baL,0x8dbcac12fc6a7f07L,
  37681. 0xd65e1d580cec0827L },
  37682. { 0xd2cd4141be76ca2dL,0x7895cf5ce892f33aL,0x956d230d367139d2L,
  37683. 0xa91abd3ed012c4c1L } },
  37684. /* 53 << 245 */
  37685. { { 0x34fa488387eb36bfL,0xc5f07102914b8fb4L,0x90f0e579adb9c95fL,
  37686. 0xfe6ea8cb28888195L },
  37687. { 0x7b9b5065edfa9284L,0x6c510bd22b8c8d65L,0xd7b8ebefcbe8aafdL,
  37688. 0xedb3af9896b1da07L } },
  37689. /* 54 << 245 */
  37690. { { 0x28ff779d6295d426L,0x0c4f6ac73fa3ad7bL,0xec44d0548b8e2604L,
  37691. 0x9b32a66d8b0050e1L },
  37692. { 0x1f943366f0476ce2L,0x7554d953a602c7b4L,0xbe35aca6524f2809L,
  37693. 0xb6881229fd4edbeaL } },
  37694. /* 55 << 245 */
  37695. { { 0xe8cd0c8f508efb63L,0x9eb5b5c86abcefc7L,0xf5621f5fb441ab4fL,
  37696. 0x79e6c046b76a2b22L },
  37697. { 0x74a4792ce37a1f69L,0xcbd252cb03542b60L,0x785f65d5b3c20bd3L,
  37698. 0x8dea61434fabc60cL } },
  37699. /* 56 << 245 */
  37700. { { 0x45e21446de673629L,0x57f7aa1e703c2d21L,0xa0e99b7f98c868c7L,
  37701. 0x4e42f66d8b641676L },
  37702. { 0x602884dc91077896L,0xa0d690cfc2c9885bL,0xfeb4da333b9a5187L,
  37703. 0x5f789598153c87eeL } },
  37704. /* 57 << 245 */
  37705. { { 0x2192dd4752b16dbaL,0xdeefc0e63524c1b1L,0x465ea76ee4383693L,
  37706. 0x79401711361b8d98L },
  37707. { 0xa5f9ace9f21a15cbL,0x73d26163efee9aebL,0xcca844b3e677016cL,
  37708. 0x6c122b0757eaee06L } },
  37709. /* 58 << 245 */
  37710. { { 0xb782dce715f09690L,0x508b9b122dfc0fc9L,0x9015ab4b65d89fc6L,
  37711. 0x5e79dab7d6d5bb0fL },
  37712. { 0x64f021f06c775aa2L,0xdf09d8cc37c7eca1L,0x9a761367ef2fa506L,
  37713. 0xed4ca4765b81eec6L } },
  37714. /* 59 << 245 */
  37715. { { 0x262ede3610bbb8b5L,0x0737ce830641ada3L,0x4c94288ae9831cccL,
  37716. 0x487fc1ce8065e635L },
  37717. { 0xb13d7ab3b8bb3659L,0xdea5df3e855e4120L,0xb9a1857385eb0244L,
  37718. 0x1a1b8ea3a7cfe0a3L } },
  37719. /* 60 << 245 */
  37720. { { 0x3b83711967b0867cL,0x8d5e0d089d364520L,0x52dccc1ed930f0e3L,
  37721. 0xefbbcec7bf20bbafL },
  37722. { 0x99cffcab0263ad10L,0xd8199e6dfcd18f8aL,0x64e2773fe9f10617L,
  37723. 0x0079e8e108704848L } },
  37724. /* 61 << 245 */
  37725. { { 0x1169989f8a342283L,0x8097799ca83012e6L,0xece966cb8a6a9001L,
  37726. 0x93b3afef072ac7fcL },
  37727. { 0xe6893a2a2db3d5baL,0x263dc46289bf4fdcL,0x8852dfc9e0396673L,
  37728. 0x7ac708953af362b6L } },
  37729. /* 62 << 245 */
  37730. { { 0xbb9cce4d5c2f342bL,0xbf80907ab52d7aaeL,0x97f3d3cd2161bcd0L,
  37731. 0xb25b08340962744dL },
  37732. { 0xc5b18ea56c3a1ddaL,0xfe4ec7eb06c92317L,0xb787b890ad1c4afeL,
  37733. 0xdccd9a920ede801aL } },
  37734. /* 63 << 245 */
  37735. { { 0x9ac6dddadb58da1fL,0x22bbc12fb8cae6eeL,0xc6f8bced815c4a43L,
  37736. 0x8105a92cf96480c7L },
  37737. { 0x0dc3dbf37a859d51L,0xe3ec7ce63041196bL,0xd9f64b250d1067c9L,
  37738. 0xf23213213d1f8dd8L } },
  37739. /* 64 << 245 */
  37740. { { 0x8b5c619c76497ee8L,0x5d2b0ac6c717370eL,0x98204cb64fcf68e1L,
  37741. 0x0bdec21162bc6792L },
  37742. { 0x6973ccefa63b1011L,0xf9e3fa97e0de1ac5L,0x5efb693e3d0e0c8bL,
  37743. 0x037248e9d2d4fcb4L } },
  37744. /* 0 << 252 */
  37745. { { 0x00, 0x00, 0x00, 0x00 },
  37746. { 0x00, 0x00, 0x00, 0x00 } },
  37747. /* 1 << 252 */
  37748. { { 0x80802dc91ec34f9eL,0xd8772d3533810603L,0x3f06d66c530cb4f3L,
  37749. 0x7be5ed0dc475c129L },
  37750. { 0xcb9e3c1931e82b10L,0xc63d2857c9ff6b4cL,0xb92118c692a1b45eL,
  37751. 0x0aec44147285bbcaL } },
  37752. /* 2 << 252 */
  37753. { { 0xfc189ae71e29a3efL,0xcbe906f04c93302eL,0xd0107914ceaae10eL,
  37754. 0xb7a23f34b68e19f8L },
  37755. { 0xe9d875c2efd2119dL,0x03198c6efcadc9c8L,0x65591bf64da17113L,
  37756. 0x3cf0bbf83d443038L } },
  37757. /* 3 << 252 */
  37758. { { 0xae485bb72b724759L,0x945353e1b2d4c63aL,0x82159d07de7d6f2cL,
  37759. 0x389caef34ec5b109L },
  37760. { 0x4a8ebb53db65ef14L,0x2dc2cb7edd99de43L,0x816fa3ed83f2405fL,
  37761. 0x73429bb9c14208a3L } },
  37762. /* 4 << 252 */
  37763. { { 0xb618d590b01e6e27L,0x047e2ccde180b2dcL,0xd1b299b504aea4a9L,
  37764. 0x412c9e1e9fa403a4L },
  37765. { 0x88d28a3679407552L,0x49c50136f332b8e3L,0x3a1b6fcce668de19L,
  37766. 0x178851bc75122b97L } },
  37767. /* 5 << 252 */
  37768. { { 0xb1e13752fb85fa4cL,0xd61257ce383c8ce9L,0xd43da670d2f74daeL,
  37769. 0xa35aa23fbf846bbbL },
  37770. { 0x5e74235d4421fc83L,0xf6df8ee0c363473bL,0x34d7f52a3c4aa158L,
  37771. 0x50d05aab9bc6d22eL } },
  37772. /* 6 << 252 */
  37773. { { 0x8c56e735a64785f4L,0xbc56637b5f29cd07L,0x53b2bb803ee35067L,
  37774. 0x50235a0fdc919270L },
  37775. { 0x191ab6d8f2c4aa65L,0xc34758318396023bL,0x80400ba5f0f805baL,
  37776. 0x8881065b5ec0f80fL } },
  37777. /* 7 << 252 */
  37778. { { 0xc370e522cc1b5e83L,0xde2d4ad1860b8bfbL,0xad364df067b256dfL,
  37779. 0x8f12502ee0138997L },
  37780. { 0x503fa0dc7783920aL,0xe80014adc0bc866aL,0x3f89b744d3064ba6L,
  37781. 0x03511dcdcba5dba5L } },
  37782. /* 8 << 252 */
  37783. { { 0x197dd46d95a7b1a2L,0x9c4e7ad63c6341fbL,0x426eca29484c2eceL,
  37784. 0x9211e489de7f4f8aL },
  37785. { 0x14997f6ec78ef1f4L,0x2b2c091006574586L,0x17286a6e1c3eede8L,
  37786. 0x25f92e470f60e018L } },
  37787. /* 9 << 252 */
  37788. { { 0x805c564631890a36L,0x703ef60057feea5bL,0x389f747caf3c3030L,
  37789. 0xe0e5daeb54dd3739L },
  37790. { 0xfe24a4c3c9c9f155L,0x7e4bf176b5393962L,0x37183de2af20bf29L,
  37791. 0x4a1bd7b5f95a8c3bL } },
  37792. /* 10 << 252 */
  37793. { { 0xa83b969946191d3dL,0x281fc8dd7b87f257L,0xb18e2c1354107588L,
  37794. 0x6372def79b2bafe8L },
  37795. { 0xdaf4bb480d8972caL,0x3f2dd4b756167a3fL,0x1eace32d84310cf4L,
  37796. 0xe3bcefafe42700aaL } },
  37797. /* 11 << 252 */
  37798. { { 0x5fe5691ed785e73dL,0xa5db5ab62ea60467L,0x02e23d41dfc6514aL,
  37799. 0x35e8048ee03c3665L },
  37800. { 0x3f8b118f1adaa0f8L,0x28ec3b4584ce1a5aL,0xe8cacc6e2c6646b8L,
  37801. 0x1343d185dbd0e40fL } },
  37802. /* 12 << 252 */
  37803. { { 0xe5d7f844caaa358cL,0x1a1db7e49924182aL,0xd64cd42d9c875d9aL,
  37804. 0xb37b515f042eeec8L },
  37805. { 0x4d4dd4097b165fbeL,0xfc322ed9e206eff3L,0x7dee410259b7e17eL,
  37806. 0x55a481c08236ca00L } },
  37807. /* 13 << 252 */
  37808. { { 0x8c885312c23fc975L,0x1571580605d6297bL,0xa078868ef78edd39L,
  37809. 0x956b31e003c45e52L },
  37810. { 0x470275d5ff7b33a6L,0xc8d5dc3a0c7e673fL,0x419227b47e2f2598L,
  37811. 0x8b37b6344c14a975L } },
  37812. /* 14 << 252 */
  37813. { { 0xd0667ed68b11888cL,0x5e0e8c3e803e25dcL,0x34e5d0dcb987a24aL,
  37814. 0x9f40ac3bae920323L },
  37815. { 0x5463de9534e0f63aL,0xa128bf926b6328f9L,0x491ccd7cda64f1b7L,
  37816. 0x7ef1ec27c47bde35L } },
  37817. /* 15 << 252 */
  37818. { { 0xa857240fa36a2737L,0x35dc136663621bc1L,0x7a3a6453d4fb6897L,
  37819. 0x80f1a439c929319dL },
  37820. { 0xfc18274bf8cb0ba0L,0xb0b537668078c5ebL,0xfb0d49241e01d0efL,
  37821. 0x50d7c67d372ab09cL } },
  37822. /* 16 << 252 */
  37823. { { 0xb4e370af3aeac968L,0xe4f7fee9c4b63266L,0xb4acd4c2e3ac5664L,
  37824. 0xf8910bd2ceb38cbfL },
  37825. { 0x1c3ae50cc9c0726eL,0x15309569d97b40bfL,0x70884b7ffd5a5a1bL,
  37826. 0x3890896aef8314cdL } },
  37827. /* 17 << 252 */
  37828. { { 0x58e1515ca5618c93L,0xe665432b77d942d1L,0xb32181bfb6f767a8L,
  37829. 0x753794e83a604110L },
  37830. { 0x09afeb7ce8c0dbccL,0x31e02613598673a3L,0x5d98e5577d46db00L,
  37831. 0xfc21fb8c9d985b28L } },
  37832. /* 18 << 252 */
  37833. { { 0xc9040116b0843e0bL,0x53b1b3a869b04531L,0xdd1649f085d7d830L,
  37834. 0xbb3bcc87cb7427e8L },
  37835. { 0x77261100c93dce83L,0x7e79da61a1922a2aL,0x587a2b02f3149ce8L,
  37836. 0x147e1384de92ec83L } },
  37837. /* 19 << 252 */
  37838. { { 0x484c83d3af077f30L,0xea78f8440658b53aL,0x912076c2027aec53L,
  37839. 0xf34714e393c8177dL },
  37840. { 0x37ef5d15c2376c84L,0x8315b6593d1aa783L,0x3a75c484ef852a90L,
  37841. 0x0ba0c58a16086bd4L } },
  37842. /* 20 << 252 */
  37843. { { 0x29688d7a529a6d48L,0x9c7f250dc2f19203L,0x123042fb682e2df9L,
  37844. 0x2b7587e7ad8121bcL },
  37845. { 0x30fc0233e0182a65L,0xb82ecf87e3e1128aL,0x7168286193fb098fL,
  37846. 0x043e21ae85e9e6a7L } },
  37847. /* 21 << 252 */
  37848. { { 0xab5b49d666c834eaL,0x3be43e1847414287L,0xf40fb859219a2a47L,
  37849. 0x0e6559e9cc58df3cL },
  37850. { 0xfe1dfe8e0c6615b4L,0x14abc8fd56459d70L,0x7be0fa8e05de0386L,
  37851. 0x8e63ef68e9035c7cL } },
  37852. /* 22 << 252 */
  37853. { { 0x116401b453b31e91L,0x0cba7ad44436b4d8L,0x9151f9a0107afd66L,
  37854. 0xafaca8d01f0ee4c4L },
  37855. { 0x75fe5c1d9ee9761cL,0x3497a16bf0c0588fL,0x3ee2bebd0304804cL,
  37856. 0xa8fb9a60c2c990b9L } },
  37857. /* 23 << 252 */
  37858. { { 0xd14d32fe39251114L,0x36bf25bccac73366L,0xc9562c66dba7495cL,
  37859. 0x324d301b46ad348bL },
  37860. { 0x9f46620cd670407eL,0x0ea8d4f1e3733a01L,0xd396d532b0c324e0L,
  37861. 0x5b211a0e03c317cdL } },
  37862. /* 24 << 252 */
  37863. { { 0x090d7d205ffe7b37L,0x3b7f3efb1747d2daL,0xa2cb525fb54fc519L,
  37864. 0x6e220932f66a971eL },
  37865. { 0xddc160dfb486d440L,0x7fcfec463fe13465L,0x83da7e4e76e4c151L,
  37866. 0xd6fa48a1d8d302b5L } },
  37867. /* 25 << 252 */
  37868. { { 0xc6304f265872cd88L,0x806c1d3c278b90a1L,0x3553e725caf0bc1cL,
  37869. 0xff59e603bb9d8d5cL },
  37870. { 0xa4550f327a0b85ddL,0xdec5720a93ecc217L,0x0b88b74169d62213L,
  37871. 0x7212f2455b365955L } },
  37872. /* 26 << 252 */
  37873. { { 0x20764111b5cae787L,0x13cb7f581dfd3124L,0x2dca77da1175aefbL,
  37874. 0xeb75466bffaae775L },
  37875. { 0x74d76f3bdb6cff32L,0x7440f37a61fcda9aL,0x1bb3ac92b525028bL,
  37876. 0x20fbf8f7a1975f29L } },
  37877. /* 27 << 252 */
  37878. { { 0x982692e1df83097fL,0x28738f6c554b0800L,0xdc703717a2ce2f2fL,
  37879. 0x7913b93c40814194L },
  37880. { 0x049245931fe89636L,0x7b98443ff78834a6L,0x11c6ab015114a5a1L,
  37881. 0x60deb383ffba5f4cL } },
  37882. /* 28 << 252 */
  37883. { { 0x4caa54c601a982e6L,0x1dd35e113491cd26L,0x973c315f7cbd6b05L,
  37884. 0xcab0077552494724L },
  37885. { 0x04659b1f6565e15aL,0xbf30f5298c8fb026L,0xfc21641ba8a0de37L,
  37886. 0xe9c7a366fa5e5114L } },
  37887. /* 29 << 252 */
  37888. { { 0xdb849ca552f03ad8L,0xc7e8dbe9024e35c0L,0xa1a2bbaccfc3c789L,
  37889. 0xbf733e7d9c26f262L },
  37890. { 0x882ffbf5b8444823L,0xb7224e886bf8483bL,0x53023b8b65bef640L,
  37891. 0xaabfec91d4d5f8cdL } },
  37892. /* 30 << 252 */
  37893. { { 0xa40e1510079ea1bdL,0x1ad9addcd05d5d26L,0xdb3f2eab13e68d4fL,
  37894. 0x1cff1ae2640f803fL },
  37895. { 0xe0e7b749d4cee117L,0x8e9f275b4036d909L,0xce34e31d8f4d4c38L,
  37896. 0x22b37f69d75130fcL } },
  37897. /* 31 << 252 */
  37898. { { 0x83e0f1fdb4014604L,0xa8ce991989415078L,0x82375b7541792efeL,
  37899. 0x4f59bf5c97d4515bL },
  37900. { 0xac4f324f923a277dL,0xd9bc9b7d650f3406L,0xc6fa87d18a39bc51L,
  37901. 0x825885305ccc108fL } },
  37902. /* 32 << 252 */
  37903. { { 0x5ced3c9f82e4c634L,0x8efb83143a4464f8L,0xe706381b7a1dca25L,
  37904. 0x6cd15a3c5a2a412bL },
  37905. { 0x9347a8fdbfcd8fb5L,0x31db2eef6e54cd22L,0xc4aeb11ef8d8932fL,
  37906. 0x11e7c1ed344411afL } },
  37907. /* 33 << 252 */
  37908. { { 0x2653050cdc9a151eL,0x9edbfc083bb0a859L,0x926c81c7fd5691e7L,
  37909. 0x9c1b23426f39019aL },
  37910. { 0x64a81c8b7f8474b9L,0x90657c0701761819L,0x390b333155e0375aL,
  37911. 0xc676c626b6ebc47dL } },
  37912. /* 34 << 252 */
  37913. { { 0x51623247b7d6dee8L,0x0948d92779659313L,0x99700161e9ab35edL,
  37914. 0x06cc32b48ddde408L },
  37915. { 0x6f2fd664061ef338L,0x1606fa02c202e9edL,0x55388bc1929ba99bL,
  37916. 0xc4428c5e1e81df69L } },
  37917. /* 35 << 252 */
  37918. { { 0xce2028aef91b0b2aL,0xce870a23f03dfd3fL,0x66ec2c870affe8edL,
  37919. 0xb205fb46284d0c00L },
  37920. { 0xbf5dffe744cefa48L,0xb6fc37a8a19876d7L,0xbecfa84c08b72863L,
  37921. 0xd7205ff52576374fL } },
  37922. /* 36 << 252 */
  37923. { { 0x80330d328887de41L,0x5de0df0c869ea534L,0x13f427533c56ea17L,
  37924. 0xeb1f6069452b1a78L },
  37925. { 0x50474396e30ea15cL,0x575816a1c1494125L,0xbe1ce55bfe6bb38fL,
  37926. 0xb901a94896ae30f7L } },
  37927. /* 37 << 252 */
  37928. { { 0xe5af0f08d8fc3548L,0x5010b5d0d73bfd08L,0x993d288053fe655aL,
  37929. 0x99f2630b1c1309fdL },
  37930. { 0xd8677bafb4e3b76fL,0x14e51ddcb840784bL,0x326c750cbf0092ceL,
  37931. 0xc83d306bf528320fL } },
  37932. /* 38 << 252 */
  37933. { { 0xc445671577d4715cL,0xd30019f96b703235L,0x207ccb2ed669e986L,
  37934. 0x57c824aff6dbfc28L },
  37935. { 0xf0eb532fd8f92a23L,0x4a557fd49bb98fd2L,0xa57acea7c1e6199aL,
  37936. 0x0c6638208b94b1edL } },
  37937. /* 39 << 252 */
  37938. { { 0x9b42be8ff83a9266L,0xc7741c970101bd45L,0x95770c1107bd9cebL,
  37939. 0x1f50250a8b2e0744L },
  37940. { 0xf762eec81477b654L,0xc65b900e15efe59aL,0x88c961489546a897L,
  37941. 0x7e8025b3c30b4d7cL } },
  37942. /* 40 << 252 */
  37943. { { 0xae4065ef12045cf9L,0x6fcb2caf9ccce8bdL,0x1fa0ba4ef2cf6525L,
  37944. 0xf683125dcb72c312L },
  37945. { 0xa01da4eae312410eL,0x67e286776cd8e830L,0xabd9575298fb3f07L,
  37946. 0x05f11e11eef649a5L } },
  37947. /* 41 << 252 */
  37948. { { 0xba47faef9d3472c2L,0x3adff697c77d1345L,0x4761fa04dd15afeeL,
  37949. 0x64f1f61ab9e69462L },
  37950. { 0xfa691fab9bfb9093L,0x3df8ae8fa1133dfeL,0xcd5f896758cc710dL,
  37951. 0xfbb88d5016c7fe79L } },
  37952. /* 42 << 252 */
  37953. { { 0x8e011b4ce88c50d1L,0x7532e807a8771c4fL,0x64c78a48e2278ee4L,
  37954. 0x0b283e833845072aL },
  37955. { 0x98a6f29149e69274L,0xb96e96681868b21cL,0x38f0adc2b1a8908eL,
  37956. 0x90afcff71feb829dL } },
  37957. /* 43 << 252 */
  37958. { { 0x9915a383210b0856L,0xa5a80602def04889L,0x800e9af97c64d509L,
  37959. 0x81382d0bb8996f6fL },
  37960. { 0x490eba5381927e27L,0x46c63b324af50182L,0x784c5fd9d3ad62ceL,
  37961. 0xe4fa1870f8ae8736L } },
  37962. /* 44 << 252 */
  37963. { { 0x4ec9d0bcd7466b25L,0x84ddbe1adb235c65L,0x5e2645ee163c1688L,
  37964. 0x570bd00e00eba747L },
  37965. { 0xfa51b629128bfa0fL,0x92fce1bd6c1d3b68L,0x3e7361dcb66778b1L,
  37966. 0x9c7d249d5561d2bbL } },
  37967. /* 45 << 252 */
  37968. { { 0xa40b28bf0bbc6229L,0x1c83c05edfd91497L,0x5f9f5154f083df05L,
  37969. 0xbac38b3ceee66c9dL },
  37970. { 0xf71db7e3ec0dfcfdL,0xf2ecda8e8b0a8416L,0x52fddd867812aa66L,
  37971. 0x2896ef104e6f4272L } },
  37972. /* 46 << 252 */
  37973. { { 0xff27186a0fe9a745L,0x08249fcd49ca70dbL,0x7425a2e6441cac49L,
  37974. 0xf4a0885aece5ff57L },
  37975. { 0x6e2cb7317d7ead58L,0xf96cf7d61898d104L,0xafe67c9d4f2c9a89L,
  37976. 0x89895a501c7bf5bcL } },
  37977. /* 47 << 252 */
  37978. { { 0xdc7cb8e5573cecfaL,0x66497eaed15f03e6L,0x6bc0de693f084420L,
  37979. 0x323b9b36acd532b0L },
  37980. { 0xcfed390a0115a3c1L,0x9414c40b2d65ca0eL,0x641406bd2f530c78L,
  37981. 0x29369a44833438f2L } },
  37982. /* 48 << 252 */
  37983. { { 0x996884f5903fa271L,0xe6da0fd2b9da921eL,0xa6f2f2695db01e54L,
  37984. 0x1ee3e9bd6876214eL },
  37985. { 0xa26e181ce27a9497L,0x36d254e48e215e04L,0x42f32a6c252cabcaL,
  37986. 0x9948148780b57614L } },
  37987. /* 49 << 252 */
  37988. { { 0x4c4dfe6940d9cae1L,0x0586958011a10f09L,0xca287b573491b64bL,
  37989. 0x77862d5d3fd4a53bL },
  37990. { 0xbf94856e50349126L,0x2be30bd171c5268fL,0x10393f19cbb650a6L,
  37991. 0x639531fe778cf9fdL } },
  37992. /* 50 << 252 */
  37993. { { 0x02556a11b2935359L,0xda38aa96af8c126eL,0x47dbe6c20960167fL,
  37994. 0x37bbabb6501901cdL },
  37995. { 0xb6e979e02c947778L,0xd69a51757a1a1dc6L,0xc3ed50959d9faf0cL,
  37996. 0x4dd9c0961d5fa5f0L } },
  37997. /* 51 << 252 */
  37998. { { 0xa0c4304d64f16ea8L,0x8b1cac167e718623L,0x0b5765467c67f03eL,
  37999. 0x559cf5adcbd88c01L },
  38000. { 0x074877bb0e2af19aL,0x1f717ec1a1228c92L,0x70bcb800326e8920L,
  38001. 0xec6e2c5c4f312804L } },
  38002. /* 52 << 252 */
  38003. { { 0x426aea7d3fca4752L,0xf12c09492211f62aL,0x24beecd87be7b6b5L,
  38004. 0xb77eaf4c36d7a27dL },
  38005. { 0x154c2781fda78fd3L,0x848a83b0264eeabeL,0x81287ef04ffe2bc4L,
  38006. 0x7b6d88c6b6b6fc2aL } },
  38007. /* 53 << 252 */
  38008. { { 0x805fb947ce417d99L,0x4b93dcc38b916cc4L,0x72e65bb321273323L,
  38009. 0xbcc1badd6ea9886eL },
  38010. { 0x0e2230114bc5ee85L,0xa561be74c18ee1e4L,0x762fd2d4a6bcf1f1L,
  38011. 0x50e6a5a495231489L } },
  38012. /* 54 << 252 */
  38013. { { 0xca96001fa00b500bL,0x5c098cfc5d7dcdf5L,0xa64e2d2e8c446a85L,
  38014. 0xbae9bcf1971f3c62L },
  38015. { 0x4ec226838435a2c5L,0x8ceaed6c4bad4643L,0xe9f8fb47ccccf4e3L,
  38016. 0xbd4f3fa41ce3b21eL } },
  38017. /* 55 << 252 */
  38018. { { 0xd79fb110a3db3292L,0xe28a37dab536c66aL,0x279ce87b8e49e6a9L,
  38019. 0x70ccfe8dfdcec8e3L },
  38020. { 0x2193e4e03ba464b2L,0x0f39d60eaca9a398L,0x7d7932aff82c12abL,
  38021. 0xd8ff50ed91e7e0f7L } },
  38022. /* 56 << 252 */
  38023. { { 0xea961058fa28a7e0L,0xc726cf250bf5ec74L,0xe74d55c8db229666L,
  38024. 0x0bd9abbfa57f5799L },
  38025. { 0x7479ef074dfc47b3L,0xd9c65fc30c52f91dL,0x8e0283fe36a8bde2L,
  38026. 0xa32a8b5e7d4b7280L } },
  38027. /* 57 << 252 */
  38028. { { 0x6a677c6112e83233L,0x0fbb3512dcc9bf28L,0x562e8ea50d780f61L,
  38029. 0x0db8b22b1dc4e89cL },
  38030. { 0x0a6fd1fb89be0144L,0x8c77d246ca57113bL,0x4639075dff09c91cL,
  38031. 0x5b47b17f5060824cL } },
  38032. /* 58 << 252 */
  38033. { { 0x58aea2b016287b52L,0xa1343520d0cd8eb0L,0x6148b4d0c5d58573L,
  38034. 0xdd2b6170291c68aeL },
  38035. { 0xa61b39291da3b3b7L,0x5f946d7908c4ac10L,0x4105d4a57217d583L,
  38036. 0x5061da3d25e6de5eL } },
  38037. /* 59 << 252 */
  38038. { { 0x3113940dec1b4991L,0xf12195e136f485aeL,0xa7507fb2731a2ee0L,
  38039. 0x95057a8e6e9e196eL },
  38040. { 0xa3c2c9112e130136L,0x97dfbb3633c60d15L,0xcaf3c581b300ee2bL,
  38041. 0x77f25d90f4bac8b8L } },
  38042. /* 60 << 252 */
  38043. { { 0xdb1c4f986d840cd6L,0x471d62c0e634288cL,0x8ec2f85ecec8a161L,
  38044. 0x41f37cbcfa6f4ae2L },
  38045. { 0x6793a20f4b709985L,0x7a7bd33befa8985bL,0x2c6a3fbd938e6446L,
  38046. 0x190426192a8d47c1L } },
  38047. /* 61 << 252 */
  38048. { { 0x16848667cc36975fL,0x02acf1689d5f1dfbL,0x62d41ad4613baa94L,
  38049. 0xb56fbb929f684670L },
  38050. { 0xce610d0de9e40569L,0x7b99c65f35489fefL,0x0c88ad1b3df18b97L,
  38051. 0x81b7d9be5d0e9edbL } },
  38052. /* 62 << 252 */
  38053. { { 0xd85218c0c716cc0aL,0xf4b5ff9085691c49L,0xa4fd666bce356ac6L,
  38054. 0x17c728954b327a7aL },
  38055. { 0xf93d5085da6be7deL,0xff71530e3301d34eL,0x4cd96442d8f448e8L,
  38056. 0x9283d3312ed18ffaL } },
  38057. /* 63 << 252 */
  38058. { { 0x4d33dd992a849870L,0xa716964b41576335L,0xff5e3a9b179be0e5L,
  38059. 0x5b9d6b1b83b13632L },
  38060. { 0x3b8bd7d4a52f313bL,0xc9dd95a0637a4660L,0x300359620b3e218fL,
  38061. 0xce1481a3c7b28a3cL } },
  38062. /* 64 << 252 */
  38063. { { 0xab41b43a43228d83L,0x24ae1c304ad63f99L,0x8e525f1a46a51229L,
  38064. 0x14af860fcd26d2b4L },
  38065. { 0xd6baef613f714aa1L,0xf51865adeb78795eL,0xd3e21fcee6a9d694L,
  38066. 0x82ceb1dd8a37b527L } },
  38067. };
  38068. /* Multiply the point by the scalar and return the result.
  38069. * If map is true then convert result to affine coordinates.
  38070. *
  38071. * Pre-computed table containing multiples of g times powers of 2.
  38072. * Width between powers is 7 bits.
  38073. * Accumulate into the result.
  38074. *
  38075. * r Resulting point.
  38076. * g Point to scalar multiply.
  38077. * k Scalar to multiply by.
  38078. * table Pre-computed table of points.
  38079. * map Indicates whether to convert result to affine.
  38080. * ct Constant time required.
  38081. * heap Heap to use for allocation.
  38082. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  38083. */
  38084. static int sp_256_ecc_mulmod_add_only_4(sp_point_256* r, const sp_point_256* g,
  38085. const sp_table_entry_256* table, const sp_digit* k, int map,
  38086. int ct, void* heap)
  38087. {
  38088. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38089. sp_point_256* rt = NULL;
  38090. sp_digit* tmp = NULL;
  38091. #else
  38092. sp_point_256 rt[2];
  38093. sp_digit tmp[2 * 4 * 6];
  38094. #endif
  38095. sp_point_256* p = NULL;
  38096. sp_digit* negy = NULL;
  38097. int i;
  38098. ecc_recode_256 v[37];
  38099. int err = MP_OKAY;
  38100. (void)g;
  38101. (void)ct;
  38102. (void)heap;
  38103. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38104. rt = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  38105. DYNAMIC_TYPE_ECC);
  38106. if (rt == NULL)
  38107. err = MEMORY_E;
  38108. if (err == MP_OKAY) {
  38109. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, heap,
  38110. DYNAMIC_TYPE_ECC);
  38111. if (tmp == NULL)
  38112. err = MEMORY_E;
  38113. }
  38114. #endif
  38115. if (err == MP_OKAY) {
  38116. negy = tmp;
  38117. p = rt + 1;
  38118. }
  38119. if (err == MP_OKAY) {
  38120. sp_256_ecc_recode_7_4(k, v);
  38121. XMEMCPY(p->z, p256_norm_mod, sizeof(p256_norm_mod));
  38122. XMEMCPY(rt->z, p256_norm_mod, sizeof(p256_norm_mod));
  38123. i = 36;
  38124. #ifndef WC_NO_CACHE_RESISTANT
  38125. if (ct) {
  38126. sp_256_get_entry_65_4(rt, &table[i * 65], v[i].i);
  38127. }
  38128. else
  38129. #endif
  38130. {
  38131. XMEMCPY(rt->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  38132. XMEMCPY(rt->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  38133. }
  38134. rt->infinity = !v[i].i;
  38135. for (--i; i>=0; i--) {
  38136. #ifndef WC_NO_CACHE_RESISTANT
  38137. if (ct) {
  38138. sp_256_get_entry_65_4(p, &table[i * 65], v[i].i);
  38139. }
  38140. else
  38141. #endif
  38142. {
  38143. XMEMCPY(p->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  38144. XMEMCPY(p->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  38145. }
  38146. p->infinity = !v[i].i;
  38147. sp_256_sub_4(negy, p256_mod, p->y);
  38148. sp_256_norm_4(negy);
  38149. sp_256_cond_copy_4(p->y, negy, 0 - v[i].neg);
  38150. sp_256_proj_point_add_qz1_4(rt, rt, p, tmp);
  38151. }
  38152. if (map != 0) {
  38153. sp_256_map_4(r, rt, tmp);
  38154. }
  38155. else {
  38156. XMEMCPY(r, rt, sizeof(sp_point_256));
  38157. }
  38158. }
  38159. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38160. if (tmp != NULL)
  38161. #endif
  38162. {
  38163. ForceZero(tmp, sizeof(sp_digit) * 2 * 4 * 6);
  38164. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38165. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  38166. #endif
  38167. }
  38168. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38169. if (rt != NULL)
  38170. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  38171. #endif
  38172. return err;
  38173. }
  38174. /* Multiply the base point of P256 by the scalar and return the result.
  38175. * If map is true then convert result to affine coordinates.
  38176. *
  38177. * r Resulting point.
  38178. * k Scalar to multiply by.
  38179. * map Indicates whether to convert result to affine.
  38180. * ct Constant time required.
  38181. * heap Heap to use for allocation.
  38182. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  38183. */
  38184. static int sp_256_ecc_mulmod_base_4(sp_point_256* r, const sp_digit* k,
  38185. int map, int ct, void* heap)
  38186. {
  38187. return sp_256_ecc_mulmod_add_only_4(r, NULL, p256_table,
  38188. k, map, ct, heap);
  38189. }
  38190. #endif /* WOLFSSL_SP_SMALL */
  38191. /* Multiply the base point of P256 by the scalar and return the result.
  38192. * If map is true then convert result to affine coordinates.
  38193. *
  38194. * km Scalar to multiply by.
  38195. * r Resulting point.
  38196. * map Indicates whether to convert result to affine.
  38197. * heap Heap to use for allocation.
  38198. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  38199. */
  38200. int sp_ecc_mulmod_base_256(const mp_int* km, ecc_point* r, int map, void* heap)
  38201. {
  38202. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38203. sp_point_256* point = NULL;
  38204. sp_digit* k = NULL;
  38205. #else
  38206. sp_point_256 point[1];
  38207. sp_digit k[4];
  38208. #endif
  38209. int err = MP_OKAY;
  38210. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38211. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap,
  38212. DYNAMIC_TYPE_ECC);
  38213. if (point == NULL)
  38214. err = MEMORY_E;
  38215. if (err == MP_OKAY) {
  38216. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap,
  38217. DYNAMIC_TYPE_ECC);
  38218. if (k == NULL)
  38219. err = MEMORY_E;
  38220. }
  38221. #endif
  38222. if (err == MP_OKAY) {
  38223. sp_256_from_mp(k, 4, km);
  38224. err = sp_256_ecc_mulmod_base_4(point, k, map, 1, heap);
  38225. }
  38226. if (err == MP_OKAY) {
  38227. err = sp_256_point_to_ecc_point_4(point, r);
  38228. }
  38229. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38230. if (k != NULL)
  38231. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  38232. if (point != NULL)
  38233. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  38234. #endif
  38235. return err;
  38236. }
  38237. /* Multiply the base point of P256 by the scalar, add point a and return
  38238. * the result. If map is true then convert result to affine coordinates.
  38239. *
  38240. * km Scalar to multiply by.
  38241. * am Point to add to scalar mulitply result.
  38242. * inMont Point to add is in montgomery form.
  38243. * r Resulting point.
  38244. * map Indicates whether to convert result to affine.
  38245. * heap Heap to use for allocation.
  38246. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  38247. */
  38248. int sp_ecc_mulmod_base_add_256(const mp_int* km, const ecc_point* am,
  38249. int inMont, ecc_point* r, int map, void* heap)
  38250. {
  38251. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38252. sp_point_256* point = NULL;
  38253. sp_digit* k = NULL;
  38254. #else
  38255. sp_point_256 point[2];
  38256. sp_digit k[4 + 4 * 2 * 6];
  38257. #endif
  38258. sp_point_256* addP = NULL;
  38259. sp_digit* tmp = NULL;
  38260. int err = MP_OKAY;
  38261. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38262. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  38263. DYNAMIC_TYPE_ECC);
  38264. if (point == NULL)
  38265. err = MEMORY_E;
  38266. if (err == MP_OKAY) {
  38267. k = (sp_digit*)XMALLOC(
  38268. sizeof(sp_digit) * (4 + 4 * 2 * 6),
  38269. heap, DYNAMIC_TYPE_ECC);
  38270. if (k == NULL)
  38271. err = MEMORY_E;
  38272. }
  38273. #endif
  38274. if (err == MP_OKAY) {
  38275. addP = point + 1;
  38276. tmp = k + 4;
  38277. sp_256_from_mp(k, 4, km);
  38278. sp_256_point_from_ecc_point_4(addP, am);
  38279. }
  38280. if ((err == MP_OKAY) && (!inMont)) {
  38281. err = sp_256_mod_mul_norm_4(addP->x, addP->x, p256_mod);
  38282. }
  38283. if ((err == MP_OKAY) && (!inMont)) {
  38284. err = sp_256_mod_mul_norm_4(addP->y, addP->y, p256_mod);
  38285. }
  38286. if ((err == MP_OKAY) && (!inMont)) {
  38287. err = sp_256_mod_mul_norm_4(addP->z, addP->z, p256_mod);
  38288. }
  38289. if (err == MP_OKAY) {
  38290. err = sp_256_ecc_mulmod_base_4(point, k, 0, 0, heap);
  38291. }
  38292. if (err == MP_OKAY) {
  38293. sp_256_proj_point_add_4(point, point, addP, tmp);
  38294. if (map) {
  38295. sp_256_map_4(point, point, tmp);
  38296. }
  38297. err = sp_256_point_to_ecc_point_4(point, r);
  38298. }
  38299. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38300. if (k != NULL)
  38301. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  38302. if (point)
  38303. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  38304. #endif
  38305. return err;
  38306. }
  38307. #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \
  38308. defined(HAVE_ECC_VERIFY)
  38309. #endif /* WOLFSSL_VALIDATE_ECC_KEYGEN | HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
  38310. /* Add 1 to a. (a = a + 1)
  38311. *
  38312. * a A single precision integer.
  38313. */
  38314. static void sp_256_add_one_4(sp_digit* a)
  38315. {
  38316. __asm__ __volatile__ (
  38317. "ldp x1, x2, [%[a], 0]\n\t"
  38318. "adds x1, x1, #1\n\t"
  38319. "ldr x3, [%[a], 16]\n\t"
  38320. "adcs x2, x2, xzr\n\t"
  38321. "ldr x4, [%[a], 24]\n\t"
  38322. "adcs x3, x3, xzr\n\t"
  38323. "stp x1, x2, [%[a], 0]\n\t"
  38324. "adcs x4, x4, xzr\n\t"
  38325. "stp x3, x4, [%[a], 16]\n\t"
  38326. :
  38327. : [a] "r" (a)
  38328. : "memory", "x1", "x2", "x3", "x4"
  38329. );
  38330. }
  38331. /* Read big endian unsigned byte array into r.
  38332. *
  38333. * r A single precision integer.
  38334. * size Maximum number of bytes to convert
  38335. * a Byte array.
  38336. * n Number of bytes in array to read.
  38337. */
  38338. static void sp_256_from_bin(sp_digit* r, int size, const byte* a, int n)
  38339. {
  38340. sp_int64 nl = n;
  38341. sp_int64 size8 = size * 8;
  38342. __asm__ __volatile__ (
  38343. "add x4, %[a], %[n]\n\t"
  38344. "mov x5, %[r]\n\t"
  38345. "sub x4, x4, 8\n\t"
  38346. "subs x6, %[n], 8\n\t"
  38347. "mov x7, xzr\n\t"
  38348. "blt 2f\n\t"
  38349. /* Put in mulitples of 8 bytes. */
  38350. "1:\n\t"
  38351. "ldr x8, [x4], -8\n\t"
  38352. "subs x6, x6, 8\n\t"
  38353. "rev x8, x8\n\t"
  38354. "str x8, [x5], 8\n\t"
  38355. "add x7, x7, 8\n\t"
  38356. "b.ge 1b\n\t"
  38357. "2:\n\t"
  38358. "cmp x6, -7\n\t"
  38359. "b.lt 20f\n\t"
  38360. /* Put in less than 8 bytes. */
  38361. "str xzr, [x5]\n\t"
  38362. "add x7, x7, 8\n\t"
  38363. "add x4, x4, 7\n\t"
  38364. "b.eq 17f\n\t"
  38365. "cmp x6, -5\n\t"
  38366. "b.lt 16f\n\t"
  38367. "b.eq 15f\n\t"
  38368. "cmp x6, -3\n\t"
  38369. "b.lt 14f\n\t"
  38370. "b.eq 13f\n\t"
  38371. "cmp x6, -2\n\t"
  38372. "b.eq 12f\n\t"
  38373. "ldrb w8, [x4], -1\n\t"
  38374. "strb w8, [x5], 1\n\t"
  38375. "12:\n\t"
  38376. "ldrb w8, [x4], -1\n\t"
  38377. "strb w8, [x5], 1\n\t"
  38378. "13:\n\t"
  38379. "ldrb w8, [x4], -1\n\t"
  38380. "strb w8, [x5], 1\n\t"
  38381. "14:\n\t"
  38382. "ldrb w8, [x4], -1\n\t"
  38383. "strb w8, [x5], 1\n\t"
  38384. "15:\n\t"
  38385. "ldrb w8, [x4], -1\n\t"
  38386. "strb w8, [x5], 1\n\t"
  38387. "16:\n\t"
  38388. "ldrb w8, [x4], -1\n\t"
  38389. "strb w8, [x5], 1\n\t"
  38390. "17:\n\t"
  38391. "ldrb w8, [x4], -1\n\t"
  38392. "strb w8, [x5], 1\n\t"
  38393. "20:\n\t"
  38394. "add x5, %[r], x7\n\t"
  38395. "subs x7, %[size], x7\n\t"
  38396. "b.eq 30f\n\t"
  38397. /* Zero out remaining words. */
  38398. "21:\n\t"
  38399. "subs x7, x7, 8\n\t"
  38400. "str xzr, [x5], 8\n\t"
  38401. "b.gt 21b\n\t"
  38402. "30:\n\t"
  38403. :
  38404. : [r] "r" (r), [size] "r" (size8), [a] "r" (a), [n] "r" (nl)
  38405. : "memory", "x4", "x5", "x6", "x7", "x8"
  38406. );
  38407. }
  38408. /* Generates a scalar that is in the range 1..order-1.
  38409. *
  38410. * rng Random number generator.
  38411. * k Scalar value.
  38412. * returns RNG failures, MEMORY_E when memory allocation fails and
  38413. * MP_OKAY on success.
  38414. */
  38415. static int sp_256_ecc_gen_k_4(WC_RNG* rng, sp_digit* k)
  38416. {
  38417. int err;
  38418. byte buf[32];
  38419. do {
  38420. err = wc_RNG_GenerateBlock(rng, buf, sizeof(buf));
  38421. if (err == 0) {
  38422. sp_256_from_bin(k, 4, buf, (int)sizeof(buf));
  38423. if (sp_256_cmp_4(k, p256_order2) <= 0) {
  38424. sp_256_add_one_4(k);
  38425. break;
  38426. }
  38427. }
  38428. }
  38429. while (err == 0);
  38430. return err;
  38431. }
  38432. /* Makes a random EC key pair.
  38433. *
  38434. * rng Random number generator.
  38435. * priv Generated private value.
  38436. * pub Generated public point.
  38437. * heap Heap to use for allocation.
  38438. * returns ECC_INF_E when the point does not have the correct order, RNG
  38439. * failures, MEMORY_E when memory allocation fails and MP_OKAY on success.
  38440. */
  38441. int sp_ecc_make_key_256(WC_RNG* rng, mp_int* priv, ecc_point* pub, void* heap)
  38442. {
  38443. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38444. sp_point_256* point = NULL;
  38445. sp_digit* k = NULL;
  38446. #else
  38447. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  38448. sp_point_256 point[2];
  38449. #else
  38450. sp_point_256 point[1];
  38451. #endif
  38452. sp_digit k[4];
  38453. #endif
  38454. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  38455. sp_point_256* infinity = NULL;
  38456. #endif
  38457. int err = MP_OKAY;
  38458. (void)heap;
  38459. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38460. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  38461. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap, DYNAMIC_TYPE_ECC);
  38462. #else
  38463. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap, DYNAMIC_TYPE_ECC);
  38464. #endif
  38465. if (point == NULL)
  38466. err = MEMORY_E;
  38467. if (err == MP_OKAY) {
  38468. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap,
  38469. DYNAMIC_TYPE_ECC);
  38470. if (k == NULL)
  38471. err = MEMORY_E;
  38472. }
  38473. #endif
  38474. if (err == MP_OKAY) {
  38475. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  38476. infinity = point + 1;
  38477. #endif
  38478. err = sp_256_ecc_gen_k_4(rng, k);
  38479. }
  38480. if (err == MP_OKAY) {
  38481. err = sp_256_ecc_mulmod_base_4(point, k, 1, 1, NULL);
  38482. }
  38483. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  38484. if (err == MP_OKAY) {
  38485. err = sp_256_ecc_mulmod_4(infinity, point, p256_order, 1, 1, NULL);
  38486. }
  38487. if (err == MP_OKAY) {
  38488. if (sp_256_iszero_4(point->x) || sp_256_iszero_4(point->y)) {
  38489. err = ECC_INF_E;
  38490. }
  38491. }
  38492. #endif
  38493. if (err == MP_OKAY) {
  38494. err = sp_256_to_mp(k, priv);
  38495. }
  38496. if (err == MP_OKAY) {
  38497. err = sp_256_point_to_ecc_point_4(point, pub);
  38498. }
  38499. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38500. if (k != NULL)
  38501. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  38502. if (point != NULL) {
  38503. /* point is not sensitive, so no need to zeroize */
  38504. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  38505. }
  38506. #endif
  38507. return err;
  38508. }
  38509. #ifdef HAVE_ECC_DHE
  38510. /* Write r as big endian to byte array.
  38511. * Fixed length number of bytes written: 32
  38512. *
  38513. * r A single precision integer.
  38514. * a Byte array.
  38515. */
  38516. static void sp_256_to_bin_4(sp_digit* r, byte* a)
  38517. {
  38518. int i;
  38519. int j = 0;
  38520. for (i = 3; i >= 0; i--, j += 8) {
  38521. __asm__ __volatile__ (
  38522. "ldr x4, [%[r]]\n\t"
  38523. "rev x4, x4\n\t"
  38524. "str x4, [%[a]]\n\t"
  38525. :
  38526. : [r] "r" (r + i), [a] "r" (a + j)
  38527. : "memory", "x4"
  38528. );
  38529. }
  38530. }
  38531. /* Multiply the point by the scalar and serialize the X ordinate.
  38532. * The number is 0 padded to maximum size on output.
  38533. *
  38534. * priv Scalar to multiply the point by.
  38535. * pub Point to multiply.
  38536. * out Buffer to hold X ordinate.
  38537. * outLen On entry, size of the buffer in bytes.
  38538. * On exit, length of data in buffer in bytes.
  38539. * heap Heap to use for allocation.
  38540. * returns BUFFER_E if the buffer is to small for output size,
  38541. * MEMORY_E when memory allocation fails and MP_OKAY on success.
  38542. */
  38543. int sp_ecc_secret_gen_256(const mp_int* priv, const ecc_point* pub, byte* out,
  38544. word32* outLen, void* heap)
  38545. {
  38546. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38547. sp_point_256* point = NULL;
  38548. sp_digit* k = NULL;
  38549. #else
  38550. sp_point_256 point[1];
  38551. sp_digit k[4];
  38552. #endif
  38553. int err = MP_OKAY;
  38554. if (*outLen < 32U) {
  38555. err = BUFFER_E;
  38556. }
  38557. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38558. if (err == MP_OKAY) {
  38559. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap,
  38560. DYNAMIC_TYPE_ECC);
  38561. if (point == NULL)
  38562. err = MEMORY_E;
  38563. }
  38564. if (err == MP_OKAY) {
  38565. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap,
  38566. DYNAMIC_TYPE_ECC);
  38567. if (k == NULL)
  38568. err = MEMORY_E;
  38569. }
  38570. #endif
  38571. if (err == MP_OKAY) {
  38572. sp_256_from_mp(k, 4, priv);
  38573. sp_256_point_from_ecc_point_4(point, pub);
  38574. err = sp_256_ecc_mulmod_4(point, point, k, 1, 1, heap);
  38575. }
  38576. if (err == MP_OKAY) {
  38577. sp_256_to_bin_4(point->x, out);
  38578. *outLen = 32;
  38579. }
  38580. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  38581. if (k != NULL)
  38582. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  38583. if (point != NULL)
  38584. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  38585. #endif
  38586. return err;
  38587. }
  38588. #endif /* HAVE_ECC_DHE */
  38589. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  38590. #endif
  38591. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  38592. #endif
  38593. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  38594. /* Sub b from a into a. (a -= b)
  38595. *
  38596. * a A single precision integer and result.
  38597. * b A single precision integer.
  38598. */
  38599. static sp_digit sp_256_sub_in_place_4(sp_digit* a, const sp_digit* b)
  38600. {
  38601. __asm__ __volatile__ (
  38602. "ldp x2, x3, [%[a], 0]\n\t"
  38603. "ldp x6, x7, [%[b], 0]\n\t"
  38604. "subs x2, x2, x6\n\t"
  38605. "ldp x4, x5, [%[a], 16]\n\t"
  38606. "sbcs x3, x3, x7\n\t"
  38607. "ldp x8, x9, [%[b], 16]\n\t"
  38608. "sbcs x4, x4, x8\n\t"
  38609. "stp x2, x3, [%[a], 0]\n\t"
  38610. "sbcs x5, x5, x9\n\t"
  38611. "stp x4, x5, [%[a], 16]\n\t"
  38612. "csetm %[a], cc\n\t"
  38613. : [a] "+r" (a)
  38614. : [b] "r" (b)
  38615. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  38616. );
  38617. return (sp_digit)a;
  38618. }
  38619. /* Mul a by digit b into r. (r = a * b)
  38620. *
  38621. * r A single precision integer.
  38622. * a A single precision integer.
  38623. * b A single precision digit.
  38624. */
  38625. static void sp_256_mul_d_4(sp_digit* r, const sp_digit* a,
  38626. sp_digit b)
  38627. {
  38628. __asm__ __volatile__ (
  38629. "# A[0] * B\n\t"
  38630. "ldp x2, x3, [%[a]]\n\t"
  38631. "ldp x4, x5, [%[a], 16]\n\t"
  38632. "umulh x7, %[b], x2\n\t"
  38633. "mul x2, %[b], x2\n\t"
  38634. "# A[1] * B\n\t"
  38635. "mul x8, %[b], x3\n\t"
  38636. "umulh x9, %[b], x3\n\t"
  38637. "adds x3, x7, x8\n\t"
  38638. "# A[2] * B\n\t"
  38639. "mul x8, %[b], x4\n\t"
  38640. "adc x7, xzr, x9\n\t"
  38641. "umulh x9, %[b], x4\n\t"
  38642. "adds x4, x7, x8\n\t"
  38643. "# A[3] * B\n\t"
  38644. "mul x8, %[b], x5\n\t"
  38645. "adc x7, xzr, x9\n\t"
  38646. "umulh x9, %[b], x5\n\t"
  38647. "adds x5, x7, x8\n\t"
  38648. "str x2, [%[r]]\n\t"
  38649. "adc x6, xzr, x9\n\t"
  38650. "stp x3, x4, [%[r], 8]\n\t"
  38651. "stp x5, x6, [%[r], 24]\n\t"
  38652. :
  38653. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  38654. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  38655. );
  38656. }
  38657. /* Divide the double width number (d1|d0) by the divisor. (d1|d0 / div)
  38658. *
  38659. * Assumes divisor has higest bit set.
  38660. *
  38661. * d1 The high order half of the number to divide.
  38662. * d0 The low order half of the number to divide.
  38663. * div The divisor.
  38664. * returns the result of the division.
  38665. */
  38666. static sp_digit div_256_word_4(sp_digit d1, sp_digit d0, sp_digit div)
  38667. {
  38668. __asm__ __volatile__ (
  38669. "lsr x8, %[div], 32\n\t"
  38670. "add x5, x8, 1\n\t"
  38671. "udiv x3, %[d1], x5\n\t"
  38672. "lsl x7, %[div], 32\n\t"
  38673. "movz x9, #1, lsl 32\n\t"
  38674. "lsl x6, x3, 32\n\t"
  38675. "mul x4, %[div], x6\n\t"
  38676. "umulh x3, %[div], x6\n\t"
  38677. "subs %[d0], %[d0], x4\n\t"
  38678. "sbc %[d1], %[d1], x3\n\t"
  38679. "cmp %[d1], x5\n\t"
  38680. "cset x9, ge\n\t"
  38681. "csetm x10, ge\n\t"
  38682. "lsl x9, x9, #32\n\t"
  38683. "and x7, x7, x10\n\t"
  38684. "and x8, x8, x10\n\t"
  38685. "subs %[d0], %[d0], x7\n\t"
  38686. "add x6, x6, x9\n\t"
  38687. "sbc %[d1], %[d1], x8\n\t"
  38688. "extr x3, %[d1], %[d0], 32\n\t"
  38689. "udiv x3, x3, x5\n\t"
  38690. "add x6, x6, x3\n\t"
  38691. "mul x4, %[div], x3\n\t"
  38692. "umulh x3, %[div], x3\n\t"
  38693. "subs %[d0], %[d0], x4\n\t"
  38694. "sbc %[d1], %[d1], x3\n\t"
  38695. "extr x3, %[d1], %[d0], 32\n\t"
  38696. "udiv x3, x3, x5\n\t"
  38697. "add x6, x6, x3\n\t"
  38698. "mul x4, %[div], x3\n\t"
  38699. "sub %[d0], %[d0], x4\n\t"
  38700. "udiv x3, %[d0], %[div]\n\t"
  38701. "add %[d1], x6, x3\n\t"
  38702. : [d1] "+r" (d1), [d0] "+r" (d0)
  38703. : [div] "r" (div)
  38704. : "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  38705. );
  38706. return d1;
  38707. }
  38708. /* AND m into each word of a and store in r.
  38709. *
  38710. * r A single precision integer.
  38711. * a A single precision integer.
  38712. * m Mask to AND against each digit.
  38713. */
  38714. static void sp_256_mask_4(sp_digit* r, const sp_digit* a, sp_digit m)
  38715. {
  38716. #ifdef WOLFSSL_SP_SMALL
  38717. int i;
  38718. for (i=0; i<4; i++) {
  38719. r[i] = a[i] & m;
  38720. }
  38721. #else
  38722. r[0] = a[0] & m;
  38723. r[1] = a[1] & m;
  38724. r[2] = a[2] & m;
  38725. r[3] = a[3] & m;
  38726. #endif
  38727. }
  38728. /* Divide d in a and put remainder into r (m*d + r = a)
  38729. * m is not calculated as it is not needed at this time.
  38730. *
  38731. * a Number to be divided.
  38732. * d Number to divide with.
  38733. * m Multiplier result.
  38734. * r Remainder from the division.
  38735. * returns MP_OKAY indicating success.
  38736. */
  38737. static WC_INLINE int sp_256_div_4(const sp_digit* a, const sp_digit* d, sp_digit* m,
  38738. sp_digit* r)
  38739. {
  38740. sp_digit t1[8], t2[5];
  38741. sp_digit div, r1;
  38742. int i;
  38743. (void)m;
  38744. div = d[3];
  38745. XMEMCPY(t1, a, sizeof(*t1) * 2 * 4);
  38746. r1 = sp_256_cmp_4(&t1[4], d) >= 0;
  38747. sp_256_cond_sub_4(&t1[4], &t1[4], d, (sp_digit)0 - r1);
  38748. for (i = 3; i >= 0; i--) {
  38749. sp_digit mask = 0 - (t1[4 + i] == div);
  38750. sp_digit hi = t1[4 + i] + mask;
  38751. r1 = div_256_word_4(hi, t1[4 + i - 1], div);
  38752. r1 |= mask;
  38753. sp_256_mul_d_4(t2, d, r1);
  38754. t1[4 + i] += sp_256_sub_in_place_4(&t1[i], t2);
  38755. t1[4 + i] -= t2[4];
  38756. sp_256_mask_4(t2, d, t1[4 + i]);
  38757. t1[4 + i] += sp_256_add_4(&t1[i], &t1[i], t2);
  38758. sp_256_mask_4(t2, d, t1[4 + i]);
  38759. t1[4 + i] += sp_256_add_4(&t1[i], &t1[i], t2);
  38760. }
  38761. r1 = sp_256_cmp_4(t1, d) >= 0;
  38762. sp_256_cond_sub_4(r, t1, d, (sp_digit)0 - r1);
  38763. return MP_OKAY;
  38764. }
  38765. /* Reduce a modulo m into r. (r = a mod m)
  38766. *
  38767. * r A single precision number that is the reduced result.
  38768. * a A single precision number that is to be reduced.
  38769. * m A single precision number that is the modulus to reduce with.
  38770. * returns MP_OKAY indicating success.
  38771. */
  38772. static WC_INLINE int sp_256_mod_4(sp_digit* r, const sp_digit* a, const sp_digit* m)
  38773. {
  38774. return sp_256_div_4(a, m, NULL, r);
  38775. }
  38776. #endif
  38777. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  38778. /* Multiply two number mod the order of P256 curve. (r = a * b mod order)
  38779. *
  38780. * r Result of the multiplication.
  38781. * a First operand of the multiplication.
  38782. * b Second operand of the multiplication.
  38783. */
  38784. static void sp_256_mont_mul_order_4(sp_digit* r, const sp_digit* a, const sp_digit* b)
  38785. {
  38786. sp_256_mul_4(r, a, b);
  38787. sp_256_mont_reduce_order_4(r, p256_order, p256_mp_order);
  38788. }
  38789. #if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
  38790. #ifdef WOLFSSL_SP_SMALL
  38791. /* Order-2 for the P256 curve. */
  38792. static const uint64_t p256_order_minus_2[4] = {
  38793. 0xf3b9cac2fc63254fU,0xbce6faada7179e84U,0xffffffffffffffffU,
  38794. 0xffffffff00000000U
  38795. };
  38796. #else
  38797. /* The low half of the order-2 of the P256 curve. */
  38798. static const sp_int_digit p256_order_low[2] = {
  38799. 0xf3b9cac2fc63254fU,0xbce6faada7179e84U
  38800. };
  38801. #endif /* WOLFSSL_SP_SMALL */
  38802. /* Square number mod the order of P256 curve. (r = a * a mod order)
  38803. *
  38804. * r Result of the squaring.
  38805. * a Number to square.
  38806. */
  38807. static void sp_256_mont_sqr_order_4(sp_digit* r, const sp_digit* a)
  38808. {
  38809. sp_256_sqr_4(r, a);
  38810. sp_256_mont_reduce_order_4(r, p256_order, p256_mp_order);
  38811. }
  38812. #ifndef WOLFSSL_SP_SMALL
  38813. /* Square number mod the order of P256 curve a number of times.
  38814. * (r = a ^ n mod order)
  38815. *
  38816. * r Result of the squaring.
  38817. * a Number to square.
  38818. */
  38819. static void sp_256_mont_sqr_n_order_4(sp_digit* r, const sp_digit* a, int n)
  38820. {
  38821. int i;
  38822. sp_256_mont_sqr_order_4(r, a);
  38823. for (i=1; i<n; i++) {
  38824. sp_256_mont_sqr_order_4(r, r);
  38825. }
  38826. }
  38827. #endif /* !WOLFSSL_SP_SMALL */
  38828. /* Invert the number, in Montgomery form, modulo the order of the P256 curve.
  38829. * (r = 1 / a mod order)
  38830. *
  38831. * r Inverse result.
  38832. * a Number to invert.
  38833. * td Temporary data.
  38834. */
  38835. #ifdef WOLFSSL_SP_NONBLOCK
  38836. typedef struct sp_256_mont_inv_order_4_ctx {
  38837. int state;
  38838. int i;
  38839. } sp_256_mont_inv_order_4_ctx;
  38840. static int sp_256_mont_inv_order_4_nb(sp_ecc_ctx_t* sp_ctx, sp_digit* r, const sp_digit* a,
  38841. sp_digit* t)
  38842. {
  38843. int err = FP_WOULDBLOCK;
  38844. sp_256_mont_inv_order_4_ctx* ctx = (sp_256_mont_inv_order_4_ctx*)sp_ctx;
  38845. typedef char ctx_size_test[sizeof(sp_256_mont_inv_order_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  38846. (void)sizeof(ctx_size_test);
  38847. switch (ctx->state) {
  38848. case 0:
  38849. XMEMCPY(t, a, sizeof(sp_digit) * 4);
  38850. ctx->i = 254;
  38851. ctx->state = 1;
  38852. break;
  38853. case 1:
  38854. sp_256_mont_sqr_order_4(t, t);
  38855. ctx->state = 2;
  38856. break;
  38857. case 2:
  38858. if ((p256_order_minus_2[ctx->i / 64] & ((sp_int_digit)1 << (ctx->i % 64))) != 0) {
  38859. sp_256_mont_mul_order_4(t, t, a);
  38860. }
  38861. ctx->i--;
  38862. ctx->state = (ctx->i == 0) ? 3 : 1;
  38863. break;
  38864. case 3:
  38865. XMEMCPY(r, t, sizeof(sp_digit) * 4U);
  38866. err = MP_OKAY;
  38867. break;
  38868. }
  38869. return err;
  38870. }
  38871. #endif /* WOLFSSL_SP_NONBLOCK */
  38872. static void sp_256_mont_inv_order_4(sp_digit* r, const sp_digit* a,
  38873. sp_digit* td)
  38874. {
  38875. #ifdef WOLFSSL_SP_SMALL
  38876. sp_digit* t = td;
  38877. int i;
  38878. XMEMCPY(t, a, sizeof(sp_digit) * 4);
  38879. for (i=254; i>=0; i--) {
  38880. sp_256_mont_sqr_order_4(t, t);
  38881. if ((p256_order_minus_2[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  38882. sp_256_mont_mul_order_4(t, t, a);
  38883. }
  38884. }
  38885. XMEMCPY(r, t, sizeof(sp_digit) * 4U);
  38886. #else
  38887. sp_digit* t = td;
  38888. sp_digit* t2 = td + 2 * 4;
  38889. sp_digit* t3 = td + 4 * 4;
  38890. int i;
  38891. /* t = a^2 */
  38892. sp_256_mont_sqr_order_4(t, a);
  38893. /* t = a^3 = t * a */
  38894. sp_256_mont_mul_order_4(t, t, a);
  38895. /* t2= a^c = t ^ 2 ^ 2 */
  38896. sp_256_mont_sqr_n_order_4(t2, t, 2);
  38897. /* t3= a^f = t2 * t */
  38898. sp_256_mont_mul_order_4(t3, t2, t);
  38899. /* t2= a^f0 = t3 ^ 2 ^ 4 */
  38900. sp_256_mont_sqr_n_order_4(t2, t3, 4);
  38901. /* t = a^ff = t2 * t3 */
  38902. sp_256_mont_mul_order_4(t, t2, t3);
  38903. /* t3= a^ff00 = t ^ 2 ^ 8 */
  38904. sp_256_mont_sqr_n_order_4(t2, t, 8);
  38905. /* t = a^ffff = t2 * t */
  38906. sp_256_mont_mul_order_4(t, t2, t);
  38907. /* t2= a^ffff0000 = t ^ 2 ^ 16 */
  38908. sp_256_mont_sqr_n_order_4(t2, t, 16);
  38909. /* t = a^ffffffff = t2 * t */
  38910. sp_256_mont_mul_order_4(t, t2, t);
  38911. /* t2= a^ffffffff0000000000000000 = t ^ 2 ^ 64 */
  38912. sp_256_mont_sqr_n_order_4(t2, t, 64);
  38913. /* t2= a^ffffffff00000000ffffffff = t2 * t */
  38914. sp_256_mont_mul_order_4(t2, t2, t);
  38915. /* t2= a^ffffffff00000000ffffffff00000000 = t2 ^ 2 ^ 32 */
  38916. sp_256_mont_sqr_n_order_4(t2, t2, 32);
  38917. /* t2= a^ffffffff00000000ffffffffffffffff = t2 * t */
  38918. sp_256_mont_mul_order_4(t2, t2, t);
  38919. /* t2= a^ffffffff00000000ffffffffffffffffbce6 */
  38920. for (i=127; i>=112; i--) {
  38921. sp_256_mont_sqr_order_4(t2, t2);
  38922. if ((p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  38923. sp_256_mont_mul_order_4(t2, t2, a);
  38924. }
  38925. }
  38926. /* t2= a^ffffffff00000000ffffffffffffffffbce6f */
  38927. sp_256_mont_sqr_n_order_4(t2, t2, 4);
  38928. sp_256_mont_mul_order_4(t2, t2, t3);
  38929. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84 */
  38930. for (i=107; i>=64; i--) {
  38931. sp_256_mont_sqr_order_4(t2, t2);
  38932. if ((p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  38933. sp_256_mont_mul_order_4(t2, t2, a);
  38934. }
  38935. }
  38936. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f */
  38937. sp_256_mont_sqr_n_order_4(t2, t2, 4);
  38938. sp_256_mont_mul_order_4(t2, t2, t3);
  38939. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2 */
  38940. for (i=59; i>=32; i--) {
  38941. sp_256_mont_sqr_order_4(t2, t2);
  38942. if ((p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  38943. sp_256_mont_mul_order_4(t2, t2, a);
  38944. }
  38945. }
  38946. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2f */
  38947. sp_256_mont_sqr_n_order_4(t2, t2, 4);
  38948. sp_256_mont_mul_order_4(t2, t2, t3);
  38949. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254 */
  38950. for (i=27; i>=0; i--) {
  38951. sp_256_mont_sqr_order_4(t2, t2);
  38952. if ((p256_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  38953. sp_256_mont_mul_order_4(t2, t2, a);
  38954. }
  38955. }
  38956. /* t2= a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632540 */
  38957. sp_256_mont_sqr_n_order_4(t2, t2, 4);
  38958. /* r = a^ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f */
  38959. sp_256_mont_mul_order_4(r, t2, t3);
  38960. #endif /* WOLFSSL_SP_SMALL */
  38961. }
  38962. #endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
  38963. #endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
  38964. #ifdef HAVE_ECC_SIGN
  38965. #ifndef SP_ECC_MAX_SIG_GEN
  38966. #define SP_ECC_MAX_SIG_GEN 64
  38967. #endif
  38968. /* Calculate second signature value S from R, k and private value.
  38969. *
  38970. * s = (r * x + e) / k
  38971. *
  38972. * s Signature value.
  38973. * r First signature value.
  38974. * k Ephemeral private key.
  38975. * x Private key as a number.
  38976. * e Hash of message as a number.
  38977. * tmp Temporary storage for intermediate numbers.
  38978. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  38979. */
  38980. static int sp_256_calc_s_4(sp_digit* s, const sp_digit* r, sp_digit* k,
  38981. sp_digit* x, const sp_digit* e, sp_digit* tmp)
  38982. {
  38983. int err;
  38984. sp_digit carry;
  38985. sp_int64 c;
  38986. sp_digit* kInv = k;
  38987. /* Conv k to Montgomery form (mod order) */
  38988. sp_256_mul_4(k, k, p256_norm_order);
  38989. err = sp_256_mod_4(k, k, p256_order);
  38990. if (err == MP_OKAY) {
  38991. sp_256_norm_4(k);
  38992. /* kInv = 1/k mod order */
  38993. sp_256_mont_inv_order_4(kInv, k, tmp);
  38994. sp_256_norm_4(kInv);
  38995. /* s = r * x + e */
  38996. sp_256_mul_4(x, x, r);
  38997. err = sp_256_mod_4(x, x, p256_order);
  38998. }
  38999. if (err == MP_OKAY) {
  39000. sp_256_norm_4(x);
  39001. carry = sp_256_add_4(s, e, x);
  39002. sp_256_cond_sub_4(s, s, p256_order, 0 - carry);
  39003. sp_256_norm_4(s);
  39004. c = sp_256_cmp_4(s, p256_order);
  39005. sp_256_cond_sub_4(s, s, p256_order,
  39006. (sp_digit)0 - (sp_digit)(c >= 0));
  39007. sp_256_norm_4(s);
  39008. /* s = s * k^-1 mod order */
  39009. sp_256_mont_mul_order_4(s, s, kInv);
  39010. sp_256_norm_4(s);
  39011. }
  39012. return err;
  39013. }
  39014. /* Sign the hash using the private key.
  39015. * e = [hash, 256 bits] from binary
  39016. * r = (k.G)->x mod order
  39017. * s = (r * x + e) / k mod order
  39018. * The hash is truncated to the first 256 bits.
  39019. *
  39020. * hash Hash to sign.
  39021. * hashLen Length of the hash data.
  39022. * rng Random number generator.
  39023. * priv Private part of key - scalar.
  39024. * rm First part of result as an mp_int.
  39025. * sm Sirst part of result as an mp_int.
  39026. * heap Heap to use for allocation.
  39027. * returns RNG failures, MEMORY_E when memory allocation fails and
  39028. * MP_OKAY on success.
  39029. */
  39030. #ifdef WOLFSSL_SP_NONBLOCK
  39031. typedef struct sp_ecc_sign_256_ctx {
  39032. int state;
  39033. union {
  39034. sp_256_ecc_mulmod_4_ctx mulmod_ctx;
  39035. sp_256_mont_inv_order_4_ctx mont_inv_order_ctx;
  39036. };
  39037. sp_digit e[2*4];
  39038. sp_digit x[2*4];
  39039. sp_digit k[2*4];
  39040. sp_digit r[2*4];
  39041. sp_digit tmp[3 * 2*4];
  39042. sp_point_256 point;
  39043. sp_digit* s;
  39044. sp_digit* kInv;
  39045. int i;
  39046. } sp_ecc_sign_256_ctx;
  39047. int sp_ecc_sign_256_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash, word32 hashLen, WC_RNG* rng,
  39048. mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap)
  39049. {
  39050. int err = FP_WOULDBLOCK;
  39051. sp_ecc_sign_256_ctx* ctx = (sp_ecc_sign_256_ctx*)sp_ctx->data;
  39052. typedef char ctx_size_test[sizeof(sp_ecc_sign_256_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  39053. (void)sizeof(ctx_size_test);
  39054. (void)heap;
  39055. switch (ctx->state) {
  39056. case 0: /* INIT */
  39057. ctx->s = ctx->e;
  39058. ctx->kInv = ctx->k;
  39059. ctx->i = SP_ECC_MAX_SIG_GEN;
  39060. ctx->state = 1;
  39061. break;
  39062. case 1: /* GEN */
  39063. /* New random point. */
  39064. if (km == NULL || mp_iszero(km)) {
  39065. err = sp_256_ecc_gen_k_4(rng, ctx->k);
  39066. }
  39067. else {
  39068. sp_256_from_mp(ctx->k, 4, km);
  39069. mp_zero(km);
  39070. }
  39071. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  39072. ctx->state = 2;
  39073. break;
  39074. case 2: /* MULMOD */
  39075. err = sp_256_ecc_mulmod_4_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx,
  39076. &ctx->point, &p256_base, ctx->k, 1, 1, heap);
  39077. if (err == MP_OKAY) {
  39078. ctx->state = 3;
  39079. }
  39080. break;
  39081. case 3: /* MODORDER */
  39082. {
  39083. sp_int64 c;
  39084. /* r = point->x mod order */
  39085. XMEMCPY(ctx->r, ctx->point.x, sizeof(sp_digit) * 4U);
  39086. sp_256_norm_4(ctx->r);
  39087. c = sp_256_cmp_4(ctx->r, p256_order);
  39088. sp_256_cond_sub_4(ctx->r, ctx->r, p256_order,
  39089. (sp_digit)0 - (sp_digit)(c >= 0));
  39090. sp_256_norm_4(ctx->r);
  39091. if (hashLen > 32U) {
  39092. hashLen = 32U;
  39093. }
  39094. sp_256_from_mp(ctx->x, 4, priv);
  39095. sp_256_from_bin(ctx->e, 4, hash, (int)hashLen);
  39096. ctx->state = 4;
  39097. break;
  39098. }
  39099. case 4: /* KMODORDER */
  39100. /* Conv k to Montgomery form (mod order) */
  39101. sp_256_mul_4(ctx->k, ctx->k, p256_norm_order);
  39102. err = sp_256_mod_4(ctx->k, ctx->k, p256_order);
  39103. if (err == MP_OKAY) {
  39104. sp_256_norm_4(ctx->k);
  39105. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  39106. ctx->state = 5;
  39107. }
  39108. break;
  39109. case 5: /* KINV */
  39110. /* kInv = 1/k mod order */
  39111. err = sp_256_mont_inv_order_4_nb((sp_ecc_ctx_t*)&ctx->mont_inv_order_ctx, ctx->kInv, ctx->k, ctx->tmp);
  39112. if (err == MP_OKAY) {
  39113. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  39114. ctx->state = 6;
  39115. }
  39116. break;
  39117. case 6: /* KINVNORM */
  39118. sp_256_norm_4(ctx->kInv);
  39119. ctx->state = 7;
  39120. break;
  39121. case 7: /* R */
  39122. /* s = r * x + e */
  39123. sp_256_mul_4(ctx->x, ctx->x, ctx->r);
  39124. ctx->state = 8;
  39125. break;
  39126. case 8: /* S1 */
  39127. err = sp_256_mod_4(ctx->x, ctx->x, p256_order);
  39128. if (err == MP_OKAY)
  39129. ctx->state = 9;
  39130. break;
  39131. case 9: /* S2 */
  39132. {
  39133. sp_digit carry;
  39134. sp_int64 c;
  39135. sp_256_norm_4(ctx->x);
  39136. carry = sp_256_add_4(ctx->s, ctx->e, ctx->x);
  39137. sp_256_cond_sub_4(ctx->s, ctx->s,
  39138. p256_order, 0 - carry);
  39139. sp_256_norm_4(ctx->s);
  39140. c = sp_256_cmp_4(ctx->s, p256_order);
  39141. sp_256_cond_sub_4(ctx->s, ctx->s, p256_order,
  39142. (sp_digit)0 - (sp_digit)(c >= 0));
  39143. sp_256_norm_4(ctx->s);
  39144. /* s = s * k^-1 mod order */
  39145. sp_256_mont_mul_order_4(ctx->s, ctx->s, ctx->kInv);
  39146. sp_256_norm_4(ctx->s);
  39147. /* Check that signature is usable. */
  39148. if (sp_256_iszero_4(ctx->s) == 0) {
  39149. ctx->state = 10;
  39150. break;
  39151. }
  39152. #ifdef WOLFSSL_ECDSA_SET_K_ONE_LOOP
  39153. ctx->i = 1;
  39154. #endif
  39155. /* not usable gen, try again */
  39156. ctx->i--;
  39157. if (ctx->i == 0) {
  39158. err = RNG_FAILURE_E;
  39159. }
  39160. ctx->state = 1;
  39161. break;
  39162. }
  39163. case 10: /* RES */
  39164. err = sp_256_to_mp(ctx->r, rm);
  39165. if (err == MP_OKAY) {
  39166. err = sp_256_to_mp(ctx->s, sm);
  39167. }
  39168. break;
  39169. }
  39170. if (err == MP_OKAY && ctx->state != 10) {
  39171. err = FP_WOULDBLOCK;
  39172. }
  39173. if (err != FP_WOULDBLOCK) {
  39174. XMEMSET(ctx->e, 0, sizeof(sp_digit) * 2U * 4U);
  39175. XMEMSET(ctx->x, 0, sizeof(sp_digit) * 2U * 4U);
  39176. XMEMSET(ctx->k, 0, sizeof(sp_digit) * 2U * 4U);
  39177. XMEMSET(ctx->r, 0, sizeof(sp_digit) * 2U * 4U);
  39178. XMEMSET(ctx->tmp, 0, sizeof(sp_digit) * 3U * 2U * 4U);
  39179. }
  39180. return err;
  39181. }
  39182. #endif /* WOLFSSL_SP_NONBLOCK */
  39183. int sp_ecc_sign_256(const byte* hash, word32 hashLen, WC_RNG* rng,
  39184. const mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap)
  39185. {
  39186. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39187. sp_digit* e = NULL;
  39188. sp_point_256* point = NULL;
  39189. #else
  39190. sp_digit e[7 * 2 * 4];
  39191. sp_point_256 point[1];
  39192. #endif
  39193. sp_digit* x = NULL;
  39194. sp_digit* k = NULL;
  39195. sp_digit* r = NULL;
  39196. sp_digit* tmp = NULL;
  39197. sp_digit* s = NULL;
  39198. sp_int64 c;
  39199. int err = MP_OKAY;
  39200. int i;
  39201. (void)heap;
  39202. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39203. if (err == MP_OKAY) {
  39204. point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap,
  39205. DYNAMIC_TYPE_ECC);
  39206. if (point == NULL)
  39207. err = MEMORY_E;
  39208. }
  39209. if (err == MP_OKAY) {
  39210. e = (sp_digit*)XMALLOC(sizeof(sp_digit) * 7 * 2 * 4, heap,
  39211. DYNAMIC_TYPE_ECC);
  39212. if (e == NULL)
  39213. err = MEMORY_E;
  39214. }
  39215. #endif
  39216. if (err == MP_OKAY) {
  39217. x = e + 2 * 4;
  39218. k = e + 4 * 4;
  39219. r = e + 6 * 4;
  39220. tmp = e + 8 * 4;
  39221. s = e;
  39222. if (hashLen > 32U) {
  39223. hashLen = 32U;
  39224. }
  39225. }
  39226. for (i = SP_ECC_MAX_SIG_GEN; err == MP_OKAY && i > 0; i--) {
  39227. /* New random point. */
  39228. if (km == NULL || mp_iszero(km)) {
  39229. err = sp_256_ecc_gen_k_4(rng, k);
  39230. }
  39231. else {
  39232. sp_256_from_mp(k, 4, km);
  39233. mp_zero(km);
  39234. }
  39235. if (err == MP_OKAY) {
  39236. err = sp_256_ecc_mulmod_base_4(point, k, 1, 1, heap);
  39237. }
  39238. if (err == MP_OKAY) {
  39239. /* r = point->x mod order */
  39240. XMEMCPY(r, point->x, sizeof(sp_digit) * 4U);
  39241. sp_256_norm_4(r);
  39242. c = sp_256_cmp_4(r, p256_order);
  39243. sp_256_cond_sub_4(r, r, p256_order,
  39244. (sp_digit)0 - (sp_digit)(c >= 0));
  39245. sp_256_norm_4(r);
  39246. sp_256_from_mp(x, 4, priv);
  39247. sp_256_from_bin(e, 4, hash, (int)hashLen);
  39248. err = sp_256_calc_s_4(s, r, k, x, e, tmp);
  39249. }
  39250. /* Check that signature is usable. */
  39251. if ((err == MP_OKAY) && (sp_256_iszero_4(s) == 0)) {
  39252. break;
  39253. }
  39254. #ifdef WOLFSSL_ECDSA_SET_K_ONE_LOOP
  39255. i = 1;
  39256. #endif
  39257. }
  39258. if (i == 0) {
  39259. err = RNG_FAILURE_E;
  39260. }
  39261. if (err == MP_OKAY) {
  39262. err = sp_256_to_mp(r, rm);
  39263. }
  39264. if (err == MP_OKAY) {
  39265. err = sp_256_to_mp(s, sm);
  39266. }
  39267. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39268. if (e != NULL)
  39269. #endif
  39270. {
  39271. ForceZero(e, sizeof(sp_digit) * 7 * 2 * 4);
  39272. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39273. XFREE(e, heap, DYNAMIC_TYPE_ECC);
  39274. #endif
  39275. }
  39276. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39277. if (point != NULL)
  39278. #endif
  39279. {
  39280. ForceZero(point, sizeof(sp_point_256));
  39281. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39282. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  39283. #endif
  39284. }
  39285. return err;
  39286. }
  39287. #endif /* HAVE_ECC_SIGN */
  39288. #ifndef WOLFSSL_SP_SMALL
  39289. /* Non-constant time modular inversion.
  39290. *
  39291. * @param [out] r Resulting number.
  39292. * @param [in] a Number to invert.
  39293. * @param [in] m Modulus.
  39294. * @return MP_OKAY on success.
  39295. */
  39296. static int sp_256_mod_inv_4(sp_digit* r, const sp_digit* a,
  39297. const sp_digit* m)
  39298. {
  39299. __asm__ __volatile__ (
  39300. "ldr x20, [%[m], 0]\n\t"
  39301. "ldr x21, [%[m], 8]\n\t"
  39302. "ldr x22, [%[m], 16]\n\t"
  39303. "ldr %[m], [%[m], 24]\n\t"
  39304. "ldr x7, [%[a], 0]\n\t"
  39305. "ldr x8, [%[a], 8]\n\t"
  39306. "ldr x9, [%[a], 16]\n\t"
  39307. "ldr x10, [%[a], 24]\n\t"
  39308. "mov x3, x20\n\t"
  39309. "mov x4, x21\n\t"
  39310. "mov x5, x22\n\t"
  39311. "mov x6, %[m]\n\t"
  39312. "mov x11, xzr\n\t"
  39313. "mov x12, xzr\n\t"
  39314. "mov x13, xzr\n\t"
  39315. "mov x14, xzr\n\t"
  39316. "mov x15, 1\n\t"
  39317. "mov x16, xzr\n\t"
  39318. "mov x17, xzr\n\t"
  39319. "mov x19, xzr\n\t"
  39320. "cmp x6, 0\n\t"
  39321. "b.eq 10f\n\t"
  39322. "mov x25, 256\n\t"
  39323. "clz x23, x6\n\t"
  39324. "sub x23, x25, x23\n\t"
  39325. "b 13f\n\t"
  39326. "\n10:\n\t"
  39327. "cmp x5, 0\n\t"
  39328. "b.eq 11f\n\t"
  39329. "mov x25, 192\n\t"
  39330. "clz x23, x5\n\t"
  39331. "sub x23, x25, x23\n\t"
  39332. "b 13f\n\t"
  39333. "\n11:\n\t"
  39334. "cmp x4, 0\n\t"
  39335. "b.eq 12f\n\t"
  39336. "mov x25, 128\n\t"
  39337. "clz x23, x4\n\t"
  39338. "sub x23, x25, x23\n\t"
  39339. "b 13f\n\t"
  39340. "\n12:\n\t"
  39341. "mov x25, 64\n\t"
  39342. "clz x23, x3\n\t"
  39343. "sub x23, x25, x23\n\t"
  39344. "\n13:\n\t"
  39345. "cmp x10, 0\n\t"
  39346. "b.eq 20f\n\t"
  39347. "mov x25, 256\n\t"
  39348. "clz x24, x10\n\t"
  39349. "sub x24, x25, x24\n\t"
  39350. "b 23f\n\t"
  39351. "\n20:\n\t"
  39352. "cmp x9, 0\n\t"
  39353. "b.eq 21f\n\t"
  39354. "mov x25, 192\n\t"
  39355. "clz x24, x9\n\t"
  39356. "sub x24, x25, x24\n\t"
  39357. "b 23f\n\t"
  39358. "\n21:\n\t"
  39359. "cmp x8, 0\n\t"
  39360. "b.eq 22f\n\t"
  39361. "mov x25, 128\n\t"
  39362. "clz x24, x8\n\t"
  39363. "sub x24, x25, x24\n\t"
  39364. "b 23f\n\t"
  39365. "\n22:\n\t"
  39366. "mov x25, 64\n\t"
  39367. "clz x24, x7\n\t"
  39368. "sub x24, x25, x24\n\t"
  39369. "\n23:\n\t"
  39370. "tst x7, 1\n\t"
  39371. "b.ne 90f\n\t"
  39372. "\n1:\n\t"
  39373. "extr x7, x8, x7, 1\n\t"
  39374. "extr x8, x9, x8, 1\n\t"
  39375. "extr x9, x10, x9, 1\n\t"
  39376. "lsr x10, x10, 1\n\t"
  39377. "sub x24, x24, 1\n\t"
  39378. "ands x25, x15, 1\n\t"
  39379. "b.eq 2f\n\t"
  39380. "adds x15, x15, x20\n\t"
  39381. "adcs x16, x16, x21\n\t"
  39382. "adcs x17, x17, x22\n\t"
  39383. "adcs x19, x19, %[m]\n\t"
  39384. "cset x25, cs\n\t"
  39385. "\n2:\n\t"
  39386. "extr x15, x16, x15, 1\n\t"
  39387. "extr x16, x17, x16, 1\n\t"
  39388. "extr x17, x19, x17, 1\n\t"
  39389. "extr x19, x25, x19, 1\n\t"
  39390. "tst x7, 1\n\t"
  39391. "b.eq 1b\n\t"
  39392. "\n90:\n\t"
  39393. "cmp x23, 1\n\t"
  39394. "b.eq 100f\n\t"
  39395. "cmp x24, 1\n\t"
  39396. "b.eq 101f\n\t"
  39397. "cmp x23, x24\n\t"
  39398. "b.hi 91f\n\t"
  39399. "b.cc 92f\n\t"
  39400. "cmp x6, x10\n\t"
  39401. "b.hi 91f\n\t"
  39402. "b.cc 92f\n\t"
  39403. "cmp x5, x9\n\t"
  39404. "b.hi 91f\n\t"
  39405. "b.cc 92f\n\t"
  39406. "cmp x4, x8\n\t"
  39407. "b.hi 91f\n\t"
  39408. "b.cc 92f\n\t"
  39409. "cmp x3, x7\n\t"
  39410. "b.cc 92f\n\t"
  39411. "\n91:\n\t"
  39412. "subs x3, x3, x7\n\t"
  39413. "sbcs x4, x4, x8\n\t"
  39414. "sbcs x5, x5, x9\n\t"
  39415. "sbc x6, x6, x10\n\t"
  39416. "subs x11, x11, x15\n\t"
  39417. "sbcs x12, x12, x16\n\t"
  39418. "sbcs x13, x13, x17\n\t"
  39419. "sbcs x14, x14, x19\n\t"
  39420. "b.cs 30f\n\t"
  39421. "adds x11, x11, x20\n\t"
  39422. "adcs x12, x12, x21\n\t"
  39423. "adcs x13, x13, x22\n\t"
  39424. "adc x14, x14, %[m]\n\t"
  39425. "\n30:\n\t"
  39426. "cmp x6, 0\n\t"
  39427. "b.eq 40f\n\t"
  39428. "mov x25, 256\n\t"
  39429. "clz x23, x6\n\t"
  39430. "sub x23, x25, x23\n\t"
  39431. "b 43f\n\t"
  39432. "\n40:\n\t"
  39433. "cmp x5, 0\n\t"
  39434. "b.eq 41f\n\t"
  39435. "mov x25, 192\n\t"
  39436. "clz x23, x5\n\t"
  39437. "sub x23, x25, x23\n\t"
  39438. "b 43f\n\t"
  39439. "\n41:\n\t"
  39440. "cmp x4, 0\n\t"
  39441. "b.eq 42f\n\t"
  39442. "mov x25, 128\n\t"
  39443. "clz x23, x4\n\t"
  39444. "sub x23, x25, x23\n\t"
  39445. "b 43f\n\t"
  39446. "\n42:\n\t"
  39447. "mov x25, 64\n\t"
  39448. "clz x23, x3\n\t"
  39449. "sub x23, x25, x23\n\t"
  39450. "\n43:\n\t"
  39451. "\n50:\n\t"
  39452. "extr x3, x4, x3, 1\n\t"
  39453. "extr x4, x5, x4, 1\n\t"
  39454. "extr x5, x6, x5, 1\n\t"
  39455. "lsr x6, x6, 1\n\t"
  39456. "sub x23, x23, 1\n\t"
  39457. "ands x25, x11, 1\n\t"
  39458. "b.eq 51f\n\t"
  39459. "adds x11, x11, x20\n\t"
  39460. "adcs x12, x12, x21\n\t"
  39461. "adcs x13, x13, x22\n\t"
  39462. "adcs x14, x14, %[m]\n\t"
  39463. "cset x25, cs\n\t"
  39464. "\n51:\n\t"
  39465. "extr x11, x12, x11, 1\n\t"
  39466. "extr x12, x13, x12, 1\n\t"
  39467. "extr x13, x14, x13, 1\n\t"
  39468. "extr x14, x25, x14, 1\n\t"
  39469. "tst x3, 1\n\t"
  39470. "b.eq 50b\n\t"
  39471. "b 90b\n\t"
  39472. "\n92:\n\t"
  39473. "subs x7, x7, x3\n\t"
  39474. "sbcs x8, x8, x4\n\t"
  39475. "sbcs x9, x9, x5\n\t"
  39476. "sbc x10, x10, x6\n\t"
  39477. "subs x15, x15, x11\n\t"
  39478. "sbcs x16, x16, x12\n\t"
  39479. "sbcs x17, x17, x13\n\t"
  39480. "sbcs x19, x19, x14\n\t"
  39481. "b.cs 60f\n\t"
  39482. "adds x15, x15, x20\n\t"
  39483. "adcs x16, x16, x21\n\t"
  39484. "adcs x17, x17, x22\n\t"
  39485. "adc x19, x19, %[m]\n\t"
  39486. "\n60:\n\t"
  39487. "cmp x10, 0\n\t"
  39488. "b.eq 70f\n\t"
  39489. "mov x25, 256\n\t"
  39490. "clz x24, x10\n\t"
  39491. "sub x24, x25, x24\n\t"
  39492. "b 73f\n\t"
  39493. "\n70:\n\t"
  39494. "cmp x9, 0\n\t"
  39495. "b.eq 71f\n\t"
  39496. "mov x25, 192\n\t"
  39497. "clz x24, x9\n\t"
  39498. "sub x24, x25, x24\n\t"
  39499. "b 73f\n\t"
  39500. "\n71:\n\t"
  39501. "cmp x8, 0\n\t"
  39502. "b.eq 72f\n\t"
  39503. "mov x25, 128\n\t"
  39504. "clz x24, x8\n\t"
  39505. "sub x24, x25, x24\n\t"
  39506. "b 73f\n\t"
  39507. "\n72:\n\t"
  39508. "mov x25, 64\n\t"
  39509. "clz x24, x7\n\t"
  39510. "sub x24, x25, x24\n\t"
  39511. "\n73:\n\t"
  39512. "\n80:\n\t"
  39513. "extr x7, x8, x7, 1\n\t"
  39514. "extr x8, x9, x8, 1\n\t"
  39515. "extr x9, x10, x9, 1\n\t"
  39516. "lsr x10, x10, 1\n\t"
  39517. "sub x24, x24, 1\n\t"
  39518. "ands x25, x15, 1\n\t"
  39519. "b.eq 81f\n\t"
  39520. "adds x15, x15, x20\n\t"
  39521. "adcs x16, x16, x21\n\t"
  39522. "adcs x17, x17, x22\n\t"
  39523. "adcs x19, x19, %[m]\n\t"
  39524. "cset x25, cs\n\t"
  39525. "\n81:\n\t"
  39526. "extr x15, x16, x15, 1\n\t"
  39527. "extr x16, x17, x16, 1\n\t"
  39528. "extr x17, x19, x17, 1\n\t"
  39529. "extr x19, x25, x19, 1\n\t"
  39530. "tst x7, 1\n\t"
  39531. "b.eq 80b\n\t"
  39532. "b 90b\n\t"
  39533. "\n100:\n\t"
  39534. "str x11, [%[r], 0]\n\t"
  39535. "str x12, [%[r], 8]\n\t"
  39536. "str x13, [%[r], 16]\n\t"
  39537. "str x14, [%[r], 24]\n\t"
  39538. "b 102f\n\t"
  39539. "\n101:\n\t"
  39540. "str x15, [%[r], 0]\n\t"
  39541. "str x16, [%[r], 8]\n\t"
  39542. "str x17, [%[r], 16]\n\t"
  39543. "str x19, [%[r], 24]\n\t"
  39544. "\n102:\n\t"
  39545. : [m] "+r" (m)
  39546. : [r] "r" (r), [a] "r" (a)
  39547. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25"
  39548. );
  39549. return MP_OKAY;
  39550. }
  39551. #endif /* WOLFSSL_SP_SMALL */
  39552. /* Add point p1 into point p2. Handles p1 == p2 and result at infinity.
  39553. *
  39554. * p1 First point to add and holds result.
  39555. * p2 Second point to add.
  39556. * tmp Temporary storage for intermediate numbers.
  39557. */
  39558. static void sp_256_add_points_4(sp_point_256* p1, const sp_point_256* p2,
  39559. sp_digit* tmp)
  39560. {
  39561. sp_256_proj_point_add_4(p1, p1, p2, tmp);
  39562. if (sp_256_iszero_4(p1->z)) {
  39563. if (sp_256_iszero_4(p1->x) && sp_256_iszero_4(p1->y)) {
  39564. sp_256_proj_point_dbl_4(p1, p2, tmp);
  39565. }
  39566. else {
  39567. /* Y ordinate is not used from here - don't set. */
  39568. p1->x[0] = 0;
  39569. p1->x[1] = 0;
  39570. p1->x[2] = 0;
  39571. p1->x[3] = 0;
  39572. XMEMCPY(p1->z, p256_norm_mod, sizeof(p256_norm_mod));
  39573. }
  39574. }
  39575. }
  39576. /* Calculate the verification point: [e/s]G + [r/s]Q
  39577. *
  39578. * p1 Calculated point.
  39579. * p2 Public point and temporary.
  39580. * s Second part of signature as a number.
  39581. * u1 Temporary number.
  39582. * u2 Temproray number.
  39583. * heap Heap to use for allocation.
  39584. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  39585. */
  39586. static int sp_256_calc_vfy_point_4(sp_point_256* p1, sp_point_256* p2,
  39587. sp_digit* s, sp_digit* u1, sp_digit* u2, sp_digit* tmp, void* heap)
  39588. {
  39589. int err;
  39590. #ifndef WOLFSSL_SP_SMALL
  39591. err = sp_256_mod_inv_4(s, s, p256_order);
  39592. if (err == MP_OKAY)
  39593. #endif /* !WOLFSSL_SP_SMALL */
  39594. {
  39595. sp_256_mul_4(s, s, p256_norm_order);
  39596. err = sp_256_mod_4(s, s, p256_order);
  39597. }
  39598. if (err == MP_OKAY) {
  39599. sp_256_norm_4(s);
  39600. #ifdef WOLFSSL_SP_SMALL
  39601. {
  39602. sp_256_mont_inv_order_4(s, s, tmp);
  39603. sp_256_mont_mul_order_4(u1, u1, s);
  39604. sp_256_mont_mul_order_4(u2, u2, s);
  39605. }
  39606. #else
  39607. {
  39608. sp_256_mont_mul_order_4(u1, u1, s);
  39609. sp_256_mont_mul_order_4(u2, u2, s);
  39610. }
  39611. #endif /* WOLFSSL_SP_SMALL */
  39612. {
  39613. err = sp_256_ecc_mulmod_base_4(p1, u1, 0, 0, heap);
  39614. }
  39615. }
  39616. if ((err == MP_OKAY) && sp_256_iszero_4(p1->z)) {
  39617. p1->infinity = 1;
  39618. }
  39619. if (err == MP_OKAY) {
  39620. err = sp_256_ecc_mulmod_4(p2, p2, u2, 0, 0, heap);
  39621. }
  39622. if ((err == MP_OKAY) && sp_256_iszero_4(p2->z)) {
  39623. p2->infinity = 1;
  39624. }
  39625. if (err == MP_OKAY) {
  39626. sp_256_add_points_4(p1, p2, tmp);
  39627. }
  39628. return err;
  39629. }
  39630. #ifdef HAVE_ECC_VERIFY
  39631. /* Verify the signature values with the hash and public key.
  39632. * e = Truncate(hash, 256)
  39633. * u1 = e/s mod order
  39634. * u2 = r/s mod order
  39635. * r == (u1.G + u2.Q)->x mod order
  39636. * Optimization: Leave point in projective form.
  39637. * (x, y, 1) == (x' / z'*z', y' / z'*z'*z', z' / z')
  39638. * (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x'
  39639. * The hash is truncated to the first 256 bits.
  39640. *
  39641. * hash Hash to sign.
  39642. * hashLen Length of the hash data.
  39643. * rng Random number generator.
  39644. * priv Private part of key - scalar.
  39645. * rm First part of result as an mp_int.
  39646. * sm Sirst part of result as an mp_int.
  39647. * heap Heap to use for allocation.
  39648. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  39649. */
  39650. #ifdef WOLFSSL_SP_NONBLOCK
  39651. typedef struct sp_ecc_verify_256_ctx {
  39652. int state;
  39653. union {
  39654. sp_256_ecc_mulmod_4_ctx mulmod_ctx;
  39655. sp_256_mont_inv_order_4_ctx mont_inv_order_ctx;
  39656. sp_256_proj_point_dbl_4_ctx dbl_ctx;
  39657. sp_256_proj_point_add_4_ctx add_ctx;
  39658. };
  39659. sp_digit u1[2*4];
  39660. sp_digit u2[2*4];
  39661. sp_digit s[2*4];
  39662. sp_digit tmp[2*4 * 6];
  39663. sp_point_256 p1;
  39664. sp_point_256 p2;
  39665. } sp_ecc_verify_256_ctx;
  39666. int sp_ecc_verify_256_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash,
  39667. word32 hashLen, const mp_int* pX, const mp_int* pY, const mp_int* pZ,
  39668. const mp_int* rm, const mp_int* sm, int* res, void* heap)
  39669. {
  39670. int err = FP_WOULDBLOCK;
  39671. sp_ecc_verify_256_ctx* ctx = (sp_ecc_verify_256_ctx*)sp_ctx->data;
  39672. typedef char ctx_size_test[sizeof(sp_ecc_verify_256_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  39673. (void)sizeof(ctx_size_test);
  39674. switch (ctx->state) {
  39675. case 0: /* INIT */
  39676. if (hashLen > 32U) {
  39677. hashLen = 32U;
  39678. }
  39679. sp_256_from_bin(ctx->u1, 4, hash, (int)hashLen);
  39680. sp_256_from_mp(ctx->u2, 4, rm);
  39681. sp_256_from_mp(ctx->s, 4, sm);
  39682. sp_256_from_mp(ctx->p2.x, 4, pX);
  39683. sp_256_from_mp(ctx->p2.y, 4, pY);
  39684. sp_256_from_mp(ctx->p2.z, 4, pZ);
  39685. ctx->state = 1;
  39686. break;
  39687. case 1: /* NORMS0 */
  39688. sp_256_mul_4(ctx->s, ctx->s, p256_norm_order);
  39689. err = sp_256_mod_4(ctx->s, ctx->s, p256_order);
  39690. if (err == MP_OKAY)
  39691. ctx->state = 2;
  39692. break;
  39693. case 2: /* NORMS1 */
  39694. sp_256_norm_4(ctx->s);
  39695. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  39696. ctx->state = 3;
  39697. break;
  39698. case 3: /* NORMS2 */
  39699. err = sp_256_mont_inv_order_4_nb((sp_ecc_ctx_t*)&ctx->mont_inv_order_ctx, ctx->s, ctx->s, ctx->tmp);
  39700. if (err == MP_OKAY) {
  39701. ctx->state = 4;
  39702. }
  39703. break;
  39704. case 4: /* NORMS3 */
  39705. sp_256_mont_mul_order_4(ctx->u1, ctx->u1, ctx->s);
  39706. ctx->state = 5;
  39707. break;
  39708. case 5: /* NORMS4 */
  39709. sp_256_mont_mul_order_4(ctx->u2, ctx->u2, ctx->s);
  39710. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  39711. ctx->state = 6;
  39712. break;
  39713. case 6: /* MULBASE */
  39714. err = sp_256_ecc_mulmod_4_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, &ctx->p1, &p256_base, ctx->u1, 0, 0, heap);
  39715. if (err == MP_OKAY) {
  39716. if (sp_256_iszero_4(ctx->p1.z)) {
  39717. ctx->p1.infinity = 1;
  39718. }
  39719. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  39720. ctx->state = 7;
  39721. }
  39722. break;
  39723. case 7: /* MULMOD */
  39724. err = sp_256_ecc_mulmod_4_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, &ctx->p2, &ctx->p2, ctx->u2, 0, 0, heap);
  39725. if (err == MP_OKAY) {
  39726. if (sp_256_iszero_4(ctx->p2.z)) {
  39727. ctx->p2.infinity = 1;
  39728. }
  39729. XMEMSET(&ctx->add_ctx, 0, sizeof(ctx->add_ctx));
  39730. ctx->state = 8;
  39731. }
  39732. break;
  39733. case 8: /* ADD */
  39734. err = sp_256_proj_point_add_4_nb((sp_ecc_ctx_t*)&ctx->add_ctx, &ctx->p1, &ctx->p1, &ctx->p2, ctx->tmp);
  39735. if (err == MP_OKAY)
  39736. ctx->state = 9;
  39737. break;
  39738. case 9: /* MONT */
  39739. /* (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x' */
  39740. /* Reload r and convert to Montgomery form. */
  39741. sp_256_from_mp(ctx->u2, 4, rm);
  39742. err = sp_256_mod_mul_norm_4(ctx->u2, ctx->u2, p256_mod);
  39743. if (err == MP_OKAY)
  39744. ctx->state = 10;
  39745. break;
  39746. case 10: /* SQR */
  39747. /* u1 = r.z'.z' mod prime */
  39748. sp_256_mont_sqr_4(ctx->p1.z, ctx->p1.z, p256_mod, p256_mp_mod);
  39749. ctx->state = 11;
  39750. break;
  39751. case 11: /* MUL */
  39752. sp_256_mont_mul_4(ctx->u1, ctx->u2, ctx->p1.z, p256_mod, p256_mp_mod);
  39753. ctx->state = 12;
  39754. break;
  39755. case 12: /* RES */
  39756. {
  39757. sp_int64 c = 0;
  39758. err = MP_OKAY; /* math okay, now check result */
  39759. *res = (int)(sp_256_cmp_4(ctx->p1.x, ctx->u1) == 0);
  39760. if (*res == 0) {
  39761. sp_digit carry;
  39762. /* Reload r and add order. */
  39763. sp_256_from_mp(ctx->u2, 4, rm);
  39764. carry = sp_256_add_4(ctx->u2, ctx->u2, p256_order);
  39765. /* Carry means result is greater than mod and is not valid. */
  39766. if (carry == 0) {
  39767. sp_256_norm_4(ctx->u2);
  39768. /* Compare with mod and if greater or equal then not valid. */
  39769. c = sp_256_cmp_4(ctx->u2, p256_mod);
  39770. }
  39771. }
  39772. if ((*res == 0) && (c < 0)) {
  39773. /* Convert to Montogomery form */
  39774. err = sp_256_mod_mul_norm_4(ctx->u2, ctx->u2, p256_mod);
  39775. if (err == MP_OKAY) {
  39776. /* u1 = (r + 1*order).z'.z' mod prime */
  39777. sp_256_mont_mul_4(ctx->u1, ctx->u2, ctx->p1.z, p256_mod,
  39778. p256_mp_mod);
  39779. *res = (int)(sp_256_cmp_4(ctx->p1.x, ctx->u1) == 0);
  39780. }
  39781. }
  39782. break;
  39783. }
  39784. } /* switch */
  39785. if (err == MP_OKAY && ctx->state != 12) {
  39786. err = FP_WOULDBLOCK;
  39787. }
  39788. return err;
  39789. }
  39790. #endif /* WOLFSSL_SP_NONBLOCK */
  39791. int sp_ecc_verify_256(const byte* hash, word32 hashLen, const mp_int* pX,
  39792. const mp_int* pY, const mp_int* pZ, const mp_int* rm, const mp_int* sm,
  39793. int* res, void* heap)
  39794. {
  39795. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39796. sp_digit* u1 = NULL;
  39797. sp_point_256* p1 = NULL;
  39798. #else
  39799. sp_digit u1[18 * 4];
  39800. sp_point_256 p1[2];
  39801. #endif
  39802. sp_digit* u2 = NULL;
  39803. sp_digit* s = NULL;
  39804. sp_digit* tmp = NULL;
  39805. sp_point_256* p2 = NULL;
  39806. sp_digit carry;
  39807. sp_int64 c = 0;
  39808. int err = MP_OKAY;
  39809. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39810. if (err == MP_OKAY) {
  39811. p1 = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  39812. DYNAMIC_TYPE_ECC);
  39813. if (p1 == NULL)
  39814. err = MEMORY_E;
  39815. }
  39816. if (err == MP_OKAY) {
  39817. u1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 18 * 4, heap,
  39818. DYNAMIC_TYPE_ECC);
  39819. if (u1 == NULL)
  39820. err = MEMORY_E;
  39821. }
  39822. #endif
  39823. if (err == MP_OKAY) {
  39824. u2 = u1 + 2 * 4;
  39825. s = u1 + 4 * 4;
  39826. tmp = u1 + 6 * 4;
  39827. p2 = p1 + 1;
  39828. if (hashLen > 32U) {
  39829. hashLen = 32U;
  39830. }
  39831. sp_256_from_bin(u1, 4, hash, (int)hashLen);
  39832. sp_256_from_mp(u2, 4, rm);
  39833. sp_256_from_mp(s, 4, sm);
  39834. sp_256_from_mp(p2->x, 4, pX);
  39835. sp_256_from_mp(p2->y, 4, pY);
  39836. sp_256_from_mp(p2->z, 4, pZ);
  39837. err = sp_256_calc_vfy_point_4(p1, p2, s, u1, u2, tmp, heap);
  39838. }
  39839. if (err == MP_OKAY) {
  39840. /* (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x' */
  39841. /* Reload r and convert to Montgomery form. */
  39842. sp_256_from_mp(u2, 4, rm);
  39843. err = sp_256_mod_mul_norm_4(u2, u2, p256_mod);
  39844. }
  39845. if (err == MP_OKAY) {
  39846. /* u1 = r.z'.z' mod prime */
  39847. sp_256_mont_sqr_4(p1->z, p1->z, p256_mod, p256_mp_mod);
  39848. sp_256_mont_mul_4(u1, u2, p1->z, p256_mod, p256_mp_mod);
  39849. *res = (int)(sp_256_cmp_4(p1->x, u1) == 0);
  39850. if (*res == 0) {
  39851. /* Reload r and add order. */
  39852. sp_256_from_mp(u2, 4, rm);
  39853. carry = sp_256_add_4(u2, u2, p256_order);
  39854. /* Carry means result is greater than mod and is not valid. */
  39855. if (carry == 0) {
  39856. sp_256_norm_4(u2);
  39857. /* Compare with mod and if greater or equal then not valid. */
  39858. c = sp_256_cmp_4(u2, p256_mod);
  39859. }
  39860. }
  39861. if ((*res == 0) && (c < 0)) {
  39862. /* Convert to Montogomery form */
  39863. err = sp_256_mod_mul_norm_4(u2, u2, p256_mod);
  39864. if (err == MP_OKAY) {
  39865. /* u1 = (r + 1*order).z'.z' mod prime */
  39866. {
  39867. sp_256_mont_mul_4(u1, u2, p1->z, p256_mod, p256_mp_mod);
  39868. }
  39869. *res = (sp_256_cmp_4(p1->x, u1) == 0);
  39870. }
  39871. }
  39872. }
  39873. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39874. if (u1 != NULL)
  39875. XFREE(u1, heap, DYNAMIC_TYPE_ECC);
  39876. if (p1 != NULL)
  39877. XFREE(p1, heap, DYNAMIC_TYPE_ECC);
  39878. #endif
  39879. return err;
  39880. }
  39881. #endif /* HAVE_ECC_VERIFY */
  39882. #ifdef HAVE_ECC_CHECK_KEY
  39883. /* Check that the x and y oridinates are a valid point on the curve.
  39884. *
  39885. * point EC point.
  39886. * heap Heap to use if dynamically allocating.
  39887. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  39888. * not on the curve and MP_OKAY otherwise.
  39889. */
  39890. static int sp_256_ecc_is_point_4(const sp_point_256* point,
  39891. void* heap)
  39892. {
  39893. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39894. sp_digit* t1 = NULL;
  39895. #else
  39896. sp_digit t1[4 * 4];
  39897. #endif
  39898. sp_digit* t2 = NULL;
  39899. int err = MP_OKAY;
  39900. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39901. t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 4, heap, DYNAMIC_TYPE_ECC);
  39902. if (t1 == NULL)
  39903. err = MEMORY_E;
  39904. #endif
  39905. (void)heap;
  39906. if (err == MP_OKAY) {
  39907. t2 = t1 + 2 * 4;
  39908. sp_256_sqr_4(t1, point->y);
  39909. (void)sp_256_mod_4(t1, t1, p256_mod);
  39910. sp_256_sqr_4(t2, point->x);
  39911. (void)sp_256_mod_4(t2, t2, p256_mod);
  39912. sp_256_mul_4(t2, t2, point->x);
  39913. (void)sp_256_mod_4(t2, t2, p256_mod);
  39914. (void)sp_256_sub_4(t2, p256_mod, t2);
  39915. sp_256_mont_add_4(t1, t1, t2, p256_mod);
  39916. sp_256_mont_add_4(t1, t1, point->x, p256_mod);
  39917. sp_256_mont_add_4(t1, t1, point->x, p256_mod);
  39918. sp_256_mont_add_4(t1, t1, point->x, p256_mod);
  39919. if (sp_256_cmp_4(t1, p256_b) != 0) {
  39920. err = MP_VAL;
  39921. }
  39922. }
  39923. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39924. if (t1 != NULL)
  39925. XFREE(t1, heap, DYNAMIC_TYPE_ECC);
  39926. #endif
  39927. return err;
  39928. }
  39929. /* Check that the x and y oridinates are a valid point on the curve.
  39930. *
  39931. * pX X ordinate of EC point.
  39932. * pY Y ordinate of EC point.
  39933. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  39934. * not on the curve and MP_OKAY otherwise.
  39935. */
  39936. int sp_ecc_is_point_256(const mp_int* pX, const mp_int* pY)
  39937. {
  39938. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39939. sp_point_256* pub = NULL;
  39940. #else
  39941. sp_point_256 pub[1];
  39942. #endif
  39943. const byte one[1] = { 1 };
  39944. int err = MP_OKAY;
  39945. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39946. pub = (sp_point_256*)XMALLOC(sizeof(sp_point_256), NULL,
  39947. DYNAMIC_TYPE_ECC);
  39948. if (pub == NULL)
  39949. err = MEMORY_E;
  39950. #endif
  39951. if (err == MP_OKAY) {
  39952. sp_256_from_mp(pub->x, 4, pX);
  39953. sp_256_from_mp(pub->y, 4, pY);
  39954. sp_256_from_bin(pub->z, 4, one, (int)sizeof(one));
  39955. err = sp_256_ecc_is_point_4(pub, NULL);
  39956. }
  39957. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39958. if (pub != NULL)
  39959. XFREE(pub, NULL, DYNAMIC_TYPE_ECC);
  39960. #endif
  39961. return err;
  39962. }
  39963. /* Check that the private scalar generates the EC point (px, py), the point is
  39964. * on the curve and the point has the correct order.
  39965. *
  39966. * pX X ordinate of EC point.
  39967. * pY Y ordinate of EC point.
  39968. * privm Private scalar that generates EC point.
  39969. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  39970. * not on the curve, ECC_INF_E if the point does not have the correct order,
  39971. * ECC_PRIV_KEY_E when the private scalar doesn't generate the EC point and
  39972. * MP_OKAY otherwise.
  39973. */
  39974. int sp_ecc_check_key_256(const mp_int* pX, const mp_int* pY,
  39975. const mp_int* privm, void* heap)
  39976. {
  39977. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39978. sp_digit* priv = NULL;
  39979. sp_point_256* pub = NULL;
  39980. #else
  39981. sp_digit priv[4];
  39982. sp_point_256 pub[2];
  39983. #endif
  39984. sp_point_256* p = NULL;
  39985. const byte one[1] = { 1 };
  39986. int err = MP_OKAY;
  39987. /* Quick check the lengs of public key ordinates and private key are in
  39988. * range. Proper check later.
  39989. */
  39990. if (((mp_count_bits(pX) > 256) ||
  39991. (mp_count_bits(pY) > 256) ||
  39992. ((privm != NULL) && (mp_count_bits(privm) > 256)))) {
  39993. err = ECC_OUT_OF_RANGE_E;
  39994. }
  39995. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  39996. if (err == MP_OKAY) {
  39997. pub = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap,
  39998. DYNAMIC_TYPE_ECC);
  39999. if (pub == NULL)
  40000. err = MEMORY_E;
  40001. }
  40002. if (err == MP_OKAY && privm) {
  40003. priv = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap,
  40004. DYNAMIC_TYPE_ECC);
  40005. if (priv == NULL)
  40006. err = MEMORY_E;
  40007. }
  40008. #endif
  40009. if (err == MP_OKAY) {
  40010. p = pub + 1;
  40011. sp_256_from_mp(pub->x, 4, pX);
  40012. sp_256_from_mp(pub->y, 4, pY);
  40013. sp_256_from_bin(pub->z, 4, one, (int)sizeof(one));
  40014. if (privm)
  40015. sp_256_from_mp(priv, 4, privm);
  40016. /* Check point at infinitiy. */
  40017. if ((sp_256_iszero_4(pub->x) != 0) &&
  40018. (sp_256_iszero_4(pub->y) != 0)) {
  40019. err = ECC_INF_E;
  40020. }
  40021. }
  40022. /* Check range of X and Y */
  40023. if ((err == MP_OKAY) &&
  40024. ((sp_256_cmp_4(pub->x, p256_mod) >= 0) ||
  40025. (sp_256_cmp_4(pub->y, p256_mod) >= 0))) {
  40026. err = ECC_OUT_OF_RANGE_E;
  40027. }
  40028. if (err == MP_OKAY) {
  40029. /* Check point is on curve */
  40030. err = sp_256_ecc_is_point_4(pub, heap);
  40031. }
  40032. if (err == MP_OKAY) {
  40033. /* Point * order = infinity */
  40034. err = sp_256_ecc_mulmod_4(p, pub, p256_order, 1, 1, heap);
  40035. }
  40036. /* Check result is infinity */
  40037. if ((err == MP_OKAY) && ((sp_256_iszero_4(p->x) == 0) ||
  40038. (sp_256_iszero_4(p->y) == 0))) {
  40039. err = ECC_INF_E;
  40040. }
  40041. if (privm) {
  40042. if (err == MP_OKAY) {
  40043. /* Base * private = point */
  40044. err = sp_256_ecc_mulmod_base_4(p, priv, 1, 1, heap);
  40045. }
  40046. /* Check result is public key */
  40047. if ((err == MP_OKAY) &&
  40048. ((sp_256_cmp_4(p->x, pub->x) != 0) ||
  40049. (sp_256_cmp_4(p->y, pub->y) != 0))) {
  40050. err = ECC_PRIV_KEY_E;
  40051. }
  40052. }
  40053. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40054. if (pub != NULL)
  40055. XFREE(pub, heap, DYNAMIC_TYPE_ECC);
  40056. if (priv != NULL)
  40057. XFREE(priv, heap, DYNAMIC_TYPE_ECC);
  40058. #endif
  40059. return err;
  40060. }
  40061. #endif
  40062. #ifdef WOLFSSL_PUBLIC_ECC_ADD_DBL
  40063. /* Add two projective EC points together.
  40064. * (pX, pY, pZ) + (qX, qY, qZ) = (rX, rY, rZ)
  40065. *
  40066. * pX First EC point's X ordinate.
  40067. * pY First EC point's Y ordinate.
  40068. * pZ First EC point's Z ordinate.
  40069. * qX Second EC point's X ordinate.
  40070. * qY Second EC point's Y ordinate.
  40071. * qZ Second EC point's Z ordinate.
  40072. * rX Resultant EC point's X ordinate.
  40073. * rY Resultant EC point's Y ordinate.
  40074. * rZ Resultant EC point's Z ordinate.
  40075. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  40076. */
  40077. int sp_ecc_proj_add_point_256(mp_int* pX, mp_int* pY, mp_int* pZ,
  40078. mp_int* qX, mp_int* qY, mp_int* qZ,
  40079. mp_int* rX, mp_int* rY, mp_int* rZ)
  40080. {
  40081. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40082. sp_digit* tmp = NULL;
  40083. sp_point_256* p = NULL;
  40084. #else
  40085. sp_digit tmp[2 * 4 * 6];
  40086. sp_point_256 p[2];
  40087. #endif
  40088. sp_point_256* q = NULL;
  40089. int err = MP_OKAY;
  40090. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40091. if (err == MP_OKAY) {
  40092. p = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, NULL,
  40093. DYNAMIC_TYPE_ECC);
  40094. if (p == NULL)
  40095. err = MEMORY_E;
  40096. }
  40097. if (err == MP_OKAY) {
  40098. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, NULL,
  40099. DYNAMIC_TYPE_ECC);
  40100. if (tmp == NULL) {
  40101. err = MEMORY_E;
  40102. }
  40103. }
  40104. #endif
  40105. if (err == MP_OKAY) {
  40106. q = p + 1;
  40107. sp_256_from_mp(p->x, 4, pX);
  40108. sp_256_from_mp(p->y, 4, pY);
  40109. sp_256_from_mp(p->z, 4, pZ);
  40110. sp_256_from_mp(q->x, 4, qX);
  40111. sp_256_from_mp(q->y, 4, qY);
  40112. sp_256_from_mp(q->z, 4, qZ);
  40113. p->infinity = sp_256_iszero_4(p->x) &
  40114. sp_256_iszero_4(p->y);
  40115. q->infinity = sp_256_iszero_4(q->x) &
  40116. sp_256_iszero_4(q->y);
  40117. sp_256_proj_point_add_4(p, p, q, tmp);
  40118. }
  40119. if (err == MP_OKAY) {
  40120. err = sp_256_to_mp(p->x, rX);
  40121. }
  40122. if (err == MP_OKAY) {
  40123. err = sp_256_to_mp(p->y, rY);
  40124. }
  40125. if (err == MP_OKAY) {
  40126. err = sp_256_to_mp(p->z, rZ);
  40127. }
  40128. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40129. if (tmp != NULL)
  40130. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  40131. if (p != NULL)
  40132. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  40133. #endif
  40134. return err;
  40135. }
  40136. /* Double a projective EC point.
  40137. * (pX, pY, pZ) + (pX, pY, pZ) = (rX, rY, rZ)
  40138. *
  40139. * pX EC point's X ordinate.
  40140. * pY EC point's Y ordinate.
  40141. * pZ EC point's Z ordinate.
  40142. * rX Resultant EC point's X ordinate.
  40143. * rY Resultant EC point's Y ordinate.
  40144. * rZ Resultant EC point's Z ordinate.
  40145. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  40146. */
  40147. int sp_ecc_proj_dbl_point_256(mp_int* pX, mp_int* pY, mp_int* pZ,
  40148. mp_int* rX, mp_int* rY, mp_int* rZ)
  40149. {
  40150. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40151. sp_digit* tmp = NULL;
  40152. sp_point_256* p = NULL;
  40153. #else
  40154. sp_digit tmp[2 * 4 * 2];
  40155. sp_point_256 p[1];
  40156. #endif
  40157. int err = MP_OKAY;
  40158. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40159. if (err == MP_OKAY) {
  40160. p = (sp_point_256*)XMALLOC(sizeof(sp_point_256), NULL,
  40161. DYNAMIC_TYPE_ECC);
  40162. if (p == NULL)
  40163. err = MEMORY_E;
  40164. }
  40165. if (err == MP_OKAY) {
  40166. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 2, NULL,
  40167. DYNAMIC_TYPE_ECC);
  40168. if (tmp == NULL)
  40169. err = MEMORY_E;
  40170. }
  40171. #endif
  40172. if (err == MP_OKAY) {
  40173. sp_256_from_mp(p->x, 4, pX);
  40174. sp_256_from_mp(p->y, 4, pY);
  40175. sp_256_from_mp(p->z, 4, pZ);
  40176. p->infinity = sp_256_iszero_4(p->x) &
  40177. sp_256_iszero_4(p->y);
  40178. sp_256_proj_point_dbl_4(p, p, tmp);
  40179. }
  40180. if (err == MP_OKAY) {
  40181. err = sp_256_to_mp(p->x, rX);
  40182. }
  40183. if (err == MP_OKAY) {
  40184. err = sp_256_to_mp(p->y, rY);
  40185. }
  40186. if (err == MP_OKAY) {
  40187. err = sp_256_to_mp(p->z, rZ);
  40188. }
  40189. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40190. if (tmp != NULL)
  40191. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  40192. if (p != NULL)
  40193. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  40194. #endif
  40195. return err;
  40196. }
  40197. /* Map a projective EC point to affine in place.
  40198. * pZ will be one.
  40199. *
  40200. * pX EC point's X ordinate.
  40201. * pY EC point's Y ordinate.
  40202. * pZ EC point's Z ordinate.
  40203. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  40204. */
  40205. int sp_ecc_map_256(mp_int* pX, mp_int* pY, mp_int* pZ)
  40206. {
  40207. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40208. sp_digit* tmp = NULL;
  40209. sp_point_256* p = NULL;
  40210. #else
  40211. sp_digit tmp[2 * 4 * 4];
  40212. sp_point_256 p[1];
  40213. #endif
  40214. int err = MP_OKAY;
  40215. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40216. if (err == MP_OKAY) {
  40217. p = (sp_point_256*)XMALLOC(sizeof(sp_point_256), NULL,
  40218. DYNAMIC_TYPE_ECC);
  40219. if (p == NULL)
  40220. err = MEMORY_E;
  40221. }
  40222. if (err == MP_OKAY) {
  40223. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 4, NULL,
  40224. DYNAMIC_TYPE_ECC);
  40225. if (tmp == NULL)
  40226. err = MEMORY_E;
  40227. }
  40228. #endif
  40229. if (err == MP_OKAY) {
  40230. sp_256_from_mp(p->x, 4, pX);
  40231. sp_256_from_mp(p->y, 4, pY);
  40232. sp_256_from_mp(p->z, 4, pZ);
  40233. p->infinity = sp_256_iszero_4(p->x) &
  40234. sp_256_iszero_4(p->y);
  40235. sp_256_map_4(p, p, tmp);
  40236. }
  40237. if (err == MP_OKAY) {
  40238. err = sp_256_to_mp(p->x, pX);
  40239. }
  40240. if (err == MP_OKAY) {
  40241. err = sp_256_to_mp(p->y, pY);
  40242. }
  40243. if (err == MP_OKAY) {
  40244. err = sp_256_to_mp(p->z, pZ);
  40245. }
  40246. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40247. if (tmp != NULL)
  40248. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  40249. if (p != NULL)
  40250. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  40251. #endif
  40252. return err;
  40253. }
  40254. #endif /* WOLFSSL_PUBLIC_ECC_ADD_DBL */
  40255. #ifdef HAVE_COMP_KEY
  40256. /* Find the square root of a number mod the prime of the curve.
  40257. *
  40258. * y The number to operate on and the result.
  40259. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  40260. */
  40261. static int sp_256_mont_sqrt_4(sp_digit* y)
  40262. {
  40263. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40264. sp_digit* t1 = NULL;
  40265. #else
  40266. sp_digit t1[4 * 4];
  40267. #endif
  40268. sp_digit* t2 = NULL;
  40269. int err = MP_OKAY;
  40270. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40271. t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 4, NULL, DYNAMIC_TYPE_ECC);
  40272. if (t1 == NULL) {
  40273. err = MEMORY_E;
  40274. }
  40275. #endif
  40276. if (err == MP_OKAY) {
  40277. t2 = t1 + 2 * 4;
  40278. {
  40279. /* t2 = y ^ 0x2 */
  40280. sp_256_mont_sqr_4(t2, y, p256_mod, p256_mp_mod);
  40281. /* t1 = y ^ 0x3 */
  40282. sp_256_mont_mul_4(t1, t2, y, p256_mod, p256_mp_mod);
  40283. /* t2 = y ^ 0xc */
  40284. sp_256_mont_sqr_n_4(t2, t1, 2, p256_mod, p256_mp_mod);
  40285. /* t1 = y ^ 0xf */
  40286. sp_256_mont_mul_4(t1, t1, t2, p256_mod, p256_mp_mod);
  40287. /* t2 = y ^ 0xf0 */
  40288. sp_256_mont_sqr_n_4(t2, t1, 4, p256_mod, p256_mp_mod);
  40289. /* t1 = y ^ 0xff */
  40290. sp_256_mont_mul_4(t1, t1, t2, p256_mod, p256_mp_mod);
  40291. /* t2 = y ^ 0xff00 */
  40292. sp_256_mont_sqr_n_4(t2, t1, 8, p256_mod, p256_mp_mod);
  40293. /* t1 = y ^ 0xffff */
  40294. sp_256_mont_mul_4(t1, t1, t2, p256_mod, p256_mp_mod);
  40295. /* t2 = y ^ 0xffff0000 */
  40296. sp_256_mont_sqr_n_4(t2, t1, 16, p256_mod, p256_mp_mod);
  40297. /* t1 = y ^ 0xffffffff */
  40298. sp_256_mont_mul_4(t1, t1, t2, p256_mod, p256_mp_mod);
  40299. /* t1 = y ^ 0xffffffff00000000 */
  40300. sp_256_mont_sqr_n_4(t1, t1, 32, p256_mod, p256_mp_mod);
  40301. /* t1 = y ^ 0xffffffff00000001 */
  40302. sp_256_mont_mul_4(t1, t1, y, p256_mod, p256_mp_mod);
  40303. /* t1 = y ^ 0xffffffff00000001000000000000000000000000 */
  40304. sp_256_mont_sqr_n_4(t1, t1, 96, p256_mod, p256_mp_mod);
  40305. /* t1 = y ^ 0xffffffff00000001000000000000000000000001 */
  40306. sp_256_mont_mul_4(t1, t1, y, p256_mod, p256_mp_mod);
  40307. sp_256_mont_sqr_n_4(y, t1, 94, p256_mod, p256_mp_mod);
  40308. }
  40309. }
  40310. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40311. if (t1 != NULL)
  40312. XFREE(t1, NULL, DYNAMIC_TYPE_ECC);
  40313. #endif
  40314. return err;
  40315. }
  40316. /* Uncompress the point given the X ordinate.
  40317. *
  40318. * xm X ordinate.
  40319. * odd Whether the Y ordinate is odd.
  40320. * ym Calculated Y ordinate.
  40321. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  40322. */
  40323. int sp_ecc_uncompress_256(mp_int* xm, int odd, mp_int* ym)
  40324. {
  40325. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40326. sp_digit* x = NULL;
  40327. #else
  40328. sp_digit x[4 * 4];
  40329. #endif
  40330. sp_digit* y = NULL;
  40331. int err = MP_OKAY;
  40332. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40333. x = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 4, NULL, DYNAMIC_TYPE_ECC);
  40334. if (x == NULL)
  40335. err = MEMORY_E;
  40336. #endif
  40337. if (err == MP_OKAY) {
  40338. y = x + 2 * 4;
  40339. sp_256_from_mp(x, 4, xm);
  40340. err = sp_256_mod_mul_norm_4(x, x, p256_mod);
  40341. }
  40342. if (err == MP_OKAY) {
  40343. /* y = x^3 */
  40344. {
  40345. sp_256_mont_sqr_4(y, x, p256_mod, p256_mp_mod);
  40346. sp_256_mont_mul_4(y, y, x, p256_mod, p256_mp_mod);
  40347. }
  40348. /* y = x^3 - 3x */
  40349. sp_256_mont_sub_4(y, y, x, p256_mod);
  40350. sp_256_mont_sub_4(y, y, x, p256_mod);
  40351. sp_256_mont_sub_4(y, y, x, p256_mod);
  40352. /* y = x^3 - 3x + b */
  40353. err = sp_256_mod_mul_norm_4(x, p256_b, p256_mod);
  40354. }
  40355. if (err == MP_OKAY) {
  40356. sp_256_mont_add_4(y, y, x, p256_mod);
  40357. /* y = sqrt(x^3 - 3x + b) */
  40358. err = sp_256_mont_sqrt_4(y);
  40359. }
  40360. if (err == MP_OKAY) {
  40361. XMEMSET(y + 4, 0, 4U * sizeof(sp_digit));
  40362. sp_256_mont_reduce_4(y, p256_mod, p256_mp_mod);
  40363. if ((((word32)y[0] ^ (word32)odd) & 1U) != 0U) {
  40364. sp_256_mont_sub_4(y, p256_mod, y, p256_mod);
  40365. }
  40366. err = sp_256_to_mp(y, ym);
  40367. }
  40368. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  40369. if (x != NULL)
  40370. XFREE(x, NULL, DYNAMIC_TYPE_ECC);
  40371. #endif
  40372. return err;
  40373. }
  40374. #endif
  40375. #endif /* !WOLFSSL_SP_NO_256 */
  40376. #ifdef WOLFSSL_SP_384
  40377. /* Point structure to use. */
  40378. typedef struct sp_point_384 {
  40379. /* X ordinate of point. */
  40380. sp_digit x[2 * 6];
  40381. /* Y ordinate of point. */
  40382. sp_digit y[2 * 6];
  40383. /* Z ordinate of point. */
  40384. sp_digit z[2 * 6];
  40385. /* Indicates point is at infinity. */
  40386. int infinity;
  40387. } sp_point_384;
  40388. /* The modulus (prime) of the curve P384. */
  40389. static const sp_digit p384_mod[6] = {
  40390. 0x00000000ffffffffL,0xffffffff00000000L,0xfffffffffffffffeL,
  40391. 0xffffffffffffffffL,0xffffffffffffffffL,0xffffffffffffffffL
  40392. };
  40393. /* The Montgomery normalizer for modulus of the curve P384. */
  40394. static const sp_digit p384_norm_mod[6] = {
  40395. 0xffffffff00000001L,0x00000000ffffffffL,0x0000000000000001L,
  40396. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L
  40397. };
  40398. /* The Montgomery multiplier for modulus of the curve P384. */
  40399. static sp_digit p384_mp_mod = 0x0000000100000001;
  40400. #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \
  40401. defined(HAVE_ECC_VERIFY)
  40402. /* The order of the curve P384. */
  40403. static const sp_digit p384_order[6] = {
  40404. 0xecec196accc52973L,0x581a0db248b0a77aL,0xc7634d81f4372ddfL,
  40405. 0xffffffffffffffffL,0xffffffffffffffffL,0xffffffffffffffffL
  40406. };
  40407. #endif
  40408. /* The order of the curve P384 minus 2. */
  40409. static const sp_digit p384_order2[6] = {
  40410. 0xecec196accc52971L,0x581a0db248b0a77aL,0xc7634d81f4372ddfL,
  40411. 0xffffffffffffffffL,0xffffffffffffffffL,0xffffffffffffffffL
  40412. };
  40413. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  40414. /* The Montgomery normalizer for order of the curve P384. */
  40415. static const sp_digit p384_norm_order[6] = {
  40416. 0x1313e695333ad68dL,0xa7e5f24db74f5885L,0x389cb27e0bc8d220L,
  40417. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L
  40418. };
  40419. #endif
  40420. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  40421. /* The Montgomery multiplier for order of the curve P384. */
  40422. static sp_digit p384_mp_order = 0x6ed46089e88fdc45L;
  40423. #endif
  40424. #ifdef WOLFSSL_SP_SMALL
  40425. /* The base point of curve P384. */
  40426. static const sp_point_384 p384_base = {
  40427. /* X ordinate */
  40428. {
  40429. 0x3a545e3872760ab7L,0x5502f25dbf55296cL,0x59f741e082542a38L,
  40430. 0x6e1d3b628ba79b98L,0x8eb1c71ef320ad74L,0xaa87ca22be8b0537L,
  40431. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  40432. (sp_digit)0
  40433. },
  40434. /* Y ordinate */
  40435. {
  40436. 0x7a431d7c90ea0e5fL,0x0a60b1ce1d7e819dL,0xe9da3113b5f0b8c0L,
  40437. 0xf8f41dbd289a147cL,0x5d9e98bf9292dc29L,0x3617de4a96262c6fL,
  40438. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  40439. (sp_digit)0
  40440. },
  40441. /* Z ordinate */
  40442. {
  40443. 0x0000000000000001L,0x0000000000000000L,0x0000000000000000L,
  40444. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  40445. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  40446. (sp_digit)0
  40447. },
  40448. /* infinity */
  40449. 0
  40450. };
  40451. #endif /* WOLFSSL_SP_SMALL */
  40452. #if defined(HAVE_ECC_CHECK_KEY) || defined(HAVE_COMP_KEY)
  40453. static const sp_digit p384_b[6] = {
  40454. 0x2a85c8edd3ec2aefL,0xc656398d8a2ed19dL,0x0314088f5013875aL,
  40455. 0x181d9c6efe814112L,0x988e056be3f82d19L,0xb3312fa7e23ee7e4L
  40456. };
  40457. #endif
  40458. #ifdef WOLFSSL_SP_SMALL
  40459. /* Multiply a and b into r. (r = a * b)
  40460. *
  40461. * r A single precision integer.
  40462. * a A single precision integer.
  40463. * b A single precision integer.
  40464. */
  40465. static void sp_384_mul_6(sp_digit* r, const sp_digit* a, const sp_digit* b)
  40466. {
  40467. sp_digit tmp[12];
  40468. __asm__ __volatile__ (
  40469. "mov x5, xzr\n\t"
  40470. "mov x6, xzr\n\t"
  40471. "mov x7, xzr\n\t"
  40472. "mov x8, xzr\n\t"
  40473. "\n1:\n\t"
  40474. "subs x3, x5, 40\n\t"
  40475. "csel x3, xzr, x3, cc\n\t"
  40476. "sub x4, x5, x3\n\t"
  40477. "\n2:\n\t"
  40478. "ldr x10, [%[a], x3]\n\t"
  40479. "ldr x11, [%[b], x4]\n\t"
  40480. "mul x9, x10, x11\n\t"
  40481. "umulh x10, x10, x11\n\t"
  40482. "adds x6, x6, x9\n\t"
  40483. "adcs x7, x7, x10\n\t"
  40484. "adc x8, x8, xzr\n\t"
  40485. "add x3, x3, #8\n\t"
  40486. "sub x4, x4, #8\n\t"
  40487. "cmp x3, 48\n\t"
  40488. "b.eq 3f\n\t"
  40489. "cmp x3, x5\n\t"
  40490. "b.le 2b\n\t"
  40491. "\n3:\n\t"
  40492. "str x6, [%[r], x5]\n\t"
  40493. "mov x6, x7\n\t"
  40494. "mov x7, x8\n\t"
  40495. "mov x8, #0\n\t"
  40496. "add x5, x5, #8\n\t"
  40497. "cmp x5, 80\n\t"
  40498. "b.le 1b\n\t"
  40499. "str x6, [%[r], x5]\n\t"
  40500. :
  40501. : [r] "r" (tmp), [a] "r" (a), [b] "r" (b)
  40502. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  40503. );
  40504. XMEMCPY(r, tmp, sizeof(tmp));
  40505. }
  40506. #else
  40507. /* Multiply a and b into r. (r = a * b)
  40508. *
  40509. * r A single precision integer.
  40510. * a A single precision integer.
  40511. * b A single precision integer.
  40512. */
  40513. static void sp_384_mul_6(sp_digit* r, const sp_digit* a, const sp_digit* b)
  40514. {
  40515. __asm__ __volatile__ (
  40516. "ldp x8, x9, [%[a], 0]\n\t"
  40517. "ldp x10, x11, [%[a], 16]\n\t"
  40518. "ldp x12, x13, [%[a], 32]\n\t"
  40519. "ldp x14, x15, [%[b], 0]\n\t"
  40520. "ldp x16, x17, [%[b], 16]\n\t"
  40521. "ldp x19, x20, [%[b], 32]\n\t"
  40522. "# A[0] * B[0]\n\t"
  40523. "mul x3, x8, x14\n\t"
  40524. "umulh x4, x8, x14\n\t"
  40525. "str x3, [%[r]]\n\t"
  40526. "# A[0] * B[1]\n\t"
  40527. "mul x6, x8, x15\n\t"
  40528. "umulh x7, x8, x15\n\t"
  40529. "adds x4, x4, x6\n\t"
  40530. "# A[1] * B[0]\n\t"
  40531. "mul x6, x9, x14\n\t"
  40532. "adc x5, xzr, x7\n\t"
  40533. "umulh x7, x9, x14\n\t"
  40534. "adds x4, x4, x6\n\t"
  40535. "adcs x5, x5, x7\n\t"
  40536. "str x4, [%[r], 8]\n\t"
  40537. "adc x3, xzr, xzr\n\t"
  40538. "# A[0] * B[2]\n\t"
  40539. "mul x6, x8, x16\n\t"
  40540. "umulh x7, x8, x16\n\t"
  40541. "adds x5, x5, x6\n\t"
  40542. "# A[1] * B[1]\n\t"
  40543. "mul x6, x9, x15\n\t"
  40544. "adcs x3, x3, x7\n\t"
  40545. "umulh x7, x9, x15\n\t"
  40546. "adc x4, xzr, xzr\n\t"
  40547. "adds x5, x5, x6\n\t"
  40548. "# A[2] * B[0]\n\t"
  40549. "mul x6, x10, x14\n\t"
  40550. "adcs x3, x3, x7\n\t"
  40551. "umulh x7, x10, x14\n\t"
  40552. "adc x4, x4, xzr\n\t"
  40553. "adds x5, x5, x6\n\t"
  40554. "adcs x3, x3, x7\n\t"
  40555. "str x5, [%[r], 16]\n\t"
  40556. "adc x4, x4, xzr\n\t"
  40557. "# A[0] * B[3]\n\t"
  40558. "mul x6, x8, x17\n\t"
  40559. "umulh x7, x8, x17\n\t"
  40560. "adds x3, x3, x6\n\t"
  40561. "# A[1] * B[2]\n\t"
  40562. "mul x6, x9, x16\n\t"
  40563. "adcs x4, x4, x7\n\t"
  40564. "umulh x7, x9, x16\n\t"
  40565. "adc x5, xzr, xzr\n\t"
  40566. "adds x3, x3, x6\n\t"
  40567. "# A[2] * B[1]\n\t"
  40568. "mul x6, x10, x15\n\t"
  40569. "adcs x4, x4, x7\n\t"
  40570. "umulh x7, x10, x15\n\t"
  40571. "adc x5, x5, xzr\n\t"
  40572. "adds x3, x3, x6\n\t"
  40573. "# A[3] * B[0]\n\t"
  40574. "mul x6, x11, x14\n\t"
  40575. "adcs x4, x4, x7\n\t"
  40576. "umulh x7, x11, x14\n\t"
  40577. "adc x5, x5, xzr\n\t"
  40578. "adds x3, x3, x6\n\t"
  40579. "adcs x4, x4, x7\n\t"
  40580. "str x3, [%[r], 24]\n\t"
  40581. "adc x5, x5, xzr\n\t"
  40582. "# A[0] * B[4]\n\t"
  40583. "mul x6, x8, x19\n\t"
  40584. "umulh x7, x8, x19\n\t"
  40585. "adds x4, x4, x6\n\t"
  40586. "# A[1] * B[3]\n\t"
  40587. "mul x6, x9, x17\n\t"
  40588. "adcs x5, x5, x7\n\t"
  40589. "umulh x7, x9, x17\n\t"
  40590. "adc x3, xzr, xzr\n\t"
  40591. "adds x4, x4, x6\n\t"
  40592. "# A[2] * B[2]\n\t"
  40593. "mul x6, x10, x16\n\t"
  40594. "adcs x5, x5, x7\n\t"
  40595. "umulh x7, x10, x16\n\t"
  40596. "adc x3, x3, xzr\n\t"
  40597. "adds x4, x4, x6\n\t"
  40598. "# A[3] * B[1]\n\t"
  40599. "mul x6, x11, x15\n\t"
  40600. "adcs x5, x5, x7\n\t"
  40601. "umulh x7, x11, x15\n\t"
  40602. "adc x3, x3, xzr\n\t"
  40603. "adds x4, x4, x6\n\t"
  40604. "# A[4] * B[0]\n\t"
  40605. "mul x6, x12, x14\n\t"
  40606. "adcs x5, x5, x7\n\t"
  40607. "umulh x7, x12, x14\n\t"
  40608. "adc x3, x3, xzr\n\t"
  40609. "adds x4, x4, x6\n\t"
  40610. "adcs x5, x5, x7\n\t"
  40611. "str x4, [%[r], 32]\n\t"
  40612. "adc x3, x3, xzr\n\t"
  40613. "# A[0] * B[5]\n\t"
  40614. "mul x6, x8, x20\n\t"
  40615. "umulh x7, x8, x20\n\t"
  40616. "adds x5, x5, x6\n\t"
  40617. "# A[1] * B[4]\n\t"
  40618. "mul x6, x9, x19\n\t"
  40619. "adcs x3, x3, x7\n\t"
  40620. "umulh x7, x9, x19\n\t"
  40621. "adc x4, xzr, xzr\n\t"
  40622. "adds x5, x5, x6\n\t"
  40623. "# A[2] * B[3]\n\t"
  40624. "mul x6, x10, x17\n\t"
  40625. "adcs x3, x3, x7\n\t"
  40626. "umulh x7, x10, x17\n\t"
  40627. "adc x4, x4, xzr\n\t"
  40628. "adds x5, x5, x6\n\t"
  40629. "# A[3] * B[2]\n\t"
  40630. "mul x6, x11, x16\n\t"
  40631. "adcs x3, x3, x7\n\t"
  40632. "umulh x7, x11, x16\n\t"
  40633. "adc x4, x4, xzr\n\t"
  40634. "adds x5, x5, x6\n\t"
  40635. "# A[4] * B[1]\n\t"
  40636. "mul x6, x12, x15\n\t"
  40637. "adcs x3, x3, x7\n\t"
  40638. "umulh x7, x12, x15\n\t"
  40639. "adc x4, x4, xzr\n\t"
  40640. "adds x5, x5, x6\n\t"
  40641. "# A[5] * B[0]\n\t"
  40642. "mul x6, x13, x14\n\t"
  40643. "adcs x3, x3, x7\n\t"
  40644. "umulh x7, x13, x14\n\t"
  40645. "adc x4, x4, xzr\n\t"
  40646. "adds x5, x5, x6\n\t"
  40647. "adcs x3, x3, x7\n\t"
  40648. "str x5, [%[r], 40]\n\t"
  40649. "adc x4, x4, xzr\n\t"
  40650. "# A[1] * B[5]\n\t"
  40651. "mul x6, x9, x20\n\t"
  40652. "umulh x7, x9, x20\n\t"
  40653. "adds x3, x3, x6\n\t"
  40654. "# A[2] * B[4]\n\t"
  40655. "mul x6, x10, x19\n\t"
  40656. "adcs x4, x4, x7\n\t"
  40657. "umulh x7, x10, x19\n\t"
  40658. "adc x5, xzr, xzr\n\t"
  40659. "adds x3, x3, x6\n\t"
  40660. "# A[3] * B[3]\n\t"
  40661. "mul x6, x11, x17\n\t"
  40662. "adcs x4, x4, x7\n\t"
  40663. "umulh x7, x11, x17\n\t"
  40664. "adc x5, x5, xzr\n\t"
  40665. "adds x3, x3, x6\n\t"
  40666. "# A[4] * B[2]\n\t"
  40667. "mul x6, x12, x16\n\t"
  40668. "adcs x4, x4, x7\n\t"
  40669. "umulh x7, x12, x16\n\t"
  40670. "adc x5, x5, xzr\n\t"
  40671. "adds x3, x3, x6\n\t"
  40672. "# A[5] * B[1]\n\t"
  40673. "mul x6, x13, x15\n\t"
  40674. "adcs x4, x4, x7\n\t"
  40675. "umulh x7, x13, x15\n\t"
  40676. "adc x5, x5, xzr\n\t"
  40677. "adds x3, x3, x6\n\t"
  40678. "adcs x4, x4, x7\n\t"
  40679. "str x3, [%[r], 48]\n\t"
  40680. "adc x5, x5, xzr\n\t"
  40681. "# A[2] * B[5]\n\t"
  40682. "mul x6, x10, x20\n\t"
  40683. "umulh x7, x10, x20\n\t"
  40684. "adds x4, x4, x6\n\t"
  40685. "# A[3] * B[4]\n\t"
  40686. "mul x6, x11, x19\n\t"
  40687. "adcs x5, x5, x7\n\t"
  40688. "umulh x7, x11, x19\n\t"
  40689. "adc x3, xzr, xzr\n\t"
  40690. "adds x4, x4, x6\n\t"
  40691. "# A[4] * B[3]\n\t"
  40692. "mul x6, x12, x17\n\t"
  40693. "adcs x5, x5, x7\n\t"
  40694. "umulh x7, x12, x17\n\t"
  40695. "adc x3, x3, xzr\n\t"
  40696. "adds x4, x4, x6\n\t"
  40697. "# A[5] * B[2]\n\t"
  40698. "mul x6, x13, x16\n\t"
  40699. "adcs x5, x5, x7\n\t"
  40700. "umulh x7, x13, x16\n\t"
  40701. "adc x3, x3, xzr\n\t"
  40702. "adds x4, x4, x6\n\t"
  40703. "adcs x5, x5, x7\n\t"
  40704. "str x4, [%[r], 56]\n\t"
  40705. "adc x3, x3, xzr\n\t"
  40706. "# A[3] * B[5]\n\t"
  40707. "mul x6, x11, x20\n\t"
  40708. "umulh x7, x11, x20\n\t"
  40709. "adds x5, x5, x6\n\t"
  40710. "# A[4] * B[4]\n\t"
  40711. "mul x6, x12, x19\n\t"
  40712. "adcs x3, x3, x7\n\t"
  40713. "umulh x7, x12, x19\n\t"
  40714. "adc x4, xzr, xzr\n\t"
  40715. "adds x5, x5, x6\n\t"
  40716. "# A[5] * B[3]\n\t"
  40717. "mul x6, x13, x17\n\t"
  40718. "adcs x3, x3, x7\n\t"
  40719. "umulh x7, x13, x17\n\t"
  40720. "adc x4, x4, xzr\n\t"
  40721. "adds x5, x5, x6\n\t"
  40722. "adcs x3, x3, x7\n\t"
  40723. "str x5, [%[r], 64]\n\t"
  40724. "adc x4, x4, xzr\n\t"
  40725. "# A[4] * B[5]\n\t"
  40726. "mul x6, x12, x20\n\t"
  40727. "umulh x7, x12, x20\n\t"
  40728. "adds x3, x3, x6\n\t"
  40729. "# A[5] * B[4]\n\t"
  40730. "mul x6, x13, x19\n\t"
  40731. "adcs x4, x4, x7\n\t"
  40732. "umulh x7, x13, x19\n\t"
  40733. "adc x5, xzr, xzr\n\t"
  40734. "adds x3, x3, x6\n\t"
  40735. "adcs x4, x4, x7\n\t"
  40736. "str x3, [%[r], 72]\n\t"
  40737. "adc x5, x5, xzr\n\t"
  40738. "# A[5] * B[5]\n\t"
  40739. "mul x6, x13, x20\n\t"
  40740. "umulh x7, x13, x20\n\t"
  40741. "adds x4, x4, x6\n\t"
  40742. "adc x5, x5, x7\n\t"
  40743. "stp x4, x5, [%[r], 80]\n\t"
  40744. :
  40745. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  40746. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20"
  40747. );
  40748. }
  40749. #endif /* WOLFSSL_SP_SMALL */
  40750. #ifdef WOLFSSL_SP_SMALL
  40751. /* Square a and put result in r. (r = a * a)
  40752. *
  40753. * r A single precision integer.
  40754. * a A single precision integer.
  40755. */
  40756. static void sp_384_sqr_6(sp_digit* r, const sp_digit* a)
  40757. {
  40758. sp_digit tmp[12];
  40759. __asm__ __volatile__ (
  40760. "mov x6, xzr\n\t"
  40761. "mov x7, xzr\n\t"
  40762. "mov x8, xzr\n\t"
  40763. "mov x5, xzr\n\t"
  40764. "\n1:\n\t"
  40765. "subs x3, x5, 40\n\t"
  40766. "csel x3, xzr, x3, cc\n\t"
  40767. "sub x4, x5, x3\n\t"
  40768. "\n2:\n\t"
  40769. "cmp x4, x3\n\t"
  40770. "b.eq 4f\n\t"
  40771. "ldr x10, [%[a], x3]\n\t"
  40772. "ldr x11, [%[a], x4]\n\t"
  40773. "mul x9, x10, x11\n\t"
  40774. "umulh x10, x10, x11\n\t"
  40775. "adds x6, x6, x9\n\t"
  40776. "adcs x7, x7, x10\n\t"
  40777. "adc x8, x8, xzr\n\t"
  40778. "adds x6, x6, x9\n\t"
  40779. "adcs x7, x7, x10\n\t"
  40780. "adc x8, x8, xzr\n\t"
  40781. "b.al 5f\n\t"
  40782. "\n4:\n\t"
  40783. "ldr x10, [%[a], x3]\n\t"
  40784. "mul x9, x10, x10\n\t"
  40785. "umulh x10, x10, x10\n\t"
  40786. "adds x6, x6, x9\n\t"
  40787. "adcs x7, x7, x10\n\t"
  40788. "adc x8, x8, xzr\n\t"
  40789. "\n5:\n\t"
  40790. "add x3, x3, #8\n\t"
  40791. "sub x4, x4, #8\n\t"
  40792. "cmp x3, 48\n\t"
  40793. "b.eq 3f\n\t"
  40794. "cmp x3, x4\n\t"
  40795. "b.gt 3f\n\t"
  40796. "cmp x3, x5\n\t"
  40797. "b.le 2b\n\t"
  40798. "\n3:\n\t"
  40799. "str x6, [%[r], x5]\n\t"
  40800. "mov x6, x7\n\t"
  40801. "mov x7, x8\n\t"
  40802. "mov x8, #0\n\t"
  40803. "add x5, x5, #8\n\t"
  40804. "cmp x5, 80\n\t"
  40805. "b.le 1b\n\t"
  40806. "str x6, [%[r], x5]\n\t"
  40807. :
  40808. : [r] "r" (tmp), [a] "r" (a)
  40809. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  40810. );
  40811. XMEMCPY(r, tmp, sizeof(tmp));
  40812. }
  40813. #else
  40814. /* Square a and put result in r. (r = a * a)
  40815. *
  40816. * All registers version.
  40817. *
  40818. * r A single precision integer.
  40819. * a A single precision integer.
  40820. */
  40821. static void sp_384_sqr_6(sp_digit* r, const sp_digit* a)
  40822. {
  40823. __asm__ __volatile__ (
  40824. "ldp x16, x17, [%[a], 0]\n\t"
  40825. "ldp x19, x20, [%[a], 16]\n\t"
  40826. "ldp x21, x22, [%[a], 32]\n\t"
  40827. "# A[0] * A[1]\n\t"
  40828. "mul x6, x16, x17\n\t"
  40829. "umulh x7, x16, x17\n\t"
  40830. "# A[0] * A[2]\n\t"
  40831. "mul x4, x16, x19\n\t"
  40832. "umulh x5, x16, x19\n\t"
  40833. "adds x7, x7, x4\n\t"
  40834. "# A[0] * A[3]\n\t"
  40835. "mul x4, x16, x20\n\t"
  40836. "adc x8, xzr, x5\n\t"
  40837. "umulh x5, x16, x20\n\t"
  40838. "adds x8, x8, x4\n\t"
  40839. "# A[1] * A[2]\n\t"
  40840. "mul x4, x17, x19\n\t"
  40841. "adc x9, xzr, x5\n\t"
  40842. "umulh x5, x17, x19\n\t"
  40843. "adds x8, x8, x4\n\t"
  40844. "# A[0] * A[4]\n\t"
  40845. "mul x4, x16, x21\n\t"
  40846. "adcs x9, x9, x5\n\t"
  40847. "umulh x5, x16, x21\n\t"
  40848. "adc x10, xzr, xzr\n\t"
  40849. "adds x9, x9, x4\n\t"
  40850. "# A[1] * A[3]\n\t"
  40851. "mul x4, x17, x20\n\t"
  40852. "adc x10, x10, x5\n\t"
  40853. "umulh x5, x17, x20\n\t"
  40854. "adds x9, x9, x4\n\t"
  40855. "# A[0] * A[5]\n\t"
  40856. "mul x4, x16, x22\n\t"
  40857. "adcs x10, x10, x5\n\t"
  40858. "umulh x5, x16, x22\n\t"
  40859. "adc x11, xzr, xzr\n\t"
  40860. "adds x10, x10, x4\n\t"
  40861. "# A[1] * A[4]\n\t"
  40862. "mul x4, x17, x21\n\t"
  40863. "adc x11, x11, x5\n\t"
  40864. "umulh x5, x17, x21\n\t"
  40865. "adds x10, x10, x4\n\t"
  40866. "# A[2] * A[3]\n\t"
  40867. "mul x4, x19, x20\n\t"
  40868. "adcs x11, x11, x5\n\t"
  40869. "umulh x5, x19, x20\n\t"
  40870. "adc x12, xzr, xzr\n\t"
  40871. "adds x10, x10, x4\n\t"
  40872. "# A[1] * A[5]\n\t"
  40873. "mul x4, x17, x22\n\t"
  40874. "adcs x11, x11, x5\n\t"
  40875. "umulh x5, x17, x22\n\t"
  40876. "adc x12, x12, xzr\n\t"
  40877. "adds x11, x11, x4\n\t"
  40878. "# A[2] * A[4]\n\t"
  40879. "mul x4, x19, x21\n\t"
  40880. "adcs x12, x12, x5\n\t"
  40881. "umulh x5, x19, x21\n\t"
  40882. "adc x13, xzr, xzr\n\t"
  40883. "adds x11, x11, x4\n\t"
  40884. "# A[2] * A[5]\n\t"
  40885. "mul x4, x19, x22\n\t"
  40886. "adcs x12, x12, x5\n\t"
  40887. "umulh x5, x19, x22\n\t"
  40888. "adc x13, x13, xzr\n\t"
  40889. "adds x12, x12, x4\n\t"
  40890. "# A[3] * A[4]\n\t"
  40891. "mul x4, x20, x21\n\t"
  40892. "adcs x13, x13, x5\n\t"
  40893. "umulh x5, x20, x21\n\t"
  40894. "adc x14, xzr, xzr\n\t"
  40895. "adds x12, x12, x4\n\t"
  40896. "# A[3] * A[5]\n\t"
  40897. "mul x4, x20, x22\n\t"
  40898. "adcs x13, x13, x5\n\t"
  40899. "umulh x5, x20, x22\n\t"
  40900. "adc x14, x14, xzr\n\t"
  40901. "adds x13, x13, x4\n\t"
  40902. "# A[4] * A[5]\n\t"
  40903. "mul x4, x21, x22\n\t"
  40904. "adcs x14, x14, x5\n\t"
  40905. "umulh x5, x21, x22\n\t"
  40906. "adc x15, xzr, xzr\n\t"
  40907. "adds x14, x14, x4\n\t"
  40908. "adc x15, x15, x5\n\t"
  40909. "# Double\n\t"
  40910. "adds x6, x6, x6\n\t"
  40911. "adcs x7, x7, x7\n\t"
  40912. "adcs x8, x8, x8\n\t"
  40913. "adcs x9, x9, x9\n\t"
  40914. "adcs x10, x10, x10\n\t"
  40915. "adcs x11, x11, x11\n\t"
  40916. "adcs x12, x12, x12\n\t"
  40917. "adcs x13, x13, x13\n\t"
  40918. "adcs x14, x14, x14\n\t"
  40919. "# A[0] * A[0]\n\t"
  40920. "mul x5, x16, x16\n\t"
  40921. "adcs x15, x15, x15\n\t"
  40922. "umulh x2, x16, x16\n\t"
  40923. "cset x16, cs\n\t"
  40924. "# A[1] * A[1]\n\t"
  40925. "mul x3, x17, x17\n\t"
  40926. "adds x6, x6, x2\n\t"
  40927. "umulh x4, x17, x17\n\t"
  40928. "adcs x7, x7, x3\n\t"
  40929. "# A[2] * A[2]\n\t"
  40930. "mul x2, x19, x19\n\t"
  40931. "adcs x8, x8, x4\n\t"
  40932. "umulh x3, x19, x19\n\t"
  40933. "adcs x9, x9, x2\n\t"
  40934. "# A[3] * A[3]\n\t"
  40935. "mul x4, x20, x20\n\t"
  40936. "adcs x10, x10, x3\n\t"
  40937. "umulh x2, x20, x20\n\t"
  40938. "adcs x11, x11, x4\n\t"
  40939. "# A[4] * A[4]\n\t"
  40940. "mul x3, x21, x21\n\t"
  40941. "adcs x12, x12, x2\n\t"
  40942. "umulh x4, x21, x21\n\t"
  40943. "adcs x13, x13, x3\n\t"
  40944. "# A[5] * A[5]\n\t"
  40945. "mul x2, x22, x22\n\t"
  40946. "adcs x14, x14, x4\n\t"
  40947. "umulh x3, x22, x22\n\t"
  40948. "adcs x15, x15, x2\n\t"
  40949. "stp x5, x6, [%[r], 0]\n\t"
  40950. "adc x16, x16, x3\n\t"
  40951. "stp x7, x8, [%[r], 16]\n\t"
  40952. "stp x9, x10, [%[r], 32]\n\t"
  40953. "stp x11, x12, [%[r], 48]\n\t"
  40954. "stp x13, x14, [%[r], 64]\n\t"
  40955. "stp x15, x16, [%[r], 80]\n\t"
  40956. :
  40957. : [r] "r" (r), [a] "r" (a)
  40958. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x16", "x17", "x19", "x20", "x21", "x22"
  40959. );
  40960. }
  40961. #endif /* WOLFSSL_SP_SMALL */
  40962. /* Add b to a into r. (r = a + b)
  40963. *
  40964. * r A single precision integer.
  40965. * a A single precision integer.
  40966. * b A single precision integer.
  40967. */
  40968. static sp_digit sp_384_add_6(sp_digit* r, const sp_digit* a,
  40969. const sp_digit* b)
  40970. {
  40971. __asm__ __volatile__ (
  40972. "ldp x3, x4, [%[a], 0]\n\t"
  40973. "ldp x7, x8, [%[b], 0]\n\t"
  40974. "adds x3, x3, x7\n\t"
  40975. "ldp x5, x6, [%[a], 16]\n\t"
  40976. "adcs x4, x4, x8\n\t"
  40977. "ldp x9, x10, [%[b], 16]\n\t"
  40978. "adcs x5, x5, x9\n\t"
  40979. "stp x3, x4, [%[r], 0]\n\t"
  40980. "adcs x6, x6, x10\n\t"
  40981. "stp x5, x6, [%[r], 16]\n\t"
  40982. "ldr x3, [%[a], 32]\n\t"
  40983. "ldr x4, [%[a], 40]\n\t"
  40984. "ldr x7, [%[b], 32]\n\t"
  40985. "ldr x8, [%[b], 40]\n\t"
  40986. "adcs x3, x3, x7\n\t"
  40987. "adcs x4, x4, x8\n\t"
  40988. "str x3, [%[r], 32]\n\t"
  40989. "str x4, [%[r], 40]\n\t"
  40990. "cset %[r], cs\n\t"
  40991. : [r] "+r" (r)
  40992. : [a] "r" (a), [b] "r" (b)
  40993. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  40994. );
  40995. return (sp_digit)r;
  40996. }
  40997. /* Sub b from a into r. (r = a - b)
  40998. *
  40999. * r A single precision integer.
  41000. * a A single precision integer.
  41001. * b A single precision integer.
  41002. */
  41003. static sp_digit sp_384_sub_6(sp_digit* r, const sp_digit* a,
  41004. const sp_digit* b)
  41005. {
  41006. __asm__ __volatile__ (
  41007. "ldp x3, x4, [%[a], 0]\n\t"
  41008. "ldp x7, x8, [%[b], 0]\n\t"
  41009. "subs x3, x3, x7\n\t"
  41010. "ldp x5, x6, [%[a], 16]\n\t"
  41011. "sbcs x4, x4, x8\n\t"
  41012. "ldp x9, x10, [%[b], 16]\n\t"
  41013. "sbcs x5, x5, x9\n\t"
  41014. "stp x3, x4, [%[r], 0]\n\t"
  41015. "sbcs x6, x6, x10\n\t"
  41016. "stp x5, x6, [%[r], 16]\n\t"
  41017. "ldr x3, [%[a], 32]\n\t"
  41018. "ldr x4, [%[a], 40]\n\t"
  41019. "ldr x7, [%[b], 32]\n\t"
  41020. "ldr x8, [%[b], 40]\n\t"
  41021. "sbcs x3, x3, x7\n\t"
  41022. "sbcs x4, x4, x8\n\t"
  41023. "str x3, [%[r], 32]\n\t"
  41024. "str x4, [%[r], 40]\n\t"
  41025. "csetm %[r], cc\n\t"
  41026. : [r] "+r" (r)
  41027. : [a] "r" (a), [b] "r" (b)
  41028. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  41029. );
  41030. return (sp_digit)r;
  41031. }
  41032. /* Multiply a number by Montgomery normalizer mod modulus (prime).
  41033. *
  41034. * r The resulting Montgomery form number.
  41035. * a The number to convert.
  41036. * m The modulus (prime).
  41037. * returns MEMORY_E when memory allocation fails and MP_OKAY otherwise.
  41038. */
  41039. static int sp_384_mod_mul_norm_6(sp_digit* r, const sp_digit* a, const sp_digit* m)
  41040. {
  41041. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  41042. int64_t* t = NULL;
  41043. #else
  41044. int64_t t[2 * 12];
  41045. #endif
  41046. int64_t* a32 = NULL;
  41047. int64_t o;
  41048. int err = MP_OKAY;
  41049. (void)m;
  41050. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  41051. t = (int64_t*)XMALLOC(sizeof(int64_t) * 2 * 12, NULL, DYNAMIC_TYPE_ECC);
  41052. if (t == NULL)
  41053. err = MEMORY_E;
  41054. #endif
  41055. if (err == MP_OKAY) {
  41056. a32 = t + 12;
  41057. a32[0] = a[0] & 0xffffffff;
  41058. a32[1] = a[0] >> 32;
  41059. a32[2] = a[1] & 0xffffffff;
  41060. a32[3] = a[1] >> 32;
  41061. a32[4] = a[2] & 0xffffffff;
  41062. a32[5] = a[2] >> 32;
  41063. a32[6] = a[3] & 0xffffffff;
  41064. a32[7] = a[3] >> 32;
  41065. a32[8] = a[4] & 0xffffffff;
  41066. a32[9] = a[4] >> 32;
  41067. a32[10] = a[5] & 0xffffffff;
  41068. a32[11] = a[5] >> 32;
  41069. /* 1 0 0 0 0 0 0 0 1 1 0 -1 */
  41070. t[0] = 0 + a32[0] + a32[8] + a32[9] - a32[11];
  41071. /* -1 1 0 0 0 0 0 0 -1 0 1 1 */
  41072. t[1] = 0 - a32[0] + a32[1] - a32[8] + a32[10] + a32[11];
  41073. /* 0 -1 1 0 0 0 0 0 0 -1 0 1 */
  41074. t[2] = 0 - a32[1] + a32[2] - a32[9] + a32[11];
  41075. /* 1 0 -1 1 0 0 0 0 1 1 -1 -1 */
  41076. t[3] = 0 + a32[0] - a32[2] + a32[3] + a32[8] + a32[9] - a32[10] - a32[11];
  41077. /* 1 1 0 -1 1 0 0 0 1 2 1 -2 */
  41078. t[4] = 0 + a32[0] + a32[1] - a32[3] + a32[4] + a32[8] + 2 * a32[9] + a32[10] - 2 * a32[11];
  41079. /* 0 1 1 0 -1 1 0 0 0 1 2 1 */
  41080. t[5] = 0 + a32[1] + a32[2] - a32[4] + a32[5] + a32[9] + 2 * a32[10] + a32[11];
  41081. /* 0 0 1 1 0 -1 1 0 0 0 1 2 */
  41082. t[6] = 0 + a32[2] + a32[3] - a32[5] + a32[6] + a32[10] + 2 * a32[11];
  41083. /* 0 0 0 1 1 0 -1 1 0 0 0 1 */
  41084. t[7] = 0 + a32[3] + a32[4] - a32[6] + a32[7] + a32[11];
  41085. /* 0 0 0 0 1 1 0 -1 1 0 0 0 */
  41086. t[8] = 0 + a32[4] + a32[5] - a32[7] + a32[8];
  41087. /* 0 0 0 0 0 1 1 0 -1 1 0 0 */
  41088. t[9] = 0 + a32[5] + a32[6] - a32[8] + a32[9];
  41089. /* 0 0 0 0 0 0 1 1 0 -1 1 0 */
  41090. t[10] = 0 + a32[6] + a32[7] - a32[9] + a32[10];
  41091. /* 0 0 0 0 0 0 0 1 1 0 -1 1 */
  41092. t[11] = 0 + a32[7] + a32[8] - a32[10] + a32[11];
  41093. t[1] += t[0] >> 32; t[0] &= 0xffffffff;
  41094. t[2] += t[1] >> 32; t[1] &= 0xffffffff;
  41095. t[3] += t[2] >> 32; t[2] &= 0xffffffff;
  41096. t[4] += t[3] >> 32; t[3] &= 0xffffffff;
  41097. t[5] += t[4] >> 32; t[4] &= 0xffffffff;
  41098. t[6] += t[5] >> 32; t[5] &= 0xffffffff;
  41099. t[7] += t[6] >> 32; t[6] &= 0xffffffff;
  41100. t[8] += t[7] >> 32; t[7] &= 0xffffffff;
  41101. t[9] += t[8] >> 32; t[8] &= 0xffffffff;
  41102. t[10] += t[9] >> 32; t[9] &= 0xffffffff;
  41103. t[11] += t[10] >> 32; t[10] &= 0xffffffff;
  41104. o = t[11] >> 32; t[11] &= 0xffffffff;
  41105. t[0] += o;
  41106. t[1] -= o;
  41107. t[3] += o;
  41108. t[4] += o;
  41109. t[1] += t[0] >> 32; t[0] &= 0xffffffff;
  41110. t[2] += t[1] >> 32; t[1] &= 0xffffffff;
  41111. t[3] += t[2] >> 32; t[2] &= 0xffffffff;
  41112. t[4] += t[3] >> 32; t[3] &= 0xffffffff;
  41113. t[5] += t[4] >> 32; t[4] &= 0xffffffff;
  41114. t[6] += t[5] >> 32; t[5] &= 0xffffffff;
  41115. t[7] += t[6] >> 32; t[6] &= 0xffffffff;
  41116. t[8] += t[7] >> 32; t[7] &= 0xffffffff;
  41117. t[9] += t[8] >> 32; t[8] &= 0xffffffff;
  41118. t[10] += t[9] >> 32; t[9] &= 0xffffffff;
  41119. t[11] += t[10] >> 32; t[10] &= 0xffffffff;
  41120. r[0] = (t[1] << 32) | t[0];
  41121. r[1] = (t[3] << 32) | t[2];
  41122. r[2] = (t[5] << 32) | t[4];
  41123. r[3] = (t[7] << 32) | t[6];
  41124. r[4] = (t[9] << 32) | t[8];
  41125. r[5] = (t[11] << 32) | t[10];
  41126. }
  41127. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  41128. if (t != NULL)
  41129. XFREE(t, NULL, DYNAMIC_TYPE_ECC);
  41130. #endif
  41131. return err;
  41132. }
  41133. /* Convert an mp_int to an array of sp_digit.
  41134. *
  41135. * r A single precision integer.
  41136. * size Maximum number of bytes to convert
  41137. * a A multi-precision integer.
  41138. */
  41139. static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
  41140. {
  41141. #if DIGIT_BIT == 64
  41142. int j;
  41143. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  41144. for (j = a->used; j < size; j++) {
  41145. r[j] = 0;
  41146. }
  41147. #elif DIGIT_BIT > 64
  41148. int i;
  41149. int j = 0;
  41150. word32 s = 0;
  41151. r[0] = 0;
  41152. for (i = 0; i < a->used && j < size; i++) {
  41153. r[j] |= ((sp_digit)a->dp[i] << s);
  41154. r[j] &= 0xffffffffffffffffl;
  41155. s = 64U - s;
  41156. if (j + 1 >= size) {
  41157. break;
  41158. }
  41159. /* lint allow cast of mismatch word32 and mp_digit */
  41160. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  41161. while ((s + 64U) <= (word32)DIGIT_BIT) {
  41162. s += 64U;
  41163. r[j] &= 0xffffffffffffffffl;
  41164. if (j + 1 >= size) {
  41165. break;
  41166. }
  41167. if (s < (word32)DIGIT_BIT) {
  41168. /* lint allow cast of mismatch word32 and mp_digit */
  41169. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  41170. }
  41171. else {
  41172. r[++j] = (sp_digit)0;
  41173. }
  41174. }
  41175. s = (word32)DIGIT_BIT - s;
  41176. }
  41177. for (j++; j < size; j++) {
  41178. r[j] = 0;
  41179. }
  41180. #else
  41181. int i;
  41182. int j = 0;
  41183. int s = 0;
  41184. r[0] = 0;
  41185. for (i = 0; i < a->used && j < size; i++) {
  41186. r[j] |= ((sp_digit)a->dp[i]) << s;
  41187. if (s + DIGIT_BIT >= 64) {
  41188. r[j] &= 0xffffffffffffffffl;
  41189. if (j + 1 >= size) {
  41190. break;
  41191. }
  41192. s = 64 - s;
  41193. if (s == DIGIT_BIT) {
  41194. r[++j] = 0;
  41195. s = 0;
  41196. }
  41197. else {
  41198. r[++j] = a->dp[i] >> s;
  41199. s = DIGIT_BIT - s;
  41200. }
  41201. }
  41202. else {
  41203. s += DIGIT_BIT;
  41204. }
  41205. }
  41206. for (j++; j < size; j++) {
  41207. r[j] = 0;
  41208. }
  41209. #endif
  41210. }
  41211. /* Convert a point of type ecc_point to type sp_point_384.
  41212. *
  41213. * p Point of type sp_point_384 (result).
  41214. * pm Point of type ecc_point.
  41215. */
  41216. static void sp_384_point_from_ecc_point_6(sp_point_384* p,
  41217. const ecc_point* pm)
  41218. {
  41219. XMEMSET(p->x, 0, sizeof(p->x));
  41220. XMEMSET(p->y, 0, sizeof(p->y));
  41221. XMEMSET(p->z, 0, sizeof(p->z));
  41222. sp_384_from_mp(p->x, 6, pm->x);
  41223. sp_384_from_mp(p->y, 6, pm->y);
  41224. sp_384_from_mp(p->z, 6, pm->z);
  41225. p->infinity = 0;
  41226. }
  41227. /* Convert an array of sp_digit to an mp_int.
  41228. *
  41229. * a A single precision integer.
  41230. * r A multi-precision integer.
  41231. */
  41232. static int sp_384_to_mp(const sp_digit* a, mp_int* r)
  41233. {
  41234. int err;
  41235. err = mp_grow(r, (384 + DIGIT_BIT - 1) / DIGIT_BIT);
  41236. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  41237. #if DIGIT_BIT == 64
  41238. XMEMCPY(r->dp, a, sizeof(sp_digit) * 6);
  41239. r->used = 6;
  41240. mp_clamp(r);
  41241. #elif DIGIT_BIT < 64
  41242. int i;
  41243. int j = 0;
  41244. int s = 0;
  41245. r->dp[0] = 0;
  41246. for (i = 0; i < 6; i++) {
  41247. r->dp[j] |= (mp_digit)(a[i] << s);
  41248. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  41249. s = DIGIT_BIT - s;
  41250. r->dp[++j] = (mp_digit)(a[i] >> s);
  41251. while (s + DIGIT_BIT <= 64) {
  41252. s += DIGIT_BIT;
  41253. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  41254. if (s == SP_WORD_SIZE) {
  41255. r->dp[j] = 0;
  41256. }
  41257. else {
  41258. r->dp[j] = (mp_digit)(a[i] >> s);
  41259. }
  41260. }
  41261. s = 64 - s;
  41262. }
  41263. r->used = (384 + DIGIT_BIT - 1) / DIGIT_BIT;
  41264. mp_clamp(r);
  41265. #else
  41266. int i;
  41267. int j = 0;
  41268. int s = 0;
  41269. r->dp[0] = 0;
  41270. for (i = 0; i < 6; i++) {
  41271. r->dp[j] |= ((mp_digit)a[i]) << s;
  41272. if (s + 64 >= DIGIT_BIT) {
  41273. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  41274. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  41275. #endif
  41276. s = DIGIT_BIT - s;
  41277. r->dp[++j] = a[i] >> s;
  41278. s = 64 - s;
  41279. }
  41280. else {
  41281. s += 64;
  41282. }
  41283. }
  41284. r->used = (384 + DIGIT_BIT - 1) / DIGIT_BIT;
  41285. mp_clamp(r);
  41286. #endif
  41287. }
  41288. return err;
  41289. }
  41290. /* Convert a point of type sp_point_384 to type ecc_point.
  41291. *
  41292. * p Point of type sp_point_384.
  41293. * pm Point of type ecc_point (result).
  41294. * returns MEMORY_E when allocation of memory in ecc_point fails otherwise
  41295. * MP_OKAY.
  41296. */
  41297. static int sp_384_point_to_ecc_point_6(const sp_point_384* p, ecc_point* pm)
  41298. {
  41299. int err;
  41300. err = sp_384_to_mp(p->x, pm->x);
  41301. if (err == MP_OKAY) {
  41302. err = sp_384_to_mp(p->y, pm->y);
  41303. }
  41304. if (err == MP_OKAY) {
  41305. err = sp_384_to_mp(p->z, pm->z);
  41306. }
  41307. return err;
  41308. }
  41309. /* Conditionally copy a into r using the mask m.
  41310. * m is -1 to copy and 0 when not.
  41311. *
  41312. * r A single precision number to copy over.
  41313. * a A single precision number to copy.
  41314. * m Mask value to apply.
  41315. */
  41316. static void sp_384_cond_copy_6(sp_digit* r, const sp_digit* a, sp_digit m)
  41317. {
  41318. __asm__ __volatile__ (
  41319. "ldp x3, x4, [%[r], 0]\n\t"
  41320. "ldp x5, x6, [%[r], 16]\n\t"
  41321. "ldp x7, x8, [%[r], 32]\n\t"
  41322. "ldp x9, x10, [%[a], 0]\n\t"
  41323. "ldp x11, x12, [%[a], 16]\n\t"
  41324. "ldp x13, x14, [%[a], 32]\n\t"
  41325. "eor x9, x9, x3\n\t"
  41326. "eor x10, x10, x4\n\t"
  41327. "eor x11, x11, x5\n\t"
  41328. "eor x12, x12, x6\n\t"
  41329. "eor x13, x13, x7\n\t"
  41330. "eor x14, x14, x8\n\t"
  41331. "and x9, x9, %[m]\n\t"
  41332. "and x10, x10, %[m]\n\t"
  41333. "and x11, x11, %[m]\n\t"
  41334. "and x12, x12, %[m]\n\t"
  41335. "and x13, x13, %[m]\n\t"
  41336. "and x14, x14, %[m]\n\t"
  41337. "eor x3, x3, x9\n\t"
  41338. "eor x4, x4, x10\n\t"
  41339. "eor x5, x5, x11\n\t"
  41340. "eor x6, x6, x12\n\t"
  41341. "eor x7, x7, x13\n\t"
  41342. "eor x8, x8, x14\n\t"
  41343. "stp x3, x4, [%[r], 0]\n\t"
  41344. "stp x5, x6, [%[r], 16]\n\t"
  41345. "stp x7, x8, [%[r], 32]\n\t"
  41346. :
  41347. : [r] "r" (r), [a] "r" (a), [m] "r" (m)
  41348. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14"
  41349. );
  41350. }
  41351. /* Reduce the number back to 384 bits using Montgomery reduction.
  41352. *
  41353. * a A single precision number to reduce in place.
  41354. * m The single precision number representing the modulus.
  41355. * mp The digit representing the negative inverse of m mod 2^n.
  41356. */
  41357. SP_NOINLINE static void sp_384_mont_reduce_6(sp_digit* a, const sp_digit* m,
  41358. sp_digit mp)
  41359. {
  41360. __asm__ __volatile__ (
  41361. "ldp x7, x8, [%[a], #0]\n\t"
  41362. "ldp x9, x10, [%[a], #16]\n\t"
  41363. "ldp x11, x12, [%[a], #32]\n\t"
  41364. "mov x6, xzr\n\t"
  41365. "# a[0-7] += m[0-5] * mu[0..1] = m[0-5] * (a[0..1] * mp)\n\t"
  41366. "ldp x13, x14, [%[a], #48]\n\t"
  41367. "extr x2, x8, x7, 32\n\t"
  41368. "extr x1, x7, xzr, 32\n\t"
  41369. "adds x1, x1, x7\n\t"
  41370. "adc x2, x2, x8\n\t"
  41371. "add x2, x2, x7\n\t"
  41372. "extr x5, xzr, x2, 32\n\t"
  41373. "extr x4, x2, x1, 32\n\t"
  41374. "extr x3, x1, xzr, 32\n\t"
  41375. "adds x7, x7, x3\n\t"
  41376. "adcs x8, x8, x4\n\t"
  41377. "adcs x9, x9, x5\n\t"
  41378. "adcs x10, x10, xzr\n\t"
  41379. "adcs x11, x11, xzr\n\t"
  41380. "adcs x12, x12, xzr\n\t"
  41381. "adcs x13, x13, x1\n\t"
  41382. "adcs x14, x14, x2\n\t"
  41383. "adcs x6, x6, xzr\n\t"
  41384. "adds x3, x3, x2\n\t"
  41385. "adcs x4, x4, x1\n\t"
  41386. "adcs x5, x5, x2\n\t"
  41387. "adcs x2, xzr, xzr\n\t"
  41388. "subs x9, x9, x4\n\t"
  41389. "sbcs x10, x10, x5\n\t"
  41390. "sbcs x11, x11, x2\n\t"
  41391. "sbcs x12, x12, xzr\n\t"
  41392. "sbcs x13, x13, xzr\n\t"
  41393. "sbcs x14, x14, xzr\n\t"
  41394. "sbc x6, x6, xzr\n\t"
  41395. "# a[2-9] += m[0-5] * mu[0..1] = m[0-5] * (a[2..3] * mp)\n\t"
  41396. "ldp x7, x8, [%[a], #64]\n\t"
  41397. "extr x2, x10, x9, 32\n\t"
  41398. "extr x1, x9, xzr, 32\n\t"
  41399. "adds x1, x1, x9\n\t"
  41400. "adc x2, x2, x10\n\t"
  41401. "add x2, x2, x9\n\t"
  41402. "extr x5, xzr, x2, 32\n\t"
  41403. "extr x4, x2, x1, 32\n\t"
  41404. "extr x3, x1, xzr, 32\n\t"
  41405. "adds x7, x7, x6\n\t"
  41406. "adcs x8, x8, xzr\n\t"
  41407. "adc x6, xzr, xzr\n\t"
  41408. "adds x9, x9, x3\n\t"
  41409. "adcs x10, x10, x4\n\t"
  41410. "adcs x11, x11, x5\n\t"
  41411. "adcs x12, x12, xzr\n\t"
  41412. "adcs x13, x13, xzr\n\t"
  41413. "adcs x14, x14, xzr\n\t"
  41414. "adcs x7, x7, x1\n\t"
  41415. "adcs x8, x8, x2\n\t"
  41416. "adcs x6, x6, xzr\n\t"
  41417. "adds x3, x3, x2\n\t"
  41418. "adcs x4, x4, x1\n\t"
  41419. "adcs x5, x5, x2\n\t"
  41420. "adcs x2, xzr, xzr\n\t"
  41421. "subs x11, x11, x4\n\t"
  41422. "sbcs x12, x12, x5\n\t"
  41423. "sbcs x13, x13, x2\n\t"
  41424. "sbcs x14, x14, xzr\n\t"
  41425. "sbcs x7, x7, xzr\n\t"
  41426. "sbcs x8, x8, xzr\n\t"
  41427. "sbc x6, x6, xzr\n\t"
  41428. "# a[4-11] += m[0-5] * mu[0..1] = m[0-5] * (a[4..5] * mp)\n\t"
  41429. "ldp x9, x10, [%[a], #80]\n\t"
  41430. "extr x2, x12, x11, 32\n\t"
  41431. "extr x1, x11, xzr, 32\n\t"
  41432. "adds x1, x1, x11\n\t"
  41433. "adc x2, x2, x12\n\t"
  41434. "add x2, x2, x11\n\t"
  41435. "extr x5, xzr, x2, 32\n\t"
  41436. "extr x4, x2, x1, 32\n\t"
  41437. "extr x3, x1, xzr, 32\n\t"
  41438. "adds x9, x9, x6\n\t"
  41439. "adcs x10, x10, xzr\n\t"
  41440. "adc x6, xzr, xzr\n\t"
  41441. "adds x11, x11, x3\n\t"
  41442. "adcs x12, x12, x4\n\t"
  41443. "adcs x13, x13, x5\n\t"
  41444. "adcs x14, x14, xzr\n\t"
  41445. "adcs x7, x7, xzr\n\t"
  41446. "adcs x8, x8, xzr\n\t"
  41447. "adcs x9, x9, x1\n\t"
  41448. "adcs x10, x10, x2\n\t"
  41449. "adcs x6, x6, xzr\n\t"
  41450. "adds x3, x3, x2\n\t"
  41451. "adcs x4, x4, x1\n\t"
  41452. "adcs x5, x5, x2\n\t"
  41453. "adcs x2, xzr, xzr\n\t"
  41454. "subs x13, x13, x4\n\t"
  41455. "sbcs x14, x14, x5\n\t"
  41456. "sbcs x7, x7, x2\n\t"
  41457. "sbcs x8, x8, xzr\n\t"
  41458. "sbcs x9, x9, xzr\n\t"
  41459. "sbcs x10, x10, xzr\n\t"
  41460. "sbc x6, x6, xzr\n\t"
  41461. "# Subtract mod if carry\n\t"
  41462. "neg x6, x6\n\t"
  41463. "mov x5, -2\n\t"
  41464. "lsr x3, x6, 32\n\t"
  41465. "lsl x4, x6, 32\n\t"
  41466. "and x5, x5, x6\n\t"
  41467. "subs x13, x13, x3\n\t"
  41468. "sbcs x14, x14, x4\n\t"
  41469. "sbcs x7, x7, x5\n\t"
  41470. "sbcs x8, x8, x6\n\t"
  41471. "sbcs x9, x9, x6\n\t"
  41472. "sbc x10, x10, x6\n\t"
  41473. "stp x13, x14, [%[a], #0]\n\t"
  41474. "stp x7, x8, [%[a], #16]\n\t"
  41475. "stp x9, x10, [%[a], #32]\n\t"
  41476. :
  41477. : [a] "r" (a), [m] "r" (m), [mp] "r" (mp)
  41478. : "memory", "x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14"
  41479. );
  41480. }
  41481. /* Reduce the number back to 384 bits using Montgomery reduction.
  41482. *
  41483. * a A single precision number to reduce in place.
  41484. * m The single precision number representing the modulus.
  41485. * mp The digit representing the negative inverse of m mod 2^n.
  41486. */
  41487. SP_NOINLINE static void sp_384_mont_reduce_order_6(sp_digit* a, const sp_digit* m,
  41488. sp_digit mp)
  41489. {
  41490. __asm__ __volatile__ (
  41491. "ldp x12, x13, [%[a], 0]\n\t"
  41492. "ldp x14, x15, [%[a], 16]\n\t"
  41493. "ldp x16, x17, [%[a], 32]\n\t"
  41494. "mov x3, xzr\n\t"
  41495. "# i = 0..5\n\t"
  41496. "mov x4, 6\n\t"
  41497. "\n1:\n\t"
  41498. "# mu = a[i] * mp\n\t"
  41499. "mul x9, %[mp], x12\n\t"
  41500. "# a[i+0] += m[0] * mu\n\t"
  41501. "ldp x10, x11, [%[m], 0]\n\t"
  41502. "mul x7, x10, x9\n\t"
  41503. "umulh x8, x10, x9\n\t"
  41504. "adds x12, x12, x7\n\t"
  41505. "# a[i+1] += m[1] * mu\n\t"
  41506. "adc x6, x8, xzr\n\t"
  41507. "mul x7, x11, x9\n\t"
  41508. "umulh x8, x11, x9\n\t"
  41509. "adds x12, x13, x7\n\t"
  41510. "# a[i+2] += m[2] * mu\n\t"
  41511. "ldp x11, x10, [%[m], 16]\n\t"
  41512. "adc x5, x8, xzr\n\t"
  41513. "adds x12, x12, x6\n\t"
  41514. "mul x7, x11, x9\n\t"
  41515. "adc x5, x5, xzr\n\t"
  41516. "umulh x8, x11, x9\n\t"
  41517. "adds x13, x14, x7\n\t"
  41518. "# a[i+3] += m[3] * mu\n\t"
  41519. "adc x6, x8, xzr\n\t"
  41520. "adds x13, x13, x5\n\t"
  41521. "mul x7, x10, x9\n\t"
  41522. "adc x6, x6, xzr\n\t"
  41523. "umulh x8, x10, x9\n\t"
  41524. "adds x14, x15, x7\n\t"
  41525. "# a[i+4] += m[4] * mu\n\t"
  41526. "ldp x11, x10, [%[m], 32]\n\t"
  41527. "adc x5, x8, xzr\n\t"
  41528. "adds x14, x14, x6\n\t"
  41529. "mul x7, x11, x9\n\t"
  41530. "adc x5, x5, xzr\n\t"
  41531. "umulh x8, x11, x9\n\t"
  41532. "adds x15, x16, x7\n\t"
  41533. "# a[i+5] += m[5] * mu\n\t"
  41534. "ldr x10, [%[m], 40]\n\t"
  41535. "adc x6, x8, xzr\n\t"
  41536. "adds x15, x15, x5\n\t"
  41537. "mul x7, x10, x9\n\t"
  41538. "adc x6, x6, xzr\n\t"
  41539. "umulh x8, x10, x9\n\t"
  41540. "adds x6, x6, x7\n\t"
  41541. "adcs x8, x8, x3\n\t"
  41542. "cset x3, cs\n\t"
  41543. "adds x16, x17, x6\n\t"
  41544. "ldr x17, [%[a], 48]\n\t"
  41545. "adcs x17, x17, x8\n\t"
  41546. "adc x3, x3, xzr\n\t"
  41547. "subs x4, x4, 1\n\t"
  41548. "add %[a], %[a], 8\n\t"
  41549. "bne 1b\n\t"
  41550. "# Create mask\n\t"
  41551. "neg x3, x3\n\t"
  41552. "mov x9, %[a]\n\t"
  41553. "sub %[a], %[a], 48\n\t"
  41554. "# Subtract masked modulus\n\t"
  41555. "ldp x4, x5, [%[m], 0]\n\t"
  41556. "ldp x6, x7, [%[m], 16]\n\t"
  41557. "and x4, x4, x3\n\t"
  41558. "and x5, x5, x3\n\t"
  41559. "subs x12, x12, x4\n\t"
  41560. "and x6, x6, x3\n\t"
  41561. "sbcs x13, x13, x5\n\t"
  41562. "and x7, x7, x3\n\t"
  41563. "sbcs x14, x14, x6\n\t"
  41564. "stp x12, x13, [%[a], 0]\n\t"
  41565. "sbcs x15, x15, x7\n\t"
  41566. "stp x14, x15, [%[a], 16]\n\t"
  41567. "ldp x4, x5, [%[m], 32]\n\t"
  41568. "and x4, x4, x3\n\t"
  41569. "and x5, x5, x3\n\t"
  41570. "sbcs x16, x16, x4\n\t"
  41571. "sbcs x17, x17, x5\n\t"
  41572. "stp x16, x17, [%[a], 32]\n\t"
  41573. : [a] "+r" (a), [mp] "+r" (mp)
  41574. : [m] "r" (m)
  41575. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17"
  41576. );
  41577. }
  41578. /* Multiply two Montgomery form numbers mod the modulus (prime).
  41579. * (r = a * b mod m)
  41580. *
  41581. * r Result of multiplication.
  41582. * a First number to multiply in Montgomery form.
  41583. * b Second number to multiply in Montgomery form.
  41584. * m Modulus (prime).
  41585. * mp Montgomery mulitplier.
  41586. */
  41587. SP_NOINLINE static void sp_384_mont_mul_6(sp_digit* r, const sp_digit* a,
  41588. const sp_digit* b, const sp_digit* m, sp_digit mp)
  41589. {
  41590. sp_384_mul_6(r, a, b);
  41591. sp_384_mont_reduce_6(r, m, mp);
  41592. }
  41593. /* Square the Montgomery form number. (r = a * a mod m)
  41594. *
  41595. * r Result of squaring.
  41596. * a Number to square in Montgomery form.
  41597. * m Modulus (prime).
  41598. * mp Montgomery mulitplier.
  41599. */
  41600. SP_NOINLINE static void sp_384_mont_sqr_6(sp_digit* r, const sp_digit* a,
  41601. const sp_digit* m, sp_digit mp)
  41602. {
  41603. sp_384_sqr_6(r, a);
  41604. sp_384_mont_reduce_6(r, m, mp);
  41605. }
  41606. #if !defined(WOLFSSL_SP_SMALL) || defined(HAVE_COMP_KEY)
  41607. /* Square the Montgomery form number a number of times. (r = a ^ n mod m)
  41608. *
  41609. * r Result of squaring.
  41610. * a Number to square in Montgomery form.
  41611. * n Number of times to square.
  41612. * m Modulus (prime).
  41613. * mp Montgomery mulitplier.
  41614. */
  41615. static void sp_384_mont_sqr_n_6(sp_digit* r, const sp_digit* a, int n,
  41616. const sp_digit* m, sp_digit mp)
  41617. {
  41618. sp_384_mont_sqr_6(r, a, m, mp);
  41619. for (; n > 1; n--) {
  41620. sp_384_mont_sqr_6(r, r, m, mp);
  41621. }
  41622. }
  41623. #endif /* !WOLFSSL_SP_SMALL | HAVE_COMP_KEY */
  41624. #ifdef WOLFSSL_SP_SMALL
  41625. /* Mod-2 for the P384 curve. */
  41626. static const uint64_t p384_mod_minus_2[6] = {
  41627. 0x00000000fffffffdU,0xffffffff00000000U,0xfffffffffffffffeU,
  41628. 0xffffffffffffffffU,0xffffffffffffffffU,0xffffffffffffffffU
  41629. };
  41630. #endif /* !WOLFSSL_SP_SMALL */
  41631. /* Invert the number, in Montgomery form, modulo the modulus (prime) of the
  41632. * P384 curve. (r = 1 / a mod m)
  41633. *
  41634. * r Inverse result.
  41635. * a Number to invert.
  41636. * td Temporary data.
  41637. */
  41638. static void sp_384_mont_inv_6(sp_digit* r, const sp_digit* a, sp_digit* td)
  41639. {
  41640. #ifdef WOLFSSL_SP_SMALL
  41641. sp_digit* t = td;
  41642. int i;
  41643. XMEMCPY(t, a, sizeof(sp_digit) * 6);
  41644. for (i=382; i>=0; i--) {
  41645. sp_384_mont_sqr_6(t, t, p384_mod, p384_mp_mod);
  41646. if (p384_mod_minus_2[i / 64] & ((sp_digit)1 << (i % 64)))
  41647. sp_384_mont_mul_6(t, t, a, p384_mod, p384_mp_mod);
  41648. }
  41649. XMEMCPY(r, t, sizeof(sp_digit) * 6);
  41650. #else
  41651. sp_digit* t1 = td;
  41652. sp_digit* t2 = td + 2 * 6;
  41653. sp_digit* t3 = td + 4 * 6;
  41654. sp_digit* t4 = td + 6 * 6;
  41655. sp_digit* t5 = td + 8 * 6;
  41656. /* 0x2 */
  41657. sp_384_mont_sqr_6(t1, a, p384_mod, p384_mp_mod);
  41658. /* 0x3 */
  41659. sp_384_mont_mul_6(t5, t1, a, p384_mod, p384_mp_mod);
  41660. /* 0xc */
  41661. sp_384_mont_sqr_n_6(t1, t5, 2, p384_mod, p384_mp_mod);
  41662. /* 0xf */
  41663. sp_384_mont_mul_6(t2, t5, t1, p384_mod, p384_mp_mod);
  41664. /* 0x1e */
  41665. sp_384_mont_sqr_6(t1, t2, p384_mod, p384_mp_mod);
  41666. /* 0x1f */
  41667. sp_384_mont_mul_6(t4, t1, a, p384_mod, p384_mp_mod);
  41668. /* 0x3e0 */
  41669. sp_384_mont_sqr_n_6(t1, t4, 5, p384_mod, p384_mp_mod);
  41670. /* 0x3ff */
  41671. sp_384_mont_mul_6(t2, t4, t1, p384_mod, p384_mp_mod);
  41672. /* 0x7fe0 */
  41673. sp_384_mont_sqr_n_6(t1, t2, 5, p384_mod, p384_mp_mod);
  41674. /* 0x7fff */
  41675. sp_384_mont_mul_6(t4, t4, t1, p384_mod, p384_mp_mod);
  41676. /* 0x3fff8000 */
  41677. sp_384_mont_sqr_n_6(t1, t4, 15, p384_mod, p384_mp_mod);
  41678. /* 0x3fffffff */
  41679. sp_384_mont_mul_6(t2, t4, t1, p384_mod, p384_mp_mod);
  41680. /* 0xfffffffc */
  41681. sp_384_mont_sqr_n_6(t3, t2, 2, p384_mod, p384_mp_mod);
  41682. /* 0xfffffffd */
  41683. sp_384_mont_mul_6(r, t3, a, p384_mod, p384_mp_mod);
  41684. /* 0xffffffff */
  41685. sp_384_mont_mul_6(t3, t5, t3, p384_mod, p384_mp_mod);
  41686. /* 0xfffffffc0000000 */
  41687. sp_384_mont_sqr_n_6(t1, t2, 30, p384_mod, p384_mp_mod);
  41688. /* 0xfffffffffffffff */
  41689. sp_384_mont_mul_6(t2, t2, t1, p384_mod, p384_mp_mod);
  41690. /* 0xfffffffffffffff000000000000000 */
  41691. sp_384_mont_sqr_n_6(t1, t2, 60, p384_mod, p384_mp_mod);
  41692. /* 0xffffffffffffffffffffffffffffff */
  41693. sp_384_mont_mul_6(t2, t2, t1, p384_mod, p384_mp_mod);
  41694. /* 0xffffffffffffffffffffffffffffff000000000000000000000000000000 */
  41695. sp_384_mont_sqr_n_6(t1, t2, 120, p384_mod, p384_mp_mod);
  41696. /* 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  41697. sp_384_mont_mul_6(t2, t2, t1, p384_mod, p384_mp_mod);
  41698. /* 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 */
  41699. sp_384_mont_sqr_n_6(t1, t2, 15, p384_mod, p384_mp_mod);
  41700. /* 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  41701. sp_384_mont_mul_6(t2, t4, t1, p384_mod, p384_mp_mod);
  41702. /* 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000 */
  41703. sp_384_mont_sqr_n_6(t1, t2, 33, p384_mod, p384_mp_mod);
  41704. /* 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff */
  41705. sp_384_mont_mul_6(t2, t3, t1, p384_mod, p384_mp_mod);
  41706. /* 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000000000000 */
  41707. sp_384_mont_sqr_n_6(t1, t2, 96, p384_mod, p384_mp_mod);
  41708. /* 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffd */
  41709. sp_384_mont_mul_6(r, r, t1, p384_mod, p384_mp_mod);
  41710. #endif /* WOLFSSL_SP_SMALL */
  41711. }
  41712. /* Compare a with b in constant time.
  41713. *
  41714. * a A single precision integer.
  41715. * b A single precision integer.
  41716. * return -ve, 0 or +ve if a is less than, equal to or greater than b
  41717. * respectively.
  41718. */
  41719. static sp_int64 sp_384_cmp_6(const sp_digit* a, const sp_digit* b)
  41720. {
  41721. #ifdef WOLFSSL_SP_SMALL
  41722. __asm__ __volatile__ (
  41723. "mov x3, #0\n\t"
  41724. "mov x2, #-1\n\t"
  41725. "mov x10, #6\n\t"
  41726. "add %[a], %[a], #32\n\t"
  41727. "add %[b], %[b], #32\n\t"
  41728. "1:\n\t"
  41729. "ldp x6, x7, [%[a]], -16\n\t"
  41730. "ldp x8, x9, [%[b]], -16\n\t"
  41731. "subs x7, x7, x9\n\t"
  41732. "csel x4, x2, xzr, lo\n\t"
  41733. "csetm x5, eq\n\t"
  41734. "orr x3, x3, x4\n\t"
  41735. "and x2, x2, x5\n\t"
  41736. "subs x6, x6, x8\n\t"
  41737. "csel x4, x2, xzr, lo\n\t"
  41738. "csetm x5, eq\n\t"
  41739. "orr x3, x3, x4\n\t"
  41740. "and x2, x2, x5\n\t"
  41741. "subs x10, x10, #2\n\t"
  41742. "b.ne 1b\n\t"
  41743. "cmp x2, #0\n\t"
  41744. "cset %[a], eq\n\t"
  41745. "orr %[a], %[a], x3\n\t"
  41746. : [a] "+r" (a), [b] "+r" (b)
  41747. :
  41748. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  41749. );
  41750. #else
  41751. __asm__ __volatile__ (
  41752. "mov x3, #0\n\t"
  41753. "mov x2, #-1\n\t"
  41754. "ldp x6, x7, [%[a], 32]\n\t"
  41755. "ldp x8, x9, [%[b], 32]\n\t"
  41756. "subs x7, x7, x9\n\t"
  41757. "csel x4, x2, xzr, lo\n\t"
  41758. "csetm x5, eq\n\t"
  41759. "orr x3, x3, x4\n\t"
  41760. "and x2, x2, x5\n\t"
  41761. "subs x6, x6, x8\n\t"
  41762. "csel x4, x2, xzr, lo\n\t"
  41763. "csetm x5, eq\n\t"
  41764. "orr x3, x3, x4\n\t"
  41765. "and x2, x2, x5\n\t"
  41766. "ldp x6, x7, [%[a], 16]\n\t"
  41767. "ldp x8, x9, [%[b], 16]\n\t"
  41768. "subs x7, x7, x9\n\t"
  41769. "csel x4, x2, xzr, lo\n\t"
  41770. "csetm x5, eq\n\t"
  41771. "orr x3, x3, x4\n\t"
  41772. "and x2, x2, x5\n\t"
  41773. "subs x6, x6, x8\n\t"
  41774. "csel x4, x2, xzr, lo\n\t"
  41775. "csetm x5, eq\n\t"
  41776. "orr x3, x3, x4\n\t"
  41777. "and x2, x2, x5\n\t"
  41778. "ldp x6, x7, [%[a], 0]\n\t"
  41779. "ldp x8, x9, [%[b], 0]\n\t"
  41780. "subs x7, x7, x9\n\t"
  41781. "csel x4, x2, xzr, lo\n\t"
  41782. "csetm x5, eq\n\t"
  41783. "orr x3, x3, x4\n\t"
  41784. "and x2, x2, x5\n\t"
  41785. "subs x6, x6, x8\n\t"
  41786. "csel x4, x2, xzr, lo\n\t"
  41787. "csetm x5, eq\n\t"
  41788. "orr x3, x3, x4\n\t"
  41789. "and x2, x2, x5\n\t"
  41790. "cmp x2, #0\n\t"
  41791. "cset %[a], eq\n\t"
  41792. "orr %[a], %[a], x3\n\t"
  41793. : [a] "+r" (a)
  41794. : [b] "r" (b)
  41795. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  41796. );
  41797. #endif
  41798. return (sp_int64)a;
  41799. }
  41800. /* Normalize the values in each word to 64.
  41801. *
  41802. * a Array of sp_digit to normalize.
  41803. */
  41804. #define sp_384_norm_6(a)
  41805. /* Conditionally subtract b from a using the mask m.
  41806. * m is -1 to subtract and 0 when not copying.
  41807. *
  41808. * r A single precision number representing condition subtract result.
  41809. * a A single precision number to subtract from.
  41810. * b A single precision number to subtract.
  41811. * m Mask value to apply.
  41812. */
  41813. static sp_digit sp_384_cond_sub_6(sp_digit* r, const sp_digit* a, const sp_digit* b,
  41814. sp_digit m)
  41815. {
  41816. __asm__ __volatile__ (
  41817. "ldp x5, x7, [%[b], 0]\n\t"
  41818. "ldp x11, x12, [%[b], 16]\n\t"
  41819. "ldp x4, x6, [%[a], 0]\n\t"
  41820. "and x5, x5, %[m]\n\t"
  41821. "ldp x9, x10, [%[a], 16]\n\t"
  41822. "and x7, x7, %[m]\n\t"
  41823. "subs x4, x4, x5\n\t"
  41824. "and x11, x11, %[m]\n\t"
  41825. "sbcs x6, x6, x7\n\t"
  41826. "and x12, x12, %[m]\n\t"
  41827. "sbcs x9, x9, x11\n\t"
  41828. "stp x4, x6, [%[r], 0]\n\t"
  41829. "sbcs x10, x10, x12\n\t"
  41830. "stp x9, x10, [%[r], 16]\n\t"
  41831. "ldp x5, x7, [%[b], 32]\n\t"
  41832. "ldp x4, x6, [%[a], 32]\n\t"
  41833. "and x5, x5, %[m]\n\t"
  41834. "and x7, x7, %[m]\n\t"
  41835. "sbcs x4, x4, x5\n\t"
  41836. "sbcs x6, x6, x7\n\t"
  41837. "stp x4, x6, [%[r], 32]\n\t"
  41838. "csetm %[r], cc\n\t"
  41839. : [r] "+r" (r)
  41840. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  41841. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  41842. );
  41843. return (sp_digit)r;
  41844. }
  41845. /* Map the Montgomery form projective coordinate point to an affine point.
  41846. *
  41847. * r Resulting affine coordinate point.
  41848. * p Montgomery form projective coordinate point.
  41849. * t Temporary ordinate data.
  41850. */
  41851. static void sp_384_map_6(sp_point_384* r, const sp_point_384* p,
  41852. sp_digit* t)
  41853. {
  41854. sp_digit* t1 = t;
  41855. sp_digit* t2 = t + 2*6;
  41856. sp_int64 n;
  41857. sp_384_mont_inv_6(t1, p->z, t + 2*6);
  41858. sp_384_mont_sqr_6(t2, t1, p384_mod, p384_mp_mod);
  41859. sp_384_mont_mul_6(t1, t2, t1, p384_mod, p384_mp_mod);
  41860. /* x /= z^2 */
  41861. sp_384_mont_mul_6(r->x, p->x, t2, p384_mod, p384_mp_mod);
  41862. XMEMSET(r->x + 6, 0, sizeof(r->x) / 2U);
  41863. sp_384_mont_reduce_6(r->x, p384_mod, p384_mp_mod);
  41864. /* Reduce x to less than modulus */
  41865. n = sp_384_cmp_6(r->x, p384_mod);
  41866. sp_384_cond_sub_6(r->x, r->x, p384_mod, ~(n >> 63));
  41867. sp_384_norm_6(r->x);
  41868. /* y /= z^3 */
  41869. sp_384_mont_mul_6(r->y, p->y, t1, p384_mod, p384_mp_mod);
  41870. XMEMSET(r->y + 6, 0, sizeof(r->y) / 2U);
  41871. sp_384_mont_reduce_6(r->y, p384_mod, p384_mp_mod);
  41872. /* Reduce y to less than modulus */
  41873. n = sp_384_cmp_6(r->y, p384_mod);
  41874. sp_384_cond_sub_6(r->y, r->y, p384_mod, ~(n >> 63));
  41875. sp_384_norm_6(r->y);
  41876. XMEMSET(r->z, 0, sizeof(r->z) / 2);
  41877. r->z[0] = 1;
  41878. }
  41879. /* Add two Montgomery form numbers (r = a + b % m).
  41880. *
  41881. * r Result of addition.
  41882. * a First number to add in Montgomery form.
  41883. * b Second number to add in Montgomery form.
  41884. * m Modulus (prime).
  41885. */
  41886. static void sp_384_mont_add_6(sp_digit* r, const sp_digit* a, const sp_digit* b,
  41887. const sp_digit* m)
  41888. {
  41889. sp_digit o;
  41890. o = sp_384_add_6(r, a, b);
  41891. sp_384_cond_sub_6(r, r, m, 0 - o);
  41892. }
  41893. /* Double a Montgomery form number (r = a + a % m).
  41894. *
  41895. * r Result of doubling.
  41896. * a Number to double in Montgomery form.
  41897. * m Modulus (prime).
  41898. */
  41899. static void sp_384_mont_dbl_6(sp_digit* r, const sp_digit* a, const sp_digit* m)
  41900. {
  41901. sp_digit o;
  41902. o = sp_384_add_6(r, a, a);
  41903. sp_384_cond_sub_6(r, r, m, 0 - o);
  41904. }
  41905. /* Triple a Montgomery form number (r = a + a + a % m).
  41906. *
  41907. * r Result of Tripling.
  41908. * a Number to triple in Montgomery form.
  41909. * m Modulus (prime).
  41910. */
  41911. static void sp_384_mont_tpl_6(sp_digit* r, const sp_digit* a, const sp_digit* m)
  41912. {
  41913. sp_digit o;
  41914. o = sp_384_add_6(r, a, a);
  41915. sp_384_cond_sub_6(r, r, m, 0 - o);
  41916. o = sp_384_add_6(r, r, a);
  41917. sp_384_cond_sub_6(r, r, m, 0 - o);
  41918. }
  41919. #ifdef WOLFSSL_SP_SMALL
  41920. /* Conditionally add a and b using the mask m.
  41921. * m is -1 to add and 0 when not.
  41922. *
  41923. * r A single precision number representing conditional add result.
  41924. * a A single precision number to add with.
  41925. * b A single precision number to add.
  41926. * m Mask value to apply.
  41927. */
  41928. static sp_digit sp_384_cond_add_6(sp_digit* r, const sp_digit* a, const sp_digit* b,
  41929. sp_digit m)
  41930. {
  41931. sp_digit c = 0;
  41932. __asm__ __volatile__ (
  41933. "mov x8, #0\n\t"
  41934. "1:\n\t"
  41935. "adds %[c], %[c], #-1\n\t"
  41936. "ldr x4, [%[a], x8]\n\t"
  41937. "ldr x5, [%[b], x8]\n\t"
  41938. "and x5, x5, %[m]\n\t"
  41939. "adcs x4, x4, x5\n\t"
  41940. "cset %[c], cs\n\t"
  41941. "str x4, [%[r], x8]\n\t"
  41942. "add x8, x8, #8\n\t"
  41943. "cmp x8, 48\n\t"
  41944. "b.lt 1b\n\t"
  41945. : [c] "+r" (c)
  41946. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  41947. : "memory", "x4", "x5", "x8", "x9", "x10", "x11", "x12"
  41948. );
  41949. return c;
  41950. }
  41951. #endif /* WOLFSSL_SP_SMALL */
  41952. #ifndef WOLFSSL_SP_SMALL
  41953. /* Conditionally add a and b using the mask m.
  41954. * m is -1 to add and 0 when not.
  41955. *
  41956. * r A single precision number representing conditional add result.
  41957. * a A single precision number to add with.
  41958. * b A single precision number to add.
  41959. * m Mask value to apply.
  41960. */
  41961. static sp_digit sp_384_cond_add_6(sp_digit* r, const sp_digit* a, const sp_digit* b,
  41962. sp_digit m)
  41963. {
  41964. __asm__ __volatile__ (
  41965. "ldp x8, x9, [%[b], 0]\n\t"
  41966. "ldp x10, x11, [%[b], 16]\n\t"
  41967. "ldp x4, x5, [%[a], 0]\n\t"
  41968. "and x8, x8, %[m]\n\t"
  41969. "ldp x6, x7, [%[a], 16]\n\t"
  41970. "and x9, x9, %[m]\n\t"
  41971. "adds x4, x4, x8\n\t"
  41972. "and x10, x10, %[m]\n\t"
  41973. "adcs x5, x5, x9\n\t"
  41974. "and x11, x11, %[m]\n\t"
  41975. "adcs x6, x6, x10\n\t"
  41976. "stp x4, x5, [%[r], 0]\n\t"
  41977. "adcs x7, x7, x11\n\t"
  41978. "stp x6, x7, [%[r], 16]\n\t"
  41979. "ldp x8, x9, [%[b], 32]\n\t"
  41980. "ldp x4, x5, [%[a], 32]\n\t"
  41981. "and x8, x8, %[m]\n\t"
  41982. "and x9, x9, %[m]\n\t"
  41983. "adcs x4, x4, x8\n\t"
  41984. "adcs x5, x5, x9\n\t"
  41985. "stp x4, x5, [%[r], 32]\n\t"
  41986. "cset %[r], cs\n\t"
  41987. : [r] "+r" (r)
  41988. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  41989. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  41990. );
  41991. return (sp_digit)r;
  41992. }
  41993. #endif /* !WOLFSSL_SP_SMALL */
  41994. /* Subtract two Montgomery form numbers (r = a - b % m).
  41995. *
  41996. * r Result of subtration.
  41997. * a Number to subtract from in Montgomery form.
  41998. * b Number to subtract with in Montgomery form.
  41999. * m Modulus (prime).
  42000. */
  42001. static void sp_384_mont_sub_6(sp_digit* r, const sp_digit* a, const sp_digit* b,
  42002. const sp_digit* m)
  42003. {
  42004. sp_digit o;
  42005. o = sp_384_sub_6(r, a, b);
  42006. sp_384_cond_add_6(r, r, m, o);
  42007. }
  42008. #define sp_384_mont_sub_lower_6 sp_384_mont_sub_6
  42009. static void sp_384_rshift1_6(sp_digit* r, const sp_digit* a)
  42010. {
  42011. __asm__ __volatile__ (
  42012. "ldp x2, x3, [%[a]]\n\t"
  42013. "ldp x4, x5, [%[a], 16]\n\t"
  42014. "ldp x6, x7, [%[a], 32]\n\t"
  42015. "extr x2, x3, x2, #1\n\t"
  42016. "extr x3, x4, x3, #1\n\t"
  42017. "extr x4, x5, x4, #1\n\t"
  42018. "extr x5, x6, x5, #1\n\t"
  42019. "extr x6, x7, x6, #1\n\t"
  42020. "lsr x7, x7, #1\n\t"
  42021. "stp x2, x3, [%[r]]\n\t"
  42022. "stp x4, x5, [%[r], 16]\n\t"
  42023. "stp x6, x7, [%[r], 32]\n\t"
  42024. :
  42025. : [r] "r" (r), [a] "r" (a)
  42026. : "memory", "x2", "x3", "x4", "x5", "x6", "x7"
  42027. );
  42028. }
  42029. /* Divide the number by 2 mod the modulus (prime). (r = a / 2 % m)
  42030. *
  42031. * r Result of division by 2.
  42032. * a Number to divide.
  42033. * m Modulus (prime).
  42034. */
  42035. static void sp_384_div2_6(sp_digit* r, const sp_digit* a, const sp_digit* m)
  42036. {
  42037. sp_digit o;
  42038. o = sp_384_cond_add_6(r, a, m, 0 - (a[0] & 1));
  42039. sp_384_rshift1_6(r, r);
  42040. r[5] |= o << 63;
  42041. }
  42042. /* Double the Montgomery form projective point p.
  42043. *
  42044. * r Result of doubling point.
  42045. * p Point to double.
  42046. * t Temporary ordinate data.
  42047. */
  42048. #ifdef WOLFSSL_SP_NONBLOCK
  42049. typedef struct sp_384_proj_point_dbl_6_ctx {
  42050. int state;
  42051. sp_digit* t1;
  42052. sp_digit* t2;
  42053. sp_digit* x;
  42054. sp_digit* y;
  42055. sp_digit* z;
  42056. } sp_384_proj_point_dbl_6_ctx;
  42057. static int sp_384_proj_point_dbl_6_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, const sp_point_384* p, sp_digit* t)
  42058. {
  42059. int err = FP_WOULDBLOCK;
  42060. sp_384_proj_point_dbl_6_ctx* ctx = (sp_384_proj_point_dbl_6_ctx*)sp_ctx->data;
  42061. typedef char ctx_size_test[sizeof(sp_384_proj_point_dbl_6_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  42062. (void)sizeof(ctx_size_test);
  42063. switch (ctx->state) {
  42064. case 0:
  42065. ctx->t1 = t;
  42066. ctx->t2 = t + 2*6;
  42067. ctx->x = r->x;
  42068. ctx->y = r->y;
  42069. ctx->z = r->z;
  42070. /* Put infinity into result. */
  42071. if (r != p) {
  42072. r->infinity = p->infinity;
  42073. }
  42074. ctx->state = 1;
  42075. break;
  42076. case 1:
  42077. /* T1 = Z * Z */
  42078. sp_384_mont_sqr_6(ctx->t1, p->z, p384_mod, p384_mp_mod);
  42079. ctx->state = 2;
  42080. break;
  42081. case 2:
  42082. /* Z = Y * Z */
  42083. sp_384_mont_mul_6(ctx->z, p->y, p->z, p384_mod, p384_mp_mod);
  42084. ctx->state = 3;
  42085. break;
  42086. case 3:
  42087. /* Z = 2Z */
  42088. sp_384_mont_dbl_6(ctx->z, ctx->z, p384_mod);
  42089. ctx->state = 4;
  42090. break;
  42091. case 4:
  42092. /* T2 = X - T1 */
  42093. sp_384_mont_sub_6(ctx->t2, p->x, ctx->t1, p384_mod);
  42094. ctx->state = 5;
  42095. break;
  42096. case 5:
  42097. /* T1 = X + T1 */
  42098. sp_384_mont_add_6(ctx->t1, p->x, ctx->t1, p384_mod);
  42099. ctx->state = 6;
  42100. break;
  42101. case 6:
  42102. /* T2 = T1 * T2 */
  42103. sp_384_mont_mul_6(ctx->t2, ctx->t1, ctx->t2, p384_mod, p384_mp_mod);
  42104. ctx->state = 7;
  42105. break;
  42106. case 7:
  42107. /* T1 = 3T2 */
  42108. sp_384_mont_tpl_6(ctx->t1, ctx->t2, p384_mod);
  42109. ctx->state = 8;
  42110. break;
  42111. case 8:
  42112. /* Y = 2Y */
  42113. sp_384_mont_dbl_6(ctx->y, p->y, p384_mod);
  42114. ctx->state = 9;
  42115. break;
  42116. case 9:
  42117. /* Y = Y * Y */
  42118. sp_384_mont_sqr_6(ctx->y, ctx->y, p384_mod, p384_mp_mod);
  42119. ctx->state = 10;
  42120. break;
  42121. case 10:
  42122. /* T2 = Y * Y */
  42123. sp_384_mont_sqr_6(ctx->t2, ctx->y, p384_mod, p384_mp_mod);
  42124. ctx->state = 11;
  42125. break;
  42126. case 11:
  42127. /* T2 = T2/2 */
  42128. sp_384_div2_6(ctx->t2, ctx->t2, p384_mod);
  42129. ctx->state = 12;
  42130. break;
  42131. case 12:
  42132. /* Y = Y * X */
  42133. sp_384_mont_mul_6(ctx->y, ctx->y, p->x, p384_mod, p384_mp_mod);
  42134. ctx->state = 13;
  42135. break;
  42136. case 13:
  42137. /* X = T1 * T1 */
  42138. sp_384_mont_sqr_6(ctx->x, ctx->t1, p384_mod, p384_mp_mod);
  42139. ctx->state = 14;
  42140. break;
  42141. case 14:
  42142. /* X = X - Y */
  42143. sp_384_mont_sub_6(ctx->x, ctx->x, ctx->y, p384_mod);
  42144. ctx->state = 15;
  42145. break;
  42146. case 15:
  42147. /* X = X - Y */
  42148. sp_384_mont_sub_6(ctx->x, ctx->x, ctx->y, p384_mod);
  42149. ctx->state = 16;
  42150. break;
  42151. case 16:
  42152. /* Y = Y - X */
  42153. sp_384_mont_sub_lower_6(ctx->y, ctx->y, ctx->x, p384_mod);
  42154. ctx->state = 17;
  42155. break;
  42156. case 17:
  42157. /* Y = Y * T1 */
  42158. sp_384_mont_mul_6(ctx->y, ctx->y, ctx->t1, p384_mod, p384_mp_mod);
  42159. ctx->state = 18;
  42160. break;
  42161. case 18:
  42162. /* Y = Y - T2 */
  42163. sp_384_mont_sub_6(ctx->y, ctx->y, ctx->t2, p384_mod);
  42164. ctx->state = 19;
  42165. /* fall-through */
  42166. case 19:
  42167. err = MP_OKAY;
  42168. break;
  42169. }
  42170. if (err == MP_OKAY && ctx->state != 19) {
  42171. err = FP_WOULDBLOCK;
  42172. }
  42173. return err;
  42174. }
  42175. #endif /* WOLFSSL_SP_NONBLOCK */
  42176. static void sp_384_proj_point_dbl_6(sp_point_384* r, const sp_point_384* p,
  42177. sp_digit* t)
  42178. {
  42179. sp_digit* t1 = t;
  42180. sp_digit* t2 = t + 2*6;
  42181. sp_digit* x;
  42182. sp_digit* y;
  42183. sp_digit* z;
  42184. x = r->x;
  42185. y = r->y;
  42186. z = r->z;
  42187. /* Put infinity into result. */
  42188. if (r != p) {
  42189. r->infinity = p->infinity;
  42190. }
  42191. /* T1 = Z * Z */
  42192. sp_384_mont_sqr_6(t1, p->z, p384_mod, p384_mp_mod);
  42193. /* Z = Y * Z */
  42194. sp_384_mont_mul_6(z, p->y, p->z, p384_mod, p384_mp_mod);
  42195. /* Z = 2Z */
  42196. sp_384_mont_dbl_6(z, z, p384_mod);
  42197. /* T2 = X - T1 */
  42198. sp_384_mont_sub_6(t2, p->x, t1, p384_mod);
  42199. /* T1 = X + T1 */
  42200. sp_384_mont_add_6(t1, p->x, t1, p384_mod);
  42201. /* T2 = T1 * T2 */
  42202. sp_384_mont_mul_6(t2, t1, t2, p384_mod, p384_mp_mod);
  42203. /* T1 = 3T2 */
  42204. sp_384_mont_tpl_6(t1, t2, p384_mod);
  42205. /* Y = 2Y */
  42206. sp_384_mont_dbl_6(y, p->y, p384_mod);
  42207. /* Y = Y * Y */
  42208. sp_384_mont_sqr_6(y, y, p384_mod, p384_mp_mod);
  42209. /* T2 = Y * Y */
  42210. sp_384_mont_sqr_6(t2, y, p384_mod, p384_mp_mod);
  42211. /* T2 = T2/2 */
  42212. sp_384_div2_6(t2, t2, p384_mod);
  42213. /* Y = Y * X */
  42214. sp_384_mont_mul_6(y, y, p->x, p384_mod, p384_mp_mod);
  42215. /* X = T1 * T1 */
  42216. sp_384_mont_sqr_6(x, t1, p384_mod, p384_mp_mod);
  42217. /* X = X - Y */
  42218. sp_384_mont_sub_6(x, x, y, p384_mod);
  42219. /* X = X - Y */
  42220. sp_384_mont_sub_6(x, x, y, p384_mod);
  42221. /* Y = Y - X */
  42222. sp_384_mont_sub_lower_6(y, y, x, p384_mod);
  42223. /* Y = Y * T1 */
  42224. sp_384_mont_mul_6(y, y, t1, p384_mod, p384_mp_mod);
  42225. /* Y = Y - T2 */
  42226. sp_384_mont_sub_6(y, y, t2, p384_mod);
  42227. }
  42228. #define sp_384_mont_dbl_lower_6 sp_384_mont_dbl_6
  42229. #define sp_384_mont_tpl_lower_6 sp_384_mont_tpl_6
  42230. /* Double the Montgomery form projective point p a number of times.
  42231. *
  42232. * r Result of repeated doubling of point.
  42233. * p Point to double.
  42234. * n Number of times to double
  42235. * t Temporary ordinate data.
  42236. */
  42237. static void sp_384_proj_point_dbl_n_6(sp_point_384* p, int i,
  42238. sp_digit* t)
  42239. {
  42240. sp_digit* w = t;
  42241. sp_digit* a = t + 2*6;
  42242. sp_digit* b = t + 4*6;
  42243. sp_digit* t1 = t + 6*6;
  42244. sp_digit* t2 = t + 8*6;
  42245. sp_digit* x;
  42246. sp_digit* y;
  42247. sp_digit* z;
  42248. volatile int n = i;
  42249. x = p->x;
  42250. y = p->y;
  42251. z = p->z;
  42252. /* Y = 2*Y */
  42253. sp_384_mont_dbl_6(y, y, p384_mod);
  42254. /* W = Z^4 */
  42255. sp_384_mont_sqr_6(w, z, p384_mod, p384_mp_mod);
  42256. sp_384_mont_sqr_6(w, w, p384_mod, p384_mp_mod);
  42257. #ifndef WOLFSSL_SP_SMALL
  42258. while (--n > 0)
  42259. #else
  42260. while (--n >= 0)
  42261. #endif
  42262. {
  42263. /* A = 3*(X^2 - W) */
  42264. sp_384_mont_sqr_6(t1, x, p384_mod, p384_mp_mod);
  42265. sp_384_mont_sub_6(t1, t1, w, p384_mod);
  42266. sp_384_mont_tpl_lower_6(a, t1, p384_mod);
  42267. /* B = X*Y^2 */
  42268. sp_384_mont_sqr_6(t1, y, p384_mod, p384_mp_mod);
  42269. sp_384_mont_mul_6(b, t1, x, p384_mod, p384_mp_mod);
  42270. /* X = A^2 - 2B */
  42271. sp_384_mont_sqr_6(x, a, p384_mod, p384_mp_mod);
  42272. sp_384_mont_dbl_6(t2, b, p384_mod);
  42273. sp_384_mont_sub_6(x, x, t2, p384_mod);
  42274. /* b = 2.(B - X) */
  42275. sp_384_mont_sub_lower_6(t2, b, x, p384_mod);
  42276. sp_384_mont_dbl_lower_6(b, t2, p384_mod);
  42277. /* Z = Z*Y */
  42278. sp_384_mont_mul_6(z, z, y, p384_mod, p384_mp_mod);
  42279. /* t1 = Y^4 */
  42280. sp_384_mont_sqr_6(t1, t1, p384_mod, p384_mp_mod);
  42281. #ifdef WOLFSSL_SP_SMALL
  42282. if (n != 0)
  42283. #endif
  42284. {
  42285. /* W = W*Y^4 */
  42286. sp_384_mont_mul_6(w, w, t1, p384_mod, p384_mp_mod);
  42287. }
  42288. /* y = 2*A*(B - X) - Y^4 */
  42289. sp_384_mont_mul_6(y, b, a, p384_mod, p384_mp_mod);
  42290. sp_384_mont_sub_6(y, y, t1, p384_mod);
  42291. }
  42292. #ifndef WOLFSSL_SP_SMALL
  42293. /* A = 3*(X^2 - W) */
  42294. sp_384_mont_sqr_6(t1, x, p384_mod, p384_mp_mod);
  42295. sp_384_mont_sub_6(t1, t1, w, p384_mod);
  42296. sp_384_mont_tpl_lower_6(a, t1, p384_mod);
  42297. /* B = X*Y^2 */
  42298. sp_384_mont_sqr_6(t1, y, p384_mod, p384_mp_mod);
  42299. sp_384_mont_mul_6(b, t1, x, p384_mod, p384_mp_mod);
  42300. /* X = A^2 - 2B */
  42301. sp_384_mont_sqr_6(x, a, p384_mod, p384_mp_mod);
  42302. sp_384_mont_dbl_6(t2, b, p384_mod);
  42303. sp_384_mont_sub_6(x, x, t2, p384_mod);
  42304. /* b = 2.(B - X) */
  42305. sp_384_mont_sub_lower_6(t2, b, x, p384_mod);
  42306. sp_384_mont_dbl_lower_6(b, t2, p384_mod);
  42307. /* Z = Z*Y */
  42308. sp_384_mont_mul_6(z, z, y, p384_mod, p384_mp_mod);
  42309. /* t1 = Y^4 */
  42310. sp_384_mont_sqr_6(t1, t1, p384_mod, p384_mp_mod);
  42311. /* y = 2*A*(B - X) - Y^4 */
  42312. sp_384_mont_mul_6(y, b, a, p384_mod, p384_mp_mod);
  42313. sp_384_mont_sub_6(y, y, t1, p384_mod);
  42314. #endif
  42315. /* Y = Y/2 */
  42316. sp_384_div2_6(y, y, p384_mod);
  42317. }
  42318. /* Compare two numbers to determine if they are equal.
  42319. * Constant time implementation.
  42320. *
  42321. * a First number to compare.
  42322. * b Second number to compare.
  42323. * returns 1 when equal and 0 otherwise.
  42324. */
  42325. static int sp_384_cmp_equal_6(const sp_digit* a, const sp_digit* b)
  42326. {
  42327. return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) |
  42328. (a[3] ^ b[3]) | (a[4] ^ b[4]) | (a[5] ^ b[5])) == 0;
  42329. }
  42330. /* Returns 1 if the number of zero.
  42331. * Implementation is constant time.
  42332. *
  42333. * a Number to check.
  42334. * returns 1 if the number is zero and 0 otherwise.
  42335. */
  42336. static int sp_384_iszero_6(const sp_digit* a)
  42337. {
  42338. return (a[0] | a[1] | a[2] | a[3] | a[4] | a[5]) == 0;
  42339. }
  42340. /* Add two Montgomery form projective points.
  42341. *
  42342. * r Result of addition.
  42343. * p First point to add.
  42344. * q Second point to add.
  42345. * t Temporary ordinate data.
  42346. */
  42347. #ifdef WOLFSSL_SP_NONBLOCK
  42348. typedef struct sp_384_proj_point_add_6_ctx {
  42349. int state;
  42350. sp_384_proj_point_dbl_6_ctx dbl_ctx;
  42351. const sp_point_384* ap[2];
  42352. sp_point_384* rp[2];
  42353. sp_digit* t1;
  42354. sp_digit* t2;
  42355. sp_digit* t3;
  42356. sp_digit* t4;
  42357. sp_digit* t5;
  42358. sp_digit* t6;
  42359. sp_digit* x;
  42360. sp_digit* y;
  42361. sp_digit* z;
  42362. } sp_384_proj_point_add_6_ctx;
  42363. static int sp_384_proj_point_add_6_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r,
  42364. const sp_point_384* p, const sp_point_384* q, sp_digit* t)
  42365. {
  42366. int err = FP_WOULDBLOCK;
  42367. sp_384_proj_point_add_6_ctx* ctx = (sp_384_proj_point_add_6_ctx*)sp_ctx->data;
  42368. /* Ensure only the first point is the same as the result. */
  42369. if (q == r) {
  42370. const sp_point_384* a = p;
  42371. p = q;
  42372. q = a;
  42373. }
  42374. typedef char ctx_size_test[sizeof(sp_384_proj_point_add_6_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  42375. (void)sizeof(ctx_size_test);
  42376. switch (ctx->state) {
  42377. case 0: /* INIT */
  42378. ctx->t1 = t;
  42379. ctx->t2 = t + 2*6;
  42380. ctx->t3 = t + 4*6;
  42381. ctx->t4 = t + 6*6;
  42382. ctx->t5 = t + 8*6;
  42383. ctx->t6 = t + 10*6;
  42384. ctx->x = ctx->t6;
  42385. ctx->y = ctx->t1;
  42386. ctx->z = ctx->t2;
  42387. ctx->state = 1;
  42388. break;
  42389. case 1:
  42390. /* Check double */
  42391. (void)sp_384_sub_6(ctx->t1, p384_mod, q->y);
  42392. sp_384_norm_6(ctx->t1);
  42393. if ((~p->infinity & ~q->infinity &
  42394. sp_384_cmp_equal_6(p->x, q->x) & sp_384_cmp_equal_6(p->z, q->z) &
  42395. (sp_384_cmp_equal_6(p->y, q->y) | sp_384_cmp_equal_6(p->y, ctx->t1))) != 0)
  42396. {
  42397. XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx));
  42398. ctx->state = 2;
  42399. }
  42400. else {
  42401. ctx->state = 3;
  42402. }
  42403. break;
  42404. case 2:
  42405. err = sp_384_proj_point_dbl_6_nb((sp_ecc_ctx_t*)&ctx->dbl_ctx, r, p, t);
  42406. if (err == MP_OKAY)
  42407. ctx->state = 27; /* done */
  42408. break;
  42409. case 3:
  42410. {
  42411. ctx->state = 4;
  42412. break;
  42413. }
  42414. case 4:
  42415. /* U1 = X1*Z2^2 */
  42416. sp_384_mont_sqr_6(ctx->t1, q->z, p384_mod, p384_mp_mod);
  42417. ctx->state = 5;
  42418. break;
  42419. case 5:
  42420. sp_384_mont_mul_6(ctx->t3, ctx->t1, q->z, p384_mod, p384_mp_mod);
  42421. ctx->state = 6;
  42422. break;
  42423. case 6:
  42424. sp_384_mont_mul_6(ctx->t1, ctx->t1, p->x, p384_mod, p384_mp_mod);
  42425. ctx->state = 7;
  42426. break;
  42427. case 7:
  42428. /* U2 = X2*Z1^2 */
  42429. sp_384_mont_sqr_6(ctx->t2, p->z, p384_mod, p384_mp_mod);
  42430. ctx->state = 8;
  42431. break;
  42432. case 8:
  42433. sp_384_mont_mul_6(ctx->t4, ctx->t2, p->z, p384_mod, p384_mp_mod);
  42434. ctx->state = 9;
  42435. break;
  42436. case 9:
  42437. sp_384_mont_mul_6(ctx->t2, ctx->t2, q->x, p384_mod, p384_mp_mod);
  42438. ctx->state = 10;
  42439. break;
  42440. case 10:
  42441. /* S1 = Y1*Z2^3 */
  42442. sp_384_mont_mul_6(ctx->t3, ctx->t3, p->y, p384_mod, p384_mp_mod);
  42443. ctx->state = 11;
  42444. break;
  42445. case 11:
  42446. /* S2 = Y2*Z1^3 */
  42447. sp_384_mont_mul_6(ctx->t4, ctx->t4, q->y, p384_mod, p384_mp_mod);
  42448. ctx->state = 12;
  42449. break;
  42450. case 12:
  42451. /* H = U2 - U1 */
  42452. sp_384_mont_sub_6(ctx->t2, ctx->t2, ctx->t1, p384_mod);
  42453. ctx->state = 13;
  42454. break;
  42455. case 13:
  42456. /* R = S2 - S1 */
  42457. sp_384_mont_sub_6(ctx->t4, ctx->t4, ctx->t3, p384_mod);
  42458. ctx->state = 14;
  42459. break;
  42460. case 14:
  42461. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  42462. sp_384_mont_sqr_6(ctx->t5, ctx->t2, p384_mod, p384_mp_mod);
  42463. ctx->state = 15;
  42464. break;
  42465. case 15:
  42466. sp_384_mont_mul_6(ctx->y, ctx->t1, ctx->t5, p384_mod, p384_mp_mod);
  42467. ctx->state = 16;
  42468. break;
  42469. case 16:
  42470. sp_384_mont_mul_6(ctx->t5, ctx->t5, ctx->t2, p384_mod, p384_mp_mod);
  42471. ctx->state = 17;
  42472. break;
  42473. case 17:
  42474. /* Z3 = H*Z1*Z2 */
  42475. sp_384_mont_mul_6(ctx->z, p->z, ctx->t2, p384_mod, p384_mp_mod);
  42476. ctx->state = 18;
  42477. break;
  42478. case 18:
  42479. sp_384_mont_mul_6(ctx->z, ctx->z, q->z, p384_mod, p384_mp_mod);
  42480. ctx->state = 19;
  42481. break;
  42482. case 19:
  42483. sp_384_mont_sqr_6(ctx->x, ctx->t4, p384_mod, p384_mp_mod);
  42484. ctx->state = 20;
  42485. break;
  42486. case 20:
  42487. sp_384_mont_sub_6(ctx->x, ctx->x, ctx->t5, p384_mod);
  42488. ctx->state = 21;
  42489. break;
  42490. case 21:
  42491. sp_384_mont_mul_6(ctx->t5, ctx->t5, ctx->t3, p384_mod, p384_mp_mod);
  42492. ctx->state = 22;
  42493. break;
  42494. case 22:
  42495. sp_384_mont_dbl_6(ctx->t3, ctx->y, p384_mod);
  42496. ctx->state = 23;
  42497. break;
  42498. case 23:
  42499. sp_384_mont_sub_6(ctx->x, ctx->x, ctx->t3, p384_mod);
  42500. ctx->state = 24;
  42501. break;
  42502. case 24:
  42503. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  42504. sp_384_mont_sub_lower_6(ctx->y, ctx->y, ctx->x, p384_mod);
  42505. ctx->state = 25;
  42506. break;
  42507. case 25:
  42508. sp_384_mont_mul_6(ctx->y, ctx->y, ctx->t4, p384_mod, p384_mp_mod);
  42509. ctx->state = 26;
  42510. break;
  42511. case 26:
  42512. sp_384_mont_sub_6(ctx->y, ctx->y, ctx->t5, p384_mod);
  42513. ctx->state = 27;
  42514. /* fall-through */
  42515. case 27:
  42516. {
  42517. int i;
  42518. sp_digit maskp = 0 - (q->infinity & (!p->infinity));
  42519. sp_digit maskq = 0 - (p->infinity & (!q->infinity));
  42520. sp_digit maskt = ~(maskp | maskq);
  42521. for (i = 0; i < 6; i++) {
  42522. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  42523. (ctx->x[i] & maskt);
  42524. }
  42525. for (i = 0; i < 6; i++) {
  42526. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  42527. (ctx->y[i] & maskt);
  42528. }
  42529. for (i = 0; i < 6; i++) {
  42530. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  42531. (ctx->z[i] & maskt);
  42532. }
  42533. r->z[0] |= p->infinity & q->infinity;
  42534. r->infinity = p->infinity & q->infinity;
  42535. err = MP_OKAY;
  42536. break;
  42537. }
  42538. }
  42539. if (err == MP_OKAY && ctx->state != 27) {
  42540. err = FP_WOULDBLOCK;
  42541. }
  42542. return err;
  42543. }
  42544. #endif /* WOLFSSL_SP_NONBLOCK */
  42545. static void sp_384_proj_point_add_6(sp_point_384* r,
  42546. const sp_point_384* p, const sp_point_384* q, sp_digit* t)
  42547. {
  42548. sp_digit* t1 = t;
  42549. sp_digit* t2 = t + 2*6;
  42550. sp_digit* t3 = t + 4*6;
  42551. sp_digit* t4 = t + 6*6;
  42552. sp_digit* t5 = t + 8*6;
  42553. sp_digit* t6 = t + 10*6;
  42554. /* Check double */
  42555. (void)sp_384_sub_6(t1, p384_mod, q->y);
  42556. sp_384_norm_6(t1);
  42557. if ((~p->infinity & ~q->infinity &
  42558. sp_384_cmp_equal_6(p->x, q->x) & sp_384_cmp_equal_6(p->z, q->z) &
  42559. (sp_384_cmp_equal_6(p->y, q->y) | sp_384_cmp_equal_6(p->y, t1))) != 0) {
  42560. sp_384_proj_point_dbl_6(r, p, t);
  42561. }
  42562. else {
  42563. sp_digit maskp;
  42564. sp_digit maskq;
  42565. sp_digit maskt;
  42566. sp_digit* x = t6;
  42567. sp_digit* y = t1;
  42568. sp_digit* z = t2;
  42569. int i;
  42570. maskp = 0 - (q->infinity & (!p->infinity));
  42571. maskq = 0 - (p->infinity & (!q->infinity));
  42572. maskt = ~(maskp | maskq);
  42573. /* U1 = X1*Z2^2 */
  42574. sp_384_mont_sqr_6(t1, q->z, p384_mod, p384_mp_mod);
  42575. sp_384_mont_mul_6(t3, t1, q->z, p384_mod, p384_mp_mod);
  42576. sp_384_mont_mul_6(t1, t1, p->x, p384_mod, p384_mp_mod);
  42577. /* U2 = X2*Z1^2 */
  42578. sp_384_mont_sqr_6(t2, p->z, p384_mod, p384_mp_mod);
  42579. sp_384_mont_mul_6(t4, t2, p->z, p384_mod, p384_mp_mod);
  42580. sp_384_mont_mul_6(t2, t2, q->x, p384_mod, p384_mp_mod);
  42581. /* S1 = Y1*Z2^3 */
  42582. sp_384_mont_mul_6(t3, t3, p->y, p384_mod, p384_mp_mod);
  42583. /* S2 = Y2*Z1^3 */
  42584. sp_384_mont_mul_6(t4, t4, q->y, p384_mod, p384_mp_mod);
  42585. /* H = U2 - U1 */
  42586. sp_384_mont_sub_6(t2, t2, t1, p384_mod);
  42587. /* R = S2 - S1 */
  42588. sp_384_mont_sub_6(t4, t4, t3, p384_mod);
  42589. if (~p->infinity & ~q->infinity &
  42590. sp_384_iszero_6(t2) & sp_384_iszero_6(t4) & maskt) {
  42591. sp_384_proj_point_dbl_6(r, p, t);
  42592. }
  42593. else {
  42594. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  42595. sp_384_mont_sqr_6(t5, t2, p384_mod, p384_mp_mod);
  42596. sp_384_mont_mul_6(y, t1, t5, p384_mod, p384_mp_mod);
  42597. sp_384_mont_mul_6(t5, t5, t2, p384_mod, p384_mp_mod);
  42598. /* Z3 = H*Z1*Z2 */
  42599. sp_384_mont_mul_6(z, p->z, t2, p384_mod, p384_mp_mod);
  42600. sp_384_mont_mul_6(z, z, q->z, p384_mod, p384_mp_mod);
  42601. sp_384_mont_sqr_6(x, t4, p384_mod, p384_mp_mod);
  42602. sp_384_mont_sub_6(x, x, t5, p384_mod);
  42603. sp_384_mont_mul_6(t5, t5, t3, p384_mod, p384_mp_mod);
  42604. sp_384_mont_dbl_6(t3, y, p384_mod);
  42605. sp_384_mont_sub_6(x, x, t3, p384_mod);
  42606. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  42607. sp_384_mont_sub_lower_6(y, y, x, p384_mod);
  42608. sp_384_mont_mul_6(y, y, t4, p384_mod, p384_mp_mod);
  42609. sp_384_mont_sub_6(y, y, t5, p384_mod);
  42610. for (i = 0; i < 6; i++) {
  42611. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  42612. (x[i] & maskt);
  42613. }
  42614. for (i = 0; i < 6; i++) {
  42615. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  42616. (y[i] & maskt);
  42617. }
  42618. for (i = 0; i < 6; i++) {
  42619. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  42620. (z[i] & maskt);
  42621. }
  42622. r->z[0] |= p->infinity & q->infinity;
  42623. r->infinity = p->infinity & q->infinity;
  42624. }
  42625. }
  42626. }
  42627. /* Double the Montgomery form projective point p a number of times.
  42628. *
  42629. * r Result of repeated doubling of point.
  42630. * p Point to double.
  42631. * n Number of times to double
  42632. * t Temporary ordinate data.
  42633. */
  42634. static void sp_384_proj_point_dbl_n_store_6(sp_point_384* r,
  42635. const sp_point_384* p, int n, int m, sp_digit* t)
  42636. {
  42637. sp_digit* w = t;
  42638. sp_digit* a = t + 2*6;
  42639. sp_digit* b = t + 4*6;
  42640. sp_digit* t1 = t + 6*6;
  42641. sp_digit* t2 = t + 8*6;
  42642. sp_digit* x = r[2*m].x;
  42643. sp_digit* y = r[(1<<n)*m].y;
  42644. sp_digit* z = r[2*m].z;
  42645. int i;
  42646. int j;
  42647. for (i=0; i<6; i++) {
  42648. x[i] = p->x[i];
  42649. }
  42650. for (i=0; i<6; i++) {
  42651. y[i] = p->y[i];
  42652. }
  42653. for (i=0; i<6; i++) {
  42654. z[i] = p->z[i];
  42655. }
  42656. /* Y = 2*Y */
  42657. sp_384_mont_dbl_6(y, y, p384_mod);
  42658. /* W = Z^4 */
  42659. sp_384_mont_sqr_6(w, z, p384_mod, p384_mp_mod);
  42660. sp_384_mont_sqr_6(w, w, p384_mod, p384_mp_mod);
  42661. j = m;
  42662. for (i=1; i<=n; i++) {
  42663. j *= 2;
  42664. /* A = 3*(X^2 - W) */
  42665. sp_384_mont_sqr_6(t1, x, p384_mod, p384_mp_mod);
  42666. sp_384_mont_sub_6(t1, t1, w, p384_mod);
  42667. sp_384_mont_tpl_lower_6(a, t1, p384_mod);
  42668. /* B = X*Y^2 */
  42669. sp_384_mont_sqr_6(t1, y, p384_mod, p384_mp_mod);
  42670. sp_384_mont_mul_6(b, t1, x, p384_mod, p384_mp_mod);
  42671. x = r[j].x;
  42672. /* X = A^2 - 2B */
  42673. sp_384_mont_sqr_6(x, a, p384_mod, p384_mp_mod);
  42674. sp_384_mont_dbl_6(t2, b, p384_mod);
  42675. sp_384_mont_sub_6(x, x, t2, p384_mod);
  42676. /* b = 2.(B - X) */
  42677. sp_384_mont_sub_lower_6(t2, b, x, p384_mod);
  42678. sp_384_mont_dbl_lower_6(b, t2, p384_mod);
  42679. /* Z = Z*Y */
  42680. sp_384_mont_mul_6(r[j].z, z, y, p384_mod, p384_mp_mod);
  42681. z = r[j].z;
  42682. /* t1 = Y^4 */
  42683. sp_384_mont_sqr_6(t1, t1, p384_mod, p384_mp_mod);
  42684. if (i != n) {
  42685. /* W = W*Y^4 */
  42686. sp_384_mont_mul_6(w, w, t1, p384_mod, p384_mp_mod);
  42687. }
  42688. /* y = 2*A*(B - X) - Y^4 */
  42689. sp_384_mont_mul_6(y, b, a, p384_mod, p384_mp_mod);
  42690. sp_384_mont_sub_6(y, y, t1, p384_mod);
  42691. /* Y = Y/2 */
  42692. sp_384_div2_6(r[j].y, y, p384_mod);
  42693. r[j].infinity = 0;
  42694. }
  42695. }
  42696. /* Add two Montgomery form projective points.
  42697. *
  42698. * ra Result of addition.
  42699. * rs Result of subtraction.
  42700. * p First point to add.
  42701. * q Second point to add.
  42702. * t Temporary ordinate data.
  42703. */
  42704. static void sp_384_proj_point_add_sub_6(sp_point_384* ra,
  42705. sp_point_384* rs, const sp_point_384* p, const sp_point_384* q,
  42706. sp_digit* t)
  42707. {
  42708. sp_digit* t1 = t;
  42709. sp_digit* t2 = t + 2*6;
  42710. sp_digit* t3 = t + 4*6;
  42711. sp_digit* t4 = t + 6*6;
  42712. sp_digit* t5 = t + 8*6;
  42713. sp_digit* t6 = t + 10*6;
  42714. sp_digit* xa = ra->x;
  42715. sp_digit* ya = ra->y;
  42716. sp_digit* za = ra->z;
  42717. sp_digit* xs = rs->x;
  42718. sp_digit* ys = rs->y;
  42719. sp_digit* zs = rs->z;
  42720. XMEMCPY(xa, p->x, sizeof(p->x) / 2);
  42721. XMEMCPY(ya, p->y, sizeof(p->y) / 2);
  42722. XMEMCPY(za, p->z, sizeof(p->z) / 2);
  42723. ra->infinity = 0;
  42724. rs->infinity = 0;
  42725. /* U1 = X1*Z2^2 */
  42726. sp_384_mont_sqr_6(t1, q->z, p384_mod, p384_mp_mod);
  42727. sp_384_mont_mul_6(t3, t1, q->z, p384_mod, p384_mp_mod);
  42728. sp_384_mont_mul_6(t1, t1, xa, p384_mod, p384_mp_mod);
  42729. /* U2 = X2*Z1^2 */
  42730. sp_384_mont_sqr_6(t2, za, p384_mod, p384_mp_mod);
  42731. sp_384_mont_mul_6(t4, t2, za, p384_mod, p384_mp_mod);
  42732. sp_384_mont_mul_6(t2, t2, q->x, p384_mod, p384_mp_mod);
  42733. /* S1 = Y1*Z2^3 */
  42734. sp_384_mont_mul_6(t3, t3, ya, p384_mod, p384_mp_mod);
  42735. /* S2 = Y2*Z1^3 */
  42736. sp_384_mont_mul_6(t4, t4, q->y, p384_mod, p384_mp_mod);
  42737. /* H = U2 - U1 */
  42738. sp_384_mont_sub_6(t2, t2, t1, p384_mod);
  42739. /* RS = S2 + S1 */
  42740. sp_384_mont_add_6(t6, t4, t3, p384_mod);
  42741. /* R = S2 - S1 */
  42742. sp_384_mont_sub_6(t4, t4, t3, p384_mod);
  42743. /* Z3 = H*Z1*Z2 */
  42744. /* ZS = H*Z1*Z2 */
  42745. sp_384_mont_mul_6(za, za, q->z, p384_mod, p384_mp_mod);
  42746. sp_384_mont_mul_6(za, za, t2, p384_mod, p384_mp_mod);
  42747. XMEMCPY(zs, za, sizeof(p->z)/2);
  42748. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  42749. /* XS = RS^2 - H^3 - 2*U1*H^2 */
  42750. sp_384_mont_sqr_6(xa, t4, p384_mod, p384_mp_mod);
  42751. sp_384_mont_sqr_6(xs, t6, p384_mod, p384_mp_mod);
  42752. sp_384_mont_sqr_6(t5, t2, p384_mod, p384_mp_mod);
  42753. sp_384_mont_mul_6(ya, t1, t5, p384_mod, p384_mp_mod);
  42754. sp_384_mont_mul_6(t5, t5, t2, p384_mod, p384_mp_mod);
  42755. sp_384_mont_sub_6(xa, xa, t5, p384_mod);
  42756. sp_384_mont_sub_6(xs, xs, t5, p384_mod);
  42757. sp_384_mont_dbl_6(t1, ya, p384_mod);
  42758. sp_384_mont_sub_6(xa, xa, t1, p384_mod);
  42759. sp_384_mont_sub_6(xs, xs, t1, p384_mod);
  42760. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  42761. /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */
  42762. sp_384_mont_sub_lower_6(ys, ya, xs, p384_mod);
  42763. sp_384_mont_sub_lower_6(ya, ya, xa, p384_mod);
  42764. sp_384_mont_mul_6(ya, ya, t4, p384_mod, p384_mp_mod);
  42765. sp_384_sub_6(t6, p384_mod, t6);
  42766. sp_384_mont_mul_6(ys, ys, t6, p384_mod, p384_mp_mod);
  42767. sp_384_mont_mul_6(t5, t5, t3, p384_mod, p384_mp_mod);
  42768. sp_384_mont_sub_6(ya, ya, t5, p384_mod);
  42769. sp_384_mont_sub_6(ys, ys, t5, p384_mod);
  42770. }
  42771. /* Structure used to describe recoding of scalar multiplication. */
  42772. typedef struct ecc_recode_384 {
  42773. /* Index into pre-computation table. */
  42774. uint8_t i;
  42775. /* Use the negative of the point. */
  42776. uint8_t neg;
  42777. } ecc_recode_384;
  42778. /* The index into pre-computation table to use. */
  42779. static const uint8_t recode_index_6_6[66] = {
  42780. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  42781. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  42782. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  42783. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  42784. 0, 1,
  42785. };
  42786. /* Whether to negate y-ordinate. */
  42787. static const uint8_t recode_neg_6_6[66] = {
  42788. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  42789. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  42790. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  42791. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  42792. 0, 0,
  42793. };
  42794. /* Recode the scalar for multiplication using pre-computed values and
  42795. * subtraction.
  42796. *
  42797. * k Scalar to multiply by.
  42798. * v Vector of operations to perform.
  42799. */
  42800. static void sp_384_ecc_recode_6_6(const sp_digit* k, ecc_recode_384* v)
  42801. {
  42802. int i;
  42803. int j;
  42804. uint8_t y;
  42805. int carry = 0;
  42806. int o;
  42807. sp_digit n;
  42808. j = 0;
  42809. n = k[j];
  42810. o = 0;
  42811. for (i=0; i<65; i++) {
  42812. y = (int8_t)n;
  42813. if (o + 6 < 64) {
  42814. y &= 0x3f;
  42815. n >>= 6;
  42816. o += 6;
  42817. }
  42818. else if (o + 6 == 64) {
  42819. n >>= 6;
  42820. if (++j < 6)
  42821. n = k[j];
  42822. o = 0;
  42823. }
  42824. else if (++j < 6) {
  42825. n = k[j];
  42826. y |= (uint8_t)((n << (64 - o)) & 0x3f);
  42827. o -= 58;
  42828. n >>= o;
  42829. }
  42830. y += (uint8_t)carry;
  42831. v[i].i = recode_index_6_6[y];
  42832. v[i].neg = recode_neg_6_6[y];
  42833. carry = (y >> 6) + v[i].neg;
  42834. }
  42835. }
  42836. #ifndef WC_NO_CACHE_RESISTANT
  42837. /* Touch each possible point that could be being copied.
  42838. *
  42839. * r Point to copy into.
  42840. * table Table - start of the entires to access
  42841. * idx Index of entry to retrieve.
  42842. */
  42843. static void sp_384_get_point_33_6(sp_point_384* r, const sp_point_384* table,
  42844. int idx)
  42845. {
  42846. int i;
  42847. sp_digit mask;
  42848. r->x[0] = 0;
  42849. r->x[1] = 0;
  42850. r->x[2] = 0;
  42851. r->x[3] = 0;
  42852. r->x[4] = 0;
  42853. r->x[5] = 0;
  42854. r->y[0] = 0;
  42855. r->y[1] = 0;
  42856. r->y[2] = 0;
  42857. r->y[3] = 0;
  42858. r->y[4] = 0;
  42859. r->y[5] = 0;
  42860. r->z[0] = 0;
  42861. r->z[1] = 0;
  42862. r->z[2] = 0;
  42863. r->z[3] = 0;
  42864. r->z[4] = 0;
  42865. r->z[5] = 0;
  42866. for (i = 1; i < 33; i++) {
  42867. mask = 0 - (i == idx);
  42868. r->x[0] |= mask & table[i].x[0];
  42869. r->x[1] |= mask & table[i].x[1];
  42870. r->x[2] |= mask & table[i].x[2];
  42871. r->x[3] |= mask & table[i].x[3];
  42872. r->x[4] |= mask & table[i].x[4];
  42873. r->x[5] |= mask & table[i].x[5];
  42874. r->y[0] |= mask & table[i].y[0];
  42875. r->y[1] |= mask & table[i].y[1];
  42876. r->y[2] |= mask & table[i].y[2];
  42877. r->y[3] |= mask & table[i].y[3];
  42878. r->y[4] |= mask & table[i].y[4];
  42879. r->y[5] |= mask & table[i].y[5];
  42880. r->z[0] |= mask & table[i].z[0];
  42881. r->z[1] |= mask & table[i].z[1];
  42882. r->z[2] |= mask & table[i].z[2];
  42883. r->z[3] |= mask & table[i].z[3];
  42884. r->z[4] |= mask & table[i].z[4];
  42885. r->z[5] |= mask & table[i].z[5];
  42886. }
  42887. }
  42888. #endif /* !WC_NO_CACHE_RESISTANT */
  42889. /* Multiply the point by the scalar and return the result.
  42890. * If map is true then convert result to affine coordinates.
  42891. *
  42892. * Window technique of 6 bits. (Add-Sub variation.)
  42893. * Calculate 0..32 times the point. Use function that adds and
  42894. * subtracts the same two points.
  42895. * Recode to add or subtract one of the computed points.
  42896. * Double to push up.
  42897. * NOT a sliding window.
  42898. *
  42899. * r Resulting point.
  42900. * g Point to multiply.
  42901. * k Scalar to multiply by.
  42902. * map Indicates whether to convert result to affine.
  42903. * ct Constant time required.
  42904. * heap Heap to use for allocation.
  42905. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  42906. */
  42907. static int sp_384_ecc_mulmod_win_add_sub_6(sp_point_384* r, const sp_point_384* g,
  42908. const sp_digit* k, int map, int ct, void* heap)
  42909. {
  42910. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  42911. sp_point_384* t = NULL;
  42912. sp_digit* tmp = NULL;
  42913. #else
  42914. sp_point_384 t[33+2];
  42915. sp_digit tmp[2 * 6 * 6];
  42916. #endif
  42917. sp_point_384* rt = NULL;
  42918. sp_point_384* p = NULL;
  42919. sp_digit* negy;
  42920. int i;
  42921. ecc_recode_384 v[65];
  42922. int err = MP_OKAY;
  42923. /* Constant time used for cache attack resistance implementation. */
  42924. (void)ct;
  42925. (void)heap;
  42926. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  42927. t = (sp_point_384*)XMALLOC(sizeof(sp_point_384) *
  42928. (33+2), heap, DYNAMIC_TYPE_ECC);
  42929. if (t == NULL)
  42930. err = MEMORY_E;
  42931. if (err == MP_OKAY) {
  42932. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6,
  42933. heap, DYNAMIC_TYPE_ECC);
  42934. if (tmp == NULL)
  42935. err = MEMORY_E;
  42936. }
  42937. #endif
  42938. if (err == MP_OKAY) {
  42939. rt = t + 33;
  42940. p = t + 33+1;
  42941. /* t[0] = {0, 0, 1} * norm */
  42942. XMEMSET(&t[0], 0, sizeof(t[0]));
  42943. t[0].infinity = 1;
  42944. /* t[1] = {g->x, g->y, g->z} * norm */
  42945. err = sp_384_mod_mul_norm_6(t[1].x, g->x, p384_mod);
  42946. }
  42947. if (err == MP_OKAY) {
  42948. err = sp_384_mod_mul_norm_6(t[1].y, g->y, p384_mod);
  42949. }
  42950. if (err == MP_OKAY) {
  42951. err = sp_384_mod_mul_norm_6(t[1].z, g->z, p384_mod);
  42952. }
  42953. if (err == MP_OKAY) {
  42954. t[1].infinity = 0;
  42955. /* t[2] ... t[32] */
  42956. sp_384_proj_point_dbl_n_store_6(t, &t[ 1], 5, 1, tmp);
  42957. sp_384_proj_point_add_6(&t[ 3], &t[ 2], &t[ 1], tmp);
  42958. sp_384_proj_point_dbl_6(&t[ 6], &t[ 3], tmp);
  42959. sp_384_proj_point_add_sub_6(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp);
  42960. sp_384_proj_point_dbl_6(&t[10], &t[ 5], tmp);
  42961. sp_384_proj_point_add_sub_6(&t[11], &t[ 9], &t[10], &t[ 1], tmp);
  42962. sp_384_proj_point_dbl_6(&t[12], &t[ 6], tmp);
  42963. sp_384_proj_point_dbl_6(&t[14], &t[ 7], tmp);
  42964. sp_384_proj_point_add_sub_6(&t[15], &t[13], &t[14], &t[ 1], tmp);
  42965. sp_384_proj_point_dbl_6(&t[18], &t[ 9], tmp);
  42966. sp_384_proj_point_add_sub_6(&t[19], &t[17], &t[18], &t[ 1], tmp);
  42967. sp_384_proj_point_dbl_6(&t[20], &t[10], tmp);
  42968. sp_384_proj_point_dbl_6(&t[22], &t[11], tmp);
  42969. sp_384_proj_point_add_sub_6(&t[23], &t[21], &t[22], &t[ 1], tmp);
  42970. sp_384_proj_point_dbl_6(&t[24], &t[12], tmp);
  42971. sp_384_proj_point_dbl_6(&t[26], &t[13], tmp);
  42972. sp_384_proj_point_add_sub_6(&t[27], &t[25], &t[26], &t[ 1], tmp);
  42973. sp_384_proj_point_dbl_6(&t[28], &t[14], tmp);
  42974. sp_384_proj_point_dbl_6(&t[30], &t[15], tmp);
  42975. sp_384_proj_point_add_sub_6(&t[31], &t[29], &t[30], &t[ 1], tmp);
  42976. negy = t[0].y;
  42977. sp_384_ecc_recode_6_6(k, v);
  42978. i = 64;
  42979. #ifndef WC_NO_CACHE_RESISTANT
  42980. if (ct) {
  42981. sp_384_get_point_33_6(rt, t, v[i].i);
  42982. rt->infinity = !v[i].i;
  42983. }
  42984. else
  42985. #endif
  42986. {
  42987. XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_384));
  42988. }
  42989. for (--i; i>=0; i--) {
  42990. sp_384_proj_point_dbl_n_6(rt, 6, tmp);
  42991. #ifndef WC_NO_CACHE_RESISTANT
  42992. if (ct) {
  42993. sp_384_get_point_33_6(p, t, v[i].i);
  42994. p->infinity = !v[i].i;
  42995. }
  42996. else
  42997. #endif
  42998. {
  42999. XMEMCPY(p, &t[v[i].i], sizeof(sp_point_384));
  43000. }
  43001. sp_384_sub_6(negy, p384_mod, p->y);
  43002. sp_384_norm_6(negy);
  43003. sp_384_cond_copy_6(p->y, negy, (sp_digit)0 - v[i].neg);
  43004. sp_384_proj_point_add_6(rt, rt, p, tmp);
  43005. }
  43006. if (map != 0) {
  43007. sp_384_map_6(r, rt, tmp);
  43008. }
  43009. else {
  43010. XMEMCPY(r, rt, sizeof(sp_point_384));
  43011. }
  43012. }
  43013. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43014. if (t != NULL)
  43015. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  43016. if (tmp != NULL)
  43017. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  43018. #endif
  43019. return err;
  43020. }
  43021. #ifndef WC_NO_CACHE_RESISTANT
  43022. /* A table entry for pre-computed points. */
  43023. typedef struct sp_table_entry_384 {
  43024. sp_digit x[6];
  43025. sp_digit y[6];
  43026. } sp_table_entry_384;
  43027. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  43028. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  43029. /* Add two Montgomery form projective points. The second point has a q value of
  43030. * one.
  43031. * Only the first point can be the same pointer as the result point.
  43032. *
  43033. * r Result of addition.
  43034. * p First point to add.
  43035. * q Second point to add.
  43036. * t Temporary ordinate data.
  43037. */
  43038. static void sp_384_proj_point_add_qz1_6(sp_point_384* r, const sp_point_384* p,
  43039. const sp_point_384* q, sp_digit* t)
  43040. {
  43041. sp_digit* t1 = t;
  43042. sp_digit* t2 = t + 2*6;
  43043. sp_digit* t3 = t + 4*6;
  43044. sp_digit* t4 = t + 6*6;
  43045. sp_digit* t5 = t + 8*6;
  43046. sp_digit* t6 = t + 10*6;
  43047. /* Check double */
  43048. (void)sp_384_sub_6(t1, p384_mod, q->y);
  43049. sp_384_norm_6(t1);
  43050. if ((~p->infinity & ~q->infinity &
  43051. sp_384_cmp_equal_6(p->x, q->x) & sp_384_cmp_equal_6(p->z, q->z) &
  43052. (sp_384_cmp_equal_6(p->y, q->y) | sp_384_cmp_equal_6(p->y, t1))) != 0) {
  43053. sp_384_proj_point_dbl_6(r, p, t);
  43054. }
  43055. else {
  43056. sp_digit maskp;
  43057. sp_digit maskq;
  43058. sp_digit maskt;
  43059. sp_digit* x = t2;
  43060. sp_digit* y = t5;
  43061. sp_digit* z = t6;
  43062. int i;
  43063. /* U2 = X2*Z1^2 */
  43064. sp_384_mont_sqr_6(t2, p->z, p384_mod, p384_mp_mod);
  43065. sp_384_mont_mul_6(t4, t2, p->z, p384_mod, p384_mp_mod);
  43066. sp_384_mont_mul_6(t2, t2, q->x, p384_mod, p384_mp_mod);
  43067. /* S2 = Y2*Z1^3 */
  43068. sp_384_mont_mul_6(t4, t4, q->y, p384_mod, p384_mp_mod);
  43069. /* H = U2 - X1 */
  43070. sp_384_mont_sub_6(t2, t2, p->x, p384_mod);
  43071. /* R = S2 - Y1 */
  43072. sp_384_mont_sub_6(t4, t4, p->y, p384_mod);
  43073. /* Z3 = H*Z1 */
  43074. sp_384_mont_mul_6(z, p->z, t2, p384_mod, p384_mp_mod);
  43075. /* X3 = R^2 - H^3 - 2*X1*H^2 */
  43076. sp_384_mont_sqr_6(t1, t4, p384_mod, p384_mp_mod);
  43077. sp_384_mont_sqr_6(t5, t2, p384_mod, p384_mp_mod);
  43078. sp_384_mont_mul_6(t3, p->x, t5, p384_mod, p384_mp_mod);
  43079. sp_384_mont_mul_6(t5, t5, t2, p384_mod, p384_mp_mod);
  43080. sp_384_mont_sub_6(x, t1, t5, p384_mod);
  43081. sp_384_mont_dbl_6(t1, t3, p384_mod);
  43082. sp_384_mont_sub_6(x, x, t1, p384_mod);
  43083. /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */
  43084. sp_384_mont_sub_lower_6(t3, t3, x, p384_mod);
  43085. sp_384_mont_mul_6(t3, t3, t4, p384_mod, p384_mp_mod);
  43086. sp_384_mont_mul_6(t5, t5, p->y, p384_mod, p384_mp_mod);
  43087. sp_384_mont_sub_6(y, t3, t5, p384_mod);
  43088. maskp = 0 - (q->infinity & (!p->infinity));
  43089. maskq = 0 - (p->infinity & (!q->infinity));
  43090. maskt = ~(maskp | maskq);
  43091. for (i = 0; i < 6; i++) {
  43092. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | (x[i] & maskt);
  43093. }
  43094. for (i = 0; i < 6; i++) {
  43095. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | (y[i] & maskt);
  43096. }
  43097. for (i = 0; i < 6; i++) {
  43098. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | (z[i] & maskt);
  43099. }
  43100. r->z[0] |= p->infinity & q->infinity;
  43101. r->infinity = p->infinity & q->infinity;
  43102. }
  43103. }
  43104. #ifdef FP_ECC
  43105. /* Convert the projective point to affine.
  43106. * Ordinates are in Montgomery form.
  43107. *
  43108. * a Point to convert.
  43109. * t Temporary data.
  43110. */
  43111. static void sp_384_proj_to_affine_6(sp_point_384* a, sp_digit* t)
  43112. {
  43113. sp_digit* t1 = t;
  43114. sp_digit* t2 = t + 2 * 6;
  43115. sp_digit* tmp = t + 4 * 6;
  43116. sp_384_mont_inv_6(t1, a->z, tmp);
  43117. sp_384_mont_sqr_6(t2, t1, p384_mod, p384_mp_mod);
  43118. sp_384_mont_mul_6(t1, t2, t1, p384_mod, p384_mp_mod);
  43119. sp_384_mont_mul_6(a->x, a->x, t2, p384_mod, p384_mp_mod);
  43120. sp_384_mont_mul_6(a->y, a->y, t1, p384_mod, p384_mp_mod);
  43121. XMEMCPY(a->z, p384_norm_mod, sizeof(p384_norm_mod));
  43122. }
  43123. /* Generate the pre-computed table of points for the base point.
  43124. *
  43125. * width = 6
  43126. * 64 entries
  43127. * 64 bits between
  43128. *
  43129. * a The base point.
  43130. * table Place to store generated point data.
  43131. * tmp Temporary data.
  43132. * heap Heap to use for allocation.
  43133. */
  43134. static int sp_384_gen_stripe_table_6(const sp_point_384* a,
  43135. sp_table_entry_384* table, sp_digit* tmp, void* heap)
  43136. {
  43137. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43138. sp_point_384* t = NULL;
  43139. #else
  43140. sp_point_384 t[3];
  43141. #endif
  43142. sp_point_384* s1 = NULL;
  43143. sp_point_384* s2 = NULL;
  43144. int i;
  43145. int j;
  43146. int err = MP_OKAY;
  43147. (void)heap;
  43148. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43149. t = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 3, heap,
  43150. DYNAMIC_TYPE_ECC);
  43151. if (t == NULL)
  43152. err = MEMORY_E;
  43153. #endif
  43154. if (err == MP_OKAY) {
  43155. s1 = t + 1;
  43156. s2 = t + 2;
  43157. err = sp_384_mod_mul_norm_6(t->x, a->x, p384_mod);
  43158. }
  43159. if (err == MP_OKAY) {
  43160. err = sp_384_mod_mul_norm_6(t->y, a->y, p384_mod);
  43161. }
  43162. if (err == MP_OKAY) {
  43163. err = sp_384_mod_mul_norm_6(t->z, a->z, p384_mod);
  43164. }
  43165. if (err == MP_OKAY) {
  43166. t->infinity = 0;
  43167. sp_384_proj_to_affine_6(t, tmp);
  43168. XMEMCPY(s1->z, p384_norm_mod, sizeof(p384_norm_mod));
  43169. s1->infinity = 0;
  43170. XMEMCPY(s2->z, p384_norm_mod, sizeof(p384_norm_mod));
  43171. s2->infinity = 0;
  43172. /* table[0] = {0, 0, infinity} */
  43173. XMEMSET(&table[0], 0, sizeof(sp_table_entry_384));
  43174. /* table[1] = Affine version of 'a' in Montgomery form */
  43175. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  43176. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  43177. for (i=1; i<6; i++) {
  43178. sp_384_proj_point_dbl_n_6(t, 64, tmp);
  43179. sp_384_proj_to_affine_6(t, tmp);
  43180. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  43181. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  43182. }
  43183. for (i=1; i<6; i++) {
  43184. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  43185. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  43186. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  43187. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  43188. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  43189. sp_384_proj_point_add_qz1_6(t, s1, s2, tmp);
  43190. sp_384_proj_to_affine_6(t, tmp);
  43191. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  43192. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  43193. }
  43194. }
  43195. }
  43196. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43197. if (t != NULL)
  43198. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  43199. #endif
  43200. return err;
  43201. }
  43202. #endif /* FP_ECC */
  43203. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  43204. #ifndef WC_NO_CACHE_RESISTANT
  43205. /* Touch each possible entry that could be being copied.
  43206. *
  43207. * r Point to copy into.
  43208. * table Table - start of the entires to access
  43209. * idx Index of entry to retrieve.
  43210. */
  43211. static void sp_384_get_entry_64_6(sp_point_384* r,
  43212. const sp_table_entry_384* table, int idx)
  43213. {
  43214. int i;
  43215. sp_digit mask;
  43216. r->x[0] = 0;
  43217. r->x[1] = 0;
  43218. r->x[2] = 0;
  43219. r->x[3] = 0;
  43220. r->x[4] = 0;
  43221. r->x[5] = 0;
  43222. r->y[0] = 0;
  43223. r->y[1] = 0;
  43224. r->y[2] = 0;
  43225. r->y[3] = 0;
  43226. r->y[4] = 0;
  43227. r->y[5] = 0;
  43228. for (i = 1; i < 64; i++) {
  43229. mask = 0 - (i == idx);
  43230. r->x[0] |= mask & table[i].x[0];
  43231. r->x[1] |= mask & table[i].x[1];
  43232. r->x[2] |= mask & table[i].x[2];
  43233. r->x[3] |= mask & table[i].x[3];
  43234. r->x[4] |= mask & table[i].x[4];
  43235. r->x[5] |= mask & table[i].x[5];
  43236. r->y[0] |= mask & table[i].y[0];
  43237. r->y[1] |= mask & table[i].y[1];
  43238. r->y[2] |= mask & table[i].y[2];
  43239. r->y[3] |= mask & table[i].y[3];
  43240. r->y[4] |= mask & table[i].y[4];
  43241. r->y[5] |= mask & table[i].y[5];
  43242. }
  43243. }
  43244. #endif /* !WC_NO_CACHE_RESISTANT */
  43245. /* Multiply the point by the scalar and return the result.
  43246. * If map is true then convert result to affine coordinates.
  43247. *
  43248. * Stripe implementation.
  43249. * Pre-generated: 2^0, 2^64, ...
  43250. * Pre-generated: products of all combinations of above.
  43251. * 6 doubles and adds (with qz=1)
  43252. *
  43253. * r Resulting point.
  43254. * k Scalar to multiply by.
  43255. * table Pre-computed table.
  43256. * map Indicates whether to convert result to affine.
  43257. * ct Constant time required.
  43258. * heap Heap to use for allocation.
  43259. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  43260. */
  43261. static int sp_384_ecc_mulmod_stripe_6(sp_point_384* r, const sp_point_384* g,
  43262. const sp_table_entry_384* table, const sp_digit* k, int map,
  43263. int ct, void* heap)
  43264. {
  43265. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43266. sp_point_384* rt = NULL;
  43267. sp_digit* t = NULL;
  43268. #else
  43269. sp_point_384 rt[2];
  43270. sp_digit t[2 * 6 * 6];
  43271. #endif
  43272. sp_point_384* p = NULL;
  43273. int i;
  43274. int j;
  43275. int y;
  43276. int x;
  43277. int err = MP_OKAY;
  43278. (void)g;
  43279. /* Constant time used for cache attack resistance implementation. */
  43280. (void)ct;
  43281. (void)heap;
  43282. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43283. rt = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  43284. DYNAMIC_TYPE_ECC);
  43285. if (rt == NULL)
  43286. err = MEMORY_E;
  43287. if (err == MP_OKAY) {
  43288. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6, heap,
  43289. DYNAMIC_TYPE_ECC);
  43290. if (t == NULL)
  43291. err = MEMORY_E;
  43292. }
  43293. #endif
  43294. if (err == MP_OKAY) {
  43295. p = rt + 1;
  43296. XMEMCPY(p->z, p384_norm_mod, sizeof(p384_norm_mod));
  43297. XMEMCPY(rt->z, p384_norm_mod, sizeof(p384_norm_mod));
  43298. y = 0;
  43299. x = 63;
  43300. for (j=0; j<6; j++) {
  43301. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  43302. x += 64;
  43303. }
  43304. #ifndef WC_NO_CACHE_RESISTANT
  43305. if (ct) {
  43306. sp_384_get_entry_64_6(rt, table, y);
  43307. } else
  43308. #endif
  43309. {
  43310. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  43311. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  43312. }
  43313. rt->infinity = !y;
  43314. for (i=62; i>=0; i--) {
  43315. y = 0;
  43316. x = i;
  43317. for (j=0; j<6; j++) {
  43318. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  43319. x += 64;
  43320. }
  43321. sp_384_proj_point_dbl_6(rt, rt, t);
  43322. #ifndef WC_NO_CACHE_RESISTANT
  43323. if (ct) {
  43324. sp_384_get_entry_64_6(p, table, y);
  43325. }
  43326. else
  43327. #endif
  43328. {
  43329. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  43330. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  43331. }
  43332. p->infinity = !y;
  43333. sp_384_proj_point_add_qz1_6(rt, rt, p, t);
  43334. }
  43335. if (map != 0) {
  43336. sp_384_map_6(r, rt, t);
  43337. }
  43338. else {
  43339. XMEMCPY(r, rt, sizeof(sp_point_384));
  43340. }
  43341. }
  43342. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43343. if (t != NULL)
  43344. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  43345. if (rt != NULL)
  43346. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  43347. #endif
  43348. return err;
  43349. }
  43350. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  43351. #ifdef FP_ECC
  43352. #ifndef FP_ENTRIES
  43353. #define FP_ENTRIES 16
  43354. #endif
  43355. /* Cache entry - holds precomputation tables for a point. */
  43356. typedef struct sp_cache_384_t {
  43357. /* X ordinate of point that table was generated from. */
  43358. sp_digit x[6];
  43359. /* Y ordinate of point that table was generated from. */
  43360. sp_digit y[6];
  43361. /* Precomputation table for point. */
  43362. sp_table_entry_384 table[64];
  43363. /* Count of entries in table. */
  43364. uint32_t cnt;
  43365. /* Point and table set in entry. */
  43366. int set;
  43367. } sp_cache_384_t;
  43368. /* Cache of tables. */
  43369. static THREAD_LS_T sp_cache_384_t sp_cache_384[FP_ENTRIES];
  43370. /* Index of last entry in cache. */
  43371. static THREAD_LS_T int sp_cache_384_last = -1;
  43372. /* Cache has been initialized. */
  43373. static THREAD_LS_T int sp_cache_384_inited = 0;
  43374. #ifndef HAVE_THREAD_LS
  43375. static volatile int initCacheMutex_384 = 0;
  43376. static wolfSSL_Mutex sp_cache_384_lock;
  43377. #endif
  43378. /* Get the cache entry for the point.
  43379. *
  43380. * g [in] Point scalar multipling.
  43381. * cache [out] Cache table to use.
  43382. */
  43383. static void sp_ecc_get_cache_384(const sp_point_384* g, sp_cache_384_t** cache)
  43384. {
  43385. int i;
  43386. int j;
  43387. uint32_t least;
  43388. if (sp_cache_384_inited == 0) {
  43389. for (i=0; i<FP_ENTRIES; i++) {
  43390. sp_cache_384[i].set = 0;
  43391. }
  43392. sp_cache_384_inited = 1;
  43393. }
  43394. /* Compare point with those in cache. */
  43395. for (i=0; i<FP_ENTRIES; i++) {
  43396. if (!sp_cache_384[i].set)
  43397. continue;
  43398. if (sp_384_cmp_equal_6(g->x, sp_cache_384[i].x) &
  43399. sp_384_cmp_equal_6(g->y, sp_cache_384[i].y)) {
  43400. sp_cache_384[i].cnt++;
  43401. break;
  43402. }
  43403. }
  43404. /* No match. */
  43405. if (i == FP_ENTRIES) {
  43406. /* Find empty entry. */
  43407. i = (sp_cache_384_last + 1) % FP_ENTRIES;
  43408. for (; i != sp_cache_384_last; i=(i+1)%FP_ENTRIES) {
  43409. if (!sp_cache_384[i].set) {
  43410. break;
  43411. }
  43412. }
  43413. /* Evict least used. */
  43414. if (i == sp_cache_384_last) {
  43415. least = sp_cache_384[0].cnt;
  43416. for (j=1; j<FP_ENTRIES; j++) {
  43417. if (sp_cache_384[j].cnt < least) {
  43418. i = j;
  43419. least = sp_cache_384[i].cnt;
  43420. }
  43421. }
  43422. }
  43423. XMEMCPY(sp_cache_384[i].x, g->x, sizeof(sp_cache_384[i].x));
  43424. XMEMCPY(sp_cache_384[i].y, g->y, sizeof(sp_cache_384[i].y));
  43425. sp_cache_384[i].set = 1;
  43426. sp_cache_384[i].cnt = 1;
  43427. }
  43428. *cache = &sp_cache_384[i];
  43429. sp_cache_384_last = i;
  43430. }
  43431. #endif /* FP_ECC */
  43432. /* Multiply the base point of P384 by the scalar and return the result.
  43433. * If map is true then convert result to affine coordinates.
  43434. *
  43435. * r Resulting point.
  43436. * g Point to multiply.
  43437. * k Scalar to multiply by.
  43438. * map Indicates whether to convert result to affine.
  43439. * ct Constant time required.
  43440. * heap Heap to use for allocation.
  43441. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  43442. */
  43443. static int sp_384_ecc_mulmod_6(sp_point_384* r, const sp_point_384* g, const sp_digit* k,
  43444. int map, int ct, void* heap)
  43445. {
  43446. #ifndef FP_ECC
  43447. return sp_384_ecc_mulmod_win_add_sub_6(r, g, k, map, ct, heap);
  43448. #else
  43449. sp_digit tmp[2 * 6 * 7];
  43450. sp_cache_384_t* cache;
  43451. int err = MP_OKAY;
  43452. #ifndef HAVE_THREAD_LS
  43453. if (initCacheMutex_384 == 0) {
  43454. wc_InitMutex(&sp_cache_384_lock);
  43455. initCacheMutex_384 = 1;
  43456. }
  43457. if (wc_LockMutex(&sp_cache_384_lock) != 0)
  43458. err = BAD_MUTEX_E;
  43459. #endif /* HAVE_THREAD_LS */
  43460. if (err == MP_OKAY) {
  43461. sp_ecc_get_cache_384(g, &cache);
  43462. if (cache->cnt == 2)
  43463. sp_384_gen_stripe_table_6(g, cache->table, tmp, heap);
  43464. #ifndef HAVE_THREAD_LS
  43465. wc_UnLockMutex(&sp_cache_384_lock);
  43466. #endif /* HAVE_THREAD_LS */
  43467. if (cache->cnt < 2) {
  43468. err = sp_384_ecc_mulmod_win_add_sub_6(r, g, k, map, ct, heap);
  43469. }
  43470. else {
  43471. err = sp_384_ecc_mulmod_stripe_6(r, g, cache->table, k,
  43472. map, ct, heap);
  43473. }
  43474. }
  43475. return err;
  43476. #endif
  43477. }
  43478. #else
  43479. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  43480. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  43481. #ifdef FP_ECC
  43482. /* Generate the pre-computed table of points for the base point.
  43483. *
  43484. * width = 8
  43485. * 256 entries
  43486. * 48 bits between
  43487. *
  43488. * a The base point.
  43489. * table Place to store generated point data.
  43490. * tmp Temporary data.
  43491. * heap Heap to use for allocation.
  43492. */
  43493. static int sp_384_gen_stripe_table_6(const sp_point_384* a,
  43494. sp_table_entry_384* table, sp_digit* tmp, void* heap)
  43495. {
  43496. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43497. sp_point_384* t = NULL;
  43498. #else
  43499. sp_point_384 t[3];
  43500. #endif
  43501. sp_point_384* s1 = NULL;
  43502. sp_point_384* s2 = NULL;
  43503. int i;
  43504. int j;
  43505. int err = MP_OKAY;
  43506. (void)heap;
  43507. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43508. t = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 3, heap,
  43509. DYNAMIC_TYPE_ECC);
  43510. if (t == NULL)
  43511. err = MEMORY_E;
  43512. #endif
  43513. if (err == MP_OKAY) {
  43514. s1 = t + 1;
  43515. s2 = t + 2;
  43516. err = sp_384_mod_mul_norm_6(t->x, a->x, p384_mod);
  43517. }
  43518. if (err == MP_OKAY) {
  43519. err = sp_384_mod_mul_norm_6(t->y, a->y, p384_mod);
  43520. }
  43521. if (err == MP_OKAY) {
  43522. err = sp_384_mod_mul_norm_6(t->z, a->z, p384_mod);
  43523. }
  43524. if (err == MP_OKAY) {
  43525. t->infinity = 0;
  43526. sp_384_proj_to_affine_6(t, tmp);
  43527. XMEMCPY(s1->z, p384_norm_mod, sizeof(p384_norm_mod));
  43528. s1->infinity = 0;
  43529. XMEMCPY(s2->z, p384_norm_mod, sizeof(p384_norm_mod));
  43530. s2->infinity = 0;
  43531. /* table[0] = {0, 0, infinity} */
  43532. XMEMSET(&table[0], 0, sizeof(sp_table_entry_384));
  43533. /* table[1] = Affine version of 'a' in Montgomery form */
  43534. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  43535. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  43536. for (i=1; i<8; i++) {
  43537. sp_384_proj_point_dbl_n_6(t, 48, tmp);
  43538. sp_384_proj_to_affine_6(t, tmp);
  43539. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  43540. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  43541. }
  43542. for (i=1; i<8; i++) {
  43543. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  43544. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  43545. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  43546. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  43547. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  43548. sp_384_proj_point_add_qz1_6(t, s1, s2, tmp);
  43549. sp_384_proj_to_affine_6(t, tmp);
  43550. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  43551. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  43552. }
  43553. }
  43554. }
  43555. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43556. if (t != NULL)
  43557. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  43558. #endif
  43559. return err;
  43560. }
  43561. #endif /* FP_ECC */
  43562. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  43563. #ifndef WC_NO_CACHE_RESISTANT
  43564. /* Touch each possible entry that could be being copied.
  43565. *
  43566. * r Point to copy into.
  43567. * table Table - start of the entires to access
  43568. * idx Index of entry to retrieve.
  43569. */
  43570. static void sp_384_get_entry_256_6(sp_point_384* r,
  43571. const sp_table_entry_384* table, int idx)
  43572. {
  43573. int i;
  43574. sp_digit mask;
  43575. r->x[0] = 0;
  43576. r->x[1] = 0;
  43577. r->x[2] = 0;
  43578. r->x[3] = 0;
  43579. r->x[4] = 0;
  43580. r->x[5] = 0;
  43581. r->y[0] = 0;
  43582. r->y[1] = 0;
  43583. r->y[2] = 0;
  43584. r->y[3] = 0;
  43585. r->y[4] = 0;
  43586. r->y[5] = 0;
  43587. for (i = 1; i < 256; i++) {
  43588. mask = 0 - (i == idx);
  43589. r->x[0] |= mask & table[i].x[0];
  43590. r->x[1] |= mask & table[i].x[1];
  43591. r->x[2] |= mask & table[i].x[2];
  43592. r->x[3] |= mask & table[i].x[3];
  43593. r->x[4] |= mask & table[i].x[4];
  43594. r->x[5] |= mask & table[i].x[5];
  43595. r->y[0] |= mask & table[i].y[0];
  43596. r->y[1] |= mask & table[i].y[1];
  43597. r->y[2] |= mask & table[i].y[2];
  43598. r->y[3] |= mask & table[i].y[3];
  43599. r->y[4] |= mask & table[i].y[4];
  43600. r->y[5] |= mask & table[i].y[5];
  43601. }
  43602. }
  43603. #endif /* !WC_NO_CACHE_RESISTANT */
  43604. /* Multiply the point by the scalar and return the result.
  43605. * If map is true then convert result to affine coordinates.
  43606. *
  43607. * Stripe implementation.
  43608. * Pre-generated: 2^0, 2^48, ...
  43609. * Pre-generated: products of all combinations of above.
  43610. * 8 doubles and adds (with qz=1)
  43611. *
  43612. * r Resulting point.
  43613. * k Scalar to multiply by.
  43614. * table Pre-computed table.
  43615. * map Indicates whether to convert result to affine.
  43616. * ct Constant time required.
  43617. * heap Heap to use for allocation.
  43618. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  43619. */
  43620. static int sp_384_ecc_mulmod_stripe_6(sp_point_384* r, const sp_point_384* g,
  43621. const sp_table_entry_384* table, const sp_digit* k, int map,
  43622. int ct, void* heap)
  43623. {
  43624. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43625. sp_point_384* rt = NULL;
  43626. sp_digit* t = NULL;
  43627. #else
  43628. sp_point_384 rt[2];
  43629. sp_digit t[2 * 6 * 6];
  43630. #endif
  43631. sp_point_384* p = NULL;
  43632. int i;
  43633. int j;
  43634. int y;
  43635. int x;
  43636. int err = MP_OKAY;
  43637. (void)g;
  43638. /* Constant time used for cache attack resistance implementation. */
  43639. (void)ct;
  43640. (void)heap;
  43641. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43642. rt = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  43643. DYNAMIC_TYPE_ECC);
  43644. if (rt == NULL)
  43645. err = MEMORY_E;
  43646. if (err == MP_OKAY) {
  43647. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6, heap,
  43648. DYNAMIC_TYPE_ECC);
  43649. if (t == NULL)
  43650. err = MEMORY_E;
  43651. }
  43652. #endif
  43653. if (err == MP_OKAY) {
  43654. p = rt + 1;
  43655. XMEMCPY(p->z, p384_norm_mod, sizeof(p384_norm_mod));
  43656. XMEMCPY(rt->z, p384_norm_mod, sizeof(p384_norm_mod));
  43657. y = 0;
  43658. x = 47;
  43659. for (j=0; j<8; j++) {
  43660. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  43661. x += 48;
  43662. }
  43663. #ifndef WC_NO_CACHE_RESISTANT
  43664. if (ct) {
  43665. sp_384_get_entry_256_6(rt, table, y);
  43666. } else
  43667. #endif
  43668. {
  43669. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  43670. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  43671. }
  43672. rt->infinity = !y;
  43673. for (i=46; i>=0; i--) {
  43674. y = 0;
  43675. x = i;
  43676. for (j=0; j<8; j++) {
  43677. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  43678. x += 48;
  43679. }
  43680. sp_384_proj_point_dbl_6(rt, rt, t);
  43681. #ifndef WC_NO_CACHE_RESISTANT
  43682. if (ct) {
  43683. sp_384_get_entry_256_6(p, table, y);
  43684. }
  43685. else
  43686. #endif
  43687. {
  43688. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  43689. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  43690. }
  43691. p->infinity = !y;
  43692. sp_384_proj_point_add_qz1_6(rt, rt, p, t);
  43693. }
  43694. if (map != 0) {
  43695. sp_384_map_6(r, rt, t);
  43696. }
  43697. else {
  43698. XMEMCPY(r, rt, sizeof(sp_point_384));
  43699. }
  43700. }
  43701. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43702. if (t != NULL)
  43703. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  43704. if (rt != NULL)
  43705. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  43706. #endif
  43707. return err;
  43708. }
  43709. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  43710. #ifdef FP_ECC
  43711. #ifndef FP_ENTRIES
  43712. #define FP_ENTRIES 16
  43713. #endif
  43714. /* Cache entry - holds precomputation tables for a point. */
  43715. typedef struct sp_cache_384_t {
  43716. /* X ordinate of point that table was generated from. */
  43717. sp_digit x[6];
  43718. /* Y ordinate of point that table was generated from. */
  43719. sp_digit y[6];
  43720. /* Precomputation table for point. */
  43721. sp_table_entry_384 table[256];
  43722. /* Count of entries in table. */
  43723. uint32_t cnt;
  43724. /* Point and table set in entry. */
  43725. int set;
  43726. } sp_cache_384_t;
  43727. /* Cache of tables. */
  43728. static THREAD_LS_T sp_cache_384_t sp_cache_384[FP_ENTRIES];
  43729. /* Index of last entry in cache. */
  43730. static THREAD_LS_T int sp_cache_384_last = -1;
  43731. /* Cache has been initialized. */
  43732. static THREAD_LS_T int sp_cache_384_inited = 0;
  43733. #ifndef HAVE_THREAD_LS
  43734. static volatile int initCacheMutex_384 = 0;
  43735. static wolfSSL_Mutex sp_cache_384_lock;
  43736. #endif
  43737. /* Get the cache entry for the point.
  43738. *
  43739. * g [in] Point scalar multipling.
  43740. * cache [out] Cache table to use.
  43741. */
  43742. static void sp_ecc_get_cache_384(const sp_point_384* g, sp_cache_384_t** cache)
  43743. {
  43744. int i;
  43745. int j;
  43746. uint32_t least;
  43747. if (sp_cache_384_inited == 0) {
  43748. for (i=0; i<FP_ENTRIES; i++) {
  43749. sp_cache_384[i].set = 0;
  43750. }
  43751. sp_cache_384_inited = 1;
  43752. }
  43753. /* Compare point with those in cache. */
  43754. for (i=0; i<FP_ENTRIES; i++) {
  43755. if (!sp_cache_384[i].set)
  43756. continue;
  43757. if (sp_384_cmp_equal_6(g->x, sp_cache_384[i].x) &
  43758. sp_384_cmp_equal_6(g->y, sp_cache_384[i].y)) {
  43759. sp_cache_384[i].cnt++;
  43760. break;
  43761. }
  43762. }
  43763. /* No match. */
  43764. if (i == FP_ENTRIES) {
  43765. /* Find empty entry. */
  43766. i = (sp_cache_384_last + 1) % FP_ENTRIES;
  43767. for (; i != sp_cache_384_last; i=(i+1)%FP_ENTRIES) {
  43768. if (!sp_cache_384[i].set) {
  43769. break;
  43770. }
  43771. }
  43772. /* Evict least used. */
  43773. if (i == sp_cache_384_last) {
  43774. least = sp_cache_384[0].cnt;
  43775. for (j=1; j<FP_ENTRIES; j++) {
  43776. if (sp_cache_384[j].cnt < least) {
  43777. i = j;
  43778. least = sp_cache_384[i].cnt;
  43779. }
  43780. }
  43781. }
  43782. XMEMCPY(sp_cache_384[i].x, g->x, sizeof(sp_cache_384[i].x));
  43783. XMEMCPY(sp_cache_384[i].y, g->y, sizeof(sp_cache_384[i].y));
  43784. sp_cache_384[i].set = 1;
  43785. sp_cache_384[i].cnt = 1;
  43786. }
  43787. *cache = &sp_cache_384[i];
  43788. sp_cache_384_last = i;
  43789. }
  43790. #endif /* FP_ECC */
  43791. /* Multiply the base point of P384 by the scalar and return the result.
  43792. * If map is true then convert result to affine coordinates.
  43793. *
  43794. * r Resulting point.
  43795. * g Point to multiply.
  43796. * k Scalar to multiply by.
  43797. * map Indicates whether to convert result to affine.
  43798. * ct Constant time required.
  43799. * heap Heap to use for allocation.
  43800. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  43801. */
  43802. static int sp_384_ecc_mulmod_6(sp_point_384* r, const sp_point_384* g, const sp_digit* k,
  43803. int map, int ct, void* heap)
  43804. {
  43805. #ifndef FP_ECC
  43806. return sp_384_ecc_mulmod_win_add_sub_6(r, g, k, map, ct, heap);
  43807. #else
  43808. sp_digit tmp[2 * 6 * 7];
  43809. sp_cache_384_t* cache;
  43810. int err = MP_OKAY;
  43811. #ifndef HAVE_THREAD_LS
  43812. if (initCacheMutex_384 == 0) {
  43813. wc_InitMutex(&sp_cache_384_lock);
  43814. initCacheMutex_384 = 1;
  43815. }
  43816. if (wc_LockMutex(&sp_cache_384_lock) != 0)
  43817. err = BAD_MUTEX_E;
  43818. #endif /* HAVE_THREAD_LS */
  43819. if (err == MP_OKAY) {
  43820. sp_ecc_get_cache_384(g, &cache);
  43821. if (cache->cnt == 2)
  43822. sp_384_gen_stripe_table_6(g, cache->table, tmp, heap);
  43823. #ifndef HAVE_THREAD_LS
  43824. wc_UnLockMutex(&sp_cache_384_lock);
  43825. #endif /* HAVE_THREAD_LS */
  43826. if (cache->cnt < 2) {
  43827. err = sp_384_ecc_mulmod_win_add_sub_6(r, g, k, map, ct, heap);
  43828. }
  43829. else {
  43830. err = sp_384_ecc_mulmod_stripe_6(r, g, cache->table, k,
  43831. map, ct, heap);
  43832. }
  43833. }
  43834. return err;
  43835. #endif
  43836. }
  43837. #endif /* !WC_NO_CACHE_RESISTANT */
  43838. /* Multiply the point by the scalar and return the result.
  43839. * If map is true then convert result to affine coordinates.
  43840. *
  43841. * km Scalar to multiply by.
  43842. * p Point to multiply.
  43843. * r Resulting point.
  43844. * map Indicates whether to convert result to affine.
  43845. * heap Heap to use for allocation.
  43846. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  43847. */
  43848. int sp_ecc_mulmod_384(const mp_int* km, const ecc_point* gm, ecc_point* r,
  43849. int map, void* heap)
  43850. {
  43851. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43852. sp_point_384* point = NULL;
  43853. sp_digit* k = NULL;
  43854. #else
  43855. sp_point_384 point[1];
  43856. sp_digit k[6];
  43857. #endif
  43858. int err = MP_OKAY;
  43859. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43860. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384), heap,
  43861. DYNAMIC_TYPE_ECC);
  43862. if (point == NULL)
  43863. err = MEMORY_E;
  43864. if (err == MP_OKAY) {
  43865. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6, heap,
  43866. DYNAMIC_TYPE_ECC);
  43867. if (k == NULL)
  43868. err = MEMORY_E;
  43869. }
  43870. #endif
  43871. if (err == MP_OKAY) {
  43872. sp_384_from_mp(k, 6, km);
  43873. sp_384_point_from_ecc_point_6(point, gm);
  43874. err = sp_384_ecc_mulmod_6(point, point, k, map, 1, heap);
  43875. }
  43876. if (err == MP_OKAY) {
  43877. err = sp_384_point_to_ecc_point_6(point, r);
  43878. }
  43879. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43880. if (k != NULL)
  43881. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  43882. if (point != NULL)
  43883. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  43884. #endif
  43885. return err;
  43886. }
  43887. /* Multiply the point by the scalar, add point a and return the result.
  43888. * If map is true then convert result to affine coordinates.
  43889. *
  43890. * km Scalar to multiply by.
  43891. * p Point to multiply.
  43892. * am Point to add to scalar mulitply result.
  43893. * inMont Point to add is in montgomery form.
  43894. * r Resulting point.
  43895. * map Indicates whether to convert result to affine.
  43896. * heap Heap to use for allocation.
  43897. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  43898. */
  43899. int sp_ecc_mulmod_add_384(const mp_int* km, const ecc_point* gm,
  43900. const ecc_point* am, int inMont, ecc_point* r, int map, void* heap)
  43901. {
  43902. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43903. sp_point_384* point = NULL;
  43904. sp_digit* k = NULL;
  43905. #else
  43906. sp_point_384 point[2];
  43907. sp_digit k[6 + 6 * 2 * 6];
  43908. #endif
  43909. sp_point_384* addP = NULL;
  43910. sp_digit* tmp = NULL;
  43911. int err = MP_OKAY;
  43912. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43913. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  43914. DYNAMIC_TYPE_ECC);
  43915. if (point == NULL)
  43916. err = MEMORY_E;
  43917. if (err == MP_OKAY) {
  43918. k = (sp_digit*)XMALLOC(
  43919. sizeof(sp_digit) * (6 + 6 * 2 * 6), heap,
  43920. DYNAMIC_TYPE_ECC);
  43921. if (k == NULL)
  43922. err = MEMORY_E;
  43923. }
  43924. #endif
  43925. if (err == MP_OKAY) {
  43926. addP = point + 1;
  43927. tmp = k + 6;
  43928. sp_384_from_mp(k, 6, km);
  43929. sp_384_point_from_ecc_point_6(point, gm);
  43930. sp_384_point_from_ecc_point_6(addP, am);
  43931. }
  43932. if ((err == MP_OKAY) && (!inMont)) {
  43933. err = sp_384_mod_mul_norm_6(addP->x, addP->x, p384_mod);
  43934. }
  43935. if ((err == MP_OKAY) && (!inMont)) {
  43936. err = sp_384_mod_mul_norm_6(addP->y, addP->y, p384_mod);
  43937. }
  43938. if ((err == MP_OKAY) && (!inMont)) {
  43939. err = sp_384_mod_mul_norm_6(addP->z, addP->z, p384_mod);
  43940. }
  43941. if (err == MP_OKAY) {
  43942. err = sp_384_ecc_mulmod_6(point, point, k, 0, 0, heap);
  43943. }
  43944. if (err == MP_OKAY) {
  43945. sp_384_proj_point_add_6(point, point, addP, tmp);
  43946. if (map) {
  43947. sp_384_map_6(point, point, tmp);
  43948. }
  43949. err = sp_384_point_to_ecc_point_6(point, r);
  43950. }
  43951. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  43952. if (k != NULL)
  43953. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  43954. if (point != NULL)
  43955. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  43956. #endif
  43957. return err;
  43958. }
  43959. #ifdef WOLFSSL_SP_SMALL
  43960. #ifndef WC_NO_CACHE_RESISTANT
  43961. /* Striping precomputation table.
  43962. * 6 points combined into a table of 64 points.
  43963. * Distance of 64 between points.
  43964. */
  43965. static const sp_table_entry_384 p384_table[64] = {
  43966. /* 0 */
  43967. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  43968. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  43969. /* 1 */
  43970. { { 0x3dd0756649c0b528L,0x20e378e2a0d6ce38L,0x879c3afc541b4d6eL,
  43971. 0x6454868459a30effL,0x812ff723614ede2bL,0x4d3aadc2299e1513L },
  43972. { 0x23043dad4b03a4feL,0xa1bfa8bf7bb4a9acL,0x8bade7562e83b050L,
  43973. 0xc6c3521968f4ffd9L,0xdd8002263969a840L,0x2b78abc25a15c5e9L } },
  43974. /* 2 */
  43975. { { 0xa54768dab1b43eefL,0x13e41f47e14fda22L,0x774df203faef6863L,
  43976. 0xf795a034bd7471b3L,0xf0958718b47de2e9L,0xc92f7888e1160cffL },
  43977. { 0x86ded97b0146c790L,0x015918f5480a4b7bL,0x05588920424e8459L,
  43978. 0x37455914eecf8b2bL,0xe7d3df1fb968a6faL,0x07a0ffd6bad0719fL } },
  43979. /* 3 */
  43980. { { 0xda37cd535c54db6fL,0x0e37890a91f06c5cL,0x1730ef7be7ae7db5L,
  43981. 0x2b3dcd51ff045f54L,0xf5db3c3c72cc8451L,0x3165d6efcf0c185cL },
  43982. { 0x177c4f6bf5958d78L,0xcb29d22f8d676a9fL,0x3bcf0068792ac96dL,
  43983. 0x60d1c6b719df5641L,0x426e412a68a099f8L,0xf9ca0c5c9f74d52bL } },
  43984. /* 4 */
  43985. { { 0xf186d6bcc88d568aL,0x872bc4c7528535ddL,0xc9e7432edfe64dc3L,
  43986. 0xd9fc4832d795ea57L,0xf4ffdb81c845af2bL,0x66d7e7882b670517L },
  43987. { 0xa7c1be04d7b7a1c6L,0xbed88479d5b2a249L,0x62ff8aba03f2ef6dL,
  43988. 0x60ecaac420dc701dL,0x9f4b559f4ff10119L,0x0582c9313cd54fd0L } },
  43989. /* 5 */
  43990. { { 0x394fb84de86e3f64L,0xfe4a36e7ff13314eL,0xa1e44b14dc261ec2L,
  43991. 0x3924e50a7420408fL,0x637e330242ed7626L,0xeb657b10fd711ba4L },
  43992. { 0xc16d01c5340949bbL,0x30e043267f1f42c7L,0xe7465819b056d872L,
  43993. 0x3386f1c6886fb3dbL,0x5be463a5be56f774L,0xa96fd3b74694e15aL } },
  43994. /* 6 */
  43995. { { 0x95dd5ee5a98b4254L,0xea328205aa845e67L,0x98640fb5a1e36348L,
  43996. 0xd1bc5c251add5ee7L,0xc3158a423d11b799L,0x5feb68ed47c83d54L },
  43997. { 0x7c5a1204963a207bL,0x2f2b2c7eee4671f8L,0xb63d291cd42867a6L,
  43998. 0x0b073620139530f4L,0xbe149492abb05b99L,0x21417da455accd2aL } },
  43999. /* 7 */
  44000. { { 0x9408555e9e5eba15L,0x416250137b7572c5L,0xfa53ee50bfff6ea7L,
  44001. 0x3d682de1e7b178c3L,0xb3e8769dec329f53L,0x1ab8c82e9eb524f4L },
  44002. { 0x5bbd538dde2f1eb9L,0x1d1b0bea2b19c51eL,0xf785f9b98cb06eeeL,
  44003. 0x5cff29c6f58f21d5L,0x44aaa52245cbaef3L,0xd60c19427de40246L } },
  44004. /* 8 */
  44005. { { 0x378205de2f9fbe67L,0xc4afcb837f728e44L,0xdbcec06c682e00f1L,
  44006. 0xf2a145c3114d5423L,0xa01d98747a52463eL,0xfc0935b17d717b0aL },
  44007. { 0x9653bc4fd4d01f95L,0x9aa83ea89560ad34L,0xf77943dcaf8e3f3fL,
  44008. 0x70774a10e86fe16eL,0x6b62e6f1bf9ffdcfL,0x8a72f39e588745c9L } },
  44009. /* 9 */
  44010. { { 0x73ade4da2341c342L,0xdd326e54ea704422L,0x336c7d983741cef3L,
  44011. 0x1eafa00d59e61549L,0xcd3ed892bd9a3efdL,0x03faf26cc5c6c7e4L },
  44012. { 0x087e2fcf3045f8acL,0x14a65532174f1e73L,0x2cf84f28fe0af9a7L,
  44013. 0xddfd7a842cdc935bL,0x4c0f117b6929c895L,0x356572d64c8bcfccL } },
  44014. /* 10 */
  44015. { { 0x984a6aed6420bc66L,0x6d90e0e0896a24a6L,0xe0adb93a18713003L,
  44016. 0xf00d424c1a8369fcL,0x636ebf14712ae802L,0xee39ff8ebe9d739aL },
  44017. { 0xb330dd3e94f6d1dcL,0x6ba6780eb7731cf8L,0x4e569408198be5a2L,
  44018. 0x6639523b0193a22cL,0x6978cc9d91aa1455L,0x62062d8f329f9763L } },
  44019. /* 11 */
  44020. { { 0x7159107d80efff78L,0xf8ed5f8e8e4c39d5L,0x64a2265cc15e679cL,
  44021. 0xfc514e17a6d96c81L,0x59c86545f093e0a8L,0x804b0a588b5a336aL },
  44022. { 0x94c32118cb9dcbcaL,0x2deb0e385d45251dL,0xd1092b0986869572L,
  44023. 0x073bf838fb2e9f97L,0x76b6d7d6de700fcbL,0xd2a6d110f2ddce5fL } },
  44024. /* 12 */
  44025. { { 0x6da7ccd0229de19eL,0x5050d45df0aa039dL,0xf9f01d68d9e7a861L,
  44026. 0x6d8b9f2000aa05f2L,0xae3d9698742cd4d9L,0x43e477abd560c394L },
  44027. { 0x73d594991cb6dd81L,0x689162b2fac3f62eL,0xd6187ca864d1d0d5L,
  44028. 0xe8421a0d2f067457L,0x9b266acbea7c3a8dL,0x707e0e6e44df5cb3L } },
  44029. /* 13 */
  44030. { { 0x604b2a1a026511a0L,0xd4f6cf16256f4076L,0x7d823347b315a642L,
  44031. 0x8f805833786aa438L,0x9883df85f04bb4b3L,0x02bc10305bba6d84L },
  44032. { 0xfe39a024a72c03acL,0xa980db635f2dbfd0L,0xcd53149f4f259ec6L,
  44033. 0xe969079b43f53f97L,0xd3849fdb42f9f27cL,0xd2cfd3f842653dc9L } },
  44034. /* 14 */
  44035. { { 0xbf69fe6a6abe7d80L,0x4932288192bb50e2L,0xc9e2f7fb61e8b18dL,
  44036. 0x24c74788f6c82421L,0xe79e5e3011c0b244L,0xd6612c70e0484571L },
  44037. { 0x7863ff927ef82d17L,0x692790feb0a1b01cL,0xa2d6ffb5afe51546L,
  44038. 0xacdb43f26cf550c6L,0x3b3243dfaecfaf8fL,0x9557335ac233bcd9L } },
  44039. /* 15 */
  44040. { { 0x25e08c8faff5b387L,0x112c11e2d06208ceL,0x61031c1765234214L,
  44041. 0xba06f5550514764dL,0xfaacf6f39bd197d0L,0xe4b032321464a57fL },
  44042. { 0x00c19adfe35dcd69L,0x81b75730a1c2646cL,0x47baa4fee0c50e32L,
  44043. 0xe9297832bcaddb3bL,0x1768d2f9d712c6cfL,0xfcef29fdb82e9eeaL } },
  44044. /* 16 */
  44045. { { 0xdbe04c3044ce3ad8L,0x995fbb1b4ce8aad5L,0xdbf8b54670911457L,
  44046. 0x9e683b5b3f7a1757L,0x7b89a08a9c7bd62cL,0x448865a40b3fc97eL },
  44047. { 0x0ac9abfc3bb01e94L,0xa07760421e756124L,0x0aa6c335d9deed97L,
  44048. 0xe270580f72603e08L,0x70857a946c783bb2L,0xa0047774caa929aeL } },
  44049. /* 17 */
  44050. { { 0x56211190a353e889L,0x052917c3190eb198L,0xadfd85b03eee3d12L,
  44051. 0xde1d761779fd9c91L,0x05be51b7bf500159L,0x271f07178fcb87f1L },
  44052. { 0x02673e273a75ac71L,0xb1b7246eda12da8dL,0xb25647928f5fb8c0L,
  44053. 0x0a22cbe1063b1d7fL,0xb0d7a7365649976eL,0x8f8e6e289e96b15dL } },
  44054. /* 18 */
  44055. { { 0x8fc113f98312351cL,0xe837b9e0c5eff002L,0x7cb9ef074dad72fcL,
  44056. 0x18a8d43eb5eb7ee3L,0x2cf3ae844925efdbL,0x376e9e857756ec6aL },
  44057. { 0xf77a79c8a3e3705fL,0x2d590b7d6c5fbab3L,0xa59713e27a4766c3L,
  44058. 0xb5da6a6861544174L,0xadb04a8adab1fe76L,0x03b6138d375143b4L } },
  44059. /* 19 */
  44060. { { 0x20d88a80c1bfa043L,0x88806999672583ceL,0x195a89eaaea9b605L,
  44061. 0x0b9b4e8532bac07bL,0x8279965683868df6L,0x83c58afab52711a9L },
  44062. { 0xb895c13d1c869283L,0x00f98d046206dde6L,0x76caaa22884bf311L,
  44063. 0x22b2137f995b29a5L,0x7f645809b098b07bL,0xa540c8a6050e2552L } },
  44064. /* 20 */
  44065. { { 0x47980509e562d904L,0xe736f89d031e112cL,0xbc6bfb0765d8ae25L,
  44066. 0xe9ed4cc4ca459646L,0xf540e90e2fff67ffL,0x836280eb1a314e11L },
  44067. { 0xa710b25041610627L,0xefc22b1573a9f9a2L,0x60f20789456498c0L,
  44068. 0x417920438052f4e7L,0x5c850903d5c0e80dL,0x52df5275bf1d8815L } },
  44069. /* 21 */
  44070. { { 0x25539de98ece218dL,0xb36574a8dca420baL,0x9d1812680e0d07feL,
  44071. 0xea79a5f5ad3ed34fL,0x8b739ad57c9277cfL,0xd88659886ee9a930L },
  44072. { 0xaf07bfb621591a3eL,0xe0138c6508f3524fL,0xd3128f1297ee315eL,
  44073. 0x67f8641e21045f63L,0x3e1a96b140c73a2dL,0x8976b70305f51122L } },
  44074. /* 22 */
  44075. { { 0xdeaf635731960db4L,0x680b054e5948d7f7L,0x0841e40fd272bb5cL,
  44076. 0x94d37db26e36117dL,0xaf2d001547f63ec8L,0x82665cdc47493309L },
  44077. { 0xfe90e844abbe3851L,0x8357709afb79bc0cL,0x811a64d2b6bcc044L,
  44078. 0x1937c988882b3415L,0xe8b28724e267b271L,0x84d1eed0af89ed33L } },
  44079. /* 23 */
  44080. { { 0x52b8234f54c894a7L,0xfe54146fa2d11b70L,0x6412b5eb0aab6097L,
  44081. 0xa62499906a13a9daL,0xd2b1eb50adc448caL,0xe7ab51f9b115ab92L },
  44082. { 0x4638ee62e76551d8L,0x74c3c1e1afe9c98dL,0x59000ad060d77322L,
  44083. 0x0a4b105ba06adc9aL,0xcdaeb4a496a6f616L,0x8c79c4a1864b49dcL } },
  44084. /* 24 */
  44085. { { 0xc09c32d1c0b1bf15L,0x005d510f88d74e44L,0x031f9a9afc2c089eL,
  44086. 0x08aac7294ba183f0L,0xf227a7ceaf2245ebL,0xb4ec33cbb3a864ffL },
  44087. { 0xdb76decd570a24f3L,0xea59387a12283a9eL,0x81b7c569341ef9a4L,
  44088. 0xad7c98bd8d77833aL,0x2182133b49ca80ffL,0x1de1d456085802b7L } },
  44089. /* 25 */
  44090. { { 0xeead25b2e1c02860L,0xb2ae43694ff42d2eL,0x4b39a2ddfd61c1b0L,
  44091. 0x29c826ea968718a5L,0x877fdf15d9751a0aL,0x00b321dfb54affdfL },
  44092. { 0x3c7c0778d4d5dbf7L,0x858a0fdccfc47423L,0xbd8e6544185b3063L,
  44093. 0xa22c3ef62da46a04L,0x5c2d84016a6c0ce1L,0x260246eddd6329aeL } },
  44094. /* 26 */
  44095. { { 0x71753fc00c6463f6L,0x7ec14c015c6c9e33L,0x28b9ab9441ce6153L,
  44096. 0x3a1ac251a6702c8dL,0x2b124bc49ed6cb1fL,0x7a11c4be4fc7383fL },
  44097. { 0x1414913509fac991L,0xf7c188d3cb1ee336L,0x754bc47391c3f406L,
  44098. 0x71d34587cad39500L,0x213dd1a7dd0399a1L,0x8457a8f671d05899L } },
  44099. /* 27 */
  44100. { { 0xa921ca662e9c06d3L,0x1d8974e89ba6521fL,0xbb465c775f79f791L,
  44101. 0x8f983f083a3954c8L,0x8492f8398b3935dcL,0x2b87d9c290c04426L },
  44102. { 0xcec76ea403e60a28L,0x648e9830aa631308L,0x7b542f791eb86b73L,
  44103. 0xfc8cc9a3150d854dL,0x2be86940bfcc83feL,0x2e58a13ac88c7585L } },
  44104. /* 28 */
  44105. { { 0x19249a8fd1bc237fL,0xdec1c6a563505555L,0xc8256977bad2a93bL,
  44106. 0x78533659fc598170L,0x888a6578ee7e53cbL,0x28783b0e33766db3L },
  44107. { 0xcf791e56e42c28f2L,0xfbf8dde8f9c37f4cL,0xf0ffaf1712c05395L,
  44108. 0xd27d21e9daf2f012L,0xf90432da9a7be009L,0xa459c036a8012f28L } },
  44109. /* 29 */
  44110. { { 0x4d99a7cac8b1c6d4L,0x8088818825c899c0L,0xbd27e9be2ebdeb3dL,
  44111. 0x73c3e0aa054e77c1L,0x180c848498534ce5L,0x750d52f754ffa9cdL },
  44112. { 0x5f26eeb16f702f4cL,0x427fc6e4cc76d8f4L,0x93126b8d026b631dL,
  44113. 0x5356b93917e145a7L,0xc79ca872c0be7c84L,0x3fca7cad4b615fb7L } },
  44114. /* 30 */
  44115. { { 0xed48fe78d0241021L,0x252b14a0142f7f8eL,0x19ab85c6db573a09L,
  44116. 0x546c3960f3df906fL,0xc688f4b22c810ea8L,0xbccf0cca5ff9e108L },
  44117. { 0x34f4609e3f2cc69bL,0xf3b1efe414afe4f4L,0x5d809cef37a8ef74L,
  44118. 0xa8d1978a176ba328L,0x75dde11fdf59ecb9L,0x34eeeaffa9916ee2L } },
  44119. /* 31 */
  44120. { { 0xe7f603f248e83c85L,0xa94a539cfa581815L,0x5a61a596dba360b7L,
  44121. 0x6cc51dd16a77ef79L,0x4ff36ae0fdbceb9dL,0xfcff65323e8a9c07L },
  44122. { 0x0ba0ce5436d4d0b8L,0x98087a452464efc2L,0xd456843bcc1a2ba7L,
  44123. 0x677384a53853e04cL,0x625d32d56c7971deL,0x86882509f724b331L } },
  44124. /* 32 */
  44125. { { 0xc20fb9111a42e5e7L,0x075a678b81d12863L,0x12bcbc6a5cc0aa89L,
  44126. 0x5279c6ab4fb9f01eL,0xbc8e178911ae1b89L,0xae74a706c290003cL },
  44127. { 0x9949d6ec79df3f45L,0xba18e26296c8d37fL,0x68de6ee2dd2275bfL,
  44128. 0xa9e4fff8c419f1d5L,0xbc759ca4a52b5a40L,0xff18cbd863b0996dL } },
  44129. /* 33 */
  44130. { { 0x684a681892a5eeeaL,0x1f5b193242a09264L,0x30bd8695d98a2f34L,
  44131. 0x6e775e019a8601fcL,0x8126bdc24ca956f8L,0x149e73d9e5595daaL },
  44132. { 0x876428401f851e83L,0x4b8863dbd3a7c4a0L,0xe1e43b3d8c95d7d9L,
  44133. 0x7f1e307ea60fd528L,0xbf2fa5d134341610L,0x11ad4a8181c502d3L } },
  44134. /* 34 */
  44135. { { 0xc7df022e782dd401L,0xd15aa9a9a7bcc543L,0x6aa42774b94df1d0L,
  44136. 0xab2660c30592a13eL,0xaf4e40809ffc40c7L,0x01152c8d9cd52b10L },
  44137. { 0x649de1d99034a33aL,0x2b9d0ef0d758abfcL,0xdddd0bc2d458adddL,
  44138. 0xe5366ac9c09837f8L,0xa003abbb7b1ae35fL,0x880062887ab1fddeL } },
  44139. /* 35 */
  44140. { { 0x6b6c8f055288f1b4L,0xba05407c033738b4L,0x26cac3a941a955e3L,
  44141. 0x28f1692f8e0e0601L,0x2032cb36842c4887L,0x6adeba457d76b20fL },
  44142. { 0xd282c2ce654c6f5cL,0x30584ca5be9ba4f1L,0x45d766a01b2c528bL,
  44143. 0xe918bad7c0c6f8ccL,0x1e050b2a0560f070L,0x4fc95de12d6dd010L } },
  44144. /* 36 */
  44145. { { 0x2bb26072150191d5L,0xea2617618108dcf6L,0x4dfa1303e6083c63L,
  44146. 0xfa4e0709e2876fb8L,0xf901fed0b1668763L,0xf01c53aeb82c967aL },
  44147. { 0xb43e59d39ed827e8L,0xb58e157e57774eefL,0x57ee54e31b83dceeL,
  44148. 0x3d896f32613aa922L,0x69d40667b5c7bfc5L,0xd402b5cb77a2c0d8L } },
  44149. /* 37 */
  44150. { { 0xabeb70127d3c9923L,0x412ada8dd7ecb93aL,0xeb64dc910b71ae2fL,
  44151. 0x52ef537aa9ab061aL,0x0863970fc1b55faeL,0xfaff5fb9b1182dbdL },
  44152. { 0x5551d6fed0abaa17L,0x7bb3e02072d641f6L,0x939d7793aa9d288cL,
  44153. 0x1450f8bf9078e2c2L,0x24ccd102a086b6aeL,0x57d1796f6a3f8a5fL } },
  44154. /* 38 */
  44155. { { 0x1023120683ce1f76L,0xd16d4b9f03ee406fL,0x9d39c39883caa4b7L,
  44156. 0x875732f5ce299b93L,0x1e6a425d2f121f4aL,0x4b1f1d835d8c3279L },
  44157. { 0xe655f58856dd6a6cL,0x23f106475843fd34L,0x932b7d942bad6ce2L,
  44158. 0x70a0580e6772a52eL,0x3240118ac88537afL,0x9ccb2ca9d2407224L } },
  44159. /* 39 */
  44160. { { 0xa6a40db8710f2324L,0xb3567518c2a8a09aL,0x8816442841b5650aL,
  44161. 0x2a352ed27570ba50L,0x23ee46b94c85d77eL,0x643aceffd858a8c3L },
  44162. { 0xe067908de3f02e82L,0x8d5869f2ffb8cf81L,0x4713f0820bc8ad7eL,
  44163. 0xe1ee44c780057c40L,0xb34395087d2cf34eL,0x4307b0e10336a207L } },
  44164. /* 40 */
  44165. { { 0xe9c1e45746e4d003L,0xa23978c394332057L,0x0e2f300829575db6L,
  44166. 0x50a51ff490441e9eL,0x38ce3ed0508d4a07L,0x6a997411cfd7224eL },
  44167. { 0x4d147c31da6b1e1dL,0xedf604b2da8a3547L,0x7a1b8cf0d5e9ceedL,
  44168. 0xd74e501213544e6aL,0xcc49f8da4ad968f9L,0xfb87e604cc69ada9L } },
  44169. /* 41 */
  44170. { { 0xde79409bdf166882L,0xd645b836d46cc527L,0xda4a02f3b6c3eb28L,
  44171. 0x845e3c5900e7cf86L,0x733bdc9b604c6d80L,0xe3a1244b847acd97L },
  44172. { 0x421312d6d128842cL,0x81f71feaa1c598efL,0xc619465545eaf796L,
  44173. 0x1ffb85121f338b6cL,0xe7aed7106632f064L,0xf8d1ffb7f5b6e510L } },
  44174. /* 42 */
  44175. { { 0x7d3f031f3eace851L,0xef43ab7025923624L,0xbae811881af6cdecL,
  44176. 0xb7e93b49ea862112L,0xe35a4fc6af23aba2L,0xc52e1fc0aecc593eL },
  44177. { 0xbffa292428148b99L,0xd08040fc89e3d795L,0x7da320032db47b3aL,
  44178. 0xe78b44e5a0eb7aa3L,0xd1648ec8f0ec090bL,0x4048dba7740fe871L } },
  44179. /* 43 */
  44180. { { 0x6fddb89fa00a14acL,0x844f991508aa06e7L,0x6d5ac4a9f76aca7dL,
  44181. 0xfba1ba85e9fa4d51L,0x159633bbb2ea0fc7L,0xa2eb0e4b76ba2854L },
  44182. { 0x8a858155c11f5398L,0x30a96e535e8ea044L,0x696210c197e05a47L,
  44183. 0x86e55f9415036f4bL,0x0c93ea9c6a96d9d7L,0xb7ba506179eba3daL } },
  44184. /* 44 */
  44185. { { 0xd305c733cd94d7b2L,0x9ea33e363e7955b2L,0x78a98855bc73812fL,
  44186. 0xfb1b791d48a3a9a0L,0x6e5107ee04014aafL,0x0412b2c00ea07de0L },
  44187. { 0xdd3a2408ddcaca68L,0x5d18e69ae3344f29L,0x3ce65481f9017408L,
  44188. 0x50abb4568cbd64fbL,0x442fa5098916a9ebL,0x16b3ddc7c538c410L } },
  44189. /* 45 */
  44190. { { 0x6757dbfd25e331abL,0x0efde50ba3eaafbcL,0x1cd46222d531d29cL,
  44191. 0x1b713ca93561cb2bL,0x7d07334bfb5bc99dL,0x95dba43e885a417dL },
  44192. { 0x1c9c3f3f77823a59L,0x43533ba83220cb7fL,0x1b918bc182e3e401L,
  44193. 0x66a039aacd3fec87L,0x1d39dbb02dad36d5L,0x554025959dc04be4L } },
  44194. /* 46 */
  44195. { { 0xdf39920847744933L,0x4264f7ea82524dd6L,0xdb57ec08e5182c6dL,
  44196. 0x2d6778e705c5e7bfL,0x3f37793f96f53ea2L,0x6472cbae05c47e48L },
  44197. { 0x9e6dd60fbf78067cL,0xa2817ec2cef34088L,0xde4715b8168edde9L,
  44198. 0x6c57105146bf31e1L,0x98113fbbc4272bc0L,0x03bb7922cc3b90c3L } },
  44199. /* 47 */
  44200. { { 0xe0f23be157d88fefL,0x4125c55b0ca27a01L,0xeadf527e14a71262L,
  44201. 0x1f2e803ccc4e9a04L,0x32e07b47d68c4fcfL,0x1577fab79db5070bL },
  44202. { 0xd786d6e57831990aL,0xf64ff4b154fbde40L,0x4bac5b034f9450aeL,
  44203. 0x06ae25e055116af9L,0x33d84ea2d7b4fcfcL,0x44a92e73569c3b9eL } },
  44204. /* 48 */
  44205. { { 0xf5bdccbabad0cb7fL,0x370f43ca958edd05L,0x3dd8232b04904a26L,
  44206. 0x3f8106682f4458e8L,0xdfcb67b99b3ace7eL,0x54e42f2d3e1241fcL },
  44207. { 0xe30f3fb0db889300L,0x4ca0184b483e51fcL,0x5a32d097a638dac6L,
  44208. 0x567a2b5ec62a1db0L,0x2a756ba3c446456cL,0x6919026dd9f8d5c0L } },
  44209. /* 49 */
  44210. { { 0x7f6493fc4fec874aL,0x8bb8a674d47a0770L,0x90bad2a652bd4f0cL,
  44211. 0x16badbe2f5733b07L,0x93be07cf93a1f802L,0x1e37a01541c395f7L },
  44212. { 0xfe2c0fd6216582b3L,0xdcd98bc81627180dL,0x41e037268e8c9f1eL,
  44213. 0x93dbc22cfe8f45afL,0x5728c8a6ff45e059L,0x4f2f15cfca4a98cdL } },
  44214. /* 50 */
  44215. { { 0xdbe2ec5d656e7d76L,0x84ad1b4bae2757bbL,0xc9297e7a0d4fec75L,
  44216. 0xfcc673eecad3ba87L,0xb0f77621dfd1671aL,0x5c386e449704a8c7L },
  44217. { 0xce78f03f3e29256dL,0x0b185938c3a6ed2fL,0x7b1e2fae7824819bL,
  44218. 0x5a85d7f1f2d9313cL,0x238bd27973595b0fL,0x5fbf6b675c1cd2dcL } },
  44219. /* 51 */
  44220. { { 0x84d1ffb88a3e2412L,0xf01605926515f2feL,0x0e26ea9889905340L,
  44221. 0xbfd7a1b7203bd3d4L,0x5301273a88ea0bdaL,0x2f424475b28dd43eL },
  44222. { 0x31014a2b33c28afaL,0xffbdea0c01e220eaL,0x681c64e8460b81d5L,
  44223. 0xdbe6f7286a91e1d5L,0x068bf36332619ad5L,0x4946291f27976c74L } },
  44224. /* 52 */
  44225. { { 0xa081a9462068e4b0L,0x1a8f5df609bfdad0L,0x5fbba5bcef28dd35L,
  44226. 0xa3e60d4f031ff71eL,0x2d47689b702ca18eL,0xd283f247c9b8e66bL },
  44227. { 0x63e65dd7859ea140L,0x123da61f42aacdc3L,0xa8a9e893336f680cL,
  44228. 0x1cc4e12ac23d43acL,0x421e80d586a1fff8L,0x833d60d543deecc9L } },
  44229. /* 53 */
  44230. { { 0x3c25b57c29014f8fL,0xa19fcb1e35d8e122L,0x916c0e3ceda32ac8L,
  44231. 0x9a23d289f36b6096L,0x5099038439a39871L,0xdc5b77b661c64196L },
  44232. { 0x5a7d9917942bf2b6L,0xd21853934f41cf6dL,0x90ff1016fcc45c2fL,
  44233. 0x9891093deb8938aaL,0xe3c49b1baac4e6e9L,0x0f21a1d1d7a8e91eL } },
  44234. /* 54 */
  44235. { { 0x3a808e336f364b7eL,0x6a96d1b8bfa17359L,0x3387ec8552b36545L,
  44236. 0x2fde350af712180cL,0x9219d6f4703a2183L,0x8ba27e0086457946L },
  44237. { 0x7446bca0ed80a9afL,0xbaf78b6f7203637aL,0x0304129d497c9d0fL,
  44238. 0x6df1e0356a883b68L,0x93ea2bb5e8018c47L,0xc86fd77cdb46443cL } },
  44239. /* 55 */
  44240. { { 0x8de865d255dc2427L,0x74f7f83d6f72d126L,0xee1111786c7e665aL,
  44241. 0x272a8b3dddf44f12L,0xad3546449164eb4fL,0x2ffbdb586859d68fL },
  44242. { 0xbefd36c509701865L,0x63c256162c983d01L,0x15a7ba0b2eb68703L,
  44243. 0x3318a82b5bb0fafcL,0x8e930fa9a0804f38L,0xb7459eb6be60ed1dL } },
  44244. /* 56 */
  44245. { { 0xace01c514260b948L,0x04a6080f49210f78L,0x0d1eef6b2241b00dL,
  44246. 0x85a25069ef63912aL,0xcc96c4ec13dd8bc2L,0x90f14d1140d7e234L },
  44247. { 0xae33f18ca69c8dc3L,0x76921f2a9adfa431L,0x18158ccf048c9f49L,
  44248. 0x90bcf7fbfb8fb345L,0x0d50b4dc38b3ff5dL,0x3914ea0b59ef84a8L } },
  44249. /* 57 */
  44250. { { 0x4929d3f9d4e37cf3L,0x622183d1b24c24c0L,0x65cec0675f904d34L,
  44251. 0x65f9931a8a6f76faL,0xeed975b0e73282f2L,0xa045552a5e1625fdL },
  44252. { 0xfd6b3e02f8fe8e42L,0x5f9f40256203907cL,0x8307eedb42b2c264L,
  44253. 0x2fb3ee719f757e92L,0x4502f2ecdc157ea8L,0xd976e7755d1cc0d5L } },
  44254. /* 58 */
  44255. { { 0xe46fb9a28fe1946eL,0xe91df3ed63bdde6eL,0x2e995306e9c28432L,
  44256. 0x7b3a6fe10988235bL,0xc55199f077f92a71L,0x47dd034853cb7950L },
  44257. { 0xead52de2b727a6d1L,0xb87c9f75eea9c8daL,0xf3e2f3280d944f21L,
  44258. 0xce82734edd751eddL,0xfb83225ce616cedcL,0x15850e4b4a31eb49L } },
  44259. /* 59 */
  44260. { { 0x92c4b6d50196ad3aL,0x0205ea484e1205e4L,0x8e08a97c0afc5affL,
  44261. 0xda8687c6727827ebL,0x2eace83106e398aaL,0x3a086c0f6d69e4e8L },
  44262. { 0x5ff9b7aaf286e62aL,0xc428503962aae55eL,0x4ebd4258d9530a3fL,
  44263. 0x57ea313a8afc7fcbL,0x6d30a67522c18879L,0xd3c00cc994afb659L } },
  44264. /* 60 */
  44265. { { 0x53ee47c5dee0d48bL,0xbd9e84ad9dfa2397L,0x2d581e12f81ba5e2L,
  44266. 0x26269f4f132cd325L,0x9e6224df58860a5fL,0x9306c607ff55522aL },
  44267. { 0xb48af6d4146950e5L,0x09920ed00436805eL,0x3a1bc276cdce7eaeL,
  44268. 0x55ba728ac39a425eL,0x6a04d4e6d961d03eL,0x13891c66736e684aL } },
  44269. /* 61 */
  44270. { { 0x7c75175a04cd04d6L,0xb76f9bd909c27a17L,0xa0cff6d408e5fe36L,
  44271. 0xc9097695dcd5ef90L,0x26bea24585e28054L,0x658e03c61580f068L },
  44272. { 0x0da9f75e811eed27L,0x086e5e04aca0d2eeL,0xd4c157faa53a6787L,
  44273. 0x2e9266d2b40a595cL,0x8f1cb52698fa0820L,0x32a74240a1aef514L } },
  44274. /* 62 */
  44275. { { 0xeb42e3d91ae86e7cL,0xd6956c8ce04a5026L,0x4c0b8b980f4302ebL,
  44276. 0xde43c938b37211fdL,0x9fa6a158e7090f80L,0x5f3c9afc73c47fb6L },
  44277. { 0x2dc4f109f850a4d0L,0x56e63a4b6fd49d6aL,0x8e80a0694cbff048L,
  44278. 0x18d8b8cf2284afb0L,0x61dd086dc89363a1L,0x034c2202c37342a4L } },
  44279. /* 63 */
  44280. { { 0x1ae0c4e11c718580L,0x303f48a6bf99a0bfL,0xa5551e4491ae219fL,
  44281. 0xdc41d9bd55a05287L,0xd5aa73e36872b123L,0x6fd94b0ce6395bf6L },
  44282. { 0xbb95fdbac00afbc1L,0x9cd96208497cac10L,0x8adbd8c1ca51afeaL,
  44283. 0x94fedafbf3bc5f5fL,0x29c0217bdf9f5371L,0x5c13eb4bd9024634L } },
  44284. };
  44285. /* Multiply the base point of P384 by the scalar and return the result.
  44286. * If map is true then convert result to affine coordinates.
  44287. *
  44288. * Stripe implementation.
  44289. * Pre-generated: 2^0, 2^64, ...
  44290. * Pre-generated: products of all combinations of above.
  44291. * 6 doubles and adds (with qz=1)
  44292. *
  44293. * r Resulting point.
  44294. * k Scalar to multiply by.
  44295. * map Indicates whether to convert result to affine.
  44296. * ct Constant time required.
  44297. * heap Heap to use for allocation.
  44298. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  44299. */
  44300. static int sp_384_ecc_mulmod_base_6(sp_point_384* r, const sp_digit* k,
  44301. int map, int ct, void* heap)
  44302. {
  44303. return sp_384_ecc_mulmod_stripe_6(r, &p384_base, p384_table,
  44304. k, map, ct, heap);
  44305. }
  44306. #else
  44307. /* Striping precomputation table.
  44308. * 8 points combined into a table of 256 points.
  44309. * Distance of 48 between points.
  44310. */
  44311. static const sp_table_entry_384 p384_table[256] = {
  44312. /* 0 */
  44313. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  44314. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  44315. /* 1 */
  44316. { { 0x3dd0756649c0b528L,0x20e378e2a0d6ce38L,0x879c3afc541b4d6eL,
  44317. 0x6454868459a30effL,0x812ff723614ede2bL,0x4d3aadc2299e1513L },
  44318. { 0x23043dad4b03a4feL,0xa1bfa8bf7bb4a9acL,0x8bade7562e83b050L,
  44319. 0xc6c3521968f4ffd9L,0xdd8002263969a840L,0x2b78abc25a15c5e9L } },
  44320. /* 2 */
  44321. { { 0x298647532b0c535bL,0x90dd695370506296L,0x038cd6b4216ab9acL,
  44322. 0x3df9b7b7be12d76aL,0x13f4d9785f347bdbL,0x222c5c9c13e94489L },
  44323. { 0x5f8e796f2680dc64L,0x120e7cb758352417L,0x254b5d8ad10740b8L,
  44324. 0xc38b8efb5337dee6L,0xf688c2e194f02247L,0x7b5c75f36c25bc4cL } },
  44325. /* 3 */
  44326. { { 0xe26a3cc39edffea5L,0x35bbfd1c37d7e9fcL,0xf0e7700d9bde3ef6L,
  44327. 0x0380eb471a538f5aL,0x2e9da8bb05bf9eb3L,0xdbb93c731a460c3eL },
  44328. { 0x37dba260f526b605L,0x95d4978efd785537L,0x24ed793aed72a04aL,
  44329. 0x2694837776005b1aL,0x99f557b99e681f82L,0xae5f9557d64954efL } },
  44330. /* 4 */
  44331. { { 0x24480c57f26feef9L,0xc31a26943a0e1240L,0x735002c3273e2bc7L,
  44332. 0x8c42e9c53ef1ed4cL,0x028babf67f4948e8L,0x6a502f438a978632L },
  44333. { 0xf5f13a46b74536feL,0x1d218babd8a9f0ebL,0x30f36bcc37232768L,
  44334. 0xc5317b31576e8c18L,0xef1d57a69bbcb766L,0x917c4930b3e3d4dcL } },
  44335. /* 5 */
  44336. { { 0x11426e2ee349ddd0L,0x9f117ef99b2fc250L,0xff36b480ec0174a6L,
  44337. 0x4f4bde7618458466L,0x2f2edb6d05806049L,0x8adc75d119dfca92L },
  44338. { 0xa619d097b7d5a7ceL,0x874275e5a34411e9L,0x5403e0470da4b4efL,
  44339. 0x2ebaafd977901d8fL,0x5e63ebcea747170fL,0x12a369447f9d8036L } },
  44340. /* 6 */
  44341. { { 0x28f9c07a4fc52870L,0xce0b37481a53a961L,0xd550fa180e1828d9L,
  44342. 0xa24abaf76adb225aL,0xd11ed0a56e58a348L,0xf3d811e6948acb62L },
  44343. { 0x8618dd774c61ed22L,0x0bb747f980b47c9dL,0x22bf796fde6b8559L,
  44344. 0xfdfd1c6d680a21e9L,0xc0db15772af2c9ddL,0xa09379e6c1e90f3dL } },
  44345. /* 7 */
  44346. { { 0x386c66efe085c629L,0x5fc2a461095bc89aL,0x1353d631203f4b41L,
  44347. 0x7ca1972b7e4bd8f5L,0xb077380aa7df8ce9L,0xd8a90389ee7e4ea3L },
  44348. { 0x1bc74dc7e7b14461L,0xdc2cb0140c9c4f78L,0x52b4b3a684ef0a10L,
  44349. 0xbde6ea5d20327fe2L,0xb71ec435660f9615L,0xeede5a04b8ad8173L } },
  44350. /* 8 */
  44351. { { 0x5584cbb3893b9a2dL,0x820c660b00850c5dL,0x4126d8267df2d43dL,
  44352. 0xdd5bbbf00109e801L,0x85b92ee338172f1cL,0x609d4f93f31430d9L },
  44353. { 0x1e059a07eadaf9d6L,0x70e6536c0f125fb0L,0xd6220751560f20e7L,
  44354. 0xa59489ae7aaf3a9aL,0x7b70e2f664bae14eL,0x0dd0370176d08249L } },
  44355. /* 9 */
  44356. { { 0x4cc13be88510521fL,0x87315ba9f724cc17L,0xb49d83bb353dc263L,
  44357. 0x8b677efe0c279257L,0x510a1c1cc93c9537L,0x33e30cd8a4702c99L },
  44358. { 0xf0ffc89d2208353fL,0x0170fa8dced42b2bL,0x090851ed26e2a5f5L,
  44359. 0x81276455ecb52c96L,0x0646c4e17fe1adf4L,0x513f047eb0868eabL } },
  44360. /* 10 */
  44361. { { 0xc07611f4df5bdf53L,0x45d331a758b11a6dL,0x58965daf1c4ee394L,
  44362. 0xba8bebe75a5878d1L,0xaecc0a1882dd3025L,0xcf2a3899a923eb8bL },
  44363. { 0xf98c9281d24fd048L,0x841bfb598bbb025dL,0xb8ddf8cec9ab9d53L,
  44364. 0x538a4cb67fef044eL,0x092ac21f23236662L,0xa919d3850b66f065L } },
  44365. /* 11 */
  44366. { { 0x3db03b4085d480d8L,0x8cd9f4791b287a7dL,0x8f24dc754a8f3baeL,
  44367. 0x482eb8003db41892L,0x38bf9eb39c56e0f5L,0x8b9773209a91dc6fL },
  44368. { 0xa31b05b27209cfc2L,0x4c49bf8505b2db70L,0x56462498d619527bL,
  44369. 0x3fe510391fac51baL,0xfb04f55eab4b8342L,0xc07c10dc04c6eabfL } },
  44370. /* 12 */
  44371. { { 0xad22fe4cdb32f048L,0x5f23bf91475ed6dfL,0xa50ce0c0aa66b6cbL,
  44372. 0xdf627a89f03405c0L,0x3674837df95e2d6aL,0x081c95b6ba42e64eL },
  44373. { 0xeba3e036e71d6cebL,0xb45bcccf6c6b0271L,0x67b47e630684701dL,
  44374. 0x60f8f942e712523fL,0x824234725cd47adcL,0x83027d7987649cbbL } },
  44375. /* 13 */
  44376. { { 0xb3929ea63615b0b8L,0xb41441fda54dac41L,0x8995d556b5b6a368L,
  44377. 0xa80d4529167ef05eL,0xf6bcb4a16d25a27fL,0x210d6a4c7bd55b68L },
  44378. { 0xf3804abb25351130L,0x1d2df699903e37ebL,0x5f201efc084c25c8L,
  44379. 0x31a28c87a1c68e91L,0x81dad253563f62a5L,0x5dd6de70d6c415d4L } },
  44380. /* 14 */
  44381. { { 0x29f470fd846612ceL,0x986f3eecda18d997L,0x6b84c1612f34af86L,
  44382. 0x5ef0a40846ddaf8bL,0x14405a00e49e795fL,0x5f491b16aa2f7a37L },
  44383. { 0xc7f07ae4db41b38dL,0xef7d119e18fbfcaaL,0x3a18e07614443b19L,
  44384. 0x4356841a79a19926L,0x91f4a91ce2226fbeL,0xdc77248c3cc88721L } },
  44385. /* 15 */
  44386. { { 0xd570ff1ae4b1ec9dL,0x21d23e0ee7eef706L,0x3cde40f4ca19e086L,
  44387. 0x7d6523c4cd4bb270L,0x16c1f06cbf13aa6cL,0x5aa7245ad14c4b60L },
  44388. { 0x37f8146744b74de8L,0x839e7a17620a934eL,0xf74d14e8de8b1aa1L,
  44389. 0x8789fa51f30d75e2L,0x09b24052c81c261eL,0x654e267833c565eeL } },
  44390. /* 16 */
  44391. { { 0x378205de2f9fbe67L,0xc4afcb837f728e44L,0xdbcec06c682e00f1L,
  44392. 0xf2a145c3114d5423L,0xa01d98747a52463eL,0xfc0935b17d717b0aL },
  44393. { 0x9653bc4fd4d01f95L,0x9aa83ea89560ad34L,0xf77943dcaf8e3f3fL,
  44394. 0x70774a10e86fe16eL,0x6b62e6f1bf9ffdcfL,0x8a72f39e588745c9L } },
  44395. /* 17 */
  44396. { { 0x73ade4da2341c342L,0xdd326e54ea704422L,0x336c7d983741cef3L,
  44397. 0x1eafa00d59e61549L,0xcd3ed892bd9a3efdL,0x03faf26cc5c6c7e4L },
  44398. { 0x087e2fcf3045f8acL,0x14a65532174f1e73L,0x2cf84f28fe0af9a7L,
  44399. 0xddfd7a842cdc935bL,0x4c0f117b6929c895L,0x356572d64c8bcfccL } },
  44400. /* 18 */
  44401. { { 0x7ecbac017d8c1bbaL,0x6058f9c390b0f3d5L,0xaee116e3f6197d0fL,
  44402. 0xc4dd70684033b128L,0xf084dba6c209b983L,0x97c7c2cf831dbc4aL },
  44403. { 0x2f4e61ddf96010e8L,0xd97e4e20529faa17L,0x4ee6666069d37f20L,
  44404. 0xccc139ed3d366d72L,0x690b6ee213488e0fL,0x7cad1dc5f3a6d533L } },
  44405. /* 19 */
  44406. { { 0x660a9a81da57a41fL,0xe74a0412ec0039b6L,0x42343c6b5e1dad15L,
  44407. 0x284f3ff546681d4cL,0xb51087f163749e89L,0x070f23cc6f9f2f13L },
  44408. { 0x542211da5d186e14L,0x84748f37fddb0dffL,0x41a3aab4db1f4180L,
  44409. 0x25ed667ba6402d0eL,0x2f2924a902f58355L,0x5844ee7cfa44a689L } },
  44410. /* 20 */
  44411. { { 0xfab086073f3b236fL,0x19e9d41d81e221daL,0xf3f6571e3927b428L,
  44412. 0x4348a9337550f1f6L,0x7167b996a85e62f0L,0x62d437597f5452bfL },
  44413. { 0xd85feb9ef2955926L,0x440a561f6df78353L,0x389668ec9ca36b59L,
  44414. 0x052bf1a1a22da016L,0xbdfbff72f6093254L,0x94e50f28e22209f3L } },
  44415. /* 21 */
  44416. { { 0x90b2e5b33062e8afL,0xa8572375e8a3d369L,0x3fe1b00b201db7b1L,
  44417. 0xe926def0ee651aa2L,0x6542c9beb9b10ad7L,0x098e309ba2fcbe74L },
  44418. { 0x779deeb3fff1d63fL,0x23d0e80a20bfd374L,0x8452bb3b8768f797L,
  44419. 0xcf75bb4d1f952856L,0x8fe6b40029ea3faaL,0x12bd3e4081373a53L } },
  44420. /* 22 */
  44421. { { 0xc023780d104cbba5L,0x6207e747fa35dd4cL,0x35c239281ca9b6a3L,
  44422. 0x4ff19be897987b10L,0xb8476bbf8022eee8L,0xaa0a4a14d3bbe74dL },
  44423. { 0x20f94331187d4543L,0x3215387079f6e066L,0x83b0f74eac7e82e1L,
  44424. 0xa7748ba2828f06abL,0xc5f0298ac26ef35fL,0x0f0c50708e9a7dbdL } },
  44425. /* 23 */
  44426. { { 0x0c5c244cdef029ddL,0x3dabc687850661b8L,0x9992b865fe11d981L,
  44427. 0xe9801b8f6274dbadL,0xe54e6319098da242L,0x9929a91a91a53d08L },
  44428. { 0x37bffd7235285887L,0xbc759425f1418102L,0x9280cc35fd2e6e20L,
  44429. 0x735c600cfbc42ee5L,0xb7ad28648837619aL,0xa3627231a778c57bL } },
  44430. /* 24 */
  44431. { { 0xae799b5c91361ed8L,0x47d71b756c63366cL,0x54cdd5211b265a6aL,
  44432. 0xe0215a5998d77b74L,0x4424d9b7bab29db0L,0x8b0ffacc7fd9e536L },
  44433. { 0x46d85d1237b5d9efL,0x5b106d62bfa91747L,0xed0479f85f99ba2dL,
  44434. 0x0e6f39231d104de4L,0x83a84c8425e8983fL,0xa9507e0af8105a70L } },
  44435. /* 25 */
  44436. { { 0xf6c68a6e14cf381cL,0xaf9d27bdc22e31ccL,0x23568d4daa8a5ccbL,
  44437. 0xe431eec0e338e4d2L,0xf1a828fe8f52ad1fL,0xdb6a0579e86acd80L },
  44438. { 0x2885672e4507832aL,0x73fc275f887e5289L,0x65f8027805610d08L,
  44439. 0x8d9b4554075ff5b0L,0x3a8e8fb109f712b5L,0x39f0ac862ebe9cf2L } },
  44440. /* 26 */
  44441. { { 0xd8fabf784c52edf5L,0xdcd737e5a589ae53L,0x94918bf0d791ab17L,
  44442. 0xb5fbd956bcff06c9L,0xf6d3032edca46d45L,0x2cdff7e141a3e486L },
  44443. { 0x6674b3ba61f47ec8L,0x8a882163eef84608L,0xa257c7054c687f90L,
  44444. 0xe30cb2edf6cdf227L,0x2c4c64ca7f6ea846L,0x186fa17ccc6bcd3cL } },
  44445. /* 27 */
  44446. { { 0x48a3f5361dfcb91eL,0x83595e13646d358aL,0xbd15827b91128798L,
  44447. 0x3ce612b82187757aL,0x873150a161bd7372L,0xf4684530b662f568L },
  44448. { 0x8833950b401896f6L,0xe11cb89a77f3e090L,0xb2f12cac48e7f4a5L,
  44449. 0x313dd769f606677eL,0xfdcf08b316579f93L,0x6429cec946b8f22bL } },
  44450. /* 28 */
  44451. { { 0x4984dd54bb75f9a4L,0x4aef06b929d3b570L,0xb5f84ca23d6e4c1eL,
  44452. 0x24c61c11b083ef35L,0xce4a7392392ca9ffL,0x865d65176730a800L },
  44453. { 0xca3dfe76722b4a2bL,0x12c04bf97b083e0eL,0x803ce5b51b86b8a5L,
  44454. 0x3fc7632d6a7e3e0cL,0xc89970c2c81adbe4L,0x3cbcd3ad120e16b1L } },
  44455. /* 29 */
  44456. { { 0xfbfb4cc7ec30ce93L,0x10ed6c7db72720a2L,0xec675bf747b55500L,
  44457. 0x90725903333ff7c3L,0xc7c3973e5075bfc0L,0xb049ecb007acf31bL },
  44458. { 0xb4076eaf4f58839cL,0x101896daa2b05e4fL,0x3f6033b0ab40c66eL,
  44459. 0x19ee9eebc8d864baL,0xeb6cf15547bf6d2aL,0x8e5a9663f826477dL } },
  44460. /* 30 */
  44461. { { 0x69e62fddf7fbd5e1L,0x38ecfe5476912b1dL,0x845a3d56d1da3bfbL,
  44462. 0x0494950e1c86f0d4L,0x83cadbf93bc36ce8L,0x41fce5724fccc8d1L },
  44463. { 0x05f939c28332c144L,0xb17f248b0871e46eL,0x3d8534e266e8aff6L,
  44464. 0x1d06f1dc3b85c629L,0xdb06a32ea3131b73L,0xf295184d8b3f64e5L } },
  44465. /* 31 */
  44466. { { 0xd9653ff736ddc103L,0x25f43e3795ef606fL,0x09e301fcfe06dce8L,
  44467. 0x85af234130b6eebfL,0x79b12b530ff56b20L,0x9b4fb499fe9a3c6bL },
  44468. { 0x0154f89251d27ac2L,0xd33167e356ca5389L,0x7828ec1fafc065a6L,
  44469. 0x0959a2587f746c9bL,0xb18f1be30c44f837L,0xa7946117c4132fdbL } },
  44470. /* 32 */
  44471. { { 0xc0426b775e3c647bL,0xbfcbd9398cf05348L,0x31d312e3172c0d3dL,
  44472. 0x5f49fde6ee754737L,0x895530f06da7ee61L,0xcf281b0ae8b3a5fbL },
  44473. { 0xfd14973541b8a543L,0x41a625a73080dd30L,0xe2baae07653908cfL,
  44474. 0xc3d01436ba02a278L,0xa0d0222e7b21b8f8L,0xfdc270e9d7ec1297L } },
  44475. /* 33 */
  44476. { { 0x00873c0cbc7f41d6L,0xd976113e1b7ad641L,0x2a536ff4238443fbL,
  44477. 0x030d00e241e62e45L,0x532e98675f545fc6L,0xcd0331088e91208cL },
  44478. { 0xd1a04c999797612cL,0xd4393e02eea674e2L,0xd56fa69ee19742a1L,
  44479. 0xdd2ab48085f0590eL,0xa5cefc5248a2243dL,0x48cc67b654383f41L } },
  44480. /* 34 */
  44481. { { 0x4e50430efc14ab48L,0x195b7f4f26706a74L,0x2fe8a228cc881ff6L,
  44482. 0xb1b968e2d945013dL,0x936aa5794b92162bL,0x4fb766b7364e754aL },
  44483. { 0x13f93bca31e1ff7fL,0x696eb5cace4f2691L,0xff754bf8a2b09e02L,
  44484. 0x58f13c9ce58e3ff8L,0xb757346f1678c0b0L,0xd54200dba86692b3L } },
  44485. /* 35 */
  44486. { { 0x9a030bbd6dda1265L,0xf7b4f3fce89718ddL,0xa6a4931f936065b8L,
  44487. 0xbce72d875f72241cL,0x6cbb51cb65775857L,0xc71618154e993675L },
  44488. { 0xe81a0f792ee32189L,0xef2fab26277dc0b2L,0x9e64f6feb71f469fL,
  44489. 0xb448ce33dfdaf859L,0x3f5c1c4cbe6b5df1L,0xfb8dfb001de45f7bL } },
  44490. /* 36 */
  44491. { { 0xc7345fa74d5bb921L,0x5c7e04be4d2b667eL,0x47ed3a80282d7a3eL,
  44492. 0x5c2777f87e47b2a4L,0x89b3b10008488e2eL,0x9aad77c2b2eb5b45L },
  44493. { 0xd681bca7daac34aeL,0x2452e4e526afb326L,0x0c88792441a1ee14L,
  44494. 0x743b04d4c2407adeL,0xcb5e999bfc17a2acL,0x4dca2f824a701a06L } },
  44495. /* 37 */
  44496. { { 0x68e31ca61127bc1aL,0xa3edd59b17ead3beL,0x67b6b645e25f5a15L,
  44497. 0x76221794a420e15eL,0x794fd83b4b1e872eL,0x7cab3f03b2dece1bL },
  44498. { 0x7119bf15ca9b3586L,0xa55459244d250bd7L,0x173633eacc6bcf24L,
  44499. 0x9bd308c2b1b6f884L,0x3bae06f5447d38c3L,0x54dcc135f341fe1cL } },
  44500. /* 38 */
  44501. { { 0x56d3598d943caf0dL,0xce044ea9225ff133L,0x9edf6a7c563fadeaL,
  44502. 0x632eb94473e8dc27L,0x814b467e3190dcabL,0x2d4f4f316dbb1e31L },
  44503. { 0x8d69811ca143b7caL,0x4ec1ac32de7cf950L,0x223ab5fd37b5fe82L,
  44504. 0xe82616e49390f1d9L,0xabff4b2075804610L,0x11b9be15875b08f0L } },
  44505. /* 39 */
  44506. { { 0x4ae31a3d3bbe682cL,0xbc7c5d2674eef2ddL,0x92afd10a3c47dd40L,
  44507. 0xec7e0a3bc14ab9e1L,0x6a6c3dd1b2e495e4L,0x085ee5e9309bcd85L },
  44508. { 0xf381a9088c2e67fdL,0x32083a80e261eaf2L,0x0fcd6a4996deee15L,
  44509. 0xe3b8fb035e524c79L,0x8dc360d91d5b08b9L,0x3a06e2c87f26719fL } },
  44510. /* 40 */
  44511. { { 0x5cd9f5a87237cac0L,0x93f0b59d43586794L,0x4384a764e94f6c4eL,
  44512. 0x8304ed2bb62782d3L,0x0b8db8b3cde06015L,0x4336dd535dbe190fL },
  44513. { 0x5744355392ab473aL,0x031c7275be5ed046L,0x3e78678c21909aa4L,
  44514. 0x4ab7e04f99202ddbL,0x2648d2066977e635L,0xd427d184093198beL } },
  44515. /* 41 */
  44516. { { 0x822848f50f9b5a31L,0xbb003468baadb62aL,0x233a04723357559cL,
  44517. 0x49ef688079aee843L,0xa89867a0aeb9e1e3L,0xc151931b1f6f9a55L },
  44518. { 0xd264eb0bad74251eL,0x37b9b2634abf295eL,0xb600921b04960d10L,
  44519. 0x0de53dbc4da77dc0L,0x01d9bab3d2b18697L,0xad54ec7af7156ddfL } },
  44520. /* 42 */
  44521. { { 0x8e74dc3579efdc58L,0x456bd3694ff68ddbL,0x724e74ccd32096a5L,
  44522. 0xe41cff42386783d0L,0xa04c7f217c70d8a4L,0x41199d2fe61a19a2L },
  44523. { 0xd389a3e029c05dd2L,0x535f2a6be7e3fda9L,0x26ecf72d7c2b4df8L,
  44524. 0x678275f4fe745294L,0x6319c9cc9d23f519L,0x1e05a02d88048fc4L } },
  44525. /* 43 */
  44526. { { 0x75cc8e2ed4d5ffe8L,0xf8bb4896dbea17f2L,0x35059790cee3cb4aL,
  44527. 0x4c06ee85a47c6165L,0xf98fff2592935d2fL,0x34c4a57232ffd7c7L },
  44528. { 0xc4b14806ea0376a2L,0x2ea5e7504f115e02L,0x532d76e21e55d7c0L,
  44529. 0x68dc9411f31044daL,0x9272e46571b77993L,0xadaa38bb93a8cfd5L } },
  44530. /* 44 */
  44531. { { 0x4bf0c7127d4ed72aL,0xda0e9264ba1f79a3L,0x48c0258bf4c39ea4L,
  44532. 0xa5394ed82a715138L,0x4af511cebf06c660L,0xfcebceefec5c37cdL },
  44533. { 0xf23b75aa779ae8c1L,0xdeff59ccad1e606eL,0xf3f526fd22755c82L,
  44534. 0x64c5ab44bb32cefdL,0xa96e11a2915bdefdL,0xab19746a1143813eL } },
  44535. /* 45 */
  44536. { { 0x43c78585ec837d7dL,0xca5b6fbcb8ee0ba4L,0x34e924d9d5dbb5eeL,
  44537. 0x3f4fa104bb4f1ca5L,0x15458b72398640f7L,0x4231faa9d7f407eaL },
  44538. { 0x53e0661ef96e6896L,0x554e4c69d03b0f9dL,0xd4fcb07b9c7858d1L,
  44539. 0x7e95279352cb04faL,0x5f5f15748974e7f7L,0x2e3fa5586b6d57c8L } },
  44540. /* 46 */
  44541. { { 0x42cd48036a9951a8L,0xa8b15b8842792ad0L,0x18e8bcf9abb29a73L,
  44542. 0xbfd9a092409933e8L,0x760a3594efb88dc4L,0x1441886340724458L },
  44543. { 0x162a56ee99caedc7L,0x8fb12ecd91d101c9L,0xea671967393202daL,
  44544. 0x1aac8c4aa4ccd796L,0x7db050361cf185a8L,0x0c9f86cd8cfd095aL } },
  44545. /* 47 */
  44546. { { 0x9a72814710b2a556L,0x767ca964327b70b2L,0x04ed9e125e3799b7L,
  44547. 0x6781d2dc22a3eb2aL,0x5bd116eb0d9450acL,0xeccac1fca7ebe08aL },
  44548. { 0xde68444fdc2d6e94L,0x3621f42935ecf21bL,0x14e2d54329e03a2cL,
  44549. 0x53e42cd57d3e7f0aL,0xbba26c0973ed00b9L,0x00297c39c57d2272L } },
  44550. /* 48 */
  44551. { { 0x3aaaab10b8243a7dL,0x6eeef93e8fa58c5bL,0xf866fca39ae7f764L,
  44552. 0x64105a2661ab04d3L,0xa3578d8a03945d66L,0xb08cd3e4791b848cL },
  44553. { 0x45edc5f8756d2411L,0xd4a790d9a755128cL,0xc2cf096349e5f6a0L,
  44554. 0xc66d267df649beaaL,0x3ce6d9688467039eL,0x50046c6b42f7816fL } },
  44555. /* 49 */
  44556. { { 0x92ae160266425043L,0x1ff66afdf08db890L,0x386f5a7f8f162ce5L,
  44557. 0x18d2dea0fcf5598fL,0x78372b3a1a8ca18eL,0xdf0d20eb8cd0e6f7L },
  44558. { 0x7edd5e1d75bb4045L,0x252a47ceb96d94b7L,0xbdb293582c626776L,
  44559. 0x853c394340dd1031L,0x9dc9becf7d5f47fdL,0x27c2302fbae4044aL } },
  44560. /* 50 */
  44561. { { 0x2d1d208a8f2d49ceL,0x0d91aa02162df0a2L,0x9c5cce8709a07f65L,
  44562. 0xdf07238b84339012L,0x5028e2c8419442cdL,0x2dcbd35872062abaL },
  44563. { 0xb5fbc3cbe4680967L,0x2a7bc6459f92d72cL,0x806c76e1116c369dL,
  44564. 0x5c50677a3177e8d8L,0x753739eb4569df57L,0x2d481ef636c3f40bL } },
  44565. /* 51 */
  44566. { { 0x1a2d39fdfea1103eL,0xeaae559295f81b17L,0xdbd0aa18f59b264aL,
  44567. 0x90c39c1acb592ee0L,0xdf62f80d9750cca3L,0xda4d8283df97cc6cL },
  44568. { 0x0a6dd3461e201067L,0x1531f85969fb1f6bL,0x4895e5521d60121fL,
  44569. 0x0b21aab04c041c91L,0x9d896c46bcc1ccf8L,0xd24da3b33141bde7L } },
  44570. /* 52 */
  44571. { { 0x575a053753b0a354L,0x392ff2f40c6ddcd8L,0x0b8e8cff56157b94L,
  44572. 0x073e57bd3b1b80d1L,0x2a75e0f03fedee15L,0x752380e4aa8e6f19L },
  44573. { 0x1f4e227c6558ffe9L,0x3a34861819ec5415L,0xab382d5ef7997085L,
  44574. 0x5e6deaffddc46ac2L,0xe5144078fc8d094cL,0xf674fe51f60e37c6L } },
  44575. /* 53 */
  44576. { { 0x6fb87ae5af63408fL,0xa39c36a9cd75a737L,0x7833313fcf4c618dL,
  44577. 0xfbcd4482f034c88dL,0x4469a76139b35288L,0x77a711c566b5d9c9L },
  44578. { 0x4a695dc7944f8d65L,0xe6da5f65161aaba8L,0x8654e9c324601669L,
  44579. 0xbc8b93f528ae7491L,0x5f1d1e838f5580d8L,0x8ccf9a1acea32cc8L } },
  44580. /* 54 */
  44581. { { 0x28ab110c7196fee2L,0x75799d63874c8945L,0xa262934829aedaddL,
  44582. 0x9714cc7b2be88ff4L,0xf71293cfd58d60d6L,0xda6b6cb332a564e9L },
  44583. { 0xf43fddb13dd821c2L,0xf2f2785f90dd323dL,0x91246419048489f8L,
  44584. 0x61660f26d24c6749L,0x961d9e8cc803c15cL,0x631c6158faadc4c9L } },
  44585. /* 55 */
  44586. { { 0xacf2ebe0fd752366L,0xb93c340e139be88bL,0x98f664850f20179eL,
  44587. 0x14820254ff1da785L,0x5278e2764f85c16eL,0xa246ee457aab1913L },
  44588. { 0x43861eb453763b33L,0xc49f03fc45c0bc0dL,0xafff16bcad6b1ea1L,
  44589. 0xce33908b6fd49c99L,0x5c51e9bff7fde8c3L,0x076a7a39ff142c5eL } },
  44590. /* 56 */
  44591. { { 0x04639dfe9e338d10L,0x8ee6996ff42b411bL,0x960461d1a875cef2L,
  44592. 0x1057b6d695b4d0baL,0x27639252a906e0bcL,0x2c19f09ae1c20f8aL },
  44593. { 0x5b8fc3f0eef4c43dL,0xe2e1b1a807a84aa9L,0x5f455528835d2bdbL,
  44594. 0x0f4aee4d207132ddL,0xe9f8338c3907f675L,0x7a874dc90e0531f0L } },
  44595. /* 57 */
  44596. { { 0x84b22d4597c27050L,0xbd0b8df759e70bf8L,0xb4d6740579738b9bL,
  44597. 0x47f4d5f5cd917c4fL,0x9099c4ce13ce6e33L,0x942bfd39521d0f8bL },
  44598. { 0x5028f0f6a43b566dL,0xaf6e866921bff7deL,0x83f6f856c44232cdL,
  44599. 0x65680579f915069aL,0xd12095a2ecfecb85L,0xcf7f06aedb01ba16L } },
  44600. /* 58 */
  44601. { { 0x0f56e3c48ef96c80L,0xd521f2b33ddb609cL,0x2be941027dc1450dL,
  44602. 0x2d21a07102a91fe2L,0x2e6f74fa1efa37deL,0x9a9a90b8156c28a1L },
  44603. { 0xc54ea9ea9dc7dfcbL,0xc74e66fc2c2c1d62L,0x9f23f96749d3e067L,
  44604. 0x1c7c3a4654dd38adL,0xc70058845946cee3L,0x8985636845cc045dL } },
  44605. /* 59 */
  44606. { { 0x29da7cd4fce73946L,0x8f697db523168563L,0x8e235e9ccba92ec6L,
  44607. 0x55d4655f9f91d3eaL,0xf3689f23aa50a6cdL,0xdcf21c2621e6a1a0L },
  44608. { 0xcffbc82e61b818bfL,0xc74a2f96da47a243L,0x234e980a8bc1a0cfL,
  44609. 0xf35fd6b57929cb6dL,0x81468e12efe17d6cL,0xddea6ae558b2dafbL } },
  44610. /* 60 */
  44611. { { 0x294de8877e787b2eL,0x258acc1f39a9310dL,0x92d9714aac14265dL,
  44612. 0x18b5591c708b48a0L,0x27cc6bb0e1abbf71L,0xc0581fa3568307b9L },
  44613. { 0x9e0f58a3f24d4d58L,0xfebe9bb8e0ce2327L,0x91fd6a419d1be702L,
  44614. 0x9a7d8a45facac993L,0xabc0a08c9e50d66dL,0x02c342f706498201L } },
  44615. /* 61 */
  44616. { { 0xccd71407157bdbc2L,0x72fa89c6ad0e1605L,0xb1d3da2bb92a015fL,
  44617. 0x8ad9e7cda0a3fe56L,0x160edcbd24f06737L,0x79d4db3361275be6L },
  44618. { 0xd3d31fd95f3497c4L,0x8cafeaee04192fb0L,0xe13ca74513a50af3L,
  44619. 0x188261678c85aae5L,0xce06cea89eb556ffL,0x2eef1995bdb549f3L } },
  44620. /* 62 */
  44621. { { 0x8ed7d3eb50596edcL,0xaa359362905243a2L,0xa212c2c2a4b6d02bL,
  44622. 0x611fd727c4fbec68L,0x8a0b8ff7b84f733dL,0xd85a6b905f0daf0eL },
  44623. { 0x60e899f5d4091cf7L,0x4fef2b672eff2768L,0xc1f195cb10c33964L,
  44624. 0x8275d36993626a8fL,0xc77904f40d6c840aL,0x88d8b7fd7a868acdL } },
  44625. /* 63 */
  44626. { { 0x85f237237bd98425L,0xd4463992c70b154eL,0xcbb00ee296687a2eL,
  44627. 0x905fdbf7c83214fdL,0x2019d29313593684L,0x0428c393ef51218eL },
  44628. { 0x40c7623f981e909aL,0x925133857be192daL,0x48fe480f4010907eL,
  44629. 0xdd7a187c3120b459L,0xc9d7702da1fd8f3cL,0x66e4753be358efc5L } },
  44630. /* 64 */
  44631. { { 0x070d34e116973cf4L,0x20aee08b7e4f34f7L,0x269af9b95eb8ad29L,
  44632. 0xdde0a036a6a45ddaL,0xa18b528e63df41e0L,0x03cc71b2a260df2aL },
  44633. { 0x24a6770aa06b1dd7L,0x5bfa9c119d2675d3L,0x73c1e2a196844432L,
  44634. 0x3660558d131a6cf0L,0xb0289c832ee79454L,0xa6aefb01c6d8ddcdL } },
  44635. /* 65 */
  44636. { { 0xba1464b401ab5245L,0x9b8d0b6dc48d93ffL,0x939867dc93ad272cL,
  44637. 0xbebe085eae9fdc77L,0x73ae5103894ea8bdL,0x740fc89a39ac22e1L },
  44638. { 0x5e28b0a328e23b23L,0x2352722ee13104d0L,0xf4667a18b0a2640dL,
  44639. 0xac74a72e49bb37c3L,0x79f734f0e81e183aL,0xbffe5b6c3fd9c0ebL } },
  44640. /* 66 */
  44641. { { 0xb1a358f5c6a2123fL,0x927b2d95fe28df6dL,0x89702753f199d2f9L,
  44642. 0x0a73754c1a3f82dcL,0x063d029d777affe1L,0x5439817edae6d34dL },
  44643. { 0xf7979eef6b8b83c4L,0x615cb2149d945682L,0x8f0e4facc5e57eaeL,
  44644. 0x042b89b8113047ddL,0x888356dc93f36508L,0xbf008d185fd1f32fL } },
  44645. /* 67 */
  44646. { { 0x8012aa244e8068dbL,0xc72cc641a5729a47L,0x3c33df2c43f0691dL,
  44647. 0xfa0573471d92145fL,0xaefc0f2fb97f7946L,0x813d75cb2f8121bfL },
  44648. { 0x05613c724383bba6L,0xa924ce70a4224b3fL,0xe59cecbe5f2179a6L,
  44649. 0x78e2e8aa79f62b61L,0x3ac2cc3b53ad8079L,0x55518d71d8f4fa96L } },
  44650. /* 68 */
  44651. { { 0x03cf292200623f3bL,0x095c71115f29ebffL,0x42d7224780aa6823L,
  44652. 0x044c7ba17458c0b0L,0xca62f7ef0959ec20L,0x40ae2ab7f8ca929fL },
  44653. { 0xb8c5377aa927b102L,0x398a86a0dc031771L,0x04908f9dc216a406L,
  44654. 0xb423a73a918d3300L,0x634b0ff1e0b94739L,0xe29de7252d69f697L } },
  44655. /* 69 */
  44656. { { 0x744d14008435af04L,0x5f255b1dfec192daL,0x1f17dc12336dc542L,
  44657. 0x5c90c2a7636a68a8L,0x960c9eb77704ca1eL,0x9de8cf1e6fb3d65aL },
  44658. { 0xc60fee0d511d3d06L,0x466e2313f9eb52c7L,0x743c0f5f206b0914L,
  44659. 0x42f55bac2191aa4dL,0xcefc7c8fffebdbc2L,0xd4fa6081e6e8ed1cL } },
  44660. /* 70 */
  44661. { { 0xb5e405d3b0ab9645L,0xaeec7f98d5f1f711L,0x8ad42311585c2a6eL,
  44662. 0x045acb9e512c6944L,0xae106c4ea90db1c6L,0xb89f33d5898e6563L },
  44663. { 0x43b07cd97fed2ce4L,0xf9934e17dd815b20L,0x6778d4d50a81a349L,
  44664. 0x9e616ade52918061L,0xfa06db06d7e67112L,0x1da23cf188488091L } },
  44665. /* 71 */
  44666. { { 0x821c46b342f2c4b5L,0x931513ef66059e47L,0x7030ae4366f50cd1L,
  44667. 0x43b536c943e7b127L,0x006258cf5fca5360L,0xe4e3ee796b557abfL },
  44668. { 0xbb6b390024c8b22fL,0x2eb5e2c1fcbf1054L,0x937b18c9567492afL,
  44669. 0xf09432e4acf53957L,0x585f5a9d1dbf3a56L,0xf86751fdbe0887cfL } },
  44670. /* 72 */
  44671. { { 0x157399cb9d10e0b2L,0x1c0d595660dc51b7L,0x1d496b8a1f583090L,
  44672. 0x6658bc2688590484L,0x88c08ab703213f28L,0x8d2e0f737ae58de4L },
  44673. { 0x9b79bc95486cfee6L,0x036a26c7e9e5bc57L,0x1ad03601cd8ae97aL,
  44674. 0x06907f87ff3a0494L,0x078f4bbf2c7eb584L,0xe3731bf57e8d0a5aL } },
  44675. /* 73 */
  44676. { { 0x72f2282be1cd0abeL,0xd4f9015e87efefa2L,0x9d1898066c3834bdL,
  44677. 0x9c8cdcc1b8a29cedL,0x0601b9f4fee82ebcL,0x371052bc7206a756L },
  44678. { 0x76fa109246f32562L,0xdaad534c17351bb4L,0xc3d64c37b3636bb5L,
  44679. 0x038a8c5145d54e00L,0x301e618032c09e7cL,0x9764eae795735151L } },
  44680. /* 74 */
  44681. { { 0x8791b19fcbd5256aL,0x4007e0f26ca13a3bL,0x03b794604cf06904L,
  44682. 0xb18a9c22b6c17589L,0xa1cb7d7d81d45908L,0x6e13fa9d21bb68f1L },
  44683. { 0x47183c62a71e6e16L,0x5cf0ef8ee18749edL,0x2c9c7f9b2e5ed409L,
  44684. 0x042eeacce6e117e1L,0xb86d481613fb5a7fL,0xea1cf0edc9e5feb1L } },
  44685. /* 75 */
  44686. { { 0x6e6573c9cea4cc9bL,0x5417961dafcec8f3L,0x804bf02aa438b6f6L,
  44687. 0xb894b03cdcd4ea88L,0xd0f807e93799571fL,0x3466a7f5862156e8L },
  44688. { 0x51e59acd56515664L,0x55b0f93ca3c5eb0bL,0x84a06b026a4279dbL,
  44689. 0x5c850579c5fae08eL,0xcf07b8dba663a1a2L,0x49a36bbcf46ffc8dL } },
  44690. /* 76 */
  44691. { { 0xe47f5acc46d93106L,0x65b7ade0aa897c9cL,0x37cf4c9412d7e4beL,
  44692. 0xa2ae9b80d4b2caa9L,0x5e7ce09ce60357a3L,0x29f77667c8ecd5f9L },
  44693. { 0xdf6868f5a8a0b1c5L,0x240858cf62978ad8L,0x0f7ac101dc0002a1L,
  44694. 0x1d28a9d7ffe9aa05L,0x744984d65b962c97L,0xa8a7c00b3d28c8b2L } },
  44695. /* 77 */
  44696. { { 0x7c58a852ae11a338L,0xa78613f1d1af96e7L,0x7e9767d25355cc73L,
  44697. 0x6ba37009792a2de6L,0x7d60f618124386b2L,0xab09b53111157674L },
  44698. { 0x95a0484198eb9dd0L,0xe6c17acc15070328L,0xafc6da45489c6e49L,
  44699. 0xab45a60abb211530L,0xc58d65927d7ea933L,0xa3ef3c65095642c6L } },
  44700. /* 78 */
  44701. { { 0x89d420e9df010879L,0x9d25255d39576179L,0x9cdefd50e39513b6L,
  44702. 0xe4efe45bd5d1c313L,0xc0149de73f7af771L,0x55a6b4f4340ab06bL },
  44703. { 0xf1325251ebeaf771L,0x2ab44128878d4288L,0xfcd5832e18e05afeL,
  44704. 0xef52a348cc1fb62bL,0x2bd08274c1c4792aL,0x345c5846877c6dc7L } },
  44705. /* 79 */
  44706. { { 0xde15ceb0bea65e90L,0x0987f72b2416d99cL,0x44db578dfd863decL,
  44707. 0xf617b74bac6a3578L,0x9e62bd7adb48e999L,0x877cae61eab1a1beL },
  44708. { 0x23adddaa3a358610L,0x2fc4d6d1325e2b07L,0x897198f51585754eL,
  44709. 0xf741852cb392b584L,0x9927804cb55f7de1L,0xe9e6c4ed1aa8efaeL } },
  44710. /* 80 */
  44711. { { 0x867db63998683186L,0xfb5cf424ddcc4ea9L,0xcc9a7ffed4f0e7bdL,
  44712. 0x7c57f71c7a779f7eL,0x90774079d6b25ef2L,0x90eae903b4081680L },
  44713. { 0xdf2aae5e0ee1fcebL,0x3ff1da24e86c1a1fL,0x80f587d6ca193edfL,
  44714. 0xa5695523dc9b9d6aL,0x7b84090085920303L,0x1efa4dfcba6dbdefL } },
  44715. /* 81 */
  44716. { { 0xfbd838f9e0540015L,0x2c323946c39077dcL,0x8b1fb9e6ad619124L,
  44717. 0x9612440c0ca62ea8L,0x9ad9b52c2dbe00ffL,0xf52abaa1ae197643L },
  44718. { 0xd0e898942cac32adL,0xdfb79e4262a98f91L,0x65452ecf276f55cbL,
  44719. 0xdb1ac0d27ad23e12L,0xf68c5f6ade4986f0L,0x389ac37b82ce327dL } },
  44720. /* 82 */
  44721. { { 0x511188b4f8e60f5bL,0x7fe6701548aa2adaL,0xdb333cb8381abca2L,
  44722. 0xb15e6d9ddaf3fc97L,0x4b24f6eb36aabc03L,0xc59789df72a748b4L },
  44723. { 0x26fcb8a529cf5279L,0x7a3c6bfc01ad9a6cL,0x866cf88d4b8bac9bL,
  44724. 0xf4c899899c80d041L,0xf0a0424170add148L,0x5a02f47945d81a41L } },
  44725. /* 83 */
  44726. { { 0xfa5c877cc1c90202L,0xd099d440f8ac7570L,0x428a5b1bd17881f7L,
  44727. 0x61e267db5b2501d7L,0xf889bf04f2e4465bL,0x4da3ae0876aa4cb8L },
  44728. { 0x3ef0fe26e3e66861L,0x5e7729533318b86dL,0xc3c35fbc747396dfL,
  44729. 0x5115a29c439ffd37L,0xbfc4bd97b2d70374L,0x088630ea56246b9dL } },
  44730. /* 84 */
  44731. { { 0xcd96866db8a9e8c9L,0xa11963b85bb8091eL,0xc7f90d53045b3cd2L,
  44732. 0x755a72b580f36504L,0x46f8b39921d3751cL,0x4bffdc9153c193deL },
  44733. { 0xcd15c049b89554e7L,0x353c6754f7a26be6L,0x79602370bd41d970L,
  44734. 0xde16470b12b176c0L,0x56ba117540c8809dL,0xe2db35c3e435fb1eL } },
  44735. /* 85 */
  44736. { { 0xd71e4aab6328e33fL,0x5486782baf8136d1L,0x07a4995f86d57231L,
  44737. 0xf1f0a5bd1651a968L,0xa5dc5b2476803b6dL,0x5c587cbc42dda935L },
  44738. { 0x2b6cdb32bae8b4c0L,0x66d1598bb1331138L,0x4a23b2d25d7e9614L,
  44739. 0x93e402a674a8c05dL,0x45ac94e6da7ce82eL,0xeb9f8281e463d465L } },
  44740. /* 86 */
  44741. { { 0x34e0f9d1fecf5b9bL,0xa115b12bf206966aL,0x5591cf3b1eaa0534L,
  44742. 0x5f0293cbfb1558f9L,0x1c8507a41bc703a5L,0x92e6b81c862c1f81L },
  44743. { 0xcc9ebc66cdaf24e3L,0x68917ecd72fcfc70L,0x6dc9a9308157ba48L,
  44744. 0x5d425c08b06ab2b2L,0x362f8ce736e929c4L,0x09f6f57c62e89324L } },
  44745. /* 87 */
  44746. { { 0x1c7d6b78d29375fbL,0xfabd851ee35d1157L,0xf6f62dcd4243ea47L,
  44747. 0x1dd924608fe30b0fL,0x08166dfaffc6e709L,0xc6c4c6930881e6a7L },
  44748. { 0x20368f87d6a53fb0L,0x38718e9f9eb4d1f9L,0x03f08acdafd7e790L,
  44749. 0x0835eb4472fe2a1cL,0x7e05090388076e5dL,0x538f765ea638e731L } },
  44750. /* 88 */
  44751. { { 0x0e0249d9c2663b4bL,0xe700ab5b47cd38ddL,0xb192559d2c46559fL,
  44752. 0x8f9f74a84bcde66dL,0xad1615233e2aced5L,0xc155c0473dd03a5bL },
  44753. { 0x346a87993be454ebL,0x66ee94db83b7dccdL,0x1f6d8378ab9d2abeL,
  44754. 0x4a396dd27733f355L,0x419bd40af53553c2L,0xd0ead98d731dd943L } },
  44755. /* 89 */
  44756. { { 0x908e0b0eec142408L,0x98943cb94114b310L,0x03dbf7d81742b1d7L,
  44757. 0xd270df6b693412f4L,0xc50654948f69e20cL,0xa76a90c3697e43a1L },
  44758. { 0xe0fa33844624825aL,0x82e48c0b8acc34c2L,0x7b24bd14e9a14f2bL,
  44759. 0x4f5dd5e24db30803L,0x0c77a9e7932da0a3L,0x20db90f274c653dcL } },
  44760. /* 90 */
  44761. { { 0x261179b70e6c5fd9L,0xf8bec1236c982eeaL,0x47683338d4957b7eL,
  44762. 0xcc47e6640a72f66aL,0xbd54bf6a1bad9350L,0xdfbf4c6af454e95aL },
  44763. { 0x3f7a7afa6907f4faL,0x7311fae0865ca735L,0x24737ab82a496adaL,
  44764. 0x13e425f115feb79bL,0xe9e97c50a1b93c21L,0xb26b6eac4ddd3eb5L } },
  44765. /* 91 */
  44766. { { 0x81cab9f52a2e5f2bL,0xf93caf29bf385ac4L,0xf4bf35c3c909963aL,
  44767. 0x081e730074c9143cL,0x3ea57fa8c281b4c5L,0xe497905c9b340741L },
  44768. { 0xf556dd8a55ab3cfbL,0xd444b96b518db6adL,0x34f5425a5ef4b955L,
  44769. 0xdda7a3acecd26aa3L,0xb57da11bda655e97L,0x02da3effc2024c70L } },
  44770. /* 92 */
  44771. { { 0xe24b00366481d0d9L,0x3740dbe5818fdfe2L,0xc1fc1f45190fda00L,
  44772. 0x329c92803cf27fdeL,0x7435cb536934f43eL,0x2b505a5d7884e8feL },
  44773. { 0x6cfcc6a6711adcc9L,0xf034325c531e21e1L,0xa2f4a9679b2a8a99L,
  44774. 0x9d5f38423c21bdffL,0xb25c781131b57d66L,0xdb5344d80b8093b9L } },
  44775. /* 93 */
  44776. { { 0x0d72e667ae50a2f5L,0x9b7f8d8ae4a861d1L,0xa129f70f330df1cbL,
  44777. 0xe90aa5d7e04fefc3L,0xff561ecbe72c3ae1L,0x0d8fb428cdb955faL },
  44778. { 0xd2235f73d7663784L,0xc05baec67e2c456aL,0xe5c292e42adbfcccL,
  44779. 0x4fd17988efb110d5L,0x27e57734d19d49f3L,0x188ac4ce84f679feL } },
  44780. /* 94 */
  44781. { { 0x7ee344cfa796c53eL,0xbbf6074d0868009bL,0x1f1594f7474a1295L,
  44782. 0x66776edcac11632dL,0x1862278b04e2fa5aL,0x52665cf2c854a89aL },
  44783. { 0x7e3764648104ab58L,0x167759137204fd6dL,0x86ca06a544ea1199L,
  44784. 0xaa3f765b1c9240ddL,0x5f8501a924746149L,0x7b982e30dcd251d7L } },
  44785. /* 95 */
  44786. { { 0xe44e9efcc15f3060L,0x5ad62f2ea87ebbe6L,0x36499d41c79500d4L,
  44787. 0xa66d6dc0336fa9d1L,0xf8afc4955afd3b1fL,0x1d8ccb24e5c9822bL },
  44788. { 0x4031422b79d7584bL,0xc54a0580ea3f20ddL,0x3f837c8f958468c5L,
  44789. 0x3d82f110fbea7735L,0x679a87787dffe2fcL,0x48eba63b20704803L } },
  44790. /* 96 */
  44791. { { 0x89b10d41df46e2f6L,0x13ab57f819514367L,0x067372b91d469c87L,
  44792. 0x0c195afa4f6c5798L,0xea43a12a272c9acfL,0x9dadd8cb678abdacL },
  44793. { 0xcce56c6be182579aL,0x86febadb2d26c2d8L,0x1c668ee12a44745cL,
  44794. 0x580acd8698dc047aL,0x5a2b79cc51b9ec2dL,0x007da6084054f6a0L } },
  44795. /* 97 */
  44796. { { 0x9e3ca35217b00dd0L,0x046779cb0e81a7a6L,0xb999fef3d482d871L,
  44797. 0xe6f38134d9233fbcL,0x112c3001f48cd0e0L,0x934e75763c6c66aeL },
  44798. { 0xb44d4fc3d73234dcL,0xfcae2062864eafc1L,0x843afe2526bef21aL,
  44799. 0x61355107f3b75fdfL,0x8367a5aa794c2e6bL,0x3d2629b18548a372L } },
  44800. /* 98 */
  44801. { { 0x6230618f437cfaf8L,0x5b8742cb2032c299L,0x949f72472293643aL,
  44802. 0xb8040f1a09464f79L,0x049462d24f254143L,0xabd6b522366c7e76L },
  44803. { 0x119b392bd5338f55L,0x1a80a9ce01495a0cL,0xf3118ca7f8d7537eL,
  44804. 0xb715adc26bf4b762L,0x24506165a8482b6cL,0xd958d7c696a7c84dL } },
  44805. /* 99 */
  44806. { { 0x9ad8aa87bdc21f31L,0xadb3cab48063e58cL,0xefd86283b07dd7b8L,
  44807. 0xc7b9b7621be7c6b4L,0x2ef58741015582deL,0xc970c52e299addf3L },
  44808. { 0x78f02e2a22f24d66L,0xefec1d1074cc100aL,0xaf2a6a3909316e1aL,
  44809. 0xce7c22055849dd49L,0x9c1fe75c96bffc4cL,0xcad98fd27ba06ec0L } },
  44810. /* 100 */
  44811. { { 0xed76e2d0b648b73eL,0xa9f92ce51cfd285eL,0xa8c86c062ed13de1L,
  44812. 0x1d3a574ea5191a93L,0x385cdf8b1ad1b8bfL,0xbbecc28a47d2cfe3L },
  44813. { 0x98d326c069cec548L,0x4f5bc1ddf240a0b2L,0x241a706229057236L,
  44814. 0x0fc6e9c5c68294a4L,0x4d04838ba319f17aL,0x8b612cf19ffc1c6fL } },
  44815. /* 101 */
  44816. { { 0x9bb0b5014c3830ebL,0x3d08f83c8ee0d0c5L,0xa4a6264279ba9389L,
  44817. 0x5d5d40449cbc2914L,0xae9eb83e074c46f0L,0x63bb758f74ead7d6L },
  44818. { 0x1c40d2eac6bb29e0L,0x95aa2d874b02f41eL,0x9298917553cb199aL,
  44819. 0xdd91bafe51584f6dL,0x3715efb931a1aaecL,0xc1b6ae5b46780f9eL } },
  44820. /* 102 */
  44821. { { 0xcded3e4b42772f41L,0x3a700d5d3bcb79d1L,0x4430d50e80feee60L,
  44822. 0x444ef1fcf5e5d4bbL,0xc660194fe6e358ffL,0xe68a2f326a91b43cL },
  44823. { 0x5842775c977fe4d2L,0x78fdef5c7e2a41ebL,0x5f3bec02ff8df00eL,
  44824. 0xf4b840cd5852525dL,0x0870483a4e6988bdL,0x39499e39cc64b837L } },
  44825. /* 103 */
  44826. { { 0xfc05de80b08df5feL,0x0c12957c63ba0362L,0xea379414d5cf1428L,
  44827. 0xc559132a54ef6216L,0x33d5f12fb9e65cf8L,0x09c602781695d663L },
  44828. { 0x3ac1ced461f7a2fbL,0xdd838444d4f5eeb8L,0x82a38c6c8318fcadL,
  44829. 0x315be2e5e9f1a864L,0x317b5771442daf47L,0x81b5904a95aa5f9eL } },
  44830. /* 104 */
  44831. { { 0x6b6b1c508b21d232L,0x87f3dbc08c2cba75L,0xa7e74b46ae9f0fafL,
  44832. 0x036a0985bb7b8079L,0x4f185b908d974a25L,0x5aa7cef0d9af5ec9L },
  44833. { 0xe0566a7057dcfffcL,0x6ea311dab8453225L,0x72ea1a8d23368aa9L,
  44834. 0xed9b208348cd552dL,0xb987967cc80ea435L,0xad735c756c104173L } },
  44835. /* 105 */
  44836. { { 0xaea85ab3cee76ef4L,0x44997444af1d2b93L,0x0851929beacb923fL,
  44837. 0xb080b59051e3bc0cL,0xc4ee1d8659be68a2L,0xf00de21964b26cdaL },
  44838. { 0x8d7fb5c0f2e90d4dL,0x00e219a777d9ec64L,0xc4e6febd5d1c491cL,
  44839. 0x080e37541a8f4585L,0x4a9b86c848d2af9cL,0x2ed70db6b6679851L } },
  44840. /* 106 */
  44841. { { 0xaee44116586f25cbL,0xf7b6861fa0fcf70fL,0x55d2cd2018a350e8L,
  44842. 0x861bf3e592dc286fL,0x9ab18ffa6226aba7L,0xd15827bea9857b03L },
  44843. { 0x26c1f54792e6acefL,0x422c63c8ac1fbac3L,0xa2d8760dfcbfd71dL,
  44844. 0x35f6a539b2511224L,0xbaa88fa1048d1a21L,0x49f1abe9ebf999dbL } },
  44845. /* 107 */
  44846. { { 0x16f9f4f4f7492b73L,0xcf28ec1ecb392b1aL,0x45b130d469ca6ffcL,
  44847. 0x28ba8d40b72efa58L,0xace987c75ca066f5L,0x3e3992464ad022ebL },
  44848. { 0x63a2d84e752555bbL,0xaaa93b4a9c2ae394L,0xcd80424ec89539caL,
  44849. 0x6d6b5a6daa119a99L,0xbd50334c379f2629L,0x899e925eef3cc7d3L } },
  44850. /* 108 */
  44851. { { 0xb7ff3651bf825dc4L,0x0f741cc440b9c462L,0x771ff5a95cc4fb5bL,
  44852. 0xcb9e9c9b47fd56feL,0xbdf053db5626c0d3L,0xa97ce675f7e14098L },
  44853. { 0x68afe5a36c934f5eL,0x6cd5e148ccefc46fL,0xc7758570d7a88586L,
  44854. 0x49978f5edd558d40L,0xa1d5088a64ae00c1L,0x58f2a720f1d65bb2L } },
  44855. /* 109 */
  44856. { { 0x66fdda4a3e4daedbL,0x38318c1265d1b052L,0x28d910a24c4bbf5cL,
  44857. 0x762fe5c478a9cd14L,0x08e5ebaad2cc0aeeL,0xd2cdf257ca0c654cL },
  44858. { 0x48f7c58b08b717d2L,0x3807184a386cd07aL,0x3240f626ae7d0112L,
  44859. 0x03e9361bc43917b0L,0xf261a87620aea018L,0x53f556a47e1e6372L } },
  44860. /* 110 */
  44861. { { 0xc84cee562f512a90L,0x24b3c0041b0ea9f1L,0x0ee15d2de26cc1eaL,
  44862. 0xd848762cf0c9ef7dL,0x1026e9c5d5341435L,0x8f5b73dcfdb16b31L },
  44863. { 0x1f69bef2d2c75d95L,0x8d33d581be064ddaL,0x8c024c1257ed35e6L,
  44864. 0xf8d435f9c309c281L,0xfd295061d6960193L,0x66618d78e9e49541L } },
  44865. /* 111 */
  44866. { { 0x571cfd458ce382deL,0x175806eede900ddeL,0x6184996534aba3b5L,
  44867. 0xe899778ade7aec95L,0xe8f00f6eff4aa97fL,0xae971cb5010b0c6dL },
  44868. { 0x1827eebc3af788f1L,0xd46229ffe413fe2dL,0x8a15455b4741c9b4L,
  44869. 0x5f02e690f8e424ebL,0x40a1202edae87712L,0x49b3bda264944f6dL } },
  44870. /* 112 */
  44871. { { 0xd63c6067035b2d69L,0xb507150d6bed91b0L,0x1f35f82f7afb39b2L,
  44872. 0xb9bd9c0116012b66L,0x00d97960ed0a5f50L,0xed7054512716f7c9L },
  44873. { 0x1576eff4127abdb4L,0x6850d698f01e701cL,0x9fa7d7493fc87e2fL,
  44874. 0x0b6bcc6fb0ce3e48L,0xf4fbe1f5f7d8c1c0L,0xcf75230e02719cc6L } },
  44875. /* 113 */
  44876. { { 0x6761d6c2722d94edL,0xd1ec3f213718820eL,0x65a40b7025d0e7c6L,
  44877. 0xd67f830ebaf3cf31L,0x633b3807b93ea430L,0x17faa0ea0bc96c69L },
  44878. { 0xe6bf3482df866b98L,0x205c1ee9a9db52d4L,0x51ef9bbdff9ab869L,
  44879. 0x3863dad175eeb985L,0xef216c3bd3cf442aL,0x3fb228e3f9c8e321L } },
  44880. /* 114 */
  44881. { { 0x94f9b70c0760ac07L,0xf3c9ccae9d79bf4dL,0x73cea084c5ffc83dL,
  44882. 0xef50f943dc49c38eL,0xf467a2aebc9e7330L,0x5ee534b644ea7fbaL },
  44883. { 0x20cb627203609e7fL,0x0984435562fdc9f0L,0xaf5c8e580f1457f7L,
  44884. 0xd1f50a6cb4b25941L,0x77cb247c2ec82395L,0xa5f3e1e5da3dca33L } },
  44885. /* 115 */
  44886. { { 0x023489d67d85fa94L,0x0ba405372db9ce47L,0x0fdf7a1faed7aad1L,
  44887. 0xa57b0d739a4ccb40L,0x48fcec995b18967cL,0xf30b5b6eb7274d24L },
  44888. { 0x7ccb4773c81c5338L,0xb85639e6a3ed6bd0L,0x7d9df95f1d56eadaL,
  44889. 0xe256d57f0a1607adL,0x6da7ffdc957574d6L,0x65f8404601c7a8c4L } },
  44890. /* 116 */
  44891. { { 0x8d45d0cbcba1e7f1L,0xef0a08c002b55f64L,0x771ca31b17e19892L,
  44892. 0xe1843ecb4885907eL,0x67797ebc364ce16aL,0x816d2b2d8df4b338L },
  44893. { 0xe870b0e539aa8671L,0x9f0db3e4c102b5f5L,0x342966591720c697L,
  44894. 0x0ad4c89e613c0d2aL,0x1af900b2418ddd61L,0xe087ca72d336e20eL } },
  44895. /* 117 */
  44896. { { 0x222831ffaba10079L,0x0dc5f87b6d64fff2L,0x445479073e8cb330L,
  44897. 0xe815aaa2702a33fbL,0x338d6b2e5fba3215L,0x0f7535cb79f549c8L },
  44898. { 0x471ecd972ee95923L,0x1e868b37c6d1c09fL,0x2bc7b8ecc666ef4eL,
  44899. 0xf5416589808a4bfcL,0xf23e9ee23fbc4d2eL,0x4357236c2d75125bL } },
  44900. /* 118 */
  44901. { { 0xfe176d95ba9cdb1bL,0x45a1ca012f82791eL,0x97654af24de4cca2L,
  44902. 0xbdbf9d0e5cc4bcb9L,0xf6a7df50ad97ac0aL,0xc52112b061359fd6L },
  44903. { 0x696d9ce34f05eae3L,0x903adc02e943ac2bL,0xa90753470848be17L,
  44904. 0x1e20f1702a3973e5L,0xe1aacc1c6feb67e9L,0x2ca0ac32e16bc6b9L } },
  44905. /* 119 */
  44906. { { 0xffea12e4ef871eb5L,0x94c2f25da8bf0a7aL,0x4d1e4c2a78134eaaL,
  44907. 0x11ed16fb0360fb10L,0x4029b6db85fc11beL,0x5e9f7ab7f4d390faL },
  44908. { 0x5076d72f30646612L,0xa0afed1ddda1d0d8L,0x2902225785a1d103L,
  44909. 0xcb499e174e276bcdL,0x16d1da7151246c3dL,0xc72d56d3589a0443L } },
  44910. /* 120 */
  44911. { { 0xdf5ffc74dae5bb45L,0x99068c4a261bd6dcL,0xdc0afa7aaa98ec7bL,
  44912. 0xedd2ee00f121e96dL,0x163cc7be1414045cL,0xb0b1bbce335af50eL },
  44913. { 0xd440d78501a06293L,0xcdebab7c6552e644L,0x48cb8dbc8c757e46L,
  44914. 0x81f9cf783cabe3cbL,0xddd02611b123f59aL,0x3dc7b88eeeb3784dL } },
  44915. /* 121 */
  44916. { { 0xe1b8d398c4741456L,0xa9dfa9026032a121L,0x1cbfc86d1263245bL,
  44917. 0xf411c7625244718cL,0x96521d5405b0fc54L,0x1afab46edbaa4985L },
  44918. { 0xa75902ba8674b4adL,0x486b43ad5ad87d12L,0x72b1c73636e0d099L,
  44919. 0x39890e07bb6cd6d6L,0x8128999c59bace4eL,0xd8da430b7b535e33L } },
  44920. /* 122 */
  44921. { { 0x39f65642c6b75791L,0x050947a621806bfbL,0x0ca3e3701362ef84L,
  44922. 0x9bc60aed8c3d2391L,0x9b488671732e1ddcL,0x12d10d9ea98ee077L },
  44923. { 0xb6f2822d3651b7dcL,0x6345a5ba80abd138L,0x62033262472d3c84L,
  44924. 0xd54a1d40acc57527L,0x6ea46b3a424447cbL,0x5bc410572fb1a496L } },
  44925. /* 123 */
  44926. { { 0xe70c57a3a751cd0eL,0x190d8419eba3c7d6L,0xb1c3bee79d47d55aL,
  44927. 0xda941266f912c6d8L,0x12e9aacc407a6ad6L,0xd6ce5f116e838911L },
  44928. { 0x063ca97b70e1f2ceL,0xa3e47c728213d434L,0xa016e24184df810aL,
  44929. 0x688ad7b0dfd881a4L,0xa37d99fca89bf0adL,0xd8e3f339a23c2d23L } },
  44930. /* 124 */
  44931. { { 0xbdf53163750bed6fL,0x808abc3283e68b0aL,0x85a366275bb08a33L,
  44932. 0xf72a3a0f6b0e4abeL,0xf7716d19faf0c6adL,0x22dcc0205379b25fL },
  44933. { 0x7400bf8df9a56e11L,0x6cb8bad756a47f21L,0x7c97176f7a6eb644L,
  44934. 0xe8fd84f7d1f5b646L,0x98320a9444ddb054L,0x07071ba31dde86f5L } },
  44935. /* 125 */
  44936. { { 0x6fdfa0e598f8fcb9L,0x89cec8e094d0d70cL,0xa0899397106d20a8L,
  44937. 0x915bfb9aba8acc9cL,0x1370c94b5507e01cL,0x83246a608a821ffbL },
  44938. { 0xa8273a9fbe3c378fL,0x7e54478935a25be9L,0x6cfa49724dd929d7L,
  44939. 0x987fed9d365bd878L,0x4982ac945c29a7aeL,0x4589a5d75ddd7ec5L } },
  44940. /* 126 */
  44941. { { 0x9fabb174a95540a9L,0x7cfb886f0162c5b0L,0x17be766bea3dee18L,
  44942. 0xff7da41fe88e624cL,0xad0b71eb8b919c38L,0x86a522e0f31ff9a9L },
  44943. { 0xbc8e6f72868bc259L,0x6130c6383ccef9e4L,0x09f1f4549a466555L,
  44944. 0x8e6c0f0919b2bfb4L,0x945c46c90ca7bb22L,0xacd871684dafb67bL } },
  44945. /* 127 */
  44946. { { 0x090c72ca10c53841L,0xc20ae01b55a4fcedL,0x03f7ebd5e10234adL,
  44947. 0xb3f42a6a85892064L,0xbdbc30c0b4a14722L,0x971bc4378ca124ccL },
  44948. { 0x6f79f46d517ff2ffL,0x6a9c96e2ecba947bL,0x5e79f2f462925122L,
  44949. 0x30a96bb16a4e91f1L,0x1147c9232d4c72daL,0x65bc311f5811e4dfL } },
  44950. /* 128 */
  44951. { { 0x87c7dd7d139b3239L,0x8b57824e4d833baeL,0xbcbc48789fff0015L,
  44952. 0x8ffcef8b909eaf1aL,0x9905f4eef1443a78L,0x020dd4a2e15cbfedL },
  44953. { 0xca2969eca306d695L,0xdf940cadb93caf60L,0x67f7fab787ea6e39L,
  44954. 0x0d0ee10ff98c4fe5L,0xc646879ac19cb91eL,0x4b4ea50c7d1d7ab4L } },
  44955. /* 129 */
  44956. { { 0x19e409457a0db57eL,0xe6017cad9a8c9702L,0xdbf739e51be5cff9L,
  44957. 0x3646b3cda7a938a2L,0x0451108568350dfcL,0xad3bd6f356e098b5L },
  44958. { 0x935ebabfee2e3e3eL,0xfbd01702473926cbL,0x7c735b029e9fb5aaL,
  44959. 0xc52a1b852e3feff0L,0x9199abd3046b405aL,0xe306fcec39039971L } },
  44960. /* 130 */
  44961. { { 0xd6d9aec823e4712cL,0x7ca8376cc3c198eeL,0xe6d8318731bebd8aL,
  44962. 0xed57aff3d88bfef3L,0x72a645eecf44edc7L,0xd4e63d0b5cbb1517L },
  44963. { 0x98ce7a1cceee0ecfL,0x8f0126335383ee8eL,0x3b879078a6b455e8L,
  44964. 0xcbcd3d96c7658c06L,0x721d6fe70783336aL,0xf21a72635a677136L } },
  44965. /* 131 */
  44966. { { 0x19d8b3cd9586ba11L,0xd9e0aeb28a5c0480L,0xe4261dbf2230ef5cL,
  44967. 0x095a9dee02e6bf09L,0x8963723c80dc7784L,0x5c97dbaf145157b1L },
  44968. { 0x97e744344bc4503eL,0x0fb1cb3185a6b370L,0x3e8df2becd205d4bL,
  44969. 0x497dd1bcf8f765daL,0x92ef95c76c988a1aL,0x3f924baa64dc4cfaL } },
  44970. /* 132 */
  44971. { { 0x6bf1b8dd7268b448L,0xd4c28ba1efd79b94L,0x2fa1f8c8e4e3551fL,
  44972. 0x769e3ad45c9187a9L,0x28843b4d40326c0dL,0xfefc809450d5d669L },
  44973. { 0x30c85bfd90339366L,0x4eeb56f15ccf6c3aL,0x0e72b14928ccd1dcL,
  44974. 0x73ee85b5f2ce978eL,0xcdeb2bf33165bb23L,0x8106c9234e410abfL } },
  44975. /* 133 */
  44976. { { 0xc8df01617d02f4eeL,0x8a78154718e21225L,0x4ea895eb6acf9e40L,
  44977. 0x8b000cb56e5a633dL,0xf31d86d57e981ffbL,0xf5c8029c4475bc32L },
  44978. { 0x764561ce1b568973L,0x2f809b81a62996ecL,0x9e513d64da085408L,
  44979. 0xc27d815de61ce309L,0x0da6ff99272999e0L,0xbd284779fead73f7L } },
  44980. /* 134 */
  44981. { { 0x6033c2f99b1cdf2bL,0x2a99cf06bc5fa151L,0x7d27d25912177b3bL,
  44982. 0xb1f15273c4485483L,0x5fd57d81102e2297L,0x3d43e017c7f6acb7L },
  44983. { 0x41a8bb0b3a70eb28L,0x67de2d8e3e80b06bL,0x09245a4170c28de5L,
  44984. 0xad7dbcb1a7b26023L,0x70b08a352cbc6c1eL,0xb504fb669b33041fL } },
  44985. /* 135 */
  44986. { { 0xa8e85ab5f97a27c2L,0x6ac5ec8bc10a011bL,0x55745533ffbcf161L,
  44987. 0x01780e8565790a60L,0xe451bf8599ee75b0L,0x8907a63b39c29881L },
  44988. { 0x76d46738260189edL,0x284a443647bd35cbL,0xd74e8c4020cab61eL,
  44989. 0x6264bf8c416cf20aL,0xfa5a6c955fd820ceL,0xfa7154d0f24bb5fcL } },
  44990. /* 136 */
  44991. { { 0x18482cec9b3f5034L,0x962d445acd9e68fdL,0x266fb1d695746f23L,
  44992. 0xc66ade5a58c94a4bL,0xdbbda826ed68a5b6L,0x05664a4d7ab0d6aeL },
  44993. { 0xbcd4fe51025e32fcL,0x61a5aebfa96df252L,0xd88a07e231592a31L,
  44994. 0x5d9d94de98905517L,0x96bb40105fd440e7L,0x1b0c47a2e807db4cL } },
  44995. /* 137 */
  44996. { { 0x5c2a6ac808223878L,0xba08c269e65a5558L,0xd22b1b9b9bbc27fdL,
  44997. 0x919171bf72b9607dL,0x9ab455f9e588dc58L,0x6d54916e23662d93L },
  44998. { 0x8da8e9383b1de0c1L,0xa84d186a804f278fL,0xbf4988ccd3461695L,
  44999. 0xf5eae3bee10eb0cbL,0x1ff8b68fbf2a66edL,0xa68daf67c305b570L } },
  45000. /* 138 */
  45001. { { 0xc1004cff44b2e045L,0x91b5e1364b1c05d4L,0x53ae409088a48a07L,
  45002. 0x73fb2995ea11bb1aL,0x320485703d93a4eaL,0xcce45de83bfc8a5fL },
  45003. { 0xaff4a97ec2b3106eL,0x9069c630b6848b4fL,0xeda837a6ed76241cL,
  45004. 0x8a0daf136cc3f6cfL,0x199d049d3da018a8L,0xf867c6b1d9093ba3L } },
  45005. /* 139 */
  45006. { { 0xe4d42a5656527296L,0xae26c73dce71178dL,0x70a0adac6c251664L,
  45007. 0x813483ae5dc0ae1dL,0x7574eacddaab2dafL,0xc56b52dcc2d55f4fL },
  45008. { 0x872bc16795f32923L,0x4be175815bdd2a89L,0x9b57f1e7a7699f00L,
  45009. 0x5fcd9c723ac2de02L,0x83af3ba192377739L,0xa64d4e2bfc50b97fL } },
  45010. /* 140 */
  45011. { { 0x2172dae20e552b40L,0x62f49725d34d52e8L,0x7930ee4007958f98L,
  45012. 0x56da2a90751fdd74L,0xf1192834f53e48c3L,0x34d2ac268e53c343L },
  45013. { 0x1073c21813111286L,0x201dac14da9d9827L,0xec2c29dbee95d378L,
  45014. 0x9316f1191f3ee0b1L,0x7890c9f0544ce71cL,0xd77138af27612127L } },
  45015. /* 141 */
  45016. { { 0x78045e6d3b4ad1cdL,0xcd86b94e4aa49bc1L,0x57e51f1dfd677a16L,
  45017. 0xd9290935fa613697L,0x7a3f959334f4d893L,0x8c9c248b5d5fcf9bL },
  45018. { 0x9f23a4826f70d4e9L,0x1727345463190ae9L,0x4bdd7c135b081a48L,
  45019. 0x1e2de38928d65271L,0x0bbaaa25e5841d1fL,0xc4c18a79746772e5L } },
  45020. /* 142 */
  45021. { { 0x10ee2681593375acL,0x4f3288be7dd5e113L,0x9a97b2fb240f3538L,
  45022. 0xfa11089f1de6b1e2L,0x516da5621351bc58L,0x573b61192dfa85b5L },
  45023. { 0x89e966836cba7df5L,0xf299be158c28ab40L,0xe91c9348ad43fcbfL,
  45024. 0xe9bbc7cc9a1cefb3L,0xc8add876738b2775L,0x6e3b1f2e775eaa01L } },
  45025. /* 143 */
  45026. { { 0x0365a888b677788bL,0x634ae8c43fd6173cL,0x304987619e498dbeL,
  45027. 0x08c43e6dc8f779abL,0x068ae3844c09aca9L,0x2380c70b2018d170L },
  45028. { 0xcf77fbc3a297c5ecL,0xdacbc853ca457948L,0x3690de04336bec7eL,
  45029. 0x26bbac6414eec461L,0xd1c23c7e1f713abfL,0xf08bbfcde6fd569eL } },
  45030. /* 144 */
  45031. { { 0x5f8163f484770ee3L,0x0e0c7f94744a1706L,0x9c8f05f7e1b2d46dL,
  45032. 0x417eafe7d01fd99aL,0x2ba15df511440e5bL,0xdc5c552a91a6fbcfL },
  45033. { 0x86271d74a270f721L,0x32c0a075a004485bL,0x9d1a87e38defa075L,
  45034. 0xb590a7acbf0d20feL,0x430c41c28feda1f5L,0x454d287958f6ec24L } },
  45035. /* 145 */
  45036. { { 0x52b7a6357c525435L,0x3d9ef57f37c4bdbcL,0x2bb93e9edffcc475L,
  45037. 0xf7b8ba987710f3beL,0x42ee86da21b727deL,0x55ac3f192e490d01L },
  45038. { 0x487e3a6ec0c1c390L,0x036fb345446cde7bL,0x089eb276496ae951L,
  45039. 0xedfed4d971ed1234L,0x661b0dd5900f0b46L,0x11bd6f1b8582f0d3L } },
  45040. /* 146 */
  45041. { { 0x5cf9350f076bc9d1L,0x15d903becf3cd2c3L,0x21cfc8c225af031cL,
  45042. 0xe0ad32488b1cc657L,0xdd9fb96370014e87L,0xf0f3a5a1297f1658L },
  45043. { 0xbb908fbaf1f703aaL,0x2f9cc4202f6760baL,0x00ceec6666a38b51L,
  45044. 0x4deda33005d645daL,0xb9cf5c72f7de3394L,0xaeef65021ad4c906L } },
  45045. /* 147 */
  45046. { { 0x0583c8b17a19045dL,0xae7c3102d052824cL,0x2a234979ff6cfa58L,
  45047. 0xfe9dffc962c733c0L,0x3a7fa2509c0c4b09L,0x516437bb4fe21805L },
  45048. { 0x9454e3d5c2a23ddbL,0x0726d887289c104eL,0x8977d9184fd15243L,
  45049. 0xc559e73f6d7790baL,0x8fd3e87d465af85fL,0xa2615c745feee46bL } },
  45050. /* 148 */
  45051. { { 0xc8d607a84335167dL,0x8b42d804e0f5c887L,0x5f9f13df398d11f9L,
  45052. 0x5aaa508720740c67L,0x83da9a6aa3d9234bL,0xbd3a5c4e2a54bad1L },
  45053. { 0xdd13914c2db0f658L,0x29dcb66e5a3f373aL,0xbfd62df55245a72bL,
  45054. 0x19d1802391e40847L,0xd9df74dbb136b1aeL,0x72a06b6b3f93bc5bL } },
  45055. /* 149 */
  45056. { { 0x6da19ec3ad19d96fL,0xb342daa4fb2a4099L,0x0e61633a662271eaL,
  45057. 0x3bcece81ce8c054bL,0x7cc8e0618bd62dc6L,0xae189e19ee578d8bL },
  45058. { 0x73e7a25ddced1eedL,0xc1257f0a7875d3abL,0x2cb2d5a21cfef026L,
  45059. 0xd98ef39bb1fdf61cL,0xcd8e6f6924e83e6cL,0xd71e7076c7b7088bL } },
  45060. /* 150 */
  45061. { { 0x339368309d4245bfL,0x22d962172ac2953bL,0xb3bf5a8256c3c3cdL,
  45062. 0x50c9be910d0699e8L,0xec0944638f366459L,0x6c056dba513b7c35L },
  45063. { 0x687a6a83045ab0e3L,0x8d40b57f445c9295L,0x0f345048a16f5954L,
  45064. 0x64b5c6393d8f0a87L,0x106353a29f71c5e2L,0xdd58b475874f0dd4L } },
  45065. /* 151 */
  45066. { { 0x67ec084f62230c72L,0xf14f6cca481385e3L,0xf58bb4074cda7774L,
  45067. 0xe15011b1aa2dbb6bL,0xd488369d0c035ab1L,0xef83c24a8245f2fdL },
  45068. { 0xfb57328f9fdc2538L,0x79808293191fe46aL,0xe28f5c4432ede548L,
  45069. 0x1b3cda99ea1a022cL,0x39e639b73df2ec7fL,0x77b6272b760e9a18L } },
  45070. /* 152 */
  45071. { { 0x2b1d51bda65d56d5L,0x3a9b71f97ea696e0L,0x95250ecc9904f4c4L,
  45072. 0x8bc4d6ebe75774b7L,0x0e343f8aeaeeb9aaL,0xc473c1d1930e04cbL },
  45073. { 0x282321b1064cd8aeL,0xf4b4371e5562221cL,0xc1cc81ecd1bf1221L,
  45074. 0xa52a07a9e2c8082fL,0x350d8e59ba64a958L,0x29e4f3de6fb32c9aL } },
  45075. /* 153 */
  45076. { { 0x0aa9d56cba89aaa5L,0xf0208ac0c4c6059eL,0x7400d9c6bd6ddca4L,
  45077. 0xb384e475f2c2f74aL,0x4c1061fcb1562dd3L,0x3924e2482e153b8dL },
  45078. { 0xf38b8d98849808abL,0x29bf3260a491aa36L,0x85159ada88220edeL,
  45079. 0x8b47915bbe5bc422L,0xa934d72ed7300967L,0xc4f303982e515d0dL } },
  45080. /* 154 */
  45081. { { 0xe3e9ee421b1de38bL,0xa124e25a42636760L,0x90bf73c090165b1aL,
  45082. 0x21802a34146434c5L,0x54aa83f22e1fa109L,0x1d4bd03ced9c51e9L },
  45083. { 0xc2d96a38798751e6L,0xed27235f8c3507f5L,0xb5fb80e2c8c24f88L,
  45084. 0xf873eefad37f4f78L,0x7229fd74f224ba96L,0x9dcd91999edd7149L } },
  45085. /* 155 */
  45086. { { 0xee9f81a64e94f22aL,0xe5609892f71ec341L,0x6c818ddda998284eL,
  45087. 0x9fd472953b54b098L,0x47a6ac030e8a7cc9L,0xde684e5eb207a382L },
  45088. { 0x4bdd1ecd2b6b956bL,0x09084414f01b3583L,0xe2f80b3255233b14L,
  45089. 0x5a0fec54ef5ebc5eL,0x74cf25e6bf8b29a2L,0x1c757fa07f29e014L } },
  45090. /* 156 */
  45091. { { 0x1bcb5c4aeb0fdfe4L,0xd7c649b3f0899367L,0xaef68e3f05bc083bL,
  45092. 0x57a06e46a78aa607L,0xa2136ecc21223a44L,0x89bd648452f5a50bL },
  45093. { 0x724411b94455f15aL,0x23dfa97008a9c0fdL,0x7b0da4d16db63befL,
  45094. 0x6f8a7ec1fb162443L,0xc1ac9ceee98284fbL,0x085a582b33566022L } },
  45095. /* 157 */
  45096. { { 0x15cb61f9ec1f138aL,0x11c9a230668f0c28L,0xac829729df93f38fL,
  45097. 0xcef256984048848dL,0x3f686da02bba8fbfL,0xed5fea78111c619aL },
  45098. { 0x9b4f73bcd6d1c833L,0x5095160686e7bf80L,0xa2a73508042b1d51L,
  45099. 0x9ef6ea495fb89ec2L,0xf1008ce95ef8b892L,0x78a7e6849ae8568bL } },
  45100. /* 158 */
  45101. { { 0x3fe83a7c10470cd8L,0x92734682f86df000L,0xb5dac06bda9409b5L,
  45102. 0x1e7a966094939c5fL,0xdec6c1505cc116dcL,0x1a52b40866bac8ccL },
  45103. { 0x5303a3656e864045L,0x45eae72a9139efc1L,0x83bec6466f31d54fL,
  45104. 0x2fb4a86f6e958a6dL,0x6760718e4ff44030L,0x008117e3e91ae0dfL } },
  45105. /* 159 */
  45106. { { 0x5d5833ba384310a2L,0xbdfb4edc1fd6c9fcL,0xb9a4f102849c4fb8L,
  45107. 0xe5fb239a581c1e1fL,0xba44b2e7d0a9746dL,0x78f7b7683bd942b9L },
  45108. { 0x076c8ca1c87607aeL,0x82b23c2ed5caaa7eL,0x6a581f392763e461L,
  45109. 0xca8a5e4a3886df11L,0xc87e90cf264e7f22L,0x04f74870215cfcfcL } },
  45110. /* 160 */
  45111. { { 0x5285d116141d161cL,0x67cd2e0e93c4ed17L,0x12c62a647c36187eL,
  45112. 0xf5329539ed2584caL,0xc4c777c442fbbd69L,0x107de7761bdfc50aL },
  45113. { 0x9976dcc5e96beebdL,0xbe2aff95a865a151L,0x0e0a9da19d8872afL,
  45114. 0x5e357a3da63c17ccL,0xd31fdfd8e15cc67cL,0xc44bbefd7970c6d8L } },
  45115. /* 161 */
  45116. { { 0x703f83e24c0c62f1L,0x9b1e28ee4e195572L,0x6a82858bfe26ccedL,
  45117. 0xd381c84bc43638faL,0x94f72867a5ba43d8L,0x3b4a783d10b82743L },
  45118. { 0xee1ad7b57576451eL,0xc3d0b59714b6b5c8L,0x3dc30954fcacc1b8L,
  45119. 0x55df110e472c9d7bL,0x97c86ed702f8a328L,0xd043341388dc098fL } },
  45120. /* 162 */
  45121. { { 0x1a60d1522ca8f2feL,0x61640948491bd41fL,0x6dae29a558dfe035L,
  45122. 0x9a615bea278e4863L,0xbbdb44779ad7c8e5L,0x1c7066302ceac2fcL },
  45123. { 0x5e2b54c699699b4bL,0xb509ca6d239e17e8L,0x728165feea063a82L,
  45124. 0x6b5e609db6a22e02L,0x12813905b26ee1dfL,0x07b9f722439491faL } },
  45125. /* 163 */
  45126. { { 0x1592ec1448ff4e49L,0x3e4e9f176d644129L,0x7acf82881156acc0L,
  45127. 0x5aa34ba8bb092b0bL,0xcd0f90227d38393dL,0x416724ddea4f8187L },
  45128. { 0x3c4e641cc0139e73L,0xe0fe46cf91e4d87dL,0xedb3c792cab61f8aL,
  45129. 0x4cb46de4d3868753L,0xe449c21d20f1098aL,0x5e5fd059f5b8ea6eL } },
  45130. /* 164 */
  45131. { { 0x7fcadd4675856031L,0x89c7a4cdeaf2fbd0L,0x1af523ce7a87c480L,
  45132. 0xe5fc109561d9ae90L,0x3fb5864fbcdb95f5L,0xbeb5188ebb5b2c7dL },
  45133. { 0x3d1563c33ae65825L,0x116854c40e57d641L,0x11f73d341942ebd3L,
  45134. 0x24dc5904c06955b3L,0x8a0d4c83995a0a62L,0xfb26b86d5d577b7dL } },
  45135. /* 165 */
  45136. { { 0xc53108e7c686ae17L,0x9090d739d1c1da56L,0x4583b0139aec50aeL,
  45137. 0xdd9a088ba49a6ab2L,0x28192eeaf382f850L,0xcc8df756f5fe910eL },
  45138. { 0x877823a39cab7630L,0x64984a9afb8e7fc1L,0x5448ef9c364bfc16L,
  45139. 0xbbb4f871c44e2a9aL,0x901a41ab435c95e9L,0xc6c23e5faaa50a06L } },
  45140. /* 166 */
  45141. { { 0xb78016c19034d8ddL,0x856bb44b0b13e79bL,0x85c6409ab3241a05L,
  45142. 0x8d2fe19a2d78ed21L,0xdcc7c26d726eddf2L,0x3ccaff5f25104f04L },
  45143. { 0x397d7edc6b21f843L,0xda88e4dde975de4cL,0x5273d3964f5ab69eL,
  45144. 0x537680e39aae6cc0L,0xf749cce53e6f9461L,0x021ddbd9957bffd3L } },
  45145. /* 167 */
  45146. { { 0x7b64585f777233cfL,0xfe6771f60942a6f0L,0x636aba7adfe6eef0L,
  45147. 0x63bbeb5686038029L,0xacee5842de8fcf36L,0x48d9aa99d4a20524L },
  45148. { 0xcff7a74c0da5e57aL,0xc232593ce549d6c9L,0x68504bccf0f2287bL,
  45149. 0x6d7d098dbc8360b5L,0xeac5f1495b402f41L,0x61936f11b87d1bf1L } },
  45150. /* 168 */
  45151. { { 0xaa9da167b8153a9dL,0xa49fe3ac9e83ecf0L,0x14c18f8e1b661384L,
  45152. 0x61c24dab38434de1L,0x3d973c3a283dae96L,0xc99baa0182754fc9L },
  45153. { 0x477d198f4c26b1e3L,0x12e8e186a7516202L,0x386e52f6362addfaL,
  45154. 0x31e8f695c3962853L,0xdec2af136aaedb60L,0xfcfdb4c629cf74acL } },
  45155. /* 169 */
  45156. { { 0x6b3ee958cca40298L,0xc3878153f2f5d195L,0x0c565630ed2eae5bL,
  45157. 0xd089b37e3a697cf2L,0xc2ed2ac7ad5029eaL,0x7e5cdfad0f0dda6aL },
  45158. { 0xf98426dfd9b86202L,0xed1960b14335e054L,0x1fdb02463f14639eL,
  45159. 0x17f709c30db6c670L,0xbfc687ae773421e1L,0x13fefc4a26c1a8acL } },
  45160. /* 170 */
  45161. { { 0xe361a1987ffa0a5fL,0xf4b26102c63fe109L,0x264acbc56c74e111L,
  45162. 0x4af445fa77abebafL,0x448c4fdd24cddb75L,0x0b13157d44506eeaL },
  45163. { 0x22a6b15972e9993dL,0x2c3c57e485e5ecbeL,0xa673560bfd83e1a1L,
  45164. 0x6be23f82c3b8c83bL,0x40b13a9640bbe38eL,0x66eea033ad17399bL } },
  45165. /* 171 */
  45166. { { 0x49fc6e95b4c6c693L,0xefc735de36af7d38L,0xe053343d35fe42fcL,
  45167. 0xf0aa427c6a9ab7c3L,0xc79f04364a0fcb24L,0x1628724393ebbc50L },
  45168. { 0x5c3d6bd016927e1eL,0x40158ed2673b984cL,0xa7f86fc84cd48b9aL,
  45169. 0x1643eda660ea282dL,0x45b393eae2a1beedL,0x664c839e19571a94L } },
  45170. /* 172 */
  45171. { { 0x5774575027eeaf94L,0x2875c925ea99e1e7L,0xc127e7ba5086adeaL,
  45172. 0x765252a086fe424fL,0x1143cc6c2b6c0281L,0xc9bb2989d671312dL },
  45173. { 0x880c337c51acb0a5L,0xa3710915d3c60f78L,0x496113c09262b6edL,
  45174. 0x5d25d9f89ce48182L,0x53b6ad72b3813586L,0x0ea3bebc4c0e159cL } },
  45175. /* 173 */
  45176. { { 0xcaba450ac5e49beaL,0x684e54157c05da59L,0xa2e9cab9de7ac36cL,
  45177. 0x4ca79b5f2e6f957bL,0xef7b024709b817b1L,0xeb3049907d89df0fL },
  45178. { 0x508f730746fe5096L,0x695810e82e04eaafL,0x88ef1bd93512f76cL,
  45179. 0x776613513ebca06bL,0xf7d4863accf158b7L,0xb2a81e4494ee57daL } },
  45180. /* 174 */
  45181. { { 0xff288e5b6d53e6baL,0xa90de1a914484ea2L,0x2fadb60ced33c8ecL,
  45182. 0x579d6ef328b66a40L,0x4f2dd6ddec24372dL,0xe9e33fc91d66ec7dL },
  45183. { 0x110899d2039eab6eL,0xa31a667a3e97bb5eL,0x6200166dcfdce68eL,
  45184. 0xbe83ebae5137d54bL,0x085f7d874800acdfL,0xcf4ab1330c6f8c86L } },
  45185. /* 175 */
  45186. { { 0x03f65845931e08fbL,0x6438551e1506e2c0L,0x5791f0dc9c36961fL,
  45187. 0x68107b29e3dcc916L,0x83242374f495d2caL,0xd8cfb6636ee5895bL },
  45188. { 0x525e0f16a0349b1bL,0x33cd2c6c4a0fab86L,0x46c12ee82af8dda9L,
  45189. 0x7cc424ba71e97ad3L,0x69766ddf37621eb0L,0x95565f56a5f0d390L } },
  45190. /* 176 */
  45191. { { 0xe0e7bbf21a0f5e94L,0xf771e1151d82d327L,0x10033e3dceb111faL,
  45192. 0xd269744dd3426638L,0xbdf2d9da00d01ef6L,0x1cb80c71a049ceafL },
  45193. { 0x17f183289e21c677L,0x6452af0519c8f98bL,0x35b9c5f780b67997L,
  45194. 0x5c2e1cbe40f8f3d4L,0x43f9165666d667caL,0x9faaa059cf9d6e79L } },
  45195. /* 177 */
  45196. { { 0x8ad246180a078fe6L,0xf6cc73e6464fd1ddL,0x4d2ce34dc3e37448L,
  45197. 0x624950c5e3271b5fL,0x62910f5eefc5af72L,0x8b585bf8aa132bc6L },
  45198. { 0x11723985a839327fL,0x34e2d27d4aac252fL,0x402f59ef6296cc4eL,
  45199. 0x00ae055c47053de9L,0xfc22a97228b4f09bL,0xa9e86264fa0c180eL } },
  45200. /* 178 */
  45201. { { 0x0b7b6224bc310eccL,0x8a1a74f167fa14edL,0x87dd09607214395cL,
  45202. 0xdf1b3d09f5c91128L,0x39ff23c686b264a8L,0xdc2d49d03e58d4c5L },
  45203. { 0x2152b7d3a9d6f501L,0xf4c32e24c04094f7L,0xc6366596d938990fL,
  45204. 0x084d078f94fb207fL,0xfd99f1d7328594cbL,0x36defa64cb2d96b3L } },
  45205. /* 179 */
  45206. { { 0x4619b78113ed7cbeL,0x95e500159784bd0eL,0x2a32251c2c7705feL,
  45207. 0xa376af995f0dd083L,0x55425c6c0361a45bL,0x812d2cef1f291e7bL },
  45208. { 0xccf581a05fd94972L,0x26e20e39e56dc383L,0x0093685d63dbfbf0L,
  45209. 0x1fc164cc36b8c575L,0xb9c5ab81390ef5e7L,0x40086beb26908c66L } },
  45210. /* 180 */
  45211. { { 0xe5e54f7937e3c115L,0x69b8ee8cc1445a8aL,0x79aedff2b7659709L,
  45212. 0xe288e1631b46fbe6L,0xdb4844f0d18d7bb7L,0xe0ea23d048aa6424L },
  45213. { 0x714c0e4ef3d80a73L,0x87a0aa9e3bd64f98L,0x8844b8a82ec63080L,
  45214. 0xe0ac9c30255d81a3L,0x86151237455397fcL,0x0b9794642f820155L } },
  45215. /* 181 */
  45216. { { 0x127a255a4ae03080L,0x232306b4580a89fbL,0x04e8cd6a6416f539L,
  45217. 0xaeb70dee13b02a0eL,0xa3038cf84c09684aL,0xa710ec3c28e433eeL },
  45218. { 0x77a72567681b1f7dL,0x86fbce952fc28170L,0xd3408683f5735ac8L,
  45219. 0x3a324e2a6bd68e93L,0x7ec74353c027d155L,0xab60354cd4427177L } },
  45220. /* 182 */
  45221. { { 0x32a5342aef4c209dL,0x2ba7527408d62704L,0x4bb4af6fc825d5feL,
  45222. 0x1c3919ced28e7ff1L,0x1dfc2fdcde0340f6L,0xc6580baf29f33ba9L },
  45223. { 0xae121e7541d442cbL,0x4c7727fd3a4724e4L,0xe556d6a4524f3474L,
  45224. 0x87e13cc7785642a2L,0x182efbb1a17845fdL,0xdcec0cf14e144857L } },
  45225. /* 183 */
  45226. { { 0x1cb89541e9539819L,0xc8cb3b4f9d94dbf1L,0x1d353f63417da578L,
  45227. 0xb7a697fb8053a09eL,0x8d841731c35d8b78L,0x85748d6fb656a7a9L },
  45228. { 0x1fd03947c1859c5dL,0x6ce965c1535d22a2L,0x1966a13e0ca3aadcL,
  45229. 0x9802e41d4fb14effL,0xa9048cbb76dd3fcdL,0x89b182b5e9455bbaL } },
  45230. /* 184 */
  45231. { { 0xd777ad6a43360710L,0x841287ef55e9936bL,0xbaf5c67004a21b24L,
  45232. 0xf2c0725f35ad86f1L,0x338fa650c707e72eL,0x2bf8ed2ed8883e52L },
  45233. { 0xb0212cf4b56e0d6aL,0x50537e126843290cL,0xd8b184a198b3dc6fL,
  45234. 0xd2be9a350210b722L,0x407406db559781eeL,0x5a78d5910bc18534L } },
  45235. /* 185 */
  45236. { { 0x4d57aa2ad748b02cL,0xbe5b3451a12b3b95L,0xadca7a4564711258L,
  45237. 0x597e091a322153dbL,0xf327100632eb1eabL,0xbd9adcba2873f301L },
  45238. { 0xd1dc79d138543f7fL,0x00022092921b1fefL,0x86db3ef51e5df8edL,
  45239. 0x888cae049e6b944aL,0x71bd29ec791a32b4L,0xd3516206a6d1c13eL } },
  45240. /* 186 */
  45241. { { 0x2ef6b95255924f43L,0xd2f401ae4f9de8d5L,0xfc73e8d7adc68042L,
  45242. 0x627ea70c0d9d1bb4L,0xc3bb3e3ebbf35679L,0x7e8a254ad882dee4L },
  45243. { 0x08906f50b5924407L,0xf14a0e61a1ad444aL,0xaa0efa2165f3738eL,
  45244. 0xd60c7dd6ae71f161L,0x9e8390faf175894dL,0xd115cd20149f4c00L } },
  45245. /* 187 */
  45246. { { 0x2f2e2c1da52abf77L,0xc2a0dca554232568L,0xed423ea254966dccL,
  45247. 0xe48c93c7cd0dd039L,0x1e54a225176405c7L,0x1efb5b1670d58f2eL },
  45248. { 0xa751f9d994fb1471L,0xfdb31e1f67d2941dL,0xa6c74eb253733698L,
  45249. 0xd3155d1189a0f64aL,0x4414cfe4a4b8d2b6L,0x8d5a4be8f7a8e9e3L } },
  45250. /* 188 */
  45251. { { 0x5c96b4d452669e98L,0x4547f9228fd42a03L,0xcf5c1319d285174eL,
  45252. 0x805cd1ae064bffa0L,0x50e8bc4f246d27e7L,0xf89ef98fd5781e11L },
  45253. { 0xb4ff95f6dee0b63fL,0xad850047222663a4L,0x026918604d23ce9cL,
  45254. 0x3e5309ce50019f59L,0x27e6f72269a508aeL,0xe9376652267ba52cL } },
  45255. /* 189 */
  45256. { { 0xa04d289cc0368708L,0xc458872f5e306e1dL,0x76fa23de33112feaL,
  45257. 0x718e39746efde42eL,0xf0c98cdc1d206091L,0x5fa3ca6214a71987L },
  45258. { 0xeee8188bdcaa9f2aL,0x312cc732589a860dL,0xf9808dd6c63aeb1fL,
  45259. 0x70fd43db4ea62b53L,0x2c2bfe34890b6e97L,0x105f863cfa426aa6L } },
  45260. /* 190 */
  45261. { { 0x0b29795db38059adL,0x5686b77e90647ea0L,0xeff0470edb473a3eL,
  45262. 0x278d2340f9b6d1e2L,0xebbff95bbd594ec7L,0xf4b72334d3a7f23dL },
  45263. { 0x2a285980a5a83f0bL,0x0786c41a9716a8b3L,0x138901bd22511812L,
  45264. 0xd1b55221e2fede6eL,0x0806e264df4eb590L,0x6c4c897e762e462eL } },
  45265. /* 191 */
  45266. { { 0xd10b905fb4b41d9dL,0x826ca4664523a65bL,0x535bbd13b699fa37L,
  45267. 0x5b9933d773bc8f90L,0x9332d61fcd2118adL,0x158c693ed4a65fd0L },
  45268. { 0x4ddfb2a8e6806e63L,0xe31ed3ecb5de651bL,0xf9460e51819bc69aL,
  45269. 0x6229c0d62c76b1f8L,0xbb78f231901970a3L,0x31f3820f9cee72b8L } },
  45270. /* 192 */
  45271. { { 0xe931caf2c09e1c72L,0x0715f29812990cf4L,0x33aad81d943262d8L,
  45272. 0x5d292b7a73048d3fL,0xb152aaa4dc7415f6L,0xc3d10fd90fd19587L },
  45273. { 0xf76b35c575ddadd0L,0x9f5f4a511e7b694cL,0x2f1ab7ebc0663025L,
  45274. 0x01c9cc87920260b0L,0xc4b1f61a05d39da6L,0x6dcd76c4eb4a9c4eL } },
  45275. /* 193 */
  45276. { { 0x0ba0916ffdc83f01L,0x354c8b449553e4f9L,0xa6cc511affc5e622L,
  45277. 0xb954726ae95be787L,0xcb04811575b41a62L,0xfa2ae6cdebfde989L },
  45278. { 0x6376bbc70f24659aL,0x13a999fd4c289c43L,0xc7134184ec9abd8bL,
  45279. 0x28c02bf6a789ab04L,0xff841ebcd3e526ecL,0x442b191e640893a8L } },
  45280. /* 194 */
  45281. { { 0x4cac6c62fa2b6e20L,0x97f29e9bf6d69861L,0x228ab1dbbc96d12dL,
  45282. 0x6eb913275e8e108dL,0xd4b3d4d140771245L,0x61b20623ca8a803aL },
  45283. { 0x2c2f3b41a6a560b1L,0x879e1d403859fcf4L,0x7cdb5145024dbfc3L,
  45284. 0x55d08f153bfa5315L,0x2f57d773aa93823aL,0xa97f259cc6a2c9a2L } },
  45285. /* 195 */
  45286. { { 0xc306317be58edbbbL,0x25ade51c79dfdf13L,0x6b5beaf116d83dd6L,
  45287. 0xe8038a441dd8f925L,0x7f00143cb2a87b6bL,0xa885d00df5b438deL },
  45288. { 0xe9f76790cf9e48bdL,0xf0bdf9f0a5162768L,0x0436709fad7b57cbL,
  45289. 0x7e151c12f7c15db7L,0x3514f0225d90ee3bL,0x2e84e8032c361a8dL } },
  45290. /* 196 */
  45291. { { 0x2277607d563ec8d8L,0xa661811fe3934cb7L,0x3ca72e7af58fd5deL,
  45292. 0x7989da0462294c6aL,0x88b3708bf6bbefe9L,0x0d524cf753ed7c82L },
  45293. { 0x69f699ca2f30c073L,0xf0fa264b9dc1dcf3L,0x44ca456805f0aaf6L,
  45294. 0x0f5b23c7d19b9bafL,0x39193f41eabd1107L,0x9e3e10ad2a7c9b83L } },
  45295. /* 197 */
  45296. { { 0xa90824f0d4ae972fL,0x43eef02bc6e846e7L,0x7e46061229d2160aL,
  45297. 0x29a178acfe604e91L,0x23056f044eb184b2L,0x4fcad55feb54cdf4L },
  45298. { 0xa0ff96f3ae728d15L,0x8a2680c6c6a00331L,0x5f84cae07ee52556L,
  45299. 0x5e462c3ac5a65dadL,0x5d2b81dfe2d23f4fL,0x6e47301bc5b1eb07L } },
  45300. /* 198 */
  45301. { { 0x77411d68af8219b9L,0xcb883ce651b1907aL,0x25c87e57101383b5L,
  45302. 0x9c7d9859982f970dL,0xaa6abca5118305d2L,0x725fed2f9013a5dbL },
  45303. { 0x487cdbafababd109L,0xc0f8cf5687586528L,0xa02591e68ad58254L,
  45304. 0xc071b1d1debbd526L,0x927dfe8b961e7e31L,0x55f895f99263dfe1L } },
  45305. /* 199 */
  45306. { { 0xf899b00db175645bL,0x51f3a627b65b4b92L,0xa2f3ac8db67399efL,
  45307. 0xe717867fe400bc20L,0x42cc90201967b952L,0x3d5967513ecd1de1L },
  45308. { 0xd41ebcdedb979775L,0x99ba61bc6a2e7e88L,0x039149a5321504f2L,
  45309. 0xe7dc231427ba2fadL,0x9f556308b57d8368L,0x2b6d16c957da80a7L } },
  45310. /* 200 */
  45311. { { 0x84af5e76279ad982L,0x9bb4c92d9c8b81a6L,0xd79ad44e0e698e67L,
  45312. 0xe8be9048265fc167L,0xf135f7e60c3a4cccL,0xa0a10d38b8863a33L },
  45313. { 0xe197247cd386efd9L,0x0eefd3f9b52346c2L,0xc22415f978607bc8L,
  45314. 0xa2a8f862508674ceL,0xa72ad09ec8c9d607L,0xcd9f0ede50fa764fL } },
  45315. /* 201 */
  45316. { { 0x063391c7d1a46d4dL,0x2df51c119eb01693L,0xc5849800849e83deL,
  45317. 0x48fd09aa8ad08382L,0xa405d873aa742736L,0xee49e61ee1f9600cL },
  45318. { 0xd76676be48c76f73L,0xd9c100f601274b2aL,0x110bb67c83f8718dL,
  45319. 0xec85a42002fc0d73L,0xc0449e1e744656adL,0x28ce737637d9939bL } },
  45320. /* 202 */
  45321. { { 0x97e9af7244544ac7L,0xf2c658d5ba010426L,0x732dec39fb3adfbdL,
  45322. 0xd12faf91a2df0b07L,0x8ac267252171e208L,0xf820cdc85b24fa54L },
  45323. { 0x307a6eea94f4cf77L,0x18c783d2944a33c6L,0x4b939d4c0b741ac5L,
  45324. 0x1d7acd153ffbb6e4L,0x06a248587a255e44L,0x14fbc494ce336d50L } },
  45325. /* 203 */
  45326. { { 0x9b920c0c51584e3cL,0xc7733c59f7e54027L,0xe24ce13988422bbeL,
  45327. 0x11ada812523bd6abL,0xde068800b88e6defL,0x7b872671fe8c582dL },
  45328. { 0x4e746f287de53510L,0x492f8b99f7971968L,0x1ec80bc77d928ac2L,
  45329. 0xb3913e48432eb1b5L,0xad08486632028f6eL,0x122bb8358fc2f38bL } },
  45330. /* 204 */
  45331. { { 0x0a9f3b1e3b0b29c3L,0x837b64324fa44151L,0xb9905c9217b28ea7L,
  45332. 0xf39bc93798451750L,0xcd383c24ce8b6da1L,0x299f57db010620b2L },
  45333. { 0x7b6ac39658afdce3L,0xa15206b33d05ef47L,0xa0ae37e2b9bb02ffL,
  45334. 0x107760ab9db3964cL,0xe29de9a067954beaL,0x446a1ad8431c3f82L } },
  45335. /* 205 */
  45336. { { 0xc6fecea05c6b8195L,0xd744a7c5f49e71b9L,0xa8e96acc177a7ae7L,
  45337. 0x1a05746c358773a7L,0xa416214637567369L,0xaa0217f787d1c971L },
  45338. { 0x61e9d15877fd3226L,0x0f6f2304e4f600beL,0xa9c4cebc7a6dff07L,
  45339. 0xd15afa0109f12a24L,0x2bbadb228c863ee9L,0xa28290e4e5eb8c78L } },
  45340. /* 206 */
  45341. { { 0x55b87fa03e9de330L,0x12b26066195c145bL,0xe08536e0a920bef0L,
  45342. 0x7bff6f2c4d195adcL,0x7f319e9d945f4187L,0xf9848863f892ce47L },
  45343. { 0xd0efc1d34fe37657L,0x3c58de825cf0e45aL,0x626ad21a8b0ccbbeL,
  45344. 0xd2a31208af952fc5L,0x81791995eb437357L,0x5f19d30f98e95d4fL } },
  45345. /* 207 */
  45346. { { 0x72e83d9a0e6865bbL,0x22f5af3bf63456a6L,0x409e9c73463c8d9eL,
  45347. 0x40e9e578dfe6970eL,0x876b6efa711b91caL,0x895512cf942625a3L },
  45348. { 0x84c8eda8cb4e462bL,0x84c0154a4412e7c8L,0x04325db1ceb7b71fL,
  45349. 0x1537dde366f70877L,0xf3a093991992b9acL,0xa7316606d498ae77L } },
  45350. /* 208 */
  45351. { { 0x13990d2fcad260f5L,0x76c3be29eec0e8c0L,0x7dc5bee00f7bd7d5L,
  45352. 0x9be167d2efebda4bL,0xcce3dde69122b87eL,0x75a28b0982b5415cL },
  45353. { 0xf6810bcde84607a6L,0xc6d581286f4dbf0dL,0xfead577d1b4dafebL,
  45354. 0x9bc440b2066b28ebL,0x53f1da978b17e84bL,0x0459504bcda9a575L } },
  45355. /* 209 */
  45356. { { 0x13e39a02329e5836L,0x2c9e7d51f717269dL,0xc5ac58d6f26c963bL,
  45357. 0x3b0c6c4379967bf5L,0x60bbea3f55908d9dL,0xd84811e7f07c9ad1L },
  45358. { 0xfe7609a75bd20e4aL,0xe4325dd20a70baa8L,0x3711f370b3600386L,
  45359. 0x97f9562fd0924302L,0x040dc0c34acc4436L,0xfd6d725cde79cdd4L } },
  45360. /* 210 */
  45361. { { 0xb3efd0e3cf13eafbL,0x21009cbb5aa0ae5fL,0xe480c55379022279L,
  45362. 0x755cf334b2fc9a6dL,0x8564a5bf07096ae7L,0xddd649d0bd238139L },
  45363. { 0xd0de10b18a045041L,0x6e05b413c957d572L,0x5c5ff8064e0fb25cL,
  45364. 0xd933179b641162fbL,0x42d48485e57439f9L,0x70c5bd0a8a8d72aaL } },
  45365. /* 211 */
  45366. { { 0xa767173897bdf646L,0xaa1485b4ab329f7cL,0xce3e11d6f8f25fdfL,
  45367. 0x76a3fc7ec6221824L,0x045f281ff3924740L,0x24557d4e96d13a9aL },
  45368. { 0x875c804bdd4c27cdL,0x11c5f0f40f5c7feaL,0xac8c880bdc55ff7eL,
  45369. 0x2acddec51103f101L,0x38341a21f99faa89L,0xc7b67a2cce9d6b57L } },
  45370. /* 212 */
  45371. { { 0x9a0d724f8e357586L,0x1d7f4ff5df648da0L,0x9c3e6c9bfdee62a5L,
  45372. 0x0499cef00389b372L,0xe904050d98eab879L,0xe8eef1b66c051617L },
  45373. { 0xebf5bfebc37e3ca9L,0x7c5e946da4e0b91dL,0x790973142c4bea28L,
  45374. 0x81f6c109ee67b2b7L,0xaf237d9bdafc5edeL,0xd2e602012abb04c7L } },
  45375. /* 213 */
  45376. { { 0x6156060c8a4f57bfL,0xf9758696ff11182aL,0x8336773c6296ef00L,
  45377. 0x9c054bceff666899L,0xd6a11611719cd11cL,0x9824a641dbe1acfaL },
  45378. { 0x0b7b7a5fba89fd01L,0xf8d3b809889f79d8L,0xc5e1ea08f578285cL,
  45379. 0x7ac74536ae6d8288L,0x5d37a2007521ef5fL,0x5ecc4184b260a25dL } },
  45380. /* 214 */
  45381. { { 0xddcebb19a708c8d3L,0xe63ed04fc63f81ecL,0xd045f5a011873f95L,
  45382. 0x3b5ad54479f276d5L,0x81272a3d425ae5b3L,0x8bfeb50110ce1605L },
  45383. { 0x4233809c888228bfL,0x4bd82acfb2aff7dfL,0x9c68f1800cbd4a7fL,
  45384. 0xfcd771246b44323dL,0x60c0fcf6891db957L,0xcfbb4d8904da8f7fL } },
  45385. /* 215 */
  45386. { { 0x9a6a5df93b26139aL,0x3e076a83b2cc7eb8L,0x47a8e82d5a964bcdL,
  45387. 0x8a4e2a39b9278d6bL,0x93506c98e4443549L,0x06497a8ff1e0d566L },
  45388. { 0x3dee8d992b1efa05L,0x2da63ca845393e33L,0xa4af7277cf0579adL,
  45389. 0xaf4b46393236d8eaL,0x6ccad95b32b617f5L,0xce76d8b8b88bb124L } },
  45390. /* 216 */
  45391. { { 0x63d2537a083843dcL,0x89eb35141e4153b4L,0x5175ebc4ea9afc94L,
  45392. 0x7a6525808ed1aed7L,0x67295611d85e8297L,0x8dd2d68bb584b73dL },
  45393. { 0x237139e60133c3a4L,0x9de838ab4bd278eaL,0xe829b072c062fcd9L,
  45394. 0x70730d4f63ba8706L,0x6080483fd3cd05ecL,0x872ab5b80c85f84dL } },
  45395. /* 217 */
  45396. { { 0xfc0776d3999d4d49L,0xa3eb59deec3f45e7L,0xbc990e440dae1fc1L,
  45397. 0x33596b1ea15371ffL,0xd447dcb29bc7ab25L,0xcd5b63e935979582L },
  45398. { 0xae3366fa77d1ff11L,0x59f28f05edee6903L,0x6f43fed1a4433bf2L,
  45399. 0x15409c9bdf9ce00eL,0x21b5cdedaca9c5dcL,0xf9f3359582d7bdb4L } },
  45400. /* 218 */
  45401. { { 0x959443789422c792L,0x239ea923c958b8bfL,0x4b61a247df076541L,
  45402. 0x4d29ce85bb9fc544L,0x9a692a670b424559L,0x6e0ca5a00e486900L },
  45403. { 0x6b79a78285b3beceL,0x41f35e39c61f9892L,0xff82099aae747f82L,
  45404. 0x58c8ae3fd0ca59d6L,0x4ac930e299406b5fL,0x2ce04eb99df24243L } },
  45405. /* 219 */
  45406. { { 0x4366b9941ac37b82L,0xff0c728d25b04d83L,0x1f55136119c47b7cL,
  45407. 0xdbf2d5edbeff13e7L,0xf78efd51e12a683dL,0x82cd85b9989cf9c4L },
  45408. { 0xe23c6db6e0cb5d37L,0x818aeebd72ee1a15L,0x8212aafd28771b14L,
  45409. 0x7bc221d91def817dL,0xdac403a29445c51fL,0x711b051712c3746bL } },
  45410. /* 220 */
  45411. { { 0x0ed9ed485ea99eccL,0xf799500db8cab5e1L,0xa8ec87dcb570cbdcL,
  45412. 0x52cfb2c2d35dfaecL,0x8d31fae26e4d80a4L,0xe6a37dc9dcdeabe5L },
  45413. { 0x5d365a341deca452L,0x09a5f8a50d68b44eL,0x59238ea5a60744b1L,
  45414. 0xf2fedc0dbb4249e9L,0xe395c74ea909b2e3L,0xe156d1a539388250L } },
  45415. /* 221 */
  45416. { { 0xd796b3d047181ae9L,0xbaf44ba844197808L,0xe693309434cf3facL,
  45417. 0x41aa6adec3bd5c46L,0x4fda75d8eed947c6L,0xacd9d4129ea5a525L },
  45418. { 0x65cc55a3d430301bL,0x3c9a5bcf7b52ea49L,0x22d319cf159507f0L,
  45419. 0x2ee0b9b5de74a8ddL,0x20c26a1e877ac2b6L,0x387d73da92e7c314L } },
  45420. /* 222 */
  45421. { { 0x13c4833e8cd3fdacL,0x76fcd473332e5b8eL,0xff671b4be2fe1fd3L,
  45422. 0x4d734e8b5d98d8ecL,0xb1ead3c6514bbc11L,0xd14ca8587b390494L },
  45423. { 0x95a443af5d2d37e9L,0x73c6ea7300464622L,0xa44aeb4b15755044L,
  45424. 0xba3f8575fab58feeL,0x9779dbc9dc680a6fL,0xe1ee5f5a7b37ddfcL } },
  45425. /* 223 */
  45426. { { 0xcd0b464812d29f46L,0x93295b0b0ed53137L,0xbfe2609480bef6c9L,
  45427. 0xa656578854248b00L,0x69c43fca80e7f9c4L,0x2190837bbe141ea1L },
  45428. { 0x875e159aa1b26cfbL,0x90ca9f877affe852L,0x15e6550d92ca598eL,
  45429. 0xe3e0945d1938ad11L,0xef7636bb366ef937L,0xb6034d0bb39869e5L } },
  45430. /* 224 */
  45431. { { 0x4d255e3026d8356eL,0xf83666edd314626fL,0x421ddf61d0c8ed64L,
  45432. 0x96e473c526677b61L,0xdad4af7e9e9b18b3L,0xfceffd4aa9393f75L },
  45433. { 0x843138a111c731d5L,0x05bcb3a1b2f141d9L,0x20e1fa95617b7671L,
  45434. 0xbefce81288ccec7bL,0x582073dc90f1b568L,0xf572261a1f055cb7L } },
  45435. /* 225 */
  45436. { { 0xf314827736973088L,0xc008e70886a9f980L,0x1b795947e046c261L,
  45437. 0xdf1e6a7dca76bca0L,0xabafd88671acddf0L,0xff7054d91364d8f4L },
  45438. { 0x2cf63547e2260594L,0x468a5372d73b277eL,0xc7419e24ef9bd35eL,
  45439. 0x2b4a1c2024043cc3L,0xa28f047a890b39cdL,0xdca2cea146f9a2e3L } },
  45440. /* 226 */
  45441. { { 0xab78873653277538L,0xa734e225cf697738L,0x66ee1d1e6b22e2c1L,
  45442. 0x2c615389ebe1d212L,0xf36cad4002bb0766L,0x120885c33e64f207L },
  45443. { 0x59e77d5690fbfec2L,0xf9e781aad7a574aeL,0x801410b05d045e53L,
  45444. 0xd3b5f0aaa91b5f0eL,0xb3d1df007fbb3521L,0x11c4b33ec72bee9aL } },
  45445. /* 227 */
  45446. { { 0xd32b983283c3a7f3L,0x8083abcf88d8a354L,0xdeb1640450f4ec5aL,
  45447. 0x18d747f0641e2907L,0x4e8978aef1bbf03eL,0x932447dc88a0cd89L },
  45448. { 0x561e0febcf3d5897L,0xfc3a682f13600e6dL,0xc78b9d73d16a6b73L,
  45449. 0xe713feded29bf580L,0x0a22522308d69e5cL,0x3a924a571ff7fda4L } },
  45450. /* 228 */
  45451. { { 0xfb64554cb4093beeL,0xa6d65a25a58c6ec0L,0x4126994d43d0ed37L,
  45452. 0xa5689a5155152d44L,0xb8e5ea8c284caa8dL,0x33f05d4fd1f25538L },
  45453. { 0xe0fdfe091b615d6eL,0x2ded7e8f705507daL,0xdd5631e517bbcc80L,
  45454. 0x4f87453e267fd11fL,0xc6da723fff89d62dL,0x55cbcae2e3cda21dL } },
  45455. /* 229 */
  45456. { { 0x336bc94e6b4e84f3L,0x728630314ef72c35L,0x6d85fdeeeeb57f99L,
  45457. 0x7f4e3272a42ece1bL,0x7f86cbb536f0320aL,0xf09b6a2b923331e6L },
  45458. { 0x21d3ecf156778435L,0x2977ba998323b2d2L,0x6a1b57fb1704bc0fL,
  45459. 0xd777cf8b389f048aL,0x9ce2174fac6b42cdL,0x404e2bff09e6c55aL } },
  45460. /* 230 */
  45461. { { 0x9b9b135e204c5ddbL,0x9dbfe0443eff550eL,0x35eab4bfec3be0f6L,
  45462. 0x8b4c3f0d0a43e56fL,0x4c1c66730e73f9b3L,0x92ed38bd2c78c905L },
  45463. { 0xc7003f6aa386e27cL,0xb9c4f46faced8507L,0xea024ec859df5464L,
  45464. 0x4af96152429572eaL,0x279cd5e2e1fc1194L,0xaa376a03281e358cL } },
  45465. /* 231 */
  45466. { { 0x078592233cdbc95cL,0xaae1aa6aef2e337aL,0xc040108d472a8544L,
  45467. 0x80c853e68d037b7dL,0xd221315c8c7eee24L,0x195d38568ee47752L },
  45468. { 0xd4b1ba03dacd7fbeL,0x4b5ac61ed3e0c52bL,0x68d3c0526aab7b52L,
  45469. 0xf0d7248c660e3feaL,0xafdb3f893145efb4L,0xa73fd9a38f40936dL } },
  45470. /* 232 */
  45471. { { 0x891b9ef3bb1b17ceL,0x14023667c6127f31L,0x12b2e58d305521fdL,
  45472. 0x3a47e449e3508088L,0xe49fc84bff751507L,0x4023f7225310d16eL },
  45473. { 0xa608e5edb73399faL,0xf12632d8d532aa3eL,0x13a2758e845e8415L,
  45474. 0xae4b6f851fc2d861L,0x3879f5b1339d02f2L,0x446d22a680d99ebdL } },
  45475. /* 233 */
  45476. { { 0x0f5023024be164f1L,0x8d09d2d688b81920L,0x514056f1984aceffL,
  45477. 0xa5c4ddf075e9e80dL,0x38cb47e6df496a93L,0x899e1d6b38df6bf7L },
  45478. { 0x69e87e88b59eb2a6L,0x280d9d639b47f38bL,0x599411ea3654e955L,
  45479. 0xcf8dd4fd969aa581L,0xff5c2baf530742a7L,0xa43915361a373085L } },
  45480. /* 234 */
  45481. { { 0x6ace72a3a8a4bdd2L,0xc656cdd1b68ef702L,0xd4a33e7e90c4dad8L,
  45482. 0x4aece08a9d951c50L,0xea8005ae085d68e6L,0xfdd7a7d76f7502b8L },
  45483. { 0xce6fb0a698d6fa45L,0x228f86721104eb8cL,0xd23d8787da09d7dcL,
  45484. 0x5521428b2ae93065L,0x95faba3dea56c366L,0xedbe50390a88aca5L } },
  45485. /* 235 */
  45486. { { 0xd64da0adbfb26c82L,0xe5d70b3c952c2f9cL,0xf5e8f365f7e77f68L,
  45487. 0x7234e00208f2d695L,0xfaf900eed12e7be6L,0x27dc69344acf734eL },
  45488. { 0x80e4ff5ec260a46aL,0x7da5ebce2dc31c28L,0x485c5d73ca69f552L,
  45489. 0xcdfb6b2969cc84c2L,0x031c5afeed6d4ecaL,0xc7bbf4c822247637L } },
  45490. /* 236 */
  45491. { { 0x9d5b72c749fe01b2L,0x34785186793a91b8L,0xa3ba3c54cf460438L,
  45492. 0x73e8e43d3ab21b6fL,0x50cde8e0be57b8abL,0x6488b3a7dd204264L },
  45493. { 0xa9e398b3dddc4582L,0x1698c1a95bec46feL,0x7f1446ef156d3843L,
  45494. 0x3fd25dd8770329a2L,0x05b1221a2c710668L,0x65b2dc2aa72ee6cfL } },
  45495. /* 237 */
  45496. { { 0x21a885f7cd021d63L,0x3f344b15fea61f08L,0xad5ba6ddc5cf73e6L,
  45497. 0x154d0d8f227a8b23L,0x9b74373cdc559311L,0x4feab71598620fa1L },
  45498. { 0x5098938e7d9ec924L,0x84d54a5e6d47e550L,0x1a2d1bdc1b617506L,
  45499. 0x99fe1782615868a4L,0x171da7803005a924L,0xa70bf5ed7d8f79b6L } },
  45500. /* 238 */
  45501. { { 0x0bc1250dfe2216c5L,0x2c37e2507601b351L,0xb6300175d6f06b7eL,
  45502. 0x4dde8ca18bfeb9b7L,0x4f210432b82f843dL,0x8d70e2f9b1ac0afdL },
  45503. { 0x25c73b78aae91abbL,0x0230dca3863028f2L,0x8b923ecfe5cf30b7L,
  45504. 0xed754ec25506f265L,0x8e41b88c729a5e39L,0xee67cec2babf889bL } },
  45505. /* 239 */
  45506. { { 0xe183acf51be46c65L,0x9789538fe7565d7aL,0x87873391d9627b4eL,
  45507. 0xbf4ac4c19f1d9187L,0x5db99f634691f5c8L,0xa68df80374a1fb98L },
  45508. { 0x3c448ed1bf92b5faL,0xa098c8413e0bdc32L,0x8e74cd5579bf016cL,
  45509. 0x5df0d09c115e244dL,0x9418ad013410b66eL,0x8b6124cb17a02130L } },
  45510. /* 240 */
  45511. { { 0x425ec3afc26e3392L,0xc07f8470a1722e00L,0xdcc28190e2356b43L,
  45512. 0x4ed97dffb1ef59a6L,0xc22b3ad1c63028c1L,0x070723c268c18988L },
  45513. { 0x70da302f4cf49e7dL,0xc5e87c933f12a522L,0x74acdd1d18594148L,
  45514. 0xad5f73abca74124cL,0xe72e4a3ed69fd478L,0x615938687b117cc3L } },
  45515. /* 241 */
  45516. { { 0x7b7b9577a9aa0486L,0x6e41fb35a063d557L,0xb017d5c7da9047d7L,
  45517. 0x8c74828068a87ba9L,0xab45fa5cdf08ad93L,0xcd9fb2174c288a28L },
  45518. { 0x595446425747843dL,0x34d64c6ca56111e3L,0x12e47ea14bfce8d5L,
  45519. 0x17740e056169267fL,0x5c49438eeed03fb5L,0x9da30add4fc3f513L } },
  45520. /* 242 */
  45521. { { 0xc4e85282ccfa5200L,0x2707608f6a19b13dL,0xdcb9a53df5726e2fL,
  45522. 0x612407c9e9427de5L,0x3e5a17e1d54d582aL,0xb99877de655ae118L },
  45523. { 0x6f0e972b015254deL,0x92a56db1f0a6f7c5L,0xd297e4e1a656f8b2L,
  45524. 0x99fe0052ad981983L,0xd3652d2f07cfed84L,0xc784352e843c1738L } },
  45525. /* 243 */
  45526. { { 0x6ee90af07e9b2d8aL,0xac8d701857cf1964L,0xf6ed903171f28efcL,
  45527. 0x7f70d5a96812b20eL,0x27b557f4f1c61eeeL,0xf1c9bd57c6263758L },
  45528. { 0x5cf7d0142a1a6194L,0xdd614e0b1890ab84L,0x3ef9de100e93c2a6L,
  45529. 0xf98cf575e0cd91c5L,0x504ec0c614befc32L,0xd0513a666279d68cL } },
  45530. /* 244 */
  45531. { { 0xa8eadbada859fb6aL,0xcf8346e7db283666L,0x7b35e61a3e22e355L,
  45532. 0x293ece2c99639c6bL,0xfa0162e256f241c8L,0xd2e6c7b9bf7a1ddaL },
  45533. { 0xd0de625340075e63L,0x2405aa61f9ec8286L,0x2237830a8fe45494L,
  45534. 0x4fd01ac7364e9c8cL,0x4d9c3d21904ba750L,0xd589be14af1b520bL } },
  45535. /* 245 */
  45536. { { 0x13576a4f4662e53bL,0x35ec2f51f9077676L,0x66297d1397c0af97L,
  45537. 0xed3201fe9e598b58L,0x49bc752a5e70f604L,0xb54af535bb12d951L },
  45538. { 0x36ea4c2b212c1c76L,0x18f5bbc7eb250dfdL,0xa0d466cc9a0a1a46L,
  45539. 0x52564da4dac2d917L,0x206559f48e95fab5L,0x7487c1909ca67a33L } },
  45540. /* 246 */
  45541. { { 0x75abfe37dde98e9cL,0x99b90b262a411199L,0x1b410996dcdb1f7cL,
  45542. 0xab346f118b3b5675L,0x04852193f1f8ae1eL,0x1ec4d2276b8b98c1L },
  45543. { 0xba3bc92645452baaL,0x387d1858acc4a572L,0x9478eff6e51f171eL,
  45544. 0xf357077d931e1c00L,0xffee77cde54c8ca8L,0xfb4892ff551dc9a4L } },
  45545. /* 247 */
  45546. { { 0x5b1bdad02db8dff8L,0xd462f4fd5a2285a2L,0x1d6aad8eda00b461L,
  45547. 0x43fbefcf41306d1bL,0x428e86f36a13fe19L,0xc8b2f11817f89404L },
  45548. { 0x762528aaf0d51afbL,0xa3e2fea4549b1d06L,0x86fad8f2ea3ddf66L,
  45549. 0x0d9ccc4b4fbdd206L,0xcde97d4cc189ff5aL,0xc36793d6199f19a6L } },
  45550. /* 248 */
  45551. { { 0xea38909b51b85197L,0xffb17dd0b4c92895L,0x0eb0878b1ddb3f3fL,
  45552. 0xb05d28ffc57cf0f2L,0xd8bde2e71abd57e2L,0x7f2be28dc40c1b20L },
  45553. { 0x6554dca2299a2d48L,0x5130ba2e8377982dL,0x8863205f1071971aL,
  45554. 0x15ee62827cf2825dL,0xd4b6c57f03748f2bL,0xa9e3f4da430385a0L } },
  45555. /* 249 */
  45556. { { 0x33eb7cec83fbc9c6L,0x24a311c74541777eL,0xc81377f74f0767fcL,
  45557. 0x12adae364ab702daL,0xb7fcb6db2a779696L,0x4a6fb28401cea6adL },
  45558. { 0x5e8b1d2acdfc73deL,0xd0efae8d1b02fd32L,0x3f99c190d81d8519L,
  45559. 0x3c18f7fafc808971L,0x41f713e751b7ae7bL,0x0a4b3435f07fc3f8L } },
  45560. /* 250 */
  45561. { { 0x7dda3c4c019b7d2eL,0x631c8d1ad4dc4b89L,0x5489cd6e1cdb313cL,
  45562. 0xd44aed104c07bb06L,0x8f97e13a75f000d1L,0x0e9ee64fdda5df4dL },
  45563. { 0xeaa99f3b3e346910L,0x622f6921fa294ad7L,0x22aaa20d0d0b2fe9L,
  45564. 0x4fed2f991e5881baL,0x9af3b2d6c1571802L,0x919e67a8dc7ee17cL } },
  45565. /* 251 */
  45566. { { 0xc724fe4c76250533L,0x8a2080e57d817ef8L,0xa2afb0f4172c9751L,
  45567. 0x9b10cdeb17c0702eL,0xbf3975e3c9b7e3e9L,0x206117df1cd0cdc5L },
  45568. { 0xfb049e61be05ebd5L,0xeb0bb55c16c782c0L,0x13a331b8ab7fed09L,
  45569. 0xf6c58b1d632863f0L,0x6264ef6e4d3b6195L,0x92c51b639a53f116L } },
  45570. /* 252 */
  45571. { { 0xa57c7bc8288b364dL,0x4a562e087b41e5c4L,0x699d21c6698a9a11L,
  45572. 0xa4ed9581f3f849b9L,0xa223eef39eb726baL,0x13159c23cc2884f9L },
  45573. { 0x73931e583a3f4963L,0x965003890ada6a81L,0x3ee8a1c65ab2950bL,
  45574. 0xeedf4949775fab52L,0x63d652e14f2671b6L,0xfed4491c3c4e2f55L } },
  45575. /* 253 */
  45576. { { 0x335eadc3f4eb453eL,0x5ff74b63cadd1a5bL,0x6933d0d75d84a91aL,
  45577. 0x9ca3eeb9b49ba337L,0x1f6faccec04c15b8L,0x4ef19326dc09a7e4L },
  45578. { 0x53d2d3243dca3233L,0x0ee40590a2259d4bL,0x18c22edb5546f002L,
  45579. 0x9242980109ea6b71L,0xaada0addb0e91e61L,0x5fe53ef499963c50L } },
  45580. /* 254 */
  45581. { { 0x372dd06b90c28c65L,0x1765242c119ce47dL,0xc041fb806b22fc82L,
  45582. 0x667edf07b0a7ccc1L,0xc79599e71261beceL,0xbc69d9ba19cff22aL },
  45583. { 0x009d77cd13c06819L,0x635a66aee282b79dL,0x4edac4a6225b1be8L,
  45584. 0x57d4f4e4524008f9L,0xee299ac5b056af84L,0xcc38444c3a0bc386L } },
  45585. /* 255 */
  45586. { { 0x490643b1cd4c2356L,0x740a4851750547beL,0x643eaf29d4944c04L,
  45587. 0xba572479299a98a0L,0x48b29f16ee05fdf9L,0x33fb4f61089b2d7bL },
  45588. { 0x86704902a950f955L,0x97e1034dfedc3ddfL,0x211320b605fbb6a2L,
  45589. 0x23d7b93f432299bbL,0x1fe1a0578590e4a3L,0x8e1d0586f58c0ce6L } },
  45590. };
  45591. /* Multiply the base point of P384 by the scalar and return the result.
  45592. * If map is true then convert result to affine coordinates.
  45593. *
  45594. * Stripe implementation.
  45595. * Pre-generated: 2^0, 2^48, ...
  45596. * Pre-generated: products of all combinations of above.
  45597. * 8 doubles and adds (with qz=1)
  45598. *
  45599. * r Resulting point.
  45600. * k Scalar to multiply by.
  45601. * map Indicates whether to convert result to affine.
  45602. * ct Constant time required.
  45603. * heap Heap to use for allocation.
  45604. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  45605. */
  45606. static int sp_384_ecc_mulmod_base_6(sp_point_384* r, const sp_digit* k,
  45607. int map, int ct, void* heap)
  45608. {
  45609. return sp_384_ecc_mulmod_stripe_6(r, &p384_base, p384_table,
  45610. k, map, ct, heap);
  45611. }
  45612. #endif /* WC_NO_CACHE_RESISTANT */
  45613. #else
  45614. /* The index into pre-computation table to use. */
  45615. static const uint8_t recode_index_6_7[130] = {
  45616. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  45617. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  45618. 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  45619. 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
  45620. 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49,
  45621. 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33,
  45622. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  45623. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  45624. 0, 1,
  45625. };
  45626. /* Whether to negate y-ordinate. */
  45627. static const uint8_t recode_neg_6_7[130] = {
  45628. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  45629. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  45630. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  45631. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  45632. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  45633. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  45634. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  45635. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  45636. 0, 0,
  45637. };
  45638. /* Recode the scalar for multiplication using pre-computed values and
  45639. * subtraction.
  45640. *
  45641. * k Scalar to multiply by.
  45642. * v Vector of operations to perform.
  45643. */
  45644. static void sp_384_ecc_recode_7_6(const sp_digit* k, ecc_recode_384* v)
  45645. {
  45646. int i;
  45647. int j;
  45648. uint8_t y;
  45649. int carry = 0;
  45650. int o;
  45651. sp_digit n;
  45652. j = 0;
  45653. n = k[j];
  45654. o = 0;
  45655. for (i=0; i<55; i++) {
  45656. y = (int8_t)n;
  45657. if (o + 7 < 64) {
  45658. y &= 0x7f;
  45659. n >>= 7;
  45660. o += 7;
  45661. }
  45662. else if (o + 7 == 64) {
  45663. n >>= 7;
  45664. if (++j < 6)
  45665. n = k[j];
  45666. o = 0;
  45667. }
  45668. else if (++j < 6) {
  45669. n = k[j];
  45670. y |= (uint8_t)((n << (64 - o)) & 0x7f);
  45671. o -= 57;
  45672. n >>= o;
  45673. }
  45674. y += (uint8_t)carry;
  45675. v[i].i = recode_index_6_7[y];
  45676. v[i].neg = recode_neg_6_7[y];
  45677. carry = (y >> 7) + v[i].neg;
  45678. }
  45679. }
  45680. #ifndef WC_NO_CACHE_RESISTANT
  45681. /* Touch each possible entry that could be being copied.
  45682. *
  45683. * r Point to copy into.
  45684. * table Table - start of the entires to access
  45685. * idx Index of entry to retrieve.
  45686. */
  45687. static void sp_384_get_entry_65_6(sp_point_384* r,
  45688. const sp_table_entry_384* table, int idx)
  45689. {
  45690. int i;
  45691. sp_digit mask;
  45692. r->x[0] = 0;
  45693. r->x[1] = 0;
  45694. r->x[2] = 0;
  45695. r->x[3] = 0;
  45696. r->x[4] = 0;
  45697. r->x[5] = 0;
  45698. r->y[0] = 0;
  45699. r->y[1] = 0;
  45700. r->y[2] = 0;
  45701. r->y[3] = 0;
  45702. r->y[4] = 0;
  45703. r->y[5] = 0;
  45704. for (i = 1; i < 65; i++) {
  45705. mask = 0 - (i == idx);
  45706. r->x[0] |= mask & table[i].x[0];
  45707. r->x[1] |= mask & table[i].x[1];
  45708. r->x[2] |= mask & table[i].x[2];
  45709. r->x[3] |= mask & table[i].x[3];
  45710. r->x[4] |= mask & table[i].x[4];
  45711. r->x[5] |= mask & table[i].x[5];
  45712. r->y[0] |= mask & table[i].y[0];
  45713. r->y[1] |= mask & table[i].y[1];
  45714. r->y[2] |= mask & table[i].y[2];
  45715. r->y[3] |= mask & table[i].y[3];
  45716. r->y[4] |= mask & table[i].y[4];
  45717. r->y[5] |= mask & table[i].y[5];
  45718. }
  45719. }
  45720. #endif /* !WC_NO_CACHE_RESISTANT */
  45721. static const sp_table_entry_384 p384_table[3575] = {
  45722. /* 0 << 0 */
  45723. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  45724. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  45725. /* 1 << 0 */
  45726. { { 0x3dd0756649c0b528L,0x20e378e2a0d6ce38L,0x879c3afc541b4d6eL,
  45727. 0x6454868459a30effL,0x812ff723614ede2bL,0x4d3aadc2299e1513L },
  45728. { 0x23043dad4b03a4feL,0xa1bfa8bf7bb4a9acL,0x8bade7562e83b050L,
  45729. 0xc6c3521968f4ffd9L,0xdd8002263969a840L,0x2b78abc25a15c5e9L } },
  45730. /* 2 << 0 */
  45731. { { 0xc8229e55783dde91L,0x8e6c8f2e022b53f0L,0x3504e6f0ff9d48a1L,
  45732. 0xda821495f0687f50L,0x9c90a4fd2de4b506L,0xdb93b776427460c3L },
  45733. { 0x42ea84633140bfdaL,0xe8e8e4a8c2aaccd8L,0x15e4f18bdc588258L,
  45734. 0x09f1fe415172bad9L,0x070d430900b0e684L,0xe34947f7123df0c2L } },
  45735. /* 3 << 0 */
  45736. { { 0x05e4dbe6c1dc4073L,0xc54ea9fff04f779cL,0x6b2034e9a170ccf0L,
  45737. 0x3a48d732d51c6c3eL,0xe36f7e2d263aa470L,0xd283fe68e7c1c3acL },
  45738. { 0x7e284821c04ee157L,0x92d789a77ae0e36dL,0x132663c04ef67446L,
  45739. 0x68012d5ad2e1d0b4L,0xf6db68b15102b339L,0x465465fc983292afL } },
  45740. /* 4 << 0 */
  45741. { { 0x0aae8477ebb68f2cL,0x30594ccbee0421e3L,0x2e4f153b0aecac46L,
  45742. 0x078358d4736400adL,0xfb40f647d685d979L,0xcfeee6dd34179228L },
  45743. { 0x54f3e8e79b3a03b2L,0xe74bb7f17bfec97eL,0x8e3e61a34c542ad1L,
  45744. 0x147162d30418c693L,0xe607b9e33820017dL,0x50946875303df319L } },
  45745. /* 5 << 0 */
  45746. { { 0xbb595eba68f1f0dfL,0xc185c0cbcc873466L,0x7f1eb1b5293c703bL,
  45747. 0x60db2cf5aacc05e6L,0xc676b987e2e8e4c6L,0xe1bb26b11d178ffbL },
  45748. { 0x2b694ba07073fa21L,0x22c16e2e72f34566L,0x80b61b3101c35b99L,
  45749. 0x4b237faf982c0411L,0xe6c5944024de236dL,0x4db1c9d6e209e4a3L } },
  45750. /* 6 << 0 */
  45751. { { 0x7eb5c9317d56dad8L,0xcb2454b339d3413aL,0xec52930f580d57f2L,
  45752. 0x2a33f6661bdf6015L,0x4f0f6a962b02d33bL,0xc482e189f0430c40L },
  45753. { 0x3f62b16ea7b08203L,0x739ac69d5b3d4dceL,0x8bd4bffcb79e33b0L,
  45754. 0x93c9e5f61b546f05L,0x586d8ededf21559aL,0xc9962152af2a9ebaL } },
  45755. /* 7 << 0 */
  45756. { { 0xdf13b9d17d69222bL,0x4ce6415f874774b1L,0x731edcf8211faa95L,
  45757. 0x5f4215d1659753edL,0xf893db589db2df55L,0x932c9f811c89025bL },
  45758. { 0x0996b2207706a61eL,0x135349d5a8641c79L,0x65aad76f50130844L,
  45759. 0x0ff37c0401fff780L,0xf57f238e693b0706L,0xd90a16b6af6c9b3eL } },
  45760. /* 8 << 0 */
  45761. { { 0x23f60a05dd9bcbbaL,0x9e336de5ae9b587aL,0x1c5c2e7193d7e30fL,
  45762. 0x1d9aebd64f3ddb37L,0x1c7b5fe116b66423L,0x5db4f184349cd9b1L },
  45763. { 0x0d2cfe83e6655a44L,0x836dbb36b7e55e87L,0x701754bf7d8686e4L,
  45764. 0xe9923263a42dbba2L,0x7008d943c48ecf0eL,0x3c0c6dd70d27ef61L } },
  45765. /* 9 << 0 */
  45766. { { 0x2f5d200e2353b92fL,0xe35d87293fd7e4f9L,0x26094833a96d745dL,
  45767. 0xdc351dc13cbfff3fL,0x26d464c6dad54d6aL,0x5cab1d1d53636c6aL },
  45768. { 0xf2813072b18ec0b0L,0x3777e270d742aa2fL,0x27f061c7033ca7c2L,
  45769. 0xa6ecaccc68ead0d8L,0x7d9429f4ee69a754L,0xe770633431e8f5c6L } },
  45770. /* 10 << 0 */
  45771. { { 0x845539d3c8d99c02L,0x2a15a9a6e58d6787L,0xe9f6368eab225fa3L,
  45772. 0x54a612d7eb32cabeL,0xc2f646025c4845ecL,0xa91a5280db1c212eL },
  45773. { 0xbb971f78e67b5fceL,0x03a530eb13b9e85cL,0x592ac0ba794eabfdL,
  45774. 0x81961b8ccfd7fd1dL,0x3e03370a47a9b8aaL,0x6eb995bec80174e8L } },
  45775. /* 11 << 0 */
  45776. { { 0xc7708b19b68b8c7dL,0x4532077c44377abaL,0x0dcc67706cdad64fL,
  45777. 0x01b8bf56147b6602L,0xf8d89885f0561d79L,0x9c19e9fc7ba9c437L },
  45778. { 0x764eb146bdc4ba25L,0x604fe46bac144b83L,0x3ce813298a77e780L,
  45779. 0x2e070f36fe9e682eL,0x41821d0c3a53287aL,0x9aa62f9f3533f918L } },
  45780. /* 12 << 0 */
  45781. { { 0x3db8477270313de0L,0xd4258cc55d970420L,0x03aced26c8edfee1L,
  45782. 0xf67eb42235d77d83L,0x523c40dbcf9ab45cL,0x627b415f9c35b26dL },
  45783. { 0xfacc45e48be55ed8L,0x80d60af627aa651aL,0x8c79848fd0e102acL,
  45784. 0x40c64a4e66bed5afL,0x0329eab1f7942f0eL,0x0c6e430ef9c4af3dL } },
  45785. /* 13 << 0 */
  45786. { { 0x9b7aeb7e75ccbdfbL,0xb25e28c5f6749a95L,0x8a7a8e4633b7d4aeL,
  45787. 0xdb5203a8d9c1bd56L,0xd2657265ed22df97L,0xb51c56e18cf23c94L },
  45788. { 0xf4d394596c3d812dL,0xd8e88f1a87cae0c2L,0x789a2a48cf4d0fe3L,
  45789. 0xb7feac2dfec38d60L,0x81fdbd1c3b490ec3L,0x4617adb7cc6979e1L } },
  45790. /* 14 << 0 */
  45791. { { 0x5865e5018f75244cL,0xd02225fb01ec909fL,0xca6b1af8b1f85c2aL,
  45792. 0x44ce05ff88957166L,0x8058994c5710c0c9L,0x46d227c432f6b1baL },
  45793. { 0xbe4b4a9003cb68e5L,0x540b8b82730a99d1L,0x1ecc8585e11dbbbfL,
  45794. 0x72445345d9c3b691L,0x647d24db13690a74L,0x4429839ddefbadf5L } },
  45795. /* 15 << 0 */
  45796. { { 0x446ad8884709f4a9L,0x2b7210e2ec3dabd8L,0x83ccf19550e07b34L,
  45797. 0x59500917789b3075L,0x0fc01fd4eb085993L,0xfb62d26f4903026bL },
  45798. { 0x2309cc9d6fe989bbL,0x61609cbd144bd586L,0x4b23d3a0de06610cL,
  45799. 0xdddc2866d898f470L,0x8733fc41400c5797L,0x5a68c6fed0bc2716L } },
  45800. /* 16 << 0 */
  45801. { { 0xda6e8a7f7c33ed91L,0x992afb5b0ecdd2d8L,0x37cf65517917652aL,
  45802. 0x317b63ea2887d5ffL,0x37065f5313bdc3faL,0xa10896aa435abaa1L },
  45803. { 0x9b21615fefabca26L,0xeb07ddea230cf00dL,0x914871dc154d410fL,
  45804. 0xb333bdfbc88ee148L,0x51c305c6a72d1967L,0x659db48181ef2513L } },
  45805. /* 17 << 0 */
  45806. { { 0x8903e1304b4a3cd0L,0x3ea4ea4c8ff1f43eL,0xe6fc3f2af655a10dL,
  45807. 0x7be3737d524ffefcL,0x9f6928555330455eL,0x524f166ee475ce70L },
  45808. { 0x3fcc69cd6c12f055L,0x4e23b6ffd5b9c0daL,0x49ce6993336bf183L,
  45809. 0xf87d6d854a54504aL,0x25eb5df1b3c2677aL,0xac37986f55b164c9L } },
  45810. /* 18 << 0 */
  45811. { { 0x5dfee73ce5b82700L,0x198fd3f0f38f6662L,0x3bd1c8f62edb0dbdL,
  45812. 0x55a96a6879909f08L,0x68a2324355671693L,0x57505d8d67497030L },
  45813. { 0x8a60717f75c64513L,0x54b867b7f78aa7deL,0xc266eb8441129858L,
  45814. 0x6ffcfc7ca4cfd9bbL,0x9bdd6a092945a757L,0x91700b247eb1be63L } },
  45815. /* 19 << 0 */
  45816. { { 0x82a2ed4abaa84c08L,0x22c4cc5f41a8c912L,0xca109c3b154aad5eL,
  45817. 0x23891298fc38538eL,0xb3b6639c539802aeL,0xfa0f1f450390d706L },
  45818. { 0x46b78e5db0dc21d0L,0xa8c72d3cc3da2eacL,0x9170b3786ff2f643L,
  45819. 0x3f5a799bb67f30c3L,0x15d1dc778264b672L,0xa1d47b23e9577764L } },
  45820. /* 20 << 0 */
  45821. { { 0xad610a2d94a70ec1L,0xcd96f20591e71d16L,0x713466708cbaffc7L,
  45822. 0xf78cff0cd467f03aL,0x98ca8dd42d96c936L,0x1d1cdf7b5f223465L },
  45823. { 0xe27a189460d4db60L,0x25f546ab321828ffL,0x9933fb25dccd4df3L,
  45824. 0x422da643ffe6132bL,0x5e01b72b4718bbc7L,0xab9dd81052ebfb01L } },
  45825. /* 21 << 0 */
  45826. { { 0x08265e510422ce2fL,0x88e0d496dd2f9e21L,0x30128aa06177f75dL,
  45827. 0x2e59ab62bd9ebe69L,0x1b1a0f6c5df0e537L,0xab16c626dac012b5L },
  45828. { 0x8014214b008c5de7L,0xaa740a9e38f17beaL,0x262ebb498a149098L,
  45829. 0xb454111e8527cd59L,0x266ad15aacea5817L,0x21824f411353ccbaL } },
  45830. /* 22 << 0 */
  45831. { { 0x4f595351262bb775L,0x981b788d16f325b8L,0xccd57831927ed783L,
  45832. 0xc382472ebe0e1fdbL,0xfd7a8b13f0681fcaL,0xe082882d69059095L },
  45833. { 0x4d1c3049faa71fdcL,0xf9d62fd9c9576c69L,0x7b1ab489cbf837b7L,
  45834. 0xc764edf840d0fcf7L,0x50fc847215809cddL,0x671d69c98fcd8418L } },
  45835. /* 23 << 0 */
  45836. { { 0xd1b4e74d12e3683bL,0x990ed20b569b8ef6L,0xb9d3dd25429c0a18L,
  45837. 0x1c75b8ab2a351783L,0x61e4ca2b905432f0L,0x80826a69eea8f224L },
  45838. { 0x7fc33a6bec52abadL,0x0bcca3f0a65e4813L,0x7ad8a132a527cebeL,
  45839. 0xf0138950eaf22c7eL,0x282d2437566718c1L,0x9dfccb0de2212559L } },
  45840. /* 24 << 0 */
  45841. { { 0x259f272cfab816a7L,0x20c1b8e0d809afcdL,0x540c045a409c930bL,
  45842. 0x563361909bd5c2f7L,0x38076e8fca77d74fL,0x4f13f901fc55723fL },
  45843. { 0x890932d7bd3d10c3L,0x98d82ad1da247ec8L,0xdf5579fa4bea82ddL,
  45844. 0xe8277439a0f9ad3aL,0x1395a87966a4e904L,0x150808e625a302c9L } },
  45845. /* 25 << 0 */
  45846. { { 0x1e93722758ce3b83L,0xbb280dfa3cb3fb36L,0x57d0f3d2e2be174aL,
  45847. 0x9bd51b99208abe1eL,0x3809ab50de248024L,0xc29c6e2ca5bb7331L },
  45848. { 0x9944fd2e61124f05L,0x83ccbc4e9009e391L,0x01628f059424a3ccL,
  45849. 0xd6a2f51dea8e4344L,0xda3e1a3d4cebc96eL,0x1fe6fb42e97809dcL } },
  45850. /* 26 << 0 */
  45851. { { 0x6423197d2afd473dL,0xb0391b37897b93f5L,0x6efedb8023bf0b90L,
  45852. 0x808497b7b0bba4a7L,0xf14b309f03fa90f2L,0x37a45bdb091cbb80L },
  45853. { 0xedda4ae48a8f5dcbL,0xdb3f422d95e16d6eL,0x25c7b9146f5f24c7L,
  45854. 0x5d512df99d42a727L,0xbf2c0862697c08fdL,0x47d98a9df092241cL } },
  45855. /* 27 << 0 */
  45856. { { 0xa04482d2467d66e4L,0xcf1912934d78291dL,0x8e0d4168482396f9L,
  45857. 0x7228e2d5d18f14d0L,0x2f7e8d509c6a58feL,0xe8ca780e373e5aecL },
  45858. { 0x42aad1d61b68e9f8L,0x58a6d7f569e2f8f4L,0xd779adfe31da1beaL,
  45859. 0x7d26540638c85a85L,0x67e67195d44d3cdfL,0x17820a0bc5134ed7L } },
  45860. /* 28 << 0 */
  45861. { { 0xc76afaa373b64643L,0x4169b4117b3c1220L,0x550e0bee8ff22c6fL,
  45862. 0x8fb0c597a4da3e15L,0xd8232f8b4e492aa8L,0x55be5764d37da1a2L },
  45863. { 0xf1bc89b628e77f9eL,0x9ff769c4875fee0fL,0x184bd4733ad6983aL,
  45864. 0xc48ee6f3b033c112L,0x792377fbf8eb8319L,0x05cdca3fe7988176L } },
  45865. /* 29 << 0 */
  45866. { { 0x019d6ac5d3021470L,0x25846b66780443d6L,0xce3c15ed55c97647L,
  45867. 0x3dc22d490e3feb0fL,0x2065b7cba7df26e4L,0xc8b00ae8187cea1fL },
  45868. { 0x1a5284a0865dded3L,0x293c164920c83de2L,0xab178d26cce851b3L,
  45869. 0x8e6db10b404505fbL,0xf6f57e7190c82033L,0x1d2a1c015977f16cL } },
  45870. /* 30 << 0 */
  45871. { { 0x6a7a3464d0cbcea0L,0x76aad8b813126388L,0x519b9fd50a183232L,
  45872. 0x15f9abe1feb6b100L,0x7002990485ba4143L,0x92cea8f4c4360dd8L },
  45873. { 0xdc6c5d1dc12748a1L,0x1846eefcdd3eb156L,0x3117dd04d47a41dcL,
  45874. 0x96c21b29f6a167f2L,0xf569446a27555692L,0x941292e500f88cb2L } },
  45875. /* 31 << 0 */
  45876. { { 0xa39c89317c8906a4L,0xb6e7ecdd9e821ee6L,0x2ecf8340f0df4fe6L,
  45877. 0xd42f7dc953c14965L,0x1afb51a3e3ba8285L,0x6c07c4040a3305d1L },
  45878. { 0xdab83288127fc1daL,0xbc0a699b374c4b08L,0x402a9bab42eb20ddL,
  45879. 0xd7dd464f045a7a1cL,0x5b3d0d6d36beecc4L,0x475a3e756398a19dL } },
  45880. /* 32 << 0 */
  45881. { { 0xad852b878c0a64a4L,0x0d784cf208f779d5L,0x1896b9fcc651b1ddL,
  45882. 0xba8953d612e8dc87L,0x3a9865baa631cfb0L,0x5dd2a4a0626b3d79L },
  45883. { 0x1148bc72687c20bbL,0xa372dfc2f2a52bfdL,0x77315f9e9448fd08L,
  45884. 0x4bcb06f00a2377b6L,0x73b42725b35b4ff0L,0xc510ad93aabca99fL } },
  45885. /* 33 << 0 */
  45886. { { 0x61333a382fb3ba63L,0xdf330d9d5b943c86L,0xbbc7c7ee955ef3afL,
  45887. 0xda631fc160f09efbL,0x68af622641d5c400L,0xcc9e97a46c833e9dL },
  45888. { 0x7fd73e8e3a625e76L,0x13bf6124c209e55eL,0x08467cea48b90b91L,
  45889. 0x8a416eb9bb6f0abaL,0x6fcc93a1b8c31072L,0xa7fd2b619057dad7L } },
  45890. /* 34 << 0 */
  45891. { { 0x80b309dd2ada5bf4L,0x0648c2cd2d668c41L,0x45700722abb9102fL,
  45892. 0x9d6ac102b4e25201L,0x7ec2bc1cd50b3e6dL,0xcdb55e6ba07b7caeL },
  45893. { 0xebcbda0786da3943L,0x470ddc68f8a57f48L,0x9e1418a4554557c3L,
  45894. 0x02d00cfb8a76b2d6L,0x03c050a061520726L,0xa964eefbfdadd24eL } },
  45895. /* 35 << 0 */
  45896. { { 0x58a5b5433720ec9bL,0xbb3800d52d7c2fb4L,0x4a508620dde6bd0aL,
  45897. 0x65f16273a02583fdL,0x832bd8e34fc78523L,0xd6149f75e9417bc6L },
  45898. { 0xfeb026e93deeb52aL,0x0ce18088a55e0956L,0x50018998988092a2L,
  45899. 0x22f19fab28f35eeeL,0xac8a877f52ccd35cL,0xb13a8ad830e23f26L } },
  45900. /* 36 << 0 */
  45901. { { 0xf216aa2531238ed0L,0x4a13260770b1b757L,0xa39180d45c2c7ce1L,
  45902. 0x9f82b7fbab52606cL,0x6f01faee26946e78L,0x1608643883061d37L },
  45903. { 0x597edf370fb077bcL,0x1d11bc5ed6e28138L,0x10209418c167fd20L,
  45904. 0x6a3258ec33f55675L,0xdf33eed7b73401b1L,0xf699887b806085b7L } },
  45905. /* 37 << 0 */
  45906. { { 0x0202d57de44f61a3L,0x4027704bb5630ef2L,0xa129e2dff5b54a5dL,
  45907. 0xacb60a7597482b86L,0x9261ede87ef27114L,0x1eba28f3defc58b5L },
  45908. { 0x6c91c0c98be5589eL,0x2f1643d514594beeL,0x2ea912435d2ca034L,
  45909. 0xb50649a894047d1fL,0x284fcbb5638ca337L,0xfa0e07b7fe85bf85L } },
  45910. /* 38 << 0 */
  45911. { { 0x4703cd85891f8ffeL,0x018843c01c0d7702L,0xf3d752f5ad6cbeacL,
  45912. 0x479ecf018173fb32L,0x6b464412bc9a48c7L,0x47ba96091da7b147L },
  45913. { 0x91af26eaabc13488L,0x87c183c3e1a0e06cL,0xdae2479844956b93L,
  45914. 0xf300e1c648347f9aL,0x129be314974320a4L,0x1f466694520618f2L } },
  45915. /* 39 << 0 */
  45916. { { 0x7d894f80506e0e42L,0xd984244a8e3d2c46L,0x6d7edf642b7f006fL,
  45917. 0x36a1cd6dde9b6230L,0xc9985040b76c0665L,0x587df4d6b89b1fc2L },
  45918. { 0x4c0638476a71ae7aL,0x7b2b0ab3e8294747L,0x345c553ab53153b8L,
  45919. 0xb646e453436d9fe2L,0x1a95355f1cd60340L,0x2d7bc128074968fbL } },
  45920. /* 40 << 0 */
  45921. { { 0x6048c6949399c38aL,0x43a53ff21beb359eL,0x86fcfe4760be3ebcL,
  45922. 0xae78bc3a3134216cL,0x3b021cf316d7a9adL,0x51c4b1b36a4d6e81L },
  45923. { 0x54b9cd8db593d816L,0x1df8cc84a69ea3a3L,0x98ff87f7370eb744L,
  45924. 0x63a00a0a60e0aa2aL,0xdbb22c9ddeb46e6cL,0xdfd92b6da914bb01L } },
  45925. /* 41 << 0 */
  45926. { { 0xad148e87bca6d14cL,0x41dfd24d456a201eL,0x73a82933a80d68f3L,
  45927. 0x89746c8d852ca035L,0xe3bc778895fd71aeL,0x8764cd2cda92245dL },
  45928. { 0xa2fe2c4782eb23e2L,0x5ac762e00f3c9d6eL,0x57860ce121646f31L,
  45929. 0xbdc9d6c34f9f589aL,0x679952c7d193272eL,0x82ea702eeb18f1c5L } },
  45930. /* 42 << 0 */
  45931. { { 0x18ef56cd5d76b881L,0x31b22efc5df46c66L,0x4b21c4f3eb6c7e62L,
  45932. 0x3fd72a308f234c86L,0xe983e169ffff96c7L,0x7438b4933c1e593cL },
  45933. { 0x863a23a3a553e8e3L,0x0d959ba9796d9129L,0x25d0caaeda1eadf4L,
  45934. 0xe739fb61eaa67763L,0x50029568472a7175L,0xdb6829c2f002bb6eL } },
  45935. /* 43 << 0 */
  45936. { { 0x37fa935500846d44L,0x09112fc50578bc8cL,0xdad9f5b239c4943dL,
  45937. 0x7314f5f0416dbd86L,0x5cf095a901fefb56L,0x35178bad22dab393L },
  45938. { 0xcf79fc1b36baf1a7L,0x1b7ee42d749e5498L,0xbce78aa9ede314bbL,
  45939. 0xaaf8e0f6bd0628dfL,0xa974b09415cbf948L,0x8f3f1f63c9632b78L } },
  45940. /* 44 << 0 */
  45941. { { 0x1c5f0e5b36a400d3L,0xae97af8bf240b30aL,0x767b4ad7f8f99b51L,
  45942. 0xd50a288981ea36c2L,0x04ce2a21986c5ce6L,0x9c7e7754a320d352L },
  45943. { 0xc3336331bbad8346L,0x7cc82a4df1698fb2L,0xc680176505c7ad6cL,
  45944. 0x47678afb27dda8e5L,0xade6096d02e543aeL,0x5fb28e322a1dd73bL } },
  45945. /* 45 << 0 */
  45946. { { 0xd4c411564fddda5bL,0xd4af65c673ad9112L,0xffe8e0bb39eb8f59L,
  45947. 0xb0040c0e8d6fcf13L,0x99e1c0c61f2bb599L,0x9c94c858b2ac3405L },
  45948. { 0x8f8878d76eeed85dL,0x62b2f54351fcca3fL,0xeb3b44a9e5b56918L,
  45949. 0x16f96676b7234e93L,0x17477722bd2af19eL,0x42eb2979db83a485L } },
  45950. /* 46 << 0 */
  45951. { { 0xa618d7479fc4f435L,0x9f24fba649ddd10eL,0x60976b01b472d789L,
  45952. 0x9266634957719f54L,0xd9c79db800541257L,0x374aa9069481ed0dL },
  45953. { 0x60efb1147fdc2d7aL,0xa1590c30ecf58643L,0xd7a198a4185a849cL,
  45954. 0x19ab802314eb4ab9L,0xc82d5998ec090d06L,0xfc539eb3e259c7dbL } },
  45955. /* 47 << 0 */
  45956. { { 0x6f888f7df0c668caL,0x65c788785f0dc66cL,0xbfb185125f5b07a0L,
  45957. 0x780abff7d878acd0L,0x504f21b1570cf950L,0xea5b37c5da233371L },
  45958. { 0x487ae8bd22437ed1L,0x9c701758249cf9b7L,0xf86562a898fb34ffL,
  45959. 0xdfeea1a265e0fc91L,0xeef006912e20fc23L,0xac9dfec7dfa72a8bL } },
  45960. /* 48 << 0 */
  45961. { { 0x3ccf806ab35bf6cfL,0x2d368d48e7f30c2bL,0x4f504e06ea52bef9L,
  45962. 0x40d01ff53a7d2f3cL,0x62e5c5d3e73a1bc9L,0x66e4794bae7d7400L },
  45963. { 0x3d30625e5ffef312L,0x4580609da766ddf1L,0x5c3ca10d04bab985L,
  45964. 0x2605ca009da2a2caL,0x48eab00eb5c9462cL,0x271e42a12624a583L } },
  45965. /* 49 << 0 */
  45966. { { 0xfa5c3aef697136c6L,0x8ea5af63a5ea6fb8L,0xa669156542e365a4L,
  45967. 0x47c56c115b6e3386L,0x1197832bcea03f56L,0x0b470bb250e4ea9eL },
  45968. { 0x3113c74313b25712L,0x8d6c174ed2497d48L,0xfc4486ee49c9ebe8L,
  45969. 0x2487edd57f82bdd3L,0x771e64415b57be2fL,0x2d1cc518e28b2bdbL } },
  45970. /* 50 << 0 */
  45971. { { 0xa96763d2fba32d1fL,0x172cfe4ecb5af900L,0x510bd675cb2ec3f1L,
  45972. 0xbeabb91ac3c90051L,0x9cbf755b46f97ac7L,0xa820e8303a5d50d1L },
  45973. { 0x83a9f17e308c4545L,0xdf7dc7053048461aL,0x6124642f0f32b151L,
  45974. 0xc1b444139333e405L,0x6f7bfa7e13a4f7d6L,0x6f58fa8b7181c2a1L } },
  45975. /* 51 << 0 */
  45976. { { 0x2c4ccac72070ac8dL,0x1947c0caec4a22b8L,0xa5e0fb598c5a78d9L,
  45977. 0x464ae8d241a84de7L,0x3dba16e9daaabc27L,0x16634a504f35cb3cL },
  45978. { 0xadc18bf9b16ec84fL,0x324d067e7359dd35L,0xdaeac0c3570543f0L,
  45979. 0x0b2240003c887d36L,0xc69489e2373f1a0dL,0x518b047dcbaa0d97L } },
  45980. /* 52 << 0 */
  45981. { { 0x8f6468656f9201b9L,0x8a944b316b326232L,0x5687d1dca6ccfd35L,
  45982. 0x0bedaa85e5377c00L,0x252b48f5cd8d7d77L,0x4b820d9b31d83660L },
  45983. { 0xa9e5af3ccae07f15L,0x0a8930fc1208b9faL,0x6d0a166ced3c3b7aL,
  45984. 0x90e2aead7f78aaf8L,0x222465866e5ede76L,0xc5cc339dcba1fd4bL } },
  45985. /* 53 << 0 */
  45986. { { 0x3b1bddc6fbde49efL,0xdaed7c268a0915ccL,0x0b0110610f0422a2L,
  45987. 0xcf485c74a7c54b16L,0x642ec4e615c3aae2L,0xa8ba8f10e0f383eaL },
  45988. { 0x2a2054b495618501L,0xebec6442089efa8bL,0x5786a19a4e2fa83eL,
  45989. 0xd2c71ad139069963L,0xadc93d9a481765e2L,0xedf2e3eb7ecc9485L } },
  45990. /* 54 << 0 */
  45991. { { 0x11853add834e6c54L,0xab2f15202175fbf4L,0xcff00bd23c9b5a41L,
  45992. 0x075134ebabd64a6aL,0x48c075daaadd6150L,0x4576a6497cb89442L },
  45993. { 0x340a767034adeda3L,0x8dbb571c77fcd1f4L,0x0bf879d693b44ea6L,
  45994. 0x1ae1dd97d13444bbL,0x6e9e86bb7b1eb77aL,0x420eb673906a2949L } },
  45995. /* 55 << 0 */
  45996. { { 0xbcab5f60069f3367L,0xfd6622bc1718ec3cL,0xa4fb7867e3a142d6L,
  45997. 0x6078d8bf085faeb3L,0xfa5cbfda60f4554fL,0xb3fcd5d1690cd408L },
  45998. { 0x4ebdee7d281f7884L,0x82af23aa180a63a7L,0x8de3107c3d079f61L,
  45999. 0x17c6b5cbbe2334f8L,0x6a91e73997d0fa06L,0x7460257314ceeed4L } },
  46000. /* 56 << 0 */
  46001. { { 0x483350a5ebb8cdadL,0xd4215b4fc7a8baa1L,0x8b6fc785e692fdd2L,
  46002. 0x2629ba4fd1deca25L,0xe9981ea6820da79fL,0x7772a913e6436cc1L },
  46003. { 0xd141235c553fb41dL,0x28179e6cc852f64bL,0xb623a1aeeb8cc21cL,
  46004. 0x05826192490bb572L,0x56fefff326f349ceL,0x31ff648e0f88b82dL } },
  46005. /* 57 << 0 */
  46006. { { 0xb14ba61cf97f865cL,0x73bae4c1694b8b0dL,0xa14967dfac4bbf62L,
  46007. 0x1e9dd1509bf446e0L,0xc052f3eb1c99ceefL,0x814d7fa07a78c189L },
  46008. { 0xa101a483ab74b05dL,0x7788c258a1737b65L,0x0d60bab7e809a13cL,
  46009. 0x8f427bc473c81d5bL,0xd2e130552952c1fcL,0x0a823b9a4b26df63L } },
  46010. /* 58 << 0 */
  46011. { { 0x941c5c257d0be180L,0x341cf9d9c46785afL,0xdab9dc0015b0fa13L,
  46012. 0xa58db4ea4f96af4fL,0x9e9520bf57acc87aL,0x104cec0666ac72e0L },
  46013. { 0x9f3f7baa1929e675L,0xb8b4ac9ffa80380aL,0xb5f157aa569b57d8L,
  46014. 0xe11699e909fa58a1L,0xc08595e35548fbeaL,0x2b51995f794da901L } },
  46015. /* 59 << 0 */
  46016. { { 0xaf467ce227bf64c9L,0xdfca6897f929974cL,0x64473b595c322738L,
  46017. 0x96a917cf1ed0e315L,0x3703435b0de64db9L,0x9ba039679267b646L },
  46018. { 0xdf0c2aae3a522fbeL,0x41bdb741b335eff0L,0xaccf2edd7b059703L,
  46019. 0x6fb34b3028463cceL,0x96d9ba0bd9e3ca19L,0xff336f12504655c1L } },
  46020. /* 60 << 0 */
  46021. { { 0xc711d5d1c425543eL,0xa61fada6fb4f60e8L,0x0402d5c4eb809f85L,
  46022. 0x84b7c2fed74cccd4L,0x61bba736a55b5277L,0x95bb80cece47968cL },
  46023. { 0x09f92adc16eb7b95L,0xf0e0f4f7e682aa29L,0xacd70b86ad2a20fcL,
  46024. 0xbb45a51f948a8375L,0x29fc3b284892e676L,0x8dd21bf0b4ea4f51L } },
  46025. /* 61 << 0 */
  46026. { { 0x48da1fd3fc60a6e0L,0x54fb5a34222241e8L,0x6035e34f772ae080L,
  46027. 0x5ff77ff2332982d0L,0x2366467300fe51fdL,0xc93ea049ef6ba006L },
  46028. { 0x6640f1177d381266L,0x394d32cd6ae9f4acL,0xe6a7885370d303ebL,
  46029. 0x0dda19ffe5275767L,0xb0a6c77201466d23L,0xc4cc11451fc69829L } },
  46030. /* 62 << 0 */
  46031. { { 0x49a04dc0f5acf772L,0x1e659730c1fb476eL,0x0c7d749907dbb9afL,
  46032. 0x03b9f1cebfec21daL,0xd194b7054b14d117L,0xcb4c0a54561fedf2L },
  46033. { 0xaf623d3f21da4d42L,0x5f5e9b1fd630c145L,0x65609e59d9ff0abaL,
  46034. 0x3d2508922ba9239bL,0xcac324ec82c4faa7L,0x0902cc23149446b8L } },
  46035. /* 63 << 0 */
  46036. { { 0xc5c0e6d7aaed89c0L,0x6ce8ead6149a1896L,0x7a50f7458c949f8fL,
  46037. 0xcd7e35f76e2b71aaL,0xf6159e519a049f7aL,0x1c9bf0b0f1e52d1eL },
  46038. { 0x3bb6c1f518202c80L,0x8d3a5f621ecd7b1aL,0x3bb034e888d17f19L,
  46039. 0xdc89bd4997d4048dL,0xf5af7b8e3735df22L,0x52bb3712a0a689e8L } },
  46040. /* 64 << 0 */
  46041. { { 0xed4de4f88e89b258L,0x957c980f297a9a37L,0xe04b3d30f8a0580dL,
  46042. 0xa309199dca57b7bdL,0xfc8e87cf3be44d56L,0x4f5d5ab6d1b30e5cL },
  46043. { 0xb213c6a030a9325bL,0x0fd1c52df091bc01L,0xfe51bbbf1090fedeL,
  46044. 0x6d97cabc301fe259L,0x3ee127895ecd3fe8L,0x888b708b9404ca51L } },
  46045. /* 0 << 7 */
  46046. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  46047. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  46048. /* 1 << 7 */
  46049. { { 0xe484fd9f8258030fL,0x0f4fa5eff21af80aL,0xc0dd449e7c1c3984L,
  46050. 0xf313389118eb5195L,0x0336aab8777a16d2L,0xa6661cc4c241720aL },
  46051. { 0x678db970a7efacd0L,0x228968656461e382L,0x5d85a0e4a022c7a4L,
  46052. 0xb01f1e0434a02a6bL,0x2657eedda5791ce3L,0x239dcab2a277ac5bL } },
  46053. /* 2 << 7 */
  46054. { { 0x9a7a5b426ae54da1L,0xcfcadaab7040b022L,0x7539438e3d9f0e61L,
  46055. 0x013c6719e328c2e2L,0x7f4a706ccccbf891L,0xa335ab82735a2d28L },
  46056. { 0x46694ef03d984124L,0x0e0bdfabc166b337L,0x9d54ed8b423d47e4L,
  46057. 0x8075a8cbf44c9180L,0xd4f5b184abe9b384L,0x424dd00b41abdc75L } },
  46058. /* 3 << 7 */
  46059. { { 0x99a710b1400f1d87L,0xec3ca386ee47be8bL,0x3a00dcad37168feeL,
  46060. 0x1a69d6741765a0dfL,0x85233afe917c4909L,0xa3aa97a4e9bd6210L },
  46061. { 0x01010526310885f3L,0x21c5de3fb5007b08L,0x5df0c6efee8ddabdL,
  46062. 0x5d17d45a0f6dfdefL,0xb73d831a251c9f79L,0x397779e6cb1df19dL } },
  46063. /* 4 << 7 */
  46064. { { 0x5e2cb07fd7801edfL,0xf9fa2c0b3adc065aL,0xa296c53fd4de1f25L,
  46065. 0xd408060c838f7169L,0x68e19d7b2e8a6ce7L,0x2cc6e06c94b58671L },
  46066. { 0x93d02a07c1cb6151L,0xa10fb4cf35003126L,0x6aa069f51aa3bc4eL,
  46067. 0x0e44fbf0dd09b142L,0xe264f343832e5945L,0x5dca2adc1fc166acL } },
  46068. /* 5 << 7 */
  46069. { { 0x5f63e391d7afb4c6L,0x85208bcd2bcb4a76L,0x10022d53c3da8fd7L,
  46070. 0x607538c007e50047L,0xdbdb0e7212793242L,0x8e6b9f6135eb668fL },
  46071. { 0xbe5632887e1da455L,0x5e73e1a06e544e82L,0x0c28a5d29a2da4deL,
  46072. 0x62b30a8822326300L,0x470764f16013086eL,0xcbe2c34cd3ef5fbbL } },
  46073. /* 6 << 7 */
  46074. { { 0x9ee4f522b0f6c604L,0x5b8a689d52736e58L,0x0d5f396db7edb07cL,
  46075. 0x09b3457c2e829063L,0xf1d28188f83495daL,0xba2511e6cce559b8L },
  46076. { 0x17cbaf57d8f90669L,0x3ba19a1c514eacf0L,0x298208995145b8fdL,
  46077. 0x92cb5da81a33b1a7L,0xca49fe334c5149e9L,0x5c499b661772b4c0L } },
  46078. /* 7 << 7 */
  46079. { { 0xb98266b132508180L,0xf5008b926719d49dL,0x50c513f98069ffe6L,
  46080. 0x99ceb828a7c6f38eL,0x375b8a8225e2a436L,0xb8197f6c416c073dL },
  46081. { 0x01663a25eadf09ddL,0xfa2ca1571d7ff230L,0xf3b65b2545284aa4L,
  46082. 0x144dbefe648bd565L,0x6095ed8ab4c24e35L,0xe1f1fa3696ff2020L } },
  46083. /* 8 << 7 */
  46084. { { 0x56ad7582a0eb176aL,0x085b5a366e19aa00L,0x85f2c6ffe2c8b036L,
  46085. 0x55c6d357fcd7336bL,0xb1ecc56d22a46acdL,0x8e0f976736277ac7L },
  46086. { 0xa4ed11e901878921L,0xd38355667f4fb650L,0x5fdaba45266158aaL,
  46087. 0x6f0b27fd89e0dff0L,0x32ef7ae2eb6b02d0L,0x2f145871cc1b46e1L } },
  46088. /* 9 << 7 */
  46089. { { 0xc7698dfd4b449cfeL,0x78aacb7bd1517720L,0xaf0f6ef574cd5f32L,
  46090. 0x026f1826f17954e3L,0x33ef67ab2453185bL,0x82f0fcc90a420c0fL },
  46091. { 0x5b444b3645f154b1L,0xb27c4ece70d17f90L,0x6417e0d039282194L,
  46092. 0xebfb5fa001aa4f4fL,0x9cc5d0b573932754L,0xe8b56699704ffd85L } },
  46093. /* 10 << 7 */
  46094. { { 0xc112733b9d4075dcL,0x349281c187737549L,0xbb7d8e0181009785L,
  46095. 0x7640a3e2bfe16c4fL,0x4e34813ec1d9f810L,0x61985fbc8d2605d7L },
  46096. { 0x2a544cd8e3f66442L,0x48879af56a7c9e94L,0x9e6157bacec18a7eL,
  46097. 0xa555fc9511b882d6L,0x4305a4dd04f86563L,0xc58ed7631d0fd96eL } },
  46098. /* 11 << 7 */
  46099. { { 0xaaeec0f9b726e2edL,0x243ba6614493d146L,0xd799c3408980a9fbL,
  46100. 0x886e4f44ed060f57L,0x52126b82c1f83f6eL,0x8b4978441df301ceL },
  46101. { 0xeb2a98abcdc4e434L,0x87dec119474e2c77L,0xcbbc613092eb1528L,
  46102. 0xb0b0bcf7c454f37eL,0x404d97a7e1a919d3L,0x26d1baa825e62c30L } },
  46103. /* 12 << 7 */
  46104. { { 0xf04145e82d2696b3L,0xaffb66acf4fb2928L,0x9ffcba4e12aa299fL,
  46105. 0xcc5ec24991b3b517L,0x9edcd4616f81c747L,0x0a96090a77a883ebL },
  46106. { 0x9b0bab58a2aa4badL,0x76359a5e8f9b84e7L,0xfe8cd81e438a9d43L,
  46107. 0xf40e2b5e25ca8b3cL,0x4254030067bc720cL,0x883002a46b2446a3L } },
  46108. /* 13 << 7 */
  46109. { { 0x4b43bd3206c3aa7bL,0x83ca2db60a470b08L,0x07c1036c06f22f37L,
  46110. 0x312e04d7bbb46ed2L,0x6a1d70a40193e5f6L,0xc69720e8ba8a3f38L },
  46111. { 0x2c003429468a04b1L,0x885c43bfbc83fe25L,0x65a65259393e00e8L,
  46112. 0x7154c7ac2af17741L,0x682224d331dda744L,0x6183dd8bc80b57f5L } },
  46113. /* 14 << 7 */
  46114. { { 0x80e1cd16c496089aL,0x7a59f4c06ec2000fL,0x67a019d509ddce06L,
  46115. 0x52573e3e70c4b032L,0x16d253e14d3ba57eL,0xa43c6d42162504f7L },
  46116. { 0xa237bbf952ff95e4L,0x81187e659acb7273L,0x4b13531a1f384daeL,
  46117. 0x39067f3398125165L,0xe98fb141672dccc1L,0x594baca0a75e27b5L } },
  46118. /* 15 << 7 */
  46119. { { 0x85e12293c205465bL,0x57bbcfb1b71cbe44L,0x201ed45c1bc85881L,
  46120. 0xccbc39d5ccbe7dacL,0xc509b77f9277f310L,0x171b603aca1b70efL },
  46121. { 0x9b99605504d2dbbeL,0x986d6323451c918dL,0x75ad922f63c6fb03L,
  46122. 0x69e2cca49630182fL,0x1389a2b7f7b34d1fL,0xa66a80323d4f7c7fL } },
  46123. /* 16 << 7 */
  46124. { { 0xe65245cef6e9f82cL,0x9e234dfff6da7b5aL,0x5677c121bad2c806L,
  46125. 0xc52dec32060fcf24L,0x78d070675d78cccaL,0x630002ea1bc8b6fbL },
  46126. { 0xc5cb86beeb2e99aeL,0xf13981e78551d16fL,0xfbb7cdf2c92a70d7L,
  46127. 0x5a9ff1f1f53cd2a1L,0xfdbe6b7a984f1139L,0x4403d046a470a9f1L } },
  46128. /* 17 << 7 */
  46129. { { 0xdf8c9325efcc63faL,0xe0d35cd966563147L,0x140b9a8bc144d7b9L,
  46130. 0x492bfbd70c17c75fL,0x3cbc2b644c5c4d8bL,0xfecfaf47ff8a3328L },
  46131. { 0xaf341aa179b8c3d5L,0x5e72713ff04f29e6L,0x652219fb9f5b6fb6L,
  46132. 0x9deeba3f0764460fL,0xb8c2bfa5fa069d0fL,0x5d3e6fefe57be3e2L } },
  46133. /* 18 << 7 */
  46134. { { 0x52c9b94decd84cacL,0x34c2d0ad446dc59bL,0x5563701d951878ceL,
  46135. 0x92e2fc1c843c9b1cL,0x2309a5f13dfc7a98L,0xdaf117dc0c57a156L },
  46136. { 0x5739190d359fb843L,0xd433e9bb4b88e3a8L,0x4d6bb0e2c47a1f45L,
  46137. 0x511eaa33d7b59627L,0x42ef82c5e389e532L,0x641a0bdcd75f4c08L } },
  46138. /* 19 << 7 */
  46139. { { 0x3ae32dbdc7e30cc3L,0x0c970135af5d0ea3L,0x8fc38e50bd9a0528L,
  46140. 0xdb0506791bfa634aL,0xf3514fbd245cb0dcL,0x3a3c8c6982319ddeL },
  46141. { 0x92136baf6426632fL,0xabc3e24aabdd5641L,0x8ccae1429cc004baL,
  46142. 0x6c9834d8b3ee0d66L,0xa807ab63e1f7e8d7L,0xb4598e2a220aea7cL } },
  46143. /* 20 << 7 */
  46144. { { 0x19821469d678d1a3L,0xf9fa42e60df2f58dL,0x1177daf49f284ba0L,
  46145. 0x6dd2ad3d2a201dafL,0x667b0e383d427075L,0x39b76d1d4212b65aL },
  46146. { 0xc6720ae0bf3612fcL,0x72559d98775f8137L,0x466e8e4476c48a09L,
  46147. 0xa05f8eb07fb5428aL,0x7fa1fbce5e36b7d3L,0x13bab84f8d1fdcd1L } },
  46148. /* 21 << 7 */
  46149. { { 0xf1876140ed6f3524L,0x47171ee5cb94b2adL,0x56d836abcb8de844L,
  46150. 0x346e80890d3b4271L,0x0110df1fdabf6a02L,0x6850fba1f571cb92L },
  46151. { 0x490cd9af6209f064L,0x41f32d5f1cf5636cL,0x558bb7ddc328f9dcL,
  46152. 0x44abd0b9d32e3e4dL,0x2c42a5607fc2ff0eL,0x8b1dc5e12c9931f5L } },
  46153. /* 22 << 7 */
  46154. { { 0x6a35f6efdca1ce69L,0x04216d3184de3658L,0x3c3010df732f31b1L,
  46155. 0xe4421a872c1444b8L,0x17c987a3c59c1ccbL,0xd67159dba297df1bL },
  46156. { 0xd13aa7a0bc96041dL,0x686d7b77f44c3d8fL,0x6c2e505f09b2b933L,
  46157. 0x8c04eb8256161b34L,0x61785cb4b344bec6L,0x60b4d06cbf8b0b45L } },
  46158. /* 23 << 7 */
  46159. { { 0xe5b055481883c1bcL,0xd5bc37684597b8afL,0xa71ae49adb2fae11L,
  46160. 0xc1ac1b3e050327f0L,0xd990b2a668f3cb1aL,0x566e5175b74a3228L },
  46161. { 0x348d382957909fe3L,0xe849dd8dd03c2374L,0x4f31a278150fb5b4L,
  46162. 0xbfe265cf168c0798L,0x2737c156ce6a34beL,0x4478d6ae4aa6b73fL } },
  46163. /* 24 << 7 */
  46164. { { 0xb5b16cd48d040c69L,0xfdaba315f95a2dc4L,0xc9fef34961ce4704L,
  46165. 0x5fe87a0ddbb53ed6L,0x3f0ccc7973d70f93L,0x4601d1bc46724a1aL },
  46166. { 0x5c4a15ae24f08565L,0x5eda1e8aaa577320L,0xe31ebb35bb32d307L,
  46167. 0xcdc6f13bdc770a0eL,0xbe3ae514c434c2f8L,0x57c7fdf63a0ef0d1L } },
  46168. /* 25 << 7 */
  46169. { { 0x85165ea2d71c01a5L,0x3935171c99a29e59L,0x2aa1b5837d326190L,
  46170. 0xb1d702f8e79f3959L,0x94100c65c6ddffd0L,0xd1d56d626a9c54c6L },
  46171. { 0x5c93b4cf7ce12b66L,0xfc28574bb32a90caL,0xcd654a96e755969cL,
  46172. 0xa06f436cd1bec664L,0x9b27c110ffb6f3e6L,0x529b77d317b476c4L } },
  46173. /* 26 << 7 */
  46174. { { 0x04c3d9e162ccecd4L,0x6050bc1221cb59a1L,0xb33847543cbb7e07L,
  46175. 0xef2201ac4cf1be50L,0x99c3dda42d2ac886L,0xad19cb0ab776eff3L },
  46176. { 0xd326dd7f5a3d9036L,0x9fe56af2e5b27667L,0x3d849fc072cea4d1L,
  46177. 0x262a0cbcd6aa9e3cL,0x8286211885401b09L,0x8ec71d4b98fe8047L } },
  46178. /* 27 << 7 */
  46179. { { 0x9b769cc43c6b2de7L,0x433d4c26acb13b6dL,0x52878f517530ef4fL,
  46180. 0xd0e7ce94b0c5354aL,0x5b094d461d92dbc1L,0x75f681449e4ffb31L },
  46181. { 0xb9b9e97351b9d1e1L,0xc147ba4698661569L,0x2a06f4cb7a239309L,
  46182. 0xd5cb5ad420928958L,0xbde0283bd5bdf5c6L,0xb91664a082e43c18L } },
  46183. /* 28 << 7 */
  46184. { { 0x8fc0cfa6e51d078aL,0x431d9dd5744ca779L,0x37a4f3120e96e887L,
  46185. 0x9c3624fa03ea5144L,0x47d5ecda0b1127f4L,0x018ad424807cf96dL },
  46186. { 0x58ba530f586b16b9L,0xec7271ed72f47883L,0x8d2918da0281ac88L,
  46187. 0x6d0f14ef002330c9L,0x1a90a01591dc35caL,0xeb8e71e9c81607dcL } },
  46188. /* 29 << 7 */
  46189. { { 0x2eab9c5ee6d01fd3L,0xe030e6d23fa77f57L,0xff41311877edc0e9L,
  46190. 0x7817766bb47ca351L,0x70c987e36cb15abaL,0xc3c867ace19c5aa4L },
  46191. { 0xc24ec23ea05c3810L,0x3965a165c4f0f350L,0x52af99cf7c0d8e5bL,
  46192. 0x2d95d23c106e0b12L,0x27507b297f6d44d3L,0x33da846858b191f9L } },
  46193. /* 30 << 7 */
  46194. { { 0x8e5785629aa664e0L,0xf3a1cfc329a97c9bL,0x91ce3b404037bd09L,
  46195. 0x34c447b07f9f2482L,0xebe360164010c2a6L,0x7b8b9b3afdc0a861L },
  46196. { 0x0e60c49199c4ff9fL,0xf1cf53b1053e703bL,0xabeae550dd974a16L,
  46197. 0x28ac5a34994ea50eL,0x9384617d27329793L,0xd04db83ddad0aec7L } },
  46198. /* 31 << 7 */
  46199. { { 0xcb0ec2bd4b1537bcL,0xd0de683cbac6569bL,0x0688dbee5c96afb7L,
  46200. 0x7c7d192f3324ab6fL,0x1455b1e6165fe655L,0x32d135a1ccfe9e1cL },
  46201. { 0x05a80a2af9e1a86fL,0xdc946c70479c71f1L,0xf8b9ad985aaa0ff3L,
  46202. 0x78cf198ef195bbceL,0xadbc082dfcee6b59L,0xe6e1fa844cd19e25L } },
  46203. /* 32 << 7 */
  46204. { { 0xeb06571c0f547ebaL,0xf292c38d6246c0dcL,0xa185966726eed224L,
  46205. 0x8d9e56e46100e387L,0x470506b9dc6298d1L,0xb19e084cf3350ad0L },
  46206. { 0x83eb62a812abd898L,0x70f152cc2222342cL,0xb089e880e1bd4a82L,
  46207. 0xd4d1e70fcaf3b3fcL,0xd0b1ec6395ffd65cL,0x79f27f3a9b184ebbL } },
  46208. /* 33 << 7 */
  46209. { { 0xb4a7435231a3e816L,0xba8a0af2fd4ada3aL,0x1622289dd8fed2e4L,
  46210. 0xb71e579e31d3745cL,0xb090650704a50576L,0xc98b5f20123f900fL },
  46211. { 0x3799ee82d3587b21L,0xafdd6dc79d9abe55L,0x4053ee2aba64b9d7L,
  46212. 0xa816246657b3f258L,0xd9b5c4c4690b1169L,0x32c1d3afd091d158L } },
  46213. /* 34 << 7 */
  46214. { { 0xff5a9c58de97d0d7L,0xec086138feede4acL,0x55b14035ebf47cecL,
  46215. 0xc0b3e061c619fe18L,0x5644c092ead4ebe9L,0xa1a4f7a41e5e0a61L },
  46216. { 0x8698da06d179219cL,0x86f560bc3f88f732L,0x6ad10b3f1e34a23dL,
  46217. 0xd4326bb71307ede6L,0xc93cd2a19b3045adL,0x5a0b733dd8a5160aL } },
  46218. /* 35 << 7 */
  46219. { { 0x68ef87cdeaedf10dL,0x5ce97a07bed10cb6L,0x9b8dbd896ed762c1L,
  46220. 0x1a72b05333c1dcd8L,0x6718eff90f97cfa6L,0x02f886e57dda698bL },
  46221. { 0x9db378a8c724f4c7L,0x5b55b8383fa6548aL,0x9935a70ecb24bdf9L,
  46222. 0xf5da6936e9de8ae0L,0x3b3a10a79b0c4bcfL,0xe4e6a6e86361c492L } },
  46223. /* 36 << 7 */
  46224. { { 0xb37fc581c634a8f8L,0x06f06c93de1d01acL,0x0f2dac8452fed4ccL,
  46225. 0x1673c81bda53f81fL,0x963e500e61e11c94L,0xe86ff87e2144d55fL },
  46226. { 0x343ddf389bbaec76L,0x16a13527806df1edL,0x1361b5ac0a9edd65L,
  46227. 0xf20507fe33c0124fL,0xdf64ec1e4e8e0d18L,0x3f6a42e27860a8f2L } },
  46228. /* 37 << 7 */
  46229. { { 0xe6db1c43d38266a7L,0x55bee1a3adec0d4dL,0xe41c403ed56d2f9dL,
  46230. 0x5fb703f24d3cd93cL,0x4d7ae8c53d2a7ccaL,0x65c8ac50ffa5fff2L },
  46231. { 0x128814ec264dfa80L,0x08d1372ea642513fL,0xfc5ea1615343a57bL,
  46232. 0xc70a6f2f9a2f3f3cL,0xfe61c499df4963f1L,0x2b711eee5cea1508L } },
  46233. /* 38 << 7 */
  46234. { { 0xfc3e9fb252f9a4f3L,0x8bbeeff32180cd36L,0x274312dbd6438c99L,
  46235. 0xbd30984a55612a57L,0x344006d609381db3L,0xd9b696f62bcac509L },
  46236. { 0x481e4ea3bef646d0L,0x213033d430561b68L,0xf46bf9a05453f623L,
  46237. 0x2af3c4a46d848d97L,0xc35e55a543efa02eL,0x8da254342462874dL } },
  46238. /* 39 << 7 */
  46239. { { 0x1f7fda656a12b927L,0xf628cfac876b9303L,0x1904a0b5d0d0d0b2L,
  46240. 0x46d486f6f2894b1dL,0xd35cb5610d243bfeL,0xe759579b851a568eL },
  46241. { 0xb99572e2c1aeda5cL,0x872e16fb1c54cd1eL,0xf5ec9e42a60fdc40L,
  46242. 0x59b03a6201a4b019L,0x9c5e7f87e272e064L,0x6240282f24c918a2L } },
  46243. /* 40 << 7 */
  46244. { { 0xc2467f9ab92a9a13L,0x0c3ee8eb6add349aL,0x59250eda45e99644L,
  46245. 0x22ce0635c8a2df27L,0xec7b643e312e8698L,0x334ccf2eaebd1587L },
  46246. { 0x0c1c68736bca2900L,0x00beb4c209826cb1L,0x12dbb586cde6b725L,
  46247. 0x8d7cee6c66dfed41L,0xc38deba2014de4c8L,0xa3ba6ec76248442dL } },
  46248. /* 41 << 7 */
  46249. { { 0x870be3ebef38abf3L,0x6e0cf541f74dc605L,0x499976bcda4bc168L,
  46250. 0x5513c6122548b3b8L,0x5b9a054c3f647360L,0xa47f9f8bde929154L },
  46251. { 0xa2ae9ccbb8ec35b4L,0x934c5c0a4d9857e3L,0xc9dd66cc4b4f01ffL,
  46252. 0x42a1afa2e5b5e147L,0xc284e464f3d9b380L,0x67845404e21bbe63L } },
  46253. /* 42 << 7 */
  46254. { { 0x9ec1ed3342ec772dL,0xa77e1ecf5501609bL,0xb059e214a02906f8L,
  46255. 0x35b2ebceb28e4d14L,0xb8453ec22cf036eaL,0xe621234b2518fe75L },
  46256. { 0x079d7d11f03cd158L,0x357492f91b2f011aL,0x3c2186da0661992aL,
  46257. 0x7adc1c0fe5df978aL,0x88d329db5300cdccL,0xd915c2444c0d644dL } },
  46258. /* 43 << 7 */
  46259. { { 0x1b9797a8f0ff03f6L,0x00dafe43f41c9284L,0x1e565c33f2bdc817L,
  46260. 0x63b77ad9784b1a5dL,0x3304540e74aa6079L,0x630524f3d7181d2bL },
  46261. { 0xb4fe5fcca2804658L,0x1e48e50b9e393a6eL,0xb5bccd49397a94a5L,
  46262. 0x95394743eef17accL,0x4d67ba5226dd1687L,0x80965c3432349d9fL } },
  46263. /* 44 << 7 */
  46264. { { 0x1d70669e49f1216eL,0x8645472fa5fca474L,0x9242e8ddfc400357L,
  46265. 0xe7ac31548623996fL,0x37b9e68ce61aecb5L,0x7d2e10fdb997e4c9L },
  46266. { 0xc0cb59a6c2086dc9L,0xb38e2032d7952172L,0x78eaecf6eebac939L,
  46267. 0xece490b42f5dbaaeL,0xdb17501dcdc32565L,0x59bd392ab133bf99L } },
  46268. /* 45 << 7 */
  46269. { { 0x71554fae07de21a7L,0x3dd66b8bcc42db25L,0x9da85c0f0636e9a4L,
  46270. 0x61fef273904930d8L,0xcc8f527b73369e81L,0x4207dfab7caeacd8L },
  46271. { 0x99e5d1404fc763d7L,0x5cc6a3739f4e8947L,0x9ef14ec1cde33eaeL,
  46272. 0x25eb3aa8095872d2L,0x0db8268d7d9e6dd9L,0x38846510c2ccfe92L } },
  46273. /* 46 << 7 */
  46274. { { 0xce6197e822d0a502L,0x69df7f8e09d45970L,0x0274f48b7eb4718dL,
  46275. 0x47461334a8c22b75L,0x89cebf17bf25b9abL,0x57c042f6fdfea412L },
  46276. { 0xb19c338644346b96L,0xdba17de06ba014c4L,0x6697687a5f844d69L,
  46277. 0xf16dee4c1a66c6faL,0x7f916e47fdafd0d7L,0x1c3842d2340f158cL } },
  46278. /* 47 << 7 */
  46279. { { 0x417c9ab760efab2aL,0x1745d5c2f0065f75L,0x1a7d86f2ed71b350L,
  46280. 0x6d4d504feee5c850L,0x4ae7ee0da657b859L,0x1f72ded53c302a3fL },
  46281. { 0x08779fdae7b22e51L,0xb04c1c0446d90bfdL,0x4dc97219712f96d0L,
  46282. 0xb15e8c0041a6be82L,0x384a02cca3804090L,0xcea45861babd1ee5L } },
  46283. /* 48 << 7 */
  46284. { { 0x3c686079d42aeb95L,0xc162e5e985e3ea0fL,0x34cf58611bbb2455L,
  46285. 0x7650de1d8773b064L,0x3b7562c6d2bab35dL,0x83191b4433d0741bL },
  46286. { 0x4b604db03a6bd9cfL,0x87cd84db074aed21L,0x02a042d2d4f91f9cL,
  46287. 0x5a5d52e5e42c2a67L,0x31291acd1d5f216aL,0x9c3971bccd6203c8L } },
  46288. /* 49 << 7 */
  46289. { { 0xec931d6599e9ec3fL,0xe9d780c64bd554d9L,0xa580534502eca45cL,
  46290. 0x84701f1ac1276ca3L,0xcb7ba786d5f9438bL,0xf3a27508c85f663aL },
  46291. { 0x044df512118c9421L,0x1109fd431039871bL,0x7865443de2378386L,
  46292. 0x7a5e2d49e70297abL,0x112763ca6824d2b3L,0x8a05f2c90e84bba5L } },
  46293. /* 50 << 7 */
  46294. { { 0xde3bfdebff044924L,0xd7f2a5181a0458f9L,0xc03df0c00139d557L,
  46295. 0x7a958c60cd3ad0d4L,0xec9f2f9759a43584L,0x5e0fbba950d8b4b6L },
  46296. { 0x5fbc5e3888245837L,0x17235805a267a54aL,0xdc24a508db55d65bL,
  46297. 0x431e4d5623c704d1L,0xb1f85b2277585f9cL,0xb288f25ed0b1c374L } },
  46298. /* 51 << 7 */
  46299. { { 0xd8fd5b405a37c029L,0x5c9d827fe4d37effL,0xe024d7952e046275L,
  46300. 0x0661277f913c55c6L,0x21ee10eb904b3679L,0x32c582e066778adfL },
  46301. { 0xc353ab1fba8d17daL,0x1d4ab06b5658ea17L,0xb908cb88a2d70bb4L,
  46302. 0xfc215909a98daaebL,0x7aea6c8777000e24L,0x19e0acbe38446e20L } },
  46303. /* 52 << 7 */
  46304. { { 0x1bc3803e2f98532bL,0x39d0c3258754d142L,0xa7b035c5d739eaefL,
  46305. 0xd36ddeb8fbfdea2dL,0x7df72a94bdf64f2aL,0xab4ad6b880bc3c47L },
  46306. { 0xdf386df3877fa482L,0x4b94260470519bc3L,0xa3399d91d20e1e04L,
  46307. 0x7f5208b797cf58ccL,0x528f6a2814424c00L,0x83d74730bd900d10L } },
  46308. /* 53 << 7 */
  46309. { { 0x501c657f34ded7f1L,0x9071027e12fa53bbL,0x395e16aedff079ccL,
  46310. 0xea95dc84770ac4b2L,0x4d2aa60a41355974L,0xe04effa507f12473L },
  46311. { 0x38ca98385cd1c738L,0x3c067a0b683c0dbaL,0x55ad2dec67589842L,
  46312. 0xe51550f7dfdae3c8L,0x21a56717214d51aeL,0x75b6a4a012a0fdcdL } },
  46313. /* 54 << 7 */
  46314. { { 0xd63605266a4ea95bL,0x180f72d403e67090L,0x7faf4529751c8c9fL,
  46315. 0x1ab7b50d00e4252aL,0xc0e69adf34811274L,0x5c4c83495e99c6ccL },
  46316. { 0xcc9467f29a9e02a9L,0x5402c2da5c4fc719L,0x1dff8c5d3f6d5bddL,
  46317. 0x88a7d27a2c653c3cL,0x067f31183a050dc7L,0xca0f7dafc4f0236eL } },
  46318. /* 55 << 7 */
  46319. { { 0xa09306e9ca177c3bL,0xea84f03ed0552a4dL,0x7ae9024f3c00d359L,
  46320. 0xe189ebc33aa619faL,0x4adeefac8354579bL,0x90168ef9699db1ebL },
  46321. { 0x75319141ad87490aL,0x7b48fe7629c1bf84L,0x00ae82c7a2235f2aL,
  46322. 0x6292c9cf68562b59L,0x0b6500943935ca20L,0x39f22cb027f33addL } },
  46323. /* 56 << 7 */
  46324. { { 0x92e4c851aa1ef488L,0x4f91fc22846528a9L,0xaa2f5d2d5dc13a84L,
  46325. 0xba06aa68f1072d4dL,0xf4f3b17c5e3a2ba9L,0xff36a5355e4dde77L },
  46326. { 0xe8ef143aae17dddcL,0xcc82631ba1fcd4ecL,0x97db807ec7d3963bL,
  46327. 0xe4aff04521d85ce2L,0x2d6480e674667392L,0xc8ce97f3a55d0b3fL } },
  46328. /* 57 << 7 */
  46329. { { 0x1a32b8457962a675L,0xd78efd71723d217dL,0x9b03d6573b41a2c5L,
  46330. 0x1116f33589a380b1L,0x2c0359af931ee15bL,0x8a53744f239ba4c4L },
  46331. { 0x4801397dc78cdc83L,0xc43b9f0434ae4453L,0x9cc8f6cec356a35bL,
  46332. 0xd5a74c2a648b39e6L,0xa54d668c0d5e78fbL,0x36257047cfcb8f6aL } },
  46333. /* 58 << 7 */
  46334. { { 0xabeef3461549c215L,0xfec59db2ce4aee45L,0xa1743a0f5305df83L,
  46335. 0x9d598abdf211bacfL,0xd14609dd52a513fdL,0xd3dc446be00d4ad0L },
  46336. { 0xbd8883e9b272211aL,0xe991e57757879fd6L,0x5a093d372b732171L,
  46337. 0xdd901071f55f18dbL,0x87f04c0034fecfd1L,0x2c07df27c94f6a5bL } },
  46338. /* 59 << 7 */
  46339. { { 0x518e3ced1c17df0cL,0xf8971149ff5dbc4eL,0x5fec8bfe0ac9d27cL,
  46340. 0x41d68852489eed7dL,0xf48ef4bf3c3c4725L,0x3b8d9eee7681eceaL },
  46341. { 0x7743ededdaae4bdcL,0xb9665ef5d1bcf697L,0x9d77f535471bb958L,
  46342. 0xb5db5b96d752b2ddL,0x2cd3c919c368982dL,0xf8297660e9cff6d7L } },
  46343. /* 60 << 7 */
  46344. { { 0x39e7da1028946a2eL,0x4e628a96c3a76f7cL,0x43b8b808e9f6000aL,
  46345. 0x86cbd25ca48bbb79L,0x5ce825e273092951L,0x43a6031df0cbee32L },
  46346. { 0x6d685a594923485dL,0x8d4483ed81a17f47L,0xf61d329bbc379719L,
  46347. 0x9deef7d0f6596ee8L,0x0314a572541b1222L,0xe2b34d387ea7d376L } },
  46348. /* 61 << 7 */
  46349. { { 0x05ff6faa31f43d37L,0xfb83f23211b801f6L,0x238792d519b223a4L,
  46350. 0x28edadcce004f601L,0xf77747b3bdeb7597L,0x2178dbe21e6575d4L },
  46351. { 0xd48ec49842870ba2L,0x7733661d15dca6dfL,0x08212e2f83393416L,
  46352. 0xffa1bfe2614c545cL,0xfaf4ab8494254145L,0xd8f9eb48000d250cL } },
  46353. /* 62 << 7 */
  46354. { { 0x9ff4f289a66132a2L,0xc54fb8001e098994L,0x09d3cd6624cc2471L,
  46355. 0x6d0f74167838e14bL,0x7438cd2dc540cbdaL,0x193b16817d6fa8b4L },
  46356. { 0x487a7dedab33c6f3L,0x625eb8cf02f5aa09L,0xd8039682501323bdL,
  46357. 0x9de122e38e216951L,0x40a8fbde0711c51aL,0xf192b5c283a474c3L } },
  46358. /* 63 << 7 */
  46359. { { 0x3782cbda57e04e9cL,0xec639886e41b30dfL,0x4cd14afd12d2f686L,
  46360. 0x0aa093ee8b768113L,0x6cfc12cdad598f9dL,0xe4a62f1194bcce0fL },
  46361. { 0xd5035fab150ad4f2L,0xb3cd4871ae2e8da4L,0x49c9e78271ad9c3dL,
  46362. 0xdcafeb34825690cdL,0xc05fb7a38c246f85L,0xefe16be3a82cc013L } },
  46363. /* 64 << 7 */
  46364. { { 0xd42777314c14ee0eL,0xda8146d15e881c3fL,0x6b0746b099f1867cL,
  46365. 0x1ec73d72602dd4ccL,0x27fae51538081120L,0x6a677bdc2f8b2f2dL },
  46366. { 0xb924af64d60544e9L,0x1439e183dcfc6b16L,0x4e88e9ae068565acL,
  46367. 0x8a3dbd25a9a4f146L,0xdb4a3e483f93f734L,0xb1971c058f1d33bcL } },
  46368. /* 0 << 14 */
  46369. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  46370. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  46371. /* 1 << 14 */
  46372. { { 0x721bb8363a7f43c3L,0xab5b3108c12dca0fL,0x9cc9a78934853870L,
  46373. 0x78b604a7af598c4fL,0xd370375e476f27c8L,0x9f0415b80b15cba5L },
  46374. { 0x2bcfd9a4d400dc1fL,0x2a6fe03b4bc62dddL,0xb05a6464a211b19fL,
  46375. 0xce059d419990b504L,0x011c5f87d94951d3L,0x13cec08900d9c7b0L } },
  46376. /* 2 << 14 */
  46377. { { 0xf365419f9b280fd9L,0x13e3b12746365672L,0x8a91c165c41880aaL,
  46378. 0x3eb27a97f9712fbdL,0xa6587aec76c55678L,0x7c3a04b702cd79cfL },
  46379. { 0xfc878f9cda712eb8L,0x076e61170fca3e02L,0x09a184d8caf6df5eL,
  46380. 0xd32bf232aabcde75L,0xf601d0de03de597aL,0x85d2b5fcc5da2858L } },
  46381. /* 3 << 14 */
  46382. { { 0x3075a7636c888df8L,0x6305c20472e21527L,0x6b1d683e8798aad9L,
  46383. 0x0d09624680706369L,0x91db5e7f7b854739L,0x0e63cc6e02d72332L },
  46384. { 0xe929e3ea1f7ff6ccL,0xd53a18a145595925L,0x867916cb93af8be1L,
  46385. 0x757e9f56c5c305eeL,0x3f9071c75c83063cL,0xccc0f92d7f6d5bb7L } },
  46386. /* 4 << 14 */
  46387. { { 0xb6029961ae899afaL,0x8eedd66e681b6e1bL,0x82db693b4df3e5b1L,
  46388. 0xb5131488a0c3e357L,0xbfb01ff3ccb2f577L,0x28ea947027a72cc3L },
  46389. { 0x26170928e39e325eL,0x42d4876b84f80188L,0x0bec6a634c872d76L,
  46390. 0xa0a7cc90b14d9c9fL,0x8a32d2c44f6c7778L,0xe7cd346e3b889a4cL } },
  46391. /* 5 << 14 */
  46392. { { 0xab35a14f5a4a3753L,0x1d0d5a142bbbd563L,0x54cfffc5998d4514L,
  46393. 0x1c02f381a77ed59bL,0xe4a7a6ab21c9c190L,0x50059df54a9adb60L },
  46394. { 0x2d0383ba34bd7008L,0x894889bedf1a4f41L,0xe541c62612ac407dL,
  46395. 0xcc0e417964c3b62bL,0xdb8ca1f33a0978b2L,0x4ef45a2d287e8c6cL } },
  46396. /* 6 << 14 */
  46397. { { 0xea95b5c9437f2efbL,0x67d3e9b58e52ce8eL,0xfb33102488ff5455L,
  46398. 0x883ec9fcc3101dedL,0x056218e20ca5f1f9L,0x4c9b2483bccc65d8L },
  46399. { 0x13199b26123db2ecL,0xbc1d82479aff90dbL,0xc4a9311d367516f6L,
  46400. 0x3b40c867cb6e90d6L,0xff674ff84034415cL,0x2787db45a1821e7eL } },
  46401. /* 7 << 14 */
  46402. { { 0xacc263fcadeb8508L,0xb52ebcd719854c90L,0x3d54e7805f2ce0aaL,
  46403. 0x2fc056a97e02e760L,0x47e7173e32da5f93L,0x1d468de3fa893134L },
  46404. { 0x9adc877dd73396b5L,0x430826afeeb00c82L,0xfde2c3da96a673caL,
  46405. 0x467575ad33e43f9cL,0xc3b2c3a1ec1df2f0L,0xf0348e6f2252a8a6L } },
  46406. /* 8 << 14 */
  46407. { { 0x860ef794609683acL,0xf0631ad39af1c522L,0x322c83662ee7f522L,
  46408. 0x58ccd95f54122af0L,0x7454880c2bbb2d80L,0xea173d8286d8d577L },
  46409. { 0xd5a3057cea1cc801L,0xfd08d482bbb2a189L,0x26aac99ec3c512f8L,
  46410. 0xc3eac036556d891eL,0x866c3aa7bf9f6112L,0x7c4c8fb9c144f7e9L } },
  46411. /* 9 << 14 */
  46412. { { 0x989eef73a9109d83L,0xbe43bd378edd17dfL,0x14a63abd1b17029bL,
  46413. 0xfd14ae365ff76860L,0x689dd0a6b8730632L,0x01eb37f147342f9aL },
  46414. { 0x619bab45e6c446a3L,0x93d26fc97abddba4L,0xda6c120486ffa4cdL,
  46415. 0xc608937548758279L,0xaf074ea3034a7230L,0xf220244b82ce176dL } },
  46416. /* 10 << 14 */
  46417. { { 0xc0c1eb0f8343f5ddL,0xa205e66a0126fa2dL,0x37530a3244fd8be4L,
  46418. 0x3c7af6f696ab64cfL,0x1f04305076657202L,0x2c59d31c828f3fb1L },
  46419. { 0xa61cba51e7f5926eL,0xb2de427391ebeb81L,0x976f2c34bb855476L,
  46420. 0x0c6c02c3269e4f86L,0xc69bed8fe2e01fffL,0x19aa421c480bf7b4L } },
  46421. /* 11 << 14 */
  46422. { { 0xb32e8e229affa929L,0x69ebb533bb7db327L,0x10ac3360a8a8d088L,
  46423. 0x066cffa7c485517fL,0x2393e74c12b8eebaL,0xb3a8825a596c8412L },
  46424. { 0xe2b99fc3bc8b6b92L,0xd7716da085ca802dL,0x92f6693f4de5101fL,
  46425. 0xe8b0442304be34eaL,0x05b44ef648324966L,0xa89d9499413df57fL } },
  46426. /* 12 << 14 */
  46427. { { 0xad0d24c7b617206bL,0xb8be483f9dd13f59L,0xa55134ff7655aa29L,
  46428. 0xa3d103857a5e217eL,0xfbb9eeb53a21b295L,0x1de71555c84a136dL },
  46429. { 0x7579398e0b7487b3L,0xc6ca9575a14dce87L,0x99b32e1e46452257L,
  46430. 0x99d54955479d8f2cL,0xc2a8a6a1930b80efL,0x58d9db81656c850bL } },
  46431. /* 13 << 14 */
  46432. { { 0x0c8fe2e04d89b43aL,0xe4d923e77a04e492L,0x49ecb701617df01cL,
  46433. 0x6d80f249bff9a819L,0xf01e604acb7f86c1L,0xd6d3a6664b7f1455L },
  46434. { 0x657801c19188fb17L,0x339d79450dc92875L,0xca798cf57ec0b757L,
  46435. 0xc0808852a62301c2L,0x2dda13558266c908L,0x22bcde8f5e55da21L } },
  46436. /* 14 << 14 */
  46437. { { 0x6c85a0eda682508cL,0x8350b515edcce6c8L,0xa84a67656f95898dL,
  46438. 0x55b0ae971e419847L,0x11115c6edd6a885dL,0x6f0beaf64fb174a4L },
  46439. { 0xaaae44b2815af3afL,0xcf0697b9927a2c1cL,0x37639d62d7d645eeL,
  46440. 0x157b7eda2effec37L,0xb55e50759b9c66e6L,0x33a66a1f85f597ecL } },
  46441. /* 15 << 14 */
  46442. { { 0x8260c5339b49bb46L,0x3f3df9d6437cac27L,0xd0723229d972d2a8L,
  46443. 0xe544a216d0dd92abL,0xeea4a0f5a03588f6L,0x54006166b218dec0L },
  46444. { 0x0fae2be85778113bL,0xbb9618d68d570227L,0x3ba87360297a47aaL,
  46445. 0x9483a8399a76dd6eL,0xa803edaf6eb061b7L,0x6790050cf8067cf4L } },
  46446. /* 16 << 14 */
  46447. { { 0x171898aa8f7782b6L,0x8b7a706b499b3a81L,0xbc0e835ffdb2c1baL,
  46448. 0x4ee30281591f5aafL,0xfd71de3bcc272c6aL,0x532800c46e93f68aL },
  46449. { 0x35ee08048365c576L,0x6c2bcc94cd4c0221L,0x49f37ff5957b2ff6L,
  46450. 0x315d8e7e5ec029c0L,0x33230602ef324c12L,0xf5847f9b966b2578L } },
  46451. /* 17 << 14 */
  46452. { { 0xed88aa550bf098d0L,0xbc9888fd75f90180L,0x9040919207713428L,
  46453. 0x38922bbc1a1f71ddL,0xa430fb65bfbf0f55L,0xa258b9ba867c1998L },
  46454. { 0xa7f69b03b7294c58L,0x2ec0c5de84dbc1e5L,0x41c9e5207dba8d62L,
  46455. 0x545573f1795d8285L,0x1c24a375d3075041L,0x687e1cc8fb6b88dcL } },
  46456. /* 18 << 14 */
  46457. { { 0xc29b123e1453b1e1L,0xefb0778820059b44L,0x15554ade9291671eL,
  46458. 0xeb5a1980429dea37L,0xf96dacbb6c4b867dL,0x4f5563d6abab4d68L },
  46459. { 0xb5b0ecffcbe76297L,0x5a22996a51d6bd43L,0x0088ec95b7e5cfc6L,
  46460. 0x4863a5a1fe373e05L,0x42b7925bc244d93dL,0x85bad13540117113L } },
  46461. /* 19 << 14 */
  46462. { { 0x01725fbe8201fae2L,0xee4d7d382dc34bbbL,0xaddf878afd7c35bdL,
  46463. 0x56522d5865536719L,0x595c3dd8f772d4cfL,0xd87c5b6045af30b9L },
  46464. { 0x9cc20b9de7992d5dL,0xdfd53d58d56f1964L,0xaf2947bdc7d42a68L,
  46465. 0x9322b73dd19e8ad3L,0xa73a9e843243a6d7L,0x9c7dc57992c203d3L } },
  46466. /* 20 << 14 */
  46467. { { 0x86283e21f9daa551L,0x47fd23f81f696f1bL,0x7d029b1bb9784a9aL,
  46468. 0x7c7798bea0c0acb5L,0x41241c716d7c682bL,0x11c6c1131d33c2b0L },
  46469. { 0x5d469ca23565cf32L,0xa949f022bad4bdbfL,0x3d054cc2a13cf4cdL,
  46470. 0x13bd21669e3ce279L,0x01bc70e68a4beafcL,0xb39e351d8aba087eL } },
  46471. /* 21 << 14 */
  46472. { { 0x92efa2ebfa6cb068L,0x934209b29235050bL,0xc446ee28d5000c05L,
  46473. 0xd4e51912862fb7ecL,0xa53940f111193db0L,0x5f2ef2aa82a7fc57L },
  46474. { 0x1a6b30ecb0210f49L,0x4ab1dac73899548aL,0xb116cc3186737a03L,
  46475. 0x56cb33809ebfa5b6L,0x8ac3b61fdfd918b2L,0x65867e3ca102e1feL } },
  46476. /* 22 << 14 */
  46477. { { 0x26072a5d82357232L,0x3762764e9f0fd2f1L,0x9c5813f60c16733eL,
  46478. 0xea2e0e03718951d4L,0xae195bd469e63818L,0x241a4afcfa2f9a6eL },
  46479. { 0x0e97519f9165d59aL,0x416bd37358e5af1bL,0xc4e811288197b7ecL,
  46480. 0x4145be2c9c6ba0d0L,0xc82cb2a17d40b98aL,0xc3c28487bccfa8b8L } },
  46481. /* 23 << 14 */
  46482. { { 0x920949a810476d2fL,0x5b387bbe2502c026L,0xd1d61a9acd7f026bL,
  46483. 0x81003d7ceea9a3f8L,0x6191c15fba5b78aaL,0xacbed41e30ad7befL },
  46484. { 0x1427f1fd6740f72cL,0xb4b5e7c93c475735L,0x6a374d1773029d5dL,
  46485. 0xc1e4bfdacd622400L,0x670b9e36c2686dccL,0x1bb236e08dd4085dL } },
  46486. /* 24 << 14 */
  46487. { { 0x84aa863ea4ee10a1L,0x24d805a687919ccdL,0x553f3206b5c399b2L,
  46488. 0x775b92173cc109bdL,0x25c01263fe384088L,0xa3c4418bd5f743cfL },
  46489. { 0x3d69705ddf91f1f0L,0x547d46269ebddad1L,0x0198ab1a2626cebdL,
  46490. 0xaf8320f285b1afe8L,0xb9c0968ce17e6efdL,0xfedc75c290215bb6L } },
  46491. /* 25 << 14 */
  46492. { { 0x1d375f7dcee34c76L,0x2295f8dbaa486096L,0xd18577928285cb84L,
  46493. 0x53fe6bd5e8c46c3bL,0x6f6cb6c068ba071dL,0x654ab4e8964e0f1bL },
  46494. { 0xc70857a9edf6aa40L,0xc313c7852fd26360L,0xd705a86a995998d9L,
  46495. 0x413d35efd6989c8dL,0xddc0b2070df131bbL,0x21f64be59c7d70f8L } },
  46496. /* 26 << 14 */
  46497. { { 0x8061d340143ff74dL,0x59e94fc6a23aa7b3L,0xf7c79a0b914c3b81L,
  46498. 0x5a836211702c6ae7L,0x2570d63c718123c3L,0x7e86d11ec9f5ce3cL },
  46499. { 0x80f03f9717bcce3bL,0x073975b1465a7446L,0x29f66de7cb357aceL,
  46500. 0xe87bd12c04894fb0L,0xfc501a2651a0b5aeL,0x20a3170c02207a3bL } },
  46501. /* 27 << 14 */
  46502. { { 0xaab1f0fa2785a18eL,0xa50192fdb37c657aL,0xe7073b27f0c8a908L,
  46503. 0xf3e0451b2c82fce1L,0x8237e128c290240fL,0xc1c631621bbf66cdL },
  46504. { 0x9bbcc2afb6639b7cL,0x07643d299bf0e0c6L,0xf7f070c7671c5be5L,
  46505. 0xb09a423a9870ac6aL,0x324503506656cda2L,0x4f404be80584abc2L } },
  46506. /* 28 << 14 */
  46507. { { 0x3ee52d8f5fe63bd4L,0x09f8405c7a7da77cL,0x35ce95c61881a757L,
  46508. 0x0a8cf9d9c13e3707L,0xe71258d548d2d3f6L,0xcf4fd6910bbe7c0dL },
  46509. { 0xbd6496e1fb9479f1L,0x711c669aab8cb3a2L,0xcbe8501358cfdfb4L,
  46510. 0x655c902b59275b4aL,0x7e0ff05b20f722baL,0xcb00031d42b17aadL } },
  46511. /* 29 << 14 */
  46512. { { 0xc568cee0cef0ae1dL,0x1b3422ca7a55aae0L,0x8dcce5058bb536b8L,
  46513. 0x12df74bee92759c9L,0x029abaf02ef962c4L,0x5d30b4359bb1240fL },
  46514. { 0xc62fe8e7d03a850eL,0x67da35b5b08dcab6L,0x6f4d4e75e8ca1131L,
  46515. 0x53d6fbf81bd5bf97L,0x596d850ceaa0b2c6L,0x32e918240e8d39b5L } },
  46516. /* 30 << 14 */
  46517. { { 0x3360ff11d54bf1a4L,0xbab994cb5c79494bL,0x953ad553757d7771L,
  46518. 0xf17f14f068b58ed5L,0x223615317523c422L,0xf0f05f965ebf0d49L },
  46519. { 0x3386676549182267L,0xf87eccc1ad71c3ebL,0xd7708e18913d8dcaL,
  46520. 0x27fe27e1b193eef9L,0x33376365cc45e65dL,0x599b4778d700ac20L } },
  46521. /* 31 << 14 */
  46522. { { 0xb118f73509ebb3c5L,0x7299c7844d0d36efL,0x409ef9cde10b249fL,
  46523. 0x040f91d0156401b9L,0x6b9fa5b107467a49L,0x2ede334334415300L },
  46524. { 0x0b3abc9c0edc8055L,0x58f850958ca04aa2L,0xeb0d3202e568b6a6L,
  46525. 0x5e57bb1a159dce4cL,0x8d3780e03b68641eL,0x78eb21a0d9f50517L } },
  46526. /* 32 << 14 */
  46527. { { 0xda643272ed068028L,0x86b52135a91fb87fL,0x23865a7c35b43943L,
  46528. 0x6ac015884606bbf2L,0x9660ab721559fb9aL,0x1fcb09e73ce2f1a5L },
  46529. { 0x62af29ab793d2f0cL,0xad5aaef53aee7efcL,0xee9f29b744c11037L,
  46530. 0xb2a19cf1d36c2571L,0xb87d88e265b552b7L,0xd8b4f172beb253d4L } },
  46531. /* 33 << 14 */
  46532. { { 0x6776241470c50124L,0x157c591f57d0eb9bL,0x99e1e2d769b4bcc2L,
  46533. 0x81c2b923a9d94ed3L,0xbdd9294fecbf3becL,0x3825c29a4c4fb135L },
  46534. { 0x431d9f26e915cc2eL,0xc4fb48afec1a4835L,0x97f426c09ada831dL,
  46535. 0x0be0cf81d5c48eddL,0x166ee4243d02771fL,0x810bb518b09de508L } },
  46536. /* 34 << 14 */
  46537. { { 0x9f4dd8185038ba67L,0x5ff1572801111ed1L,0x900d44f163de4d57L,
  46538. 0xa36c1a67d5db5e67L,0x2f01142e2bf5cea7L,0x1519ae1f59aefbf4L },
  46539. { 0x7b963d1f6d989fcaL,0xa5bb3cb85fce44e1L,0x61087c9672fd3285L,
  46540. 0xfb2fc6c1c597ef26L,0x5548e25c81e70a6aL,0xa6c53d67a229d7bbL } },
  46541. /* 35 << 14 */
  46542. { { 0x9d11a26ab9678e36L,0x8142106fbe07b082L,0x3c31548b322fda75L,
  46543. 0xa87215ceb7299565L,0xb5229b119ea80113L,0x7221a40f43ae700eL },
  46544. { 0x1ad48de8cc00aef7L,0xc4573660d266daa8L,0x1cb020a65761657bL,
  46545. 0x9e799be24588c895L,0x3d209df968561484L,0xa0fb323295fec6d8L } },
  46546. /* 36 << 14 */
  46547. { { 0x9292138a3acde05fL,0x7b23f51a50f9e7f0L,0x6ad891a1af59b585L,
  46548. 0xbd394db79654da39L,0xcb8c47315f7c6edbL,0x367bbb5d6d2d6e5aL },
  46549. { 0x8df2c759f51dd55eL,0xce0924d8e6c3517dL,0x49c46188097a8072L,
  46550. 0x47169f40980170a7L,0x56198937b96df7ebL,0x09572534531fb3b6L } },
  46551. /* 37 << 14 */
  46552. { { 0x04c18873d2eef240L,0x5752cce75106879cL,0x4b7fbe6bd9736e37L,
  46553. 0x7c7f1de4c85990afL,0x0cda6f07a2324ca7L,0x0894eafa4d80c28eL },
  46554. { 0x24bd95890ae7e6d9L,0x050d526aaba494a3L,0x4b05455ee583fb5dL,
  46555. 0x3b5fb27c6049bb23L,0xc7c9da6ecb5b411eL,0xc1f2528ebc38336dL } },
  46556. /* 38 << 14 */
  46557. { { 0x8b177119d62ff4b1L,0xb0c02e2783150269L,0xdbeee1f8428f9e51L,
  46558. 0x2a55661225ff00dbL,0xb4ebcf98cd0d526aL,0xc69f721fc0efa6abL },
  46559. { 0x0ceeceb516e29d31L,0x0bf4510127d1c530L,0xad942f1f42a7383dL,
  46560. 0x2cf389eb03b8fa98L,0x1aa647651ec6acf0L,0xf7ac647c202433b9L } },
  46561. /* 39 << 14 */
  46562. { { 0x880bfb2caa7fcbf4L,0x18c2b739731cd693L,0xd093ada3ae39b46eL,
  46563. 0xd48a288796c6fb7cL,0xed7c405daf96bbfcL,0x6b63b9ee256335e4L },
  46564. { 0xfd4795ec7ee8e89cL,0x4f3fa1ccb07320d6L,0xe16c594206b0078dL,
  46565. 0xb8c95b563a0b2914L,0x2b5b5ab42b337970L,0xcf612b4cb9f75ea9L } },
  46566. /* 40 << 14 */
  46567. { { 0xbfe63081596eecd6L,0x20eb6fb0a3a194fbL,0x4497ec2b8751a73eL,
  46568. 0xf90e9e4cf88ba0e5L,0xd5a9c5d55974eca2L,0x9fc120ade4f3e171L },
  46569. { 0x9ae058a633330640L,0xbda3227855bc8aaaL,0x7851cdbc1c9688a9L,
  46570. 0xf68d7d9e1d950edfL,0xc89c645074e06425L,0x62406f3b6116d386L } },
  46571. /* 41 << 14 */
  46572. { { 0x1094390070e509fdL,0x0a8e3db09af61ad1L,0xa487a61538d7aa57L,
  46573. 0xa9d56bc5ed020b3bL,0x7ed2294f638b35f8L,0x53d6870dc95fb42eL },
  46574. { 0x85e828494c2207d7L,0xf88831baf0556be9L,0x64a547979fe416c3L,
  46575. 0xd61b652e779bebaeL,0xd3f43e2f2c0ccce6L,0xd5119f341f680ab7L } },
  46576. /* 42 << 14 */
  46577. { { 0x466f42a1191938bdL,0x95ec31c036f1dae5L,0xa7f350d2feaa8b55L,
  46578. 0x66434577555c505cL,0x0c668e73f55d1ca4L,0xd6af5ba4a7bd7449L },
  46579. { 0x581e14ac1a79d8c9L,0x9761d9763054e915L,0x928e7415d69220a6L,
  46580. 0xc5bf4bb405bc4a22L,0xad033b7c45d52313L,0x4e67962c75d66dc7L } },
  46581. /* 43 << 14 */
  46582. { { 0xc60e17b2e2300049L,0x731c2fa54107f308L,0x848f6db7cc2982b3L,
  46583. 0xf251c21085275d38L,0xf5cac5b2128c8a96L,0x3c012933405b27f0L },
  46584. { 0x9b0a61520b8b15b7L,0xb1c32dc691fa4548L,0xbe7b7654f366d677L,
  46585. 0x7e1f33277147a660L,0x11e31a0eeae310bcL,0x3edef63c1b86b525L } },
  46586. /* 44 << 14 */
  46587. { { 0x6f7e7259c6334c8cL,0xe34cba49b4f2333bL,0x157bf099211d08c5L,
  46588. 0x9e39c5442988a4daL,0x796ed9f17a998311L,0x3f4da896d8d349e6L },
  46589. { 0x8ab75656fab28acaL,0x3e215d5342d14b21L,0x50008fd7bec23301L,
  46590. 0xd6ee4853446e2c56L,0x203ff1c880da14bcL,0x27a4bfbbc333ba74L } },
  46591. /* 45 << 14 */
  46592. { { 0x745e69dfb3d54e52L,0x1ab2a03e7c405cbfL,0xda71141e0bc431b5L,
  46593. 0xb3a47e71aafa7c19L,0x5329594fa88a4905L,0x489b5928973aba07L },
  46594. { 0xbe31a4d37350ad6dL,0x177e5285478a42a4L,0x45a101bf848eba6aL,
  46595. 0x4287dfd949936d31L,0xbc4c491dc82823c9L,0x87c816aaeb8b8055L } },
  46596. /* 46 << 14 */
  46597. { { 0x66f5337cf309ced6L,0x897cbcb9eb5ed3cbL,0xeffb601762c35fd5L,
  46598. 0xb4b702f081fd31f3L,0xd5203833f66f6120L,0x1d2d5ef318a84d91L },
  46599. { 0x22f9fae70edb3857L,0x034197b3cef00765L,0x16d8c6b493643908L,
  46600. 0x90ac59e16c51708bL,0xbed18da32edffd9dL,0xc90ac893e750df1eL } },
  46601. /* 47 << 14 */
  46602. { { 0x4a0af827bdb07e48L,0x5588631e131f46ebL,0xda550ce1e503169dL,
  46603. 0x0e16b540f2cf2f14L,0xea19a70dc79930abL,0x5654aa5fa8925651L },
  46604. { 0x2f1a14906104f9c7L,0x98420d6c654cf319L,0xf967467f3ca96df3L,
  46605. 0x6abe4e32dee1fc07L,0x913bdf2bbd07d17cL,0xf96f70eda8ef9068L } },
  46606. /* 48 << 14 */
  46607. { { 0xa0096d10b7f8286aL,0x493e88563015be8dL,0xa221d57c17f70125L,
  46608. 0x4f932f4fe425eb77L,0xf0fa00df78ddfe95L,0x68165f257866f01fL },
  46609. { 0x01345af4b1693425L,0x3fc8d3a6bad5603fL,0x4269006f0bf46cf5L,
  46610. 0x96e3b6b77e340ce9L,0x2a4bda69df7c68b7L,0x9649d8b91b6574c2L } },
  46611. /* 49 << 14 */
  46612. { { 0x98f55e59112ef290L,0xa5516c3568909cdaL,0x40407393235165f1L,
  46613. 0x6eeeae510991970cL,0xae79ce1faaa6d26fL,0x8bc719b441d43f67L },
  46614. { 0x4a7af92a39cc89a3L,0xf6d14f9a85c8ab12L,0xb9bfca97eb8d4851L,
  46615. 0x926b8155cd52b2f3L,0xdd17dbd48fa94f9fL,0xaf68726447cac5cbL } },
  46616. /* 50 << 14 */
  46617. { { 0x39d7c1729517c2c0L,0x6f795181166e2f50L,0x9f6ecb5dc0ad8b54L,
  46618. 0xb480afac8e75ce4bL,0xf51569203dd5ad07L,0x87c855e73799b80dL },
  46619. { 0xea8c34d9538ebc9eL,0x67bebb6a957b303aL,0xc6511b7b4dfc6d7bL,
  46620. 0x9a40cf5885b02ee1L,0xf4fffbbdecc59a6fL,0xe85a7c115cebfbcaL } },
  46621. /* 51 << 14 */
  46622. { { 0xffa0118c4a33265cL,0x4c4051d583e0bb83L,0xcde22f8d7007d078L,
  46623. 0xae9ebbc2932cba29L,0x297c2252f7a82223L,0x662814f41a09fbdaL },
  46624. { 0x3bfd965640be805aL,0xe49901e592acce09L,0x4e201930bbb6bb43L,
  46625. 0xfe94eb4dcc018aa2L,0x454d8c611dcf97a5L,0x11d8e3a230f1011dL } },
  46626. /* 52 << 14 */
  46627. { { 0xe745ee2c36cc8b1bL,0xb40c94e6e328c813L,0x4144aecd8bd107b9L,
  46628. 0xc35567890ea88fd2L,0x017460e30492a810L,0x0c63cd4410b8bea1L },
  46629. { 0x9123e9a3c890f74cL,0x940fe6590cea499cL,0xbe306232c82e1bdeL,
  46630. 0x40544f6bc041d7ecL,0x46de1f3b477a7dafL,0x336551f6951f1295L } },
  46631. /* 53 << 14 */
  46632. { { 0x2a61217a09b3b9a1L,0x0736704635b71125L,0xfddbf1933df24d57L,
  46633. 0x33ddabcb4592d748L,0x2fa9ff8a25309e3aL,0xdca2dd2892a0e76aL },
  46634. { 0x706350255dfbd02cL,0xe01c2553b6306b8dL,0xb14132905e91ddecL,
  46635. 0xf45221866f6de6fbL,0x2d48d001b440319aL,0x926e9b64fe67f843L } },
  46636. /* 54 << 14 */
  46637. { { 0x5580401264e2c160L,0xe154925a9a6c256bL,0xce2df32922260b79L,
  46638. 0x74824410c546d756L,0x2a1d0a5f79887083L,0xa2c040c5da3f7d48L },
  46639. { 0x74058ecbc14f96b8L,0xe69c09d73415e476L,0xe5a93bb47a443fc0L,
  46640. 0xe1bb24800c31d7b0L,0x4701d669f4ab0610L,0x0ad815841eeb23e9L } },
  46641. /* 55 << 14 */
  46642. { { 0x823cd737d72b5925L,0xee09efb9fa38cb06L,0x6828dced4a21e81eL,
  46643. 0xab67b37bf365e481L,0x3995edd2b5a7c630L,0x4c24ac8806930b7cL },
  46644. { 0xfd7264d36dedce0eL,0xdcab1e333e76fe1aL,0x6b40889a89a94f97L,
  46645. 0x7a1fd432b2a3b0e3L,0x121efaea3ffe933eL,0xa81f6c6f843c3553L } },
  46646. /* 56 << 14 */
  46647. { { 0x26301455e5488aceL,0xdf39099881a20dc7L,0xac7d6049ee06c7f3L,
  46648. 0x547e8df33f248fe7L,0x5fc4b74213743dceL,0xa97721bc4c398630L },
  46649. { 0x6b7877cc258aea47L,0x1cedce562d5c28d6L,0x7e930e419428d66eL,
  46650. 0x42c80757b97faf54L,0x091fe5ab3812e632L,0x2c29fd42e2e359bbL } },
  46651. /* 57 << 14 */
  46652. { { 0x2d9e65a61d7b990aL,0x8a9ab4bee2a8a6a9L,0x8658c36985e3eea6L,
  46653. 0xf352787df0de0b23L,0x872db1de1161aa92L,0xf2648c972190acbfL },
  46654. { 0x9a34f1d09de72e41L,0x13860f846c086516L,0x2e9211b824127c21L,
  46655. 0x4e1623bba3697c37L,0x41d71f1df579c733L,0x33f0ebf7ca9f68aeL } },
  46656. /* 58 << 14 */
  46657. { { 0x9b51f4ca9f5a40c2L,0x38b59573682e2132L,0x5765e89dc556998cL,
  46658. 0x102fe894698a4a8cL,0x0bbcae977c6964d6L,0x8548f2c6dd7bb12cL },
  46659. { 0x32c11ed9e49848d9L,0x1ee1b525135aefc2L,0xade5d14e812a5e4bL,
  46660. 0x0e122e7e15bb167bL,0x321594d4ec5c3594L,0xbcea8723a7c02afeL } },
  46661. /* 59 << 14 */
  46662. { { 0xdbf91edcaf87c75aL,0x9710003266582706L,0xb10cb32b1133a7b3L,
  46663. 0x70f5d71767e068daL,0x8d937e56b8e0c9a2L,0xd8a2652ee2a9afd7L },
  46664. { 0x94d6cae9cc90c6ccL,0x3512f3abe94f68ffL,0x931ea6f09331ad40L,
  46665. 0x71621013daa3d4f1L,0x591c40bfb668a992L,0x5494cc174c6868e5L } },
  46666. /* 60 << 14 */
  46667. { { 0x7981826070ececc7L,0x8cc0b6e071cfc0e1L,0x998df6590276a6bcL,
  46668. 0xffb5bec11a43be05L,0xb93b1543f2beb640L,0x337703d456f3719bL },
  46669. { 0xce74c17cd40a7375L,0x6aef79cab1aece94L,0xc5bdfb388876d218L,
  46670. 0xf71ce9cccea91445L,0x471cdbd1ed6e5f5dL,0xe0cc79cf10e56c08L } },
  46671. /* 61 << 14 */
  46672. { { 0x2b17e181794ebe48L,0x6111c897f28cdd32L,0x4d59199062dfeee5L,
  46673. 0x7b9d070241b14904L,0xa1ad534d5fea4804L,0xc08915d953b16c22L },
  46674. { 0xa57c883e8ac9ddedL,0x589474dcda1d1bf0L,0x31cbf32ce9aa8e7dL,
  46675. 0x2abe9b60f0930d84L,0x604731b0cbdd031aL,0xbc35b1e4e9e1b3c1L } },
  46676. /* 62 << 14 */
  46677. { { 0x39300d55efeff954L,0xa9cf57f34fe9cffdL,0xe3315321b15aebbdL,
  46678. 0x26354c57b840b080L,0x2c690488476abf35L,0xa7303fe6d480cf33L },
  46679. { 0xa50865295706c3b1L,0x4c26034eed0b2342L,0xf08d67be9ae9c452L,
  46680. 0xd4dbb9f5046c7d0dL,0x4435f1a3f9e5393bL,0xf47aae68cd4d5de8L } },
  46681. /* 63 << 14 */
  46682. { { 0xce9e5ddc06d5f48bL,0x22c1cd3e0ef642baL,0x2ad48eb9e9b8a960L,
  46683. 0x330074883ce26679L,0x495e62428d2de642L,0xcba5bf37e03b1a77L },
  46684. { 0x9382c92de716624dL,0x410d212350a33e4fL,0xe55ee116e953e7edL,
  46685. 0x27e9a0584b840616L,0x560a5e4939473bd8L,0xbc1e795b382f3a95L } },
  46686. /* 64 << 14 */
  46687. { { 0x31bdb48372876ae8L,0xe3325d98961ed1bfL,0x18c042469b6fc64dL,
  46688. 0x0dcc15fa15786b8cL,0x81acdb068e63da4aL,0xd3a4b643dada70fbL },
  46689. { 0x46361afedea424ebL,0xdc2d2cae89b92970L,0xf389b61b615694e6L,
  46690. 0x7036def1872951d2L,0x40fd3bdad93badc7L,0x45ab6321380a68d3L } },
  46691. /* 0 << 21 */
  46692. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  46693. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  46694. /* 1 << 21 */
  46695. { { 0xc5cf8997ce0b5b72L,0x350adde19d7154baL,0x8139681e307b254aL,
  46696. 0xcc87fb5775cd94d7L,0x90e7027478684954L,0xc4fdf4c095ceb991L },
  46697. { 0x91bbc0ab8762c84cL,0x5e09e226ce09e8adL,0x1cb83d704b93d45fL,
  46698. 0xe2299024f541da1fL,0x3eef7ce14b7ffd10L,0x53ee63bbb3fc1b9aL } },
  46699. /* 2 << 21 */
  46700. { { 0xe5004e8003682f59L,0xccdb9cb7f642ac0fL,0x405f50d1bd869f77L,
  46701. 0xecffa54de7ebea2cL,0x3354dc22d87620baL,0x01bb2988b1c01ff4L },
  46702. { 0xd9370076e16477fdL,0x45303d2a2e71ba4bL,0xc0de76273291e5c5L,
  46703. 0x5cfebd87f0a7ca55L,0xde1162809e592a30L,0xdd26e577a78ebce4L } },
  46704. /* 3 << 21 */
  46705. { { 0x1e9b23b9ff1735a8L,0xc3bf3d5b2b0e4b7bL,0xd4cc00fe59b7721cL,
  46706. 0xd5c36f9c9e2f4cebL,0xdeca06bac90af70eL,0x42676f12416ee799L },
  46707. { 0x0d7afe1b6f748c6fL,0x0b7a6de539c39d55L,0x11e43d6ee6eaed18L,
  46708. 0x5baf8602496087e0L,0xf833634fb1a3a66eL,0x25098c8a79398677L } },
  46709. /* 4 << 21 */
  46710. { { 0xe141e763d4720770L,0xb9739e70ddb3b450L,0x46e6cde496131446L,
  46711. 0x0458a5d5cb6c2ef7L,0xb7747634532f9fd8L,0xf62d372116544457L },
  46712. { 0xbfacb4ded3100854L,0x70788a31b39d3f62L,0x9b543220f22d92e4L,
  46713. 0xaa4590f655723258L,0xc7b6730e01ddb8bcL,0xae252cf869e1e7bdL } },
  46714. /* 5 << 21 */
  46715. { { 0xc618cf0ddd4b8d8dL,0x471cda8640dcfbfbL,0xba0dd7ac08882ce6L,
  46716. 0x58e5d2f56cd336e7L,0xcdda8301af096540L,0xf6d268463cf31600L },
  46717. { 0x6150cd982197efd5L,0x4440fbfa55fb0877L,0xca31871c90757f1dL,
  46718. 0xc4a1faacbdd756c8L,0xc9d4ac1bcbb8421eL,0x3c0c2914b17c43beL } },
  46719. /* 6 << 21 */
  46720. { { 0x46fdb65caa6fe9eaL,0xe0d48e5e05494cd9L,0x5adef5704afbf837L,
  46721. 0xc96ba4b91c9e2cadL,0x1e8158f7054a158cL,0x47be73209e38b88dL },
  46722. { 0x9b99971e6d2993ecL,0xac9b0bfadf980eccL,0x9da09642d96ca391L,
  46723. 0xd67105369bf4305cL,0x40cc1adfa0dfafaeL,0xe27e32f8a209699bL } },
  46724. /* 7 << 21 */
  46725. { { 0xeaaddeb836e87d82L,0xc12587a71ffd7210L,0xf93d2f5c731f6838L,
  46726. 0xb96594e8f7097a65L,0x08d6717ab016e8d3L,0x9c378de81984d825L },
  46727. { 0x627d41e7cb2a0c26L,0x1f447501c697ceb1L,0x8dc40831c760550bL,
  46728. 0x70ad48707fac97b0L,0x5ac7f22e7021c170L,0xa6f730e4929d5931L } },
  46729. /* 8 << 21 */
  46730. { { 0x7d27d71fd186cb09L,0x67cb7f4e3bc213c7L,0x418cafeb6075b2cfL,
  46731. 0xc0d691e6d93a06f7L,0xc16a95259dd001b9L,0xa0583230026f17b9L },
  46732. { 0x4c1041b07845900bL,0x2874079147a22aaeL,0x8d08efd62c1758e9L,
  46733. 0x9cc6f207e6c3229aL,0xec69e902082d8924L,0x9cfa1deaf331dfe7L } },
  46734. /* 9 << 21 */
  46735. { { 0x7b5ab2afbce81cd9L,0xd25fa34b12028b49L,0xf9d65e6b63a659beL,
  46736. 0x6f88f1ddfffb943cL,0x38eb0d02b871cd5fL,0x732afedc558ad949L },
  46737. { 0x4093ab05367d424eL,0xf73b23ad29de1be7L,0xce1c0093e7a50181L,
  46738. 0x6d05cbbe1e412cb9L,0xd3c1148b773a394cL,0xe04b5fdd38e50316L } },
  46739. /* 10 << 21 */
  46740. { { 0x1793535b8d0ce0f4L,0xe9b054b1ab73f7daL,0xd82a3ac1ee7bc6e2L,
  46741. 0xb28ad846b847f39eL,0x40975fa2fc10c012L,0x8de998619aafe68eL },
  46742. { 0xa73f442584878534L,0xbe3118cb7a36a0d7L,0x3763a49e8fa37fc9L,
  46743. 0xf3f8ef82361f32b9L,0xea66f9978c1aebc4L,0x88600d648d9d024cL } },
  46744. /* 11 << 21 */
  46745. { { 0x11f842ca150a3325L,0xbae115c3185a385fL,0xddf9643637561bb0L,
  46746. 0xecea0cd9a4115fe4L,0x297720665893a694L,0x837e6880df408cfbL },
  46747. { 0xfeb8f511e0a7fb68L,0xd21869dfa062b60fL,0xe2b60f46ca6a5e72L,
  46748. 0x64bbec184931d188L,0xfb09c90fe3ef3378L,0x67cbeffacd767337L } },
  46749. /* 12 << 21 */
  46750. { { 0xd35832381b289f6eL,0x10dac54a0aeb3bcaL,0x4df1c08d6692339aL,
  46751. 0x2968edec20054647L,0x34072618d74235a4L,0x00b4a7ae71d6064aL },
  46752. { 0x23a8900e25c23f8fL,0xda0cb7fad7d0f1b5L,0x266211c56c8ecdbbL,
  46753. 0x0a4351b97bc27e4dL,0x98d54c97fc234258L,0x5ba534071e1a4dfaL } },
  46754. /* 13 << 21 */
  46755. { { 0xf07cfcdd77f083bdL,0x89bcae29d46712c6L,0x2089c3ab0f09bb8bL,
  46756. 0x3ede5a2a6b9a4028L,0x27ee18fe013066deL,0xc2bebbb416fcdda3L },
  46757. { 0x6b3926af3a87cd68L,0xf52f0ef9f9a7b831L,0x4a39660a1ffc01b2L,
  46758. 0xe98f718d91aa6719L,0x8b0626f111d48e8dL,0x4a6a2e5b2bd93db3L } },
  46759. /* 14 << 21 */
  46760. { { 0xc3ddb6123ef24470L,0x98b66569bb3f99edL,0xccc537153a97a015L,
  46761. 0x0d9a6b4d04937b8cL,0x854d081ad9a575f7L,0x347bf0c0127fbd90L },
  46762. { 0x6baa47a5c30987f1L,0x164b390dbfd0b503L,0x6672d1afe6a1f565L,
  46763. 0x9a50ee5828d5bb14L,0x2e23ab480d0226fcL,0x33eb052365cdbdbaL } },
  46764. /* 15 << 21 */
  46765. { { 0xa32d1a27d904eb73L,0x6fcad8d0c43c978dL,0x8cf1e7a19c0842f5L,
  46766. 0x2a6fa6d800328ae2L,0xa5905f67a1e3b06dL,0x458c8badaa8df96aL },
  46767. { 0xee5b20c0b0d4b89bL,0x352ae0c4815c1af8L,0x546a7d7e6dd73b70L,
  46768. 0xa99882225f753229L,0xa38eb5d7efde47e2L,0x8290aaed92635ab1L } },
  46769. /* 16 << 21 */
  46770. { { 0x8ec4335fabe7c60eL,0x01f198c10a6a9fb5L,0x3ff96de001141ab6L,
  46771. 0xb21acc2c2eca98a1L,0x6154849010fdf648L,0x2c01a99cd1403e8bL },
  46772. { 0xf1a35f306fa509d7L,0xf7715fe3e3f08e9fL,0x89c26c077fc9a752L,
  46773. 0x8d2535fe420d48a0L,0x80ec5ddd52fe2e73L,0x041b8df071704f39L } },
  46774. /* 17 << 21 */
  46775. { { 0x96882074659a0a12L,0xdb0d63032a6bb752L,0x2a1fb2d740c2194dL,
  46776. 0xeb6b45ba2c184444L,0x10ee44368c179d33L,0x906d0e509391917fL },
  46777. { 0x11bead88ca3bcba2L,0x25914dae4253fb99L,0x0445b31013c25404L,
  46778. 0x2a2eac6d515f53baL,0xa746a1d662bf0a11L,0xc7576a4c6573c4f1L } },
  46779. /* 18 << 21 */
  46780. { { 0xec159ed060c5bee9L,0x80282ff007746414L,0x8d53f05f40a97a54L,
  46781. 0xc92d8789f5d4eedeL,0x1edd798132344c09L,0x3bb9a444a92c7b36L },
  46782. { 0xbf130f5cdd6c8903L,0xd270e7cf676fcab9L,0xac49744bdc5ae6f9L,
  46783. 0xbd0ccfcb40e39281L,0x222efa16a981b3f7L,0x92bcd2d700aeeadfL } },
  46784. /* 19 << 21 */
  46785. { { 0xecfdb91489c73e10L,0x83a5168becffe79cL,0x6a0d57c123e97ffbL,
  46786. 0x774121ca4b130cc3L,0x8556fdc5486967a6L,0x1249448d5fe4a7f5L },
  46787. { 0x8c2c14440e93c114L,0xcde258573bc68985L,0x697ba7b0952758a2L,
  46788. 0x0d962b377aee19e3L,0xdb31fe8582c4c640L,0x6ecfaf36c89b4b85L } },
  46789. /* 20 << 21 */
  46790. { { 0xf1e8c5a0e06b40eeL,0xa55909fe59836af3L,0x77a13be8a3a4ed95L,
  46791. 0x47408650bbbcde0aL,0x95b455c2b4fba7b7L,0x4983f5ca4321117aL },
  46792. { 0x37bab5d1e18d304fL,0x0edf3733f1d29206L,0xe23e4db4dab91670L,
  46793. 0x602a5265923ab7c4L,0x53ee98c6eb920a03L,0x1b592b626f25489cL } },
  46794. /* 21 << 21 */
  46795. { { 0x66c981d9d3543689L,0x20500cd7bb8f53bdL,0x807d43605179af77L,
  46796. 0x7280a7b27c286404L,0x75a74e630976a65fL,0x2ba9ad9df11c3bdfL },
  46797. { 0x23f38f950ec6c760L,0xcad599102b858cc1L,0x4d9adb7efec23c19L,
  46798. 0xbabb6e45095e85c5L,0xfab66a97e5dac2e4L,0xcde4b15a08baf1f4L } },
  46799. /* 22 << 21 */
  46800. { { 0x148aad3207089d6aL,0x3ab5b0790303c267L,0x7d13995bc3153026L,
  46801. 0xeba27c192287f305L,0x5faa453367ae45bdL,0xbbb561db2f4e9488L },
  46802. { 0x254d8977c8493163L,0x60d468fc5c544164L,0x0b6309a3a2758037L,
  46803. 0x8480e16b1f9add24L,0xf1d99fd2902ec661L,0xd32df254cb6dd6f4L } },
  46804. /* 23 << 21 */
  46805. { { 0x9a17f5c3610178b9L,0x75dded80bada5aadL,0x158249c23dbeb289L,
  46806. 0x1d0671cac300cf49L,0xa1649bd0886902f2L,0x79b0d6ed7d13be62L },
  46807. { 0x78253e7549e2327aL,0x5629cc509af110ecL,0x4373a20059f8765cL,
  46808. 0x739f33289d9c5f3aL,0x3c7d5cfe9a5f997eL,0xf044d90d0559357eL } },
  46809. /* 24 << 21 */
  46810. { { 0x20aa15d97ab838e6L,0x6cefdd5a0c827ed1L,0xe2f205caef579e8fL,
  46811. 0xad27e38b325981bfL,0x087b8284c3438be8L,0x2095dfcf422360d9L },
  46812. { 0x87cdf5ad76d096bfL,0xf1b97ce1e022adc3L,0xa71240c189104665L,
  46813. 0xeb5a175c9c1578e8L,0xbd66910ad150ffa2L,0xac277af811459a28L } },
  46814. /* 25 << 21 */
  46815. { { 0x7db4df62417fb54dL,0xf6c1e7f04dfb7c05L,0xfdcbd3777aa8ceb5L,
  46816. 0x0364b3bd89c24333L,0x8a721718fdd3dcafL,0x9a6015dcec2848f1L },
  46817. { 0xd6571930d35ad1a9L,0x154a929199369196L,0xf3be7e228e514732L,
  46818. 0xfa3eef28b7fd3aacL,0x0bc3b2a69f60d298L,0xf6327920febfca58L } },
  46819. /* 26 << 21 */
  46820. { { 0x3b9de1baf8dc6030L,0xacc4224a2107fd1eL,0xa7d32fe86dcef0d2L,
  46821. 0x353d5e88dd83fb28L,0xd552c3ce50bfb0b2L,0x69bc0e686cc8ee7dL },
  46822. { 0x965c0ca21d9c74d9L,0x5cd163a406ac3ecdL,0x57910a828e98b581L,
  46823. 0x1d0fa7523d992afbL,0x862d3184e7d12701L,0xab6a288c6c7d161aL } },
  46824. /* 27 << 21 */
  46825. { { 0x04caa9caf4f2b3e9L,0xcdb896141af43dd4L,0xb09444fd4e74ee8bL,
  46826. 0x9428849fec05d35cL,0xe29bb0e94765c0e5L,0x138c45f176d25d2eL },
  46827. { 0xbf041131a0184d83L,0xaf321573991ddc4cL,0x058760a8ef31df7dL,
  46828. 0xe0b94b57f80dcf5fL,0x75572221850a4a6eL,0xc735580c104a4a1fL } },
  46829. /* 28 << 21 */
  46830. { { 0x9ba102f1a6b735daL,0xe073232edfbe7d06L,0xa8ac24ba57266a16L,
  46831. 0x07458ea42d5c4bb0L,0xfbdd0f0574868e1bL,0x73fa612a3921fe7aL },
  46832. { 0x26f6714b0b32d8e2L,0x7a3cb2b48bceb95eL,0x756a68c6290f204aL,
  46833. 0x148fbb787fdf2b7eL,0x639ece6c57fe0da0L,0x315aee1e9a92b7e7L } },
  46834. /* 29 << 21 */
  46835. { { 0x22dc170769d10661L,0x8d89cd1c71fd40f7L,0xa22f11bfa2545040L,
  46836. 0x1247d019d44c2446L,0x8d17daaba08235c7L,0x7e6863b9fae7874dL },
  46837. { 0x6d57431c0490d338L,0xc1459e61809d1f9aL,0x4eb14dce95b64852L,
  46838. 0x8d3a04e6a7b5a861L,0xfed631ee7bfa24a7L,0xf8f86f27af11723bL } },
  46839. /* 30 << 21 */
  46840. { { 0xb43b14146e63c833L,0x497a5f98c1ec160aL,0x112223de83eb3709L,
  46841. 0x293964a88d100b9bL,0x6db1d1931e3b2db3L,0x264bc83d71eced39L },
  46842. { 0x8418eb43aa89c967L,0x51d41bff76f8620aL,0xa4017ee5cc416467L,
  46843. 0x1cc527231e216e36L,0x76ba536ce8069a6fL,0xa239b54acb77b981L } },
  46844. /* 31 << 21 */
  46845. { { 0xa05f2dbc37544476L,0xf18dbcd71b797f65L,0xc78131376d50cd5eL,
  46846. 0x2b509a4d6dee11daL,0xfc0f0584beba1b6aL,0x3282624a9d53bd6bL },
  46847. { 0xa0944e5c16b7187bL,0x468a79b8aa2f99e9L,0x32e4644b38bc4ed9L,
  46848. 0x5bc375d7e7cf71feL,0xe18e3c0956617861L,0xbce9ccbce69255bfL } },
  46849. /* 32 << 21 */
  46850. { { 0x498808edc65fafceL,0x3676a7cc4e806bc3L,0x796e25f176c6b964L,
  46851. 0x1aced64bac474261L,0xa62470fc29a460c1L,0x77501dce5e751e48L },
  46852. { 0xcc00053b6d9e3641L,0x2b5bc4ae9a3f5a0bL,0xddaccc2e3f9ca178L,
  46853. 0xad33f34a0b80d1b0L,0x6a76df9364642225L,0xc145f36f778e761bL } },
  46854. /* 33 << 21 */
  46855. { { 0x377fc5ac575e74f6L,0xfefeb2327736739fL,0x62ba076a9fc2d5c5L,
  46856. 0x6f3c6084baf0269aL,0xce2917688fa7c145L,0xa60bb8905b3f2333L },
  46857. { 0xa811055dd900095aL,0x92d95e7b385bd4f2L,0xba54f444d33c2a43L,
  46858. 0xc1b131327d12754fL,0xdcdb54821556f5e3L,0x55377fc539ca4b94L } },
  46859. /* 34 << 21 */
  46860. { { 0x455f65d1a0cbee78L,0x554eccb566225edbL,0x306400b47a4e014fL,
  46861. 0xef3e02eb7b67025aL,0x7d4efbaa997a633aL,0xd43c6eb8672c90b2L },
  46862. { 0x0ed2d88d7519da07L,0x864377854b9d51e8L,0xd5900a2e2e3ab57cL,
  46863. 0xc02f046b69bb0a39L,0x06d825a6bff12faaL,0xa12e5b0d5d3ac267L } },
  46864. /* 35 << 21 */
  46865. { { 0x1716be5ba10508b4L,0x8706acbe7e37fbebL,0x3881f54e44e3d127L,
  46866. 0x54e20622a864d77dL,0x26a194616b83325eL,0x0d57be814c15a8f4L },
  46867. { 0xb10c0cd07b53b476L,0x3d016ea097d39c64L,0x4d7df7c15315bdadL,
  46868. 0x6fe5a1acf060cf4dL,0xd5e3d05396846b79L,0xebc878f79e3c8028L } },
  46869. /* 36 << 21 */
  46870. { { 0x5b849ed8d0d193acL,0xe983abf773950501L,0x5ca162770854a569L,
  46871. 0xb0b284d26904bdceL,0x9c769d269d4fadecL,0x98e5e9b912677284L },
  46872. { 0xd9246836b557f2cfL,0xbd47433069d46374L,0xbce8b27b9b063a22L,
  46873. 0x08da2eca37c5ba26L,0x9e742de8d4b26479L,0x643b752c102aa36cL } },
  46874. /* 37 << 21 */
  46875. { { 0xb72fae566fad22d5L,0x1e921426cf2fd62bL,0x9f31293d4c225102L,
  46876. 0x78d43a621975afbbL,0xce2787303cfee30eL,0xb88590d77a82613eL },
  46877. { 0x42f86567560b932aL,0xc2d98915a7c9ed68L,0xe70e41fb349a9750L,
  46878. 0x7e7fdd2c79f9582bL,0xf3d6ab07da737c0bL,0xba247c0b9f3cf823L } },
  46879. /* 38 << 21 */
  46880. { { 0x4bebaf153dffdbd3L,0xc37d4a04fcc967a6L,0xeabab9aca0435a65L,
  46881. 0xf23d1d58f9ae9c52L,0xce229a798cc8f7b6L,0x4a61e6ebf5e11e61L },
  46882. { 0x770e1dc6b20f2d8bL,0x199d20e8cfb9e820L,0x9fd709c4c381a22bL,
  46883. 0x6f53a358b1d52a98L,0x4b1a018c66f511faL,0xc7d2d49375d3a666L } },
  46884. /* 39 << 21 */
  46885. { { 0x3b2db5e5550791d3L,0x034ed5665bbb686eL,0xf019f161e033e3eeL,
  46886. 0x33198653acd2f0b5L,0x368d89e41ee8273cL,0xa7ac3b507f26daffL },
  46887. { 0x73d8d7df006c0037L,0x98b5937de73cf271L,0xc3bc340be917247dL,
  46888. 0x799ea890e45f37afL,0x27be0f5a25e8dd2fL,0xd70ec41c3bb16923L } },
  46889. /* 40 << 21 */
  46890. { { 0xd30302352679072fL,0x73dfdc0f95dad4c8L,0x53649b575c4630f1L,
  46891. 0x60197fc08d098d74L,0x9c295d54647f5cbcL,0xfa5f1bc6c0813efcL },
  46892. { 0xf6e08007d2e49417L,0x4f7d4b3dab579569L,0x7af3e08e11d9b388L,
  46893. 0x073ec38a5db61c65L,0x9b480cb89db4dc4dL,0x9be2ce7e372fa82aL } },
  46894. /* 41 << 21 */
  46895. { { 0xd87c0b55ed1b6d83L,0x3b47443adfae29cdL,0x16c5b0e52147bfdeL,
  46896. 0x98812fd0663cbdbcL,0xe3cea04955ffe911L,0xfc1e9d9cc5df31caL },
  46897. { 0x7ffa90f9902c4ab1L,0x2cf973c3669a857fL,0x89243cfc94b109adL,
  46898. 0x222d6fdb536ee544L,0xa48b1b15fd488c22L,0x7120e3f0f318ba27L } },
  46899. /* 42 << 21 */
  46900. { { 0xfbb8a3cd47813054L,0xa2d7255d462ac3f3L,0x341bc10babdfa7adL,
  46901. 0x01efa884ceb9ea50L,0x30fa0f903f5bd09cL,0x8aa309453abd108aL },
  46902. { 0x0ab7fe23f9ecab6fL,0x0585f72a5ec032bcL,0x686a7d71cf9f4fcdL,
  46903. 0x096bbf04f769be8dL,0xa309931250b64584L,0x67be53402e216060L } },
  46904. /* 43 << 21 */
  46905. { { 0x4e14fa6eef252e90L,0x2ca968579b7db6f2L,0xf80772e3653f1662L,
  46906. 0x4f89e666cd28bb05L,0x7fa800cc77eef62eL,0xa3f6ef5963b2f3e2L },
  46907. { 0x438d564bc81e600aL,0x8978912de14c1434L,0x33732892ea695891L,
  46908. 0xaf6aef0b1dc8caceL,0xcbf9580b7c509cb1L,0x2db9fbc11ed6fbdfL } },
  46909. /* 44 << 21 */
  46910. { { 0x408805a1fa7052bdL,0xe4eb27f75f825c13L,0x0a0cc8fa37ee34a7L,
  46911. 0x737b99a40c59156fL,0x78c2a5d8e1b55c30L,0x89d70b62bcbb2196L },
  46912. { 0x07ad36911e862a0fL,0xaa1c9118c41cc693L,0x7e6f544c4e1f7359L,
  46913. 0xa5f4f5891bf9474fL,0xa711efd9ef56df82L,0x0428edb7e3de91fcL } },
  46914. /* 45 << 21 */
  46915. { { 0x67f403610905be0fL,0xffe68b80c12178bcL,0x41bef79ec6a673aeL,
  46916. 0x347e8ba81bc77376L,0xd49956d60e589da2L,0xadd54508fed84dabL },
  46917. { 0x18868a4a462749f4L,0x2048cd88ed323e71L,0x7b27932aa28d1f02L,
  46918. 0x3cf6107412e4ddccL,0x0f6198631360ecc5L,0x40e5e08b1330d33bL } },
  46919. /* 46 << 21 */
  46920. { { 0x79b68071e3ad573bL,0xcb070412723966f5L,0xf4610fd1964b453fL,
  46921. 0xfdc9dbbc8bcee838L,0x3e191f3bb5ca4f20L,0x90d85084c02e0af0L },
  46922. { 0x4e3f57a70ee64025L,0x63f339acdea07a5cL,0xf255b5045eb4081aL,
  46923. 0xe42bd241b4cbb0bbL,0xafa58985ff68c5c3L,0xd36cf7175b55e6e5L } },
  46924. /* 47 << 21 */
  46925. { { 0xf2b06f4b95d37e50L,0x7da1d2af3747c79eL,0x18a37dad6ad0092cL,
  46926. 0x9f4a6f081a8f207bL,0xeb1fd3f2cf0fed15L,0xfb9911e4384eb46bL },
  46927. { 0x5f07c680b87cb035L,0xc49935d189e1531aL,0x718f6bd09ea02056L,
  46928. 0xadafb67b18a4ca31L,0x26cb0f368477f396L,0xec7775df62ec2172L } },
  46929. /* 48 << 21 */
  46930. { { 0xdffb03aec10b43aeL,0x39b1266e9433a54bL,0x4c262521b19fe0dbL,
  46931. 0x0ec1e54f3d5c7feeL,0x2856510b05e68e1eL,0x49382c1edc80b8a6L },
  46932. { 0x80a509312471bdd5L,0xe8cde18581974aa9L,0xca6112ee28235c52L,
  46933. 0xd28a0eb8301f9653L,0x22b11e26e11fcdf8L,0x97e6fc5de4d735f3L } },
  46934. /* 49 << 21 */
  46935. { { 0x7fc264d35b253506L,0x1a11dd9cdfe2be8fL,0x2cbcf79c711185a3L,
  46936. 0x2208200a46806ddcL,0xf2764b6524e75d8aL,0x71a71bcdfcb43c25L },
  46937. { 0xddd0cd3586a895caL,0x5ec28b469e2caf5dL,0xeb749df9f6614957L,
  46938. 0xdae1dd77eddd371fL,0x7ce493b556dde554L,0xc1627c06d6e5653cL } },
  46939. /* 50 << 21 */
  46940. { { 0x7926553cdea7472aL,0xe1e9480d3ba7f351L,0x242a641b1b6a2fe5L,
  46941. 0xf4af10091f790122L,0x5a2e2f95967810a0L,0xf1eaec6e2ed57598L },
  46942. { 0x34a32da96b9f2421L,0xdc32daa8dd820372L,0x8b2539fc37a067ecL,
  46943. 0x2a495112820969ffL,0xea7c1829a699c283L,0xb4a1083dc2c58cbbL } },
  46944. /* 51 << 21 */
  46945. { { 0x1bcc30812e59d7a4L,0x557be0b2fac34690L,0x5b2868db673254faL,
  46946. 0x62e150a49e1302c3L,0xe29e9b445772138eL,0xc76bf4fd7ccb31daL },
  46947. { 0x8d687bbb34c905c9L,0xf4f207030786eeb2L,0xe56a494c38deb469L,
  46948. 0x759e75e2cc6bbfa8L,0xb11903aaa59eb766L,0x3f6928c5c68b3bf8L } },
  46949. /* 52 << 21 */
  46950. { { 0x27fa09ebcdded185L,0x763b655c36d090e3L,0xbc586674dd864c93L,
  46951. 0xa1f84ff34c7074b8L,0xdf5261d17cf08435L,0xc57860f6fbdaff3fL },
  46952. { 0xfa49af22252d7f08L,0x2367bf8c8db5f89fL,0xad6443ce6dade92dL,
  46953. 0xdc5265138d1af3f1L,0x62a282ecc720ce46L,0x1769b74c9808b416L } },
  46954. /* 53 << 21 */
  46955. { { 0x4ee11333ec598f02L,0x4613ba038c7eaad5L,0x48e0bfe61b1ccd1dL,
  46956. 0x6e115b6b507b705aL,0xc4d38e4992874d89L,0x30460a066dc59fc4L },
  46957. { 0x75de8dcba0f7ea87L,0xba96718125101367L,0x9d7b03314a742660L,
  46958. 0xb4ca381d8c304133L,0xb87b896d65846055L,0x8dd96f0513d381dfL } },
  46959. /* 54 << 21 */
  46960. { { 0x43716f0c3e25b7b3L,0x00caad210aeb5d75L,0xbfee232559a6cb66L,
  46961. 0x06c1d812ad059aaaL,0x42d0af57c8bcc046L,0x37968ef70e409a85L },
  46962. { 0xc5c3812ee3be328eL,0xaaa74bf166547ad7L,0xb292af92a15a0db1L,
  46963. 0xc0645385e5d5cdbcL,0x2dcf4ca937ec2c28L,0x3f75d089f0cb1694L } },
  46964. /* 55 << 21 */
  46965. { { 0x7e71fba26c0204d3L,0x6191ad249a40b4aeL,0xe2c7ab6bdda24cecL,
  46966. 0x5a8fc77e95b26a2dL,0xa6d8b2e43f1c7e44L,0x42d485e4e0a0e08bL },
  46967. { 0x8697386ed7e3b896L,0x5b960d76ee7e58caL,0xda950e9a3fce610cL,
  46968. 0xb85c7842803c67dbL,0xed8a53535e62ff2aL,0xfe6b0e2c4d674e7fL } },
  46969. /* 56 << 21 */
  46970. { { 0x46a2a08be26d822eL,0x63537bc689d6d6deL,0x28c556a2b3df9fbcL,
  46971. 0x81d3161eb121d512L,0x4e27ce0b123bc86cL,0x1ebadb85bfb240d1L },
  46972. { 0x86edb71a1156314dL,0xf8ac56fd113961bdL,0x2f6bc6d8067f586fL,
  46973. 0xf558b8833fe8e532L,0xe9433e2321a7997fL,0xb86f039c87e53b9bL } },
  46974. /* 57 << 21 */
  46975. { { 0xc022a16d78329681L,0xc3da7bf76b1226d5L,0x47ef18daa85c69e3L,
  46976. 0x4614f0ee45cecdbaL,0x9126fc2640f19d1eL,0xcdecb2693f5ca09aL },
  46977. { 0xb62a831257a020e3L,0x5f9a8ddc8330d472L,0x37e58ab3eb208a24L,
  46978. 0xe64ed285ee4b8687L,0x752fa22a74a82625L,0xa67e24609b25fbafL } },
  46979. /* 58 << 21 */
  46980. { { 0x89e3d770e6b94044L,0x50f50d1675a1a8c9L,0xe73c51d95344c139L,
  46981. 0x97a8dd8411723e9bL,0xba0663c57de5dcf2L,0xf26eee6c3a6b588fL },
  46982. { 0x6275b2a9211b989eL,0x32ab4b311608f16eL,0x9e47b2943fdde5b5L,
  46983. 0x63c50a50614bae9eL,0xffe4ef05e31c05e7L,0x2fea9142b7db4ba7L } },
  46984. /* 59 << 21 */
  46985. { { 0x27f286db0874c6f6L,0x26de6376e6ec0054L,0x56458a082ca84fc7L,
  46986. 0x07bcd4011fccf1b2L,0xb8548e74bae6f486L,0x0ea5857a0de2964fL },
  46987. { 0x8e8df866e50fd2a4L,0x3b07d1a8710fc74aL,0x3e4cc4f5a1fe92b9L,
  46988. 0x7380d0836e52d244L,0x4d75e1c12796278bL,0x9eb279258d33f4d5L } },
  46989. /* 60 << 21 */
  46990. { { 0xce7abd1ba225f084L,0x696e1eaff803ee75L,0x66f2789989415775L,
  46991. 0x14df21a29eb4991eL,0x012a6413fe2a0769L,0x022cf1c8626f421cL },
  46992. { 0xd4644d0460ab4299L,0xa43cc1732a8d453fL,0x7c4ab8c20ed14031L,
  46993. 0xd5854b98e14605f7L,0xd9a98c51fa7ff2cdL,0x7dbe8cbc46baf2c0L } },
  46994. /* 61 << 21 */
  46995. { { 0xf26574593c42ae9eL,0x7c3e5c13bbc289fcL,0xb815fe3fe096e7bfL,
  46996. 0x3eb67095da54264eL,0xbf5ca7c4ff3f8128L,0x8fc4a3f865db4dd4L },
  46997. { 0x3af47b17ee382cfdL,0x8854132fd95520f4L,0x3387b11d33c5588eL,
  46998. 0x5d7eb66c0c662f93L,0xcad581933b18885eL,0x8d1c069a6f23c209L } },
  46999. /* 62 << 21 */
  47000. { { 0xa9498fb5212ee678L,0xa8824b696ade4a39L,0x422c074e0a406cc2L,
  47001. 0x7d38de650a2beef0L,0x482d16f81eed5bbfL,0x1c882006f18380a1L },
  47002. { 0xf90f6c2bb98445e2L,0x36aa980b2c738d70L,0x4caff65b6785ad58L,
  47003. 0x1c282becf95863f8L,0x59ad267c5350b79fL,0x53ea042721cedec9L } },
  47004. /* 63 << 21 */
  47005. { { 0x5cc362909fa3481cL,0x1321acdd7292ac86L,0xcc30550378f4d6abL,
  47006. 0xf7917237e7d9154eL,0x591e5ba81fb39377L,0x0a387e4f7c541c76L },
  47007. { 0x99685212a38570cfL,0x5cce35c8624cd61bL,0x375c68133aed79d0L,
  47008. 0xf72d4b068197e487L,0xcd672f7d129775c5L,0x944ef37f1cd768f6L } },
  47009. /* 64 << 21 */
  47010. { { 0x9c66a32becc5f6daL,0xe4ff40431719ba2cL,0x8c6cfab721e716efL,
  47011. 0x32c8fccb96ed74e6L,0x475890dd0b110c83L,0xdfada95f5cb4eefeL },
  47012. { 0x9d7b89a693240fe1L,0x6afdb2d0210b776fL,0xc3f0b55bca7a7d52L,
  47013. 0xa6e56a0655d04585L,0x818e221c4257acc5L,0x05207b63fcb8d39eL } },
  47014. /* 0 << 28 */
  47015. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  47016. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  47017. /* 1 << 28 */
  47018. { { 0x0a74da82d8ada6ccL,0xc6b98a3cbea55457L,0x896c26bb57c2f5acL,
  47019. 0x981e2f72845d45e4L,0xca152b877e9a7d36L,0x49666d457b582e8fL },
  47020. { 0xea3b9bda49fc20b9L,0x5bcbc84a7c71f153L,0xd346fc5d5748a654L,
  47021. 0x7ac2f217622665eeL,0xbb5efe7fb6f16e27L,0xb1810a70644c9dc8L } },
  47022. /* 2 << 28 */
  47023. { { 0x98d089819bc5917bL,0x9f90885d187fac5dL,0x651b18287cfc13dbL,
  47024. 0x2d606e4c8655a658L,0xba64d3c563c91b71L,0x36c7d7d8b82a5090L },
  47025. { 0x2d1dff02cab1d598L,0xa95788d7be78f90dL,0x1ac2ee6b0ea1fe01L,
  47026. 0xc100b60cd5c1273cL,0x4496084ceae603e7L,0x7fcaaf5f77c2fdfbL } },
  47027. /* 3 << 28 */
  47028. { { 0xa93fec0861b06e05L,0x0bebc26b7dfe6802L,0xc00b45a5cce5662fL,
  47029. 0x2e8a0a7f83a9a4a9L,0x6e0cdebbc0bbeb63L,0xc56a20fe63ccd80fL },
  47030. { 0xfc10fa08b51f1f89L,0x4848392020ad9243L,0xfda69cc66bf53af8L,
  47031. 0x474b7440f10bb6c9L,0xcda9db3b1e7625e1L,0xe2f62c1e1dc7f3cbL } },
  47032. /* 4 << 28 */
  47033. { { 0xe8e3225a6abdd842L,0x8c85f18f3b367b02L,0xf147a4219f42edb9L,
  47034. 0x6d4bc00d0d411d4dL,0xa1a13a2770014bb4L,0xb896d97bfa10166fL },
  47035. { 0xb2a1dfa70c302c6dL,0x0a24bd5d808a63a4L,0x8409a3a2f88c7359L,
  47036. 0x071f3838347726a0L,0xd18a551c27507bb9L,0xe0c4cc34b359b167L } },
  47037. /* 5 << 28 */
  47038. { { 0xeaaaf4602a44610fL,0x94d330b10392ac47L,0x989b9b673fe123f1L,
  47039. 0xe2ca56ddd8fd0129L,0x77d6d0cd624982a4L,0x55d4b2c371e1fec7L },
  47040. { 0x3e9a04a0360e013cL,0x1d227ea9c9cde585L,0xac2b08e24fed8f86L,
  47041. 0xa1d1357ce199e8dbL,0x7cf06ec8e99cc964L,0xd9bc3a7fd85ec63bL } },
  47042. /* 6 << 28 */
  47043. { { 0x7d111c67017c633cL,0xadd9e9bd7d128a9cL,0x4cd8730c6db857e9L,
  47044. 0x3c9c03e9f4b46d12L,0xd42f0242a78472dcL,0x3fc0bcb2260841bbL },
  47045. { 0x6332b11a8783f828L,0x65229d2af7be37ddL,0x402f28eee7e8944aL,
  47046. 0x3d1bab505ab28372L,0x6944e82cad5e1ff3L,0x65a94c0de8c75729L } },
  47047. /* 7 << 28 */
  47048. { { 0xa151dcbc2f7f3633L,0x4305312a98969226L,0x947afc00604d46e1L,
  47049. 0xc3c9d57572f3e28cL,0xce4c1cbd14b1cd1dL,0x8fe9a81df80dea45L },
  47050. { 0x50920f3a9685f603L,0x51d380f00b80d89eL,0x19978ba13f798e32L,
  47051. 0x1294aaa6c5edde47L,0x280002c2be714a1eL,0xd998669ef212603cL } },
  47052. /* 8 << 28 */
  47053. { { 0xa44f6ef880e9d9f3L,0xaa7621e91d14d618L,0xcb0e4ed80eaf6671L,
  47054. 0x2bf485f8181514a2L,0x74670e180a2927eaL,0xe1b5461612c14645L },
  47055. { 0x4068c0742a67ed61L,0xd10c7a57739063caL,0x391b651d698b2816L,
  47056. 0xf310d1696da14fa8L,0xa089be6bd8a578b1L,0xa314b3a844389ad7L } },
  47057. /* 9 << 28 */
  47058. { { 0x688ce85068fd73ecL,0x2cfb41040db1f500L,0x5d943b8d5b9bbc41L,
  47059. 0x861867f5403f3973L,0xc331110a2c766363L,0xb28a6bc153aaceeeL },
  47060. { 0x2ab6e7aaadbee7a4L,0x316ca45c2f2b9569L,0xcac646e561d2428aL,
  47061. 0x6fd28dadc7cb6291L,0x2e28f68741e20ff4L,0x8cfe90eebd189d34L } },
  47062. /* 10 << 28 */
  47063. { { 0x09b8ed53339da6adL,0xe40727af26f54b8eL,0xc4a105979990fdb2L,
  47064. 0xb808656b5108236aL,0xb4411363aa4bd584L,0x19e90149288a0328L },
  47065. { 0x5795d8a8fb0592f8L,0x313c68833213c929L,0x62eecb5b48f79d47L,
  47066. 0x3afcfdbab29ca224L,0x0072847d40075b08L,0x078eef3dd1fe0c8fL } },
  47067. /* 11 << 28 */
  47068. { { 0x719b51f20ca20aaeL,0x01ad630824b47b92L,0xd32460c2d3c807deL,
  47069. 0x8497786b0a1785f5L,0x8bd521355d714ee5L,0xc267724ed00f741eL },
  47070. { 0xe5578dca9c266820L,0x97ff60085b62d484L,0x84c70e92e3bd1869L,
  47071. 0x412759e34dfa679fL,0x6bccc33fce497e18L,0xfb92405669056198L } },
  47072. /* 12 << 28 */
  47073. { { 0x664ff05368ed0760L,0xc3cdc99138fae9feL,0x3fe057aaf1f30a86L,
  47074. 0xbae990222d08c72aL,0x4f5faf3f6f09e13fL,0x44461a4413d26b29L },
  47075. { 0xc2504c1bf95418edL,0x12766ea7db3ff26cL,0x2f956e9507a22399L,
  47076. 0x2716e70f5a00cdd3L,0x80c020140e9fba99L,0xbe587ac30519875dL } },
  47077. /* 13 << 28 */
  47078. { { 0x5e4bb6b83b23d2a1L,0x819a7c7705c9888cL,0x59e4c48ad0fec7f7L,
  47079. 0x4b212b21d6bb71abL,0x370cb90bcbf213f2L,0xf1ea07e0817549b0L },
  47080. { 0x20e3115351a37b92L,0x30f9e70158d444c0L,0x7ac3a37b0b791ab7L,
  47081. 0xe456fd475265e4cfL,0x3e3f27ca29580ae8L,0x5d68a40daa2a1654L } },
  47082. /* 14 << 28 */
  47083. { { 0x14203d8720cbb917L,0x284e0c9db2a7424eL,0x99eb2911cefe7139L,
  47084. 0xa709c50f42925411L,0xa5a7543e5c79a13aL,0xe262025c6f45f023L },
  47085. { 0x3966fd18828b9f40L,0xc660846913693115L,0xd7dfbcf644373027L,
  47086. 0x8e73fe6bbade7645L,0x88267c7b1de0dbd8L,0x1231ac99ce4e8c9eL } },
  47087. /* 15 << 28 */
  47088. { { 0xfd928bd90ba99806L,0x799ac97d1a864172L,0x5436a8cd129682b9L,
  47089. 0x4bcacda54e96fecbL,0x453af995c5db1451L,0x8fd382e07073b98fL },
  47090. { 0x17165b8a644a7bbdL,0xd17d2d80b6118620L,0x2a4bf1b2c8cd1bcfL,
  47091. 0xdc7aad959ccc119aL,0x6d34084c3bcdbeadL,0xcbc5c5557e0663c8L } },
  47092. /* 16 << 28 */
  47093. { { 0xba86aec170128295L,0x83a09b65c12f35ceL,0x8978ff0789df2f80L,
  47094. 0x85750cfd97a773d5L,0x806bb730fc3f35f6L,0x04503422fed868c9L },
  47095. { 0xdc0fcde086ffdbaeL,0x8f4297e11860f43bL,0xfefb7d028d3ad6cdL,
  47096. 0x5c652b5997293550L,0x32e12942ed5cfbbaL,0x06192aaf98800d22L } },
  47097. /* 17 << 28 */
  47098. { { 0x9bb8cf660002f389L,0x217219af51505913L,0xfea1388999ef8797L,
  47099. 0xad1b2383235597c4L,0x85ffabb70a3e3536L,0xd8235d9da00c725aL },
  47100. { 0xfa9b0f4ba704dac0L,0x99d76ddc2f57fb9aL,0x5ed3683b18428507L,
  47101. 0x9e42bc54435307f2L,0x3167de67b4f36896L,0x8a0f99a0d539d713L } },
  47102. /* 18 << 28 */
  47103. { { 0xf0b92b8a4642d9b2L,0xce97828a3f50c883L,0xa33d62936f0b1194L,
  47104. 0x23417e0f3692f5b5L,0xc79b9491fb0b95bdL,0x5410e8c95e836b2aL },
  47105. { 0x2b84078d29798fc7L,0xa8732e78d6628695L,0x39da93f898c766aaL,
  47106. 0x0797832d305e464bL,0x246069ab163f9f4bL,0xb867dcef53fb6170L } },
  47107. /* 19 << 28 */
  47108. { { 0x949c63730ced5c37L,0x6f8cd6e4fdb6464eL,0xbea902ae2e056dd4L,
  47109. 0x43871371fa0d560cL,0x162128e9e9ec2208L,0x84deda5c25060c6aL },
  47110. { 0xa8a8a27c14160ed1L,0xf24bf3dda33b53cdL,0xd12038a976a6d272L,
  47111. 0xe64d6384ee8f2b15L,0xc404d580d3e91d69L,0x62cdb886a4888d17L } },
  47112. /* 20 << 28 */
  47113. { { 0xccf0fb423c9eb0caL,0x8703c6694aa03b40L,0x44c735a74001af07L,
  47114. 0x9616dd932e874ed1L,0x5c2e8520474ba621L,0xddf13cd3fa93d8b4L },
  47115. { 0xd68c9b4575df1b67L,0x4cd242288f80d389L,0x0f1a16bcc09f47fcL,
  47116. 0xc414dc6a9cd4842aL,0xbb0fa94f1f353c6dL,0x405124551950d073L } },
  47117. /* 21 << 28 */
  47118. { { 0xbfe176f2dfb520a6L,0xf51917bced96d0abL,0x8131985078b11135L,
  47119. 0x6397f1288f006a55L,0x9877f30e576b5132L,0xe0cd103bec781571L },
  47120. { 0xb4bf74e5bcfd5046L,0x04333aa4be9cc561L,0xc6dd1dbc1e066ca1L,
  47121. 0x03c926e1d3718e62L,0x13bf83d404309072L,0x79649ba0ba28ac51L } },
  47122. /* 22 << 28 */
  47123. { { 0xcb1a73c55abfe8a1L,0xe9e2e220deae1d92L,0x2d953d00514befaeL,
  47124. 0x74024df9b7940bcaL,0x9a2cad0cd13f4a3aL,0x8790b699360795fcL },
  47125. { 0x63957f3b5e9982eaL,0x491bf3155b7d256eL,0x5708bd4dd23324e7L,
  47126. 0x9f11ddd397c4c8c2L,0x1823762f5b7f5162L,0xc45a3976cbfc9dd2L } },
  47127. /* 23 << 28 */
  47128. { { 0x806134cd30731f5cL,0x04522c23487c778cL,0x99b6e6a1651640a5L,
  47129. 0xe2d20ed87e9898d1L,0xcad25762069e56d9L,0xd4184f6e29ddfc7bL },
  47130. { 0x1017badcc1aeaa34L,0x7d3700e7f3c62e08L,0x203dcf8d5e42399bL,
  47131. 0x05986c66b72795c7L,0x0b56ad9cc0925f02L,0x1f0e895bfe0e3bd3L } },
  47132. /* 24 << 28 */
  47133. { { 0x935b9e244d2edd5fL,0xfeb46fb5efb287b8L,0xa51700a3f5018b92L,
  47134. 0xc328beba23864e2aL,0x113b5c9a995f70c1L,0xc0b11c22da1b5d51L },
  47135. { 0x9b99b907f4a360cbL,0xf4ee9995adf0b094L,0xf67c7cf2f94b3f0eL,
  47136. 0x664a51a1dcaf10ccL,0xa3709ccce937a669L,0xea97bace4862f098L } },
  47137. /* 25 << 28 */
  47138. { { 0x62c7dd9ed537ed6bL,0x8a82ae7ccc168feeL,0x96fcf8d19d00a4a9L,
  47139. 0xfeef6ec205096874L,0xc828c68969f4485fL,0xdc4903a6322563f0L },
  47140. { 0x5339cad7d3280a32L,0x42ae434909ff15cfL,0x94cdb7790bbb6af4L,
  47141. 0x480f8a5515721529L,0xc2f9c4dc0ff28eb2L,0x9d2a405e1ff6e3d5L } },
  47142. /* 26 << 28 */
  47143. { { 0xfeebe7d29309e729L,0xd322c38aa30a4eb9L,0x18cb0ce12f4f5c8eL,
  47144. 0x08a073a04262105eL,0x6ca92585933f888aL,0xf4a080c903ca1489L },
  47145. { 0x5e678c7949c8daf0L,0xcd6ef6ba5abfcf82L,0x61faba612a4fc564L,
  47146. 0x7cacb3dcee0b306eL,0x9fcfafadb5aae2a9L,0x193e841c4b8fb04bL } },
  47147. /* 27 << 28 */
  47148. { { 0x4db6f5f07ed99ce4L,0x1257bd9c2456059bL,0x546c764b43d3590eL,
  47149. 0x6d5062adebba72d6L,0x6858f04e2e8d99fcL,0x46554047b4eeee5fL },
  47150. { 0xff433f63535f2da3L,0xd76777542b76d2e8L,0xeb6be9c88e838a3fL,
  47151. 0xb7a2d2c1145f8bf4L,0xf3ba128703bb278aL,0xd88cd51530c4a1a4L } },
  47152. /* 28 << 28 */
  47153. { { 0x51758334c942a3f5L,0x7cc01e8832182ba6L,0x772af25774de4fe6L,
  47154. 0xb1b3c448e9667bf8L,0x71cb27388079caf6L,0x48890c641d823a40L },
  47155. { 0x47a5887b0e9edbdaL,0x916dfb0cbe089e5aL,0x3185090e1eb42ddfL,
  47156. 0x3c7eaa13b7f3af26L,0x940ed8c79e9963b2L,0xd85e77db3426ac10L } },
  47157. /* 29 << 28 */
  47158. { { 0xf21b47bfd7bbbfa1L,0xf757cb309ea0ea77L,0x6df7f53783b2a6dbL,
  47159. 0xb0808cf99eb8ed81L,0xc526bb6b64edb3b6L,0x24f1612068f72d82L },
  47160. { 0x3e2e6af8f01cee94L,0xd2e01f947847ca60L,0x079dac3539e68ac2L,
  47161. 0xc30720b270cedeaaL,0x2f97f968fa6bf057L,0x2dba403babf6a743L } },
  47162. /* 30 << 28 */
  47163. { { 0xed99932452c802f1L,0x99f6864c5cb78b2eL,0x8f8a0a709b9c3693L,
  47164. 0x0b931016e2f598bbL,0x7edbb1b3a614fc15L,0xa0321b50e79f74c2L },
  47165. { 0x834f3ee994bfa457L,0x5ffa9613006907b4L,0xa37e9b83d779b46cL,
  47166. 0x7a21743cf33b791eL,0x6646b89dcc28a011L,0x9b975ef8e2ba76f8L } },
  47167. /* 31 << 28 */
  47168. { { 0x166c7151ec72cbfcL,0x3d1f2450c9e519ceL,0xfdcc648e7efc0fa1L,
  47169. 0x3f5f90cf6db6d516L,0x8a5dd3df145830f8L,0x4d9938da4e5858e6L },
  47170. { 0xe598f9d4dede1584L,0x2de5a26cf5c8f4e4L,0x495b750f364e20f6L,
  47171. 0x29291c445b718188L,0xe560d9ee3733ce27L,0x99b9d27d5b9d206cL } },
  47172. /* 32 << 28 */
  47173. { { 0x162cdf342efffd95L,0x92111fdad59086e8L,0x4478d114454eb977L,
  47174. 0x8ce403d8dea38a67L,0xd459633b7435728aL,0x3a7be4e3a63b0504L },
  47175. { 0x0c74066b335dba3eL,0x4e8fb1d7c6ea6ee5L,0x3398b588a99690edL,
  47176. 0x4949517c3ad77562L,0xf9824f09cbbb60eeL,0x9fdcafdf85660becL } },
  47177. /* 33 << 28 */
  47178. { { 0x368bea127aa62889L,0x6096730506e1046fL,0xe69be05e564f219cL,
  47179. 0x064b9d7c01eab75cL,0xf16ccc9e0152981dL,0x708827acb178a3deL },
  47180. { 0x320f6a8a93248b89L,0x532acc568084908eL,0xe494cd1f6ab586d3L,
  47181. 0x59c74cacabbdcde3L,0x3ccf84a62259abeeL,0x6657d1fad96bd141L } },
  47182. /* 34 << 28 */
  47183. { { 0x5d3a8252aa0a9dcdL,0x540e037af97fe26aL,0x4cbb768ca3f68f56L,
  47184. 0xf9608732652d7058L,0x5fae0f9f72cea8b9L,0x1a7edfd97d980da5L },
  47185. { 0x9f00ee611791c34dL,0x6c95404c2bc25810L,0xabb1089e043a9faeL,
  47186. 0xe36fe9e1a7881ae0L,0xf163dc460fc04e9dL,0xb6955f2f129c7940L } },
  47187. /* 35 << 28 */
  47188. { { 0xa22ebfc7c23bcd94L,0xa653b119684fe9f2L,0xe469e28646b59d70L,
  47189. 0x0720daf3dad96b47L,0x5066df7871288c07L,0x7648d7d82905b5a2L },
  47190. { 0xc6ab9c5c0a30a65aL,0xa00539f34930712aL,0x6a64738c7e894bdeL,
  47191. 0xd7f3a7459e8eafdfL,0x652a58ff8ce9f7b2L,0x7c9d02e4cb3782bdL } },
  47192. /* 36 << 28 */
  47193. { { 0xf26bd8618875d9e8L,0x22e2380dbea9c273L,0x5f15183791995508L,
  47194. 0xb97f40a6648aa1c6L,0x7478f5f83977d848L,0x21e876ae35b57de6L },
  47195. { 0xf620b180a93fc7f6L,0xf49bd07e1b148996L,0xfb0857261c4f60e1L,
  47196. 0x6a6653af7ad6b84dL,0x913a2d022e05b686L,0x94746629407dda9aL } },
  47197. /* 37 << 28 */
  47198. { { 0xc662b0f68a97c714L,0x69fbf7d1b8fbbb02L,0xf3bb5a9c5cdff85dL,
  47199. 0xfade6eb036ee44f3L,0x6eb4b8266d0905c8L,0x6ab3e4a4391a34d6L },
  47200. { 0xf490046478e7bdb1L,0x8bcd4bf23272c400L,0xdf9a81b78d2c9573L,
  47201. 0xb9a0ea166af43695L,0x3298a5d071fe768aL,0x53eeeb4333e87bd2L } },
  47202. /* 38 << 28 */
  47203. { { 0x87cdbfe6bb531d08L,0x384bcd0357957992L,0xc654e2c942008cffL,
  47204. 0xd12b50285002e06aL,0x41a34286a67db410L,0x31a109d99d6b2c01L },
  47205. { 0x14d642da2ed35f38L,0xa06a846048ffd04fL,0x8291190cbdbeef68L,
  47206. 0xc8106239e43bb0c9L,0x4d7aa992c4bea448L,0x107b86efba3dd9b5L } },
  47207. /* 39 << 28 */
  47208. { { 0x3d870c3144fc1cd3L,0x34409eec0085e7b3L,0x67d5c1340d0395e6L,
  47209. 0x9c30dedae3f36689L,0x988ac951d268cc91L,0xdb05825bd2c9dfdfL },
  47210. { 0x30ccc3b75d349fd5L,0x63383c0f60c3a79bL,0x4f45c81732c71964L,
  47211. 0x456679642fef028cL,0x82454c12cf4053f0L,0x7c1310fbed8077f0L } },
  47212. /* 40 << 28 */
  47213. { { 0xb8465d16da684157L,0xdadde1abb238faaeL,0xe2cd45e7c6b9bea8L,
  47214. 0x7251d4a15cf413d5L,0x615cea8baae1765bL,0x75aa831813f36885L },
  47215. { 0x7d5b0bf7b8767cc1L,0xec38a8ff8022968cL,0x034805b62a07faebL,
  47216. 0x916f9eb033b7321eL,0x34963633c0c577ceL,0x8ee07efdabb8d3ceL } },
  47217. /* 41 << 28 */
  47218. { { 0x498606fc2d15a409L,0x2398e109d5fdcb60L,0x8ed8fcbc36540c3cL,
  47219. 0x94404e2bc1db3193L,0xe62b808b28db1c38L,0x545b60871ad1d686L },
  47220. { 0xe8bf6489740f4264L,0x7ee76fe71809505cL,0xaa95b8c86f45a011L,
  47221. 0x9bd6111b55c715c3L,0xc5c736bc33165913L,0xf1e8cdf282f6c7a9L } },
  47222. /* 42 << 28 */
  47223. { { 0xeb09e7fa949d05b5L,0x49394c1b8d014014L,0x644874d73eb7abd7L,
  47224. 0x89c666e5679d2a01L,0x6ea98cbbd315bc8eL,0xd919142a37fa5a26L },
  47225. { 0x042fbac56d0239b6L,0xbff2b086837c510fL,0x21e4d279d9883ed7L,
  47226. 0x6416e0239713c2b2L,0x3742c6d14ea05144L,0xff591d8fd5b00fb2L } },
  47227. /* 43 << 28 */
  47228. { { 0x0ae21b83c138ed42L,0xf1b0895a2ff30df8L,0x4d5d634d9559c6e1L,
  47229. 0xfd02f3a3098e5c4aL,0x7bc6b63152bb211dL,0x498a68fffb69f0ecL },
  47230. { 0xd6fd5f443e69b479L,0x5ea1877d8c740d2eL,0xfaaff5f0ca605f02L,
  47231. 0xb3022f9839a03f5bL,0x3feb7c13aa253725L,0x119097a89dc33a73L } },
  47232. /* 44 << 28 */
  47233. { { 0xa0bd6c0da8a29345L,0xc676b6c55d7f5ef9L,0x303b6d7c20ad7259L,
  47234. 0x06542a19d8fe09a7L,0x5a06653ca959014aL,0xf45fd79a5bcfe0cbL },
  47235. { 0x29058d984e583468L,0xf1bd25e60cd7afc0L,0x2a88246ef7dbe54cL,
  47236. 0x680eaff835e0ef3dL,0x5942c97f726e59b9L,0x43e971398d5c0825L } },
  47237. /* 45 << 28 */
  47238. { { 0x6656b318f7378bf8L,0xf9a838df182f1a29L,0x0d62dc5ede475756L,
  47239. 0x97564544585bcab5L,0x3e99f44c857a13cfL,0x8c3a0a940cbdde00L },
  47240. { 0xa7be375833dd2d24L,0x629040f1bbb1c7eeL,0x0bb2ced27f0eab7aL,
  47241. 0xb86f1e1e9f474277L,0x60539a544a14ac4eL,0x9860f986aa90977fL } },
  47242. /* 46 << 28 */
  47243. { { 0x143fdef1fe944aacL,0xfd6700fdd24f606cL,0x5dad2e41737404a9L,
  47244. 0xb16c5d42953abdccL,0x132b5cd995be01c9L,0x2bf605d86fd01c6bL },
  47245. { 0xed62526c8803881dL,0x3429579201788c26L,0x553f8e0f8d62ab25L,
  47246. 0x3b2df9cf9850ff9bL,0xb320ec40acb513b3L,0x86d61c988875dfe7L } },
  47247. /* 47 << 28 */
  47248. { { 0xe5fbda4daab3cc32L,0x556fcd2535d469a0L,0x414673d91c02fb7bL,
  47249. 0xc14ee9fd8bfe6a4cL,0x8ba0959d1133d9f3L,0x086a7c94e94338ddL },
  47250. { 0x92c2f484cdd5a1b9L,0x97bb21f6ea0e0f9eL,0x99756b285411da59L,
  47251. 0x4b79c4663be739b3L,0x73502d3e706078fdL,0x6bb794100da7aea4L } },
  47252. /* 48 << 28 */
  47253. { { 0x2daddb11a406d4d7L,0xb02b5da5a2a33d81L,0xb73ce82721a6aa89L,
  47254. 0x10919587467506deL,0x0927724c428d8daaL,0x0ede991f7c17adfdL },
  47255. { 0x8518dab1bf7ddb3dL,0x04b091c42a54e1b8L,0x5943c37f89e7a398L,
  47256. 0x8e63f5e8e273f6f3L,0xc6d0352b83143d22L,0x30e43182ebd1628eL } },
  47257. /* 49 << 28 */
  47258. { { 0x9bc5af5aedf58e50L,0x31a3beeeb0d51722L,0x5789fcf98cd467aaL,
  47259. 0x85d974897793faafL,0xcf09224ecc18f367L,0x4f293783ec7957b4L },
  47260. { 0xb044c854c0be350cL,0x027caaf72a63996cL,0x5341b3f3cb85de2fL,
  47261. 0x0d261d80b106359aL,0xf63bfe7a8456af12L,0xa954c4400174c82cL } },
  47262. /* 50 << 28 */
  47263. { { 0xaf752854b02aceb3L,0x000c5c4222c194b3L,0x7e953b78ebd2e61aL,
  47264. 0x44dd61b4b9d68960L,0x282ef4216d454ed1L,0xffed862aa402ca61L },
  47265. { 0x5fffddeed3e189e2L,0xf36379990daffe3dL,0x1b09a625857a8a00L,
  47266. 0x3e64ff63c1ced62aL,0x9acc484d10b63647L,0x5a470aef3afc8675L } },
  47267. /* 51 << 28 */
  47268. { { 0xe21acfec09ebdbaeL,0x512c66a729b064faL,0x15c08e1191835db7L,
  47269. 0x78fff5d665203a4aL,0x99259d961c73615cL,0x85b444b9f36024bbL },
  47270. { 0x4909772df16932deL,0xcc4a526899a3863bL,0xe54557bd2ebff8faL,
  47271. 0x1a9b05b709bee4c1L,0x0d2ce396bdb2b785L,0xbd15bcec8ce7ef40L } },
  47272. /* 52 << 28 */
  47273. { { 0x606658a99991167eL,0xb8773e1572c4b43dL,0x6cb364cde025abceL,
  47274. 0xafa58e9b0c5a653eL,0xa7e35a54134a68bfL,0xcb831d42ba4d9db6L },
  47275. { 0xae37348ede83ef97L,0x4ac64a6a62ddd553L,0x5feb5e0d715bb6b4L,
  47276. 0xf876efae043424b2L,0x7b56a291ad91a9efL,0x817c7053356f3adeL } },
  47277. /* 53 << 28 */
  47278. { { 0x0dbd99249e88115fL,0xecb57472bc568c61L,0xfa4f4a47c1058746L,
  47279. 0xb19006014d92c079L,0xe693577091026a8cL,0xebde8e65eefe8740L },
  47280. { 0xe8bc6b3480a93b35L,0xc1c8fc0635518beeL,0xf7f4b448a47cdd36L,
  47281. 0xe4d040e0db4f3e42L,0x025fbdfb88345042L,0xfe6cc10f3fbe045dL } },
  47282. /* 54 << 28 */
  47283. { { 0x63ba344a1c20cb4fL,0x55f11c207e8cccf6L,0xe66e1641b5b1046cL,
  47284. 0x51cf6dbe758a460bL,0xe786a81e91bb5101L,0x6f4a976209cd4365L },
  47285. { 0xe88b4d03fc565022L,0x46006d0ebfdf8ec6L,0x10a3e85781f4e635L,
  47286. 0x28ea91360a4a2e82L,0xf890ea9e757b38dcL,0x89c6789261312e2aL } },
  47287. /* 55 << 28 */
  47288. { { 0x8ce54e2a65d9fc54L,0x4776c1f13bfc0c09L,0x5d15fced99476b22L,
  47289. 0x2c5399bc1142dc7bL,0x6faef9d96c6ad87bL,0x4f238e48ca5126cbL },
  47290. { 0xbc7136d607849dc2L,0xc840ccb1e30377a8L,0x30e0f0373a371bafL,
  47291. 0x5b8eef9bdfce4735L,0x1662184e514bb217L,0x010ebb8579e0918dL } },
  47292. /* 56 << 28 */
  47293. { { 0x3d6e8d6d8dff7dffL,0x6b6c194ad5be4ad1L,0x57b93f2db6fcd08bL,
  47294. 0x99f09948f3761f23L,0x4062f3d6ac8b018fL,0x4b58ac05a27af72cL },
  47295. { 0x4abcc81504d0cdfdL,0xa50043e0bda4b02fL,0xe11297e527a9c083L,
  47296. 0x2b2d8d529779c5b3L,0x3de3d330dfdecfedL,0xfe2487caae7fc522L } },
  47297. /* 57 << 28 */
  47298. { { 0xc510bb0b7e7a66ceL,0x54a3e0111332f2c3L,0x6331badedc885f5cL,
  47299. 0x1a73c8aedc47d8b2L,0xc657edbb95d4e933L,0x30994aa335dc3ccdL },
  47300. { 0x832d586fafe5be42L,0x3392b07ad44de522L,0x1bcea9a62982450cL,
  47301. 0x8237bf2b3709f75bL,0xfa4f2501ea9d03f0L,0xcf492df7bdacd276L } },
  47302. /* 58 << 28 */
  47303. { { 0x2d0f7f28af4ecf83L,0xc2863ae4d48229efL,0xc989ff3d7001268dL,
  47304. 0x7f07adb6ba225adeL,0x1564c1db450a15ddL,0x3bfea98c6524d417L },
  47305. { 0xee3cd3ef2cc20833L,0x055c569dba767b1aL,0xef2eaf51351b1279L,
  47306. 0x4e02b1d163b809d2L,0xf0e943d00a14c115L,0x2bb3bc3f32f55210L } },
  47307. /* 59 << 28 */
  47308. { { 0x8f577dd79ed385ffL,0xdbcf0548a1fdcac6L,0x38555497c2352ff2L,
  47309. 0x33e2ed85eb9edab2L,0xbe4bd6db9e649ecbL,0xea3668f72c6e7488L },
  47310. { 0x841627b8f4b91b7bL,0x2d61a0f7d487c7a7L,0x1932b198142d1dc2L,
  47311. 0x06dbb39a1a792783L,0x5be16e570bede1faL,0x4d3b197bdffceb55L } },
  47312. /* 60 << 28 */
  47313. { { 0x1c2fc5088f7a83e5L,0xa7c56233b9970c92L,0x949c71738bafa66fL,
  47314. 0x1e299b2d5bbb0490L,0xb9a79e7c18fcb9e8L,0xe6372ce69cb5cc50L },
  47315. { 0x114fc628f465c6aaL,0xc55395208cb797f6L,0x7df94ed7a73ad211L,
  47316. 0x41eb8e1f8e0cd008L,0xb028725a004cbb0dL,0x1340186d372c1656L } },
  47317. /* 61 << 28 */
  47318. { { 0x5162886c203a829aL,0x60dbd8d464416392L,0x60589a51b5a10685L,
  47319. 0xa79ca259113476a8L,0xbf4f71100d7b37dcL,0x1a1b3fdf78bbb029L },
  47320. { 0x2954d3454799a0bdL,0x7459eac788c256efL,0x61ac72653800707cL,
  47321. 0xd861f7764cc84f7dL,0x29f4e5bf84faae3aL,0x7975c9555aa1236cL } },
  47322. /* 62 << 28 */
  47323. { { 0x65f28419238c3c84L,0xf07d83ed90f1ecd1L,0x10307e1bf6567704L,
  47324. 0xa94dddb389d17845L,0xaa56f72788f39175L,0x01cf57e2a7aa55f7L },
  47325. { 0x98f4340e77f21e8cL,0x8cd3e0a2adb036c0L,0x5c49ebf4af6b46ddL,
  47326. 0x312a2c32455f6897L,0x52fb4f488b517f06L,0xb0f373d442beff4bL } },
  47327. /* 63 << 28 */
  47328. { { 0xd9694bd9af44f9ceL,0xaf2cfbbc1ee29f43L,0xaf352b1c880f80ddL,
  47329. 0x3fdabd2142297787L,0xf5a2acc21c7916b3L,0x6154b3f2cc0d85f0L },
  47330. { 0xb9ff2bea0bc58e86L,0x359eb0750561c3d1L,0xbb5a318fb93be593L,
  47331. 0x34af9320bff0b3b3L,0x3cbe89341d967c37L,0xd08e5f46a8e9a750L } },
  47332. /* 64 << 28 */
  47333. { { 0x4074ee27978029bbL,0xa9394bdabae0d0c0L,0xaa01d53972cecb4bL,
  47334. 0x4b0cf1279a7dd9c4L,0x3e3e3f165bc787cfL,0xdf48f7e1942de53fL },
  47335. { 0x0cc69719567b9d0eL,0x631e33158d0d2750L,0x9fedc1e292314a09L,
  47336. 0x7547d22614a1adcbL,0x405561a48662b86aL,0x149fa2b1f5480b7dL } },
  47337. /* 0 << 35 */
  47338. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  47339. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  47340. /* 1 << 35 */
  47341. { { 0x923d0b44bda4aaa7L,0xced14ce4fee29f7bL,0x1656be009cf5b87dL,
  47342. 0x13a37d0d1d61103dL,0x1d705880fb652393L,0x870a31bbed712ed8L },
  47343. { 0x15ad02e6ad7c21e3L,0xf004e447c36c2831L,0x56aa376cba2b3ffdL,
  47344. 0xc3be2b2f9745443cL,0x47c8a870eb903660L,0x976c303e6c6c192dL } },
  47345. /* 2 << 35 */
  47346. { { 0x148bd39cf4fb80d4L,0x469b208cfff04e65L,0xf397fbe2ce548415L,
  47347. 0x441e5c2c87fdde9fL,0x6366b49ffee9c179L,0x38d02bd32938dc71L },
  47348. { 0x26d450fac49c5444L,0x4569f95d2b23d3d7L,0x5f68bf4d298fd876L,
  47349. 0xe86df047544768b6L,0x40b69a32f8491267L,0xcbf3adf9f917c71aL } },
  47350. /* 3 << 35 */
  47351. { { 0x32498d4d8125489cL,0x965e8d07a5a46ae0L,0x6cea5e47e96a7e29L,
  47352. 0xf78293a4668039ffL,0x62548a96f63edd32L,0xe8e6af95a83e8256L },
  47353. { 0x76e60c3b0db6263bL,0xa1ee4b0621b3d668L,0xa17dbf8b9e49b0b5L,
  47354. 0x4b29ba127eb366fdL,0x5e0ed781d29b565fL,0x8cb50d53199b36f9L } },
  47355. /* 4 << 35 */
  47356. { { 0xa66c703529aa3150L,0xd038a5ab479e61fcL,0xdee33e96b5ab5410L,
  47357. 0xd068929c7c57d123L,0x0839a208f1d6ad37L,0x8f523dab123f8178L },
  47358. { 0xb3e5e524a67d3840L,0x88bda75e52eb59dfL,0x513a0ab7389f2dd3L,
  47359. 0x3197a145890bba6fL,0x61add75b6f66bf09L,0x5c9dfc154eef1722L } },
  47360. /* 5 << 35 */
  47361. { { 0x66dc285007769b1bL,0xe07fb7414d71fac4L,0x5ae688a6c2abbe60L,
  47362. 0x08ae92fadcbfd296L,0xbc291256b43044d1L,0x0e1d71ed9fcdf213L },
  47363. { 0xf0c5b28102485685L,0x5d3f9302e3f68f42L,0xbbbfac50ffe4f036L,
  47364. 0xb5b5f26174fdba44L,0x4ebe1d070d746760L,0xbb0f7812c37f04b7L } },
  47365. /* 6 << 35 */
  47366. { { 0x810b6ab36df1199dL,0xc229308bb4f293b7L,0x3cf838dd89897750L,
  47367. 0x3e391e4e7a336c9aL,0x70148337176f89c0L,0x54b15bacbc4f1e22L },
  47368. { 0x32b104f92c0f2885L,0x2c39cefa67034f2aL,0xb8310437bf178ac1L,
  47369. 0x722299f5c99370d5L,0x0a493cf0332b93a8L,0x00e0ab41a420f719L } },
  47370. /* 7 << 35 */
  47371. { { 0xf25925434cab24daL,0x52be9bbce7c3b9c5L,0xaab7a8b64660d1a0L,
  47372. 0x09738b819a9600f4L,0x58f0c86637de9e3cL,0x0aea5cc15db31f4fL },
  47373. { 0xe480406f499868beL,0x0d8fc7f0f6913a44L,0x7282364435f2e14eL,
  47374. 0xb147b31045e37a93L,0xb1e7aa5bf15c1af7L,0xa8685068b03e7713L } },
  47375. /* 8 << 35 */
  47376. { { 0x21feb7fc21c34c2bL,0xab6a553addb0140eL,0x03a6557624b04e6fL,
  47377. 0x2531f186342cb0adL,0x088c4d54a24f6426L,0x9a0ee15c06a873eaL },
  47378. { 0xdbe0253fd33bc748L,0xdad3339f5db8ac9eL,0xeaaf368173e65901L,
  47379. 0x71f1fab2ccbfa504L,0xb7b845224b0e163eL,0xe0fca8373c779f3bL } },
  47380. /* 9 << 35 */
  47381. { { 0x710988eb46baf373L,0x8cceb935b57d5018L,0x1864603fa45fdf17L,
  47382. 0x3dcaae73ef48e6d0L,0xadd9420b590322c5L,0x947783e39b135f67L },
  47383. { 0xfde763688bf5049fL,0xf00e4c182caa4023L,0x4d3b0f23d355b3d6L,
  47384. 0x181fabcc20d5799dL,0x29499b40ab2ad0afL,0xf6e66328f9a938aaL } },
  47385. /* 10 << 35 */
  47386. { { 0xcd7b3c42bcbe922dL,0x2fe02b3b95dd1a5cL,0xeb66bcbd24ef5c38L,
  47387. 0x7edcc21ce579c309L,0x7b19d49116f6c900L,0x36019ecdb6317c2cL },
  47388. { 0x554ba55391d9001cL,0xa5e30b9814f31e44L,0x3d1fe33bffda4032L,
  47389. 0x5dfec4782306675cL,0xbe59305e000c91e7L,0x3c4e52a325a6b879L } },
  47390. /* 11 << 35 */
  47391. { { 0x02fcc14ec5ea88acL,0xca29bb6d56d093b6L,0x876aeda90e6fe94dL,
  47392. 0xfa11a142d7225a9dL,0xfea3ca053d03fed8L,0x435854c6c54d5962L },
  47393. { 0xd770737454a6dfd5L,0xb8960017a3e55d02L,0xd4015a0c04d65c3eL,
  47394. 0x397f93d1e98a1204L,0xb0efa2e55f3ed850L,0x18f244698a3ec67bL } },
  47395. /* 12 << 35 */
  47396. { { 0xa35802f5d62cd9f9L,0x0ca9c15d4148436eL,0x261a991d472b9d21L,
  47397. 0xd81a1ed6a2f8e875L,0x942f213a699b6d63L,0x041a12fc0ae57758L },
  47398. { 0x61191c82bd70aabbL,0x3776eb8bee4c23b3L,0xabe23e8652511222L,
  47399. 0x66dd967d30dabb91L,0x77650c597ed27424L,0x08ea2ebdab25a050L } },
  47400. /* 13 << 35 */
  47401. { { 0xa410ba3ab6cb5a02L,0x6eb40d15d07c5c6bL,0x0de81e9107dcc811L,
  47402. 0x996f46eb2631b7afL,0x5a350ba75b7a22f3L,0xf42b24e7634159afL },
  47403. { 0x07bae0abc30952fdL,0x3488cda2d644e0b0L,0x23ae40d0e2111e12L,
  47404. 0x650af54ec80cdb56L,0x0f33a30b7d4aa2a8L,0x4e8d3e98442a00e8L } },
  47405. /* 14 << 35 */
  47406. { { 0xa624ab3759a8bc95L,0x4b7e3fa61c971228L,0xe8229c4273aa694bL,
  47407. 0x0cc31029779288abL,0xf8eff30f57575e0eL,0xee5e01947d52803eL },
  47408. { 0x32d87e558a78f632L,0x48a06031e454904eL,0xaa2cb8dd16c6e626L,
  47409. 0xadd098ac2c140452L,0xd25f285d2d3031b1L,0xfb5fbbe175b59543L } },
  47410. /* 15 << 35 */
  47411. { { 0x2297041fd7a21503L,0xfe7738c2657f03f0L,0x994a8deb168fa34aL,
  47412. 0x0c772e02a53c4fdbL,0x67f835d150124cd3L,0x0e0d26356993cbbeL },
  47413. { 0x9857ed845257f11dL,0xdc23a728ac556942L,0xf0e1bb29deb32a7fL,
  47414. 0xb8c3c43fee0d70f4L,0xc294b0efc60ad214L,0xa4d438dc679067caL } },
  47415. /* 16 << 35 */
  47416. { { 0x520b0bb905c755e4L,0xa2c2c59bf89f0048L,0x85c1c73a73c23975L,
  47417. 0x6e4dec49783aabbaL,0x69f0c69bb0463155L,0x61a42b949c97b17bL },
  47418. { 0x55af24a945d331a3L,0x4b0e63f8f5fe81fdL,0x4034283d708671c4L,
  47419. 0x200ddab35fd9001aL,0xe45f28e4342eaf3bL,0x3e8375b41ba936c4L } },
  47420. /* 17 << 35 */
  47421. { { 0xcde014bbc613b1faL,0x5ad97babcdf992c2L,0x9fe05b9fea13e2d8L,
  47422. 0x93b553e290c4031fL,0xd62bc0818c727bebL,0x284fb61f888306caL },
  47423. { 0xa63f8dcd1101abd6L,0xfe02dc120e962b27L,0xab169958115301e7L,
  47424. 0x8822f954462209baL,0xb3ba3e721198428aL,0x9a73ed38d74c88f8L } },
  47425. /* 18 << 35 */
  47426. { { 0x7db497e17da2f887L,0x0995648b683f3507L,0x50e3ff74f5935bd2L,
  47427. 0xdec083e2708c88dcL,0xbcc3bc3125129bccL,0x7a3fd7a80a407b41L },
  47428. { 0x46ab826c25e0ab93L,0x28e891ec54944cfcL,0x637be168f55c6cbfL,
  47429. 0xfa34e9942a65216eL,0xd23e99afe3a43c84L,0x6d09d189e6fd958bL } },
  47430. /* 19 << 35 */
  47431. { { 0x8aa6ca1381bbd283L,0x3a0633f4ee167a15L,0x7f297c8b9e3b18e6L,
  47432. 0xbead8a50c71fea64L,0xa11b2fdd457aebbfL,0xd7fc286f85bc7bd2L },
  47433. { 0x2922ae5bad1c9d9dL,0xa07741c2ef9ac174L,0x24dab2d457fa8f9fL,
  47434. 0xd7078d946116a870L,0x4b45107834117a37L,0x19a4dd21c73c857dL } },
  47435. /* 20 << 35 */
  47436. { { 0xa2f9b4e4bac5d14bL,0x9f904a3eb8699164L,0x63585978fec79b4fL,
  47437. 0xbcc9b60ebff45cd8L,0x2e515592a5d63de5L,0xc47a048c3bcc637aL },
  47438. { 0x0523810643aba777L,0xf6818e4c77e67aacL,0x9d5827d238f962b3L,
  47439. 0x28a904c6a003988dL,0xc06bc833551f4575L,0x61f6bcc2221cffefL } },
  47440. /* 21 << 35 */
  47441. { { 0xf7cfbbe5055a5623L,0x1f8af775e66d2a5bL,0x0cac440268831d8cL,
  47442. 0xd25185890d0e6f2fL,0xf17838a3182f90f1L,0xefdf6f20737f163dL },
  47443. { 0xc3198af0542242e9L,0xf77c3d28209efb0bL,0x1df6d0da8de7be08L,
  47444. 0x22ef7367901a6590L,0xfa9b4af44b776d27L,0xdc49102c88ace4f6L } },
  47445. /* 22 << 35 */
  47446. { { 0x60c7d148bafa9cc9L,0x0afc5fe2516b87fbL,0x02e20acff795ff60L,
  47447. 0xd1ba069151f32975L,0x8547e7f757be2399L,0x4bdf6abfa0d1b33eL },
  47448. { 0xc793832fa06077f9L,0xad55cccb2d874993L,0x5e217b27314387d8L,
  47449. 0x744d7b06e7f2ec4cL,0x761aa86d24fa58b1L,0x41400d9657dd313dL } },
  47450. /* 23 << 35 */
  47451. { { 0xd17f68da759d20f0L,0xc141ca6827b7eaa7L,0x3796db8bdaff5c66L,
  47452. 0x067119dca1e5220bL,0x174f11777158ddbbL,0xa80365d8cf8bf75eL },
  47453. { 0x0a79f74933567f05L,0x8c2826123c99bb4fL,0xe448c2bdcd6ae726L,
  47454. 0x1ae05aac2ad4b0e0L,0xf90dddcb16442420L,0x37465a1ea75c28e3L } },
  47455. /* 24 << 35 */
  47456. { { 0xf58e05c53178468fL,0xa17c8b868328a2efL,0x1bb22cb44ce0c2f8L,
  47457. 0x1ab807b51aab9089L,0x2aafa8c91e76fafdL,0x58cdf95fb4801546L },
  47458. { 0x2c1e4ef8d5d699f1L,0x1583a2aa4cd433bdL,0x571dcaec7f4f9b10L,
  47459. 0xf62b696b27156c5eL,0x77d2443448820bb9L,0x94e4cfcc11dd3e55L } },
  47460. /* 25 << 35 */
  47461. { { 0xc3fd1feac00e6c7fL,0xf4e42ddabd322507L,0x1ce3e0da023469ebL,
  47462. 0xf81769d2d788b1c2L,0x505cec4c62353342L,0xd4049907ba759922L },
  47463. { 0x9ff98f06618ee939L,0xfa63b3606bd55f31L,0x3fcce488cc4d2515L,
  47464. 0xeb6e92e91d629e19L,0xcae4190bff892af7L,0x3e7b780dca80cb44L } },
  47465. /* 26 << 35 */
  47466. { { 0xbc923fdfaf54b58bL,0x2aef31d88767acdeL,0xfbebb8f07f28a3d4L,
  47467. 0xce5feafe694fe977L,0x606afb0ac9da1ee5L,0x559866a0b74f7c42L },
  47468. { 0xd935191fdc85f22cL,0x5c3002d7c8ce3240L,0xecd278c198452214L,
  47469. 0x665b3176821a3606L,0xce05a914baf26fb7L,0xa178860b60e4e8b8L } },
  47470. /* 27 << 35 */
  47471. { { 0x135c82b55000cc19L,0x34537edf8b2c55b4L,0xfcb6aac2b37acc8cL,
  47472. 0xa882e25e8ce8d7f5L,0x531756e98c7ff1eeL,0xdcdaced9ad6312b0L },
  47473. { 0x309a469b7f3aef9dL,0xf306e32588d8772fL,0xe7e6f3abd4dc0d90L,
  47474. 0x816b01ae49878940L,0x1cb084e84ba5e2c8L,0x395af25b005d08b3L } },
  47475. /* 28 << 35 */
  47476. { { 0x3832cfd59093efcaL,0x3fda8380ed8b34d7L,0x874ec122e2bd4004L,
  47477. 0x3761e9c44270b9ccL,0x6eb2fb1166e640d5L,0x2a45ad23e6dfd0fdL },
  47478. { 0xdcb3272bf8dd082cL,0x7d84341f17486485L,0x0f46b1fda4ca2644L,
  47479. 0x81a1ab1e82baf37dL,0xbb1d72713b322f65L,0x1571e326f4038252L } },
  47480. /* 29 << 35 */
  47481. { { 0x4e00aa41d9acdec7L,0xb2b701bf9f80dff4L,0xc366ce97d5e71e0eL,
  47482. 0x28c2b4e9ed09255bL,0xef54a1a535086ba6L,0xee2e43f2a1c8b39eL },
  47483. { 0x346f22f5d9143a78L,0x71fc5c06f1053377L,0x1789f7644737b5bfL,
  47484. 0xc9f83ee8b0df2648L,0xf91a29e9073ee793L,0x18eb801e3ab450a1L } },
  47485. /* 30 << 35 */
  47486. { { 0x1c3df0914085f0b6L,0xc60c47f5cede211bL,0x7bdead8650b6e857L,
  47487. 0xc68645be2cf9aad6L,0x8d970a94d01540f6L,0x9346f253782ec6a1L },
  47488. { 0x3da31263c1b23981L,0x53076158dbabfb68L,0x22947b9f743dfba4L,
  47489. 0x872e60061c56f47aL,0xe973d81c2b3b8417L,0xb98216184b1fed56L } },
  47490. /* 31 << 35 */
  47491. { { 0x29fa699b8873de48L,0x64f9e1124932447fL,0x4fb0e009e4c20d43L,
  47492. 0x748a0cdf78016262L,0x4891badb7bd23ea8L,0xf1300a437f56368cL },
  47493. { 0x178efa9de8f1f8bbL,0xc31cdb4098a31dd6L,0xc2d5bfbad2c43f9cL,
  47494. 0xf377e2cc8678d990L,0xd42d274808d19833L,0x2d72fd4de5ad5e63L } },
  47495. /* 32 << 35 */
  47496. { { 0xb083ba6aec074aeaL,0x46fac5ef7f0b505bL,0x95367a21fc82dc03L,
  47497. 0x227be26a9d3679d8L,0xc70f6d6c7e9724c0L,0xcd68c757f9ebec0fL },
  47498. { 0x29dde03e8ff321b2L,0xf84ad7bb031939dcL,0xdaf590c90f602f4bL,
  47499. 0x17c5288849722bc4L,0xa8df99f0089b22b6L,0xc21bc5d4e59b9b90L } },
  47500. /* 33 << 35 */
  47501. { { 0x44e6089f006e422dL,0xb4a99bc45b029c6eL,0xd14bd00e6f289edcL,
  47502. 0x8ebbedfa25c50773L,0x5bdad80851d3ade5L,0xe4e70c3094727960L },
  47503. { 0x29b759e863ab2622L,0xe20ad36b134d5982L,0x27c8387f4070e06eL,
  47504. 0x9fae222556593896L,0x299a0f0c3b199172L,0x476fe70977a39ca4L } },
  47505. /* 34 << 35 */
  47506. { { 0xc91a3d2ef4d0d8a4L,0x450193a819e05a78L,0x0e59e0b89eec69eeL,
  47507. 0x2ba20f00138fbf46L,0x5c9fea780e8ae694L,0x62c81c8cc6b73372L },
  47508. { 0x2a1df446ff0997a2L,0x929364ab692bb930L,0x4c4a956436cb618cL,
  47509. 0xc55020a0526be5dbL,0x151f18a02c64c026L,0x2ec5becd61724143L } },
  47510. /* 35 << 35 */
  47511. { { 0x139c7d788713439bL,0x46f7bd4b1e19b1caL,0x74259a28b47977d7L,
  47512. 0x89a912cb8ab1817aL,0x4428e45f06419142L,0x11b9c4836b34a2d5L },
  47513. { 0xb613563a29487118L,0x81f4502ab6249a60L,0xe28685843d4ddecfL,
  47514. 0x138c97297bd250dfL,0x733f2201aaac4593L,0xee6b85ad5d061887L } },
  47515. /* 36 << 35 */
  47516. { { 0xbff288ed74006fd8L,0x388c5a34ded657eeL,0x47d400a2d61a2995L,
  47517. 0x54c684af1eba1f65L,0xd1ba6975b1b4452bL,0xb23dda26f2f8283aL },
  47518. { 0x6bff7acf86803147L,0x839571e5e8ea5923L,0xc89e1048dbc4ccc5L,
  47519. 0x1fa0221120102232L,0xbf7b8f902d4e4406L,0x14c5de43576aba0eL } },
  47520. /* 37 << 35 */
  47521. { { 0x6c55807bfd2f9b11L,0xb01d9f7239e338efL,0x94f6531135628879L,
  47522. 0xae51cf0b0ec6f5b4L,0x387223cfd36b9719L,0xeeb02cc6f2fb192cL },
  47523. { 0x867611ec43c9e89cL,0x5b15785f97930887L,0xb792b88b57ab078bL,
  47524. 0x0c54de110bdc03cdL,0x5785811a30d0eee3L,0xb73bb98436b88b00L } },
  47525. /* 38 << 35 */
  47526. { { 0x0d0ba3c06fba6f94L,0x7f7e0f5cf29713c2L,0xa8cce53ba6b94d6cL,
  47527. 0xbea99382df40fd27L,0xb3ff1c56bcd4f8b2L,0x19124644418f108fL },
  47528. { 0x6fc5260727c26f18L,0xbc5e23d682c7c8f9L,0x12aa5e8e099b8cb3L,
  47529. 0x9d94d88614c579f9L,0x5c629d7a47395f32L,0x9cd280633efbbea0L } },
  47530. /* 39 << 35 */
  47531. { { 0xf0bbf8e88edb7b56L,0x9a76ad71adeb43ccL,0xd99a92528643e982L,
  47532. 0x6468ff05cf17f5b5L,0xe6589476d56b985eL,0xdca4273cbe446b3dL },
  47533. { 0xd430e3a47b9dbac1L,0xe075c00f4cfe735dL,0x3ba43fef12395845L,
  47534. 0x6895f0c3dcb49ce9L,0xd868006aa92843dbL,0x968a8ceec0d5bc9eL } },
  47535. /* 40 << 35 */
  47536. { { 0xc0387b57f440fe92L,0xce8bad38e291c443L,0x022052e5f9e88be0L,
  47537. 0x6f949fe261615c9cL,0xf4874e2d84725fc1L,0x06fb244b73a394ebL },
  47538. { 0xb70553c678208bd8L,0xab1829c028704d28L,0x1453ee1a807b160bL,
  47539. 0xa1da80c34649d33aL,0x072e02e056c32ee1L,0x79baa98f3f590646L } },
  47540. /* 41 << 35 */
  47541. { { 0x1613a710b0fef3f2L,0x9ae438012edeec54L,0x07824d08579c3130L,
  47542. 0xc2beaf806ba2b1fbL,0x7df3c459fc9e85e5L,0x8debf613dbd63acbL },
  47543. { 0x2774ab78f04f3526L,0x36e7ff55a5285219L,0xf2adccaf4ab04c77L,
  47544. 0x14add3d8aa43fbfeL,0x387e4965e3026ac4L,0x154801a1c77391ddL } },
  47545. /* 42 << 35 */
  47546. { { 0x28687291933bc404L,0x6a13b0cc9ba35fa8L,0xd3d1746931c5d126L,
  47547. 0x1c81ce5df9727cfbL,0x14f66be860b464eaL,0x0bbdefb8c10ea9f6L },
  47548. { 0x5679a0e5e8d06c95L,0x380161d83dbfd6e3L,0x6cdd31f20523e6d1L,
  47549. 0x2ff419e0c4b4c439L,0xc7439153e217782cL,0xb1b74383f6dc5d95L } },
  47550. /* 43 << 35 */
  47551. { { 0xcf0d1d2d03746e38L,0x8476c982916e077eL,0x93de41516dfdc6d3L,
  47552. 0x15010d26b78cf13fL,0xbab5a5de97cb08c0L,0x37f0673014a31939L },
  47553. { 0x777c709f6819b0f4L,0xe3c2d2f7114a32e7L,0xf0227e19ec047092L,
  47554. 0xe1416f34b817e1e1L,0x4d7db41419c6c3f6L,0xf12a13a9d01aecb1L } },
  47555. /* 44 << 35 */
  47556. { { 0xa09e68e61f023abeL,0xbc432449aae2d6c8L,0x61e22f727cb683dfL,
  47557. 0x0b5bbc0fd81a0e89L,0x18ea4e774581f128L,0x28df9961cd70a12aL },
  47558. { 0xb0d3b19f8b8bc10bL,0x0805d1439844e7f8L,0xe3ed3d40675ab6a9L,
  47559. 0x026d1200f75e2859L,0x1802457b8bb10969L,0xf94c62b3eadab8caL } },
  47560. /* 45 << 35 */
  47561. { { 0x518e9c4220d03ce7L,0x6c44676187811010L,0x07ff38f99d9be611L,
  47562. 0x5c2bac105cf0cfd2L,0x4e5cc677d5881c2dL,0x02dc395f08e39281L },
  47563. { 0xc3ef99142044f4e9L,0x0203508c20c8c831L,0xd1276c030e0524c9L,
  47564. 0x5525c0af5402f999L,0x5c9a43aa49c2371bL,0x6d7b6700d28cbb59L } },
  47565. /* 46 << 35 */
  47566. { { 0xdec3ab0f7bae55e1L,0x6bae4baf56152625L,0x1d597c0c839b5d6aL,
  47567. 0x243692a966b3b169L,0x37f2ca8eb01c6d34L,0x5baa355aae5c05baL },
  47568. { 0xe0b84c28af384b13L,0x6a2c9386667cd513L,0xc361a75d78319608L,
  47569. 0x0c317ac596ca528dL,0xe243aa8672f0a5e0L,0xedcf9f5fa1d1677eL } },
  47570. /* 47 << 35 */
  47571. { { 0x88e5cf3f74a0a7d2L,0xa25a3883cac23d4fL,0x7be2fc2ba6eb3d72L,
  47572. 0x188be28d391326cdL,0xeca6aa726f3db24fL,0x237cd6f70b9a11a1L },
  47573. { 0xafeca5436fecffeaL,0xa32291510e6d18f3L,0x46699e2500dd8b76L,
  47574. 0x5edb4b1a331eaa12L,0xecf6d8a472ce0658L,0xd91af8da6b80e9e2L } },
  47575. /* 48 << 35 */
  47576. { { 0x7af5da7b63ec62d4L,0x74dc387261dbdee2L,0x7d08dbd360b519a4L,
  47577. 0x4e785f79459ef257L,0xe3e7d5a485fa9e7fL,0xea60c815e9b5665fL },
  47578. { 0x2e570d18c209caf9L,0x7bae108371818d1eL,0x5db42a0a398d749aL,
  47579. 0x149740ff4f555604L,0x72e4f06bbcee0abdL,0x0ecc0cb581ad0830L } },
  47580. /* 49 << 35 */
  47581. { { 0x43550eea0a34451dL,0x8b0b97e9c3aa33e3L,0xdd974528da22dbdeL,
  47582. 0x0337c64dabff3ed2L,0xb50da9e9230cc211L,0x931f891c004d17d0L },
  47583. { 0x8b7f9ccbff366019L,0x5483938033d76a4bL,0x52fceec1950ef740L,
  47584. 0x5b19b50cd18125d1L,0xbbb661f55b9011c7L,0xfbf0ec747beda7fdL } },
  47585. /* 50 << 35 */
  47586. { { 0xebca6bbec047276bL,0xcda078e05c3018c5L,0x4620dedda223af10L,
  47587. 0x962f389ad02fd60cL,0x901fab93baab3894L,0x5ecbbd7506eab11eL },
  47588. { 0x865dc95e62203b9cL,0x04a599844acf85edL,0x877e94647607236eL,
  47589. 0x09592a5684609563L,0x6535176ace76d699L,0x44f2d997ce8812e9L } },
  47590. /* 51 << 35 */
  47591. { { 0xa09c9ab62285b330L,0x6058d94a9b145627L,0x7b4b4141da3c3571L,
  47592. 0xc9347a16033b665cL,0x95e9b4f01a33d052L,0x35520f3cd46c67b1L },
  47593. { 0x24938cb136042a9aL,0x5eeaec9de73b7354L,0xed47914931f08616L,
  47594. 0xb0187b2b713a2114L,0x03c49947e3b76d73L,0x79b5778a2e94fc7eL } },
  47595. /* 52 << 35 */
  47596. { { 0x6bb19d2162de1ccfL,0x3810bdb3339162c2L,0xeb56c72b6aa09df6L,
  47597. 0xac66c58d1d415050L,0x922cd7e74ad9cc85L,0x09e3585f91168090L },
  47598. { 0xffc9a98d31b918a6L,0xc273e186c73c7513L,0xd506753f12a77342L,
  47599. 0xe288a471e5edd613L,0x0f358d310cacf05eL,0xfbadfa2d9a63fcfcL } },
  47600. /* 53 << 35 */
  47601. { { 0x020e282989cf155bL,0xa1fa6eaac7f481edL,0xba422e09c5c89724L,
  47602. 0x43da4df7cad8186eL,0x1bea459cba3ca738L,0xe9f0afdd0c64bc9bL },
  47603. { 0x4c3b3b8e3592686eL,0x7e6938a7b43ea3f7L,0x8e01a54e7ba7dad8L,
  47604. 0x33ecd36ea9c68839L,0x1abd6e125e7e993bL,0x29947e126531feb6L } },
  47605. /* 54 << 35 */
  47606. { { 0xb0fe9b7912a193a0L,0xfa19ad4be4bbd264L,0xd5bf0e5409918851L,
  47607. 0xd07d8e5729cf45b0L,0x228e67cc7744259dL,0x786ea24843ed0fc4L },
  47608. { 0x7f700231873cd08dL,0x394db4a70ef49109L,0x699047c06a8197f7L,
  47609. 0xf5b168443021ff8fL,0x4c8bb55026621cabL,0x6f28b013065208f1L } },
  47610. /* 55 << 35 */
  47611. { { 0x2fb3a7601f809545L,0x8006902ae93849c6L,0x37cc848c9bd9e1bcL,
  47612. 0xf4cd31559d0f6340L,0x357772ac4baef442L,0x0f46d0f77d533f1bL },
  47613. { 0x4121411fd9c12bd0L,0x304083dedb70e364L,0xff6b7a1ccecbeb3dL,
  47614. 0xb444b5972aadc899L,0x29ec79bfdb8b3731L,0x864d8d917fbd8982L } },
  47615. /* 56 << 35 */
  47616. { { 0xa79feacac241c5bfL,0xc86df4c017861e6dL,0xaecd1722a699282eL,
  47617. 0xcce5e345a0464190L,0x0a79c23deca4f6d4L,0x64603ff16a6e7967L },
  47618. { 0x02e24234aa7312c2L,0xa9e1fc7791a1b587L,0x1daef29f94526a4bL,
  47619. 0xa7db710a62ead861L,0xb387fec78869446bL,0xee2171015db19f08L } },
  47620. /* 57 << 35 */
  47621. { { 0x79a0feabe64fb245L,0x5799eea096a4e94cL,0x2592e7a333b063a6L,
  47622. 0x2cac3c2ef1063574L,0xb9cea04a7f4755d4L,0xb8e40abaa0bf858dL },
  47623. { 0xe1723d963ffa32a3L,0x6547b4402701eb1eL,0x16ec552a4da9b337L,
  47624. 0x75f7f4a8fe0555eeL,0xf97e465014f1c2b2L,0x5495fce3d9ccf8a2L } },
  47625. /* 58 << 35 */
  47626. { { 0xffd160fb62c1b457L,0x62efe01fc4d91f7fL,0xc54f75b5208dd413L,
  47627. 0x089514d3e78124d0L,0x752a9ae8c2945054L,0x466636fbdbffa78bL },
  47628. { 0x32936281a265949eL,0xd657c0f084b4d11fL,0x199d8641af455a47L,
  47629. 0x1eb24cc7dbd9852aL,0xd2ce80f856bfbbafL,0x1b31b23ceb862890L } },
  47630. /* 59 << 35 */
  47631. { { 0xc866d2a5fcd5aaf4L,0x4ac2b7f57e21250eL,0xa78cd3cbc50b4a92L,
  47632. 0x2485c3435a5c541bL,0x555db4dc7ef371eeL,0xcd9d6d9c1304f782L },
  47633. { 0xae86a22974b4d57aL,0x68c93bc8dd4cdd8fL,0x7b95411098b9fd49L,
  47634. 0x0dd480b9399d8d4bL,0x0e27be29f2665c52L,0xce8a1ef9d920a5c8L } },
  47635. /* 60 << 35 */
  47636. { { 0x10a6bd0cfc0395b9L,0xe30bf6d06a5e8107L,0xc8aa2483167930d4L,
  47637. 0xee75885006e7e1c2L,0x4ee64cfcedcb7788L,0x9498e9bbf2f1d7ecL },
  47638. { 0x084d2350ae0fcdb4L,0x4398ee677f4d25ccL,0xc1ddca395db85bfaL,
  47639. 0xefd4819747961197L,0xbd16037f2265195cL,0x1c61a6fc56daae6dL } },
  47640. /* 61 << 35 */
  47641. { { 0x640cf6b17f7c8c50L,0xdffddf2209d44051L,0x837275314e3c038eL,
  47642. 0x3164d1875aa8d8a1L,0xb37590bcfceb1066L,0x5e4fab4200d489f6L },
  47643. { 0xc1e5dca3f8105ea2L,0xfdd1b0751c7f8679L,0x571d7dd14f14ac54L,
  47644. 0x84cc453155cfb741L,0x49d0b1be48823448L,0x8365f1f3f798b5d9L } },
  47645. /* 62 << 35 */
  47646. { { 0x9f2409cb6a564a3cL,0x9266799ae5134e54L,0x39aa3697fac47921L,
  47647. 0xdf3db1f32c0b4dbdL,0xfa37a085f096ec03L,0xb99cfe05afaa0f3fL },
  47648. { 0xc9e00e43df458860L,0xbeb7e60ace2bb0b0L,0xdfe2be57cac8d7e0L,
  47649. 0x6ec03d799162b2ffL,0xdfe3a6225d1122dcL,0x9f04dcc8b6014310L } },
  47650. /* 63 << 35 */
  47651. { { 0x30471bf9b42ba5c0L,0x19073fd0c9d26763L,0x92817e8059c1017cL,
  47652. 0x29248f743da195b3L,0x029d7e7be928767bL,0xf1a3a08a049a0080L },
  47653. { 0x8ec4f3e6e20c1d68L,0xae815a11f3ad30feL,0xdd0a6083f76f43afL,
  47654. 0x197d29fe49465bebL,0xf1a40ae996316f4bL,0xec47d65e59bafbc0L } },
  47655. /* 64 << 35 */
  47656. { { 0x6f57752951c2bb65L,0x4a0c1c284b874bdbL,0x19a1842778b96c6dL,
  47657. 0xa674f9922f593505L,0x5abeeec46b7209d6L,0x42d15d0147cf5fffL },
  47658. { 0xe24509b7b49e3b4eL,0x81be939c639ee6e8L,0x7f7daf595761e8e3L,
  47659. 0xed5cfcb8d420a288L,0x365b29eb7a0ff696L,0x7d14680599a1ac8fL } },
  47660. /* 0 << 42 */
  47661. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  47662. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  47663. /* 1 << 42 */
  47664. { { 0x9ee1ec3aadcdaa68L,0xd98c498fdcbb6548L,0x32b9737588102ac0L,
  47665. 0xdd296cf9c08527f4L,0xb74f8145fae3dfbeL,0x84131eb96cd7cc4fL },
  47666. { 0xa0f2fe7a927ff15bL,0x6b0ade4deee1a4b4L,0x6e7df2d40eeb90a7L,
  47667. 0xe2f46e20be4de684L,0xcd28feba3fdd06bcL,0x8e4205aee6d6d9f6L } },
  47668. /* 2 << 42 */
  47669. { { 0x35d47426f78d33efL,0x4af25db28440c42cL,0xbd6a15e22e91bf5eL,
  47670. 0xe366a84cc08b6b1aL,0x759c122f55b97de8L,0xecec558f08a03f29L },
  47671. { 0xdcc9fca2ea9d2060L,0xb3e49b8e9f361fe1L,0xdeae39029b59cd04L,
  47672. 0xf532ede06f5e5bd4L,0x84fbeeb936099f4dL,0x73576b1f088d2052L } },
  47673. /* 3 << 42 */
  47674. { { 0xee43828c6b512bc6L,0xf73dc9f550b91e60L,0x68f23f30f5dbde6bL,
  47675. 0xaf2fe9e3ddd15e00L,0xfbf34dae86578d49L,0x689796556c130010L },
  47676. { 0x137a5fc309942897L,0xff1f0bfe9959f06dL,0x2dd0a04abd7ee14bL,
  47677. 0x59c46072e54e2161L,0xf470bdaeea7518adL,0xce556e4340c471cdL } },
  47678. /* 4 << 42 */
  47679. { { 0x2ba8c79022b25f2eL,0xf4670a511af0f4a8L,0x6842f36a2fc2451eL,
  47680. 0xfc5c9558bb91e1e3L,0x035d1dfcc3ead762L,0x3d0721cb031e5556L },
  47681. { 0x3af0cc813af18a2eL,0x7888cee2bd11a363L,0x80c3de0a6ade1d12L,
  47682. 0xe8c3a5bd93b2dcb5L,0xe3adbd7c90a2214dL,0xfe8646d51192948dL } },
  47683. /* 5 << 42 */
  47684. { { 0x9214cd4bf1c7ed94L,0x4887c7c63738f386L,0xa72ba72bf623e542L,
  47685. 0x3c52a464f67d6004L,0xcdb6171d09b9a4ffL,0xe5eb77d160aba627L },
  47686. { 0x7aa9836f39d6afdcL,0xa3fa3a520e0a1e18L,0xe90bd925dee3a4c4L,
  47687. 0x47e8eeafd9a94dcfL,0x34302a4921e16feaL,0xe32a62eb8ae23949L } },
  47688. /* 6 << 42 */
  47689. { { 0xd1d70db31df1d1f2L,0x22ebc9bd9fec1f42L,0xde5ac585d11d3205L,
  47690. 0x0e4584ab282d4d6eL,0xc87607928f78b85bL,0x48a85682af1fbb6dL },
  47691. { 0x64d012ceae0947bfL,0xab792bbf25e22366L,0x250d40d4a3a030deL,
  47692. 0xe9b49f0877e26b9cL,0xe7d30c828c0f2249L,0x2b77b40b97c676a2L } },
  47693. /* 7 << 42 */
  47694. { { 0xa89144b89efc8fe2L,0x23625c36e13b79c9L,0x4fdea1d3a047ad35L,
  47695. 0xd0b0ee0d4ae78e01L,0xc224b3f3eac4e606L,0x4360e8acfa41bd81L },
  47696. { 0xb2c69238062437e7L,0x86ce8de0decd1245L,0x2ce4be3dfa9d07bdL,
  47697. 0xfd09aa853d268d06L,0x4cd874264a162aafL,0x1b28f72e9d45e849L } },
  47698. /* 8 << 42 */
  47699. { { 0x65026297ba958101L,0xbeb4adf98eef151dL,0x623763a460c8bbf7L,
  47700. 0xfa8f5ad78b2a7120L,0xfd744bdf085497e7L,0xf9b6f97e2ba35618L },
  47701. { 0x0cebfe9df8a15e86L,0x47a6d01329576088L,0x655817a3fcf19627L,
  47702. 0x30ab44f7c2f11261L,0xbb001c9dddf2c850L,0xb45c7eff073260c3L } },
  47703. /* 9 << 42 */
  47704. { { 0x609a02d031716f88L,0xdff6246c45421ce4L,0x544f3162142838d9L,
  47705. 0x8842dcbe36b57d38L,0x2818919c57f561e2L,0x87f5acca318373aeL },
  47706. { 0x42773fb72edf1501L,0xff92c38648e9d8a3L,0x21a81668ccd5a860L,
  47707. 0xbac5cf837328cee1L,0x7441f749ddc53a05L,0x987d3a1cb5abe243L } },
  47708. /* 10 << 42 */
  47709. { { 0x3b7c44f8fb90e50fL,0xeafeda047cc384fbL,0x9a33e377de65e34eL,
  47710. 0x303f568095094a58L,0x4c0f2e932292809cL,0x920c9c12160b30f2L },
  47711. { 0x31d14e1414b268d4L,0x9964173f1eadb1dcL,0x8e22b362eccb0f39L,
  47712. 0x81dccdf83bf9ece1L,0x8e2fda43a40503b1L,0xdb647ac13e112199L } },
  47713. /* 11 << 42 */
  47714. { { 0x9c23216f096c21adL,0xae259a6d41fa37f2L,0xefe0a8c9efe96f6aL,
  47715. 0x5631701dd6a27744L,0xed8d0219b3017563L,0xbe2723bca0867a0cL },
  47716. { 0xe02bcb56687b62cfL,0xf26c0f77b96f66a9L,0x43e46251fd16fa3bL,
  47717. 0x206a180a44033302L,0xcfa96b556121888eL,0x50567a7789dabe7fL } },
  47718. /* 12 << 42 */
  47719. { { 0xb08fb1175cf3e702L,0x7379b1978023df0aL,0x73aefc7b6f954966L,
  47720. 0xc0fb886f76bd243cL,0x871eacc5ce09d5a8L,0x9f55b0a4e773f049L },
  47721. { 0x92945c84415d725dL,0xcd57391f0112ad84L,0x4762bc1d0509d73fL,
  47722. 0x15cf97f10f1af175L,0x1f855695328c160fL,0x32cb87263b439f0cL } },
  47723. /* 13 << 42 */
  47724. { { 0xb27e344ae6361abdL,0xa53690eb474027a8L,0x500db02d683a8ef4L,
  47725. 0x547ecd17819df66cL,0xc35cd4cc91360e21L,0x6ea003a16026dfedL },
  47726. { 0x45e77cda22395207L,0x1e8e103f91264683L,0x130f2d2b3bd6328eL,
  47727. 0x6ae25c819af8973dL,0x6b0f90a0d32d7134L,0x0280a95755c62195L } },
  47728. /* 14 << 42 */
  47729. { { 0x23781958cd8bb5aeL,0xe3d30c5417dd827aL,0xf974e0076bedf762L,
  47730. 0xd8154b6273264accL,0xf10fd9bb167b9396L,0x967c5acbe9652a0cL },
  47731. { 0x46775025a28fa76cL,0x17ac7cb32ece9d3cL,0x5fd8968ce04a833eL,
  47732. 0x96ed5b49fcd20a43L,0x1d209e85289f9c68L,0x4d7473518ce51950L } },
  47733. /* 15 << 42 */
  47734. { { 0x6f5c8f3475214c1eL,0x3d5560bae192d11eL,0xd8a63ff0d7af2e6fL,
  47735. 0x5fb858be9069fe09L,0x83956dcd8cc663f9L,0x52d30c3b838bce30L },
  47736. { 0xf354f6d75569122aL,0xfcef54d1fa68f566L,0xc75b01e79020dfe9L,
  47737. 0xaac66895774b952bL,0xb2a58a299468cebeL,0xa994a3b487c81a42L } },
  47738. /* 16 << 42 */
  47739. { { 0xfa7d1236e2319f38L,0x9ba1a1c0a551d3feL,0x9ea27288beb1282bL,
  47740. 0x1c069efa07fee8a9L,0x5749c7b55870fee9L,0xbedca76fafcec6faL },
  47741. { 0xa3f8f1b14c63c5e2L,0xaa1bb15694758ac3L,0x753329a9b59dc06eL,
  47742. 0xfa8e5f5b98a92c38L,0x6b6f46fd3c2b4662L,0x716f41a1ec04c6c6L } },
  47743. /* 17 << 42 */
  47744. { { 0xa882aa6389201dffL,0x3441fde55bfcde3fL,0x220cca60cb543f54L,
  47745. 0x2af1cb29d764d74bL,0x47ae56d0517617c6L,0x05b98dee0342bf55L },
  47746. { 0x214f4b11b4e28cfaL,0xa6ebcdf5093691ffL,0xe49ca185f61d29acL,
  47747. 0xd304ac40fd8c9018L,0x196161a0f889b7c7L,0x3b704d52dcfc6c91L } },
  47748. /* 18 << 42 */
  47749. { { 0xb405aff88886500aL,0xd88008bebeeabe24L,0x9457cdf30bc931b2L,
  47750. 0x8e5fd378f4c5aac1L,0xdec408107bc2bb98L,0xf86424c598b16f6eL },
  47751. { 0xb6af27b634df75d8L,0x1bd3082125943a31L,0x51176cfcec993c24L,
  47752. 0xcfc1433accbd192dL,0x324a5e1e2993be83L,0x34169fc1d06215adL } },
  47753. /* 19 << 42 */
  47754. { { 0x41aa181ad260133aL,0x627dbe0346e236d2L,0x717fba9cfb8cc72bL,
  47755. 0x6e21d03d69bbc9e7L,0xd903e845241abdecL,0xd17879fa3c20cb6eL },
  47756. { 0xe6141bd463a360b8L,0xa784a651e86cdcb9L,0x80fe8dd11f9147fdL,
  47757. 0x641241c6de155420L,0x1caef32ba71f3546L,0x28c3a51a79fdf82aL } },
  47758. /* 20 << 42 */
  47759. { { 0xaa16c27a84a3d033L,0xc207a4990c11c9caL,0x7ae2d193aae87c9cL,
  47760. 0x125ab459916d634eL,0x02ded714cfa65b4bL,0x6efe84944e212e22L },
  47761. { 0x97c48a1888766168L,0x663ccc9dd9c85b9aL,0x6fe8b77b2652f501L,
  47762. 0x1daa602d078efd38L,0x35885364dbcb8299L,0x25bd1826b8240626L } },
  47763. /* 21 << 42 */
  47764. { { 0x6621d504af748cb6L,0x3940e5e08dacbf89L,0x9fdd8eeaf546daffL,
  47765. 0x18fc70d4b42f9507L,0x09bc4af9a3fcc42cL,0x9199b08f4165304cL },
  47766. { 0x039d45bed3d0e9eaL,0x0963ede2a6464c2bL,0x77f47a62b5215830L,
  47767. 0x3a0ce54c3e540cdeL,0x34cf6031b2be8f77L,0xeb143e60201083efL } },
  47768. /* 22 << 42 */
  47769. { { 0x21404da5442467a1L,0xe73047597f7023e0L,0x836439a8213ff492L,
  47770. 0x105fe0e37ca0fc37L,0x73835ac85b303c34L,0xe29d830e0057ac8cL },
  47771. { 0x457d083e3b5f41bdL,0x228b26c357341890L,0x8e8f194c4109bf9dL,
  47772. 0xd032cf2b6e4a39e3L,0x012e9515d88f9292L,0xd1a4cd32e957e163L } },
  47773. /* 23 << 42 */
  47774. { { 0xec56b72f4ab23680L,0x7cb58e727f22217eL,0x6e98647bd045d18dL,
  47775. 0x2b7c9caa9a73b956L,0xc414eabef120122aL,0x45d9036bb6e1b134L },
  47776. { 0xe963c88388abd93fL,0x257f3b619180cb9aL,0x915fee5cb6ca7abdL,
  47777. 0x2166402cdb7b1bb1L,0x636f85f6541614e4L,0x81f91a1849d9e527L } },
  47778. /* 24 << 42 */
  47779. { { 0x0430af7759b11c7aL,0xf71cc5b1d4f47acaL,0xe1a7905f12e9190fL,
  47780. 0x1c689b7012db9e14L,0x6bdd3dc90abaeeacL,0x97f1c244504f0319L },
  47781. { 0x874afd61a7a54b51L,0xd4604ecbe3d979b8L,0x0d33eee1ebf4aab1L,
  47782. 0xa3631cac1aa49fe6L,0x0d8340fbf2217cfdL,0xf6373284423b7e77L } },
  47783. /* 25 << 42 */
  47784. { { 0xc6cdb5ba6f7972d7L,0x7ac7d438907d281eL,0x9160a8f5c01044ddL,
  47785. 0x3d74d7eac19ba8f9L,0xf7c7f93f112433e5L,0x2ab355a2012236d3L },
  47786. { 0x1168ce913009447eL,0xbefde8dba26e3458L,0x6f9837db49ec8169L,
  47787. 0xb4d1e35c86782931L,0x41440a76d711e5f4L,0x8fc7a5aeacb5cd89L } },
  47788. /* 26 << 42 */
  47789. { { 0x73719fe8286e8aa5L,0xff8663419982a4a4L,0x684511702fb2db95L,
  47790. 0x4f1c0eab01d80ea1L,0x2bc50da5530af14eL,0x00d1d5b506071a95L },
  47791. { 0xdb618990a6b374b1L,0x06ad90084e79ebe5L,0x281d01a424a63b70L,
  47792. 0x87dbd6d5348625fbL,0xdc90f0bef576b1a9L,0x1a9ef270987747a3L } },
  47793. /* 27 << 42 */
  47794. { { 0x135e416ed651b9b0L,0xe55f7f104a5e7979L,0xe55df2550f0729d2L,
  47795. 0x666f2744e33ada22L,0x4968bb982cbcb4a8L,0x7ad4e7811028dd81L },
  47796. { 0x0e59f0dcd7ca8b60L,0xd71628cdd2a600b2L,0x7eaf6d308b0af99cL,
  47797. 0x6224b6452900105cL,0xe0513f4388650f12L,0x2a63822a6f6c5234L } },
  47798. /* 28 << 42 */
  47799. { { 0xf8c07373078a045eL,0x998b2d52a81724d2L,0x2b97faf1a6305a28L,
  47800. 0x5bc61f67f3e0f93dL,0x7238583cd7aeb8c1L,0x851ecc4b39f5f24bL },
  47801. { 0x1cc8b4689992c20cL,0x73168a863c8553dbL,0x1b9a5f95ba2641adL,
  47802. 0x87a0c362ce9d565bL,0x07fb51b2e1eedc62L,0xdb300ac6a973903dL } },
  47803. /* 29 << 42 */
  47804. { { 0x789ca390f33e8516L,0x6a7f594cdee7f1caL,0xb4b6b9ca988005a6L,
  47805. 0x14f7b4806cad024bL,0x682a86285a576b68L,0xf188c74e40e1984dL },
  47806. { 0x3584b5e6bf6f19c6L,0xa350b1d2b7467bf3L,0x3b3bb966aa3d1266L,
  47807. 0xebbd2c782804d8a3L,0x91a272d36a9caf4eL,0x553ada4158fa7041L } },
  47808. /* 30 << 42 */
  47809. { { 0xb564a0d9807e30a8L,0xaba07b1534a637ccL,0x010e76c5840d8e37L,
  47810. 0xb6dcb9ac95f6765eL,0x2f5f8fe103b3ec08L,0x10c5a24fb48363efL },
  47811. { 0x5ddacb2709c4dc1eL,0x8e2884b1e03bafc5L,0x84d56df3cfc2d599L,
  47812. 0xc8e2da84ab78ec0dL,0xace4663f900084c6L,0x98d9a1df5d49f42eL } },
  47813. /* 31 << 42 */
  47814. { { 0xb10ca6eea690d9c8L,0x0b8b39efd5e0d490L,0x2685d320e63807d4L,
  47815. 0xca40d0ee83116ce2L,0xe1e1434fca51b48dL,0x178a91afeddde4a9L },
  47816. { 0x64f59e3fd0dace59L,0x57b33c26278b1820L,0x2ca13b041550875aL,
  47817. 0xb21f675a4e0db4aaL,0x2bbb3edb0216d3c8L,0x7f39955b96ec8017L } },
  47818. /* 32 << 42 */
  47819. { { 0x78a53b5a9563e3bbL,0x19c75eb286af355cL,0x3520f427019a6f8eL,
  47820. 0xde6fcad6dc3ad0baL,0xfec96e4f79745b7cL,0x5e566bbdb133f2dcL },
  47821. { 0x50088a2b26561be7L,0x16275b4cc5fddfc7L,0xf21332ff23ae4b9dL,
  47822. 0x8cbc659e85246712L,0x27fa9c8df50b515eL,0x25ecf745494ac8b7L } },
  47823. /* 33 << 42 */
  47824. { { 0x7cb130e0837ab43fL,0x8a1f00127b9f6c17L,0xbf827f6d17fa5e12L,
  47825. 0xc181b1264914a231L,0x8ce70fb6986288a8L,0x9832863fcd1c276eL },
  47826. { 0x738e99819622ecd1L,0xdfc1b43cb73807abL,0x7254b4cf1b673290L,
  47827. 0x2d689f38fb20f902L,0x86460de83c34960eL,0x8453896aed8f62e0L } },
  47828. /* 34 << 42 */
  47829. { { 0x9f74efc606f4904cL,0xa280e4c26d3bc556L,0x974f9bdb75975ee2L,
  47830. 0x1bc0e7fb6dacde9fL,0x2a110d4c49649375L,0x045432c09090d834L },
  47831. { 0x84295a20195083cbL,0x92ea17cac7dcf71bL,0x3acced0be70be8c7L,
  47832. 0x3703dfc007e28816L,0x37fbf2d1e869fb8eL,0x8c6b0bbef9c35ff8L } },
  47833. /* 35 << 42 */
  47834. { { 0x04a991812f1d2778L,0x0d78573685b91ae0L,0x8c32d6046a5252a0L,
  47835. 0x12b043131a0df85eL,0x40c4db631ee669b6L,0x0f499408f18f5f9cL },
  47836. { 0x0dcdefabbfe9a187L,0xbd371c45ca650d7dL,0x33819eb00a36748bL,
  47837. 0x82d1af1f29034844L,0x301f906d96257b2fL,0x862728ea9395c666L } },
  47838. /* 36 << 42 */
  47839. { { 0x33a2194f40175152L,0x0f7ddc1dbb13f08bL,0x7c08860850b54274L,
  47840. 0x7ebb2c11e41f0795L,0xf915683fbe20d37fL,0xcbcc14889daacec5L },
  47841. { 0xfb02c20fea459050L,0xe964d76ad5815aa3L,0x0e009be9496bbf2dL,
  47842. 0x8233690eb42d0f7fL,0x98ee83d49168eb0eL,0x34c3b6f3621fa292L } },
  47843. /* 37 << 42 */
  47844. { { 0x29555d79b0221994L,0x1dd689dd4c9e8f29L,0xcb83ed2c853f5261L,
  47845. 0x04b1475e0d9b0670L,0xa28b15e7df2ec34eL,0x094409b5e60a168eL },
  47846. { 0xe4b9fd0e16ed42fdL,0x02f97e84a138f2f6L,0x91dc216ce13520dfL,
  47847. 0x59564eda7a245e5dL,0x825278be8478befaL,0x69daadd20328c4d1L } },
  47848. /* 38 << 42 */
  47849. { { 0x6ffade389995db43L,0x88974055790f4b92L,0x082e5add525d19e1L,
  47850. 0x002c414897bd9931L,0x3f093b3b5461cff7L,0xafc95b0042b8d3f2L },
  47851. { 0x0a8f7687a993155dL,0x1edfdf616c2bb58aL,0xb5be2d4fc44049e4L,
  47852. 0x6fd505bb8dfdf4e7L,0x5386f02a41af5871L,0x8178817569121027L } },
  47853. /* 39 << 42 */
  47854. { { 0x1deada722706171eL,0x1baf4c9aee773c6cL,0x458efac06977d673L,
  47855. 0x1f2c2f38646e29b5L,0x36ece91a53323300L,0xab51a49bc4d598e8L },
  47856. { 0x7802760ed8e41d8aL,0x2996f790587425a5L,0x227165b73ca21bedL,
  47857. 0x0d9e5c5283536ec3L,0x6232f2e089701806L,0xc55e80a2894e2577L } },
  47858. /* 40 << 42 */
  47859. { { 0x437b7224641e3bd1L,0x84e39f7980a58460L,0x68e5292709759523L,
  47860. 0x0176a3ace77f5904L,0xde92fb15e151e242L,0x79965c9aeb1438d4L },
  47861. { 0x318a810a596700b9L,0xa8a6ec57c2198cbeL,0xd7709aaabf030fd2L,
  47862. 0xb432023472f5d326L,0xc9945214b03bce50L,0x0bc06d9bd4ecba09L } },
  47863. /* 41 << 42 */
  47864. { { 0x30630eefaadf21b4L,0x94896f68042fb57aL,0xe678fc3eb312e7daL,
  47865. 0x325cd2bc5c94c991L,0xd4eece20bea4e518L,0x9d9d65e925eab2abL },
  47866. { 0x5439c348676454e8L,0x9eb68953be1e48ccL,0xbeea9da27b625a31L,
  47867. 0xbd82c6ee48cc200eL,0xba9fc94444b9dc77L,0xb31bdebe1eb9283aL } },
  47868. /* 42 << 42 */
  47869. { { 0x1ac1a09d07abf58bL,0x7372e532b5770f9dL,0xe1716687c12fe180L,
  47870. 0xd91f4d36c715009eL,0x5d8885cfd6fe1cd3L,0xc0ab5a13aea65e52L },
  47871. { 0xa5fe05a0838e5e05L,0x590cc325971fb33fL,0x3bd8234a4653bf57L,
  47872. 0xb83300373708c1aaL,0x27453d3b0e84e8fdL,0x9dd3f05399cf918fL } },
  47873. /* 43 << 42 */
  47874. { { 0xaf6f26c3a36468a3L,0xcab875f28d9fc8deL,0x0209b1ad52f4479dL,
  47875. 0xc9941cb5459542cdL,0x91603260a0212b68L,0x98018317345673edL },
  47876. { 0x2b02a35ef98b810fL,0x15953f78b714fb32L,0xf9f9c61eb71a4b4aL,
  47877. 0x959b1473a8505b7aL,0x331d32cb4c6ec97cL,0xb1d2dd44e49f189aL } },
  47878. /* 44 << 42 */
  47879. { { 0xdfb0508345c0a2acL,0xd13790035eacfb2fL,0xe9872d766a2e126cL,
  47880. 0xd2a89cbd39a02d27L,0xf45baf72d754b7c2L,0x37985ef8c6c61bafL },
  47881. { 0xbbcd3ef2da1c46b1L,0x5af5dda43a355d83L,0x9f7ce4281d67a984L,
  47882. 0xf19526926fa33654L,0x2abccb55567b3b71L,0x1b3704f3300cf29fL } },
  47883. /* 45 << 42 */
  47884. { { 0x9dcfaf21712af69cL,0x26de8fb05291cd70L,0xc778294742072171L,
  47885. 0x889b9fbc8c617e24L,0x5971e60cc2926862L,0xdd8e70bddc022533L },
  47886. { 0xc783e1e30a369db0L,0x37f562ab07b2bb92L,0x5043f3d40c060f44L,
  47887. 0xa9650f47a3e17ac4L,0x3b8cd7ad18010ceaL,0xeed5de39969849e7L } },
  47888. /* 46 << 42 */
  47889. { { 0xf93c3ccb6044ade6L,0xd14a13f8fd376746L,0x1fc20e6fd718a98eL,
  47890. 0x9f63c6673e31573eL,0xe99b7693a8e0c66cL,0xdad4615c1e5b5f5dL },
  47891. { 0xcbdb7200ac98f5a3L,0x31414469668ab045L,0x82e92df9bacf0ac7L,
  47892. 0xa61f4e8371bfdf94L,0xce8cb699d1bc5deeL,0x42da8ac72f2f837cL } },
  47893. /* 47 << 42 */
  47894. { { 0x0b6252fc32a4e8a0L,0xac1e457dd7170402L,0x76faaffeb121e40fL,
  47895. 0xd2dc3cb84ddebd9aL,0x303e47cf362348a1L,0xe37e824a829d9806L },
  47896. { 0x419cc2cc7c2ec135L,0x3eab37024cecfdceL,0xf0c9f19088403d18L,
  47897. 0x73c8984daf61b6a3L,0xa2d44d9e00c232a1L,0x61fdf4883cf1cecdL } },
  47898. /* 48 << 42 */
  47899. { { 0xa1972c2196fffb94L,0xbe04093099d7633bL,0xb116ff407e23d66eL,
  47900. 0xcb12b2bb949a19f1L,0x75df10ee79e49e91L,0xa3bf90764890bcf4L },
  47901. { 0xcbaa76a609a30252L,0x17c224a90ee5728eL,0xcbc56e5cf4f3f4cbL,
  47902. 0x8a07110f4fe868a5L,0x23289f2125e110a2L,0x0289c12bd7693c45L } },
  47903. /* 49 << 42 */
  47904. { { 0x4a9c6f8bea96a0f4L,0x78262a3499e3aaa3L,0x513a8e2028b2634bL,
  47905. 0x5ba40287d85d74b0L,0x5702d11d440fcbbfL,0x1933c88a0df91fbdL },
  47906. { 0x642247909a0aff2aL,0x85dc2ca13734398cL,0x1009884fd7aa787aL,
  47907. 0xc666a62a0e73f4f5L,0x491bb941cce66210L,0xda8e896bcd173443L } },
  47908. /* 50 << 42 */
  47909. { { 0xdc9b37a7c6e32022L,0x158cd4bb342a148aL,0xd62d371cf06287a0L,
  47910. 0xba027eb6e9fe0a01L,0x8e7c6f5372017d09L,0x13c5d6ce9381d9c7L },
  47911. { 0xbd0bc2d46e32f045L,0x52cf0f2554ab7f2aL,0x2e674e50085643f2L,
  47912. 0x77bc15aef1662819L,0x57f9e3c4f2ebe66eL,0x839aaebadd284956L } },
  47913. /* 51 << 42 */
  47914. { { 0x752bc171ed9d735cL,0x76d96d3419ad5c26L,0x9549ad3e25c1d83aL,
  47915. 0x8f6fed53cd460d20L,0x04504f7c7b619b69L,0x68265559c566f393L },
  47916. { 0x5e39e108804598edL,0xace859b01f4538edL,0x4b8503070c85e5daL,
  47917. 0x9f087821abcd4ecaL,0x126d3850c8d0def4L,0x66971fe5263457b2L } },
  47918. /* 52 << 42 */
  47919. { { 0xa82ac9983a4bc15bL,0x28697435c930e4f1L,0x191ebdb6b0c9cef3L,
  47920. 0xff05f8e875748872L,0x5b86940237343b20L,0xa7bce94beedfe44fL },
  47921. { 0xfc271e2778f4e1fdL,0x652c5a187734db66L,0x108f61c87efc9a9cL,
  47922. 0x01db328970ed1dc1L,0x2bc509afd249f61cL,0x0d2e6b4cfeed393dL } },
  47923. /* 53 << 42 */
  47924. { { 0x691199d77a477295L,0x1f0679a661746b75L,0xf3a51493c9f936d7L,
  47925. 0x1fcb336a445af5f6L,0x9880cdebb94ce08fL,0x784fa04a22a6b57aL },
  47926. { 0xc85fe18caa97c3bbL,0x27294a3baabe9b50L,0x9418a5b7b673c915L,
  47927. 0x686cd97a15dceed5L,0x6d1c9dc70f22ae6aL,0xed88e02dc02212d3L } },
  47928. /* 54 << 42 */
  47929. { { 0xa62c358dcf616234L,0x85402ffad40aae7cL,0x315ce9f151a7614aL,
  47930. 0x6f7e796f5d0c7d7dL,0x73bf57faf3444d22L,0xb5e71e7a224b77c0L },
  47931. { 0x94c40681541ee741L,0x40c97253d6837e1bL,0x1058fe7bb1f1c742L,
  47932. 0x3206256f9b24d65cL,0x0abb12a78169ba8dL,0x01fcdb7beae85db9L } },
  47933. /* 55 << 42 */
  47934. { { 0x868f294309fdbd8aL,0xd9c11e7ebdd6c274L,0x3be4d8e7fdcb4fb7L,
  47935. 0xcd8c40ad17305d10L,0xf12c97642abde5eaL,0xc9e16d8256776e80L },
  47936. { 0x279c0248df05235cL,0x4bdd8b136d8e4b89L,0xab8bbe8d7c47d2c5L,
  47937. 0x12ba8b9e255c665cL,0xd585ce64d140a518L,0x55947e69eb4d353dL } },
  47938. /* 56 << 42 */
  47939. { { 0x06ba6db1f184c91fL,0x3c0a348a45fd0382L,0x0d535b6e4434b527L,
  47940. 0x7bbfa2c8692bae0bL,0x5c59a08ebe7fe51cL,0xbaa7d2be36e80cb8L },
  47941. { 0x8a42d8d1bed3cae8L,0xd9e0bc0d15ff4962L,0xe51fce93644c75ffL,
  47942. 0x40222561b9392d63L,0x8ab1d286023b4787L,0xfa85c220a1b3190dL } },
  47943. /* 57 << 42 */
  47944. { { 0x294845c28ed1d81eL,0xc0402af2dbe7fdbaL,0xbb56d86d67abe6a1L,
  47945. 0x2e61f65b2ed330e4L,0x2893eaebffdf0fd1L,0x06cff97a75fb77dcL },
  47946. { 0x2911ebac1c90fe64L,0xd9c40d77e5ee3458L,0xf5b8b1d4b355f191L,
  47947. 0x5be71a4ef365bc6bL,0xe2db432f5277b244L,0x3272a28327235b87L } },
  47948. /* 58 << 42 */
  47949. { { 0xe5105755e6b16cbfL,0xba9fb47b536a49f0L,0x03ac0c10c75ad751L,
  47950. 0x9090bc328a2d65a0L,0xcecc7202852b3d23L,0xd214f70128f67958L },
  47951. { 0x379899b1f3695cabL,0x8f3d02e9bd3342c2L,0x9870a7f9e24e7bc1L,
  47952. 0x7277e115f723893eL,0x6932ceef0f6f1936L,0xd0bf06dde171306dL } },
  47953. /* 59 << 42 */
  47954. { { 0x815cabeb17832ce7L,0x65afc856a2a4864cL,0x9fe4ae1aa4939a4dL,
  47955. 0x7005cbd90729a3c0L,0x887f0cca791e8ad6L,0x55cad97a85aca45aL },
  47956. { 0x3e89d294493c7dcfL,0xf4ae5277ae8ed154L,0x507a3fd0a08fbcdbL,
  47957. 0x4df3c552f86677fdL,0x6529f9ace3a82131L,0x09efe1fba53a7c67L } },
  47958. /* 60 << 42 */
  47959. { { 0xbbcfa42d21fe8f67L,0x82983012de2be980L,0x88bb9704aa8e17a0L,
  47960. 0x100ad5e784772203L,0x2867168965479d29L,0x0334f9c5c2d9d5d3L },
  47961. { 0x49032c1a83a6cf83L,0xc257b0901dad479aL,0xf64177dea7e3636cL,
  47962. 0xb2b5747874a315abL,0x210b11cda170ccbcL,0x80509b7480d80177L } },
  47963. /* 61 << 42 */
  47964. { { 0xe98ad30696993a74L,0xa7dc8330f0484940L,0xc30319fdd61b83d0L,
  47965. 0x76e2755809873771L,0x33f4f43ecaedda98L,0x68d5ffe3639c8d3eL },
  47966. { 0xe3cf3b850059b2d9L,0x7f3ecb2f6a3d057eL,0xb569c24b9b8b7466L,
  47967. 0xeed92f2ac38ccd58L,0xc16a4e8ce765a2f7L,0xa3a7b6552de9cb38L } },
  47968. /* 62 << 42 */
  47969. { { 0x496de6fa0640df83L,0xa4e500a36c77c97dL,0x45609036947aed3cL,
  47970. 0x0edb9422423fc5d8L,0xd0c01b2e68f70746L,0xae44ae0e6d77f3a3L },
  47971. { 0x7cc7e90635adba9cL,0x107a3b46a8413303L,0x9e3eeab98916817eL,
  47972. 0x1a99dab86fb74601L,0xb4e8466c1064b039L,0x249149146fcbadeeL } },
  47973. /* 63 << 42 */
  47974. { { 0x89643fa624798452L,0x179b3bd76ee52833L,0x343096e54430c6b3L,
  47975. 0x589dba3323461536L,0x59073225c3433575L,0x540f9ce317d80d42L },
  47976. { 0xcd04b14d3aea6c82L,0x9be179b0efc9f455L,0x0ad6fb0791e57cbaL,
  47977. 0x33894fa262706b10L,0x2cbc270886bf6926L,0x2cf067e64ea48c6bL } },
  47978. /* 64 << 42 */
  47979. { { 0x298647532b0c535bL,0x90dd695370506296L,0x038cd6b4216ab9acL,
  47980. 0x3df9b7b7be12d76aL,0x13f4d9785f347bdbL,0x222c5c9c13e94489L },
  47981. { 0x5f8e796f2680dc64L,0x120e7cb758352417L,0x254b5d8ad10740b8L,
  47982. 0xc38b8efb5337dee6L,0xf688c2e194f02247L,0x7b5c75f36c25bc4cL } },
  47983. /* 0 << 49 */
  47984. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  47985. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  47986. /* 1 << 49 */
  47987. { { 0x36c9dbbefda8520eL,0x573507ce6ae3ea98L,0x1ab38db696a8f9f1L,
  47988. 0xe031d2356b01e6bcL,0x10466ae68afc4adaL,0x3b35df41ed9c44e4L },
  47989. { 0x61272c12c7bd99e8L,0x6a4ae7b4805afd79L,0xf4c47a910ecc49ebL,
  47990. 0xeb95dfeccbe84d5cL,0x43f3b71c8ee497d7L,0x2547af524c6fece4L } },
  47991. /* 2 << 49 */
  47992. { { 0xe323ed0cced45039L,0x04ce0b67a90aa713L,0x9c092f06e8d68e4eL,
  47993. 0xd8f5555ad0742e5dL,0xe2d175bf00d3df92L,0x8ca55f154f71aeabL },
  47994. { 0xd1762d72642d391dL,0x0dfdd3c2aec466bdL,0x2caacb4c6281f2a7L,
  47995. 0x635ba4703603e53aL,0x94a9811d49fecf29L,0x3a42cf09466bf361L } },
  47996. /* 3 << 49 */
  47997. { { 0xe63fbb10b5356889L,0x5995a0a92e73aba2L,0x5cea30677afd4bf7L,
  47998. 0x4494e39dfd37120dL,0x8c572c7249d718a7L,0xfe159c275fa305fbL },
  47999. { 0x751c217fc276c40fL,0x44d0643c45e40857L,0x9a996e6efe7a6486L,
  48000. 0x1a4f6d10f53b0e47L,0x651390ecd15fd593L,0xe0c1181d739ee9eeL } },
  48001. /* 4 << 49 */
  48002. { { 0x0f05710b11bccf2fL,0x7113085a7aec1bc6L,0x137da67a46b8d0e2L,
  48003. 0x454b89fc698b78ccL,0xf2a6e1de258a9393L,0x5f1804e716488e69L },
  48004. { 0x7c6c550215b3bf35L,0x3b0e09a5b05c2ec1L,0x4b9de30e92f15247L,
  48005. 0x09d4ca9327e70a0aL,0x9c8b16340d149363L,0x54a8287cce642137L } },
  48006. /* 5 << 49 */
  48007. { { 0x3a05e7d5ca2af43fL,0x068953f975009801L,0xd6c8a76c06740141L,
  48008. 0x7e1df1038a831fa9L,0xfe06e2bae39046f3L,0xda5264a0e1807c29L },
  48009. { 0x1be4ffedff5d4808L,0x299d6537c52be83cL,0x1b38adba11834a9cL,
  48010. 0x6074a60b1248fd42L,0xd9a0bd2e041b5430L,0xf222ba84a7b76b03L } },
  48011. /* 6 << 49 */
  48012. { { 0x49ecd6f3346a764eL,0xe46847f14105e657L,0xce9cb2b57550f608L,
  48013. 0x45f1a1f7f4cf062eL,0xcdb19a112c27d38aL,0x36d375b284e50b19L },
  48014. { 0xf43691540dba6405L,0x4c9dc863040354dcL,0x7229e70ea24d09cfL,
  48015. 0xe72aa86c7cf6831bL,0x487fb68425392838L,0xe88bed04430b9b47L } },
  48016. /* 7 << 49 */
  48017. { { 0x9f77b8c5d1164788L,0x45bcd4c1d7b5c5dcL,0xed22ecf3d88c2357L,
  48018. 0x330272ad07de1cf8L,0xd9749f7f4ca13a48L,0x4964ce5d1383ce08L },
  48019. { 0xc033d516b0d0dbb3L,0x056ae73bf51943c3L,0x495cf7e057105e88L,
  48020. 0x08ced52e56462560L,0xe9578aa713ca1a7dL,0xe9b045c5a9717f7eL } },
  48021. /* 8 << 49 */
  48022. { { 0xf8a8499b666fa8a8L,0xd0f9401571bba84aL,0xb85e1b1d515e1328L,
  48023. 0x88a2636ba941e788L,0xa045241d2b5dd8d8L,0x161be476332f0350L },
  48024. { 0x96c4b205a18fac6bL,0x5cbe8d5e73fc5337L,0x6fc33fc6d00b6029L,
  48025. 0x07a914ee89aa3b79L,0x35353eb7a4d4dd00L,0xc026bdc0673e8956L } },
  48026. /* 9 << 49 */
  48027. { { 0x1e551f9bce0b6f8cL,0x1fe7ea4618495e1dL,0x3f6f28742dc0e878L,
  48028. 0xb778c12844c43f20L,0xbddc28eb8a250230L,0xd8571a4aac6c3d17L },
  48029. { 0xb9dcaec9730c8a1eL,0x512cee9993fbcf87L,0x0df3a1379bafe001L,
  48030. 0x8530e501e2a2b9bbL,0x6d38ba8995ebf91fL,0x704b81a7792cef7aL } },
  48031. /* 10 << 49 */
  48032. { { 0xccda372167103852L,0xf78d22470c54de53L,0xebd16036afa44aa5L,
  48033. 0x7b88024864a24ab9L,0x86b38e961c2bc78eL,0xd0aa0d058d63b295L },
  48034. { 0x24912955c62fcbf1L,0x77a68156b9ac435cL,0x432401c71b360b26L,
  48035. 0x091f19f34c58ef8cL,0x3a4a61f483d46c9dL,0xad0e5c72e8d616cdL } },
  48036. /* 11 << 49 */
  48037. { { 0x668d598ad1666826L,0x6ffed334fba0ba63L,0xe71e3359d7cddc30L,
  48038. 0xa9c15c2d9fb9998eL,0x6966d350612230b9L,0xbca3ed23ae4fe0edL },
  48039. { 0x537cac1b3caa3edfL,0x4f4a737ef33c180cL,0xf8d8f796f8807a7bL,
  48040. 0x5c7cf072d1aab3e2L,0x7f0ccb9dfff736e4L,0x71bf0732ef11266aL } },
  48041. /* 12 << 49 */
  48042. { { 0x33b029bccdaa6831L,0x2548552d4c1f9cedL,0x35f1a002dece1c8cL,
  48043. 0xc6b87fd7acc23aa5L,0x0b8bb275bab029a4L,0xf07bc06730bfb42dL },
  48044. { 0x1688ff5d1f69ce9dL,0xeedb7b5edb10585eL,0xb7a88cf0d432c197L,
  48045. 0x20731bdd015a350aL,0x5fa1835463223f5cL,0xe392e1318024693fL } },
  48046. /* 13 << 49 */
  48047. { { 0x61ada737c3449cb3L,0x071062504ca876ffL,0xcd98a39001d1403eL,
  48048. 0x197c845096ded881L,0xd060160568cacebbL,0x7e1b37d1dc3ddff4L },
  48049. { 0xfdc1bcb5d1725e92L,0x11cbe941bf0856d2L,0x63fd35d050199657L,
  48050. 0x208a1047b9790d10L,0x52790ce61af4301dL,0x75e6d83beff28b69L } },
  48051. /* 14 << 49 */
  48052. { { 0xdfaeea0a0154731eL,0x9e53419de15a0388L,0x2ad6a83c25a992c8L,
  48053. 0xa2ba020fe125501aL,0x894ebaf8d4dd04dcL,0xd48cb95850765559L },
  48054. { 0xf9b58d0980dec92bL,0x2a0e11659da299d7L,0x3c081853efe9cb11L,
  48055. 0xb9f3b702a511c5e0L,0xa8f7a25f70486180L,0xc0358b25591b3e2fL } },
  48056. /* 15 << 49 */
  48057. { { 0x00333fa6fa806947L,0x7e4dcfb3504b3e19L,0x8326b0acad4a5dfdL,
  48058. 0x9ffc65eac7b12e49L,0xed3b7c0258d16eeeL,0x79fccfb434a4222eL },
  48059. { 0x4a8070a0e556357fL,0x554fe2c9ec97769eL,0xcc405a57da691714L,
  48060. 0x12927897856f590eL,0xd4805b93ba198dcbL,0x2649be2e4b18444bL } },
  48061. /* 16 << 49 */
  48062. { { 0xf36e8398eaddf274L,0xe41553a16a5e4ddbL,0x36ab07464efc5b0cL,
  48063. 0xb211e59ad316c434L,0x2515ec9f16ccf839L,0x6ecb746503dc6a07L },
  48064. { 0x842b7275c65c1b07L,0xf7ceeec535750ab6L,0x967d711ccef5255dL,
  48065. 0xcd3bfb075108cb92L,0xe50c0d8aec1b9740L,0x9e8d56611a9e6308L } },
  48066. /* 17 << 49 */
  48067. { { 0xfcb12ba3aae18c46L,0xb55e959c6e21d463L,0xf720d19f4a4f6f21L,
  48068. 0x1c2ff60ed4320c5fL,0x4ce5e1ac1a1b40b8L,0xfdebfb81ff6fb9a0L },
  48069. { 0xd6c37d8a9c67c07eL,0x55167952012fc09fL,0x5dc722b52c306c4dL,
  48070. 0x1efad8d2bc1f65e1L,0xa1478f3da52556ecL,0x54cbfb884a795dd5L } },
  48071. /* 18 << 49 */
  48072. { { 0x84f8ea13ccb8a36aL,0x5f7aeeffa05709a2L,0x4942d04e60574f37L,
  48073. 0x855b13e9e048b400L,0x747e4067a6b59c09L,0xc349fb05074d3990L },
  48074. { 0x398e6afaec2c7e03L,0xce361865ec2d5a4cL,0xfc04bf8eb6f57d22L,
  48075. 0xf0e0b84c759ce6c6L,0xb65141235ee7e528L,0x8ca144bdf5c0f9b9L } },
  48076. /* 19 << 49 */
  48077. { { 0x5868449bc6e0124eL,0xdd65ffc1e68ad5eaL,0xe126665f4f577466L,
  48078. 0x8ade5cee2defe8deL,0x7c1cf7f07beddf87L,0x0e0e066a362c5956L },
  48079. { 0xac2aff4e15563b47L,0xa28ab875620d1299L,0x91f67b3fd8caa497L,
  48080. 0x91bef53394fc08a3L,0x0fa27d9cd99918f5L,0x205b6c1f60b67bd9L } },
  48081. /* 20 << 49 */
  48082. { { 0xc1370daef6a58536L,0x6f2e5b37c56b0ae9L,0x5511d68292f6b6a3L,
  48083. 0x2e9e5034ae575249L,0x3e5a32f81d14bed7L,0xa346a86f75efd17aL },
  48084. { 0x4f2510a60309fd7aL,0x689ecd74d0b1425eL,0x9e9bebe19f771e24L,
  48085. 0x20188045adc5b48cL,0xe49811b6b845230bL,0x420855ec5a8687f8L } },
  48086. /* 21 << 49 */
  48087. { { 0x705a9ab30aa1a423L,0xcb01466fb49830c4L,0x1db1768581a75897L,
  48088. 0xcaacb855e341f157L,0x9b13cd497a0d3c38L,0x119b4d47e177fcb3L },
  48089. { 0x0d8f7c2639788712L,0xbda0f3180642bd4aL,0xdd4bd88bd4616239L,
  48090. 0x9a3ecf978df1b895L,0xd0d54caf4a6dc07fL,0xa7ed6bfb31810203L } },
  48091. /* 22 << 49 */
  48092. { { 0xe650e49abae1b94dL,0xb6b162e6e3199794L,0xdc706859b4ec0480L,
  48093. 0x28b618c24b1a06caL,0x0929a001403acdc2L,0x796dfd972da3aefdL },
  48094. { 0x16389072ef4c1673L,0x600d8bd7fc94a4f5L,0xf003214de5f386a9L,
  48095. 0xa7af0499e62cbb48L,0x750a3b00de82bad5L,0x6c615b838e7dc8eeL } },
  48096. /* 23 << 49 */
  48097. { { 0xe1916cb4eae432e5L,0x81f3e48acc193889L,0x54d58685ba922a4fL,
  48098. 0xeffcc528bf11b76bL,0x2f70d38f8171c971L,0x547ce8ccb3a5669aL },
  48099. { 0x3acd91b878e6d0beL,0x372dbf2c689c2913L,0x9fceb5bbd0aae543L,
  48100. 0xc601f9622830a977L,0xd55e74509f874dffL,0x77ff8ab4822878caL } },
  48101. /* 24 << 49 */
  48102. { { 0x283eec26d71543a6L,0x98fa08bea7627841L,0x269a83b827ad302dL,
  48103. 0x225f2f12bde3fdd0L,0x046fcf380130b3a6L,0xea733c1ac3ed9043L },
  48104. { 0xf870f14d70aa08d1L,0x643d18b834391e0bL,0xf3e1d5f4847be772L,
  48105. 0xa9498223d0ed73a0L,0x6933ccf014b3babbL,0xc2439ae437f08f70L } },
  48106. /* 25 << 49 */
  48107. { { 0x503414d0f2cb5475L,0x51b9497cb24cbf9eL,0x57359dee2f4c7746L,
  48108. 0xee7125c3f3118a94L,0x2f0db706e4ea33d6L,0x885e8c3eddff7f63L },
  48109. { 0x752f594b628432f0L,0xcfadea7779852e2bL,0x4f733b8ba2ba4b7fL,
  48110. 0x163c8c2e530f763eL,0xf95a7b57ff05a7e9L,0xd4768d242d7be01fL } },
  48111. /* 26 << 49 */
  48112. { { 0xb643f4e0f88d049bL,0x5e0ac1fb12682fcfL,0xeaf7874d9f981c8fL,
  48113. 0x9c2adfd2b1af779dL,0x9a7abeaddaa8c275L,0x09ad552124cacec4L },
  48114. { 0x069cd5c40ead1646L,0x5186bf190a6157d1L,0xcc222a9396503506L,
  48115. 0xfeaa7bdebd29686eL,0xb0d65b0da7257c8dL,0xc31c0a8898aa227fL } },
  48116. /* 27 << 49 */
  48117. { { 0x5495f21c9fe88a48L,0x01f580ac590c1966L,0x1ad433ba39810166L,
  48118. 0xecbc67003a5187f6L,0x38d36c3bd4216887L,0x49653585e27b615cL },
  48119. { 0x2a70a1d9e773db7eL,0xe36d967a63c1c048L,0x51cba60d26d15862L,
  48120. 0xb633839fd5a6b746L,0xa6a756a2ec1fc364L,0x37fef8d24cfccb6fL } },
  48121. /* 28 << 49 */
  48122. { { 0xb4b7651f5be1d45bL,0x0425200a7f0cf680L,0x200d12b48960be95L,
  48123. 0x02fdd1a14945b193L,0xedd70e3e27d046d8L,0xc1cc086a83f14e12L },
  48124. { 0x1580e72b2629396eL,0xc87439dbf9ed73c1L,0x5debdf30a90c5128L,
  48125. 0x0b6c020e9fbe14efL,0x168da56a0149a0b0L,0xc66a4dbd79c58ac6L } },
  48126. /* 29 << 49 */
  48127. { { 0x6ecd9c41596b8890L,0xd25172fe210d9613L,0x1ce8abf872b97aa5L,
  48128. 0x355899d610faa675L,0x003b69adf4ddf011L,0x6736cd40ec2d1af9L },
  48129. { 0x8069a0ad4f85ac72L,0x5c31d68b5836cfd3L,0x8e9486eaa5ec1473L,
  48130. 0x8e175c4a1468cebdL,0x58b3d2b1ffaf2f77L,0x4fd21681a17a3e00L } },
  48131. /* 30 << 49 */
  48132. { { 0x800aec84330b8e2eL,0x1a2c033e335837bfL,0xf1a91551fe6f6dd9L,
  48133. 0x326c42b21de7360aL,0x300e740b7b66f9d5L,0x53bcc70068ce95d4L },
  48134. { 0xc9e225ac3d80f228L,0x64b2ad4e6977dfdbL,0xac863b0801f23221L,
  48135. 0x0517a648df11e5f7L,0xbf7aedcb68d11050L,0x2607e33777b3029cL } },
  48136. /* 31 << 49 */
  48137. { { 0xcb1955e44f4706b2L,0x0821d4663acaed1fL,0xbe822db07f8b43deL,
  48138. 0x3d11573f9b1c83a1L,0x6c052118201eab83L,0x294c5060dfe340d7L },
  48139. { 0x994a4bde0644005bL,0xf1519f3258fa0552L,0x9077bf5bd4d0d39bL,
  48140. 0xebde1ff0e6204ea0L,0x58a68e09829130a7L,0xda64eb8596961bb6L } },
  48141. /* 32 << 49 */
  48142. { { 0x1afa6aa6206add5dL,0x66cfbbae150ea4c9L,0x07fb920b5d36da4fL,
  48143. 0x144d51f9291e774fL,0x26c2c134f40d87a8L,0xc8cf3524a932f1a0L },
  48144. { 0x35bb2a425aeb0bdeL,0x5cfcc1dac4be960aL,0x5c40cabfaa1838edL,
  48145. 0xea0c05ffe2855f1fL,0x931ebb02fd525934L,0x31a7b78f16246fd4L } },
  48146. /* 33 << 49 */
  48147. { { 0xbe055fead42b36aeL,0x733a05ed819ddf8eL,0xa00fa0a15c9a6102L,
  48148. 0x0ed363273c0af634L,0x5b5a62b4d5970a32L,0x9d7557dfca954cd8L },
  48149. { 0x30314f0c6daf871bL,0xaa7c42a96267b2abL,0xc5d1f0d6132bc62dL,
  48150. 0x77ac94df7ed26084L,0x0d256fdada34e1f6L,0xf0259d1caa4b4dd6L } },
  48151. /* 34 << 49 */
  48152. { { 0xf576c69e86ccb00bL,0xc870c07f5781803eL,0x91d4c0c6b1869e56L,
  48153. 0x9c2729397d940416L,0xdad33f73c4d0269bL,0xe2baf5b8838c9198L },
  48154. { 0xd8bb9613218414e4L,0x5e9f7b67c980ca07L,0x1e2d4e63165079fbL,
  48155. 0x6ae5b17f983b3fadL,0x1e66b8380c24e22dL,0x80cdaec2136e0be8L } },
  48156. /* 35 << 49 */
  48157. { { 0x98cb12d93fc277f4L,0x81def3ee160b8743L,0xa1f07ebb11711fb6L,
  48158. 0xba17dd15a95b3ba0L,0xb25f1c78bc158f33L,0x1bb83cf27841e8bcL },
  48159. { 0x57ad928abf49233cL,0xc94fd746bdad3f2aL,0xf7c716ae4a4c6600L,
  48160. 0xdd0e3117060a78b4L,0x85e8851a860764b0L,0x3342d974bce0d787L } },
  48161. /* 36 << 49 */
  48162. { { 0x2bc4e37a719793feL,0x1543af2aa68ceea3L,0xc99cb391aabdea45L,
  48163. 0xc890e546f0b8eea7L,0x8b75b91feb4173d7L,0x9d52d04bef46f637L },
  48164. { 0x0929f25d878ff734L,0x7377235fb6c43342L,0x657835cf6eca900cL,
  48165. 0x7b752665098bb5e2L,0x320d09b6b8a61442L,0xec4f8182cf5b8023L } },
  48166. /* 37 << 49 */
  48167. { { 0xfc5f8feffc788160L,0x7d552625f73f48a3L,0x4eea435145c02498L,
  48168. 0xb5f5de5bf8f8af26L,0x78f1c499067b1610L,0x6e0d1b14eac18a29L },
  48169. { 0xf8be2f6c052af916L,0xd8cee5668876af81L,0x99a27ec31577bd90L,
  48170. 0x3ac529d242919f4fL,0x1215428c7fc05dd4L,0x99ef01e450f67e87L } },
  48171. /* 38 << 49 */
  48172. { { 0x145902629d671094L,0x7fef49c166ce858bL,0x2a7ea540c2f21eadL,
  48173. 0x1226b04fc1d5a636L,0x4fb54e4e535efb9bL,0x6c51cdb91d72bed3L },
  48174. { 0x94162e44938efaf6L,0x166013cfaf6f5697L,0xfa9495bddf95f9c6L,
  48175. 0xc05441cb0d7f8406L,0x7e5c89763a233ca6L,0xbc75dc6493fe8e42L } },
  48176. /* 39 << 49 */
  48177. { { 0xe1885cf128ed669eL,0x6e9f40dfb428b3cdL,0x412388a61626f8d0L,
  48178. 0xb8201f047cbcd192L,0x642ecfad70ba644bL,0xd43be1cb43c76bb7L },
  48179. { 0xafafffc388f4bd51L,0x8c40e2787052eea6L,0xc1a84e866a4c8776L,
  48180. 0xf0201f292fe7075dL,0x132f80e4576af421L,0xe0831b7f4731dddbL } },
  48181. /* 40 << 49 */
  48182. { { 0xecfabd2742dbb68aL,0xad43a2c43eb546d1L,0xcf4e64ccfe2691c9L,
  48183. 0xe3889e258347566aL,0x48da354885b8c733L,0xcb7fe0679d9c9f57L },
  48184. { 0x8c26a8d668223280L,0xc1e8ff623065705aL,0x181ca70a3f8db9f8L,
  48185. 0x25aa6450e758213eL,0xa4898f9169b2653eL,0x5e5c9fb4ccd8303aL } },
  48186. /* 41 << 49 */
  48187. { { 0x640b6946b03aa213L,0x6b99e84d00c068f7L,0xed4f1d2d99c5c461L,
  48188. 0xcec88724b20eaffaL,0xdf2b79a95dbbc32cL,0x2f7397054f3a1c5bL },
  48189. { 0x1594a54946eb52edL,0x55f11aad39c4c43eL,0x0fcdb331f46500f2L,
  48190. 0x0d66be885ceb8dbfL,0x4d977349886dbbf1L,0x238f4617797d1b41L } },
  48191. /* 42 << 49 */
  48192. { { 0xfc8c7320721034d4L,0x48b389db60264280L,0xac246988649cbd88L,
  48193. 0xb7f52891a50bb658L,0xc0a812e50a7f279dL,0x6593175967fb2cffL },
  48194. { 0xd31a77c6661ab439L,0xabadcea00ceb4aceL,0x201d98f6a3702dddL,
  48195. 0xcec1e83e7c9463aeL,0xc64e44fbc55e6856L,0x421f3e3148aa0d81L } },
  48196. /* 43 << 49 */
  48197. { { 0x4f0b251871a07c6dL,0xbfe652edaf3a2fbdL,0x5f68dc667bc2053fL,
  48198. 0x445df84f6040a7cdL,0xbdda2132180dc0a9L,0xd8627401d6c7a92fL },
  48199. { 0xba350cb190cd2c73L,0xaf4c1e5929886ab4L,0xee8fdff2d677399cL,
  48200. 0x3ce35c6edaecf83fL,0x44df0a300f114062L,0x1b633b4647f29868L } },
  48201. /* 44 << 49 */
  48202. { { 0x48483f6af58ae2c1L,0x70ba34635e1cce49L,0x5f7a1c6d33907532L,
  48203. 0xa0fab701875a5f3fL,0xf2e8b0ff85d387e1L,0x0076aa68ff349689L },
  48204. { 0x6e392b02747e2fffL,0x5e1ea320e788d577L,0xba705bd7713a0b03L,
  48205. 0x04ef192f2dc2cbc5L,0xa5a14eed38aef8a2L,0xf9682bbe30a268faL } },
  48206. /* 45 << 49 */
  48207. { { 0xc04f2cf540244a00L,0x00c90c3bb8dc0ad2L,0xac5b1060601d76f6L,
  48208. 0xad97c5c1a7ff84ecL,0x7919a06dd2328101L,0x62d5b7a4ca8a69c5L },
  48209. { 0x75607148de5a2cc9L,0x1afff7f79a75fd24L,0xe62efc8083a22367L,
  48210. 0xad08258a10e05e36L,0x22666e06c0e4b549L,0x15f62c613f4c48c2L } },
  48211. /* 46 << 49 */
  48212. { { 0x751affadc7b8da09L,0xc052109dbd8e45d5L,0x7d11aaad87c14560L,
  48213. 0xa0410b2a6b690121L,0xcabad9853e10a103L,0x4d19bd3e785f1bfeL },
  48214. { 0x8f32c6b84b6167a4L,0xb21d4ec297b4f546L,0x2e26df99c008f7c7L,
  48215. 0x63825597eb347720L,0x6a05b375afe39fc8L,0x19790b92131201a3L } },
  48216. /* 47 << 49 */
  48217. { { 0x149347ff7780729eL,0x076b4edc62e2dd48L,0xbf0de9d7cdcec866L,
  48218. 0x9d75deab8fa1e18cL,0x10931716eecb1f4fL,0xa8765dd3a385eb7fL },
  48219. { 0xfd26f39c4d70651cL,0xc501caf48834c723L,0x1d263a83a65e5093L,
  48220. 0x57ee2fb96f709deaL,0xdae3dcc645091321L,0xba0665a906a60a48L } },
  48221. /* 48 << 49 */
  48222. { { 0x517d13b1784d0621L,0x2db4ef27d77b84beL,0x6e2e26866d752aaaL,
  48223. 0x95da9fa1cab02667L,0xbe8d91ad423163c3L,0x8f3d59dba69953c9L },
  48224. { 0xf728b1d2d6e635aeL,0x5c4c177deeea663eL,0x97a900a82e75d9c2L,
  48225. 0x136c6b1e3ad09defL,0x4bab14a6dd8a2be8L,0xa4ee903025cf1447L } },
  48226. /* 49 << 49 */
  48227. { { 0x05f93697a5235c12L,0x434f91026943a0d0L,0x92696b701a4d3169L,
  48228. 0x0a9da44b8c3b1ee5L,0x327f9f79d295521bL,0xf605cb83afd8aa40L },
  48229. { 0xe3bd4ab5d365fb37L,0x6c6a470ce984ea2dL,0x7ad01e6b392af60dL,
  48230. 0xbef2dffd5ff8ee6bL,0x4e56deb722efc2ebL,0x1b90570ae14ff270L } },
  48231. /* 50 << 49 */
  48232. { { 0x70718d8e333cd9e2L,0x858c880c6b03a371L,0x5b7f69a5926a3dd4L,
  48233. 0xedbed135572f420fL,0x740a21e6332aaa09L,0x665aff63fecf1e3dL },
  48234. { 0xd884a3c1214490e9L,0xed70c29a63cdab1fL,0xc92dfa58786e274bL,
  48235. 0xa5395591d7fd529dL,0xacdf81ac3b95b61fL,0x07f801df40cb45a0L } },
  48236. /* 51 << 49 */
  48237. { { 0x4f863ad59230d44fL,0xd176d2764a099825L,0x4a6868745a43a7d8L,
  48238. 0xbcab3548fff3e8dfL,0x15028cfccab2c7e6L,0xad077a8874a91fb2L },
  48239. { 0x015700d39eee3e32L,0x524ef9c7386e489aL,0x3be1771b60285f8bL,
  48240. 0xe4a5353cf9c33beeL,0x0aa0f2ab244ad683L,0x04e846f98a4c0ed6L } },
  48241. /* 52 << 49 */
  48242. { { 0x326a204790f55f13L,0x194d24db53017b29L,0xa26db785cd4368c3L,
  48243. 0xd58943e8238d7518L,0x8e06f8cc3527387eL,0xebc6dc9e071846d4L },
  48244. { 0xbfc08dccc541e098L,0x3dcf0713e4fbc9a4L,0x44e9ba7869fedb43L,
  48245. 0xd867cf784fa012a0L,0xc618b2b88733ddf2L,0x4149fd48a737fd5cL } },
  48246. /* 53 << 49 */
  48247. { { 0x5c4c2183179b1928L,0xc54d315d0439876cL,0x07d22792f7495bceL,
  48248. 0xd378185e3bc32c4aL,0x8539aab65b31c5c9L,0xc72b1ac640dffb35L },
  48249. { 0x46bb918a2e8d6ae2L,0x102c49f9e8a1d7a1L,0x7c622793cd2764d3L,
  48250. 0x5bbc6f023c7aafcaL,0xa41f383bcff71b4dL,0xc8a0e1a9aa99bf83L } },
  48251. /* 54 << 49 */
  48252. { { 0x323aad4991d6b8f3L,0x91b678c0f3d9154eL,0xc141e2424ce74f67L,
  48253. 0xb7c38aef65659ca0L,0x5b5f89b174a937e1L,0x739fad71abc55012L },
  48254. { 0x315ed44ccee5f4fbL,0xb0731455360a61eaL,0x39235ff0ee93ce5aL,
  48255. 0x6352556fd203baf9L,0x3c22dc6a0ea06b93L,0x195638cb591bbfa0L } },
  48256. /* 55 << 49 */
  48257. { { 0x8bd5a15359ad0688L,0x827e82d8a7323070L,0x9ea55b3af70686e5L,
  48258. 0x511c8c3f34c2d054L,0x9364d28aa14a3c61L,0xc4dff9c461374139L },
  48259. { 0x947c3ec9a39c01c0L,0xead11d42108440bbL,0xcc6d893569677f79L,
  48260. 0xb1d632710b9b4823L,0x2cec325e63b154e0L,0x45e97c3814a85b9cL } },
  48261. /* 56 << 49 */
  48262. { { 0x11b59f3e92acd14cL,0x188c1bb1d7aea098L,0x5cadf0a19365958fL,
  48263. 0x8fef04fcca0b1b0eL,0xbcb4d9fb0c274a5eL,0xe97eb41cba78427eL },
  48264. { 0xc49f0bc55cf06378L,0x2681f12a281b669dL,0x200e9e583f796b81L,
  48265. 0x5bbea92b17964262L,0x86b3c15756db0039L,0xe4477c5eead482baL } },
  48266. /* 57 << 49 */
  48267. { { 0x1340e22c050fc1faL,0xd5cc5445bd062615L,0x03ad31601f494b03L,
  48268. 0x612919142af1b95eL,0xdb31a06d53705ac5L,0xf590433ad07ae464L },
  48269. { 0xed52363421bbbd72L,0x1f032ad2f1cc7842L,0x212b1d5536a7164aL,
  48270. 0xc2cedab7dd973183L,0x29aeeee05e74ada3L,0x579984d8bb666836L } },
  48271. /* 58 << 49 */
  48272. { { 0xbbe5db83e13d34d3L,0xbae5ae959a8a3344L,0x55d2f0ac797d6e35L,
  48273. 0x75e78c017cd0abb0L,0xb757f72cbad96294L,0xe52493895d556f25L },
  48274. { 0xc02293538e7675dbL,0xc363c5255c8beec5L,0x7ac23c0b7c87ee00L,
  48275. 0x9c5f22b4a7de93f8L,0xc6f0ea64d9644b5fL,0x3fa718d4d161f87eL } },
  48276. /* 59 << 49 */
  48277. { { 0xe8496c463f356cf8L,0x25b5b8742da1b81cL,0xa35ec06330efa9c9L,
  48278. 0x7497d85ffdaeb348L,0x312ad677e83f49d7L,0xcb5c346cfe8aece3L },
  48279. { 0x19d7332d61cd4ebcL,0xb03dece0d0967141L,0x47dcb81af5455addL,
  48280. 0xbef0e70389ca68d4L,0xf7abbeb9c987400fL,0xbda81c65a1521da1L } },
  48281. /* 60 << 49 */
  48282. { { 0x535f3e4b86882341L,0x5af1c6322e22600fL,0x0403b6e0584a13abL,
  48283. 0xa64de86661f59ce9L,0xd22106f738501b92L,0x2932f808ab6ffd04L },
  48284. { 0x8da4cc6e232967f2L,0x4b8fdd9ef3644670L,0xe8cb6ef31e0c51bcL,
  48285. 0x20b7b734230c6897L,0x5009176453d9339aL,0x5f5c8c67ca637277L } },
  48286. /* 61 << 49 */
  48287. { { 0x23e333d467232358L,0x3c2807bdea037380L,0x9439cc4626f1dc2fL,
  48288. 0x8c87dde53ac29173L,0x601b7245766897a1L,0x9e0b1a4559350e3cL },
  48289. { 0x0818b6cb301db407L,0xbdc4584676b6fbf3L,0xeeca553431bdd954L,
  48290. 0x1dfabc033f9be3bfL,0xdf0415dc68851bd8L,0x33be32a67aa9dfa8L } },
  48291. /* 62 << 49 */
  48292. { { 0x8c9017dd4b4e4b5eL,0x02f435dd7b892b2eL,0xe9af9efd292e0f2dL,
  48293. 0xa32124c75c4d315dL,0x5c6fde76b31a390dL,0xf1fdcefaa6e46d3eL },
  48294. { 0x5f39dbfe9e9e84b6L,0x574d647d19aab6b7L,0xd5a234cdad1a2987L,
  48295. 0xeab841c7dab59c81L,0x5155898db3137b90L,0xc52e9ddd06db2fd0L } },
  48296. /* 63 << 49 */
  48297. { { 0x8617f0d490660ff7L,0x00d73d108b35743eL,0x433e42d68a6ca67eL,
  48298. 0x575ecb9beab5cff6L,0x4c64bcddf258960aL,0xb8ffb7f32c23405dL },
  48299. { 0xa98c06691261b0c7L,0xf2701f4a6b9bf7c6L,0x3abe44c41c68efc3L,
  48300. 0xdb5ac9cbf12c7a25L,0xf5b4616651120981L,0xf8058f7074d518f3L } },
  48301. /* 64 << 49 */
  48302. { { 0xcd92906c6d6ae962L,0x628356159807d881L,0x0d6929781fdc1915L,
  48303. 0x45d01a8c269d611eL,0xe7bd1e709665b00aL,0x086385349bcaa388L },
  48304. { 0x8f189e882dd24299L,0x5f643392b82fb270L,0xca65bf16c633b111L,
  48305. 0xc6adc9c9d6f1dac8L,0x0df2c293a3c3381dL,0xdd6ae97d8388cd12L } },
  48306. /* 0 << 56 */
  48307. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  48308. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  48309. /* 1 << 56 */
  48310. { { 0xffdbd0eb3863db02L,0x8b8256832f57e10fL,0xc11acead35e7a3a2L,
  48311. 0x4998cf8c67833028L,0x8f3a346b844c7976L,0x0a9d872cdb9b1a1cL },
  48312. { 0x8735dabcb98d445dL,0x93790d80305fa0a9L,0x7c0add49d267a01aL,
  48313. 0x2b46c913ffa20d11L,0xf2acef26d8ab2d4aL,0x71b701b93d926080L } },
  48314. /* 2 << 56 */
  48315. { { 0xe9d2a98a5133de8eL,0x37083b60b81b8b00L,0xf399325dceaf86aeL,
  48316. 0x03b17c888f161525L,0xd8ac35c984211b9dL,0x220837849050ca48L },
  48317. { 0xa818c44bc9fab832L,0x8882bccee5aea7daL,0x633aaf35f8715b04L,
  48318. 0x5463e1b99d8829a9L,0xb18df52d84a820f1L,0x9d5ef891d096675dL } },
  48319. /* 3 << 56 */
  48320. { { 0xd54e2c7cac60496dL,0xc06d5e5d04cd50a4L,0xcb4105e8e60f7f59L,
  48321. 0x705db308427483adL,0xf73ba98bf2bff383L,0xa945611a0220e6e9L },
  48322. { 0xc01c46b8d957e12bL,0x458897b7acb1f371L,0xf738dc0bfa3403e6L,
  48323. 0x098bc687d2202896L,0xec0c217a5f882e5eL,0x8f25af77a1f4eb13L } },
  48324. /* 4 << 56 */
  48325. { { 0x2615c78259ee4124L,0x4dc2824c76532b4bL,0x9c3b1d771c84a04bL,
  48326. 0xb6fc203fcb9f9e34L,0xbed65464c64f7846L,0x04f520a2eb004248L },
  48327. { 0x5c0177274a58fd22L,0x25958482c10d9472L,0xb78c6666aceb0e3aL,
  48328. 0x18d3c188fc046f0aL,0x7f3e2f301baa9595L,0xa574f8cd8a2844e8L } },
  48329. /* 5 << 56 */
  48330. { { 0xc899eba381c2d81fL,0xb27267d6f3f0a431L,0x607c8629da55568eL,
  48331. 0x6b5472282b1dc1d9L,0x23232311c9c001ffL,0x207a2eb2488f8b85L },
  48332. { 0x3867ac9adac37a28L,0xa36d14d32584a5f0L,0x7398c647a74488ffL,
  48333. 0xf6ed920fbe087640L,0x72beddc76319a571L,0x55c2cd826a244aebL } },
  48334. /* 6 << 56 */
  48335. { { 0xb7da79c625f8a53bL,0x6b950bdfd331ad8eL,0x3481b7b54aa36d18L,
  48336. 0x6efeaf88ed0e3091L,0xeb017bddc993074cL,0x8431a6d6529dd654L },
  48337. { 0xf5177231bd069585L,0x6d753b103ce85096L,0x194d82d34ca26741L,
  48338. 0xeaeffe15adcd1650L,0x4dcec3d9af7758b7L,0xf5fdf6664cc2c819L } },
  48339. /* 7 << 56 */
  48340. { { 0x94bdc7f4a9810744L,0x464195daf045d859L,0x27e2dab0d654cb57L,
  48341. 0x1d4e1e537a491956L,0xa1ef570c31d5d099L,0x01cd21ee295f3de7L },
  48342. { 0x8681b00db8249038L,0x17c31bce93781b71L,0x4324e90c6a1b5748L,
  48343. 0x44f9324c1222e554L,0xe30ba10fffd53dd0L,0x2e5817a8b48eeef0L } },
  48344. /* 8 << 56 */
  48345. { { 0xa349bb66c8fccaa9L,0x7888755f31a53ee7L,0xa6e1d891c18d3750L,
  48346. 0x9985aa4dae8d2bfbL,0x8baec9ae31b33078L,0xee68295a98750e94L },
  48347. { 0x0d834bf8d6ddf305L,0xab33dff39762126cL,0x0c22faaa0c51d098L,
  48348. 0x32404042b887a10fL,0x31f6a614248bed32L,0x311f86301ce0d662L } },
  48349. /* 9 << 56 */
  48350. { { 0x5c95cf080d844b0dL,0xe09a8352c98650c9L,0xc1b106c5d089058eL,
  48351. 0x2b3cf101eb0c6107L,0x1993fdba3ce6ee18L,0x7234eb6425fc4d24L },
  48352. { 0x8345acfe05f46dfeL,0x07fccf68a2d87d38L,0x14494cea85da7852L,
  48353. 0x8737500acecdd9f1L,0x72b1490ca39068ffL,0xce28271acfa4469aL } },
  48354. /* 10 << 56 */
  48355. { { 0xc872326f55c6c00aL,0x6a5f0fa3f912decaL,0xf4ef0ca5a7d1bdb1L,
  48356. 0x1dee685b37dc6bebL,0xdad4cf52f1b09b88L,0xc7199f0277f1db84L },
  48357. { 0x7099ef00a3f00491L,0xd8fbbbfa6d8804e3L,0x2a00b8e50ae1e360L,
  48358. 0x8a8c9d03fe9be5dfL,0x06e0585b8b1faf6fL,0x19542ee7ae29c502L } },
  48359. /* 11 << 56 */
  48360. { { 0x36cad867e2aa1c5eL,0x7ef21e51317f9078L,0x68efbb84c82e925fL,
  48361. 0x973b36769fe751e0L,0x09c4e0c1177d36a7L,0x9c0b7e048a753c5eL },
  48362. { 0x8414cdab15ccad5cL,0xeea2134ed50c1678L,0xd9c1dae8f6585d5fL,
  48363. 0x82fd04ab4e5c3d96L,0x868cddf7da3812d3L,0x32a65aeafda07e68L } },
  48364. /* 12 << 56 */
  48365. { { 0x73292e6a60720858L,0xe046a79953160855L,0xf74d56c9ed3b94c1L,
  48366. 0x0e371167c67863e1L,0x19b3a9f43f6636cfL,0xe624798d898a25b0L },
  48367. { 0x2ed1fc4dfde2cd6eL,0xd9a7ab519fd15ee5L,0xb6b8d551c487b1cdL,
  48368. 0x9fec705ae8936c54L,0x4b779dde1a50e094L,0xfb5100c2c3a4ef5bL } },
  48369. /* 13 << 56 */
  48370. { { 0xb35a7b102704c525L,0x8a77fa5b44276cbcL,0xb4a9cd235ff1a12cL,
  48371. 0xc74a017c88a37997L,0x84e26eea9af37476L,0x8a6b8c0e7bbf737bL },
  48372. { 0x90ab7c948f05bd3eL,0x31749075464f3a2cL,0x32f7873c1dcfbd25L,
  48373. 0xc0af73d343bc2054L,0x556c4798171d825eL,0x2c84b5b6081542f8L } },
  48374. /* 14 << 56 */
  48375. { { 0xa5907e5c59ab2507L,0x12b86e04cf7df60eL,0x0a14bed18af4bc50L,
  48376. 0x462863b20c11bac5L,0x98dde284126958dcL,0x8877e7695625eb29L },
  48377. { 0x869f7214f4fe19e5L,0x29867e51ec0f8c1aL,0xbf498bc078b85f03L,
  48378. 0x9dda400e8973a94eL,0x8d8b998ae6e51b1aL,0xedb0957c557ac00eL } },
  48379. /* 15 << 56 */
  48380. { { 0x84b6d5143b7d43f2L,0xcb84c823afb7a2b9L,0x892e8c4c56d2b161L,
  48381. 0x52ea7426214fdc0aL,0x07f3d57679763557L,0x9f95fd585a828bb3L },
  48382. { 0x2c7f03d550e14019L,0xab723de7d7eae7b3L,0x4c08189317f4ea6eL,
  48383. 0x64cc5bc0ec367246L,0x73077b5ddf11c3b7L,0xfa34b540e08eb4bbL } },
  48384. /* 16 << 56 */
  48385. { { 0xac6dbdf6edc9ce62L,0xa58f5b440f9c006eL,0x16694de3dc28e1b0L,
  48386. 0x2d039cf2a6647711L,0xa13bbe6fc5b08b4bL,0xe44da93010ebd8ceL },
  48387. { 0xcd47208719649a16L,0xe18f4e44683e5df1L,0xb3f66303929bfa28L,
  48388. 0x7c378e43818249bfL,0x76068c80847f7cd9L,0xee3db6d1987eba16L } },
  48389. /* 17 << 56 */
  48390. { { 0x254ed267050f46f1L,0x36786ff864daa83cL,0xb4a89efc802a3ae6L,
  48391. 0xe0027b3486b77d59L,0xb7147905f48d0de6L,0x00733ca710cf7c60L },
  48392. { 0x87efbe387b3ab776L,0x3db10898de9730f4L,0x61f21e1386b7a40dL,
  48393. 0x5541873648455b6aL,0x0de378f9a88587deL,0x42dead7a766d18f1L } },
  48394. /* 18 << 56 */
  48395. { { 0x42b8ef51e15ad876L,0x498886e5082e110aL,0x3144e8c964edbd73L,
  48396. 0x4b08cf86f79e6724L,0x42d06d53ddfdb6a5L,0x4c9dce336d8b1f33L },
  48397. { 0xbb8913ae4be29e97L,0xe944c922166fdcc4L,0x83913b963c494e9bL,
  48398. 0x529d57ac633a0018L,0x632a7cfd242e7d9cL,0xf0e2434dd9b51d08L } },
  48399. /* 19 << 56 */
  48400. { { 0x74768ab044ff52cdL,0xa590ac7eead09902L,0xdc408c53f52c0f5fL,
  48401. 0x614a22d6f853efbfL,0x61f391c425126427L,0xb61adcfcbf462fbbL },
  48402. { 0x7b753aaaaffdbe78L,0xce12b2247bea939dL,0xca21f73e95baf09bL,
  48403. 0x2a82915e43ca9ebeL,0x67ba04f57936a38cL,0x1c1964f1616b0b87L } },
  48404. /* 20 << 56 */
  48405. { { 0x4dc628c67cb2ec48L,0xc896f99c0cb1e9d2L,0x399ac2e85cc6134bL,
  48406. 0x5ac36de184ba73d0L,0x66a334a3e1803832L,0x394af7ea59b770c1L },
  48407. { 0x3df19e55b46f793eL,0x97aaec84bf770a95L,0xf52068b8f8c54408L,
  48408. 0xb6f7649f49e05f0fL,0x54d8db0583360826L,0x24748fdf71af722fL } },
  48409. /* 21 << 56 */
  48410. { { 0x68f4dd4956c29111L,0x391ac9910dac9352L,0xb0a8a54206dc9d58L,
  48411. 0xb5058ed8fbe70330L,0x8b5e9d4076b593bfL,0x769fb99cd7f2b261L },
  48412. { 0xcdcbb60ec67cce8aL,0xe01a5d5d75da36dfL,0x7e831d0ef7c6e5cbL,
  48413. 0x0f6bf54bccdeef00L,0xed49ad3998ba4d8dL,0x8d512c83614d70c2L } },
  48414. /* 22 << 56 */
  48415. { { 0xc1910b2545b4f6e5L,0x54c6ee8489fb712dL,0x80b6fd47f5747ba2L,
  48416. 0x3d81e7efd6d4f856L,0x8b9e87418031f1bdL,0xc591d451f2327316L },
  48417. { 0x4830d9971e0f1c1fL,0xeabe29bd86e92024L,0x2f2053a1b8c68d7eL,
  48418. 0xff4eb9e879d00ad6L,0xa0c93249f4b4cd89L,0xe127d9d3cb9e0761L } },
  48419. /* 23 << 56 */
  48420. { { 0xeb947df3492d73ebL,0x5474817b0d32c2ddL,0xeb01bef7a9440e93L,
  48421. 0xf604581d8085d1f8L,0xf69daa189f69ec8aL,0xc79ac48e71748716L },
  48422. { 0x5141c75ad4beef28L,0xf7dfaf89901c44a6L,0x7bcbe4812e81ed85L,
  48423. 0x57ed0e6f0c5a4423L,0x7cf189651cec85a5L,0x8ddfe8a5beef12b0L } },
  48424. /* 24 << 56 */
  48425. { { 0x60ee08b46bc0b979L,0xa31cfd961aba7f4eL,0x66c05a6358bedf51L,
  48426. 0x2ae6ec3854df9266L,0xe7dbda332771b08aL,0x44455d312a09fb28L },
  48427. { 0xaaba39171cec98a5L,0x9b2b12258cb543d0L,0xf47a9cd16af6495aL,
  48428. 0xe207f3aac6cd8a16L,0xf98952878ae828b6L,0x37e2475725844053L } },
  48429. /* 25 << 56 */
  48430. { { 0x7c8137d8f93723a2L,0x78fa2e03cf552846L,0x3becd2627d11977eL,
  48431. 0xdbc8e9b34e9a700eL,0xb2c7798d20decdccL,0xecae57179523bb6dL },
  48432. { 0xc0fec0677fa2f633L,0xe270b10702aab6a8L,0xda280b374dcc797bL,
  48433. 0x50a163b86c42945dL,0x4a3fd6bd363e44ceL,0x0aa7e33d38bca4e6L } },
  48434. /* 26 << 56 */
  48435. { { 0x19c7f098a693d0aaL,0xb79d84244bd22a29L,0x19d91d12a9b3c2ebL,
  48436. 0x2ae96bfdde735665L,0x2f9c9a773d8a85bcL,0xa74bdd46cbab80f5L },
  48437. { 0x25a2486cdd9f70f0L,0xada155c9754513d5L,0x8aecd7db4c3e9494L,
  48438. 0x9c3951ad2cf6665eL,0xd35780d44a9ec29eL,0x064983964cfd7821L } },
  48439. /* 27 << 56 */
  48440. { { 0x23407aac0834f890L,0xad7b7b5599bb065fL,0x3254aa7e4ba2b4ccL,
  48441. 0x37f37fd1663f9213L,0x0c72c3111c5a51d4L,0x6e6df84b9989820bL },
  48442. { 0x576a320e1ae2f321L,0xa5fc617c3c62888eL,0xc4f1be4df6c40362L,
  48443. 0x01b21892dbfaa5b3L,0x6fc0442390b9a5e3L,0x22a70c8791495c30L } },
  48444. /* 28 << 56 */
  48445. { { 0x365e1382183aee81L,0xe9f2245275d289c8L,0x543cb5c7b70962e2L,
  48446. 0x853971711cea2e37L,0x8b31cf530adfc82cL,0xf9a458bf3b67c705L },
  48447. { 0x13b1cb3334a9b3a8L,0xa4325b403732f6b5L,0x39e997ba04e9df8eL,
  48448. 0x24c0d6ebf1d542f8L,0x9cb3f1abd82901bbL,0xbbaef37a4cb34763L } },
  48449. /* 29 << 56 */
  48450. { { 0xc4881080b08dd648L,0x21869be8f1fe4e15L,0x63e158b112501ea3L,
  48451. 0x48a909ce32408693L,0x77fd2cf062b24495L,0xf7d1e134db9322a5L },
  48452. { 0x4c02c8bcbdb19eedL,0xe03cd00e8a20b335L,0xe04271c530632562L,
  48453. 0x549e5dba603e1681L,0xf01b38f95503b61fL,0x244c81920b3fb785L } },
  48454. /* 30 << 56 */
  48455. { { 0xb423030c4b0c7247L,0x242d409f149f8cbcL,0x6094885e9c1f518eL,
  48456. 0x6d299dffe04d97ebL,0x152d05bb09903069L,0xf5656895fe235dddL },
  48457. { 0x801e7f736b22ac0eL,0x73aa6df46ba6dc97L,0xba498bc0d66e5d8cL,
  48458. 0x8054e17d36b8c78eL,0x241bd2e21137fdf1L,0x8e79a943b97dec15L } },
  48459. /* 31 << 56 */
  48460. { { 0x94e617abeb64269eL,0x39aef936b410ae02L,0xdbb744c325fcc976L,
  48461. 0x5072bfab38a5b366L,0x3998aefea3f5d715L,0x0bdbf555a74e281dL },
  48462. { 0x50d2feece24dd239L,0x835925ef46324c5cL,0x53c4eece7a4dad08L,
  48463. 0x340fef207c358d83L,0x9e2189da30f04396L,0x2bc748d727e322cfL } },
  48464. /* 32 << 56 */
  48465. { { 0x1238e097ae658422L,0xb4631ddb568df55fL,0x451254e7f74c5c50L,
  48466. 0x238b16d28805813bL,0x23987b28925e7a6eL,0x93b72e2d2a1a10bcL },
  48467. { 0x944c784d05e44b7fL,0x7d70fd098c8e3120L,0x6bf1ab2aead45716L,
  48468. 0xd5f8f0e631c04205L,0xac062526a10b8881L,0xa1a83cf0fe5505a8L } },
  48469. /* 33 << 56 */
  48470. { { 0xe1e05ff89ea47326L,0x88219a1ffbfc7f61L,0x9cbd0b387dcd3008L,
  48471. 0x751d03847671a68eL,0xd73ed70d28e0387fL,0xf66f9cfea9485256L },
  48472. { 0xac68aae1ae153e0cL,0x92eb6542e81b1282L,0x9617d45464541adfL,
  48473. 0x81b4d94a9d489e95L,0xafd5cd4620f31ba0L,0x35700392e5a38941L } },
  48474. /* 34 << 56 */
  48475. { { 0x52296be3b71ea9c4L,0x82b05a43424cadf9L,0xb6d329e8842699e3L,
  48476. 0x9dfb91bf9370f2c1L,0x0188b738994ecc71L,0xa9a7b03b5ce8b100L },
  48477. { 0x99198b2a25c33035L,0x772795a7e21895d5L,0x37dafa4c42173e01L,
  48478. 0xd37f03933ab27d91L,0xf3500a7d2afad1f3L,0xa433b5fd87eac06eL } },
  48479. /* 35 << 56 */
  48480. { { 0xdc193cb5243a97bfL,0xe367f27ff5715184L,0xc4bb95c6fd9120c6L,
  48481. 0xd2bd176bbc5f7ba2L,0xf2c0f86de966c1deL,0xc69ab26e811e70cfL },
  48482. { 0x95756460e87c55f0L,0x6b62ab136a59c832L,0x6e971c6c128448a0L,
  48483. 0xca72482e91ea44a3L,0x2602d4795dca0f8bL,0x8dadd3e25519433bL } },
  48484. /* 36 << 56 */
  48485. { { 0xfe0553be23246f68L,0xccc1d774d8ad4128L,0xbec668d8cc155edaL,
  48486. 0x7a80e9b44231506cL,0x579cb5f42aa1740aL,0x3a61b84fd8b35a2bL },
  48487. { 0x0478c05ba3b519f8L,0xf518ac09acfe39aeL,0xabc15e9076c956e6L,
  48488. 0xff35db67dd55d268L,0xbe066679bdbba89fL,0xf7385df12062b845L } },
  48489. /* 37 << 56 */
  48490. { { 0x279d7ffdfc12078dL,0xeb14155eb8f302e9L,0x5f1b11e165b3c14dL,
  48491. 0x08510b461bd36b3fL,0xa7f5b2ffc9d73b4fL,0xe5e831557aa09e40L },
  48492. { 0xbed67135cc3d88d8L,0x7b2775f7017a43d2L,0x9ce22ff24c58cb64L,
  48493. 0xab88d04849ede1eeL,0xcac13762da63daa8L,0x70662331b1dbfc4eL } },
  48494. /* 38 << 56 */
  48495. { { 0xe4f7022200a8a9adL,0x8d1bbab7d42fffcbL,0xe024970e368ad5edL,
  48496. 0x231ef631b4c0c9f8L,0xb47ca0386760b411L,0xe1f297ff179e6d44L },
  48497. { 0x2e5ec77d3e071736L,0x90e20be915b29c93L,0x33961b6dbb7e7237L,
  48498. 0xa854df5b42176851L,0x67d223e4a8f4bac8L,0x5464a46f0dee39fcL } },
  48499. /* 39 << 56 */
  48500. { { 0x525a553b32230b65L,0x7bbde6b816bb6a4eL,0x2f5bc6d229f12292L,
  48501. 0x5d86858045fbcff9L,0x6ce4fb249f932964L,0xd7cd175098e05ef6L },
  48502. { 0x794b0248e1366d8eL,0xa37afa66332098a0L,0x2dcc1888d9aac70cL,
  48503. 0xa01ba83ec15b9fb8L,0xd34ddf851df4b59cL,0x92289e954f829510L } },
  48504. /* 40 << 56 */
  48505. { { 0xdec879d51c9d09f1L,0xdfa9e7d61b371576L,0x8c705c7937fb3410L,
  48506. 0xd770153e1f2a02bfL,0x208fc8f18043ba69L,0x58aebe6e25aa3453L },
  48507. { 0x191b69e512941f03L,0x27dbb050d7966e0eL,0xa5196bb7d16bc20bL,
  48508. 0x5b6bae47f22b30b2L,0xbddcabda8ce7b419L,0x6e3cfd373b9f5a39L } },
  48509. /* 41 << 56 */
  48510. { { 0x605d4b83330c07f8L,0x4dbe47646a0ed45fL,0x1e715823d7e4163dL,
  48511. 0xe337a67dcea3306dL,0x55abf0684f18a604L,0xaaf69d5ea9f57370L },
  48512. { 0xddd09e8129784840L,0x17fd42b9a4fff5e9L,0xe99859e55acee616L,
  48513. 0x41d691203b927ed5L,0x35cc99675168f505L,0xfc311c24431d7d60L } },
  48514. /* 42 << 56 */
  48515. { { 0x415f7f0da581c54dL,0x67c678244509f31fL,0x36fb92eb988f449dL,
  48516. 0x22d41b1a94181fe4L,0xacc68410df896026L,0x4a10e46f9ccc4df6L },
  48517. { 0xf805a1191969cf2dL,0x7230a26b32ad355cL,0x9d200562e9abd845L,
  48518. 0x2db90c3b5cb55349L,0x80b59daa29bcc42cL,0x81272ebc53d32149L } },
  48519. /* 43 << 56 */
  48520. { { 0x6aaf15f27756bcffL,0x5391bc009b645589L,0x46cc4480a6fc61a0L,
  48521. 0x6fde9d53293d676dL,0xd6c35628d7618399L,0xdda13a0853daac23L },
  48522. { 0xb6e6c20c0fe7995dL,0x32eb3468d8d41d55L,0x8927d508c19c5995L,
  48523. 0x3907eeed3c229e66L,0x509af79f27972057L,0x8a7f44f750e2f170L } },
  48524. /* 44 << 56 */
  48525. { { 0xb91ffd21c87b3fe1L,0x0fe8389b34fe2825L,0xe22d45d74bf4c8cdL,
  48526. 0xb575ae4cd6d8308aL,0xa7fa552e82994ba8L,0xfb67a86fecb08870L },
  48527. { 0xc3bebdf8e6dabcb1L,0xef18b357b5bcf114L,0xed518499a4b8eca5L,
  48528. 0x0fec83c5df16ed99L,0x5d353a5856b5649eL,0xc858c1d1cec900e0L } },
  48529. /* 45 << 56 */
  48530. { { 0x7a65d2660d85e627L,0x96170bb90bc010a3L,0xaa6e0055da030ad9L,
  48531. 0xa75ab280ff4e4a8fL,0xec14e68c0be864a3L,0x05424b9cc17723b6L },
  48532. { 0x9ed54bb218ca85d6L,0x035edc14b78b34bbL,0xc116914929617416L,
  48533. 0x0a00e0086cb0d801L,0xba40f1207d4a638fL,0x54b1e8cc9d8bd0e9L } },
  48534. /* 46 << 56 */
  48535. { { 0xbbab4ab54c88db57L,0x68dbee6f9ee9558aL,0x31b988e140da802fL,
  48536. 0x9d117c37e90b2221L,0x443ae099025b66c7L,0x8568bd6f2538a654L },
  48537. { 0xf806d8636720df01L,0xe390adf2b649ad8fL,0x7851f8e039d1c315L,
  48538. 0x8185ae1a5e650f1bL,0x3dccfc4c9b562532L,0xae99ae835f427c40L } },
  48539. /* 47 << 56 */
  48540. { { 0x99542ca7564c7ad5L,0x682eace49a96f25dL,0x2d01b2488d933a6cL,
  48541. 0xf96916ddb8604277L,0xad3259d12e4d7419L,0x9085251fc26981e5L },
  48542. { 0x848219363d2ec970L,0x723ea6a5392351c7L,0x3fae69a55e5448c8L,
  48543. 0xf6eee650dfb03d49L,0xe2e1df1ef8c58715L,0xc603b61f1a369206L } },
  48544. /* 48 << 56 */
  48545. { { 0xcbbd8576c42a2f52L,0x9acc6f709d2b06bbL,0xe5cb56202e6b72a4L,
  48546. 0x5738ea0e7c024443L,0x8ed06170b55368f3L,0xe54c99bb1aeed44fL },
  48547. { 0x3d90a6b2e2e0d8b2L,0x21718977cf7b2856L,0x089093dcc5612aecL,
  48548. 0xc272ef6f99c1baccL,0x47db3b43dc43eaadL,0x730f30e40832d891L } },
  48549. /* 49 << 56 */
  48550. { { 0x7f3a3e5f4447ed08L,0xa6302f7bf94d49d0L,0x94fd2ad33b2abc46L,
  48551. 0x98ffc01fe4249c1dL,0x6f3a53bf8db4549fL,0xfbae12df25566cceL },
  48552. { 0x63fc92d3c2e84d15L,0xc355b46c4f5abdebL,0xb50b43a05678d0cfL,
  48553. 0xf4d4b0b15681d628L,0xc9f11d63fb3bac7dL,0x444b748cda461eb1L } },
  48554. /* 50 << 56 */
  48555. { { 0xafe9adafc9845a07L,0x484a9eb9df6a1305L,0xec32f0bdb0f111dbL,
  48556. 0x742b41cddc7b100cL,0x5a7ea89d23c5f849L,0x1ea8801fa298aa82L },
  48557. { 0x183e1750cb001f26L,0x66ec5daa49da5bbbL,0x8071ff322d05ab57L,
  48558. 0xaea9e694e1944e0eL,0xc993754437b85438L,0x2c2467b4faaf4f22L } },
  48559. /* 51 << 56 */
  48560. { { 0x38f87acce602c278L,0x72c79590515854dfL,0x9d466a765e7e2f6dL,
  48561. 0xe5f6704772081935L,0xb4b56288ad958812L,0x7f4d9e1395b08242L },
  48562. { 0xb38d0ddb962f0f6bL,0x969d4327e5f76463L,0xf7c7c799f6ac01f8L,
  48563. 0x494066673e6ff230L,0xa81fa10dc7e9c1b6L,0x2fcf26bf8093c2d3L } },
  48564. /* 52 << 56 */
  48565. { { 0xcca6e9cfa754256bL,0xfdd79280347723f7L,0x8179d6f52d69c6bdL,
  48566. 0x156a53fa94cc8567L,0xb819d70324655f28L,0xf86872e2ebfb198bL },
  48567. { 0xb158e73939ccd668L,0x655db8248de67826L,0x54399a79c621cf3aL,
  48568. 0xc55900d498a09c9dL,0x5423edbf20278b3aL,0x06a625b280ba89cbL } },
  48569. /* 53 << 56 */
  48570. { { 0x0f152d69869c4f68L,0x0ed4205a9f0068fcL,0xda68af4f25d4490eL,
  48571. 0x715fcc60745c00afL,0x70ab559aad63dff1L,0x7d0a7b6a9b8a37ebL },
  48572. { 0x82ab7a068bca8498L,0x4f012fb4297d954aL,0x8b139e6ed5f6a4b7L,
  48573. 0x597316e4b856ac26L,0xeb64b5894387367aL,0xcc92eeabbacb7e74L } },
  48574. /* 54 << 56 */
  48575. { { 0xb53560e968fdcf87L,0x4ed638bd3cbd0887L,0x57f3f38f6080d1cdL,
  48576. 0x50370e0c1e4e3ae8L,0x14c87fad184a1ecfL,0x3d06f78d0af7b2ceL },
  48577. { 0xd9370e24fd595621L,0x1e462483c9fbb559L,0x1ee5d81ca0aa5c0aL,
  48578. 0xdb2524557419564dL,0x782ba91b57585be7L,0xb2d14bcc5c431c72L } },
  48579. /* 55 << 56 */
  48580. { { 0x9cb9de6fd62ebed6L,0xb7f23b1916c6d571L,0x69b4a8dfa8b307b5L,
  48581. 0x78a7f74e19dc7e39L,0x423405152f47c94bL,0xf1c2a5bc31ff2d82L },
  48582. { 0x98c1c3f7b145387eL,0xdd9d24d885e635ccL,0xeaaececa07397bc4L,
  48583. 0x6bf6a8469b0cd4c6L,0x68052950680dbd05L,0x81a071b60ce07df9L } },
  48584. /* 56 << 56 */
  48585. { { 0xf3fa8bec0c61d5a5L,0x98f772fc0dedaa77L,0x45a382161146d42bL,
  48586. 0xebef5d4a58821ebdL,0x21498af30c1f0e6aL,0x3d8699144758014aL },
  48587. { 0x6f2276ecb625c7e0L,0x68d6a144fb55d708L,0x0bc836e0ad56b494L,
  48588. 0x72b6d8850f58ef70L,0x0e0be2887bd7c1d1L,0x70549a879c277d39L } },
  48589. /* 57 << 56 */
  48590. { { 0x39a445d2dbb2bb75L,0xda2a211b1ac42cd1L,0x934bee9a8e4cf8f9L,
  48591. 0x5d0dde6a24801bc1L,0xb2d4261d23da4ea7L,0x5fa9059a7187cde8L },
  48592. { 0x49298bb651f05f9aL,0xff0c4a0422a7bee4L,0xf466232da6a29be3L,
  48593. 0xff2e157a995c1904L,0x3a4ee4537b31bdffL,0xb4a736d7e41f6eeaL } },
  48594. /* 58 << 56 */
  48595. { { 0xaed55c123fa96c0eL,0x8f90803f6e08adf2L,0x349e5807015b7cb4L,
  48596. 0xdb3f05e314656b3cL,0x9289bbecde8b2d9aL,0x3cad12e0c7f28356L },
  48597. { 0x7a68fa54959fe89aL,0x2e7135d0a77f956fL,0xa0285cbabbe35884L,
  48598. 0xc547ffe7131ab269L,0x82a902bebe33b425L,0x5a793a790c71b02aL } },
  48599. /* 59 << 56 */
  48600. { { 0x2bb2a929c645c6eeL,0xfc6cbd471e651728L,0x4ec3f630c07af98fL,
  48601. 0x118231588e4a8ad5L,0x99a2b5de1303f68aL,0xcc280b182ec9b8f7L },
  48602. { 0x3d7b406ad7298d55L,0x63941bceb9f83957L,0xfeeb132c463a64c6L,
  48603. 0x243a2e2bf76a6c8bL,0xae72bf2fdad18d64L,0x774423431987a4caL } },
  48604. /* 60 << 56 */
  48605. { { 0x06de549d78dc1526L,0xa27fc0c1f52c5766L,0xee5ff3d8e9485b1eL,
  48606. 0x7af2fbc64bc530dbL,0xa266d6c810f9dc58L,0x866abeed8bfa4d74L },
  48607. { 0x50356d7fcb7c7018L,0x4ae502e07c962af2L,0xb98b449cf011990cL,
  48608. 0xfcc8446b59e8535fL,0x25964ab0088776ebL,0x3848aba2ab6cfe8eL } },
  48609. /* 61 << 56 */
  48610. { { 0x9f2c62cbe14a2c5dL,0xcd182e386b113f03L,0x2275ad4f525a15aaL,
  48611. 0xd5b7d1d9eb373133L,0xd3c47b9b07929822L,0x60b043cd8fa8e8e0L },
  48612. { 0x603a3403d3958f57L,0xefa36ad67b79c263L,0xfe33dd9f3742ac39L,
  48613. 0x30f40b3bb249f9bbL,0x9d2902d20a3b2e7fL,0x173f7d1a899684f0L } },
  48614. /* 62 << 56 */
  48615. { { 0xdcbeff5bf33bdff0L,0x963ae65ee9684a3bL,0xe03586882bcd272bL,
  48616. 0x756695068942f107L,0x14319d19262e422fL,0x5c0ef45a2265b294L },
  48617. { 0xeb897bd8a9f64203L,0xa3b259d742b1640bL,0xdc34ee2dce66355cL,
  48618. 0x2fab125eb4e13438L,0x1b93a820443420b7L,0x79c46f97b4ba8382L } },
  48619. /* 63 << 56 */
  48620. { { 0xafd8cb2006e55b9cL,0xc88f38ea2530a11aL,0x628d10bfe4efe221L,
  48621. 0x00df0da42a8d983fL,0xed45860508a2fce0L,0xcd7882b86a01efecL },
  48622. { 0x93ebd86c7efcbf7bL,0x578f9fe7e3db504aL,0x3c584008aa5e83e8L,
  48623. 0x5bf38b4ca8368754L,0xcb4a9cf905c05ca7L,0xf77ab684c634f28fL } },
  48624. /* 64 << 56 */
  48625. { { 0xac92ee1537d83369L,0xc968c187fecec65cL,0x29a7ca876e7a3265L,
  48626. 0x0f2b7e7a8456c9afL,0x7471824e9754326fL,0x498687bf364d2ec8L },
  48627. { 0x86d8aacd3c6ee351L,0x01ee6823f6f41e85L,0x9805fc881d79f7ebL,
  48628. 0x377ac3a40040547dL,0xd39215d461b4e90bL,0x2547416e4c5fd81bL } },
  48629. /* 0 << 63 */
  48630. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  48631. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  48632. /* 1 << 63 */
  48633. { { 0xa10292b907a6fbf8L,0x292c1a203fa6235bL,0x7a36f18f73ad7a1fL,
  48634. 0x8b2c7b0c5897b11fL,0xf7b9a272cb664c61L,0xb6d366af8f81e22cL },
  48635. { 0x3b99b2118e342bbaL,0x03ce158bb06ced2bL,0x3af1175d001db74bL,
  48636. 0x526f08467159cb8aL,0x6a3c6e1febde4601L,0xfad5963b8c232eacL } },
  48637. /* 2 << 63 */
  48638. { { 0xa54768dab1b43eefL,0x13e41f47e14fda22L,0x774df203faef6863L,
  48639. 0xf795a034bd7471b3L,0xf0958718b47de2e9L,0xc92f7888e1160cffL },
  48640. { 0x86ded97b0146c790L,0x015918f5480a4b7bL,0x05588920424e8459L,
  48641. 0x37455914eecf8b2bL,0xe7d3df1fb968a6faL,0x07a0ffd6bad0719fL } },
  48642. /* 3 << 63 */
  48643. { { 0xf13f55e619f6ebccL,0x63720df2a266b368L,0xdbcc937f3bf1a890L,
  48644. 0xd3faff625f326fa4L,0x8b33bae9019730d0L,0x7879782af9961795L },
  48645. { 0xec7e75bc93735e44L,0xfbbf6d225d5702d0L,0x26b6e1d53bc2ddc5L,
  48646. 0x00345bf714941d10L,0xdd719676a745c77cL,0x2869b11881c523dbL } },
  48647. /* 4 << 63 */
  48648. { { 0x2566021f98d23f6fL,0xfb883e1234ca97caL,0x34e047a5d9f51b69L,
  48649. 0x0b50d91df8efa646L,0xc2bbcbb2971f584fL,0x4136f0e40907c91cL },
  48650. { 0xa7ebeb0de735cc48L,0xa7d1bedce113c8faL,0xc04d9a073f5c962aL,
  48651. 0x95c155e53ff74a2fL,0x923c65a53df0749dL,0x10d5f81227ae35d0L } },
  48652. /* 5 << 63 */
  48653. { { 0xc08cf7a1a128747dL,0xeb34a1c02eca6776L,0xff6e7cdfb596491aL,
  48654. 0x17024305eddd8bbcL,0xab92b54cf3c46414L,0x2a995b7759134eb8L },
  48655. { 0x97525904e48cb259L,0xeac065ed1e1da01aL,0x16cab74a14c5bf38L,
  48656. 0xcd3e2516c14eda8fL,0x3ff38094a8de7a9eL,0xb7340214359d653eL } },
  48657. /* 6 << 63 */
  48658. { { 0x4d37c2663e7a369aL,0x092dc32c3ae62c55L,0x566da2e928ca9d67L,
  48659. 0xa9771c1a79beb236L,0xaf6b97a976f801e7L,0x3afd62e771259358L },
  48660. { 0xc23a5e32cd541e77L,0xae4c90a301660ff9L,0x3f3a233b1911ccf2L,
  48661. 0x93e4664cfa3b3aceL,0x4bdc14832d4c5f5cL,0xfe03d3c36abf13c0L } },
  48662. /* 7 << 63 */
  48663. { { 0x9649468631b26990L,0x55222e9fe3fd62f4L,0xc8eaba742ee74b8eL,
  48664. 0xfa43617834d198efL,0x475b688e892748f5L,0xc6eb426541b9822dL },
  48665. { 0x535695bebdae951fL,0x45e69033e909cce4L,0x40354e72b1829154L,
  48666. 0x1005ee6d5c56c3cfL,0x61b36a754a3fec51L,0xae644f3872f2f56eL } },
  48667. /* 8 << 63 */
  48668. { { 0xd5469c7becee6e87L,0x056180bc33a4c917L,0xf881ca21a16caa7aL,
  48669. 0x221de182e6cc7f39L,0x10d61ab531378723L,0xfb763bd9520c9660L },
  48670. { 0x145214cd0d6b1541L,0xd9f7ff2dd70223e7L,0x9fce59e30cb1fe69L,
  48671. 0x2e6e77fa3e299fe7L,0x3a0cf652d5af78cfL,0x50cc42c53e852159L } },
  48672. /* 9 << 63 */
  48673. { { 0xd2536452b8da85a2L,0x5c15dabe331197daL,0xf5a89366aecccec9L,
  48674. 0x8f998baf2d8352fdL,0xb10e6c80f56159d2L,0xf61ceff379eb9affL },
  48675. { 0x05bcb93d1c4283a2L,0x4e1abc521d8cd941L,0x898c9a49b46b343dL,
  48676. 0xcf352f3c6e423ae6L,0xb1db207f6fd42c89L,0x08f36a1edab295b4L } },
  48677. /* 10 << 63 */
  48678. { { 0xebbe18b7ed31fabaL,0x046e248dd74971d3L,0x3ddf5a2a0b24f97bL,
  48679. 0xf9a400c262fc6124L,0x9ad9b0bc6b03b73aL,0x9fa97c56153c8fdeL },
  48680. { 0x1b6477da00b73ea7L,0xec59f64a21b2f3f3L,0x4428712895306955L,
  48681. 0x4b5db01db9e77579L,0x237edf0bde05e0d1L,0xac904b01855332f5L } },
  48682. /* 11 << 63 */
  48683. { { 0x6a37fc505cf708c5L,0x8de4dd7c30497ceaL,0x6978648161b8bf39L,
  48684. 0x3cb303375d7362eeL,0x0e24d09237ed25e6L,0xd474f3dc2f69ce20L },
  48685. { 0xe15d98a0edb40541L,0x5e4a87c91466f464L,0xc3cefc9eb68923cbL,
  48686. 0x66f10920f22c9de2L,0x3c18f9ea9a51b3f2L,0x706237bef40e6204L } },
  48687. /* 12 << 63 */
  48688. { { 0x0791dfa1df764716L,0x31bf68768c66da07L,0x49f25b77ccedf4f3L,
  48689. 0x05170ccd5d965c05L,0x37d9521bd49e6727L,0x1548251286a00176L },
  48690. { 0xdab444936c00eb48L,0x102c6b95e00c5c5dL,0x43660c3e4c2506baL,
  48691. 0xb2fb26165ec6f132L,0xccc4221a99ac7691L,0x05b29758a576deb5L } },
  48692. /* 13 << 63 */
  48693. { { 0xee84fe05a5731e27L,0x3251ded005713149L,0xbfeeaf3c7c5e7260L,
  48694. 0x3db0b6b2f048907aL,0x38728debb4a6b923L,0x853997d9d1142e10L },
  48695. { 0xc636e3874b641cd1L,0x69b10f43c629f4f7L,0x6f10a95c7deddd0fL,
  48696. 0x85b5a7a317f56374L,0x28cd59435c329333L,0xb37621f7d1e476a1L } },
  48697. /* 14 << 63 */
  48698. { { 0x3a17f86d48341ba2L,0x558ef6e8ba6375bcL,0xa86ea3f0927935e2L,
  48699. 0x2f43742ac04d4fb0L,0x32a30bce38769421L,0x5a6d6a62d8d3912fL },
  48700. { 0x34154b19c20e3fd9L,0xe95d3843fc85f907L,0x26cfbe0f9f7a13c0L,
  48701. 0x50d50b3a531736e5L,0x81849773b2cfa2c2L,0xc81523e63ba8ae5fL } },
  48702. /* 15 << 63 */
  48703. { { 0xac9b0573c2f899caL,0xd9c4fc1ff747ef78L,0xbc205571c7714e62L,
  48704. 0x726bbf311919f8c8L,0xfff68adaaedc0450L,0x9f4bc0b9f4001089L },
  48705. { 0x5d10a660fc5dcfeeL,0x1ea644fbaa9f25adL,0x4f5cf102e5a144d4L,
  48706. 0x4275b6021521f249L,0x9c62750522d8bcdeL,0x3ebbfc5bb7df57afL } },
  48707. /* 16 << 63 */
  48708. { { 0x4a873076ad8c49b7L,0x891598ce7146575fL,0xc1d3042f427ea198L,
  48709. 0xdc592111ed259219L,0x0abdbd16234850caL,0x26b9412643b6fe8dL },
  48710. { 0xd3c79d1736a1cfe9L,0x576386219a2b3bafL,0xa736535d5a98bf65L,
  48711. 0xacb3b7ddab2cdb2bL,0x37d3743adaaf89eeL,0xf19d9aba0b348532L } },
  48712. /* 17 << 63 */
  48713. { { 0x013b49753e09dc4bL,0xe548f7bc2d034deaL,0x65ffcd710b861c72L,
  48714. 0x80f4d7a2e07dac01L,0xd1889dcf56c1a8b1L,0x14ad62d4789b133bL },
  48715. { 0x082e3c082e80532bL,0x0562a7d80b9d17e2L,0x4f8613095d57e2a7L,
  48716. 0x79f21d7255f93514L,0x22c4f68c595c0f33L,0x91d9bd5ba22c0c33L } },
  48717. /* 18 << 63 */
  48718. { { 0x30539655b29eff74L,0x7ba206ebe723167cL,0xe20c3ce488110a02L,
  48719. 0x52b406b97c124481L,0x050111c68c74a728L,0x3d594a6bc57cd9feL },
  48720. { 0xd4b2a271e5f952d9L,0x7e52d63b080da0c9L,0xa6463d65f53a6cffL,
  48721. 0x9ebcffcfcc678e26L,0xa657f27b2f2b9424L,0x850bd2b871da5c9aL } },
  48722. /* 19 << 63 */
  48723. { { 0x9f3c395b7d4e1a14L,0x2f99aa23bd7301efL,0x50eee34e3017f166L,
  48724. 0x88c951ff4c9cbb4dL,0x90c0422ad8dda2f4L,0xe8361775d49cae19L },
  48725. { 0x654db0d250da6138L,0xe4ada30ee03c34a3L,0xde0d3787832ccf4bL,
  48726. 0xd1bf435641b94c86L,0x347531c37db87eb5L,0x6942e7e30fb51863L } },
  48727. /* 20 << 63 */
  48728. { { 0xafad01a0d93c54b2L,0x659bff9695536c49L,0x7b91aac2b9734c15L,
  48729. 0x55c7f08224e02f59L,0xebcb71e73a26e551L,0x5b7225f76c6343ebL },
  48730. { 0x021c48fb17d5e775L,0x57536a42bd859c87L,0x24852cc0ae2b63e9L,
  48731. 0x21515020c0ce0ef1L,0x2ac7336c8fed825eL,0x4bc87feea0152819L } },
  48732. /* 21 << 63 */
  48733. { { 0x7f9813e94b82bbd5L,0xc01f14624e697d08L,0xf02d9eb293de010eL,
  48734. 0x290c503c50db5ea8L,0x339341f033edb639L,0x962abf5f7cd7f6c1L },
  48735. { 0xbb1041ae95fb9e8cL,0xb8c9f9d6dbd8525fL,0x8658a54f0f5244b2L,
  48736. 0xe9326e455b84eea8L,0x9ebdfe4f54f11de8L,0x3c90b0cedc740440L } },
  48737. /* 22 << 63 */
  48738. { { 0xde6973e22683ad60L,0x35fe4650eebceb58L,0xbcdbbabf7c719a33L,
  48739. 0x8bce8111c076ca95L,0x8f7176deeb6bd711L,0xd04e9769d240a56fL },
  48740. { 0xdef7d8fac8e218daL,0x04cff5976df28152L,0x2a1af6e24bd1cca2L,
  48741. 0x9397014edcb911e2L,0xa251339038677b96L,0x0dc48a8fb61b462dL } },
  48742. /* 23 << 63 */
  48743. { { 0x42eab6610197a8d2L,0xdc4a557ade082468L,0x4cf68d6090495f66L,
  48744. 0x6dba8de79032929eL,0x304b38cc827b5d7bL,0x8e57275cf32f5063L },
  48745. { 0x4b555a0337280c95L,0x49c1e532ef8ddd18L,0xa2d8eed45459adc1L,
  48746. 0x2b353217bba3cf41L,0x11f3c90cefe8f005L,0xb3367fa0d55916c4L } },
  48747. /* 24 << 63 */
  48748. { { 0xe7c396d64654712cL,0x1fa5ea507a26e994L,0xaa98768709012b83L,
  48749. 0xf1ef9792e9b17e98L,0x2c22bcb06dc2db10L,0xae42ddf6ed4be80eL },
  48750. { 0x672080f62e743405L,0xa15a7f975b7821d1L,0x0cd912f247adbf07L,
  48751. 0x6919c0dcb6c4ae8fL,0x62b13edd14c6253cL,0x66f35919f8032287L } },
  48752. /* 25 << 63 */
  48753. { { 0xc992f6fe05f3b31fL,0xcdcf59b56a3d4522L,0x69901b3815df24b8L,
  48754. 0x4b9874029f6153b3L,0xeb09cbc1bca86176L,0xbe78cd7d446289c4L },
  48755. { 0xd4aced42b933fd58L,0xe0dc6f306a326de3L,0x4bef32960542a5f8L,
  48756. 0x3eb8d14106f537c3L,0xbb45a994b6f0d0a9L,0x340c025d3f4a01b8L } },
  48757. /* 26 << 63 */
  48758. { { 0xdfcb3255fa371ffbL,0x3fb4a22c92bb6b01L,0xd96efc1605396353L,
  48759. 0x2ce2228ce5d2bc25L,0x59483843212c7eecL,0xdca7173882996047L },
  48760. { 0x44dad56d8de87b1dL,0x622f88910b6222d5L,0x1abbc501d5d3a9ccL,
  48761. 0xdbed73a5ebe52e80L,0xa7f785b1c98c56efL,0xa32471d3d343aeacL } },
  48762. /* 27 << 63 */
  48763. { { 0x65d39f8ae510cee9L,0xcc60cd118dc5e825L,0x3b6ac6627ed7198aL,
  48764. 0x5d7fc001f33edc87L,0x0218ffc453e978eaL,0xecb762e57bdfcf16L },
  48765. { 0x8e7122047966b202L,0x1c502404e6b99602L,0x0acb73f1131cc36dL,
  48766. 0x81d1132ed4369a1eL,0xbca89fe8377271a4L,0x1353a883262a2e18L } },
  48767. /* 28 << 63 */
  48768. { { 0x2713b58c9d628e1dL,0x3729960afaa8ba1eL,0xc3438130ab53bc93L,
  48769. 0xcef9eda5e9c165e7L,0x9bacd1c3fd02650bL,0xbb300334540ece72L },
  48770. { 0x21f5a5d3d9c4f0edL,0x1ba32e4ff7c19269L,0x8f073beb2cf320fbL,
  48771. 0xb49766c45599646fL,0x68180d6649e4f200L,0x8203d8aeeaeddb36L } },
  48772. /* 29 << 63 */
  48773. { { 0x7b19780fdbbbf57eL,0xc094d6d9c2207635L,0x241898ac6bb652d6L,
  48774. 0xb61b25724923ce29L,0x26ecd97508000048L,0xd08c54e5f5f96b8fL },
  48775. { 0x19019968c1604cc5L,0xa9940e9edc3f31b9L,0xbad2d245c3614a9aL,
  48776. 0x7d3cdb2d411e63b3L,0x88d842c3223638ffL,0xbc5427d0cfba2b48L } },
  48777. /* 30 << 63 */
  48778. { { 0xe6d78b7f60085b20L,0x0aa1d62bf318d226L,0xaaa4391df6461e64L,
  48779. 0xb15ee4a7213c949bL,0x183f043be4bd3dbbL,0xa1a87996ca49f456L },
  48780. { 0x6030ed2ef6ed22bbL,0xa2002784fab7f7a2L,0xfc40914dd850cdbaL,
  48781. 0xe63edc4c7df80ba3L,0x8fa35ab57b27ddfbL,0x3bdaec795096ea04L } },
  48782. /* 31 << 63 */
  48783. { { 0xf33cc5ee452881ddL,0x89c144a38966d47fL,0xbfa8395149156a93L,
  48784. 0x0069bff358707b05L,0x2caf814cca12a0b5L,0x1ea71ce71794450aL },
  48785. { 0x08fd2b1c63d22a26L,0xdb08594eb3876737L,0xf459049a57b3669bL,
  48786. 0xf64ecaeefee0d4ccL,0x9da2177c63f233a4L,0x042fcca84e54f053L } },
  48787. /* 32 << 63 */
  48788. { { 0xa68295da2caf088bL,0x23d6439a5c8709feL,0x8deba0cffe0c3df0L,
  48789. 0x5b4d037b3cd00a1aL,0xe9edc429aa0f9088L,0x6f5827e35847def7L },
  48790. { 0x9739d03d306ad966L,0x7c6b18afaed51d04L,0xdc3d34ff1759060aL,
  48791. 0x029e9aa9a7e94dbbL,0x2a3cdfa0f7e8b7f3L,0x42f87bf0bbd8f6f4L } },
  48792. /* 33 << 63 */
  48793. { { 0xe36941004ef8cf5dL,0xcb4dbddf4d8bb768L,0x0610858e828c717eL,
  48794. 0xb4cf22cb2bf53239L,0x938e49f16a3e7a71L,0x1dbbb837e73c7a10L },
  48795. { 0x26ea3108db1b58d0L,0x1ca340abad2929faL,0x1d4601938ecb1f6aL,
  48796. 0x060543510424fd93L,0xdbfc403f0303dc50L,0x142ad48dfc0f4007L } },
  48797. /* 34 << 63 */
  48798. { { 0x8a8258eee6a52970L,0xf2d13a33a3882954L,0xd312768c38d48e32L,
  48799. 0x78a70e03e9369eb8L,0x02ba8d2b69228d48L,0x7f957a33b3bfeb28L },
  48800. { 0xafb22cd20ab2d0bfL,0x335304ccf8cd44d9L,0x0587a6f256009a3dL,
  48801. 0xc0bc7278023b2530L,0xe85f2ec5f37c6727L,0x045f156003f5a081L } },
  48802. /* 35 << 63 */
  48803. { { 0x6d71a45274ec55c2L,0x0d064bdfed33da75L,0x1aa4d77ab503afc6L,
  48804. 0xec08340c5cb136e7L,0xf096fed6ed11d9faL,0xf232d1b82f81e148L },
  48805. { 0x71cc9b78ae9b3374L,0xd80ce28668bcc1baL,0xe8f4bd170274926cL,
  48806. 0xa7ac120f100da329L,0x9f071c6352a482f2L,0x76d85a8e842d6ef1L } },
  48807. /* 36 << 63 */
  48808. { { 0x516f138bed210253L,0x5ec2fa324433461aL,0x0dbe2c66cdaf1280L,
  48809. 0x086b91e59fbf3318L,0xfb0223ee399a1ca6L,0xd6f86d9b0db5b20fL },
  48810. { 0xec02bca25752d618L,0x952fafcaaf69f3f1L,0xf304cb7533c4d294L,
  48811. 0x78085727dac65608L,0x22f302ef840a4466L,0x33fb889dc371c31fL } },
  48812. /* 37 << 63 */
  48813. { { 0x4aa2f1c36abdcdf4L,0x80963f8251da8d8cL,0x5647a356ac008cf0L,
  48814. 0x40a78c45fc10452fL,0x2a3b9da1ca2d6a31L,0xa4d177760f0db94fL },
  48815. { 0xcfd600d9939941acL,0x256e44c142c3fd25L,0x85bccd42ab3f9d41L,
  48816. 0x83e93e44d018298cL,0x569f54d474a5fb37L,0xad2c613af2ffcf8dL } },
  48817. /* 38 << 63 */
  48818. { { 0xc63e6f7c22d515abL,0x3fabfef42ad30174L,0xf13a0126b1c65411L,
  48819. 0xe269e956dce87183L,0x44136834a83e0249L,0x554e731831958850L },
  48820. { 0xd287755696569aeeL,0x5af275e9274bf4dfL,0x7056f958197dbfdfL,
  48821. 0x699f5a672169811cL,0xd9a857d92c1c7c3aL,0x62cf7431843bdac1L } },
  48822. /* 39 << 63 */
  48823. { { 0x974fcf5529d0c948L,0x104d7df0693c5379L,0x4f851c397dadfb28L,
  48824. 0xcd5bc87c233c02c8L,0xf7fa16e82c8c1c04L,0xed42de484dc18a19L },
  48825. { 0x213db3a5b4366736L,0xf6eb5c9517da3d1dL,0x4d04ef1213b304ecL,
  48826. 0xba7bd9afaf74e164L,0x956a5f7bab319f50L,0xe733891ce2a4932dL } },
  48827. /* 40 << 63 */
  48828. { { 0xaa4711f54f890542L,0x862421d9eba822c4L,0x2f667179848280fcL,
  48829. 0x4de16d87c201ed75L,0xd20e1399c5e61b5dL,0x3f7114b49ed67ec7L },
  48830. { 0x561fd4979b5a88f9L,0xb202eb86d84db2c1L,0x67d8fb90c8637d3dL,
  48831. 0x3d1d78a1032b1853L,0xe07bf775ef1af9acL,0x691e1deea57d6adaL } },
  48832. /* 41 << 63 */
  48833. { { 0xe236e42b2a6045fcL,0x4a6b7be7613f1c5eL,0x14136ccbf57b1aefL,
  48834. 0xc3a8a6b9c7b34813L,0x63b0998c5f5cee69L,0x311bfe2c3481a229L },
  48835. { 0x4dd2325ff0aba408L,0x1b8a3f739a2fdff6L,0x4845cde0dbafe0d2L,
  48836. 0xd092bb22cd37b02dL,0x35436f9d600fe0efL,0x63c580cb065f379eL } },
  48837. /* 42 << 63 */
  48838. { { 0x38f98360f48948b5L,0x1a1d67a97ae3ad67L,0x79966318ab91b44aL,
  48839. 0xb69a75b8dfea0b1eL,0xbb18e5fa05d4d71dL,0x80a14dfe03b1280aL },
  48840. { 0xe549c8f14c17cf7fL,0x91da31098969b5c4L,0x1e3e8f08ccfc1732L,
  48841. 0xf1cfb3ad0c85444eL,0x6854b52a628bebbeL,0x8a5e2d85075f04d3L } },
  48842. /* 43 << 63 */
  48843. { { 0xd428f75c5aaa1da4L,0xf192162dd224691bL,0xc30f5ccfd3a50718L,
  48844. 0x82e2b585e9e0f738L,0xc7fb4dc15cf3fd23L,0x8a52eb37e4e2b37dL },
  48845. { 0xd5bb892bf1702cd4L,0x64b8ccd056b92a51L,0x98ab053f8988e2e6L,
  48846. 0xd56b34022f104643L,0xf09017be073886d7L,0x0283e9eebf6eaea0L } },
  48847. /* 44 << 63 */
  48848. { { 0x834701da3801c65dL,0x5bb35c48955aa27dL,0x0ef0f375db7ad387L,
  48849. 0xd25e337f06cd1d53L,0x757a1f9d90cd91deL,0x1604f153d61bbd60L },
  48850. { 0x6a01e8cf8bb95dc4L,0x34b7be6275bbdb13L,0x0a96b3a121e9b029L,
  48851. 0x25615c3b2946df44L,0x5eda7d1919d04842L,0x08317975fba84668L } },
  48852. /* 45 << 63 */
  48853. { { 0x4a4dd7bf2bb5fba0L,0x0ebc07f3c84c2304L,0x054f2e448daa5099L,
  48854. 0xbf8949da3ec362f1L,0x2e4a677c1d7d73f5L,0x405e3ad24dc70fbeL },
  48855. { 0x2958e956c7e46fb3L,0x34e0d7f1b2522e5dL,0xc44b95e25e371e3dL,
  48856. 0x62e348a4d91baea4L,0x8d9e89e24c09e110L,0x8cb886f6b1c1e356L } },
  48857. /* 46 << 63 */
  48858. { { 0x66b16f6033e8683dL,0x3435ab2560b41c5eL,0xd5b89f51d452e049L,
  48859. 0x4b5253a73aac0092L,0x01cae436f9d2e2c2L,0x789de14637e8ce97L },
  48860. { 0x8f50541701a1c2e8L,0x8c77dbdd798a8404L,0x5a264906b6e91e68L,
  48861. 0x36761ccc3c6aafe2L,0x5809baa37e50f9e7L,0x0b50904e28fac969L } },
  48862. /* 47 << 63 */
  48863. { { 0xb6360372308785eeL,0x0c9913a68cf10e55L,0xe82b0f470e67c99aL,
  48864. 0x0bf2d24825399082L,0x7aa3edfca86fe16eL,0xf534ec4e731a4956L },
  48865. { 0xb71d5d4eff26e993L,0x320eb7ac7bd58ef3L,0xe5e4c5f30cafd658L,
  48866. 0xeb6b8e0a21a06cedL,0x037d0faf6f76acb1L,0x39c76a6ed6f13f81L } },
  48867. /* 48 << 63 */
  48868. { { 0x12474bd8a55a3a4dL,0xe326aaf19e471af4L,0xf201a9308caadaa6L,
  48869. 0x546821f835304341L,0x7fe452c3088353e1L,0x8f1ff628fc82566aL },
  48870. { 0x49526f46d99f8967L,0xb19c80c0a4009690L,0xeccf97591cbc0716L,
  48871. 0x2e13ae2caf4cbc8bL,0x12b0df13f32e29adL,0xa2005d6e0b1565f0L } },
  48872. /* 49 << 63 */
  48873. { { 0x9260321bde788968L,0x4aaf1752886ccc74L,0xf94ae636c06b1d9bL,
  48874. 0xf0c858854954ae43L,0xaaa735866c42a104L,0xcab59d914e782db7L },
  48875. { 0xfd12f9ee01ff3a1fL,0x35eb6104b546d3c5L,0x97d839e075ca1425L,
  48876. 0xa77712f452428003L,0xf5dda4e8bd9f30e2L,0x0c3ab97091d6f540L } },
  48877. /* 50 << 63 */
  48878. { { 0x58734b3ca68716ccL,0xacdcfdd2acfb5719L,0x97074bac7084cf23L,
  48879. 0xf8d4f285d0c81b66L,0x5ea926e2ef541e44L,0x65a8e25da2c04e0fL },
  48880. { 0x67e2380f06258485L,0xdc00f2ed9691a57dL,0xd37b23fd6b80274eL,
  48881. 0x57f1604f2fe10aecL,0xcc21a4aeffb33ceaL,0xf33a344bf75eaa02L } },
  48882. /* 51 << 63 */
  48883. { { 0x24ca6fc56969f55cL,0x6fe18be29a7a9753L,0x5e9a7ed36af8da90L,
  48884. 0xf6c261b7ed493388L,0xbe9ac24beef2b77fL,0x0357ab559f244e49L },
  48885. { 0x5f7953375f1b5b9bL,0x27dfdecaa9bc503dL,0x0b2091b55c0e3ee9L,
  48886. 0x1f4f7866d68cb87fL,0x336c2c127a442a9cL,0x88267fd1d3f2ab78L } },
  48887. /* 52 << 63 */
  48888. { { 0xdb891eedd06014e0L,0x69685d6103e9970aL,0x3a612db402838113L,
  48889. 0xc1cd7b3adcdef0b0L,0x612b299da41d6c1eL,0x982161ed0ed386a0L },
  48890. { 0xb36bbe2f3ea1bf1eL,0x0d8c3752ceb2a5ecL,0xc02cd7f6ec03bdddL,
  48891. 0xa87977c152631d9eL,0x7b546cc37e398d7eL,0x5b1218a804845671L } },
  48892. /* 53 << 63 */
  48893. { { 0x52cd86c68a62f0a0L,0xc437c2af4d29c896L,0x722a337a45aebfe3L,
  48894. 0x03b13844d8a9de8bL,0x41a005bb8510aae9L,0xf42399ffc63af92cL },
  48895. { 0x004d29cfcd93390eL,0x472de98741dcfa34L,0x2c71ae744e7cdcc4L,
  48896. 0x11a5c2f8409816ccL,0x320ca246a96cef60L,0x72de4287f3d57621L } },
  48897. /* 54 << 63 */
  48898. { { 0xe3e7a3eb3771a0aeL,0x781156e9b6dd5304L,0xbaee3a8323e31e6aL,
  48899. 0x66d1569a08985bf0L,0x56161e202d75cba3L,0xf9c23c102a944de4L },
  48900. { 0x27ac8f454e129ea5L,0x8b991ba788050aaaL,0x600c96ffa5d052f6L,
  48901. 0x0fbe944df244984bL,0x3801026fa204c36aL,0xc4bfa1994d55a584L } },
  48902. /* 55 << 63 */
  48903. { { 0x11b200c6a32f5c81L,0xc4ab4cf43eabe341L,0xa21468f06f339f5aL,
  48904. 0xf20c2c5a729438aeL,0x3e68031e3a067c3dL,0x3962a92f062c8371L },
  48905. { 0x389b22835b000f3dL,0x98f3b679250b8666L,0xe283c2b4eea91464L,
  48906. 0xd35b14de1e1f4c08L,0x9ae72567d79d8683L,0x2c37b162a3b2a840L } },
  48907. /* 56 << 63 */
  48908. { { 0xfa3e43e56cb173d1L,0x2502258d4591b5a5L,0xae8c4b558ca9682aL,
  48909. 0x8cb1ffb4ec81a288L,0xd11ae888bfc84fd1L,0xa3b083a0d774577cL },
  48910. { 0x119b41c11da9afc5L,0x44bc77622934e22bL,0xa04694f37c639d6cL,
  48911. 0xd5e1ce5732c5b8eaL,0xd507c39b9749e8b6L,0x16cc0b5755255b63L } },
  48912. /* 57 << 63 */
  48913. { { 0x66fe7a39c4955e7aL,0x25b0b3e5bb11a1baL,0xb82c2cdefc573bf3L,
  48914. 0xed33c0e8281a3927L,0xd068c8901ad799d4L,0x052801ec9cbc73edL },
  48915. { 0x614e4aba0faf5c5dL,0x50d7b0a89f66d391L,0x7bdfbf5fc18e88a8L,
  48916. 0x1fc93e1f4380d2a2L,0x8241dd5f27d952d0L,0x44944d9c3a3f79d5L } },
  48917. /* 58 << 63 */
  48918. { { 0x808e2693c0edcf36L,0x4725b5aa87c254c0L,0xd1e464644d317973L,
  48919. 0x3e59efc2393049d2L,0xa4c9f340d3e0d17dL,0x69b40727abdf3022L },
  48920. { 0xa1d85395317058c8L,0x2cec2a040cfa7c13L,0xe3c16f7634236cd1L,
  48921. 0x566b403a3e52fe3eL,0xfd6065bdd6923cb6L,0xe769a89a5019f94eL } },
  48922. /* 59 << 63 */
  48923. { { 0x9b1f6e9042a1cce9L,0xc6c870270511f865L,0xc924caa72a3c29f6L,
  48924. 0xcb674fb068e604f8L,0xe997b0b8330c2dedL,0xf5b315a04ddab219L },
  48925. { 0x6fa1dde6575d3ac3L,0x32ad27f735e65e56L,0xfe723ec2e81b1ce4L,
  48926. 0x149983f8985d7286L,0xa1d350a0492ecc9aL,0x12a51f8c36a0707aL } },
  48927. /* 60 << 63 */
  48928. { { 0x71e5df78614f6f37L,0x5cf0e08da0b80beeL,0x1f8dae171e32051fL,
  48929. 0x54ae365d83bc233bL,0x97ea005b1b84aaa6L,0xf4766d9264c75139L },
  48930. { 0x9b93bbf241215701L,0xb18f042d8cf8a865L,0x5dfb96dd0867556fL,
  48931. 0xe9fafbb8597fd6a1L,0x729b2f50fe48bbc6L,0x2cf85f6b7f37ff9bL } },
  48932. /* 61 << 63 */
  48933. { { 0x3e7c871024d197f2L,0xb635595bafe9c29cL,0x302f4fff194e084cL,
  48934. 0xd497ce7c18edf332L,0x4081c7aa062672a4L,0xe886a5b28afa97daL },
  48935. { 0xa7e922b5786e1bfeL,0xabd9a18bbd7ffb7aL,0x1f4f5b9356341b58L,
  48936. 0x1726484344969ab1L,0xc4a0b557e668a479L,0x5ad1c062bf4f3343L } },
  48937. /* 62 << 63 */
  48938. { { 0x4ff86eb693d2b958L,0x4513fe1b784f628bL,0x45f4712573b5bb80L,
  48939. 0x25aa3d36c987bb15L,0x12b1e65bb48163f0L,0x9d0cb4aa9801592bL },
  48940. { 0x02c0c2aa3718bc98L,0x79b03df99c306353L,0x097d8d8daee5144cL,
  48941. 0xebed60774621d7abL,0xa8edf06e4b52e72cL,0x40c86f181dbca7d2L } },
  48942. /* 63 << 63 */
  48943. { { 0x65c7144a5e84482aL,0xba6f92644d4f7553L,0xf4dfe807d9c2524eL,
  48944. 0x1333dd7c054403b1L,0x44557e880156451fL,0x5dbda4d80824c813L },
  48945. { 0x59e204959857fec6L,0x42f4068f1b1eeb99L,0x067c3aa21d59bde9L,
  48946. 0xa9c4c3eeef27419aL,0x99fc994b2ec87652L,0x4f1607581578a996L } },
  48947. /* 64 << 63 */
  48948. { { 0xcd8c2ec9378ef62bL,0x7f4a3c5491a7c4b9L,0xe12386d4db83e1abL,
  48949. 0x9a792032bb549bb5L,0xaf81cba62807c0f1L,0xd4ad7d87abf2008eL },
  48950. { 0x9d7a72307e9ad6cdL,0xb30636b08b517b2aL,0x47c324daec900516L,
  48951. 0x408cd0d37193eb30L,0x8f0bcce2d315c655L,0x540ad4e0869d6c22L } },
  48952. /* 0 << 70 */
  48953. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  48954. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  48955. /* 1 << 70 */
  48956. { { 0x4b5e753ddae0ff8bL,0xe55c83e4da3d97b5L,0x4034d75f42fa905bL,
  48957. 0x89b85edac33e462bL,0x31f413c3058de3bbL,0x66c01c806ba75391L },
  48958. { 0x3f500202373e28deL,0x5090b33b4b9be739L,0x7297aa10efa2adddL,
  48959. 0x3e8ccdbe1a6566aaL,0x4dfda07fd7b4f214L,0xa659bd1e7cb1cae7L } },
  48960. /* 2 << 70 */
  48961. { { 0x31796c2387d11691L,0x02991ea2a9de506cL,0x4ff0cb716cb0c301L,
  48962. 0xdd0cdbd7d1702ca9L,0x470a26c8e1a02a90L,0xb705b7bad7054625L },
  48963. { 0xfadc2e86d4a1a268L,0x0fd9764668e9f923L,0x042b5ebb2951a8feL,
  48964. 0xe4af9d0364197a76L,0xdd2c6bb3249c1b5dL,0x60af89bdf01932b1L } },
  48965. /* 3 << 70 */
  48966. { { 0x4374145d41afcd64L,0x98b72d6049d21198L,0xc0ff394bdfde8a41L,
  48967. 0xed1112e5ee1ff7a5L,0x87a920e8cb5036fcL,0x437123f62deb225eL },
  48968. { 0x37e527afb9ad8c58L,0x3e3c9998abfaef38L,0xb656bcc550b2b4e2L,
  48969. 0xfacc8a193bf5699dL,0x98cec74fe616307aL,0x34af333dd3ef8babL } },
  48970. /* 4 << 70 */
  48971. { { 0x9ded9b0d744ec273L,0x5bdfe5472e79e4d5L,0x94f3aaf539393728L,
  48972. 0x22136862a438413eL,0x449286da373c7de3L,0xa709d85d29aa1540L },
  48973. { 0x1bd13e410284a4f6L,0x37b54d69f0799c8bL,0xd43b558f6bcd0cb2L,
  48974. 0xf5757c0e9e610369L,0x15c80b23c16e0651L,0xacb2cf64001820aaL } },
  48975. /* 5 << 70 */
  48976. { { 0x0629e4ddeec37f48L,0x3f7556a2da7de716L,0xcacd8f27661662bcL,
  48977. 0x65d8bc2ceaf01690L,0x83ac66477c39c893L,0x353f60dbf59440e1L },
  48978. { 0x2597b0d6852c575aL,0x410885f73a40c2b3L,0x953ab3472fcc2488L,
  48979. 0x9f753e5eef4cc6d8L,0xfc32bb4d97f69e63L,0x461c1b0c87e8c264L } },
  48980. /* 6 << 70 */
  48981. { { 0x2bea7e75ac4b62f5L,0xcf255dcdc6297871L,0xdd88db8781b25c72L,
  48982. 0x77ad90b3b617dc04L,0x65ee13820ed4a7d6L,0x4c08df9cd9644c8fL },
  48983. { 0x072d3784525a023fL,0x1aef69cefce399fbL,0xb07fd78ed7f29044L,
  48984. 0xa3754e1443043fa7L,0x97bdae92ff9fe4d9L,0xad63ba6a700fe6b8L } },
  48985. /* 7 << 70 */
  48986. { { 0xa571929ba1ca17dbL,0xce7a12f545e146b8L,0x39df1446d9eb426dL,
  48987. 0x1e48b3f8dc27f268L,0xa2d7dfa1ff548455L,0x750068b86ef1cc82L },
  48988. { 0x4d699306667fce62L,0x98540b9d131c5412L,0xf8a62cd347c580b0L,
  48989. 0x2b55460f73795005L,0x3206c0257b8db337L,0x2280934bd0dda5a2L } },
  48990. /* 8 << 70 */
  48991. { { 0x10a8aabd2352478cL,0x599d9dfa1364c40fL,0xa009df1a076945a2L,
  48992. 0xf869152c03861f02L,0xc405226e9f866a3cL,0x93bd737d8b41ecbbL },
  48993. { 0xb5c9ed1033901eedL,0x90e4ce8f99312b80L,0x1a9ef22e57589279L,
  48994. 0x83ef607d7fe2d6aaL,0xf2da84543473dbfaL,0x14f36d3a57879066L } },
  48995. /* 9 << 70 */
  48996. { { 0x2c780f220ea3ce34L,0x240a211e4b8aac72L,0x7a266e5dc2625a99L,
  48997. 0x1cb15d3e3b30c878L,0x8cd8ccab0e1b21d3L,0x53c64279adc1a6b3L },
  48998. { 0xe60d15b960bf708dL,0x6e431c1b0cb5ad4bL,0xec874c3e82033111L,
  48999. 0x88054a1d9141eae5L,0x98438a5addf53a28L,0x168f0b0ffa12c657L } },
  49000. /* 10 << 70 */
  49001. { { 0xd621ce26629d7a57L,0xbf571de7cc1f8af1L,0x2c5cfaf9304adaa3L,
  49002. 0x950addbd3f283b49L,0x622dc27cee6d1cd1L,0x26d920041f0863fbL },
  49003. { 0xe243b2a2a41ec585L,0x0dbd9adf2bea6235L,0xcb083c4d6f0820f5L,
  49004. 0x809ecbafd5493931L,0x9647067414b7ffa8L,0x2cdfe22e53fc2224L } },
  49005. /* 11 << 70 */
  49006. { { 0xc8b1333c7cd74a06L,0x7d5ac4dc271006bfL,0xe9377d9fc14e0e56L,
  49007. 0xaa8651db7a92ab1fL,0x77cee8145fc11fb5L,0x1e7c5ca027870b14L },
  49008. { 0xdeef4b3f6f959698L,0x7c59f26e5daa9bdaL,0x4d0d5aecfd312368L,
  49009. 0x5247a6f3b738de68L,0x1c4e8ba990c04807L,0x0554b41bcce126caL } },
  49010. /* 12 << 70 */
  49011. { { 0x3df98ea9a81cc26aL,0x982ed56883b2c6f3L,0xc9cbd1b5ea6d6976L,
  49012. 0x3f9f23197e25ffbcL,0xbca8e0567da6280eL,0x7abd316635cda713L },
  49013. { 0x46ef321d740ae011L,0xb17f6c75db214a33L,0x37b73b4b51de4044L,
  49014. 0x5bccf3ccccd9ba8dL,0xa2ca080dd0f7045bL,0x79caf90668cf4dccL } },
  49015. /* 13 << 70 */
  49016. { { 0xcc3605a9a7b07d22L,0x4370eb18b4ebe4e7L,0xbe393039248867c1L,
  49017. 0xc8e4851ecb1a75ffL,0x215f3fbe39cb6da4L,0x6f2102eee41f9a34L },
  49018. { 0x61d484abdfae7c27L,0xf5143bd26f1260fcL,0xa70b6c067514bcccL,
  49019. 0xe71ca833d23506f5L,0xe2f50ba8eae03a8eL,0x2ac3b50883c33359L } },
  49020. /* 14 << 70 */
  49021. { { 0xe94b930f3655cabdL,0x6ef6aac4a342443cL,0x2feb8005bae255daL,
  49022. 0x4625a15cac6e2095L,0x75c6311d0ec76c1eL,0x896a07409b81c6f2L },
  49023. { 0xbad3e2f9073378bbL,0x2984a10629266ec0L,0xa68a5351a788010aL,
  49024. 0x321aa113017cd052L,0xecfb61752f34db5cL,0xfe080cedca2b51dfL } },
  49025. /* 15 << 70 */
  49026. { { 0xba29690803360c88L,0x3fb087c036311812L,0xec5fb10ad9ff6a48L,
  49027. 0x52f7077f207dd8e1L,0x8e65cfb844c02fbcL,0x4f4fcde2fbf4bfd5L },
  49028. { 0xd1ff54156cc74320L,0xf989d544f68b036aL,0xafedc2db973bd9beL,
  49029. 0x7bdc35694785e26aL,0x0df36796751ae9baL,0xfebde691ccdabd95L } },
  49030. /* 16 << 70 */
  49031. { { 0x3499b44bc77488ccL,0xde000e01aa8f3c10L,0x30140406c1f517d7L,
  49032. 0xd4b3c8eb82a174e8L,0xc8835b13af2c9b3aL,0x2cd7626e443716f4L },
  49033. { 0x336c4f4b9c22de71L,0x9dd2b277f2529f60L,0x6ffba2dc828c34d3L,
  49034. 0x257a345c34d0d1f7L,0xbc1eff056ca4fbceL,0x05b335620768349fL } },
  49035. /* 17 << 70 */
  49036. { { 0xb142febb692e076aL,0x10cfaa6b9a654721L,0x5b7ba30c8d4917c1L,
  49037. 0x44be3089dfe4056bL,0xb7530ae6ae6307f4L,0x47c519c45b5f381fL },
  49038. { 0xa80648d8c3078009L,0xfde72e30dcb021b4L,0x8a89a51bdc2659e8L,
  49039. 0xb9e0efa6306adefcL,0xc671c060c754a7bfL,0x703c698e18f14248L } },
  49040. /* 18 << 70 */
  49041. { { 0x25c86ad43c47783aL,0xb1f94a9650f85a4dL,0xb9472e3ac023a02fL,
  49042. 0x91033d1b26f0fcdfL,0x95d775c1ab7b4ee3L,0xbe17daffdf3a5cb7L },
  49043. { 0xaeaecd2ce78395f6L,0x0e3abb0953b5da8cL,0x5f729f858ee774afL,
  49044. 0x1acccfb3aeca7a6eL,0xd066fccb37e4af11L,0x24c832ab84fc3259L } },
  49045. /* 19 << 70 */
  49046. { { 0xca547b680ca4864eL,0xea40fe17c7d49f27L,0xb5e68bab87227475L,
  49047. 0x6ba2bfaf8ce485f7L,0x4d2747acb72684f4L,0x5fabffc670aa6087L },
  49048. { 0x2d4ded5679c67c9dL,0xaf3b4eedc8a4f22fL,0xbef6128ebfa6ca86L,
  49049. 0x7ce412bbd4381632L,0x518e6ecfe670d99fL,0xaba6518dfa5f426bL } },
  49050. /* 20 << 70 */
  49051. { { 0x5ebdc79cd41b2401L,0xf0cd8598c498e0f1L,0x93f6efe79c8b7f7dL,
  49052. 0xb2f1e40ac469aa57L,0x882f0e943433c455L,0x0add72adaea0712aL },
  49053. { 0xb13578c399af96d0L,0x43c28dc621177663L,0x83aca2d854e09133L,
  49054. 0xae03943cc6ad8532L,0xce0a61917104f75cL,0x7dec8786f9838c37L } },
  49055. /* 21 << 70 */
  49056. { { 0xb0b41b8ec5abaef9L,0x43f59aee8ff5d1f2L,0xe58f78c9234d3d34L,
  49057. 0x0e1948d029a7f49eL,0x722f8e54c6cd8941L,0x75a4ebcfbaf24424L },
  49058. { 0xec8954982d7dc6d9L,0x8df2feee5261e4e2L,0xdf2820b825dfb96eL,
  49059. 0x4b89c4dcff651949L,0x27c871a527bacbe1L,0xfdc70cf7329a52bcL } },
  49060. /* 22 << 70 */
  49061. { { 0x37d58766fdb3f3fbL,0x49d9a762ad64fa66L,0xf80423918cfdbbc2L,
  49062. 0x22e60ca36400f7eeL,0xfab8ea7568210629L,0x91267753963e5b6fL },
  49063. { 0x5988d7f56b8e7ec9L,0xe43e762a5899e718L,0x842dbdcc40ae8b99L,
  49064. 0xa7ced3f19869739fL,0x1ccc1e8a6d54b9f5L,0xaa3a91adbd32e710L } },
  49065. /* 23 << 70 */
  49066. { { 0x306d662c6d4c255fL,0xf32aa48101fa367cL,0x29a71e02f16b3197L,
  49067. 0x653f7d88513a6079L,0xde93d6e74541b4adL,0x4d284acd8c54d3b1L },
  49068. { 0xfc9d462be106ed07L,0x6e3818d07e355468L,0x2ad523859400c515L,
  49069. 0x287af41d5ecd3b52L,0x1162162351e1fb02L,0xd696d01f17bd4584L } },
  49070. /* 24 << 70 */
  49071. { { 0x9db114e3715aa8daL,0x596c2dc25c2fee22L,0x04df016bd2f3080eL,
  49072. 0x0cb3f7cfb9b72037L,0xadb877c7814fe2abL,0xb2d5ec5c37761ec1L },
  49073. { 0xb5d6068e55d45831L,0x5fab1dffb7c52c04L,0x39b4aa5457d36d41L,
  49074. 0xec1de467423cc8cbL,0x280e02dafda6566dL,0xc70c3c383ca55f55L } },
  49075. /* 25 << 70 */
  49076. { { 0x27a866e7c6b03391L,0x980b0a42bfa32fc0L,0xd27856910c105df7L,
  49077. 0xf3def8c77103a2b3L,0x6c4ff04bdffea913L,0x57b1003e121140ddL },
  49078. { 0xf47bb2826d0e3170L,0xa44d6ab1e6abdfedL,0x67114b8a2a4b69d1L,
  49079. 0x7605714d52d7c65cL,0x3734795ef60b81deL,0x277f9816ebf91959L } },
  49080. /* 26 << 70 */
  49081. { { 0xe57c2ed902b3b70bL,0xcec67da99dbc076aL,0xcaf66725b0644881L,
  49082. 0xdea4f6608a3a3f96L,0x5215f097609df5ceL,0x6d828267010193e3L },
  49083. { 0x5971ff31a156565bL,0x44f7e4037b64e465L,0x2145ea9ab5486d75L,
  49084. 0x47b04066758e7ec5L,0xc181833a9c93cbe9L,0xcac07a9fe8443292L } },
  49085. /* 27 << 70 */
  49086. { { 0xead7cd3d041326e8L,0x721785f26092e605L,0x760864024ba91a6fL,
  49087. 0xb7b9b9fa335e8522L,0x6ba9c85387bb3ea9L,0x9c9f1f6f89b2ae0fL },
  49088. { 0x952bb995aae2014dL,0xf8e74d80c538cfa1L,0xb21ca840b55b7e72L,
  49089. 0x22565ec4ad982191L,0xf9547aa1f569c537L,0x8d3cb14648596bcaL } },
  49090. /* 28 << 70 */
  49091. { { 0x340d77c2f3b6cbc6L,0xe09ae22c80f4f690L,0x3e915b028b74d32cL,
  49092. 0xae7101ca3cc1117eL,0x3c36152b526c5939L,0xdad8aedbd3ec0caaL },
  49093. { 0x34de058e351bde13L,0x2fa75fd4582726d1L,0x27c030efc214ac0eL,
  49094. 0x2a216d1cc7100acbL,0x3b730043309097b7L,0x162ada747afd8aafL } },
  49095. /* 29 << 70 */
  49096. { { 0x43893d328c216eacL,0x475a3466349d7334L,0xf9f259866114fbc4L,
  49097. 0x96a22d2f0410b54eL,0xc60b69a53f3d951aL,0x152416e7fb400ddeL },
  49098. { 0x3904dd2e8f682dbfL,0x5459272368383eeaL,0x0092554ee8c998faL,
  49099. 0xc80f28512c602ce9L,0xab2f8533b197386fL,0x8c302dbc91094b32L } },
  49100. /* 30 << 70 */
  49101. { { 0x853d994eea2026d9L,0x18734b04a1b927d7L,0xd4815747ce88d009L,
  49102. 0x0265742f01b856bfL,0x05fd8b1e205d4e15L,0x0f4c8be0f1da4808L },
  49103. { 0x2652b76c456d62abL,0x0d3d1a29cbb8d818L,0xf350487453048509L,
  49104. 0xe393ef54e89ae4a5L,0x19ed8f0cc4b1306cL,0xfd72388da1aabd6dL } },
  49105. /* 31 << 70 */
  49106. { { 0x8a7e1494289e6aa7L,0xc69223e65c955385L,0x2bcbad5c087b8c7aL,
  49107. 0xc08008a531fed020L,0x9d38f5b2dc117c3bL,0xd84158bee4ad6b36L },
  49108. { 0x2c2583eb92fe5b21L,0xebc847bf557ce949L,0x4c1b54ff4fc0fd57L,
  49109. 0xe437eba325ff2f8cL,0x79a4c3cb383caa3dL,0x38a34856e08356edL } },
  49110. /* 32 << 70 */
  49111. { { 0x5d7afe9a10fa53ceL,0xe2415b501ff49021L,0xe39a067dc6523492L,
  49112. 0x3458527527557f5dL,0x756b8d86930e9f9dL,0x88df6219040d52d8L },
  49113. { 0x606eb60b5362b045L,0xd179818c9e383cbeL,0xa6215748e068d293L,
  49114. 0x73fbdca22fce158dL,0x9cfee07dcb183c8fL,0xc0bf2beba5e03c98L } },
  49115. /* 33 << 70 */
  49116. { { 0x36702d091bf9acc2L,0x1efceaebc9c9dddfL,0x31f9f5599b9afc1aL,
  49117. 0x359d4ff33e61a0e4L,0x33b3a707f3772327L,0xd990af318ac1c7ceL },
  49118. { 0x5ee060b7e736ad45L,0x83dbe8b2f653ac2aL,0x30a1e38b407f054bL,
  49119. 0x0ec6c70bd9326ac9L,0xeb37ad09d7358ab4L,0xaf36143030551ef3L } },
  49120. /* 34 << 70 */
  49121. { { 0x7b05d8e56edd5c74L,0x268edfac5443acbdL,0x73e0d693ce1ee52cL,
  49122. 0x67c67914120a1270L,0x54a897cb6f1c5007L,0xe817914a8d540dbaL },
  49123. { 0x85c1fa1958fc091bL,0x4f4989f4cf2698feL,0xbb2d5091168c08b4L,
  49124. 0xa6143388768cdd46L,0x69ec7a265e62ddc5L,0xc08749ae2654f4b2L } },
  49125. /* 35 << 70 */
  49126. { { 0x0a9882b37409bdbeL,0xfad3899cf8b6543eL,0x01c183f9f7e9893fL,
  49127. 0xe6438cf708ac9a25L,0xec22dc81aa0f2794L,0x3b641c02aa277a09L },
  49128. { 0x686b1fbd0975c891L,0x4f7e1b680070ce2bL,0xdc343dd7487e3f1dL,
  49129. 0x8825d9c230f35abaL,0xda5a77a413b91384L,0xf09d958459e405faL } },
  49130. /* 36 << 70 */
  49131. { { 0x76b242b31cf2ab8eL,0xceb190e697edb12bL,0xd39b41b7089fc439L,
  49132. 0x6ee54e750892be51L,0x128fbcfcde414849L,0x4462539007fce5faL },
  49133. { 0x9d12e04513709b9bL,0xc2c49737d95b22a3L,0x0bcd670be4b34d6cL,
  49134. 0x78d7b8cd768d7c8aL,0x7cf9382e16a0f402L,0x9b84311d17238fa2L } },
  49135. /* 37 << 70 */
  49136. { { 0x6b7faaf8c19b849bL,0x24aa5d54a5bec317L,0x991aeb14e7c06172L,
  49137. 0x52dc7da883e65aebL,0xda8998497696dd56L,0x3844a54e94cea131L },
  49138. { 0xc9fb72ac55f69169L,0xe2f7bfc821893ab6L,0x44220c2edc4057f9L,
  49139. 0x9f4f0c3812d5fedeL,0x5725b2b05c913be6L,0xfa08c56c02d8668fL } },
  49140. /* 38 << 70 */
  49141. { { 0x9aff9f0c009b3e1dL,0xed7936d97a3c8c8fL,0x0bc8e46fdefbd340L,
  49142. 0x7b508ef231540ba4L,0x9bcd9108005388f2L,0xa25cfa07c089f35dL },
  49143. { 0x9ec7cf81733bccfcL,0xf8a1993a249006d6L,0x1e68981a96d81923L,
  49144. 0x27b6199adce834d6L,0x2ddccfcfacffb035L,0xf62d7a534fe0126cL } },
  49145. /* 39 << 70 */
  49146. { { 0xc800c1d5af76895bL,0xc86db45c43f2a94eL,0xf77322fbdbb144cbL,
  49147. 0xb2607dc8f7da8df6L,0xaf666055b6cc1047L,0xf1db6416375619d4L },
  49148. { 0xf6103c8c4b0fbd9eL,0xea8e979fb4f5b85aL,0xb0307d41fd16f61eL,
  49149. 0x26bf96c58cadf61eL,0xb56c53a3bd348a61L,0xd1a5aa4f8a01388dL } },
  49150. /* 40 << 70 */
  49151. { { 0xa29d231edda802baL,0xde8d0d510ec3c1e2L,0x0ee56eae117033bdL,
  49152. 0x4dc9491998bf860cL,0xa08919cd775cd56fL,0x609a30dc1332bfc2L },
  49153. { 0x2c337f181a41db0dL,0x27fb0072c974824bL,0x34292c1bfaf28976L,
  49154. 0x242fcd73ef8c4fccL,0x553723b27473c603L,0xb2191ee9a06a0bc1L } },
  49155. /* 41 << 70 */
  49156. { { 0xd10b7b7c10bf3427L,0x16f9ebc505321572L,0x057692f6db5fde44L,
  49157. 0xf45d4d268f047704L,0xe3f8784e25584db0L,0x753764cb9f548980L },
  49158. { 0x4239bd4858f5360dL,0x9dc993da98296063L,0x0fbb0c419ffd05b9L,
  49159. 0xa6a87d50610c3493L,0x99f5669df10f18abL,0x5a03f02ba4224a18L } },
  49160. /* 42 << 70 */
  49161. { { 0x3c6839e5bf733207L,0xc2f380899c6d106bL,0x43155630e39a7559L,
  49162. 0x28d6cb546f2b8d34L,0x19738cdf09183c75L,0xa71ec595dcee5a08L },
  49163. { 0x8e9c1cc3c70db659L,0x1333d7b38beff6a6L,0xb263d91e036a5aa8L,
  49164. 0x72728714ee4f858bL,0xd65fcffbb885ceecL,0x08193f585aaaac96L } },
  49165. /* 43 << 70 */
  49166. { { 0x264006e1b53b4c8dL,0xd3748c0bdea2f9ceL,0x019408d34e580011L,
  49167. 0x381bcc70b1342807L,0xb904a17191eb1a0aL,0x13ddf3af6151a1cdL },
  49168. { 0x13827129bc228909L,0x3378b4834cdbebd9L,0x25806f7ed56635c1L,
  49169. 0xd1a3fb1c54327e55L,0xb2b8895c69d94817L,0x0779752d7150c16cL } },
  49170. /* 44 << 70 */
  49171. { { 0x228437506ce71a1fL,0x39c6fd9abf0956a5L,0xd34a4be8c8d29ce5L,
  49172. 0x41dc15356fbf8fb0L,0xdce277034c950de0L,0x1ad7192f90c75c28L },
  49173. { 0x5b3df71e27766767L,0xba85ec629ca80b5fL,0xfadae6e5095938d8L,
  49174. 0x5ce3ffc24d286159L,0x60f771fdc7b977e5L,0x7a764991b38c0c70L } },
  49175. /* 45 << 70 */
  49176. { { 0x3e4440b7469f6406L,0xdba02dea247657bcL,0xa551a570a46227e5L,
  49177. 0x278bd5a06e58b15cL,0xbbc5f8edc53eb694L,0x50e6bf5b855a2c7cL },
  49178. { 0xa80af271d231f3b9L,0x6c22008bc139b010L,0x04e9a337ba1e27e1L,
  49179. 0xcfb75909677a28ccL,0x95c59b55f967af35L,0x70d24fe88d3c6ddbL } },
  49180. /* 46 << 70 */
  49181. { { 0x0117cabbaedcb5a3L,0xb70a95d52e7bc67aL,0xdc2e07d1ad7e7cffL,
  49182. 0xf507941825b9a6b4L,0xf953a962bc8b2f61L,0x390a630d181fda94L },
  49183. { 0xc833598d1fbdd233L,0x0213e633ac4763dfL,0xe822febbcabd2713L,
  49184. 0x522864e71d2a409eL,0x49d778a81f904f3aL,0x0dd980e15912be0aL } },
  49185. /* 47 << 70 */
  49186. { { 0x97f993f46621ff1cL,0x3bdcc1ea7d30ef87L,0x931c624585386384L,
  49187. 0xd17a7b6a8cb593e3L,0x1b25176da0912f55L,0x323cf7ac2faa4d72L },
  49188. { 0xababa6c58683a7f8L,0xa99ebbda4a71606cL,0xb5375f6b0cd8fd0cL,
  49189. 0xce43e2e08ae372b7L,0x957af3cb9e69c105L,0x167c4fca772d0c74L } },
  49190. /* 48 << 70 */
  49191. { { 0x0934812574503f05L,0xcd6a64b217bf8ab4L,0x791e72fa1fd4057dL,
  49192. 0x033abed8f0697964L,0x1085ac930d58690cL,0x8acd49d69c8874cfL },
  49193. { 0x929e4c39ff1a5286L,0x9704e80ff28395abL,0xfa69fce54c3d9f8dL,
  49194. 0xdeb56555fc83a6c4L,0xd375fa037dc04c5eL,0xab2f12f156a58cdcL } },
  49195. /* 49 << 70 */
  49196. { { 0x381d144f8119fa7dL,0xda3aa4a73c6cf64eL,0x3db4cf0a74cc1520L,
  49197. 0xe8148941c1cf3514L,0xbc6c7398a22977daL,0x75e26d4982bbdc63L },
  49198. { 0x17a626a4c9594c3cL,0x766fc21a60d71273L,0x547331241c7653a3L,
  49199. 0xdbe3a9f1502617a8L,0xe41acd19a33d622dL,0x4d24cbd5e15d69d6L } },
  49200. /* 50 << 70 */
  49201. { { 0xdde0a062dbbb9d08L,0xb5676d14153211e7L,0x747247f6f97b1468L,
  49202. 0x93a6de79b2ada501L,0xf9d4e652518ce913L,0xefb0de76702b82fcL },
  49203. { 0x2c54ffd9d68961fbL,0xa6a2d1a384f04f81L,0x88167488d74b91adL,
  49204. 0xf20bba56a7d73a78L,0x9af1df5ae1afc672L,0xd79ded4543c26afeL } },
  49205. /* 51 << 70 */
  49206. { { 0x24011535a223c19bL,0x38b55f0a19c719f3L,0x369f86b4d343ce98L,
  49207. 0x6516fca318288db7L,0xad32d4699e4aa0a4L,0xb6c80dd50480429cL },
  49208. { 0x890d73f3b659b787L,0x2d1f888be15362aeL,0xd26a84bf7a9d8c3bL,
  49209. 0xd79b764460bc6435L,0xecd0272f07b0abadL,0x3ab2390382d7c63cL } },
  49210. /* 52 << 70 */
  49211. { { 0x3ec1874496d87afbL,0xb02425b5aeea74b1L,0x47cfacea954bb89eL,
  49212. 0xd8d6ff40cd26918aL,0xf2dbcbb19fd4dea6L,0xc481a4fe370fea30L },
  49213. { 0x60df9f99a334a5a1L,0xeacebd61e6fbc823L,0x21932e6ba0140a5cL,
  49214. 0x6504deb051206cceL,0xaa4b43a350560eecL,0xaf965e7b6535123bL } },
  49215. /* 53 << 70 */
  49216. { { 0x25ce17e7be01690fL,0x82bd07fc216f7549L,0x26f98cddac6e021cL,
  49217. 0x815367ff3403972eL,0x01b1cf87cd89d71dL,0xe777db14ae24f544L },
  49218. { 0x8081a692f628a076L,0x663adf4498b98423L,0x4a31e0bfbfb25b73L,
  49219. 0x5b42f193427be5b2L,0x24b1369118ae7408L,0xf13654a6e9998e84L } },
  49220. /* 54 << 70 */
  49221. { { 0xf8ec0a9e1b64a70aL,0xa1042bbb45fc54dcL,0x3ac4a936b7cbec0bL,
  49222. 0x0c2db54708eb7d93L,0x3f16e7c961ae36d2L,0xde25381b4611083aL },
  49223. { 0xc1680ae3cf5edeb7L,0x7c86d74ce2b3398eL,0xa3ec4cde9945710dL,
  49224. 0x303d28ce864e3b4fL,0xd5b9730012956ac7L,0x9ad973be3c0763b2L } },
  49225. /* 55 << 70 */
  49226. { { 0x526c03ba1979515aL,0xe6492299cde06e58L,0x2215e3fb93ec91d0L,
  49227. 0xa086161bf783b7caL,0x89e39ff44ef0015eL,0x42c6ccc595e90587L },
  49228. { 0x7577d689a81ec775L,0x272e4578daf4d896L,0x6d43c717cf01d7aaL,
  49229. 0x583814cffd5253d6L,0xee692f0666f7a3b9L,0x54048fe4e99bc633L } },
  49230. /* 56 << 70 */
  49231. { { 0x2afba531c0b9171aL,0x687dbe4cf2d75c55L,0x7c1c73f7fa17ba3dL,
  49232. 0x7886dd45063787eaL,0x14f59a18abd0a109L,0x1819df3c873bb66cL },
  49233. { 0x76c969dfe01183f5L,0x486a120b1a78b6bcL,0xdfd702fac5686aa4L,
  49234. 0x2f74157bf3457569L,0x66c8c73e01964800L,0x0a2f6114def25ca0L } },
  49235. /* 57 << 70 */
  49236. { { 0x841838a8227220dfL,0x39eb77e2cd45ff3bL,0x7140aa47f5a060cdL,
  49237. 0x9fae5937b55bc3a6L,0x243390ea09b711c4L,0x69db2ace867a3eedL },
  49238. { 0x14ee853a152860b0L,0xe3389c4edae0dae9L,0x4fa55ed1248a496aL,
  49239. 0xda6803e00ef304bbL,0xd19f48bcd04c2823L,0xe76b8d82a61773d1L } },
  49240. /* 58 << 70 */
  49241. { { 0x2e3a6332f7ae9a8aL,0x89f1576f78a12a00L,0x9597b2b245ab254dL,
  49242. 0x2017d6306309a625L,0x0385c02719adbe9fL,0x26c84f2014606336L },
  49243. { 0x3808a31a3584dd47L,0x0fd2bd1b4e1da791L,0x70c2827fb894be27L,
  49244. 0xac97e84547d1faecL,0xa63c56fe9b01c835L,0x19c3b18067ca7507L } },
  49245. /* 59 << 70 */
  49246. { { 0x975dbe423a07930bL,0xf03fc9da8f7975f3L,0x94209a2522662e65L,
  49247. 0xf5b20e6b9619dcdbL,0xa95e2188ed5ee020L,0x2301e35abe7fb828L },
  49248. { 0x4216b05b9caa0bceL,0x0534eef625cdec7bL,0x81f5c5f8613aa24bL,
  49249. 0x8705662951451a5fL,0xffafb623df15645dL,0xe19276fe79c497c5L } },
  49250. /* 60 << 70 */
  49251. { { 0x461bb6e1d118ef5cL,0x277e378d1f4bf653L,0x3b4138849ccaab1cL,
  49252. 0xa5979a3ecea9c61fL,0xdc2a23c09dbfe67dL,0x5f7e32f5335cb2d7L },
  49253. { 0xeefe71a87accbd69L,0x65d961341df58e12L,0x17bafa56538145d8L,
  49254. 0x2a723472695df807L,0x132b5320394ec082L,0x96219e617d0ed426L } },
  49255. /* 61 << 70 */
  49256. { { 0xf08ee7071ec12e08L,0xb9a51fc40c4917aaL,0x1aa9b778aa085b77L,
  49257. 0x3b3e40d72e62193aL,0x3700217fdc211bb4L,0xed03eaf4fbea2fdcL },
  49258. { 0x82e00364c55111e0L,0x3be15019e3cbc07cL,0xf142d230055b597bL,
  49259. 0xf68837b1a063deb9L,0xf1368df622e72e40L,0xfc712c67ab522f37L } },
  49260. /* 62 << 70 */
  49261. { { 0x02ca4c0dc3c8ee2fL,0x1962366a0d75f552L,0x6354ab90a43c43e7L,
  49262. 0x9f46429f7668d14eL,0x70ffaa6d0ca59472L,0x231fdb485a95ad7eL },
  49263. { 0x82ae5f0acb2ebd5dL,0x2dc8417ce51b1d3bL,0x5052133a2fb456dfL,
  49264. 0xad3b4cf2bad61a16L,0x59f283a48d76344dL,0x5f15465772b18fdcL } },
  49265. /* 63 << 70 */
  49266. { { 0xe0ef0c3cc73a7131L,0x8a4e0cdd43ea81fdL,0xceb5fcb8d6d6ce6eL,
  49267. 0x941179893535781dL,0x20f5e952b37d4531L,0x5e77f33364c25699L },
  49268. { 0xb6645e8fa6d3ff57L,0x6dac30cb5b9bfdc0L,0xb29648e73ebb655aL,
  49269. 0xe1bf3f4005ebc1d1L,0x1b12288514025fdcL,0xe15fab026c5adaabL } },
  49270. /* 64 << 70 */
  49271. { { 0x86230934f14a99d9L,0x1cf9c66e97c1c092L,0x01e186ba6f595ed3L,
  49272. 0xd3291c3de2284a58L,0x03dee2311b9e5e25L,0xf2e9b4ad15cc9f53L },
  49273. { 0x4fba15679770c29dL,0xbf7d673650c4ae2fL,0x86901eb92532d015L,
  49274. 0x4396fd784e7455deL,0x2fbcea8fbcf811c9L,0x3981ad15ae952b37L } },
  49275. /* 0 << 77 */
  49276. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  49277. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  49278. /* 1 << 77 */
  49279. { { 0x6bd2c54d4cb89afaL,0xe78c8bfa36527751L,0x27f52654e3eee747L,
  49280. 0x56f205839598d907L,0x5f91c2d027cb3712L,0xc501819fa3e33c5bL },
  49281. { 0x248490aa4eded738L,0xde7ac94427789065L,0x20138b3d74f7d38bL,
  49282. 0xae791f602fb60214L,0x6b4fb300bd033d4eL,0xc69c25d9bdfd1f17L } },
  49283. /* 2 << 77 */
  49284. { { 0x0c3d2056be21a890L,0x1c1ffbfb8fcfba99L,0x1b68a98b1fbf56caL,
  49285. 0x56fd85ff396e31cdL,0xd2ca58444382c03bL,0xc442030a7d3ef917L },
  49286. { 0x4129a731426afafaL,0xacff17ff5eaae9c6L,0x9e854180653f3b23L,
  49287. 0xe65a1a149ee066bdL,0x3420084e362ea5feL,0x6fe58801c7911e2eL } },
  49288. /* 3 << 77 */
  49289. { { 0x43f0ae676c4be6a0L,0xabc6a17a504bffebL,0xd5be6c25dbb4492eL,
  49290. 0x7efc9ee884bff97fL,0x54fbd9d7062da2e2L,0x1befeb61c6d2ac32L },
  49291. { 0x14cf6dc0cbafef5bL,0x8e640e4771d12192L,0xd0566543d9a16800L,
  49292. 0x9cc2ade9beb1e28dL,0xcbfeb45038e65833L,0x3852eaacd0f5acb2L } },
  49293. /* 4 << 77 */
  49294. { { 0x5e930d65c4650b85L,0xbe96b2ae6350da54L,0xcfac4f7efa08bd49L,
  49295. 0x277e8456a6e10f64L,0x41be3067407ac162L,0xcfd1d03252a9b68bL },
  49296. { 0x8d8d216a9c337e0bL,0xace044dc4e1b9cf5L,0xad9a4102c60d54c3L,
  49297. 0xb09420f028815187L,0x881179c60b3b8e59L,0x872685ed5b09aba1L } },
  49298. /* 5 << 77 */
  49299. { { 0x26d43085ee64924eL,0x5eb54d1c4bd6a77fL,0x69a69ccfd1ca022fL,
  49300. 0xaad92723a3342720L,0x51e27b54421d836cL,0x15e83917fc72a1adL },
  49301. { 0x183e75d14ddea73eL,0x73fe3b9fbafcecfeL,0x0197e0925daefd64L,
  49302. 0x2fa89f60f85b8249L,0x95411aafd23cd465L,0xb7dbe7485d9a459eL } },
  49303. /* 6 << 77 */
  49304. { { 0xab146c207dfc66eeL,0xa7250dcebb6869efL,0xaeba44439d7ad5f8L,
  49305. 0x919f877ec48059f0L,0x780ecd232c6b5c11L,0x586daa8e38625f8dL },
  49306. { 0x46a46c789911c031L,0xf56f74fc65303d34L,0x825bb06d4f384eabL,
  49307. 0xd147719ad6aa2bc2L,0x745fd7460750e1acL,0x2ef411494b3ec757L } },
  49308. /* 7 << 77 */
  49309. { { 0xdb24cd1af10ea702L,0xf393de57461f8ebdL,0xf56f414e5cfaefecL,
  49310. 0x758c8d854690230cL,0x6740c974433d2594L,0x69d92a620aa6bb20L },
  49311. { 0x17be342e9b0bb191L,0xc1cd309fdbf5c97bL,0x089134df8998140aL,
  49312. 0x33809a7e82afcb85L,0x409d2a481db47b21L,0x1d54e86ccdb1bccfL } },
  49313. /* 8 << 77 */
  49314. { { 0x22313dee5852b59bL,0x6f56c8e8b6a0b37fL,0x43d6eeaea76ec380L,
  49315. 0xa16551360275ad36L,0xe5c1b65adf095bdaL,0xbd1ffa8d367c44b0L },
  49316. { 0xe2b419c26b48af2bL,0x57bbbd973da194c8L,0xb5fbe51fa2baff05L,
  49317. 0xa0594d706269b5d0L,0x0b07b70523e8d667L,0xae1976b563e016e7L } },
  49318. /* 9 << 77 */
  49319. { { 0x47de66da62a200a6L,0x67b0ce0d65186fb7L,0x8e8f0248238d23a2L,
  49320. 0x5a44a886c1114a6eL,0x36383e5be8ec166bL,0xd36077d8ca7d2e43L },
  49321. { 0x332f98267c45e8c6L,0xcec2ba1355d968faL,0xdca664a84a56f7abL,
  49322. 0x954652467b03621aL,0x471f66259b6e55d4L,0x401a6a5efb0714e4L } },
  49323. /* 10 << 77 */
  49324. { { 0x2fee0c6d6046896eL,0xde64c4e0466a90efL,0xb0c9755a55395f3aL,
  49325. 0xdfe2dfd6ae3879d6L,0x979853c2d656c53dL,0x58bb6121757f381fL },
  49326. { 0xdfae5707980db8b8L,0x6d4c7cd7d7752f7fL,0xdfb77382c5dacfccL,
  49327. 0xd0fca93104177fbbL,0x9ef6d3e4b67891ffL,0xb599dfcb26024609L } },
  49328. /* 11 << 77 */
  49329. { { 0x79bf86761cc06935L,0x6bbc2d3fd44fe6bdL,0x092678c486f9f728L,
  49330. 0x05631aaf54c3fe18L,0x217adbbe95eec92fL,0xdcdbfdfb955bcba3L },
  49331. { 0xf938779c01bafb04L,0x67f599e73ab755e0L,0x793b591fb00c1315L,
  49332. 0x7ea2dbae3f2d0909L,0x05436dce46614955L,0x02b988888060d145L } },
  49333. /* 12 << 77 */
  49334. { { 0x795df21ba1ebf7c0L,0xa98f2466681b5da4L,0xea18a2ab413b507dL,
  49335. 0x9243326688324aa8L,0x2b91dcc2f74d83edL,0x95054b471f411a13L },
  49336. { 0x50869778e3c621f2L,0xb950f3a9427faf54L,0x8949bf7dae29f080L,
  49337. 0x7c16cd020ef3a3c8L,0x7883c719b122cd0aL,0xa2cad71fc03bd749L } },
  49338. /* 13 << 77 */
  49339. { { 0x60c794125b3ad53bL,0x91c62ac783981a98L,0xa6f30f473dcd7196L,
  49340. 0x55417e7598b4c589L,0x2ce067cb345b89bbL,0x4787f0db71936e38L },
  49341. { 0x208cb360331d7de3L,0x4b0347aa15022254L,0xc66e58865e8af235L,
  49342. 0xdefed4c591a68080L,0x0b8dbd336eeb47a1L,0xb6d44d36f732c8d2L } },
  49343. /* 14 << 77 */
  49344. { { 0xce0b1700d3aa7741L,0x13cc58a90df0cefcL,0xa96149c7da3a1816L,
  49345. 0xd387d361561277fbL,0x2294f77cf2c363c6L,0xc8d19d51355a8a93L },
  49346. { 0x926dd80092affccbL,0x70c59253686afd1eL,0xe4826f2370c4d8b5L,
  49347. 0x948d43dba2226c34L,0x6ffed99e2a097aaeL,0x80e7a99a2ce18037L } },
  49348. /* 15 << 77 */
  49349. { { 0x070c3f39b7f01551L,0x21b249434512844eL,0x46e33e16e2e2a68cL,
  49350. 0xd79daf0ca549dcb0L,0x634fa53966a7b9bfL,0xe856d0a8702990f4L },
  49351. { 0x246e5858e466abdbL,0x3f3ad441edfc851eL,0x9ab3db2c2e397554L,
  49352. 0x6c5b1a39b5cabd32L,0x695649b2427c5cefL,0x6179fa0f82ab4f68L } },
  49353. /* 16 << 77 */
  49354. { { 0x022aa09d236b71dcL,0xb1ce6a0ea65a7640L,0x317344c5b38b417aL,
  49355. 0x29a74cdb436451ecL,0xd898eb6ca8b1c876L,0xf0134f99b74eeffdL },
  49356. { 0x0d9eab64225d71f7L,0x9679b453ceb3cc2dL,0x37c894ce14dbff2fL,
  49357. 0x3704d34927065280L,0x9ee435d8ba29a0cdL,0x675bea1409c11c4fL } },
  49358. /* 17 << 77 */
  49359. { { 0xa8454e2b63263ee1L,0xf4c8a384cc42ffc3L,0xb260754916bf086cL,
  49360. 0x610d299cfa46a481L,0x21777897ce41a4d1L,0xdfc04bb321573cdeL },
  49361. { 0xac7d9433ced06177L,0xfdce0356a281b9ceL,0x22abd67970d48fc7L,
  49362. 0x1e4ebf7750514178L,0x7f0869ef21a255c8L,0x80ae565c29bf477cL } },
  49363. /* 18 << 77 */
  49364. { { 0x607cfaa1a38a18a2L,0xb29ae9c760bd3f91L,0x4991432d76a4c22dL,
  49365. 0x4fe8dcd380e75452L,0x7aeea8150925ed79L,0xa0cc6823b7abca08L },
  49366. { 0x647b164fb0a555dbL,0x60545cd3d6076f3bL,0x7e801133807a2045L,
  49367. 0x74b2200743ac7e22L,0xdfb58fd1716d3e5dL,0x369ad09947772c45L } },
  49368. /* 19 << 77 */
  49369. { { 0xb6c5dc0635ba2007L,0x6543c6307921115fL,0xa7e5a662eb6c493cL,
  49370. 0x728159f54a0b8d6dL,0x8cb07ef1b943fa72L,0x4a2c5cc923c46a98L },
  49371. { 0xea078b478c26221eL,0x68ef5015ce2be601L,0x3048b5de5239f8d2L,
  49372. 0x00a98cd419bbe0e5L,0x0a34161caa94a375L,0x879a9a7aac8a411aL } },
  49373. /* 20 << 77 */
  49374. { { 0x2d968968e3f6217fL,0x60b781ad1fb91fc9L,0x44ce23514a84e6ecL,
  49375. 0xe8f5627d00a3d089L,0x45211a094a980480L,0x11029b7263274860L },
  49376. { 0x44601cfcae0477aaL,0xa05a67df269ca043L,0x9dc3938fb758fbd0L,
  49377. 0x43d5d89abaa35f8cL,0xa38dfa1f2ab3436aL,0xa29653bc529b7061L } },
  49378. /* 21 << 77 */
  49379. { { 0x6ab2e32b982cd162L,0xdd690ed7794d6da0L,0x8fee0b461862f33eL,
  49380. 0xbf9aeee210d244fdL,0xe485aac27dbb57d7L,0x7f7ee4bc0ff23849L },
  49381. { 0xfb3c6255171ba49eL,0x089b9986133e45deL,0xb6c033106d04b924L,
  49382. 0x216af9223ea88efcL,0xe646a49b5fd52347L,0xbb495d2ee404b86bL } },
  49383. /* 22 << 77 */
  49384. { { 0xe24934ba07fd5fcfL,0x4840e1a6a1027598L,0x4c2294d245eead89L,
  49385. 0x7717bb604fda652dL,0xe809c21878370655L,0x417853499151e578L },
  49386. { 0x8bfe121cede554c7L,0x96037a33952c153cL,0x80458ed86a5b30f0L,
  49387. 0xba331cf9ca28472aL,0x31b5f463e6c177aaL,0x68c5dc9183ec14fcL } },
  49388. /* 23 << 77 */
  49389. { { 0x8b78d2bff13dc6a5L,0xacd7e0902285c2a2L,0x6aa7866cb47e9427L,
  49390. 0x7c2483474d9fa3f2L,0x2e668396f0661aafL,0xf491cd6d08cacae4L },
  49391. { 0x772a131158f9a617L,0xf372dcd6b2011823L,0x790a5ae54e6bd2a9L,
  49392. 0x035ff238fee0c8c9L,0xcbbe828cb0b8c53dL,0x9edba1a40af83ca1L } },
  49393. /* 24 << 77 */
  49394. { { 0x2fde4893fbecaaaeL,0x444346de30332229L,0x157b8a5b09456ed5L,
  49395. 0x73606a7925797c6cL,0xa9d0f47c33c14c06L,0x7bc8962cfaf971caL },
  49396. { 0x6e763c5165909dfdL,0x1bbbe41b14a9bf42L,0xd95b7ecbc49e9efcL,
  49397. 0x0c317927b38f2b59L,0x97912b53b3c397dbL,0xcb3879aa45c7abc7L } },
  49398. /* 25 << 77 */
  49399. { { 0x62ecc0cc429bdc1fL,0x6a8000add447c01bL,0xc2dd42354f23e5d2L,
  49400. 0xe6c1790a01b4a0dcL,0x2497e53c24393079L,0x0a113afeb2a00faaL },
  49401. { 0x96c1bd5011151480L,0xded805425aad86dbL,0x639f24cb76720e92L,
  49402. 0xf17703b7d825eb92L,0x10f8924e82d2657eL,0x6edc843c627c5236L } },
  49403. /* 26 << 77 */
  49404. { { 0x472226adf80911c2L,0xfb50c3a5e087a3d8L,0xb194551441848a6fL,
  49405. 0x61f4fbba9f17504bL,0x8c59b2c48e33924bL,0xa7641127ac7a8608L },
  49406. { 0x79feb7fc164a2330L,0x9e0fd67253a44e7aL,0x9c5c973081953c30L,
  49407. 0x25d6932c3f6342f8L,0x29e8b7664b574a69L,0x02f90a46a5de3639L } },
  49408. /* 27 << 77 */
  49409. { { 0xe2d1e2a3465ab77bL,0x2ca0f6a3cf45823cL,0xa1b12306dbdce9d8L,
  49410. 0x820470e7b4b39ca0L,0xe48956c76e847681L,0xc8ed8fc8fbf6970dL },
  49411. { 0x52cb109419ba40aaL,0x08136d091efbaaa2L,0x99dd1ad27d71e1c4L,
  49412. 0x10001f97a3a59a3bL,0x79d229e460e4cad9L,0x6d443d8756732312L } },
  49413. /* 28 << 77 */
  49414. { { 0x8d6b28b4d7cfe9f0L,0x6ee5407a4dce4904L,0x7acee5e7ba0b67f6L,
  49415. 0xd4cf6bd2abf447aeL,0xc085e8e2e7330268L,0x23edbd5a145689d8L },
  49416. { 0xd2ae9bd21d7b0e7bL,0x3196410ec4fe6ecbL,0x964bef26ec2cd59dL,
  49417. 0x09c6d07dd5e0bf03L,0x379f131ea65b646bL,0x0439c37964849830L } },
  49418. /* 29 << 77 */
  49419. { { 0x8afc9a5eae562537L,0xde81bbaab2d4172aL,0xa272c6d53db07247L,
  49420. 0x08b903ffd86ec6f8L,0x3373041f835aa84aL,0x02e8ecfdc8f18f48L },
  49421. { 0xed6b2784ccc11e64L,0x03e45e15842a8292L,0xfcfcc54b653b86efL,
  49422. 0x9678fe7ed9ea2f91L,0xee5bf4584efceafdL,0x188e49d59fcc4be9L } },
  49423. /* 30 << 77 */
  49424. { { 0xeb0098cf67a224f8L,0x14e486c90991108dL,0x0dad68314b397687L,
  49425. 0xf2a4f6cb9d089000L,0x3fcc8803509f7376L,0xdbdf06dddb5d6f8fL },
  49426. { 0x2cbf342806ef3e46L,0x4a4bd5eee432ca41L,0xdcb8bdb70e2d391dL,
  49427. 0x941b9a4ec1710ac3L,0x25cea4333d62c34aL,0x9136e5cd881a70b7L } },
  49428. /* 31 << 77 */
  49429. { { 0x9bfdb9b310c3ed1eL,0xc9a225ec0cd146c3L,0x1fec4316573c4414L,
  49430. 0xe11a408f2fa8323cL,0x198c760ac3e988bcL,0x3f8a5a1caf0fda3cL },
  49431. { 0x91e89f11f6e78264L,0x3cee0165264eebfdL,0xf9412b049898eaa0L,
  49432. 0x3c67991a382e46e3L,0x8d833d7a80acd219L,0x746a696c9d233f20L } },
  49433. /* 32 << 77 */
  49434. { { 0x8b3269a2714a10e8L,0x64cef040a4a2727eL,0xbc5ac714e428865cL,
  49435. 0x531dd17ffdaba094L,0x86d2405718d657f2L,0xe807b0d92f99dbbfL },
  49436. { 0xc428a80f6848ef88L,0xb3ef0709d0b73ce5L,0xa752691922a5d255L,
  49437. 0xbfe6392318a18586L,0x28a0c772fcf633b3L,0xad22b4ec3f3c5298L } },
  49438. /* 33 << 77 */
  49439. { { 0x8b6a2f1ae6c40f85L,0xf0f44c54f44cf3f0L,0xda635b687b25d4b6L,
  49440. 0xee59c00f8cdc9d5dL,0x36509f58cc4876afL,0xe37564484e2c550cL },
  49441. { 0x20f965b565974809L,0x26481694e3fe3a63L,0x6778b20becd272eeL,
  49442. 0x9b6bbf39c9072853L,0x4f61f192b0436bdeL,0x98bf7dafd0221263L } },
  49443. /* 34 << 77 */
  49444. { { 0xa06a4b56e0442513L,0x6537e117dd513547L,0x89e38ccd2a654224L,
  49445. 0x2fe734bd005ee292L,0x54d6933498cfece0L,0x85de5c9d85a79bf2L },
  49446. { 0x21e072bdcd3da6a9L,0x7a5d707b8c16b8a1L,0x43654d0142d04cd4L,
  49447. 0x07d589b94a88c151L,0x5bfe9ea2df726b52L,0x877c46ffcf728e4eL } },
  49448. /* 35 << 77 */
  49449. { { 0xe338f606fa009c33L,0xce596aafa351fe32L,0x8ae0e06123968387L,
  49450. 0xcdaaaa9465c98e2dL,0xec6b8a818acb9355L,0xc2c67e7facbee162L },
  49451. { 0x7068df85517df4beL,0xc34a6ecb7c5c076aL,0xf4193aab6250f0baL,
  49452. 0xe0cd2f3fa6c9ea47L,0x23a57ccc6488135aL,0x044d73e6c12b842eL } },
  49453. /* 36 << 77 */
  49454. { { 0x9d8a78808078c8bdL,0x6ea07982076d44f1L,0xc58fc94eeb3bfda0L,
  49455. 0x0b9e72200dd11b13L,0x8bd58e3aa74a005dL,0x7a30aeda115b7d33L },
  49456. { 0xeb0037e6ef2491ffL,0x0fa2d1a7fb39ecbcL,0xb75aac645ac598f7L,
  49457. 0x2c3c103341f61b42L,0x5a330bf01f7eb885L,0x1c96124d33d5e27bL } },
  49458. /* 37 << 77 */
  49459. { { 0x3f157ea1b28d1640L,0xa41c98f2c96806ecL,0xef261c3bb099566bL,
  49460. 0x11d88be30aa23f1eL,0x9a721a2c47ed1540L,0x214cb5b0e4431563L },
  49461. { 0x36a95c20250f6b19L,0x6b44f01d30eb0249L,0x141777dc5c67e2beL,
  49462. 0x6926b32ebbe7bb63L,0xb72fd3bf756cbae7L,0x226661a279dfb835L } },
  49463. /* 38 << 77 */
  49464. { { 0xc25a44e3300b8f91L,0x08aa9d5691ad1a78L,0x130c561ffdd2a064L,
  49465. 0x36f0b4608c05f94eL,0x748166e158a351b3L,0xe408976147d40ed6L },
  49466. { 0xa0ba5e5d1b2e3400L,0x94aea3b6687f6492L,0xf4975167ea262235L,
  49467. 0x8014e81143e800d6L,0x635a3c516e5df6dcL,0x71207caf2eb20366L } },
  49468. /* 39 << 77 */
  49469. { { 0xc00364013638e940L,0x24baf83bbb70e3cfL,0xc08a99b865dca079L,
  49470. 0xc070152e0d40622bL,0x44880b191697468aL,0xcf95519bfebc1644L },
  49471. { 0x7bdc41d7911a74efL,0xb88180314ad83219L,0x53c523185ad49f95L,
  49472. 0x4e59a29f6d112b66L,0xb2707b9c7515de9eL,0x8322492c150c9bdbL } },
  49473. /* 40 << 77 */
  49474. { { 0xcd81bdcf24359b81L,0x6fd326e2db4c321cL,0x4cb0228bf8ebe39cL,
  49475. 0x496a9dceb2cdd852L,0x0f115a1ad0e9b3afL,0xaa08bf36d8eeef8aL },
  49476. { 0x5232a51506e5e739L,0x21fae9d58407a551L,0x289d18b08994b4e8L,
  49477. 0xb4e346a809097a52L,0xc641510f324621d0L,0xc567fd4a95a41ab8L } },
  49478. /* 41 << 77 */
  49479. { { 0x966f961d46ff607bL,0x7e52ad9bb29278c3L,0x5b9b84b9bc6835b8L,
  49480. 0x00e4a35ad834701fL,0x53aa139866b8f484L,0xc397f087de063112L },
  49481. { 0xb811a9a24e81b980L,0x8d9c38ef8d680c4eL,0x0a7e66ef1c8db33aL,
  49482. 0x1c7e636bf4e17483L,0x25c0a690ae9acf11L,0x5b0a435985966d63L } },
  49483. /* 42 << 77 */
  49484. { { 0x3d4a4ee0a3bb186fL,0x84de7765082c283bL,0x499bf10a8fc8baddL,
  49485. 0x85191faa2db59e7bL,0xc5964c20ccc587a2L,0xfa59313b9cf52cfeL },
  49486. { 0xe614ce878da8cf4eL,0x7d8aa381d60e91b6L,0x054dfc4a0d5c0a8dL,
  49487. 0xbcd89aef28a15c79L,0x2af1121efecbc916L,0x6aa49bcb44f30755L } },
  49488. /* 43 << 77 */
  49489. { { 0x7953c7ec7b7dc4cdL,0xb709542edbdd99baL,0x7a2afc3eb30b5c70L,
  49490. 0x7669020fcd0cc804L,0xb57c1d949fade8f7L,0x5ae7d78cb2eef81bL },
  49491. { 0xdd5457edca354c1bL,0xa531d85c8f5ac058L,0x5fdca829009e0aabL,
  49492. 0x8df732f6f2bced0fL,0x3ee658627faf57d5L,0xf7a265735c2f3bc2L } },
  49493. /* 44 << 77 */
  49494. { { 0xe1ce7f3725a64849L,0x760847744da790f0L,0x4638f287cf5f319fL,
  49495. 0xe36f3c5308c3786fL,0x07042ce1985513cbL,0xfb955cbf73d9cf3aL },
  49496. { 0x3e68a2cacde0774bL,0x321f49b76dc2c816L,0x9bfed81fd76c4d3bL,
  49497. 0x985b34fefd49fa62L,0x2a3de945ebb8fa9fL,0xcaa616f0405da5afL } },
  49498. /* 45 << 77 */
  49499. { { 0xf3fa1924bc6d86f1L,0xbcf9d3cbb41dde67L,0xf96431168057ef19L,
  49500. 0x09315fc52177ef64L,0x1ae99958fcf594a7L,0x7c4baeefaa4dd788L },
  49501. { 0xff1ed168a2bb1bf3L,0x9c697d19b4a651c5L,0x5fe29bcc0df8c999L,
  49502. 0x16446aa446c45428L,0x3a51398061700e83L,0xf34133593f034bc9L } },
  49503. /* 46 << 77 */
  49504. { { 0x9cc126b8cbf28cbfL,0xf3f8aa7c1e6d63ffL,0x533e48d2b7f80225L,
  49505. 0x8fea0d204749d781L,0xd8ea614b326f8185L,0x9cf3e07753c541abL },
  49506. { 0x09040b60d95c9367L,0xc1b19940f5eabd9dL,0x80b0793cd8f8bd1eL,
  49507. 0x95fafd6fadff120cL,0x071b1841ce155f8bL,0xa85dfc8cd29d9d9aL } },
  49508. /* 47 << 77 */
  49509. { { 0xf38e0fdea761048aL,0xd9d5a22c88a93773L,0xbd58470841a99bddL,
  49510. 0xa31ef1edebb412e0L,0xd5c4fd5a0274ea16L,0xaaf215f380c1f0f8L },
  49511. { 0xe842a4537d3dfd08L,0xb5c877ae5a904548L,0x3dadd2eb9c6ddbebL,
  49512. 0x7f97c541e84e54d9L,0x6183b6ce1b8d8829L,0x2a20c212f50534a5L } },
  49513. /* 48 << 77 */
  49514. { { 0xc8c9b0ae7176dd90L,0xa95604542917d487L,0xb03b7946e62c508eL,
  49515. 0x60425926e9fe2321L,0x73b10bba80c1d136L,0xc30a847d9d218c9cL },
  49516. { 0x6ed0c8ef2073859fL,0xa176eabf432dd97fL,0x3078096ab9e96167L,
  49517. 0xb28f0e6cc473e377L,0xb44e4995683a3bc8L,0x483512eed3523796L } },
  49518. /* 49 << 77 */
  49519. { { 0x7ff5827f22adab31L,0xa7e859ad43ee005aL,0xfc2387f402c9629eL,
  49520. 0x6f39e84add12b107L,0xd1378037c097d3daL,0xc677b554d70d107fL },
  49521. { 0xec15469fe4943084L,0x1f0b13b19d412b76L,0x3b3b49b48a265a31L,
  49522. 0x45f28cc7dbe97ff2L,0x33f0e31f4efa0f0aL,0x6b22b99e37a5591bL } },
  49523. /* 50 << 77 */
  49524. { { 0x0a751d3eae0538e1L,0xd51b039af14135e9L,0x92eae0f6e8bdf562L,
  49525. 0xf253bd5c66557b17L,0xc1ff9054ef26b81bL,0x9d586d39eafd711eL },
  49526. { 0xd2b05d3d4f431502L,0x847d727f5823cfe5L,0x2c4e236a8e99840dL,
  49527. 0xa407e2d87c5981c6L,0x989dd28c69ca34b5L,0x2e8ec6b09fe586e7L } },
  49528. /* 51 << 77 */
  49529. { { 0x43161b5c40bda312L,0x8fd476b8a10fbb2fL,0x84cbf7579e5d9a4bL,
  49530. 0x19bb5926a9a31956L,0x66ed993aea9db48aL,0xd7897780ffb0361eL },
  49531. { 0xb031e035adfa3661L,0x1be83caf2296b4d8L,0x8802c98b0024cc48L,
  49532. 0x73adb0c0bac1aa5eL,0x17df92e1bef75b41L,0xd753e99903d800bbL } },
  49533. /* 52 << 77 */
  49534. { { 0x24940b868733c1c1L,0xf5dd77ce2ac072e1L,0xc248ad6bf7bdb8d2L,
  49535. 0x423e0cc9d9a8b926L,0x4318d600e6da05dcL,0x3e557e08ca27dfc9L },
  49536. { 0x8dc551cdc5dc822bL,0x160da94cbc8fb392L,0x4ffebd2aa6d4d363L,
  49537. 0x8190c17db1ce15a6L,0x1abcd1361e9dc500L,0xae3a477c9ee52a47L } },
  49538. /* 53 << 77 */
  49539. { { 0x67ab01575ed80bdfL,0xc77067b69aeb4a86L,0xe6e26abdf7880a93L,
  49540. 0x782248db1e43049cL,0xa902c41016d78616L,0xc6fa899fbf309f15L },
  49541. { 0x81e1532d672d951bL,0x84280ba386556a0dL,0x83190bfb55199078L,
  49542. 0xbc11e8c25a1c4691L,0x8ac60c7f21152509L,0x4211923ec775dcd0L } },
  49543. /* 54 << 77 */
  49544. { { 0xa63b33f6746418acL,0x62085e0eb7359443L,0x3b43ea7b5fb598dbL,
  49545. 0xf4a0f4442b365528L,0x7f4d2ff3eb55a5ddL,0x012cd591f189eadeL },
  49546. { 0x3fbdad99f58c8f84L,0x71dc1b0093bf34dfL,0xfb63f09ce062a588L,
  49547. 0xd5f0f0ad6f24b66fL,0x940e23c91813cd9dL,0xeff8580b55f241dcL } },
  49548. /* 55 << 77 */
  49549. { { 0xb30719d8b7fb5f3aL,0x8f74305b43275030L,0x2fdb613bf23628bbL,
  49550. 0x75d9868ad945ccdcL,0xbfae46f4f0b73348L,0x48ad8bafe26679b3L },
  49551. { 0x3aeb4743d0b389bdL,0xd2463ca37916297eL,0x3a6f37c820f52fd1L,
  49552. 0x7bfade4495ffa348L,0x1e3f6282a25cb79cL,0xac3320d5229bd2a3L } },
  49553. /* 56 << 77 */
  49554. { { 0x261578c7d57c8de9L,0xb9bc491f3836c5c8L,0x993266b414c8038fL,
  49555. 0xbacad755faa7cc39L,0x418c4defd69b7e27L,0x53fdc5cdae751533L },
  49556. { 0x6f3bd329c3eea63aL,0xa7a22091e53dd29eL,0xb7164f73dc4c54ecL,
  49557. 0xca66290d44d3d74eL,0xf77c62424c9ea511L,0x34337f551f714c49L } },
  49558. /* 57 << 77 */
  49559. { { 0xd1f879197700d61cL,0x21728fe49a89dc22L,0xdd3a475be6d93642L,
  49560. 0x3f8554d6e095363fL,0x4b8b712463e1bb11L,0x75db57e6c6da541dL },
  49561. { 0xfdeb9e46ac8342fdL,0x8ab4875114905993L,0x48150a06b2efd023L,
  49562. 0x9f5f513df415bff5L,0x39b1234eee9d7915L,0x735570a7dda66da5L } },
  49563. /* 58 << 77 */
  49564. { { 0x3a79a1756e3d4ec1L,0xde0ee6c79936b689L,0x37a7d9ec7fb84ee0L,
  49565. 0xe82810d38fe1f44fL,0xbe433c7253049e9eL,0xe72ef4f5fb49e274L },
  49566. { 0x525b72094b4ad28dL,0x37bfb857164f5f0cL,0x60327e31ac68d566L,
  49567. 0xdb027619bb71f137L,0x8abc8026abb6e829L,0x99702ff15e838117L } },
  49568. /* 59 << 77 */
  49569. { { 0x974be1d30696f1a5L,0xf884616dd3832430L,0x6997c37ce9dce1acL,
  49570. 0xf4bad00e2e5cfbc4L,0x7727adf8e327a9a4L,0x15315bf16aeeb305L },
  49571. { 0xe697c0af09fbffceL,0xe4291f7589f86a5fL,0x765f1904487b12f9L,
  49572. 0x752c58a5b7f8ca88L,0x9f9563d473716bf7L,0x48803cdbfd032783L } },
  49573. /* 60 << 77 */
  49574. { { 0xa0d935ce9050c5cdL,0xc1e062d03e9b902aL,0x212d0e5dc3054c00L,
  49575. 0xdc9c3f2de70ad96bL,0xa2182ffbc2742144L,0x4680d472a716993fL },
  49576. { 0x9852bb00677f3756L,0x2bb3d78435e6213fL,0xadfdbfe07377fdc7L,
  49577. 0x41db795d708afddfL,0x6848cef57727ed86L,0xb24e416aa6c1dd1aL } },
  49578. /* 61 << 77 */
  49579. { { 0x36d76f2f2edc95c2L,0xbdf2a67810b0670fL,0x49fc8c43b63877a1L,
  49580. 0x23182ed3a87c8615L,0x94c21da96c011a44L,0x3bc0b86860d3c162L },
  49581. { 0xca6a158244815192L,0x4bd1ce04fd97b78bL,0x1d0074cddc750023L,
  49582. 0x40cf8233cdfb0c7cL,0xe4e28aa8bbbfbf3dL,0x72656155b6eec7d2L } },
  49583. /* 62 << 77 */
  49584. { { 0x5b1be65b912b364dL,0xe6369ca1e0335426L,0x249740d58420e7daL,
  49585. 0xff13a26f1ac1acf4L,0x0ecee744b9634fb2L,0xbaa77d57d664ceb1L },
  49586. { 0xadfa7625914f3f7eL,0x17c75e99bbcffe16L,0xcf557911d64aedb0L,
  49587. 0x8a4b7b49c3644ba0L,0x115240401eb7bb97L,0xb823c21a70fc7b5eL } },
  49588. /* 63 << 77 */
  49589. { { 0x45db2c038727c0fcL,0xf5aeeb7bbae2c896L,0xfad1cc32eed15b82L,
  49590. 0x65d4440a8609b00eL,0x35698d956b4dbd25L,0x861615bd0f6cda68L },
  49591. { 0x578efdaa8aec1e99L,0x87ddae76fcf67480L,0x5ff5a1304669ccb0L,
  49592. 0x5fd2f31a0b98ee60L,0xccad491a3cc4c003L,0x6dcf25bbccbc46e0L } },
  49593. /* 64 << 77 */
  49594. { { 0x93a62e7cfa43699cL,0xdad738901bc422d9L,0x265e3cbb10cc9544L,
  49595. 0x28cceb062f37154cL,0x6b79b0713bf2e08bL,0x88e025df3ab39091L },
  49596. { 0x50a8d04d126522bdL,0xeabbc1b7b779bacfL,0x3db4336ac21cc62eL,
  49597. 0x4747f0a36fc00450L,0x067cbf1c544b2d95L,0x2480b7d8fd2be7a7L } },
  49598. /* 0 << 84 */
  49599. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  49600. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  49601. /* 1 << 84 */
  49602. { { 0x0233e423d52eb122L,0xc28483521154b0c9L,0x2ca09cef6349e35bL,
  49603. 0x3b70afc3ded2ec54L,0xc813474d52dded3dL,0x2d3f21bf12f00ee0L },
  49604. { 0xa0908f7692f215c6L,0xb97d60e94e9c0440L,0x84ad10c134b6a8e0L,
  49605. 0x6f37fd956e7c163eL,0x7caae8c8d057e0c3L,0x534f52c2553721a2L } },
  49606. /* 2 << 84 */
  49607. { { 0xa354c1de72a041b2L,0xe83df25929d1330aL,0x676610999d532bbdL,
  49608. 0xb7c2f4cf52011751L,0x6945d34ff659e35eL,0x6217d20ba1303b7bL },
  49609. { 0xa200ddba25751badL,0xa74a729001d3566dL,0x3018445faa82b46fL,
  49610. 0xc3e6a3acfccedc1bL,0xe86ae8703353e29fL,0x1c8085bbfd7e8547L } },
  49611. /* 3 << 84 */
  49612. { { 0x728c8e145d1a678fL,0xf944da572ac89a2dL,0x3016c2da4796df72L,
  49613. 0xf6d79e4e00a55efcL,0x4fced269526b1cb8L,0x4a93e47791f165a9L },
  49614. { 0x528b8572f84f90d3L,0x3b30376e5e725561L,0x4f903520e07bb990L,
  49615. 0x07ddb97f4ea8ae6bL,0x29c01e70b3b735bbL,0x825c7f6e5000dd4aL } },
  49616. /* 4 << 84 */
  49617. { { 0x306b63e3b4dcea78L,0x4b10209213636935L,0x36bb68898bdeddeaL,
  49618. 0x9331655d67a329acL,0x14c7fe26ba92ccceL,0x4e7d6929be0519b4L },
  49619. { 0x0dc39dbd164d50e2L,0xd4c430a0b1679cc5L,0xc7f78818fa8682baL,
  49620. 0x43396eadb60aad97L,0x751784d7ff2c64ccL,0xd37928be866af43eL } },
  49621. /* 5 << 84 */
  49622. { { 0x3742b61e0475f547L,0x48b2a2c2477722acL,0xf52c6787abce3401L,
  49623. 0x4749711ea4cb41b4L,0x7ce0dfb03fca817eL,0x1c1e3bf996e85048L },
  49624. { 0xcd65250e40faa8e9L,0xa8edce7017d9b93aL,0x73523cb2b4dd5619L,
  49625. 0x15ba773abb5379f5L,0xcc5e62d6c0a847baL,0x7efe5c7c04d852deL } },
  49626. /* 6 << 84 */
  49627. { { 0xf0a69e685a91c9aaL,0x0304d20105c13197L,0x773a3ab7cd14af1dL,
  49628. 0xc0b88edd558d555dL,0xeb12d197d2e63dd6L,0x4a8e849fbcd9cdb3L },
  49629. { 0x06432985965eaa14L,0x453d93861a5a6f43L,0xbd28f6164171b9bcL,
  49630. 0x37781639bbfcf90aL,0x1f93898f3a36084dL,0x1fefd8b7dd00ca75L } },
  49631. /* 7 << 84 */
  49632. { { 0x3b8d8e495e456124L,0x967ed511967c17b7L,0x1d72430c2aad8c67L,
  49633. 0xe8c5d506b82c1673L,0x989978868a0fb41dL,0xa9d478f70f81234fL },
  49634. { 0xa0c941cf44cc0614L,0xc033c99024ad30f5L,0xaa7de296101f89aeL,
  49635. 0x4cadd8e3ca6a3227L,0x3b4db51f2764ec0cL,0xcbfe70fc09256db4L } },
  49636. /* 8 << 84 */
  49637. { { 0xb9207dbc2b2f1bccL,0x6afd6871a3e83ef7L,0x49924e5534ba150bL,
  49638. 0x2935ebf1dfec9972L,0x34bf5e94b76f870dL,0x22d0f32b4c20385cL },
  49639. { 0xc78ac1728ccc8e72L,0x7b45b8220ccecb0aL,0x76c67ee4cfb4b8baL,
  49640. 0xecfaefb2cd8724b6L,0xe9bc3d67340bc1efL,0xed40b2b9ca5541b5L } },
  49641. /* 9 << 84 */
  49642. { { 0x5d1bd16518f8e17dL,0x754986b7405f822bL,0x420b1b24d8753fafL,
  49643. 0xab038e0608ff680cL,0x33621a0fa3649f49L,0xe24b84db78918eb6L },
  49644. { 0x0e669672c8bf4168L,0xcb7fab33171eab20L,0xa097d2cc4808be42L,
  49645. 0x4f4e395f5842b80bL,0xddcb1e51a579145cL,0xa635d0cdf330ae0cL } },
  49646. /* 10 << 84 */
  49647. { { 0x9b8a3eb3069e6432L,0x43aaa7fc721397f7L,0x46e23c6ca7e83a71L,
  49648. 0x71b261d593fa3c25L,0x4a47a1050f523a72L,0x31919e898dcad752L },
  49649. { 0x4c8b06e70c5dd2adL,0x677ec5f38bdc55e7L,0x4372d55dcb1b5828L,
  49650. 0x7bf054c1f04dd321L,0x4e8c1a992e44584eL,0x6807803751d35d78L } },
  49651. /* 11 << 84 */
  49652. { { 0xa6d78a3d754377feL,0xcc17c26ac72ae5e6L,0x2f0ab93b1c05fc24L,
  49653. 0x1645c369d64c9d40L,0x7c37b12c563e7e9bL,0xb70d292d58b477cbL },
  49654. { 0xc283aca993a2d5a6L,0x759e9118354c183fL,0x8a031f6fdd8f4125L,
  49655. 0xfa8b17ad56edbe3aL,0x6e0f96eb63c651ffL,0x40361942b5085541L } },
  49656. /* 12 << 84 */
  49657. { { 0x25ae349981d311b3L,0x8640f52a3b16037bL,0xac0839941d947065L,
  49658. 0x3723c75ee2e693d2L,0x65040a51b66f429eL,0x7f582b0b035a3a53L },
  49659. { 0x20eca9e10a166da6L,0x45b37e202c4cc565L,0xeab882957a8a96e3L,
  49660. 0x99e771dab60a1a1bL,0x2cdd778c23b03965L,0x8d4d7a7291052478L } },
  49661. /* 13 << 84 */
  49662. { { 0xb57b345e4ff33506L,0xc1a3092a31d23fc3L,0xc16b501e905e1f58L,
  49663. 0xa36a3b1f29067b85L,0x7cfabd23c214dd5aL,0xbd5f7ab726ad949eL },
  49664. { 0x8f64595987363816L,0x49c1a3e679d12d59L,0xcc8f3e2c32d771abL,
  49665. 0x008d900e6bde16d1L,0x60428a0f60165966L,0xd4f8d9eda7383ab9L } },
  49666. /* 14 << 84 */
  49667. { { 0xa52d3c2d7e8f73b5L,0x86d8063351842657L,0x58f01253b3949ebaL,
  49668. 0x97689f15e79367d0L,0x918bf9a30d820328L,0x2d4bc99441c959dfL },
  49669. { 0x37392f6e8c16ee54L,0x9f726d58e6f0849bL,0x497de1e4b8208f08L,
  49670. 0x60c51233d51a29b3L,0x0f61fb03c9e1d465L,0x09494bd0fbe2613cL } },
  49671. /* 15 << 84 */
  49672. { { 0x100ef5d0a2bd7bd4L,0x89efecf5f45e2a66L,0x63bc210b653786bbL,
  49673. 0xc7748dba0a0e47c4L,0xaf8122ae110d1ba0L,0x6695bfbf797c78bfL },
  49674. { 0x9b0e6fb1d7dbff69L,0x106799703f53040eL,0x22d9ed52fcaf4ed1L,
  49675. 0x1e27bafdcc1b2d4cL,0x839f9c019f1c88e6L,0x1112fe541321ad66L } },
  49676. /* 16 << 84 */
  49677. { { 0x4f293478154d0f99L,0x1b82320dd07a24b3L,0x1bf7c94f64d55f6fL,
  49678. 0x4489b57d725c5125L,0x3aa4d43ab1b6a091L,0x054842bdcf7a60faL },
  49679. { 0xaa918a4d2aeb4cb6L,0xcbdaff99ac7d317bL,0xed0e00a16812a03cL,
  49680. 0xb09acf270b0a1e4bL,0xc73a41f7ac28386bL,0x43134dbdf4cd1321L } },
  49681. /* 17 << 84 */
  49682. { { 0xe5f746af6e001a20L,0xdc975b02d6a9925fL,0x6d13e266e57f9100L,
  49683. 0xe013661396a9c4c9L,0xb483162850a66d45L,0xe3b0f96d4ee8439aL },
  49684. { 0xf2a2c08d3e074501L,0x987b2b6b2be498e4L,0x605aad24a15b815aL,
  49685. 0x5bf2186f8529ad68L,0x1413b3d7885ad25dL,0x3de23959807efaabL } },
  49686. /* 18 << 84 */
  49687. { { 0x08336ffed8c33924L,0x15b56cbf5140b253L,0x38dcd310306caedbL,
  49688. 0x04ecd49647944afdL,0x1280d23f68a48f95L,0xf414220434363c6eL },
  49689. { 0xd0a397eacaa8717fL,0xb51a1669c3994b80L,0xa02eed916c56808bL,
  49690. 0xc3ab55c583545c3cL,0x8b835820fd26114aL,0xe0cfa4a6ffff324cL } },
  49691. /* 19 << 84 */
  49692. { { 0x4db4bfb788b45f19L,0x130252bbe0d5fd16L,0xe44c97b22808bff6L,
  49693. 0x885e4555b03405caL,0x3b7ce036be9af81eL,0xebe17cf58c552276L },
  49694. { 0x6eb946c977f4158fL,0x36c23a9c74a5e642L,0x466ff55f2e70a453L,
  49695. 0x327fd5fd28ea7af7L,0xc96bfbec6e658256L,0xaf194fe8c0a3b932L } },
  49696. /* 20 << 84 */
  49697. { { 0xcf63d27951c0d95eL,0x3b170a0bac86a014L,0xc21eaaa9881095e1L,
  49698. 0xed2fda116069a3ebL,0x536264b9bd2f1c5aL,0x819e1cffde312c2cL },
  49699. { 0x6c30f983dfd6ce38L,0x2f32cc4c980b439eL,0x9fab10b63b9c03b2L,
  49700. 0xdfebe34e011ab74aL,0x587360e3b80963f6L,0x3db1f6108692e352L } },
  49701. /* 21 << 84 */
  49702. { { 0xf262f2379765908aL,0x76f8d0017d03cdcbL,0xdbcadfb22f35de21L,
  49703. 0x88d5bf592a73815aL,0xc4f4e3b02b1bab82L,0xf5cce885b9635dcbL },
  49704. { 0x110a785875a416dbL,0xfe7e6c360adb01feL,0xa02642c01374d779L,
  49705. 0x9010758753bb5898L,0x0c764ed2a363fcf2L,0x24a2a5541700e551L } },
  49706. /* 22 << 84 */
  49707. { { 0x63a094c5fe3d070bL,0xf769b91988515eb1L,0xafe86e1450d1131dL,
  49708. 0x6bf277886774d3d4L,0x7231d699ffd805d0L,0x05132e5b6304116eL },
  49709. { 0x3d5e255be34ce5bcL,0xfd9c3bd0c95e3089L,0x22a24023b83cbac9L,
  49710. 0xfb6d2b6fb0b3b98aL,0x74af1115f7e36fcdL,0xcfe15eaff9da3bf0L } },
  49711. /* 23 << 84 */
  49712. { { 0xb242ffd61da39f60L,0xd0ed946320cac1b3L,0x9ebd5e46e25f809fL,
  49713. 0xc7df7e5a07f5aa4eL,0x5eea38d791a5f85dL,0x6240f01d6080442fL },
  49714. { 0x72ec0a5e251d866fL,0xd3e4acbebf2c0037L,0x0d4f47c90fd962d7L,
  49715. 0xece7c047b8de2dfbL,0x841050b96df17f0fL,0x567c3df7e933a4d5L } },
  49716. /* 24 << 84 */
  49717. { { 0x266d2c1cbb2fcdaeL,0xb538d4a252be93f2L,0x774c88ba73bd0094L,
  49718. 0x65283a9b81a7e042L,0xe1438bbfd0381625L,0x450e1f644d0db206L },
  49719. { 0xb38ae9ef4e60fc4aL,0x14ce87e112719817L,0x831d41ec570303f0L,
  49720. 0x7172917028850444L,0x2077ea32ccd609f5L,0x091d1166cd273fdcL } },
  49721. /* 25 << 84 */
  49722. { { 0xaf5916f49412edcbL,0x9ccc0dc08f01b2d9L,0xbed1fdd42dd737c8L,
  49723. 0x29d26cab95a21501L,0xff38bf18c70f1364L,0x0bdb055876879b06L },
  49724. { 0x706031e2a14164d8L,0xe229fce1fc39648bL,0x5ebc640878e97c8bL,
  49725. 0x26039bda822de18fL,0xab992da4b9f090d7L,0xf409432d53eb438eL } },
  49726. /* 26 << 84 */
  49727. { { 0xdf216dd84b2ca517L,0xb3eec4b9c6b74c4dL,0xf564e6c81c14e77bL,
  49728. 0xcde25f1c2c2c9395L,0x7e31f7a5049fcc83L,0x6913707b9284c753L },
  49729. { 0xb92a6f2458e6eb5fL,0x85b0cab595148292L,0xeaad036d7449be92L,
  49730. 0x2f6a2888eb94a702L,0xd7d8773d47d59fb0L,0x612d257303c0bf25L } },
  49731. /* 27 << 84 */
  49732. { { 0x805ece910ea742f6L,0x54486a6ffb5dba94L,0xaceb0eebbae52f76L,
  49733. 0x2200fd85e98794f0L,0x44bd993ef305af19L,0x28f256738eb8baceL },
  49734. { 0x5d3fabbadc5f9c18L,0x4338f79c1b003ed1L,0xaf4b0566bc20c65aL,
  49735. 0xded9407c3045d1bbL,0xe8713d7506391eb2L,0x557d62c971307365L } },
  49736. /* 28 << 84 */
  49737. { { 0xb872a10584d2c3bbL,0x44bca57139196026L,0x857327d84e352e5dL,
  49738. 0xa6c6004ad925f99fL,0x48aaf266bab79eadL,0x213ad923adab2a3fL },
  49739. { 0x3be29b6df371cc48L,0xe732b9062385c9f4L,0x562e0be123f0a84eL,
  49740. 0xbb6b017228c4b0dbL,0x71a93ae5f4c6d8beL,0x76b8bb16551f1fe9L } },
  49741. /* 29 << 84 */
  49742. { { 0xd028d9b5242002c2L,0xea105054823783caL,0x01cf8a491d45c34fL,
  49743. 0x1035835e42457869L,0x0a95049661cc1e05L,0x9dce5bd3b439afc2L },
  49744. { 0x8552f02003b18e4fL,0x4973e3bde6144805L,0x29fb98d8d8514c4eL,
  49745. 0x0ce0e8d83ca27b39L,0x7aaf3f5284bbc6caL,0x0572bf40d78c7c5bL } },
  49746. /* 30 << 84 */
  49747. { { 0xbbfaaa94c39926a8L,0xb9a59fdb60a138aaL,0x217a1aa2947e30e9L,
  49748. 0xcac988c9c52c9fffL,0x5676473a3bae3c39L,0x7d84b353857f04c9L },
  49749. { 0xdeded30cdd324e24L,0xf07c678a9c242899L,0x956d05538cb64f3bL,
  49750. 0x9d34e2f5502cb2b0L,0x99e1054a51dd03b3L,0x86b8bfa54d60a593L } },
  49751. /* 31 << 84 */
  49752. { { 0x3dcd2df9c8870c4eL,0x7cfdd05f1699cd0fL,0x19e9ccf027e79e0fL,
  49753. 0x56e997027b85d75eL,0x407b5b74ccadcf9cL,0xc961a336297dda7aL },
  49754. { 0x350c34d56d12d17bL,0xe37de9a93bc6afe9L,0xd2c7339e0d641d3fL,
  49755. 0x2700f39cf7dfa063L,0x2916f9ad8ddef077L,0xffec6230547cdbebL } },
  49756. /* 32 << 84 */
  49757. { { 0x10a53b90754d15e9L,0x6cde9a0c5f4c7218L,0x740d513fabef2b96L,
  49758. 0xff6cc47cd3f802fdL,0x1be6825beb0627afL,0xdb21ede55886c2dcL },
  49759. { 0xb6cfb2c6f5daaed7L,0x68b61aa8fae29a9cL,0x7a1e16f53a5a485bL,
  49760. 0x16b60b92e7b2223eL,0x332f33d836a13a9bL,0x4567c313876cd1a2L } },
  49761. /* 33 << 84 */
  49762. { { 0x7663402de62014a2L,0xbffe1e7fc4efd224L,0x2080eb02c38f766dL,
  49763. 0x6c95529ba9641db9L,0x24dc13a5c68de8e5L,0xca219b3fbbc3016bL },
  49764. { 0xb83450e310b634e0L,0x8cd26d775b097a34L,0xb912c34564c9884fL,
  49765. 0x3d1f28be5bd75f1eL,0xdcba2b479466ea59L,0x4077e017ca9948e3L } },
  49766. /* 34 << 84 */
  49767. { { 0xb4b2c65df91c7972L,0xabe915496b689013L,0x4eb7afa8d506333bL,
  49768. 0xc2f2ac1d648e7c0aL,0xc6bc96b1213cc243L,0x0b827c2189e44025L },
  49769. { 0x2e866601cadee87dL,0x8ee85356b4719ce3L,0xefda7427b4fc0081L,
  49770. 0x0d5c33c4c802c92dL,0x4c8635ab58515f01L,0x9d7ed87edd0ab04fL } },
  49771. /* 35 << 84 */
  49772. { { 0x9a660794cda4cadfL,0x70784fff2484a3b3L,0x8ed664ad2de7de13L,
  49773. 0xbaff5937030d906eL,0x884407034ab43a4fL,0x86dfdd53ee09795bL },
  49774. { 0xcffa6852fb0e889cL,0xd94373e1e8c9fb95L,0xecc0ea249b0e3ac1L,
  49775. 0xe88eda6eaa89e492L,0xbb049803da19207cL,0xfbb0c3874bbb5be6L } },
  49776. /* 36 << 84 */
  49777. { { 0x3e2bdd9b5a5f6b4dL,0x30cf4762ab005a55L,0x8736f5188bacd78cL,
  49778. 0x8a5a647b09dc21fdL,0xfba40c38ca06c1fcL,0x63d53fb64a4e1524L },
  49779. { 0xe77d07a19a2bd706L,0x54144ea7bbe30e86L,0x8eb606220bd955a4L,
  49780. 0xf689cc80b3c26cafL,0xc70fe95c9fefcbbfL,0x67f9e8e2495b5bdeL } },
  49781. /* 37 << 84 */
  49782. { { 0x04361e6b2e4d2cf9L,0xdbd3cc13ade11ba7L,0x93dc1d1df47d8ae0L,
  49783. 0x7d46bba6fbb2d65dL,0x797ea0df92e97abdL,0x09eb3975a712e8cdL },
  49784. { 0x9ab3a54e0380cf8fL,0xcd1a9574c96710b1L,0x6abcd1a1dc13dbfaL,
  49785. 0x1be0db71c2ee67f9L,0xee8ec8d0c2ac89a5L,0xbc363f407da201f5L } },
  49786. /* 38 << 84 */
  49787. { { 0xc86c049bbbef377cL,0x43df6f3703de56a7L,0x01eced2b558e516fL,
  49788. 0x18fca0bdb43c1cc0L,0xd8c6f7ff62121c68L,0xb2f1f1ac36f90713L },
  49789. { 0x5f876328ea1bbd95L,0x9f22dd535ac4ce8cL,0x7e052acc7df88002L,
  49790. 0xedf21fb7068d46a4L,0x349130a21d7d0220L,0xcccc79beaaa68eebL } },
  49791. /* 39 << 84 */
  49792. { { 0x9c955b5eb4100632L,0x8d6dd2d3ccd99a0eL,0x700f827c265dd397L,
  49793. 0x5540bc0cfc85a2c1L,0x6d4b8e7adfb81661L,0xfbfe1ebe1d5c1485L },
  49794. { 0x322c2883c9dc1b6cL,0xc7c897cdfd7e0f34L,0xe70b0586030e41aeL,
  49795. 0x4263e06e26a728b7L,0x0ee2b93392387542L,0xae708ccaf6220511L } },
  49796. /* 40 << 84 */
  49797. { { 0x05ff8b9cbc15ae37L,0x94dc2e85d06d62edL,0xea1d1c8b4b02607dL,
  49798. 0x1fc202a224da757cL,0xbd5180bb35440e69L,0x0263dd51698ee7a5L },
  49799. { 0xbe93f27654013d74L,0xa7c041c464e81695L,0xbb170ac13ba5336fL,
  49800. 0x1aadf302af84dfa1L,0xeda58747c960788fL,0xb456070e5eefc35eL } },
  49801. /* 41 << 84 */
  49802. { { 0xa905d421800ed69aL,0xdb8a643813622898L,0xd003affbdaab0769L,
  49803. 0x467bc051f0aed9d3L,0xed1e6951b11085d3L,0x7a1d1152d3f54fc5L },
  49804. { 0x8cb243b6dc8dd008L,0xf9c690d1f409210dL,0x9a3195399461aee0L,
  49805. 0xf580724dbc2e4de0L,0x52f648e4e759556fL,0x235a79f2697885d6L } },
  49806. /* 42 << 84 */
  49807. { { 0xb293d3fe8220ceb2L,0xace20e7e049a33a9L,0xa584ad52af4198d6L,
  49808. 0x49c5cde64aa0a5c6L,0xc4f7877ecee2e664L,0xe1557968bb98ed87L },
  49809. { 0x69b0cd713066000dL,0x1af188cbc7399f29L,0x5b88b85c306188a3L,
  49810. 0xcffa28eb4097182dL,0xdb01149ec80d0aa9L,0x9f8e6d59402bc397L } },
  49811. /* 43 << 84 */
  49812. { { 0xa646077bd5b97d37L,0x618df84461cfbd95L,0x3a9fe2f447c62894L,
  49813. 0x7f2760eb4e0f1612L,0x50c08fdb36e5acf1L,0xac799584675d2aabL },
  49814. { 0x3eba6f54917dd606L,0xf585fa5075119ed9L,0xb047abfca32016bcL,
  49815. 0x61c03e51aca118f0L,0xef9fcc526dc13766L,0xd849eca5e8a3fb72L } },
  49816. /* 44 << 84 */
  49817. { { 0x11ac1ff4147faf46L,0x5dd8913882b818f4L,0xe439f66fb15fe5a2L,
  49818. 0xadf913a5fe8fb45aL,0x3dc708404a6bbdb0L,0xe8e1204da4af4ac5L },
  49819. { 0x4be549318ba70502L,0x945d9a765883b39bL,0x99cb1c721a76198bL,
  49820. 0x96fbed479a7949e2L,0x30ee96ebf0299bc4L,0xb7dc5e76d3dd160cL } },
  49821. /* 45 << 84 */
  49822. { { 0x85eca39b0c88d5feL,0x96000863af9e0158L,0xbb13f99c4509590eL,
  49823. 0x50033c18034e2499L,0x1e9346f87b86cb33L,0x917d88b4aca548e0L },
  49824. { 0x0c422c2e9e2a7e15L,0x6751c95c5e37fb06L,0x631361b8c40d21b7L,
  49825. 0xe231858ec9958deeL,0xae86abc54d9936e3L,0x60c78d1137bf9213L } },
  49826. /* 46 << 84 */
  49827. { { 0xa0bcb7c6283190a9L,0x36c884ffc53fe76eL,0x071d4acab23f0865L,
  49828. 0xd44e3c20e14a82f5L,0x704dadd8968d28bbL,0xb40d2b948e88ad61L },
  49829. { 0x4a29142ff3de62f8L,0xdd071910bd7292a8L,0x5b12c32d5b3571c9L,
  49830. 0xe9886262943c6aecL,0xc49b7506cb1e0a33L,0x87f6c2d3de95886cL } },
  49831. /* 47 << 84 */
  49832. { { 0x44ba232e010f465cL,0xb82486c69ac91d38L,0xcd1a6bf75de743f5L,
  49833. 0xe050232838acbc4bL,0x8de9c29631fb87b5L,0x9c8029250450c4efL },
  49834. { 0x19ee1607635e64a6L,0xeff5478c69ed7f8eL,0x311201a027001c21L,
  49835. 0xfc0382a78beb55ecL,0x494b623ce9dea7f8L,0x926a3f756767f769L } },
  49836. /* 48 << 84 */
  49837. { { 0x802f495cee46f99bL,0x0f3ad0ee43b91cbbL,0xeaf3b294e9b3f0f6L,
  49838. 0x82cc760033cbdcd1L,0x1a5642278e83fce5L,0xcf1b2edaffa0e4ccL },
  49839. { 0x7d93e9769b1f5706L,0xe4eb843cf873d68eL,0xcb53dd79eafe5f35L,
  49840. 0xcbbed8f0fcaafabbL,0x570472705f053efeL,0x2c71a95f1ebfeb7aL } },
  49841. /* 49 << 84 */
  49842. { { 0x02d4717ddd7a5499L,0x3bc8bdcb9966236bL,0x13f08015fd27be15L,
  49843. 0xe05236f6baaff392L,0xf73bab3f7b4cc522L,0x8ad26d4552ccc027L },
  49844. { 0x79f8e79e9e9ccd7fL,0x8011b92aab2f22d9L,0x6aef576e729662e5L,
  49845. 0x7d5194d05e568f55L,0x2947d63a1a40860bL,0xe9890f1440305b54L } },
  49846. /* 50 << 84 */
  49847. { { 0x8085614c0fa9602eL,0x9ee1b9b26651c4ffL,0x65dd9c94ec048f1bL,
  49848. 0x10b4a62f6d6c0fd7L,0x61469fb7d391dcd2L,0xdf751399edc3d431L },
  49849. { 0xe3901315c913acbbL,0x31581d7a90976644L,0xf20809634aee5cecL,
  49850. 0xaa716eafe5408c5dL,0x9e356989b9a60ad7L,0x2d6e7733a6a3c977L } },
  49851. /* 51 << 84 */
  49852. { { 0xd6d99f54f19b8464L,0x3322a0b8a0be5c3bL,0x6cff730557e98725L,
  49853. 0x786709c7953a357dL,0x3864d278a1013652L,0xf7471f111738f6e6L },
  49854. { 0x0377a923984c465aL,0x4a24b9e14ba970e2L,0xe53dd9f21c01d248L,
  49855. 0xf422b754fbffc0d5L,0xae25dc0ec6a956b0L,0x3c3fef96ce806445L } },
  49856. /* 52 << 84 */
  49857. { { 0x6a69d207b5906d71L,0xf3c757ed8964e1b1L,0xdae255af5f98821fL,
  49858. 0x6c801ed4db1af96aL,0xd12430343d109b86L,0x4b2aa65fa091f98dL },
  49859. { 0xd9bb4c2132dcb5f9L,0xe5a5979bf190a1e0L,0x0861e5de40117a91L,
  49860. 0x8753c9adc39120e4L,0xfdcb09f4aeb4a18fL,0xdbda38746bd1fd08L } },
  49861. /* 53 << 84 */
  49862. { { 0x1bd8e8c0304f7045L,0x8ffcf24eedbd2dd0L,0x13c9441de6ae4dadL,
  49863. 0x5efb70aab418c02dL,0x9d0fede1b8cf6949L,0x613545cf41f5aec0L },
  49864. { 0x4e3342244b98bddeL,0x7d0c11110fd8aaf9L,0x30c2bedcdfb8643cL,
  49865. 0x875d386aa83e493fL,0x85b32632d6cd0825L,0x9f1ef3a01445507dL } },
  49866. /* 54 << 84 */
  49867. { { 0x2b70440e54f6b8d9L,0x355e692430eddda5L,0x354e7cfbc9199910L,
  49868. 0x7e8933bfdc7de946L,0xc5692fa981b9eaabL,0x2eb58fff98cf5f21L },
  49869. { 0xd0d8f9bb96b19d59L,0x779aad414d1a6285L,0x0cee1a9b5eb87c49L,
  49870. 0x676e36ff786c4c81L,0x6618c8f112d34964L,0x2061186dd03e9562L } },
  49871. /* 55 << 84 */
  49872. { { 0xa5ae40977da39b54L,0x98e4d1d9f1d40635L,0x40d97af126154fc6L,
  49873. 0xf18041d4e9ae28c3L,0xdca9487555978c61L,0x4aaddec43638b9b6L },
  49874. { 0x1e615a2eab925f91L,0x5cfbbe9ded8a50faL,0x0f26d3ffb2034aa1L,
  49875. 0xb2f9cee2c4813646L,0x2195af47957b6709L,0xa55dac537e7fc45fL } },
  49876. /* 56 << 84 */
  49877. { { 0xe44a8ed7630816b2L,0x5fb9b643cca34310L,0x07826148a3b5d2e2L,
  49878. 0x0f890db16e65c2efL,0xe9feebe288283844L,0x8e56c6760368a9f4L },
  49879. { 0x8f0cc9c93e4ce874L,0x646ede9b09f1beffL,0xe92d6bda014e3d19L,
  49880. 0x27e620c5520c921fL,0xfd9b2ae1eed78555L,0x68684615816a603eL } },
  49881. /* 57 << 84 */
  49882. { { 0xcf54e9e89ded00c7L,0x8dff0130abbf7765L,0xf12773fb10c5f8d0L,
  49883. 0x7435ac767382e4eaL,0x93092b16f61d443fL,0xc1554fa846eb45cdL },
  49884. { 0x0896852c30957ca5L,0xc0d91e3effe60944L,0xce8aee57a1b7c75eL,
  49885. 0x4d24f07007cd1a9eL,0x3d8e381094456b11L,0xed6fba6b9dbc9d0dL } },
  49886. /* 58 << 84 */
  49887. { { 0x1b1de3ed8b5b8f82L,0xf542399d64252363L,0x23f34cccd206f26fL,
  49888. 0x54c48d9fbd941d6fL,0x3859eb56202e757bL,0xedcb4729ae0eaf7aL },
  49889. { 0xf08753c512360fceL,0xf37ece765f697cd4L,0x073cae01c98a7c8bL,
  49890. 0x6e298559df664bdaL,0xe8cefd27194b103cL,0x56301e2a811f6a71L } },
  49891. /* 59 << 84 */
  49892. { { 0x8103c6053d3fe586L,0x472885b3999bb4caL,0x3759d2d492a2834aL,
  49893. 0xaa4eb3acd46cca1bL,0xcb99aaba633e579dL,0xf9369b033d6dc569L },
  49894. { 0x55fdb1fe8398c067L,0xd7aab8b47e6826ceL,0x7f5497bd8b525561L,
  49895. 0x2e0e1e9c2cd0e3beL,0x3142a6e2c47caf5aL,0xe78cb1840f4b802fL } },
  49896. /* 60 << 84 */
  49897. { { 0x0a1577baf455f6bcL,0xaeeea79094df32b3L,0x1af3ba0f6bbb15ceL,
  49898. 0xaab92a74e8522659L,0x84087a8f7efa0a4fL,0x83c6991b84596065L },
  49899. { 0x11f7829d29fbb626L,0x32b04b2f86031974L,0xf3a5b8722c1291deL,
  49900. 0x2ffcc97e8bd2be43L,0x575400d10a206f7cL,0xbb4583de0befbce6L } },
  49901. /* 61 << 84 */
  49902. { { 0xd448eafaab983fd7L,0x2622336c7a18a7e0L,0x36632e221c274b3cL,
  49903. 0xe64e8f89bf086fcfL,0x1dced08fef72ebd9L,0x61249c25ea295d31L },
  49904. { 0x7433743d3755632aL,0x9d766243ff32ed08L,0xc36e816a977b1d9aL,
  49905. 0x1069fc0820ccec81L,0xbd4af7bef65a0cd8L,0xd04127fc92e31836L } },
  49906. /* 62 << 84 */
  49907. { { 0x39560937ea57ca46L,0xe1f2b7198229d346L,0x462b28d4dd02dcbfL,
  49908. 0x510fce98a333d609L,0x795fbd38fefa05beL,0xd6e34c231bcb029dL },
  49909. { 0xf33291fc838f7ec3L,0x2a01a1f5f16e7247L,0xf9737722c0bcb3cdL,
  49910. 0xc53ef57ecc8a6c77L,0x219372afc750f1a7L,0x3e6a97c3d14e60bcL } },
  49911. /* 63 << 84 */
  49912. { { 0x87278f062db3d752L,0x64c65f5cd106b7a8L,0x04ccc14d41ee7aebL,
  49913. 0x72d1189e71952b60L,0x2e88f851080e9ea8L,0x625a6d32913e8df4L },
  49914. { 0xd943de73900ee95dL,0x6c12b3b3ecb8b3a0L,0x6209daf2c9b141e8L,
  49915. 0x81c02f71412da959L,0x222d17b747278f65L,0xaa338805789138e1L } },
  49916. /* 64 << 84 */
  49917. { { 0xa896d28e4aea3fa2L,0xc6137a456db06ee9L,0x1bbafe8c06fb15ccL,
  49918. 0x2daab2961cdffdadL,0x984defc8e1119b3aL,0x9cd44c3cde2a25a3L },
  49919. { 0xa7f54ece54ed6d73L,0xd283017f50907054L,0x69130efc6a3b9442L,
  49920. 0x5d17f1276785163bL,0xc019911b172b1d0aL,0xa19c745f7e3e093cL } },
  49921. /* 0 << 91 */
  49922. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  49923. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  49924. /* 1 << 91 */
  49925. { { 0xe185bdc2ab83d932L,0x0a75845dd7c4e754L,0x1f6f3397c3fe5695L,
  49926. 0x6c9f3a5f61f6a04fL,0x3c0f9d4bb390a92bL,0x9e3336b74793b454L },
  49927. { 0x91ad0c341472f06bL,0x4110047a892cbdd7L,0xfa24d90565d53c83L,
  49928. 0xd63e58334176007dL,0x741089fd2cd1623cL,0x6b3d92022685d345L } },
  49929. /* 2 << 91 */
  49930. { { 0x1d510157c9cb7f6dL,0x532a077346ab7372L,0x2ea07e2fc6dde9e2L,
  49931. 0xceed9ad937d5bb1fL,0x3121994b98cc6e28L,0x67d2fbb567ad8fc4L },
  49932. { 0x34707fb3dc9f195dL,0x6a601f481fd5a013L,0xfe939b8d81ef6cb5L,
  49933. 0x5c51e8ab1223a9a1L,0x8f6d7993db74cf37L,0x0b81c5b7972808e1L } },
  49934. /* 3 << 91 */
  49935. { { 0xcb4e85123bf921afL,0x28fc6332532e81d3L,0x682d8637f69f907dL,
  49936. 0xbd9fa8f45f759a16L,0x091ea9fa51f03716L,0xd685a14132c630e9L },
  49937. { 0x7600c9ac3d249cf4L,0x687e2022002cd2b5L,0x7ec205ab55334058L,
  49938. 0x9d0d86b13ecf1368L,0xb3fc17a7fc7baf6dL,0x57939961361c91cdL } },
  49939. /* 4 << 91 */
  49940. { { 0x0db33228010c0754L,0x10635ffa8eca7c59L,0x6efd85380e8a38faL,
  49941. 0xc1812ea5769360d8L,0x505723dc76f27ef5L,0xd0358e02f35af2e8L },
  49942. { 0x9f7bb7fed99419eeL,0x87c66e83430a0e2dL,0x01187549773eaf7fL,
  49943. 0x05bbbba489d51bdaL,0x52cabb06640ccde6L,0x0d5cb557e7ff387dL } },
  49944. /* 5 << 91 */
  49945. { { 0x709d61ca10e06f1aL,0xaa1e9fc578eba75cL,0xf85d062f914b2cfcL,
  49946. 0xe73b3baf9089d85cL,0x4ac05feac4a284b9L,0x92c78a433acb7268L },
  49947. { 0x7b5586f8ee45bb4dL,0xc39a0d0e6ac0a9e7L,0xe4bbe3d54d6f9ab8L,
  49948. 0x1489463f1fd46a08L,0x3ba3182529dba364L,0x94f000d68138511bL } },
  49949. /* 6 << 91 */
  49950. { { 0x70187dfbc39c1cefL,0xa785216e0c50c71eL,0x30188b816a6c0d60L,
  49951. 0xeaeda67d6a27e97bL,0x4a5192826ba389aaL,0xb96c7c7ea2bf1273L },
  49952. { 0x8ff10657267fe714L,0xdff4a271996d91b7L,0xe34ba3e11dc7aed4L,
  49953. 0xc457048b38853d61L,0xe89825db1ccbf658L,0x68c7b4556b255eddL } },
  49954. /* 7 << 91 */
  49955. { { 0xdc14cb2a74871e18L,0x017b1340fcb8974aL,0xea5cb0546e93c20fL,
  49956. 0xa7c078ada9e2ad1fL,0xa37207d4beb26838L,0xcd8b3b25de7ee8eeL },
  49957. { 0xdca6606a2801a7ffL,0xad2fedcf0f8af3faL,0xf27d30b49b530c05L,
  49958. 0x071fc1c36b2a4613L,0x363aaa99b72cea9fL,0x7a33ed8f3d350374L } },
  49959. /* 8 << 91 */
  49960. { { 0xc377b373bb20fabfL,0x68d3aa52f986b847L,0xd9c2f2adf39b6894L,
  49961. 0x1bbff106bd6da22eL,0x3f7e5b8e7e09678eL,0xad6a87897ed3ee78L },
  49962. { 0x689e6b31af9807b9L,0xeca87778bd1f6ef2L,0x17d3277edda78c54L,
  49963. 0xe686caccefb65cb7L,0x758aa1ab19a30f0cL,0xb40df97fb11f071eL } },
  49964. /* 9 << 91 */
  49965. { { 0x43b379f71a54cd32L,0xd61fe6c948817fa8L,0x6d7b0acc49ab7a6cL,
  49966. 0xee23b4a0eb6bb45fL,0x340da1f1a2bda931L,0xfdff68411750ea8dL },
  49967. { 0x890346b8a96c7df8L,0x551993aed4fafc31L,0x2830b98890de711fL,
  49968. 0x4d23863cfb5b5286L,0x327161a0d636d67cL,0xf99dded9733e1725L } },
  49969. /* 10 << 91 */
  49970. { { 0x0bef2d2517da64c9L,0xb94dfc85470bbc15L,0x2c2417cedd4af7aeL,
  49971. 0x52b5b3bbc8e88ca4L,0xc00328c44f20d154L,0x024290f730af5d4bL },
  49972. { 0xe8bacbebeefc7350L,0x89eed6ebb72abd15L,0xb67d1da61d9e7030L,
  49973. 0x2ddefcbc0e70a331L,0x7d09bc6d61e32577L,0xc2073cc95b52e979L } },
  49974. /* 11 << 91 */
  49975. { { 0x585939298b806bfaL,0x608ddfbfbce6a08aL,0x674545a08eb27b54L,
  49976. 0x4b57a947c8fba762L,0xcf960113cbd8c683L,0x7b5a479a4fef1937L },
  49977. { 0xe26eb960450e97f1L,0xf04b36b9d8605a37L,0xb208c832ee5af2b3L,
  49978. 0x3578d3a71fa337e3L,0x22547fca93509939L,0xd93dcb50e848508aL } },
  49979. /* 12 << 91 */
  49980. { { 0xd40f36e6276f2576L,0xd37455c46405cfe4L,0xe34094d7cc51dbaeL,
  49981. 0x20f93f0f0edf8bf9L,0x534b75aa23b5e165L,0x438e4dd1dc1b73a8L },
  49982. { 0x9dd48c413bddb435L,0xc49867a0996b4932L,0x4212f8a2a9ffa0daL,
  49983. 0x8d5236c4d94ed9bdL,0x81bec489f169cb19L,0x71cc1d7e6104edfcL } },
  49984. /* 13 << 91 */
  49985. { { 0x31a94a7f22771941L,0xa277284b39867dc3L,0xc66bd88b1a52f0f1L,
  49986. 0xd2e2707b1aa21ee8L,0x78e4f280248d61e2L,0x33df48c7596a31f9L },
  49987. { 0xb9bf2baab1bb1e89L,0xe1bbcdb4038f10e2L,0x81f674a877b89305L,
  49988. 0x8b2ec6ee16f08a86L,0xa07239c29db97ceaL,0x9f4ae6647ef8ecbcL } },
  49989. /* 14 << 91 */
  49990. { { 0x9cb21b57012eaba3L,0xcfce54821347a83aL,0xe3f3a67100d7b34bL,
  49991. 0xd4bcb3d1a6c1b0c3L,0x6ebd26fb9f3c3e31L,0xd01746532dc79be8L },
  49992. { 0xe7cf9a0ad4156cfdL,0x2757cb0416face21L,0x8b0e320e69e1f08bL,
  49993. 0x2a8caf9b946f83d7L,0x6daff0ba98a399adL,0xb4dfea0938ed6086L } },
  49994. /* 15 << 91 */
  49995. { { 0x90ed8b41e2bcf8ceL,0xa464972be8dcc1a6L,0x5a3d0b80ba496081L,
  49996. 0xb636435569f85ac8L,0x0a2765b1a25bdd8aL,0x87a6c18f0d1516bcL },
  49997. { 0x9344081ae3b01522L,0xcef8e12e608f0145L,0x6f3566a52155e7deL,
  49998. 0xcfc1be9c4d033a3eL,0xfc836eeaab97bf98L,0xbdf53718ba7dd059L } },
  49999. /* 16 << 91 */
  50000. { { 0x16f3708b953b9223L,0x0d3780f8770e7cf3L,0x97a615b227bb71a8L,
  50001. 0xa8b9a864162f8b55L,0x80ee8362d91e3fb9L,0xb2009a09f83a4ff6L },
  50002. { 0x07a7873ac1696281L,0x17ff00c223095ddcL,0x427f683d860d60baL,
  50003. 0xea9959271f87d32aL,0xb2ac69faa050319dL,0x30c362b9d2d0b9ceL } },
  50004. /* 17 << 91 */
  50005. { { 0xe05c6a88783508b6L,0xa5569c8ee1779a78L,0xa1e0ca30cc1e84ceL,
  50006. 0x12ecb540337cca76L,0xafb5e2fb344d729fL,0x558db4e132c8f80bL },
  50007. { 0x5aa3c39523128383L,0x9f04757cee1ee2fbL,0x41132bd215356deaL,
  50008. 0x4e9af313ae07ca78L,0xdfc14c0100c6b589L,0x54fdb4f3dc16a1f1L } },
  50009. /* 18 << 91 */
  50010. { { 0x71e663c234938279L,0x9a8f5ccdb05630f4L,0xd91ead12aad70096L,
  50011. 0x2b19b27e9e46cf72L,0x93348c7038e3932dL,0xeab6c03a5c7617b4L },
  50012. { 0x57c13a97538eab27L,0x2624d17b2f5872f7L,0x77b63d9104b00f8eL,
  50013. 0x2e0582473c89db0fL,0x5d367277937d0d8aL,0x28c19068df60c252L } },
  50014. /* 19 << 91 */
  50015. { { 0x9867bc3d38cd6020L,0x5f341d8c5986f76cL,0x108a3c0d0dab2e32L,
  50016. 0xd127a7f989ab3654L,0x9d5018f468505cecL,0x51204da0a8fc94a4L },
  50017. { 0x1751f30cf6da9840L,0xafe6a8d955ed1f74L,0x270a5d1180165ac5L,
  50018. 0x739f63e05de1e17bL,0xaa95f30735d2b566L,0xf20dd093650236a9L } },
  50019. /* 20 << 91 */
  50020. { { 0xd648dd79ee45d4b1L,0x0ceeaa64c2bc2f0aL,0x695f3a3f491a2862L,
  50021. 0x4c07e2e0ce497e3dL,0x5c53879969c766c2L,0x3f856a2e4c4a7c14L },
  50022. { 0xbf8a6d81038032a9L,0xbeaadd7f45b7c960L,0x78b22e85d50b9d26L,
  50023. 0xac1c56fa7eaefe26L,0x21fbce54fc69f13dL,0x37be1b47512a3708L } },
  50024. /* 21 << 91 */
  50025. { { 0x12845d55689429afL,0x7e20f0f9082c8ac8L,0xe1615340249773b6L,
  50026. 0xf66c39638d0f35afL,0x4a20ce6d67d27093L,0x1d462f08e55802caL },
  50027. { 0x66f209849ff4dd67L,0x6b86f8d8271c57b3L,0x8701a5cde766b85bL,
  50028. 0x50737ac2eea5fbfaL,0xb46ebb42a702f3d6L,0xf853091d999258bcL } },
  50029. /* 22 << 91 */
  50030. { { 0x0ce992198c9e7869L,0x653006be525c4adaL,0x783620e4330c402dL,
  50031. 0x185a6ac833b728b5L,0xa297c4a99d390886L,0x547d1db5db4b8123L },
  50032. { 0xccf12f071acdb039L,0xe89c5866078ddc28L,0x3460cbb1e52c383fL,
  50033. 0x7a4d1beaad25b82cL,0x21e243fdb429be1bL,0x5aa85c25bdc0d798L } },
  50034. /* 23 << 91 */
  50035. { { 0x76cf73b9c0db9d16L,0x45e57cdc1970ace6L,0x3c6f5314c54a109aL,
  50036. 0xe32306f7da47cbfbL,0xb3787bdf93e76516L,0x68aa80084c6d4e22L },
  50037. { 0xd9246ddcb3d37be7L,0x6de2bb4d7000f1abL,0xda02568b67e4751dL,
  50038. 0x3ed7a5615c7f88f4L,0x5f05c828ca5116caL,0x139cc5772a2ebb9aL } },
  50039. /* 24 << 91 */
  50040. { { 0xc983afb64cb8d897L,0x7f05e954b14cc152L,0x587fe71e0f4d02f5L,
  50041. 0xaaa43167531b0cd8L,0xf69452727a26def9L,0x7ecf1e563bab50e2L },
  50042. { 0x04b6f5c94c6f20abL,0xbc6cec2b893b497bL,0x79e89567c9dc548aL,
  50043. 0xa39a0a567a40b749L,0xf1531e2644bd4efaL,0x14cdd759057c7c70L } },
  50044. /* 25 << 91 */
  50045. { { 0x30c49847d6d51bbbL,0x70b744feecdc6aeaL,0x38cdf36fe8671744L,
  50046. 0x5834286b8cf6461fL,0xf3414f7b2c09d632L,0x58425e4d5debb923L },
  50047. { 0x8bd79117a6b96c6bL,0xecf9802680f56fa8L,0x5ae917d7e6dcbbf8L,
  50048. 0xf2d80fb169240a4bL,0x005ac47596e3aa3aL,0xe5196a3463536aa9L } },
  50049. /* 26 << 91 */
  50050. { { 0x5fb02929811d42bdL,0xd7d1b956289929b4L,0xfd3546947e531627L,
  50051. 0xa37c9b1e58c2b2e2L,0xf30ed0f902bf499bL,0x3fe80d240eb6df36L },
  50052. { 0xf96270e57b148672L,0x47362483647f48d8L,0xc279ece6c29bc59cL,
  50053. 0xc05c1d9ffdd7e628L,0xef8fc92e17568a7eL,0xd65fe5a9ec0e7f00L } },
  50054. /* 27 << 91 */
  50055. { { 0x0ad31de68c93f010L,0x151b1405945ec54cL,0x325d132c3db6997cL,
  50056. 0xbed9cb3a335531e7L,0xa83932c34a578610L,0xd905abbf6f721147L },
  50057. { 0x6dd45af086d1d919L,0x2b2ee3090195e91bL,0x3dc30d5edb70d257L,
  50058. 0xfb04b014481bde1aL,0xc2ac3ec82de2debeL,0xc9f161e090db691eL } },
  50059. /* 28 << 91 */
  50060. { { 0x8041f112afefdee1L,0x8cab3c86b891f668L,0x1f18774e2b61e754L,
  50061. 0xf0d81b2459df567cL,0x2cc25da41c95e1ecL,0x315b1b1ac735d39eL },
  50062. { 0xd0a9b9fb010734cfL,0xeefc0398c79386daL,0x49ce859b11fb1917L,
  50063. 0x3d66fd6baf167239L,0x2522b0ef1fea6175L,0x1a27657d3ec4a52dL } },
  50064. /* 29 << 91 */
  50065. { { 0x89ec003abb2ca05dL,0x2290b5f403195ec6L,0x9989bd925f6b95b5L,
  50066. 0x1d6e6b2fad409cd9L,0x41f9b9ce3bfe7364L,0xb240f89570ec096cL },
  50067. { 0xf8725a58b8d5a5d6L,0x3bfec6f1c581930dL,0xc93e290356235c98L,
  50068. 0x82af4269c7cdcb5cL,0xeb13fa40eea6fe91L,0x9247050097c80acdL } },
  50069. /* 30 << 91 */
  50070. { { 0x48dc23534ded5b58L,0x1b69590756e707caL,0xbbcb73927ec7794fL,
  50071. 0x3714dfa6e50dbcc8L,0x4f8083c8f27ec5d7L,0x6358d2273bc8c3e4L },
  50072. { 0xe0c2a0e7656cf184L,0x3996e0a24244d801L,0xa46767b54e543c01L,
  50073. 0xbf55776d965f1e2fL,0xeb66845e6bc872eeL,0x6a73fef1b441895cL } },
  50074. /* 31 << 91 */
  50075. { { 0x21602e432b26bbf2L,0x6092d570d1bfd7e2L,0x2b48d74a30b38d1fL,
  50076. 0x4aab113c67c53791L,0xa6acbd3df57be611L,0x53b6509ebd3aae7eL },
  50077. { 0x047e5ab4d8751f49L,0x978ed11b0cf25652L,0x763553d2153619c7L,
  50078. 0xc7e85e93d824d943L,0xb82cc9781048a7ebL,0x7beb9166e39cc777L } },
  50079. /* 32 << 91 */
  50080. { { 0x24480c57f26feef9L,0xc31a26943a0e1240L,0x735002c3273e2bc7L,
  50081. 0x8c42e9c53ef1ed4cL,0x028babf67f4948e8L,0x6a502f438a978632L },
  50082. { 0xf5f13a46b74536feL,0x1d218babd8a9f0ebL,0x30f36bcc37232768L,
  50083. 0xc5317b31576e8c18L,0xef1d57a69bbcb766L,0x917c4930b3e3d4dcL } },
  50084. /* 33 << 91 */
  50085. { { 0xf6625ac0b9a038e8L,0x954056eb2a921e56L,0x7135295aeac07bc6L,
  50086. 0xedde9c39f1ba0ea8L,0x628324026b592655L,0x4603177aefb8aa66L },
  50087. { 0x63e5ea16406a6c28L,0x5897fdee1c758382L,0x515e49fd415533c9L,
  50088. 0x0a0dd627d6701b21L,0xd7c06db1c93a312eL,0x4fe95e3da33d8df7L } },
  50089. /* 34 << 91 */
  50090. { { 0xf113d92c3336edc5L,0x0a201f3e8ce47278L,0x57492feb5c52562fL,
  50091. 0x18b73800f29da837L,0x2262089f649a1ee8L,0x076b07657c99bf48L },
  50092. { 0xa95050bc09bfad20L,0x5aeaa9088c7e713cL,0x264283ed3cda06ccL,
  50093. 0x5d574b116079b43dL,0x0071495cced10a84L,0x97441fb0570d3063L } },
  50094. /* 35 << 91 */
  50095. { { 0x340831072b228335L,0x84ea0aba50fbd43dL,0xafde6098b3ec91e4L,
  50096. 0x4fd293ca1091ad93L,0xee085e23552a785bL,0x437d799ed7057200L },
  50097. { 0x41f735628a611ff4L,0x707a7cb5d2ef6254L,0xa9a8f00092a30686L,
  50098. 0x901cc8e60cea8d1dL,0x1fbc9ca6d6da2ddcL,0x61bcee2176489604L } },
  50099. /* 36 << 91 */
  50100. { { 0x5f6ef134781a7f53L,0xbac4cf47b10a9d16L,0x48148ba110e69f4eL,
  50101. 0x40594360a9c615f0L,0x3141817ddfb3fc58L,0xb9579a9263c38d83L },
  50102. { 0x0544b1bb6373b9aeL,0x718a5fb7007c8185L,0x48d4a4f77cfa392aL,
  50103. 0x9c16cb825d44ba38L,0xc83d2df42a8fa83fL,0x835aacccc08fef0cL } },
  50104. /* 37 << 91 */
  50105. { { 0x09ce1818af09fefdL,0xd1d2f95f5dd9d687L,0x94ed08b5495c4eaaL,
  50106. 0xd1afff464a0b95d2L,0xd51ba2b455347a75L,0x413126295e3866edL },
  50107. { 0xeef2d7e3cdd37660L,0x50e6fbdfec2fe50dL,0x9d071e18a664e2eeL,
  50108. 0xe70e1d9ed6a8f467L,0x576d0cc4e13afc19L,0x67ced86da0efc220L } },
  50109. /* 38 << 91 */
  50110. { { 0xa26968cb26a963daL,0x461d1ab5cecbd96bL,0x8eaa1834b3e38516L,
  50111. 0x1e92730f05d2cd2bL,0x91112026b07cbf92L,0x26eb815062374314L },
  50112. { 0xa904f1d08ab1b9d1L,0x52006594692b1905L,0xc9cc90ca6ba4717dL,
  50113. 0x4bd7300aaad1c74fL,0x67ba07a4c21c5832L,0xdebfd810fa56a1a8L } },
  50114. /* 39 << 91 */
  50115. { { 0x3bc5aaf484539b6bL,0x6ca9ac0c0d1249aeL,0xb59da22db4ee30c8L,
  50116. 0x6e62553e57149c9cL,0x46db0089786333cdL,0xe1e2ae523e4c12ceL },
  50117. { 0xf828d2b537b3fd82L,0x31844a9d03af654cL,0x85dd8daaea5a4677L,
  50118. 0x0db99b8f3432e82fL,0x99383b874866e1b6L,0x52310054e325b0c2L } },
  50119. /* 40 << 91 */
  50120. { { 0x737cd387044854f9L,0x488b2fd667eb29c2L,0xe71d9bb7258c5a80L,
  50121. 0x21afb486ac71048eL,0x0252b540d4d39296L,0xe3e52cb87839d8fdL },
  50122. { 0x5cb1100667ea0afbL,0x207637d1de82b12bL,0x77920933e93bcfcdL,
  50123. 0x65197f5df32f636dL,0x82179527b6c41411L,0x7696a479f410c989L } },
  50124. /* 41 << 91 */
  50125. { { 0x78307cd80e8d576cL,0x10d3b950fd9d6044L,0x2c2f9e2bf4b20445L,
  50126. 0x961343c72c5c7ea7L,0x931c52a0af640e61L,0x45557391470d420bL },
  50127. { 0x4096a997317f4d26L,0x15210801cceb9be5L,0x228102195ff0759dL,
  50128. 0xc388a2d21d265932L,0xceb79d01e86dd99bL,0x23e8fc7b3311dcb3L } },
  50129. /* 42 << 91 */
  50130. { { 0x1a7d0e091d7743eeL,0x18720797d53e4a8dL,0x78465f1ea04dbaa1L,
  50131. 0xd4f064da9ce65723L,0xc0e7c035b496e8d4L,0x25657d2e6bb2f9ebL },
  50132. { 0x45576ab49f4b6cb5L,0x83983c70ba33d6dfL,0xf699e84d1eca62a4L,
  50133. 0x35528636a13f5c31L,0x6a1b56b01f6b1739L,0x7906eccc6ea87942L } },
  50134. /* 43 << 91 */
  50135. { { 0x4e584a4fec1204a5L,0xd96b00e845a5b311L,0xea11fb03030badccL,
  50136. 0x9b2141b2a825a89aL,0x18bbc30bf8b2450dL,0x87bd93916513b2cdL },
  50137. { 0xb3dbde552f0b304dL,0x762f3dd7c3c4817bL,0xe51e1733edd3fdd8L,
  50138. 0xddad4c515d8219a2L,0xf5a8c0b8796b6877L,0x34563a8989bf65c8L } },
  50139. /* 44 << 91 */
  50140. { { 0x93e2e3a2881c106eL,0xa227cc49fe82afd8L,0x6fee74a4748e81f3L,
  50141. 0xb212e8eaa5dd966cL,0x68d270efdc7d8883L,0xef2f3966fe757e9eL },
  50142. { 0x0340098b7466881eL,0x7ab98a0575884bbfL,0x24783467a472f62fL,
  50143. 0xc73cb49f988637d9L,0x2b5e9d27dfb710c9L,0x503f9a2f788fcb18L } },
  50144. /* 45 << 91 */
  50145. { { 0xcba6f4631a52b729L,0x8874582cc8be34cfL,0x98a08e246a9a1eaaL,
  50146. 0x77094319d5693f71L,0x575a0938a8504e5cL,0x3f59910c226f888eL },
  50147. { 0x5c3587990aeeb1f1L,0x7c32821d3613bbc5L,0x66f288e7cc17db95L,
  50148. 0x6f3221998724ac94L,0x4e3fa38981db3751L,0xa6e798c8420403baL } },
  50149. /* 46 << 91 */
  50150. { { 0x56672f2e2cbea2e8L,0xd1a02df9128bd636L,0xff6a3bc6d47a0025L,
  50151. 0x24124f30d38d0b42L,0x89ac3b8dda63df29L,0xf26d72994d0b6458L },
  50152. { 0xfff0445f7d6880bcL,0xface90f52be76351L,0xbf10c6b8ebffb74fL,
  50153. 0x0e53c533a1fba003L,0x037baf09112f4980L,0xb8ae6312be960954L } },
  50154. /* 47 << 91 */
  50155. { { 0x8397b60917270d4aL,0xb4d0c38700e4caeaL,0x69c52bb3f4c58f86L,
  50156. 0x06e0e01157b1fd41L,0xc5dc2f25627873a2L,0x9af848ca0ae53974L },
  50157. { 0xb5c957c06ad18335L,0x93b564154ef09e7bL,0xb5ba282450e2c5ccL,
  50158. 0x63f003a567d7b68bL,0x0bcb0dc820bcbca3L,0x8803b1ffe3d4296aL } },
  50159. /* 48 << 91 */
  50160. { { 0xff41d51faae4bfd4L,0xcf50b14117c44facL,0x078b808e657a1ea4L,
  50161. 0xc5aac1a893c00c55L,0xcb99cfd0cc4d1c0fL,0x1d1048933fa123a6L },
  50162. { 0x49646059023ca92fL,0x5833e326f3982134L,0x2e0d4bc9c5781cddL,
  50163. 0x5f7f84ed8d5e75f5L,0xb6655f1fe1e8a383L,0xcc18514c296e4943L } },
  50164. /* 49 << 91 */
  50165. { { 0x5d3e5f8d8a407ff0L,0x9c713c8c7b42b11cL,0x7433a9921e387806L,
  50166. 0x5272b92a98cb43acL,0x6261dfc1b1018149L,0x229d2ba5d3b4adf4L },
  50167. { 0x1f52e72989f0905fL,0x965e062925d4c79cL,0x42edaeeb33e6c016L,
  50168. 0x5ec492e8af1709adL,0xaad39616c5763619L,0x85a659098c666860L } },
  50169. /* 50 << 91 */
  50170. { { 0xec8fe7dc86009df6L,0x42dd3c37871b20a6L,0xe4388c920db643e4L,
  50171. 0xcc5dfdd481e06dbdL,0x3f1a3c6458ca7500L,0x987d7caa22c04e9dL },
  50172. { 0xd0c91072bc5717e2L,0x3f605fd2e77e5509L,0xa1cc1404c0c3e95eL,
  50173. 0x4afaa9fdc6d0edd0L,0x2f3aba4e0d7d882dL,0x3f1f0349796c5ac0L } },
  50174. /* 51 << 91 */
  50175. { { 0x5dac93982eeb82e8L,0x2fe5ffb57536ce1eL,0x2bb120ac6926cfceL,
  50176. 0xe54ff20f2236dbf0L,0xaaf0d31edf8c5a87L,0x5262fb9fc8f5df7aL },
  50177. { 0x0f833760467092bcL,0x50fa223d0a8dc0afL,0xd6a4847d35406966L,
  50178. 0xd17d6ce003b7f56bL,0x8067d8e2ee2d64bdL,0xe33e51bb9fa4fe9bL } },
  50179. /* 52 << 91 */
  50180. { { 0x52aa210770248e4eL,0x30cf7e773b6bf709L,0x36961c7b788e1836L,
  50181. 0xbe49de5f7595af2bL,0x86b49b619cbcba78L,0x1947db3790cf1117L },
  50182. { 0x7d3f599de14b4287L,0x14546993f0ca62ebL,0x0f6c8872d0abde7aL,
  50183. 0x1531ceeaafe2260fL,0x36449624ae5ecf96L,0x6cfa12a5840bdc19L } },
  50184. /* 53 << 91 */
  50185. { { 0xb092ad68c1d612b5L,0x9f6052507af5c37dL,0xf48aa7c6c702b673L,
  50186. 0x380144215cd29c3bL,0x7b09e407121867ecL,0xf71443d391e59047L },
  50187. { 0xea51e1a6b6d16a51L,0x041fa7650f33e2ccL,0x3a6d50c73750dce3L,
  50188. 0xeebf5c2e97cb7a7dL,0x2530de228f39e771L,0x9af217c18f37f863L } },
  50189. /* 54 << 91 */
  50190. { { 0x38793fd0c683085cL,0x49cc5934dc436d16L,0x94c708e4175e770eL,
  50191. 0x41bfb65d059c2682L,0xf6b83eb75f004ddeL,0xe1881929f6864410L },
  50192. { 0xfaa77fe0b438f937L,0x97a856069997e90dL,0x78366a9108de889aL,
  50193. 0x6c28ef64553229cdL,0xfce82c2fe9381854L,0xae98117146f70bb1L } },
  50194. /* 55 << 91 */
  50195. { { 0x3f77410e9aacedd8L,0x0e34bd7d453813e4L,0xc5818436825d6b0dL,
  50196. 0x0e30f037b4d0ac73L,0x70f6bc9b69b559c5L,0x68d3d71eaed15484L },
  50197. { 0xd0254e5414fbae1eL,0x6ddaad42ae0d3df6L,0xefb91a545a6e98d0L,
  50198. 0xde3fcefc854ee5fdL,0xb2f0f3a1dfa2a8a0L,0xb656f97ad00ded3aL } },
  50199. /* 56 << 91 */
  50200. { { 0x01acfa7e0a90e37fL,0xf47e5946366d0ba0L,0x8e37db7b54c11845L,
  50201. 0x5742d8bd50a62064L,0x27dc9a33ed6d096cL,0x2246d73016deb724L },
  50202. { 0x203c08da2c8f1a85L,0x210cda3a56fea379L,0xea6b1bbf2bf9ed67L,
  50203. 0xe5a1e5552395cc4bL,0x458a7e19de2d6b2fL,0xa7199a86734942a3L } },
  50204. /* 57 << 91 */
  50205. { { 0x53684c23d44cad85L,0xd23613f8940779a5L,0xf485c7a3940bd34cL,
  50206. 0x64c66a1f3f673b5eL,0xec29c76f1d6dd63cL,0xe10f56272f191435L },
  50207. { 0xc054f9a7325d5759L,0xe6740d3f974edaf5L,0x2723ac6103f3b640L,
  50208. 0x0a2315a4576e0bbeL,0xf8156e1e4a3ec903L,0xa307bc249bbc8c52L } },
  50209. /* 58 << 91 */
  50210. { { 0x78579ca212a1687aL,0x208b7494268a02a2L,0x61708a002c1c5243L,
  50211. 0xca366915a760461eL,0x0e9038fe3ca1e167L,0x2cfd6fe3a58e2c57L },
  50212. { 0x97c16e34fe79a49cL,0x1575244ef08e4037L,0xc1407fa08e2283edL,
  50213. 0x38ae77621b057919L,0xcec574a5e68a366dL,0xafdfdce03eff00d4L } },
  50214. /* 59 << 91 */
  50215. { { 0xdad0dca9162d80c6L,0x554141f8b888ea0fL,0x1e471b24d4036218L,
  50216. 0xafca22cfb36102d0L,0x437c51bff280dfa8L,0xc2c8bc8b50c9c30cL },
  50217. { 0xe7bacc372a9fdf6dL,0xd01dc65cf0472f2dL,0xaca59cf983d7be3eL,
  50218. 0xf7c935425d9ec484L,0xc22046c6015a08a1L,0xa71b3c64cecdf816L } },
  50219. /* 60 << 91 */
  50220. { { 0x4b7d0b277abe7856L,0xe566f4567acdb39cL,0x70c6cdf20047ae7dL,
  50221. 0xd27f831233ed0392L,0x498f0ad0358a429dL,0xed97c4668e6ee95dL },
  50222. { 0x3d11cd69f3018515L,0xedd460344c1b367bL,0xd75660e3b3ac8ec6L,
  50223. 0xc80dfc0fa541e6e1L,0x80026f005c091a6eL,0x62b86784c426f2bbL } },
  50224. /* 61 << 91 */
  50225. { { 0x417408e529ee8eb4L,0xe92f18c2917f9951L,0x1f471f0eb38b6210L,
  50226. 0x53cb14264df240f3L,0xeaf7fc0067c29b25L,0xbbf46fd3d99cb613L },
  50227. { 0x05cd552eb465b50dL,0x136b8e675e136733L,0xd7d50f61ccf61776L,
  50228. 0x90187ec5a32b01f4L,0x21548ec523ba232aL,0x6c8266c0748e558aL } },
  50229. /* 62 << 91 */
  50230. { { 0x762f413d7650470dL,0x9b4af5d018c9ad5dL,0x85fe90460ea625a0L,
  50231. 0x4af4511b2200cadbL,0x4c16980defec2921L,0x42ae5d5d60dbe1a0L },
  50232. { 0x0785260bbb2ceb1bL,0xd181ea3242f1fb7bL,0xc34f02b13a47672bL,
  50233. 0xb0bc79f770e58634L,0x6e7967098a8509aaL,0x05870e6f3c3e6d44L } },
  50234. /* 63 << 91 */
  50235. { { 0x46d4fef752f7c595L,0x5f35083a8a07819cL,0xbba477ca591233ddL,
  50236. 0x4e66309358e307deL,0x65c3e2b9ef827537L,0xcf7b7adb09ee9adaL },
  50237. { 0x00a82d4b5f5e1434L,0xd6aecb8032e50afcL,0xffdce7ce6b034271L,
  50238. 0xa95d96ae036d5058L,0x61582ae24cb7d60bL,0x6a10577474139c1bL } },
  50239. /* 64 << 91 */
  50240. { { 0x53ebbaaeb475d8f3L,0x3d6ea31cff76bedaL,0x3c15f25d340986b4L,
  50241. 0xc5925d2e3365312aL,0xc35d3ee251641f96L,0x11eb2f75984128e4L },
  50242. { 0xb41a21a83d04bc99L,0xf2d286006436c3d0L,0x4ffcf4c0faf5663cL,
  50243. 0x889d285a0a62c9dcL,0x0908665acb2d60c5L,0xe2f19c590a131be5L } },
  50244. /* 0 << 98 */
  50245. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  50246. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  50247. /* 1 << 98 */
  50248. { { 0xc0de60f5091354ffL,0xd7cc38bba1bd1975L,0xf4122aa8e734e2dfL,
  50249. 0x08f40f63ef773db6L,0x0a7e9484ce2d71c5L,0xcc79173378a3f825L },
  50250. { 0x0cac7a5bb47beec9L,0x1cbea0e4a3f7b5b6L,0xecf19a90d3e18145L,
  50251. 0x0d1b062a0aadf689L,0x42299f1ff3f0acf7L,0x63a645395ac252b9L } },
  50252. /* 2 << 98 */
  50253. { { 0x44bfd1665c1d4586L,0x46434e198d1d86d6L,0xe50fcf81c3936683L,
  50254. 0xc9b4eb068b08680fL,0xf90882c52832aab0L,0x42823cefecbf5ddaL },
  50255. { 0xfd4d51c744ae08f0L,0xb54a08f1bbd21c1cL,0xb72953dbfb187c34L,
  50256. 0x166f7f26f8ed037fL,0xd2b1077a097bad45L,0x47794cdc790dd808L } },
  50257. /* 3 << 98 */
  50258. { { 0xfadb2ac4bac8b691L,0xf0c5a0361579c4d1L,0xa192474f79019224L,
  50259. 0x8c7a64574117a323L,0xe58122dd84d970a9L,0xc475893c0bf77208L },
  50260. { 0x9518412f1bd45c95L,0x75bd0a72283f7a3bL,0xa9e871605fb7e6f1L,
  50261. 0x14d3c944df67acedL,0xbceea947d0348c22L,0x5331c192d021aba4L } },
  50262. /* 4 << 98 */
  50263. { { 0xa05c751cd1d1b007L,0x016c213b0213e478L,0x9c56e26cf4c98feeL,
  50264. 0x6084f8b9e7b3a7c7L,0xa0b042f6decc1646L,0x4a6f3c1afbf3a0bcL },
  50265. { 0x94524c2c51c9f909L,0xf3b3ad403a6d3748L,0x18792d6e7ce1f9f5L,
  50266. 0x8ebc2fd7fc0c34faL,0x032a9f41780a1693L,0x34f9801e56a60019L } },
  50267. /* 5 << 98 */
  50268. { { 0x35df68ae1a504405L,0xe41d69508fc755b9L,0x420dc1cda6297243L,
  50269. 0x3011646b913fb68fL,0xc4b630465e141a27L,0x943b3b3bbd91fe5fL },
  50270. { 0x3ca17d6b50c31708L,0xce88b5e74ffa8c71L,0x8b60038f4dacd2bcL,
  50271. 0xdf654d723c13cf9bL,0xb5353e281d871b40L,0xc2d27919226663d3L } },
  50272. /* 6 << 98 */
  50273. { { 0xa028d2fa9b87715fL,0x7cdd9b4a453625bdL,0xc8afb1890be3dacfL,
  50274. 0x40289a3a274c4e2eL,0x7f5f9f7677c6bbadL,0x577c0935bdfeaccaL },
  50275. { 0x5f838f0404281989L,0x8650a974ebfa410dL,0x414fab6dcd56dea6L,
  50276. 0x6995cae292eed440L,0x3b474d27ab146e15L,0xe24262b2e9938f84L } },
  50277. /* 7 << 98 */
  50278. { { 0x649e18fba34fb18bL,0xa4883af898cc69d3L,0xff46285f3fd56e37L,
  50279. 0x2e28ccc4557c0c04L,0x8388dee821a9b46bL,0x0fd4fb807ba3a6deL },
  50280. { 0x1d8e9da7c62bb315L,0xfa7bd70d06e44230L,0x2840122063320438L,
  50281. 0xeefabd47d06c0654L,0xf4387b08d4c8c10fL,0x8f2694624ff2142cL } },
  50282. /* 8 << 98 */
  50283. { { 0xa4b957d262c36887L,0xaf15a485fc24cff8L,0x11575e80a271d9e0L,
  50284. 0x0fff68d44b9367e5L,0xf55ba6732279779fL,0x9d72cca6d4d68f68L },
  50285. { 0x01474ab1590ffe4cL,0xd20f44e1074d634bL,0x63903a8336111d25L,
  50286. 0x37342a5fab531cefL,0xd3c93fe7702ed867L,0x05d143696279f7e1L } },
  50287. /* 9 << 98 */
  50288. { { 0xcddf64873e942b27L,0x9e29835a2bc21472L,0x924c2bfb2d2195e3L,
  50289. 0xdf4a3cd38eca6d9bL,0x7fe6acd1c5be60c3L,0xa3abee9cfc38025fL },
  50290. { 0x014f0d992f449934L,0x8d72657a78860127L,0x92514cb948d84cfcL,
  50291. 0x8bd4ac503aadd70cL,0x3c96ee00136620d7L,0xa0caeeb54efc5e57L } },
  50292. /* 10 << 98 */
  50293. { { 0x7a65cdf5bd200ed6L,0x72dc1b5f0e4b1c68L,0x9c09576a6ddf540bL,
  50294. 0x358dcd122b169da2L,0x6466f0e81639b734L,0xa1429a6ef14c6eb6L },
  50295. { 0x4b3d781943221168L,0xfe3d2fdaf3b74fceL,0xb22bcec2ae26014bL,
  50296. 0xa8900e7ace7e789cL,0x9db9af67220bce88L,0x1f86d2e4fb8ee34dL } },
  50297. /* 11 << 98 */
  50298. { { 0x6f8e1c0bf8c65293L,0x66f44ea04d7a5dfbL,0x2c3cacac741fdc1fL,
  50299. 0x72e58aae239f5f16L,0x50dbaf192f72d8c8L,0x24ee526628c97b95L },
  50300. { 0xdb5f7827ab3ecb17L,0x2c567337669b05c5L,0x78c97eb8ff76ccdcL,
  50301. 0x1de1b4a3f8d2c990L,0x5b183974e6138df5L,0x61b74177aa1a1019L } },
  50302. /* 12 << 98 */
  50303. { { 0xb398290cf0db3751L,0x01170580ba42c976L,0x3e71aa2956560b89L,
  50304. 0x80817aac50e6647bL,0x35c833ada0be42daL,0xfa3c6148f1baba4eL },
  50305. { 0xc57be645cd8f6253L,0x77cee46bc657ad0dL,0x830077310defd908L,
  50306. 0x92fe9bce899cba56L,0x48450ec4bceffb5aL,0xe615148df2f5f4bfL } },
  50307. /* 13 << 98 */
  50308. { { 0xcc14267f6be1860dL,0x3de7f48b4ffedea1L,0x8252694e5b776b87L,
  50309. 0x478c877890dd427fL,0x913e19a675a21357L,0x882f2d5ac078bd79L },
  50310. { 0xf442752184c565dcL,0xd772147e3ac3ed26L,0xf21abc752fa216b6L,
  50311. 0xab1804ad305ff0dfL,0x10d89a07920c977bL,0x0a2240dc4fda6075L } },
  50312. /* 14 << 98 */
  50313. { { 0x7068e6b98653bfadL,0x16b0da9b8f4397e8L,0x77b953b4946bb9c6L,
  50314. 0x08366ad749b036f5L,0xd219117b26a3913dL,0xbe3607949a5460d2L },
  50315. { 0x1a4acf6dfadd462eL,0x1f7de879c32f3550L,0x11117132669c9b2eL,
  50316. 0x1deea7d1c87ca216L,0xa88c90c748a058d2L,0x0d8e6afff403ef36L } },
  50317. /* 15 << 98 */
  50318. { { 0x21f6c96c1ad77f33L,0xb5da9d34992e7807L,0x17fc994ba7192adfL,
  50319. 0x59f204fcbcc3f8b2L,0x3f4a970f10bd22f5L,0x42936bfcbaa1188dL },
  50320. { 0x6239fea5eb985837L,0x5fde15e0b33d1158L,0xe0bbe9b800cf90b2L,
  50321. 0xf2c6d8b16b2b68a8L,0x58c331cd0f3a2341L,0xe951c48910dab1a4L } },
  50322. /* 16 << 98 */
  50323. { { 0xdccf68bccbaf4685L,0xb333e464270a2bccL,0xe43ae199254dd3e3L,
  50324. 0xe8526e26ddce5c84L,0x52bad815ea0b4258L,0x67c12c1b094574c4L },
  50325. { 0xa5362fcb861545b7L,0x3e904c35c2b2eb62L,0x0f9312b5eeffc2cdL,
  50326. 0x5475657b14de4e5bL,0x746e67d4f0233fa5L,0xb5157d7f35471ec2L } },
  50327. /* 17 << 98 */
  50328. { { 0xcbaf92265315e83aL,0xcc6e9a972f15ff37L,0xcac446dde8c87fb1L,
  50329. 0x5fa37a5c672d7f92L,0xe66efc07b1380425L,0x2d8ed2e32c8e59ebL },
  50330. { 0x8e3ab80461743725L,0xe59a87f825493349L,0xf6995fe16062fe7eL,
  50331. 0x5d7f8a646e8de27cL,0x4a5ecbbbebe084f2L,0x99fc5ea93f863156L } },
  50332. /* 18 << 98 */
  50333. { { 0x1ddede1b495fdc2eL,0x3dfcf56b039d6339L,0x54c423806a56c492L,
  50334. 0xe6bfd184def6446fL,0xfaa2fa123ac841beL,0x503e319a4f9330a4L },
  50335. { 0xd9305d4654ad427eL,0x68d23497d95dfcc8L,0x2d935aad1e9602f5L,
  50336. 0xd7e74bf2e33174a9L,0xc8e4a0b17225e2b5L,0x5db7187cbcda5221L } },
  50337. /* 19 << 98 */
  50338. { { 0x9a0e0908b0ec0b27L,0x28894b2edd759131L,0x0107bb592b9d6f02L,
  50339. 0x318921deeea022f7L,0xa1a00f5882c73390L,0x877833129551b381L },
  50340. { 0xff866039a3a9dd22L,0xa59235ffdf0fc09eL,0x530c2fe61ca647f4L,
  50341. 0x77b1ea2860f9428bL,0xeef2a9e6bba4bbabL,0xdbdbe037204f5ea3L } },
  50342. /* 20 << 98 */
  50343. { { 0xf55edabb90b86166L,0x27f7d784075430a2L,0xf53e822b9bf17161L,
  50344. 0x4a5b3b93afe808dcL,0x590bbbded7272f55L,0x233d63faeaea79a1L },
  50345. { 0xd7042beafe1eba07L,0xd2b9aea010750d7eL,0xd8d1e69031078aa5L,
  50346. 0x9e837f187e37bc8bL,0x9558ff4f85008975L,0x93edb837421fe867L } },
  50347. /* 21 << 98 */
  50348. { { 0xf87a92375b2e5fa6L,0x88571e4452a3a605L,0xf85e9a330c8f5f55L,
  50349. 0xf99886c599dc2c97L,0x5866329d065261daL,0x9011f13912dd434cL },
  50350. { 0x0cc67d535284c555L,0xf8f715274a4032caL,0x4b002683a9524bcaL,
  50351. 0x3c3c12910f63a7baL,0xd19e173e9124eb8cL,0x3431c51c54b7d85aL } },
  50352. /* 22 << 98 */
  50353. { { 0x7103ab4ae11cc85bL,0x2064ca41789cf87eL,0x592850ead5f13a08L,
  50354. 0x56b9ff066212e096L,0xa106455d6efa7445L,0x3e62aac92343c5efL },
  50355. { 0x7edbf70dcb8ddf7dL,0x27f00a4a5f2687e4L,0x7d4ce32e44a08d11L,
  50356. 0xe97f0910890a57f1L,0x792597fb912cb027L,0x1fa7a1d2ad3492dfL } },
  50357. /* 23 << 98 */
  50358. { { 0xbf4e161c3cfad317L,0xda4e6bffa1998bc8L,0x6534ef622e890b99L,
  50359. 0xd10a3b24d272cc42L,0x3f81b0e5f1194dabL,0x8919caefec549c5cL },
  50360. { 0x847ef47f68f5633dL,0x01cd59975468f4afL,0xc38bce29b6727408L,
  50361. 0x56a1cd1ea4c84268L,0x31a493f406b81088L,0x4461ce8531b37e73L } },
  50362. /* 24 << 98 */
  50363. { { 0x3503d9371f23a0d8L,0x64c598a8c321dde0L,0x67f101ef5b52e0f0L,
  50364. 0xb6b5b4c2f955b5faL,0xb5f03d53880e0569L,0x121c3ac1c99393efL },
  50365. { 0x90755bd657330666L,0x70ae5793d4d71d3dL,0x326ffd519e9ce792L,
  50366. 0x1b772d7396ccfa14L,0x652710f4874a22deL,0x72768469db210342L } },
  50367. /* 25 << 98 */
  50368. { { 0xb2d85722b3413d7fL,0x4e41362092e55ea5L,0xad1a20c7ff7b3409L,
  50369. 0x743b31c0c6f98cbeL,0x1b5b0b5adab3810aL,0x628d9b212cea0428L },
  50370. { 0xa3e24294b0335ba0L,0xa9c0e139487530a7L,0x54199640072e70eeL,
  50371. 0x0977586e64c0d563L,0x393878451c5cce35L,0x57acd85631ce1eeeL } },
  50372. /* 26 << 98 */
  50373. { { 0x63081bcf9b8d9f3aL,0xb09fe52b6f94e3e9L,0xc232e5d1e39c092bL,
  50374. 0xd61ddcccf5f072e4L,0xcdb3b4189a26a93cL,0x0c010c048de6f5c9L },
  50375. { 0xad2473a5d238e823L,0x4120ab3632029ca0L,0xd6632edb639bb8ddL,
  50376. 0x3383f077a8b32fe4L,0x8afcbce5eacfbe80L,0xe28236212d2fff74L } },
  50377. /* 27 << 98 */
  50378. { { 0xccf2a24a0eb3829bL,0xdd8fe4421eae0751L,0xb685b073c9598d91L,
  50379. 0x025214ce8b308785L,0x11c3fb11d6433acdL,0xe40cf39c81794024L },
  50380. { 0xa167651b1c0b1f54L,0x350cf3eb0bbde983L,0x69c93dd0b2a88c48L,
  50381. 0xf13afc37bee80b26L,0x0be7d05d776345e2L,0x1ccbc8ba7645b02bL } },
  50382. /* 28 << 98 */
  50383. { { 0xaa6489df83d55b5aL,0xea092e4986bf27f7L,0x4d8943a95fa2efecL,
  50384. 0xc9baae53720e1a8cL,0xc055444b95a4f8a3L,0x93bd01e8a7c1206bL },
  50385. { 0xd97765b6714a27dfL,0xd622d954193f1b16L,0x115cc35af1503b15L,
  50386. 0x1dd5359fa9fa21f8L,0x197c32996dfed1f1L,0xdee8b7c9f77f2679L } },
  50387. /* 29 << 98 */
  50388. { { 0x2aa349975442c668L,0x4c5137130cd74444L,0x4f87be0f449300ecL,
  50389. 0x13e07b552bae04fdL,0x6aa575d11f75acf6L,0x4502e9e9852848a9L },
  50390. { 0x3c246d38889666fcL,0xb6c0292b7c100867L,0x618f234aa2a280e0L,
  50391. 0xf983c834669afe62L,0xc51a15105d900a1fL,0x7d7ce31bc952f419L } },
  50392. /* 30 << 98 */
  50393. { { 0xe3dbb7483c3388dfL,0xc26a7d042c32f139L,0xc1b48180ed938dcdL,
  50394. 0x785b964d42e4c01cL,0x507cd16aa1f75e28L,0xfaabff8d1f323caaL },
  50395. { 0xc6bc47ceadd5b649L,0x997dc0ee3c0aed28L,0xcef0c89bf3666cfeL,
  50396. 0xd8d7dfb426482ea7L,0x5f00e432d2348484L,0x09549b5a1dc66aa6L } },
  50397. /* 31 << 98 */
  50398. { { 0x702e450ef8464b1eL,0x52d20765a061c4c6L,0xe1c930b26519bfc6L,
  50399. 0xa9c0c8c6d17ea02dL,0x52bfc60ddac62461L,0xc325568f7c5f9a55L },
  50400. { 0xe7413df9eb44b9d7L,0x461682265837e0d1L,0xfcb9628c15aa0c89L,
  50401. 0x83d6d0eebb57c6a3L,0x17bb82a56829c9fbL,0x342fe91c496861e0L } },
  50402. /* 32 << 98 */
  50403. { { 0x58d6998e171c1439L,0xfd4a98f401feedecL,0x420b2a0165739fceL,
  50404. 0x5c5db30822f7a073L,0x016c547805042f00L,0x5fc73ce2a12413d9L },
  50405. { 0x8ceb2d70e932aa17L,0xb4d66b670537afafL,0x2638d012339c146bL,
  50406. 0x02fbb7b628ac0555L,0x7fcb0c8162d46e63L,0xeaa9ff4f066d088eL } },
  50407. /* 33 << 98 */
  50408. { { 0x45f53090b8b22c29L,0x155b8f8111e70d5aL,0x5ec118b25d3a7d83L,
  50409. 0xfe4c7eb39c4ddd1aL,0x8cdfb753f226d869L,0x20bb870779fc646bL },
  50410. { 0x3c8c1d7a25d1308cL,0x5a976ae47116f347L,0x6af949a60faf9690L,
  50411. 0x7e6718fc07f3472fL,0x16ec7b45267b17cbL,0x80744641cebe1bd7L } },
  50412. /* 34 << 98 */
  50413. { { 0x45eded7ab2a5c8e3L,0x4308485969a0681bL,0x89b7510d90910e8bL,
  50414. 0x1c622d04d2066d92L,0xdc3b434bcd2f0d7cL,0x98bcb83b476ea5a3L },
  50415. { 0x9195431d3dbf2be5L,0xfec7efd969275ac5L,0x6a4364f556a7da4dL,
  50416. 0xaf701bc579c177ccL,0xb77ef33e9ffc2a47L,0x2bc59331cc23c4e4L } },
  50417. /* 35 << 98 */
  50418. { { 0xedf4a85b9d43c51fL,0xc0afbcb6b59a7244L,0x3ede2f25626e0ca8L,
  50419. 0x45836582270f674dL,0x83c47048bf06d267L,0xbb1e994f3c68314eL },
  50420. { 0x50d79cb4f2fe6c8fL,0x1a1d8aecdf7600f5L,0x216f5d2bef4e4857L,
  50421. 0x41361a90bdffb9e9L,0x8040f5c173d2f9caL,0xe6665f0dd1e9be4dL } },
  50422. /* 36 << 98 */
  50423. { { 0x5405179f394fd855L,0xc9d6e24449fdfb33L,0x70ebcab4bd903393L,
  50424. 0x0d3a3899a2c56780L,0x012c7256683d1a0aL,0xc688fc8880a48f3bL },
  50425. { 0x180957546f7df527L,0x9e339b4b71315d16L,0x90560c28a956bb12L,
  50426. 0x2becea60d42eee8dL,0x82aeb9a750632653L,0xed34353edfa5cd6aL } },
  50427. /* 37 << 98 */
  50428. { { 0xb112fd7b36386e2dL,0x358e974a6a634bd7L,0x509814737faf640aL,
  50429. 0x1036bdacef39b3aeL,0x410c6448db5aceb0L,0x914671305bbebe92L },
  50430. { 0x83fabd54e9e009e4L,0xb2da8eea9994d16cL,0x9d73da6356997acdL,
  50431. 0xea9158b97ec1b844L,0x8e6a6e3129714795L,0x23e98f57131243f9L } },
  50432. /* 38 << 98 */
  50433. { { 0x7105f727552664dcL,0x97cbfb6c5c589c8cL,0x1a7b110a70fc59b3L,
  50434. 0x46c39f2cc754c69dL,0xcda0e2c067b1f17cL,0x35fe45fab7ede210L },
  50435. { 0x6b3ecb7d82e78b40L,0xa90eed4fdbc07241L,0xa73797895aacd533L,
  50436. 0x28120ba5f4fa89a2L,0x9c1fc09ee3055006L,0x71e665efc51653a4L } },
  50437. /* 39 << 98 */
  50438. { { 0xcf782247d28b5059L,0x15bef4cb1b89eb06L,0xbc182ed6bcb4afeaL,
  50439. 0xcf5b6dfde0e32b77L,0xeb61aff9d9446052L,0x5846f171c4bfc0abL },
  50440. { 0x61d5ae1c6fc68422L,0xa282c56846e870afL,0xdb4859d16bca8fbdL,
  50441. 0xd4cd416e97caf135L,0x11217fa9c3debd59L,0x27702da6370758ddL } },
  50442. /* 40 << 98 */
  50443. { { 0x8273db992d189057L,0x4d1b05fce1b5f8ccL,0x5fec7c830a7c32d1L,
  50444. 0x28ddaf28ea9b4d45L,0xb6bb62aca2fc58beL,0xfc65b7aa4a41852dL },
  50445. { 0x6e7651941c9e6045L,0x3acabf28fc116257L,0xc9d5e8054b5a4ba8L,
  50446. 0x9a072259cbdcf1ebL,0xc67cf643439fc8fcL,0x917ef6f8b4333aa8L } },
  50447. /* 41 << 98 */
  50448. { { 0xee6123cca6411227L,0x91372d080ee882bcL,0x2c30a840a638a4faL,
  50449. 0x1867421321e83d4fL,0xc6afa4cfc3fb9925L,0x19aec276e4fdc73fL },
  50450. { 0x1ffec4510cf4e610L,0xac57292ede22d429L,0x62844d78e6cacbc1L,
  50451. 0x0eafcc554d2e497cL,0x39f1acc8e780f600L,0xfcf8d914fcff8c6aL } },
  50452. /* 42 << 98 */
  50453. { { 0x0734ab43ff2152d0L,0xe52c5dee930fea54L,0x9cac7efe940bddbfL,
  50454. 0x30d2610ddbd43391L,0x4beeb865921c124dL,0xa19fe6a4fca219fcL },
  50455. { 0x588395628755cc47L,0xa7f301241324f2d1L,0x4fe38ee3b1ec5aacL,
  50456. 0x3583542eb16413ceL,0xfa92e2191733b7eeL,0xc0f30ba32b2001a4L } },
  50457. /* 43 << 98 */
  50458. { { 0x706b02c3febc7968L,0x6e45dc90c96a6b64L,0x34e5f890f95aa4c7L,
  50459. 0x8ae64d487683b855L,0x0fbb9c4a62e03ebaL,0xb32a965ce2cab115L },
  50460. { 0x4a7084a8b33102b4L,0xe7fd9db3ebd1bd6aL,0x2fcb233cc7f32b61L,
  50461. 0x365896d5f2549734L,0xa3f18bfd25c7a1c4L,0x382950ef212b8daeL } },
  50462. /* 44 << 98 */
  50463. { { 0x82154d2c91aecce4L,0x312c60705041887fL,0xecf589f3fb9fbd71L,
  50464. 0x67660a7db524bde4L,0xe99b029d724acf23L,0xdf06e4af6d1cd891L },
  50465. { 0x07806cb580ee304dL,0x0c70bb9f7443a8f8L,0x01ec341408b0830aL,
  50466. 0xfd7b63c35a81510bL,0xe90a0a39453b5f93L,0xab700f8f9bc71725L } },
  50467. /* 45 << 98 */
  50468. { { 0xee2b773e4ed17990L,0x499e83623faab7feL,0xa3925e2f71abb9efL,
  50469. 0xfee50406ce3b4a69L,0x71a15070bc10f803L,0x5b01e4a2c7bab10aL },
  50470. { 0x806c590d99e51e36L,0x34adbaf6a7f88d5aL,0xd4a93ce9f6b30ac3L,
  50471. 0x39d2cf40dc33fdfbL,0x13e676f1d5e4e7ddL,0xbaa72ab9199690fbL } },
  50472. /* 46 << 98 */
  50473. { { 0x85017690e51b47daL,0x25919b58a2b476ceL,0x6f692de103ec5d55L,
  50474. 0xd6cf8ee5d022dcebL,0xaf3225238ba7076eL,0x917b373728c902d5L },
  50475. { 0xac75fddc3fdf8590L,0xe83d9bbb64fc304cL,0x13550de2971f659aL,
  50476. 0x70bee07ee12b7bebL,0x9989d2fa0a855646L,0x8b6043aca576b3a1L } },
  50477. /* 47 << 98 */
  50478. { { 0x1bfd4f92fadf9017L,0x1e4509aa737bc67cL,0x88278c3699af1ffaL,
  50479. 0xbc47536f4678e22bL,0x69914cdb1b07c823L,0x56fc28ab97277358L },
  50480. { 0x092d28efe752d2f7L,0x6a8286a691da62c5L,0x86b702778033c632L,
  50481. 0x57ef284e7672f41fL,0x9101ed302e54007bL,0x53e94cfed25d8d19L } },
  50482. /* 48 << 98 */
  50483. { { 0x311ebba2fc37efedL,0x8a6a42d660cfd6bcL,0xb4051b3af2a4871eL,
  50484. 0x66ce77b8c2f0ebf0L,0x84abc9480ad28477L,0xc82e5c6263d9d11aL },
  50485. { 0x99ffc70c007dcf93L,0x5e974edfd964c822L,0x0fee3572513085e3L,
  50486. 0xbe67a88046ce8444L,0x136ceeb806d17129L,0x0da512ae662d86fdL } },
  50487. /* 49 << 98 */
  50488. { { 0xeae827d989e687ddL,0xb025f0723bdbdd9dL,0xfbddcecec3a575aaL,
  50489. 0x3fab33c1f80d12cbL,0xd0232142b32f0381L,0xf00e74bd3b6c3132L },
  50490. { 0xb7c1311e0e44deffL,0xf3d790ae29b04d6bL,0x3d3744b846f72957L,
  50491. 0xc0890fb6ab2f13e6L,0xa669a34324461f0cL,0x35c9677ddd72fcb7L } },
  50492. /* 50 << 98 */
  50493. { { 0xc257ed518060a28fL,0x3a9d7e1cc72fafebL,0xa304a5e8332f435aL,
  50494. 0x96969bc234ccf343L,0x2aae4d8e7702ba84L,0x37f15631f203a7eaL },
  50495. { 0xc0000f24c9666405L,0xa98eb834a537fb89L,0x8c0564cf7e36dd1aL,
  50496. 0xb5ca507b4e89615cL,0x9bfa209a9d80ef92L,0xe2ec1879a83f02e8L } },
  50497. /* 51 << 98 */
  50498. { { 0x73b4573c11dfdea9L,0xe5f208ee5c8cc81fL,0x5c240d3c769adf12L,
  50499. 0xbd3f8f33550c53acL,0x98171d16bb4f43acL,0xaf19d5fe84db9e13L },
  50500. { 0xc589be0d2e53345eL,0x3184b540f114f6f3L,0xa35ed77e4946090fL,
  50501. 0x427b860afd3108fcL,0x7d0848c3867df76bL,0x353539e2a32ec485L } },
  50502. /* 52 << 98 */
  50503. { { 0x9401aec2b9f00793L,0x064ec4f4b997f0bfL,0xdc0cc1fd849240c8L,
  50504. 0x39a75f37b6e92d72L,0xaa43ca5d0224a4abL,0x9c4d632554614c47L },
  50505. { 0x1767366fc6709da3L,0xa6b482d123479232L,0x54dc6ddc84d63e85L,
  50506. 0x0accb5adc99d3b9eL,0x211716bbe8aa3abfL,0xd0fe25ad69ec6406L } },
  50507. /* 53 << 98 */
  50508. { { 0xee174af2df740edcL,0x1bd8382c09233f0aL,0x34a7450e7d343006L,
  50509. 0x92259ddd3d463e61L,0xcd0bfe6fedbc3af2L,0x39627c4cfc8770f4L },
  50510. { 0x7b7c688ddbabdf2bL,0xf459f0e64bef3558L,0xfa0e87becc88f7c8L,
  50511. 0x67beabac5fcc80feL,0xbdae52bfadeba16fL,0x4751724c5af5c9bbL } },
  50512. /* 54 << 98 */
  50513. { { 0x5627e0d016332364L,0x33839376fc57f01bL,0xe7fc2c489528e434L,
  50514. 0xa0ee39acb52b3757L,0xe49e383ee42e4832L,0xabfefdbb31359afbL },
  50515. { 0x5dedb6f3b99ee196L,0x38abe58bc16aac17L,0xa300a1333ec06a07L,
  50516. 0x00e68eadc90d4659L,0x60412e8a8000a773L,0x6099b6a6a5830c94L } },
  50517. /* 55 << 98 */
  50518. { { 0x85364bd10d340c80L,0x14b89462be64bc9fL,0x16429134b542faa0L,
  50519. 0x0d4cf3ce73683e2bL,0xf9a3e443cb73ab7bL,0xa4c2d0afbb156b0dL },
  50520. { 0x826123921bc77675L,0xaf2aad4a5f26c238L,0x6f6f5d9aef4656bdL,
  50521. 0x0e20425f90901f3eL,0x0e30bfef9943a673L,0x6cefc62847415a28L } },
  50522. /* 56 << 98 */
  50523. { { 0xe7acaa8457e0105dL,0x3c06d3bd3851fd57L,0x23cf3c612a9c631bL,
  50524. 0x13888aaa33863bf8L,0xf2396355717783eeL,0xf21e1a4836b300e1L },
  50525. { 0xa734cb3b9d27b4cbL,0x0a7effed796e34b6L,0xfc5864773615cc7aL,
  50526. 0x1f98ed7788844a21L,0xd6e289407ad4c7bdL,0xa00d64ebe9331c7eL } },
  50527. /* 57 << 98 */
  50528. { { 0xcc6ce7dee1c1e159L,0x77982e4f03df6b56L,0xbd8307d1b82b5ebfL,
  50529. 0x43e25358ed881b82L,0xddba4f418e0eb034L,0xbe326c36f919800cL },
  50530. { 0x97d03da7af52dfaeL,0x153bb17af4bf81c5L,0x29bbb9bed7ff322cL,
  50531. 0x7a7bd8c7232cca47L,0x7474c199c2830f03L,0x9f464a06f0065fc4L } },
  50532. /* 58 << 98 */
  50533. { { 0xca505cb553b876bfL,0x6fc27f553662cb5fL,0x891cbef432cb1636L,
  50534. 0x339743f16e27e2d9L,0xde76538f21dc4837L,0x9cea05020efe241cL },
  50535. { 0x97b8deb65888d9acL,0x4d3c28cba4b6cc56L,0x88ca828f840910b3L,
  50536. 0x2e5727cfbfde6793L,0x05a4138302bbae6cL,0x2e72fd653fa8e23bL } },
  50537. /* 59 << 98 */
  50538. { { 0x5b88c5ae6d17fe02L,0xc9b14810d6dbe104L,0x170b8659873be863L,
  50539. 0xdc5946a6ae9111b4L,0x4cfa5f022819a4cdL,0x7653d06ae213bb7dL },
  50540. { 0x324c41baabd7ee74L,0x4219968cdd1608f1L,0xa5e104704adc1561L,
  50541. 0x964a53ea5e16d818L,0x00ebd1d4980f4bd2L,0x23cbb80d3518144dL } },
  50542. /* 60 << 98 */
  50543. { { 0x0d5c1769df85c705L,0x7086c93da409dcd1L,0x9710839d0e8d75d8L,
  50544. 0x17b7db75ebdd4177L,0xaf69eb58f649a809L,0x6ef19ea28a84e220L },
  50545. { 0x36eb5c6665c278b2L,0xd2a1512881ea9d65L,0x4fcba840769300adL,
  50546. 0xc2052ccdc8e536e5L,0x9caee014ac263b8fL,0x56f7ed7af9239663L } },
  50547. /* 61 << 98 */
  50548. { { 0xe6ece4b5dae76820L,0xd428354e95feec03L,0x43517722f8871f7bL,
  50549. 0x313fde11e84d0b7cL,0x7f02824b1cae0a45L,0xf9f560c1d6646bc4L },
  50550. { 0x124d88bc903a0608L,0x950e8320370c7ff2L,0x29e6da714090a72dL,
  50551. 0xbc5a108c54547d89L,0x809330cd3e484deaL,0x1b04a8088bb00f0cL } },
  50552. /* 62 << 98 */
  50553. { { 0x2425c59c03e0a528L,0x49de96f425c2be3aL,0x30b52686fff4b610L,
  50554. 0x2ce573b0f2e5f7b1L,0x4ec05f07b606f0e6L,0xf2040886366ecbf4L },
  50555. { 0xc7fd993460d404d3L,0x8a064992fc12227dL,0x9c6d64ec215492b1L,
  50556. 0x2793bd0903463ec1L,0x49523ebab7376e80L,0xb138dfbd35b14fd6L } },
  50557. /* 63 << 98 */
  50558. { { 0x5ed097b0df7363adL,0x21319edba5696d91L,0x17c46519c5d5313dL,
  50559. 0x341d46576c6cccedL,0x60d80713692bc704L,0x9477b6e907fb8e13L },
  50560. { 0x2965720b532e0c6dL,0x2767b4ee87831d79L,0x3e2e67abd4b5ef14L,
  50561. 0x45ee89b5d2598521L,0xfc8f1e3ee6441648L,0x75c4db57567ed090L } },
  50562. /* 64 << 98 */
  50563. { { 0x17e3d0b8713b8541L,0xf372b048c6b5e839L,0xf8ef0261d0bb1848L,
  50564. 0x9b804ceec71a3bbeL,0x00b7d171542a88aeL,0xf2b8ed10e9097b9eL },
  50565. { 0xdbad9f122c0a009aL,0x245fc1e9205fb1bfL,0xa8a4834fb83debf5L,
  50566. 0xc3ee226d637e449bL,0xe3070d93cab82664L,0x24b8094db37320e8L } },
  50567. /* 0 << 105 */
  50568. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  50569. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  50570. /* 1 << 105 */
  50571. { { 0xb506b7b925059699L,0x349fd83f01ab02e5L,0x64b729ad3789281eL,
  50572. 0x69ae8f81f9af4561L,0x007befe156f91860L,0xb578c566edc250fbL },
  50573. { 0x1c16d75a67ae4801L,0x04c35a7ea1d3f592L,0x5dc97da936881f89L,
  50574. 0xaddb603103a5b1eaL,0x7eb515b13e153a0fL,0xdc3a92192b4a1ee2L } },
  50575. /* 2 << 105 */
  50576. { { 0xe7365f9e512cc92aL,0x9efdcf8b5172a654L,0xbfb389ac8e611fc3L,
  50577. 0xce778fd5699c227dL,0xdc1f47b63ff2ef17L,0x2ae0f68302672ed4L },
  50578. { 0x51c63806a8e879cbL,0xd3dfecf03909f526L,0x375b3d13e00e12a2L,
  50579. 0x91f9f750bf8df325L,0xf1ea0e421df5f21aL,0xaed73e7f32c60584L } },
  50580. /* 3 << 105 */
  50581. { { 0x03b07fb5e0728e6dL,0x9e0469201012234eL,0x272e644935637644L,
  50582. 0x2b6ad1c2a55bcadfL,0x86c527765c71c6afL,0xa25bd60bc1678806L },
  50583. { 0x0cae829476bb32f8L,0x389ce4e633e03cb2L,0x504df8337513dfb6L,
  50584. 0x4260ee8e1b351ddaL,0xa473c5d9dbaf7cd0L,0x22cb7cb471e390fdL } },
  50585. /* 4 << 105 */
  50586. { { 0x1d9aa9fa26caebd8L,0x6b64686926b7a673L,0x7ebed6a17f167b47L,
  50587. 0x324c13f85bd9153dL,0xe9ea5b734c682ba6L,0x2961da7d7e3ff6e2L },
  50588. { 0x1ed2b05001a83dadL,0xb232951dc4a2f60aL,0xafcea5d3d68b8ec6L,
  50589. 0x21dc058d1c6ce0d2L,0x0043de75e719410cL,0x4edd792ce15cf534L } },
  50590. /* 5 << 105 */
  50591. { { 0x0f45245f3babe09eL,0x0959326fa9f2fac5L,0x7629e7fb5cc136e5L,
  50592. 0x208bd5a6e48b7eb0L,0x637891d6b75a85cbL,0xf0ad9d8d9f27b57eL },
  50593. { 0x437b6944e0454b05L,0x022c51d702ed3592L,0x0f79e2bd0dc0a769L,
  50594. 0x54ace1fdd9b81f9bL,0x38611d66f95ea8dcL,0x52443ca8f0e6147bL } },
  50595. /* 6 << 105 */
  50596. { { 0x857d68558bc272d0L,0x4583eeeeb5be2485L,0xb83586dafe0152ecL,
  50597. 0x8b0eb223e830294aL,0x757582b6a5b0e880L,0x5140c0169cca7fffL },
  50598. { 0x07a00782e9228f12L,0xb96e2b5dd4973080L,0x3cceb9a6e88efbe6L,
  50599. 0x9955b63073fcdd25L,0x04f26ab02805d470L,0x90b38299424da086L } },
  50600. /* 7 << 105 */
  50601. { { 0x73f1ae48f4f6c5b4L,0xee5af13d4a477f01L,0x274614a2ddb93d52L,
  50602. 0x90b0c563c320aaf5L,0xee2303c8ef990b0bL,0x00d028e73061f140L },
  50603. { 0xff705011cb3d8eafL,0xae1d990862594f4cL,0x22a27cecdafea438L,
  50604. 0xa78e12d5c5962ea9L,0x5bbe9d878e65f9cfL,0xa222580cf47cefa6L } },
  50605. /* 8 << 105 */
  50606. { { 0xf7aaa732959abb9eL,0x1222ad0a2ebf80b9L,0xa1a417372e0c286eL,
  50607. 0x3b6685025da3472dL,0xbc0d116b7576f2a2L,0xfdbcad95a36a27d4L },
  50608. { 0xcdb3f4749d54f7eeL,0xe2e0f5f98a5643a3L,0xc70d11b969d4f171L,
  50609. 0xdf96d1366cca4ef7L,0x570693db2fc6afdfL,0x5059e67b567504daL } },
  50610. /* 9 << 105 */
  50611. { { 0x2c8107d47fe632a2L,0xfc46c745ede7bff8L,0x2d3b12864650025bL,
  50612. 0x815ef3cbe74cd65fL,0x5431b01ba256f01cL,0xe832ff1139915cfaL },
  50613. { 0x2c106de607d7af84L,0x67303b786d4753e7L,0x5f886ffa6d75c8deL,
  50614. 0x932a6c20967131cfL,0x5bc94a9170aebbb0L,0xa85b3044fd56e06dL } },
  50615. /* 10 << 105 */
  50616. { { 0xc904558ae7eba799L,0x46b6031bb2fa7331L,0x6620e2b50653675cL,
  50617. 0xd1373a357d2218f7L,0x0f4b3ca3af55a5e7L,0x50774160714e70c2L },
  50618. { 0xacc63d1469188455L,0x89a795fe043b8b30L,0xac2fd66ce1e4b9cfL,
  50619. 0xac7927021bf67f26L,0xb9513f0d1143d437L,0x02198050811f2931L } },
  50620. /* 11 << 105 */
  50621. { { 0x6d4acdba7b480776L,0x8b518cd466dffeb5L,0x8826c99451918859L,
  50622. 0xd2b6a7a038fad835L,0xd315417a6929a870L,0x05d85252c5a769e1L },
  50623. { 0x2fa06335ec0d091eL,0xb0cc337287768c88L,0xacbda5ba58a2eb9dL,
  50624. 0x2a404fc976b7b057L,0x073abb71838c6135L,0xbdf89b135cfc4f3cL } },
  50625. /* 12 << 105 */
  50626. { { 0xd00eb9c53508675fL,0x92ec76a4a117dc95L,0xf58d6f85334ca15cL,
  50627. 0xeeb522169cee0544L,0x3eb9847ff21457c2L,0x547908bc5524c60dL },
  50628. { 0xb5b49d225198709bL,0x718abce6324abc67L,0xdab8ff2f4abd54baL,
  50629. 0x98be59e67184d444L,0x45b74b54babeb4b0L,0xd8d8bb30ff71a5acL } },
  50630. /* 13 << 105 */
  50631. { { 0x8aedf7e28ec13e6fL,0x8b952620d950792dL,0x36e9dac204918f59L,
  50632. 0x5e49a5a2d3dd47edL,0xb17455bee863c2bdL,0x8caac6a9326a0d66L },
  50633. { 0xb6c3f5e427bb72e1L,0x17566c9dee5fe09bL,0xfd6bbcc25e3db64dL,
  50634. 0xd437d07a3189319cL,0xad00dfc4cd3166a5L,0xab75927b0bd63003L } },
  50635. /* 14 << 105 */
  50636. { { 0xa7672a39afc43be8L,0xefc49015c72f97aaL,0x81c63c050e48f2edL,
  50637. 0x62f39f32833a22ccL,0xf7a3480172c0c0c4L,0x4711cd41a4158538L },
  50638. { 0xa3c99a4d1d15f2f3L,0x4b82c1c17bee1b47L,0xc7d60b489d199f10L,
  50639. 0xd1d1f03d5f16fa95L,0x96c780c932fbeaf2L,0x0662e250376ff106L } },
  50640. /* 15 << 105 */
  50641. { { 0x728e334678571c8fL,0xd0a886b56cb339d3L,0xf4ea33380a5671baL,
  50642. 0x43823401a64850a4L,0xa7729cd533117b9dL,0x4dd457602b78cffbL },
  50643. { 0xbe0571115a67d812L,0x7ec6cf925105a3fcL,0x5dbcb4bc0ccafeecL,
  50644. 0xa7587f15803092f8L,0x67ee61d5a884efadL,0xd4ced554ca47d9caL } },
  50645. /* 16 << 105 */
  50646. { { 0x02c6b6083b03dcbcL,0x2b20149e3b9d868aL,0xaf5ab01d4f57eb0cL,
  50647. 0x59935b94d750e515L,0x32721b408f89ad68L,0x673bd755a7e3ceffL },
  50648. { 0xbd462fd8ef3b3393L,0x991422640e59a120L,0x4162da619263fa61L,
  50649. 0x2ed1f2deb6488eb3L,0xb0bd37a8725680c4L,0x17218bf029ec27b0L } },
  50650. /* 17 << 105 */
  50651. { { 0x444071ff84ff1ebcL,0x4b4171e87f789cbdL,0x4a832cca2db4e8daL,
  50652. 0xe229ffb6dc209c05L,0x9efbfd7eb5f0b3f4L,0x65e07fe774fbbe6bL },
  50653. { 0x2892c8ac627b9d41L,0x01a20eb94297e7a9L,0x2f54e88646f29860L,
  50654. 0xc425accc188798ecL,0x6137251c85c80580L,0x6cc0f9c4f386581eL } },
  50655. /* 18 << 105 */
  50656. { { 0xf677bdd11cb61a7bL,0xfca1faf8932d6113L,0x1d5bbf97a531bbe2L,
  50657. 0x3d5e4860c849fc47L,0x388943cd95fe4da2L,0xffb7d5e073add43fL },
  50658. { 0xc3166ae828fcc058L,0x89dc7faae0d6f6e4L,0xe6daf1a6f527ca01L,
  50659. 0x500a703a56ef1d8dL,0x3573d0a3fc914df4L,0xd780e745ef8dc2a4L } },
  50660. /* 19 << 105 */
  50661. { { 0x90a8f3380500afbcL,0x8c303270838ccf6fL,0x82cbdc98458254c6L,
  50662. 0xc2f24d03b367ddbcL,0x5d3daa0d6c882354L,0x824d313d376599d0L },
  50663. { 0x6e5075df7b9dd1b6L,0x6871a3d4d69c9828L,0x8b3762f59cffa148L,
  50664. 0xf2184f67eef8c656L,0x437630c296a1537eL,0x92a0667c4cbf8249L } },
  50665. /* 20 << 105 */
  50666. { { 0x6e929912ef619478L,0xe7ddaf255ffc5939L,0xb71133cf96dbbca5L,
  50667. 0xee8bd53f17da5104L,0x7601ce6adc49be68L,0xa1ca3b3cc63f2a87L },
  50668. { 0xebf388c2a0de1668L,0xa0f6c38dd0ec6bd7L,0xc8e0875ddac451ddL,
  50669. 0x179fbbe5a5afce85L,0x0727095673bfb06bL,0x992afcd047622925L } },
  50670. /* 21 << 105 */
  50671. { { 0xe3b0122624f262c3L,0xaa7a0925dae30b22L,0x36104c95a96a18f9L,
  50672. 0xdc6090f5539b6740L,0xd70270ba11040a88L,0x53997b57ea3342feL },
  50673. { 0xaaf1d47d63393e4fL,0x9db8aa3fe8a99625L,0xed571a32c3926e1cL,
  50674. 0xd6e898526e565346L,0xb3984bbd873b2589L,0xaeb7bf3f3f5f68e1L } },
  50675. /* 22 << 105 */
  50676. { { 0x75a4a19a79ded4a8L,0x1368e269f688177dL,0xa24d67118581e23aL,
  50677. 0xae63d5a6746b3830L,0x0c68d3e314017304L,0x521a5e7de4d45dc9L },
  50678. { 0x69d9adfaf77ca616L,0x1f8d37f4bfda67f3L,0xa2833ba1027e771dL,
  50679. 0xae49b00367141a63L,0x04e6f282ed6f1968L,0x65d7d88f060f9157L } },
  50680. /* 23 << 105 */
  50681. { { 0x5dc3137b512e4026L,0x43e189595d6ac980L,0xdb7dfef39eac06a4L,
  50682. 0xa8f3e2aea09b0650L,0x80a8594c575e047aL,0x9eba41bcf0c58bf3L },
  50683. { 0xdc04cc7679812341L,0x716050eaeed1be66L,0xe559782099b77be8L,
  50684. 0xe543aef055183ad5L,0xbbddfb814c08a959L,0x6e54d86eb5368e8bL } },
  50685. /* 24 << 105 */
  50686. { { 0x170f8a74e7aba263L,0x6b4e1d7b986b151aL,0x5f65bd224b08921aL,
  50687. 0x1017ae3de6caca3aL,0x613f36b626cb9d5bL,0x8a1e2f2ded19d99bL },
  50688. { 0x52c915a5c3c519c2L,0x3c9a33305902fa08L,0x2cd7f7c206a51a12L,
  50689. 0xfed60db66e0197ceL,0x4e5b2bb7d971b04cL,0xebebeebf2f45ab13L } },
  50690. /* 25 << 105 */
  50691. { { 0x43b10a0673220e06L,0xdf93af67777cf022L,0x830195efbeea9ed4L,
  50692. 0x0a36b71812353c9bL,0x520e2e8d1ec8c488L,0xdc985ffaadac5e16L },
  50693. { 0x0ebac566f3f58ed7L,0xc7747562a2cd13a2L,0x6a5b4cbce3901864L,
  50694. 0x66634acaa374b634L,0x45e000877f4680dcL,0xb783d01f9fdbe92aL } },
  50695. /* 26 << 105 */
  50696. { { 0xcf6d51be36e1c05bL,0xf59b6665e1da0ad8L,0xaa8bfb9d727a701bL,
  50697. 0xb1680942e26e268bL,0x09d41407e518661bL,0x8b0dfbfb3757a993L },
  50698. { 0x34ecb09f6cb33380L,0xfcd77efede342bf6L,0x9f8fa6c6e476c5eaL,
  50699. 0xde30410fb6257416L,0x416ea101bbd47b91L,0x86ebd19e4aeede80L } },
  50700. /* 27 << 105 */
  50701. { { 0xfe7562e00818226bL,0x922d8fe662b46275L,0x6216698b491adc2eL,
  50702. 0x5bdf7a59f6a38f2eL,0xc0640bf937710dfcL,0x06ad30a9df687f48L },
  50703. { 0xc561dc7d3eb66e6dL,0x7444ac83d08616c3L,0xebfcccee84984618L,
  50704. 0x35a03bafbb15eb51L,0x7c907f9fc17a5de2L,0x2e48ddb5814634dfL } },
  50705. /* 28 << 105 */
  50706. { { 0xe466d7a7ea51a37aL,0x5203e990cdf97186L,0xf700953096c84ba0L,
  50707. 0x4e32fbe65f89d1adL,0xe530349aa9be221eL,0x0f7f9c2e50b31508L },
  50708. { 0xa6796f5c3af5a574L,0xe220f6daa2a2df89L,0x99ec4811d8b65510L,
  50709. 0x4dfdac69ed373b27L,0x663f46b1bb55114cL,0x44236350d167e032L } },
  50710. /* 29 << 105 */
  50711. { { 0x1382e90ba65f6a57L,0x3557ab88e5c903e1L,0xcc0cc77f032067beL,
  50712. 0xdd8da09f67797328L,0xeb2979d45114c09bL,0xaaca95bcc4eb598eL },
  50713. { 0x651a7ce5a2b776fbL,0xc20fe9315312ffc1L,0x842957357dcf479fL,
  50714. 0x022ba6e2ee5cc0a7L,0x6d27e37185b0ba5cL,0xe6f212bdbcd5f2c1L } },
  50715. /* 30 << 105 */
  50716. { { 0xb0c2ce87a9088f95L,0x47ec07e0acb11d2fL,0xfe84fba0d30ad231L,
  50717. 0xaa98e35f18a08eb1L,0x36adc3f2f6a27510L,0x622d202751fac4fcL },
  50718. { 0x4be765cabb9b6ffcL,0x934193571cbfcbeaL,0x83542d9cbef14402L,
  50719. 0xf27504954612b4b4L,0x91aff597bb988ba6L,0x229031e51d61f6f9L } },
  50720. /* 31 << 105 */
  50721. { { 0x6b04a446ea29e65cL,0x9b6247a696c48a99L,0x95aa162f60c83930L,
  50722. 0xe387f544e30821eaL,0xbe1cdab306c51b7eL,0x40175d151fc7b8f8L },
  50723. { 0x89df5ff36384d331L,0x02eb9aa4fe1aaf5eL,0xf24155f789675704L,
  50724. 0xbd2e8cdd87f72f4cL,0x2856b3c46de30f01L,0x2356f0a3ecf8af25L } },
  50725. /* 32 << 105 */
  50726. { { 0xfb09e7564bd044efL,0xdbc9fcdfbb964fb3L,0x451c5b01cdb1f4f5L,
  50727. 0xb02f9068f1dd1cf0L,0xd4765e7c0c687e41L,0x89b64981d1967bd3L },
  50728. { 0x06a0e4ecf0439d65L,0x564c387da5abbcecL,0xc1e9d01ac651d806L,
  50729. 0x5e6ebd830618a96cL,0x9ce1aacec54ad8ceL,0xe5248a089953f90fL } },
  50730. /* 33 << 105 */
  50731. { { 0xd65f3b909b6ab239L,0xbc259a6d9ea8bf80L,0xc10d5c235944f964L,
  50732. 0xbd6b3f6f61eeac6fL,0xc4ef2d8383e92858L,0xb80d5ab0a3736bfeL },
  50733. { 0x27bebd1176695c40L,0x4de92348ea4f5720L,0xd70d93e6070b892aL,
  50734. 0xfce03d0be626d5abL,0x2525e8ea81014bedL,0x6fa3df16a70e2799L } },
  50735. /* 34 << 105 */
  50736. { { 0x42b8350a7bbc41caL,0xd7861ad49af59bc9L,0x2453d07c5644d328L,
  50737. 0x2b92643ad7c8ec43L,0x7c14d3c7cd5f1fd2L,0xcee050463d373c7fL },
  50738. { 0x17ff60bd0ab2b35bL,0x473925e0dbb7f655L,0xdbaa015aff3ee023L,
  50739. 0xbc1ff6d6087ecfbfL,0xc44e1c8c5fc66ca2L,0xc60a193850d6b257L } },
  50740. /* 35 << 105 */
  50741. { { 0x5ff44f3ed8f0983cL,0x9de50da0bb82cc15L,0x504f82ec94757c44L,
  50742. 0x72a4fc9dc8a07028L,0xd4d6e4cec3d5e64cL,0xc6148fe780008568L },
  50743. { 0x71ba3fc525ef66d6L,0x969cc8694f6589f6L,0x5016c8c2d934ab25L,
  50744. 0xa78382f6959e8881L,0x28bcb8bea20eee18L,0x055ba80b37edd7c8L } },
  50745. /* 36 << 105 */
  50746. { { 0xbe389fef9c98ca3cL,0xdc3ab23b910370e5L,0x866cb37d5e8eb20dL,
  50747. 0x2f951ca9c1e32fc8L,0x54ef6ab15fe24e6cL,0x6038b5efcfcb8cfbL },
  50748. { 0x362e076b6eec196dL,0x47bb3aefd398b505L,0x9f3128eb343711ccL,
  50749. 0x8dda2fa8d28e3269L,0x908c52c7eda48846L,0x65fb3a05d53b0917L } },
  50750. /* 37 << 105 */
  50751. { { 0xeae35c02ed711239L,0x16ab943fa97db2d7L,0x9770bb578f3b0599L,
  50752. 0xa88ffb95956d04f3L,0x3b937af5f4dcf6ffL,0x311ef2cc0bc41f56L },
  50753. { 0x00e9214a2860ea2aL,0x2a64b18a7bd12d8fL,0x20a5b9da6a2b9dbcL,
  50754. 0x5c16a412fe1b8edaL,0x6fc306af7b9db98bL,0x964c35de25dc9363L } },
  50755. /* 38 << 105 */
  50756. { { 0x81f4739e6df16589L,0x2ea2fff11f8b8ac4L,0x3baff03d33e02c36L,
  50757. 0x7f07526874d77660L,0xa442d7fa758eed7dL,0x584cbe9866625864L },
  50758. { 0xeed35d579d167ff6L,0x56627c2e3c7bf84fL,0x908df5aedd011153L,
  50759. 0x2694e54d242fc055L,0x25beed9a2f2d60c3L,0x29d3f22fe2ee5293L } },
  50760. /* 39 << 105 */
  50761. { { 0x14940dbc178f9859L,0x6e6e35b7329ec4a2L,0xd1f198096707db4aL,
  50762. 0x6eb310b79fe4233aL,0x8f92556eb41e1d8cL,0x2ab28e231d7ce522L },
  50763. { 0xc5d0f5dfdd5c4d68L,0x3f5146d825101083L,0x3a04aa53de9ee4cfL,
  50764. 0xcf36f1e3d9357f64L,0x05a1896444889f68L,0x1096c87aa96a4137L } },
  50765. /* 40 << 105 */
  50766. { { 0xfa4b6697a8352657L,0xf5696452cad6ec30L,0x10aaba60986c84ffL,
  50767. 0x49bdfff4dae014e1L,0xe2a810bd0abc0e46L,0x1dc5b81462d1dd5fL },
  50768. { 0x15d2f2c723bb4561L,0x5ac7b6421818e30cL,0x40c6b6f94c545f5bL,
  50769. 0x5875b6b2f99241e8L,0xfa3e88a9d6708293L,0x1c936920ad6d9344L } },
  50770. /* 41 << 105 */
  50771. { { 0x6516f6210e18ec42L,0xb967eb43df8c26bdL,0x624ee27e69addc2aL,
  50772. 0x34019d6339063252L,0xb317fdd3dcd99d7aL,0xc3d566825d314caaL },
  50773. { 0x04992df3367506b8L,0x13e4ab2e547262b7L,0x35f130352e287d3eL,
  50774. 0x92e0a276211304d9L,0x94e7129417133d22L,0xb35302275fd71a28L } },
  50775. /* 42 << 105 */
  50776. { { 0xe1d9273c9ae60111L,0xe86aeac3d01243ecL,0xc7257b27fa5989f5L,
  50777. 0x57737dc89807d3ccL,0xe1ef78526937551aL,0x74ab9edb15dd2d58L },
  50778. { 0xbc47b23cc59962fbL,0x376ff30fd3bba76dL,0xaf0035872788ab98L,
  50779. 0x1e475c68619b472cL,0xd79984c89c6a9835L,0x5ceafba510219a94L } },
  50780. /* 43 << 105 */
  50781. { { 0xc25ae81155d238d9L,0xf2a21fce4ba4456fL,0x4ebe44d0bd1a440cL,
  50782. 0xe821687f83d958beL,0xb4ce63423ba09f9dL,0xf271435d139048bcL },
  50783. { 0x2a3db37c99c6412eL,0x50cba09ccb36dbd0L,0x9e5231aef6e65cf8L,
  50784. 0x48e9105d90118a6bL,0x2d58d372368144cbL,0x48702d59928575baL } },
  50785. /* 44 << 105 */
  50786. { { 0xc71ce040d1c9204cL,0x8ad09d7373f7686eL,0xbcc6d88dc6fcf31dL,
  50787. 0x22a0b71aaf428ad3L,0x7767944847721255L,0x2b720c7e316b808fL },
  50788. { 0x3128a7cc5ed45b8bL,0x9744c6c0f79fa1c7L,0x738e94efd22728d7L,
  50789. 0x8a652496fff8f874L,0x0e4a5ade566c9751L,0xfcde62db64e3199bL } },
  50790. /* 45 << 105 */
  50791. { { 0xb068ec91aa63f5fcL,0x547e7e471a29ddfbL,0xe3e5de42b17b8e5dL,
  50792. 0xb5c84f27264d1361L,0xa68d10a426432715L,0x4f31e81c23e48e1dL },
  50793. { 0xe32bea6116dbe185L,0xfaeab7256d1d34feL,0x0ee437cef3a8ca7bL,
  50794. 0x2b8657a2f458446bL,0x8779a3d4c52e3dcaL,0x243d7d0e71654165L } },
  50795. /* 46 << 105 */
  50796. { { 0xc4a346b2de23afe2L,0xf8e00f790fac7ba4L,0x22393604ab76b7d8L,
  50797. 0x109233d7a06efba8L,0x5bf89334c7bf56a4L,0x27ed4a28135d4cabL },
  50798. { 0x07851ad2e32ca02fL,0x41b7ffa630c97f29L,0x383b3716e4457ccdL,
  50799. 0x6ce8645b0b43a50fL,0x73c82018fc5b907bL,0x79a1467381bbcf0dL } },
  50800. /* 47 << 105 */
  50801. { { 0xcf5331d35e092e41L,0x7e0b9fdeb43e3c15L,0x842a971182841f82L,
  50802. 0x2d837c810cb9d1ecL,0x6aff6d6873095ddeL,0x2a7f6f40c9478ef3L },
  50803. { 0xb6e8ac80a9976e39L,0x3853fa5474e40024L,0x664b159a6d87c1d9L,
  50804. 0xaaedf4b4b20b5d11L,0x8a1ac277c5819de1L,0xf10276dc6450b97eL } },
  50805. /* 48 << 105 */
  50806. { { 0xa8d7901c7c16c09bL,0x628ff3be42e1948bL,0xb905d7c504e4bce1L,
  50807. 0xdfbf9c4e5ab0696fL,0x0f4e6e2ab6db9cd5L,0x4857e570482e40feL },
  50808. { 0x5ccd9b421c3beed4L,0x171b085fae51a947L,0xcebe0dbe59065754L,
  50809. 0x4d052d3a461c1620L,0x396bac422fe541a7L,0x8e714cdb70bf32d8L } },
  50810. /* 49 << 105 */
  50811. { { 0xed82f15e6ca1cdcbL,0xc5ae5cde51b9a9cbL,0x3b2f78cec70c475eL,
  50812. 0x0f22d10b4243c675L,0x1db96885facac4c6L,0x2fb7884817df2f2cL },
  50813. { 0x25fb9f4e990f3104L,0x1416733ecefa14f7L,0x3a33828384a5dc24L,
  50814. 0x6d75d3d02564288cL,0xf7bea8b69b93e62aL,0xa5ea8695349f1740L } },
  50815. /* 50 << 105 */
  50816. { { 0x38feea7115e711b8L,0x129aea564accd3eaL,0xc53e54c412b23539L,
  50817. 0xb15bf11a2b280c59L,0x5ea76f5782d44df5L,0xea79f833d4ac1af8L },
  50818. { 0xe547deba08330c6dL,0xbaa89422663ef402L,0x17263762d215a5f5L,
  50819. 0xb9509a19c02b5f9eL,0x9bb99fcb025caaccL,0x43f4494b25f24089L } },
  50820. /* 51 << 105 */
  50821. { { 0xe55e592c98563c70L,0x4e62ace5d013c82aL,0xb6025ac16fcf7380L,
  50822. 0xac4a8157cfdff8b9L,0x1fa181344497acf6L,0xdcdf05c0ef09d3e9L },
  50823. { 0x7a65490d83d8e716L,0x2aee0b35e98c46feL,0xe62381dc7d6d4035L,
  50824. 0xc7162b78203975c0L,0x1079d8b6aad2c021L,0xe3e1cb4370c98838L } },
  50825. /* 52 << 105 */
  50826. { { 0x3ca01799f04dd97aL,0xd6d1d41d3f9e03f3L,0xac2713eda55fa375L,
  50827. 0x2bd440556a89a5e5L,0x8582d98458f5c269L,0x7f9b3527fb31fc27L },
  50828. { 0x23f91951d810580dL,0x99303919360a3debL,0xfaf10326b5e1eea8L,
  50829. 0xf96feb4838ba5ac8L,0x1508b1002a639622L,0x0766a1019dc93c78L } },
  50830. /* 53 << 105 */
  50831. { { 0x0c79d40679a0290cL,0xc09bca0c57eb7a00L,0xf7274ffc163c1dcdL,
  50832. 0xd64ec461bb2c83c4L,0xff3b83efe9ee350bL,0xa490157d01882c72L },
  50833. { 0x626e1f3d3312310bL,0xd2097e03cdd5d62cL,0x705c3fcadbf659c5L,
  50834. 0x2dc1d7cc810fa413L,0x6313192ad67d58a8L,0x6e1e5bc3597f63a6L } },
  50835. /* 54 << 105 */
  50836. { { 0x6100535ea0d42639L,0xb126e939d921369dL,0x2d4c826e4999e42cL,
  50837. 0x159063c6f62f77e7L,0x063c42914e632555L,0x8d3ee387b35d8220L },
  50838. { 0xbd951cff9b2bac3eL,0xd9b943f1bc248755L,0xeee7017ad3a6074cL,
  50839. 0xbcb9e0e6b0872a21L,0x26d80e0949dff656L,0x2ad7d4e335fbf620L } },
  50840. /* 55 << 105 */
  50841. { { 0x6ce5840df7f9503fL,0xb96f82996abf4f6bL,0xf71f33853ab55fcdL,
  50842. 0xe347e891e83a8109L,0x12c5dcdeeb48f0faL,0xb0f02553cd7183a9L },
  50843. { 0xa7d74862c414f01fL,0xbea40c5cae369360L,0xbe9785e5022d5192L,
  50844. 0x1a3224a50d318251L,0x4d7200093fcbceebL,0x1fd71167c2976f6dL } },
  50845. /* 56 << 105 */
  50846. { { 0x03c88a8566d2ee47L,0xee8e5c34455ee428L,0xd90a3d393870d90eL,
  50847. 0x2fd78d14f2fdb976L,0x9472a6066a312a30L,0xea68e2283484af2fL },
  50848. { 0x7cf25951ac9e5cf2L,0x024f07ee37a28e95L,0x5d479379e563a2bdL,
  50849. 0xe87b50a4b46e93d8L,0x9128fc11f137285cL,0xe46efdf77c67d7e6L } },
  50850. /* 57 << 105 */
  50851. { { 0x4050036c7cb0b9a1L,0x8560750c1161d7fdL,0x4d293a521b247ba9L,
  50852. 0x4b25e54c8f1b9d31L,0x91c89139c5baa0aaL,0xa2f75f9f2202b7e2L },
  50853. { 0x6c0915dd4d2d1388L,0x575d90f703717fd7L,0xd90c059b03e0626dL,
  50854. 0x7004305ba4239e8cL,0x39fb4e2e989775e6L,0x20c31fc8d8a239c6L } },
  50855. /* 58 << 105 */
  50856. { { 0x4de318054ab51b84L,0x4a68443c6aa00707L,0x2c3637f05b317f3bL,
  50857. 0xb8ea6f87c0fc14a7L,0xcd0cb4fca2cc6af8L,0x6b5fc899317083fbL },
  50858. { 0x1b8f160956e6dfa1L,0x698299ed92b77d20L,0xdb84ab7f14fc3fc1L,
  50859. 0x944666a35d5fe625L,0xe9a3448d7e064ab0L,0x53f62fa01abe1440L } },
  50860. /* 59 << 105 */
  50861. { { 0x04bc8a2bc8c676b8L,0x502a73144a577562L,0x494d01f11ff01f9dL,
  50862. 0xfe648df164d98f70L,0x80bed0d849719dd3L,0xb77a8f09c231e190L },
  50863. { 0xc8aa8daecc011818L,0xf313be4f5918814eL,0xf28fcb74488b5bfeL,
  50864. 0x71e23b19b3345c98L,0x1cfb7c0596eba9beL,0xa88e73b941c61971L } },
  50865. /* 60 << 105 */
  50866. { { 0xdc7050459cfd4295L,0x1cc9648eedeea59eL,0x88f4af1c0e9ca92dL,
  50867. 0x45d0b53f69689317L,0xa122a6dd41c04186L,0x9df54c3a277fba1aL },
  50868. { 0x1efc55a5017eb9ccL,0xb253f7b661d1ecd4L,0xd03f8ec6acfb7854L,
  50869. 0xf641e5f49f338dbaL,0x6b6a680a3a3addbcL,0xe80babb5b5cd058eL } },
  50870. /* 61 << 105 */
  50871. { { 0xb48da67307873319L,0x53309cdf3bf5db9bL,0x1bc510e64ee9dd11L,
  50872. 0xbb8e529a7388950aL,0xc9c0ce3c7f6e6175L,0xd75753f88a290784L },
  50873. { 0xfebdd94ba80acc08L,0x942cdfebdc846b30L,0xbb64799f6ca7099fL,
  50874. 0x40f03362d1326fa8L,0x95b2d9db97b62e9eL,0x5ad9ce165301d9aaL } },
  50875. /* 62 << 105 */
  50876. { { 0xaa5fead9dfc59ef1L,0xc1348e98b2cc1e9aL,0x83dd617e77bda968L,
  50877. 0x0fdcc0837c8997dfL,0x9206ae234cc62b01L,0x88aec92f417678dfL },
  50878. { 0x9d399af791fb8920L,0x399eebd13e8a22a0L,0x32f3bba735bebdf3L,
  50879. 0x354c1c5004c2f32aL,0xc2d6b5514052c926L,0x16a1f71f656a7eebL } },
  50880. /* 63 << 105 */
  50881. { { 0xd7a755bc14a8c57bL,0xa97b901341ebec55L,0x88b88459143a1a9bL,
  50882. 0x7aa178cc7e19e3e0L,0xb8359634635dfb65L,0x63fd26c7c169e28aL },
  50883. { 0x89d9090d953272f5L,0x63e571196383845aL,0x0e26c0cf886a1f1fL,
  50884. 0xda56332db7057a29L,0x6b5d303f7a459c6fL,0x3c351b771bb704c3L } },
  50885. /* 64 << 105 */
  50886. { { 0xda2b0725bb296c27L,0x1f22ffa4d341171bL,0xc721e35a5b132756L,
  50887. 0xe5695e84fadb6907L,0xbc5a3bf4c283f546L,0x9182cb3edde128aeL },
  50888. { 0x179c7fa66592e05eL,0x1e604790f38e8586L,0xaf7e83bea16bad55L,
  50889. 0x6f41231e9137ecd8L,0xac87543d8f30d1abL,0x630a9d87b1ee0ee8L } },
  50890. /* 0 << 112 */
  50891. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  50892. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  50893. /* 1 << 112 */
  50894. { { 0x359cbfa05e4f1914L,0x6992cd48d922176aL,0x2fd5e90f630cbcb5L,
  50895. 0x2b0f61306ddbf238L,0x5070970a3af753e6L,0x433d009441727016L },
  50896. { 0x2eb15b3b9dca97e2L,0x3a7379cd00d96875L,0x0d4374aee930a75cL,
  50897. 0x3cd36046849e7727L,0x9ac3117e336a19ffL,0x2d1373c9433ddc04L } },
  50898. /* 2 << 112 */
  50899. { { 0x985dcb43e4362d67L,0xecb860c2a939bea4L,0x40597f3055fbf1d5L,
  50900. 0xb6d166bf43fcd98aL,0x5932570915ec99caL,0xe05ae3b9c5bdd370L },
  50901. { 0xc18f78270c7b943bL,0x84bde9c64dd572ccL,0x5d50a89df478e56bL,
  50902. 0x242c2f4864d29053L,0xcda12c6161cf7e0eL,0xf8b6890eac8d1d40L } },
  50903. /* 3 << 112 */
  50904. { { 0x7a9a9dd7b6b11af8L,0xac4c50dd16a42f8fL,0x1550267b6726c324L,
  50905. 0x12cfb2fd7f841afbL,0xa41b19052f046430L,0x8f5f5373b7d786cbL },
  50906. { 0x7b61b39c729e09fbL,0x07a5415f2626da4cL,0x65d6efb84a348905L,
  50907. 0xf377862cf2e864b9L,0x3c94000dab96cdb2L,0x2176321a8efef0f6L } },
  50908. /* 4 << 112 */
  50909. { { 0x8c558000c1c1bc68L,0x9e48a67a83fd6ca6L,0xacf0d75ceb7a35cbL,
  50910. 0x0fbdce4cf0a93110L,0x82b2d13a9cc50c85L,0x696fd259cef70d6fL },
  50911. { 0x1cc9be2e457b88c2L,0x0d58b34b1f04c0bcL,0x52bd479f195a532bL,
  50912. 0x769fe6ca1ab3605cL,0xba6a63e48a24c1e0L,0x86dea46299da5d7aL } },
  50913. /* 5 << 112 */
  50914. { { 0xdf2a6cecd24790f3L,0x37bfbba7b87ca06dL,0x7c8a7e4c0de8a6aaL,
  50915. 0x5c806b94be7b8f5dL,0xccca1c714fda3e7eL,0x3c1cbaf9cff788e5L },
  50916. { 0x17a081a9565d0464L,0xc4eb995713ed1b82L,0x0d7c90549e4cfac7L,
  50917. 0x6fb74c629d53a200L,0x65b9ed6d5f977a8bL,0xe2279cec0ba2e7c4L } },
  50918. /* 6 << 112 */
  50919. { { 0x8435e2962d4412dcL,0xa36cbfef972350d8L,0xe2fe6e6fece5cb15L,
  50920. 0x6f249b095336f7ffL,0x5801feb9908ee267L,0x7649a837fc8f217bL },
  50921. { 0xfc1adc3ea0ebc808L,0x1ef06bec94f08075L,0x4afb5404cc1d9b72L,
  50922. 0x75cabd61a1f2c5a4L,0x2bd797e1cd08f195L,0x4f1b5cdecbea0f49L } },
  50923. /* 7 << 112 */
  50924. { { 0xe9759aa9e7aa87e2L,0x2d54a5fbe5909f55L,0xe49a59aa2c80bb61L,
  50925. 0xdb89e21230c9b328L,0xf42b9adb004ebffcL,0x4471b983479678e4L },
  50926. { 0x0dde5b0e97709e2dL,0x2f35c653a12bdb85L,0x9f8d7a5cd8c8285cL,
  50927. 0xd7cde5971d156206L,0xdbe765d7a8e126bcL,0x2e645b6de3f4e60bL } },
  50928. /* 8 << 112 */
  50929. { { 0x509abccb65682820L,0xfbfa1d094ff86137L,0x1ae371bd640bc2f6L,
  50930. 0xa155c2978f546c68L,0x8858cadcc08b8cbfL,0xafac5b0a1d96948bL },
  50931. { 0x919cb22682e25016L,0xd147df4ab064ffc3L,0x25dd0f1ab4abe560L,
  50932. 0xc6bbe6369cb75bd1L,0xbb367cf947a778e4L,0x5714aa4dbde524b3L } },
  50933. /* 9 << 112 */
  50934. { { 0xce3c8218e61b1439L,0x8be5a9cb67f79d28L,0xb1bd1386d5164b35L,
  50935. 0x0bc24d96b9adbac7L,0xbcee4f0ec7482414L,0xac15b5b66ca5d49dL },
  50936. { 0x79caa999f20f9a50L,0x89bfd652a911308cL,0x972fe26d15245a7dL,
  50937. 0xd44d0f6e1d0d2939L,0x6749beaedd439057L,0x02627a6ad4b6f416L } },
  50938. /* 10 << 112 */
  50939. { { 0x7e882e8cb437b791L,0x9afde25afbe334cfL,0x60184381da52f9fbL,
  50940. 0x935d33a1001df73cL,0x38f303df080682e5L,0xd9cf2c1f4e9a29b2L },
  50941. { 0x889d265e00d9208eL,0xfc1cc2221fd8e817L,0xdd14f1a2ec71428aL,
  50942. 0xe81cc4f9d9e973aaL,0x26a154963696468cL,0x0620fe6409d546acL } },
  50943. /* 11 << 112 */
  50944. { { 0x06ed3e64166be92fL,0xe1da6e27c51ea53eL,0x784f2514acb2b245L,
  50945. 0xc544e50f8e24077fL,0xad449938c5c01787L,0x5d9ef8d527d41dd7L },
  50946. { 0x37114064e15d4a96L,0x7f0c92aa1dd45321L,0xc1f11d56b9c72ee5L,
  50947. 0x91f3b3f7a78e6d3aL,0x0cf440b0c9488cf7L,0x14d3defd93df403aL } },
  50948. /* 12 << 112 */
  50949. { { 0x3fa4ea0225aa1d44L,0x22c68e17f74a6a3aL,0x351bcb80f489e72dL,
  50950. 0xdabdf118be0268edL,0xa3bf9e1984d2cd16L,0x318506a2d67393a4L },
  50951. { 0xb0c6b2d8615ed517L,0x42ac507c3dcba0f9L,0x60570dfb51235e30L,
  50952. 0xc677628dedb033e4L,0x0290c22766e61f76L,0x1d8450d09888943fL } },
  50953. /* 13 << 112 */
  50954. { { 0x1b8f5ed7155a3daeL,0xc9d2433aa46ed72bL,0xe99c7fe38ca361fbL,
  50955. 0x606b08c19626fe7bL,0xe6447257c0ea792aL,0x5839e2c62e1156f3L },
  50956. { 0xb73135dd5eab6d41L,0x200f2e488ef63584L,0x4c73885ddda1c49eL,
  50957. 0x8d606a75b5428ee9L,0x2a73cc7aa62699dcL,0x484a58941c6c8de5L } },
  50958. /* 14 << 112 */
  50959. { { 0x2365b4150decae0cL,0x9c8567ece8583741L,0x35d6cfae6d8842a7L,
  50960. 0x4e6c98e6dd0db8e4L,0x584524e767b34d02L,0x786ea52f554c6117L },
  50961. { 0x8952ce169320725fL,0x8eb7f91854c4c8f2L,0xdd34f77afc799251L,
  50962. 0x76b8c3173e05d37fL,0x664cbddcebb4d365L,0x31ba98b90dfa1a98L } },
  50963. /* 15 << 112 */
  50964. { { 0xf113a7bd651c186fL,0x417bd7373737a50aL,0xddb40d201b858249L,
  50965. 0x62a60745345f5b45L,0xf0a03f5c2d4e221eL,0xcafde67cc64621a2L },
  50966. { 0xbbbfaebcbc3c06c3L,0xadaf9a16b8383dc0L,0xcd21aa308f343ea2L,
  50967. 0x64cefec0d890128dL,0x2ed9b8f763b44054L,0xc0a49e2917c0ffcfL } },
  50968. /* 16 << 112 */
  50969. { { 0xc6307399166915dfL,0xb35545bc5da8a26eL,0x8e0126aae3a99321L,
  50970. 0x0fbfdf76da9308d1L,0x2163ed6b6168e505L,0x71f3d0087500d8bdL },
  50971. { 0xf57159605ac13f65L,0xc1cd9a6755172d5bL,0x6b225f7e53d84c65L,
  50972. 0x9c031269025029daL,0x54c1edfa17d89aedL,0x5b0238786b435150L } },
  50973. /* 17 << 112 */
  50974. { { 0x96d69db1146abf28L,0xc924454924d221dbL,0x7881951c137bdfe1L,
  50975. 0xde2d490dda51f789L,0x6033c2c34b0a1e0aL,0xbe214d8c08dac13eL },
  50976. { 0x3d5abfa9a5a1d055L,0x3433060f6fe02a62L,0x88608c7ba37f2833L,
  50977. 0xfd2da6f0e74dd6c1L,0x27c22c17fe000000L,0x04a1f15bcfbde005L } },
  50978. /* 18 << 112 */
  50979. { { 0x01204485f340b522L,0x588a9e1c9367a099L,0xb3d1a4b466005913L,
  50980. 0x522ac504d55cc36fL,0xa6c80e511b72eabaL,0x15025a7acaaa89b5L },
  50981. { 0xc9166912bec1a986L,0xe78e9642f19044cfL,0x230d51ab4756908aL,
  50982. 0x6795942aac04cb90L,0xcd2cc9eca2a92818L,0xfccead967cf52961L } },
  50983. /* 19 << 112 */
  50984. { { 0x32fa291d52ccf481L,0xbb137ef901ac0eafL,0x13ce2183011746abL,
  50985. 0x7e64248677bfea0aL,0x67cbba0e5e7e5032L,0xc900998a1f2b69fbL },
  50986. { 0x62ddd91aab3256afL,0x1f0f216911d7996fL,0xab2f2d540e4dd4feL,
  50987. 0x05b577a92ec64ec3L,0x8071e88708ef233aL,0x9be1f8d60e649a5cL } },
  50988. /* 20 << 112 */
  50989. { { 0x5f78334137732664L,0x625b85dc840b6f8eL,0x7dcb3d256cdf0959L,
  50990. 0x87a5ae19d4ce1845L,0x43bf0721b0dc016aL,0x6569ad52f6a5f6f3L },
  50991. { 0xa2697f15560ab87aL,0x4c6fd1a0060dcd57L,0x652a7732c3167f56L,
  50992. 0xe355fef05294a5e0L,0xf7b3177dcc59c562L,0x511c96dddccf4b1fL } },
  50993. /* 21 << 112 */
  50994. { { 0xec768f587622c0b9L,0x7c9eb5490416afe7L,0x3c3d87f55795433eL,
  50995. 0x74eff3cba4611446L,0xb2c79249dc7037d3L,0x70062ebd8bb1fc42L },
  50996. { 0xbd0d3532a4ad91c8L,0x42411c139f5ee0c3L,0x11c4ee91132470cbL,
  50997. 0x496438979fb2a135L,0x4c1df7e0ce2ec891L,0x689cda57e16f7413L } },
  50998. /* 22 << 112 */
  50999. { { 0x3b42838a2a0030a1L,0x3f37587ae05ba56eL,0x6382a86f44c16650L,
  51000. 0x6c1bc67da6f9f136L,0x7d152d907ada0f41L,0x9115319d5c40c0f5L },
  51001. { 0x1143028632f58e3aL,0x5dcf7ec7eda5c5a2L,0xf04404a9f334a0b2L,
  51002. 0x75e0b4a84ec2cbd5L,0x86e89728d079dbf0L,0x796700799a99c605L } },
  51003. /* 23 << 112 */
  51004. { { 0x98456a79b1d2a3fdL,0x4e8ba91e6dd789e9L,0x8e0bfa33a435226eL,
  51005. 0x42bea2f48cfea5ccL,0x5ca5fb0321b14602L,0x73faac5826877b13L },
  51006. { 0x0ddb6ea203905ebbL,0x67bc35f1698cd7abL,0x24da47d85d9af735L,
  51007. 0x1a2a7c1dd786000eL,0xb35fb29e23ccaceaL,0x1c063466bf1f51a7L } },
  51008. /* 24 << 112 */
  51009. { { 0x1e7ae1601e94d949L,0x177dc53ee78e6221L,0x8af29d8f7aeb9882L,
  51010. 0x2d9a60fd9e3f3906L,0x6979fcd6df962156L,0xdd2fe5887e1e54b8L },
  51011. { 0x9cccf31076643453L,0x94ece1a84e0643d0L,0x745449cbc111d8cfL,
  51012. 0x872afa4ae6cfbd97L,0x5c27b7ca10dfb34eL,0x505e62bc533480feL } },
  51013. /* 25 << 112 */
  51014. { { 0x6dd2007363141676L,0xdb099810c5c4c657L,0x2bbbcbaf8c369f32L,
  51015. 0x339e3ded08794178L,0xcc362a32315c4cd7L,0x5d288ff37dbce794L },
  51016. { 0xafd05d104d0cb6c6L,0x3a6dcee9d386c7dfL,0xa207dc17e311ee74L,
  51017. 0xc5794286abdc751cL,0xf45136e5d889b985L,0xb25e84638d8f32a3L } },
  51018. /* 26 << 112 */
  51019. { { 0x8711ebfd1dc32f77L,0xfc0e851f3933d758L,0x90b679fd64a859f3L,
  51020. 0x0914a975ef37a81eL,0xcef80495d675c502L,0x862d3b65be18c403L },
  51021. { 0x0d53f957305b4aa2L,0xe404f2570e5bcb47L,0x833a8644854b6b63L,
  51022. 0x5709f53b99f8d3d9L,0xc400dc1f13893effL,0x75ca01714c65086eL } },
  51023. /* 27 << 112 */
  51024. { { 0xdaaf8e76eeceb904L,0xbce9ca54b9e31f92L,0x4442d0c88d06a58fL,
  51025. 0x5966e1e5eda0ee34L,0x043125f058edc555L,0x44d0311749cf0931L },
  51026. { 0x292aea12a99ae5c2L,0x1e9be1702a2bade4L,0x003ec2826b21b444L,
  51027. 0xc158f3cffc41d601L,0x25a839f4c4b3f4c7L,0x4a36bec399e64264L } },
  51028. /* 28 << 112 */
  51029. { { 0x829bbe7e04e6bda7L,0xc52b64ded3e667dbL,0x98aa40ecaa2fc128L,
  51030. 0x2c6997d011fbef94L,0x70ca76aa97c8167eL,0x558f8ce7b1083886L },
  51031. { 0x5c621e35d250f064L,0x757710f8f535b2c7L,0x5d118d8faa69ee95L,
  51032. 0x02ffe667b27cd9deL,0x65711ac7d13e51fcL,0xdbbf16278cb1a1c7L } },
  51033. /* 29 << 112 */
  51034. { { 0x3c2fcbceeab0bb77L,0x569d6c7e4e1b17adL,0x22e06899b0518730L,
  51035. 0xf8466d9d19f809e9L,0x372e254288359d10L,0x8074483532d5bb82L },
  51036. { 0xc88727d566060945L,0x08e9246572a0d38fL,0x84ca145c9f84a861L,
  51037. 0x8363463c1c004212L,0x9debab72bd3ad87eL,0xce68c150a988e65dL } },
  51038. /* 30 << 112 */
  51039. { { 0x1c172e5ea71dbae0L,0xf7794eb19b80bf40L,0x3007c5705d7d2829L,
  51040. 0xa8d44d6fcc97cf00L,0x093a9784f6abea6bL,0x2ac4a67564cca46fL },
  51041. { 0x14fcc56350d8fc8bL,0x53133983a11ccd07L,0x7cf09bf68e6b8f26L,
  51042. 0x49f864d57b06e3adL,0xd526a765c373fc6dL,0x7af297c6151305d5L } },
  51043. /* 31 << 112 */
  51044. { { 0x18f941bfcf7c1eb5L,0xda10720a130163b7L,0x3c4894f46bd9bb34L,
  51045. 0x7575087bc8ca64f1L,0x68c424852c8f3798L,0x986214eecf0e5839L },
  51046. { 0x3723b713df2b0b90L,0xd81560d5d229bf8aL,0x0204ae5ff993078eL,
  51047. 0x55206d9186a14833L,0x8c7d09181557fc96L,0xe2cd5dcdddba9705L } },
  51048. /* 32 << 112 */
  51049. { { 0x009ef80aae238fa1L,0xb41d9b24486af6b5L,0xab4455ed685add95L,
  51050. 0x18f323f672c7dac8L,0xe7009790e372f168L,0x4d5bcba6067bea99L },
  51051. { 0xf15bdbcc51a2a9a9L,0xde7e4f742fac9169L,0x2fd62c304bdbec36L,
  51052. 0x8b3ea93d1b3ac6c7L,0xce1c8e5c9c293889L,0x19664dda11564f8bL } },
  51053. /* 33 << 112 */
  51054. { { 0x207a738245406afaL,0x7c1c398d1675bc91L,0x2ae99d8ba1bb7a43L,
  51055. 0x63f134e8c5e176e5L,0x4a624a1c48364268L,0x471974f1de65c5deL },
  51056. { 0x44932063ea90b0cfL,0x13ba5019d8fd7e30L,0x6281f71348510422L,
  51057. 0xdaba3f14bc1a523aL,0x333e5eff924cc5cdL,0x861ab150e9113d1dL } },
  51058. /* 34 << 112 */
  51059. { { 0x332d308dd9b9461cL,0x3e9b4a95b7014261L,0xc557f608c2beeb5cL,
  51060. 0x9ee927187c8531d6L,0x55ff3dfcc0002ff0L,0xed96119eccd9b325L },
  51061. { 0xd779ba03fb92416bL,0x63b75d351416be79L,0x793cb1fbfc9ad27fL,
  51062. 0xcc762a5b87f1bc59L,0x6e7a23389bbb07d8L,0x99b6e278aa7bfa44L } },
  51063. /* 35 << 112 */
  51064. { { 0xeb142de02bcce03eL,0xcac04711577565e2L,0xa949c7350ab07328L,
  51065. 0x8f15874cd7d347ebL,0xade8c67a696dc9f3L,0x039e6b7c66a7bcadL },
  51066. { 0x1260bd4acb8cb9d2L,0xdbf05496d4801bcfL,0x6b37a4d30ffb845eL,
  51067. 0xc3968fe150b50889L,0x261e82f4525c6a7dL,0x539f634912aad50bL } },
  51068. /* 36 << 112 */
  51069. { { 0xcb1a9d2ceae4d774L,0xfdec2ca998a0775cL,0xa538acbd0eab9e25L,
  51070. 0x6901ebfd04dd34b0L,0x998ab679ed4c6409L,0x69b1d7ee0235b865L },
  51071. { 0x4f2e6e5723ac3be6L,0x2b2072aed4a00479L,0x5c12fcdc2ce2f059L,
  51072. 0xfc688c45ac329db8L,0x16d377a51f539427L,0xebe4e2cfa08ed9aeL } },
  51073. /* 37 << 112 */
  51074. { { 0xb394214715d60238L,0x60d8909bbe9d4febL,0x013827b78654e16cL,
  51075. 0x465b3078824fc55aL,0x361e6523e3fcd6c0L,0x2ef44d80ef88b307L },
  51076. { 0xdca7809fbeb2db77L,0xe649d591da97468aL,0xad6079b77c28ff0aL,
  51077. 0x6a21ce1ac4897775L,0xde876f7b5a592fd5L,0xced421a585a1dd36L } },
  51078. /* 38 << 112 */
  51079. { { 0x9793bdf6a045a442L,0xdb3c60472713ed37L,0x9929d32261344a0bL,
  51080. 0xfb48c2dc831af45cL,0x730226df53a8a077L,0x3a5baf8a18876559L },
  51081. { 0x99736e7d8e11f9edL,0x3e7663dd0c09dddfL,0x368a29ed89b8a23dL,
  51082. 0x5443d7f5d3a68663L,0x0b84b464c6302455L,0x235c6eb5cf088847L } },
  51083. /* 39 << 112 */
  51084. { { 0x13307013b8de0a3aL,0xfb10e919f592fd9eL,0xd09e5b2571401ec7L,
  51085. 0x6e8091c11d94cf0aL,0xb7d79fc74193b129L,0xb842a3695f2c05e5L },
  51086. { 0xcf6fc6cbccdc7614L,0x77d6408180102a3aL,0xde4b9304f30c3488L,
  51087. 0x4fd9f8d89bd08e48L,0x58ac01245963b063L,0x1f11335c747fac66L } },
  51088. /* 40 << 112 */
  51089. { { 0x5f266f13175418b2L,0x6bd7a86903a626f9L,0xc7b532304a6f11caL,
  51090. 0xa216b056bfc8ccedL,0xa274d5d8b288cb7cL,0x6fc4a35d924897adL },
  51091. { 0x1ea532eb81fc6940L,0x2fcd817e2acbbc45L,0x45eee93f67814fa3L,
  51092. 0x3b3da48c1229e035L,0xd049a976efd8e3d7L,0x8087dff7bf81f314L } },
  51093. /* 41 << 112 */
  51094. { { 0x9ccd802fbddea807L,0x08a64e86d93b97f6L,0x422c0f5602f04e3cL,
  51095. 0x25aecab133900990L,0xcdb2c5c15d4b4d2fL,0x849a6b1f5f43e42eL },
  51096. { 0x4689b815446e7361L,0x49abaf6ca681fba0L,0x304d84b18289a564L,
  51097. 0xa6529d430b779df3L,0xca926da67b51b195L,0x3640dde5c829ae84L } },
  51098. /* 42 << 112 */
  51099. { { 0x747235495424e1d0L,0x3861ae65c85af64fL,0xc56ff12baab902c2L,
  51100. 0x9aeb9e154fbf264eL,0x14e3c13942ca40d2L,0x6c26da41c1ba0250L },
  51101. { 0x97a6031df51a0967L,0x88fea7710e623393L,0xcafae4c778574eefL,
  51102. 0x2c4c281198119f28L,0xd190fc749276d971L,0x843f4baf9273f01cL } },
  51103. /* 43 << 112 */
  51104. { { 0x1b2d643de50ad79dL,0x1ceaee7ed3075486L,0x13a003f3ec287aabL,
  51105. 0x09a4a825e8c7aeddL,0x93babe5ad1d4c05cL,0x8115bfec95ab084cL },
  51106. { 0x629e8e0a289ebb8aL,0x923167a9bd992f77L,0x440edf75ae16ce72L,
  51107. 0xa67dd37b0a0019d4L,0x174b341978b0df8dL,0x010746a5ad6e4c60L } },
  51108. /* 44 << 112 */
  51109. { { 0xed05e4bf8342da4aL,0x36d881f3b565f0f2L,0x3fbd04e1411e627fL,
  51110. 0x40ac13cb0411889aL,0x9f6006cab5b25fd6L,0x0e79d377e31404ccL },
  51111. { 0x9fd6474a5af3ea01L,0x89d7ddcb2a27d905L,0x2c1beebada12e71dL,
  51112. 0x3ecb11e1833eb7deL,0xa348b2f6600eb1faL,0xc227192183f2657fL } },
  51113. /* 45 << 112 */
  51114. { { 0x2cfaf519e32ba792L,0xa99113d7f929b512L,0xd347f7d18f554e19L,
  51115. 0x18f0374f098a2ad8L,0x073855acc174e0b9L,0xf155c6c009324c23L },
  51116. { 0x3388c39605d1e427L,0x144356a9d39221d1L,0xe3d4ffed492a84adL,
  51117. 0x519c65e6d1e53c29L,0x334f470a2813c717L,0x69aa0a1de0a400e7L } },
  51118. /* 46 << 112 */
  51119. { { 0xd8689c9c39e70b62L,0x2b87157e6cd86fe6L,0x53d55de887c0f35dL,
  51120. 0xb2d7141de09aa44bL,0x3499553084fe7c21L,0x4550096c16b19be0L },
  51121. { 0xb0a8ce05b856dac0L,0x570223450e211887L,0x8d4a7431aca17401L,
  51122. 0x96bf439857400a0eL,0x1e849d365ffd5f34L,0x7e70f6253a6d23acL } },
  51123. /* 47 << 112 */
  51124. { { 0x511ad0024b4ecd64L,0xd2287a28f37bf796L,0x801d2c2dcbc1f22dL,
  51125. 0xf0d3a6944df568c8L,0xa7fec550af6836b0L,0xa27dd6e887a426c7L },
  51126. { 0x2f730e5b59c6b695L,0x9df438ee93ee2b36L,0xc4def9eaf2cfc4c6L,
  51127. 0x82ddcca0a209814bL,0xb2e1de4f6dc916d3L,0xc6798e7453f81a55L } },
  51128. /* 48 << 112 */
  51129. { { 0x77faac22bd366155L,0x13cc4038282f11b5L,0x31ad1dd45fbd35abL,
  51130. 0x7e0de9da45d6d40eL,0xa16c5f1939749ef6L,0x761cd6cf85691cf2L },
  51131. { 0x156536ad4d59b802L,0xee98dc4187c4b11dL,0x165a1eacd35088fcL,
  51132. 0xce8a733538fb995cL,0x34d0d3313293b3a5L,0xfcf548ca8b570e79L } },
  51133. /* 49 << 112 */
  51134. { { 0x4c4bddca99e8cb05L,0x2b900ed017c5be91L,0x0ba0201b40adbfc1L,
  51135. 0xb5098cf8534595ecL,0x356e23ff80f56f69L,0x8b3fa12e748555a0L },
  51136. { 0x9063437677b8ebdbL,0xe3eb33fdf040b6a8L,0xcc5b699539b611ceL,
  51137. 0x20171523c693be7eL,0x5c4364d760849cf0L,0x30f3376372c4d303L } },
  51138. /* 50 << 112 */
  51139. { { 0x0757295022a8c8e0L,0x6e05715866ca81ecL,0x7e8e36890f804bc9L,
  51140. 0xcba813a191b99207L,0x3f11f7abe50ab65fL,0xaefe5479b6d05954L },
  51141. { 0x48dd59a1eff5cf18L,0xa623b738bda11ecdL,0x586e755818870f08L,
  51142. 0xb2c471a50e38ba1aL,0x5b21c42c69ce8032L,0xaf040e6c7943d78eL } },
  51143. /* 51 << 112 */
  51144. { { 0x6364714c4852f979L,0x7ed7aa310700cd35L,0x9021e46d9376733cL,
  51145. 0xf2b65ed3b6de8d03L,0x0e3d00c16652346cL,0x6630fcb75d27e2d0L },
  51146. { 0x69cc20ded79a1c20L,0xa6d77163be3745e6L,0xab36946379aacf14L,
  51147. 0x8bdffbf1b935a1daL,0xda8eb343b63096f6L,0xf61988f13c966345L } },
  51148. /* 52 << 112 */
  51149. { { 0x06f684ffd31f390eL,0xa1467be560ec98a8L,0x7cbdd03eaa80fddeL,
  51150. 0x0ae4d114e204ded1L,0xb8ebeb29a004c3e2L,0xd93cd70726009581L },
  51151. { 0x3ff2ee49f1b9d3ccL,0x0e69e5ac753526ccL,0x8cb2243e8b13f47bL,
  51152. 0xe2c5ae8d7fbfc5aeL,0x8e9af723394a45d8L,0x0b1114dbd92ab8d0L } },
  51153. /* 53 << 112 */
  51154. { { 0x937d9d2a73f9ff5bL,0x07c8c147de0fd740L,0x3880ead73639b680L,
  51155. 0x879d6f836558cc89L,0xf32e14b975bc8c84L,0x278ea5e4bcf6f8cdL },
  51156. { 0xd9f25ea94baca6cbL,0x676e4bdd44d0ceb2L,0x98042ac190868974L,
  51157. 0xdf227f370711b658L,0xcd6d29b46ef0e4f8L,0xd04f5bf88f817e92L } },
  51158. /* 54 << 112 */
  51159. { { 0xc7d62be78354f4ffL,0xd6fd9d590ac4d9b6L,0x13fbed772b50ab82L,
  51160. 0xc4c5be374362b766L,0x5d67bfdd6c59d059L,0x10c93cceac02f34cL },
  51161. { 0x3bec1f3b72e35ca4L,0xb1cfade159f4820bL,0x679edbcf80fae051L,
  51162. 0x6762f5ba6671737cL,0x28b425db3fe77970L,0x4bd6d2ebe778aaaeL } },
  51163. /* 55 << 112 */
  51164. { { 0xdcbe0018aecd5ae8L,0x7f178b7aedb2a7b0L,0xedb5c805b427179cL,
  51165. 0x25fb6a084ba080fbL,0xeb6365165f1b263dL,0x814c520092acb04aL },
  51166. { 0x936f97a988d94b88L,0x6d54f1768b45e4b7L,0x6321e3bdb0cc515cL,
  51167. 0x9118d0318eb5be13L,0x5be9188a8c574e96L,0xcdad43f3f281f19dL } },
  51168. /* 56 << 112 */
  51169. { { 0x7be5946ea85af34aL,0x420593c9da6fb0e0L,0x40b83c00987f9246L,
  51170. 0xac35f4e9a15d192bL,0x1979bd33776a678cL,0x0a7d973e8f6068d3L },
  51171. { 0x71d322e87e6298feL,0xbb23a29936af9b65L,0x14e2b9706644c50cL,
  51172. 0x5f7f207373570bd3L,0x40215c569055538bL,0x91372e64365500c9L } },
  51173. /* 57 << 112 */
  51174. { { 0x2763961a303ef488L,0xc357c32fbf865ec3L,0x32ca1a943663e409L,
  51175. 0x9d9040217de506a9L,0x1f56e144249028bcL,0xd76402e61c5c7cecL },
  51176. { 0x98dcac65b0dd9d4fL,0x887f6e97532facf6L,0xc0d5d2a123c2cfbeL,
  51177. 0x0566bd59d18d8b1aL,0x67404eb1297a071eL,0x10f24d9b26529285L } },
  51178. /* 58 << 112 */
  51179. { { 0x34808f5ca479ef4eL,0x60effdea9ff10abfL,0x471a077cdae34e0eL,
  51180. 0xf34df9562f9d1408L,0x4f8bbffbe46961b7L,0x6a80b0276336a6f4L },
  51181. { 0x28e57309ca92e5dbL,0x27fbb139ce31cb10L,0xcea87ae28d24334bL,
  51182. 0x3781f438de6db765L,0x3328fc09edaf054bL,0xa8acdbcfa94396f8L } },
  51183. /* 59 << 112 */
  51184. { { 0xa05b72aa83a79820L,0x3210863ccdeeaedcL,0x192d5fdcb76fdabbL,
  51185. 0x25ec4568f10c17a7L,0xbd51e31fca556920L,0x8ab534f26a7e40f7L },
  51186. { 0x2ecb28c041145d5bL,0x4e95843df9038557L,0x65605d17d783699cL,
  51187. 0xf728cb1178bddf7aL,0x2d823ae8bee2a60cL,0x02030edb8eb48325L } },
  51188. /* 60 << 112 */
  51189. { { 0xfe517758aa04facfL,0xa5216df44c421615L,0x4d87767d4f133b52L,
  51190. 0xdae81b7699757264L,0x53c1a0e3e3ad4323L,0x2c565bbd53b401bcL },
  51191. { 0x94d2354fcd54a0e1L,0xf43d0f053f1a02a7L,0x52e7ee4af660b949L,
  51192. 0x563ec009bc208df4L,0x58c0b975bf21c4b1L,0x29a8e5adeb029e52L } },
  51193. /* 61 << 112 */
  51194. { { 0x4c07b3e4283bdd75L,0xcd94d2a385dd6177L,0xc1ab8a5cab097530L,
  51195. 0x90301468a5fd9ff7L,0x2a3e5b4064d0932dL,0x77e3b67e435e1c0fL },
  51196. { 0x3b5d261c14f7bb4dL,0x1d67a760bab7bfc9L,0x507aad46d799621bL,
  51197. 0xf44567b5f4f3c3b9L,0xfaa97a3eae2bb6b2L,0x7d373b163594e2c9L } },
  51198. /* 62 << 112 */
  51199. { { 0x29ef2da9a15e6ea0L,0xf411e20dcd168689L,0x34944975049a4b24L,
  51200. 0x0effc2dfe035cd24L,0x5d77178b0a954cf7L,0x3504bc357ab2d8c0L },
  51201. { 0xc3405000ec32219cL,0x00442630421a5a3cL,0x0548505c7f49819aL,
  51202. 0x6bdb281fc805d0e8L,0x03cb57ac97484e09L,0xcf0926da58a14cc1L } },
  51203. /* 63 << 112 */
  51204. { { 0x0715055cc85610a7L,0xd2642935fa6ca505L,0x87ef95128c361749L,
  51205. 0x89cd669a8c8156d2L,0x5cdcd266ed60d7ceL,0x99ccc96df59fb53fL },
  51206. { 0x82400f4655df7f73L,0x2b6aa1d9af34f742L,0xa6cbca79c398aa8eL,
  51207. 0x7697bdea02b7325eL,0x1cb036b94fde4a79L,0xfe11ff96307fb964L } },
  51208. /* 64 << 112 */
  51209. { { 0x6a3a23279af0a75cL,0xf832a8159f1f250dL,0x17030c3322a82d3fL,
  51210. 0x24bf18ea14cbc835L,0x319dc4cab2da2727L,0x481df3606d020d4aL },
  51211. { 0xaeebdd8a7fc22ba5L,0xbd0515c6a91e28abL,0xfc8a2978595f361dL,
  51212. 0xe60dd96c1ae8fa3cL,0x19c2109aa5341575L,0xfd6e92bb06a0ee48L } },
  51213. /* 0 << 119 */
  51214. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  51215. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  51216. /* 1 << 119 */
  51217. { { 0x2e32f896cde5e785L,0xcd55ae7ab9db8f31L,0x278db1ad8f832885L,
  51218. 0x271d9078adcbd933L,0x2208fae34a64f863L,0x974046e039c89365L },
  51219. { 0xcb46f272b3cd0cd3L,0x31f34e1a74e59edcL,0x3421d316edd50418L,
  51220. 0xb1d8a064cabe36edL,0xdb13e560362efcdaL,0x567c2b6cc71eb3eeL } },
  51221. /* 2 << 119 */
  51222. { { 0x2af8ed8170d4d7bcL,0xabc3e15fb632435cL,0x4c0e726f78219356L,
  51223. 0x8c1962a1b87254c4L,0x30796a71c9e7691aL,0xd453ef19a75a12eeL },
  51224. { 0x535f42c213ae4964L,0x86831c3c0da9586aL,0xb7f1ef35e39a7a58L,
  51225. 0xa2789ae2d459b91aL,0xeadbca7f02fd429dL,0x94f215d465290f57L } },
  51226. /* 3 << 119 */
  51227. { { 0x94c3938b4c9324feL,0x0dea07003fe78a0eL,0x57ab9daa019e7dc6L,
  51228. 0xb0d7b14a9925b79fL,0x3c9a638b937a5daaL,0x3b14fd0de62943adL },
  51229. { 0xbaafb635ed3ae4b5L,0x3060a090b2bcfaa2L,0x389d9e7f7aa8f217L,
  51230. 0xd7f987c6e9310a65L,0xec0927f993b69c0aL,0x9335e9102381a247L } },
  51231. /* 4 << 119 */
  51232. { { 0xc08550024b950889L,0xee99dbfe8ce24da0L,0xdda71d964318e860L,
  51233. 0x01d3d39604fe9b85L,0xda4bc065e25e7e20L,0xd3a50b87e076c81cL },
  51234. { 0x5b9f821931e5f494L,0x6a140527a6a1b821L,0xf52683e4d8dd159bL,
  51235. 0xca9c888720b18043L,0x73c040fa08a0d8f5L,0x92e482e8179525c4L } },
  51236. /* 5 << 119 */
  51237. { { 0x8b9f650f3e776590L,0x41ba807f47703a5dL,0x8cc1a550fe907078L,
  51238. 0xd70cb76c8f00b84bL,0xcaee21566f3e6780L,0xfd6a51f595c2d03eL },
  51239. { 0x2c897c5556ffa08fL,0x08589a6563d13d54L,0x6a1eed4287bbacf7L,
  51240. 0x66aed4f5ee709d78L,0x67c925bf1178ecabL,0x6870f4c8a29cf747L } },
  51241. /* 6 << 119 */
  51242. { { 0x37ed2be51cfb79acL,0x801946f3e7af84c3L,0xb061ad8ae77c2f00L,
  51243. 0xe87e1a9a44de16a8L,0xdf4f57c87ee490ffL,0x4e793b49005993edL },
  51244. { 0xe1036387bccb593fL,0xf174941195e09b80L,0x59cb20d15ab42f91L,
  51245. 0xa738a18dac0ff033L,0xda501a2e2ac1e7f4L,0x1b67eda084d8a6e0L } },
  51246. /* 7 << 119 */
  51247. { { 0xe3a67b2d5e12e708L,0x3a4772e2ce48f234L,0x78f9dbc334794271L,
  51248. 0x9880053a3e6a61e7L,0x031c30b87c0f6e59L,0x8113df6cf7b972f8L },
  51249. { 0x3625bdce18ee148cL,0x72c2b8efdb885158L,0x4c73c80c9a7f0df3L,
  51250. 0xbc2dd8a507b92470L,0x5a33e4dfdb005677L,0xc699cf5ea5ca9dd3L } },
  51251. /* 8 << 119 */
  51252. { { 0x3a828904a4d2313eL,0xbf4946b192e66888L,0xc574898ae5fa19d2L,
  51253. 0x0b13dbb65e1c5fa4L,0xf11343ba7c390fc2L,0x35b1418fd7d32187L },
  51254. { 0xc92cb1bb83e7fe7bL,0x0b969455d78365c4L,0xda69dfe5672f2af7L,
  51255. 0x9c62d7b430932441L,0x165672ad94af02d6L,0xd2cc734dcde81c22L } },
  51256. /* 9 << 119 */
  51257. { { 0x6353420218d07dd6L,0xc7c0c8f128a3cb4eL,0xa41d4c55d7929131L,
  51258. 0xf1aaab3445d21f63L,0xd69a59545ec3e9feL,0x209732c1b8ddea2fL },
  51259. { 0x368b9c59e1936916L,0xb011c662ab1f8585L,0xcce30a25474e57b4L,
  51260. 0xb79c76df7049c61dL,0x984739950ccf165bL,0x7c6f4ab40ce897baL } },
  51261. /* 10 << 119 */
  51262. { { 0x1d27efce1080e90bL,0xa28152463fd01dc6L,0x99a3fb83caa26d18L,
  51263. 0xd27e6133b82babbeL,0x61030dfdd783dd60L,0x295a291373c78cb8L },
  51264. { 0x8707a2cf68be6a92L,0xc9c2fb98eeb3474aL,0x7c3fd412a2b176b8L,
  51265. 0xd5b52e2fc7202101L,0x24a63030f0a6d536L,0x05842de304648ec0L } },
  51266. /* 11 << 119 */
  51267. { { 0x907d88035a8432bdL,0x89232a5a2638fe30L,0xa120eecbe2089014L,
  51268. 0x3a5208cb5a2c9e97L,0xe163d29a3449eb4eL,0x3df984530eaba88fL },
  51269. { 0x55d3b9afa1547443L,0x316aae18f2a60ceeL,0x64d0fd30d6e11a5aL,
  51270. 0x65de345808ef6002L,0xcede56fab4a3d1deL,0xa5bfa8d9a4bc1588L } },
  51271. /* 12 << 119 */
  51272. { { 0xd45e350133f4d416L,0xbb40233a4bf9131eL,0x1532a088e302483aL,
  51273. 0x3475e8b82c2485c0L,0x08f9ea56969cdbe6L,0x31928645253cd738L },
  51274. { 0x1cf323a4ac9836beL,0xdf647ccf02b6e4deL,0x9a31e84fc06f3d09L,
  51275. 0xd326b86e39efe6d9L,0x77e3e1df14ac4decL,0xf2d5917af3e0c582L } },
  51276. /* 13 << 119 */
  51277. { { 0xf88238f1376216b2L,0x8c7522db7d15f653L,0x50aa7a74a21f74d8L,
  51278. 0xf7a964c8bc9e1a0cL,0x33ea64251387ca6bL,0xda84fe74e7be16a6L },
  51279. { 0xdf0462d727867aaaL,0xeb7f0ab8ae6be1b3L,0x21abe5a5d9bdec8bL,
  51280. 0xdbb99199ac4bed1bL,0xf65c19d935d13c0dL,0xf966e22e4df74056L } },
  51281. /* 14 << 119 */
  51282. { { 0x67477cdc30577ac9L,0x51dd9775244f92a8L,0x31fd60b9917eec66L,
  51283. 0xacd95bd4d66c5c1dL,0x2e0551f3bf9508baL,0x121168e1688cb243L },
  51284. { 0x8c0397404540d230L,0xc4ed3cf6009ecdf9L,0x191825e144db62afL,
  51285. 0x3ee8acabc4a030daL,0x8ab154a894081504L,0x1fe09e4b486c9cd0L } },
  51286. /* 15 << 119 */
  51287. { { 0x7b4e65ebae4219adL,0x2e424c441184a0d3L,0x10eeb898d32e179bL,
  51288. 0xadf05e2d8afa9a6dL,0xecd6c18bbeccd5f1L,0xe592115c39ac53e8L },
  51289. { 0x9ccf231ac8c7b9b6L,0x1848b4fe678774bcL,0x2050856386782b91L,
  51290. 0xb7caf7cc74dc6018L,0xe80805485cf9273aL,0x9609897b246b4851L } },
  51291. /* 16 << 119 */
  51292. { { 0xe92b56c002cf37fdL,0xa75bbcb0f71b34deL,0x7754d0ef50f5c482L,
  51293. 0x850a9ef611fa89feL,0x97d74b1bba4ea7d8L,0xfc757c25aab7ba2eL },
  51294. { 0x06f30ab0f2a67fddL,0xb10aba1412e72af8L,0x47580bca7a2e053dL,
  51295. 0x85795598dcf0e14cL,0xc3596781d6f55310L,0x8ab251b74c9b7e18L } },
  51296. /* 17 << 119 */
  51297. { { 0xdc56cff85279e5cfL,0xa33a6765fdbdf1adL,0xc122c0eee5077a4bL,
  51298. 0x44c3b190a98ab643L,0x334a6868b991d197L,0x598bbf185d6a0488L },
  51299. { 0xd028bfdc5a0e6f96L,0xfd1a37f5e11c57b6L,0xe1240a3003f82183L,
  51300. 0x6afae98c390d8536L,0x554a42dcc244b181L,0xa3d422d75f4cb4b6L } },
  51301. /* 18 << 119 */
  51302. { { 0x512f82f9d113450bL,0x5878c9012dbc9197L,0xdb87412be13f355bL,
  51303. 0x0a0a4a9b935b8a5eL,0x818587bdf25a5351L,0xe807931031e3d9c7L },
  51304. { 0x8b1d47c7611bc1b1L,0x51722b5872a823f2L,0x6f97ee8a53b36b3eL,
  51305. 0x6e085aac946dd453L,0x2ec5057de65e6533L,0xf82d9d714bb18801L } },
  51306. /* 19 << 119 */
  51307. { { 0xf113abe17d48bfe7L,0x51d77fa5213facecL,0x27bb373f21269089L,
  51308. 0x31e9850e7b188989L,0xd20a15f41d50a1c6L,0xb4887ed9d9746367L },
  51309. { 0x8920a7e2325f19c5L,0x691352358ad74492L,0x713d1471d19a76a2L,
  51310. 0x952cb9e5873ab310L,0x5b359d1ffa8eb8cfL,0x55aab5ad8b9c9e7cL } },
  51311. /* 20 << 119 */
  51312. { { 0x4ab138504dbb8798L,0x0e7980d772d04cd2L,0x1755c5660b3271c6L,
  51313. 0x8414efb09d9d1468L,0x61a586301795ce66L,0xb6a8b393232924a1L },
  51314. { 0xa992f0ceae031bd6L,0x6747fb5f2915acc1L,0x03daa26693e9c0d2L,
  51315. 0xc18fa3645400d554L,0xaf04ff8d9497e895L,0x86c3cfc250b6b339L } },
  51316. /* 21 << 119 */
  51317. { { 0xdf26f6605b26122cL,0xeb6c188c4d6b80ccL,0xae2efe59ccec172bL,
  51318. 0x5cdcd958f3f7d693L,0xa2ac2594c5f993f0L,0xb96ad8cf3f7cb591L },
  51319. { 0x7e2f88f8446abbabL,0x3d1a5eb6f6051f2bL,0x7d882e82ad6f49daL,
  51320. 0xe32918e3c4e7bbffL,0x442a32789be81150L,0xa1d34da1bd14557eL } },
  51321. /* 22 << 119 */
  51322. { { 0xad81fa938ba5aa8eL,0x723e628e8f7aa69eL,0x0ba7c2deef35937cL,
  51323. 0x83a43ec56decfb40L,0xf520f849e60c4f2dL,0x8260e8ae457e3b5eL },
  51324. { 0x7ce874f0bf1d9ed7L,0x5fde35537f1a5466L,0x5a63777c0c162dbbL,
  51325. 0x0fd04f8cdad87289L,0xca2d9e0e640761d5L,0x4615cff838501adbL } },
  51326. /* 23 << 119 */
  51327. { { 0x60c7e16cdf66a95cL,0x25b1078d5d0bd644L,0x77f8d872bd933e31L,
  51328. 0x5c4c382de2e1536cL,0x5b3b37c09295ee0dL,0xf94698d4ecce42b6L },
  51329. { 0x947ef80c4db8f2c7L,0x34661f7dc70dd82fL,0x17b288a7f2311006L,
  51330. 0x1f1171a66815e1caL,0x0f71f66ce80d6235L,0x858c665a87fa5a59L } },
  51331. /* 24 << 119 */
  51332. { { 0x376b2a7f04e1e6e3L,0xea0dcb70a31774b4L,0xfc7fe4cc5cbdec2eL,
  51333. 0x8568499df03f459eL,0xe9fd8fb28b78900eL,0xd33c6e30e431bf97L },
  51334. { 0xd904b8f5c896e766L,0xa8f577cf82748cefL,0x93dd921b87e044b3L,
  51335. 0x23d79837f76eebe9L,0x5e0a7493e569feebL,0xd0797549414dddb6L } },
  51336. /* 25 << 119 */
  51337. { { 0x9bf04f567781556aL,0x30be1e8953ebf7c6L,0x6f4899cf713fe432L,
  51338. 0x4f641fb7c9ef741fL,0x03560819002cc010L,0xfa51f8f7b4bbd339L },
  51339. { 0xe09c5ef77f1dea5cL,0x39cb20d97255fec5L,0x407746862ea38859L,
  51340. 0x68ca598ecd7a29f3L,0xb8025dd67a9db4d9L,0x4feaeeaed9dfe491L } },
  51341. /* 26 << 119 */
  51342. { { 0x9422789b110b4a25L,0x5c26779f70ad8cc1L,0x4ee6a748ec4f1e14L,
  51343. 0xfb584a0d5c7ab5e0L,0xed1dcb0bfb21ee66L,0xdbed1f0011c6863cL },
  51344. { 0xd2969269b1b1d187L,0xf7d0c3f2afe964e6L,0xe05ee93f12bb865eL,
  51345. 0x1afb7beeed79118eL,0x220af1380f0fe453L,0x1463aa1a52782ab9L } },
  51346. /* 27 << 119 */
  51347. { { 0x8cf42aa26b99ca6aL,0x696850242f091dbaL,0x9d887e6ad7d3270aL,
  51348. 0x627754fd5c9b735eL,0x3b8735a811d95df6L,0x74debd8b52443251L },
  51349. { 0x1f8dd5b66181583eL,0xbd0ca92c8b570a9cL,0xc373a61a71ae3274L,
  51350. 0xf4b2c88d1c4c16cdL,0xd3e6ec3baf33efabL,0x8c54d2721bf6f0d0L } },
  51351. /* 28 << 119 */
  51352. { { 0xfd9e3542bfe5b1a7L,0xb42d2a4175938ceaL,0x74688a153befb760L,
  51353. 0x8daeeaa22e33dbe7L,0xc9c1ea083e677801L,0x68ecf4e434effe1eL },
  51354. { 0x927700ccd294c321L,0x9e2e723de940afc5L,0xbcfac07a7cf6cd43L,
  51355. 0xa009ef94d1006bc3L,0xa02016b0373d13e3L,0x4e097adbabae5822L } },
  51356. /* 29 << 119 */
  51357. { { 0x7535175d48752720L,0xf51086ee850bdf07L,0xce322c33cb4c3f4dL,
  51358. 0xd863f7edb28965fbL,0xfe46a4e9885e4afaL,0x58b5c871136d7ddaL },
  51359. { 0x126eddaf6ed07824L,0x084ce962844fcbb8L,0x9ac0787157dfb4c5L,
  51360. 0x97451fcc4d6b5910L,0x9f14b1ce0843c9c6L,0xf737f6c0a0e18596L } },
  51361. /* 30 << 119 */
  51362. { { 0x7c139d56d7dbe5f9L,0xfc16e6110b83685bL,0xfa723c029018463cL,
  51363. 0xc472458c840bf5d7L,0x4d8093590af07591L,0x418d88303308dfd9L },
  51364. { 0x9b381e040c365ae3L,0x3780bf33f8190fd1L,0x45397418dd03e854L,
  51365. 0xa95d030f4e51e491L,0x87c8c686e3286ceaL,0x01c773bf900b5f83L } },
  51366. /* 31 << 119 */
  51367. { { 0x0028dcae855a0b90L,0x74c1e36026f0d718L,0x34f80e3ca059f144L,
  51368. 0x85b5d8e3f2bfe1b4L,0xe124601f453de099L,0x8b164ad6221b3efdL },
  51369. { 0x636f45ebbe004ab0L,0xa23093e99f231a8aL,0x48e05e8e2287b992L,
  51370. 0xefec5e5b4477cb8bL,0x45a65afa8ba0231bL,0x92d38bd88b1af6baL } },
  51371. /* 32 << 119 */
  51372. { { 0x8db8b78cc898b8bcL,0x686896da502940cdL,0x67e50f022dde2e3cL,
  51373. 0x2e2461f38cbf406cL,0x32182781e1f7ff60L,0x26934b05e30e2688L },
  51374. { 0x95adc204fc4494f6L,0x4c7f30c5161b7499L,0xd5caf060b7341737L,
  51375. 0xed93187fd128d46cL,0x3f2819cb20fc1e04L,0x48c4086f2b7f70a1L } },
  51376. /* 33 << 119 */
  51377. { { 0x45693c00a92ca9faL,0x046b218d63bd525dL,0x40f1d6cc6b1d6a68L,
  51378. 0xfc5807c5c54dc1f0L,0x2875d4d98b5690f6L,0x7a753543d0f72a83L },
  51379. { 0x01f2c35ae28b5309L,0x38fb5f121bcef323L,0xd6ea6896256a9bffL,
  51380. 0x4380fb2c44d65badL,0xb587d641c3556fb6L,0x74c5ec1905167f32L } },
  51381. /* 34 << 119 */
  51382. { { 0xdabe347578673b02L,0x4f0f25cef6e7395eL,0x3117abb9d181ad45L,
  51383. 0x4b559f88aa13de0bL,0xfd8efe78ea7c9745L,0x080600475dd21682L },
  51384. { 0xc0f5de4bd4c86ffcL,0x4bb14b1ef21ab6a2L,0xacb53a6cf50c1d12L,
  51385. 0x46aac4505cc9162eL,0x049c51e02de240b6L,0xbb2dc016e383c3b0L } },
  51386. /* 35 << 119 */
  51387. { { 0xa1e3cb2255b7f121L,0xc9183b13dd01db7dL,0xfe26aa801469dae6L,
  51388. 0x7318df7fd9ecfe2bL,0xade0a24d56dd4acfL,0x6e521c2222d1ba14L },
  51389. { 0xa039800a40afa1deL,0x9c7da49d5c6af72aL,0xf7ae921cd3fcc7c6L,
  51390. 0x76af2407dcab63e2L,0xdc1618dbb6dd49ceL,0xebc65c4d362cc88bL } },
  51391. /* 36 << 119 */
  51392. { { 0xd847939132202bd3L,0x1dacde87d6631ac1L,0x99d2e71f905a94f4L,
  51393. 0xd3c21f5a7e67dd7fL,0x3605c28e3c43cf23L,0xb6cd5ac74d3b3070L },
  51394. { 0x8bf748ba246298d7L,0x9e939fbd0f053664L,0x3bb3e7b8cc303783L,
  51395. 0x359bd3e56189c417L,0x299d0ce1f609ae34L,0xd7221cc7b9ca801dL } },
  51396. /* 37 << 119 */
  51397. { { 0xb7c823506b73c5a6L,0x7fea0d95fefee640L,0x6d5dd775f68b6be6L,
  51398. 0x4a5576147cbfa333L,0x6cad79c2fcd9b17dL,0x49aec3d405c4dd35L },
  51399. { 0x3b1f3754c3792470L,0x351ef2ccbe00cffcL,0x44a248916a71f45eL,
  51400. 0x1e7a6013b8640d08L,0xf0f476154efcd556L,0xc82171444fe15dd3L } },
  51401. /* 38 << 119 */
  51402. { { 0xa3c56ad28e438c92L,0x7c43f98fb2ceaf1aL,0x397c44f7e2150778L,
  51403. 0x48d17ab771a24131L,0xcc5138631e2acda9L,0x2c76a55ef0c9bac9L },
  51404. { 0x4d74cdce7ea4bb7bL,0x834bd5bfb1b3c2baL,0x46e2911eccc310a4L,
  51405. 0xd3de84aa0fc1bf13L,0x27f2892f80a03ad3L,0x85b476203bd2f08bL } },
  51406. /* 39 << 119 */
  51407. { { 0x85f9b301218642acL,0xb3f3b36f8728ef66L,0x4a833bea2ebb8181L,
  51408. 0x7d3bca9d8541a662L,0xd3be6d0ac5a0ecffL,0xaf52a2a9528da950L },
  51409. { 0x4b431910131f72caL,0xe2708d36933d5550L,0x195340a469abf146L,
  51410. 0x84ca66e4e4e2e131L,0xd9402ca7e16c39bfL,0x5beedce343ca6041L } },
  51411. /* 40 << 119 */
  51412. { { 0x87c5915395523a22L,0x56686f525ac5146eL,0x9ec69ec718ccf766L,
  51413. 0x13f36d4ff6e21a4aL,0xa0841e94098691f4L,0xbd9d52d2bd91dd2eL },
  51414. { 0xa8765981b3fa43eaL,0xb0cd17cd600b9761L,0x02dd9d71b5abe842L,
  51415. 0x63df33a63689a53bL,0xab4b85bb9d9baad7L,0xce2d31c1eb74e549L } },
  51416. /* 41 << 119 */
  51417. { { 0x8d69a654f2472426L,0x91a4b6a3ff7aeff0L,0x51dd8e76fdcc7cb4L,
  51418. 0x5f7d42a273731cd7L,0xc127401aa99c9d9aL,0x8ede9330c92561d7L },
  51419. { 0x86057a56784c3cf2L,0x8afcf32cb5a7755eL,0xa0a5b561c71cd3d9L,
  51420. 0x0a5d805e36d3f5a4L,0x25a39acd7432a384L,0xd574a6b7b226e9ecL } },
  51421. /* 42 << 119 */
  51422. { { 0xab1cb818567af533L,0x273b4537bac2705aL,0x133066c422c84ab6L,
  51423. 0xc3590de64830bfc1L,0xea2978695e4742d0L,0xf6d8c6944f3164c0L },
  51424. { 0x09e85f3dc1249588L,0x6c2bb05d4ec64df7L,0xd267115e8b78000fL,
  51425. 0x07c5d7aec7e4a316L,0xcb1187ba4619e5bdL,0x57b1d4efa43f7eeeL } },
  51426. /* 43 << 119 */
  51427. { { 0x886e3f30b29f5916L,0xa419d2c6625f29a0L,0xb4f89fc49bf07dc4L,
  51428. 0x86c137a1a165ed88L,0x6fa241a9e5d6280dL,0x08be9b0cd11576f2L },
  51429. { 0x5735aeb7e376b03dL,0xf4639e6d182ce9b9L,0xb6948499cc688f57L,
  51430. 0xfde146636552009eL,0x3eeeae350a2e8553L,0x50447f1b659dfe2eL } },
  51431. /* 44 << 119 */
  51432. { { 0xefccd67ed15c33c0L,0x33393846146d5e96L,0x015e97da9ca7354eL,
  51433. 0x729b69bac143e795L,0xd4440ecfd4c5d0e2L,0x78c042bb697a80e7L },
  51434. { 0x9361ad1d08602f75L,0xaa354166af489794L,0xe60e5a274966d3cdL,
  51435. 0x8346995e2394f9f3L,0x2de33256590f6a15L,0xb14427bb43298ac1L } },
  51436. /* 45 << 119 */
  51437. { { 0x38fee83a74680d2cL,0xd8019e5c0e700c8dL,0xcfaf5614475da1b8L,
  51438. 0x11893fc58f0159e3L,0x4c101127553813c2L,0xd273055208f82a6aL },
  51439. { 0x8728834c74a3ce9aL,0x66b939a891906488L,0x42ac7c07b88d36bcL,
  51440. 0x663d7411d989bb72L,0x650e5d6eb284c066L,0x052b7f6710d8f124L } },
  51441. /* 46 << 119 */
  51442. { { 0x3618891fc8176a96L,0x62c4b084e5808b97L,0xde5585464dd95d6eL,
  51443. 0x27a8133e730b2ea4L,0xe07ceec36af318a0L,0x0acc1286ce24fd2cL },
  51444. { 0x8a48fe4add4d307cL,0x71a9ba9c18cde0daL,0x655e2b66d5d79747L,
  51445. 0x409fe856a79aedc7L,0xc5a9f244d287e5cfL,0xcce103844e82ec39L } },
  51446. /* 47 << 119 */
  51447. { { 0x2a8cb0a56ad833c5L,0xe8fab8b844962dd6L,0x31166fd63ee1dfefL,
  51448. 0x3aba85a1e1230449L,0xf9f8da66bd1f502eL,0xe4a72d82e3c17ccaL },
  51449. { 0xfa3d661d6070d587L,0x51d10b73c33ed08aL,0x3b0f515cb29f2d0bL,
  51450. 0xd82a11d7e1986e91L,0xcf24f81a2201f05bL,0xa94ec1e0d25f8417L } },
  51451. /* 48 << 119 */
  51452. { { 0xc7807daa081ed51dL,0xb7dfabf0e5d2d963L,0x3f78ae2e80d386d0L,
  51453. 0xd66275254bbfd04bL,0x238c8eb76d074f92L,0xfe51ec8a5bc5f9b5L },
  51454. { 0x6ba47430cc03177bL,0xe72efda6400b29e0L,0xb905701becbffe88L,
  51455. 0x5c61bdb47cf89933L,0xf1eb3084c914aa6aL,0xa3ead71e8245998bL } },
  51456. /* 49 << 119 */
  51457. { { 0xc58ee3013c7eb5a9L,0x02c177220a1172baL,0x8620118394c7c5b3L,
  51458. 0x66292bc4e1668debL,0xf51b48f4caf39937L,0x9cca60f43eaea578L },
  51459. { 0xf8e8004a5c2adccaL,0xce7ceeb1ebf49ac7L,0x36346357371d1c54L,
  51460. 0x8799e408d99ff07dL,0x3226181d8c3b2cbfL,0x3b4ff42ba437c2c6L } },
  51461. /* 50 << 119 */
  51462. { { 0x00675ba7f25d364cL,0x7a7f162968d36bdfL,0x35ec468aa9e23f29L,
  51463. 0xf797ac502d926e6cL,0x639ba4534b4f4376L,0xd71b430f51ff9519L },
  51464. { 0xb8c439ec2cf5635cL,0x0ce4c8d181980393L,0x4c5362a964123b15L,
  51465. 0x6e0421e0ffdcf096L,0x624a855f10d1f914L,0x7d8f3ab7614dcd29L } },
  51466. /* 51 << 119 */
  51467. { { 0x235ba8b565868390L,0x853c9346ea936e81L,0x967ff132700bb25aL,
  51468. 0xb26d9778561a136cL,0x8b775c4fe3f7e41dL,0xae8f6b2ebd390b2cL },
  51469. { 0x80959adc4fc7224dL,0xd9c913c12eaccf8cL,0xa9a278c79e96f769L,
  51470. 0xbc6be3038f26856dL,0xb039caf295d04cdeL,0x42ba0510a91bf5dcL } },
  51471. /* 52 << 119 */
  51472. { { 0x77870665cfbe0653L,0xab84c4b3523d814dL,0x72839d8897cd2bc0L,
  51473. 0xb966e521d25b1476L,0x4255d18451fd86a0L,0xadaf9b76dd54be7aL },
  51474. { 0xada6ff627f285e0bL,0xb76e26f46d42400bL,0x1d9fe676958bee25L,
  51475. 0xfcd7be9edb59965cL,0x897a90834bcf6e75L,0x64b26f02aabd21e8L } },
  51476. /* 53 << 119 */
  51477. { { 0xee46626beb1a8ce6L,0x2de20371b672fc49L,0xa0fb11b8bd2d9256L,
  51478. 0x5b49f70ac2a8dcd4L,0x98935fc9e5dc0ee3L,0xaddbae423bc00993L },
  51479. { 0xbd0bd9e19207f0e9L,0xe86c5365b393bcdcL,0x32184c832d0a9282L,
  51480. 0x8fe996d1df34532eL,0x3b33f151c6f45172L,0xd9def9a7b84545e4L } },
  51481. /* 54 << 119 */
  51482. { { 0xd9219adab3493ce0L,0x971b243a52f09ae5L,0xc16c9bf8e24e3674L,
  51483. 0x026d408dce68c7cdL,0xf9b33dd9358209e3L,0x02d0595df3b2a206L },
  51484. { 0xbf99427160d15640L,0x6da7a04e15b5466aL,0x03aa4ed81cadb50dL,
  51485. 0x1548f029129a4253L,0x41741f7eb842865aL,0x859fe0a4a3f88c98L } },
  51486. /* 55 << 119 */
  51487. { { 0x66bb66f5f56b17ccL,0xdce0bf2cba8958f8L,0xd814318f9ff85781L,
  51488. 0x41dce823edd1ad96L,0x71bb754bb59c6580L,0x9c5efb70de594c3bL },
  51489. { 0xf7b4ce5eb0053788L,0x9c26b0342770b6deL,0xe6967b1c8d131e8fL,
  51490. 0xfda0efdccf21bf28L,0x2366d47e09cbeeacL,0x62e9ee556629680eL } },
  51491. /* 56 << 119 */
  51492. { { 0xdaff980ff8e06359L,0xb4e0c9e2ead8a883L,0xe3e262023da6e94fL,
  51493. 0x37410ed03303c9d6L,0xc044d77b91fb5d82L,0x3559d9ac9ea34d26L },
  51494. { 0xf51a120be21beda5L,0xdd2eef8a3f7befa4L,0x46a26ccd8c79fca1L,
  51495. 0x3fb21a682a046572L,0x3624a47adad7c7c9L,0xb9b77ffd4b4174f5L } },
  51496. /* 57 << 119 */
  51497. { { 0xae19a097c9f8c462L,0x477be49917a9d8a9L,0x4a0c41c9d2154c45L,
  51498. 0x39313aba1b0d985bL,0x3a70f65cc051b643L,0x0725dabf2d0be160L },
  51499. { 0x29eefc94a69867d4L,0x6acc4cd49d02bce2L,0x0606ab725d4dca50L,
  51500. 0xcce81133bfecdcbaL,0x604df3def23b2239L,0xa644b430d20a7529L } },
  51501. /* 58 << 119 */
  51502. { { 0x80de085a05fd7553L,0x4a4ab91eb897566bL,0x33bcd4752f1c173fL,
  51503. 0x4e238896c100c013L,0x1c88500dd614b34bL,0x0401c5f6c3ba9e23L },
  51504. { 0x8e8003c4d0af0de5L,0x19b1dfb59d0dcbb9L,0x4a3640a9ebef7ab6L,
  51505. 0xedafd65b959b15f6L,0x8092ef7f7fb95821L,0xab8dd52ece2e45d1L } },
  51506. /* 59 << 119 */
  51507. { { 0x43f9a415259ac609L,0xcd6c7aaa0ff5722cL,0xb4689e75b29973caL,
  51508. 0x78a43571b690c0acL,0x90dc4ac0a6d3ba1fL,0x38af00a2b773932aL },
  51509. { 0xc13aebdda5e2c9edL,0xfab3a128cf3fed2dL,0xb3b7d29d32eb8ccfL,
  51510. 0x9ae1430b6986db5cL,0x35d18edf5365c21eL,0x88f8356e038471ccL } },
  51511. /* 60 << 119 */
  51512. { { 0x45587a7c0794dad2L,0x660833899e9c1cdcL,0x60e7ae4ad242a6b9L,
  51513. 0xb5f96b521009df3cL,0xc2d405092e30445aL,0xfa53ba4ec250a29eL },
  51514. { 0xf6a247855d98c6ceL,0xf873653c207dd110L,0x2aebc3c6c634cbd0L,
  51515. 0x84b8016ce5cdbafeL,0xbda81fcace00b206L,0x837dc69484b55f2cL } },
  51516. /* 61 << 119 */
  51517. { { 0x61bdc5cab308f1f0L,0x7763c97d8898d3c2L,0xc02324e60434de23L,
  51518. 0x7f5c565e4ba696e9L,0x06f27a3e66914b66L,0x64a975ee05052cf5L },
  51519. { 0x98b2f703bb38b14eL,0xbacbd113371e495cL,0xe54451acdd14cc9dL,
  51520. 0x8575cfdf87d141b3L,0xbd183a03d0996091L,0x947555579360264cL } },
  51521. /* 62 << 119 */
  51522. { { 0xd1f2d6b8b9cfe6bfL,0x6358810b00073f6fL,0x5fce5993d712106eL,
  51523. 0x5ee6b2711c024c91L,0xd0248ff5453db663L,0xd6d81cb2adb835e8L },
  51524. { 0x8696cfecfdfcb4c7L,0x696b7fcb53bc9045L,0xab4d3807dda56981L,
  51525. 0x2f9980521e4b943bL,0x8aa76adb166b7f18L,0x6393430152a2d7edL } },
  51526. /* 63 << 119 */
  51527. { { 0xc89db4eb4595ca55L,0x48921c735f1a73a2L,0xfc513c904afe7cbaL,
  51528. 0x6d3f988bff8322eeL,0x17d0d4f0e59b7cdcL,0x292f4757f4bb5588L },
  51529. { 0x3037e11151c14623L,0x3e113343dce98277L,0x0be229341e20dc8fL,
  51530. 0x0ebd1fbfcd6ff82aL,0x304bd69ed01fa90fL,0x402a457577f1862fL } },
  51531. /* 64 << 119 */
  51532. { { 0xd74d09c10ece13aeL,0x5e59d9e057a6bd95L,0xdb1ccfdce132b940L,
  51533. 0xa0e5309c843d3c66L,0x1fbd03a5f9cb3ef4L,0xcdc9ef0a00ea5177L },
  51534. { 0x1ebf5a15cb784a6bL,0xa67382af8a0d109aL,0x3256c37aa0d34d15L,
  51535. 0xee40efa50fca43afL,0xc299bbd4b9841bdeL,0x6df68f603bef4a0bL } },
  51536. /* 0 << 126 */
  51537. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  51538. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  51539. /* 1 << 126 */
  51540. { { 0xe01295fdd9d7c50aL,0xaf31b4ea67f8ef0dL,0x2ec9689f9eaf8eb7L,
  51541. 0x327b96c5c622acc5L,0xae918f81b2757f2aL,0x74927d684fd6606eL },
  51542. { 0x09bb7fce18574215L,0xfea383bce8e68b72L,0xdf2a6f125fb47511L,
  51543. 0xbe88faa18e399520L,0x0166d57e3fb1c3a2L,0x5907ef2fe525f81fL } },
  51544. /* 2 << 126 */
  51545. { { 0xdefe3a7b8a37f660L,0x7898db8c858f5765L,0x7366c26a73d1f9b4L,
  51546. 0x35d5d718237ae8b7L,0x3efb20feb4478259L,0xccd0fed7aa545ee3L },
  51547. { 0x750edd05ed22d152L,0x4f8020f9ee20d4c6L,0x16e60f370a9e29dcL,
  51548. 0x9cf0a136bfbec7f6L,0xb430a34b2e47e143L,0x2e2560bbc6cdd1a9L } },
  51549. /* 3 << 126 */
  51550. { { 0x799352dae4161a65L,0xe5cf7ad856253ce6L,0xf606bf796de32775L,
  51551. 0xddc0f3a357fce8dbL,0x1075fc2316cf4a47L,0x078f0e04b27c5ad8L },
  51552. { 0x9fc477953f7100aaL,0x3ac489254673ffa2L,0xb8263f42f9cd8348L,
  51553. 0x5bdfde3068cc92d5L,0x2250927b1ac37f9cL,0x26ec8328b33da359L } },
  51554. /* 4 << 126 */
  51555. { { 0xf186d6bcc88d568aL,0x872bc4c7528535ddL,0xc9e7432edfe64dc3L,
  51556. 0xd9fc4832d795ea57L,0xf4ffdb81c845af2bL,0x66d7e7882b670517L },
  51557. { 0xa7c1be04d7b7a1c6L,0xbed88479d5b2a249L,0x62ff8aba03f2ef6dL,
  51558. 0x60ecaac420dc701dL,0x9f4b559f4ff10119L,0x0582c9313cd54fd0L } },
  51559. /* 5 << 126 */
  51560. { { 0xea9da8f012bbaeb6L,0x3fba06b18c9f8360L,0xc11bd7abb28c0ac3L,
  51561. 0x1e05af2faa8a01bdL,0xae1e99c5f000b1c3L,0x93ee806453d79930L },
  51562. { 0x5728089e4c4f5513L,0x755351f3b1f70b76L,0x187ac651675f77efL,
  51563. 0x5cf7bfb553067d84L,0x629290838174b5c0L,0x720e20798d5be74dL } },
  51564. /* 6 << 126 */
  51565. { { 0xab8cc09ff5eb9ad1L,0x97a4de76132edbfeL,0xa2e11c548baf6347L,
  51566. 0xcee54229683cfcf6L,0xe1e993b8dcfc6555L,0x333bf16abe9df066L },
  51567. { 0x5207e093060d62dfL,0xfa32324d69b0f5faL,0xef16fbcfd3243d2dL,
  51568. 0x540a2e59f04f8e45L,0xb5e70f9c48317bbaL,0x00dbe9b25b35baa1L } },
  51569. /* 7 << 126 */
  51570. { { 0x0eaed675ebb512eeL,0x347e0756058efbd5L,0xadf792ca296d3d47L,
  51571. 0x57f00c0a4654d012L,0xa1e08a04bccc5803L,0x610677f05b2f11d1L },
  51572. { 0x0d9393d7b81acfd2L,0xb258e1570587c219L,0x372a1857b4ceba47L,
  51573. 0xe1ce8bb53ecc1c5dL,0x7efdf301922cecd0L,0xcab8cb170d8aa653L } },
  51574. /* 8 << 126 */
  51575. { { 0x31954a5679d05497L,0xc12520b6fe76d4d8L,0x8c433ec5e37ef1d2L,
  51576. 0xcd0f203575bc3b66L,0x3723f145249cd98bL,0x1356e0d2ea3b42a3L },
  51577. { 0xf607fee0f174c7b5L,0x318afc5e0127be39L,0xd47b5d74cea5417fL,
  51578. 0x6891940a10fca22bL,0x5cea41332b635e8bL,0x93db2ed6b5934fefL } },
  51579. /* 9 << 126 */
  51580. { { 0xf87cfaaac8972b7dL,0x2b8f9874e090800fL,0xdb88cd4f52efde36L,
  51581. 0x7b977f6e80776de8L,0xd047fc8ffb4b19c4L,0x33f3e43578b8135fL },
  51582. { 0xb4cdb352da33eff8L,0x217f9e2deb89d325L,0x1bb5a004c99feec5L,
  51583. 0x98ce5a7fdb45c845L,0x458904681d87e964L,0xb9253873d151ad80L } },
  51584. /* 10 << 126 */
  51585. { { 0x5d7c767de39edca9L,0xe4a700e7a7f8de0cL,0x5816e1f93c9eec33L,
  51586. 0xa975c933d32fe465L,0x979beff968466a5eL,0xe308c135cc067721L },
  51587. { 0xe0e733b41839b88dL,0xda3e3e6c298dc2ebL,0x414c3f0e8fb70e3eL,
  51588. 0x5ebaefa7ed7ca91cL,0x5c283310ae3b0f3eL,0x20353d5df3b1d44eL } },
  51589. /* 11 << 126 */
  51590. { { 0xd50767a9790325feL,0xe2ceddb9358c50eeL,0x60be64bdbbf03ae5L,
  51591. 0xe70c7e90f053328fL,0x6ba6af9e51543f0aL,0x470941f3b413e069L },
  51592. { 0x0b569fd4ddf63d13L,0xf94b22634a2125d6L,0xaa45ab62a5c1acedL,
  51593. 0x2b797175defa5a30L,0x3eb30067ead1d440L,0xcadb54e90b691af2L } },
  51594. /* 12 << 126 */
  51595. { { 0x365a4a431630b133L,0x9ecef631068d7863L,0xa330c8b4b7205a6fL,
  51596. 0x4858eab357df815cL,0x6e522afaf1a92674L,0xa7cff3d9f41365d7L },
  51597. { 0x00dd34615a0e4626L,0xa695feff48f9d094L,0xf427103f7c082301L,
  51598. 0x14a2a1876b092b71L,0x210f632130037a33L,0x21cca09639340e14L } },
  51599. /* 13 << 126 */
  51600. { { 0x58355ba0f60ad6c1L,0xc63fbcff56022afaL,0xa6a770d54e7ef19fL,
  51601. 0xf42b2024a09e9378L,0x153aa3200330f774L,0x268aaee55dc02c97L },
  51602. { 0xa7e13b42828f7ab7L,0xc0ccce09c303bfcaL,0x23169daae3ccb6ddL,
  51603. 0xf7f763fd786774e9L,0xb15a5ef150021488L,0x52f408fd5f3ea885L } },
  51604. /* 14 << 126 */
  51605. { { 0x53e84021177346c2L,0x4ee451dde20af475L,0xd7642453c14f393eL,
  51606. 0x7eaa215331662516L,0x1217a1b4c1d486c9L,0x7d32427569860f20L },
  51607. { 0x3813c95f14c2837eL,0xb8f0713d4e0c056aL,0x398c218cf6dec37bL,
  51608. 0x5bfa2eefa4ad1eedL,0x53cb0fd29f97a05dL,0x59fa132f6a9f492bL } },
  51609. /* 15 << 126 */
  51610. { { 0x6d5dff381fc2c16aL,0x5dec7ae2b1fe149eL,0xa9eed62c85088ceaL,
  51611. 0x5878fdf7996174baL,0x2cf65bb935517a73L,0x80844bcacff96d13L },
  51612. { 0x0f55c8bfed53f49dL,0x35815fb0fbd8cec6L,0x23e7d5c53b6fa7d9L,
  51613. 0x3ee04c0146ce1733L,0x180e25553f5c4a27L,0x61263ea7280e6363L } },
  51614. /* 16 << 126 */
  51615. { { 0xb1f4fead41b959b5L,0x6edb53a9e71890c0L,0x48b47efe2e28aa2aL,
  51616. 0x70dad2e9b3151d67L,0x87a8178b436a3460L,0x0f86f9f5801f7af7L },
  51617. { 0xfab462e3a982fc14L,0xe29126bacb03e978L,0xb4696b3fe6681282L,
  51618. 0x3bd9910a6a3fdc1dL,0x4409128449e37dacL,0x3b4bfabccf605fb3L } },
  51619. /* 17 << 126 */
  51620. { { 0x605fae7ece9d1372L,0xb2623a79f9b7e06eL,0xfab9b2742d37357eL,
  51621. 0xffdf9246461417f3L,0xc04b15d7bdd0e922L,0x767bcee54b2dbc0eL },
  51622. { 0x74c4ea4ed45efc88L,0x32d3d85491a534a8L,0x88967078554b2691L,
  51623. 0xe8256015e336a410L,0x166469624b9f978bL,0xb433f06ca104f01fL } },
  51624. /* 18 << 126 */
  51625. { { 0x8906d815457e1e82L,0x96abb1aa4c8a2c68L,0x2e63f37927ab2fb1L,
  51626. 0xe092e15f5446dfaaL,0xa3a3f0926615c65cL,0x8b31116747c3f259L },
  51627. { 0xfe2038782e5c658cL,0x38903cf526215773L,0x0039fca7237f1bd4L,
  51628. 0x75dbcc016058ff17L,0x67ee6226a65aeb9eL,0x96999fa75cedcba5L } },
  51629. /* 19 << 126 */
  51630. { { 0x04c6fd475ac4d191L,0x0067e474c825a897L,0x4a37c931404810c5L,
  51631. 0x072d30e5c4a56380L,0xbaf3428dc897ba23L,0x9899935b53724382L },
  51632. { 0xda5cc13ff4d41a62L,0x063047a0c6271baaL,0x49790bdc5cf48302L,
  51633. 0xd8c34e5384c5a9abL,0x6cf28e83db5bc36aL,0x430dbb1497da9d42L } },
  51634. /* 20 << 126 */
  51635. { { 0x59470e49c37acc2eL,0xc9e0f73611b85596L,0x47613c1e0fb30eccL,
  51636. 0x1fbeffa3b62892f1L,0xddfeef49f8eefa16L,0x6f82acd9daeff719L },
  51637. { 0xff1872cdacb41007L,0x06fe556c82d64c6dL,0x52a63a387695218aL,
  51638. 0xa0d413a720802b88L,0x233f1f3118f4a473L,0x22ef7d6fc9d7da4aL } },
  51639. /* 21 << 126 */
  51640. { { 0xeba1db6910dad9abL,0xddb62dacde3a5a42L,0x209c472cfdf5ad86L,
  51641. 0x14a7ee4b37214540L,0xcaf70ce08339c9dfL,0xa95744554eb9189bL },
  51642. { 0x90d7f241e9b39189L,0xf5edfd09af7f3eddL,0xc9a3444deb7ed52aL,
  51643. 0x30d9e2f80085d9d1L,0xeb412daa4dc24fefL,0x55c0000b27786649L } },
  51644. /* 22 << 126 */
  51645. { { 0xa9f34fa9518118e5L,0x430db0a51a22e790L,0x64b443a5d5a16ca1L,
  51646. 0xaa3b64f4d8adbe45L,0xb49435fae0f0873aL,0xb8d67ce4a635d1e3L },
  51647. { 0xad843f8a8a612b29L,0xa416ec7fd84a210aL,0x8b4dc6930984b23fL,
  51648. 0x29a1b71b24640dcfL,0x8f2d7507911892adL,0x0ce384105bd4d518L } },
  51649. /* 23 << 126 */
  51650. { { 0x1e1bef926c42e1bcL,0x91259dd60e04d449L,0xc029961e8875d346L,
  51651. 0xfde51012a9e38f43L,0xdeaa1dc18892643aL,0x67e3b913217e08d8L },
  51652. { 0x889a28c269b92b7eL,0x004c0f87b7446c21L,0xea812f67a2f98e77L,
  51653. 0x42fc7bbe22c40b8cL,0x5e7f5f5a8722e381L,0xf8f209d932099e41L } },
  51654. /* 24 << 126 */
  51655. { { 0x867379134a2965f5L,0x34724dcde67b3546L,0x2efe185ee92c712dL,
  51656. 0x8b908f86c201e327L,0x3ab5528894f6b078L,0xb9b2b784ce0a5bf3L },
  51657. { 0x5eab37ac879f6a41L,0x74271f672f2360f3L,0xf3a3edff304f1cf9L,
  51658. 0x8992ecd8f6fd3e90L,0xff24d7c69f16e5edL,0x0844ab25def9a5c4L } },
  51659. /* 25 << 126 */
  51660. { { 0x35cbf2191e14f235L,0x9ef33f3c4cdc1b46L,0xfd5cedd0299f7f13L,
  51661. 0xf57b9bbf99379e17L,0xae25d3e3cd3d59a8L,0x72f9fc84f58cb31eL },
  51662. { 0x87950fd84c94b63bL,0x15b52b4f7a4560a8L,0x382d36ec943e44baL,
  51663. 0x567ce2e9337b0f11L,0x8136e9ce2fa44901L,0x7e43a7289b15eeaeL } },
  51664. /* 26 << 126 */
  51665. { { 0xd1c8ed8814fb95f4L,0xc302e0aa29602659L,0x67abcce005cd67baL,
  51666. 0x7a234cc022f8ae25L,0x7074face39f44e4fL,0x84a08afc7a9d3fb2L },
  51667. { 0xfd149c88f56c1f32L,0x5b12cc15219e494aL,0x242fc50c9ea3c0e3L,
  51668. 0x196cdba555b23034L,0xfd8cfa5e87b75206L,0x915e706488d55f47L } },
  51669. /* 27 << 126 */
  51670. { { 0xb59480ba876145beL,0xd8f8fbbe8e1075ddL,0x0ba10292b5d9baf0L,
  51671. 0x3a4b7f65e39a8754L,0x1b3a044c0f3c6520L,0x6b8b3397b1dff4f8L },
  51672. { 0x40cef2285c182eb3L,0xbef82aec1b1cb92fL,0x5c4d2bfc2a97c5dfL,
  51673. 0x41d2a046536ad077L,0x94ef34a8c497505dL,0x14e9aef48e0b35ffL } },
  51674. /* 28 << 126 */
  51675. { { 0x2edaaaaaacaf1f3fL,0x9e3af72c80ebcc10L,0x3542fc42bcb1618fL,
  51676. 0x6c04ec246709d851L,0x5fe9768ea9af4ce0L,0xe739d50eeb6ebe2eL },
  51677. { 0x7b7da4ac876586e0L,0xb0869f1d64f5f956L,0x7f691c51fd563c80L,
  51678. 0xea990d6926c775e1L,0x2cd96f1321b58889L,0xbc8074720f1aac2cL } },
  51679. /* 29 << 126 */
  51680. { { 0x8e1fa5f8eb3283cdL,0x0107a3ba20e69342L,0xf99a511cb045b8dfL,
  51681. 0x172d0c8933b51876L,0xb11efc2b9636d0f9L,0x16b2197c41570483L },
  51682. { 0x49df27edacfdfd1aL,0xd9d2cedc366b9b28L,0x0289a75cab028c0fL,
  51683. 0x522f567a4879464fL,0x3313728225f64030L,0xfa28cb1558d6753fL } },
  51684. /* 30 << 126 */
  51685. { { 0xe5252210c6cd33f0L,0x6ba7f51f3f085202L,0xd2a87fb38f52e312L,
  51686. 0xa5e082cff25f35efL,0x786a93c2b9df2f20L,0x68c7e1299a19bf27L },
  51687. { 0x13a971ab8d710915L,0x3ca4f8c6939443c6L,0x8554699c70522446L,
  51688. 0xdf42b7768e14e6bcL,0xc7969fa5f7f3dadeL,0x135b6b77350ded88L } },
  51689. /* 31 << 126 */
  51690. { { 0x39e54aa472546076L,0xc0003f7f13e312beL,0x71106a4ffea91274L,
  51691. 0x3868f957819851cfL,0x713b96e75c85bbc6L,0xfda8c2df610403a8L },
  51692. { 0x0ea806c3a008cf78L,0x0ef9708353c0d1bdL,0x536950211e592838L,
  51693. 0xea3773d5e9023982L,0x6eee3c0d4195754cL,0x95df7b568c4bead3L } },
  51694. /* 32 << 126 */
  51695. { { 0x57edf71edf9a9f18L,0xbf834240627a0b79L,0xb37aba1aa6934160L,
  51696. 0xd45b3d2c5e639a54L,0x62c6b9ad70bce957L,0x16bc35a75d7e87f3L },
  51697. { 0xb021698266b4a982L,0xb56050dd0e51c9bcL,0x15aa692b478e4b91L,
  51698. 0xdd67cf29be3fe25aL,0xf1ef75b006bdd4a8L,0xf71a285b41df627aL } },
  51699. /* 33 << 126 */
  51700. { { 0xba6be58993032120L,0xea6dd691db99740eL,0xad8679463154648dL,
  51701. 0xd1a36f4c28c0668cL,0x09a28c234dd76e88L,0x93fef0c7dc665bb7L },
  51702. { 0xa78dfeb4860a0016L,0x06d2f868e21a9e02L,0x333a25a38486ade7L,
  51703. 0x12aa13130e398a80L,0x04a44a5848d5b3e3L,0xe59293d47a7ec12eL } },
  51704. /* 34 << 126 */
  51705. { { 0x6cdfb5faea2c1632L,0x6799cfcd7865f931L,0x4e1e5d25bf420a7cL,
  51706. 0x7d4597db05d22ddaL,0x7548db12fceda1e1L,0xb4523ccdcb473578L },
  51707. { 0x3d8dbad0ff889f03L,0xc591bb1118a9a222L,0xfac2b914a2cfcc57L,
  51708. 0xbb67601abec9d9bfL,0x18dff42ceb55218dL,0xb36ef9ba7d2b6320L } },
  51709. /* 35 << 126 */
  51710. { { 0x5b007ad1f3edf67dL,0xfaee9cada25fcfafL,0x18fc784a4d62e5c2L,
  51711. 0x98deda878acb5f8eL,0xe9cfd10a6f888d8fL,0xbb0d729b053db2efL },
  51712. { 0x7b09fa4f2aecece4L,0x3f72187cd4c44cc3L,0xf646aba05b8175a5L,
  51713. 0xf213caeba5686ca7L,0xf5ce777badc5d40dL,0x15ff85d660eb9357L } },
  51714. /* 36 << 126 */
  51715. { { 0xcdd18aee24e6df19L,0xa08ab968bbb3303eL,0xd5eb039cbab4f1a3L,
  51716. 0x040d03a8fa7a48d1L,0x767c0ed23d66628bL,0x0c6bd388b1a6809aL },
  51717. { 0x793aff3f029eeb91L,0x6db32d13bca798a8L,0x6aef5c1cc3816cf7L,
  51718. 0xcfb25ea45fd2cd2aL,0x0715a7899f8e3312L,0x4a9ad4782a6b1a6bL } },
  51719. /* 37 << 126 */
  51720. { { 0xa9f360a5d134c919L,0x10dba223dcfd0715L,0x7444b191dc9b4394L,
  51721. 0x9a16a971e2f288e0L,0x0d05c511f6a49999L,0xca34eae26b65e956L },
  51722. { 0x692febc418a83b76L,0xf3468c7b0b5f3511L,0xd8d3ce48b8e1ed80L,
  51723. 0xbe8c5c302a6de231L,0x9c0468b74e680d8bL,0x773ebb63f57b88d3L } },
  51724. /* 38 << 126 */
  51725. { { 0x9c2c33a5b726729dL,0xa86ab4ea5db2af56L,0xe987c5e3b0a36ffeL,
  51726. 0xa6dba84da5fe8bdaL,0xe1fefa4b8ff617a5L,0x561cdb88a91ad714L },
  51727. { 0xeb58f7fce145ddc0L,0x7b0e560a29c5ad50L,0xf8d6626593da0e76L,
  51728. 0x7769b479db39fb92L,0x9149f1e3a3c49033L,0xb706057f3ac49c35L } },
  51729. /* 39 << 126 */
  51730. { { 0xa678ba3fa527d157L,0x922aab268856a8b2L,0x936d3e85690b4771L,
  51731. 0xed78dccee114e472L,0x9694ccb1d315fbc1L,0x8b1cf4482822d968L },
  51732. { 0x336e670c4aca5441L,0xece24fb58f0e2824L,0x28d1578d05b758adL,
  51733. 0x0a1be96a40c3f019L,0xed1586e30b659cd6L,0xdef180009f860dd6L } },
  51734. /* 40 << 126 */
  51735. { { 0xc2885af90fe0f372L,0x2c756bef5fa6b808L,0x52b7f7b6068926bfL,
  51736. 0xc9399c1ddb143b68L,0x0e77c689e4c61211L,0x7d01e37f15ad7fa0L },
  51737. { 0x712fc61f188b2a01L,0x103685ec55a4100eL,0x721f9c02e5fdce96L,
  51738. 0x61c8a0c5e784397bL,0x34d478351c686ed2L,0xc697c89cd155bbe9L } },
  51739. /* 41 << 126 */
  51740. { { 0xc26dbc34f06a2cffL,0x4f10297631a80712L,0x758e33eda7c54effL,
  51741. 0x44b5e4ff3682d103L,0xef05034722a05e6cL,0x9170365c48ff372fL },
  51742. { 0xee49b61d66a15a71L,0xb5fd487995c2045dL,0x5940487160ad67caL,
  51743. 0xdcd2d5f586388c40L,0x0b41a8e54cbd1f71L,0x8152c17040236ae0L } },
  51744. /* 42 << 126 */
  51745. { { 0xf05b99d0995e9809L,0x036248a70295fceaL,0x7b70cf8f558e6ec4L,
  51746. 0xe882639c7c48ce34L,0x4cc86feaf4f47d38L,0x976799cf6d81aef1L },
  51747. { 0xdb202bfe8043cb43L,0x4c761cc5cef4f017L,0xe124bbc161f0c89eL,
  51748. 0x77d1cbf55b5a3d20L,0x26e549fcff346940L,0xc6040a4c2325466bL } },
  51749. /* 43 << 126 */
  51750. { { 0x1ed4d238e940e32aL,0x29d99c20139efcd6L,0x4cb7ef50c172b412L,
  51751. 0x8a9c438931957225L,0x5d8872af60be4612L,0x7bffbb1be7e79e0eL },
  51752. { 0x75bd89c1fc7d4e66L,0x723f9ae86bcc0379L,0x88f673b599c1b827L,
  51753. 0x8d45d139ecf5148fL,0xf12e605ff97ad1e0L,0x567dec052f09c370L } },
  51754. /* 44 << 126 */
  51755. { { 0xfb33b987b0be5055L,0x9864f903bcce94dbL,0x99b8da36aea9d09bL,
  51756. 0x19e326113b622d3dL,0x6abde501dc38f903L,0xb1fe3f1867cb2161L },
  51757. { 0xb053ec831e08cd7cL,0xba503b563298d32fL,0x220e98c8c2a79e86L,
  51758. 0x66ac99511e1cba68L,0xf9520e1e644ab527L,0x3f222b9b4eb8abf3L } },
  51759. /* 45 << 126 */
  51760. { { 0xae0cf2ff705cfc45L,0xf9d5dfb65a0449b1L,0xd0300b2cd4697fe0L,
  51761. 0x4ac80d7e4dc665b0L,0x84fbd38d72c1677cL,0xea8306f08e683a0cL },
  51762. { 0xe2381e65a469e337L,0x36b565d0b3ec173fL,0xc67689c700f3007aL,
  51763. 0x9f0108992abcc81fL,0x867a5f8dbb9bf584L,0xef789cdd5a436b38L } },
  51764. /* 46 << 126 */
  51765. { { 0xf8cdc9ecee11fa1bL,0xa78c73ed4c90edb9L,0xf6703453bbbddb82L,
  51766. 0xd268b4e23020e294L,0x214cdd54958eb8cdL,0x2acbd31d4d7214e5L },
  51767. { 0xf7c60c89cc733351L,0xb8c5cc642fa201fdL,0xaae1ca7f4c2acb10L,
  51768. 0xf7e33be56d7f598fL,0x982c012fd920c3c8L,0xaa98a69b86751ef1L } },
  51769. /* 47 << 126 */
  51770. { { 0xf5f548eb915ed5cdL,0x657ca09ce30f448bL,0x8750c4a44a30850dL,
  51771. 0x1b329c4108edb075L,0x8c261df8ccbcdaeeL,0xa81720bbedd44638L },
  51772. { 0x602fc21f0b91ee05L,0x6241265db7e8bc28L,0x1daefe5b106ac444L,
  51773. 0x93fe5bd42c9deae2L,0xedc229e17f1ba35cL,0xd99244977e0da1f9L } },
  51774. /* 48 << 126 */
  51775. { { 0x3176a43ab7a3ce87L,0x9fa09e975f130e73L,0x971cc37b9368e156L,
  51776. 0x2cabf535b8981792L,0xaec2862e4d0f0bc0L,0xa1a48c183ce8c100L },
  51777. { 0x288f4e694af2eae9L,0x778845f21f9339bdL,0x1ef5fdfd17dfaa6aL,
  51778. 0xc784117e3483a6fcL,0xe8c82f05f3c5c19eL,0xf39b3c1d1da87ab6L } },
  51779. /* 49 << 126 */
  51780. { { 0xa2539d4cc4ac73e9L,0x0308f91891488ba1L,0xa3e72f4459fae934L,
  51781. 0xb6bbcc37f8c9c402L,0x345a2debc6edee3eL,0x0352f023b0df87b5L },
  51782. { 0x67c9e7b8818c4f8dL,0x3a8714cc70f44977L,0x37b96e1295066bfaL,
  51783. 0x617d9737c95d7f70L,0x60bb06ef759a360aL,0x97689b3f34f59fe1L } },
  51784. /* 50 << 126 */
  51785. { { 0x17d0667fb2dd1febL,0xbfb92fe48862b2ccL,0xcfa0c8e9d5438a69L,
  51786. 0x7bdbd4b1d9cf9ef5L,0x7616acddf373c87eL,0x0603d2b0cf8fd5b6L },
  51787. { 0x6a80f25d46e31aacL,0xea8c0ad0fd424755L,0x9e2e5a5b3ffd5a2fL,
  51788. 0x8882d271f3b143caL,0xe6fc9ad7904e1740L,0x98d1620af428ad20L } },
  51789. /* 51 << 126 */
  51790. { { 0xc8c991a63292054aL,0xc90b11618ce93455L,0xdfa32238e200d1c6L,
  51791. 0xa9c578d5303004b3L,0x9dd2c3881609e5f8L,0x068ec35d24b69108L },
  51792. { 0x47e8183b2d1a3b7fL,0x6200d70efe3db580L,0x76012f3fafc089b0L,
  51793. 0xba06dbf4bddea8a2L,0xd83b4af5da01a49bL,0xa3d4334ce16e87e6L } },
  51794. /* 52 << 126 */
  51795. { { 0xb2fff4035b43e58fL,0xe80bd5740727be41L,0x048a59cbf9b52541L,
  51796. 0xb79084e7f38d0b47L,0x763b0c95938935d7L,0x7cfc6180336b8735L },
  51797. { 0x118d2a6f929b0200L,0x7e5789775a31948cL,0x9085999326009509L,
  51798. 0x330533a33ad633c6L,0x28bdb910733f4c3eL,0x82c88f148fdca27cL } },
  51799. /* 53 << 126 */
  51800. { { 0x1c346bb04ef444e7L,0x40a50060e6c22e57L,0x5eb02aa6c7a773b4L,
  51801. 0xd748a0a0d23b190eL,0xb6ff7f02cfedb7dfL,0x3f8fb35b30f8bb4aL },
  51802. { 0x245b1c232dc31174L,0xa1e156579af25f59L,0x1ad1a2315e2393daL,
  51803. 0x9430ed2dfd7c7073L,0xc4161d4f580fbc0fL,0xa2bebd3fa0f1dadcL } },
  51804. /* 54 << 126 */
  51805. { { 0xace743b6baff35ebL,0x84ac3ce8ac6f38f8L,0x81d41297106b44f5L,
  51806. 0x33f6bbbbaed20aa3L,0xae4dd66ceb420ee5L,0x87553aac994f0777L },
  51807. { 0x26275ebff1e3647dL,0x3b574c4fd9eeb474L,0x58fe2a16929721c5L,
  51808. 0x748480df932030d0L,0x3a30032641bb5f68L,0x0797fad92c06d1adL } },
  51809. /* 55 << 126 */
  51810. { { 0x65356242c7caa811L,0x780fe23f4506bbd7L,0xa741a51042407c02L,
  51811. 0xb8ccd27f5ef9eac3L,0x137f4a573ecf5766L,0xd495be0d15936fdbL },
  51812. { 0x5a419656109c93f3L,0xd2f7b65dcb12affdL,0x2305a070ff830421L,
  51813. 0x6d00f1e9684d5a6fL,0x3de9d1de91aa391fL,0x0b5148c10acb6de9L } },
  51814. /* 56 << 126 */
  51815. { { 0x209fa6e68ca7ec95L,0x17808b0c107a1047L,0x99bbeb5edfd270cbL,
  51816. 0xe3d57c1dc25e2d6eL,0xb90b0c107ba1237aL,0xa7e1b8dc4a0d6856L },
  51817. { 0x97d5b46136a9a07eL,0x931251e9125ea29cL,0x4177fd10fc8868a8L,
  51818. 0x1d3538b7b7cdcdf4L,0x889008c8ed3ff9dfL,0x30573ad2229b9413L } },
  51819. /* 57 << 126 */
  51820. { { 0x11596662924d413fL,0xe797d0a70e5d7bf1L,0xaa05dcd28452ee62L,
  51821. 0x6e10e77f5d5ddf1cL,0x46b72cda5fbd184aL,0x3adc1edb5b25c0c6L },
  51822. { 0x640de5b05c732e3aL,0xa7d4f0f5c6739747L,0xbc11978d1426527cL,
  51823. 0x979276eccbee0053L,0xc44347a7304e8811L,0x016c01e11f5ececdL } },
  51824. /* 58 << 126 */
  51825. { { 0x78b2f1a15ee57666L,0x28060d1576a2c09eL,0xaf0cb38df632a5deL,
  51826. 0x93ce93eea284cd43L,0xe3670d0af35dc1f5L,0x3b8deea527971072L },
  51827. { 0x3b88b1158eea4303L,0x43ff3b22aabde038L,0x8d69e180c813d623L,
  51828. 0x218f5b853aa7a08eL,0x6ee1544adf74f239L,0x0d7abf20fb8772f7L } },
  51829. /* 59 << 126 */
  51830. { { 0x1d881d4eb7716840L,0xdf83a03b86bdef07L,0xd534c4e4dc7ee69bL,
  51831. 0x1169f1cc6e264c79L,0x85c812d1b7690d17L,0xcc3164adec5f2ed1L },
  51832. { 0xb91a14180674e87eL,0x5dfaa279969188fbL,0x434acad5e242b969L,
  51833. 0xa51b5c63751c4e51L,0xaa9089b7874f9aa2L,0x8758f9e51b8397e5L } },
  51834. /* 60 << 126 */
  51835. { { 0x422ad88e57fd35feL,0xd4564b96b99a11cbL,0x78939992238baebbL,
  51836. 0xe66ddcaf4b30a709L,0x00873d5f7812ea50L,0x7317f9dc6784aabcL },
  51837. { 0xf94afbdbe0608ba4L,0xfff893618896d745L,0xa3348af5cad62808L,
  51838. 0x13ed4507f349f51bL,0xa73d4bec1186324eL,0xf0b48189a20022d2L } },
  51839. /* 61 << 126 */
  51840. { { 0x87d117858b8efa4cL,0x724439d6e9c2ee6aL,0x33ab2a03606fa0c8L,
  51841. 0x6ede5b55f9779d87L,0x858b7dd0759445cdL,0x33683c817a5ef23aL },
  51842. { 0x0f093175221c3443L,0xedcf2aaf889195a5L,0x9f189ebc814abec7L,
  51843. 0x6a64999c40235b9eL,0xf98dc212984438ebL,0x97e2d102ba86e7caL } },
  51844. /* 62 << 126 */
  51845. { { 0x337b9cbce3db0718L,0x1f2f55833d1796feL,0xa522b76f68c2a69dL,
  51846. 0x4c1da7cf5375cb22L,0x690a2e7f50bb0d7fL,0xa734d4756689b6eaL },
  51847. { 0x918592d5867ca0a3L,0x64d1c147c4d15e28L,0x4d8c3e22656f8219L,
  51848. 0x5e028bb2170f59c3L,0x41e8b84449875858L,0x1d928cc90c599178L } },
  51849. /* 63 << 126 */
  51850. { { 0x736dee2cf44db09cL,0xfb5035c07257b4e5L,0x3e3a7bf6bf0b702aL,
  51851. 0x4910a0165f257c0fL,0xd80b891d98437b4eL,0xf9e55d55076d8587L },
  51852. { 0x4e4ed7a79b4fcf4cL,0xaaf417f5581acfe3L,0xb1ae2a7ca3b3f920L,
  51853. 0xa666bb6263ee4781L,0x2fba297e63684f04L,0xd6e662658d83bd6bL } },
  51854. /* 64 << 126 */
  51855. { { 0xa58a27c58a541be6L,0xaf66949954fd7683L,0x2431826600079a25L,
  51856. 0x113f6fcf2606caf5L,0xf6ff2be316cb28c8L,0x8f7fc60e3c17caa6L },
  51857. { 0x8ea577e07d35e26cL,0xc3e744c0f0628903L,0x4b28eff4592a57eeL,
  51858. 0x76e1f87c5e3f67b2L,0x40d7a676fb008902L,0x68a9dc764b6e6b7eL } },
  51859. /* 0 << 133 */
  51860. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  51861. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  51862. /* 1 << 133 */
  51863. { { 0x76e2751a12575913L,0x2c6059914a5f8c4aL,0x58322dfb71fba662L,
  51864. 0x228aec085e0886afL,0x8d83b6276aee544cL,0x338f5fb6e29f9639L },
  51865. { 0x1ba4cfe0bf5e19faL,0x2eea84c5b9e4f8f6L,0x7e0eed58cee95d92L,
  51866. 0x2d29282abe535540L,0x866638b607a9a1f4L,0x915999776ab8dc82L } },
  51867. /* 2 << 133 */
  51868. { { 0xa16c79cfaf4d260bL,0xfe853f6cfab3c3c8L,0xb8bd6aa0c2f47e68L,
  51869. 0x277d590f2c9b4914L,0xb6d1c810097242a8L,0xcf2f3d8e45f75512L },
  51870. { 0x2176162b74a20c3bL,0xeee8bcb82b2bcddaL,0xfcf8c0d1a503aee7L,
  51871. 0x5d1f94a57af4dd78L,0x8f0bc1a62ab43be4L,0xd22dbf16ba9e071bL } },
  51872. /* 3 << 133 */
  51873. { { 0xbf87f30e3790b47cL,0xd3d3f1e25ab52ae8L,0xd5fd32bd50ec0ba3L,
  51874. 0x7de8fe0ae60d1e72L,0x52d77fe0e14ff2d3L,0x9b6937db55ca47e4L },
  51875. { 0x39e3d19f53e94fa3L,0x8d962a4fbd7827e4L,0x3bd70c7afe92c6cfL,
  51876. 0xa3fbc06869a82904L,0xe263f00ed96d1d9eL,0xe6c9781f75c0c24bL } },
  51877. /* 4 << 133 */
  51878. { { 0x705bfe37b4e814b3L,0x22f0de61702013c6L,0x811e77a9bc456797L,
  51879. 0x4f52c4e617081a2fL,0x87405d819fe1640eL,0x53fa82b7707711d7L },
  51880. { 0xdc6fff830ee4aea6L,0x8413e22ffd60373dL,0x0ecb66bea9cf3eadL,
  51881. 0x7418372e87139b8bL,0x6aaccf295e42b4d7L,0xb6dc592531fc932eL } },
  51882. /* 5 << 133 */
  51883. { { 0xf1c8d00de460fe00L,0x5692bfee528da7c6L,0x9e4dd700ac8620dfL,
  51884. 0xcc43e73d9d6fe740L,0xc94060d3e76dcba2L,0xfcdf8ba6d398914fL },
  51885. { 0x540942e7502f8587L,0x5def85040de058fbL,0x63e0c7855292b0c8L,
  51886. 0xe90405282e558983L,0xe25727a16baf4a31L,0xb9bf28f0acf64d7cL } },
  51887. /* 6 << 133 */
  51888. { { 0xc7c8364f09d26382L,0xe16988737bf32d9fL,0x97bac2feb726391cL,
  51889. 0x521426364a7c0b57L,0xe3e596482cdec222L,0x4ee7238cf44e0a98L },
  51890. { 0xa6d05a21f61cfea8L,0xa1059fb7efe6a26fL,0x482a65b342416fa4L,
  51891. 0xdc5727e1c71e7a94L,0xe6b0fb6ec4767f1eL,0x3d0d626d6510599eL } },
  51892. /* 7 << 133 */
  51893. { { 0x59f5df1b2a8f9f78L,0x6bb161d992257e60L,0x2cf060beb7b2eb14L,
  51894. 0x98e72799aec169b0L,0xdde683927045fdb9L,0xee5e0aaf461b27e8L },
  51895. { 0x80250c744c0ee047L,0xdd3881f597f0677bL,0x0ea56921a4459b6cL,
  51896. 0xf7793cee26df8d7dL,0x33bfa09be42d1913L,0x9f0636f74ccf5139L } },
  51897. /* 8 << 133 */
  51898. { { 0xfa3b4c8eb88ee8f9L,0x1f288e60b521ab57L,0x06aa39562e8c4d8cL,
  51899. 0x4981c3e5cf89935bL,0xbdbd0c4745fa071eL,0xa78f831c496073beL },
  51900. { 0x09a72986a4e5c001L,0xac527731709cb728L,0x9a64b5b3988f2781L,
  51901. 0x6ac9440d73b1719dL,0x58ad54c7e3d2e807L,0x1c1574488f06742bL } },
  51902. /* 9 << 133 */
  51903. { { 0x3220a099a5e437e6L,0x11a1b1734dc5bdaeL,0x1ad9e736b64c9b8bL,
  51904. 0x82b6a3d4ce40acadL,0x54e1eef8915aaa8aL,0xff19be481f3a1f54L },
  51905. { 0xadc4c5250b64a2b6L,0x6637bc8e12caf63dL,0x970d08b01206a661L,
  51906. 0x97c9b9bde57cf6c2L,0x228ee4712b89b7b7L,0xfeed19ca837cb79fL } },
  51907. /* 10 << 133 */
  51908. { { 0xcd36c981a816f4d4L,0xc99316c27712a72bL,0xd32cb20339e671aeL,
  51909. 0x79ff1889f67f6215L,0xf9fe7448cd08e91eL,0xdc9b277776f3e605L },
  51910. { 0x8af30c2e7c1609a6L,0xed3224a3e54cdd0bL,0xe73f56ded1dea6acL,
  51911. 0xb836eb783e37a390L,0x9f0dcdb2c78a0510L,0xc37e67a39e6109f0L } },
  51912. /* 11 << 133 */
  51913. { { 0xab419eb852e0d552L,0x86c76ef8ae3d06ebL,0x219662b4f7c6342fL,
  51914. 0x2820299e548f6717L,0xc4d0d47a8a2aeebaL,0x4c98069895536593L },
  51915. { 0x3644e55ff42cd505L,0xe109b64ae47e0b0bL,0x91f520a6c89788aeL,
  51916. 0x35f6dc577699087aL,0x3484f5b6b77deb8dL,0xc22a63a47f3c09e6L } },
  51917. /* 12 << 133 */
  51918. { { 0x6b5b7b2a75c953b2L,0x927ed77ca7f1cd5bL,0x2e8c53994cba0e5eL,
  51919. 0x03aeb14a3f4a941bL,0xedbad9a0a1385c8aL,0x925a49c167fd2258L },
  51920. { 0xe7e368ee3365ffedL,0xcc4aad2dd106eb87L,0x4ce908daa980b53bL,
  51921. 0xd3f4954016929ac8L,0x613c804dd5c05c32L,0xa42290ccd7973344L } },
  51922. /* 13 << 133 */
  51923. { { 0xe7437974c464c24fL,0x70c04156d36bdfecL,0xd94c80fcb2d5d96fL,
  51924. 0x4a1fcf19d2cfea9cL,0x443478592f6df796L,0x0c908d0159743bd2L },
  51925. { 0x78949087d165a62bL,0x6c3f9021632f4e1cL,0x3917b925a94bb004L,
  51926. 0xe153ef092b3f87e3L,0x6aee1027ea706338L,0x953ab2959733bd02L } },
  51927. /* 14 << 133 */
  51928. { { 0xad49cad49855d008L,0x23442cf94b273d85L,0x3a3c8752e3dd8f65L,
  51929. 0x0ca5d24bedf84ed0L,0x3d0580938b4f8f96L,0x1cea59acf9b9ae03L },
  51930. { 0xf17cbbe23a06567eL,0x49cf5294f090338fL,0xcf8cbe0da93562c1L,
  51931. 0x66683f21b986b71cL,0x3c96750cc87c9e10L,0x38e62db63dcf2f32L } },
  51932. /* 15 << 133 */
  51933. { { 0x807a519047f99946L,0x49e03dcf01615a37L,0xe813287c99590bf6L,
  51934. 0xc9caf30ddb62835cL,0x0733c49d4df78781L,0x4fde30fd4815d3adL },
  51935. { 0x2809b853f9a2610dL,0xf2b139b9dc050142L,0x52a40a413c23a4edL,
  51936. 0x9333086b0a104df2L,0x04a90c11e2a65950L,0x4c6a15c4dc24341aL } },
  51937. /* 16 << 133 */
  51938. { { 0x33952177a98cf218L,0x841d9e1f579ee53aL,0x1084d61e0a285bd5L,
  51939. 0x3935a84e71171b1cL,0x8ac2433cf29b29f9L,0x5dd868b56dd1e9bdL },
  51940. { 0x88da04788d102390L,0x1140735a657400d1L,0xa792a25f9d5b19e1L,
  51941. 0x9ee015cb6a27fa79L,0xea3bf8b57ba16a8eL,0xc5f0cc26c15fde67L } },
  51942. /* 17 << 133 */
  51943. { { 0x033708d2e02e9feaL,0x2b588d1e222f437dL,0x998442d6c6b47013L,
  51944. 0x4033d62fb8ac1fc6L,0x9b8fd348877c726cL,0x1a2125fa5bea5a49L },
  51945. { 0x04a2c1d680b8afd9L,0x3d52c9d2a40195c1L,0x56b204e6655c0b30L,
  51946. 0x55ee14ef520b3464L,0x23fc52e6b5bdd96bL,0x445cfd7a56f4b269L } },
  51947. /* 18 << 133 */
  51948. { { 0xc8985c2c5fee6426L,0x8be749496bb7bb8dL,0x12967576659363b4L,
  51949. 0xd1b6ded9b969b221L,0x586f28929819fc04L,0xec6b03e5addd6307L },
  51950. { 0x3f0e96cad4da6627L,0xc866c95c14860d00L,0xb038867c9725f9a8L,
  51951. 0x60cd3afa1caf2547L,0x6f2cc04411dddfafL,0x49551f249d0af0faL } },
  51952. /* 19 << 133 */
  51953. { { 0x04a68337177e2e7cL,0xe20b21c0adb79464L,0x9b30d3437e42ae4dL,
  51954. 0xac7a01d7f86c5767L,0x3ea34e385381db5cL,0x3005a0c39235f5bcL },
  51955. { 0x853eb43167b4a5c5L,0x92f26a35584e4b8aL,0xa3d25e5879bb470fL,
  51956. 0x7963d90a5eacbb13L,0x08ca7969212e3aefL,0xb5ec6582df92bfffL } },
  51957. /* 20 << 133 */
  51958. { { 0x2e152d95ee2c3290L,0x8437df2e4a9ceda4L,0x4151754e3c7ebfd1L,
  51959. 0x556c59a888f80aeaL,0x8d099c5d8de44dbcL,0x9ecce7fc77abeeccL },
  51960. { 0x5e0a0f383aa311cfL,0x99ff1eecb8f2bff5L,0x5ae0b483b5dcf488L,
  51961. 0x11212c4591483a02L,0x99fe0738312134a1L,0x3b855db0a72745efL } },
  51962. /* 21 << 133 */
  51963. { { 0xb70bf73230261470L,0x8c9b7c4bc74a180fL,0x4c648aef88a9d9acL,
  51964. 0x3d9f7540a10f98bfL,0x8ec2a3a3120d55f5L,0x1707c1b0baa5a600L },
  51965. { 0xacba8da9103f2f0bL,0x96926dc0c7194236L,0x00358df7584499dcL,
  51966. 0x74c27d0e538c0a15L,0xc675d079de960a77L,0x575b042e89f41f6bL } },
  51967. /* 22 << 133 */
  51968. { { 0xd17d99529703d919L,0xb25ecc411477faebL,0xa5c66a58a9aea2fcL,
  51969. 0x83754d683accb00cL,0x6a9ae76a25901044L,0xe437981b2565e035L },
  51970. { 0x441ec0d96f45fa01L,0x35e40d126a697636L,0xba2fbab59bb3c2fcL,
  51971. 0xc038be03e94b245fL,0x366b4bcc0c1672eeL,0xa14a2c10f1ce6d55L } },
  51972. /* 23 << 133 */
  51973. { { 0xef32d94febe1dfe2L,0xdbf53d4271494ea6L,0x72dc5fad24cf0c2dL,
  51974. 0xa9247adc66dbc21bL,0xe31ff66ab130da59L,0x8cb97c09e86ab63aL },
  51975. { 0x204020e2f59ebb80L,0x56f6d8b7cfd0f965L,0x7522a692b1518dadL,
  51976. 0x8e7c999f5f231e2eL,0x2eff5904b4406177L,0x8440cee87bfe2363L } },
  51977. /* 24 << 133 */
  51978. { { 0x37f50e43892c8eecL,0xf06a2f047d85a7e2L,0x3916af85e1d11150L,
  51979. 0xf56e852f6785ae1cL,0xbf8c72adae6ada8cL,0x1fcd53e3e13285b2L },
  51980. { 0x5327920cbd56d348L,0x82a394fb445658a8L,0xa71328573caf3792L,
  51981. 0xb15ab34b550ffe1cL,0x818980666a5d4e4fL,0x0bda153b2f854f9dL } },
  51982. /* 25 << 133 */
  51983. { { 0xf664f44407aa3d00L,0xcf8901664704e2d6L,0x1802f662f8c2fc8dL,
  51984. 0xd52496b8a47f0da6L,0x37f71d8c75001c8eL,0x7ad8e8c29cad3ba7L },
  51985. { 0x666afc25825515f7L,0x3a871c76a729e498L,0x5dc21f1108479e3eL,
  51986. 0x78ff145966c4331eL,0x8d01e2352dd3deb2L,0xc68445e9dbc91fc3L } },
  51987. /* 26 << 133 */
  51988. { { 0x8f2d9aae98ea13f6L,0x3e75ba40ab97bfb0L,0x14dd24e635e1fe35L,
  51989. 0x14abb0735f88d9b9L,0x74b2c6a801d4fcd6L,0x4905dfe7744a09bbL },
  51990. { 0x349348c077cd538aL,0xdec247f5f7b6d035L,0x737e248dc455d417L,
  51991. 0x608a5529b6fe5d92L,0xce0ba0bccd7dca64L,0x022bcb18c21175c6L } },
  51992. /* 27 << 133 */
  51993. { { 0x79fe5372881b120aL,0x4878428aae98aeeaL,0x5c6a7f7d09511acbL,
  51994. 0xb7be08de3b046481L,0xfb91990b8b35f13bL,0xab734f604ebdd374L },
  51995. { 0x3d4955f1197690e1L,0xfc82767c7b376dc4L,0x7cf3db85b8c659c7L,
  51996. 0x4cfb6f4b03202723L,0x8b79311746141d27L,0x94c6ee67867292c4L } },
  51997. /* 28 << 133 */
  51998. { { 0x77a31009722730feL,0x93707ac4d5cdd297L,0xa290be39d3811e8cL,
  51999. 0x831a9b9592a5cdb7L,0xc74cda84e7342270L,0x964661903f48affcL },
  52000. { 0xb0496cca5520b0f0L,0xc8742cd9bae930ffL,0x3a30737aeaea703aL,
  52001. 0x0a8e6fb7fb758854L,0x9ab9523e6796f4d1L,0x36e6c05dfdf7140fL } },
  52002. /* 29 << 133 */
  52003. { { 0x4c8ec1a3ccedff1fL,0x8fc58987ca74bd5fL,0x70a6b71cf768abcdL,
  52004. 0xb9971cf5ed60a02dL,0xbb2aedc8af2f9a41L,0x4ebf90c76032c98aL },
  52005. { 0x8e69b4c4d3752262L,0x350f201474ba8e8aL,0x7a164f6724d0052dL,
  52006. 0x5aeb80db61d7eee0L,0x626a6c9da63583bdL,0x6246637fc3f2196dL } },
  52007. /* 30 << 133 */
  52008. { { 0x2077dfa1817d444bL,0xdda9c7fcdf855b15L,0x577603be04b31d38L,
  52009. 0xc6beacae7a140cabL,0x8cd9dc019ecbed91L,0x6ea8591295ae114eL },
  52010. { 0x6fb29a33fd47f1b5L,0x6203bca6223cb96aL,0x2459d85a7c1a3580L,
  52011. 0xbab5922d6410a3c0L,0x543be274cc7750f8L,0x1a653e1c42baea3aL } },
  52012. /* 31 << 133 */
  52013. { { 0x616abd271dbeeea7L,0x0684c14fe2189d8aL,0x0d2bf3687354d862L,
  52014. 0x8b0cfc06a8bdcb0bL,0x187147b49661e548L,0x07509bc358edde6dL },
  52015. { 0x7b2a33bca78c2782L,0x5f41b8379ec5fa24L,0xa6df5de574539201L,
  52016. 0x3510f650093f8f7eL,0xe4d1c06ed14aaa71L,0x4d1b1ca2b0470581L } },
  52017. /* 32 << 133 */
  52018. { { 0x3b62315064ef6a95L,0x97645381aaa5b792L,0x4bc2c31c56471100L,
  52019. 0x4a0e73bb1bae8d2aL,0xbfc0770a8df1f76aL,0x5089916fa7bb16caL },
  52020. { 0x2afe5b1cf31fe82eL,0x0b06831df0119977L,0x97caa333a1af2a82L,
  52021. 0x93cb92c5dafed6cdL,0x09553e7e92c3b2e3L,0x3d9c4b7d61af2956L } },
  52022. /* 33 << 133 */
  52023. { { 0xe56c89b06910185fL,0x1cd06d19ac47667cL,0xb35e6ae5fe41a4ffL,
  52024. 0xdc2fbaf959e8be08L,0xa9e6df08f8cec40bL,0xcab91f8ffe63ad2cL },
  52025. { 0x1e3bd193ca2cc678L,0xe1830cae06bb40f2L,0x3b8b33d6d69985abL,
  52026. 0xb6b7e8433895d8a8L,0xec3882909fbf6b31L,0x012bec2ac37d64cfL } },
  52027. /* 34 << 133 */
  52028. { { 0xff2e88fd33941b4bL,0xa2d9730a8d85cccaL,0xa23f8cfa16f7d7a1L,
  52029. 0x82013193d39a250eL,0x3b119882ca0fd8a8L,0xcff642ac1a438706L },
  52030. { 0xe4a3a95f65e5688cL,0xb2a6c836c31243d2L,0x1b7ec5d2194d1f42L,
  52031. 0x51ab34f814e4f7a2L,0xa3e3f135d3583ca0L,0xbca6ecbade9b91f2L } },
  52032. /* 35 << 133 */
  52033. { { 0xc85820c3002f07caL,0x090365320e00dca7L,0x0f3b3166f4e4d8c2L,
  52034. 0xe694eb4479460f00L,0x50d0ed14c15e04ecL,0x8c9998abcc86e3bcL },
  52035. { 0xb82581624aefa561L,0x6351aca610050c0eL,0x4e60399acc8d2342L,
  52036. 0x96da3af7f633dc88L,0x1af763ec09202348L,0x76b0e49d3f0d5f76L } },
  52037. /* 36 << 133 */
  52038. { { 0xd83f574a08f84746L,0x48fc9715ca07f5f8L,0xb3d5d0d2dcc51638L,
  52039. 0xc2a5e3356153bdcdL,0x8242cd9a8aa4ef74L,0xe71ba25b0bdaa0d0L },
  52040. { 0x4342d4bba4ff172dL,0x81db10dffc1341a2L,0xdd93dd877dacb140L,
  52041. 0x6f8a4e81d12d347fL,0x0d4e7e461bc369beL,0x3ce10a771fafd0c5L } },
  52042. /* 37 << 133 */
  52043. { { 0x2fdaa3bb8cb896a3L,0x2fb82dfd913bb303L,0x5d814a50ba9ca09aL,
  52044. 0xc3de6aa426112215L,0xd0d5c98b25a0c9fdL,0x54004b3e0eaae4a8L },
  52045. { 0x410e2cc209358663L,0xf7e3d08a501c4ef5L,0x3d86434dd334aa19L,
  52046. 0xf70ea577772fc0cdL,0xa0eded5aa607c4f2L,0xba0bf1bc36222b2dL } },
  52047. /* 38 << 133 */
  52048. { { 0x8d901e759632c4d6L,0x0ed9a7ebbbd94698L,0xfd2169dbbf7bcbc1L,
  52049. 0x2b4d168d5b302c66L,0xd42f9dd73e65f24dL,0x73e0c22c0eed0022L },
  52050. { 0xf9091588f5d2dcfbL,0x81c7c01eb8715b78L,0x2be06165dde6a9d6L,
  52051. 0x64b5902dcacd6ca2L,0xdcd510d70159d3bcL,0x5b71995b42b5e30aL } },
  52052. /* 39 << 133 */
  52053. { { 0xa9c474eae7a211edL,0xc7bcdd20d8170f76L,0xd9aa8d9734a15487L,
  52054. 0x26235292933c16b6L,0x289d47d5d8238fc0L,0x39f10fb3ae27ca16L },
  52055. { 0x822e187f1c016ae1L,0x8e93b15f2be46859L,0xe2ba61a60b0a055bL,
  52056. 0xd8f33ddecb8de893L,0x016652d6379657efL,0xf4eb08f9e7d9eab8L } },
  52057. /* 40 << 133 */
  52058. { { 0x5559dd31e67145b6L,0xf2d905b45b2427e7L,0x0d840fabcaf57d0cL,
  52059. 0x9625866578742ab6L,0xc85482ad409c1c8eL,0xdca2a058adaa6167L },
  52060. { 0xec26ad9a0c8885fdL,0x1b93b8a22a600cb2L,0x340aa7fc2539986bL,
  52061. 0xd7674876a23dee41L,0xa948a9292e1a9837L,0x9ae67d2a71438da9L } },
  52062. /* 41 << 133 */
  52063. { { 0xe753114a8d6a98f5L,0xb2d7d1e1f6ad93e4L,0xfbcfe0cf1935714dL,
  52064. 0x9dc2d293e859e729L,0x674c170889a703f2L,0x87744b0252063099L },
  52065. { 0xa1721de04b25966bL,0x059292573a285fcaL,0x5b02ca39e8ce75e0L,
  52066. 0xbfdf0fb939e57da4L,0x554378cd6388a964L,0xc53fc5c8f853d7faL } },
  52067. /* 42 << 133 */
  52068. { { 0xcd3b60e352f51554L,0x6292fafab44ad7eeL,0x670561c79513741fL,
  52069. 0x95defdf3b9ba16a7L,0x6c0beac1adae36cdL,0xef05c24a3e8aabd6L },
  52070. { 0x74208a02b23efc25L,0x71930e02c22172d1L,0xbdb1f1c6f5ccbffbL,
  52071. 0x358b483c504d9cb3L,0x48b5887a9a48a4baL,0x289256b4e48f09e7L } },
  52072. /* 43 << 133 */
  52073. { { 0x671bf1eebc2f256aL,0x530faa653984ca7eL,0x0a6d18955c05da6eL,
  52074. 0x219de918118fe96cL,0x289b9645bb7eded4L,0xe905c4729588f006L },
  52075. { 0x56d0cd9ac9d61133L,0x8879550079a4f743L,0xd05e910199c2aff3L,
  52076. 0x7e91f7c985e52c8bL,0x7fd02f83b5c5d473L,0x4b43b6453c59330aL } },
  52077. /* 44 << 133 */
  52078. { { 0xeac6f447d56bdf1fL,0xb22e8425c2b502ffL,0xe1cc9d3dfca5a501L,
  52079. 0x8192bc29b64baf39L,0xeb2c901a52ce849eL,0x7f5f38b11dd506f1L },
  52080. { 0xfb3684b10f0a1d68L,0x16c4aacde9240ff8L,0xffa682435a4d8995L,
  52081. 0x27264ab554e4c95dL,0x9aa40cdc4f34ffaaL,0xcb8a30a35fd818eeL } },
  52082. /* 45 << 133 */
  52083. { { 0x912f0a7dfa88792fL,0x2ad9249f5090716eL,0x4b828a6fb96e6e31L,
  52084. 0xe805f0588d7f2095L,0x72e95cb956e00978L,0xc95354667651815fL },
  52085. { 0xc877181a08df5b53L,0xae055dd8779c3302L,0x3f9e6dd90b4e68d2L,
  52086. 0xdeb15f1308fbb2f8L,0x5f129c1cc5802a96L,0x7482e4af3cc51022L } },
  52087. /* 46 << 133 */
  52088. { { 0x98904777ab695f56L,0x6dc472c18989e518L,0x6749d25c82031d40L,
  52089. 0x5c465922c36202f1L,0xb3b5b9aff31fe542L,0x855263bdf98bc09dL },
  52090. { 0x40ee01747eb4789fL,0xd64ae0d4de4e92bcL,0xbaea76a38995e69fL,
  52091. 0x3f22b2e3d972751eL,0x5a197daa2461f1b4L,0xbd15682a5097b93eL } },
  52092. /* 47 << 133 */
  52093. { { 0x7f251143534f8547L,0x213baf14222a161aL,0xae993737ad1e6005L,
  52094. 0xdc70867ff8b1cc7eL,0x41e880f3bb22e11bL,0xe36f54cbd2d6bc45L },
  52095. { 0xa42e819d4d65ae97L,0xdc57be4de8592604L,0x8a89777fabe73b50L,
  52096. 0x435fedec72e26f5bL,0xe8d3cd8251ec79f0L,0x9574d6ea67f407b0L } },
  52097. /* 48 << 133 */
  52098. { { 0x39038863f7f35053L,0x421a17f3328787d2L,0x38aa682ef3d8310fL,
  52099. 0xb52d41e8f4123153L,0x4fbef3dd7026310bL,0x0c6bd7adf6ff5692L },
  52100. { 0x3831c6b2a9be5d0cL,0xb5c9ae85e8d328b8L,0x76d26abc6516bba4L,
  52101. 0xc237f9a5446d35a8L,0xb2b16c0ff012a8d0L,0xddf2b7fe0ee0315bL } },
  52102. /* 49 << 133 */
  52103. { { 0xf401366a7dd4243fL,0x7db92881f434ba76L,0x5b5bacd737ffc502L,
  52104. 0xa53fe0e802cb994eL,0xf6db539ffb00cb96L,0x0bb288b379878966L },
  52105. { 0x275c108c0c3d4b7fL,0xe57222d267236ba2L,0xc754d31890683aa1L,
  52106. 0x883a41ef2345460fL,0x8e6b7ce8b572fd14L,0x7649c29237d21925L } },
  52107. /* 50 << 133 */
  52108. { { 0x46302515c4af281fL,0xe2a9633c3513ea87L,0x1175276fb3e96864L,
  52109. 0xda377e32f4ed1228L,0xacf223a1fa6be904L,0xf442c41abc01057bL },
  52110. { 0x83d766c38a69db33L,0x933dd0974cef397cL,0x094b21b575fe43cdL,
  52111. 0xf16ee57ab3141dd5L,0x4a8d0d6cb981d196L,0x6bd246c3730075deL } },
  52112. /* 51 << 133 */
  52113. { { 0xd9ae9faa91eab3f7L,0x8520bebba2bcdfc1L,0xc681d5a0ee94353aL,
  52114. 0x980871dd316ee7acL,0x7d70b82bcb401c4eL,0x150706c1bc6885efL },
  52115. { 0x11709bbed3d8663aL,0xad69df943ace1806L,0xf889daef1a36f12cL,
  52116. 0x6ba376b2560bb749L,0x5342cd7a0d95f8b9L,0x5d14201273b4554aL } },
  52117. /* 52 << 133 */
  52118. { { 0xbb85b640056ad6c2L,0x7c51ef96ac074372L,0x1c7ce31cf10b43fcL,
  52119. 0x08e4101b26f4d3a4L,0xd18511c43968459fL,0x00e20c3fd6d07839L },
  52120. { 0xd5bcd598e4fcdc11L,0x99e9a4d0c877f6a2L,0x9c5dd9d0bd491646L,
  52121. 0x83918f609bfd7a1aL,0x4bc130cd7e2b95a3L,0x668825fbfbc31c83L } },
  52122. /* 53 << 133 */
  52123. { { 0x7e8947bd5568b75cL,0x43419ecbdab8f822L,0xeb52a83a7b8fa996L,
  52124. 0xbc674ff32d1a32c6L,0xdc086f84ce405eeaL,0xebe3e087f8918ddfL },
  52125. { 0x476099ecdb152bc4L,0x0cb491c52d3718c3L,0xa7c49cd69da8517fL,
  52126. 0xc736fcf51ab8fbadL,0xa00b403ba24fe115L,0x01f6e5bfd976f549L } },
  52127. /* 54 << 133 */
  52128. { { 0xef8e12edf15ad86eL,0x216be9828c20441dL,0x10ccd4f85c45e821L,
  52129. 0x8a12f6037c9745e9L,0x56212b09da6f1b2fL,0x5a81d69338115f05L },
  52130. { 0x5aead3330a4405a8L,0x7024a76c03221eddL,0x9c101d0250e6a610L,
  52131. 0x6bcb22ffc1b6d54aL,0xf96cef62cf787e89L,0x9c9bde7b79341d83L } },
  52132. /* 55 << 133 */
  52133. { { 0xe9c61fa744058dc9L,0x59efcc8f1581d690L,0x1ea73467513aba4bL,
  52134. 0xf0fda8a69d03d72aL,0xcc1f3f22c6f30a01L,0xb632daa3ddf8dea8L },
  52135. { 0x58563188fe8e2f89L,0xf053b9f67b45cf5eL,0x1ab51b07f9bda4b1L,
  52136. 0x37850e9789dc0050L,0x1bf5e41e8f6a1daaL,0x4abb4f82d94c0fd8L } },
  52137. /* 56 << 133 */
  52138. { { 0x817d77b106a9ad54L,0x3a999d7d89a25ecaL,0xd3ac4107da68b768L,
  52139. 0x6904bcddbebc4c4dL,0xb0d2103ca53d39e9L,0xdba86bd230a5e950L },
  52140. { 0xb09256804f52208eL,0x37c3156a28495b2cL,0x2389ab34c15855aeL,
  52141. 0xc14dfd963017194fL,0x420e07191146b838L,0x1a9f909b8fb4b6fcL } },
  52142. /* 57 << 133 */
  52143. { { 0x73af3d1fa24985f4L,0x4fa27db444a1f9a8L,0x6deb02455cfbfa45L,
  52144. 0x4803e0342813c996L,0x24715fe80e4116ddL,0xa2e8258d38d8e902L },
  52145. { 0x3321e112dd7d8ebfL,0xab8d5b2b272ee6a4L,0x2994fac34eb10fd9L,
  52146. 0xe007d0a4a9c611ccL,0x29db5aa974d194e3L,0x9e76e3ddcf7409b9L } },
  52147. /* 58 << 133 */
  52148. { { 0xf12a3eeab577f6b9L,0xe666e002b6db2206L,0x95aa0d03375229b4L,
  52149. 0xebd05140ef0772beL,0x9d5b5e9e48580b17L,0x960906b3a77ceceeL },
  52150. { 0xca869663e50422f8L,0x150e844199d481b2L,0xadd97d7c3418b00dL,
  52151. 0x9908a23e68244f02L,0x5357ea61d3eac131L,0x0af5423d9778902dL } },
  52152. /* 59 << 133 */
  52153. { { 0x11aa3582d8e62251L,0x108ec170aa1560a5L,0x8423663e2b5b6ea9L,
  52154. 0x3f4ad292d8718329L,0xf8e3e7bd04f8daadL,0xed310c3a11b81211L },
  52155. { 0x718db302edac9282L,0x7866f1c1e434544bL,0x1052133c568b195aL,
  52156. 0x8ca61965c0e37cbbL,0xdd28fbd32cfac1c2L,0xf4062b33dce29660L } },
  52157. /* 60 << 133 */
  52158. { { 0x2926ef17dd63404dL,0x0e89c4d41399cc68L,0x6507fedef7ec20b8L,
  52159. 0x1ac084ff88c751d6L,0x31bc08bedefe29e6L,0xd42199714f0692c5L },
  52160. { 0x4d6ee74236069bc0L,0x3868ef6aff80f3d7L,0x6df02d7c5a9c6f4bL,
  52161. 0x2c3096bb101abf69L,0x0c2b01ec8eaacaebL,0x65914c20eb2e687aL } },
  52162. /* 61 << 133 */
  52163. { { 0x78d5ab7b34a8173eL,0xa34b72ac9230c3b2L,0x379453e13538b39dL,
  52164. 0x1764c4420f3789b0L,0x5b4bbe77a3f2ba4eL,0x3bd35b796f86338dL },
  52165. { 0xf2fcdf04f02fa7e3L,0x6b4522f420d23feaL,0x966fb8fa01be16a5L,
  52166. 0xf2a56e96e0d705feL,0x494aa4553872e429L,0x68432d9181921587L } },
  52167. /* 62 << 133 */
  52168. { { 0x0ae47d1e3dba277aL,0x54607ac99832d90cL,0xd4cec32eecbcdeacL,
  52169. 0xe54b3033b9ccdfa9L,0x5b3a8a56fb920449L,0x831ec8f955eefd3aL },
  52170. { 0x59ba32a3a02dca96L,0xb421e4b01decf837L,0x52e70a88a88636d2L,
  52171. 0x3b75ed073086667eL,0x7a4a46b3b877cd6bL,0x3825c80b59c99207L } },
  52172. /* 63 << 133 */
  52173. { { 0x3bc3f0e069bdc53fL,0x7e0bd730d9d7def4L,0x71a577e6844ede6bL,
  52174. 0x06d47f4981705712L,0x83bdb1a6ef108ea6L,0x853a3ce0c8a8ff41L },
  52175. { 0xa6f114b8f408ec44L,0xe0ce4267e2d72d33L,0x405f6ddda2a0b613L,
  52176. 0x22ce3daa8d253ad3L,0x2fd738094aa1de25L,0x28a2001b27363597L } },
  52177. /* 64 << 133 */
  52178. { { 0x13722ab079ed523aL,0x33b29bec249d5624L,0xd3d0f467f76fdaf7L,
  52179. 0x7ce072f912ddfd9aL,0xce918a5747bdefd3L,0x14d38ab4750e5315L },
  52180. { 0x08bbb20e3346f647L,0x428b917f05b26894L,0xc8fb5c21ca865ba6L,
  52181. 0xee6e41e02e6e8e6fL,0xd00ae6214c608b60L,0x659756396ff685cdL } },
  52182. /* 0 << 140 */
  52183. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  52184. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  52185. /* 1 << 140 */
  52186. { { 0xbbccce39a368eff6L,0xd8caabdf8ceb5c43L,0x9eae35a5d2252fdaL,
  52187. 0xa8f4f20954e7dd49L,0xa56d72a6295100fdL,0x20fc1fe856767727L },
  52188. { 0xbf60b2480bbaa5abL,0xa4f3ce5a313911f2L,0xc2a67ad4b93dab9cL,
  52189. 0x18cd0ed022d71f39L,0x04380c425f304db2L,0x26420cbb6729c821L } },
  52190. /* 2 << 140 */
  52191. { { 0xca07923c0eb008c8L,0xab79402d9985912eL,0x41e379e83cb02510L,
  52192. 0xfabac005beb383efL,0x24d12d9a1076dd0dL,0x95afd46fb208f127L },
  52193. { 0x9cc38a60b1031e46L,0x93e21e977009f6bcL,0x6f6360d98ac219efL,
  52194. 0x1edaab3faf284c80L,0x9c3b5281019e366aL,0x6475c579bc9e9726L } },
  52195. /* 3 << 140 */
  52196. { { 0x26bd07d6bdfbcae8L,0x10b5173fdf01a80aL,0xd831c5466798b96cL,
  52197. 0x1d6b41081d3f3859L,0x501d38ec991b9ec7L,0x26319283d78431a9L },
  52198. { 0x8b85baf7118b343cL,0x4696cddd58def7d0L,0xefc7c1107acdcf58L,
  52199. 0xd9af415c848d5842L,0x6b5a06bc0ac7fdacL,0x7d623e0da344319bL } },
  52200. /* 4 << 140 */
  52201. { { 0x8410d8298d85a25aL,0x48ee01354af81a14L,0xae460d0d18c25348L,
  52202. 0x5d0279a07eb035a3L,0x87e7c1289a114414L,0x17c08a8ec0744f79L },
  52203. { 0xb7b2b4f1025cdbe3L,0x9a74f15d82d1af60L,0x124a7395b51ee685L,
  52204. 0xf2937c4bf6122422L,0xb4ec133207f1a7ffL,0xad801112f886032eL } },
  52205. /* 5 << 140 */
  52206. { { 0x4c0d78060c9d3547L,0x993f048dcf2aed47L,0x5217c453e4b57e22L,
  52207. 0xb4669e35f4172b28L,0x509a3cd049f999f8L,0xd19f863287c69d41L },
  52208. { 0xe14d01e84c8fded0L,0x342880fdeafd9e1cL,0x0e17bff270dc2bf0L,
  52209. 0x46560b7bc0186400L,0xe28c7b9c49a4dd34L,0x182119160f325d06L } },
  52210. /* 6 << 140 */
  52211. { { 0xdd4eb3d07bb5346eL,0x9a46ad01382e7db7L,0x1200285ddc1973c7L,
  52212. 0xfd342beaa0046b98L,0xd19173491219a7fcL,0x5383d319b7caffe5L },
  52213. { 0xea5a0c4e2e0fa118L,0x1cc2de3ca5457b28L,0x5b2a16dc6046eeeaL,
  52214. 0x1755e1fecc8e64b1L,0x51e4946e9e7faddaL,0xf805422ffcbf4ec2L } },
  52215. /* 7 << 140 */
  52216. { { 0x46d70888d7e02e18L,0x7c806954d9f11fd9L,0xe4948fca4fbea271L,
  52217. 0x7d6c7765bd80a9dfL,0x1b470ea6f3871c71L,0xd62de2448330a570L },
  52218. { 0xdaecddc1c659c3a7L,0x8621e513077f7afcL,0x56c7cd84caeeef13L,
  52219. 0xc60c910fc685a356L,0xe68bc5c59dd93ddcL,0xd904e89ffeb64895L } },
  52220. /* 8 << 140 */
  52221. { { 0xf877e8c6bd08ffafL,0x24718fefaf23012fL,0x19ff269f2b004cfeL,
  52222. 0x8adc5d7795450f8bL,0x688ce8bce2a7d458L,0x74d7445b97bd7fdcL },
  52223. { 0x1b9f4ad641e6abadL,0x6652ed05f00e4bf5L,0xabee1f7e71d83d86L,
  52224. 0xe693c76d25ffc219L,0x1c9a84afc873f553L,0x84d2718766d77a55L } },
  52225. /* 9 << 140 */
  52226. { { 0x75d874fb8ba7917aL,0x18fa7f53fd043bd4L,0x212a0ad71fc3979eL,
  52227. 0x5703a7d95d6eac0eL,0x222f7188017dead5L,0x1ec687b70f6c1817L },
  52228. { 0x23412fc3238bacb6L,0xb85d70e954ced154L,0xd4e06722bda674d0L,
  52229. 0x3ea5f17836f5a0c2L,0x7e7d79cff5c6d2caL,0x1fff94643dbb3c73L } },
  52230. /* 10 << 140 */
  52231. { { 0xe566dc057e5f7121L,0xccac74e22ed07bc3L,0xaabfdfcdc70401b4L,
  52232. 0xac9fc4496254e0dbL,0x358d885f11c7de05L,0xb8e6a4a9d60772b4L },
  52233. { 0x884272a5cfe917ceL,0xdfbe98689a3d347aL,0x06b90848c9d1baccL,
  52234. 0xc4ccedb6db8c6288L,0x892878b979e5683eL,0x1b521829243273e3L } },
  52235. /* 11 << 140 */
  52236. { { 0x916e19d0f163e4a8L,0x1e6740e71489df17L,0x1eaf9723339f3a47L,
  52237. 0x22f0ed1a124b8dadL,0x39c9166c49c3dd04L,0x628e7fd4ce1e9accL },
  52238. { 0x124ddf2740031676L,0x002569391eddb9beL,0xd39e25e7d360b0daL,
  52239. 0x6e3015a84aa6c4c9L,0xc6a2f643623eda09L,0xbeff2d1250aa99fbL } },
  52240. /* 12 << 140 */
  52241. { { 0x099369c4bf0c6fbeL,0x976f78b2fe7d5727L,0x32feb503d18267a9L,
  52242. 0x162c41501a7dd0feL,0x3141e37726b8e969L,0x50497a643b53a94aL },
  52243. { 0x96159f41607b4cfcL,0x1999b7042f111babL,0x3254987c760f2eaeL,
  52244. 0x5308075b841014faL,0xc634127e4e7adad8L,0x32a70a6059ffbfe6L } },
  52245. /* 13 << 140 */
  52246. { { 0x1feef7ce93ee8089L,0xc6b180bc252dd7bdL,0xa16fb20b1788f051L,
  52247. 0xd86fd392e046ed39L,0xda0a36119378ce1dL,0x121ef3e7a5f7a61dL },
  52248. { 0x94d2206192d13caeL,0x5076046a77c72e08L,0xf18bc2337d2308b9L,
  52249. 0x004db3c517f977b1L,0xd05ae3990471c11dL,0x86a2a55785cd1726L } },
  52250. /* 14 << 140 */
  52251. { { 0x7279c369a1f857e6L,0x029d30ef27fb373aL,0xe82cbc806827358bL,
  52252. 0x2bfe09aaa18f57abL,0x63bf3145e5503492L,0x7ea15beafb28ee43L },
  52253. { 0x8e6d428f5eec91b8L,0x215e03e9611b1799L,0xb995737161d476deL,
  52254. 0x2320c764e76726a5L,0xc5de88178e5e26f5L,0x24aae0699161e0b7L } },
  52255. /* 15 << 140 */
  52256. { { 0xb8d9b28672107804L,0xb5a7c4133303b79bL,0x927eef785fa37dedL,
  52257. 0xa1c5cf1ead67dabaL,0xaa5e3fb27360e7c7L,0x8354e61a0a0c0993L },
  52258. { 0x2ec73af97f5458ccL,0xde4cb48848474325L,0x2dd134c77209bc69L,
  52259. 0xb70c5567451a2abeL,0x2cd1b2008e293018L,0x15f8da7ad33c0d72L } },
  52260. /* 16 << 140 */
  52261. { { 0x5584cbb3893b9a2dL,0x820c660b00850c5dL,0x4126d8267df2d43dL,
  52262. 0xdd5bbbf00109e801L,0x85b92ee338172f1cL,0x609d4f93f31430d9L },
  52263. { 0x1e059a07eadaf9d6L,0x70e6536c0f125fb0L,0xd6220751560f20e7L,
  52264. 0xa59489ae7aaf3a9aL,0x7b70e2f664bae14eL,0x0dd0370176d08249L } },
  52265. /* 17 << 140 */
  52266. { { 0x5dc386d0a8790657L,0xa4fdf676bc4d88bbL,0x1b21f38f48bc6c49L,
  52267. 0xcdcc7faa543a7003L,0xea97e7aa8c9cf72cL,0xa6b883f450d938a8L },
  52268. { 0x51936f3aa3a10f27L,0x0170785fdecc76bfL,0x7539ece1908c578aL,
  52269. 0x5d9c8a8e0f3e8c25L,0x8681b43b9e4717a7L,0x94f42507a9d83e39L } },
  52270. /* 18 << 140 */
  52271. { { 0xaeac64c96f089b59L,0xecfdc92b65f9d762L,0xddde5024f750daffL,
  52272. 0x82c01c1c0f707e73L,0xc70aa9d4ee20adb5L,0x27f6799dbeb0e60fL },
  52273. { 0x918ad262520aa514L,0x2bb1362f8d13eae0L,0x21b60b46a9d1d43bL,
  52274. 0xf449e2d4767ab86eL,0xf42b09948a5a496eL,0x3b26006b853f2a3bL } },
  52275. /* 19 << 140 */
  52276. { { 0xbbe11ca8a55adde7L,0x39e6f5cf3bc0896bL,0x1447314e1d2d8d94L,
  52277. 0x45b481255b012f8aL,0x41ad23fa08ad5283L,0x837243e241d13774L },
  52278. { 0x1fc0bd9dbadcaa46L,0x8df164ed26e84caeL,0x8ff70ec041017176L,
  52279. 0x23ad4bce5c848ba7L,0x89246fde97a19cbbL,0xa5ef987b78397991L } },
  52280. /* 20 << 140 */
  52281. { { 0x364d5dfda6140b89L,0x30e4a48efdc9105dL,0x13f6276018a47151L,
  52282. 0x18ad84cfa17a2853L,0x5f315c93988cb37bL,0x90f9cb701af64ce3L },
  52283. { 0x020c67db029b6ffdL,0x8989ccc62ce3528dL,0x9bb4f9844d00ee63L,
  52284. 0x0b052413a70b4ca9L,0x7dee36dcc96b4a07L,0x226db70ea7888508L } },
  52285. /* 21 << 140 */
  52286. { { 0x111af1b74757964dL,0x1d25d351ddbbf258L,0x4161e7767d2b06d6L,
  52287. 0x6efd26911cac0c5bL,0x633b95db211bfaebL,0x9bedfa5ae2bdf701L },
  52288. { 0xadac2b0b73e099c8L,0x436f0023bfb16bffL,0xb91b100230f55854L,
  52289. 0xaf6a2097f4c6c8b7L,0x3ff65ced3ad7b3d9L,0x6fa2626f330e56dfL } },
  52290. /* 22 << 140 */
  52291. { { 0xcd9b76b6a92f4e61L,0xa464f5225a00d902L,0xb64774e68a583f92L,
  52292. 0xc7dc2030bee842a8L,0x594743ea5d2f27ddL,0x4c0ed28ef3c54609L },
  52293. { 0xd763346d4b1dfb93L,0x8ea291dde1bed2eeL,0xf26d4adbd6d34ae1L,
  52294. 0x74b8d24e54ea3529L,0xe20490e150062077L,0xf67b7a9092d6c19cL } },
  52295. /* 23 << 140 */
  52296. { { 0x3d28bf2dffccfd07L,0x0514f6ffd989603bL,0xb95196295514787aL,
  52297. 0xa1848121c3db4e9cL,0x47fe2e392a3d4595L,0x506f5d8211b73ed4L },
  52298. { 0xa2257ae7a600d8bbL,0xd659dbd10f9f122cL,0xdb0fdc6764df160fL,
  52299. 0xff3793397cb19690L,0xdf4366b898e72ec1L,0x97e72becdf437eb8L } },
  52300. /* 24 << 140 */
  52301. { { 0x67bf4c98e11df408L,0x8e105c66d299b156L,0xfde3922e901b63c7L,
  52302. 0x7fd57218c184ac91L,0x6dd2ea5cebcdc105L,0x1c4956c0aef7653fL },
  52303. { 0xd6fac6429c1c11a1L,0xeda44f663d230d5dL,0xecca2241e6902ccbL,
  52304. 0x85962a1f2700870fL,0xc5ca32c97864a291L,0xe55e974af6c8d3d9L } },
  52305. /* 25 << 140 */
  52306. { { 0x81dcea271c81e5d9L,0x7e1b6cda6717fc49L,0xaa36b3b511eae80dL,
  52307. 0x1306687c3cd7cbb3L,0xed670235c4e89064L,0x9d3b000958a94760L },
  52308. { 0x5a64e158e6a6333cL,0x1a8b4a3649453203L,0xf1cad7241f77cc21L,
  52309. 0x693ebb4b70518ef7L,0xfb47bd810f39c91aL,0xcfe63da2fa4bc64bL } },
  52310. /* 26 << 140 */
  52311. { { 0x0af51a2025f7b355L,0x35fc45d58d8081bfL,0x0cf3036d0ab30d16L,
  52312. 0x2bd47f919109cf76L,0x8be09360ec7f12beL,0x99fc291be8dcdca9L },
  52313. { 0x385b89868135b12fL,0x272ac288f4ec52dcL,0xe7ca370cce09b043L,
  52314. 0x94655816251f4c4eL,0x5c1dea972d40a755L,0xe8977234a4b10406L } },
  52315. /* 27 << 140 */
  52316. { { 0x82c1c684eaa66108L,0xe32262184cfe79fcL,0x3f28b72b849c720eL,
  52317. 0x137fb3558fee1ca8L,0x4d18a9cde4f90c4eL,0xc0344227cc3e46faL },
  52318. { 0x4fd5c08e79cda392L,0x65db20db8adc87b5L,0x86f95d5b916c1b84L,
  52319. 0x7eda387117bb2b7cL,0x18ccf7e7669a533bL,0x5e92421cecad0e06L } },
  52320. /* 28 << 140 */
  52321. { { 0x240fde37b21b2632L,0x6b878ae68ca0f16fL,0x072d9ded0bc32ebeL,
  52322. 0x8c2552bc29840743L,0xb58327b003b34f8aL,0xa51598ea71dabbfdL },
  52323. { 0x337361f7d4f461c6L,0xae88972dda1de4b2L,0x9ec86d7ade7e8c2eL,
  52324. 0x607de383f23f19e0L,0x0cb144c27d234103L,0x00878a228f0c3411L } },
  52325. /* 29 << 140 */
  52326. { { 0x26063e124174b08bL,0xe621d9be70de8e4dL,0xaea0fd0f5ecdf350L,
  52327. 0x0d9f69e49c20e5c9L,0xd3dadeb90bbe2918L,0xd7b9b5db58aa2f71L },
  52328. { 0x7a971dd73364caf8L,0x702616a3c25d4be4L,0xa30f0fa1a9e30071L,
  52329. 0x98ab24385573bc69L,0xcbc63cdf6fec2e22L,0x965f90edcc901b9bL } },
  52330. /* 30 << 140 */
  52331. { { 0x265f7236e22b29caL,0xe36c3c3daa62691aL,0x73410e6ed2e1bad1L,
  52332. 0xa182a579a5743cecL,0x2ca67274c22b0453L,0xc698fe35546e52e6L },
  52333. { 0x60b3a519890e9155L,0x24312c3c2b91dbc3L,0xa6d45050282911d9L,
  52334. 0x3781933efd249e1eL,0x2e0cbb93e26d023aL,0xfb479267bf27687aL } },
  52335. /* 31 << 140 */
  52336. { { 0xd53b592d71e15bb3L,0x1f03c0e98820e0d0L,0xce93947d3cccb726L,
  52337. 0x2790fee01d547590L,0x4401d847c59cdd7aL,0x72d69120a926dd9dL },
  52338. { 0x38b8f21d4229f289L,0x9f412e407fe978afL,0xae07901bcdb59af1L,
  52339. 0x1e6be5ebd1d4715eL,0x3715bd8b18c96befL,0x4b71f6e6e11b3798L } },
  52340. /* 32 << 140 */
  52341. { { 0xaff4782231cb94c9L,0xf1b5a0b7803c1af4L,0xbeb85f8d2ef696a9L,
  52342. 0x8ce5baab4fa94fcaL,0x0a32f96200d41a43L,0x0f69ad5774f6e772L },
  52343. { 0xbe0221af6ccb5157L,0xcb83969a2a4f91ffL,0x78ff85d6a7e49f39L,
  52344. 0x63006589cb5d3c63L,0xe8e4383596eb65f5L,0x79f59da9ff8adbdfL } },
  52345. /* 33 << 140 */
  52346. { { 0x3cc0df125df9b6ecL,0x3c18f44e286d6ef1L,0x55a3939e517d0f7dL,
  52347. 0x42626a32607e97bbL,0x6168e7b2e26ad78aL,0xdcf8e74b9145583aL },
  52348. { 0xa7c541a52db84a71L,0x680532c7119210a6L,0x3252035d0a3315e5L,
  52349. 0x06dc2d5befe7c8b6L,0x940175894e720570L,0xb16e635f2f6a3ec6L } },
  52350. /* 34 << 140 */
  52351. { { 0x0bd0ed3803e13ce1L,0x44a148bb5868069cL,0x2a79ab57aa5095e6L,
  52352. 0x943416faffffcf22L,0x98434e8756a1365cL,0x2493315d196dc354L },
  52353. { 0x1f89d911b79a3a1eL,0x937140a841dfdd23L,0x05ad36e43b220b8bL,
  52354. 0xff5e810333594e3aL,0x3119775f893edb80L,0x1fad811627eee584L } },
  52355. /* 35 << 140 */
  52356. { { 0x55c4377e204f30b9L,0x63550549a1ebd2bdL,0xdd86ee0c5e44f5f1L,
  52357. 0x8b9d1d9b5d84d999L,0x9ea95a58dda7a075L,0xa465b4a50977e81fL },
  52358. { 0xcb491e5558421fadL,0x4617f31c280709d6L,0x5e2751c382e0195dL,
  52359. 0x698155856f8eefd1L,0x6702166cd16dc160L,0xfc14545c84c85b2fL } },
  52360. /* 36 << 140 */
  52361. { { 0x27c961f6e8fc35abL,0x1e0c26923a596fe7L,0xc75c7cb804351be8L,
  52362. 0xfb92bfeb1c425d80L,0xb01d1c909f0bde61L,0x273d1f0c512f7817L },
  52363. { 0x4375000df0d71796L,0xc1655874cf53d529L,0xe157b358abddc21cL,
  52364. 0xb0f91e3e40cedc30L,0x48e26c7272260452L,0x9794a6bf0713f667L } },
  52365. /* 37 << 140 */
  52366. { { 0x78befaede72c6f0dL,0xc80584210bb2a3ceL,0xcee67a5d52748e21L,
  52367. 0x08d4a9e8de8ed124L,0xc0393271b5fb9514L,0x39b1df6b20942000L },
  52368. { 0x831fd8cfc3d961afL,0x1bb097e3e752daceL,0x279b3924cf2c8143L,
  52369. 0xa9f8a939b8f5cad9L,0x2b566813bfb8009cL,0xab37ee1df58f0927L } },
  52370. /* 38 << 140 */
  52371. { { 0xc17f21f5134d8bd8L,0xc75fc638a90a9a1aL,0x032a6f382a22527bL,
  52372. 0x3c77a72bd20fefb2L,0x559d8a52196e2921L,0x760a3a2c9afcb6caL },
  52373. { 0xa3bf5802f162d871L,0xb6b367a5c594d2adL,0x4d440c523daa48dbL,
  52374. 0xb2a8acafd5b2c18aL,0x50d85d6adc349ddaL,0x3c2e67718a707475L } },
  52375. /* 39 << 140 */
  52376. { { 0x8254a39d5e1656cdL,0xff457dcaa595e153L,0xf0ddc1936bf62398L,
  52377. 0x45e1f91a558f9337L,0x8a424d9d91480b33L,0x019f0a412bf61189L },
  52378. { 0x66badaa6d49e7b98L,0xb0674512dad636faL,0xc767eceff4c49695L,
  52379. 0xbe16e6b5ddc80ea0L,0x2bd0bb87febd1ba6L,0x69c9f485fe60eb32L } },
  52380. /* 40 << 140 */
  52381. { { 0x08cf7d82bff4b684L,0x6abbf429ac4a9329L,0x2454c15ab0c8e0ffL,
  52382. 0x4782035a70bdb03dL,0x89ff6a41448199cdL,0x07969c9ffd0bf1e5L },
  52383. { 0x19d1cc6a83406dc9L,0x4054cab9b4980267L,0xf0f5594e1887d258L,
  52384. 0x039249e4e09dd987L,0x2b0cd4f9857ddb1eL,0x54ceb29fd8418075L } },
  52385. /* 41 << 140 */
  52386. { { 0x562693d30843729fL,0xd703202122648488L,0xd7c40e82ec6d0799L,
  52387. 0x8eacb2496eb6fb6bL,0xddf7074885a5ec47L,0xd70524bf891d5de5L },
  52388. { 0x4d17c237c4d01055L,0x4793c6e4b4203cc0L,0xf247d0df1d1bf37aL,
  52389. 0x406994fa93b007feL,0x4062c29902940092L,0xedc0d949f558c1e8L } },
  52390. /* 42 << 140 */
  52391. { { 0x9fb3630606ab1fc5L,0x2726c1acc0de4e26L,0x8b2fb5130ec7b070L,
  52392. 0xf3581a6907bacd4aL,0x97db622c164bf5a5L,0x8103517962327e3eL },
  52393. { 0xad3637b0b1d635c2L,0xb894adf949832ec3L,0x0ab5381725685b12L,
  52394. 0x73ceb46069720ce8L,0xdbd1b68ef5e445dfL,0x57659059c8961eb8L } },
  52395. /* 43 << 140 */
  52396. { { 0xbd1272a5f73a7cfcL,0x30d3c078de0828e1L,0x5dc0244e1a8f36a1L,
  52397. 0x87c80cdf585ec2acL,0x46c88d277944584cL,0x588d14d8b2dbe1a9L },
  52398. { 0xb42327a7afe7d55aL,0x58add8f98775409eL,0xa45db2fd10590c68L,
  52399. 0xb98e10bca972b84dL,0xbf5c0ee0a737aeb6L,0x26424f3def199fa1L } },
  52400. /* 44 << 140 */
  52401. { { 0xb7bb774603c4cd27L,0x5bfe638ad9723678L,0x47d8b4c24a04d064L,
  52402. 0xdba309383faa45d7L,0xb0fb4308b39dd043L,0x5eeaa33f23ebfa1dL },
  52403. { 0xaa5a0ce0ba100837L,0xae025cf6d7667d17L,0x610baf5df480cf99L,
  52404. 0x8ba0039ead025771L,0x0ff4f75174785f24L,0x910736ef8b7c30b7L } },
  52405. /* 45 << 140 */
  52406. { { 0x0496b77ac04b7e7fL,0x6f7ea5bbdf8163a1L,0x87a8e8f18f415876L,
  52407. 0x6e5b6f2e3ee22085L,0x5ae860ca6f529471L,0xc54c8667eb624447L },
  52408. { 0xdd06be3de1c7766aL,0x8a8e48ecd2189d23L,0xa4076d3564245444L,
  52409. 0xc4973a5deb651a4bL,0x3b3e2fd52c4f2747L,0xe9a16a24abde2ecbL } },
  52410. /* 46 << 140 */
  52411. { { 0xb7f146b890973714L,0x2277873f288ed67fL,0xe6da9d9ee5182317L,
  52412. 0xa446f9d3562475b3L,0xc5291f9756755d91L,0xe762c5f3c104c2b6L },
  52413. { 0x542f90b3dde83d53L,0x758aaddddace5f42L,0x1c8b9775e673f002L,
  52414. 0x8899c11f74ec42bdL,0xfd9e300a2dbc0dedL,0x6de1c8e4d281f6adL } },
  52415. /* 47 << 140 */
  52416. { { 0x5ddafb1b2a2f98cbL,0x8dc2bdc429ec504fL,0x27c51b3cc9f43826L,
  52417. 0xcfd609fccacf5becL,0x642ff85c30dd9f71L,0xcab498e5b6b00ffdL },
  52418. { 0x9c7ef286652ca743L,0xda291ae0ab95d7aeL,0xe6f4d2badfbff466L,
  52419. 0x34afffef9835d482L,0x41a2cfc050db295cL,0x51a08859e6ee400eL } },
  52420. /* 48 << 140 */
  52421. { { 0xf6fd26cc487925bdL,0xd9b751eef5ef44e9L,0x694a788be372817eL,
  52422. 0x85f3dc1ae8c90c31L,0x8c90c6bf15aa0ce5L,0xb52a5d83f01bb223L },
  52423. { 0xbdae01dddf9c3315L,0x941fa6b663ddfc56L,0x50ddff4ec2548f24L,
  52424. 0x54a49868d12802a7L,0xcd922fb6404d9240L,0x88d7f41f957f6d1aL } },
  52425. /* 49 << 140 */
  52426. { { 0xbfd0a17e4c4c87cdL,0xc6c76ebb10b614bfL,0x721d8b4fd1c594a9L,
  52427. 0x1ff70b2daff65d09L,0x2698f57ce50ad026L,0xf4ac3f5627a92e38L },
  52428. { 0x1114d3392c143ba0L,0x7fafa6b97f8e9b0bL,0x506f11edd82a2500L,
  52429. 0x4df1087fe0ad9ca2L,0x85509ad9fdfecaa2L,0x733c4f8293bd022dL } },
  52430. /* 50 << 140 */
  52431. { { 0x3b9de3494233d6cdL,0x9a360917a8f55d63L,0xbe79cdfd90662136L,
  52432. 0xbb3d8fd7cbf3f02aL,0x5d0d4eb81d61e485L,0x85b485215484cd65L },
  52433. { 0x77580c810fc5cbb1L,0x4b36441bd8e70ff2L,0x50ccdec1b2107a8bL,
  52434. 0x6b7f97c945a45893L,0xb818859b9572a173L,0x864dc632d94bd9beL } },
  52435. /* 51 << 140 */
  52436. { { 0x13bb6b113fee0074L,0x4c02520ed1059617L,0x5beb793ccf71f07aL,
  52437. 0x15a8d28d46d4c54bL,0x9889a8948b89fab6L,0xd00fdcb492623b75L },
  52438. { 0x1c7963572939a84cL,0x4b85d94d6221a244L,0xcc66b5bad1fd506dL,
  52439. 0x866271042a06ca91L,0x4295fc6a49bb18c1L,0x05a81eea341d93e4L } },
  52440. /* 52 << 140 */
  52441. { { 0x895dbf20df8111ccL,0xec8297be2906fb2aL,0x4ddd6f22b94c3f53L,
  52442. 0xec55cc738ecbd552L,0x549d3145ef343a0bL,0x9b19220c3b4858d8L },
  52443. { 0xd5bbf954bd0c2f11L,0x9cacae0cce8c221fL,0x87e6cbc1f6a3dbc5L,
  52444. 0x7ce5c9b6e37ebcb2L,0x654339ef50eb3c8fL,0xeac7f343f3674f55L } },
  52445. /* 53 << 140 */
  52446. { { 0x723969a3dd8d5580L,0x4f6dd5c4a30edd79L,0x5b29f3f5a4d7ed53L,
  52447. 0xe17a12bd11869af9L,0x63d01e02dc4c4c1cL,0xb43b904466a691e9L },
  52448. { 0xab58d45ad1bbbcbeL,0x1e9b166322e8a57bL,0x88b6d3bb6684cdd9L,
  52449. 0xb944dee1ddaf3976L,0x70a4a121c347c41fL,0x7e93fa26fd1c217fL } },
  52450. /* 54 << 140 */
  52451. { { 0x5df68a1b584da350L,0xf378c367d72cd093L,0x5908ac0033dc31a6L,
  52452. 0x89bb976b7ca65b9cL,0xefdadfe237dcf670L,0xce22b5ba0011f3e7L },
  52453. { 0x94d2c115b7d27bc7L,0x2e6763498761afbfL,0x3c0477829eb8185fL,
  52454. 0x634c8c5531f7635fL,0xf8fb5494d4d0fc53L,0x5a905615530ee2c3L } },
  52455. /* 55 << 140 */
  52456. { { 0xd28e59a0940c9809L,0xc208ae4f01b9f39fL,0xae1cb420b3630002L,
  52457. 0x739950501289d72bL,0xec24392805fcbd8eL,0x5b592df51f843891L },
  52458. { 0x0d7602303f59f374L,0x32b6e643cae9f3ecL,0x94a25696e3dcc436L,
  52459. 0x657ae6aa8a059dadL,0x0df91017edd1505eL,0xfb1ae06f7b518d81L } },
  52460. /* 56 << 140 */
  52461. { { 0xf5bd119ad84c8a53L,0x36c5410f26928a6dL,0xf340f2bc0eb42b83L,
  52462. 0x8d93a66cffeffe84L,0xff59141d64310b9eL,0x2d509d7aaf69e00fL },
  52463. { 0xf0f034ae1390628dL,0xf9089c720c38b563L,0x7462988e4e8df0daL,
  52464. 0xe6041dcaa7985905L,0x86295326d3b7274cL,0x5c8bf249075aa31aL } },
  52465. /* 57 << 140 */
  52466. { { 0xb08d098b9e423b93L,0x8ae94622029d192bL,0x05335f68fd67f1c4L,
  52467. 0xf3cb831f6e8c1e57L,0xf84a7a54a50a776bL,0x99930a48dc49c28bL },
  52468. { 0xdac2ef8f1b833418L,0x87a4ca7829fda2f2L,0xf47f23079c0e9e7bL,
  52469. 0xebc1c2de46aeb3c7L,0x544f76836408bfc4L,0xa01b094b86c6cd44L } },
  52470. /* 58 << 140 */
  52471. { { 0x8e81bd1c06841f10L,0x3fc24a346c045063L,0xbb2be2dc85bc7ebfL,
  52472. 0x32523efbc341fe12L,0x1ac9f6b116508a41L,0xb6b7fa1df6ac4426L },
  52473. { 0x2614c995fb685157L,0xe452b94dace46bbcL,0xccda1adabc453b4aL,
  52474. 0x32d32574fb4fac48L,0x7e43920c9d7d90fdL,0x9d6e959417a08456L } },
  52475. /* 59 << 140 */
  52476. { { 0x2c90f95bdb1f005dL,0x801089a2e16444a3L,0x2f2944ed7a724ad8L,
  52477. 0x0dfdd065de135e95L,0x510ab3eaafed3817L,0xdba075380855fbb5L },
  52478. { 0x905f78bda10dde49L,0x63786348956a4057L,0x3d420ff0441530aeL,
  52479. 0x7a9968bfd1488ff0L,0x97479bfbca4dce2eL,0xf371985356f76255L } },
  52480. /* 60 << 140 */
  52481. { { 0x8102fa85bbda55a7L,0x6cbafe0de96c5eb3L,0x517720eb26aa52c7L,
  52482. 0x0ee110a98c030e47L,0x5a058569d4afe2c1L,0x29965b44262bbc0dL },
  52483. { 0xda017ec04996daf5L,0x1781e7b84dfb810cL,0xdbe148350c8a5cf6L,
  52484. 0xd151055dd92ff62eL,0x5e4f48ba2932a708L,0x77e163d95f28bb43L } },
  52485. /* 61 << 140 */
  52486. { { 0xf6c5998c48bc9bc9L,0xb25ae99e2db132d7L,0x17f29131fb934e7dL,
  52487. 0x31b96a79d7fb5430L,0x3fad00391971cabaL,0x7f809e56cf3d5e33L },
  52488. { 0x1a4f705a9ede6055L,0x3cab6c6149c2d054L,0xb616adc47945b589L,
  52489. 0x842b8652f342ee03L,0xa22fc6a67bc36a4eL,0xffdfee262c89a4fbL } },
  52490. /* 62 << 140 */
  52491. { { 0xac6b2727dab13b10L,0x8b4fa7807351ac35L,0x48243c245692808aL,
  52492. 0x724897f01fbc5d24L,0xb635fe5e2c69bd93L,0xab26453338d5d5b2L },
  52493. { 0x368b2c07bc578c97L,0x94e02c9226fecf25L,0x768de4d41f473908L,
  52494. 0x58feaadee445d405L,0x1f1380d6e42a2218L,0x2904b4542154dd5eL } },
  52495. /* 63 << 140 */
  52496. { { 0x4e28b938ca2ec0f3L,0xd4af48d795b1c113L,0x33ffb9c222f2275aL,
  52497. 0x2a734af97b57b2e0L,0x1555ba38d08a45d3L,0xd0cae6c57a05837cL },
  52498. { 0xed04c869c4e78884L,0xa7ba74726f3d56d3L,0xdb7b831ef6d68485L,
  52499. 0x225798677e7d0a4dL,0xd2d702a94c3eef8cL,0xdaba503869a83e29L } },
  52500. /* 64 << 140 */
  52501. { { 0x082ea61d10eeed24L,0x7c9d5ade143fd59dL,0x7d33df962e54f5cfL,
  52502. 0x340b0d36e39dc6abL,0xd97a8b848d179b13L,0x88184bb0288d388cL },
  52503. { 0x2237e507e116ae6dL,0x3e97b063211b2cf0L,0x645f8bcb42be7459L,
  52504. 0xce2b0f54de2176b6L,0xaf570a09d1e2f09cL,0x110adf5657fdc001L } },
  52505. /* 0 << 147 */
  52506. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  52507. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  52508. /* 1 << 147 */
  52509. { { 0x158bfe27bcb6db29L,0x967212410054d963L,0xf07b153b8e71aca1L,
  52510. 0x5e67698171b11643L,0x77b7dd7dd04e2f90L,0x07814aa6f0dcf109L },
  52511. { 0xd3bab2a4fe1d0b1eL,0x50abba31be69e691L,0x54fe99afc6f53cd9L,
  52512. 0x071f2a4f628039e4L,0xf1f44181b183aa16L,0xdf0138e05010f6f9L } },
  52513. /* 2 << 147 */
  52514. { { 0xb1e365019c77ca60L,0xfe084a2301018e14L,0xbf451d2ca4bfdcecL,
  52515. 0xd210892fb29cdcfeL,0x5b12bcd894514871L,0xd03ca18c1809b1e3L },
  52516. { 0x09b243115858e4eaL,0x37b30d50e57524b4L,0xcef0a16b5de334b5L,
  52517. 0xfe0bd1e20b116076L,0x54e4b48289ae2bf4L,0xfbcc5e1a68c8a937L } },
  52518. /* 3 << 147 */
  52519. { { 0xa5023e1364be0f56L,0x6a7310e00046f45cL,0xe0af09aeec8700d3L,
  52520. 0xdea5fb7ceb2d38f0L,0xc038eae6859852e6L,0xd515fb4c8c34f04cL },
  52521. { 0x546b778e1488c207L,0x8cf4f1146258d8baL,0x474e60d85182c96cL,
  52522. 0xcd0387303dbde757L,0x387232f876ab01ffL,0x277614f628231392L } },
  52523. /* 4 << 147 */
  52524. { { 0x309b1eb33ef5a413L,0xa7607981a81f43fbL,0x87c2b81ebf8a894cL,
  52525. 0x27a40bce0d293293L,0x7f4c315be4bf3714L,0x03fdc14e01236895L },
  52526. { 0x319c88f8dff053feL,0x146bb448ea3fa121L,0xfcc2a05df0dd1380L,
  52527. 0xc8d55b024acba9faL,0x871358de5927313eL,0xfd1d81d317ce294aL } },
  52528. /* 5 << 147 */
  52529. { { 0xa135970c7361138aL,0xd67eddb5b7d50260L,0x313c6e9bc4d5311bL,
  52530. 0x4f503bf28423e5b4L,0x17dc4b6f44f3fe83L,0x15b7bdb9ccf1bbcdL },
  52531. { 0x0ce4d64ea11b9896L,0x050b0edebbb6b0eaL,0x85531293bf5db990L,
  52532. 0x9db3b964520d095eL,0xb45ec235bd2d4e88L,0xf88a9e6215ee5ba1L } },
  52533. /* 6 << 147 */
  52534. { { 0x10777189c1a21254L,0x7d8d3966ca593a6cL,0x261ab515120380e6L,
  52535. 0x453c858fe13577d1L,0xb1f6bb58f3862db1L,0xf8ff48b8b9529e1cL },
  52536. { 0x03f63a417b60b400L,0xdc248d96bba66b3bL,0x8423048b756e5af2L,
  52537. 0x4d978ed31c984befL,0xa06242995ba00f3eL,0x0bed7b454f4d19e7L } },
  52538. /* 7 << 147 */
  52539. { { 0x9ef52e3d6524f389L,0xc5b157c5f6ac19eeL,0xdca7a72ab5d42f7aL,
  52540. 0x2d2e8d72fa0051dbL,0x3a6ff9243f4a4f60L,0x0ae997af340e7977L },
  52541. { 0x33dd395e269db4e9L,0xf95c3683616b9dc3L,0xb86a066122d516a7L,
  52542. 0xd50c582cad913df8L,0xac8b8efef550afbfL,0xf34fcab01d88728cL } },
  52543. /* 8 << 147 */
  52544. { { 0xd3797831ff63ae69L,0xa753de02ce4c7eafL,0x2ff7a6a611a4e339L,
  52545. 0x904f86f05328043aL,0xe29d31c012e9f7ddL,0x8825a639c0a51904L },
  52546. { 0x070c2696ebfc2cc7L,0xc03ce643c5f7a943L,0x5b970d0c12c8a1f5L,
  52547. 0x572aaaa1ab352a83L,0x63df45a90c5eb0c7L,0x95c951e1d4977599L } },
  52548. /* 9 << 147 */
  52549. { { 0xf5aefd5572ba3741L,0x7ab81965f5fe816dL,0x597d15d546752cefL,
  52550. 0xaa79a0822a3c142bL,0x038ddfdd3af5dfe9L,0x9f4dc166755c9e07L },
  52551. { 0xf34224dfb9165297L,0x96e7ff6e4e3fd907L,0x5d7f3c821727beb6L,
  52552. 0x7098493dd6af73ceL,0x6b9358fbe00dfa4dL,0xefb2634a96e74870L } },
  52553. /* 10 << 147 */
  52554. { { 0xe35daffe2e4c6299L,0x1f9e33935915cd16L,0x93f05a40f009a48aL,
  52555. 0xa4a801fd308a81c6L,0x75e5dc467e885426L,0xf0bc7d5d4629ff05L },
  52556. { 0x356b879bdbd812c2L,0xdb5eb60001629849L,0x11c9856eec2dd55aL,
  52557. 0x20f0443880f0c804L,0xc0b5e3e21801b217L,0x7ceba67d6ea097b8L } },
  52558. /* 11 << 147 */
  52559. { { 0x7a1bc5d85d08d3f0L,0x9ecce2a8385ef3a8L,0xae93d42b3c1b2927L,
  52560. 0x81a3a60719ce9447L,0x8d6b2d3d0eda597cL,0x5baabad60eea6dc5L },
  52561. { 0x2cb372642741608aL,0x3b1148d6f0202a01L,0x6e85272f52931f5dL,
  52562. 0x49bf47596a2e601aL,0x5ec0418443279ddcL,0x7d052cac6ec080ddL } },
  52563. /* 12 << 147 */
  52564. { { 0x01c2df8d3bb02d0eL,0x874e43afe26f388dL,0xe198341c8360fa6aL,
  52565. 0xe67f8092c52bb2d6L,0xf944dc63a02efba5L,0x9a9c02d92c12332aL },
  52566. { 0x39684f6ca8cb6bd5L,0xbcc1828e26bc9535L,0xb7fb8eb646594725L,
  52567. 0xbb4f5f05793c32ddL,0x3ef3c33845f94b55L,0x228e0e7d09eac277L } },
  52568. /* 13 << 147 */
  52569. { { 0x80d9bd388aeae732L,0x2be676dccbeb6443L,0xef4d056bded9ad31L,
  52570. 0xc4fea44f349e5d0eL,0xb66c35d28d95db86L,0x210c3d4aae9f5d3aL },
  52571. { 0x5c0c5b9c1582982bL,0x50a529be93aed9a4L,0x88f769a384c77818L,
  52572. 0xc0970b4269776a3eL,0xbf3e5ee022a1cad4L,0x705c0b29b80187eeL } },
  52573. /* 14 << 147 */
  52574. { { 0xefd26dca727cacdeL,0x6290fedb5fcdb147L,0x9f108a89e1830a96L,
  52575. 0x7e8e36813e039a02L,0x1747b3e9256fbb3bL,0x5aa0ebffabb3b2f1L },
  52576. { 0xcac5818c9fbb9b49L,0x037d66114a94b74eL,0x4081fd4d7a548536L,
  52577. 0xfe2d8e79aa364507L,0xe86ce00ea81a5f81L,0x77b95e9477a9bdb4L } },
  52578. /* 15 << 147 */
  52579. { { 0x3eadfde5bf06a49eL,0xca88828b33787c62L,0xde6f765022070f63L,
  52580. 0xcb4e54dc438f649aL,0x24957c77169727d0L,0xa2e7781cdd2a92a3L },
  52581. { 0x17a1d7ddc38885f4L,0xb75716717605c408L,0xfdbbcffc8a2323f5L,
  52582. 0x11666bd2c955456cL,0xf8b94fa2517f27f5L,0xe101927fee002499L } },
  52583. /* 16 << 147 */
  52584. { { 0x2c5b0e42bca07a42L,0xbe57f3597a0dffa1L,0xace485959aa90727L,
  52585. 0x32be886af658699bL,0xce75d6c6da3b18e6L,0x9d563e4f69caf667L },
  52586. { 0xc17c66cf065eb772L,0xfbe123814df9f6efL,0xceb80041623db4efL,
  52587. 0xe75615b2c74762e1L,0xade8a5438671c52fL,0xb713c401cacaf2ecL } },
  52588. /* 17 << 147 */
  52589. { { 0xc740669ab01b20dcL,0xd873f3f1abecc3f3L,0x0d8290402db73d1cL,
  52590. 0x147aaafb99198d33L,0xca66e755d4e7d7e4L,0x8747298cb2cb752bL },
  52591. { 0xd9d58d29c43762aaL,0xa3801a4a15e45d57L,0xa747fa3f454eaf2aL,
  52592. 0x26c79cdd0c067c77L,0xf15404cea24fe6b4L,0xe2add5ec77fec1c9L } },
  52593. /* 18 << 147 */
  52594. { { 0xc45064dbd71a7744L,0x1900bb8f04a6f3cbL,0xd592585a76c2dd6cL,
  52595. 0xabbbd6d862b95d26L,0xb0db482b1d2e180aL,0xf459430184c9dea5L },
  52596. { 0xd30b162a6e5ec460L,0x90838e57e4b35476L,0xab4b7c80f9356687L,
  52597. 0x72c2c009719f347aL,0xd5d01fcf920d187dL,0x47426f1e0afe06abL } },
  52598. /* 19 << 147 */
  52599. { { 0xe6473aeaafb2f584L,0xd5395475c44ab7a2L,0xcba2c240bc27e864L,
  52600. 0x201735cc742c1c9bL,0x8cb4886951263febL,0xb52706ba4fd2cd5bL },
  52601. { 0x028445755a2dec94L,0x978e79d6a4be7b6dL,0x5a68d8103c4742f8L,
  52602. 0x9c917f48b301ad64L,0xa6a7d5bd684a6ea6L,0x251d61327c978749L } },
  52603. /* 20 << 147 */
  52604. { { 0xdc7e39ee0ae2a7caL,0xcdd3c235e6b7dee9L,0xf9624c299368c8a3L,
  52605. 0x2086bc904b21951fL,0xf7990a1f57e0e6a3L,0xf170dd75e686da8cL },
  52606. { 0x4a82719a06da9714L,0x3a78e35e24274685L,0x1c3965e1c67712f8L,
  52607. 0xc6c26eb62f164e3aL,0x1129a467381fb91fL,0x896022108443ffddL } },
  52608. /* 21 << 147 */
  52609. { { 0x25e561bd808c4ff9L,0x08c9f2758c0cf1c7L,0x9af6165b59599115L,
  52610. 0x59f06a4bb4b415f7L,0x3a9d8ca5236e2650L,0xc8fa3bc61b48ebdfL },
  52611. { 0x5e1896193404846eL,0x6d1d803b378a5a46L,0x672fe2bab812d5dfL,
  52612. 0x3ec27a7f04c6ddc1L,0x9c5ff08c0cee3357L,0x9f465babae8d37d3L } },
  52613. /* 22 << 147 */
  52614. { { 0x0057f60756a0b6bbL,0x46a6e9949c1e24daL,0x1c283f859baaf618L,
  52615. 0xd75e731be878a354L,0xf9db13388bf2ca71L,0x0f14adeea9022f59L },
  52616. { 0x309f04aa6c14666fL,0xe6cec2aa552d2da7L,0x9f27eaba218d8659L,
  52617. 0x9b3165d3c268561eL,0xc7e3afcb90ae19efL,0xb840170bcb329e68L } },
  52618. /* 23 << 147 */
  52619. { { 0xf6b9a32fab95aa95L,0x1a1e06c387e1c3c5L,0xcfb7ecc5317f1c2bL,
  52620. 0x12953ce7999d2bcdL,0xcaf5f0229e3c5a01L,0x0c9db571305ac94cL },
  52621. { 0xa423d26cafbc860aL,0x82fbbd3dfe98409dL,0x455aa9926652ac17L,
  52622. 0x6916e7d6f9428029L,0xdcfbd65099822714L,0x5de152a13f3c72d2L } },
  52623. /* 24 << 147 */
  52624. { { 0xe6d039ef467eb167L,0xa7e0959d74696cf9L,0xf3a19b9d7078d8a0L,
  52625. 0x5d4ec99c07cdc6f6L,0x4842d0f98386eed8L,0x48f5ab80545fc0d5L },
  52626. { 0x8906fc626d39c2f7L,0x1c050d691bf5366aL,0xac506c579f54d0d6L,
  52627. 0x9a356a6ef9e4b94cL,0x62632c5108a75e61L,0xfc1b9fa5c6951dc2L } },
  52628. /* 25 << 147 */
  52629. { { 0x84ba4069d034ec62L,0xd55b42f6f169349eL,0x78dce88d17de2b22L,
  52630. 0xdadae679204ec730L,0xfad5ec6b5357f5e5L,0x330bba18ccc0d0afL },
  52631. { 0x8419755c4a566c71L,0x29c56c5fbfe57083L,0xe42a7c52598cad77L,
  52632. 0x9d81623f5fcf1dc0L,0x978eb12864615869L,0xc837262a9c2a6f35L } },
  52633. /* 26 << 147 */
  52634. { { 0x917747f99ee0628bL,0x5d711303566cf048L,0x206d53f15b77f58dL,
  52635. 0xe104bc12667a86ddL,0x158f8d253505380fL,0xf5b32ad4616e821eL },
  52636. { 0xdb67191a3cdfe797L,0x61b58589147e1756L,0xb7927e12625d0efcL,
  52637. 0x48d999d008bca937L,0x335c6f5b7b02689bL,0x4f0994a9d8149b7eL } },
  52638. /* 27 << 147 */
  52639. { { 0xe7ba0870df6ae3beL,0x661373f0166cd7d9L,0x369d361d8627f3fcL,
  52640. 0xca06d544cf6ceb36L,0xc819e0ea34b5d425L,0x80c1ab716ffd2827L },
  52641. { 0x3fb8c0b520b4161cL,0x3647e67b3734b87eL,0x9c3a14b203e6c9cbL,
  52642. 0x320ed1c1c3620486L,0x6d77d46b5286a22fL,0xbd6036c1bc74a266L } },
  52643. /* 28 << 147 */
  52644. { { 0x125951a52e6d5433L,0x7d672aee6a6013d4L,0x6ed23f2560831997L,
  52645. 0xb0e219ae438c75c3L,0x6851dd4bace91d00L,0x84704f7d30f19991L },
  52646. { 0xd744cb32d0107170L,0x15f51a63b0cb6796L,0xe14712cf5a5807d8L,
  52647. 0xff89f0c5dbfd612cL,0x0c314718bd021483L,0xf9ccd3b11b4b76d5L } },
  52648. /* 29 << 147 */
  52649. { { 0x36121d0909b6398fL,0xd9ad591369069016L,0xd3a08c8469cdcfebL,
  52650. 0xd92ae9b2b03e1e4cL,0x1620c549e9b6284bL,0x5860431227ab9432L },
  52651. { 0x4e1d3134aa314da8L,0x89207aad70910cbcL,0xacee236badff9190L,
  52652. 0xe6390f7cf6eb6df2L,0x0dfc5a5cffa91d75L,0x3474104aa0e7f48dL } },
  52653. /* 30 << 147 */
  52654. { { 0x00b75b851871749cL,0x063b748ea00faa20L,0xa516e09f90257503L,
  52655. 0x9ffc43981c800098L,0x49f011f871b00fa1L,0x6fc80517443268bfL },
  52656. { 0x2802e2bf24a24acaL,0x96fdc71edde88ab9L,0xe3eff1f997e661a4L,
  52657. 0xae5c34e13cb321f8L,0xf863263e301c8ba0L,0x3c3eeb7b093e186cL } },
  52658. /* 31 << 147 */
  52659. { { 0xc0f51229e7aa3325L,0x3abde561fa93ec80L,0xd7e5317f4e6df2b2L,
  52660. 0x4eefcc76bc832652L,0x9dce52905d054a1dL,0xee2939da2a6f52e2L },
  52661. { 0x8faa1d3e092b5422L,0x77f55f7f9ca6338cL,0x6dadad8f6546d37aL,
  52662. 0x0ef4922ef3bf7cb1L,0xfcf41c23200ccc57L,0x591e208362aa0372L } },
  52663. /* 32 << 147 */
  52664. { { 0xa933aaf7a4886619L,0x9ec1915f4af13c7fL,0x25a9dff8854de496L,
  52665. 0xa8b31d9b247bec15L,0x468a25c84661e58dL,0x8989c046786a0707L },
  52666. { 0x282db8cabb66922eL,0x73bf240d45ca29ffL,0xa2c40faaeaeda06eL,
  52667. 0x69632929add94b47L,0xc72354f6b0069076L,0x8d197fbf7878e92cL } },
  52668. /* 33 << 147 */
  52669. { { 0x7bd8195662267b63L,0x9352be73894a4ed8L,0x62568211d0bfdfdbL,
  52670. 0x7974999285698b05L,0x897ccd584412ea21L,0xe4cc4ddcb2f25225L },
  52671. { 0x808539bdb4a1d924L,0x619fee34bdebf750L,0x47ed5b3473aea42aL,
  52672. 0x91e07a9b94ba376aL,0x218f6885edb27e08L,0x4feb09e6c4214344L } },
  52673. /* 34 << 147 */
  52674. { { 0x24bf9fbbf3e4bc93L,0x8973b72471151bfcL,0x8e33b753a85eb707L,
  52675. 0x13eba76e50adc461L,0xe445e8e144dd9d2fL,0x8729ec22b1592a0fL },
  52676. { 0x9a13bf315ec24808L,0xe6ae840c2e95cabbL,0x634f3416e28cdf4aL,
  52677. 0x34d3349b9278cd7bL,0xd74990c542b912b5L,0xaf94b104b2430c71L } },
  52678. /* 35 << 147 */
  52679. { { 0x6d26cd01580b15a5L,0x5af25c06dcd849aaL,0x05b00800ffef39f8L,
  52680. 0x8cc59e06f9e0208bL,0x920f69540bc19bf9L,0xc06c4df97faa5ddeL },
  52681. { 0x9a26a3f4770351d4L,0xda015bd3443f40d9L,0x1afd829c740f1942L,
  52682. 0xb108a8a6566e6158L,0x118e50a9a35e5d37L,0x94cac90eab72a3b3L } },
  52683. /* 36 << 147 */
  52684. { { 0x01f7968e60cb465cL,0x4efeffb796e0af3aL,0x6f9016e7066ad6aaL,
  52685. 0xa8ae30e88743aa97L,0x7b77d3e0b7d55766L,0xe1773661c6b3fadeL },
  52686. { 0xa52fa7bc88f5270bL,0x4de08cb39f7f811cL,0x6021536f9bc34254L,
  52687. 0x47bd18cf4068e3d2L,0xc91bc312ce16889dL,0x468659ea929b71f5L } },
  52688. /* 37 << 147 */
  52689. { { 0xa5a2a3b3225b532aL,0x5ed77864167f7874L,0x2b5d475037ae42d7L,
  52690. 0x9bd62f14433b243fL,0xe8dca1b2eea90992L,0x1ce44e53ef5e0624L },
  52691. { 0xd92c7bf61d3d7173L,0x83c1e65424c19a94L,0x59dce036eafe8941L,
  52692. 0x23478c50d81014b0L,0xb89214bbe65a18e9L,0xf9fd325ea05d9fb6L } },
  52693. /* 38 << 147 */
  52694. { { 0x2c4bbee73965ed81L,0x58b6a8766c1a47beL,0x7c8d94f71a67dfabL,
  52695. 0x865c9e42ac6ae9e4L,0xa63a0e42a3114c18L,0x7432c6c92bcf8169L },
  52696. { 0x1927723c7532bd7aL,0x20b75c7201e5781eL,0x1963e16919d57f9cL,
  52697. 0x05427a3cb10e3798L,0x31bbc661cebc82a9L,0xdd88383ac3862997L } },
  52698. /* 39 << 147 */
  52699. { { 0xa0ef513d4adce457L,0x942aea7df9f906d8L,0xe52a2bb5fe22c5a3L,
  52700. 0xfd9fff1f8dec9ca1L,0x19b0e7a27913f99aL,0x58c45dd205660e97L },
  52701. { 0x6722c47ff06d3c2dL,0xe4927a002a4d127fL,0xdc647c1ef40f46a1L,
  52702. 0x538c8cda7ab7a21bL,0x90227d6cc8015ae8L,0xe62f52dc2d4ec8a5L } },
  52703. /* 40 << 147 */
  52704. { { 0x69a9ebd8a83bbb88L,0xcbab0b5a29f98875L,0x325e487e4e7611f0L,
  52705. 0x90aa24b1d955cc3bL,0x840e70a13c264d53L,0x15bcf88bad7f4f81L },
  52706. { 0xe47552cc2cf0df0aL,0xcb99973379205ea9L,0x25dc58bd10d5ca45L,
  52707. 0x0947d7151228b978L,0x9a0204da4f2c7c4aL,0x4377ea4a4690052cL } },
  52708. /* 41 << 147 */
  52709. { { 0x35da16d16bc7d7afL,0x098c4b0271de4ac2L,0xdaa2407c3655dd94L,
  52710. 0x5136884c90380d70L,0x3f47052e762f61abL,0xf715107a8dcd6ddfL },
  52711. { 0x862a4a6e5d76615aL,0x2b546e1b2128a6f9L,0x5297a3cf40490672L,
  52712. 0xef2cbdf1b9c765a6L,0x52e71cb4426562baL,0x34d0e3237a84f9b1L } },
  52713. /* 42 << 147 */
  52714. { { 0x6cd4098d74e7c67bL,0x3bf4193123d2b418L,0x598710ad682135ccL,
  52715. 0x26ccbfe0172d648cL,0x0c4918c5d84dc9afL,0x346e8b6385065417L },
  52716. { 0xcbc7f2efd353219fL,0x93637eea3c4e4863L,0xb18fc69c2dbbd39bL,
  52717. 0x20614dd45a4b5b0cL,0xcdac0383547adce3L,0xedcdd64842ac8be3L } },
  52718. /* 43 << 147 */
  52719. { { 0x76ac6c94b4559439L,0x09090af620319667L,0xef433d73a742e3beL,
  52720. 0xb7ec99eb7cbd7090L,0xcde2579dcb782be1L,0x2a2fb807e75552fcL },
  52721. { 0x083f9e982f1eee15L,0xe20f65c167779c98L,0x73c044ff5f23e998L,
  52722. 0x5fce594269488208L,0x3e4ca86ccace7ba3L,0x5e3f43b8f32c1acaL } },
  52723. /* 44 << 147 */
  52724. { { 0x3ab171a237b42b60L,0x6501afcc4f20e50dL,0x4f9e22413e3a4298L,
  52725. 0x3c5834d9be3b3d3cL,0x9607b8cb9be25af0L,0xcc5f6b6f81c723a5L },
  52726. { 0x11b9b5d199227bacL,0x2bc5dd9f322cc499L,0x0c3884a0cdbc3a55L,
  52727. 0x018a8ebefd4f004aL,0xa858ee7ce08741d9L,0xb5bbfa2b5d69b3ffL } },
  52728. /* 45 << 147 */
  52729. { { 0x57069b4a1b0611b3L,0x24b5421c89da55d7L,0x6433c29dcf9b2fb2L,
  52730. 0xda9382c67869a1cdL,0x67fbb7a343514903L,0xb3429e35e8b224f8L },
  52731. { 0x4058ef1e7ac51191L,0x56283b0cfd4e6114L,0x4eff0caca16fadd1L,
  52732. 0xe6088db7b6ee634eL,0x94e68bd0ca7bd1b7L,0x0e98796b965ff86eL } },
  52733. /* 46 << 147 */
  52734. { { 0xf3176014bbd74a95L,0x5dfe36b51bc6c763L,0x4c463aa27d3d0366L,
  52735. 0xcbd7106cff3b113bL,0x2d660f5a0b6edee3L,0x92d79c864db04c30L },
  52736. { 0xfd1067cfd2236e55L,0x1ae21f2d90925a83L,0x8419072ca952c451L,
  52737. 0x2f268b473d946980L,0x04831991b709ab5aL,0x0d622a70bf72efd6L } },
  52738. /* 47 << 147 */
  52739. { { 0xec468aecf0440b85L,0xaae6041369cea78eL,0x5a88145d12a30f40L,
  52740. 0x438c6e3f37a52bfcL,0x41bf603894749b6eL,0x3d38b86267edc2d1L },
  52741. { 0xe379125a020a32abL,0x68a6b13a198c3944L,0xed1fb3258be252d2L,
  52742. 0x76dc8df6e15c37cfL,0x5a6592cb6453b542L,0x372b1998b3347c65L } },
  52743. /* 48 << 147 */
  52744. { { 0x015c325eb8e79179L,0xf4fc61335b57dce6L,0x27a51e5d78d6858fL,
  52745. 0x13babcab4dd5f180L,0xfaa19cb1847e499eL,0xe2688ae608aaea61L },
  52746. { 0xe20d7edce86100d5L,0xa9b0d46bed2fedacL,0x5e99cc0c1d357dedL,
  52747. 0x4c1263ab723cac89L,0xad5f3e6ff15e22f4L,0xf25f3950d77dae65L } },
  52748. /* 49 << 147 */
  52749. { { 0xf3814fdba1c6fb06L,0xbfde395d8d71559aL,0x6e4b2b1c07e00f72L,
  52750. 0xac0d1aef1e12b111L,0xa4041ea0387dc52cL,0x8004ef4893c80d7dL },
  52751. { 0xb311b5c29a770d6eL,0xd4a340bbaf41a540L,0xe96d1dbd9a5391ccL,
  52752. 0xcd4b19fb45ebf6ffL,0x142556a5dcb6dbe8L,0xf68968ff092f898aL } },
  52753. /* 50 << 147 */
  52754. { { 0x540a2e35c854356eL,0x6d0eab45f5002153L,0xb8f542bd9a6c488cL,
  52755. 0xd572d282c6201f12L,0x260bc62781a3eedaL,0x508621af06eaa5beL },
  52756. { 0x754eeb205eadc8d5L,0xfe33248f42d4b0dbL,0xf44a1c7ac5529222L,
  52757. 0x9079ccb574396eeeL,0x6c4bc87db9cbdc41L,0x1ee8982431ee3f18L } },
  52758. /* 51 << 147 */
  52759. { { 0xb64fc90ed811f25aL,0x310214a2c82c8f68L,0xee559209b5052420L,
  52760. 0x6055c5b45c1bf95eL,0x414f7c8dedce3bc7L,0xd3438b8a66d3cfb4L },
  52761. { 0x687b9f70d3935eeeL,0x553b15ddd3e179f1L,0xccc9961e21ff232bL,
  52762. 0x3729ac207d322041L,0xf1537630094907c9L,0x3e87f4f903153dccL } },
  52763. /* 52 << 147 */
  52764. { { 0x2c21e48c7dae4b17L,0xe842930a07ca1575L,0x3a3d6d361cc47ab4L,
  52765. 0x749dba405fcd07bcL,0x55a538a6f306a498L,0xe85c60be633d42bcL },
  52766. { 0x777595f2dafa94a7L,0x1c690529a0400ef6L,0x41485f886bfa23bbL,
  52767. 0xdead14a1256d9204L,0x74f1a820bbda2f9fL,0xc86554f65fe54284L } },
  52768. /* 53 << 147 */
  52769. { { 0x03ee764b978ad2dbL,0xec253b0f01c9282dL,0x028e7873fb26c425L,
  52770. 0x3e1da0436504ba10L,0x68369881531961f1L,0x0365ea56ee435146L },
  52771. { 0xf5505ae80c00a6b4L,0xc1ac097403f34fe3L,0x7327b391b5922f68L,
  52772. 0xe561cedd1845ef9bL,0xaa82258c6a44b29dL,0x23e39cedc4d56159L } },
  52773. /* 54 << 147 */
  52774. { { 0xf5a07dedd14a3ce3L,0xeda454ec9c47615fL,0x01d6b1562775730fL,
  52775. 0x3ec02f95fe4d93f4L,0x335806e4dcbd0ceaL,0x3f498d1b51a19d96L },
  52776. { 0x9949c853374b7210L,0xb255d34b25980320L,0x3b681db4307b513eL,
  52777. 0x4137053add10a78aL,0xd9c0f2728dcaae0cL,0xcbeb6b7216031955L } },
  52778. /* 55 << 147 */
  52779. { { 0xd1b13e72c709af4cL,0xb4b99796c12f27fcL,0x9e56569a05e2c06eL,
  52780. 0xd8c880631212ba12L,0x8da1a6704e7f8fe4L,0x3bbb314f875bb39eL },
  52781. { 0xc56ef7088fbc8a3fL,0x39b3cef2300d21bbL,0x5e755398458e347eL,
  52782. 0x9f7b84b16c1b2162L,0x278ffd26b08d0c52L,0x7c8a442a9ec7febfL } },
  52783. /* 56 << 147 */
  52784. { { 0x3c0e2b9737e8e6b2L,0xa2037913575da8b7L,0xeedf0a75b925cbb2L,
  52785. 0x4f28ec1bc561b405L,0x368fb2742901931cL,0x52b54eee2f26221fL },
  52786. { 0x381845b6247812a9L,0xf9bcc9619115a0dfL,0xef127dfecb84d25bL,
  52787. 0x4256afe5fa10e0a7L,0x0c08a532353a15ebL,0xbbd15b176a91e61eL } },
  52788. /* 57 << 147 */
  52789. { { 0x3c573b2655574ae4L,0xd3f12e8f2c0be823L,0x5954b69fde9ce60eL,
  52790. 0xc433991bcedfd1eaL,0x35696716718e950bL,0xce4318664e9cc107L },
  52791. { 0xee16b6347359991cL,0x8f05851b1818a113L,0x257a228c3b494b59L,
  52792. 0x4239f98e156f91f6L,0x2382157c72efdcc4L,0xc82b652cff7b7ac1L } },
  52793. /* 58 << 147 */
  52794. { { 0x072eee036b7a9a38L,0x42a680cbaef9b327L,0x67311eb8b56fb35eL,
  52795. 0xf320acf3c7de3776L,0x09c89cc3ed15e895L,0x368501713232345cL },
  52796. { 0x5a5fe1104822f90eL,0x64f7ef18c6077b89L,0xbbc5748c8bdfb971L,
  52797. 0xdf5488334b6209deL,0x02268bf676e7f595L,0x1c7971b447779e75L } },
  52798. /* 59 << 147 */
  52799. { { 0x90d308b495c9497fL,0x277535b782c903f6L,0x443cd37fc5d7b4c3L,
  52800. 0x48ebf0acfcaff8a7L,0x8ee8c79e579f25f6L,0xb825ccd8360ffd90L },
  52801. { 0x6327be1599fe4be2L,0xc94c68cf59ec2909L,0x0dbf8d4456660ce7L,
  52802. 0xbb31989b5d510edaL,0x43c8c365c4a2e601L,0x100de78314dcf793L } },
  52803. /* 60 << 147 */
  52804. { { 0x635ee0f3d33ac52aL,0x609c328dd1970e1aL,0xf28ddf0a09426902L,
  52805. 0x2a94d4decbbcbbe8L,0x15890cf4ab7ecf5cL,0xb14a405df2dd4135L },
  52806. { 0x64659a4fa6d01554L,0x1d1b2c43cc966f9bL,0xb02ee871df0e48b3L,
  52807. 0x0bd13e47f4dc3ebaL,0xb4763547bb4fc529L,0x868650044068ab72L } },
  52808. /* 61 << 147 */
  52809. { { 0xe3d60dfac22bda56L,0x021411ba6be2f502L,0xc1dd4d55b35e750fL,
  52810. 0x708b62cd4d5e1648L,0x234a80c6347b8b8dL,0x53b6fa80f3ba912dL },
  52811. { 0x4041b8007b92c92bL,0x636c12524b6dbceaL,0x4ea250d08a1aa141L,
  52812. 0x9ffa7e35a2ae7be0L,0x765c809cd2844e61L,0x5bcabd922d56de12L } },
  52813. /* 62 << 147 */
  52814. { { 0x48d594e522205fbdL,0x79c78f1c0862eb11L,0x02a3becdf7798099L,
  52815. 0xbfe574a8b1ef2ae5L,0x1bfb7779c4781f34L,0x7211dfcf044da23cL },
  52816. { 0xe4c3fd7dc3686ef9L,0x14c6e5b5e74210f7L,0xc40a0a0275ab746fL,
  52817. 0xd2033594621f6369L,0x6bdbbe3d66241d44L,0x014b089ee47f00e9L } },
  52818. /* 63 << 147 */
  52819. { { 0x93e3a89108e65849L,0xf90a376ba1a712fcL,0x6555d6dff1a48fcdL,
  52820. 0x984ec5c86a763e90L,0x7a7fe565e55d6b14L,0x12550fe809b2e8b7L },
  52821. { 0x21736c048e41210eL,0x72ae44d448ce08f6L,0x02755a2871fecc50L,
  52822. 0x379da24beb485ee5L,0x394cb7ba66d7b659L,0x49fc9d60ab638c33L } },
  52823. /* 64 << 147 */
  52824. { { 0x854b05846150771aL,0x35fdd9b4d9ca9868L,0xec8293894c32fc71L,
  52825. 0x882fad4c9ec8f90dL,0x2d39990dc6c7b9c0L,0x7fbc201bd71a25e5L },
  52826. { 0x6b852e655166da7dL,0xc6bde23a3d8c6e36L,0x370011545857f048L,
  52827. 0x746621fc1ccb9bc8L,0x97e44e63612bb853L,0xabc3b450758da4edL } },
  52828. /* 0 << 154 */
  52829. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  52830. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  52831. /* 1 << 154 */
  52832. { { 0xd25f650804926a41L,0x7236b475514045daL,0x0b36031108b9b08bL,
  52833. 0x16477aff3fe92e91L,0x6e5f6cb103189ddcL,0x81ff008ec698a38fL },
  52834. { 0x02a09218c93adb23L,0x71fcecd3445d8faeL,0x55a15eac8fd6b76cL,
  52835. 0x1e37ec3611ef96b4L,0xd1b3b3fc30e433b5L,0x4951873351d174c3L } },
  52836. /* 2 << 154 */
  52837. { { 0x7914213db8c9f82eL,0x7a3e4e38fc038e90L,0x6edae5a126a34238L,
  52838. 0xe566bf50701ce8c7L,0x3562e87555656e02L,0x48325ebfb4e8efbfL },
  52839. { 0x5f10a50466505ec3L,0xd8b9834b8da78aecL,0x49d1fc25cc2f2e40L,
  52840. 0xe973bb1caf5718c1L,0x9b8825dad2d6b890L,0x7de7885ee2f00f12L } },
  52841. /* 3 << 154 */
  52842. { { 0xfb0fa0e6494fe64fL,0x4ea468b59a907f37L,0x9bb6d672cbabb7ccL,
  52843. 0x523c7c6ea5be2b38L,0x4065adbb361c2e41L,0xffa1299925c13172L },
  52844. { 0x0eb29793f80d5e2dL,0x862fe1ae8e4efeffL,0xd485483e948895c4L,
  52845. 0x513977300d80d5bfL,0xb4731ffc348782f2L,0x42543c76e1a7f6aaL } },
  52846. /* 4 << 154 */
  52847. { { 0xe37211be7ef79898L,0xa810387721344d16L,0xfdcd7e26a1b9f8b4L,
  52848. 0x5641e45d7d7f72d5L,0x5377c1bec449c920L,0xd3edcb0cefc7b2a1L },
  52849. { 0xc657a9ffe14b42fcL,0xc8f858c800831b07L,0x6bfcd1bcd020eaa8L,
  52850. 0x17534b0a3f6860c7L,0x8ce5722284c7c806L,0xa1d40eaf2bd7456bL } },
  52851. /* 5 << 154 */
  52852. { { 0x28b88cbb1a7093caL,0x09275152080a85ebL,0x0bee7d979c1dcc32L,
  52853. 0x43698f5f5ed033a5L,0x4f142867b0f0acc1L,0x6e6202ecf62960deL },
  52854. { 0xe95a607ff005b671L,0xfeee8ea060cae478L,0x456bb6e90e8ec6e5L,
  52855. 0xc1c0319a9d088a59L,0x29c6898bbe3d2379L,0xd7049b2af8a8628fL } },
  52856. /* 6 << 154 */
  52857. { { 0xe0c93007c9aa57eeL,0xebb2d47b8895a604L,0xb8aebc49c4fd6ffeL,
  52858. 0x2c06e1e573f300b6L,0xa019070d81628b8bL,0x2db1690bbaf8c1eaL },
  52859. { 0xb3fce6c8cc94ccd2L,0xf301463885bcdf4fL,0xb1e62616e2f82c32L,
  52860. 0x85581e2468295a54L,0x0f2e2ff5bf51f8faL,0x940716f1155c1f6fL } },
  52861. /* 7 << 154 */
  52862. { { 0x15b2dd270c6bd5f1L,0x07b5bd91eb086d0eL,0xe701742e97c5f5caL,
  52863. 0x3ce5f3f6eea06ea6L,0x51a81a6aa9cee784L,0x2bd404c1c7182fa7L },
  52864. { 0x27deca74d5b8bde4L,0x2c1931c595385e4aL,0x04fcb34e3a79d65fL,
  52865. 0xdf3357edad1babceL,0x8bc628ffa31af476L,0x42ce1d91e5cc9e78L } },
  52866. /* 8 << 154 */
  52867. { { 0xaed02b6b4e623856L,0x7a6d2bef3e1d74cbL,0x82226ec4654e7c30L,
  52868. 0x008ac003e7034bfdL,0xe343c5407fd6b555L,0xca1b29071b429d44L },
  52869. { 0xe0702a339c3ceea2L,0x48079aa9732694c3L,0x7e6d72f6d4652401L,
  52870. 0xd92655ed35f60043L,0xa0dbaac6273e8cc4L,0x0bb8f0f93c3ffb40L } },
  52871. /* 9 << 154 */
  52872. { { 0xc3134781a91940b2L,0x37579fc9e9b90620L,0xa506227a08acd6f1L,
  52873. 0x603ecce0270da73cL,0x8a53b67d7fdd70cfL,0xe29b7df299640bd6L },
  52874. { 0x7bb4fa877569105dL,0x6ee80ae8567bb5e9L,0xf394bd02baccabefL,
  52875. 0xe854b3a6309c944fL,0x1271a131f06246e9L,0xbc1c205531580147L } },
  52876. /* 10 << 154 */
  52877. { { 0xb41b87b6c95cd23bL,0xb99714ba55e371a4L,0xb138ee8f6f571cebL,
  52878. 0x09c42be480146ec7L,0x275ee21eee9aa125L,0x0cef4d6f3a878b59L },
  52879. { 0xd436eb1ca801068dL,0xe2c5448c762b8a80L,0x243beee1f3640ecaL,
  52880. 0xf979458b32bbba7aL,0x6bc26cfea63407d3L,0xd3b6e132392dd1d3L } },
  52881. /* 11 << 154 */
  52882. { { 0x123ae65005d0072fL,0x9f101624f0656bbeL,0x762bd4f4344e283fL,
  52883. 0xd1f70d5161b6863bL,0xcd99382592ef9a38L,0x53aaa0c3ac2bf9bbL },
  52884. { 0x13904fb521ef9a43L,0x0470a8ba2beb8f44L,0xf3733943fcfe9ecdL,
  52885. 0x10b8881a79d776dcL,0x89b94c67b82b7139L,0x7af5147aeb962922L } },
  52886. /* 12 << 154 */
  52887. { { 0xbc06ecab3de4ba2eL,0xf51ca0639e491bcdL,0xa6fc6fa0453c94beL,
  52888. 0x5460f943ed1a6731L,0xeb11656a4ec3f1fbL,0x2fcb2cabff1e7d4eL },
  52889. { 0x595264678fea2286L,0x838117a34e0bee38L,0x7bdf588824fd2ce5L,
  52890. 0x13df0c839f2c2925L,0x1bf621e6dee97f30L,0xb43b2558ebea6641L } },
  52891. /* 13 << 154 */
  52892. { { 0xf49a97d80a33b97cL,0x4e68d71512ab9bcaL,0xc0d361c04bdb65a3L,
  52893. 0x5fba9fb86cfb0cafL,0x222e12ca2a716589L,0xaea01502731f5099L },
  52894. { 0xf322ddf7e97b37f1L,0x050e82a5e55c844dL,0x01ef972ba11d664bL,
  52895. 0xab30502882c737b6L,0x43aa811185e39769L,0x766a9350937c1456L } },
  52896. /* 14 << 154 */
  52897. { { 0x246c86608e729329L,0x39fcc41dd693dac8L,0x48a65b54c062a6c0L,
  52898. 0x368a57706a5a3101L,0xd143600f47ed1988L,0x48466d92a764ce3dL },
  52899. { 0xb05006135a22cb6bL,0xf1d77247edea070cL,0xb1ddd151617f2464L,
  52900. 0x7905069828b83fd9L,0x021abb26d70bf93eL,0x590b3c42ab5a5e1eL } },
  52901. /* 15 << 154 */
  52902. { { 0xe86c737b728b8438L,0x21f45a22acf1dd66L,0x6f29f2d7abd4de3cL,
  52903. 0xa223154576d4435eL,0xad902927f5fcafadL,0x272cceeb04f30557L },
  52904. { 0xc2e4e0017ebbb2d6L,0x73954580bb873ec3L,0xadf5ec7ac7fa9088L,
  52905. 0xc036da0464006dd7L,0x9c3545b5e8274f69L,0x6e153c2552325f50L } },
  52906. /* 16 << 154 */
  52907. { { 0x5906a35c1cfb991fL,0xb62a4f80740a7744L,0x65c8ac9136f84763L,
  52908. 0xf73b3debbe0f1dd3L,0x40358868a2d26c21L,0xd907e90a76792ae7L },
  52909. { 0x3ecea167668c3d5fL,0x731068f26754b49cL,0x6db891090e006243L,
  52910. 0xd29106e6dd94681bL,0xb40b8694a85a3de2L,0xc80c7bf1936b86ccL } },
  52911. /* 17 << 154 */
  52912. { { 0xd735de6b91f7c76aL,0xd89aa1d4b054837aL,0x47c1a397271e94c4L,
  52913. 0x8d91f3f9dcb7c071L,0x4cf9be2db4cc209dL,0x4fb6842ec08190d4L },
  52914. { 0x926423a1d7b2aaedL,0x5bbfc08957a1cb44L,0x44438c56021defb3L,
  52915. 0x8b9a2b1ba09863cfL,0xc9d5c170e37e339fL,0xa8994d5dabb18c7aL } },
  52916. /* 18 << 154 */
  52917. { { 0x003d45d011913575L,0x866cb2dd87e1186bL,0x692f630146b69a22L,
  52918. 0xd296a55c8174c1d1L,0x77ef6fbe9f17af00L,0x6b588be93aa922e1L },
  52919. { 0x99ecb44f033e6dd7L,0x32edea2c1d22b7cdL,0x3122b027ba7006f3L,
  52920. 0x8950054bbb6ebc5cL,0x4f6d606182dab805L,0xc12055181bae5f1bL } },
  52921. /* 19 << 154 */
  52922. { { 0xeca71515ad7edd2dL,0x3f9c330e9bf56567L,0xd0b62d6749104bb1L,
  52923. 0xde92596410cc8d89L,0xc7a083f4287fc898L,0x8ba176e712d15d2bL },
  52924. { 0x2cee62f7b4c8c4c1L,0xc15966c2ef79aeb2L,0x9b449522427c11a6L,
  52925. 0xcc850028eb49b2fcL,0x0966a06d3a22720dL,0xfd511944a1e78c8dL } },
  52926. /* 20 << 154 */
  52927. { { 0x28d33e79e08c180fL,0x768c7794f6aec9ceL,0x5a749f3bce683c5bL,
  52928. 0x717629d98371fe75L,0x5e828fc057712c1dL,0xb46c6ed17e4c61aaL },
  52929. { 0x5d927bad5bccf95cL,0x55d6fc80d72f68ecL,0x560a99a398591dc2L,
  52930. 0xc885fe8a4836664cL,0xd18acd4226d79298L,0x05e4cd17185df1d7L } },
  52931. /* 21 << 154 */
  52932. { { 0x9c1e5db3ab34fbbeL,0x0d4b1e742f7eaa94L,0x106b0b5c86de1289L,
  52933. 0xd2c6c1aab691a830L,0x2e55cff9b9717593L,0x4522b37d075e5e95L },
  52934. { 0xc6ee67ea3abfeb96L,0x35844bbd890b04eaL,0x0246545a55d6f65bL,
  52935. 0xc66bad2b13594e25L,0xaff4c6b35d6aa7d1L,0xebb7d2b5a3f42a84L } },
  52936. /* 22 << 154 */
  52937. { { 0xebc60e21fcc83355L,0xc94dbc02d9119b77L,0xceb05a312f18ae9aL,
  52938. 0xa8462962b8f69016L,0x58dde5a48f67b5f4L,0xb8bdf9c9af3c234dL },
  52939. { 0xe95c069f80e85df8L,0x9d525e1bab3aa0e5L,0x73c8a92f76276d8bL,
  52940. 0x7feb4abd163530efL,0x8ca949b35ef5ad73L,0xe129431e2e3d057bL } },
  52941. /* 23 << 154 */
  52942. { { 0xa263d726c129d188L,0x89da948e9d526adbL,0xc7319a5a6b8a9149L,
  52943. 0xd85d382d8816f421L,0xfad69eb1844032eaL,0xf668901a4233122fL },
  52944. { 0x246cc0de210ddea0L,0x26d8ccb70bc07dbaL,0xfc1b558470e6708cL,
  52945. 0x853802b775fa0b44L,0x215ccb88bb75a5b2L,0xff50f0cf24e60054L } },
  52946. /* 24 << 154 */
  52947. { { 0x9d8a925b60dec308L,0xb72e3efa6b3ea363L,0x4f53ca6ddfb534b8L,
  52948. 0x4e64874c6dd78a32L,0x336e5b46c2a146d5L,0x07c76d6398395201L },
  52949. { 0xa4c095228fe3e815L,0x887e659d3221cc26L,0x0ff92f64c36286ecL,
  52950. 0x57b1b903c3ebb08cL,0xc6bdc9b665f00c30L,0x826242269a46d36eL } },
  52951. /* 25 << 154 */
  52952. { { 0xe054597768bbf4f6L,0x17bb77edb6e2cc19L,0x0cc551d89ae950f7L,
  52953. 0x3490778d761763a4L,0x1c36044a32647ceeL,0xa6e083223f9d2938L },
  52954. { 0xea392a153a656a51L,0x4d51161ba083cb54L,0x15c01e792c690757L,
  52955. 0xc7bf5d7c5cc62636L,0x1b00cddab2ccd76aL,0x68f49fa995313f8cL } },
  52956. /* 26 << 154 */
  52957. { { 0xc782c16c1a0b619aL,0x8643d42bbe316086L,0x49d2966bc0daa421L,
  52958. 0x080b1cafb7b487e0L,0x1d33bb53144de273L,0x8bafce2d6faf7ed9L },
  52959. { 0xdafbe3cf408d4636L,0xf10527df7ee8835bL,0xe1123f3ee2e75522L,
  52960. 0xb388c64bebe27d60L,0x2cb38dc1e3f1f55eL,0x57ff8e43e34524d8L } },
  52961. /* 27 << 154 */
  52962. { { 0x557dc1cbea28398bL,0x34d5709a208996b9L,0x94470993e97a3306L,
  52963. 0x0343320772b117f3L,0x66c4e442f056525fL,0x27753c526d11dd35L },
  52964. { 0xf0aa7658b26a70d7L,0x95608b19543cd7ebL,0x618b2e17bac19156L,
  52965. 0xe7e42948cae64ba1L,0x2016a9d59657ec93L,0xa38f67e03d7ea46cL } },
  52966. /* 28 << 154 */
  52967. { { 0xd67dc92b85653dc8L,0x8e0970af0bc93ab9L,0xb6f09baa8b87c0afL,
  52968. 0x5a8a903052760ef4L,0x2e2ae7561047bf85L,0xd049078f85bd4e74L },
  52969. { 0xced11ff83729f708L,0xdd21cbebd91068a6L,0x83d488ff24b3e911L,
  52970. 0x6e166fda1afd2196L,0x66a912114f0d2128L,0xd11078ed05c9f39cL } },
  52971. /* 29 << 154 */
  52972. { { 0x69aef6f919c64bddL,0xe7d4f909598ab592L,0x48952e280e55124fL,
  52973. 0x637693f6290b558bL,0x3afb2e7b421e60e9L,0x00d1dbac79aac8a9L },
  52974. { 0x45156c5cc08563d5L,0x8cc201be4519c881L,0x2e36c0d7bd616581L,
  52975. 0x595fe0164ee16dffL,0xeebec40ae4889c65L,0x23b6dfd7d35b94e7L } },
  52976. /* 30 << 154 */
  52977. { { 0xd87003d3bdbdf0cfL,0xe9750b5b56c298f1L,0xc256c3a2b73ad05dL,
  52978. 0xe0779a192ee94279L,0x31d8b3c6279626a3L,0x469056bb90163bc8L },
  52979. { 0xe6aeabc623755853L,0x9fffdfe2896a6f4cL,0x15c1ce78a36cf41bL,
  52980. 0xd4c8c025eee41941L,0xf7a917ee7653be9dL,0xfa3cba9659d52222L } },
  52981. /* 31 << 154 */
  52982. { { 0xa02f08586d8c610fL,0x9819c563ad4af3cfL,0x085d4439b95d17eaL,
  52983. 0x9df256ea616f532aL,0x5e9c5419cebd249cL,0xdd5ffbf451062a22L },
  52984. { 0xb8910ea5c8b33577L,0x5e8b7ff7ff8e63d7L,0x5e4f3926b24e230dL,
  52985. 0x163eb51eacd851d7L,0x9bda95f2ea2aef8eL,0x3d6887755aefa290L } },
  52986. /* 32 << 154 */
  52987. { { 0x913f92075f8ab132L,0xd5b6792c5c14080fL,0xefab4e2c787c3594L,
  52988. 0xa55d465fe7b7b7ddL,0x921aaad834e28e6aL,0xc4f3a35e12d6a7bcL },
  52989. { 0x109803c46115a5aeL,0xc023098ce709f9a1L,0x1a8c8bdb99c5bb66L,
  52990. 0x1cd1c2b6bc7c2da7L,0x50189c975f927eefL,0x493823d1229f9410L } },
  52991. /* 33 << 154 */
  52992. { { 0x34ec4dc840dedfb0L,0x1109ddb93aa89063L,0x93d9db278c218bb9L,
  52993. 0x07131b6e0b6007ddL,0xf90570ddcc4690f0L,0xa6a9a634afa26a59L },
  52994. { 0xbd0c25194292e2b7L,0x92b99706a6d44b7eL,0x89481adf4942c03bL,
  52995. 0xff5e56b98a0c30d5L,0xdfd8939591c80fafL,0xed9d140840663594L } },
  52996. /* 34 << 154 */
  52997. { { 0xcc22db55c41e42fcL,0xc90ec77e4c9f2411L,0x419b9f46e4c02557L,
  52998. 0x156ed30ccee45c60L,0xf2c1340a72e4a938L,0x4a9cda8a204775a8L },
  52999. { 0x900fd58713952b75L,0xa82ec2b812461145L,0x9f1875d41db68028L,
  53000. 0xaaa6af31308475acL,0xa11f379442d4b884L,0x1f1fcbe3d087882aL } },
  53001. /* 35 << 154 */
  53002. { { 0xa32d5a80a292fbecL,0xe0b10099d7091eabL,0xcb99bf7b4bfe6956L,
  53003. 0xfd806d4c61955461L,0x7124b1bf931066fdL,0x29fad019649ccbf7L },
  53004. { 0xd1fe7911049609e7L,0xb568e167592f93c1L,0xabe7d10398ba066cL,
  53005. 0x0cd22c9668d7ac2cL,0x0ccd0c21427522d3L,0x97ba199ba503b4a4L } },
  53006. /* 36 << 154 */
  53007. { { 0xa0f2da0c78a2cbf7L,0xd1611acbd163d80dL,0x1af6ee1bf2cd3795L,
  53008. 0xc4993e08307d6105L,0x84c3b8f8560b5f12L,0x4f52c56347869733L },
  53009. { 0x8fd9e3f728d28bc6L,0xdbf34576e5d44bd9L,0xf7e3a6da10d14cb5L,
  53010. 0xb93870990fe051ffL,0xf6363a48f15d43d5L,0x4bc358fcf434d1acL } },
  53011. /* 37 << 154 */
  53012. { { 0x35bac9471eae6dacL,0x4244697e39d6fe97L,0x16ec7f64fe017230L,
  53013. 0x393856d10493823cL,0x0782fbb55b7cbbfeL,0x4c399e3f5820f9f9L },
  53014. { 0x86311cd9c08fe816L,0x057d4cbbc3ac958bL,0x63f09d484bdb0531L,
  53015. 0xab0b582b0b89ea02L,0x19c52243beb30331L,0xafa64f25ca87ff6dL } },
  53016. /* 38 << 154 */
  53017. { { 0x0d28a67859b1f4aaL,0x79b04589c52d40f4L,0x443b7fa5219303d9L,
  53018. 0x5be78d9663972eceL,0x0ccb969e7d984869L,0x7d8738077f81916fL },
  53019. { 0x3502b3e426d9f292L,0xda1de7a82c90b612L,0x5605f5dc434f27c0L,
  53020. 0xa50d3328df89c616L,0x5a80cf84e7082731L,0x2c89e4b6f7ce953aL } },
  53021. /* 39 << 154 */
  53022. { { 0x7a46cd0d01fdf1e6L,0x86868e74e8690fbeL,0xf038771d8a8fc3b2L,
  53023. 0x30135b3084303d90L,0xa7ecb9ded562d20bL,0x7a6d1f37884cd233L },
  53024. { 0xa30ca0bb07dfad3bL,0x1690d6018e09fa7fL,0xe582449f6c744551L,
  53025. 0x0b0030a21b935d17L,0x6b46681272bdb78cL,0xe40d4e5f56d4f328L } },
  53026. /* 40 << 154 */
  53027. { { 0xa29978fc62a8b8b4L,0x4cc216310fa130a9L,0xe4b51c6bf15e04c8L,
  53028. 0x453cf4d23f815420L,0x1257c751c6282b9dL,0xcd15b03c8af1af36L },
  53029. { 0xe3596240514ef6e8L,0x72a6691708ab83d9L,0xca0a62d710e44b2dL,
  53030. 0xcde068128a9b8a8dL,0xd492b261ba470875L,0x5c7ea67cc6d7aeb8L } },
  53031. /* 41 << 154 */
  53032. { { 0x6acd945fc0995487L,0x06d5b2e47abac4fbL,0x42cddd75aaf3d12bL,
  53033. 0xca7d2363de1b9632L,0xbb1a1990dfbbb30fL,0xb0beb43139fd7bd4L },
  53034. { 0x9ceb36884fa796e7L,0xb4d2bc4ba3266ab8L,0x79bda9d6e02df012L,
  53035. 0x414636bbf6faf7c4L,0x0a6603b9d1ab23f9L,0x2bc60c848db14f7bL } },
  53036. /* 42 << 154 */
  53037. { { 0x1b36ef27007ff90fL,0x394fe8095111399dL,0xaf4f246cb758e748L,
  53038. 0x794e4b151a7139a2L,0x40869a49eb527db3L,0xf2e15106f46d1b34L },
  53039. { 0x46619f0352ac96e6L,0x40f556de49caf0c4L,0xa36b11d693072befL,
  53040. 0x871919b4ab2dad50L,0xf44b8084792dcefdL,0xe051823dbc31b021L } },
  53041. /* 43 << 154 */
  53042. { { 0x56293d8dcfd7432bL,0xdedf8dfd1d5f72c4L,0x743f4a71ae604fb4L,
  53043. 0xfb35ab43730caf7fL,0xcaacce6b20fc2167L,0x21ec3a0daa8ac71aL },
  53044. { 0x4fdf5890c21ac9baL,0xbdc41ecfd6149328L,0xb1ac4d519b381c55L,
  53045. 0xc4cc08fd63f10a98L,0x2b9f0d3a4913a671L,0x9ce9949cbc36a952L } },
  53046. /* 44 << 154 */
  53047. { { 0x5049a7d3f758b1b2L,0x60beb74f14ab97b8L,0xdfc47828a9ff8ad3L,
  53048. 0x303a0cde8bb99766L,0x53f4b45a43b9a7a6L,0xe467aec8ca6e8c43L },
  53049. { 0xb8e7db7b3f573855L,0x5fee5a5481e760f1L,0xe928b23385b0fed4L,
  53050. 0x72f02728ebae0b7cL,0xe32abf70bb5897d3L,0x103e8b859c572995L } },
  53051. /* 45 << 154 */
  53052. { { 0xf321278c2dc1a02cL,0x06ca03865dd09f91L,0x3c28640b7bac9e7aL,
  53053. 0xe3a7f9b527b1a011L,0x9137ad0407ccedd3L,0x3a2976a8cb6b447aL },
  53054. { 0xab1c39248225c1ecL,0x30703f108f9022a8L,0x212f0f1bb0b2a64bL,
  53055. 0x76ad924b3e73862fL,0x47253a5c84842ac8L,0x33a03a17755af95eL } },
  53056. /* 46 << 154 */
  53057. { { 0x97c371fc5a274b61L,0xc7362cdbb14c680bL,0xa8cdd929efbd49afL,
  53058. 0xdfb2d5f075325f06L,0xf62d10e2b905531bL,0xbdfbfd8462ed0c3aL },
  53059. { 0x252061599d07d2daL,0x1376775152491224L,0x165637057413313cL,
  53060. 0x642a7911a2b88eb1L,0x42d9dc6806ffe363L,0xe81d3403017bcc9fL } },
  53061. /* 47 << 154 */
  53062. { { 0xa68ce9db93d57f06L,0x4d1fa86a31dba07dL,0xf11603178c4822abL,
  53063. 0xc2243680633c26f5L,0x6b4e91cd10f1da80L,0x4358155734827d78L },
  53064. { 0xbf54e87400c19817L,0xf52b94c4f2bad957L,0xcc85de8144e71756L,
  53065. 0x4f7d8ca365b7a8c2L,0xff76efa579d7c36eL,0x50a444025952932aL } },
  53066. /* 48 << 154 */
  53067. { { 0x87c0ef84172784bdL,0x023128267a5f2d07L,0xeae5c0cec9901fa3L,
  53068. 0x6ea74133a11144e5L,0x740c3d2ed8e89beeL,0x88e06131f9bb1801L },
  53069. { 0x47f253754356fd51L,0x8e2ca6ce38e45ea1L,0xf0afe990c2ef8066L,
  53070. 0x91b7263d8ea03d0fL,0x37b01664880ca591L,0x61306f09790c8ed7L } },
  53071. /* 49 << 154 */
  53072. { { 0x084c4f92b24a5736L,0xf3d01da90a3c3859L,0xd37c47ed7468b812L,
  53073. 0xeb539a939567c798L,0xd852f502acfdc072L,0xd8e5454996245975L },
  53074. { 0x42ec3948db5e323dL,0xdbebd1c7002d3fadL,0x9cc5db55d7c62d0aL,
  53075. 0x22af02388afa4c07L,0xbdcb68fc6979eb74L,0x33763dd544dc11baL } },
  53076. /* 50 << 154 */
  53077. { { 0x4734465f87c2e496L,0xbafe4fb4eb7d82c4L,0x940b168521837f17L,
  53078. 0x790d7041345a66c3L,0xe9973cfd65ea596cL,0x45fc95df058b3350L },
  53079. { 0xc63bf91405d08638L,0x36e6af6476465a92L,0x7fe09193f1eb3701L,
  53080. 0x364f64f06468e2aaL,0x83108431f7129cc9L,0x3ac117205606bf94L } },
  53081. /* 51 << 154 */
  53082. { { 0xe6a85c7d34dcecd9L,0xc14437fe338cdc1aL,0xa5eeb471b3a9233eL,
  53083. 0xf230947c71349a62L,0xe704a95686308ebbL,0x0ef4d4da4a362a8dL },
  53084. { 0xae9be4394b634c67L,0xf736c07c569f0039L,0x7356f3010f5f07d9L,
  53085. 0xc86c4000823c9cecL,0xc43b3489951ab5faL,0xa7a3b3a6b46bb659L } },
  53086. /* 52 << 154 */
  53087. { { 0xb1d6cb737337af87L,0x09a59a6908638c3cL,0x4ecc3fd25d94c727L,
  53088. 0xa7b57269e274ba87L,0x909cd824a61a0590L,0xcbe63cfe3c11751dL },
  53089. { 0x9574de8347c46efaL,0xee334cda539b7e03L,0x245bc6a2e3ef3599L,
  53090. 0x13a570fee88d0da7L,0x88ede26d90ef4a21L,0xa0c5953b01fccebcL } },
  53091. /* 53 << 154 */
  53092. { { 0x855ff0f7657121c2L,0x18754814f94c7402L,0x720f1e3c32ce8340L,
  53093. 0x7ecd080ee8e49d3dL,0x2838e642f0bee412L,0x69cad618209f8e60L },
  53094. { 0x5730f2dba983a4cbL,0x74957697f43896a1L,0x68de04373dc55d4aL,
  53095. 0xa2fbb915628698bbL,0xc8279c975cace19dL,0x7df557465fd52bc0L } },
  53096. /* 54 << 154 */
  53097. { { 0x1cb1c2f378c3f521L,0xa425f99b63116c7dL,0xc86b48c36f7c0e71L,
  53098. 0x9e92e82dc76a73ddL,0x8c0414657e7d6df8L,0x99e7884d38c02d8eL },
  53099. { 0x6c53c0cfb78a7e50L,0xcbcb5114481d60ebL,0x1eed68ed035b4441L,
  53100. 0xdc95269f755f18efL,0x3ad7f32a3fe51f12L,0x981782d017296245L } },
  53101. /* 55 << 154 */
  53102. { { 0x7743ef2655fcd15eL,0xa73944a4d07f3cc0L,0x3161d6a32438cf14L,
  53103. 0xad193a9b14e8938aL,0xe1de190e872dac01L,0xb165da2fc4795b10L },
  53104. { 0x1eb89d519e155bfeL,0xc8b97d94c9c552d5L,0xea7d3edb108c4c82L,
  53105. 0xafb60b29c10acbb5L,0x331b316b82c7b642L,0xa53c4b3d719fa342L } },
  53106. /* 56 << 154 */
  53107. { { 0xc8dc34f36b3bcbdfL,0x952d337b24d72806L,0x28b8ec817e56e8c8L,
  53108. 0x98e78abdbe861aebL,0x521773ddcf3bd040L,0x582ffcb2b7ca45d2L },
  53109. { 0x70962c0a04202ac8L,0x31b6ac909f29381fL,0x3b4cd403355715a7L,
  53110. 0xffbbd1a7399a071cL,0xac669b08e50f02d7L,0x0f568c89b2cf0565L } },
  53111. /* 57 << 154 */
  53112. { { 0x2d2afc2daae7e637L,0x840e47c782a818efL,0xfe26a67c879f2451L,
  53113. 0xd41d289810f54247L,0x36040f4877119f14L,0x741859a983f240ccL },
  53114. { 0x15f9607a8fa720c8L,0x8eb70f6df7b8e32dL,0x755394229b98d670L,
  53115. 0x80a4a127750c4e62L,0xbe88d03195ca3a50L,0xfadeb53dc6411eb6L } },
  53116. /* 58 << 154 */
  53117. { { 0x19f29da06b824028L,0xa5cfd12b7bd354a7L,0x1cb5d74caeb59b3aL,
  53118. 0xec9a8ccc47211999L,0xd7f2a1c17852f167L,0x134629209a1859cdL },
  53119. { 0xdd65f7ac9e3a339fL,0xccaa968075437831L,0x25772f9b7f502bb0L,
  53120. 0xa64cd12f6fa0aa66L,0xd2f46ac62af2c3d4L,0x58433d963f262a2fL } },
  53121. /* 59 << 154 */
  53122. { { 0x747757c6715ba7e6L,0xc01b73c1f9cbefd2L,0xf1d96de501bbc017L,
  53123. 0xad554e91a1087f55L,0xd9b74be65a6cc716L,0xad2f2c0320317019L },
  53124. { 0x42ef19c207893532L,0x7f3624c40858fdc1L,0xc104bde7078936c6L,
  53125. 0x99af706682b5f95eL,0xa40e02625a13a9a0L,0x6c0251c40a318574L } },
  53126. /* 60 << 154 */
  53127. { { 0xedb3abb1fe36eed2L,0xbb2cc1e6a038298aL,0xfa0ac06fe5adc3beL,
  53128. 0x7cbcef3eae73ebe1L,0x41596590cd676b87L,0x6cc8c0ae214391d7L },
  53129. { 0x826e2e16fcb3f244L,0x1ed7837e1be22058L,0x83052d0d1a9912b3L,
  53130. 0xa2cb410c8ac3dbf5L,0x279d555a7faa6bc7L,0x870e7132f52b439cL } },
  53131. /* 61 << 154 */
  53132. { { 0x5957428e385308d3L,0x49ba20b3bfdae187L,0x4e1281c3adb44defL,
  53133. 0xebe93dc4e75c6cf9L,0x81d1d1cff675fc6eL,0xbe01bcecfe0e371cL },
  53134. { 0x713f294d336bc7caL,0x1beb1508e26a1903L,0xbb5feab4b6819961L,
  53135. 0x28bede2741bfc7efL,0xb0a5108bb3365719L,0x81a8c9255ccd21a3L } },
  53136. /* 62 << 154 */
  53137. { { 0x4f3d90af2bea6870L,0xfebb0de2ca26ca46L,0x109d96e5d58bd9d2L,
  53138. 0x4b42928cd9882c8aL,0x5238cb7a8c73adcaL,0x9d79d72a4adfc913L },
  53139. { 0xba58929d1f0bf201L,0x0b7790a505f52baeL,0x361949aae45fda0bL,
  53140. 0x21b2d006af3f732cL,0x1ed05dc33aa84bf8L,0x2322b7f72405980cL } },
  53141. /* 63 << 154 */
  53142. { { 0x4a38b5b2c7151e42L,0x1d5dd94894550168L,0xf2adeb5b7b3d1d93L,
  53143. 0xe15c42fa36661a89L,0x7d55a3f27a3aee90L,0xbe1b5c39d9d350a4L },
  53144. { 0x9c4d6fa2610f16b8L,0x7b96051da60fb18eL,0x539762fa496c018bL,
  53145. 0x048ffa39168a8f22L,0x33486ccada1c0a58L,0xe216d6be9fd687a1L } },
  53146. /* 64 << 154 */
  53147. { { 0x11a8fde5f0ce2df4L,0xbc70ca3efa8d26dfL,0x6818c275c74dfe82L,
  53148. 0x2b0294ac38373a50L,0x584c4061e8e5f88fL,0x1c05c1ca7342383aL },
  53149. { 0x263895b3911430ecL,0xef9b0032a5171453L,0x144359da84da7f0cL,
  53150. 0x76e3095a924a09f2L,0x612986e3d69ad835L,0x70e03ada392122afL } },
  53151. /* 0 << 161 */
  53152. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  53153. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  53154. /* 1 << 161 */
  53155. { { 0x3ee0a31c6754f492L,0x02636c6b96769ff5L,0x90a64f4ff0fbfa96L,
  53156. 0x513f054efafea65aL,0x796ba7479cf4b9f9L,0x3198c068932a9590L },
  53157. { 0x93af8a65549ee095L,0xb8b6f72ca212760fL,0x23bc71e9c1a46c8fL,
  53158. 0x000643af4c9bca72L,0xb6d967c7848cea30L,0xe06b6b4e73312ec2L } },
  53159. /* 2 << 161 */
  53160. { { 0x52ec99561d85a725L,0x0f9be000f3208012L,0xe881337c6dcc7816L,
  53161. 0xe4e7b6d9791f7cf1L,0xfaa717aa59885a42L,0xb1bbb5c7f9c01e41L },
  53162. { 0xcf208d58a0361880L,0x24426e4020afa350L,0x7261871b264ce04aL,
  53163. 0x66be4a86cd42026aL,0xc5397b77829f99feL,0xffe4a6bc24578e2bL } },
  53164. /* 3 << 161 */
  53165. { { 0x0733667af822d5f9L,0xd7f81b9e18339700L,0x7ca29b27a7bc265fL,
  53166. 0x9fefa698eb4f0c7aL,0x7b6f351301f27630L,0x72f0f152fcfb1133L },
  53167. { 0x9928d9d05c81eb14L,0xa16ac36bed8ff6cbL,0x7fbd1acbe041bef3L,
  53168. 0x7d25159af8d99854L,0x2ec3a7d8db5a0dc5L,0xd86fc4cc87e3e933L } },
  53169. /* 4 << 161 */
  53170. { { 0xba8418f34c20e15fL,0x7eed2494fb54404eL,0x4e6438d7bce1e82dL,
  53171. 0x9e489b3eb397915bL,0xa9baea9ffb4cf659L,0x8bc5b2ba42ef4affL },
  53172. { 0xae3fb5337e62a188L,0xcd648493496e8e35L,0x89728e28defe047bL,
  53173. 0x63a8c679d24e60feL,0xadacbf92470f710cL,0xd470aeb95e198d3cL } },
  53174. /* 5 << 161 */
  53175. { { 0x8e3807dd7a3e874aL,0xc4edb45b89ac3a99L,0x9ba9cdaf4bfd77d2L,
  53176. 0x31d33f59b540fffcL,0x404c87790c60028bL,0x7f89da7189688c81L },
  53177. { 0xdd3390e5504b862bL,0xdf1e721be937efe3L,0x5833d0df63e6036fL,
  53178. 0x7712527a385fbab4L,0x6347236bd210c0d4L,0x12d7733c8d238e2dL } },
  53179. /* 6 << 161 */
  53180. { { 0x0ecb0723302e943fL,0xd180ca1e4a443e78L,0x39e7891123dd2c9eL,
  53181. 0xfa2a440401fe50bbL,0x4678e7ed154d39d1L,0x64ddaee1af513e01L },
  53182. { 0x6d4c615a634904daL,0x937c6326ba5c900cL,0x70658f5feb6c8582L,
  53183. 0x2a04fd51f3d65166L,0xcefe7472b676eb47L,0xd3565a71f597d887L } },
  53184. /* 7 << 161 */
  53185. { { 0x299520f4e5dcba80L,0x522ad4b52b758045L,0x54eabe27193b36d4L,
  53186. 0xda4d3bff45e9e442L,0x44cb9252637311f3L,0x4cd620a971338ebfL },
  53187. { 0xec908157cc9524fbL,0x2731a11ba8c955d7L,0x72a5e0545cb94009L,
  53188. 0x7eee8f3b9126cfe8L,0xc71e29203dd5d5ceL,0xe886f91a22069494L } },
  53189. /* 8 << 161 */
  53190. { { 0x294d29550db962c0L,0xd6994ef46d523ab0L,0xfa1a7f9158f95037L,
  53191. 0xb137981164420c94L,0x2b686e1e093caea8L,0xdef10944f9e1c340L },
  53192. { 0xcd1beecf611d9bf5L,0x34696c50a1b5267bL,0xcecbc7192dfc2b16L,
  53193. 0x2cdb955dcee7e854L,0x9fefc321f2635cc8L,0x276d2e4f2936f7d3L } },
  53194. /* 9 << 161 */
  53195. { { 0xa9de8b87d38e86b2L,0xe0c2f232780d2fb9L,0x742d7fe9449e78b1L,
  53196. 0xc6946b7ef29efe3bL,0xbd59bcf985de7456L,0xb070ebfadb492e64L },
  53197. { 0x5cda7ac8a0ff7c15L,0x6e0c0062c4f435c9L,0x4d8e5395974d4be8L,
  53198. 0xa0a0c5984e6d1681L,0x5debadbea14cbda0L,0xe176a772ae30b167L } },
  53199. /* 10 << 161 */
  53200. { { 0x25df81bce7b19019L,0x3058081aa6f45519L,0xccafbccabb3de1d7L,
  53201. 0x2b794710c515b1b0L,0x74b81bf87168d9ddL,0x92d5e462ec00571eL },
  53202. { 0x865e29efdc670943L,0x2350537c7f6299c0L,0x9fdf787ea947c6f8L,
  53203. 0x9601cb21cabe0f8bL,0x2899d5f49313b000L,0x4873bc9f66a9e8e2L } },
  53204. /* 11 << 161 */
  53205. { { 0x2829add72f163a26L,0xf96dd91156909488L,0xc16d185f769ccb59L,
  53206. 0x13c4b566e9c6da4fL,0xfd68110bc423ac34L,0x64911819cfaa9fb6L },
  53207. { 0xad7c7d2b12dd07e5L,0xbf7eea90abc19a50L,0x1db70ed108d6c57aL,
  53208. 0x01da2b41446deeabL,0x163a5a5fa4f6a367L,0xca9f4bcca10c8a53L } },
  53209. /* 12 << 161 */
  53210. { { 0x2132c32e68206a00L,0x20bc1bb483bab6d9L,0x99fa3be2bc4ef156L,
  53211. 0xe515cd05ebbd6c33L,0x9c06d7670d2c8ebcL,0x2fa7f3b68a79c884L },
  53212. { 0xa4dad16a9137df25L,0xc4da20f833598c21L,0x32f5d9e3867cb117L,
  53213. 0x8f00fb54da7cf533L,0x428cf9e3870ef3b4L,0xa8b6c754521b8428L } },
  53214. /* 13 << 161 */
  53215. { { 0xe9b297be7be5e610L,0xd09f63c304b49303L,0x9110a9b381ebb814L,
  53216. 0xc32af8986bf19586L,0x5c4939571da2280fL,0x89e85cb41becc5f5L },
  53217. { 0x1068cb528f1a396eL,0x49dde483440a6144L,0x51280400b5d6aaf0L,
  53218. 0x0e8ac4a53e8ea21aL,0x32f4a91d92582420L,0x5eb09649bc35e408L } },
  53219. /* 14 << 161 */
  53220. { { 0xea3a2f0c32f235f8L,0x8281bfe5bf4a8256L,0xf44e1319577b9e1fL,
  53221. 0x31732d1bab2d9ac7L,0x6e7682eff375c5cdL,0x7069fbaf0913ed09L },
  53222. { 0x693257dcf690cb94L,0x576a85b2dfa6e07bL,0x72e00515447fe4e4L,
  53223. 0x00af617509a2cd8bL,0x05a61365902ae75fL,0x8310b16db5ecb690L } },
  53224. /* 15 << 161 */
  53225. { { 0x4d22c79cb00fd8f5L,0x432b09844c9ed8b2L,0x43da93b2a85b3f0aL,
  53226. 0x0522df2ac4163655L,0x2ea7210b77214019L,0x8280099b7051a9a3L },
  53227. { 0xcd0a829bb11b9e80L,0x9bda76c7246ee656L,0x1ece801bad70a0faL,
  53228. 0x4f8162f096721d79L,0x341faae58e7c3b0aL,0x6914420b12e57cf4L } },
  53229. /* 16 << 161 */
  53230. { { 0x4962c02167141724L,0x5f81eabeabe7762fL,0x78549a79dd189c3fL,
  53231. 0x47675cdd6ce517a7L,0x5102294e32d6bb97L,0xb19500c66ed1a029L },
  53232. { 0x3efb54e8b16a206cL,0x7dbdcc250dc135b8L,0x955bc2948967fb04L,
  53233. 0x373615c9be04e909L,0xf1fcf820111efad6L,0x8530f97d6fd2e97aL } },
  53234. /* 17 << 161 */
  53235. { { 0xdfff3aceb3b513d3L,0x569f9d42fdaed4c5L,0x8615a9cf71cdec34L,
  53236. 0x2e700c34ceeedc56L,0x9047d770a48d0682L,0x3fc845780ee5893fL },
  53237. { 0xaaaf3d90ab5b432bL,0xc846365184cb412cL,0xd215030d928ec9bdL,
  53238. 0x237a710045b97accL,0x0f533045ff791353L,0x093a0d21a1899bf6L } },
  53239. /* 18 << 161 */
  53240. { { 0x5da20568b4bcee44L,0x878025840f5bd27dL,0xc76b965c1c06dbccL,
  53241. 0x89ea2cceb1492616L,0xaefc8746b460c4bdL,0x679e6edb994d1756L },
  53242. { 0x4ff93a4a271f3218L,0xae496faf3b970a74L,0x062df3a7ba6c44f2L,
  53243. 0x1ede93021990ede1L,0xa797899af9a1e2adL,0x9b1bcf6d82599120L } },
  53244. /* 19 << 161 */
  53245. { { 0x63a38a51bd04f6ffL,0x2ddc958bffafb91aL,0x198895cdb19b2b08L,
  53246. 0x1bb494246f65b797L,0xf75df140f157b79eL,0xa188dc873d599990L },
  53247. { 0x8b926eecaeac83c2L,0x55fe56f03b82900fL,0x10eb6dd33b11d061L,
  53248. 0x8b44c14c3aec5877L,0x294b83e8b486e651L,0x469e552f79524b3fL } },
  53249. /* 20 << 161 */
  53250. { { 0x69386f451a746ed1L,0x4319649bcc14bac3L,0x006292b3b647cefcL,
  53251. 0xc771b7cda20e2a37L,0x838714d2396bf329L,0xf263e66759c0823dL },
  53252. { 0x7ee258f0725e3ecbL,0x37638f9934218254L,0x4d57db246fc6d0f6L,
  53253. 0x8c85ad7322c2dd47L,0x2300a9129c59cf13L,0x63971b0bee08c1bcL } },
  53254. /* 21 << 161 */
  53255. { { 0x180032d98c2e7698L,0x07d4d364a851f2faL,0x0070bbdeb50b5986L,
  53256. 0xba05ee28274eee7dL,0x28843675b0f482e5L,0xdcc9c09ff82b2229L },
  53257. { 0xae0273e7f061df73L,0xa3856b6644e3a740L,0x4b13b141527b80ceL,
  53258. 0xfd83b7f0e1b7dabdL,0xa3b5a2f1536c04c3L,0xfd09c77bb29e2bf3L } },
  53259. /* 22 << 161 */
  53260. { { 0x05fe64c5436e7c2dL,0x5b9f0b83ebb1ee26L,0x13dcbfed2977d6f5L,
  53261. 0xbd16c6b7db552375L,0xaaeacc2342da342dL,0xe427d2ee0cfec89dL },
  53262. { 0x3097ac7b038b280cL,0xa2b79d623aab3c43L,0x9771fff4a40f585aL,
  53263. 0xf50974e0b15aa16cL,0x114e51137a847284L,0x574ba8efb4fbe083L } },
  53264. /* 23 << 161 */
  53265. { { 0x3c8dfa3b05e37e4aL,0xeaf691b47408352aL,0x2e1ce9863c9a8610L,
  53266. 0x8d024a814acfb35fL,0x3766aa2184ba6baaL,0xc336f82eb91f5a27L },
  53267. { 0xe2d46985412ab7b4L,0x397f0411ded6de53L,0x067241c3544768fdL,
  53268. 0x9206d3839b71e023L,0x8571fe1e3f51c3c9L,0x0abdb52e3ba345abL } },
  53269. /* 24 << 161 */
  53270. { { 0x85e1e4abd5281f9bL,0xc7e517ddc653b0c8L,0xc0b84da1a717e034L,
  53271. 0xf1a63b280f1bf3dfL,0x47b74201aba6fd41L,0x9cf3da633518fcabL },
  53272. { 0xe12511fb23bb6e77L,0x13b2cb4438679d79L,0x20e0fb10db5665c0L,
  53273. 0xb5448a33b99f4d5aL,0xcb1847ad46b7dbceL,0x41f156b8fdcadb87L } },
  53274. /* 25 << 161 */
  53275. { { 0xd09b746793c8b2a8L,0x36c760204357f251L,0xa965d1771ac04cf1L,
  53276. 0xca49d59427740f18L,0xbba973ed76c53b33L,0x7f8c2d264c17d867L },
  53277. { 0x389afbbb00966b80L,0x92f2097a55988387L,0x316a85393a47c746L,
  53278. 0x259ae094ac3a3a30L,0x337f1d3f0d61ee3cL,0x02d5a60ca9d928ebL } },
  53279. /* 26 << 161 */
  53280. { { 0xd9f370e42af77d78L,0xf9cb8d588bfa692fL,0xdc8a4c24fc9203d5L,
  53281. 0x499b6fda3b8138f4L,0x051a61f19118d3b8L,0x89207fa2cb251fb6L },
  53282. { 0x32247676bbb0e12dL,0xaa1c59822900bce2L,0xe7beff9c7df4f6c1L,
  53283. 0x595fd551757c1449L,0x2fe91299650e8961L,0x2db30033f480bf30L } },
  53284. /* 27 << 161 */
  53285. { { 0xe796c05d110c4d7fL,0x12f87395d4af6817L,0x849cd9e6b5512cb8L,
  53286. 0x23b8d0a4adb71290L,0x28cc808bee64339fL,0x3072d46fcc27fd1cL },
  53287. { 0x8d9183af47f675d2L,0x9959aa9102c84561L,0xdff7591708216e03L,
  53288. 0x868c237abd01b2f0L,0x4c00c229a53e639fL,0x2c0667fb07d69862L } },
  53289. /* 28 << 161 */
  53290. { { 0xb4d2324f9470e571L,0x3af515979ca353e5L,0x479a3a796ae5778bL,
  53291. 0x387958a7fb1d9c91L,0x4e606558cf91edc6L,0x428384ca495a3b00L },
  53292. { 0xa49f67da10f7146fL,0xbda553e08e25f80fL,0x21b034c4cb919bc6L,
  53293. 0x1fb454bfa7930462L,0x1fb2ac9b255d7fd8L,0x491cceff8b197e6aL } },
  53294. /* 29 << 161 */
  53295. { { 0x0a0e0cd91f5a179fL,0x699d872713841e78L,0xfa93f774fc47f9cfL,
  53296. 0x8fd0019c02933131L,0x128efed95aa46834L,0xe20226fdf080cb8dL },
  53297. { 0xf7b05fc3000445dcL,0xcc818da1f52f5ddbL,0x0fa803d07299267aL,
  53298. 0x99cf0ab4f9f172a0L,0xb5dd3c36b08d03a3L,0xfafa550ea1c2f73dL } },
  53299. /* 30 << 161 */
  53300. { { 0xdda52c89d2da4e36L,0x0348948d5c333386L,0xe3a5be8b37917590L,
  53301. 0x42488ae238e4aaacL,0xa6ecb5be7a44eb6aL,0x3bfd640ea9b27b56L },
  53302. { 0x23b8d107bd05946aL,0x01018c45bb8034bdL,0x1ffc958cd2e058fbL,
  53303. 0xeadc93953fd43516L,0x0659b83ea0491dbcL,0xc36115008cdee521L } },
  53304. /* 31 << 161 */
  53305. { { 0xc0f3761c034b0a6eL,0x2c4ce5481fb66b85L,0x7a5d3143410698abL,
  53306. 0x4bc07a795d59e8c5L,0x176a10eb4d19ba85L,0xa8a68c5526dae045L },
  53307. { 0x7eed57fb21625985L,0x33ef04ae16c62e63L,0x78d0acd4562454bcL,
  53308. 0x5878d7f2a44a1608L,0xa51a423a0cf11971L,0x1934e3f2f21fd6ecL } },
  53309. /* 32 << 161 */
  53310. { { 0x3f2b5bd4b4805410L,0x201ca7a9f96c5ee7L,0x532ef2db94256fe1L,
  53311. 0xacbfc459318ddb03L,0x2375f9fd5f24c8e1L,0xd27c479b370783dbL },
  53312. { 0x1bd461e856541ae6L,0x78f054a77f7ea49aL,0xc9f8777d8845f315L,
  53313. 0x81aed29697fc92c7L,0x9f2f8d7949929540L,0x7531e78bff5ebfe0L } },
  53314. /* 33 << 161 */
  53315. { { 0xd4710d5a16ba6a11L,0xb172d8a0e056d27aL,0x01879d2b8301e5c0L,
  53316. 0x100c3e706f6a3396L,0x4a33d4a4e4e1cab1L,0x48016f0f08017d74L },
  53317. { 0xbde9e0f18cec4fb8L,0xd8604899eb15c26dL,0x17ac5d884a21f615L,
  53318. 0xb8f1e7060cb0cddfL,0x0ead85644a0d51c2L,0x7bff69bdfd6bafa5L } },
  53319. /* 34 << 161 */
  53320. { { 0x028acd1cb6b73820L,0xc931f4bc815047a8L,0x22c6159f1ede2c60L,
  53321. 0x571dd40c99a4820fL,0xbaf08be0b450f472L,0x6475536aeb5bb639L },
  53322. { 0x033568e4d984d0c7L,0x2ab7dd4885e910d4L,0xb0d76698d0c632ebL,
  53323. 0x954d00f3e3c34a46L,0x53e8772de651bc5eL,0x4910b07b6e3564f6L } },
  53324. /* 35 << 161 */
  53325. { { 0xe1550b37e758fcf6L,0xfea2446f763120abL,0x5db50b38124f80e6L,
  53326. 0x5cc28a7830c3301aL,0xa935846fd950d5b9L,0xae3e87f2ce43ebe3L },
  53327. { 0xf033b25b7d0776a5L,0x941d186e882c5916L,0x0430c4503d6d4f7dL,
  53328. 0x4e0641c0726f30ccL,0xdfcdbd1626c66c27L,0x43c4590ceb00e495L } },
  53329. /* 36 << 161 */
  53330. { { 0xd8cbdd8b70435ca2L,0xede7fb3675af3a63L,0x6c1fa971090b36bcL,
  53331. 0xdd2292eb85455ed2L,0xf9c3889c7fbe5041L,0x2ec87c15506d605fL },
  53332. { 0x2691b0a28b099c25L,0x27961c8b89944e21L,0x8e9e18a5147f5304L,
  53333. 0x6a82e35baf7dce25L,0x6745339c32a4bbc4L,0xe0bf0e0ee026676aL } },
  53334. /* 37 << 161 */
  53335. { { 0x3c6fd1ab352a43fbL,0xe57e7f8cbd68dbffL,0xa4a5b74e9ea30f41L,
  53336. 0xacea695d2d5a3a34L,0x183be19adc8fe4d3L,0x22fce6281b9f9d1cL },
  53337. { 0x8b1ae75da5d35bc9L,0x213face52c673f82L,0xa879851d6568d549L,
  53338. 0x327c59937f8d8112L,0x56b982e2a7869b71L,0xc77afa6110bb8086L } },
  53339. /* 38 << 161 */
  53340. { { 0x1dcd57541ccadbe8L,0xd2d8c36512b37773L,0xc1a7a5b7d50e8680L,
  53341. 0xab1a00b3e19d155eL,0x58f4bcce7a9776b8L,0x1c02df3320d9d7aaL },
  53342. { 0x24f00d31db8cea6fL,0x2680b029d4aa0785L,0xf3db2889c48587f5L,
  53343. 0x1811dd2521a7fabaL,0x5836964bbf820746L,0x3b118bab97aca83eL } },
  53344. /* 39 << 161 */
  53345. { { 0x14babe6321d76845L,0xf7b4c662c60f5934L,0xbf212c4434de5b23L,
  53346. 0x57c478a35bdf0a35L,0xddecc21535dc8714L,0x1609b7401571e91aL },
  53347. { 0x41998697ba45b40aL,0x6ef382d468cf383aL,0x77a24c1488c0ec9cL,
  53348. 0x0a5e245297b377a4L,0x2b9d72bf18f9804bL,0xa4c21326f51ddaacL } },
  53349. /* 40 << 161 */
  53350. { { 0x397049f4c785c7baL,0xa87db27da1decf9dL,0xce6d5ec1e7862c0cL,
  53351. 0x17a98db834350bf1L,0x6ceccd8030ec8d74L,0x4790cc07bcab4aa8L },
  53352. { 0x4378b1feb4f771a8L,0x3c54588b404dfcbbL,0xbddf0faa8d60f86dL,
  53353. 0x987583da3573271aL,0xb0afe4ec4b8f8032L,0xb5c44605b69d03f6L } },
  53354. /* 41 << 161 */
  53355. { { 0x7f69e8bfed7d4230L,0xfe54dca7d8ee8cbeL,0x6ec2b75f71b72d99L,
  53356. 0x97e2b30f8dd8338fL,0x9916dcdbbc75bf05L,0x22f4291aad5c114cL },
  53357. { 0xb6af2e86f9ba5c98L,0xdd7d738dfd6fc5d8L,0xce7af7d544649034L,
  53358. 0x2979be5cd163b098L,0x5acd51858db8d84cL,0x82b0e4a5ca64d1c0L } },
  53359. /* 42 << 161 */
  53360. { { 0xf27f5f4f480ef46dL,0x2f49f44fcba811f7L,0xef40508d43961b6cL,
  53361. 0x0f6778e8df9fb37fL,0x97aff7e8446864b5L,0x29aeb86d4d264e1eL },
  53362. { 0x48baa1984901daacL,0x91ade9db02b483cdL,0x00952a61cdb6abc4L,
  53363. 0xa1a51250de7f22c9L,0xe6adfaacc19ec8d5L,0xa7d2f066fc39838dL } },
  53364. /* 43 << 161 */
  53365. { { 0xfbe20a8e270bcf2fL,0x9882e7a0c35c60f9L,0x74d8e63f560e716aL,
  53366. 0xdc689649bae281e2L,0xd454571036d9b680L,0x0a0f1c681740ca0bL },
  53367. { 0x228dd692dadf3782L,0x6ab0bede632d6e56L,0xae2f5535e1b7add3L,
  53368. 0x2ce1c6fece308fa6L,0x7a11b255db881355L,0x903007107bee5bb7L } },
  53369. /* 44 << 161 */
  53370. { { 0xdd55c21a9f1a57d6L,0xc9e1dcf9f6043ee3L,0x0385e3f36747e2baL,
  53371. 0x6511555a932e55b5L,0x7f4053b3700e73f6L,0x23adf65d992916a2L },
  53372. { 0x4664bf231bfc40a3L,0x8400e8f27974d63fL,0xb70f104dcff08198L,
  53373. 0x4c44382f4d1710afL,0x5593a751374ec807L,0x6af17e84462c6112L } },
  53374. /* 45 << 161 */
  53375. { { 0xc1ad3eb7b8f1f38dL,0x74bb37c88d462e67L,0xd127b6e6246b0388L,
  53376. 0x3054aaf0824defffL,0x4e981d2e487809aeL,0xba76b7b805ead528L },
  53377. { 0x0a167834a7a32c6dL,0x3451ee930268c370L,0xab4da0971b625d09L,
  53378. 0xdb94f9aa304e60b4L,0xf3bea685ab50c663L,0x8d929a0142d4c11eL } },
  53379. /* 46 << 161 */
  53380. { { 0xfce03e6eaa911497L,0x32cba5cf546ab5ecL,0x631123d0b1a71e10L,
  53381. 0x49f3a80906bcdeafL,0x783373bcfc538ca5L,0x3590890ee4b47edaL },
  53382. { 0xb5c84fff39ab2df0L,0xf681be9ac737b24fL,0xf37bbc68b2b0052cL,
  53383. 0xd9f03cf6fde04d93L,0x23171bc2e43803e3L,0xeda51460040de801L } },
  53384. /* 47 << 161 */
  53385. { { 0x0e09a74d0bccf0d7L,0xfb429a675b58037aL,0x1f2660d2200b89ccL,
  53386. 0x489b332e04efc617L,0xb53d4f65f38ceeb4L,0xeaaf759546c4aa4aL },
  53387. { 0xc6cff1fa714b9f97L,0x6a647072ec0dd5b7L,0xcbf59eb1637384bcL,
  53388. 0x043003cd2240993cL,0x134cab640497f9afL,0xcdb44a4ca9fcc655L } },
  53389. /* 48 << 161 */
  53390. { { 0xbd9a66d6543b3e41L,0x2948c0a62ae73774L,0xa75151dfef38e9b3L,
  53391. 0xa3348ae5754fb3fbL,0x1218fa8f13069b72L,0x532bb0510835dfafL },
  53392. { 0x2121a98edf2be3c6L,0x85980de69e5199bcL,0x1b23a4be1a1eb6eeL,
  53393. 0xb5c48b92adeb3ae5L,0xeebd305dedea2b45L,0x20543f04c37198eaL } },
  53394. /* 49 << 161 */
  53395. { { 0x9eb2d599fa727a5dL,0x27cce415105643ccL,0x2face9e8c06035deL,
  53396. 0x967f70e4c5d916cfL,0x477224ece7cdc451L,0x70a3de4ea9a34198L },
  53397. { 0x84ebd23a62628f21L,0x517cbb6097f55e75L,0xa4dc8d8ccbfaa795L,
  53398. 0x821d53c1a9c17b12L,0x04e94aea5124d5a4L,0xc72432c083efbc58L } },
  53399. /* 50 << 161 */
  53400. { { 0xb7a2090999f73a42L,0x019bf3a630db0901L,0xcf0c2a7281cfde4fL,
  53401. 0xf656a2117b0b04f8L,0x88cedc1896043e90L,0x4482c3786ae4c551L },
  53402. { 0x169f25d3dc70c774L,0x0f8cc86cb552fbe4L,0x17d0556b88d2f3eeL,
  53403. 0xf5af9d6ff864ba64L,0xcd509d82f93dbf7fL,0xf00c76f51b98df35L } },
  53404. /* 51 << 161 */
  53405. { { 0x19fbeb37856e35a3L,0x1788055c88f36390L,0x9da657f165361c9fL,
  53406. 0xc9f327b7e35a36b1L,0xdc388bcb04b9174fL,0xa79bf7d3349a87c8L },
  53407. { 0x865958b202289b24L,0x4096845ecebc4686L,0x1127085b42ce096dL,
  53408. 0x56f31d12735241bfL,0xe2239ab543b89a15L,0x477cc5b3a6a1f0f2L } },
  53409. /* 52 << 161 */
  53410. { { 0xc44c81525d54607fL,0xe742a6f35c9ab491L,0x50df96d9be8c2ed5L,
  53411. 0x3aa8c9b4e7f5cc4fL,0x577d534c3f12e8b5L,0x03f9573da33a57b1L },
  53412. { 0x9172e1aec5c0c895L,0x64fa9822a2e19442L,0x17db2388178a10d5L,
  53413. 0xe75a6bdc2755ed55L,0x6a6d9dc3f9188333L,0xdd93a3b83eda0c41L } },
  53414. /* 53 << 161 */
  53415. { { 0x353d1f4bad0d960fL,0x6fbf4355846e07dcL,0x2156ae3c3a1bb429L,
  53416. 0xfa95a260442e6e21L,0x659a856ac2b31d7dL,0x9b56cd6563ecb2d0L },
  53417. { 0xac9ec96823a787b7L,0x4102d82e320742deL,0x470ee0ea50a422a2L,
  53418. 0xd3ca8414af386491L,0x28d8994b1a0d8192L,0xe601e4e2b3f117dfL } },
  53419. /* 54 << 161 */
  53420. { { 0x906c071c4e9ab844L,0xeb1a5806f085a058L,0x2f14c3ac176e2f59L,
  53421. 0xfc1a3020bd19f909L,0x5e67d789ac060e45L,0x75dd23a7b707084eL },
  53422. { 0xb9dec51a07e89974L,0x50c9cd0b38f97f3dL,0x368b0f53e14cd6fcL,
  53423. 0xea4c7f8b81ab93b2L,0x774ca31d1b7aeb66L,0x94c14607288f51a9L } },
  53424. /* 55 << 161 */
  53425. { { 0x18c41b62fe32b90aL,0x2e11c7e6be96e1aaL,0x72832e8c428b9d81L,
  53426. 0x93f63cc0058ca451L,0x603f18af7cc827f1L,0x31c8b8fee038eb26L },
  53427. { 0x21158b24411cb335L,0x48dbbed70d9e953dL,0x445e244e4d62615cL,
  53428. 0x2f5309ac28ef4922L,0x12ee44c60d4dc305L,0x7dc0363f56f7677aL } },
  53429. /* 56 << 161 */
  53430. { { 0xf73471b5ef349ec5L,0x014dae75565aa6c7L,0x57cb497dae082cefL,
  53431. 0xdfcbf2b5c3e563bcL,0x22149c0fd1125f95L,0x529f419b425bc019L },
  53432. { 0x049476deaee2094cL,0x3490c0490cbbb583L,0x56c5c62d1256424fL,
  53433. 0x0a118ee541bc66faL,0x0d8e9ff8296ada14L,0x34356e8b0134f8c5L } },
  53434. /* 57 << 161 */
  53435. { { 0x5e41ebd6eb28f97cL,0xe054a055d6a393f8L,0xc0a19e38db6555e3L,
  53436. 0x1b40c80fbabf4f9bL,0xfca17ae2780d5107L,0x89ae096f379701feL },
  53437. { 0xd79be295b53ebb0cL,0x3112d3a5942b2247L,0x6c1f44d30de10f30L,
  53438. 0x2a17fffb0041f800L,0x13082de044552d55L,0x319aa9c0cd11c85aL } },
  53439. /* 58 << 161 */
  53440. { { 0x63ea1a6ae760373bL,0x00f2addd11742d8cL,0x46b17c9cafdd38eaL,
  53441. 0xf4121c5a4c7e78d7L,0xbeb70ef90048e4f0L,0x0b60c2b6bf7f7348L },
  53442. { 0x4bbadf7632969689L,0xcb6a8a20e12708e4L,0xc43ad55b5638eb7aL,
  53443. 0x4a72b02b3d27bf7aL,0xecc95d92e5a54c30L,0xae52514bacc45d53L } },
  53444. /* 59 << 161 */
  53445. { { 0xbf5a2b5132d1f651L,0x6a2a74116e438838L,0xfa6353dd6c067d61L,
  53446. 0xf6918622b96ba12fL,0xf0fa254d45f595f3L,0xa0f0cb4b92f680a0L },
  53447. { 0xf13ba734463e3f27L,0x7e3d4eb1a32d7f9aL,0x348baaf26f6502dfL,
  53448. 0x8021a9977b830e5eL,0x503f38ca55caf601L,0x27dde9e8f4bb74b6L } },
  53449. /* 60 << 161 */
  53450. { { 0xfd5a49310eb63b3cL,0xdb9f1a1510175713L,0x044d42c23e11c321L,
  53451. 0x5561f2e9b7961e8fL,0x70b3f7557ec7c597L,0x5dd9671235aed561L },
  53452. { 0xc6cdc78ee1bcc2b1L,0xebcf6f87f1117aa5L,0xef470e0ae3669f78L,
  53453. 0x87b13e0fd38e0fe8L,0x01bff01439c755c7L,0xa66f2521c37529f8L } },
  53454. /* 61 << 161 */
  53455. { { 0xac56a8b223f78e49L,0x908c4be58708f0b5L,0xa63aa4191536f6b0L,
  53456. 0x8c08578fe5a95771L,0x5d2d1d6b9c2ae8daL,0xf3e4ef12f1527cc4L },
  53457. { 0x46c1ac13920a90bcL,0xc0bc661d28ba758fL,0x9114e016585ef450L,
  53458. 0x8ab6a1f6e899a032L,0x57d4089606b658baL,0x2ef87621eb83235fL } },
  53459. /* 62 << 161 */
  53460. { { 0x033a4d4c4ebdc925L,0xff239a3efe1b346cL,0xd7ab2fb388d03949L,
  53461. 0x56ce2e41bd6e8e4dL,0x3826aff0e55da68dL,0xc9c7ba7451267f98L },
  53462. { 0x5264a48ae6710c7cL,0x3635f1d4e7605975L,0x53a1849a94be903cL,
  53463. 0xe4fc3617128d5859L,0x7686804d7e4dd785L,0x6f04942d2dbcfe4fL } },
  53464. /* 63 << 161 */
  53465. { { 0xe80b7f5562927d6eL,0x92b98c350c0cc89fL,0x9522896d15117facL,
  53466. 0x7a224db5fdd3ffcdL,0x9502ecd8fbfc8908L,0x4e1dc71ac593105eL },
  53467. { 0x052aade62f0536dfL,0x0c7cc371f324268aL,0xe7c62f2ccd843bb4L,
  53468. 0x77d48fa36df2c231L,0xb2c29803cb8f68c4L,0xad7ccf519bb9fddeL } },
  53469. /* 64 << 161 */
  53470. { { 0xd0960bd80fab968cL,0x6899e4faae028db0L,0x975ccc77a9850916L,
  53471. 0xb41bd531e5f81554L,0xbdf8ab57c8cff2c8L,0xea306a01f5822be3L },
  53472. { 0x1f0ac0e7befbdbbeL,0x72f4b0e960519f87L,0x22bd8b82e3cc86abL,
  53473. 0xc43bde8d2b2beaeeL,0x8168781e412617ffL,0xc5610627b7ee7096L } },
  53474. /* 0 << 168 */
  53475. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  53476. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  53477. /* 1 << 168 */
  53478. { { 0x0869457a01a8eb44L,0x522239857a7bedd7L,0x2c04b0c600057505L,
  53479. 0x468be6e80b09adebL,0x2f3bf32b6f81474fL,0xf54f949da712ccceL },
  53480. { 0x292cee424cdd8f2aL,0x3d9fdf6b9c221be1L,0xe54da66156f47b2aL,
  53481. 0x2ca76835840b5d1bL,0xb52adb6a8a6e8cf6L,0x8b416a6bdade153eL } },
  53482. /* 2 << 168 */
  53483. { { 0x65f7d2c18565afc9L,0x764c897170fa7b82L,0xe268634c986436f2L,
  53484. 0x6334d8d133356165L,0xf17164269ec7957dL,0xae834331b8093983L },
  53485. { 0xedb1fe5cd2dfcce7L,0x6195b86368463e5cL,0x746e5f4da691b665L,
  53486. 0x61171291e1e2727eL,0xbb4aa8f16f27b029L,0x1037657d7f42c197L } },
  53487. /* 3 << 168 */
  53488. { { 0x2af8bdfa970f96adL,0x19d09a6dd0c86e6dL,0xd57fd5ced7046d2eL,
  53489. 0x5ea025f7d545fd33L,0xe2ccb6f43161ffd7L,0x3ca5286209406242L },
  53490. { 0xf3536d60b5c90905L,0xd086e3b9d5b290f6L,0xfd15b06a5cc55444L,
  53491. 0x61b0febf9a9e2a66L,0xdc3c0576653dfd02L,0x357774230a8ab51fL } },
  53492. /* 4 << 168 */
  53493. { { 0xfe19901b0d5b855aL,0x5facb9552f745022L,0x92fd012556c4ce5cL,
  53494. 0x23172d65938c89abL,0xa71f8a33aaa587b1L,0x511a3745b55c9c50L },
  53495. { 0xec005f6a7185086eL,0x6dfc2761f894c6abL,0x98a4d67f9e26361fL,
  53496. 0x7f0a2b2321389c25L,0xd158820795ffbceeL,0x4d6b29ab9f36a888L } },
  53497. /* 5 << 168 */
  53498. { { 0x5ffec1d78c04bc6eL,0x35f052d16ca0dde2L,0xfbe3844c649c850bL,
  53499. 0x450263e610fa337dL,0x44f7c8f40280773dL,0x27de5d3ce896966cL },
  53500. { 0x2587f47598d0378dL,0xbd49c97f4e4f6e49L,0x9e902f667071543aL,
  53501. 0x03398aae06577b74L,0x030926d6910bee13L,0x5576575bffa92cecL } },
  53502. /* 6 << 168 */
  53503. { { 0xe4ee33460562cd7eL,0xd1d385a3f01ba45eL,0xd817ca667ce11848L,
  53504. 0xda222cddcb69c7eaL,0x74ac74709d680afeL,0x3770357cd9596ca8L },
  53505. { 0xdff57da7f7759bd6L,0x090426be20d5c726L,0x71c0ba28b7fbc1b0L,
  53506. 0x60faab1c13d4ed0fL,0x6fbe3567ea3a2ef2L,0x0dd3835c4e577dffL } },
  53507. /* 7 << 168 */
  53508. { { 0x9b758b512ce27e38L,0xe4148475a39855e3L,0x4669b3c39ee88a77L,
  53509. 0x3f36a671105e1ec0L,0xd0f30e5d9e88ea13L,0x6346df15baecbaadL },
  53510. { 0xec65be65cf4c6510L,0x843efca194e1989fL,0xf7195d29942ce52bL,
  53511. 0x12201877d3ce28d4L,0x9c962aa1a97fc904L,0xc4fedb3465c5a55eL } },
  53512. /* 8 << 168 */
  53513. { { 0xeccb421ed0a701a5L,0xad4cb9a5b60cd286L,0xd344da9e05a53972L,
  53514. 0x3a8035e07bc99feaL,0xe0214485c0f77bf5L,0x50ada30ee54df78aL },
  53515. { 0xdef45af64ec2d576L,0xa05d61845f9a8678L,0xa9b17db1c337e017L,
  53516. 0x026a4f66b84671d5L,0x606142343b7d696dL,0x71ed9aaf81cfd22aL } },
  53517. /* 9 << 168 */
  53518. { { 0x62805305695a3f30L,0x6ce27626e28e8fe0L,0x507386af6a54f410L,
  53519. 0xf8c5f738cd5c7effL,0x3ab2db9e347e85d7L,0xf5b635b0b2161b68L },
  53520. { 0x99009791be2e80caL,0x6dff3030c13910ddL,0x2beeca057ee8700aL,
  53521. 0x12616fb11ac7e09dL,0x38c9ef9f9037c2e4L,0x39181fbf9c140344L } },
  53522. /* 10 << 168 */
  53523. { { 0xcdd6aee47aa54433L,0xf5ecb432b80336f5L,0x690bb949a1380829L,
  53524. 0x219d659ca9c9d720L,0x74abf2dd7e5a3260L,0x405ee136025c55d1L },
  53525. { 0xc5c592cb1cc878a8L,0x119a38be88b31ecfL,0x4fb00f82e94e39e7L,
  53526. 0x66bf72e59412c068L,0x9337c8f30821142aL,0x477216340c24ab67L } },
  53527. /* 11 << 168 */
  53528. { { 0xa6c7953457fe953eL,0xd70d3d2f3c76ae58L,0xe1e047b52c531c84L,
  53529. 0xc71f3a9973735602L,0xd70bdb0f7ba0628eL,0x280fdd4e0e3e3c0cL },
  53530. { 0xb5a3f5823e414e26L,0x55b2eda8f44dee7eL,0x8e1d024b2f5dd828L,
  53531. 0x21f054eb3b1bfdf9L,0x3d3ae74cc554e1cfL,0xa0a5863ffc42ec16L } },
  53532. /* 12 << 168 */
  53533. { { 0x1b76a3c5439ada39L,0x818829cf89236ae5L,0x2277cb7a750f8129L,
  53534. 0x44aa462a4d46502bL,0x7a12e1e164f06dc8L,0xb9a3300dba5630cfL },
  53535. { 0xd2cc8d9c55b05f4bL,0x6d0b0b88a700be7aL,0xa7be99699617500cL,
  53536. 0x2b5b8deac03f8a50L,0x712f703e785b3dfdL,0x96a5a60accf93950L } },
  53537. /* 13 << 168 */
  53538. { { 0x9838155fbf9f72c6L,0x3ab3cb602c10e57dL,0x7ac228ef14bcd75eL,
  53539. 0x2c167e15027923fcL,0x678869d1267471c7L,0xeba35e857ec3582cL },
  53540. { 0x22d290a9a3478eb3L,0x542092ca1309aa14L,0x8bb5c69be2e5d3acL,
  53541. 0xf83c5a0a81652736L,0x9cc576227280cd6dL,0x6653436f3b0f49a1L } },
  53542. /* 14 << 168 */
  53543. { { 0x7ad1f1bab497d900L,0x9d0512236c9dd5d7L,0x0ed27e5bffed3df8L,
  53544. 0x659028a775d2fa72L,0x69bd68154581f377L,0x142c2088e2faf671L },
  53545. { 0xf9c1b8a499b000ffL,0xf31d01b18f408d3aL,0xa7aa142f42b9d35bL,
  53546. 0xeb8aa74ba0495da2L,0x824cc32a59a1da45L,0x3f1fbe0ff5173374L } },
  53547. /* 15 << 168 */
  53548. { { 0xec9071a634238c30L,0x6dd6c38b88a0f423L,0x3adace72992e7977L,
  53549. 0xc90b941b1ae5166eL,0x052aa3e9e3e43a68L,0xe9b1976da733a950L },
  53550. { 0x0e1ca28e5ff6c9dbL,0xd1bd4350387409a2L,0x5943cc7089155117L,
  53551. 0x8e85794f5feae20cL,0x0d118fd669768ccbL,0xc647179d53120895L } },
  53552. /* 16 << 168 */
  53553. { { 0xfeb984b3ee828fbaL,0x8273f830e2bd188cL,0x177ef97e3ca0a99fL,
  53554. 0x76d4796dacc000acL,0xbad0fa6eb140f51aL,0xb275656706ebc810L },
  53555. { 0xf89eb78fa18cb32fL,0xcfc37eaea65285b0L,0xe2b29cfbb25e9d1bL,
  53556. 0x9388ea8fb4e7aef3L,0xee606c12e267e845L,0x6b103c549f5806d7L } },
  53557. /* 17 << 168 */
  53558. { { 0xb9a40e78e31fd643L,0x648cc34a97950a34L,0x85c5ca405900be55L,
  53559. 0x2e519cf12abb843bL,0x6f9d0a7f27436edcL,0x2f569c9d6694f363L },
  53560. { 0xf6d1b325f6f1bd24L,0x01103c0d4044b353L,0x2d3ce56f3138b549L,
  53561. 0x5379bcf71c28bc5bL,0x6768220d08ac00d1L,0x973f92ff0152746cL } },
  53562. /* 18 << 168 */
  53563. { { 0x5e992944b37b0486L,0x0a334b92001fa124L,0x6653cded9c9ab466L,
  53564. 0xd512612fabac4da9L,0x636bf431c502b860L,0xfca1c0c2c3d20db2L },
  53565. { 0x7073f293f85c40c3L,0xfaabc77acfba9eddL,0x58842eb97f9b570dL,
  53566. 0xe8cd4f53702aec24L,0x8975f4e6e08113a1L,0xcc0d7f17767bedd6L } },
  53567. /* 19 << 168 */
  53568. { { 0x5163bb51ae315a65L,0xf82ec4cdbe405348L,0xffd381a46b1801a4L,
  53569. 0x33f9b8ad2f6ba570L,0xd88c58a58ecc0000L,0xc0b9a639cfdad25eL },
  53570. { 0xc78cb70fe3bd808aL,0xf54b86e573ce5eadL,0x111208ed5610a761L,
  53571. 0xba3579b0e3c8e27aL,0xbadd918c63b85bb7L,0x9e10da0b71bcd972L } },
  53572. /* 20 << 168 */
  53573. { { 0xf418e3f63766f2aeL,0x4a3ad3c8053ef1c1L,0xd01e5b5b560db262L,
  53574. 0xa583edc7c02bf4c3L,0x7c9f706052f318d3L,0x0852556f1f5e1ffeL },
  53575. { 0xe1c70aa7feb0e63cL,0x59f0a3f989a8c058L,0x4aa4cf021ffc0adeL,
  53576. 0xbb880e4138a78632L,0x35b0f7596f28f096L,0xf9c4fe17d5757d7dL } },
  53577. /* 21 << 168 */
  53578. { { 0x160303ded896adf7L,0x19a46b6c6beb8930L,0x33dfd962f010f74bL,
  53579. 0x03b699cc00e5610fL,0x17487b7595078dfeL,0x63bc614253f3479cL },
  53580. { 0x43f3d994858d5b8bL,0x383349349483c0ffL,0x47c917a67977142bL,
  53581. 0xdc50fb80df7eead4L,0x4e3a1d3fb5b82be1L,0x091af8796d7317b7L } },
  53582. /* 22 << 168 */
  53583. { { 0x783e5066af151a9aL,0xec0a9c175466df17L,0xdecd12310174b0adL,
  53584. 0x654af66a3b2aaa45L,0x849d64e5b1fcdd11L,0x7e8e2ae6d05af56cL },
  53585. { 0x12e887b7318a6184L,0x42d1445554ed59d8L,0x2eafeb48ee54ddc5L,
  53586. 0xd1f9e6b980c94a8eL,0x5ea691e3263696c0L,0x7f42f3796e03eed3L } },
  53587. /* 23 << 168 */
  53588. { { 0xeeb8accfd69b82b9L,0xb4c4988ae0b61d73L,0xb78becf19df9b59eL,
  53589. 0x13274f6236440c93L,0x33d287f5697d5a77L,0x391fe6129af4053eL },
  53590. { 0x986c42b21c16e858L,0x23f5d1dffe04125aL,0x2f57ccb3af9541ffL,
  53591. 0xe5b4eec70f1a8bafL,0xaad23ce7646c1b6fL,0x69495ee5a6ff96abL } },
  53592. /* 24 << 168 */
  53593. { { 0x78b8879cfd6376ebL,0x22a76461c01e1edbL,0x6a44be39369cf0c4L,
  53594. 0x6653670d5ae54539L,0x257bd7516fb43ad0L,0xb3ac371512baffddL },
  53595. { 0x48659d617548eabbL,0xd8f931f80cd468cbL,0x98f0241549e3b531L,
  53596. 0x90b0d71670df011fL,0x26d73c54ab98f066L,0x06591ec988475d5eL } },
  53597. /* 25 << 168 */
  53598. { { 0x6fa72e3518f18e71L,0x6c04fe2d8123ff14L,0xc48cb53a197481a9L,
  53599. 0xf059db349860e48cL,0x35e8341ace46ca7dL,0x880f4ea4b0400f7dL },
  53600. { 0xb4c5ea9acc9cc40aL,0x6522c768e2555fa3L,0x95207f39ea2c32e6L,
  53601. 0x7b6fc09fa8be60e1L,0x772b829f29902652L,0xb7936b90af6a48dcL } },
  53602. /* 26 << 168 */
  53603. { { 0x409e3b1109758457L,0x59dd0a8c1dea73d9L,0x528906a58fb18a01L,
  53604. 0x6fa55967a17ffb33L,0x9523cc3d50edbcb2L,0x35600b3e44d43541L },
  53605. { 0xc3a7d22c8f87dbc0L,0x5514c967c1b225abL,0x78e5701988304a74L,
  53606. 0xe9b417ba35f3b54dL,0xb72a243c48eea230L,0x4e173eaf291ee52dL } },
  53607. /* 27 << 168 */
  53608. { { 0x79b854ca2127c795L,0xd9457d8f86657844L,0xf8c9e6ef186668e8L,
  53609. 0x84c8855df913c2f6L,0xf207d36ad641cc12L,0x7be9b5736105ce0aL },
  53610. { 0xe72cce1974ec078dL,0xc4f47413d09950c3L,0x640bf6eb3974554eL,
  53611. 0xf880dcfb844497baL,0x3744626999bbcfacL,0xcf1712f4316f4d64L } },
  53612. /* 28 << 168 */
  53613. { { 0x627f6328412b84c3L,0xd427e977a04545d2L,0x5b0145bc104f25c2L,
  53614. 0xa6931c4f2ac7ad62L,0x407611431f8d42f5L,0xfda5a76be7f8a0b3L },
  53615. { 0x4f1ca5cffe0946b9L,0x6def7b9fbeb2d427L,0x984bd4bbc9a0d136L,
  53616. 0xb9a778235b3af1c1L,0x04ee66ae38ac2087L,0x63374ed926d9dbb9L } },
  53617. /* 29 << 168 */
  53618. { { 0x68088e9c3983deb9L,0x2c95ecaa2ed99988L,0x371af002917f200dL,
  53619. 0xff33aa5dbb4ff0dcL,0x1dd5fcf2e47bbd6eL,0x1624b973e75f73ecL },
  53620. { 0xf6ce0e9db9722af3L,0x8bde5b8818226fcbL,0x243753fc5b5da478L,
  53621. 0x3b53e0e3bdf88daeL,0x59f8c86f325cedb2L,0xabd4076d70fb9681L } },
  53622. /* 30 << 168 */
  53623. { { 0x1996761db8759af1L,0xfb85cdd8e4a705f5L,0x2ea7aa0b35111725L,
  53624. 0x23245d4157a17f4bL,0xcbdb650e0d00eb9dL,0xb40823d9e23a4a3cL },
  53625. { 0x041bfb67229163f8L,0x020ad3c16d47b83dL,0x3bc8975d344c8ebfL,
  53626. 0x287efd06d91ff408L,0x1ca5d75a2059106bL,0x4ff27af3b90c5d66L } },
  53627. /* 31 << 168 */
  53628. { { 0x416b7c61ded914e8L,0x1aeee7d007ad4237L,0x59d5852476c2b7a4L,
  53629. 0x427a102c98665f29L,0x8504aa8d2a1aefe4L,0xef2dbeadc183a736L },
  53630. { 0x5cb5f222f533358cL,0xf2ebb47d36b0d678L,0x1de4a0e7f2c2cf99L,
  53631. 0x62613994ea95a161L,0x68a86f4012d66ed4L,0xeb12fe75b2af52f3L } },
  53632. /* 32 << 168 */
  53633. { { 0xcf947c0644ba39e6L,0xf5d5216cedfe78d7L,0xd00115c05f1835c9L,
  53634. 0xdf084152d8c79d90L,0xc0c3a6846db5f791L,0x40514451749b18cdL },
  53635. { 0xd314b7d5734df3f1L,0xbccdd3f07f541415L,0x97ed5af06855a942L,
  53636. 0xea84ae9ee9d02ab9L,0xb87e90343238a5d0L,0xd12d25c3650a0eabL } },
  53637. /* 33 << 168 */
  53638. { { 0xc3747c584f9d2c34L,0x493a0adc95429c92L,0xf9b5916238a679ebL,
  53639. 0x04d500a16bac07f7L,0x8938f4f96a809676L,0x44ecbbf0c5b25a4dL },
  53640. { 0x3b68705504768400L,0x6a432e14b4db3907L,0xff82fb56ad375d2bL,
  53641. 0x87f59f97944210c2L,0x2b680b2051445242L,0x1e0986466cd75962L } },
  53642. /* 34 << 168 */
  53643. { { 0xdd2eea82672e5a4cL,0xb05ef9ebccc68d94L,0x626ce368a3fa4215L,
  53644. 0x6e376f67fe46bd46L,0xaed7a0bc33c4f169L,0x4a92c6093af5c4fdL },
  53645. { 0x6615245fa690fb49L,0x571d2d870d64f04dL,0x6a45df34641ce79bL,
  53646. 0x045ddbd02655d316L,0x2b6c574db4fbc42aL,0x41545fbc5b2dbbb8L } },
  53647. /* 35 << 168 */
  53648. { { 0x484996b97d8f1eb7L,0xf72f3a8110bd1585L,0x418e00e7b67eb27fL,
  53649. 0x354e56c97877c18fL,0x7f11f5040a8b37f9L,0x66591146ff58764dL },
  53650. { 0x816ac849ed0bfc38L,0x85eaa6350a50a99eL,0x7fa62d9c5bf4995aL,
  53651. 0x77840d5003413385L,0xe4f023bde83f9fa1L,0x2c5f8e1d9cfa7578L } },
  53652. /* 36 << 168 */
  53653. { { 0x1473b55b86a515a9L,0xa9e3230a3b337c64L,0x7e8bf9049db668f1L,
  53654. 0x1db2c25ef27f9fc9L,0x0c1086072d9e467eL,0x4505579aa3f00d52L },
  53655. { 0xe2ad661b240400a7L,0x8022294c11af4874L,0x29e9037078bba8e8L,
  53656. 0xbf0fbf08f6baca04L,0x2e46d2b74101fab0L,0x66065490c61089e6L } },
  53657. /* 37 << 168 */
  53658. { { 0x18b01aa935dde51dL,0xa7496997a7d044b8L,0xcd9c467f44c23d2dL,
  53659. 0x96211b86659e4a5bL,0xa2a9000f3e17b717L,0x7af9c312dd90459aL },
  53660. { 0xf0d6c24394547203L,0xa76a23dbd77cc691L,0xe1b7fce10ef364deL,
  53661. 0xe08c1d0bb689c810L,0xb75bfacb0a43ca02L,0x1b7afea5408ac99aL } },
  53662. /* 38 << 168 */
  53663. { { 0x3b1abdb85a4a8a23L,0x8f52060c4d68bcf2L,0x7408306a00ab3146L,
  53664. 0x652ae3064b86b775L,0x276a14a0b0695b00L,0xcf8af11f1b771254L },
  53665. { 0x3fafcc63b91118b3L,0x6c49000a73bacebcL,0x53852d084e3f3d6eL,
  53666. 0x78977e91fdfccca1L,0xe843cbca6ae9ea5eL,0xa99831896bb8271bL } },
  53667. /* 39 << 168 */
  53668. { { 0xf77b0a7387534a6cL,0xfff419f2f5b0c6dfL,0xde3c3b33357205eeL,
  53669. 0x867eb3a23c8ec9d6L,0xd28bed3263a99b18L,0xf5fc17e4c1573146L },
  53670. { 0x30cf41e5821641feL,0x84b1970e225ab57fL,0x6bf707325a1e8ba0L,
  53671. 0x7bfb3bbce3cf38d6L,0x9f362787a661e876L,0x6d9137c86c0a16fdL } },
  53672. /* 40 << 168 */
  53673. { { 0x2131ce5b09f8a1cbL,0x7b373ed28ab129e2L,0x463cc8d677c1292aL,
  53674. 0xa9b7cf6594ffe9c5L,0x129125ceb99bfc4fL,0x819b42849820d323L },
  53675. { 0x3f70976376541a41L,0xfd679ae5e32c7a7bL,0xc39a208df65b6b3cL,
  53676. 0x1c22ebc050002745L,0x268f19dde2bcd202L,0xfeac809c9c3d4266L } },
  53677. /* 41 << 168 */
  53678. { { 0xc5ad8903af14f8a1L,0xdfcd207c3993c99cL,0xf65f8260c7c1fd57L,
  53679. 0xa1573b3d41be66fdL,0xeeeb9ea476690f79L,0x6a6338437129849dL },
  53680. { 0x22eeb38623a7bfcfL,0x258fc0743393e894L,0x008efb477ce9602aL,
  53681. 0x4bf127b699c7b279L,0x150da482fa1bfd7fL,0x7b84744d293754dbL } },
  53682. /* 42 << 168 */
  53683. { { 0x3af9919db2183277L,0x7f5990fb4f6182ccL,0x17603db034f716d2L,
  53684. 0x6b79f6538f135ad5L,0xad9189e68092d128L,0xa5f3ab8efc6628c1L },
  53685. { 0xa36b978e84b6d30fL,0xf2a7e1c64c001f26L,0x2acbdfd676e79beeL,
  53686. 0x71b5faec86f6d6c6L,0x23d9b7c849b0e5d7L,0x36ea518212fd4cccL } },
  53687. /* 43 << 168 */
  53688. { { 0x14a4af0f59df1cf9L,0x37f8641dfd7cd2b4L,0xfb6aa5d0244434b2L,
  53689. 0xb85f8c8b5d5bbd63L,0x833e76baedb92f97L,0xbcd9d7b50d7a2dc2L },
  53690. { 0xb233f07ff0e0f06cL,0x453f10c4fcc06efcL,0xa4e8f306128a167dL,
  53691. 0xbd6df4690d0c09cbL,0x2b5db66b7168ecc6L,0x7ec02c77f29bcecfL } },
  53692. /* 44 << 168 */
  53693. { { 0x0746783787dcdbdbL,0x4cce33be320493d8L,0x9ab08cbe713c7746L,
  53694. 0xd6f0c1de9c6dc5cbL,0x194005382ac03761L,0x3fc11f38d0547be5L },
  53695. { 0x66b378ce819fe3fdL,0x6a590acc3700fe7eL,0x4c976a728924b396L,
  53696. 0xa5006d8d70b9b250L,0x2fdce1b212b85f9cL,0x5858f7ce495f8f1cL } },
  53697. /* 45 << 168 */
  53698. { { 0x3f2b5e295de2948eL,0x84554eaae1a4a962L,0xb4e55f1293db9addL,
  53699. 0x9260e3eb61b22484L,0x22a898997b1a6d10L,0x571bcd3af58d1ce3L },
  53700. { 0xd62db0edecc88a76L,0x88352f634af2cf53L,0x8d279316b61c73adL,
  53701. 0x7f898e09ec74d6abL,0x39b2b0c05412a81bL,0x623a5ea30644b6a4L } },
  53702. /* 46 << 168 */
  53703. { { 0xe876b53bdb0f6565L,0xd0dc323c4650204bL,0x0e4af31b0201643fL,
  53704. 0x486173207e8a0e6cL,0xe09183d457643a1cL,0x3c55bcb5ae8359b1L },
  53705. { 0xa06078cb7b467835L,0x4d3a35d901b6bb3cL,0xd4f1d8233963fd31L,
  53706. 0x9c1b06093d4cce05L,0x55e368d5da550340L,0x50c3feee12c4b7b3L } },
  53707. /* 47 << 168 */
  53708. { { 0x6de0fcdaf0f97e84L,0x1f225d818dfbc0ebL,0xe27a42efcd2c51d9L,
  53709. 0xeff56879c0cb033cL,0xe700cb87c82e38d4L,0xc89a02d589d244caL },
  53710. { 0x0b464846ad9c718bL,0xf8d5ee1f8de96d61L,0x2cc33c3dfbfd0960L,
  53711. 0x3ef549f0e199b6fbL,0x29f83f686c1597b3L,0x54ca37a3731712ffL } },
  53712. /* 48 << 168 */
  53713. { { 0x357540ab903ff177L,0x225280b8276af514L,0x33d273ac14d7fed3L,
  53714. 0xfef6b9ffd186ee3dL,0xa94c207101a7b1d9L,0x4ea3627450bc8bc2L },
  53715. { 0xc68959c9fa98a918L,0x8f5ecceec7bdc262L,0x7a73a4fce6861310L,
  53716. 0x19bcac90c828330fL,0x73e3b66f7ef74fdbL,0x60f7698352d8f2f4L } },
  53717. /* 49 << 168 */
  53718. { { 0xda57f1a65645cb9bL,0x3d5d3190f0840240L,0x6a0c6ab101bce275L,
  53719. 0x38993676ad23128aL,0x54f7b5d7ea0da248L,0xfee930b38b04ccb8L },
  53720. { 0xadb9034e2cf3bf1aL,0x0488b71ae9b608daL,0xa3e51e303bd1172cL,
  53721. 0x56dffa5844993c1bL,0x6b3211fa4cdcaf10L,0x223b2a43834d4e17L } },
  53722. /* 50 << 168 */
  53723. { { 0xb31f934134e43ed1L,0x895c99973c6b7f58L,0x360021084c465126L,
  53724. 0x7eb0bf6b095df89fL,0xde3b2fa3ac534af6L,0xd9dd9f55c22477caL },
  53725. { 0xf52cfffc2092e355L,0x4ba071ac8d8bffc6L,0xafb61137abefe750L,
  53726. 0x2887d0e4cb62210bL,0x0eb2be515f4fc157L,0x8c993039438fa2f7L } },
  53727. /* 51 << 168 */
  53728. { { 0xfd2a61093efae008L,0x60fa269552f57cafL,0x3591e64f481c36c1L,
  53729. 0xdc2b9993c908a87aL,0x76bd4dea5bffb50dL,0x913a0458f70fb0f5L },
  53730. { 0x45ea6c4c097bbfc3L,0x3ebe29d3fa9e90c1L,0xc69532426479c087L,
  53731. 0xdd1d24509abc7a4eL,0xa497b072d0fc7791L,0x477d71f9388ab90cL } },
  53732. /* 52 << 168 */
  53733. { { 0xab3578047e03a14eL,0x0f4f28688caf673fL,0x919e661e66530425L,
  53734. 0x28da445c91ba47c5L,0xd6d0537566c394feL,0xfe1864a302e8ae91L },
  53735. { 0xd34baca2a753aec4L,0x43b7ffe7a2c8d292L,0x496659eb04efb8f1L,
  53736. 0x310ec2a9e0252dfdL,0x98173d2f9168a80eL,0xa3e018d631497255L } },
  53737. /* 53 << 168 */
  53738. { { 0x39ee6439ddfa0ffcL,0xaea6f882c1d1d54dL,0x688feff654a65059L,
  53739. 0x17ee5aaa37f25ebaL,0x6c9b4f2932b345f2L,0xb883c0c75b4d62ebL },
  53740. { 0xaf33e4ae3135aa7eL,0x28a7572c924146a2L,0x67dc5dd37e77ae8bL,
  53741. 0xe11cd9c5ff39b601L,0xa86f090b5e6f364aL,0x76f7517500b84247L } },
  53742. /* 54 << 168 */
  53743. { { 0x26d3a3e3fbae20ddL,0x5e9b73cee1dd2b25L,0x7008aefb0235d5b0L,
  53744. 0xa92af4ed2aaf208dL,0xab786c9bb1132040L,0x43250e6c9a91269dL },
  53745. { 0x00a15294c9be00ceL,0x2d5782df1698dd42L,0x3f980bbe76e3d6e3L,
  53746. 0x5b602647496650fbL,0x461edc3271aca61bL,0x2516ab6c9805a01bL } },
  53747. /* 55 << 168 */
  53748. { { 0xb468fcf2967e2216L,0x97b840679ae47d05L,0xfcafaebc5cc15209L,
  53749. 0xaf7f6c8ccc83c3d4L,0xa74d4cd5cfa47e0fL,0xd8a51615474cb8b1L },
  53750. { 0x4815ef52591462a6L,0x9c5b2cf74deb41ddL,0x39cb450b7e99d620L,
  53751. 0xfe8cacbaa7772019L,0x98b98210577dc69dL,0x5e02b90072423a96L } },
  53752. /* 56 << 168 */
  53753. { { 0x3266c887d9d9284aL,0x690f818b73646ab7L,0x67315ec6af7fc33bL,
  53754. 0x181e61abc30b1ccbL,0x1b81e6cd105a9e1cL,0x62a15daf5078b9bbL },
  53755. { 0x74f9840f6fa8cc65L,0x356b777443388573L,0xba0f7d0506b3fd46L,
  53756. 0xb0ac864c92b4fdadL,0xcdeac253ef192cdeL,0x0c24810bc313b4a7L } },
  53757. /* 57 << 168 */
  53758. { { 0xfbcd4f77e748de9bL,0xb7d28cdfc25dcc94L,0x32f937a92e033c43L,
  53759. 0xb6289636d9da1f7aL,0xd774e97dd287865fL,0x8d013739e6243bf8L },
  53760. { 0xee7ec1f856b9601dL,0x429017666afc90caL,0xc42d960ad2bef9afL,
  53761. 0x654ece7f5b430bf6L,0x02878c7f221440f4L,0xe575aa6474a4e1a5L } },
  53762. /* 58 << 168 */
  53763. { { 0xc96e763e71a449f9L,0xdeda66311a349fb0L,0x6f896aef3c4e8f44L,
  53764. 0x71ffe2d2e9eb36a3L,0xcbee21ab8f908a29L,0xaeb695f85be98708L },
  53765. { 0xb6023803de61e1a9L,0x59f1ec96065ecca3L,0x2a1229f3637d0741L,
  53766. 0x5a9bca2c69441afeL,0xfc6daedbbbeaeed6L,0x950034954e2e31e0L } },
  53767. /* 59 << 168 */
  53768. { { 0xe59a827339859da4L,0x8720429fa7431a84L,0xfcab26e17ee3457cL,
  53769. 0xc13c1125da3b7833L,0x0bb1043fbc0b0da1L,0xdc2726ea84b526e8L },
  53770. { 0x34049278a213a188L,0x400bb4a00a1a2553L,0x00e3eb25c92df398L,
  53771. 0xc0b7113f9c36a6ddL,0x719d185001e274bdL,0x86f08f2dcde338aaL } },
  53772. /* 60 << 168 */
  53773. { { 0xef8c40bf1adb09b7L,0x2efeb49c0b74992aL,0x3f0f8a412b79957fL,
  53774. 0x08927bfe87a06873L,0x1f63a4109288cb9aL,0x8c66fb70df2b373aL },
  53775. { 0x98da4712980facaeL,0x15ce5b17d819d026L,0x097571a5749a671aL,
  53776. 0x85a40804894dd269L,0x3e89c13c34cb6797L,0x2d19d5e4d07119a4L } },
  53777. /* 61 << 168 */
  53778. { { 0x903eee85d90da9a7L,0x67723582de5ddbf9L,0xacf6898ad394eeeeL,
  53779. 0xa700fb8fabdb94f3L,0x1bcc4f947ac5624fL,0xee5cccff7e3b8ec5L },
  53780. { 0x87d64d4d98e5a1baL,0x78727fc1ad9c4409L,0x55b4159b82310db7L,
  53781. 0xaff4eecea58d10efL,0x6d2ec94c11c958afL,0xf129bd1043db33faL } },
  53782. /* 62 << 168 */
  53783. { { 0xe1f6d71ed42eebf8L,0x46f825b9541ac0b2L,0xb01031b693ae2ab1L,
  53784. 0xfa4e1c357c589556L,0x65fb2504d273d1bbL,0x589d735447642bddL },
  53785. { 0x7a5776adcf5e2d53L,0xab5c3544e5feda7eL,0x48e8442d32dea96cL,
  53786. 0x5f3e9c9e64d293daL,0x3f2df6a16b972a00L,0xfba58f5fa273832fL } },
  53787. /* 63 << 168 */
  53788. { { 0x5c9fe89240e9ce34L,0xfd9fb296633495d7L,0x0ae3c18a8c76cd7aL,
  53789. 0xb5ede1e3a6b77012L,0x5ac7a9d5a285822dL,0xe41de7da71ffe07bL },
  53790. { 0x585f7e101b1bb4c5L,0x482794be74153077L,0x66f1c9d5a3e2a34bL,
  53791. 0x491d48f7c749830fL,0x3c0f3bcd5416d2bdL,0xaa3baada90b04986L } },
  53792. /* 64 << 168 */
  53793. { { 0x58225208ecbafb80L,0x4f212035aa73d6deL,0x1224e45562fe86dbL,
  53794. 0xa8c8a4782dc5b2f1L,0x8a957b8dc3096555L,0x6a3248b0b1591452L },
  53795. { 0x1e563c58cb604c18L,0x32808cb59bf1045eL,0xf8f62de99462e7a2L,
  53796. 0x6b3dfe91c2489214L,0x6c1d8fc42174639cL,0xdfca11b8ef88d4b5L } },
  53797. /* 0 << 175 */
  53798. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  53799. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  53800. /* 1 << 175 */
  53801. { { 0x5a4a5ce418690ad0L,0xd0f788e0fe27f51aL,0xd459388e4efe9a30L,
  53802. 0x3a45c11aef9d074bL,0xf68ab50b93ab9cb0L,0x62fbc397ecd9a566L },
  53803. { 0xbfb79b7fcc587a7eL,0xfcf4d66f92870baeL,0x4f31aa21877390f0L,
  53804. 0x2de0c645e314cfb5L,0x56d904f6238eab12L,0x4d104a42ccb4d4f6L } },
  53805. /* 2 << 175 */
  53806. { { 0x3eb83a8729358cd3L,0xad741295b9c6d430L,0x57b8c77a53abe4e9L,
  53807. 0x0a14673ebb9feb82L,0xc0a6cbf7f26f922eL,0x213de299a32e526cL },
  53808. { 0xca417e677b6ca858L,0x8d6ae0f7fc2e0900L,0x2bae0e7a62e135ddL,
  53809. 0x962bdcaea7ee82c7L,0x573d7f6ae5776c74L,0x9c4de6496ffbefebL } },
  53810. /* 3 << 175 */
  53811. { { 0x8c962fc809335d38L,0x26d1bc81eb38d176L,0xe1aeb295c47711edL,
  53812. 0x0812b9926cbe3e4eL,0xeecacaf90ab9805dL,0x82fefbaa3521a0adL },
  53813. { 0x3a6948c0e2c31b9dL,0xb7d3905be82daf2bL,0xbd3ac90e25a34c37L,
  53814. 0x55afd99b61453063L,0x56d87cd190b99303L,0xc9bf82dd97ddb0a3L } },
  53815. /* 4 << 175 */
  53816. { { 0xcbc0bb1968916917L,0x0bbb9f921094bf88L,0xf62cb350d3806442L,
  53817. 0xe4d2f1cc397a7602L,0xa54bd48e43987d82L,0x77b6f8314f0a19faL },
  53818. { 0xfa0c9a456e766443L,0x995ae0fff51ba70bL,0x8e242c5b9cbd8d33L,
  53819. 0x1671eb0813d97956L,0xccae388f40da55faL,0x97cc48faf376dce5L } },
  53820. /* 5 << 175 */
  53821. { { 0x1c2919bbe8c91718L,0x9dbb727a5097bde3L,0x23f87ae7f8ea2fb2L,
  53822. 0xe1bfffdcba310121L,0x5938c50c75329669L,0x716c63e00549855cL },
  53823. { 0xe091b0c9654814f0L,0xa20535d10e43daeeL,0x16ce68b2593ddd04L,
  53824. 0x7813a49af59900bdL,0xef0d3eecd3e5d232L,0xe7d12cc40ee3fd4dL } },
  53825. /* 6 << 175 */
  53826. { { 0xe54d92cdef01fc5fL,0xc46c2ab8dda2e25aL,0x7c907fd2849f6142L,
  53827. 0xbb11dd2dacd0202dL,0xa4913a701d92d19aL,0xe9a26ae0cf610677L },
  53828. { 0xfff1e1d5538943c5L,0x5943dcc4a47b2204L,0xcafcf33a92cabf71L,
  53829. 0xd571e13ce329d1adL,0x7626ad237a9a0e4cL,0xf0aa0d9f130d7f86L } },
  53830. /* 7 << 175 */
  53831. { { 0x09df3a4419e6aa7eL,0xe27ad0475841b1cdL,0x02d2a69fbde75934L,
  53832. 0xb0e05e53fd9ba435L,0x4732d88ae008c16eL,0xdebc4777ea72110dL },
  53833. { 0xccb7d9932e3143adL,0x674f3753ea8cd06aL,0x56012a7a051562cfL,
  53834. 0x961df68425f74cd6L,0x26630e71214d8a95L,0x584e8d6365d92f84L } },
  53835. /* 8 << 175 */
  53836. { { 0x8a89daefebc5557cL,0x7ca71403275e1649L,0x48d923775b80bb4aL,
  53837. 0x0a587c52a45b3626L,0xdaff503cc75bfe91L,0xd845d3e6116d07d7L },
  53838. { 0x6b5a4715a51eeca2L,0x34ac02bd74481991L,0x8f076cfc595abf8dL,
  53839. 0xc9de4ce9ed0391ceL,0xaaaad03ae1fcabd3L,0x8d48ec0087b199edL } },
  53840. /* 9 << 175 */
  53841. { { 0xbd0f2653ae5dd482L,0x59f968dd060032dcL,0x6bea33e067283310L,
  53842. 0xccce88cc012aa50cL,0xbb6d7f2f66838f46L,0xb764c95f05ec9bcbL },
  53843. { 0xd097b60451477ccaL,0xc2fbda7b82b20a85L,0x75fe07a424e9ca8dL,
  53844. 0xfc4fa8240cc40d01L,0x0b17d5f90c0e95f7L,0x285e6e8a6e1e46dcL } },
  53845. /* 10 << 175 */
  53846. { { 0xb0641d09bc9b2654L,0xf9fcc2e68aa8fa35L,0xd12a5b4b00d5ec6eL,
  53847. 0x9be1a1115569d89aL,0x9c0566deffac7208L,0x7a9fd4ff7034edf1L },
  53848. { 0x636aeb6b9571c375L,0x60d05aec55cdf187L,0xf4e2f898734e9d2fL,
  53849. 0xdaf742195ccdc6bcL,0x9d39249f608a4f28L,0xb5f1bb5e8820e2c3L } },
  53850. /* 11 << 175 */
  53851. { { 0xd02e9936d9589548L,0x8f1bf5755341402fL,0x1535a443057300aaL,
  53852. 0x3062478e65d29324L,0x4203351fc656a3f3L,0xbeb21b516569c4ffL },
  53853. { 0x8113ce70e1f0f263L,0x59d1293903f9320cL,0x95061255d08f8936L,
  53854. 0x8be3c0f997d4b705L,0x0259742e827837c2L,0xf55ea28d95c65cdaL } },
  53855. /* 12 << 175 */
  53856. { { 0x62024812603dc3dcL,0x25dc5337efd67b57L,0x86b3eb38d7f033fdL,
  53857. 0xee3226b232646d6fL,0x8c4825f6f1dae596L,0xd2303055a5bcb8e5L },
  53858. { 0x904a53493c0baa76L,0xe60f6125e08646a7L,0xaf6a329f21d45f89L,
  53859. 0xf20ad88a06605546L,0xcf7a0e9619a93d14L,0xf1eabcc891c97174L } },
  53860. /* 13 << 175 */
  53861. { { 0x72b76e9e8f02af51L,0xac94cbf1d580f95aL,0x2e9cd74801d854a4L,
  53862. 0x4ed4e9061f08a1bcL,0x0a2b28419d2bd936L,0xbf86350051c89ddaL },
  53863. { 0x9407b0e7e3f00bf5L,0x6b1f71ff28b57ac1L,0xc1dfe03fcd28801fL,
  53864. 0xf3d83d64afa55309L,0x47aafba28af8f76fL,0x54eed45f6604b2e9L } },
  53865. /* 14 << 175 */
  53866. { { 0x59edd2640f3e541fL,0x318674b582b76ba8L,0xbf4a0d304e7f0716L,
  53867. 0x36fc0e4119b88200L,0x91db560240da801eL,0x638371ad2c72c2c7L },
  53868. { 0xfe960c25d5822da7L,0x7a7571d14a7415e1L,0x5a6480febccc1576L,
  53869. 0x72f4e5e5c3c88f47L,0x224e7e749a7bd8ecL,0x3ebbf52c7631455eL } },
  53870. /* 15 << 175 */
  53871. { { 0xae3c2bc08608ab37L,0x35e3da8c39f336b6L,0x7413664281f44511L,
  53872. 0x21ce7c511d8506e7L,0x9b6718b3846165f1L,0x9e455007f5cabf6aL },
  53873. { 0xec582a0e02611073L,0x269aa18d83bf042eL,0x7c54fb7c86306757L,
  53874. 0x453336021b948fafL,0xd3a5c508b7025d73L,0xcd6e555b428471e4L } },
  53875. /* 16 << 175 */
  53876. { { 0x42c9fad511a224e6L,0x6b6aeb8b69b2ac26L,0x0cf4c7fdb149854bL,
  53877. 0x4a7d90002fc359ebL,0x9ff0c3ea29ec8603L,0x157ae7859b24ee14L },
  53878. { 0x638c809a8979e9bbL,0x347dfb2e7869d8c5L,0x2fb1e0f8a07ea547L,
  53879. 0x1e580d32aecdec3fL,0xbbf895730f74025bL,0xeb94d71bdd529164L } },
  53880. /* 17 << 175 */
  53881. { { 0x8670812a35d03250L,0x2f68343f1984cd59L,0x5fe890caf1ff97ecL,
  53882. 0xd47fff536f764b2aL,0x70fa44a4f8f7077bL,0x7b287efcb2c7fe02L },
  53883. { 0x0718e70806dedcdeL,0x37193c827172c0f6L,0x47ad55f67b7f28a5L,
  53884. 0xaf83c4fe9c71a96fL,0x2d6075587c490626L,0xe647de1b933e9033L } },
  53885. /* 18 << 175 */
  53886. { { 0xdc5909e3f1687d4cL,0x4fe3be46d431c5a7L,0x28c41a035f9807beL,
  53887. 0x2c4203fd12f1f8daL,0x13f12da450a19620L,0xc32f881eae2e9835L },
  53888. { 0x56328ef7622587d0L,0xcf785f038f209f66L,0xb562ea70a2697748L,
  53889. 0xa762289055598769L,0x9842bfa8fbf41fd3L,0x304c3057fa401ba0L } },
  53890. /* 19 << 175 */
  53891. { { 0xb8d685d1c56bc716L,0x1eceb18f1fccc358L,0xf94bedc82034cabdL,
  53892. 0xa9acaf11ad003472L,0x6fea0a55ad0786c6L,0x60f7f9a9581f6f52L },
  53893. { 0xc4736494400bcca5L,0x221d8f8a3606b047L,0x533756fb6339c7fdL,
  53894. 0x1e068e987510c1a4L,0x9bf9abb6ededfa09L,0x96895ce548d54775L } },
  53895. /* 20 << 175 */
  53896. { { 0xc995b0171552c477L,0x6f92a95252351781L,0xa9d4bb6c4da25dafL,
  53897. 0x2b02828e3cf6aab7L,0x5f4febed11fa4d0bL,0x42f0e61ea12d9d37L },
  53898. { 0x1ceef875d24610d0L,0xa7c85c485d4eeceeL,0x33fcfa3b79340a49L,
  53899. 0x3671e563b00b3491L,0x871f74e493eade0fL,0x1ed095182c546f3eL } },
  53900. /* 21 << 175 */
  53901. { { 0xc003b709a9a5c68eL,0x9441e7b26c84310aL,0x7ec3b652dd90f7c5L,
  53902. 0x17e601685b526324L,0xc5f77fee479573aeL,0xe89beed18453fe7eL },
  53903. { 0x259a2b0364540cadL,0x8c2f13322b9a8053L,0x1db53ab7304940edL,
  53904. 0xcf780c5d1612763dL,0x2edd7285e19b62f9L,0x20ddc9874abdd7a5L } },
  53905. /* 22 << 175 */
  53906. { { 0xa70aa6781250954bL,0xe4a2f7cf2930f3edL,0x3e3dd26666fd719aL,
  53907. 0x500166cf792ff463L,0xeccd32cd75cf00a6L,0xb65f46a5c4526e56L },
  53908. { 0xfc3a99c360aa8cd7L,0xe04a18b31290b20fL,0x957139a218cb9326L,
  53909. 0xf6b352ce11fc04a5L,0x9314b80778534e64L,0xd4a265c52d8f5015L } },
  53910. /* 23 << 175 */
  53911. { { 0x7078b4820dca1fd5L,0xec3192daeed504baL,0x144183332d06a63eL,
  53912. 0xaff9f7bd69c01ac1L,0xc5fb50475b74308fL,0x37846eeaa67e7ef4L },
  53913. { 0x0fcea663976b931bL,0xd3407d42bb345b71L,0x925afc36a2deb11bL,
  53914. 0x12c271092207db49L,0x237500002e1c8fbeL,0x41427e0763f771cfL } },
  53915. /* 24 << 175 */
  53916. { { 0x9dafbe96491ddae9L,0x92c60b897741da5fL,0x1185b001b866ab14L,
  53917. 0x7a43b9cfca7f2f81L,0xaaeb5efc6ee8fdfcL,0x1f7cc70022beba9dL },
  53918. { 0xa212724722e3e7cfL,0xb98dde1e9e723477L,0x87832183ac89706bL,
  53919. 0xdfb92ac1ff72f1d5L,0x5877fe6daade3804L,0x7ddde4a79170b9acL } },
  53920. /* 25 << 175 */
  53921. { { 0xdb147da0b7df600fL,0xbef5374660a8b100L,0xb4c7e404a1330d14L,
  53922. 0x152c6ae754f96693L,0x08884fecb25fd94dL,0x8ec186048ba59001L },
  53923. { 0xdc245c0c9f8e77fcL,0x2be5aaebc0f0a83dL,0xd15bdecd1fd13525L,
  53924. 0x46b603f0821c9224L,0x6b335a7daf6dc128L,0x4cead4f94dc6b5bbL } },
  53925. /* 26 << 175 */
  53926. { { 0x239cccd8179fac91L,0xffa076063829d42eL,0x75b8589cbd42a0ecL,
  53927. 0x012f5e80d7f2292cL,0xdcee7efd99c14665L,0x4925256d23650737L },
  53928. { 0x847c86ecf3cc64afL,0xdd34a75feabc04fcL,0xc2f73b3ac6a1f710L,
  53929. 0xe16e317565cbf6fcL,0x9cccffee351461d9L,0xe3d635543b4fe4b9L } },
  53930. /* 27 << 175 */
  53931. { { 0x6e27de1176ece8f1L,0x3ca873a79d5a3cb7L,0x7d65cdff7e424482L,
  53932. 0x023e5bcf69372216L,0xae601c2f2ffeb5a6L,0x8c8888cbde130b33L },
  53933. { 0xcb8309485700ecc4L,0x5a1902ef9dfe1891L,0xe01f5fc558198380L,
  53934. 0x9d5d1c476c59f973L,0xacc64c98e34cc41fL,0x057d81f03065d870L } },
  53935. /* 28 << 175 */
  53936. { { 0xf3a1a9797aeefd73L,0x3fb166a09537abf7L,0x39e8c469d4c37607L,
  53937. 0x3efc85650e3f034eL,0xc955c2dff9c25655L,0xd6ce96ec260fa449L },
  53938. { 0x5383a8b831d8e6d4L,0x3aed2e761a3595dbL,0xbd269c39e22a0f45L,
  53939. 0x4c82238694a7a83cL,0x362f08055731bd0cL,0x7dc1e7ee0527be95L } },
  53940. /* 29 << 175 */
  53941. { { 0x606ffedfd41ce228L,0xb87608d0ceb21740L,0x6fa23c0794a4354aL,
  53942. 0x587a7c54d5061d84L,0x75678bdb16b823ccL,0x2d2163c94ec818afL },
  53943. { 0xa80b1e4e22c6fcaeL,0xc07cebee4d2a4b65L,0x64f303c7a895e2c9L,
  53944. 0x750079f5a768a2e6L,0x0665502c2d423133L,0xaf33176715135cdcL } },
  53945. /* 30 << 175 */
  53946. { { 0xda8f7878c715abf4L,0xc62292a5a5830c4dL,0xfcd30f7e4b46acb9L,
  53947. 0xb931f1ee39a73db2L,0xf838a5c84ee1afb0L,0x15609b57c202a921L },
  53948. { 0x2e21871620bbba58L,0xe1d2fa14ae2615cdL,0x0a4dcf3543946185L,
  53949. 0x2e80d804730d2490L,0x5e43dc17794246b6L,0x7b3588c8dcb3be9bL } },
  53950. /* 31 << 175 */
  53951. { { 0x3e74f09c1bb8e6e2L,0xac587847584dba0dL,0x926415593f843324L,
  53952. 0x0033257729f3ed18L,0x4b7164e5d0089537L,0xc50542793e54c9a0L },
  53953. { 0xbae7ff9808e58162L,0xc0707d03c1aa2fd9L,0x43524f717714dca8L,
  53954. 0xa202a0707255b169L,0x0a7867ab4249b2e0L,0x03f748656d6ec5e9L } },
  53955. /* 32 << 175 */
  53956. { { 0xfa2db51a8d688e31L,0x225b696ca09c88d4L,0x9f88af1d6059171fL,
  53957. 0x1c5fea5e782a0993L,0xe0fb15884ec710d3L,0xfaf372e5d32ce365L },
  53958. { 0xd9f896ab26506f45L,0x8d3503388373c724L,0x1b76992dca6e7342L,
  53959. 0x76338fca6fd0c08bL,0xc3ea4c65a00f5c23L,0xdfab29b3b316b35bL } },
  53960. /* 33 << 175 */
  53961. { { 0xd2437a52eddd4b72L,0xe2cec2abf051b831L,0x845af98e482a4ea4L,
  53962. 0x75758ccfa43cae82L,0xa76733429260ea35L,0x77845b02b1dd602aL },
  53963. { 0xb78bc4c047d5c450L,0xcb1f444550ad371bL,0x6bc01293d71cc417L,
  53964. 0x8538f638c1fcb367L,0x5d01d35919b313f3L,0xcd6b55bfcf67f6acL } },
  53965. /* 34 << 175 */
  53966. { { 0xc28000d6e3b03290L,0x4dd5064a5f2ddbcdL,0x4916f830338a1414L,
  53967. 0x3ffb8381aca74c22L,0xec073ee8e680f548L,0xa34e0693a0430cc3L },
  53968. { 0xc6baf20dca03e6e7L,0x2a30df6e835fb88dL,0xbf3c9e9cc2092d6bL,
  53969. 0x391cb25c17bc2433L,0x9b7de7126c205c0aL,0xf25e1494cd2a5e62L } },
  53970. /* 35 << 175 */
  53971. { { 0x05ae44e9d21fdc9aL,0xc520657fce40ebbaL,0x6b8e25431270cb59L,
  53972. 0x24e6f9bff7f096d0L,0xc6ded76a3ed81f52L,0x729d05e75f7df798L },
  53973. { 0x99e2636fe5468eb1L,0x6f3abd4c00419facL,0xfc61117a9cc41e09L,
  53974. 0xb16f106baa399a51L,0x05603bc845e52713L,0x612658aca5c36107L } },
  53975. /* 36 << 175 */
  53976. { { 0x107573b96defe8f4L,0x9a9edf0570545313L,0x5df43df0e54e8272L,
  53977. 0xac91bae8eeb4ae90L,0x241d54bd26006ab1L,0x0ba118a6c031de7dL },
  53978. { 0x376214671f500d4fL,0xbbd6b318bc3596e4L,0x4b5532c85992277aL,
  53979. 0xb15165da16a4728bL,0xbd7986d45140abdfL,0xf4fe16df7386f38aL } },
  53980. /* 37 << 175 */
  53981. { { 0x8c5d305696aeee65L,0xe52e500ea79991dcL,0x3af4a3ef343fdde9L,
  53982. 0xc6d0389b248ad10cL,0xc3dbdb3f5014de53L,0x606b1352310a0cd8L },
  53983. { 0x65af3f8479bde08fL,0xa6c7d968d82ab682L,0x7262c07d202a6508L,
  53984. 0xd0231bb64cd75fe0L,0x58a34ca5dcb1f7fbL,0xcc8b21b21b8cf7a1L } },
  53985. /* 38 << 175 */
  53986. { { 0x4cd6e61be824653dL,0xfa02c0c9f253dd65L,0xab198e41b1e84cedL,
  53987. 0x89ce6aff1928be7cL,0xf2a83f4895afb956L,0x5b5f195ddc73f3a5L },
  53988. { 0x44220ff79328317bL,0x03d62cb7f5239616L,0x0e908d34b5d49415L,
  53989. 0x050b7651c1f7e665L,0x3610167089e1a98bL,0x564abb3418eb7644L } },
  53990. /* 39 << 175 */
  53991. { { 0x400b363b2eecacf6L,0xe2ae5bee1ed9fb9aL,0x23374b11831e99c6L,
  53992. 0x0a8382d82cb9de95L,0xf95b8e052dc02291L,0x63b05a0d2f752257L },
  53993. { 0x9ec16f84b60d9df4L,0x6ed683ac3bda5171L,0x7206450813acca39L,
  53994. 0x6024af3cf8871ba1L,0xbf88040e2f9a4d56L,0x001054149fb100e5L } },
  53995. /* 40 << 175 */
  53996. { { 0xd52c606375ccd2e3L,0x4fa8e4df56ce654aL,0xcd905c9bce581d23L,
  53997. 0x51ce0eab24ff75eaL,0x1c1c0831432c6e5fL,0xb83307aec02f0e86L },
  53998. { 0x0b7a0274fe2ee821L,0xae7dd7729c3d69faL,0x54745da5931ed75fL,
  53999. 0xc276d96f18caba13L,0x142571dd26dd9792L,0xc522dac16c0e3167L } },
  54000. /* 41 << 175 */
  54001. { { 0xa86fa630197b5b97L,0x749ea479fa21c176L,0x520c0e4871ce7101L,
  54002. 0x5c53d9ebe30a0b0aL,0xdc71b629ceb570feL,0xa30fc3d11fa3699eL },
  54003. { 0x741321b579cbbfa4L,0x205ea0aae8d18119L,0x94556e92fc62e0eeL,
  54004. 0x5ba78d4e042b9c3cL,0x14de84103fa24a56L,0x6e57a9fbd6557bceL } },
  54005. /* 42 << 175 */
  54006. { { 0x2a5e716ff103d9c9L,0xda2f7e5cb9cd27ecL,0x317f74b8e047e5cbL,
  54007. 0xf1f496d33a4413feL,0x1a480a9cb8cc9fdeL,0x502b52d7575208d4L },
  54008. { 0xf14fe00cd19c49a3L,0xf5c2367b269be5a9L,0x966a524f12d42690L,
  54009. 0x2786ff714dd03b95L,0x6fa1f891d69bf68dL,0x0f3d77579f67b3bfL } },
  54010. /* 43 << 175 */
  54011. { { 0x230c8d00c966c638L,0xde5c9e8e54673305L,0x618b0dd561bc99faL,
  54012. 0x669618048f3cb5c0L,0x7c653ca507141ba5L,0x454d54ff32ba155aL },
  54013. { 0x82665a307df3e39fL,0x15eb1a65ca19cbb7L,0x4e7632a617330ab3L,
  54014. 0xc69235295a3221b4L,0xe23ee9382eb58e9dL,0xb320aa8e23bcf88cL } },
  54015. /* 44 << 175 */
  54016. { { 0x6ba15fe607a7ecf8L,0x93127926f831cc91L,0xfde2dbf41ff6264fL,
  54017. 0xdf7f22018413fdb2L,0xdd81d11487f66260L,0x87907f0e4a87133dL },
  54018. { 0xeac1032cb1d47e23L,0xe2603119125a0918L,0xba680392f2259208L,
  54019. 0xb7c7f8ebf9bf06b7L,0x875a380fa56ba57cL,0x05a88a97460c939cL } },
  54020. /* 45 << 175 */
  54021. { { 0xfb2871b7d0dc771eL,0xd12b21fcbaf358c9L,0x30dbd412df616c16L,
  54022. 0x291bd90f9345e16bL,0x92f7534b8ee6bb6dL,0x7ebc5b0eb1c901a0L },
  54023. { 0xc9e9c76151e1881aL,0x5ca52152756bfecbL,0xb0a9f5cb6affd506L,
  54024. 0x4c12f965669feb3eL,0x01d84b9ea6f1c529L,0x3870fa27e8433c92L } },
  54025. /* 46 << 175 */
  54026. { { 0xe4e9e72495bb5db0L,0x86babe3ffd616958L,0xc1520c280f93c1cbL,
  54027. 0xe393ded539cab777L,0x031a2af3e86a6ca3L,0xb26a19101e8466eeL },
  54028. { 0xb16b746dbb64fd81L,0x4e96f0b65a97d50eL,0x7a12a611a793fac2L,
  54029. 0x8d729847db6482aeL,0xdd050ce812e72ce5L,0x915041366c54299aL } },
  54030. /* 47 << 175 */
  54031. { { 0x9e8018c06b63c4beL,0x49dde0c8fce47904L,0x1668de9c9bae36cdL,
  54032. 0x8dfb0d5f80ed18aeL,0xfd6739a791e1949dL,0x80353c9f8053d7d6L },
  54033. { 0xa611699bdea54710L,0x5eacf16e6c6c1f5bL,0x5212fbd3c920323eL,
  54034. 0xaf75db75848d085fL,0xb58564b1babb45b8L,0xefa1958938bc491dL } },
  54035. /* 48 << 175 */
  54036. { { 0x0a43a76c2f95a081L,0x27eaf2bc38b1c395L,0x6ba3222c63da1d80L,
  54037. 0xd95ae17e6a78ce09L,0xa72d9812508f03b3L,0x9f36d02efa8ed359L },
  54038. { 0x1716d1dcd5118f96L,0xd116339f489bbc53L,0x272153ef6f7e1d3dL,
  54039. 0xcb4a9e739e308d22L,0xcfa9d88b615a3646L,0x8b69bd6cde454569L } },
  54040. /* 49 << 175 */
  54041. { { 0x33ae0fec2b8f41feL,0xc45aac500762c46bL,0xa03bc6ddf228ec44L,
  54042. 0x82cb78cfea3d48c2L,0xbe7a02ed27126795L,0x1a44d1f830b3e3ddL },
  54043. { 0xb414edc73be7b58cL,0xb3e6c7ce331bcbc9L,0x9f6fd0f2903b3508L,
  54044. 0x260c8b5736cc2930L,0x8581a05d0d59278dL,0xfac1817b189b3005L } },
  54045. /* 50 << 175 */
  54046. { { 0xbf4d4640cc9a69c3L,0x07b39b5d67d262dfL,0xcd4a6a4579526d6cL,
  54047. 0x4a04c430538143caL,0x6c3341b86639e3b0L,0xd490cab5ab7216d4L },
  54048. { 0xedda2b64a2a93161L,0x04e309de644a06f3L,0x7cad728a8c4495fbL,
  54049. 0xe1744f3871dd61f4L,0x39cbd782e3201618L,0xbd66e1850ca18ab4L } },
  54050. /* 51 << 175 */
  54051. { { 0x69d8237f87dcb8beL,0x3f9a485b090e0237L,0x535371e1f117a1c5L,
  54052. 0x0d5ef52675430c29L,0xcb9c150898fdd18dL,0xc7c1a7b4108d9383L },
  54053. { 0x6ba9fb4d98064eedL,0x07d205a9a3df31c8L,0x7a0be62e9be5da37L,
  54054. 0x03b21b1255a9e2c2L,0x3f4792263de80449L,0xb0160ee1ae3bf31cL } },
  54055. /* 52 << 175 */
  54056. { { 0xa22c084a7a3f8c5eL,0xeb7fe23f3ef30511L,0x161ca862819fa38aL,
  54057. 0xe5f014156d45762aL,0x37da6bb95718b789L,0xfcb682bbd837f453L },
  54058. { 0xc49c7397275e5974L,0xbe908df5a1ed0925L,0x3dcd694615a13ea0L,
  54059. 0xdbe652e32596fa76L,0x6a3bcc93c55d376cL,0xa2f7611933a0f02bL } },
  54060. /* 53 << 175 */
  54061. { { 0xdfff9b9c6ed061ffL,0xa36aef2dec32b16cL,0x9f3b7ab6da61572dL,
  54062. 0x96e72a027ac2dac9L,0xb0e36e023aaf4fcdL,0x5f32a620503004cfL },
  54063. { 0x6c91dacbadcd649aL,0xb25deea21ac02a32L,0x211a421ffb914c2cL,
  54064. 0x1ddbd60e149fde1dL,0x91c4cc0d7ce86ad3L,0x8be6f031b9ed909cL } },
  54065. /* 54 << 175 */
  54066. { { 0x62e773c4a0cb50ffL,0xe54fdbdd2e903681L,0xed2bce9e21c12ca9L,
  54067. 0x13aa4748c072bae6L,0xb290c0ad475f290eL,0xcbbc3f9b56698a85L },
  54068. { 0xfb37611b1b7fff76L,0xe62a842260bc2e36L,0xb6a36c783bb20fd4L,
  54069. 0xdec045418dd69509L,0x67648b7798a1ad2aL,0x4fa2005d078fdea3L } },
  54070. /* 55 << 175 */
  54071. { { 0x757f249416307553L,0x865af9d0de6bcb49L,0x3943031a07b0104cL,
  54072. 0xe5fdb46168da2d33L,0x4937d614b5432b48L,0xb3fbbf2c0a29a5e5L },
  54073. { 0xe7d3b12b8de89887L,0xc1a43c24e41258c3L,0x91ac7eabf7d9efe4L,
  54074. 0xfd90de0088385cb3L,0xead102e37674c39fL,0x7b9a2cc4fff118c5L } },
  54075. /* 56 << 175 */
  54076. { { 0x11f92678a1e598f5L,0xde8052491fbb882aL,0x3730b3261154d0aaL,
  54077. 0x0e279827da521670L,0xa03c8c702336f8c0L,0xae50e64ff0bd66d6L },
  54078. { 0xfbfd665f7af4f681L,0x237a4f4e5c8d5680L,0x6527611ba409064fL,
  54079. 0x1f4eff6a99db9a94L,0x4a55d96ae53ba177L,0xd9dec234f002368aL } },
  54080. /* 57 << 175 */
  54081. { { 0xbb837d0ad193ebc0L,0xab1e3eccd09b24caL,0x229f36d81d848777L,
  54082. 0xee895edf0ab68c98L,0x67fc65f4dce31b92L,0x777ebe585db96c26L },
  54083. { 0xca0893ae6047d0d6L,0x71a2ca0b550d6905L,0x35426866eac4c2e3L,
  54084. 0xb4d7e78e0c1b8eb0L,0x03cb0a9a84b384e4L,0xd8a99a5c7f7115b6L } },
  54085. /* 58 << 175 */
  54086. { { 0x07db8bfa5f25a74eL,0x97dd568a3dd8e706L,0xcf4c02a32fb59efaL,
  54087. 0xe2ae502616b291e4L,0x5499f3b20f9c10cfL,0x59abdcf5a7297ec7L },
  54088. { 0xcec282671f4a3646L,0xc10ae0971e065cb1L,0x172f886319dbbaebL,
  54089. 0xb0c27f7d73dd068aL,0x764d185495086ceaL,0xb89923c732de9a97L } },
  54090. /* 59 << 175 */
  54091. { { 0xacd499ca093345e2L,0xfbdb3895f3c23800L,0x2584f8ca02f0fadbL,
  54092. 0x9f5dc96ec2f35eddL,0x4dd102ca1ba0266dL,0x13ee9c8aa9f26fabL },
  54093. { 0x9e7467fa2a1e61daL,0x999764b6850191c5L,0xd053a575b70dd8dcL,
  54094. 0x697b856fd7065eb7L,0x9d5bb6aa695b4914L,0xc5cdd170e65001f1L } },
  54095. /* 60 << 175 */
  54096. { { 0xe87cf622e93495f0L,0x347b09c6bb43a802L,0x2a38f3b7a4e3ac34L,
  54097. 0x13353b959751c1c4L,0x753ec3ecb3947985L,0x3bf856dc12d3fa90L },
  54098. { 0xbf4f6fa5ec35dbe0L,0xd099a15bf3b4fcf2L,0xb348462fbfe7245bL,
  54099. 0x508324b352a2d4f4L,0xec4bae05feee1315L,0x468fa9e404496618L } },
  54100. /* 61 << 175 */
  54101. { { 0xc57673257d5e7a94L,0x40c05da604cefc01L,0xba1fd6c6b921c681L,
  54102. 0x0d3e09f9c104cedfL,0x4b7cd83cc6586416L,0xb747d7f9adfa7bfaL },
  54103. { 0x833f8e24a42be782L,0xd5f0421d06b2471fL,0xac87b17c22e4b84eL,
  54104. 0x85af6b063a10c7bbL,0x4e557cbf66e88e2aL,0xaff21b66d3751e40L } },
  54105. /* 62 << 175 */
  54106. { { 0xdbab25f4c4464538L,0x3c36560ba93d7f74L,0x8b9b15d39f86f410L,
  54107. 0x1237e35b0a1db237L,0xc9dad97994f49677L,0x390a3d8f15dff99eL },
  54108. { 0x0a74dfaef82c19edL,0x3f8e958589c2dc55L,0x763448ce94a8e729L,
  54109. 0xc6349398625f0517L,0x1ca5f9e7523dd700L,0x45aa25317fe638dbL } },
  54110. /* 63 << 175 */
  54111. { { 0xe91af601aad04ed7L,0x6f86f323e897df2eL,0xf8c259564c7a0ab8L,
  54112. 0x6e793f3633845d15L,0x08937ef5e583d043L,0x92dafa5824d1fd96L },
  54113. { 0x6458ae2a86c9aedbL,0x271823a026a4252fL,0xb119fe4c5a57ef16L,
  54114. 0xf41e13943a507289L,0x0cbf1da6bd1aa499L,0xa177ac9dc2465a51L } },
  54115. /* 64 << 175 */
  54116. { { 0x14f962e404a8313dL,0xc6e3e7c45f1f5a26L,0x2c0e11c079e777beL,
  54117. 0xa1705efb4657c31bL,0x02688fd23c494de3L,0x75664a84412a8718L },
  54118. { 0x878fc7ad7a422f8aL,0xe5d581df7419bd0aL,0x7c813c4c704b70c0L,
  54119. 0x98553da87323c008L,0x4f63cec663089f1aL,0x9626d6fa9655d291L } },
  54120. /* 0 << 182 */
  54121. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  54122. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  54123. /* 1 << 182 */
  54124. { { 0x10586ea7507f8b27L,0x1510deb9a261f7d7L,0xa42fc4d7dfbfa352L,
  54125. 0xbf38c3821e1c2291L,0x46e40ef60e11760aL,0xc24f6061dcb974d7L },
  54126. { 0x755b105ba7619027L,0x8004bf09b8ffa759L,0xa630d0b00945db60L,
  54127. 0xa160ac9cf2809e1cL,0x38fc1113dc6c95c5L,0x01f540985d52574fL } },
  54128. /* 2 << 182 */
  54129. { { 0xcda68a7e698ee21cL,0xc7414d196a5e725eL,0x483be2dadce20b91L,
  54130. 0x7de1601cfc69dca6L,0x4bec17aaac4f9891L,0xe8741dd18d479a56L },
  54131. { 0xc623cb8dac23a286L,0xe20a96b5166133f0L,0xda9bb7c030dcde61L,
  54132. 0xf84ea3273a1733fdL,0xd7afb6c3e82fac31L,0x37ea7d35d3897449L } },
  54133. /* 3 << 182 */
  54134. { { 0x120649b20370327bL,0x0e76555acd48cdc6L,0x4ed54decca01db03L,
  54135. 0x7be21319ac601d22L,0xf711661901b6576eL,0x7839fa064e73537fL },
  54136. { 0x169d43ace46e860aL,0xde6d658c3078eed9L,0x8df731395032142bL,
  54137. 0x6be199b09b3c76c7L,0xc2f385f6f8bbffe5L,0x848df7f3d5ffd28cL } },
  54138. /* 4 << 182 */
  54139. { { 0xa189f30fc6a6d6d1L,0xdd674d3669665ab8L,0x307c9ec37d8da76dL,
  54140. 0xb3e1d006c1ea7c10L,0xc15e20b3b88c62d4L,0xb0000ec50bff3b3aL },
  54141. { 0x9e330eb19ff9aa5cL,0x8663f9fddf578877L,0x157d3cb002e1eb2aL,
  54142. 0x638f297bf525e4d4L,0xa20f833234a3dff1L,0x748ea86b45a9c051L } },
  54143. /* 5 << 182 */
  54144. { { 0x978ed3abe664c066L,0x3f4a8e0d668361eaL,0x0ba610c753a25231L,
  54145. 0xa8b5b864189143c6L,0x0d7ccefca2841fc2L,0xa80dd8f3f8fea1e1L },
  54146. { 0x2c24af232e19028cL,0x0e332b77919decaeL,0x44eae977f6089c76L,
  54147. 0x25e04dae53722e9aL,0xdd6f8b1f71ac4db0L,0x7c5b6ffd075e7bc4L } },
  54148. /* 6 << 182 */
  54149. { { 0x4c6299a7a1de1cc7L,0x362d293c02d9445bL,0x08f24df0399a9494L,
  54150. 0x33307792e37a1851L,0x1cc5e448760f680dL,0x70a6a8164a2efbefL },
  54151. { 0xee939681246fc671L,0xfa7a26d1f70a9c14L,0xfae5ca89b826aab5L,
  54152. 0x6b8932c7e48176f9L,0x379f89bd9841c8e1L,0x46141d2fdb674190L } },
  54153. /* 7 << 182 */
  54154. { { 0xf4408485b4619d3aL,0x34b4f18160b4f44eL,0x369edc1b3532caf0L,
  54155. 0x2d0471ec6771abc2L,0xca4129311013266dL,0x02e636af617e2024L },
  54156. { 0x1f93d60d3c69696cL,0x6aba7f2a1b99a172L,0x896873e1bf435ce6L,
  54157. 0x9649f08215b71e40L,0x730bedcfa02b024fL,0xb17e9cbd8df60bfbL } },
  54158. /* 8 << 182 */
  54159. { { 0xfe9fdde8bc266ee3L,0x91668688ba18e6c7L,0xa65349acddde6f6eL,
  54160. 0xc53c29c97e54356cL,0xee15ad945709f73cL,0x033b3940e5429277L },
  54161. { 0xf52035cdd0c3475aL,0x9c5bef4d93f1f1f0L,0x26e0b0ceca319bd4L,
  54162. 0x4e7eb67b6951fd8dL,0xac3a6f4395c34d6fL,0x1f2769e600f60b59L } },
  54163. /* 9 << 182 */
  54164. { { 0x95188c136c4d0bedL,0x377a04901b5271e7L,0x60db30226a540165L,
  54165. 0x4be61fda3310c5b9L,0xbbb4fbe93f8bbf16L,0x5232fb46ac12f77fL },
  54166. { 0x8d6f75ab255b569cL,0x09cc854d3bd39650L,0xec17a6e74b557c3eL,
  54167. 0xd6949f9d5c3d149fL,0x9a17a440494b18b2L,0xc10cb9d5d4a024acL } },
  54168. /* 10 << 182 */
  54169. { { 0x4520be6b8eddc97bL,0xeb8f2c317391f948L,0x18fcbbd772369418L,
  54170. 0xb8950ee217246882L,0x6b1e4b7a382e82c2L,0x9e2bb1eb7ea4c447L },
  54171. { 0x5202d913c3c5bc54L,0x53ea78cd21352716L,0x7bd53ffb36e6b4ecL,
  54172. 0x8325bdf817387196L,0x33b2cd8af94d6a73L,0x206bdec5e13db4bcL } },
  54173. /* 11 << 182 */
  54174. { { 0x6e27ce2609c98c86L,0x8f87ec4c958002c2L,0x00b6897064ab26edL,
  54175. 0xd2b4037282e5e129L,0xbeae654c78c48327L,0xc0632b4341a54107L },
  54176. { 0x7b1fc7f001562313L,0x01cd1b5c1fd6a56cL,0xa199a69835e71626L,
  54177. 0xb02b2692635fbcffL,0x1c0c4200a0632386L,0x637164f8d6c670e7L } },
  54178. /* 12 << 182 */
  54179. { { 0x2c47010d18e30ee3L,0xb7d4b1dbfdd5f040L,0x5c8abe509d930f6dL,
  54180. 0x6bcf875d5f56cf04L,0x1f6456c0062f1fc1L,0xc79597805304d710L },
  54181. { 0xd76452e4db85dcecL,0xd531f73fa0cbf90cL,0xb5ae9fc89021bde6L,
  54182. 0x505c6b9f4babfae0L,0x99d943c17ea61fd6L,0x6ef4766159bf125aL } },
  54183. /* 13 << 182 */
  54184. { { 0x3a48020daa0b0a5dL,0x4a32d4d658bad0dfL,0xe013dbde2e4340ecL,
  54185. 0x99efac69a5fc51f3L,0x26acf7a669ee64c6L,0x36672d6566fdc9f2L },
  54186. { 0x77426caedcb879feL,0x0166194676e3be96L,0xb6fe4709b2dac331L,
  54187. 0x1f3d8a63678ff3ebL,0x711c0ea447bd5865L,0x5fbe38e87c080adeL } },
  54188. /* 14 << 182 */
  54189. { { 0xd0891b2df4e61379L,0xea2c7ceb9941c391L,0x1441a2d099677e8aL,
  54190. 0xc29d88c8abcb3669L,0xecb1a21a06ce9bd9L,0x0663fa7cf5b11fc6L },
  54191. { 0x440a5a1c0c44c2c8L,0x08d71bc39fdded3cL,0x62b53ca512d33d2eL,
  54192. 0x3fb8640e005e8adfL,0x2a9acaefaa2673a5L,0x356ae6f6695f8448L } },
  54193. /* 15 << 182 */
  54194. { { 0xcf3c9b318496d935L,0x7e849aff8ceefc78L,0xfc06a46e7a5d692dL,
  54195. 0x87248699e89463afL,0x4dc55e5e8e17af3cL,0x3378832fe41ec54cL },
  54196. { 0x7578d6192816f87dL,0x505845612806d3cdL,0x7354f1022754c3d7L,
  54197. 0x61ca6cac08d64863L,0xecde4969eb9954ecL,0xe0c211b4a1a5dae0L } },
  54198. /* 16 << 182 */
  54199. { { 0xbd10b8bffb787270L,0x4f0b1566e43aaab6L,0x9a18be5ec0c90781L,
  54200. 0x3677f4c71ad167ceL,0xccb254e2a68c1c56L,0x392493e6e2c4d275L },
  54201. { 0x44958cb1d5b63617L,0x178f141a4caa4e7cL,0x7445a767a2ffdbd5L,
  54202. 0x0e789c99b0b6c22dL,0x3ff8b6565dc92b2eL,0x1623e5c3eca98782L } },
  54203. /* 17 << 182 */
  54204. { { 0xcb013ff62c5c50daL,0x5e5550b70b256dd6L,0x38249ee1bfd47036L,
  54205. 0x984daee275379fbfL,0xfb35304588c6bc7fL,0x32379c955f9683aeL },
  54206. { 0xbcb4ac531b5a8626L,0x1057d2a3bbaa0deaL,0x114ef8a7ffa8efb7L,
  54207. 0x553a34566da90cbaL,0xa2ced0b21a365fe6L,0xcec4d64bb1ccdb57L } },
  54208. /* 18 << 182 */
  54209. { { 0xe0312b66b81fe0eeL,0x11e0493b892c7b21L,0xb6a1d76e624ce73bL,
  54210. 0x38768ec0cd75cb6aL,0x425b091f2032c271L,0xa88d39f55b5d8338L },
  54211. { 0x1496b9ed1916be43L,0x14468e3054549f3cL,0xd429c2c47248e206L,
  54212. 0x21a1c212fc9e892aL,0x0feb5822640c984dL,0x0cabfb472b7c0c66L } },
  54213. /* 19 << 182 */
  54214. { { 0xcda1c4cd1cc5a20fL,0x33d66a893f67814bL,0xbba50d5360ce82edL,
  54215. 0x9d34dc4d70553a53L,0xc926f498a8a1442fL,0x9dfe3cbccbb43feaL },
  54216. { 0xd25887434fd3e4efL,0x7443a9a9a371d894L,0xb53e6afaa22bb4f9L,
  54217. 0xcef3fa347dfc9da4L,0xd079ded047403836L,0xc6c97c36d39aa93bL } },
  54218. /* 20 << 182 */
  54219. { { 0x6618fcae534f6370L,0x1635580da1a864a2L,0x90ad39947d7ce552L,
  54220. 0xbf8c45895257f24bL,0x5a9499202098768cL,0xec1eb621bb6d8830L },
  54221. { 0xfae8f161f1f9ac16L,0xfc9184ca35704c99L,0xa72b1ea9139ea04fL,
  54222. 0x82229a912e39e1d8L,0x4153bf3e479c7bc2L,0x83325be4c5541825L } },
  54223. /* 21 << 182 */
  54224. { { 0x358a91badbea81d1L,0x4d1947d7c669c7a9L,0x4ca6d8f18eedbfcaL,
  54225. 0xf9eda237069b3b93L,0x9e1217e5a35ea963L,0xb7e16f08ab960c77L },
  54226. { 0xf440d825fb313db7L,0x804c5262101c5424L,0xd236a0edab3c4f7aL,
  54227. 0xf8bdb2b1c2682459L,0xfaa7aacaf46c4d70L,0xcf6ce4adae83dd7cL } },
  54228. /* 22 << 182 */
  54229. { { 0x2c7756bcbd452842L,0x2c47593cd1783fd8L,0xa4f41583a7527697L,
  54230. 0x2fddafbbd1049934L,0xc087f3db6c71063fL,0x8f5a85c4c9b3ef6cL },
  54231. { 0xbe178bc966a975d0L,0x2e2d825b94066514L,0x061dd919e0d42ba4L,
  54232. 0x964fdcfb227ca011L,0xcb915b2973d7ba7aL,0xaa7f2fa72af8338aL } },
  54233. /* 23 << 182 */
  54234. { { 0xbdbb3440734e8984L,0x8b9b7acb3d6f547aL,0xfc4f48ea0e76a07cL,
  54235. 0x49758a9f97da0c23L,0x13f4254a26958261L,0xdf1fdca2adb3ef57L },
  54236. { 0xfafba40d699460e6L,0x71b2de39cd5c94c4L,0x52d76b76c21cdf0eL,
  54237. 0xbe75960760f3dfa3L,0x519d4fcb7078f5e0L,0x4bd8ca7f5191e1b3L } },
  54238. /* 24 << 182 */
  54239. { { 0xfadf9be978207cefL,0x97d5ba569cb5718eL,0xcbad24ec2f995393L,
  54240. 0x6236a26861203303L,0xe4bafc336589a4beL,0x6cba77185e23fa82L },
  54241. { 0x8ccbc5774583e65aL,0xe5d88bca4bc2f415L,0xe6bc2d5841df8dd1L,
  54242. 0xec24e1d914d31fcdL,0xacaaf13efc26010bL,0x7e1da447e01b92f3L } },
  54243. /* 25 << 182 */
  54244. { { 0x2b3477ec1a29de39L,0x30a5c2190a8720eaL,0xf593ec729775bad0L,
  54245. 0xaaf607792af7dbbeL,0xaace90d4c7cc7b59L,0x6eadf21d40509cf4L },
  54246. { 0xb9a5f138096d00fcL,0x3896d42625b206a0L,0x0f28f0f09dcaa5dcL,
  54247. 0x2ef6f9f9a8186106L,0xd212710fe25b4d04L,0x0cc6d2878b9847b2L } },
  54248. /* 26 << 182 */
  54249. { { 0xe7407327cdfb2baeL,0x06745198510c3039L,0x8a913ba74da758e9L,
  54250. 0xc882e7bb1a4797abL,0x0f0d8eb5dd7b375dL,0x90ac5223dcff3f3fL },
  54251. { 0x8443b7cabbe341a3L,0xa7cba7f22f173bbcL,0x04669ff830e5c327L,
  54252. 0x0edd0eac09b777fcL,0x2a70898bd71e0cb2L,0x881c48929bd983bfL } },
  54253. /* 27 << 182 */
  54254. { { 0xe4847c654e7603f4L,0x826cd33c0bbea366L,0x95727caf2c4ced28L,
  54255. 0x580313dedb8ac1e8L,0x6745673701363cb0L,0x540c35ec0ff13cc9L },
  54256. { 0x878c86fe3c4fc263L,0x4d81f8aed14e7c78L,0x6f7cf97e8355ef22L,
  54257. 0xa2aadbc848a0aef8L,0xe0200ecf4fc3c61bL,0x7e58e6e0c8094ab1L } },
  54258. /* 28 << 182 */
  54259. { { 0xc52789bbf2d3bdc6L,0xd38673fc3b23d7a0L,0x8b6df95aacafbbfaL,
  54260. 0x37afdcbdc7f6eb6dL,0x57775bdd6cb4c9d7L,0xc34e5a2711007453L },
  54261. { 0x903e5ba1b5faf98eL,0x811e142a9d4a8a45L,0x046d18932d7ac9e4L,
  54262. 0xe2fe9d1543ce66a8L,0x44b5beb4d4956410L,0x7c5f1b9ebb147f72L } },
  54263. /* 29 << 182 */
  54264. { { 0xd51033f48312b074L,0xc98fe29456f898d7L,0xa8d6433be8eeebbaL,
  54265. 0x50bf170976fdbb84L,0xdd95f89d43c14baeL,0x13f9c7366307bca5L },
  54266. { 0x3cd12e2855e7bc8fL,0xe2d7482c3a52581cL,0x12a2c6c7b59eeb8cL,
  54267. 0xf98f79124ae87ffcL,0x41eb808e80d7bf65L,0x589970f2015e20adL } },
  54268. /* 30 << 182 */
  54269. { { 0x200a764a6333b070L,0xa0acd8ecdf0d20d7L,0xbc1c589953269941L,
  54270. 0xed7c9192b439eca8L,0x057c50eeb789f0cdL,0x31dc2d36a9c794a3L },
  54271. { 0xe3f2d38dd58ef984L,0xdb250da69235b084L,0xc2ff1b49da05b500L,
  54272. 0xf2ea6cc50387c539L,0x8250353a3d1004cfL,0x69103201aed0bf97L } },
  54273. /* 31 << 182 */
  54274. { { 0x495cd7fc878e97f8L,0x6397fa8b61120b1dL,0x20b9afddc8708907L,
  54275. 0x84f55bb97be2ee80L,0x996fcb9d8d075b5dL,0x2e94d95ead858627L },
  54276. { 0xf786143e77113ebaL,0x6fec684f7b3fdb28L,0x4be44fb211d10d07L,
  54277. 0x4b3478e2372f16b6L,0xec8d61614697ca58L,0x097d241c3a45f335L } },
  54278. /* 32 << 182 */
  54279. { { 0x6f6a6104899ef333L,0x95496f6d39067165L,0x42fd9a6ab51989e5L,
  54280. 0x1b60ce0f68f5b168L,0x97324d8756f7fe67L,0x443812f7676815a8L },
  54281. { 0x265ee994685a7260L,0x342c7b2f6c6515f0L,0xe909232334b4adb0L,
  54282. 0xddcd233e1e5a8d18L,0x3dc5b27c5f4f6456L,0x9664533a7f421d9bL } },
  54283. /* 33 << 182 */
  54284. { { 0xa55e8ab09a35f4aeL,0xf908fb35ebbadf5dL,0xf885d61b35fee31aL,
  54285. 0xb8047f4f82728fdbL,0xa6fe454d33c5bc34L,0xdc5266332ef52e54L },
  54286. { 0xb2f524a931581251L,0xb9eeec91aba760f4L,0xa95d396624a9b423L,
  54287. 0xfd52f4d29d3d75acL,0x82719e78834d4c33L,0xeeca71fb3840ca62L } },
  54288. /* 34 << 182 */
  54289. { { 0x984658940f4c60e0L,0x3929d4c645ce7c0cL,0x7846d6c19c4f9b89L,
  54290. 0x2c38a9b20fbc695bL,0xeeb4799ad73d4bb2L,0x7c16e5ba4e3b5520L },
  54291. { 0x11ce92e51cf310d2L,0x0910dcc91e037725L,0x159fcef85fc5af9fL,
  54292. 0x4944f8ee1dcb3ca5L,0xf5d9f8c0b9a4516fL,0x452f0fa2f1cfa6e0L } },
  54293. /* 35 << 182 */
  54294. { { 0x59b15b61c634aab2L,0xcca0742a620df0b6L,0x791d95720d345276L,
  54295. 0xb775b790cd3854baL,0x944e591a256c26fbL,0xc5fda2d0b8fe17d9L },
  54296. { 0x7dba5830c0aff69dL,0x46f7164b0f7c6d60L,0xd767cd58549eeb83L,
  54297. 0x4498b4f51ff2da7cL,0xeef2caf8fc594b0eL,0x88dc39ec5f0a95b1L } },
  54298. /* 36 << 182 */
  54299. { { 0x1a57d3e1b3fe597eL,0x1a3ad06d18d1b6f0L,0xf70f27b32e4a4617L,
  54300. 0x55e8a0479a75b4adL,0x0b24d5beede15d86L,0x2b3c41d0fb2f56b5L },
  54301. { 0xf6cf36aab1d36456L,0x418a72fe1d8ff434L,0x64149a0d156746bbL,
  54302. 0xae65897c4e3a26d6L,0xb75e87d21e68eefdL,0x5b81e0b01cb27c91L } },
  54303. /* 37 << 182 */
  54304. { { 0x2c3fa19b34b90671L,0x369c9e9aa7c9aae3L,0xd89dc03f3d236ad0L,
  54305. 0x280c47b9588ace95L,0x0ad071be57f25a96L,0x36ce641d8296279cL },
  54306. { 0x321778128595511dL,0x51878842b52cb227L,0x720df7ab4156b413L,
  54307. 0xccc71e10fed25819L,0xc878554e3fde679bL,0x9c50ecbe3b565d48L } },
  54308. /* 38 << 182 */
  54309. { { 0xb2d66f1ffe23ba35L,0x82339e2914b273a4L,0x454a5f0b58c2be97L,
  54310. 0x0ebadaa68488ac1fL,0x3c635442517e9af1L,0xa87044c3a5b9fe2bL },
  54311. { 0xb8214dbdb505ae0bL,0x05a9bfad60bf4393L,0xb7b64b42428a49ceL,
  54312. 0xcad71866bd2283f1L,0x5bcfe7fce33a3a22L,0x018a2121fd6c73c3L } },
  54313. /* 39 << 182 */
  54314. { { 0xc4471fb02510a1c7L,0x542e73bd2c1c35c1L,0x0bc8bcc4f028a46aL,
  54315. 0xdf87cd2bb5610f25L,0x0845e4d1df42b41fL,0xc0523e3593aba84dL },
  54316. { 0xc9161e8ed14887b0L,0xa96f9b3aa68c235dL,0xba1427a46f94d5b5L,
  54317. 0x6a5fdbbc858e00f3L,0x8170bad6abfaf661L,0xb4b9dc0ec9f4abedL } },
  54318. /* 40 << 182 */
  54319. { { 0xc48bc829ff7543c0L,0xc0bda14c4d72bfaaL,0x2f470ec703be0af1L,
  54320. 0xc70f1e8e92d37eb4L,0x08abdd98418f410fL,0xe38c74ab35386176L },
  54321. { 0x9c07cfdd8c00426cL,0xba74c310a998f1adL,0x76b45140b7d2dda8L,
  54322. 0xa52b5e584948330eL,0x9b7332348d8efb26L,0x5d1763735d19a312L } },
  54323. /* 41 << 182 */
  54324. { { 0x46950a441d38ade1L,0x377fdf593058c7a2L,0x5e2fa1681aa129f6L,
  54325. 0x2eae63dbc5fe1745L,0x9616fee275545475L,0x4073a79c8627b2cbL },
  54326. { 0xf1ec69ea9a5198e4L,0xe9a906aebd2821d5L,0x193a9387bc22625bL,
  54327. 0xca468d717b6c67ccL,0xb4d11cb360f17a73L,0xcd801a0e3df1cabbL } },
  54328. /* 42 << 182 */
  54329. { { 0x1b80b9c386cf5a12L,0xa5bcd3a016349cfdL,0xcee36e8f00d1edb5L,
  54330. 0x9566e10a5b7bf29bL,0xd0db98cfd4ff0a0cL,0xb516605e7fe427d0L },
  54331. { 0x099066c18e614e25L,0x63537fbbabe78647L,0x5601a8b420117e1aL,
  54332. 0xfd125e2f06df05acL,0xa7fcbd420948daeaL,0x55ad4ee28ff03220L } },
  54333. /* 43 << 182 */
  54334. { { 0x18d71671da2c6332L,0xb38bf94f98ee4e23L,0x9b90bf72ecc579e8L,
  54335. 0x5af93aab1bf6b8c5L,0xdad6e7909342613eL,0x5a1d49dc710ad0ccL },
  54336. { 0x2013ed8801468036L,0xb8bd31cf2f0f6f9fL,0xf025eb2aaac961a6L,
  54337. 0x1e201f659e1adb43L,0x2755f3aeac7e5132L,0x72d8e1d0f5205d31L } },
  54338. /* 44 << 182 */
  54339. { { 0x80bba9170319fec4L,0x4ba44600aaef6debL,0x83285b613594f325L,
  54340. 0x8879183753b5765aL,0x651b4c6adaf1b02dL,0xccc17578825f609aL },
  54341. { 0x0b4076b39fddc6ffL,0x286e2daddf2fa874L,0x46c45233c413b648L,
  54342. 0x4fa46969b7cfe0abL,0x835786f3e04f5e5bL,0x526292a90ce3f707L } },
  54343. /* 45 << 182 */
  54344. { { 0x9928e9eb83f17723L,0xc38d5de26c2306aaL,0x3dd3f371558b3989L,
  54345. 0xfa4b194877154d39L,0x89f437e4b89f5448L,0xd5531444a6437c9bL },
  54346. { 0x65a6874092537cd4L,0x5f6d72281246fb09L,0x0db0b3be58539e37L,
  54347. 0x1f0dd43df50f4143L,0x1aa12daec215aab3L,0xf82820fb7fe7b225L } },
  54348. /* 46 << 182 */
  54349. { { 0x32c6bf5e56cb520dL,0x74dc46c41569fa1aL,0xcbee46391ba52541L,
  54350. 0x5e2f511a50ec4575L,0x90165e35032b6f53L,0x2b8f1f8a5544c780L },
  54351. { 0x95baef65c6b50147L,0x4e9db41946b7fde6L,0xe2463226f7afa6feL,
  54352. 0x4d70932235409eb4L,0x8faad8937c20aa0aL,0xc8c95a85abc1ab65L } },
  54353. /* 47 << 182 */
  54354. { { 0xd5f54ce676d1f996L,0x55957500e595a0eaL,0x9b62e1fd92c72af4L,
  54355. 0xb4803bc3069bf052L,0xb7cdf59c686ebd16L,0x2d1fa780655ac6d2L },
  54356. { 0x6c306d3edca404f5L,0x24e9d7a9a7b5fa9aL,0xe4c080ddc533c701L,
  54357. 0x71d16b63425e29e3L,0x81c00db32d993e49L,0xb59f87f577902ecaL } },
  54358. /* 48 << 182 */
  54359. { { 0x43b58def987cf64aL,0xc95b16c63d4bcd4eL,0x5d1b1373bcd9b923L,
  54360. 0xaf560542522e052bL,0xc2ff8f7583800352L,0x11723aa17fe2a4eaL },
  54361. { 0x28de7668e94bd9bdL,0x0ce80e0f874018a5L,0x0fe3755d8d43e726L,
  54362. 0xa78296acf9b075c5L,0x76d58d9882207423L,0x5c5bc6971db99205L } },
  54363. /* 49 << 182 */
  54364. { { 0x9cbecc969e2aea70L,0x1a3fd38d7e4f2a84L,0xdc35e3c84b95e560L,
  54365. 0xd5e912a5aa21d2e2L,0x037866628d8cd601L,0x4b726855f2bb35e6L },
  54366. { 0xa45a827a0d763ea2L,0x17d6e5ea057bceecL,0xdab2381d09a2a2a0L,
  54367. 0xf1880617e9aa76dbL,0xb86444dbb184c5ecL,0x23a0e4b767da7c23L } },
  54368. /* 50 << 182 */
  54369. { { 0x2d94a6f030df736bL,0xd1ce20050b3be2bdL,0x201352b55e288cc1L,
  54370. 0xdbd3dc57779644a7L,0x9f258b16d191db2bL,0xd83c827fd1c123efL },
  54371. { 0x74c5126e17f04f0aL,0x06008f14966e620fL,0xa4406ba80aaa9e37L,
  54372. 0x27323f797faf87eeL,0x43380a672b1206a1L,0xab1ed1cfaf15ebedL } },
  54373. /* 51 << 182 */
  54374. { { 0xa3d2bad9bb22cc74L,0xfe6591a80e2b9221L,0x8c94c974d3cb4eefL,
  54375. 0x772694266beb6451L,0x2942737a010986e4L,0x920c9dda59c1ace3L },
  54376. { 0xd31af336da61e1d3L,0x973997a118021018L,0x50a6c8425710575dL,
  54377. 0xd61d47c9ade9d8a0L,0x90abe8f8a85f458fL,0x23cc28a3ac4d474bL } },
  54378. /* 52 << 182 */
  54379. { { 0x283d5bb63e052e69L,0x149ac3d01bd300e4L,0xb4c7b96ce0582ccaL,
  54380. 0x66102883428cb7d7L,0xd3eea16b500958dfL,0xe1b6a74f74674893L },
  54381. { 0xe3b284be3fb0522bL,0x74b0fe2dea983a60L,0xd4328e5c81e465d8L,
  54382. 0xecb534c7403173b3L,0x1721e22774144d34L,0xb7273c6aa88a5141L } },
  54383. /* 53 << 182 */
  54384. { { 0x0ea24ac64018877dL,0x265cbfe42acf249aL,0x811c17e61837d63aL,
  54385. 0xff453f5d6b3adf1aL,0x7add0621a3031529L,0x62105dc838af1d27L },
  54386. { 0x2cd31a899b56ec62L,0x5f524be5ede7bbceL,0xc485b2ff66a044f5L,
  54387. 0xae28f5dc87a7b274L,0xd41989a93415b6c5L,0x3051ca44c9c43ad1L } },
  54388. /* 54 << 182 */
  54389. { { 0xc22046bcfb50bf2eL,0xee22fb7b78f7c548L,0x5c41c6bc2b5b4563L,
  54390. 0x56da674a8bf9259cL,0x3732f77433d8d4c7L,0xa90bf0472741046aL },
  54391. { 0x5ee7f4396288c2e0L,0xa7a1fec99ae621c6L,0x523c0569b76e955cL,
  54392. 0xda0c2b378d1e8601L,0x9010bc349559b56dL,0x8d2fab0917b8d9b8L } },
  54393. /* 55 << 182 */
  54394. { { 0xb2caf938281b021cL,0xc61f3abf1404b0abL,0x24203e1cea26d902L,
  54395. 0xc84f07e10d34906fL,0x8ba3d589f0cf7520L,0x86b54f6d9a2a90caL },
  54396. { 0x9f87234f3d77a667L,0x328941966e3fa8d0L,0x0921b4a6e994d49aL,
  54397. 0xe77e9f8b8b3495cbL,0x9e5b74798da1fe56L,0xcbc09ce7b070591eL } },
  54398. /* 56 << 182 */
  54399. { { 0x583ee7dfe3b7e746L,0x0b6659e4a4fab3a8L,0x34ee02751946db5dL,
  54400. 0x5ae3c0ba1a12eecaL,0x36756ed44ccb83e7L,0x973b0861a80eaf3aL },
  54401. { 0x969e38f46982ca90L,0x9a9bcd10018d01fcL,0xb540e9533272476aL,
  54402. 0xcf91dd0a75ab7002L,0x2c7d363f39ceb983L,0x4369c221974747c7L } },
  54403. /* 57 << 182 */
  54404. { { 0x32c5b289642be172L,0xe5cc452e697e6a30L,0x344935e10aa6841fL,
  54405. 0x9eb2dc4faad907a7L,0xaf77d029e121d0c0L,0x2bcddeb08bb073b8L },
  54406. { 0x3584dee5e40653fdL,0xe853b6337605f214L,0x4723f0add4bab900L,
  54407. 0x16dddd27fbf91322L,0x1f96d7e610c525b2L,0xdfba535200c998abL } },
  54408. /* 58 << 182 */
  54409. { { 0x701e8ab819df9ed7L,0x1a6d74c13e2159d1L,0xe82127e0fc61a470L,
  54410. 0xaa2e5f33dd15316fL,0x92b6ea927c42c081L,0xfd470a298522aef4L },
  54411. { 0x0c54a067e5ccf152L,0x60c113eda1a079b5L,0xdd501a8389d6e6b9L,
  54412. 0x3dbf20d219792456L,0x633cd2b710bf70edL,0xace5327a0aa8e5e8L } },
  54413. /* 59 << 182 */
  54414. { { 0xed79a2de3b2a8a4aL,0x02851125cbf095c4L,0x6817ecd1880fd3bbL,
  54415. 0x72acb6ff066adfe0L,0x04fd696d66ce8257L,0xb644f098dc81958fL },
  54416. { 0xcab55d1525218005L,0x1184b0a64de70465L,0x6248e1157aa96b53L,
  54417. 0xe30958630516ac32L,0x19f80cc0d07084ceL,0xfdf7ca2efde86c28L } },
  54418. /* 60 << 182 */
  54419. { { 0x9a8857568bc1783eL,0xb373e5a0a7cf2ee3L,0xdeb162fde46cc503L,
  54420. 0xd5d334601074ef35L,0x0030f98eea159a90L,0xc5ffbdde64e50d98L },
  54421. { 0x85a6486a48195b26L,0xdbf56597b1b9f2d6L,0x5df2352ab8613aebL,
  54422. 0xc425807ebd0189a9L,0xcf5a34d4fa1f4f7bL,0x233e26c7628fd2ceL } },
  54423. /* 61 << 182 */
  54424. { { 0x6c4dd28313a1e482L,0x24bfc23bf803f1ceL,0xb8e795b2f426832fL,
  54425. 0x636d2d63b13fcb5fL,0x2dbca0b214a508ecL,0x1948c957c1ff2b70L },
  54426. { 0xc9d7cd4ae3135c7aL,0x1bf41de75d7cfe18L,0xfff9428f2f6cd5fbL,
  54427. 0xa25d3e8294d640edL,0xecdea1583e4fec66L,0xff3b2b1555530798L } },
  54428. /* 62 << 182 */
  54429. { { 0x483565313178cbc6L,0x085a31143f3a1ff0L,0xee2a58b11dc7054eL,
  54430. 0xa9ce7c113287d5e6L,0xd283d22c8fa263a1L,0x9160bb8be77ff147L },
  54431. { 0x21dabddf918caf34L,0x6921e987ad1a9f13L,0x47e45c7d3ba0ad41L,
  54432. 0xeaac63192bd18585L,0xb88881060818034aL,0x2d8e9c1b60be0a45L } },
  54433. /* 63 << 182 */
  54434. { { 0xad3e46af32f4625aL,0x5c2f95dd88371d5fL,0xfc7a9adef2415ac6L,
  54435. 0x77a23c424ad85440L,0xce7c63712f4dd730L,0xd65bdc45a5c9f380L },
  54436. { 0x763d3990cf11ee6eL,0x7b2a927a9ffc522aL,0x65ccf351deead5c5L,
  54437. 0xef1fa99cce4d076bL,0xdb6f5cca6708ba8fL,0x361525a0f3bac7ffL } },
  54438. /* 64 << 182 */
  54439. { { 0xbfc40c30f893a2caL,0xdf96980e0623bad1L,0x4fd7b54dc027511cL,
  54440. 0xf4799284cf3484ceL,0x655ab811069beea5L,0x52588bc87392e280L },
  54441. { 0x522e7b404f0c17cbL,0xc0d88acac705e9b2L,0x9cf1b95877f3913fL,
  54442. 0x3e06b9267dd52514L,0x992e920e2908cbcaL,0x13baced26d6ed529L } },
  54443. /* 0 << 189 */
  54444. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  54445. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  54446. /* 1 << 189 */
  54447. { { 0x8a46c911bfc6c637L,0x8dc3d699e4fa4fe6L,0xd4ba64f15cf8e4c9L,
  54448. 0x01b3908a01cb3488L,0x69b1fa5d38bd7dedL,0x92ad483818b2eae1L },
  54449. { 0x619324beb33955b6L,0xc7f373355c8a6df7L,0xa397f42e925b3f69L,
  54450. 0x32169a495f7e4d11L,0xc0fa9a548d0d9f01L,0xf52a1f2289d8f2e5L } },
  54451. /* 2 << 189 */
  54452. { { 0x9c0d5231ba8e0a52L,0x94d0509e93e465d7L,0x67df90dd98515454L,
  54453. 0x223e8b9c8dbfb46aL,0xf39529a36d757ce3L,0xffec9175b4648296L },
  54454. { 0x330749e8f78aae7bL,0x19e5549645f93cc3L,0x8c320b3494083aa8L,
  54455. 0x1161f5a321e321c6L,0x0980deedde3e7892L,0x605aa9196ad76cccL } },
  54456. /* 3 << 189 */
  54457. { { 0x71191262062312e3L,0x84c82a94691f46faL,0xad4b344bdda57f44L,
  54458. 0x674b758ac4f0cfd2L,0x3bc058a077543efdL,0x3d7c765756618d06L },
  54459. { 0x95107c744dba9e44L,0xe59c3180cfdf1923L,0x5dbeaf35e3f1d63cL,
  54460. 0x012029c643ab8726L,0x4f588a4ea256c6fdL,0x14a01b7a3e5d2e30L } },
  54461. /* 4 << 189 */
  54462. { { 0x73fa3508180660f7L,0x4cae013e2d24936fL,0xf64a549f58493d98L,
  54463. 0xd9ceae0adc79f602L,0x6569e37bd1512b84L,0x11e4c022151c9151L },
  54464. { 0x075678c2b55c5813L,0xb26cdb5809d3cb16L,0x6334dca3a57fb969L,
  54465. 0x0ed90820223dc3ceL,0x74f9c3aebd11e277L,0xaeefed3679c0b8e2L } },
  54466. /* 5 << 189 */
  54467. { { 0x22195e48e57ac6a0L,0xba77c58214bd1913L,0x265f96b4323349b5L,
  54468. 0xc183196ea124d497L,0x99f1f78d2466d82eL,0x185a18bfc6263afcL },
  54469. { 0x29a3d5b686cf8908L,0x81f3bc00f680511dL,0x5f6ffc81661d015aL,
  54470. 0x31c2ff64cd5eb082L,0xc3c37ad672776042L,0x49438769d9c6ac75L } },
  54471. /* 6 << 189 */
  54472. { { 0x0e2fc74c2a24c385L,0x836a474034679278L,0x25518f16817e2c41L,
  54473. 0x8b573a8eb4b7d3c1L,0x012797f94ab56adfL,0x9e0e56d0fa2ab690L },
  54474. { 0x009ba1ee1c9f6f08L,0x8ebf4aac2f412e9eL,0xb143122a1cfb4e02L,
  54475. 0x988cf0eccbf2b783L,0x44a7ed9657f5be97L,0xbdcad87251804147L } },
  54476. /* 7 << 189 */
  54477. { { 0x969fcd982f60d1a0L,0xf0f4c9b2ef06b3ebL,0x8c6438cb49ec8f92L,
  54478. 0x746107773f1653daL,0xf7cbc899b574576aL,0x758de9008494795cL },
  54479. { 0x73045065ab22cf9fL,0x9893653c9ff13e98L,0x6e8860264a58d64dL,
  54480. 0x387d6cc34e3bf554L,0x82a49da4a42b0008L,0xb28bd9b71b0b1c47L } },
  54481. /* 8 << 189 */
  54482. { { 0x378205de2f9fbe67L,0xc4afcb837f728e44L,0xdbcec06c682e00f1L,
  54483. 0xf2a145c3114d5423L,0xa01d98747a52463eL,0xfc0935b17d717b0aL },
  54484. { 0x9653bc4fd4d01f95L,0x9aa83ea89560ad34L,0xf77943dcaf8e3f3fL,
  54485. 0x70774a10e86fe16eL,0x6b62e6f1bf9ffdcfL,0x8a72f39e588745c9L } },
  54486. /* 9 << 189 */
  54487. { { 0x97e6400574103b65L,0xdad518d6db50ac66L,0xaf96065961077d1bL,
  54488. 0x1335de0a5baab1f5L,0xd404db749e444a1cL,0xd3124c5027d5fe2fL },
  54489. { 0x1f20c68a0bd49e9dL,0x44405e6aad6a1654L,0x287d565193c362a9L,
  54490. 0x301ec6a2e76661bfL,0x4900f9b54c6f9927L,0xca3dbc3464bf3909L } },
  54491. /* 10 << 189 */
  54492. { { 0xa96955b9b1bafbc4L,0x8dcb55a7646ece39L,0x2b62784feb00e541L,
  54493. 0x462f9d7d2693249bL,0x8b264697794c189dL,0xded6ff5563354e69L },
  54494. { 0x7c8ea441eed1089fL,0xe355f75c1462f461L,0x87b691f61210fd5bL,
  54495. 0x7291bffb6983cb27L,0x9ed83afc92800095L,0x307a3dc81f24d923L } },
  54496. /* 11 << 189 */
  54497. { { 0x9f79814a45faaa0cL,0xc64a7ac93bb1b07eL,0xaad6ff897f2ad506L,
  54498. 0x43da948300b83699L,0x6a702b8d6617956dL,0xfcb1035a7981052bL },
  54499. { 0x094acd48cb230926L,0x3c3249d05da96800L,0x934088079d7208c8L,
  54500. 0xe4f04014d738a48dL,0x49bc5f0bf18b06c2L,0xf854285f596b9befL } },
  54501. /* 12 << 189 */
  54502. { { 0x7cec60ead7804b2fL,0x0064464345c11441L,0x3c6de88b769cd685L,
  54503. 0x34709186c7f01232L,0xd9eef41eedd2bd0dL,0x3bafcccde427faa9L },
  54504. { 0x33e5350ec07e701aL,0x9cb2eb47a87c1fd1L,0x9fa9a7790d5f5b28L,
  54505. 0xa2e7076b07ea2e53L,0x72f4da325c169cf4L,0xb7f192947e751588L } },
  54506. /* 13 << 189 */
  54507. { { 0x1a3b217d2f6d700dL,0xcbbe9349ed335d55L,0x428adbfb53ff169aL,
  54508. 0xbd74385214793b47L,0x2224e2569d9460a2L,0x8408600809982ac0L },
  54509. { 0xae6c6f9934447242L,0x63c78b2b9b51fb67L,0x381c948a389593d4L,
  54510. 0xf4cdd09f6e79ee72L,0xc658428ba185a0b6L,0xcd7562a786fe4c6fL } },
  54511. /* 14 << 189 */
  54512. { { 0x47eb133532dd7a30L,0x9d058169a9db654dL,0x375c59df6e7a2b1aL,
  54513. 0x55d37c677a35f29fL,0xc78a3678493c4cdeL,0xe5f0e2d68d83e31bL },
  54514. { 0xf7927002e9777bf9L,0xdd559324a5afdfc7L,0x077c6c48b81c08ccL,
  54515. 0xba1c98ccaa2ef694L,0x06c6c9544c02dd46L,0x211e50f37dd3145eL } },
  54516. /* 15 << 189 */
  54517. { { 0x7f985fa8a96aea53L,0x811f94dc480b38d4L,0x91fdd510f3d40c68L,
  54518. 0xc156312ccd763693L,0x24b544c3640057dbL,0xd7d5d4f5ad3b5a1bL },
  54519. { 0x5e235a1e26cda8a4L,0x0cf7b7cd1d2c6f17L,0x17b1ccf0908d3107L,
  54520. 0xf32f2a06f555eb5cL,0x274f7c2cb3c278c6L,0xcf1eaf296af1b44dL } },
  54521. /* 16 << 189 */
  54522. { { 0x2a5f8ecf06616d0dL,0xca9b1cb8c7deb373L,0x9de31cedc59c4301L,
  54523. 0x1e0f40b10111d998L,0xd29d229f960d5b95L,0x10563249d1dabab8L },
  54524. { 0x7b225cc9a05ecac9L,0xb02e689678f3b8a0L,0x009b52a1f5fb06b2L,
  54525. 0x8a575d3f842b9081L,0xfddb48afe9272512L,0xd39b8f1d0b452cb7L } },
  54526. /* 17 << 189 */
  54527. { { 0xb6efc7e167ba9cd3L,0x5a642c288e4f62a6L,0x214a63da364378edL,
  54528. 0x582c59944121c53cL,0x840277facc9a728fL,0xc6db3529f8f72d39L },
  54529. { 0x9c5cc2760aca9955L,0x8558a58db8b6dcd6L,0x709226acf0701f24L,
  54530. 0x6ce95b21ed248b40L,0x32ea565b5487934aL,0xa75a688496f9ddd1L } },
  54531. /* 18 << 189 */
  54532. { { 0x0d6b9c7c67e09987L,0x261a564d0761ad52L,0xec4621749f60925bL,
  54533. 0x83ee0c1218529b03L,0x72972467fbcfff74L,0x37fc074c6abc4bfbL },
  54534. { 0x8b6015bd54e65e89L,0xde8583eb991583cbL,0x379548e1b4d2c62aL,
  54535. 0x88024a9a9b24a5e5L,0x633aa869fc03abfcL,0xa27657b98fa35283L } },
  54536. /* 19 << 189 */
  54537. { { 0xb340993c5727e344L,0x2379f51d4f3295d5L,0xa5de3efce2929734L,
  54538. 0x7d2e2c82d8717e3eL,0x8f24abb67180db1fL,0xa5060d648a4ed876L },
  54539. { 0x8d39e3a2761110d6L,0x38d30c93a3bb5b66L,0x07774ac3c12fb741L,
  54540. 0x7d4ae5a55f4425beL,0xb9848a2afa704922L,0xed9ab68c4cd00812L } },
  54541. /* 20 << 189 */
  54542. { { 0xde9703b461d9e770L,0x02d4091def4653efL,0xefd229aa576eb5e1L,
  54543. 0xc0b0b243f77eb987L,0xb11309b2eefe8f71L,0xfeeacf2f68478044L },
  54544. { 0x8dfd8e8643ac3dd7L,0xc0a24181b07f95c3L,0x551ca09624be161cL,
  54545. 0x6cb2c1d4b098cdc3L,0xbfc74e9be74f84f8L,0xe58e14d9067e3388L } },
  54546. /* 21 << 189 */
  54547. { { 0xda121aae0ef98506L,0x435f28c6328e636eL,0x64b2170a720d40a3L,
  54548. 0x3ddb0e61cd24a844L,0x111442478797c7adL,0x624e7f73d589dd37L },
  54549. { 0x3e7e0ed0a8efdd25L,0x8de031f116509a5aL,0x1330cff5873488c2L,
  54550. 0xa80c60b3342ecf75L,0x9d3742c8e62550ceL,0x8ec9b229e46475f9L } },
  54551. /* 22 << 189 */
  54552. { { 0x9eca6f94f025baa6L,0xb2db0741bcf9c741L,0xf8e2aab590bb8f56L,
  54553. 0x4772903208762829L,0x067a0c5ae2a266c8L,0x22b104c771b7d7d0L },
  54554. { 0x4a48cd6953e406dbL,0xb85e44d524f0070bL,0x6168262fe10133ffL,
  54555. 0xdfc02315e4874e8fL,0x20dba2d7ca317e3bL,0x441c56d2e1d2c0c3L } },
  54556. /* 23 << 189 */
  54557. { { 0x9ebd10d6c444a2fcL,0xda7683e3f18ac11aL,0xdd42ed990fe8e59fL,
  54558. 0x9c867debee068909L,0x32df043fccc77aa3L,0x377423ce4aaa45acL },
  54559. { 0x960940524a90c535L,0x48bfe83347d1799cL,0xe8cd1a55ccabd174L,
  54560. 0x2ee0a276682145c3L,0x4249297e8d606c00L,0x22021ce2fd7af6d3L } },
  54561. /* 24 << 189 */
  54562. { { 0xae10069e808dc4b1L,0x64df30e18fb3ba73L,0xbbe4caf27ebaad0bL,
  54563. 0x5907bf373dd6119cL,0x0a723dff9dfceefeL,0x59bff4ddf7cffc7eL },
  54564. { 0x7bc95fa26a6f43c2L,0x9001d1d53ca0e2b3L,0x316a7ecd27b3335bL,
  54565. 0xbf08e6727b8d7d49L,0x4b209f93c619058fL,0x4c0ca01e59d8f9eaL } },
  54566. /* 25 << 189 */
  54567. { { 0x3c1e7f45bad772b1L,0x20f6f1732544af67L,0x14f491f9a7d6544dL,
  54568. 0x1451cc8e6acea162L,0x20c8ffa5d234ab89L,0x4b59bce1f5cd1002L },
  54569. { 0x99da4c0ee63027acL,0x6290cb963fc1f75eL,0x3a51774524c4d85cL,
  54570. 0x3bf9929c1fd144e7L,0x9bcb97467068294bL,0xcb0b3e5d2e61a022L } },
  54571. /* 26 << 189 */
  54572. { { 0x18c452c4cae69c3bL,0xf45690acef0f00faL,0x3b363aa04f66a5ccL,
  54573. 0x9dd41c0a47718c52L,0xfa219d7e7e5cd370L,0x5d384db7b2196dfbL },
  54574. { 0x5e14749b90b4d46bL,0x55796656d9db9481L,0x3bf13d0ac8cf353eL,
  54575. 0xb89a28a6a95c485aL,0x568fa3d05da29783L,0x4aa008eed182b1a4L } },
  54576. /* 27 << 189 */
  54577. { { 0x4f38667a179639e1L,0xca492d50ba7c7a16L,0x191e4a3478fe9dcdL,
  54578. 0xa3cddb2f03fc70b8L,0x57d90a90a751ec9fL,0xcf88357457a50cd6L },
  54579. { 0x69abd86d7cc58687L,0xc73a00408466bc6cL,0xfbb99c755c495208L,
  54580. 0xdd5f1ab9c13347b8L,0x9ae6fb92060b93efL,0xd6bb56a3588e5369L } },
  54581. /* 28 << 189 */
  54582. { { 0xf7e1ed3bb09fa8f3L,0xbb4fe6f71da5be9eL,0xcbab0e01f4d1ba21L,
  54583. 0xb732741076a5f326L,0xd94d2349206092afL,0x739f3cd0728e0e4dL },
  54584. { 0x568644aaf81fd823L,0x510cff6b6110e2f6L,0xef4cf1ac566c3598L,
  54585. 0x2c26f17162aae69bL,0x1e4360468964a2a5L,0x83c0bbf63e472c50L } },
  54586. /* 29 << 189 */
  54587. { { 0xc198c07064b2955aL,0xc32d41e1d8d43284L,0xfb6f0e2c9f4fc13eL,
  54588. 0xf4d5b60b41c61889L,0x5c79f500beb36946L,0x328b22408ca4beabL },
  54589. { 0x64058e916697617eL,0x6bdf7409f43f7390L,0xf2afd208f5bd8512L,
  54590. 0xc0000aa0bd1ad6d6L,0x38b8e03bd9f6c1c2L,0x0a34680d665a2d06L } },
  54591. /* 30 << 189 */
  54592. { { 0x79c04804aabd965aL,0x9581aab443d0b660L,0x59bff0035ba71d23L,
  54593. 0x212ecd58b6a0cd80L,0x29bdcd33bf1ea5d6L,0x59fd2ff477a002e1L },
  54594. { 0x3c9d21308d9cd247L,0x790e9dbcb1786da3L,0x967ee5e714464d04L,
  54595. 0xd6f7ebbd2b5373afL,0x1c0b22d539768d40L,0xdfb54983913f6cc3L } },
  54596. /* 31 << 189 */
  54597. { { 0x5c9808b78a42e002L,0x5cdb2b070f732854L,0xdc92b1676d6d4579L,
  54598. 0x789dbb8ebcc22c54L,0xd76b2d40716eb28fL,0x5cbaadea004affd8L },
  54599. { 0x5d4d84dd08fcfe12L,0xd0f1d7ee20d4b893L,0xc98d77dfbbb90db6L,
  54600. 0xbce9a5a2b1e29a22L,0x71a6835d0b54e100L,0x0199594a55b1ac68L } },
  54601. /* 32 << 189 */
  54602. { { 0x167ec88a51b3f1ceL,0x19756ee0420024c8L,0x10f2e2443877e634L,
  54603. 0x6321bf2603462cb3L,0x1dbd10ee9d3afceeL,0x0726f5f22ca17dcdL },
  54604. { 0x094652660bacf018L,0xc92a9f2de1feb969L,0x0043b0f95e1c5912L,
  54605. 0xa09b94d1757d3a63L,0x533956529fdef1e0L,0x9826886cd4fedd41L } },
  54606. /* 33 << 189 */
  54607. { { 0xd22bcbee51964ceeL,0x3ed80af3b0eea46eL,0x263cfa026b854aafL,
  54608. 0xfa4ad481b9ca3b51L,0xf8c569a0b4451297L,0xeafb78f8f48059a3L },
  54609. { 0x86a9e3c037093acbL,0xcfb3bb63275ef52eL,0xc4672d3c7c924f03L,
  54610. 0xa87350871691be3bL,0xf124f3a52be289b7L,0xf45052dc6b80b6c1L } },
  54611. /* 34 << 189 */
  54612. { { 0x79c99f99a010db6dL,0xe83088a74ee93fc2L,0x76e8376d836b1a7dL,
  54613. 0x8cab091c4e24e127L,0x5c98a00f7283cd21L,0x1beaf4a084997647L },
  54614. { 0x2cfb55b8d934088dL,0xca24052cee724d5fL,0x5d6e9db5bba84289L,
  54615. 0x133414b26fb26d72L,0x3e844eb9cb12a503L,0x5eac12dab53d6496L } },
  54616. /* 35 << 189 */
  54617. { { 0x79a098812cc6698bL,0x6d44e7577f383e02L,0x1969f93785b5f732L,
  54618. 0x3061f62792acecccL,0xa9428d60cc2a4752L,0x69a472af2cf58626L },
  54619. { 0x63fde53cabd347d7L,0x138b5b6a1aed4fd3L,0xd93fce1f2bd48519L,
  54620. 0x957fe302e49cc436L,0x9b51657a2e21ad5fL,0x3b5c4cb6acbd3af6L } },
  54621. /* 36 << 189 */
  54622. { { 0xdcfa78b096dda000L,0x5b60dfe5be2303bdL,0x7a6bbd34c7c6ad6fL,
  54623. 0xd45c9cb57012b97dL,0x9a049e36812e1662L,0x723bc0b66a5483aeL },
  54624. { 0x7fc03b6ad1c82e81L,0x02ddd6d2b23f6818L,0xe8914b2d30dae39aL,
  54625. 0xf4f0ae392f692056L,0x198a31bd45f1390eL,0x917ce4f4f542565eL } },
  54626. /* 37 << 189 */
  54627. { { 0xde39a4e6ca447864L,0x95a028f9f0b131ccL,0xba77ac314a39c4f7L,
  54628. 0x0c24d09614857939L,0xdeea56edfbfaa0fbL,0x79aa342f4c920bf1L },
  54629. { 0x50228f48c7e9dc62L,0x0fd9d1dee0f0fba3L,0x3fc03993cd703f6bL,
  54630. 0x229a3bf4c5ff39fcL,0xa7456aa484f9cb20L,0xb01bb5a7d12fd7d9L } },
  54631. /* 38 << 189 */
  54632. { { 0xfb390be4539519d7L,0xbaa98a2a6ad44d22L,0xafd19a75ef89de1fL,
  54633. 0x1afaef2971e27781L,0x18b297d79887739fL,0x8fcff6048e6da42eL },
  54634. { 0x17bfc1717e861a36L,0x1467800537a8843bL,0x2bc47afdeb16065dL,
  54635. 0xcc038e2fbab7b4fdL,0x9d8fc42a3eb9be7cL,0xfc2f0b295928da63L } },
  54636. /* 39 << 189 */
  54637. { { 0xa4e33ca261c14fbdL,0xebafe73fc0a87f99L,0x22fdf1d1f5abf7f4L,
  54638. 0xfc1da26549a6b956L,0xfd8c48e5be25dd72L,0x9fd6520ad31a25aaL },
  54639. { 0xe0167d4ffd14dbbaL,0x8838d2ba7370153cL,0xe5f7d69b133fdda1L,
  54640. 0x31acbf8de1749b60L,0xc14ec9e2107558dbL,0xb06d0252b99553acL } },
  54641. /* 40 << 189 */
  54642. { { 0x34590975ed424438L,0x7c03ce744d11a200L,0xcc939a286ec406eeL,
  54643. 0x8d214276fee5454dL,0x66a0e1a56b257f70L,0x93761a8a006fb85eL },
  54644. { 0xc44f9df2aa70b65aL,0x1dac524f91d9e2e8L,0x5894a8224fca1a81L,
  54645. 0x8586e418f3ed85bfL,0xd494dfb202899b5bL,0x7ea9f222ecb8e371L } },
  54646. /* 41 << 189 */
  54647. { { 0xd93ee716b0958516L,0xa91f39db3eb86888L,0xb472c1e2ac92105eL,
  54648. 0x4d88a307429ca094L,0xd3fd88027a8e87e1L,0x40c4cd50126a2cf2L },
  54649. { 0x046ce3bf11cf2046L,0x412678ee05691999L,0xea0c78168d3a2921L,
  54650. 0xd24ae89924f3c66eL,0x2c4457f00bd144e9L,0x82005b4fd7a52270L } },
  54651. /* 42 << 189 */
  54652. { { 0xf1b3ec32924340e0L,0xe5430ea3b33a05abL,0xbf43b031807629b7L,
  54653. 0x53c9407d57014039L,0x6e67b52f2f195ce2L,0xc8cc645f1e48d8c1L },
  54654. { 0xf2234275c08f2122L,0x9cfe3c74c2f233e0L,0x235e6b349c4e0af9L,
  54655. 0xb4e8ef5770de39d8L,0xba573a727f73d0a9L,0xe12c506a18587ed2L } },
  54656. /* 43 << 189 */
  54657. { { 0x6b9669c59cf3e4f6L,0xa472d5dbff677559L,0xde845b0c877e5590L,
  54658. 0x9f7ef5802d0e2350L,0x87ea99d4e78c1096L,0x213243e9abb68028L },
  54659. { 0x0172c81595e71abaL,0xc2592a762ca34c65L,0x50749aee9dc286dcL,
  54660. 0xe37d10884055de3eL,0x3e5a93bb90d652baL,0x0cbb7a08c32aa3e6L } },
  54661. /* 44 << 189 */
  54662. { { 0xe0bf3d8a026c43cfL,0x091956cfeb702508L,0xfcd486c9a6b3203aL,
  54663. 0x94a6d52f365460ceL,0xefeb5400563bec77L,0xbe6baa9619b2659cL },
  54664. { 0x116f71c34bf21a00L,0x83d1c99a86d21871L,0xff1ba96aca0bd547L,
  54665. 0x5eb0acf741b94afbL,0x1be5d66fb1aaad14L,0xb8ececc5e6cd6d4fL } },
  54666. /* 45 << 189 */
  54667. { { 0x65f6e29dec7d4de8L,0x082fa0560e938c79L,0x4cda3fc925a02f04L,
  54668. 0x77dbcf0d3bac5cadL,0x625f9bd859145bdbL,0x98b7fd64553a11f3L },
  54669. { 0x621bfbe387dd8a45L,0x6519421d1c35176bL,0x89eabac6d5ead4c7L,
  54670. 0x45c68bfe54acfbd5L,0x87cd244a84f30b68L,0x83b5f6b27b39275cL } },
  54671. /* 46 << 189 */
  54672. { { 0xd43b1d3c0ed0ade8L,0xd60b1ae7640e7d37L,0x965489e6f88e06e5L,
  54673. 0x35398ac89653417dL,0xed1e89ac02cfcfc5L,0xd127f68dbb6f2bfeL },
  54674. { 0xa569c59fe22bb079L,0x7933f14e4ca8e9deL,0x68b4964a30033c3eL,
  54675. 0xab438cf88f069045L,0xa64f3a1516163059L,0xf40499c14576fe42L } },
  54676. /* 47 << 189 */
  54677. { { 0x361c28da052567f7L,0x8a2c6aafe0db84b6L,0xa79eb10cabbc87d3L,
  54678. 0xeaf7bfff4141b3acL,0x90bba4a953aacaf8L,0xda577661c35f9564L },
  54679. { 0xb2550d0dd4487a5fL,0x69d43c5199638269L,0x6d16973f7a1f8ac6L,
  54680. 0x3dfb2253c71e4a4aL,0xafd836aefa36168cL,0xba72fd1faae6dacdL } },
  54681. /* 48 << 189 */
  54682. { { 0x690c0cfeb449d1e2L,0x4a5e150b1b8e1577L,0x22508042204d98a6L,
  54683. 0xc87a97f5bad2eb08L,0xd307c59ed25823eeL,0x6ed083580df8b3f6L },
  54684. { 0x280ae344314e7016L,0x6a55be876ef4e889L,0xea930e5a24d04e38L,
  54685. 0x0269d9a7309830fcL,0x41dc8f0ae4afeebcL,0xfd1bc660f14ee02dL } },
  54686. /* 49 << 189 */
  54687. { { 0xf81cc943631da366L,0x2e821eb85ab1a2caL,0x339e9e4765433883L,
  54688. 0x3dc14370e1f60c71L,0xbd6c79bebc25b506L,0x2bd3ad51a8a639f0L },
  54689. { 0x7c168f13c700a293L,0x64fef4fc28b4ce88L,0x3ccdc3080c329c6aL,
  54690. 0xbfd78932b76a9452L,0xf0c123fbc684f4b5L,0x8bfad06432305ed6L } },
  54691. /* 50 << 189 */
  54692. { { 0x208a668feea1a9ddL,0x8af75caeab903f09L,0x356208b449265292L,
  54693. 0x57b24ebe53faced4L,0x9c8aaa7303694920L,0x1c06ef5ad2f90179L },
  54694. { 0x794ead99df92de87L,0xad900c4e7a73fe9aL,0xdb66b9ae715d9f66L,
  54695. 0xd19dc46db1bc2950L,0xb0a5af5c24c82c0aL,0x7d83f950371d0ec7L } },
  54696. /* 51 << 189 */
  54697. { { 0x716071e3abd37656L,0xaa22858be6cab564L,0x6793a66f5aec00ccL,
  54698. 0xe2ea5401e025da6dL,0x3998ea5d2eb0059cL,0x4ff6f442e39abb77L },
  54699. { 0x703eabdabdb6e0f9L,0xa33e6deb38522433L,0xe23c13f6ca83c2acL,
  54700. 0xcfb8e57c0cac836fL,0xd0f84bde7692714cL,0xb4fc3b01f3f41d29L } },
  54701. /* 52 << 189 */
  54702. { { 0x67842ab4d8f358a5L,0x70cab57540e2fb69L,0xdebc3046e5c458e4L,
  54703. 0xc3574cf47eb004d5L,0xbac261a1c86f20f9L,0xc1bcb661deccf7fcL },
  54704. { 0x5b3b96dec5574e9dL,0x07b878b3e151fb0fL,0x2f2d126cd38bd5f2L,
  54705. 0x06c951e8319597c9L,0x5529be4424ed0027L,0x82dcacc2ba8d7acbL } },
  54706. /* 53 << 189 */
  54707. { { 0xc37eef0149311e82L,0x3d07aaad401d010cL,0x934e039e53417831L,
  54708. 0x70775653da895ec3L,0x206b80af625cbe49L,0x9e2a4ee1e53ccb36L },
  54709. { 0xebeace45c8ca6ff7L,0xadb19bd9925302deL,0x951bfcc497dee154L,
  54710. 0xd09882da79b60e1fL,0xb1e9cf0cda5f2516L,0xc2b697295e4def97L } },
  54711. /* 54 << 189 */
  54712. { { 0x74ce542d04f860e6L,0xdc8adf8fa3c48075L,0xe19852232063f76fL,
  54713. 0xf651c9fd5cd9ff61L,0xd4cbea69bab39ea0L,0xb6d4749b28fe3443L },
  54714. { 0xaa7747ec65e960ebL,0x1a1b7b65e132a213L,0xfa52901f402a50d4L,
  54715. 0x3e4d2da68d43700fL,0xbfc7322937d45181L,0x68a812f9008bb845L } },
  54716. /* 55 << 189 */
  54717. { { 0x226d4d233e4cbf5dL,0x36359f52576243e8L,0x032af38a39a1999eL,
  54718. 0x9b59120a687eb228L,0x85c56b78e68e1498L,0xa7a14bd4849d03d1L },
  54719. { 0x9e7177b345c4c3f1L,0xad7e4975183bd846L,0x42418d9a42f69dc2L,
  54720. 0x218e8f8e4f52cac6L,0xafafa7649f1f3214L,0x32f6f72b747f7592L } },
  54721. /* 56 << 189 */
  54722. { { 0xefca7f7ba6c53c1bL,0xcb4bb33c524457a0L,0xc9eab87fe57d08dfL,
  54723. 0x48c01c2a7d9a1967L,0x11c97ed97dc27492L,0xd8c644861cf1f639L },
  54724. { 0x541f8c0d8156576cL,0xdf5c8dff2384e299L,0x9806935ba6be190dL,
  54725. 0xec6c5de764494b4eL,0xf04e2d4cb83c00b6L,0x379af438c0b84f15L } },
  54726. /* 57 << 189 */
  54727. { { 0x64e6289d92bbc1f8L,0xe88b78c5a0620121L,0xd01bac79a0fbc373L,
  54728. 0xa2e7986af098f07cL,0xfcac4dbcc5911218L,0x2e2bf56db337ed26L },
  54729. { 0x878d9819e89a73c6L,0xa7df4f5768df46d2L,0x74bf7e2f4b3c9568L,
  54730. 0x2f2b187aebcce535L,0x544f18139a4c2be3L,0x3a5fe300a5938f0eL } },
  54731. /* 58 << 189 */
  54732. { { 0x901a14cd70aa91aaL,0xf0b6e1ec7f0b0a70L,0x6fd1ee0156a8bf9cL,
  54733. 0xe7e53c6693fbdadbL,0x18ebae68e17de706L,0xf4107457ebecf636L },
  54734. { 0x77a85ea4a9f6c696L,0x3ea193e17dd9e3adL,0x9497e0a9f151c8abL,
  54735. 0xcc9237497a1dbf14L,0x2e36740e8f9be59fL,0x1b1c7d7c4a249e51L } },
  54736. /* 59 << 189 */
  54737. { { 0x7a45af2242cdcc53L,0x3061d91b8682832dL,0x85e080f6c375030fL,
  54738. 0x3ea6dcd1418440c7L,0xe0559870d14b6537L,0x36619215d178b45eL },
  54739. { 0x48a4b452dcb85a34L,0x79cf4529bd5504bdL,0x506215e9e9c34c8eL,
  54740. 0x961f74b6dbd00e2fL,0x473d1397cbc84ddbL,0x6c64f870a8d67cb5L } },
  54741. /* 60 << 189 */
  54742. { { 0x519a6edb91a9b99eL,0xc0ea29e0f19221eeL,0xde83e0f77dc193b2L,
  54743. 0xa7b33b6044be16f6L,0x7edcb49406c8e8d7L,0x9f9dbb86392c0ef6L },
  54744. { 0x09aefe035726bd5eL,0x782d8350c4e80b7cL,0x14e41a49186b80e9L,
  54745. 0x9af13703499ef97fL,0x5752877f2cbcc336L,0xdd0f8583d2df624dL } },
  54746. /* 61 << 189 */
  54747. { { 0x1cd2be3f32f6b0a4L,0xfd5da4a90114bca5L,0xc322a6a198a39a66L,
  54748. 0xca411eeb10d64384L,0x7c5d3ed0c72d8b6eL,0xf20c76697481309fL },
  54749. { 0xaa4e45dca155872dL,0x66e41d54b87c1e51L,0xbe2fe5e6a6bfe6b6L,
  54750. 0xf60ca33a08a4d3e7L,0x45c1ec8c7211b48cL,0xdf44d3b573b78f7bL } },
  54751. /* 62 << 189 */
  54752. { { 0x21eda67429a1e6acL,0x33118990422ce5aaL,0x236aa9ec27326810L,
  54753. 0xc42dff9e3be7b318L,0xbe4601281690755fL,0xa395509d8c1c60c6L },
  54754. { 0xa36de79d05b991d2L,0x55f516a3632882d4L,0x4c8c5a4296d1d493L,
  54755. 0x56199648533cda6dL,0xf9c6897a603bbfeeL,0xae835160f9857cc4L } },
  54756. /* 63 << 189 */
  54757. { { 0x700bad58d6aa9618L,0x2ad7069c05d54c73L,0x7f3ff5992f6a8495L,
  54758. 0x39de751ee26e6720L,0x39126d97d4cecf54L,0x353e00e21523aca4L },
  54759. { 0xee905af017a33178L,0xa30173d31daf2642L,0x24cbbcc728f9169dL,
  54760. 0x4e65bb13a7039e69L,0x004a11859121e44eL,0xd4efa5b91c1e60beL } },
  54761. /* 64 << 189 */
  54762. { { 0x2e75a26eec65b53eL,0xfeb630b270552fb3L,0x53dfd057ee7d8e4aL,
  54763. 0xb959110d8994f449L,0xb4a16596bb538367L,0xa70917bdef82f29cL },
  54764. { 0x5a76430043bba6aeL,0xee207476cfbc194aL,0xc7eab23803a4184bL,
  54765. 0x60c67ef20f7fcd62L,0x41e05799dfa8a0c6L,0x5d7d05e604d352b0L } },
  54766. /* 0 << 196 */
  54767. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  54768. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  54769. /* 1 << 196 */
  54770. { { 0xc97c01eb436b59f5L,0x1d15aca7ef1848abL,0xdba1ce807fa7d3c2L,
  54771. 0x69e6f96e81060874L,0x6e3e0df74d7eeeadL,0x8a3b5e85b0c87f3dL },
  54772. { 0xc55ae3dbc8a23914L,0x5cdc2a92bf6d27d9L,0xa6008c591de7860aL,
  54773. 0x8202f8b66e546731L,0x652f2d07aa1e45d4L,0x146f214f6df5415aL } },
  54774. /* 2 << 196 */
  54775. { { 0x041c706cce5fb4d9L,0xddc78cb3b22a79a7L,0x7dc4cd27839e9d5aL,
  54776. 0xdfc9db83bf3c4c06L,0x85b8094138b7bd22L,0x1007dea2d0f4c2daL },
  54777. { 0xd7b34006c633fba0L,0xa8880acf4476e55fL,0xa340b2c275236685L,
  54778. 0x5ddd05510113a85fL,0x7dfc7ab29cb32704L,0x9a334a33dabf22ffL } },
  54779. /* 3 << 196 */
  54780. { { 0x2fbce9bed7d1146bL,0xcec9e5d8b3980bd2L,0x48ea45939f4cbaf0L,
  54781. 0x56c540092574a3bdL,0x84a39630e792c39aL,0xe5c690f8eef81343L },
  54782. { 0xf996760f17655bc9L,0x6009c2156c0c191cL,0xa0ca12e6966d7027L,
  54783. 0x92a6d5d52e6f7c63L,0x46809d269bd13eadL,0x3c11fa7967aac681L } },
  54784. /* 4 << 196 */
  54785. { { 0x3fc9b3cfabe2cc87L,0xfd8d64e3514e77feL,0x2003a58afe1ad535L,
  54786. 0xcec4be38cb39149fL,0x4d578c99bdedf470L,0xcd35d7a33a356519L },
  54787. { 0x7a762f278b078d6bL,0x3b6891ed31ae2701L,0xdc0e817f270c508eL,
  54788. 0x5a7be2049fdb29c8L,0xfa1a0be3cb2711d3L,0x5865f55f3786a0c2L } },
  54789. /* 5 << 196 */
  54790. { { 0x1d0af6b52f641cffL,0xa932adeb3648c4a0L,0x67641951b1ea8fc4L,
  54791. 0xc0b90064b1fae482L,0x7012642f6623477bL,0x1cddc0245bf019ceL },
  54792. { 0xca1f4675c2c32737L,0x11525a5e97d6b18cL,0x9c034ef2d3868de9L,
  54793. 0x0533d921044e0c18L,0xba6cf14ecb5e38c3L,0x438309f3509d7053L } },
  54794. /* 6 << 196 */
  54795. { { 0xe164268ec4ff9f0bL,0x6c8e9349e6c36e63L,0x734f979478ab17f3L,
  54796. 0x46d468de0179ed0eL,0x7e68f006dfa26867L,0xe4d4a85de3d0485dL },
  54797. { 0x0913a1d7f84c0f8fL,0x4095c8c025a9c9cdL,0xeeb1a79e49eadd08L,
  54798. 0x433f5e417dd8f954L,0x70a6281430bb26d0L,0xad94d8f6ff5e8e29L } },
  54799. /* 7 << 196 */
  54800. { { 0x6a352b579e32c0a4L,0x5274a08277ec7a40L,0xee1f7c7a240e6dc5L,
  54801. 0x85d5be62d313b4a9L,0x1522c5d25c01a405L,0xcfa08aab960afd5aL },
  54802. { 0xa3cb77f38e8a93dcL,0xaacb16766d1c98c7L,0x84090c7d3b93fa9dL,
  54803. 0xc77f1ee13c0383adL,0x461c93b776f7a220L,0x66d63a1d04ac0bfcL } },
  54804. /* 8 << 196 */
  54805. { { 0x3c7d6b644751207fL,0x65e1f96ae440c1a2L,0x8ed15d20aa0eaa1eL,
  54806. 0xe944ad2fc0eab490L,0x71525aa1f6d9f260L,0x5cd14c8816146ba3L },
  54807. { 0xf940190814a41275L,0x3bb7ea742288618dL,0x6a4e1c37cab1060aL,
  54808. 0x357fe4d0c8cac96fL,0x97a8b8ab6a2466ecL,0xb6e83fdb9c01be70L } },
  54809. /* 9 << 196 */
  54810. { { 0xa55a7142cb09a69cL,0x0a39fa12896a9c24L,0xa7131a001f6c9c82L,
  54811. 0xdacbfae97509c912L,0x3793d4ef4232eb57L,0xb63d9fc0da02ac15L },
  54812. { 0xf1ce48a09ab37492L,0xa388dbb5cf9ddedbL,0x7224ef47fd7b2aa4L,
  54813. 0xdfe18be82fd35ae0L,0x2286ae7b90a2e98dL,0xd06cfd71e0d3c2daL } },
  54814. /* 10 << 196 */
  54815. { { 0x7825df5c948663a4L,0xc8c093adeb4ec9ddL,0x677c51ebc1505989L,
  54816. 0x8c28421524041f43L,0x0f63f15ac9ef610bL,0xcb98841d257678c5L },
  54817. { 0xc0560066c52c64acL,0xaf7417db954180e4L,0x935c08876fe1f0e7L,
  54818. 0x8fe556ba46d03a88L,0xec44271484a0c4a7L,0x431f8e8395be9544L } },
  54819. /* 11 << 196 */
  54820. { { 0xc1fc18cb3101ce6cL,0xff753902048e52fcL,0x768299554e58e21eL,
  54821. 0xac990acc32856d44L,0xaac4d5dc9f8a9da8L,0xca1740fdd4be9e8aL },
  54822. { 0x59250846892d8bdaL,0x45f45cad19c97c71L,0xf29e2724e6ba5c87L,
  54823. 0xe441134473f6a778L,0x9f4f9027a0f278faL,0x11bb7ce02bdcef71L } },
  54824. /* 12 << 196 */
  54825. { { 0x0cc553bb9b3fd7ceL,0x2e0ff43ce103b562L,0x96c01f0328222a3fL,
  54826. 0x7dcc5593c10171c0L,0xc677366a4b3e5858L,0x872d4396bde4eebdL },
  54827. { 0x5d0c5f3a7f83c0b6L,0xbf4274dcf7ba33d9L,0x1df6e4811a635f83L,
  54828. 0x24e2e8347d807292L,0x792203a8eee1e676L,0x20475f907ef4e8a4L } },
  54829. /* 13 << 196 */
  54830. { { 0x1b4db0579e37cd0dL,0x61b95bc9ebccdf79L,0x7d98d8537a57d7adL,
  54831. 0x58a3d639709b0194L,0x45fbd4417ce5bc31L,0x7684b71b5b3c856aL },
  54832. { 0xb311f8f85bb6bd1aL,0xaeb8e44711eda59bL,0x1ad5b35fbf269cffL,
  54833. 0xc69651b4a0e2a640L,0x3713803bd83ad8b2L,0x613ca3af0e4b353cL } },
  54834. /* 14 << 196 */
  54835. { { 0x3ac59b1fff8cf495L,0x3f3726866b04c4dcL,0x2cdddf90da325f0cL,
  54836. 0x3ae79666444cabe5L,0x8222f6d6c7484b1fL,0x61fb08929ae328b9L },
  54837. { 0x279aae392c575c0eL,0xac694019948508bfL,0x4931cc55b84056f1L,
  54838. 0x75927a688b50ad1dL,0x47ba72e945584371L,0xbea7e62ea79fe5e5L } },
  54839. /* 15 << 196 */
  54840. { { 0x990a6767faddc25dL,0xcd7650eb114eaf17L,0xf9d1d6409a44cda3L,
  54841. 0x70996b6871fb091aL,0x630ae9754ff80816L,0x59a9dc2f987b20e7L },
  54842. { 0x9a39588ef65fbbc7L,0x71f4c8e598e7c78cL,0xad2f5a0138cd40acL,
  54843. 0x3c68fe575a837332L,0x7af44087155e6b4aL,0xd66f4cf8e99e31f2L } },
  54844. /* 16 << 196 */
  54845. { { 0x5b0b5d692a7aecedL,0x4c03450c01dc545fL,0x72ad0a4a404a3458L,
  54846. 0x1de8e2559f467b60L,0xa4b3570590634809L,0x76f30205706f0178L },
  54847. { 0x588d21ab4454f0e5L,0xd22df54964134928L,0xf4e7e73d241bcd90L,
  54848. 0xb8d8a1d22facc7ccL,0x483c35a71d25d2a0L,0x7f8d25451ef9f608L } },
  54849. /* 17 << 196 */
  54850. { { 0x81e304c903b37e31L,0x21781e57925a6491L,0x4ecbad144b9250d9L,
  54851. 0xb395914345cae8feL,0xb894a39dbf775d4fL,0x8a2c1090d307e272L },
  54852. { 0x49dfcee9408bf3cdL,0x08f0f33195b573dfL,0x23eb8a0b214bcd3bL,
  54853. 0x425e1cde7ccc4d82L,0x53f64095ac113d2bL,0x377a6cb3d88e0761L } },
  54854. /* 18 << 196 */
  54855. { { 0x9cd08431d360ae16L,0xbf5a73d211281e82L,0xfe25aadfcc34ff33L,
  54856. 0x8874984b84e3af16L,0x8dd38b596a65a2a7L,0x6c91112c68a26926L },
  54857. { 0xb765168637554f46L,0x79558f04c78bf29bL,0x8bb14b1f03012b9dL,
  54858. 0xed7d03f9a0886ba3L,0x9a436ec3c2a93baaL,0x601babb740db0c78L } },
  54859. /* 19 << 196 */
  54860. { { 0xa7395eef391821d0L,0xb299378fc8b7b1e2L,0x53a37e3b7f3a58d4L,
  54861. 0x7d06fa4e3188c5adL,0xe65a94c063dd7462L,0x4daf74f39cfde2b0L },
  54862. { 0x98f986b4fbe7198dL,0x8e96b1ee88176bffL,0x5f309f64eb91641eL,
  54863. 0x46bfe3352ffdca19L,0x1ea1bbe7ac8fbc08L,0xde8ca618b00f88eeL } },
  54864. /* 20 << 196 */
  54865. { { 0x0757ee852005631fL,0x60f484ea9d70cc3bL,0xaf131d246b011041L,
  54866. 0xe40711a1062e2e17L,0x05ccf1b94c27e2c2L,0x29e9910e43d43758L },
  54867. { 0x54daa550ed000e45L,0xf00a312295d3674cL,0xdb006fe743ec424eL,
  54868. 0xbddf5473536162d2L,0x7b8a24b579d433bdL,0x3127a46f282297d3L } },
  54869. /* 21 << 196 */
  54870. { { 0xcd964573cd0585a7L,0x9c2fd35605b684aeL,0x7f600f4de4a47ec5L,
  54871. 0xcb4bcdf085fdd4feL,0x5b292292b4dcf5d1L,0x923c4331df33a2b8L },
  54872. { 0x0fe13edfd6c1e73aL,0x0b35adc6c370821bL,0xa70061b08d405282L,
  54873. 0x98efb3fc6457af81L,0x8806ee7136e1041dL,0x8b56657faaaf0731L } },
  54874. /* 22 << 196 */
  54875. { { 0xe68b669189cb38d1L,0x250f59233456ed5dL,0x8928f1fe16188290L,
  54876. 0x8b24b1f734a837d4L,0x268c8c57d945d0b1L,0xa4190ceae002b3abL },
  54877. { 0x4596e76e56dd74b1L,0x647c17871c307789L,0x0b945c7243b13a6cL,
  54878. 0x4904669552a58ee2L,0x7547a6b46e25b7e4L,0x8bc26f49e2b1b140L } },
  54879. /* 23 << 196 */
  54880. { { 0x95b3f4e75196d614L,0xc075bcfd5ea18aadL,0x15dc9dd41ae71f42L,
  54881. 0x75a769f289543f86L,0x06032d9ec392b4c4L,0xd6cc5c717d4df83bL },
  54882. { 0x111fc63427ad6680L,0x770dfe7f781bda48L,0xabacb082fc0afb5cL,
  54883. 0xe3a463e771dca197L,0x390f21a89635b275L,0x3d3474b24ae094a6L } },
  54884. /* 24 << 196 */
  54885. { { 0x48f5588853666241L,0xb9fee3d39e6a068dL,0x8c50e3af0275e82dL,
  54886. 0xd490cf2dcab34005L,0x20b11f86bf0584c8L,0xd49714c18179e559L },
  54887. { 0x89647b178ded6686L,0x6c4bac8cf16c93d4L,0x5401e4f8076ff71bL,
  54888. 0x577e73acb1ef9b0cL,0xa1b87e0ea46e7880L,0xab8d8bbb54fd28a7L } },
  54889. /* 25 << 196 */
  54890. { { 0x220161f0741396fcL,0xae14ce5817da16ecL,0x766e415bb828b19aL,
  54891. 0x1b3b239e610c7aabL,0xf1c7df4992d53419L,0x57e4cee59442c6cbL },
  54892. { 0x546f73b5f85d33d3L,0x195116c74e041703L,0x5a71a96a5d668df5L,
  54893. 0x0adb7b16fe56c658L,0xf6be923deb563532L,0xa65ed113f2d45f4dL } },
  54894. /* 26 << 196 */
  54895. { { 0x8c6742e5bccd3be6L,0x5f0f7fdd378de702L,0x41236fec334aabb8L,
  54896. 0x4b15815b7e9d8aa9L,0xbb816e46e1c235bbL,0x8591cc45176c2fe0L },
  54897. { 0xef00e3981d7104b1L,0x761d2c244012398bL,0xe4984f4ae81af247L,
  54898. 0xf923bb80c144dc64L,0xd51f27dd83988de3L,0x0ad5438d995dbbddL } },
  54899. /* 27 << 196 */
  54900. { { 0x0532790bd148314dL,0xb4862d9d5b6b4ad1L,0xab65bfc45beb3ac6L,
  54901. 0x72eac92d99331822L,0x2e09a69a6127632cL,0xaa1eaf0791ef9141L },
  54902. { 0x79b923fe754ff12aL,0x19395a97f9a467ffL,0x7dcc91d49ef5cc4eL,
  54903. 0xb9019ff198a84090L,0x62616ed6d5bfd083L,0x95cbf9442b328615L } },
  54904. /* 28 << 196 */
  54905. { { 0x22ef6f606374afbeL,0x70e19fad26348f5cL,0x8bcd51a845f98ac6L,
  54906. 0xeeef7f7026b7ba04L,0x33aa0644544edcb9L,0x22d89a1244974c71L },
  54907. { 0xecd08f5d0f8d90a5L,0x495a0403cf03513bL,0xe924feea27953ba9L,
  54908. 0xdfbe1f93eb5e7975L,0xd3c105a1285865dfL,0x87b8b6360886fc87L } },
  54909. /* 29 << 196 */
  54910. { { 0xc2da6d7a219d44f8L,0xe66364c555a9d970L,0xfb0936258611738aL,
  54911. 0x916fbfa844f7f35dL,0x7a4e0451774b1e2bL,0x7adaab9e80375e65L },
  54912. { 0x2272b95c8ffdfda9L,0x41644b619ad42b25L,0x157026817f0c98fdL,
  54913. 0x25d4a00fffba1d85L,0x52e684c6c6c5545aL,0xba85bf2adabb7df5L } },
  54914. /* 30 << 196 */
  54915. { { 0x89a5b69dd282b12fL,0x63864e7ba7d28277L,0x36ac74d08c21f920L,
  54916. 0x7cfd291713a2f8d3L,0x50b63122c2ef5022L,0x23d454328ed33339L },
  54917. { 0xf8696b2dc4880048L,0xb9605bd5792dcb6cL,0x4cdb5fc26fdeeb9bL,
  54918. 0x58ee2837f1a7f35eL,0x8956359ae2985ccfL,0x0cc6c4ab2c94cb32L } },
  54919. /* 31 << 196 */
  54920. { { 0x2fcac7d161a8254aL,0xc396583a05389aceL,0xc6f069cc3872ee52L,
  54921. 0x76f0e5b407180f5fL,0xc8b23b7a2dee0d6fL,0xc77b242613bf8fb2L },
  54922. { 0xa8c625e66d5ae411L,0xc0c40a75b0723adfL,0xdee0ba8f380d9c67L,
  54923. 0x38b86a3b19920f24L,0xff2191b7d910e9cdL,0x8d01786734181894L } },
  54924. /* 32 << 196 */
  54925. { { 0xa704016022ec7eddL,0x19124972cc9c8ee8L,0x697f301f2ccb9417L,
  54926. 0x3ee877646f00d8aaL,0x2b5afaf88138a017L,0xf152b14c832d7543L },
  54927. { 0x27c27ce2383052f9L,0x4746c5b5e1dae11bL,0x92dc5ac75b752008L,
  54928. 0xcf382e01e84fe5f1L,0x90e034197d5929ceL,0xafee3abb15ca3ffaL } },
  54929. /* 33 << 196 */
  54930. { { 0x299e0c5507f0e3a7L,0x75dac5c46cdebb44L,0x340b5479183c7e42L,
  54931. 0xfb1b03dd702672d4L,0x68f7222ec07cf89dL,0x67a471e422e7a8a4L },
  54932. { 0x79dd4627b9ada93aL,0x774c53771c8ecca5L,0x95191e1a59db2e65L,
  54933. 0x3f6947f270abeeceL,0xb4934fe0885e4e00L,0xd082e49901728c2aL } },
  54934. /* 34 << 196 */
  54935. { { 0x86cd8083aaa82329L,0x74f0c5786e579dfcL,0xc2b68c4e3b436545L,
  54936. 0x8e66c648469d4a81L,0x4c5b05c5bef62bb0L,0xe558ff020bb6f865L },
  54937. { 0x9f8ccb16f356a124L,0x1bb28d7c1279f8f4L,0x9b885f0ca8fc4e08L,
  54938. 0x2ec4cf69859d90eeL,0x9bef3c4d86d3b9d1L,0x5a98ce73eaad8d53L } },
  54939. /* 35 << 196 */
  54940. { { 0x6c716b179711b5d2L,0x396a4a4cb386c1d0L,0x5845f6861c157c12L,
  54941. 0xdcad516262c15d4eL,0xb6e0a6a02dadb218L,0xe4f6d5e5a342e785L },
  54942. { 0x1eeea548c78980e9L,0x363c31be00a32adaL,0x01481fb7e660b445L,
  54943. 0xcbb61552999c1f5cL,0x20a73942f361d12aL,0x67fb89a11b8b4b3eL } },
  54944. /* 36 << 196 */
  54945. { { 0x1d57d639eb00e26fL,0xbeb198906985c10bL,0x38cd95a337b9b76aL,
  54946. 0x3b1d12e30304c87dL,0xdf42dc6f4734e191L,0x1ed1d9e397841989L },
  54947. { 0xfb60e333859b577bL,0xfb026d16ed3db987L,0xa216b0e46f7855c8L,
  54948. 0x9501bae3539ebdf6L,0xd95a4a32dc8a1f6fL,0x76cb0b6b45307deaL } },
  54949. /* 37 << 196 */
  54950. { { 0x5607ab62a844b579L,0x8d3ed3db94f67d9fL,0x95390de8a9929b04L,
  54951. 0x4a6f6f7cc85397f3L,0xec5b73eff26eab04L,0x2543190b045699f9L },
  54952. { 0x9a4896138cdbb723L,0x0e081e5b7a1c638bL,0x20f292c6596a7b1dL,
  54953. 0xa14d849794477dd3L,0xeeeca98064b0de1dL,0x75fdbae92c5135dcL } },
  54954. /* 38 << 196 */
  54955. { { 0x1202b5752b076f5bL,0x5ca1247edbd6c420L,0xb45ff9bfd8ccc5c6L,
  54956. 0x680fcfb28e061baaL,0x5a6e6342122a4212L,0x0ad12abc312fea8aL },
  54957. { 0xd1dd8ae5665dc7b1L,0x30494dfdd9a22454L,0xc8aa9bc9da55ed09L,
  54958. 0x6ec643031b74b119L,0xf54574716b604639L,0xe2a214e59f8d83ceL } },
  54959. /* 39 << 196 */
  54960. { { 0xca698de5f5c96e8aL,0x352c89a3fd941919L,0x0e3de0a909812f23L,
  54961. 0xa74ba91667702fefL,0x6acfaa5a3863d479L,0x28d8932bb6bb15cbL },
  54962. { 0xc62155704ba9718dL,0xc67a3eafa1edd692L,0xc86eeedaab31aa74L,
  54963. 0x2064ea632deb79c3L,0x813b84f51ff01adbL,0x994b9437458a1835L } },
  54964. /* 40 << 196 */
  54965. { { 0x1013c4f4fde3f7ccL,0xbad5415a838699b6L,0x2a8b4eac64cacc78L,
  54966. 0x3d10f949bf75d233L,0x5a9f7782fc84e55eL,0x209a18345ea7b274L },
  54967. { 0xa66cb6d4f9e8d374L,0xf898d9479a20080eL,0xe7e4b91b1272df4cL,
  54968. 0x5b8507cc5dd136bbL,0xbe4b5262372a8e05L,0xa0cb170c2aa4a47bL } },
  54969. /* 41 << 196 */
  54970. { { 0x469180a38378217fL,0xd960bdde85ef6d61L,0xcc4e737d6654aa84L,
  54971. 0x28d440016ae51d69L,0xf13a0d9ac6187196L,0xe60851b392160f65L },
  54972. { 0x41d98cf61cac48d1L,0xf37f003d1b57f2cbL,0x4829c60bce272603L,
  54973. 0x45991d4adcbdddc1L,0x17e591fe74601bf3L,0xf8a36b4fb3fe856cL } },
  54974. /* 42 << 196 */
  54975. { { 0x4410b773fe480323L,0x42ae32e3ea2f8b57L,0x6578a64b2886b9d9L,
  54976. 0xafcfa5fe4241ec91L,0xa7fa5afc16b4ef24L,0x4a6594bbbc16b610L },
  54977. { 0xcb5845515e264fb6L,0x4b89955e2b9c3c70L,0x530426be21e11c1eL,
  54978. 0xb707abe9c9dab34dL,0xb5aab0bf5931cd78L,0xab6a2585f0ccfcdaL } },
  54979. /* 43 << 196 */
  54980. { { 0xe75761f716afd216L,0x8ff1cea3b8a4f008L,0x04b8b65e69889d77L,
  54981. 0x679bf7a586ad9fb5L,0xbe49be0b4c22b86bL,0xcc8905a16c026c1dL },
  54982. { 0x17464e7e59ec1983L,0x50cb62832a03afe0L,0x8dadaf456ce4df91L,
  54983. 0x26cf59d1e0df6fddL,0x6ecc66119adaec45L,0x1be42e744ef67dacL } },
  54984. /* 44 << 196 */
  54985. { { 0xa01cb3bacb1957b9L,0x053693ccf50694c9L,0xf8a887ad527f3aedL,
  54986. 0x2f1a80ece9bf06f0L,0x74baeaa57d0eec9fL,0xce8e8b9ab0641cabL },
  54987. { 0x91d1e84d128a1804L,0xbdcfcaec2d5fa43cL,0xfc5cff124106fa6dL,
  54988. 0x2ae3ffab01588ac1L,0xe9dcc9b44c067052L,0xd8e3d74bafa7d4c3L } },
  54989. /* 45 << 196 */
  54990. { { 0x64a134296d7b277bL,0x487080d8e9a50637L,0x02e5fe901c6c061bL,
  54991. 0x8fdaafc8ecabeb11L,0xb1e3960110720b13L,0xe7304bf77081f41eL },
  54992. { 0x78a10af8c26f5cf8L,0xf52cbc155c032c15L,0x95a3c4558c0c2091L,
  54993. 0x1797b407abba6f79L,0x87c0cd05a96a3062L,0xdf75e2805f04a7e2L } },
  54994. /* 46 << 196 */
  54995. { { 0x47161e1f82779cd6L,0xa95afa08c8158458L,0x2cbefdbc40a80742L,
  54996. 0xd86e0bfaca420c9fL,0x08f5f8c29c79427eL,0xe8f88361da4d0d9eL },
  54997. { 0x2195174d3eb78d14L,0x889b32c9ed6caecfL,0x1e679749c3c83ed3L,
  54998. 0xc27a8c84eddf8a29L,0x4a21af3af8e09f40L,0xf4b9797f1eb3b9b3L } },
  54999. /* 47 << 196 */
  55000. { { 0x58c2405baa44f11dL,0x86ffaa37ac0f7257L,0x373623cc4070f6e3L,
  55001. 0x142e62f9a36c73b3L,0x43bab2dd36a143fbL,0x4fbeb0b7aa50375cL },
  55002. { 0xf9cc2e7b1f862294L,0x95a9be3c0abdcaa8L,0x70f050225cda074eL,
  55003. 0x152659db43e6bc89L,0x1790148727c6e01aL,0x544069354e083c21L } },
  55004. /* 48 << 196 */
  55005. { { 0xcb51f03954ebc926L,0xe235d356b8d4a7bbL,0x93c8fafab41fe1a6L,
  55006. 0x6297701da719f254L,0x6e9165bc644f5cdeL,0x6506329d0c11c542L },
  55007. { 0xa2564809a92b4250L,0x0e9ac173889c2e3eL,0x286a592622b1d1beL,
  55008. 0x86a3d7526ecdd041L,0x4b867e0a649f9524L,0x1fe7d95a0629cb0fL } },
  55009. /* 49 << 196 */
  55010. { { 0x028bc25096c54946L,0xace5e7ad0f5fb7eeL,0xc820d7513350ab02L,
  55011. 0x4ae1f6d99c8d7635L,0x03d1f83a98e1ed80L,0xf014d45d5ad14550L },
  55012. { 0xeb8f2c328cd6d0b6L,0x090a8f71770f586fL,0x1a8219f93eb7d3b7L,
  55013. 0x0d610d9febfc26dcL,0xfdb49980aa330297L,0x6396f218d81b3fbbL } },
  55014. /* 50 << 196 */
  55015. { { 0xb4ea3102eacb7b9bL,0x4aefb43d72af1d6eL,0x9a1a912d249a51d6L,
  55016. 0xddd0a5744d5e3a1fL,0xe252114708aa1f69L,0x4b235efe9de89d5dL },
  55017. { 0x6fae47420d7f1aa7L,0x0434ae2ff200e13aL,0x75143dc192508b57L,
  55018. 0xc441a768055e177aL,0x84cd7adf2f142b2dL,0x56484f4161d9ad5aL } },
  55019. /* 51 << 196 */
  55020. { { 0xe3e9d0881beecd14L,0x4bd12b179093ab18L,0xa6908ddbc925d5dbL,
  55021. 0xfdc5f740832d1474L,0x1a35623696f831afL,0x0e39086808cde8c9L },
  55022. { 0xab1c7cbda2206b32L,0x84d299c8b93ccf1fL,0x380fa432dabb6542L,
  55023. 0x59f01b5177c2cb3dL,0x9785c47b6e56c4bbL,0x047acc813a3f2b1aL } },
  55024. /* 52 << 196 */
  55025. { { 0x724210e61e42b4a7L,0xa8d536afe2dd968cL,0xc69936e683582c60L,
  55026. 0xd031f1abdd5d7f68L,0x7d31dcae8c4180d4L,0x117985f622bca188L },
  55027. { 0x3b0a982537e38dc2L,0x1663fdc5896fe4b4L,0x55d18cc7fd707372L,
  55028. 0xfac2d7a40d2d8470L,0x994763391b04b1f6L,0x87cfbb5ee0bd72e4L } },
  55029. /* 53 << 196 */
  55030. { { 0xeac6a72ad5dd2841L,0xf1aa32524277e152L,0xe6c44e9b6ef7e947L,
  55031. 0xd03309fc54095378L,0x6fc5fb9ccdd06947L,0x10ed0e76d1e9a968L },
  55032. { 0x42d5ab02dfb77b17L,0x4c54c381a53de8ccL,0x5fb4c256f2b1b5d8L,
  55033. 0x17d5ab28e12ed054L,0xd7c96ce1139da42aL,0xb32f63859919f459L } },
  55034. /* 54 << 196 */
  55035. { { 0x4bf5788312f4b0b3L,0xcd69d82ef46735faL,0xc397c8f9a1baa0efL,
  55036. 0xfce184c0fd1be398L,0x15021775fa54580eL,0x10bc85468f54397cL },
  55037. { 0x6009a691eaa9d711L,0xc9c6a42fb7846417L,0xe9c305685627817dL,
  55038. 0xa1be66ff92abd5daL,0x9317838fcdea11c0L,0xace94ddcc85e7aa5L } },
  55039. /* 55 << 196 */
  55040. { { 0x3ef37821d4079bf4L,0xff78abebfcbdc3d0L,0x117414bc4733ea34L,
  55041. 0x7f181a3b9f50d0feL,0x9ea5f94eda897ea7L,0x01a996ceee8314ceL },
  55042. { 0x0cac3c8b420e988dL,0x7ad66ac4bed3294aL,0x6bbf6dd800b62445L,
  55043. 0x590a57017a2fb4fdL,0xbf3b4e529ac11d81L,0x1bd453020d60c710L } },
  55044. /* 56 << 196 */
  55045. { { 0x8a43bba0902c32d8L,0xd8c69b74a3955e42L,0x413bf25d79c64afbL,
  55046. 0x3c39837584ac94cdL,0xfbfa9c53a08ccf5aL,0x9d8ac945e9d791d4L },
  55047. { 0xfb9bb89e5e7a2553L,0x1442612bb039dd24L,0x8250ffe0a2e2344aL,
  55048. 0x5eae8b396426b985L,0xa1657768484741deL,0x05e52d4ac73cdf8cL } },
  55049. /* 57 << 196 */
  55050. { { 0x61c2417995c5e767L,0x7456380c3bdfef62L,0x62763f43d206cbb1L,
  55051. 0x1996e2c657871e44L,0xd0dbd290f220c06dL,0x6778e1e5d87743eaL },
  55052. { 0x40e54caf16b8f046L,0xe834a1cb6bed77daL,0x7240befa3e9457c4L,
  55053. 0xd1b638dbac96cedcL,0xd1d7e814c9c0cd8cL,0xc73beaf14d38258eL } },
  55054. /* 58 << 196 */
  55055. { { 0xf1a6d776c05f40feL,0xb98c19b1c21ce471L,0x700b0bab7f9689eaL,
  55056. 0x861513a56f1d2e6eL,0xb7558b2292fe4456L,0x2d8f860704c66a25L },
  55057. { 0x10ba7d6a7998347dL,0x72bf56093983b98dL,0x8d873c4f89238292L,
  55058. 0x5db0dca9a5e3c944L,0xf81fe37e0925aef0L,0xed6a13a4e4daae25L } },
  55059. /* 59 << 196 */
  55060. { { 0x49e2372711c3a930L,0xbf2ede34f5293b8eL,0x0abeeb3ca8e1cc9aL,
  55061. 0xb1db299440205cbcL,0x3252d29e52fb01d4L,0xa0b080c57dc91095L },
  55062. { 0xb56fdae622a9ceb9L,0x6c3c3463b31f6f27L,0xcb510ec2ae3bd22aL,
  55063. 0x1efcd77b0b3db475L,0x1094bcc5ca766f9cL,0x688e940dfea48297L } },
  55064. /* 60 << 196 */
  55065. { { 0x3d95d26a99cde27aL,0xed608a89b99344f4L,0x7a70a8f09c0ab25cL,
  55066. 0x7740953c496552d8L,0x4da4ca0f4a366adcL,0xbf475c1b33274d4fL },
  55067. { 0x5ac1d8288811b869L,0xed62e7b4d23446d4L,0x67d78571a0eab287L,
  55068. 0xa74ae3e98b0acc4dL,0xa63f91d64077c236L,0xe2c3f82a818a6889L } },
  55069. /* 61 << 196 */
  55070. { { 0x2bde7037b1d5fbeeL,0x477a4b51a80b92f2L,0x195ae0e06606b504L,
  55071. 0x7aaf3de57497785aL,0xb5581ee9290c5ef9L,0xcb303c30360c8ec2L },
  55072. { 0xfb056f901b1fb602L,0xa38bc9f59931b7ceL,0xb0b74aeab2f453a8L,
  55073. 0x9a0e2ebf668cd68aL,0x8b7e0d73d7db7842L,0x21f29b74d1fa5433L } },
  55074. /* 62 << 196 */
  55075. { { 0x38321d7c4e11f824L,0x04dcd3a3e4a816e9L,0x382968ed07e09612L,
  55076. 0x6f7b2dbfa370e1d1L,0x5a8472348675d730L,0x88d974b0e59e984fL },
  55077. { 0x89f7e2bce3f9e429L,0xd478eacfe3aebac2L,0x8df9f281ebef3488L,
  55078. 0xcbcb9fbeab5543b3L,0x2c8d19b0203f59e2L,0xbb98e4495287b0fcL } },
  55079. /* 63 << 196 */
  55080. { { 0x16c45f709aab81d7L,0x0f1310851795a4b7L,0x3c63d43af0ecd732L,
  55081. 0x22e2d1988628b683L,0x7d7482bab641d6d4L,0x6baef4a2ab69891aL },
  55082. { 0x10989097e63c00d2L,0xbfd42ab0d93794ccL,0x9a1935f3e4165a41L,
  55083. 0x359701b35b600ca7L,0xbe7d69f983d1b54bL,0x99b0f35e3729bd4aL } },
  55084. /* 64 << 196 */
  55085. { { 0x11dd860e1c6d03b0L,0x30c1700809eec660L,0xd4f8aff635c0192fL,
  55086. 0x96a727b1e3a4a900L,0x1426daffde78c8baL,0xfacaa9bd8d1527c4L },
  55087. { 0x0c0d5234cd072989L,0x1936c20d918550b5L,0x4828bee43d914fb3L,
  55088. 0x8324ea38f3ba26a6L,0x027590f3a94eb26fL,0xfd354295acd957bfL } },
  55089. /* 0 << 203 */
  55090. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  55091. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  55092. /* 1 << 203 */
  55093. { { 0x3ede2484da756624L,0xb22da2ab73b13062L,0x56069e93962a667bL,
  55094. 0xc931266b130f2ceaL,0x4bd6a6fca7366a66L,0x23f30563aa5ac3b1L },
  55095. { 0xa025d0efd7c2b26fL,0x597ce7d862129bc7L,0x4809927f2b3057f2L,
  55096. 0xb001c10a1499f884L,0x309d141c30b9a653L,0xadddce7dbf659d05L } },
  55097. /* 2 << 203 */
  55098. { { 0xa6c32900af2825c1L,0xb37c46c1d223a04eL,0x691e7d39063de7eaL,
  55099. 0x998df4e710daf9bdL,0xc7085b9e718b5d7aL,0xd41abcc816b3d4b8L },
  55100. { 0x4dfce693f9bc4041L,0x383677ed659ec7a8L,0x2c1904bf4491fb34L,
  55101. 0x7c1bf1114552451cL,0x6562cc2c3c5e5e40L,0x1ecaa2a1fe0e4372L } },
  55102. /* 3 << 203 */
  55103. { { 0x9657d08ca9cb9ecbL,0xf69662363b75be69L,0x396a9344a31c2b8cL,
  55104. 0x1c50b1269767bc1fL,0x597223d0d1417e03L,0xe165ed5a12137153L },
  55105. { 0x8bce29f926a24098L,0xc428a1fbe99e7bf8L,0x6fd4c906eea7f1d9L,
  55106. 0x94275713fceb2e05L,0x3555448b741dbd94L,0xc50e85459faffd4dL } },
  55107. /* 4 << 203 */
  55108. { { 0x84c3630bf3087bc8L,0x152691e674be6e26L,0x5abd125ff61af001L,
  55109. 0x69bca56fbfea3525L,0x384af19900e0cb6eL,0xb0b13cfed00475a6L },
  55110. { 0xedafde495e394049L,0xd988b558daf2add6L,0xf14cf97a6c8ffcc9L,
  55111. 0x4d6cec23e5a9cc5cL,0xb0d678f88a104e05L,0x80a7fcba9fb527c1L } },
  55112. /* 5 << 203 */
  55113. { { 0x9ae12b902af1ffceL,0x082f30b95a30521dL,0x974099bdc304014bL,
  55114. 0xab1e27e444ccb6e5L,0x72db8f42290387a1L,0x3d1a461040f3ce18L },
  55115. { 0xe939a3f2634ba10fL,0xe70a9cf517254c56L,0xd0f8692fa08ec3c5L,
  55116. 0x77edefcc7a7cbdf8L,0x04c4b18ebdf90f0bL,0xa890436a8aa36a59L } },
  55117. /* 6 << 203 */
  55118. { { 0x8618ffa79e30f8a0L,0x9961390cd12699bbL,0x5b1b0d744f61edfeL,
  55119. 0x33df67d9eb7a476fL,0x7f1a767ea92ee99bL,0xfab400e32223a2ccL },
  55120. { 0x16f376f2f534dc3dL,0x6f36eaefcec17905L,0x8dc1516ca58765deL,
  55121. 0x893408262260ed6bL,0x060eb0afcf4b29baL,0x9cd0a9f11d252bbaL } },
  55122. /* 7 << 203 */
  55123. { { 0xd3c2a6a8ca413693L,0xcc56a8e932d5714cL,0xc72b73683c0da165L,
  55124. 0x5d236660db44e616L,0xa83b2ecce5c73667L,0x9d292f298aea900cL },
  55125. { 0x67121215aaa2a7eaL,0x57dae96abf889191L,0x63bf7a81d296ae68L,
  55126. 0x9bf518758fd496c4L,0x5b4382fbc2f7308cL,0xf1215dfc9632aad7L } },
  55127. /* 8 << 203 */
  55128. { { 0x0d6cadbfc22137d2L,0xb5db59d3628a3298L,0x3b433c734ab19507L,
  55129. 0x4fc53405660086b3L,0x770ae903a1eb0f43L,0x31b5857ef6b5b58dL },
  55130. { 0xe206e141d392868eL,0x8be6956f4b31de04L,0xcfbfca2f47449e07L,
  55131. 0xebaef25639fef8e1L,0x959e37b8c16fc80cL,0x8bb4bdd2e911d61bL } },
  55132. /* 9 << 203 */
  55133. { { 0xecfb851380fc41f3L,0xb0dc8823931843c4L,0x59decd6c1b93df03L,
  55134. 0x954103b72511e252L,0xe372f86a0f759de1L,0x04f5afd38f6f9ef3L },
  55135. { 0xbd8e60affcba2e7cL,0x9b1cb1ed092315b0L,0x5f9e20a03fd05e36L,
  55136. 0xfcdcc44ded95f25eL,0x6baf401b6ac79cb5L,0xfe1a5a856894f651L } },
  55137. /* 10 << 203 */
  55138. { { 0x014a0907e51c6673L,0x28118ccd3e6e6a91L,0xdbbb7c4dc999acc0L,
  55139. 0x01b771075e7ab1e3L,0xa33fefbfcd8fb11eL,0x1df5b61fc0b8a5c2L },
  55140. { 0x774dc2674478c5c6L,0xbfe1add422fb91a1L,0x5ac4dc694d9c8461L,
  55141. 0xbf6e002a1e772c5fL,0x4922120e0b83fe91L,0xa7747f4b3efbadceL } },
  55142. /* 11 << 203 */
  55143. { { 0x4b955beaddaf2e82L,0x3775ecde90fdc68aL,0x579c34f91713e763L,
  55144. 0x6c27f504fa509d74L,0xef6df04a3f8dbf4bL,0xc39f2e28b3ad7104L },
  55145. { 0xe54042b3a5973cffL,0x4e594427f111f3d9L,0x53c7a2ba155fce57L,
  55146. 0x7b3c1c60e6e1d21fL,0x5e12db8d308ddf4dL,0x2c3c5e77a00e8976L } },
  55147. /* 12 << 203 */
  55148. { { 0xc483d4b24343bbf8L,0x42aca2e18a0fc95eL,0x5165df6fcbab1fb0L,
  55149. 0xeb284370f6cdfc0cL,0xab565c00994320fcL,0xc0d157fd62133e80L },
  55150. { 0x7850cda55b69644aL,0xe37ae76a806ec8b8L,0xd14b805cc2c82eddL,
  55151. 0xcb5468b6cf244539L,0x97d43ee825dbe92dL,0x1442243689fb8f1eL } },
  55152. /* 13 << 203 */
  55153. { { 0xcfc8a945f361dc08L,0x383a5336491dc3abL,0x77580587c35cd376L,
  55154. 0x6604248ae2426904L,0x47c56025ffeb9d26L,0xc301edd8bae5d983L },
  55155. { 0x7c6511a9e2e5cf33L,0xdc52c1dd221d41acL,0xdbdc8acada47503bL,
  55156. 0x01b406864bcedbbaL,0xca9cb9fd2d5496d5L,0x5768e0edb17e8400L } },
  55157. /* 14 << 203 */
  55158. { { 0x421afbe0431cb760L,0x9ae9ff985203e69bL,0x56cacf4db1a2705aL,
  55159. 0x6a3a4136d128bcd5L,0x2411c4b866191ad8L,0x39f26e1a15b45d24L },
  55160. { 0x4cc82459c64ed153L,0x5c7a0dd58195b452L,0x9c88bb1c69f6298dL,
  55161. 0xfe567b031933fdb5L,0x8a6aea71881308c3L,0xc1268b55a2f0adfaL } },
  55162. /* 15 << 203 */
  55163. { { 0x312b777c1231c557L,0x3984f71be9971115L,0x0266b58294cc2d4bL,
  55164. 0xc3058419cdf5e5c1L,0xab3a1ae477bbf0d8L,0x7c2173a6d21603daL },
  55165. { 0x61cca8cc747b092bL,0x70f77a53e376506aL,0x742c20692f1ccc85L,
  55166. 0xb1f2ceca2dc8844bL,0x5a73cff83a096c10L,0x28acb67d5c19cd11L } },
  55167. /* 16 << 203 */
  55168. { { 0xd7bf2ac6a0a85236L,0x2921b55c7194c46dL,0x162fabaa9afa9762L,
  55169. 0x7b7f1664b62b36abL,0x77b9f797296a84e9L,0xfcc1ad657dbd843dL },
  55170. { 0xc6e9c1e1cd77b7f6L,0x9cf0e272917067c9L,0xfa7fa93d3bfa90bfL,
  55171. 0x55846fe9d050e46aL,0x473b9a0d35c56256L,0xadd29e332b656a65L } },
  55172. /* 17 << 203 */
  55173. { { 0x4698137f46fb8ae3L,0xb11a595f7b1c062dL,0x4a043b99ff023ef7L,
  55174. 0x2836d64d8ef0fa4dL,0x4067dbee8ea44a98L,0x9d1739c9f00ff4e1L },
  55175. { 0xcbcf12fe133d2703L,0xd2923424016037cfL,0xda7543d68be5f666L,
  55176. 0x587d1920ac5e1847L,0x14662476f79e3462L,0x0120a1d8c810a1f3L } },
  55177. /* 18 << 203 */
  55178. { { 0xa4fc828ab18f9bb1L,0x06de4c9da27a787aL,0xfbb7c7d7b1b3a12bL,
  55179. 0xa7052b94b8583128L,0x173ec2d2e7b02fd8L,0x4b724682c776c664L },
  55180. { 0x46ed9be5673183e5L,0x312191e83bd17c60L,0xe3ed6326efd56a9eL,
  55181. 0xb3ebc44c943a2278L,0x7ef62ba9ec9cf589L,0x754be6d389832cd7L } },
  55182. /* 19 << 203 */
  55183. { { 0xccb4b369dc992b32L,0x0ef84cc0922cee22L,0xda0058f1fc56e9e1L,
  55184. 0x208c57943f23632bL,0x3589a7338f77a82bL,0xee6cfa2c76ee99bdL },
  55185. { 0x88cffafc418f7993L,0x0dde3f05f4be56d6L,0x5d088382a0472bf5L,
  55186. 0x872ca5aabd58d05dL,0x9c467c62e8f91f17L,0x38ab1b348c6b91ffL } },
  55187. /* 20 << 203 */
  55188. { { 0x926c2552ebc69b0bL,0x953a850fd4c7432eL,0x0ee85e14b9359035L,
  55189. 0x8b10b01abde090a5L,0xb2878dcaec423943L,0x2571a178f70bde20L },
  55190. { 0x24ed159af5ebeee5L,0x60c202af043f6539L,0xdaaa76f4c8d4ffc3L,
  55191. 0x2fc1f1ba06eda10fL,0xddf159ee88ded556L,0xcfa71782e67b1ec4L } },
  55192. /* 21 << 203 */
  55193. { { 0x2596ee7409d3ed60L,0xd42551f474a46e37L,0x2e46a92e21061c90L,
  55194. 0x236299fa73ad22eaL,0xacdccd5214393ac2L,0x9a572130b56b4d5bL },
  55195. { 0xddfc31781835e70bL,0x5dac0671d542048dL,0x2b0768d7a6dce17cL,
  55196. 0x6d447d4206c55342L,0x6b55b21525548478L,0x24e6483518d5310dL } },
  55197. /* 22 << 203 */
  55198. { { 0x3c58c5ea9b037c66L,0x08d0648e0d5c6ec5L,0x1bf90c53a4fa3f5aL,
  55199. 0x660cf61740381205L,0x63fd03081d44af3fL,0xe22b9c1a77175de7L },
  55200. { 0x0b6044fc3556fc9dL,0xaefb6804fb55318eL,0x77045bce5c46e1ebL,
  55201. 0x29c4a3bc76e8f93aL,0xdf8aec699d697f5dL,0x5bd9552845a89080L } },
  55202. /* 23 << 203 */
  55203. { { 0x1bd61fbdc5756910L,0xcfcc6d5adeaca40dL,0x292867885dd80ac1L,
  55204. 0x7effe328d621c0a6L,0xc64ebb91ab22a2b5L,0x8954ab330c44a456L },
  55205. { 0x7552a0b460e26218L,0x2e81d3a94136adbaL,0x96dc2451610d665eL,
  55206. 0x30859c62ab04e03fL,0xdb3726fd4c31fa3fL,0xbf4954d1d962a7c4L } },
  55207. /* 24 << 203 */
  55208. { { 0x31521f66d5d826b0L,0x0a63695240787844L,0xc0a3bd059c8f934eL,
  55209. 0x12c57dd42f0ce835L,0x847f6a9967064213L,0x1c9e1a7aa88bd71aL },
  55210. { 0xc4060eb2171e8407L,0xdf78d8dfed106780L,0xa3d28ceb0d704729L,
  55211. 0x4f8e523246ca3912L,0x09e9f852017791f4L,0x594006631e6ea97dL } },
  55212. /* 25 << 203 */
  55213. { { 0xdd26fb79444827feL,0xbf78e076d3f5fa6bL,0x46d486e81a5475b5L,
  55214. 0x43e325a5faabc3f8L,0x1fef6b6ba6795d0cL,0x40e040666644d631L },
  55215. { 0x16207bb9676c3322L,0x677c1c235811706bL,0xb686252e994e2a95L,
  55216. 0xa359e2a51b6f6a3eL,0x6d8f06cfb124f019L,0x3bcf778246266c42L } },
  55217. /* 26 << 203 */
  55218. { { 0xeaa3426b8eb929aaL,0x090924f2327bb35dL,0x4d23ba1276da394fL,
  55219. 0x05d98e56adecd43fL,0x83c7169f6b4af795L,0xc22560a7c8f26ae8L },
  55220. { 0xb43aecc2d01ab5d8L,0xe7bcdc1f7257d7d1L,0x6f32d77650de3318L,
  55221. 0x6d736b279bf02c0aL,0x9534fa5865319235L,0x5a6a38493cfbeb3cL } },
  55222. /* 27 << 203 */
  55223. { { 0x3ddcb65828c50956L,0xb335f336bf1bdb4cL,0x7c18d2d0ac3b6194L,
  55224. 0x8748654bca324d11L,0x7c9c58dac2e85f94L,0xf1930a56d4f4f957L },
  55225. { 0x9cacbdbbe410fee8L,0x0e292c2178e1312aL,0x6845b293906a6270L,
  55226. 0x842ded0f00c5401eL,0x747cd08f35e3ff9bL,0x8405540af48227feL } },
  55227. /* 28 << 203 */
  55228. { { 0x547b0d9583939224L,0x3a0823ff1e026769L,0x6016671525bd43acL,
  55229. 0xb6cf475e18ba5f64L,0xa22f9c92c8b6d09dL,0x730553683ccf50abL },
  55230. { 0xa6de248eee6deefeL,0x32aaf8b2acc3ca20L,0x0e254c5bad44e674L,
  55231. 0x8aa73e6535f95f98L,0xe622600160a2dc1eL,0xdf9482109109020aL } },
  55232. /* 29 << 203 */
  55233. { { 0x7b24d7b056190aafL,0x0115cbdd0563b377L,0x5688526ca7ba4975L,
  55234. 0xd2971e28aee3100dL,0x57a6ff8a6fa24f61L,0x9cb571c4d8603be7L },
  55235. { 0x09c01564a2cce6d5L,0x14f0902b89884939L,0xd71a5ff8a072ffecL,
  55236. 0xee7848b8fefeab69L,0x7b52a9577e40895aL,0xd1576be7e8c61be2L } },
  55237. /* 30 << 203 */
  55238. { { 0x4c4d454849d77b8eL,0x431f942f6a4c982dL,0xc8633d051cb39ce8L,
  55239. 0x23421f8caf516f9bL,0xc9db25d2aac876fbL,0x9f2669c5d882760eL },
  55240. { 0x59dc4bf4c47d4bfaL,0x99ed0024c475f93cL,0x269d1ca4ebe07d37L,
  55241. 0x49ce3bdbbf88b1faL,0x515044053361e4ccL,0x207f0048735b3c96L } },
  55242. /* 31 << 203 */
  55243. { { 0x835fe90b5a516e82L,0x26f1f2a7abfcb383L,0x3dae65a8609c4ac0L,
  55244. 0x70b01d6e91f4054eL,0x22da015b581e3159L,0x2ad34f99329d1ebfL },
  55245. { 0x7385aad60d09b845L,0x4cbafb0b0adf42f7L,0xd8727d26c02398cdL,
  55246. 0x58c261f590549db5L,0xd49b12e48ea70310L,0xb31eea047ef89773L } },
  55247. /* 32 << 203 */
  55248. { { 0x372798f02893f2f7L,0x4f62bfac9e5030caL,0x5e64f9a98a1e2567L,
  55249. 0x5870254ce70391c8L,0x2def81a341f02458L,0x25d4e4dc1d087bedL },
  55250. { 0x3557d07d4fe24a13L,0x6da49186dc3112bcL,0x08c8c5675f73ba50L,
  55251. 0x5309050b9c7c6706L,0x2ab67da3bd985072L,0x9bafa8b1e5df4e96L } },
  55252. /* 33 << 203 */
  55253. { { 0x5acdcd216f77738eL,0x340710746cb67a3eL,0xd68c55cf4bf76bf7L,
  55254. 0x64c159200b4deda8L,0x1021d38ae242b1e0L,0x615f1f033bd3d95bL },
  55255. { 0x2ae0245cc300c9c5L,0x3549605ba88d63e2L,0xfe0dd65ad5038849L,
  55256. 0xe67abfec63c6e4aeL,0xccd08ba528153bdfL,0x9be9f5bced4d76bbL } },
  55257. /* 34 << 203 */
  55258. { { 0x30fe00bb6e8423deL,0xe16ce94784e4d005L,0xaf0f8c283fed764cL,
  55259. 0x05ef9bf67d92b1efL,0xbf6570d4eb481da7L,0x39349e30468494ebL },
  55260. { 0xe32b99a63fb36907L,0xd92386da2d35e71bL,0x74af8b79166a973dL,
  55261. 0xa0a177f94f72de6bL,0xfff3e19d5dd6c660L,0x15310d4d4b0d54f0L } },
  55262. /* 35 << 203 */
  55263. { { 0x692a561f15c15a11L,0x25abe85f26ca3ddbL,0x50fef4444caffa5fL,
  55264. 0x58472cfbed3f4aadL,0x7e9178f0092d2b83L,0x3afd364ff8dfaaa7L },
  55265. { 0x4686ee5cbbf813a8L,0x6a62687d937cbae4L,0x56f22558a9b7b6c9L,
  55266. 0x9af1beae9c189e25L,0xfac4ad9f4d41f79eL,0xdecb57431f9c7a40L } },
  55267. /* 36 << 203 */
  55268. { { 0x3ac662895c02f173L,0x6a110e3876d566e5L,0xd9cc14e2b9577e26L,
  55269. 0x6f3d5df9fdfe617eL,0x8fac740f352bb2caL,0x50bc8a0cc28e6310L },
  55270. { 0x6e572fc477ac93f7L,0x56277377605bb8e9L,0xad6d0637402b8c55L,
  55271. 0xdab377914509eda7L,0xae770abc0854e91bL,0x523bd278742b3de8L } },
  55272. /* 37 << 203 */
  55273. { { 0x8ede0eea2aa0da2eL,0x7015ee6e90cfeb90L,0xef33f3efd6b3227aL,
  55274. 0x6e332f1712ef9f4bL,0xcaa089898e7f9fe9L,0x001482ef8fa71529L },
  55275. { 0x2522637907a5019aL,0x807faf01bed40fc9L,0x426002ab56710e12L,
  55276. 0xcdfffbc18d3949e6L,0xcc03f27861284379L,0xcd7dc2026d5edc82L } },
  55277. /* 38 << 203 */
  55278. { { 0x94f84d57cff31148L,0x9c567c7f6bf2a313L,0xc82e62353149ad8fL,
  55279. 0x81f69703c2a5d513L,0xb54e6fc756eea9acL,0x6799c7957c3aae62L },
  55280. { 0x78e89c1edb280515L,0x3c5693066ac42925L,0xd984c86dab063cc4L,
  55281. 0x61754b5151d44ae3L,0x23af8ec0cebeef0fL,0xff67170bc618fe8aL } },
  55282. /* 39 << 203 */
  55283. { { 0x123b567195b58447L,0x7397316ad43aabd2L,0xcb65d69d9ddc7979L,
  55284. 0xf98be7bd91150e08L,0xa5388c79fc0ae5c7L,0xb115690215ed9074L },
  55285. { 0xc2d01b9227e9afdeL,0x80d705ec2095a6ebL,0xbea901c7fab23079L,
  55286. 0xced8b2772346d712L,0xad5c45a92542a0ffL,0x87b2e4ac0455e90fL } },
  55287. /* 40 << 203 */
  55288. { { 0xc2cbd64417fecb90L,0x61616eb3b32dffdbL,0xdc4485a29f5d2095L,
  55289. 0xf78911246553371bL,0x4f06ba18bf9b20afL,0x136d4f291a2c4df1L },
  55290. { 0xc04aca34fb8b685fL,0xeec83c20f2b657bbL,0x4da5d70a5925a36aL,
  55291. 0x8060874172ff2965L,0x2e0dd9ff9f352620L,0x5f0afa6746d1a7a8L } },
  55292. /* 41 << 203 */
  55293. { { 0xb76c722762c1e582L,0xbce1eb164ffefd05L,0xa574a9fe169e53fbL,
  55294. 0x77bf92b0c001628eL,0xd998172c04d60440L,0x62f35199ceae6bf7L },
  55295. { 0xd81a563e93f1ff84L,0x5a7a0b4211598ad0L,0x884f2ca5ff11f3f8L,
  55296. 0x99f5aac2f3ac66cbL,0x58497c01f489c5afL,0x11277bc39566521cL } },
  55297. /* 42 << 203 */
  55298. { { 0xfb9670c26a770385L,0x5da887e1e9682174L,0x31fa9d6bedf922f3L,
  55299. 0x8de8814cf7a98d1eL,0x3935b9b27a019f08L,0x1f59d6f3ea6173caL },
  55300. { 0x8732f39d5c638a66L,0x981a1b7a3d48d3e5L,0xea451b381ee0ab37L,
  55301. 0x31a8e9abf2708356L,0xa491944ee86cbfc1L,0xd747a885a97ddfcaL } },
  55302. /* 43 << 203 */
  55303. { { 0xa3460236aefd304aL,0xaac80f43c58719a0L,0x7d635c17d3ca5b1aL,
  55304. 0x986ac0a62119976aL,0x0d8a6e39f2538d36L,0x6a02af2f31849d5dL },
  55305. { 0xecb6ef8f6719d4deL,0x6dd71ab674ff8880L,0x0d40ec0e9d225d93L,
  55306. 0x304cd88adf381d24L,0x2d6787380c5571fbL,0x03c23f547c03af94L } },
  55307. /* 44 << 203 */
  55308. { { 0xa995a95bf46aace5L,0x44ede5379eaa630aL,0x421f3b3500336e3bL,
  55309. 0xbf897478cf47c9edL,0xf360ae32259e0827L,0x04e0e3e82e6a9f6bL },
  55310. { 0xb26eae5fa9136702L,0xd6cb15a1853674b4L,0xf81276e2748bcbc9L,
  55311. 0x7fc02e220a4ca1d7L,0xf650f48ecd82f330L,0xf4ea7c1dabaa8859L } },
  55312. /* 45 << 203 */
  55313. { { 0xe9f090b935caae35L,0xe04dff188dcf1e6bL,0x81b7de5eb8032e04L,
  55314. 0xba0d0b4e4b1e8070L,0xaa82dc8ad1a2aeb3L,0x5855ed1ded26f229L },
  55315. { 0x8bce967ed1955233L,0xe6ed07f356ac7532L,0x4227c7fdbf0eff2dL,
  55316. 0xb1f4785fa5e213e4L,0xeedad0733ac30f4bL,0x503619889cf1e686L } },
  55317. /* 46 << 203 */
  55318. { { 0xeb252116ba5da79eL,0x51cc937edb691345L,0x1d5fec14077458c1L,
  55319. 0xaa304f7ba0808e6fL,0x4bed89f5abec4c09L,0xc67293cbd1a3b798L },
  55320. { 0x0905f7d342122672L,0x83675b2da0d3a277L,0x7f422b7024bf5bcaL,
  55321. 0xe2144c6910495acfL,0xdac1c357a6a6ab5eL,0xd1a3b951c8b1d472L } },
  55322. /* 47 << 203 */
  55323. { { 0x0821017d60c0c248L,0xa17ce97a8540bdc8L,0xe0576ea986e6f45eL,
  55324. 0x1453268bf152c6eeL,0x1ea1937138edbed5L,0x970ad9c002343c23L },
  55325. { 0x3a08a859af8a97afL,0x20caf7cab570d738L,0x6d82d863e2a89455L,
  55326. 0x30eb8d0724c76844L,0xb31d58c8d32b79f1L,0xe5df7cb9fe63e93cL } },
  55327. /* 48 << 203 */
  55328. { { 0x1ccd44ff95c746ecL,0xe18914b510405763L,0x50ed644321a3a927L,
  55329. 0x4f96a1b143ef8e8fL,0x7f5645e577952bf8L,0x4bc5c7ab66dbdf15L },
  55330. { 0xacc1612623930a08L,0xbf5ed482504cf9b6L,0xdeb7a798d71ecbd7L,
  55331. 0xf62e63b14a4dd859L,0x668809a7daf714d9L,0xdd836382f3a4329eL } },
  55332. /* 49 << 203 */
  55333. { { 0xac0ef2cf383e038bL,0x848e3c1f91135098L,0x19e5a3ee3f15b241L,
  55334. 0x2d01f1a2dbea2ad2L,0x44ec32a799cb0bdfL,0x3e66fed4eab4d856L },
  55335. { 0x3162a75af45c8656L,0x53ab74245a37ca4fL,0x1b81f1dc360bb395L,
  55336. 0xa7eb222e2b8a5267L,0x163bb0c804b0bcaaL,0x1cac5bc0ef5c417dL } },
  55337. /* 50 << 203 */
  55338. { { 0xb95e2d85e81d9e43L,0x8a92acdd1418f6d8L,0x5429140110ee43d7L,
  55339. 0x32a2933c625838dfL,0x801d57dd3d485868L,0x33bba67258af765dL },
  55340. { 0x545fe2583f520eecL,0x900ed51a32d71974L,0xf21fefe6df3ed77cL,
  55341. 0x2f0df28c9deb2d81L,0x90898dd780856fb7L,0xeba82159bbba4771L } },
  55342. /* 51 << 203 */
  55343. { { 0x83ecc8f374df3780L,0x432e9807d3a89728L,0x3461c5297b5cb6e0L,
  55344. 0xee307c19030c25cbL,0xd72b60c7391ee616L,0x0c07bf462e9b4384L },
  55345. { 0x9d791b0bd44acd49L,0xf3b3411c9f3b33caL,0x1bf55cb97f9b455fL,
  55346. 0x77e01607600f0a91L,0xdab95bf26bb7e977L,0x30d0f591fe4633e5L } },
  55347. /* 52 << 203 */
  55348. { { 0x894bdbd9c48f3ad5L,0x687ff8de09e167f6L,0xf06104a930371c43L,
  55349. 0x82fd34b7ce84dd10L,0xae122deb66ce5abdL,0x31f041d2fc4a90b2L },
  55350. { 0x2589535c9a01c607L,0x231bcc85695bd7abL,0xc67c306262e3a31dL,
  55351. 0x31be44757af3e186L,0x1a2077a388efa7f1L,0xffe53e22815fad1aL } },
  55352. /* 53 << 203 */
  55353. { { 0x4ce41f69a3ee310bL,0x38fb07d09bf311ddL,0x5fd284d660985bd4L,
  55354. 0x2fe99a19e04d3dffL,0x21a352520b3ad853L,0xb0808a89012aa69cL },
  55355. { 0x98219cf718c7c301L,0x429e08fc91254db8L,0xface2e53c41d54d0L,
  55356. 0x180651242decb2d7L,0xa9f65e3f26a9191cL,0x1dadd3deed42831cL } },
  55357. /* 54 << 203 */
  55358. { { 0x81ce91dd6327460aL,0x4cc880a0e2f22af0L,0x81aa9bb46a6d36f3L,
  55359. 0x8ad516741dd10657L,0x212267854253b30aL,0x530d1f6a8f161dd6L },
  55360. { 0xe7eeb4c7e9ab63aeL,0x84f225bfb72d250eL,0xc81cb984458a8dc7L,
  55361. 0x39fbbe3bda68c1afL,0x8c6c99b3083cafd9L,0x4700ba37eb07d40bL } },
  55362. /* 55 << 203 */
  55363. { { 0x8980dd7cd8dcc7b4L,0x0179e9bc7ad18f8dL,0xa9e4fa6a08c60f0aL,
  55364. 0x4f0d76fa3cc7dd36L,0x53339e4c51a0e67eL,0x1acdaf24cebd80cbL },
  55365. { 0x5aaebffcb5264b96L,0x3ebebb22858df87aL,0xb2f4c1cb092a95a1L,
  55366. 0x34932d51841b1a63L,0xe0631aab49074a2fL,0x71525c4fe3b7fd61L } },
  55367. /* 56 << 203 */
  55368. { { 0xdd15591366229776L,0x84093730f7882064L,0x6dddcb14e50ee337L,
  55369. 0xa8e6ec597a1f7e81L,0x8467f998f3738a6aL,0x70fcc6bcad3f1840L },
  55370. { 0xf82eb4be723b3f4bL,0xf0f3935406beec1bL,0x1b181ea37ddcb539L,
  55371. 0x9c82c4faad6a81b9L,0xcc5ea5435c612c2bL,0x63ce7571bb258d6fL } },
  55372. /* 57 << 203 */
  55373. { { 0xc6c110ecd3b9416aL,0x254403ea024f63e5L,0x92d2965b68aa4a66L,
  55374. 0xa08bfaafbaed92aaL,0xe2194cd701ad3eb4L,0x7ba66e1da7552847L },
  55375. { 0xf68c90ee44eb9bbbL,0xabe38c5c5f6438daL,0xe16d4aa68c38a6a1L,
  55376. 0xc2f8691bf6294db4L,0x9248492fba64da6fL,0x850c6a6865a3d6b7L } },
  55377. /* 58 << 203 */
  55378. { { 0xa794308d2599a1f7L,0x06bbefce3e72b328L,0x24f2c6f5420f6ae1L,
  55379. 0xedf67defaae894c0L,0xf66396eb2e8e9821L,0x21fbf5f7a701c8ceL },
  55380. { 0x7fbb192401732f26L,0x3d0063a944f57696L,0xd6bcb1c3513dd8f7L,
  55381. 0x1fbb11b2c9f8c033L,0x122f94b17b57b3eaL,0x08edce19d24626c0L } },
  55382. /* 59 << 203 */
  55383. { { 0x06aa75398c3a1e9cL,0x3512ec3c1a08c7caL,0xfad0dddac5a92e6aL,
  55384. 0xa98059ee3b9022fdL,0xd67b6723103fbda5L,0xc1df32904762c170L },
  55385. { 0xfd99ee58c734f81dL,0xa8de2a4b478b8a4fL,0x9e3ed58fb4b557c6L,
  55386. 0x14d353c571abd10cL,0x10ea798fe3fd4475L,0x157e16f97627f4d5L } },
  55387. /* 60 << 203 */
  55388. { { 0x1b5888550b96547fL,0x4539c9c065d1a59dL,0xd6c95fea26e15084L,
  55389. 0xf84ad9e286b96242L,0x92f57d6d451a5486L,0x0215cfcb06a9e87eL },
  55390. { 0xe05b10eaf66e46f3L,0xe7b0e72f655a0642L,0x035032677b117f43L,
  55391. 0xf5b78105779ea4a1L,0x28ee00faa4adac77L,0x1ea67d716a93a2b1L } },
  55392. /* 61 << 203 */
  55393. { { 0x4b68a01cd6b3387eL,0xc79582a9e7c4c99aL,0xa4ad6429029fc3bcL,
  55394. 0xf260ad946b83c7adL,0x81360618b09c3b8eL,0xf66e00ccc661ba2bL },
  55395. { 0xd064537de29a69e7L,0xe2764d389bb4095bL,0xa3f57eb0f2efdea7L,
  55396. 0x72c214f27ed3ac00L,0xf8cfa59de392e32bL,0xa5d995124ad99928L } },
  55397. /* 62 << 203 */
  55398. { { 0xd069a9971dec038dL,0x64401a3fd0b59bf0L,0x33eff74ce7ec5e85L,
  55399. 0xfef5a1c50d35b207L,0x731cfc17e766bc43L,0xf994c0d01328b6cbL },
  55400. { 0x4f2a5eaa2d3cc024L,0x7f83c57036a6fa14L,0x915a126d65f71dbdL,
  55401. 0x588fdd68acfb54ebL,0x7de9d37b7f57b2afL,0xca52d27170e071ebL } },
  55402. /* 63 << 203 */
  55403. { { 0x9b9211ada283322cL,0x30c6fa27b7124c9fL,0xda8f88a7474cbf5fL,
  55404. 0xc2414ee338203749L,0xe5c65cc26b767731L,0x8bdb52952753781cL },
  55405. { 0xc8fe770be051cd30L,0x6370ecc4f046aa97L,0x03c83c1cfa287e66L,
  55406. 0x935bd2052bccef4dL,0x87b2a49646012036L,0xbce6a91de3e6d6aeL } },
  55407. /* 64 << 203 */
  55408. { { 0x7be81fb126882c6cL,0xe2d5a251ecd25498L,0xbb3d40e27a8d1678L,
  55409. 0x1806c67ad520811eL,0xadd4bb6686f65d23L,0x3a62b1b3e20e23d7L },
  55410. { 0x208b47006548b3ebL,0x0497f09ab7ec2809L,0xbd3964f8121c37e2L,
  55411. 0xd35ef301a598efbbL,0xbd76a276c5eef966L,0x64700a7f0af64e46L } },
  55412. /* 0 << 210 */
  55413. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  55414. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  55415. /* 1 << 210 */
  55416. { { 0x169474a2d3812087L,0x9de300da6698ca7aL,0x8589de922ede425bL,
  55417. 0x50e03fea6df8a890L,0x0d8a5c1c4ba8b8e3L,0xf273aa673fffb91aL },
  55418. { 0x21cf054475fc8236L,0x6ceafacf9799c242L,0xc3237eaed0962c81L,
  55419. 0x43d6ac34213f6004L,0x45e619b2d4148b6bL,0xfafa18b5ea5fb80aL } },
  55420. /* 2 << 210 */
  55421. { { 0x9a8580aa2f063b51L,0xa83c8ff71c216613L,0xb4da0970be07f781L,
  55422. 0x0ac2a260712f7b7cL,0xc9b8ee84436a7b97L,0xd758c20d11fb2f62L },
  55423. { 0x5daabed9f170b799L,0x018d2fddc46bc387L,0x82d6b5b7d96cfb8eL,
  55424. 0x4d7d0d9344d9e843L,0xfa2a9ea991e7da3cL,0x8230c1a3d531b253L } },
  55425. /* 3 << 210 */
  55426. { { 0x82412f525ec31754L,0x42f462c89d32e890L,0x1e7b58cece897ff2L,
  55427. 0xcfef785241164628L,0x34ee0422d8bb22efL,0x6e0d44ac7d32f01bL },
  55428. { 0x968251655a3cc196L,0xa26724dc99eb23d3L,0xdb575fafa75f7252L,
  55429. 0x778e333062a3e5b1L,0x8689884e84cccc80L,0x9883cd19b645502dL } },
  55430. /* 4 << 210 */
  55431. { { 0x4cc41f2834220e26L,0xb5937c6da49749c4L,0x705366640fa1ca24L,
  55432. 0xeeb40f3b91e5edafL,0xcdf98235f1d3de14L,0xa65e5b7eff018c43L },
  55433. { 0xaa3228e7acee3a6eL,0xb63a6289e08f4ff1L,0x90e90425650b2daaL,
  55434. 0xe4a8cad26d875f17L,0xc212029c9ce8a46eL,0xce0512835ed7cfb5L } },
  55435. /* 5 << 210 */
  55436. { { 0xb0df226159b79436L,0x82bd0dafa195be26L,0xbc99a94b3398c317L,
  55437. 0xbeb44c903c96ee31L,0x3c39ad81664d2e46L,0x081787520a3e0585L },
  55438. { 0x9a054b6b413e269aL,0xbe58891d98c3b62eL,0xe7fa4c4de5734974L,
  55439. 0x8ac535f4d0a846a8L,0xea0f95f1a651339cL,0xa255274fd96aa239L } },
  55440. /* 6 << 210 */
  55441. { { 0xe23b7b229534047eL,0xbd70aea83a3bd625L,0xf44b05fe238db60bL,
  55442. 0x9c46fb140293abcfL,0x12cab5d3bfd8875bL,0x1f38d4aa12dd0c65L },
  55443. { 0x4bed41572adf9805L,0x3f87da928a56609dL,0x10b93363da02c903L,
  55444. 0x7ecc726621ce4786L,0x8ae366851e3da5bfL,0x196040ffd3edee12L } },
  55445. /* 7 << 210 */
  55446. { { 0x4805841fe81508e8L,0xe2a578d3a4808642L,0x6bbf10accd0b2555L,
  55447. 0xc5071effaf5cde28L,0x665e75439a7124a9L,0x157c11edc1437981L },
  55448. { 0x2019367d7aeddd8bL,0x74a1e104386e3b8aL,0xe72d429bfbe09a42L,
  55449. 0xaca96fd9061b862eL,0xbb2d2bc8122595f8L,0xc90c6503c509d644L } },
  55450. /* 8 << 210 */
  55451. { { 0xadb5966fcff05adaL,0x8ed26c025c57284eL,0xa76e73e244693a95L,
  55452. 0x14da74355982bbd3L,0x46e982cd5d2ca132L,0x8f39074024938e76L },
  55453. { 0x749206b30a89b09aL,0x429653c793b4a1e5L,0xbee3d1567025bb7cL,
  55454. 0xe23f0e1e19555c9eL,0x0dec3837751639baL,0xb36cb84405d43bd0L } },
  55455. /* 9 << 210 */
  55456. { { 0xae76a96e74f90b6eL,0x5fa8e94824c6789cL,0x2b3584bb03abbb81L,
  55457. 0xe19ce47c5c451f72L,0x35792fbad619ac7aL,0xfa0282a250059bf4L },
  55458. { 0x562bfd14dabe692fL,0x1aaf542c47eeb6c2L,0x392d5bba045d0360L,
  55459. 0x4e7bb31bd80fe998L,0x08f62ef31111e14dL,0x4de917b04e9ee1b8L } },
  55460. /* 10 << 210 */
  55461. { { 0x8b9d2d5867166271L,0x658db4ea142bab7cL,0xdf84932fa4ad2849L,
  55462. 0x04b113355f6f86a7L,0x2de6b29c50cfcea7L,0x46d8f68a9be6a3a3L },
  55463. { 0xfb88cda7af0204afL,0x3ece449126029d72L,0x69fef1e23f946dfdL,
  55464. 0x708532fb01ef7bb5L,0x78d5053deb3795a2L,0x819a63206b36d57bL } },
  55465. /* 11 << 210 */
  55466. { { 0xca07e0c1e509d19eL,0x6c7e42c39f6281b1L,0x0e2ff43977b66728L,
  55467. 0x1d740e7880e76251L,0x6bfae4c631a0eb23L,0xd78ca917aa9b0b3bL },
  55468. { 0xe140c662991e1781L,0x6e396b5f0dd3cfeeL,0xf0a1d1976ce7f6c7L,
  55469. 0xbe10f8efd5b01564L,0x865cbd54101a5194L,0xf665885266861dedL } },
  55470. /* 12 << 210 */
  55471. { { 0xe4e52e865b28f7daL,0xeb43a6809a58683fL,0x73b951bfb49f2b38L,
  55472. 0x7b6cb7db3f8097cfL,0x9dfb8d0b328fbf05L,0x491635a5ebce6211L },
  55473. { 0xa31a152390fdd577L,0x334120df1cd2f39cL,0x1d22834e6b563876L,
  55474. 0xfd91b30d10ee5a28L,0x3d7a282d59aee4eaL,0x36814c6b73300a76L } },
  55475. /* 13 << 210 */
  55476. { { 0x7b584add6621c251L,0x98da669d4233aba3L,0x4d652b7933aa2065L,
  55477. 0x901bcfb8df7b4ed4L,0xb2ce587948012f81L,0xc18e2cd63cb71b88L },
  55478. { 0xadb0f2bdff86279dL,0x46d9e5d65bd15866L,0x11b1fb3ec635a4c0L,
  55479. 0x8bcd0ad201b1006aL,0x0f6f7502cbab210bL,0xd6cc3e560d6b3995L } },
  55480. /* 14 << 210 */
  55481. { { 0xa54a6420137264c5L,0xa6ef0e78f9c2e45eL,0xba8b5a73d58d850cL,
  55482. 0xc0209ed86ef6fc3eL,0xe39dd0f391f7518aL,0x74697b8942b3eda6L },
  55483. { 0x2dccac36abfc9150L,0x80e4fba298b2f5a5L,0xe0e56fd2771018d5L,
  55484. 0xa31fd1684c22bb94L,0x8b0998f71a66ef21L,0xed483e55b5a53ddbL } },
  55485. /* 15 << 210 */
  55486. { { 0x95db1c0ef23978ebL,0x80ad1612f04011f4L,0xe76bd1824d7ae83dL,
  55487. 0x841d6e668fc3bd60L,0xb68e80796875e2d0L,0xe3965efcd5d9dee7L },
  55488. { 0xc488bb7e58930931L,0x52f4de19a907aa24L,0x39aebbdd321cc197L,
  55489. 0xd2f5b1f967de5c66L,0x60f1a8c28efe3e76L,0xf40604a0af988831L } },
  55490. /* 16 << 210 */
  55491. { { 0x78b5c14c0acb5935L,0xd9ec715c4311d3beL,0xffa22ab209e1759eL,
  55492. 0x5a86263db4b2f68cL,0x71e77c516b5be7f4L,0xfb5bea3a19844f6dL },
  55493. { 0x2519d0060890ffabL,0x426a03f0f0329ef0L,0x2c6d74a685b3c2a9L,
  55494. 0x9306f68fc294f449L,0x552e77c22c69fb46L,0x7c7337ad10bb9886L } },
  55495. /* 17 << 210 */
  55496. { { 0x61f8a505d2b9f25bL,0x1d33aafe4c8645ffL,0x26f3fab7bcd333e5L,
  55497. 0x8ff4fc51be95e40fL,0x11cd52c6b55bdd5aL,0xf2b4782a22d43de8L },
  55498. { 0xfe66e399a4c0e1c4L,0x26c6d7fc17954032L,0x44c700f97f20d2caL,
  55499. 0xdf67c3927187cdc7L,0xe11a98f9da36414cL,0x0bc5763a04052276L } },
  55500. /* 18 << 210 */
  55501. { { 0xe75b564bcf95451bL,0xd5ed760cc01aac32L,0xccf14dc5980d2c06L,
  55502. 0x235b5034ce2a5c0cL,0x64dc86aa05fa6780L,0x1d2ea4877385590dL },
  55503. { 0xb18696f636c3174eL,0xf530487b608215b4L,0xa073d0750a123172L,
  55504. 0x8ca24b5afde8666aL,0xd6dd589a9b716dc1L,0xcab7ea504a721d4aL } },
  55505. /* 19 << 210 */
  55506. { { 0x34dee42c1592ebceL,0x5b0eba2e417636d3L,0xba178703a97d7356L,
  55507. 0x16f6119f4123e8cfL,0xd2906a53ef179fa6L,0xac5530606b7ed572L },
  55508. { 0x82a25857b600f5c8L,0xb1dc1309973d516aL,0x6d53a967245c6e34L,
  55509. 0x7ce90bf4f670b879L,0x727ad4129732b6ebL,0xf00fb0054411dfd5L } },
  55510. /* 20 << 210 */
  55511. { { 0xeba7daad2b14da6fL,0x8274d1a8cee90515L,0x985c18f885bdbc82L,
  55512. 0x86555ff094d43909L,0xb0b1b2b6539e108bL,0xa4f32c66c0bf1313L },
  55513. { 0xbd4777c162080e0bL,0x73039da8dadfb23dL,0x85bc57374a27f1ddL,
  55514. 0x9a8ae24eeaaa58abL,0x161cb2f5e876fac2L,0x54d457e46636e377L } },
  55515. /* 21 << 210 */
  55516. { { 0x409b17487bece8c3L,0xee36a1d3b49f5c90L,0x8ed9eb2a619ecefcL,
  55517. 0xc50a917798ab7bb1L,0x1eb247cceee2ccffL,0x07a9566f084a0f69L },
  55518. { 0x59bda805a7cbee61L,0xf588124ca4e7ecd7L,0x0f7d8c3dde5eed54L,
  55519. 0xd98894ddefcb791fL,0x2fd80439ab309d7dL,0x0c8bf15d3e6cf756L } },
  55520. /* 22 << 210 */
  55521. { { 0x076a19c70e68a69dL,0x4d01c94b24b3854fL,0x9f38c5eeea8a85b8L,
  55522. 0xea80422d9a56f9c3L,0x10d9ceec9ad36735L,0x42194df742261173L },
  55523. { 0xc7332e70c285d22dL,0xf3a3d4be592ff9b0L,0x2fe712f7f59846abL,
  55524. 0xd6de5201e4362677L,0x16ce8f1d4f30006bL,0x1f3c324d11dba5edL } },
  55525. /* 23 << 210 */
  55526. { { 0xa5af9e1c0cb4335cL,0x00a46bc0f3d0dbe5L,0x852a18c99d734817L,
  55527. 0xc12d54a9986c0102L,0x184b407063ffe60dL,0xe05182437d99d723L },
  55528. { 0x8d3886cb20ef7647L,0x7e9c618017b1ce8fL,0x194baf260f176141L,
  55529. 0x978015d3b4694945L,0x2603be2f1c135e8eL,0xbc0f5e72ba074e0aL } },
  55530. /* 24 << 210 */
  55531. { { 0x1674b959cfe7bcebL,0x62e1279fe7b66a28L,0x3962a32dc67c3648L,
  55532. 0x4949617368d720a6L,0x4e81df85a957a5b2L,0x28b5c45753123c0fL },
  55533. { 0x5091dd347e239c67L,0x10b9c3f6160ef925L,0x5e7720f52c119dbeL,
  55534. 0xd584ae76c94d609aL,0x476c63ba86dccd1fL,0x70103a1a32508c6eL } },
  55535. /* 25 << 210 */
  55536. { { 0x64f4f4ee90a17a16L,0x31165bee7cb22fb7L,0x31da800b924825b0L,
  55537. 0xc2c169db0551e47cL,0xf9ca5e0e0d583789L,0x5e4fbdb53cd42f2cL },
  55538. { 0x6ade1fce1d81000bL,0xa105df391d6603e5L,0xd659094da3139f95L,
  55539. 0x363a882851d01444L,0x13cd7cbb2dece086L,0xaeea2aa96ab9020aL } },
  55540. /* 26 << 210 */
  55541. { { 0xdcb31a931081405fL,0x200090dcf1326ecbL,0x773fe49cde99f0ddL,
  55542. 0xf6a7cb67fac2c511L,0x95c93429b40b014dL,0x967708d4198dd723L },
  55543. { 0x74591cc184b90062L,0x2539ef20691d2550L,0x7d7290765a5d86c7L,
  55544. 0xa81f085475c6fdacL,0x103186d1c0f0d5cfL,0x5ae582e07eb3b8d9L } },
  55545. /* 27 << 210 */
  55546. { { 0x7df39eb2f9f3456cL,0x1e7ad4587be12020L,0xaee54df11fedfb79L,
  55547. 0x98f3a0879bf1dfe6L,0xdf958d371d13fb71L,0xa745249717dc809dL },
  55548. { 0x9f2ec9dd02d4eb90L,0x9db5686e48b0c7a0L,0x7d064cbf72532eb0L,
  55549. 0xe204d56593a71a9cL,0x0c912346f1aecdecL,0x894224a3d25d243dL } },
  55550. /* 28 << 210 */
  55551. { { 0x6bbf77cb5a508291L,0x2af81442d35db82cL,0x357feb1a2b9febf8L,
  55552. 0x74240a81a25330ceL,0x7a9ab575b4917998L,0xa60288d5eda3ef5cL },
  55553. { 0x360410d30aea9569L,0xef66acb5b9bf8c16L,0x7baeb466cc381b57L,
  55554. 0x024a98b8247a4904L,0x6e70b4c3e3c58130L,0x276e2420ae8a56d2L } },
  55555. /* 29 << 210 */
  55556. { { 0x3b4a25222c57f1f3L,0xf43d352ba8d1f53bL,0x169fb3cce198b03cL,
  55557. 0x92172ca923235a6eL,0x90b5953683f996e5L,0x32b1a34cb5ab11a0L },
  55558. { 0xb944e4b7b9001351L,0x1084de3d28ab5cb2L,0x60f1dc93c70ec63dL,
  55559. 0x790e1d496cfa10f9L,0x79bcc2277c3cd865L,0x95007ac24fd31fd0L } },
  55560. /* 30 << 210 */
  55561. { { 0x6b5d8db5f75e17b5L,0xc5ab42961b45a230L,0x586f097b7486832aL,
  55562. 0x1ec456c14f289757L,0xd11773bb57b04a20L,0xc84dfacd0821d3dfL },
  55563. { 0x580da8cd586e399cL,0x58c1355ae3bbec57L,0x0a476934d594a2e5L,
  55564. 0x0490ffd537e99427L,0xd41348386a4d8c4eL,0xd62cccb3c83d6e28L } },
  55565. /* 31 << 210 */
  55566. { { 0xe6071a3d57c9e219L,0x88728c47a93f38dbL,0x0426848b50eb1a01L,
  55567. 0x9df36972cada9a09L,0xf2ad4a2d4f494ec4L,0xae26577de1f34993L },
  55568. { 0x72ec08cde3618d7aL,0xd1fb89013ea90c46L,0x915936173b94f996L,
  55569. 0x8703357705387745L,0xf1961ff818fd5199L,0x7f0b58d34c2aeed1L } },
  55570. /* 32 << 210 */
  55571. { { 0x3313a9d544b133d9L,0xdb85c25d2da910ddL,0xc0fdef915e4dd5cdL,
  55572. 0x902a2a93c565dd67L,0xd8eba4dc7fed05acL,0xd453995ce157dae9L },
  55573. { 0xd655d0b3f250cb55L,0x4194a09e86119222L,0x5b7e525a0652872bL,
  55574. 0xaf7968efe68c0ddbL,0x2ec02930f51cb31cL,0x237f3ae4f2be071eL } },
  55575. /* 33 << 210 */
  55576. { { 0x696d84910dc943a1L,0x1f24fd7d9fe1d7d5L,0xea38c9e349413ad7L,
  55577. 0xe223996607c1cecaL,0x62094496ea7bd8dcL,0x9aba5bc7236dd525L },
  55578. { 0xa138ed5851631b6fL,0xed724f20902f109aL,0x3ab594cccb28f1e8L,
  55579. 0x3424213b5916dae7L,0x07e5a6df18479651L,0x4c51f2e1c5b48e29L } },
  55580. /* 34 << 210 */
  55581. { { 0x6306564b6591a811L,0x734b2619fd463a13L,0xa795d0569d8019d8L,
  55582. 0x103d85004ffe5858L,0xe1962c31adab8484L,0x326b3351b2015dccL },
  55583. { 0x2ad52b852ff36c73L,0x5874652308682fcaL,0xf544e162ea37824eL,
  55584. 0xd4a6b45ec208ce7cL,0x52d09045d2559ef2L,0xde1dfbbe57ebca65L } },
  55585. /* 35 << 210 */
  55586. { { 0x3a94aec3bb793f9aL,0xd0af44d4b5352511L,0x1d3f1c130b8930cdL,
  55587. 0x016cab225a729e0cL,0x092a7c11e31b549aL,0x80c462ed90ebfea4L },
  55588. { 0x3dcb9606e5e4ae09L,0xad150903ab59a450L,0x1b58210c6c944727L,
  55589. 0x26599f6024572a80L,0xfce0ad40c0445075L,0xedca1ada54c4037dL } },
  55590. /* 36 << 210 */
  55591. { { 0x794593303801b021L,0xb19bb405c9a4cde4L,0xe20091667f9cdee9L,
  55592. 0x762c684f7636d30eL,0xbf2b29f20c215831L,0x4c0d1b651853fe90L },
  55593. { 0x196ccb3157defc94L,0x9f3d66b7f6b9cc44L,0xb2328a0eea439deeL,
  55594. 0x82b3808d7b140e5bL,0x986210dd88e4a35cL,0x9b171fc838a2b7a7L } },
  55595. /* 37 << 210 */
  55596. { { 0xdc80e3ae91517233L,0xa219f65dc6f20d29L,0xd348a3d8be093f56L,
  55597. 0x63c233774d33113bL,0x587fd56257f2ce9bL,0x82cf3e3a4e9061c0L },
  55598. { 0x0e41f59bee8dd928L,0x7a5641be8aaef52dL,0xa852a171984ff476L,
  55599. 0x3c37fd1c047457b6L,0x7f00d665972d4793L,0x29dab0fd97b27966L } },
  55600. /* 38 << 210 */
  55601. { { 0xb1d119c91e9d07c0L,0x2f973a09432c86afL,0x3505b6f05ded5546L,
  55602. 0x21814b958687f973L,0xc104d7fad3794ae9L,0x81614d707ea91311L },
  55603. { 0xb7f3e6b600677961L,0x53fceb8bc0e6a90dL,0xa3a7485699ed4fb6L,
  55604. 0x07ad488421d4807bL,0x527b1ae6004e0c03L,0x437f306215146393L } },
  55605. /* 39 << 210 */
  55606. { { 0x917b4cf463e12603L,0x79e0b7363f838ecdL,0x57de4b3328b4f37eL,
  55607. 0x3085e4887f58fcfaL,0xb9301c4e958a3bc6L,0xef8d10578b044eddL },
  55608. { 0x2123d284d6391459L,0xdfcc2be5e196d765L,0xb58216268184b993L,
  55609. 0x13e21d03937c6048L,0x39eb3d38460d11fdL,0xf8ef123e5bb23c30L } },
  55610. /* 40 << 210 */
  55611. { { 0xa6f8b354666eb2f0L,0x7fbf6d91f9c7b16eL,0x9b360814161b5e0bL,
  55612. 0x13726fbd921511a4L,0x37aa1b8013833a11L,0x53f01183407b9889L },
  55613. { 0x8a83ea3fd147da9fL,0x25279241db0ad0b1L,0x78353bccd1a8d9aeL,
  55614. 0x1e33c10e271f7f0eL,0x136d9e7e9e67adc5L,0x11dcef95cc56ff8dL } },
  55615. /* 41 << 210 */
  55616. { { 0xae530580d84ba919L,0xac2e43ceb6d3ecd5L,0xf97b1afda4bc6a2dL,
  55617. 0x180d66d5bdfa96a0L,0x935b8a7d1ca12bf5L,0x1d4409a79e678225L },
  55618. { 0xdd85bf4b19a2163cL,0xe34197bcddeeb22bL,0x1e33fc3e1210cde9L,
  55619. 0xc96212a98b9b5d0aL,0xa3ae81f303e4a12bL,0x531a7148ea262807L } },
  55620. /* 42 << 210 */
  55621. { { 0xf11ac5fd4ace8006L,0x898a388133c499a5L,0xcf27ab9f1d3368ffL,
  55622. 0xfb6019606cbd6e54L,0x5373c2a901fb58b6L,0x1489f5037cd1b888L },
  55623. { 0xb3f0e0b85a238131L,0xd0e11e6e670858bdL,0x897f1584b65768f8L,
  55624. 0x9252aa72013b1f2dL,0x185842af0a1a5f8bL,0x49a978373d681a70L } },
  55625. /* 43 << 210 */
  55626. { { 0x8b65c6d23396eaf3L,0x2191764e50b9392fL,0x7a2363b72dcf6d0aL,
  55627. 0xa6a52402f0591553L,0xfaba81cd5ff7a071L,0xd6be926ae43e37aeL },
  55628. { 0x7b34c578ccaacef2L,0x2bc5d248d5eec9b1L,0x9447aab3014c0048L,
  55629. 0x767309a3c02d54d0L,0x408c6eee1f92297dL,0xf7ad95f40072a2d4L } },
  55630. /* 44 << 210 */
  55631. { { 0xd0051ab940ee5098L,0x4861b2461d8311deL,0x6b7796e0f31e860fL,
  55632. 0xde8b243acfd543e3L,0xef9d0957a0161843L,0x70fd43ecefefcbaeL },
  55633. { 0xd47392541931a5a6L,0x42e253300342623aL,0x90b33edd52ffbf5fL,
  55634. 0x0affda4ca015a550L,0x8716376b77e59672L,0x39d84b33fc0e9448L } },
  55635. /* 45 << 210 */
  55636. { { 0x71b55e7ea0415173L,0x5d0b5e01b10f3cd5L,0x0c35a1b63e3f9d84L,
  55637. 0x3c68cb5db794ba37L,0xa73356f0dfd6c999L,0xc59ed0650e5e221aL },
  55638. { 0xc59443a90cd7d577L,0xa354296e283015a8L,0x202aee3ba7477107L,
  55639. 0x59f361392ee80330L,0xc52bdfaae875a886L,0x8ca39d9d07637e97L } },
  55640. /* 46 << 210 */
  55641. { { 0x95be10b8f3a1611dL,0x6db370f0d1f992c1L,0xb964029de8124b40L,
  55642. 0x618b26aadfc90473L,0xac65c9916f6d5553L,0x10d5b0f0a0a6fde8L },
  55643. { 0x4bff23122d164911L,0x876db39d1f7293b1L,0xa2d3cd549de47789L,
  55644. 0xd8ca4f6eabc9a28eL,0x0bb3145fca7b5467L,0x4dce66338b37bf62L } },
  55645. /* 47 << 210 */
  55646. { { 0xcdd8ec4dec1b8d36L,0xf76258d888003e0cL,0x35a114e7262723f9L,
  55647. 0x12933142abb34bcaL,0xf55b84514c188a3bL,0xa0cfdb2c0ada78b6L },
  55648. { 0xaf0b62f6ed36781cL,0x0c619486ea7e1ca1L,0x11fae38689162fc3L,
  55649. 0xe9bd7ae694828e92L,0x081c3acda84cedb9L,0xb34ceca8787a67e0L } },
  55650. /* 48 << 210 */
  55651. { { 0xd1b2af2f2bca651bL,0x2211e4f97404bc78L,0x787b1cc8fc5068f2L,
  55652. 0x73d6da299fcbb3f5L,0x6867fb7707d2142fL,0x36f277ae116ad6bdL },
  55653. { 0x81c86073a7534943L,0x67188488c4033c7aL,0x13a8415ccc568123L,
  55654. 0xbc01db07f3f475deL,0x90b8af2e3aaeee1aL,0x320c4880175fa55bL } },
  55655. /* 49 << 210 */
  55656. { { 0x263afd7d2fcafc9aL,0x9b0c30ebcc9405d6L,0x713fdd27d6720896L,
  55657. 0xb07f8ec5f7df4a02L,0x05d62e5147ddd4e1L,0x6278227b8ae3b80aL },
  55658. { 0x2ef5c81b0d4ab658L,0xe6ad5925016a434bL,0x6c0e30a2b85d8037L,
  55659. 0x254830037a9cd869L,0x78da543b2cc48c8aL,0x3a65b54e3edca4dbL } },
  55660. /* 50 << 210 */
  55661. { { 0xaf2a06c3d54b0072L,0x81621ebfaf0310c5L,0x6bd1fe41a8a7a9ecL,
  55662. 0x942cf6ba03e74289L,0x2a25f0f59f9822e8L,0x16654b13062edd3eL },
  55663. { 0x2345a0b19de373cdL,0x425a59f80c0744acL,0xc6738fe96f0d620aL,
  55664. 0xaa479ef8ed67c1a9L,0x52540af87765b194L,0x17a3bd3bf2b96455L } },
  55665. /* 51 << 210 */
  55666. { { 0x5b1a1f075f01e608L,0x3c696f4e87b821c5L,0x4358a5243129700fL,
  55667. 0xfc9816a14be9d001L,0x905de48166744b96L,0x2ca5f8d8eeda3945L },
  55668. { 0xb30eeb1aad207f4eL,0xbd113b2dbc66e6f7L,0x1b6c5c6cebaef81dL,
  55669. 0x6b3863998bfaf32bL,0x5f9f2a2432a83dffL,0xe8cc190e26ea39d1L } },
  55670. /* 52 << 210 */
  55671. { { 0x51e05f7d450535fbL,0xa5f5181effbe389fL,0xdf178fffaa2d5514L,
  55672. 0x89358810e51da035L,0x206e324f664d399cL,0xc148ae74c4477d4eL },
  55673. { 0xe0c8d4377d6f38d5L,0x327aad6d8c8133e9L,0xa685a889d21cac4dL,
  55674. 0x1217c68d0ceb5770L,0xa4a09612d21f1d50L,0xab64b4dd889676afL } },
  55675. /* 53 << 210 */
  55676. { { 0xf263062aee202007L,0x95e90bbda2359019L,0x57740eb39f34e691L,
  55677. 0xa5f4fd0f355bef37L,0x484b97fb439f091dL,0x642776fe53ac871dL },
  55678. { 0x5c8f9b1e494e0eddL,0xbc62c971ae25a6d7L,0x01981994a7d90290L,
  55679. 0x3cec43524602cdc1L,0x4bd29f5a14403ae2L,0xafaef08b921328d2L } },
  55680. /* 54 << 210 */
  55681. { { 0xd33e754a53ef149dL,0x82243def548034e6L,0x99c29a9b23ea2dcfL,
  55682. 0x724e4b5d214848afL,0xe43d4438dcf85b9aL,0xaf7241ea9d7b20dfL },
  55683. { 0x60a10c30069edb1bL,0x1aaddd5e9874f484L,0xfc784ac073085538L,
  55684. 0xc998afe54d69703aL,0xb71f6fd7bf52139fL,0x28f994c46a45b089L } },
  55685. /* 55 << 210 */
  55686. { { 0x85084ec2eebd9e0bL,0x73e489c6cb9f1929L,0x91e47fd7ebe10e55L,
  55687. 0xeed6a3a1486a2704L,0xf63deae7e124d6e2L,0xca958204b48b3834L },
  55688. { 0xe69cb5bb13185b44L,0x56be0e05868d97d0L,0xc48cb1e50181e64dL,
  55689. 0xfaa012ddfc7827cdL,0xf535b1c83488352fL,0xd1cce04e9fbf42d4L } },
  55690. /* 56 << 210 */
  55691. { { 0xa54436b6ba3403ffL,0x1fe4b1ecdcbc4822L,0xb3b351004c6846e2L,
  55692. 0x360278048d1cac7cL,0x9eff87327e86d5d1L,0x7f435326ba21993aL },
  55693. { 0xb51a9da5adc24224L,0x111c19fcc8c14a71L,0x05aa2c86ab77e011L,
  55694. 0x81edc338ce72744dL,0x20fa8f528d882bc3L,0xc61c3e639d1696f3L } },
  55695. /* 57 << 210 */
  55696. { { 0xa66674ca0f41637cL,0xa01d08ac418487daL,0x2ce4258b6b593194L,
  55697. 0xd755220645024db4L,0xffb3366f626732ceL,0x802878f370ba2f1aL },
  55698. { 0x80a3f41659b77372L,0xfbb411631a04b19cL,0x7d575112a346d265L,
  55699. 0x6c30421ffff87d4fL,0x1b62b93fdcb05f02L,0x98ba4397b72649e3L } },
  55700. /* 58 << 210 */
  55701. { { 0xcca45c1d135a7eb5L,0x2623e629b048126bL,0xada7326e926980f0L,
  55702. 0x64f334c276bf796eL,0xf0751596b4a562a8L,0x0baa14486f9d0079L },
  55703. { 0x6c394aa32205ea70L,0x635b9d2d556172e9L,0xf418fe0cfd37b53bL,
  55704. 0xcf5fe2ac56b9791cL,0x9d855e67911c68ddL,0x9e40f75f734b57d8L } },
  55705. /* 59 << 210 */
  55706. { { 0x32c42482b5b8f846L,0xdefec599b61cc3cfL,0x4c3460996506a9b5L,
  55707. 0x0d9475a0263a6142L,0x1753cd92c80a6713L,0xc015412f420cf67eL },
  55708. { 0x1c33f01b6a88d12bL,0xa49f038ef522f7d0L,0x232343decd25f260L,
  55709. 0x479bc742d6a833c3L,0x2f2ab294cee07b83L,0x02e69a143dec38b3L } },
  55710. /* 60 << 210 */
  55711. { { 0xbf7fea3aee1fee16L,0x31fb342ce0cde85bL,0x9a232ea51575924bL,
  55712. 0xc3132e6cbcc4cf26L,0xbc5b7a7102499a58L,0x3064a3b904d99836L },
  55713. { 0x6f17475ff8b3bad1L,0xaeeb90c429271790L,0x7f442a13f8eca53dL,
  55714. 0x6d641eea08882274L,0x8dff43bf88ffaebaL,0xaa92827f5840b198L } },
  55715. /* 61 << 210 */
  55716. { { 0xf5ce3fca26d803acL,0x6927ddd9d4e1b6b5L,0xb509b5c609f48bc0L,
  55717. 0x2bc5d1749e35975aL,0xfba3024af570c98bL,0xeba15980aa27d6b0L },
  55718. { 0x95abc07290abd2daL,0xd0e30e99232035cfL,0x3dc4e1bcd3f0ecb1L,
  55719. 0xa5a8c6e556de9d17L,0x878c7403ab73bd18L,0x5cce39260c474b0aL } },
  55720. /* 62 << 210 */
  55721. { { 0x86a3f001e93b6ee6L,0xa28984474fb3203aL,0xbca0d71e9b3550adL,
  55722. 0xc225759d0396d796L,0x208b9a02cbd949d8L,0x15b21ec9a550d2ddL },
  55723. { 0x64aaed6a2a7dcffaL,0xb8cc7575ed5b6b47L,0x2b4a3aff022dbce3L,
  55724. 0xe85d690b86f51861L,0xe26a6c3d578f4d5fL,0x706d770a70e7ae76L } },
  55725. /* 63 << 210 */
  55726. { { 0x822467eb579c91a6L,0xe98a471531599272L,0x7baf0e9f1078d497L,
  55727. 0xd13f270e25fe439cL,0xae9d58adc0d95395L,0xc3beb60827693037L },
  55728. { 0x4d9c4cf397f797e5L,0x4e26167db26d2e9dL,0x06092d5e86a167efL,
  55729. 0x9827a21128dceb29L,0x30423344552a55ccL,0xae07b37f3fa437afL } },
  55730. /* 64 << 210 */
  55731. { { 0x9b23ab4e94d0864fL,0x46356266009c9fc1L,0xdbe99e51e798edf9L,
  55732. 0x38547449307675c7L,0x23ffaf55628c0fb6L,0x56ccd2a31698c372L },
  55733. { 0x39f45a578347ce95L,0xe0aaec744f2c6118L,0x2a89079e4af138fcL,
  55734. 0xb86371ea2ee4ecc0L,0x076d256a06bbf92fL,0x9073adb8ae3c4c51L } },
  55735. /* 0 << 217 */
  55736. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  55737. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  55738. /* 1 << 217 */
  55739. { { 0xba2e9543743c15d9L,0x7d5812db1c99c984L,0xf94db95145bdc19eL,
  55740. 0x951d00ae382e77bdL,0x9940a5fbb220b29aL,0x6908d50e58fc91f1L },
  55741. { 0x682e42eadd0940feL,0x2124e23aa1d32009L,0xbe15810016294d05L,
  55742. 0xaea13fe32e326d68L,0xc0dfe1ef15e64fceL,0x32dbc0b5b8237a8aL } },
  55743. /* 2 << 217 */
  55744. { { 0x6ee65a08c36d3f25L,0x7b6c811fe393e4d4L,0xc4a2cc382876e523L,
  55745. 0xab7aba26d3bf53aaL,0x5bf00871db7f290cL,0x3cb1cd131ee6d5bdL },
  55746. { 0x4cafb218de998adaL,0xa1ecf36af6319101L,0xa1fe785520b281ccL,
  55747. 0xe457198e64d9c65eL,0xa3d1a6d0c5a0e67bL,0x69ddbc3290cc468aL } },
  55748. /* 3 << 217 */
  55749. { { 0xd4ee3f7f6dadc46fL,0xa1f3dc925d7febd6L,0x4c0bee1363ebab5bL,
  55750. 0x70e32d77005ec237L,0x302fc73dc52fb006L,0x1af84c0a8f159899L },
  55751. { 0x42a5478f0686232aL,0xb4fc56348a308687L,0x042c4970c8378f0dL,
  55752. 0x70c195758e2c86c5L,0x61a95e6884c7c767L,0xd96a8216d6fb43a8L } },
  55753. /* 4 << 217 */
  55754. { { 0x0c62fd2d543c1255L,0x71ea9c6fef361a27L,0x76b0933dcef3f9e3L,
  55755. 0x51b1ec2d9889ffa2L,0x9e84b2ba9a3c88d2L,0xc8996b961913e52fL },
  55756. { 0xbafc5e94cee43e36L,0xd9898d2470c658b7L,0x4e9bcc41bed17108L,
  55757. 0x0db5b7336c7a41c8L,0xd4be07a7795369cdL,0xb899f92f7bd3a934L } },
  55758. /* 5 << 217 */
  55759. { { 0x1fffcbc010e15fafL,0x8447bdb8910245acL,0x857d521e86476901L,
  55760. 0xcd1d5f87369ccfe9L,0x560b3277b3f1dbf1L,0x4ac02a1a47ea4266L },
  55761. { 0x29ac98b6a8a929eeL,0x020ec6db5e5e70c0L,0xb0be38ba21291be6L,
  55762. 0xcbe9d362bdba40deL,0xc585450571535a89L,0xc21839de3d7a3235L } },
  55763. /* 6 << 217 */
  55764. { { 0x831541b39805497aL,0x2ceb5ac879c414cbL,0x86601fa616d2eb82L,
  55765. 0x373d19079338ce8eL,0x98151a90c1f5c87aL,0x966ebde6048a538cL },
  55766. { 0x5c4a8c5ae180ff7cL,0x6d9065dff996d994L,0x4e0dd86e2460ab91L,
  55767. 0xfbe8b3ff309a8f5eL,0x33d7cb35856f7218L,0x62b2200a1ac59f2aL } },
  55768. /* 7 << 217 */
  55769. { { 0xb36ad750a460e53fL,0x727006d60df0f7b0L,0x6ca3ac348ee96a11L,
  55770. 0xb04f6ae930e75d1bL,0x9957738a3a24e9eeL,0xc0117a7d16521e18L },
  55771. { 0x79fcea8872ad7e27L,0xcbe2c2d37281e3b5L,0x31915f1cc391fc60L,
  55772. 0x1c1c0082a13a92e1L,0x362663cc7ddca7acL,0x8021aad689689d35L } },
  55773. /* 8 << 217 */
  55774. { { 0x3f2eff53de1e4e55L,0x6b749943e4d3ecc4L,0xaf10b18a0dde190dL,
  55775. 0xf491b98da26b0409L,0x66080782a2b1d944L,0x59277dc697e8c541L },
  55776. { 0xfdbfc5f6006f18aaL,0x435d165bfadd8be1L,0x8e5d263857645ef4L,
  55777. 0x31bcfda6a0258363L,0xf5330ab8d35d2503L,0xb71369f0c7cab285L } },
  55778. /* 9 << 217 */
  55779. { { 0xc19db6f05890e1cbL,0xc21587edfcac8d05L,0xa9e88798d86730edL,
  55780. 0xee3e6ee2c27441cfL,0xadb2c63ea23af57fL,0xb524b7da29ff5977L },
  55781. { 0xab1ed847d3e4739dL,0x6592a0131cbfb581L,0x1f519c6ea1798195L,
  55782. 0xfe837a814c324a4dL,0x74fec4a85c813abcL,0x7b3b5351dce539b0L } },
  55783. /* 10 << 217 */
  55784. { { 0xb886a0c50c99e321L,0x4063d19576e924e9L,0xc03cca041a659dcbL,
  55785. 0x1e01abbc1bd3dab0L,0x9d7cf04fe9141cd8L,0x5f87dfa73ef58d85L },
  55786. { 0xa579e76388d764b8L,0x381dec6a74b9e5b3L,0x354221f99a4c9a67L,
  55787. 0x8c2556d33f529346L,0xced3642bb4349eb7L,0x1527cec7fef5c92cL } },
  55788. /* 11 << 217 */
  55789. { { 0xf2e42ef7785ecd51L,0xca3438cf33d9c0d2L,0xeef9ec08c1c097f3L,
  55790. 0x9e438fa746682aa7L,0x53d0144531a7eefbL,0x04431241e6998a0bL },
  55791. { 0x2c1bb2bd55bc7febL,0xed99e7afb44d4943L,0x7f37bc4a3c77d21eL,
  55792. 0x866c0978398e3997L,0xed7462305bde12b8L,0x24796f7c7194fd1fL } },
  55793. /* 12 << 217 */
  55794. { { 0x7e4450cd5e83d570L,0x0113cab242b394e7L,0xdf4062a08ee24413L,
  55795. 0xf8a0fd4931227510L,0x06b798f4b80f0d23L,0x33f17673b72bffa8L },
  55796. { 0x4638602b5de9f490L,0xbe3a65834d905654L,0x446e0afaf406772cL,
  55797. 0xef68dfd7b4ec908aL,0xa6be004966ab5ebfL,0x56049360ff376531L } },
  55798. /* 13 << 217 */
  55799. { { 0xb47202b760b6ce82L,0x8129c1befe05e9faL,0xcb70cbdde861de07L,
  55800. 0xcf35fbc5af16b6d9L,0x60071beec9916116L,0x3aaa496ed057e63cL },
  55801. { 0x1cb0bb12c356f065L,0x12dccccef4de0d26L,0xe3f59cf67ccc0d48L,
  55802. 0xd66f10b3d9569e26L,0x95f4d7e79d1853ccL,0x10313dfdbf651d5aL } },
  55803. /* 14 << 217 */
  55804. { { 0x779b55062a3d9774L,0x3785db08e0554291L,0x9b3a4eb8546c69dcL,
  55805. 0xfe36824dd22d8fc8L,0x037d9ac9471132a1L,0xc895e332a01e1c28L },
  55806. { 0xe535ede71b5e2845L,0xdc90cd7c568743deL,0x3292b40b4691d367L,
  55807. 0x911fad21b4f16a4bL,0xb3c5f0eb455d018dL,0x2eb2def669033748L } },
  55808. /* 15 << 217 */
  55809. { { 0xfd1297a4307aa8fbL,0x021f242177952146L,0x17cc2d6f0ba72feeL,
  55810. 0xa265095d01a3a733L,0x2e12c2e7a07d5f8bL,0x27bb60341202224cL },
  55811. { 0xb58b3fab8185dc12L,0x83467b977700f166L,0x98242e227ff9e1ccL,
  55812. 0x96b2a4d9f4b28f1dL,0x64113c3865ed82eaL,0x7dc9ab732ee160e8L } },
  55813. /* 16 << 217 */
  55814. { { 0xf16938f514c5969bL,0xde2e3cf0944b2271L,0x2d5095530b6490d6L,
  55815. 0x8432fef1a28a296aL,0x6f254dd08d26415cL,0x3780eeadd50c2865L },
  55816. { 0x4f5bc455665b8794L,0xef31fb9e56cb7018L,0xbab8dd6e65e59340L,
  55817. 0x676baca2a56dc2eaL,0x38eea06beaa90e05L,0x26e64224174bada0L } },
  55818. /* 17 << 217 */
  55819. { { 0x309e9fbe109cdb79L,0xc2ed3566977d0e4eL,0x2891f30be6b944aeL,
  55820. 0x514bd4cf5022e070L,0xae9a22a98726a661L,0x1114a0c8c1916b06L },
  55821. { 0xe1b4f8339795adecL,0xcc0f3824ed4dbf8cL,0x432c93c878096a66L,
  55822. 0xb9450e9da7d2ad83L,0x294b0c192c1e35ebL,0x791427038be5a953L } },
  55823. /* 18 << 217 */
  55824. { { 0x4d215132881faf35L,0x52171a5ceec736a8L,0x4788813e1ba561d5L,
  55825. 0x9ca022a7d35e399cL,0xbfcaab926c4b8d7eL,0xde62b2c007c7ec40L },
  55826. { 0x7b46c2d96bb54e10L,0x2ce02e5a7d31e85aL,0xb757b699cd776c12L,
  55827. 0x08f122552c81b71bL,0xaca91e058aa6b02aL,0x35cf7bd37209279dL } },
  55828. /* 19 << 217 */
  55829. { { 0x24b5bc7086a04b9aL,0xd4d4c640612e0fbcL,0xb19ea7fcf732589aL,
  55830. 0xa18b6f4081fc63cbL,0xddd7211d84d88fe2L,0x7e8db6f72963130cL },
  55831. { 0x8772908c500c491fL,0xa3bf747783fd8a41L,0xca54d0d34e3e9fe9L,
  55832. 0x9969471866b030d5L,0xc2f5fb98b1fd6736L,0x58d5a851d103fa45L } },
  55833. /* 20 << 217 */
  55834. { { 0xe4c16fcda97a5decL,0xcc4333092f1dd4b8L,0x8cac9da985d334dcL,
  55835. 0xb4deff204cda5a0cL,0x59eea4c9be70b1b9L,0x161e73a2ec5b7b58L },
  55836. { 0x584c5e098b7fb4a6L,0x697fb795a3f7dd08L,0xc9e15f754bd4ba2cL,
  55837. 0x66d04f47c83df783L,0x0c03c2452efedf63L,0xa76a08c94a87dbb4L } },
  55838. /* 21 << 217 */
  55839. { { 0xde4e18c2da669a50L,0x0629350a480fb520L,0x84b3e68b7cac0748L,
  55840. 0xab718a12da3e1e9eL,0x3f5c5489cc26aed3L,0x81c6b6d42a57ab3bL },
  55841. { 0xc4ded8ce15d23825L,0x2d753e6a20c6eb43L,0xbaa120ec555f3a83L,
  55842. 0xc72f9d3877e93abaL,0x4ce297d0373317cfL,0xf42b3e954845bc1fL } },
  55843. /* 22 << 217 */
  55844. { { 0xbf162c19d7480e46L,0xa7f45ea76403bf0fL,0x250e936c6c51cef8L,
  55845. 0x97ba086f1cd24b64L,0x271a22364cfb2889L,0x2685c98804dc4b48L },
  55846. { 0x843bb75ac877f6a1L,0xe10cd5c799d5c7bcL,0xbe65eea1db60606aL,
  55847. 0x9019a9a7a10d0d74L,0x5614c0b987c62e5eL,0xaab2308d38240d05L } },
  55848. /* 23 << 217 */
  55849. { { 0xc908c6929a772e03L,0x73441df703928ce9L,0x36141b5bcf111c12L,
  55850. 0xf6b9e2f16c7c3e5dL,0x1f245a77722c5b57L,0x07e3f364635f65e0L },
  55851. { 0x1aab7abf272597d8L,0x03954428d4fe8e71L,0x7dd58036ecae1b5cL,
  55852. 0x9b97c2f28c85b0f0L,0x68ed3dc6ace011e9L,0x8e4ab5ca1744a774L } },
  55853. /* 24 << 217 */
  55854. { { 0xe6a19dcc40acc5a8L,0x1c3a1ff1dbc6dbf8L,0xb4d89b9fc6455613L,
  55855. 0x6cb0fe44a7390d0eL,0xade197a459ea135aL,0xda6aa86520680982L },
  55856. { 0x03db9be95a442c1bL,0x221a2d732bfb93f2L,0x44dee8d4753c196cL,
  55857. 0x59adcc700b7c6ff5L,0xc6260ec24ca1b142L,0x4c3cb5c646cbd4f2L } },
  55858. /* 25 << 217 */
  55859. { { 0x37daf7fd5a96d915L,0x1bba82e6d16a1332L,0x7558b642ce1135d0L,
  55860. 0xc9fcd6ce3abc5915L,0xc3762a20b93ad4d3L,0xef0cdb45e4e74f82L },
  55861. { 0x809b91dcd26fbab6L,0x1264f72ea9b53697L,0x264699ffd7c827f1L,
  55862. 0x16d4f094d8c4976fL,0x244c90cd997df2caL,0x58eb3b1c76f77b3cL } },
  55863. /* 26 << 217 */
  55864. { { 0xb99e2dde1ed04268L,0x94247d202497b83fL,0x0c6c21d1fb833507L,
  55865. 0xa01e682fafab9c39L,0x4938108f4d84c3d5L,0x70b68c75347652d1L },
  55866. { 0x458e814740e17747L,0xca752a14c3f8bb03L,0xaa537b4d8598d044L,
  55867. 0xeec3febb7ff102e0L,0x10ef3cad247fe4baL,0xe4de5b1b5673ac39L } },
  55868. /* 27 << 217 */
  55869. { { 0xbca2931378d0bb1aL,0xfcc237068e5c3fe4L,0x0f9d6b11dd0d67a3L,
  55870. 0x9aec22faae14bbd8L,0x75f8d86e5bda7184L,0x6bcad95759aeb4c1L },
  55871. { 0xbb1224a5990a9309L,0x00edc04ef7193f45L,0x870c1647c17cbff7L,
  55872. 0x9855513c65031caeL,0xe5a2e2ded852b607L,0x540a4141e5671e25L } },
  55873. /* 28 << 217 */
  55874. { { 0xfb0e2f2e4d5efff4L,0xbf3b96e73a143fd6L,0xa18a037f18579946L,
  55875. 0xae02fd4ce48c8a51L,0x1cb139288745c177L,0x4991594a28c47832L },
  55876. { 0xdce3b1d2fd51c1a2L,0x4e707213314cb09dL,0x5312de95ee323449L,
  55877. 0x4925c4e789389866L,0x2438fd9e28ca17acL,0x58fd2aad872dc0acL } },
  55878. /* 29 << 217 */
  55879. { { 0x75bcf0ef54ddedaeL,0x3cc75fc6f9077493L,0xc91b78df60f6b874L,
  55880. 0x7687a1d0622634c1L,0x57fdef4f82cabf32L,0x544819218e2671e5L },
  55881. { 0x526cbb27a3c37afbL,0xe0db88340d1aec76L,0xa034badb73cdef1cL,
  55882. 0x165cdfad6281f26bL,0x5c90d4d1ce24a71aL,0xc404af1125f297a7L } },
  55883. /* 30 << 217 */
  55884. { { 0x6b21a0ea2fd5df44L,0x2da8dc6cb36e5b1dL,0xa683e08ac3688655L,
  55885. 0xfc5fbad3454bf878L,0x9d2fb9f12f73b749L,0x4612cf42f920b37dL },
  55886. { 0x23da6b697035794dL,0x2763828adff7c198L,0xd320660522dd7eedL,
  55887. 0x6829994cd1316e68L,0xd732bc8f62831ed9L,0x69c6972c9303d789L } },
  55888. /* 31 << 217 */
  55889. { { 0xf5901854b0dcc28aL,0x81c92c1fcd18e579L,0x91a412ebc4b8e1cdL,
  55890. 0x35f00725891d6ab8L,0x10d6bad8ad7aa63dL,0x8cda809d09df2b47L },
  55891. { 0xe856cfbfa489c233L,0x7ea921addf1ecf5aL,0x884cc717fd724c37L,
  55892. 0xe278f2457377136bL,0x240b142d9f3dc9ecL,0x80a384961139a645L } },
  55893. /* 32 << 217 */
  55894. { { 0xa35e411c2cb40964L,0xdd7d4f4cc331a3d6L,0x7c7c859e89a66f2bL,
  55895. 0x9908c37e0def8ecdL,0x8274124e344947b7L,0x0d279f7b568b0ce8L },
  55896. { 0xe5291961866091ecL,0xb056e3bf3a08acc7L,0x60fb39e156bd3a7dL,
  55897. 0xe56a34d6268f8562L,0xb3a1fe1613fd8293L,0x6a41e1a967537fcbL } },
  55898. /* 33 << 217 */
  55899. { { 0x95c2bbfe021fc932L,0xc7e3399db2af7e0cL,0x1224bf06122670f7L,
  55900. 0xc9e4513ffcc1fe85L,0x8c82371ddb50fa7eL,0x017c5498bb76e4b5L },
  55901. { 0x5467926c7fa89f61L,0xa4a65606f3a1204cL,0x22133acfa64b2e59L,
  55902. 0xab7896bce1247662L,0x75d35fb661780c9eL,0x99199644a91b33faL } },
  55903. /* 34 << 217 */
  55904. { { 0xf799c4638471104eL,0x43c122dd8b91c351L,0x9db6498616dc06f7L,
  55905. 0xf7e534410ebcf250L,0xa702c0f18373f9bbL,0x6ed8d39a1024e14eL },
  55906. { 0x92913e436cabd9c4L,0xba906ef40dde6283L,0x06835e914a3972d8L,
  55907. 0xfbba3c7dfd99c4feL,0xf843e6f1b950909aL,0x7ec9866df5160b4eL } },
  55908. /* 35 << 217 */
  55909. { { 0x68f75bab06722bd4L,0xdeca718813066eeeL,0x4d658fa11152b8c6L,
  55910. 0xfae01e657257c9e2L,0x999445f923e4189cL,0x2cbe272cef6f0b1aL },
  55911. { 0x5f60d9d735fff303L,0x4ca7a54696235360L,0xf506201598758f1fL,
  55912. 0xba81e7ad1dbaecbfL,0xd326e063c687425dL,0x8c46fa4b193484c5L } },
  55913. /* 36 << 217 */
  55914. { { 0xa97149cf3c1f5f12L,0x17b04a3d143d72b6L,0x174195ff17449a22L,
  55915. 0x851803960b136adfL,0x8d87d21f9a7adb22L,0xf9c9fc85a8f46d49L },
  55916. { 0x7839f453a7ed1b7dL,0xe19d80ace9067ba5L,0xc387a6a0e41b8d6eL,
  55917. 0xd11611e1241d287aL,0x2561ed02636240beL,0x3bd8c57df0fba033L } },
  55918. /* 37 << 217 */
  55919. { { 0x7b5caacd3ea8ec1cL,0x221770e944624802L,0xafb1a4df5a32468aL,
  55920. 0xdec20eb62e295525L,0xe1cd4fb9e309c92dL,0x0331b9c0e7256005L },
  55921. { 0x987d4c55246f2fddL,0xa392d27367f70f8fL,0xccba11994e214e5fL,
  55922. 0x789f0e4c9943562cL,0xf502ec237235c86bL,0x67403523987746d6L } },
  55923. /* 38 << 217 */
  55924. { { 0xdd02ced216c97e7cL,0x578d6912dc3347baL,0x760260da2134e993L,
  55925. 0xf96643dff34fb26aL,0xec214b767ea3285dL,0x19b135d4117733d1L },
  55926. { 0x29a0e0636b037168L,0xb5df2bb95d1285eaL,0x5a2d3297796f0cc4L,
  55927. 0xfcee639f2090e0b9L,0xba11e8a4d93c091dL,0x5b6fc501492250e5L } },
  55928. /* 39 << 217 */
  55929. { { 0x6019d207263929d8L,0x9821d6e81f164aa2L,0x8f1b33f8d4924236L,
  55930. 0x389e482fb72de1b1L,0x398785a862554c10L,0xed31cf8408469265L },
  55931. { 0xf9b99e158a09f334L,0x9ddfd4eba83df391L,0x28a5cdf4caa4f7d5L,
  55932. 0x32b9e3c68f68fd49L,0xbce64b93b6f52209L,0x72649c6fea7c4bdfL } },
  55933. /* 40 << 217 */
  55934. { { 0x8a15d6fea417111fL,0xfe4a16bd71d93fccL,0x7a7ee38c55bbe732L,
  55935. 0xeff146a51ff94a9dL,0xe572d13edd585ab5L,0xd879790e06491a5dL },
  55936. { 0x9c84e1c52a58cb2eL,0xd79d13746c938630L,0xdb12cd9b385f06c7L,
  55937. 0x0c93eb977a7759c3L,0xf1f5b0fe683bd706L,0x541e4f7285ec3d50L } },
  55938. /* 41 << 217 */
  55939. { { 0x73bc200cfdd5504eL,0x73322fbf3825b0c3L,0xbf8bf1edd35c24d2L,
  55940. 0x54eba9f52e2bc29eL,0x80ffb5fff3aa841bL,0xbc676f62cc188be9L },
  55941. { 0x2e2f79290383f0dcL,0x886c647e0d42059bL,0x673f0ea113eb7019L,
  55942. 0x630da63f3f9cd771L,0x2597592b3a0a42b2L,0xfd21fb21b83b8673L } },
  55943. /* 42 << 217 */
  55944. { { 0xd39ebb9fd2b34df5L,0x622bd0c3db873666L,0x546cc7f77b52738fL,
  55945. 0x0323cdd1c156c52eL,0x78b00818b5950f19L,0x8065a86a562bec17L },
  55946. { 0x0b42eb1427ca5a49L,0x1791eaf1a457ac04L,0x3a2c93a6b2631402L,
  55947. 0x28b9cd6fcacec5dcL,0x6a0a8826d4535a3dL,0xeb08a884a83fcdcbL } },
  55948. /* 43 << 217 */
  55949. { { 0x16bae8925a940b6dL,0xfec394c1789562f0L,0x54349605ea412ea1L,
  55950. 0xccd57783cd18e2cbL,0x394bea1a1c813e61L,0xf11c566ff249dd67L },
  55951. { 0x2cd679c112207f37L,0x7780918e83d16012L,0xe8bdbef4646c9987L,
  55952. 0x6e1882e5082dbbffL,0x811dd74777abe4acL,0x5bbbb740668380adL } },
  55953. /* 44 << 217 */
  55954. { { 0x0969263a7321c39dL,0xbd13b28bab7aefcaL,0x10e431f205377165L,
  55955. 0xbbb2a7d009442c57L,0xf935bc2d9cd156b7L,0x66c3d55e42406686L },
  55956. { 0x4c529b76d20bdc50L,0x112e0f004d1c9f24L,0x414f1c65ed38dbc3L,
  55957. 0x63ade49c4eea65caL,0xbefd8af5fab697e8L,0x727bd3b45cc3b209L } },
  55958. /* 45 << 217 */
  55959. { { 0xb89d450a957925f4L,0xcb39b69c6e1e60f3L,0x55396e61ae3fffa3L,
  55960. 0xe89d97962986fdceL,0x5521d6b787fcd037L,0x6c20b2b0ec718024L },
  55961. { 0xb1e0964bad6529c9L,0xe1bdaba3bc38493bL,0x6a9cf9d6f19b4690L,
  55962. 0xa2d035f7054466dcL,0x37df7fc07fa65c9fL,0x045b0b36106ef822L } },
  55963. /* 46 << 217 */
  55964. { { 0xe4fc833eda5c9577L,0x22afb5addfbbca7cL,0x215de02eb902e8d9L,
  55965. 0x215e4c900f1a6cb5L,0xf6d7e4a9d59e146cL,0xcd0c6c6e4912eb8cL },
  55966. { 0xe0616976eae22897L,0xe2279d9f5d809d19L,0x2da1b7b3e282b2e5L,
  55967. 0x19327068ebf058b7L,0x9b23df0f5934492eL,0xabeb464fb1752d68L } },
  55968. /* 47 << 217 */
  55969. { { 0x6e754efc00d03f9bL,0x64aed0bd38b94393L,0x9d084ba16df2f6dfL,
  55970. 0xfe383a56c6abe8f3L,0xd23c6ca2bc7bac13L,0xde8ef161e326b691L },
  55971. { 0xbb4e853342f96925L,0x1391974f6601dc73L,0x3a545ffb700480cdL,
  55972. 0x4d379c538884e214L,0x0fe40f66f713e900L,0xc7f202cbfff783ffL } },
  55973. /* 48 << 217 */
  55974. { { 0x89e48d8bc6bb5e5fL,0x0880ede01ea95a10L,0x60f033d7302c0daaL,
  55975. 0x15e4578a048eefe3L,0xfd6dec89b0a72244L,0x1f7cd75e309489cdL },
  55976. { 0x7cdcc2a0e9aba7fdL,0xd18dc5c7f28ba00fL,0xa6300a455812b55fL,
  55977. 0x8fa5c4152ca31d8cL,0x36aa3c234f3a5b5aL,0xd128739ec86cf4e0L } },
  55978. /* 49 << 217 */
  55979. { { 0x7ac4712f660598aaL,0xe3f00c28aaba6261L,0xb71ac42e1a9b639bL,
  55980. 0x19674c28f69958d0L,0x3983abfec4e5c60fL,0x67f4583a5de58f9fL },
  55981. { 0x83e0bbbaf7278c06L,0xd1883aaa19c5f96bL,0x8ec0f2848b3128afL,
  55982. 0xc88e07f49166e04cL,0xa515a9e44e3995c9L,0x0680a306b757ec2bL } },
  55983. /* 50 << 217 */
  55984. { { 0x5673b61e6d6f3aedL,0xcd1275e29524fd2dL,0xa8844f08cde12134L,
  55985. 0xeca3eb27b8366e0cL,0x5ce49d498bbe04b4L,0x0b7ab7a02882b056L },
  55986. { 0x12fddcb840fee142L,0x99b7920b2895df5fL,0x35dd8d5a5829bb19L,
  55987. 0x271c6a4c46ee8dfbL,0xae09ba7536b594e4L,0x45502d0e1ae12c22L } },
  55988. /* 51 << 217 */
  55989. { { 0xa9e1b19ad95e0110L,0x6a419f8b2383280dL,0x6c35e8e16eb602a6L,
  55990. 0x966e0f44d71beeeeL,0xfc5cbdc0c8915585L,0xdce1c36583133b89L },
  55991. { 0x3fbdd24289e6a35cL,0x8cd24d1760ff9dc3L,0xb9708c2729dd493fL,
  55992. 0xabbf39803cf807caL,0x62689ffe5410c80aL,0xf133928be8b31d13L } },
  55993. /* 52 << 217 */
  55994. { { 0x3645a1910d4bfc83L,0xa564ac85f2114b63L,0xf0647034cc6d9314L,
  55995. 0xb58e96d331d80285L,0x8b8222d9e269c964L,0xdee12adcd204b214L },
  55996. { 0x82d2bfbae1d0a6e6L,0x4fd69d2e9da964eaL,0x1605d9e3200b3ac0L,
  55997. 0x5ab2886266d133eeL,0x938411c9f72f5353L,0x9fcdcb3a7d40dee7L } },
  55998. /* 53 << 217 */
  55999. { { 0xd65c1d6c501eb835L,0x37374dd14a0e5861L,0xa13f1070505f1fdeL,
  56000. 0xedd76943d1351805L,0x0f9501953673091dL,0x0dec24e308aa62f2L },
  56001. { 0xec4962e7f50efefeL,0x0acccbdc9d227293L,0xc6c95d29d84fd828L,
  56002. 0xa4b214c540578ca4L,0x06963d3ba4d41991L,0xeb8c14c2fde0034cL } },
  56003. /* 54 << 217 */
  56004. { { 0x3d46a2317460e00fL,0xedce1c7dacce513cL,0x3d7b6f388cfdce74L,
  56005. 0x870082baacfa61deL,0xa86efef862ff847dL,0xc146218368c11d11L },
  56006. { 0xb296eede9d21be2aL,0x9dc54e9e761451cfL,0xed1bb1fd53107f7bL,
  56007. 0x41f9efdb676bfbe4L,0xcdf43b904feb9a1eL,0xe81fcb6409d98782L } },
  56008. /* 55 << 217 */
  56009. { { 0x00639fa8642789c3L,0xf8e893a03c101e43L,0xc55439302730e33bL,
  56010. 0xe2967d30460970e2L,0xb33f1976ceacc128L,0x9bb0f896235e8c4cL },
  56011. { 0x523f7bbb2fbbbc97L,0x127728a5dab215c1L,0x95dd23ca7ed6ab74L,
  56012. 0x69f1219feacf4ba8L,0x5ed12355e875dd6fL,0x7aa732dc95565bdeL } },
  56013. /* 56 << 217 */
  56014. { { 0x9a0e153581833608L,0x5cce871e6e2833acL,0xc17059eafb29777cL,
  56015. 0x7e40e5fae354cafdL,0x9cf594054d07c371L,0x64ce36b2a71c3945L },
  56016. { 0x69309e9656caf487L,0x3d719e9f1ae3454bL,0xf2164070e25823b6L,
  56017. 0xead851bd0bc27359L,0x3d21bfe8b0925094L,0xa783b1e934a97f4eL } },
  56018. /* 57 << 217 */
  56019. { { 0x0a700190a5e41f7bL,0x2173e68dae9045b6L,0x28e9ac53f1669974L,
  56020. 0xcb00ff99d4b9fd98L,0x09c7b907ebe90d1bL,0xbf401f20385744c1L },
  56021. { 0x0bb7ea7ae1292c18L,0x82aa43120b58f171L,0x5aa97bb2e3102d77L,
  56022. 0x1a71e7c570178b35L,0x9bbb9ade6ab76f59L,0x32da60c9dea7bcacL } },
  56023. /* 58 << 217 */
  56024. { { 0x3c3f113ab3726680L,0x27be1c406f5b5ab2L,0x5f51f684f6864a39L,
  56025. 0xfaf84229a60c4f39L,0xa788612d01df18c9L,0x65c9fd14951d5ea3L },
  56026. { 0x4b2153cdaeeaf44fL,0x6b9e977ba567781fL,0x4dbca3609dbf3e39L,
  56027. 0x1ad43ad4fc65d7ddL,0x70a7a5e13d8dcf0cL,0xc11b1f4688b91e4dL } },
  56028. /* 59 << 217 */
  56029. { { 0x1ef5695b0868ad28L,0x09c9c06c2e3a9176L,0x2f2c19672c358e86L,
  56030. 0x4ff1af54da22d7e7L,0x5ea6716840fa2270L,0xd164b6874d31a3e9L },
  56031. { 0xec036bb4345103d9L,0x6c6a130f26e17156L,0x2c491063d872b0d6L,
  56032. 0xa66be18c4123d04cL,0x8593de34a33fa919L,0x620d2970f025b880L } },
  56033. /* 60 << 217 */
  56034. { { 0xc194cc1664baf040L,0x8038f31fcc01f35cL,0xfcc82fa0ed2079c7L,
  56035. 0x1eb7571190d39b9cL,0xf1a89043c108e069L,0x10633334c020880fL },
  56036. { 0x492a494086e262f8L,0xaa0208173383f1a7L,0xfbb4e5ba6d99cc07L,
  56037. 0xd6ccdc5cbde40478L,0x9e0b9d5867ee92c7L,0x5204bab7653eb14bL } },
  56038. /* 61 << 217 */
  56039. { { 0x721f44f0ef90c9bcL,0x6ebbecd8d55e653bL,0x9af325df6ccc5d5dL,
  56040. 0x265f0f6d827bd1aaL,0xb82453213487ea4bL,0x1642be42af6ba8d0L },
  56041. { 0xb8c4168d4140e5f8L,0xdf5e32c13545d107L,0xf1301b9c2db68318L,
  56042. 0xb22e20472bf3c067L,0xf40af49ee56ba514L,0xf4090e795575f363L } },
  56043. /* 62 << 217 */
  56044. { { 0x980de58b1746f6bdL,0xa9e1f0089eb9511cL,0x8f53c6fd1bbdba34L,
  56045. 0xe6a867a6a1a41706L,0xd4cc48a5d2e48256L,0xd580559e05cb19d6L },
  56046. { 0xc8983311e6466ae0L,0xeab62080174df01dL,0x710ebd184a0441d1L,
  56047. 0x0af69d9a9f653d0eL,0xef3a2510d789c932L,0xb5959cb992fbd39aL } },
  56048. /* 63 << 217 */
  56049. { { 0xdbbdd5fdccb1cc9bL,0x660110b98a26d874L,0xfa80d8b60fb9ff2cL,
  56050. 0xfeb5cd6b95040da7L,0xb526ae0c7366cf25L,0xf49d85fce3566146L },
  56051. { 0x3b4107e699f505e5L,0x3c2d618f4302bbaeL,0xdaa09d150b199866L,
  56052. 0x3b65cb88c395abf5L,0xd2af1dedbd5ac4eaL,0x0586f5a5276533d1L } },
  56053. /* 64 << 217 */
  56054. { { 0xd927283013575004L,0x01a330d620b2275eL,0x58b9207f450db713L,
  56055. 0xae95338423e16d95L,0x4f10c6d4e60e349cL,0x541d03ecfeb122bcL },
  56056. { 0x22548cd22c648211L,0x5c2dc84cd01354f5L,0xa1c6f912b6167b3cL,
  56057. 0x6967bab27902d2baL,0xebbe0b0836de34baL,0x6985b33a4b79625eL } },
  56058. /* 0 << 224 */
  56059. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  56060. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  56061. /* 1 << 224 */
  56062. { { 0x9e857f33771560abL,0x4ae1ba22250f109dL,0xf8538d68ff4f6566L,
  56063. 0x35380f15ac339148L,0xfef0bfdd5ddfc12fL,0xf706c6bf1387d93eL },
  56064. { 0x618ce77d5357e131L,0xf0921744236478c4L,0x24eaf06e00dc0da5L,
  56065. 0x049113be07603cc7L,0x5cf489088f6963c7L,0xbe5eb9e6ede4a300L } },
  56066. /* 2 << 224 */
  56067. { { 0x77e486f85d066c15L,0x0c05b6c24ed5307dL,0x322b28ab7df36628L,
  56068. 0x2d14d1316704dcd6L,0xd359977af29a3567L,0xc29bb132ec96d3b6L },
  56069. { 0xfd6e400ae6bfa701L,0x03db99244c7e5101L,0x62d81c7d9b8533afL,
  56070. 0xefa638c28de66eb8L,0x7405a9d7e86784eeL,0xafaa74efa6c22223L } },
  56071. /* 3 << 224 */
  56072. { { 0x6909994f0572e536L,0x9d22f9157fed8954L,0x1505ca05884aaca9L,
  56073. 0xe4b6530996995a98L,0x30e00a5ed02c000eL,0xb9032350236e7b09L },
  56074. { 0xe696f09e14f6c7bfL,0x2126b6277dc18d06L,0xa9ada7b401e1e2a4L,
  56075. 0x9630acb69d2d025aL,0x9fab2c6ed84ffeb1L,0xc1d0db26ab7584f6L } },
  56076. /* 4 << 224 */
  56077. { { 0xf9b2dba4b9d36e91L,0x5fb4f6cefda9b2c4L,0x7692a4f33b8104eeL,
  56078. 0x5da885b0e4e1896eL,0xc2a30fec73d2aa36L,0x7d06e6af86f60bcaL },
  56079. { 0xbc8bf16d87287887L,0x6c3dd86a3d701becL,0x8e79e2f37e35610aL,
  56080. 0x981139f482f9d71cL,0xf8997ec424e62733L,0x330d989aa3518061L } },
  56081. /* 5 << 224 */
  56082. { { 0x6cf0e6ef9b7e3cc9L,0xb465be6b0320acbdL,0x02777783856111dcL,
  56083. 0x3a1d36f0c0e9f2b0L,0xfcf4f6365e7fe507L,0x36bf41827fa7c8f1L },
  56084. { 0x09a02de8b0f4ce56L,0xa0bbf65ca9cdb353L,0x7211a9654b7f4e35L,
  56085. 0xa6b2ba79805b58bdL,0x418302c20957860cL,0x3c17ec02f99f9d58L } },
  56086. /* 6 << 224 */
  56087. { { 0x4e6ef410ca89fbadL,0xe0fc53ba53933b78L,0xa4f03403fd41d143L,
  56088. 0x3a507177e0774c37L,0x078e8c568ec7484aL,0xfb73c6b6fbb3f66bL },
  56089. { 0x169c94753bfbdff6L,0x44d286060a232243L,0x3e8e968508303114L,
  56090. 0x7a9797b8fad0def2L,0x0ad14404efc1c8daL,0x6daae4e921ced721L } },
  56091. /* 7 << 224 */
  56092. { { 0xfde0d1b4cbfd18abL,0xa3c9917595850f83L,0x16d3ad79c9eb9de3L,
  56093. 0x2707ec8b0ffbcdacL,0xd7e6750fa220287cL,0xe51baf059c2e155aL },
  56094. { 0x3018c309871e10faL,0x074f08e3f23221c2L,0x1aa323aecf15a4afL,
  56095. 0xf085d69cc1b8cca0L,0x47a3eaccb143a969L,0x56a04522f3a98430L } },
  56096. /* 8 << 224 */
  56097. { { 0xc7e9ddef88dd2dc2L,0x2c21a99819a0c0b5L,0x6bc0746db239bb82L,
  56098. 0xc811a8eb28ea1341L,0x5f714ca71d1309b0L,0x79eabd20d4eb9b34L },
  56099. { 0xe0e5afdcdf0fb30fL,0x1b01a16d8c0814c6L,0x670e1e7b84334366L,
  56100. 0xc8c38f9a0eed1116L,0xf914fae2619bbd50L,0x1ed062cb51c1995aL } },
  56101. /* 9 << 224 */
  56102. { { 0xce64d065b711b4e9L,0x32760c2eefc4d25eL,0x9e5916caa6292c7bL,
  56103. 0xa90d40bff2a47deeL,0x90dc6681604933d2L,0x707270c60115cf42L },
  56104. { 0x55b601ff6fe583abL,0xdd2fe842a039dafeL,0x602d8de34c2d3357L,
  56105. 0x7cc979bca7ab9014L,0x4b8dcf7e60118797L,0x7f1f2a04cbfaad32L } },
  56106. /* 10 << 224 */
  56107. { { 0xd4e60e15cb583422L,0xc6b1ef90320f296fL,0x0714bad0d9bfc834L,
  56108. 0x5ee2ca8c9050e2c2L,0x074a8ca824f7cf1dL,0xb975024910df8516L },
  56109. { 0xecee8ab7c2636d2cL,0x308e5af13b4b7bbdL,0xfed4f27eee2ae021L,
  56110. 0x7cd4bb192065253bL,0x6b21a3f84de525b4L,0x0f10e7bdac27fddbL } },
  56111. /* 11 << 224 */
  56112. { { 0xb4f02d9dbb3bf37aL,0x69590395978aacc1L,0xdf99b1309c3def3fL,
  56113. 0x5c66391e12be0bceL,0x30ab382cb5eaf100L,0x9b84b2b4e0352249L },
  56114. { 0x0c22e4e1af14e85aL,0xc29d3c592286ea0cL,0x6c7f8b6a40758aebL,
  56115. 0x7a91adccde68fd0bL,0x4d8554fec8e8fd4aL,0x9fa863d5bb5621e5L } },
  56116. /* 12 << 224 */
  56117. { { 0xd5068487870e29cbL,0xf9420b85fc52d5cbL,0x50c3265a496d000dL,
  56118. 0xe605414a166bd6b4L,0x4de8d724c62b2a6cL,0x16af06f2a1a11048L },
  56119. { 0x5406bde945f43c4cL,0x5e15bf6c751ad18eL,0xa846e665b6a59587L,
  56120. 0xcdb28a7d1816ac55L,0x899b3551819b73f8L,0x2d46297bbc848d08L } },
  56121. /* 13 << 224 */
  56122. { { 0x76f5aedd44af60a1L,0xf7bd3b4651d1efd8L,0xdfbf3c6439a9721eL,
  56123. 0xf927fbf0ee9d2ab3L,0x628e9258c7e0779dL,0x062cb2fe4cf1dccfL },
  56124. { 0xb2ff57dde2278f00L,0x3f0e140a2d199ca3L,0xe7161304342c0a9cL,
  56125. 0xe7ca734f0bdbe131L,0x7d070270870057d8L,0xf6f1a65daaa55860L } },
  56126. /* 14 << 224 */
  56127. { { 0xdc4cc720299127beL,0x5b34e762faab8165L,0x2289b2f7b39c120dL,
  56128. 0x687a78d06e52b913L,0xd2a091dd2a3ea6a5L,0xc61eced638eab329L },
  56129. { 0x652231ea7887ff2bL,0x77a568750479db4eL,0x1ef471c8d43c5722L,
  56130. 0xf82bf436f3764c34L,0x962af4050445cafeL,0xed8b227f5ff47259L } },
  56131. /* 15 << 224 */
  56132. { { 0x30e045f4a73c3da0L,0x13d2527df36c6346L,0x3dffe56d3836fb9bL,
  56133. 0x9518276617c5d2bfL,0xa0ef38724dd0b240L,0xb45e19ebc39c675aL },
  56134. { 0x65202bc603e95445L,0x41e2f0d19a2ec9dcL,0x51c719cf2a0d762bL,
  56135. 0x3bfb9729ecc6b9f8L,0xda8271705a261640L,0x65c2bbbcaeee5f3fL } },
  56136. /* 16 << 224 */
  56137. { { 0xde849cd1d89594abL,0x00e2d2b10ec4fb3aL,0x3fbd9e3dabe92fbaL,
  56138. 0x785414d43324900aL,0xdaead1abde20904eL,0xb493e121aa5f1ba8L },
  56139. { 0xd60a4f2d6eaea0dcL,0x394746b56fca8596L,0x163dc78934efa243L,
  56140. 0x3067dccf216a8d8cL,0x116b6534a901617bL,0x8c4bd099bbabe51eL } },
  56141. /* 17 << 224 */
  56142. { { 0xbb9eb22a97ebad53L,0x791d4f90666f1428L,0xa3a896e06c5d5569L,
  56143. 0x322d566fdefbc26cL,0xaa581a083c039c26L,0x82d899be62790f0bL },
  56144. { 0xeff4bb9a43a0c2f7L,0x60515c10a01df2c4L,0xdd1455a849312160L,
  56145. 0xc8a15052c4292265L,0xdb2970f97f68d081L,0x29c825b892594c4dL } },
  56146. /* 18 << 224 */
  56147. { { 0xc8c2df45ac3a082cL,0xc353d074c8d4c40eL,0xb214f9c05a3c2de7L,
  56148. 0x504bc42cf86b0214L,0xc82df5cbd1922a58L,0x40887948a5bc3267L },
  56149. { 0x04bcd21788ba8bb2L,0xe21b3e7f046fd401L,0x8419c338616af5cfL,
  56150. 0x7f24760baedfce9dL,0xded8035bddbd519aL,0x1f1fb0d71693faabL } },
  56151. /* 19 << 224 */
  56152. { { 0x7a88376766117f71L,0x8d4e37815d261599L,0xc900e6dff770b193L,
  56153. 0xb7d1c06b12e9dda7L,0xa86d173a717cb0faL,0xa138b7ba51dfbeacL },
  56154. { 0xe84468c57360a27cL,0x4acf8b412e9b82a2L,0x85fa386cb121d6faL,
  56155. 0xc794d9f283e6169cL,0x7b4cd3fc8c9293acL,0x3096ad868d082719L } },
  56156. /* 20 << 224 */
  56157. { { 0xbb067b49d02ffcf6L,0x7cedf8f93e657299L,0xc3829961406bbfe3L,
  56158. 0xefe4b5aa37c12472L,0x7dc01cf9fec7dee8L,0x70a9db2389472f50L },
  56159. { 0x29c269f8b31bf737L,0xa26deac3ae3fa7dbL,0x0046e91233caca41L,
  56160. 0x3bf4bc8ab6e78b55L,0xca83bc6cd9eb5ef1L,0x73f25c62c0c5deffL } },
  56161. /* 21 << 224 */
  56162. { { 0x117bb83d3ff7d803L,0xe91098c539c56c0aL,0x7bf72fe91e347fa0L,
  56163. 0xa66201a31e174941L,0x1d069d4d6846a06bL,0x721cdbbdcda59bcfL },
  56164. { 0x17d6683a17652893L,0xee1b28f505be2530L,0x2e70558697a69062L,
  56165. 0xd4b5798682b56c36L,0x1ccc5be09082e781L,0x42e0e429d6b05e30L } },
  56166. /* 22 << 224 */
  56167. { { 0x697dc47d44b4aae8L,0xb3525cc0782c331cL,0xff71cca40bd7c78cL,
  56168. 0x5f3d776610c0ab69L,0xbdc10267e2ba07e3L,0xc656f75ce6373f6eL },
  56169. { 0x9e2938b4b5607b62L,0xa65017d410b0a0f7L,0x8dad31195cc6ac25L,
  56170. 0x00f8f2d18ba5d1e6L,0x608137bc43305aefL,0xddad34bbdcb81cb1L } },
  56171. /* 23 << 224 */
  56172. { { 0x9e46b17c20c78a64L,0x28db365d5c48e678L,0xbe4c3b8eac6ba470L,
  56173. 0xee737236b6617b28L,0x81c5b94a4f3422bcL,0x4d44c33076faa922L },
  56174. { 0xd7a09a719be38835L,0x99d024e1410b382dL,0x103b67c36b15012eL,
  56175. 0x02b6e094d9808da4L,0x4f5d938a0a7f2fcdL,0xa43058b7e4c5073bL } },
  56176. /* 24 << 224 */
  56177. { { 0xe133d941b1f82ca5L,0x2af8b98bfdf115bfL,0xdc6179c857aaa6f3L,
  56178. 0xabaa83e9130ade06L,0x7836b6fb0e8bffd1L,0xc479751ffa103703L },
  56179. { 0x0ff3c1299c89963bL,0xe64072560b84c24fL,0xa92a4ea2f34f6bc9L,
  56180. 0xba45b3053197989bL,0xd12b5a0199243aabL,0x3015772c442af625L } },
  56181. /* 25 << 224 */
  56182. { { 0x5362ac737e0a5c36L,0xc731132a8c4fbc07L,0x0ef7468d7ca0d4d0L,
  56183. 0xc43afef835d25de0L,0x096bde6a3fa1209bL,0x21f57eb566846236L },
  56184. { 0x878b585cf04d23d7L,0x737f7e527315ed56L,0xb716462c811afdd1L,
  56185. 0x4d223734a571a3cbL,0x56460e2fa7db2c60L,0x0684d72c61f97485L } },
  56186. /* 26 << 224 */
  56187. { { 0xd95fca81e6f065c5L,0x45e886d5fc8655deL,0x3580957727cff79eL,
  56188. 0x92a39a34625877d9L,0xdda02684dfee17eeL,0x6354f871986f635bL },
  56189. { 0xb3a6e9edd409c182L,0xf0b1c8d9c4fbbb3aL,0x28721c019b77adedL,
  56190. 0x3c356df1bf94f028L,0xff221bd229a81f1aL,0x20edf2e856b20b0dL } },
  56191. /* 27 << 224 */
  56192. { { 0xb8c636db31ac60c2L,0xf3830e72bd987402L,0xfe63957c30e6b969L,
  56193. 0x3508e67989eb2bc4L,0xc0837f8c9a987e3bL,0xd1d0ce7b3f9b2ef4L },
  56194. { 0x08d8f99441fe62baL,0xe73f79d7e17669d4L,0x8801fabaee6d68feL,
  56195. 0x4ef814891a508a88L,0xcc851bb71fbc4512L,0x69f728704680b88aL } },
  56196. /* 28 << 224 */
  56197. { { 0x97fff124835fda9eL,0xa79ceb2f0bc68512L,0x70ba93d1a2fc3995L,
  56198. 0x62bd28ab9e51c5eeL,0xb95fa624d5bbbaa9L,0x0654dc458c1f571eL },
  56199. { 0xb9a4edc665a45ed6L,0xbf5ed1bc21ad0612L,0x74adc1a1b1a3551bL,
  56200. 0x3dfa3dc8dbbd6cefL,0xce5dd40b2fa3afd2L,0x14894e0f30a746caL } },
  56201. /* 29 << 224 */
  56202. { { 0xe4544006ada9bf7dL,0x9e123b709b75770dL,0x903628d557cea95aL,
  56203. 0x6429e00c9e8cef6bL,0xafa2cce77b1adaa2L,0xf2f5771e15e488daL },
  56204. { 0xda44962269820874L,0x5b20ef1b6e0fef81L,0x3150a8699507b4faL,
  56205. 0x901897add191de20L,0xf459da31c41dbb2dL,0xc2516dd077146754L } },
  56206. /* 30 << 224 */
  56207. { { 0x7e729c58b8ca2a2cL,0x0f32ea1ecaac04afL,0x47267f13bdd549e3L,
  56208. 0x35b9440690be3b50L,0xad0f2bb14b27f670L,0xd7e5874e92341803L },
  56209. { 0x7dc841cf1f9ec462L,0xebeff994512b2a42L,0x22998a7f320dc858L,
  56210. 0xf08eb5c719946f59L,0x228c8dcda68ea75eL,0x40dc6dc37b20dee5L } },
  56211. /* 31 << 224 */
  56212. { { 0x23f40e331dd722adL,0x0a441bf4c54fc48fL,0xed6c026548b75f84L,
  56213. 0xc2d3972f3e0fff2bL,0x889b44c4db09b7d9L,0xeb6ccc6541a6a562L },
  56214. { 0x5ef1162e8f04e03aL,0x25e2ea895d8102c5L,0x37b71631154644d5L,
  56215. 0xa9a1a8320446b1bbL,0xe3f58daefb342b20L,0xc6d19decb6d292c3L } },
  56216. /* 32 << 224 */
  56217. { { 0x929454f6b3952db4L,0x412142ec4d3f69f5L,0xf5b0a7c5ee25c0b0L,
  56218. 0x7d3372ff2e752295L,0xd6dadc7d6eacac68L,0x5f0076cca96a8e3cL },
  56219. { 0xea831db671725b3aL,0x4a286c89c29ab454L,0x5ff817e572e3c00cL,
  56220. 0xb022e25d2a5fb6baL,0xb611c5bcbb392476L,0x062c14dc190485a0L } },
  56221. /* 33 << 224 */
  56222. { { 0x44730047ffdc9a7eL,0x44949bdcf078d5bbL,0x8c1a3e4bc486e2b1L,
  56223. 0x53088ba20801402cL,0x6e20a7cfeac83daeL,0x4407ea8436ec5443L },
  56224. { 0x564fb733853f79d8L,0x59ea819afe809670L,0x1ac62174f1ec7e91L,
  56225. 0x0d7e065566a0b8c9L,0x0c4d072482958221L,0x80db0297a60f984eL } },
  56226. /* 34 << 224 */
  56227. { { 0x380823e7f3359d47L,0x8a60fb05f5efd39cL,0x78a940669425487dL,
  56228. 0x1da6abc3f199c67cL,0x7df00b2165f0a6b1L,0xdc0dea58017b1231L },
  56229. { 0x9c529db079f4f22fL,0xc7043be3e5dd92b5L,0x10153ffb43661331L,
  56230. 0x51c459bf6ff02e8fL,0x451483bfa43aa005L,0x3313f903199cd1baL } },
  56231. /* 35 << 224 */
  56232. { { 0x2f66587e62e1ef1bL,0x942d4c739e3ae33fL,0x4a27ead5c0ab9c1eL,
  56233. 0x368d8dd89ca91b06L,0xb3f0cf92c4b6ed34L,0x28cc332673e62557L },
  56234. { 0x2649e5527910986bL,0x635dcf9cdda049abL,0xbbde12f625d3f201L,
  56235. 0x5200c3d0a9384443L,0xd996573d51eb3c10L,0xb093c1792b8cd7e5L } },
  56236. /* 36 << 224 */
  56237. { { 0x15cd1d1cc3fe6fa4L,0xf260a739e2c3c686L,0xf7c2270eb08c65dbL,
  56238. 0x9ada2cb6ff69d971L,0x65fbbcac212bff0cL,0x40157d075646a735L },
  56239. { 0x101d2b7d55de9e45L,0x0db580e83118b763L,0x3203baca8322a9cdL,
  56240. 0x2a3137ef22cac14dL,0xcc9092e291a14128L,0xbb269f6d98cc368fL } },
  56241. /* 37 << 224 */
  56242. { { 0x7c8946002ad7f66fL,0x6a8328bb99b438a7L,0x86d06fbbdb440d86L,
  56243. 0xb74ffe2d20ac5a42L,0xc3a6f01d91b1c82bL,0x606f8ce71d5efbddL },
  56244. { 0x8c49c43a6338c99fL,0x50657f7216da7cb7L,0x7f204c8b84f22d9bL,
  56245. 0xa2612d80ca76978dL,0x80080d868a3e8e96L,0xd8841a1ac0bff9afL } },
  56246. /* 38 << 224 */
  56247. { { 0xc2a734cb962fa060L,0x2baa26c580a17874L,0xe27b21110b44efe6L,
  56248. 0xdc1244e531d2154cL,0xfcd86d4116c7742bL,0xf45230df32503138L },
  56249. { 0x94a790f4812cf0afL,0x0ab2df23da3f24d7L,0x0c764df181571d54L,
  56250. 0x989ff71c68d68f74L,0x9896fe62cda535b3L,0xfe0502e05f4fa41bL } },
  56251. /* 39 << 224 */
  56252. { { 0xf1ffe852c2f58cf6L,0x2ec46d2546d64576L,0x95bfec93d602c51aL,
  56253. 0x349c58bf3907b766L,0x59cb12bb9b94bdfbL,0xfa95da9515dfcd87L },
  56254. { 0x731a8535e1543bfbL,0x14844aeeca14187cL,0x0d73e58aba1f4928L,
  56255. 0xbb71009fc6bb67f2L,0x5e7c0e988b4142b9L,0x4866b5095f08f58bL } },
  56256. /* 40 << 224 */
  56257. { { 0xc8295c2fa234de87L,0x1cd7f3fd878e77dbL,0x309c1fefa2155b6cL,
  56258. 0x2a9bcfd9484afddeL,0x87ef7a56cc999775L,0x34336cb1970aa188L },
  56259. { 0xd45eb83cc3e16ba1L,0xf9d72c72b9c1695bL,0xff117458cb980742L,
  56260. 0x438a7fcb67af836aL,0x5ffad086eb9a6c40L,0xdbd3e518513922a3L } },
  56261. /* 41 << 224 */
  56262. { { 0xde241983e42021b7L,0xaa70e834542873c1L,0x99c9d35f9daf2b99L,
  56263. 0x0bf712d549b40780L,0x202d9969d9ab6e97L,0x7f3382dac4932106L },
  56264. { 0x1eb5f5d40849e319L,0xc1bdd1179f659546L,0x628ddd3d2329f977L,
  56265. 0x5944611d363ee601L,0x7b7a631463d5bd4dL,0xaf6c51a5631d21ecL } },
  56266. /* 42 << 224 */
  56267. { { 0x2d8f9e1db4100182L,0xa08ae2fe4f3d2c03L,0x7548c430589e99f8L,
  56268. 0x0f5ccee2aede8af9L,0xa21ace3343b34b25L,0xb120c569dee102e6L },
  56269. { 0x1cb103ed36f13699L,0xf71ff0dfc91e8cb4L,0x88f141079b22460dL,
  56270. 0x050af75af509366aL,0xeec8a310fb179bc6L,0x069e7331c26efef6L } },
  56271. /* 43 << 224 */
  56272. { { 0x3e2a9c713be9cdabL,0x8f235d6f73ac08e6L,0x3de28a6b28832dabL,
  56273. 0x7d08b9f31ee82d6dL,0x67c3b88f915ddda9L,0xba8f18cc0f7c81a3L },
  56274. { 0x38cebc31ca3c0936L,0x745f71aa7816a6e3L,0x00cb85a91a95fcd3L,
  56275. 0xb92742c6577dc22cL,0x1afdaab592029cbeL,0x0bb43c91278d3f7cL } },
  56276. /* 44 << 224 */
  56277. { { 0x3d77059d3ba02d27L,0x58e28671440b2d3dL,0xe2d4235726636fbcL,
  56278. 0xcc448a52c54605d5L,0x73c2902efc0269a6L,0x28a15ed57ea8c26bL },
  56279. { 0xf666587a0cfc1a34L,0x8374f2cc1ae0377cL,0x5dca6ae828417437L,
  56280. 0x15a6d54c94bc87ffL,0x5bf187bbb344796cL,0xc629c14889574b2dL } },
  56281. /* 45 << 224 */
  56282. { { 0x06d43c6d87748b63L,0x2489a957a7f232edL,0x7aa9174afa407c3fL,
  56283. 0x8c8b8fd933a762e0L,0xe2e8f1e7adbe94a3L,0xd1e0c8c2bb723045L },
  56284. { 0xcafd8f483df092d8L,0xbc89caebb174025cL,0x97595c5649f20c98L,
  56285. 0x6e520a968a77acefL,0xc3dbd3107a52a4e6L,0xf51db5a91284ff27L } },
  56286. /* 46 << 224 */
  56287. { { 0x406465742c74cb2cL,0x44eeb9e546c33df0L,0xd2a9f16ecb4c50b2L,
  56288. 0x68f912a01906a6ccL,0x2b81296d95211e94L,0xddb2988ec8575839L },
  56289. { 0xb74d990d33b180c0L,0x290185567d319c48L,0xd3d2e40dac8de56fL,
  56290. 0x9ad42a60461f30e6L,0x265e4715292a0faaL,0x56c2626c8ac3b2a5L } },
  56291. /* 47 << 224 */
  56292. { { 0xb7580f2fd468adb8L,0x8e1fbf0388a6a587L,0x1b8c40ed8f4f6cddL,
  56293. 0x337414f56817b2b1L,0xd877ebafb744d563L,0x59eed3c6df5e18b2L },
  56294. { 0x365e148dd33afa01L,0x82e70adc665702cdL,0xccd77955a5e390ebL,
  56295. 0xd86c343accc90cb2L,0x23bd948d6cd8a33bL,0xb1fc140cdc43a8cbL } },
  56296. /* 48 << 224 */
  56297. { { 0xefda99d9ce11b02eL,0x9017bd4a3f820083L,0x8b9e6cd1ad14ac6fL,
  56298. 0x1239ee331f413880L,0xd98e93d993dd7fb9L,0xc280d252894fcb12L },
  56299. { 0x33a9201a5230b5eeL,0xc6aeee256e41de26L,0x845051280d0a320aL,
  56300. 0xc20551db4b607b53L,0x6e63c766ea228c2eL,0x883321aeac48f25cL } },
  56301. /* 49 << 224 */
  56302. { { 0xa5173910e15a530aL,0xaa2c88b83ac38ab2L,0xcbfbd31ec6a6ba9eL,
  56303. 0x0fa126cb49ed182dL,0xd6b38897cfc53c85L,0x98d5f6bacb9c2f41L },
  56304. { 0x6694e8e5cbd150e9L,0xd470ef226a1fc551L,0x57a63765d5ea1c0aL,
  56305. 0x95f5eb4318078139L,0xbeaba00585d3e0dbL,0x6bbf010fd314dec7L } },
  56306. /* 50 << 224 */
  56307. { { 0x5941229729ee46d3L,0x39e5aaa0e66bdfabL,0x9ff1575001c815e1L,
  56308. 0x709706211f2de195L,0xaac904a968aa571aL,0x9cbefacd8f7625f9L },
  56309. { 0xadfd215dfce3a501L,0xc04d09ddf20651b4L,0x688c1421d17b25f2L,
  56310. 0x3efde5d40073247cL,0x999b7f3a7432c699L,0x33c76487703fea50L } },
  56311. /* 51 << 224 */
  56312. { { 0xc720aeb10af6e1faL,0x1564b8d8e8771dc6L,0x5983eb44673d8ef2L,
  56313. 0x5dabb2070679ac65L,0x51a854cdbcdb681eL,0xe2b186a9364a3cb1L },
  56314. { 0xfa189eff7222208bL,0xf7161d86477666f9L,0x0ffcc3e6192d1df5L,
  56315. 0x1523508e39cf5a4cL,0xf5e98687c43ecce8L,0xbf17b63261450309L } },
  56316. /* 52 << 224 */
  56317. { { 0x63293cb8adfbde28L,0x5df78fb3c6b18ec4L,0xad10da4ffd27e50dL,
  56318. 0x60202b357ade5c9aL,0x67b9d253c6c8c8b5L,0xdbacffefbc2b30bdL },
  56319. { 0x508ff8a67494b1edL,0x87ef48be3769728fL,0x74d4f180ef98d036L,
  56320. 0xc5d9ef531799e8a9L,0x726d22206e850162L,0xd86d3414239f6b38L } },
  56321. /* 53 << 224 */
  56322. { { 0xfdde327b3e1f1b96L,0xb6272e94bb58615dL,0x2881350cfc2d8a47L,
  56323. 0xfcbe87031142ab9bL,0xaa5fccd0f48c7f97L,0x606be6ed29a74ba0L },
  56324. { 0x545409ba3afc598bL,0x4779f54aa7d23f5dL,0x2811c0829d68e38eL,
  56325. 0x5b4646bd3f9c5842L,0xbcd3aa492586219aL,0x7345799313642e3fL } },
  56326. /* 54 << 224 */
  56327. { { 0x9a61f240ab638788L,0x519742162b0a8449L,0x9a5ec31d43b2abfbL,
  56328. 0x6f3075740563c9c9L,0xe465f7793ffa198fL,0x8876c5772957418eL },
  56329. { 0x10e3d09c976e5875L,0xd66d334e592c2409L,0x3f0d5727b39b7897L,
  56330. 0x17ca7ad1e37fd300L,0x221d8436da530871L,0x4df38e4179d6b350L } },
  56331. /* 55 << 224 */
  56332. { { 0xe805096338b7a2cdL,0x9874cc734b8f05cdL,0xfc0821791b74a790L,
  56333. 0xe18a92f3293049a6L,0xabd525694dfdc13aL,0xb928cc300d843466L },
  56334. { 0x12750aec348dc7c0L,0x3c8e205d87f12dbcL,0xa2c71091e0bdbd81L,
  56335. 0x895b56a0c1c1871cL,0x68dd7414b4c850f9L,0x45a948ecbe806596L } },
  56336. /* 56 << 224 */
  56337. { { 0xa88dbfe0f4fe35f4L,0x32de3a1c84283011L,0x8a3777bc39caea33L,
  56338. 0x673630dee4d49959L,0xf3ef842c59070317L,0x33e4bb031fab88a9L },
  56339. { 0x88e4538e98ce8bc2L,0x870c2eb81a235c6bL,0x71f62c5640df0e92L,
  56340. 0xdb43b853f9627486L,0xfde9fcaa95cc473bL,0xe4c5b4bb4b677b11L } },
  56341. /* 57 << 224 */
  56342. { { 0xa6ebd946dd4091f8L,0xf0e11886dcf0741bL,0xd6267674d9533601L,
  56343. 0x571926506f74e49cL,0x18269c2f891d6717L,0x350a7869b45ddb53L },
  56344. { 0x79ea6a4ac8f62777L,0xbad33c4cae7edec9L,0x14bed149ad7e5578L,
  56345. 0xb2f4190ba91af4fcL,0xbbd6f68be71dfd3bL,0x23fd3dc8f2fb7a21L } },
  56346. /* 58 << 224 */
  56347. { { 0x5e0f89e598fd044dL,0xb77180d97cc30e97L,0x64fbfb747f82a12dL,
  56348. 0xbeebb9ca77629636L,0xe164549feba83845L,0xe65a964a7079519dL },
  56349. { 0x8b1bcc08ca88157cL,0x466399c3f7483338L,0x6e2726414b9efdc6L,
  56350. 0xff8c7027be922e96L,0x9baebf7d48374f59L,0x2a84a23ac18ee18bL } },
  56351. /* 59 << 224 */
  56352. { { 0x337484e0dca4b3b3L,0x82137cb9f5b27d3fL,0x12ae1d11bbf4c806L,
  56353. 0xa1e2873f2880c078L,0x9e6bd909058b9a0fL,0xacc5656d2dba5fb9L },
  56354. { 0x7fe5467853fd2ce3L,0x2aa4af35452439efL,0x329989a5904ffc67L,
  56355. 0x007ea4c8520fd31bL,0x58988e2551816b44L,0x644f2469d8f186eaL } },
  56356. /* 60 << 224 */
  56357. { { 0xcd4d1a9e8890722fL,0xfa0b826b74142916L,0xa494dfa817ba8041L,
  56358. 0x3fb73e736de2b6c2L,0x156a6cf4344b57a7L,0xb197c8621e205448L },
  56359. { 0xf453e348c214acf7L,0x665d7083e9061a73L,0x5ed59ec5ce9868a3L,
  56360. 0x9bab305f6ad777faL,0x752c490b35315de8L,0xabcfa35b5d5aaf26L } },
  56361. /* 61 << 224 */
  56362. { { 0x4059fc2f914d618dL,0x88e55ce6108380fdL,0x0c22b21bee61a4c1L,
  56363. 0x435ecbdb04788627L,0x3f8a5ec7a9f72788L,0xa31eff8a732d5d97L },
  56364. { 0x119b6bf9d48d0af9L,0xde6d1de5af70a043L,0xac075ffd3368db4aL,
  56365. 0x23a33ec94a58603dL,0xd43ad120fe181a89L,0x386b90ed42f0b006L } },
  56366. /* 62 << 224 */
  56367. { { 0x8096824bf9bf1a24L,0xcdf69abc8260ebd7L,0xaf93b34de9ab190bL,
  56368. 0x676351ff841cbba0L,0x3db704d3eb6d6c60L,0x3b1b893fc09aebfdL },
  56369. { 0xc06b9bfdbfc69f15L,0x28b1ffb8e9c688c6L,0x1607bc68d3c16455L,
  56370. 0x07d56bcc6d16d937L,0xac28e69f318afd9aL,0x7f4afeb7e77263b6L } },
  56371. /* 63 << 224 */
  56372. { { 0x796a530ab935875aL,0xd6700ec89dd1e51cL,0xc30301df4d9320e4L,
  56373. 0xe23090f357157f87L,0xdd3f68a74029113eL,0x566afc6de2709936L },
  56374. { 0x830f952edbff8926L,0xe207eae5c7a39d27L,0x9210b3dfd9494592L,
  56375. 0x3be25582d8460831L,0xec2496575d58edd9L,0xebe8426fefd24738L } },
  56376. /* 64 << 224 */
  56377. { { 0x0372678dc419b0aaL,0xf95031d8c13fdf17L,0xebaebca4b79594c3L,
  56378. 0xe587850baf3b75cfL,0x534183ac2c1e09c6L,0x3f5b0bfdc08204cdL },
  56379. { 0xdac2cf06e297cc77L,0x5e47d9c6d0487084L,0xf6f509f490b0f6c2L,
  56380. 0x3ffc3cd6c2c62207L,0xbb21eb1132ff1887L,0x2116a023e62ccc6fL } },
  56381. /* 0 << 231 */
  56382. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  56383. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  56384. /* 1 << 231 */
  56385. { { 0x406a7e2116960728L,0xd03923f85597d8c4L,0xd4402eff020748eeL,
  56386. 0x7827442af39b58dbL,0x77e3f2768d8cfb04L,0xf6eb49c8e45a978fL },
  56387. { 0x9db0829949247f6aL,0xce71a74706669fe5L,0xe434ce47b82775f5L,
  56388. 0xe84995ef63910016L,0xa35e8b971e47792fL,0xc779cb3d7c6aaeb9L } },
  56389. /* 2 << 231 */
  56390. { { 0x1fa064cfaf31ea1dL,0x2a9547a848e8d974L,0xda8102a1fa9d9453L,
  56391. 0x786aecabdc6bd7eaL,0xcaf91e3bca2f6044L,0x67d86ea78573f208L },
  56392. { 0xd309fce9c505ae24L,0x67ddc5b17f86eb8eL,0x57791ae0f3d53056L,
  56393. 0x26b053f00d1fd61eL,0x91c962c0045ebfa6L,0xe95246de076ed979L } },
  56394. /* 3 << 231 */
  56395. { { 0x156eaf570746d174L,0xa2d4a83dcda35250L,0x60a9f48c0290fa02L,
  56396. 0x9855d26d5c33b4acL,0x06e379c697eb1c30L,0x4f2e2dbe6e219664L },
  56397. { 0x6b7448f829006065L,0x237a1f31115062a9L,0x5c635a90ad92cb24L,
  56398. 0x2e857f8c2eed977eL,0x3d512df7856dc88aL,0xbde85263e597a27bL } },
  56399. /* 4 << 231 */
  56400. { { 0x49f24994e7c03ce4L,0x274a8c132aed9ba3L,0x897b9103d5e91bc0L,
  56401. 0x63db1efbcb404f68L,0x70efd9d842f7fc02L,0xd6e02921c6a230afL },
  56402. { 0x8d5b199f11ae0a56L,0xc98287dece33da6aL,0xde583d34504dd889L,
  56403. 0x03756001f823686fL,0xf19ab86f95fc73dcL,0x300406c693f12f42L } },
  56404. /* 5 << 231 */
  56405. { { 0x2f73595f7759701cL,0x8dc2069a6fe0e0d9L,0xb7de7114c286a65dL,
  56406. 0xfecc429e84c0e487L,0x51061a2c14344c07L,0x4d70972596869e37L },
  56407. { 0x8b02781f2be9403bL,0x6cb6aa02de3ab5d9L,0xb013508eff6bdc9aL,
  56408. 0x568d2e84e5438c58L,0x7b35a979e4206c3bL,0x0bb793c0b17a8bc7L } },
  56409. /* 6 << 231 */
  56410. { { 0x3f896ca9fa4dd561L,0x4b9a98abd2de2ecbL,0xd0741632600e4e2aL,
  56411. 0x87c7db5f69e702d5L,0x1f5a3b8053e0df2bL,0xe1e24b49f443dfbaL },
  56412. { 0xeb90e2305eef3a1dL,0x8f3fc8a6d38f73fcL,0xfb1e8299a5aa335aL,
  56413. 0xd78504cd4197b32aL,0x0e7a79cc6755918eL,0xc7c98ae2883b1c72L } },
  56414. /* 7 << 231 */
  56415. { { 0x1a12727c03d2beccL,0x810a37dfc6741372L,0x44ac483fb7049f39L,
  56416. 0xab73e5e7a36fc614L,0x298d453feeff8aebL,0x2127dd167e1b586bL },
  56417. { 0xeadc5c54e07bd60cL,0x67cdae00f5e2d2e2L,0x03fe0446c9d2f10aL,
  56418. 0x0784098795e38ed2L,0x5d348a7ce1a6306eL,0x4903f1b6562f5463L } },
  56419. /* 8 << 231 */
  56420. { { 0xbf66baa5b44b1d0cL,0xbbed18eda44f8edaL,0x80bc32abeaaa466cL,
  56421. 0x605b7897e5f2733bL,0xe9e7e3a1a2531afaL,0x25d66db33deb8369L },
  56422. { 0x36212ea3b2f25d10L,0x52d6b3f4a08d303eL,0xefa54b31444e9e9fL,
  56423. 0x9c2229a169530c1bL,0x68feb9854b79bdd1L,0xd570e84f8b984cc3L } },
  56424. /* 9 << 231 */
  56425. { { 0xe141b86bde0560a3L,0x858bf4cdb2264bd1L,0x526fb104fabe5359L,
  56426. 0x95f9c43f185b8a70L,0xf8e3a3eb2d1f75e9L,0x71826067d93bc6b9L },
  56427. { 0xf360e01799692f49L,0x00f4fd16c2dc3dd5L,0xeb7f40498b9454d3L,
  56428. 0x5cb0f3c426c3b393L,0xe8ab4e4357bdc4d7L,0x9abe36b00c123d67L } },
  56429. /* 10 << 231 */
  56430. { { 0x1df8d98c57b168fdL,0x042fd731b45da94eL,0xa54d64f91703e143L,
  56431. 0xa12198be9de0ab4cL,0x160e06241ddc4e0fL,0x15cae64a6695891fL },
  56432. { 0x808565e70c2b2081L,0x6de4a393cc65040cL,0x6682cd934bac1768L,
  56433. 0x62e7ac2ca5be965fL,0xd33f6f8ad7a38e90L,0x9cafc4635b8b516eL } },
  56434. /* 11 << 231 */
  56435. { { 0x0541a391b685c547L,0xe86d35e091765999L,0x65aa03c51db4a2ecL,
  56436. 0xba53470e6b1c4784L,0x4f848cc8cceca1faL,0x89d0db0b8b18e350L },
  56437. { 0xd03e452a7840d734L,0x6cebfa790ca24215L,0x288b4569e8f1d9e8L,
  56438. 0x18e405af8927ce0cL,0x5aad57e51abfb4c8L,0xbbd99091a197ed1eL } },
  56439. /* 12 << 231 */
  56440. { { 0xf041e421aa44f3e2L,0x47ed9e8eae6fd2b7L,0x4fea93751128ed62L,
  56441. 0x041a1c1acec6eae6L,0x1f32359415a65daeL,0x741fea0a0154e8e8L },
  56442. { 0x309e9f289c32e224L,0x457d4ffa902ce57bL,0x7bb54dd5692420c2L,
  56443. 0x193a41aec4fa1a6aL,0x35f5f3b43d779e77L,0x31e84371046ebb8cL } },
  56444. /* 13 << 231 */
  56445. { { 0xe75a7c1d9d7e5551L,0xb73c987611635e3bL,0x3b07a071e09d29b3L,
  56446. 0x0a3cc0acc623023cL,0x15ec4a7a1e2ceb33L,0x09a01968c70eb27fL },
  56447. { 0x2e5bb53c369d145aL,0x4c93330d9b7fb506L,0xbb10a2f358013308L,
  56448. 0x3d9da0c4e0b85fd4L,0x8b39c992ce0dc79bL,0x7e6d18b0bec905faL } },
  56449. /* 14 << 231 */
  56450. { { 0x3a5a366ea1554376L,0x0e1687c052a6ed9dL,0x3e16e4aafe5355beL,
  56451. 0x6d8bac03ced67666L,0x403eb33ed9344003L,0xd7b9ec0d333ab20cL },
  56452. { 0x9fce1986d64c272cL,0x9d52d64bb1e23843L,0x8e689611921a58e5L,
  56453. 0x8f5f115620d5c61aL,0xb17f612fadc81b4eL,0x36e2db30e562f779L } },
  56454. /* 15 << 231 */
  56455. { { 0x98d0bcead01f8634L,0x6e9ba675bc5f825eL,0xfac2d3aa05e938c1L,
  56456. 0x434b712fb9c66adfL,0x81c29163a9a61d36L,0x80eade933be8eea9L },
  56457. { 0x10fc6d75c04c45a8L,0xa2c9aa58fb9e8702L,0x9142afaeb200428bL,
  56458. 0x4fa28c8520eccf38L,0x3b5f63308209b3e7L,0xf74206ca8cd74accL } },
  56459. /* 16 << 231 */
  56460. { { 0xd6a4d25c845f26e4L,0x71e554ce1b039dffL,0x942059731cdedfc0L,
  56461. 0x0c4e385603d6502fL,0x981a4fc5e15ce8c8L,0x85d1b0f17aca30b7L },
  56462. { 0xf2037ef777bb9e43L,0xc52804f4e87ae187L,0x9c98a23c71f3e4e3L,
  56463. 0xa73c8b89f47b504bL,0xb9e33f54023233aaL,0xf2bcfc17f92c9f68L } },
  56464. /* 17 << 231 */
  56465. { { 0xb3c1bc26707fc6ebL,0x0bb585b75ef6dac6L,0x70af297f5f707063L,
  56466. 0x3d86a8fa967a0ad8L,0x510dae4d4f956cc6L,0x1dbcb2e883c01ad0L },
  56467. { 0x0e480cd28bfbb5edL,0x76498f813025fca2L,0xc015064ec5446cadL,
  56468. 0x4ddfe2af3616f51aL,0x76b0d690e6750b31L,0xc4502c050073f263L } },
  56469. /* 18 << 231 */
  56470. { { 0x9120912bb3081e59L,0x6c73c4a2f908b364L,0x408af8c94de763d6L,
  56471. 0x3d9e83084000add2L,0x65d197fddcb5a5a2L,0xbfd29f0b2bd82bb0L },
  56472. { 0xa1243e63bdfe09e7L,0x91d90b54d556188cL,0x977dd4a18bc872fcL,
  56473. 0xa8e6e7bef4ea7805L,0x12c53bd80a467365L,0x9d7abca493b7f0a4L } },
  56474. /* 19 << 231 */
  56475. { { 0x5faf453a40eeb93eL,0x6801e0d1f1fe9307L,0xe92505d39ea9b800L,
  56476. 0x7e911f8108eb58c8L,0x5da7ffcc098143eeL,0xe023262056876057L },
  56477. { 0x5354045bbfa99a91L,0xee660bbebb346841L,0x1dbf5c7cecb3099fL,
  56478. 0xe79c78d6a125d753L,0x2a356f10706fc013L,0xe50c50b725f88ebdL } },
  56479. /* 20 << 231 */
  56480. { { 0x663ca92723ca903aL,0x8a64a4dec7681937L,0xe3ec0966a2baa42fL,
  56481. 0x688328d7a2906226L,0xc2821e9c94790fd8L,0x7a295b62157501cdL },
  56482. { 0x032cd57d3675c2f3L,0x91d66a57f42e6f95L,0xd75056961e97dcd0L,
  56483. 0x7e8ba3ed7d8b6f52L,0x8ddb72c420b0dccaL,0xe09e53bb6aea2d55L } },
  56484. /* 21 << 231 */
  56485. { { 0x3815b1028a009f19L,0x4f76d609f5418c34L,0x7a35cb332a9eabd9L,
  56486. 0x018d6c54ce89e886L,0xe00b99e859c9fab6L,0x4f10a0d9aaf6e7b8L },
  56487. { 0xee51f8f0e722fce1L,0x03e8b63179bccac0L,0x66e540c26f327d2fL,
  56488. 0x31df4a35d22377e4L,0xba5b0029d5c71cedL,0x6a3e20553ed6aeeaL } },
  56489. /* 22 << 231 */
  56490. { { 0xe932d1aaaffc47ebL,0x75c9d4d8513f85a3L,0x50886fcdf9419cb0L,
  56491. 0x756a7d7d49081e9eL,0xe45fff1fe14aff77L,0x022b4ac339846230L },
  56492. { 0xefc3e8dbe89adc78L,0x921bb1538c09ccecL,0xe4dc6aa17826d461L,
  56493. 0xa53aa6cefac8f0f4L,0x5d4e4d53954192c5L,0xda721828c722780fL } },
  56494. /* 23 << 231 */
  56495. { { 0x978609c67e4933daL,0x49fd5c5d2539c807L,0x072a911c6330373fL,
  56496. 0x40cfa61838177579L,0xf9a7aa4c81c51596L,0x7ba8e7a5b346724dL },
  56497. { 0x79298c06d26ee66dL,0x243323702a9c2792L,0x585e8b9eb6aab53eL,
  56498. 0xa39596c6e14bee4eL,0x89b2758828a76dbfL,0x889fba0aa00dc1adL } },
  56499. /* 24 << 231 */
  56500. { { 0xd55a3eaf0a9a8ba4L,0x13b1406b2a8cd215L,0xcb44589a93943e1aL,
  56501. 0x91b5e3493a671a47L,0x488654f8efbe0256L,0x448bee4b392ba5e8L },
  56502. { 0x228f478137e762caL,0xe21a2ca7e71b6c47L,0x0e809fe94900fcefL,
  56503. 0xb05e1db2815f6c76L,0x8cdf28815fa6fa0cL,0x2ed55c1c586fec8fL } },
  56504. /* 25 << 231 */
  56505. { { 0x7c3842eba210d4d9L,0xd656154e5f69a69bL,0x9e11c6db1f3a0483L,
  56506. 0xb0314a5e5a217444L,0xe17a274e34f4e54fL,0x6e41c20a9f79d6abL },
  56507. { 0xd010d789dffef6dfL,0x704937f17e8915f0L,0x5072bf063d3460fbL,
  56508. 0xa30814ed5f08429dL,0xe5faf476207d2708L,0x46e56e14af448339L } },
  56509. /* 26 << 231 */
  56510. { { 0x5a049c8f94af3a35L,0x9ae89160d8b75bbcL,0x8b026d867ff40c5eL,
  56511. 0x90e54aa4fbddfd06L,0xc85349e7ee418640L,0xbf71e454beb7801bL },
  56512. { 0x63f5e068ad912e83L,0x6252a4a4ada5341bL,0x25114b87b44529abL,
  56513. 0x9b80bea9eadb4f13L,0x7f071c0cfe050052L,0x4c9cd33418612061L } },
  56514. /* 27 << 231 */
  56515. { { 0xc6f50ed03c768ff6L,0x5b994b58b6de126aL,0x807ad19e2a1ac05aL,
  56516. 0x012fcb9ddfc66ad7L,0xf8706d5fefeb7d07L,0x132aa6697bfc5337L },
  56517. { 0x56bd874310e28d18L,0x33bc53d96e9f8e26L,0x5885b63b152758edL,
  56518. 0xb8b1bd5e757e1471L,0xdbc689458c0d406cL,0xa664de3bfc605a11L } },
  56519. /* 28 << 231 */
  56520. { { 0x04df415ea6d4b6c2L,0xb8e33e71d254d2d4L,0x179df4f48b84c588L,
  56521. 0x8a2a0683d435793aL,0x6147a5a911eecec0L,0x0b8389793a0196ccL },
  56522. { 0x855059ce81805693L,0x37babf9f3b27872fL,0xa2ac78b1769be5c3L,
  56523. 0x16260f0c0a8d267bL,0x31f48c42388266c1L,0x58fee495ead1f238L } },
  56524. /* 29 << 231 */
  56525. { { 0x5753ee0fc048300dL,0x307dfd57e048abc4L,0xc18bdfeca3ba6c56L,
  56526. 0xfb2d8daf10495489L,0xd93aebd4e0fd2d13L,0x4736efaf0518a5faL },
  56527. { 0xa8ee4995eaa9fc77L,0x2620f08e008adc03L,0xf03981839f06991aL,
  56528. 0xd47b1eabe25a4f4cL,0x669cf09c79f95484L,0xf30191584a0f8b96L } },
  56529. /* 30 << 231 */
  56530. { { 0x047b0f0124b240a1L,0x959915dd46cecf58L,0xedf2e74b72980ca1L,
  56531. 0x6b7b7b4ef2cad32aL,0xf9f01c9d0b9ded1cL,0x009d3a5825e77e0aL },
  56532. { 0x62314ab411a39c1cL,0xb3b0c5b2ad557b74L,0x6dbb75dd961619fcL,
  56533. 0xb8f2d198c934e1e0L,0x4401507542eb7fd5L,0x3a8552efea1be435L } },
  56534. /* 31 << 231 */
  56535. { { 0x08e3f0e2217de9abL,0x6bdec27bb6b4f789L,0x5b160334685af8e0L,
  56536. 0x31e651cc61738f6fL,0x37224bc4631989c0L,0x2dc8006ad39f9c4dL },
  56537. { 0x2a5d585056c3d84eL,0xb2ef06cc5cc79193L,0x246d92869eaa50e7L,
  56538. 0x8cacbf7cea6a7cadL,0x109bddc629465ce6L,0xad2f492fb5744947L } },
  56539. /* 32 << 231 */
  56540. { { 0xba03ba3b7b3b336dL,0xe57ce50928c9c55dL,0xf96b8cfe4f0f60b2L,
  56541. 0xb908d77e6fcccd96L,0x7208ef7de79dd17aL,0x739095333ec3d048L },
  56542. { 0x9c5ad2da1163fe78L,0x4e2a8685cd4a15c2L,0xac999449470eb938L,
  56543. 0xfaaf27fbee7d772fL,0xfbe402abd0b7ad09L,0x704d4f0e57db00a9L } },
  56544. /* 33 << 231 */
  56545. { { 0x8f2f736c6330607fL,0xaf4acf66c975432bL,0x838fd8cabd1dec99L,
  56546. 0x347088aa7c3d0499L,0x28008757e835ea86L,0x43e2fb30c03e1aa1L },
  56547. { 0x06c66dabf0d10da1L,0x25d7aa1867321158L,0x215e483811dc063fL,
  56548. 0xd52dee1e288362f2L,0x790989a1fe300a0aL,0xe0452fa5f163e1ccL } },
  56549. /* 34 << 231 */
  56550. { { 0xd3eab3ae25e7c044L,0xa3712d11b6d22325L,0x5e3835999e8237ddL,
  56551. 0x2549047c9dc93a5fL,0x24b07617b546a113L,0xa50359ed2e7b82fdL },
  56552. { 0xbbc3eb5889964effL,0x93d490b60d7ae172L,0x68cd6b3f774ac0e6L,
  56553. 0xf98f1df035e02fc6L,0xfd2625c560857c16L,0xd68f25e845dd06f6L } },
  56554. /* 35 << 231 */
  56555. { { 0x40dcb41018c1b3d8L,0x8af9a0bf954cc170L,0x9c40a17d5af27d6dL,
  56556. 0x6b20fa7d7137d35aL,0x7c46f6aaf07f5adfL,0x7caa6e3cafc2f780L },
  56557. { 0xef03332694dfb637L,0xd8f330b38d0ac73cL,0xacbf571255d40a9fL,
  56558. 0x1b4ffafa3f4fde0eL,0xa17488e09fe6b04fL,0xd27808a103957cfcL } },
  56559. /* 36 << 231 */
  56560. { { 0x85e1de1e96569e6dL,0xc9545920d7ae52f9L,0x04ebc797bcd62008L,
  56561. 0xe142d0bc04a24db0L,0x5ed44b0d40e9fa80L,0x39fd679a48ddaba3L },
  56562. { 0x91aba967ce7ee095L,0x76de8d3a0e97d0f4L,0x92e7a107a221785fL,
  56563. 0xb028f67e734283ffL,0x987f644168af2f42L,0x0ad882369d7f7102L } },
  56564. /* 37 << 231 */
  56565. { { 0xc5289301642f7d3cL,0x53ea584de508c45aL,0x86eb66e949337336L,
  56566. 0xa56d59d668fbc13aL,0x44c464ffe9e51562L,0xe5280ecd8200a27fL },
  56567. { 0x92e2a9334cc73f23L,0xf59780325e7b858cL,0x399bd41e90d4b2efL,
  56568. 0x4faecb8bd0ead86aL,0x6ead9c530ce48b14L,0x941b4807ef74700cL } },
  56569. /* 38 << 231 */
  56570. { { 0xea281be94d522b69L,0xb6855d45694a08bcL,0x7c47ddc7aa7f4d28L,
  56571. 0x2028e22b6c36bba5L,0x206b63430c2dee0aL,0xfeb0b3dae68fdcd8L },
  56572. { 0x6dda02a44603db5cL,0xa705d0defd786a39L,0xd356f6a426aadd38L,
  56573. 0xd34acb7d95ef6a00L,0x073ea16e14846402L,0x2cf7a82ab2df8bc5L } },
  56574. /* 39 << 231 */
  56575. { { 0x8fdcd309bffd7240L,0x6843dd76386e459bL,0x222fa67c0dee5740L,
  56576. 0xa3801343620d7d83L,0x96dfdbffe21b4af3L,0x017bd3d3dadd04beL },
  56577. { 0x1b6adba2bca18337L,0x191b86f1300ed35aL,0x103a380cd73bbadaL,
  56578. 0xc2f3172f36f95dacL,0xa01a10e220767bf4L,0xda882ca6989ad766L } },
  56579. /* 40 << 231 */
  56580. { { 0x5bbc748b9cc47708L,0x16d796054026c772L,0xefc3ce3ea053df6bL,
  56581. 0x30ea7eab0713752fL,0x15b491b9dfd524b7L,0xa751d82010bcd34cL },
  56582. { 0xf30c708abbd5da72L,0xf0c55aa86d16bd51L,0x1754060ba6215d84L,
  56583. 0x3a48d2cbb863542bL,0x992e8340261d8c45L,0x4096f65be8fd2113L } },
  56584. /* 41 << 231 */
  56585. { { 0x5532411e1045d8cfL,0x2d2f8d6b52bea60fL,0xa850b61825c556c2L,
  56586. 0x6547892fe8965d13L,0xa7bd4527184d0cffL,0x0e7f7daec25ba558L },
  56587. { 0xfcfaf7b234343889L,0x9d6a23aeb82ba1d7L,0x2859023b60514faeL,
  56588. 0x4d51aeddc82da6b7L,0x6a060dc38273cd00L,0xf2f8923d78478c29L } },
  56589. /* 42 << 231 */
  56590. { { 0x0baa35154f08b278L,0x26baf331e57297c8L,0x3fef65cc04e27c13L,
  56591. 0x0f910ee0ca8430b6L,0xa27c5f5c2c445251L,0xc780142dccf3c637L },
  56592. { 0x47dc4192e0f3fbbbL,0xf4d12bd6f2a91a33L,0xc1eb18b206352685L,
  56593. 0x111cc07f5b3db096L,0xbce0cddbcb95c815L,0x6b0bae7e14d28563L } },
  56594. /* 43 << 231 */
  56595. { { 0x40d16b7705897177L,0x4772a643953915adL,0xc6cfc1d23cabc7a9L,
  56596. 0x0641e96df80536c3L,0x6c297cd6be4c5454L,0x509a837c9c00216aL },
  56597. { 0x17455153c01ce9a5L,0xee76da8a40b825e8L,0x1757a59cd23a37acL,
  56598. 0x5adcfbd10958248aL,0x043314525d01549bL,0x831f725ab0c42176L } },
  56599. /* 44 << 231 */
  56600. { { 0x28704bdcdf7d537bL,0xbcae2c15fa88f42cL,0xab32eecd3866ac4fL,
  56601. 0x446754a2128c4a7fL,0xc69309c1739ef781L,0x216e9f43bd160d81L },
  56602. { 0xe0efa3ec6fefc0aeL,0xd179225086a604f5L,0xe43e13e260418c0fL,
  56603. 0x6f605146f100b9b7L,0x6c39828a6e994093L,0x99558f4706c019e9L } },
  56604. /* 45 << 231 */
  56605. { { 0xf541b3cd28df49eeL,0x0be75ef5cec2660fL,0xe73d18bb620c81f1L,
  56606. 0x42e81fef3c775c53L,0xd0a9dcdcbc012ed7L,0x570f5a1b8f292a58L },
  56607. { 0x51f302e74c030819L,0x42e1903f50bb8a5bL,0x6d8105a98536e7d0L,
  56608. 0x66e2fdf1c1ca766dL,0xecaf4a316c5927fdL,0x347803cf96a14565L } },
  56609. /* 46 << 231 */
  56610. { { 0x794d90ab425d3a7fL,0xcae9008d93ecbe48L,0x211e38c3bd5f11b3L,
  56611. 0x6020ed2a6db1c1d7L,0xaa5695064437f020L,0xb2b93424235f4d6fL },
  56612. { 0xa84a3c1d66ab2a3eL,0x171f9325712a14e0L,0x4a43cd6744d958d0L,
  56613. 0x53bea85ee95dc3cbL,0x1fba008769f2009dL,0xf0fbc48f31c13eb4L } },
  56614. /* 47 << 231 */
  56615. { { 0xefa3dea85fb2227aL,0x0160b031e098a97bL,0x92a554e3553377b1L,
  56616. 0x7b58c26258ccaac8L,0x666400171c3e0a47L,0x40e45f90ae2d7d8aL },
  56617. { 0x660df3441ee18103L,0x5515cd66e9b64e55L,0xede93c59de059b3aL,
  56618. 0x874a0c90ca0e7acaL,0x840188abc8b1daa0L,0x9d49a02601e148a7L } },
  56619. /* 48 << 231 */
  56620. { { 0xe93ee31ae12b4e64L,0x2ab8e378662d17f4L,0x2544bd9969516582L,
  56621. 0x7bf80e4b2e1e5485L,0xf30f0b14729d9361L,0xb3ffb5d18268d40fL },
  56622. { 0x34605055ac193a63L,0x9e5ca9a9f8e04d69L,0xcbbeebc1085ecbb2L,
  56623. 0xda03b75bf340eac4L,0x3bf9468a84436462L,0xdfa8b4c80f26f20cL } },
  56624. /* 49 << 231 */
  56625. { { 0x2e6520714aa497e2L,0x2b9358fd7ecd223cL,0x96efcbdc4f828e86L,
  56626. 0xa0f76679d2f096c9L,0x3887bef70690b78aL,0x2e7d9cae1a01b10dL },
  56627. { 0x8b0cdf0e5656e5d0L,0x0a6ca92d48d3ec2cL,0xdcacbdd3b49e2ab8L,
  56628. 0x4d087ee0d7485e87L,0x4987078292cc57a7L,0xa1776bd47bb38b8aL } },
  56629. /* 50 << 231 */
  56630. { { 0x60c113bdb711e087L,0x28694ff4e257e115L,0xf81d5e054c18d716L,
  56631. 0xd1c04b67eb0af843L,0x16e6e46e40d8907dL,0xb73c3de91dd34d22L },
  56632. { 0x9d7f282519825f92L,0xdf5d33edba486ce6L,0x288fafac21c223d3L,
  56633. 0x21c4df016d05007fL,0xccd9626b197c5badL,0x3a91743902c91b36L } },
  56634. /* 51 << 231 */
  56635. { { 0x6f950922340ebed2L,0x9e796894beddf06bL,0x5a8ea337cd9d7a07L,
  56636. 0x1c5dee115bd182ddL,0xba87dd1ae0c79b9dL,0xb16169f3b9002931L },
  56637. { 0x68098da138c62518L,0xea7bf413417fdc6fL,0xa500a320b6fdf768L,
  56638. 0x7870c71c4550c202L,0x0874fd9f6121afb2L,0x49f0fd0cab7d0b6fL } },
  56639. /* 52 << 231 */
  56640. { { 0x7af3de47f6b7fedaL,0x19b8a51ba30b2296L,0x16886446150a0af8L,
  56641. 0xdada5aeeb2a4ecbbL,0x77105de8e8de3888L,0xc54d352c7d763f77L },
  56642. { 0x754984ae72ff499aL,0x3de4b2785a5a25f4L,0x5df75ece818512a4L,
  56643. 0xd4fc8093ca7ccf3dL,0xff9bdf544a49f4fdL,0x45d23e77de0a5840L } },
  56644. /* 53 << 231 */
  56645. { { 0x8ef88682ca85a586L,0x12038785bff64885L,0x99670d8ac98cf695L,
  56646. 0xf7dc3dca6c3d5832L,0x1e836a59fd3e64d1L,0x8dbb13addd426c1aL },
  56647. { 0x21867f0690f59314L,0x7adb6f707da5ce5dL,0x662422ae0da28987L,
  56648. 0x75a1486466766a41L,0x2d42bede6c8937b6L,0x559e168dff0c474cL } },
  56649. /* 54 << 231 */
  56650. { { 0xa07fdaa25af635feL,0x01d67fb36a0c8fd9L,0xa226f8dac9eb8d8aL,
  56651. 0x0795c27ce7fcfd0dL,0x84556c0553578294L,0x92b30a84b3e57574L },
  56652. { 0xc8eb6ac0ca5dc890L,0x061a0a195c8b7d8aL,0x60f3351923177c06L,
  56653. 0x780755917d01bf6cL,0x63ec8a4421f48422L,0xddfcb2c0d804c7b0L } },
  56654. /* 55 << 231 */
  56655. { { 0xb186daffdb2e385aL,0x7589c9cd43aac848L,0x9b474a411fb053d7L,
  56656. 0x2f79556be1ada6c8L,0x694badc54d7d9ce8L,0x31ac06a84921f546L },
  56657. { 0xacaf91c165666233L,0x6ea97c8ee45b62b3L,0x9c8f3fa66f0096c6L,
  56658. 0x2db7da39ac68f8baL,0x0ad2da0f19a3d1b2L,0x08c96b0ff80d426eL } },
  56659. /* 56 << 231 */
  56660. { { 0x07d63f07257d20b5L,0x25475a304e8c62caL,0x2469d661789ac15cL,
  56661. 0xd0d2ba1b3aae86a4L,0xc716202a4458dab6L,0xa011ca5ec4d5f90cL },
  56662. { 0x53ce0273ca2430c9L,0x61040ecf96da6946L,0x6847dd034247c99cL,
  56663. 0x0c500b4519defda5L,0x263316db365796d4L,0xff9b99e7b982d89cL } },
  56664. /* 57 << 231 */
  56665. { { 0x725fc8f911591738L,0xe6c16db3f4030f65L,0x66c7622d441b6b17L,
  56666. 0xad8e4b9c69d93786L,0x732d597473093a4dL,0xa2136d85228f103bL },
  56667. { 0x84f1d9397bcf76e0L,0x971a4c55e2531411L,0x9816371d15920fa7L,
  56668. 0x5515cbc594bbc17cL,0x8b8c76e859d52722L,0x3bfe618e9a240652L } },
  56669. /* 58 << 231 */
  56670. { { 0x18981da25cd1f7c3L,0x198a91bb09b22c3eL,0x48d11aafb23d71ebL,
  56671. 0xddaa6e071d31782aL,0xca7b812a39125babL,0xd89dcd825d963539L },
  56672. { 0xc7012ed9e5a89eafL,0xbcf0d4c4af0ce61fL,0x6f65a246e6a9f404L,
  56673. 0xae6a489d51c1302bL,0xab43a2bcfc5ea651L,0xfdb73470293b1e58L } },
  56674. /* 59 << 231 */
  56675. { { 0x8e860629f5c9d835L,0xf91a0b5d04efe37dL,0xaa2acb55b1956d3dL,
  56676. 0xe295b30fb5bb48ddL,0xdfad64a7e8275e6fL,0x1e203bb7d41beeaaL },
  56677. { 0x4aa2fd5836e64f60L,0xfb0b92a706e01818L,0x68e386d60d29ff89L,
  56678. 0x617981bc1802840aL,0x6d68ccf7ceb124f5L,0x19193c483b120ddaL } },
  56679. /* 60 << 231 */
  56680. { { 0x4d02098b8b5d9d67L,0xecb580503148dc75L,0x561545107d898600L,
  56681. 0x0213ef782d8be728L,0x4123671b1f11d90bL,0x8b9ff1b654c291beL },
  56682. { 0x139ba95e52db185bL,0x83be41d0997b3eb4L,0x4a950c9a41e2e288L,
  56683. 0xdca0290c48916145L,0xf1eb9327cd073e77L,0x384ec5ddbd4f4ccbL } },
  56684. /* 61 << 231 */
  56685. { { 0x7e538f9036f4b7b0L,0xeb54e9e4ca25008eL,0x0054a07bf8af6eb2L,
  56686. 0xd96b712f5e3f61e9L,0xf01da03e29aa496dL,0xedbbc2d7d00faf95L },
  56687. { 0x178c5bbd104f4dd3L,0x5cbd4783aa11b0d0L,0x4433fe6156eecea2L,
  56688. 0xdcc01bdcada7991aL,0x89ca41ba1addfa5bL,0xad64ee097a65ee64L } },
  56689. /* 62 << 231 */
  56690. { { 0x05a8a58d7e276915L,0xee28f77bf1582bf6L,0x6f308349285bd210L,
  56691. 0xb8b8ec47ab877186L,0x0436930e0ddb857fL,0x20a9973e5346b800L },
  56692. { 0x756ab9b5848dd5b9L,0x33a220cfa12370ebL,0xdbd87c391f3d0386L,
  56693. 0x90c6879075429844L,0x5cc1a9736193f021L,0xf0b80f6543d46e24L } },
  56694. /* 63 << 231 */
  56695. { { 0x45e5f57bf79f5116L,0x14f02b229bcd30ecL,0xd989ee5426a39a1dL,
  56696. 0x497ad3c3d5854b85L,0xb61c15e50154364fL,0x5979941f502107d5L },
  56697. { 0x0b99f087195934f6L,0x1f852baa605fbf71L,0x68ec80e47206f65bL,
  56698. 0x0392af1cea5bc3c0L,0xcebe56f81cb1d6bdL,0xdc6279d90f80b6b9L } },
  56699. /* 64 << 231 */
  56700. { { 0x10c082a63fc14a85L,0x59389ebc1c0b14c4L,0x785d935b4cb291a7L,
  56701. 0xfc2ae15313e9ce08L,0x3146fabf4df6f1c4L,0xa2a4a457c87dd24cL },
  56702. { 0x85fdd8771deb49bbL,0x2b7843709b055934L,0xc81d05013e7e0297L,
  56703. 0xb56ddd1fb92df904L,0x4612df9f295ddccbL,0xc24bd4cf0e27cf1dL } },
  56704. /* 0 << 238 */
  56705. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  56706. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  56707. /* 1 << 238 */
  56708. { { 0x7830460fd1944d1bL,0xc56f08e784350af2L,0x73bee2aa307d9c78L,
  56709. 0x1b02af1b5aad8b6cL,0x5e31882703848db5L,0x4785958bf230f476L },
  56710. { 0x4ea6535d4f80e25dL,0x9958c9c7d23c7f72L,0x4c197b332fd33cabL,
  56711. 0x24c7b0b1c566914fL,0x956ce3c371952d3bL,0x8735694bfabae5f2L } },
  56712. /* 2 << 238 */
  56713. { { 0xca9872e1597bd10eL,0x6725cc9a4aed951fL,0x96b17cb84e05b280L,
  56714. 0x97987146fa234d45L,0xba78949ebb35a7d8L,0xb82e9b9f6fc59384L },
  56715. { 0xa303e54a70f165c7L,0xfd6bb0dcb9c2cad9L,0xe57e2de8ee722045L,
  56716. 0xa05c106563e27035L,0xaa38e86602d2fe6fL,0x78e02fa8ee2f6aadL } },
  56717. /* 3 << 238 */
  56718. { { 0xd6256e7c62c627c2L,0x5571edfc3cbb10dfL,0xfedec45771cca8f4L,
  56719. 0x2e26ac5f8483eed6L,0x8e8c0671173508c2L,0xfd9f25d50f39bf76L },
  56720. { 0x1cb080c3094cc1b1L,0xd367ca8c113e6552L,0x4ae2ca36bedb511cL,
  56721. 0x0de0c3e34707eeb6L,0x204cc610239d3097L,0xb235dbf0adb00383L } },
  56722. /* 4 << 238 */
  56723. { { 0xc0426b775e3c647bL,0xbfcbd9398cf05348L,0x31d312e3172c0d3dL,
  56724. 0x5f49fde6ee754737L,0x895530f06da7ee61L,0xcf281b0ae8b3a5fbL },
  56725. { 0xfd14973541b8a543L,0x41a625a73080dd30L,0xe2baae07653908cfL,
  56726. 0xc3d01436ba02a278L,0xa0d0222e7b21b8f8L,0xfdc270e9d7ec1297L } },
  56727. /* 5 << 238 */
  56728. { { 0x9704cdc6a9c26f4fL,0x96808107908a6756L,0x73be47d40f1def2bL,
  56729. 0xd32c11d619215394L,0x1a59b9541842c2f2L,0xd64a70bb52c94807L },
  56730. { 0x32b08c3e9dd262b3L,0x54d2cdc4440315a0L,0x671b3139425ace14L,
  56731. 0xd418542f2c7518e4L,0xce5e1712cc1bbdaaL,0xb3268403131f98adL } },
  56732. /* 6 << 238 */
  56733. { { 0xce4b39874e39e87dL,0x8e60a901966f4603L,0x1b95e4fd73c4a679L,
  56734. 0xae87f845b004310eL,0xcd50aedf815684c5L,0xa56805d343c77e38L },
  56735. { 0x9a429abcf0588403L,0x77dd1a02009e699dL,0x27ad38fb52a417d6L,
  56736. 0x62591579fd8f6d00L,0xccb12126ea58f822L,0x3a009e76760a3ccfL } },
  56737. /* 7 << 238 */
  56738. { { 0x17688d3410023b42L,0x9bc8bd6f7cfadb6eL,0xe4cdf89f460aa255L,
  56739. 0xf709740a99eb21f8L,0x1ea8115cbd460bacL,0xbf7bafe8ac7e6629L },
  56740. { 0xf8dc02bb096de741L,0x982f7becd2f6a583L,0xd971589a0f92bfeaL,
  56741. 0x662793afc02acbaaL,0x1b0f7d5eb771574eL,0xd9f71c4c66985cdaL } },
  56742. /* 8 << 238 */
  56743. { { 0x4f120aa7e2a07891L,0x9158bab3a25d3225L,0xc96bac5ecfe5f7a8L,
  56744. 0xd4e73d59bbf3cec6L,0xed8d233560361cd5L,0x9b1a252c562f444cL },
  56745. { 0xbd37d3cfc70f23c2L,0xf13b3b6ea52ea19eL,0x7e35535a3d2f41edL,
  56746. 0x0353b52ee8b1743eL,0x31d89dfd7b5a2765L,0x2b7ac6848d9ea8b8L } },
  56747. /* 9 << 238 */
  56748. { { 0x3613afb361bd36b3L,0x85171aef3e0339eaL,0xdaf0c280c833abe6L,
  56749. 0xde566372e4500f09L,0x487dbef84a5bda73L,0x5cc00564e6e3f324L },
  56750. { 0xbdf148cfb96abd01L,0xf8dbeda5ba9306ffL,0x05774d1a5ac0b828L,
  56751. 0x73ddc3248cf4a56dL,0xabc5af5232dc6125L,0x15ad6d2573294d7bL } },
  56752. /* 10 << 238 */
  56753. { { 0x7b5bbe51bd6086deL,0x7fbc95303816cee6L,0x60ac14fab3354bf6L,
  56754. 0x2b2abe43c9a6e793L,0x6ffae7342e19664bL,0x1d0e38b90064bd95L },
  56755. { 0xc1303ba3fa9f23beL,0x6d5f4ea5d8f0a46cL,0xf8f472517a270649L,
  56756. 0x126c13ae723a5a0dL,0xe4d0a19e5e21273eL,0x18076170e83abb8cL } },
  56757. /* 11 << 238 */
  56758. { { 0xc21dc6946b771809L,0x2501f25600f85b8aL,0xb3a21dc347382df8L,
  56759. 0x25ede3c239dee18dL,0x39709b9db29b770cL,0x6eb314d510fa9c5aL },
  56760. { 0x79140b1f508f5e59L,0xcce9f7cedeff2816L,0xa153c050400bc8a1L,
  56761. 0x052e03c4ff2c127fL,0xf8ffff1f841a03adL,0xc0c2626345896fb5L } },
  56762. /* 12 << 238 */
  56763. { { 0x06a67bd29f101e64L,0xcb6e0ac7e1733a4aL,0xee0b5d5197bc62d2L,
  56764. 0x52b1703924c51874L,0xfed1f42382a1a0d5L,0x55d90569db6270acL },
  56765. { 0x36be4a9c5d73d533L,0xbe9266d6976ed4d5L,0xc17436d3b8f8074bL,
  56766. 0x3bb4d399718545c6L,0x8e1ea3555c757d21L,0xf7edbc978c474366L } },
  56767. /* 13 << 238 */
  56768. { { 0x905ad4bf3023ec1eL,0x8cc101ca16081c1eL,0xe0d47ec79cb74127L,
  56769. 0x1be5f86725da2dd4L,0xcba2ee4507ebac2eL,0xcee26667e22d87d1L },
  56770. { 0xfc339af1c7c409ecL,0x112af9b47b7ef32fL,0xcc3e07898b821999L,
  56771. 0x4234433c222b3478L,0x55bcc87ddbce50c0L,0xcb6141cd7816f642L } },
  56772. /* 14 << 238 */
  56773. { { 0x8ae24e6b67f38eecL,0x61adae20ea14bc0dL,0x32737584c480c3fcL,
  56774. 0x44f61b79812ee744L,0xc8f607d5fe06d5d2L,0xfeaeb2bcea45267eL },
  56775. { 0xe004522bb92c909eL,0x5171fe360ab3e854L,0x659936fe63ebc481L,
  56776. 0xdde6dbbff76649d4L,0xb38c160fe2295d0eL,0xba608b7e1e8f5c1bL } },
  56777. /* 15 << 238 */
  56778. { { 0x55616c4c86c2cb9cL,0xcfa8b484173526faL,0x096a09d90039a4c9L,
  56779. 0x6ccb4964f300a73bL,0x42dd78ac66819855L,0xa7c532c10941599cL },
  56780. { 0xd15905f0b630220bL,0x9f4893ca5637e103L,0x768c09bf8a2115abL,
  56781. 0x5091f4399c52755bL,0x4ad1c0f6d38e7c50L,0xf6e6b2d054eb4439L } },
  56782. /* 16 << 238 */
  56783. { { 0x73457010c46db855L,0xccb68c43dd579fb8L,0x705b0e8c9c25fe5bL,
  56784. 0x40f36ea182dd0485L,0x3d55bc8527ac2805L,0x15177c6fad921b92L },
  56785. { 0x51586cd55ab18cabL,0xf51b5296cbb4488cL,0xbb4e605e84f0abcaL,
  56786. 0x354ef8e3772dd0daL,0x7f1a8f795e4e1d41L,0x93461f09de5d8491L } },
  56787. /* 17 << 238 */
  56788. { { 0xe186b0b09cd7d54aL,0x0451cb0dd4303760L,0x90a8b0f84b38f082L,
  56789. 0x2357f03700b04fffL,0x8a4669f86d81dbd3L,0x2a5cb6f6bd94842aL },
  56790. { 0xa13d19c4c498a572L,0xb7b8fe10cd937a76L,0xf8df355ed9842244L,
  56791. 0x64fc9d62b077c8feL,0xd4b2c3cce9dd337eL,0x7c63799ad3784edaL } },
  56792. /* 18 << 238 */
  56793. { { 0x39fe6673a780fd38L,0x8bc8d026a4b4cfa8L,0xcc339850801c44bcL,
  56794. 0xb5d80c4bc2dca07dL,0x745ffb5d91f1408bL,0xb55588f89017d1e7L },
  56795. { 0xafef3cf1c3d76a1eL,0xe3a6e8058e1367ebL,0xd09ea1e2a642d2bbL,
  56796. 0xf303c613216e63e5L,0xe699e51cc98908e6L,0x835d4cefafeac3c2L } },
  56797. /* 19 << 238 */
  56798. { { 0xd1cbe55ee5000eceL,0xc1a074b01ff0f474L,0xc6681f48d7ffb89bL,
  56799. 0x7c68011d48d0bb4dL,0xf305627bdcef5e07L,0x0f0e0c36323ee3fbL },
  56800. { 0xc5c6b61355f5f185L,0x6e4de5af52d6cc84L,0xa64ea548889fe8bfL,
  56801. 0xc4c5e4104d28350eL,0xef944a8f7dd3072dL,0x7ed579fa13356185L } },
  56802. /* 20 << 238 */
  56803. { { 0xec72c6506ea83242L,0xf7de7be51b2d237fL,0x3c5e22001819efb0L,
  56804. 0xdf5ab6d68cdde870L,0x75a44e9d92a87aeeL,0xbddc46f4bcf77f19L },
  56805. { 0x8191efbd669b674dL,0x52884df9ed71768fL,0xe62be58265cf242cL,
  56806. 0xae99a3b180b1d17bL,0x48cbb44692de59a9L,0xd3c226cf2dcb3ce2L } },
  56807. /* 21 << 238 */
  56808. { { 0xe646281876ba99afL,0x1d53bd27818b5992L,0xc55e135d67e1d81bL,
  56809. 0x32b9e37023e211feL,0x91ea63dc130b1176L,0xd7e1cc51a34fbb3cL },
  56810. { 0x5363fd962fee934dL,0xd19c50ba0b8fd289L,0x21257825a11c27b6L,
  56811. 0x19159a966792c1ccL,0x0ccc3cac39a08fbaL,0x841cb58a45512d8eL } },
  56812. /* 22 << 238 */
  56813. { { 0xae8532c3224ab492L,0x8bc92c85f6acd0ddL,0xc071ba92b796d21dL,
  56814. 0x1290162943797a3bL,0x8f4c5fb5ec950329L,0xfab6f950cf0578e3L },
  56815. { 0xb7b8d211bb6aa75cL,0xb06279dc3d1147f9L,0x060db1a7591820cdL,
  56816. 0x0e691a412830f356L,0xac00664224b8bc33L,0x579f9c052f17441eL } },
  56817. /* 23 << 238 */
  56818. { { 0xd8b9dcd50c4cb7edL,0x2f59d64c7619cdf4L,0x7e83d18e284bc6f9L,
  56819. 0x49af25123e415166L,0x90388976ccd64d11L,0x4708fffdfe2580b6L },
  56820. { 0x7a8d25ff17dd4d8bL,0xba7785fefd71355bL,0x7cceb111b9789cc6L,
  56821. 0xa8fd782ee98d6b78L,0x8d1b7fb66135d4a2L,0x78c2267d35e382beL } },
  56822. /* 24 << 238 */
  56823. { { 0xf38995589311182cL,0x1bee4c4bb657a7b7L,0x0b1c4fd32df8d1a7L,
  56824. 0xf16bcc2376d3fbbfL,0xd5888916f4fd52bcL,0x3de6cfb4d5cde1f0L },
  56825. { 0x764ffffdd4a07dfdL,0x5e674426e2642182L,0x34f64762ccd57b85L,
  56826. 0x2233a4c329351062L,0xdf076095d9c642f3L,0xac917a2c59f0df34L } },
  56827. /* 25 << 238 */
  56828. { { 0xe588d5a8cf2f7d4dL,0xb45923ee86798c14L,0xffefd323f0623572L,
  56829. 0x24dd7019005f605aL,0xb9e833053a6edaecL,0x039ed04949923a44L },
  56830. { 0x0f83a74360789fd2L,0xb4f91a8e9b001515L,0x37b856664261ad9eL,
  56831. 0xc291caa68b92b7afL,0xfa0f8a5e67ba28e0L,0x362a6808c5eefb98L } },
  56832. /* 26 << 238 */
  56833. { { 0x8aee939cc64e4ab3L,0x3baac0a844621bb2L,0x9094a09629da9bc3L,
  56834. 0xa92dc70806d2314fL,0x45c1cd0e34235918L,0x51aeb007c34021a4L },
  56835. { 0x58267735a3492237L,0xe8d494bd375eb21bL,0x664dacf5a395bf8bL,
  56836. 0x2ef1feb612cec40eL,0x90c5f43fa7141e5bL,0x93e80dd03855169fL } },
  56837. /* 27 << 238 */
  56838. { { 0x2e550006211b2fb3L,0x8c82e59d6cab73baL,0x011bb2fb2bd326b9L,
  56839. 0xfbd519ff1e0efd69L,0x0fb2f266320cec7fL,0x879e28c03518fac3L },
  56840. { 0xd0887775e01294eaL,0xf6e60efd1df5bb0aL,0xb2a5d3a404d04a96L,
  56841. 0x915eaa29a4f3500fL,0xcb6c03f70db6bde4L,0xfee081a405f30cc1L } },
  56842. /* 28 << 238 */
  56843. { { 0x9580cdfb9fd94ec4L,0xed273a6c28631ad9L,0x5d3d5f77c327f3e7L,
  56844. 0x05d5339c35353c5fL,0xc56fb5fe5c258eb1L,0xeff8425eedce1f79L },
  56845. { 0xab7aa141cf83cf9cL,0xbd2a690a207d6d4fL,0xe1241491458d9e52L,
  56846. 0xdd2448ccaa7f0f31L,0xec58d3c7f0fda7abL,0x7b6e122dc91bba4dL } },
  56847. /* 29 << 238 */
  56848. { { 0x24e2801364ca563dL,0x6f06fde270f8f91eL,0x9abcca1bd2a65c0fL,
  56849. 0xc5728ffca5aa1e40L,0x654f0f56eb9d3e45L,0xe04ada2394161a0cL },
  56850. { 0x001b25626ddbc960L,0x253b447aef93504dL,0x895ce21e2d6dc894L,
  56851. 0xefb987381c1b63deL,0x6adb6eecde8b806aL,0x9ea3884e0240e7bfL } },
  56852. /* 30 << 238 */
  56853. { { 0xe8387f68411ad563L,0x98a962eacc5f157bL,0x8093a8d296090321L,
  56854. 0x240a73083790052dL,0x6cb4a7382e7dcedfL,0xda65bf8481a60e8cL },
  56855. { 0x420ce478c66c70aaL,0x0e7959ec42da3021L,0x44bc9d3c7e35aa20L,
  56856. 0x36e49d764e9df39bL,0x7281073a9b286287L,0xd9a068422524b62dL } },
  56857. /* 31 << 238 */
  56858. { { 0x00d6e0312546247eL,0xcc2851020fdaebdaL,0xb8a453f15601006fL,
  56859. 0x0afaa3f138be7068L,0xc87acb442c6cd9f1L,0x10dd5d031ffd5fbcL },
  56860. { 0xbae0b62fddacbbd0L,0x1daadc18446bf2e2L,0xaeaf15317ef0facdL,
  56861. 0xe7b92b76c941808fL,0xda59af2ae6d0dffeL,0x1c09b783e612b888L } },
  56862. /* 32 << 238 */
  56863. { { 0x3bd258d8775f516fL,0x4bedebd5c715927fL,0x5b432512e3f966a0L,
  56864. 0x338bfca7709d0c2dL,0xd142cc1049658259L,0xfabc6138636b8023L },
  56865. { 0xa9ef94014d4ef14dL,0xd5917ac1c54c570cL,0xfd2f63c55cb64487L,
  56866. 0xbae949b11cea475bL,0xa45446031e67a25fL,0xa547abc1dc6a7a6aL } },
  56867. /* 33 << 238 */
  56868. { { 0x6c7b4cf344b880b0L,0x29da87760a388eaeL,0xf434d173fe9617c9L,
  56869. 0xaf67cc2ea47abf28L,0xe211ad37249d0eb4L,0x88d156e538bce76fL },
  56870. { 0x60320c6dd58fa585L,0x7b352c39ebf09a7bL,0x9305dae8a31ce734L,
  56871. 0x70c35be89361cc3bL,0x6b8b71f8bcd14255L,0xd1b7963572a457a7L } },
  56872. /* 34 << 238 */
  56873. { { 0xd8d04787ef8849e1L,0x58adf044148375e5L,0x5b613ac476623232L,
  56874. 0xbd274d2f95d7e359L,0xd97acbd271576bb6L,0xd20bb2c34c7fc4b7L },
  56875. { 0xe15465315f837664L,0xddac59b5fb4ce79aL,0x33fef5214fb36e08L,
  56876. 0x0467811045108b22L,0x0de6c7766dbe57bfL,0x456d765a25fea77bL } },
  56877. /* 35 << 238 */
  56878. { { 0x4d9838a32922b715L,0x3cd9fc0a6a7bb3a7L,0xb1bf28fc2247e916L,
  56879. 0x92dd22006f206a16L,0x8ea87d67b51256caL,0x2c535730b5a4bf17L },
  56880. { 0x34da42505f584954L,0x72326fb8fefca748L,0x40fd9d09da2844a2L,
  56881. 0xaadaf71c412da037L,0xa62329a9aa6f884aL,0x1b6165e6726a8f8cL } },
  56882. /* 36 << 238 */
  56883. { { 0x2a2dedafb1b48156L,0xa0a2c63abb93db87L,0xc655907808acd99eL,
  56884. 0x03ea42affe4ac331L,0x43d2c14aeb180ed6L,0xc2f293ddb1156a1aL },
  56885. { 0x1fafabf5a9d81249L,0x39addead9a8eee87L,0x21e206f2119e2e92L,
  56886. 0xbc5dcc2ed74dceb6L,0x86647fa30a73a358L,0xead8bea42f53f642L } },
  56887. /* 37 << 238 */
  56888. { { 0x39de72e225e62213L,0xd885c406a03a58adL,0xa63964b527e76458L,
  56889. 0x93f83239637c0becL,0x8c9e29b4ba556e65L,0x7d746448a6183182L },
  56890. { 0x6dee01aa09a8eb37L,0x97289f2e757ffa96L,0x367ec50fb4785102L,
  56891. 0x200f77cdb3d07cd8L,0xadc7c000a581946eL,0xa2dba5e52c0b32aeL } },
  56892. /* 38 << 238 */
  56893. { { 0x95a5a7f0b203f75fL,0x9b574cfcb5df11f0L,0xbf5fe3f2dba4b4e6L,
  56894. 0x347a7bd7d0987125L,0x858dea6b09377a2aL,0x87cb1e66eea85d5fL },
  56895. { 0xe7619b666146a0c6L,0x0012585a8a0bc101L,0x738e6589ea0ce92aL,
  56896. 0xf23547979a39b3f0L,0x666f3f5d6dc81167L,0xe569cc82fb06b0b3L } },
  56897. /* 39 << 238 */
  56898. { { 0xef0e64399c7677d5L,0x052bf027efc398c2L,0xa5d253cc515e4198L,
  56899. 0x7b915f07a71ce047L,0x56880ea2e177dbf6L,0x735dc74f0b5741d9L },
  56900. { 0xa108632f0161a0acL,0x0c68765705e7e09eL,0x694e651e211709e0L,
  56901. 0x334e15e51d879a41L,0x6191d34260c2a603L,0x3a8ce0e6224234d7L } },
  56902. /* 40 << 238 */
  56903. { { 0x158d814db12c4bb1L,0xe52f75d22f0cf4faL,0xf106023e6141b59cL,
  56904. 0x5eb8b8ebbeb9d941L,0x1dd3972990cf579cL,0xb273252e69ee6efaL },
  56905. { 0xe43a3c593e9947a0L,0xd605124f6c19dd01L,0x8090fdbd05c578b0L,
  56906. 0x8e6c535a622ff18cL,0x3600b0c257d12071L,0x6d026e5c78d001d7L } },
  56907. /* 41 << 238 */
  56908. { { 0x6e515f3608e33ad5L,0x3e320c5283512d9bL,0x171ab26a5ca1c452L,
  56909. 0xfb3061e874c97139L,0x7944644c9cacf3aaL,0xedc724f03687cfceL },
  56910. { 0x7252d7590db9b5beL,0x625f17ed0eeaf1d4L,0x6b0b4e5e82e3c58bL,
  56911. 0xf03d7bcef0f2ecc3L,0x4cbaa878139a7580L,0x982e471672203e07L } },
  56912. /* 42 << 238 */
  56913. { { 0xa533f574e335d60dL,0x102b66fb2aa6855fL,0x7a57420c49946287L,
  56914. 0xe3bb702286f393c2L,0x1892642d04a41c49L,0x2c47ba38d44969feL },
  56915. { 0x9068650444388ef1L,0xd94f6f131eaf6b54L,0xf81d8782f0b872e8L,
  56916. 0x7ced5924d013f6eaL,0x76ef63d307cd721cL,0x888646b36cba783fL } },
  56917. /* 43 << 238 */
  56918. { { 0xd2c858157ec1660cL,0x6c8988a3ee73763cL,0xd6cc562d5e80aaeaL,
  56919. 0x48f399d975768c58L,0x3189bf68af50c1c3L,0xa3f8d2df27dc372fL },
  56920. { 0x99d6b416b8c7c529L,0x531707944406b1e6L,0xafb57933e3ac044fL,
  56921. 0x530ad3bab2548505L,0x791a290a977590caL,0xb0d07228646fd1fbL } },
  56922. /* 44 << 238 */
  56923. { { 0x636225f591c09091L,0xccf5070a71bdcfdfL,0x0ef8d625b9668ee2L,
  56924. 0x57bdf6cdb5e04e4fL,0xfc6ab0a67c75ea43L,0xeb6b8afbf7fd6ef3L },
  56925. { 0x5b2aeef02a3df404L,0x31fd3b48b9823197L,0x56226db683a7eb23L,
  56926. 0x3772c21e5bb1ed2fL,0x3e833624cd1aba6aL,0xbae58ffaac672dadL } },
  56927. /* 45 << 238 */
  56928. { { 0x86d2f71530cf85afL,0x8e1b053cf7e634e0L,0xe79592f43a4e466dL,
  56929. 0x26752e8506985331L,0xfd098e83dff73363L,0xaa158e2c505ffbc0L },
  56930. { 0xe45fa1cba0fe759cL,0x6e2f5989bc0d1491L,0x4a804eacae7210a9L,
  56931. 0x0e252f758a63f67bL,0x0d7600cf362a7df7L,0x795069bf6d5b2b18L } },
  56932. /* 46 << 238 */
  56933. { { 0x25f9f0fc0649613bL,0x109521f05d3005d9L,0xcce1c5b41feba4c2L,
  56934. 0x6a27cfafacda6021L,0x37ff83303ab6382eL,0x53c7ccb715ca79f3L },
  56935. { 0xdffa6c9633611dd4L,0x7555cfd4352d3916L,0x2354bec62cbd44f7L,
  56936. 0xaf0044c54b0b500cL,0xe4835df7ce9aade1L,0x14e57f6bcb218644L } },
  56937. /* 47 << 238 */
  56938. { { 0xb5e26899b1c22bd8L,0xde12b0b51aaf3460L,0xc269595c31ee049fL,
  56939. 0x8c7513c88a73ed74L,0x8273018450cd009eL,0xb2cd2dec4d130b5fL },
  56940. { 0x1a9015521971a189L,0x6ce23544c6f39bc3L,0xd76133aa9467badeL,
  56941. 0xf91173cc071ee7a4L,0xe54d8f44b8267c73L,0x5725e0676dc9aee6L } },
  56942. /* 48 << 238 */
  56943. { { 0x00e0a003daff1807L,0xcb9d155992c94fd0L,0x3c2b5c3dcebbf905L,
  56944. 0x9c799ec7d338afa9L,0x60b9908c4e2cfcccL,0x4bfe1a57ae3c6f92L },
  56945. { 0x480d310efb116150L,0xa1ed6c31e3e7888eL,0x841a11d9720b5196L,
  56946. 0xcc337d178adff37dL,0x08c668265faa86c5L,0x945c90d49dfcc7adL } },
  56947. /* 49 << 238 */
  56948. { { 0x0fcc0854f2b3622fL,0x3a9e218ab6833f04L,0x209125d4ee8fc062L,
  56949. 0x98b2c628a3c3bf2eL,0x7e051fda83ca6a6eL,0x81afd3933d87981cL },
  56950. { 0x8f3beaff4baf556eL,0x0f1b27fdcc7e66c7L,0xbf0b08f59f4a4461L,
  56951. 0x8eb739fa141985e5L,0xdb5b46112da43947L,0x63bf81cbe5cabfddL } },
  56952. /* 50 << 238 */
  56953. { { 0x355e40d398ff85afL,0x19f2f3c2b08f836bL,0x0a62d254737cb5f7L,
  56954. 0x5d0ef7d9f8c50d82L,0x773a399ebbd70eb7L,0xac357974a70bea8bL },
  56955. { 0x1de5a45cb3b5d794L,0x67c58b52a48b55b7L,0x724f56f4b02ebc8bL,
  56956. 0x03dc71e3154ad508L,0x9bcd3939cc84428aL,0x7fdba978158c4a0eL } },
  56957. /* 51 << 238 */
  56958. { { 0xac08e06e65b93d44L,0x2397625a5358c691L,0xfbc9285a8516e31aL,
  56959. 0x38ce0d3544ffe25eL,0x13381dd16414072bL,0xf782fddc170ecb4eL },
  56960. { 0x78c71a716f815259L,0xb725870573659a85L,0xd37678008712d968L,
  56961. 0x153d8aee3eda5006L,0xda4fd94818f1439eL,0x6384135352dbfdf8L } },
  56962. /* 52 << 238 */
  56963. { { 0xce92224d31ba1705L,0x022c6ed2f0197f63L,0x21f18d99a4dc1113L,
  56964. 0x5cd04de803616bf1L,0x6f9006799ff12e08L,0xf59a331548e61ddfL },
  56965. { 0x9474d42cb51bd024L,0x11a0a4139051e49dL,0x79c92705dce70edbL,
  56966. 0x113ce27834198426L,0x8978396fea8616d2L,0x9a2a14d0ea894c36L } },
  56967. /* 53 << 238 */
  56968. { { 0x06d57f2920514206L,0x61394b863a2cc1ebL,0x0ffdf49a86c7b2c1L,
  56969. 0x65334e9349f58f13L,0x180b10b8c08dfb05L,0xec352adef6c95b7aL },
  56970. { 0xf9801dc0c4bde0faL,0x428c77f0dabf0c66L,0x2a7d1bb0c2eb80d4L,
  56971. 0x81774172fdb56fabL,0x7507481f1d965515L,0xee0693bb8ebfadebL } },
  56972. /* 54 << 238 */
  56973. { { 0xf4589418ac56a031L,0x21f3dec6f2718a10L,0x0ed08d9690f28b6fL,
  56974. 0x2624bd7a35c3a6a3L,0x1b3f02e8bba795f2L,0xe629b5aa3977fd17L },
  56975. { 0x66c8cd7691e8df1aL,0xf36c4e2c1b2b5542L,0x7f6b742f7dff66a7L,
  56976. 0x00bc68b8242e0fc2L,0xdff5c73360119d9bL,0xe726260fb5c4dddfL } },
  56977. /* 55 << 238 */
  56978. { { 0x0242fa358eeaa549L,0x2d081bcf8abc93c6L,0xaa31813c55551d40L,
  56979. 0x1cf21c1271db3aecL,0x5a6dede7203880d9L,0x389c63cabe4aaa9aL },
  56980. { 0xff4db7d4bf28086fL,0xd89c039b33146844L,0xc2b32bf06df6f790L,
  56981. 0x7f4e836b9f22fecaL,0x3f64d0fa0af51572L,0x681a1f5bc67aa565L } },
  56982. /* 56 << 238 */
  56983. { { 0x9f9ac9608e2941a6L,0x43e7ff902fc4fe1eL,0x5ec413596033e041L,
  56984. 0x5ce791c46f6ff0f3L,0x8d134b899d907343L,0x7bd15c7786304df2L },
  56985. { 0x2cd2ebc777c4a913L,0xcd86a39d45f07153L,0xe7e12d2e88bc423bL,
  56986. 0x478e814b0b3163f4L,0x78bd9c8abe8ec766L,0x6a5763e87709ce48L } },
  56987. /* 57 << 238 */
  56988. { { 0xb503ac624329d7f4L,0x3a900374488e3ce4L,0x8a11addab0d8dc97L,
  56989. 0xbea3ea2c0873bdf8L,0x0f57130115bc7adeL,0xbc98d2070b2b69a0L },
  56990. { 0xaefc4047639d182dL,0x0e6db26feb3c44eeL,0xaf0f8b392a68a48dL,
  56991. 0xde65a6b36bf1e593L,0xe48f8fc989dbd38aL,0xad18a43bd8d285b3L } },
  56992. /* 58 << 238 */
  56993. { { 0x249d86007e9d48c8L,0xec6109ba109a54bbL,0x64f688af5ac65ad4L,
  56994. 0xb12c85b4be1796baL,0xcc258d31c9940da0L,0x59590853ff2f151bL },
  56995. { 0x9e9edc4d401c5d1dL,0xdd9ad117f230b458L,0xc2c752ac962334b6L,
  56996. 0x3fab66ce27327e6cL,0xa363d3643816a47eL,0xa6fc57bec180bbdeL } },
  56997. /* 59 << 238 */
  56998. { { 0xd72dd5893ff345d5L,0xf87c17ae41e1d287L,0xadadbf525964d55fL,
  56999. 0xecc7f27af8b07db1L,0xa2dacfce6f2aa320L,0xc7936da72aa3f228L },
  57000. { 0x2e9e6058fa504b87L,0xf2df43279d0f0634L,0x90d5ee22a4b768c5L,
  57001. 0x1ea9bf0b5b46ea84L,0x792370f45cc41770L,0xfd17823176c1a3f5L } },
  57002. /* 60 << 238 */
  57003. { { 0x4f1e1254604f6e4aL,0x4513b0880187d585L,0x9022f25719e0f482L,
  57004. 0x51fb2a80e2239dbfL,0x49940d9e998ed9d5L,0x0583d2416c932c5dL },
  57005. { 0x1188cec8f25b73f7L,0xa28788cb3b3d06cdL,0xdea194eca083db5aL,
  57006. 0xd93a4f7e22df4272L,0x8d84e4bf6a009c49L,0x893d8dd93e3e4a9eL } },
  57007. /* 61 << 238 */
  57008. { { 0x4c124a904190257aL,0x09002f52347e517bL,0x2e9b69a1e5760993L,
  57009. 0xbaa49e53e26672bcL,0x9468fc3bf7820190L,0x637bccfe1f955328L },
  57010. { 0x16fd33f26e0aa088L,0x9391550757b2b2adL,0x85e98842e9a0ace2L,
  57011. 0x8e2bd52b4fa787afL,0x8a86bd85644aeeacL,0x63490956c2814734L } },
  57012. /* 62 << 238 */
  57013. { { 0x5e902fb3063b3517L,0x0cd006cae5a65212L,0x597bd7804591c4bcL,
  57014. 0xd853d81be17c1d3dL,0xbc4bf68156e5d24fL,0xbc801615d26b5ce5L },
  57015. { 0x1ffa5cd5caeecbe7L,0x16ec32a4b0203156L,0xaaad43269a857672L,
  57016. 0x0606ebf9189c6f6dL,0xb90730bd57e476f2L,0xed8d82b1d492fb05L } },
  57017. /* 63 << 238 */
  57018. { { 0x69a2a9b6ff824814L,0xe7b716e7c35c5da3L,0xb6781a5e9a5fde1aL,
  57019. 0x08bf695dc072e1b5L,0xaadf71462590a817L,0x490297f9c755c83aL },
  57020. { 0xbd9fad6191c29990L,0x87b3abc226b6cb9dL,0x6975d59865fd0b64L,
  57021. 0x0fdc5267f4257158L,0x9f3e10585877bbdeL,0xb7f4cfb04297a2d1L } },
  57022. /* 64 << 238 */
  57023. { { 0xd699ea2d8d095606L,0x3cd080c51e0ddd3aL,0x46604bad66a8b35bL,
  57024. 0x0c779b624233fccbL,0x578458acbfd3cf0cL,0x6820f66596bf57afL },
  57025. { 0xa9724245bf1f302cL,0xbbde24da277a6c3eL,0x0980a5b8c6be8c14L,
  57026. 0x6230e3ec774d62c4L,0xda1467d84fbde24bL,0xd9d68d07cc862204L } },
  57027. /* 0 << 245 */
  57028. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  57029. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  57030. /* 1 << 245 */
  57031. { { 0x67c516347378f90dL,0xbc201a7966647082L,0x77fcc8dc9ee450cfL,
  57032. 0x8dd2b318b41a3e2fL,0xdf6a935e93bf0689L,0x75edabf3a92e5464L },
  57033. { 0x49afcd9f604d208aL,0x372f0ea7d465ca48L,0xcdbd8ad2c7ea7810L,
  57034. 0xfe61571e550822b2L,0x744a4f9386606adcL,0x6beb3c9cd9d4e110L } },
  57035. /* 2 << 245 */
  57036. { { 0x1fef389ce700b9f2L,0x63029466425bc8abL,0xbd770a1437f04a33L,
  57037. 0xc7438e29d0169369L,0x6b265742e2377cc3L,0xdf24bf96c369fa4fL },
  57038. { 0xdfdbcf470ad94e08L,0xd101b8617f75a7dcL,0x5574a0b82a9c483cL,
  57039. 0x0563fe942de43228L,0x58ca0e8aead1fabeL,0xdc3d9a8466023966L } },
  57040. /* 3 << 245 */
  57041. { { 0x383bda07c3fd20e5L,0x9619b1df5c29449bL,0x6f3c717d369f39bfL,
  57042. 0x1bb593d11a5a3900L,0xd0f07ecc2aec6c2bL,0x9d72eb2a4240b202L },
  57043. { 0x35342f6cc50e4a0cL,0x701b46626b93bf61L,0xfcd6eb09ccb6a888L,
  57044. 0xabb7a6f785aa42c5L,0x952f8824aa4e5895L,0x49860db85c406582L } },
  57045. /* 4 << 245 */
  57046. { { 0x3667a7203955812bL,0x0d73483b284d1dacL,0xe084535efc62f791L,
  57047. 0x5bc1652b389faf7fL,0x40cf51683a71b7f6L,0x8a4b19fad4f39703L },
  57048. { 0x823e754a2a8eff13L,0xf01b2021bffa5afcL,0x5639ee027225b319L,
  57049. 0x7533bc86fc282f16L,0x710009d2c69f61aeL,0xe30c499dbf65e803L } },
  57050. /* 5 << 245 */
  57051. { { 0x0da7ac1b734b4ec3L,0xf47fc1d012a2afbeL,0xbbbc99be87dce4a2L,
  57052. 0xf7264b4edd5c6378L,0xe9409305f618ffdcL,0xafadda9bd1846ac1L },
  57053. { 0xe734f9d0a21850d4L,0x199cb44f8722a316L,0xcfe8704b38cae89fL,
  57054. 0x2db1e56b6b151b57L,0x116ca5cf69ce7b2cL,0xe9b8625f57de97c8L } },
  57055. /* 6 << 245 */
  57056. { { 0x18811bd5af247c49L,0xbc180793e124dbdaL,0xed978d3a21234fc4L,
  57057. 0x516dd9a70616ae15L,0x8f80677774e430b8L,0x9094256906e8fc49L },
  57058. { 0x4ca03fb5a4e61235L,0xb91de709b617f361L,0x0898d82d0ed08bc3L,
  57059. 0x2bd712368cb08146L,0x45b92d45e213176dL,0x05894791f2bf5b9cL } },
  57060. /* 7 << 245 */
  57061. { { 0x0d79cb892695ea2bL,0x2cb0f8dfc88e538aL,0xc1b8dc3da80f36feL,
  57062. 0xd756fa6684f00cc2L,0xa6f1cdec9cb9efb2L,0x5c3f15a8a6a21818L },
  57063. { 0x9a7ee3516995d09fL,0x88885463d70434bfL,0x18cecc6d4f7d5d33L,
  57064. 0x3f0138866b353bd1L,0x53bf798b0d9ad368L,0xeffd465a28dbc3eeL } },
  57065. /* 8 << 245 */
  57066. { { 0xeb29e44cb5d98ac1L,0xe47e57f80e227a4fL,0xd09c04943d2bf688L,
  57067. 0x3ab7799a47428dd2L,0xdc558d6be9aafac8L,0xc042c4cd87f9f6e0L },
  57068. { 0x93842bcd89fb4693L,0x62dbc82f7068fbf7L,0x164552687e6d47b5L,
  57069. 0xab304b7a4c37eeeeL,0xdbb3d4e13fc412ceL,0x4f65dad0a726a2c8L } },
  57070. /* 9 << 245 */
  57071. { { 0xb25e01b2605cdaeeL,0x74abec55bc57969dL,0x9c57bfabcdd9d41aL,
  57072. 0xa3330e3f4a9e32a3L,0x5929a0d8e5792fd8L,0x830b4ea271ea2cdeL },
  57073. { 0x80065ac1fd06d246L,0xa2b416e632e64a25L,0x3950bde7c0c927a9L,
  57074. 0x9951f3bd679d9b8cL,0xc235a274651b6855L,0xbfe5e08e5ad97bc1L } },
  57075. /* 10 << 245 */
  57076. { { 0x4409a5b6744ae145L,0x5e83fa0b7f620908L,0xfc489bec2e140aa0L,
  57077. 0x5805a462e3cae337L,0xe56e9ff7c2211c21L,0xb722f2b40c955362L },
  57078. { 0xb098a32f41371f33L,0xe6cceceabb4923d6L,0x1cfbe2b3d82a311cL,
  57079. 0xcf9428936b98f917L,0xd60dc62492ef848cL,0x34af446e5adb5228L } },
  57080. /* 11 << 245 */
  57081. { { 0x0eb7e743796ce1caL,0x138653e5d851377cL,0x69c7c86f2b11c8e0L,
  57082. 0x878ec1decdf2b205L,0x03e6688aae0e8562L,0x20810666935a36a8L },
  57083. { 0xc8ab7c7f26635c50L,0xe75cdb06744a21dbL,0x4e26f32fd720e198L,
  57084. 0xa1c6395ad8cded81L,0xb75dc6ea6ce4fc04L,0x71750b33004623b5L } },
  57085. /* 12 << 245 */
  57086. { { 0xbdef84077e60c447L,0x88570f712a65accaL,0xef3d4a400bb6aa79L,
  57087. 0x5c9d189060212976L,0x80179ea21d96c43cL,0x3f002e6d53d2948eL },
  57088. { 0x14b2cc9149d78183L,0x7a549c71b496c279L,0xf4beac3f44995f6dL,
  57089. 0x5a34239800bc78feL,0xa874dc1b60e42da0L,0x3a984010cf5824d5L } },
  57090. /* 13 << 245 */
  57091. { { 0xe514ee06dfb9760cL,0xb8862d7577b8951fL,0x0144676ef8ee1141L,
  57092. 0x49561a3002eb3e82L,0xb3541c154ff9f897L,0x1670edf0a7a99791L },
  57093. { 0xd41d603564aea7f9L,0xf66ffd092b3463b4L,0x0784e015c3b26fb6L,
  57094. 0x88edce33ec46f8c8L,0x1b1e25a3b6381011L,0xbfaadc03ff95ab97L } },
  57095. /* 14 << 245 */
  57096. { { 0x727a59fe0c7be4e1L,0x75a7d5e3f58ced15L,0x146fc0d990f569e7L,
  57097. 0x94dbccd2b7f1dc54L,0x0df1ef90b75bf232L,0x2943a082a2568190L },
  57098. { 0x75f2f80d67837b06L,0x07e3506f24b44b6eL,0x7c30829ad0d2231bL,
  57099. 0x9ce577ca93277abfL,0xa19d1868b17549ecL,0x0ad6ff5525e8c4d7L } },
  57100. /* 15 << 245 */
  57101. { { 0x16b38dfe1c24d075L,0x3acd4c36992959f6L,0xdaf2fe88ac2da7abL,
  57102. 0x76e8ff0e89644935L,0xb8547c26e85f7076L,0x9f149faa1cdea7ceL },
  57103. { 0x181a60729e125d84L,0xc4aef9fa18751ce6L,0x451c84660e00f00aL,
  57104. 0x662b3e7ac4e3e6b8L,0x57b7114ec6b64507L,0x07aeb1980b37fb70L } },
  57105. /* 16 << 245 */
  57106. { { 0x79d88e004516234aL,0x98dd3cb931f9cedaL,0xb528000fce7d606eL,
  57107. 0xc773557e2fa27fd3L,0x55b53dd3e19436afL,0x675084b3e10b64c7L },
  57108. { 0xe583266556d56374L,0xf8f7fd2a307e2e60L,0x7b93bf537af3e3dcL,
  57109. 0x94fafa2cf47d298cL,0x94c2ff9a21121369L,0xa41de95f33468ff6L } },
  57110. /* 17 << 245 */
  57111. { { 0xebbafd4720f25aa7L,0xe2becad71ac444bfL,0x323356a092a944b8L,
  57112. 0x32feccc0c9a3cec9L,0x15ec3aaf5f9e96c1L,0x852142b5c12c8e62L },
  57113. { 0x098ffcbf2b6865f1L,0xcca470e8733d7741L,0x0f8c0f5271945bf5L,
  57114. 0xfb654f6a08068827L,0x3a9e7d742a0e2829L,0xb90742b04b687763L } },
  57115. /* 18 << 245 */
  57116. { { 0x145afb651fdb2a7bL,0x93315b684eff5eadL,0x0cad1d20e40ca999L,
  57117. 0xda9b517a379a8173L,0xacb665780ca018cdL,0x1e9d919f481969b4L },
  57118. { 0x5c9a058d68130364L,0x872e26620a62ce5dL,0xca598848acaabe54L,
  57119. 0xdabfcee18aa048a0L,0x16198d034ac52a57L,0x72eb5ec632b6d102L } },
  57120. /* 19 << 245 */
  57121. { { 0x13f2e1726a0c96e0L,0x55aed9e02d6b6f05L,0x3c919ba3bdce76c0L,
  57122. 0x647a525ffdda39aaL,0x5c0dbecc01a9011fL,0xa537ba8d9fd9dcefL },
  57123. { 0x8472e375cff62467L,0x57672311ed5adf05L,0xd1e178dc6a423de3L,
  57124. 0x3ebcfe18d3ad3ca4L,0xb8f341d7ae802c11L,0x3f14c424ecdfdb7bL } },
  57125. /* 20 << 245 */
  57126. { { 0x381e0a136e4d2e42L,0x2f2a4ee183c0d752L,0x50d4647fc8e6532eL,
  57127. 0x7e210aeeb4e7495dL,0xfd147710bcd142a6L,0xddddb07b06429213L },
  57128. { 0x63e06fc64548a6b8L,0x05d9b825904f92a6L,0x4b63fdbf9988ee79L,
  57129. 0x6cfa412f9b3366bdL,0x0dd5fe3dc8c61f51L,0x3ec77027be8e047eL } },
  57130. /* 21 << 245 */
  57131. { { 0xea7d01cfc7d81791L,0xfa6c0fe6e2264afdL,0x53c7eea363651291L,
  57132. 0xe58f8411f2d90f92L,0x4919b4c61faf0e14L,0x0c7dcd07148e98a0L },
  57133. { 0xf9ef44cebc8bd43dL,0x3acfb6686f83cfb4L,0x34130e18f883693cL,
  57134. 0xda9ed2ae2d236c3eL,0xf54da64cc75cabdfL,0x1c3df906cc01722bL } },
  57135. /* 22 << 245 */
  57136. { { 0x686796c68d8f2286L,0xe0efaf9334d7cd1aL,0x84f9237c93b23708L,
  57137. 0xcb50cc8ee47f5161L,0x498b81e71f597821L,0x3c3f33e1a491079fL },
  57138. { 0xee300c6dc69d1bc8L,0x279760e734778389L,0xe00ac0eb2bb8ed78L,
  57139. 0x9bf9a10e765c8b5dL,0xc7e95c0cf8c1e909L,0x3721300ae6e63ea5L } },
  57140. /* 23 << 245 */
  57141. { { 0xc03ad784d8dfd7aaL,0x671384a64b065a2eL,0x9b21e9e7bed74e87L,
  57142. 0x153b606cf889f75bL,0x7345c62a2aab6562L,0x270e4f445960cb4cL },
  57143. { 0x515909fb885f0f88L,0xe43ee4f7067a7928L,0x5f906fc8fc182e56L,
  57144. 0x297ad5770641d0d1L,0xdcc45aa1d1b188b4L,0x8c817fb2ef062a39L } },
  57145. /* 24 << 245 */
  57146. { { 0x91e8c992044637f0L,0x01f7838827ee8e8fL,0x7c5e3f6dd095f5b9L,
  57147. 0xed7522fcddf3cad2L,0x80bb87056c57aacfL,0x495480b00cc5ff51L },
  57148. { 0x964def7f04da2565L,0x8b0d0fe3afa72140L,0xcc75192584de66a1L,
  57149. 0x9acaf7fe075f07c5L,0x6505c2f81eeade93L,0xa2f35aa00e3cf58fL } },
  57150. /* 25 << 245 */
  57151. { { 0x1ad38a2d80548b22L,0x4d6120df47a37b3aL,0x6d64ef8c23e33cb7L,
  57152. 0xa1b5f51723c14ca6L,0xd2cdd425039a8e83L,0xa0a359ae229dd2dbL },
  57153. { 0xde0788166c2779afL,0xd960453362d2abc2L,0xc5c48b20707c0e4dL,
  57154. 0xe452debd691c5407L,0x35c37ca882b0a299L,0x5b263014da3cde7bL } },
  57155. /* 26 << 245 */
  57156. { { 0xde34fa4586330487L,0x8391248153f61e6bL,0xd3f8fe742d04958dL,
  57157. 0xdade250f6df77d09L,0x3a3a16175649d9ebL,0xf9b77847a23abc74L },
  57158. { 0x31d45db63b2e2c8aL,0x311ecc24f61a7bf4L,0x206029f9c56eab17L,
  57159. 0xb9d9ff35878c672eL,0x0d268c160fbf2d91L,0x2474b527a45f58d0L } },
  57160. /* 27 << 245 */
  57161. { { 0xad8e84be8436beaaL,0x8f07eee4209eb5d3L,0x47cba1d83ee61bddL,
  57162. 0xa081f21f72018544L,0x5dffddf493d88d16L,0x539a79efcac3952aL },
  57163. { 0x990af57791bc452eL,0xb139d7d5012f5c6aL,0xf818c9f3fb180417L,
  57164. 0xeeb2d08475566152L,0x287571253f5d4ec9L,0x5a26505daa959798L } },
  57165. /* 28 << 245 */
  57166. { { 0x6536834e11b0f7b6L,0xcaa5271aad46c10cL,0xb5b6ead1fab43763L,
  57167. 0x25bf402ff7f7d8fdL,0xf33fb223e19374b4L,0x183ae9b75f348172L },
  57168. { 0x1783c235078862a0L,0x9981a6c33cd368fcL,0xf58d2274fd627f9fL,
  57169. 0x37ac9c265c5e71cfL,0x167c8d047b0f157eL,0x24f522f8eefc7d85L } },
  57170. /* 29 << 245 */
  57171. { { 0xd25aeab3926cc973L,0xb3e2cffbdfc2cfbeL,0xdd259ed1de742b6cL,
  57172. 0x9d77c94e7b98bf81L,0x90f9067cb0ead3d1L,0x148f2a192a93fec1L },
  57173. { 0xbae3c543c2850153L,0x0d330d758910422eL,0x06f80a9efa670474L,
  57174. 0xac6cee9f038431a3L,0x4900d17f5c22ee99L,0x62de04aa275a9774L } },
  57175. /* 30 << 245 */
  57176. { { 0xb6eefcc55f87fb35L,0x9766873b4371415aL,0x308337bd16b058bbL,
  57177. 0x6d5b1ddae1ac3884L,0x9307aa0835c4630aL,0x22cfcc0c23e91988L },
  57178. { 0xbeb3814c37db0207L,0x19ab212fc4bbaf5bL,0x0801a1cf21abf22dL,
  57179. 0x9e6862cb3bd07332L,0xaa12ba0e4319929aL,0x0da45831f540f97dL } },
  57180. /* 31 << 245 */
  57181. { { 0x67d8ac9484bbf927L,0x7dd04e4e4ea01d33L,0x24ea6386f13def66L,
  57182. 0xa8a1acbe28f7f5f0L,0x5f578ffecc84c93bL,0xda8fe295f4ad116aL },
  57183. { 0x4b610ae48483347dL,0xcac5c5596255f9e4L,0x19a0e043abcfe47bL,
  57184. 0xcd0cc9493966784eL,0xcc59a36743279291L,0xaa504087802961b6L } },
  57185. /* 32 << 245 */
  57186. { { 0xbe45d81a1b270599L,0x50696e7d97d6c603L,0x63c5a516b078ea89L,
  57187. 0x9f3efe41b4464764L,0x84580e24101e5232L,0x00850a1ac8ae8220L },
  57188. { 0xbff4077ded55c404L,0xd74de734f2e7bf50L,0x4df4eef207e1c03dL,
  57189. 0x4ab3d0396e654d58L,0xb20056cd086f1596L,0xe4d08a278acd7cd5L } },
  57190. /* 33 << 245 */
  57191. { { 0x5510cebfe354510aL,0x48925b9349998c9bL,0xa05fc961e6d707a0L,
  57192. 0x85bf38f866ebc93bL,0xea637045254e615dL,0xae25e2e740d8459aL },
  57193. { 0xa98583176efafd1dL,0x863931fd5a51c4b6L,0x3810d732d4221708L,
  57194. 0x959a2f70762a30f3L,0x7bdbaff9420ad3acL,0xba41b20bebdfe90eL } },
  57195. /* 34 << 245 */
  57196. { { 0x5e4d3280d3171eb9L,0x3fb715851bc65c5bL,0x6558962a901a899cL,
  57197. 0x78b7cd3e7851462bL,0x21228419ca8f6495L,0xfd8d8f9b2d8be765L },
  57198. { 0xe5e90b92bc562144L,0x4f1f7ca1ae3243edL,0xd20178cd0985f4e4L,
  57199. 0xe5be263304253cbdL,0x1e34141c0d348fadL,0x0073fa0dad0eef45L } },
  57200. /* 35 << 245 */
  57201. { { 0x922ddb84d403f20fL,0xf7bccbb54681def7L,0x81a1200f6b580442L,
  57202. 0x64901025dc2f9884L,0x3746675aabe78edaL,0x3e750369aa6f005aL },
  57203. { 0x140477ceeb00658fL,0xc76a320ccf89be62L,0x00761f21658c127fL,
  57204. 0x669186dfb8b6b03cL,0xbcdf1c36dcb26a2aL,0x94a7aba5da876a56L } },
  57205. /* 36 << 245 */
  57206. { { 0x1872f65c26163265L,0x9fbaf44fda52ad9cL,0xbec7addeeda47d38L,
  57207. 0x6a04dc3078094f9cL,0x2c73b8f15f4498e1L,0x504909efd4fcfcb4L },
  57208. { 0x747efbc6b6b3a63bL,0x856e276de0dadd96L,0xa22459aaae3be3a4L,
  57209. 0x9ef59e732294a854L,0x0717d4e5d0e36205L,0x5a6afa3eb734cdf4L } },
  57210. /* 37 << 245 */
  57211. { { 0x6bd8fd330e938950L,0x8b26d7fa0f20c4f3L,0xd29a1121e0604d4eL,
  57212. 0x23d1cae60711c191L,0x460af39d51914cb2L,0x9cd04208547463c1L },
  57213. { 0xeb80d70e493b7a0bL,0x182568869171652bL,0x9f3007ad76ca8b21L,
  57214. 0xf9bdeb4664ac10c4L,0xdaddd584284ae80cL,0x5c7ea28a0022abfbL } },
  57215. /* 38 << 245 */
  57216. { { 0xaef75aa7dc3c897eL,0x98bab5852e6432a8L,0x522b383d83fb0ee5L,
  57217. 0xe0d8620f056a8589L,0xd63525dd39352633L,0x74362bbfaeb985dbL },
  57218. { 0x11419f4e8c0f17feL,0x3ca918b0494ba972L,0x39f2bc3c6e074e25L,
  57219. 0x3bb66618fbbf0d60L,0xee60c8f88579fecbL,0x916f3fe92a9b905fL } },
  57220. /* 39 << 245 */
  57221. { { 0x14ed31b6482b668dL,0x8e3e10db5b65978bL,0x72ff92eee8011bafL,
  57222. 0x5183d0bde1143531L,0xdb628188f9c740d1L,0xd23cb9c57570e3d2L },
  57223. { 0x9e893cacd2745832L,0x49762940ef4a2b31L,0x02f6f892324361bfL,
  57224. 0x332e089dd7a881bfL,0xe9303153f788f52dL,0xcd6d15564e7f1bd7L } },
  57225. /* 40 << 245 */
  57226. { { 0x8caa623d408b62b7L,0xa58aa0b0c0272b41L,0x089af856ee285bfdL,
  57227. 0x77b461f6d0674ecdL,0xbaa9d9b38d6f6612L,0xa8f26e12590669f8L },
  57228. { 0xb164340c5ebb5e28L,0xfdc11f7401ea89a8L,0x73c03b9176e4346eL,
  57229. 0x6a678eb17caad5fcL,0x103ff0790a87803dL,0x25d6fd2af7430a94L } },
  57230. /* 41 << 245 */
  57231. { { 0x72cc0aba66116d84L,0x642c88681039c0fcL,0xaeded9e6d96a7423L,
  57232. 0x4ff4163ccc5fea03L,0x180e4d3616483ec5L,0xefde910a7f6332c1L },
  57233. { 0x8042696283367060L,0x4edce3e8c28af356L,0x2452e4de965139daL,
  57234. 0x15129fd9547477a1L,0x7f628b5ed80998cdL,0x7c56d44541054b54L } },
  57235. /* 42 << 245 */
  57236. { { 0x4c3f81184d3d9da9L,0x332072f9e1e71487L,0x8cbf7284759ef371L,
  57237. 0x3d13d85cb98ce007L,0x507b467f980f4fd5L,0x9853b98bc74fdfdaL },
  57238. { 0x94b81534993f5e19L,0x316b761beeca71adL,0x09820a2331c04080L,
  57239. 0xc71a9bd4420e3114L,0x569f813822ea67ddL,0xe3ec5d2b3a41b079L } },
  57240. /* 43 << 245 */
  57241. { { 0x6085b24a19bb6f27L,0xc2f18e8f64dcb82dL,0x8ff89ed91fd3888dL,
  57242. 0x9fbe31db0e525a5bL,0xd52dfb5df0527573L,0x90288a3f703193c3L },
  57243. { 0x87bb5d30bb1ce380L,0xb6c9a4c9f0dcf59aL,0xcbc52966aeb86e7aL,
  57244. 0xd151178a9a1636eeL,0x48342994e4b48c74L,0xe5bced925af80bc2L } },
  57245. /* 44 << 245 */
  57246. { { 0x106882534918179cL,0xdeb69dde08143b36L,0xfb3c527b992363faL,
  57247. 0x11d05e93e9393832L,0xe3249558383a0f59L,0x2d0f3e11c234ab5dL },
  57248. { 0xd50a30d95c599ae7L,0x6d7abc6ce9f98316L,0x3d190629060ab6ddL,
  57249. 0xfd58473c81d69afcL,0x841193d24b782d62L,0x4f72696da771226bL } },
  57250. /* 45 << 245 */
  57251. { { 0x288895d056e467a5L,0x78166a95e025a5b3L,0x89df640e895835dfL,
  57252. 0xdc2b61f483dcbc50L,0xbeaa7363110dd6a0L,0x2346a2a5e7fdbe3fL },
  57253. { 0x379ae5fb6947a9c4L,0x9dcf01956370a372L,0x34c3c6c3d70d9a24L,
  57254. 0x98ee14b7fe6a3d0aL,0xdd37708bba8ce5baL,0x785adb86a15c3672L } },
  57255. /* 46 << 245 */
  57256. { { 0x4c93de89c5ff194aL,0x56aef366fdc94109L,0xc8cb2a0c5b0b23d4L,
  57257. 0xd73f1cef587ada16L,0x7138315a364b1463L,0x43940ef59f6bd411L },
  57258. { 0xad068e490f4a533fL,0xe8a772a33c7dac91L,0x74b815fc107998b8L,
  57259. 0x4b8fa9db92699ee7L,0xfb2de4bf4cbb023dL,0xe5833a390f67c29cL } },
  57260. /* 47 << 245 */
  57261. { { 0xe985acae7fc4fa91L,0x7730e38ec66c4282L,0x4b971449f4bda67dL,
  57262. 0x55261be02b001f47L,0xccde0c7126d0d8e6L,0xa7ac56fd701f6febL },
  57263. { 0x2488b28552642a53L,0xeada397c58fcfabbL,0xa3fc0452b679b0e3L,
  57264. 0xd0ef09ffec2e921aL,0x9fcfd991575fb70aL,0xf4adcbbb366cb10dL } },
  57265. /* 48 << 245 */
  57266. { { 0x517075af5faa0cb7L,0x400a22c1efaf68f4L,0x320ce9493b86f639L,
  57267. 0x511565717f296bf4L,0x0919607a96108276L,0x4fcc39a02f035900L },
  57268. { 0x5d13de7cefb73f3fL,0x19d725c5081c38e3L,0xf1b28089c0f58697L,
  57269. 0x2adcd1a30ca7ca20L,0x96c07f42c21e1be5L,0x94d28cacbaa0aba0L } },
  57270. /* 49 << 245 */
  57271. { { 0x0ff4983fd64cfa4bL,0x2c49c4918c55942cL,0x6093eb7f98eb20baL,
  57272. 0x1b33296a060497baL,0x32776a53c92d7b47L,0xf367e6b25241de3dL },
  57273. { 0x711119813b65228eL,0x2e5dc541e1394451L,0x940a4a0f98ef33e5L,
  57274. 0x1a395be32cd4315dL,0x4d49469f3c2e20e1L,0x5384f4b95c314f95L } },
  57275. /* 50 << 245 */
  57276. { { 0xdda2f3a0a256813fL,0x4363d190ee6cbae0L,0x61f4d607930d0094L,
  57277. 0x6767ff4817021739L,0x8450091bd2c5fadbL,0x144d02fe870710a8L },
  57278. { 0x73f45d9035524b7bL,0xccc7856b04615373L,0x0eb5cd436f081dfcL,
  57279. 0x9c433cbfe3a70d59L,0x9ee70f509818349aL,0x16de27347241c634L } },
  57280. /* 51 << 245 */
  57281. { { 0x02a24c5cc47f7db6L,0x519242cd33d60e1cL,0x543f39cf7244a636L,
  57282. 0x4ae15d698deb181eL,0xbaec81ef44261806L,0xe5cb18bb5fbf13abL },
  57283. { 0x7534787a032158e7L,0x770e1e34da0d9a6aL,0x251bfa7158f9baccL,
  57284. 0x12663214c8d39905L,0xb7bfa81b39c3d64aL,0xd6d439ffe3ee296cL } },
  57285. /* 52 << 245 */
  57286. { { 0x192ecf72d0aa048fL,0x23af774063e40c0fL,0xe4d98e41d804d367L,
  57287. 0xd868cc885405bfc3L,0x96909a5b6f6ece88L,0x16b05ad2bae60dabL },
  57288. { 0x7382a1dbde621949L,0x569bb6c9c47cf6dcL,0x892da43e1f2d098bL,
  57289. 0x6bd959b9bfa25649L,0x90617c419cb48f9eL,0x36059b73f110b22dL } },
  57290. /* 53 << 245 */
  57291. { { 0x1817b140791af82aL,0xf4a44cde042870c5L,0x60b8414ab5c0405aL,
  57292. 0x3b00f5ddf4dc4a9cL,0xa61aa0cfea81dd5bL,0xd43c37422554907dL },
  57293. { 0x3fa264a620569ecdL,0x2cc69c2ba5a46190L,0xecd4f6d3dddd072eL,
  57294. 0x41083b72dda8de01L,0x4bc047f110d6f156L,0x7164b432cac3203aL } },
  57295. /* 54 << 245 */
  57296. { { 0x7e7e08f401d45bfeL,0x04f9c9ed0e2d17e2L,0x3213556fa55bc148L,
  57297. 0xc58983c734449f0eL,0x463217afaf2bb219L,0xe08a51a2f8fba72dL },
  57298. { 0x2f44991e974d51f0L,0x15f2171f3f12af56L,0xbcc919de24cf01f3L,
  57299. 0x9ea371f269399bd0L,0xae8a8eca3ccf4574L,0xf0535b83ae499429L } },
  57300. /* 55 << 245 */
  57301. { { 0xe9ad8928f72305e3L,0x4144b6b9fce1295cL,0x672732a0c3487eb9L,
  57302. 0xf19d09a6147f70b8L,0xf45f6a11362a7684L,0x84ce4f25adfbbdadL },
  57303. { 0x31e4bb0ac3403b48L,0xefc861b9b478ab38L,0x3323df44a8320c49L,
  57304. 0xa2838aa1ed4f14abL,0xc80e30cc63bf7df7L,0xdd2d5ef9f15ec5ffL } },
  57305. /* 56 << 245 */
  57306. { { 0x3027c1698d6f8572L,0x89326850111e64d7L,0xe6eb6cd31b8b0179L,
  57307. 0x0d2d27ea6dd5a4a7L,0x41682c0007c82f11L,0x5a01c54c81075022L },
  57308. { 0xf3903f51fe7220d0L,0x75daeaba1f8e66b2L,0x1b625eed470bd3b2L,
  57309. 0xa46398a7e85a6293L,0x8ff6ef8c805ad640L,0xb3430f6795bfa3a5L } },
  57310. /* 57 << 245 */
  57311. { { 0x55d31765bc9341b7L,0x6530526ba312d125L,0x57ad29c02e9eb238L,
  57312. 0x31658a8282292155L,0x4d3417b169301639L,0xb38d6199e48c3d1bL },
  57313. { 0x4399d5ddcc5202eeL,0x4b1c293a5076cc08L,0xa46e87f5824171b0L,
  57314. 0x16f75919e4cb40e9L,0xd086562dac35d85bL,0xc2b41ad532713f5dL } },
  57315. /* 58 << 245 */
  57316. { { 0x2da6d2ca3248f02aL,0xae49d2fc675de73dL,0x4abb1a65cfbfee63L,
  57317. 0xc6cea22cf1246350L,0xdd510cf82d3faec5L,0x8b7d1b0865e7460bL },
  57318. { 0xc5b39c802737b182L,0xeee61e0d8963c709L,0x9cf9da61793e7179L,
  57319. 0x630637e52a295ba6L,0x18b85c9fa3881ba2L,0xca091a9464a94fe2L } },
  57320. /* 59 << 245 */
  57321. { { 0xcb68739f0bdec121L,0xf4907b3cd3811dabL,0xcf1b079b8c5d7707L,
  57322. 0x9ef9002d2fc6a56bL,0xc4c9d069809e8b64L,0xaf86a3db90d0eef4L },
  57323. { 0x30a52f994b24a04aL,0x03bcd7a958574ed0L,0x330ce8a1a5b52b8bL,
  57324. 0x632b3c2d5e6a8ed9L,0x7b080a2c18369382L,0x12173e5f65187ce1L } },
  57325. /* 60 << 245 */
  57326. { { 0x027f654feabe8ef1L,0xd9d327e481a51834L,0x9215df61980faa43L,
  57327. 0x76b4f8003ba045c1L,0x8f3ce587f400732cL,0x0abe1f34f133a3caL },
  57328. { 0x2ec690526de4f504L,0xa297cee4cb7ff026L,0xa31a76e3cadaefe1L,
  57329. 0xb701391e1173a958L,0x0a4279b08c8768f1L,0xd58927c12f8ede03L } },
  57330. /* 61 << 245 */
  57331. { { 0x71ea38454e630b0aL,0x4f696b59119263abL,0x9e7cb293f9cbab69L,
  57332. 0xa448d591c60ea8d2L,0x5021d4ef7d89eb52L,0x1a1ea5e3787663b1L },
  57333. { 0xa95af4eb05bedc8eL,0xfe72effcc2fba411L,0xa88b79bb19a2c6bdL,
  57334. 0xbed948fac84c78eeL,0x022dcf3d5ee7455eL,0x0c39c3689f56accbL } },
  57335. /* 62 << 245 */
  57336. { { 0xe0e818a8b77c9de2L,0x0dbaea885e07f77fL,0x6ece83b97b1f96f0L,
  57337. 0x3c02e59631733a5dL,0x44bcdfcdd14828ffL,0x2791ca54b66f6107L },
  57338. { 0x1a051c5a6198f24dL,0x9cd5f09a17627301L,0x64323392004a0cb1L,
  57339. 0x75d6819b3cc13e05L,0xf5cab2874a58768cL,0xbe090e83e3ca9332L } },
  57340. /* 63 << 245 */
  57341. { { 0xd639e0f3ab9b278dL,0x57f3f8cafa2407b4L,0x6720549f6c11f6abL,
  57342. 0x6ad1c608e784308bL,0x62c31e4a196babbbL,0x764b4deed1d36447L },
  57343. { 0xf44efcefaf4407bcL,0x7c1f45dbb3ca82a3L,0xf43e4a8773b952b3L,
  57344. 0x145cd2d6ff478bbeL,0x11ef2df450c8e708L,0xa2af06f044491734L } },
  57345. /* 64 << 245 */
  57346. { { 0x8cd6c9f7c90b13f5L,0xec0c187d52a9d469L,0x9c0db0f589b8ad2bL,
  57347. 0x692a8db70d9c999dL,0xa407fd03c9f84ab4L,0xa5742fd1cc9a906cL },
  57348. { 0x4813a765c8e72867L,0x9c65943de2e9a10fL,0xca6bf2934fa0a23eL,
  57349. 0x1dfa3af7cb1f8d7aL,0x28036f5498d10c53L,0x7bfbcaf20e012c13L } },
  57350. /* 0 << 252 */
  57351. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  57352. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  57353. /* 1 << 252 */
  57354. { { 0xa53f1a104ec177f6L,0x4a2ef9aa3faa5ca8L,0x30efed8532976d13L,
  57355. 0xcf5ada165ee692d1L,0x3ceda69d259e7cc1L,0x2aae29e99baab472L },
  57356. { 0x7ee5baef737cc8bcL,0x1717af747fe68dedL,0x9e5c8ddacfdaff63L,
  57357. 0x575c8db9cec07693L,0x9afc8ae0fdfb509dL,0x27836d3685651697L } },
  57358. /* 2 << 252 */
  57359. { { 0xa7342f9517eb9264L,0x9264a6a00a8a6eefL,0x50e48bf07471c384L,
  57360. 0x729e5ab130827f34L,0x17199191ea779c23L,0xd13ab8539fa9fd58L },
  57361. { 0x7d5799373b1d773eL,0x65f8e7c6d196c3dfL,0x253f7d51e8541725L,
  57362. 0x107a793dec720355L,0x1c14d0566aa16268L,0x9dc5fca38bbb231bL } },
  57363. /* 3 << 252 */
  57364. { { 0xf5689c5e12b09f53L,0xc1da32e19e87ff7dL,0x1af879d012eaa533L,
  57365. 0xdba775e6d9271e94L,0x60f8507310e63c34L,0x445f3e21a686a24bL },
  57366. { 0xed5ca8fa15bc277eL,0x9839198a364ab7abL,0xe2ee39426d90a7d4L,
  57367. 0xe5b3e4cbccd37e76L,0x9013bd08f1412e0fL,0x82f5c532ce999048L } },
  57368. /* 4 << 252 */
  57369. { { 0x61d0e01bf3fe3441L,0x674e52332af47609L,0xd4a4e224b362902dL,
  57370. 0x45923c129e0a5d16L,0x4fc2bdd495e580e9L,0x6d1d974ca8c3d954L },
  57371. { 0xaeff1135d0bbeaaaL,0x013ab5b31baafc9eL,0x80907d3eab8f9f31L,
  57372. 0xaf2c12166d566c15L,0x0082daba952e6fa7L,0xa46710032df9e03aL } },
  57373. /* 5 << 252 */
  57374. { { 0x91b379c63223d561L,0x8cb7b8cce203417cL,0xd0f44208176b3b81L,
  57375. 0xd18c2118aaba5cd3L,0x4aed5c9770794f9fL,0xfc540dc4f4c33894L },
  57376. { 0xb8e6798a0153a8a8L,0x6537dcdf43c4b0c0L,0x1b7eef39ab557397L,
  57377. 0x175e3934b7103105L,0x943abf4a82ac89e4L,0xeb1a61f957ffcdb8L } },
  57378. /* 6 << 252 */
  57379. { { 0x99c2b4cd66476227L,0x576a4b0662850cd3L,0x067bb66b5a352b7aL,
  57380. 0x3c7d6fc43ec757edL,0x2f69291cb9d36adcL,0xc7c0f3257c9143a4L },
  57381. { 0x768c3c400627fee2L,0xc214d81da8fde577L,0xd86e4b025299ea1aL,
  57382. 0xbe46b7e91a2d4005L,0xaf865a169317fa60L,0xfbc3268fcdce2fbeL } },
  57383. /* 7 << 252 */
  57384. { { 0x66fcba52d8fbe900L,0x9f16434c861b3e33L,0xa371b97241b4305fL,
  57385. 0xb2d858ce25b6af89L,0xbab07d53275f9e8cL,0x3b5951f8d525bef8L },
  57386. { 0xebf79e3ca1755b0aL,0x4e6256e7b467b1c2L,0x7dbd8b66cba1a659L,
  57387. 0x88ea40138b1eb8b6L,0x210ac1b38fa6436aL,0xe93e22c23df40e33L } },
  57388. /* 8 << 252 */
  57389. { { 0x5f79f0df1fd64063L,0xd2d39dd381e118ecL,0xd631a68e11571c5bL,
  57390. 0x6d072b4e2474faf7L,0x5e043a6d862a924aL,0xcae58bd8b0fc8d7aL },
  57391. { 0xf54bb7f3b1351f28L,0x4588b6280413275eL,0x81459f4c5909ec04L,
  57392. 0xd28cda25abd16460L,0xbb676d018db1c69eL,0xc0056e2dac5036f4L } },
  57393. /* 9 << 252 */
  57394. { { 0x1ce187bf323169baL,0x1dfaef8661ab5073L,0x1893dc7b2ae468b5L,
  57395. 0x0748ec86123848d4L,0x0d2877b46a96eb12L,0xb6063e75e9322495L },
  57396. { 0x1cb17189d7d1828fL,0xde41f11944d1b318L,0x7ce0f87610f0b74dL,
  57397. 0x2c7c91ee7a98f86bL,0xb641418e750f3ea1L,0xae2cd2e280094054L } },
  57398. /* 10 << 252 */
  57399. { { 0x9f6c6ed598d8e086L,0xa9ad63ca2d3fad85L,0x055b8323fe016926L,
  57400. 0x039fbe287b3a8d68L,0x544a8bf5fb6b315aL,0x04b122fb647fed85L },
  57401. { 0x1e9807fa98085b1aL,0xb78a36a771c12696L,0x4ccc1a2cdc22f95bL,
  57402. 0x6ff4997d54d1e818L,0xecb5bdc2f08c22dcL,0x6e07e2c146a27762L } },
  57403. /* 11 << 252 */
  57404. { { 0x602077aceaaec565L,0x9dacf68224568aeeL,0xa490fc1e9cfcce26L,
  57405. 0xb2ac94b3303218baL,0xc0208604ab33f9aeL,0x801663b6e39a6668L },
  57406. { 0x1defbb42961b0927L,0x688b445e83e318b3L,0x34fe2830c11648e8L,
  57407. 0xed56e99360066dfaL,0xa5f30f9a07671eccL,0x02c40260a3222e8dL } },
  57408. /* 12 << 252 */
  57409. { { 0xfb2a11b4ea347db9L,0x2360667e03350681L,0x1aa6e720a02a1261L,
  57410. 0xac2bd2eba110bb21L,0x8ab2f9063c9b4568L,0x5f46263d5ace1f17L },
  57411. { 0x97067801eae704c8L,0x35d2637ea715d313L,0x24cdc3d0c77573daL,
  57412. 0x6f97cd07e2562b2aL,0x27bcd62d5afb29e4L,0xc38ac1c55d29f5d3L } },
  57413. /* 13 << 252 */
  57414. { { 0xd9c38ba47c88f46aL,0xdd07c4d79946ebe4L,0x908731dcce0e5417L,
  57415. 0x43088d11e145839bL,0x9d37419d07b61543L,0x440cdbcd2c3c7c4cL },
  57416. { 0xa6a6fed673216db4L,0x15ce171a198cd32bL,0x198c256974e6a085L,
  57417. 0x5fec853f3dc2a714L,0x329250bdd5923068L,0x1d82373c9f6195caL } },
  57418. /* 14 << 252 */
  57419. { { 0xa8e17be53777b2aeL,0x534e3a3bcc284224L,0x7f34ce458192cfa1L,
  57420. 0x0009a72966d0e03aL,0xc42053ba524ce1fcL,0x834e98fe6d092e58L },
  57421. { 0x400c65a1c8b0f751L,0x268bfe6f107965ebL,0x0f141c0332e0bc69L,
  57422. 0x33bc6e64597a2264L,0x039a4ae9454a0d6bL,0x2cb0bf550b07ddaaL } },
  57423. /* 15 << 252 */
  57424. { { 0x69056cbe63769bb3L,0x710a67d385044d35L,0x971ccbdeea855332L,
  57425. 0xd655163a0fd0d210L,0x619c3f9adbb8a8b9L,0xd156f73d49a014e2L },
  57426. { 0xd04ea0a5a129a598L,0xc9c04da6fa2f12eaL,0xc0ed654ae98b3187L,
  57427. 0xa254eef6a82f9ec4L,0xe537695fa386a72fL,0x170f1ed4a74eb453L } },
  57428. /* 16 << 252 */
  57429. { { 0xdbe04c3044ce3ad8L,0x995fbb1b4ce8aad5L,0xdbf8b54670911457L,
  57430. 0x9e683b5b3f7a1757L,0x7b89a08a9c7bd62cL,0x448865a40b3fc97eL },
  57431. { 0x0ac9abfc3bb01e94L,0xa07760421e756124L,0x0aa6c335d9deed97L,
  57432. 0xe270580f72603e08L,0x70857a946c783bb2L,0xa0047774caa929aeL } },
  57433. /* 17 << 252 */
  57434. { { 0xf99a63c5e8c4a440L,0xc7fd1d1419d65168L,0xfb6c21d696d5e80bL,
  57435. 0xa4a7304944b833beL,0x093728d5127b1599L,0x9046cbe2c89e7195L },
  57436. { 0x21e2863c146a80d3L,0xb1ac7e1bdd559c13L,0xbe5ba65c72c39063L,
  57437. 0x7da5feb87722cbc7L,0x122615d0f17c02c5L,0xd44f477179e5fcb6L } },
  57438. /* 18 << 252 */
  57439. { { 0x0d913830e2d28da9L,0x0465920a8a164385L,0x79959ce1b0ad65d5L,
  57440. 0x6c94690759a966d6L,0x4ccb0e5e832c24feL,0xa8c5bee5d6af2a10L },
  57441. { 0x264dcc118c5791fdL,0x719f23ac5b58ce85L,0xfbff8a2f8e54b029L,
  57442. 0x0c9240be864e959cL,0x8f7c21733c37c665L,0xfda848d9f164d354L } },
  57443. /* 19 << 252 */
  57444. { { 0x203ea731f35d11f6L,0x90610383f9f9001bL,0xb9d3c302ed97e6f2L,
  57445. 0x4c529736c9a67e6cL,0x2e440b1781f6597dL,0xcc798f5616aabf20L },
  57446. { 0x490f50642832ffc5L,0x585e462a7a19b125L,0x99d73e391b06d98bL,
  57447. 0xb817e97aab696d7bL,0x9df2f65ac28dffeaL,0xa48dad47045fddd7L } },
  57448. /* 20 << 252 */
  57449. { { 0x2878c20d62e5fc09L,0x419ed2ece7f012abL,0x3bbc853fbaa21e7eL,
  57450. 0x412bc3c54844c009L,0xc4b150508b012199L,0x9d160f4c310d5fbfL },
  57451. { 0xcb61b69214f60becL,0x436348c064092943L,0xce8c136e3185cde0L,
  57452. 0x97b034f68be5dd85L,0x7697adf92701631aL,0x2ddd86361fa6e8a0L } },
  57453. /* 21 << 252 */
  57454. { { 0xde8c2c963e9ff7faL,0xfdf1e25d8b75bbeaL,0x28ba3be59c146264L,
  57455. 0xfc1df52e81fcb0c9L,0xf9341c43af3ba66aL,0xe81c22470d72188eL },
  57456. { 0x2ff00f1069c62b9dL,0x1077962e71498d24L,0xdf35b17ecc34ece7L,
  57457. 0x3516c33687eab2daL,0xe71cf7ddc72b7911L,0x6c9233d92c286c56L } },
  57458. /* 22 << 252 */
  57459. { { 0x7ce6389d162754d7L,0x8f03eff514e0d8e5L,0x9fd2c896ef402e31L,
  57460. 0x4a4bf70a2195b0e6L,0xe6043a383c8d82dcL,0xd86b647e8bed7c65L },
  57461. { 0x21bc56f4a4c87660L,0x8c99d6270c05564cL,0xd6b82e9014050ee2L,
  57462. 0x09bf6a3eb6b11f0bL,0x9704b36731dcd6b1L,0x871c85c85e3d44caL } },
  57463. /* 23 << 252 */
  57464. { { 0x93024430e5236badL,0x4c5872728b883d1aL,0xc265b94bba68d3bbL,
  57465. 0x7d8fc82a648d9b7eL,0x57086e6e75ac264cL,0x4b8a157102fc9ec8L },
  57466. { 0x83ae238e86849a9bL,0x2eaad9b8a69acccfL,0x2d82c029d44eaa39L,
  57467. 0x8f5b9ed833d7a556L,0x05c83328eea8b609L,0x537069efc3c96005L } },
  57468. /* 24 << 252 */
  57469. { { 0x292f8874b25c4d4aL,0x54961fd87e79f526L,0x949a1fae008c6ec9L,
  57470. 0x6ae82f0d525524fdL,0xd1f6f4ef2edbcb1aL,0x41617a6d977ddffbL },
  57471. { 0x6ae38fb71baf0668L,0xa79ea228d538ab3cL,0x70babb05fc44e273L,
  57472. 0x247384fbbca85910L,0xdc0e069b6a564959L,0x37a9c5521a7438adL } },
  57473. /* 25 << 252 */
  57474. { { 0xaf2c87828a4b7251L,0xcb5ebfd3c1bc7f72L,0x160b77e560579615L,
  57475. 0x297412e3c10f067cL,0x5ad0681ef7df86c8L,0x2e8c63529b3e3afbL },
  57476. { 0x32372cc74cfd3266L,0xb7abc8baa820f8b5L,0x857d545519f34baeL,
  57477. 0x5c055ce920ed65beL,0x1d8a59ca537ad6b7L,0x1135adcf7ad88633L } },
  57478. /* 26 << 252 */
  57479. { { 0x47e6ed9530034df1L,0x1839f488321bed8dL,0xb6b67d452ac8a9f9L,
  57480. 0x2fe1efc6182e4a63L,0x2da34bde0c1185c7L,0x6e5d1621edfdf9aeL },
  57481. { 0x3bae9db77120804cL,0xf094b0676d986ef3L,0x029c9246853e24ceL,
  57482. 0x3abacb1b25a82463L,0x58777e1389c5616aL,0xaedd003b5aeed714L } },
  57483. /* 27 << 252 */
  57484. { { 0x7494e4319da5fb0dL,0xc684d74bee3fd6f3L,0x12fc899403a87d91L,
  57485. 0xc4c55e692d6e3931L,0x63e1255896336788L,0x36c297a5f78371fdL },
  57486. { 0x4cd3f9c4a63b313eL,0xd2825e17c543e507L,0xd37e36d06a4e64d0L,
  57487. 0xab9559ec11872774L,0xaf168b34880a5d00L,0xb0c916a10c0c3f42L } },
  57488. /* 28 << 252 */
  57489. { { 0xd389397c834eaa9fL,0x2271ea0d2a5532aeL,0x5e59a23ae1f92e9eL,
  57490. 0x9f179b8c1f7b91f5L,0x2a1c10028de2dc8bL,0x6ac83e58787a276dL },
  57491. { 0x0facd4756d9d1571L,0xcceaae5e4bf118e2L,0x4e8008b7620fbecbL,
  57492. 0xff633fef7a1474cbL,0xfbefea80ce377357L,0xebb9a9460feb7724L } },
  57493. /* 29 << 252 */
  57494. { { 0x0bab441ae9803b71L,0x309ef14684e2e21eL,0x17ccd5b6851b6519L,
  57495. 0x8b5e7e300126f470L,0x0560cb9d847eca03L,0xc45850bf11ade256L },
  57496. { 0x08603f5c3c33dbbdL,0x21887bc9708ae545L,0x3bd25ad480014ffcL,
  57497. 0x5eb0f89fd3a64409L,0xbca2726b4c3dd83dL,0x611afd2fe4259797L } },
  57498. /* 30 << 252 */
  57499. { { 0xd9cb4233c4f4e0e5L,0xcfc0576818e49029L,0x8e9c8360526f05a1L,
  57500. 0x8e83037aa56d6c3dL,0x33507065c47e6742L,0x5ca2c8d8788b5da3L },
  57501. { 0xf355cee9cfb0b6feL,0x0e86fd73973ddafdL,0x27fc6c56d44fd889L,
  57502. 0xc9ab416ff7d93f3cL,0x778c3f160d063d62L,0x175e5d920b5085ddL } },
  57503. /* 31 << 252 */
  57504. { { 0xd62406873be63d8cL,0xe8c93b93b80059a6L,0x33bba7dfe065854fL,
  57505. 0xcb26543f36b34e45L,0xc17ee58dd2d0c3d5L,0x69752f49bae1bcadL },
  57506. { 0x87e31b429b20106aL,0xc520424b06734eb5L,0x993240afa896d17eL,
  57507. 0x5238851bc2762a62L,0xce399f9d506d7dbfL,0xa4822d23040cc7d4L } },
  57508. /* 32 << 252 */
  57509. { { 0xf071c9878fa06859L,0x0083e5311a52390bL,0x845eb12a61483bc2L,
  57510. 0x17471d801caf6dd6L,0x7b603616ddc21b92L,0xd38fe0f6b992536dL },
  57511. { 0x433f0652297c25a4L,0x03d4d8fcb1c4bf41L,0xdf617386a9adf49bL,
  57512. 0x4bfeb3992cb2944fL,0xbf288427b3d9c076L,0x17818c3e965b4576L } },
  57513. /* 33 << 252 */
  57514. { { 0xfbcff79f6df360c9L,0x342f9ded2bd94c22L,0x2dc5f999283f2300L,
  57515. 0xbea18d9893cc3330L,0xc197176269a7da4eL,0x72de17ee93ce69a3L },
  57516. { 0x6c354a6184170a91L,0x031ce0debe47ef92L,0xbf256fd418658739L,
  57517. 0x0395088a0d037d9aL,0x61179c42c5a05970L,0x0d5a9f7db8b6ab64L } },
  57518. /* 34 << 252 */
  57519. { { 0x18be1d605a44a8dcL,0xb512d945f1d18ee0L,0xd2e1f6623af39ec0L,
  57520. 0x440469136c223676L,0xe7a860836a60a4d8L,0xaefcfc2dc7e09d3bL },
  57521. { 0x175817fad685c9b7L,0xe20b6c9e4b9d0557L,0x9212e7bb51fe560dL,
  57522. 0x748aafb7608b53c4L,0x86186d4fd9b06850L,0x4cc6041376512c08L } },
  57523. /* 35 << 252 */
  57524. { { 0x2d5be3b00c127e46L,0x8c6f38fad9b04e47L,0x49c444098736f31bL,
  57525. 0x5469ae47f53aa908L,0xd84856f3492fd120L,0xd04b1fa20725e199L },
  57526. { 0x50c2e80a8e7056f2L,0x415db04c9ba2e259L,0x8e4c56ae2eb201e0L,
  57527. 0x449e4d9e5082ce94L,0xb5ff077a7345459dL,0x96d10f1e07330e72L } },
  57528. /* 36 << 252 */
  57529. { { 0xac77126e3b3094b7L,0x7c1e7673bdcb616fL,0x90491f8176993114L,
  57530. 0xf17c08a8cc8da63bL,0x972a3bffaa050364L,0xdef45b7f65a9cd57L },
  57531. { 0x105ec5ba2b9b889eL,0x7066821150f7a61eL,0x11daa9dbb1d63a40L,
  57532. 0x6065451007790568L,0xfaa219cebc2b6d2aL,0xb1b8ace93e5163dcL } },
  57533. /* 37 << 252 */
  57534. { { 0xf8042ae2859b0f22L,0xd8a5d3a200d8bb8cL,0xe85c596189faae14L,
  57535. 0xb7d636f906611c0aL,0x35b68bbdd2bc8957L,0xc86f5be5b7cf558cL },
  57536. { 0xb602a00369c17e74L,0xc39479cfd8a1fc01L,0x6dca5c81f733237eL,
  57537. 0x9c8cefd41b2e2cccL,0x2e32a323caacb4b8L,0xf7406874ad639090L } },
  57538. /* 38 << 252 */
  57539. { { 0xea3a358e24c1bbfdL,0xfd32af33571400aaL,0x2ec3d44da413949aL,
  57540. 0xa0d8594a7bd121f8L,0xb32997a1d6b6153fL,0xa0f48d98b9469c6eL },
  57541. { 0x236b7a18fba15481L,0x49dee3bd98ff970fL,0xbc27ac7a7ee97875L,
  57542. 0xd1acf2be28ac6279L,0x92e7ef02514c8328L,0xb2d7a8304f48b497L } },
  57543. /* 39 << 252 */
  57544. { { 0xcaad0554d95946a9L,0x992268c973ed1281L,0x6c0b1edf7b1b25e1L,
  57545. 0x4de2d9f81d6e73dbL,0xe12a4f1c5a2950a9L,0xe0cdf7af36ac18fdL },
  57546. { 0x16e7332d1abcc9f5L,0x4dccc1505bac1c75L,0x1b48bbc141f8c231L,
  57547. 0x3702cc2693692a4aL,0x9e9e53dd311c5dabL,0x27bc006cfe5d9fd3L } },
  57548. /* 40 << 252 */
  57549. { { 0x2bb798ff689f43efL,0x5813e4415f26ec54L,0x51f64c495005c929L,
  57550. 0x60e213a54b42e417L,0xc152844262cc3734L,0x6ecd6c3b09d994e1L },
  57551. { 0xa6e72f7183dd047fL,0x3836f663b0019803L,0xbcf1265b257493cbL,
  57552. 0x59b15ff09e62d78bL,0xaac5ed5b6cb92ecfL,0x37e6ad7d9662651cL } },
  57553. /* 41 << 252 */
  57554. { { 0x04743bf8b224f6c9L,0xec04b641ae33b1caL,0x6301f51623a76fccL,
  57555. 0xf1aa954675e15fe9L,0x878c64ecd95c1972L,0x033df5ee3ba7578aL },
  57556. { 0xe5e9ff7c47f4721fL,0x9b3d93fa03eef7e9L,0xcd0be6ad573deaa6L,
  57557. 0xf377570f3bbc8a16L,0xffdc04c161c37393L,0xd9eee46dd26d659dL } },
  57558. /* 42 << 252 */
  57559. { { 0x33f933604d4b7317L,0xee44b3e02fe482ebL,0x5a96870480f1fde5L,
  57560. 0xdfd6293b5510952fL,0x2abdc1989cc0af6aL,0xe608e2769ff45aedL },
  57561. { 0xf408670e3247e796L,0x3144153535fe07c4L,0xa941f96e2870053dL,
  57562. 0xbe908795ef6383adL,0x82b620a63560fdf0L,0x2c1cc1ae135de5c8L } },
  57563. /* 43 << 252 */
  57564. { { 0xa829397c727e5988L,0x305659bac6239b1bL,0x9b13701200392cb0L,
  57565. 0x4eb1ddf376091862L,0x68b64b19202bdd8aL,0x56c427c5228071e4L },
  57566. { 0x354b1beac3375accL,0x94a45b4e54e1194bL,0xf528df0178095edbL,
  57567. 0x6fb0867146fb9ec8L,0x977efc84c555bd48L,0x8230d6f7c268a20dL } },
  57568. /* 44 << 252 */
  57569. { { 0x003d4004b8d81c0bL,0xd3d5048f4168a407L,0x7748ecacc6675bd9L,
  57570. 0x9dba4539e2612cf4L,0xa5ebbccfd8770b8fL,0x206b4a9aadd90558L },
  57571. { 0xe446ed9c81b5c103L,0xcd2434184d2199dcL,0x0840f6eacb0d70d5L,
  57572. 0x6fbbf1b43107367bL,0xde9444f7d29335c8L,0x33ef004c66252eb6L } },
  57573. /* 45 << 252 */
  57574. { { 0x10eac97aa5a6546aL,0x6129392fe231f95cL,0xfd41bda100e2aae3L,
  57575. 0x5b1f93299d8c6288L,0xf1d2fc9246b7df40L,0xbc6fbacfc5df62bbL },
  57576. { 0x64885d924b5af011L,0xe4f3ade883461896L,0x644ce7a7a4a62e43L,
  57577. 0x74c9d145337b2730L,0x69d714840f83222aL,0xbfbc594ec27c0fdbL } },
  57578. /* 46 << 252 */
  57579. { { 0x3263c0517ed92916L,0xc039b94884e3f519L,0x54aa433ede89de6dL,
  57580. 0x92f76292c0971a03L,0x8457b2312550a2e8L,0x46ab1f0f11cfcd9aL },
  57581. { 0xd97b95c1c6d53077L,0xe8db11d159550599L,0x2092c81385ea4b32L,
  57582. 0x149b6b2cb7ced408L,0x2ada6fa482b9b22fL,0x53a5576a25877963L } },
  57583. /* 47 << 252 */
  57584. { { 0xa1e2c2a8195ad455L,0x65e90a3de7f61038L,0xb01eaa52ec623680L,
  57585. 0xfad0f9f110302efaL,0x9e544b5449274409L,0xfc9037de8c3a0925L },
  57586. { 0xbcf196fcfd139cdaL,0x0a1f747c4f6a2cdcL,0x580a9abab879fe3eL,
  57587. 0x08a20f1c5ee74778L,0x7c9be7de464c5271L,0xa4a1972918e85a09L } },
  57588. /* 48 << 252 */
  57589. { { 0xce23a19aa17e560cL,0x6491b95f62550e2bL,0xc72000121d15a005L,
  57590. 0x15fde735f4355a1fL,0x3849761f607f7807L,0xcbe322d018204691L },
  57591. { 0x75756e4ea95e8e91L,0x365959fe817a9b8eL,0x631232763d4ce3dcL,
  57592. 0xa769d2fef1d66e00L,0x8624ddbac28829e6L,0x03274297d2df06efL } },
  57593. /* 49 << 252 */
  57594. { { 0x2ad21bdadf3b1368L,0xf4f9d5270b3001abL,0x10182c5557ecb528L,
  57595. 0xe00db71565372a5bL,0x2018e0ed74f2bd83L,0xa11b47066175efb4L },
  57596. { 0x3172264722d565cfL,0xb20c27ab2f0faac9L,0x4ca2982a6260f995L,
  57597. 0x3850ef89b7085c6fL,0x5b4a6e235f0d45a3L,0xde562df9b7523682L } },
  57598. /* 50 << 252 */
  57599. { { 0xb34ecab233bb63f6L,0xe6cd56a202944c4cL,0x2690cc39489a8d88L,
  57600. 0xcdfe368a4fe612dbL,0x23069ca5e9e9f7adL,0x7b87105cc07d742bL },
  57601. { 0x5114645a8b58ea8eL,0xd31fb4821829e8aeL,0x5e235d95c4b28520L,
  57602. 0x2a1cda885c2292d2L,0x95d77447ee925b6aL,0xeec419a3df18845dL } },
  57603. /* 51 << 252 */
  57604. { { 0xb8903f10be9ffa75L,0x8bf7fc786432dcc3L,0xcf3f7cf15d028549L,
  57605. 0x7684baf29846f2d9L,0x4c580edbe9e063deL,0x0ac5c3edf2d70321L },
  57606. { 0xb9ba10e184c5d96dL,0xbb854b39d7aaabafL,0xe29d66964793c87aL,
  57607. 0x7b0fe1d448285ae5L,0xa143454df0121733L,0xa286eb043aa5ddc8L } },
  57608. /* 52 << 252 */
  57609. { { 0x8e4dcfc88c93bc5fL,0x9f96d60a1b233295L,0xae5262e91d447dcbL,
  57610. 0xafe58396541d46c4L,0x3e733c2636ff8f80L,0xcb36a37748b81037L },
  57611. { 0x9bcbfa9fc406ef17L,0x57a6e28006fb128aL,0xd86b44db9a771eb1L,
  57612. 0xc7ce106e62545a4dL,0xec6818a6b254c908L,0x4b8d3fc550feb342L } },
  57613. /* 53 << 252 */
  57614. { { 0x8faa39c8b609ef4cL,0x0209b3a7d8225cceL,0x11254c211feffc0fL,
  57615. 0x64930dcdc1e42ad3L,0xf5b058eb1cbb39fcL,0x2f870e3341cb5065L },
  57616. { 0x61b3611cf7663f95L,0x981890b637941996L,0x00c42b0908dd6854L,
  57617. 0xac42af5de17da075L,0xaf3a394c282b8d53L,0xb53b3b245d8bab96L } },
  57618. /* 54 << 252 */
  57619. { { 0xe17c9d98d90f0c83L,0xdd4aa8ac6d984408L,0x94b6fc50f71aef46L,
  57620. 0x2e6b5d24f0a2009eL,0xcb9d9cd17d8d75e4L,0x5e732a5b962a1708L },
  57621. { 0x9d774f1c7fd01089L,0x56bc35aded95094bL,0x6844220bb9c797d4L,
  57622. 0x40021d8e90ace48fL,0xddc769c5701baad0L,0xe23e8f9e333ac2deL } },
  57623. /* 55 << 252 */
  57624. { { 0x6cf6faf6e92e42bdL,0x759dc78b0d1e6a0eL,0x18fd55ff11532759L,
  57625. 0x04a306d7e9af0c07L,0xd7febf615ef7f82eL,0xaa04f1dca65cae01L },
  57626. { 0xb084407c16442bc2L,0x17ab4f74f874f10aL,0x236368d40fb6cea7L,
  57627. 0x451ea8206f66813dL,0x4a61097b1760e6ecL,0xa8655cfba01bdd2aL } },
  57628. /* 56 << 252 */
  57629. { { 0x52fced3116f01d7bL,0x88c6b172daf046aaL,0x1a189403fe7a338eL,
  57630. 0x39741ecd61798b1eL,0x6a47b0712934b879L,0x3b1a5dd1828d1e9dL },
  57631. { 0xd4bd48487f35a7efL,0x71774b5bc1eebaf8L,0xa86471e5d55344baL,
  57632. 0xfbf145f17b8a483aL,0x70f9b214aa53802cL,0x995af93010b066e1L } },
  57633. /* 57 << 252 */
  57634. { { 0xd2714b97aadf25ceL,0xb95c54162a7643f1L,0xae7dc619ba2f1939L,
  57635. 0x30e5d013b0db537eL,0xfcd1a456753f0813L,0x19f7117cef62925cL },
  57636. { 0x40a22e35423d3c56L,0xb0271e9926a5534dL,0xc19f703cc76c9a1eL,
  57637. 0x9b8fe585560bee08L,0x48c7797d3cc772aeL,0xabd2148e10bd6393L } },
  57638. /* 58 << 252 */
  57639. { { 0x046fb36cc34a7ba2L,0xd42e56d42a61a8a6L,0x16b8fd2d3d4b1184L,
  57640. 0x6f9e85a26da29888L,0x1ff7324bdd683c49L,0xdb3746db27bb8e2aL },
  57641. { 0xa7e586e684be7f99L,0xfbd0c0ee61740d6bL,0xb80509bab2071320L,
  57642. 0xb5bf09fea3f03641L,0xe872cd854971e39fL,0x9bed91c0ce2b2db2L } },
  57643. /* 59 << 252 */
  57644. { { 0x85177e7ca6bad7b2L,0xd5b1f0901425b611L,0x6b5f16223c4bfa24L,
  57645. 0xde34a692def66d8aL,0x96c0663ee8a1b7a0L,0x43eb91ed459c8bbbL },
  57646. { 0x6cc7e78b7d3d8b92L,0x3c9da7efe0338ba8L,0x18d7ab00e21360b4L,
  57647. 0x0785ca897f9df01aL,0x5bcfb8302220f1efL,0x8c61a3bfa52bbf42L } },
  57648. /* 60 << 252 */
  57649. { { 0x4dcc3b82196c21d2L,0xef0e0e1e61071fd8L,0xa2a28c3b35a013f7L,
  57650. 0x7550d3d7f6b58f80L,0x0f1fc9d58101742bL,0x027874f055982d5dL },
  57651. { 0x5a10b98c629bc409L,0xa28a1b2baf494679L,0x84afdbe1b96578d8L,
  57652. 0x201a8062d427238bL,0xe321ee2d89fffdb0L,0x0b304de4fb89f171L } },
  57653. /* 61 << 252 */
  57654. { { 0x5d8e16c0d7700dfdL,0x336e30fa24260211L,0x7ba72067ad557ce2L,
  57655. 0xcb388c3169621e0dL,0xcf6b7d813dbf7ba3L,0x7bfe43a91cbd216aL },
  57656. { 0x6c40516adcffe0b5L,0xe77507f083b7ea33L,0x5b5cda074ba1fc8eL,
  57657. 0x46860dd296c6d2c6L,0x4716114f0eb5013cL,0x05bd136898c3642cL } },
  57658. /* 62 << 252 */
  57659. { { 0x7fac263852ca5d3bL,0x35e5d8d0f5a2a596L,0x4c7129210011a394L,
  57660. 0x400168f7a9c417e0L,0x220994b447b77b44L,0x01a7580af548c0adL },
  57661. { 0x59870c2afe292ad7L,0xdda35a1a2abf8e7cL,0xa3082dc4f16d0c7cL,
  57662. 0xd4dcd5f38557c9e8L,0x38d45cc6ba7f0f99L,0xdefc0b1da7c18157L } },
  57663. /* 63 << 252 */
  57664. { { 0x5db2ed891c43e426L,0xeed247709adf4a50L,0x0b5e19765c8b90e1L,
  57665. 0xe9db695ffa18542dL,0xc16d3bfb8d043dc5L,0x5c5feb44f11d3430L },
  57666. { 0xd44e3d57365593c0L,0x1338f26c8796edb5L,0x789b325e051ca644L,
  57667. 0xaa93b75d1579c2bbL,0xa39a8ec57842c0b2L,0x84225134550ddf11L } },
  57668. /* 64 << 252 */
  57669. { { 0x9ec1159727a28f9dL,0x96f2c44bb847cd83L,0xacf794e131fca111L,
  57670. 0x438b917896076f45L,0xad71035b51732588L,0x2db32f32a5d910daL },
  57671. { 0xefaad0e8fe1cc184L,0x6f0360b52e00bbedL,0x99402426474ce326L,
  57672. 0xd53b687a2aa270daL,0x96c8bb78d78fa6ebL,0xd07f3bba6e699411L } },
  57673. /* 0 << 259 */
  57674. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  57675. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  57676. /* 1 << 259 */
  57677. { { 0xfe1f11ad389283baL,0xc87e20b60cd91b22L,0x99d0015a3c5babf8L,
  57678. 0x7e795b4d5929ea0aL,0xc9cf68331dfb7b7eL,0xc1c07346a64992e8L },
  57679. { 0x0b7e0dd89889746dL,0xa89d7b461c43ea4aL,0x64023cf034f02b96L,
  57680. 0xf7dd410a5662f0c8L,0xa3bb6088a1058ccaL,0xedb25dc34e7801edL } },
  57681. /* 2 << 259 */
  57682. { { 0x140a0f9fdd93d50aL,0x4799ffde83b7abacL,0x78ff7c2304a1f742L,
  57683. 0xc0568f51195ba34eL,0xe97183603b7f78b4L,0x9cfd1ff1f9efaa53L },
  57684. { 0xe924d2c5bb06022eL,0x9987fa86faa2af6dL,0x4b12e73f6ee37e0fL,
  57685. 0x1836fdfa5e5a1ddeL,0x7f1b92259dcd6416L,0xcb2c1b4d677544d8L } },
  57686. /* 3 << 259 */
  57687. { { 0xb6f8d615a033cccdL,0x6aabb87cad75e31fL,0x30a03029a4646d1bL,
  57688. 0xfad497e6e6547805L,0x4b9d45c3ba291f12L,0x0f74909bca059918L },
  57689. { 0xdece1fb0b5a181b7L,0x973f74413be1f21bL,0xcc919af36b06839aL,
  57690. 0x14427886ad57101fL,0xc63a79882bbc8022L,0x04cf807426742ccaL } },
  57691. /* 4 << 259 */
  57692. { { 0x279fd119da1c29abL,0xbd0688022b30d40cL,0xd8f57da4da44105dL,
  57693. 0xb1814b7a28223fe1L,0xcf2fd241e06f2d2eL,0x99003a0201dfde06L },
  57694. { 0x876a31affded7e4bL,0x1efaf8272f725094L,0x5117d608493a6a0aL,
  57695. 0xdcec8088a88c03e7L,0xeae1d352ea916897L,0x8cdc28106e8b2c57L } },
  57696. /* 5 << 259 */
  57697. { { 0x52fb8e6f7041b903L,0xd7fc4b5b2ad368a3L,0xf16c61d2f890136fL,
  57698. 0xeee859dfbb52a90bL,0x1651b16b3f8396cdL,0xfbced93eb6462918L },
  57699. { 0x1cb3126c4b6bfaa0L,0x65dfc76cc7c8fd16L,0x225b9c21bb46a3c9L,
  57700. 0x6c3457577f64f9ffL,0x6f65fadd57c297ecL,0x72a630eae5c5bbbdL } },
  57701. /* 6 << 259 */
  57702. { { 0x0254486d9c213d95L,0x68a9db56cb2f6e94L,0xfb5858ba000f5491L,
  57703. 0x1315bdd934009fb6L,0xb18a8e0ac42bde30L,0xfdcf93d1f1070358L },
  57704. { 0xbeb1db753022937eL,0x9b9eca7acac20db4L,0x152214d4e4122b20L,
  57705. 0xd3e673f2aabccc7bL,0x94c50f64aed07571L,0xd767059ae66b4f17L } },
  57706. /* 7 << 259 */
  57707. { { 0x25cb1f44f4fefeeeL,0xe1a6b6c8bce660c7L,0xd25459a00d2118e4L,
  57708. 0x716532dafedf8f98L,0xaeff37d492cfb480L,0x45919f7da1453c41L },
  57709. { 0x5100afe08d8836a6L,0x2ec20fd7b35d4fe0L,0xce8eefd1c00b7d66L,
  57710. 0x922d535d6b82c7ccL,0x5eb38f3fddd8d80aL,0x7eae5305213ae465L } },
  57711. /* 8 << 259 */
  57712. { { 0x09f8bb0654e93c1eL,0xb0045884ad81e27cL,0x26ebc7b6076e13ebL,
  57713. 0xbda0b5535d5ac07fL,0xbcb8132248ab69e6L,0xd3847d2e1c0f21faL },
  57714. { 0x7a466528c834d740L,0x6c67a79ae0823ff2L,0x85dd11864c1d7cb8L,
  57715. 0x096f849f2d081301L,0xb4f503dd8a5ea0f0L,0x71ee0889d1bf69b2L } },
  57716. /* 9 << 259 */
  57717. { { 0xd7a5f9feaa074b9eL,0xbeda44032fd2468bL,0xca3956309c35ffcaL,
  57718. 0xb02a1f592de68348L,0x946b0250903b35c7L,0xe9984f24634e9c91L },
  57719. { 0x4f70d22fe7303041L,0xf8a05d7fb68b0051L,0x0ce7af4fab5006afL,
  57720. 0x1011d1644a6bb502L,0xdf959199da4ad1a6L,0xc468cddf1e146f24L } },
  57721. /* 10 << 259 */
  57722. { { 0x40336b12dcd6d14bL,0xf6bcff5de3b4919cL,0xc337048d9c841f0cL,
  57723. 0x4ce6d0251d617f50L,0x00fef2198117d379L,0x18b7c4e9f95be243L },
  57724. { 0x98de119e38df08ffL,0xdfd803bd8d772d20L,0x94125b720f9678bdL,
  57725. 0xfc5b57cd334ace30L,0x09486527b7e86e04L,0xfe9f8bcc6e552039L } },
  57726. /* 11 << 259 */
  57727. { { 0xffd4fd775b5c7501L,0xc43e409ee0600e93L,0xd2a18cba7d522993L,
  57728. 0xbc2e14dc17c84d1cL,0xe84deb43c1eee29dL,0xe65326f08d691cbfL },
  57729. { 0x89760cdd77b726afL,0xb91c302a577b30acL,0xc6a742906e145891L,
  57730. 0x95bf3e913be85cc7L,0x2ec0285b9815e0edL,0x5b4be6da8aa3ec95L } },
  57731. /* 12 << 259 */
  57732. { { 0x4ab7a22c02a2d1e6L,0x967e19a31371d5a4L,0x20f59f95078de336L,
  57733. 0xfd28fa36f7869245L,0x1de42581cbf1d96fL,0x2e0127d7366e1f0fL },
  57734. { 0xbc65fa9d2258c741L,0x1f2f3356dd6d65f8L,0x06384f3a4a0822a9L,
  57735. 0x1c81332bfd05a0aaL,0xbfb12361d95ee3ceL,0x180aaf0642016d00L } },
  57736. /* 13 << 259 */
  57737. { { 0x329ff57bf08c171eL,0x6cd8122a543af2a9L,0x5209a3d65b2f8d96L,
  57738. 0x0285b128ba90c881L,0xeb5971ef61b43c8fL,0xf1ec473ccfd759b8L },
  57739. { 0xd2a79fb712d58e1eL,0x695f4877fdb6497bL,0x8bf5a4251f1a0f24L,
  57740. 0x3e79a0dea5c8a189L,0x9c8ada35908b7ae3L,0xd8b8622c5000f772L } },
  57741. /* 14 << 259 */
  57742. { { 0x3b75c45bd6f5a10eL,0xfd4680f4c1c35f38L,0x5450227df8e0a113L,
  57743. 0x5e69f1ae73ddba24L,0x2007b80e57f24645L,0xc63695dc3d159741L },
  57744. { 0xcbe54d294530f623L,0x986ad5732869586bL,0xe19f70594cc39f73L,
  57745. 0x80f00ab32b1b8da9L,0xb765aaf973f68d26L,0xbc79a394e993f829L } },
  57746. /* 15 << 259 */
  57747. { { 0xdd01a72b6024f09fL,0x192c8254378d12e1L,0x03ec536bf5d8b8d0L,
  57748. 0xb0c4c01873806514L,0x7d3c5f5614d202b6L,0x7c2a7c5c6febb3e2L },
  57749. { 0xf2fa07d4f9f2b562L,0x6f717b003ba2a4faL,0x1ff95d598f452226L,
  57750. 0xe4b3f6ba867c1cf1L,0x907a648a5d0944ecL,0x1ed480007f64f9b9L } },
  57751. /* 16 << 259 */
  57752. { { 0x0a159f6295b3287dL,0xb18f875948cecad0L,0x6d1ab8ee1661a23fL,
  57753. 0xcae7f40ec95c41b3L,0xbc3d20407c51eb56L,0xa7527283e8754250L },
  57754. { 0x815610561f9e668aL,0xb8aa7296900f5912L,0xabdbc1bf6af2a00cL,
  57755. 0xe9a942542d0a56c0L,0x4774a7b77bc8959eL,0x0a837ff019cef2f3L } },
  57756. /* 17 << 259 */
  57757. { { 0xd9c3f4ea3c696c76L,0x3aff88caea5878bbL,0x2b01171b09dda122L,
  57758. 0xa61d5ca0f599cad4L,0xba0c19bef49772c7L,0x8ee9acc25001f977L },
  57759. { 0x15fd3a172549a25aL,0x8f1a25d82263bc97L,0x372b88434db4af00L,
  57760. 0xa613b31f4f912925L,0x7d83041a0b64efd9L,0x897c521ca7d5f6a8L } },
  57761. /* 18 << 259 */
  57762. { { 0x9c441043f310d2a0L,0x2865ee58dc5eb106L,0x71a959229cb8065cL,
  57763. 0x8eb3a733a052af0fL,0x56009f42b09d716eL,0xa7f923c5abcbe6adL },
  57764. { 0x263b7669fa375c01L,0x641c47e521ef27a2L,0xa89b474eb08ffd25L,
  57765. 0x5be8ec3ff0a239f3L,0x0e79957a242a6c5aL,0x1dfb26d00c6c75f5L } },
  57766. /* 19 << 259 */
  57767. { { 0x04c6a90ae75c82afL,0xe9183100f2488abdL,0xef4b378b111a46baL,
  57768. 0x77ad9ef502eaa62eL,0x61229a6205e81570L,0x06e26a2db474c367L },
  57769. { 0x0bb2ea7e7113f2d4L,0x8ddc6f887f101386L,0x93fe2d7ef4de63abL,
  57770. 0xc3d038278f44e271L,0xe9f9f48ea94e641aL,0xb84b817b4962467dL } },
  57771. /* 20 << 259 */
  57772. { { 0x36f3a3d8a084fae6L,0x759835899a9b0d95L,0x70722186cc80fcb6L,
  57773. 0xf28ed0c796d84c04L,0x95a32263ffb63f90L,0xdd7d60a098766034L },
  57774. { 0xe193a31f1d5c387cL,0x6c5eca7eb8310f8bL,0xfe61d523c083ff47L,
  57775. 0x90c832dbcb2944e9L,0xa9f3f293593334b7L,0xe6cde2e12d7d1c33L } },
  57776. /* 21 << 259 */
  57777. { { 0x5637d16b065096b9L,0xee3a2ad04770d39eL,0xae605cb56aa94587L,
  57778. 0xc2d71dae9b600c6eL,0x672ef30d76a87e0aL,0x74d5bebe567e0817L },
  57779. { 0x38f591310eb8ca48L,0x92b74866031e099fL,0x654858ca785f77eeL,
  57780. 0x264b6b7b830be443L,0xb167203d57103903L,0xa73d5d545ce2b21aL } },
  57781. /* 22 << 259 */
  57782. { { 0x2fd97b9b9dfbf22aL,0xdec16cc85643532dL,0xdf0e6e3960fee7c3L,
  57783. 0xd09ad7b6545860c8L,0xcc16e98473fc3b7cL,0x6ce734c10d4e1555L },
  57784. { 0xc6efe68b4b5f6032L,0x3a64f34c14f54073L,0x25da689cac44dc95L,
  57785. 0x990c477e5358ad8aL,0x00e958a5f36da7deL,0x902b7360c9b6f161L } },
  57786. /* 23 << 259 */
  57787. { { 0x5e8eb8f0636a77efL,0xe14290f8970c3a7fL,0xfe6f6acdfa1784c0L,
  57788. 0x98671d33de6a46b3L,0xe7fd88722ae5a76eL,0xed971ecbae4f7d60L },
  57789. { 0x1d90dbd88461b895L,0x3f979ab4bfaaac13L,0xe06ccba1dbd3379aL,
  57790. 0xb53b04ba108c4487L,0xe42609dd38d2730dL,0x0638fe82e81c4594L } },
  57791. /* 24 << 259 */
  57792. { { 0xbd079cf1f144b6ccL,0x7f86e29bb4f4a764L,0x5b08b290f21f9cbfL,
  57793. 0xada0c85b75e3aeb9L,0xd0789f8b6666c2dfL,0xcf5d8a8cd71ec2ecL },
  57794. { 0x6f7780c3e7e4364bL,0xdd9a652985d2eb75L,0x8222f66bd952a38eL,
  57795. 0x9dd5f7eb27260a29L,0xce49b34457947178L,0xaa215f82cdda7e39L } },
  57796. /* 25 << 259 */
  57797. { { 0xcb91619d1419a50fL,0x44a22eac65dc4c84L,0xc199f93701a92405L,
  57798. 0x3749a33198045324L,0xf1676e8abc57764dL,0x922f9460a00c33eeL },
  57799. { 0xfde98e63d3766db4L,0xae08a82efd5ffb6aL,0x6a9834537c0c6ae7L,
  57800. 0x0e9a919a54f34cdbL,0xf37a95e8fd88d765L,0x927427d4228a1affL } },
  57801. /* 26 << 259 */
  57802. { { 0x454ab42c9347b90aL,0xcaebe64aa698b02bL,0x119cdc69fb86fa40L,
  57803. 0x2e5cb7adc3109281L,0x67bb1ec5cd0c3d00L,0x5d430bc783f25bbfL },
  57804. { 0x69fd84a85cde0abbL,0x69da263e9816b688L,0xe52d93df0e53cbb8L,
  57805. 0x42cf6f25add2d5a7L,0x227ba59dc87ca88fL,0x7a1ca876da738554L } },
  57806. /* 27 << 259 */
  57807. { { 0x277c833f57c7bf99L,0xbbb84d1d0b301f02L,0x11435cb20713a92bL,
  57808. 0x8ae509702d02862bL,0x4edc66bdaa7b0660L,0x5bc0d893d6382c91L },
  57809. { 0x7992c5d3b94a6343L,0x1cfee04147b19345L,0x57963034964ed646L,
  57810. 0xd7af0cac3de7b0e9L,0x5123dd8d481b940aL,0xe1d23ad8ad7d3567L } },
  57811. /* 28 << 259 */
  57812. { { 0xaa44b2863004db31L,0x86f43d7ad43e4430L,0xdc4874cdb0b0240dL,
  57813. 0x79986a23adc45a06L,0xbb275b443cee4631L,0x21daee8a63a217aaL },
  57814. { 0x1e7c5397d7b25c02L,0xe677d3cbc5e668faL,0xc7c84e28ed51b4bfL,
  57815. 0x7ca19e99923e5408L,0xc6f8a595c3f832e7L,0x2d0a789c5fb049a3L } },
  57816. /* 29 << 259 */
  57817. { { 0x49702e622b82b466L,0x365d4f6afb8fe508L,0x2f5234e044884733L,
  57818. 0xcd527f345dd0a3d5L,0x371b02544bf4033eL,0x7d84ad677e3212e0L },
  57819. { 0xaf48fd79e69d6b81L,0xd126f83a7a44bfc6L,0xbb8d2b57b2cc4e93L,
  57820. 0x5f62a3d5eb60ec5fL,0x7b37da33aa76c824L,0x7593d06b89a682dbL } },
  57821. /* 30 << 259 */
  57822. { { 0x3fa5c1051cac82c4L,0x23c760878a78c9beL,0xe98cdad61c5cfa42L,
  57823. 0x09c302520a6c0421L,0x149bac7c42fc61b9L,0x3a1c22ac3004a3e2L },
  57824. { 0xde6b0d6e202c7fedL,0xb2457377e7e63052L,0x31725fd43706b3efL,
  57825. 0xe16a347d2b1afdbfL,0xbe4850c48c29cf66L,0x8f51cc4d2939f23cL } },
  57826. /* 31 << 259 */
  57827. { { 0xc342ed50dd305573L,0xe3055013de86c6c8L,0x0ae84d9776deedc4L,
  57828. 0xe8e70cbfd1274b52L,0x4bb51dce32e87f7fL,0x32de3672f3748177L },
  57829. { 0x528af91681722d55L,0x459af071a5f2ce91L,0xf6883bbdc685a670L,
  57830. 0x398657f9eeb836b8L,0xa08a793eb9278bd7L,0xe786426bcc09e408L } },
  57831. /* 32 << 259 */
  57832. { { 0x114a25c844922386L,0xdd084d446d4e8b57L,0xc49b68411e7bd7deL,
  57833. 0x5b0359fad6da54dbL,0xa6e6e5f93f0da321L,0xb65ec55cd640a87eL },
  57834. { 0xc1a4f6ceae64020eL,0x91e29cd2088e1337L,0xf44ceb8e3c0a631cL,
  57835. 0x0205b11db756445fL,0x04844e845bc8880eL,0xb630ddc0b85e00d3L } },
  57836. /* 33 << 259 */
  57837. { { 0xac512659c6ee46b6L,0x0c92e402ca82b384L,0x81d79049194fba3aL,
  57838. 0x9b68376c36b42b32L,0x6dc1c80cf6b410b0L,0x509fbe9196b2b328L },
  57839. { 0x988fedd6fdc783b1L,0x9f34cd87436ed055L,0x29f243648bb8809fL,
  57840. 0x6962ca24b8dc8b68L,0x076cb7b931963ff9L,0xb609ad792b915093L } },
  57841. /* 34 << 259 */
  57842. { { 0x169e025b219ae6c1L,0x55ff526f116e1ca1L,0x01b810a3b191f55dL,
  57843. 0x2d98127229588a69L,0x53c9377048b92199L,0x8c7dd84e8a85236fL },
  57844. { 0x293d48b6caacf958L,0x1f084acb43572b30L,0x628bfa2dfad91f28L,
  57845. 0x8d627b11829386afL,0x3ec1dd00d44a77beL,0x8d3b0d08649ac7f0L } },
  57846. /* 35 << 259 */
  57847. { { 0x4aeb3f870af947c6L,0x9ac9ff2791d090c1L,0xeaaa7e0fcf698277L,
  57848. 0x737ccc2ff09d6155L,0xd5d4bde86753cc31L,0x3b9063477146d4a3L },
  57849. { 0x75106d8959e32369L,0x7a8ee281645999b3L,0x9184fb5cfc3f675aL,
  57850. 0xaeebd0423ad4e239L,0xcff8f73e12f449d1L,0x2771bec17339eb4bL } },
  57851. /* 36 << 259 */
  57852. { { 0xf783db44e6674091L,0x57d0eed31e12a3b7L,0x62d2762af3474f91L,
  57853. 0x3d122edf0562af71L,0xaf78dbf77f4bbcbbL,0x8fbbbd97e55f0654L },
  57854. { 0x77e117b004bac36eL,0xbbf6bd463ec582aeL,0x553acd10017eb463L,
  57855. 0xfc521187fdfd820bL,0x73211103089b6829L,0x9d3fe7ad7e01e5c0L } },
  57856. /* 37 << 259 */
  57857. { { 0x12a8b7ac04c6babfL,0x7b23210557d2cf63L,0xe03831868f21ad0dL,
  57858. 0xd14c2b95acdc2184L,0xe7bd19fcadc9bae1L,0xe2dbabf2edea5c71L },
  57859. { 0x009a3ab78f3f4266L,0x159691e17f8ff74fL,0x5ae666aa22f40f41L,
  57860. 0x72fcdc88512387bbL,0xa74e8fb841516c92L,0xd9cee7833b15bf07L } },
  57861. /* 38 << 259 */
  57862. { { 0x00a93daa177513bfL,0x2ef0b96f42ad79e1L,0x81f5aaf1a07129d9L,
  57863. 0xfc04b7ef923f2449L,0x855da79560cdb1b7L,0xb1eb5dabad5d61d4L },
  57864. { 0xd2cef1ae353fd028L,0xc21d54399ee94847L,0x9ed552bb0380c1a8L,
  57865. 0xb156fe7a2bac328fL,0xbb7e01967213c6a4L,0x36002a331701ed5bL } },
  57866. /* 39 << 259 */
  57867. { { 0xd76b43661c8bd222L,0x041c2b87b97e5b19L,0x7b80f8d7b47c4282L,
  57868. 0xfec3d476d0dbc7d3L,0x84aa69712753a830L,0xe5f336079ec85e26L },
  57869. { 0xa425d60cfe2374b3L,0xf88b90f14d953af2L,0x80370e7857ca6c43L,
  57870. 0xe07d07176f4d6d7eL,0xe60639401e61ab85L,0x171a2bf632a4c829L } },
  57871. /* 40 << 259 */
  57872. { { 0x38e4168d4f8b5073L,0xf1ddc53fc521849cL,0xd2bf515bab917df1L,
  57873. 0xab76b71a697d45c1L,0x20fdc6c7cb566a9dL,0x3843bf838a031cf4L },
  57874. { 0x9a2d89a58a028b04L,0x52f3cb1922a908cdL,0xb5df9c2b7b8723baL,
  57875. 0x5142f51060374a3dL,0x949b719800bd9f30L,0x4b7cda16c9b86959L } },
  57876. /* 41 << 259 */
  57877. { { 0x22a32c50d154fc49L,0xe12242de66357eb7L,0x67571eb89f19ef9fL,
  57878. 0x2ed01f28b92b20e1L,0xd4fd6efb6cd439c0L,0xc4036cfc03b057fbL },
  57879. { 0x605fab271cc48da5L,0x3cbd7a071416a3e7L,0x9cfe7161714bf173L,
  57880. 0xbd03d786a77eb0f8L,0x1423516678b8f5ccL,0xecc56e02f0523f3fL } },
  57881. /* 42 << 259 */
  57882. { { 0x20b1632addc9ef4dL,0x2a35ff4c272d082bL,0x30d39923f6cc9bd3L,
  57883. 0x6d879bc2e65c9d08L,0xce8274e16fa9983cL,0x652371e80eb7424fL },
  57884. { 0x32b77503c5c35282L,0xd7306333c885a931L,0x8a16d71972955aa8L,
  57885. 0x5548f1637d51f882L,0xb311dc66baba59efL,0x773d54480db8f627L } },
  57886. /* 43 << 259 */
  57887. { { 0x2be2f1d67d64ddbbL,0x3afc2fad6edd7e04L,0x9a57c16d9e797442L,
  57888. 0x1efecfde9c16769bL,0x86523c3571b2940aL,0x1a9b30035825d17cL },
  57889. { 0xa25e99beeefc4d7cL,0x8521b49fb50df9eaL,0x10bd2309bd8f3b06L,
  57890. 0x1f892e95ea82e80cL,0xf741621c93585741L,0x95687594f5e5087aL } },
  57891. /* 44 << 259 */
  57892. { { 0xbcdd3a3146f684c5L,0xbc8be436f700b0cdL,0x33005e370de75b7dL,
  57893. 0x527a8a2c3bd820caL,0x5e44854446997e4cL,0x40921fd93c3dafb0L },
  57894. { 0xf3873a8ab7390d9bL,0x30999855495ba2fbL,0x005164f0813c8c76L,
  57895. 0x05bb04d7fe8da60cL,0xee7c38d503224ad1L,0x172018d615785ce5L } },
  57896. /* 45 << 259 */
  57897. { { 0xaaf786c0f6442534L,0x3f1344c1e56b44a5L,0x31199702ed073a36L,
  57898. 0x1f8ba0ec3df17e33L,0xf3e7b63493ceee0aL,0x568bdf39490fc4beL },
  57899. { 0x364bdd11b1e1c439L,0xa1aa317ae5a63c82L,0xb12697034c02ee46L,
  57900. 0x0bc6d92e7eb64374L,0x87538fe740ed83f1L,0x862450abda74892aL } },
  57901. /* 46 << 259 */
  57902. { { 0x59b1b1347a62eb3bL,0x0f8ce157cceefb34L,0x3fe842a8a798cb2bL,
  57903. 0xd01bc6260bf4161dL,0x55ef6e554d016fdbL,0xcb561503b242b201L },
  57904. { 0x076ebc73af4199c1L,0x39dedcbb697244f7L,0x9d184733040162bcL,
  57905. 0x902992c17f6b5fa6L,0xad1de754bb4952b5L,0x7acf1b93a121f6c8L } },
  57906. /* 47 << 259 */
  57907. { { 0x293ff71acc51318fL,0x69437a2e614149cfL,0xb12ea4613b48b348L,
  57908. 0x2f58020321f6cf90L,0x2e865f77178b53fbL,0xf4774d29231909a8L },
  57909. { 0x0433e66bc4d8b703L,0x4fb6256b907097cfL,0x44a2a7fe004470f7L,
  57910. 0x7d3ebbb46dc5f10aL,0xe9b3af288f5526b4L,0x4bc0d9db1107bd75L } },
  57911. /* 48 << 259 */
  57912. { { 0x4865c0ffc0391d0bL,0x70d31470176740ffL,0xf44ca9a1ed506d00L,
  57913. 0xfaac86f6c981153aL,0x713ddaf4e3f86940L,0x64ec27093fc39de9L },
  57914. { 0x04d413acac9a26b5L,0xde2052eebb21664bL,0xa6e04de8957b4f20L,
  57915. 0xd185b640d5487618L,0x1668b6a46fed1707L,0xeed37894c435ac3dL } },
  57916. /* 49 << 259 */
  57917. { { 0x1fa08a16f69cdfbbL,0xabba54dd0bf735a1L,0x37848c6a68a5cc20L,
  57918. 0x08e23c52a969298bL,0x48240306f965bddeL,0x48492deaf90bcff5L },
  57919. { 0x416b9005bd994e22L,0xa6ce214ce6429f16L,0x5aaeec21f43f86d4L,
  57920. 0x202db9b7a0b1979fL,0xb2d97b4fdd7ae6d5L,0x4fedb6b9e12f04a1L } },
  57921. /* 50 << 259 */
  57922. { { 0x7a56867c325c9b9aL,0x1a143999f3dc3d6aL,0xce10959003f5bcb8L,
  57923. 0x034e9035d6eee5b7L,0x2afa81c8495df1bcL,0x5eab52dc08924d02L },
  57924. { 0xee6aa014aa181904L,0xe62def09310ad621L,0x6c9792fcc7538a03L,
  57925. 0xa89d3e883e41d789L,0xd60fa11c9f94ae83L,0x5e16a8c2e0d6234aL } },
  57926. /* 51 << 259 */
  57927. { { 0x9c8e64869c85df60L,0xa84692a681e26100L,0x0350e1209c739462L,
  57928. 0xb6da4ebf99fa1f63L,0x857b534055e2bcd4L,0x7f4001dbdb209cf7L },
  57929. { 0xbfa320378757800cL,0x2d56821fa6a562b5L,0xe56d810b6c3e775cL,
  57930. 0xeba244a6ba757f86L,0xb7ca8dbf80a17cb3L,0x8cbff4a22b7db57cL } },
  57931. /* 52 << 259 */
  57932. { { 0x650c31da9dff967dL,0xecd1e0f77ed949dbL,0xa7ff9becb20196fdL,
  57933. 0x5085c68d1e6259aaL,0x5759a166871a71e9L,0xba15e24c2b4d3bd2L },
  57934. { 0x22c4f75912c51998L,0x6038fb0a7c8a9400L,0x64827d9c09625dacL,
  57935. 0xd8ce10c96ec4fb64L,0xe417ac30095686ccL,0x1e624aa88c723f44L } },
  57936. /* 53 << 259 */
  57937. { { 0x872d3dc953387fbaL,0xaaa0e1b4317ec17bL,0xa12b45519efb728cL,
  57938. 0x0b43907d45a3491eL,0xb7fa83befa4a239dL,0xbecdae00b59a4f3cL },
  57939. { 0xe4e4c7c393407d23L,0x8278f336cf1d3cd8L,0x73dc9356610570a3L,
  57940. 0x5579653d688d933fL,0x208b96be5881d760L,0x4752a645d12f57bbL } },
  57941. /* 54 << 259 */
  57942. { { 0x87ec053da9242f3bL,0x99544637f0e03545L,0xea0633ff6b7019e9L,
  57943. 0x8cb8ae0768dddb5bL,0x892e7c841a811ac7L,0xc7ef19eb73664249L },
  57944. { 0xd1b5819acd1489e3L,0xf9c80fb0de45d24aL,0x045c21a683bb7491L,
  57945. 0xa65325be73f7a47dL,0x08d09f0e9c394f0cL,0xe7fb21c6268d4f08L } },
  57946. /* 55 << 259 */
  57947. { { 0xe02aca87d4bba3cbL,0xd40ac486652fb181L,0xa1dcfe7ffaa3f999L,
  57948. 0x116323e0e9eded09L,0xaa3a0f0f07629d4fL,0x9f8e49f5e0dc53adL },
  57949. { 0xbae96096742af22bL,0x6d7e24dd518862dbL,0x5c91ba30bb333cd7L,
  57950. 0xda8df051e65319b0L,0x2b9305ce9b3e43dbL,0xbf1d0e98fe783571L } },
  57951. /* 56 << 259 */
  57952. { { 0xf629fb233809aa31L,0xb3b66d77650bd2b8L,0xcb643126bd325d57L,
  57953. 0x29f46272ed41fa03L,0x374e734f406ef56cL,0xbb9ecd36da7428eeL },
  57954. { 0x069694a61c06325aL,0x852b2912e40b9e8cL,0x6504bc90cc3d9695L,
  57955. 0xf1af43587e38707aL,0x552127dc239a0781L,0x0d1b3a6e8fe76173L } },
  57956. /* 57 << 259 */
  57957. { { 0x207e41f31d681018L,0x8883a6e417a7d540L,0xffc48332bc983c31L,
  57958. 0x729c4110c6b3de67L,0x5ef4680ad69a2499L,0x4544b58fe7afb2e7L },
  57959. { 0xf5a2fb13480e063dL,0x8797357382054197L,0x5dd38cf7131d2df7L,
  57960. 0x635e91b8a9366742L,0xbd87a407e0d703c5L,0x6cc37be247251f16L } },
  57961. /* 58 << 259 */
  57962. { { 0xc4ccab956ca95c18L,0x563ffd56bc42e040L,0xfa3c64d8e701c604L,
  57963. 0xc88d4426b0abafeeL,0x1a353e5e8542e4c3L,0x9a2d8b7ced726186L },
  57964. { 0xd61ce19042d097faL,0x6a63e280799a748bL,0x0f48d0633225486bL,
  57965. 0x848f8fe142a3c443L,0x2ccde2508493cef4L,0x5450a50845e77e7cL } },
  57966. /* 59 << 259 */
  57967. { { 0xaa129c0ddc428c57L,0xfe619b75aea19047L,0xd6287ecf12ea77aeL,
  57968. 0x4e6d070fdf7ce104L,0xd0df6788f097c79cL,0xd1c1f8a6ad8b1d07L },
  57969. { 0x53eceba296519e66L,0x71670de3d6274109L,0xd2f21ea03f7a82b8L,
  57970. 0x41efbe939c8e45a5L,0xb5b153436ada3edfL,0x32ba22aca90038f8L } },
  57971. /* 60 << 259 */
  57972. { { 0xe1d195fad0cbe947L,0xd1fe0c4ef2ef1b72L,0x1451a0b206003fffL,
  57973. 0xda653fa08239341cL,0x5f834372f2508d75L,0xaeb245f507faeac3L },
  57974. { 0x3eb3285b65fdf4ddL,0xfb335c0e84085970L,0x600ad6cae5efc0deL,
  57975. 0xc9c9f8910cf83e82L,0xf880ff84ad8cc14cL,0x54816725a016aae6L } },
  57976. /* 61 << 259 */
  57977. { { 0x22ce565ce1124375L,0x30ff1dc5edd968c9L,0x62d74c54e9148534L,
  57978. 0xf003f0d35de42774L,0xaf9448e6e57f8842L,0x55d5c9a3c5ff761bL },
  57979. { 0x7da9398cc4c5edd8L,0x9643424e4ea0e099L,0x497eed480634fcb4L,
  57980. 0x09ffe2d07dea57cfL,0x30673ba73530a094L,0xfdbf8f24a251cff3L } },
  57981. /* 62 << 259 */
  57982. { { 0xd0f4e24803112816L,0xfcad9ddbccbe9e16L,0x177999bf5ae01ea0L,
  57983. 0xd20c78b9ce832dceL,0x3cc694fb50c8c646L,0x24d75968c93d4887L },
  57984. { 0x9f06366a87bc08afL,0x59fab50e7fd0df2aL,0x5ffcc7f76c4cc234L,
  57985. 0x87198dd765f52d86L,0x5b9c94b0a855df04L,0xd8ba6c738a067ad7L } },
  57986. /* 63 << 259 */
  57987. { { 0xf9ae5fcedb877020L,0xd84ad42f703e5d09L,0xa6a5cc1fbfaed17eL,
  57988. 0x2099409829362fe9L,0x9f863bb0dd299c2dL,0x82bd3f61fa632197L },
  57989. { 0xd3b14097ebe7ff51L,0x7c9e6ec4c719a6bcL,0xd3b46f3d70a51db6L,
  57990. 0xc8fa2f0692eb8243L,0x68e1f56e02155139L,0x0c35d135fd3b893dL } },
  57991. /* 64 << 259 */
  57992. { { 0xe76894c3ae7ce296L,0x87737ee2a6cafc34L,0x566dfcfbe55cd1e6L,
  57993. 0x5421a9f23a7ad5b9L,0xa005838a4687a4efL,0x3837219a23a2c423L },
  57994. { 0x4b7800128a82cd1bL,0x401c07bec728b588L,0x2b5f69e937ced8f3L,
  57995. 0x306b621d8c1e1eaaL,0x8acbbe71d389cc4dL,0x922fa665f4ab7774L } },
  57996. /* 0 << 266 */
  57997. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  57998. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  57999. /* 1 << 266 */
  58000. { { 0x2df6f242d35c2d80L,0xf65a99a93493ce97L,0x9e80232b372bcc87L,
  58001. 0x26ba13b86e428cc5L,0x2526ef1f13a1b763L,0xcef3edcddc97c5f3L },
  58002. { 0x4954867fbde16b73L,0x9817813d368ff6cbL,0x7e39fa69be143027L,
  58003. 0x12329463cf54f28bL,0xcf0991dc7597c2daL,0x0cda396952e07099L } },
  58004. /* 2 << 266 */
  58005. { { 0x412f64a3f303955dL,0xe92bdca9bd692593L,0xfbe6cdc2c2e964e0L,
  58006. 0xe9a3b1fd0011cb01L,0x6c30762dcf228f23L,0x1270b84abe9199a1L },
  58007. { 0x732711dfe3c9cbb1L,0xa3aabe37d91d9513L,0x8ee08ba0c6eceba7L,
  58008. 0xb1711531f3c3d31dL,0x65060b633c716948L,0x046b4ea12ff2caddL } },
  58009. /* 3 << 266 */
  58010. { { 0x25d1124fbab220c6L,0xcd1423c861524e3eL,0x75e4f45f0434fb51L,
  58011. 0xb5180a8f5180ab2bL,0x144e214e5b22e388L,0x6b16dad192263054L },
  58012. { 0x3ea7590740863566L,0x372d5abddada3b46L,0xb3ff5a3a893d210fL,
  58013. 0x39f8d1ce5e29f3dcL,0x559186ce68200e82L,0xf48764541202cb66L } },
  58014. /* 4 << 266 */
  58015. { { 0x6f178dbf8b540904L,0x0264bccd8720472aL,0xa6e8b4b459b46611L,
  58016. 0xafce8267c72b4a58L,0x21142175a45985adL,0xd23401dfe649d733L },
  58017. { 0x6bf42fe085dc7720L,0xc5c8ab9440e3f2f5L,0xb0c8a58acd029197L,
  58018. 0xa73ff329215492e1L,0x895c545eb1b5a5f0L,0x6dbc24456fcaf49bL } },
  58019. /* 5 << 266 */
  58020. { { 0x25ef32d60f2d76a3L,0x540650b9af4a7d46L,0x8979a4b8d991d7f4L,
  58021. 0xdaa706c299202400L,0x8a729680f19d281dL,0xde25bdc44ec44de2L },
  58022. { 0x0fc50832c2054496L,0xfee72fb60aaf2941L,0xc8263e64b82ed4f0L,
  58023. 0x91a8cb736f49055cL,0xb7585458f2bb515cL,0x03d2b23ab855e6c6L } },
  58024. /* 6 << 266 */
  58025. { { 0x09ec1e3dcfd3f182L,0x1f1c30b5adae7af9L,0xf3a33f7c6b454164L,
  58026. 0x0318926f94647c4fL,0x8e37bdd787db14ecL,0x811cbd342ab364d3L },
  58027. { 0x1dd1e5077c2b369dL,0x7a57bc46a28056bdL,0xfca5be4b089efe44L,
  58028. 0xb3bd84d76dc1290eL,0x40d7af098793e6aeL,0x4e08e11fa3723942L } },
  58029. /* 7 << 266 */
  58030. { { 0xca3709ad899ffebbL,0x1a87377877c00602L,0x5ff40c2aa99b4af0L,
  58031. 0x680464e5a80e870cL,0xd2f7f04494e10b1dL,0xee9b206c4e9aa1a7L },
  58032. { 0xb536d67596cbe950L,0x841856899e8305f3L,0xae1b669c369fa255L,
  58033. 0x62e260267233e1eaL,0xac05c5136aa60c24L,0xdfc6814fd2691677L } },
  58034. /* 8 << 266 */
  58035. { { 0x8baef5df0a02b0fbL,0x58a2b06bc2b92b02L,0x268558d754c8267aL,
  58036. 0xf924f795ccf70393L,0xe3763f30f68ee021L,0xc1e856f05c01ba4bL },
  58037. { 0xcc01a3e9722b6bffL,0xd2be4623ed5b3b02L,0x1ab3512e6c45e33fL,
  58038. 0xa978fe484ef433f6L,0x23e2ea018e21f5afL,0x49647d8811524a40L } },
  58039. /* 9 << 266 */
  58040. { { 0xd50abc94f5d3f437L,0xbf2ffcc546b7b738L,0x0bf53571f80edda5L,
  58041. 0x167908d4ab90ba5fL,0xad445b102303cf00L,0x9b537d4fb9e59406L },
  58042. { 0xfac5e27cf43049a8L,0x05ccb32ebf9db100L,0xe662eeac4d1b535fL,
  58043. 0xbf21d6d78d27ca90L,0xb960bf652a684981L,0xe16bdaee49236475L } },
  58044. /* 10 << 266 */
  58045. { { 0x47a5958f92ad4720L,0x12c33193da3bf809L,0xf16493147da6d32cL,
  58046. 0x42eb4e687102deebL,0x0f8c4ce283088c86L,0xedf91c3bd693c9a2L },
  58047. { 0x8a18a4761e8c310cL,0x5e8757c5dc3db0e8L,0xc48b820ef76a0affL,
  58048. 0x690d788d5c71e596L,0x2b0a00857cfe770dL,0x440ba06bd46505f0L } },
  58049. /* 11 << 266 */
  58050. { { 0x503f77906087d4d0L,0xc7243aeda1ebfb04L,0x203f0563ad8f14bdL,
  58051. 0xc20013b7cad73fcaL,0xbace8b323741a708L,0x0b376ff731bdeb56L },
  58052. { 0x820b7f1282c22e57L,0x0c08133117830562L,0x306d178a8d0d30c2L,
  58053. 0x36a6efd1467a1510L,0x558fea1af55b7b97L,0x1e9152b784e546eeL } },
  58054. /* 12 << 266 */
  58055. { { 0x92a7fbcdac3ce531L,0xeb85f7f059498d99L,0x8e45db2d02a8feb5L,
  58056. 0x176c0cb2728cecbeL,0x33fcfbb0d1837662L,0x426e192dd6f2882cL },
  58057. { 0x75a0f3450a2c9899L,0xd815dc6066148f9dL,0xf4ea90cefa0453afL,
  58058. 0x5108858ff54c96fbL,0x86b46b5731f77afcL,0x59df021f6bf7e2fcL } },
  58059. /* 13 << 266 */
  58060. { { 0x48d67f73dab6c0f4L,0x70cfc26cf0d49ef3L,0x25c95a68a65cce7bL,
  58061. 0x29a05632cf6ad228L,0xbcc2fb5a1a8128f5L,0x360d82a48c9defe0L },
  58062. { 0x1c5c5d628d1531d8L,0x58fc4b9a149f6b4cL,0x8097cf56a3b625adL,
  58063. 0x8821ead7fd8e0e35L,0xb96c2b880d9e1df0L,0xfbf55ba72a243accL } },
  58064. /* 14 << 266 */
  58065. { { 0xef32e94d70e0d8fcL,0x33ec93dc6d63e65fL,0x134532fb1dc7156fL,
  58066. 0x98fb5b0c0e8d85b4L,0x05c28df9b64f7861L,0xa7e73afa4160e1a2L },
  58067. { 0xbfe60a9b785f6e4bL,0xfcf998f12fec9ec5L,0xf673b8d15c12a44aL,
  58068. 0x85df3bc736d189a5L,0x4480a189dd83f6e0L,0x3216317ef3d3ab44L } },
  58069. /* 15 << 266 */
  58070. { { 0x221c1b7ffd3d7532L,0x40939c318bb4e719L,0x75182ce602f8f74eL,
  58071. 0xf508d6415395f9d8L,0x88fc89ea1fc81977L,0x861d8d0bcc8dc7d3L },
  58072. { 0xd76e4f0cec07b0e2L,0xb0a4e2aa5819b99bL,0xa67bed0366a9c935L,
  58073. 0xce7c8241d2781f91L,0xe7c5c22512af0abdL,0xd1067dbcfde7de16L } },
  58074. /* 16 << 266 */
  58075. { { 0xe1d42d94d087b788L,0xfbfb221aba0e176aL,0x5f6698e783686966L,
  58076. 0xbb5e159474a30dbfL,0xef86bb5bcfd20230L,0xf055a1c5403b8f8bL },
  58077. { 0xf249aac8d9d85ea7L,0x7318f7bc3d200198L,0x3b80960cefca9a90L,
  58078. 0xf28e33888f449c4bL,0x0cdfc61bf0cfe09eL,0x3b169c638b22cd26L } },
  58079. /* 17 << 266 */
  58080. { { 0xf4f13a49b81b45b0L,0xb77a67be3003fe1bL,0x70e648a318d52c97L,
  58081. 0x701ba8a1ee17ce93L,0x58a0ce0cf672226aL,0x2fcad147cebc3294L },
  58082. { 0xf5cd118a104e8f68L,0x0015bc0bd15358e6L,0x75f0d28f1c662df4L,
  58083. 0xcd54f443a3e038f4L,0xa83507610804c717L,0x5fce0ce3f03bad08L } },
  58084. /* 18 << 266 */
  58085. { { 0x4c2e2bffa180a71cL,0x067f3e3baff551b9L,0x007610f1afa43e12L,
  58086. 0xe8a9ae79ef7b9a1cL,0xa558ef6cf9d3b397L,0x8d5229884f172f34L },
  58087. { 0xafa906332d425e05L,0xc62c3914207b0bd8L,0xc84d197c059f7d66L,
  58088. 0x6cc1d8ce421a9172L,0x1d44a46929a7ebe3L,0x96ca4d0171c3c8b1L } },
  58089. /* 19 << 266 */
  58090. { { 0x31302e094d369fd6L,0x62fe210cf1b62d27L,0x496ac173bb37578cL,
  58091. 0xb4d3d065aa0907e0L,0x02317db27c822875L,0x60a01580f241ebc7L },
  58092. { 0x81a5d5244e4f37d0L,0x5286f7289c3f2555L,0x14c8c7549a73ff08L,
  58093. 0xd8236689ff478877L,0xf62d426b08e09f00L,0x2ba1833c67a96517L } },
  58094. /* 20 << 266 */
  58095. { { 0x7013d596831f464aL,0xe57185fdd3cf6ca2L,0xbba7898e35915f51L,
  58096. 0x9fbe5f139fd967d4L,0x0aba8344d173558fL,0x4c0dd30dffeb6beaL },
  58097. { 0x928f68cc5110e40fL,0x1589a327a58b6d60L,0x09b5c4e06abb0ac9L,
  58098. 0x01ef3f8a68957627L,0x55dbe9f79f4045a4L,0x91976aeeef178ac3L } },
  58099. /* 21 << 266 */
  58100. { { 0xd9c20a69b85e46d9L,0x1bda1163cdbda686L,0x5c0717f6c02427a9L,
  58101. 0x2a976c104d2a48afL,0xea276b15921a02e5L,0xf055b980ddb6315cL },
  58102. { 0x0ab85663825f00efL,0x95377fd42053a392L,0xc51c245e23f463e8L,
  58103. 0xe1ae1e5da24c981fL,0xd6a0b44d9f5cfdbaL,0x1205754023c16002L } },
  58104. /* 22 << 266 */
  58105. { { 0xfe464ce116ac9150L,0xfd629551173ee9e8L,0xd0623ab1781696cfL,
  58106. 0x7a07cedd58529fa9L,0x831b4a9d449c33a0L,0xb7b7b72417b171a8L },
  58107. { 0x0e1ff931f5a9aa41L,0xd43f33dfe356ba47L,0xd2abfc77f003b5d2L,
  58108. 0xc2909150882c0313L,0x83823f6c7ee111a6L,0x9d7a2d82f59cb72dL } },
  58109. /* 23 << 266 */
  58110. { { 0x52e712549b33f6fdL,0xd4d9b73f5c414babL,0x9834943177e93a9bL,
  58111. 0x848b53c99f283fc9L,0x86e48b6234c787efL,0x8b498e1cb3166045L },
  58112. { 0xb2259559e5e456ddL,0x0316069fa2c2ca8cL,0x9a70e29ef6524ecfL,
  58113. 0x2477ffc9bfff600dL,0x80a9a5e081869e1cL,0x84f887e70a78f6a0L } },
  58114. /* 24 << 266 */
  58115. { { 0x7f89c2c40c9f23eaL,0x8fb025d4d6ec2b2aL,0xbe70e48b12d9f811L,
  58116. 0x703ac1bdc7a43dd0L,0xa4309a2c2118ca3aL,0x5a95d7b301943012L },
  58117. { 0xd9597d87811f6c73L,0xf82e801596079992L,0xfcf8760df1561aa9L,
  58118. 0xe1e0306e2d91ee39L,0x99979031e0bbcb6dL,0x49259e54cfcc8746L } },
  58119. /* 25 << 266 */
  58120. { { 0x0de49373a38fb6dbL,0xda9e9036d6bf0a7dL,0xc99fe05fcba221c4L,
  58121. 0x45b51edd4cb730f8L,0x312670a3b064e142L,0x60dd1edecddb9ddeL },
  58122. { 0x94be613b9291d75dL,0xbc49861ca00b9831L,0xccec7a08230320bdL,
  58123. 0xd1de7bd80ff967b1L,0x5a1164f105fda7e3L,0x864cfc4ce3004538L } },
  58124. /* 26 << 266 */
  58125. { { 0x06f76165385095a7L,0x3c73ac918514b2e0L,0x8ac1120a04b2dac0L,
  58126. 0xed6a74174382d5b3L,0x852a5a7864a32d50L,0x7ef5b84bbdc721acL },
  58127. { 0x73dd18980480d271L,0x755b23e04ab0b11dL,0x2e78238982391e5aL,
  58128. 0x4957b5c948923446L,0x4ab9318f6921c1fdL,0x8e455abd3e46607bL } },
  58129. /* 27 << 266 */
  58130. { { 0x5c41aafbaf25d6b6L,0xe351f1df916b63f6L,0xe28e9ba98a6efd65L,
  58131. 0xcbca736356afe7b0L,0xa77d6077f7384e6aL,0xcc9ad74a738a90abL },
  58132. { 0xe1071caa2333dc2cL,0x4415691000dfc2cbL,0x0ce43c16afd89eefL,
  58133. 0x0cfbb8767b812045L,0xe6da40fa6d916fc7L,0xe404b3436302af21L } },
  58134. /* 28 << 266 */
  58135. { { 0x4073f246d9915433L,0xc0149d5672e06203L,0x0abb06c18fcec6a1L,
  58136. 0x3a7d1295d75a73f1L,0x65fd8700f18c9488L,0xc3cc0b27732f7741L },
  58137. { 0xd15d8c8025a261caL,0x518233510dc1fee5L,0x981607c7120e1266L,
  58138. 0x0e486b11f42cc9fdL,0xe606c16c01a888cfL,0x079dd0b31ea23249L } },
  58139. /* 29 << 266 */
  58140. { { 0x19c62d3c58624305L,0x44974c41b73eae15L,0x2df48b6dd023231aL,
  58141. 0x6a82c197c6fad2d0L,0x55758764c623fdceL,0x29f533fbadcebd90L },
  58142. { 0xcfbe4155cfff7336L,0xb18415c7bfb609fcL,0xc23395ad8d411a6cL,
  58143. 0x25aebbcf0c92de60L,0xf4d3b1ebc5ccf268L,0x9646b4a79ac85de3L } },
  58144. /* 30 << 266 */
  58145. { { 0x0f423f3013d6cb61L,0x239b2baa66674aceL,0xa6f2ba39eda69340L,
  58146. 0xdbbd20eb43e6918cL,0xe6ce84a3e5e7248cL,0xd9184bb5e04c580cL },
  58147. { 0xe4b76d96a0738aedL,0x98662b6090d480a8L,0xfb14bec72610b6c5L,
  58148. 0xdfcb01f6bb65837cL,0xd7f0b6ad4a97fb21L,0xe6d84f4bad59b2ceL } },
  58149. /* 31 << 266 */
  58150. { { 0xa79085eb1f7e921aL,0xe2737a08d0aeb41fL,0xa96d7e8169ead959L,
  58151. 0xbed1731b733b7c6aL,0x7768e32df508a48aL,0x6f73a08651ccc97aL },
  58152. { 0xb7f94a4b9122db73L,0x1cd17ca257ec947eL,0x7c83fe278f8445f1L,
  58153. 0x661f5d82b520fe34L,0x495354942233d364L,0x0bf7abe663925ca2L } },
  58154. /* 32 << 266 */
  58155. { { 0x923e948c203bb368L,0x58e37a2b231a80e0L,0x345a011a6df27debL,
  58156. 0xba6784c1d57f4ca2L,0xf01b3703114196e9L,0x981a63eb1aab426dL },
  58157. { 0x2ffdc97851770c1cL,0xddd19da6efa722fcL,0x5ca1c01216f09c1eL,
  58158. 0x612021de5b9cc0b6L,0x910e10e95e150569L,0xacace9dce2ab93eaL } },
  58159. /* 33 << 266 */
  58160. { { 0xf66601a7aae13423L,0x940bcd2882cf3308L,0x55de590974f632bdL,
  58161. 0xf677d9d4f183faeaL,0x54026b2828ab364cL,0x2a5353dc743469edL },
  58162. { 0x15f02aadd46871d5L,0x4b3ec89b5a2100d1L,0xca85c3681eb9c381L,
  58163. 0x145cc7fd50e78466L,0x75fdac98c4b4cdf3L,0xb7cb9170796136f4L } },
  58164. /* 34 << 266 */
  58165. { { 0x6e89c0df54827957L,0xafb26b6d05805250L,0x0c0dc4ea37343465L,
  58166. 0x2d3c8b873daca876L,0x733b23d9554a2cd8L,0xd4f2936a6a04d38dL },
  58167. { 0x0937611686f90d9aL,0xcd854d3211425591L,0xbaf9d4cab55b4bf3L,
  58168. 0x47259b95144676c2L,0x765cc4b55d7d2835L,0x36e47a8882b2cbafL } },
  58169. /* 35 << 266 */
  58170. { { 0x2070db373af8c96dL,0x4c2db2623b70e976L,0x7ed4d1e9c01f404aL,
  58171. 0x04a52764b39d2e07L,0x06e4a7984ebe3ac3L,0x35c9c1f68d7645a7L },
  58172. { 0x2e0b48c75e9c295dL,0x5d44fafaf78e0717L,0x2fc27eba04213067L,
  58173. 0x9f3fb2ff2ab0f0e6L,0x374b32fd0c730af6L,0x06ec846129583945L } },
  58174. /* 36 << 266 */
  58175. { { 0x583a3272230be37eL,0x4d3298951c55f593L,0x3b3a2d8a350f0334L,
  58176. 0xec830170b25498abL,0xd65847d9b3a01571L,0x4605e739663f86fcL },
  58177. { 0x971b8e115c4bf502L,0x651d179571a892b0L,0x57930832d2d1a4f9L,
  58178. 0xf97010745b09a4c4L,0x76b023e55ec2d1a6L,0x8648b8bcf49e1329L } },
  58179. /* 37 << 266 */
  58180. { { 0xc5a8884d6d5c7411L,0xad32aa97d098e2f2L,0xf99569e945d8ad00L,
  58181. 0x35801c1c0a232776L,0xe426fd65fb1a2cb2L,0x874b559ecb26ae10L },
  58182. { 0xfa67c2ddf44461b8L,0xc58f8d229418e17cL,0x5998197169908eddL,
  58183. 0x8a4a14b8a1f78300L,0x4814c36e61f7fbc5L,0x0389dcc716a1c7adL } },
  58184. /* 38 << 266 */
  58185. { { 0x777e308fc072cf71L,0x4a2d66928c807ed5L,0xa4fe074124842689L,
  58186. 0xa3c2a867151ed7b1L,0x52ef24f24d22ee35L,0xe684ac76499053ddL },
  58187. { 0x0b7c223b0582cb86L,0xa6c18539bb81f713L,0xb472da7f66d2aab9L,
  58188. 0x3592ab7b7916d4e5L,0xed651a05770c49a1L,0x7b879da1c0256420L } },
  58189. /* 39 << 266 */
  58190. { { 0x82eeaa1496f83e29L,0x586f3e8de5cae8eaL,0xb671eddbb298eb5aL,
  58191. 0x41efea86dd0da080L,0xfe9af019564a382eL,0xb2f370463027693bL },
  58192. { 0x65466e5018789c0fL,0x5b0870ac2ebfe89eL,0x9093f416a59f3a53L,
  58193. 0xab0cd17251864c77L,0x8e3aa9864481457bL,0x46cfd207896346a5L } },
  58194. /* 40 << 266 */
  58195. { { 0x473bdac887cb6ae0L,0xbd3001b3f155c32bL,0x109643c20026e8a5L,
  58196. 0xc4f5f6cc188a568eL,0x630aecf64d2758e0L,0x4549949955b91872L },
  58197. { 0xb10f19d4b6a09df6L,0xc537a4bb37f26d01L,0xd29f505c4d19a293L,
  58198. 0xf388a5d2cbb09b17L,0x462efffc6811a49bL,0x8a1cbc40b2f3aef2L } },
  58199. /* 41 << 266 */
  58200. { { 0xf7d94342b7b42998L,0xcdfd6e43629089abL,0x622e8d3cf7932661L,
  58201. 0x4818adca0b14b257L,0xcc1dcd1ccdb486bbL,0x58b6cb7ecce8b358L },
  58202. { 0xca36c0b4e640cebeL,0xcc5598942d25f742L,0xdf4f2a9ed754d3eaL,
  58203. 0x072eb5e5f44a8604L,0xfa7b1a03cd5ca1c5L,0x6b6b4967d4779eceL } },
  58204. /* 42 << 266 */
  58205. { { 0x0f0233df8665f6f2L,0x8cd887463bd40f39L,0x23a41596eedf8d3aL,
  58206. 0x3f50e3f0b5ef5455L,0x935b24e0a50cd358L,0xfdd0e940d362a9a7L },
  58207. { 0x6b00a6d154371aabL,0x2e707c4e1204bcf8L,0xb4d2d2dc30233f88L,
  58208. 0x470c3201783e58efL,0xf53987865ac21a16L,0x278487d626c3513eL } },
  58209. /* 43 << 266 */
  58210. { { 0xab5ac4df7d40427aL,0x0c4fb23b66ebdcedL,0xb02f8632b87df612L,
  58211. 0xebbd2e7f1801700cL,0xdd11de725b675e5bL,0x2adfb20662d7210fL },
  58212. { 0xe3ba7c0e28667b70L,0x3e190a438fe31c22L,0x57908f2bc3390733L,
  58213. 0xe9e8714ccb6fefbbL,0xabba506dfd51c513L,0xd50f979f6b798860L } },
  58214. /* 44 << 266 */
  58215. { { 0xdf224cea1eed2b0bL,0x10205f438814572bL,0x8b99d85c02eb9b6cL,
  58216. 0x7a8a3d146c63a672L,0xc8822c6c96f45695L,0x0530f619c7f532f5L },
  58217. { 0xb981e182310f8355L,0x49318290f201444cL,0xeaa4c406f9b76d19L,
  58218. 0x960fa2c7534a91c1L,0xf98966d1522b7d9dL,0x66912542c757dbd6L } },
  58219. /* 45 << 266 */
  58220. { { 0xe265972e1fe73a1aL,0x77e234c2987a1a34L,0x1814bdfe8c5789c0L,
  58221. 0x908f55c7df2ca0d7L,0xec207eb2a6a50ceeL,0x63cfeaffee916760L },
  58222. { 0x808a758bf466a1b8L,0x2a48112d8383b0afL,0x5238922ef1a4ca6aL,
  58223. 0x5c422786778de666L,0xf5a8c6b5d2f549ecL,0xcac5d0c5242bbc9bL } },
  58224. /* 46 << 266 */
  58225. { { 0x33e0e005b34dbf06L,0x7bbdbe1e1fb341dbL,0x443fde882bab5425L,
  58226. 0x9db5bf1a86b57cdfL,0x72c535c309a93848L,0xf7aa9432b5f216ceL },
  58227. { 0xc17dc7ae0242308dL,0xf1cb5dc5db0e4c0cL,0xb9d16d58a2b7112eL,
  58228. 0x486cda07ee4494b5L,0xeb46ab545d431adbL,0x3261dc5181ab565aL } },
  58229. /* 47 << 266 */
  58230. { { 0x476a4bfaa2a8a081L,0x43c5f841394f851bL,0x659baa591f5b22ddL,
  58231. 0x49a786aa65f680efL,0x091bd21608fcb9d8L,0x13f6953d984fe1f1L },
  58232. { 0x7b5d9f4b6d6d40a3L,0x2f135dcf0d458d54L,0x2da18c3d3a71204aL,
  58233. 0x3d93edb97a3486d6L,0x026fec7261846af9L,0xa62197bcd5200dcdL } },
  58234. /* 48 << 266 */
  58235. { { 0x0cdd83725070e0a9L,0x7c5ad562ec550783L,0x9652b8474f3b8d2bL,
  58236. 0xfdd60d93e6e98d73L,0xd51cae2ca3479d0bL,0x11b93b6dee05c006L },
  58237. { 0x9d72b82d8a3b40d5L,0xc6e996fea7d24855L,0x420672f7398603deL,
  58238. 0xd551b34a9a1af2ceL,0xdeb8c1d913bdce0cL,0x56ca926debbeba7aL } },
  58239. /* 49 << 266 */
  58240. { { 0xf63ec096bb85ca8aL,0xc149664173bc52f2L,0xba792560c02fc808L,
  58241. 0x9a6043e3533c6523L,0xa9d78f0aa8564390L,0x7fef67e494614bc7L },
  58242. { 0xb4091b8fd389234dL,0x5913368e82db1d08L,0x178f7df0981cc6caL,
  58243. 0x19b1f2be725ec048L,0x852aad85012f9c44L,0xb07cac0dc894e777L } },
  58244. /* 50 << 266 */
  58245. { { 0x1c1709d02c7e0767L,0xec1013234d70b117L,0x95c57e678beb8e05L,
  58246. 0xdbf29e2e1133fa4aL,0x917f4a6c5139e020L,0xcf0be5098399735dL },
  58247. { 0x83014c169c878b4aL,0xe0c14d2cf789b84fL,0x222aba39165a4aafL,
  58248. 0xe135f2b384441391L,0xb6f1cf7e19c3ee07L,0x2f918da9f810499eL } },
  58249. /* 51 << 266 */
  58250. { { 0x026ee35816bb2bddL,0x8c8953f8566d8470L,0xf0cd746d0fc63932L,
  58251. 0xddf3e54f060a07a3L,0x8da877a643b4e92dL,0x7ffd839dfdc9e34aL },
  58252. { 0x5c3527445df04d9aL,0x3c5eb576b69f84e0L,0xf73cae300848d993L,
  58253. 0x3438f2bea0fe7fdbL,0xd4e7511f0eaf0168L,0xa7ffd167c768386aL } },
  58254. /* 52 << 266 */
  58255. { { 0xbb91877acfc74bb0L,0xbe742182a060a71eL,0x116e5a626ed7786cL,
  58256. 0x0a496b1bea669e56L,0x3a012174b8f02e6eL,0x6add760c106174f4L },
  58257. { 0xaf2606e05e0292cbL,0x7800a495c7b7bad0L,0xca02c9320a1c5954L,
  58258. 0x904f23c6b245ad57L,0x28d6cc2172934de5L,0xbb7ed903283752cdL } },
  58259. /* 53 << 266 */
  58260. { { 0xc80288125e58122dL,0x7a5c65f1c4b089caL,0x4ddfd3663b980faaL,
  58261. 0xe8129f7f96a909a0L,0xc177aa042221ffacL,0xaf444ef78ff46e81L },
  58262. { 0xa627f3d76b154996L,0x0f06fa7b115e2a5dL,0x2532b85d43fdb775L,
  58263. 0xb6d96b32eaacfb58L,0x898766304f834382L,0xfd2ffde9d5636b92L } },
  58264. /* 54 << 266 */
  58265. { { 0x318cf974973757d0L,0x12882d0a94ac73a2L,0x1fb74a53bc250843L,
  58266. 0xc612569eccd8d47dL,0x74cff8789d5f7c8cL,0x54e0e475375a7366L },
  58267. { 0xe8322d23d0f57cd4L,0xb6ec5666d95a6e0fL,0xc8374b254a4bd084L,
  58268. 0x9459181b349d93ebL,0x7011f0a61368b9a8L,0xed57a19137eb2833L } },
  58269. /* 55 << 266 */
  58270. { { 0xd245d180fa5f79acL,0x44c331f35b41fcb3L,0x13188b6e27ee6c0eL,
  58271. 0x54ce984b23fdc742L,0x66d4e1303c81c213L,0x432174030ecb6fd8L },
  58272. { 0xbbeb09fe111ae08bL,0xb22ca6b42e2df05cL,0x0e9d01dd0fec9be9L,
  58273. 0x9ac4523dfd2fc4abL,0x3d9e98c8fdc059f5L,0xd52e6dfb2d2cbde7L } },
  58274. /* 56 << 266 */
  58275. { { 0x80d7ef8598100f17L,0xb9795c7112db3f3aL,0x44473659296a7c44L,
  58276. 0xa46810f21e5bf539L,0x5621241814ee1e3bL,0xea8284e209931822L },
  58277. { 0x424c613e42ac1e42L,0xe84a80afbccf9466L,0x21a8cdcc45132204L,
  58278. 0x9505a4148d58da62L,0x773e09837b3f47aaL,0x0ad0cc91e109bc6dL } },
  58279. /* 57 << 266 */
  58280. { { 0x98e2509bb527b250L,0x2dd30c824a9c762bL,0x54025da4cb2a00a2L,
  58281. 0x88ed00ff04d8e0e9L,0x5699890219ab1fadL,0x92fffc41697b0226L },
  58282. { 0xb481d1ee7d08a39bL,0xea773f7f82be0803L,0x967e848a6de8ec6dL,
  58283. 0x6ea1e46380293472L,0x941cded72e988de3L,0x85f96b23399da6b5L } },
  58284. /* 58 << 266 */
  58285. { { 0xabd86572f1a62473L,0x9ec25d0bec274738L,0xd27d1a8c2052d4ccL,
  58286. 0x1f2a2a9ba95de3f0L,0xe3b8652ea2c91bcaL,0x1a4f6900822175deL },
  58287. { 0xd9405d4662475a44L,0x4ecbe06cfe55c587L,0x30f8d199a4ac2f35L,
  58288. 0x2a5defd8d3c12844L,0x6d0fd9d673fe9b7eL,0xb0ae1019adf1a196L } },
  58289. /* 59 << 266 */
  58290. { { 0x6c9a378c30734f5eL,0xdf04359f6aaf7b42L,0x244422fc16f87409L,
  58291. 0x81dfb15b08bcd67cL,0x24b7d083a5e4a8e0L,0x557183410431786fL },
  58292. { 0xc8feeb8c33f3ec2eL,0x360098cb2be371a0L,0xf4f3d992bdb874ceL,
  58293. 0x47b432ed87af8471L,0x5c4b1dbdf87535deL,0x6bb6d6dd8301f660L } },
  58294. /* 60 << 266 */
  58295. { { 0xafa9338759769f77L,0xe6c710cb49e502b3L,0xe6fd7b8d1514da98L,
  58296. 0xb5924c63aedf93caL,0x4cc36795c112b37bL,0x0ee30ce3231def42L },
  58297. { 0xe1f436e7daf8a37eL,0xed54b7f56efa184aL,0x09ad65752c0dfe63L,
  58298. 0x5ed9da43ca530b38L,0xea2fa192ae156274L,0xbf096c54a4429edaL } },
  58299. /* 61 << 266 */
  58300. { { 0x41401b98f54490cfL,0x361a24a143b21183L,0xf0176431b6570f0cL,
  58301. 0x851bfe9d05c8bd3aL,0xe44f4ba74611e1b9L,0x587677dc28bf2c27L },
  58302. { 0x3e3b67886d85341fL,0xad65a69468aa381bL,0xd269dc711aecf19bL,
  58303. 0xb94b64a2d98e6a2cL,0x6004b569a94661a0L,0x81713a8e689181d5L } },
  58304. /* 62 << 266 */
  58305. { { 0x55b1901d3649638eL,0x2e9929c416abaf64L,0x2d2b160ee9cd0090L,
  58306. 0xb5ef6525f55f13ccL,0x447aacbe11c3e8a5L,0x2c54e602630cf4c4L },
  58307. { 0x3f6d99fc641d8eb3L,0x35386c1384877912L,0x7195db8973f31b6fL,
  58308. 0x63297cb2d3a22085L,0xa627593833fe97cbL,0x2f9a6f0da1eaef0aL } },
  58309. /* 63 << 266 */
  58310. { { 0xb70d7683c63d6dd3L,0x60ea781084acedf1L,0x7646260c40d62cd0L,
  58311. 0x687000b456142a6aL,0xce3c4728ccb9177bL,0x45377d059928c509L },
  58312. { 0x75cc40bb1a78af0dL,0x43a1661cc69e59fdL,0xf9bbcbf8044a943cL,
  58313. 0x934fd40d7c372080L,0xb6edae96cb2eb940L,0xa02bb5fd6e063cc9L } },
  58314. /* 64 << 266 */
  58315. { { 0xac58c9e09db9ca19L,0xd308ea5d390054d0L,0x32ef4afc2cc42529L,
  58316. 0x08bd48b397c2bdf9L,0xac8a7803a849e19aL,0xcd51c0da75c31496L },
  58317. { 0x733dc7def0e2d49fL,0x7c9caad1b44b8cc5L,0x6d9c5b0847be21a8L,
  58318. 0xfab0fdc55ebf426fL,0xd60748caf94e9e5bL,0x3072e59269366089L } },
  58319. /* 0 << 273 */
  58320. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  58321. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  58322. /* 1 << 273 */
  58323. { { 0xb06c17a3f0ef77c5L,0xc144e7846df6bf59L,0x2440ae990038aeb2L,
  58324. 0x83bf711b58b402caL,0xb8763e00b577732aL,0x509e91eff651a932L },
  58325. { 0xbe02ab9d00ac109eL,0xfbcb426c8dfd78f1L,0x7ed272f64283f80fL,
  58326. 0x098cf0572365da5eL,0xd90e6f1805dc6bebL,0x09ef177fcf7b9d72L } },
  58327. /* 2 << 273 */
  58328. { { 0x6f101762eeb791c4L,0x0d942184df261effL,0x2c58e2aaac1dc827L,
  58329. 0x51410e89f835a1b6L,0x981333a7629915a4L,0x371891b60c14148dL },
  58330. { 0x4d20b3d3c0904446L,0xdda7ecc8949776d8L,0xa664b68c2a2645f7L,
  58331. 0x7a6bc857add082eaL,0xe7467dc63e5ff206L,0x40a6c34004e2dfccL } },
  58332. /* 3 << 273 */
  58333. { { 0x3d0efae3106ba1a1L,0x9c717ca192d7be5aL,0xa5cb5a253f00eeeeL,
  58334. 0xc2f9258cd86161ceL,0xd2b0865f5c4a389aL,0x8c06d7689b1f2159L },
  58335. { 0x5a758a612753107fL,0x5ab6449d0a539c19L,0x88655a4949d301c8L,
  58336. 0x129647e61c4bb89bL,0x06f0665ec360259cL,0xcdba2f0b066197d1L } },
  58337. /* 4 << 273 */
  58338. { { 0xa235456903744726L,0xd2169e6dd8d275acL,0xab0c247b132c5689L,
  58339. 0x129a5c9dcc4760bbL,0x03eba46726ae821bL,0x67a33fda3df1cf83L },
  58340. { 0x010813cfb8421b7aL,0x7b0f507098cd6d76L,0x907320b31fe4b600L,
  58341. 0xda3bfeb398dd3239L,0x23f1ed1641abb34cL,0x01b30f29946f85f1L } },
  58342. /* 5 << 273 */
  58343. { { 0x97c5f1c7d3970d9fL,0xd051c518ac8e6227L,0x3f67b3958e87edacL,
  58344. 0x3a5cbd287b9e4c17L,0x58c009e65671841dL,0x7bc5bddb518b3b39L },
  58345. { 0xe7a8a6335e74a614L,0xf92e4c226ed89a92L,0xd0d6e80a118e663dL,
  58346. 0x33dba4f9dcbb4aecL,0x1d4cb3141f917417L,0xd8b17bfa3b0c5859L } },
  58347. /* 6 << 273 */
  58348. { { 0xc0fa0d21a093c3e0L,0xad34c41439e902a2L,0x81c8cd7599bc928bL,
  58349. 0xf7f8be14cdbbe4d8L,0xe46268b5c2339529L,0xcdc54e348283ba7dL },
  58350. { 0x4c5cf62778904fe1L,0x056678c11b45e4d2L,0xb555ad6ad265abc2L,
  58351. 0xb8f8ca3f830306efL,0x48c8764681c20e1dL,0x5bb0a529737a7944L } },
  58352. /* 7 << 273 */
  58353. { { 0xbd4c2bfc9cf6fc5fL,0x888885140577af66L,0xb5aa2f05f9e3f7c5L,
  58354. 0xbd477bae64de6007L,0x1da5dcc9747e1224L,0xc2293d1732a15f5dL },
  58355. { 0x4dd9daed029d6cbaL,0xf51362d62cf299c7L,0xe1a4b5c4279cd1e1L,
  58356. 0x4b129a5ea89acfffL,0x8292228ece1c8744L,0x5a440fa04fd12c86L } },
  58357. /* 8 << 273 */
  58358. { { 0x285248309666f8eaL,0xd579b3dfeff6502bL,0x3a66fa9900e4f78aL,
  58359. 0xfd8a65bb54a3f7a3L,0x505d3f631965a79aL,0x9524972c1891469aL },
  58360. { 0x78367cbc3354da3aL,0xbfe1fe3de4941c6eL,0xe41bb3f6f5af173eL,
  58361. 0x57cb03ca5ca36597L,0x27f86cb87b99f795L,0x5cae6514ad4dcef1L } },
  58362. /* 9 << 273 */
  58363. { { 0x4b43f0aef1743346L,0x1700581944324c46L,0x86c77197e3603fcaL,
  58364. 0x230d516f4a6858aaL,0xee965b4ee7c56f7fL,0x4f4ed301dcefb75aL },
  58365. { 0x610b138c4a740b23L,0xda3996a83ffc3599L,0x930698fcb2d1c304L,
  58366. 0xd55bdcd3702bf80dL,0xdf767c419e334726L,0x975352a9d0e819b6L } },
  58367. /* 10 << 273 */
  58368. { { 0xc117353b5e816653L,0x0c87bebe820641d5L,0xee588c6d9ecd29a1L,
  58369. 0xacdfe622c70edf9bL,0xe8b8024cebae414bL,0xd0c426dc9bd7ceccL },
  58370. { 0x715cbc2efe735ce7L,0x8376edebc5e7017aL,0xe9b37efc07990dd5L,
  58371. 0xc89e384ed8d75238L,0xbc594d218438ffb3L,0xbe77e4d4d3628473L } },
  58372. /* 11 << 273 */
  58373. { { 0xc53720cdd1b4f3baL,0xb8ac3b4fadf2a330L,0xcef037f5fe179e70L,
  58374. 0x2743b382589d9147L,0x77a094d624423d58L,0x9e34c2e62a23d372L },
  58375. { 0x641ea760983a5893L,0x2211e6a49a81548eL,0x56578a1a48735310L,
  58376. 0xedb91e03a57faa83L,0x4e14d5649b133629L,0x341f3ef957e82ff7L } },
  58377. /* 12 << 273 */
  58378. { { 0x4952a350d87a86c9L,0x08ed7da7034f45f9L,0x1e9ff8272bd716d0L,
  58379. 0x2471fd15f1d9331fL,0x0c708362d7370b75L,0xaddedde6fc1a1051L },
  58380. { 0xf4475288db27b186L,0x5be4d46b3760bc11L,0xe44435d906d47ee1L,
  58381. 0x865cf7c8d0b7c8a2L,0xdb412be08d31a252L,0x4b90a9322f24d71cL } },
  58382. /* 13 << 273 */
  58383. { { 0x71b84eed8f7a3ab9L,0xf41d7edb2dc18004L,0xe408156dcc4a02cfL,
  58384. 0x0be155a25cd906caL,0xbf4b0f6991516399L,0x2ea85d434a7ff94dL },
  58385. { 0xf199b31da26e9974L,0xc584df250b805ae3L,0xd4e7e8597a3634daL,
  58386. 0xf553f07770db4be9L,0x1cb1056fbf0dafa3L,0x235281b2a817d6edL } },
  58387. /* 14 << 273 */
  58388. { { 0xc3304e9260d2b80bL,0xab24dac9a38753bdL,0x40373d04cc1ebbf8L,
  58389. 0xa5a162d3437e68d2L,0xc8018b1257e8db12L,0x0c99c6de9bb52643L },
  58390. { 0xafef0ff6ee24e63bL,0x329c46264bea9a14L,0x1b17d2e6effae4f9L,
  58391. 0xd25b93aaee300afdL,0xe83bfdcba0d62da4L,0x5e919538fd787740L } },
  58392. /* 15 << 273 */
  58393. { { 0xf5bbb4fe196c38e7L,0xe0011deca5c75baaL,0x2e29fe59b835aa49L,
  58394. 0xee22e2864230f17fL,0x8774214ff94c1060L,0x35bcca38e6d4c126L },
  58395. { 0x18d984dbb7c9d255L,0xb1d5515c9b63dc4fL,0x425360f12a0cb854L,
  58396. 0x038c7f2317a1e286L,0x5e6b12ce951f18b2L,0xabfbde5ea65b1de3L } },
  58397. /* 16 << 273 */
  58398. { { 0x38a49bf555f0ad9fL,0x1a84c6b8f3618639L,0x5f709eca01b2f7c2L,
  58399. 0xc479a6505be8359fL,0x6b6a22bfd6646b3fL,0xcce78878cc5b711bL },
  58400. { 0x8e7dbc63b446cc63L,0x231bd027218f800fL,0x2d3a7e04030271ebL,
  58401. 0xb08b5978e22fb3c7L,0x860d62789be0d46cL,0x253a31c21d49a915L } },
  58402. /* 17 << 273 */
  58403. { { 0xab4dbdf36ebc28e5L,0x56d5fec527be58b5L,0x6e9375d3cf3fd509L,
  58404. 0xfffea897ca4ddf48L,0x0a9542ae6a3757c5L,0xb9069a2e7d93911dL },
  58405. { 0x3e74ac5f3dc967b8L,0x99c38796ea8f5a21L,0x27797b97a6ddea53L,
  58406. 0x9501e1c561dfcc1bL,0x568d3abe448e95c5L,0x021f8f4c0e7c186bL } },
  58407. /* 18 << 273 */
  58408. { { 0x98aa1f7a6e44f63dL,0x6451b170cb597ec9L,0xc0f6ee8721e13b78L,
  58409. 0x36c3b9c751cfd003L,0xc31718ed2f610040L,0xdddabc6688c48009L },
  58410. { 0x5626f090a8369e4fL,0x0eccb1c06004a968L,0x2f0448035da2f1a4L,
  58411. 0x5390b6dd3846a726L,0x5c4caffea24f3083L,0x3c9baac8c4842995L } },
  58412. /* 19 << 273 */
  58413. { { 0x58c5fd1205c7a75dL,0xa98007fd10866935L,0x91369e874acd567eL,
  58414. 0xb7e05dc322c6145aL,0x24c949b4d949d8b2L,0xc5c574a590a6a437L },
  58415. { 0x4306f0334798d1d5L,0x82af09f4520e01b3L,0x53fab41b81247f00L,
  58416. 0x3096ccf44ea93cbfL,0x9665e039f13ff09eL,0xb623f8b158e036d9L } },
  58417. /* 20 << 273 */
  58418. { { 0xbad6b669376bdc3fL,0xc4a8e7bc23a9ff38L,0x3f54d8c4555fb0a3L,
  58419. 0xfb3d5e1d2b23db1bL,0x6379f78af0d7eba9L,0x36004febfa0beffaL },
  58420. { 0xdf0a373c334ff01aL,0x10314749dff12a1cL,0x1d52ddc7f184c1b3L,
  58421. 0x79431663ab02d404L,0x1a6488c17f4d3795L,0x3363660f7cca9102L } },
  58422. /* 21 << 273 */
  58423. { { 0x1e4595c6db3e57d9L,0x49e3d3d9bfb94ec5L,0x4c720de1a4f12881L,
  58424. 0x91a08340b06c64e6L,0x8e5c72f0ef0857deL,0x2c9b4cbc09bb76fcL },
  58425. { 0xd4262fe4b0bba8bfL,0x64c5fa1439fcd07bL,0x518da4de62904ceeL,
  58426. 0x626182ebae4c9717L,0x900fe9f806351622L,0xf74aaa2241f9e4d7L } },
  58427. /* 22 << 273 */
  58428. { { 0x9d2c02839fabb29bL,0xb27ac46e172348cfL,0xddc6fb63de1f64b2L,
  58429. 0x532dc953bb097c87L,0xc7f5180cdaa34e27L,0xf96e4ad755438893L },
  58430. { 0xc0b2eba324f54a0bL,0xeba396ce5b50d12eL,0x80b3a7f699772783L,
  58431. 0xe2fa82ff3ff7df4aL,0x55375369a2359baaL,0xa28388ed856c05bbL } },
  58432. /* 23 << 273 */
  58433. { { 0x4432fe8495a2d064L,0x4c6380747fec6057L,0xc33705bb33cfb533L,
  58434. 0x5e7fb7c976991cfeL,0x73d249bdb3ac1b6eL,0x963964c896aeddccL },
  58435. { 0x8c1abe0e56b71636L,0x6ebb841f38693cd1L,0x00ef6a7b60e7cf67L,
  58436. 0x29ecded2c258bcb9L,0xb2d566a5e40fd26aL,0xa2910f4ed512abffL } },
  58437. /* 24 << 273 */
  58438. { { 0x56d6515604dc109cL,0xcd740cc809c1d307L,0xef9e049f10dfaeadL,
  58439. 0x19750b3ae30b70b8L,0x11ed860015c6a562L,0x53bdf97e12097026L },
  58440. { 0x79559d056c0d908fL,0x8f1d75bab506d527L,0xd6fd7323ae8fb3c4L,
  58441. 0x834639c9a4111f88L,0xfc69a029a310a683L,0xa4467bbb255f2e9aL } },
  58442. /* 25 << 273 */
  58443. { { 0xa809a063e9e3953fL,0x09242dc960dc53fdL,0xa48f52d00080c436L,
  58444. 0x762a585dad2eb70dL,0xc6d52f047a3c6aa2L,0x1b6979dcbe60899cL },
  58445. { 0x7a07af246d760794L,0xa5b1f912ef5c1118L,0x36367e4375bb329eL,
  58446. 0x594f349029e6bddbL,0x13cdc4aaa4a4f1edL,0xa7c3ff97b687a69dL } },
  58447. /* 26 << 273 */
  58448. { { 0x1e79881146f7c4c0L,0x25730855946abf8eL,0x1741fdeeaac2031eL,
  58449. 0xef34715b72ea60b6L,0x378eb680350ddcfbL,0xe72ac880ec237141L },
  58450. { 0xb173251fff125bf8L,0x37ffb0cf4999b6daL,0x9eeb91a8817779f6L,
  58451. 0xa9edff0ae93ed1f3L,0x31f2ca241d7772d6L,0xd25c3f3b97f67b92L } },
  58452. /* 27 << 273 */
  58453. { { 0xb6c4144381478e46L,0x7b53d46350cf8795L,0xe96e7cb9ca5bf2d2L,
  58454. 0xc8fa39c695ac9ba6L,0x8ab037d12efc83d1L,0x0ccacbcc94bc2536L },
  58455. { 0x45e7c7c774038e13L,0x47d5b7292f5e344eL,0x2e0ffb2cb1eed282L,
  58456. 0xfe88d3a88d5d0b37L,0x804b612e2487d971L,0x6f316d66c95d08faL } },
  58457. /* 28 << 273 */
  58458. { { 0x5f0a58a8a3526fecL,0x849c171b02f028c1L,0x34d77ce856a5d3b5L,
  58459. 0x9701621754d5a92bL,0x0cce35c12cc5b70bL,0xd9d5a00ae83f1f4aL },
  58460. { 0x064223f826a0368bL,0x328a9f6940e16452L,0x3a6ac093d305ad2cL,
  58461. 0x759d9a16beba7c44L,0x86021de7637ce7c8L,0x276bed61cc80c1ccL } },
  58462. /* 29 << 273 */
  58463. { { 0x5d4a529ef9822e60L,0xc6f2702006edd801L,0xb2511d84efa3d8d6L,
  58464. 0x38cfba656a4c6598L,0x31a5779765c067a9L,0xcee558f387d2ca0aL },
  58465. { 0xf22345cff844260aL,0x29b6352a63d2ae75L,0x59dad0ab6cc9f2bdL,
  58466. 0x615ad3599ae1bcb3L,0x3a29a237f692f42bL,0x543771c40f26163aL } },
  58467. /* 30 << 273 */
  58468. { { 0x427437e7d722576cL,0xc9d7ac7abb548ef5L,0x72f00f28c331a9e0L,
  58469. 0x5d9327b564949b48L,0xea75f3b54e2bb808L,0x28acdea068678f8bL },
  58470. { 0xe9e787b20878223fL,0x213f47ff7e7b0a11L,0x5e967d39f277a3f7L,
  58471. 0xe6651015d2006de4L,0x49b87e4bc44eb1e0L,0xf461bb76222cd3a2L } },
  58472. /* 31 << 273 */
  58473. { { 0xd6b9341fde60d963L,0xb1a8dd0d5319a930L,0xc4f18dc0aa6b20b5L,
  58474. 0x787de2e7f23f4401L,0xc15b38eb28047029L,0x0bffc0b55c99d51aL },
  58475. { 0xf0310f39740b5798L,0xf69ea1064ed8d3bfL,0x545a54d79f6722aaL,
  58476. 0xe5a9dee3af4017c2L,0x45efa2ec4a659592L,0xc5d64bedbed4e245L } },
  58477. /* 32 << 273 */
  58478. { { 0x66797f56bbe4bddaL,0xb92a369eda51b1a2L,0x18eef4a531adb034L,
  58479. 0xcf1cb5ee5d185cfcL,0xf596a59bbd53c27bL,0x1e1dd6f569002569L },
  58480. { 0xd9433e797687e48aL,0x7d8d24c20cbcb9ceL,0x233cd7ed65d68ecdL,
  58481. 0x201bbe09fb2aded8L,0x987f4975ac9b750eL,0x949da385337f7f25L } },
  58482. /* 33 << 273 */
  58483. { { 0x31439e35b95fd11dL,0xf97e8fa4b691fb77L,0xcfdc02956d4ac378L,
  58484. 0xd31bc3b0d1a617c8L,0xd857098204bd015bL,0x30cca6efd6198f0dL },
  58485. { 0x6a52650a805964edL,0xb656d7abd060eeb3L,0x5267f37ed38a9218L,
  58486. 0x5f28a2ecd3d6a193L,0xb7dc6e916d0d9c9eL,0xa7f84e4b219d45c6L } },
  58487. /* 34 << 273 */
  58488. { { 0x550ef2713398c3dfL,0xfe184954307631a8L,0x02cef50606e5cde4L,
  58489. 0x9687a39c10f11703L,0x02c35937acb10b97L,0x835b00fd13e3d219L },
  58490. { 0x5828678b584d1abaL,0xbe55fb9cc9b40568L,0xe5a4a90e8fe19e84L,
  58491. 0x91e24c9248989b77L,0x094f9e7ae3d5f4fcL,0xfe9bdfb9759029b5L } },
  58492. /* 35 << 273 */
  58493. { { 0x43b1f8b9c1de72e9L,0xcbc8e0d4a3bdb164L,0x5c45d3dfbcc2e5bdL,
  58494. 0xb5137b69247bef53L,0x6d889f5673794e3cL,0x43e2fc9b1e2dfdc1L },
  58495. { 0xda15dc5da995d3adL,0xa0db9f5ec43d86e0L,0xc42a144bcaac3bbfL,
  58496. 0x3c855fb174c43eddL,0x0731f33152688272L,0xc1f23e5643d7762aL } },
  58497. /* 36 << 273 */
  58498. { { 0x00c2ee1c9c7de99fL,0x28a7461d15e50391L,0x1bdc0e32a1c77952L,
  58499. 0xe98242c4d53d640dL,0x1a4724d2cf153c7dL,0x194e5dccba477d46L },
  58500. { 0x871c8cfe3a0d4ccdL,0x62010af09af451fbL,0x9b354f9e6ddec75cL,
  58501. 0xe5db0a5d680e3511L,0x183d1270d247745bL,0x9910867aeecf52dcL } },
  58502. /* 37 << 273 */
  58503. { { 0xa970903e8bc2003aL,0x0f8bcfa4a3cf29bcL,0x7054f69e683a7ddaL,
  58504. 0x53928bf1ece30167L,0x2588bdf1ffffea87L,0x01683b5ed7172ad4L },
  58505. { 0xa0ac85379de7e713L,0x217bcdfe9b0442bcL,0xba46b8f64d4adb3eL,
  58506. 0x320580990a9f8ecdL,0x0173b7bea504bdc5L,0x15321aeb82b1606fL } },
  58507. /* 38 << 273 */
  58508. { { 0x4f349e5f6e39d625L,0x37cbd935b80760d6L,0xb8657ee14b1e84c2L,
  58509. 0x502954064cb84bdeL,0x66d678cce8d23ef5L,0xcba173713ec3b79cL },
  58510. { 0xed7ab3e526e3cee5L,0x34c68c516c44ef0cL,0xd704e724f8fdd226L,
  58511. 0x2fa0d2dd3a9b40a7L,0x373c5c70a23be590L,0x0beb611bda9f7f7dL } },
  58512. /* 39 << 273 */
  58513. { { 0xef506531913bc31bL,0x31210c5f8c320074L,0xb42faf19b861acc1L,
  58514. 0x26f09b89e041e774L,0x23fec89822f84c93L,0x9f8b9d708ec590bfL },
  58515. { 0x604d7d2952644790L,0xb77e3136a2339c53L,0x17f1d7a920f2fc09L,
  58516. 0x8c6435d9e6bb96eaL,0x5cafeb5f3711b8a7L,0x1ec6c4edfa23ca24L } },
  58517. /* 40 << 273 */
  58518. { { 0x6fb6b7bc0410ca0bL,0x0e16eed2b3c13935L,0x98ad89d8316ff531L,
  58519. 0x4800ee179894d65fL,0x034ea3c448280170L,0x8126d12dc30be537L },
  58520. { 0x43c2d27e5120e525L,0x96a5d498ee65df90L,0x654540105eaef29aL,
  58521. 0x1d8f07a17b678fc7L,0x54bc6f737b301270L,0xe58a8102e9473365L } },
  58522. /* 41 << 273 */
  58523. { { 0x1fa3a458aaaf79f6L,0x1d14ff613a1b7c64L,0x32c7da68f22ddb3cL,
  58524. 0x7b2345ac58cff63fL,0x214e6d9dce3c3af9L,0x36fba0b78b6691deL },
  58525. { 0x69fd813cee1a30abL,0x50daffe91adf6215L,0x55b34de692871a84L,
  58526. 0x437f1b4b7ff3ea1aL,0xc3258ca580ff1c23L,0xdc220ffbc6d0b822L } },
  58527. /* 42 << 273 */
  58528. { { 0x93e56b47ad910b37L,0x8cbce4815d20d236L,0x25b50cac5872d763L,
  58529. 0xb50aa752d8505696L,0x02075e6d6f42b533L,0xf0b34a178f8d8352L },
  58530. { 0x59f2feda5234531bL,0xb23e1da1751127c8L,0xe1f65e08b6759ccdL,
  58531. 0x47d8631c352e9500L,0xab10d299c13feb16L,0xf9e916a3e5c6a220L } },
  58532. /* 43 << 273 */
  58533. { { 0x55899ffdc06f1b65L,0x4f9ec6e011899630L,0x0df97edc50a29319L,
  58534. 0x5c4a10ea5e66f0adL,0xea7b4497aa3d14e9L,0x484d8f64d22cc470L },
  58535. { 0xd7fd252240a61a0bL,0xebd9f49d42d04a79L,0xf18ba2ec312ddb99L,
  58536. 0x687273ec2dce1351L,0x68d8b052d0220e57L,0x2c0ecd6b05a7e3dcL } },
  58537. /* 44 << 273 */
  58538. { { 0x460c29904ac6cf02L,0x01482cfa420a35b7L,0xf793933a34680972L,
  58539. 0x2cd1f50017e2367bL,0x2411c3523944f060L,0x3d58b97411c06b05L },
  58540. { 0x4552e369cddebb3bL,0xe1c38aec009aeab9L,0x9d34737c353b6e4fL,
  58541. 0xf2c99e2cb16d7b0cL,0x57029fa47bbba6a2L,0x0565d1bcd13ef64dL } },
  58542. /* 45 << 273 */
  58543. { { 0x93a50cc7eb0112a9L,0xa0d4419984a59bdbL,0x04b9538c82d01160L,
  58544. 0xdb1d33e163a8d5a3L,0xa710beff08d3effeL,0xc2f37326f9bf02f4L },
  58545. { 0x606b6b5555d26856L,0xf528d22a427fe3d7L,0x31b20fac84fb5086L,
  58546. 0x27129aa592f7e7bcL,0xd88f0d4f44171b33L,0x9b045c897915ede1L } },
  58547. /* 46 << 273 */
  58548. { { 0x0b15ebebcbe014d6L,0xa4f1504e68d24086L,0xbcf475c979d7c8b6L,
  58549. 0xd61b92a8d00a6890L,0x78e096742ee24533L,0x6fe9fe6099656101L },
  58550. { 0xc9542f53e5e63e28L,0x59ec39e12edf3a80L,0x8fe57ffe24ad9280L,
  58551. 0xbae0671bf4b9b024L,0x76e36c14d5816ae9L,0xe53256d4805f8688L } },
  58552. /* 47 << 273 */
  58553. { { 0x006956bfcf9e545bL,0x7829ed13e8fa2ee4L,0x1b108d77d4dd6f85L,
  58554. 0xf51217bb17045f1aL,0x48c4802986141bd6L,0x8d59b995f8820213L },
  58555. { 0x8439949ffc298a9eL,0x967fdcb278188d77L,0x5bbdfd296f35c711L,
  58556. 0x25b37e5df8e62607L,0x18f5c4251795cccaL,0x260f075af0e35ff5L } },
  58557. /* 48 << 273 */
  58558. { { 0x3561b3fea329deb1L,0xfdca0e34f1c3c3e4L,0x4374831347fb79d6L,
  58559. 0xa7f497e1c48002edL,0x86221cce2c44dcb0L,0x65e3f04643785e06L },
  58560. { 0x9ee9061fdf4cf461L,0xc7479e8cf022d27aL,0x1d8de85b76f7f52bL,
  58561. 0x39a713c90fd6c65fL,0xf74ca067711f8a39L,0xad1119ad8ebc640aL } },
  58562. /* 49 << 273 */
  58563. { { 0x43d9bcba57ec124eL,0xbce6aed98cc29801L,0x1dbb88c72632e757L,
  58564. 0xe88f49e891f550e5L,0x056f67da7b6e1b05L,0xa503271082a027bbL },
  58565. { 0x8471fa55c91844a9L,0x882f25b628479daaL,0x96f606dfa9c23504L,
  58566. 0x6a42d307fb7fa83dL,0x531c8a5cea310e34L,0x7e2d20565b2e42f0L } },
  58567. /* 50 << 273 */
  58568. { { 0x547047862e8c467eL,0x26f5efc690e52377L,0x762d8f767f6e71afL,
  58569. 0x5fc1bd13917ff587L,0x487f6c63fb696a60L,0x889a1dcc3afd2aebL },
  58570. { 0x7407d0a0adcf4b35L,0x8f6c9aef91024ecfL,0x3384f1c03e5d9da0L,
  58571. 0xf87acb00b846d122L,0x6d86aebddceb383aL,0x6a5a90cda8f2d076L } },
  58572. /* 51 << 273 */
  58573. { { 0xddff7aa3feb71de1L,0x431e106be44644a9L,0xafe96f8ed5190b4bL,
  58574. 0x31a4dfe40ab42a27L,0x0e2d0cc435762eccL,0x7c928cd91fefb256L },
  58575. { 0x5f33c775daeb94f9L,0xa7a91f8894c239b7L,0x6bf418fb4deda3c9L,
  58576. 0x91ad6e99eefd4f99L,0x7aae05559c25448fL,0xfb7ed9df487b4deaL } },
  58577. /* 52 << 273 */
  58578. { { 0x59753bf68ba85dffL,0xec8b82efd1c89bceL,0xd7f1a651b8b6a683L,
  58579. 0x9c329bf36f84416dL,0xaecbf4b9e68db225L,0x94ec3b0f5a614d23L },
  58580. { 0xbcb6672593a9543dL,0x90c46c46f19132edL,0x4767c73c950b080fL,
  58581. 0x0b9b143e971fd9e5L,0xbce6886f8ec8c68dL,0x167b0f8ad47f512eL } },
  58582. /* 53 << 273 */
  58583. { { 0x51517f9481819dd9L,0x2c2640a0fdd7cef9L,0x59283faabf98b8ffL,
  58584. 0x39713768a46ad877L,0x13d9c0e6834dcf0cL,0x38c85473cc7acaddL },
  58585. { 0x7b58c7666971a512L,0xbe46a58c2a38e57eL,0x3d26d0a06972e213L,
  58586. 0x2341769b63cd0aabL,0x4a293dd0e86307eeL,0x8d1e338d264c81a1L } },
  58587. /* 54 << 273 */
  58588. { { 0x66eb8beab2d5b430L,0x50b4af4382136220L,0x6644e673e79d0b5bL,
  58589. 0xe64cdf10f9fa7610L,0xf1dea591132ff33dL,0x07791ab6b926c725L },
  58590. { 0x6c41b4f383f60e02L,0x54bc9049977519c3L,0x618a6f3c2aef73a4L,
  58591. 0x42cfc9d26fa4ca2bL,0x2784db71a39a215dL,0x378071655cc85253L } },
  58592. /* 55 << 273 */
  58593. { { 0x9cc3ada3554a7f23L,0xa822f9f21c3d0003L,0xb1654da7303123f7L,
  58594. 0xbe33e388f0d8c4a1L,0xd8919c79be4366e8L,0x5a41c92cfe292117L },
  58595. { 0xc4b02d0678c325c2L,0x89eaf4356d511c4aL,0x726fb6d65fda70a0L,
  58596. 0xaf7949a0183abdf1L,0x3410915d26f8f929L,0x36b3aeb281f0f83dL } },
  58597. /* 56 << 273 */
  58598. { { 0x1942c2ffcd74009dL,0x71c4d5f5e9c286a4L,0xf3c152b5771a5972L,
  58599. 0x4cfb1e74363c2048L,0xcd2ce8249ddb8da2L,0x5d97c8e0a5ee443dL },
  58600. { 0x6fa84b3d68d7b3d5L,0x97eaa76d9ce14ec3L,0x2e4571368e13869dL,
  58601. 0x39ac6a0c96f0f8a1L,0xe24458ac42d93dc0L,0x7eb3689d5f60bec9L } },
  58602. /* 57 << 273 */
  58603. { { 0x75592736bce6ebe3L,0x84001a886777bd90L,0xe82739774a31ca6bL,
  58604. 0x6906baf0a8e0dd38L,0x92af56d0848d0c92L,0x7ae700c6501326d0L },
  58605. { 0xce418817470339a9L,0x4354d7928e448dfeL,0xc8f593afa48e3148L,
  58606. 0xdd5fee34db1a96b2L,0x5974e81e357960c2L,0x7326bf016306fdabL } },
  58607. /* 58 << 273 */
  58608. { { 0x74183618de017cd9L,0x939c7975dcfe6dbfL,0xcad9f8a108ec41e5L,
  58609. 0xd9edb91d391afcddL,0xadf1f18c7c4a3f03L,0x0566d3e8ab477304L },
  58610. { 0x32ae20464c19c62cL,0xfa15fdcb252c8c4eL,0x2ed4767e91de2794L,
  58611. 0x622e4f38507f8067L,0xd647242bc68ac330L,0x0650e0a9fc1ccf29L } },
  58612. /* 59 << 273 */
  58613. { { 0x6ecd68a086085cc3L,0xb463f4c165c0cc54L,0x3182cc5c480bc57dL,
  58614. 0x8f16f2038e6d9267L,0x8c92e446df0d0ee9L,0x7da6001ba4d09789L },
  58615. { 0x596390ff976ee9d0L,0x12b8f9dee4c0fd5fL,0xad08673f297b10f2L,
  58616. 0xc8e9097c7b524a51L,0xd494f0d3009cf47cL,0xf535c07abcdd1b68L } },
  58617. /* 60 << 273 */
  58618. { { 0x29544fe8588360ecL,0xa1aa9b9fffb550eaL,0xe1f6cf994af4d28dL,
  58619. 0x723d48b00c6fd477L,0xf51f1b2f5c81b252L,0x88ec11c04f5a33eeL },
  58620. { 0x7747f0432cd72de4L,0xcca69b0ad71c92c1L,0x9455d86e4e8cc763L,
  58621. 0xc9e0aa1bc08444e0L,0x93803b68e8fffa63L,0xc296af292d781b7dL } },
  58622. /* 61 << 273 */
  58623. { { 0xb1891a2b17329e31L,0x87c2a49056e36717L,0x8c2a50fafd26d8b3L,
  58624. 0x017e4e417e3c5a5fL,0xbeb4fad0506c382eL,0x5d3e8b16fc281ec9L },
  58625. { 0x407f7598890e57a0L,0xda855e8b340cd6d6L,0xb9393129ff388d54L,
  58626. 0x41113ffdcf355d9eL,0x31d3bb09b357c28dL,0x975bdf00fd39e481L } },
  58627. /* 62 << 273 */
  58628. { { 0xbfb0c87e10a1b4f2L,0xfaf51153dc2fcc04L,0xd2588e39d6b98d81L,
  58629. 0x5de5b0eb4953133dL,0x6b65d8135b959ed6L,0x864511dc02eb45bdL },
  58630. { 0xb1dcb4d3d7ce20bdL,0x917bcd0987587230L,0x0935790f83a79453L,
  58631. 0xdc65862e54b35d76L,0x4cd2332ba6d1eeeaL,0x0706fcd030d315b5L } },
  58632. /* 63 << 273 */
  58633. { { 0x7c91adb3adf2d8d1L,0xfe1549c24a212fd3L,0x8a7cc285c33213b3L,
  58634. 0x26643cfd3e56d17bL,0xcc007c15684c872fL,0x485643e009e554f3L },
  58635. { 0x7f5e9a6ec6569206L,0x252b5393c2f596d6L,0xf7eef1dbbf9cdea5L,
  58636. 0x611ee7334dffab46L,0x8d93802a805e976cL,0xd07c0ac6f85c939cL } },
  58637. /* 64 << 273 */
  58638. { { 0x514cc1dcb08d2d0eL,0x4e6b379e30e93536L,0xf0e422ac2fc9230fL,
  58639. 0xaa50a1ad92e23e21L,0x70ac46d8676d1ac0L,0x698b9991f9f54493L },
  58640. { 0x59a6b86a8649519fL,0xc1f11ad6e3511da4L,0xd3d9cff13192968cL,
  58641. 0x13e700b40b342dd8L,0xfd5dc7bb3b1da441L,0x02426e7c2c883760L } },
  58642. /* 0 << 280 */
  58643. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  58644. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  58645. /* 1 << 280 */
  58646. { { 0x9e9af3151c4c9d90L,0x8665c5a9d12e0a89L,0x204abd9258286493L,
  58647. 0x79959889b2e09205L,0x0c727a3dfe56b101L,0xf366244c8b657f26L },
  58648. { 0xde35d954cca65be2L,0x52ee1230b0fd41ceL,0xfa03261f36019feeL,
  58649. 0xafda42d966511d8fL,0xf63211dd821148b9L,0x7b56af7e6f13a3e1L } },
  58650. /* 2 << 280 */
  58651. { { 0x3997900ecc8998d6L,0x8fa564b7baa60da1L,0x71bf5b0a661f3c57L,
  58652. 0x44b13388aab1292bL,0xcbe80cb9d4d993f2L,0x0b19b4c92203f966L },
  58653. { 0xbc82a6520080f259L,0x870ebc08ad96dea3L,0xa388c7e7502f0003L,
  58654. 0x9c704ef056a38f73L,0x93cde8a73487d9b0L,0x5e9148b0ec11a1f3L } },
  58655. /* 3 << 280 */
  58656. { { 0x47fe47995913e184L,0x5bbe584c82145900L,0xb76cfa8b9a867173L,
  58657. 0x9bc87bf0514bf471L,0x37392dce71dcf1fcL,0xec3efae03ad1efa8L },
  58658. { 0xbbea5a3414876451L,0x96e5f5436217090fL,0x5b3d4ecd9b1665a9L,
  58659. 0xe7b0df26e329df22L,0x18fb438e0baa808dL,0x90757ebfdd516fafL } },
  58660. /* 4 << 280 */
  58661. { { 0x63f27a25a748b8f5L,0x68c8f3ec2cd246c4L,0x5d317cd965f9ce38L,
  58662. 0x162c92e0635ba300L,0x5259f64ffe343662L,0x4a6b2b668e614ac8L },
  58663. { 0x97fb55bb01177c3bL,0xfb586c21a705cb01L,0xa57e732578061824L,
  58664. 0x892f6b386c1e6306L,0xf12e4c072367b14cL,0x580d5fe2c83a48c5L } },
  58665. /* 5 << 280 */
  58666. { { 0x1e6f9a95d5a98d68L,0x759ea7df849da828L,0x365d56256e8b4198L,
  58667. 0xe1b9c53b7a4a53f9L,0x55dc1d50e32b9b16L,0xa4657ebbbb6d5701L },
  58668. { 0x4c270249eacc76e2L,0xbe49ec75162b1cc7L,0x19a95b610689902bL,
  58669. 0xdd5706bfa4cfc5a8L,0xd33bdb7314e5b424L,0x21311bd1e69eba87L } },
  58670. /* 6 << 280 */
  58671. { { 0x6897401cea2bafb3L,0x7b96ecc215c56fe4L,0xe511b32939e2b43bL,
  58672. 0x39522861bf809331L,0x815f6c1dc958f8f4L,0x2abbdf6bc213e727L },
  58673. { 0xeb09ae59c39bc01fL,0xffe3b831676b56a5L,0x8f4815a2a20f86c6L,
  58674. 0x748a17669aa30807L,0xf1f46a211b758878L,0xbd421fe76f6fc3d7L } },
  58675. /* 7 << 280 */
  58676. { { 0x75ba2f9b72a21accL,0x356688d4a28edb4cL,0x3c339e0b610d080fL,
  58677. 0x614ac29333a99c2fL,0xa5e23af2aa580affL,0xa6bcb860e1fdba3aL },
  58678. { 0xaa603365b43f9425L,0xae8d7126f7ee4635L,0xa2b2524456330a32L,
  58679. 0xc396b5bb9e025aa3L,0xabbf77faf8a0d5cfL,0xb322ee30ea31c83bL } },
  58680. /* 8 << 280 */
  58681. { { 0x300b04840d6ded89L,0x0b1092cbc3ab55edL,0x17d9c5420cc10a74L,
  58682. 0x7f637e84eff9d010L,0xd732aa1e27aa1285L,0xedb97340e2a77114L },
  58683. { 0x62acf1585ef4dfb0L,0x1e94fc6eba1d7b81L,0x88bec5d22e6eb2dbL,
  58684. 0xaec272028d18263dL,0x4b687353e4bbd6acL,0x031be3510ff7e4c0L } },
  58685. /* 9 << 280 */
  58686. { { 0x048813847890e234L,0x387f1159672e70c6L,0x1468a6147b307f75L,
  58687. 0x56335b52ed85ec96L,0xda1bb60fd45bcae9L,0x4d94f3f0f9faeaddL },
  58688. { 0x6c6a7183fc78d86bL,0xa425b5c73018dec6L,0xb1549c332d877399L,
  58689. 0x6c41c50c92b2bc37L,0x3a9f380c83ee0ddbL,0xded5feb6c4599e73L } },
  58690. /* 10 << 280 */
  58691. { { 0x6c00f388f086d06cL,0x17ee45035add0cf4L,0xf96984c707caf89cL,
  58692. 0x9d49d667648ed5e9L,0x3ef95015a0164881L,0x39e28e447d9c651fL },
  58693. { 0xb13ad24059f37780L,0x08cee349b9522225L,0x9245ee6f2ba1b214L,
  58694. 0x12bedaa9a886d8d2L,0xe139ae08fcb8186fL,0x99203fb6fc2ef864L } },
  58695. /* 11 << 280 */
  58696. { { 0x14d34c210b7f8354L,0x1475a1cd9177ce45L,0x9f5f764a9b926e4bL,
  58697. 0x77260d1e05dd21feL,0x3c882480c4b937f7L,0xc92dcd39722372f2L },
  58698. { 0xf636a1beec6f657eL,0xb0e6c3121d30dd35L,0xfe4b0528e4654efeL,
  58699. 0x1c4a682021d230d2L,0x615d2e4898fa45abL,0x1f35d6d801fdbabfL } },
  58700. /* 12 << 280 */
  58701. { { 0x3c29284764c9323dL,0x40115a890491f77dL,0xec141ade2d7a05f5L,
  58702. 0x0c35e4d9222a5f9fL,0x5ea51791442a3e9bL,0x17e68ecee51b841eL },
  58703. { 0x415c0f6cd6ae9174L,0xe6df85f89ffd7595L,0x65fc694f8dedf59cL,
  58704. 0xc609503efee92718L,0x57d2592e97d565aeL,0xb761bf157e20862bL } },
  58705. /* 13 << 280 */
  58706. { { 0xa636eeb83a7b10d1L,0x4e1ae352f4a29e73L,0x01704f5fe6bb1ec7L,
  58707. 0x75c04f720ef020aeL,0x448d8cee5a31e6a6L,0xe40a9c29208f994bL },
  58708. { 0x69e09a30fd8f9d5dL,0xe6a5f7eb449bab7eL,0xf25bc18a2aa1768bL,
  58709. 0x9449e4043c841234L,0x7a3bf43e016a7befL,0xf25803e82a150b60L } },
  58710. /* 14 << 280 */
  58711. { { 0xd443b26582376117L,0xb91087c11a1beb0dL,0x3fe62a6545cc5951L,
  58712. 0x49c754bce6e472d5L,0x7e60bb8177c424ebL,0xbcd4088e830cbb97L },
  58713. { 0x3da5c94eba26df7bL,0x508b4f55f72b4338L,0x409c5c7469ad7784L,
  58714. 0x82e5f1b0fdf44d6aL,0x10654a1ceed2766fL,0xef1e65faa6e83f4aL } },
  58715. /* 15 << 280 */
  58716. { { 0xe44a2a57b215f9e0L,0x38b34dce19066f0aL,0x8bb91dad40bb1bfbL,
  58717. 0x64c9f775e67735fcL,0xde14241788d613cdL,0xc5014ff51901d88dL },
  58718. { 0xa250341df38116b0L,0xf96b9dd49d6cbcb2L,0x15ec6c7276b3fac2L,
  58719. 0x88f1952f8124c1e9L,0x6b72f8ea975be4f5L,0x23d288ff061f7530L } },
  58720. /* 16 << 280 */
  58721. { { 0xa6e19d0a5f56dc3cL,0xe387e2690b88326aL,0xef7380950ee527a4L,
  58722. 0x78b7174b7c4278a6L,0xc133d867e70798ffL,0x9d0fef759e9230caL },
  58723. { 0x7431eef01a955ab9L,0x3772e7038868d922L,0xf7a4306a8d6af3f7L,
  58724. 0x633bb5a0bbec076aL,0x6d07623e7a257ca3L,0xffb5e16521c00663L } },
  58725. /* 17 << 280 */
  58726. { { 0xebfe3e5fafb96ce3L,0x2275edfbb1979537L,0xc37ab9e8c97ba741L,
  58727. 0x446e4b1063d7c626L,0xb73e2dced025eb02L,0x1f952b517669eea7L },
  58728. { 0xabdd00f66069a424L,0x1c0f9d9bdc298bfbL,0x831b1fd3eb757b33L,
  58729. 0xd7dbe18359d60b32L,0x663d1f369ef094b3L,0x1bd5732e67f7f11aL } },
  58730. /* 18 << 280 */
  58731. { { 0xfab0ce2bee1ae33dL,0x7bf9f90b4c5692e3L,0x131a4374d776d6caL,
  58732. 0x6ba40908a2b135afL,0x5c4ab997e1334bf8L,0x9eb442d07af584e9L },
  58733. { 0xd764c506786391c1L,0x07f24c6bbcf6ab3aL,0xf73c7924fad8e1bbL,
  58734. 0x79f624acb7583623L,0x2b032021b44c14d3L,0x7cc0ae8dbf58ff99L } },
  58735. /* 19 << 280 */
  58736. { { 0x3c7fb3f5c75d8892L,0x2cff9a0cba68da69L,0x76455e8b60ec740bL,
  58737. 0x4b8d67ff167b88f0L,0xedec0c025a4186b1L,0x127c462dbebf35abL },
  58738. { 0x9159c67e049430fcL,0x86b21dd2e7747320L,0x0e0e01520cf27b89L,
  58739. 0x705f28f5cd1316b6L,0x76751691beaea8a8L,0x4c73e282360c5b69L } },
  58740. /* 20 << 280 */
  58741. { { 0xe4d7c8b88929c133L,0xe5f96bef92a813c7L,0xdb8ab0af71c18e09L,
  58742. 0x0db6ff287dae63b4L,0x54d1fac49a1eaa73L,0xadbcfdf59180c980L },
  58743. { 0xd3220f300b584314L,0xa24e4d1cca3697c7L,0x4ade8c7fa44f8067L,
  58744. 0xbd8bc81aca21ac17L,0x303a2f9fc1d361cfL,0x55648b65c71cf031L } },
  58745. /* 21 << 280 */
  58746. { { 0x46bcc0d5fd7b3d74L,0x6f13c20e0dc4f410L,0x98a1af7d72f11cdfL,
  58747. 0x6099fd837928881cL,0x66976356371bb94bL,0x673fba7219b945abL },
  58748. { 0xe4d8fa6eaed00700L,0xea2313ec5c71a9f7L,0xf9ed8268f99d4aeaL,
  58749. 0xadd8916442ab59c7L,0xb37eb26f3f3a2d45L,0x0b39bd7aa924841eL } },
  58750. /* 22 << 280 */
  58751. { { 0x6f8135c7ce89e8daL,0x21ac20d9d6b5948eL,0x1dc4d48b31cefd7eL,
  58752. 0x3d34bc2a4a347926L,0xadcd11be8f614fd6L,0x77148b08a8ea116aL },
  58753. { 0x7afc75fcfce1d3f5L,0xa9e0557d7d9a8ea3L,0x640cb5850cc864ecL,
  58754. 0x5811ba842eb332c7L,0xb6c10b6efdb668c4L,0x24d8b10f99f5f6c7L } },
  58755. /* 23 << 280 */
  58756. { { 0xd811eb32e03cdbbbL,0x12055f1d7cc3610eL,0x6b23a1a0a9046e3fL,
  58757. 0x4d7121229dd4a749L,0xb0c2aca1b1bf0ac3L,0x71eff575c1b0432fL },
  58758. { 0x6cd814922b44e285L,0x3088bd9cd87e8d20L,0xace218e5f567e8faL,
  58759. 0xb3fa0424cf90cbbbL,0xadbda751770734d3L,0xbcd78bad5ad6569aL } },
  58760. /* 24 << 280 */
  58761. { { 0x391fa3cd8d075ec5L,0x54d45020c84c81e5L,0xdead561a79fad87cL,
  58762. 0x0ab3c8544e7ffc48L,0x5967f8ebff02706cL,0x8860de795d31ec98L },
  58763. { 0x7476459c6c8a1c25L,0x8d9c484082f16117L,0x5c1b13b33b413429L,
  58764. 0x1962a435601b5906L,0x78b9d382e006929dL,0x1924e979e5897b16L } },
  58765. /* 25 << 280 */
  58766. { { 0xcadb31fa7f39641fL,0x3ef3e295825e5562L,0x4893c633f4094c64L,
  58767. 0x52f685f18addf432L,0x9fd887ab7fdc9373L,0x47a9ada0e8680e8bL },
  58768. { 0x579313b7f0cd44f6L,0xac4b8668e188ae2eL,0x648f43698fb145bdL,
  58769. 0xe0460ab374629e31L,0xc25f28758ff2b05fL,0x4720c2b62d31eaeaL } },
  58770. /* 26 << 280 */
  58771. { { 0xef1001dfbdb22e61L,0x1626bd9af384bbf5L,0x33f42d385fe8ae07L,
  58772. 0x59646c42b7218d21L,0x5e27210e6a016f5dL,0x3e9ecf07094481c3L },
  58773. { 0xf91609c1f50cc2dcL,0x8bf8c05ad0d43633L,0x9d508972e74ab746L,
  58774. 0xb625887a33f628b7L,0x557bd493e733952fL,0xd35f450b8981dcfbL } },
  58775. /* 27 << 280 */
  58776. { { 0x4603cdf413d48f80L,0x9adb50e2a49725daL,0x8cd3305065df63f0L,
  58777. 0x58d8b3bbcd643003L,0x170a4f4ab739826bL,0x857772b51ead0e17L },
  58778. { 0x01b78152e65320f1L,0xa6b4d845b7503fc0L,0x0f5089b93dd50798L,
  58779. 0x488f200f5690b6beL,0x220b4adf9e096f36L,0x474d7c9f8ce5bc7cL } },
  58780. /* 28 << 280 */
  58781. { { 0x531c43cdb63f3d28L,0x01289772429708dfL,0xb0ee772ccdb60078L,
  58782. 0x4131f5cd5f1a6e72L,0xd9d0f8c6a0da0112L,0x58efddd204e957b1L },
  58783. { 0x18857c0c32840c31L,0x00825340c4068b2cL,0x0a9217a771ff8800L,
  58784. 0x69b19e6415530b80L,0xa28e274ee125e3f2L,0xb471a91bc9bfc846L } },
  58785. /* 29 << 280 */
  58786. { { 0xfed8c058c745f8c9L,0xb683179e291262d1L,0x26abd367d15ee88cL,
  58787. 0x29e8eed3f60a6249L,0xed6008bb1e02d6e1L,0xd82ecf4ca6b12b8dL },
  58788. { 0x9929d021aae4fa22L,0xbe4def14336a1ab3L,0x529b7e098c80a312L,
  58789. 0xb059188dee0eb0ceL,0x1e42979a16deab7fL,0x2411034984ee9477L } },
  58790. /* 30 << 280 */
  58791. { { 0x01d04fe04ce2d199L,0xf434bcfd0517c7ebL,0x82f3aca4a7659a94L,
  58792. 0xf436a7781ff015c9L,0xf5143391d6223e5cL,0xba66c6a2ecb5c340L },
  58793. { 0x080f158a4b23a041L,0xb401094cb699acafL,0x1c57626c677491dbL,
  58794. 0xfb39e317d42d86dbL,0x19e2ca804f6b3354L,0xe919c4c3c1d41ef3L } },
  58795. /* 31 << 280 */
  58796. { { 0xd65246852be579ccL,0x849316f1c456fdedL,0xc51b7da42d1b67daL,
  58797. 0xc25b539e41bc6d6aL,0xe3b7cca3a9bf8bedL,0x813ef18c045c15e4L },
  58798. { 0x5f3789a1697982c4L,0x4c1253698c435566L,0x00a7ae6edc0a92c6L,
  58799. 0x1abc929b2f64a053L,0xf4925c4c38666b44L,0xa81044b00f3de7f6L } },
  58800. /* 32 << 280 */
  58801. { { 0x35ae891bbb71e9b0L,0x1f6ce6ca522b77f0L,0xc2dab3cae63745c4L,
  58802. 0x55b8c185f218d139L,0x6ab039c889f3b0e2L,0xd9e25bfdc644c3faL },
  58803. { 0xc8496f203e2ed47bL,0xc395ec028d67e17cL,0x5c67839292114918L,
  58804. 0xe962e52fef73f345L,0x3818baf354fcfb22L,0x4d75d65d9d4bc911L } },
  58805. /* 33 << 280 */
  58806. { { 0x10078824eb7ff5fdL,0x50c65328735ef75fL,0xdfc04d53ec980ba2L,
  58807. 0x4bfb260f2d519cf5L,0x1f03dff15c854667L,0xd1ad2231badb625cL },
  58808. { 0x986064d0be9f7f03L,0xe5ff93e5c13f7d0dL,0x02682a1896e26a17L,
  58809. 0xc421567c817ec3cdL,0xb740652352615c25L,0x6800a8335d135eebL } },
  58810. /* 34 << 280 */
  58811. { { 0xde57575b17d8ec5cL,0x72e2257578aeb9bbL,0xce73fa7731605c27L,
  58812. 0x2f286b79ae77436cL,0x5e78fbb77f4e6997L,0xb03c888e474f23a7L },
  58813. { 0x4bb302a3e38927ceL,0x39c6de5f6e1514ceL,0x9daa0ad349b2ddbdL,
  58814. 0x98fd2377d683dffdL,0xbefa4ae5933476edL,0x4ad53d01173f49edL } },
  58815. /* 35 << 280 */
  58816. { { 0xdfafc70e44b89837L,0xe0104b9c4935fa88L,0x7625d9d92fd702e2L,
  58817. 0x27461e6549af2219L,0x4a279383ad3f36edL,0xd87e246b9204e857L },
  58818. { 0x8d832190ab1727d9L,0x59205cd82182e291L,0xb96a1d15a6513613L,
  58819. 0x1c7de3cc49cc8ddcL,0x637ea26af17ab785L,0xc098bb7a09a3ba58L } },
  58820. /* 36 << 280 */
  58821. { { 0xfb5383cc31bd4f68L,0x6fd5aee3d96a1899L,0x4e39d6eb01d5430eL,
  58822. 0x12679565ca5a2848L,0xa399e83f062b44fbL,0x3ee2432f3c166682L },
  58823. { 0x57229c841de47708L,0x40a5d0cbba528a61L,0x4bae36be8239e7baL,
  58824. 0xddac65a2f8087427L,0xfd516d1a3cc61266L,0xc89542b5bcef98b1L } },
  58825. /* 37 << 280 */
  58826. { { 0x3fc8d1b2d49cc0eaL,0xfc591f7f7bca4d23L,0x5f48e27c41fefdf3L,
  58827. 0x5ca1d08a1039419dL,0xd450c1bddc8042ceL,0x6760e23fb436fc4bL },
  58828. { 0xc5642797c06bb34bL,0xb787cd53fde06d4dL,0x2926360ccbf144b0L,
  58829. 0xb63756f4dce32421L,0x0878deab774abc4aL,0x2d97c7919a4e142aL } },
  58830. /* 38 << 280 */
  58831. { { 0xf58389ff105c818eL,0xfa29f1eb585fa7f0L,0xb6da09b5917e8924L,
  58832. 0x1375c3047e7a3f49L,0x9b4792b289cfa1c0L,0x92094a8535571cc7L },
  58833. { 0xf986ccf6051e5e50L,0x55ea34d601df6babL,0xe65989eed1363333L,
  58834. 0xd94bbd918c84e20aL,0x9a4f71dc49e39b8aL,0x6d9fe495927d633eL } },
  58835. /* 39 << 280 */
  58836. { { 0x30b295f01fdc29e2L,0x71415daae2c2fab4L,0x205e957683c312beL,
  58837. 0x893c69fefab48afcL,0x8108f3f994ca2fdbL,0x37c860c314f99296L },
  58838. { 0x1009a6d2e990ed34L,0xd5350c36ac26b611L,0xd03161102ce23d91L,
  58839. 0x82bb476e62189343L,0xe255965160ef0cbdL,0x6bab3f53cf5d2311L } },
  58840. /* 40 << 280 */
  58841. { { 0xcaa3b7a592fa460fL,0x92bb46b804dff174L,0xcd6949b3cf926a1fL,
  58842. 0x01f95e5559d1bb18L,0x21f90c08d4518f3cL,0x325dbfe920ee8bf5L },
  58843. { 0xd0136f3feafb919eL,0x941190cc8e0ebcabL,0x599e91a287b557aaL,
  58844. 0x7fac4887dcbde1c7L,0x1dad481905a07040L,0x640493978b03d593L } },
  58845. /* 41 << 280 */
  58846. { { 0x65521bb85ebd3685L,0x16c68e79665d1619L,0xd6ab56bbc52b14c8L,
  58847. 0x312f1fb4c6d3067dL,0x5afef4f3d50587c0L,0xa3e79e94ace6e2feL },
  58848. { 0x52c7fa0825f12a1eL,0x9c1c1ea20dec9f3dL,0xc418d4232e87a036L,
  58849. 0xa0a19fbb0283752fL,0x52e0a8830b804506L,0xc67fc71b3f7de2a1L } },
  58850. /* 42 << 280 */
  58851. { { 0x4d062d3d7dad8ca9L,0xb78c81581cf59756L,0xaccb38f8c6b5d9fcL,
  58852. 0x83436d3f7ddc66eaL,0x37115b6033adcb87L,0x49b74bd45a8b09abL },
  58853. { 0x7b8bdb81675ae43bL,0x5284f5b3f0476428L,0x8f1521e7db38b0c7L,
  58854. 0x792ef9dea0c4b2f6L,0xa15880a162159fc6L,0x70b999e372b09b63L } },
  58855. /* 43 << 280 */
  58856. { { 0x6f47787d4e8ffde7L,0x19e9434574495a10L,0x8da6d55784f5be33L,
  58857. 0x110844811884e325L,0x621734c5a9f030baL,0x25cd0544d0e63f63L },
  58858. { 0xea6729687e936833L,0x08297af784a34442L,0xb77dc3a342f9ed3eL,
  58859. 0x9f8908c8258e8d4fL,0xb8281bfc3299ba4bL,0x1f6412920a09849cL } },
  58860. /* 44 << 280 */
  58861. { { 0xd5d51e60ee9a7708L,0x2e8ab3effd2cfe78L,0x0af5c3bac8e71273L,
  58862. 0xbfd1b94091041652L,0x4c7c86ab52ce4582L,0x3ab72feff1d9bc29L },
  58863. { 0xae89c3d51e1974b3L,0xd859c7ef70433caeL,0x762064c77edd1398L,
  58864. 0xc0b6a6b6072064a4L,0x3ba43b059bb1b3d0L,0x20f9aa85e47d79bbL } },
  58865. /* 45 << 280 */
  58866. { { 0xd1a45415c2d001cfL,0x40f3f05d848a480fL,0x03708da0ce554d5bL,
  58867. 0xd7090557c80f4254L,0x7e57d29907743393L,0x7db8a5e10f2f5903L },
  58868. { 0xd0466a0b14e8ff8bL,0xa3c38f49e0cf88b0L,0xde47262e329f71adL,
  58869. 0x56b2a7935da6d0a1L,0x22e1f9b880ef44b0L,0xb9b96c617b2b6d4bL } },
  58870. /* 46 << 280 */
  58871. { { 0x3235bc494c500ee1L,0xce0f0b54da4a4f35L,0x628cb91c337ac7b7L,
  58872. 0xd8a6d4cd88a26e9dL,0xdcf40cba96e44349L,0x073a0f75b54e3fa9L },
  58873. { 0xc9b95d29ca44e6e8L,0x42ad9afa2315f4beL,0xdf13a5ddf78617c7L,
  58874. 0x40aeb346d196504bL,0x9317d6f33d1fef90L,0xf94d308fe1708a79L } },
  58875. /* 47 << 280 */
  58876. { { 0x45bc768608835815L,0x700d93bc5798c507L,0xae3415b85362a822L,
  58877. 0xdbce01b33883d21dL,0xb9df7efbe56fb2aeL,0x5ed57d9427d341c0L },
  58878. { 0xdc26916e7ee4dfa0L,0xcdb06a17147c075fL,0x0198b6a7fa9e7a63L,
  58879. 0xc9876c786355b62bL,0x9f4b8f12f565279dL,0xa03aeb619cb6ddb6L } },
  58880. /* 48 << 280 */
  58881. { { 0x3a35938779493f3dL,0x128301a91f06a9c0L,0xfcce0f82899d204cL,
  58882. 0x4ca41589158780b5L,0xc28f1bb73c4edd4fL,0xe08e48a87a6aec34L },
  58883. { 0x6d4783dfd447c55eL,0xe7c2ecc857803027L,0xb7b8c2bcdf6d7f91L,
  58884. 0xf0a8d4700f356ca3L,0x229894bfdeb8e964L,0x555c9d40d3aa70e1L } },
  58885. /* 49 << 280 */
  58886. { { 0xa899a252e0ace851L,0x74b716c9bb9d8476L,0x2ba0bb00571bb175L,
  58887. 0xee01a9bf7ac2b619L,0x74f0b6d3502ee575L,0x7fdd7856cc45f810L },
  58888. { 0x68c0beb1c0ae384dL,0x21955de8fe63d58fL,0x1b98e3951c08bbd2L,
  58889. 0x5ddaf7e9638701b3L,0xefc264f1b1242d62L,0xa9b8de5c81292443L } },
  58890. /* 50 << 280 */
  58891. { { 0xf0d713b7131a3bf1L,0x690ae8c147e9f09fL,0x1dc92a5f8cd8bf1eL,
  58892. 0xdf98927ad61f5445L,0x729b5469ae795eabL,0x939b391c5265675aL },
  58893. { 0x5d916c6c7bd7e97aL,0x7c2a3de5d514e72bL,0x0660758379e9915fL,
  58894. 0x0554d5e543a4d2c7L,0x37eb7f82ca5bca41L,0x90e41b71b640109dL } },
  58895. /* 51 << 280 */
  58896. { { 0xfdd403b0e6f769aeL,0xa67f97f6906a7981L,0xc86c49be6aa83c6dL,
  58897. 0x6177820677ab6d8fL,0x60f77c49916933b2L,0xfa33c528fcb3fe39L },
  58898. { 0x102ffca0783cb589L,0x6a37a394a96ce10eL,0xd17bf1f89eb4695fL,
  58899. 0x2a7623af2a53116eL,0x10601afe83af2e60L,0xceebada2582a1704L } },
  58900. /* 52 << 280 */
  58901. { { 0xcbfb50fa57004c05L,0x0d545f0ea7bea436L,0xb7e30eb77071e269L,
  58902. 0x435b3df73b845896L,0x48ba27f0b246365eL,0x9fbe883341344f12L },
  58903. { 0xb763df280a87ef33L,0x4f9339d70b5288beL,0xc02770d6e722e3beL,
  58904. 0x6c69bfd918e32f03L,0x20c5c05e74c2845cL,0x09fa0928d6f9279dL } },
  58905. /* 53 << 280 */
  58906. { { 0x82f43866962fccc1L,0x92bc5f82278c9762L,0xc979a68b39a39a08L,
  58907. 0xfcae204b97c5a298L,0x78f55c7908676082L,0x210e036447c7b09dL },
  58908. { 0x24512cef47d87769L,0xb4b0fdd7e4b53f4fL,0xc2a263fff6818efdL,
  58909. 0xfa160dc1985bc93fL,0x7b7f82961bf44affL,0xd6c75fb2a6407cdfL } },
  58910. /* 54 << 280 */
  58911. { { 0xea0b6ec35741c57bL,0x9b148c2668ba5fd0L,0x6206025166461969L,
  58912. 0x0726919f8cfc618eL,0xf66ac684c1954bcbL,0x160ad0260273adb4L },
  58913. { 0x0ec10cffe6f6aac3L,0x232fc7adb4f64d98L,0x0707cb6e73564063L,
  58914. 0x76daa2c5487a29acL,0xe4ffd6e335768176L,0x4ab87262464d126eL } },
  58915. /* 55 << 280 */
  58916. { { 0xdbc1d21c553f05efL,0x16e950d0dc115e4cL,0xa727059a354480a5L,
  58917. 0x32df221efd6711f1L,0x06f9bc2e5c8aa9fcL,0x9f2449a67b15522cL },
  58918. { 0xac14774bf498ee00L,0x02b5979f3ec7e0a2L,0xdce96e06e1e00abdL,
  58919. 0xd7a1bf5a1e00e8a9L,0x19b30fd3a8f42042L,0x29b08eb7e7c507ebL } },
  58920. /* 56 << 280 */
  58921. { { 0xe91477d3a66b2f3aL,0xf50d3bdfc4deb7f5L,0x19bf2857a1e45e44L,
  58922. 0x1c104e3270a2126aL,0x4636b4894357b9f5L,0xf65e5aa0962d684aL },
  58923. { 0xfcc83a5fb7b52893L,0x8451d02b08adbd4dL,0xf0fb410c19f7a896L,
  58924. 0x6b90b0faff36caeeL,0x111710d0f5af8966L,0x00a4cfafbd2b8c59L } },
  58925. /* 57 << 280 */
  58926. { { 0xad9f11cb817bd227L,0xe4733a1465d27b5fL,0xeda46e8dbcf76526L,
  58927. 0x8db309ecad57a5a9L,0x4a863ec07f1487a8L,0xb0453ed210f1c4c1L },
  58928. { 0x9b4df78af2dbfd76L,0x62af38b21525e18cL,0xe6bd0b0ade2c7f65L,
  58929. 0xad62bfb70b27fad4L,0xd21fd4346d6a8a5fL,0x07b606703e401a5eL } },
  58930. /* 58 << 280 */
  58931. { { 0xdd14c891e34b192cL,0x6ddfcc793aed3e36L,0xc89c3e6dc49a92e2L,
  58932. 0xa61954fd6fcf1ce9L,0x420c39a9bd297157L,0x57c20a8a406d3f2fL },
  58933. { 0x7ccda02263faf545L,0xb01814a96cca4388L,0x88baf1dce5fb1fd0L,
  58934. 0x9e1183cfa0bae755L,0x3fe540badbc243c2L,0xe50d52305aeb26a3L } },
  58935. /* 59 << 280 */
  58936. { { 0x10145b3d52726a98L,0x7236036869e333fcL,0xce9a409323a6f608L,
  58937. 0x61c121dcddd11095L,0x3349b30a0d39f1daL,0xd07df9d4e3485e93L },
  58938. { 0xb4c500a561159e84L,0xbc74918100561c03L,0x8f27e9f3904ad807L,
  58939. 0x7272786a0108ed01L,0xcf36a5d9c9365dd8L,0xe052fc9d7f859d87L } },
  58940. /* 60 << 280 */
  58941. { { 0x0e6cd863da97e11eL,0x5b058c6852a818a1L,0x7768c5e73de760b3L,
  58942. 0x898b7f608dfb4142L,0xd48130977efec180L,0xd7196cd758279538L },
  58943. { 0x67c451fb816858a1L,0xbf0e88912ac699b2L,0x21fa74effcb126a5L,
  58944. 0x1f9dc10123b8df5aL,0x38aefff921136ffcL,0x3408874c47cb395aL } },
  58945. /* 61 << 280 */
  58946. { { 0xded9035213054567L,0xc61d0628c58c633dL,0x73ff2589f31143c3L,
  58947. 0xc43594ff0871b05cL,0xcf662dd64db0edf2L,0x6bac019d8d1f33b0L },
  58948. { 0xcaa37cd8bb379461L,0x9b077a6934fc0269L,0x421e716788ecedf2L,
  58949. 0x2d422f95073284cdL,0x9a353114bbb2409cL,0x99e8c7a0dcbb79e7L } },
  58950. /* 62 << 280 */
  58951. { { 0xfca254cba21c40f0L,0x4945c838e0f4a032L,0x99318ff3fd6cb7fdL,
  58952. 0xc631e0644a85e726L,0x2e3ca11d9359e8cfL,0x433a0e5c06acf935L },
  58953. { 0x665c54c996b37ea9L,0xe78865c4c2d52b81L,0x68596f6ffb27850aL,
  58954. 0x7e7272221277995eL,0x602b0f5c197344c2L,0x81ff2ad620a9ec11L } },
  58955. /* 63 << 280 */
  58956. { { 0xb2ce6cbe7c4c464fL,0xd7c11ef5741a4b1fL,0xf3f987f621a7eb17L,
  58957. 0x6b2812ef79f4e274L,0x3a0117ae38a7d5ddL,0x5d8c75a9cfab6bb5L },
  58958. { 0x3827c04052394166L,0x897eb181e00e621dL,0x6693817f8aa19361L,
  58959. 0x67cac329959d81a8L,0x21e7133869a7ca51L,0xa02fd11269a46a87L } },
  58960. /* 64 << 280 */
  58961. { { 0x7f1f985c022ea83aL,0x90a22662a7584e7fL,0xb40a930a5188fcf6L,
  58962. 0x3fad79aba3a82904L,0x7bee8d22f3151027L,0x79a1a838c2c3e17bL },
  58963. { 0x1fbe06e933cc3509L,0x629c56aa9abd5ccaL,0xfff290ec2d9cf7a5L,
  58964. 0x5d0dedaa9bd062c5L,0x080344abd7d35381L,0x0848373af5cf9edaL } },
  58965. /* 0 << 287 */
  58966. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  58967. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  58968. /* 1 << 287 */
  58969. { { 0x31d31f7a7a0c0bc0L,0x7a37a84ab251d2bfL,0x1793362e52f04d67L,
  58970. 0x5808e70921c7b651L,0x33fe9123ed6f47f6L,0xdeb1dde958f71405L },
  58971. { 0x821d3045ae56b472L,0x9f61f761e02043adL,0x932ddb145b2048a9L,
  58972. 0x17d989fed7811330L,0x032ae4cb128fd85fL,0x8f1956b47d1ef434L } },
  58973. /* 2 << 287 */
  58974. { { 0x070d34e116973cf4L,0x20aee08b7e4f34f7L,0x269af9b95eb8ad29L,
  58975. 0xdde0a036a6a45ddaL,0xa18b528e63df41e0L,0x03cc71b2a260df2aL },
  58976. { 0x24a6770aa06b1dd7L,0x5bfa9c119d2675d3L,0x73c1e2a196844432L,
  58977. 0x3660558d131a6cf0L,0xb0289c832ee79454L,0xa6aefb01c6d8ddcdL } },
  58978. /* 3 << 287 */
  58979. { { 0xe5d473dc7521f457L,0xe9ef09bda00be577L,0xf6d0965fb6eaa640L,
  58980. 0xeb49486875726560L,0x452116d528817302L,0xf0424fdbfbde3597L },
  58981. { 0xd6096da3bb454915L,0xde48280841422141L,0x7a1351972d19fac0L,
  58982. 0xdc9a5ec421393f6fL,0xcabcc1e3eb2c8adaL,0xd436643142d8c4f2L } },
  58983. /* 4 << 287 */
  58984. { { 0x0ed1082f89e4e449L,0xdb1fb471833f2378L,0xa35fef0eece77352L,
  58985. 0x76adaa464bf0c426L,0xfbab929aa011b2fbL,0x6f475d5b9d8cc4d3L },
  58986. { 0xbe6d7f2174351480L,0x2d1362d193e4a7aeL,0xc7e2cba5106ceaabL,
  58987. 0xfe94528a45258697L,0x7109b17d075945b0L,0xfd395b2ccae17f7aL } },
  58988. /* 5 << 287 */
  58989. { { 0xdf534b80dece6d4dL,0xcfaa60a28737af46L,0x7d76a921b9ba3d56L,
  58990. 0x61490bd199338721L,0xc514e950ed25cfbdL,0x5041fbb2dc09b8b1L },
  58991. { 0x2410310d46fbcbf0L,0x2c46bcd14f7e8aa4L,0x08ce31f5d0d5fe1dL,
  58992. 0xb11efdbebeac3c97L,0x406e1d05b01633e9L,0xde48cdba766391adL } },
  58993. /* 6 << 287 */
  58994. { { 0x68550299845e12c9L,0x979b5406361d027fL,0xf601d2b4a8e92e70L,
  58995. 0xfd02799f0cc9fca9L,0x89f99ca013bc2e96L,0x22a12c0bff9db9b8L },
  58996. { 0x6ae7084a32efcea8L,0x5ddd3ee9a24b9376L,0x394d92a4e0945e8fL,
  58997. 0xddab6752ecea36f6L,0x650b74d60d18a069L,0x37f91cebad650860L } },
  58998. /* 7 << 287 */
  58999. { { 0xe3e559bd9d839b3aL,0x50e8d4e9719de3c7L,0xf7bb377cea70b986L,
  59000. 0x63753cace1b2707dL,0xeb239a870e585c4aL,0xec40a379b0e32380L },
  59001. { 0x836ebcefc86d6685L,0x703c296a70d18b76L,0x47e2c004b94aa268L,
  59002. 0x33ef7d0cbaf14d61L,0x74aa00fcd315c72cL,0xf23c789eccf5d75aL } },
  59003. /* 8 << 287 */
  59004. { { 0xfc1faedc310404a8L,0xea339148d3bcb128L,0xf00485456416defdL,
  59005. 0x75de7770c58653e7L,0xdd2dcbebe2f6f99eL,0xa4380ef4d159ac07L },
  59006. { 0x45dd713ce4173608L,0x44919b61446a6789L,0x3f73756b6b962b38L,
  59007. 0x3cb9f53bbffd3f0cL,0xd723c40b7f08ebaeL,0x998a9b170c3cddbaL } },
  59008. /* 9 << 287 */
  59009. { { 0x261c9fe6f21ae889L,0xa589147edf3cb243L,0xd09452f71976deecL,
  59010. 0xf80ee8bf2497f6b2L,0x0b5f1b19eee697d4L,0xce9b6b680de48ab7L },
  59011. { 0x3ad3bbc4bbf29546L,0x544406a697f51becL,0x51d44dfac2e2e75cL,
  59012. 0xcfc8625d3da3f634L,0x0845ace6a1f5995dL,0x11850d8bf3b65c55L } },
  59013. /* 10 << 287 */
  59014. { { 0xa804b2f089ef2489L,0x06a2a805fb22f7d6L,0x31baf4fd353970beL,
  59015. 0x3481c8b712854a91L,0xb0424eecf3971398L,0x748ef3820f4ed94aL },
  59016. { 0x92b74ad026722164L,0x23f71d5831b1302fL,0x6741b28070a5f0c9L,
  59017. 0x46c12cfb9f5101caL,0xe7014d7901d0f81eL,0x129bd87ad758c288L } },
  59018. /* 11 << 287 */
  59019. { { 0x6c43d8307b00cd09L,0xb794cb012141eb00L,0x95fe13a75cf23ec5L,
  59020. 0x3de5ad7b8f2c799eL,0xa378434a025de83bL,0x07f681bba3a14a3cL },
  59021. { 0x8fa0b5d2983ba419L,0xe477bf361781bf08L,0x5b8162845e8ce6bdL,
  59022. 0xb36a78ee199ec8eeL,0x444fc01a6062d5d1L,0xc026ab4586ee9ac2L } },
  59023. /* 12 << 287 */
  59024. { { 0x6a565269a3e0c5b3L,0xaab7ec7104c6ae54L,0x0bda11a7d8c6ddb8L,
  59025. 0xb7ebfafb2332347bL,0xcf791881e99dff48L,0x81600214dc357c83L },
  59026. { 0x2a264f8931d7495bL,0x8ca430004ec885a7L,0x6d478260bb47d417L,
  59027. 0x544de4ec3d817032L,0xac7150a9dc05f901L,0xffef225775c0963cL } },
  59028. /* 13 << 287 */
  59029. { { 0xacb83aadb65296f8L,0x04c96c3e18151422L,0x8913311e7a9f126aL,
  59030. 0x3baeaf8010b74e8aL,0x253c9dcbb7410105L,0x30a13e42da2d5437L },
  59031. { 0xde31fd5533a2065eL,0xde2caf1ffe099595L,0x54c762fe795076b5L,
  59032. 0x8beb51fe635ed402L,0x369603c1e5c3d2a6L,0xc5083f0700a472b5L } },
  59033. /* 14 << 287 */
  59034. { { 0x58805ca8d2eaf294L,0x910d085ed7d5abb8L,0xf9cbc9a1349cfecfL,
  59035. 0x67bc7b417800a980L,0xe7e6dbc0f6847e9dL,0x7a0f22c4af379c48L },
  59036. { 0x80b6fc04b1d2822fL,0xa1cae656d8517a70L,0xd2d11ed14e9dc24bL,
  59037. 0x48d74f173fab87e6L,0x1feca5af50c630aeL,0x263e04cc62d0620aL } },
  59038. /* 15 << 287 */
  59039. { { 0x7dd330ca16b2a52aL,0x25133c614157ae5bL,0xe6ee0e4edd606b2fL,
  59040. 0x700840423f2b59a7L,0x58d27587d03f54eaL,0x62ebc668d34605e9L },
  59041. { 0xa764392ab3155e07L,0xf0810f3e3c6ae6c8L,0x1b32e5ae94614cd4L,
  59042. 0x45b49262b9cbf481L,0x0034db795b3d1184L,0x463237825b1b9ab9L } },
  59043. /* 16 << 287 */
  59044. { { 0xf6377e3bf6ba1469L,0xc334fb6c09c832d3L,0x7f85ac42c21c0cf1L,
  59045. 0x7a3e31c9857d8edbL,0x2eb1076327b77ed6L,0x2bfbbdbc38dae10bL },
  59046. { 0xed7c6fb17bae3b4fL,0xc5911d9f36d04e6fL,0x4dc435504569e72fL,
  59047. 0xaa82fb97bedae3abL,0x06d37bef4f27e463L,0xd0dbce6df0c35a11L } },
  59048. /* 17 << 287 */
  59049. { { 0x4482c7b704414726L,0x72c9cb5b26d23eabL,0x3747b8cefd5cb171L,
  59050. 0xe4ecabc300312ffaL,0x5909f29b9cf10a38L,0x209bc3f4b8d0e5acL },
  59051. { 0xd34c84db60fac147L,0xd64dea89f8938c89L,0xb18285f8b815267cL,
  59052. 0x719a7e355a2437d1L,0x45f8d9dab769c5a2L,0x2d0e4281a412cfccL } },
  59053. /* 18 << 287 */
  59054. { { 0x23c14c43d8f6e236L,0xb14be0d28ee39386L,0xd3c55814262dd390L,
  59055. 0xa1b40401e1f23d0bL,0x1377b07c61534375L,0xfe4e3eb116f6d95eL },
  59056. { 0x17b1af0040b4386cL,0x2dc657a837ca3851L,0x6862ca92ef976731L,
  59057. 0x9f0c380ba4118d3bL,0x23bf793977c1aa94L,0xaadee0612bc27d4bL } },
  59058. /* 19 << 287 */
  59059. { { 0xfa5e4cb6f1847a9aL,0x0e13a60cba6f07f1L,0x68d9db450ac86498L,
  59060. 0x44b02de3920ff013L,0x43724c2d84b46078L,0xb3686ee81f951b93L },
  59061. { 0x019b3e77d712fe85L,0x313e7b7497dfb295L,0x7d883ed826d50e37L,
  59062. 0x64815565d32562ddL,0x2f9e48bed7b3e2f2L,0xc97cf156dcb93450L } },
  59063. /* 20 << 287 */
  59064. { { 0x0573d9963ab4c707L,0xee5d87691420fdf1L,0x41873aa55e2b9c12L,
  59065. 0xe09290456810bf08L,0x4ff4143fccbe4bbfL,0xd0e5a74969328301L },
  59066. { 0xab5912621c4b73beL,0x550ea0633f3edf99L,0x8a77633734c93db1L,
  59067. 0x5c51d3f832b21521L,0xcee9f604713feea0L,0x0d6f8a5a7bf4268eL } },
  59068. /* 21 << 287 */
  59069. { { 0xc415d467009a0cffL,0x32dd46ef55960242L,0x4ccc6f676d6a81b0L,
  59070. 0xa860bcb6b2571d81L,0x7e74150991f9b6c9L,0x9a96b2f9d3a0592aL },
  59071. { 0xcc3d821071248929L,0x586062daf1cb0f52L,0x18d993483d48b6c1L,
  59072. 0x667f17949f4e612aL,0xf1d7a77ffb3a12e9L,0xf7586397f5753220L } },
  59073. /* 22 << 287 */
  59074. { { 0xb87d5ce2722f405fL,0x24d1f993d7c6a322L,0x09d837291e0d8113L,
  59075. 0x70b5cdbf89a6cbc3L,0xdfb3ee16fb2c9607L,0xf0acc1163465c7c6L },
  59076. { 0x10cef4b707e6659bL,0xc280c4331fde9940L,0xc8b5e9819a2d3f25L,
  59077. 0xc36faa763f7f68c1L,0x17878bfa8d54e281L,0x8fda8b359c42c5a2L } },
  59078. /* 23 << 287 */
  59079. { { 0x2aa1366305d22d7dL,0xee77da6eb0c62a12L,0xff8f99c5bacad876L,
  59080. 0xcbe33479f8a0f0baL,0x4c69bd7f4a232c8aL,0x760ce3fd485d3f48L },
  59081. { 0x0b286a59268d7411L,0x2dd746b6589819b9L,0xe017a53060ce76f2L,
  59082. 0xe4407828d642a7f0L,0x12761e51b6badaecL,0x4f4f286b78d07257L } },
  59083. /* 24 << 287 */
  59084. { { 0x43c78835661019ecL,0x68e916b124e66d29L,0x02c0f3a224094671L,
  59085. 0xab6f1c05d0f17d86L,0x6d3bac72a22d4264L,0xd7b8f152f6e5fafeL },
  59086. { 0x95627c6339447eb3L,0xfd15901879e1ff93L,0x39277c835ad80806L,
  59087. 0x758aafc90d7c7b74L,0x605ad8ca4cb8bec9L,0x6a90085c5741828aL } },
  59088. /* 25 << 287 */
  59089. { { 0xbc11d3d559cdebfeL,0x75c31b4531b2796eL,0x8d11e18a07b1055eL,
  59090. 0xcf522c1fb2d2986dL,0xc994c377eafcbec6L,0x840d27ebc0c0e2f0L },
  59091. { 0xd4124d17859550d3L,0xeea6047aba21b2b6L,0xbd2a036e335a2854L,
  59092. 0xd8703d6b207ac2e5L,0x09d2244a94a34bbbL,0xd6b9481417ec6f44L } },
  59093. /* 26 << 287 */
  59094. { { 0x7d8ddca252aa7ff2L,0x0985e47d6953b9a2L,0xed328993dfff63ccL,
  59095. 0xbfeca5327cfa6ee5L,0x7535a871b1e6a010L,0xb0052764303c2ec5L },
  59096. { 0xd39c72102fedb0daL,0x7ee2b384e1001505L,0xb638a1b1c82a7e1cL,
  59097. 0x1b94a47b4573fd7dL,0xef2bca7792cb2b88L,0x49ad6e97a75b21efL } },
  59098. /* 27 << 287 */
  59099. { { 0x591bdd0d8f4093abL,0xa2c63f1ba1322343L,0x5e548f71b32a4331L,
  59100. 0x9930891c5e7f3c14L,0xb2b2406e54c27043L,0x7ffe3e5ef1281af8L },
  59101. { 0xc31ba363900742d1L,0xf24c8ae1e61ee209L,0x687c56b7beed46f4L,
  59102. 0x0b63e47895682562L,0x9117cf4c0c8a45a8L,0x0744a86824c20748L } },
  59103. /* 28 << 287 */
  59104. { { 0x9ac777993acb39ddL,0xd1d3ecddbb7c6a8aL,0xa5271c9e7a75159cL,
  59105. 0xa6ffb41f2c276e4dL,0xc526556e0bb9a955L,0xa32e1352233b7774L },
  59106. { 0x103f124bc2cf09aaL,0x1816d1eff10bae5aL,0xc5f9197ee8837629L,
  59107. 0x064d5dcb13b1b76bL,0x109c70748d0fe0b1L,0xbb4e9743fce5f6e1L } },
  59108. /* 29 << 287 */
  59109. { { 0x4636f36d3ef05af6L,0x3695267b3e498920L,0xd59830285d773fc8L,
  59110. 0x939591245d3cc515L,0xc3f52a9569134370L,0xc9d0db7af8848992L },
  59111. { 0xcd1be9bf15906eeeL,0xa95d25fb916d576fL,0x08de893be152fb62L,
  59112. 0x65d743658ab1e35cL,0xd6d97057fef14ac1L,0x67ad47b9574508c7L } },
  59113. /* 30 << 287 */
  59114. { { 0x1b403c4f1470433eL,0x6f8cb19257e53eecL,0x87b5b93df0cce4f5L,
  59115. 0xfefaa5008c566f77L,0xf6aa8066db71517bL,0x9f01b036d67f5952L },
  59116. { 0x9524306faaeb40dfL,0x5cb2e8e1421350a6L,0xa57d05ea3d69040cL,
  59117. 0xd0ff12a1b9bbdcd8L,0xed64d3259e3e19bbL,0x29509c0fed0a490dL } },
  59118. /* 31 << 287 */
  59119. { { 0xc94191e7a607c050L,0xb918a096b98d3d4eL,0x97413dbce3f253f3L,
  59120. 0x8476c03cdc6d8418L,0x50247d1d2402202dL,0x077476225f8097c5L },
  59121. { 0x1457ab609b71c6d6L,0x9ff312c447cf0c94L,0x954dce23ee79d2bcL,
  59122. 0x3ba2b1a4a0da6e48L,0x363df36f532be9f6L,0x816642ddc742c7d4L } },
  59123. /* 32 << 287 */
  59124. { { 0x6edf5561ff8b1fbeL,0x614b788ef6eac0c0L,0x7699ae56d8d66d29L,
  59125. 0x5f81602ae9d58eb2L,0xd0c04874faf9176dL,0x4b3a0046523153b1L },
  59126. { 0x9690930ff6315883L,0xa81c0b44a60ca92dL,0x2d0e725873bcba90L,
  59127. 0x57efe72de902e329L,0x3fcd598676bc27b9L,0x492adf0393940c09L } },
  59128. /* 33 << 287 */
  59129. { { 0xf2ab8e22973a4b6bL,0x6a96f2ef6ad73ce7L,0xad5e22547235e929L,
  59130. 0xfab3e4a9bc6c3b76L,0xf69fb2062dc950d0L,0xd863ca9049478ff2L },
  59131. { 0xec669f122749fabbL,0xe1d28bdc71a6d279L,0x766ee6458372942dL,
  59132. 0xd118b90480ade5ccL,0xedcfb0a72293740bL,0xa3ee3a67f16b29cbL } },
  59133. /* 34 << 287 */
  59134. { { 0xc29fb53e118a0c7dL,0xea7a1017193b834cL,0x678072a2cec93ecbL,
  59135. 0x9054d6b72475dedfL,0x4a7d477342ee616cL,0x05cec7f8680f8a43L },
  59136. { 0x39c491d496915870L,0xe07a2b1d8746edeeL,0x1d8ed3c83566e7fcL,
  59137. 0xc7d744e5e002298bL,0x8a0acec99c0e6388L,0xb2daac39ebf48fe3L } },
  59138. /* 35 << 287 */
  59139. { { 0x773ad1cb8e133d97L,0x1e29f5a2872523d3L,0xa2a742293a09c1ffL,
  59140. 0x809e6d284369ca06L,0xf22e521a7fe148caL,0xbaaf90c383ef9578L },
  59141. { 0x65aa9b54d633b2d5L,0xe55f2ce29a2994a8L,0x8a0af446e67e0b85L,
  59142. 0xb9714de9c1f062c8L,0x1f4047dd2a3aa1d7L,0x39658ea965179222L } },
  59143. /* 36 << 287 */
  59144. { { 0x0322b29a57fbc5cfL,0xf55af7863078be9cL,0xd4b186e6ecb59f79L,
  59145. 0x50f5fe746d950733L,0xaf8a1898a9f90d02L,0x483801a742d6d9bfL },
  59146. { 0xf0a0af145ec09c0eL,0x85af0e6188383360L,0x404b295e42592235L,
  59147. 0xb3199d63c596493cL,0x7aadacdb194abb80L,0xac84563ec1c845c6L } },
  59148. /* 37 << 287 */
  59149. { { 0xd78d1dae5336e58dL,0xa3f36e0bc5ff354fL,0x8421f95e5d1ed78cL,
  59150. 0xff4c16019f360c43L,0xd5efa09f8bb582a1L,0x0ece005aefb39652L },
  59151. { 0xce8bb58036c2c940L,0x11f8f74bcd1ae8ccL,0x923c350b57a2f2b3L,
  59152. 0x2438e3213c86faacL,0xe76129503e230776L,0x35c73d415e6158e2L } },
  59153. /* 38 << 287 */
  59154. { { 0x8ffda4643672507aL,0x76301be7dd91327aL,0x42720bb0958860bfL,
  59155. 0xedc0b8945ad4f455L,0x2fb553201bfbeb4dL,0x22a425bda1c6494dL },
  59156. { 0xfb927a85de0e7f52L,0xb84a82cf49a4b6a1L,0x8afd0546b640fe0fL,
  59157. 0x23b78fbed2fc15cbL,0xeab469c26742a49fL,0x308e453fe277c7cdL } },
  59158. /* 39 << 287 */
  59159. { { 0x60ce0f55af7b14aaL,0xf2577fbe5cf5a2caL,0x7bb9521fabf3bb41L,
  59160. 0x68b6409def00287aL,0x700bf423bfaf9391L,0x98e6c3017d637300L },
  59161. { 0x342ed4870ce28aeeL,0xad8b8dc383b059dbL,0x1b8a892b85d0a485L,
  59162. 0x553c4fad6b7a7d3aL,0xf5692acc198d0379L,0x6004ebb3ce932f00L } },
  59163. /* 40 << 287 */
  59164. { { 0x6895dbe2f820c195L,0x3787a5003f6c7b40L,0xdc718243ac1e90f3L,
  59165. 0x352f8c91ba5d0870L,0xf3d1c53eec0112b5L,0x08a0782f6b84f64aL },
  59166. { 0xd659e6358eedd5d4L,0xfc30df6c29537276L,0xbfb09978a1755ce0L,
  59167. 0x227f7b12aa2b4187L,0x828730b9226539d2L,0x9051a37cb2472c95L } },
  59168. /* 41 << 287 */
  59169. { { 0x430c2a45d0a0ddabL,0x916aa68926a6291fL,0x9db5510268dff24fL,
  59170. 0xa22121c1850a7aabL,0xd43416194e2d9670L,0x7ef2cb9415cf7636L },
  59171. { 0x2cd6ddf6bf97b27dL,0xac5676b625aba9c0L,0x3ca96f7ec4ee110fL,
  59172. 0xc6900abd08e7ebb4L,0xcd3942fbdcb91135L,0x62d6b6f6a8ad56e2L } },
  59173. /* 42 << 287 */
  59174. { { 0x1ec7f2410828d35fL,0xd94c2a926ccae554L,0xdf4227273c36ecedL,
  59175. 0x2facd6d89fa6582bL,0xed43247ed349d3beL,0x1d59d55d1db6fcc6L },
  59176. { 0x2b5074b1ee1bea38L,0x025496aac9c21a8fL,0x57dd7fa1d1d817edL,
  59177. 0x57b5572aead03124L,0xdc024be87314616dL,0x5bb5b23c10f6e38eL } },
  59178. /* 43 << 287 */
  59179. { { 0x643cb9cd53812134L,0x016a11e8092ff9b5L,0x227f3dfbfcde37bfL,
  59180. 0x01b9bcebe8a8fc6dL,0x7009ae45e1da0dd6L,0x193b6f519e2908f3L },
  59181. { 0x28656302230db5feL,0xb0a730c41aaeee73L,0x028320ab387addc8L,
  59182. 0x92165d909a92488cL,0xb0b2f8f09066c95cL,0x0fa55db564007634L } },
  59183. /* 44 << 287 */
  59184. { { 0xbff4fe0844284b10L,0xc7e3f8da19c2f775L,0xdcd97e54a45ab746L,
  59185. 0xf53158a9540ee8a5L,0xfd19068728c4aa74L,0xa3447e30648fa2e1L },
  59186. { 0xa6794670c374cedcL,0x605629c258204248L,0x1b86f8e6f7d8db3dL,
  59187. 0x1e8ffe8bff0f38c9L,0xe4a556b8e274c82bL,0xb31406c94c0076d6L } },
  59188. /* 45 << 287 */
  59189. { { 0x198999821e555a0cL,0x831e923fbc196442L,0x8b294623f682e135L,
  59190. 0x79ba90c01743c6e1L,0x74f8dbafeff5ed22L,0xe4c3257d5c010835L },
  59191. { 0x9cf94a208f9ec66bL,0x9fe9da3ddc303c43L,0xa53870be0cb716daL,
  59192. 0xc322ffaa2aef881dL,0xb9ff76ff0fcd5580L,0xdcc125d49ebb1d7dL } },
  59193. /* 46 << 287 */
  59194. { { 0x747b6b6ddecaf88eL,0x1a32f8ba368cc7caL,0x52a3a00f60d84fd7L,
  59195. 0x60052af507adacf7L,0x8b7bf25650b8de16L,0xb8b2acf8194926baL },
  59196. { 0x4bda72c81d1ef524L,0xe350f73288993f96L,0x63fee4e2e08c5d39L,
  59197. 0x1f2cd9cd5db46904L,0xbf11ac311668d3bcL,0x8eaa064371d721aeL } },
  59198. /* 47 << 287 */
  59199. { { 0x33cfdcb3e14210feL,0x4abad5ec4946aa01L,0x14b42417a8cb53b3L,
  59200. 0xeebb0d70238d4edfL,0x8c9d87fdb5bdb30bL,0x3cc680f17c928b33L },
  59201. { 0x4b2b2358757c2607L,0x51a70a33c1c8dedfL,0x62a26d776b22d113L,
  59202. 0x2f4acd62ef3b4f5eL,0x403e91bf6ed00636L,0x219ba3577bf74d3cL } },
  59203. /* 48 << 287 */
  59204. { { 0x7de743e2b39317b8L,0x9205d4472d372acfL,0x8226fc303eeb0012L,
  59205. 0xab2a3e052af74be6L,0xbe4767804af91ac0L,0x98497c710ca36bf4L },
  59206. { 0x74fdf7cd8d6dedb4L,0xb50778eea0fc5919L,0x5d5ec33f2fcd7c63L,
  59207. 0x667b81937f33cde0L,0xce48ae4b38364d44L,0xb8578963223ed67eL } },
  59208. /* 49 << 287 */
  59209. { { 0x3e5688e46bfd7adeL,0xb3f1eb051b80bd4bL,0x8626c4cafe3de456L,
  59210. 0x8846bc714b7e5444L,0xa54c7cff689e8a67L,0x8c3ea61f43eadcf6L },
  59211. { 0x924f17d6fde15178L,0x45319eb705c08d2dL,0x6d55775d9f85dcbcL,
  59212. 0x2aaf9f7405278280L,0x574a13e77b617153L,0xe7fa921ae8b15bebL } },
  59213. /* 50 << 287 */
  59214. { { 0x9dd54056514e343aL,0x8d9116dff12aa25fL,0x5322ec38e3397844L,
  59215. 0xe1843921571036a1L,0x2cde0a48650beb19L,0x41ad4a7e4f259728L },
  59216. { 0xf314fceeee6448b2L,0x80006b2aff0e81f5L,0xb5ee5524d51d229aL,
  59217. 0xeba6d733128e900bL,0x79278cb8030f391aL,0xb24bcd63a9a5f9fbL } },
  59218. /* 51 << 287 */
  59219. { { 0xed867a7b37d10743L,0xd57d2d8df510023eL,0x4d500e4c737e0a50L,
  59220. 0xcfa119900ecbf795L,0x3ac126b89373bdaaL,0xb06324fb735449a1L },
  59221. { 0xfe321df5cd79de70L,0x52d625dbfd07c6d4L,0x88ff505a3d628e51L,
  59222. 0x120350fab044d725L,0xf718b20ad02f9515L,0x766698630bbea1b2L } },
  59223. /* 52 << 287 */
  59224. { { 0x6293e0ff50d9bda1L,0xe7259ada433b4dd3L,0x39aee63e821cee67L,
  59225. 0x4d707c7144b10739L,0x42b9e0f69bd6efc3L,0x7d71edcc0717a61dL },
  59226. { 0xe7df9e56d1e5a5bcL,0x7895b638ddde509bL,0x6fc597b3d2a6a822L,
  59227. 0x022da65d96d2a8abL,0x95541ce7cff45c72L,0xa5bb7799e649800fL } },
  59228. /* 53 << 287 */
  59229. { { 0x7472e4c963676cd5L,0x2836b1d52687f376L,0x1460b664f732a51aL,
  59230. 0x7c4541f22a214ae1L,0x743a524d107d6622L,0x9c64e3ff082fc015L },
  59231. { 0x9341f3fc8e0d13bdL,0x9946043e529554edL,0x6fbbbcda5798d6ccL,
  59232. 0x3bfad5fb242115c5L,0x1f46bd1945ab793cL,0xd9383bcf3b42f81aL } },
  59233. /* 54 << 287 */
  59234. { { 0xe4ff888f820a13b5L,0x7cd18b3eaf1bfbbbL,0x3fb7f681bd4e4dd5L,
  59235. 0xaba364c287d46c40L,0x44e209ab659b3498L,0x5e071a272dde85c1L },
  59236. { 0x8a029b1fb969c790L,0x51bab9f0c6fd1c22L,0x9ee9b047b83eb0c1L,
  59237. 0xda0b39439e5b2c35L,0x0cb30625f20ca425L,0x8e4dbd013d25c2c9L } },
  59238. /* 55 << 287 */
  59239. { { 0xe7aa41a96b8f7599L,0xe97ff24a3f556ad5L,0x10e07713dd6a9329L,
  59240. 0xaf464b18c4d06a93L,0x9b8e5145a1ccc85fL,0xa256680bd0487ca6L },
  59241. { 0x420b60bf815652f1L,0xeaf09eff5bb45b6fL,0xa31e875f8845a557L,
  59242. 0xb035ee09eebe0911L,0x1402d1d86531c356L,0x24aeeaf0b630f75aL } },
  59243. /* 56 << 287 */
  59244. { { 0x4b20d1829567f5f4L,0xde7e814918f02b34L,0xc9a4be7becff9dd7L,
  59245. 0xe2f70bbe9812fd3fL,0x471bf90c9c889263L,0xb60d01b53e61f5bfL },
  59246. { 0x258c7f89d22d855bL,0x35ef5c15b75a7d4fL,0x26d8e1dab247f27dL,
  59247. 0xcf1361998d0f7757L,0x312447803f8e894dL,0x8d2a20bae1a3d47dL } },
  59248. /* 57 << 287 */
  59249. { { 0x6447cc97f08a0417L,0xd98ea6837afee809L,0x81426d20bf7990aaL,
  59250. 0x848bd6223526ad26L,0xb6cdc5b4fe1f3381L,0xe7e10bc7a26189ecL },
  59251. { 0x25a9f7cf57464e6bL,0xf90c1aa12c86ddf0L,0x2126ed530124705fL,
  59252. 0xf384e7e5b58e6341L,0xb2dfeb0a12207e57L,0x72875c55e0e23287L } },
  59253. /* 58 << 287 */
  59254. { { 0x37579c3eb954b7a4L,0xf0291f8f3f2ea608L,0xde68104f90a85ed2L,
  59255. 0x6a35fea9e1088788L,0xe8d5517470d15d00L,0x0bc72de552467f90L },
  59256. { 0x2ded3293297be2b8L,0x76c53e5761ddc65bL,0xae4b2b5015562d6aL,
  59257. 0xfe7cdd329e0aeb79L,0x98ef4c518dd474ecL,0xfca56ffb0076b23aL } },
  59258. /* 59 << 287 */
  59259. { { 0x120adcba6f60309aL,0x41e46edeca8ab2c7L,0xd68aa4c529b79ce0L,
  59260. 0x21a21f8d7a3b11fdL,0xea68dc4739d0809fL,0xd4faa71a27973044L },
  59261. { 0x65b42172810be134L,0xb2dafa6c793aee92L,0x951e9f6f1f78f7dcL,
  59262. 0x2affc70a17fdba97L,0x4f0f4c51dcaa2789L,0xfde1951c9e703980L } },
  59263. /* 60 << 287 */
  59264. { { 0x80826a196488d9d8L,0xfa452795f3ad867aL,0xdd9bf8f5bd4e6674L,
  59265. 0x324386227e8e3ee5L,0x7af4c605dff05c96L,0x79efb6f9541cbbd2L },
  59266. { 0xeb5ff62675e78961L,0x5318c4c30be43d7aL,0x02df456daa4a0562L,
  59267. 0x4d6002d88a916a81L,0xf0dbc349f68eced2L,0xfd75d4d5ec8c3fddL } },
  59268. /* 61 << 287 */
  59269. { { 0x6c15d903544378f3L,0x0a9bc9d735ea3c77L,0x9d9066408caa4acbL,
  59270. 0x9ba27502402be833L,0x1ed4123f8773fd7bL,0x236364ba190eac92L },
  59271. { 0xd6287f17f8383ee1L,0x75b7b0b5d9739582L,0xeb6cd50d0292806eL,
  59272. 0x216f36dc43448409L,0xec136f8cb6c4958aL,0xfa805ab49ef7810eL } },
  59273. /* 62 << 287 */
  59274. { { 0x5c6448f70d00b29aL,0xaa134b87124cd55dL,0xc2c6b269d94b72d9L,
  59275. 0x0f0dd472412f76d8L,0xb4cf3c1873f6571aL,0x6aed00218b9218ffL },
  59276. { 0xa55b74eaa0c9dde9L,0x59b952125b4c8fccL,0xbc9873ea4ddc367bL,
  59277. 0x26b369ba0fd30421L,0x71763a45e446f4fcL,0x67e800edaff54707L } },
  59278. /* 63 << 287 */
  59279. { { 0x4de97de1126b4919L,0xd631d908883ea109L,0x37c77d729f6ec50cL,
  59280. 0x910932e6df718c7dL,0xa798406855028d0fL,0x21b09540a6119a26L },
  59281. { 0xb837cceced4b4962L,0x3c83f4bdba66002aL,0xa067aa3d2ac41124L,
  59282. 0xa64bff30d08dc360L,0xa22778a5c108d3abL,0x7f732064aac4dee4L } },
  59283. /* 64 << 287 */
  59284. { { 0xc68b641ec795a2c7L,0x4fe559b15a4d6647L,0xeda98cbad89ce668L,
  59285. 0x15f84dc06c269d8eL,0xf0eb685ecbf34023L,0x3668c530c032634aL },
  59286. { 0x2e3d7fffe4531f59L,0xe627030685494d06L,0xf02cabcfa3e050dfL,
  59287. 0xccd2da67c001dcd9L,0x50aa3723066d2d52L,0xdb0756507224a41fL } },
  59288. /* 0 << 294 */
  59289. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  59290. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  59291. /* 1 << 294 */
  59292. { { 0x04418b5965b55050L,0xa8a797c3d324aa67L,0x5f87e22c7c65a6d9L,
  59293. 0xaac710651dbeffe4L,0xff619d64bd3cc05cL,0x9a29c966e65c92c4L },
  59294. { 0x23af2b21dad7fcbdL,0x4950a767153b817fL,0xc34a7efac6478c55L,
  59295. 0x57cde95af6cd140eL,0x64b74575f5a0db2eL,0xd4b5ea5275d7fb76L } },
  59296. /* 2 << 294 */
  59297. { { 0x284050628e72aafbL,0x655bf3538ea8bf00L,0x789d944405547f7bL,
  59298. 0x7fa445ed3441e472L,0xfeb198254a44ce87L,0xccb5f12c129aed14L },
  59299. { 0x22b05de3af94fb34L,0x7422a040d3f03199L,0xfba252caa83f7f08L,
  59300. 0x0f6ad6e6cefaa757L,0xe1ad18716517d806L,0xd16dc8ed8e9d97adL } },
  59301. /* 3 << 294 */
  59302. { { 0x0208092a0e3dca68L,0x9a49bdccd1a09971L,0xe5194181aefab9c1L,
  59303. 0xc1c9690a0076f47cL,0xd7499e95b486c2fbL,0x83a69e43d4b72e00L },
  59304. { 0x75f2838a2d1a6c2bL,0x57a24c69751f6366L,0xd956ee08626cc684L,
  59305. 0x434cadd7e6ce3249L,0x3d4eaececfe289bfL,0xbbd53b961b8aafddL } },
  59306. /* 4 << 294 */
  59307. { { 0xcbb99194a3736eb6L,0xdd5161cd36dcf470L,0xd50b24aab6ab6c03L,
  59308. 0x419d2810bc41f4b7L,0xe2e88d7a295496cfL,0x350713f2f2457ac0L },
  59309. { 0x838e4a360427e2aeL,0x7631472a4d974e5aL,0x9fa3ab1c7a5c5fdcL,
  59310. 0x324798cdde34cb8dL,0xbfa5a9d0889105feL,0xd05dad34fd0df249L } },
  59311. /* 5 << 294 */
  59312. { { 0xb47c1d47d6a3a1baL,0x99bb7e6572f65bd5L,0xf251794578abfda2L,
  59313. 0x827f2aba3e3e3420L,0x436ee73250e2de70L,0x5c9ac6dc10eca926L },
  59314. { 0x2ec67465181f5e18L,0x1e8f32fcc6c83d02L,0x9dd3aeaf3953bd81L,
  59315. 0xca955f4b07086daaL,0x7b4b6f3fd14eaa88L,0x562e75f1148d826fL } },
  59316. /* 6 << 294 */
  59317. { { 0x536e5657cb419fc3L,0xe8c208bc1d271dd1L,0x6a3713bd22d2b9adL,
  59318. 0xa4c761a7471d808dL,0xd93aafb67e6dca35L,0xc46c0ae38f55ca32L },
  59319. { 0x55dc0de7a78bfca0L,0xe9cfb3013407d0caL,0x777e2a60b3256c14L,
  59320. 0x32b2238c6d8fee02L,0xe8b3539646e43ee8L,0x310bc1ba247985ddL } },
  59321. /* 7 << 294 */
  59322. { { 0xbb9bce6810168f49L,0x32edc368717445e3L,0xb0b5a04426aa3ff2L,
  59323. 0xc671f1fcd166542bL,0x3142864df61d2523L,0x11b2dfc7b0c67410L },
  59324. { 0x2e031a05c99690a5L,0x4782fb749fb7bae8L,0xeac2cd506b7175acL,
  59325. 0x2e116782bef2313aL,0x67992027241c4d2dL,0xf8aa0e09a6952d9fL } },
  59326. /* 8 << 294 */
  59327. { { 0x9974759c581f9d3cL,0x9e76a970e5cb1973L,0x8afec58ec64941caL,
  59328. 0x2d7c57fa01d05575L,0xc07c74cc5c448db5L,0xa52474ce01bb1440L },
  59329. { 0x93162d9700115bbbL,0x483b6147fd7480f9L,0x4f28c57e6af18dedL,
  59330. 0x36faed8f174a3089L,0x702dbd64a3dd6265L,0x86a9c43f6adc0d7bL } },
  59331. /* 9 << 294 */
  59332. { { 0x9d4d4b3c795eb646L,0x727e2aa17485839cL,0xb50018a5aa9250baL,
  59333. 0x5a15808d1ba716adL,0xb1748d580ff91cebL,0x0131bcff76144b6dL },
  59334. { 0x23fea4a58dcccffaL,0xe8eddb5ceb64caaeL,0x011a65971c3c5e66L,
  59335. 0x7723dfba377a8f6cL,0x00167c71dee2f651L,0x3e89ddf5ee0e4325L } },
  59336. /* 10 << 294 */
  59337. { { 0xa3510710b9de7b63L,0x9f364ad14019c9dfL,0x5b66a5d79b5bdce3L,
  59338. 0x2b2f695178b1b385L,0x3e4783d33cfa9f99L,0x1af517506bd6bcf4L },
  59339. { 0xf9c0686a81d8d7efL,0xdc0f22ec37c068d3L,0xe1b8665393545fafL,
  59340. 0x37ca8501a8a52881L,0x07ac5c8a5603e359L,0x98fb2bab542cc937L } },
  59341. /* 11 << 294 */
  59342. { { 0x96326ec323da6b81L,0xdb48a5e1f90a6f83L,0xbb141660f640a0fdL,
  59343. 0xb51609375b92f5c2L,0xaaabd54c997244e4L,0xbeb8ab2f859bb92cL },
  59344. { 0xcac7c5dda4be476bL,0x7093faea7f58c1b2L,0x3167a2c45c6ad412L,
  59345. 0xabd86bc9544fb9a7L,0x571296a72448c363L,0x4da64cd9c6cd4621L } },
  59346. /* 12 << 294 */
  59347. { { 0x4981be690c5bbd3eL,0xb047df0a185fdb55L,0x3168e05074cff00cL,
  59348. 0x111150a1b52c7f9cL,0x0db2ed84a51c7986L,0x7d991630e61272adL },
  59349. { 0x7443d93628de14ddL,0xfdf31f41a5daed5fL,0x71e0ef4e866b5e40L,
  59350. 0x05c57a45b965a670L,0x85bdb58c70e1aa77L,0xe4d1fe2a9df3ce32L } },
  59351. /* 13 << 294 */
  59352. { { 0x6ff2b1a1772c3796L,0x9b88c1178e186fe8L,0x342ba11f4312af31L,
  59353. 0x9a93a4d1a86ae2b6L,0x496d5f219d59e3feL,0xce519a7d6924acdcL },
  59354. { 0x6fdef82327c46e44L,0xab5504c34d31c9bdL,0x6fa52bca71693677L,
  59355. 0x31221119033c80f7L,0xdb2cb49dc0a22f91L,0x4962d58f9b4aeb5eL } },
  59356. /* 14 << 294 */
  59357. { { 0x5d4618982f722563L,0x11d22b39567db14cL,0x9a8f004e6779cd40L,
  59358. 0x0812ae3d5473ecd5L,0x4ed828624e6c296aL,0x2d9ce40c064ee61fL },
  59359. { 0x4856d586d8a9eb1eL,0x2ddd6b125d1b5e3aL,0x0ab5eec0382fba3cL,
  59360. 0x302018dffcf4a9c8L,0x7b4e6fd2ab3cdedbL,0x266c246a8f64cb1dL } },
  59361. /* 15 << 294 */
  59362. { { 0x55bad54bd6dc35e8L,0xa43d72ff38642612L,0xe39a191609bc85ddL,
  59363. 0xc9d4bc9b0f85d3baL,0x84cd12b61367a70cL,0xf4ebc0e04937bb2dL },
  59364. { 0xd083145949dc027bL,0x110751601cf29970L,0xa443a29c0b76b4c0L,
  59365. 0xee5b8d0ca0de3249L,0x368aa3259002e7d6L,0xeb48afdc6182e2e4L } },
  59366. /* 16 << 294 */
  59367. { { 0xc41e4aedf5c3af59L,0xa0284ad06de9a78aL,0xf5eaab7b8ed812d2L,
  59368. 0x7801fbb81afb58b8L,0xbe5cdba671efcc3aL,0xe31a0e3ccd10cb91L },
  59369. { 0x882e821e85dc0bc6L,0xd3ad070fbb32e506L,0x3afede2bd8a0f038L,
  59370. 0xe20a117c857fd3a0L,0xebaa2aa43060f767L,0x6524aa0d2b9d1da1L } },
  59371. /* 17 << 294 */
  59372. { { 0x86aeca0ffd81174dL,0x19bc6ee60c6eefc8L,0xc85f7f2ea91f0e19L,
  59373. 0x09b9276ad2354dc8L,0xb62adee0542a669aL,0x8354ad1a88097445L },
  59374. { 0xe67d2834df9984a1L,0x2330c8cfa64b2864L,0x309dcdeb39e7b54aL,
  59375. 0xbbba4737a18cf5eaL,0x47511b1d92861a8eL,0x99d4bd673286d404L } },
  59376. /* 18 << 294 */
  59377. { { 0x9cc5847c88cffe33L,0xff726b0f6e8eb6c1L,0x9bb2ca161bc45d8eL,
  59378. 0xe7903009a6d8a5a6L,0x4f089cc047db2201L,0x4135884de6b5928aL },
  59379. { 0xb1a86a0ae5c017cfL,0xb1d9bf6db0a393dfL,0x33d9c1c628bb3277L,
  59380. 0xcb05b67b45b582ceL,0xa72585fcf33792c5L,0x78b7c5e8a7d1ed84L } },
  59381. /* 19 << 294 */
  59382. { { 0xbb83b446b1b4a091L,0x66440b3d9603d875L,0xd1931f33c2b45d1aL,
  59383. 0xb8b67f20098d4cccL,0xa3583818790f208aL,0xe01194bec4a3e88fL },
  59384. { 0x29301bb192e8b150L,0x1795cabe9448ee60L,0x377d8f9752500c48L,
  59385. 0x474e73d65a457e79L,0xce0a50ef30159027L,0xfe69abaafbb2c214L } },
  59386. /* 20 << 294 */
  59387. { { 0x70e478fb9346df25L,0x01dc0c2eb4a4ada5L,0xaec82b005be36ea7L,
  59388. 0x82618b8f6717e06aL,0x2db1f6d4008f1977L,0x4e493f3b16b390d1L },
  59389. { 0xfe86fd4d990a75ebL,0xa1cf7f99783f6076L,0x6cbb23e70c049158L,
  59390. 0xd05be7e5ed456235L,0x601374069bd836efL,0x94ec964432e5f604L } },
  59391. /* 21 << 294 */
  59392. { { 0xd96e4d920fc48c7bL,0xa2e29660f66e491cL,0xb92d850601146906L,
  59393. 0xa43f4803afe346d6L,0x27885d98700b6bccL,0x90662e9f595d8de2L },
  59394. { 0xefa7f261f70d1007L,0xfe8a8be3fc72531aL,0x3b3f7541f1aa8d93L,
  59395. 0xb31bea258215966bL,0x15faa4acf35d2be8L,0x0a5f95e786c9a45fL } },
  59396. /* 22 << 294 */
  59397. { { 0x3361e1ce3d87bfa8L,0x92f235e78dcca4f0L,0xc8084cb4be323fd1L,
  59398. 0x3fd481a5c24c6d16L,0x9b1bd9402cea81baL,0xf50911910c5aa59fL },
  59399. { 0x4cd8c9eff81d5e2aL,0x5ad000131550bff4L,0x29d47b9f8cc32e55L,
  59400. 0x66e3e6f111694eceL,0xd5edf7017950dd7eL,0x9ccb10960f6350c6L } },
  59401. /* 23 << 294 */
  59402. { { 0xc31e47ff95e784e4L,0x7ad0dfd63fa14241L,0xc91482092dab896eL,
  59403. 0xe9a114cccb9bb463L,0xedce9e6f16cb16afL,0x0ee2ce0607508893L },
  59404. { 0x1aedb80ce31c0f54L,0x235d4591512658ccL,0x9029fad2a38583f1L,
  59405. 0x95b1e1ddebef898eL,0xeb2f21809efabef3L,0x458c4338b10e9cbbL } },
  59406. /* 24 << 294 */
  59407. { { 0x09db138d18f2470cL,0x63bd2290f613658fL,0x0bb647794feebab9L,
  59408. 0xfce4aee17fdb1e71L,0x7d5c0c61a7f1f65dL,0x46405b618d02d6cdL },
  59409. { 0x7cac04856fdcb0d0L,0x85224c4b2f8ec5afL,0xb5879a59db0aa864L,
  59410. 0x75f391b8ff94f8b5L,0xa6c994ae49c97f8eL,0x4d968fadd690b232L } },
  59411. /* 25 << 294 */
  59412. { { 0x1e436df6e11a616aL,0x9eb49c76bdb932a8L,0x207d2fe90e6591aeL,
  59413. 0x6e05acc8233ac034L,0x464dd321f3d04d32L,0xd4ba4889af43c171L },
  59414. { 0x0808e5207120fab9L,0xb9e4726c3fbac672L,0x5dd1c13b9d7d883bL,
  59415. 0x1c091808771f1edbL,0x76988d1c75eac1a5L,0xb0fcd3a893a67be8L } },
  59416. /* 26 << 294 */
  59417. { { 0xf5cd290a67e0b4e7L,0xaa6fa6807c1594b6L,0xebedfbd7b63270beL,
  59418. 0x574b410ba369bfeeL,0x431cba5a020ea888L,0xd3a3102f56c71d47L },
  59419. { 0x4894bfe0a90a853aL,0xd78bd98b5f9c4b6bL,0x9b1324f6d900c5c1L,
  59420. 0xc65c944d718c2147L,0xf661de6ba987f634L,0x0315e69f172628d8L } },
  59421. /* 27 << 294 */
  59422. { { 0xb12e0ab8aac7ab64L,0x8ce877abb06cf9cfL,0x39b694b40bb11fb4L,
  59423. 0x0c2428369b0d8850L,0x6bc9a033ccd50c6eL,0xaa2e77739a1e8fb3L },
  59424. { 0xa7d8be09608e2e9cL,0xeb4cef0542b9f458L,0xa7268c9b985f66fdL,
  59425. 0xd60eeab27acf4968L,0x02eb2db3b6e5621eL,0x82fb4abfad8236c4L } },
  59426. /* 28 << 294 */
  59427. { { 0x07c60c7522ea5f1cL,0x35beae34a36bee4fL,0xa8b00a09dcba8997L,
  59428. 0xa77f1f3a802ce50cL,0x6c4050df2a2144b0L,0xf79bfa96ab1b10dbL },
  59429. { 0x9025d470433a9b1cL,0xaf3e391790d9eec8L,0xbcad2d629ae2d535L,
  59430. 0x7a152829eff0f6a9L,0xe87345cd925fa5a0L,0x6ce007200e84039cL } },
  59431. /* 29 << 294 */
  59432. { { 0xc65acf36c3d095d2L,0x9192c5fe72427e6cL,0xcb84c43c3fa8b90dL,
  59433. 0x2f458fe965e15b23L,0xd8bf193731469f11L,0x1ccd8bb93638cc3eL },
  59434. { 0xa067022f78e35577L,0x382e6af730ee676dL,0xf197adc2f6d135bfL,
  59435. 0x06360834c9a1cf58L,0x413813f7930371beL,0xf7461d04f5dcaccaL } },
  59436. /* 30 << 294 */
  59437. { { 0xdae449c007f6a05aL,0xbc1b84f55bf26c9eL,0xe3b3f9edb1c13820L,
  59438. 0x5442ad5b4090598bL,0x794ef65613749e4dL,0xde809180948b71c5L },
  59439. { 0x4c72dc7de203c5b5L,0x8902b0971b349fc4L,0xa899bedb225a1569L,
  59440. 0xeb7da73de6ff3f53L,0x6ee8e1607c0be37bL,0x9ee667d2a31bf943L } },
  59441. /* 31 << 294 */
  59442. { { 0xbc91031108b6fb2bL,0xa5e0ab3e25e06a55L,0x16ff0705360f1698L,
  59443. 0x71c0aa7487e72a67L,0xa1f1497b355c75e8L,0x179b67bffa6bbcd7L },
  59444. { 0xc9db6590b6738583L,0xf77660c4d87e72bdL,0x0ee2e7b3f13abc2dL,
  59445. 0x0cdf5a37a4d922b6L,0xaa8af2d596c853a4L,0xdc452af4e0092356L } },
  59446. /* 32 << 294 */
  59447. { { 0x5017e145db81146dL,0xc7d2086d45c54db8L,0x2541059dfa98234aL,
  59448. 0x4bf344d99985af98L,0x39737ed67b5b7b1cL,0x8e24691987c411adL },
  59449. { 0x2fad8cedb877a75fL,0xe42352df17e60ee2L,0x1a53d856404043f7L,
  59450. 0x6c1f07a5863927a1L,0x38d3a4f4b6892121L,0xf4c1092001976c8fL } },
  59451. /* 33 << 294 */
  59452. { { 0x541732a70224214aL,0x61617b515cb2d019L,0xc560c24bcb4fc6b2L,
  59453. 0xd0ad737943670d99L,0x08cdd32eb83112a8L,0xbe57493d7e29810fL },
  59454. { 0x7834124899d4523fL,0xae1a5857cc8e5fb7L,0xf8b62a59b8454efaL,
  59455. 0x7c63c900ab0f4729L,0xeef9243d72dd0f5fL,0x6b865dfbad766386L } },
  59456. /* 34 << 294 */
  59457. { { 0xd11536eefee626b8L,0x1d2471dd8077b5d4L,0x7db062debdb9a4dbL,
  59458. 0xfcc62c0ab9f808ebL,0x619b54c6ef392bc7L,0x81e146fc51b9f5c9L },
  59459. { 0x0343807c7bbd52b3L,0xe024a9f1572125c5L,0xf8b886d86c57cb31L,
  59460. 0xcb92aa7d5398a318L,0x4ce0870d2410ef34L,0x1a40c103f8366683L } },
  59461. /* 35 << 294 */
  59462. { { 0x46485baa7bb78552L,0xc0f685f23e6a3f0fL,0xd24970b5fb3cc0ecL,
  59463. 0x0d1f380e7bf91feeL,0xf0f7fcafe7624351L,0x27cb99bc697a8055L },
  59464. { 0x55be14685cdc7560L,0xf006927927ba7f93L,0xb0c25c759fdd0e70L,
  59465. 0xda82e73785818253L,0x7d40d86946304c51L,0xe06ea6fdcc18ba58L } },
  59466. /* 36 << 294 */
  59467. { { 0x99d37ade6b65e17aL,0x61ca538e38ce217cL,0xd3ea83f68ebb89edL,
  59468. 0xce6611eb4b02964eL,0x0ec7cc2f5c0a8e44L,0xa985b0c2974240a4L },
  59469. { 0x7a3abb6c42ee5b0fL,0x55f049a0cb2eddadL,0x69348b027c44a60cL,
  59470. 0xcabc65191974a8c7L,0xd9def4bc07b91a35L,0x684a2d71b93b34c3L } },
  59471. /* 37 << 294 */
  59472. { { 0x21c37d21f48f274cL,0x2de96b4da082a098L,0x82520e0ca606b6a6L,
  59473. 0xf76c9ec6e1050b81L,0x248c5efbd1ce149dL,0x5a36ae1e9a909790L },
  59474. { 0x8790b09bec8b43afL,0xd592dce560ff709cL,0x726d699724cc8e21L,
  59475. 0x61e37bef5e2cb745L,0xd55a68c26eff3ba0L,0xd47f02659ad265c0L } },
  59476. /* 38 << 294 */
  59477. { { 0x3e6351ef3932ef94L,0x65625878db5d64e6L,0x118a688e091ec7b7L,
  59478. 0x2a95072abdf60b88L,0x5200703540dc0afeL,0x59c3d90b6fc1cbffL },
  59479. { 0x5622b1b21dfb1a7fL,0xdcb0344834d92243L,0x18fccfa86d7d36c4L,
  59480. 0x5d43a14181341761L,0xef375542eaaee79dL,0x4e4667216999d399L } },
  59481. /* 39 << 294 */
  59482. { { 0x1bca97aa9d3c6b9eL,0xb4bb4f95095cb250L,0x4f2c216a996fb52aL,
  59483. 0xc4d01916f379790cL,0x510882a4359df53dL,0x6457d76a671d6a8fL },
  59484. { 0x0ded2623061f7d64L,0x3cb4f38f1ce7dcf2L,0x0d86313a224ffa88L,
  59485. 0xba8a15012b99aeb3L,0x2fb92183d69f72b5L,0xd3b9d6daf1fdb8f0L } },
  59486. /* 40 << 294 */
  59487. { { 0x5d573a3a0b6320aaL,0xf9ac8ccf289b6700L,0x8bad05cd8f28dd72L,
  59488. 0xe2eabd446b62c306L,0x60f70353906ef302L,0x147cdd0c367a768eL },
  59489. { 0xea9d871635a9e846L,0xdd71e80aa8684430L,0xa56a5ccd530768a8L,
  59490. 0x59d241270a3e42f6L,0x707cbaf0faa367d1L,0x5419b14f52a0cbd0L } },
  59491. /* 41 << 294 */
  59492. { { 0x625bf4e6d991d842L,0x56b95a56a81daaaeL,0x2101137c9911bdadL,
  59493. 0x1141b0a1bbded1c2L,0x85deb889d1df8d43L,0x51e3e17edac3e376L },
  59494. { 0x5d31639381fb19f8L,0xd1cb634b92eed2c4L,0x72a6ed7b943746dfL,
  59495. 0xd55f55fb22b85e00L,0x255b025804193aabL,0xd0b94c5d86a78c96L } },
  59496. /* 42 << 294 */
  59497. { { 0x121c15d859c3556aL,0xabe25c21864380dfL,0x2de101832627f78cL,
  59498. 0x19988e4b4bcf4a0cL,0x4ed3aad8a2f9cb52L,0x50f8cef5b2b257e1L },
  59499. { 0xab0b000c49f7f596L,0x6cb997471fb9c471L,0x331974b95fefb8f4L,
  59500. 0x57cf97578e2e0e5cL,0xa82a8d06174a626cL,0x40ef371b03e80567L } },
  59501. /* 43 << 294 */
  59502. { { 0xfea713e1324cbab8L,0x738885e61897e7baL,0x8234ed08126aaa13L,
  59503. 0x4f66467661ed1548L,0x61fdc2aa172c432bL,0x78eade7c9ebf0a29L },
  59504. { 0xd50ae7156aa104a9L,0x977d7a605536df98L,0x024014bdc9eb983cL,
  59505. 0x75d53c0585e21649L,0xc181d67098404cffL,0xe00f5f5dfdb3f05aL } },
  59506. /* 44 << 294 */
  59507. { { 0x3cfe2987d10542b1L,0x5935e0dc29f5b006L,0xce5932d6d83344f2L,
  59508. 0x67aab7ad9800a6d5L,0x3ef2b0e765073619L,0xc381a99454aa9ccaL },
  59509. { 0xbf069577d4011571L,0x33b70c5d4d1ce997L,0x801ba41c758c9b1bL,
  59510. 0x6c2dd5ec36968958L,0x31820ca087921665L,0x0b7f0d337ca55668L } },
  59511. /* 45 << 294 */
  59512. { { 0x0b099a5afce6c55fL,0x91d1caca408dd628L,0x42a5181165449db1L,
  59513. 0x540935b040715d49L,0x8feabc5433b00823L,0x7107c06240c2485fL },
  59514. { 0x13f307ac4fea64e4L,0xae4ec4a713a04327L,0x8297be380eff71f5L,
  59515. 0x3434286f1ecd0b2eL,0x4d7a5456a3e9d625L,0x657f950b6a0d04e2L } },
  59516. /* 46 << 294 */
  59517. { { 0x2237f78ecebadb15L,0xa1184339da01f9e2L,0x542c3354ef37abd1L,
  59518. 0xbec90883de982d70L,0xbacdbb9c457d3024L,0xf1d167c19840ea52L },
  59519. { 0x9ed827d8433bd3cdL,0xf4e5b4231102fdf3L,0x2038c92fb63d6056L,
  59520. 0x490cb0188eb9ae35L,0x776331b87c75ffc8L,0xafbe7c6a3fe2e400L } },
  59521. /* 47 << 294 */
  59522. { { 0xf668460c9176a02dL,0xa843a70011d322a2L,0x6424f0e8a8c5d1c8L,
  59523. 0x0b45a1ab1bc440e5L,0x3b740cb11c3e391cL,0x5aaa89c4d5850e1bL },
  59524. { 0x77739ee6d632c592L,0x171fd350fffe373cL,0x6a648fcdbd7e83beL,
  59525. 0xd98650c6b619f4d5L,0xa4e4ae5438dea07cL,0x10001f5afe0bf5c1L } },
  59526. /* 48 << 294 */
  59527. { { 0x31cb896b57dfc732L,0xc6b74a1edc323e91L,0xd24a41d0f11b04f6L,
  59528. 0xb609a26dab8f7159L,0x96d84b372adbec34L,0x154f5307d24ae7f6L },
  59529. { 0x36dd3243e10eb34cL,0x055d3b714f6dbbd3L,0x30b1efde36d0c561L,
  59530. 0x3846925ce9bffd15L,0xaf401286aa99ba07L,0x3a191267fd48b839L } },
  59531. /* 49 << 294 */
  59532. { { 0x67145f18e42a26cfL,0x580857fa491122d7L,0xa4e2db8dd03b5071L,
  59533. 0x47a39a0d3e379882L,0xb6bfe4b35970766dL,0xe40f4daea8bce767L },
  59534. { 0x38f199a7e812a217L,0x1407f98d97eec7caL,0x25d6f750236a41a0L,
  59535. 0x644327340e811ee6L,0x84d5d9c9dddd6e5cL,0xc1b6ef13c44cae4eL } },
  59536. /* 50 << 294 */
  59537. { { 0x79879d4f6714e8daL,0xce409617a17abd07L,0x6f2b14d008a6e685L,
  59538. 0x817d467409b5e150L,0xa1181873eb51b966L,0x573ba855da6b9544L },
  59539. { 0x836ec3e5c4a37013L,0xb8da1bbe93fded69L,0xdb5bb6f16edff4c1L,
  59540. 0xff30b837f1657d36L,0xa20cf000223270b9L,0x29d60562d44a57cfL } },
  59541. /* 51 << 294 */
  59542. { { 0x0d6f36b9b98b029dL,0xc4cd72d07a371233L,0x23bd419e4f95cd4cL,
  59543. 0x2c95b0a2b80d1e13L,0x0f76e62f7edfbef1L,0xd077194dd303a470L },
  59544. { 0xd6e20e7cd1b50934L,0xf4201fca2dfeb806L,0xa57dc150bced28faL,
  59545. 0xa84d621be3172301L,0x119768fe9aa14d6dL,0x34f1ae864b363253L } },
  59546. /* 52 << 294 */
  59547. { { 0x2fc83aa3afabd13dL,0x521b745f53c45a27L,0xc6f345a660c18225L,
  59548. 0x9609076eb5faa47aL,0x8bdd97fd535388fbL,0x8f5f3bd6e7fd7e87L },
  59549. { 0x6de4454c1c8e1d5aL,0x8d61ca3b2b35e823L,0x93b66fce4672d30eL,
  59550. 0xcb9d601721d09ec5L,0xef98137fb1de06eaL,0x45e212758b051877L } },
  59551. /* 53 << 294 */
  59552. { { 0x117b89e9ee6e35f7L,0x2ad205aadd203ed9L,0x3f6c950c0689bd4dL,
  59553. 0xaba1e4b342f20742L,0x67464b793e22f0d1L,0x74436dfdbe0ad6c1L },
  59554. { 0xc4a6e964c1470ac7L,0x853ad39b361da35bL,0x261c6fd6a187a6abL,
  59555. 0x08d7e89d59fb860eL,0x158e2697e8f88299L,0xf3f1f6f34b04a8ecL } },
  59556. /* 54 << 294 */
  59557. { { 0xbdfb8d006b562705L,0x76dbc217ed9f2aaeL,0x62f713778cfd02ddL,
  59558. 0xa05eed177a5d27e1L,0x60082379a006983aL,0x312af914bf7c2c05L },
  59559. { 0x7d163fe76c8500fdL,0x722a35299d4d0dbcL,0x9b4c5c3539f93a78L,
  59560. 0xb193734c34c7ec06L,0x457db178cda87a84L,0x088dae087f816e0cL } },
  59561. /* 55 << 294 */
  59562. { { 0x746e73055896ac5dL,0x1d8326c21a7b69f1L,0x695197743132a40dL,
  59563. 0x3899f8a03f58720fL,0x2c3070a5df0b7fb2L,0x49bc59f2acb839e3L },
  59564. { 0xf7d5d3f66b8f5a9aL,0x704ed893a4c3b570L,0xbafde26cab591c03L,
  59565. 0xc447dac83388a62bL,0xda80991d4416acfeL,0x1625c9151e729d69L } },
  59566. /* 56 << 294 */
  59567. { { 0x3104e59e6b843647L,0x4eccb42720bad138L,0xa575b8e150efd6a9L,
  59568. 0x68a6b7055a6e4729L,0x670306798f5b2a22L,0xb2cfcf81df9253bfL },
  59569. { 0x9c3eeb19b8f81c39L,0x082ca86c986b4dfeL,0x1f64eca250250d8eL,
  59570. 0xbf26bcfb67f0c713L,0xbc5d0e2a49b609cdL,0x175acb34e6aa3c76L } },
  59571. /* 57 << 294 */
  59572. { { 0x5237d7368c53aae2L,0x2a88098bbdbc0b10L,0x18f1af11cec6db6bL,
  59573. 0x12c23392c4e08b3bL,0x23b652bf3eab43f3L,0xb79feb949f3dca0dL },
  59574. { 0xb71e311d2b24e0d9L,0x85e48aede37a0f90L,0x93e8a0e753200b6dL,
  59575. 0x5d44b87226bf3a30L,0x466c31d1d0496b98L,0xabec12f7dd39874fL } },
  59576. /* 58 << 294 */
  59577. { { 0x58bc23928ca41326L,0x0744ba8524aa5067L,0x900e7e9baaf80bb2L,
  59578. 0x510bd122aff38fe1L,0xf90dd6a1002b277bL,0x829379dc81bf7df2L },
  59579. { 0x5443b8736372d502L,0x124c2abab5b6f9a2L,0x88b237a4d6020c14L,
  59580. 0x3542215108f7a498L,0x39e84240e6234eb1L,0x43d721dfcc5827eaL } },
  59581. /* 59 << 294 */
  59582. { { 0x43e7597234658dcbL,0xed936b96bdf3a7caL,0x74acb7f60f1923abL,
  59583. 0x6a52b28cc007995bL,0x5abf2909a560fbf4L,0x79d571dd256bf1a8L },
  59584. { 0xa8d51082e4c3281dL,0xc0d6f8aa0b9fdd38L,0xd589f2c57ac30640L,
  59585. 0x6abb8faf07635c58L,0x2af1b083d7520b0dL,0x18b9f6c893b951fdL } },
  59586. /* 60 << 294 */
  59587. { { 0x32e678b4c1ba956bL,0x9e8b137248f32982L,0x9b380a118a8f262aL,
  59588. 0x5c2d6ce0807f6d1aL,0xe99c2e909f1b3fa2L,0x6a0c9e4a7c4bb836L },
  59589. { 0x30d80329ee8dac83L,0xabcf7b76b60bd5fbL,0xc589a0c8c14d56d4L,
  59590. 0x9e40af665de24d43L,0x932f4070230f8331L,0x96bba1c19b87948dL } },
  59591. /* 61 << 294 */
  59592. { { 0x8b83af0c4efaae9aL,0x25e55686770c85cdL,0x0beda54fede0c999L,
  59593. 0x6c5749398d249a2eL,0x520ac2ba2f476146L,0x162e482de95b05acL },
  59594. { 0x2d3d19b6c73a32daL,0x945e5e3c33fd2c48L,0x361d9770a36b4ee8L,
  59595. 0x8aed760d014cacb3L,0xae66e5de5ae302c7L,0xb5fd5959b5d4d6a4L } },
  59596. /* 62 << 294 */
  59597. { { 0x25df58ff147da470L,0x1b3941ec3f4e3e98L,0x7543b1227aee3587L,
  59598. 0xb7bc2b31b4a28218L,0x8628b5400bb3224fL,0xe3e7644d373222e6L },
  59599. { 0xb4e3269299244dc9L,0xe72c679d49781bcdL,0x894d9eb0bb6f0700L,
  59600. 0x4a08cdbc443c3639L,0x52c4d04e5baeb02cL,0x53f550ffb5f93552L } },
  59601. /* 63 << 294 */
  59602. { { 0x2b908f693c1f524fL,0x59fd6ae7090970ceL,0x595e15721eb9ec29L,
  59603. 0xa55adbd6fbc4f04cL,0x575a2344bcc38bf8L,0x89397944f2b659b7L },
  59604. { 0xc77532a18c87fe8bL,0xa5a75677de4c9eefL,0x2e3d873a0e4a1704L,
  59605. 0xe18ff4fcc4d02aa1L,0xd842074275573a79L,0x0fcb532115296dcbL } },
  59606. /* 64 << 294 */
  59607. { { 0xbcc88422c2ec3731L,0x78a3e4d410dc4ec2L,0x745da1ef2571d6b1L,
  59608. 0xf01c2921739a956eL,0xeffd8065e4bffc16L,0x6efe62a1f36fe72cL },
  59609. { 0xf49e90d20f4629a4L,0xadd1dcc78ce646f4L,0xcb78b583b7240d91L,
  59610. 0x2e1a7c3c03f8387fL,0x16566c223200f2d9L,0x2361b14baaf80a84L } },
  59611. /* 0 << 301 */
  59612. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  59613. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  59614. /* 1 << 301 */
  59615. { { 0x7a1a522b246dc690L,0xb563cbe14b61ab70L,0x41bb4abe3d4ac4abL,
  59616. 0xc52950b337f996e8L,0x01d991e679727761L,0x35de93bd978fd7d2L },
  59617. { 0x86bad5e65706d336L,0x10844155e7f26c20L,0x58ffeb7705757453L,
  59618. 0xbb1861293939df77L,0xbfdd394a6a78ea0fL,0x907ff0546e33e1d3L } },
  59619. /* 2 << 301 */
  59620. { { 0xa7f295320df93b34L,0x855934f25c14df30L,0xd2f54ce9efae348cL,
  59621. 0x5acb931cac52758dL,0x287b3e18d22961a4L,0x42a5516d748f8fe1L },
  59622. { 0x1b62b341877224caL,0xaff58db3d30a4aa7L,0xbad78dadbe8da847L,
  59623. 0x85fa710954f18276L,0xe2cc9d287c4bfdadL,0xbb131f762c75f237L } },
  59624. /* 3 << 301 */
  59625. { { 0xcdcdd7d703844670L,0x79ec59afb4a23f91L,0x5923c569c00ce5c3L,
  59626. 0x099c17ffc589d0c7L,0x0335eeea89fa6fe6L,0x916bcacaa4e868c4L },
  59627. { 0xb7037325fb687bd5L,0x57d6bca79853b564L,0xdf3132efd5e26d28L,
  59628. 0x7ed994b8de919cbeL,0x12df67cd6fbbb18dL,0x516e07c06baff508L } },
  59629. /* 4 << 301 */
  59630. { { 0xf2ec9ef597e833e4L,0x97bdef9734ec7e41L,0x90e2b2387d2ac6e3L,
  59631. 0xcf682b120318a3b7L,0x7fe76089ea84a7a0L,0x85c489f916546d05L },
  59632. { 0xf987118f6abdda05L,0x675cf998aa4b95fcL,0x544c7774888a7e8cL,
  59633. 0xbd2647ba63ec5831L,0xb479cea3fd2fe985L,0xa042134528d163e8L } },
  59634. /* 5 << 301 */
  59635. { { 0xd93506a4e5947c6fL,0x4340d76a39b81d08L,0x741aee5917930d30L,
  59636. 0xfea3d99a18fdb81cL,0x1088ff6b289bcb07L,0xc6b45602b7c082c6L },
  59637. { 0x50e2baab453d8d69L,0xda9bf561e893e183L,0x0af25f86b29a284dL,
  59638. 0x0e92e67473e01380L,0xe173a0e32be00e59L,0x402d2f3dada8954aL } },
  59639. /* 6 << 301 */
  59640. { { 0xca9cb3890399721dL,0x03ad9f4aa3291479L,0xd85b5df56dee003dL,
  59641. 0xe1fa7b0264a4f83aL,0x01c4cbfdb73f7324L,0x707010d45cf2ddf4L },
  59642. { 0x3c6df430b12e02f8L,0x921a290185531489L,0x302fc77c91d1022cL,
  59643. 0xc3733ec0342d8f3fL,0xb83bc75f6195a665L,0x4a14b9e7a79f8027L } },
  59644. /* 7 << 301 */
  59645. { { 0x9f0e5428e2a57359L,0xc690a3c714998c16L,0xd73c3ca2de37e07eL,
  59646. 0x2ddf91b8dba0bc0dL,0x69d834b27570ae71L,0x2ac8bed4735195a6L },
  59647. { 0xcd8c51ff3b1fcc5cL,0x7aa8cf4e1ba6863fL,0xebb69e72ae70f428L,
  59648. 0xa29409dfaa9e936dL,0x43f6ee805a332b9bL,0x0de49efac2eab0a9L } },
  59649. /* 8 << 301 */
  59650. { { 0x04baa1762310333eL,0xdc75e35f7b9bad46L,0xc4a6031dc6cd6108L,
  59651. 0xba2534d030bf87a5L,0x7ebc6e2131e497ccL,0x8a2a82b4851fd665L },
  59652. { 0x9ecae0116d5faf40L,0xfa3a6d7f96956ecbL,0x39e8a9c22fa52782L,
  59653. 0x74c93801236d442eL,0x8b21ba23b1c289ceL,0x7f3e221b25c769cfL } },
  59654. /* 9 << 301 */
  59655. { { 0xed800e4d08aa4dfdL,0xf524b107d8105bc7L,0x8c4addc9ab07fc03L,
  59656. 0x2b0f038d26a71b4cL,0x5055c471a83d19a7L,0xc6c5ecba27e20a5bL },
  59657. { 0xdbad26b7aaeaa017L,0x4e3abc20d2493554L,0x626310143a0c15bfL,
  59658. 0xbafcc06798cec55cL,0x9204e17ce6f87607L,0x8f1c10eed9302c05L } },
  59659. /* 10 << 301 */
  59660. { { 0x53680ce08afe59b9L,0x36a3cec75665022dL,0xb3a5091654490b50L,
  59661. 0x803d383f0838f0aeL,0x65531a008005ba2eL,0xb7fa6b4a1241a17dL },
  59662. { 0x9aaec449b17e07bcL,0x19b7d9113d190dd0L,0x79da42457fa5e7feL,
  59663. 0x725bd045598ad850L,0x49f96cc45f94ee82L,0x114bbcbf03850eefL } },
  59664. /* 11 << 301 */
  59665. { { 0xf566a287d43a6db8L,0xffb8944b2aeb120cL,0x3e7099427e294c1aL,
  59666. 0xce122b126c31214eL,0xe59b280c2a21282dL,0x03916e2ba01a4fc6L },
  59667. { 0x56e65da29f5e409cL,0x374d3dfe7f5c3e11L,0x150684fc13967e2cL,
  59668. 0xfbed4f5bdf4bc38eL,0x5973c67182e54b82L,0xcd36c873363f307bL } },
  59669. /* 12 << 301 */
  59670. { { 0xcb42c5617c3805d4L,0x0e74e75c3b43a8b3L,0xfd58f864369f579dL,
  59671. 0xf471aa774a3dfe97L,0x2e0dbb51ab37bd2fL,0xc4704487729c887bL },
  59672. { 0xcb7958a9cff32948L,0x3e36de368505e71fL,0x2232fd2dd38ccfbfL,
  59673. 0x6f3c502042005175L,0xd1280a3e306fb63bL,0xef7abd792e368ee9L } },
  59674. /* 13 << 301 */
  59675. { { 0x29c5712d56ffcac3L,0x20307670e1a8e0eeL,0x676a23c26356aea0L,
  59676. 0xb9c17e3f432f15d5L,0x0008512e287c5705L,0x6ae2704bc5f7ccfeL },
  59677. { 0x6a200db709a13b60L,0x24fb1e9241043271L,0x2e455e9741b766a2L,
  59678. 0xa11ff26fbe056684L,0x3cfb8a64ad9178ceL,0x5786978d5d675b79L } },
  59679. /* 14 << 301 */
  59680. { { 0xf4cf2c8e6070a72cL,0x0bd73aecabc3251cL,0x1af44eff17539f67L,
  59681. 0xec3ee99e44e8d8f7L,0xba698f6a279afdf7L,0xe871accfb771d4a1L },
  59682. { 0xbf92963d8bb0f264L,0x817b1fcfb10716bdL,0xf57580786b23076dL,
  59683. 0x994ff3c535a994cdL,0x05d984e82604847eL,0xd728e292fc9f2e43L } },
  59684. /* 15 << 301 */
  59685. { { 0xa44bf023b900b696L,0x1f82fe54037bb770L,0xa6d12f820717e747L,
  59686. 0xf154ac51e3b83029L,0xfbd343128cf3984dL,0x7f734beaa76c72c2L },
  59687. { 0x05c5b443114548b9L,0x4ce414f396af4132L,0x1474c0b79d080a7aL,
  59688. 0x865827c6497366a3L,0x34760c457816a0a8L,0x6da2474c15d2a176L } },
  59689. /* 16 << 301 */
  59690. { { 0x761e10e2ca114c4aL,0xe39d121d894301b3L,0xa0870ff43dbc6fcaL,
  59691. 0x97651286cbe0ba8aL,0x47d46075c0f1ff6aL,0x18669c843abeb5b6L },
  59692. { 0x1234c80ead8d9309L,0x1ccbe4d51f6f97ffL,0x399a2d41d82ab780L,
  59693. 0x8a03afafde426e50L,0xa2bcb109ca6dde77L,0x840e13b00618f5ecL } },
  59694. /* 17 << 301 */
  59695. { { 0x9552a8184929f7eaL,0x514e9ce9acc61766L,0x03159a525a219015L,
  59696. 0x5efeebfa14eace54L,0xe8a3736f853da94dL,0x3a0f334ff45e8a32L },
  59697. { 0x71ebab39c9dc65c9L,0x6ef37f49d7c24f39L,0xde3d45f8b24a9383L,
  59698. 0x7193bbb80c218869L,0xa1bdfd30c0f7b6beL,0x82b2c4c5c1d9206aL } },
  59699. /* 18 << 301 */
  59700. { { 0xf9d9b678b197099fL,0xfa8548c4c15b2bbeL,0xa36f17fbdd2817beL,
  59701. 0xb35597021732d1edL,0xba145100744f3955L,0x7c274633344b43a3L },
  59702. { 0x9b0ee7c8686b65a5L,0x438eaf4823f0e973L,0x79a658a7288c5019L,
  59703. 0xf6d938c546d04413L,0xe39bf9a6a6cb9853L,0x880d5b83801b70ddL } },
  59704. /* 19 << 301 */
  59705. { { 0x8f23f00303825482L,0xc4a9f214a6b35023L,0xf0905573794e7de0L,
  59706. 0x7ff790144dd68979L,0x8d9c14942959beffL,0xdb34474f82282e48L },
  59707. { 0x423bdfa281fde794L,0xfc31e3e792a8810bL,0x19d316ba8bae4eceL,
  59708. 0xddcf30b7159c1386L,0x997968a38e7d69dfL,0xcf67ae9aa6b21be0L } },
  59709. /* 20 << 301 */
  59710. { { 0x877866a3697b4dd0L,0x32a872f4e76481aeL,0x300387bad609cc04L,
  59711. 0xc761ae79d74566d4L,0x9fd3e5bff22e2d24L,0x363ef5bf1c46bc0dL },
  59712. { 0x121b25bce299a690L,0x7932471dc2d32b7eL,0x7f89692e94bb4272L,
  59713. 0xaf9cc4111a3ce076L,0xaf02ea22ea02e452L,0x43154e581d19dc60L } },
  59714. /* 21 << 301 */
  59715. { { 0xd9389e05e25dbe97L,0x3a8689b162b3afe3L,0x4d5556467014953bL,
  59716. 0xd6894c42af5ba9bcL,0x4b233690b3bacaa6L,0x0fc8ad07fc191181L },
  59717. { 0xcd3a1e4df0764f39L,0x18a47233d79567f1L,0xf0f9eb765f921f79L,
  59718. 0x7f3d814d19d12a7fL,0x5e48cc36ff33a995L,0x9589679b8960331eL } },
  59719. /* 22 << 301 */
  59720. { { 0xa2ff78bb477d7226L,0x3216fcc085e04a8bL,0x7c594f81e4c3c24aL,
  59721. 0x075eefaa029d6ef6L,0x5ae51000493ab006L,0xcdfcc6939ab165efL },
  59722. { 0x50b7eee276073bfaL,0xee52d55b3b60cdb4L,0xc7f7b3af45027275L,
  59723. 0x01d5444ac15b2ecbL,0xdf56f8c12a61d1e1L,0xcf032e7e4992e1bcL } },
  59724. /* 23 << 301 */
  59725. { { 0xc8a4dfbf15b6d8d5L,0xcb34e0e4e87ff88dL,0x6dc95befa6ebbff6L,
  59726. 0x2a55ca1372ff2cc0L,0x3c4c0f3c6a62588fL,0xa8de444ece156917L },
  59727. { 0xced7c4523e55eba1L,0xa109b7949f05820eL,0xa021717e0e6c318dL,
  59728. 0xa0156b8d0b308f5bL,0x3c65ab9daa6634baL,0x1666e650e2839e0eL } },
  59729. /* 24 << 301 */
  59730. { { 0x0d27500f9ebe3c40L,0xeb9ac1022b700fcfL,0xee7578f8610763e3L,
  59731. 0x6e56078f47ef08feL,0xa8d03a7f047d04c0L,0x2143606f27cc8aa3L },
  59732. { 0x6b08eb383b004721L,0x1f505c0dc4e36bb6L,0x6f9b869ae3f10ba9L,
  59733. 0x3bfb9833e500e846L,0x6d975557b9171b1aL,0x7af9cf4f18fa0045L } },
  59734. /* 25 << 301 */
  59735. { { 0x35bfb51b3b35836dL,0xc834e59003b0fba6L,0xbe6e17d378937ce0L,
  59736. 0x2f796f7c4daa9aa8L,0xd7896a0ad310eba9L,0xda258ab05ea4056aL },
  59737. { 0x2d872d2170626628L,0xc9b26d7c2ee433f0L,0xb176220ee72f7491L,
  59738. 0x4869adcd895e9b52L,0xd37540e4d3a6d786L,0x024aff303a86b44bL } },
  59739. /* 26 << 301 */
  59740. { { 0x5e78606bd8424b90L,0xc83a5af9ebc9c9fdL,0x8d5b63740b65ada7L,
  59741. 0x4d01d6a221fca70fL,0x8ed7787ba1838061L,0x29901318f4a1716eL },
  59742. { 0xc4d260527f25fd2dL,0xa66dc0a98b5147e0L,0x4355e26c269d726fL,
  59743. 0x1284fecce3a27644L,0xc9aa6cf7f98e1d0aL,0xa25ac1be3ff560c9L } },
  59744. /* 27 << 301 */
  59745. { { 0x5bbb87ded64d103eL,0xcb53a2f24d20fb37L,0xf8a9c2993a46b892L,
  59746. 0xb552910ca793aa9dL,0xd09e5bea51ef0806L,0xb57a0568e0c3817fL },
  59747. { 0x9ca67c5f4e85598fL,0x04f6361fb0336008L,0xf028231b580afa5aL,
  59748. 0x8d938c0ef2bba03cL,0xa5984c1f894f37d3L,0x62ead7f4af695ac5L } },
  59749. /* 28 << 301 */
  59750. { { 0xf897de9213a48775L,0x505e21681b0041bbL,0x9f5533aad598ebb7L,
  59751. 0xd552ae1e1e87b2fbL,0xbb35a6319b736f5aL,0x391ce7dcc3a4c54aL },
  59752. { 0x4c677d87f90124d6L,0x2ceebe51a9292210L,0x8882ae3133c63951L,
  59753. 0x8222c6482d44c9d0L,0xb97511420d607658L,0x3a999028b85f5997L } },
  59754. /* 29 << 301 */
  59755. { { 0x7b23f424eabb3f68L,0xa622a3ba4294750eL,0xb382b118e535b446L,
  59756. 0x7dbab9ee5fab292cL,0xcfabbfb037fe2f8eL,0x2283d7606670925bL },
  59757. { 0xd18e90715be9d07fL,0xe191daa7d257745dL,0x86d59808df915e35L,
  59758. 0x87f68d5987370b6bL,0x76b9d255f945ac1eL,0xdcf9e8f2dc94ddbdL } },
  59759. /* 30 << 301 */
  59760. { { 0x004f1db65b986506L,0x5da683c32b0d22acL,0xf2afd1d85ee0c71aL,
  59761. 0x3b99a78a8f2ad25bL,0x8145d2ffd1c0cb69L,0x4511dc4e4009a536L },
  59762. { 0x5539e8b8a5cb0c13L,0x4f8fd0186aae4603L,0x15dde4476d2365f3L,
  59763. 0x7cb887f7380df270L,0x815343a6a741b88aL,0x81a085e4bf99e7e1L } },
  59764. /* 31 << 301 */
  59765. { { 0x37d0460fd647fbd6L,0x2ccc7b01b9541f89L,0xec0e8826877a1b2fL,
  59766. 0x54d9e611cd462979L,0x016e8458453dcce6L,0x99b5dbed20ea6a24L },
  59767. { 0x64072ec778550386L,0x279fbd9959d02307L,0x7f2ca27e9183bfebL,
  59768. 0xa191d6e8bb5132f5L,0x2b9f6163ba49ee68L,0x5a58a11fa3ee1672L } },
  59769. /* 32 << 301 */
  59770. { { 0x15d47e52ec645a62L,0xabe0ddb38d6d4423L,0x51226a3070cddb11L,
  59771. 0x63a253d32b5a8db7L,0xe8be4d1fbef37d65L,0x41e625d9c0920b91L },
  59772. { 0x08b713a8d9d040ecL,0x467fb08dc450cdbaL,0xa8975877917ee393L,
  59773. 0x294792e91528cd12L,0x4512dc8c37daf6aaL,0xa83becc9197a99b9L } },
  59774. /* 33 << 301 */
  59775. { { 0x1b7bfdb118815b20L,0x1aa602e8629b81b9L,0x11e6df9d199aa5abL,
  59776. 0x1a521728bef9296aL,0xeba3e03b89e127e7L,0x6e69893553dffcf2L },
  59777. { 0x24355785101615e1L,0x126b4c5282e42593L,0xe344ddd85c23144bL,
  59778. 0xc73a49b3746c0ca2L,0x1ec2432be6f63f9bL,0x6080ba870243120bL } },
  59779. /* 34 << 301 */
  59780. { { 0x6ab2936a4c3e946aL,0x8de2e0ae3ab052f0L,0xcaf8c35eea109739L,
  59781. 0x21d69383032418c8L,0xefab535ae7ee60faL,0x1a3a1be794b44fabL },
  59782. { 0x0842aaa5eb911cbbL,0x789c2b7e0286862dL,0x8bff708715c0b148L,
  59783. 0x71100d79d8d7faf7L,0x47caa89a6dfa0c8fL,0x82385cf44b546332L } },
  59784. /* 35 << 301 */
  59785. { { 0x4f5d8c35e4b814fbL,0xe534b7be6a427f92L,0x468fb2819ca1d37aL,
  59786. 0x8c1c86347949961cL,0xf9d00305db0f7f19L,0x77534b3a976f7102L },
  59787. { 0x94ecb7933f530710L,0x072f6fc7a916827aL,0x9247acdecc926f8eL,
  59788. 0x0d4a8997281d0a50L,0x659712669f353507L,0xd4730a15fde80a6bL } },
  59789. /* 36 << 301 */
  59790. { { 0xde68ca25bd37b630L,0xcfa9d32ca899d623L,0xaaeab905937c9ba8L,
  59791. 0xcb261334348ed39dL,0x8d12531fc77e1512L,0xfb7934b6213b63d1L },
  59792. { 0xc6a6fb0096a13f19L,0xe940f3aac8f88d6aL,0x014c7f95c3d2829dL,
  59793. 0xc33d87e9fff01f41L,0xbf9c3c23c5cdcb4bL,0x8b8c0afe5d5be5c1L } },
  59794. /* 37 << 301 */
  59795. { { 0xe4f84bf12aac2c23L,0x5bde1744f823f90fL,0x65ffefbc02d5bbe2L,
  59796. 0x385aff9332a3b756L,0x3813f2b362abfdacL,0xbbb444cb0a144325L },
  59797. { 0x0cf9d137ec625be1L,0x86b8fcd4c143816bL,0x03f7a9d060ac32d8L,
  59798. 0x0428daf9366165b6L,0x6ef94260d2a806d0L,0x94a100a598134bb5L } },
  59799. /* 38 << 301 */
  59800. { { 0x4b68325ca4a34cb5L,0x74f41f7639fada89L,0x34bf397236e593e7L,
  59801. 0x0cc75d461c6179c4L,0xe62d5ba577d711e5L,0x7bec1be7876964c7L },
  59802. { 0x768f35d13809fc73L,0xfe55a9a57dcf1703L,0x86405336e69d3390L,
  59803. 0x68f5ea2d00bfc544L,0xd4cf822b4834b2d8L,0x77dc1ac22b0d3ad6L } },
  59804. /* 39 << 301 */
  59805. { { 0x45603dfa0337f57aL,0x50623184344b6968L,0x3fb9957ef160d9aaL,
  59806. 0x40eef1697c8db44fL,0xa8f394e98bf71121L,0xa55ecf3b86a920f5L },
  59807. { 0x1f3c1f22bb0822e6L,0xb3c2f21357747a3eL,0xfbdb4465bef56f08L,
  59808. 0xa9844890a46ac73fL,0x3fd564a5bde3652aL,0x008cc1a97c653c82L } },
  59809. /* 40 << 301 */
  59810. { { 0xcfebe027ca0a98d5L,0x946b0d9aa8914697L,0x00f89d16725ebd08L,
  59811. 0x94c6f2b07a584e8dL,0x095ac9cc911cab58L,0xfc9c3b499c4073c8L },
  59812. { 0x265919b0c7233aa8L,0xe6c0c7f474be5217L,0x6db597f1815a70a9L,
  59813. 0xdd9e4a101c5fd35aL,0x38b8e35112d52a8bL,0x5d0ed83f2ef20fabL } },
  59814. /* 41 << 301 */
  59815. { { 0x4f47e10a6c96b43eL,0xe406ab39f3d744deL,0x1caf45d83c893b01L,
  59816. 0x4f089452a7582ea6L,0xc02f58cd62b5a868L,0xf6532017c2a9aa7bL },
  59817. { 0xf0d8bf6f32b01bf2L,0xfeec5f68a97246f3L,0xb2ead70a1aa7c238L,
  59818. 0x1a1d6f77ad83e05aL,0x4b7110533dca7e9aL,0x44a89fb85f96e5adL } },
  59819. /* 42 << 301 */
  59820. { { 0x86a7ebe0f02461f3L,0x6a7a9cc6862282c9L,0x7f8857944a97e48bL,
  59821. 0x191244cd20662db2L,0x8d85175183489311L,0xfbcb17b0f934c1fdL },
  59822. { 0x33b4d86e032a7bb3L,0xa99864cb573f5c28L,0x49fe8e799c4f12cbL,
  59823. 0xe34c32e32c8bb49cL,0x5888421e962d6d9bL,0xa317c2d1bf1be44dL } },
  59824. /* 43 << 301 */
  59825. { { 0x3454c424cc1dcbbfL,0x67e61434aac98717L,0xfecd8125cc2d3044L,
  59826. 0x2032be70df7f8891L,0x04c5a0c81028059cL,0x6563dc8c76ade6b7L },
  59827. { 0x9ff3815192f460aeL,0x8c2c3c632d54785dL,0x1fa99d8e43eabf60L,
  59828. 0xd75d9559383be317L,0xc9ef068e3dfc908eL,0x2217c8c1959d3e6cL } },
  59829. /* 44 << 301 */
  59830. { { 0x5828d71bf2e5f345L,0x8b756075929fe375L,0xca625ec12c43a6d1L,
  59831. 0x08cd01f53b31e127L,0x56c622619cfc1be2L,0x093ea207b3a6caeaL },
  59832. { 0xdf53b20970b42dc9L,0x2d2dfdf2235f4aa0L,0xcaac3b3598786c94L,
  59833. 0x1ce1f893b4998150L,0x40341c41526a98bdL,0xef39e97eedce5288L } },
  59834. /* 45 << 301 */
  59835. { { 0x08cd60d461ea4256L,0x8031748b9461f861L,0x9c96e1f9019c7908L,
  59836. 0x7e6e08f4e46bcf7dL,0x8e8408f123ffa986L,0x0bee857ed467288bL },
  59837. { 0x702fa8536e36fcceL,0x3bb25fa905a89edeL,0x642105f4e96866ceL,
  59838. 0x6a5207cc16e37536L,0xcb6a96d1372a3e06L,0xb1c7c85a1da6bc6dL } },
  59839. /* 46 << 301 */
  59840. { { 0x0bb97497a97a3316L,0x9416659ce402a800L,0x79656970503a2314L,
  59841. 0x0070a7eef8007c50L,0x8093cd4372624892L,0x4c0ee444f9b96830L },
  59842. { 0xc7c10b9fe300c49bL,0x97f5f90a5f7baf99L,0xf04a5a7cfaa064deL,
  59843. 0xd5b01fa6b0c111fcL,0x4d12d6fb65d8a2b7L,0x807a381c27770e2fL } },
  59844. /* 47 << 301 */
  59845. { { 0xcd1aeeb43b6a9c22L,0x7fbdc6c19d71dcd0L,0x9bb43b6e6221669eL,
  59846. 0x1b76f2bf526f8a00L,0xaeba54302efdf661L,0xe1f623e745537bbdL },
  59847. { 0x340966ae067c5f4aL,0xe2cdb27e4799b2aeL,0x9aeec5989b8458e0L,
  59848. 0x1d0588487655b632L,0xa5ffe5897abd70b1L,0x84db43db6721054eL } },
  59849. /* 48 << 301 */
  59850. { { 0x3b21dc1f538d92d8L,0xc80b22b3c005aa86L,0xf536e5d30da87d65L,
  59851. 0x4ce10edf0cd999a0L,0x8949181450e08f5dL,0x77fd8f2e526647e6L },
  59852. { 0xcb207ee9250099fdL,0x03c7d1abfd6aa078L,0x7d4940d225e0cf15L,
  59853. 0xb688b311067fa052L,0x89308326a98b2e21L,0x3ee4cc2b72311eabL } },
  59854. /* 49 << 301 */
  59855. { { 0xec49fc4e06d255b2L,0xabd0c002fb309d28L,0x97490ff08c601c3cL,
  59856. 0xe17102fd58042cd6L,0x861411f11416ebc3L,0xfb31ce455c6c630cL },
  59857. { 0x0a24d561c6cc5e9bL,0x80bec25c9a7c1524L,0x8003494fbe53e50dL,
  59858. 0xe89b75e28633c559L,0xafb1f6d6763b3360L,0x0e7e58c52bf70cd3L } },
  59859. /* 50 << 301 */
  59860. { { 0x72322d26aab6c9b5L,0x953e43d0070d7d08L,0xe2dd5444954645c3L,
  59861. 0xc5de051cb276ca86L,0x195d454439158c74L,0x26e2cf9fb90a8f97L },
  59862. { 0x774baec15b217a76L,0xdba4bc63f94172baL,0x96ddaa4022e20037L,
  59863. 0xfe1ce4aac111af69L,0x6f6d3c428ad6dacaL,0xe59257d8376cdefeL } },
  59864. /* 51 << 301 */
  59865. { { 0xf2cabe73184d44ecL,0x4bf744d60bb08687L,0x10cb9e9209865d58L,
  59866. 0x3a63fe414ea221e0L,0x8f595e5892961becL,0x1b8ad036855d186cL },
  59867. { 0x75dd5f70086542abL,0x8b357e087bddbb6bL,0x22de89f06e829a06L,
  59868. 0x44ca8b64ecc6cc26L,0xd02fa871a5ddebb6L,0x6adf1d0c6a60a0e3L } },
  59869. /* 52 << 301 */
  59870. { { 0x0102775982e4f5c3L,0xac8eac172c014fc4L,0xa0cd26e85bd843eaL,
  59871. 0x9b0431ec056d4b1fL,0x89df7db58eb9c55bL,0xf17f917298fc9b9eL },
  59872. { 0x2cf1e4a78e6b770fL,0x0d6ef9e2b842fe52L,0x40b4ddb76c578172L,
  59873. 0x6630657627533b9eL,0xf8d8661eb50ce390L,0x6ceba0aa16577df7L } },
  59874. /* 53 << 301 */
  59875. { { 0x6dff66c19ec8ac93L,0x6261295bfdf6fe7dL,0x9ad1536fcf9fbbb2L,
  59876. 0x5cfa30a92a6d6d31L,0xb3bcf1b0296224dcL,0x42e4b410608371daL },
  59877. { 0xd6bad6dac32945fdL,0x0fab7d1dc0c031a1L,0x054df9599b192d32L,
  59878. 0x29830094ea78052fL,0x8d73ffce03f2ce45L,0xc14c7012f9d840ebL } },
  59879. /* 54 << 301 */
  59880. { { 0xdf74522e74ce5c21L,0xf864cbac930c4b92L,0xfe0d2358eb0fbe9cL,
  59881. 0x10b31736a5cf765aL,0x185bbbe96a9c95c6L,0xcb14d694e5362993L },
  59882. { 0x3f5c921da5332e61L,0x0820b32bd244cc98L,0xdaf09f24d7c32062L,
  59883. 0xb2241c9ad5959a1cL,0x16bb89a3226127ddL,0x0b46e3f03723d04dL } },
  59884. /* 55 << 301 */
  59885. { { 0xa38b1a796975230aL,0x25c6db8c3991b5ceL,0x0d89c3fe9c1bf52aL,
  59886. 0xe186e293cd8f9f8cL,0x777bb327e6ec37afL,0xa974132a0ae31c7eL },
  59887. { 0xfb9918305c50f089L,0x4a653d6999497954L,0x5055c690774e8a26L,
  59888. 0xf94ffbae3815d67aL,0x99d74f5e74ea4481L,0x3b352a327d477151L } },
  59889. /* 56 << 301 */
  59890. { { 0x2a62804172fb61e9L,0xa9bfa73ab13d053fL,0x4a2cdaa3c647fcb9L,
  59891. 0xe1a9e91f4952d3a4L,0xbc1b3d8011e2e2c3L,0xe58ef59c18e4340eL },
  59892. { 0xeb8696ff1cf859b8L,0x5b0f5cc4ee918cf4L,0xa471d6ce6c1e905cL,
  59893. 0x4e13d6091ed2e8cbL,0x52951509c77c8c91L,0x0926dad8e234884eL } },
  59894. /* 57 << 301 */
  59895. { { 0xb168a6c36e3aa3d7L,0xbd0086ea5ad9142fL,0xbc4da0293c24fe23L,
  59896. 0x7ed3b34808b90de6L,0x7a7a2259e33b0df9L,0x483b389c9c3a173dL },
  59897. { 0x02080c626334a061L,0x61944965b020cfbeL,0xece528e9ede88ecfL,
  59898. 0xcdf3e2fc99389758L,0xb21470cb7a3fb92fL,0x717cfbe083937e21L } },
  59899. /* 58 << 301 */
  59900. { { 0xfac97f2910e3e93fL,0x1505c7d2f1101b88L,0x7cea978823bc0d11L,
  59901. 0x27ead95d45045667L,0x711bc4dcd17ea199L,0xe3f93fb522f3142dL },
  59902. { 0x31b05e6ad7233d64L,0xac28e6c154e7c9d5L,0x892b6366716d273cL,
  59903. 0x1622230470da8a48L,0xc85bbe6070d560b3L,0x555e6de987fd38a0L } },
  59904. /* 59 << 301 */
  59905. { { 0xac593f746ed50680L,0x89bdeabbcb01cfd3L,0xfa43158ead35524dL,
  59906. 0xb2393726e8d66ca0L,0x248c67c2c36bb495L,0x27d4b0b85c933625L },
  59907. { 0xdbb1364a78c8bb4bL,0xdcf4b1e13486ef0eL,0x554f95cec498b2c9L,
  59908. 0x2b76da29811a2329L,0x750c10271a10d941L,0x07045eae375b01b6L } },
  59909. /* 60 << 301 */
  59910. { { 0xd3fb9bef82621500L,0x09b18748f0f647a6L,0x186bed054c357e73L,
  59911. 0xd58281f0a85f3174L,0xdcf2e0bb91ded0e9L,0xe77faad126894faaL },
  59912. { 0x6843c160bc3a3c4bL,0x7f8058944c76592dL,0xc53be0883ec05e95L,
  59913. 0x318d8ce7cce0c822L,0x6d615f1b4c761dbaL,0x0115824c46ff47e0L } },
  59914. /* 61 << 301 */
  59915. { { 0x1815391cf8d0b74bL,0x903ad8fd797625dfL,0xad1ca24d3983100eL,
  59916. 0x0883fd415572ff15L,0x0e9e572cadeb4e56L,0x800bad6f7d0e25c4L },
  59917. { 0x52a394b44c7e2f03L,0x5150c01398f2c416L,0xf4ab35c68ce503c4L,
  59918. 0xa0ad209a41b4beeeL,0x050c52c80189706fL,0x86780a924049e913L } },
  59919. /* 62 << 301 */
  59920. { { 0xa398529c74ded2a1L,0x5e7248f52d7ea6e5L,0xbeb250bc28c2225aL,
  59921. 0xf7068fc0b40f4843L,0x62098aed839b7290L,0x947087e293ddfec4L },
  59922. { 0x81ba8c8824d71004L,0xa877f443bf4813c2L,0x3cf5f473ca4751bcL,
  59923. 0x2533890e633cc635L,0xb358f7781e6d9465L,0x50693deaa7801dc7L } },
  59924. /* 63 << 301 */
  59925. { { 0xaf306f56cbebedf6L,0xdd733be7837acb84L,0xc767237afcff0b9bL,
  59926. 0xdf948f12e555bee9L,0x86b85657826dc76dL,0xa4bac032e702b1c0L },
  59927. { 0xdf3544bba81bb117L,0x69c20dff34f4f0aaL,0x846b78577050d98dL,
  59928. 0xde0ef0403c70120cL,0x4483872c12c3bd64L,0x870b758550acebacL } },
  59929. /* 64 << 301 */
  59930. { { 0x37be5d3f68d7dfcfL,0x97bdbd49b945e6f2L,0x165a24b59d1569e7L,
  59931. 0x254aaf59b4e293abL,0x3c751fbd6fb7c0a4L,0x14eda4ba5018cb18L },
  59932. { 0xacb3b8971b5f6aedL,0x6d10be441e4b6b78L,0x245d7258621df6d7L,
  59933. 0x2af0e283185f0e2aL,0x1e7edc818fddbd81L,0xbd1e6c72c538d02aL } },
  59934. /* 0 << 308 */
  59935. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  59936. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  59937. /* 1 << 308 */
  59938. { { 0x6858b674844626a2L,0x610cd40f0cbba6a6L,0x324e674e29d9194dL,
  59939. 0x2dc6fdf6dcb30a51L,0x3f3ecb77528aa549L,0x0721f8f923ffaa92L },
  59940. { 0xd8efcbd627a77538L,0xf4e642bfd6162c9cL,0x04f2b0b74cf4a16fL,
  59941. 0xbc0bb49fbbf335fdL,0xc6b6e5bd5a928c36L,0x981b01f4d893dd45L } },
  59942. /* 2 << 308 */
  59943. { { 0xfb083c2af810465bL,0xb66a8de902ce0deeL,0x6e4130e747a81b95L,
  59944. 0xcd704dc658a98737L,0x842ae329592829c9L,0x99bedc34be20dd63L },
  59945. { 0xabee8e55d53b2df4L,0x6ce657586010b37cL,0x781f39b2467112b9L,
  59946. 0x6f06058fbe341038L,0x5effdca512a2f8beL,0xaa9bdad7af34466eL } },
  59947. /* 3 << 308 */
  59948. { { 0x3933b4c1575782aaL,0x610d3ba25c66e501L,0x52fd3c0f0b7e019dL,
  59949. 0x7f8e5ddfa48715d6L,0x0879c5defa39be53L,0xe32c886c56f01cdcL },
  59950. { 0x71b2dcbb1726779cL,0x6caaff052c6aa84cL,0x6af94846640b2d74L,
  59951. 0x78a10710049a2cbeL,0x41a1ce67ac2ab0f1L,0xd160b7faa76d8438L } },
  59952. /* 4 << 308 */
  59953. { { 0xab86639e9c216137L,0x45a12fb882b18d64L,0xb5734418d763f0bbL,
  59954. 0xd2cc332211a9802cL,0xe41d7db881269b8aL,0x91072fc12ecfa355L },
  59955. { 0x59d6912504ce306fL,0x916d9d4da131b86dL,0x84478b6b8a739738L,
  59956. 0xe86ad7d91cc83ae3L,0xbc9b2084797ccd97L,0xc1e94af4694944c6L } },
  59957. /* 5 << 308 */
  59958. { { 0xbbb6725b5c82c857L,0x72c66c3f140b561eL,0xab65dd0664bcb2d5L,
  59959. 0x755e848a780d5c1bL,0x84e6f686a3a61e6eL,0xd84bf486bd100b4bL },
  59960. { 0xb34fdf846354e899L,0xcbc312da55ec5654L,0x3c2cc881f9a125f0L,
  59961. 0xb1fcce564aeadf8eL,0xbdfc54c0c46bf0c2L,0x11d7ea4f09d281beL } },
  59962. /* 6 << 308 */
  59963. { { 0xe1aa844b1601940eL,0xd22221821797e84fL,0x3025aba65ddcb5d1L,
  59964. 0xac8cdaba38009c6aL,0xb9ee07b46e261ee5L,0x84069bc106ab8430L },
  59965. { 0x7a36b46278b9b112L,0x2d91ed2c08e77879L,0xae4ef469341275a1L,
  59966. 0xf7cb393f1c7cf858L,0x83c00eafd192af3dL,0xa81697a7a1e15176L } },
  59967. /* 7 << 308 */
  59968. { { 0x687d0980f9bfd795L,0x9a7539377ad882bcL,0x641407fabbcde5b3L,
  59969. 0x12ec9d216ed103a5L,0xf858c7851fa6ee22L,0x329b61bc818f2c11L },
  59970. { 0x4720d42ad9d48b30L,0x3f61c66082a66766L,0x99aff25533723e4eL,
  59971. 0xd6c67ce3d3260b62L,0x63a6fc9d86391c33L,0xc002433a31de2381L } },
  59972. /* 8 << 308 */
  59973. { { 0x585edee3895c0318L,0x775e142f45e8205bL,0x3bd7924fd85ad31fL,
  59974. 0x2e7d8f919124bffaL,0x885397c044c62868L,0xc0c2dff47fda9f5dL },
  59975. { 0xd302582ec14e693dL,0x53d6e33a6cec31baL,0xb0216b5b63653c06L,
  59976. 0x8f08a1ad9c70dad4L,0xccf014aaffbba93dL,0x900b0d2ca33f12b7L } },
  59977. /* 9 << 308 */
  59978. { { 0x4960ccb6e9824c45L,0x3c5a9b74c7e4cd06L,0x1e78cdfe37cfec62L,
  59979. 0x8cd49ca80da56a05L,0x5ba51217dca05707L,0x0d1f6e459d66c960L },
  59980. { 0x7178089467f9c82bL,0x342e4a5b18974c55L,0x16263f18f9b32fdaL,
  59981. 0x844b5a02935b3636L,0x9c5abd51c139ea58L,0xf54c69428beef953L } },
  59982. /* 10 << 308 */
  59983. { { 0xbe51552d6d2dedd1L,0x6bc86dc1cd997093L,0xc9b600c4418f03b8L,
  59984. 0x4ea4e857e7a9208aL,0x7aac3d96883b639bL,0x4127ed0735d2f4bfL },
  59985. { 0xf5f6310d76bd792aL,0x3da9b6a5fa223d0cL,0xd75f88075a041b79L,
  59986. 0xf3261457e4dd58f6L,0x4f0f5b18b0d9a51bL,0xf5aeedc1b8c84f9fL } },
  59987. /* 11 << 308 */
  59988. { { 0x1e08d6a81375620eL,0xed9a4fbae1f62c24L,0x0d3bb90381ab5de2L,
  59989. 0x885781f0df1b6a13L,0xc3fb9f97e1c7de7eL,0xf12e4bcf9372b033L },
  59990. { 0x9bc3cf4dd5868448L,0x89465649552016adL,0xeea40cf92a8b2c23L,
  59991. 0x57d720ee3af98886L,0x97b14c0b72db853dL,0x65d10f42f23504deL } },
  59992. /* 12 << 308 */
  59993. { { 0x0dd2395e9b8cfa41L,0x50e203abd4f92a44L,0x7280aff16630023bL,
  59994. 0xfcce59dc07de820eL,0xa686be05bc8189adL,0xac4b59bfaac70b7eL },
  59995. { 0xd2c0070e7a3c71acL,0x1d550add35ac1c47L,0xd42b6389fb881c1bL,
  59996. 0x57ca3fccd0dafd42L,0x909e8284be26ccc9L,0x1abe7595a002235cL } },
  59997. /* 13 << 308 */
  59998. { { 0x02562f1c6b1878daL,0x52a2cd069fce0ee6L,0xf25b35bdeb16199aL,
  59999. 0x0320c326a75fb01eL,0x2006d7587de2d46aL,0x6f9d0e256842b459L },
  60000. { 0x70a89562a68b5482L,0x9653726e1ab35865L,0xbda3cebbd8f849adL,
  60001. 0xe2f8d9e60b6fc51dL,0x9c3fd51246104400L,0xbbd260c9bab5d34eL } },
  60002. /* 14 << 308 */
  60003. { { 0x1f5094703cbc1df1L,0x9f752a663f962634L,0x98089d2ca2435048L,
  60004. 0x05256acb0e755318L,0x91a21f707f3845f4L,0x473ac1e0d68c8fcfL },
  60005. { 0x57ee51417f2ff0c9L,0x959a84f32013c48bL,0xe701f13c4c111ee5L,
  60006. 0x70219eee86db5763L,0x385f890cdb0782e5L,0x81fb64b2fea04d2eL } },
  60007. /* 15 << 308 */
  60008. { { 0x61b4bf7eeaa07bd9L,0x49832879afe544c0L,0xf788e97f54eb4d80L,
  60009. 0x78351b41338af327L,0x3a631bba77cb8057L,0xeb9a6f23f218e4ceL },
  60010. { 0xbd4a0dcf025b6453L,0x2aad6a467b876222L,0xaee94361215c42cfL,
  60011. 0xf8d1fd5de496cddeL,0x3c3af08022d0fe06L,0xb3d5dde0d09cc3f7L } },
  60012. /* 16 << 308 */
  60013. { { 0x1e34781aa6a1913dL,0x9a8f32287d0adc38L,0xfc185ccc28af85baL,
  60014. 0xc923d78b3ae9ba11L,0x7d494d7ea7bdb313L,0xf774dfa5af8f8b87L },
  60015. { 0xc178ccc116e863b8L,0x2d472f2aa8899691L,0x608747cc80a50372L,
  60016. 0x8147aa90e6f90197L,0x4683d4c978c2f216L,0x8323652c552f3b51L } },
  60017. /* 17 << 308 */
  60018. { { 0x7d6bff984dc9149fL,0x79879e1f499b443dL,0xf4ec65232aff2a1dL,
  60019. 0x6cf3c97f27253aa1L,0x95b9471eefe6f72cL,0x3959bd816c8457daL },
  60020. { 0xe2870635cf112073L,0x84e44933ec12174fL,0x67a592deedf434edL,
  60021. 0x0c93cdae2897d0e0L,0xe344ecf463c89730L,0x28098b7567a1133fL } },
  60022. /* 18 << 308 */
  60023. { { 0x62e96dc7a12a0cd8L,0x09d7c6f0f02a3d87L,0x9d9fd51233f8929dL,
  60024. 0x1231952dab376555L,0x6ef6823c8e3d2d63L,0x7ad2e5405a01c12fL },
  60025. { 0xd1bfaec479af6fc8L,0x4555fedfdad97daeL,0x0e6d3f0155750bdeL,
  60026. 0xd37ed9f0056f6128L,0xf1fdf91c65fe6ff7L,0x3ece19ae92d05e43L } },
  60027. /* 19 << 308 */
  60028. { { 0x07d2075e750fc5d0L,0xdc2b03f6a07ca45cL,0x0248d87552efef7fL,
  60029. 0x2dfdaf3f744e727eL,0xbef861b8d9b2bcacL,0x5e6363f0baf394c7L },
  60030. { 0xe8f23bbec973934cL,0xb43d619a50ea324dL,0x2bd5e0075842d6cfL,
  60031. 0x5c5af62217646e90L,0x5d95d8fd222ec05eL,0xc9adabb45bd67c31L } },
  60032. /* 20 << 308 */
  60033. { { 0xa5c08e8bcc2c9a2aL,0x70e1b4058baaf0fcL,0xf29e1e5c9e36e50cL,
  60034. 0xa3d9080080f258c5L,0xc9ceac25ecad4498L,0xcb73130fca32f3feL },
  60035. { 0x2dbe620c48b3863dL,0x8c52727f14ff53bfL,0xb60b22a86b45e9b8L,
  60036. 0x81e05bc0f6483c5dL,0x217caa6bcd542972L,0xffab716afa780778L } },
  60037. /* 21 << 308 */
  60038. { { 0xaef1278b0ba5a344L,0x253be7ad2d0c3947L,0xce58bf0fe5408f09L,
  60039. 0x867b0d6fe21228f4L,0x815abb5dca61e691L,0x0da28f58f3e94434L },
  60040. { 0x5b0fd178ca4cee2bL,0x8989604240b13224L,0x8e2fe19616c251a7L,
  60041. 0x7b3381cb11b17162L,0xc73d96a427ef2c0dL,0x76b7fcf36899c135L } },
  60042. /* 22 << 308 */
  60043. { { 0xcaee3387cad8b585L,0x58446c1ad59d8777L,0xb8755fa540888d8cL,
  60044. 0x7868510654428813L,0x7bd21629136e2b59L,0x249903a6998254a3L },
  60045. { 0x2cc73a751f8fd813L,0x4b1a64576d4f3a70L,0xea2aa620b2e7a0fbL,
  60046. 0x77c8cb98202f6ddcL,0x68ba9d261e3851cfL,0x936fe8cbfe02e6efL } },
  60047. /* 23 << 308 */
  60048. { { 0x8b84121bda75aba3L,0x4440272d74602c33L,0xb8110b2a1e8a8ab0L,
  60049. 0x4de462e9391cf47dL,0x9173d756519b9ab4L,0x3df52d13ba8d5dc7L },
  60050. { 0xd7a822eaa418b01fL,0x58be2b076585f7d8L,0xaa814fde00fb449fL,
  60051. 0x6b8260fc7da43c5dL,0xaecbfb442351ba9cL,0x9cbe3d199f8db60aL } },
  60052. /* 24 << 308 */
  60053. { { 0xe5d3e0d80d7410d6L,0xcfa9ed742be432c9L,0x60044434a85a0686L,
  60054. 0x93b357166ad6918aL,0x1a3c3e6d051762beL,0x80813589b0ab32d6L },
  60055. { 0x64214b92aad403fdL,0x684befc14d3fb746L,0xaca5a51479515046L,
  60056. 0xacdba03472e84485L,0x61aa2834287d9e97L,0x07a515a5cad222e7L } },
  60057. /* 25 << 308 */
  60058. { { 0x8f631b17bc04e9c5L,0x017527212c515161L,0x4358d8e9ee7769a5L,
  60059. 0x18f0aed0b59dba1bL,0x035c6bb644973218L,0xa49a4cbcfb3897e6L },
  60060. { 0xd2a0b7505841ab18L,0x8fe952dca6d2d43dL,0x2d30add69a71d0ecL,
  60061. 0x0cb84c402c5d440aL,0x33f3cf7c7c47846bL,0x88703c65bc8e8b3dL } },
  60062. /* 26 << 308 */
  60063. { { 0x3c3db9419474059cL,0xcfbf13ad72820ae8L,0x3f84300c51c37d62L,
  60064. 0x0f78adc45529d333L,0xa19be46482e34cfcL,0x9ed07ee011c98376L },
  60065. { 0x5113e660b5b6f6beL,0x56f2d2b37a5bc818L,0xd99290c61c2c822cL,
  60066. 0x39c026b8b27aafceL,0x8692150b12ef7c76L,0xa55426d1c6de9e16L } },
  60067. /* 27 << 308 */
  60068. { { 0x889aa8ee3465358fL,0x5885ee29afbefa70L,0x05f9dbd290b6ff58L,
  60069. 0xc74be0d09b5e02afL,0x4b7da27ea6b29d44L,0x2ad60aefcf68eeddL },
  60070. { 0x2ba942b3388c81c5L,0xda8badcc368e2e62L,0x33e95ac87a9e8511L,
  60071. 0x37453bbae72008b3L,0x3e1f181195eceea0L,0x719f550c7b19a417L } },
  60072. /* 28 << 308 */
  60073. { { 0xb03093068af19670L,0xd784125a34c6bf0fL,0x0b425ee0255a8396L,
  60074. 0x91076433fb541162L,0xc4d8188586f47a0eL,0x3b767d54fd7bc7c1L },
  60075. { 0x98b405d3bee196e9L,0x4ef9c511edaccf4aL,0x5a6deb6503f4f1a6L,
  60076. 0x4a22ca641b4c5104L,0x2cce36679145ce41L,0xd05187523206810dL } },
  60077. /* 29 << 308 */
  60078. { { 0xa5746e07f7e11342L,0xb50e390f2e2ddca0L,0x3847749bcb288bc2L,
  60079. 0x6ff43ec646ee679bL,0x343b3fe2c5257b02L,0xc0f57f509b823eb7L },
  60080. { 0x5ce3d2c8aff42c7dL,0x984c9b99c3c76f3fL,0xc8559f58b8823b92L,
  60081. 0x883ac8064ce4338cL,0xecf8aac3389d8ebbL,0x9edaec10b40bfb16L } },
  60082. /* 30 << 308 */
  60083. { { 0x0ed8a07cafb04e5eL,0x7e95ed898f6bc911L,0x6a4ed37113dcc222L,
  60084. 0x9aa3a43296f07c7dL,0xe819a80b9b338e4dL,0x65fc2778278f53b5L },
  60085. { 0x788408e9024163b3L,0x159de8bb7de54f06L,0xc953e21281239dccL,
  60086. 0xacb5ea2c6dd62ce9L,0xf56ac93b753f4ab3L,0x2a1a09b5eacc39a6L } },
  60087. /* 31 << 308 */
  60088. { { 0x89dcbf021c5f4cb9L,0xc0fbe7ce210f98ffL,0x3dc3c743b897cdf2L,
  60089. 0x931f9dbb5d02c43fL,0x0ea9f164f74db981L,0x504938874af9f53aL },
  60090. { 0x86bd3ed62531b8aaL,0xcc1fb6dddcfca2a3L,0x24b0cbf2b97abaa9L,
  60091. 0xd81ad35c9073f19eL,0x4dde5dc05db7fd5cL,0xce410880e3ac9b63L } },
  60092. /* 32 << 308 */
  60093. { { 0x29d81538037bebadL,0x76e52c73d9e0b78cL,0xaa4ace6e8783d1fdL,
  60094. 0x9c14ebddf0e3c126L,0x0eb1c08d6eca4b71L,0xd10c6b961c91df35L },
  60095. { 0xdb8119bbe81bb84aL,0xf784d3c117e3ceefL,0x053c916835436f81L,
  60096. 0xeb41ccbb9b18d212L,0x93b3fb43b1bc3497L,0xd85a7c758c1ced81L } },
  60097. /* 33 << 308 */
  60098. { { 0x90b606b2fc9958e6L,0xd39965b6f94234b9L,0xf4a86f1676f4dd03L,
  60099. 0xd6a7ba54470f0f7aL,0xa1b85c0ca86fce7fL,0x2b50f14e574c4cfdL },
  60100. { 0x4aff867d80e783bcL,0x031092eb61f78fc4L,0x8ad0d7486fe0af1fL,
  60101. 0xb56b1a1a0cdfa574L,0x586c916a56466e12L,0x427e5946d09a9d1bL } },
  60102. /* 34 << 308 */
  60103. { { 0xdd0e3ca276d1b2e5L,0x07dea7e48b4cb3a6L,0x62a63cc7fc4a0f0aL,
  60104. 0x048478ef5ea2eccfL,0xa77eae472e34c1a9L,0x7a2120751bfa5dc6L },
  60105. { 0x0c1fbbecabc233ffL,0x6255fd91dee18d7fL,0xd6da39aec38462ebL,
  60106. 0xd86bc3194be435f9L,0x23567d64291c606fL,0x6b85038af67051adL } },
  60107. /* 35 << 308 */
  60108. { { 0xbe79e1b1eef4ae7cL,0xa45668dc42fb7357L,0xcdb3b3ee2d497a36L,
  60109. 0x6ef724e6c5f8d861L,0x7e8834523802a324L,0x641b3a81aba90442L },
  60110. { 0x13bec555ae4c2544L,0x340d34f927d172ceL,0xfcfd933bd92f558cL,
  60111. 0x57d8e300d5a669bdL,0x9f745ce71883049bL,0x19690a31e261f9ceL } },
  60112. /* 36 << 308 */
  60113. { { 0x004105c3811af84aL,0x01307934a7934a0fL,0x179fd49b9b3226a1L,
  60114. 0x195d9e5cde6834b4L,0xfbb79dc00e6051bdL,0x354273ed367f4487L },
  60115. { 0x4afa9d4574fb892dL,0x03ae905ea1b7f3bbL,0xea32cd5d592f6122L,
  60116. 0xa758eed2f1103301L,0x9dde4238c59d1cc8L,0xe2760bcc51022a42L } },
  60117. /* 37 << 308 */
  60118. { { 0xfed7077b7a7134a8L,0xe65b4eaefe0cf05aL,0x130de76be626841bL,
  60119. 0x499934ca300117fcL,0xce74885d4e186b5cL,0xd352d0d2029bee7bL },
  60120. { 0xd86c448c857a38ecL,0x8139eb50a956da9eL,0xa036de4a93ce7131L,
  60121. 0x3f9eba375041c9d4L,0x8c24408e548f74fbL,0xa74053fde942bf8fL } },
  60122. /* 38 << 308 */
  60123. { { 0x64cb00f586ff10acL,0xd1eebc4c9cbba8d8L,0x427fad8af3157125L,
  60124. 0x9f8eb84cf7523b0bL,0xbdd082bf2e6dc29cL,0xfe40623823d3c315L },
  60125. { 0xad5df7fb546d9dd4L,0x83cadc4b8e42f3c7L,0x7c90502c36876485L,
  60126. 0x4f33eccda35bb6d2L,0xdf7571383a79b9baL,0xd250b7d2e6ddafaaL } },
  60127. /* 39 << 308 */
  60128. { { 0xa52a7595504417a1L,0x540f70b014683af9L,0x5f0d1560f27a9620L,
  60129. 0xccad06444b2147c9L,0x92223275e52c8eccL,0x30d6b52b7cfedb7bL },
  60130. { 0x2161f8bb9bb5b844L,0x075b9db87033586cL,0x5748d512c8c5189aL,
  60131. 0x95d76a950f0aab91L,0x91f85aaed0ce9c56L,0xeab8cd9b8434e695L } },
  60132. /* 40 << 308 */
  60133. { { 0x54f84d70d377d7b0L,0xb745d1903344bc4eL,0x1c693ed08f33aa53L,
  60134. 0x990ed45f8bfbee7fL,0xad620c9fe9b258fbL,0x465ccb101a54bf46L },
  60135. { 0x5330a0d3ebc40951L,0x34423e8ca405da61L,0xeef1ce78b83043b6L,
  60136. 0x99678f22ac06d182L,0x9213f57d1802f14cL,0xf8549616adf11fdaL } },
  60137. /* 41 << 308 */
  60138. { { 0xc6ca95476c66fa6eL,0xcae41345bdd5b16dL,0xd72a41a4ef022783L,
  60139. 0x810f4615b2d5154aL,0xfddc469e6d333af9L,0x3154ccbb02d2bf38L },
  60140. { 0xb33d5c59fc1a0bdfL,0xd8c3f8743c971fb3L,0x5e47ec01114e68b2L,
  60141. 0xa440a83fe9baa164L,0x353d01c397c26b35L,0xfaabf5dff03b7672L } },
  60142. /* 42 << 308 */
  60143. { { 0xdc2a97651e22de2eL,0x91eef436b6cd3b6dL,0xff099200f99ac721L,
  60144. 0x20faacfed4f89e8aL,0x91bb24373fcfe45cL,0xb7a152897b6d3ff6L },
  60145. { 0xfee966c0ef94332aL,0x944728473c81b942L,0x831d36dfab1a553fL,
  60146. 0x244bc8393023cca1L,0x3f4a49d57e7be940L,0x4159aa9d7b71c0e0L } },
  60147. /* 43 << 308 */
  60148. { { 0xfc25fcab5b16ee64L,0x44f807e06841acd2L,0x5f43cfedf59c3f06L,
  60149. 0x9279c8110c5b59a7L,0x825df117194b80beL,0xe2c18880d27d6fa7L },
  60150. { 0xc9aab2e66a333721L,0x1665b6f55b034c1cL,0xf28fffd13df9796cL,
  60151. 0x23caca87bbefb8a2L,0xfc556d575f7510f0L,0x41990ce8552dafd0L } },
  60152. /* 44 << 308 */
  60153. { { 0xf31796d2b6e392e1L,0x199d624893b3395eL,0xef14c7c212f9b763L,
  60154. 0x721ebf2143edb7a5L,0xa40b88945e96f3baL,0x8770608c4cff8394L },
  60155. { 0x990c99ae8d0def0eL,0x292b26dfa15a5649L,0xa98fda2c91ca89d7L,
  60156. 0x916cb1b4973e5f5fL,0xa2823f13a72de0bbL,0x415f7bd28cd3219dL } },
  60157. /* 45 << 308 */
  60158. { { 0x5cfde16a9fc0e90fL,0x61bda4caac6c15d3L,0x5935e48e2a79d928L,
  60159. 0x31213c7c82f986eaL,0x170dc539bcc4c0dfL,0x2e0d29406f11823cL },
  60160. { 0xd2dbecac80fe659eL,0x98b7f46b8399d8b8L,0x259f975abb204589L,
  60161. 0x65f3073cd5c52a46L,0x0f4c007805dc7fc4L,0x16c49d403031a8ffL } },
  60162. /* 46 << 308 */
  60163. { { 0x95705b15359816d5L,0xce0c4379d0641ed7L,0xb3f0d8321e8a448eL,
  60164. 0x8bea060873e2d711L,0x5a85fb2f6a040c03L,0x7c19a2185bcebd4aL },
  60165. { 0x2b10a87aa31cffddL,0x4fc728fa9a5814a2L,0xedabb0dc63bdd2ceL,
  60166. 0xdb90173f96bdaa40L,0x543c4f01527ff659L,0x5dbff7ad0a33b251L } },
  60167. /* 47 << 308 */
  60168. { { 0xeef30ea55e636f5dL,0x8df2d4040bccc4ddL,0x8b0d6f35ef1afe9fL,
  60169. 0xbd288e6ef8f86f6aL,0xbc68817ebda45411L,0x8a6f50070faf9e7bL },
  60170. { 0x6158c57a53d4050cL,0x6d5a3af165b2252cL,0x10f62839f450886aL,
  60171. 0x8b9ac19b1df85080L,0xc160c1567553ed58L,0x2195ab29cb449cd9L } },
  60172. /* 48 << 308 */
  60173. { { 0x521f4af73ed03d5fL,0xe3461f66eaf9064cL,0xad099ab7ae03777fL,
  60174. 0x541cadcdb65f73ffL,0x53430463a86059b9L,0x8ff88fe5043e9f82L },
  60175. { 0xd515f4c7e42cde45L,0xf7f3dec3f41c3269L,0x7bed53567ef1b8ffL,
  60176. 0x8782b45f1295b5feL,0xab54ebaa03917627L,0x8516beb28787ed9fL } },
  60177. /* 49 << 308 */
  60178. { { 0x24b2b95b113940daL,0x8c24d8d3f9c6e6d1L,0x7c584170eddaaf29L,
  60179. 0x249267171efd01aeL,0x692cf8f40cd0f2d5L,0x0bf82e142f960244L },
  60180. { 0x6dbcb6162dabe927L,0x76d826d20aa1eed3L,0xe4492fb3be98af99L,
  60181. 0xd4f27cbea50dd711L,0xb7796efe2d8085daL,0xf2d42519ec4e8ec2L } },
  60182. /* 50 << 308 */
  60183. { { 0x3fbaf46dccc3c261L,0x773c240c1b646e80L,0x151a711f363b6a5bL,
  60184. 0x3c8680b1c53b5b59L,0x8ee6795f9fb234b6L,0xab7840aa2f673211L },
  60185. { 0x0a1a0ff3224a8184L,0xcab87319c71bb575L,0x7a9e9daa8125668fL,
  60186. 0xdc607b016c4cff5bL,0xa54cb4c792e5c760L,0x977e4c93d99e4655L } },
  60187. /* 51 << 308 */
  60188. { { 0x87d4ff71ebe95680L,0xa2093915e5adaac7L,0xd5bbbdade32f5d9aL,
  60189. 0x5d61056cf328a4e1L,0x61fcdb0f353f565bL,0xb7b8ba004efab5caL },
  60190. { 0xb5bbcfa410f05eabL,0x483ae9221f09a105L,0x17d94ca44bbf4753L,
  60191. 0xf734a8cdbbdc9a94L,0xc7f01a4244e81e2dL,0x60c3e777b3ba8033L } },
  60192. /* 52 << 308 */
  60193. { { 0xba7df5a965b68624L,0x30b4d6ed6e7d58bbL,0x67e52341dbb81762L,
  60194. 0xd697ab1b0deeac1dL,0x01d15e8e5577ea92L,0xbb12d72498fb38daL },
  60195. { 0x302faa6d4e04908dL,0x66cf6cb909b90a9cL,0xcd665dbd98d96736L,
  60196. 0xf7d3c528b86f3af4L,0x4844c7541d8b07f4L,0x2a77d7b91eaf7dc0L } },
  60197. /* 53 << 308 */
  60198. { { 0x8a36c9b57fceaa87L,0x5110912b553c7ad3L,0x4aa51166d5eca67cL,
  60199. 0x05740dcf07a5eb58L,0xeaafb3e3396857a4L,0x1ae9571bba8d62d9L },
  60200. { 0x2736975500272434L,0x2c74325c59872fbbL,0xd1d8291709dda11aL,
  60201. 0x2a5334eb4683e8a1L,0x22cdd088e3481df0L,0xab1c5f5b4fddc546L } },
  60202. /* 54 << 308 */
  60203. { { 0x1966aa0515f46174L,0x495901bd2a074050L,0xda5b0cdebba902baL,
  60204. 0xc47c518a684325bfL,0xa5df133ec4d9d6d9L,0x3771f465fbf7d31aL },
  60205. { 0x0a73718c02b05d1aL,0x1107cd45534237a2L,0x582cfd2980f5d897L,
  60206. 0xf51a0a88dab0269eL,0xfdea51cfea1a22faL,0x3c9a0d247a13a324L } },
  60207. /* 55 << 308 */
  60208. { { 0xcc330f58c42f1ce6L,0x8e1fb7df534efc38L,0x2a37208f5fa5a01fL,
  60209. 0xc06d8447369bdbb6L,0x0b1ea5161a3e36e7L,0xfb4a48366ff9abbeL },
  60210. { 0x5989c2d524419909L,0xdeaa6136f1d5b1caL,0xac6003b04ba760f1L,
  60211. 0x3a6d5422059081beL,0x96c7fa9df797e22dL,0x67c2f77fa9f3addcL } },
  60212. /* 56 << 308 */
  60213. { { 0x53e59f251d70eb73L,0x8aed17afe69d0525L,0x26ddc17864413768L,
  60214. 0xa7c8d40f5e48c349L,0x29ad92d187ff01fbL,0x8f4e1b3b965b2de1L },
  60215. { 0xb83cfadf1446eca2L,0x7432bda4e609d416L,0xcf97e8a3f1c7de69L,
  60216. 0x45899bd832f55f07L,0x41a6811751175738L,0x89eeb115b8efff21L } },
  60217. /* 57 << 308 */
  60218. { { 0x9dcda4f3723fc25eL,0x710de79fb5d954deL,0x095ffbf1f0b7d129L,
  60219. 0x419a2a5e32651179L,0x7b249135827d4268L,0x9dccc98d909fbfb4L },
  60220. { 0xcb4b0cb016554ab5L,0xb2fc635f6d84b255L,0xa7f8f3f553512b87L,
  60221. 0xc72633f300ec778bL,0x4e07d91a4f1841a9L,0x2a1adbbdcb4f478cL } },
  60222. /* 58 << 308 */
  60223. { { 0xe31333093bb794fdL,0x34c68bac33b3be44L,0x953fa2c412172b7aL,
  60224. 0xa9afc12d4fdde6ffL,0x30b5302ae9c7804cL,0x4a1746c702119e68L },
  60225. { 0xc4d0c7d323e2ec51L,0xbc821f217143d613L,0x8f41251a673e203dL,
  60226. 0xfa32c06aac2ca4c3L,0xf4343f2799a7c431L,0x8f7d489e6b96d959L } },
  60227. /* 59 << 308 */
  60228. { { 0x183311763f6278f9L,0x4fcc5b653593cdd5L,0xb09b5880e643f83dL,
  60229. 0x0f130a3d2c78466eL,0x926d7c3d2b1c1ebcL,0x7217f875662ed4ecL },
  60230. { 0x2d3be028d81cdad3L,0xb2a04e3507a38019L,0x8da8cddfc9a3097eL,
  60231. 0xbaa67f60ddb20228L,0x698fc1c407f04de8L,0x6f0e1d6d7e86db6dL } },
  60232. /* 60 << 308 */
  60233. { { 0x54a01e60936c3ebaL,0xf326fe96ec01b12cL,0xcdfaf00366e4de2eL,
  60234. 0xc53dba07392fd0a8L,0x00d9b80f6ec46004L,0x84d59be83ba63f8dL },
  60235. { 0xbac4ea439dea6062L,0xb4b4845badd568caL,0xa6ca3d34d225e2d0L,
  60236. 0xce72955db50070a2L,0x56e5c91321c78b68L,0x888eb198999488a3L } },
  60237. /* 61 << 308 */
  60238. { { 0x65bead3c1c2de335L,0x0ecdc057b18a6778L,0x821b836983e57ea8L,
  60239. 0x84c80b574a5c11dcL,0x0b6432822ac9ad27L,0x8e09a7f344fe943fL },
  60240. { 0xe510f47daa92dc94L,0x8bb0b5cc6a1666a3L,0x55315bcc24645380L,
  60241. 0xe3acbed113dcf7a1L,0xff99c90e3c9a1610L,0xfbe9aa1bc326e1f5L } },
  60242. /* 62 << 308 */
  60243. { { 0x5040bea56827b6e3L,0x1049e004d935eb24L,0xa15f9a07ba9bde68L,
  60244. 0xda430c55e6087e70L,0x30ed69af8e84b7c8L,0x8498514eac9d6a72L },
  60245. { 0x69c783d64cb27e79L,0xe55d31a09647a572L,0x0479e8b2fbfb82e8L,
  60246. 0x3e845922b52f08c0L,0x252f755f0dbca622L,0x6219778389ddfee8L } },
  60247. /* 63 << 308 */
  60248. { { 0x175264893ca1461fL,0x54c432f92b6476bfL,0x0e0be36a530795f9L,
  60249. 0xb9896dacca583429L,0xe4af98239d4e6085L,0xa38b7c4b4a7422ddL },
  60250. { 0x74643ef47163e421L,0x74c28314895ee61aL,0x637c79c20d62b657L,
  60251. 0xb232ec619bf2b3afL,0x27bdbfb4b2d5992eL,0xcc6e424c49afb181L } },
  60252. /* 64 << 308 */
  60253. { { 0x5255508c11c92f34L,0x9a346cf3a294d382L,0xd9765eea3095205bL,
  60254. 0xfea2ed702c470ef7L,0xf5e8a0fc9c40bf0aL,0xb572390ee4137a16L },
  60255. { 0xb91753712bf2f545L,0x2c2d0f4c58cd9cc7L,0xbea6bce902385486L,
  60256. 0x46208408a8bc3a94L,0x64a87a2a3ac45044L,0xe40da33c7df70151L } },
  60257. /* 0 << 315 */
  60258. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  60259. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  60260. /* 1 << 315 */
  60261. { { 0xee9e25d939161b8aL,0x8763f2a2e2eead91L,0xd2fc1157d2d91300L,
  60262. 0xe7597e2fffcbe50fL,0x4be3814fe11d376eL,0x1eab3d7edbf14562L },
  60263. { 0x38a107c0c0ad183aL,0x829766267c753bbfL,0x18014e09caebd481L,
  60264. 0xb28c331bf9ace60dL,0xe8fba04f211cb8e7L,0x41c4b797e42dc65eL } },
  60265. /* 2 << 315 */
  60266. { { 0x009dc2f4c3e88580L,0x4a405be899db1fb5L,0xc89bfaa2ec5d91feL,
  60267. 0x461be9a0f160afcbL,0xfdd084bb7d7566b5L,0x795275e8e48099a2L },
  60268. { 0x1b461fc9fe9815dbL,0x576214cd73627bbcL,0x3246332d9f09a206L,
  60269. 0xbde4c0c36941d6efL,0x44ef03fdf387f5f6L,0x99c8ac0157b63400L } },
  60270. /* 3 << 315 */
  60271. { { 0xaa512f202f6e4301L,0xef668a5fbf94a1ccL,0x08713c3015861b88L,
  60272. 0x49d47551c99bb2b6L,0x6db5f812e2f0258eL,0x70c9b299998d7435L },
  60273. { 0x46168e1c5d176ae0L,0xec3306e4f730ec30L,0x49439df3ab69c15dL,
  60274. 0x1040408bea0143e4L,0xb48ab8eabc549b0aL,0x4aa38bbf10f89223L } },
  60275. /* 4 << 315 */
  60276. { { 0x7e4851599598f49aL,0xbdac3d5e9629305bL,0x20de0dafa6fbabfbL,
  60277. 0x04f015838f09fff7L,0x5a0562976a06994fL,0xf51dac8f6e3ccd33L },
  60278. { 0xc087ef9c3af507b8L,0x525ab76e6a5c6663L,0x4fc04814d916ee93L,
  60279. 0x3369c978d23d140bL,0xb0fcd70f1662028fL,0x2ca77de2e1e28adbL } },
  60280. /* 5 << 315 */
  60281. { { 0x838acd1bc512bc71L,0xac06d6bddc18afd0L,0xc991c1e39ec45f4bL,
  60282. 0x667c5e89cc27c68eL,0x0e059b04ed07f829L,0xceccf1d4cec4b3a7L },
  60283. { 0x3d9c2dc9b953f9a1L,0x4be2f7e72d599b16L,0x1a2054b197256c26L,
  60284. 0xcf66fa478b4fdfebL,0x896cc1b38134d7efL,0xa17264cad41dadbcL } },
  60285. /* 6 << 315 */
  60286. { { 0xe3ccfe8e37627e56L,0x00733a867b6b21a6L,0x3f13e2cbb605c427L,
  60287. 0x5ee12395b0d80992L,0x4dcaea94b9991381L,0x4cfed7ee8c4c4b6eL },
  60288. { 0xd7aad54b7f7f45dfL,0x2229407fb3809bf8L,0x6eb31eee68048fd9L,
  60289. 0x693842dfd57225fcL,0x3e62cd85a88dfd3fL,0xc6307d53d5462cf1L } },
  60290. /* 7 << 315 */
  60291. { { 0x2d15615ef344f5fdL,0xe0ba6a8aa7f23989L,0xbbfc58041c84e3f2L,
  60292. 0x22ffeaae6f4ba826L,0x1e9bf27494292682L,0xc768f89146c02af9L },
  60293. { 0x894127d6177cdafaL,0x8d0523da2acdc791L,0x71ada9aedc78c3c4L,
  60294. 0xf21dbbb92c532a01L,0x0c797d5eacb20fdaL,0x1ff99d7616cf57b0L } },
  60295. /* 8 << 315 */
  60296. { { 0x99b5f150493c1d64L,0x3422b656fb74075eL,0xe7493900ff19bf24L,
  60297. 0xc82e5b80260925edL,0x3398d340c0ea1eafL,0xe7de2ba11287121eL },
  60298. { 0xea6dfb0b87847031L,0x73bed0a1566af2f2L,0xe26678bf12012999L,
  60299. 0xb5369e4d32e5cebcL,0x2304eac86d181e32L,0xafdbd9543d364addL } },
  60300. /* 9 << 315 */
  60301. { { 0x5b1a53ca75da4189L,0xa90485802eb4862bL,0x319424092783ad6aL,
  60302. 0x15a4c5e11a9e025eL,0x841bc53313837199L,0x6e9d3e14e642954aL },
  60303. { 0xf4a02bbdd436ec5cL,0x62fe177bc6d6ad53L,0xedbf1e4eac86425aL,
  60304. 0xff9359c8d9f752f5L,0x79c685d92d7ad656L,0x8d82c0c4fdde9052L } },
  60305. /* 10 << 315 */
  60306. { { 0xf55f868e702f640dL,0xe459aa9b1dedda11L,0xbec0ff9bbb5ba193L,
  60307. 0xf7325c4957724703L,0x5ab8f06323e0e4fbL,0xfbf02e91ecb0fd7cL },
  60308. { 0xcc72e8daa2e5fa31L,0x47de252832cb53cfL,0xbfa646e64252763cL,
  60309. 0x7a769efeb8d81de3L,0xf5ec70031e772f00L,0x049bea9a2729aa5eL } },
  60310. /* 11 << 315 */
  60311. { { 0xe987ba54759090d6L,0x904d6901619ef08bL,0x9e16d1382024a6fcL,
  60312. 0xb6f0459ba9f3b7e4L,0x1f2a530817ee069aL,0x99403b2e2be31049L },
  60313. { 0xba1663c6bfb2f288L,0xf829195cc7a92b41L,0x89b915ee8ae621b1L,
  60314. 0x3fbbb1e150f8ea92L,0xb1fe7f978c901ddcL,0x16d1f62cbbc69ca4L } },
  60315. /* 12 << 315 */
  60316. { { 0x51f19bb3fda072dbL,0xa815459fe3f7e0a2L,0x5f7cde2f987112caL,
  60317. 0xdc51d948759de2cbL,0x9d05c410ed49bd98L,0xf063ab99364341fdL },
  60318. { 0xd7869d68d1aa0a11L,0xc20291065d862d01L,0x7f258180c2591073L,
  60319. 0x7b90fc7a6ebc4ebcL,0x5565390f3dda1d68L,0xae77fca8a44e4493L } },
  60320. /* 13 << 315 */
  60321. { { 0x97564e4847c49ee8L,0xc56bb5a9ab4ebef5L,0x80d969417b4f86bcL,
  60322. 0xa594b4e541026cf0L,0xd56c89965a89ece9L,0xbcf609316a0f922bL },
  60323. { 0x702596161103475cL,0xb1224fb58a2a2abbL,0x0a437a03715cd61bL,
  60324. 0xcbe2d2b2739921edL,0xf3b1b5e9385541c4L,0x5d0984f4ae010520L } },
  60325. /* 14 << 315 */
  60326. { { 0xb4a2742dcfd9295eL,0x9cd36774ae929cd0L,0xb15fadccdd7fcf4fL,
  60327. 0x0b1fa2b337d4fcc6L,0x242c7b26f01c7ab7L,0x2be8131b50574cc9L },
  60328. { 0x6ee50f42bd89a03cL,0xc7f6ff8f005e7765L,0x04d13af18420501bL,
  60329. 0xc22e092b1b6e7d2aL,0xa393be7ee9516f80L,0xa2593652b80bb5b5L } },
  60330. /* 15 << 315 */
  60331. { { 0x5caa5da68b23bebbL,0xa1ad33e81fdbbdf4L,0x18dc93cf4e5c1de0L,
  60332. 0xc3e6addb5bd9e178L,0xf30d517e7cb8cd03L,0xbb84ce54f1abc417L },
  60333. { 0x0774b64c67699659L,0x228005b9b7d4a401L,0xd8c2ec5b80b2d3d2L,
  60334. 0x419c4cd93450ba7fL,0x520ae681789286a6L,0x24b67ea9aa8bcfbbL } },
  60335. /* 16 << 315 */
  60336. { { 0x9e41b9b70f74808fL,0x2d835dae0c061bdbL,0x67e50c8cf272346cL,
  60337. 0xc98a5ef5def57493L,0xc2dea8afa02676fcL,0x59508de26ace4659L },
  60338. { 0xc2b707aada6cd733L,0x6c1f226a4be7bfb9L,0x5b580fa2a778c20bL,
  60339. 0x272c3a1d57af166bL,0xe47a64a9ca78ce62L,0xd12db7d771d35087L } },
  60340. /* 17 << 315 */
  60341. { { 0x6a37ac5a2ada7e64L,0x664594de04e35dbdL,0x3a82f748ffdbf300L,
  60342. 0x4525ddf155975f5dL,0xcfe5a76bbdf2035fL,0x1693a99f0fcbda84L },
  60343. { 0x5bdb76856a297cdeL,0xdb9ad0cef1d1009aL,0x9e9dae1caf902a00L,
  60344. 0x7e36f79f271a0a50L,0x688a0f41a2a2f652L,0x33d2178613722e40L } },
  60345. /* 18 << 315 */
  60346. { { 0x2f4abaff356f4ca1L,0xa2e419422d13be2bL,0x58d72e2f3d7db731L,
  60347. 0xafc2f505cd455649L,0x8a0794cd1583705cL,0x4a43066288ffe8e7L },
  60348. { 0x2c0c031d135c8e7cL,0x8ecd9ed76b371b41L,0x17cc1ad9563843eaL,
  60349. 0x9603987cfc6b810fL,0x6e291ed7f0d9498dL,0x8c69ae62e1a4058dL } },
  60350. /* 19 << 315 */
  60351. { { 0x934666dd40680b5aL,0x37a9c6ac91e762f6L,0xa0a10533e4d26e7eL,
  60352. 0xd811d558ade18237L,0x6e2918ed411b121fL,0xbd9352b93c24a52eL },
  60353. { 0xe31569ccb811ec4fL,0x3b5b977553f7d097L,0xa0d9ebfd7198e959L,
  60354. 0x63e10ab13f0a942cL,0x65b8b87f8ea55897L,0x935ea3c129aa0212L } },
  60355. /* 20 << 315 */
  60356. { { 0xe14dd3708ba8a3dfL,0x49c1fc3750a645b6L,0x3f0db6a32252ff87L,
  60357. 0xea2ac3c4a34ad040L,0x97a37936decf9f0fL,0x810f02326f7f92ffL },
  60358. { 0xd96c2641184e9c88L,0x08c4cd333d5ab12eL,0xa938d8c3eda80fdfL,
  60359. 0xf2dded68bfccc054L,0x4b3da61ede36ac9cL,0x2c266df8347ef904L } },
  60360. /* 21 << 315 */
  60361. { { 0x4653cbfbe3443739L,0x53ea14dd8dd85382L,0x2f6d0513f26ba2fbL,
  60362. 0x374d9bee51269be1L,0xf976cdb243f1f612L,0x68b47bf7b5f171b8L },
  60363. { 0x726e93dc7095f377L,0xe6f18c57b59fcfb8L,0xffb56a4023d9eb60L,
  60364. 0x678c9508447caf79L,0x4cec83e459740ce0L,0x820ab7eff4d7d58cL } },
  60365. /* 22 << 315 */
  60366. { { 0x88eac51c8e376fe4L,0x096e70c49ef465b6L,0xb35265852004969eL,
  60367. 0xbd581669d29cc63dL,0x88094298745b6919L,0x317e386c12e7d67fL },
  60368. { 0x33848bb2e3d6f4daL,0xbace887f2a0ca785L,0x83b32feb197e67a7L,
  60369. 0x2b58535ade9c851bL,0x3e428b19c38beaa9L,0x784aa3d174f26de1L } },
  60370. /* 23 << 315 */
  60371. { { 0x10c5f1e5b292efd6L,0x47d92b88ddc96103L,0xc8743717e5e802e0L,
  60372. 0x47781ba8008dbb2dL,0x7abcd3acf02360fdL,0x673e2b05e9142308L },
  60373. { 0x501db7c76db93818L,0x285ced71f33dbda3L,0x30aa5fb5cdba4b44L,
  60374. 0x93d536c2df0445b0L,0x28a77bfa10196091L,0x26b9f668e38c4c7fL } },
  60375. /* 24 << 315 */
  60376. { { 0x98c3a697c0909659L,0x35c3b0f297d847aeL,0x67d9f71273a7a5a8L,
  60377. 0x28e83651b47bed08L,0xfca9e849567b3410L,0x5fa9a6ded291fe1fL },
  60378. { 0xd79682421976a995L,0xcff5bb36a0261383L,0x34166ef962e9922bL,
  60379. 0xd816b0342d433139L,0x3b62d3589c4b99c3L,0x8521f917104f7cc4L } },
  60380. /* 25 << 315 */
  60381. { { 0xc35a5c7874e09962L,0x1c340269e1690418L,0x2ed61ab4dca0de49L,
  60382. 0x2570d29ede2534ffL,0x9077691bc5143c88L,0xaa249a4a346f3ec1L },
  60383. { 0x57e4f1e104de76b3L,0x206859c3f415b99dL,0xdac6f415f9a15eb1L,
  60384. 0x2bf456d00a9501bcL,0x1ceb7dc41ef91323L,0x19c1fa8c3cb8afb0L } },
  60385. /* 26 << 315 */
  60386. { { 0x7761d8fc6f7b6eafL,0xdc439bfdcc0575e5L,0x33853d91f1ff4383L,
  60387. 0x6da20e4b75dc1254L,0x25a53b581969a1d3L,0xb40df56723311968L },
  60388. { 0xac150a297dd6aaebL,0xfe6865ce2a3ba337L,0xea05d97cf71013feL,
  60389. 0x0ab3cf008053c65aL,0x7cd38b647bab4869L,0x788cb867204cc6a5L } },
  60390. /* 27 << 315 */
  60391. { { 0x253a041e36e88e48L,0x1610f836b86297fdL,0x379d3da109334bb9L,
  60392. 0x62de4308777fa7a9L,0x604a46bd6dfefd1dL,0x9e4740ae314eed76L },
  60393. { 0x40ec32e12efde5ccL,0xa5b841bdd92c1faeL,0x01852e23dec68e16L,
  60394. 0xc76173b88b55b2c2L,0x4609f350377d5e77L,0xe9c4167ffd67c6b2L } },
  60395. /* 28 << 315 */
  60396. { { 0x52732a0a4b0fc112L,0xe654744e9d125dddL,0x9f76cf7e269beee7L,
  60397. 0x2fb8bf32ff80a2f0L,0x1bcef16262b7153bL,0xdedc255a43a4201eL },
  60398. { 0xb1b30b91acbd8a37L,0x147fae6f240adc8fL,0x5558702cb39bf39bL,
  60399. 0x171e58803e1eb997L,0x095bf301ed7c79b4L,0x29f1dbffeef752f4L } },
  60400. /* 29 << 315 */
  60401. { { 0xcbb2506e7535c370L,0x40ee37ec7ab20106L,0x74f502d4caca3675L,
  60402. 0x167e778db57c0364L,0x7726715b13fa3dccL,0x76097791f42e0c3aL },
  60403. { 0xe1d990c3379dd41aL,0x432454d785c8f5e2L,0x1f90c59562ac45e4L,
  60404. 0x63e156998ffe0c09L,0xc3bb8c29d42bf0a6L,0x027d5a86ecca4cfcL } },
  60405. /* 30 << 315 */
  60406. { { 0xaf8ca08b20492da0L,0x37b1fa1547508667L,0xc9fc925b96077958L,
  60407. 0xb78c83c19ecac8b4L,0xd9d953a17c05a67fL,0x970ee229b9ebcaaaL },
  60408. { 0x689cad7f55dc989eL,0xf02f05bc66c941fcL,0x8d00516281e23d8bL,
  60409. 0xfe603ffc8caebcc3L,0x592860bff303153bL,0x9ec1d5ab3344e524L } },
  60410. /* 31 << 315 */
  60411. { { 0x7e374b7b0f922941L,0x44b3f00174466c92L,0xcb3eb28c3c2fe678L,
  60412. 0x91079467bb9bf05bL,0x0d268749de2dcbe3L,0xb6383ba4c5204680L },
  60413. { 0xd50269f4951d3c71L,0x9209a2d53ffbf2e0L,0x2f6496258110f811L,
  60414. 0x08fc9fbb0b31e275L,0x697960ea1faec287L,0xae95e4a8c5420ad4L } },
  60415. /* 32 << 315 */
  60416. { { 0xc20fb9111a42e5e7L,0x075a678b81d12863L,0x12bcbc6a5cc0aa89L,
  60417. 0x5279c6ab4fb9f01eL,0xbc8e178911ae1b89L,0xae74a706c290003cL },
  60418. { 0x9949d6ec79df3f45L,0xba18e26296c8d37fL,0x68de6ee2dd2275bfL,
  60419. 0xa9e4fff8c419f1d5L,0xbc759ca4a52b5a40L,0xff18cbd863b0996dL } },
  60420. /* 33 << 315 */
  60421. { { 0x1304bd65ff0e8fbfL,0xa249adb53343deecL,0x20635fa9826e1293L,
  60422. 0x6283f098b7bddaadL,0x0d0a7820bc96fed6L,0xcd7605d47de0b9bdL },
  60423. { 0x4f0a9751586f9eb6L,0x2f6dde5556b2521bL,0xb7efccbd76264c6fL,
  60424. 0x7df9cd35b2613621L,0xc334c8f924a2ff4fL,0x914f472a0b13b604L } },
  60425. /* 34 << 315 */
  60426. { { 0x89092cbc5f6bb241L,0x8b4dadacca123b83L,0x9ba420eecd2dbaa2L,
  60427. 0xf269d1982dd6ef2fL,0x29f68d03809b338dL,0x18cf8675958ae927L },
  60428. { 0xc179d4b2bffac33aL,0x5356ffc1522695e1L,0x453474986d039c90L,
  60429. 0xcba0e0fc5a675530L,0xf369b7ab98a0c70cL,0x51f82173d508c254L } },
  60430. /* 35 << 315 */
  60431. { { 0x5f98e5aae8490374L,0xdd84a7506ca52a68L,0xb6904ff8a9244f56L,
  60432. 0x4c908c0362a5502fL,0x70ff1e01a8df73b3L,0x573a37f20df382caL },
  60433. { 0x5df73cf8c7dd1209L,0x965ad402abfbcd79L,0x61a633a59e67af24L,
  60434. 0x0953c83cc64203f7L,0xe14f58f9a1fd8dcdL,0xb5ea722887a5fadeL } },
  60435. /* 36 << 315 */
  60436. { { 0x55466aa1d896c2f9L,0xd03ade059831fb31L,0xc46711547d968dfbL,
  60437. 0x8ade0c97bce2fdb9L,0xb408c7457f6d843eL,0xb1bbe028a709cf63L },
  60438. { 0x1dbd25383ba4fe36L,0x1438d322dc1f2720L,0x1c3c46b9c37694deL,
  60439. 0xe57133dc3997e650L,0x754c171e422b95bcL,0x29c47f0da209c7bbL } },
  60440. /* 37 << 315 */
  60441. { { 0xe520480823822d0dL,0x745fe7aae3eab177L,0x6f0f4a7e808500edL,
  60442. 0x9383c632200c2bf0L,0x6f3130d7be22d432L,0xed7713d465511061L },
  60443. { 0xff84bc04049067acL,0x33c2be61d56210e1L,0x57d63f885ac04f01L,
  60444. 0xc2fbb773284fb49dL,0x46422426e1f349adL,0x3cb627c465863455L } },
  60445. /* 38 << 315 */
  60446. { { 0xea06cbe9a1edcfccL,0xb0438e198aff46ecL,0xa93fb88ba450240dL,
  60447. 0xfc4a370021b6b45dL,0x2503aa5d82a21241L,0x7533f1d7f540d3b7L },
  60448. { 0xd7a58a679277538aL,0x466d981a539c347dL,0x46f1682bf26488c2L,
  60449. 0xee2b4976318282e4L,0x8fe5e5b85a94409dL,0x40ca43a7b1a4fc28L } },
  60450. /* 39 << 315 */
  60451. { { 0x0ed4414c901e48d7L,0xdcabb46418340890L,0xd50bf12f20998781L,
  60452. 0x498a90232a596ffdL,0xcc877212b43f456cL,0x98d9d531f796c4fcL },
  60453. { 0x061e3b31977c11b9L,0xe56bc6f00a00c822L,0x756e62c96887ea43L,
  60454. 0x29129d53859ec944L,0x42342589146c1fbeL,0x2f2cd4bdd1884196L } },
  60455. /* 40 << 315 */
  60456. { { 0x3d3815d645d94a24L,0x4cd9fe1139f3e6e2L,0x8c7b8dae8e7eb572L,
  60457. 0x7e69faf40f7deecdL,0x0e54b3c0387e97ddL,0xd12e473175a1b6b1L },
  60458. { 0xb7163632c664f92aL,0x86ab4ea88d94e55bL,0x37212aef1133dcbdL,
  60459. 0x0c6c7fc6dfc0d47aL,0xacbcb077aa9e1ccaL,0x43cf50a726ef7fb6L } },
  60460. /* 41 << 315 */
  60461. { { 0xc0eb003c54d7bac5L,0x89780aea2b770baeL,0x13a194e8076bb29cL,
  60462. 0xb863585046f8aa90L,0x79ebc6066df515f0L,0x25ea422dd1ead000L },
  60463. { 0x16b03b8106c89b71L,0xa964da878ad9fff7L,0x2c96dc6b2e7b9072L,
  60464. 0xf71788978c93f6bfL,0x4c7ecef912688648L,0xed7b4a577c663be0L } },
  60465. /* 42 << 315 */
  60466. { { 0x5b7cdd0ad74a20d2L,0x273184f48bcdd2f5L,0x4d8d3b4ce3ac03f7L,
  60467. 0x0e2ff518a02cc60cL,0x9c006ad8b6fa606fL,0x401606caccf627a0L },
  60468. { 0xe7429a6f7b967844L,0xe4e5d1c1bc8ac8beL,0xc050f89ff4f46638L,
  60469. 0xd23a3eb452f918c9L,0x4528e4e202944b49L,0xeb345a689268719dL } },
  60470. /* 43 << 315 */
  60471. { { 0xf4fbd190ccec4c27L,0x7e042c8722674e8fL,0xbc79835ae8b33439L,
  60472. 0xc7923b8fad2124d1L,0x0ece42272c72542aL,0x02d638e2b9264875L },
  60473. { 0xbdf9fba1904e7683L,0xcbbc0e0aac934377L,0xea154d99459ec213L,
  60474. 0x87db3f66c3023e2eL,0x7f9262d518de83a8L,0x432fef4f3524400aL } },
  60475. /* 44 << 315 */
  60476. { { 0x3b5566d7938a395bL,0x920dc1111f256c82L,0xcee7f231a059c8f8L,
  60477. 0xdc3da434d48b3179L,0xb1e819e913f78de6L,0x94a21bb01f9819deL },
  60478. { 0x8ef14a96f302a94dL,0x9f897e1a079fff9eL,0xff9a4e0e54122af0L,
  60479. 0xac6a6cbef0b7f1c7L,0xfd15d9756401df3dL,0x500531a323a0b7b6L } },
  60480. /* 45 << 315 */
  60481. { { 0x12e22a012da0c724L,0xa0a837f3b80cba90L,0x89df9a3e2a9b5434L,
  60482. 0xf3299f64925840acL,0x0cc78a3a125b3dc1L,0xa4ea6203c723d647L },
  60483. { 0x5cee8068d369522cL,0x3e479803432d5e87L,0x86e809363ad8126bL,
  60484. 0x93e871c9cf89d85dL,0x892e4710286c9010L,0xa075a6d3ec3a1792L } },
  60485. /* 46 << 315 */
  60486. { { 0x095768bc7dfddf6eL,0xc4e331b4e63c4e60L,0x1179808104f28a2aL,
  60487. 0x415e33e1bee48983L,0x7fe8050144af7eb7L,0xdf6c423b2f28fbfdL },
  60488. { 0xd10886db007a2b56L,0xea578b286613f26dL,0xd18a9d1c2b90a815L,
  60489. 0xd4c6e8b2675c2c8dL,0xff973df5788bf2d6L,0x4fbeb6210d7e611bL } },
  60490. /* 47 << 315 */
  60491. { { 0xcfab317671674fa8L,0x78038a1afef7089eL,0x3109736aa27b5b55L,
  60492. 0x1b31325fc0193518L,0x3afd21a8be19b5f0L,0x548196a2d8028eabL },
  60493. { 0x15b0d6d2a94e6be0L,0x1552ffb67afd5dd6L,0x49b1150d89bed9eeL,
  60494. 0x2c59b0bfb0d1444cL,0xab265d7eb695a900L,0xa24d0788a1dd1ef4L } },
  60495. /* 48 << 315 */
  60496. { { 0x4e913e1131e325ccL,0xe92f7c8f2a65fe01L,0x8e61a80d5857aae9L,
  60497. 0x2c36923d53104397L,0x5b0911d6b36d5379L,0x76eb9b56b1207ae0L },
  60498. { 0xb5cd11646723c4aaL,0xa6bec13b98891a11L,0x09af8be29d806056L,
  60499. 0x7da8d29ecc1fc0e6L,0x231cc00e2aa8791dL,0x2ded362c042171c2L } },
  60500. /* 49 << 315 */
  60501. { { 0x26eb2ac96afa51d2L,0x83485eff13c04ce8L,0xdedb48718072d8dcL,
  60502. 0x4da1771d8ac3d411L,0x2d8f99ef849c6c0bL,0xea65f6bc2b5882e4L },
  60503. { 0x60a90f58fd671216L,0xb9f3e2058af33bedL,0x29c41ec92bf02916L,
  60504. 0xcdf15b1de5ddeae8L,0x67f9ad163109e99dL,0xb9b5585f517d25e1L } },
  60505. /* 50 << 315 */
  60506. { { 0xae016b4811b3e20bL,0x5ccf3cf1e5164179L,0x1281ff8efe9fd47cL,
  60507. 0xb85438038e61bdf2L,0x694e42feba5856a0L,0x53f7e09759b32aa1L },
  60508. { 0x5b9848e9c341a531L,0x9a5fb85025952b73L,0x9d5fe0dea6f82c5eL,
  60509. 0x9216a8ca44090933L,0x3e986d4bc3272875L,0xc20534f8f3512e42L } },
  60510. /* 51 << 315 */
  60511. { { 0x718124a1033495a6L,0xc4f28a746834851fL,0x91186d80e1baaa77L,
  60512. 0xca4e13222a761e95L,0x7b6b8322582ddee2L,0x75d396c6c3c70c6bL },
  60513. { 0x075dcd6b54c75102L,0x3669b97c0b92622cL,0x621154e6f0cd45adL,
  60514. 0x7ff0029ff381a6d3L,0x3d37e750a726f84bL,0xc4f79202874de604L } },
  60515. /* 52 << 315 */
  60516. { { 0x215018fdec26297dL,0xaa06fd0bbf35d225L,0xe5fb438cab40bc17L,
  60517. 0x6a0ab335acb7f4c5L,0xbe1f4de4187a8e6cL,0x651deba961f7e842L },
  60518. { 0x2b30b0046f629aedL,0x63bdbf8e2218f107L,0x21a21aa5f9ca8bbdL,
  60519. 0xa88cd9138304f7e1L,0x23594fc6c5e6f9d4L,0x4d4db41a6682fc06L } },
  60520. /* 53 << 315 */
  60521. { { 0xca2317b0428dcb40L,0x9a7bd387288b5eeeL,0xd62da6d0a060584bL,
  60522. 0x601a3d6ce8f10251L,0x65718f0584885319L,0x5a87b1c2a1bc252dL },
  60523. { 0x27ae8015a37b05d5L,0xa624af9c98394605L,0x988220050ba4565dL,
  60524. 0xb93395c9da2613deL,0xcef9a880edcaa74eL,0x7b2ef0fe0976687eL } },
  60525. /* 54 << 315 */
  60526. { { 0x094f20588e5c6b80L,0x6e5a5f52846eabebL,0x9eaef2d7370a9345L,
  60527. 0x12d6f20687c19719L,0x0d2494ab9c44076cL,0x15ccc737de9309a6L },
  60528. { 0x8eeb8faf94ca6587L,0x7dc9a4fe3fe363f5L,0xf02f6e03b3b08270L,
  60529. 0x31adbe77daf15507L,0xc0fb2814343bb4efL,0x724007519bdc1d91L } },
  60530. /* 55 << 315 */
  60531. { { 0xd301525c1677fcb7L,0x11b7141bfb6b0dc1L,0x01f4950eb2163b70L,
  60532. 0x34c758c6ed3c0025L,0xd1b1c7573a5196cbL,0x7926f0a42fa19c66L },
  60533. { 0x107e5d32b1c47233L,0x0fe50b00cacbdaa0L,0xf45dd7e8e213397aL,
  60534. 0xca6b2de9eaa1db7dL,0xbf234b55dd09c2eeL,0x10db87d1a1db37f3L } },
  60535. /* 56 << 315 */
  60536. { { 0xaff57c87de0572ecL,0xc0745250826246c4L,0x523910fc700ef250L,
  60537. 0x8c23aa5793faa067L,0x87f7c7198e7dcf75L,0x45ef4adb46695227L },
  60538. { 0x0ffe09d196ceb1e0L,0xfb72a05790f3383aL,0x62d26e5e07c220d9L,
  60539. 0x03e19605766b1e64L,0xa774669458c17fb7L,0x9a851d828e7acfa9L } },
  60540. /* 57 << 315 */
  60541. { { 0x150e936f4baea8efL,0xeb5328d68239dfe4L,0xe064fd95b5f987adL,
  60542. 0x13d3803d52e7313dL,0x0e9738f5b215317dL,0xb6dd60a7974be106L },
  60543. { 0x00fa92bd6bac81d0L,0xdee050f9e7cb2338L,0xd7943d4f9075745eL,
  60544. 0x07cc4170819cfd9aL,0x21b7e0b04aef1468L,0xd7520b77aef07b1dL } },
  60545. /* 58 << 315 */
  60546. { { 0x126c012681097c49L,0x95339f9475c02669L,0xec3fc15b100115ecL,
  60547. 0xea5c8e9c49fb787eL,0x63168108bd3fbc19L,0xdbf2430541573590L },
  60548. { 0xcaa3a69686dbc847L,0x2c464fcb70d76739L,0xdd9e0bcd69e2fd74L,
  60549. 0x4ae92cc01652728dL,0xafe3e24812b060cdL,0xf3776c6ff951a38dL } },
  60550. /* 59 << 315 */
  60551. { { 0xe4ab1c417af22e76L,0x35a8addf038840dbL,0x95ba3e3dafd0d7b2L,
  60552. 0x2a7bf827f84417a3L,0x0bc177c729bf5a83L,0x29ef7f8bd09905a3L },
  60553. { 0x1df34fb1385e6c69L,0x079bc0fcf99e0d19L,0xcd2dbbc4f30eb5c7L,
  60554. 0x2d364701afa7447bL,0x3c7bfa087a791ef9L,0xe21508c8e71166d0L } },
  60555. /* 60 << 315 */
  60556. { { 0x0b204c9ac746ec60L,0xdd5efe2718b93b24L,0x484474e0ce15332eL,
  60557. 0x690be23d05a308b7L,0xeea3abfcb0f7081aL,0xaff69f36cd8e8720L },
  60558. { 0x5dadd080d951329cL,0x060c379c8cae67c2L,0x8e284705b20851baL,
  60559. 0xacc8d8a0e5df0e85L,0x8c024e789463544dL,0x15a9a3f08003076cL } },
  60560. /* 61 << 315 */
  60561. { { 0x095e284899e0ecb5L,0x61e9d5893415c1bfL,0xb1207d3017f5c585L,
  60562. 0x75f73f1d04e97243L,0x868551aa77bd50d8L,0xd530e0cc197f7d84L },
  60563. { 0xdd6ab731ea9fb71bL,0x26e5b52e2cf9510cL,0x4fba03ff11a88911L,
  60564. 0x6608b634e921e323L,0x4baf22f836d46a1fL,0xb8bced501bc7ace0L } },
  60565. /* 62 << 315 */
  60566. { { 0xaee397fa327d9bbaL,0x9a45e7a2d832e3dbL,0xccb43a730582ae33L,
  60567. 0x457b3271d4093b12L,0x409caea6370bd663L,0xa5019f25657f693aL },
  60568. { 0x5851c78a16478fe7L,0x5e09ace7ddf17dd5L,0x89ca68da0763656cL,
  60569. 0xb92d3321e2bad2d0L,0xdd5642098422f6bcL,0x4a6ea69946c04923L } },
  60570. /* 63 << 315 */
  60571. { { 0x7ba1f48579120405L,0x6c136597898be69cL,0x1e75e1586dcacc38L,
  60572. 0x3d3cb58b65ee4cbeL,0xbccee7a308db0caeL,0xee8bff34e77edfb7L },
  60573. { 0x123bc3f036f60cf7L,0x3b1dc9e779bb4c78L,0x036a8049fe5f0d85L,
  60574. 0xc4de23d318f66f39L,0x593cf51e3c436c16L,0xd4d40e906769584eL } },
  60575. /* 64 << 315 */
  60576. { { 0xf6827150844eefc5L,0x002e82c44515ef68L,0xa46c8f55c51916c4L,
  60577. 0x98c3524b61ee081fL,0x5ab7f2c2ad64872aL,0x0b503ff07e555faaL },
  60578. { 0x802e0d23b4c58d29L,0x122890402fd917feL,0xb56d19087af20d26L,
  60579. 0x8d619e216be50784L,0x10fdbb721372b851L,0xf2c1673e4935576eL } },
  60580. /* 0 << 322 */
  60581. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  60582. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  60583. /* 1 << 322 */
  60584. { { 0xd97a9b1451a135f6L,0x6d16aaf597b4df14L,0xc57160c254818818L,
  60585. 0x4dbdeab61d59be44L,0xb93a9dad81f2b247L,0xe2868cf5ecbcab33L },
  60586. { 0x5e1ce82883a86711L,0x29a9ca2f29c55428L,0xe716273a2d82b0dfL,
  60587. 0xb017f5f6ac8ff52fL,0x7563e79970ea7ccdL,0x5fedf0a63f0e674bL } },
  60588. /* 2 << 322 */
  60589. { { 0xa7f8501488d7b3fbL,0x3b5ec513ec78386eL,0xc6586b8a2ad5053dL,
  60590. 0x88c09a43fbcebe43L,0xde7f2a4a20054f16L,0x63daba80bbbb147fL },
  60591. { 0x087e48f37d352b55L,0x997e32a08317ab79L,0x8ae802ff7f27cac7L,
  60592. 0xb01a131c37b1f6e1L,0x3f0d4c2e9a6d1deaL,0xe06114fce7ceef80L } },
  60593. /* 3 << 322 */
  60594. { { 0x311df84c359590bfL,0xf907d69ddf6ca4b4L,0x876fd36782f22c64L,
  60595. 0x64c4d14d9713e68cL,0xd431858d6b07f539L,0x39dfea3384990283L },
  60596. { 0x6afb8cf080cf6498L,0x327056bcde060e9eL,0x5103ce4a49a71086L,
  60597. 0xfc94be75cdf853abL,0x2bfb105f8ca579cdL,0x02d19c3a50454b41L } },
  60598. /* 4 << 322 */
  60599. { { 0xaa03b474cde121c7L,0x74a648cb55e52c76L,0xb286ef86f37b57bcL,
  60600. 0x95b797eb2a6371d2L,0xa489ef894077ccbdL,0xf46ade048e99ca6dL },
  60601. { 0x5cf9e23723242d03L,0x33c7d32acb708390L,0x329523b6ba7ba477L,
  60602. 0xd406ab8757de30bfL,0xaa10e4a21536ca01L,0xdcec94f4dfa7aac5L } },
  60603. /* 5 << 322 */
  60604. { { 0xb5839fa424700097L,0x82fe2251759eb8beL,0xec5f34bd5f104a39L,
  60605. 0x7f3da509ed1cf49eL,0x62fe425244621c76L,0x2118b68dc7bba926L },
  60606. { 0xb0ac18009ea4b7e7L,0x33b21ca1fcc83f56L,0x1856161208458096L,
  60607. 0xba0e6aa95650f3feL,0x918d427231006f05L,0x955f3951b1066473L } },
  60608. /* 6 << 322 */
  60609. { { 0x0cb41ada3c59ee1fL,0x38b2465861d1633dL,0xde863b47d03e9452L,
  60610. 0x2bfab5b41548d45bL,0x580af6272ccb7528L,0x6744c7cb13c04327L },
  60611. { 0x5eca3ab339cc5075L,0x51dbfc7b6d243f62L,0xd64d84b7981ee3ceL,
  60612. 0xf639a03db4f2bc63L,0x8a411c36a317a1b6L,0x51edc4c0ed34eb3aL } },
  60613. /* 7 << 322 */
  60614. { { 0x01511b8a9d6fce5eL,0xb5c7b33f89a2875cL,0xa88e720e2fd79b67L,
  60615. 0x5337034404229e94L,0x40bb7e7ec94af25cL,0xc11501b99183a7b3L },
  60616. { 0x29a4d81fcec3cc7bL,0x143976fdd75b8febL,0xac8dad2cfa261ad0L,
  60617. 0xb14793006a2db8a8L,0xd4981293929c4a12L,0x5703506fb6eef856L } },
  60618. /* 8 << 322 */
  60619. { { 0x762a5eec1f5a9609L,0xfe4f5f6a765b337fL,0x0fd534aeaa4f964aL,
  60620. 0xcf46648ed6526f01L,0xbc62a54a18d71d72L,0x48d94f2a4f8488eaL },
  60621. { 0x62c40de7a0c72a86L,0xd73ac51a725dd2efL,0x3a51d7466ab19096L,
  60622. 0xf07bea4b2dd1ad3dL,0x2a0ec4672ef88078L,0x92598cb3664e435dL } },
  60623. /* 9 << 322 */
  60624. { { 0xd49f753012fbc44aL,0x769a4fc941c51d91L,0xeb1ed485981fd6a9L,
  60625. 0x90a4b3cad7daf430L,0x4bbffd5c75d07405L,0xd998a096da671888L },
  60626. { 0x0514ad4b6e10976cL,0x5d40328aab11d9ecL,0x86de976bfa180702L,
  60627. 0x259ca429f6f8a4b7L,0xe08970f05772eb4fL,0xca428fa1b5feb7a7L } },
  60628. /* 10 << 322 */
  60629. { { 0x9f3d76ae35af4a88L,0x0b92f48a242af3e6L,0xd4f8a37b7165d261L,
  60630. 0x30e1fa8b2b917832L,0xd26f821f8fdfc06aL,0x75359bcf3669d1a2L },
  60631. { 0x0ba3bcebb638331aL,0x8d02c0996c73b62bL,0x2a8c078d8c4f63a5L,
  60632. 0x55458ccaa312c282L,0x901ea0ea5eaaad9dL,0x03665da20e39eba1L } },
  60633. /* 11 << 322 */
  60634. { { 0x79a30b82da9affceL,0xafb188567204a29dL,0x2e64e6105a8ed24aL,
  60635. 0x6bf3695a9e44aa24L,0xc22320690c77fa6cL,0x20b3c69531524429L },
  60636. { 0x91e60caad6e0f847L,0xf0fa30c4542d6b57L,0x56a3a66bff98ceffL,
  60637. 0xec44f0b72c9507a2L,0x4ef13008c37e17e4L,0xc819ae81cda21355L } },
  60638. /* 12 << 322 */
  60639. { { 0x17c563be1cac0b58L,0x889cfcecb8491347L,0x591d49ac4cd1bfc0L,
  60640. 0xd4465510d4e53d3bL,0xca95ccf6ad079a6eL,0xce391389b5ea6eb4L },
  60641. { 0x600ccc9ca48b6447L,0x20d0c7dbc20d56a8L,0x5f27edc569c6c6e7L,
  60642. 0xb3fc0f4a586abcdcL,0xdbfdf3f985dbc5b6L,0xfba1cf254ea80fe0L } },
  60643. /* 13 << 322 */
  60644. { { 0x38d6267e427a9075L,0xd1df12006d63ea4cL,0x9887a99881407b57L,
  60645. 0x41accae4688e9f0eL,0x33c63c9e10886dc3L,0xf8332ac57574a033L },
  60646. { 0x7d77d41f4c636d00L,0xf6f4ca28add70d4bL,0xbe496330c0ee111dL,
  60647. 0xa4de7670b74bc69dL,0x683a93d369e5eabdL,0x4c5461c710963bd5L } },
  60648. /* 14 << 322 */
  60649. { { 0x9bbc99b59310424cL,0x6f4bce534568e290L,0x21373f5bc1572fd6L,
  60650. 0xe5ecd5b6a28b4394L,0xd56968f646ef7bacL,0xcbce8614726cc043L },
  60651. { 0xb2fa6101d0a49bd8L,0x65eaa7725a7b41c3L,0x10d7515296e5ae18L,
  60652. 0xec8f4639af389838L,0xac660d81bccaff25L,0x3c546ba931734025L } },
  60653. /* 15 << 322 */
  60654. { { 0x81b13d3ee098c584L,0xf8eb4e41fa3460caL,0x1bb889d1f0b905e3L,
  60655. 0xd158ebe939a3faafL,0x7ad0f829cf09735eL,0xc89611963aa8b3beL },
  60656. { 0x522327781be516cbL,0x9118d851ee88d911L,0x35ad130f0bf2a62cL,
  60657. 0xf35bcf1b39c05087L,0x73b992c3bce42949L,0x93ce50b95b42744dL } },
  60658. /* 16 << 322 */
  60659. { { 0xee6e7006b515fff5L,0xaedf6e3913258ed5L,0x373adf7dfc45111bL,
  60660. 0x0c7535b1875c23c8L,0x2a7e04f897039d49L,0xd76787ae9afd1a06L },
  60661. { 0x049dd38591b6dc89L,0x8f0c8ad0932dab78L,0xdce057b9925498c2L,
  60662. 0x7b9c9bd2da25daa3L,0x6d0b70a3d4decb7dL,0x099a218303df76efL } },
  60663. /* 17 << 322 */
  60664. { { 0xbfaf4b848c5520a2L,0x36fa343fc6741e50L,0xadcc36dcbd5211c4L,
  60665. 0x2cae5a8514bf0578L,0x8fee4d403fe4171eL,0x2acd2756624d0daeL },
  60666. { 0xaf99a323623aa9cbL,0x120cd2038c8191e2L,0x2073e8884068d993L,
  60667. 0x144851ac579bbf88L,0x54d458a4ee29fa34L,0xb7704255e5e5d676L } },
  60668. /* 18 << 322 */
  60669. { { 0x02f6e396617dc4bdL,0xbc48c42961497feeL,0xb27487fe0b4d22d7L,
  60670. 0x33d6b1161d0b0aabL,0x5e21cebad31278e5L,0xf7119a50dacd8f27L },
  60671. { 0xe47eff2cc8ab54acL,0x7c7ccd3bbbe16c9cL,0xc056d817c584bafcL,
  60672. 0x868ead2b97790d9cL,0x8fea6eea1a58126aL,0x67d323640fab2640L } },
  60673. /* 19 << 322 */
  60674. { { 0xee1a958ffa14b58eL,0x900644f9760b54e3L,0x97fa6fa451579d09L,
  60675. 0xa7351c3b26e7f95aL,0xc3546595aadfd139L,0x07b7ef48f14f1e6dL },
  60676. { 0xc8d100ec4d139608L,0xf98609b2d8741228L,0xf0890d9d33030d3eL,
  60677. 0x893b874fe28ed106L,0x5439b7aff7bb558aL,0xe68a3adba71a2261L } },
  60678. /* 20 << 322 */
  60679. { { 0xff54e8bc8acd597bL,0xdae781e94682b8c6L,0xb2265bc4ed1fae2dL,
  60680. 0xa5e23c29ea983db1L,0x4af5f55909851454L,0xffe9538836eb4506L },
  60681. { 0x4c72b2d1c2247b8fL,0xb179573331a67505L,0xb1aa8ad4e19c9c25L,
  60682. 0xb9cfea953e8b8004L,0x07782d788ac747fdL,0xe23e547fce9d9e41L } },
  60683. /* 21 << 322 */
  60684. { { 0xbc6b0088fd9e8e72L,0x7e51aa5dc6453462L,0xe8615fb9c8b1725bL,
  60685. 0x031f0d2a5a371c9bL,0xb9db0a647441d8aeL,0x0dd0446e9d5783c5L },
  60686. { 0xb3b7be2381720779L,0x49a8ecbb6cc5a610L,0x165c626152cd016cL,
  60687. 0x5fcd657da3f6ae6aL,0x30497fbc9f6988dbL,0xd734927936a73fe7L } },
  60688. /* 22 << 322 */
  60689. { { 0xb30ddd0e388562b4L,0xc485506b1f61067fL,0xf0da517684947c84L,
  60690. 0x04830cedeb067f33L,0x05084c8262404b76L,0xe7e7efad7996707cL },
  60691. { 0xc2a6a57fc78b9a7eL,0x4e55fd8c7bfbf308L,0x204e7c44d1386117L,
  60692. 0x979ecd5a4e56595eL,0x3bfc790853707b85L,0x2c3a41c59fcc5b7aL } },
  60693. /* 23 << 322 */
  60694. { { 0xcdbfd951ed6e2671L,0xb72c42ee135f6b96L,0x38c8d1ca40bbb789L,
  60695. 0xf6fa984cda03f270L,0x76dc5a19ed88deb9L,0xa8c88f2a9985bcd7L },
  60696. { 0x2b0d3b66c6628a44L,0xdf679b6a2b311954L,0x30a363c25f851b07L,
  60697. 0x78a5d242aecdb9cdL,0x42d7ca82a968b4e6L,0xb188e99af2efb94fL } },
  60698. /* 24 << 322 */
  60699. { { 0x779905b6d8948f95L,0x3c7085b591cd0206L,0xce9af0aa679096dbL,
  60700. 0xfdf04f10f558913cL,0x05300cb06f24a2e2L,0xf9d9a2f25d581b35L },
  60701. { 0x855c8de96a713751L,0xc9ac24bc0e0c0dfbL,0x67612a4197740d65L,
  60702. 0x7588a52744c9360dL,0x928ac910325cc880L,0xa74abdafacdd3188L } },
  60703. /* 25 << 322 */
  60704. { { 0x98d80359e7c5fbc7L,0x6abc82b7047c61d5L,0x8d8f5fbd58f2fd49L,
  60705. 0x321f2426ccb0a4dfL,0x379f10e2e96cac24L,0x34c0444130666763L },
  60706. { 0x8dd3972043632c61L,0xb2bbe2eec19f98eeL,0x00d5a467c464dfa3L,
  60707. 0xa44ceb19a85b6fecL,0x88bf80ddc9b1fa77L,0x7e5123c8e6dda98fL } },
  60708. /* 26 << 322 */
  60709. { { 0xf73ad540b75a6b88L,0x57bcf1cc08487cc1L,0x00358de735cd0c27L,
  60710. 0x86d469a2573df808L,0x4884cd5684716abfL,0x0157687fa7da61d7L },
  60711. { 0x8efd8acda732c2cfL,0xb6c9bf7198677236L,0x3d1f01826d46c473L,
  60712. 0xafa65fd82f497476L,0x535ee757e54f17daL,0x432b5878fe7aaef6L } },
  60713. /* 27 << 322 */
  60714. { { 0xf091c4ff3370e118L,0xabf011ee118d4b8eL,0xb489c4b7a13c7279L,
  60715. 0xc2dd44e93bfb19feL,0x10b68e92c5d859dcL,0x57935fc39249205eL },
  60716. { 0xb97e63b06c929bf4L,0x98cb08a739a25097L,0xb13f17c15eeedf15L,
  60717. 0x1e27a85c240884feL,0xda1515ad9b601298L,0xe01251fd4ce36c3eL } },
  60718. /* 28 << 322 */
  60719. { { 0x3774af36ba6aca8aL,0x562fcfb1340e6a03L,0xde45205ec1187539L,
  60720. 0xf3b114418799c22eL,0xfd53f681e8b0842eL,0x45a0039066d36d64L },
  60721. { 0xa2c3391d353eb1e7L,0xf9d9fcc55840eddaL,0x4df1fa4a6ab8ab4aL,
  60722. 0x2b0cd34bd841a623L,0x52441d79b10b189aL,0xfd86d3c2fa025da7L } },
  60723. /* 29 << 322 */
  60724. { { 0xe28f3bab5872204bL,0x6f87cbaf0ba35c66L,0x783e85c03d877c60L,
  60725. 0x376e5e2df132df52L,0x213d53a9bc2cd6faL,0x2e2a573008a13174L },
  60726. { 0xc0988fa9ba15290fL,0x51d81b9485456f81L,0xfe371f32a0ef5b80L,
  60727. 0x9aca060ff129171bL,0x0b02b39e0e402e65L,0x8e6bce1eae9c209cL } },
  60728. /* 30 << 322 */
  60729. { { 0xb0cb0f0c532f78c8L,0x83113e752d133635L,0x3f64aad5123dc64bL,
  60730. 0x4d3201c85aee8c59L,0x265905dbe75e8642L,0x9d1d277805f9a759L },
  60731. { 0x84778aead9e2a07eL,0xc747cc3a9c0aed31L,0x10d1b4e87af2dc61L,
  60732. 0xf58a6bd8af0bf23cL,0x83836c2352e1ee75L,0x88c4d1c6d899062dL } },
  60733. /* 31 << 322 */
  60734. { { 0x27eb26a3f3842d98L,0x90f712b69da68159L,0xd11177052676f05bL,
  60735. 0xdf603446073bf994L,0x28ad2b498bfcbb7cL,0x6916c6e2e5e1266cL },
  60736. { 0x37d516996e98d62bL,0x155d8ef749634968L,0x0676ea286a1b2222L,
  60737. 0x1dc3f8d71566cb3bL,0x95fb3f177dc6aecbL,0x092f4c8120807b13L } },
  60738. /* 32 << 322 */
  60739. { { 0x3c6c5618b9d926c2L,0x7e14c3ae4a9099f9L,0xb3259c90ae2fb830L,
  60740. 0xf7cc6e43ec31a504L,0x83bb13c6126230bdL,0x5a1f4313ff1dae3aL },
  60741. { 0x0cc6c1a549b0b65bL,0x67fa836a274a84c2L,0xd454c75fe604a58dL,
  60742. 0xceadfd912491f872L,0x6c5575da9ce116a5L,0xfaa4903fb24a4481L } },
  60743. /* 33 << 322 */
  60744. { { 0xc9ade1497c4579f8L,0xdad7eff3be316db0L,0x4ff3abc613fce23dL,
  60745. 0x09103a75da708e56L,0x4cf139fa8ab52827L,0x0f82219b8f251a68L },
  60746. { 0xd19719c7dea33388L,0xa482548423085413L,0xbb63cb43f8eb4b18L,
  60747. 0xeec33735f3b88079L,0xee79d331de3ddb97L,0x56fc93090e5acf8aL } },
  60748. /* 34 << 322 */
  60749. { { 0x951a780bcef9c5bbL,0xc37d442ddb35bf11L,0x8e2a0e7d64a776b0L,
  60750. 0xbf461becc652cf34L,0x3970eb603194f918L,0x2768daedb3bda869L },
  60751. { 0x8e81257557b24bf2L,0xae05e2db38dd69cbL,0x0adab288cee2f522L,
  60752. 0xc7a0e1f148234f13L,0x285f6ee36728c9e9L,0xb9ae7b9fc4541e19L } },
  60753. /* 35 << 322 */
  60754. { { 0xfd90c5c1f6422b56L,0xd9fc8cce4dfdb947L,0xf3566dc4d088588eL,
  60755. 0x25dd9e27f22682e6L,0xb077392119b0a532L,0x54da228c0d05a9f9L },
  60756. { 0x0f7fda40986f60d4L,0xb6dafff6c9b112feL,0x7eb99e1a4abfdfcaL,
  60757. 0xed499eb9389611caL,0xf230d6d6f251477bL,0xc09d328c227ecc92L } },
  60758. /* 36 << 322 */
  60759. { { 0x9b21ef6c16cdcfeaL,0x233be0c3694edecfL,0x110243df7c49c931L,
  60760. 0x03a59a2ea3113ed1L,0x6470f721023c9a77L,0x7d1640c88e9ff099L },
  60761. { 0xc21488316f2c7b37L,0x9e1c9e1dac6eebc7L,0x6af65a671109ca9cL,
  60762. 0x8379fdd9cc6f80d9L,0x33f74ade7e666a4fL,0x07ac728b7be081a5L } },
  60763. /* 37 << 322 */
  60764. { { 0xa3df31a312354705L,0xffc8fdfc1aec1bd7L,0xd9dd39c112cc342cL,
  60765. 0x8077a57e37bf43fcL,0x0f037ce49cb8751eL,0x5740f6b5b805b530L },
  60766. { 0xd26422704e2b5b93L,0x114bb1f02dc158efL,0x71881767a9bec3d1L,
  60767. 0x1174386d266d95cfL,0xa373d7ea7cdd4461L,0xaf4f7b40d814a33eL } },
  60768. /* 38 << 322 */
  60769. { { 0x0db94a18f79761beL,0x263e2acb5717b98cL,0x78c28d8182567b0eL,
  60770. 0xce1b366b893c35b4L,0x1e20b1bc0d6907a7L,0xd6f123474b973588L },
  60771. { 0xfb945471f717e91bL,0xef85653cb027bd4dL,0x048e9e1df07dc0e1L,
  60772. 0xc494aa9cc163b83dL,0xfaec72d3021b4fa5L,0x5c63c30fc9869fe6L } },
  60773. /* 39 << 322 */
  60774. { { 0x2dfa058d510d8d86L,0x772fad416a89aa0cL,0xdf55d15cd586f23dL,
  60775. 0x7d96b7a989b604f6L,0x352fe049a38d821bL,0xfc56b8df4fbb5795L },
  60776. { 0x264122b4b3d5dd0bL,0x89317f4a980177d9L,0xc060ab4a13e2aeecL,
  60777. 0xc2676725e2cafc87L,0x78863cf45eb1df3cL,0x2e1572dc0ab1a715L } },
  60778. /* 40 << 322 */
  60779. { { 0x7a8a898d5a4703aaL,0xc59933ea1cd6f9d6L,0x703265f5d28124cdL,
  60780. 0xe1c1bee10178d1feL,0x9ff31cd4241262e9L,0x9174a939a3c9f80fL },
  60781. { 0x0f7a3d2dbc2a62eeL,0x0454051c62f1b3acL,0x83502c9ea2421254L,
  60782. 0xb4fa51fcb684199bL,0x257e9e2bc5e36a44L,0x14efeed597d8647fL } },
  60783. /* 41 << 322 */
  60784. { { 0x09bddbc28f2b12baL,0x8af83a779b7f1c14L,0x88f9b4d3bcc934bbL,
  60785. 0x8d8312df8d072340L,0x2ee105bc615989dcL,0x6044fa00de3bab08L },
  60786. { 0x98c499d603cc86ffL,0xf0b48aa7c5068033L,0xdaa536d2c96606d8L,
  60787. 0xef905aa2bc6a843eL,0xb6f108ee8ac620ecL,0x0dec7dfbb6dd66f9L } },
  60788. /* 42 << 322 */
  60789. { { 0xb9157d4ab0fe18a8L,0x139bbcbc68cc7a70L,0xd546a06d7dea2914L,
  60790. 0x8db142d4a01cc59aL,0x127ce2d9aa09fcdfL,0x3950a5a63bfef8deL },
  60791. { 0xf41ef6d42527522aL,0x4b4e6f107e6fb19cL,0x2a2735d1345788c5L,
  60792. 0x87963e1ee72a7ae3L,0xb58d8934fc443360L,0x93552692b16b6f2eL } },
  60793. /* 43 << 322 */
  60794. { { 0x70591a849518f0c7L,0x5c282b6fc67c438fL,0xdbf61b6b100facc1L,
  60795. 0x3c5d969f2bf2a5beL,0xe1a0c6cbab980c70L,0x70f4981c680619fdL },
  60796. { 0xc6905d7cc65be256L,0xde3340fbb5c27acdL,0x17be9d182c1b3fbcL,
  60797. 0xd584e4f96fb00b1dL,0xac5dc14eb819646fL,0xf5c3279a3242935bL } },
  60798. /* 44 << 322 */
  60799. { { 0xfdb13b31be970ebaL,0x119b1c08b0bfadc2L,0xed62f35e21875542L,
  60800. 0x73c8f9b0349a6d12L,0x8c35d8f8bd1622c0L,0x501b9d288b6521a0L },
  60801. { 0x377f8fa1c918b2d5L,0xe2a9580cd0239ef9L,0xee24f4f0371d7bebL,
  60802. 0x4cc697a669231b47L,0xa55193c8dc4c5a07L,0xd4e51e1db0ab8507L } },
  60803. /* 45 << 322 */
  60804. { { 0xcb811c27265f267fL,0xb85593aa9e2688f4L,0x57a1969dd76bf364L,
  60805. 0xc29946c9014483a2L,0x5bdd72490915bddeL,0xba6d13ff22746ae4L },
  60806. { 0x524121e0d25f6b7bL,0x9011309e0d68a3f9L,0xf25e89ccdb91c66cL,
  60807. 0xae79cad781df593aL,0xef8c6bec4f103231L,0x832659c3e038f02eL } },
  60808. /* 46 << 322 */
  60809. { { 0xd58eeece37761959L,0xba6d8ab5b328f084L,0x3911e6ae324a6706L,
  60810. 0x299921c8ad139296L,0xb81a3fe4f6b8d9e1L,0x2680c46f5ef06a6cL },
  60811. { 0xab9cdf368611d63cL,0x6c9fa5b3cc0a5da8L,0x712356a3da4d4412L,
  60812. 0xc1707a10cd3f550dL,0x5c25b2f3ce468303L,0xe4be20bffa546b6aL } },
  60813. /* 47 << 322 */
  60814. { { 0x797a2919515ee1dfL,0x65dd5991119dc9d3L,0x82e8201b41e4c5ffL,
  60815. 0xd27b35130d3dd45aL,0x9ba590c5b13b2dd7L,0x0f15b35282992935L },
  60816. { 0xef39971e227e4e46L,0xb74c524b2786fd6dL,0xe09c28ec71b1579eL,
  60817. 0x0d1418e285f6a935L,0x173265448719fbe7L,0xfe3b1d831200b35dL } },
  60818. /* 48 << 322 */
  60819. { { 0x6e96a8195cecb21fL,0x3a58d8b2d8beecaeL,0x93c3cbb0c0c715a8L,
  60820. 0xfb06f977541759b7L,0xf25ba095771c3d2cL,0x7560446ea3bfd322L },
  60821. { 0x7cd99f35a015cb4fL,0xa0e541960786f235L,0x0f868f768b8e291aL,
  60822. 0xc8260b0b2f95050bL,0xaf38376ef4c0a462L,0x2b3c0f3b98a3395dL } },
  60823. /* 49 << 322 */
  60824. { { 0x99d4529efed6a724L,0xc6f1b084071d8d31L,0x6c48062ba097da1fL,
  60825. 0x1dd10493301c1d74L,0x5288f194f554cbccL,0x77b1b81f39dd42c7L },
  60826. { 0xeb1f2d53a007a6d8L,0x43bed54e05648d75L,0x1a85326f29801a1eL,
  60827. 0xcb9a91a4f564d78aL,0x4f38fc7893f071deL,0x920117d8aeeeb5adL } },
  60828. /* 50 << 322 */
  60829. { { 0x709b5904b35cba78L,0xef0c321021b11d3dL,0x38f07eec46844b18L,
  60830. 0x2e79f99934870a55L,0x9e9df80400d7b924L,0x857a95625cafba4bL },
  60831. { 0xef8ab68f4adfea6fL,0x4a83bfc16ea764e1L,0x21f4c75475e8d874L,
  60832. 0xa3597f526ecdf5d1L,0x9d3a4766eff2e1e6L,0x9872db39e5e6ae81L } },
  60833. /* 51 << 322 */
  60834. { { 0x42d9f39e99bb9a10L,0xe617263ce35e4852L,0xb3f8ace1a06b71d0L,
  60835. 0x861520de6419d9d1L,0xc2c521cf37b1fe38L,0xd537001b9edf9936L },
  60836. { 0x92614b9f39af94e7L,0xd2003f2e25286664L,0x249d04aeb836d4b1L,
  60837. 0x3c6c192ab26df88cL,0x6e0b25442c72ec0eL,0x69d7f6d7497f03dcL } },
  60838. /* 52 << 322 */
  60839. { { 0xbb5a95f6293cc00fL,0xb202a82a65fb729eL,0x819c26aa12e35774L,
  60840. 0x70cd5237c2b3f0b2L,0xa752224a89b2c5ccL,0x71c09cbd0ec89df5L },
  60841. { 0xb849e352bab45d24L,0x290f0307d313f461L,0xf083031cee885e9dL,
  60842. 0xdf42a973a60bf2faL,0xe39f2118d4842999L,0x8b54cf1d0508febeL } },
  60843. /* 53 << 322 */
  60844. { { 0x8942b4df0d846a3cL,0x18db708662b6605cL,0x6549e019fafa6508L,
  60845. 0x85d97fce43ef9443L,0xe9f13da373485de4L,0x5743297bb0f46e8dL },
  60846. { 0xc52781bb70908255L,0xcd88a48a6bc6e666L,0xf857caa5eb4f54d1L,
  60847. 0x32dc925320974dfaL,0x6dc79fad965146e6L,0x24e3a8d2edc1f747L } },
  60848. /* 54 << 322 */
  60849. { { 0x1993fa650e81671fL,0xc6acd9f3dd1a1e4fL,0x227edd1a7bf36f1cL,
  60850. 0x4ad2478370867ca3L,0xed0254f758b9a7c2L,0x63fe279a7013a5a4L },
  60851. { 0xa65787ee232e6a88L,0x5faceda487161d5cL,0x36e351b603d64c37L,
  60852. 0xaa265f1de9e30871L,0xbf3432f521e6f66bL,0x69d68c068621289dL } },
  60853. /* 55 << 322 */
  60854. { { 0xd2bd143ea0807eeaL,0x474ad99582568efeL,0x0fcd6bba7d482c5fL,
  60855. 0xf83e6f15e2628f4eL,0x314508252210e41cL,0x8f0a9402f47de776L },
  60856. { 0x7f20bc562ee4d1e0L,0xed4157de791aa7a7L,0xbe443399be2dee9aL,
  60857. 0xb461643371625f13L,0x1be21ba8771f55c6L,0x04b3035a300fc187L } },
  60858. /* 56 << 322 */
  60859. { { 0x0952b888b9d0bdf0L,0x3973763c8ce32fb7L,0x221f0ba56dd860c7L,
  60860. 0xbb7a27feb16ac501L,0xf113b194bc8fe58fL,0x18f3297a65839ffbL },
  60861. { 0xa2d4eb7c8dc30003L,0x3fb4b4878e334479L,0xa4f32c651a8310e3L,
  60862. 0x944cd644f78f46acL,0x14e40c4af96fb91fL,0xc31402bd4ddf6e72L } },
  60863. /* 57 << 322 */
  60864. { { 0x9eb2c9e51ff0ab88L,0x0a29fc0695cc3436L,0x3f4b4ebdbd298127L,
  60865. 0xeb8ad8b52ef56848L,0x6159700f5b211ff6L,0x8fb98f2fc3a67bc0L },
  60866. { 0x5c5998ffbd195b66L,0xea99d6767e44a64bL,0x314316e4bafd1471L,
  60867. 0xb5f48757cc8c0e77L,0x922a91d15b259ac8L,0x2458279cf9fc4e4eL } },
  60868. /* 58 << 322 */
  60869. { { 0x945c5a3c6aac3e97L,0x5cbdfad9a266ad50L,0xa3e38114fe59f5ceL,
  60870. 0x1ca1cfdace3ae206L,0xbe1f15e12a84cfdcL,0x682514726a12ec3fL },
  60871. { 0x48409f871f57341aL,0x632c369e8461bf7fL,0x1c96fc87d8865ed4L,
  60872. 0x1727934ae1ffc51aL,0xa60f0ebb6d71f51dL,0xb6c354052e411888L } },
  60873. /* 59 << 322 */
  60874. { { 0xc7b3d3bb72a77726L,0x04b9bdfbbdb03d78L,0xdbdbaa7e2fe88db4L,
  60875. 0xc5848e58564710b6L,0x7bbd84863ec55713L,0x1b5aea5670183191L },
  60876. { 0x95d91bb25340d9b7L,0x9a1462e4187a3252L,0x5cee9b8cec352fedL,
  60877. 0x7db8350137049284L,0xa1d2822cd3b714f3L,0xe4cf6d53c2e51da6L } },
  60878. /* 60 << 322 */
  60879. { { 0xdb2a2ac9a63f6f62L,0x4c0d2da695f20639L,0xa485a6adb475e177L,
  60880. 0xf6dad8b5aa93055fL,0xafcc1e954974bc52L,0x6686940224fcf32fL },
  60881. { 0x10c138bfc103b013L,0xe74ea82bc6faba1bL,0xddb399c581824de5L,
  60882. 0xae797b70cdaad079L,0xc648e7ad6ea955e2L,0xd07c5c919be79db6L } },
  60883. /* 61 << 322 */
  60884. { { 0xf4b7a33b39d93befL,0x4be176f9659da9f0L,0xbf57d975f36642cdL,
  60885. 0xe10b452d16d5528cL,0x7c062421a6bdd74bL,0xc093e346e7aa1d9eL },
  60886. { 0xb7cc38cc2f5c19ddL,0x9fc7f69b230c8790L,0x9b667acd5e3c5282L,
  60887. 0x1cade31144cd22ebL,0x53a0d702bb43a1e4L,0xb25868777906519eL } },
  60888. /* 62 << 322 */
  60889. { { 0x46e2415deb5003acL,0x05aee8855e8a6a0aL,0xbda9f162bbaf343dL,
  60890. 0x658b350b21853341L,0xaf6b4948ced47246L,0x1d454740723cd3bfL },
  60891. { 0xc4b7ce3fe1aaef54L,0x619420daa35c9e24L,0x65d455b14eb7a52cL,
  60892. 0x2f9b700a4c961515L,0xa5b7b962d3aed448L,0x4e32a6d937851d3fL } },
  60893. /* 63 << 322 */
  60894. { { 0x2c4c1b2ed00f8cb9L,0xbf83ba500fd305aeL,0xb75bcf9f801a8e64L,
  60895. 0xd8ab465ccba76b29L,0xf5a2bcd74ea718f4L,0x81501d563b592ae0L },
  60896. { 0x9734e4e26ae6bac5L,0xc4860b0eee304e5eL,0x8bd59b7b1d59f1acL,
  60897. 0x7c9497e8e799594dL,0x4bc6634c08292918L,0xc45583aa92619229L } },
  60898. /* 64 << 322 */
  60899. { { 0xc5ad791eb45a8002L,0x4a23fd68ba2d7a40L,0x673b9e4998544bc4L,
  60900. 0x934d8f55d273c360L,0x7fb48d0768a75a8cL,0x2e6201055e0fac97L },
  60901. { 0xbe01655ff10ed580L,0xd21d52ae9e96731fL,0x74f830de53325138L,
  60902. 0xa7240331de9f3fc5L,0x96b25206a7e01fa5L,0x3fcfedee07eda4b4L } },
  60903. /* 0 << 329 */
  60904. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  60905. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  60906. /* 1 << 329 */
  60907. { { 0x3e6e93818d5c039fL,0x809494228a8d2cc9L,0xf2d7c8b4b843ec06L,
  60908. 0x0055d882af8a23f1L,0xe848010ed3792335L,0x9b41a55f55e08e74L },
  60909. { 0x956ea8e95de83059L,0xf159a9973263678eL,0x5f7b9271cca1b548L,
  60910. 0xd41d2281f1d0b7f1L,0xb187047b5c9963fbL,0x213ff6af02536cd8L } },
  60911. /* 2 << 329 */
  60912. { { 0xe51a95700d0fa76cL,0x67c7890e4d2e9c8eL,0xc6160fa2f974d2cbL,
  60913. 0xe00474f74c6a78deL,0xee916e510ac89d11L,0x1adad97af826f133L },
  60914. { 0x3fc65d3f8d2d77f3L,0xda9420750ba6c300L,0x5237a82e0b9196b1L,
  60915. 0x4975e680a572b6f5L,0x41ea8b92b9bed2bcL,0xbe0ad7109826825eL } },
  60916. /* 3 << 329 */
  60917. { { 0x06f721d30a9ec81fL,0xf0359222034f3e78L,0xc5ca6b7a5a44ffd9L,
  60918. 0xc53e328915764390L,0x7f16917459747d7dL,0xc3a9981461f79122L },
  60919. { 0x099f4e3a97aa46f7L,0xcb0570c9d70458a6L,0x270a43576b72f327L,
  60920. 0x9d6bb26cc33695bdL,0x60f9202126224902L,0x8eb0e108e1b0a51fL } },
  60921. /* 4 << 329 */
  60922. { { 0x8a390dca9fcaba39L,0x3879f0b4278d22b3L,0x77bbea69bc5e82f1L,
  60923. 0x71f02e2d4628d6f1L,0x6260790cf968e240L,0x1c7f3df5665270eeL },
  60924. { 0x336395451a87b1c8L,0x2011fd214ffd9fb8L,0x69060f867807ed55L,
  60925. 0x1b0ac0119dfa452cL,0xbbdb25fe06d27c0dL,0x5c25d23aa60ef90cL } },
  60926. /* 5 << 329 */
  60927. { { 0xc08dc153d9f75d6bL,0x5c1f07e7a0330237L,0xb3e6fb677d67a5c9L,
  60928. 0xca949ed098f9faddL,0x48b16b2dd7720835L,0xfdb1b735fee4d341L },
  60929. { 0x1a6b37b1debf3207L,0x5b3eeb1e3218c63aL,0xc19b57b504c23b30L,
  60930. 0x178bd3bb40669e2dL,0x74e57b26fb6b162cL,0xc3626931a0932b58L } },
  60931. /* 6 << 329 */
  60932. { { 0xd3eb69e4734b2e9cL,0x1c2754e2c35ff1b3L,0xa26681e69f3e8c51L,
  60933. 0x7892ad11a2cae737L,0x88b1da43cbd8bda6L,0x8a576942419d21c4L },
  60934. { 0x7c124343c90f4545L,0xa5a8d93b26453baeL,0x9a4c08fd76ae72e8L,
  60935. 0xa08b82d97b064e94L,0x4f803ba083725330L,0x33672455865235f3L } },
  60936. /* 7 << 329 */
  60937. { { 0xf7a5e2f0a51e695fL,0x3099bf9484adf10bL,0xb2a03c0f22a3ff04L,
  60938. 0x30303a910acec674L,0xaccb2f3ca59522f8L,0x00ff4d88f273ba94L },
  60939. { 0xf0056b4210e735ebL,0x3337279a7786e93bL,0xfecc77c44bb3c31dL,
  60940. 0x3385bf5be0e26a05L,0xa9454ab85f45fcbfL,0x41a4158346edb553L } },
  60941. /* 8 << 329 */
  60942. { { 0x1877dfd0c8110f1fL,0xea88f59d18db27c2L,0x9d089536c78e295eL,
  60943. 0xcbb5d55374a04cc5L,0xe3666006827f75edL,0x8557b81a61e7378cL },
  60944. { 0x74170170ed223f48L,0x84197a6ed86ee829L,0xd75a30f8ac1c4a0fL,
  60945. 0xd7e7be0d3cd92824L,0x5ea0abdb1b5e86d4L,0x41146ae1b3b615efL } },
  60946. /* 9 << 329 */
  60947. { { 0x6d340fd3fabd376bL,0xb5066b1ccc169cb3L,0xa4148142d20ef8f1L,
  60948. 0x0c5d66fb461544d0L,0x84c7a232d67043d2L,0x4c0e77867e609af4L },
  60949. { 0xb1e83f1af4619e4eL,0x40fca1a0b225d174L,0x39bb3a882e42fa4dL,
  60950. 0x04dfe833d2682205L,0x49016d9d685296f8L,0x2da587198b735155L } },
  60951. /* 10 << 329 */
  60952. { { 0x570deceb1ae5e9daL,0x5c079c70b73ead01L,0x522a30a6d2ce6639L,
  60953. 0x71dc5c3ff4056ac9L,0xd93c7a2dbaac149fL,0x5c3298b8f1844cebL },
  60954. { 0x282adf408c23c0dcL,0xbe4981899b646f86L,0xe77c1950628da9e5L,
  60955. 0x38cc27baa1fd5a18L,0xb5579728aacdca52L,0x8d34fdb4c8e1ecbdL } },
  60956. /* 11 << 329 */
  60957. { { 0x563e0b8a7a7fa597L,0x6697c375bb7dd079L,0x95758ff6c6233951L,
  60958. 0xca07993fa2059c40L,0xc3065507ce2aaefcL,0x9faed33c6ea927d5L },
  60959. { 0x0f8b48241207247eL,0x0044f6115eb2263aL,0xd7c9ce7c851596fcL,
  60960. 0x54729d523c69d424L,0x42cbdcca45876770L,0xc1e0e6ceeff2adcbL } },
  60961. /* 12 << 329 */
  60962. { { 0x323f2102adea7d6aL,0x035b354eb694b253L,0x66dc4e4a5b8a36c2L,
  60963. 0xb609222471795ca4L,0xd8c6d7eed300d80fL,0xf31f258db3b94954L },
  60964. { 0x0f2eb679277ced5bL,0x0b16efa3eba40e3fL,0x400035070dca4f36L,
  60965. 0xd34c91cb59a9a3a1L,0x5e8fea3286da6408L,0xf237959f03f31728L } },
  60966. /* 13 << 329 */
  60967. { { 0x1d3173653412e8d3L,0x1d14cd1b09695abbL,0x9044adf2a2cda00cL,
  60968. 0x60a6ccd60b7ba011L,0x614b100417284b46L,0xfb3d84b9cf840203L },
  60969. { 0xd65b3566532b068dL,0xc8c03996c2465150L,0xc9035c2df71c35f4L,
  60970. 0x350231a752222e21L,0x59440020451935b1L,0xd723a55cccfdd206L } },
  60971. /* 14 << 329 */
  60972. { { 0x1b5bc630bbaaedc6L,0xe7d25088b49cbb3bL,0x5622cbf70deb8cf0L,
  60973. 0x3b20803cd309c3baL,0x64c2e7deff45e2fcL,0xfa730ffb9aab84a5L },
  60974. { 0xba83cc514edfb52eL,0xe05c0140748bbd69L,0x27bbb5f52254ec43L,
  60975. 0xca740989324c8c40L,0xa21488b1d26491b4L,0xe2753a1f69d8626bL } },
  60976. /* 15 << 329 */
  60977. { { 0xea04908f64dab001L,0x8ea1f127b4debb2eL,0x87adb69534f155a0L,
  60978. 0x41595cfcca8afe0bL,0xffef042f8763ba08L,0xb7b4865decd3e667L },
  60979. { 0x2c46c97070c4c8a3L,0x1ab18c080403d206L,0x08b2d3c94b3df379L,
  60980. 0xc6a4c268a87a7166L,0x449bc61f5323b1f0L,0x8d4b7ced489ada74L } },
  60981. /* 16 << 329 */
  60982. { { 0x618ca06b8956146cL,0xd51f1e6f552cdecfL,0x981372cca3b6ce7dL,
  60983. 0xb44a68ee5f14bb57L,0xfc1167e96373abbbL,0x3d621f8b767d4c0aL },
  60984. { 0xc6dcdfebf6ecc778L,0xddda926282d1fbddL,0x477501aabfcbf2f7L,
  60985. 0x0be7228a67aa8277L,0x5de7b8331daab9cdL,0xb88a4f9a262feb4aL } },
  60986. /* 17 << 329 */
  60987. { { 0x203a666c608fea53L,0xbf71f8fde8979c08L,0x3bd58feba22a3d2cL,
  60988. 0x596bfcf521f178a1L,0x6f207d89f84beffcL,0x8a7c6dbb18097607L },
  60989. { 0x208f5e64a1c5c927L,0xd7d0e33478dc83c3L,0x5e9397261d4e30f5L,
  60990. 0xf3877242fa09a36cL,0x68e4338ae6a7b0feL,0xcf8cd131ac47b369L } },
  60991. /* 18 << 329 */
  60992. { { 0x28f18586936fb33fL,0x9809b2ab381bf7bbL,0xf6e16931eac3c252L,
  60993. 0x366d18335e151187L,0xe5b4c2357a3b6460L,0x693a9fa50a68bc91L },
  60994. { 0xa35f104a6a7f8b6eL,0x3e5d6981688676c4L,0xc0c081b10651a609L,
  60995. 0x6df5da2dd77057c9L,0x8bb271bbc4602847L,0x322547b3c4bd07d8L } },
  60996. /* 19 << 329 */
  60997. { { 0x9b56b9444deb8158L,0x5f4b15a6da5eb70fL,0x120afa9514cb0126L,
  60998. 0x01f6d00d6bdd0d78L,0x73dd7c5c463b1ce6L,0xc770cf35df00a133L },
  60999. { 0xb5db93a1247ff879L,0x1c12f3f0c70ecea1L,0x10168c4e5b59cc9cL,
  61000. 0x1e9e0f8a0e19efe5L,0x43987dc1cfd44b62L,0xb1d265c204814e2dL } },
  61001. /* 20 << 329 */
  61002. { { 0x8c283529233d39e4L,0x96300796c6092096L,0x2c549de55dde766cL,
  61003. 0x27e0b444b4151002L,0x802e5fc3f2f88f1bL,0x2af579c28ba1956dL },
  61004. { 0x52edd04ed68196c7L,0x2e22e71474a202b0L,0x338948248bf66459L,
  61005. 0x8f0d8c259e39df55L,0xee4f109e6c5276d9L,0xc0c893f0c5dc0bf0L } },
  61006. /* 21 << 329 */
  61007. { { 0xa3081bc75b3f17e5L,0x299e7a0222e46b9dL,0x36184c98a9afa278L,
  61008. 0xee2043319095a8a1L,0xf5e54622cd5ac080L,0x08d649013fa844a4L },
  61009. { 0xb20ddfc6d7fbb42bL,0x15130bdbd868a81eL,0x25e5fd2f32ff1a03L,
  61010. 0x907e3c01ca5288d3L,0x2f2f7496a1f6f96cL,0x831feefd38ab83d9L } },
  61011. /* 22 << 329 */
  61012. { { 0x06054c76f8482849L,0xc24b4a6a5fcca65dL,0x71c27e01a17ebda3L,
  61013. 0x1ffce0281be9dfb8L,0x3784c950ebc43854L,0xcf0ecc2dd5086510L },
  61014. { 0x86d0fc3cbe24d8ebL,0x5bad01911f21788eL,0xe2c3bcb9c49b3a12L,
  61015. 0x66f82433f7d5992dL,0xf7cc5eb913969246L,0xe52defd48660a6daL } },
  61016. /* 23 << 329 */
  61017. { { 0xd6d6a42b102490deL,0x9e6532acf40d27d7L,0xcd1591cdf2a08bbeL,
  61018. 0x973e09f234eb47ccL,0xb3a5915add4fa316L,0xb36ca6ceac38218dL },
  61019. { 0x73d370b3e58a0cafL,0xbc8fd39f07766be2L,0x3d5d9ef7c2ea7997L,
  61020. 0x22877500bbfcc1a7L,0xc54d0c6406e0547aL,0xf7bc1d2d564e9ef1L } },
  61021. /* 24 << 329 */
  61022. { { 0x7a9623b653fd1a04L,0x13bd35bf3a3b8500L,0xf8a5dec9e0f8e530L,
  61023. 0x88bcbe291d65dcd4L,0x09fe38036739541cL,0xebd04b7fe716a97aL },
  61024. { 0xbd8e34df1e5ef7cbL,0xddfc4243d7c4fd6cL,0x0183d9053519411fL,
  61025. 0x63450996f7a3c483L,0x18283cea01355739L,0x8c1d72cf9aaa72f7L } },
  61026. /* 25 << 329 */
  61027. { { 0xffcd4b6f9be9ff57L,0x0bff01bb939327efL,0xde596626b5ed90e3L,
  61028. 0xc07464ff4379e17cL,0xefd3e2c470d31340L,0x78b2192f4e7df61bL },
  61029. { 0x7cfe28def3faf2fcL,0xd2d1a994dd642f87L,0xa5d4fb1410b3377eL,
  61030. 0x2cb4978ead6fa00aL,0x5b6fe7a765fb3688L,0xc26c1b3336d5acdeL } },
  61031. /* 26 << 329 */
  61032. { { 0x551e1b4e8dc72468L,0x8a926cb2a7b2f1acL,0xb873e83b0fd12fadL,
  61033. 0xb6cde14fa4e7fb13L,0x81ae41415befc256L,0xffb0c636b4c7631cL },
  61034. { 0x80f1408f8a2478feL,0xde6d051d44fa7605L,0x5a15b1f84d44a1e4L,
  61035. 0x1a0031c5a0daafe3L,0x304338dd597652a7L,0x6830dcc7f257f17aL } },
  61036. /* 27 << 329 */
  61037. { { 0x62fae4072fdc8ea4L,0xff77522fcbe76ee3L,0x5fa03a454fd2bae6L,
  61038. 0x774c635e8dc90431L,0x718081b62ddc4376L,0xf4901a2c03e7aec7L },
  61039. { 0x5339a3109eb023d7L,0x15dd4f96366e35f7L,0x1f802d4a0e2d2e95L,
  61040. 0x8e5e9cb2fe1b1226L,0x175806f623a0de5cL,0x115a97db068c7bbdL } },
  61041. /* 28 << 329 */
  61042. { { 0x4a67ec76193aabbcL,0x3da6dec6d74761f9L,0x751720c90b35bb70L,
  61043. 0xe5e049058d9e0f8bL,0x3cd37c840858f29cL,0x7ff1abfbb881733eL },
  61044. { 0xa0c2698b0c4f7694L,0xc736419296b95e4eL,0xcfa55c5537ece651L,
  61045. 0xa2bbd6ae7cb1e9e1L,0xcd2292b9a0eb0e8aL,0x8aba99e18d5030d0L } },
  61046. /* 29 << 329 */
  61047. { { 0xa3f508a498fa3d8cL,0x4d894cbf45bcff40L,0xbcdac17d0c095cc4L,
  61048. 0x397caa6f407c2ed8L,0x2195056b5f97b4a9L,0x41eb6e0e97434508L },
  61049. { 0xbb5e4e4a73f211f8L,0x5e8e638f720a451cL,0x8470bc9e4974252dL,
  61050. 0xc487aae29f6a9a96L,0xaa66417101165deaL,0xc8af7172b603771bL } },
  61051. /* 30 << 329 */
  61052. { { 0xb7c74c58dc4a1d3eL,0xe3ec30160331ea39L,0x83afb271023c8712L,
  61053. 0xc2670d56c9c82680L,0xd426f350feca1061L,0xe8aee692ba6edc01L },
  61054. { 0xc916fbe546e801d9L,0xcb001c377097286eL,0xfcf79d2678ee1328L,
  61055. 0xb05b0634b6a4afb3L,0x2ab327bb306da14fL,0xc11a0294ba5ff534L } },
  61056. /* 31 << 329 */
  61057. { { 0xcaa287c30f00dfcaL,0x9ca672930601cc7eL,0x435e883fb105d00fL,
  61058. 0xf9cddbf91238536aL,0xda604ccb45f558c3L,0x7e51d9d182f48366L },
  61059. { 0xc1e8d50d7e8396c3L,0x58638b85edbb75e3L,0xe926aabe9b088d2eL,
  61060. 0x8103a34a428c41e3L,0x03e5e35d089deeedL,0x64969c6d93bb0b99L } },
  61061. /* 32 << 329 */
  61062. { { 0x7b7da028e19763ddL,0x662f54df8b98ff78L,0xc056d83c51f3dbd9L,
  61063. 0xe2f4d46fa91d085aL,0x31759c9ceb35262dL,0x624d0cf20c9dd29eL },
  61064. { 0x108cf9bb1624b02dL,0xa241444e345531d6L,0xf69816b273d372b2L,
  61065. 0x126575a7d5415e53L,0x546bb4c1306b8b0eL,0x82bb0c124d54ea5eL } },
  61066. /* 33 << 329 */
  61067. { { 0x85b355304c397362L,0x218a3b0eeda72e19L,0xd8eae54461729c56L,
  61068. 0x3d9b4a62735b571dL,0x12f3ee775629e437L,0xa72f9809095e5378L },
  61069. { 0x5420a641bbe6dd1eL,0x8121eb3d02f41fe9L,0x5698eaf945e7acbaL,
  61070. 0x8a5e1a89469c2f12L,0x801740e25b434e0fL,0xa4dbe1cc670f58bcL } },
  61071. /* 34 << 329 */
  61072. { { 0x2f1919df5819e9f2L,0x156489e7a62287a9L,0xed038deb20a0c2caL,
  61073. 0xf63ac2d5c5ab4fdcL,0xca2b648ce391ec06L,0x8258e3f45b047d2eL },
  61074. { 0xb7dcff56fd17b40aL,0xa8ace11f4bed747eL,0x542d70d175018429L,
  61075. 0x6c568967951bb2e2L,0xce420f73bb0e089cL,0xdae9623ed13f8eb5L } },
  61076. /* 35 << 329 */
  61077. { { 0x2d561034009a41d3L,0xf078204f5734d3a1L,0x2b8973ff7408e71fL,
  61078. 0x07cb9f95aab9c533L,0x376c1f59d0b35fffL,0x4a756c7fe851b313L },
  61079. { 0xdc690e9874dedeaaL,0x625b082f70cf3f5cL,0x44839b5803dfc301L,
  61080. 0x5835a6c3c520f618L,0x695425e3afdb68d5L,0xc04ce4c62db97ee7L } },
  61081. /* 36 << 329 */
  61082. { { 0xc1d9b27ecb5833e7L,0x9911909567a8a669L,0x9317f8c30ab9ee27L,
  61083. 0xfad65eb9f34551e6L,0x7725ec2e016504f6L,0xca492cb47ebbdfc1L },
  61084. { 0x6d2a3c962706aa66L,0x53e6d650836d8ee2L,0x109496434bc84bf3L,
  61085. 0x8442ee826df7c0f1L,0x7ab2eb9918fe80c5L,0x6a8579b35cd2ea35L } },
  61086. /* 37 << 329 */
  61087. { { 0x96adba7706e80e68L,0xa8839d6a0fe580e1L,0x755227e337a31a9bL,
  61088. 0x40b5fc70e27ec051L,0xb900a11b29af222aL,0x8fea2e509dd84811L },
  61089. { 0x4f844c8861b59ab3L,0x26739874560c0948L,0xb39f85ba0cc08828L,
  61090. 0xcdce2fca829082edL,0xbd17998eb4555dceL,0x827eae97a3608a9fL } },
  61091. /* 38 << 329 */
  61092. { { 0xa77087f4c98e17c4L,0x9fa12dadbe2985a5L,0xa68cabc94bdce4e2L,
  61093. 0x222a6fb6d3500913L,0x15e28fd5a9c0904eL,0xed31c63f7a91f825L },
  61094. { 0x9cd9f3e56f2f35b0L,0xa2b14261923cab8dL,0x71a780516d8ccbeaL,
  61095. 0xf1fe532bdfa937b4L,0x6e3d7252539d0a74L,0x27ef2720814cd797L } },
  61096. /* 39 << 329 */
  61097. { { 0x8bd8341e6899b9bfL,0xc2ea111680865aedL,0x0cabb5cf13fed0e6L,
  61098. 0xa11e82c1e4ce70c0L,0xefe3d4eb99aba16aL,0xd774db4dd8df10c3L },
  61099. { 0x72ee5c98bae14dbaL,0x9161d0b179b86e02L,0x1ba8b84585e5ba90L,
  61100. 0x3830148f17228bdfL,0x222499e2ba89b2a5L,0x5d50922cccd4f87eL } },
  61101. /* 40 << 329 */
  61102. { { 0x81dd074e4398751eL,0x87b11b480a3f3ebcL,0xb5afe1f0352b58f5L,
  61103. 0x6d2d94829c390eefL,0xd073f9a0f36a8d23L,0xa7c5abec466ebbe5L },
  61104. { 0x968c04a60539f145L,0x52a3ad0c93f4d3d3L,0x98e196bb15c0970bL,
  61105. 0x2af28ea370ab8ddaL,0xb912fbda7a039fa9L,0x3dd8d87acbd02ff6L } },
  61106. /* 41 << 329 */
  61107. { { 0x849b2f0b4ee5ebb7L,0xfd1b015158bea2f9L,0x260a6b5bfbc530f9L,
  61108. 0x2b6c198d06776366L,0x6540793f8074c6d2L,0x1c722c259871be11L },
  61109. { 0x8ce5241ce0560ce9L,0x3574db548096df0cL,0x1d9dd078b0fb8c98L,
  61110. 0x6049c7f25625a023L,0xd2c0853cb18d0dd0L,0x5e57bd71cd645f78L } },
  61111. /* 42 << 329 */
  61112. { { 0x8da9b831361ce377L,0x6496515b7dc06076L,0x870e7df3b8cba83eL,
  61113. 0x315ac0049f8f495bL,0x1a09dee576fe0978L,0xae7af621c18059a2L },
  61114. { 0x2bc9dea404fac2afL,0xc630bd5021b90a79L,0xbded6b8628c0f9a1L,
  61115. 0x709d72c7be4fe93cL,0x3d1e2eed74b22303L,0xcdaf6b1d0e81dfcaL } },
  61116. /* 43 << 329 */
  61117. { { 0x42d004f3be8ec138L,0x5379a3063d617cfeL,0xcbbd274ec1a87d06L,
  61118. 0xb9967c5284c9df0dL,0x0238d715c421e288L,0x787ee6abd239639fL },
  61119. { 0x746e4071adace009L,0x2e2545db61377666L,0x47cc241cf07deb1fL,
  61120. 0x0a0742f1847dee19L,0x50175dd06e59b0acL,0x95ce3065d2333a87L } },
  61121. /* 44 << 329 */
  61122. { { 0x65c33cf4ca5eba6eL,0xbc48b22e12c2f19aL,0x6c5bbde461fbdcb0L,
  61123. 0xe086202bbc503a00L,0xa9483799deecbb11L,0x9b2c0216279aff50L },
  61124. { 0xc10fce1069f99456L,0x2b0051d5b7820d55L,0xd2de9cc32129b5a4L,
  61125. 0x711166d9e4f565d6L,0x7a8c3dfb88075f30L,0x6914edda224ac45fL } },
  61126. /* 45 << 329 */
  61127. { { 0xca481b6e4e1e3cabL,0xf390ed5f7e12d8b5L,0xcda82616dcd06247L,
  61128. 0xf7d791422cec8917L,0x0c2ea9fe2364e5deL,0x471b71ed21f98e3fL },
  61129. { 0xbebd6a753b9aae94L,0xf9914c0b45f5d5a5L,0x07c823ca4b3dd18fL,
  61130. 0x0b8c09ab74ad2bafL,0x21048cf7c7376302L,0x080e4a00efb16ac2L } },
  61131. /* 46 << 329 */
  61132. { { 0x1699d711379e6c77L,0x9126d88c7427418eL,0xbb05797d825210acL,
  61133. 0xc0b611df315cb277L,0x90f82a9d61f69206L,0x39a79014f517228fL },
  61134. { 0xd9f2def450e8a693L,0x88c1104381e9d71aL,0x28e20b56451f8a9dL,
  61135. 0xeaa794763e101231L,0x3f1ba0c56423e8c3L,0x2fe7ce4e3c6c558dL } },
  61136. /* 47 << 329 */
  61137. { { 0xd706ab9cc55b1a3cL,0x99c453663aa386f6L,0x348c8f743617676aL,
  61138. 0x5f3c49092b9ef7bcL,0x26969963ff5d4864L,0x1f952e03f5b490ffL },
  61139. { 0x4007914e30cd5518L,0x3b38fd1e0b0e6513L,0xb25e0a81decbba43L,
  61140. 0xb7e77345a7d78431L,0xbb7bc23062467d4aL,0x616c1724598ad852L } },
  61141. /* 48 << 329 */
  61142. { { 0x5bcf287864e60ac2L,0xf70e78a455d53345L,0x88685de6707a7138L,
  61143. 0xa77646dcfb2041a4L,0x8608695289db3060L,0x08b7c4d8e27a1690L },
  61144. { 0x4148d9373ca7fd81L,0x58c7440bff7698a8L,0x9d722d4db0391d14L,
  61145. 0x5683112462b0373fL,0x87b0363be9a9992cL,0x51870cd18853db84L } },
  61146. /* 49 << 329 */
  61147. { { 0x775086f481eb73b1L,0xddf02d0e4db4d236L,0xab3d637445b09e54L,
  61148. 0xb7ef92657e883a2eL,0x20e6ae8f7f42b4b3L,0x26a14629bc49d85cL },
  61149. { 0xf0ee4e5ca4ed9ba3L,0x288c5b0793b0b721L,0x9c767a59e9917114L,
  61150. 0x3dde322015085ec5L,0x3176507f7ece24dbL,0x71e1995686cc47fcL } },
  61151. /* 50 << 329 */
  61152. { { 0x86dedf2e9b1ab85eL,0xf3330387c2d0593eL,0xf5e6143997e907a5L,
  61153. 0x1992569d8cd66e4aL,0x836b215e0869329eL,0x8b5c4891153ff215L },
  61154. { 0xf6c52f1b609dcc15L,0xa3a5258c085722c3L,0x0a4e81501c378dfcL,
  61155. 0xa8997ddc739040aeL,0xb1c4417a7180a073L,0x618009bff1dbab34L } },
  61156. /* 51 << 329 */
  61157. { { 0xc276e23733ec753fL,0x196a1ccee112da60L,0xcc049e2b953211efL,
  61158. 0xa60e1aa711dcc43cL,0x091ceb49cdfed2ddL,0x8fe1c52e72c69037L },
  61159. { 0xf66eac87a986ba11L,0x4917f822b273d90dL,0xf7ef04cc957befacL,
  61160. 0xf8a7ac1320b8aeebL,0x71f0db3dbe6af428L,0xcb0bf8ba566429c8L } },
  61161. /* 52 << 329 */
  61162. { { 0xf617674d2cbb40a8L,0x446ad46b4d11399aL,0x4d4246943076b6b3L,
  61163. 0x1b9e7d881c33ea9eL,0x8e1aa6716954589cL,0xf1099b26e221722cL },
  61164. { 0xb18904f94917576eL,0x0512b21bb549058bL,0x12c89a64a209ad3cL,
  61165. 0x421f5e575557cc67L,0xb42e17371b5a17edL,0x427c6a621ff3230cL } },
  61166. /* 53 << 329 */
  61167. { { 0x74e75db02bfb49e4L,0x7685588d58cf18dfL,0xfbfe8f56398e27a9L,
  61168. 0xd2711ec365666b9fL,0x1df7714d2c59b787L,0x0f2c4b4c486f8fc0L },
  61169. { 0x098ed315f847b688L,0x60c367e332a20ae2L,0x58f48cd6bba6dd13L,
  61170. 0xc41e31960616128aL,0x7f90dd69a3205005L,0x8e6ce9d23581c177L } },
  61171. /* 54 << 329 */
  61172. { { 0xcf2da6044a3b3618L,0xcfd27cc6b83f1814L,0x8cb45c0a6b9369a6L,
  61173. 0x1f11501633976ef1L,0x2654a1574afc708cL,0xb47f423860970498L },
  61174. { 0x548be9389fd8536bL,0x454fde1673ff1ecfL,0x44657efae96be82dL,
  61175. 0xc8e7e96b555df813L,0x2a0b3f4a4fccb822L,0x2e0f36b114b6dfdaL } },
  61176. /* 55 << 329 */
  61177. { { 0x227ba88551cefcb8L,0x81e8f52e00071a19L,0x4afd5a5d170fee3eL,
  61178. 0xc8864e274e17ff05L,0x1d8c2083710ffa4dL,0x22529baa9839c46fL },
  61179. { 0xad771341825a0a87L,0x34a3049edad7c56cL,0xf1f14e1712f3625fL,
  61180. 0x6103d1fabcd36dfbL,0x9f5ce7a949a7cf78L,0xa5a4e38a333cf634L } },
  61181. /* 56 << 329 */
  61182. { { 0x6c8e5a261d99492cL,0x6e5bab8e77f916a3L,0x9b014aad50ad6f39L,
  61183. 0x2a3933c51f107e26L,0x4b04395cc951bf73L,0xf8f683b4b0ef56dfL },
  61184. { 0x28c9fcdd1905c84fL,0xb03604f14141feacL,0xb546f58e53ace23dL,
  61185. 0xee5fec4efe688f02L,0xd8b43f6d2e91406dL,0x75e44b21261764d9L } },
  61186. /* 57 << 329 */
  61187. { { 0x56905026e84e6549L,0x1dc1958c5b84b0b7L,0xcb477afba55d3c52L,
  61188. 0x6c67cf7bc1434094L,0x739da94d2ecb03edL,0x8c45e5ee778ca2fdL },
  61189. { 0x66084f9712e2fe43L,0xee6a89e66c3289d1L,0x623b73abc5d1a215L,
  61190. 0xb0edfa31cbf45830L,0x8024dffbd7de3b1fL,0x2ddf805a27f25caaL } },
  61191. /* 58 << 329 */
  61192. { { 0xb4e5a5d5605d7341L,0xe7a7a4069a1d3465L,0x234783d66c60b1b0L,
  61193. 0xdd7ee2fb3b480129L,0xfd183240dbb7032fL,0xba2a97accaedc8c1L },
  61194. { 0x1a1824d3b0185c9bL,0xddc0f82cd36edae3L,0xaf7bbcc03116b17dL,
  61195. 0xefc9095985f6e8e4L,0xc6bde428acb9c328L,0x69d80732cbf991a7L } },
  61196. /* 59 << 329 */
  61197. { { 0x455a23a465ecec1dL,0xcf0b2a221d9e9887L,0x0b43131e3fbb1cc9L,
  61198. 0xd4ece789bdad49b9L,0x370c2f9aedfa4d17L,0x7f6855be15163f17L },
  61199. { 0x868a16f3735ecbd1L,0xd84527db08897c01L,0xcdbf5b18f2df294aL,
  61200. 0x8c500b1f12b99a2fL,0x929c58df2591e3b9L,0x314cb13714eae6cbL } },
  61201. /* 60 << 329 */
  61202. { { 0xd014cc6deda2479bL,0xd2586003f1a85fb5L,0xceb0611153cd207cL,
  61203. 0xe8c9fbfa647b3c16L,0x1f53e8e6ab7d6738L,0x06dcceabb060b5f3L },
  61204. { 0x80e023b2ab770ccbL,0x83ca0a5f4cda70d2L,0x19f7f5dfea1caa2cL,
  61205. 0x769041414ffe884eL,0xfa4d93a3fca3c05bL,0xd381f527e88e1169L } },
  61206. /* 61 << 329 */
  61207. { { 0xa4553b3534914b85L,0x03968ddddc176f80L,0x095fb9531f258fa3L,
  61208. 0xda9d2df7a554bb6dL,0x012a30ed84926864L,0x3fea37b12aa219d2L },
  61209. { 0x730d2c6d81cc6036L,0x96ea83c9ddd81991L,0xfab080dcef1678dfL,
  61210. 0x16e25c6bfb2fe230L,0xf083a2b298ef2fb5L,0x0c0d0767581feac0L } },
  61211. /* 62 << 329 */
  61212. { { 0xd464a6525bc81cc8L,0x513353adebfa99d0L,0xd1aa97c0be51245bL,
  61213. 0x0d37e590e4d20201L,0x7afc95cbb45c5c19L,0xdbd640cfb6a4ea8cL },
  61214. { 0xffcc3ff2be9c5b78L,0x61cb76ac1b2865d1L,0xb145bb0011352d21L,
  61215. 0x69568e5ce550ac6dL,0x454a33043bf7ee0bL,0xa2fcf9b45dad3642L } },
  61216. /* 63 << 329 */
  61217. { { 0x2e2c8fb3f33eaca6L,0xae1c78b265f75366L,0xbdc601092280d2b4L,
  61218. 0xed8409b7b6f472f0L,0x69eafa4f439e09afL,0x3b9ca2ecaa2b1531L },
  61219. { 0x59b2e8eb336e484bL,0x93ec3ecac5f0481aL,0xb01e690ad575157bL,
  61220. 0x811aebc262e9d767L,0x1b26c0e49a9065eaL,0x5712d2c969a18827L } },
  61221. /* 64 << 329 */
  61222. { { 0xdaa7fcc9f9474bb7L,0x3c82e74bafa5db2aL,0xfbf918c59894edceL,
  61223. 0x470c45eda9ac29a7L,0xdfd44f6fbc372f2cL,0x73a4790aa1e38d3fL },
  61224. { 0x23d2400ba9674837L,0x3dad71bc136a92daL,0xc76a488148baa4abL,
  61225. 0x73227e4ebc26e6b0L,0xe732edcfe8ef5662L,0xfe96aa5f0c5662bbL } },
  61226. /* 0 << 336 */
  61227. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  61228. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  61229. /* 1 << 336 */
  61230. { { 0x87c7dd7d139b3239L,0x8b57824e4d833baeL,0xbcbc48789fff0015L,
  61231. 0x8ffcef8b909eaf1aL,0x9905f4eef1443a78L,0x020dd4a2e15cbfedL },
  61232. { 0xca2969eca306d695L,0xdf940cadb93caf60L,0x67f7fab787ea6e39L,
  61233. 0x0d0ee10ff98c4fe5L,0xc646879ac19cb91eL,0x4b4ea50c7d1d7ab4L } },
  61234. /* 2 << 336 */
  61235. { { 0xcfbcbc4a7db62b5aL,0x2919bf514ab45ddeL,0x735de05622322f91L,
  61236. 0xd2590bda7662ae23L,0x63d468fed82be7a6L,0xc84d0435695ea172L },
  61237. { 0xc50f494120a6fccdL,0x2d613990620f44f1L,0x680ccd041fd25778L,
  61238. 0x25ddac444a3d0808L,0x41d8b738c4684cbaL,0x2611645f53963888L } },
  61239. /* 3 << 336 */
  61240. { { 0xb05cb834b0279be5L,0x2de7d0ebf08c5f93L,0xf023b5aaefa9e4f0L,
  61241. 0xb8061e5d9bd075ecL,0x7d2ba50f1aa41bfbL,0x8963f3e390865d96L },
  61242. { 0x7f221a794713ec7aL,0xc83bc5178500b4c3L,0x085feb6af6ab1540L,
  61243. 0xfd141024dc87cd93L,0x3e196fdb3239dbf6L,0xb7cf3e16dbcd5364L } },
  61244. /* 4 << 336 */
  61245. { { 0x1466c9f5e03a2fb4L,0xb866c006862a58a2L,0x291e8c75b5865550L,
  61246. 0x1ddb7154e65862ccL,0x285153bc2b997167L,0xe2fce0e7954b6c19L },
  61247. { 0x985d450616dc2937L,0xf7f14216ee41d9c3L,0x39e098dafa5fe5e5L,
  61248. 0x3fc26046f90f231dL,0xde5d5ced32afd0b5L,0xad688b1d60c09c18L } },
  61249. /* 5 << 336 */
  61250. { { 0x3720b1720f806b59L,0x1f696d47f224597bL,0x03c46e315b54eefcL,
  61251. 0x387e466472b0edaaL,0xfc59b03dee77476eL,0x86854e54607a7259L },
  61252. { 0x1478bcee3e9320dcL,0x4aa825a88c9d87e4L,0x71272f72cf272ee0L,
  61253. 0x19e3a4a38bd885cdL,0x9af6415b376ba31cL,0x6394b5a7807b2b36L } },
  61254. /* 6 << 336 */
  61255. { { 0xdbfcfa75e572e06dL,0xafa019d08b7d5653L,0xcc6c851d67a19b60L,
  61256. 0xace88bf431ae1a67L,0x74554a6193d1e135L,0x51ba2cdd4211890aL },
  61257. { 0x7cb326899e8d1f02L,0x29a6b8258b66ab99L,0x0a672c21766e72f3L,
  61258. 0x24bb718a880642e3L,0x425dc41d184d2b36L,0x96a1468e891024abL } },
  61259. /* 7 << 336 */
  61260. { { 0x3180789c26df7050L,0xe375a43e96cdfd31L,0x7951b895e99e922dL,
  61261. 0x987ea2503d0bbe80L,0x6d2f49f0e2fe79c0L,0xc9c2c636c2b18d2aL },
  61262. { 0x707798f3d8c8620cL,0xc2d603dad5c6a0eeL,0x46cf1e32bc447940L,
  61263. 0x4dfc145938a845f3L,0x210083fe455e5d92L,0x6be989eaa1fedc3fL } },
  61264. /* 8 << 336 */
  61265. { { 0x72fc8198dacc038cL,0x5fdae1d9f1077bbdL,0x369198bbd99e3036L,
  61266. 0x6b68390a0efddfcaL,0x8c35f3e4f0914741L,0xd2bc54ecca7d7807L },
  61267. { 0x564d991e3a8695d1L,0x5e1e14c81b0d937dL,0x51f30dab5d635893L,
  61268. 0x0427e346f944e49aL,0x1e0bf1b56a233bc0L,0x75b0ee6c617bf93eL } },
  61269. /* 9 << 336 */
  61270. { { 0xcd2db6797b1bbd75L,0x1ce5acecaac388b1L,0x715ab9f634c1fa9cL,
  61271. 0xa531e1b8e0815643L,0xa64511c692de769bL,0x8425126b785b8bc0L },
  61272. { 0xc8d9320de72e155bL,0x9cf36dcd5600a04bL,0xbea8b0f4c6e1f7fdL,
  61273. 0x6f9af6349767d85bL,0xc3ea9fa4c403ecb8L,0x0af7be1ed60a0e70L } },
  61274. /* 10 << 336 */
  61275. { { 0x180afdcc20928729L,0xec2e90f436bce72bL,0xa8a8c54d8f48e48cL,
  61276. 0x9d0c6a355248109bL,0x8bdd819baa6c3ae3L,0x95e221a6dc0bebc1L },
  61277. { 0x83e568eceb113737L,0xaa6d29c8a1a3a0a8L,0x0ebd5015c54fbda4L,
  61278. 0x692a84832a5c8b17L,0xa08e384b51836490L,0xf1904bfc37ded786L } },
  61279. /* 11 << 336 */
  61280. { { 0x2093335463919940L,0x34e4f27397ea3359L,0xbe64c5584d4156a5L,
  61281. 0x368a6c980497cf92L,0x59931a502288b8cfL,0x67d70ff8c36cf906L },
  61282. { 0x4175562a8886126fL,0x46ecdd1d55114ffeL,0xd12876f94efde702L,
  61283. 0xb0c9333fc046d908L,0x8358b04a2cd6c180L,0xcbaf4612336d3c84L } },
  61284. /* 12 << 336 */
  61285. { { 0xd77d9cd4fe8dee55L,0x7a0f60c12e43fc84L,0xecc5cd746d5da126L,
  61286. 0xb5ac6fee2382a984L,0xd9db83e26ccd0feeL,0xaa4dbcba350717d4L },
  61287. { 0xb3c0562c812ead77L,0xf7a995eea96cdd07L,0xd5419bf1ffeb4e67L,
  61288. 0xba0aa22e1226df29L,0xb8d0d7f4c1e333d1L,0x86fecca60a27388cL } },
  61289. /* 13 << 336 */
  61290. { { 0x9ea1d715dc579084L,0xc1e715dd0b1cf2a4L,0x624fa6e4926bf7d5L,
  61291. 0x5034c9d34f7b4e51L,0xc1b0ed7aba3a42a6L,0xd1847c28b73cdb77L },
  61292. { 0xa4794bc36ae49ff0L,0x50b2d908b9144fa5L,0xad112c778f073479L,
  61293. 0x040499dd4b98f590L,0xd415d273152b5e30L,0xd3f4ff3f39054cabL } },
  61294. /* 14 << 336 */
  61295. { { 0x1e0318d5fff93451L,0x40b91fa9283e197eL,0xdebc5a28089ac579L,
  61296. 0xcf25f527e9d98537L,0x73f7818d4ae08f51L,0x397f2cb6a956c875L },
  61297. { 0xb7d74ac57515436dL,0xc29a2ffd830664abL,0x02e273563cabe01bL,
  61298. 0x418417c103c78924L,0xd12994116535005eL,0x53fc391258f66295L } },
  61299. /* 15 << 336 */
  61300. { { 0x6b1fceac4d87dff4L,0xd31aef70f262f722L,0x894361782612da01L,
  61301. 0x1d3bdfa9963bc230L,0x9a46505ba7afa565L,0x662c2fc7a31db4ffL },
  61302. { 0x33983a9ae5ef30c0L,0xb8c874ee723f085aL,0xfb5fbc860f279c05L,
  61303. 0xcd9cc376ad0a380cL,0xcb19d881fdfad736L,0x1c3d9734585167ddL } },
  61304. /* 16 << 336 */
  61305. { { 0xd23658c8d2e15a8cL,0x23f93df716ba28caL,0x6dab10ec082210f1L,
  61306. 0xfb1add91bfc36490L,0xeda8b02f9a4f2d14L,0x9060318c56560443L },
  61307. { 0x6c01479e64711ab2L,0x41446fc7e337eb85L,0x4dcf3c1d71888397L,
  61308. 0x87a9c04e13c34fd2L,0xfe0e08ec510c15acL,0xfc0d0413c0f495d2L } },
  61309. /* 17 << 336 */
  61310. { { 0xf791c8196726ae9cL,0xc95c53f13cee0ca7L,0x816b37ae601b0802L,
  61311. 0xcf28a2371b854925L,0xdc4f6bc111d5d9f2L,0x222d6102df6862aaL },
  61312. { 0x93d3fcc5c0053ee2L,0x1d30937fdf873eb7L,0x925a2c2527d098b9L,
  61313. 0x8564c199001cf28aL,0x87cb85ed748b8479L,0xd12d6b2b184c1020L } },
  61314. /* 18 << 336 */
  61315. { { 0xeaf36b865bddb3c8L,0xa4bab6e0099f18ecL,0xe22839208addee4cL,
  61316. 0x485307e053bb454eL,0xf981c80d362db12aL,0x012190355cb4b460L },
  61317. { 0x62824680c78bd110L,0xf3e0b963d87df5f5L,0xd96de5e2758da525L,
  61318. 0xc6a810faa60956abL,0x913d5a7b8e3eb6dbL,0x27c581fbbc9e8c3cL } },
  61319. /* 19 << 336 */
  61320. { { 0x5edcd7dcb0c55d75L,0xaeb0b5c727838c23L,0x13d65db758c3fea0L,
  61321. 0xe821d853b36f1f15L,0x3435a4bc365e7703L,0xb890e52f3a04d292L },
  61322. { 0x6a96ae92e7a823f3L,0x3960ecb0ca611036L,0x81638aff210cb460L,
  61323. 0x5f95793ce6b983d1L,0x0d5029ffa3ae1a8dL,0x54f749b492ca1229L } },
  61324. /* 20 << 336 */
  61325. { { 0xefe0a702537c4a5fL,0x322ff89c151d0e69L,0xcee88b48491b757cL,
  61326. 0x8e92cc15b5da77c0L,0x3138b90bf6af039dL,0xeb73edd2f3748d35L },
  61327. { 0xf29f06435b8bb06cL,0x91ea9643560e4966L,0x013c274875acbcc8L,
  61328. 0xdb2d1d9703f1d40dL,0xed7aeef1fcac606eL,0x91395dcabff4b849L } },
  61329. /* 21 << 336 */
  61330. { { 0x952e4e21c8967f37L,0xdc9f71994bf85ec3L,0x6b01f3d00c141bd4L,
  61331. 0xc6601dec06c9ba55L,0x7d884fc0c4a5945eL,0xcab1de947e19d3baL },
  61332. { 0x9ca6aff02e3c9c5eL,0x01e828a1445e4a8bL,0xf97165ae80d065c1L,
  61333. 0xe2195895881978a2L,0x4834501fc6b77acbL,0xbcf7545445d99f5fL } },
  61334. /* 22 << 336 */
  61335. { { 0xbfc9c5071e434ba6L,0x30768f646f2634adL,0xee3a7cec1caf9c0bL,
  61336. 0x27c4fd0bc232910fL,0x5c5813ee24ff4510L,0xe5e731af901f2ce6L },
  61337. { 0x440ca2cf68f9aef3L,0x54ff9e837fa17587L,0x4d792db7982acc0bL,
  61338. 0x73c3863834846c98L,0x76cff95f8d6243d9L,0x5fa573399d015583L } },
  61339. /* 23 << 336 */
  61340. { { 0xe0419a6fb007e4cdL,0xc44ac4961f613529L,0x3408e15af18f82eaL,
  61341. 0x66bebd87d92d3b39L,0x1c563ee4f85d0c1eL,0xb31a8c891f7eb37dL },
  61342. { 0x65c7bf8c458a056dL,0x9d2ba592f25b6f73L,0x1ac4f0bc94eeb39dL,
  61343. 0xa008b562d9a9ac29L,0xe7de714589d1c354L,0x420f5cf04c2e45d2L } },
  61344. /* 24 << 336 */
  61345. { { 0xe11cc2e117cc0d20L,0x9b4cc698d406fabfL,0x6f6e9b0cb8567c18L,
  61346. 0xa0dcda9c61b22b83L,0x4c8683fa79ee53abL,0x7d46b3f82f11f0c4L },
  61347. { 0x91e74e482740aed8L,0x75afb62a056466e3L,0xc60bb430e8d0c16fL,
  61348. 0x36cf252522b4aae9L,0x3713f254aceb6dd2L,0xc2906379eb8c6fd9L } },
  61349. /* 25 << 336 */
  61350. { { 0x440da0369eb8b2deL,0x6c4d1a38462fbb19L,0xfd86930fb050f995L,
  61351. 0x2e5f1a8c954823a0L,0xe9122aefcb9f8e9aL,0xc9e923f2794be14eL },
  61352. { 0xdaa5663dbf740c2aL,0xf3a7ecd6df75c915L,0xa047a07efa80015aL,
  61353. 0x846b4d27ea4a720bL,0x2389717e295845f4L,0xf56f77f6cbf2eabaL } },
  61354. /* 26 << 336 */
  61355. { { 0xaac4f6a7e67b6dcbL,0x59ccb836d51c5183L,0x78d19f452b7ccb20L,
  61356. 0xb32d4ffd5a619a1dL,0x86b11dbe5c4bd17eL,0xd983e839a9b52073L },
  61357. { 0xfe9c0b92993455c1L,0x3a156676ea36006eL,0x578217fea907ca7aL,
  61358. 0xaa3c5489440a251fL,0x6760a166d7fdf3fbL,0x4a2fc54b4415c6fbL } },
  61359. /* 27 << 336 */
  61360. { { 0xaedf171dbe18bc16L,0x00febab2b2d026ffL,0x82b6d8890cdcca4aL,
  61361. 0x1b1e4c53445bc877L,0xc2174e10ed74285eL,0xced66cc02b243f6bL },
  61362. { 0x73e9ff69c7b9a66eL,0xc4fe5caad5e4d121L,0xaef80d67402c5d1fL,
  61363. 0xd3b95a0f2f3dcaf9L,0x00cb6e798ceeea00L,0x1ee2ca8c436f35e1L } },
  61364. /* 28 << 336 */
  61365. { { 0x0b21c764a6db111fL,0x7c36dfde24c5721eL,0x53a0b6db66e2d428L,
  61366. 0x6f37bf728169d776L,0x9baf6385a68511c8L,0xeaef9c919b218151L },
  61367. { 0x712cdd5bdd58d201L,0x50bcd0988d3f78c3L,0xfb6427b571fcb05eL,
  61368. 0x6245fe7cc4675aebL,0xb5b75b50fb767bdaL,0xc1d8b76ddd7a18fdL } },
  61369. /* 29 << 336 */
  61370. { { 0x6392686cbb52f636L,0xf10df7c41c46a5c1L,0xab7f88acc504a122L,
  61371. 0x2a179193fdb6a9d5L,0x2a7c7e4e2901f29cL,0x3ab41b80a2cc726eL },
  61372. { 0x8f577fc31fb5e412L,0x65cba0aeff7c47faL,0xa79191697f45c04dL,
  61373. 0x2712fcaeb29a4c06L,0xf2a879e4099f76e3L,0xd333fabd98a22a04L } },
  61374. /* 30 << 336 */
  61375. { { 0x87a905e056ddf14cL,0xd36289cb95a1c633L,0x2fb251aa57f8f0f2L,
  61376. 0xbf9c72a9fb7907a4L,0xb4f9b6f3f771333dL,0x7b5ed437469ea10bL },
  61377. { 0xe8cfa847fa5a8f93L,0x456395c945a4c9a9L,0xe20ffc39f7fac5a6L,
  61378. 0x8b07c9ff287a3c78L,0x117f306f67e66d0eL,0x97c8a6388b331e09L } },
  61379. /* 31 << 336 */
  61380. { { 0x1b3e04c26a98318fL,0x04d5ed5dd5a63b2bL,0x4098d09f3cebabecL,
  61381. 0x226bb70565a14306L,0x5bdce76fd962a94fL,0x47a66e96c40dedbcL },
  61382. { 0xd514ae5bbedcfbb0L,0xa8c0fe40892f07e7L,0xcf78e224c9186f1cL,
  61383. 0x2499f68fe94329e0L,0x3ea3fae5ebbe3d2fL,0x681fca8bbc631de3L } },
  61384. /* 32 << 336 */
  61385. { { 0xb097b2c5c4e81268L,0x7ef175521d50ca8cL,0x638266e942099644L,
  61386. 0x43d059deff729073L,0xeebb5fe1148c3940L,0xb82e73d1daa8e925L },
  61387. { 0xf43c78d8254380fdL,0x2beabc58fce37fa0L,0xcdd5a7d66b636357L,
  61388. 0x8b70a2ebe096a954L,0x011d5419d0afa2fcL,0x3e49eb6704fb095aL } },
  61389. /* 33 << 336 */
  61390. { { 0x5c73f69fb99abd8eL,0x0a7c36aacc1ed636L,0x9d2fe67e7f69a6cdL,
  61391. 0x04d015fd48c34b1fL,0xc50f88c17f84915fL,0xeee3e105a706fb24L },
  61392. { 0xbd42861c734d0513L,0x544b6ef495408b60L,0x4526e680d40179beL,
  61393. 0x9f984c4140ab740bL,0xbed7baee67a02ab3L,0x09e3446862a9fb2eL } },
  61394. /* 34 << 336 */
  61395. { { 0xdf64ebcf28eedf59L,0x435531be73b5d9f4L,0x1990df01cf35d981L,
  61396. 0xa34d4fa9a2cc41b0L,0x9f643bd6b5a10b37L,0x90cae11158a6cd14L },
  61397. { 0x2b0490701943d2f3L,0x2c9f8af4eda3fc20L,0x48c245c5f96e72f3L,
  61398. 0xb4505a3a861355deL,0x4dfab1b9be032112L,0x69c1a9195942de24L } },
  61399. /* 35 << 336 */
  61400. { { 0x761c2c356efcc891L,0xd06710d1fa376241L,0xc83a491c8a78b0fcL,
  61401. 0x0c0ee8d8af75b3eaL,0xe6d9d92e4532b587L,0xcb3b652d64eba138L },
  61402. { 0x1cc504ca34ff5d2aL,0x207e7443d0eae0baL,0x94ad1676428382b1L,
  61403. 0xfcb5909992ec17c5L,0x7f99e1b5ce3b2e48L,0xa8c38c0fac9bc921L } },
  61404. /* 36 << 336 */
  61405. { { 0x5763ff1af4ba4711L,0x6aac1315bfaae662L,0x51b9c30ede4b5505L,
  61406. 0x50e63d1891b25d3eL,0x41938349e65ea695L,0x11260360f514dd15L },
  61407. { 0x231f7f574a086eecL,0xa2c3237f55bd9ee1L,0x8afafa043e0705bbL,
  61408. 0x44607900e9fc754fL,0x7250929678519ce3L,0xe751c3a74d17708eL } },
  61409. /* 37 << 336 */
  61410. { { 0x0098a3254611d3dbL,0xbee52036dde82f67L,0xec432a62cdd50282L,
  61411. 0xae8a144e52f994f2L,0x027e9e60aa5c03fdL,0x1a49ce47821f55f7L },
  61412. { 0x46fbbd6c4d10c0ffL,0xe14c82ff8c461df3L,0x95570f44aef902b8L,
  61413. 0xacaa04ec0eb7eb26L,0x3c8c86a8e738570fL,0xb87d47ccb77cc59cL } },
  61414. /* 38 << 336 */
  61415. { { 0x2f4f68377bbf7168L,0xd5b67947f03f7145L,0x2c6ca74d4cecfe22L,
  61416. 0x0e559b9f0a7d6fadL,0xdbcd039ff6b37f98L,0xaaf1f6edfa7a3877L },
  61417. { 0x97b779f0f607316fL,0xe2185ccc72b99fd4L,0xd3f696bf2bdfe399L,
  61418. 0x20d9baf15e6c403cL,0xe5bbc1cb4c4f1216L,0xd1c0761a428838fcL } },
  61419. /* 39 << 336 */
  61420. { { 0x4f433b8abd08dd65L,0x27849a72773bd3c0L,0x62351b911854502eL,
  61421. 0x836580ffca24ce7dL,0xa5c224a39355258aL,0x8d33fb43e65db7f0L },
  61422. { 0xe44d391edf49a825L,0xc28e0d9bd2f5d4bbL,0xf7208342efb61ae9L,
  61423. 0x43686b414dbce055L,0x7f7562d01800c062L,0x5031bd7c8b8ace99L } },
  61424. /* 40 << 336 */
  61425. { { 0xc183199375476a4fL,0xa6383a0055fc4367L,0x23a72dea98bf90c4L,
  61426. 0x67ee6f451045a947L,0x4e6518836920d0a2L,0x49132c9ac8042a04L },
  61427. { 0xe249e46d5dfa9fc8L,0x6ff9eba1c60d1a11L,0xa4d9362d43490335L,
  61428. 0xe8fad79ade504480L,0x519e8d1bac43c951L,0x7e688047952d6f54L } },
  61429. /* 41 << 336 */
  61430. { { 0x135d677342e27f9eL,0xd58b98fb8fcc77e0L,0xf3bb847d7f64928bL,
  61431. 0x15ec841663176905L,0x83e75b6a0f755173L,0x4c3eff5c7a24de69L },
  61432. { 0x289e9a45313bf61eL,0x01b15aadeafa2733L,0xae7fafe1d2cf501dL,
  61433. 0xd6fba525d5ac0b3eL,0x4bf48be0689bb20aL,0xa591843255bf610eL } },
  61434. /* 42 << 336 */
  61435. { { 0x0f019b64c5f8df0bL,0x112f06a979307310L,0x91dc57276d16102eL,
  61436. 0x34070a5be2651248L,0x0b9f35dbd3423044L,0xf29bb4a072b10ed1L },
  61437. { 0x87071a9a07fb6388L,0x4246d532b7dbdb1eL,0x87db3d2285a039c9L,
  61438. 0x76620a5d42b030cdL,0xc798e3816a42d8ebL,0xdd97441ac441ef9bL } },
  61439. /* 43 << 336 */
  61440. { { 0xa9b004a0f08592c3L,0x984d17e5d069c54dL,0xc96f2132ccb87e81L,
  61441. 0x67fd082f3b1f9eccL,0xcdd0827ac4ff9feeL,0x9d1025070e04b7a6L },
  61442. { 0x4ff3424177c67935L,0x4f2246f58efea5b9L,0x128085b12fbf7615L,
  61443. 0x9f111f65174b0575L,0x0b27d8e2f455cba5L,0xda20626b536054eaL } },
  61444. /* 44 << 336 */
  61445. { { 0x4a3df6de3761fa82L,0xb839d6babc56eb6cL,0xe41afc5e13977a26L,
  61446. 0x64022937fc0686d5L,0xa5d6dc19e2d681a2L,0x81afab3128f411b0L },
  61447. { 0xc089aff74321a117L,0x32b0ae2657d18f89L,0x650aacd5f66aacd0L,
  61448. 0x7b317bf6b8d3f677L,0x2cd5789777ea82dfL,0x935be0f3c74e7509L } },
  61449. /* 45 << 336 */
  61450. { { 0x4387f8f602de9e59L,0x529c06f337589811L,0x6dbaab60bc9f06b4L,
  61451. 0x0063bc3db5f181faL,0x7bcb289969b906b3L,0xdca70d1331d1ea3eL },
  61452. { 0xca65e546ee373e94L,0x13cd365c779f415fL,0x4183460e9d71cb08L,
  61453. 0x60f312726e35eaf7L,0x3d0c265f14bc5e0eL,0xe7a1b9af39ce618bL } },
  61454. /* 46 << 336 */
  61455. { { 0xc234c892f46aac36L,0x213076ada55983a9L,0x81f96142dcf335a1L,
  61456. 0xf21ceb724b22e311L,0xa12d6333dc053e1dL,0xe7808925a930732bL },
  61457. { 0xb5a9eb81b1f1075aL,0xd13739c0f0a3e623L,0xbcd842e9ff2f24d5L,
  61458. 0x200cda381b16ff0fL,0x0a85ea521d6a6c54L,0xe1c0dc8756785463L } },
  61459. /* 47 << 336 */
  61460. { { 0x3287c8d39100f769L,0xb349ce8c052e8bcfL,0x5fdb952dd0d3e44bL,
  61461. 0x68715110d0639cc4L,0xc9a5fbaac8efc67eL,0x14ebb97da009aec5L },
  61462. { 0xf0684e1ca1423e1eL,0xb282f2f56357fa17L,0xc2e79d3c5af78041L,
  61463. 0xe0ca9f4bd7d2ba8bL,0x20629f1e04dd84bfL,0x274ebccc3ee73228L } },
  61464. /* 48 << 336 */
  61465. { { 0xeb05c516156636c2L,0x2f613aba090e93fcL,0xcfd573cd489576f5L,
  61466. 0xe6535380535a8d57L,0x13947314671436c4L,0x1172fb0c5f0a122dL },
  61467. { 0xaecc7ec1c12f58f6L,0xfe42f9578e41afd2L,0xdf96f6523d4221aaL,
  61468. 0xfef5649f2851996bL,0x46fb9f26d5cfb67eL,0xb047bfc7ef5c4052L } },
  61469. /* 49 << 336 */
  61470. { { 0xeadd123d385f2b36L,0xe3b14829ddf58569L,0xa4fdf0ec47c7e485L,
  61471. 0x93c0d8380623ea5fL,0xeb9c0a2c9e2661deL,0x8046fc69e72e0ca6L },
  61472. { 0x6f439e5c7be1c918L,0xcd8fd2f92a9ffcdcL,0x7f134747420e939cL,
  61473. 0x8e880ef05ae283f9L,0x502c5c99f780a249L,0x68a529ab94bf9d68L } },
  61474. /* 50 << 336 */
  61475. { { 0x3cf994ed88c9d290L,0x9209f5610bb34d46L,0x8170b567b2bfa21eL,
  61476. 0xae87b6f7c62f86d4L,0xac6fc431d71bccebL,0x5f3a62ba83cf2970L },
  61477. { 0x390262d1d943b10aL,0x8fc9a27f28aec573L,0xe59beb203e3069f9L,
  61478. 0xf3e7bd365e0812a7L,0xc29c8a433aceffa4L,0x015feecb41c25e2dL } },
  61479. /* 51 << 336 */
  61480. { { 0x5b6a4d6ca8e61f40L,0x35825d762f9a6e70L,0xd48f6d8d346a8b94L,
  61481. 0x12bea60889801a40L,0x5182192ad57115f6L,0xb5a8dc6b954c1b47L },
  61482. { 0x084a5c71793b427eL,0xeb66d699f8de2a03L,0x9835b2fb8eb6d905L,
  61483. 0xb4229923c79dfe40L,0xa7c8aedddee34c0aL,0x12a00675337b0658L } },
  61484. /* 52 << 336 */
  61485. { { 0x38ca9f61d44aee32L,0xb2cd0f505484905aL,0x23ecb3a4d812e727L,
  61486. 0x9be645b874a3ac5dL,0xaa4a1d114bfa93b9L,0x5be5277d147072caL },
  61487. { 0x623a4bd9ba0a6d93L,0x03419661dcf3d9b1L,0x9bffbe8231de1cf4L,
  61488. 0xbadfa2ab56a6af06L,0x9103f7256746f09cL,0x0cd5e956344a2688L } },
  61489. /* 53 << 336 */
  61490. { { 0x50a18ab1f40b0edeL,0xf963b76736e01032L,0xba2029b4d4f9a6deL,
  61491. 0x8baec9b85a8446b9L,0x7a4107e766fa8a92L,0x06e78bf99f6543d9L },
  61492. { 0xdaa894b3a5043e86L,0x172858a8f4e6fe37L,0xff0265cc0844608dL,
  61493. 0x5db1a8f1d5def174L,0xdf9f8a698874fbedL,0xdd2292a977a274d6L } },
  61494. /* 54 << 336 */
  61495. { { 0x46f522196ad8d03dL,0xb63e0eaadaf8b0d3L,0xd667f0a66e29df38L,
  61496. 0x6e77432f96ef3b57L,0x78fe0872139ca180L,0x300a0c78d1e4af21L },
  61497. { 0x650f32462148816aL,0x31ef1e883b4301a2L,0xa2222b25f18442fdL,
  61498. 0xb26b63066884291fL,0x977b6f7d713d88daL,0x3e8173248cd5f7f7L } },
  61499. /* 55 << 336 */
  61500. { { 0xd5687c9a9684771aL,0x797808e396cf65d4L,0x793d4eb6ea9ee562L,
  61501. 0x2359b991fd94defcL,0x4e75cdf03a8959adL,0x7a08566900ce7815L },
  61502. { 0x5c61df5da699fc46L,0x02b62d4868da56d5L,0x8a6972d1eaea27d5L,
  61503. 0x727582b3c8e5d04fL,0x0ab2e6c2de87c408L,0xaa9a62e47b9ed157L } },
  61504. /* 56 << 336 */
  61505. { { 0x9c6247d631af03e4L,0xe5a59ad075f9ee90L,0x1da1d64f6ac4b5a6L,
  61506. 0xd2fbd169c521ec7dL,0x6d168015dfaa39f7L,0xe9bcf5b59c69d9d7L },
  61507. { 0x3d1d3e6693ae2925L,0xcda60beae4bc73a3L,0xb2456adc954e2f3bL,
  61508. 0x5d312fdc02a8fe08L,0x7b37c00e0e497a0cL,0xbd1f3aafc2f8b148L } },
  61509. /* 57 << 336 */
  61510. { { 0x60f3bb27bc00d150L,0x159c5af42448affbL,0x4492b6bd2cfa563dL,
  61511. 0x7e58219683c833b8L,0x9f9ebdb20edfafa2L,0x93a7048f31a39a8aL },
  61512. { 0x4172f74d50149d01L,0xff38fceec58b7588L,0x2e71ba9099f25353L,
  61513. 0xdf50fb440604e555L,0x7effa7ca8f3b5969L,0x3bbe8d49b836b8bfL } },
  61514. /* 58 << 336 */
  61515. { { 0xc18c375c29d08d49L,0xb04c0c29c1a681bbL,0x0c4acce9e74dd458L,
  61516. 0x1d6da95c85c920a1L,0xc67280d285387462L,0xeba99725e7e804adL },
  61517. { 0x08f80e5a8811a138L,0x26f442138f2136e3L,0xf67f157c2d028cc9L,
  61518. 0xb436356d14cd7cbaL,0x1c9c610290281895L,0xf67f16ea48598bdbL } },
  61519. /* 59 << 336 */
  61520. { { 0xbf926a077a326266L,0x4045c18bef43cfc6L,0x6fad4cf56ce45553L,
  61521. 0x613ad2dc45a9abc8L,0x7b086ace8836eed8L,0x855857c213ad51d7L },
  61522. { 0xa3b19c2d167664adL,0x422c548abbd2c452L,0x8cd3681f85928ef0L,
  61523. 0xe969e45c3ed435ecL,0xf76f2cce746c9aacL,0x514df58d1dd90e35L } },
  61524. /* 60 << 336 */
  61525. { { 0x9b66219c4d09cd36L,0x6c6fa570b54f0853L,0x95c268bcf29a8fffL,
  61526. 0xc8cf84bf5420c324L,0x5bfc975ebb61617aL,0x935cfe24e78f1bbaL },
  61527. { 0xa6e2afe919d71ea1L,0x8a321e568c9b950eL,0x42dd9e28ec097826L,
  61528. 0xf06e600ef391633aL,0x94e5512b46acbe2eL,0xb0bca2cc61cc7a08L } },
  61529. /* 61 << 336 */
  61530. { { 0xcd361103e8b2d41dL,0x2d0d982cab0b5f13L,0x8158129618d55aecL,
  61531. 0xf1c28a71579caa03L,0x5ddedfd7e50b83faL,0x932d2c03222105d0L },
  61532. { 0x48fd0ead75ada3f4L,0x29209d988c533a40L,0xc2acc587f2acf0c8L,
  61533. 0x05a8703ef689912fL,0x8f28953b9182995aL,0x1cbba2f20fb3eeeaL } },
  61534. /* 62 << 336 */
  61535. { { 0xa1472574180e5eb2L,0xde27569b93fc7b21L,0x3bb956816b9af8aeL,
  61536. 0x8a25fc0ee155f89bL,0x8aff018d825126b2L,0x6eda2f31906f0bdcL },
  61537. { 0x19cbbecc4e8fbe4eL,0x04e0a4a40568d248L,0x6de2c002ff07b863L,
  61538. 0x6d388447e8d1595dL,0x6a193b70c2cfd10fL,0x00bd826ee6f6bf96L } },
  61539. /* 63 << 336 */
  61540. { { 0x2a0165a40a5b4d1dL,0x49c85ee904f12309L,0xc2d221031ded788dL,
  61541. 0x510ccbb3735bd89fL,0x92d2eaebd8eb0e1dL,0x6bda8e346e428c11L },
  61542. { 0x44c01a1d361f7495L,0xddda8e97cc7a95bdL,0x95cbae30524a53baL,
  61543. 0x266d7192dacad45bL,0x8a42793f22fa4b99L,0xbb393cb5ed204904L } },
  61544. /* 64 << 336 */
  61545. { { 0x88e7ac8e168d5e60L,0x53abd5696188a98fL,0x3b96d52918be419aL,
  61546. 0x7e75e354c057621cL,0xcb1b709f5ce57e59L,0xe78befa2844f2463L },
  61547. { 0x536081993276d4a0L,0x92636ade157f2024L,0x6dd0d348e0411414L,
  61548. 0x5b28e9504d73eeaeL,0x08439232690ed85eL,0xdde1a3496da14b58L } },
  61549. /* 0 << 343 */
  61550. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  61551. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  61552. /* 1 << 343 */
  61553. { { 0x6cbd275739ed9ec9L,0x5db68a68fe5d4aa8L,0x177eaa0be4c58c7bL,
  61554. 0x603551ef0e488784L,0xc8eba131df916b0fL,0xd0dbceda159732e2L },
  61555. { 0x55acca84b0834afaL,0xdbe98440b59ffbf5L,0x162a2c703bd3b202L,
  61556. 0x4c5e5d256ddd8ebaL,0x66e7844a77b1d93dL,0x1292bc0e110b9dcfL } },
  61557. /* 2 << 343 */
  61558. { { 0x1b66faabf9e89beaL,0xc81c5ddc3a441284L,0x1a82f3a0a675f7c8L,
  61559. 0x82884a2f30313a71L,0x7ac5d7b058aea9e6L,0x1954f075cd5ff05dL },
  61560. { 0x7c29638d6178d270L,0x6af7f8ba19381929L,0xe85e3c47a17ae3a7L,
  61561. 0x91b107c77009e38aL,0xf3b777d8f1f9c52eL,0x5b7b74ff11b688a0L } },
  61562. /* 3 << 343 */
  61563. { { 0xe1e5b76914b87b2aL,0xee187f5d143a4ae1L,0xa9a38728908cb988L,
  61564. 0x2027b2ed4443d8daL,0x1c6b4813c0c98675L,0x509ea7d1323bd978L },
  61565. { 0x43b16a587f4dc19eL,0x385f8be812940ae9L,0xa4ed64e57d59acadL,
  61566. 0x47e7abed51ca7f14L,0xead594b82bcce6b8L,0xa2bff60cfc03cf06L } },
  61567. /* 4 << 343 */
  61568. { { 0x4ae3d232c0385874L,0x83bda9e6cbf96d2aL,0xba73c769ec62fd6aL,
  61569. 0xd586ba7f62a4720cL,0x6497cd140cc1f491L,0x8b012b707b2ac571L },
  61570. { 0xa65eabb6268fd705L,0x8caf100a1431873dL,0x25b31b84231457d7L,
  61571. 0xcab62f75901645c5L,0x2377d74db2f7b656L,0x4008277c2d33c95cL } },
  61572. /* 5 << 343 */
  61573. { { 0xa7be70c04bfeb784L,0x4633ddadc222ab44L,0x00e397d30f5924bdL,
  61574. 0x5446db3ae25b7b9eL,0x433ea2c4fa1dd048L,0xbb9ae36a1421321aL },
  61575. { 0xf879069dc59fe8f6L,0xe0f2b8b4820bfee2L,0xcc6cf7c49cf239e4L,
  61576. 0x0e3545c207dc3122L,0x23b0f48b1d2c737bL,0x1c6b6d9cfc1137d4L } },
  61577. /* 6 << 343 */
  61578. { { 0x10105dfd101d2433L,0x64e009b58ab6d664L,0x122e68324e80fc07L,
  61579. 0x3b26e76287dc7da6L,0x7bc183de6d4728cfL,0xebfecf4f8bcdc129L },
  61580. { 0x8b995cec265c66f5L,0x080572d7c4b0e942L,0x612e9e6b4da5b77dL,
  61581. 0x8ec048a96caf9161L,0xe3628ee2c7f45eb6L,0x0190b71bd85650e9L } },
  61582. /* 7 << 343 */
  61583. { { 0xccf79a81017fbd3fL,0xa852ca29c875bc66L,0xbb4cd90c0592f8e2L,
  61584. 0x2ee786f455b05c79L,0xe1a2b6baf382e6e7L,0xf2d6cf6e6d2e952eL },
  61585. { 0x2f0b534abc9304fcL,0x1d63fd80795629a3L,0x42e70cd9322d8e03L,
  61586. 0x8a282cdfb057e36cL,0xd18a0c313ceb177bL,0x270e31569c58b890L } },
  61587. /* 8 << 343 */
  61588. { { 0xaae2f448ed001c43L,0x08ad1d9bcf4be493L,0x3262b2f482c1f372L,
  61589. 0x5521febd351a5f7fL,0xf8ec9190916c75a8L,0xf3c258c72728dfb8L },
  61590. { 0x5dd4ff4f8af19574L,0xefddf5795d076b1cL,0x318b5b98ba8b777aL,
  61591. 0xd971d426fb7f8409L,0xed1465e8b0fd31dbL,0x80d24d4300f66347L } },
  61592. /* 9 << 343 */
  61593. { { 0xe8263e8012eb6baaL,0xc452c7581dde8c37L,0x5112af2840baa45dL,
  61594. 0x949b8a740793703aL,0x8ba78382e60e007eL,0x38cd110412823c99L },
  61595. { 0xdeb0d555f86cf04bL,0xb2f20bfdfd9f6320L,0xff1d399d17c39502L,
  61596. 0x1340aedd1bdf0760L,0x36b2b43c88cc0c09L,0x5f3dba7e9ce285edL } },
  61597. /* 10 << 343 */
  61598. { { 0xcea0374a69ca5051L,0x19e060ad5294ae7aL,0xf6ce02361bb01f47L,
  61599. 0x2a5b28ba8c328b8bL,0x6991b1d8b253d630L,0x360afd40859455d8L },
  61600. { 0xf5c6e1427c1f5946L,0x1eab83084cc8c391L,0x4eb4032f67e76ecdL,
  61601. 0x5bf14aa233898059L,0x0804a7c00e001b76L,0xe3866a93734cd134L } },
  61602. /* 11 << 343 */
  61603. { { 0xbe85177db72e5eadL,0x47c15fad59fd2463L,0x2cf5f07f4bd51f8eL,
  61604. 0x82f48288c2898713L,0xdb08aab4c8f753e8L,0x18a1f5c510f58eddL },
  61605. { 0xaeb7bde366d0b94cL,0x04539620079fb6dfL,0x64d1aff2ebe8c4b9L,
  61606. 0x08d9ef431a10a101L,0xe326c7ec6c602789L,0xd8b1b3e7f6efc3d1L } },
  61607. /* 12 << 343 */
  61608. { { 0x5ba5288c1ae586a2L,0x044f1fc61b715821L,0xc1a9a997602f3c65L,
  61609. 0xc5c7512fe08c0223L,0x48a19c3c367e6f1dL,0xa9f2195dfb241597L },
  61610. { 0x9f674a5fb5ba32a6L,0x275a060f0a312742L,0x5aeb8c4303d6f13eL,
  61611. 0x0fed575d917433fbL,0xe4a5ef9a59f53490L,0xa9f86145f315e616L } },
  61612. /* 13 << 343 */
  61613. { { 0x770d01ab2c1deef8L,0xca72f761f61b2a4eL,0xff686a4ceff9ee49L,
  61614. 0xd6b338d30d07000aL,0x885b4e8ce1050b10L,0xd6326179b2364b01L },
  61615. { 0xceb2bafc672b298aL,0x7df8941aba628946L,0x9c94004ebc56b115L,
  61616. 0xde09cc2d7b12cdd2L,0x9c2dda163833ce43L,0x88da691a6265b59eL } },
  61617. /* 14 << 343 */
  61618. { { 0x7059c58669a03980L,0x91f2dfe4e88e1287L,0x96dcd9318d9633ccL,
  61619. 0xb2abc44f37bda148L,0xe31adb3feb8964dcL,0x7b07e015e316876cL },
  61620. { 0x31732880ababd240L,0x5c37a667e95854a1L,0xb5b334c91d6f69adL,
  61621. 0xe613e5622c34e118L,0x8bbdbf5c5f5984edL,0x82ecfd95cf4f63a1L } },
  61622. /* 15 << 343 */
  61623. { { 0x813caa72ade4e3bfL,0x29055be8600c93c4L,0xcb346967e6e4ec1bL,
  61624. 0x39c1152d50ce992fL,0x4682c20e5ce62852L,0x04e9dcb7f4e45ed4L },
  61625. { 0xda75355d7c0fa5bdL,0xe80f29b078949d91L,0x6214610130fb9e33L,
  61626. 0xe70cda8f325eececL,0x49217f74efca3e14L,0xd3c890b36bd7246aL } },
  61627. /* 16 << 343 */
  61628. { { 0x315ad7a47e5a59f4L,0x1c615bfc543c8b00L,0xe12f97a8baa56473L,
  61629. 0xf263db4446edcfcbL,0x47cf91d53c1a968eL,0x1a1165b4c15db875L },
  61630. { 0x5d35e53a3479616aL,0x649f87b45c59958fL,0x5d3d11ea246da3d3L,
  61631. 0xc1ddfcc653f06820L,0x8169d7116610c00fL,0x15f16ba54bddc8c7L } },
  61632. /* 17 << 343 */
  61633. { { 0x307b040d9977713eL,0xc03f7787dee9e016L,0x761a5d03e12c354fL,
  61634. 0x8fa1a4141cc88904L,0x2e079008b7675e71L,0x649c789591d68d60L },
  61635. { 0x63467e93c98f1c9eL,0x81931ac7fcc52703L,0x2060c89538e59af3L,
  61636. 0x8c12e002a87024c4L,0xfc881e69b3b8496aL,0x2b4e482e1e827081L } },
  61637. /* 18 << 343 */
  61638. { { 0xf80ed61a30fa7e86L,0xf2e5f324a15ec5d9L,0x139ca085ecba2d64L,
  61639. 0xd164ee5ff3f5cfd1L,0x758c0008e5cc3cc5L,0xd180c463ce8fa1f9L },
  61640. { 0xe5dd27054adc6e61L,0x061e0c3c592c39e5L,0xec5a8d4a4e437781L,
  61641. 0x9e4c6f461e6d4540L,0x33ab232e2526e6eeL,0x3c551685ea282d9cL } },
  61642. /* 19 << 343 */
  61643. { { 0x59507a2162ce1459L,0x88b465d1c6a2cb30L,0xa5ef8b2b5c8ef7d4L,
  61644. 0x73145f4c4dc9a457L,0xabad3390d19186f2L,0x7036b424f9b78a7aL },
  61645. { 0xf76f51bb16e04046L,0xecd1ece92b2b71efL,0xda8d82011900f2b9L,
  61646. 0xc2d3291b268d1bfbL,0xa6c1c79a2d176459L,0xb27e5d5885ee1b7bL } },
  61647. /* 20 << 343 */
  61648. { { 0xcf19fb2a1e548ef0L,0x8bb6dfa0cc694171L,0xeb1668ca5c5e390fL,
  61649. 0xf5a3485be1975263L,0x4edfc596442cc850L,0x9901f447f9627d74L },
  61650. { 0x3a6b85c984d0413aL,0x1466366167de639cL,0x9fc9fdcf11705bbbL,
  61651. 0x6d066e2bbff2cf80L,0x38dedc2fdc3026fdL,0xad533a981b828538L } },
  61652. /* 21 << 343 */
  61653. { { 0xa7d51d862222dcb3L,0x52e2531cd1a6c525L,0x742b1234532126d8L,
  61654. 0x226043f24e9e77acL,0x02f270afb3a75b2bL,0x7ede5714d4a8dc0aL },
  61655. { 0x24699e16b34fd97dL,0x4e5d785e8d417ad1L,0x273f5dd1ec307ecdL,
  61656. 0x742373863186955aL,0xf46805fde6afd38dL,0xae100ba424562906L } },
  61657. /* 22 << 343 */
  61658. { { 0xed9f434e5216636cL,0x242bd09bc5c1668fL,0x8bb747bd804f3d6eL,
  61659. 0xd66d8753c7c83dd2L,0xa71016c2584540b8L,0xd8b16210fdd41a90L },
  61660. { 0x5eb5947e1b65be60L,0x1bf995e7616dbdc2L,0x71b7099abb7dbdd8L,
  61661. 0x53650d29079eec24L,0x6bdd1b0e8ebd86c8L,0x0a9658ed9a31624aL } },
  61662. /* 23 << 343 */
  61663. { { 0x3be2ce89b8cf4d55L,0xf9b3c501822cdcd9L,0x0cc8423010e12f3aL,
  61664. 0xee09031a3c580ec7L,0xf4c256a812f4b48bL,0x71a8323104018d0cL },
  61665. { 0x69ad6d7babfcf13fL,0xfa79b457af658743L,0x249f32816001af58L,
  61666. 0x158430fcea127a64L,0x25a3e4549a9be713L,0x68ba3f0fcc6b5bb5L } },
  61667. /* 24 << 343 */
  61668. { { 0x6c75bc93b7bfa29eL,0xf86f22b218ef6d69L,0x90ce6a1536dcadf2L,
  61669. 0xf11f711c7ce50921L,0x0739ceda38a479e3L,0x840b825e6ec3dbc6L },
  61670. { 0x7c36c0a59fa23481L,0xceb61fd170cb186dL,0xac6f7d3c26e4754dL,
  61671. 0x4076d3b5f317b385L,0x52f1bd723fd9e9c7L,0x6649d8b6bf316043L } },
  61672. /* 25 << 343 */
  61673. { { 0x5f03dcdcceb1e25cL,0xafff6561d50ff864L,0x17208b6f3a6bb787L,
  61674. 0x61d96c978e15abf2L,0xb1beb427991107b1L,0x436328475008aa3fL },
  61675. { 0x8a326eeb3595febdL,0xa8e5a037ec60dc0dL,0x762ebd2a3159f062L,
  61676. 0x8ea005adbd1b0bd5L,0xd4d863cf696d4121L,0x2a07a637eacc9b9eL } },
  61677. /* 26 << 343 */
  61678. { { 0xf352e28b54a8ffaaL,0xa8317f089ce68b6eL,0x7deb148770cad820L,
  61679. 0x2411b382b2c3579dL,0x20b21ed214d36e66L,0xe7331bec353b9ff5L },
  61680. { 0x5692636840dff0b3L,0x13356f7b646eff07L,0x1e6e6e4508c64091L,
  61681. 0x913b83f2ea0b920eL,0xb69e5f839f713aa1L,0x8e59d3794632a60dL } },
  61682. /* 27 << 343 */
  61683. { { 0x3594c0d3cdefc3dfL,0x9d850e2fd21cf9e7L,0x245322944e38263bL,
  61684. 0x597964610e43acb7L,0x13fad563bca9408aL,0xe52983dba985390cL },
  61685. { 0x9c5e71e08c000a9dL,0xde6b0b2f800949e2L,0xc58032d131d94108L,
  61686. 0x36cd4099b31811e6L,0xa8d9bdeb3981d619L,0x06f644e03d4760c2L } },
  61687. /* 28 << 343 */
  61688. { { 0xdc2870f8243cfbd5L,0x000b71b31ab496f3L,0x53511a3f708f4507L,
  61689. 0xbd7bd0381949d835L,0x723a007d938f4db6L,0x5bc8679e2d04e9fdL },
  61690. { 0x51ca5fd176ec7fc4L,0x86c4205c988f354eL,0x9042e76b2a0a4a90L,
  61691. 0x368f52a84ad44d2dL,0xddc2cab8912edfb7L,0xde74ccf5cde80199L } },
  61692. /* 29 << 343 */
  61693. { { 0x91b31fcbcaa3f1d2L,0xb8a29af1bcc99f53L,0xc5842b2695662f80L,
  61694. 0x13954262a4b4b396L,0xc1fac956a6acfdffL,0xbe37fa4dcf60b88bL },
  61695. { 0xc7715493dffff3deL,0x06dfaceda1274350L,0x9dfcaffd7460fa94L,
  61696. 0x5f1d3a351e9c317dL,0x2fbf393d377b84ceL,0xb4d9bc8404b83635L } },
  61697. /* 30 << 343 */
  61698. { { 0x29871ce22855a74eL,0x5418f0dc98696474L,0xd8bc07d6b90d0498L,
  61699. 0x391012a79fdc0ea2L,0x271396949b09f60aL,0xa0a43dbf3371f0d7L },
  61700. { 0xab5849422af8d992L,0x64cbd121409eb3faL,0xd36faf01766864fcL,
  61701. 0x69189faea2a83417L,0x3c24d85e3733b772L,0x125a915d2ee497adL } },
  61702. /* 31 << 343 */
  61703. { { 0xa8f9eb2abab3fa8cL,0x484584f654ab1e16L,0xee74e5aab21b34edL,
  61704. 0x3ce626ff4eb689f0L,0xd757f22b0006e5bcL,0x611505d024a25e65L },
  61705. { 0x212df14c46382659L,0xd17898d78c73da0aL,0x5604a93e51421c2cL,
  61706. 0x76147f7603a580a1L,0x325b5c8ae5c34d09L,0x6ff28848db857152L } },
  61707. /* 32 << 343 */
  61708. { { 0x8002f4583e455a61L,0xafbafd375bea205aL,0xa8ced112fb93f735L,
  61709. 0x27cb6292196e3084L,0x72395bdd77e8c744L,0x02e018d8ee71f5ffL },
  61710. { 0x7cfc14d9c1337a1dL,0x94e14c0ad7b4d86eL,0x66e50129d213738eL,
  61711. 0x7a905d91bc0b5ea3L,0x92cb630afca06700L,0x65e06d5cbf3a0821L } },
  61712. /* 33 << 343 */
  61713. { { 0x769ff9191e1cde66L,0x6ef257d1944a8786L,0x881437da4f75233eL,
  61714. 0x15266f3768665eafL,0x21fcccafc1777505L,0xe9513e1ab7fea0ddL },
  61715. { 0x67806e9c53c8a735L,0x24be9a769b11ae2eL,0x928c1455045d2065L,
  61716. 0xea0395b53557f62eL,0x910d7cb4c7d3a450L,0xe849c853c634443dL } },
  61717. /* 34 << 343 */
  61718. { { 0x76c6e48d3b476f69L,0x28195cdffe694ee4L,0xa3a9a99e2d3aacc9L,
  61719. 0x0f68fe36b7f320d8L,0xca84a6c9889ce762L,0xc1eafac94901907dL },
  61720. { 0xa28b9916208c9770L,0x6846e639f8403e57L,0x12fdf9fa1d179e3eL,
  61721. 0xb81e47c843d046dbL,0x700ad19468c14491L,0x136395cebbac51d7L } },
  61722. /* 35 << 343 */
  61723. { { 0x7452dfd4f775003bL,0xb38a2031f1a4765dL,0xef36c513a2888c68L,
  61724. 0x2039b168a2339fd3L,0xf74c24be2cc498e9L,0xbeeaca157b622e31L },
  61725. { 0xda72e5a005f2fb8fL,0xab4a98f0568d5811L,0x231aa495fcb15e1eL,
  61726. 0xf981bd7f537023f1L,0x29d6eb2db367e5fbL,0x15247194b8cd452dL } },
  61727. /* 36 << 343 */
  61728. { { 0xa81e4a4e55c2369dL,0x394de01b60a0f544L,0x22acfd07a8906e17L,
  61729. 0xf59b37a6cc9bc4d0L,0xdd16a22c7ffec12fL,0x07decc2ad5976455L },
  61730. { 0xc5019463abe1d122L,0x2bf0ac0ce318c92cL,0xfa50280ab2bfc47bL,
  61731. 0x53354fc5c7cf8bffL,0xaea1d293e20ca341L,0xec25ecda8b626244L } },
  61732. /* 37 << 343 */
  61733. { { 0x05c6f1c99a2f572bL,0xf13f8c7747987918L,0xccb406d74101fdffL,
  61734. 0x93cea27bee1abcf4L,0x32703ada8f5adca8L,0xceaecb5f76313a1eL },
  61735. { 0xf1c558980b9620cfL,0x942c28b51046c388L,0xbed4e9dc5a07cf8cL,
  61736. 0x423b695a6c734b85L,0x1ce0a2392ac87737L,0x40f126ac4d1cc7d8L } },
  61737. /* 38 << 343 */
  61738. { { 0x63e3bb09ad9e132dL,0xaa2880c5c9e84778L,0x23de89ea06049834L,
  61739. 0x442d1df3554e23bbL,0x87214f9f08c5f124L,0x305d967a6beb4996L },
  61740. { 0x01676f804409f827L,0x16992f73a50147f9L,0x77ee56796081b38aL,
  61741. 0x8c75d293290afd9bL,0xf9578bca813f0aceL,0x395212dd0e786ed6L } },
  61742. /* 39 << 343 */
  61743. { { 0x63475e65c21b0f48L,0x114f9af5326c2c63L,0xa897bc01310f768aL,
  61744. 0xcaf47a8fc1bf3f5aL,0xc023bb3718cb887aL,0x3572f633685652a2L },
  61745. { 0x2dc4ea0d7523287cL,0xafd60b92a121a141L,0xb6b4bf6e085ca490L,
  61746. 0xf599f8f2e5351ecbL,0xe38c8eacddba3d60L,0x2540585f5be9e748L } },
  61747. /* 40 << 343 */
  61748. { { 0x313b66cafd8ba33eL,0x10bdb130fabe27ddL,0x1181334c125e2b8cL,
  61749. 0x0f4f198fdb6f94baL,0xf7000076ac3f5de9L,0x1a78813d9d6402aeL },
  61750. { 0x3427f75dc8a9e758L,0xcdac8b34b01f791fL,0x922c36d12a9ebaf5L,
  61751. 0x195ea05fb0487cc4L,0xe33de901a808baecL,0x15e1d5ac57291d89L } },
  61752. /* 41 << 343 */
  61753. { { 0xfe52cd9cfdc7e2deL,0x3947e578da6dccf1L,0x0548d4b5738751e7L,
  61754. 0xc73fc23f4b52a5ffL,0xf38eb8ff1b066accL,0xe9a40d37a27b40f5L },
  61755. { 0x723b0752a264ad77L,0xe5d0c4efdea83bf8L,0xf7301e3fafad27a0L,
  61756. 0x336b0d86298d09b3L,0x462766bdb2ef2fb7L,0xa5311241141a7607L } },
  61757. /* 42 << 343 */
  61758. { { 0x10adb987ee1f44a1L,0xd6ebd1c3e51c0152L,0x0cf1303f4dd3b9eaL,
  61759. 0xd06351b837a33a3aL,0xb5ce1d941cff1f0fL,0x326b3e055476e2bcL },
  61760. { 0x90f76b5d3426b8ddL,0x77497380648042f1L,0x48684604f9f83902L,
  61761. 0x00275191180f197aL,0x36fd84ecde7ce932L,0x52b428e65391a268L } },
  61762. /* 43 << 343 */
  61763. { { 0xd2c1ccb0695c2851L,0xd722b84ff1c78f17L,0xaaa53d26fe52f2a4L,
  61764. 0x3057f4ed24742143L,0x951332a4a2aea258L,0xe5e4db6091096878L },
  61765. { 0x71db9e48f0b9ef38L,0x7e4b25c1ac542c26L,0xb7250394dd021df5L,
  61766. 0xcdcc6118ee48e711L,0xbc324af1fcdd5db9L,0x71a664ef3e6de57fL } },
  61767. /* 44 << 343 */
  61768. { { 0x4e2a05c1c21cdd1fL,0x8a232097dd46e76aL,0x8b55313cd871b1d6L,
  61769. 0x976ce5f6af396bc4L,0xeb91527dafd381b1L,0x6cfd449014455ee2L },
  61770. { 0x8723be9e1f274d1eL,0x1c63fd011999fa9fL,0x5f1726258049b6f8L,
  61771. 0xe18a3ecd99a51b4dL,0x329fc2c1b13d4e65L,0x94da252b0f18f300L } },
  61772. /* 45 << 343 */
  61773. { { 0x583adeb8b893316aL,0x69dce1efee5122deL,0xc5cacdf319b77627L,
  61774. 0x061fedee5e8aedd8L,0xd53fce220257dce1L,0x0e4124bdc781e069L },
  61775. { 0xf097c697d44ed517L,0x7704e33e9a4e9019L,0xac245dc23e0088dfL,
  61776. 0x70e1176bb76102a3L,0x55261ab235e4dcaeL,0xc2ba59230ede3501L } },
  61777. /* 46 << 343 */
  61778. { { 0x6edf35f3af073b6dL,0x7ab4118107376eb0L,0x4ef3e65be7ff1c9aL,
  61779. 0x654ea359d2ac6d70L,0x2b41a7f67ffcd91fL,0xe5da0511e0a60e8cL },
  61780. { 0x97fefd9756701b93L,0x7a4a827dd34afe15L,0x8bd6c2299090536cL,
  61781. 0x110156f217e510a0L,0xce62a26ec801ca6aL,0xa786e9b05522b64aL } },
  61782. /* 47 << 343 */
  61783. { { 0x3c73c2868f02f70bL,0x744a580d0eeca325L,0x58b7ca1733534669L,
  61784. 0xd7d17d77800b0270L,0x864e3509538b116aL,0xc7eda5dce4797818L },
  61785. { 0xd6c00fbaf741f023L,0x718ed11131d022bcL,0x4586baf2f2ce39efL,
  61786. 0x1095729dcd9a09f8L,0xf5ff3f2d7652f5ddL,0x29d95a09dbb72722L } },
  61787. /* 48 << 343 */
  61788. { { 0x7b151b98e28fd10dL,0x8fc01ce81dd884cfL,0x1f0ffb5098d56c2cL,
  61789. 0xf9df1fa2b084606dL,0xf86232bfdc7d2008L,0xeae5cb8fd8751699L },
  61790. { 0x70f0229883ed54fdL,0xb575283a86087697L,0xad2191350302e2c3L,
  61791. 0x1c09a0d6c4b57e01L,0x0f65e1e1c541b9fbL,0x85493d9bf4fe76c0L } },
  61792. /* 49 << 343 */
  61793. { { 0xecf595d6bc19db89L,0x32cdf31bd607e09bL,0xfaf93c636217e9faL,
  61794. 0xa9a1619884d37c72L,0xa2688a33bd929e8eL,0x2ce3442e2842b31bL },
  61795. { 0x906ac09ab37184daL,0x93a1a54492587ea0L,0x1acfab1ec5b4ce7eL,
  61796. 0xd4788cac7131e80bL,0xb463d67bc8cf0e18L,0xa754ffb81f24067fL } },
  61797. /* 50 << 343 */
  61798. { { 0x634f8d6db04ea518L,0xe8c424b4c60108a7L,0x3553b6d11ef6f4bdL,
  61799. 0x1fe850dfbc0a8e1cL,0xa077055473a66e4aL,0x5417bd50da985b55L },
  61800. { 0x3f99edcaed53259aL,0xd243f2d1b3d5ae6cL,0x70f404b8cb49e74eL,
  61801. 0xf6893edc51fec8f0L,0x3f3ac23871521335L,0x127c055436e39048L } },
  61802. /* 51 << 343 */
  61803. { { 0x459a96595ab6a5b5L,0x14ec172bb5ac2238L,0xe556f7061642ba57L,
  61804. 0xe18d92d2da35bad6L,0xe64f9bcdd5805c1fL,0xabb4e0243b297094L },
  61805. { 0x95429e14b8b876f3L,0x27961a7d9c04bad0L,0x81c74cf57fa32b6aL,
  61806. 0xb035259ebb0f1f24L,0x828c42da2e773f8bL,0x06c996366ea73c24L } },
  61807. /* 52 << 343 */
  61808. { { 0x353718ce191c21ccL,0x08e6edf64ad6bd18L,0xc2bb0d6e4dc5b572L,
  61809. 0x328e19df88193daaL,0xccc9f6ab7211c958L,0x377d99ef58aae5c5L },
  61810. { 0x40e2ecc91c823442L,0x036d6d528b0d36abL,0x2fe0cd7eda4d0ad3L,
  61811. 0xb8fc3c7ffc8af791L,0xdb7e44a42b201b20L,0xa5176004ebcf527dL } },
  61812. /* 53 << 343 */
  61813. { { 0x24d19ca6fed20bb6L,0x0c02db9841d634aeL,0xfb55998930310b8fL,
  61814. 0xf9d0818506c00c8bL,0x2b9983fb4742362cL,0x16ae9bfbdce1b6f3L },
  61815. { 0x679057e6a161a419L,0xe1e80fe04db28bbaL,0x2ca0c869f06c9a98L,
  61816. 0x7b80c43bc448ffa4L,0x100f205cb7ef73f7L,0x29565a93a938bea7L } },
  61817. /* 54 << 343 */
  61818. { { 0x4d00c613e1e7a831L,0xc90021dc56d9ddf2L,0xbb80b8385286ccccL,
  61819. 0x156b05b771f5f09dL,0x120f47f47bc921f7L,0x6ea1715f8a65c50aL },
  61820. { 0xa070c9f695aa8348L,0x96120fe273171f56L,0x10c7d592ebc69e4eL,
  61821. 0x73f6ba27c1c7ef52L,0x10f5b9cef8bb536dL,0x8bc82b225ce0220eL } },
  61822. /* 55 << 343 */
  61823. { { 0xac25749af4f3fa3bL,0x2376bcd76f50e4a0L,0x9c68fd1028b2332dL,
  61824. 0x130ed4d12130b66bL,0x91842d58038dfc9fL,0x4111e4cbc401a53dL },
  61825. { 0x85532deafb5d9b16L,0x0c5657503025e3b1L,0x1340aa49b6cc0c31L,
  61826. 0x1cfdd7d68b7f71a0L,0xee911d7e8b6e548fL,0xcddf07f021456ebdL } },
  61827. /* 56 << 343 */
  61828. { { 0xe19b7576fa5256d2L,0x418d5425db3f8bfdL,0x00424869951a1719L,
  61829. 0x2383c7a8533b69b0L,0x166a38e2e67a86fdL,0xa6baa01c5876c435L },
  61830. { 0x574ddc4584a208f5L,0x8cee30b826b18dbbL,0xeced99c1e9f6b30dL,
  61831. 0xb638d88da7d34beaL,0xa4836806069adedfL,0x62beb7ee7a07c593L } },
  61832. /* 57 << 343 */
  61833. { { 0xffc89d6de16d63b2L,0x4da3b04f5df40d2fL,0x3437da2ab48706d8L,
  61834. 0xc35290a1d677df03L,0xe54fc6567c5b6c8aL,0x84f052ff2c77314eL },
  61835. { 0x59c33a99d968b4eeL,0x2424c5d0facce444L,0x022d7bfbf505307dL,
  61836. 0x5372518d00c142ffL,0xcc82d21aeefa787aL,0x3517f3c0473ef630L } },
  61837. /* 58 << 343 */
  61838. { { 0xaf576c307a8a437cL,0x15852131de3f2cc9L,0x96bbff4371759da5L,
  61839. 0x106934ec66f5257dL,0x712e7d0ba9cedae6L,0x5b0b876ddabf131bL },
  61840. { 0x1605f3a8b741f94fL,0xe5d961c109305b04L,0x3fb97996346266c6L,
  61841. 0xaf4eafc0b3ec7458L,0x0aefa01abcd90b0cL,0x2b7723e3505ea305L } },
  61842. /* 59 << 343 */
  61843. { { 0xe5c6f37b43d12de3L,0xdc34fdad642baf26L,0x89d716d647268e1bL,
  61844. 0x50047b391df8d657L,0x40da6352c64470a7L,0x406e3bc97879824eL },
  61845. { 0x9677b4c38b9ecc36L,0xc82bf16fd246788cL,0xbc9fa99cef5dda3dL,
  61846. 0x3050febf0e7b676aL,0xfbb1301a53e448afL,0x3239f20267c84d67L } },
  61847. /* 60 << 343 */
  61848. { { 0x5093950b724fb94dL,0x107822718117ff50L,0xdc9e34b59f5961d7L,
  61849. 0xfaa2fc012351a33eL,0xb9e0f1d9d5fc462eL,0x276a5b3bdd9c6914L },
  61850. { 0xe6136d1775365ca5L,0x228b77e2a91eed68L,0x5cd6a269411e4770L,
  61851. 0xd8857b0e17590390L,0xe7094f3aa0d45fafL,0xe52d11dcf40693e4L } },
  61852. /* 61 << 343 */
  61853. { { 0xc873fdf565a0d2bbL,0x848244dbaa42c6cbL,0xa5d2d766ac50ba78L,
  61854. 0xc650cf4343f38ad7L,0x901cf122ea895d06L,0x3ec1b583cbf46321L },
  61855. { 0x863dce6193c3db94L,0x902459202445bb4fL,0xae716052673385dbL,
  61856. 0x9266b0bfff830253L,0xd201095844375610L,0x9e008b9712cf8d71L } },
  61857. /* 62 << 343 */
  61858. { { 0x2b1b2a551448e73bL,0xa8486146b5f97da2L,0xcf24d8636c848202L,
  61859. 0xa3d6431c5e483407L,0x47a33db852edb78bL,0xb09256a37dad3826L },
  61860. { 0x740222a74dfa2b26L,0x23f43bec2a8ebe04L,0x4081e512a8072f18L,
  61861. 0xe53f0d05751ad7e8L,0x100d0a17332361ecL,0x8a2122e9e0c3a152L } },
  61862. /* 63 << 343 */
  61863. { { 0x28be8affe7e6417aL,0x4e18b452d6a30763L,0x73ae410310d0d5f2L,
  61864. 0x5151fe80003625caL,0x45ebb636ba7a91ccL,0x50f4b49d994e7e31L },
  61865. { 0x02eaeaa93ebac455L,0x7632c7dac830fb1cL,0x06fe1dde3bb0d765L,
  61866. 0x0d2f7623a6789d20L,0xabba46de01a43e9dL,0x2e822e08f27917f9L } },
  61867. /* 64 << 343 */
  61868. { { 0xe96c4aebe5f5b545L,0x10a85a002d4c43b0L,0xf86ad2f632f9151dL,
  61869. 0x05daf874302b99e2L,0x4299dbfa14fd3171L,0x27cbedd6812cfc62L },
  61870. { 0x42e61536b8772164L,0x52eecef76a5423efL,0xc34c6c70548fffa3L,
  61871. 0x1fbed7777b6db825L,0x850bded44ef2989eL,0x3b8a542c815463eeL } },
  61872. /* 0 << 350 */
  61873. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  61874. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  61875. /* 1 << 350 */
  61876. { { 0x9decf2173079fe2fL,0xc32ec5707c817f6dL,0xd5649ce8aeb36b92L,
  61877. 0xab9f77d158fb4dc8L,0x66b11fb6b52d60cfL,0xe217941deaaa4619L },
  61878. { 0xf3522a9a1607c412L,0xea2eba4fc2a3d8c9L,0x267997c625e38722L,
  61879. 0xed5047b72d4595eeL,0xaaa41e5f55e5456cL,0x891e3d1278cfc6feL } },
  61880. /* 2 << 350 */
  61881. { { 0xa438634ed7357a51L,0x918f14cd18c04d59L,0x2ab4dedfac40dd56L,
  61882. 0x758e95ee4956a5deL,0xfc11e3945113f84dL,0x6d71b6736059f16cL },
  61883. { 0xfd8e2236fb357c3fL,0xd7c8681232dca873L,0x02aeb1538ea13b44L,
  61884. 0xde1275d3013d3827L,0x470a7b7e659ca201L,0x862c83c55c77b351L } },
  61885. /* 3 << 350 */
  61886. { { 0xfc9b800f05084cfbL,0x1c4d4510496f23fcL,0xfea0003cc1d08465L,
  61887. 0xf0281da09af48a41L,0xa5c0d97144d32eedL,0x2613b73e023a2e31L },
  61888. { 0x455013c87dc8ac1aL,0x581b13195958b3daL,0xd293f2f22290aaeaL,
  61889. 0xa068256496f6223bL,0x38fd18fa69410ef6L,0x74eaf35f2b2cf629L } },
  61890. /* 4 << 350 */
  61891. { { 0x281f6e58c7ff5b50L,0xbc67791ecf9cd114L,0xe29fa41afd89abd8L,
  61892. 0xfcb0b0b07984feefL,0x0b0928a6d9d20a64L,0x2fd385c46979ccd5L },
  61893. { 0xce9c34c81fbe72e4L,0x69364344aad0135fL,0xd464635250946a5bL,
  61894. 0xb09a97c6f39f53b9L,0x1d47bc20dcbc8b64L,0xcda5c7bdd458b0d6L } },
  61895. /* 5 << 350 */
  61896. { { 0xad5b8c2887eff3b3L,0xa8a3917d9937833aL,0xbafdc493200c3b49L,
  61897. 0x9e27aac5972c6fbfL,0xfd292bb20518c97dL,0xa62126db33515a63L },
  61898. { 0x9892a8bb1bcfc875L,0x93b066b7e0b674d1L,0xcde9b0087fd3d080L,
  61899. 0x1e285a8859401ae8L,0x4679e32982cfea96L,0x52406ea023e615d3L } },
  61900. /* 6 << 350 */
  61901. { { 0x27de61138b6e9462L,0xb8ade1dc473464bfL,0x911ad49394dacc08L,
  61902. 0xd036f28e44252cb1L,0x3865abf6d13dc20dL,0xcea487cdd528f0baL },
  61903. { 0x14d77eaf4fc290feL,0x5106533bc5084101L,0x11001dc7cda9eccdL,
  61904. 0xb79ad4bc49fc4a78L,0x4f6369f54567f8a9L,0x64050aa2df7ab817L } },
  61905. /* 7 << 350 */
  61906. { { 0xffe057aade07f615L,0xf3f91b55342700bdL,0x294761e127a839f9L,
  61907. 0x6411a2b480eafe1cL,0x4900eb120737b80aL,0xa1134d10bb73264cL },
  61908. { 0x0ebfad730ddbf7f1L,0x57bbe692cd1f73ecL,0x675931fca20f8944L,
  61909. 0x1950eefffad2ad19L,0x60d304029cdf88a0L,0x121af89e33fd2c6eL } },
  61910. /* 8 << 350 */
  61911. { { 0x763e3664295c4db2L,0x632fd676dbbaa92dL,0x62ab11a8c66b40e9L,
  61912. 0x06244698f384b708L,0xe7cdf3bd69197876L,0x9cc79c48064f8837L },
  61913. { 0x95900a229486589eL,0x7953f6e72ff01639L,0x3f65fbbddd3e6e46L,
  61914. 0x84f52e06baa2e2a0L,0x1dc462a8e3852824L,0x9be69c3f7e4c032cL } },
  61915. /* 9 << 350 */
  61916. { { 0xa40afc3670977e01L,0x965f110da6c3b289L,0xc4952f87805a8491L,
  61917. 0xb36804b80b65e2d3L,0xd3f6f5ace8cf2b2bL,0x0f37a79da4b71938L },
  61918. { 0xb2f810d9489ef671L,0x1feae0262df23cd8L,0x7412eee321a14e4fL,
  61919. 0x1458b8ad179d51faL,0x2156a90ee201509cL,0x39f29fca72605867L } },
  61920. /* 10 << 350 */
  61921. { { 0x231f70adb2e066e3L,0xf09db880bb477a19L,0xdfa0e503907e5c63L,
  61922. 0x12fe09f4f97022adL,0xdbf06f3620bce7ddL,0x0140e197f1371cbaL },
  61923. { 0x917b6da464b0b4b0L,0x9a6f4d9b20fe3320L,0x0981d60ed66bdf87L,
  61924. 0xb430e4e062d3487cL,0xc3440fb934dc4a94L,0xe7972dda09a5e3c9L } },
  61925. /* 11 << 350 */
  61926. { { 0x29d6394093f47052L,0xadf04e70847e5937L,0xa0ef4fee731bab6fL,
  61927. 0x21de31956ee7d7bdL,0x99af4a8dbd716777L,0x9e15c983df4c569eL },
  61928. { 0x2ec7bc0ce94401eaL,0xda1835ad85727722L,0x2b5862ce5dad81daL,
  61929. 0xb2be508188dddc2eL,0xa02482101414286bL,0xc52c436d8ea33f3fL } },
  61930. /* 12 << 350 */
  61931. { { 0xcc580ea73b24e776L,0x0f3a8b189d721d6eL,0x8665604fb23480cfL,
  61932. 0x95787cba34414689L,0x425d7c6f4d10a945L,0xb5ec2626b2f1cc78L },
  61933. { 0x55da88858658de6bL,0xb50919d1e9aba03eL,0xc64881d7d99e417eL,
  61934. 0x1eeba5aabf28fba2L,0x20feb7b3504eff80L,0x9f5f9db650debfb7L } },
  61935. /* 13 << 350 */
  61936. { { 0x4eb94584230923dbL,0xba8611287b3a6929L,0x5aa7faa3ab1d6b31L,
  61937. 0x95c1e23916ae0966L,0x98674fd3a2fe2297L,0xa8da0ee53c42d488L },
  61938. { 0x103cabace0740db0L,0xf0b860d45bf16882L,0x03cb0cdc289e48ceL,
  61939. 0x3c15d3759e52c7d5L,0x524f731998103ca2L,0x828ed65cc609ffebL } },
  61940. /* 14 << 350 */
  61941. { { 0x518f231b83dfb993L,0x4b0987db37c0826cL,0x0c34961cd5177eadL,
  61942. 0x9d882d3e452c92daL,0xbfeaf5588765bcedL,0x83957b62b9962295L },
  61943. { 0x2d1d01757bb084cfL,0x04c4cfcde8cffcfcL,0x2f35e33d8d4536c1L,
  61944. 0xbebb31cbd83124cfL,0xe342bed2abb29019L,0x2af0fcde2692a0d3L } },
  61945. /* 15 << 350 */
  61946. { { 0xece5d865c7e3b29fL,0xe58106a4622839ddL,0xf5272d43f2969d76L,
  61947. 0x90c72c1b2a1a240fL,0x1e2aa0acaf15e14fL,0xfa2f1c7bf1b6b5a0L },
  61948. { 0xfb5d343d880224a5L,0x47b88a84f91881c5L,0x140f5ee9dd142fe7L,
  61949. 0x4e76982e24b37c44L,0x6aaf61e9578b482bL,0x01950e22765bc4e2L } },
  61950. /* 16 << 350 */
  61951. { { 0x20ebf79ce8a2e8f0L,0xec040d0daca418a2L,0x016c07e78d630d2aL,
  61952. 0x20021d57fa605dcbL,0x6190f3e942d04705L,0x4e000df58974b7e6L },
  61953. { 0x6710da6c5abcedacL,0xf31aa4965f95d37cL,0x192c4b8ba5830899L,
  61954. 0x171ab8c4ea7dbcddL,0x715f60818cdf1097L,0x0e0135bf205d10edL } },
  61955. /* 17 << 350 */
  61956. { { 0x070fbbe1687645c4L,0x4dd859c8c7e0261eL,0x749fa1e9fad54b60L,
  61957. 0xb35942f483cdc91fL,0xcef26d0018eeb83cL,0x4dddd5787462064fL },
  61958. { 0x0420ed6e703e8740L,0x9087d805c180c7d3L,0x93807412828424f2L,
  61959. 0x8bcea69a6dcae236L,0x22aed9a2d1973c78L,0xe3d0f6f83328d690L } },
  61960. /* 18 << 350 */
  61961. { { 0x5ce5bc6da85a13acL,0x868f385c7f1dd71bL,0x15aa63a420c376c6L,
  61962. 0x7802fc9e749127dcL,0xfad59f8e67a98935L,0x6bc97b1d60c0fdf3L },
  61963. { 0xd24caa7ebce87ee6L,0x8aa08bc27ba511f8L,0xe5ba94f47ba61c1cL,
  61964. 0x9fe9c343364d2d75L,0x8ee0468161273932L,0xab2f0dbe5e8c4861L } },
  61965. /* 19 << 350 */
  61966. { { 0x13239c0a8254ded6L,0x594182e61762f9cdL,0x6326369d480efa21L,
  61967. 0x7fee5afd33101382L,0x9e1ea59c4688bc0bL,0x7a3b1b8eae19c17aL },
  61968. { 0xa8f8f8e5777aedf3L,0xe2d018bfc6bbdeacL,0x3625b03b54328db4L,
  61969. 0xda7540c8711ab8caL,0x7faa19fc46930a99L,0x61a5d1845b59a973L } },
  61970. /* 20 << 350 */
  61971. { { 0x4a6226f9f7092423L,0xfe6b7a6dec945231L,0xb44e2e60a1193cabL,
  61972. 0x2ce6393543dda270L,0x1a9e8a2138d64738L,0x863d151a9d843675L },
  61973. { 0x98a1222ee2b14443L,0xbf8b32712826846fL,0x80475be555508801L,
  61974. 0xc39ccd917b38f064L,0xea31304de8e249f5L,0xa3b6891b4d42db74L } },
  61975. /* 21 << 350 */
  61976. { { 0xc0f1627a147e0f32L,0x59fb7f2f5e8822d8L,0x21d8be6371097441L,
  61977. 0xa6169f1b855543f5L,0x188c420645102ae3L,0x4c20a136131b674fL },
  61978. { 0x05487c4d15999699L,0x8a82a130e6ba5542L,0x93a2119519ec0de9L,
  61979. 0x634d644cc8d0538aL,0xa90c5eeb3b6bbd60L,0xd59105125e4db926L } },
  61980. /* 22 << 350 */
  61981. { { 0x5140a7172119e821L,0xe5a2ca8cbc370a14L,0x0c17ad48a6db3398L,
  61982. 0xd7094545ed6fc82aL,0xcf32984dedb976d1L,0xcf04ac16cdf83a9bL },
  61983. { 0x9bbea16b49775502L,0xb4855286452a6f35L,0x45cbc3b7a86f445dL,
  61984. 0x5972ec64763f5990L,0x14d0b9c0b780b2f0L,0xb120273456e707feL } },
  61985. /* 23 << 350 */
  61986. { { 0xbf6b76e1e41c43c6L,0x64ea1824db033acdL,0x7fc0399987c9406cL,
  61987. 0x9427585a51b371d3L,0x464f3559c9705e0aL,0x6639797ac8cb6ff6L },
  61988. { 0x5104a72e842fbf01L,0x7cabb009fea7af74L,0xe42aa69b19a1db1cL,
  61989. 0xca9599a3a6a7ab69L,0xf31e4aaa1a70d770L,0x0fcc7f1b8a5ef098L } },
  61990. /* 24 << 350 */
  61991. { { 0x39a689bc281548baL,0x11aacfca138eabbeL,0xcf33108a8d29457bL,
  61992. 0x312612e014ed4b4dL,0xcbb21f345115625fL,0x4e7217de303a363bL },
  61993. { 0xaeb0c8c0d137f67bL,0x4ff84a937bf78dfeL,0x7a022604683b37dcL,
  61994. 0xfa4ced77862b0847L,0x5a49bdc136d69390L,0x6d9dff06c0215314L } },
  61995. /* 25 << 350 */
  61996. { { 0xcb116e787b1320bbL,0x6310206258ed15fcL,0x1a7891a082c13108L,
  61997. 0x203d73d939eb4c93L,0x0485b8493c78c65aL,0x663897e93c935525L },
  61998. { 0x9b79708088b41afbL,0xbd34d5134f2b649dL,0x0b4c156f62f6b652L,
  61999. 0x24125d1d6863dca7L,0x726a8bb2edb6638bL,0x2ec5deaf82aea7a2L } },
  62000. /* 26 << 350 */
  62001. { { 0x9fb22ca52a3706f1L,0x5a265b5279f5203eL,0xc8844f096fcbd426L,
  62002. 0x52a165f0ed8a3267L,0xff0b3a00dfdfcac5L,0x80167cf52de9e1c6L },
  62003. { 0x9e9c4391b0b969c7L,0x279440c41e0dabf6L,0xaa535b8f85133e39L,
  62004. 0xef61e22234660228L,0x8ea81a41c386528bL,0xd0bb1f6e71a8c66aL } },
  62005. /* 27 << 350 */
  62006. { { 0x75a689bfa67ab0ecL,0x53eaad3e54843363L,0xdb71f81619a3ba98L,
  62007. 0x817257fdc244f33dL,0x8181c028c0fb3720L,0xc813c4651cb7bb39L },
  62008. { 0xbc44c1e71b189585L,0xaedef8701eea3a29L,0xcdd828d7ccb5dc90L,
  62009. 0xd224f1774fd2e0f1L,0x2a4723b0e78883e6L,0x33bb05473128e260L } },
  62010. /* 28 << 350 */
  62011. { { 0x544874b71477473cL,0x253a455a3907385fL,0xb303afd631411ba1L,
  62012. 0x30047aa0466d6415L,0x3a1b676594d4c2deL,0xc265f1912860c7b1L },
  62013. { 0xfe140a73688e7975L,0xf08a652bf37ce7deL,0x6c9f6df9f46f144eL,
  62014. 0xf7e7b95bc0defbc4L,0xfbc9a9697824c075L,0x9745d768d7773c39L } },
  62015. /* 29 << 350 */
  62016. { { 0x7170ab4699873dabL,0x765eb89b8952bc0fL,0xbe3fe2c4f78fd020L,
  62017. 0xde51f8579f194b70L,0xa625839e7cc68fbbL,0x50e59b49f7105097L },
  62018. { 0x625294f3b82e287dL,0x98daa85288ca9d10L,0xfa0eb790b499d9bfL,
  62019. 0xe280de610382dba8L,0x3fd350e0e76a7d70L,0x1e5c2bebece5ba7aL } },
  62020. /* 30 << 350 */
  62021. { { 0x73e187e000ce469bL,0x21dc6268dbd717ceL,0xe9d63224ee564ef2L,
  62022. 0xa7553c854c4c444bL,0xdd409398f6a9b713L,0x902c9cff72f94d6fL },
  62023. { 0x944edb33f50a36eaL,0xa48a5ae4cfb65a8aL,0xcb9a83b9ed82fddfL,
  62024. 0x9476090c209aa829L,0x66cd0cb1c7e2347bL,0x0f1fe07c86fa005bL } },
  62025. /* 31 << 350 */
  62026. { { 0x7c17a2e0c65e52b9L,0xa987f030615b8325L,0xa39b78aaa3d4dba8L,
  62027. 0x738ce26396e96e82L,0x313f7bb7f08f99cdL,0x29571b3cd1a1b7c1L },
  62028. { 0x00c0e66c89ead6e5L,0x231de4ff19b9874dL,0xc9445296a4137755L,
  62029. 0x7b95f3ea336ea724L,0x7c0a222c49bfe5a0L,0xa265c41d782f8d4fL } },
  62030. /* 32 << 350 */
  62031. { { 0xd2db4d35c8d2bf7bL,0x52105d0981571d06L,0x447565cc723a57bfL,
  62032. 0xd98c3597d8ded62cL,0x0aeac6d9de2f1a9eL,0xd363b0b70a98d3b2L },
  62033. { 0xd9708f0702ad9933L,0x9334677564f5809dL,0x499332cf49cda010L,
  62034. 0x546df74a858467e2L,0x8b84a55093748e8eL,0x9e88ef9706f09073L } },
  62035. /* 33 << 350 */
  62036. { { 0x1cdc6b4f673d9c55L,0x4300148a0c11743eL,0x2f924ce4c38b8c99L,
  62037. 0x5300ecc925f32459L,0xb9cd815004473c2cL,0xffee15498eebdcabL },
  62038. { 0x42c292d54c537dbcL,0x32f6d8a293a133d0L,0x4da3a50c35dc41a6L,
  62039. 0xc16dee6a102f9ea4L,0x69a017a1f00d0bd6L,0x6a95ee1527acbc5eL } },
  62040. /* 34 << 350 */
  62041. { { 0x6c02c17adcb73b47L,0x10073a3454b70b07L,0x417ca218a7fe7a73L,
  62042. 0x6f81a38e4ab64b0aL,0x4e25301f8fa7fc44L,0x180f3e1b27d41e1eL },
  62043. { 0x88925649ce1cfbf5L,0xae279fff2eedaeb9L,0xeac9b033eed426cfL,
  62044. 0xa8488f8aa1740d49L,0x6f748bc3711b5da7L,0xbb1c46fd23bbe135L } },
  62045. /* 35 << 350 */
  62046. { { 0x6b2f317b9da70c21L,0xebddc2b5c99dc82dL,0xf4a85d4c5c807d1eL,
  62047. 0x47a79b298a15ad6eL,0x02afb05befbda553L,0x34f3998e6941a669L },
  62048. { 0xa4a413fb72deac14L,0x2bd9306c1941b899L,0xae023fa5788c1db8L,
  62049. 0x38cd6c42e1012bb6L,0x77ae298c13bd860bL,0x6312af9d63bb40cbL } },
  62050. /* 36 << 350 */
  62051. { { 0xbb7742f370fcad48L,0x6dcce7ff57d444acL,0xfc338485b6abc122L,
  62052. 0x03c1118caaf9060bL,0x095dc123cb997905L,0x2dfe24453dd9bee4L },
  62053. { 0x9bffbbf9d45cdcdfL,0xc5b50babb4b26fe5L,0xe985754e87d31873L,
  62054. 0xb5b007f5a503d2e0L,0xe25c4eb620bb8357L,0xb6f00e50803fa8ddL } },
  62055. /* 37 << 350 */
  62056. { { 0x21cab682b8035f01L,0xec82f6ae301c96c1L,0xf25d6a0c1539a503L,
  62057. 0x94180ece1e35b449L,0x13fbc96f1ede3c57L,0xe4a63eac01d8e678L },
  62058. { 0x3d1a745c068c6886L,0x0659d6ff233be378L,0x493d7a6f3244a214L,
  62059. 0xfa852b1b772bd953L,0xbf05cc0ce87db547L,0x28f497ccb30aacf9L } },
  62060. /* 38 << 350 */
  62061. { { 0xa92f28b88ea312ecL,0x9c702e953a3b5f1eL,0xf0a2f787583053edL,
  62062. 0xf99506f29cb41eceL,0x4c3b00b5c2b5c214L,0x59bb943717b8d5caL },
  62063. { 0x9ccc7869af5e6b94L,0x6eb795a7f340d02cL,0x7fc613c80a09eca5L,
  62064. 0xdac14e61d155f16eL,0xda25c7fcccadb39eL,0x160fda8c9c7fe2b3L } },
  62065. /* 39 << 350 */
  62066. { { 0x8aa83310312ee9dcL,0x702ad7bc2af291bfL,0x3940f883ec915c5dL,
  62067. 0xdfb7e44f6fe07c64L,0xa7af875c72d09357L,0xb5df04f4f70b766fL },
  62068. { 0x738af1bb96f8b10bL,0xab27b86735563f8eL,0x18fccbec2ebaf570L,
  62069. 0x94e9066dc1d7d59dL,0xa1e3518dc63373e4L,0x0722fd0f22d8306fL } },
  62070. /* 40 << 350 */
  62071. { { 0xcd42d2391be93e28L,0x93c11fcae2ea0d1cL,0x8acd0b17345984efL,
  62072. 0x3e3feaf350905d0dL,0x4124e89a6f35b49cL,0xafdd8d27a2bae979L },
  62073. { 0xce1e814015ad5661L,0xb0f9296dde281bc6L,0x11e93935c31ea529L,
  62074. 0x1c4c3bd7ebb898ffL,0x7cb73fc76ccc32c2L,0x69e5307da3ac9b8bL } },
  62075. /* 41 << 350 */
  62076. { { 0x37bec50c8e5a9a8fL,0x7f0daba5055a1aa3L,0xa56bc577a1c00a74L,
  62077. 0x0656b6aeab88258eL,0x2959237fb88f0f0fL,0xffff63bb9ef15ca9L },
  62078. { 0xd9a2909eb94ae6c0L,0x2506a1779b304c76L,0x5658fed3abdf17c8L,
  62079. 0x9c95765e0f90cc53L,0x80ffd7b38e74dc97L,0x97e032e6b8c73479L } },
  62080. /* 42 << 350 */
  62081. { { 0x7073ada11780b0c7L,0x6d4ce321f35f07d8L,0x27b26ee589f35e5fL,
  62082. 0x5af10ecd324349d4L,0xf9a0a9071b9bd956L,0x5dde968571350ba0L },
  62083. { 0x678158f5b6400a5eL,0x93764a022842e0deL,0x71a17724057c9ff8L,
  62084. 0x04c4313c72f58c63L,0x07fdf15cc4e81260L,0xd6c25e82a509f1acL } },
  62085. /* 43 << 350 */
  62086. { { 0x4f8a719ae3cf3138L,0x7aac7f0d9b1a2e30L,0x3fe8dcb88c0c76d0L,
  62087. 0x34afed4ade0b5be0L,0x824e043cfdf7c28eL,0x5b700afce708e71bL },
  62088. { 0x6c7fa728eeffc50dL,0x2488eee97ca62450L,0x25490cb59d969f4eL,
  62089. 0x8bbbac3d8bd629aeL,0x7e5213b56e75e171L,0x1385bff25324b23bL } },
  62090. /* 44 << 350 */
  62091. { { 0x364e7371c7d996d5L,0x053390bf8cc483aaL,0x69c23cf281e948d1L,
  62092. 0x65e45d618e822ec6L,0x9240ee412ed94568L,0xe0f33912510a84cbL },
  62093. { 0xad42eb0f6ecabdadL,0xb35afdb4bc7e39f6L,0x4ee63cb10cb50316L,
  62094. 0x7ccfa14a2a27dc3fL,0x584328f0b4141347L,0x361b2614a23cd89fL } },
  62095. /* 45 << 350 */
  62096. { { 0xe70edc42ee93ec36L,0xec773e52bccc99efL,0x9b0367a0ce0816e2L,
  62097. 0x43baad458c6757e4L,0x5d25fa821fb7b01aL,0x65913e86bb6bc3fbL },
  62098. { 0xb1f1fcab67fafef2L,0xe5ffd89c9e9261cbL,0x86f7b89ff29bb205L,
  62099. 0xa76ed6722db408b5L,0xd6f1ce5cf83f53a5L,0x9cb5cd26c2882d51L } },
  62100. /* 46 << 350 */
  62101. { { 0x03f6ca364b2582d0L,0x70345ae80f8116e4L,0xc2612cbfc562aba3L,
  62102. 0x9cdd127789898142L,0xea7f202c02d762ccL,0xa00c15da33662a74L },
  62103. { 0xcb5cc621aa430b63L,0x6dd1482fb1550d67L,0xb27e7df46216f063L,
  62104. 0xfffe57408f49403aL,0x9403206cfc2bc9f9L,0x132504014593a578L } },
  62105. /* 47 << 350 */
  62106. { { 0x6b9c67e6076b2d5bL,0x54509f61883d31d1L,0x25905831fe051be5L,
  62107. 0xe6633c1be93608f5L,0x284afa7697480e6aL,0xb124e6063a06cc65L },
  62108. { 0xcbcb2c2e2c608edaL,0x07a39d8f813795a2L,0xf27742a8bd108bbeL,
  62109. 0x7425519005b4e5b6L,0xa27620b2b0145a3bL,0x6e3d1210c0f42782L } },
  62110. /* 48 << 350 */
  62111. { { 0x0eeb9dc702ed3c24L,0xe7cb624dfb39fc44L,0xded105f581d4cceeL,
  62112. 0xaa675d0c46465cc3L,0x313f4fc99af0a81bL,0xd129819f227e6a72L },
  62113. { 0xaa6b690340b16103L,0x3dba75b2fb4c2fdfL,0xc9feeea1e7c79c2aL,
  62114. 0x14f503104e024e75L,0x3704aaa8b5729449L,0x39ac6b0c24b86accL } },
  62115. /* 49 << 350 */
  62116. { { 0x7e25860735214575L,0x3baa75cb068c68c2L,0x93b6a33f10be8d33L,
  62117. 0xa88f3cc11ba06b10L,0xe70e7ec2a4f8fe72L,0x32fed39fd4835710L },
  62118. { 0x16137edf3e6059b5L,0x57b1bb9fbb064775L,0x68d3f26dac98cfccL,
  62119. 0x89339bce7f9fd53fL,0x15b32212825e946fL,0x55b0a89bf92a0ef1L } },
  62120. /* 50 << 350 */
  62121. { { 0xf419d9becd3eed01L,0x851b31659851492fL,0xa9ac81a9c9b0a402L,
  62122. 0xf67bdf20122c09acL,0x9b26b131f442a030L,0xf7a548f517e72d1bL },
  62123. { 0x9e0dbf852a7f505eL,0xaa8e7348c7e93ff2L,0x4efa7877134d8017L,
  62124. 0x48f476fc13e5fb0eL,0x552d0447154f4040L,0x8d5b166569b18f6aL } },
  62125. /* 51 << 350 */
  62126. { { 0x65ef443e63c90cfcL,0x3a0dfb8194ed3ad4L,0x75570ba710b5547dL,
  62127. 0x5e161fa498e84064L,0xf55dc5003c576f89L,0xe46bd28c7f530eabL },
  62128. { 0x367607400109f9c1L,0xde7a997bb15e9598L,0x25386f307593c3d7L,
  62129. 0x680e3639def120b7L,0x43fab687aa6e213eL,0xce48861daa99cf3bL } },
  62130. /* 52 << 350 */
  62131. { { 0x93c2cf3e53ead820L,0xfca3b3564f4444e1L,0xeb6d82bfaac7a37dL,
  62132. 0x9c0915d4cf49947cL,0x771f9f7cc7edadaaL,0x51418e487b2df679L },
  62133. { 0xad1b249173f28cf8L,0x8fe4fb7baecacd2aL,0x539764bdb20d0b77L,
  62134. 0xb0073685a6a4f808L,0x4c6f5602cf909196L,0x1ae89342d45e9e7dL } },
  62135. /* 53 << 350 */
  62136. { { 0xcf8aa4e5f007985eL,0x833ea882c325d2dfL,0xc1cbaaf5f9f326e8L,
  62137. 0xe779a4a9bf906c20L,0x29f475bbc923cf15L,0x6598d52a54055b74L },
  62138. { 0x1001a5f1e4fbd4f9L,0xb4933d56cc74cc71L,0x45c04a50fed802baL,
  62139. 0xda140558052bd04cL,0x71c127d63dfbd563L,0xef2b85ba42ebaafcL } },
  62140. /* 54 << 350 */
  62141. { { 0x76569e44bc325891L,0x8f8a1487fa2604afL,0x07a8bacdbc90be04L,
  62142. 0xeb53b1087b2c9bb7L,0xcfdc78aaad3c7943L,0xd74807da3bfcd779L },
  62143. { 0x642552417189257eL,0x28138e8d23cb9584L,0x0ce0b331476b888dL,
  62144. 0x6d9ceaa0f2a9bbe5L,0xb4f1185653b872efL,0xfa9e6fb222d06df6L } },
  62145. /* 55 << 350 */
  62146. { { 0x0d45565ce6eabd52L,0xaca75463f41a4559L,0xc3e4064a846eb291L,
  62147. 0x22ac04bc8613d2f2L,0x74cf6fac2364ce2cL,0x61bbaca8be4fce3cL },
  62148. { 0x302e8117b24dc7b4L,0xa72ae24dd89a053fL,0x75b2023967de96e1L,
  62149. 0xbe51cfd2a9e6d1bdL,0x807a8e3d07c9259dL,0xcf3cd92e43cf6384L } },
  62150. /* 56 << 350 */
  62151. { { 0xc040412c754b8669L,0xbda7e0cde2c1d3b4L,0x2ac3b3d5ba29b9beL,
  62152. 0x98a415e3f63bf3abL,0x25aee93ed1776a16L,0x46db7347ec3bc968L },
  62153. { 0x8e44180a02612d2bL,0x4e3dc4e82db990ffL,0x2050f58f5f7705dfL,
  62154. 0x7b41f5892672d845L,0xeb301603c96e4fecL,0x66ecd24e6cb16a6eL } },
  62155. /* 57 << 350 */
  62156. { { 0xd428e7e3d01edc1fL,0xef608062873fadf8L,0x05e7c80d5606965eL,
  62157. 0xb818d0c6a979f826L,0xe9b4c5c7c4793537L,0x7ef637225e83bb66L },
  62158. { 0x825d89499fbb3a85L,0x557abf0396e34cabL,0xfc3db05b8040ad0cL,
  62159. 0xbdc8e907e305204eL,0xdfc1628d1c1637e1L,0x10841d2a947a78deL } },
  62160. /* 58 << 350 */
  62161. { { 0x99432df309c7b138L,0x288eef14593b1fc1L,0xf47f9fb21b55f0b4L,
  62162. 0x5cc20dd46788b9a5L,0x2e87fb4605e43a77L,0x08cf86be849c700aL },
  62163. { 0x467ec61374680ce7L,0x44e5c8d45884aff8L,0x549f2ea86b33a1a9L,
  62164. 0x2ebf696a8b4a815dL,0xc1705b152a74323aL,0x930a9fde69745934L } },
  62165. /* 59 << 350 */
  62166. { { 0xbb11fe102d168ee9L,0xba4aea667f39e124L,0x139364b6fca2841fL,
  62167. 0x6feef5b13d359df1L,0x4fe89fe19787be92L,0xd4cea92e0f6b6aa9L },
  62168. { 0x794006c0039bd8f5L,0xdce0eb5b0be647abL,0xf4a97f7d4e40c1d3L,
  62169. 0x78d19059d5f7254eL,0x464ddc1d0df22d8bL,0x990b0a39e0fc7628L } },
  62170. /* 60 << 350 */
  62171. { { 0x72f5a0f70ad3bb67L,0xabb15e3dce6396d8L,0x2ae94788463efba7L,
  62172. 0xe77b53b41fd4c512L,0x09921a1ca88606cdL,0x1b86b75608e980eaL },
  62173. { 0x2def667af3d22731L,0xadebd3a39641b175L,0xc0f35509045da920L,
  62174. 0x8fbf85e4952b7ca9L,0x4ee7565023517a65L,0xd31eeea30e75a4a4L } },
  62175. /* 61 << 350 */
  62176. { { 0x6d9a5d3cc4508650L,0xe71fcf32d1a2ac1bL,0x784b9148d62ec2dbL,
  62177. 0x9a3d5d572088946aL,0xc488178757848c00L,0x2f50a62e0875c1e9L },
  62178. { 0xbd23d4aedec0f2dfL,0xc9c28dd5188dad0eL,0xf87ef6460977ba29L,
  62179. 0x89ce8330ab03e4d7L,0x7dbec90dbcf1a5a9L,0x3ddc39c1f6c2a4d4L } },
  62180. /* 62 << 350 */
  62181. { { 0x8c0518c7618b787eL,0x6f226212b95734feL,0x3e6cab90c66e138bL,
  62182. 0x6e56d68037a7c0b8L,0x67a3c7df16f6acbbL,0x43df95107921bb92L },
  62183. { 0x967846f6a0887d25L,0xf717017766908fcbL,0x1a8ec350267430d8L,
  62184. 0xebb46f1a25855c90L,0x73eb78cb396c1714L,0xf766957cdc081e43L } },
  62185. /* 63 << 350 */
  62186. { { 0x0700da846de27e73L,0xfac9dcfd78c35563L,0x01af330ccd073b09L,
  62187. 0x0bf5c3b1bb784ceeL,0xd3d9a9ff5d465498L,0x4836b065bde8bafbL },
  62188. { 0xf5bf3316329b4cf5L,0x387388fc54a5275fL,0x73e880d8254af26eL,
  62189. 0x07ebcddc8d05311dL,0xe8b9965a4f46cec2L,0x4f07a4fa01b06069L } },
  62190. /* 64 << 350 */
  62191. { { 0xc0a40cac52133095L,0xfe1b22fd93c162bbL,0x8625898c34018741L,
  62192. 0x69c9f3f636d9e57aL,0x69d9d7f3378aa211L,0x6b03f897e7dca168L },
  62193. { 0x24d49aebf997a48fL,0x1d984c67c149ac40L,0x667c1d01576f533fL,
  62194. 0x372eee199ef82eceL,0x577723c0c207c14dL,0x4225907a0eed37f6L } },
  62195. /* 0 << 357 */
  62196. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  62197. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  62198. /* 1 << 357 */
  62199. { { 0xc61db977bc0e0903L,0xbaf6e4da645c32fbL,0xce89b8ca060b1adbL,
  62200. 0x41db448188e2c178L,0xba6339f3923bdd3cL,0xff25b818d29db42cL },
  62201. { 0x3521116ee6d6b35dL,0x4e1bd283b22f16acL,0x9357c984bd79fe5dL,
  62202. 0x2eda73be9d45eee4L,0x1a50c59f6288e01fL,0x37baf64975018873L } },
  62203. /* 2 << 357 */
  62204. { { 0xc552c6c6097f322fL,0xdf59a3028bc06287L,0xc9ed375c19610b0cL,
  62205. 0xf0e7b4ebb051dad5L,0x7267a304c6556643L,0x0044f6d8c96dc1d8L },
  62206. { 0xf0ed5f9af4fc3725L,0xbbaf9f2c9de8e1ffL,0xef5d66f4af5a4b4bL,
  62207. 0x0b5bed3d20644cf2L,0xf7e4543a75ae23c0L,0x696f60dc41325b66L } },
  62208. /* 3 << 357 */
  62209. { { 0x9949b33d2c20f868L,0xdb3aa790b5706250L,0x88ce71e788e17f2bL,
  62210. 0xd851baf2da9c0881L,0xe869c5ba86d8c9e9L,0x1af68d65a01425b6L },
  62211. { 0xeae8b1c69bbd3963L,0xf34900b1ec087425L,0x14942910c374bb96L,
  62212. 0x3e13c45705487483L,0xe0e6fad435bc6ee1L,0xc7c38dc7b54d247bL } },
  62213. /* 4 << 357 */
  62214. { { 0x6d34bdf6ab463fa6L,0x7bb127b60093b9cbL,0x61d051135a3bfdd0L,
  62215. 0x4abab575f1296bddL,0x72da68494d2e9a7cL,0x90267bca8d11f03dL },
  62216. { 0x478111223e9b310bL,0x8ffe91d31b1920cdL,0xec293ec67521898eL,
  62217. 0xf0cf026996c1da75L,0xb0dbd4c380f2c7b3L,0xe528175534e4baf8L } },
  62218. /* 5 << 357 */
  62219. { { 0x7ce1ce36189e2f1bL,0x36ca8fe3fa84ca41L,0x54cc2c13a6a568e4L,
  62220. 0x1967d9ed25a6d223L,0xf8d20c88537252afL,0x5a58936cac3d697cL },
  62221. { 0xa2659671b0084ffeL,0x08a9e041ec25bb0eL,0x6bd405ed4074ccedL,
  62222. 0xaeebb470dacb5503L,0x6f18e32bd5448d3eL,0x0412973ba94cd45dL } },
  62223. /* 6 << 357 */
  62224. { { 0xd72fcc3742fb1cd7L,0xadfb8967c49c359dL,0x6dc988a55935bb0dL,
  62225. 0x3fb10981e3080802L,0x12c4494f3be161ceL,0x5a0e22d44b649dd0L },
  62226. { 0x5c57cbfd62a85259L,0x7ad55b3c0e5ab7a2L,0xcd53564928de30e7L,
  62227. 0xce35e6e76867e6a7L,0x626810562f6716fbL,0xd8b4ff26a88d3bf8L } },
  62228. /* 7 << 357 */
  62229. { { 0x5949ddfa53abe7a9L,0x944a2ae0716f63a6L,0x90961922675d1f43L,
  62230. 0x36c41c12f5b55722L,0x85b8250f7782775eL,0x89a3a733748663beL },
  62231. { 0xd4358450475d2d88L,0x4183f45e1beef8adL,0xee3bfe8b06ec8d58L,
  62232. 0x2e462b1609cc4d82L,0xf9cc307ec6148e1dL,0x70d3b2f77b1281a3L } },
  62233. /* 8 << 357 */
  62234. { { 0xc32730e8dd14d47eL,0xcdc1fd42c0f01e0fL,0x2bacfdbf3f5cd846L,
  62235. 0x45f364167272d4ddL,0xdd813a795eb75776L,0xb57885e450997be2L },
  62236. { 0xda054e2bdb8c9829L,0x4161d820aab5a594L,0x4c428f31026116a3L,
  62237. 0x372af9a0dcd85e91L,0xfda6e903673adc2dL,0x4526b8aca8db59e6L } },
  62238. /* 9 << 357 */
  62239. { { 0xf0467111e854f886L,0xe228021d8dc6117fL,0x07ff954cac432e28L,
  62240. 0x373be2ef31d9b69bL,0xaa214d016fd61f0aL,0x27bb7932f950b029L },
  62241. { 0x1caa914f967c97f0L,0xfb133ec0d548897dL,0x598514173cfad251L,
  62242. 0xd41d1da432d14208L,0x446c79f2cee424ceL,0x8b5272a175e839a5L } },
  62243. /* 10 << 357 */
  62244. { { 0x26b5e85d62f50c12L,0x8418cecf5ff562d5L,0x0d35b4d459be698eL,
  62245. 0xd79ca9ee93730d2eL,0x2414d99325627fe5L,0xe31dc5293fc64803L },
  62246. { 0x5c9100d60d027a12L,0x9004ee36f2208db5L,0xe734b13b135d02bdL,
  62247. 0xf905c01a7bc09b60L,0x4eb51557b21b68fdL,0xe6e98bea8c583359L } },
  62248. /* 11 << 357 */
  62249. { { 0x14dbcf1a61dae7e6L,0x559a7b52ea0da075L,0x7391545d439d10d6L,
  62250. 0x187e00e675e617abL,0x453b546b5142355dL,0x9bdbddbc84bca97aL },
  62251. { 0x742a699591e5035dL,0xcf86d3e1831209ddL,0x6fb66757f5f2a999L,
  62252. 0x2e360aeff0e71f2dL,0x6c6f71f2dc97114aL,0xef686b8b17c3a3dcL } },
  62253. /* 12 << 357 */
  62254. { { 0x7d07a61d13b5ea74L,0x7f4b7157c8afecd9L,0xefce9c89820b0298L,
  62255. 0xe85c4510e3888d59L,0x9cd3352001234b9cL,0xba2692c0fef767e8L },
  62256. { 0xd2bea3d45b3ca353L,0x9ad478e5b51a704aL,0x1fc9bd0d9426f25bL,
  62257. 0x52f930bf864a1ba4L,0x559f36353765ff27L,0x548c7f0dae28479fL } },
  62258. /* 13 << 357 */
  62259. { { 0x6296d54f68b0df62L,0xace420ee9e6afdd4L,0xa20a510dfcd1812fL,
  62260. 0x488f113a8cd04a29L,0x1bee07640765cb70L,0x50bb5c446d0f44e5L },
  62261. { 0x5ea842cb7e320ebfL,0xa6e0c1e6e795a7fbL,0x89cd1f765e7e79c9L,
  62262. 0x7436ec1e87ce6c5dL,0x1376222de28309f9L,0x9ed7d6fb7f01548aL } },
  62263. /* 14 << 357 */
  62264. { { 0x32e9740ae2fb0467L,0x3a7a32b3ec039d67L,0x630d8d346a425a7cL,
  62265. 0xc9af74ae418a7dd0L,0xc903576daf502870L,0x7e02b3b7e98cce5dL },
  62266. { 0x0bfdee7a158f005bL,0x88eff4a363b91d59L,0xf23079728bfe3ed3L,
  62267. 0xc75536bce6b1fb4cL,0xf61a82e1a04d46fbL,0x771a8fedfddd52a5L } },
  62268. /* 15 << 357 */
  62269. { { 0xf5efc82065af5b94L,0xd618a9e8ce5535a2L,0x70cfb112cda6249cL,
  62270. 0x6986f00f9f217280L,0x41e46ce605faa951L,0x2abb39f3a3ad613cL },
  62271. { 0x3e04b28b07671c94L,0x61d323ac53cdaf80L,0x2389875cbb9580f8L,
  62272. 0x64800835febb0b34L,0xdaebba99d0d21027L,0x0f1cebfc23288a7fL } },
  62273. /* 16 << 357 */
  62274. { { 0x51a033a5cecb916fL,0x2ac62f638d7de61cL,0x92eece49a42a266eL,
  62275. 0x87e037db82c4d11eL,0x875be1416fbae08aL,0xf348fe26c539478cL },
  62276. { 0x51f8b907ff94c01eL,0xc46cc0e019695a9dL,0x2c74bd666c51b9c2L,
  62277. 0x635d3d24ee565de8L,0x6bd656638982c8c3L,0x5c345b79daf6a93cL } },
  62278. /* 17 << 357 */
  62279. { { 0xee7265ee93f081dcL,0xe8f90a6be03493f4L,0x4e8d10275328b0b8L,
  62280. 0x13bb82bb96fa0930L,0x764c2915d1f7d5a7L,0x1896c78f73476481L },
  62281. { 0xe9a34ff267873b76L,0x8a9a719cfa0afda4L,0xce93d4cc9ccb715aL,
  62282. 0x9ba00f011495d1ffL,0x3131e6666df0e119L,0xe68e1815c902ac6bL } },
  62283. /* 18 << 357 */
  62284. { { 0x0ce4ae1044f4a2dbL,0xa8645e2310bcc5c6L,0x6d9728b5e489762fL,
  62285. 0xd365c12a9d46ad88L,0xedf484fee1a527aeL,0xfdf5c519e5be2bb1L },
  62286. { 0x4706cc2870a3d4e3L,0x07c60129065f1506L,0x42e2e16478298553L,
  62287. 0xa56a2bd5bae646dbL,0x893bf45c61437e62L,0x97dbf9266c525900L } },
  62288. /* 19 << 357 */
  62289. { { 0x65c56764b52213c3L,0xa171ba9d97aefe9aL,0x5904e8c934336916L,
  62290. 0x727209b6ff187f05L,0xaf4e50525cb68a5bL,0xb46a6abadc4319feL },
  62291. { 0xfd48d0d57890cd90L,0x5b0b68c7252942daL,0xc41023352b01887bL,
  62292. 0x582251eb5ad09a7dL,0xbd79b557e1312726L,0x9f5ee3788057db5cL } },
  62293. /* 20 << 357 */
  62294. { { 0xa30486a6666fdcc5L,0x5cb7f7ce84056f89L,0x0f8a6b96505636a5L,
  62295. 0xfeafdf97c6624ce2L,0x9dade91c55b8a7d6L,0x3d009219ca2b459fL },
  62296. { 0x483549845a969337L,0x37d57cbd323c09adL,0x32a91e91e74b9e74L,
  62297. 0xdb4f18ff1c317c24L,0xf9f0daf342418667L,0x735a1eb946946667L } },
  62298. /* 21 << 357 */
  62299. { { 0xb395bfd1c8eaa54bL,0x8181d6262ee25219L,0xf4bf437b38d912f1L,
  62300. 0xf9f1161228a8b32eL,0xe359adacc2be5c61L,0x71557ea2971b60c9L },
  62301. { 0xf071404b1b00cf1eL,0xb163c3608da3141fL,0xd9dedc07a8d51d98L,
  62302. 0x29e89ac5ac827b74L,0xc38cef633ef35dfbL,0x9abd281097d477f1L } },
  62303. /* 22 << 357 */
  62304. { { 0xb34e560f0e6d9646L,0x4fc05a0dc0ba033fL,0xc9f5e040ddc1bcc8L,
  62305. 0xf723b78ab92068cbL,0xd558f5912b5c7030L,0xb16bdec774ed778bL },
  62306. { 0xc12aacc3b32980e0L,0x856e90411daaa32cL,0x34f7a28596429db4L,
  62307. 0xcc2c61ea415dcd04L,0xa0e192cb46b7d996L,0x5b7c845d55d87ce9L } },
  62308. /* 23 << 357 */
  62309. { { 0x9ba0a26fc0ee684eL,0x1b871ac353573254L,0x76a094bc5783e706L,
  62310. 0xe78bea66dcc01e8fL,0x7e20c5aedfb74e56L,0xbdc5314a8710f0e6L },
  62311. { 0x2bcc7a0085f2233aL,0xc58dd45b8aba1575L,0xdd1c6b78e411b6d8L,
  62312. 0xbb8d19529d23d2eaL,0x5293f3cc0066c9cbL,0xb7d0d7b0249c6d93L } },
  62313. /* 24 << 357 */
  62314. { { 0x68fe359de23a8472L,0x43eb12bd4ce3c101L,0x0ec652c3fc704935L,
  62315. 0x1eeff1f952e4e22dL,0xba6777cb083e3adaL,0xab52d7dc8befc871L },
  62316. { 0x4ede689f497cbd59L,0xc8ae42b927577dd9L,0xe0f080517ab83c27L,
  62317. 0x1f3d5f252c8c1f48L,0x57991607af241aacL,0xc4458b0ab8a337e0L } },
  62318. /* 25 << 357 */
  62319. { { 0x614c4bc273041ddfL,0x4fef1cf6364135aaL,0x2c9ac204ecf0e610L,
  62320. 0x75a302a991a6dce1L,0xa5899c96651ec9f9L,0x6c5384f64bcad1a6L },
  62321. { 0xa41012e560f705ebL,0xfcf6512235e85d67L,0x2fdcfc235ced3638L,
  62322. 0xf834fac02deac34aL,0xf5a64ec510a8ad80L,0x843855e1a412c4feL } },
  62323. /* 26 << 357 */
  62324. { { 0x440dfebd76ca517aL,0x79924057c577eb59L,0xf1aea290d038a921L,
  62325. 0x77afb37fb0c95974L,0x48a5b9a715763d44L,0x713de85155c8683eL },
  62326. { 0x250e8f8239d7e1deL,0xc5f1f61c8a2c846bL,0xf26ea6f9faafd017L,
  62327. 0x8ad26055f9d7cd35L,0xc980ba773b2df598L,0xe23b7eabd5e299a3L } },
  62328. /* 27 << 357 */
  62329. { { 0x5d37811464744605L,0xfab096990278c1f0L,0xc4d32b208448c344L,
  62330. 0x767a24d2d7d1df17L,0x842de148773ea0fdL,0x73d7dfbdff6e40b4L },
  62331. { 0x3d61439283576d1cL,0x4820c435ec865519L,0xf99e84dd6bfa5e48L,
  62332. 0xeb18687a9d0d2adcL,0xc3b7369da7fd75d2L,0x7e332b5739f5f093L } },
  62333. /* 28 << 357 */
  62334. { { 0x0796a8b6ec13d2acL,0x19036c255677347dL,0x2f0d36eef527c827L,
  62335. 0x7c8a3d17ca61ed60L,0x3920bc68748cf7c2L,0x61835bdf9018b300L },
  62336. { 0x9cf595c1689d5826L,0xdc547999fb51aea5L,0x11bb04120fc297c6L,
  62337. 0x88770df2b2f9fe0eL,0x99e031f5f6856a85L,0xbb59e8c7afe29c50L } },
  62338. /* 29 << 357 */
  62339. { { 0x714e784820dfc5f8L,0x35cde8ae2a2265bcL,0xf6b29ce4bfc32fecL,
  62340. 0xbd5e91f1918043a5L,0xd3766f8b60f8c218L,0x273c41935298904cL },
  62341. { 0x0a76492d5d441fb5L,0x99cb3b1d164d9275L,0xb2be87c80ac7935eL,
  62342. 0xbd1a1b3f0962981bL,0x8a0c207b96d0df2dL,0x1bb1e505929752d9L } },
  62343. /* 30 << 357 */
  62344. { { 0xa574de94621b2705L,0x0d0ca1b73e3f2227L,0xbdc9ddf2e49bc2d8L,
  62345. 0xfbc7254309d314f0L,0xf5900cbb827e0b1dL,0x3994eadd8a7e8164L },
  62346. { 0x2e7949793046f170L,0xde21ddc3c6883cc6L,0x9ea19d34bcd40da7L,
  62347. 0xb4334df8f01a9ae5L,0x801496ebce8c53c7L,0xc2a5e8527a4b0601L } },
  62348. /* 31 << 357 */
  62349. { { 0x435a6c512ecf62d2L,0x757cd8f6559a6a0cL,0x47833f815e4c0d40L,
  62350. 0x2d0b48047d960c6aL,0xf5474833473d5eb3L,0x70264154bf756b52L },
  62351. { 0xcc46e58d940bfb7cL,0x2e0dd3a69c89d48aL,0x483f3ee19387df66L,
  62352. 0xb3097da4585d3600L,0x82d64b4d76411ef9L,0x0df7d95719682e87L } },
  62353. /* 32 << 357 */
  62354. { { 0x179c59cf210c3144L,0xfb613c5733eebbc4L,0xdda75cfdba0cf384L,
  62355. 0x94081a5b3a8fbafaL,0xb91de90a33384e0bL,0x7d1f8f4027aa2a45L },
  62356. { 0x0747bcc162031148L,0xd2db8e39f324160bL,0x9c1ce3e9722484f0L,
  62357. 0x13a7ee5da62d1ddaL,0x77fd79343a963bceL,0xcd3d871783d2f21bL } },
  62358. /* 33 << 357 */
  62359. { { 0xc7c8eedc93a27196L,0x0832b0dfa8abe585L,0x31fe11e8d8adfb86L,
  62360. 0x1091601e9d50e4c7L,0x7931a284ac3d2ca4L,0x0f1464b6f3fc6641L },
  62361. { 0x2ead94f3260f29a7L,0x914b8396d88a7696L,0x950be4bbe73d807dL,
  62362. 0x26d0115e5b3ad83dL,0x3de8a73146c22525L,0xe50825dac5fffff1L } },
  62363. /* 34 << 357 */
  62364. { { 0x716378cae4b98aa8L,0xacf8d67b59b746a9L,0x78f0b5eca65ce8ebL,
  62365. 0xe5997983523cfa35L,0x85bf5badbeba89e3L,0xc8052bbfcfd73b41L },
  62366. { 0x0b3d77139fb311a3L,0x821a20e2d96f696fL,0x0f087e5744657c9aL,
  62367. 0x72031f281ecfea36L,0xd0765f333f32b010L,0x0412c69929c48643L } },
  62368. /* 35 << 357 */
  62369. { { 0x53d361b89f501481L,0x8970937717153c6fL,0xb52280b916bb8d8cL,
  62370. 0x5985cdc0b33dabd6L,0x35ba0cd9dca8ae72L,0xf55c6e7301bc4efdL },
  62371. { 0x2106ed2f269577c4L,0x4cc34291bfe765b4L,0x9f4168ea812eb958L,
  62372. 0x02869228999ba5cdL,0xff91540d3ab27498L,0x9020e6e158e55a79L } },
  62373. /* 36 << 357 */
  62374. { { 0x1a5b15377f1c7cbdL,0x5b31930b7cc17c56L,0x5b91e1a492cc8cf5L,
  62375. 0x970e43deeca08bdeL,0x36424bfe0e2e963bL,0x2e49534968b1a489L },
  62376. { 0xe350ca52d8e85a9aL,0x3cb9f599ae2cdd7cL,0x0ff35a0aa83215ecL,
  62377. 0x64cf57b81973a966L,0x128be6cd36b26702L,0x8067afbd5f65f7bdL } },
  62378. /* 37 << 357 */
  62379. { { 0x23d1f49215876c71L,0xafb21c1d41e7495bL,0xdb3ab62c2705885dL,
  62380. 0x20ff803f7ba216cdL,0x26cb190699c9ee55L,0x8280dc9c0fb05389L },
  62381. { 0xadf55171df1020dfL,0xc044e9bcbd011b5cL,0xe21aaa60cbed2430L,
  62382. 0x5939fe583336df4dL,0xfa306816ff78c665L,0xba92ca8243eb18f2L } },
  62383. /* 38 << 357 */
  62384. { { 0x6f05e6241b7edb64L,0xc280105b6681f48fL,0xd1b94413f993dc9eL,
  62385. 0x84f24c01e46de412L,0x092017d54abbf7dbL,0xb73193a56f7b1b08L },
  62386. { 0x22a7c5765195ae46L,0x81dd6b12610c28efL,0x61959874ad7bfcc1L,
  62387. 0x3ade0a77d15f8cf9L,0x124cef4d954db624L,0x0733bd7a5c247650L } },
  62388. /* 39 << 357 */
  62389. { { 0x52d7f9ddf1cee098L,0x538b7fa17a6a2ad1L,0x5f2294312911e75aL,
  62390. 0x71c337b7e6ef0271L,0x5e278a1267ee72d1L,0x7b348c756f33fea9L },
  62391. { 0x7bb59f1a694bb928L,0x5783e43f292b258aL,0xe3b53ca77181f1d2L,
  62392. 0x028ba90e051c7d2eL,0x4bb06f9364789d76L,0xcf97fc4da228a7a7L } },
  62393. /* 40 << 357 */
  62394. { { 0x3dbb3fa651dd1ba9L,0xe53c1c4d545e960bL,0x35ac6574793ce803L,
  62395. 0xb2697dc783dbce4fL,0xe35c5bf2e13cf6b0L,0x35034280b0c4a164L },
  62396. { 0xaa490908d9c0d3c1L,0x2cce614dcb4d2e90L,0xf646e96c54d504e4L,
  62397. 0xd74e7541b73310a3L,0xead7159618bde5daL,0x96e7f4a8aa09aef7L } },
  62398. /* 41 << 357 */
  62399. { { 0xdf5c2fa79111caacL,0x493ada25b04d2b3aL,0x5c4850bfa39a7872L,
  62400. 0xbeae16c067e07e93L,0x63bd7d390178358dL,0x7a7e56a1cfe0bcd0L },
  62401. { 0x9ba7a4500816b666L,0xea6c70c8dae070dfL,0x84013756832c2b35L,
  62402. 0xa28e5dd08d3e9fc3L,0xd67665aac653c08fL,0xee54d7b6aa6bdff8L } },
  62403. /* 42 << 357 */
  62404. { { 0x99b870afadbd24baL,0xb34fa9083bee289fL,0x4a20f29bae836fa4L,
  62405. 0x4188ed5024b464c3L,0xfb93f48fc6c00297L,0x334b8689736186ecL },
  62406. { 0xbf7f1c424e1016f1L,0xf95e6e59413ca088L,0x5878156c288912d8L,
  62407. 0x9e99199704c7ce69L,0x0f0c185d5d6520d1L,0x1ed2ece33fe6f498L } },
  62408. /* 43 << 357 */
  62409. { { 0x319fb249607cfd40L,0x5920056f62b40e28L,0x9ab4528058631ab5L,
  62410. 0xb527738f413452d2L,0xb2885e46b296e602L,0xb1dcf41a74824807L },
  62411. { 0xca9d2b06b2ad2fc6L,0x500c5f11ad05eeceL,0xca94160f21f3db6aL,
  62412. 0x693adf4e262470d6L,0x1f4c62c5480b0cffL,0xb3ebf11f54c748e4L } },
  62413. /* 44 << 357 */
  62414. { { 0xc8ae4d2bb4ef93b3L,0x4967da7b99758d99L,0xd1483a1fe04db9baL,
  62415. 0xf5e657df3033474dL,0xdd9371c89db4b96fL,0xb5f288956044b259L },
  62416. { 0xe8987a43b2ec27bdL,0xaabb1ae68fce67bcL,0x4518fa3eb2b97680L,
  62417. 0xa0142a13748591e1L,0xf9148ab96c2db557L,0x65592253e0e4f9e7L } },
  62418. /* 45 << 357 */
  62419. { { 0x21163809bccf41d8L,0x0eafed515b3f09d1L,0x3b5360d9d84b27f6L,
  62420. 0xee752fd04411d37aL,0x1cea3b5c6a3f5027L,0xb206e74d9454d9f6L },
  62421. { 0x710715dab52af43dL,0x8175ca136e6c6463L,0xbdb123d39689144dL,
  62422. 0x569e6edd4d9c459fL,0x070f09a4f02e5b25L,0x691c23ef3d79a7b9L } },
  62423. /* 46 << 357 */
  62424. { { 0xc0c94165781356cbL,0xcb9fb705876a839bL,0xfe23f07e89db25feL,
  62425. 0x710f0fa3a52cec3bL,0xb0ab363073e0f037L,0x3b79a8167c9aa037L },
  62426. { 0xdbc7f83ca1f13fe1L,0x8bd910c63d653a81L,0x2e54ad408c78d003L,
  62427. 0x0de02157a3e9ccf0L,0xe9081e8bf7670dfbL,0x6a2ad476c8647bc8L } },
  62428. /* 47 << 357 */
  62429. { { 0xaf58106ebf047836L,0xadc3245e195e5675L,0x75612e175290e051L,
  62430. 0x27b81bd869d46bb9L,0x9d4dad5b5417b5faL,0x19850d70fd024259L },
  62431. { 0x987daa604b0a86b5L,0x5d5a5f9c0358a944L,0x9008682f48d2ff67L,
  62432. 0xc9db4d4b89e81cf9L,0x133516bc850eaae4L,0x0b5bfdc81da8bd19L } },
  62433. /* 48 << 357 */
  62434. { { 0x609deb162d8bcd6eL,0xe42f23a92591750dL,0x4a9f3132b378305cL,
  62435. 0xf101799869275f5eL,0x14be746761b089b5L,0x05f620d20c81b0c5L },
  62436. { 0xca90a9c06cb8412eL,0xfe0f6a8915b1b0d5L,0x1b25ac9620c71988L,
  62437. 0xb971b61a390aedd0L,0x995214d779d8cd39L,0xd7fa135b65c6e11aL } },
  62438. /* 49 << 357 */
  62439. { { 0x5aaa98f875330325L,0xc900a7781f3541a6L,0x69bcf864174a3200L,
  62440. 0x3abc5ef71c46b3e2L,0xa53c9e4e47851b97L,0xc166a4e22acdc42eL },
  62441. { 0x49e4e6fdb19b4678L,0x4fe02cb162b7da19L,0x575c61a6633153feL,
  62442. 0x49578b28a4f83b70L,0xc6840d063737532cL,0x93047d40480f55b9L } },
  62443. /* 50 << 357 */
  62444. { { 0x835be7417d930332L,0xa4d001bb2cd86fc4L,0xef141e30a6e3a24dL,
  62445. 0x4047620adc328d2eL,0x5c80a3bc9a5f1f12L,0x6cde5e4ca19b423cL },
  62446. { 0xcdd5d7773ba0fa5cL,0xb96dbe62ea85c28eL,0x963c02245c804896L,
  62447. 0xb2a581abe5dd6b98L,0x28a908a2abc8dac4L,0x5834b212985fd18fL } },
  62448. /* 51 << 357 */
  62449. { { 0x02757b1f0fbe0c5dL,0x2d0d05a854ef99e2L,0x2bda526d0377ffa0L,
  62450. 0x58ca8b08925985afL,0x1fb7dbe727b69722L,0x322d7db5f1c57fe5L },
  62451. { 0x4049c8bcfdf111f3L,0x0b4712974148b027L,0x34fcb1e58782dab0L,
  62452. 0x697dc9431665557cL,0x3ae30e2844659ba2L,0x479dbc2f118e7417L } },
  62453. /* 52 << 357 */
  62454. { { 0x10b10d86227e8607L,0xe83536281d1be36aL,0xe34068f9d952b0e9L,
  62455. 0x148eeb38fdb6ea99L,0x82657d605547e7ebL,0x9c35dc82a86155eeL },
  62456. { 0x408f79262060a81aL,0xf2a79205a6282e8aL,0x10dbb58526e70e7cL,
  62457. 0xd636f8225df85d6cL,0x03202c027682b922L,0x31323940baf18500L } },
  62458. /* 53 << 357 */
  62459. { { 0x5882374401879796L,0x068943ccd1249281L,0x20dec1c12e1d6effL,
  62460. 0x5f4c2c070bdddecdL,0xc56d52b37ee724c3L,0x93bc2c7a559e25ddL },
  62461. { 0x0c95d2e5f98a9940L,0xc570e96ada60a809L,0x94c4a964076233eeL,
  62462. 0x843c99627dbbc526L,0xe4075129d4cdc652L,0x0afff70561cb2698L } },
  62463. /* 54 << 357 */
  62464. { { 0x3ec1e3a5f607f893L,0xd476dd24054aaa8cL,0x2cb92280a93488abL,
  62465. 0xc8d1207710d1dc68L,0x564839b9bfb494e6L,0x7a13930ceabdfe56L },
  62466. { 0x52f72a9724f9b183L,0x30ae4bc87e9c6fc3L,0x3d7d2765f35b8e6cL,
  62467. 0x701f3d89a665ba55L,0x98f2fe85c466111bL,0x338073600c1c0dadL } },
  62468. /* 55 << 357 */
  62469. { { 0x7dd106bab3a48d42L,0x7eac4690ebfc75aeL,0xdbf3547e68ef4ea3L,
  62470. 0x3629c438a1a5faa2L,0xac2aa55e653bfd97L,0xae5cc39752c3b8f9L },
  62471. { 0x117380552853b626L,0xd5a955f224a0dfe2L,0xc4356ca25940233eL,
  62472. 0x73f7eda97994aedfL,0x2bfa76c693b185d9L,0x091cef91a0327108L } },
  62473. /* 56 << 357 */
  62474. { { 0xa8393a245d6e5f48L,0x2c8d7ea2f9175ce8L,0xd8824e0255a20268L,
  62475. 0x9dd9a272a446bcc6L,0xc929cded5351499bL,0xea5ad9eccfe76535L },
  62476. { 0x26f3d7d9dc32d001L,0x51c3be8343eb9689L,0x91fdcc06759e6ddbL,
  62477. 0xac2e1904e302b891L,0xad25c645c207e1f7L,0x28a70f0dab3deb4aL } },
  62478. /* 57 << 357 */
  62479. { { 0xf5dafec85f102704L,0x2f3b6b6929f5b946L,0x84472c029d4c9979L,
  62480. 0xed49f3e6341f0150L,0x3ee3432eb3bb085fL,0x84c553183cbac42eL },
  62481. { 0xbb358bd9dc4c7ffaL,0x0713917d2db356ccL,0xc73e9fd0670c7139L,
  62482. 0x87600c4c3581108eL,0x2ae731d7586af51dL,0x30630ad6614c126eL } },
  62483. /* 58 << 357 */
  62484. { { 0x15f8fba7712c0edfL,0x4a1f93baa2c363ceL,0xfabca37e8f2948a4L,
  62485. 0x652922e4dd765560L,0x2da78559220cb98bL,0xb797746a54b940c4L },
  62486. { 0x8535fcfc591bb7faL,0x58857815c25376e3L,0xcd8db789da627557L,
  62487. 0x718072ca318512b7L,0x92266469813efd94L,0x3217649aafa85382L } },
  62488. /* 59 << 357 */
  62489. { { 0xd517b39e51c4bf28L,0x6614c16261f583a3L,0x79c72f414739ea59L,
  62490. 0x597e1c2ff76e80f8L,0x3a72b05e7b846f3aL,0x1849e5126c0a45a2L },
  62491. { 0x79a6ea5b9d506d83L,0xc48e570219b7f46eL,0xc89c5047c524bb48L,
  62492. 0xafc1fdd99cb88cfdL,0xb07eaaa0b82056e6L,0x60f6544f05885df8L } },
  62493. /* 60 << 357 */
  62494. { { 0x9894ef75f39e2738L,0xac585d07b40db6ecL,0x07d9e938c4cfdb92L,
  62495. 0xda174933737f1a7fL,0xa4f1fb65484031a6L,0xa96d9f612c21b546L },
  62496. { 0xaf981519d24ccee0L,0x238de6de9d53b571L,0x09afc481fd78c3ffL,
  62497. 0x4351715d9ea7f6fbL,0x91a02325b14a7320L,0xcd8958d8bbb6346aL } },
  62498. /* 61 << 357 */
  62499. { { 0x22ef4217452ae6a0L,0x3192309d9ced837aL,0x773585ed2ba43ee9L,
  62500. 0xa9b29d94f3379e81L,0x43838b3aa6835e44L,0x1afe27ab0c7b2336L },
  62501. { 0xca1dc61683ecd230L,0xc9e8b95e6d235df5L,0x9667829b2af11adeL,
  62502. 0x27254b0fbe532148L,0xb50bc3c86d233f14L,0x30e0e450bb35d985L } },
  62503. /* 62 << 357 */
  62504. { { 0x8b3f79087b95cf32L,0x67c654b06272c619L,0x61160a9d22c0f46eL,
  62505. 0x1cce95721d2e36ccL,0x62bd951d3990db3cL,0xcf0005c8d9700d14L },
  62506. { 0x304aff9c70116120L,0x1c919dd2b08d57ceL,0x841b058ec0c0c0b0L,
  62507. 0x7cfd4deb7af05aa2L,0x4fbd13c57b11ce5bL,0x03e07dc9f8259bebL } },
  62508. /* 63 << 357 */
  62509. { { 0xe9b37f569d0703e0L,0x7b5e0df5f83c215bL,0x7fbb40f0d3c21efcL,
  62510. 0x87a2ff119fb33620L,0x208b062bd1176635L,0x806bc549950d30efL },
  62511. { 0x862de3a4ae2bf355L,0x917b06bacf9ef6e8L,0x55f1ec4cadacc178L,
  62512. 0xbcd679fc81d752fbL,0x9404d6ce65a00270L,0x25ce99e6000c6e1fL } },
  62513. /* 64 << 357 */
  62514. { { 0xa13f19b40f3ff12dL,0x57ee08b1019564aaL,0x00ec0c997044a6f4L,
  62515. 0xaf5665f8dca1075cL,0xded5ca3f0620ab0cL,0x9b2cb8c7a896deffL },
  62516. { 0x032ab2b307df2345L,0x964d109ef1da3f88L,0x2286b6f725133304L,
  62517. 0x0d16d531977a4567L,0x00a66036f1abae4fL,0x5debab1d95f0103bL } },
  62518. /* 0 << 364 */
  62519. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  62520. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  62521. /* 1 << 364 */
  62522. { { 0xf2cdae3196230a58L,0x47cf36b4f304e1eaL,0x9d14f25ad750b29bL,
  62523. 0x931b9c65dba15f3eL,0x34db169ebf9fe2ddL,0x8a89e47c52663433L },
  62524. { 0x8859a4f8026ec31fL,0xeeb703eaa913ceeaL,0x74638d6a67ac4db7L,
  62525. 0x5c8ea7b2be25d755L,0x8a0f0a8738db10eeL,0x96a26bace890bcd3L } },
  62526. /* 2 << 364 */
  62527. { { 0x883533af64a5e869L,0xaaa778c26973ec23L,0x8f0b5fb546d0fcf3L,
  62528. 0x7e6b0a0a4ab05da7L,0xcd91a869c67b6614L,0x7de9f2ff6c6f7cf2L },
  62529. { 0xc072a106d1ec14c3L,0x3f4b960642a128eeL,0x7378192c8f0ce946L,
  62530. 0xdf2e7b9fd1149441L,0x4fa17cb614ccf45aL,0x575680e945f03568L } },
  62531. /* 3 << 364 */
  62532. { { 0x0f4ca7803374f910L,0x5948ae98fedc5b5bL,0x4873625b4ef805afL,
  62533. 0xbddba22fc015c586L,0x7091b50aa41a8c93L,0x721dd3384c005f42L },
  62534. { 0xf43d37462065f41dL,0xd16bae3e172512b3L,0x3efca10c8277068fL,
  62535. 0xd0c25d7b77513f00L,0xc0015cc12dc3af9bL,0xdf11a4ec94c6cadaL } },
  62536. /* 4 << 364 */
  62537. { { 0x8b70e94f8f458c68L,0x292726544160ecc7L,0xe22219ba4d3ef22fL,
  62538. 0x7f8a712a1999f948L,0x25575e96abfe7302L,0x21c6ffc6564a1af0L },
  62539. { 0x045e9c667e8500daL,0xef7c3cf704ef8ea6L,0xdd23b825c3db161aL,
  62540. 0x05fb173aba33a906L,0x9a8b5ecb870e41f2L,0xf3d9db0bccc30d1dL } },
  62541. /* 5 << 364 */
  62542. { { 0xbed7d94ca1bf2c8cL,0xbb7f437cb8b719ddL,0x65416af6106834bfL,
  62543. 0xdade8a144c4f7448L,0x62227a1d881dfc06L,0x37bc7de58dc2b7bcL },
  62544. { 0x4f11541712ce030bL,0x72439d8ac2a9e0d6L,0x98cc53aba0f1b961L,
  62545. 0x2f68011d48b0ec8eL,0x4bbc34679c72d034L,0x0320c1469c576e38L } },
  62546. /* 6 << 364 */
  62547. { { 0xd9243926e873ff0fL,0x2e2a5ab6f20b0e49L,0xa1bcfeee0e35f201L,
  62548. 0xd25be5f3196f23f3L,0x298c67f2ffc1d068L,0x77dae55c0c3d950bL },
  62549. { 0x5e15ab998822c996L,0x52de2e6d83f60a98L,0xa9f82ec947a7e269L,
  62550. 0xf02af9a22ac22e49L,0xdfb3103fa706f090L,0x125599623cf8dcb0L } },
  62551. /* 7 << 364 */
  62552. { { 0x9f5f44fa666e278fL,0x53c88803f5582c78L,0xd7e8f258f9627f9cL,
  62553. 0x22499dc938fd51bdL,0xa9d7497c846a4a79L,0x791b8ead026ae250L },
  62554. { 0x84d47d19db15ff63L,0xb58a82c0267b44b5L,0x9b2f138806a52e30L,
  62555. 0x3fc8da027f08953fL,0x22d074d292fcac08L,0xb9c7c3db701d73fcL } },
  62556. /* 8 << 364 */
  62557. { { 0xb7b8562588ad12b2L,0x81f5958b1e44b254L,0xb4ebddd5c91b8ffdL,
  62558. 0xef815ae155d38511L,0x98587d551b0da525L,0x1d41817734a9ebbdL },
  62559. { 0x844811fb1e6057d7L,0x0c16977176e5976dL,0x4b268bb4f623789bL,
  62560. 0xb26ae5be40498058L,0xb47a5ded3c2b435aL,0xe15a684b8fceceb3L } },
  62561. /* 9 << 364 */
  62562. { { 0xd55407583353db48L,0x0e334ccac0c0b5e9L,0x679a935f270c48d3L,
  62563. 0x170693e436ef0e90L,0xc72fb12f9de59023L,0xaae13a0e9371697cL },
  62564. { 0xe98ed704d8d56e4dL,0xc6de5384eb71f091L,0xba63adccc6d905a8L,
  62565. 0xc84e614d66e40dd4L,0x15dcf1a3fa0f55e3L,0x4e26ee3af157c7a1L } },
  62566. /* 10 << 364 */
  62567. { { 0x122a3eedd09dc3c8L,0x6a19907faefe0819L,0x057aafa1da325339L,
  62568. 0x138033bdd42a5345L,0x8ac206af1a065ebeL,0x0a46f5ae25c31ed6L },
  62569. { 0x7fc577a9d7e379dbL,0xc6df694369dcee54L,0x4c167ba2a8336bc1L,
  62570. 0x0fbd9708f3a1339cL,0xc6b8c01f226f612fL,0x5d4ed789d51332e1L } },
  62571. /* 11 << 364 */
  62572. { { 0x67ead4e0f6a40814L,0x42fe051ca2ec9ae1L,0xc09f84395eba62cdL,
  62573. 0x7bb5ba0c9d8e7305L,0x85962d0db46f81abL,0xc7183752628b18ebL },
  62574. { 0x7a1f023edf58ec0cL,0xf21bfdbaab6535dfL,0x12add590801d2481L,
  62575. 0x1fccd1e37a11520aL,0xf83caddd6fa8f8e2L,0x99e7256c24e58433L } },
  62576. /* 12 << 364 */
  62577. { { 0x26aa2c2e5a1abcd8L,0x2b16a12e9609d9d8L,0xe485a551a2bee00cL,
  62578. 0xfa28c30bf4f2292eL,0x99abef78b7358f1bL,0xda6b3cdf10a276a1L },
  62579. { 0xbd3858b747c03f71L,0x4f0bf5f0b22d05d1L,0x2d80f5d28250f760L,
  62580. 0x060f9b278cd9666cL,0x6a6c40b0b1b014a9L,0x44537af38c440a9eL } },
  62581. /* 13 << 364 */
  62582. { { 0xce1c070a2275263dL,0x2723b3d149cea971L,0xedca02f5817001b6L,
  62583. 0x5c160e9349c946e4L,0x273b4952458a5265L,0xc7bcd7c610385173L },
  62584. { 0x22cddfd17fb08b14L,0x959d5dfe10f73d01L,0x900f5f348e387351L,
  62585. 0x6d7381dfdadb8695L,0x8dff2b193aeafba6L,0xe4a8d6bd8adadc36L } },
  62586. /* 14 << 364 */
  62587. { { 0xb564cfd676faaca5L,0x8a6e3925920dd223L,0xee59a140a590a383L,
  62588. 0x9e29b552a1922ad9L,0x604367de60a0da63L,0xc498aca592c35fd0L },
  62589. { 0x74135082250ed8a0L,0x5d109d1a6c7c3e77L,0xf9e2d84dc63dff94L,
  62590. 0xca50f5e4f7aa2b0eL,0x7cba9e87d543d389L,0xaf5fbbefd8fd1292L } },
  62591. /* 15 << 364 */
  62592. { { 0x3163e2e895bcc345L,0x4ceaaf2d80d9a931L,0x4d2dc44b2f621612L,
  62593. 0x2a5f60b86cc8ffd0L,0xf49038cf7e8c9434L,0xb580b8c508015b8fL },
  62594. { 0x4283ec01d52af80bL,0xac9dc35f99076245L,0x38785f7bd64c3dd8L,
  62595. 0xca19c17623bf8915L,0xd778291370478260L,0xc1e48e6816e34149L } },
  62596. /* 16 << 364 */
  62597. { { 0x707656834fc11c3aL,0x53a9403166aac4d1L,0x2a935ef0a6db6169L,
  62598. 0x002927612032d599L,0xb5babb2d3a6f1316L,0x601a7dfadb26af51L },
  62599. { 0x00c340131322d983L,0x45b062ec2bb507c5L,0xa1bbe2ed0f9b3656L,
  62600. 0xe17a5d4934031d18L,0xe3661047f8fe1224L,0x0e4f3b3d623c6cf5L } },
  62601. /* 17 << 364 */
  62602. { { 0xb335d83c7c3b8c3cL,0x01eb94f059359a67L,0x3a8359a6aef3ffa0L,
  62603. 0xb0270076ecd2d862L,0xc946b1610377e30eL,0x9a5506c282bd6ae1L },
  62604. { 0x737bdad0218512dbL,0x449238633487fb13L,0x36026dd12a8e7907L,
  62605. 0xb67bdc80784811eeL,0x9f92cc2405c90646L,0x02c551554c370746L } },
  62606. /* 18 << 364 */
  62607. { { 0xffaac084ca45cccfL,0xaea5cc3d061ffe3cL,0x7c5d7c60b355f387L,
  62608. 0x4bbb2a0c99cba92dL,0x6b4ba3ef2f7768d6L,0xc7484ed2cc5f9c40L },
  62609. { 0x5d4e92fc52b57a7eL,0xba9f16c4ca2c200bL,0xebe02a8a3797ccbaL,
  62610. 0xb6b3f42138c4133aL,0xad5d85b68153d033L,0x782d6ee85714f269L } },
  62611. /* 19 << 364 */
  62612. { { 0x4654991087f226ccL,0x97894d5fc7bfffcbL,0x94f67786b3cabb83L,
  62613. 0xa6abaa960d788dc4L,0x08ae72d61723738dL,0x5003f41d86704dfeL },
  62614. { 0x67687c3d40fb0a3cL,0x6fdc98c9b43320aeL,0x0f22572fdeb08964L,
  62615. 0x05bb02a4c8002624L,0x4c5adb7f987c2991L,0x3f1c6dddef4e60cdL } },
  62616. /* 20 << 364 */
  62617. { { 0x7845b6969c0cf752L,0xb82d052b5a732acfL,0x7760564c1262877bL,
  62618. 0x29b3c57a8ecc7aa5L,0xb58eccb0df1ebbedL,0x86fc15443c3a3303L },
  62619. { 0x44761ddf13060f0eL,0x5a3dacfd7371a5a8L,0x846f6faaf7cbc2bcL,
  62620. 0xf5e098b0368caabfL,0xe23ea10710c08769L,0xbc5df1db1563fcdaL } },
  62621. /* 21 << 364 */
  62622. { { 0x75647f6476638edbL,0xb76ceb04aad6e25bL,0x33c73367d9393a41L,
  62623. 0x8396726dc55f0feeL,0xe1cbd48e751b3d43L,0xb779c5bdf47141a3L },
  62624. { 0x122b85434eab6097L,0xeabacf45e08c6fa4L,0xdb32eab7769f49cfL,
  62625. 0xf956976a04ac2cb4L,0xf55c6fcb5ea8e71aL,0xd72940dfbad47ea9L } },
  62626. /* 22 << 364 */
  62627. { { 0x65c3a54e142d8955L,0x5c6583cce7814f25L,0xbd5a07d8d924dc7dL,
  62628. 0x9f717bd9c28f6e8eL,0xa0c4ec4e3b6540a7L,0x3153bb2b142b3283L },
  62629. { 0x53bf403c9b296946L,0x659a828ab1cdb6d2L,0xe9517d811369af19L,
  62630. 0xd8c7a0998990e7a0L,0xbaa9f59de535cd04L,0xbb0cc68e0f269551L } },
  62631. /* 23 << 364 */
  62632. { { 0x2b4a0e69d0cd5fc2L,0xeb8dd25981167a94L,0x356198ae61b73503L,
  62633. 0xb159ca12e5289d45L,0x99d71c97991765b5L,0xce3a3b6c198e10b0L },
  62634. { 0xcf6ee0bcafbb512eL,0x4aadd1381e19b49aL,0xcf6a9cf3b4806f0aL,
  62635. 0x6aff0386ad688bb4L,0xea487c6e4f2e5065L,0xec200f4b56573b51L } },
  62636. /* 24 << 364 */
  62637. { { 0x3c00ac526a78c6e5L,0x9c61aca6defaa52cL,0x0034128939794a09L,
  62638. 0xe08910d141cd7c0aL,0xa58ffbb6a732e3bcL,0x87bf51ab91fe8fd8L },
  62639. { 0xc4f4f2674a59e2beL,0xdeb512c7438071c8L,0xddf82842e9cd290bL,
  62640. 0x3e17311d6ae85fe0L,0x6e9236a9b41be881L,0xbb9ddf9853555ebfL } },
  62641. /* 25 << 364 */
  62642. { { 0x07d2df1162bb0e3aL,0xe74ce211ce469affL,0x9629d7d4756b5a83L,
  62643. 0x61d2a633aefd449eL,0xd39a6afe491e503bL,0x0f1568d14d2b2ed7L },
  62644. { 0x8216304cd19611bbL,0x6df99bbeb27388daL,0x2b0f60c0b7a3b4beL,
  62645. 0xcff84c1c7dadf840L,0x470201e28a9f8a49L,0xcda3693c21afc717L } },
  62646. /* 26 << 364 */
  62647. { { 0xccc163ea09f3f0beL,0x9932b56f6a5b0a63L,0xf89fae919c69668eL,
  62648. 0x555f98215ce13021L,0x4b02693f37037aa9L,0xc4afee79bde50f35L },
  62649. { 0x4b0919c202aa6c7aL,0x3166de2a991e15e9L,0x284baa3e7077fb38L,
  62650. 0xbb7a6416a116ddecL,0xe8c89547b7636772L,0xff9403620ef92c54L } },
  62651. /* 27 << 364 */
  62652. { { 0xcd183e8bd3ea4c3cL,0xc8ce2f2154b7ac32L,0x75387e04be960826L,
  62653. 0xaf878400f2e39f5dL,0x7fcefcd94fa628f7L,0x76eb621c34582cbbL },
  62654. { 0x44e1f848f29d2496L,0x42aa36174ab4eb21L,0x43cead840c08b50aL,
  62655. 0xfa4ecf60dd44f7c2L,0x5ac9ffd59f817546L,0xec11567eabcc594dL } },
  62656. /* 28 << 364 */
  62657. { { 0xd5d81275e2ce6008L,0xc45bdf250b3b9d10L,0x15ab5da36cbc83e2L,
  62658. 0x85a18cf8c52a66cbL,0x77e202b8b042c047L,0xc4dc3de2e7e7997eL },
  62659. { 0xfe9335b1995fa67aL,0x809e161d75b96a00L,0xfb03c2a5a0c3baeaL,
  62660. 0x5c7e0523888c2f77L,0xa8fda1c887ad10e2L,0x90484f78858a3577L } },
  62661. /* 29 << 364 */
  62662. { { 0xefc5aa2681bf26c9L,0xdbe91f606bf105bcL,0x0d70c4d4369dd3aaL,
  62663. 0x2b357b847af9bf66L,0x4293e9a01f27f163L,0xc846f67cb3eaeddeL },
  62664. { 0x4556bb787da305dfL,0x4ecebf83a5a26bf9L,0x8e05af924c1bc430L,
  62665. 0x4f3bdaba70f80402L,0xccaccfd3cf204577L,0x8fdee135a0c42d1aL } },
  62666. /* 30 << 364 */
  62667. { { 0x49e41f0af9fde126L,0xec9600443613d3c2L,0x2c62a49d10421d3bL,
  62668. 0xe24024648131a0d8L,0x8a7ce188bdf794fcL,0x704dea7d4665b1b6L },
  62669. { 0xbdb9c18e4d57c6baL,0x5288a053f669b3c0L,0xbf7d01b878a5e252L,
  62670. 0xb26cccf926b9cb7dL,0x14191a3284326c47L,0x460ff74791f8425bL } },
  62671. /* 31 << 364 */
  62672. { { 0xb9958c5397698b9bL,0xe1f74292c27f96ffL,0x172b0d50806da6bfL,
  62673. 0xaf3d889ddd38b97eL,0xe7a75ea409c688daL,0x1f0951b85c631b2aL },
  62674. { 0xdad8b2adda1c111eL,0xbacb9cc832813338L,0x30b8336b10582abaL,
  62675. 0x0ff3d7549494e71cL,0x8d99be5cd663ed6dL,0x8eb412cf7073a941L } },
  62676. /* 32 << 364 */
  62677. { { 0x59367582bd27be7bL,0x92bf5bbc1ab2c596L,0x5d96351af6a27741L,
  62678. 0xeab94db87f929e0dL,0x865ba011043f1afbL,0x43acea125fb631ddL },
  62679. { 0x192e0652b2fd1436L,0x44f22ff17b38d121L,0x7bcc228db7cae5f6L,
  62680. 0x02eaeccd6a828b03L,0x7c48a2ea91f301aaL,0x1e090717f5eb1a07L } },
  62681. /* 33 << 364 */
  62682. { { 0x4c7f41b4609c6818L,0x978c2a561c82b3c4L,0x68404f1d7f6ba836L,
  62683. 0x91e056d0c863aa7cL,0x0b24599ba2261804L,0x16e9060dcdd7596fL },
  62684. { 0x42aa49434eff004eL,0xb99408690438f1e4L,0x28299e8581775712L,
  62685. 0x498998eb83be6877L,0x84273d9e91328a67L,0xb7e9076e9a87bc8cL } },
  62686. /* 34 << 364 */
  62687. { { 0xe8d204865e5aea08L,0xaa946076addc7ba0L,0xc0153a9bb6a5cabdL,
  62688. 0x622271bd4fbe43e0L,0x44de159cbd62e5cfL,0xefca41112b9b63f8L },
  62689. { 0x30774d3cf5269928L,0x4fbb7ff84ac0c8b6L,0xe0611f1f8839106aL,
  62690. 0x5d4121204ffa4a64L,0x9552c123e86251c0L,0x57d029680efbdb14L } },
  62691. /* 35 << 364 */
  62692. { { 0xdf3f8e06d7aeacd2L,0x725b25fe4d0e7af3L,0x1794f0da5c17392dL,
  62693. 0xabc807dac977ff46L,0xd90e6c8f0d5ca66fL,0xaf8eb526c2d26d49L },
  62694. { 0x4661962e8a8efa37L,0x2a2cbeade87ad53aL,0xa57d34b1ce3ff40fL,
  62695. 0x1190437dc6aa3067L,0x92c31e779db66b47L,0x86a8ee0f8e8a70d4L } },
  62696. /* 36 << 364 */
  62697. { { 0x7b65bb14de97229eL,0xad6e3fee4c6d35b8L,0xfcbbf6afbee3f5d8L,
  62698. 0xb51549ca4a438fe3L,0xe66e615d437d531dL,0x9ee793eabf168624L },
  62699. { 0x796789b0f8878a84L,0x3d38950dd32ec2ecL,0x74c37196a638d45bL,
  62700. 0x35d318327aeedaf0L,0x082c44f046a001e5L,0x93fae5cf89886220L } },
  62701. /* 37 << 364 */
  62702. { { 0x8e585fea499b635cL,0x60afcb3566781e83L,0x06594d9267482257L,
  62703. 0xb9f6101128773448L,0xba9ef7102817fd2aL,0x494e05b2aad046c8L },
  62704. { 0x65d804fc1614e265L,0x1b0884c6d97fe002L,0xd7d34f60875bcc2dL,
  62705. 0xf34725444b440852L,0x49386bfb95591325L,0xe3966f4ccf68a142L } },
  62706. /* 38 << 364 */
  62707. { { 0xa5f3bc6cea06320dL,0x1bf855c637ad6e7eL,0xce7ff06ec58befadL,
  62708. 0xcf0d22cf1c2c0478L,0xf53e473e75616621L,0x00539f8700829986L },
  62709. { 0x45398355844866d3L,0xbade46a2d710bc63L,0x6b3da567d4e2641fL,
  62710. 0xff70185978fd963cL,0x2eefaabaa5bc18a6L,0x61eeca92eb64cd49L } },
  62711. /* 39 << 364 */
  62712. { { 0xdf7c7c0b4cd4c82fL,0x67a26a97188ab9dcL,0x58c5bd74dd189cebL,
  62713. 0x3e1e93a9bb6409f2L,0x0d18a8bca6bb744bL,0xad3eafb45328dcf0L },
  62714. { 0xacd15db5e311dfe8L,0x13a1c10ac1e849bdL,0xfaaa7227e1e73aa5L,
  62715. 0xa4cd2400e33d4665L,0xb9be68d9d6d527b4L,0xfe282bc05efbfc40L } },
  62716. /* 40 << 364 */
  62717. { { 0x159b38e17f8fd522L,0xf3ea27b5755e2bd8L,0xfaa52efebf11ac90L,
  62718. 0xc2014b892cb9f6dfL,0xa711c179d8baa5d6L,0x5474c1ceb22c2f27L },
  62719. { 0x3cbc74cb031d05d9L,0xddd97ca6c44e469aL,0x21b386a647db83e5L,
  62720. 0xd1431c7b7abc0595L,0xbc05d009a416a325L,0x1c29eb709da53e92L } },
  62721. /* 41 << 364 */
  62722. { { 0x7f1aaf98181ce8a0L,0xa890cd3b6caa5b6cL,0x5d78dfaa5fbeac66L,
  62723. 0x36c63cef3d3d4594L,0x6f89ac3ec36d117aL,0xce9095640fc90e27L },
  62724. { 0xaa356b1ac127aa76L,0xfa42cc119d181455L,0xbe4622fcd27f5ab7L,
  62725. 0x58d924542c3d54f7L,0x78a84f6b07e93c24L,0x5bf7cd278bce9a46L } },
  62726. /* 42 << 364 */
  62727. { { 0x4bde9ce5f810db3bL,0xec4a74b7281552edL,0xf5b4fa5fee085bb0L,
  62728. 0xb07a62936192c8b2L,0x163ff0d1fb18d219L,0x8d4b5e1d8e0ce753L },
  62729. { 0xbfa6211baebcbf50L,0x1ed6d4b4fecc19eeL,0xbf6d514b82393e94L,
  62730. 0x90b356c1711e7d6fL,0x87b28dc2f975139bL,0xc41900648d8bebe9L } },
  62731. /* 43 << 364 */
  62732. { { 0x3468af53e8d49368L,0xa0a07369ff825262L,0xfad134fd662958f7L,
  62733. 0x5be79c00ce900822L,0x4909a56c44bde5abL,0xc2e8c4df4862e335L },
  62734. { 0xd5e9b9386e7e41f5L,0xd3828d424fe474afL,0x058b2723cef44adaL,
  62735. 0xc74ac74617eebe66L,0xc3e6e014bca4416cL,0x2e30bc88167c2e86L } },
  62736. /* 44 << 364 */
  62737. { { 0x68211ba4969c2c58L,0x7a34733977f218e4L,0x0237eb3696ea1d64L,
  62738. 0xdc97f94b7416f3caL,0x63aa82e476bf9e52L,0x4b88a32d388465baL },
  62739. { 0x7322d9f44adc7579L,0x70c01c7fb24d28f6L,0xdf7f4213c7517ecaL,
  62740. 0x42c027f0a8db6d56L,0x2708360eb6c2f8baL,0xf20690d1c2dde09eL } },
  62741. /* 45 << 364 */
  62742. { { 0xf139c3e3bc6158ceL,0x19207b6a4c86b780L,0x55af3eb977c036b1L,
  62743. 0xd192686abd563ebdL,0x8bd0afb05550266dL,0xaaa7376d83bf81bfL },
  62744. { 0x26aa74ae4a114541L,0xd92549dfbb6745ecL,0x6ad6a14ec6bbfbd0L,
  62745. 0x63fee75b411771f3L,0x111ae3101938e8b5L,0xce3e5e346c363756L } },
  62746. /* 46 << 364 */
  62747. { { 0x2a53c88ae0a45b56L,0x26367466da72228fL,0xdd65516edfdbb135L,
  62748. 0x5fe254e82d7e37bfL,0xc0f5cbe433ef39e3L,0x249b7e3ece85effeL },
  62749. { 0x85951a5391ffba8aL,0x41117672c8dd5ec6L,0x7a74538d9dbb0761L,
  62750. 0x0b35fba0cfb06ddcL,0x8c36be4d1a0aca2aL,0xbf884a8e45848e1dL } },
  62751. /* 47 << 364 */
  62752. { { 0x191eef31788596c8L,0xa7413be65a2d0ef8L,0x30894fcc5c3c09e1L,
  62753. 0x6b0e429b2f72a333L,0xceea52a1e70470e2L,0xfc638b316b682db2L },
  62754. { 0x31af73cd615f7f21L,0xb31663760094996eL,0x7ec37e33dfff756dL,
  62755. 0x38c50101d9b63a4cL,0xa517c6df192f18e4L,0xd674c53a841fb337L } },
  62756. /* 48 << 364 */
  62757. { { 0x4dd3bd842446fc6aL,0x4654b82ef25ab510L,0x1ad46998ba066896L,
  62758. 0xb7c679acad713bbdL,0xef9389aff7ca4fa5L,0x1b864105d68b6a1cL },
  62759. { 0x3acfff604b6f5ea4L,0x81ef58f7b9e5a475L,0x5e2f6441c66ad734L,
  62760. 0x49f144c42fd3eb16L,0xbd7f22082e4e2117L,0x30865994417911a3L } },
  62761. /* 49 << 364 */
  62762. { { 0xc2f25d9e80d2adb5L,0xa0e77dc5242430feL,0x7f30e54b4f504e97L,
  62763. 0xdc114db4680ca2cbL,0xf76fae57adec4d89L,0x06f892eff313535fL },
  62764. { 0x50af729a9a266407L,0xb0cbc4f0764dffd1L,0x153ff8f8d20c2e19L,
  62765. 0x27fa845a7388d22fL,0x26e08ef5d784e057L,0xccbe49ee53b5dfc0L } },
  62766. /* 50 << 364 */
  62767. { { 0x6fa8e5ff3082ceb5L,0x81f4dd02ef4850ccL,0x626b324456483f9aL,
  62768. 0xc0acbd8782e65652L,0xf9bef3117e23f93eL,0xc2474777c2310f6fL },
  62769. { 0x6b4617704379fd64L,0x2f8fc599f18c3b14L,0x2287f1d0bd076aedL,
  62770. 0x9f8eac0fef366016L,0x517cd2e371fd845dL,0x0fc2f219a30c371dL } },
  62771. /* 51 << 364 */
  62772. { { 0xfea0464721c56ce8L,0x4f7b055b6a32a26bL,0xf8c8d93e487ed396L,
  62773. 0xe620b440855f4df9L,0xa3f6f21dea870c14L,0x0518225207dad127L },
  62774. { 0xbdfb7b12c68ab5f6L,0x5f58bdd7fc68f296L,0x2df9cfc505e4fdc2L,
  62775. 0xed12a102379c282cL,0xd388362654d8de77L,0xaefb0f7fb01065afL } },
  62776. /* 52 << 364 */
  62777. { { 0xdc64f8d23d80d738L,0x7ae74ab1d95a1c6dL,0x4dba93a8dd46de0dL,
  62778. 0x271aeb870fddbd1dL,0x1bab6546e9e7ed31L,0xe6445d22efec8f37L },
  62779. { 0xd927df1797a718a7L,0x738c2450351b1ceaL,0x3809e595d51a7422L,
  62780. 0x4f8d5ea58969456cL,0x74d9168421c9ad95L,0x59a69f8f4f796a11L } },
  62781. /* 53 << 364 */
  62782. { { 0x2542fcf1f07717aaL,0x032abb3f405a7717L,0xc757e6e294cade8cL,
  62783. 0xad4776adf2e84dd1L,0xb7e277243d5e397bL,0x173894a605f8921cL },
  62784. { 0x0e3a78531f6afc3fL,0xf33732b8ad62482fL,0xa6b4e0f03e4cb6e9L,
  62785. 0x51ba565eda02264aL,0xd0afaa4600f3f376L,0xf5506a1e35252e93L } },
  62786. /* 54 << 364 */
  62787. { { 0x3574783b5ea1c662L,0x675894e514fadc8dL,0x64dd63935ac6ea7fL,
  62788. 0xa76c00dc77f16c96L,0xf73ef2c62eb9574cL,0xdd39a89a2e408008L },
  62789. { 0xbef8c8c72bafa10bL,0xa31f030a074733f8L,0x5620dda5445b4b6dL,
  62790. 0x4e08fb0173040ab8L,0x0a279f38598ad48aL,0x03e8b55e2d40d775L } },
  62791. /* 55 << 364 */
  62792. { { 0xf49d4d54c20c8610L,0x1b1d70bbc0d62b65L,0x524d3a0c16285ce2L,
  62793. 0x0be553b08a0785b4L,0x9b93e5093c84975aL,0xbeac761160769465L },
  62794. { 0xffaaffcb3331dd0aL,0xad0f01542d70fcf1L,0x65aaabab66fe24bcL,
  62795. 0x283edb562cab253eL,0x1659deca80383c87L,0x06de45fd83fc6d7cL } },
  62796. /* 56 << 364 */
  62797. { { 0x7bcb055d5f76c311L,0xdb2d05878e293aaaL,0xb15036e7207360b4L,
  62798. 0xbc38cc9f163f0ae4L,0x5a942f85a44d0a0eL,0xee8633a23f553a88L },
  62799. { 0xf66b65c5c9bd4ee7L,0x7a4ca96a80b8ceefL,0x7b71cc55f6f08036L,
  62800. 0xc0408b198c41be7cL,0x885fd72f80860d93L,0x338a567be7f68b7bL } },
  62801. /* 57 << 364 */
  62802. { { 0xcba302e939d99b60L,0x2557b3d903b8faa0L,0x2a99cd6e9efc4461L,
  62803. 0x03ce3e08268f14a3L,0x59226a83b1c68a01L,0x81a18c69fe379976L },
  62804. { 0xfdfc9f148af62557L,0x0cdf327140b2d4ebL,0xf99ff3ded26c6085L,
  62805. 0x2c138ffdf9b0273cL,0x393d6de6888dfbd3L,0x75903c68e5cc102bL } },
  62806. /* 58 << 364 */
  62807. { { 0x0c56d477b78a7b91L,0xbedff933c7c3ecf4L,0xe02da64223ead65aL,
  62808. 0xf7e7cc19a8162300L,0x3719fb8f2f3dbd03L,0x4f150cb8cff88c59L },
  62809. { 0xa564c5eda7fcb233L,0x9b042870b6a41ca7L,0xf253b65ac1615f1aL,
  62810. 0x9ccb49a7b8aaff46L,0x38bbc5f7af0086fdL,0x688f7c2054a6d8a9L } },
  62811. /* 59 << 364 */
  62812. { { 0x3702c5e5d22a0892L,0xf17510a28d510809L,0x5c36dc68bfdab4e7L,
  62813. 0xf72c9357623a98e4L,0xc660fc5146624a0cL,0xf0b4983d3e64dd4cL },
  62814. { 0x5cb98cc9a5ecf45eL,0x79759acdf5082a78L,0xfd0daf366e7321dfL,
  62815. 0xf61c54f7f1ebcacaL,0x782e5e74b8f665c4L,0xb1d54c2145d78c08L } },
  62816. /* 60 << 364 */
  62817. { { 0xb64f3b9bef1af123L,0xc86dc5ffe1b75401L,0xc3a76d81d928e989L,
  62818. 0x075005abff8ca002L,0xca6226325c3cd8b1L,0x017a97b2bd8f772aL },
  62819. { 0x187eb635039c4757L,0x9eb7a9d1e905c6e5L,0xdacb98bfbc251cceL,
  62820. 0xe357c60e8704c639L,0x50563b8558fd987aL,0xb2f89c864cea5d4bL } },
  62821. /* 61 << 364 */
  62822. { { 0x3d13c0bfd32233faL,0x997c424145aceb7cL,0x77ff5a75ed2e9df0L,
  62823. 0xc4279aa23c91d085L,0x5a11a276ca0392c7L,0x928e06032daae653L },
  62824. { 0x21fe225fc4046f85L,0x591fa82f512dbfb4L,0xb5b01a3f51aa53feL,
  62825. 0x900012ef7133befbL,0x24609da17130c15dL,0x3c4a09b33d2549faL } },
  62826. /* 62 << 364 */
  62827. { { 0xcdd3073d3ceabe32L,0x56e155bc5a848977L,0x07f4c7c6da48eef6L,
  62828. 0x00a2f9f79e021b38L,0xeb683e17ffc4bd6bL,0xa7d6b87592b7e240L },
  62829. { 0x651d21de7e48836eL,0xf9c9ede775de3c75L,0x72cea748d90f2634L,
  62830. 0x29d8022283fc524aL,0x1e412b510dd044faL,0x1b9b332a76a04fdfL } },
  62831. /* 63 << 364 */
  62832. { { 0x4dc8421f06f49d8cL,0x6a3fd9a83f979e4cL,0x50b0e3760b51bd69L,
  62833. 0xec22f486a592313eL,0x5e4663ff8e8904d4L,0xde7b9e23f3362548L },
  62834. { 0xa1ad270d1ab757abL,0xb91fd935a3089f6aL,0x1d6b1524a635f996L,
  62835. 0x8673f8e29c718c6dL,0x0e04360725932b9fL,0xb5d0447222ac239fL } },
  62836. /* 64 << 364 */
  62837. { { 0xdf0ae8df941948e3L,0x123fee901d010bcdL,0xde3717ca1dd28691L,
  62838. 0x0c1db879709b678eL,0x0288959a400acdc6L,0x66c691815ca2d03aL },
  62839. { 0xe52534b3dbbb75deL,0xe914938c3de927cfL,0x1a9a34f873eece30L,
  62840. 0x0fb0c7bd642a6799L,0x375cc0cfeaa7e8a8L,0x75fb9eb5d00ec238L } },
  62841. /* 0 << 371 */
  62842. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  62843. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  62844. /* 1 << 371 */
  62845. { { 0x9ca8cc9db72958ebL,0x3c8cd0db1014f562L,0x72115d53059b2bbaL,
  62846. 0x8fe7ac30730e5dc3L,0x4e67ef69841d8998L,0xfb6439ffc8ed37a5L },
  62847. { 0x48164b3e26df84c4L,0x37d492ad365bc99eL,0xb7fd4643beed38ceL,
  62848. 0x993cfa9fa3e30b3dL,0xdcc5e7af01ddd484L,0x5edf3ac06840175dL } },
  62849. /* 2 << 371 */
  62850. { { 0x79768e9f51d33c11L,0xeec34505a4b24889L,0xc194821bbe0c67d7L,
  62851. 0x537a6a4a6909fdfcL,0xae6d705195ccdda7L,0xed4b722292b3926cL },
  62852. { 0x2c5dd6af6b24a3d4L,0x9282ec39e4386095L,0xdd3c7388397a3bd3L,
  62853. 0x9d176c6a8baf59c2L,0xd5c6219e380ec958L,0x194fc11654e8e315L } },
  62854. /* 3 << 371 */
  62855. { { 0x0b7576f901ec1432L,0x84b30eecabc5f603L,0xdaaf7ba9f4a84b7aL,
  62856. 0x9e3a5daa3bb37a99L,0x56bd964880378cffL,0x2fdeeeb78e6ed856L },
  62857. { 0x079014a73c81ac34L,0xf8de4004b4211c27L,0x0cee3df97fe4391eL,
  62858. 0x441aa7fb2fd2fc38L,0xeba7be864d1b575aL,0xca2fb5b7231c2d01L } },
  62859. /* 4 << 371 */
  62860. { { 0x0683349e463a8251L,0x97dc4f475103e72cL,0x47c7181050663b9eL,
  62861. 0xf327d1499733dac6L,0x03f55e4a292137c5L,0xccc6232ada59e1c7L },
  62862. { 0xbaa8b4ddadc59cb8L,0x45370d35fe7486e4L,0x99a88c1db0322df9L,
  62863. 0x394440a7fd69954fL,0x9060473da5a29889L,0xc8ca43e32f04864aL } },
  62864. /* 5 << 371 */
  62865. { { 0xd5c7241add8b9644L,0x45a5f2d1993116d2L,0xbacacd4a823048dfL,
  62866. 0xa278fa042568547aL,0x3a4f2482bff72820L,0x1305d1a713e4314aL },
  62867. { 0x9d84c33334ba28e3L,0x9995b5bb6a32fb41L,0xb0f75f3c520946d8L,
  62868. 0xd7c4b8b7de98aa63L,0xee5efcf3ba856b6bL,0x36af33683324ed66L } },
  62869. /* 6 << 371 */
  62870. { { 0x90762c1f5827fe2cL,0x20160f7aeaffda88L,0x7420849f5c47c645L,
  62871. 0xb08231956d72e748L,0xaeac683b8ee11773L,0x8c2a0a79fb5c550eL },
  62872. { 0x6d986d696c07cc1eL,0x57269140ba8398b9L,0xd13e136fd94d5223L,
  62873. 0x1aa75419ed5b01c6L,0x7c2014b1408fcdccL,0x0680a985cffde5eeL } },
  62874. /* 7 << 371 */
  62875. { { 0x92fc9a3342c5a7eeL,0x8768614af9f0ed71L,0x1ea5f7ed87ebfb66L,
  62876. 0x296852ded361069cL,0x1cec6f1a0192498eL,0xbfd4858fa9cca3aaL },
  62877. { 0xfba98c242ef240e8L,0xc8b500e4ab635d9fL,0x9f49c572913a3eddL,
  62878. 0xe6181f93d42b2d4dL,0xf96b5db26aa77fa3L,0xdfb2241fe43558d8L } },
  62879. /* 8 << 371 */
  62880. { { 0xc7d0abb2edee15a5L,0x72dc0105228cc4a1L,0xeb67defca80767deL,
  62881. 0x6fa174d871820908L,0x3215df485674d19aL,0xf944531a960a081aL },
  62882. { 0x93ed7180ef2cce62L,0xb318edbfc8bcfc0dL,0x0909d56efe787e58L,
  62883. 0x5ae74fc98fe8b96fL,0x8fc342c435ab6811L,0x6fc6cc5c0b991e0cL } },
  62884. /* 9 << 371 */
  62885. { { 0xa8eaba6e291f689dL,0xfbfa9a2cdea0cba9L,0x5b1b4a21727bfa11L,
  62886. 0x3b69505fac59c8c4L,0xb06290c89368ddb2L,0x4181abc294bcc14aL },
  62887. { 0xa19f65813e29d997L,0xab1ae8408864aac2L,0xb04a24300fcc9ae8L,
  62888. 0x3ca2428e1059e4dbL,0xe288731117e1e01dL,0x1f5d4164be56238fL } },
  62889. /* 10 << 371 */
  62890. { { 0xc600dd57354416d9L,0x6f5840991f829d6bL,0x2d7b0a27de43c1d6L,
  62891. 0x21bf3a9e616bdb16L,0x33ce767c96297953L,0x99bf97b69e4398b2L },
  62892. { 0x4069cced8d441287L,0x52e0edd6bf01017dL,0x9981bf89c5394236L,
  62893. 0x07d9c079acb24e38L,0xd2e5e904a2da4735L,0x4c3c12162f1b6cd9L } },
  62894. /* 11 << 371 */
  62895. { { 0x1f28bd0de6f1c85cL,0x4a49d0864e6f3db6L,0xc9a8e70c4ef7d981L,
  62896. 0xde8abcf2682bc68eL,0xd0ef89a4a66cbee3L,0xfa03108432df7f0fL },
  62897. { 0xe361e0f803594856L,0x1f423bafc985c77fL,0x50397b67010ee4acL,
  62898. 0x502f4a20c0a48e96L,0x260bed875435539eL,0xdae03cefa0391250L } },
  62899. /* 12 << 371 */
  62900. { { 0xfeecc6e83be5ba68L,0x3293dbda40445158L,0x48454e20e81879caL,
  62901. 0xd0ea9cb89c4a2712L,0xba8b6f33540749c3L,0x95e6d6e3e971df93L },
  62902. { 0x4c2a1b13478a2eb5L,0x8b5f9af330b92170L,0xe6c60b5343573986L,
  62903. 0xb9f56a6a57040c00L,0x6de6489f6291a7b4L,0xa9a7784653bc3246L } },
  62904. /* 13 << 371 */
  62905. { { 0x0dd4172f9025411fL,0x978e952ac6129de8L,0x9afa974bc7ab7609L,
  62906. 0x7bd29a644e42f223L,0xc0232f5f3deb639bL,0xacce69d05f39a264L },
  62907. { 0xdaee07cb3070b24cL,0xe3adc8556b532246L,0xae5935ce1e6ee4f6L,
  62908. 0xba9c4329ea018a45L,0xa1a4002e6b97ee9dL,0x98390aab8a9460cbL } },
  62909. /* 14 << 371 */
  62910. { { 0x828a9dbe67154a02L,0x57a3af981866aadfL,0x1558428089faa581L,
  62911. 0x2da092202dba2a1dL,0xa225f631df197ae6L,0x0abff5cf8f4ebabbL },
  62912. { 0xbbadc9b3b98e5e4eL,0x7c7cc36e4509f98fL,0x072a6cc2759413f6L,
  62913. 0x7b39ea4121dd1222L,0xd6baf9e196ac2c73L,0xee38818c75d46296L } },
  62914. /* 15 << 371 */
  62915. { { 0x19befeacfa37c53fL,0x32c29b361f95c29aL,0x1d282db40d5aeafdL,
  62916. 0x8812b6c8f102a97eL,0x1cd4a23c8402f481L,0xbfdf7b6b8eddec81L },
  62917. { 0xc8039ae0616b2654L,0xdc6f38acabd23a57L,0x2431c763f147dd44L,
  62918. 0x7c45ed50d795bc37L,0xdbc30ab9842022aeL,0x568f7d4ba1f05a43L } },
  62919. /* 16 << 371 */
  62920. { { 0x55671129542f4e90L,0x43bedccf0623d4cdL,0x7e21207ce99ca16bL,
  62921. 0x785fa1057c7a26b9L,0x33c28658c2c3ab00L,0xcce42a48d79cd59fL },
  62922. { 0x9a674db4b8c3bc75L,0xea701d156904e3feL,0x990e722166bf2c6cL,
  62923. 0xba29affabd4c3791L,0xd98510cf20696ee1L,0x722ed471f93d26a5L } },
  62924. /* 17 << 371 */
  62925. { { 0x74e6c2624ba40f04L,0xf7ad1f159a63b3c2L,0xa89e8490ef75d482L,
  62926. 0xaf8e79b83bb5f5c4L,0xb094f8660c624d8aL,0xb571ce6613c69a60L },
  62927. { 0xcbf9722d53787457L,0x97e24cf5c15d097fL,0xdba98bede99e034bL,
  62928. 0x8b6c171a57773590L,0x5d2b441cfe822efbL,0xb8c6dc57fc74ef1aL } },
  62929. /* 18 << 371 */
  62930. { { 0x37c70bdf7db1c03fL,0xd9368612964632abL,0xcf6368d742530338L,
  62931. 0xe56beecbb1d9522eL,0xb1caaf16bb6fba3aL,0xb7bd485ac8384d26L },
  62932. { 0x4ba13818528d4372L,0x95c469bab9c5e8f6L,0x4e5cef0c4a370695L,
  62933. 0xb87c97ca663f9b07L,0xa9e1b388e5f3b79aL,0xc0416bb84c845a1bL } },
  62934. /* 19 << 371 */
  62935. { { 0x4483db00e4634d8dL,0x4d8d623d0a268bd8L,0x296f179c64e6d10aL,
  62936. 0x048f3a1cb6c7ff95L,0x60f8ad62c60c76d1L,0xa0a497610d028845L },
  62937. { 0x10128387aea1b714L,0x81e5c75ca18bd98cL,0xac30d7361dac4200L,
  62938. 0xb83c1c12821380f1L,0xc8ca7c6afaaeb726L,0x13fb870dfead4cfbL } },
  62939. /* 20 << 371 */
  62940. { { 0x3921332a6b393648L,0x49ec6df649584f38L,0xa0fc013dce243a6cL,
  62941. 0xde5b16b5f8da8a00L,0xabcd0c0471ab1c9aL,0xff6594bc78b83305L },
  62942. { 0x3546004b76c1900bL,0x87428fa236fb3186L,0xd2e464ce59cdeb49L,
  62943. 0x1260bd28faf6ec08L,0x1ada2f08d0c9d098L,0xe0b66299dea06396L } },
  62944. /* 21 << 371 */
  62945. { { 0x603d58167c1212e8L,0x95bb823fa4590144L,0xf239058a4bc3ba48L,
  62946. 0x21f2aa610db724b3L,0x29c706e8cd6792a2L,0xb143a84a634f01e6L },
  62947. { 0x68f37382626ee80eL,0x56daa0e51fcd8c4aL,0xe01b52b39e5299a5L,
  62948. 0x2224513c3accdac7L,0xbb21c7d74acd435fL,0x039bc010bbcb948aL } },
  62949. /* 22 << 371 */
  62950. { { 0x5006c3a00848d6b7L,0x726b8648b28285aeL,0x7162e3c0277c5a87L,
  62951. 0x567f7ab02019c20aL,0x490c858fa551d5efL,0x0029a108d134a2bbL },
  62952. { 0xa9e19284ef0aca3cL,0xbc399dc16e414f83L,0x5bdf85f86efa5a8eL,
  62953. 0x5291e1a674fe7c5fL,0x249ddf2acd7091dfL,0x71d4cb4c2e29fcf6L } },
  62954. /* 23 << 371 */
  62955. { { 0xc374acf4c1ded13cL,0x300d96132b69132cL,0x909ce34b055622d2L,
  62956. 0x26f033f6bad97809L,0x30987ebed1f7a220L,0x23147226db775b8cL },
  62957. { 0x8d45c2c28d05ecfdL,0xeee0c679f0c1b419L,0x9f7df70d8c380da2L,
  62958. 0x4d49f3d130212a25L,0xa9602e8c64491ff3L,0x5ab91d223a254c49L } },
  62959. /* 24 << 371 */
  62960. { { 0xedd3291c9dac47a9L,0x02d64634fb5d396dL,0x2ce21bf163264c51L,
  62961. 0x0fdcc68e092c4724L,0x653acb286e3e4c2fL,0x2f9c77f12f1fa1edL },
  62962. { 0xd91d4c3aa58afea2L,0x5a91b2ba7b0d8092L,0xd47e0f61f10a15fdL,
  62963. 0x01652d86f9c86edeL,0x1cc1b668d6006daeL,0x2763e36d24af68beL } },
  62964. /* 25 << 371 */
  62965. { { 0xaa5f387c2314a1adL,0xb8c00105e2647c74L,0x1f950dd8d6719178L,
  62966. 0xb7dae31de79881efL,0xf2d49aa2e45a615eL,0xb22dc098f17352afL },
  62967. { 0xa4c438728ac23ba4L,0xedd6e4092c55e588L,0x1956b199022f5632L,
  62968. 0x18adcaa58c11bc50L,0xa0c11f6458b1cbf5L,0xd1204377f961ce1fL } },
  62969. /* 26 << 371 */
  62970. { { 0x35a2685bbb77f5dcL,0x1b5b79bbc08efa67L,0x4ebec6e6ea5f411eL,
  62971. 0x1800a21988c57793L,0x8d7397f2cbb13c96L,0xbc13ac35dc0327f4L },
  62972. { 0x53ac05a6fd94b150L,0xd898fa600423e787L,0x802aad2c2a66b97fL,
  62973. 0xb604ac0692c62b03L,0x9f395d3a45911e7dL,0x5d38164128ae56b6L } },
  62974. /* 27 << 371 */
  62975. { { 0xa7d5a3afa5fb0decL,0x0d11c0cd5b27e02dL,0x8d854b53366c6cc9L,
  62976. 0x87ef4c140ad9a5f5L,0xaf7c2e6b0c5f8acfL,0x81fc22b69f010f1aL },
  62977. { 0xe49e0c7e4e25ddb3L,0xd30bc860ef233d23L,0x0b63afb89fa41205L,
  62978. 0xd14b326c702fea93L,0x10ab93662c2a5fc8L,0xab35bab356cfff28L } },
  62979. /* 28 << 371 */
  62980. { { 0xdf0f79524130138bL,0x117e4628934c58afL,0x227be6867b6a4087L,
  62981. 0xe73fb2f3b8d298a3L,0xe32e89fda9bacb9dL,0xdd3be6130e9ea7e3L },
  62982. { 0xd3d655ead4da2d1eL,0x153cce647833bb3dL,0x4a32a9f0b36da20cL,
  62983. 0x025768e5a69c4b27L,0xb0b5da379cf1fcecL,0xd0ecaba23aa3b99eL } },
  62984. /* 29 << 371 */
  62985. { { 0x9ab6dae0aaf6b398L,0x2d50f46b4f8e270cL,0x46c1e676fd7b7005L,
  62986. 0x4b8b203e32cf8be9L,0x0253ec899451bca9L,0xc3a7eab7f512b7a5L },
  62987. { 0xf3bed3fdc5bd61a6L,0x5c0eb52f0a37ef8aL,0xb61aee11140894dfL,
  62988. 0x690607f9bec928f6L,0xba2b1db65148b45cL,0xbd309bf56619b652L } },
  62989. /* 30 << 371 */
  62990. { { 0x79d624c7a7b92932L,0xcd086bd7cc75e7a8L,0x3cddc1bbb48eab26L,
  62991. 0x10282df1f6791cfdL,0xffedb4fb1048f114L,0x937ed0e7c092d899L },
  62992. { 0x045e4f60b84b6d20L,0xdd67bd36877ed915L,0x9bf8fede97617aa9L,
  62993. 0xa7ff9b0789cb8e1aL,0xc49e310e74f4e7d6L,0x12dde0fb3f62eafeL } },
  62994. /* 31 << 371 */
  62995. { { 0xe2e3dc4d50ba6e73L,0x31c19ebce6114f87L,0x8df0ffb01ffa99b5L,
  62996. 0x305142f1bfcf7fbdL,0x39931954ab88b782L,0x1952bbab43de3650L },
  62997. { 0xb32ed678aa09e528L,0xa5150011acee68ffL,0x0307716a97b98b23L,
  62998. 0xb60c3edd4fc8d2b7L,0x91c81725b2b2f887L,0xf1dfc70ab9fb0288L } },
  62999. /* 32 << 371 */
  63000. { { 0xe7cf5bacbc579793L,0x11db7ddfd73f881cL,0x9c1a531d04fa8473L,
  63001. 0x399e84845780efdaL,0x6e9c12be4f62cb5aL,0xf21bdc4994a5df3bL },
  63002. { 0x3c15fe1211da2a4fL,0xdea123bb23e631d1L,0x3ef76da4be294c90L,
  63003. 0x5cf21d5aa99b8398L,0x50679cf8751b9f6aL,0x4b3f3b9c54d0b7bfL } },
  63004. /* 33 << 371 */
  63005. { { 0x442dc0fd27174604L,0x5aa056efebc95895L,0xbb8cf9b54c96a2dfL,
  63006. 0xf43342d440f8618bL,0x58b0d00a8f89a8bcL,0x74d32dbc81f69f20L },
  63007. { 0x5caf0910ab22a49eL,0xa0e9a677ff372f3cL,0xec90b5aef5c05066L,
  63008. 0xe2d98821b663f0e1L,0x388804bf50c7abc2L,0x2fbab16e97ba64d3L } },
  63009. /* 34 << 371 */
  63010. { { 0x09138c6071ed8d4eL,0x994d0fa991ef82b1L,0xe6089dbb931f3193L,
  63011. 0xb3b229d0aac23611L,0x52cf03fdacb8affeL,0xf64f9872bd99d6e2L },
  63012. { 0x52ebb8b40186279dL,0x36a2349fb09efd7aL,0xa85b5d802225772aL,
  63013. 0xd2dc3c1547522562L,0x659297a666471319L,0x65913b608c8e7b68L } },
  63014. /* 35 << 371 */
  63015. { { 0xd54591f9a713f82eL,0x0ecfcffc6fae64b7L,0x7df9d7ea7287e218L,
  63016. 0x8b260162abe71460L,0xf75097efb12d48beL,0x82d5902482581904L },
  63017. { 0xc5c0b5dc400d4288L,0xf6493c78190f768cL,0x1844b5f895bc9fccL,
  63018. 0x24afb04ba615bff9L,0x6c9638ee8bf51197L,0x38bce012b9ab9fcaL } },
  63019. /* 36 << 371 */
  63020. { { 0x087a2790494efdc0L,0x0b5f23c9e1645cb8L,0xa6e1d1e8193a99baL,
  63021. 0x0d324e67c0e0c026L,0xa86d993820d608b5L,0x48ddfbfd8d6944dfL },
  63022. { 0x6aa07f90d371864eL,0x5cf727eef2060df5L,0x7694e02c9a7cf2d0L,
  63023. 0xe091982f6260f63cL,0xd2d481a72cae5da6L,0x045e3685ebcb4172L } },
  63024. /* 37 << 371 */
  63025. { { 0x1765632323c82633L,0x5de90578d590cdd3L,0x5cc5e7b9525caf0aL,
  63026. 0xdd9be80dd53e825aL,0x9ed28b29949073f3L,0xd15024156a6ce0bcL },
  63027. { 0xbc34beeabf355f49L,0x73724878d2b210ccL,0xe47b7af911e8122dL,
  63028. 0x381a4cccdf53a9eaL,0xaa22c9b229e8a466L,0x7a05e2081a4fa093L } },
  63029. /* 38 << 371 */
  63030. { { 0x3dfb53521830d848L,0xea183d5cd2820590L,0xc83a65bcabbeb376L,
  63031. 0x5d9ca4d189bb9ac9L,0xb32217be137c900aL,0xcc40daebb0827afdL },
  63032. { 0xc76130060c58b0afL,0x39f4ed8adf32389dL,0x04a586e2bc1fe9f6L,
  63033. 0xcf018c2abb50450eL,0x5072b8f016d55d0dL,0xc3c72e90d59e1dbdL } },
  63034. /* 39 << 371 */
  63035. { { 0xb3291b4e50b4e9f4L,0x79a2e8121b7b9e08L,0x81855db1ddd5f0adL,
  63036. 0x91fa12fc884392e5L,0x6373de02291c5694L,0x15c77432a7171428L },
  63037. { 0x6016a06c1132df9eL,0xa4286939a0c21c8fL,0x70c5ebe26dca3f37L,
  63038. 0xc5278c510f115497L,0x8f5b07a35ce1953cL,0x4d75c1dc41f6ac0dL } },
  63039. /* 40 << 371 */
  63040. { { 0xfeac8e8ac24002e7L,0xa43892076643fa6aL,0x06e7ed63daa68b52L,
  63041. 0x8580bbd5d8c7b952L,0xb17ce22410c8fe9dL,0x40266bd379b88ceaL },
  63042. { 0x32afc840dd63ffa5L,0xb4a3eb27a2280b83L,0x90528bf685897e28L,
  63043. 0xe4612391d231f941L,0xa7b3a2ccacb5c909L,0x2606844e5558d57aL } },
  63044. /* 41 << 371 */
  63045. { { 0x49ad52380519dd66L,0xe1b0b03b3c1470f4L,0x15e42792cd3a4852L,
  63046. 0x91c954b7388ba040L,0xe9fd8c7f857711f1L,0x8552d3d44b63a36dL },
  63047. { 0xbf867fde230ffab0L,0x362a32a0793f885dL,0x687802cba11e0225L,
  63048. 0xd95b073b308c1972L,0x13b104aa6b3e5120L,0x60bef12333673f57L } },
  63049. /* 42 << 371 */
  63050. { { 0x4c4cc5561c8a5d9fL,0x5c6e1fd52b8a42c9L,0x73fd66c44ccfa024L,
  63051. 0x73c777563c50d038L,0x26964a68a5076758L,0xb14cdbfa7484d080L },
  63052. { 0x24c499cf3f4b92ccL,0x40c8c0d84682daa1L,0xaa156edf785561beL,
  63053. 0x36718fb6de75af0aL,0x4d391cee03f5b180L,0xcf28d08a3100efc8L } },
  63054. /* 43 << 371 */
  63055. { { 0xbf1fc9fdd113a97bL,0x19cee87f5ff5ff3cL,0xfc140acf8f8213a3L,
  63056. 0xe70d50d546127d5cL,0x78cd24032faa7ac9L,0x409675f1c1808096L },
  63057. { 0xaa7b6cd91765da93L,0xc0755b924f508d86L,0x09b8fb7640169a6eL,
  63058. 0x9ca977e52e7da664L,0xee1aab6c9a9616daL,0x54d740391ca0f4fdL } },
  63059. /* 44 << 371 */
  63060. { { 0xfe011830c37c7fc5L,0x0b2b965b2ee958c7L,0x99fd253588a43cf6L,
  63061. 0x6a73d62dbf8dc33aL,0xd53c0241a99247deL,0xb8186dccb4127f94L },
  63062. { 0x86c4c274964cc3d3L,0x2f3f2742cbfa9429L,0x5b4bd23c5391abd3L,
  63063. 0x030b211bc5838fe2L,0xd2263dc4ae2e36fbL,0x45583a3ca0bf7280L } },
  63064. /* 45 << 371 */
  63065. { { 0x9ce7f43f1ed3f49aL,0xd8094c4afcdce20cL,0xd8b423d12b37b162L,
  63066. 0x332ce47c53d90a7dL,0xc686fc0c94a38ff2L,0xb44938d6c33d842eL },
  63067. { 0x5ed14772cd9b0002L,0xffa5d063e800c655L,0x4511ec79ffcb6120L,
  63068. 0xb8c9de3f9da8e70dL,0x4d0759ca952b0ef7L,0x685f7005dfd88f4cL } },
  63069. /* 46 << 371 */
  63070. { { 0xcbdb755f1dbdc85dL,0x63d0d7047961be6aL,0xf65af35d8220a1b3L,
  63071. 0x8dcea7df77db51b3L,0x8cb2c5d14bfe8fbeL,0x740579bdee2f03e0L },
  63072. { 0xa7eeea4ed3f0181fL,0xedbdfaa3c12ef399L,0xee3cc40f1c332118L,
  63073. 0xdae0995e731ef93fL,0x05165c6c0f24d954L,0xcbcc014219fca63aL } },
  63074. /* 47 << 371 */
  63075. { { 0xff24bcd842c7c110L,0xa5ddfffc56dc10c6L,0xb9937fcdaa1a09c5L,
  63076. 0x8e18ed5b852dd22fL,0xf24e43c7826fb5a7L,0x13989a43415c2c63L },
  63077. { 0x71ad7c21d36ffe0bL,0x68b77701129df418L,0x1c5324cd9a8d424aL,
  63078. 0x2e2a2b1ba9bf46abL,0x7d0c04d19cd0ea12L,0x8b4186bf2f9869e8L } },
  63079. /* 48 << 371 */
  63080. { { 0x6c8d97e075a46271L,0x0fa0c4cd9dbed39fL,0xfb6da5e2de74ac6cL,
  63081. 0x041ce886c17c1ec5L,0xb42941a8d7419105L,0x79768eee002fdfd5L },
  63082. { 0x64849afd88c8111fL,0xf425fe14814192d6L,0xe916e8640448fd7eL,
  63083. 0x31e224ad72ed351fL,0x73e6e6ac7c0183c1L,0x375657c621bf7cebL } },
  63084. /* 49 << 371 */
  63085. { { 0x093d8039114fd7b9L,0xb6bed3eb45c5e1c7L,0xb73ab7fe50fdbf14L,
  63086. 0x68d95e57af0cd23dL,0x5c260eacc7b750fbL,0x79bb142bb5358c26L },
  63087. { 0x5aa9845158ace251L,0x04b2388637dbfef5L,0x1051172dc0532263L,
  63088. 0x686ee9e6294890d9L,0x092617b3bffd1609L,0xb4a50e50ea3836a4L } },
  63089. /* 50 << 371 */
  63090. { { 0x8bdb3886cdf950abL,0xe2bdc8d3d595dbd5L,0xd28211254ecc49f1L,
  63091. 0x946566081d3c2f24L,0x8124ad390c87df6dL,0x6020c322d16272baL },
  63092. { 0x2150f7e694af134bL,0x38512401a1a14e33L,0x39a54386b1ff7304L,
  63093. 0xfaf1ffea078d8f0fL,0x7739ea99dea995bfL,0x3252e815c020816eL } },
  63094. /* 51 << 371 */
  63095. { { 0x1609832322f1bd8dL,0x6b02533cd4df163fL,0x25108619a8296363L,
  63096. 0x373bf9988f8c755cL,0xebfbc5b23b32542dL,0x7ada597688b9d360L },
  63097. { 0x3914406ebd605f01L,0xe245ba48cb3a40b2L,0x11a1dc4ed3171f32L,
  63098. 0x4a10d5d26ffb5915L,0x9326b23e997460b6L,0x53ddfee92aa0c77cL } },
  63099. /* 52 << 371 */
  63100. { { 0x44f51dd51104ed7fL,0xfca4773e270f6135L,0xe36c8b266bc757f4L,
  63101. 0x2cf0515d6941c7a0L,0xdeab655d5fb16e2aL,0x75c28116cff7be07L },
  63102. { 0xb24ca428abbbca02L,0x6aaeca9b1e7f8116L,0x4252f4c3510f0c81L,
  63103. 0x01462d856f3ff7fcL,0x4df702879d1c25e3L,0xddd47a1dbebd1559L } },
  63104. /* 53 << 371 */
  63105. { { 0xdffaef2c6f2e2611L,0xc2c2e6a41f29efa2L,0xa29bc3b75ebb40c9L,
  63106. 0x8473594bac31a2c4L,0x100d7d6a8604447aL,0x80318670794bbab9L },
  63107. { 0x78979f72054dfc75L,0x94b4c17e55232511L,0xac44836b78b883c3L,
  63108. 0xc1f7e98168422328L,0x34fcdee68266747cL,0x18533b3f0475c011L } },
  63109. /* 54 << 371 */
  63110. { { 0xede6728e3bab17f0L,0xfcd9c96879b94302L,0x6410ae37544a677bL,
  63111. 0xeacbf6de1dcd0fdeL,0xdae70841e2f3ac0fL,0xeea2a9b6e41ba13bL },
  63112. { 0x1b06aeae9349cdf0L,0x28571e3d33c0ea87L,0xceaf9dd46043e874L,
  63113. 0x32cbcc69fa6fea15L,0x7db75664e135aa11L,0x588d4458f816929aL } },
  63114. /* 55 << 371 */
  63115. { { 0xf70797d02b014160L,0x1ddf312d8d7c3263L,0x3bdd58f3c78beacbL,
  63116. 0x8bccd90101c71f77L,0x3c637f58166c1486L,0xb62c0aa45fd1a307L },
  63117. { 0xa68db7b05f2544d4L,0xb9727946f860585aL,0x91565060a068412eL,
  63118. 0x1283d6d1ab536c42L,0x86c2a11c79caa387L,0x2687309b62bd7797L } },
  63119. /* 56 << 371 */
  63120. { { 0x525cd8849b711a38L,0xd413d82b8c95bf61L,0x19ecc14a36b82970L,
  63121. 0x65190ee6e3416342L,0xde9834c93066fcf7L,0x3b87b15e8302cd85L },
  63122. { 0xec6f67a785268eb2L,0x5ab08b5af95aef07L,0xb5257f70adda86a5L,
  63123. 0x53e95ec4b934400aL,0x9611a632c33b870bL,0xd27929522723a3d5L } },
  63124. /* 57 << 371 */
  63125. { { 0xcd203b542c95b469L,0x89b140e768713ca6L,0x451646a165701050L,
  63126. 0xb97a582575e54715L,0x070fabaa93bb6a91L,0xe517e07a196421b3L },
  63127. { 0xc8d741235f46e495L,0x920ee94fdf60eb8dL,0x885b86dd19564c3eL,
  63128. 0x6c9e973231670005L,0xb52eed1fe4893763L,0xa8f9fbd759157417L } },
  63129. /* 58 << 371 */
  63130. { { 0x0c41f2eb56517cafL,0x47778a92798cf8b0L,0x4232ab390dc60cecL,
  63131. 0x5de0b7e39e3eb6f1L,0xa2569d8571562511L,0x37b3c62a1ce1cec9L },
  63132. { 0x312caccd8b3391aeL,0x6b22c9447dcbe533L,0xc890d22f4fefd4edL,
  63133. 0xd1504f7df007a64eL,0x117e4e595845d5bcL,0x999386c7723584e1L } },
  63134. /* 59 << 371 */
  63135. { { 0x02c396533bdadbd5L,0xc07325fda1fe704aL,0xf78d7e23350aa0c4L,
  63136. 0x9f09cf22ce50784cL,0xcdea9a6a1a6e8abcL,0x245fba06ee5a5e06L },
  63137. { 0xf1fd3b9b4a3d0d7cL,0x24c65a131a4952c4L,0x40ea3ef37236b6f4L,
  63138. 0x60aa573d8f7addcfL,0xdd5ec47b0305577dL,0xd92dc5035deacea5L } },
  63139. /* 60 << 371 */
  63140. { { 0xc666f8f3fac2de80L,0xabb2b8aba8fa36a6L,0x1bd0ec8f12202b09L,
  63141. 0x88b184be6d17a3c5L,0x00d501fc670a77c1L,0xe1f94f1db3de1c7eL },
  63142. { 0x953179cd2d6de8caL,0xa8873a5bb9263791L,0xd76433098d7ac5d1L,
  63143. 0x3d751cab4d2f8224L,0x7417b8262e5458eaL,0xf4eb3c669e454a8cL } },
  63144. /* 61 << 371 */
  63145. { { 0x65b0d7e9ae3284a2L,0x3d4770bb1e3cbb18L,0x217a0cdb808ea164L,
  63146. 0x9ed6d0f689810270L,0x62d9cc95f14139e1L,0x4d39eeef6a2c82a0L },
  63147. { 0xecf319f40dcf14afL,0x62c95df6ab0fd145L,0xfe85014d22db0105L,
  63148. 0xc37756e6a652168cL,0x6ba9f6b370a67e9dL,0xe453fd0af18d8058L } },
  63149. /* 62 << 371 */
  63150. { { 0x265798acfe3bf4f8L,0xc1603abdc1183f63L,0x14e3952f1063e086L,
  63151. 0xdcb106d2910f0a78L,0x27c2aee2f454f625L,0xf16d83e60f463fe9L },
  63152. { 0xaa5547207f5ae172L,0x42ea8fea9a2133eaL,0x9f3b33f6e9253e7eL,
  63153. 0x6224ef75d67af0afL,0x06f0ddfbb92d6cc9L,0x12e66e32656e9e9aL } },
  63154. /* 63 << 371 */
  63155. { { 0x1a93be3424ace7f0L,0xb993bcb9a56be2eaL,0x3b054afac33608d7L,
  63156. 0x36e782c3aea3d7e9L,0x54f1dda950e9b3adL,0x04dd021f55f51bb4L },
  63157. { 0x9c76f7c0347bb352L,0x3d9a04ee2f1dc5fbL,0xea5e582ae80e06f0L,
  63158. 0xe523aab927e1e818L,0xe2f1960252d4904cL,0x1bfa8b03adecc51fL } },
  63159. /* 64 << 371 */
  63160. { { 0xc84f917203bdf6d6L,0xcfc4718769f60e03L,0xcdc4753ba05068eaL,
  63161. 0xa177ad14077777efL,0x0b7f54eb7e4cf44aL,0x4ee443f91860144eL },
  63162. { 0x1279ed4d42bb6a93L,0x511137d7436c1b54L,0xebc958fab8cdb6ceL,
  63163. 0xbc4f93f4a0c7614aL,0xc5bd6cde7b2c6d8eL,0xecff7dd78d65f38aL } },
  63164. /* 0 << 378 */
  63165. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  63166. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  63167. /* 1 << 378 */
  63168. { { 0xffec6674f65de0f5L,0x4043079cd23ad193L,0x31811365ee61bc95L,
  63169. 0x358bbd6e8948b6e2L,0x1cd9c342e31644beL,0xbab3aa8c60a8a7a7L },
  63170. { 0xe065519fa375beb6L,0xf7d0b0414439990cL,0x8957c03b8517ae8aL,
  63171. 0xc96a040173750d6eL,0x4eb2e364b2aee6d7L,0x813054feed099114L } },
  63172. /* 2 << 378 */
  63173. { { 0xbb39a17a7c34f095L,0x7be330a822fbbe61L,0x6be6abe3b91f1482L,
  63174. 0xf972804fbd39a2bcL,0x06737e54f91d813eL,0xbd6066681a87cd4aL },
  63175. { 0xbf88b2e5f538d56eL,0xb8206a8134afd68fL,0x7a93aedfa58af042L,
  63176. 0x8853cdf6ac0511b0L,0x9d7f416d067e2c19L,0x5d0bc923f9671d8aL } },
  63177. /* 3 << 378 */
  63178. { { 0xf3b6fd79dd3532a7L,0xf60262b5dbbb9e4cL,0xbf75bb57da4d6ac4L,
  63179. 0xf016adf1c094b38cL,0x9114cdd012def474L,0xdc74d638c785f143L },
  63180. { 0xdea060d6a8d90bbbL,0x1f141878cbcd0d4cL,0x552685b79ddee1f5L,
  63181. 0x381dfc0c636ea6b6L,0x8c601615cb08f34fL,0x5b843830271041eeL } },
  63182. /* 4 << 378 */
  63183. { { 0x2e7d0a16204be028L,0x4f1d082ed0e41851L,0x15f1ddc63eb317f9L,
  63184. 0xf02750715adf71d7L,0x2ce33c2eee858bc3L,0xa24c76d1da73b71aL },
  63185. { 0x9ef6a70a6c70c483L,0xefcf170505cf9612L,0x9f5bf5a67502de64L,
  63186. 0xd11122a1a4701973L,0x82cfaac2a2ea7b24L,0x6cad67cc0a4582e1L } },
  63187. /* 5 << 378 */
  63188. { { 0x139d9fef6bfc08e4L,0x4399615939ffcb3bL,0xaa299008a84ace07L,
  63189. 0xfce43e873cbb2b3fL,0x07b3e8b9191a320eL,0x3ec851d706c4d485L },
  63190. { 0x03d8a672a4bb8477L,0xb6a5dcb213c31d5cL,0x58b79d01c439ab23L,
  63191. 0xdd6f8b5134f66137L,0xccb178a0b29be48cL,0x4c71b7aa4df8a1b2L } },
  63192. /* 6 << 378 */
  63193. { { 0x92bf8c4508359896L,0x77253434ae2c30f2L,0xf05086ec827e6cf8L,
  63194. 0x46d4729f1771c5d3L,0x92587306f37f0bedL,0xb82c99d2e7c30180L },
  63195. { 0xee0141dcb1684841L,0x7fa984be994ddaf5L,0x5c583347165c238cL,
  63196. 0x1a1ad3eea5d78204L,0xcfed795f2736bce6L,0xa7a413318961204eL } },
  63197. /* 7 << 378 */
  63198. { { 0x87451ca71400851dL,0x3aace28e3573ecf6L,0x3a5902cee85717c5L,
  63199. 0xe4b51dd0c9f57944L,0x33cf684789a9d8aeL,0x2f6fb08031e6e769L },
  63200. { 0x4bf3da323b78dad1L,0x2d73fef4e7809638L,0x84d76151965109abL,
  63201. 0xa2c932c9a2098f46L,0xb8c457c3bc17d1fcL,0x5ef2562d0c8012a4L } },
  63202. /* 8 << 378 */
  63203. { { 0x96a1e74f51e4de5eL,0x72913696e37f5006L,0x12449c4fbe35109cL,
  63204. 0x1fad8b304521d7e6L,0xc85eb23d57d00293L,0x4ebd334b35f68229L },
  63205. { 0x7c5b86682df5acf1L,0xc2b4da6e5463de2eL,0x067b0456757cd570L,
  63206. 0xeaab81be3a1c866bL,0x72a6af75bbba88c0L,0xaed4dbde0ef567dcL } },
  63207. /* 9 << 378 */
  63208. { { 0x085e33cd9273818aL,0x8fb9294a8cf4e306L,0xaed46bbc35052bd1L,
  63209. 0x031febb3374661eaL,0x9386a35d4868dbb2L,0x381e5b521d3f2dddL },
  63210. { 0xa938a3a5179617edL,0xb0fc99f49dc95af1L,0xf446dfa92b9dacbcL,
  63211. 0xbae262ae490c1969L,0x042707ffa7443354L,0x8dc0511f267d5c14L } },
  63212. /* 10 << 378 */
  63213. { { 0x8f0e1908fac2674dL,0xd86e85a483e43c26L,0x1f719f7036fb5a4eL,
  63214. 0x7ad61b8ca57dbcbcL,0xcf6ba7db0f63dc79L,0xb4315ab11afe8540L },
  63215. { 0x0448e852425c4df3L,0xf51969ef8838a51dL,0xce98589b9eab87deL,
  63216. 0x55867b5645149689L,0x9b70bc8c60d2a624L,0xc158a2710b6dbd45L } },
  63217. /* 11 << 378 */
  63218. { { 0x0b262f808f1915f2L,0x64ba3bc73d501e01L,0x8ce2db1f4645152cL,
  63219. 0xf4a4f3afab047cdbL,0x1a7c4af600d31e7fL,0x0005bca678d1c0ecL },
  63220. { 0xf5ed135f6fe5ebb0L,0xa299b1002ea9abdfL,0x4fa387e5fccb58f5L,
  63221. 0x105b9dd2fc657b72L,0x1494c6050dc3c22cL,0xf7468e8a92d281c7L } },
  63222. /* 12 << 378 */
  63223. { { 0x597a26ffb4dc8600L,0x264a09f3f9288555L,0x0b06aff65c27f5f6L,
  63224. 0xce5ab665d8d544e6L,0x92f031be99275c32L,0xaf51c5bbf42e0e7cL },
  63225. { 0x5bb28b061e37b36dL,0x583fba6a8473543aL,0xe73fd299f93fb7dcL,
  63226. 0xfcd999a86e2ccad9L,0xb8c8a6df334d4f57L,0x5adb28dd9a2acc9bL } },
  63227. /* 13 << 378 */
  63228. { { 0xc760823646dd14f3L,0xc6d97d37e7a97f33L,0x05037f26de2f444aL,
  63229. 0x5267ded09aa9a5c0L,0xd1ef46340be2d841L,0x308b37a8d48b9574L },
  63230. { 0x102f7878487bad5bL,0x1d5169d938b7c1efL,0x2d8adde62c39c75aL,
  63231. 0x71bfb8bc0b80f3bbL,0x126505999bff252fL,0xf99e952f24f8bd3bL } },
  63232. /* 14 << 378 */
  63233. { { 0x24496a8b7a8a6d47L,0x9fc75c0aec6afe43L,0x4200e00670744f15L,
  63234. 0xe2f87d5e2973be1dL,0x0f6c5993c82e2013L,0xe9ecf6ce198c99f0L },
  63235. { 0xcbdf72058b37d828L,0xbef4b8c8325d1d93L,0x8e962ffbd0fbb134L,
  63236. 0xe4273a124bcffc61L,0x4f24ba23f3d93d73L,0x8f02df83bcfcb930L } },
  63237. /* 15 << 378 */
  63238. { { 0x985c8f4b0614348aL,0xca4ca7cd5a03c014L,0x5bdd4382a7b62effL,
  63239. 0x623d44b9e4a0bb42L,0x1f28862ef23931d5L,0x30568303868326beL },
  63240. { 0x850d2a0d82e76f04L,0xf4dc02330ac4a153L,0x62b74879b1e70a9aL,
  63241. 0x7b32249baf3f0dbbL,0x2f50395d155eae92L,0x6d990c16f6f5c9a4L } },
  63242. /* 16 << 378 */
  63243. { { 0x3afdee277d221ab6L,0xecf10abc47bb619eL,0x340c8ee3ba4a3301L,
  63244. 0x1a6ea51a2a883b7fL,0x64f27976d5d7412bL,0x7fcf0ecc91251b6eL },
  63245. { 0x5f3f8f41365b18b7L,0x38e48b96e2e13e58L,0xde3b73d6ad61b2cbL,
  63246. 0xf08398d5d542676dL,0xd373931e8e7d712bL,0x89325d7a7f96e023L } },
  63247. /* 17 << 378 */
  63248. { { 0xeb2e48c10bf4e94dL,0x00614bf206b7e166L,0x536c999ce295c451L,
  63249. 0x951f92186359cf06L,0xe2a938890afc827fL,0x63102e93ff029787L },
  63250. { 0xab297c7d2ac89645L,0x7354df74928742bfL,0xc0934ca6c8604304L,
  63251. 0x36b7e9711cc2f3b4L,0x487ce890e10ee837L,0xe6aa9eabae2ae9e3L } },
  63252. /* 18 << 378 */
  63253. { { 0x6e7a578340517347L,0x7db868f3a950dfa2L,0x7fd7fd8eb3c2eff7L,
  63254. 0xae7b59c5fbe10a47L,0x5239b5c4109797d6L,0x3838356a53264b8aL },
  63255. { 0x8df8454c320a8c5aL,0x67c86ef46958fa2cL,0xfe1aad846241a50aL,
  63256. 0x3df64ef5a06f3cf3L,0xde6af0ff83282fbdL,0x25ca45046cdbe5feL } },
  63257. /* 19 << 378 */
  63258. { { 0xa319340d6e6c0debL,0x101f055acb1b1cd5L,0x4bea31ad623e7e55L,
  63259. 0xc0c88af6aec23cd2L,0xca98c4364aaf2f73L,0x1969eca437dd1341L },
  63260. { 0x6b03989f97866dc3L,0xafdc99532eaf5b08L,0x199ec0e93d6ea9c4L,
  63261. 0xc3d1069474f262e9L,0xa7e5670079911cf9L,0xc0213ec56844da05L } },
  63262. /* 20 << 378 */
  63263. { { 0x5adf3d9a111792b9L,0x1c77a3054f1e0d09L,0xf9fbce33a82d3736L,
  63264. 0xf307823e718c8aa3L,0x860578cf416ccf69L,0xb942add81ef8465bL },
  63265. { 0x9ee0cf97cd9472e1L,0xe6792eefb01528a8L,0xf99b9a8dc09da90bL,
  63266. 0x1f521c2dcbf3ccb8L,0x6bf6694891a62632L,0xcc7a9ceb854fe9daL } },
  63267. /* 21 << 378 */
  63268. { { 0xfc9660a3c8808373L,0x84c5d6a71a50c560L,0x13fe0588ba057fe2L,
  63269. 0x29b0341dafb73ad1L,0x37b11137f15f0cd2L,0x84422ba89c2d7eb0L },
  63270. { 0x0b595ac52554ef7fL,0xd7a8303f08b37a84L,0x908895a9e02d77fcL,
  63271. 0x70cdeb0c9f242a42L,0x535e8540116e2db8L,0xc88f0cf685c54d31L } },
  63272. /* 22 << 378 */
  63273. { { 0xf534f145e2290ebaL,0x3d081c0d7f15c9e3L,0x716574c5e9ae3da0L,
  63274. 0xbe6bd7b92c078aa8L,0xab8802bab8da8e68L,0x0c5be4a1ab204fb0L },
  63275. { 0xad25c5ee0d3f12b3L,0x3929d0d78fc9b7a5L,0x9c6e2ce0bb5cd2fdL,
  63276. 0x855367c4924ec2d2L,0x6b532891e6550d3cL,0xab2bc89575ba5c99L } },
  63277. /* 23 << 378 */
  63278. { { 0xb56b035e2a0349adL,0xcfa41da6f89ce836L,0x9d86bcac8b5c43fcL,
  63279. 0xc77375da47644b07L,0x9e9c222607f4b670L,0x71d663c80482a61bL },
  63280. { 0xb423e739ef237431L,0xf1cedf7e48832b5bL,0x09e0cb2a7ca7548bL,
  63281. 0x9b463559631b9850L,0x8a2bd7fed4dd03deL,0x46115292ae0c97d3L } },
  63282. /* 24 << 378 */
  63283. { { 0xe44e3f864b3759cfL,0x90cab0eb9d74e3f6L,0x1004254501c4e171L,
  63284. 0xc12df68cce52defbL,0xb1fae2fbf363100aL,0x5016c8533573235fL },
  63285. { 0x8d4deb661d922e9bL,0x8a20d42317f84ef2L,0x324985835a4e118eL,
  63286. 0x5abfa961308772e9L,0x41c7611ff54e4876L,0xc1da40d31f5867b2L } },
  63287. /* 25 << 378 */
  63288. { { 0x4df02a7d3088aebcL,0x7dea27ea12487485L,0x2a773270df98069eL,
  63289. 0xea435fa0e9ceaf44L,0x08e952e365e5ebabL,0x972877d5c3511480L },
  63290. { 0xef5685f859a04cd0L,0xe50abe68b8c7c796L,0xbbb792e2c3225f20L,
  63291. 0x7d9878e811c89153L,0x4b72a1e619354751L,0x7d5f05a3faa1be22L } },
  63292. /* 26 << 378 */
  63293. { { 0x61dd7692f27eed54L,0x8540213ea7a3f2f7L,0xe659cbd6ace07e13L,
  63294. 0x3a998cdcc8995cacL,0x0accb4a7922d3b25L,0x762b3406c6577d81L },
  63295. { 0xa09db4f57e043740L,0x7f78e02d8cc9bc5fL,0x080a522673b98cd3L,
  63296. 0xb6d72f7ce6490808L,0x36815de2c724284aL,0xc27d13df98b867b5L } },
  63297. /* 27 << 378 */
  63298. { { 0xbfeffd5356adb6e4L,0xb5e8876c499a1455L,0x4771281390833f18L,
  63299. 0x5f49ef880115b9a5L,0xb041ec67cf575de5L,0x490753350b7e4afcL },
  63300. { 0xad4dc4a15f0b9f24L,0x9dbb181edafad9a5L,0xa84431a6e6ed5198L,
  63301. 0x33ee16e27993eed6L,0xfdf76899c1e4f8b4L,0x868d06baff60e943L } },
  63302. /* 28 << 378 */
  63303. { { 0x46303171491ccb92L,0xa80a8c0d2771235bL,0xd8e497fff172c7cfL,
  63304. 0x7f7009d735b193cfL,0x6b9fd3f7f19df4bcL,0xada548c3b46f1e37L },
  63305. { 0x87c6eaa9c7a20270L,0xef2245d6ae78ef99L,0x2a121042539eab95L,
  63306. 0x29a6d5d779b8f5ccL,0x33803a10b77840dcL,0xfedd3a7011a6a30fL } },
  63307. /* 29 << 378 */
  63308. { { 0x5d782a0778664144L,0xc1413da46682c779L,0x937a15f52a67b12bL,
  63309. 0x8ec00d9fc04d8cd5L,0x3f16d1ed3b5fe8d6L,0x24ad6b0ca28c8067L },
  63310. { 0xdd1eecc532732b19L,0x62c4c2beab2fa785L,0x7d863f5b2ac0c238L,
  63311. 0xd686eb7239384e15L,0x3770e54d16bd75b2L,0xdcd9e4e8120b3881L } },
  63312. /* 30 << 378 */
  63313. { { 0xe3052838df5147e1L,0x87bc4d75b1baaa7cL,0x49b13eb95acc5572L,
  63314. 0x919081881990c13cL,0x5d43a4a6191cc808L,0x20b358444182aa55L },
  63315. { 0x70d49a4a670b1fd1L,0xc6e6e061722e91e7L,0x8d130b3900c5ae9eL,
  63316. 0x5db7d06920f68ec5L,0x85b6c505470fbe13L,0x14101ec7326c4d38L } },
  63317. /* 31 << 378 */
  63318. { { 0xeef03450e10e8018L,0x75921e487576c3ddL,0x6c8e22676e97f5afL,
  63319. 0xd7323e01a856ae6bL,0x43a195425fed884fL,0x010865380377ba8fL },
  63320. { 0x7cdbd06ac82a8f67L,0xc6fce58bf0fd4281L,0xae098b7f9e67bed0L,
  63321. 0x0c8d328bdd918524L,0xddf723ec0a11fb83L,0x210d6016e25a2073L } },
  63322. /* 32 << 378 */
  63323. { { 0x3c90a59f85adde98L,0x35414174e5269140L,0x9aca885c1a0d58e2L,
  63324. 0x77b9b6dd6816b009L,0x8e5c12139ee4718fL,0x60ad991e4e4eac45L },
  63325. { 0xc00c35694d71f624L,0xacbf4eb25bc5fd2aL,0xcba1ffc75eaf3eaaL,
  63326. 0x5f99092d42a87e32L,0x2e7b49c76f7a882fL,0x5e9bfc5c29040512L } },
  63327. /* 33 << 378 */
  63328. { { 0xa31d3524b295958dL,0x9713a5e04894f486L,0xe8804ab3329a0b9aL,
  63329. 0xd4447c1b20eefa54L,0xf5b944c9040b7ad4L,0x9db0ee0b907f2cfdL },
  63330. { 0x0b1a1f3a5384a999L,0x3137241ea8351764L,0xe0663b5ab29c3cffL,
  63331. 0x2b47ca0622d4deefL,0x4f952109f1172bcdL,0x1e7a7fca9b447bd4L } },
  63332. /* 34 << 378 */
  63333. { { 0xc9898355ecf2a473L,0x20d0c4740dcd66f6L,0x6459720f8eeefff5L,
  63334. 0xd9b625dcf9ce0cdeL,0xed3a6508ea56be90L,0x6847c20de211c90eL },
  63335. { 0x36d86bed71a73ceeL,0x9222eab23023d16eL,0x3155874750209b4dL,
  63336. 0xcac8f277d145b831L,0x49cedc634470e754L,0x6c7c065add370f77L } },
  63337. /* 35 << 378 */
  63338. { { 0x46a95735f8171804L,0x1ff2549ec4c93476L,0xfb8a08285bb5202dL,
  63339. 0xaff5505f1070737aL,0x162aaad842f412c5L,0x02a37213fac8a477L },
  63340. { 0x05ff9238932f08e2L,0x9be6a0b29fc66787L,0x373a9039db1e5a40L,
  63341. 0xe657e8c782d04913L,0xa2006f207e6ee867L,0xd7aa1d2378d82f9aL } },
  63342. /* 36 << 378 */
  63343. { { 0xfa070e22142403d1L,0x68ff316015c6f7f5L,0xe09f04e6223a0ce8L,
  63344. 0x22bbd01853e14183L,0x35d9fafccf45b75bL,0x3a34819d7eceec88L },
  63345. { 0xd9cf7568d33262d2L,0x431036d5841d1505L,0x0c8005659eb2a79aL,
  63346. 0x8e77d9f05f7edc6aL,0x19e12d0565e800aaL,0x335c8d36b7784e7cL } },
  63347. /* 37 << 378 */
  63348. { { 0xdcac39d87c1d9f4dL,0x88322d8bc225ce6eL,0x5c240cefa3ef5202L,
  63349. 0xf60ce5d991f1d487L,0x8e857069e462cfa8L,0xa6e5585e996d2033L },
  63350. { 0x709675a556281e6aL,0xcd90c140f907ebf0L,0x5343a0a2a3231eecL,
  63351. 0x74b1443214892291L,0xf8cb9c26a5325b8cL,0x1bb28be140089be5L } },
  63352. /* 38 << 378 */
  63353. { { 0x2bb6e7ec3092d0b2L,0xc7c9e5f1d27d1f31L,0xbac785aeac0939e3L,
  63354. 0x186d3d934f810d8fL,0xda296dacfe7d778fL,0x6189f5e41a991ea2L },
  63355. { 0x098f794e9634363eL,0x04aaf59a88a4dccaL,0x09d718487196dfa8L,
  63356. 0xa447a31ed83044a6L,0x720cd3908d1363fdL,0x6f670479e22efa03L } },
  63357. /* 39 << 378 */
  63358. { { 0xaa452e81cdf60f9aL,0xf3dc472a8e2c58e9L,0x16ddefa50589fd01L,
  63359. 0xd56ec8f223a1656eL,0xcccb784f77921ca4L,0x9bace7adf8a7c0baL },
  63360. { 0xc94ef3ef51f052e2L,0xa70c0579c34e7cb5L,0x3599817883ce8674L,
  63361. 0x033647c392a20951L,0xc828fcc77a21add6L,0x5a446de871ba27a5L } },
  63362. /* 40 << 378 */
  63363. { { 0x75cba9d530a3ada1L,0xb69e308bf8ae9565L,0x990e3425ca7b8369L,
  63364. 0x9f67567fe0a7ad0bL,0x76ed6fe718bd01b7L,0x282358aa2ff95cfeL },
  63365. { 0x28d2ea41410f8841L,0x89d1533fccd67c81L,0x969bb272b6a7b8f9L,
  63366. 0x54f8664c26330782L,0xb89f3ae81dcd9164L,0x54d845b93d962c14L } },
  63367. /* 41 << 378 */
  63368. { { 0x08ba5b61fde4ca03L,0x39b1a9c697b17ee6L,0x885253779336b2b9L,
  63369. 0xe964dc9c9aabc3fcL,0x6aed101a5295e728L,0x30369ea0ee12356aL },
  63370. { 0xe081e022c8e80e5eL,0x3a769ef0df9f47c0L,0x3b2f7aab5590750cL,
  63371. 0xd16c7a85a1a5e504L,0x9e528623e854d7cfL,0xaca079354468e419L } },
  63372. /* 42 << 378 */
  63373. { { 0xee521c0af93098bfL,0xf517c925b79aa0ebL,0x17779f5e7bbc58feL,
  63374. 0x093c3dc2769de891L,0xafbf32372a69ad0dL,0x33a95de702001e8cL },
  63375. { 0x3b30afc73410a2b0L,0xb379a3f425bc7d9aL,0xf1c069251604a646L,
  63376. 0x04f0bb334fca052fL,0xe5cd9c39cab33871L,0xf259795816fa1b16L } },
  63377. /* 43 << 378 */
  63378. { { 0x291d65c801189d9aL,0xb16ca18bd8e94e49L,0x55f7680599440d4bL,
  63379. 0x55d40c1b2eb7f0fdL,0x752d98f6018d7c64L,0xa1cae78c7b491c4dL },
  63380. { 0x898fc8c78f66b8d3L,0xbb48956a3ceecd27L,0xb8f9498dfaa9451fL,
  63381. 0x583b336aa5683ef8L,0x0deaa373e92656f4L,0x7f87b4412a9a0272L } },
  63382. /* 44 << 378 */
  63383. { { 0x8b2fc4e96484fd40L,0xee702764a35d24eaL,0x15b28ac7b871c3f3L,
  63384. 0x805b4048e097047fL,0xd6f1b8df647cad2fL,0xf1d5b458dc7dd67fL },
  63385. { 0x324c529c25148803L,0xf6185ebe21274fafL,0xaf14751e95148b55L,
  63386. 0x283ed89d28f284f4L,0x93ad20e74cbebf1aL,0x5f6ec65d882935e1L } },
  63387. /* 45 << 378 */
  63388. { { 0x4b0c7d0c69c284cbL,0x907e4f38199c5176L,0x4ebfbda7cf3dab12L,
  63389. 0x675f12cca4fa74a9L,0x86628102bdf579e6L,0xf08cbfe771c4d061L },
  63390. { 0x9dde390e03bc1cb9L,0xb6d0d48b4c727915L,0x7cad28c370c0b7bfL,
  63391. 0x8d978a8110d1e881L,0x1c071597924baeb1L,0x83c09192eb103fe0L } },
  63392. /* 46 << 378 */
  63393. { { 0x494dbd2665925506L,0xe239b1d404b6fc45L,0x38a1ec5ce16b874dL,
  63394. 0x1588c4712a3f012dL,0x5bd45adcdc6938b9L,0xe4c35c2244ab2fccL },
  63395. { 0x87cbd9ff887108a2L,0x92a9c3b2144fd3eeL,0x3a0e55c7982a4928L,
  63396. 0xcaf679765bb0fddfL,0x04616318263ea256L,0x56eb022838caa901L } },
  63397. /* 47 << 378 */
  63398. { { 0x2f7de141a48da000L,0x323bd638835a4edfL,0xd2d9da967e155bd5L,
  63399. 0x717c302a766b69daL,0x5927968beb0f6ca5L,0xfd96bd168940c766L },
  63400. { 0xf89f7539a334fd71L,0x4ba9cd8bd870954fL,0x7e639523a3d57aa8L,
  63401. 0x88f31e162314c0ceL,0xa836a6ad53b7e6e9L,0xd35a825190e43169L } },
  63402. /* 48 << 378 */
  63403. { { 0xb3984b176c0f3509L,0xf9fa4483d8b4d6bcL,0xf4ac2b677dec20d2L,
  63404. 0x67ef024eb3dbe034L,0x2dcc51180f94f4d7L,0x024cdcfd74a51393L },
  63405. { 0xf1c0fead20e7abcbL,0xffc18f81d3a7414fL,0xb00ce5567062cb0bL,
  63406. 0xeccb0521817bc8d1L,0xa0c0fe6040411c15L,0x053113221defbe00L } },
  63407. /* 49 << 378 */
  63408. { { 0x74faca8a6af7e742L,0x6f206002d878a97aL,0xd69b7c83177305ffL,
  63409. 0x605e7a32d2e2bcf1L,0x65bd03584590bf03L,0xab3ae700d1a378c5L },
  63410. { 0x037e79028a929b0dL,0x83625ae0a7c451c6L,0x82a18f03492b01d4L,
  63411. 0x12c6d168e67756b1L,0x1e704c3bd7924df1L,0x7708617f1989244eL } },
  63412. /* 50 << 378 */
  63413. { { 0x4c98c61d097bde48L,0x6a55edf1c354f433L,0x1ceee947c3f39212L,
  63414. 0x162cf27f36ba3cebL,0xd9f3982e3ec5f7ffL,0xd363e435d58d42d2L },
  63415. { 0x2ee90d7bad36681dL,0xd916df56ebfbf51cL,0x61d94ed8d7c27fe7L,
  63416. 0x5010582e923c1acdL,0x89d23e8b6de52994L,0x0a4f9c10525dbccfL } },
  63417. /* 51 << 378 */
  63418. { { 0x7778fad7e65573e2L,0xa4af7a2d74986210L,0xd78ecebfec57d967L,
  63419. 0x9be8a33f67d61b2eL,0x6888444f98a9add7L,0x218e7fb1b71a25a4L },
  63420. { 0xf75a6b795f46323bL,0x2f8610ad11a52cd9L,0x23692f85fc6837caL,
  63421. 0x3a37965f71fe847bL,0x29c25cc3fe3bdeeeL,0x68fefc83f624665aL } },
  63422. /* 52 << 378 */
  63423. { { 0xe222eba4a4dcefe9L,0x63ad235fec1ceb74L,0x2e0bf749e05b18e7L,
  63424. 0x547bd050b48bdd87L,0x0490c970f5aa2fc4L,0xced5e4cf2b431390L },
  63425. { 0x07d8270451d2898eL,0x44b72442083b57d4L,0xa4ada2305037fce8L,
  63426. 0x55f7905e50510da6L,0xd8ee724f8d890a98L,0x925a8e7c11b85640L } },
  63427. /* 53 << 378 */
  63428. { { 0x8357d8bb460e77b2L,0xc749a6a77709a52bL,0x94035a1f0c82ab81L,
  63429. 0x15245ac616c11ef4L,0xbf3cd96c034d021bL,0xf79e2d39b2e8fac1L },
  63430. { 0x387015194b6cf1bdL,0x341f9b53b3143bf7L,0xb2584aabdda9acf2L,
  63431. 0x16f34bdd553a8e68L,0x89d0c4c5da7830b3L,0x6cfe44c63f488c2eL } },
  63432. /* 54 << 378 */
  63433. { { 0xee536a26d4bcaa59L,0x5ea6a57c699397bfL,0xb28f476b59a7eb99L,
  63434. 0xa901f2551406ec90L,0x7b6e3e4d1f54ef38L,0x058ff1904c89c9a8L },
  63435. { 0x5690fa10fca546ccL,0xfe98793145e14268L,0x6181fa1675362f5dL,
  63436. 0x3ebe84466964b9aeL,0x3e1957812ce0f969L,0xb33ea619b0195852L } },
  63437. /* 55 << 378 */
  63438. { { 0xeef402410ec537acL,0x1f72c1f8911316f6L,0xab4bb08268cc6678L,
  63439. 0x031fc087255e8c5eL,0x99c2ff0b948ac53bL,0x13db3201919c1870L },
  63440. { 0xdec81fd312057a3cL,0xbdffa226ff7a44cbL,0x748d2e93d97167e2L,
  63441. 0x33a9fe40bd21effeL,0xe08e4213817ea560L,0x2221798b9f4337d5L } },
  63442. /* 56 << 378 */
  63443. { { 0xda828fe556467257L,0x5e9abf67d640c2a1L,0x0eed233cc25c696aL,
  63444. 0x72483dc5b3e1d84fL,0x30bf1ee34f114abcL,0xf58b321ed1f9bce8L },
  63445. { 0xcb26564c97524f33L,0xdc2f105e1e453229L,0x9da43ceb72a982ddL,
  63446. 0xecf5649dfeef8862L,0xd8afda341fa2f06dL,0xf0d0ced355035432L } },
  63447. /* 57 << 378 */
  63448. { { 0xec22bb32205a5301L,0xe4d168e75b0b727bL,0x91217a6be34fe2e0L,
  63449. 0x03c6831675f0f139L,0xb21e275d8b991b29L,0x7f517c9c01f3f401L },
  63450. { 0xbbe95d19e55e49faL,0xc5470808504514b1L,0xb88be15c7cc1367dL,
  63451. 0x242cb06bbfd24bacL,0x08647a158d2ab0baL,0x8f1fd1bd5716ed9bL } },
  63452. /* 58 << 378 */
  63453. { { 0xe787054518ba5236L,0x243622f9e8a47507L,0xe7d94f4697b97d7cL,
  63454. 0xb120589021649255L,0x8b5101310dd4e1d4L,0x1690687e164c44baL },
  63455. { 0x65bb4d8cf100fef5L,0xfffffee70a684c3dL,0x2aa11707c463a975L,
  63456. 0xccaddeaf391ad03dL,0x4d2cda1c81cca7deL,0x9d3eaa58c5b0f8e7L } },
  63457. /* 59 << 378 */
  63458. { { 0x3d92ecc18f8802dfL,0x3024ce311a719461L,0x6bdf53fc46c1f31bL,
  63459. 0x4f4576a12c9c7744L,0xe1ee7508c3ff7356L,0xd4b25ed3883ebf03L },
  63460. { 0x1dc46052420c3ac9L,0x376ebbfa11ecefa9L,0x36e175265e9693f5L,
  63461. 0xeb82b33740ed3143L,0x6960312ff19fa66aL,0xc7edb5db6c742e1bL } },
  63462. /* 60 << 378 */
  63463. { { 0x5bfa10cd1ca459edL,0x593f085a6dcf56bfL,0xe6f0ad9bc0579c3eL,
  63464. 0xc11c95a22527c1adL,0x7cfa71e1cf1cb8b3L,0xedcff8331d6dc79dL },
  63465. { 0x581c4bbe432521c9L,0xbf620096144e11a0L,0x54c38b71be3a107bL,
  63466. 0xed555e37e2606ec0L,0x3fb148b8d721d034L,0x79d53dad0091bc90L } },
  63467. /* 61 << 378 */
  63468. { { 0x4b98cb69c5c8a182L,0x887071bbcac96dabL,0x03d42e96afc190c3L,
  63469. 0xbc2c3b8d7a813820L,0x1ee7797f6590d0ecL,0x4a95f7f3ad4777a4L },
  63470. { 0x7a36de4e2a8d2736L,0x7f8c6751ad78dab6L,0xf9874bf6974c0a8eL,
  63471. 0x759fee1c8b53025aL,0x1b00fb28a2171c8bL,0xdf206f19be8f2e7eL } },
  63472. /* 62 << 378 */
  63473. { { 0xe6bbcf0bf8ed6302L,0x7734dc91f8fe7a42L,0x840210ee61ff9d1eL,
  63474. 0xbbf2d5477007f2e9L,0x0f17d421a6542ac0L,0x0b2d3d2ee01df4e9L },
  63475. { 0x520e4fbb84f3703fL,0x8362f7b1431106b7L,0xdcfc96ae6e50d836L,
  63476. 0x2dfa176cc44153bbL,0xeef1c6710b09ffe2L,0x633a2ac888531d81L } },
  63477. /* 63 << 378 */
  63478. { { 0x29262b6d7636a78dL,0xdc504f01d3ce2967L,0xa441e5035bcf0e19L,
  63479. 0x8025224f7ad39d9aL,0x780ec65de871b792L,0x977b4bce597694b4L },
  63480. { 0xe05eaeb87fe3ef11L,0x1cff87ac9748b10eL,0xb669c1d60c34153aL,
  63481. 0xf5da63e0f8f90368L,0x6f7f2fc47d31bf61L,0x37e9158235c16a0fL } },
  63482. /* 64 << 378 */
  63483. { { 0xcf17f9dc08d1be5dL,0xb55de4c8afdfeb23L,0xa69454ffe437b29cL,
  63484. 0x6628d789e27ee9e2L,0x56e3b975ee3af03bL,0x0083fe9c2f532d62L },
  63485. { 0xcae15213e63e7511L,0xdb5384f386ed849cL,0x902ba959fa4d825fL,
  63486. 0xbad700d55ae17566L,0x16b2c5dc14c82eb4L,0xa4b057a736708ea7L } },
  63487. };
  63488. /* Multiply the point by the scalar and return the result.
  63489. * If map is true then convert result to affine coordinates.
  63490. *
  63491. * Pre-computed table containing multiples of g times powers of 2.
  63492. * Width between powers is 7 bits.
  63493. * Accumulate into the result.
  63494. *
  63495. * r Resulting point.
  63496. * g Point to scalar multiply.
  63497. * k Scalar to multiply by.
  63498. * table Pre-computed table of points.
  63499. * map Indicates whether to convert result to affine.
  63500. * ct Constant time required.
  63501. * heap Heap to use for allocation.
  63502. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  63503. */
  63504. static int sp_384_ecc_mulmod_add_only_6(sp_point_384* r, const sp_point_384* g,
  63505. const sp_table_entry_384* table, const sp_digit* k, int map,
  63506. int ct, void* heap)
  63507. {
  63508. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63509. sp_point_384* rt = NULL;
  63510. sp_digit* tmp = NULL;
  63511. #else
  63512. sp_point_384 rt[2];
  63513. sp_digit tmp[2 * 6 * 6];
  63514. #endif
  63515. sp_point_384* p = NULL;
  63516. sp_digit* negy = NULL;
  63517. int i;
  63518. ecc_recode_384 v[55];
  63519. int err = MP_OKAY;
  63520. (void)g;
  63521. (void)ct;
  63522. (void)heap;
  63523. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63524. rt = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  63525. DYNAMIC_TYPE_ECC);
  63526. if (rt == NULL)
  63527. err = MEMORY_E;
  63528. if (err == MP_OKAY) {
  63529. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6, heap,
  63530. DYNAMIC_TYPE_ECC);
  63531. if (tmp == NULL)
  63532. err = MEMORY_E;
  63533. }
  63534. #endif
  63535. if (err == MP_OKAY) {
  63536. negy = tmp;
  63537. p = rt + 1;
  63538. }
  63539. if (err == MP_OKAY) {
  63540. sp_384_ecc_recode_7_6(k, v);
  63541. XMEMCPY(p->z, p384_norm_mod, sizeof(p384_norm_mod));
  63542. XMEMCPY(rt->z, p384_norm_mod, sizeof(p384_norm_mod));
  63543. i = 54;
  63544. #ifndef WC_NO_CACHE_RESISTANT
  63545. if (ct) {
  63546. sp_384_get_entry_65_6(rt, &table[i * 65], v[i].i);
  63547. }
  63548. else
  63549. #endif
  63550. {
  63551. XMEMCPY(rt->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  63552. XMEMCPY(rt->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  63553. }
  63554. rt->infinity = !v[i].i;
  63555. for (--i; i>=0; i--) {
  63556. #ifndef WC_NO_CACHE_RESISTANT
  63557. if (ct) {
  63558. sp_384_get_entry_65_6(p, &table[i * 65], v[i].i);
  63559. }
  63560. else
  63561. #endif
  63562. {
  63563. XMEMCPY(p->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  63564. XMEMCPY(p->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  63565. }
  63566. p->infinity = !v[i].i;
  63567. sp_384_sub_6(negy, p384_mod, p->y);
  63568. sp_384_norm_6(negy);
  63569. sp_384_cond_copy_6(p->y, negy, 0 - v[i].neg);
  63570. sp_384_proj_point_add_qz1_6(rt, rt, p, tmp);
  63571. }
  63572. if (map != 0) {
  63573. sp_384_map_6(r, rt, tmp);
  63574. }
  63575. else {
  63576. XMEMCPY(r, rt, sizeof(sp_point_384));
  63577. }
  63578. }
  63579. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63580. if (tmp != NULL)
  63581. #endif
  63582. {
  63583. ForceZero(tmp, sizeof(sp_digit) * 2 * 6 * 6);
  63584. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63585. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  63586. #endif
  63587. }
  63588. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63589. if (rt != NULL)
  63590. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  63591. #endif
  63592. return err;
  63593. }
  63594. /* Multiply the base point of P384 by the scalar and return the result.
  63595. * If map is true then convert result to affine coordinates.
  63596. *
  63597. * r Resulting point.
  63598. * k Scalar to multiply by.
  63599. * map Indicates whether to convert result to affine.
  63600. * ct Constant time required.
  63601. * heap Heap to use for allocation.
  63602. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  63603. */
  63604. static int sp_384_ecc_mulmod_base_6(sp_point_384* r, const sp_digit* k,
  63605. int map, int ct, void* heap)
  63606. {
  63607. return sp_384_ecc_mulmod_add_only_6(r, NULL, p384_table,
  63608. k, map, ct, heap);
  63609. }
  63610. #endif /* WOLFSSL_SP_SMALL */
  63611. /* Multiply the base point of P384 by the scalar and return the result.
  63612. * If map is true then convert result to affine coordinates.
  63613. *
  63614. * km Scalar to multiply by.
  63615. * r Resulting point.
  63616. * map Indicates whether to convert result to affine.
  63617. * heap Heap to use for allocation.
  63618. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  63619. */
  63620. int sp_ecc_mulmod_base_384(const mp_int* km, ecc_point* r, int map, void* heap)
  63621. {
  63622. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63623. sp_point_384* point = NULL;
  63624. sp_digit* k = NULL;
  63625. #else
  63626. sp_point_384 point[1];
  63627. sp_digit k[6];
  63628. #endif
  63629. int err = MP_OKAY;
  63630. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63631. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384), heap,
  63632. DYNAMIC_TYPE_ECC);
  63633. if (point == NULL)
  63634. err = MEMORY_E;
  63635. if (err == MP_OKAY) {
  63636. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6, heap,
  63637. DYNAMIC_TYPE_ECC);
  63638. if (k == NULL)
  63639. err = MEMORY_E;
  63640. }
  63641. #endif
  63642. if (err == MP_OKAY) {
  63643. sp_384_from_mp(k, 6, km);
  63644. err = sp_384_ecc_mulmod_base_6(point, k, map, 1, heap);
  63645. }
  63646. if (err == MP_OKAY) {
  63647. err = sp_384_point_to_ecc_point_6(point, r);
  63648. }
  63649. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63650. if (k != NULL)
  63651. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  63652. if (point != NULL)
  63653. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  63654. #endif
  63655. return err;
  63656. }
  63657. /* Multiply the base point of P384 by the scalar, add point a and return
  63658. * the result. If map is true then convert result to affine coordinates.
  63659. *
  63660. * km Scalar to multiply by.
  63661. * am Point to add to scalar mulitply result.
  63662. * inMont Point to add is in montgomery form.
  63663. * r Resulting point.
  63664. * map Indicates whether to convert result to affine.
  63665. * heap Heap to use for allocation.
  63666. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  63667. */
  63668. int sp_ecc_mulmod_base_add_384(const mp_int* km, const ecc_point* am,
  63669. int inMont, ecc_point* r, int map, void* heap)
  63670. {
  63671. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63672. sp_point_384* point = NULL;
  63673. sp_digit* k = NULL;
  63674. #else
  63675. sp_point_384 point[2];
  63676. sp_digit k[6 + 6 * 2 * 6];
  63677. #endif
  63678. sp_point_384* addP = NULL;
  63679. sp_digit* tmp = NULL;
  63680. int err = MP_OKAY;
  63681. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63682. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  63683. DYNAMIC_TYPE_ECC);
  63684. if (point == NULL)
  63685. err = MEMORY_E;
  63686. if (err == MP_OKAY) {
  63687. k = (sp_digit*)XMALLOC(
  63688. sizeof(sp_digit) * (6 + 6 * 2 * 6),
  63689. heap, DYNAMIC_TYPE_ECC);
  63690. if (k == NULL)
  63691. err = MEMORY_E;
  63692. }
  63693. #endif
  63694. if (err == MP_OKAY) {
  63695. addP = point + 1;
  63696. tmp = k + 6;
  63697. sp_384_from_mp(k, 6, km);
  63698. sp_384_point_from_ecc_point_6(addP, am);
  63699. }
  63700. if ((err == MP_OKAY) && (!inMont)) {
  63701. err = sp_384_mod_mul_norm_6(addP->x, addP->x, p384_mod);
  63702. }
  63703. if ((err == MP_OKAY) && (!inMont)) {
  63704. err = sp_384_mod_mul_norm_6(addP->y, addP->y, p384_mod);
  63705. }
  63706. if ((err == MP_OKAY) && (!inMont)) {
  63707. err = sp_384_mod_mul_norm_6(addP->z, addP->z, p384_mod);
  63708. }
  63709. if (err == MP_OKAY) {
  63710. err = sp_384_ecc_mulmod_base_6(point, k, 0, 0, heap);
  63711. }
  63712. if (err == MP_OKAY) {
  63713. sp_384_proj_point_add_6(point, point, addP, tmp);
  63714. if (map) {
  63715. sp_384_map_6(point, point, tmp);
  63716. }
  63717. err = sp_384_point_to_ecc_point_6(point, r);
  63718. }
  63719. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63720. if (k != NULL)
  63721. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  63722. if (point)
  63723. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  63724. #endif
  63725. return err;
  63726. }
  63727. #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \
  63728. defined(HAVE_ECC_VERIFY)
  63729. #endif /* WOLFSSL_VALIDATE_ECC_KEYGEN | HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
  63730. /* Add 1 to a. (a = a + 1)
  63731. *
  63732. * a A single precision integer.
  63733. */
  63734. static void sp_384_add_one_6(sp_digit* a)
  63735. {
  63736. __asm__ __volatile__ (
  63737. "ldp x1, x2, [%[a], 0]\n\t"
  63738. "adds x1, x1, #1\n\t"
  63739. "ldr x3, [%[a], 16]\n\t"
  63740. "adcs x2, x2, xzr\n\t"
  63741. "ldr x4, [%[a], 24]\n\t"
  63742. "adcs x3, x3, xzr\n\t"
  63743. "stp x1, x2, [%[a], 0]\n\t"
  63744. "adcs x4, x4, xzr\n\t"
  63745. "stp x3, x4, [%[a], 16]\n\t"
  63746. "ldp x1, x2, [%[a], 32]\n\t"
  63747. "adcs x1, x1, xzr\n\t"
  63748. "adcs x2, x2, xzr\n\t"
  63749. "stp x1, x2, [%[a], 32]\n\t"
  63750. :
  63751. : [a] "r" (a)
  63752. : "memory", "x1", "x2", "x3", "x4"
  63753. );
  63754. }
  63755. /* Read big endian unsigned byte array into r.
  63756. *
  63757. * r A single precision integer.
  63758. * size Maximum number of bytes to convert
  63759. * a Byte array.
  63760. * n Number of bytes in array to read.
  63761. */
  63762. static void sp_384_from_bin(sp_digit* r, int size, const byte* a, int n)
  63763. {
  63764. sp_int64 nl = n;
  63765. sp_int64 size8 = size * 8;
  63766. __asm__ __volatile__ (
  63767. "add x4, %[a], %[n]\n\t"
  63768. "mov x5, %[r]\n\t"
  63769. "sub x4, x4, 8\n\t"
  63770. "subs x6, %[n], 8\n\t"
  63771. "mov x7, xzr\n\t"
  63772. "blt 2f\n\t"
  63773. /* Put in mulitples of 8 bytes. */
  63774. "1:\n\t"
  63775. "ldr x8, [x4], -8\n\t"
  63776. "subs x6, x6, 8\n\t"
  63777. "rev x8, x8\n\t"
  63778. "str x8, [x5], 8\n\t"
  63779. "add x7, x7, 8\n\t"
  63780. "b.ge 1b\n\t"
  63781. "2:\n\t"
  63782. "cmp x6, -7\n\t"
  63783. "b.lt 20f\n\t"
  63784. /* Put in less than 8 bytes. */
  63785. "str xzr, [x5]\n\t"
  63786. "add x7, x7, 8\n\t"
  63787. "add x4, x4, 7\n\t"
  63788. "b.eq 17f\n\t"
  63789. "cmp x6, -5\n\t"
  63790. "b.lt 16f\n\t"
  63791. "b.eq 15f\n\t"
  63792. "cmp x6, -3\n\t"
  63793. "b.lt 14f\n\t"
  63794. "b.eq 13f\n\t"
  63795. "cmp x6, -2\n\t"
  63796. "b.eq 12f\n\t"
  63797. "ldrb w8, [x4], -1\n\t"
  63798. "strb w8, [x5], 1\n\t"
  63799. "12:\n\t"
  63800. "ldrb w8, [x4], -1\n\t"
  63801. "strb w8, [x5], 1\n\t"
  63802. "13:\n\t"
  63803. "ldrb w8, [x4], -1\n\t"
  63804. "strb w8, [x5], 1\n\t"
  63805. "14:\n\t"
  63806. "ldrb w8, [x4], -1\n\t"
  63807. "strb w8, [x5], 1\n\t"
  63808. "15:\n\t"
  63809. "ldrb w8, [x4], -1\n\t"
  63810. "strb w8, [x5], 1\n\t"
  63811. "16:\n\t"
  63812. "ldrb w8, [x4], -1\n\t"
  63813. "strb w8, [x5], 1\n\t"
  63814. "17:\n\t"
  63815. "ldrb w8, [x4], -1\n\t"
  63816. "strb w8, [x5], 1\n\t"
  63817. "20:\n\t"
  63818. "add x5, %[r], x7\n\t"
  63819. "subs x7, %[size], x7\n\t"
  63820. "b.eq 30f\n\t"
  63821. /* Zero out remaining words. */
  63822. "21:\n\t"
  63823. "subs x7, x7, 8\n\t"
  63824. "str xzr, [x5], 8\n\t"
  63825. "b.gt 21b\n\t"
  63826. "30:\n\t"
  63827. :
  63828. : [r] "r" (r), [size] "r" (size8), [a] "r" (a), [n] "r" (nl)
  63829. : "memory", "x4", "x5", "x6", "x7", "x8"
  63830. );
  63831. }
  63832. /* Generates a scalar that is in the range 1..order-1.
  63833. *
  63834. * rng Random number generator.
  63835. * k Scalar value.
  63836. * returns RNG failures, MEMORY_E when memory allocation fails and
  63837. * MP_OKAY on success.
  63838. */
  63839. static int sp_384_ecc_gen_k_6(WC_RNG* rng, sp_digit* k)
  63840. {
  63841. int err;
  63842. byte buf[48];
  63843. do {
  63844. err = wc_RNG_GenerateBlock(rng, buf, sizeof(buf));
  63845. if (err == 0) {
  63846. sp_384_from_bin(k, 6, buf, (int)sizeof(buf));
  63847. if (sp_384_cmp_6(k, p384_order2) <= 0) {
  63848. sp_384_add_one_6(k);
  63849. break;
  63850. }
  63851. }
  63852. }
  63853. while (err == 0);
  63854. return err;
  63855. }
  63856. /* Makes a random EC key pair.
  63857. *
  63858. * rng Random number generator.
  63859. * priv Generated private value.
  63860. * pub Generated public point.
  63861. * heap Heap to use for allocation.
  63862. * returns ECC_INF_E when the point does not have the correct order, RNG
  63863. * failures, MEMORY_E when memory allocation fails and MP_OKAY on success.
  63864. */
  63865. int sp_ecc_make_key_384(WC_RNG* rng, mp_int* priv, ecc_point* pub, void* heap)
  63866. {
  63867. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63868. sp_point_384* point = NULL;
  63869. sp_digit* k = NULL;
  63870. #else
  63871. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  63872. sp_point_384 point[2];
  63873. #else
  63874. sp_point_384 point[1];
  63875. #endif
  63876. sp_digit k[6];
  63877. #endif
  63878. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  63879. sp_point_384* infinity = NULL;
  63880. #endif
  63881. int err = MP_OKAY;
  63882. (void)heap;
  63883. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63884. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  63885. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap, DYNAMIC_TYPE_ECC);
  63886. #else
  63887. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384), heap, DYNAMIC_TYPE_ECC);
  63888. #endif
  63889. if (point == NULL)
  63890. err = MEMORY_E;
  63891. if (err == MP_OKAY) {
  63892. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6, heap,
  63893. DYNAMIC_TYPE_ECC);
  63894. if (k == NULL)
  63895. err = MEMORY_E;
  63896. }
  63897. #endif
  63898. if (err == MP_OKAY) {
  63899. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  63900. infinity = point + 1;
  63901. #endif
  63902. err = sp_384_ecc_gen_k_6(rng, k);
  63903. }
  63904. if (err == MP_OKAY) {
  63905. err = sp_384_ecc_mulmod_base_6(point, k, 1, 1, NULL);
  63906. }
  63907. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  63908. if (err == MP_OKAY) {
  63909. err = sp_384_ecc_mulmod_6(infinity, point, p384_order, 1, 1, NULL);
  63910. }
  63911. if (err == MP_OKAY) {
  63912. if (sp_384_iszero_6(point->x) || sp_384_iszero_6(point->y)) {
  63913. err = ECC_INF_E;
  63914. }
  63915. }
  63916. #endif
  63917. if (err == MP_OKAY) {
  63918. err = sp_384_to_mp(k, priv);
  63919. }
  63920. if (err == MP_OKAY) {
  63921. err = sp_384_point_to_ecc_point_6(point, pub);
  63922. }
  63923. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63924. if (k != NULL)
  63925. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  63926. if (point != NULL) {
  63927. /* point is not sensitive, so no need to zeroize */
  63928. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  63929. }
  63930. #endif
  63931. return err;
  63932. }
  63933. #ifdef HAVE_ECC_DHE
  63934. /* Write r as big endian to byte array.
  63935. * Fixed length number of bytes written: 48
  63936. *
  63937. * r A single precision integer.
  63938. * a Byte array.
  63939. */
  63940. static void sp_384_to_bin_6(sp_digit* r, byte* a)
  63941. {
  63942. int i;
  63943. int j = 0;
  63944. for (i = 5; i >= 0; i--, j += 8) {
  63945. __asm__ __volatile__ (
  63946. "ldr x4, [%[r]]\n\t"
  63947. "rev x4, x4\n\t"
  63948. "str x4, [%[a]]\n\t"
  63949. :
  63950. : [r] "r" (r + i), [a] "r" (a + j)
  63951. : "memory", "x4"
  63952. );
  63953. }
  63954. }
  63955. /* Multiply the point by the scalar and serialize the X ordinate.
  63956. * The number is 0 padded to maximum size on output.
  63957. *
  63958. * priv Scalar to multiply the point by.
  63959. * pub Point to multiply.
  63960. * out Buffer to hold X ordinate.
  63961. * outLen On entry, size of the buffer in bytes.
  63962. * On exit, length of data in buffer in bytes.
  63963. * heap Heap to use for allocation.
  63964. * returns BUFFER_E if the buffer is to small for output size,
  63965. * MEMORY_E when memory allocation fails and MP_OKAY on success.
  63966. */
  63967. int sp_ecc_secret_gen_384(const mp_int* priv, const ecc_point* pub, byte* out,
  63968. word32* outLen, void* heap)
  63969. {
  63970. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63971. sp_point_384* point = NULL;
  63972. sp_digit* k = NULL;
  63973. #else
  63974. sp_point_384 point[1];
  63975. sp_digit k[6];
  63976. #endif
  63977. int err = MP_OKAY;
  63978. if (*outLen < 48U) {
  63979. err = BUFFER_E;
  63980. }
  63981. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  63982. if (err == MP_OKAY) {
  63983. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384), heap,
  63984. DYNAMIC_TYPE_ECC);
  63985. if (point == NULL)
  63986. err = MEMORY_E;
  63987. }
  63988. if (err == MP_OKAY) {
  63989. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6, heap,
  63990. DYNAMIC_TYPE_ECC);
  63991. if (k == NULL)
  63992. err = MEMORY_E;
  63993. }
  63994. #endif
  63995. if (err == MP_OKAY) {
  63996. sp_384_from_mp(k, 6, priv);
  63997. sp_384_point_from_ecc_point_6(point, pub);
  63998. err = sp_384_ecc_mulmod_6(point, point, k, 1, 1, heap);
  63999. }
  64000. if (err == MP_OKAY) {
  64001. sp_384_to_bin_6(point->x, out);
  64002. *outLen = 48;
  64003. }
  64004. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  64005. if (k != NULL)
  64006. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  64007. if (point != NULL)
  64008. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  64009. #endif
  64010. return err;
  64011. }
  64012. #endif /* HAVE_ECC_DHE */
  64013. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  64014. #endif
  64015. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  64016. #endif
  64017. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  64018. /* Sub b from a into a. (a -= b)
  64019. *
  64020. * a A single precision integer and result.
  64021. * b A single precision integer.
  64022. */
  64023. static sp_digit sp_384_sub_in_place_6(sp_digit* a, const sp_digit* b)
  64024. {
  64025. __asm__ __volatile__ (
  64026. "ldp x2, x3, [%[a], 0]\n\t"
  64027. "ldp x6, x7, [%[b], 0]\n\t"
  64028. "subs x2, x2, x6\n\t"
  64029. "ldp x4, x5, [%[a], 16]\n\t"
  64030. "sbcs x3, x3, x7\n\t"
  64031. "ldp x8, x9, [%[b], 16]\n\t"
  64032. "sbcs x4, x4, x8\n\t"
  64033. "stp x2, x3, [%[a], 0]\n\t"
  64034. "sbcs x5, x5, x9\n\t"
  64035. "stp x4, x5, [%[a], 16]\n\t"
  64036. "ldr x2, [%[a], 32]\n\t"
  64037. "ldr x3, [%[a], 40]\n\t"
  64038. "ldr x6, [%[b], 32]\n\t"
  64039. "ldr x7, [%[b], 40]\n\t"
  64040. "sbcs x2, x2, x6\n\t"
  64041. "sbcs x3, x3, x7\n\t"
  64042. "str x2, [%[a], 32]\n\t"
  64043. "str x3, [%[a], 40]\n\t"
  64044. "csetm %[a], cc\n\t"
  64045. : [a] "+r" (a)
  64046. : [b] "r" (b)
  64047. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  64048. );
  64049. return (sp_digit)a;
  64050. }
  64051. /* Mul a by digit b into r. (r = a * b)
  64052. *
  64053. * r A single precision integer.
  64054. * a A single precision integer.
  64055. * b A single precision digit.
  64056. */
  64057. static void sp_384_mul_d_6(sp_digit* r, const sp_digit* a,
  64058. sp_digit b)
  64059. {
  64060. #ifdef WOLFSSL_SP_SMALL
  64061. __asm__ __volatile__ (
  64062. "# A[0] * B\n\t"
  64063. "ldr x8, [%[a]]\n\t"
  64064. "mul x5, %[b], x8\n\t"
  64065. "umulh x3, %[b], x8\n\t"
  64066. "mov x4, xzr\n\t"
  64067. "str x5, [%[r]]\n\t"
  64068. "mov x5, xzr\n\t"
  64069. "mov x9, #8\n\t"
  64070. "1:\n\t"
  64071. "ldr x8, [%[a], x9]\n\t"
  64072. "mul x6, %[b], x8\n\t"
  64073. "umulh x7, %[b], x8\n\t"
  64074. "adds x3, x3, x6\n\t"
  64075. "adcs x4, x4, x7\n\t"
  64076. "adc x5, xzr, xzr\n\t"
  64077. "str x3, [%[r], x9]\n\t"
  64078. "mov x3, x4\n\t"
  64079. "mov x4, x5\n\t"
  64080. "mov x5, #0\n\t"
  64081. "add x9, x9, #8\n\t"
  64082. "cmp x9, 48\n\t"
  64083. "b.lt 1b\n\t"
  64084. "str x3, [%[r], 48]\n\t"
  64085. :
  64086. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  64087. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  64088. );
  64089. #else
  64090. __asm__ __volatile__ (
  64091. "# A[0] * B\n\t"
  64092. "ldp x9, x10, [%[a]]\n\t"
  64093. "mul x3, %[b], x9\n\t"
  64094. "umulh x4, %[b], x9\n\t"
  64095. "mov x5, xzr\n\t"
  64096. "# A[1] * B\n\t"
  64097. "str x3, [%[r]]\n\t"
  64098. "mul x6, %[b], x10\n\t"
  64099. "mov x3, xzr\n\t"
  64100. "umulh x7, %[b], x10\n\t"
  64101. "adds x4, x4, x6\n\t"
  64102. "# A[2] * B\n\t"
  64103. "ldp x9, x10, [%[a], 16]\n\t"
  64104. "str x4, [%[r], 8]\n\t"
  64105. "adcs x5, x5, x7\n\t"
  64106. "mul x6, %[b], x9\n\t"
  64107. "mov x4, xzr\n\t"
  64108. "umulh x7, %[b], x9\n\t"
  64109. "adc x3, xzr, xzr\n\t"
  64110. "adds x5, x5, x6\n\t"
  64111. "# A[3] * B\n\t"
  64112. "str x5, [%[r], 16]\n\t"
  64113. "adcs x3, x3, x7\n\t"
  64114. "mul x6, %[b], x10\n\t"
  64115. "mov x5, xzr\n\t"
  64116. "umulh x7, %[b], x10\n\t"
  64117. "adc x4, xzr, xzr\n\t"
  64118. "adds x3, x3, x6\n\t"
  64119. "# A[4] * B\n\t"
  64120. "ldp x9, x10, [%[a], 32]\n\t"
  64121. "str x3, [%[r], 24]\n\t"
  64122. "adcs x4, x4, x7\n\t"
  64123. "mul x6, %[b], x9\n\t"
  64124. "mov x3, xzr\n\t"
  64125. "umulh x7, %[b], x9\n\t"
  64126. "adc x5, xzr, xzr\n\t"
  64127. "adds x4, x4, x6\n\t"
  64128. "# A[5] * B\n\t"
  64129. "str x4, [%[r], 32]\n\t"
  64130. "mul x6, %[b], x10\n\t"
  64131. "adcs x5, x5, x7\n\t"
  64132. "umulh x7, %[b], x10\n\t"
  64133. "adc x3, xzr, xzr\n\t"
  64134. "adds x5, x5, x6\n\t"
  64135. "adc x3, x3, x7\n\t"
  64136. "str x5, [%[r], 40]\n\t"
  64137. "str x3, [%[r], 48]\n\t"
  64138. :
  64139. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  64140. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  64141. );
  64142. #endif
  64143. }
  64144. /* Divide the double width number (d1|d0) by the divisor. (d1|d0 / div)
  64145. *
  64146. * Assumes divisor has higest bit set.
  64147. *
  64148. * d1 The high order half of the number to divide.
  64149. * d0 The low order half of the number to divide.
  64150. * div The divisor.
  64151. * returns the result of the division.
  64152. */
  64153. static sp_digit div_384_word_6(sp_digit d1, sp_digit d0, sp_digit div)
  64154. {
  64155. __asm__ __volatile__ (
  64156. "lsr x8, %[div], 32\n\t"
  64157. "add x5, x8, 1\n\t"
  64158. "udiv x3, %[d1], x5\n\t"
  64159. "lsl x7, %[div], 32\n\t"
  64160. "movz x9, #1, lsl 32\n\t"
  64161. "lsl x6, x3, 32\n\t"
  64162. "mul x4, %[div], x6\n\t"
  64163. "umulh x3, %[div], x6\n\t"
  64164. "subs %[d0], %[d0], x4\n\t"
  64165. "sbc %[d1], %[d1], x3\n\t"
  64166. "cmp %[d1], x5\n\t"
  64167. "cset x9, ge\n\t"
  64168. "csetm x10, ge\n\t"
  64169. "lsl x9, x9, #32\n\t"
  64170. "and x7, x7, x10\n\t"
  64171. "and x8, x8, x10\n\t"
  64172. "subs %[d0], %[d0], x7\n\t"
  64173. "add x6, x6, x9\n\t"
  64174. "sbc %[d1], %[d1], x8\n\t"
  64175. "extr x3, %[d1], %[d0], 32\n\t"
  64176. "udiv x3, x3, x5\n\t"
  64177. "add x6, x6, x3\n\t"
  64178. "mul x4, %[div], x3\n\t"
  64179. "umulh x3, %[div], x3\n\t"
  64180. "subs %[d0], %[d0], x4\n\t"
  64181. "sbc %[d1], %[d1], x3\n\t"
  64182. "extr x3, %[d1], %[d0], 32\n\t"
  64183. "udiv x3, x3, x5\n\t"
  64184. "add x6, x6, x3\n\t"
  64185. "mul x4, %[div], x3\n\t"
  64186. "sub %[d0], %[d0], x4\n\t"
  64187. "udiv x3, %[d0], %[div]\n\t"
  64188. "add %[d1], x6, x3\n\t"
  64189. : [d1] "+r" (d1), [d0] "+r" (d0)
  64190. : [div] "r" (div)
  64191. : "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  64192. );
  64193. return d1;
  64194. }
  64195. /* AND m into each word of a and store in r.
  64196. *
  64197. * r A single precision integer.
  64198. * a A single precision integer.
  64199. * m Mask to AND against each digit.
  64200. */
  64201. static void sp_384_mask_6(sp_digit* r, const sp_digit* a, sp_digit m)
  64202. {
  64203. #ifdef WOLFSSL_SP_SMALL
  64204. int i;
  64205. for (i=0; i<6; i++) {
  64206. r[i] = a[i] & m;
  64207. }
  64208. #else
  64209. r[0] = a[0] & m;
  64210. r[1] = a[1] & m;
  64211. r[2] = a[2] & m;
  64212. r[3] = a[3] & m;
  64213. r[4] = a[4] & m;
  64214. r[5] = a[5] & m;
  64215. #endif
  64216. }
  64217. /* Divide d in a and put remainder into r (m*d + r = a)
  64218. * m is not calculated as it is not needed at this time.
  64219. *
  64220. * a Number to be divided.
  64221. * d Number to divide with.
  64222. * m Multiplier result.
  64223. * r Remainder from the division.
  64224. * returns MP_OKAY indicating success.
  64225. */
  64226. static WC_INLINE int sp_384_div_6(const sp_digit* a, const sp_digit* d, sp_digit* m,
  64227. sp_digit* r)
  64228. {
  64229. sp_digit t1[12], t2[7];
  64230. sp_digit div, r1;
  64231. int i;
  64232. (void)m;
  64233. div = d[5];
  64234. XMEMCPY(t1, a, sizeof(*t1) * 2 * 6);
  64235. r1 = sp_384_cmp_6(&t1[6], d) >= 0;
  64236. sp_384_cond_sub_6(&t1[6], &t1[6], d, (sp_digit)0 - r1);
  64237. for (i = 5; i >= 0; i--) {
  64238. sp_digit mask = 0 - (t1[6 + i] == div);
  64239. sp_digit hi = t1[6 + i] + mask;
  64240. r1 = div_384_word_6(hi, t1[6 + i - 1], div);
  64241. r1 |= mask;
  64242. sp_384_mul_d_6(t2, d, r1);
  64243. t1[6 + i] += sp_384_sub_in_place_6(&t1[i], t2);
  64244. t1[6 + i] -= t2[6];
  64245. sp_384_mask_6(t2, d, t1[6 + i]);
  64246. t1[6 + i] += sp_384_add_6(&t1[i], &t1[i], t2);
  64247. sp_384_mask_6(t2, d, t1[6 + i]);
  64248. t1[6 + i] += sp_384_add_6(&t1[i], &t1[i], t2);
  64249. }
  64250. r1 = sp_384_cmp_6(t1, d) >= 0;
  64251. sp_384_cond_sub_6(r, t1, d, (sp_digit)0 - r1);
  64252. return MP_OKAY;
  64253. }
  64254. /* Reduce a modulo m into r. (r = a mod m)
  64255. *
  64256. * r A single precision number that is the reduced result.
  64257. * a A single precision number that is to be reduced.
  64258. * m A single precision number that is the modulus to reduce with.
  64259. * returns MP_OKAY indicating success.
  64260. */
  64261. static WC_INLINE int sp_384_mod_6(sp_digit* r, const sp_digit* a, const sp_digit* m)
  64262. {
  64263. return sp_384_div_6(a, m, NULL, r);
  64264. }
  64265. #endif
  64266. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  64267. /* Multiply two number mod the order of P384 curve. (r = a * b mod order)
  64268. *
  64269. * r Result of the multiplication.
  64270. * a First operand of the multiplication.
  64271. * b Second operand of the multiplication.
  64272. */
  64273. static void sp_384_mont_mul_order_6(sp_digit* r, const sp_digit* a, const sp_digit* b)
  64274. {
  64275. sp_384_mul_6(r, a, b);
  64276. sp_384_mont_reduce_order_6(r, p384_order, p384_mp_order);
  64277. }
  64278. #if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
  64279. #ifdef WOLFSSL_SP_SMALL
  64280. /* Order-2 for the P384 curve. */
  64281. static const uint64_t p384_order_minus_2[6] = {
  64282. 0xecec196accc52971U,0x581a0db248b0a77aU,0xc7634d81f4372ddfU,
  64283. 0xffffffffffffffffU,0xffffffffffffffffU,0xffffffffffffffffU
  64284. };
  64285. #else
  64286. /* The low half of the order-2 of the P384 curve. */
  64287. static const uint64_t p384_order_low[3] = {
  64288. 0xecec196accc52971U,0x581a0db248b0a77aU,0xc7634d81f4372ddfU
  64289. };
  64290. #endif /* WOLFSSL_SP_SMALL */
  64291. /* Square number mod the order of P384 curve. (r = a * a mod order)
  64292. *
  64293. * r Result of the squaring.
  64294. * a Number to square.
  64295. */
  64296. static void sp_384_mont_sqr_order_6(sp_digit* r, const sp_digit* a)
  64297. {
  64298. sp_384_sqr_6(r, a);
  64299. sp_384_mont_reduce_order_6(r, p384_order, p384_mp_order);
  64300. }
  64301. #ifndef WOLFSSL_SP_SMALL
  64302. /* Square number mod the order of P384 curve a number of times.
  64303. * (r = a ^ n mod order)
  64304. *
  64305. * r Result of the squaring.
  64306. * a Number to square.
  64307. */
  64308. static void sp_384_mont_sqr_n_order_6(sp_digit* r, const sp_digit* a, int n)
  64309. {
  64310. int i;
  64311. sp_384_mont_sqr_order_6(r, a);
  64312. for (i=1; i<n; i++) {
  64313. sp_384_mont_sqr_order_6(r, r);
  64314. }
  64315. }
  64316. #endif /* !WOLFSSL_SP_SMALL */
  64317. /* Invert the number, in Montgomery form, modulo the order of the P384 curve.
  64318. * (r = 1 / a mod order)
  64319. *
  64320. * r Inverse result.
  64321. * a Number to invert.
  64322. * td Temporary data.
  64323. */
  64324. #ifdef WOLFSSL_SP_NONBLOCK
  64325. typedef struct sp_384_mont_inv_order_6_ctx {
  64326. int state;
  64327. int i;
  64328. } sp_384_mont_inv_order_6_ctx;
  64329. static int sp_384_mont_inv_order_6_nb(sp_ecc_ctx_t* sp_ctx, sp_digit* r, const sp_digit* a,
  64330. sp_digit* t)
  64331. {
  64332. int err = FP_WOULDBLOCK;
  64333. sp_384_mont_inv_order_6_ctx* ctx = (sp_384_mont_inv_order_6_ctx*)sp_ctx;
  64334. typedef char ctx_size_test[sizeof(sp_384_mont_inv_order_6_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  64335. (void)sizeof(ctx_size_test);
  64336. switch (ctx->state) {
  64337. case 0:
  64338. XMEMCPY(t, a, sizeof(sp_digit) * 6);
  64339. ctx->i = 382;
  64340. ctx->state = 1;
  64341. break;
  64342. case 1:
  64343. sp_384_mont_sqr_order_6(t, t);
  64344. ctx->state = 2;
  64345. break;
  64346. case 2:
  64347. if ((p384_order_minus_2[ctx->i / 64] & ((sp_int_digit)1 << (ctx->i % 64))) != 0) {
  64348. sp_384_mont_mul_order_6(t, t, a);
  64349. }
  64350. ctx->i--;
  64351. ctx->state = (ctx->i == 0) ? 3 : 1;
  64352. break;
  64353. case 3:
  64354. XMEMCPY(r, t, sizeof(sp_digit) * 6U);
  64355. err = MP_OKAY;
  64356. break;
  64357. }
  64358. return err;
  64359. }
  64360. #endif /* WOLFSSL_SP_NONBLOCK */
  64361. static void sp_384_mont_inv_order_6(sp_digit* r, const sp_digit* a,
  64362. sp_digit* td)
  64363. {
  64364. #ifdef WOLFSSL_SP_SMALL
  64365. sp_digit* t = td;
  64366. int i;
  64367. XMEMCPY(t, a, sizeof(sp_digit) * 6);
  64368. for (i=382; i>=0; i--) {
  64369. sp_384_mont_sqr_order_6(t, t);
  64370. if ((p384_order_minus_2[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  64371. sp_384_mont_mul_order_6(t, t, a);
  64372. }
  64373. }
  64374. XMEMCPY(r, t, sizeof(sp_digit) * 6U);
  64375. #else
  64376. sp_digit* t = td;
  64377. sp_digit* t2 = td + 2 * 6;
  64378. sp_digit* t3 = td + 4 * 6;
  64379. int i;
  64380. /* t = a^2 */
  64381. sp_384_mont_sqr_order_6(t, a);
  64382. /* t = a^3 = t * a */
  64383. sp_384_mont_mul_order_6(t, t, a);
  64384. /* t2= a^c = t ^ 2 ^ 2 */
  64385. sp_384_mont_sqr_n_order_6(t2, t, 2);
  64386. /* t = a^f = t2 * t */
  64387. sp_384_mont_mul_order_6(t, t2, t);
  64388. /* t2= a^f0 = t ^ 2 ^ 4 */
  64389. sp_384_mont_sqr_n_order_6(t2, t, 4);
  64390. /* t = a^ff = t2 * t */
  64391. sp_384_mont_mul_order_6(t, t2, t);
  64392. /* t2= a^ff00 = t ^ 2 ^ 8 */
  64393. sp_384_mont_sqr_n_order_6(t2, t, 8);
  64394. /* t3= a^ffff = t2 * t */
  64395. sp_384_mont_mul_order_6(t3, t2, t);
  64396. /* t2= a^ffff0000 = t3 ^ 2 ^ 16 */
  64397. sp_384_mont_sqr_n_order_6(t2, t3, 16);
  64398. /* t = a^ffffffff = t2 * t3 */
  64399. sp_384_mont_mul_order_6(t, t2, t3);
  64400. /* t2= a^ffffffff0000 = t ^ 2 ^ 16 */
  64401. sp_384_mont_sqr_n_order_6(t2, t, 16);
  64402. /* t = a^ffffffffffff = t2 * t3 */
  64403. sp_384_mont_mul_order_6(t, t2, t3);
  64404. /* t2= a^ffffffffffff000000000000 = t ^ 2 ^ 48 */
  64405. sp_384_mont_sqr_n_order_6(t2, t, 48);
  64406. /* t= a^fffffffffffffffffffffffff = t2 * t */
  64407. sp_384_mont_mul_order_6(t, t2, t);
  64408. /* t2= a^ffffffffffffffffffffffff000000000000000000000000 */
  64409. sp_384_mont_sqr_n_order_6(t2, t, 96);
  64410. /* t2= a^ffffffffffffffffffffffffffffffffffffffffffffffff = t2 * t */
  64411. sp_384_mont_mul_order_6(t2, t2, t);
  64412. for (i=191; i>=1; i--) {
  64413. sp_384_mont_sqr_order_6(t2, t2);
  64414. if ((p384_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  64415. sp_384_mont_mul_order_6(t2, t2, a);
  64416. }
  64417. }
  64418. sp_384_mont_sqr_order_6(t2, t2);
  64419. sp_384_mont_mul_order_6(r, t2, a);
  64420. #endif /* WOLFSSL_SP_SMALL */
  64421. }
  64422. #endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
  64423. #endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
  64424. #ifdef HAVE_ECC_SIGN
  64425. #ifndef SP_ECC_MAX_SIG_GEN
  64426. #define SP_ECC_MAX_SIG_GEN 64
  64427. #endif
  64428. /* Calculate second signature value S from R, k and private value.
  64429. *
  64430. * s = (r * x + e) / k
  64431. *
  64432. * s Signature value.
  64433. * r First signature value.
  64434. * k Ephemeral private key.
  64435. * x Private key as a number.
  64436. * e Hash of message as a number.
  64437. * tmp Temporary storage for intermediate numbers.
  64438. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  64439. */
  64440. static int sp_384_calc_s_6(sp_digit* s, const sp_digit* r, sp_digit* k,
  64441. sp_digit* x, const sp_digit* e, sp_digit* tmp)
  64442. {
  64443. int err;
  64444. sp_digit carry;
  64445. sp_int64 c;
  64446. sp_digit* kInv = k;
  64447. /* Conv k to Montgomery form (mod order) */
  64448. sp_384_mul_6(k, k, p384_norm_order);
  64449. err = sp_384_mod_6(k, k, p384_order);
  64450. if (err == MP_OKAY) {
  64451. sp_384_norm_6(k);
  64452. /* kInv = 1/k mod order */
  64453. sp_384_mont_inv_order_6(kInv, k, tmp);
  64454. sp_384_norm_6(kInv);
  64455. /* s = r * x + e */
  64456. sp_384_mul_6(x, x, r);
  64457. err = sp_384_mod_6(x, x, p384_order);
  64458. }
  64459. if (err == MP_OKAY) {
  64460. sp_384_norm_6(x);
  64461. carry = sp_384_add_6(s, e, x);
  64462. sp_384_cond_sub_6(s, s, p384_order, 0 - carry);
  64463. sp_384_norm_6(s);
  64464. c = sp_384_cmp_6(s, p384_order);
  64465. sp_384_cond_sub_6(s, s, p384_order,
  64466. (sp_digit)0 - (sp_digit)(c >= 0));
  64467. sp_384_norm_6(s);
  64468. /* s = s * k^-1 mod order */
  64469. sp_384_mont_mul_order_6(s, s, kInv);
  64470. sp_384_norm_6(s);
  64471. }
  64472. return err;
  64473. }
  64474. /* Sign the hash using the private key.
  64475. * e = [hash, 384 bits] from binary
  64476. * r = (k.G)->x mod order
  64477. * s = (r * x + e) / k mod order
  64478. * The hash is truncated to the first 384 bits.
  64479. *
  64480. * hash Hash to sign.
  64481. * hashLen Length of the hash data.
  64482. * rng Random number generator.
  64483. * priv Private part of key - scalar.
  64484. * rm First part of result as an mp_int.
  64485. * sm Sirst part of result as an mp_int.
  64486. * heap Heap to use for allocation.
  64487. * returns RNG failures, MEMORY_E when memory allocation fails and
  64488. * MP_OKAY on success.
  64489. */
  64490. #ifdef WOLFSSL_SP_NONBLOCK
  64491. typedef struct sp_ecc_sign_384_ctx {
  64492. int state;
  64493. union {
  64494. sp_384_ecc_mulmod_6_ctx mulmod_ctx;
  64495. sp_384_mont_inv_order_6_ctx mont_inv_order_ctx;
  64496. };
  64497. sp_digit e[2*6];
  64498. sp_digit x[2*6];
  64499. sp_digit k[2*6];
  64500. sp_digit r[2*6];
  64501. sp_digit tmp[3 * 2*6];
  64502. sp_point_384 point;
  64503. sp_digit* s;
  64504. sp_digit* kInv;
  64505. int i;
  64506. } sp_ecc_sign_384_ctx;
  64507. int sp_ecc_sign_384_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash, word32 hashLen, WC_RNG* rng,
  64508. mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap)
  64509. {
  64510. int err = FP_WOULDBLOCK;
  64511. sp_ecc_sign_384_ctx* ctx = (sp_ecc_sign_384_ctx*)sp_ctx->data;
  64512. typedef char ctx_size_test[sizeof(sp_ecc_sign_384_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  64513. (void)sizeof(ctx_size_test);
  64514. (void)heap;
  64515. switch (ctx->state) {
  64516. case 0: /* INIT */
  64517. ctx->s = ctx->e;
  64518. ctx->kInv = ctx->k;
  64519. ctx->i = SP_ECC_MAX_SIG_GEN;
  64520. ctx->state = 1;
  64521. break;
  64522. case 1: /* GEN */
  64523. /* New random point. */
  64524. if (km == NULL || mp_iszero(km)) {
  64525. err = sp_384_ecc_gen_k_6(rng, ctx->k);
  64526. }
  64527. else {
  64528. sp_384_from_mp(ctx->k, 6, km);
  64529. mp_zero(km);
  64530. }
  64531. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  64532. ctx->state = 2;
  64533. break;
  64534. case 2: /* MULMOD */
  64535. err = sp_384_ecc_mulmod_6_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx,
  64536. &ctx->point, &p384_base, ctx->k, 1, 1, heap);
  64537. if (err == MP_OKAY) {
  64538. ctx->state = 3;
  64539. }
  64540. break;
  64541. case 3: /* MODORDER */
  64542. {
  64543. sp_int64 c;
  64544. /* r = point->x mod order */
  64545. XMEMCPY(ctx->r, ctx->point.x, sizeof(sp_digit) * 6U);
  64546. sp_384_norm_6(ctx->r);
  64547. c = sp_384_cmp_6(ctx->r, p384_order);
  64548. sp_384_cond_sub_6(ctx->r, ctx->r, p384_order,
  64549. (sp_digit)0 - (sp_digit)(c >= 0));
  64550. sp_384_norm_6(ctx->r);
  64551. if (hashLen > 48U) {
  64552. hashLen = 48U;
  64553. }
  64554. sp_384_from_mp(ctx->x, 6, priv);
  64555. sp_384_from_bin(ctx->e, 6, hash, (int)hashLen);
  64556. ctx->state = 4;
  64557. break;
  64558. }
  64559. case 4: /* KMODORDER */
  64560. /* Conv k to Montgomery form (mod order) */
  64561. sp_384_mul_6(ctx->k, ctx->k, p384_norm_order);
  64562. err = sp_384_mod_6(ctx->k, ctx->k, p384_order);
  64563. if (err == MP_OKAY) {
  64564. sp_384_norm_6(ctx->k);
  64565. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  64566. ctx->state = 5;
  64567. }
  64568. break;
  64569. case 5: /* KINV */
  64570. /* kInv = 1/k mod order */
  64571. err = sp_384_mont_inv_order_6_nb((sp_ecc_ctx_t*)&ctx->mont_inv_order_ctx, ctx->kInv, ctx->k, ctx->tmp);
  64572. if (err == MP_OKAY) {
  64573. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  64574. ctx->state = 6;
  64575. }
  64576. break;
  64577. case 6: /* KINVNORM */
  64578. sp_384_norm_6(ctx->kInv);
  64579. ctx->state = 7;
  64580. break;
  64581. case 7: /* R */
  64582. /* s = r * x + e */
  64583. sp_384_mul_6(ctx->x, ctx->x, ctx->r);
  64584. ctx->state = 8;
  64585. break;
  64586. case 8: /* S1 */
  64587. err = sp_384_mod_6(ctx->x, ctx->x, p384_order);
  64588. if (err == MP_OKAY)
  64589. ctx->state = 9;
  64590. break;
  64591. case 9: /* S2 */
  64592. {
  64593. sp_digit carry;
  64594. sp_int64 c;
  64595. sp_384_norm_6(ctx->x);
  64596. carry = sp_384_add_6(ctx->s, ctx->e, ctx->x);
  64597. sp_384_cond_sub_6(ctx->s, ctx->s,
  64598. p384_order, 0 - carry);
  64599. sp_384_norm_6(ctx->s);
  64600. c = sp_384_cmp_6(ctx->s, p384_order);
  64601. sp_384_cond_sub_6(ctx->s, ctx->s, p384_order,
  64602. (sp_digit)0 - (sp_digit)(c >= 0));
  64603. sp_384_norm_6(ctx->s);
  64604. /* s = s * k^-1 mod order */
  64605. sp_384_mont_mul_order_6(ctx->s, ctx->s, ctx->kInv);
  64606. sp_384_norm_6(ctx->s);
  64607. /* Check that signature is usable. */
  64608. if (sp_384_iszero_6(ctx->s) == 0) {
  64609. ctx->state = 10;
  64610. break;
  64611. }
  64612. #ifdef WOLFSSL_ECDSA_SET_K_ONE_LOOP
  64613. ctx->i = 1;
  64614. #endif
  64615. /* not usable gen, try again */
  64616. ctx->i--;
  64617. if (ctx->i == 0) {
  64618. err = RNG_FAILURE_E;
  64619. }
  64620. ctx->state = 1;
  64621. break;
  64622. }
  64623. case 10: /* RES */
  64624. err = sp_384_to_mp(ctx->r, rm);
  64625. if (err == MP_OKAY) {
  64626. err = sp_384_to_mp(ctx->s, sm);
  64627. }
  64628. break;
  64629. }
  64630. if (err == MP_OKAY && ctx->state != 10) {
  64631. err = FP_WOULDBLOCK;
  64632. }
  64633. if (err != FP_WOULDBLOCK) {
  64634. XMEMSET(ctx->e, 0, sizeof(sp_digit) * 2U * 6U);
  64635. XMEMSET(ctx->x, 0, sizeof(sp_digit) * 2U * 6U);
  64636. XMEMSET(ctx->k, 0, sizeof(sp_digit) * 2U * 6U);
  64637. XMEMSET(ctx->r, 0, sizeof(sp_digit) * 2U * 6U);
  64638. XMEMSET(ctx->tmp, 0, sizeof(sp_digit) * 3U * 2U * 6U);
  64639. }
  64640. return err;
  64641. }
  64642. #endif /* WOLFSSL_SP_NONBLOCK */
  64643. int sp_ecc_sign_384(const byte* hash, word32 hashLen, WC_RNG* rng,
  64644. const mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap)
  64645. {
  64646. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  64647. sp_digit* e = NULL;
  64648. sp_point_384* point = NULL;
  64649. #else
  64650. sp_digit e[7 * 2 * 6];
  64651. sp_point_384 point[1];
  64652. #endif
  64653. sp_digit* x = NULL;
  64654. sp_digit* k = NULL;
  64655. sp_digit* r = NULL;
  64656. sp_digit* tmp = NULL;
  64657. sp_digit* s = NULL;
  64658. sp_int64 c;
  64659. int err = MP_OKAY;
  64660. int i;
  64661. (void)heap;
  64662. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  64663. if (err == MP_OKAY) {
  64664. point = (sp_point_384*)XMALLOC(sizeof(sp_point_384), heap,
  64665. DYNAMIC_TYPE_ECC);
  64666. if (point == NULL)
  64667. err = MEMORY_E;
  64668. }
  64669. if (err == MP_OKAY) {
  64670. e = (sp_digit*)XMALLOC(sizeof(sp_digit) * 7 * 2 * 6, heap,
  64671. DYNAMIC_TYPE_ECC);
  64672. if (e == NULL)
  64673. err = MEMORY_E;
  64674. }
  64675. #endif
  64676. if (err == MP_OKAY) {
  64677. x = e + 2 * 6;
  64678. k = e + 4 * 6;
  64679. r = e + 6 * 6;
  64680. tmp = e + 8 * 6;
  64681. s = e;
  64682. if (hashLen > 48U) {
  64683. hashLen = 48U;
  64684. }
  64685. }
  64686. for (i = SP_ECC_MAX_SIG_GEN; err == MP_OKAY && i > 0; i--) {
  64687. /* New random point. */
  64688. if (km == NULL || mp_iszero(km)) {
  64689. err = sp_384_ecc_gen_k_6(rng, k);
  64690. }
  64691. else {
  64692. sp_384_from_mp(k, 6, km);
  64693. mp_zero(km);
  64694. }
  64695. if (err == MP_OKAY) {
  64696. err = sp_384_ecc_mulmod_base_6(point, k, 1, 1, heap);
  64697. }
  64698. if (err == MP_OKAY) {
  64699. /* r = point->x mod order */
  64700. XMEMCPY(r, point->x, sizeof(sp_digit) * 6U);
  64701. sp_384_norm_6(r);
  64702. c = sp_384_cmp_6(r, p384_order);
  64703. sp_384_cond_sub_6(r, r, p384_order,
  64704. (sp_digit)0 - (sp_digit)(c >= 0));
  64705. sp_384_norm_6(r);
  64706. sp_384_from_mp(x, 6, priv);
  64707. sp_384_from_bin(e, 6, hash, (int)hashLen);
  64708. err = sp_384_calc_s_6(s, r, k, x, e, tmp);
  64709. }
  64710. /* Check that signature is usable. */
  64711. if ((err == MP_OKAY) && (sp_384_iszero_6(s) == 0)) {
  64712. break;
  64713. }
  64714. #ifdef WOLFSSL_ECDSA_SET_K_ONE_LOOP
  64715. i = 1;
  64716. #endif
  64717. }
  64718. if (i == 0) {
  64719. err = RNG_FAILURE_E;
  64720. }
  64721. if (err == MP_OKAY) {
  64722. err = sp_384_to_mp(r, rm);
  64723. }
  64724. if (err == MP_OKAY) {
  64725. err = sp_384_to_mp(s, sm);
  64726. }
  64727. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  64728. if (e != NULL)
  64729. #endif
  64730. {
  64731. ForceZero(e, sizeof(sp_digit) * 7 * 2 * 6);
  64732. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  64733. XFREE(e, heap, DYNAMIC_TYPE_ECC);
  64734. #endif
  64735. }
  64736. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  64737. if (point != NULL)
  64738. #endif
  64739. {
  64740. ForceZero(point, sizeof(sp_point_384));
  64741. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  64742. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  64743. #endif
  64744. }
  64745. return err;
  64746. }
  64747. #endif /* HAVE_ECC_SIGN */
  64748. #ifndef WOLFSSL_SP_SMALL
  64749. /* Divide the number by 2 mod the modulus. (r = a / 2 % m)
  64750. *
  64751. * r Result of division by 2.
  64752. * a Number to divide.
  64753. * m Modulus.
  64754. */
  64755. static void sp_384_div2_mod_6(sp_digit* r, const sp_digit* a,
  64756. const sp_digit* m)
  64757. {
  64758. __asm__ __volatile__ (
  64759. "ldr x3, [%[a], 0]\n\t"
  64760. "ldr x4, [%[a], 8]\n\t"
  64761. "ldr x5, [%[a], 16]\n\t"
  64762. "ldr x6, [%[a], 24]\n\t"
  64763. "ldr x7, [%[a], 32]\n\t"
  64764. "ldr x8, [%[a], 40]\n\t"
  64765. "ldr x9, [%[m], 0]\n\t"
  64766. "ldr x10, [%[m], 8]\n\t"
  64767. "ldr x11, [%[m], 16]\n\t"
  64768. "ldr x12, [%[m], 24]\n\t"
  64769. "ldr x13, [%[m], 32]\n\t"
  64770. "ldr x14, [%[m], 40]\n\t"
  64771. "ands x15, x3, 1\n\t"
  64772. "b.eq 1f\n\t"
  64773. "adds x3, x3, x9\n\t"
  64774. "adcs x4, x4, x10\n\t"
  64775. "adcs x5, x5, x11\n\t"
  64776. "adcs x6, x6, x12\n\t"
  64777. "adcs x7, x7, x13\n\t"
  64778. "adcs x8, x8, x14\n\t"
  64779. "cset x15, cs\n\t"
  64780. "\n1:\n\t"
  64781. "extr x3, x4, x3, 1\n\t"
  64782. "extr x4, x5, x4, 1\n\t"
  64783. "extr x5, x6, x5, 1\n\t"
  64784. "extr x6, x7, x6, 1\n\t"
  64785. "extr x7, x8, x7, 1\n\t"
  64786. "extr x8, x15, x8, 1\n\t"
  64787. "str x3, [%[r], 0]\n\t"
  64788. "str x4, [%[r], 8]\n\t"
  64789. "str x5, [%[r], 16]\n\t"
  64790. "str x6, [%[r], 24]\n\t"
  64791. "str x7, [%[r], 32]\n\t"
  64792. "str x8, [%[r], 40]\n\t"
  64793. :
  64794. : [r] "r" (r), [a] "r" (a), [m] "r" (m)
  64795. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15"
  64796. );
  64797. }
  64798. static int sp_384_num_bits_64_6(sp_digit n)
  64799. {
  64800. int64_t r = -1;
  64801. __asm__ __volatile__ (
  64802. "mov x1, 64\n\t"
  64803. "clz %[r], %[n]\n\t"
  64804. "sub %[r], x1, %[r]"
  64805. : [r] "+r" (r)
  64806. : [n] "r" (n)
  64807. : "x1"
  64808. );
  64809. return (int)(r + 1);
  64810. }
  64811. static int sp_384_num_bits_6(const sp_digit* a)
  64812. {
  64813. int i;
  64814. int r = 0;
  64815. for (i=5; i>=0; i--) {
  64816. if (a[i] != 0) {
  64817. r = sp_384_num_bits_64_6(a[i]);
  64818. r += i * 64;
  64819. break;
  64820. }
  64821. }
  64822. return r;
  64823. }
  64824. /* Non-constant time modular inversion.
  64825. *
  64826. * @param [out] r Resulting number.
  64827. * @param [in] a Number to invert.
  64828. * @param [in] m Modulus.
  64829. * @return MP_OKAY on success.
  64830. */
  64831. static int sp_384_mod_inv_6(sp_digit* r, const sp_digit* a, const sp_digit* m)
  64832. {
  64833. sp_digit u[6];
  64834. sp_digit v[6];
  64835. sp_digit b[6];
  64836. sp_digit d[6];
  64837. int ut, vt;
  64838. sp_digit o;
  64839. XMEMCPY(u, m, sizeof(u));
  64840. XMEMCPY(v, a, sizeof(v));
  64841. ut = sp_384_num_bits_6(u);
  64842. vt = sp_384_num_bits_6(v);
  64843. XMEMSET(b, 0, sizeof(b));
  64844. if ((v[0] & 1) == 0) {
  64845. sp_384_rshift1_6(v, v);
  64846. XMEMCPY(d, m, sizeof(u));
  64847. d[0] += 1;
  64848. sp_384_rshift1_6(d, d);
  64849. vt--;
  64850. while ((v[0] & 1) == 0) {
  64851. sp_384_rshift1_6(v, v);
  64852. sp_384_div2_mod_6(d, d, m);
  64853. vt--;
  64854. }
  64855. }
  64856. else {
  64857. XMEMSET(d+1, 0, sizeof(d)-sizeof(sp_digit));
  64858. d[0] = 1;
  64859. }
  64860. while (ut > 1 && vt > 1) {
  64861. if (ut > vt || (ut == vt && sp_384_cmp_6(u, v) >= 0)) {
  64862. sp_384_sub_6(u, u, v);
  64863. o = sp_384_sub_6(b, b, d);
  64864. if (o != 0)
  64865. sp_384_add_6(b, b, m);
  64866. ut = sp_384_num_bits_6(u);
  64867. do {
  64868. sp_384_rshift1_6(u, u);
  64869. sp_384_div2_mod_6(b, b, m);
  64870. ut--;
  64871. }
  64872. while (ut > 0 && (u[0] & 1) == 0);
  64873. }
  64874. else {
  64875. sp_384_sub_6(v, v, u);
  64876. o = sp_384_sub_6(d, d, b);
  64877. if (o != 0)
  64878. sp_384_add_6(d, d, m);
  64879. vt = sp_384_num_bits_6(v);
  64880. do {
  64881. sp_384_rshift1_6(v, v);
  64882. sp_384_div2_mod_6(d, d, m);
  64883. vt--;
  64884. }
  64885. while (vt > 0 && (v[0] & 1) == 0);
  64886. }
  64887. }
  64888. if (ut == 1)
  64889. XMEMCPY(r, b, sizeof(b));
  64890. else
  64891. XMEMCPY(r, d, sizeof(d));
  64892. return MP_OKAY;
  64893. }
  64894. #endif /* WOLFSSL_SP_SMALL */
  64895. /* Add point p1 into point p2. Handles p1 == p2 and result at infinity.
  64896. *
  64897. * p1 First point to add and holds result.
  64898. * p2 Second point to add.
  64899. * tmp Temporary storage for intermediate numbers.
  64900. */
  64901. static void sp_384_add_points_6(sp_point_384* p1, const sp_point_384* p2,
  64902. sp_digit* tmp)
  64903. {
  64904. sp_384_proj_point_add_6(p1, p1, p2, tmp);
  64905. if (sp_384_iszero_6(p1->z)) {
  64906. if (sp_384_iszero_6(p1->x) && sp_384_iszero_6(p1->y)) {
  64907. sp_384_proj_point_dbl_6(p1, p2, tmp);
  64908. }
  64909. else {
  64910. /* Y ordinate is not used from here - don't set. */
  64911. p1->x[0] = 0;
  64912. p1->x[1] = 0;
  64913. p1->x[2] = 0;
  64914. p1->x[3] = 0;
  64915. p1->x[4] = 0;
  64916. p1->x[5] = 0;
  64917. XMEMCPY(p1->z, p384_norm_mod, sizeof(p384_norm_mod));
  64918. }
  64919. }
  64920. }
  64921. /* Calculate the verification point: [e/s]G + [r/s]Q
  64922. *
  64923. * p1 Calculated point.
  64924. * p2 Public point and temporary.
  64925. * s Second part of signature as a number.
  64926. * u1 Temporary number.
  64927. * u2 Temproray number.
  64928. * heap Heap to use for allocation.
  64929. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  64930. */
  64931. static int sp_384_calc_vfy_point_6(sp_point_384* p1, sp_point_384* p2,
  64932. sp_digit* s, sp_digit* u1, sp_digit* u2, sp_digit* tmp, void* heap)
  64933. {
  64934. int err;
  64935. #ifndef WOLFSSL_SP_SMALL
  64936. err = sp_384_mod_inv_6(s, s, p384_order);
  64937. if (err == MP_OKAY)
  64938. #endif /* !WOLFSSL_SP_SMALL */
  64939. {
  64940. sp_384_mul_6(s, s, p384_norm_order);
  64941. err = sp_384_mod_6(s, s, p384_order);
  64942. }
  64943. if (err == MP_OKAY) {
  64944. sp_384_norm_6(s);
  64945. #ifdef WOLFSSL_SP_SMALL
  64946. {
  64947. sp_384_mont_inv_order_6(s, s, tmp);
  64948. sp_384_mont_mul_order_6(u1, u1, s);
  64949. sp_384_mont_mul_order_6(u2, u2, s);
  64950. }
  64951. #else
  64952. {
  64953. sp_384_mont_mul_order_6(u1, u1, s);
  64954. sp_384_mont_mul_order_6(u2, u2, s);
  64955. }
  64956. #endif /* WOLFSSL_SP_SMALL */
  64957. {
  64958. err = sp_384_ecc_mulmod_base_6(p1, u1, 0, 0, heap);
  64959. }
  64960. }
  64961. if ((err == MP_OKAY) && sp_384_iszero_6(p1->z)) {
  64962. p1->infinity = 1;
  64963. }
  64964. if (err == MP_OKAY) {
  64965. err = sp_384_ecc_mulmod_6(p2, p2, u2, 0, 0, heap);
  64966. }
  64967. if ((err == MP_OKAY) && sp_384_iszero_6(p2->z)) {
  64968. p2->infinity = 1;
  64969. }
  64970. if (err == MP_OKAY) {
  64971. sp_384_add_points_6(p1, p2, tmp);
  64972. }
  64973. return err;
  64974. }
  64975. #ifdef HAVE_ECC_VERIFY
  64976. /* Verify the signature values with the hash and public key.
  64977. * e = Truncate(hash, 384)
  64978. * u1 = e/s mod order
  64979. * u2 = r/s mod order
  64980. * r == (u1.G + u2.Q)->x mod order
  64981. * Optimization: Leave point in projective form.
  64982. * (x, y, 1) == (x' / z'*z', y' / z'*z'*z', z' / z')
  64983. * (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x'
  64984. * The hash is truncated to the first 384 bits.
  64985. *
  64986. * hash Hash to sign.
  64987. * hashLen Length of the hash data.
  64988. * rng Random number generator.
  64989. * priv Private part of key - scalar.
  64990. * rm First part of result as an mp_int.
  64991. * sm Sirst part of result as an mp_int.
  64992. * heap Heap to use for allocation.
  64993. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  64994. */
  64995. #ifdef WOLFSSL_SP_NONBLOCK
  64996. typedef struct sp_ecc_verify_384_ctx {
  64997. int state;
  64998. union {
  64999. sp_384_ecc_mulmod_6_ctx mulmod_ctx;
  65000. sp_384_mont_inv_order_6_ctx mont_inv_order_ctx;
  65001. sp_384_proj_point_dbl_6_ctx dbl_ctx;
  65002. sp_384_proj_point_add_6_ctx add_ctx;
  65003. };
  65004. sp_digit u1[2*6];
  65005. sp_digit u2[2*6];
  65006. sp_digit s[2*6];
  65007. sp_digit tmp[2*6 * 6];
  65008. sp_point_384 p1;
  65009. sp_point_384 p2;
  65010. } sp_ecc_verify_384_ctx;
  65011. int sp_ecc_verify_384_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash,
  65012. word32 hashLen, const mp_int* pX, const mp_int* pY, const mp_int* pZ,
  65013. const mp_int* rm, const mp_int* sm, int* res, void* heap)
  65014. {
  65015. int err = FP_WOULDBLOCK;
  65016. sp_ecc_verify_384_ctx* ctx = (sp_ecc_verify_384_ctx*)sp_ctx->data;
  65017. typedef char ctx_size_test[sizeof(sp_ecc_verify_384_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  65018. (void)sizeof(ctx_size_test);
  65019. switch (ctx->state) {
  65020. case 0: /* INIT */
  65021. if (hashLen > 48U) {
  65022. hashLen = 48U;
  65023. }
  65024. sp_384_from_bin(ctx->u1, 6, hash, (int)hashLen);
  65025. sp_384_from_mp(ctx->u2, 6, rm);
  65026. sp_384_from_mp(ctx->s, 6, sm);
  65027. sp_384_from_mp(ctx->p2.x, 6, pX);
  65028. sp_384_from_mp(ctx->p2.y, 6, pY);
  65029. sp_384_from_mp(ctx->p2.z, 6, pZ);
  65030. ctx->state = 1;
  65031. break;
  65032. case 1: /* NORMS0 */
  65033. sp_384_mul_6(ctx->s, ctx->s, p384_norm_order);
  65034. err = sp_384_mod_6(ctx->s, ctx->s, p384_order);
  65035. if (err == MP_OKAY)
  65036. ctx->state = 2;
  65037. break;
  65038. case 2: /* NORMS1 */
  65039. sp_384_norm_6(ctx->s);
  65040. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  65041. ctx->state = 3;
  65042. break;
  65043. case 3: /* NORMS2 */
  65044. err = sp_384_mont_inv_order_6_nb((sp_ecc_ctx_t*)&ctx->mont_inv_order_ctx, ctx->s, ctx->s, ctx->tmp);
  65045. if (err == MP_OKAY) {
  65046. ctx->state = 4;
  65047. }
  65048. break;
  65049. case 4: /* NORMS3 */
  65050. sp_384_mont_mul_order_6(ctx->u1, ctx->u1, ctx->s);
  65051. ctx->state = 5;
  65052. break;
  65053. case 5: /* NORMS4 */
  65054. sp_384_mont_mul_order_6(ctx->u2, ctx->u2, ctx->s);
  65055. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  65056. ctx->state = 6;
  65057. break;
  65058. case 6: /* MULBASE */
  65059. err = sp_384_ecc_mulmod_6_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, &ctx->p1, &p384_base, ctx->u1, 0, 0, heap);
  65060. if (err == MP_OKAY) {
  65061. if (sp_384_iszero_6(ctx->p1.z)) {
  65062. ctx->p1.infinity = 1;
  65063. }
  65064. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  65065. ctx->state = 7;
  65066. }
  65067. break;
  65068. case 7: /* MULMOD */
  65069. err = sp_384_ecc_mulmod_6_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, &ctx->p2, &ctx->p2, ctx->u2, 0, 0, heap);
  65070. if (err == MP_OKAY) {
  65071. if (sp_384_iszero_6(ctx->p2.z)) {
  65072. ctx->p2.infinity = 1;
  65073. }
  65074. XMEMSET(&ctx->add_ctx, 0, sizeof(ctx->add_ctx));
  65075. ctx->state = 8;
  65076. }
  65077. break;
  65078. case 8: /* ADD */
  65079. err = sp_384_proj_point_add_6_nb((sp_ecc_ctx_t*)&ctx->add_ctx, &ctx->p1, &ctx->p1, &ctx->p2, ctx->tmp);
  65080. if (err == MP_OKAY)
  65081. ctx->state = 9;
  65082. break;
  65083. case 9: /* MONT */
  65084. /* (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x' */
  65085. /* Reload r and convert to Montgomery form. */
  65086. sp_384_from_mp(ctx->u2, 6, rm);
  65087. err = sp_384_mod_mul_norm_6(ctx->u2, ctx->u2, p384_mod);
  65088. if (err == MP_OKAY)
  65089. ctx->state = 10;
  65090. break;
  65091. case 10: /* SQR */
  65092. /* u1 = r.z'.z' mod prime */
  65093. sp_384_mont_sqr_6(ctx->p1.z, ctx->p1.z, p384_mod, p384_mp_mod);
  65094. ctx->state = 11;
  65095. break;
  65096. case 11: /* MUL */
  65097. sp_384_mont_mul_6(ctx->u1, ctx->u2, ctx->p1.z, p384_mod, p384_mp_mod);
  65098. ctx->state = 12;
  65099. break;
  65100. case 12: /* RES */
  65101. {
  65102. sp_int64 c = 0;
  65103. err = MP_OKAY; /* math okay, now check result */
  65104. *res = (int)(sp_384_cmp_6(ctx->p1.x, ctx->u1) == 0);
  65105. if (*res == 0) {
  65106. sp_digit carry;
  65107. /* Reload r and add order. */
  65108. sp_384_from_mp(ctx->u2, 6, rm);
  65109. carry = sp_384_add_6(ctx->u2, ctx->u2, p384_order);
  65110. /* Carry means result is greater than mod and is not valid. */
  65111. if (carry == 0) {
  65112. sp_384_norm_6(ctx->u2);
  65113. /* Compare with mod and if greater or equal then not valid. */
  65114. c = sp_384_cmp_6(ctx->u2, p384_mod);
  65115. }
  65116. }
  65117. if ((*res == 0) && (c < 0)) {
  65118. /* Convert to Montogomery form */
  65119. err = sp_384_mod_mul_norm_6(ctx->u2, ctx->u2, p384_mod);
  65120. if (err == MP_OKAY) {
  65121. /* u1 = (r + 1*order).z'.z' mod prime */
  65122. sp_384_mont_mul_6(ctx->u1, ctx->u2, ctx->p1.z, p384_mod,
  65123. p384_mp_mod);
  65124. *res = (int)(sp_384_cmp_6(ctx->p1.x, ctx->u1) == 0);
  65125. }
  65126. }
  65127. break;
  65128. }
  65129. } /* switch */
  65130. if (err == MP_OKAY && ctx->state != 12) {
  65131. err = FP_WOULDBLOCK;
  65132. }
  65133. return err;
  65134. }
  65135. #endif /* WOLFSSL_SP_NONBLOCK */
  65136. int sp_ecc_verify_384(const byte* hash, word32 hashLen, const mp_int* pX,
  65137. const mp_int* pY, const mp_int* pZ, const mp_int* rm, const mp_int* sm,
  65138. int* res, void* heap)
  65139. {
  65140. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65141. sp_digit* u1 = NULL;
  65142. sp_point_384* p1 = NULL;
  65143. #else
  65144. sp_digit u1[18 * 6];
  65145. sp_point_384 p1[2];
  65146. #endif
  65147. sp_digit* u2 = NULL;
  65148. sp_digit* s = NULL;
  65149. sp_digit* tmp = NULL;
  65150. sp_point_384* p2 = NULL;
  65151. sp_digit carry;
  65152. sp_int64 c = 0;
  65153. int err = MP_OKAY;
  65154. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65155. if (err == MP_OKAY) {
  65156. p1 = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  65157. DYNAMIC_TYPE_ECC);
  65158. if (p1 == NULL)
  65159. err = MEMORY_E;
  65160. }
  65161. if (err == MP_OKAY) {
  65162. u1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 18 * 6, heap,
  65163. DYNAMIC_TYPE_ECC);
  65164. if (u1 == NULL)
  65165. err = MEMORY_E;
  65166. }
  65167. #endif
  65168. if (err == MP_OKAY) {
  65169. u2 = u1 + 2 * 6;
  65170. s = u1 + 4 * 6;
  65171. tmp = u1 + 6 * 6;
  65172. p2 = p1 + 1;
  65173. if (hashLen > 48U) {
  65174. hashLen = 48U;
  65175. }
  65176. sp_384_from_bin(u1, 6, hash, (int)hashLen);
  65177. sp_384_from_mp(u2, 6, rm);
  65178. sp_384_from_mp(s, 6, sm);
  65179. sp_384_from_mp(p2->x, 6, pX);
  65180. sp_384_from_mp(p2->y, 6, pY);
  65181. sp_384_from_mp(p2->z, 6, pZ);
  65182. err = sp_384_calc_vfy_point_6(p1, p2, s, u1, u2, tmp, heap);
  65183. }
  65184. if (err == MP_OKAY) {
  65185. /* (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x' */
  65186. /* Reload r and convert to Montgomery form. */
  65187. sp_384_from_mp(u2, 6, rm);
  65188. err = sp_384_mod_mul_norm_6(u2, u2, p384_mod);
  65189. }
  65190. if (err == MP_OKAY) {
  65191. /* u1 = r.z'.z' mod prime */
  65192. sp_384_mont_sqr_6(p1->z, p1->z, p384_mod, p384_mp_mod);
  65193. sp_384_mont_mul_6(u1, u2, p1->z, p384_mod, p384_mp_mod);
  65194. *res = (int)(sp_384_cmp_6(p1->x, u1) == 0);
  65195. if (*res == 0) {
  65196. /* Reload r and add order. */
  65197. sp_384_from_mp(u2, 6, rm);
  65198. carry = sp_384_add_6(u2, u2, p384_order);
  65199. /* Carry means result is greater than mod and is not valid. */
  65200. if (carry == 0) {
  65201. sp_384_norm_6(u2);
  65202. /* Compare with mod and if greater or equal then not valid. */
  65203. c = sp_384_cmp_6(u2, p384_mod);
  65204. }
  65205. }
  65206. if ((*res == 0) && (c < 0)) {
  65207. /* Convert to Montogomery form */
  65208. err = sp_384_mod_mul_norm_6(u2, u2, p384_mod);
  65209. if (err == MP_OKAY) {
  65210. /* u1 = (r + 1*order).z'.z' mod prime */
  65211. {
  65212. sp_384_mont_mul_6(u1, u2, p1->z, p384_mod, p384_mp_mod);
  65213. }
  65214. *res = (sp_384_cmp_6(p1->x, u1) == 0);
  65215. }
  65216. }
  65217. }
  65218. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65219. if (u1 != NULL)
  65220. XFREE(u1, heap, DYNAMIC_TYPE_ECC);
  65221. if (p1 != NULL)
  65222. XFREE(p1, heap, DYNAMIC_TYPE_ECC);
  65223. #endif
  65224. return err;
  65225. }
  65226. #endif /* HAVE_ECC_VERIFY */
  65227. #ifdef HAVE_ECC_CHECK_KEY
  65228. /* Check that the x and y oridinates are a valid point on the curve.
  65229. *
  65230. * point EC point.
  65231. * heap Heap to use if dynamically allocating.
  65232. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  65233. * not on the curve and MP_OKAY otherwise.
  65234. */
  65235. static int sp_384_ecc_is_point_6(const sp_point_384* point,
  65236. void* heap)
  65237. {
  65238. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65239. sp_digit* t1 = NULL;
  65240. #else
  65241. sp_digit t1[6 * 4];
  65242. #endif
  65243. sp_digit* t2 = NULL;
  65244. int err = MP_OKAY;
  65245. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65246. t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6 * 4, heap, DYNAMIC_TYPE_ECC);
  65247. if (t1 == NULL)
  65248. err = MEMORY_E;
  65249. #endif
  65250. (void)heap;
  65251. if (err == MP_OKAY) {
  65252. t2 = t1 + 2 * 6;
  65253. sp_384_sqr_6(t1, point->y);
  65254. (void)sp_384_mod_6(t1, t1, p384_mod);
  65255. sp_384_sqr_6(t2, point->x);
  65256. (void)sp_384_mod_6(t2, t2, p384_mod);
  65257. sp_384_mul_6(t2, t2, point->x);
  65258. (void)sp_384_mod_6(t2, t2, p384_mod);
  65259. (void)sp_384_sub_6(t2, p384_mod, t2);
  65260. sp_384_mont_add_6(t1, t1, t2, p384_mod);
  65261. sp_384_mont_add_6(t1, t1, point->x, p384_mod);
  65262. sp_384_mont_add_6(t1, t1, point->x, p384_mod);
  65263. sp_384_mont_add_6(t1, t1, point->x, p384_mod);
  65264. if (sp_384_cmp_6(t1, p384_b) != 0) {
  65265. err = MP_VAL;
  65266. }
  65267. }
  65268. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65269. if (t1 != NULL)
  65270. XFREE(t1, heap, DYNAMIC_TYPE_ECC);
  65271. #endif
  65272. return err;
  65273. }
  65274. /* Check that the x and y oridinates are a valid point on the curve.
  65275. *
  65276. * pX X ordinate of EC point.
  65277. * pY Y ordinate of EC point.
  65278. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  65279. * not on the curve and MP_OKAY otherwise.
  65280. */
  65281. int sp_ecc_is_point_384(const mp_int* pX, const mp_int* pY)
  65282. {
  65283. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65284. sp_point_384* pub = NULL;
  65285. #else
  65286. sp_point_384 pub[1];
  65287. #endif
  65288. const byte one[1] = { 1 };
  65289. int err = MP_OKAY;
  65290. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65291. pub = (sp_point_384*)XMALLOC(sizeof(sp_point_384), NULL,
  65292. DYNAMIC_TYPE_ECC);
  65293. if (pub == NULL)
  65294. err = MEMORY_E;
  65295. #endif
  65296. if (err == MP_OKAY) {
  65297. sp_384_from_mp(pub->x, 6, pX);
  65298. sp_384_from_mp(pub->y, 6, pY);
  65299. sp_384_from_bin(pub->z, 6, one, (int)sizeof(one));
  65300. err = sp_384_ecc_is_point_6(pub, NULL);
  65301. }
  65302. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65303. if (pub != NULL)
  65304. XFREE(pub, NULL, DYNAMIC_TYPE_ECC);
  65305. #endif
  65306. return err;
  65307. }
  65308. /* Check that the private scalar generates the EC point (px, py), the point is
  65309. * on the curve and the point has the correct order.
  65310. *
  65311. * pX X ordinate of EC point.
  65312. * pY Y ordinate of EC point.
  65313. * privm Private scalar that generates EC point.
  65314. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  65315. * not on the curve, ECC_INF_E if the point does not have the correct order,
  65316. * ECC_PRIV_KEY_E when the private scalar doesn't generate the EC point and
  65317. * MP_OKAY otherwise.
  65318. */
  65319. int sp_ecc_check_key_384(const mp_int* pX, const mp_int* pY,
  65320. const mp_int* privm, void* heap)
  65321. {
  65322. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65323. sp_digit* priv = NULL;
  65324. sp_point_384* pub = NULL;
  65325. #else
  65326. sp_digit priv[6];
  65327. sp_point_384 pub[2];
  65328. #endif
  65329. sp_point_384* p = NULL;
  65330. const byte one[1] = { 1 };
  65331. int err = MP_OKAY;
  65332. /* Quick check the lengs of public key ordinates and private key are in
  65333. * range. Proper check later.
  65334. */
  65335. if (((mp_count_bits(pX) > 384) ||
  65336. (mp_count_bits(pY) > 384) ||
  65337. ((privm != NULL) && (mp_count_bits(privm) > 384)))) {
  65338. err = ECC_OUT_OF_RANGE_E;
  65339. }
  65340. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65341. if (err == MP_OKAY) {
  65342. pub = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, heap,
  65343. DYNAMIC_TYPE_ECC);
  65344. if (pub == NULL)
  65345. err = MEMORY_E;
  65346. }
  65347. if (err == MP_OKAY && privm) {
  65348. priv = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6, heap,
  65349. DYNAMIC_TYPE_ECC);
  65350. if (priv == NULL)
  65351. err = MEMORY_E;
  65352. }
  65353. #endif
  65354. if (err == MP_OKAY) {
  65355. p = pub + 1;
  65356. sp_384_from_mp(pub->x, 6, pX);
  65357. sp_384_from_mp(pub->y, 6, pY);
  65358. sp_384_from_bin(pub->z, 6, one, (int)sizeof(one));
  65359. if (privm)
  65360. sp_384_from_mp(priv, 6, privm);
  65361. /* Check point at infinitiy. */
  65362. if ((sp_384_iszero_6(pub->x) != 0) &&
  65363. (sp_384_iszero_6(pub->y) != 0)) {
  65364. err = ECC_INF_E;
  65365. }
  65366. }
  65367. /* Check range of X and Y */
  65368. if ((err == MP_OKAY) &&
  65369. ((sp_384_cmp_6(pub->x, p384_mod) >= 0) ||
  65370. (sp_384_cmp_6(pub->y, p384_mod) >= 0))) {
  65371. err = ECC_OUT_OF_RANGE_E;
  65372. }
  65373. if (err == MP_OKAY) {
  65374. /* Check point is on curve */
  65375. err = sp_384_ecc_is_point_6(pub, heap);
  65376. }
  65377. if (err == MP_OKAY) {
  65378. /* Point * order = infinity */
  65379. err = sp_384_ecc_mulmod_6(p, pub, p384_order, 1, 1, heap);
  65380. }
  65381. /* Check result is infinity */
  65382. if ((err == MP_OKAY) && ((sp_384_iszero_6(p->x) == 0) ||
  65383. (sp_384_iszero_6(p->y) == 0))) {
  65384. err = ECC_INF_E;
  65385. }
  65386. if (privm) {
  65387. if (err == MP_OKAY) {
  65388. /* Base * private = point */
  65389. err = sp_384_ecc_mulmod_base_6(p, priv, 1, 1, heap);
  65390. }
  65391. /* Check result is public key */
  65392. if ((err == MP_OKAY) &&
  65393. ((sp_384_cmp_6(p->x, pub->x) != 0) ||
  65394. (sp_384_cmp_6(p->y, pub->y) != 0))) {
  65395. err = ECC_PRIV_KEY_E;
  65396. }
  65397. }
  65398. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65399. if (pub != NULL)
  65400. XFREE(pub, heap, DYNAMIC_TYPE_ECC);
  65401. if (priv != NULL)
  65402. XFREE(priv, heap, DYNAMIC_TYPE_ECC);
  65403. #endif
  65404. return err;
  65405. }
  65406. #endif
  65407. #ifdef WOLFSSL_PUBLIC_ECC_ADD_DBL
  65408. /* Add two projective EC points together.
  65409. * (pX, pY, pZ) + (qX, qY, qZ) = (rX, rY, rZ)
  65410. *
  65411. * pX First EC point's X ordinate.
  65412. * pY First EC point's Y ordinate.
  65413. * pZ First EC point's Z ordinate.
  65414. * qX Second EC point's X ordinate.
  65415. * qY Second EC point's Y ordinate.
  65416. * qZ Second EC point's Z ordinate.
  65417. * rX Resultant EC point's X ordinate.
  65418. * rY Resultant EC point's Y ordinate.
  65419. * rZ Resultant EC point's Z ordinate.
  65420. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  65421. */
  65422. int sp_ecc_proj_add_point_384(mp_int* pX, mp_int* pY, mp_int* pZ,
  65423. mp_int* qX, mp_int* qY, mp_int* qZ,
  65424. mp_int* rX, mp_int* rY, mp_int* rZ)
  65425. {
  65426. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65427. sp_digit* tmp = NULL;
  65428. sp_point_384* p = NULL;
  65429. #else
  65430. sp_digit tmp[2 * 6 * 6];
  65431. sp_point_384 p[2];
  65432. #endif
  65433. sp_point_384* q = NULL;
  65434. int err = MP_OKAY;
  65435. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65436. if (err == MP_OKAY) {
  65437. p = (sp_point_384*)XMALLOC(sizeof(sp_point_384) * 2, NULL,
  65438. DYNAMIC_TYPE_ECC);
  65439. if (p == NULL)
  65440. err = MEMORY_E;
  65441. }
  65442. if (err == MP_OKAY) {
  65443. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6, NULL,
  65444. DYNAMIC_TYPE_ECC);
  65445. if (tmp == NULL) {
  65446. err = MEMORY_E;
  65447. }
  65448. }
  65449. #endif
  65450. if (err == MP_OKAY) {
  65451. q = p + 1;
  65452. sp_384_from_mp(p->x, 6, pX);
  65453. sp_384_from_mp(p->y, 6, pY);
  65454. sp_384_from_mp(p->z, 6, pZ);
  65455. sp_384_from_mp(q->x, 6, qX);
  65456. sp_384_from_mp(q->y, 6, qY);
  65457. sp_384_from_mp(q->z, 6, qZ);
  65458. p->infinity = sp_384_iszero_6(p->x) &
  65459. sp_384_iszero_6(p->y);
  65460. q->infinity = sp_384_iszero_6(q->x) &
  65461. sp_384_iszero_6(q->y);
  65462. sp_384_proj_point_add_6(p, p, q, tmp);
  65463. }
  65464. if (err == MP_OKAY) {
  65465. err = sp_384_to_mp(p->x, rX);
  65466. }
  65467. if (err == MP_OKAY) {
  65468. err = sp_384_to_mp(p->y, rY);
  65469. }
  65470. if (err == MP_OKAY) {
  65471. err = sp_384_to_mp(p->z, rZ);
  65472. }
  65473. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65474. if (tmp != NULL)
  65475. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  65476. if (p != NULL)
  65477. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  65478. #endif
  65479. return err;
  65480. }
  65481. /* Double a projective EC point.
  65482. * (pX, pY, pZ) + (pX, pY, pZ) = (rX, rY, rZ)
  65483. *
  65484. * pX EC point's X ordinate.
  65485. * pY EC point's Y ordinate.
  65486. * pZ EC point's Z ordinate.
  65487. * rX Resultant EC point's X ordinate.
  65488. * rY Resultant EC point's Y ordinate.
  65489. * rZ Resultant EC point's Z ordinate.
  65490. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  65491. */
  65492. int sp_ecc_proj_dbl_point_384(mp_int* pX, mp_int* pY, mp_int* pZ,
  65493. mp_int* rX, mp_int* rY, mp_int* rZ)
  65494. {
  65495. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65496. sp_digit* tmp = NULL;
  65497. sp_point_384* p = NULL;
  65498. #else
  65499. sp_digit tmp[2 * 6 * 2];
  65500. sp_point_384 p[1];
  65501. #endif
  65502. int err = MP_OKAY;
  65503. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65504. if (err == MP_OKAY) {
  65505. p = (sp_point_384*)XMALLOC(sizeof(sp_point_384), NULL,
  65506. DYNAMIC_TYPE_ECC);
  65507. if (p == NULL)
  65508. err = MEMORY_E;
  65509. }
  65510. if (err == MP_OKAY) {
  65511. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 2, NULL,
  65512. DYNAMIC_TYPE_ECC);
  65513. if (tmp == NULL)
  65514. err = MEMORY_E;
  65515. }
  65516. #endif
  65517. if (err == MP_OKAY) {
  65518. sp_384_from_mp(p->x, 6, pX);
  65519. sp_384_from_mp(p->y, 6, pY);
  65520. sp_384_from_mp(p->z, 6, pZ);
  65521. p->infinity = sp_384_iszero_6(p->x) &
  65522. sp_384_iszero_6(p->y);
  65523. sp_384_proj_point_dbl_6(p, p, tmp);
  65524. }
  65525. if (err == MP_OKAY) {
  65526. err = sp_384_to_mp(p->x, rX);
  65527. }
  65528. if (err == MP_OKAY) {
  65529. err = sp_384_to_mp(p->y, rY);
  65530. }
  65531. if (err == MP_OKAY) {
  65532. err = sp_384_to_mp(p->z, rZ);
  65533. }
  65534. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65535. if (tmp != NULL)
  65536. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  65537. if (p != NULL)
  65538. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  65539. #endif
  65540. return err;
  65541. }
  65542. /* Map a projective EC point to affine in place.
  65543. * pZ will be one.
  65544. *
  65545. * pX EC point's X ordinate.
  65546. * pY EC point's Y ordinate.
  65547. * pZ EC point's Z ordinate.
  65548. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  65549. */
  65550. int sp_ecc_map_384(mp_int* pX, mp_int* pY, mp_int* pZ)
  65551. {
  65552. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65553. sp_digit* tmp = NULL;
  65554. sp_point_384* p = NULL;
  65555. #else
  65556. sp_digit tmp[2 * 6 * 6];
  65557. sp_point_384 p[1];
  65558. #endif
  65559. int err = MP_OKAY;
  65560. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65561. if (err == MP_OKAY) {
  65562. p = (sp_point_384*)XMALLOC(sizeof(sp_point_384), NULL,
  65563. DYNAMIC_TYPE_ECC);
  65564. if (p == NULL)
  65565. err = MEMORY_E;
  65566. }
  65567. if (err == MP_OKAY) {
  65568. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 6 * 6, NULL,
  65569. DYNAMIC_TYPE_ECC);
  65570. if (tmp == NULL)
  65571. err = MEMORY_E;
  65572. }
  65573. #endif
  65574. if (err == MP_OKAY) {
  65575. sp_384_from_mp(p->x, 6, pX);
  65576. sp_384_from_mp(p->y, 6, pY);
  65577. sp_384_from_mp(p->z, 6, pZ);
  65578. p->infinity = sp_384_iszero_6(p->x) &
  65579. sp_384_iszero_6(p->y);
  65580. sp_384_map_6(p, p, tmp);
  65581. }
  65582. if (err == MP_OKAY) {
  65583. err = sp_384_to_mp(p->x, pX);
  65584. }
  65585. if (err == MP_OKAY) {
  65586. err = sp_384_to_mp(p->y, pY);
  65587. }
  65588. if (err == MP_OKAY) {
  65589. err = sp_384_to_mp(p->z, pZ);
  65590. }
  65591. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65592. if (tmp != NULL)
  65593. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  65594. if (p != NULL)
  65595. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  65596. #endif
  65597. return err;
  65598. }
  65599. #endif /* WOLFSSL_PUBLIC_ECC_ADD_DBL */
  65600. #ifdef HAVE_COMP_KEY
  65601. /* Find the square root of a number mod the prime of the curve.
  65602. *
  65603. * y The number to operate on and the result.
  65604. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  65605. */
  65606. static int sp_384_mont_sqrt_6(sp_digit* y)
  65607. {
  65608. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65609. sp_digit* t1 = NULL;
  65610. #else
  65611. sp_digit t1[5 * 2 * 6];
  65612. #endif
  65613. sp_digit* t2 = NULL;
  65614. sp_digit* t3 = NULL;
  65615. sp_digit* t4 = NULL;
  65616. sp_digit* t5 = NULL;
  65617. int err = MP_OKAY;
  65618. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65619. t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 5 * 2 * 6, NULL, DYNAMIC_TYPE_ECC);
  65620. if (t1 == NULL)
  65621. err = MEMORY_E;
  65622. #endif
  65623. if (err == MP_OKAY) {
  65624. t2 = t1 + 2 * 6;
  65625. t3 = t1 + 4 * 6;
  65626. t4 = t1 + 6 * 6;
  65627. t5 = t1 + 8 * 6;
  65628. {
  65629. /* t2 = y ^ 0x2 */
  65630. sp_384_mont_sqr_6(t2, y, p384_mod, p384_mp_mod);
  65631. /* t1 = y ^ 0x3 */
  65632. sp_384_mont_mul_6(t1, t2, y, p384_mod, p384_mp_mod);
  65633. /* t5 = y ^ 0xc */
  65634. sp_384_mont_sqr_n_6(t5, t1, 2, p384_mod, p384_mp_mod);
  65635. /* t1 = y ^ 0xf */
  65636. sp_384_mont_mul_6(t1, t1, t5, p384_mod, p384_mp_mod);
  65637. /* t2 = y ^ 0x1e */
  65638. sp_384_mont_sqr_6(t2, t1, p384_mod, p384_mp_mod);
  65639. /* t3 = y ^ 0x1f */
  65640. sp_384_mont_mul_6(t3, t2, y, p384_mod, p384_mp_mod);
  65641. /* t2 = y ^ 0x3e0 */
  65642. sp_384_mont_sqr_n_6(t2, t3, 5, p384_mod, p384_mp_mod);
  65643. /* t1 = y ^ 0x3ff */
  65644. sp_384_mont_mul_6(t1, t3, t2, p384_mod, p384_mp_mod);
  65645. /* t2 = y ^ 0x7fe0 */
  65646. sp_384_mont_sqr_n_6(t2, t1, 5, p384_mod, p384_mp_mod);
  65647. /* t3 = y ^ 0x7fff */
  65648. sp_384_mont_mul_6(t3, t3, t2, p384_mod, p384_mp_mod);
  65649. /* t2 = y ^ 0x3fff800 */
  65650. sp_384_mont_sqr_n_6(t2, t3, 15, p384_mod, p384_mp_mod);
  65651. /* t4 = y ^ 0x3ffffff */
  65652. sp_384_mont_mul_6(t4, t3, t2, p384_mod, p384_mp_mod);
  65653. /* t2 = y ^ 0xffffffc000000 */
  65654. sp_384_mont_sqr_n_6(t2, t4, 30, p384_mod, p384_mp_mod);
  65655. /* t1 = y ^ 0xfffffffffffff */
  65656. sp_384_mont_mul_6(t1, t4, t2, p384_mod, p384_mp_mod);
  65657. /* t2 = y ^ 0xfffffffffffffff000000000000000 */
  65658. sp_384_mont_sqr_n_6(t2, t1, 60, p384_mod, p384_mp_mod);
  65659. /* t1 = y ^ 0xffffffffffffffffffffffffffffff */
  65660. sp_384_mont_mul_6(t1, t1, t2, p384_mod, p384_mp_mod);
  65661. /* t2 = y ^ 0xffffffffffffffffffffffffffffff000000000000000000000000000000 */
  65662. sp_384_mont_sqr_n_6(t2, t1, 120, p384_mod, p384_mp_mod);
  65663. /* t1 = y ^ 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  65664. sp_384_mont_mul_6(t1, t1, t2, p384_mod, p384_mp_mod);
  65665. /* t2 = y ^ 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000 */
  65666. sp_384_mont_sqr_n_6(t2, t1, 15, p384_mod, p384_mp_mod);
  65667. /* t1 = y ^ 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  65668. sp_384_mont_mul_6(t1, t3, t2, p384_mod, p384_mp_mod);
  65669. /* t2 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000 */
  65670. sp_384_mont_sqr_n_6(t2, t1, 31, p384_mod, p384_mp_mod);
  65671. /* t1 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffff */
  65672. sp_384_mont_mul_6(t1, t4, t2, p384_mod, p384_mp_mod);
  65673. /* t2 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffff0 */
  65674. sp_384_mont_sqr_n_6(t2, t1, 4, p384_mod, p384_mp_mod);
  65675. /* t1 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffffc */
  65676. sp_384_mont_mul_6(t1, t5, t2, p384_mod, p384_mp_mod);
  65677. /* t2 = y ^ 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000 */
  65678. sp_384_mont_sqr_n_6(t2, t1, 62, p384_mod, p384_mp_mod);
  65679. /* t1 = y ^ 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001 */
  65680. sp_384_mont_mul_6(t1, y, t2, p384_mod, p384_mp_mod);
  65681. /* t2 = y ^ 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffffc00000000000000040000000 */
  65682. sp_384_mont_sqr_n_6(y, t1, 30, p384_mod, p384_mp_mod);
  65683. }
  65684. }
  65685. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65686. if (t1 != NULL)
  65687. XFREE(t1, NULL, DYNAMIC_TYPE_ECC);
  65688. #endif
  65689. return err;
  65690. }
  65691. /* Uncompress the point given the X ordinate.
  65692. *
  65693. * xm X ordinate.
  65694. * odd Whether the Y ordinate is odd.
  65695. * ym Calculated Y ordinate.
  65696. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  65697. */
  65698. int sp_ecc_uncompress_384(mp_int* xm, int odd, mp_int* ym)
  65699. {
  65700. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65701. sp_digit* x = NULL;
  65702. #else
  65703. sp_digit x[4 * 6];
  65704. #endif
  65705. sp_digit* y = NULL;
  65706. int err = MP_OKAY;
  65707. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65708. x = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 6, NULL, DYNAMIC_TYPE_ECC);
  65709. if (x == NULL)
  65710. err = MEMORY_E;
  65711. #endif
  65712. if (err == MP_OKAY) {
  65713. y = x + 2 * 6;
  65714. sp_384_from_mp(x, 6, xm);
  65715. err = sp_384_mod_mul_norm_6(x, x, p384_mod);
  65716. }
  65717. if (err == MP_OKAY) {
  65718. /* y = x^3 */
  65719. {
  65720. sp_384_mont_sqr_6(y, x, p384_mod, p384_mp_mod);
  65721. sp_384_mont_mul_6(y, y, x, p384_mod, p384_mp_mod);
  65722. }
  65723. /* y = x^3 - 3x */
  65724. sp_384_mont_sub_6(y, y, x, p384_mod);
  65725. sp_384_mont_sub_6(y, y, x, p384_mod);
  65726. sp_384_mont_sub_6(y, y, x, p384_mod);
  65727. /* y = x^3 - 3x + b */
  65728. err = sp_384_mod_mul_norm_6(x, p384_b, p384_mod);
  65729. }
  65730. if (err == MP_OKAY) {
  65731. sp_384_mont_add_6(y, y, x, p384_mod);
  65732. /* y = sqrt(x^3 - 3x + b) */
  65733. err = sp_384_mont_sqrt_6(y);
  65734. }
  65735. if (err == MP_OKAY) {
  65736. XMEMSET(y + 6, 0, 6U * sizeof(sp_digit));
  65737. sp_384_mont_reduce_6(y, p384_mod, p384_mp_mod);
  65738. if ((((word32)y[0] ^ (word32)odd) & 1U) != 0U) {
  65739. sp_384_mont_sub_6(y, p384_mod, y, p384_mod);
  65740. }
  65741. err = sp_384_to_mp(y, ym);
  65742. }
  65743. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  65744. if (x != NULL)
  65745. XFREE(x, NULL, DYNAMIC_TYPE_ECC);
  65746. #endif
  65747. return err;
  65748. }
  65749. #endif
  65750. #endif /* WOLFSSL_SP_384 */
  65751. #ifdef WOLFSSL_SP_521
  65752. /* Point structure to use. */
  65753. typedef struct sp_point_521 {
  65754. /* X ordinate of point. */
  65755. sp_digit x[2 * 9];
  65756. /* Y ordinate of point. */
  65757. sp_digit y[2 * 9];
  65758. /* Z ordinate of point. */
  65759. sp_digit z[2 * 9];
  65760. /* Indicates point is at infinity. */
  65761. int infinity;
  65762. } sp_point_521;
  65763. /* The modulus (prime) of the curve P521. */
  65764. static const sp_digit p521_mod[9] = {
  65765. 0xffffffffffffffffL,0xffffffffffffffffL,0xffffffffffffffffL,
  65766. 0xffffffffffffffffL,0xffffffffffffffffL,0xffffffffffffffffL,
  65767. 0xffffffffffffffffL,0xffffffffffffffffL,0x00000000000001ffL
  65768. };
  65769. /* The Montgomery normalizer for modulus of the curve P521. */
  65770. static const sp_digit p521_norm_mod[9] = {
  65771. 0x0000000000000001L,0x0000000000000000L,0x0000000000000000L,
  65772. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  65773. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L
  65774. };
  65775. /* The Montgomery multiplier for modulus of the curve P521. */
  65776. static sp_digit p521_mp_mod = 0x0000000000000001;
  65777. #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \
  65778. defined(HAVE_ECC_VERIFY)
  65779. /* The order of the curve P521. */
  65780. static const sp_digit p521_order[9] = {
  65781. 0xbb6fb71e91386409L,0x3bb5c9b8899c47aeL,0x7fcc0148f709a5d0L,
  65782. 0x51868783bf2f966bL,0xfffffffffffffffaL,0xffffffffffffffffL,
  65783. 0xffffffffffffffffL,0xffffffffffffffffL,0x00000000000001ffL
  65784. };
  65785. #endif
  65786. /* The order of the curve P521 minus 2. */
  65787. static const sp_digit p521_order2[9] = {
  65788. 0xbb6fb71e91386407L,0x3bb5c9b8899c47aeL,0x7fcc0148f709a5d0L,
  65789. 0x51868783bf2f966bL,0xfffffffffffffffaL,0xffffffffffffffffL,
  65790. 0xffffffffffffffffL,0xffffffffffffffffL,0x00000000000001ffL
  65791. };
  65792. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  65793. /* The Montgomery normalizer for order of the curve P521. */
  65794. static const sp_digit p521_norm_order[9] = {
  65795. 0x449048e16ec79bf7L,0xc44a36477663b851L,0x8033feb708f65a2fL,
  65796. 0xae79787c40d06994L,0x0000000000000005L,0x0000000000000000L,
  65797. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L
  65798. };
  65799. #endif
  65800. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  65801. /* The Montgomery multiplier for order of the curve P521. */
  65802. static sp_digit p521_mp_order = 0x1d2f5ccd79a995c7L;
  65803. #endif
  65804. #ifdef WOLFSSL_SP_SMALL
  65805. /* The base point of curve P521. */
  65806. static const sp_point_521 p521_base = {
  65807. /* X ordinate */
  65808. {
  65809. 0xf97e7e31c2e5bd66L,0x3348b3c1856a429bL,0xfe1dc127a2ffa8deL,
  65810. 0xa14b5e77efe75928L,0xf828af606b4d3dbaL,0x9c648139053fb521L,
  65811. 0x9e3ecb662395b442L,0x858e06b70404e9cdL,0x00000000000000c6L,
  65812. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  65813. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0
  65814. },
  65815. /* Y ordinate */
  65816. {
  65817. 0x88be94769fd16650L,0x353c7086a272c240L,0xc550b9013fad0761L,
  65818. 0x97ee72995ef42640L,0x17afbd17273e662cL,0x98f54449579b4468L,
  65819. 0x5c8a5fb42c7d1bd9L,0x39296a789a3bc004L,0x0000000000000118L,
  65820. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  65821. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0
  65822. },
  65823. /* Z ordinate */
  65824. {
  65825. 0x0000000000000001L,0x0000000000000000L,0x0000000000000000L,
  65826. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  65827. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  65828. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  65829. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0
  65830. },
  65831. /* infinity */
  65832. 0
  65833. };
  65834. #endif /* WOLFSSL_SP_SMALL */
  65835. #if defined(HAVE_ECC_CHECK_KEY) || defined(HAVE_COMP_KEY)
  65836. static const sp_digit p521_b[9] = {
  65837. 0xef451fd46b503f00L,0x3573df883d2c34f1L,0x1652c0bd3bb1bf07L,
  65838. 0x56193951ec7e937bL,0xb8b489918ef109e1L,0xa2da725b99b315f3L,
  65839. 0x929a21a0b68540eeL,0x953eb9618e1c9a1fL,0x0000000000000051L
  65840. };
  65841. #endif
  65842. #ifdef WOLFSSL_SP_SMALL
  65843. /* Multiply a and b into r. (r = a * b)
  65844. *
  65845. * r A single precision integer.
  65846. * a A single precision integer.
  65847. * b A single precision integer.
  65848. */
  65849. static void sp_521_mul_9(sp_digit* r, const sp_digit* a, const sp_digit* b)
  65850. {
  65851. sp_digit tmp[18];
  65852. __asm__ __volatile__ (
  65853. "mov x5, xzr\n\t"
  65854. "mov x6, xzr\n\t"
  65855. "mov x7, xzr\n\t"
  65856. "mov x8, xzr\n\t"
  65857. "\n1:\n\t"
  65858. "subs x3, x5, 64\n\t"
  65859. "csel x3, xzr, x3, cc\n\t"
  65860. "sub x4, x5, x3\n\t"
  65861. "\n2:\n\t"
  65862. "ldr x10, [%[a], x3]\n\t"
  65863. "ldr x11, [%[b], x4]\n\t"
  65864. "mul x9, x10, x11\n\t"
  65865. "umulh x10, x10, x11\n\t"
  65866. "adds x6, x6, x9\n\t"
  65867. "adcs x7, x7, x10\n\t"
  65868. "adc x8, x8, xzr\n\t"
  65869. "add x3, x3, #8\n\t"
  65870. "sub x4, x4, #8\n\t"
  65871. "cmp x3, 72\n\t"
  65872. "b.eq 3f\n\t"
  65873. "cmp x3, x5\n\t"
  65874. "b.le 2b\n\t"
  65875. "\n3:\n\t"
  65876. "str x6, [%[r], x5]\n\t"
  65877. "mov x6, x7\n\t"
  65878. "mov x7, x8\n\t"
  65879. "mov x8, #0\n\t"
  65880. "add x5, x5, #8\n\t"
  65881. "cmp x5, 128\n\t"
  65882. "b.le 1b\n\t"
  65883. "str x6, [%[r], x5]\n\t"
  65884. :
  65885. : [r] "r" (tmp), [a] "r" (a), [b] "r" (b)
  65886. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  65887. );
  65888. XMEMCPY(r, tmp, sizeof(tmp));
  65889. }
  65890. #else
  65891. /* Multiply a and b into r. (r = a * b)
  65892. *
  65893. * r A single precision integer.
  65894. * a A single precision integer.
  65895. * b A single precision integer.
  65896. */
  65897. static void sp_521_mul_9(sp_digit* r, const sp_digit* a, const sp_digit* b)
  65898. {
  65899. __asm__ __volatile__ (
  65900. "ldp x8, x9, [%[a], 0]\n\t"
  65901. "ldp x10, x11, [%[a], 16]\n\t"
  65902. "ldp x12, x13, [%[a], 32]\n\t"
  65903. "ldp x14, x15, [%[a], 48]\n\t"
  65904. "ldr x16, [%[a], 64]\n\t"
  65905. "ldp x17, x19, [%[b], 0]\n\t"
  65906. "ldp x20, x21, [%[b], 16]\n\t"
  65907. "ldp x22, x23, [%[b], 32]\n\t"
  65908. "ldp x24, x25, [%[b], 48]\n\t"
  65909. "ldr x26, [%[b], 64]\n\t"
  65910. "# A[0] * B[0]\n\t"
  65911. "mul x3, x8, x17\n\t"
  65912. "umulh x4, x8, x17\n\t"
  65913. "str x3, [%[r]]\n\t"
  65914. "# A[0] * B[1]\n\t"
  65915. "mul x6, x8, x19\n\t"
  65916. "umulh x7, x8, x19\n\t"
  65917. "adds x4, x4, x6\n\t"
  65918. "# A[1] * B[0]\n\t"
  65919. "mul x6, x9, x17\n\t"
  65920. "adc x5, xzr, x7\n\t"
  65921. "umulh x7, x9, x17\n\t"
  65922. "adds x4, x4, x6\n\t"
  65923. "adcs x5, x5, x7\n\t"
  65924. "str x4, [%[r], 8]\n\t"
  65925. "adc x3, xzr, xzr\n\t"
  65926. "# A[0] * B[2]\n\t"
  65927. "mul x6, x8, x20\n\t"
  65928. "umulh x7, x8, x20\n\t"
  65929. "adds x5, x5, x6\n\t"
  65930. "# A[1] * B[1]\n\t"
  65931. "mul x6, x9, x19\n\t"
  65932. "adcs x3, x3, x7\n\t"
  65933. "umulh x7, x9, x19\n\t"
  65934. "adc x4, xzr, xzr\n\t"
  65935. "adds x5, x5, x6\n\t"
  65936. "# A[2] * B[0]\n\t"
  65937. "mul x6, x10, x17\n\t"
  65938. "adcs x3, x3, x7\n\t"
  65939. "umulh x7, x10, x17\n\t"
  65940. "adc x4, x4, xzr\n\t"
  65941. "adds x5, x5, x6\n\t"
  65942. "adcs x3, x3, x7\n\t"
  65943. "str x5, [%[r], 16]\n\t"
  65944. "adc x4, x4, xzr\n\t"
  65945. "# A[0] * B[3]\n\t"
  65946. "mul x6, x8, x21\n\t"
  65947. "umulh x7, x8, x21\n\t"
  65948. "adds x3, x3, x6\n\t"
  65949. "# A[1] * B[2]\n\t"
  65950. "mul x6, x9, x20\n\t"
  65951. "adcs x4, x4, x7\n\t"
  65952. "umulh x7, x9, x20\n\t"
  65953. "adc x5, xzr, xzr\n\t"
  65954. "adds x3, x3, x6\n\t"
  65955. "# A[2] * B[1]\n\t"
  65956. "mul x6, x10, x19\n\t"
  65957. "adcs x4, x4, x7\n\t"
  65958. "umulh x7, x10, x19\n\t"
  65959. "adc x5, x5, xzr\n\t"
  65960. "adds x3, x3, x6\n\t"
  65961. "# A[3] * B[0]\n\t"
  65962. "mul x6, x11, x17\n\t"
  65963. "adcs x4, x4, x7\n\t"
  65964. "umulh x7, x11, x17\n\t"
  65965. "adc x5, x5, xzr\n\t"
  65966. "adds x3, x3, x6\n\t"
  65967. "adcs x4, x4, x7\n\t"
  65968. "str x3, [%[r], 24]\n\t"
  65969. "adc x5, x5, xzr\n\t"
  65970. "# A[0] * B[4]\n\t"
  65971. "mul x6, x8, x22\n\t"
  65972. "umulh x7, x8, x22\n\t"
  65973. "adds x4, x4, x6\n\t"
  65974. "# A[1] * B[3]\n\t"
  65975. "mul x6, x9, x21\n\t"
  65976. "adcs x5, x5, x7\n\t"
  65977. "umulh x7, x9, x21\n\t"
  65978. "adc x3, xzr, xzr\n\t"
  65979. "adds x4, x4, x6\n\t"
  65980. "# A[2] * B[2]\n\t"
  65981. "mul x6, x10, x20\n\t"
  65982. "adcs x5, x5, x7\n\t"
  65983. "umulh x7, x10, x20\n\t"
  65984. "adc x3, x3, xzr\n\t"
  65985. "adds x4, x4, x6\n\t"
  65986. "# A[3] * B[1]\n\t"
  65987. "mul x6, x11, x19\n\t"
  65988. "adcs x5, x5, x7\n\t"
  65989. "umulh x7, x11, x19\n\t"
  65990. "adc x3, x3, xzr\n\t"
  65991. "adds x4, x4, x6\n\t"
  65992. "# A[4] * B[0]\n\t"
  65993. "mul x6, x12, x17\n\t"
  65994. "adcs x5, x5, x7\n\t"
  65995. "umulh x7, x12, x17\n\t"
  65996. "adc x3, x3, xzr\n\t"
  65997. "adds x4, x4, x6\n\t"
  65998. "adcs x5, x5, x7\n\t"
  65999. "str x4, [%[r], 32]\n\t"
  66000. "adc x3, x3, xzr\n\t"
  66001. "# A[0] * B[5]\n\t"
  66002. "mul x6, x8, x23\n\t"
  66003. "umulh x7, x8, x23\n\t"
  66004. "adds x5, x5, x6\n\t"
  66005. "# A[1] * B[4]\n\t"
  66006. "mul x6, x9, x22\n\t"
  66007. "adcs x3, x3, x7\n\t"
  66008. "umulh x7, x9, x22\n\t"
  66009. "adc x4, xzr, xzr\n\t"
  66010. "adds x5, x5, x6\n\t"
  66011. "# A[2] * B[3]\n\t"
  66012. "mul x6, x10, x21\n\t"
  66013. "adcs x3, x3, x7\n\t"
  66014. "umulh x7, x10, x21\n\t"
  66015. "adc x4, x4, xzr\n\t"
  66016. "adds x5, x5, x6\n\t"
  66017. "# A[3] * B[2]\n\t"
  66018. "mul x6, x11, x20\n\t"
  66019. "adcs x3, x3, x7\n\t"
  66020. "umulh x7, x11, x20\n\t"
  66021. "adc x4, x4, xzr\n\t"
  66022. "adds x5, x5, x6\n\t"
  66023. "# A[4] * B[1]\n\t"
  66024. "mul x6, x12, x19\n\t"
  66025. "adcs x3, x3, x7\n\t"
  66026. "umulh x7, x12, x19\n\t"
  66027. "adc x4, x4, xzr\n\t"
  66028. "adds x5, x5, x6\n\t"
  66029. "# A[5] * B[0]\n\t"
  66030. "mul x6, x13, x17\n\t"
  66031. "adcs x3, x3, x7\n\t"
  66032. "umulh x7, x13, x17\n\t"
  66033. "adc x4, x4, xzr\n\t"
  66034. "adds x5, x5, x6\n\t"
  66035. "adcs x3, x3, x7\n\t"
  66036. "str x5, [%[r], 40]\n\t"
  66037. "adc x4, x4, xzr\n\t"
  66038. "# A[0] * B[6]\n\t"
  66039. "mul x6, x8, x24\n\t"
  66040. "umulh x7, x8, x24\n\t"
  66041. "adds x3, x3, x6\n\t"
  66042. "# A[1] * B[5]\n\t"
  66043. "mul x6, x9, x23\n\t"
  66044. "adcs x4, x4, x7\n\t"
  66045. "umulh x7, x9, x23\n\t"
  66046. "adc x5, xzr, xzr\n\t"
  66047. "adds x3, x3, x6\n\t"
  66048. "# A[2] * B[4]\n\t"
  66049. "mul x6, x10, x22\n\t"
  66050. "adcs x4, x4, x7\n\t"
  66051. "umulh x7, x10, x22\n\t"
  66052. "adc x5, x5, xzr\n\t"
  66053. "adds x3, x3, x6\n\t"
  66054. "# A[3] * B[3]\n\t"
  66055. "mul x6, x11, x21\n\t"
  66056. "adcs x4, x4, x7\n\t"
  66057. "umulh x7, x11, x21\n\t"
  66058. "adc x5, x5, xzr\n\t"
  66059. "adds x3, x3, x6\n\t"
  66060. "# A[4] * B[2]\n\t"
  66061. "mul x6, x12, x20\n\t"
  66062. "adcs x4, x4, x7\n\t"
  66063. "umulh x7, x12, x20\n\t"
  66064. "adc x5, x5, xzr\n\t"
  66065. "adds x3, x3, x6\n\t"
  66066. "# A[5] * B[1]\n\t"
  66067. "mul x6, x13, x19\n\t"
  66068. "adcs x4, x4, x7\n\t"
  66069. "umulh x7, x13, x19\n\t"
  66070. "adc x5, x5, xzr\n\t"
  66071. "adds x3, x3, x6\n\t"
  66072. "# A[6] * B[0]\n\t"
  66073. "mul x6, x14, x17\n\t"
  66074. "adcs x4, x4, x7\n\t"
  66075. "umulh x7, x14, x17\n\t"
  66076. "adc x5, x5, xzr\n\t"
  66077. "adds x3, x3, x6\n\t"
  66078. "adcs x4, x4, x7\n\t"
  66079. "str x3, [%[r], 48]\n\t"
  66080. "adc x5, x5, xzr\n\t"
  66081. "# A[0] * B[7]\n\t"
  66082. "mul x6, x8, x25\n\t"
  66083. "umulh x7, x8, x25\n\t"
  66084. "adds x4, x4, x6\n\t"
  66085. "# A[1] * B[6]\n\t"
  66086. "mul x6, x9, x24\n\t"
  66087. "adcs x5, x5, x7\n\t"
  66088. "umulh x7, x9, x24\n\t"
  66089. "adc x3, xzr, xzr\n\t"
  66090. "adds x4, x4, x6\n\t"
  66091. "# A[2] * B[5]\n\t"
  66092. "mul x6, x10, x23\n\t"
  66093. "adcs x5, x5, x7\n\t"
  66094. "umulh x7, x10, x23\n\t"
  66095. "adc x3, x3, xzr\n\t"
  66096. "adds x4, x4, x6\n\t"
  66097. "# A[3] * B[4]\n\t"
  66098. "mul x6, x11, x22\n\t"
  66099. "adcs x5, x5, x7\n\t"
  66100. "umulh x7, x11, x22\n\t"
  66101. "adc x3, x3, xzr\n\t"
  66102. "adds x4, x4, x6\n\t"
  66103. "# A[4] * B[3]\n\t"
  66104. "mul x6, x12, x21\n\t"
  66105. "adcs x5, x5, x7\n\t"
  66106. "umulh x7, x12, x21\n\t"
  66107. "adc x3, x3, xzr\n\t"
  66108. "adds x4, x4, x6\n\t"
  66109. "# A[5] * B[2]\n\t"
  66110. "mul x6, x13, x20\n\t"
  66111. "adcs x5, x5, x7\n\t"
  66112. "umulh x7, x13, x20\n\t"
  66113. "adc x3, x3, xzr\n\t"
  66114. "adds x4, x4, x6\n\t"
  66115. "# A[6] * B[1]\n\t"
  66116. "mul x6, x14, x19\n\t"
  66117. "adcs x5, x5, x7\n\t"
  66118. "umulh x7, x14, x19\n\t"
  66119. "adc x3, x3, xzr\n\t"
  66120. "adds x4, x4, x6\n\t"
  66121. "# A[7] * B[0]\n\t"
  66122. "mul x6, x15, x17\n\t"
  66123. "adcs x5, x5, x7\n\t"
  66124. "umulh x7, x15, x17\n\t"
  66125. "adc x3, x3, xzr\n\t"
  66126. "adds x4, x4, x6\n\t"
  66127. "adcs x5, x5, x7\n\t"
  66128. "str x4, [%[r], 56]\n\t"
  66129. "adc x3, x3, xzr\n\t"
  66130. "# A[0] * B[8]\n\t"
  66131. "mul x6, x8, x26\n\t"
  66132. "umulh x7, x8, x26\n\t"
  66133. "adds x5, x5, x6\n\t"
  66134. "# A[1] * B[7]\n\t"
  66135. "mul x6, x9, x25\n\t"
  66136. "adcs x3, x3, x7\n\t"
  66137. "umulh x7, x9, x25\n\t"
  66138. "adc x4, xzr, xzr\n\t"
  66139. "adds x5, x5, x6\n\t"
  66140. "# A[2] * B[6]\n\t"
  66141. "mul x6, x10, x24\n\t"
  66142. "adcs x3, x3, x7\n\t"
  66143. "umulh x7, x10, x24\n\t"
  66144. "adc x4, x4, xzr\n\t"
  66145. "adds x5, x5, x6\n\t"
  66146. "# A[3] * B[5]\n\t"
  66147. "mul x6, x11, x23\n\t"
  66148. "adcs x3, x3, x7\n\t"
  66149. "umulh x7, x11, x23\n\t"
  66150. "adc x4, x4, xzr\n\t"
  66151. "adds x5, x5, x6\n\t"
  66152. "# A[4] * B[4]\n\t"
  66153. "mul x6, x12, x22\n\t"
  66154. "adcs x3, x3, x7\n\t"
  66155. "umulh x7, x12, x22\n\t"
  66156. "adc x4, x4, xzr\n\t"
  66157. "adds x5, x5, x6\n\t"
  66158. "# A[5] * B[3]\n\t"
  66159. "mul x6, x13, x21\n\t"
  66160. "adcs x3, x3, x7\n\t"
  66161. "umulh x7, x13, x21\n\t"
  66162. "adc x4, x4, xzr\n\t"
  66163. "adds x5, x5, x6\n\t"
  66164. "# A[6] * B[2]\n\t"
  66165. "mul x6, x14, x20\n\t"
  66166. "adcs x3, x3, x7\n\t"
  66167. "umulh x7, x14, x20\n\t"
  66168. "adc x4, x4, xzr\n\t"
  66169. "adds x5, x5, x6\n\t"
  66170. "# A[7] * B[1]\n\t"
  66171. "mul x6, x15, x19\n\t"
  66172. "adcs x3, x3, x7\n\t"
  66173. "umulh x7, x15, x19\n\t"
  66174. "adc x4, x4, xzr\n\t"
  66175. "adds x5, x5, x6\n\t"
  66176. "# A[8] * B[0]\n\t"
  66177. "mul x6, x16, x17\n\t"
  66178. "adcs x3, x3, x7\n\t"
  66179. "umulh x7, x16, x17\n\t"
  66180. "adc x4, x4, xzr\n\t"
  66181. "adds x5, x5, x6\n\t"
  66182. "adcs x3, x3, x7\n\t"
  66183. "str x5, [%[r], 64]\n\t"
  66184. "adc x4, x4, xzr\n\t"
  66185. "# A[1] * B[8]\n\t"
  66186. "mul x6, x9, x26\n\t"
  66187. "umulh x7, x9, x26\n\t"
  66188. "adds x3, x3, x6\n\t"
  66189. "# A[2] * B[7]\n\t"
  66190. "mul x6, x10, x25\n\t"
  66191. "adcs x4, x4, x7\n\t"
  66192. "umulh x7, x10, x25\n\t"
  66193. "adc x5, xzr, xzr\n\t"
  66194. "adds x3, x3, x6\n\t"
  66195. "# A[3] * B[6]\n\t"
  66196. "mul x6, x11, x24\n\t"
  66197. "adcs x4, x4, x7\n\t"
  66198. "umulh x7, x11, x24\n\t"
  66199. "adc x5, x5, xzr\n\t"
  66200. "adds x3, x3, x6\n\t"
  66201. "# A[4] * B[5]\n\t"
  66202. "mul x6, x12, x23\n\t"
  66203. "adcs x4, x4, x7\n\t"
  66204. "umulh x7, x12, x23\n\t"
  66205. "adc x5, x5, xzr\n\t"
  66206. "adds x3, x3, x6\n\t"
  66207. "# A[5] * B[4]\n\t"
  66208. "mul x6, x13, x22\n\t"
  66209. "adcs x4, x4, x7\n\t"
  66210. "umulh x7, x13, x22\n\t"
  66211. "adc x5, x5, xzr\n\t"
  66212. "adds x3, x3, x6\n\t"
  66213. "# A[6] * B[3]\n\t"
  66214. "mul x6, x14, x21\n\t"
  66215. "adcs x4, x4, x7\n\t"
  66216. "umulh x7, x14, x21\n\t"
  66217. "adc x5, x5, xzr\n\t"
  66218. "adds x3, x3, x6\n\t"
  66219. "# A[7] * B[2]\n\t"
  66220. "mul x6, x15, x20\n\t"
  66221. "adcs x4, x4, x7\n\t"
  66222. "umulh x7, x15, x20\n\t"
  66223. "adc x5, x5, xzr\n\t"
  66224. "adds x3, x3, x6\n\t"
  66225. "# A[8] * B[1]\n\t"
  66226. "mul x6, x16, x19\n\t"
  66227. "adcs x4, x4, x7\n\t"
  66228. "umulh x7, x16, x19\n\t"
  66229. "adc x5, x5, xzr\n\t"
  66230. "adds x3, x3, x6\n\t"
  66231. "adcs x4, x4, x7\n\t"
  66232. "str x3, [%[r], 72]\n\t"
  66233. "adc x5, x5, xzr\n\t"
  66234. "# A[2] * B[8]\n\t"
  66235. "mul x6, x10, x26\n\t"
  66236. "umulh x7, x10, x26\n\t"
  66237. "adds x4, x4, x6\n\t"
  66238. "# A[3] * B[7]\n\t"
  66239. "mul x6, x11, x25\n\t"
  66240. "adcs x5, x5, x7\n\t"
  66241. "umulh x7, x11, x25\n\t"
  66242. "adc x3, xzr, xzr\n\t"
  66243. "adds x4, x4, x6\n\t"
  66244. "# A[4] * B[6]\n\t"
  66245. "mul x6, x12, x24\n\t"
  66246. "adcs x5, x5, x7\n\t"
  66247. "umulh x7, x12, x24\n\t"
  66248. "adc x3, x3, xzr\n\t"
  66249. "adds x4, x4, x6\n\t"
  66250. "# A[5] * B[5]\n\t"
  66251. "mul x6, x13, x23\n\t"
  66252. "adcs x5, x5, x7\n\t"
  66253. "umulh x7, x13, x23\n\t"
  66254. "adc x3, x3, xzr\n\t"
  66255. "adds x4, x4, x6\n\t"
  66256. "# A[6] * B[4]\n\t"
  66257. "mul x6, x14, x22\n\t"
  66258. "adcs x5, x5, x7\n\t"
  66259. "umulh x7, x14, x22\n\t"
  66260. "adc x3, x3, xzr\n\t"
  66261. "adds x4, x4, x6\n\t"
  66262. "# A[7] * B[3]\n\t"
  66263. "mul x6, x15, x21\n\t"
  66264. "adcs x5, x5, x7\n\t"
  66265. "umulh x7, x15, x21\n\t"
  66266. "adc x3, x3, xzr\n\t"
  66267. "adds x4, x4, x6\n\t"
  66268. "# A[8] * B[2]\n\t"
  66269. "mul x6, x16, x20\n\t"
  66270. "adcs x5, x5, x7\n\t"
  66271. "umulh x7, x16, x20\n\t"
  66272. "adc x3, x3, xzr\n\t"
  66273. "adds x4, x4, x6\n\t"
  66274. "adcs x5, x5, x7\n\t"
  66275. "str x4, [%[r], 80]\n\t"
  66276. "adc x3, x3, xzr\n\t"
  66277. "# A[3] * B[8]\n\t"
  66278. "mul x6, x11, x26\n\t"
  66279. "umulh x7, x11, x26\n\t"
  66280. "adds x5, x5, x6\n\t"
  66281. "# A[4] * B[7]\n\t"
  66282. "mul x6, x12, x25\n\t"
  66283. "adcs x3, x3, x7\n\t"
  66284. "umulh x7, x12, x25\n\t"
  66285. "adc x4, xzr, xzr\n\t"
  66286. "adds x5, x5, x6\n\t"
  66287. "# A[5] * B[6]\n\t"
  66288. "mul x6, x13, x24\n\t"
  66289. "adcs x3, x3, x7\n\t"
  66290. "umulh x7, x13, x24\n\t"
  66291. "adc x4, x4, xzr\n\t"
  66292. "adds x5, x5, x6\n\t"
  66293. "# A[6] * B[5]\n\t"
  66294. "mul x6, x14, x23\n\t"
  66295. "adcs x3, x3, x7\n\t"
  66296. "umulh x7, x14, x23\n\t"
  66297. "adc x4, x4, xzr\n\t"
  66298. "adds x5, x5, x6\n\t"
  66299. "# A[7] * B[4]\n\t"
  66300. "mul x6, x15, x22\n\t"
  66301. "adcs x3, x3, x7\n\t"
  66302. "umulh x7, x15, x22\n\t"
  66303. "adc x4, x4, xzr\n\t"
  66304. "adds x5, x5, x6\n\t"
  66305. "# A[8] * B[3]\n\t"
  66306. "mul x6, x16, x21\n\t"
  66307. "adcs x3, x3, x7\n\t"
  66308. "umulh x7, x16, x21\n\t"
  66309. "adc x4, x4, xzr\n\t"
  66310. "adds x5, x5, x6\n\t"
  66311. "adcs x3, x3, x7\n\t"
  66312. "str x5, [%[r], 88]\n\t"
  66313. "adc x4, x4, xzr\n\t"
  66314. "# A[4] * B[8]\n\t"
  66315. "mul x6, x12, x26\n\t"
  66316. "umulh x7, x12, x26\n\t"
  66317. "adds x3, x3, x6\n\t"
  66318. "# A[5] * B[7]\n\t"
  66319. "mul x6, x13, x25\n\t"
  66320. "adcs x4, x4, x7\n\t"
  66321. "umulh x7, x13, x25\n\t"
  66322. "adc x5, xzr, xzr\n\t"
  66323. "adds x3, x3, x6\n\t"
  66324. "# A[6] * B[6]\n\t"
  66325. "mul x6, x14, x24\n\t"
  66326. "adcs x4, x4, x7\n\t"
  66327. "umulh x7, x14, x24\n\t"
  66328. "adc x5, x5, xzr\n\t"
  66329. "adds x3, x3, x6\n\t"
  66330. "# A[7] * B[5]\n\t"
  66331. "mul x6, x15, x23\n\t"
  66332. "adcs x4, x4, x7\n\t"
  66333. "umulh x7, x15, x23\n\t"
  66334. "adc x5, x5, xzr\n\t"
  66335. "adds x3, x3, x6\n\t"
  66336. "# A[8] * B[4]\n\t"
  66337. "mul x6, x16, x22\n\t"
  66338. "adcs x4, x4, x7\n\t"
  66339. "umulh x7, x16, x22\n\t"
  66340. "adc x5, x5, xzr\n\t"
  66341. "adds x3, x3, x6\n\t"
  66342. "adcs x4, x4, x7\n\t"
  66343. "str x3, [%[r], 96]\n\t"
  66344. "adc x5, x5, xzr\n\t"
  66345. "# A[5] * B[8]\n\t"
  66346. "mul x6, x13, x26\n\t"
  66347. "umulh x7, x13, x26\n\t"
  66348. "adds x4, x4, x6\n\t"
  66349. "# A[6] * B[7]\n\t"
  66350. "mul x6, x14, x25\n\t"
  66351. "adcs x5, x5, x7\n\t"
  66352. "umulh x7, x14, x25\n\t"
  66353. "adc x3, xzr, xzr\n\t"
  66354. "adds x4, x4, x6\n\t"
  66355. "# A[7] * B[6]\n\t"
  66356. "mul x6, x15, x24\n\t"
  66357. "adcs x5, x5, x7\n\t"
  66358. "umulh x7, x15, x24\n\t"
  66359. "adc x3, x3, xzr\n\t"
  66360. "adds x4, x4, x6\n\t"
  66361. "# A[8] * B[5]\n\t"
  66362. "mul x6, x16, x23\n\t"
  66363. "adcs x5, x5, x7\n\t"
  66364. "umulh x7, x16, x23\n\t"
  66365. "adc x3, x3, xzr\n\t"
  66366. "adds x4, x4, x6\n\t"
  66367. "adcs x5, x5, x7\n\t"
  66368. "str x4, [%[r], 104]\n\t"
  66369. "adc x3, x3, xzr\n\t"
  66370. "# A[6] * B[8]\n\t"
  66371. "mul x6, x14, x26\n\t"
  66372. "umulh x7, x14, x26\n\t"
  66373. "adds x5, x5, x6\n\t"
  66374. "# A[7] * B[7]\n\t"
  66375. "mul x6, x15, x25\n\t"
  66376. "adcs x3, x3, x7\n\t"
  66377. "umulh x7, x15, x25\n\t"
  66378. "adc x4, xzr, xzr\n\t"
  66379. "adds x5, x5, x6\n\t"
  66380. "# A[8] * B[6]\n\t"
  66381. "mul x6, x16, x24\n\t"
  66382. "adcs x3, x3, x7\n\t"
  66383. "umulh x7, x16, x24\n\t"
  66384. "adc x4, x4, xzr\n\t"
  66385. "adds x5, x5, x6\n\t"
  66386. "adcs x3, x3, x7\n\t"
  66387. "str x5, [%[r], 112]\n\t"
  66388. "adc x4, x4, xzr\n\t"
  66389. "# A[7] * B[8]\n\t"
  66390. "mul x6, x15, x26\n\t"
  66391. "umulh x7, x15, x26\n\t"
  66392. "adds x3, x3, x6\n\t"
  66393. "# A[8] * B[7]\n\t"
  66394. "mul x6, x16, x25\n\t"
  66395. "adcs x4, x4, x7\n\t"
  66396. "umulh x7, x16, x25\n\t"
  66397. "adc x5, xzr, xzr\n\t"
  66398. "adds x3, x3, x6\n\t"
  66399. "adcs x4, x4, x7\n\t"
  66400. "str x3, [%[r], 120]\n\t"
  66401. "adc x5, x5, xzr\n\t"
  66402. "# A[8] * B[8]\n\t"
  66403. "mul x6, x16, x26\n\t"
  66404. "umulh x7, x16, x26\n\t"
  66405. "adds x4, x4, x6\n\t"
  66406. "adc x5, x5, x7\n\t"
  66407. "stp x4, x5, [%[r], 128]\n\t"
  66408. :
  66409. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  66410. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26"
  66411. );
  66412. }
  66413. #endif /* WOLFSSL_SP_SMALL */
  66414. #ifdef WOLFSSL_SP_SMALL
  66415. /* Square a and put result in r. (r = a * a)
  66416. *
  66417. * r A single precision integer.
  66418. * a A single precision integer.
  66419. */
  66420. static void sp_521_sqr_9(sp_digit* r, const sp_digit* a)
  66421. {
  66422. sp_digit tmp[18];
  66423. __asm__ __volatile__ (
  66424. "mov x6, xzr\n\t"
  66425. "mov x7, xzr\n\t"
  66426. "mov x8, xzr\n\t"
  66427. "mov x5, xzr\n\t"
  66428. "\n1:\n\t"
  66429. "subs x3, x5, 64\n\t"
  66430. "csel x3, xzr, x3, cc\n\t"
  66431. "sub x4, x5, x3\n\t"
  66432. "\n2:\n\t"
  66433. "cmp x4, x3\n\t"
  66434. "b.eq 4f\n\t"
  66435. "ldr x10, [%[a], x3]\n\t"
  66436. "ldr x11, [%[a], x4]\n\t"
  66437. "mul x9, x10, x11\n\t"
  66438. "umulh x10, x10, x11\n\t"
  66439. "adds x6, x6, x9\n\t"
  66440. "adcs x7, x7, x10\n\t"
  66441. "adc x8, x8, xzr\n\t"
  66442. "adds x6, x6, x9\n\t"
  66443. "adcs x7, x7, x10\n\t"
  66444. "adc x8, x8, xzr\n\t"
  66445. "b.al 5f\n\t"
  66446. "\n4:\n\t"
  66447. "ldr x10, [%[a], x3]\n\t"
  66448. "mul x9, x10, x10\n\t"
  66449. "umulh x10, x10, x10\n\t"
  66450. "adds x6, x6, x9\n\t"
  66451. "adcs x7, x7, x10\n\t"
  66452. "adc x8, x8, xzr\n\t"
  66453. "\n5:\n\t"
  66454. "add x3, x3, #8\n\t"
  66455. "sub x4, x4, #8\n\t"
  66456. "cmp x3, 72\n\t"
  66457. "b.eq 3f\n\t"
  66458. "cmp x3, x4\n\t"
  66459. "b.gt 3f\n\t"
  66460. "cmp x3, x5\n\t"
  66461. "b.le 2b\n\t"
  66462. "\n3:\n\t"
  66463. "str x6, [%[r], x5]\n\t"
  66464. "mov x6, x7\n\t"
  66465. "mov x7, x8\n\t"
  66466. "mov x8, #0\n\t"
  66467. "add x5, x5, #8\n\t"
  66468. "cmp x5, 128\n\t"
  66469. "b.le 1b\n\t"
  66470. "str x6, [%[r], x5]\n\t"
  66471. :
  66472. : [r] "r" (tmp), [a] "r" (a)
  66473. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  66474. );
  66475. XMEMCPY(r, tmp, sizeof(tmp));
  66476. }
  66477. #else
  66478. /* Square a and put result in r. (r = a * a)
  66479. *
  66480. * r A single precision integer.
  66481. * a A single precision integer.
  66482. */
  66483. static void sp_521_sqr_9(sp_digit* r, const sp_digit* a)
  66484. {
  66485. __asm__ __volatile__ (
  66486. "ldp x10, x11, [%[a], 0]\n\t"
  66487. "ldp x12, x13, [%[a], 16]\n\t"
  66488. "ldp x14, x15, [%[a], 32]\n\t"
  66489. "ldp x16, x17, [%[a], 48]\n\t"
  66490. "ldr x19, [%[a], 64]\n\t"
  66491. "# A[0] * A[0]\n\t"
  66492. "mul x2, x10, x10\n\t"
  66493. "umulh x3, x10, x10\n\t"
  66494. "str x2, [%[r]]\n\t"
  66495. "mov x4, xzr\n\t"
  66496. "# A[0] * A[1]\n\t"
  66497. "mul x8, x10, x11\n\t"
  66498. "umulh x9, x10, x11\n\t"
  66499. "adds x3, x3, x8\n\t"
  66500. "adcs x4, x4, x9\n\t"
  66501. "adc x2, xzr, xzr\n\t"
  66502. "adds x3, x3, x8\n\t"
  66503. "str x3, [%[r], 8]\n\t"
  66504. "# A[0] * A[2]\n\t"
  66505. "mul x8, x10, x12\n\t"
  66506. "adcs x4, x4, x9\n\t"
  66507. "umulh x9, x10, x12\n\t"
  66508. "adc x2, x2, xzr\n\t"
  66509. "adds x4, x4, x8\n\t"
  66510. "adcs x2, x2, x9\n\t"
  66511. "adc x3, xzr, xzr\n\t"
  66512. "adds x4, x4, x8\n\t"
  66513. "# A[1] * A[1]\n\t"
  66514. "mul x8, x11, x11\n\t"
  66515. "adcs x2, x2, x9\n\t"
  66516. "umulh x9, x11, x11\n\t"
  66517. "adc x3, x3, xzr\n\t"
  66518. "adds x4, x4, x8\n\t"
  66519. "str x4, [%[r], 16]\n\t"
  66520. "# A[0] * A[3]\n\t"
  66521. "mul x8, x10, x13\n\t"
  66522. "adcs x2, x2, x9\n\t"
  66523. "umulh x9, x10, x13\n\t"
  66524. "adc x3, x3, xzr\n\t"
  66525. "adds x2, x2, x8\n\t"
  66526. "adcs x3, x3, x9\n\t"
  66527. "adc x4, xzr, xzr\n\t"
  66528. "adds x2, x2, x8\n\t"
  66529. "# A[1] * A[2]\n\t"
  66530. "mul x8, x11, x12\n\t"
  66531. "adcs x3, x3, x9\n\t"
  66532. "umulh x9, x11, x12\n\t"
  66533. "adc x4, x4, xzr\n\t"
  66534. "adds x2, x2, x8\n\t"
  66535. "adcs x3, x3, x9\n\t"
  66536. "adc x4, x4, xzr\n\t"
  66537. "adds x2, x2, x8\n\t"
  66538. "str x2, [%[r], 24]\n\t"
  66539. "# A[0] * A[4]\n\t"
  66540. "mul x8, x10, x14\n\t"
  66541. "adcs x3, x3, x9\n\t"
  66542. "umulh x9, x10, x14\n\t"
  66543. "adc x4, x4, xzr\n\t"
  66544. "adds x3, x3, x8\n\t"
  66545. "adcs x4, x4, x9\n\t"
  66546. "adc x2, xzr, xzr\n\t"
  66547. "adds x3, x3, x8\n\t"
  66548. "# A[1] * A[3]\n\t"
  66549. "mul x8, x11, x13\n\t"
  66550. "adcs x4, x4, x9\n\t"
  66551. "umulh x9, x11, x13\n\t"
  66552. "adc x2, x2, xzr\n\t"
  66553. "adds x3, x3, x8\n\t"
  66554. "adcs x4, x4, x9\n\t"
  66555. "adc x2, x2, xzr\n\t"
  66556. "adds x3, x3, x8\n\t"
  66557. "# A[2] * A[2]\n\t"
  66558. "mul x8, x12, x12\n\t"
  66559. "adcs x4, x4, x9\n\t"
  66560. "umulh x9, x12, x12\n\t"
  66561. "adc x2, x2, xzr\n\t"
  66562. "adds x3, x3, x8\n\t"
  66563. "str x3, [%[r], 32]\n\t"
  66564. "# A[0] * A[5]\n\t"
  66565. "mul x5, x10, x15\n\t"
  66566. "adcs x4, x4, x9\n\t"
  66567. "umulh x6, x10, x15\n\t"
  66568. "adc x2, x2, xzr\n\t"
  66569. "mov x3, xzr\n\t"
  66570. "mov x7, xzr\n\t"
  66571. "# A[1] * A[4]\n\t"
  66572. "mul x8, x11, x14\n\t"
  66573. "umulh x9, x11, x14\n\t"
  66574. "adds x5, x5, x8\n\t"
  66575. "# A[2] * A[3]\n\t"
  66576. "mul x8, x12, x13\n\t"
  66577. "adcs x6, x6, x9\n\t"
  66578. "umulh x9, x12, x13\n\t"
  66579. "adc x7, x7, xzr\n\t"
  66580. "adds x5, x5, x8\n\t"
  66581. "adcs x6, x6, x9\n\t"
  66582. "adc x7, x7, xzr\n\t"
  66583. "adds x5, x5, x5\n\t"
  66584. "adcs x6, x6, x6\n\t"
  66585. "adc x7, x7, x7\n\t"
  66586. "adds x4, x4, x5\n\t"
  66587. "adcs x2, x2, x6\n\t"
  66588. "adc x3, x3, x7\n\t"
  66589. "str x4, [%[r], 40]\n\t"
  66590. "# A[0] * A[6]\n\t"
  66591. "mul x5, x10, x16\n\t"
  66592. "umulh x6, x10, x16\n\t"
  66593. "mov x4, xzr\n\t"
  66594. "mov x7, xzr\n\t"
  66595. "# A[1] * A[5]\n\t"
  66596. "mul x8, x11, x15\n\t"
  66597. "umulh x9, x11, x15\n\t"
  66598. "adds x5, x5, x8\n\t"
  66599. "# A[2] * A[4]\n\t"
  66600. "mul x8, x12, x14\n\t"
  66601. "adcs x6, x6, x9\n\t"
  66602. "umulh x9, x12, x14\n\t"
  66603. "adc x7, x7, xzr\n\t"
  66604. "adds x5, x5, x8\n\t"
  66605. "# A[3] * A[3]\n\t"
  66606. "mul x8, x13, x13\n\t"
  66607. "adcs x6, x6, x9\n\t"
  66608. "umulh x9, x13, x13\n\t"
  66609. "adc x7, x7, xzr\n\t"
  66610. "adds x5, x5, x5\n\t"
  66611. "adcs x6, x6, x6\n\t"
  66612. "adc x7, x7, x7\n\t"
  66613. "adds x5, x5, x8\n\t"
  66614. "adcs x6, x6, x9\n\t"
  66615. "adc x7, x7, xzr\n\t"
  66616. "adds x2, x2, x5\n\t"
  66617. "adcs x3, x3, x6\n\t"
  66618. "adc x4, x4, x7\n\t"
  66619. "str x2, [%[r], 48]\n\t"
  66620. "# A[0] * A[7]\n\t"
  66621. "mul x5, x10, x17\n\t"
  66622. "umulh x6, x10, x17\n\t"
  66623. "mov x2, xzr\n\t"
  66624. "mov x7, xzr\n\t"
  66625. "# A[1] * A[6]\n\t"
  66626. "mul x8, x11, x16\n\t"
  66627. "umulh x9, x11, x16\n\t"
  66628. "adds x5, x5, x8\n\t"
  66629. "# A[2] * A[5]\n\t"
  66630. "mul x8, x12, x15\n\t"
  66631. "adcs x6, x6, x9\n\t"
  66632. "umulh x9, x12, x15\n\t"
  66633. "adc x7, x7, xzr\n\t"
  66634. "adds x5, x5, x8\n\t"
  66635. "# A[3] * A[4]\n\t"
  66636. "mul x8, x13, x14\n\t"
  66637. "adcs x6, x6, x9\n\t"
  66638. "umulh x9, x13, x14\n\t"
  66639. "adc x7, x7, xzr\n\t"
  66640. "adds x5, x5, x8\n\t"
  66641. "adcs x6, x6, x9\n\t"
  66642. "adc x7, x7, xzr\n\t"
  66643. "adds x5, x5, x5\n\t"
  66644. "adcs x6, x6, x6\n\t"
  66645. "adc x7, x7, x7\n\t"
  66646. "adds x3, x3, x5\n\t"
  66647. "adcs x4, x4, x6\n\t"
  66648. "adc x2, x2, x7\n\t"
  66649. "str x3, [%[r], 56]\n\t"
  66650. "# A[0] * A[8]\n\t"
  66651. "mul x5, x10, x19\n\t"
  66652. "umulh x6, x10, x19\n\t"
  66653. "mov x3, xzr\n\t"
  66654. "mov x7, xzr\n\t"
  66655. "# A[1] * A[7]\n\t"
  66656. "mul x8, x11, x17\n\t"
  66657. "umulh x9, x11, x17\n\t"
  66658. "adds x5, x5, x8\n\t"
  66659. "# A[2] * A[6]\n\t"
  66660. "mul x8, x12, x16\n\t"
  66661. "adcs x6, x6, x9\n\t"
  66662. "umulh x9, x12, x16\n\t"
  66663. "adc x7, x7, xzr\n\t"
  66664. "adds x5, x5, x8\n\t"
  66665. "# A[3] * A[5]\n\t"
  66666. "mul x8, x13, x15\n\t"
  66667. "adcs x6, x6, x9\n\t"
  66668. "umulh x9, x13, x15\n\t"
  66669. "adc x7, x7, xzr\n\t"
  66670. "adds x5, x5, x8\n\t"
  66671. "# A[4] * A[4]\n\t"
  66672. "mul x8, x14, x14\n\t"
  66673. "adcs x6, x6, x9\n\t"
  66674. "umulh x9, x14, x14\n\t"
  66675. "adc x7, x7, xzr\n\t"
  66676. "adds x5, x5, x5\n\t"
  66677. "adcs x6, x6, x6\n\t"
  66678. "adc x7, x7, x7\n\t"
  66679. "adds x5, x5, x8\n\t"
  66680. "adcs x6, x6, x9\n\t"
  66681. "adc x7, x7, xzr\n\t"
  66682. "adds x4, x4, x5\n\t"
  66683. "adcs x2, x2, x6\n\t"
  66684. "adc x3, x3, x7\n\t"
  66685. "str x4, [%[r], 64]\n\t"
  66686. "# A[1] * A[8]\n\t"
  66687. "mul x5, x11, x19\n\t"
  66688. "umulh x6, x11, x19\n\t"
  66689. "mov x4, xzr\n\t"
  66690. "mov x7, xzr\n\t"
  66691. "# A[2] * A[7]\n\t"
  66692. "mul x8, x12, x17\n\t"
  66693. "umulh x9, x12, x17\n\t"
  66694. "adds x5, x5, x8\n\t"
  66695. "# A[3] * A[6]\n\t"
  66696. "mul x8, x13, x16\n\t"
  66697. "adcs x6, x6, x9\n\t"
  66698. "umulh x9, x13, x16\n\t"
  66699. "adc x7, x7, xzr\n\t"
  66700. "adds x5, x5, x8\n\t"
  66701. "# A[4] * A[5]\n\t"
  66702. "mul x8, x14, x15\n\t"
  66703. "adcs x6, x6, x9\n\t"
  66704. "umulh x9, x14, x15\n\t"
  66705. "adc x7, x7, xzr\n\t"
  66706. "adds x5, x5, x8\n\t"
  66707. "adcs x6, x6, x9\n\t"
  66708. "adc x7, x7, xzr\n\t"
  66709. "adds x5, x5, x5\n\t"
  66710. "adcs x6, x6, x6\n\t"
  66711. "adc x7, x7, x7\n\t"
  66712. "adds x2, x2, x5\n\t"
  66713. "adcs x3, x3, x6\n\t"
  66714. "adc x4, x4, x7\n\t"
  66715. "str x2, [%[r], 72]\n\t"
  66716. "# A[2] * A[8]\n\t"
  66717. "mul x5, x12, x19\n\t"
  66718. "umulh x6, x12, x19\n\t"
  66719. "mov x2, xzr\n\t"
  66720. "mov x7, xzr\n\t"
  66721. "# A[3] * A[7]\n\t"
  66722. "mul x8, x13, x17\n\t"
  66723. "umulh x9, x13, x17\n\t"
  66724. "adds x5, x5, x8\n\t"
  66725. "# A[4] * A[6]\n\t"
  66726. "mul x8, x14, x16\n\t"
  66727. "adcs x6, x6, x9\n\t"
  66728. "umulh x9, x14, x16\n\t"
  66729. "adc x7, x7, xzr\n\t"
  66730. "adds x5, x5, x8\n\t"
  66731. "# A[5] * A[5]\n\t"
  66732. "mul x8, x15, x15\n\t"
  66733. "adcs x6, x6, x9\n\t"
  66734. "umulh x9, x15, x15\n\t"
  66735. "adc x7, x7, xzr\n\t"
  66736. "adds x5, x5, x5\n\t"
  66737. "adcs x6, x6, x6\n\t"
  66738. "adc x7, x7, x7\n\t"
  66739. "adds x5, x5, x8\n\t"
  66740. "adcs x6, x6, x9\n\t"
  66741. "adc x7, x7, xzr\n\t"
  66742. "adds x3, x3, x5\n\t"
  66743. "adcs x4, x4, x6\n\t"
  66744. "adc x2, x2, x7\n\t"
  66745. "str x3, [%[r], 80]\n\t"
  66746. "# A[3] * A[8]\n\t"
  66747. "mul x5, x13, x19\n\t"
  66748. "umulh x6, x13, x19\n\t"
  66749. "mov x3, xzr\n\t"
  66750. "mov x7, xzr\n\t"
  66751. "# A[4] * A[7]\n\t"
  66752. "mul x8, x14, x17\n\t"
  66753. "umulh x9, x14, x17\n\t"
  66754. "adds x5, x5, x8\n\t"
  66755. "# A[5] * A[6]\n\t"
  66756. "mul x8, x15, x16\n\t"
  66757. "adcs x6, x6, x9\n\t"
  66758. "umulh x9, x15, x16\n\t"
  66759. "adc x7, x7, xzr\n\t"
  66760. "adds x5, x5, x8\n\t"
  66761. "adcs x6, x6, x9\n\t"
  66762. "adc x7, x7, xzr\n\t"
  66763. "adds x5, x5, x5\n\t"
  66764. "adcs x6, x6, x6\n\t"
  66765. "adc x7, x7, x7\n\t"
  66766. "adds x4, x4, x5\n\t"
  66767. "adcs x2, x2, x6\n\t"
  66768. "adc x3, x3, x7\n\t"
  66769. "str x4, [%[r], 88]\n\t"
  66770. "# A[4] * A[8]\n\t"
  66771. "mul x8, x14, x19\n\t"
  66772. "umulh x9, x14, x19\n\t"
  66773. "adds x2, x2, x8\n\t"
  66774. "adcs x3, x3, x9\n\t"
  66775. "adc x4, xzr, xzr\n\t"
  66776. "adds x2, x2, x8\n\t"
  66777. "# A[5] * A[7]\n\t"
  66778. "mul x8, x15, x17\n\t"
  66779. "adcs x3, x3, x9\n\t"
  66780. "umulh x9, x15, x17\n\t"
  66781. "adc x4, x4, xzr\n\t"
  66782. "adds x2, x2, x8\n\t"
  66783. "adcs x3, x3, x9\n\t"
  66784. "adc x4, x4, xzr\n\t"
  66785. "adds x2, x2, x8\n\t"
  66786. "# A[6] * A[6]\n\t"
  66787. "mul x8, x16, x16\n\t"
  66788. "adcs x3, x3, x9\n\t"
  66789. "umulh x9, x16, x16\n\t"
  66790. "adc x4, x4, xzr\n\t"
  66791. "adds x2, x2, x8\n\t"
  66792. "str x2, [%[r], 96]\n\t"
  66793. "# A[5] * A[8]\n\t"
  66794. "mul x8, x15, x19\n\t"
  66795. "adcs x3, x3, x9\n\t"
  66796. "umulh x9, x15, x19\n\t"
  66797. "adc x4, x4, xzr\n\t"
  66798. "adds x3, x3, x8\n\t"
  66799. "adcs x4, x4, x9\n\t"
  66800. "adc x2, xzr, xzr\n\t"
  66801. "adds x3, x3, x8\n\t"
  66802. "# A[6] * A[7]\n\t"
  66803. "mul x8, x16, x17\n\t"
  66804. "adcs x4, x4, x9\n\t"
  66805. "umulh x9, x16, x17\n\t"
  66806. "adc x2, x2, xzr\n\t"
  66807. "adds x3, x3, x8\n\t"
  66808. "adcs x4, x4, x9\n\t"
  66809. "adc x2, x2, xzr\n\t"
  66810. "adds x3, x3, x8\n\t"
  66811. "str x3, [%[r], 104]\n\t"
  66812. "# A[6] * A[8]\n\t"
  66813. "mul x8, x16, x19\n\t"
  66814. "adcs x4, x4, x9\n\t"
  66815. "umulh x9, x16, x19\n\t"
  66816. "adc x2, x2, xzr\n\t"
  66817. "adds x4, x4, x8\n\t"
  66818. "adcs x2, x2, x9\n\t"
  66819. "adc x3, xzr, xzr\n\t"
  66820. "adds x4, x4, x8\n\t"
  66821. "# A[7] * A[7]\n\t"
  66822. "mul x8, x17, x17\n\t"
  66823. "adcs x2, x2, x9\n\t"
  66824. "umulh x9, x17, x17\n\t"
  66825. "adc x3, x3, xzr\n\t"
  66826. "adds x4, x4, x8\n\t"
  66827. "str x4, [%[r], 112]\n\t"
  66828. "# A[7] * A[8]\n\t"
  66829. "mul x8, x17, x19\n\t"
  66830. "adcs x2, x2, x9\n\t"
  66831. "umulh x9, x17, x19\n\t"
  66832. "adc x3, x3, xzr\n\t"
  66833. "adds x2, x2, x8\n\t"
  66834. "adcs x3, x3, x9\n\t"
  66835. "adc x4, xzr, xzr\n\t"
  66836. "adds x2, x2, x8\n\t"
  66837. "str x2, [%[r], 120]\n\t"
  66838. "# A[8] * A[8]\n\t"
  66839. "mul x8, x19, x19\n\t"
  66840. "adcs x3, x3, x9\n\t"
  66841. "umulh x9, x19, x19\n\t"
  66842. "adc x4, x4, xzr\n\t"
  66843. "adds x3, x3, x8\n\t"
  66844. "adc x4, x4, x9\n\t"
  66845. "stp x3, x4, [%[r], 128]\n\t"
  66846. :
  66847. : [r] "r" (r), [a] "r" (a)
  66848. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19"
  66849. );
  66850. }
  66851. #endif /* WOLFSSL_SP_SMALL */
  66852. #ifdef WOLFSSL_SP_SMALL
  66853. /* Add b to a into r. (r = a + b)
  66854. *
  66855. * r A single precision integer.
  66856. * a A single precision integer.
  66857. * b A single precision integer.
  66858. */
  66859. static sp_digit sp_521_add_9(sp_digit* r, const sp_digit* a,
  66860. const sp_digit* b)
  66861. {
  66862. sp_digit c = 0;
  66863. __asm__ __volatile__ (
  66864. "add x11, %[a], 64\n\t"
  66865. "\n1:\n\t"
  66866. "adds %[c], %[c], #-1\n\t"
  66867. "ldp x3, x4, [%[a]], #16\n\t"
  66868. "ldp x5, x6, [%[a]], #16\n\t"
  66869. "ldp x7, x8, [%[b]], #16\n\t"
  66870. "adcs x3, x3, x7\n\t"
  66871. "ldp x9, x10, [%[b]], #16\n\t"
  66872. "adcs x4, x4, x8\n\t"
  66873. "adcs x5, x5, x9\n\t"
  66874. "stp x3, x4, [%[r]], #16\n\t"
  66875. "adcs x6, x6, x10\n\t"
  66876. "stp x5, x6, [%[r]], #16\n\t"
  66877. "cset %[c], cs\n\t"
  66878. "cmp %[a], x11\n\t"
  66879. "b.ne 1b\n\t"
  66880. "adds %[c], %[c], #-1\n\t"
  66881. "ldr x3, [%[a]], #8\n\t"
  66882. "ldr x7, [%[b]], #8\n\t"
  66883. "adcs x3, x3, x7\n\t"
  66884. "str x3, [%[r]], #8\n\t"
  66885. "cset %[c], cs\n\t"
  66886. : [c] "+r" (c), [r] "+r" (r), [a] "+r" (a), [b] "+r" (b)
  66887. :
  66888. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  66889. );
  66890. return c;
  66891. }
  66892. #else
  66893. /* Add b to a into r. (r = a + b)
  66894. *
  66895. * r A single precision integer.
  66896. * a A single precision integer.
  66897. * b A single precision integer.
  66898. */
  66899. static sp_digit sp_521_add_9(sp_digit* r, const sp_digit* a,
  66900. const sp_digit* b)
  66901. {
  66902. __asm__ __volatile__ (
  66903. "ldp x3, x4, [%[a], 0]\n\t"
  66904. "ldp x7, x8, [%[b], 0]\n\t"
  66905. "adds x3, x3, x7\n\t"
  66906. "ldp x5, x6, [%[a], 16]\n\t"
  66907. "adcs x4, x4, x8\n\t"
  66908. "ldp x9, x10, [%[b], 16]\n\t"
  66909. "adcs x5, x5, x9\n\t"
  66910. "stp x3, x4, [%[r], 0]\n\t"
  66911. "adcs x6, x6, x10\n\t"
  66912. "stp x5, x6, [%[r], 16]\n\t"
  66913. "ldp x3, x4, [%[a], 32]\n\t"
  66914. "ldp x7, x8, [%[b], 32]\n\t"
  66915. "adcs x3, x3, x7\n\t"
  66916. "ldp x5, x6, [%[a], 48]\n\t"
  66917. "adcs x4, x4, x8\n\t"
  66918. "ldp x9, x10, [%[b], 48]\n\t"
  66919. "adcs x5, x5, x9\n\t"
  66920. "stp x3, x4, [%[r], 32]\n\t"
  66921. "adcs x6, x6, x10\n\t"
  66922. "stp x5, x6, [%[r], 48]\n\t"
  66923. "ldr x3, [%[a], 64]\n\t"
  66924. "ldr x7, [%[b], 64]\n\t"
  66925. "adcs x3, x3, x7\n\t"
  66926. "str x3, [%[r], 64]\n\t"
  66927. "cset %[r], cs\n\t"
  66928. : [r] "+r" (r)
  66929. : [a] "r" (a), [b] "r" (b)
  66930. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  66931. );
  66932. return (sp_digit)r;
  66933. }
  66934. #endif /* WOLFSSL_SP_SMALL */
  66935. #ifdef WOLFSSL_SP_SMALL
  66936. /* Sub b from a into r. (r = a - b)
  66937. *
  66938. * r A single precision integer.
  66939. * a A single precision integer.
  66940. * b A single precision integer.
  66941. */
  66942. static sp_digit sp_521_sub_9(sp_digit* r, const sp_digit* a,
  66943. const sp_digit* b)
  66944. {
  66945. sp_digit c = 0;
  66946. __asm__ __volatile__ (
  66947. "add x11, %[a], 64\n\t"
  66948. "\n1:\n\t"
  66949. "subs %[c], xzr, %[c]\n\t"
  66950. "ldp x3, x4, [%[a]], #16\n\t"
  66951. "ldp x5, x6, [%[a]], #16\n\t"
  66952. "ldp x7, x8, [%[b]], #16\n\t"
  66953. "sbcs x3, x3, x7\n\t"
  66954. "ldp x9, x10, [%[b]], #16\n\t"
  66955. "sbcs x4, x4, x8\n\t"
  66956. "sbcs x5, x5, x9\n\t"
  66957. "stp x3, x4, [%[r]], #16\n\t"
  66958. "sbcs x6, x6, x10\n\t"
  66959. "stp x5, x6, [%[r]], #16\n\t"
  66960. "csetm %[c], cc\n\t"
  66961. "cmp %[a], x11\n\t"
  66962. "b.ne 1b\n\t"
  66963. "subs %[c], xzr, %[c]\n\t"
  66964. "ldr x3, [%[a]], #8\n\t"
  66965. "ldr x7, [%[b]], #8\n\t"
  66966. "sbcs x3, x3, x7\n\t"
  66967. "str x3, [%[r]], #8\n\t"
  66968. "csetm %[c], cc\n\t"
  66969. : [c] "+r" (c), [r] "+r" (r), [a] "+r" (a), [b] "+r" (b)
  66970. :
  66971. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  66972. );
  66973. return c;
  66974. }
  66975. #else
  66976. /* Sub b from a into r. (r = a - b)
  66977. *
  66978. * r A single precision integer.
  66979. * a A single precision integer.
  66980. * b A single precision integer.
  66981. */
  66982. static sp_digit sp_521_sub_9(sp_digit* r, const sp_digit* a,
  66983. const sp_digit* b)
  66984. {
  66985. __asm__ __volatile__ (
  66986. "ldp x3, x4, [%[a], 0]\n\t"
  66987. "ldp x7, x8, [%[b], 0]\n\t"
  66988. "subs x3, x3, x7\n\t"
  66989. "ldp x5, x6, [%[a], 16]\n\t"
  66990. "sbcs x4, x4, x8\n\t"
  66991. "ldp x9, x10, [%[b], 16]\n\t"
  66992. "sbcs x5, x5, x9\n\t"
  66993. "stp x3, x4, [%[r], 0]\n\t"
  66994. "sbcs x6, x6, x10\n\t"
  66995. "stp x5, x6, [%[r], 16]\n\t"
  66996. "ldp x3, x4, [%[a], 32]\n\t"
  66997. "ldp x7, x8, [%[b], 32]\n\t"
  66998. "sbcs x3, x3, x7\n\t"
  66999. "ldp x5, x6, [%[a], 48]\n\t"
  67000. "sbcs x4, x4, x8\n\t"
  67001. "ldp x9, x10, [%[b], 48]\n\t"
  67002. "sbcs x5, x5, x9\n\t"
  67003. "stp x3, x4, [%[r], 32]\n\t"
  67004. "sbcs x6, x6, x10\n\t"
  67005. "stp x5, x6, [%[r], 48]\n\t"
  67006. "ldr x3, [%[a], 64]\n\t"
  67007. "ldr x7, [%[b], 64]\n\t"
  67008. "sbcs x3, x3, x7\n\t"
  67009. "str x3, [%[r], 64]\n\t"
  67010. "csetm %[r], cc\n\t"
  67011. : [r] "+r" (r)
  67012. : [a] "r" (a), [b] "r" (b)
  67013. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  67014. );
  67015. return (sp_digit)r;
  67016. }
  67017. #endif /* WOLFSSL_SP_SMALL */
  67018. static void sp_521_lshift_9(sp_digit* r, const sp_digit* a, byte n)
  67019. {
  67020. word64 n64 = n;
  67021. __asm__ __volatile__ (
  67022. "mov x6, 63\n\t"
  67023. "sub x6, x6, %[n]\n\t"
  67024. "ldr x3, [%[a], 64]\n\t"
  67025. "lsr x4, x3, 1\n\t"
  67026. "lsl x3, x3, %[n]\n\t"
  67027. "lsr x4, x4, x6\n\t"
  67028. "ldr x2, [%[a], 56]\n\t"
  67029. "str x4, [%[r], 72]\n\t"
  67030. "lsr x5, x2, 1\n\t"
  67031. "lsl x2, x2, %[n]\n\t"
  67032. "lsr x5, x5, x6\n\t"
  67033. "orr x3, x3, x5\n\t"
  67034. "ldr x4, [%[a], 48]\n\t"
  67035. "str x3, [%[r], 64]\n\t"
  67036. "lsr x5, x4, 1\n\t"
  67037. "lsl x4, x4, %[n]\n\t"
  67038. "lsr x5, x5, x6\n\t"
  67039. "orr x2, x2, x5\n\t"
  67040. "ldr x3, [%[a], 40]\n\t"
  67041. "str x2, [%[r], 56]\n\t"
  67042. "lsr x5, x3, 1\n\t"
  67043. "lsl x3, x3, %[n]\n\t"
  67044. "lsr x5, x5, x6\n\t"
  67045. "orr x4, x4, x5\n\t"
  67046. "ldr x2, [%[a], 32]\n\t"
  67047. "str x4, [%[r], 48]\n\t"
  67048. "lsr x5, x2, 1\n\t"
  67049. "lsl x2, x2, %[n]\n\t"
  67050. "lsr x5, x5, x6\n\t"
  67051. "orr x3, x3, x5\n\t"
  67052. "ldr x4, [%[a], 24]\n\t"
  67053. "str x3, [%[r], 40]\n\t"
  67054. "lsr x5, x4, 1\n\t"
  67055. "lsl x4, x4, %[n]\n\t"
  67056. "lsr x5, x5, x6\n\t"
  67057. "orr x2, x2, x5\n\t"
  67058. "ldr x3, [%[a], 16]\n\t"
  67059. "str x2, [%[r], 32]\n\t"
  67060. "lsr x5, x3, 1\n\t"
  67061. "lsl x3, x3, %[n]\n\t"
  67062. "lsr x5, x5, x6\n\t"
  67063. "orr x4, x4, x5\n\t"
  67064. "ldr x2, [%[a], 8]\n\t"
  67065. "str x4, [%[r], 24]\n\t"
  67066. "lsr x5, x2, 1\n\t"
  67067. "lsl x2, x2, %[n]\n\t"
  67068. "lsr x5, x5, x6\n\t"
  67069. "orr x3, x3, x5\n\t"
  67070. "ldr x4, [%[a], 0]\n\t"
  67071. "str x3, [%[r], 16]\n\t"
  67072. "lsr x5, x4, 1\n\t"
  67073. "lsl x4, x4, %[n]\n\t"
  67074. "lsr x5, x5, x6\n\t"
  67075. "orr x2, x2, x5\n\t"
  67076. "stp x4, x2, [%[r]]\n\t"
  67077. :
  67078. : [r] "r" (r), [a] "r" (a), [n] "r" (n64)
  67079. : "memory", "x2", "x3", "x4", "x5", "x6"
  67080. );
  67081. }
  67082. static void sp_521_lshift_18(sp_digit* r, const sp_digit* a, byte n)
  67083. {
  67084. word64 n64 = n;
  67085. __asm__ __volatile__ (
  67086. "mov x6, 63\n\t"
  67087. "sub x6, x6, %[n]\n\t"
  67088. "ldr x3, [%[a], 136]\n\t"
  67089. "lsr x4, x3, 1\n\t"
  67090. "lsl x3, x3, %[n]\n\t"
  67091. "lsr x4, x4, x6\n\t"
  67092. "ldr x2, [%[a], 128]\n\t"
  67093. "str x4, [%[r], 144]\n\t"
  67094. "lsr x5, x2, 1\n\t"
  67095. "lsl x2, x2, %[n]\n\t"
  67096. "lsr x5, x5, x6\n\t"
  67097. "orr x3, x3, x5\n\t"
  67098. "ldr x4, [%[a], 120]\n\t"
  67099. "str x3, [%[r], 136]\n\t"
  67100. "lsr x5, x4, 1\n\t"
  67101. "lsl x4, x4, %[n]\n\t"
  67102. "lsr x5, x5, x6\n\t"
  67103. "orr x2, x2, x5\n\t"
  67104. "ldr x3, [%[a], 112]\n\t"
  67105. "str x2, [%[r], 128]\n\t"
  67106. "lsr x5, x3, 1\n\t"
  67107. "lsl x3, x3, %[n]\n\t"
  67108. "lsr x5, x5, x6\n\t"
  67109. "orr x4, x4, x5\n\t"
  67110. "ldr x2, [%[a], 104]\n\t"
  67111. "str x4, [%[r], 120]\n\t"
  67112. "lsr x5, x2, 1\n\t"
  67113. "lsl x2, x2, %[n]\n\t"
  67114. "lsr x5, x5, x6\n\t"
  67115. "orr x3, x3, x5\n\t"
  67116. "ldr x4, [%[a], 96]\n\t"
  67117. "str x3, [%[r], 112]\n\t"
  67118. "lsr x5, x4, 1\n\t"
  67119. "lsl x4, x4, %[n]\n\t"
  67120. "lsr x5, x5, x6\n\t"
  67121. "orr x2, x2, x5\n\t"
  67122. "ldr x3, [%[a], 88]\n\t"
  67123. "str x2, [%[r], 104]\n\t"
  67124. "lsr x5, x3, 1\n\t"
  67125. "lsl x3, x3, %[n]\n\t"
  67126. "lsr x5, x5, x6\n\t"
  67127. "orr x4, x4, x5\n\t"
  67128. "ldr x2, [%[a], 80]\n\t"
  67129. "str x4, [%[r], 96]\n\t"
  67130. "lsr x5, x2, 1\n\t"
  67131. "lsl x2, x2, %[n]\n\t"
  67132. "lsr x5, x5, x6\n\t"
  67133. "orr x3, x3, x5\n\t"
  67134. "ldr x4, [%[a], 72]\n\t"
  67135. "str x3, [%[r], 88]\n\t"
  67136. "lsr x5, x4, 1\n\t"
  67137. "lsl x4, x4, %[n]\n\t"
  67138. "lsr x5, x5, x6\n\t"
  67139. "orr x2, x2, x5\n\t"
  67140. "ldr x3, [%[a], 64]\n\t"
  67141. "str x2, [%[r], 80]\n\t"
  67142. "lsr x5, x3, 1\n\t"
  67143. "lsl x3, x3, %[n]\n\t"
  67144. "lsr x5, x5, x6\n\t"
  67145. "orr x4, x4, x5\n\t"
  67146. "ldr x2, [%[a], 56]\n\t"
  67147. "str x4, [%[r], 72]\n\t"
  67148. "lsr x5, x2, 1\n\t"
  67149. "lsl x2, x2, %[n]\n\t"
  67150. "lsr x5, x5, x6\n\t"
  67151. "orr x3, x3, x5\n\t"
  67152. "ldr x4, [%[a], 48]\n\t"
  67153. "str x3, [%[r], 64]\n\t"
  67154. "lsr x5, x4, 1\n\t"
  67155. "lsl x4, x4, %[n]\n\t"
  67156. "lsr x5, x5, x6\n\t"
  67157. "orr x2, x2, x5\n\t"
  67158. "ldr x3, [%[a], 40]\n\t"
  67159. "str x2, [%[r], 56]\n\t"
  67160. "lsr x5, x3, 1\n\t"
  67161. "lsl x3, x3, %[n]\n\t"
  67162. "lsr x5, x5, x6\n\t"
  67163. "orr x4, x4, x5\n\t"
  67164. "ldr x2, [%[a], 32]\n\t"
  67165. "str x4, [%[r], 48]\n\t"
  67166. "lsr x5, x2, 1\n\t"
  67167. "lsl x2, x2, %[n]\n\t"
  67168. "lsr x5, x5, x6\n\t"
  67169. "orr x3, x3, x5\n\t"
  67170. "ldr x4, [%[a], 24]\n\t"
  67171. "str x3, [%[r], 40]\n\t"
  67172. "lsr x5, x4, 1\n\t"
  67173. "lsl x4, x4, %[n]\n\t"
  67174. "lsr x5, x5, x6\n\t"
  67175. "orr x2, x2, x5\n\t"
  67176. "ldr x3, [%[a], 16]\n\t"
  67177. "str x2, [%[r], 32]\n\t"
  67178. "lsr x5, x3, 1\n\t"
  67179. "lsl x3, x3, %[n]\n\t"
  67180. "lsr x5, x5, x6\n\t"
  67181. "orr x4, x4, x5\n\t"
  67182. "ldr x2, [%[a], 8]\n\t"
  67183. "str x4, [%[r], 24]\n\t"
  67184. "lsr x5, x2, 1\n\t"
  67185. "lsl x2, x2, %[n]\n\t"
  67186. "lsr x5, x5, x6\n\t"
  67187. "orr x3, x3, x5\n\t"
  67188. "ldr x4, [%[a], 0]\n\t"
  67189. "str x3, [%[r], 16]\n\t"
  67190. "lsr x5, x4, 1\n\t"
  67191. "lsl x4, x4, %[n]\n\t"
  67192. "lsr x5, x5, x6\n\t"
  67193. "orr x2, x2, x5\n\t"
  67194. "stp x4, x2, [%[r]]\n\t"
  67195. :
  67196. : [r] "r" (r), [a] "r" (a), [n] "r" (n64)
  67197. : "memory", "x2", "x3", "x4", "x5", "x6"
  67198. );
  67199. }
  67200. static void sp_521_rshift_9(sp_digit* r, const sp_digit* a, byte n)
  67201. {
  67202. sp_uint64 nl = n;
  67203. __asm__ __volatile__ (
  67204. "mov x6, 64\n\t"
  67205. "sub x6, x6, %[n]\n\t"
  67206. "ldp x2, x3, [%[a]]\n\t"
  67207. "lsr x2, x2, %[n]\n\t"
  67208. "lsl x5, x3, x6\n\t"
  67209. "lsr x3, x3, %[n]\n\t"
  67210. "orr x2, x2, x5\n\t"
  67211. "ldr x4, [%[a], 16]\n\t"
  67212. "str x2, [%[r], 0]\n\t"
  67213. "lsl x5, x4, x6\n\t"
  67214. "lsr x4, x4, %[n]\n\t"
  67215. "orr x3, x3, x5\n\t"
  67216. "ldr x2, [%[a], 24]\n\t"
  67217. "str x3, [%[r], 8]\n\t"
  67218. "lsl x5, x2, x6\n\t"
  67219. "lsr x2, x2, %[n]\n\t"
  67220. "orr x4, x4, x5\n\t"
  67221. "ldr x3, [%[a], 32]\n\t"
  67222. "str x4, [%[r], 16]\n\t"
  67223. "lsl x5, x3, x6\n\t"
  67224. "lsr x3, x3, %[n]\n\t"
  67225. "orr x2, x2, x5\n\t"
  67226. "ldr x4, [%[a], 40]\n\t"
  67227. "str x2, [%[r], 24]\n\t"
  67228. "lsl x5, x4, x6\n\t"
  67229. "lsr x4, x4, %[n]\n\t"
  67230. "orr x3, x3, x5\n\t"
  67231. "ldr x2, [%[a], 48]\n\t"
  67232. "str x3, [%[r], 32]\n\t"
  67233. "lsl x5, x2, x6\n\t"
  67234. "lsr x2, x2, %[n]\n\t"
  67235. "orr x4, x4, x5\n\t"
  67236. "ldr x3, [%[a], 56]\n\t"
  67237. "str x4, [%[r], 40]\n\t"
  67238. "lsl x5, x3, x6\n\t"
  67239. "lsr x3, x3, %[n]\n\t"
  67240. "orr x2, x2, x5\n\t"
  67241. "ldr x4, [%[a], 64]\n\t"
  67242. "str x2, [%[r], 48]\n\t"
  67243. "lsl x5, x4, x6\n\t"
  67244. "lsr x4, x4, %[n]\n\t"
  67245. "orr x3, x3, x5\n\t"
  67246. "stp x3, x4, [%[r], 56]\n\t"
  67247. :
  67248. : [r] "r" (r), [a] "r" (a), [n] "r" (nl)
  67249. : "memory", "x2", "x3", "x4", "x5", "x6"
  67250. );
  67251. }
  67252. #ifdef WOLFSSL_SP_SMALL
  67253. /* Sub b from a into a. (a -= b)
  67254. *
  67255. * a A single precision integer.
  67256. * b A single precision integer.
  67257. */
  67258. static sp_digit sp_521_sub_in_place_9(sp_digit* a, const sp_digit* b)
  67259. {
  67260. sp_digit c = 0;
  67261. __asm__ __volatile__ (
  67262. "add x10, %[a], 64\n\t"
  67263. "\n1:\n\t"
  67264. "subs %[c], xzr, %[c]\n\t"
  67265. "ldp x2, x3, [%[a]]\n\t"
  67266. "ldp x4, x5, [%[a], #16]\n\t"
  67267. "ldp x6, x7, [%[b]], #16\n\t"
  67268. "sbcs x2, x2, x6\n\t"
  67269. "ldp x8, x9, [%[b]], #16\n\t"
  67270. "sbcs x3, x3, x7\n\t"
  67271. "sbcs x4, x4, x8\n\t"
  67272. "stp x2, x3, [%[a]], #16\n\t"
  67273. "sbcs x5, x5, x9\n\t"
  67274. "stp x4, x5, [%[a]], #16\n\t"
  67275. "csetm %[c], cc\n\t"
  67276. "cmp %[a], x10\n\t"
  67277. "b.ne 1b\n\t"
  67278. "subs %[c], xzr, %[c]\n\t"
  67279. "ldr x2, [%[a], 0]\n\t"
  67280. "ldr x6, [%[b]], #8\n\t"
  67281. "sbcs x2, x2, x6\n\t"
  67282. "str x2, [%[a]], #8\n\t"
  67283. "csetm %[c], cc\n\t"
  67284. : [c] "+r" (c), [a] "+r" (a), [b] "+r" (b)
  67285. :
  67286. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  67287. );
  67288. return c;
  67289. }
  67290. #else
  67291. /* Sub b from a into a. (a -= b)
  67292. *
  67293. * a A single precision integer and result.
  67294. * b A single precision integer.
  67295. */
  67296. static sp_digit sp_521_sub_in_place_9(sp_digit* a, const sp_digit* b)
  67297. {
  67298. __asm__ __volatile__ (
  67299. "ldp x2, x3, [%[a], 0]\n\t"
  67300. "ldp x6, x7, [%[b], 0]\n\t"
  67301. "subs x2, x2, x6\n\t"
  67302. "ldp x4, x5, [%[a], 16]\n\t"
  67303. "sbcs x3, x3, x7\n\t"
  67304. "ldp x8, x9, [%[b], 16]\n\t"
  67305. "sbcs x4, x4, x8\n\t"
  67306. "stp x2, x3, [%[a], 0]\n\t"
  67307. "sbcs x5, x5, x9\n\t"
  67308. "stp x4, x5, [%[a], 16]\n\t"
  67309. "ldp x2, x3, [%[a], 32]\n\t"
  67310. "ldp x6, x7, [%[b], 32]\n\t"
  67311. "sbcs x2, x2, x6\n\t"
  67312. "ldp x4, x5, [%[a], 48]\n\t"
  67313. "sbcs x3, x3, x7\n\t"
  67314. "ldp x8, x9, [%[b], 48]\n\t"
  67315. "sbcs x4, x4, x8\n\t"
  67316. "stp x2, x3, [%[a], 32]\n\t"
  67317. "sbcs x5, x5, x9\n\t"
  67318. "stp x4, x5, [%[a], 48]\n\t"
  67319. "ldr x2, [%[a], 64]\n\t"
  67320. "ldr x6, [%[b], 64]\n\t"
  67321. "sbcs x2, x2, x6\n\t"
  67322. "str x2, [%[a], 64]\n\t"
  67323. "csetm %[a], cc\n\t"
  67324. : [a] "+r" (a)
  67325. : [b] "r" (b)
  67326. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  67327. );
  67328. return (sp_digit)a;
  67329. }
  67330. #endif /* WOLFSSL_SP_SMALL */
  67331. /* Conditionally subtract b from a using the mask m.
  67332. * m is -1 to subtract and 0 when not copying.
  67333. *
  67334. * r A single precision number representing condition subtract result.
  67335. * a A single precision number to subtract from.
  67336. * b A single precision number to subtract.
  67337. * m Mask value to apply.
  67338. */
  67339. static sp_digit sp_521_cond_sub_9(sp_digit* r, const sp_digit* a, const sp_digit* b,
  67340. sp_digit m)
  67341. {
  67342. #ifdef WOLFSSL_SP_SMALL
  67343. sp_digit c = 0;
  67344. __asm__ __volatile__ (
  67345. "mov x8, #0\n\t"
  67346. "1:\n\t"
  67347. "subs %[c], xzr, %[c]\n\t"
  67348. "ldr x4, [%[a], x8]\n\t"
  67349. "ldr x5, [%[b], x8]\n\t"
  67350. "and x5, x5, %[m]\n\t"
  67351. "sbcs x4, x4, x5\n\t"
  67352. "csetm %[c], cc\n\t"
  67353. "str x4, [%[r], x8]\n\t"
  67354. "add x8, x8, #8\n\t"
  67355. "cmp x8, 72\n\t"
  67356. "b.lt 1b\n\t"
  67357. : [c] "+r" (c)
  67358. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  67359. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  67360. );
  67361. return c;
  67362. #else
  67363. __asm__ __volatile__ (
  67364. "ldp x5, x7, [%[b], 0]\n\t"
  67365. "ldp x11, x12, [%[b], 16]\n\t"
  67366. "ldp x4, x6, [%[a], 0]\n\t"
  67367. "and x5, x5, %[m]\n\t"
  67368. "ldp x9, x10, [%[a], 16]\n\t"
  67369. "and x7, x7, %[m]\n\t"
  67370. "subs x4, x4, x5\n\t"
  67371. "and x11, x11, %[m]\n\t"
  67372. "sbcs x6, x6, x7\n\t"
  67373. "and x12, x12, %[m]\n\t"
  67374. "sbcs x9, x9, x11\n\t"
  67375. "stp x4, x6, [%[r], 0]\n\t"
  67376. "sbcs x10, x10, x12\n\t"
  67377. "stp x9, x10, [%[r], 16]\n\t"
  67378. "ldp x5, x7, [%[b], 32]\n\t"
  67379. "ldp x11, x12, [%[b], 48]\n\t"
  67380. "ldp x4, x6, [%[a], 32]\n\t"
  67381. "and x5, x5, %[m]\n\t"
  67382. "ldp x9, x10, [%[a], 48]\n\t"
  67383. "and x7, x7, %[m]\n\t"
  67384. "sbcs x4, x4, x5\n\t"
  67385. "and x11, x11, %[m]\n\t"
  67386. "sbcs x6, x6, x7\n\t"
  67387. "and x12, x12, %[m]\n\t"
  67388. "sbcs x9, x9, x11\n\t"
  67389. "stp x4, x6, [%[r], 32]\n\t"
  67390. "sbcs x10, x10, x12\n\t"
  67391. "stp x9, x10, [%[r], 48]\n\t"
  67392. "ldr x5, [%[b], 64]\n\t"
  67393. "ldr x4, [%[a], 64]\n\t"
  67394. "and x5, x5, %[m]\n\t"
  67395. "sbcs x4, x4, x5\n\t"
  67396. "str x4, [%[r], 64]\n\t"
  67397. "csetm %[r], cc\n\t"
  67398. : [r] "+r" (r)
  67399. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  67400. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  67401. );
  67402. return (sp_digit)r;
  67403. #endif /* WOLFSSL_SP_SMALL */
  67404. }
  67405. /* Mul a by digit b into r. (r = a * b)
  67406. *
  67407. * r A single precision integer.
  67408. * a A single precision integer.
  67409. * b A single precision digit.
  67410. */
  67411. static void sp_521_mul_d_9(sp_digit* r, const sp_digit* a,
  67412. sp_digit b)
  67413. {
  67414. #ifdef WOLFSSL_SP_SMALL
  67415. __asm__ __volatile__ (
  67416. "# A[0] * B\n\t"
  67417. "ldr x8, [%[a]]\n\t"
  67418. "mul x5, %[b], x8\n\t"
  67419. "umulh x3, %[b], x8\n\t"
  67420. "mov x4, xzr\n\t"
  67421. "str x5, [%[r]]\n\t"
  67422. "mov x5, xzr\n\t"
  67423. "mov x9, #8\n\t"
  67424. "1:\n\t"
  67425. "ldr x8, [%[a], x9]\n\t"
  67426. "mul x6, %[b], x8\n\t"
  67427. "umulh x7, %[b], x8\n\t"
  67428. "adds x3, x3, x6\n\t"
  67429. "adcs x4, x4, x7\n\t"
  67430. "adc x5, xzr, xzr\n\t"
  67431. "str x3, [%[r], x9]\n\t"
  67432. "mov x3, x4\n\t"
  67433. "mov x4, x5\n\t"
  67434. "mov x5, #0\n\t"
  67435. "add x9, x9, #8\n\t"
  67436. "cmp x9, 72\n\t"
  67437. "b.lt 1b\n\t"
  67438. "str x3, [%[r], 72]\n\t"
  67439. :
  67440. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  67441. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  67442. );
  67443. #else
  67444. __asm__ __volatile__ (
  67445. "# A[0] * B\n\t"
  67446. "ldp x9, x10, [%[a]]\n\t"
  67447. "mul x3, %[b], x9\n\t"
  67448. "umulh x4, %[b], x9\n\t"
  67449. "mov x5, xzr\n\t"
  67450. "# A[1] * B\n\t"
  67451. "str x3, [%[r]]\n\t"
  67452. "mul x6, %[b], x10\n\t"
  67453. "mov x3, xzr\n\t"
  67454. "umulh x7, %[b], x10\n\t"
  67455. "adds x4, x4, x6\n\t"
  67456. "# A[2] * B\n\t"
  67457. "ldp x9, x10, [%[a], 16]\n\t"
  67458. "str x4, [%[r], 8]\n\t"
  67459. "adcs x5, x5, x7\n\t"
  67460. "mul x6, %[b], x9\n\t"
  67461. "mov x4, xzr\n\t"
  67462. "umulh x7, %[b], x9\n\t"
  67463. "adc x3, xzr, xzr\n\t"
  67464. "adds x5, x5, x6\n\t"
  67465. "# A[3] * B\n\t"
  67466. "str x5, [%[r], 16]\n\t"
  67467. "adcs x3, x3, x7\n\t"
  67468. "mul x6, %[b], x10\n\t"
  67469. "mov x5, xzr\n\t"
  67470. "umulh x7, %[b], x10\n\t"
  67471. "adc x4, xzr, xzr\n\t"
  67472. "adds x3, x3, x6\n\t"
  67473. "# A[4] * B\n\t"
  67474. "ldp x9, x10, [%[a], 32]\n\t"
  67475. "str x3, [%[r], 24]\n\t"
  67476. "adcs x4, x4, x7\n\t"
  67477. "mul x6, %[b], x9\n\t"
  67478. "mov x3, xzr\n\t"
  67479. "umulh x7, %[b], x9\n\t"
  67480. "adc x5, xzr, xzr\n\t"
  67481. "adds x4, x4, x6\n\t"
  67482. "# A[5] * B\n\t"
  67483. "str x4, [%[r], 32]\n\t"
  67484. "adcs x5, x5, x7\n\t"
  67485. "mul x6, %[b], x10\n\t"
  67486. "mov x4, xzr\n\t"
  67487. "umulh x7, %[b], x10\n\t"
  67488. "adc x3, xzr, xzr\n\t"
  67489. "adds x5, x5, x6\n\t"
  67490. "# A[6] * B\n\t"
  67491. "ldr x9, [%[a], 48]\n\t"
  67492. "str x5, [%[r], 40]\n\t"
  67493. "adcs x3, x3, x7\n\t"
  67494. "mul x6, %[b], x9\n\t"
  67495. "mov x5, xzr\n\t"
  67496. "umulh x7, %[b], x9\n\t"
  67497. "adc x4, xzr, xzr\n\t"
  67498. "adds x3, x3, x6\n\t"
  67499. "# A[7] * B\n\t"
  67500. "ldp x9, x10, [%[a], 56]\n\t"
  67501. "str x3, [%[r], 48]\n\t"
  67502. "adcs x4, x4, x7\n\t"
  67503. "mul x6, %[b], x9\n\t"
  67504. "mov x3, xzr\n\t"
  67505. "umulh x7, %[b], x9\n\t"
  67506. "adc x5, xzr, xzr\n\t"
  67507. "adds x4, x4, x6\n\t"
  67508. "# A[8] * B\n\t"
  67509. "str x4, [%[r], 56]\n\t"
  67510. "mul x6, %[b], x10\n\t"
  67511. "adcs x5, x5, x7\n\t"
  67512. "umulh x7, %[b], x10\n\t"
  67513. "adc x3, xzr, xzr\n\t"
  67514. "adds x5, x5, x6\n\t"
  67515. "adc x3, x3, x7\n\t"
  67516. "str x5, [%[r], 64]\n\t"
  67517. "str x3, [%[r], 72]\n\t"
  67518. :
  67519. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  67520. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  67521. );
  67522. #endif
  67523. }
  67524. /* Divide the double width number (d1|d0) by the divisor. (d1|d0 / div)
  67525. *
  67526. * Assumes divisor has higest bit set.
  67527. *
  67528. * d1 The high order half of the number to divide.
  67529. * d0 The low order half of the number to divide.
  67530. * div The divisor.
  67531. * returns the result of the division.
  67532. */
  67533. static sp_digit div_521_word_9(sp_digit d1, sp_digit d0, sp_digit div)
  67534. {
  67535. __asm__ __volatile__ (
  67536. "lsr x8, %[div], 32\n\t"
  67537. "add x5, x8, 1\n\t"
  67538. "udiv x3, %[d1], x5\n\t"
  67539. "lsl x7, %[div], 32\n\t"
  67540. "movz x9, #1, lsl 32\n\t"
  67541. "lsl x6, x3, 32\n\t"
  67542. "mul x4, %[div], x6\n\t"
  67543. "umulh x3, %[div], x6\n\t"
  67544. "subs %[d0], %[d0], x4\n\t"
  67545. "sbc %[d1], %[d1], x3\n\t"
  67546. "cmp %[d1], x5\n\t"
  67547. "cset x9, ge\n\t"
  67548. "csetm x10, ge\n\t"
  67549. "lsl x9, x9, #32\n\t"
  67550. "and x7, x7, x10\n\t"
  67551. "and x8, x8, x10\n\t"
  67552. "subs %[d0], %[d0], x7\n\t"
  67553. "add x6, x6, x9\n\t"
  67554. "sbc %[d1], %[d1], x8\n\t"
  67555. "extr x3, %[d1], %[d0], 32\n\t"
  67556. "udiv x3, x3, x5\n\t"
  67557. "add x6, x6, x3\n\t"
  67558. "mul x4, %[div], x3\n\t"
  67559. "umulh x3, %[div], x3\n\t"
  67560. "subs %[d0], %[d0], x4\n\t"
  67561. "sbc %[d1], %[d1], x3\n\t"
  67562. "extr x3, %[d1], %[d0], 32\n\t"
  67563. "udiv x3, x3, x5\n\t"
  67564. "add x6, x6, x3\n\t"
  67565. "mul x4, %[div], x3\n\t"
  67566. "sub %[d0], %[d0], x4\n\t"
  67567. "udiv x3, %[d0], %[div]\n\t"
  67568. "add %[d1], x6, x3\n\t"
  67569. : [d1] "+r" (d1), [d0] "+r" (d0)
  67570. : [div] "r" (div)
  67571. : "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  67572. );
  67573. return d1;
  67574. }
  67575. /* AND m into each word of a and store in r.
  67576. *
  67577. * r A single precision integer.
  67578. * a A single precision integer.
  67579. * m Mask to AND against each digit.
  67580. */
  67581. static void sp_521_mask_9(sp_digit* r, const sp_digit* a, sp_digit m)
  67582. {
  67583. #ifdef WOLFSSL_SP_SMALL
  67584. int i;
  67585. for (i=0; i<9; i++) {
  67586. r[i] = a[i] & m;
  67587. }
  67588. #else
  67589. r[0] = a[0] & m;
  67590. r[1] = a[1] & m;
  67591. r[2] = a[2] & m;
  67592. r[3] = a[3] & m;
  67593. r[4] = a[4] & m;
  67594. r[5] = a[5] & m;
  67595. r[6] = a[6] & m;
  67596. r[7] = a[7] & m;
  67597. r[8] = a[8] & m;
  67598. #endif
  67599. }
  67600. /* Compare a with b in constant time.
  67601. *
  67602. * a A single precision integer.
  67603. * b A single precision integer.
  67604. * return -ve, 0 or +ve if a is less than, equal to or greater than b
  67605. * respectively.
  67606. */
  67607. static sp_int64 sp_521_cmp_9(const sp_digit* a, const sp_digit* b)
  67608. {
  67609. #ifdef WOLFSSL_SP_SMALL
  67610. __asm__ __volatile__ (
  67611. "mov x3, #0\n\t"
  67612. "mov x2, #-1\n\t"
  67613. "mov x10, #8\n\t"
  67614. "add %[a], %[a], #56\n\t"
  67615. "add %[b], %[b], #56\n\t"
  67616. "1:\n\t"
  67617. "ldp x6, x7, [%[a]], -16\n\t"
  67618. "ldp x8, x9, [%[b]], -16\n\t"
  67619. "subs x7, x7, x9\n\t"
  67620. "csel x4, x2, xzr, lo\n\t"
  67621. "csetm x5, eq\n\t"
  67622. "orr x3, x3, x4\n\t"
  67623. "and x2, x2, x5\n\t"
  67624. "subs x6, x6, x8\n\t"
  67625. "csel x4, x2, xzr, lo\n\t"
  67626. "csetm x5, eq\n\t"
  67627. "orr x3, x3, x4\n\t"
  67628. "and x2, x2, x5\n\t"
  67629. "subs x10, x10, #2\n\t"
  67630. "b.ne 1b\n\t"
  67631. "ldr x6, [%[a], 8]\n\t"
  67632. "ldr x8, [%[b], 8]\n\t"
  67633. "subs x6, x6, x8\n\t"
  67634. "csel x4, x2, xzr, lo\n\t"
  67635. "csetm x5, eq\n\t"
  67636. "orr x3, x3, x4\n\t"
  67637. "and x2, x2, x5\n\t"
  67638. "cmp x2, #0\n\t"
  67639. "cset %[a], eq\n\t"
  67640. "orr %[a], %[a], x3\n\t"
  67641. : [a] "+r" (a), [b] "+r" (b)
  67642. :
  67643. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  67644. );
  67645. #else
  67646. __asm__ __volatile__ (
  67647. "mov x3, #0\n\t"
  67648. "mov x2, #-1\n\t"
  67649. "ldp x6, x7, [%[a], 56]\n\t"
  67650. "ldp x8, x9, [%[b], 56]\n\t"
  67651. "subs x7, x7, x9\n\t"
  67652. "csel x4, x2, xzr, lo\n\t"
  67653. "csetm x5, eq\n\t"
  67654. "orr x3, x3, x4\n\t"
  67655. "and x2, x2, x5\n\t"
  67656. "subs x6, x6, x8\n\t"
  67657. "csel x4, x2, xzr, lo\n\t"
  67658. "csetm x5, eq\n\t"
  67659. "orr x3, x3, x4\n\t"
  67660. "and x2, x2, x5\n\t"
  67661. "ldp x6, x7, [%[a], 40]\n\t"
  67662. "ldp x8, x9, [%[b], 40]\n\t"
  67663. "subs x7, x7, x9\n\t"
  67664. "csel x4, x2, xzr, lo\n\t"
  67665. "csetm x5, eq\n\t"
  67666. "orr x3, x3, x4\n\t"
  67667. "and x2, x2, x5\n\t"
  67668. "subs x6, x6, x8\n\t"
  67669. "csel x4, x2, xzr, lo\n\t"
  67670. "csetm x5, eq\n\t"
  67671. "orr x3, x3, x4\n\t"
  67672. "and x2, x2, x5\n\t"
  67673. "ldp x6, x7, [%[a], 24]\n\t"
  67674. "ldp x8, x9, [%[b], 24]\n\t"
  67675. "subs x7, x7, x9\n\t"
  67676. "csel x4, x2, xzr, lo\n\t"
  67677. "csetm x5, eq\n\t"
  67678. "orr x3, x3, x4\n\t"
  67679. "and x2, x2, x5\n\t"
  67680. "subs x6, x6, x8\n\t"
  67681. "csel x4, x2, xzr, lo\n\t"
  67682. "csetm x5, eq\n\t"
  67683. "orr x3, x3, x4\n\t"
  67684. "and x2, x2, x5\n\t"
  67685. "ldp x6, x7, [%[a], 8]\n\t"
  67686. "ldp x8, x9, [%[b], 8]\n\t"
  67687. "subs x7, x7, x9\n\t"
  67688. "csel x4, x2, xzr, lo\n\t"
  67689. "csetm x5, eq\n\t"
  67690. "orr x3, x3, x4\n\t"
  67691. "and x2, x2, x5\n\t"
  67692. "subs x6, x6, x8\n\t"
  67693. "csel x4, x2, xzr, lo\n\t"
  67694. "csetm x5, eq\n\t"
  67695. "orr x3, x3, x4\n\t"
  67696. "and x2, x2, x5\n\t"
  67697. "ldr x6, [%[a]]\n\t"
  67698. "ldr x8, [%[b]]\n\t"
  67699. "subs x6, x6, x8\n\t"
  67700. "csel x4, x2, xzr, lo\n\t"
  67701. "csetm x5, eq\n\t"
  67702. "orr x3, x3, x4\n\t"
  67703. "and x2, x2, x5\n\t"
  67704. "cmp x2, #0\n\t"
  67705. "cset %[a], eq\n\t"
  67706. "orr %[a], %[a], x3\n\t"
  67707. : [a] "+r" (a)
  67708. : [b] "r" (b)
  67709. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  67710. );
  67711. #endif
  67712. return (sp_int64)a;
  67713. }
  67714. /* Divide d in a and put remainder into r (m*d + r = a)
  67715. * m is not calculated as it is not needed at this time.
  67716. *
  67717. * a Number to be divided.
  67718. * d Number to divide with.
  67719. * m Multiplier result.
  67720. * r Remainder from the division.
  67721. * returns MP_OKAY indicating success.
  67722. */
  67723. static WC_INLINE int sp_521_div_9(const sp_digit* a, const sp_digit* d, sp_digit* m,
  67724. sp_digit* r)
  67725. {
  67726. sp_digit t1[19];
  67727. sp_digit t2[10];
  67728. sp_digit sd[10];
  67729. sp_digit div;
  67730. sp_digit r1;
  67731. int i;
  67732. ASSERT_SAVED_VECTOR_REGISTERS();
  67733. (void)m;
  67734. div = (d[8] << 55) | (d[7] >> 9);
  67735. XMEMCPY(t1, a, sizeof(*t1) * 2 * 9);
  67736. r1 = sp_521_cmp_9(&t1[9], d) >= 0;
  67737. sp_521_cond_sub_9(&t1[9], &t1[9], d, (sp_digit)0 - r1);
  67738. sp_521_lshift_9(sd, d, 55);
  67739. sp_521_lshift_18(t1, t1, 55);
  67740. for (i = 8; i >= 0; i--) {
  67741. sp_digit hi = t1[9 + i] - (t1[9 + i] == div);
  67742. r1 = div_521_word_9(hi, t1[9 + i - 1], div);
  67743. sp_521_mul_d_9(t2, sd, r1);
  67744. t1[9 + i] += sp_521_sub_in_place_9(&t1[i], t2);
  67745. t1[9 + i] -= t2[9];
  67746. sp_521_mask_9(t2, sd, t1[9 + i]);
  67747. t1[9 + i] += sp_521_add_9(&t1[i], &t1[i], t2);
  67748. sp_521_mask_9(t2, sd, t1[9 + i]);
  67749. t1[9 + i] += sp_521_add_9(&t1[i], &t1[i], t2);
  67750. }
  67751. r1 = sp_521_cmp_9(t1, sd) >= 0;
  67752. sp_521_cond_sub_9(r, t1, sd, (sp_digit)0 - r1);
  67753. sp_521_rshift_9(r, r, 55);
  67754. return MP_OKAY;
  67755. }
  67756. /* Reduce a modulo m into r. (r = a mod m)
  67757. *
  67758. * r A single precision number that is the reduced result.
  67759. * a A single precision number that is to be reduced.
  67760. * m A single precision number that is the modulus to reduce with.
  67761. * returns MP_OKAY indicating success.
  67762. */
  67763. static WC_INLINE int sp_521_mod_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
  67764. {
  67765. return sp_521_div_9(a, m, NULL, r);
  67766. }
  67767. /* Multiply a number by Montgomery normalizer mod modulus (prime).
  67768. *
  67769. * r The resulting Montgomery form number.
  67770. * a The number to convert.
  67771. * m The modulus (prime).
  67772. * returns MEMORY_E when memory allocation fails and MP_OKAY otherwise.
  67773. */
  67774. static int sp_521_mod_mul_norm_9(sp_digit* r, const sp_digit* a,
  67775. const sp_digit* m)
  67776. {
  67777. sp_521_mul_9(r, a, p521_norm_mod);
  67778. return sp_521_mod_9(r, r, m);
  67779. }
  67780. /* Convert an mp_int to an array of sp_digit.
  67781. *
  67782. * r A single precision integer.
  67783. * size Maximum number of bytes to convert
  67784. * a A multi-precision integer.
  67785. */
  67786. static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
  67787. {
  67788. #if DIGIT_BIT == 64
  67789. int j;
  67790. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  67791. for (j = a->used; j < size; j++) {
  67792. r[j] = 0;
  67793. }
  67794. #elif DIGIT_BIT > 64
  67795. int i;
  67796. int j = 0;
  67797. word32 s = 0;
  67798. r[0] = 0;
  67799. for (i = 0; i < a->used && j < size; i++) {
  67800. r[j] |= ((sp_digit)a->dp[i] << s);
  67801. r[j] &= 0xffffffffffffffffl;
  67802. s = 64U - s;
  67803. if (j + 1 >= size) {
  67804. break;
  67805. }
  67806. /* lint allow cast of mismatch word32 and mp_digit */
  67807. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  67808. while ((s + 64U) <= (word32)DIGIT_BIT) {
  67809. s += 64U;
  67810. r[j] &= 0xffffffffffffffffl;
  67811. if (j + 1 >= size) {
  67812. break;
  67813. }
  67814. if (s < (word32)DIGIT_BIT) {
  67815. /* lint allow cast of mismatch word32 and mp_digit */
  67816. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  67817. }
  67818. else {
  67819. r[++j] = (sp_digit)0;
  67820. }
  67821. }
  67822. s = (word32)DIGIT_BIT - s;
  67823. }
  67824. for (j++; j < size; j++) {
  67825. r[j] = 0;
  67826. }
  67827. #else
  67828. int i;
  67829. int j = 0;
  67830. int s = 0;
  67831. r[0] = 0;
  67832. for (i = 0; i < a->used && j < size; i++) {
  67833. r[j] |= ((sp_digit)a->dp[i]) << s;
  67834. if (s + DIGIT_BIT >= 64) {
  67835. r[j] &= 0xffffffffffffffffl;
  67836. if (j + 1 >= size) {
  67837. break;
  67838. }
  67839. s = 64 - s;
  67840. if (s == DIGIT_BIT) {
  67841. r[++j] = 0;
  67842. s = 0;
  67843. }
  67844. else {
  67845. r[++j] = a->dp[i] >> s;
  67846. s = DIGIT_BIT - s;
  67847. }
  67848. }
  67849. else {
  67850. s += DIGIT_BIT;
  67851. }
  67852. }
  67853. for (j++; j < size; j++) {
  67854. r[j] = 0;
  67855. }
  67856. #endif
  67857. }
  67858. /* Convert a point of type ecc_point to type sp_point_521.
  67859. *
  67860. * p Point of type sp_point_521 (result).
  67861. * pm Point of type ecc_point.
  67862. */
  67863. static void sp_521_point_from_ecc_point_9(sp_point_521* p,
  67864. const ecc_point* pm)
  67865. {
  67866. XMEMSET(p->x, 0, sizeof(p->x));
  67867. XMEMSET(p->y, 0, sizeof(p->y));
  67868. XMEMSET(p->z, 0, sizeof(p->z));
  67869. sp_521_from_mp(p->x, 9, pm->x);
  67870. sp_521_from_mp(p->y, 9, pm->y);
  67871. sp_521_from_mp(p->z, 9, pm->z);
  67872. p->infinity = 0;
  67873. }
  67874. /* Convert an array of sp_digit to an mp_int.
  67875. *
  67876. * a A single precision integer.
  67877. * r A multi-precision integer.
  67878. */
  67879. static int sp_521_to_mp(const sp_digit* a, mp_int* r)
  67880. {
  67881. int err;
  67882. err = mp_grow(r, (521 + DIGIT_BIT - 1) / DIGIT_BIT);
  67883. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  67884. #if DIGIT_BIT == 64
  67885. XMEMCPY(r->dp, a, sizeof(sp_digit) * 9);
  67886. r->used = 9;
  67887. mp_clamp(r);
  67888. #elif DIGIT_BIT < 64
  67889. int i;
  67890. int j = 0;
  67891. int s = 0;
  67892. r->dp[0] = 0;
  67893. for (i = 0; i < 9; i++) {
  67894. r->dp[j] |= (mp_digit)(a[i] << s);
  67895. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  67896. s = DIGIT_BIT - s;
  67897. r->dp[++j] = (mp_digit)(a[i] >> s);
  67898. while (s + DIGIT_BIT <= 64) {
  67899. s += DIGIT_BIT;
  67900. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  67901. if (s == SP_WORD_SIZE) {
  67902. r->dp[j] = 0;
  67903. }
  67904. else {
  67905. r->dp[j] = (mp_digit)(a[i] >> s);
  67906. }
  67907. }
  67908. s = 64 - s;
  67909. }
  67910. r->used = (521 + DIGIT_BIT - 1) / DIGIT_BIT;
  67911. mp_clamp(r);
  67912. #else
  67913. int i;
  67914. int j = 0;
  67915. int s = 0;
  67916. r->dp[0] = 0;
  67917. for (i = 0; i < 9; i++) {
  67918. r->dp[j] |= ((mp_digit)a[i]) << s;
  67919. if (s + 64 >= DIGIT_BIT) {
  67920. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  67921. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  67922. #endif
  67923. s = DIGIT_BIT - s;
  67924. r->dp[++j] = a[i] >> s;
  67925. s = 64 - s;
  67926. }
  67927. else {
  67928. s += 64;
  67929. }
  67930. }
  67931. r->used = (521 + DIGIT_BIT - 1) / DIGIT_BIT;
  67932. mp_clamp(r);
  67933. #endif
  67934. }
  67935. return err;
  67936. }
  67937. /* Convert a point of type sp_point_521 to type ecc_point.
  67938. *
  67939. * p Point of type sp_point_521.
  67940. * pm Point of type ecc_point (result).
  67941. * returns MEMORY_E when allocation of memory in ecc_point fails otherwise
  67942. * MP_OKAY.
  67943. */
  67944. static int sp_521_point_to_ecc_point_9(const sp_point_521* p, ecc_point* pm)
  67945. {
  67946. int err;
  67947. err = sp_521_to_mp(p->x, pm->x);
  67948. if (err == MP_OKAY) {
  67949. err = sp_521_to_mp(p->y, pm->y);
  67950. }
  67951. if (err == MP_OKAY) {
  67952. err = sp_521_to_mp(p->z, pm->z);
  67953. }
  67954. return err;
  67955. }
  67956. /* Conditionally copy a into r using the mask m.
  67957. * m is -1 to copy and 0 when not.
  67958. *
  67959. * r A single precision number to copy over.
  67960. * a A single precision number to copy.
  67961. * m Mask value to apply.
  67962. */
  67963. static void sp_521_cond_copy_9(sp_digit* r, const sp_digit* a, sp_digit m)
  67964. {
  67965. __asm__ __volatile__ (
  67966. "ldp x3, x4, [%[r], 0]\n\t"
  67967. "ldp x5, x6, [%[r], 16]\n\t"
  67968. "ldp x7, x8, [%[r], 32]\n\t"
  67969. "ldp x9, x10, [%[r], 48]\n\t"
  67970. "ldr x11, [%[r], 64]\n\t"
  67971. "ldp x12, x13, [%[a], 0]\n\t"
  67972. "ldp x14, x15, [%[a], 16]\n\t"
  67973. "ldp x16, x17, [%[a], 32]\n\t"
  67974. "ldp x19, x20, [%[a], 48]\n\t"
  67975. "ldr x21, [%[a], 64]\n\t"
  67976. "eor x12, x12, x3\n\t"
  67977. "eor x13, x13, x4\n\t"
  67978. "eor x14, x14, x5\n\t"
  67979. "eor x15, x15, x6\n\t"
  67980. "eor x16, x16, x7\n\t"
  67981. "eor x17, x17, x8\n\t"
  67982. "eor x19, x19, x9\n\t"
  67983. "eor x20, x20, x10\n\t"
  67984. "eor x21, x21, x11\n\t"
  67985. "and x12, x12, %[m]\n\t"
  67986. "and x13, x13, %[m]\n\t"
  67987. "and x14, x14, %[m]\n\t"
  67988. "and x15, x15, %[m]\n\t"
  67989. "and x16, x16, %[m]\n\t"
  67990. "and x17, x17, %[m]\n\t"
  67991. "and x19, x19, %[m]\n\t"
  67992. "and x20, x20, %[m]\n\t"
  67993. "and x21, x21, %[m]\n\t"
  67994. "eor x3, x3, x12\n\t"
  67995. "eor x4, x4, x13\n\t"
  67996. "eor x5, x5, x14\n\t"
  67997. "eor x6, x6, x15\n\t"
  67998. "eor x7, x7, x16\n\t"
  67999. "eor x8, x8, x17\n\t"
  68000. "eor x9, x9, x19\n\t"
  68001. "eor x10, x10, x20\n\t"
  68002. "eor x11, x11, x21\n\t"
  68003. "stp x3, x4, [%[r], 0]\n\t"
  68004. "stp x5, x6, [%[r], 16]\n\t"
  68005. "stp x7, x8, [%[r], 32]\n\t"
  68006. "stp x9, x10, [%[r], 48]\n\t"
  68007. "str x11, [%[r], 64]\n\t"
  68008. :
  68009. : [r] "r" (r), [a] "r" (a), [m] "r" (m)
  68010. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21"
  68011. );
  68012. }
  68013. /* Multiply two Montgomery form numbers mod the modulus (prime).
  68014. * (r = a * b mod m)
  68015. *
  68016. * r Result of multiplication.
  68017. * a First number to multiply in Montgomery form.
  68018. * b Second number to multiply in Montgomery form.
  68019. * m Modulus (prime).
  68020. * mp Montgomery mulitplier.
  68021. */
  68022. SP_NOINLINE static void sp_521_mont_mul_9(sp_digit* r, const sp_digit* a, const sp_digit* b,
  68023. const sp_digit* m, sp_digit mp)
  68024. {
  68025. (void)m;
  68026. (void)mp;
  68027. __asm__ __volatile__ (
  68028. "stp x29, x30, [sp, #-0xa0]!\n\t"
  68029. "add x29, sp, #16\n\t"
  68030. "ldp x8, x9, [%[a], 0]\n\t"
  68031. "ldp x10, x11, [%[a], 16]\n\t"
  68032. "ldp x12, x13, [%[a], 32]\n\t"
  68033. "ldp x14, x15, [%[a], 48]\n\t"
  68034. "ldr x16, [%[a], 64]\n\t"
  68035. "ldp x17, x19, [%[b], 0]\n\t"
  68036. "ldp x20, x21, [%[b], 16]\n\t"
  68037. "ldp x22, x23, [%[b], 32]\n\t"
  68038. "ldp x24, x25, [%[b], 48]\n\t"
  68039. "ldr x26, [%[b], 64]\n\t"
  68040. "# A[0] * B[0]\n\t"
  68041. "mul x3, x8, x17\n\t"
  68042. "umulh x4, x8, x17\n\t"
  68043. "str x3, [x29]\n\t"
  68044. "# A[0] * B[1]\n\t"
  68045. "mul x6, x8, x19\n\t"
  68046. "umulh x7, x8, x19\n\t"
  68047. "adds x4, x4, x6\n\t"
  68048. "# A[1] * B[0]\n\t"
  68049. "mul x6, x9, x17\n\t"
  68050. "adc x5, xzr, x7\n\t"
  68051. "umulh x7, x9, x17\n\t"
  68052. "adds x4, x4, x6\n\t"
  68053. "adcs x5, x5, x7\n\t"
  68054. "str x4, [x29, 8]\n\t"
  68055. "adc x3, xzr, xzr\n\t"
  68056. "# A[0] * B[2]\n\t"
  68057. "mul x6, x8, x20\n\t"
  68058. "umulh x7, x8, x20\n\t"
  68059. "adds x5, x5, x6\n\t"
  68060. "# A[1] * B[1]\n\t"
  68061. "mul x6, x9, x19\n\t"
  68062. "adcs x3, x3, x7\n\t"
  68063. "umulh x7, x9, x19\n\t"
  68064. "adc x4, xzr, xzr\n\t"
  68065. "adds x5, x5, x6\n\t"
  68066. "# A[2] * B[0]\n\t"
  68067. "mul x6, x10, x17\n\t"
  68068. "adcs x3, x3, x7\n\t"
  68069. "umulh x7, x10, x17\n\t"
  68070. "adc x4, x4, xzr\n\t"
  68071. "adds x5, x5, x6\n\t"
  68072. "adcs x3, x3, x7\n\t"
  68073. "str x5, [x29, 16]\n\t"
  68074. "adc x4, x4, xzr\n\t"
  68075. "# A[0] * B[3]\n\t"
  68076. "mul x6, x8, x21\n\t"
  68077. "umulh x7, x8, x21\n\t"
  68078. "adds x3, x3, x6\n\t"
  68079. "# A[1] * B[2]\n\t"
  68080. "mul x6, x9, x20\n\t"
  68081. "adcs x4, x4, x7\n\t"
  68082. "umulh x7, x9, x20\n\t"
  68083. "adc x5, xzr, xzr\n\t"
  68084. "adds x3, x3, x6\n\t"
  68085. "# A[2] * B[1]\n\t"
  68086. "mul x6, x10, x19\n\t"
  68087. "adcs x4, x4, x7\n\t"
  68088. "umulh x7, x10, x19\n\t"
  68089. "adc x5, x5, xzr\n\t"
  68090. "adds x3, x3, x6\n\t"
  68091. "# A[3] * B[0]\n\t"
  68092. "mul x6, x11, x17\n\t"
  68093. "adcs x4, x4, x7\n\t"
  68094. "umulh x7, x11, x17\n\t"
  68095. "adc x5, x5, xzr\n\t"
  68096. "adds x3, x3, x6\n\t"
  68097. "adcs x4, x4, x7\n\t"
  68098. "str x3, [x29, 24]\n\t"
  68099. "adc x5, x5, xzr\n\t"
  68100. "# A[0] * B[4]\n\t"
  68101. "mul x6, x8, x22\n\t"
  68102. "umulh x7, x8, x22\n\t"
  68103. "adds x4, x4, x6\n\t"
  68104. "# A[1] * B[3]\n\t"
  68105. "mul x6, x9, x21\n\t"
  68106. "adcs x5, x5, x7\n\t"
  68107. "umulh x7, x9, x21\n\t"
  68108. "adc x3, xzr, xzr\n\t"
  68109. "adds x4, x4, x6\n\t"
  68110. "# A[2] * B[2]\n\t"
  68111. "mul x6, x10, x20\n\t"
  68112. "adcs x5, x5, x7\n\t"
  68113. "umulh x7, x10, x20\n\t"
  68114. "adc x3, x3, xzr\n\t"
  68115. "adds x4, x4, x6\n\t"
  68116. "# A[3] * B[1]\n\t"
  68117. "mul x6, x11, x19\n\t"
  68118. "adcs x5, x5, x7\n\t"
  68119. "umulh x7, x11, x19\n\t"
  68120. "adc x3, x3, xzr\n\t"
  68121. "adds x4, x4, x6\n\t"
  68122. "# A[4] * B[0]\n\t"
  68123. "mul x6, x12, x17\n\t"
  68124. "adcs x5, x5, x7\n\t"
  68125. "umulh x7, x12, x17\n\t"
  68126. "adc x3, x3, xzr\n\t"
  68127. "adds x4, x4, x6\n\t"
  68128. "adcs x5, x5, x7\n\t"
  68129. "str x4, [x29, 32]\n\t"
  68130. "adc x3, x3, xzr\n\t"
  68131. "# A[0] * B[5]\n\t"
  68132. "mul x6, x8, x23\n\t"
  68133. "umulh x7, x8, x23\n\t"
  68134. "adds x5, x5, x6\n\t"
  68135. "# A[1] * B[4]\n\t"
  68136. "mul x6, x9, x22\n\t"
  68137. "adcs x3, x3, x7\n\t"
  68138. "umulh x7, x9, x22\n\t"
  68139. "adc x4, xzr, xzr\n\t"
  68140. "adds x5, x5, x6\n\t"
  68141. "# A[2] * B[3]\n\t"
  68142. "mul x6, x10, x21\n\t"
  68143. "adcs x3, x3, x7\n\t"
  68144. "umulh x7, x10, x21\n\t"
  68145. "adc x4, x4, xzr\n\t"
  68146. "adds x5, x5, x6\n\t"
  68147. "# A[3] * B[2]\n\t"
  68148. "mul x6, x11, x20\n\t"
  68149. "adcs x3, x3, x7\n\t"
  68150. "umulh x7, x11, x20\n\t"
  68151. "adc x4, x4, xzr\n\t"
  68152. "adds x5, x5, x6\n\t"
  68153. "# A[4] * B[1]\n\t"
  68154. "mul x6, x12, x19\n\t"
  68155. "adcs x3, x3, x7\n\t"
  68156. "umulh x7, x12, x19\n\t"
  68157. "adc x4, x4, xzr\n\t"
  68158. "adds x5, x5, x6\n\t"
  68159. "# A[5] * B[0]\n\t"
  68160. "mul x6, x13, x17\n\t"
  68161. "adcs x3, x3, x7\n\t"
  68162. "umulh x7, x13, x17\n\t"
  68163. "adc x4, x4, xzr\n\t"
  68164. "adds x5, x5, x6\n\t"
  68165. "adcs x3, x3, x7\n\t"
  68166. "str x5, [x29, 40]\n\t"
  68167. "adc x4, x4, xzr\n\t"
  68168. "# A[0] * B[6]\n\t"
  68169. "mul x6, x8, x24\n\t"
  68170. "umulh x7, x8, x24\n\t"
  68171. "adds x3, x3, x6\n\t"
  68172. "# A[1] * B[5]\n\t"
  68173. "mul x6, x9, x23\n\t"
  68174. "adcs x4, x4, x7\n\t"
  68175. "umulh x7, x9, x23\n\t"
  68176. "adc x5, xzr, xzr\n\t"
  68177. "adds x3, x3, x6\n\t"
  68178. "# A[2] * B[4]\n\t"
  68179. "mul x6, x10, x22\n\t"
  68180. "adcs x4, x4, x7\n\t"
  68181. "umulh x7, x10, x22\n\t"
  68182. "adc x5, x5, xzr\n\t"
  68183. "adds x3, x3, x6\n\t"
  68184. "# A[3] * B[3]\n\t"
  68185. "mul x6, x11, x21\n\t"
  68186. "adcs x4, x4, x7\n\t"
  68187. "umulh x7, x11, x21\n\t"
  68188. "adc x5, x5, xzr\n\t"
  68189. "adds x3, x3, x6\n\t"
  68190. "# A[4] * B[2]\n\t"
  68191. "mul x6, x12, x20\n\t"
  68192. "adcs x4, x4, x7\n\t"
  68193. "umulh x7, x12, x20\n\t"
  68194. "adc x5, x5, xzr\n\t"
  68195. "adds x3, x3, x6\n\t"
  68196. "# A[5] * B[1]\n\t"
  68197. "mul x6, x13, x19\n\t"
  68198. "adcs x4, x4, x7\n\t"
  68199. "umulh x7, x13, x19\n\t"
  68200. "adc x5, x5, xzr\n\t"
  68201. "adds x3, x3, x6\n\t"
  68202. "# A[6] * B[0]\n\t"
  68203. "mul x6, x14, x17\n\t"
  68204. "adcs x4, x4, x7\n\t"
  68205. "umulh x7, x14, x17\n\t"
  68206. "adc x5, x5, xzr\n\t"
  68207. "adds x3, x3, x6\n\t"
  68208. "adcs x4, x4, x7\n\t"
  68209. "str x3, [x29, 48]\n\t"
  68210. "adc x5, x5, xzr\n\t"
  68211. "# A[0] * B[7]\n\t"
  68212. "mul x6, x8, x25\n\t"
  68213. "umulh x7, x8, x25\n\t"
  68214. "adds x4, x4, x6\n\t"
  68215. "# A[1] * B[6]\n\t"
  68216. "mul x6, x9, x24\n\t"
  68217. "adcs x5, x5, x7\n\t"
  68218. "umulh x7, x9, x24\n\t"
  68219. "adc x3, xzr, xzr\n\t"
  68220. "adds x4, x4, x6\n\t"
  68221. "# A[2] * B[5]\n\t"
  68222. "mul x6, x10, x23\n\t"
  68223. "adcs x5, x5, x7\n\t"
  68224. "umulh x7, x10, x23\n\t"
  68225. "adc x3, x3, xzr\n\t"
  68226. "adds x4, x4, x6\n\t"
  68227. "# A[3] * B[4]\n\t"
  68228. "mul x6, x11, x22\n\t"
  68229. "adcs x5, x5, x7\n\t"
  68230. "umulh x7, x11, x22\n\t"
  68231. "adc x3, x3, xzr\n\t"
  68232. "adds x4, x4, x6\n\t"
  68233. "# A[4] * B[3]\n\t"
  68234. "mul x6, x12, x21\n\t"
  68235. "adcs x5, x5, x7\n\t"
  68236. "umulh x7, x12, x21\n\t"
  68237. "adc x3, x3, xzr\n\t"
  68238. "adds x4, x4, x6\n\t"
  68239. "# A[5] * B[2]\n\t"
  68240. "mul x6, x13, x20\n\t"
  68241. "adcs x5, x5, x7\n\t"
  68242. "umulh x7, x13, x20\n\t"
  68243. "adc x3, x3, xzr\n\t"
  68244. "adds x4, x4, x6\n\t"
  68245. "# A[6] * B[1]\n\t"
  68246. "mul x6, x14, x19\n\t"
  68247. "adcs x5, x5, x7\n\t"
  68248. "umulh x7, x14, x19\n\t"
  68249. "adc x3, x3, xzr\n\t"
  68250. "adds x4, x4, x6\n\t"
  68251. "# A[7] * B[0]\n\t"
  68252. "mul x6, x15, x17\n\t"
  68253. "adcs x5, x5, x7\n\t"
  68254. "umulh x7, x15, x17\n\t"
  68255. "adc x3, x3, xzr\n\t"
  68256. "adds x4, x4, x6\n\t"
  68257. "adcs x5, x5, x7\n\t"
  68258. "str x4, [x29, 56]\n\t"
  68259. "adc x3, x3, xzr\n\t"
  68260. "# A[0] * B[8]\n\t"
  68261. "mul x6, x8, x26\n\t"
  68262. "umulh x7, x8, x26\n\t"
  68263. "adds x5, x5, x6\n\t"
  68264. "# A[1] * B[7]\n\t"
  68265. "mul x6, x9, x25\n\t"
  68266. "adcs x3, x3, x7\n\t"
  68267. "umulh x7, x9, x25\n\t"
  68268. "adc x4, xzr, xzr\n\t"
  68269. "adds x5, x5, x6\n\t"
  68270. "# A[2] * B[6]\n\t"
  68271. "mul x6, x10, x24\n\t"
  68272. "adcs x3, x3, x7\n\t"
  68273. "umulh x7, x10, x24\n\t"
  68274. "adc x4, x4, xzr\n\t"
  68275. "adds x5, x5, x6\n\t"
  68276. "# A[3] * B[5]\n\t"
  68277. "mul x6, x11, x23\n\t"
  68278. "adcs x3, x3, x7\n\t"
  68279. "umulh x7, x11, x23\n\t"
  68280. "adc x4, x4, xzr\n\t"
  68281. "adds x5, x5, x6\n\t"
  68282. "# A[4] * B[4]\n\t"
  68283. "mul x6, x12, x22\n\t"
  68284. "adcs x3, x3, x7\n\t"
  68285. "umulh x7, x12, x22\n\t"
  68286. "adc x4, x4, xzr\n\t"
  68287. "adds x5, x5, x6\n\t"
  68288. "# A[5] * B[3]\n\t"
  68289. "mul x6, x13, x21\n\t"
  68290. "adcs x3, x3, x7\n\t"
  68291. "umulh x7, x13, x21\n\t"
  68292. "adc x4, x4, xzr\n\t"
  68293. "adds x5, x5, x6\n\t"
  68294. "# A[6] * B[2]\n\t"
  68295. "mul x6, x14, x20\n\t"
  68296. "adcs x3, x3, x7\n\t"
  68297. "umulh x7, x14, x20\n\t"
  68298. "adc x4, x4, xzr\n\t"
  68299. "adds x5, x5, x6\n\t"
  68300. "# A[7] * B[1]\n\t"
  68301. "mul x6, x15, x19\n\t"
  68302. "adcs x3, x3, x7\n\t"
  68303. "umulh x7, x15, x19\n\t"
  68304. "adc x4, x4, xzr\n\t"
  68305. "adds x5, x5, x6\n\t"
  68306. "# A[8] * B[0]\n\t"
  68307. "mul x6, x16, x17\n\t"
  68308. "adcs x3, x3, x7\n\t"
  68309. "umulh x7, x16, x17\n\t"
  68310. "adc x4, x4, xzr\n\t"
  68311. "adds x5, x5, x6\n\t"
  68312. "adcs x3, x3, x7\n\t"
  68313. "str x5, [x29, 64]\n\t"
  68314. "adc x4, x4, xzr\n\t"
  68315. "# A[1] * B[8]\n\t"
  68316. "mul x6, x9, x26\n\t"
  68317. "umulh x7, x9, x26\n\t"
  68318. "adds x3, x3, x6\n\t"
  68319. "# A[2] * B[7]\n\t"
  68320. "mul x6, x10, x25\n\t"
  68321. "adcs x4, x4, x7\n\t"
  68322. "umulh x7, x10, x25\n\t"
  68323. "adc x5, xzr, xzr\n\t"
  68324. "adds x3, x3, x6\n\t"
  68325. "# A[3] * B[6]\n\t"
  68326. "mul x6, x11, x24\n\t"
  68327. "adcs x4, x4, x7\n\t"
  68328. "umulh x7, x11, x24\n\t"
  68329. "adc x5, x5, xzr\n\t"
  68330. "adds x3, x3, x6\n\t"
  68331. "# A[4] * B[5]\n\t"
  68332. "mul x6, x12, x23\n\t"
  68333. "adcs x4, x4, x7\n\t"
  68334. "umulh x7, x12, x23\n\t"
  68335. "adc x5, x5, xzr\n\t"
  68336. "adds x3, x3, x6\n\t"
  68337. "# A[5] * B[4]\n\t"
  68338. "mul x6, x13, x22\n\t"
  68339. "adcs x4, x4, x7\n\t"
  68340. "umulh x7, x13, x22\n\t"
  68341. "adc x5, x5, xzr\n\t"
  68342. "adds x3, x3, x6\n\t"
  68343. "# A[6] * B[3]\n\t"
  68344. "mul x6, x14, x21\n\t"
  68345. "adcs x4, x4, x7\n\t"
  68346. "umulh x7, x14, x21\n\t"
  68347. "adc x5, x5, xzr\n\t"
  68348. "adds x3, x3, x6\n\t"
  68349. "# A[7] * B[2]\n\t"
  68350. "mul x6, x15, x20\n\t"
  68351. "adcs x4, x4, x7\n\t"
  68352. "umulh x7, x15, x20\n\t"
  68353. "adc x5, x5, xzr\n\t"
  68354. "adds x3, x3, x6\n\t"
  68355. "# A[8] * B[1]\n\t"
  68356. "mul x6, x16, x19\n\t"
  68357. "adcs x4, x4, x7\n\t"
  68358. "umulh x7, x16, x19\n\t"
  68359. "adc x5, x5, xzr\n\t"
  68360. "adds x3, x3, x6\n\t"
  68361. "adcs x4, x4, x7\n\t"
  68362. "str x3, [x29, 72]\n\t"
  68363. "adc x5, x5, xzr\n\t"
  68364. "# A[2] * B[8]\n\t"
  68365. "mul x6, x10, x26\n\t"
  68366. "umulh x7, x10, x26\n\t"
  68367. "adds x4, x4, x6\n\t"
  68368. "# A[3] * B[7]\n\t"
  68369. "mul x6, x11, x25\n\t"
  68370. "adcs x5, x5, x7\n\t"
  68371. "umulh x7, x11, x25\n\t"
  68372. "adc x3, xzr, xzr\n\t"
  68373. "adds x4, x4, x6\n\t"
  68374. "# A[4] * B[6]\n\t"
  68375. "mul x6, x12, x24\n\t"
  68376. "adcs x5, x5, x7\n\t"
  68377. "umulh x7, x12, x24\n\t"
  68378. "adc x3, x3, xzr\n\t"
  68379. "adds x4, x4, x6\n\t"
  68380. "# A[5] * B[5]\n\t"
  68381. "mul x6, x13, x23\n\t"
  68382. "adcs x5, x5, x7\n\t"
  68383. "umulh x7, x13, x23\n\t"
  68384. "adc x3, x3, xzr\n\t"
  68385. "adds x4, x4, x6\n\t"
  68386. "# A[6] * B[4]\n\t"
  68387. "mul x6, x14, x22\n\t"
  68388. "adcs x5, x5, x7\n\t"
  68389. "umulh x7, x14, x22\n\t"
  68390. "adc x3, x3, xzr\n\t"
  68391. "adds x4, x4, x6\n\t"
  68392. "# A[7] * B[3]\n\t"
  68393. "mul x6, x15, x21\n\t"
  68394. "adcs x5, x5, x7\n\t"
  68395. "umulh x7, x15, x21\n\t"
  68396. "adc x3, x3, xzr\n\t"
  68397. "adds x4, x4, x6\n\t"
  68398. "# A[8] * B[2]\n\t"
  68399. "mul x6, x16, x20\n\t"
  68400. "adcs x5, x5, x7\n\t"
  68401. "umulh x7, x16, x20\n\t"
  68402. "adc x3, x3, xzr\n\t"
  68403. "adds x4, x4, x6\n\t"
  68404. "adcs x5, x5, x7\n\t"
  68405. "str x4, [x29, 80]\n\t"
  68406. "adc x3, x3, xzr\n\t"
  68407. "# A[3] * B[8]\n\t"
  68408. "mul x6, x11, x26\n\t"
  68409. "umulh x7, x11, x26\n\t"
  68410. "adds x5, x5, x6\n\t"
  68411. "# A[4] * B[7]\n\t"
  68412. "mul x6, x12, x25\n\t"
  68413. "adcs x3, x3, x7\n\t"
  68414. "umulh x7, x12, x25\n\t"
  68415. "adc x4, xzr, xzr\n\t"
  68416. "adds x5, x5, x6\n\t"
  68417. "# A[5] * B[6]\n\t"
  68418. "mul x6, x13, x24\n\t"
  68419. "adcs x3, x3, x7\n\t"
  68420. "umulh x7, x13, x24\n\t"
  68421. "adc x4, x4, xzr\n\t"
  68422. "adds x5, x5, x6\n\t"
  68423. "# A[6] * B[5]\n\t"
  68424. "mul x6, x14, x23\n\t"
  68425. "adcs x3, x3, x7\n\t"
  68426. "umulh x7, x14, x23\n\t"
  68427. "adc x4, x4, xzr\n\t"
  68428. "adds x5, x5, x6\n\t"
  68429. "# A[7] * B[4]\n\t"
  68430. "mul x6, x15, x22\n\t"
  68431. "adcs x3, x3, x7\n\t"
  68432. "umulh x7, x15, x22\n\t"
  68433. "adc x4, x4, xzr\n\t"
  68434. "adds x5, x5, x6\n\t"
  68435. "# A[8] * B[3]\n\t"
  68436. "mul x6, x16, x21\n\t"
  68437. "adcs x3, x3, x7\n\t"
  68438. "umulh x7, x16, x21\n\t"
  68439. "adc x4, x4, xzr\n\t"
  68440. "adds x5, x5, x6\n\t"
  68441. "adcs x3, x3, x7\n\t"
  68442. "str x5, [x29, 88]\n\t"
  68443. "adc x4, x4, xzr\n\t"
  68444. "# A[4] * B[8]\n\t"
  68445. "mul x6, x12, x26\n\t"
  68446. "umulh x7, x12, x26\n\t"
  68447. "adds x3, x3, x6\n\t"
  68448. "# A[5] * B[7]\n\t"
  68449. "mul x6, x13, x25\n\t"
  68450. "adcs x4, x4, x7\n\t"
  68451. "umulh x7, x13, x25\n\t"
  68452. "adc x5, xzr, xzr\n\t"
  68453. "adds x3, x3, x6\n\t"
  68454. "# A[6] * B[6]\n\t"
  68455. "mul x6, x14, x24\n\t"
  68456. "adcs x4, x4, x7\n\t"
  68457. "umulh x7, x14, x24\n\t"
  68458. "adc x5, x5, xzr\n\t"
  68459. "adds x3, x3, x6\n\t"
  68460. "# A[7] * B[5]\n\t"
  68461. "mul x6, x15, x23\n\t"
  68462. "adcs x4, x4, x7\n\t"
  68463. "umulh x7, x15, x23\n\t"
  68464. "adc x5, x5, xzr\n\t"
  68465. "adds x3, x3, x6\n\t"
  68466. "# A[8] * B[4]\n\t"
  68467. "mul x6, x16, x22\n\t"
  68468. "adcs x4, x4, x7\n\t"
  68469. "umulh x7, x16, x22\n\t"
  68470. "adc x5, x5, xzr\n\t"
  68471. "adds x3, x3, x6\n\t"
  68472. "adcs x4, x4, x7\n\t"
  68473. "str x3, [x29, 96]\n\t"
  68474. "adc x5, x5, xzr\n\t"
  68475. "# A[5] * B[8]\n\t"
  68476. "mul x6, x13, x26\n\t"
  68477. "umulh x7, x13, x26\n\t"
  68478. "adds x4, x4, x6\n\t"
  68479. "# A[6] * B[7]\n\t"
  68480. "mul x6, x14, x25\n\t"
  68481. "adcs x5, x5, x7\n\t"
  68482. "umulh x7, x14, x25\n\t"
  68483. "adc x3, xzr, xzr\n\t"
  68484. "adds x4, x4, x6\n\t"
  68485. "# A[7] * B[6]\n\t"
  68486. "mul x6, x15, x24\n\t"
  68487. "adcs x5, x5, x7\n\t"
  68488. "umulh x7, x15, x24\n\t"
  68489. "adc x3, x3, xzr\n\t"
  68490. "adds x4, x4, x6\n\t"
  68491. "# A[8] * B[5]\n\t"
  68492. "mul x6, x16, x23\n\t"
  68493. "adcs x5, x5, x7\n\t"
  68494. "umulh x7, x16, x23\n\t"
  68495. "adc x3, x3, xzr\n\t"
  68496. "adds x4, x4, x6\n\t"
  68497. "adcs x5, x5, x7\n\t"
  68498. "str x4, [x29, 104]\n\t"
  68499. "adc x3, x3, xzr\n\t"
  68500. "# A[6] * B[8]\n\t"
  68501. "mul x6, x14, x26\n\t"
  68502. "umulh x7, x14, x26\n\t"
  68503. "adds x5, x5, x6\n\t"
  68504. "# A[7] * B[7]\n\t"
  68505. "mul x6, x15, x25\n\t"
  68506. "adcs x3, x3, x7\n\t"
  68507. "umulh x7, x15, x25\n\t"
  68508. "adc x4, xzr, xzr\n\t"
  68509. "adds x5, x5, x6\n\t"
  68510. "# A[8] * B[6]\n\t"
  68511. "mul x6, x16, x24\n\t"
  68512. "adcs x3, x3, x7\n\t"
  68513. "umulh x7, x16, x24\n\t"
  68514. "adc x4, x4, xzr\n\t"
  68515. "adds x5, x5, x6\n\t"
  68516. "adcs x3, x3, x7\n\t"
  68517. "str x5, [x29, 112]\n\t"
  68518. "adc x4, x4, xzr\n\t"
  68519. "# A[7] * B[8]\n\t"
  68520. "mul x6, x15, x26\n\t"
  68521. "umulh x7, x15, x26\n\t"
  68522. "adds x3, x3, x6\n\t"
  68523. "# A[8] * B[7]\n\t"
  68524. "mul x6, x16, x25\n\t"
  68525. "adcs x4, x4, x7\n\t"
  68526. "umulh x7, x16, x25\n\t"
  68527. "adc x5, xzr, xzr\n\t"
  68528. "adds x3, x3, x6\n\t"
  68529. "adcs x4, x4, x7\n\t"
  68530. "str x3, [x29, 120]\n\t"
  68531. "adc x5, x5, xzr\n\t"
  68532. "# A[8] * B[8]\n\t"
  68533. "mul x6, x16, x26\n\t"
  68534. "umulh x7, x16, x26\n\t"
  68535. "adds x4, x4, x6\n\t"
  68536. "adc x5, x5, x7\n\t"
  68537. "stp x4, x5, [x29, 128]\n\t"
  68538. "ldp x8, x9, [x29, 0]\n\t"
  68539. "ldp x10, x11, [x29, 16]\n\t"
  68540. "ldp x12, x13, [x29, 32]\n\t"
  68541. "ldp x14, x15, [x29, 48]\n\t"
  68542. "ldp x17, x19, [x29, 64]\n\t"
  68543. "ldp x20, x21, [x29, 80]\n\t"
  68544. "ldp x22, x23, [x29, 96]\n\t"
  68545. "ldp x24, x25, [x29, 112]\n\t"
  68546. "ldr x26, [x29, 128]\n\t"
  68547. "and x16, x17, 0x1ff\n\t"
  68548. "lsr x17, x17, 9\n\t"
  68549. "orr x17, x17, x19, lsl #55\n\t"
  68550. "lsr x19, x19, 9\n\t"
  68551. "orr x19, x19, x20, lsl #55\n\t"
  68552. "lsr x20, x20, 9\n\t"
  68553. "orr x20, x20, x21, lsl #55\n\t"
  68554. "lsr x21, x21, 9\n\t"
  68555. "orr x21, x21, x22, lsl #55\n\t"
  68556. "lsr x22, x22, 9\n\t"
  68557. "orr x22, x22, x23, lsl #55\n\t"
  68558. "lsr x23, x23, 9\n\t"
  68559. "orr x23, x23, x24, lsl #55\n\t"
  68560. "lsr x24, x24, 9\n\t"
  68561. "orr x24, x24, x25, lsl #55\n\t"
  68562. "lsr x25, x25, 9\n\t"
  68563. "orr x25, x25, x26, lsl #55\n\t"
  68564. "lsr x26, x26, 9\n\t"
  68565. "adds x8, x8, x17\n\t"
  68566. "adcs x9, x9, x19\n\t"
  68567. "adcs x10, x10, x20\n\t"
  68568. "adcs x11, x11, x21\n\t"
  68569. "adcs x12, x12, x22\n\t"
  68570. "adcs x13, x13, x23\n\t"
  68571. "adcs x14, x14, x24\n\t"
  68572. "adcs x15, x15, x25\n\t"
  68573. "adcs x16, x16, x26\n\t"
  68574. "lsr x17, x16, 9\n\t"
  68575. "and x16, x16, 0x1ff\n\t"
  68576. "adds x8, x8, x17\n\t"
  68577. "adcs x9, x9, xzr\n\t"
  68578. "adcs x10, x10, xzr\n\t"
  68579. "adcs x11, x11, xzr\n\t"
  68580. "adcs x12, x12, xzr\n\t"
  68581. "adcs x13, x13, xzr\n\t"
  68582. "adcs x14, x14, xzr\n\t"
  68583. "adcs x15, x15, xzr\n\t"
  68584. "adcs x16, x16, xzr\n\t"
  68585. "stp x8, x9, [%[r], 0]\n\t"
  68586. "stp x10, x11, [%[r], 16]\n\t"
  68587. "stp x12, x13, [%[r], 32]\n\t"
  68588. "stp x14, x15, [%[r], 48]\n\t"
  68589. "str x16, [%[r], 64]\n\t"
  68590. "ldp x29, x30, [sp], #0xa0\n\t"
  68591. : [a] "+r" (a), [b] "+r" (b)
  68592. : [r] "r" (r)
  68593. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26"
  68594. );
  68595. }
  68596. /* Square the Montgomery form number mod the modulus (prime). (r = a * a mod m)
  68597. *
  68598. * r Result of squaring.
  68599. * a Number to square in Montgomery form.
  68600. * m Modulus (prime).
  68601. * mp Montgomery mulitplier.
  68602. */
  68603. SP_NOINLINE static void sp_521_mont_sqr_9(sp_digit* r, const sp_digit* a, const sp_digit* m,
  68604. sp_digit mp)
  68605. {
  68606. (void)m;
  68607. (void)mp;
  68608. __asm__ __volatile__ (
  68609. "stp x29, x30, [sp, #-0xa0]!\n\t"
  68610. "add x29, sp, #16\n\t"
  68611. "ldp x10, x11, [%[a], 0]\n\t"
  68612. "ldp x12, x13, [%[a], 16]\n\t"
  68613. "ldp x14, x15, [%[a], 32]\n\t"
  68614. "ldp x16, x17, [%[a], 48]\n\t"
  68615. "ldr x19, [%[a], 64]\n\t"
  68616. "# A[0] * A[0]\n\t"
  68617. "mul x2, x10, x10\n\t"
  68618. "umulh x3, x10, x10\n\t"
  68619. "str x2, [x29]\n\t"
  68620. "mov x4, xzr\n\t"
  68621. "# A[0] * A[1]\n\t"
  68622. "mul x8, x10, x11\n\t"
  68623. "umulh x9, x10, x11\n\t"
  68624. "adds x3, x3, x8\n\t"
  68625. "adcs x4, x4, x9\n\t"
  68626. "adc x2, xzr, xzr\n\t"
  68627. "adds x3, x3, x8\n\t"
  68628. "str x3, [x29, 8]\n\t"
  68629. "# A[0] * A[2]\n\t"
  68630. "mul x8, x10, x12\n\t"
  68631. "adcs x4, x4, x9\n\t"
  68632. "umulh x9, x10, x12\n\t"
  68633. "adc x2, x2, xzr\n\t"
  68634. "adds x4, x4, x8\n\t"
  68635. "adcs x2, x2, x9\n\t"
  68636. "adc x3, xzr, xzr\n\t"
  68637. "adds x4, x4, x8\n\t"
  68638. "# A[1] * A[1]\n\t"
  68639. "mul x8, x11, x11\n\t"
  68640. "adcs x2, x2, x9\n\t"
  68641. "umulh x9, x11, x11\n\t"
  68642. "adc x3, x3, xzr\n\t"
  68643. "adds x4, x4, x8\n\t"
  68644. "str x4, [x29, 16]\n\t"
  68645. "# A[0] * A[3]\n\t"
  68646. "mul x8, x10, x13\n\t"
  68647. "adcs x2, x2, x9\n\t"
  68648. "umulh x9, x10, x13\n\t"
  68649. "adc x3, x3, xzr\n\t"
  68650. "adds x2, x2, x8\n\t"
  68651. "adcs x3, x3, x9\n\t"
  68652. "adc x4, xzr, xzr\n\t"
  68653. "adds x2, x2, x8\n\t"
  68654. "# A[1] * A[2]\n\t"
  68655. "mul x8, x11, x12\n\t"
  68656. "adcs x3, x3, x9\n\t"
  68657. "umulh x9, x11, x12\n\t"
  68658. "adc x4, x4, xzr\n\t"
  68659. "adds x2, x2, x8\n\t"
  68660. "adcs x3, x3, x9\n\t"
  68661. "adc x4, x4, xzr\n\t"
  68662. "adds x2, x2, x8\n\t"
  68663. "str x2, [x29, 24]\n\t"
  68664. "# A[0] * A[4]\n\t"
  68665. "mul x8, x10, x14\n\t"
  68666. "adcs x3, x3, x9\n\t"
  68667. "umulh x9, x10, x14\n\t"
  68668. "adc x4, x4, xzr\n\t"
  68669. "adds x3, x3, x8\n\t"
  68670. "adcs x4, x4, x9\n\t"
  68671. "adc x2, xzr, xzr\n\t"
  68672. "adds x3, x3, x8\n\t"
  68673. "# A[1] * A[3]\n\t"
  68674. "mul x8, x11, x13\n\t"
  68675. "adcs x4, x4, x9\n\t"
  68676. "umulh x9, x11, x13\n\t"
  68677. "adc x2, x2, xzr\n\t"
  68678. "adds x3, x3, x8\n\t"
  68679. "adcs x4, x4, x9\n\t"
  68680. "adc x2, x2, xzr\n\t"
  68681. "adds x3, x3, x8\n\t"
  68682. "# A[2] * A[2]\n\t"
  68683. "mul x8, x12, x12\n\t"
  68684. "adcs x4, x4, x9\n\t"
  68685. "umulh x9, x12, x12\n\t"
  68686. "adc x2, x2, xzr\n\t"
  68687. "adds x3, x3, x8\n\t"
  68688. "str x3, [x29, 32]\n\t"
  68689. "# A[0] * A[5]\n\t"
  68690. "mul x5, x10, x15\n\t"
  68691. "adcs x4, x4, x9\n\t"
  68692. "umulh x6, x10, x15\n\t"
  68693. "adc x2, x2, xzr\n\t"
  68694. "mov x3, xzr\n\t"
  68695. "mov x7, xzr\n\t"
  68696. "# A[1] * A[4]\n\t"
  68697. "mul x8, x11, x14\n\t"
  68698. "umulh x9, x11, x14\n\t"
  68699. "adds x5, x5, x8\n\t"
  68700. "# A[2] * A[3]\n\t"
  68701. "mul x8, x12, x13\n\t"
  68702. "adcs x6, x6, x9\n\t"
  68703. "umulh x9, x12, x13\n\t"
  68704. "adc x7, x7, xzr\n\t"
  68705. "adds x5, x5, x8\n\t"
  68706. "adcs x6, x6, x9\n\t"
  68707. "adc x7, x7, xzr\n\t"
  68708. "adds x5, x5, x5\n\t"
  68709. "adcs x6, x6, x6\n\t"
  68710. "adc x7, x7, x7\n\t"
  68711. "adds x4, x4, x5\n\t"
  68712. "adcs x2, x2, x6\n\t"
  68713. "adc x3, x3, x7\n\t"
  68714. "str x4, [x29, 40]\n\t"
  68715. "# A[0] * A[6]\n\t"
  68716. "mul x5, x10, x16\n\t"
  68717. "umulh x6, x10, x16\n\t"
  68718. "mov x4, xzr\n\t"
  68719. "mov x7, xzr\n\t"
  68720. "# A[1] * A[5]\n\t"
  68721. "mul x8, x11, x15\n\t"
  68722. "umulh x9, x11, x15\n\t"
  68723. "adds x5, x5, x8\n\t"
  68724. "# A[2] * A[4]\n\t"
  68725. "mul x8, x12, x14\n\t"
  68726. "adcs x6, x6, x9\n\t"
  68727. "umulh x9, x12, x14\n\t"
  68728. "adc x7, x7, xzr\n\t"
  68729. "adds x5, x5, x8\n\t"
  68730. "# A[3] * A[3]\n\t"
  68731. "mul x8, x13, x13\n\t"
  68732. "adcs x6, x6, x9\n\t"
  68733. "umulh x9, x13, x13\n\t"
  68734. "adc x7, x7, xzr\n\t"
  68735. "adds x5, x5, x5\n\t"
  68736. "adcs x6, x6, x6\n\t"
  68737. "adc x7, x7, x7\n\t"
  68738. "adds x5, x5, x8\n\t"
  68739. "adcs x6, x6, x9\n\t"
  68740. "adc x7, x7, xzr\n\t"
  68741. "adds x2, x2, x5\n\t"
  68742. "adcs x3, x3, x6\n\t"
  68743. "adc x4, x4, x7\n\t"
  68744. "str x2, [x29, 48]\n\t"
  68745. "# A[0] * A[7]\n\t"
  68746. "mul x5, x10, x17\n\t"
  68747. "umulh x6, x10, x17\n\t"
  68748. "mov x2, xzr\n\t"
  68749. "mov x7, xzr\n\t"
  68750. "# A[1] * A[6]\n\t"
  68751. "mul x8, x11, x16\n\t"
  68752. "umulh x9, x11, x16\n\t"
  68753. "adds x5, x5, x8\n\t"
  68754. "# A[2] * A[5]\n\t"
  68755. "mul x8, x12, x15\n\t"
  68756. "adcs x6, x6, x9\n\t"
  68757. "umulh x9, x12, x15\n\t"
  68758. "adc x7, x7, xzr\n\t"
  68759. "adds x5, x5, x8\n\t"
  68760. "# A[3] * A[4]\n\t"
  68761. "mul x8, x13, x14\n\t"
  68762. "adcs x6, x6, x9\n\t"
  68763. "umulh x9, x13, x14\n\t"
  68764. "adc x7, x7, xzr\n\t"
  68765. "adds x5, x5, x8\n\t"
  68766. "adcs x6, x6, x9\n\t"
  68767. "adc x7, x7, xzr\n\t"
  68768. "adds x5, x5, x5\n\t"
  68769. "adcs x6, x6, x6\n\t"
  68770. "adc x7, x7, x7\n\t"
  68771. "adds x3, x3, x5\n\t"
  68772. "adcs x4, x4, x6\n\t"
  68773. "adc x2, x2, x7\n\t"
  68774. "str x3, [x29, 56]\n\t"
  68775. "# A[0] * A[8]\n\t"
  68776. "mul x5, x10, x19\n\t"
  68777. "umulh x6, x10, x19\n\t"
  68778. "mov x3, xzr\n\t"
  68779. "mov x7, xzr\n\t"
  68780. "# A[1] * A[7]\n\t"
  68781. "mul x8, x11, x17\n\t"
  68782. "umulh x9, x11, x17\n\t"
  68783. "adds x5, x5, x8\n\t"
  68784. "# A[2] * A[6]\n\t"
  68785. "mul x8, x12, x16\n\t"
  68786. "adcs x6, x6, x9\n\t"
  68787. "umulh x9, x12, x16\n\t"
  68788. "adc x7, x7, xzr\n\t"
  68789. "adds x5, x5, x8\n\t"
  68790. "# A[3] * A[5]\n\t"
  68791. "mul x8, x13, x15\n\t"
  68792. "adcs x6, x6, x9\n\t"
  68793. "umulh x9, x13, x15\n\t"
  68794. "adc x7, x7, xzr\n\t"
  68795. "adds x5, x5, x8\n\t"
  68796. "# A[4] * A[4]\n\t"
  68797. "mul x8, x14, x14\n\t"
  68798. "adcs x6, x6, x9\n\t"
  68799. "umulh x9, x14, x14\n\t"
  68800. "adc x7, x7, xzr\n\t"
  68801. "adds x5, x5, x5\n\t"
  68802. "adcs x6, x6, x6\n\t"
  68803. "adc x7, x7, x7\n\t"
  68804. "adds x5, x5, x8\n\t"
  68805. "adcs x6, x6, x9\n\t"
  68806. "adc x7, x7, xzr\n\t"
  68807. "adds x4, x4, x5\n\t"
  68808. "adcs x2, x2, x6\n\t"
  68809. "adc x3, x3, x7\n\t"
  68810. "str x4, [x29, 64]\n\t"
  68811. "# A[1] * A[8]\n\t"
  68812. "mul x5, x11, x19\n\t"
  68813. "umulh x6, x11, x19\n\t"
  68814. "mov x4, xzr\n\t"
  68815. "mov x7, xzr\n\t"
  68816. "# A[2] * A[7]\n\t"
  68817. "mul x8, x12, x17\n\t"
  68818. "umulh x9, x12, x17\n\t"
  68819. "adds x5, x5, x8\n\t"
  68820. "# A[3] * A[6]\n\t"
  68821. "mul x8, x13, x16\n\t"
  68822. "adcs x6, x6, x9\n\t"
  68823. "umulh x9, x13, x16\n\t"
  68824. "adc x7, x7, xzr\n\t"
  68825. "adds x5, x5, x8\n\t"
  68826. "# A[4] * A[5]\n\t"
  68827. "mul x8, x14, x15\n\t"
  68828. "adcs x6, x6, x9\n\t"
  68829. "umulh x9, x14, x15\n\t"
  68830. "adc x7, x7, xzr\n\t"
  68831. "adds x5, x5, x8\n\t"
  68832. "adcs x6, x6, x9\n\t"
  68833. "adc x7, x7, xzr\n\t"
  68834. "adds x5, x5, x5\n\t"
  68835. "adcs x6, x6, x6\n\t"
  68836. "adc x7, x7, x7\n\t"
  68837. "adds x2, x2, x5\n\t"
  68838. "adcs x3, x3, x6\n\t"
  68839. "adc x4, x4, x7\n\t"
  68840. "str x2, [x29, 72]\n\t"
  68841. "# A[2] * A[8]\n\t"
  68842. "mul x5, x12, x19\n\t"
  68843. "umulh x6, x12, x19\n\t"
  68844. "mov x2, xzr\n\t"
  68845. "mov x7, xzr\n\t"
  68846. "# A[3] * A[7]\n\t"
  68847. "mul x8, x13, x17\n\t"
  68848. "umulh x9, x13, x17\n\t"
  68849. "adds x5, x5, x8\n\t"
  68850. "# A[4] * A[6]\n\t"
  68851. "mul x8, x14, x16\n\t"
  68852. "adcs x6, x6, x9\n\t"
  68853. "umulh x9, x14, x16\n\t"
  68854. "adc x7, x7, xzr\n\t"
  68855. "adds x5, x5, x8\n\t"
  68856. "# A[5] * A[5]\n\t"
  68857. "mul x8, x15, x15\n\t"
  68858. "adcs x6, x6, x9\n\t"
  68859. "umulh x9, x15, x15\n\t"
  68860. "adc x7, x7, xzr\n\t"
  68861. "adds x5, x5, x5\n\t"
  68862. "adcs x6, x6, x6\n\t"
  68863. "adc x7, x7, x7\n\t"
  68864. "adds x5, x5, x8\n\t"
  68865. "adcs x6, x6, x9\n\t"
  68866. "adc x7, x7, xzr\n\t"
  68867. "adds x3, x3, x5\n\t"
  68868. "adcs x4, x4, x6\n\t"
  68869. "adc x2, x2, x7\n\t"
  68870. "str x3, [x29, 80]\n\t"
  68871. "# A[3] * A[8]\n\t"
  68872. "mul x5, x13, x19\n\t"
  68873. "umulh x6, x13, x19\n\t"
  68874. "mov x3, xzr\n\t"
  68875. "mov x7, xzr\n\t"
  68876. "# A[4] * A[7]\n\t"
  68877. "mul x8, x14, x17\n\t"
  68878. "umulh x9, x14, x17\n\t"
  68879. "adds x5, x5, x8\n\t"
  68880. "# A[5] * A[6]\n\t"
  68881. "mul x8, x15, x16\n\t"
  68882. "adcs x6, x6, x9\n\t"
  68883. "umulh x9, x15, x16\n\t"
  68884. "adc x7, x7, xzr\n\t"
  68885. "adds x5, x5, x8\n\t"
  68886. "adcs x6, x6, x9\n\t"
  68887. "adc x7, x7, xzr\n\t"
  68888. "adds x5, x5, x5\n\t"
  68889. "adcs x6, x6, x6\n\t"
  68890. "adc x7, x7, x7\n\t"
  68891. "adds x4, x4, x5\n\t"
  68892. "adcs x2, x2, x6\n\t"
  68893. "adc x3, x3, x7\n\t"
  68894. "str x4, [x29, 88]\n\t"
  68895. "# A[4] * A[8]\n\t"
  68896. "mul x8, x14, x19\n\t"
  68897. "umulh x9, x14, x19\n\t"
  68898. "adds x2, x2, x8\n\t"
  68899. "adcs x3, x3, x9\n\t"
  68900. "adc x4, xzr, xzr\n\t"
  68901. "adds x2, x2, x8\n\t"
  68902. "# A[5] * A[7]\n\t"
  68903. "mul x8, x15, x17\n\t"
  68904. "adcs x3, x3, x9\n\t"
  68905. "umulh x9, x15, x17\n\t"
  68906. "adc x4, x4, xzr\n\t"
  68907. "adds x2, x2, x8\n\t"
  68908. "adcs x3, x3, x9\n\t"
  68909. "adc x4, x4, xzr\n\t"
  68910. "adds x2, x2, x8\n\t"
  68911. "# A[6] * A[6]\n\t"
  68912. "mul x8, x16, x16\n\t"
  68913. "adcs x3, x3, x9\n\t"
  68914. "umulh x9, x16, x16\n\t"
  68915. "adc x4, x4, xzr\n\t"
  68916. "adds x2, x2, x8\n\t"
  68917. "str x2, [x29, 96]\n\t"
  68918. "# A[5] * A[8]\n\t"
  68919. "mul x8, x15, x19\n\t"
  68920. "adcs x3, x3, x9\n\t"
  68921. "umulh x9, x15, x19\n\t"
  68922. "adc x4, x4, xzr\n\t"
  68923. "adds x3, x3, x8\n\t"
  68924. "adcs x4, x4, x9\n\t"
  68925. "adc x2, xzr, xzr\n\t"
  68926. "adds x3, x3, x8\n\t"
  68927. "# A[6] * A[7]\n\t"
  68928. "mul x8, x16, x17\n\t"
  68929. "adcs x4, x4, x9\n\t"
  68930. "umulh x9, x16, x17\n\t"
  68931. "adc x2, x2, xzr\n\t"
  68932. "adds x3, x3, x8\n\t"
  68933. "adcs x4, x4, x9\n\t"
  68934. "adc x2, x2, xzr\n\t"
  68935. "adds x3, x3, x8\n\t"
  68936. "str x3, [x29, 104]\n\t"
  68937. "# A[6] * A[8]\n\t"
  68938. "mul x8, x16, x19\n\t"
  68939. "adcs x4, x4, x9\n\t"
  68940. "umulh x9, x16, x19\n\t"
  68941. "adc x2, x2, xzr\n\t"
  68942. "adds x4, x4, x8\n\t"
  68943. "adcs x2, x2, x9\n\t"
  68944. "adc x3, xzr, xzr\n\t"
  68945. "adds x4, x4, x8\n\t"
  68946. "# A[7] * A[7]\n\t"
  68947. "mul x8, x17, x17\n\t"
  68948. "adcs x2, x2, x9\n\t"
  68949. "umulh x9, x17, x17\n\t"
  68950. "adc x3, x3, xzr\n\t"
  68951. "adds x4, x4, x8\n\t"
  68952. "str x4, [x29, 112]\n\t"
  68953. "# A[7] * A[8]\n\t"
  68954. "mul x8, x17, x19\n\t"
  68955. "adcs x2, x2, x9\n\t"
  68956. "umulh x9, x17, x19\n\t"
  68957. "adc x3, x3, xzr\n\t"
  68958. "adds x2, x2, x8\n\t"
  68959. "adcs x3, x3, x9\n\t"
  68960. "adc x4, xzr, xzr\n\t"
  68961. "adds x2, x2, x8\n\t"
  68962. "str x2, [x29, 120]\n\t"
  68963. "# A[8] * A[8]\n\t"
  68964. "mul x8, x19, x19\n\t"
  68965. "adcs x3, x3, x9\n\t"
  68966. "umulh x9, x19, x19\n\t"
  68967. "adc x4, x4, xzr\n\t"
  68968. "adds x3, x3, x8\n\t"
  68969. "adc x4, x4, x9\n\t"
  68970. "stp x3, x4, [x29, 128]\n\t"
  68971. "ldp x2, x3, [x29, 0]\n\t"
  68972. "ldp x4, x5, [x29, 16]\n\t"
  68973. "ldp x6, x7, [x29, 32]\n\t"
  68974. "ldp x8, x9, [x29, 48]\n\t"
  68975. "ldp x11, x12, [x29, 64]\n\t"
  68976. "ldp x13, x14, [x29, 80]\n\t"
  68977. "ldp x15, x16, [x29, 96]\n\t"
  68978. "ldp x17, x19, [x29, 112]\n\t"
  68979. "ldr x20, [x29, 128]\n\t"
  68980. "and x10, x11, 0x1ff\n\t"
  68981. "lsr x11, x11, 9\n\t"
  68982. "orr x11, x11, x12, lsl #55\n\t"
  68983. "lsr x12, x12, 9\n\t"
  68984. "orr x12, x12, x13, lsl #55\n\t"
  68985. "lsr x13, x13, 9\n\t"
  68986. "orr x13, x13, x14, lsl #55\n\t"
  68987. "lsr x14, x14, 9\n\t"
  68988. "orr x14, x14, x15, lsl #55\n\t"
  68989. "lsr x15, x15, 9\n\t"
  68990. "orr x15, x15, x16, lsl #55\n\t"
  68991. "lsr x16, x16, 9\n\t"
  68992. "orr x16, x16, x17, lsl #55\n\t"
  68993. "lsr x17, x17, 9\n\t"
  68994. "orr x17, x17, x19, lsl #55\n\t"
  68995. "lsr x19, x19, 9\n\t"
  68996. "orr x19, x19, x20, lsl #55\n\t"
  68997. "lsr x20, x20, 9\n\t"
  68998. "adds x2, x2, x11\n\t"
  68999. "adcs x3, x3, x12\n\t"
  69000. "adcs x4, x4, x13\n\t"
  69001. "adcs x5, x5, x14\n\t"
  69002. "adcs x6, x6, x15\n\t"
  69003. "adcs x7, x7, x16\n\t"
  69004. "adcs x8, x8, x17\n\t"
  69005. "adcs x9, x9, x19\n\t"
  69006. "adcs x10, x10, x20\n\t"
  69007. "lsr x11, x10, 9\n\t"
  69008. "and x10, x10, 0x1ff\n\t"
  69009. "adds x2, x2, x11\n\t"
  69010. "adcs x3, x3, xzr\n\t"
  69011. "adcs x4, x4, xzr\n\t"
  69012. "adcs x5, x5, xzr\n\t"
  69013. "adcs x6, x6, xzr\n\t"
  69014. "adcs x7, x7, xzr\n\t"
  69015. "adcs x8, x8, xzr\n\t"
  69016. "adcs x9, x9, xzr\n\t"
  69017. "adcs x10, x10, xzr\n\t"
  69018. "stp x2, x3, [%[r], 0]\n\t"
  69019. "stp x4, x5, [%[r], 16]\n\t"
  69020. "stp x6, x7, [%[r], 32]\n\t"
  69021. "stp x8, x9, [%[r], 48]\n\t"
  69022. "str x10, [%[r], 64]\n\t"
  69023. "ldp x29, x30, [sp], #0xa0\n\t"
  69024. :
  69025. : [r] "r" (r), [a] "r" (a)
  69026. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20"
  69027. );
  69028. }
  69029. #if !defined(WOLFSSL_SP_SMALL) || defined(HAVE_COMP_KEY)
  69030. /* Square the Montgomery form number a number of times. (r = a ^ n mod m)
  69031. *
  69032. * r Result of squaring.
  69033. * a Number to square in Montgomery form.
  69034. * n Number of times to square.
  69035. * m Modulus (prime).
  69036. * mp Montgomery mulitplier.
  69037. */
  69038. static void sp_521_mont_sqr_n_9(sp_digit* r, const sp_digit* a, int n,
  69039. const sp_digit* m, sp_digit mp)
  69040. {
  69041. sp_521_mont_sqr_9(r, a, m, mp);
  69042. for (; n > 1; n--) {
  69043. sp_521_mont_sqr_9(r, r, m, mp);
  69044. }
  69045. }
  69046. #endif /* !WOLFSSL_SP_SMALL | HAVE_COMP_KEY */
  69047. #ifdef WOLFSSL_SP_SMALL
  69048. /* Mod-2 for the P521 curve. */
  69049. static const uint64_t p521_mod_minus_2[9] = {
  69050. 0xfffffffffffffffdU,0xffffffffffffffffU,0xffffffffffffffffU,
  69051. 0xffffffffffffffffU,0xffffffffffffffffU,0xffffffffffffffffU,
  69052. 0xffffffffffffffffU,0xffffffffffffffffU,0x00000000000001ffU
  69053. };
  69054. #endif /* !WOLFSSL_SP_SMALL */
  69055. /* Invert the number, in Montgomery form, modulo the modulus (prime) of the
  69056. * P521 curve. (r = 1 / a mod m)
  69057. *
  69058. * r Inverse result.
  69059. * a Number to invert.
  69060. * td Temporary data.
  69061. */
  69062. static void sp_521_mont_inv_9(sp_digit* r, const sp_digit* a, sp_digit* td)
  69063. {
  69064. #ifdef WOLFSSL_SP_SMALL
  69065. sp_digit* t = td;
  69066. int i;
  69067. XMEMCPY(t, a, sizeof(sp_digit) * 9);
  69068. for (i=519; i>=0; i--) {
  69069. sp_521_mont_sqr_9(t, t, p521_mod, p521_mp_mod);
  69070. if (p521_mod_minus_2[i / 64] & ((sp_digit)1 << (i % 64)))
  69071. sp_521_mont_mul_9(t, t, a, p521_mod, p521_mp_mod);
  69072. }
  69073. XMEMCPY(r, t, sizeof(sp_digit) * 9);
  69074. #else
  69075. sp_digit* t1 = td;
  69076. sp_digit* t2 = td + 2 * 9;
  69077. sp_digit* t3 = td + 4 * 9;
  69078. /* 0x2 */
  69079. sp_521_mont_sqr_9(t1, a, p521_mod, p521_mp_mod);
  69080. /* 0x3 */
  69081. sp_521_mont_mul_9(t2, t1, a, p521_mod, p521_mp_mod);
  69082. /* 0x6 */
  69083. sp_521_mont_sqr_9(t1, t2, p521_mod, p521_mp_mod);
  69084. /* 0x7 */
  69085. sp_521_mont_mul_9(t3, t1, a, p521_mod, p521_mp_mod);
  69086. /* 0xc */
  69087. sp_521_mont_sqr_n_9(t1, t2, 2, p521_mod, p521_mp_mod);
  69088. /* 0xf */
  69089. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  69090. /* 0x78 */
  69091. sp_521_mont_sqr_n_9(t1, t2, 3, p521_mod, p521_mp_mod);
  69092. /* 0x7f */
  69093. sp_521_mont_mul_9(t3, t3, t1, p521_mod, p521_mp_mod);
  69094. /* 0xf0 */
  69095. sp_521_mont_sqr_n_9(t1, t2, 4, p521_mod, p521_mp_mod);
  69096. /* 0xff */
  69097. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  69098. /* 0xff00 */
  69099. sp_521_mont_sqr_n_9(t1, t2, 8, p521_mod, p521_mp_mod);
  69100. /* 0xffff */
  69101. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  69102. /* 0xffff0000 */
  69103. sp_521_mont_sqr_n_9(t1, t2, 16, p521_mod, p521_mp_mod);
  69104. /* 0xffffffff */
  69105. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  69106. /* 0xffffffff00000000 */
  69107. sp_521_mont_sqr_n_9(t1, t2, 32, p521_mod, p521_mp_mod);
  69108. /* 0xffffffffffffffff */
  69109. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  69110. /* 0xffffffffffffffff0000000000000000 */
  69111. sp_521_mont_sqr_n_9(t1, t2, 64, p521_mod, p521_mp_mod);
  69112. /* 0xffffffffffffffffffffffffffffffff */
  69113. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  69114. /* 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000 */
  69115. sp_521_mont_sqr_n_9(t1, t2, 128, p521_mod, p521_mp_mod);
  69116. /* 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  69117. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  69118. /* 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000 */
  69119. sp_521_mont_sqr_n_9(t1, t2, 256, p521_mod, p521_mp_mod);
  69120. /* 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  69121. sp_521_mont_mul_9(t2, t2, t1, p521_mod, p521_mp_mod);
  69122. /* 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 */
  69123. sp_521_mont_sqr_n_9(t1, t2, 7, p521_mod, p521_mp_mod);
  69124. /* 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff */
  69125. sp_521_mont_mul_9(t2, t3, t1, p521_mod, p521_mp_mod);
  69126. /* 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc */
  69127. sp_521_mont_sqr_n_9(t1, t2, 2, p521_mod, p521_mp_mod);
  69128. /* 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd */
  69129. sp_521_mont_mul_9(r, t1, a, p521_mod, p521_mp_mod);
  69130. #endif /* WOLFSSL_SP_SMALL */
  69131. }
  69132. /* Normalize the values in each word to 64.
  69133. *
  69134. * a Array of sp_digit to normalize.
  69135. */
  69136. #define sp_521_norm_9(a)
  69137. #define sp_521_mont_reduce_order_9 sp_521_mont_reduce_9
  69138. /* Reduce the number back to 521 bits using Montgomery reduction.
  69139. *
  69140. * a A single precision number to reduce in place.
  69141. * m The single precision number representing the modulus.
  69142. * mp The digit representing the negative inverse of m mod 2^n.
  69143. */
  69144. SP_NOINLINE static void sp_521_mont_reduce_9(sp_digit* a, const sp_digit* m,
  69145. sp_digit mp)
  69146. {
  69147. __asm__ __volatile__ (
  69148. "ldp x13, x14, [%[a], 0]\n\t"
  69149. "ldp x15, x16, [%[a], 16]\n\t"
  69150. "ldp x17, x19, [%[a], 32]\n\t"
  69151. "ldp x20, x21, [%[a], 48]\n\t"
  69152. "ldr x22, [%[a], 64]\n\t"
  69153. "mov x3, xzr\n\t"
  69154. "# i = 0..8\n\t"
  69155. "mov x4, 9\n\t"
  69156. "\n1:\n\t"
  69157. "# mu = a[i] * mp\n\t"
  69158. "mul x9, %[mp], x13\n\t"
  69159. "cmp x4, #1\n\t"
  69160. "bne L_521_mont_reduce_9_nomask\n\t"
  69161. "and x9, x9, #0x1ff\n\t"
  69162. "L_521_mont_reduce_9_nomask:\n\t"
  69163. "# a[i+0] += m[0] * mu\n\t"
  69164. "ldp x10, x11, [%[m], 0]\n\t"
  69165. "mul x7, x10, x9\n\t"
  69166. "umulh x8, x10, x9\n\t"
  69167. "adds x12, x13, x7\n\t"
  69168. "# a[i+1] += m[1] * mu\n\t"
  69169. "adc x6, x8, xzr\n\t"
  69170. "mul x7, x11, x9\n\t"
  69171. "umulh x8, x11, x9\n\t"
  69172. "adds x13, x14, x7\n\t"
  69173. "# a[i+2] += m[2] * mu\n\t"
  69174. "ldp x11, x10, [%[m], 16]\n\t"
  69175. "adc x5, x8, xzr\n\t"
  69176. "adds x13, x13, x6\n\t"
  69177. "mul x7, x11, x9\n\t"
  69178. "adc x5, x5, xzr\n\t"
  69179. "umulh x8, x11, x9\n\t"
  69180. "adds x14, x15, x7\n\t"
  69181. "# a[i+3] += m[3] * mu\n\t"
  69182. "adc x6, x8, xzr\n\t"
  69183. "adds x14, x14, x5\n\t"
  69184. "mul x7, x10, x9\n\t"
  69185. "adc x6, x6, xzr\n\t"
  69186. "umulh x8, x10, x9\n\t"
  69187. "adds x15, x16, x7\n\t"
  69188. "# a[i+4] += m[4] * mu\n\t"
  69189. "ldp x11, x10, [%[m], 32]\n\t"
  69190. "adc x5, x8, xzr\n\t"
  69191. "adds x15, x15, x6\n\t"
  69192. "mul x7, x11, x9\n\t"
  69193. "adc x5, x5, xzr\n\t"
  69194. "umulh x8, x11, x9\n\t"
  69195. "adds x16, x17, x7\n\t"
  69196. "# a[i+5] += m[5] * mu\n\t"
  69197. "adc x6, x8, xzr\n\t"
  69198. "adds x16, x16, x5\n\t"
  69199. "mul x7, x10, x9\n\t"
  69200. "adc x6, x6, xzr\n\t"
  69201. "umulh x8, x10, x9\n\t"
  69202. "adds x17, x19, x7\n\t"
  69203. "# a[i+6] += m[6] * mu\n\t"
  69204. "ldp x11, x10, [%[m], 48]\n\t"
  69205. "adc x5, x8, xzr\n\t"
  69206. "adds x17, x17, x6\n\t"
  69207. "mul x7, x11, x9\n\t"
  69208. "adc x5, x5, xzr\n\t"
  69209. "umulh x8, x11, x9\n\t"
  69210. "adds x19, x20, x7\n\t"
  69211. "# a[i+7] += m[7] * mu\n\t"
  69212. "adc x6, x8, xzr\n\t"
  69213. "adds x19, x19, x5\n\t"
  69214. "mul x7, x10, x9\n\t"
  69215. "adc x6, x6, xzr\n\t"
  69216. "umulh x8, x10, x9\n\t"
  69217. "adds x20, x21, x7\n\t"
  69218. "# a[i+8] += m[8] * mu\n\t"
  69219. "ldr x11, [%[m], 64]\n\t"
  69220. "adc x5, x8, xzr\n\t"
  69221. "adds x20, x20, x6\n\t"
  69222. "mul x7, x11, x9\n\t"
  69223. "adc x5, x5, xzr\n\t"
  69224. "umulh x8, x11, x9\n\t"
  69225. "adds x5, x5, x7\n\t"
  69226. "adcs x8, x8, x3\n\t"
  69227. "cset x3, cs\n\t"
  69228. "adds x21, x22, x5\n\t"
  69229. "ldr x22, [%[a], 72]\n\t"
  69230. "adcs x22, x22, x8\n\t"
  69231. "adc x3, x3, xzr\n\t"
  69232. "subs x4, x4, 1\n\t"
  69233. "add %[a], %[a], 8\n\t"
  69234. "bne 1b\n\t"
  69235. "extr x12, x13, x12, 9\n\t"
  69236. "extr x13, x14, x13, 9\n\t"
  69237. "extr x14, x15, x14, 9\n\t"
  69238. "extr x15, x16, x15, 9\n\t"
  69239. "extr x16, x17, x16, 9\n\t"
  69240. "extr x17, x19, x17, 9\n\t"
  69241. "extr x19, x20, x19, 9\n\t"
  69242. "extr x20, x21, x20, 9\n\t"
  69243. "lsr x21, x21, 9\n\t"
  69244. "lsr x3, x21, 9\n\t"
  69245. "sub %[a], %[a], 72\n\t"
  69246. "neg x3, x3\n\t"
  69247. "# Subtract masked modulus\n\t"
  69248. "ldp x4, x5, [%[m], 0]\n\t"
  69249. "ldp x6, x7, [%[m], 16]\n\t"
  69250. "and x4, x4, x3\n\t"
  69251. "and x5, x5, x3\n\t"
  69252. "subs x12, x12, x4\n\t"
  69253. "and x6, x6, x3\n\t"
  69254. "sbcs x13, x13, x5\n\t"
  69255. "and x7, x7, x3\n\t"
  69256. "sbcs x14, x14, x6\n\t"
  69257. "stp x12, x13, [%[a], 0]\n\t"
  69258. "sbcs x15, x15, x7\n\t"
  69259. "stp x14, x15, [%[a], 16]\n\t"
  69260. "ldp x4, x5, [%[m], 32]\n\t"
  69261. "ldp x6, x7, [%[m], 48]\n\t"
  69262. "and x4, x4, x3\n\t"
  69263. "and x5, x5, x3\n\t"
  69264. "sbcs x16, x16, x4\n\t"
  69265. "and x6, x6, x3\n\t"
  69266. "sbcs x17, x17, x5\n\t"
  69267. "and x7, x7, x3\n\t"
  69268. "sbcs x19, x19, x6\n\t"
  69269. "stp x16, x17, [%[a], 32]\n\t"
  69270. "sbcs x20, x20, x7\n\t"
  69271. "stp x19, x20, [%[a], 48]\n\t"
  69272. "ldr x4, [%[m], 64]\n\t"
  69273. "and x4, x4, x3\n\t"
  69274. "sbcs x21, x21, x4\n\t"
  69275. "str x21, [%[a], 64]\n\t"
  69276. : [a] "+r" (a), [mp] "+r" (mp)
  69277. : [m] "r" (m)
  69278. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22"
  69279. );
  69280. }
  69281. /* Map the Montgomery form projective coordinate point to an affine point.
  69282. *
  69283. * r Resulting affine coordinate point.
  69284. * p Montgomery form projective coordinate point.
  69285. * t Temporary ordinate data.
  69286. */
  69287. static void sp_521_map_9(sp_point_521* r, const sp_point_521* p,
  69288. sp_digit* t)
  69289. {
  69290. sp_digit* t1 = t;
  69291. sp_digit* t2 = t + 2*9;
  69292. sp_int64 n;
  69293. sp_521_mont_inv_9(t1, p->z, t + 2*9);
  69294. sp_521_mont_sqr_9(t2, t1, p521_mod, p521_mp_mod);
  69295. sp_521_mont_mul_9(t1, t2, t1, p521_mod, p521_mp_mod);
  69296. /* x /= z^2 */
  69297. sp_521_mont_mul_9(r->x, p->x, t2, p521_mod, p521_mp_mod);
  69298. XMEMSET(r->x + 9, 0, sizeof(r->x) / 2U);
  69299. sp_521_mont_reduce_9(r->x, p521_mod, p521_mp_mod);
  69300. /* Reduce x to less than modulus */
  69301. n = sp_521_cmp_9(r->x, p521_mod);
  69302. sp_521_cond_sub_9(r->x, r->x, p521_mod, ~(n >> 63));
  69303. sp_521_norm_9(r->x);
  69304. /* y /= z^3 */
  69305. sp_521_mont_mul_9(r->y, p->y, t1, p521_mod, p521_mp_mod);
  69306. XMEMSET(r->y + 9, 0, sizeof(r->y) / 2U);
  69307. sp_521_mont_reduce_9(r->y, p521_mod, p521_mp_mod);
  69308. /* Reduce y to less than modulus */
  69309. n = sp_521_cmp_9(r->y, p521_mod);
  69310. sp_521_cond_sub_9(r->y, r->y, p521_mod, ~(n >> 63));
  69311. sp_521_norm_9(r->y);
  69312. XMEMSET(r->z, 0, sizeof(r->z) / 2);
  69313. r->z[0] = 1;
  69314. }
  69315. /* Add two Montgomery form numbers (r = a + b % m).
  69316. *
  69317. * r Result of addition.
  69318. * a First number to add in Montgomery form.
  69319. * b Second number to add in Montgomery form.
  69320. * m Modulus (prime).
  69321. */
  69322. static void sp_521_mont_add_9(sp_digit* r, const sp_digit* a, const sp_digit* b,
  69323. const sp_digit* m)
  69324. {
  69325. __asm__ __volatile__ (
  69326. "ldp x4, x5, [%[a], 0]\n\t"
  69327. "ldp x6, x7, [%[a], 16]\n\t"
  69328. "ldp x8, x9, [%[a], 32]\n\t"
  69329. "ldp x10, x11, [%[a], 48]\n\t"
  69330. "ldr x12, [%[a], 64]\n\t"
  69331. "ldp x13, x14, [%[b], 0]\n\t"
  69332. "ldp x15, x16, [%[b], 16]\n\t"
  69333. "ldp x17, x19, [%[b], 32]\n\t"
  69334. "ldp x20, x21, [%[b], 48]\n\t"
  69335. "ldr x22, [%[b], 64]\n\t"
  69336. "adds x4, x4, x13\n\t"
  69337. "adcs x5, x5, x14\n\t"
  69338. "adcs x6, x6, x15\n\t"
  69339. "adcs x7, x7, x16\n\t"
  69340. "adcs x8, x8, x17\n\t"
  69341. "adcs x9, x9, x19\n\t"
  69342. "adcs x10, x10, x20\n\t"
  69343. "adcs x11, x11, x21\n\t"
  69344. "adc x12, x12, x22\n\t"
  69345. "lsr x13, x12, 9\n\t"
  69346. "and x12, x12, 0x1ff\n\t"
  69347. "adds x4, x4, x13\n\t"
  69348. "adcs x5, x5, xzr\n\t"
  69349. "adcs x6, x6, xzr\n\t"
  69350. "adcs x7, x7, xzr\n\t"
  69351. "adcs x8, x8, xzr\n\t"
  69352. "adcs x9, x9, xzr\n\t"
  69353. "adcs x10, x10, xzr\n\t"
  69354. "adcs x11, x11, xzr\n\t"
  69355. "adc x12, x12, xzr\n\t"
  69356. "stp x4, x5, [%[r], 0]\n\t"
  69357. "stp x6, x7, [%[r], 16]\n\t"
  69358. "stp x8, x9, [%[r], 32]\n\t"
  69359. "stp x10, x11, [%[r], 48]\n\t"
  69360. "str x12, [%[r], 64]\n\t"
  69361. :
  69362. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  69363. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22"
  69364. );
  69365. }
  69366. /* Double a Montgomery form number (r = a + a % m).
  69367. *
  69368. * r Result of doubling.
  69369. * a Number to double in Montgomery form.
  69370. * m Modulus (prime).
  69371. */
  69372. static void sp_521_mont_dbl_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
  69373. {
  69374. __asm__ __volatile__ (
  69375. "ldp x4, x5, [%[a], 0]\n\t"
  69376. "ldp x6, x7, [%[a], 16]\n\t"
  69377. "ldp x8, x9, [%[a], 32]\n\t"
  69378. "ldp x10, x11, [%[a], 48]\n\t"
  69379. "ldr x12, [%[a], 64]\n\t"
  69380. "adds x4, x4, x4\n\t"
  69381. "adcs x5, x5, x5\n\t"
  69382. "adcs x6, x6, x6\n\t"
  69383. "adcs x7, x7, x7\n\t"
  69384. "adcs x8, x8, x8\n\t"
  69385. "adcs x9, x9, x9\n\t"
  69386. "adcs x10, x10, x10\n\t"
  69387. "adcs x11, x11, x11\n\t"
  69388. "adc x12, x12, x12\n\t"
  69389. "lsr x13, x12, 9\n\t"
  69390. "and x12, x12, 0x1ff\n\t"
  69391. "adds x4, x4, x13\n\t"
  69392. "adcs x5, x5, xzr\n\t"
  69393. "adcs x6, x6, xzr\n\t"
  69394. "adcs x7, x7, xzr\n\t"
  69395. "adcs x8, x8, xzr\n\t"
  69396. "adcs x9, x9, xzr\n\t"
  69397. "adcs x10, x10, xzr\n\t"
  69398. "adcs x11, x11, xzr\n\t"
  69399. "adc x12, x12, xzr\n\t"
  69400. "stp x4, x5, [%[r], 0]\n\t"
  69401. "stp x6, x7, [%[r], 16]\n\t"
  69402. "stp x8, x9, [%[r], 32]\n\t"
  69403. "stp x10, x11, [%[r], 48]\n\t"
  69404. "str x12, [%[r], 64]\n\t"
  69405. :
  69406. : [r] "r" (r), [a] "r" (a), [m] "r" (m)
  69407. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13"
  69408. );
  69409. }
  69410. /* Triple a Montgomery form number (r = a + a + a % m).
  69411. *
  69412. * r Result of Tripling.
  69413. * a Number to triple in Montgomery form.
  69414. * m Modulus (prime).
  69415. */
  69416. static void sp_521_mont_tpl_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
  69417. {
  69418. __asm__ __volatile__ (
  69419. "ldp x4, x5, [%[a], 0]\n\t"
  69420. "ldp x6, x7, [%[a], 16]\n\t"
  69421. "ldp x8, x9, [%[a], 32]\n\t"
  69422. "ldp x10, x11, [%[a], 48]\n\t"
  69423. "ldr x12, [%[a], 64]\n\t"
  69424. "adds x13, x4, x4\n\t"
  69425. "adcs x14, x5, x5\n\t"
  69426. "adcs x15, x6, x6\n\t"
  69427. "adcs x16, x7, x7\n\t"
  69428. "adcs x17, x8, x8\n\t"
  69429. "adcs x19, x9, x9\n\t"
  69430. "adcs x20, x10, x10\n\t"
  69431. "adcs x21, x11, x11\n\t"
  69432. "adc x22, x12, x12\n\t"
  69433. "adds x13, x13, x4\n\t"
  69434. "adcs x14, x14, x5\n\t"
  69435. "adcs x15, x15, x6\n\t"
  69436. "adcs x16, x16, x7\n\t"
  69437. "adcs x17, x17, x8\n\t"
  69438. "adcs x19, x19, x9\n\t"
  69439. "adcs x20, x20, x10\n\t"
  69440. "adcs x21, x21, x11\n\t"
  69441. "adc x22, x22, x12\n\t"
  69442. "lsr x4, x22, 9\n\t"
  69443. "and x22, x22, 0x1ff\n\t"
  69444. "adds x13, x13, x4\n\t"
  69445. "adcs x14, x14, xzr\n\t"
  69446. "adcs x15, x15, xzr\n\t"
  69447. "adcs x16, x16, xzr\n\t"
  69448. "adcs x17, x17, xzr\n\t"
  69449. "adcs x19, x19, xzr\n\t"
  69450. "adcs x20, x20, xzr\n\t"
  69451. "adcs x21, x21, xzr\n\t"
  69452. "adc x22, x22, xzr\n\t"
  69453. "stp x13, x14, [%[r], 0]\n\t"
  69454. "stp x15, x16, [%[r], 16]\n\t"
  69455. "stp x17, x19, [%[r], 32]\n\t"
  69456. "stp x20, x21, [%[r], 48]\n\t"
  69457. "str x22, [%[r], 64]\n\t"
  69458. :
  69459. : [r] "r" (r), [a] "r" (a), [m] "r" (m)
  69460. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22"
  69461. );
  69462. }
  69463. /* Subtract two Montgomery form numbers (r = a - b % m).
  69464. *
  69465. * r Result of subtration.
  69466. * a Number to subtract from in Montgomery form.
  69467. * b Number to subtract with in Montgomery form.
  69468. * m Modulus (prime).
  69469. */
  69470. static void sp_521_mont_sub_9(sp_digit* r, const sp_digit* a, const sp_digit* b,
  69471. const sp_digit* m)
  69472. {
  69473. __asm__ __volatile__ (
  69474. "ldp x4, x5, [%[a], 0]\n\t"
  69475. "ldp x6, x7, [%[a], 16]\n\t"
  69476. "ldp x8, x9, [%[a], 32]\n\t"
  69477. "ldp x10, x11, [%[a], 48]\n\t"
  69478. "ldr x12, [%[a], 64]\n\t"
  69479. "ldp x13, x14, [%[b], 0]\n\t"
  69480. "ldp x15, x16, [%[b], 16]\n\t"
  69481. "ldp x17, x19, [%[b], 32]\n\t"
  69482. "ldp x20, x21, [%[b], 48]\n\t"
  69483. "ldr x22, [%[b], 64]\n\t"
  69484. "subs x4, x4, x13\n\t"
  69485. "sbcs x5, x5, x14\n\t"
  69486. "sbcs x6, x6, x15\n\t"
  69487. "sbcs x7, x7, x16\n\t"
  69488. "sbcs x8, x8, x17\n\t"
  69489. "sbcs x9, x9, x19\n\t"
  69490. "sbcs x10, x10, x20\n\t"
  69491. "sbcs x11, x11, x21\n\t"
  69492. "sbc x12, x12, x22\n\t"
  69493. "asr x13, x12, 9\n\t"
  69494. "and x12, x12, 0x1ff\n\t"
  69495. "neg x13, x13\n\t"
  69496. "subs x4, x4, x13\n\t"
  69497. "sbcs x5, x5, xzr\n\t"
  69498. "sbcs x6, x6, xzr\n\t"
  69499. "sbcs x7, x7, xzr\n\t"
  69500. "sbcs x8, x8, xzr\n\t"
  69501. "sbcs x9, x9, xzr\n\t"
  69502. "sbcs x10, x10, xzr\n\t"
  69503. "sbcs x11, x11, xzr\n\t"
  69504. "sbc x12, x12, xzr\n\t"
  69505. "stp x4, x5, [%[r], 0]\n\t"
  69506. "stp x6, x7, [%[r], 16]\n\t"
  69507. "stp x8, x9, [%[r], 32]\n\t"
  69508. "stp x10, x11, [%[r], 48]\n\t"
  69509. "str x12, [%[r], 64]\n\t"
  69510. :
  69511. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  69512. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22"
  69513. );
  69514. }
  69515. #define sp_521_mont_sub_lower_9 sp_521_mont_sub_9
  69516. #ifdef WOLFSSL_SP_SMALL
  69517. /* Conditionally add a and b using the mask m.
  69518. * m is -1 to add and 0 when not.
  69519. *
  69520. * r A single precision number representing conditional add result.
  69521. * a A single precision number to add with.
  69522. * b A single precision number to add.
  69523. * m Mask value to apply.
  69524. */
  69525. static sp_digit sp_521_cond_add_9(sp_digit* r, const sp_digit* a, const sp_digit* b,
  69526. sp_digit m)
  69527. {
  69528. sp_digit c = 0;
  69529. __asm__ __volatile__ (
  69530. "mov x8, #0\n\t"
  69531. "1:\n\t"
  69532. "adds %[c], %[c], #-1\n\t"
  69533. "ldr x4, [%[a], x8]\n\t"
  69534. "ldr x5, [%[b], x8]\n\t"
  69535. "and x5, x5, %[m]\n\t"
  69536. "adcs x4, x4, x5\n\t"
  69537. "cset %[c], cs\n\t"
  69538. "str x4, [%[r], x8]\n\t"
  69539. "add x8, x8, #8\n\t"
  69540. "cmp x8, 72\n\t"
  69541. "b.lt 1b\n\t"
  69542. : [c] "+r" (c)
  69543. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  69544. : "memory", "x4", "x5", "x8", "x9", "x10", "x11", "x12"
  69545. );
  69546. return c;
  69547. }
  69548. #endif /* WOLFSSL_SP_SMALL */
  69549. #ifndef WOLFSSL_SP_SMALL
  69550. /* Conditionally add a and b using the mask m.
  69551. * m is -1 to add and 0 when not.
  69552. *
  69553. * r A single precision number representing conditional add result.
  69554. * a A single precision number to add with.
  69555. * b A single precision number to add.
  69556. * m Mask value to apply.
  69557. */
  69558. static sp_digit sp_521_cond_add_9(sp_digit* r, const sp_digit* a, const sp_digit* b,
  69559. sp_digit m)
  69560. {
  69561. __asm__ __volatile__ (
  69562. "ldp x8, x9, [%[b], 0]\n\t"
  69563. "ldp x10, x11, [%[b], 16]\n\t"
  69564. "ldp x4, x5, [%[a], 0]\n\t"
  69565. "and x8, x8, %[m]\n\t"
  69566. "ldp x6, x7, [%[a], 16]\n\t"
  69567. "and x9, x9, %[m]\n\t"
  69568. "adds x4, x4, x8\n\t"
  69569. "and x10, x10, %[m]\n\t"
  69570. "adcs x5, x5, x9\n\t"
  69571. "and x11, x11, %[m]\n\t"
  69572. "adcs x6, x6, x10\n\t"
  69573. "stp x4, x5, [%[r], 0]\n\t"
  69574. "adcs x7, x7, x11\n\t"
  69575. "stp x6, x7, [%[r], 16]\n\t"
  69576. "ldp x8, x9, [%[b], 32]\n\t"
  69577. "ldp x10, x11, [%[b], 48]\n\t"
  69578. "ldp x4, x5, [%[a], 32]\n\t"
  69579. "and x8, x8, %[m]\n\t"
  69580. "ldp x6, x7, [%[a], 48]\n\t"
  69581. "and x9, x9, %[m]\n\t"
  69582. "adcs x4, x4, x8\n\t"
  69583. "and x10, x10, %[m]\n\t"
  69584. "adcs x5, x5, x9\n\t"
  69585. "and x11, x11, %[m]\n\t"
  69586. "adcs x6, x6, x10\n\t"
  69587. "stp x4, x5, [%[r], 32]\n\t"
  69588. "adcs x7, x7, x11\n\t"
  69589. "stp x6, x7, [%[r], 48]\n\t"
  69590. "ldr x8, [%[b], 64]\n\t"
  69591. "ldr x4, [%[a], 64]\n\t"
  69592. "and x8, x8, %[m]\n\t"
  69593. "adcs x4, x4, x8\n\t"
  69594. "str x4, [%[r], 64]\n\t"
  69595. "cset %[r], cs\n\t"
  69596. : [r] "+r" (r)
  69597. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  69598. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  69599. );
  69600. return (sp_digit)r;
  69601. }
  69602. #endif /* !WOLFSSL_SP_SMALL */
  69603. static void sp_521_rshift1_9(sp_digit* r, const sp_digit* a)
  69604. {
  69605. __asm__ __volatile__ (
  69606. "ldp x2, x3, [%[a]]\n\t"
  69607. "ldr x3, [%[a], 8]\n\t"
  69608. "extr x2, x3, x2, #1\n\t"
  69609. "ldr x4, [%[a], 16]\n\t"
  69610. "str x2, [%[r], 0]\n\t"
  69611. "extr x3, x4, x3, #1\n\t"
  69612. "ldr x2, [%[a], 24]\n\t"
  69613. "str x3, [%[r], 8]\n\t"
  69614. "extr x4, x2, x4, #1\n\t"
  69615. "ldr x3, [%[a], 32]\n\t"
  69616. "str x4, [%[r], 16]\n\t"
  69617. "extr x2, x3, x2, #1\n\t"
  69618. "ldr x4, [%[a], 40]\n\t"
  69619. "str x2, [%[r], 24]\n\t"
  69620. "extr x3, x4, x3, #1\n\t"
  69621. "ldr x2, [%[a], 48]\n\t"
  69622. "str x3, [%[r], 32]\n\t"
  69623. "extr x4, x2, x4, #1\n\t"
  69624. "ldr x3, [%[a], 56]\n\t"
  69625. "str x4, [%[r], 40]\n\t"
  69626. "extr x2, x3, x2, #1\n\t"
  69627. "ldr x4, [%[a], 64]\n\t"
  69628. "str x2, [%[r], 48]\n\t"
  69629. "extr x3, x4, x3, #1\n\t"
  69630. "lsr x4, x4, #1\n\t"
  69631. "stp x3, x4, [%[r], 56]\n\t"
  69632. :
  69633. : [r] "r" (r), [a] "r" (a)
  69634. : "memory", "x2", "x3", "x4"
  69635. );
  69636. }
  69637. /* Divide the number by 2 mod the modulus (prime). (r = a / 2 % m)
  69638. *
  69639. * r Result of division by 2.
  69640. * a Number to divide.
  69641. * m Modulus (prime).
  69642. */
  69643. static void sp_521_div2_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
  69644. {
  69645. sp_digit o;
  69646. o = sp_521_cond_add_9(r, a, m, 0 - (a[0] & 1));
  69647. sp_521_rshift1_9(r, r);
  69648. r[8] |= o << 63;
  69649. }
  69650. /* Double the Montgomery form projective point p.
  69651. *
  69652. * r Result of doubling point.
  69653. * p Point to double.
  69654. * t Temporary ordinate data.
  69655. */
  69656. #ifdef WOLFSSL_SP_NONBLOCK
  69657. typedef struct sp_521_proj_point_dbl_9_ctx {
  69658. int state;
  69659. sp_digit* t1;
  69660. sp_digit* t2;
  69661. sp_digit* x;
  69662. sp_digit* y;
  69663. sp_digit* z;
  69664. } sp_521_proj_point_dbl_9_ctx;
  69665. static int sp_521_proj_point_dbl_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, const sp_point_521* p, sp_digit* t)
  69666. {
  69667. int err = FP_WOULDBLOCK;
  69668. sp_521_proj_point_dbl_9_ctx* ctx = (sp_521_proj_point_dbl_9_ctx*)sp_ctx->data;
  69669. typedef char ctx_size_test[sizeof(sp_521_proj_point_dbl_9_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  69670. (void)sizeof(ctx_size_test);
  69671. switch (ctx->state) {
  69672. case 0:
  69673. ctx->t1 = t;
  69674. ctx->t2 = t + 2*9;
  69675. ctx->x = r->x;
  69676. ctx->y = r->y;
  69677. ctx->z = r->z;
  69678. /* Put infinity into result. */
  69679. if (r != p) {
  69680. r->infinity = p->infinity;
  69681. }
  69682. ctx->state = 1;
  69683. break;
  69684. case 1:
  69685. /* T1 = Z * Z */
  69686. sp_521_mont_sqr_9(ctx->t1, p->z, p521_mod, p521_mp_mod);
  69687. ctx->state = 2;
  69688. break;
  69689. case 2:
  69690. /* Z = Y * Z */
  69691. sp_521_mont_mul_9(ctx->z, p->y, p->z, p521_mod, p521_mp_mod);
  69692. ctx->state = 3;
  69693. break;
  69694. case 3:
  69695. /* Z = 2Z */
  69696. sp_521_mont_dbl_9(ctx->z, ctx->z, p521_mod);
  69697. ctx->state = 4;
  69698. break;
  69699. case 4:
  69700. /* T2 = X - T1 */
  69701. sp_521_mont_sub_9(ctx->t2, p->x, ctx->t1, p521_mod);
  69702. ctx->state = 5;
  69703. break;
  69704. case 5:
  69705. /* T1 = X + T1 */
  69706. sp_521_mont_add_9(ctx->t1, p->x, ctx->t1, p521_mod);
  69707. ctx->state = 6;
  69708. break;
  69709. case 6:
  69710. /* T2 = T1 * T2 */
  69711. sp_521_mont_mul_9(ctx->t2, ctx->t1, ctx->t2, p521_mod, p521_mp_mod);
  69712. ctx->state = 7;
  69713. break;
  69714. case 7:
  69715. /* T1 = 3T2 */
  69716. sp_521_mont_tpl_9(ctx->t1, ctx->t2, p521_mod);
  69717. ctx->state = 8;
  69718. break;
  69719. case 8:
  69720. /* Y = 2Y */
  69721. sp_521_mont_dbl_9(ctx->y, p->y, p521_mod);
  69722. ctx->state = 9;
  69723. break;
  69724. case 9:
  69725. /* Y = Y * Y */
  69726. sp_521_mont_sqr_9(ctx->y, ctx->y, p521_mod, p521_mp_mod);
  69727. ctx->state = 10;
  69728. break;
  69729. case 10:
  69730. /* T2 = Y * Y */
  69731. sp_521_mont_sqr_9(ctx->t2, ctx->y, p521_mod, p521_mp_mod);
  69732. ctx->state = 11;
  69733. break;
  69734. case 11:
  69735. /* T2 = T2/2 */
  69736. sp_521_div2_9(ctx->t2, ctx->t2, p521_mod);
  69737. ctx->state = 12;
  69738. break;
  69739. case 12:
  69740. /* Y = Y * X */
  69741. sp_521_mont_mul_9(ctx->y, ctx->y, p->x, p521_mod, p521_mp_mod);
  69742. ctx->state = 13;
  69743. break;
  69744. case 13:
  69745. /* X = T1 * T1 */
  69746. sp_521_mont_sqr_9(ctx->x, ctx->t1, p521_mod, p521_mp_mod);
  69747. ctx->state = 14;
  69748. break;
  69749. case 14:
  69750. /* X = X - Y */
  69751. sp_521_mont_sub_9(ctx->x, ctx->x, ctx->y, p521_mod);
  69752. ctx->state = 15;
  69753. break;
  69754. case 15:
  69755. /* X = X - Y */
  69756. sp_521_mont_sub_9(ctx->x, ctx->x, ctx->y, p521_mod);
  69757. ctx->state = 16;
  69758. break;
  69759. case 16:
  69760. /* Y = Y - X */
  69761. sp_521_mont_sub_lower_9(ctx->y, ctx->y, ctx->x, p521_mod);
  69762. ctx->state = 17;
  69763. break;
  69764. case 17:
  69765. /* Y = Y * T1 */
  69766. sp_521_mont_mul_9(ctx->y, ctx->y, ctx->t1, p521_mod, p521_mp_mod);
  69767. ctx->state = 18;
  69768. break;
  69769. case 18:
  69770. /* Y = Y - T2 */
  69771. sp_521_mont_sub_9(ctx->y, ctx->y, ctx->t2, p521_mod);
  69772. ctx->state = 19;
  69773. /* fall-through */
  69774. case 19:
  69775. err = MP_OKAY;
  69776. break;
  69777. }
  69778. if (err == MP_OKAY && ctx->state != 19) {
  69779. err = FP_WOULDBLOCK;
  69780. }
  69781. return err;
  69782. }
  69783. #endif /* WOLFSSL_SP_NONBLOCK */
  69784. static void sp_521_proj_point_dbl_9(sp_point_521* r, const sp_point_521* p,
  69785. sp_digit* t)
  69786. {
  69787. sp_digit* t1 = t;
  69788. sp_digit* t2 = t + 2*9;
  69789. sp_digit* x;
  69790. sp_digit* y;
  69791. sp_digit* z;
  69792. x = r->x;
  69793. y = r->y;
  69794. z = r->z;
  69795. /* Put infinity into result. */
  69796. if (r != p) {
  69797. r->infinity = p->infinity;
  69798. }
  69799. /* T1 = Z * Z */
  69800. sp_521_mont_sqr_9(t1, p->z, p521_mod, p521_mp_mod);
  69801. /* Z = Y * Z */
  69802. sp_521_mont_mul_9(z, p->y, p->z, p521_mod, p521_mp_mod);
  69803. /* Z = 2Z */
  69804. sp_521_mont_dbl_9(z, z, p521_mod);
  69805. /* T2 = X - T1 */
  69806. sp_521_mont_sub_9(t2, p->x, t1, p521_mod);
  69807. /* T1 = X + T1 */
  69808. sp_521_mont_add_9(t1, p->x, t1, p521_mod);
  69809. /* T2 = T1 * T2 */
  69810. sp_521_mont_mul_9(t2, t1, t2, p521_mod, p521_mp_mod);
  69811. /* T1 = 3T2 */
  69812. sp_521_mont_tpl_9(t1, t2, p521_mod);
  69813. /* Y = 2Y */
  69814. sp_521_mont_dbl_9(y, p->y, p521_mod);
  69815. /* Y = Y * Y */
  69816. sp_521_mont_sqr_9(y, y, p521_mod, p521_mp_mod);
  69817. /* T2 = Y * Y */
  69818. sp_521_mont_sqr_9(t2, y, p521_mod, p521_mp_mod);
  69819. /* T2 = T2/2 */
  69820. sp_521_div2_9(t2, t2, p521_mod);
  69821. /* Y = Y * X */
  69822. sp_521_mont_mul_9(y, y, p->x, p521_mod, p521_mp_mod);
  69823. /* X = T1 * T1 */
  69824. sp_521_mont_sqr_9(x, t1, p521_mod, p521_mp_mod);
  69825. /* X = X - Y */
  69826. sp_521_mont_sub_9(x, x, y, p521_mod);
  69827. /* X = X - Y */
  69828. sp_521_mont_sub_9(x, x, y, p521_mod);
  69829. /* Y = Y - X */
  69830. sp_521_mont_sub_lower_9(y, y, x, p521_mod);
  69831. /* Y = Y * T1 */
  69832. sp_521_mont_mul_9(y, y, t1, p521_mod, p521_mp_mod);
  69833. /* Y = Y - T2 */
  69834. sp_521_mont_sub_9(y, y, t2, p521_mod);
  69835. }
  69836. #define sp_521_mont_dbl_lower_9 sp_521_mont_dbl_9
  69837. #define sp_521_mont_tpl_lower_9 sp_521_mont_tpl_9
  69838. /* Double the Montgomery form projective point p a number of times.
  69839. *
  69840. * r Result of repeated doubling of point.
  69841. * p Point to double.
  69842. * n Number of times to double
  69843. * t Temporary ordinate data.
  69844. */
  69845. static void sp_521_proj_point_dbl_n_9(sp_point_521* p, int i,
  69846. sp_digit* t)
  69847. {
  69848. sp_digit* w = t;
  69849. sp_digit* a = t + 2*9;
  69850. sp_digit* b = t + 4*9;
  69851. sp_digit* t1 = t + 6*9;
  69852. sp_digit* t2 = t + 8*9;
  69853. sp_digit* x;
  69854. sp_digit* y;
  69855. sp_digit* z;
  69856. volatile int n = i;
  69857. x = p->x;
  69858. y = p->y;
  69859. z = p->z;
  69860. /* Y = 2*Y */
  69861. sp_521_mont_dbl_9(y, y, p521_mod);
  69862. /* W = Z^4 */
  69863. sp_521_mont_sqr_9(w, z, p521_mod, p521_mp_mod);
  69864. sp_521_mont_sqr_9(w, w, p521_mod, p521_mp_mod);
  69865. #ifndef WOLFSSL_SP_SMALL
  69866. while (--n > 0)
  69867. #else
  69868. while (--n >= 0)
  69869. #endif
  69870. {
  69871. /* A = 3*(X^2 - W) */
  69872. sp_521_mont_sqr_9(t1, x, p521_mod, p521_mp_mod);
  69873. sp_521_mont_sub_9(t1, t1, w, p521_mod);
  69874. sp_521_mont_tpl_lower_9(a, t1, p521_mod);
  69875. /* B = X*Y^2 */
  69876. sp_521_mont_sqr_9(t1, y, p521_mod, p521_mp_mod);
  69877. sp_521_mont_mul_9(b, t1, x, p521_mod, p521_mp_mod);
  69878. /* X = A^2 - 2B */
  69879. sp_521_mont_sqr_9(x, a, p521_mod, p521_mp_mod);
  69880. sp_521_mont_dbl_9(t2, b, p521_mod);
  69881. sp_521_mont_sub_9(x, x, t2, p521_mod);
  69882. /* b = 2.(B - X) */
  69883. sp_521_mont_sub_lower_9(t2, b, x, p521_mod);
  69884. sp_521_mont_dbl_lower_9(b, t2, p521_mod);
  69885. /* Z = Z*Y */
  69886. sp_521_mont_mul_9(z, z, y, p521_mod, p521_mp_mod);
  69887. /* t1 = Y^4 */
  69888. sp_521_mont_sqr_9(t1, t1, p521_mod, p521_mp_mod);
  69889. #ifdef WOLFSSL_SP_SMALL
  69890. if (n != 0)
  69891. #endif
  69892. {
  69893. /* W = W*Y^4 */
  69894. sp_521_mont_mul_9(w, w, t1, p521_mod, p521_mp_mod);
  69895. }
  69896. /* y = 2*A*(B - X) - Y^4 */
  69897. sp_521_mont_mul_9(y, b, a, p521_mod, p521_mp_mod);
  69898. sp_521_mont_sub_9(y, y, t1, p521_mod);
  69899. }
  69900. #ifndef WOLFSSL_SP_SMALL
  69901. /* A = 3*(X^2 - W) */
  69902. sp_521_mont_sqr_9(t1, x, p521_mod, p521_mp_mod);
  69903. sp_521_mont_sub_9(t1, t1, w, p521_mod);
  69904. sp_521_mont_tpl_lower_9(a, t1, p521_mod);
  69905. /* B = X*Y^2 */
  69906. sp_521_mont_sqr_9(t1, y, p521_mod, p521_mp_mod);
  69907. sp_521_mont_mul_9(b, t1, x, p521_mod, p521_mp_mod);
  69908. /* X = A^2 - 2B */
  69909. sp_521_mont_sqr_9(x, a, p521_mod, p521_mp_mod);
  69910. sp_521_mont_dbl_9(t2, b, p521_mod);
  69911. sp_521_mont_sub_9(x, x, t2, p521_mod);
  69912. /* b = 2.(B - X) */
  69913. sp_521_mont_sub_lower_9(t2, b, x, p521_mod);
  69914. sp_521_mont_dbl_lower_9(b, t2, p521_mod);
  69915. /* Z = Z*Y */
  69916. sp_521_mont_mul_9(z, z, y, p521_mod, p521_mp_mod);
  69917. /* t1 = Y^4 */
  69918. sp_521_mont_sqr_9(t1, t1, p521_mod, p521_mp_mod);
  69919. /* y = 2*A*(B - X) - Y^4 */
  69920. sp_521_mont_mul_9(y, b, a, p521_mod, p521_mp_mod);
  69921. sp_521_mont_sub_9(y, y, t1, p521_mod);
  69922. #endif
  69923. /* Y = Y/2 */
  69924. sp_521_div2_9(y, y, p521_mod);
  69925. }
  69926. /* Compare two numbers to determine if they are equal.
  69927. * Constant time implementation.
  69928. *
  69929. * a First number to compare.
  69930. * b Second number to compare.
  69931. * returns 1 when equal and 0 otherwise.
  69932. */
  69933. static int sp_521_cmp_equal_9(const sp_digit* a, const sp_digit* b)
  69934. {
  69935. return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) |
  69936. (a[3] ^ b[3]) | (a[4] ^ b[4]) | (a[5] ^ b[5]) |
  69937. (a[6] ^ b[6]) | (a[7] ^ b[7]) | (a[8] ^ b[8])) == 0;
  69938. }
  69939. /* Returns 1 if the number of zero.
  69940. * Implementation is constant time.
  69941. *
  69942. * a Number to check.
  69943. * returns 1 if the number is zero and 0 otherwise.
  69944. */
  69945. static int sp_521_iszero_9(const sp_digit* a)
  69946. {
  69947. return (a[0] | a[1] | a[2] | a[3] | a[4] | a[5] | a[6] | a[7] |
  69948. a[8]) == 0;
  69949. }
  69950. /* Add two Montgomery form projective points.
  69951. *
  69952. * r Result of addition.
  69953. * p First point to add.
  69954. * q Second point to add.
  69955. * t Temporary ordinate data.
  69956. */
  69957. #ifdef WOLFSSL_SP_NONBLOCK
  69958. typedef struct sp_521_proj_point_add_9_ctx {
  69959. int state;
  69960. sp_521_proj_point_dbl_9_ctx dbl_ctx;
  69961. const sp_point_521* ap[2];
  69962. sp_point_521* rp[2];
  69963. sp_digit* t1;
  69964. sp_digit* t2;
  69965. sp_digit* t3;
  69966. sp_digit* t4;
  69967. sp_digit* t5;
  69968. sp_digit* t6;
  69969. sp_digit* x;
  69970. sp_digit* y;
  69971. sp_digit* z;
  69972. } sp_521_proj_point_add_9_ctx;
  69973. static int sp_521_proj_point_add_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r,
  69974. const sp_point_521* p, const sp_point_521* q, sp_digit* t)
  69975. {
  69976. int err = FP_WOULDBLOCK;
  69977. sp_521_proj_point_add_9_ctx* ctx = (sp_521_proj_point_add_9_ctx*)sp_ctx->data;
  69978. /* Ensure only the first point is the same as the result. */
  69979. if (q == r) {
  69980. const sp_point_521* a = p;
  69981. p = q;
  69982. q = a;
  69983. }
  69984. typedef char ctx_size_test[sizeof(sp_521_proj_point_add_9_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  69985. (void)sizeof(ctx_size_test);
  69986. switch (ctx->state) {
  69987. case 0: /* INIT */
  69988. ctx->t1 = t;
  69989. ctx->t2 = t + 2*9;
  69990. ctx->t3 = t + 4*9;
  69991. ctx->t4 = t + 6*9;
  69992. ctx->t5 = t + 8*9;
  69993. ctx->t6 = t + 10*9;
  69994. ctx->x = ctx->t6;
  69995. ctx->y = ctx->t1;
  69996. ctx->z = ctx->t2;
  69997. ctx->state = 1;
  69998. break;
  69999. case 1:
  70000. /* Check double */
  70001. (void)sp_521_sub_9(ctx->t1, p521_mod, q->y);
  70002. sp_521_norm_9(ctx->t1);
  70003. if ((~p->infinity & ~q->infinity &
  70004. sp_521_cmp_equal_9(p->x, q->x) & sp_521_cmp_equal_9(p->z, q->z) &
  70005. (sp_521_cmp_equal_9(p->y, q->y) | sp_521_cmp_equal_9(p->y, ctx->t1))) != 0)
  70006. {
  70007. XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx));
  70008. ctx->state = 2;
  70009. }
  70010. else {
  70011. ctx->state = 3;
  70012. }
  70013. break;
  70014. case 2:
  70015. err = sp_521_proj_point_dbl_9_nb((sp_ecc_ctx_t*)&ctx->dbl_ctx, r, p, t);
  70016. if (err == MP_OKAY)
  70017. ctx->state = 27; /* done */
  70018. break;
  70019. case 3:
  70020. {
  70021. ctx->state = 4;
  70022. break;
  70023. }
  70024. case 4:
  70025. /* U1 = X1*Z2^2 */
  70026. sp_521_mont_sqr_9(ctx->t1, q->z, p521_mod, p521_mp_mod);
  70027. ctx->state = 5;
  70028. break;
  70029. case 5:
  70030. sp_521_mont_mul_9(ctx->t3, ctx->t1, q->z, p521_mod, p521_mp_mod);
  70031. ctx->state = 6;
  70032. break;
  70033. case 6:
  70034. sp_521_mont_mul_9(ctx->t1, ctx->t1, p->x, p521_mod, p521_mp_mod);
  70035. ctx->state = 7;
  70036. break;
  70037. case 7:
  70038. /* U2 = X2*Z1^2 */
  70039. sp_521_mont_sqr_9(ctx->t2, p->z, p521_mod, p521_mp_mod);
  70040. ctx->state = 8;
  70041. break;
  70042. case 8:
  70043. sp_521_mont_mul_9(ctx->t4, ctx->t2, p->z, p521_mod, p521_mp_mod);
  70044. ctx->state = 9;
  70045. break;
  70046. case 9:
  70047. sp_521_mont_mul_9(ctx->t2, ctx->t2, q->x, p521_mod, p521_mp_mod);
  70048. ctx->state = 10;
  70049. break;
  70050. case 10:
  70051. /* S1 = Y1*Z2^3 */
  70052. sp_521_mont_mul_9(ctx->t3, ctx->t3, p->y, p521_mod, p521_mp_mod);
  70053. ctx->state = 11;
  70054. break;
  70055. case 11:
  70056. /* S2 = Y2*Z1^3 */
  70057. sp_521_mont_mul_9(ctx->t4, ctx->t4, q->y, p521_mod, p521_mp_mod);
  70058. ctx->state = 12;
  70059. break;
  70060. case 12:
  70061. /* H = U2 - U1 */
  70062. sp_521_mont_sub_9(ctx->t2, ctx->t2, ctx->t1, p521_mod);
  70063. ctx->state = 13;
  70064. break;
  70065. case 13:
  70066. /* R = S2 - S1 */
  70067. sp_521_mont_sub_9(ctx->t4, ctx->t4, ctx->t3, p521_mod);
  70068. ctx->state = 14;
  70069. break;
  70070. case 14:
  70071. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  70072. sp_521_mont_sqr_9(ctx->t5, ctx->t2, p521_mod, p521_mp_mod);
  70073. ctx->state = 15;
  70074. break;
  70075. case 15:
  70076. sp_521_mont_mul_9(ctx->y, ctx->t1, ctx->t5, p521_mod, p521_mp_mod);
  70077. ctx->state = 16;
  70078. break;
  70079. case 16:
  70080. sp_521_mont_mul_9(ctx->t5, ctx->t5, ctx->t2, p521_mod, p521_mp_mod);
  70081. ctx->state = 17;
  70082. break;
  70083. case 17:
  70084. /* Z3 = H*Z1*Z2 */
  70085. sp_521_mont_mul_9(ctx->z, p->z, ctx->t2, p521_mod, p521_mp_mod);
  70086. ctx->state = 18;
  70087. break;
  70088. case 18:
  70089. sp_521_mont_mul_9(ctx->z, ctx->z, q->z, p521_mod, p521_mp_mod);
  70090. ctx->state = 19;
  70091. break;
  70092. case 19:
  70093. sp_521_mont_sqr_9(ctx->x, ctx->t4, p521_mod, p521_mp_mod);
  70094. ctx->state = 20;
  70095. break;
  70096. case 20:
  70097. sp_521_mont_sub_9(ctx->x, ctx->x, ctx->t5, p521_mod);
  70098. ctx->state = 21;
  70099. break;
  70100. case 21:
  70101. sp_521_mont_mul_9(ctx->t5, ctx->t5, ctx->t3, p521_mod, p521_mp_mod);
  70102. ctx->state = 22;
  70103. break;
  70104. case 22:
  70105. sp_521_mont_dbl_9(ctx->t3, ctx->y, p521_mod);
  70106. ctx->state = 23;
  70107. break;
  70108. case 23:
  70109. sp_521_mont_sub_9(ctx->x, ctx->x, ctx->t3, p521_mod);
  70110. ctx->state = 24;
  70111. break;
  70112. case 24:
  70113. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  70114. sp_521_mont_sub_lower_9(ctx->y, ctx->y, ctx->x, p521_mod);
  70115. ctx->state = 25;
  70116. break;
  70117. case 25:
  70118. sp_521_mont_mul_9(ctx->y, ctx->y, ctx->t4, p521_mod, p521_mp_mod);
  70119. ctx->state = 26;
  70120. break;
  70121. case 26:
  70122. sp_521_mont_sub_9(ctx->y, ctx->y, ctx->t5, p521_mod);
  70123. ctx->state = 27;
  70124. /* fall-through */
  70125. case 27:
  70126. {
  70127. int i;
  70128. sp_digit maskp = 0 - (q->infinity & (!p->infinity));
  70129. sp_digit maskq = 0 - (p->infinity & (!q->infinity));
  70130. sp_digit maskt = ~(maskp | maskq);
  70131. for (i = 0; i < 9; i++) {
  70132. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  70133. (ctx->x[i] & maskt);
  70134. }
  70135. for (i = 0; i < 9; i++) {
  70136. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  70137. (ctx->y[i] & maskt);
  70138. }
  70139. for (i = 0; i < 9; i++) {
  70140. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  70141. (ctx->z[i] & maskt);
  70142. }
  70143. r->z[0] |= p->infinity & q->infinity;
  70144. r->infinity = p->infinity & q->infinity;
  70145. err = MP_OKAY;
  70146. break;
  70147. }
  70148. }
  70149. if (err == MP_OKAY && ctx->state != 27) {
  70150. err = FP_WOULDBLOCK;
  70151. }
  70152. return err;
  70153. }
  70154. #endif /* WOLFSSL_SP_NONBLOCK */
  70155. static void sp_521_proj_point_add_9(sp_point_521* r,
  70156. const sp_point_521* p, const sp_point_521* q, sp_digit* t)
  70157. {
  70158. sp_digit* t1 = t;
  70159. sp_digit* t2 = t + 2*9;
  70160. sp_digit* t3 = t + 4*9;
  70161. sp_digit* t4 = t + 6*9;
  70162. sp_digit* t5 = t + 8*9;
  70163. sp_digit* t6 = t + 10*9;
  70164. /* Check double */
  70165. (void)sp_521_sub_9(t1, p521_mod, q->y);
  70166. sp_521_norm_9(t1);
  70167. if ((~p->infinity & ~q->infinity &
  70168. sp_521_cmp_equal_9(p->x, q->x) & sp_521_cmp_equal_9(p->z, q->z) &
  70169. (sp_521_cmp_equal_9(p->y, q->y) | sp_521_cmp_equal_9(p->y, t1))) != 0) {
  70170. sp_521_proj_point_dbl_9(r, p, t);
  70171. }
  70172. else {
  70173. sp_digit maskp;
  70174. sp_digit maskq;
  70175. sp_digit maskt;
  70176. sp_digit* x = t6;
  70177. sp_digit* y = t1;
  70178. sp_digit* z = t2;
  70179. int i;
  70180. maskp = 0 - (q->infinity & (!p->infinity));
  70181. maskq = 0 - (p->infinity & (!q->infinity));
  70182. maskt = ~(maskp | maskq);
  70183. /* U1 = X1*Z2^2 */
  70184. sp_521_mont_sqr_9(t1, q->z, p521_mod, p521_mp_mod);
  70185. sp_521_mont_mul_9(t3, t1, q->z, p521_mod, p521_mp_mod);
  70186. sp_521_mont_mul_9(t1, t1, p->x, p521_mod, p521_mp_mod);
  70187. /* U2 = X2*Z1^2 */
  70188. sp_521_mont_sqr_9(t2, p->z, p521_mod, p521_mp_mod);
  70189. sp_521_mont_mul_9(t4, t2, p->z, p521_mod, p521_mp_mod);
  70190. sp_521_mont_mul_9(t2, t2, q->x, p521_mod, p521_mp_mod);
  70191. /* S1 = Y1*Z2^3 */
  70192. sp_521_mont_mul_9(t3, t3, p->y, p521_mod, p521_mp_mod);
  70193. /* S2 = Y2*Z1^3 */
  70194. sp_521_mont_mul_9(t4, t4, q->y, p521_mod, p521_mp_mod);
  70195. /* H = U2 - U1 */
  70196. sp_521_mont_sub_9(t2, t2, t1, p521_mod);
  70197. /* R = S2 - S1 */
  70198. sp_521_mont_sub_9(t4, t4, t3, p521_mod);
  70199. if (~p->infinity & ~q->infinity &
  70200. sp_521_iszero_9(t2) & sp_521_iszero_9(t4) & maskt) {
  70201. sp_521_proj_point_dbl_9(r, p, t);
  70202. }
  70203. else {
  70204. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  70205. sp_521_mont_sqr_9(t5, t2, p521_mod, p521_mp_mod);
  70206. sp_521_mont_mul_9(y, t1, t5, p521_mod, p521_mp_mod);
  70207. sp_521_mont_mul_9(t5, t5, t2, p521_mod, p521_mp_mod);
  70208. /* Z3 = H*Z1*Z2 */
  70209. sp_521_mont_mul_9(z, p->z, t2, p521_mod, p521_mp_mod);
  70210. sp_521_mont_mul_9(z, z, q->z, p521_mod, p521_mp_mod);
  70211. sp_521_mont_sqr_9(x, t4, p521_mod, p521_mp_mod);
  70212. sp_521_mont_sub_9(x, x, t5, p521_mod);
  70213. sp_521_mont_mul_9(t5, t5, t3, p521_mod, p521_mp_mod);
  70214. sp_521_mont_dbl_9(t3, y, p521_mod);
  70215. sp_521_mont_sub_9(x, x, t3, p521_mod);
  70216. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  70217. sp_521_mont_sub_lower_9(y, y, x, p521_mod);
  70218. sp_521_mont_mul_9(y, y, t4, p521_mod, p521_mp_mod);
  70219. sp_521_mont_sub_9(y, y, t5, p521_mod);
  70220. for (i = 0; i < 9; i++) {
  70221. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  70222. (x[i] & maskt);
  70223. }
  70224. for (i = 0; i < 9; i++) {
  70225. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  70226. (y[i] & maskt);
  70227. }
  70228. for (i = 0; i < 9; i++) {
  70229. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  70230. (z[i] & maskt);
  70231. }
  70232. r->z[0] |= p->infinity & q->infinity;
  70233. r->infinity = p->infinity & q->infinity;
  70234. }
  70235. }
  70236. }
  70237. /* Double the Montgomery form projective point p a number of times.
  70238. *
  70239. * r Result of repeated doubling of point.
  70240. * p Point to double.
  70241. * n Number of times to double
  70242. * t Temporary ordinate data.
  70243. */
  70244. static void sp_521_proj_point_dbl_n_store_9(sp_point_521* r,
  70245. const sp_point_521* p, int n, int m, sp_digit* t)
  70246. {
  70247. sp_digit* w = t;
  70248. sp_digit* a = t + 2*9;
  70249. sp_digit* b = t + 4*9;
  70250. sp_digit* t1 = t + 6*9;
  70251. sp_digit* t2 = t + 8*9;
  70252. sp_digit* x = r[2*m].x;
  70253. sp_digit* y = r[(1<<n)*m].y;
  70254. sp_digit* z = r[2*m].z;
  70255. int i;
  70256. int j;
  70257. for (i=0; i<9; i++) {
  70258. x[i] = p->x[i];
  70259. }
  70260. for (i=0; i<9; i++) {
  70261. y[i] = p->y[i];
  70262. }
  70263. for (i=0; i<9; i++) {
  70264. z[i] = p->z[i];
  70265. }
  70266. /* Y = 2*Y */
  70267. sp_521_mont_dbl_9(y, y, p521_mod);
  70268. /* W = Z^4 */
  70269. sp_521_mont_sqr_9(w, z, p521_mod, p521_mp_mod);
  70270. sp_521_mont_sqr_9(w, w, p521_mod, p521_mp_mod);
  70271. j = m;
  70272. for (i=1; i<=n; i++) {
  70273. j *= 2;
  70274. /* A = 3*(X^2 - W) */
  70275. sp_521_mont_sqr_9(t1, x, p521_mod, p521_mp_mod);
  70276. sp_521_mont_sub_9(t1, t1, w, p521_mod);
  70277. sp_521_mont_tpl_lower_9(a, t1, p521_mod);
  70278. /* B = X*Y^2 */
  70279. sp_521_mont_sqr_9(t1, y, p521_mod, p521_mp_mod);
  70280. sp_521_mont_mul_9(b, t1, x, p521_mod, p521_mp_mod);
  70281. x = r[j].x;
  70282. /* X = A^2 - 2B */
  70283. sp_521_mont_sqr_9(x, a, p521_mod, p521_mp_mod);
  70284. sp_521_mont_dbl_9(t2, b, p521_mod);
  70285. sp_521_mont_sub_9(x, x, t2, p521_mod);
  70286. /* b = 2.(B - X) */
  70287. sp_521_mont_sub_lower_9(t2, b, x, p521_mod);
  70288. sp_521_mont_dbl_lower_9(b, t2, p521_mod);
  70289. /* Z = Z*Y */
  70290. sp_521_mont_mul_9(r[j].z, z, y, p521_mod, p521_mp_mod);
  70291. z = r[j].z;
  70292. /* t1 = Y^4 */
  70293. sp_521_mont_sqr_9(t1, t1, p521_mod, p521_mp_mod);
  70294. if (i != n) {
  70295. /* W = W*Y^4 */
  70296. sp_521_mont_mul_9(w, w, t1, p521_mod, p521_mp_mod);
  70297. }
  70298. /* y = 2*A*(B - X) - Y^4 */
  70299. sp_521_mont_mul_9(y, b, a, p521_mod, p521_mp_mod);
  70300. sp_521_mont_sub_9(y, y, t1, p521_mod);
  70301. /* Y = Y/2 */
  70302. sp_521_div2_9(r[j].y, y, p521_mod);
  70303. r[j].infinity = 0;
  70304. }
  70305. }
  70306. /* Add two Montgomery form projective points.
  70307. *
  70308. * ra Result of addition.
  70309. * rs Result of subtraction.
  70310. * p First point to add.
  70311. * q Second point to add.
  70312. * t Temporary ordinate data.
  70313. */
  70314. static void sp_521_proj_point_add_sub_9(sp_point_521* ra,
  70315. sp_point_521* rs, const sp_point_521* p, const sp_point_521* q,
  70316. sp_digit* t)
  70317. {
  70318. sp_digit* t1 = t;
  70319. sp_digit* t2 = t + 2*9;
  70320. sp_digit* t3 = t + 4*9;
  70321. sp_digit* t4 = t + 6*9;
  70322. sp_digit* t5 = t + 8*9;
  70323. sp_digit* t6 = t + 10*9;
  70324. sp_digit* xa = ra->x;
  70325. sp_digit* ya = ra->y;
  70326. sp_digit* za = ra->z;
  70327. sp_digit* xs = rs->x;
  70328. sp_digit* ys = rs->y;
  70329. sp_digit* zs = rs->z;
  70330. XMEMCPY(xa, p->x, sizeof(p->x) / 2);
  70331. XMEMCPY(ya, p->y, sizeof(p->y) / 2);
  70332. XMEMCPY(za, p->z, sizeof(p->z) / 2);
  70333. ra->infinity = 0;
  70334. rs->infinity = 0;
  70335. /* U1 = X1*Z2^2 */
  70336. sp_521_mont_sqr_9(t1, q->z, p521_mod, p521_mp_mod);
  70337. sp_521_mont_mul_9(t3, t1, q->z, p521_mod, p521_mp_mod);
  70338. sp_521_mont_mul_9(t1, t1, xa, p521_mod, p521_mp_mod);
  70339. /* U2 = X2*Z1^2 */
  70340. sp_521_mont_sqr_9(t2, za, p521_mod, p521_mp_mod);
  70341. sp_521_mont_mul_9(t4, t2, za, p521_mod, p521_mp_mod);
  70342. sp_521_mont_mul_9(t2, t2, q->x, p521_mod, p521_mp_mod);
  70343. /* S1 = Y1*Z2^3 */
  70344. sp_521_mont_mul_9(t3, t3, ya, p521_mod, p521_mp_mod);
  70345. /* S2 = Y2*Z1^3 */
  70346. sp_521_mont_mul_9(t4, t4, q->y, p521_mod, p521_mp_mod);
  70347. /* H = U2 - U1 */
  70348. sp_521_mont_sub_9(t2, t2, t1, p521_mod);
  70349. /* RS = S2 + S1 */
  70350. sp_521_mont_add_9(t6, t4, t3, p521_mod);
  70351. /* R = S2 - S1 */
  70352. sp_521_mont_sub_9(t4, t4, t3, p521_mod);
  70353. /* Z3 = H*Z1*Z2 */
  70354. /* ZS = H*Z1*Z2 */
  70355. sp_521_mont_mul_9(za, za, q->z, p521_mod, p521_mp_mod);
  70356. sp_521_mont_mul_9(za, za, t2, p521_mod, p521_mp_mod);
  70357. XMEMCPY(zs, za, sizeof(p->z)/2);
  70358. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  70359. /* XS = RS^2 - H^3 - 2*U1*H^2 */
  70360. sp_521_mont_sqr_9(xa, t4, p521_mod, p521_mp_mod);
  70361. sp_521_mont_sqr_9(xs, t6, p521_mod, p521_mp_mod);
  70362. sp_521_mont_sqr_9(t5, t2, p521_mod, p521_mp_mod);
  70363. sp_521_mont_mul_9(ya, t1, t5, p521_mod, p521_mp_mod);
  70364. sp_521_mont_mul_9(t5, t5, t2, p521_mod, p521_mp_mod);
  70365. sp_521_mont_sub_9(xa, xa, t5, p521_mod);
  70366. sp_521_mont_sub_9(xs, xs, t5, p521_mod);
  70367. sp_521_mont_dbl_9(t1, ya, p521_mod);
  70368. sp_521_mont_sub_9(xa, xa, t1, p521_mod);
  70369. sp_521_mont_sub_9(xs, xs, t1, p521_mod);
  70370. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  70371. /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */
  70372. sp_521_mont_sub_lower_9(ys, ya, xs, p521_mod);
  70373. sp_521_mont_sub_lower_9(ya, ya, xa, p521_mod);
  70374. sp_521_mont_mul_9(ya, ya, t4, p521_mod, p521_mp_mod);
  70375. sp_521_sub_9(t6, p521_mod, t6);
  70376. sp_521_mont_mul_9(ys, ys, t6, p521_mod, p521_mp_mod);
  70377. sp_521_mont_mul_9(t5, t5, t3, p521_mod, p521_mp_mod);
  70378. sp_521_mont_sub_9(ya, ya, t5, p521_mod);
  70379. sp_521_mont_sub_9(ys, ys, t5, p521_mod);
  70380. }
  70381. /* Structure used to describe recoding of scalar multiplication. */
  70382. typedef struct ecc_recode_521 {
  70383. /* Index into pre-computation table. */
  70384. uint8_t i;
  70385. /* Use the negative of the point. */
  70386. uint8_t neg;
  70387. } ecc_recode_521;
  70388. /* The index into pre-computation table to use. */
  70389. static const uint8_t recode_index_9_6[66] = {
  70390. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  70391. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  70392. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  70393. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  70394. 0, 1,
  70395. };
  70396. /* Whether to negate y-ordinate. */
  70397. static const uint8_t recode_neg_9_6[66] = {
  70398. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  70399. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  70400. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  70401. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  70402. 0, 0,
  70403. };
  70404. /* Recode the scalar for multiplication using pre-computed values and
  70405. * subtraction.
  70406. *
  70407. * k Scalar to multiply by.
  70408. * v Vector of operations to perform.
  70409. */
  70410. static void sp_521_ecc_recode_6_9(const sp_digit* k, ecc_recode_521* v)
  70411. {
  70412. int i;
  70413. int j;
  70414. uint8_t y;
  70415. int carry = 0;
  70416. int o;
  70417. sp_digit n;
  70418. j = 0;
  70419. n = k[j];
  70420. o = 0;
  70421. for (i=0; i<87; i++) {
  70422. y = (int8_t)n;
  70423. if (o + 6 < 64) {
  70424. y &= 0x3f;
  70425. n >>= 6;
  70426. o += 6;
  70427. }
  70428. else if (o + 6 == 64) {
  70429. n >>= 6;
  70430. if (++j < 9)
  70431. n = k[j];
  70432. o = 0;
  70433. }
  70434. else if (++j < 9) {
  70435. n = k[j];
  70436. y |= (uint8_t)((n << (64 - o)) & 0x3f);
  70437. o -= 58;
  70438. n >>= o;
  70439. }
  70440. y += (uint8_t)carry;
  70441. v[i].i = recode_index_9_6[y];
  70442. v[i].neg = recode_neg_9_6[y];
  70443. carry = (y >> 6) + v[i].neg;
  70444. }
  70445. }
  70446. #ifndef WC_NO_CACHE_RESISTANT
  70447. /* Touch each possible point that could be being copied.
  70448. *
  70449. * r Point to copy into.
  70450. * table Table - start of the entires to access
  70451. * idx Index of entry to retrieve.
  70452. */
  70453. static void sp_521_get_point_33_9(sp_point_521* r, const sp_point_521* table,
  70454. int idx)
  70455. {
  70456. int i;
  70457. sp_digit mask;
  70458. r->x[0] = 0;
  70459. r->x[1] = 0;
  70460. r->x[2] = 0;
  70461. r->x[3] = 0;
  70462. r->x[4] = 0;
  70463. r->x[5] = 0;
  70464. r->x[6] = 0;
  70465. r->x[7] = 0;
  70466. r->x[8] = 0;
  70467. r->y[0] = 0;
  70468. r->y[1] = 0;
  70469. r->y[2] = 0;
  70470. r->y[3] = 0;
  70471. r->y[4] = 0;
  70472. r->y[5] = 0;
  70473. r->y[6] = 0;
  70474. r->y[7] = 0;
  70475. r->y[8] = 0;
  70476. r->z[0] = 0;
  70477. r->z[1] = 0;
  70478. r->z[2] = 0;
  70479. r->z[3] = 0;
  70480. r->z[4] = 0;
  70481. r->z[5] = 0;
  70482. r->z[6] = 0;
  70483. r->z[7] = 0;
  70484. r->z[8] = 0;
  70485. for (i = 1; i < 33; i++) {
  70486. mask = 0 - (i == idx);
  70487. r->x[0] |= mask & table[i].x[0];
  70488. r->x[1] |= mask & table[i].x[1];
  70489. r->x[2] |= mask & table[i].x[2];
  70490. r->x[3] |= mask & table[i].x[3];
  70491. r->x[4] |= mask & table[i].x[4];
  70492. r->x[5] |= mask & table[i].x[5];
  70493. r->x[6] |= mask & table[i].x[6];
  70494. r->x[7] |= mask & table[i].x[7];
  70495. r->x[8] |= mask & table[i].x[8];
  70496. r->y[0] |= mask & table[i].y[0];
  70497. r->y[1] |= mask & table[i].y[1];
  70498. r->y[2] |= mask & table[i].y[2];
  70499. r->y[3] |= mask & table[i].y[3];
  70500. r->y[4] |= mask & table[i].y[4];
  70501. r->y[5] |= mask & table[i].y[5];
  70502. r->y[6] |= mask & table[i].y[6];
  70503. r->y[7] |= mask & table[i].y[7];
  70504. r->y[8] |= mask & table[i].y[8];
  70505. r->z[0] |= mask & table[i].z[0];
  70506. r->z[1] |= mask & table[i].z[1];
  70507. r->z[2] |= mask & table[i].z[2];
  70508. r->z[3] |= mask & table[i].z[3];
  70509. r->z[4] |= mask & table[i].z[4];
  70510. r->z[5] |= mask & table[i].z[5];
  70511. r->z[6] |= mask & table[i].z[6];
  70512. r->z[7] |= mask & table[i].z[7];
  70513. r->z[8] |= mask & table[i].z[8];
  70514. }
  70515. }
  70516. #endif /* !WC_NO_CACHE_RESISTANT */
  70517. /* Multiply the point by the scalar and return the result.
  70518. * If map is true then convert result to affine coordinates.
  70519. *
  70520. * Window technique of 6 bits. (Add-Sub variation.)
  70521. * Calculate 0..32 times the point. Use function that adds and
  70522. * subtracts the same two points.
  70523. * Recode to add or subtract one of the computed points.
  70524. * Double to push up.
  70525. * NOT a sliding window.
  70526. *
  70527. * r Resulting point.
  70528. * g Point to multiply.
  70529. * k Scalar to multiply by.
  70530. * map Indicates whether to convert result to affine.
  70531. * ct Constant time required.
  70532. * heap Heap to use for allocation.
  70533. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  70534. */
  70535. static int sp_521_ecc_mulmod_win_add_sub_9(sp_point_521* r, const sp_point_521* g,
  70536. const sp_digit* k, int map, int ct, void* heap)
  70537. {
  70538. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  70539. sp_point_521* t = NULL;
  70540. sp_digit* tmp = NULL;
  70541. #else
  70542. sp_point_521 t[33+2];
  70543. sp_digit tmp[2 * 9 * 6];
  70544. #endif
  70545. sp_point_521* rt = NULL;
  70546. sp_point_521* p = NULL;
  70547. sp_digit* negy;
  70548. int i;
  70549. ecc_recode_521 v[87];
  70550. int err = MP_OKAY;
  70551. /* Constant time used for cache attack resistance implementation. */
  70552. (void)ct;
  70553. (void)heap;
  70554. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  70555. t = (sp_point_521*)XMALLOC(sizeof(sp_point_521) *
  70556. (33+2), heap, DYNAMIC_TYPE_ECC);
  70557. if (t == NULL)
  70558. err = MEMORY_E;
  70559. if (err == MP_OKAY) {
  70560. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 6,
  70561. heap, DYNAMIC_TYPE_ECC);
  70562. if (tmp == NULL)
  70563. err = MEMORY_E;
  70564. }
  70565. #endif
  70566. if (err == MP_OKAY) {
  70567. rt = t + 33;
  70568. p = t + 33+1;
  70569. /* t[0] = {0, 0, 1} * norm */
  70570. XMEMSET(&t[0], 0, sizeof(t[0]));
  70571. t[0].infinity = 1;
  70572. /* t[1] = {g->x, g->y, g->z} * norm */
  70573. err = sp_521_mod_mul_norm_9(t[1].x, g->x, p521_mod);
  70574. }
  70575. if (err == MP_OKAY) {
  70576. err = sp_521_mod_mul_norm_9(t[1].y, g->y, p521_mod);
  70577. }
  70578. if (err == MP_OKAY) {
  70579. err = sp_521_mod_mul_norm_9(t[1].z, g->z, p521_mod);
  70580. }
  70581. if (err == MP_OKAY) {
  70582. t[1].infinity = 0;
  70583. /* t[2] ... t[32] */
  70584. sp_521_proj_point_dbl_n_store_9(t, &t[ 1], 5, 1, tmp);
  70585. sp_521_proj_point_add_9(&t[ 3], &t[ 2], &t[ 1], tmp);
  70586. sp_521_proj_point_dbl_9(&t[ 6], &t[ 3], tmp);
  70587. sp_521_proj_point_add_sub_9(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp);
  70588. sp_521_proj_point_dbl_9(&t[10], &t[ 5], tmp);
  70589. sp_521_proj_point_add_sub_9(&t[11], &t[ 9], &t[10], &t[ 1], tmp);
  70590. sp_521_proj_point_dbl_9(&t[12], &t[ 6], tmp);
  70591. sp_521_proj_point_dbl_9(&t[14], &t[ 7], tmp);
  70592. sp_521_proj_point_add_sub_9(&t[15], &t[13], &t[14], &t[ 1], tmp);
  70593. sp_521_proj_point_dbl_9(&t[18], &t[ 9], tmp);
  70594. sp_521_proj_point_add_sub_9(&t[19], &t[17], &t[18], &t[ 1], tmp);
  70595. sp_521_proj_point_dbl_9(&t[20], &t[10], tmp);
  70596. sp_521_proj_point_dbl_9(&t[22], &t[11], tmp);
  70597. sp_521_proj_point_add_sub_9(&t[23], &t[21], &t[22], &t[ 1], tmp);
  70598. sp_521_proj_point_dbl_9(&t[24], &t[12], tmp);
  70599. sp_521_proj_point_dbl_9(&t[26], &t[13], tmp);
  70600. sp_521_proj_point_add_sub_9(&t[27], &t[25], &t[26], &t[ 1], tmp);
  70601. sp_521_proj_point_dbl_9(&t[28], &t[14], tmp);
  70602. sp_521_proj_point_dbl_9(&t[30], &t[15], tmp);
  70603. sp_521_proj_point_add_sub_9(&t[31], &t[29], &t[30], &t[ 1], tmp);
  70604. negy = t[0].y;
  70605. sp_521_ecc_recode_6_9(k, v);
  70606. i = 86;
  70607. #ifndef WC_NO_CACHE_RESISTANT
  70608. if (ct) {
  70609. sp_521_get_point_33_9(rt, t, v[i].i);
  70610. rt->infinity = !v[i].i;
  70611. }
  70612. else
  70613. #endif
  70614. {
  70615. XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_521));
  70616. }
  70617. for (--i; i>=0; i--) {
  70618. sp_521_proj_point_dbl_n_9(rt, 6, tmp);
  70619. #ifndef WC_NO_CACHE_RESISTANT
  70620. if (ct) {
  70621. sp_521_get_point_33_9(p, t, v[i].i);
  70622. p->infinity = !v[i].i;
  70623. }
  70624. else
  70625. #endif
  70626. {
  70627. XMEMCPY(p, &t[v[i].i], sizeof(sp_point_521));
  70628. }
  70629. sp_521_sub_9(negy, p521_mod, p->y);
  70630. sp_521_norm_9(negy);
  70631. sp_521_cond_copy_9(p->y, negy, (sp_digit)0 - v[i].neg);
  70632. sp_521_proj_point_add_9(rt, rt, p, tmp);
  70633. }
  70634. if (map != 0) {
  70635. sp_521_map_9(r, rt, tmp);
  70636. }
  70637. else {
  70638. XMEMCPY(r, rt, sizeof(sp_point_521));
  70639. }
  70640. }
  70641. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  70642. if (t != NULL)
  70643. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  70644. if (tmp != NULL)
  70645. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  70646. #endif
  70647. return err;
  70648. }
  70649. #ifndef WC_NO_CACHE_RESISTANT
  70650. /* A table entry for pre-computed points. */
  70651. typedef struct sp_table_entry_521 {
  70652. sp_digit x[9];
  70653. sp_digit y[9];
  70654. } sp_table_entry_521;
  70655. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  70656. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  70657. /* Add two Montgomery form projective points. The second point has a q value of
  70658. * one.
  70659. * Only the first point can be the same pointer as the result point.
  70660. *
  70661. * r Result of addition.
  70662. * p First point to add.
  70663. * q Second point to add.
  70664. * t Temporary ordinate data.
  70665. */
  70666. static void sp_521_proj_point_add_qz1_9(sp_point_521* r, const sp_point_521* p,
  70667. const sp_point_521* q, sp_digit* t)
  70668. {
  70669. sp_digit* t1 = t;
  70670. sp_digit* t2 = t + 2*9;
  70671. sp_digit* t3 = t + 4*9;
  70672. sp_digit* t4 = t + 6*9;
  70673. sp_digit* t5 = t + 8*9;
  70674. sp_digit* t6 = t + 10*9;
  70675. /* Check double */
  70676. (void)sp_521_sub_9(t1, p521_mod, q->y);
  70677. sp_521_norm_9(t1);
  70678. if ((~p->infinity & ~q->infinity &
  70679. sp_521_cmp_equal_9(p->x, q->x) & sp_521_cmp_equal_9(p->z, q->z) &
  70680. (sp_521_cmp_equal_9(p->y, q->y) | sp_521_cmp_equal_9(p->y, t1))) != 0) {
  70681. sp_521_proj_point_dbl_9(r, p, t);
  70682. }
  70683. else {
  70684. sp_digit maskp;
  70685. sp_digit maskq;
  70686. sp_digit maskt;
  70687. sp_digit* x = t2;
  70688. sp_digit* y = t5;
  70689. sp_digit* z = t6;
  70690. int i;
  70691. /* U2 = X2*Z1^2 */
  70692. sp_521_mont_sqr_9(t2, p->z, p521_mod, p521_mp_mod);
  70693. sp_521_mont_mul_9(t4, t2, p->z, p521_mod, p521_mp_mod);
  70694. sp_521_mont_mul_9(t2, t2, q->x, p521_mod, p521_mp_mod);
  70695. /* S2 = Y2*Z1^3 */
  70696. sp_521_mont_mul_9(t4, t4, q->y, p521_mod, p521_mp_mod);
  70697. /* H = U2 - X1 */
  70698. sp_521_mont_sub_9(t2, t2, p->x, p521_mod);
  70699. /* R = S2 - Y1 */
  70700. sp_521_mont_sub_9(t4, t4, p->y, p521_mod);
  70701. /* Z3 = H*Z1 */
  70702. sp_521_mont_mul_9(z, p->z, t2, p521_mod, p521_mp_mod);
  70703. /* X3 = R^2 - H^3 - 2*X1*H^2 */
  70704. sp_521_mont_sqr_9(t1, t4, p521_mod, p521_mp_mod);
  70705. sp_521_mont_sqr_9(t5, t2, p521_mod, p521_mp_mod);
  70706. sp_521_mont_mul_9(t3, p->x, t5, p521_mod, p521_mp_mod);
  70707. sp_521_mont_mul_9(t5, t5, t2, p521_mod, p521_mp_mod);
  70708. sp_521_mont_sub_9(x, t1, t5, p521_mod);
  70709. sp_521_mont_dbl_9(t1, t3, p521_mod);
  70710. sp_521_mont_sub_9(x, x, t1, p521_mod);
  70711. /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */
  70712. sp_521_mont_sub_lower_9(t3, t3, x, p521_mod);
  70713. sp_521_mont_mul_9(t3, t3, t4, p521_mod, p521_mp_mod);
  70714. sp_521_mont_mul_9(t5, t5, p->y, p521_mod, p521_mp_mod);
  70715. sp_521_mont_sub_9(y, t3, t5, p521_mod);
  70716. maskp = 0 - (q->infinity & (!p->infinity));
  70717. maskq = 0 - (p->infinity & (!q->infinity));
  70718. maskt = ~(maskp | maskq);
  70719. for (i = 0; i < 9; i++) {
  70720. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | (x[i] & maskt);
  70721. }
  70722. for (i = 0; i < 9; i++) {
  70723. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | (y[i] & maskt);
  70724. }
  70725. for (i = 0; i < 9; i++) {
  70726. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | (z[i] & maskt);
  70727. }
  70728. r->z[0] |= p->infinity & q->infinity;
  70729. r->infinity = p->infinity & q->infinity;
  70730. }
  70731. }
  70732. #ifdef FP_ECC
  70733. /* Convert the projective point to affine.
  70734. * Ordinates are in Montgomery form.
  70735. *
  70736. * a Point to convert.
  70737. * t Temporary data.
  70738. */
  70739. static void sp_521_proj_to_affine_9(sp_point_521* a, sp_digit* t)
  70740. {
  70741. sp_digit* t1 = t;
  70742. sp_digit* t2 = t + 2 * 9;
  70743. sp_digit* tmp = t + 4 * 9;
  70744. sp_521_mont_inv_9(t1, a->z, tmp);
  70745. sp_521_mont_sqr_9(t2, t1, p521_mod, p521_mp_mod);
  70746. sp_521_mont_mul_9(t1, t2, t1, p521_mod, p521_mp_mod);
  70747. sp_521_mont_mul_9(a->x, a->x, t2, p521_mod, p521_mp_mod);
  70748. sp_521_mont_mul_9(a->y, a->y, t1, p521_mod, p521_mp_mod);
  70749. XMEMCPY(a->z, p521_norm_mod, sizeof(p521_norm_mod));
  70750. }
  70751. /* Generate the pre-computed table of points for the base point.
  70752. *
  70753. * width = 6
  70754. * 64 entries
  70755. * 86 bits between
  70756. *
  70757. * a The base point.
  70758. * table Place to store generated point data.
  70759. * tmp Temporary data.
  70760. * heap Heap to use for allocation.
  70761. */
  70762. static int sp_521_gen_stripe_table_9(const sp_point_521* a,
  70763. sp_table_entry_521* table, sp_digit* tmp, void* heap)
  70764. {
  70765. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  70766. sp_point_521* t = NULL;
  70767. #else
  70768. sp_point_521 t[3];
  70769. #endif
  70770. sp_point_521* s1 = NULL;
  70771. sp_point_521* s2 = NULL;
  70772. int i;
  70773. int j;
  70774. int err = MP_OKAY;
  70775. (void)heap;
  70776. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  70777. t = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 3, heap,
  70778. DYNAMIC_TYPE_ECC);
  70779. if (t == NULL)
  70780. err = MEMORY_E;
  70781. #endif
  70782. if (err == MP_OKAY) {
  70783. s1 = t + 1;
  70784. s2 = t + 2;
  70785. err = sp_521_mod_mul_norm_9(t->x, a->x, p521_mod);
  70786. }
  70787. if (err == MP_OKAY) {
  70788. err = sp_521_mod_mul_norm_9(t->y, a->y, p521_mod);
  70789. }
  70790. if (err == MP_OKAY) {
  70791. err = sp_521_mod_mul_norm_9(t->z, a->z, p521_mod);
  70792. }
  70793. if (err == MP_OKAY) {
  70794. t->infinity = 0;
  70795. sp_521_proj_to_affine_9(t, tmp);
  70796. XMEMCPY(s1->z, p521_norm_mod, sizeof(p521_norm_mod));
  70797. s1->infinity = 0;
  70798. XMEMCPY(s2->z, p521_norm_mod, sizeof(p521_norm_mod));
  70799. s2->infinity = 0;
  70800. /* table[0] = {0, 0, infinity} */
  70801. XMEMSET(&table[0], 0, sizeof(sp_table_entry_521));
  70802. /* table[1] = Affine version of 'a' in Montgomery form */
  70803. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  70804. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  70805. for (i=1; i<6; i++) {
  70806. sp_521_proj_point_dbl_n_9(t, 87, tmp);
  70807. sp_521_proj_to_affine_9(t, tmp);
  70808. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  70809. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  70810. }
  70811. for (i=1; i<6; i++) {
  70812. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  70813. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  70814. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  70815. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  70816. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  70817. sp_521_proj_point_add_qz1_9(t, s1, s2, tmp);
  70818. sp_521_proj_to_affine_9(t, tmp);
  70819. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  70820. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  70821. }
  70822. }
  70823. }
  70824. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  70825. if (t != NULL)
  70826. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  70827. #endif
  70828. return err;
  70829. }
  70830. #endif /* FP_ECC */
  70831. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  70832. #ifndef WC_NO_CACHE_RESISTANT
  70833. /* Touch each possible entry that could be being copied.
  70834. *
  70835. * r Point to copy into.
  70836. * table Table - start of the entires to access
  70837. * idx Index of entry to retrieve.
  70838. */
  70839. static void sp_521_get_entry_64_9(sp_point_521* r,
  70840. const sp_table_entry_521* table, int idx)
  70841. {
  70842. int i;
  70843. sp_digit mask;
  70844. r->x[0] = 0;
  70845. r->x[1] = 0;
  70846. r->x[2] = 0;
  70847. r->x[3] = 0;
  70848. r->x[4] = 0;
  70849. r->x[5] = 0;
  70850. r->x[6] = 0;
  70851. r->x[7] = 0;
  70852. r->x[8] = 0;
  70853. r->y[0] = 0;
  70854. r->y[1] = 0;
  70855. r->y[2] = 0;
  70856. r->y[3] = 0;
  70857. r->y[4] = 0;
  70858. r->y[5] = 0;
  70859. r->y[6] = 0;
  70860. r->y[7] = 0;
  70861. r->y[8] = 0;
  70862. for (i = 1; i < 64; i++) {
  70863. mask = 0 - (i == idx);
  70864. r->x[0] |= mask & table[i].x[0];
  70865. r->x[1] |= mask & table[i].x[1];
  70866. r->x[2] |= mask & table[i].x[2];
  70867. r->x[3] |= mask & table[i].x[3];
  70868. r->x[4] |= mask & table[i].x[4];
  70869. r->x[5] |= mask & table[i].x[5];
  70870. r->x[6] |= mask & table[i].x[6];
  70871. r->x[7] |= mask & table[i].x[7];
  70872. r->x[8] |= mask & table[i].x[8];
  70873. r->y[0] |= mask & table[i].y[0];
  70874. r->y[1] |= mask & table[i].y[1];
  70875. r->y[2] |= mask & table[i].y[2];
  70876. r->y[3] |= mask & table[i].y[3];
  70877. r->y[4] |= mask & table[i].y[4];
  70878. r->y[5] |= mask & table[i].y[5];
  70879. r->y[6] |= mask & table[i].y[6];
  70880. r->y[7] |= mask & table[i].y[7];
  70881. r->y[8] |= mask & table[i].y[8];
  70882. }
  70883. }
  70884. #endif /* !WC_NO_CACHE_RESISTANT */
  70885. /* Multiply the point by the scalar and return the result.
  70886. * If map is true then convert result to affine coordinates.
  70887. *
  70888. * Stripe implementation.
  70889. * Pre-generated: 2^0, 2^86, ...
  70890. * Pre-generated: products of all combinations of above.
  70891. * 6 doubles and adds (with qz=1)
  70892. *
  70893. * r Resulting point.
  70894. * k Scalar to multiply by.
  70895. * table Pre-computed table.
  70896. * map Indicates whether to convert result to affine.
  70897. * ct Constant time required.
  70898. * heap Heap to use for allocation.
  70899. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  70900. */
  70901. static int sp_521_ecc_mulmod_stripe_9(sp_point_521* r, const sp_point_521* g,
  70902. const sp_table_entry_521* table, const sp_digit* k, int map,
  70903. int ct, void* heap)
  70904. {
  70905. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  70906. sp_point_521* rt = NULL;
  70907. sp_digit* t = NULL;
  70908. #else
  70909. sp_point_521 rt[2];
  70910. sp_digit t[2 * 9 * 6];
  70911. #endif
  70912. sp_point_521* p = NULL;
  70913. int i;
  70914. int j;
  70915. int y;
  70916. int x;
  70917. int err = MP_OKAY;
  70918. (void)g;
  70919. /* Constant time used for cache attack resistance implementation. */
  70920. (void)ct;
  70921. (void)heap;
  70922. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  70923. rt = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  70924. DYNAMIC_TYPE_ECC);
  70925. if (rt == NULL)
  70926. err = MEMORY_E;
  70927. if (err == MP_OKAY) {
  70928. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 6, heap,
  70929. DYNAMIC_TYPE_ECC);
  70930. if (t == NULL)
  70931. err = MEMORY_E;
  70932. }
  70933. #endif
  70934. if (err == MP_OKAY) {
  70935. p = rt + 1;
  70936. XMEMCPY(p->z, p521_norm_mod, sizeof(p521_norm_mod));
  70937. XMEMCPY(rt->z, p521_norm_mod, sizeof(p521_norm_mod));
  70938. y = 0;
  70939. x = 86;
  70940. for (j=0; j<6 && x<521; j++) {
  70941. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  70942. x += 87;
  70943. }
  70944. #ifndef WC_NO_CACHE_RESISTANT
  70945. if (ct) {
  70946. sp_521_get_entry_64_9(rt, table, y);
  70947. } else
  70948. #endif
  70949. {
  70950. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  70951. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  70952. }
  70953. rt->infinity = !y;
  70954. for (i=85; i>=0; i--) {
  70955. y = 0;
  70956. x = i;
  70957. for (j=0; j<6 && x<521; j++) {
  70958. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  70959. x += 87;
  70960. }
  70961. sp_521_proj_point_dbl_9(rt, rt, t);
  70962. #ifndef WC_NO_CACHE_RESISTANT
  70963. if (ct) {
  70964. sp_521_get_entry_64_9(p, table, y);
  70965. }
  70966. else
  70967. #endif
  70968. {
  70969. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  70970. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  70971. }
  70972. p->infinity = !y;
  70973. sp_521_proj_point_add_qz1_9(rt, rt, p, t);
  70974. }
  70975. if (map != 0) {
  70976. sp_521_map_9(r, rt, t);
  70977. }
  70978. else {
  70979. XMEMCPY(r, rt, sizeof(sp_point_521));
  70980. }
  70981. }
  70982. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  70983. if (t != NULL)
  70984. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  70985. if (rt != NULL)
  70986. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  70987. #endif
  70988. return err;
  70989. }
  70990. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  70991. #ifdef FP_ECC
  70992. #ifndef FP_ENTRIES
  70993. #define FP_ENTRIES 16
  70994. #endif
  70995. /* Cache entry - holds precomputation tables for a point. */
  70996. typedef struct sp_cache_521_t {
  70997. /* X ordinate of point that table was generated from. */
  70998. sp_digit x[9];
  70999. /* Y ordinate of point that table was generated from. */
  71000. sp_digit y[9];
  71001. /* Precomputation table for point. */
  71002. sp_table_entry_521 table[64];
  71003. /* Count of entries in table. */
  71004. uint32_t cnt;
  71005. /* Point and table set in entry. */
  71006. int set;
  71007. } sp_cache_521_t;
  71008. /* Cache of tables. */
  71009. static THREAD_LS_T sp_cache_521_t sp_cache_521[FP_ENTRIES];
  71010. /* Index of last entry in cache. */
  71011. static THREAD_LS_T int sp_cache_521_last = -1;
  71012. /* Cache has been initialized. */
  71013. static THREAD_LS_T int sp_cache_521_inited = 0;
  71014. #ifndef HAVE_THREAD_LS
  71015. static volatile int initCacheMutex_521 = 0;
  71016. static wolfSSL_Mutex sp_cache_521_lock;
  71017. #endif
  71018. /* Get the cache entry for the point.
  71019. *
  71020. * g [in] Point scalar multipling.
  71021. * cache [out] Cache table to use.
  71022. */
  71023. static void sp_ecc_get_cache_521(const sp_point_521* g, sp_cache_521_t** cache)
  71024. {
  71025. int i;
  71026. int j;
  71027. uint32_t least;
  71028. if (sp_cache_521_inited == 0) {
  71029. for (i=0; i<FP_ENTRIES; i++) {
  71030. sp_cache_521[i].set = 0;
  71031. }
  71032. sp_cache_521_inited = 1;
  71033. }
  71034. /* Compare point with those in cache. */
  71035. for (i=0; i<FP_ENTRIES; i++) {
  71036. if (!sp_cache_521[i].set)
  71037. continue;
  71038. if (sp_521_cmp_equal_9(g->x, sp_cache_521[i].x) &
  71039. sp_521_cmp_equal_9(g->y, sp_cache_521[i].y)) {
  71040. sp_cache_521[i].cnt++;
  71041. break;
  71042. }
  71043. }
  71044. /* No match. */
  71045. if (i == FP_ENTRIES) {
  71046. /* Find empty entry. */
  71047. i = (sp_cache_521_last + 1) % FP_ENTRIES;
  71048. for (; i != sp_cache_521_last; i=(i+1)%FP_ENTRIES) {
  71049. if (!sp_cache_521[i].set) {
  71050. break;
  71051. }
  71052. }
  71053. /* Evict least used. */
  71054. if (i == sp_cache_521_last) {
  71055. least = sp_cache_521[0].cnt;
  71056. for (j=1; j<FP_ENTRIES; j++) {
  71057. if (sp_cache_521[j].cnt < least) {
  71058. i = j;
  71059. least = sp_cache_521[i].cnt;
  71060. }
  71061. }
  71062. }
  71063. XMEMCPY(sp_cache_521[i].x, g->x, sizeof(sp_cache_521[i].x));
  71064. XMEMCPY(sp_cache_521[i].y, g->y, sizeof(sp_cache_521[i].y));
  71065. sp_cache_521[i].set = 1;
  71066. sp_cache_521[i].cnt = 1;
  71067. }
  71068. *cache = &sp_cache_521[i];
  71069. sp_cache_521_last = i;
  71070. }
  71071. #endif /* FP_ECC */
  71072. /* Multiply the base point of P521 by the scalar and return the result.
  71073. * If map is true then convert result to affine coordinates.
  71074. *
  71075. * r Resulting point.
  71076. * g Point to multiply.
  71077. * k Scalar to multiply by.
  71078. * map Indicates whether to convert result to affine.
  71079. * ct Constant time required.
  71080. * heap Heap to use for allocation.
  71081. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  71082. */
  71083. static int sp_521_ecc_mulmod_9(sp_point_521* r, const sp_point_521* g, const sp_digit* k,
  71084. int map, int ct, void* heap)
  71085. {
  71086. #ifndef FP_ECC
  71087. return sp_521_ecc_mulmod_win_add_sub_9(r, g, k, map, ct, heap);
  71088. #else
  71089. sp_digit tmp[2 * 9 * 6];
  71090. sp_cache_521_t* cache;
  71091. int err = MP_OKAY;
  71092. #ifndef HAVE_THREAD_LS
  71093. if (initCacheMutex_521 == 0) {
  71094. wc_InitMutex(&sp_cache_521_lock);
  71095. initCacheMutex_521 = 1;
  71096. }
  71097. if (wc_LockMutex(&sp_cache_521_lock) != 0)
  71098. err = BAD_MUTEX_E;
  71099. #endif /* HAVE_THREAD_LS */
  71100. if (err == MP_OKAY) {
  71101. sp_ecc_get_cache_521(g, &cache);
  71102. if (cache->cnt == 2)
  71103. sp_521_gen_stripe_table_9(g, cache->table, tmp, heap);
  71104. #ifndef HAVE_THREAD_LS
  71105. wc_UnLockMutex(&sp_cache_521_lock);
  71106. #endif /* HAVE_THREAD_LS */
  71107. if (cache->cnt < 2) {
  71108. err = sp_521_ecc_mulmod_win_add_sub_9(r, g, k, map, ct, heap);
  71109. }
  71110. else {
  71111. err = sp_521_ecc_mulmod_stripe_9(r, g, cache->table, k,
  71112. map, ct, heap);
  71113. }
  71114. }
  71115. return err;
  71116. #endif
  71117. }
  71118. #else
  71119. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  71120. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  71121. #ifdef FP_ECC
  71122. /* Generate the pre-computed table of points for the base point.
  71123. *
  71124. * width = 8
  71125. * 256 entries
  71126. * 65 bits between
  71127. *
  71128. * a The base point.
  71129. * table Place to store generated point data.
  71130. * tmp Temporary data.
  71131. * heap Heap to use for allocation.
  71132. */
  71133. static int sp_521_gen_stripe_table_9(const sp_point_521* a,
  71134. sp_table_entry_521* table, sp_digit* tmp, void* heap)
  71135. {
  71136. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  71137. sp_point_521* t = NULL;
  71138. #else
  71139. sp_point_521 t[3];
  71140. #endif
  71141. sp_point_521* s1 = NULL;
  71142. sp_point_521* s2 = NULL;
  71143. int i;
  71144. int j;
  71145. int err = MP_OKAY;
  71146. (void)heap;
  71147. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  71148. t = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 3, heap,
  71149. DYNAMIC_TYPE_ECC);
  71150. if (t == NULL)
  71151. err = MEMORY_E;
  71152. #endif
  71153. if (err == MP_OKAY) {
  71154. s1 = t + 1;
  71155. s2 = t + 2;
  71156. err = sp_521_mod_mul_norm_9(t->x, a->x, p521_mod);
  71157. }
  71158. if (err == MP_OKAY) {
  71159. err = sp_521_mod_mul_norm_9(t->y, a->y, p521_mod);
  71160. }
  71161. if (err == MP_OKAY) {
  71162. err = sp_521_mod_mul_norm_9(t->z, a->z, p521_mod);
  71163. }
  71164. if (err == MP_OKAY) {
  71165. t->infinity = 0;
  71166. sp_521_proj_to_affine_9(t, tmp);
  71167. XMEMCPY(s1->z, p521_norm_mod, sizeof(p521_norm_mod));
  71168. s1->infinity = 0;
  71169. XMEMCPY(s2->z, p521_norm_mod, sizeof(p521_norm_mod));
  71170. s2->infinity = 0;
  71171. /* table[0] = {0, 0, infinity} */
  71172. XMEMSET(&table[0], 0, sizeof(sp_table_entry_521));
  71173. /* table[1] = Affine version of 'a' in Montgomery form */
  71174. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  71175. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  71176. for (i=1; i<8; i++) {
  71177. sp_521_proj_point_dbl_n_9(t, 66, tmp);
  71178. sp_521_proj_to_affine_9(t, tmp);
  71179. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  71180. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  71181. }
  71182. for (i=1; i<8; i++) {
  71183. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  71184. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  71185. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  71186. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  71187. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  71188. sp_521_proj_point_add_qz1_9(t, s1, s2, tmp);
  71189. sp_521_proj_to_affine_9(t, tmp);
  71190. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  71191. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  71192. }
  71193. }
  71194. }
  71195. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  71196. if (t != NULL)
  71197. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  71198. #endif
  71199. return err;
  71200. }
  71201. #endif /* FP_ECC */
  71202. #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL)
  71203. #ifndef WC_NO_CACHE_RESISTANT
  71204. /* Touch each possible entry that could be being copied.
  71205. *
  71206. * r Point to copy into.
  71207. * table Table - start of the entires to access
  71208. * idx Index of entry to retrieve.
  71209. */
  71210. static void sp_521_get_entry_256_9(sp_point_521* r,
  71211. const sp_table_entry_521* table, int idx)
  71212. {
  71213. int i;
  71214. sp_digit mask;
  71215. r->x[0] = 0;
  71216. r->x[1] = 0;
  71217. r->x[2] = 0;
  71218. r->x[3] = 0;
  71219. r->x[4] = 0;
  71220. r->x[5] = 0;
  71221. r->x[6] = 0;
  71222. r->x[7] = 0;
  71223. r->x[8] = 0;
  71224. r->y[0] = 0;
  71225. r->y[1] = 0;
  71226. r->y[2] = 0;
  71227. r->y[3] = 0;
  71228. r->y[4] = 0;
  71229. r->y[5] = 0;
  71230. r->y[6] = 0;
  71231. r->y[7] = 0;
  71232. r->y[8] = 0;
  71233. for (i = 1; i < 256; i++) {
  71234. mask = 0 - (i == idx);
  71235. r->x[0] |= mask & table[i].x[0];
  71236. r->x[1] |= mask & table[i].x[1];
  71237. r->x[2] |= mask & table[i].x[2];
  71238. r->x[3] |= mask & table[i].x[3];
  71239. r->x[4] |= mask & table[i].x[4];
  71240. r->x[5] |= mask & table[i].x[5];
  71241. r->x[6] |= mask & table[i].x[6];
  71242. r->x[7] |= mask & table[i].x[7];
  71243. r->x[8] |= mask & table[i].x[8];
  71244. r->y[0] |= mask & table[i].y[0];
  71245. r->y[1] |= mask & table[i].y[1];
  71246. r->y[2] |= mask & table[i].y[2];
  71247. r->y[3] |= mask & table[i].y[3];
  71248. r->y[4] |= mask & table[i].y[4];
  71249. r->y[5] |= mask & table[i].y[5];
  71250. r->y[6] |= mask & table[i].y[6];
  71251. r->y[7] |= mask & table[i].y[7];
  71252. r->y[8] |= mask & table[i].y[8];
  71253. }
  71254. }
  71255. #endif /* !WC_NO_CACHE_RESISTANT */
  71256. /* Multiply the point by the scalar and return the result.
  71257. * If map is true then convert result to affine coordinates.
  71258. *
  71259. * Stripe implementation.
  71260. * Pre-generated: 2^0, 2^65, ...
  71261. * Pre-generated: products of all combinations of above.
  71262. * 8 doubles and adds (with qz=1)
  71263. *
  71264. * r Resulting point.
  71265. * k Scalar to multiply by.
  71266. * table Pre-computed table.
  71267. * map Indicates whether to convert result to affine.
  71268. * ct Constant time required.
  71269. * heap Heap to use for allocation.
  71270. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  71271. */
  71272. static int sp_521_ecc_mulmod_stripe_9(sp_point_521* r, const sp_point_521* g,
  71273. const sp_table_entry_521* table, const sp_digit* k, int map,
  71274. int ct, void* heap)
  71275. {
  71276. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  71277. sp_point_521* rt = NULL;
  71278. sp_digit* t = NULL;
  71279. #else
  71280. sp_point_521 rt[2];
  71281. sp_digit t[2 * 9 * 6];
  71282. #endif
  71283. sp_point_521* p = NULL;
  71284. int i;
  71285. int j;
  71286. int y;
  71287. int x;
  71288. int err = MP_OKAY;
  71289. (void)g;
  71290. /* Constant time used for cache attack resistance implementation. */
  71291. (void)ct;
  71292. (void)heap;
  71293. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  71294. rt = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  71295. DYNAMIC_TYPE_ECC);
  71296. if (rt == NULL)
  71297. err = MEMORY_E;
  71298. if (err == MP_OKAY) {
  71299. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 6, heap,
  71300. DYNAMIC_TYPE_ECC);
  71301. if (t == NULL)
  71302. err = MEMORY_E;
  71303. }
  71304. #endif
  71305. if (err == MP_OKAY) {
  71306. p = rt + 1;
  71307. XMEMCPY(p->z, p521_norm_mod, sizeof(p521_norm_mod));
  71308. XMEMCPY(rt->z, p521_norm_mod, sizeof(p521_norm_mod));
  71309. y = 0;
  71310. x = 65;
  71311. for (j=0; j<8 && x<521; j++) {
  71312. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  71313. x += 66;
  71314. }
  71315. #ifndef WC_NO_CACHE_RESISTANT
  71316. if (ct) {
  71317. sp_521_get_entry_256_9(rt, table, y);
  71318. } else
  71319. #endif
  71320. {
  71321. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  71322. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  71323. }
  71324. rt->infinity = !y;
  71325. for (i=64; i>=0; i--) {
  71326. y = 0;
  71327. x = i;
  71328. for (j=0; j<8 && x<521; j++) {
  71329. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  71330. x += 66;
  71331. }
  71332. sp_521_proj_point_dbl_9(rt, rt, t);
  71333. #ifndef WC_NO_CACHE_RESISTANT
  71334. if (ct) {
  71335. sp_521_get_entry_256_9(p, table, y);
  71336. }
  71337. else
  71338. #endif
  71339. {
  71340. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  71341. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  71342. }
  71343. p->infinity = !y;
  71344. sp_521_proj_point_add_qz1_9(rt, rt, p, t);
  71345. }
  71346. if (map != 0) {
  71347. sp_521_map_9(r, rt, t);
  71348. }
  71349. else {
  71350. XMEMCPY(r, rt, sizeof(sp_point_521));
  71351. }
  71352. }
  71353. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  71354. if (t != NULL)
  71355. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  71356. if (rt != NULL)
  71357. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  71358. #endif
  71359. return err;
  71360. }
  71361. #endif /* FP_ECC | WOLFSSL_SP_SMALL */
  71362. #ifdef FP_ECC
  71363. #ifndef FP_ENTRIES
  71364. #define FP_ENTRIES 16
  71365. #endif
  71366. /* Cache entry - holds precomputation tables for a point. */
  71367. typedef struct sp_cache_521_t {
  71368. /* X ordinate of point that table was generated from. */
  71369. sp_digit x[9];
  71370. /* Y ordinate of point that table was generated from. */
  71371. sp_digit y[9];
  71372. /* Precomputation table for point. */
  71373. sp_table_entry_521 table[256];
  71374. /* Count of entries in table. */
  71375. uint32_t cnt;
  71376. /* Point and table set in entry. */
  71377. int set;
  71378. } sp_cache_521_t;
  71379. /* Cache of tables. */
  71380. static THREAD_LS_T sp_cache_521_t sp_cache_521[FP_ENTRIES];
  71381. /* Index of last entry in cache. */
  71382. static THREAD_LS_T int sp_cache_521_last = -1;
  71383. /* Cache has been initialized. */
  71384. static THREAD_LS_T int sp_cache_521_inited = 0;
  71385. #ifndef HAVE_THREAD_LS
  71386. static volatile int initCacheMutex_521 = 0;
  71387. static wolfSSL_Mutex sp_cache_521_lock;
  71388. #endif
  71389. /* Get the cache entry for the point.
  71390. *
  71391. * g [in] Point scalar multipling.
  71392. * cache [out] Cache table to use.
  71393. */
  71394. static void sp_ecc_get_cache_521(const sp_point_521* g, sp_cache_521_t** cache)
  71395. {
  71396. int i;
  71397. int j;
  71398. uint32_t least;
  71399. if (sp_cache_521_inited == 0) {
  71400. for (i=0; i<FP_ENTRIES; i++) {
  71401. sp_cache_521[i].set = 0;
  71402. }
  71403. sp_cache_521_inited = 1;
  71404. }
  71405. /* Compare point with those in cache. */
  71406. for (i=0; i<FP_ENTRIES; i++) {
  71407. if (!sp_cache_521[i].set)
  71408. continue;
  71409. if (sp_521_cmp_equal_9(g->x, sp_cache_521[i].x) &
  71410. sp_521_cmp_equal_9(g->y, sp_cache_521[i].y)) {
  71411. sp_cache_521[i].cnt++;
  71412. break;
  71413. }
  71414. }
  71415. /* No match. */
  71416. if (i == FP_ENTRIES) {
  71417. /* Find empty entry. */
  71418. i = (sp_cache_521_last + 1) % FP_ENTRIES;
  71419. for (; i != sp_cache_521_last; i=(i+1)%FP_ENTRIES) {
  71420. if (!sp_cache_521[i].set) {
  71421. break;
  71422. }
  71423. }
  71424. /* Evict least used. */
  71425. if (i == sp_cache_521_last) {
  71426. least = sp_cache_521[0].cnt;
  71427. for (j=1; j<FP_ENTRIES; j++) {
  71428. if (sp_cache_521[j].cnt < least) {
  71429. i = j;
  71430. least = sp_cache_521[i].cnt;
  71431. }
  71432. }
  71433. }
  71434. XMEMCPY(sp_cache_521[i].x, g->x, sizeof(sp_cache_521[i].x));
  71435. XMEMCPY(sp_cache_521[i].y, g->y, sizeof(sp_cache_521[i].y));
  71436. sp_cache_521[i].set = 1;
  71437. sp_cache_521[i].cnt = 1;
  71438. }
  71439. *cache = &sp_cache_521[i];
  71440. sp_cache_521_last = i;
  71441. }
  71442. #endif /* FP_ECC */
  71443. /* Multiply the base point of P521 by the scalar and return the result.
  71444. * If map is true then convert result to affine coordinates.
  71445. *
  71446. * r Resulting point.
  71447. * g Point to multiply.
  71448. * k Scalar to multiply by.
  71449. * map Indicates whether to convert result to affine.
  71450. * ct Constant time required.
  71451. * heap Heap to use for allocation.
  71452. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  71453. */
  71454. static int sp_521_ecc_mulmod_9(sp_point_521* r, const sp_point_521* g, const sp_digit* k,
  71455. int map, int ct, void* heap)
  71456. {
  71457. #ifndef FP_ECC
  71458. return sp_521_ecc_mulmod_win_add_sub_9(r, g, k, map, ct, heap);
  71459. #else
  71460. sp_digit tmp[2 * 9 * 6];
  71461. sp_cache_521_t* cache;
  71462. int err = MP_OKAY;
  71463. #ifndef HAVE_THREAD_LS
  71464. if (initCacheMutex_521 == 0) {
  71465. wc_InitMutex(&sp_cache_521_lock);
  71466. initCacheMutex_521 = 1;
  71467. }
  71468. if (wc_LockMutex(&sp_cache_521_lock) != 0)
  71469. err = BAD_MUTEX_E;
  71470. #endif /* HAVE_THREAD_LS */
  71471. if (err == MP_OKAY) {
  71472. sp_ecc_get_cache_521(g, &cache);
  71473. if (cache->cnt == 2)
  71474. sp_521_gen_stripe_table_9(g, cache->table, tmp, heap);
  71475. #ifndef HAVE_THREAD_LS
  71476. wc_UnLockMutex(&sp_cache_521_lock);
  71477. #endif /* HAVE_THREAD_LS */
  71478. if (cache->cnt < 2) {
  71479. err = sp_521_ecc_mulmod_win_add_sub_9(r, g, k, map, ct, heap);
  71480. }
  71481. else {
  71482. err = sp_521_ecc_mulmod_stripe_9(r, g, cache->table, k,
  71483. map, ct, heap);
  71484. }
  71485. }
  71486. return err;
  71487. #endif
  71488. }
  71489. #endif /* !WC_NO_CACHE_RESISTANT */
  71490. /* Multiply the point by the scalar and return the result.
  71491. * If map is true then convert result to affine coordinates.
  71492. *
  71493. * km Scalar to multiply by.
  71494. * p Point to multiply.
  71495. * r Resulting point.
  71496. * map Indicates whether to convert result to affine.
  71497. * heap Heap to use for allocation.
  71498. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  71499. */
  71500. int sp_ecc_mulmod_521(const mp_int* km, const ecc_point* gm, ecc_point* r,
  71501. int map, void* heap)
  71502. {
  71503. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  71504. sp_point_521* point = NULL;
  71505. sp_digit* k = NULL;
  71506. #else
  71507. sp_point_521 point[1];
  71508. sp_digit k[9];
  71509. #endif
  71510. int err = MP_OKAY;
  71511. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  71512. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521), heap,
  71513. DYNAMIC_TYPE_ECC);
  71514. if (point == NULL)
  71515. err = MEMORY_E;
  71516. if (err == MP_OKAY) {
  71517. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9, heap,
  71518. DYNAMIC_TYPE_ECC);
  71519. if (k == NULL)
  71520. err = MEMORY_E;
  71521. }
  71522. #endif
  71523. if (err == MP_OKAY) {
  71524. sp_521_from_mp(k, 9, km);
  71525. sp_521_point_from_ecc_point_9(point, gm);
  71526. err = sp_521_ecc_mulmod_9(point, point, k, map, 1, heap);
  71527. }
  71528. if (err == MP_OKAY) {
  71529. err = sp_521_point_to_ecc_point_9(point, r);
  71530. }
  71531. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  71532. if (k != NULL)
  71533. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  71534. if (point != NULL)
  71535. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  71536. #endif
  71537. return err;
  71538. }
  71539. /* Multiply the point by the scalar, add point a and return the result.
  71540. * If map is true then convert result to affine coordinates.
  71541. *
  71542. * km Scalar to multiply by.
  71543. * p Point to multiply.
  71544. * am Point to add to scalar mulitply result.
  71545. * inMont Point to add is in montgomery form.
  71546. * r Resulting point.
  71547. * map Indicates whether to convert result to affine.
  71548. * heap Heap to use for allocation.
  71549. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  71550. */
  71551. int sp_ecc_mulmod_add_521(const mp_int* km, const ecc_point* gm,
  71552. const ecc_point* am, int inMont, ecc_point* r, int map, void* heap)
  71553. {
  71554. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  71555. sp_point_521* point = NULL;
  71556. sp_digit* k = NULL;
  71557. #else
  71558. sp_point_521 point[2];
  71559. sp_digit k[9 + 9 * 2 * 6];
  71560. #endif
  71561. sp_point_521* addP = NULL;
  71562. sp_digit* tmp = NULL;
  71563. int err = MP_OKAY;
  71564. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  71565. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  71566. DYNAMIC_TYPE_ECC);
  71567. if (point == NULL)
  71568. err = MEMORY_E;
  71569. if (err == MP_OKAY) {
  71570. k = (sp_digit*)XMALLOC(
  71571. sizeof(sp_digit) * (9 + 9 * 2 * 6), heap,
  71572. DYNAMIC_TYPE_ECC);
  71573. if (k == NULL)
  71574. err = MEMORY_E;
  71575. }
  71576. #endif
  71577. if (err == MP_OKAY) {
  71578. addP = point + 1;
  71579. tmp = k + 9;
  71580. sp_521_from_mp(k, 9, km);
  71581. sp_521_point_from_ecc_point_9(point, gm);
  71582. sp_521_point_from_ecc_point_9(addP, am);
  71583. }
  71584. if ((err == MP_OKAY) && (!inMont)) {
  71585. err = sp_521_mod_mul_norm_9(addP->x, addP->x, p521_mod);
  71586. }
  71587. if ((err == MP_OKAY) && (!inMont)) {
  71588. err = sp_521_mod_mul_norm_9(addP->y, addP->y, p521_mod);
  71589. }
  71590. if ((err == MP_OKAY) && (!inMont)) {
  71591. err = sp_521_mod_mul_norm_9(addP->z, addP->z, p521_mod);
  71592. }
  71593. if (err == MP_OKAY) {
  71594. err = sp_521_ecc_mulmod_9(point, point, k, 0, 0, heap);
  71595. }
  71596. if (err == MP_OKAY) {
  71597. sp_521_proj_point_add_9(point, point, addP, tmp);
  71598. if (map) {
  71599. sp_521_map_9(point, point, tmp);
  71600. }
  71601. err = sp_521_point_to_ecc_point_9(point, r);
  71602. }
  71603. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  71604. if (k != NULL)
  71605. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  71606. if (point != NULL)
  71607. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  71608. #endif
  71609. return err;
  71610. }
  71611. #ifdef WOLFSSL_SP_SMALL
  71612. #ifndef WC_NO_CACHE_RESISTANT
  71613. /* Striping precomputation table.
  71614. * 6 points combined into a table of 64 points.
  71615. * Distance of 87 between points.
  71616. */
  71617. static const sp_table_entry_521 p521_table[64] = {
  71618. /* 0 */
  71619. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  71620. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  71621. /* 1 */
  71622. { { 0xf97e7e31c2e5bd66L,0x3348b3c1856a429bL,0xfe1dc127a2ffa8deL,
  71623. 0xa14b5e77efe75928L,0xf828af606b4d3dbaL,0x9c648139053fb521L,
  71624. 0x9e3ecb662395b442L,0x858e06b70404e9cdL,0x00000000000000c6L },
  71625. { 0x88be94769fd16650L,0x353c7086a272c240L,0xc550b9013fad0761L,
  71626. 0x97ee72995ef42640L,0x17afbd17273e662cL,0x98f54449579b4468L,
  71627. 0x5c8a5fb42c7d1bd9L,0x39296a789a3bc004L,0x0000000000000118L } },
  71628. /* 2 */
  71629. { { 0xb4c52f11f3d7286aL,0xec47cb5cbbf67a41L,0x89d3382eaafb10a4L,
  71630. 0x4afd876806222b90L,0xfa16b295feb5416dL,0x0946f9d45d095b7cL,
  71631. 0x18526b28ff975e3dL,0x259cec2fb2f1c609L,0x0000000000000104L },
  71632. { 0x545642a062e36127L,0xc3e4c6f71c38e6f5L,0x1d0e02c41bf9d6c4L,
  71633. 0x8a7a6fb6483ba43dL,0x7104aee9cf390b9cL,0x4acdccdf2578e2fbL,
  71634. 0xc17af6df73b3feb4L,0x2fb789d77977fa95L,0x00000000000001d6L } },
  71635. /* 3 */
  71636. { { 0xdae82f27eb2db12fL,0x675f5cdb25444b98L,0x3234752e78288513L,
  71637. 0x53e37a78730f5769L,0xabad04dadcecd88dL,0x29d87958f3098a34L,
  71638. 0x00567f1a50cb0363L,0x400b67853878a6f6L,0x0000000000000183L },
  71639. { 0xba3b00c422d2d58aL,0x06c351857b0e93d5L,0x78810249545fa63dL,
  71640. 0x1d72e7923a6be922L,0xe38827919e285f6fL,0x3212ca84b33128efL,
  71641. 0x41640a1022acf93dL,0xbf1819691f33c6e9L,0x00000000000001beL } },
  71642. /* 4 */
  71643. { { 0x0cfa67a640b0a066L,0xe97c179e8057a710L,0xb69d285227cce600L,
  71644. 0xf7dde8c5419687d1L,0xdbcb15185d5b039eL,0x3e47772fd99abbe0L,
  71645. 0x71c9c23ab2a9c6a0L,0x5af10b9b94496951L,0x0000000000000152L },
  71646. { 0x0f96137f2c91f83aL,0x1f743fa449f15b33L,0xd43b3ec0ccb4c1b1L,
  71647. 0x895a3be3cfeea9b0L,0x27c3b4959eefee4dL,0xf1b4212712e344eeL,
  71648. 0x023afa76ff929c1eL,0x3078097686d07325L,0x0000000000000166L } },
  71649. /* 5 */
  71650. { { 0x36005a37c7b848a0L,0xbac203eee032cc07L,0x8d20246ee4c229c4L,
  71651. 0x13b8b0f97b7f6b06L,0x0223a119e13c7b1dL,0xa91307c053c2e32aL,
  71652. 0xce595e9f3536fe07L,0xc2a2efbc8489551dL,0x0000000000000019L },
  71653. { 0xed22e7b467081afdL,0xda1c5f3c81df2676L,0x48f406480ad04de0L,
  71654. 0x8d7720d1f7391873L,0x111178cb13448f78L,0x39087943ea49e233L,
  71655. 0x692f712c73d8d101L,0xca20ab46f4e7e521L,0x000000000000005aL } },
  71656. /* 6 */
  71657. { { 0xfd0c67177af706c0L,0xc500416552ebdf4aL,0x332675708ff0bf03L,
  71658. 0x3f282dddd2cdcf58L,0x93b60398bf766c2fL,0x124f1fd970748a8cL,
  71659. 0x05422ecb20ef5badL,0x9fef00a63eafb2dcL,0x00000000000001d8L },
  71660. { 0xcd2d1f04e4d1ae24L,0x099afd68e44bae9aL,0x669b9ba3a4880b2aL,
  71661. 0x5608536cab513fcbL,0xfd7de6a330d8ace2L,0xebc44b8deb95e59eL,
  71662. 0x2302405e64969883L,0xbea96ff09b276f35L,0x00000000000001b6L } },
  71663. /* 7 */
  71664. { { 0xa7b7271a71b90b8cL,0xbdc1bcdad12ca22aL,0x52a5f2901f10a310L,
  71665. 0xf5c070c0f420fb28L,0xdd09d3a5f099a78fL,0xaf60cbbe3914e826L,
  71666. 0xeac320c9a914d69fL,0x78bc962dfd5ba85dL,0x00000000000001c0L },
  71667. { 0xf69575cebe45049dL,0x418d09354958daccL,0x142da6f236c0f076L,
  71668. 0x51d23cfba83dfce7L,0x2df0421809714d01L,0x1260496a9ecec18dL,
  71669. 0xb4317aa1f700b1adL,0x86174a20cd86c341L,0x000000000000016cL } },
  71670. /* 8 */
  71671. { { 0xc2453d609102b570L,0x70840e5c142c3e23L,0x7294b1f1c30037d9L,
  71672. 0xa2500f121dbf5ab6L,0x03eceb67c9c8ee6eL,0xa19c319330820abbL,
  71673. 0x7aad59e87da6b820L,0xe97823f8c38d842fL,0x000000000000006dL },
  71674. { 0xce5bb75ea7b6bb9eL,0x9090358d569c9eddL,0xa8b5ec369cd0c065L,
  71675. 0xb2b5ac1cf81c82b8L,0x8feb364c3ffceb86L,0x355ed9ecdf4f9f7eL,
  71676. 0x6f2efe425ce12ff4L,0xb23168780155070dL,0x0000000000000035L } },
  71677. /* 9 */
  71678. { { 0x5ba6aa8d478bab98L,0x849ddc2dbcf097c4L,0x67f6f4b274b08601L,
  71679. 0xb15c438fe3acbdacL,0x0bcd49256ee2c337L,0xd15facb9b3085e64L,
  71680. 0xc8e919dcf4d1b708L,0x6eed3e36e1fae449L,0x000000000000000aL },
  71681. { 0x5103486e84926700L,0x1c6b82b28fef959eL,0xb309fe2355b9fa8dL,
  71682. 0xdb35d40e4b8579efL,0xad5288e08145279aL,0x92b15dbc4ba26317L,
  71683. 0xda42d33ed9838c28L,0xd13ae9ba313a0399L,0x0000000000000047L } },
  71684. /* 10 */
  71685. { { 0xe2fa0b39d0851f6aL,0x2f7f00e5263539c6L,0x46a066b81f107130L,
  71686. 0xe7cc14f87dbe9579L,0x61f1e5c2d0607b55L,0x539a9c4d07a4c0b8L,
  71687. 0x9b6893829fdc8d6fL,0x684725a9847245fcL,0x0000000000000020L },
  71688. { 0x98dd1588d9de1e07L,0xbe9ed1154f6dc491L,0xd4605724f2b85d2bL,
  71689. 0xf94da3ba93aa2d3fL,0x81229b618d489608L,0xb7e6a31ed9eaf52cL,
  71690. 0x787d526dab03e098L,0xc16ee426e5b06c1bL,0x0000000000000171L } },
  71691. /* 11 */
  71692. { { 0xa732fe002dcd1035L,0x034d6ff8da1f6ee4L,0x2103d3e5097d7909L,
  71693. 0xcc496507dfbec358L,0x27044faeef335708L,0xf685e6bffe9be99aL,
  71694. 0x57b8c6c406aababdL,0xb8e751f6a901830cL,0x000000000000011bL },
  71695. { 0x87101fab8e15a6b9L,0xf5ad21a11a270874L,0x5d9a90506e900902L,
  71696. 0x15a2f5a1d7fe9a86L,0x7ba4fb21dce37de8L,0x7751df45ff07bfb9L,
  71697. 0x12089b6202345c0bL,0x46f675ec6a9ace86L,0x000000000000006dL } },
  71698. /* 12 */
  71699. { { 0x689a234ba08e3299L,0x941f6f05c4cf87aaL,0x3a98121b9ffdcb65L,
  71700. 0x3252b8481623b72cL,0x65f531b5c6bae311L,0x4c5005a1c383df2cL,
  71701. 0x13c011795826c457L,0x90ea82a2ee3b03deL,0x00000000000001d3L },
  71702. { 0x582b79258c0a1261L,0x859c8a11788ba98eL,0x693c1e149a3ad4f7L,
  71703. 0xd3f4b8032d62063cL,0x6affccfa0ddc5607L,0x63a3cd821eb6c797L,
  71704. 0xa94ce4ae6fb0c290L,0xce9479c1612cf5d1L,0x0000000000000190L } },
  71705. /* 13 */
  71706. { { 0x4ab1603c78f459e6L,0x7d9af2dc6a84373eL,0x2d2be036159a9a40L,
  71707. 0x82371e3d509c38ecL,0x82188bf292f079b7L,0xd74b82801e82e017L,
  71708. 0x4041778a6b59bbfaL,0x40cf824ab8d4f9a7L,0x000000000000005dL },
  71709. { 0xf9f79e729bc88c1eL,0x8459190a77e9ceb8L,0xdcb44b726a41a19dL,
  71710. 0xe30dbe8ce243350bL,0xa168a6a9f3adebc1L,0x421fdb0c48e22f81L,
  71711. 0x3cc1d22a9b601ed1L,0x226ef6f6d2b564c0L,0x0000000000000170L } },
  71712. /* 14 */
  71713. { { 0x0eedf7150a80f0b9L,0x7f78ee5beb322905L,0x15d5375783498544L,
  71714. 0xff081204b66d249aL,0xb95434862bd0d1fcL,0x6404f1321899b952L,
  71715. 0x1de3aa0ccdd8789cL,0x8b6f01381a7153a4L,0x00000000000001beL },
  71716. { 0x12d645e1fe536313L,0x14f4969e373af74bL,0xa56f032a30d498ccL,
  71717. 0xf30e4fe50a666b8cL,0xfb42284e3fb31a5eL,0x065215a7efba6b77L,
  71718. 0x217ca76c6fa31b46L,0x13a6f6f91fc38bfdL,0x0000000000000007L } },
  71719. /* 15 */
  71720. { { 0x5141181078303dc6L,0x93d1836de01c1d96L,0x98046c2ff50b037bL,
  71721. 0xeb3a5b31fcd53e6cL,0x3976f8fefb2f8250L,0xd193f5369cda2685L,
  71722. 0xc609817dd26ee74cL,0xeea2244858f903d3L,0x00000000000000e9L },
  71723. { 0xc4f3956b8e0c791bL,0x68cf3903875c10f4L,0x3ff4a407c1f7f0adL,
  71724. 0x3672c4658902e832L,0xdf5d0b6796ea88b4L,0x68df74bda86075a8L,
  71725. 0xe6d2d0675071e56eL,0x8c7fb077c7e5fcd5L,0x00000000000001f1L } },
  71726. /* 16 */
  71727. { { 0x1e2df23635210df1L,0x387b5c569aace566L,0xdd8152c9ee401323L,
  71728. 0x56fe9ec99cac0076L,0x88ed7fc1e1a9f782L,0x6551487d681f0428L,
  71729. 0xeaacc10197689006L,0x626bcad13b7e7fe6L,0x000000000000015eL },
  71730. { 0xe1b3574a7acb23caL,0xadda7c9e3636a1c2L,0xfc998cf89f3d947cL,
  71731. 0x38ee4df41ba0511bL,0x1f40cc1403e4694bL,0xccecf4e0800fb6d9L,
  71732. 0x021f708ae1665d06L,0x2bcd7975c492d329L,0x0000000000000063L } },
  71733. /* 17 */
  71734. { { 0x66bd9a0dcd698697L,0x0e7d8559bbbc1758L,0xe072a980ac76a88dL,
  71735. 0x3cf9af4de2c17874L,0x85b24bc4748e97adL,0xe5522faff3f6d8eaL,
  71736. 0x60ed43eecef45795L,0x1859fd20de38467dL,0x00000000000001d7L },
  71737. { 0xe62c76b958e8181cL,0x3731bcc7fee454edL,0x2cb0b570ee89f8f5L,
  71738. 0x0a38b9539a262283L,0x46887e748c19a774L,0x1dbea5dae80adab4L,
  71739. 0x09fb720cb1f75c90L,0x91e0b746e723e278L,0x00000000000001c5L } },
  71740. /* 18 */
  71741. { { 0x6fa722771bac59f3L,0x72358865520791adL,0x8da1c8c4e32463d8L,
  71742. 0xe0e75863d41001a5L,0xcea164f748e602dbL,0x93cb5f21cc294cfeL,
  71743. 0x28a3168a941cbefaL,0x018fff3bab807177L,0x00000000000001e0L },
  71744. { 0x3da709346a145377L,0x1fb17f7fd16e2b7cL,0xef6432fcc0469077L,
  71745. 0x62a59a97d6660f5eL,0x8ddc75505e2a0275L,0x2e65b1f75b88dce7L,
  71746. 0x0f4283da066f2c44L,0x561b9e15ce4b84a2L,0x00000000000000ceL } },
  71747. /* 19 */
  71748. { { 0x728e1148bdbc363aL,0xdfbf9e0bf7a1bbabL,0xd6fcfc8fa2e12868L,
  71749. 0x3969e7e50a19fe81L,0xf104d3bef512cd5eL,0x9879c459810da8f5L,
  71750. 0xad31c365924bf3a3L,0xb2e2d4914d4fb575L,0x0000000000000151L },
  71751. { 0x330d4d1d79410972L,0x7e6ef2a0ba1831bbL,0xa18cc9af4f4d5b93L,
  71752. 0x29d8de68069c9948L,0xb8bc009db5e104a0L,0x4237d3728d929561L,
  71753. 0xa126a4e8a2274babL,0x85ba9fcba99c454fL,0x00000000000000cbL } },
  71754. /* 20 */
  71755. { { 0x954376cee18bd1d3L,0x350613fc9c8e4d95L,0xa60d595673323968L,
  71756. 0x4f6ac836a044cdbcL,0xf38d747b881b8e40L,0x79f7faf00426afe2L,
  71757. 0xf6e7403d2ae12787L,0x721445a6726ae667L,0x0000000000000141L },
  71758. { 0x9e0d2f66306787cbL,0xe2e3c834fce146f5L,0x4b62143f2fdbe2b4L,
  71759. 0x19dab7745acb5238L,0xee46bfcd7e138359L,0x29dbfa6675966b0fL,
  71760. 0xcde19c032d601936L,0xf7daf7b4f2aa4f6fL,0x000000000000019cL } },
  71761. /* 21 */
  71762. { { 0x55a5e8f4641b7e08L,0xe1e589f3caa920f7L,0x07b90ad9abfced83L,
  71763. 0x05ff78cd7c466f08L,0x2020ab945a71ab69L,0xd3ad1f5787ee2ec2L,
  71764. 0x078ba17efb3d4c91L,0xcf3753ba8607cf69L,0x0000000000000138L },
  71765. { 0xb5e391e2b9b22600L,0xd20b3d088454c979L,0x4c9945642f77a85dL,
  71766. 0x972896db1f169687L,0xd3554fa2ff8d2b83L,0x57123d99bd48e671L,
  71767. 0x1266b6b9da59843fL,0x633ff4df9241786dL,0x000000000000011fL } },
  71768. /* 22 */
  71769. { { 0x071492bba1e06f89L,0x6f3f72de734cc62aL,0xb50a11309d477637L,
  71770. 0x5f6b0546a5ce54f0L,0xc1cde769698626edL,0xe43af79564ade3d0L,
  71771. 0x3067161797a20d2bL,0xdf5821678c48495bL,0x0000000000000129L },
  71772. { 0x544a65284790d91fL,0xf71c90983f2924bdL,0xd5adb1d63e5c39e1L,
  71773. 0xeba20528d8cacd81L,0xac72518ac728e735L,0x789a0bdf565cc9a0L,
  71774. 0x4b320c80c922bce2L,0x99b26c84e458f8adL,0x0000000000000138L } },
  71775. /* 23 */
  71776. { { 0x2fdf67bf4f6f867eL,0x56f6ea005f1e2bf2L,0xa7d7c0d8896ab990L,
  71777. 0x589102a023329acbL,0xbb8b6a64156a7f42L,0xfbb556a95882578aL,
  71778. 0xa82481cc609250ddL,0x573e51d9daad3d36L,0x000000000000005dL },
  71779. { 0x7e2ede0bb08ffeecL,0xa37176acefbed279L,0x5acafeac0b72e855L,
  71780. 0x4c7c3ce3fcc75badL,0x2fc0939bb9a704a1L,0x6bf0c5328e4b4841L,
  71781. 0x5b72f1f2c10742b0L,0xaa62d2889c54371eL,0x00000000000001c1L } },
  71782. /* 24 */
  71783. { { 0xd3a8c547c7d40b83L,0xd9fd110285002a83L,0x4bd9516c97f61840L,
  71784. 0x8c628537448c4851L,0x5cae5aa1c90925adL,0x356195c572319740L,
  71785. 0x8cb6e19ba2b5be38L,0x68626a4b6d9c8c33L,0x00000000000001c5L },
  71786. { 0xa0c846a9ed58b48cL,0xebe6013ae2590d05L,0x60c5d677da2fc481L,
  71787. 0xb6a0897b9252e895L,0xb84595be218bf72dL,0xf1c527960dd1b9b1L,
  71788. 0x3f1583a86d38442aL,0xcda593dec4de5fdfL,0x000000000000010aL } },
  71789. /* 25 */
  71790. { { 0xdb0fa258898a19c2L,0x26346630974ccc01L,0x135ec9db1f1e6a83L,
  71791. 0x9bac9c9bff494d1bL,0x78d21ad4f24be4d7L,0x3249c89f61e8dacdL,
  71792. 0x528df6852df2cb51L,0x4f0ec6792ccdc5b7L,0x00000000000001dbL },
  71793. { 0x789f22f80f551d73L,0x42ec3257e7ba5676L,0x3f52c4094cc69a65L,
  71794. 0xafdd277df46f1eb6L,0xaead8379ec161194L,0xdc657d191f924e46L,
  71795. 0xe43263451578ff09L,0x4750da5878d091bfL,0x0000000000000173L } },
  71796. /* 26 */
  71797. { { 0xdf886f2283fe19b9L,0x740586885dba4f8eL,0x3c04af37a13f8dc7L,
  71798. 0x21771e2b3b99dcbcL,0x1e77950d55c5b6a7L,0x20a6975b1b1338e1L,
  71799. 0x4956e06bd276d114L,0x56686808b0d3b14cL,0x000000000000016cL },
  71800. { 0x08f3f2a25182063fL,0xdea422b775992149L,0x845260b0d5cd158cL,
  71801. 0x6e0768e07c353c5aL,0x5718a1c23afa81caL,0x522f094d3ca2a17cL,
  71802. 0x96a361f77d93ebfdL,0x75c32db595c76942L,0x0000000000000095L } },
  71803. /* 27 */
  71804. { { 0x953bb441f640de23L,0x5d35f0a9e1e08dc6L,0x323a1bcc7bbad4e6L,
  71805. 0x4dc31447742e5ad0L,0xca0e8e15068bf07dL,0xfc317d5097ebd2b5L,
  71806. 0xf5447997db4c9342L,0xf98a3ac80ba0a29cL,0x0000000000000061L },
  71807. { 0x4ccb1f249e925079L,0x97af5a3dc5c916d3L,0x7ef650a8e497e318L,
  71808. 0x0d49927842975745L,0xcf328ffb2462eba5L,0x8ee8e88f6e360cf3L,
  71809. 0xe15c3f8dc77cd3c2L,0x5ab87910736a646aL,0x00000000000001cbL } },
  71810. /* 28 */
  71811. { { 0xa2d5fdb981e3d610L,0x0127b05c456ddf1cL,0x29e247d9bd5bd8a4L,
  71812. 0x5758d126f5959d68L,0x9b0fb7fb2b28eb19L,0x1d8aa23a1d312140L,
  71813. 0xf8b9e467281b4d2cL,0xea57464cda959b8fL,0x0000000000000028L },
  71814. { 0x8e118540a87d4633L,0x3af88a0815200b8cL,0xca1806b488f790e1L,
  71815. 0x605032a919cd9554L,0xf671627867d0cefdL,0xb58e8671d1676085L,
  71816. 0x51098dc308decf4cL,0x5a6cb932a50e312dL,0x00000000000001fbL } },
  71817. /* 29 */
  71818. { { 0xa15c4a20a5eff951L,0x1baa735b49f4f32fL,0xab53ad000feaf2c6L,
  71819. 0x354c2bc4ed66b803L,0x587fd2379ac12f3aL,0x3837c9643881a729L,
  71820. 0x1d8bd95b9f6c3bbeL,0x237ed2d808d914b6L,0x000000000000001cL },
  71821. { 0xcde7b0d13de67115L,0xe645422dec23815bL,0x286703896b445b51L,
  71822. 0x11be335a80ae2784L,0x9185d3df1a64b6e3L,0xa0ccbdd0ba228c67L,
  71823. 0x6bc79dff3a013cf7L,0x229f4e59b464c70cL,0x0000000000000185L } },
  71824. /* 30 */
  71825. { { 0x3f621de51cf1a11fL,0x18b004fd0658152dL,0x1bc8a9455df479b5L,
  71826. 0x901719473da586acL,0x06fe325baa2f052fL,0x4a2fc982b6323a69L,
  71827. 0xa975e8bcd4f0b34cL,0xfe3f271914ed1d56L,0x000000000000001fL },
  71828. { 0xeb6045d192f826d9L,0xbd7c962e5facf02fL,0x87a5cfbd35fa1278L,
  71829. 0xfd1ff1cbdeda7159L,0x1b0f6638a1287202L,0x861e7cbae1fcd5deL,
  71830. 0x33709b6bb9822a98L,0x171b15ba8b2ae55dL,0x0000000000000130L } },
  71831. /* 31 */
  71832. { { 0xb7f2a894410a34a1L,0xca6d4597f0e4d4f6L,0x84c4a0fe6d4d1f8fL,
  71833. 0x42d465bb405c281dL,0x44893a203587a898L,0xc0d0d12dab4ffdd6L,
  71834. 0xd5f85269fc00e886L,0xd93f9cdce1999ae1L,0x0000000000000199L },
  71835. { 0xa9d573cad9980812L,0x87d7913ea7e02cb9L,0xb772f40954b00468L,
  71836. 0x207850e8cc28eec8L,0x772468db7603910dL,0xb5d3125db256e07aL,
  71837. 0xbeb567df8b59420dL,0xb3467a5331e5ccd1L,0x00000000000001daL } },
  71838. /* 32 */
  71839. { { 0x3a44dde085f45eddL,0xc543bb6498309156L,0x82d1ce827597d0d0L,
  71840. 0xb2dc0f228106ca3eL,0x66f394472c3a313aL,0xd8f6fcdaa6cf2e03L,
  71841. 0xed6e0e279e6bf40bL,0x7dcd3a305b9a41afL,0x0000000000000095L },
  71842. { 0x0a870cec12be5b78L,0x912c21c51406e140L,0x977417fdd5e13ca1L,
  71843. 0x9edbae8ab9e21e28L,0x9fce45ea13b2f069L,0x25bd760b84f3cbf2L,
  71844. 0x29e0c3ce2489fd01L,0xe16d31c1ec62a766L,0x0000000000000061L } },
  71845. /* 33 */
  71846. { { 0xaff40f1bb5598dccL,0xef04d8e02cd12fd9L,0xc97ea3b0bad7f4acL,
  71847. 0x336776a6565108cdL,0x71d9d056fe63178cL,0x31a7c54714c3f6aaL,
  71848. 0x5da757a2f6804c72L,0x7b3ee12ff87bb311L,0x00000000000001faL },
  71849. { 0x30df907b6bf9f426L,0xca534ca162ef821fL,0x540f8dba017699e6L,
  71850. 0x7cddfe567358f4afL,0x5bc334a1e8f9cef6L,0x427fd83d6adc5f09L,
  71851. 0x2fd7c1b8b851f4c2L,0x234d1bd4d1587daeL,0x00000000000000d3L } },
  71852. /* 34 */
  71853. { { 0xffef7d4f0399f8ccL,0x1e2708d99da4c3faL,0x5792ebd0a9474303L,
  71854. 0x21aa73f56812a436L,0xf61f60fbc052973dL,0x7061be89fc874833L,
  71855. 0xe65c7ebe2638329dL,0xe728d78b032852d9L,0x00000000000001e5L },
  71856. { 0xb633df4e27c9f6a6L,0xdea08843cc406457L,0x75f688183cb011bcL,
  71857. 0x234d1b4ad5603044L,0x2a156ae5b6a4d089L,0x9021af3b95e9f0f1L,
  71858. 0x90e987df968be7d3L,0x0821a4d3781ef8abL,0x0000000000000027L } },
  71859. /* 35 */
  71860. { { 0x94de21d800df95b9L,0x5d5301b2c33c47f7L,0xf271cabd2343171eL,
  71861. 0xbe5441dc4f0fba70L,0x11183253702639d6L,0x01e0573a97074632L,
  71862. 0x268025dfce4f92d6L,0x47d14b05039a6f5bL,0x000000000000015dL },
  71863. { 0x2051179030720125L,0xee2db45c6541fb74L,0x07bbcc41aacdcd66L,
  71864. 0xffa2e9630a08ced4L,0x819b5b7a7f21a83dL,0x5f857f0a44896b10L,
  71865. 0x6126655c197cde7dL,0x81d0f14a2962acd7L,0x0000000000000138L } },
  71866. /* 36 */
  71867. { { 0x0b7a0b9ebb82fc5dL,0x7f2e7af14ff667a2L,0x5cc3df3907a17aecL,
  71868. 0x91465af2398fb92aL,0x785b749098cf002eL,0xfe22218f7380cfb0L,
  71869. 0x32bd17997f4f03a8L,0x1c78bd791209f39aL,0x00000000000000e4L },
  71870. { 0x90389734e8b69225L,0x26dc02b5fc69c2f9L,0x37eeea93ff349339L,
  71871. 0x642556bfc05ec9e4L,0xaa5744b64bd93ef1L,0xc29f3c91bfe9d602L,
  71872. 0x399cbf01aea4f871L,0xc02b2b1cf485b047L,0x00000000000000beL } },
  71873. /* 37 */
  71874. { { 0x5658a9eb87400032L,0xb3513556ff0b51afL,0x99ecda719408ac7bL,
  71875. 0x5e8d8b317bc54d5fL,0x8f178f9e3ef10515L,0xfc49ad94624b9cf0L,
  71876. 0x344433fd8fc6c90fL,0x0df7be427f17965fL,0x00000000000000d4L },
  71877. { 0x47918d08133929fbL,0xd6cf0aa92ff979f6L,0xad55ab19a37a87abL,
  71878. 0x9e9d1956c5010be8L,0x8c0bd3ea3b82de19L,0x6c87820ff3c76b65L,
  71879. 0x70499d39f2232ed8L,0x70dab0ee7aafde31L,0x0000000000000163L } },
  71880. /* 38 */
  71881. { { 0x5ba4b10081d6751dL,0xeb0319dcb96a5495L,0x56407c25654729d3L,
  71882. 0x3de520199330d3fcL,0xb3f8a00e28998bc4L,0xeeea220977ddd518L,
  71883. 0xc1429a49cb758f5eL,0xa86982a271834361L,0x0000000000000040L },
  71884. { 0x7472fd7ac36a0150L,0xfb61ab940138d406L,0x0cef5dd5b30829f5L,
  71885. 0xa8ea3257aef599f4L,0x593011df7fa063bcL,0xea4c19ced774cb2cL,
  71886. 0xad0eeee6b85e8883L,0xb5ef126b2aba018bL,0x000000000000014dL } },
  71887. /* 39 */
  71888. { { 0xebc08efd502a4e76L,0x4589d863767c0f52L,0xcf85eef44eb92decL,
  71889. 0x0b59aa5d965c95c1L,0x60945a8e68d2dbcaL,0xc94cb99f77bf02d9L,
  71890. 0x6cc41e81cfc0dc2dL,0x7264e2dc8637cc2bL,0x00000000000000d5L },
  71891. { 0x28989d2059b1302cL,0xba90dc20f89d0c77L,0xa29e9c3ee7f4a0b1L,
  71892. 0x332ecd54b0a225b5L,0x38a3b080b042d9eaL,0x6d27ff408d9dfe9fL,
  71893. 0x146f8b3a88a69d3aL,0x634fb13f1fee39b6L,0x0000000000000031L } },
  71894. /* 40 */
  71895. { { 0x2cd49af1f76d4173L,0x269b00cea89acef1L,0xb60e2977a015990bL,
  71896. 0xbe86499685f72cefL,0x4e23b9db4d5b0156L,0xfa92c71c6bb926baL,
  71897. 0xf4a8ff2fe2f815b2L,0x543eee4aa5cd2e72L,0x000000000000003aL },
  71898. { 0x9cf75fb5ecb67b4bL,0x0132019091a51dbcL,0x0557fcd377225c2bL,
  71899. 0xe2e69807eec94860L,0x58ccae9fe6c35624L,0xeca667a6e8c2ff7cL,
  71900. 0xf6939f23a37b64a3L,0x2eaabbb70d225b40L,0x00000000000001e7L } },
  71901. /* 41 */
  71902. { { 0x036735d2ff9ed76dL,0x8653e8e35d154fcaL,0x6811cba29824f792L,
  71903. 0x96a3c594e1252e06L,0xb02543e7ba6e82e0L,0x5435187349b46518L,
  71904. 0xb7c14c8662bc5b59L,0x6535a2bba295f29bL,0x00000000000000bfL },
  71905. { 0xd8b41e4bb0625972L,0x1063ba69b0ce550dL,0x64687d34db86696eL,
  71906. 0xba2b364455ca06daL,0xa4699ecd3dc4d46cL,0x9f40e631bfe4443fL,
  71907. 0x0e97fbe375fa4f7eL,0xd026b0481cbdc008L,0x00000000000001d2L } },
  71908. /* 42 */
  71909. { { 0x042191fad75cf083L,0xaffc08409bd72c49L,0x8f5b9e3f67faf055L,
  71910. 0xa99fa2dfc9794f77L,0x1ccbe885a9ef6764L,0x5fd1e3d66880eb3cL,
  71911. 0xbef622be06fd7bfaL,0x80d418fe9b10c7f8L,0x00000000000001a9L },
  71912. { 0x6637732018148fceL,0x9655f8b345c2a46fL,0xdc2952408caf763dL,
  71913. 0x4313d4b72816a721L,0x6ff4aa0a50da95edL,0x66cbcad2d4f9e551L,
  71914. 0x0ff11d35e6993438L,0x93dab445b9a4f5f1L,0x00000000000000b4L } },
  71915. /* 43 */
  71916. { { 0x8e846df2fa327b1cL,0x6755220d1d0321a0L,0xbacbc29c0342f918L,
  71917. 0xbe6f119dd996a1f8L,0x11c02d40eb5740ffL,0x28a8232f4fbb962fL,
  71918. 0x066250a52185293aL,0xf9220c87cf927dc9L,0x00000000000001c9L },
  71919. { 0xd59cdf5b32a50e5aL,0xa13035882c379627L,0x0894c6ebff69b440L,
  71920. 0x881458aaad6055c9L,0x27d9a7d5b2f2ff3cL,0x15f33160d254ae2dL,
  71921. 0x6e8342f1e38392bbL,0x7d7f4576b7c8d249L,0x0000000000000104L } },
  71922. /* 44 */
  71923. { { 0xd63c86d1774512bfL,0x1524c2d8624719e4L,0x2f7568d486d00e48L,
  71924. 0x02140d74cb9cf033L,0x3fff92dd0cae0cceL,0x7ec6068613941889L,
  71925. 0x791633ac5b8bf2b0L,0x43c98854ca54ea3dL,0x0000000000000027L },
  71926. { 0x15a79b14e40eb5e3L,0xccbbb5c75eeb2285L,0xc67c8dff5686232dL,
  71927. 0x8b45a2c1a83196efL,0xa274bf939b2acfb3L,0x35c2b5486e56b741L,
  71928. 0xc93963b24c1f5672L,0xbe9d6f8edf0e741bL,0x00000000000001caL } },
  71929. /* 45 */
  71930. { { 0xc8bc017afba4114aL,0x8e2791028d7327cdL,0xb95bfa6bddf662a4L,
  71931. 0xd828f02c44a2caefL,0xc6504c42a27af13cL,0x67f79cab503e832dL,
  71932. 0x42da6976cb78ed1dL,0xda6e4727431e01dbL,0x0000000000000094L },
  71933. { 0x44d5bd3eb9544fd3L,0x329d747f694035c9L,0x104d2b68676f065aL,
  71934. 0xc8e81e7cfc4165c6L,0x4cdad2fdaf3779f2L,0xa3e4a4625669a833L,
  71935. 0xa281178a21737142L,0x86f7afb87b8f5514L,0x00000000000001aaL } },
  71936. /* 46 */
  71937. { { 0x407a70134deacc7cL,0xa2540e3c94faf272L,0x4246beb934b43fa8L,
  71938. 0x157b03f43ba9f184L,0xf7898d60b939ba99L,0x0f7e245e3a5f62b4L,
  71939. 0x2db5a341eaf7a575L,0xd3adea091278c0f7L,0x00000000000000d2L },
  71940. { 0x2cba440ada687094L,0x3b478947767e75d2L,0x07c7de48078f23a0L,
  71941. 0xca6d86d8d7252108L,0x5fd954fc6a7fbe1aL,0x4d552bbec9a2a901L,
  71942. 0x71ab270159e75804L,0x294298fa5413091cL,0x0000000000000149L } },
  71943. /* 47 */
  71944. { { 0x6e60bc8cbebdd14bL,0xfe195cae8c57a662L,0x41e77bd8d9e4437aL,
  71945. 0x20fc2e7c85e4b9edL,0x97be566d2a012e02L,0x433786ae9b250c6aL,
  71946. 0x9eb76699cbb3224aL,0xf727091bf090f756L,0x00000000000000c8L },
  71947. { 0x31496439ef08161cL,0x265407a997e3a008L,0x2088210700e2ffcdL,
  71948. 0x27426c055359fd16L,0x03e836825c39f78fL,0x380743a8e2a8832eL,
  71949. 0x8739d8ed792bafe6L,0x6cef07c47a912015L,0x0000000000000128L } },
  71950. /* 48 */
  71951. { { 0xf29780090fd83accL,0x247593df630645dbL,0x171e6b9f9e2db252L,
  71952. 0x3a6342a3c30aec58L,0x23524040fdd7151cL,0x2589b6988b15fee7L,
  71953. 0xca588f0a17dca917L,0xb2cf2fe7677cad49L,0x00000000000001dcL },
  71954. { 0x14332d38c8573626L,0xd4fe66fd4adedd4dL,0xc5d8f397bb83b706L,
  71955. 0x00aacee43aa8a4c9L,0xe90383ff107c81a9L,0x6cf1fb2f18abdf47L,
  71956. 0x9bf5444df17c55baL,0x8251ec253659322aL,0x00000000000001deL } },
  71957. /* 49 */
  71958. { { 0x5a0e940caa2f106aL,0x7c55eb23418781b7L,0xcc6cebb679cc53b8L,
  71959. 0x7f6f64fc9d7377f4L,0x1571161c6de3403cL,0xd7a52f1cff1bf45aL,
  71960. 0xaf938df4110b0e06L,0x9bf219246f64c558L,0x000000000000001cL },
  71961. { 0xe15e4f0ea5afb352L,0x9ff6c56df2ca770fL,0xe0e86c68338e1890L,
  71962. 0x96907f1990808bfcL,0xd0d47de2686b805bL,0x2fbfcb72b367c12aL,
  71963. 0x800a58141dd3d54fL,0x2f4b07b398657a79L,0x00000000000001f3L } },
  71964. /* 50 */
  71965. { { 0x3340fb54f31cb1daL,0xc1e88317e1752360L,0x183ae7f8121667b1L,
  71966. 0x1f271fa2bfd7bae9L,0xb31175b92b745d3dL,0x22250cc540b13e3eL,
  71967. 0x63aabbb70d01026fL,0xab63c0f1b428cd91L,0x0000000000000018L },
  71968. { 0x7435eaf9988d425aL,0xf9f323c7fcc441f4L,0x8de16b8c3e4de08eL,
  71969. 0x2e603853e495b0f0L,0x204602204b3f0024L,0x8aff3f40b43cdb09L,
  71970. 0x409df7af4d00e185L,0xc681d091f1637f16L,0x000000000000019fL } },
  71971. /* 51 */
  71972. { { 0x0801a2cf5f0f872aL,0x67a587356ec8c90cL,0xf21e24aba0913e94L,
  71973. 0x985fc1703502bcb9L,0x8552800450a05926L,0x65918c8f426e56f8L,
  71974. 0x382414dea5cba2acL,0xc3e7a7e62874cb00L,0x000000000000005fL },
  71975. { 0x96630e9e8fa87335L,0xdcf938c1c7771bc8L,0xc4f3d77aa8cf3cd8L,
  71976. 0x931ae9adc99a5fddL,0xa89581d55e2bcffcL,0xd0c7c71f29758819L,
  71977. 0x4ef995634d5aa9d8L,0xc6de91cd8f04cdebL,0x0000000000000171L } },
  71978. /* 52 */
  71979. { { 0x24b42a1c35c6448eL,0x129a536e1f4e7b86L,0x7ca12db87e48d8f6L,
  71980. 0xa827acf3587d6577L,0xfc62bf4bb1cce77eL,0x702ee5800f45a823L,
  71981. 0xb4989843cc7a73a3L,0x3d49a2326c0afb5bL,0x00000000000000a6L },
  71982. { 0x7055c61255086dc5L,0x0622af5a3cf49868L,0x113dc4cbe695b064L,
  71983. 0x65b33365479ff727L,0x156ab542336bc622L,0xf5a2ef703014770dL,
  71984. 0x486f74556ded88eeL,0xbb4619488c8a7452L,0x000000000000005aL } },
  71985. /* 53 */
  71986. { { 0xea6e991125fdd488L,0x4ea556fb3d0183b0L,0xe8cfd7c274dc3ac2L,
  71987. 0xe20307a3ddf1bd8fL,0xfc6684582ee9be7bL,0x64a60b7937782071L,
  71988. 0x612fc9c865acf2e3L,0xcbb8c60c0de59326L,0x000000000000009cL },
  71989. { 0x250e6112195cad69L,0x81cd7e491f0b4f39L,0x9b6808db61302e46L,
  71990. 0xe569c108b3af7841L,0x34d86f57c15d5fc4L,0xb3e586fdf76ad338L,
  71991. 0x6de8477b70bd63a8L,0xa52b119d7ec86218L,0x00000000000000b6L } },
  71992. /* 54 */
  71993. { { 0xe51f8aca27806255L,0xcb4da51a101b2dbcL,0x27b8a0dfe08b3553L,
  71994. 0x6e2a0d066ad56ac8L,0xa751cbedec44486dL,0xf574538ec5b2ae67L,
  71995. 0x64e1e3c3827536e2L,0x652fa060707a8b39L,0x0000000000000170L },
  71996. { 0xe17a85d7684c6e53L,0xc957477272d0d747L,0xf892866558d12edbL,
  71997. 0x7fb212c8c815db67L,0x44b676eff3e66186L,0x15b57bb3998ef4d3L,
  71998. 0xb71f3b8e815c5036L,0x3fe9796573bcb190L,0x0000000000000162L } },
  71999. /* 55 */
  72000. { { 0x5c7f569ad5fd84e2L,0xf84d6e126fa4bb7cL,0x7b74629c82a1081dL,
  72001. 0x7935151d0522589eL,0x94fb78055ccf889aL,0xec677309792f6bacL,
  72002. 0x42fbece8d880a0d8L,0xd97b4881b70be7f5L,0x00000000000000e3L },
  72003. { 0x85d79261eda953e8L,0x35894e9b5dd94926L,0x95c1cbc99aeb12b8L,
  72004. 0x017029fe1695dc35L,0x36e2b978d6b13364L,0xb86b7afdc388ce34L,
  72005. 0x2d25b1af1e501e40L,0xf9127abdd5d7e7c1L,0x0000000000000031L } },
  72006. /* 56 */
  72007. { { 0xa18a458f1bb9a390L,0x916fc4b62062e5d6L,0x7040176be16db823L,
  72008. 0x25de966301177efeL,0x2b679ddeb778335cL,0x6ecf1689862622ebL,
  72009. 0xa191ffb5cb8a74ebL,0x4cc26680019ff743L,0x0000000000000047L },
  72010. { 0xfa5b847e047d9854L,0x6151153b6527d4d7L,0xf72721185bdda4c9L,
  72011. 0xdde383c5f17c7e63L,0xc44040392a82edb4L,0xd1355d9781853b97L,
  72012. 0xcb503386b211c3b0L,0x0f9dbd602c17c154L,0x0000000000000107L } },
  72013. /* 57 */
  72014. { { 0xc8cd8f5d80a2aa22L,0xb73c67a164793948L,0x55abac7fff49c73dL,
  72015. 0xb5bc3df0833e5481L,0xf6ab8a42384a9287L,0xbea5929eee4f0be7L,
  72016. 0x2e6bf0f29619ddbaL,0x224ce58ab2ddfcbeL,0x00000000000001d4L },
  72017. { 0x12f87e99ac4906b7L,0xe752f6ea5101c876L,0xa32a9b1f2b668943L,
  72018. 0x9e6e6c2b07950fdfL,0x72a31f91bbb4c324L,0x2e799c7b28546e5fL,
  72019. 0x7183a2daa6ff4503L,0xe2cb8237178fdeebL,0x0000000000000030L } },
  72020. /* 58 */
  72021. { { 0x140767d0bcd89552L,0x31548634f10fdf7fL,0x2c4cdccc210355fcL,
  72022. 0x4929888955704a76L,0x7102e8820f1d3e5eL,0x4afc588292691f55L,
  72023. 0x4cff09ede9e34260L,0x49d3a32932cd76ccL,0x0000000000000063L },
  72024. { 0x6adbd32efbdc0c1eL,0xe3fe998b0ebefe86L,0x78099d79bc2a7085L,
  72025. 0x333c30095adeab44L,0x45e4d96f07ae4b5fL,0x4bd1f0d29de88636L,
  72026. 0x8c7e69d7bf2020a9L,0x126a5886c3c5a340L,0x0000000000000000L } },
  72027. /* 59 */
  72028. { { 0xaed91dc9263f94d8L,0x40f3c1cd20289709L,0x74dc1e9b60b5c995L,
  72029. 0xf08cb2a07d5bb95bL,0xbb6d3339e642d133L,0x3c3e5d14d2fcc05dL,
  72030. 0xcf159316403e4a78L,0xd84be52727c124faL,0x00000000000000d4L },
  72031. { 0xbb2246c1bcd8501dL,0x86d450b3a1600eadL,0x6f5a476db626b180L,
  72032. 0x01f4b93e3511ac45L,0xd813396bbbfa9758L,0xc69b8e7512347b15L,
  72033. 0x108defb629cd9e2cL,0x4778bb2725e9ac47L,0x000000000000012fL } },
  72034. /* 60 */
  72035. { { 0x140ce283ea9f1213L,0x2326ce38af8d7bc8L,0x90d21012914ac8b5L,
  72036. 0x0b07cea5e255c0e1L,0x93cc5e972dcccb43L,0xb89b14f2ee9885efL,
  72037. 0xa35afc40dc56967cL,0x8125d749ee2e3671L,0x0000000000000101L },
  72038. { 0x1855e97a55902052L,0x8a572e69e6f0db6cL,0xb1bb6014fcfa3f3cL,
  72039. 0xe77eb435f5b2440bL,0x9045dd302df3f74aL,0x7853068b590ee6e0L,
  72040. 0x5714e1f03b9ddec5L,0x9810d77586086f6bL,0x0000000000000008L } },
  72041. /* 61 */
  72042. { { 0x66e566e3d3a87a30L,0x325081762cc44c2fL,0xdcaf7c52b80871eeL,
  72043. 0xdad02ffbdd245945L,0xb9e691ace956cdb7L,0xdfefe49fc62064e5L,
  72044. 0xc322f6978c8f2c6dL,0x68a5d7a8aa88f4acL,0x00000000000000deL },
  72045. { 0xee5555b183ae6c21L,0x895c837c478467b0L,0xe6b06030dd4d105bL,
  72046. 0x9d9f32247636a759L,0x68132ea4fb8142ddL,0x6109a099ff919487L,
  72047. 0x775c37af76a1835dL,0x4279a9c48604a81eL,0x0000000000000093L } },
  72048. /* 62 */
  72049. { { 0xb72859988df31c84L,0x0489bf6fcf37c1c3L,0x4ccd18d9e4c102d7L,
  72050. 0x8b1d6c45ac3e23c9L,0x7b7d259a5744d781L,0xa0033649b4778129L,
  72051. 0x5c7414d99fbf3e2cL,0xfa78a7fe20774c25L,0x0000000000000043L },
  72052. { 0x9b46685f8e69fd50L,0x2632cf3c3e47d4deL,0x44fd8f9f0238fed0L,
  72053. 0x2fbc3f42e03f169dL,0x0c9df28eb7dcd132L,0x5deae7cc3d18592aL,
  72054. 0x3034fb93406adf0bL,0xbf5a3a75ae059280L,0x000000000000010aL } },
  72055. /* 63 */
  72056. { { 0x272883fb34c28cb6L,0x22b00e9e5e7d03a4L,0x23bbacb97f4602a2L,
  72057. 0x27564d96c248ed06L,0x9b7e1ce6d1c5b544L,0xb3d77b2d71182e92L,
  72058. 0xb18e78aade9d46abL,0xde48d9e12e69d74dL,0x00000000000001fbL },
  72059. { 0x8de62222099effafL,0x2212621b1328146cL,0x05f3c0b003677fccL,
  72060. 0xf43e4825fb0fc3c0L,0x94d3b33698536e0bL,0x22c1cca4225481ebL,
  72061. 0x2b8668dfa9fcbaf5L,0x51e858f2c30e9271L,0x00000000000001e9L } },
  72062. };
  72063. /* Multiply the base point of P521 by the scalar and return the result.
  72064. * If map is true then convert result to affine coordinates.
  72065. *
  72066. * Stripe implementation.
  72067. * Pre-generated: 2^0, 2^86, ...
  72068. * Pre-generated: products of all combinations of above.
  72069. * 6 doubles and adds (with qz=1)
  72070. *
  72071. * r Resulting point.
  72072. * k Scalar to multiply by.
  72073. * map Indicates whether to convert result to affine.
  72074. * ct Constant time required.
  72075. * heap Heap to use for allocation.
  72076. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  72077. */
  72078. static int sp_521_ecc_mulmod_base_9(sp_point_521* r, const sp_digit* k,
  72079. int map, int ct, void* heap)
  72080. {
  72081. return sp_521_ecc_mulmod_stripe_9(r, &p521_base, p521_table,
  72082. k, map, ct, heap);
  72083. }
  72084. #else
  72085. /* Striping precomputation table.
  72086. * 8 points combined into a table of 256 points.
  72087. * Distance of 66 between points.
  72088. */
  72089. static const sp_table_entry_521 p521_table[256] = {
  72090. /* 0 */
  72091. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  72092. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  72093. /* 1 */
  72094. { { 0xf97e7e31c2e5bd66L,0x3348b3c1856a429bL,0xfe1dc127a2ffa8deL,
  72095. 0xa14b5e77efe75928L,0xf828af606b4d3dbaL,0x9c648139053fb521L,
  72096. 0x9e3ecb662395b442L,0x858e06b70404e9cdL,0x00000000000000c6L },
  72097. { 0x88be94769fd16650L,0x353c7086a272c240L,0xc550b9013fad0761L,
  72098. 0x97ee72995ef42640L,0x17afbd17273e662cL,0x98f54449579b4468L,
  72099. 0x5c8a5fb42c7d1bd9L,0x39296a789a3bc004L,0x0000000000000118L } },
  72100. /* 2 */
  72101. { { 0x803986670f0ccb51L,0xb87e1d013654974aL,0x7f58cf21b2b29ed9L,
  72102. 0x06c0e9aaa3add337L,0xf13b35d0e9d08ffbL,0xdd8bf44c96761627L,
  72103. 0xa4a18c14758a3ef4L,0x96a576dda0043adbL,0x000000000000013eL },
  72104. { 0x2bde24f8632d95a3L,0x79f15ef14c524829L,0xaadd863e9bdaba19L,
  72105. 0xdde053f4a962b707L,0xc598a2de14258d98L,0x9fa5a19d061c235cL,
  72106. 0x0ed46510e8ffd32cL,0x2aea9dd1ef78ceacL,0x0000000000000185L } },
  72107. /* 3 */
  72108. { { 0xd0a91dd8eaaf1fe3L,0x0db386624400b52bL,0xff6a06a921abf0d2L,
  72109. 0x9412879aa768c940L,0xf3791abc9a1eec37L,0xc913fbe62738343cL,
  72110. 0x728b42abe222abc1L,0x874c0a862b9ef313L,0x0000000000000157L },
  72111. { 0x0ac8f184e6f03d49L,0xa9c357e41e48be03L,0x02ce5ef3815cbdefL,
  72112. 0x7a41c7ab5fd8dc3cL,0x4bef67c9faeb109dL,0x2f98cca1a84f4d38L,
  72113. 0x7e03d47d672f0aaeL,0x24b1ab581d58968bL,0x0000000000000007L } },
  72114. /* 4 */
  72115. { { 0x904f2d4bdf9314e0L,0xdaae850de7a00aacL,0x79231083582efb03L,
  72116. 0x80f1c283ec7fe6d2L,0x2d5b3996199d74a8L,0x5f120b9b395007e7L,
  72117. 0x30d237734773f03eL,0xf4c192733b78b686L,0x0000000000000121L },
  72118. { 0xf103ff6dfa8b51f0L,0xae7afb5140e2bdf0L,0x1130380e83254171L,
  72119. 0xe83501b8cda10d95L,0x1057771e4f3a8c01L,0x8f52196aac807069L,
  72120. 0x3609b0aaa5623821L,0x8c25790694a0a7f1L,0x00000000000001dbL } },
  72121. /* 5 */
  72122. { { 0x300370ccb2c0958dL,0x89aef16669a7b387L,0x2792f3cf480c9b38L,
  72123. 0x0b2984f2fab3e149L,0x9751e43650748967L,0x9cab99d5ad33db2aL,
  72124. 0x4d945d32b44a4daaL,0xa26cca5216c77325L,0x000000000000000aL },
  72125. { 0xcdbe1d41f9e66d18L,0x80aeef96aa117e7aL,0x053214a2ddb0d24bL,
  72126. 0x6dcfb2275c98b7bfL,0x613e7436dfd3c848L,0x6e703fa13ca4d52cL,
  72127. 0x0c8e297718551e64L,0xf5e90eacbfa8527dL,0x00000000000001c6L } },
  72128. /* 6 */
  72129. { { 0xa2c2f1e74ab2d58fL,0xc1bbf82c2a097802L,0x6583eb24770bb76aL,
  72130. 0x8e4ed9ed5667f7bdL,0xd8c01d86fd96897eL,0x66395a133fbe0f15L,
  72131. 0x51e4f39dd99cdcb1L,0xde08424a720deb25L,0x0000000000000082L },
  72132. { 0x97aa53b260ea91afL,0xa4384af77a31dfddL,0xcd82f2395cd09bbeL,
  72133. 0x997c19daf30058e1L,0x443b60c6e5c78e97L,0xfaae9b5f575b1845L,
  72134. 0x5ce86f3308c2ce16L,0x983ce58f4f63fa86L,0x0000000000000073L } },
  72135. /* 7 */
  72136. { { 0xaee931318217609dL,0x7f8a9dd42412fc00L,0xe117e64c286c6329L,
  72137. 0xcc3782d67bf1c65eL,0xe8c144db8d03eee5L,0x01acacb29ab93799L,
  72138. 0x215eb1b5b07784c7L,0x2c409fa81affcd87L,0x00000000000000f8L },
  72139. { 0x007d3766378139a4L,0xc6d969ebb55bea93L,0xc7c60d6f68c8bc9dL,
  72140. 0x844e84615f93f242L,0x8461ca2a741717d9L,0x8e930e79f0bf120eL,
  72141. 0xe1554a026b5699d7L,0xe69c77026a4fb6deL,0x000000000000007dL } },
  72142. /* 8 */
  72143. { { 0x61b51bb04bee80d7L,0x0e1f6a1f7692de69L,0x8379e46ca0ebc3bdL,
  72144. 0x1c0bffa7930644f0L,0x97c67b87390db077L,0x095c33e1fada1ce9L,
  72145. 0x3c500addac54b512L,0xc231d360d3118656L,0x00000000000000b0L },
  72146. { 0x0628929839bcab2fL,0xc0c0678064dd220aL,0x062f6084763dc2a0L,
  72147. 0x88e9da731938c3e3L,0x69be8f2d52e46eb9L,0xe55c8d2d6a5de0fdL,
  72148. 0xf3a3fd63db2c0e26L,0x899c6d9f1e4bff57L,0x000000000000014aL } },
  72149. /* 9 */
  72150. { { 0x9ff6e3a1ec05ce88L,0xf8fc2496b6afd202L,0x0b9d20776fbeb007L,
  72151. 0xb50ec0bdeebded40L,0xaef97742693700f7L,0x806e37a13f7b030eL,
  72152. 0x5cf17d171b901f77L,0x9036e5dfca95ae0fL,0x0000000000000159L },
  72153. { 0x00af64b5000e8e0cL,0xd3f2ae0406fb4df9L,0x5f61da67449f23baL,
  72154. 0x0ca91842255b25a9L,0xfa6af3e68e33c650L,0x14373c00c2c027c1L,
  72155. 0x99f3cda1972840a5L,0x98c62b79d0e84240L,0x00000000000000e7L } },
  72156. /* 10 */
  72157. { { 0xe8c7c4a8ae4d0f28L,0x3a8a55ef566d006eL,0x37985f65066e4023L,
  72158. 0x8deccab55d321b76L,0x38b966d6b8351b07L,0x2e889e5357d548abL,
  72159. 0x7a9e8e2fe631ab0bL,0x45c60f95e75c537bL,0x0000000000000059L },
  72160. { 0xbca27d347867d79cL,0x7f460b1581c81980L,0x7ec2d9ab976b8c51L,
  72161. 0xfcd0448661b91ed9L,0x730a7a25d9c1d15fL,0x8a2cf259f94c9db9L,
  72162. 0x8e784b875dec5a3bL,0x062526073e5131eeL,0x0000000000000004L } },
  72163. /* 11 */
  72164. { { 0xdee04e5cf1631bbaL,0x40e6c1df156f4524L,0x06603f30e4c30990L,
  72165. 0xdb649a436b6abec7L,0x354f509cf6b94f6eL,0x7fecf46936b7e0b5L,
  72166. 0xa7a7107eba1e6dd2L,0x889edac5689450caL,0x0000000000000022L },
  72167. { 0x9012916ed05596f2L,0xe3901dacb023cb8bL,0x2501d3ece7d4abe1L,
  72168. 0xb2815040a9c90313L,0x9dbcd3f1c6d146d0L,0x6fa1d5b174ee1896L,
  72169. 0x49aea161a91226fbL,0x754ceedfb8a80984L,0x0000000000000154L } },
  72170. /* 12 */
  72171. { { 0xb64e27b04270b2f0L,0x84b34e48bf4d74d7L,0xb186be8b0c2722baL,
  72172. 0xf54a589d9ff9b71cL,0x9887e4df34fd6bc4L,0xb7c669fd7412f49dL,
  72173. 0x4008d9bb77f89d16L,0xafb9426bc902e074L,0x00000000000001cfL },
  72174. { 0xcca4f2d1662935caL,0x2847c703997dcc46L,0xc089e9e5353c79f8L,
  72175. 0x9ed8d9895215f0f4L,0x59cf08bc80911b9dL,0x4b03540e6de27aa3L,
  72176. 0x52f4d63ef69e320dL,0xa0217fd694ef193bL,0x00000000000000e6L } },
  72177. /* 13 */
  72178. { { 0xb77de62774214780L,0xca066817207459eaL,0xf78579b7e9c7fb01L,
  72179. 0xe55548c1d6d4b7c7L,0x45756190a66caa39L,0xf8141b0398505a4fL,
  72180. 0xa5ca0d7c4c8864ebL,0xbf8af9509e129d3fL,0x0000000000000053L },
  72181. { 0xbc9b29d885285092L,0x82f31daa8eed5e5fL,0x9c33690ef618aab9L,
  72182. 0x0eee14f4d2626ed1L,0x4229570b07ed8e09L,0x1977920e8736d040L,
  72183. 0x47ee25ffede7d01dL,0x3c921c3abc7ab73bL,0x00000000000001b9L } },
  72184. /* 14 */
  72185. { { 0x0b6a07cca08b2b14L,0xaa978debbf174c7fL,0x291cb828c40cb2a4L,
  72186. 0x95c7827290adc838L,0x08da8b2a8c1edde6L,0x741ceb2f90fbd220L,
  72187. 0x5f89c9e5322db94eL,0x18266085b73c548eL,0x000000000000007dL },
  72188. { 0x69ebf82a2defd012L,0x01ecb0945a1537efL,0x3c5575353ef0811dL,
  72189. 0x59c882a7b2bd4deaL,0x00a1f9727bf969c8L,0x063adf5e0b25ad1bL,
  72190. 0x4c1ff306f2536005L,0x8e515bec4112fe18L,0x0000000000000117L } },
  72191. /* 15 */
  72192. { { 0x9314787fefe3d3d5L,0x29e76f659d897227L,0x15c77ed1e0b6acf5L,
  72193. 0x9c2b7b201c5e8dd9L,0x788038f15f5667afL,0xf38c766ff3576ef4L,
  72194. 0x9f0623c80040154aL,0x47d3c44bde883b53L,0x0000000000000096L },
  72195. { 0x32075638de1b21a4L,0xbb6399c1571081c1L,0x322e606775c03599L,
  72196. 0x5c7fde7fade60cf5L,0x1b195440efc19059L,0x7e70ac8cdd7b3960L,
  72197. 0x4aa5a83d6a6fa73eL,0x34f8cfac63080764L,0x0000000000000042L } },
  72198. /* 16 */
  72199. { { 0xee31e71a286492adL,0x08f3de4465f86ac4L,0xe89700d4da713cb4L,
  72200. 0x7ad0f5e9a86b7104L,0xd9a62e4f2572c161L,0x77d223ef25cc1c99L,
  72201. 0xedff69613b962e0cL,0x818d28f381d8b205L,0x000000000000008eL },
  72202. { 0x721231cf8cdf1f60L,0x8b640f2b6717760fL,0xbe726f8ce045a403L,
  72203. 0x422285dc0370689fL,0x7196bf8f72ea0dcbL,0xa16f7855c8086623L,
  72204. 0xd4e19fc7c326fe48L,0xfdbc856e8f68bf44L,0x000000000000013eL } },
  72205. /* 17 */
  72206. { { 0xde34d04fe6a3ace5L,0x0dbb603e896191c1L,0xb4dc0007f75ed0f4L,
  72207. 0x15e0e6bc95b259b5L,0xdfbcba662615f020L,0xb2ec5433d31ea3f8L,
  72208. 0x42b0b0e4103ff824L,0x19315060c480332eL,0x0000000000000111L },
  72209. { 0x9997ea28045452f1L,0x80b678cf71f3f73bL,0x4a52bddc41e9328eL,
  72210. 0xb7f2656ee6af1c23L,0xc43805b9b44215e7L,0x3aa734f2f0a4028bL,
  72211. 0xe3c72479422476e2L,0x6dc2e8b068c60cf7L,0x00000000000001f1L } },
  72212. /* 18 */
  72213. { { 0xbcdfae6ffffc0de5L,0xa801814fab4a5f24L,0x19013658ea2aa8ddL,
  72214. 0xf3b1caf5da4f0441L,0xf24b9cdb34100611L,0x48c324ed96e0cf88L,
  72215. 0x4b7ea33423055c82L,0x6e835b6489092e29L,0x00000000000001d3L },
  72216. { 0x7eb77ae707372f27L,0x4779b4fa83bae19aL,0xa175dae165429ebbL,
  72217. 0x942ec266fc03ef3fL,0x0e5fc6a96991c7c4L,0xa0f61e4f56253d3cL,
  72218. 0x7a11ff58de74e738L,0x60524cd4624de919L,0x0000000000000002L } },
  72219. /* 19 */
  72220. { { 0x45b5d0ca01342e08L,0x509ed4f0b749f0afL,0xeb5502d96529d804L,
  72221. 0x5eb087db6d80359cL,0xeaa66a874c384800L,0xe972c7a0c75a8784L,
  72222. 0x8c169e216874317eL,0x81c556e0e5c9fbf4L,0x000000000000014fL },
  72223. { 0x26b0b12be120674dL,0xc6bf09b9219f00acL,0x1e1e732dd658caa6L,
  72224. 0xc771c5af8292d99eL,0x5d81352925fdbf80L,0xe61bd7983666c37dL,
  72225. 0x8dac946a1d0df680L,0x58dcf684c39f0983L,0x000000000000009fL } },
  72226. /* 20 */
  72227. { { 0x141691027b7dc837L,0x2d719754b50eb1c4L,0x04f4092ad7e6741bL,
  72228. 0x1d0a7f1dbc824a38L,0x570b2056c8e20bcfL,0x6732e3b9da181db0L,
  72229. 0x7880636e0a7b508aL,0x11af502cc9f70492L,0x0000000000000045L },
  72230. { 0x0b820d94c56f4ffaL,0x1c6205a2c4f0c0faL,0x99f33d4ea1a0606aL,
  72231. 0x1bab646679b316fbL,0x05aa0852e4f240fcL,0x22539b7892d7dc43L,
  72232. 0x03657f1206e3c073L,0x28405280cedb6633L,0x0000000000000059L } },
  72233. /* 21 */
  72234. { { 0x90d087114397760cL,0xb9020b761c9fcd06L,0xc7fec7fa987e24f7L,
  72235. 0x0e33b8a0522335a0L,0x73dbeafdae21ca10L,0x458c060a3b032220L,
  72236. 0x9b9c73b8ee145da6L,0x31c661e527ff62efL,0x00000000000000aaL },
  72237. { 0xaf518eb081430b5eL,0xb32f9cea50ee0d69L,0x0ecdb0b5aa6ebe8bL,
  72238. 0x1f15f7f29fe1d689L,0xce5d68f31a59cc9aL,0xf4d6799408ab2a63L,
  72239. 0xe85b1cef4347ce54L,0x8ff423c0286d0776L,0x0000000000000176L } },
  72240. /* 22 */
  72241. { { 0x8564104c33dcec23L,0xbaf0d61bcdd07519L,0x486daf514c4f309aL,
  72242. 0xf01bc8f5de488715L,0xddd6baf1d3539ba3L,0xbb7e665d3a3be8ecL,
  72243. 0xf919dac3cb5d865fL,0xfe203da3f12149a0L,0x0000000000000173L },
  72244. { 0x043ae9a178d4a3d1L,0xa4d5cf58865316d8L,0xeaf026c041176463L,
  72245. 0x316c638ff84afa44L,0x512f2397ffea422dL,0x691eaa046622b613L,
  72246. 0x48856ea397e7068dL,0x42d1b2e3f4a1b33cL,0x00000000000001b5L } },
  72247. /* 23 */
  72248. { { 0xf51b2d5e1f487402L,0xe36016e67aaf1dd5L,0x1eb3f1f56da9c20aL,
  72249. 0x25b7d361ece45bfdL,0x42db0633027a9e18L,0xbf228777e8411649L,
  72250. 0xf5fce0c4458773d0L,0xb2b3151d2dd7a5f0L,0x000000000000001fL },
  72251. { 0x102773e8fbaa096aL,0x152726ebe093a878L,0x5c53cd072c7f1781L,
  72252. 0x38d3dfd0ab5dca76L,0xbb4a7d8587ef2d4aL,0x5c9c2013b7eb11c2L,
  72253. 0x5e353c340b6da22fL,0x846d50a5a325ecadL,0x0000000000000039L } },
  72254. /* 24 */
  72255. { { 0x76da77361677df58L,0x364bd5671cb50d6cL,0x0443c7d70a080ff2L,
  72256. 0xa0a8542986532430L,0x82002dd2c35101e7L,0xbebc614348c5cd76L,
  72257. 0xff1591aeca6cf13fL,0x91c7c2e698bf8dc0L,0x00000000000000fbL },
  72258. { 0x6a7c5cad12de14d5L,0xbc448c5f6561c822L,0x9f8de4307cdbb3daL,
  72259. 0x9c58f011c76811d7L,0x1e89806e75462049L,0xe52ad0a2c9a74e49L,
  72260. 0x2034685cb2be37c3L,0x7a8632450a0bc72dL,0x00000000000000ecL } },
  72261. /* 25 */
  72262. { { 0x33818c218a86786eL,0xed537f742137e2c8L,0x5d9690d1a7e6eb20L,
  72263. 0x9790ec705cdc4803L,0x469162c824f7bd75L,0x09e7ef9d4e1f0f14L,
  72264. 0xd30c128bce9915caL,0x810145f66c71226fL,0x000000000000002dL },
  72265. { 0x312749f5b71d87e5L,0x25f3b1417b02cedaL,0x02456d2ee0baff16L,
  72266. 0x97f7b3a9fcae6627L,0x0d6ebf8f37bd985fL,0x20aa81b97fa6d0c1L,
  72267. 0xb29f1a0121f2f137L,0xe326a2f85cc0ddb1L,0x000000000000003dL } },
  72268. /* 26 */
  72269. { { 0x26f3398b38c2ee78L,0x40c3d101a75a0beeL,0x35a31706565a7f8eL,
  72270. 0xd12985e304019e5dL,0x21e2a642b8174b6eL,0x25a15ee8af80a52aL,
  72271. 0x5d1e0fe68518d80eL,0x8cbbc13804f6ea9aL,0x0000000000000084L },
  72272. { 0x76828690dfd45169L,0x38d7e09859d3e8d0L,0x23758811cdb8bfc2L,
  72273. 0x8499547a162cf648L,0x494bab3bb4d15b8cL,0x822cbc57c60499a6L,
  72274. 0xac43224ea8a1cfedL,0x4356346957c6598bL,0x00000000000000d9L } },
  72275. /* 27 */
  72276. { { 0x2b06925368271323L,0x24d9e0a849cd04d7L,0xaae35fbf2b31cc7dL,
  72277. 0x44f64b4f57a3e361L,0x149046860294e856L,0xddc82ee743ced4aeL,
  72278. 0xcb92a6a57e2cda47L,0x989c42efbfc1f968L,0x000000000000013fL },
  72279. { 0xbed98bdfb8651600L,0x8c3634347a3cfaeeL,0x93a1254335b1a226L,
  72280. 0x558da7ddd5825507L,0xa5173b23852eb1e9L,0xdf5ae5852295f545L,
  72281. 0xe546e2ef6646d101L,0xf7e16a2c5d89f862L,0x00000000000001faL } },
  72282. /* 28 */
  72283. { { 0x0d746c8ec7ec136dL,0xf8e1d827cd11351bL,0x764a3ad3f187a116L,
  72284. 0x2f1b968f136e8465L,0xd41aa294850983c2L,0x2123ecc4be717259L,
  72285. 0xdcdcab52763c149cL,0xa7f50b181022b82dL,0x000000000000016dL },
  72286. { 0xf99e532d0ca5e258L,0xa148ad1797b62a7bL,0x8d0a242ec77fddefL,
  72287. 0x58518bcd74f9b6c4L,0xc53b30b87fd122d4L,0xbb8cd193fb50b2d7L,
  72288. 0x1a169aeebc01aae9L,0x7e49b10a1de26e09L,0x00000000000001c5L } },
  72289. /* 29 */
  72290. { { 0x2cabe67521210716L,0x81a296a307e02400L,0x94afc11d8c83795bL,
  72291. 0x68f20334dd9efa6aL,0x5be2f9eb677d686fL,0x6a13f277bf5ce275L,
  72292. 0xf7d92241b9757c5cL,0x70c3d2f4c74f4b8cL,0x0000000000000132L },
  72293. { 0xf9c8609c8d209aa4L,0x46f413a2db2b5436L,0x96b72d1a2992345dL,
  72294. 0x186f2aeb9487c34fL,0x4fa72176b440a375L,0x3a4209367da5358eL,
  72295. 0xf11eade3ff25b310L,0x9a570153505d60b8L,0x00000000000001a9L } },
  72296. /* 30 */
  72297. { { 0xae1513936e7495bbL,0xebd2fd28490879d1L,0x9c232b0b29fd76fcL,
  72298. 0xa1a0d49bc60e721cL,0x9f582b83517a09e2L,0xac37809e9d8badf8L,
  72299. 0x4aa4de9e0ad48bb4L,0xfd041312cb6cc487L,0x0000000000000027L },
  72300. { 0xc05502eeead4fb6dL,0x760c25ed0a602cbeL,0x58ba6841bd7f4a07L,
  72301. 0xc28b603254edce14L,0xb9d41e390397614cL,0x4221b71d181eed93L,
  72302. 0xd010e3c2332d4b0bL,0xdfe58a27dab0e419L,0x0000000000000096L } },
  72303. /* 31 */
  72304. { { 0x4cd6fcd67debd24eL,0xbe3fca609ae2b075L,0xa7d8c22ef217c26cL,
  72305. 0xd42d03e0b9620e3fL,0x634bf216c7f9f87dL,0x22b1ec538972ffeeL,
  72306. 0x83a957c1d60d3e77L,0xedfe5f860f6a537eL,0x0000000000000162L },
  72307. { 0x40a05400f0ea20b8L,0x2872ac7e1d796900L,0x7765a5c90edb0cacL,
  72308. 0x9df5b930b62939a7L,0xf78a676eaf2cb708L,0x030732bf52febc12L,
  72309. 0x3a6640deba190ad3L,0x36eae15f93e7e341L,0x00000000000000d5L } },
  72310. /* 32 */
  72311. { { 0x6c6119f6a1c88f3cL,0x924e5fec2ec6944aL,0x4c8aac605742ff2aL,
  72312. 0x60adde1eddb22c7cL,0x9728938cfa5d25bbL,0xfa5ac4f7ec117de0L,
  72313. 0x41f35ab7482929c1L,0xd1c4e8f90afd95f5L,0x0000000000000180L },
  72314. { 0x2fc4e73da7cd8358L,0x39361a57f2a1c920L,0xf6f2f130ad94d288L,
  72315. 0xe37e24662b6a78e2L,0x0babff8b79c262cdL,0x6cae01ef61b597b9L,
  72316. 0x9c1e33f0a60d4e64L,0x52a42280dd01f845L,0x000000000000000eL } },
  72317. /* 33 */
  72318. { { 0x72d640a40f013755L,0x0b6dce77fb8380e9L,0x2789ce797eb64b31L,
  72319. 0x8e704b0b93ca5a36L,0x18c360ff58bdffc9L,0x53b1f323b230c372L,
  72320. 0xd6b390885a7385d1L,0x071130f556b93bf7L,0x000000000000004aL },
  72321. { 0x29a2096bfeef3f88L,0x22eba869b82b3945L,0x7fe2184a872664a7L,
  72322. 0xa0dc0ba1858ff942L,0x33799eb57490c9daL,0x1d356f6281588ce8L,
  72323. 0x7dd9bc7fa7b2cee2L,0x1e61a4e8a3cfaee9L,0x00000000000000d2L } },
  72324. /* 34 */
  72325. { { 0xec5db629e9068656L,0x623bd70c9fede4dfL,0xc78ad5bdfcd45546L,
  72326. 0xf7981dd26291a741L,0x3ac53d92761e688eL,0x6a96892a55b9272fL,
  72327. 0x4217e7b806546fecL,0x793c03cbab9e2f56L,0x000000000000015eL },
  72328. { 0x08fd95436eff39beL,0x5a1af07edbff4f68L,0x83d47abdb0241616L,
  72329. 0x37c5d2fdd4798029L,0x9d86d97860b2e6fbL,0xe3e3284ece8db998L,
  72330. 0x9f049eb5d868b9bbL,0x3b3e8a789dad18b3L,0x000000000000018eL } },
  72331. /* 35 */
  72332. { { 0x57026c56e51e61f0L,0xdddbcaa3307f2757L,0x92a026ebb1aeaf41L,
  72333. 0xa33e937ce2d7f5baL,0x1f7cc01ebc5ead91L,0x90ab665d2e46807dL,
  72334. 0xc2a44f5553419519L,0x099c1ca679664049L,0x00000000000000aaL },
  72335. { 0xb561a9098f97e387L,0xf605177845e1dd69L,0x1ffa512b7ff1d6abL,
  72336. 0x42da55a4d09a9c89L,0x5e5a7c71d2282e2bL,0xdfa5a203e74185adL,
  72337. 0x19b1369dea0baeffL,0xa5eef9141ecc0a16L,0x00000000000001a3L } },
  72338. /* 36 */
  72339. { { 0x2af20d0a7a573b81L,0x7eac1ca866194cefL,0xef0d2d8d0b711c34L,
  72340. 0x6aea016cba099d42L,0xa6609d285067a8caL,0x6a52c6007a1351efL,
  72341. 0xdab85818b11c2634L,0xf17fa45dbb1c033cL,0x0000000000000121L },
  72342. { 0x9fb8b87afc3279d6L,0xe30e76abc201f1e1L,0x02af6a83806c21ddL,
  72343. 0xeafd7e2bc63f824fL,0x7b074e2646bd1a53L,0xcd6f4931a2139164L,
  72344. 0xab2cfd39c172d9bfL,0x62f3eb4b4db59cf1L,0x000000000000010aL } },
  72345. /* 37 */
  72346. { { 0xe402de36e0689a1bL,0x9dccc9fd7dcafe72L,0xe4dead7e255d0bfbL,
  72347. 0xd7ee87ee4ada04d9L,0x5a85039ebfd2e774L,0x282c6657770b2b9bL,
  72348. 0xa7aca826ba103bbaL,0xac7028bac7cd5071L,0x000000000000011aL },
  72349. { 0x2e61d39c680c8f04L,0x2f09c4ccb48b3b5eL,0x131609bd95744f3cL,
  72350. 0x6d72e4b4aaccb593L,0xdb7060ca5adfb209L,0xc67d9e431fd3eccfL,
  72351. 0x1487a26fe1752a73L,0x3d95366364d0857cL,0x00000000000001e3L } },
  72352. /* 38 */
  72353. { { 0xe664506b4cec9e7fL,0xa44564b430aab98fL,0x5e1b501f173fa284L,
  72354. 0xe7b7bd7e15c97472L,0xd6cc67a882dec033L,0x1fe2e9340a63b762L,
  72355. 0x3a084e1b3f8e2fcdL,0xccce4da89ae6e752L,0x00000000000000fdL },
  72356. { 0x0797f8eec12fd820L,0x325f892a96da4733L,0x597d241d55997bf4L,
  72357. 0x3aef35ac02b753cfL,0x8a73f95df677cebaL,0x5b2892b7d1bbac6cL,
  72358. 0x90751583cc5278b0L,0x2f5ed53fa47f45f6L,0x000000000000001cL } },
  72359. /* 39 */
  72360. { { 0x3914165eab40b79cL,0xbfb6eed825b489a8L,0xda136b7d8a6c107fL,
  72361. 0xd431db8b8e01f28bL,0x84e5d0dda4d79907L,0x69a91472a471e685L,
  72362. 0x58d0696998376ff8L,0xce369b74c46311fdL,0x0000000000000006L },
  72363. { 0x6c0773d11add1452L,0x2e4e9c95ed8e9a2aL,0xe8ff8e32ca15a40cL,
  72364. 0x3fcb7d36af62f18fL,0x2ca336eeeec9484bL,0xa4d6e7a93b20405bL,
  72365. 0x6d90d031956d8352L,0xdd375603d9ca03e7L,0x00000000000000e5L } },
  72366. /* 40 */
  72367. { { 0xcc5f297d8b481bf7L,0x06a2a3e42a13383cL,0x9e14528cdc40b96cL,
  72368. 0x9a2bf35f1189da3cL,0xb8adb9896cd57fa7L,0xc1a4935c9357d32bL,
  72369. 0x51fb2580c2d76fadL,0x98721eb424f23de1L,0x00000000000001baL },
  72370. { 0x8c02daaf52a4b397L,0xc3c5f4cc0d0b4e54L,0x29be4db37b7e79cdL,
  72371. 0xf34336ecb33970b6L,0xed3dcb7c92808c7fL,0xec290eff02288db1L,
  72372. 0x2a479d51e96ed59aL,0x9d7ed87076d8fa5fL,0x0000000000000092L } },
  72373. /* 41 */
  72374. { { 0xd8edaf0be660043cL,0x84aa2ccb016e074dL,0x9d2368e7e2cc3b3dL,
  72375. 0x47b501305c269fc4L,0xd0194ee13de33e36L,0xdb3361b9789ca504L,
  72376. 0x8cd51833984db11dL,0xd5b801ecc8ec92f0L,0x00000000000000c6L },
  72377. { 0x33f91c1547ab9887L,0x2f285e2a6b5ab011L,0x9b734e5a133fc818L,
  72378. 0x5c435a7438d8692cL,0x3c92b47c43282e81L,0x191231f59c7bcdaaL,
  72379. 0x3ae425c34d158c86L,0x7f568febc5a23ccaL,0x0000000000000011L } },
  72380. /* 42 */
  72381. { { 0x8ccbd9d5bf5caa87L,0x17bfc60f68dd8c9dL,0x63eb4dbbc7d4dedeL,
  72382. 0xbf6e59458270b5bfL,0x887137a5cc098fe7L,0xca5eb68705d7b8f5L,
  72383. 0x4b7deeee4b25a533L,0x8e045c324a700a6cL,0x00000000000000efL },
  72384. { 0x160c1c9270cf52bcL,0x4bf3f63a90cc6298L,0x5fff421cbf3028fbL,
  72385. 0x0a8102d7523beff1L,0xff3309a38b9ce105L,0x8e9da4d006621b1eL,
  72386. 0x9775f89fcc0a7807L,0x5904486500178612L,0x00000000000000ebL } },
  72387. /* 43 */
  72388. { { 0x8a6664fdebbd33ecL,0x0cf9a660ce5ad579L,0xecd06c0550fb56edL,
  72389. 0xb4ca5fad1d5aaa6eL,0x36daee5b948a7f07L,0xd2e37887efe1c11aL,
  72390. 0x41f61ac491d2544bL,0x49df70712bffd8eaL,0x00000000000000beL },
  72391. { 0x60e2f1f565acdb56L,0xf2f13c845e5e5bdeL,0xb97fd354e17a0412L,
  72392. 0x8a2867cfd9c93befL,0x9ca9d16b25a957e4L,0x1f55c19b4a18635fL,
  72393. 0x9b3868f58d26ae71L,0xac4480414c94541dL,0x0000000000000000L } },
  72394. /* 44 */
  72395. { { 0x6c1bcf89d4ad38dbL,0x1180f3813d714511L,0x5b4c2759cb70243aL,
  72396. 0x5dd64d63163a716cL,0xbbd2efea13648bdbL,0xa47187f9e4de9969L,
  72397. 0x65de6912e2de8c45L,0xe075f29c4bdad0a7L,0x0000000000000048L },
  72398. { 0x003354745e4dd88dL,0x1828363880577afcL,0xe4b35c01227288f7L,
  72399. 0xd008fd91e68989deL,0x42142315cd3f71baL,0x5cb023ff3e4da1e2L,
  72400. 0x7e6b9c35b5662bb1L,0x143f41657fb04fe5L,0x0000000000000072L } },
  72401. /* 45 */
  72402. { { 0xb06b046c26f40f2cL,0xbd5d246c6cd7c31dL,0xaaa562701953a9b7L,
  72403. 0x5ac929b88f00436fL,0x1937392c21d0660dL,0xd279ed159bd6dbe6L,
  72404. 0x377c4d5ad17c43f9L,0x800eda50b8fcd025L,0x0000000000000179L },
  72405. { 0xb88ddc0b36132f31L,0x6f8f4f012ade73a3L,0x38859ec3203de2b9L,
  72406. 0xedb03814231b6533L,0xad08cd20a14093caL,0xb9f86d445c2be2f9L,
  72407. 0xfd3d9532f6ebc09fL,0x757b58991aef478dL,0x000000000000013dL } },
  72408. /* 46 */
  72409. { { 0x7d9ad100580f894bL,0xb612488ad925e46fL,0x45497e142e5a6865L,
  72410. 0xc86e105317f9a813L,0xd8aa820af8a33541L,0xa67906607a66d578L,
  72411. 0x47df60ae5f758e23L,0xcadd4c90a7f8ab5cL,0x0000000000000107L },
  72412. { 0x356b044f6764ad0eL,0xf69fe0e1250189b3L,0x2deaca625f14db6aL,
  72413. 0xe9f2779f1bd77d54L,0x979911f25cfa895cL,0xd4e94cedb6f19ac3L,
  72414. 0xc353341701af44b1L,0xcac43fff50c727f5L,0x000000000000003bL } },
  72415. /* 47 */
  72416. { { 0x1742951c83c1d4cfL,0xe03791d0b245c34fL,0xea8f8ef69c2dcc71L,
  72417. 0x2ea57a292a310767L,0x255b46bbb12948bdL,0x2adc1e090feaeb83L,
  72418. 0xa0d2d18c449abf59L,0x9e8c9ff5c4a8a689L,0x0000000000000019L },
  72419. { 0xc9f7b9cdeb28171aL,0xefd78403d576987bL,0x58b4f3bf22ff824cL,
  72420. 0xee09b393bf333cc5L,0xebff83a2b01ceb72L,0x5bb34c45220299cdL,
  72421. 0xa3c3e8a066ebf751L,0x5dee07bb49d05cf3L,0x00000000000001a6L } },
  72422. /* 48 */
  72423. { { 0x09a958d6b114257bL,0x729afd41d4975e30L,0x072879b53aae7b11L,
  72424. 0x0791b093edd1ac83L,0xcfefc7d11eb67975L,0x0e54bd37e2675b4aL,
  72425. 0x89a62d7e8d69517fL,0x96f805d8202109a3L,0x000000000000006bL },
  72426. { 0x4815d51757b5f9f4L,0xe5c9e436405b44d1L,0x3442dde0e4870160L,
  72427. 0x953fef951ef6b3f8L,0x919e4cf5f7497fafL,0x24e3cc4d016ef0b7L,
  72428. 0xfc5caa872512eeedL,0xf1ba4029a3bd1703L,0x00000000000001b6L } },
  72429. /* 49 */
  72430. { { 0x2a668435529252acL,0x3da626c074e7b0d8L,0x55080cc1e0be86abL,
  72431. 0x534a53f74ed5dc53L,0xa9eff1400cd41fd0L,0x0e7c945c5674891cL,
  72432. 0xdea4b895ec53b5adL,0xefc67bef15150988L,0x00000000000001ffL },
  72433. { 0x988dc109306033fdL,0x1b287979f36875d9L,0x4d39af26e3c335c5L,
  72434. 0xa47259fd124e29d6L,0x5d60c570c41dbdfcL,0x06224b610cc0d895L,
  72435. 0xa041d4e5eea8ff86L,0x2920e15cae4d8707L,0x00000000000001fdL } },
  72436. /* 50 */
  72437. { { 0x66d15f0ccd67da85L,0xae98b6f45ac54a15L,0x2f05e021f1ac71c3L,
  72438. 0x1feb222647559224L,0x2a2f156166e856dcL,0x65eb14566fb4ba47L,
  72439. 0x34688bd2a29d920bL,0x943ce86ef9d4cb9bL,0x0000000000000061L },
  72440. { 0xb4696218aac91174L,0x85b519ec41dd9234L,0xb7efadf29f0763a4L,
  72441. 0x98517f27712c8b33L,0xa02e7ec3b0538630L,0x46bc45bb1ff3e3e4L,
  72442. 0x46ae896f29496486L,0x2aeb1649ebd2b93fL,0x0000000000000146L } },
  72443. /* 51 */
  72444. { { 0x1f34f41fe8e4d3c3L,0xc80d87ff5bb7e9dbL,0xf0216c0ad910b579L,
  72445. 0x2a24b761b87349aeL,0x054bc5282b0a6cc0L,0x3b4c7029af2d1957L,
  72446. 0x0e4b90e2adbe6cddL,0x8e774f8126060a34L,0x00000000000000cfL },
  72447. { 0x3c7f9dbc2e229950L,0xab11f846d9f82b70L,0x2b7ad9a3f10c05f3L,
  72448. 0x203ead4f0f1820caL,0x51dbcbc8ccbfb332L,0x3bd9caf0066706f1L,
  72449. 0x5a39be2506059d5eL,0x984387c8dcafe64eL,0x000000000000014cL } },
  72450. /* 52 */
  72451. { { 0x708a757f8e011531L,0x7f45b172c3dcd57cL,0xa8eac9fdc2d99e29L,
  72452. 0x9d4ee81fb93b6415L,0xa5833b54a5488e86L,0xddd561c30bb7ab70L,
  72453. 0xb5bda384b3bdf3a9L,0xf909f8e01ddf332bL,0x0000000000000124L },
  72454. { 0xc5b8aa84ab41e782L,0x1de20126851ddb87L,0xf49baa7d99482bd2L,
  72455. 0x05963debf4b6413bL,0xed369fbb7cd1e224L,0xdcf495dd1bad60eeL,
  72456. 0xeb475693892e30edL,0xaaf11bd8af0a212dL,0x000000000000010bL } },
  72457. /* 53 */
  72458. { { 0x7146017416ec64e2L,0xbfd14acf7d7c6ebeL,0x1e3504a3668b7176L,
  72459. 0x72e3f3f3741b041cL,0x651fa54a2d3b67b0L,0x623edca3e57d928dL,
  72460. 0x29b74e8b72c8f419L,0x3d99cb47327abaefL,0x0000000000000038L },
  72461. { 0x808dd0b3da342a3fL,0x12002462def4a954L,0x1b1c642eeab5a860L,
  72462. 0x5e1e2a0506e54b6dL,0x9ba1710f10c6cf1aL,0x334fc3660f903cd0L,
  72463. 0x969e0001134166f5L,0xfaa26074155c4353L,0x00000000000000faL } },
  72464. /* 54 */
  72465. { { 0xc85cd0e6712de285L,0xcd2ff8b0869f5dc5L,0x372a2b92df4ed389L,
  72466. 0x63524d3055b99c84L,0x46fef5a2e07a0033L,0x0a2c82dad6e09493L,
  72467. 0xb362662172a8952bL,0x9afcb188af217eb6L,0x000000000000002cL },
  72468. { 0xd3b9d4769a64c5b5L,0xa0d8d5de44c4cfe1L,0x560858ef11c6dbffL,
  72469. 0xce1d978f41c14aedL,0x251f9e7235efe854L,0xf9d0c14c0474575dL,
  72470. 0x0d2c838ebda89c03L,0xa25f040b36cc9dc0L,0x000000000000016fL } },
  72471. /* 55 */
  72472. { { 0xb23d9dea9cad682dL,0x87acb1b346369391L,0x9f5c19885c0f24d7L,
  72473. 0xdff62fc7d41883ceL,0xd1ab29df53555e46L,0x569b1cb2891cda05L,
  72474. 0xdb14dbc452c633edL,0x1acbb86c2a345428L,0x0000000000000194L },
  72475. { 0xd86a70c824db8127L,0x84a6563f41b7cf5bL,0x8d84dabeb908d9b4L,
  72476. 0xaaeaae63899c260aL,0x13ed6b2b44436957L,0x3bc94f99d0a92c8dL,
  72477. 0x978f2e2bd04bcb97L,0x56a388ef716a565fL,0x0000000000000074L } },
  72478. /* 56 */
  72479. { { 0x6082dfe496fc1f77L,0xb04c435f1347ad6aL,0xf42694dc25ebe457L,
  72480. 0x64a17069b6f764aaL,0xe03873d504d83da1L,0xb0b9db52e0c82330L,
  72481. 0x9886b34ed4239b3eL,0x76587f2a598814daL,0x000000000000016aL },
  72482. { 0x6918f8e8ebc71a5dL,0x49141a4285405233L,0xd63f09ccc182cbccL,
  72483. 0x4afe59d3e09057a7L,0xe633db0de239d8ebL,0xbac8582dfd9494b2L,
  72484. 0x8b915a414704fd61L,0xe0866a9dfceaefd9L,0x000000000000010eL } },
  72485. /* 57 */
  72486. { { 0x2b50c47052e07a4dL,0x7f6d38b8e5d745d0L,0xb414c47ce1af1226L,
  72487. 0x03e4b44b39c505f7L,0x59f3d79586f739beL,0xca19bca7e7c2f1bcL,
  72488. 0x1c51c01ec063fad4L,0xda3937a57f428afbL,0x0000000000000080L },
  72489. { 0xe9d8ca9d102369faL,0xe009bffb706c0e35L,0x2e0a19a796b55d80L,
  72490. 0xda0e42deac0d094cL,0x6c1be2c5787c187aL,0x6d4ae2cc9cfa04b6L,
  72491. 0x5b0cea6076577340L,0x2d525245c7c96285L,0x00000000000000d8L } },
  72492. /* 58 */
  72493. { { 0x6dcb238cae93de69L,0x4963c8333bfdae9bL,0x33c81f4de8b79836L,
  72494. 0xe13a2244ae8bf8aeL,0x0bc6e7864c3ebaccL,0xa837a53c555a5ad6L,
  72495. 0x875d8d35bc7e9459L,0xb3705534f9f46fcdL,0x000000000000001fL },
  72496. { 0x78e9270c7fb974a1L,0x23448fa0e9ed2481L,0x14166c3d64bffbd4L,
  72497. 0xa05aa443d79f4b3cL,0xd855a4f13b9f32a0L,0x4bebcf8dac90235eL,
  72498. 0x658499878db52b48L,0xaa4d59f1e48d09d1L,0x0000000000000183L } },
  72499. /* 59 */
  72500. { { 0xee585d75dbffad9fL,0x64df6174f419d8fcL,0x6f73bf59e6c69345L,
  72501. 0xb80793d183d59b0cL,0x6baf4fc3929c8950L,0xbd445a9529962babL,
  72502. 0x52b61945eaa91273L,0x4fccdfff3d1c785bL,0x00000000000001beL },
  72503. { 0x05c384d97cb2857fL,0x4cf8305806b7abf4L,0xf528dd1743ace6b2L,
  72504. 0x2c7b8fa2bc43d6b6L,0x8f0e28bf14e564b9L,0x1b69bc73d2b9f01aL,
  72505. 0xab8beb403dd383e6L,0xaccea0c59791946bL,0x00000000000000aeL } },
  72506. /* 60 */
  72507. { { 0x9a68baee0163c2deL,0xc42d0b2beb2768a4L,0x5686f124ffdae767L,
  72508. 0x926da5d50aaca943L,0x699c34cee01091cfL,0x3d2545405324becdL,
  72509. 0x1b6b58f14193a0a9L,0xf144925ed611cc9dL,0x000000000000014fL },
  72510. { 0x7f61a60cc1ed9259L,0x1be37aa32f1d5a7fL,0x0384713d07aef431L,
  72511. 0x99f33d494e6fa7baL,0x43928c168bd3730cL,0x73cf8ccf5b9557dcL,
  72512. 0x0bc6d460d1a2bee5L,0x27cd194383b15610L,0x0000000000000145L } },
  72513. /* 61 */
  72514. { { 0x4be651353427af4eL,0x2e6c0bb1310d937dL,0xbd8ea76acaa671c3L,
  72515. 0x9d7b3fd4d3a9c376L,0x124ce863471709aaL,0x225ce41d018051c0L,
  72516. 0x5489284ff9e8ee1cL,0x22d829c9535c4ec8L,0x000000000000013dL },
  72517. { 0x6b01ed9da1b15e02L,0x1d092bac301e5868L,0xbfa7a1835764135bL,
  72518. 0xc0ee59b76f7159a4L,0x9171a05118090d0dL,0x5c1531bbb8052196L,
  72519. 0x740930fc20927904L,0x963b48cc76337685L,0x0000000000000008L } },
  72520. /* 62 */
  72521. { { 0x0fe8b620f4aaaed5L,0x1068de7dfe871ee8L,0x2b22030ffebfcb4bL,
  72522. 0xd4dfbee7c3a2155bL,0xa7a26a8c2769b805L,0x377de7706d39eaf0L,
  72523. 0xf1a92447f615f032L,0xa1b81a8442d9b731L,0x000000000000012aL },
  72524. { 0x299e67d0b1152e8fL,0x2e773d9792b5e14cL,0xe0d81073f1cb57a2L,
  72525. 0x03af0a9cbf1da4a2L,0x169b160ec22b449aL,0xb82c1ac8dd2d7d1dL,
  72526. 0x7508aca6bfc98ee4L,0x54992440e3cbea15L,0x0000000000000150L } },
  72527. /* 63 */
  72528. { { 0x70004a0aa13a4602L,0x505c71a3d0d2c60eL,0xa4fe2463a6d79bc5L,
  72529. 0xe878eb3ad54d9df4L,0x7ecca90773d3c7b8L,0x5b3bb278244ecfa5L,
  72530. 0x8a30f61fb124d179L,0x5b7e50014f632af0L,0x0000000000000115L },
  72531. { 0x62c42ecc9ef0021aL,0x58017fd7f856c9d4L,0x10e243b82e6478bcL,
  72532. 0xaf0746691505a4dbL,0xd9bb0a1c4cd7eea5L,0xe8ba39a2d52aed0aL,
  72533. 0x0747449ab549f09dL,0xd5c8f7bd9e57fa64L,0x000000000000013fL } },
  72534. /* 64 */
  72535. { { 0x1bd8ce7b5a53c22bL,0x78733fcd7cab446aL,0xc44ca4e248acb394L,
  72536. 0xa9888b1ea38c790fL,0x36afb6eb15c34237L,0xb913b8a8fb702063L,
  72537. 0x34b77cc5917508faL,0xa931d7a7f9e4732bL,0x0000000000000050L },
  72538. { 0xa90a429056d21d18L,0x8266630755b410a1L,0xb4684a8b894a6b05L,
  72539. 0x8a1ade63828cf75cL,0x4fb2f85a127702a3L,0x83ff7d05adf7b709L,
  72540. 0x1d3f5a92a68d1db6L,0x243ce1dbc093cd5cL,0x00000000000000f5L } },
  72541. /* 65 */
  72542. { { 0x8fc183c3d37d7891L,0x17b50149fd865ecaL,0x0f6e43d68f218441L,
  72543. 0xaf51ec255a07f658L,0x8fe5a6cbad303202L,0x95de68f310676ef5L,
  72544. 0x7508e31fca4e000cL,0x783e5a9577735254L,0x0000000000000159L },
  72545. { 0xbc1db5712e537ad9L,0x5e87112d35be9cf7L,0xbb522b48d57f9bcbL,
  72546. 0x1eff7890a8b3cbc7L,0x4f306e11e5ecdb5cL,0x30da83923387e7edL,
  72547. 0x4d91fcf472321e3dL,0x8487bb62e412a67cL,0x000000000000009fL } },
  72548. /* 66 */
  72549. { { 0x86f5f80f8cb8e08eL,0x7cfd2c412496fed6L,0x0061b74360b7dcdfL,
  72550. 0x4dbaffdf57f4d05fL,0xb1993c2a458061f2L,0x6c6ca8d09de994c4L,
  72551. 0xef70d24d2747e062L,0xd4e5d4e3b9995cbcL,0x00000000000000ffL },
  72552. { 0x3171e245c6f40077L,0x1592e0450723e506L,0x35c86f7e6a6bfd88L,
  72553. 0xba0959d16d9d9ce0L,0x2e7f8fe83eb5770cL,0x58eb0881c40d63ddL,
  72554. 0x56333bdaeb9e4419L,0xfb0397df3afd1f4dL,0x0000000000000034L } },
  72555. /* 67 */
  72556. { { 0x7b84e05eb358815cL,0x3abcb2d4e41087d9L,0x87a7588907f05d7aL,
  72557. 0x350778d57a9d481cL,0x9d34cff842d64cbdL,0x0859cd5accf289feL,
  72558. 0x8372d591dd2b2c6eL,0xc06d482e18b40b62L,0x000000000000006bL },
  72559. { 0xd10695a0da4ed375L,0x51baf588298daaeaL,0xb028a1b4f4b7092cL,
  72560. 0x8ab87dae7a335b35L,0xa73593620567efd8L,0x7a49fc103320c374L,
  72561. 0x737acac4a3558b30L,0xd30696a34c0fce9bL,0x000000000000001eL } },
  72562. /* 68 */
  72563. { { 0xd9550ab0bd3902feL,0x9bba4b4b86a9d3b3L,0x3a59e0a9975cac37L,
  72564. 0x045e8731333605dcL,0xf2c598c21afc2c58L,0x81ff8d6feef9cbf1L,
  72565. 0x82bed5d09bf83c42L,0x9d1d9d5b528131d5L,0x0000000000000157L },
  72566. { 0x687da3055519258eL,0x73f539f9027de2a8L,0x69fa9747d6a230d6L,
  72567. 0xab1aeb235f5d1684L,0x5bbfe9475f7e41f5L,0xbd546abb16a7feb3L,
  72568. 0x2afbd4e8e16d5187L,0x7437be13bcc953ddL,0x0000000000000160L } },
  72569. /* 69 */
  72570. { { 0x55f165a9ee9755a3L,0x0c8d5a1ab82c9ab1L,0x65a1e45aab6b97e6L,
  72571. 0x3004cdb0ab05e271L,0x9e0c3b526db0830fL,0xaae1ec1a75acbdebL,
  72572. 0x413d4484761e8498L,0x589e09bbb1b9c62eL,0x00000000000001e9L },
  72573. { 0x675120819c72258dL,0x61dcd7345c1593d4L,0x6c627a7b91c11fdbL,
  72574. 0xd1d3e9bf8857908eL,0x9aac06fe530bc68eL,0x125c16bb6b5b44ffL,
  72575. 0x38860bb6db90edd5L,0x96fe8b08fbbedb5cL,0x00000000000001aaL } },
  72576. /* 70 */
  72577. { { 0x323a5dd8f257c0f8L,0x4884dc92dd3a10d9L,0x03f379cebbb8ce03L,
  72578. 0x6217ad53a47262a9L,0xa1df201752e06c6dL,0xf5b723e0c32428cdL,
  72579. 0x1e5d38892c30c62cL,0xd9a90f1f477f82ccL,0x00000000000001fdL },
  72580. { 0x830d27ba1763ab59L,0xcf27d93e723783e9L,0x81558264945968aaL,
  72581. 0x63251a321700d5d5L,0xcf6bbe7303146d9fL,0x6cdcf455e65bf0f2L,
  72582. 0x80aa00ce632323fbL,0x6e49e62cd96a4744L,0x0000000000000149L } },
  72583. /* 71 */
  72584. { { 0xbeff0b7e40574c09L,0xb76f26433fe80e96L,0x0b3bd352eb237d91L,
  72585. 0x3c0c62b77edc3102L,0xf989394b424a36dcL,0xe9ea64c27c6c435eL,
  72586. 0x2dfc21c4e388d076L,0xcc3852f6a4e69e4bL,0x0000000000000139L },
  72587. { 0x5238a3ffbb096b91L,0xee72c9e573d8d43eL,0xc116db118c577558L,
  72588. 0x54ec89d2dc47d4b4L,0x2006dd3542e1955fL,0x004aed6a7437475cL,
  72589. 0xc1ddc32a2bee9041L,0x597417a2ed9332c9L,0x00000000000001fbL } },
  72590. /* 72 */
  72591. { { 0x3c0f1981859bae66L,0xab48e9b1845d7c1bL,0xc6ce9c03452a3c1eL,
  72592. 0x2384a00cff810339L,0xcd7ede115f98d6feL,0xf7a00e3d38a0dd5bL,
  72593. 0x56dd948a3c7e1c06L,0x9d21a7d18e53a61fL,0x00000000000000d0L },
  72594. { 0xf9cfdbaf880eb3fbL,0x64cfd2975e83f7c9L,0x61ba7d6fa28a74b4L,
  72595. 0xb8200d5fdfb13e03L,0x03bc8f4b232a6128L,0xd1fb92c281a8d86eL,
  72596. 0x68675fae706d6ea7L,0x9b08608aefab18c2L,0x000000000000011dL } },
  72597. /* 73 */
  72598. { { 0x17cf6146bbd2f539L,0x96052fc076e26ba2L,0x36821d18d4be4a67L,
  72599. 0x8f8234229f3f39a8L,0x68b846b9433f873aL,0x7a1d3f36716f4568L,
  72600. 0xdf603e282fd47750L,0x77cb02c56975e226L,0x0000000000000003L },
  72601. { 0xf275add38c01dd59L,0x9c213a9eb9c1a37aL,0x690ad1044dfc5403L,
  72602. 0x202ee20607ee0d86L,0x896ede95661fc40eL,0x6b4d7398d0b02f56L,
  72603. 0xccb96991e5af1a24L,0xd5c281afc13f7125L,0x000000000000009fL } },
  72604. /* 74 */
  72605. { { 0xc858c54bd7073a5aL,0x87c81a5c861eac7dL,0x51f84a39e720201aL,
  72606. 0x952a9f8e40e003ceL,0x76bdc4ab58f199deL,0x1cf12322d56cc02bL,
  72607. 0xb6634e6383f162f3L,0x84c017ee8f969e11L,0x0000000000000169L },
  72608. { 0xf1f433625c89f1faL,0x4a02a630b697b078L,0x33311e5c4b05b7f4L,
  72609. 0xa7ccae514fede4ccL,0x0d26e8744b025aa4L,0x7d5b77bbf84db7adL,
  72610. 0x39ef1aa8f571c1feL,0x65eba928418ccd20L,0x000000000000018dL } },
  72611. /* 75 */
  72612. { { 0xa37866ab8abb2537L,0x14ac4cbb65b3096fL,0x827fa7ed2a428ad3L,
  72613. 0x95d19f6210e9e196L,0x31eb97a089801b4eL,0xaae77a62aae8b823L,
  72614. 0x9693d62a5f5c9642L,0xff5bfe973e368b84L,0x00000000000000adL },
  72615. { 0xa3efae21492b0deeL,0x2143e9ee9602c2ceL,0x21367c996f3b99e5L,
  72616. 0xdd78b2b0e93b8f59L,0x8d541c381064c13eL,0xe6b970daf5738e7aL,
  72617. 0xaf6ecc168373b1a4L,0xdbfa3f4f74ae208fL,0x0000000000000180L } },
  72618. /* 76 */
  72619. { { 0xb024621a907a6aa0L,0xef56cb68407879f6L,0x44c38b688168a934L,
  72620. 0x70d638d39b9a9048L,0x6968caa082541f20L,0x0c5970531fc88b50L,
  72621. 0x5564ded5af635784L,0xe7e898c7c4d494cfL,0x0000000000000097L },
  72622. { 0xe1dc98d96b6ebb2fL,0x292a17fc7aa9e126L,0xb60f0fdbfa2a2c68L,
  72623. 0x9c63270cb2e1851bL,0x898db26581ca4cfeL,0x94082638b11959d5L,
  72624. 0xe44f308ea54b8d19L,0x96399eb844e63094L,0x00000000000000d6L } },
  72625. /* 77 */
  72626. { { 0xfa00f362b83769eeL,0x72d040ac3efc4cb3L,0xc393388957abd687L,
  72627. 0x62264425940a7128L,0x909c4c8fec242a31L,0xd1e48f1e65a1a551L,
  72628. 0x68bd70f1049c2172L,0xc8692d2b709b7fd4L,0x0000000000000041L },
  72629. { 0x4e388aa1df816784L,0x4a58c8a501be75ceL,0x9b49dffb02a67812L,
  72630. 0xa73299e0eda721e0L,0x8a0bd1f5e67a65ecL,0xd81e91e8856c71b6L,
  72631. 0x37aee2f4c005aa30L,0xd94007500595bbf2L,0x0000000000000073L } },
  72632. /* 78 */
  72633. { { 0xa912ac4a010c0ef3L,0x0e654bd84e81b1a0L,0x8f0563dc4f353509L,
  72634. 0x10dc41f3b47d189aL,0x122edd06f238c09cL,0x224c16afc41acf67L,
  72635. 0x1ccb933483758520L,0x1a4b5f292275ae6fL,0x0000000000000127L },
  72636. { 0x792fd4733ce688b5L,0x14566d37dca9c68bL,0xfce9326e541711d0L,
  72637. 0xe3ba14ee3cc341a8L,0x6b8ab4cc2122c11fL,0xc0fa763bf5d379b5L,
  72638. 0x95e2d2aef1522f91L,0xd4e21b3d31cf95a5L,0x00000000000000acL } },
  72639. /* 79 */
  72640. { { 0x4013a7791d8e061aL,0x62707e70acc84a30L,0x6ac08266eb2f636aL,
  72641. 0xe917ea2177b25c9dL,0xddb78bbd70ff35cfL,0x5008db2b041898beL,
  72642. 0x0f58a4fcce0ae445L,0xed0923972257d0e7L,0x0000000000000043L },
  72643. { 0x2cad77b3e2e129e6L,0xfb8c4a870f1be4d7L,0xaee50dff20056333L,
  72644. 0xbc2658c12a691543L,0x95dc0ccab8fe2640L,0x694eb5841965a0afL,
  72645. 0x7d3baa53edd1d99eL,0x2df13b208a1edc87L,0x0000000000000083L } },
  72646. /* 80 */
  72647. { { 0xfead2247d181c3f2L,0x915d35bef337b23fL,0xdb4cfcba74890672L,
  72648. 0xe4f70d8ffda7a3a1L,0x226b641979275686L,0xe80408636ff1f79eL,
  72649. 0x98e84b39cf5fa4e8L,0x57aa0be9d8a09f60L,0x00000000000000daL },
  72650. { 0xd40cecf54efcea66L,0x98df2aecafc76faeL,0x63f19a48c91585a8L,
  72651. 0xb111bda713f00aa5L,0x6687afab44b5cb9fL,0xc6d5fb12652620d1L,
  72652. 0xaf953f1bbacb35abL,0x99709370ff94c4d2L,0x00000000000000edL } },
  72653. /* 81 */
  72654. { { 0xac9f56e068b54c89L,0x08ecc17dce737c22L,0x208ee83fab089b53L,
  72655. 0xb0f3a129543fbd1bL,0x1b204cf8844dd706L,0x80975c89dec2e40dL,
  72656. 0x08b011ae9399914aL,0x6b4ba17074674df7L,0x0000000000000017L },
  72657. { 0x71216ea98fdfc175L,0x77b7fc637e0f5b0cL,0x88d0285fceb33a34L,
  72658. 0xb679814f0223eab7L,0x9078720b51c6d922L,0x5859d5a49c13f51dL,
  72659. 0xe69f850bfaed60b5L,0x2499a8446d0ccab2L,0x000000000000005cL } },
  72660. /* 82 */
  72661. { { 0x41d581fb73e7bcf1L,0x16dde61cdd3c17beL,0xc62997ecfa199fd9L,
  72662. 0x1a758873c159db97L,0x4ed7789664132830L,0x9672ce892942a918L,
  72663. 0xf3ee4587816ba4bbL,0x4fb7a148ce54dd7fL,0x0000000000000123L },
  72664. { 0xf05d80aff009be8cL,0x62e938d778df1ba1L,0xa7e22e84312de620L,
  72665. 0x48d29e7f6070c4b9L,0x5cd9c3eba1b5da37L,0x1e51bd2fa4717453L,
  72666. 0x94098ab056ab9e67L,0xbb584abc49f7c6a1L,0x0000000000000049L } },
  72667. /* 83 */
  72668. { { 0xa9f255301ea470f7L,0xa01bf808e9254e30L,0x098569ea71a0038dL,
  72669. 0x0d2b2ee15913ca87L,0xae17004bb8281fdbL,0xdb5c6eb0118e5c2aL,
  72670. 0xa56ac64c1fa943abL,0x1aaf64771a92d501L,0x0000000000000053L },
  72671. { 0x9679ef4906345730L,0x946aaa4e846f37c2L,0xf81726b01a7c3aabL,
  72672. 0xcb808da28166df4eL,0xe9fb3fc24e04dc3eL,0x9e0b61db76ec19b4L,
  72673. 0x6e7f665eeed6d13eL,0x70ed8c0786a75384L,0x00000000000000e5L } },
  72674. /* 84 */
  72675. { { 0x66456e58108ce13fL,0xb5bfc58d0e397813L,0x04b6a84bea3949e9L,
  72676. 0xea9b66bc75af667dL,0x7cb4d6dca891566bL,0x1b3cecf0bf61595aL,
  72677. 0x4312c73d002e2520L,0x81d768986135a5faL,0x000000000000014bL },
  72678. { 0x4047bc25841078ecL,0x75aa9c96179c454dL,0x6a1606094851f8fcL,
  72679. 0x998d4e3ece34091fL,0x9a9f670488e54102L,0xbf280f885da8ac5eL,
  72680. 0xc64caca08fec230cL,0x0ac864b05094b775L,0x000000000000002bL } },
  72681. /* 85 */
  72682. { { 0x6b606e398f5daf7fL,0x4838548910927506L,0xa2255c5c08c58a72L,
  72683. 0x2f362fd0c90f3ee3L,0xc9633af408795f02L,0x71710bd10425f5aaL,
  72684. 0xc2017e05ec06dbfbL,0xd9c7dc82c1b8bbcdL,0x00000000000001c8L },
  72685. { 0x7db41fdf18b8bed9L,0xe9483308e3a23125L,0xbcf91de77291c4bbL,
  72686. 0x9b0b972b41448aafL,0x95dfc633c44da462L,0x90b9c46301bf50a2L,
  72687. 0x18b66f77869e3131L,0xa8a4e2fa121baad9L,0x00000000000000f5L } },
  72688. /* 86 */
  72689. { { 0x8ca55109ca0251eaL,0xf2aeed8b27a6c9b0L,0x901a8beb5620f528L,
  72690. 0x9a8421e8ae13fc56L,0x1349f1c485993c07L,0x29e083590d1ab0d7L,
  72691. 0x96e2929baeb5d909L,0x96c2f1f8f599a66fL,0x00000000000000ceL },
  72692. { 0xe4bc4b5112be8bd7L,0xf4846a0f3c67e99bL,0xd89cc7d34d3a3864L,
  72693. 0x1f64711273f43981L,0xc32bc32426dce567L,0xf7134ebff02b096bL,
  72694. 0x5604f00b0d0682b7L,0xfd23d7eae3ce8b59L,0x000000000000011cL } },
  72695. /* 87 */
  72696. { { 0xf89646cca27689a6L,0xd6a7dc435564172bL,0x30bda48eb57cbfccL,
  72697. 0x9b11fffb5b1adfe5L,0x9f2d80db711d8bf4L,0xe879fdf0b70e5a5bL,
  72698. 0x975341836bd18a1dL,0xc8c526bd8cbfd504L,0x0000000000000114L },
  72699. { 0xd5fe725bef7388bdL,0xf1c3dbdfe7ffaea7L,0x78395b897e6de2acL,
  72700. 0x81a72c9a9ebf1bfbL,0x6526570769785146L,0x3925ecd9f52670afL,
  72701. 0x437bcdd283d57d48L,0xb5d732a7c80ecb02L,0x00000000000001ceL } },
  72702. /* 88 */
  72703. { { 0xa7f9fccecfd376d7L,0x6b4eab3ea66b084dL,0x6ac90d08d5b91bd8L,
  72704. 0xaa3d5b7e8aa304d8L,0x27f3d42b7f866a4fL,0x95d19fa8bb813ae1L,
  72705. 0xd38798d7e34a9206L,0xdf7c0a69a32c1cddL,0x0000000000000073L },
  72706. { 0xbe2c01bb38315b16L,0x1daa7c899e18c8f9L,0xa3d43fb408b6b853L,
  72707. 0xb159e48c68092a81L,0x77e93d9e836faad4L,0xd4ed6361a4699730L,
  72708. 0x569cb3f66297e476L,0xb69d8183e7811fa6L,0x0000000000000185L } },
  72709. /* 89 */
  72710. { { 0x18f27eb3ab9cb764L,0xbbbefc218ebc1d6dL,0x47760ddb0479aa79L,
  72711. 0xb4d16d2409e542f5L,0xe35c38d1bc699b96L,0x13b2ae258c8d8c8aL,
  72712. 0x8579c15267a3a45dL,0x773b73576c554c04L,0x00000000000000d9L },
  72713. { 0x9620a4730218c299L,0x69be29b399f78a33L,0x4684a009484f414fL,
  72714. 0xb2c749379a2ca4d4L,0x09c0773e68db7ab3L,0x6181f059935c357fL,
  72715. 0x0931303d8b7de3f2L,0xf3effcd0e0fb6e08L,0x0000000000000060L } },
  72716. /* 90 */
  72717. { { 0x723c14beb25d6530L,0x5e015b399a97d40fL,0x209c3c4bfbf7f622L,
  72718. 0x83d8c59c14b4f0f1L,0xcf002fde3f7e8ecfL,0x35d353c91eb1ef0fL,
  72719. 0x394c42a5201f0c60L,0x787128ab7be8ee34L,0x00000000000001b5L },
  72720. { 0xa0937d3ab70110cdL,0xe0fa4efc477911b5L,0xc6acaf5bc53a4c19L,
  72721. 0xbd3010f338d509f2L,0x3ee2a82be54ac1c6L,0x31ea67c3e4f2a3bfL,
  72722. 0x7a4ca66ef089c7b9L,0x5bda2c4f34a2362fL,0x00000000000000b0L } },
  72723. /* 91 */
  72724. { { 0xb424a071d1f575cdL,0x15693b01a5237182L,0x141336029a2c9d40L,
  72725. 0x50c4348b9c914a60L,0x9024573d095b31c1L,0x6f975fd222fd4962L,
  72726. 0xa1704886e210b277L,0xac29b8136dba937bL,0x00000000000001f6L },
  72727. { 0x09edef55775da491L,0x25953f9e2b6aad82L,0x6696a1061bb40d5bL,
  72728. 0xcfc453114d5127d8L,0x2f21dca981ead062L,0x3f3e4f07af3b7123L,
  72729. 0x12cd06b89646f20dL,0x241363696910f5bbL,0x000000000000015eL } },
  72730. /* 92 */
  72731. { { 0x0c844fd03ecfc44eL,0x4095f2c85043b3d5L,0x9a5fe7dbc9bd059aL,
  72732. 0x239328faf65becdfL,0xe3102471a67961cdL,0xea9e39bfbbb5dfddL,
  72733. 0x8022b6d0133dc5baL,0xbed7aa9b5f12c379L,0x0000000000000141L },
  72734. { 0x096f0059fd94d941L,0xfc6e9f007d4ff018L,0xe63af598779f05e3L,
  72735. 0x4c40f0b300483c99L,0x04d2feef72a19870L,0xdb773b5b464a4a71L,
  72736. 0x00b6770f49367f1eL,0x4f7e03012a9fbd2aL,0x0000000000000169L } },
  72737. /* 93 */
  72738. { { 0x0df5dd738a9095fdL,0xc4b7a021d3ce857aL,0x90aa796be5edc767L,
  72739. 0x56497eff180a0808L,0xb9856e1f66f10aabL,0x3129882439879766L,
  72740. 0x61748cf73ba80601L,0x07d9076c555da929L,0x0000000000000012L },
  72741. { 0x0b049a011c44394dL,0xf5f25ef70ce49e45L,0x1e3a09f0b1694265L,
  72742. 0x2c5bd9fe109b33f8L,0x07f2a43fa30932e4L,0x736abfcac6cf8af2L,
  72743. 0xadf7fa04f3366722L,0x2f1e92fbfa9d26b0L,0x00000000000000e0L } },
  72744. /* 94 */
  72745. { { 0x9524e4a663be4d4aL,0x1fa57bed66f3cc91L,0xdd7c93fa7e7a7ccdL,
  72746. 0x70e8cf6a88c5d1d3L,0xb257997a3f251f1eL,0x0a5ec58ee3554cf5L,
  72747. 0x68d268d7065a7109L,0x7c23d4d2085089eaL,0x000000000000004cL },
  72748. { 0x63ae575bbd52d132L,0x0fb8daa738c81cc5L,0x096a6e51e4e63b99L,
  72749. 0x51d6b366b239d387L,0xed5f8874a5d49fedL,0x025091d943a8c07aL,
  72750. 0x100f845ae4686ae2L,0x1af59d747eb4ef5aL,0x00000000000001c2L } },
  72751. /* 95 */
  72752. { { 0x5f7bc01edd441308L,0x0dc3494486308890L,0x2af38a74759611cdL,
  72753. 0x11a712614c23ce66L,0x37f317b5f8bafed2L,0x4efbb9ff4c93e079L,
  72754. 0x880f0edd8ecc52cfL,0x480cdd2cddc9d82aL,0x0000000000000028L },
  72755. { 0xe8f1ca0dc3f807acL,0x6a3e4fc2bd070549L,0xad3d0a1491f8bb6cL,
  72756. 0xe3ee1cfd3d6dfacdL,0xee46b1b95fb46ffbL,0x5207b3ac7dd5cfbcL,
  72757. 0xd580c0d9b1b8e8b7L,0x52c669f4c7bdd11aL,0x0000000000000084L } },
  72758. /* 96 */
  72759. { { 0xa42b4747c0ace6d5L,0xd5acb64bbe7287adL,0xf330489989bc2614L,
  72760. 0x817fe836ff05c71eL,0x772eb246d35ac450L,0x7f5fc216375a9c3cL,
  72761. 0xfb6f9e1acbc0d6fdL,0x7643c315720e9733L,0x000000000000009aL },
  72762. { 0x4b2216b4f3845ccfL,0x9c174e8090bc05bdL,0x7a550c74d6049037L,
  72763. 0xbd7220a16358c806L,0x838f9c41aa677b6dL,0x37332c1966e2e08eL,
  72764. 0xb032875e496f6da5L,0x52b274cf9c30630dL,0x000000000000000cL } },
  72765. /* 97 */
  72766. { { 0x6ec2e7828ea58bebL,0x2b404c1d3665fa48L,0x546d5fad20b40ff0L,
  72767. 0xfb5df7b629d3e6a5L,0xf186846d66c81991L,0xbe690bde6e2cfe3eL,
  72768. 0x97aeb9a01410d16bL,0x59d81548bacc8e92L,0x00000000000000cbL },
  72769. { 0xd905d3adbaf66a23L,0xc333738740dfb081L,0x6d5535de4b00f432L,
  72770. 0xe17fe8e807d3a03eL,0x29544ff7066bca80L,0x60c2b96cbadffa55L,
  72771. 0x9f018d9445a26ea4L,0xd543816724a34ffcL,0x000000000000011eL } },
  72772. /* 98 */
  72773. { { 0x62a873fbbd7f8a61L,0x5e18cd71bbe580bbL,0xfd5c9eb3667f6980L,
  72774. 0xab8d4f61571d3dc0L,0xe2e45215783f9bc8L,0x36c3774b24398b14L,
  72775. 0x2db4a36374d811b5L,0x9f7f12972debe3c3L,0x0000000000000138L },
  72776. { 0xbb97f21c798fefb2L,0x9c76fcb5107baa72L,0x12fbf760fadbb568L,
  72777. 0x1a648be7d33ea6c5L,0x412a2993236134a5L,0x4a3d81698985893bL,
  72778. 0x6144958f3e66ada4L,0xb4dfc79b7687b457L,0x0000000000000140L } },
  72779. /* 99 */
  72780. { { 0x83b145707abe5bb9L,0xae0cbfd8e51d81beL,0x20dadf49c9827affL,
  72781. 0xc3a72548a687b554L,0x080263fbeeb41733L,0x7014fdc3d3827c63L,
  72782. 0x7d018f84b5e3b70eL,0x1d483e00fbcf7168L,0x0000000000000015L },
  72783. { 0x154e3c7c6b578aa3L,0x511ce9b5d3043daeL,0x55f89e9bb6008101L,
  72784. 0x4ec31112f405ac6fL,0x7e66a4d82008ac7bL,0x73c00d3925c52fa6L,
  72785. 0xee1b99988acac2ebL,0xdfa31d9560b57453L,0x000000000000008fL } },
  72786. /* 100 */
  72787. { { 0xcc74a0e0251cf8d8L,0xd4d8949d041f2bd2L,0x0b734a4933ebce52L,
  72788. 0xe1ac5f515c5bcdaeL,0xd3ecdfcc16200b93L,0x2506a266a793736eL,
  72789. 0x585a1c8bea6e6940L,0x081cdd539190f935L,0x000000000000000eL },
  72790. { 0x055f995653e28412L,0x0d1526f2db27164bL,0xcd5625eb1df3adc7L,
  72791. 0xd2c453cadd35deddL,0xed442849a838ffe2L,0xad20c1375c0ce589L,
  72792. 0x2d5fba81bd99b609L,0x5be41dcc622efb07L,0x00000000000001adL } },
  72793. /* 101 */
  72794. { { 0x563af6678f850756L,0x86d37aae52f3b597L,0x10d38a53796842f5L,
  72795. 0xcdaaf99ff743f997L,0x2fa755e593f1a8baL,0x1af04e15409f7cd9L,
  72796. 0x63bf9a0ad6d0650bL,0x67b1cead55abfd9aL,0x000000000000000eL },
  72797. { 0x3660a8e0b5f43178L,0x56bd412d9cc35b33L,0x3d7bfa63880f6808L,
  72798. 0x7f372d662e622c71L,0xad7b7be76ff82445L,0x0f2bde808db04e51L,
  72799. 0xe1e781fe4bd15c8dL,0x1f475bfbb8e502f2L,0x0000000000000194L } },
  72800. /* 102 */
  72801. { { 0x79482bf9d63543ecL,0x985cb67ca117ef3eL,0x8ac50638160ccc63L,
  72802. 0x556cbed5729bdc1eL,0xd62ed97da22686dfL,0xb124cb5fc81eb77cL,
  72803. 0x4d7b4f6672fa2ed9L,0x60b29aa778335b96L,0x0000000000000172L },
  72804. { 0x21bfc7b6a43df7c6L,0x85acac23bc20706cL,0xeb6f37bc345d9580L,
  72805. 0x9d8f20d2a32a08bcL,0xf08924f6d1953c5eL,0x7d25d7c6c4f680d0L,
  72806. 0x64e6a2372de9912cL,0xda1c06c452ce644cL,0x00000000000000ebL } },
  72807. /* 103 */
  72808. { { 0x26677c5c411dd110L,0x0d6787aa2c991c4aL,0x53be6a41a45666d6L,
  72809. 0x73e716aac15f9f15L,0xa93b863f0e0cc7b2L,0xa40571172a624ab0L,
  72810. 0xe5e7656e1a39c260L,0xaf8d78b52ef6f130L,0x0000000000000046L },
  72811. { 0x796214b170f38dffL,0x3e35d828123a1105L,0x046a44d4957ed812L,
  72812. 0x618fa9ba0da60161L,0xe7cdd2a554f84413L,0xf1c2563e19ea95abL,
  72813. 0xc4459e14cb2a30b4L,0xc748add661ff9aa9L,0x0000000000000183L } },
  72814. /* 104 */
  72815. { { 0x32981f399de58cafL,0x05bb80fd8753ea64L,0xc83f9f242d119486L,
  72816. 0xf490cf0603eeb00aL,0x4037f2517c73d79cL,0x844209fd724d461bL,
  72817. 0x6b03f6d2272420cfL,0x6f4bd29eb3438fa2L,0x0000000000000152L },
  72818. { 0x964d034ac389e51cL,0xacda55e96db7d98eL,0xb2ae97dee913c583L,
  72819. 0x0793077bfeb03440L,0xaa16e3789d461e29L,0xb0a67533043bf8beL,
  72820. 0x9d749a42ba7d8c3fL,0x7c41e6d66bb925dcL,0x00000000000000ecL } },
  72821. /* 105 */
  72822. { { 0x2e9b345dc5da8398L,0xbc66841fbb38c430L,0xce3ac5627c3bb47aL,
  72823. 0x8fbeb12b738d2cddL,0xd4bc2ad768731185L,0x9521db1cbbd4f4f4L,
  72824. 0x2a690caefe4e1b0eL,0x375215eb7bfebe3eL,0x0000000000000194L },
  72825. { 0x4cb234f12edfd661L,0x0149984eed52c1f4L,0x32d27260d8f8f98cL,
  72826. 0xfe76e4e47be38590L,0x5435873d95e8b672L,0x916c397ff2b00e82L,
  72827. 0x3b9bf705bad61eb8L,0x7ee90182ae131bbeL,0x0000000000000000L } },
  72828. /* 106 */
  72829. { { 0xd36fea9e93fbcb5cL,0x382be5839fa8529bL,0x0b243125fd611ba0L,
  72830. 0xa59ae37fcd8a2637L,0xab78c60e3d8d4704L,0x1bac243d44c41b79L,
  72831. 0xc4001feaeda49cc5L,0x988ea44a83dc7e9fL,0x00000000000000f6L },
  72832. { 0x4d90caa4f077f79eL,0xf4d17601d9e2590dL,0x11debbb3d21b4b77L,
  72833. 0x031b3f609037e1b6L,0xf113ed82135becf0L,0xf6c01379f2903ddaL,
  72834. 0x36bde7caa6f19296L,0x57d3b6849dbbad85L,0x000000000000006cL } },
  72835. /* 107 */
  72836. { { 0x963fee389abfccb0L,0x6c6e2a24b9676e63L,0xf8768f0284ba6d27L,
  72837. 0xc38ba3ba465853d1L,0x6e3ab36d1b8ab9b6L,0x01fc974247a07331L,
  72838. 0xfdd4171825233f32L,0x4dacfa81ac61de7aL,0x0000000000000021L },
  72839. { 0x365a9f37eaa3198cL,0xcbe8a345fc8b99d5L,0xa427f12ad4f5ecbcL,
  72840. 0xe841ff600c237514L,0x5d9e8c5a28a27b05L,0x2d37744462859ff3L,
  72841. 0x1c0460ffea8bde37L,0x0a0e49a129cf5bf8L,0x0000000000000181L } },
  72842. /* 108 */
  72843. { { 0x688203af45843c3eL,0x4601e303aabebae7L,0x397b08f3624df62bL,
  72844. 0x5687348ad21e5aa8L,0x2cf12c739a242b0eL,0xc848ed0132a76c6dL,
  72845. 0xb72aa1c2f52751a2L,0xb63296c392c02d05L,0x00000000000000f3L },
  72846. { 0xce4b42adc6f3d1f0L,0x2f0dcc532f532b94L,0x5781333583443d9cL,
  72847. 0xb50118eedc8dd9cbL,0x3039e1a5ee87192fL,0x9977267d557419c2L,
  72848. 0x462efa4c30f96b0cL,0x454fb7963cd3c35aL,0x00000000000001f7L } },
  72849. /* 109 */
  72850. { { 0x10f281949d153926L,0x42e28c9182b57548L,0x4b423b30509e94c9L,
  72851. 0xc5acc52ade9d6b57L,0xaa746c398b3ca314L,0x0f4ea307c63d5bc5L,
  72852. 0x425553a2e1ccc989L,0x271198bff76d9194L,0x000000000000008eL },
  72853. { 0xc7900e463c8e672bL,0x703675cd3f2dfc27L,0x704951f7af2163c9L,
  72854. 0x74d699087aceaab0L,0x482f21a97e8d2369L,0xdcfbc1dc813dc115L,
  72855. 0x0ce2bc8004f6cd13L,0x2a54662c82bfaff2L,0x000000000000003fL } },
  72856. /* 110 */
  72857. { { 0x0dcf41e61588a8bcL,0x6f48cd0e210c52cbL,0x338562bd758e7a45L,
  72858. 0x1600d54b48b9b957L,0x461df80ba6b89b9eL,0xf7fd4f17098cc82fL,
  72859. 0x167f01cd14977147L,0xb13385116116c5f9L,0x0000000000000048L },
  72860. { 0xdeb763335d2617f0L,0x3f9a57726ecb8606L,0xa93c032d1b91fce9L,
  72861. 0xf7a4388b6c84b997L,0xbfe80225823ca5beL,0x6f19c02835a32f6bL,
  72862. 0xf26cd5ade3cb5c58L,0x7f5ddc776d0c1dd9L,0x00000000000001e7L } },
  72863. /* 111 */
  72864. { { 0x3c9feec86ee764c9L,0xd1bec836b07c82ccL,0x6bf1b2e6a005b142L,
  72865. 0x70ef51a329e8a5eaL,0x517d298e3ffe241cL,0xbb389e2872966c28L,
  72866. 0x3a2da8a92c7acc76L,0x902c9126732a21b5L,0x000000000000004aL },
  72867. { 0x96c51b9c8f7ce110L,0xdcc33a87aeb036f1L,0x826950980a6a59e2L,
  72868. 0xceaf26a7e78db500L,0x82f3c384c95bb030L,0x6dd6e9f724c42f42L,
  72869. 0x768dde2970ac4a0aL,0x4aedce4b03d22efcL,0x000000000000016fL } },
  72870. /* 112 */
  72871. { { 0x077f032aeded03c0L,0x2684a052588ddd4dL,0x6d09bc4f9a85be0fL,
  72872. 0xbdda0c7fe0b9b6bbL,0x19689c7ef2fb5887L,0xf8a96960ec3cce7eL,
  72873. 0xb043d9d5768d2ae5L,0x29c8081bdb21219aL,0x0000000000000068L },
  72874. { 0x6bf872fade59f006L,0xc2b9ffc6cb97ef5aL,0x371915db58ae7ef8L,
  72875. 0xc2e23ca1f4ccaa1fL,0x1af8c60e89c27cc4L,0xeee5d7e7c86bdcc6L,
  72876. 0x9225b47f9bd8de43L,0x53e7f4634b24f08bL,0x00000000000000b4L } },
  72877. /* 113 */
  72878. { { 0x54c496d0e3048bdaL,0xe2b6749943c3de4eL,0xac2049f74c2d509eL,
  72879. 0xb01f691e543c5089L,0xcd9960a3105a365bL,0x34d93ffe78b17049L,
  72880. 0x029f99b3f82c9467L,0x785c5ea20161a755L,0x0000000000000091L },
  72881. { 0xb455f978953dbdb6L,0xea9e84d997eca19fL,0x473bd02936d4d75aL,
  72882. 0xa9c17ca8c15276faL,0x9cf6613347c76356L,0x4a68360b039738d2L,
  72883. 0xd3e430a869733609L,0x0ae532dee2b27f21L,0x00000000000001b4L } },
  72884. /* 114 */
  72885. { { 0x68110e825164cb8bL,0x6979af4f2552a67dL,0xe10d6d0e8d185527L,
  72886. 0xcf6c5787fb64eac4L,0x8408163bac424592L,0x5d8fff37fce0d810L,
  72887. 0x8b284e49da84c15cL,0xed80556732663ec9L,0x0000000000000010L },
  72888. { 0x106f403051f3ee9eL,0x2e8e3ee9b38adf1eL,0xd3c87a6ea13d6449L,
  72889. 0x27b49f4580e1abb1L,0xc283d1790bfd7298L,0x8fe50fa5afc7a35fL,
  72890. 0x773da545ade3ad4fL,0x78bfaae4d9a21df2L,0x00000000000001f8L } },
  72891. /* 115 */
  72892. { { 0xae60d8e8abad5678L,0x0afa72cee600c25bL,0xb9d4e0b44c288e21L,
  72893. 0x64447f76d254cf9fL,0x1fb36bc4959e2ba5L,0x393c44d72961132cL,
  72894. 0xd7a8881ffc140f19L,0x27a861288d096648L,0x0000000000000091L },
  72895. { 0xb536c0218a9e690cL,0x85dcc521eab4fa15L,0x09af4423b00ee54cL,
  72896. 0xb3793525af3a8e48L,0xe1f36308b7731d85L,0xb5361d78141cfb55L,
  72897. 0xea41f29eeffc4529L,0xcf5755b19f7d2634L,0x00000000000000e8L } },
  72898. /* 116 */
  72899. { { 0x01edb80dd212b398L,0xd0396181d53dd373L,0x0e0860478a52fa95L,
  72900. 0xad1e6432a7825e6dL,0xe0185bc5330ece4fL,0x508f7313b078936fL,
  72901. 0x1dc982fd9e7f6ea3L,0xdbf3a602d5556b60L,0x00000000000000e8L },
  72902. { 0xc3763234279e05bcL,0x7f5f40ecf44453d3L,0x310c5f4d7fa30793L,
  72903. 0x5cffad36108d7e22L,0xf2f01ef3c2a98bbcL,0x30ab1719d7d47f80L,
  72904. 0x7bc9f918a9b22e1cL,0xf53dc52ae834df94L,0x00000000000001f9L } },
  72905. /* 117 */
  72906. { { 0xf266b49ec183f89bL,0xd3fb5f025f5806d4L,0xd30a42b594ec3080L,
  72907. 0x4b6b1940371cd917L,0xf7541aabb7f7e26dL,0xe55269eb2d5b7b64L,
  72908. 0x0e1a85c17f8036c5L,0xa0ff0f22da5f2675L,0x00000000000001ceL },
  72909. { 0x602bd56a3a8e11f8L,0x29864021f5f9ab54L,0xc6742c5a0ccc92d7L,
  72910. 0xd64569e6523f650bL,0xc8e4681bf7fabfb4L,0xb4275947c3c9e6cbL,
  72911. 0x2b3952d538f5ff20L,0x818f8e381f04aea2L,0x00000000000001b0L } },
  72912. /* 118 */
  72913. { { 0x3be5bffae50d90f0L,0x4cb3b11bf5011cdcL,0xe10ca711a691dfacL,
  72914. 0x62ec211d4ea1a773L,0x5a979ebbe586eeb6L,0x4df16ab1a0c2f1fdL,
  72915. 0xfe9e3f7ec57bbfeaL,0x1b05960e5ae526f6L,0x000000000000015eL },
  72916. { 0x1c8e04a58630e62eL,0x3d00310e6447e1b7L,0xcf1e6b6143b4447aL,
  72917. 0x92abb8517462e7a3L,0x8309ea080002724dL,0x1d805d70e45296dfL,
  72918. 0x0f3849b33d4ed812L,0x2d6bffbc6834d44eL,0x0000000000000096L } },
  72919. /* 119 */
  72920. { { 0xd13fe58d48e07711L,0x70f83648d270a3b2L,0x1517892d8cdff04cL,
  72921. 0x15bb657851411f14L,0x6c31cd903e4f8a55L,0x73f871520413362fL,
  72922. 0x2fe025eeeca06d4dL,0x32a6e417954e317fL,0x00000000000000adL },
  72923. { 0x7e38c63f69d147dfL,0xb69bb06e710bf37bL,0xb94debef28d514deL,
  72924. 0x4b2307fb8d11c3d9L,0x3b369df90385c604L,0x68ea2f49e7800e83L,
  72925. 0xf028b2587d501c1cL,0x970782215cef7818L,0x0000000000000055L } },
  72926. /* 120 */
  72927. { { 0x10c351db54c1d751L,0x81445301ba0f9512L,0xa77eb34fbfdc8bedL,
  72928. 0x498d8138cf23680aL,0x928c14a4e04f2860L,0x96192dba16a5b6daL,
  72929. 0x49dea95b5f9a9103L,0x80dd457801724102L,0x0000000000000085L },
  72930. { 0xe90725000e09221cL,0x62e05b21f21de056L,0x448cafa1e0e60950L,
  72931. 0x657fb97b6f775129L,0x5d2991bdf1f34acaL,0xa66cd5ac49ff15d6L,
  72932. 0xdc1d6897d049ec79L,0x388fca84e72baea8L,0x0000000000000067L } },
  72933. /* 121 */
  72934. { { 0x6520b49da6ef1dd3L,0x391a045e3ba6cd76L,0x9c84980af33d5f48L,
  72935. 0xe53cf5b2ef07474aL,0xa35b2e9a78bfb1eaL,0xeca97fd6eda906faL,
  72936. 0xf1a937891b9f2cf4L,0x667533693ab28589L,0x000000000000010dL },
  72937. { 0x5b51049673691fafL,0xdc73d3a9d57ec618L,0x7e2921bb930a8525L,
  72938. 0x094f571e40b05b69L,0x5e96a017413bedcaL,0x9e7d4f728d1a6b98L,
  72939. 0x55143fda3eade8b7L,0x859b8444d16e454dL,0x00000000000000fbL } },
  72940. /* 122 */
  72941. { { 0x7c22083e7c667aafL,0x33545cb94a91ccbaL,0xca1e99318ca0e94aL,
  72942. 0xc3afff23e4eaa0c7L,0xa21ac43642f56844L,0xfcc68a8b60d52d0bL,
  72943. 0x401a585b6a9301d4L,0x547f762c907abce1L,0x00000000000000a3L },
  72944. { 0x63dd3ed3fbe260ceL,0x2717752d80dc01faL,0xd5fab75d6f1da3e4L,
  72945. 0x5f16864a5261f10eL,0xbe7b1f63d20cd6bbL,0x9d638c10221ac656L,
  72946. 0x3137b8f6673b918eL,0x23eb44384ada2fb8L,0x0000000000000174L } },
  72947. /* 123 */
  72948. { { 0x194e27c42a1fbcf4L,0x4c0d285b5facd5eeL,0x75c2ebdd915e6607L,
  72949. 0x1e696510ef0a6a9aL,0x13c5afa1067cf458L,0x2be013c17bee1fbaL,
  72950. 0x85a406d6dad279e7L,0x0042951d5142cf59L,0x0000000000000031L },
  72951. { 0x6a735ec1a22bbc45L,0x4ee5391a7f56f4d8L,0x305af9d0236001deL,
  72952. 0xa8b21851aa2f8d25L,0x0e2c36d8187db78aL,0xcfcc083fa1a888c3L,
  72953. 0xb91dab7fbd3e7d5bL,0x62d85460f4fdd023L,0x00000000000000f4L } },
  72954. /* 124 */
  72955. { { 0xf568ba024972d703L,0xfc44ca1d39098a03L,0xe9b8e542ae28c855L,
  72956. 0x4fd4f3605b1b4536L,0x2e08b07b4c7f7e48L,0x042f3b982230823dL,
  72957. 0xc9ffd3131889fd13L,0x56af0652c6c68359L,0x00000000000001bbL },
  72958. { 0xedbf05e206e0f16aL,0xfc1ac2fad74644a5L,0xe59a0a980f92c71aL,
  72959. 0x13ae37d736c800a1L,0x5f20efc6236178dcL,0x443a58b82b46ef10L,
  72960. 0xc9517dcf442509e4L,0x7d0bb415640ed9b0L,0x0000000000000166L } },
  72961. /* 125 */
  72962. { { 0x3aa30a613d22842dL,0x8c6e00f5b3c4ece0L,0x8764cf876df82b79L,
  72963. 0xda92d86d78d208c5L,0x0a52d391e788854aL,0x499b26fba59b0994L,
  72964. 0x5dc133ad04c5fc9aL,0xa5c0926934e3f134L,0x00000000000001ddL },
  72965. { 0x6f0dcac2fad6d673L,0x6d8fdf0500f3b3feL,0xece71941631756e9L,
  72966. 0x3990f4930a4d80e3L,0xf2aca93631d13001L,0xee91966c75581638L,
  72967. 0x6df0f574e6dd5679L,0xbe124868ccd71cdaL,0x0000000000000111L } },
  72968. /* 126 */
  72969. { { 0xf644c726475cc1b4L,0x915fc2f92b73978cL,0x65a7e6d10e3d7eb7L,
  72970. 0xbb44e21af40c38e0L,0x988662b9e1ad24fcL,0x270ba4ddc35606e5L,
  72971. 0xc3834a2c1a4f93f7L,0x93d0c9a23362a4d7L,0x0000000000000021L },
  72972. { 0xe2cb7b8cf769fd7fL,0x1815da9789a213b9L,0x7b4f8c566b910fefL,
  72973. 0x2088b30926931438L,0x477b71bd925b37c0L,0xa049a92126a640e5L,
  72974. 0xd3ddf1bdfd21c6efL,0x9b5f9d7d232a56b2L,0x0000000000000064L } },
  72975. /* 127 */
  72976. { { 0xd640adf8679a9c35L,0xcdad98e3cb74d796L,0x464b8ebb5f8e9dafL,
  72977. 0x4738614ead4a073cL,0xbd86c0ee2edde557L,0x77331738576ce0b9L,
  72978. 0x9b5d33274095fb96L,0x72f0aeb3ee09aeadL,0x0000000000000136L },
  72979. { 0xa388c76d64e54ba5L,0x63fe7af1dc474d21L,0x7fa3e9d1b2a77081L,
  72980. 0x0447b49ede1240adL,0xd9f64b66c720303aL,0xb1c78029e6bd0213L,
  72981. 0x1caf1c700aa03ea5L,0x179180eb3bb85d2bL,0x0000000000000103L } },
  72982. /* 128 */
  72983. { { 0xadbf4f9faf2ed12fL,0xce1d19e4f380fd8aL,0x0957bdb5a39e81aeL,
  72984. 0xf9833321626ef6bcL,0x110ae5ea0cf5b28dL,0xab15945020392cd4L,
  72985. 0x67c498876bc67855L,0xce7e5938a3fd61c6L,0x000000000000004aL },
  72986. { 0x59c5b9ef28c7dea9L,0xd02f95ba0a6a7184L,0x034dc2578202769cL,
  72987. 0x213b0b0894dd6896L,0x03730b7fb5dea95aL,0xfe243ed0617ca889L,
  72988. 0x16cf4d17fb1ba052L,0xd8691d6b226f96daL,0x00000000000001c0L } },
  72989. /* 129 */
  72990. { { 0xaa2edf3fbf8015c2L,0xe7f8236dc49502d8L,0xe890f6e0a6a43157L,
  72991. 0x318ef325a2d04b0cL,0x9cc0668da809dbabL,0xdd26937ada67ca21L,
  72992. 0x8f27c12c83febc49L,0x87b3db2f3c9b9844L,0x0000000000000029L },
  72993. { 0x37e7aed0fd2e3dc7L,0x498e8bdb7415fd55L,0xfc0d6c9a58a45f25L,
  72994. 0x83d5baba209c85d0L,0x31ec8dc6d579e1eeL,0x1f4cad0ba502bfedL,
  72995. 0xc432e6ce1f41bef1L,0x3b10afaabbffca65L,0x0000000000000191L } },
  72996. /* 130 */
  72997. { { 0xbd9f7df053053af7L,0x60304765b28a1cf4L,0x441778fc7ce90438L,
  72998. 0x8fbed36eac8c5dddL,0x27b1313bfb59ec61L,0x9d2656ffa1b1becfL,
  72999. 0x334e1345945973a9L,0x3261888cc362b595L,0x000000000000018cL },
  73000. { 0xf413a414aa7f6ff8L,0x092aeb883fab7c7aL,0xfa1d886b7cc307baL,
  73001. 0xdc81c1252346100eL,0x93d4d27302140c93L,0xa1ed7e3ce6104835L,
  73002. 0xe2b91ecfdf1795f3L,0x160dc11a369ed416L,0x0000000000000191L } },
  73003. /* 131 */
  73004. { { 0x9a72f46e8b57d7ccL,0x3140b0e54bf02386L,0x886c396e05b3a91dL,
  73005. 0x1b9ab3a9a4ec26e0L,0x742feaebc50f58e9L,0x1592c60855e26af0L,
  73006. 0x943cd476bb1cd9f7L,0x3ed97fd4c7f02c89L,0x000000000000017cL },
  73007. { 0x53b02503e6d54964L,0xd9bd1162c6a318c0L,0x18ff6cf49cc28c22L,
  73008. 0xa45c784003534640L,0x8ea3335eb4cc0668L,0x7ad727f8f42dbe03L,
  73009. 0xb157e911fdf6c3cdL,0xa7f894c9ec992d76L,0x00000000000001b3L } },
  73010. /* 132 */
  73011. { { 0x91e6e397af09ea77L,0x26a760b975dc25c5L,0x8c040c08b94a197bL,
  73012. 0x041baca8b68ce619L,0xa19a0d155bd23564L,0x86ca5b94d977b33fL,
  73013. 0xf31f87f8e5fbd029L,0xf76c55a6b1901f99L,0x00000000000000b8L },
  73014. { 0x175bf8c33846ec9fL,0xf462205c9deaca46L,0x92cb5ec0a3108df0L,
  73015. 0x879db283cfaed928L,0x477dc00465049fb2L,0x48d24bac96ee5031L,
  73016. 0xa7db6b1656adce45L,0x0110cdabab1c684fL,0x00000000000000fcL } },
  73017. /* 133 */
  73018. { { 0x151b66d84d308bf2L,0x99013c9fd6638004L,0x6892df92fd383bf9L,
  73019. 0xa10efd843ffc8efcL,0x527e316c313ea287L,0x8ef6e3cd3a0df740L,
  73020. 0xcb96e430f6ebd2a1L,0xc1ebecf2a70ee4ceL,0x000000000000018cL },
  73021. { 0x80d14ad71a70404cL,0x6ad21dd0f9ce2a30L,0xb94cbcde3aa3e072L,
  73022. 0x0ab596116363a690L,0xe70bff45c6b1e2b4L,0x1296dd0b66ceec5bL,
  73023. 0xd4cb2a74747757c0L,0x08988ca63d7d91e8L,0x00000000000000aaL } },
  73024. /* 134 */
  73025. { { 0xaa2dcfcaf8db0396L,0xe8ae8f37b422da76L,0x652f834996485724L,
  73026. 0xf647c3c47bf1493fL,0x8b600b46b0247a4eL,0xabf3e4397aebda8eL,
  73027. 0x2e1d231fa7958df0L,0x38e692b1f881bab2L,0x00000000000000efL },
  73028. { 0x1f3c168926cf3047L,0xdad14f9459539858L,0xfde85d1c293f20b6L,
  73029. 0x2ea5436ef57abb17L,0x0d1a8ffc1794de38L,0x9ba508e22bfecd2fL,
  73030. 0x110f0a7fdb786042L,0x2ade6f647cde31f8L,0x0000000000000196L } },
  73031. /* 135 */
  73032. { { 0xc996a537fec78898L,0x0b39de72de0fa77fL,0xf6d076acd34cb08fL,
  73033. 0xacd8bb82da78d353L,0x5fe804d3a0392cc1L,0xab7adedee581549dL,
  73034. 0x883901a0c067c6d9L,0x5855ffa24ed93f37L,0x0000000000000191L },
  73035. { 0x29570e36bf9ebef3L,0xe21046a5df4b3177L,0xf9b89a95a6816b5cL,
  73036. 0xadf39281288d0e11L,0xd6baabe53979159aL,0x411afee05c8fabb2L,
  73037. 0xf192c3afe5c7af10L,0xaa72e81cd7dce37bL,0x00000000000000f7L } },
  73038. /* 136 */
  73039. { { 0x20fa3c0f16c386eeL,0xb33b0469d4c09839L,0x79e0d722876a3136L,
  73040. 0x343c0a923c406c06L,0xef220e3e4debe27dL,0x09d7b1e1196f00eaL,
  73041. 0x4a0f5dd824a9dcffL,0x53582ec599c1d085L,0x00000000000001e2L },
  73042. { 0xcc8ef2625138c7edL,0xdec431946547f88dL,0x2b6e53addd0a9488L,
  73043. 0xeb9f1efa8257ebdcL,0xc583c6eb1f08c989L,0xf173691140163768L,
  73044. 0x6282ff8bdbc20e3dL,0x26b810059cbd514eL,0x00000000000000d5L } },
  73045. /* 137 */
  73046. { { 0x2449522fa0025949L,0xb26d888f0bbd8945L,0x33442f5fe637216fL,
  73047. 0xd8ec3b64472827f6L,0x91d8a1a399fc2681L,0x6d232ead68c7710dL,
  73048. 0x8e5bfe2fe51b2762L,0x0f9f4fedfd109fa7L,0x0000000000000004L },
  73049. { 0x1952ea516b4a05e0L,0xcb0d48eef21c78ebL,0x64d366191997dfdbL,
  73050. 0x0d11b2048b4c21fdL,0xa6f569b6be92303aL,0x2b8f609678c5e809L,
  73051. 0x7226b5ab36805d8eL,0xd6cff180db349ca2L,0x00000000000001bdL } },
  73052. /* 138 */
  73053. { { 0xa49f8576943cc612L,0xc914319e832b31c7L,0x9225e297cccadebdL,
  73054. 0x4918fb42b0619821L,0xaccb308425b1cc7cL,0x751d3347a646e5f0L,
  73055. 0xeafb4aae590e3e22L,0x821460382c4a0008L,0x0000000000000151L },
  73056. { 0x3c2481dbbf96a461L,0x51c122e9b52a3ba4L,0x21c2858e464db08bL,
  73057. 0xb1014b786d6a081dL,0x167d3ed4f533cef7L,0x6cfb329481545f7cL,
  73058. 0xea46d31c449b7b9fL,0xcfad76139621c299L,0x0000000000000081L } },
  73059. /* 139 */
  73060. { { 0xef796327478a7f0eL,0x914183e2de17705dL,0xd24a26df572117e8L,
  73061. 0x3cdb1b09b7cd52cfL,0x9e42b9fbad83c160L,0x6971d2ea709ef8c9L,
  73062. 0x1894fc5b8ee54ccdL,0xf757b4e534a520fcL,0x00000000000000fcL },
  73063. { 0x5a5518cc86b62347L,0xec51c9d27bc2a928L,0x2eea2b052966727fL,
  73064. 0xbc8a8e3a0ae43e6fL,0x80535b5e05ca066bL,0x91ffcdb18833986dL,
  73065. 0x2f4a5bba32374cddL,0x08763a490d202243L,0x0000000000000124L } },
  73066. /* 140 */
  73067. { { 0xe498b9724efac14dL,0xb6f4bf8da79a9d3cL,0x0f1e8dbdd6e07c29L,
  73068. 0xfac30cfd71771538L,0x4c91ed2271b03263L,0xbf93833519b455f5L,
  73069. 0x76a5e789127092bfL,0xa97674e1b4813bd9L,0x0000000000000128L },
  73070. { 0x29b63c41583e5924L,0x61f9aff18f171d06L,0x2b45b3cdab227a28L,
  73071. 0x939d5dda8a11ab70L,0x2bfb47b0e8db6971L,0x562379df0ec10805L,
  73072. 0xaf5a648124ce1801L,0x8d98c43434f94abaL,0x0000000000000150L } },
  73073. /* 141 */
  73074. { { 0xdea9fe73cfffc80fL,0xe23e2e9bd43473f6L,0x27fb3ed3c9d37ba7L,
  73075. 0x733766d27a3fc357L,0xd0db4cf38e04a03dL,0x8ce017522bbe0f43L,
  73076. 0xd87eb719da986f4fL,0x6d1b50ae2fe6b037L,0x0000000000000153L },
  73077. { 0x371f5defda40bab1L,0x07d6a8af9b2bda63L,0x5e8a5c890d4aca87L,
  73078. 0x4d72f0ff643ff8abL,0x9c4c10d94bf8ec2fL,0x36b0eaba0eb93e22L,
  73079. 0xbc4b0e8f1d2dfd01L,0x9f252e5a9d34a082L,0x0000000000000142L } },
  73080. /* 142 */
  73081. { { 0x4affd4c17d0e7020L,0x9b169aaab5482168L,0xdbe01708588f348fL,
  73082. 0xdaebf6ff885986bbL,0xb33987f515f9c381L,0x7e455f2c04a94a7bL,
  73083. 0x39a41442a0ed6849L,0x1c1ad4a61ef7798cL,0x0000000000000154L },
  73084. { 0x7647b628072709c4L,0xb330d68b8810e5feL,0xd1bd8874e92e0f63L,
  73085. 0x144e4fb9f8bea9baL,0xc15afc188318981aL,0xe19c5c82b68c6a07L,
  73086. 0x858c57a236e00b66L,0x9b25511007cb7aecL,0x0000000000000011L } },
  73087. /* 143 */
  73088. { { 0x121ced27c887027dL,0x6050f3352bfab286L,0x6e373c1c19d511e2L,
  73089. 0x02d4c3a97f4c69f5L,0xe6f356af25226bb4L,0x3b9011c383e7ac30L,
  73090. 0x43b0c23d33d8fdfbL,0xa8c390f7af2ea363L,0x000000000000000bL },
  73091. { 0xc430c3d67e851bacL,0x8991c389a5f544fcL,0x006bbc6467fba061L,
  73092. 0xd49d024e97cbdbf4L,0x4539b7dd7734adadL,0x90ba8f9f28cb6d2aL,
  73093. 0x7a9218304de4b3adL,0xb28732efa7b96928L,0x000000000000006aL } },
  73094. /* 144 */
  73095. { { 0x71dab52d22ed5986L,0xdeee627a58533e06L,0xe8fee37acf155fe3L,
  73096. 0xcd61490d7ae8b132L,0x2706e18534a08b94L,0xa85ffd52f9c15c30L,
  73097. 0xd5a224f351a5ad46L,0x44d1b6d554d700bbL,0x00000000000001e6L },
  73098. { 0x96830686862e4e9cL,0xfe5cd76c48763fe4L,0x60309679c0839caaL,
  73099. 0xc0e4cbeb8d83d62dL,0x911e254e11bc4ae2L,0x96a0d7c864fca062L,
  73100. 0xf5785dd5e9a27045L,0x2f4677d0f3e0412cL,0x00000000000001beL } },
  73101. /* 145 */
  73102. { { 0x4c0012ddab01a6dcL,0x391bd6c1ae1adb69L,0x3ae7daecb9b05079L,
  73103. 0xc2714f9e62a1061fL,0x71978ee7a96536b7L,0xeec11bd05e17654bL,
  73104. 0xc71166e0efab3dd4L,0x0f7aa57287edbf61L,0x00000000000001d7L },
  73105. { 0x26ea6f7d51eb5932L,0x354ea0aa5f882ca4L,0x175b60977739f7dcL,
  73106. 0xd335192a9be57934L,0x9801f42378545eccL,0x32b8e2567b643c9dL,
  73107. 0xb9411dd723e3abecL,0x656dea68cf1c6509L,0x00000000000000eeL } },
  73108. /* 146 */
  73109. { { 0x4d38e140a0890debL,0xbf7bd87dbceb84bdL,0x51f0ff72ba041decL,
  73110. 0xafeec70aa6820be9L,0x755190a38c486298L,0xecdba558e7010ec4L,
  73111. 0xced91db88c7879b1L,0x08de3e4cef5e215cL,0x000000000000014cL },
  73112. { 0x9c1534ed16266da2L,0x9ce322eb7b4c9009L,0x37decaef69927688L,
  73113. 0x6525097f05c2844dL,0xd23b7e131ac519abL,0x682ebb7265a3cc86L,
  73114. 0x0c531db9628c4575L,0x2e00e8b873805373L,0x00000000000000beL } },
  73115. /* 147 */
  73116. { { 0x3807c80057ed32e9L,0x427e40cf7c024997L,0x58506abbabb54830L,
  73117. 0x5649776fce820bf4L,0xb5353293b2c43e81L,0x671e8353cfef6648L,
  73118. 0x27217d3f903bdca5L,0x40a9c109a813fd79L,0x00000000000001dcL },
  73119. { 0x6beaa6c33db21a38L,0xcae222e1d73ef7e4L,0x1ff684e7bd1d507fL,
  73120. 0xf5bac664587a77abL,0x58c74f620c64a4d6L,0x4ca837d96a7c378aL,
  73121. 0xf43df5313e42e409L,0x8a9a4347fb49e14fL,0x000000000000013fL } },
  73122. /* 148 */
  73123. { { 0x85ab4edf992f8923L,0xe24aa5e06fd209f3L,0x27be9b871b1340eeL,
  73124. 0x2957d11f91e0bb40L,0x425afad2f3d4c62cL,0x2d231286c7ff7aafL,
  73125. 0x96412b2b0114cbe9L,0x6706a231c3e23529L,0x000000000000019fL },
  73126. { 0x06b3bbd2225c02afL,0x53ebc1663fa3e98dL,0xa6df2b75b84f482eL,
  73127. 0x912b45212bfc55dfL,0x30bdbd40512a73daL,0xac0f43d93d53eaa4L,
  73128. 0xfc358fe40c27fd53L,0x2cb183be919424b4L,0x00000000000000a3L } },
  73129. /* 149 */
  73130. { { 0xe39b0c2d3fa6a746L,0xe84a79221d5a24a8L,0x70a5891478cdf2b5L,
  73131. 0x8a88067d30666cb3L,0xb09a709ef6d71d06L,0x50007a3e0065d184L,
  73132. 0x7046af4bb8dc9448L,0x2b6a3129c65493acL,0x00000000000001fdL },
  73133. { 0xd3d5d5bde45f2771L,0x8542b08af432ed95L,0x2ecd40fbf232a6bbL,
  73134. 0x0fcb6143e8beccb2L,0xcecc513abf8e247fL,0x955d56f78da3039bL,
  73135. 0x9157c61956c2a0dfL,0xa6d35cbf3031fe2aL,0x000000000000018cL } },
  73136. /* 150 */
  73137. { { 0xdd800b1bbe0c4923L,0x046ae7406902907bL,0x2398b37f957bd0c7L,
  73138. 0xaa8e1a9d9655f8b8L,0xcd2927fa500f4150L,0x826a9c6d202e7aeeL,
  73139. 0xb4cf58b39f29692eL,0x3093868cbf41577cL,0x000000000000011fL },
  73140. { 0xadcb5e7a333ed442L,0xae5c8e2f906fef7bL,0x2d9b01233d98f228L,
  73141. 0x4632f2da7ffe125cL,0x59487731ba231835L,0xa0caae5b12d2c512L,
  73142. 0xbf00e6589857d9c4L,0xc5d1008654f200f6L,0x0000000000000172L } },
  73143. /* 151 */
  73144. { { 0x589540462fc283e0L,0xf76339847ee0880eL,0xfaf1b40eb7fd1622L,
  73145. 0xecf5151ef598c5edL,0x6b4d92f77e00d9bbL,0x7543e3b3a8c43fd4L,
  73146. 0x3994e12c6511d1d2L,0xdd841a1daf05b6d3L,0x00000000000000c6L },
  73147. { 0x23da17e023b991adL,0xaab2b21371fba514L,0xb417ec5a0ddc1879L,
  73148. 0x173bc8ad5f63acdcL,0x2fcf52101e2a7d50L,0x63373fd06106d008L,
  73149. 0x1e8211de7db012cfL,0xa07766d9576545efL,0x000000000000018cL } },
  73150. /* 152 */
  73151. { { 0x8e4347b9af80dfafL,0xa80b631f9c4667f3L,0x6ff1db266ddbc238L,
  73152. 0x6161e365aa8718a0L,0xe7f7ac90af31c35fL,0xc03831d1fc6846e8L,
  73153. 0x1e669d10684175b4L,0x6da9d620934b731aL,0x00000000000000c7L },
  73154. { 0x981f597ba3e4e78bL,0x2c14dedc55099f9aL,0xbf37399593088c61L,
  73155. 0x7c5683079b207458L,0xc4440c47a2276900L,0xb6df23c8f7e6daf3L,
  73156. 0x4f662c2542929103L,0xf4ea6db18b3b7963L,0x00000000000000f9L } },
  73157. /* 153 */
  73158. { { 0xc669eb88ced36049L,0x87a4ffe1f41b99f8L,0x690b75636a72e108L,
  73159. 0x67dd6a8c65a0bb8aL,0x42cf8c5896e42955L,0x5286b5f31aabffadL,
  73160. 0x1f7dfaf28f6f26a4L,0xc5d9e0ac0e1ae503L,0x0000000000000120L },
  73161. { 0xafbee3ffacc10da7L,0x67e2d5f9944946e5L,0x8ec17e863c4220ffL,
  73162. 0xfe6f7414bd6f632eL,0x4a9e3c0fc3fc9ef4L,0x25ff3cba03bfb870L,
  73163. 0x18fd3600bb03342dL,0x1e63e7530050cd2eL,0x00000000000001acL } },
  73164. /* 154 */
  73165. { { 0xdd83d07c8f3d6a02L,0x71fc143c7ef4d0d1L,0xca994bf0d4c7af61L,
  73166. 0xc8a93e98827c5cf0L,0x4a102c7b2b697882L,0x633c87d58a55e8baL,
  73167. 0x1ae8822fcc2d64f0L,0x2ce9b53f986d01fcL,0x00000000000001c1L },
  73168. { 0x859639fd95dc1b79L,0x2728f7543f4e616aL,0x6e703c4cede2fb9fL,
  73169. 0x042f7680d50fae9eL,0x0546bc3bc2d530edL,0x00a4006bcdd598acL,
  73170. 0x3f3286c9e1294910L,0x77782255b6bf9629L,0x0000000000000146L } },
  73171. /* 155 */
  73172. { { 0xaf81421ee30c98feL,0xdeb0feb0fc2cd705L,0x9b2c4ca614df6ad2L,
  73173. 0xd38134de9ba314e8L,0xa443deb84f04b16dL,0xfc556ee0f07f8ca8L,
  73174. 0x3c1c83bb3a4f3917L,0x8397dd24b1adcd41L,0x0000000000000199L },
  73175. { 0xca01e17edf4781e6L,0x32d7c31946f1f901L,0xa227a613b53090daL,
  73176. 0x2495b1dca7c8c607L,0x1cf2fbeeddc69709L,0x1d3d82bb45608098L,
  73177. 0xcfcddda3085134d7L,0x3dd171b596798c41L,0x00000000000000d2L } },
  73178. /* 156 */
  73179. { { 0x97a40f84d4dd7e96L,0x7114c8ea8409fc0cL,0xc56f29e6a9d11393L,
  73180. 0x3b6066218fd8c6d6L,0xad3baa8600269e7cL,0x1413c6b005929d5fL,
  73181. 0xc1ad7e40222e365bL,0x6a82621a4798aaecL,0x00000000000001d3L },
  73182. { 0xaeac45c4c1003c81L,0x9ef9ef5af43d8602L,0x36a65f5e60f77469L,
  73183. 0xf312e7abbf5d2858L,0x2f53ec81c84acef1L,0x63e32ca29d248b52L,
  73184. 0xfe9aa7c581e65c60L,0xe3686c9a52841973L,0x0000000000000017L } },
  73185. /* 157 */
  73186. { { 0x0b2efe659e90de99L,0xbe4485bcad05ab63L,0xc48a6a52e14e4892L,
  73187. 0x2ad8543022628687L,0x261f0e955eb3db54L,0x48e81863d45e5841L,
  73188. 0xcfe1ce0f8ed75739L,0xbd6f1ff57d84ade4L,0x000000000000003fL },
  73189. { 0xd43711ddd1bf968cL,0xd558d7cd48dfa472L,0x49f09223e425a566L,
  73190. 0x0cf833385c26d041L,0xbe7b81f17c2c1743L,0xe3bdc33e5143d9d9L,
  73191. 0xf385ac3594fd3faeL,0x7551cf429fd1811aL,0x0000000000000113L } },
  73192. /* 158 */
  73193. { { 0x4928f55b20193bb2L,0x96e579d07310b872L,0x5ee06309d345d276L,
  73194. 0x9a43e432a871868aL,0x28c113e111038683L,0x8286ecf3a332f108L,
  73195. 0x3348aa370385cbb4L,0x698ffcaaef158dafL,0x00000000000000c6L },
  73196. { 0xa044c54af6908745L,0xa6b336e46a3353fbL,0x694c2852d561e821L,
  73197. 0x1b2979703634917fL,0x6e1023b981f61315L,0x6817dc2bef46a5efL,
  73198. 0x93dea0af8e114f7fL,0xc3cf3cd5ed72c5bfL,0x0000000000000136L } },
  73199. /* 159 */
  73200. { { 0xbb8799ab7b080de4L,0x3b8f781dd69d8396L,0x76b42aaa986f8f63L,
  73201. 0x5d74c038a54bc5caL,0x76fcb605a9c2fbb9L,0x8451b44080178930L,
  73202. 0x40f00c389d286f0dL,0x3038e9520c543263L,0x000000000000014cL },
  73203. { 0xc94bc3816977aad9L,0xadbfd082d7087be3L,0x06d0820c875fed08L,
  73204. 0xe1ce84d4345656fcL,0x71c4d8e00fd6dd4eL,0x23338b226a5fab40L,
  73205. 0xd477eac10baeeb6fL,0xe4db08bb5f80c26cL,0x0000000000000078L } },
  73206. /* 160 */
  73207. { { 0x0111d12a1078342aL,0x0534725e559a1064L,0xea459d590fd3ffddL,
  73208. 0xcf694a9f06f0ac1fL,0xf6d24adb3e19bc69L,0x3ce38f5eb9ddcd00L,
  73209. 0x38400f66b632dd4eL,0xcab8fdfbe15e1c55L,0x0000000000000085L },
  73210. { 0x0a943f6b8d09422fL,0x17d297560f988c3bL,0x55a441fa2ef2e4d9L,
  73211. 0x6743523b35f7c13fL,0x274d3407edaad3ffL,0x594114359347242dL,
  73212. 0x1cb273013bb8615dL,0xa0437004bd7794cdL,0x000000000000007dL } },
  73213. /* 161 */
  73214. { { 0x824b99a62d712c44L,0x148368f8a6962577L,0x8ed68432d65e2287L,
  73215. 0x140283066f5bc5f8L,0xe6cf31214ec3479dL,0x96db6f449326db70L,
  73216. 0xca5ac098ca32936bL,0x69e248c72fea21afL,0x000000000000004dL },
  73217. { 0x0aa89092a71269fbL,0x2f6bdba818650b60L,0x1d9cc2a39fb55db2L,
  73218. 0x0fceb0df6311e9d0L,0x6faeb79c90ac2c1dL,0x2393b222cb1f372aL,
  73219. 0x62a6f3dfbc8c4193L,0x9dea30b22fe8e674L,0x0000000000000001L } },
  73220. /* 162 */
  73221. { { 0x7df689ac12b3118bL,0xd06ee39d6cb6ea56L,0xcfcc22c2187cd978L,
  73222. 0xb985b6818d537d87L,0x75845152e9f56db2L,0x0f8398715e098c15L,
  73223. 0xbe96a5c83b212cd2L,0x3dda0338d9ac1c47L,0x00000000000001fbL },
  73224. { 0xf06b7fe0cfa0a9b8L,0x9478bac7e22dcf75L,0xf3815e04136887c8L,
  73225. 0xed811dde914c54bcL,0xc8c241600f51ea64L,0x63914d834c870577L,
  73226. 0xed24e552a8abbcb4L,0x9e5eb9e82644f52eL,0x0000000000000001L } },
  73227. /* 163 */
  73228. { { 0x1f65a04e66d52313L,0xfd6945454d3f72bdL,0x2bc0ddafa6b7ae11L,
  73229. 0x921f79d8571ab247L,0xd4c5f966ae5a8d68L,0xfde17716aec5ce13L,
  73230. 0x70e6eda4b764bd39L,0xffe94085990d6783L,0x00000000000001efL },
  73231. { 0xf3fa0e27d88f92e8L,0xa21ef0fd9c77123cL,0x6259974c89274dbaL,
  73232. 0xd4cfa4a5b9ba2762L,0x10c909d246ebcaf6L,0x0317a10d8f8e2870L,
  73233. 0xb0771de1453aeea2L,0xdf0c479168c6b0a3L,0x00000000000000eaL } },
  73234. /* 164 */
  73235. { { 0x11bc1e484c854477L,0x2bec25b48638e47cL,0x43d4e02b869c54d9L,
  73236. 0xe318de32be1e7ed2L,0xf5471eb06b460c4aL,0x38ae7bf3aa426afeL,
  73237. 0x23ae26ddd8452dc1L,0x9d3fc1d55782de9dL,0x0000000000000164L },
  73238. { 0xd87cae310ade1979L,0xa847041d3b4bc728L,0x38923c4056c3c9beL,
  73239. 0x36fe182ad74ae467L,0x92bff6f4ecbe49aeL,0x6680db80dc41f9f5L,
  73240. 0x35bac06fe4630715L,0x6d68b4c7d6d07307L,0x00000000000000c0L } },
  73241. /* 165 */
  73242. { { 0xdbe22be7854dfcf2L,0xee21a7dfa6ae3bd0L,0xf4633ad1a521ec46L,
  73243. 0xee94527a41a9484cL,0x1145eb9b2aa123f3L,0x5634a82acae3ca92L,
  73244. 0xe176aca0fc85d925L,0x504cf7fc19082d8cL,0x0000000000000078L },
  73245. { 0xd74ce7c43799793cL,0x74ddd618b5519fb5L,0x2cf6df9395ff9808L,
  73246. 0x00ea45d1b8bf61e6L,0x26863613dcfcf54fL,0x67423b76030035b0L,
  73247. 0x9fbc75344028a9cbL,0x7b52ce37051a077eL,0x00000000000000f4L } },
  73248. /* 166 */
  73249. { { 0xebf7d8ad96bec962L,0xd1cc81f617e0107aL,0x64c44509214e1058L,
  73250. 0x6c298c4342394c9fL,0xd910052d1a660513L,0xc364375490df8243L,
  73251. 0x2313be1efe5cdea4L,0x249a60f7d27fb7b1L,0x0000000000000076L },
  73252. { 0x749758381cf593a0L,0x0c9ceefb8364c59eL,0x2f5a1333e05c9991L,
  73253. 0x30ea5e1f421808e3L,0x56fb3a4f4f5e8f4fL,0x2cae6e2eb6c0cb47L,
  73254. 0x60b307fd08bdcc6aL,0xee17901c0ff8c117L,0x000000000000001aL } },
  73255. /* 167 */
  73256. { { 0xc048336b89aa9e14L,0x66634271f676700fL,0x4daa0433906b6980L,
  73257. 0x30247ee1ebb7ab23L,0x969b4aa7eb59a053L,0xd78ef8258000f4d5L,
  73258. 0xe5db38eb46026b5bL,0x06a43e5d7d6856c4L,0x000000000000003bL },
  73259. { 0xaa0ae838ed2a0ee7L,0x04bbe528f16e8813L,0x8ab6df5c4ea64137L,
  73260. 0x5be80cb606e29867L,0xf19b1b72f459ed2bL,0x7a9cce4d1761521aL,
  73261. 0x39aff994aa516f3bL,0x97d92e86b3416925L,0x0000000000000007L } },
  73262. /* 168 */
  73263. { { 0x25aeede15af3a8caL,0x33924782a5c351ecL,0x41e7a3fbf93ec080L,
  73264. 0xb04f93c4e6f425b4L,0xe4ec12ec81e76009L,0x797366d45180ffc6L,
  73265. 0xd293cbb50e0aef3aL,0xa149694468d71d91L,0x0000000000000061L },
  73266. { 0xf52c541c675a67a1L,0x67d38d308f5fe906L,0x2a70bcccf6be988eL,
  73267. 0xae03ecbe18589886L,0xecd026167067045bL,0x1facdd9910ca8d96L,
  73268. 0x7aa10a8230c0735dL,0x2a27e5543328f21cL,0x0000000000000015L } },
  73269. /* 169 */
  73270. { { 0x3dd609e0e6057e27L,0x87e8b6a7c7a454daL,0xff5991451f32dd5bL,
  73271. 0xea397a88d0ef51e2L,0xc49866a125567546L,0xea45c8b13228b480L,
  73272. 0x3dbe0e77dd01997aL,0x0e2ea28fc51867d2L,0x00000000000001f8L },
  73273. { 0x6295412d69d0820bL,0x031731271ea65a18L,0xc27c8221eb06380dL,
  73274. 0x7ffd4efc75fe9706L,0x7b396a575a71d250L,0x61c80051c7cb7543L,
  73275. 0xe07db4d7ad4dbee3L,0x1c7481f49b192d45L,0x0000000000000143L } },
  73276. /* 170 */
  73277. { { 0x5eab2d0408e1cc4dL,0xe93758d3ad2dc1eeL,0x0ceb7dfe5c9c7393L,
  73278. 0x530d86a9d3379683L,0xef5283cae24f86d7L,0xab5d1a64f0b1bb0bL,
  73279. 0x96aabc1f54db4e3cL,0x3e3d87cc3bc00c59L,0x0000000000000144L },
  73280. { 0xe50a82131d60e7b0L,0xfc9b629b5d33d018L,0xc54aee42fd05338dL,
  73281. 0x0678f2c0e821c6eaL,0xe5c9d75f06ac09cbL,0x8335751353018df6L,
  73282. 0x81ca6fac0bf8c667L,0x7fc8020e9d0ae2ddL,0x00000000000000e1L } },
  73283. /* 171 */
  73284. { { 0x8add47411baaa5ebL,0x02cbb75979bd8036L,0xd8680c40cdffed22L,
  73285. 0x1c23a8f04e091141L,0x65d141ed20748b87L,0x586a1575659e9289L,
  73286. 0x7c68d7cd5006dbfeL,0xda0ad0df22569a74L,0x0000000000000148L },
  73287. { 0xc8fcc5db7f9069d7L,0x2487d2455c0531a4L,0xc5ab4899e9a2db3aL,
  73288. 0x52bfd538b4fe9720L,0x73a04ca4d27f35e4L,0x7cbbc549ee2dac93L,
  73289. 0x0287229dff3ee7e2L,0x3179878d28da9360L,0x00000000000000d0L } },
  73290. /* 172 */
  73291. { { 0x89b7e9bb3b66c047L,0x22e65869602a3e1dL,0x44f82297c8db9c00L,
  73292. 0x0e76aca3d08a74a3L,0xfbf1a71dfcd398deL,0x2fbb6eaa8320e66aL,
  73293. 0xa82d0ebc179c9fc5L,0x4e00cf6f4e7ab2b4L,0x000000000000000fL },
  73294. { 0x424c0e9a4890c439L,0x37564a2bbc35a6b2L,0x95a4479dd9b7497dL,
  73295. 0xa1ff3f0d612de942L,0x358627fce60d0033L,0x815da8c0522417daL,
  73296. 0x506104d4ef6b8385L,0x800728d2f16e96aaL,0x0000000000000120L } },
  73297. /* 173 */
  73298. { { 0x976f2372ab039042L,0x10e6978c9fa084edL,0xd03fdd2f58bec143L,
  73299. 0x3200c101fe2045c3L,0xe6868f7ab0a5a928L,0x26c95d1de61faff8L,
  73300. 0xa1e20127b7b12265L,0x8e63dd78c2a5ed17L,0x0000000000000089L },
  73301. { 0xbb6533da22bba4eeL,0x3eff6397f496a574L,0x409329f714f2a6b9L,
  73302. 0xa08248bd1dfdd73fL,0x62f33f2e69bca1b1L,0x9a177e64ba2e0327L,
  73303. 0xbc50e99375ddf741L,0xb87a979f4a56bd1cL,0x0000000000000095L } },
  73304. /* 174 */
  73305. { { 0xe83736a967c1f177L,0x1b6d3508600133c9L,0x9424bb926eac9a5bL,
  73306. 0x7a9c01a6c27ef31cL,0xad93bba5122b4870L,0x9eb94e2a9d1ac985L,
  73307. 0x511c0206d53f175bL,0xd13eb2525102d914L,0x00000000000000b1L },
  73308. { 0xcfe7dbeb675a1171L,0xb228295c16c0d2b1L,0x8db25b5a057c88caL,
  73309. 0x73ea9e96d300e9cfL,0xb0e0037f269552ebL,0xea9d035c9e0f98dfL,
  73310. 0x860e49b8d290480fL,0xa35e9512c036b319L,0x0000000000000037L } },
  73311. /* 175 */
  73312. { { 0xc56729ee8f00df48L,0xb89ca7b611ac8304L,0x497a57f98b3a8123L,
  73313. 0xe0431b19c21ca3eaL,0x45a73debe2bb3ce7L,0x2f86cc2badc77819L,
  73314. 0x5ff005e4e5eb3df1L,0xf955dd7add27dcf0L,0x000000000000005eL },
  73315. { 0xe0c22ffa00ee402fL,0x5b335e2a3b30bb4cL,0x542551d0643cb101L,
  73316. 0xc6183f453cd19688L,0xc6664f22f0be54b4L,0xa5f4cfee4c20cde4L,
  73317. 0xdcaa972f80a4c475L,0xde4af20059111ed9L,0x000000000000019cL } },
  73318. /* 176 */
  73319. { { 0x9e9d0bc8d771f428L,0x3ac1ecd9e43ca382L,0x8d5ee480eb93acf0L,
  73320. 0x16232f81065a2a3fL,0x1fc04faa2f0b8a73L,0x4a8df7e7025474a2L,
  73321. 0x51ac4ff23bb15f6fL,0x66e21b73e0950e52L,0x000000000000006bL },
  73322. { 0x59c9848067a41deeL,0x2cfa95ae7b3e2b3fL,0x54d98386891454e1L,
  73323. 0xf0dddbdfeefca6a4L,0x5f691b2411e9cb75L,0xa9b9e766fef208c3L,
  73324. 0xe8df100018b33cf6L,0xb8a55ac9d1c174a9L,0x00000000000001c4L } },
  73325. /* 177 */
  73326. { { 0xa99f58625c4cccb8L,0x70bf52092ef4d3efL,0x28f4e57689efc878L,
  73327. 0xa2366f96da14206eL,0x90331a007c52107dL,0x478d4cead4a0f0f0L,
  73328. 0xb2899ee2472a47b0L,0xae96534e64207549L,0x0000000000000110L },
  73329. { 0x2cc1d655cced05b0L,0xabac3f0901759543L,0xbaeb70a48e577cd7L,
  73330. 0x84b0089340e98d6dL,0x26983653603d24f1L,0x6e1458832572173dL,
  73331. 0x1d348b26611141deL,0xe52257dcefa27f34L,0x000000000000006bL } },
  73332. /* 178 */
  73333. { { 0x92678f33c947e655L,0xff0fb76a08923795L,0xb2dfe745790239d1L,
  73334. 0xea0874923cdbb7ceL,0x21326db905f6d41cL,0x5b1ae9ae79dc5588L,
  73335. 0xe145340ce9c31702L,0x07502c29a2c38a9cL,0x00000000000000c3L },
  73336. { 0x0c124f11c156ace2L,0x2c170fe779ff2529L,0x60df9a816e1171b2L,
  73337. 0xa19bca8355de2797L,0x1ad927ea7c6cc79dL,0x285901121d61f770L,
  73338. 0xfe80c826261c06bbL,0x4050d338aa2642bbL,0x000000000000015eL } },
  73339. /* 179 */
  73340. { { 0xc9397829eaad87bcL,0xe0ac936781e84cbdL,0xb579c24d6ade4fdeL,
  73341. 0x50b9aba5690d7f56L,0xf09b29d3d14fb0b9L,0xd0684f2325a0e7b6L,
  73342. 0x0514e9d3606f4ff3L,0xe63bdd26e8ad733bL,0x0000000000000077L },
  73343. { 0x0afd06ece0d25c6dL,0xdd90021a00ba2dcfL,0x1b0257708c5bb398L,
  73344. 0x077f06d8198ff8fcL,0x87d50ff1b7e2cd68L,0xef75e057263a3572L,
  73345. 0xbf257892fa925a9aL,0x847d3df0739d0e95L,0x0000000000000111L } },
  73346. /* 180 */
  73347. { { 0x52ab9cc7fec82924L,0x1c76dd69a7220d69L,0xa63527dea06ef0e2L,
  73348. 0xab3e51c227183904L,0xf4db35ea716807c8L,0x8f3ede0a748f1246L,
  73349. 0xf149364441156095L,0x5f6583d1874b38deL,0x00000000000000f7L },
  73350. { 0xa39189e10b927eb7L,0xa87c6359c2e2f127L,0x0b72c2337fe966f4L,
  73351. 0x102b8382105e5585L,0x63fee006e58c39f9L,0x3f052ee3991b5329L,
  73352. 0x7f5b854ccbaff97bL,0x935e5f6c5f805060L,0x000000000000016aL } },
  73353. /* 181 */
  73354. { { 0xf19a0355dfd88d38L,0x555cd8e3c549df40L,0x322729e304d006e1L,
  73355. 0xf16b706cfd0b0ce6L,0xf156dc0935f2ad31L,0xb30c5213f7a3df9fL,
  73356. 0x9f29cc92a55e5fb5L,0xa0ecfdd42b858da2L,0x0000000000000144L },
  73357. { 0xb5c115df52658a92L,0xbce3ed17c4281616L,0xa5595f707fd92a91L,
  73358. 0x663c8bfd9cd5d896L,0x0776343f5a9472b1L,0x14e44ca8b033e1bdL,
  73359. 0x27a1c9861e5c02fbL,0xece0f2c4cc4ffb32L,0x00000000000001b5L } },
  73360. /* 182 */
  73361. { { 0x17127bab31211943L,0x44a8cac65684325cL,0xd2fe0b88d855fc3eL,
  73362. 0x47abab0cce91eea5L,0x5d23ddc478ec7d12L,0xa3986de70cd9fefaL,
  73363. 0x32c7b86782655766L,0x3e54018beeaec7faL,0x0000000000000087L },
  73364. { 0xc96e86f2b38d17c1L,0x9cbfbd0c71fa040dL,0xe111ab79f88499cbL,
  73365. 0x1d47c5cef71ec80bL,0xacaa3bc146c89692L,0x5f921c0e3d316331L,
  73366. 0x31fa081ee768765bL,0xd5dafd5f41eff270L,0x00000000000000feL } },
  73367. /* 183 */
  73368. { { 0x8af10b9d4cda1348L,0xb0769fd225c3013aL,0x450aa5b18957c22bL,
  73369. 0x5cafd6c7f5acf1c4L,0xcf71a1409fef8029L,0xe12029f5ee089f5dL,
  73370. 0x9752a8fb0fbd2ba8L,0x61e2275f6f70cb58L,0x0000000000000090L },
  73371. { 0xb70a4ac51fbda16aL,0x79910e79f1dfa2a2L,0xba2ce132d9945f6fL,
  73372. 0x450d59aeeb4ba4efL,0x6a8e09b34bf2d53dL,0x76010204e620c7a8L,
  73373. 0x63f8943d0a53c6f4L,0x14c91d1987eaf56aL,0x0000000000000132L } },
  73374. /* 184 */
  73375. { { 0xe54fb120490d66c3L,0xeaed7328a0dc8204L,0xba014c3804b4294dL,
  73376. 0x3f2fa2ab31ddc467L,0x70ff55ea8342ed11L,0xb18da72f23034e0eL,
  73377. 0xadc30dbebd8ae3c1L,0x179bdf6f3e945a02L,0x000000000000009cL },
  73378. { 0x46c928ef7484c26fL,0x206b7db1ef2adbb1L,0x0887f5483f58dda7L,
  73379. 0xfde4e20c4bc7edb6L,0x484d121d975cafdcL,0xc5b5967086beec20L,
  73380. 0xb579aa88a6d6db67L,0x22c6d87e41187488L,0x0000000000000015L } },
  73381. /* 185 */
  73382. { { 0x0a890757c471d4aeL,0xfef4b1a543a1da76L,0xb892b1826aa701a1L,
  73383. 0xbf4d4e5259c65f93L,0x923af929d789df35L,0x3ccb46c60b79c3f2L,
  73384. 0x95582ce7cf4cf130L,0x7da081b4257f0ec4L,0x000000000000011cL },
  73385. { 0xf92c6ae59aeef274L,0xe6c5bf4f1437c083L,0xaa74b023e13c86afL,
  73386. 0xd21dace62a225360L,0xb3d572b822589fa5L,0x3d4a3916dfa74b0fL,
  73387. 0xe76cd8dcb12891a9L,0xa0391a3f59f4cfbdL,0x000000000000019aL } },
  73388. /* 186 */
  73389. { { 0x054ba69e203fc3f1L,0x09168ccb62106a29L,0xb0818540aad5fa9fL,
  73390. 0xecb8f20ebff7ed6fL,0x2c80a618bef94afdL,0xe25d8ca0b0abd1dbL,
  73391. 0x75e67a41028e0a7cL,0xdd7662ddd6e95b9aL,0x00000000000001b2L },
  73392. { 0x87dff279f289d7eeL,0x4d755d59eea2205cL,0xaeb0fd54c18adac6L,
  73393. 0x3a8c46cf7ec01019L,0x6fc90e7eb48d70a4L,0x965c53c110b39ef8L,
  73394. 0x455777cc38545a20L,0xa33430f757dd023eL,0x000000000000016eL } },
  73395. /* 187 */
  73396. { { 0xfa9f39490ff53d2cL,0x8dc91596b00349b9L,0xf10a5014d5997967L,
  73397. 0x4dd72daba8a6b78aL,0xef5de5408b517b10L,0x142b90bca6d39be0L,
  73398. 0xcaeaa3e9eda17f70L,0xa01689d606b31118L,0x000000000000016dL },
  73399. { 0xea6ca563f46afff7L,0x3945c7ba34a5e5f3L,0xc1ffe4c8aa998fd8L,
  73400. 0x42a60146b63f535eL,0x50816888d1f509e5L,0xd1918daa9f8cd0dbL,
  73401. 0x6505e6bb78a36772L,0x4ab03a819cc6dc66L,0x00000000000001efL } },
  73402. /* 188 */
  73403. { { 0x06089d14d376d986L,0xd0f4e077a2dc35b0L,0x1c11709a53ff2c86L,
  73404. 0xfef4ba45123c3fc8L,0x852cd5a71b656fc2L,0xb57c74891fefa8bbL,
  73405. 0x8f05383e48110b77L,0x4b55d3ad52c5a129L,0x000000000000004cL },
  73406. { 0x5110cff3f3827633L,0x086784d5e00afe96L,0xcb3878823ead32faL,
  73407. 0x3dcf4d162b91cd86L,0x078b6a58e6f3638aL,0x33792112e8b7fd42L,
  73408. 0x6964044dee5683e7L,0x3b84210f28e28433L,0x0000000000000122L } },
  73409. /* 189 */
  73410. { { 0x6c28a9a9c3ebeb27L,0xd7bcdcb53ef590f8L,0xe88a2e114dae7f37L,
  73411. 0x033522e4726ea7c9L,0x99d503868c141388L,0x59b1aeca61621575L,
  73412. 0x719fcfebfcc564d8L,0x3a577af11aeb8e36L,0x0000000000000043L },
  73413. { 0xc3f26ce06feba922L,0x5f6c83ee475a5693L,0x7f79674028bf378eL,
  73414. 0xd2a5e368bdc3f6f1L,0x3d034a0aa6ed90aeL,0x3b1c3a4c4a47cbd5L,
  73415. 0xa4f0aa6e4dce2bc8L,0x97c7af4374ca00ebL,0x00000000000001c0L } },
  73416. /* 190 */
  73417. { { 0x0037717879c28de7L,0x617aa2aaab9c330cL,0x4308182666bc61ebL,
  73418. 0xe0b5b5cf4d78b504L,0xd76a752d9870fc72L,0x3b4689f5d40b7bc5L,
  73419. 0xa97fd86787f2d03aL,0x6ab7b5eefd6060a9L,0x00000000000001c0L },
  73420. { 0xe99eadb1ffb71704L,0x436e58bb390fe3b1L,0xeecab82cab4f19aaL,
  73421. 0xda492dfae0f3d9dcL,0x2a0f54bd6e20ad12L,0xaf89fa0f7dbbd262L,
  73422. 0xdcc50a1ae8d2eb54L,0x9799f816ef7d0758L,0x00000000000000b7L } },
  73423. /* 191 */
  73424. { { 0x9ec46462104f98ccL,0x4511592272aedeaeL,0x7ae93dd07e62186fL,
  73425. 0xd17ce0268d6d69b6L,0xb5347608fd43a8f3L,0xe87f1c137c0ab797L,
  73426. 0x3bf597a8139f991dL,0xe293a85be547e0d6L,0x000000000000008dL },
  73427. { 0x0982add38ef668b1L,0xc54e6b2d611c9764L,0x3ce76b121c1d4263L,
  73428. 0x3134b28eeff64e73L,0xaf71a9ac2871612aL,0x31c88af2ba093594L,
  73429. 0x0b649112ba9108e8L,0x8febc5c55cf437daL,0x0000000000000113L } },
  73430. /* 192 */
  73431. { { 0x7e9ca589c4a2daa2L,0x18ea703c400f608cL,0x6f8cd058d5175103L,
  73432. 0x264934724abb6f29L,0x0be553e194296ab4L,0x9af9398fac51657dL,
  73433. 0xe232deec4f880ea8L,0x2f81761e67b1e1b1L,0x0000000000000137L },
  73434. { 0x51014bc73a20f662L,0x1fb7e77c49ed9502L,0x89f5096fb62b9652L,
  73435. 0x3a659c67a2e8d37eL,0x0f2b2a265804170eL,0x1674fce69ed50a34L,
  73436. 0xaaa4537efdc3c00fL,0xf3c3bfda4ce99d93L,0x0000000000000198L } },
  73437. /* 193 */
  73438. { { 0xbab1f5cd81614189L,0xc7d56c4524b259f7L,0xc7baa4b245fb415eL,
  73439. 0x302bc8dc7af6bef9L,0x91b770e074b48e82L,0x4a1336e09b6d1b1fL,
  73440. 0x285c1357e6680c97L,0x59bcb813c7ccb625L,0x000000000000012dL },
  73441. { 0xddad83b47c019927L,0xe10f2667630dfd5bL,0x15dbec5a31e05d23L,
  73442. 0x2aa6e5fa456ac460L,0x46956529243cac82L,0xc69c9c7f4dc8c9e9L,
  73443. 0xadb27e09e24a4065L,0xdfa7a34eae41301bL,0x00000000000001ccL } },
  73444. /* 194 */
  73445. { { 0x176a864d59cb1a7dL,0x4d864ca36aefb8eeL,0x0ee83acb1c22b0d8L,
  73446. 0x7e80a6ebd980df1dL,0xf582acc47f94ced9L,0xa29cd1233a72c115L,
  73447. 0xce12a2a8c7107bb7L,0x0229ca564ed80a30L,0x0000000000000150L },
  73448. { 0x9774bad52f1c180bL,0xd08be998d749aa10L,0x978c48ab56dbd1baL,
  73449. 0x6ed3e3e40afbea9aL,0x8a8be97b153dc5fcL,0xadc7f0959be93ed0L,
  73450. 0x8d2429082cee23bdL,0x417523c6dc2729deL,0x0000000000000016L } },
  73451. /* 195 */
  73452. { { 0x74eeccf16c14a31eL,0x488e2534b2de3c2dL,0xf9bb35997cec43c3L,
  73453. 0x4210459d916ac936L,0x71d15c029f7e4400L,0x8c9c7c1244553583L,
  73454. 0xcc97548dec94a467L,0x4ca678183167bad9L,0x000000000000014eL },
  73455. { 0x033af0558d0312bfL,0xbd1bf4f554161e66L,0x259945a7fa41781dL,
  73456. 0x33494da800eef1d5L,0x6c505ec079c3b8d0L,0x70ae1ade1c9f6e69L,
  73457. 0x0288f0c176830aaaL,0x7f4cfe3ba62a060cL,0x000000000000000cL } },
  73458. /* 196 */
  73459. { { 0x0d8b447d057d6006L,0x38b976e6fd71c8b0L,0x5e77e029abcf40f5L,
  73460. 0x13bee386f103a783L,0x20a6ac205e472c4bL,0x43b045f631fcb194L,
  73461. 0xe5dc1d9fc00abf49L,0x28c0bc70a5556b79L,0x00000000000001b5L },
  73462. { 0xba9d07ee8a8640b8L,0x25611023d0e34012L,0xc7ce655bbe24ae89L,
  73463. 0xe358e524fa579dcdL,0x57ce2715377bbfe5L,0x64651c6c3c0947e4L,
  73464. 0x5fbd8d50f4a97826L,0x6fcdd28fe2e1c15aL,0x000000000000008dL } },
  73465. /* 197 */
  73466. { { 0xb564a2f65c7202c8L,0x7d6340525a54b0d8L,0x8414d6721434fbf5L,
  73467. 0x8114215e1d9830a3L,0xc7a758d55ef0fbe1L,0x5705dcf8e6f57f9fL,
  73468. 0x5dd49a56d92269d3L,0x8f015d7abdb49f97L,0x00000000000000f1L },
  73469. { 0x07131110b4799ce6L,0x35bbfb992cbcb7dbL,0xc1f00c9ff7ba21e2L,
  73470. 0x009d6913b18f49feL,0x8da61951abcf959bL,0x0e6872130d42146eL,
  73471. 0x55832817ae5f23f1L,0xc9b5bb689ae7386bL,0x0000000000000143L } },
  73472. /* 198 */
  73473. { { 0x423328db48c74424L,0x32616e11d19cb2ebL,0xe534192a40d6e217L,
  73474. 0xdd83a94c0cbdc752L,0x5c623050d733bb01L,0xcd0d631a5b7a4520L,
  73475. 0xccdc0a259a4011c8L,0x22f112cc646e7cd5L,0x00000000000001e6L },
  73476. { 0x47d6e29a3e1e4c4bL,0xd5f825389fb1548aL,0x7e3705b54fd3e319L,
  73477. 0x8c4ce59a0a08b966L,0xbca749e7d8cbe8dbL,0xcc4496eaaeec3d75L,
  73478. 0x17dc723a8a1a313dL,0x250ff77a8ceb9360L,0x00000000000001a5L } },
  73479. /* 199 */
  73480. { { 0xa55a0726fe29bd79L,0x6574a8104f990b34L,0x6906946daad56983L,
  73481. 0x0e580ab950d41fefL,0xbc75b5146e6f7f45L,0x508cc97bf0f3718aL,
  73482. 0x51ba2ca4a5634087L,0x75c39077e64d8910L,0x0000000000000172L },
  73483. { 0xf37cccaff77ca6bdL,0xe0a0df41bdb18df5L,0x9f46cff8019e01f7L,
  73484. 0xbe4f3d44aa65d72bL,0x7822d8ac6e3663e9L,0x5f37f9223ef9db6dL,
  73485. 0x7f0ad39dabe4a9aaL,0xa0a57c70f69cc8baL,0x0000000000000098L } },
  73486. /* 200 */
  73487. { { 0xd9c50cf400fd5286L,0x1ea5b9d572a4b03cL,0xf5e60f9e051ae73eL,
  73488. 0xfe9b5142951b3824L,0xb034b2d09fb4d667L,0x4b537a80edc50856L,
  73489. 0x69ee10128cb0022eL,0x7c8b9e5c6a548aeeL,0x00000000000000edL },
  73490. { 0x746007bcd933619bL,0x0ce7668e2b9dfe19L,0xa9eed5d3cc6e2a2eL,
  73491. 0x35a14f5f7eebf32fL,0x75cb898d67cc4f64L,0xcb2185fc7850c16cL,
  73492. 0x09874a7645f79c96L,0x7468f8ae27db4744L,0x0000000000000139L } },
  73493. /* 201 */
  73494. { { 0xc5de68adc88684f6L,0x7c1edaab619a7dbfL,0x258d1735b27a18f5L,
  73495. 0xb27e7b658ecd89ebL,0x3d8889c6d879f7eaL,0xa8fdc96d67d5befbL,
  73496. 0xc84d86ae37bad73cL,0xc7e91976ce8e56d7L,0x00000000000001a4L },
  73497. { 0x5001a5406319ffa6L,0x0cae64ec134ec04cL,0x1f69a96cd541242cL,
  73498. 0x9da259eebf2caeeeL,0x88e7978c28bee805L,0xe9484bebb8e890e4L,
  73499. 0x0e5246d0fb227fd9L,0x8be2a54a625d6318L,0x00000000000001b7L } },
  73500. /* 202 */
  73501. { { 0xa223554af472f13aL,0xfac993b75733e91cL,0x26afe9f096c168a2L,
  73502. 0x7cfe761d4b127535L,0x84301873e77070caL,0x66b6aaadc7e7cdf6L,
  73503. 0xda2dd5eaa1562ed4L,0xa81a2e0039faf8d8L,0x0000000000000016L },
  73504. { 0xa880759c4e3de3bfL,0x0c1e2e1152f3088aL,0xcb2ded9aaa7eba5bL,
  73505. 0x4c65d5539f9c11caL,0x0ab9bd87b0dc5c19L,0xd32f8c96ca3f4b61L,
  73506. 0x49842fcc28cb5f9fL,0x31ae27ccb90e21dfL,0x00000000000000f4L } },
  73507. /* 203 */
  73508. { { 0x3b2a0a0d6a0ccd0aL,0xa3eeec825993b555L,0xb13486fd9de672a6L,
  73509. 0x8d9c51480da05dcfL,0xc4aa444d6739874dL,0xd9cf35b2e29a35c9L,
  73510. 0xd6bd9b5f89177eadL,0x9af0f59d2a0470a1L,0x00000000000001d6L },
  73511. { 0xb2f844c7ba7535fdL,0x45bd4c3da842ff39L,0x5fe149ede951974bL,
  73512. 0x6982e997fd4453ecL,0xa63f705de6c37c0eL,0x09b0f6a9d2c3ef6aL,
  73513. 0xbedd35861776a8d6L,0x4048a46aede11b78L,0x0000000000000176L } },
  73514. /* 204 */
  73515. { { 0xa47c6ee551a251d1L,0xbef4bf120d279dfdL,0x4c2d538cec518a28L,
  73516. 0x1b2b78873880be6eL,0xc69ccf8e1be9b20bL,0xe41dfeae3796a19eL,
  73517. 0x25676fc9fb50bdeaL,0x8b815a0503e180c0L,0x000000000000016aL },
  73518. { 0x2ca085f653f5ef65L,0x61dfbbf977b25105L,0x88ea87e3a3346fe6L,
  73519. 0x25ddfdee1b95f7efL,0x22074e695b65eaecL,0x11869a154c2e023bL,
  73520. 0x8601b57742e83bb5L,0x1464652cfa877e7dL,0x0000000000000015L } },
  73521. /* 205 */
  73522. { { 0x250853c857fa58f1L,0xb58a4e684ca4c670L,0x07b96d0a1b81f40dL,
  73523. 0xa4651e10558e8cbdL,0x1a64046e42e388cfL,0x51b0d53944436088L,
  73524. 0xc2bf35b3e26b8fd0L,0x4ae787095702cfceL,0x00000000000000fdL },
  73525. { 0x3c79bc29df53d498L,0x4cf31c4e1137f624L,0x93b6856c17a3cedfL,
  73526. 0x2461131c6cd9115dL,0xab30a4539228cddbL,0xe97757b68d202bf1L,
  73527. 0xa666de7ce6108612L,0xc200fe654f6026b4L,0x0000000000000051L } },
  73528. /* 206 */
  73529. { { 0xea96103cb1a2b4b5L,0x98dccbfe843c0968L,0x6a37072d986ffb5bL,
  73530. 0x2fa07af2169d3ac2L,0x8bb85b9a771371f1L,0xeae10d34e7c299efL,
  73531. 0x3d4bdc69e2372efcL,0x378df75d8dd856f1L,0x0000000000000039L },
  73532. { 0x31e902ffde7ff5d9L,0x0e9a85d2325a09caL,0xd71b93a6f4192fcdL,
  73533. 0xf52a573715b076b3L,0xd726aa866e711d1cL,0x0b61b1df2c292819L,
  73534. 0x224e575cc8015de6L,0x68e893e118b79e47L,0x00000000000001dcL } },
  73535. /* 207 */
  73536. { { 0xb7924ff96ffeda73L,0xe709f406a0da2018L,0x368e20eaf89584dfL,
  73537. 0x0095112e8355a040L,0x259d4528fd777d7cL,0xb0c495652bf8f2c8L,
  73538. 0x7f63192844c5311bL,0x698d0e4f8466d9d5L,0x00000000000000d5L },
  73539. { 0xe10d64fa015d204dL,0x7b626bfa6dd10c53L,0x087f8e63a7698c94L,
  73540. 0x525a654705337a56L,0x558e2244df5c782fL,0x48aa1e41855fbaffL,
  73541. 0x48f2218e47ee3830L,0xf2523959138463d3L,0x000000000000004dL } },
  73542. /* 208 */
  73543. { { 0x76f4fd69d8695310L,0xe28eb09f7e8768eaL,0x039c1812e0d532a8L,
  73544. 0xdda67744c572ac79L,0x1f9800e0785d6293L,0x2bfe2a5a3da76bb2L,
  73545. 0x6ed15b90a2bc7217L,0xd80e61bfd1788a8eL,0x000000000000004cL },
  73546. { 0xb9f4037016730056L,0x46f45fefdced3d43L,0x0afd763c1aa50742L,
  73547. 0x21e5c652ff92ae73L,0x6ef0830d1bb2063fL,0x18306ecc12d22540L,
  73548. 0x4edd9b3a1f15001cL,0xe4eb25b8c0cc5424L,0x00000000000001f4L } },
  73549. /* 209 */
  73550. { { 0xed61a714a1db5c18L,0x9454e61e7677074cL,0xe970fbe57bf685deL,
  73551. 0x221b0c53d2145be5L,0xb931881bee49a5f2L,0x00b91afa14b11d03L,
  73552. 0xc6aefe493ec22137L,0x50554e94526200afL,0x000000000000013cL },
  73553. { 0xd42c45e77364c92eL,0xe0500265735218e8L,0xd281da0284d3f3c5L,
  73554. 0x312f8424dbf7646bL,0xe1a88f2a485f304fL,0x583f56311127a513L,
  73555. 0xed7950c71a60e0bcL,0x92855e104b7b70a4L,0x00000000000000c6L } },
  73556. /* 210 */
  73557. { { 0x8d06185c644614e7L,0x2e906cae4749a424L,0x585412ea2587e528L,
  73558. 0x3763990ad12857cdL,0x770c7f70ba5593b5L,0xc2cf6dc4dd5d2a46L,
  73559. 0x564da4563b69a1baL,0x639f7e14187895daL,0x00000000000001c8L },
  73560. { 0x05c96b02f8589620L,0x2fe468a341e44054L,0xbf22da11096ad09cL,
  73561. 0xbc73c2989c652aeeL,0xcdef9f8b547e1b8fL,0x7073785a977dbf73L,
  73562. 0x0a92a1aa7e13552dL,0x227611403a393d3fL,0x000000000000015bL } },
  73563. /* 211 */
  73564. { { 0x89a5a7b01fbfaf32L,0x5c5a62d0be661d21L,0x47970f5ef5e3b44dL,
  73565. 0x3ea001edf43bbf62L,0xa8e74285260ae5a0L,0xeb899ebd2697c62cL,
  73566. 0x36a003e6751a7643L,0xef178c51ba0725a6L,0x00000000000000eaL },
  73567. { 0xaacf8e9f9bd51f28L,0x39febbdba8712044L,0x8780ad3a5bfc8365L,
  73568. 0x408a34cd10e6f08fL,0x8104ca108241ab0eL,0x843e71ce98a662a1L,
  73569. 0x9dce8514232048d6L,0x5cba23be1cf3d187L,0x00000000000001faL } },
  73570. /* 212 */
  73571. { { 0x2fe8c9d22973a15cL,0x66fec8ddd42979f3L,0x39af4a390b6afb3eL,
  73572. 0x0bb1e436ab65ef22L,0x8f26201e66c5fcdbL,0x3cffe8a35af4870bL,
  73573. 0x65ae286f2bb44e24L,0xda2e283a51dd1722L,0x0000000000000114L },
  73574. { 0x4a9c9a56c1e3d708L,0x4fe62d3f1cb0efa6L,0xf070298497e87540L,
  73575. 0x138b7d6b3cea46faL,0x0780634e83886263L,0x27e8428071c30909L,
  73576. 0xf0af79d7e5838647L,0xc1b86582b236a267L,0x0000000000000104L } },
  73577. /* 213 */
  73578. { { 0x32ff09eda526c894L,0x95abf12014ac7d23L,0xb6f94dcd3cd92934L,
  73579. 0xffaaeb1292e6b556L,0x193796ea1036c31bL,0xa9d237e7707ff32eL,
  73580. 0xd65a5b0d829d67b8L,0x48edb556db29248bL,0x00000000000001b3L },
  73581. { 0x6ee9f9b2ded46575L,0x496ca08affa69acfL,0xd5aeb3a1f16d37d1L,
  73582. 0x4a507db1789e5d01L,0x05e2ce29c827cc45L,0x29b6e4a52964e677L,
  73583. 0x0563b0ba4c0e46f2L,0xe75c24484bc46485L,0x00000000000000a3L } },
  73584. /* 214 */
  73585. { { 0x0fcb476fd2f6615dL,0x4b7f9b78d98da9a9L,0xe2fddf1cd2bdf107L,
  73586. 0x2bda30869b956f31L,0xf3cca2f7b596eadfL,0x91c09f8b355b2538L,
  73587. 0x46f3f6f3c6c846dbL,0x9bb9398e2a14642eL,0x00000000000001ffL },
  73588. { 0x5118d4f5a17bd645L,0x57033eabdbd6d552L,0x007e86fc734d0957L,
  73589. 0x98ca065f5f53c435L,0x9949d9bffd27dd19L,0xddc4e3046952d1caL,
  73590. 0x84cab4fb81ac101cL,0x46d079f94a56b007L,0x0000000000000003L } },
  73591. /* 215 */
  73592. { { 0x95eb8e4fa6bfdeddL,0x993a285e7a74c6f9L,0x8bd5d4d13d09a252L,
  73593. 0xeaa10be619a5f767L,0xd3db083e0cebb340L,0xc633a78b1dbf7a83L,
  73594. 0x2664bc3ec30f23e1L,0x6630f8f107a08379L,0x00000000000001c9L },
  73595. { 0xbbf4cb4bdef86a80L,0x1fa4ec783f8259abL,0xa4bf7604609532c8L,
  73596. 0x71bb7acc8b909e92L,0xca1d731717884160L,0x7f7f14beca1ab928L,
  73597. 0xbfea016e5f8455a5L,0x7b8c76b9bf21e899L,0x000000000000002dL } },
  73598. /* 216 */
  73599. { { 0x468605634b9f8e7dL,0x201176b763fc58a8L,0xe7a5da7e2feed68aL,
  73600. 0xcc67763e65183190L,0x7d7d0102e9377ad6L,0xccfc472077032321L,
  73601. 0x573ee031534bb505L,0x1bf1ef8c0f1a2769L,0x00000000000000f3L },
  73602. { 0x635f5c4b0c935667L,0x74152c39060d2b8bL,0xeffaac2e37c3a574L,
  73603. 0xfd5fcc4c0b72e0cdL,0xb743f9b9f4f60247L,0x05c2e35479e16f33L,
  73604. 0xa2234c473074ef9cL,0x4092f279495aace3L,0x0000000000000124L } },
  73605. /* 217 */
  73606. { { 0x5bfd7851b30f9170L,0x715aa1e937fce5b1L,0xcffd55e0928437b9L,
  73607. 0x88acd259c32f1273L,0x5a145cf248be1e34L,0x3a3408607a5bc62bL,
  73608. 0x6296eb1518156f46L,0x397fad192774e1c3L,0x00000000000001e7L },
  73609. { 0x362f99f49c8225b5L,0x33efce4946b77c4dL,0x451df5308541e91bL,
  73610. 0x0bd2d93438f3d693L,0x0b5de2d6e727b54eL,0x42d929c27622d940L,
  73611. 0x36ace72356f6a94bL,0x64a18cd5fccaf205L,0x0000000000000044L } },
  73612. /* 218 */
  73613. { { 0x8dbe0aababa95d63L,0x92780c617b4b346dL,0x6430f8630e0d8142L,
  73614. 0x875be02ab56ef04cL,0xc28feb95785e3633L,0xd5401795c12c93e4L,
  73615. 0x89ff51c1e36f82a3L,0x3c48c89510eeafd6L,0x000000000000016bL },
  73616. { 0x79287ebad4f064beL,0x1a77d55554ebda99L,0x46745ef2623727eaL,
  73617. 0xa911f59189f366c6L,0x7e5435cdc59d6ebdL,0x3a84daea7524d213L,
  73618. 0xc7b1dd1c4395b38dL,0xca13e7041a823c49L,0x000000000000001cL } },
  73619. /* 219 */
  73620. { { 0x6399860c874d64b0L,0x3375b0921653ce0cL,0x16700000eaa11986L,
  73621. 0x62c67909621cd15dL,0xbe1d7dd677d70dcdL,0xeff0f270305bd4cdL,
  73622. 0x076ec621362f8f30L,0x812048167e445b78L,0x00000000000001d8L },
  73623. { 0x81749a0e161f9758L,0xe60915fea3c4fce2L,0xf537ce41911dd8afL,
  73624. 0xfe36a8ac79a51a09L,0x67fb54b42ca5cf8eL,0x1bdcae07e49057f5L,
  73625. 0xb71ff0c5a4244b64L,0x4815a5364b606583L,0x0000000000000106L } },
  73626. /* 220 */
  73627. { { 0x78c69c3eef39cc39L,0x98304564fa6356d1L,0xbd3c3542412fb990L,
  73628. 0xa1d531d379dbb2a5L,0x4865f188e7e75e3dL,0x2dac4e220b0147b1L,
  73629. 0xf59e51ca33d29ab0L,0xc964f7fe37b074efL,0x00000000000000f1L },
  73630. { 0x7080c0a60e301262L,0x9a4580605390a22dL,0xda677f9acc8a9029L,
  73631. 0xdfae905714c0f1c2L,0x3665ff166e66d9f7L,0xc866dd8c47846924L,
  73632. 0xc5afe98fc4cc307cL,0x60e3ba63e0bf50e4L,0x0000000000000039L } },
  73633. /* 221 */
  73634. { { 0x1a785136959ecdb3L,0x289af617f9e959beL,0x5145b2b8cde0dc88L,
  73635. 0xfe9070b07c079e15L,0xf77f04d350e22415L,0xb3ab7372358d6d42L,
  73636. 0x14fd41b9ba7b629aL,0x7b32d80e7400fd25L,0x0000000000000193L },
  73637. { 0xe5d80d4d7147886fL,0xe08ced61576c81caL,0xe14e8692642717bbL,
  73638. 0x9dcdf198abb4bd21L,0x658be6466530308bL,0xfbf192dad99d19c7L,
  73639. 0x55a3d1b3304ab126L,0x943f4be5fa24de31L,0x000000000000000eL } },
  73640. /* 222 */
  73641. { { 0xc54240587fe9ea48L,0xaf24f82561b57486L,0x9d2c413c78719740L,
  73642. 0x27a9be7970eb874dL,0x43fef8e0b62ba3aaL,0x0a23f2862c1bf0acL,
  73643. 0x51c276f34af130e1L,0xf6cd1e9aae55cebfL,0x0000000000000185L },
  73644. { 0x24defa7f40369093L,0x11f1d9d658581e0aL,0x9900bf33e512ed9eL,
  73645. 0xbf8a8459ed120896L,0x8324555e8b73c399L,0x54a305698f6f54feL,
  73646. 0x2a9d6da53c252355L,0xe6a6f9042a093b31L,0x000000000000016aL } },
  73647. /* 223 */
  73648. { { 0xb2e123c9152cdd35L,0xae6e43a886402ef1L,0x892bf0dfb9ce5bd5L,
  73649. 0xb4acb84a75804914L,0x8c7f55fff502eec2L,0x9c8a7b93aa33ef4eL,
  73650. 0x06b10357fd9d2001L,0x3e319ff00ba3bcebL,0x0000000000000027L },
  73651. { 0x182c2f77abe360a3L,0x57ef5c84adfefca6L,0x9a4f0ca6650b6fccL,
  73652. 0x3f4f8e56aaf0b202L,0x5c8508a0a24ef156L,0xd8f62fd91ea45f13L,
  73653. 0xf2c923a028036dbeL,0x4a9ca4c01a4d103bL,0x000000000000018aL } },
  73654. /* 224 */
  73655. { { 0x2a3fb7985448e339L,0xde8770cf18a39976L,0x1160574d7a69170cL,
  73656. 0x4bb05c592b6067acL,0xde0d2db0848138abL,0x149dab924909e794L,
  73657. 0x83a336b6790315f7L,0xcd9074d9a335a258L,0x000000000000013cL },
  73658. { 0xe839c5e0ac1b784dL,0xab65c8c6ee527ae1L,0xd3c86146a1c88ec0L,
  73659. 0x2201f79046c1bf58L,0x71cec6273fda502aL,0xff3f88eb225b9065L,
  73660. 0x6c1f0c98c556dfcdL,0xaa3222aa484fa5ccL,0x00000000000000acL } },
  73661. /* 225 */
  73662. { { 0x17e74bc3c9b4dfd6L,0x25ba8053f8e76293L,0x0307dc059d8c3520L,
  73663. 0x1c9036ccb85a20b4L,0xf2c63f0a23871359L,0x1a99d9d8ca95fb4eL,
  73664. 0x3d7c4f399850c6c6L,0x162969c968299668L,0x0000000000000169L },
  73665. { 0x7d13c267cb63ee53L,0x67b12e6175eac353L,0xb3369a11191abfcaL,
  73666. 0x5ad0649dee1af69fL,0x4d7a6f0011dc11e7L,0x80f030b8db9f9765L,
  73667. 0xa20001a3f0ab1332L,0xe17c98d239d8cc62L,0x0000000000000194L } },
  73668. /* 226 */
  73669. { { 0x720d80b41d8fe898L,0x8d7a28b732184534L,0xf1f3c38504f21740L,
  73670. 0x5d381cd5166aa6afL,0x9cde6084cc560e35L,0xcb041f0a5e61e2cdL,
  73671. 0x621116f5d9b4951aL,0x509e16d37ee2ac2cL,0x00000000000000c4L },
  73672. { 0xb82a20c42c6fd79eL,0x95b7ee4e3af78b0eL,0x3d9b63c1bad819caL,
  73673. 0x10d674de98552569L,0x17de64b2f9c19d0fL,0xa03fabaf47c5e6a9L,
  73674. 0x858bc4ad2ce2db6fL,0x76c2380a1fc9d18eL,0x00000000000000c9L } },
  73675. /* 227 */
  73676. { { 0x91171ef8b064f114L,0x83cb15654f2f0f4cL,0x3052585457b262b7L,
  73677. 0x468c67010f34936cL,0xef26d2fe99a41fedL,0xf6da2267a7f7f6a9L,
  73678. 0x2563b8dba01bfc1bL,0x14b36c85c340ed40L,0x000000000000000eL },
  73679. { 0x5e57e26425db67e6L,0x85df4e897f2e905fL,0x7832e514026c4268L,
  73680. 0x312be2623e875093L,0x856b5bd83c538691L,0x5b1cae5595734f9dL,
  73681. 0x5a07bfe2d5aa4861L,0x7a4c96f0ce8abb58L,0x00000000000001d0L } },
  73682. /* 228 */
  73683. { { 0x7bf54d05523aa2e9L,0xc8841e0ced3d0860L,0x5683f6e27f9bfb69L,
  73684. 0xdcb07f44162bdf85L,0x62d1783907b0dcc9L,0xa2cbb8ab657a536eL,
  73685. 0x98b9a0d27cf47d3cL,0xff154d685eea6370L,0x00000000000001f2L },
  73686. { 0x568b768a56b232acL,0x4e8d6e363f2a52abL,0xbae87a168837fc60L,
  73687. 0xebc58a83d10a7691L,0xad5e4af0f9455fbeL,0x1a20d6c37d654e2eL,
  73688. 0x8c40fcb9da7c8255L,0x6d7b3cd760d9b931L,0x00000000000000b2L } },
  73689. /* 229 */
  73690. { { 0x7b090c3ebb2eaf45L,0xed24d91c62ffb92fL,0xbf2a3ea4a736f23dL,
  73691. 0xb5b99ebd6ff0fde3L,0xbca2b55dca1102f5L,0xf6203cd807e032a8L,
  73692. 0x5410b448a8bf17a8L,0xb86660a7e1dc55b1L,0x0000000000000109L },
  73693. { 0xb148b1da02a2fbd8L,0xfed85e8b3b22e8a5L,0x1378a0e48712b509L,
  73694. 0x68560148c6a3e516L,0x7100921c1633b503L,0x9392514325512711L,
  73695. 0x7b4931d207d31047L,0x623e722b8542e0bbL,0x00000000000000eaL } },
  73696. /* 230 */
  73697. { { 0x084823d324972688L,0x58b83c12003f5762L,0x194d66906d0d4528L,
  73698. 0x842195842c6f747eL,0xc8f8a2e90146d89aL,0x29ec1de77451bbc2L,
  73699. 0xf622b6b8f7f284faL,0x83f1dbe97b71e44fL,0x0000000000000060L },
  73700. { 0x99649333999dd56bL,0x2cfac0ba97a47de9L,0x6660d8aebbe8fb20L,
  73701. 0x47c29dd8f61d7bcaL,0x6f5fb51d85adc14dL,0xe65ac7884f9fd41cL,
  73702. 0x1ce69dd4ff513e6cL,0x1ace591effe59d3eL,0x0000000000000023L } },
  73703. /* 231 */
  73704. { { 0x2e67a438a9fda771L,0x626f652c8663100eL,0xdfb19e48e133f23bL,
  73705. 0x599f88f2035d2d1fL,0x1723a1128d13e878L,0x890aa292fb51ce07L,
  73706. 0xe5f3a70ebbd9ba82L,0xdde82673374514b4L,0x0000000000000155L },
  73707. { 0x08b2b77ed6f59a95L,0x93f853e302020420L,0x52252ac1ebac7797L,
  73708. 0x6ecdcb99b56b6676L,0x4abdb9f99722a500L,0x26210f3f04e2bad0L,
  73709. 0x0ca5a0ff3034dd4dL,0x333d8080dac0b80dL,0x0000000000000041L } },
  73710. /* 232 */
  73711. { { 0xe851070935a85a06L,0x4e166e7642ef1b44L,0x84a90b71a07b3a6dL,
  73712. 0xd6dd6c0030329e6aL,0x20c4ba653d555259L,0xee3b26af6f8ad05eL,
  73713. 0x20e3d5412ab4cccdL,0x79798934a9406424L,0x00000000000001bdL },
  73714. { 0xf2a1d1848e0c7ff0L,0xbae85efc9543b340L,0xe96431aef51d318bL,
  73715. 0xe5d3ed4e75878fa6L,0x4d2a29dbc2895f52L,0x3af278771f11067cL,
  73716. 0x6ccde9649e7f4ee5L,0x35188da1a56d74daL,0x0000000000000192L } },
  73717. /* 233 */
  73718. { { 0xb083212003d310edL,0xd20ee8cc987b0311L,0x9e549d2684c558a8L,
  73719. 0x5e25f3ceb7167ec8L,0xacf114f44bf55bb5L,0x819edc77061c9017L,
  73720. 0x759a44e6deb343c0L,0x58df9f7e04c9b5edL,0x0000000000000078L },
  73721. { 0x4fa47ebb3bf13222L,0x1e451dcdea07da11L,0x1be9fac3c0d8242fL,
  73722. 0x93257d4d36eb871eL,0xf49e775abea3190dL,0x406d191f4ebe2b33L,
  73723. 0x67aac53c0c110096L,0x5215cf8bd381ac78L,0x00000000000001f4L } },
  73724. /* 234 */
  73725. { { 0x387e8a8efa493b79L,0xb20e270b4eb1c2acL,0x9f393fa09ff22320L,
  73726. 0x5ee1baaea91c393dL,0xdeda961a138a8d96L,0x69ab238c97bd50e4L,
  73727. 0xff68d48a2363c8e0L,0xaf8e00e5ce4c4c16L,0x0000000000000158L },
  73728. { 0x6ccdcf06cfc509a1L,0x60f411efc26cc075L,0x6d0cdfd64d9c57f0L,
  73729. 0xa951485332e99cacL,0x58f9ab3d8b8e9510L,0xa7e98709b10dc3fdL,
  73730. 0x8390843d75ef3509L,0x28ccc9d05a9312c7L,0x00000000000001b6L } },
  73731. /* 235 */
  73732. { { 0x1d934f00e341463fL,0x14c8a6ce150da7a0L,0xdb4860fc4109553fL,
  73733. 0xc23bde5aa93f4a91L,0x9f47c7872cd58067L,0x1d3300548433dc80L,
  73734. 0x0c0be7f975a32a7dL,0x08b777d588c75da9L,0x000000000000012eL },
  73735. { 0xdfc1281761a10d37L,0xed7b61815c50f5a5L,0x28af95db79477c60L,
  73736. 0xa0aa2b7733c5310bL,0x905faab853118267L,0xf40e98166b41959fL,
  73737. 0x9ccb425216b37784L,0x6835d77c69866accL,0x00000000000000c5L } },
  73738. /* 236 */
  73739. { { 0xe9d714cb2b450a66L,0x1318885c7dbfdc14L,0x655a8d85b466a0c0L,
  73740. 0x02a21e995bdfc1a6L,0x7a0d7c98e67792d1L,0x2a01bb57b550a797L,
  73741. 0x42c462335d74d337L,0x7be4e1c088dad495L,0x000000000000008bL },
  73742. { 0x1873b03f95812273L,0x2e26ed32ee3f757fL,0x2c710eae6da6217aL,
  73743. 0x9b50b574261d9f4fL,0x43971fa9b7c1da2dL,0x22c4fb87c4a85de7L,
  73744. 0xf72c3451ec22137bL,0x1345668c77ba1926L,0x0000000000000173L } },
  73745. /* 237 */
  73746. { { 0x3e3e8c7a8a3ba183L,0x4e8cebbbfe389fa7L,0x8ea446870f9ba60fL,
  73747. 0x55176e35cb601a83L,0xf90bdc2612e52db4L,0x95f9e4598f712bf1L,
  73748. 0x9bd3200fbea054cdL,0x2cf19bf6dd5fd40bL,0x000000000000017aL },
  73749. { 0x71cf6ca266736febL,0xbde86f49de7cfe2fL,0xc60abce8fc290563L,
  73750. 0xaae8a3ce726b6e4fL,0xd23824453f29235bL,0xa4b557f5650ffa5eL,
  73751. 0xa1453e54113ef744L,0x7c676a533e426dd2L,0x00000000000001b0L } },
  73752. /* 238 */
  73753. { { 0xf5e603f235d96872L,0xab1a23cc3fa5b8caL,0x5459871be988dc5fL,
  73754. 0xe32e8489d430c0bdL,0x7ec269e0764d9cc3L,0xf7238212f2c0c40dL,
  73755. 0x2d946183887b83b4L,0x281fa6712f18a411L,0x0000000000000010L },
  73756. { 0x8028048f64858b37L,0xe0e149af357de5d9L,0xb2218791619ebb18L,
  73757. 0x210200b39f2b0ba0L,0x5a87eae61039cbaeL,0x4efdcddb39579d1dL,
  73758. 0x1b388eaa2788515eL,0x1a552c3cc81878aaL,0x000000000000002cL } },
  73759. /* 239 */
  73760. { { 0x7ac7f5000ea723dcL,0x0a5f04f442b15231L,0x63d49445be885c86L,
  73761. 0x61f9993fff119702L,0xc3fba45cc4c58ceaL,0xe6d151e6b9cd6036L,
  73762. 0x75a3ab1557b923bbL,0x4ec07c52ceb2fd46L,0x0000000000000147L },
  73763. { 0xc46a3d32ed88239dL,0x0d1b8ae6835ae694L,0xf4fde3259feeb2e7L,
  73764. 0x223bf71c43bc0bb5L,0x3cd220b78f62a705L,0x2224860e9fe799a5L,
  73765. 0xd855870324ab7f93L,0x8e0f7330b594958bL,0x000000000000010fL } },
  73766. /* 240 */
  73767. { { 0xaf35c7bb3c67d520L,0xd8f4958b23fca9ecL,0x0778f1948bbaa808L,
  73768. 0x418c30ce2135e8aeL,0xcdd8d9a9c888eff7L,0x72075df0f73144abL,
  73769. 0xb549c8954506a534L,0x4ef389795fbb7fc5L,0x000000000000011cL },
  73770. { 0x3fe2c9ac43f5e698L,0xce77fcbce38a5e3aL,0x6d05c90e3089c2e1L,
  73771. 0x5a74f3ffac1d5801L,0xaeeda220381b9d2aL,0xd958b143f5f3960bL,
  73772. 0x65ffd0510db7abbeL,0x8e97e6807a05b718L,0x00000000000000ceL } },
  73773. /* 241 */
  73774. { { 0x2251e61b8ce86a83L,0x8604159fbf7e7160L,0xfc127dd748f03377L,
  73775. 0x87cb2c3745052242L,0xbd4950f4934ea09bL,0x5146c403c4679441L,
  73776. 0xe8ad471023ba416aL,0x89b81a60af638eb1L,0x00000000000001b3L },
  73777. { 0xe699934ee8150c69L,0x74f75908e27c14bcL,0x5dc0a8916a0194ffL,
  73778. 0x38f49d321bd51b76L,0x6bc3305e18779630L,0xfe2f3fbffd3b4a68L,
  73779. 0x1409b377d7caf189L,0x029ea13b9b8f109bL,0x00000000000001b3L } },
  73780. /* 242 */
  73781. { { 0xef7938d225a2fd88L,0x890f2f7cceba0603L,0x4c3e1c80d7a6dff4L,
  73782. 0x00c78f362883f986L,0xed92b592998e5305L,0x018a8f1b325ddc73L,
  73783. 0x6dffd987d5d3708aL,0xdcd3554f0d1f28bbL,0x0000000000000059L },
  73784. { 0x17c6e41d23a74e7dL,0x94b61ebe5db32df6L,0x3c2fffa79e7ffa0bL,
  73785. 0x473662b72ebb7a0dL,0xa86415ee01adf9c3L,0x1502c32654679264L,
  73786. 0x169113492fa09c57L,0x897f34aa24749086L,0x0000000000000195L } },
  73787. /* 243 */
  73788. { { 0x4845d359abadc253L,0xe054b92cc797c95eL,0x22a9b5bd9a218212L,
  73789. 0x9bb80a5ea52b8827L,0xea38e78e2e61c676L,0xfb274b1a08b0f8b3L,
  73790. 0xb6aa42e3db9d854cL,0x8ba2252356012d73L,0x0000000000000163L },
  73791. { 0x7cec0e6f75c8c576L,0xabb20e7ce4bc7dd2L,0x0958a0c869d80726L,
  73792. 0xa908c66a8a023eb7L,0xca9f50ea76110b15L,0x668c9994186f61a6L,
  73793. 0x9ddf22ed2a0a69d8L,0xbfee1897bbf8a10fL,0x00000000000001e0L } },
  73794. /* 244 */
  73795. { { 0x26d8681848319e4fL,0x6be6f6b55a586fa0L,0xbef5d88626713265L,
  73796. 0xac252ac598529cfaL,0xe7cc45f162b29cfbL,0xee050609a2a6358dL,
  73797. 0xf7cb9ca42940ac70L,0xfb44aaeca885b1f0L,0x00000000000001adL },
  73798. { 0x66b7a936e798678eL,0xca01e10399540438L,0xf2491e37816860b7L,
  73799. 0xeeffd483b745d857L,0x5dbb3628a4705ed6L,0x57d68d49b2a5d0f7L,
  73800. 0xd1a8529a2389fee3L,0xdbbc25491a7fd686L,0x00000000000001adL } },
  73801. /* 245 */
  73802. { { 0xe10cba20969686a3L,0x308b1c55e3c053f5L,0x1712b13426f47102L,
  73803. 0x1f9165b149033038L,0x45b720172d01527bL,0x6fcf6647aa9a34e2L,
  73804. 0x51f54b94b0be35c8L,0xfccb22a55a15e382L,0x00000000000000e3L },
  73805. { 0xaa71e4ec5b4dc0beL,0xbb136248db1cd5c4L,0xf36bff43046e1007L,
  73806. 0x5a6806d7da9c99a3L,0x9cbfc6ee8349bc50L,0x26871e73e13e0850L,
  73807. 0x5e6aa22767f448c1L,0xba77787c2da7baf9L,0x00000000000001b9L } },
  73808. /* 246 */
  73809. { { 0x1abe58eec5a73375L,0x175df69d7a8ac438L,0x2cf3150aceca835aL,
  73810. 0xb87b0609f507d30fL,0x9ae53a2bc60b0424L,0x4931e182410f90ecL,
  73811. 0x452c7d0fadd689bbL,0xab45349147631a8eL,0x0000000000000013L },
  73812. { 0xaf2dd8568c84f3afL,0x829dc0921baae33eL,0x46542a858b96b070L,
  73813. 0x42260d40e8a82516L,0xb9e5edac5c35322bL,0xbca7956039eda0d2L,
  73814. 0x86bd07c6b962b90aL,0x2e22dac7b1ec5302L,0x000000000000010aL } },
  73815. /* 247 */
  73816. { { 0x665fc09d239d8f0aL,0x92b2e03cab8a1021L,0xe43697680173477bL,
  73817. 0xab38ed9f8e361604L,0x79b0091d9eb061beL,0xcd4226543e845670L,
  73818. 0xa0f77ec72fe1a2e0L,0x1d242162760a030fL,0x0000000000000093L },
  73819. { 0xfa9f834cf8646bc3L,0x7df94a5240ae96f9L,0x901c3890379177d1L,
  73820. 0x9dfd0644ffeb66cdL,0x81aec2ec77b92465L,0x2df3b7f2cd981d4fL,
  73821. 0xc9bc3f69f377b093L,0xdaef34f3dd859d8bL,0x0000000000000125L } },
  73822. /* 248 */
  73823. { { 0xac08451ba2c123bcL,0xd1e83a680818fa54L,0x56dd570298957b8aL,
  73824. 0xcc7f2e34f0f12f16L,0x1f6a9c330a9fa14dL,0xefc9a2bbb2fe782cL,
  73825. 0xd319c697709f54ddL,0x0b8238cbd6460a53L,0x00000000000001dcL },
  73826. { 0xf649290144dfb6f6L,0x270d7cb46e401d26L,0x1a70a40e48537ad8L,
  73827. 0x84d661b570d8dbd9L,0xca27223af170d58bL,0xeeb4cf146344e1d2L,
  73828. 0x2255fc95ab9de1faL,0xcd6e110adbdc5ea7L,0x00000000000001f8L } },
  73829. /* 249 */
  73830. { { 0x2a57c6b978b8a0a7L,0x24b4aeb6e833edeaL,0x9e4617c14bd13fe7L,
  73831. 0xc4186888fc2e8ee4L,0x8d398a49fb147eefL,0xe9f191f12e662cfbL,
  73832. 0x61872289958ba2ecL,0xbd6d0f1b00b8d50dL,0x000000000000002dL },
  73833. { 0x895cfdfe24c93cc9L,0x29ed7780b9e718e7L,0x01c8ba5838baf7ebL,
  73834. 0x0225387e4ddcbf69L,0x64b250bfa180d6bbL,0x6d68e548c947c7c2L,
  73835. 0x82a7b6329923f3cdL,0xb8f036132d103cd2L,0x000000000000000fL } },
  73836. /* 250 */
  73837. { { 0x8198b3f08cd9d494L,0x9b2065b994f4f9f3L,0x7664a2203c738fa9L,
  73838. 0x199f4c14d8d229cbL,0xddad75c4c51c54b3L,0x9a32ce0bd213a332L,
  73839. 0xf3a21085888c7b2fL,0x6defa3625b1ff20aL,0x00000000000000d1L },
  73840. { 0x44e0054819a296ebL,0x1d94ff15d1a91313L,0xd7dead2bfeaa454fL,
  73841. 0xae65a8034d40bd7fL,0x604f147e1801a4afL,0x983048f9a5e0de77L,
  73842. 0xa3b19ca5ff572ca0L,0xa237dba71821d117L,0x00000000000000e0L } },
  73843. /* 251 */
  73844. { { 0xedbabf8491630ee8L,0xde6589c205eb5301L,0x9f7d2b2da051f47bL,
  73845. 0xaeaa9f96212bbe81L,0xdced3d5e94292124L,0x691f5b89f4435e5bL,
  73846. 0x19604c339411f66fL,0xb7fc09ca4356f0daL,0x00000000000000e6L },
  73847. { 0x1294e413f74f811cL,0x1a42d831df8d8ddbL,0x27f57217963418c9L,
  73848. 0x5fde521888ebcdecL,0xfdd5e06eea305bc9L,0xed1e6088ac668b61L,
  73849. 0x333af016eb811861L,0x5ecb192d15ddcebcL,0x00000000000001c9L } },
  73850. /* 252 */
  73851. { { 0x927b37a3e0bde442L,0xe0543fe866f7a73eL,0xd30d9d208ed10c2eL,
  73852. 0xaf79c341a6617a32L,0xe7367870d1d5cf8bL,0x02d0dce9e3abcf8bL,
  73853. 0xfe23d2dd772b5e7bL,0x29fceea01ffc70c5L,0x000000000000010bL },
  73854. { 0x31bcae4d62d803ffL,0x93ee913fdbc306a9L,0xaf1de7abd8c10662L,
  73855. 0xd485782ae7a6d658L,0x9126592e102f4e06L,0x91a3127f136fafe6L,
  73856. 0x46b9344088371213L,0x53bb4380a31e1634L,0x00000000000000baL } },
  73857. /* 253 */
  73858. { { 0x62e517fcca5636b0L,0x4296e0216aba15c7L,0x5aa8fd7c212e7b2dL,
  73859. 0x9517ce6d5717ad84L,0xe762b85b98b2f357L,0x42f996b5df59b07cL,
  73860. 0xf3732abbf37ef6f0L,0xa5d145ea4542b489L,0x000000000000015dL },
  73861. { 0x1e77c55eaa7f6e3fL,0x3f4d99a7aa4a05bcL,0xa56d7d7745828227L,
  73862. 0xdb0895fb77b748fbL,0x1c484cce0629f5d1L,0xf5b1c90a359803fbL,
  73863. 0x43ac4f291720b8d0L,0x8c10bfe872ac13f2L,0x00000000000000e9L } },
  73864. /* 254 */
  73865. { { 0x9d1c4785c06c4fd6L,0xbf4b9025d25c2b9dL,0x04135eb1d4982f24L,
  73866. 0x3ab3edc2ba4fef2bL,0x55a5239f98de07abL,0xd5fc49ab096f4b7dL,
  73867. 0xc50a29603844c815L,0xdb1148d015676b2bL,0x0000000000000047L },
  73868. { 0xc49f9cc510f3bad9L,0x490888fc022901d4L,0x917a55ebc47b44dfL,
  73869. 0x20b2ebc6f39f2b68L,0x0c58e3af04e9962aL,0x52ab7c1b573dd5b7L,
  73870. 0x2b54add6a329f76cL,0x59dad1eb82f4ca3bL,0x0000000000000108L } },
  73871. /* 255 */
  73872. { { 0x662c4128a182d1adL,0x7751796e20916c45L,0xa7704272ba681647L,
  73873. 0xfac8b0fab92c85c1L,0x207ab2dfaefb2e07L,0xc73530a07861b32dL,
  73874. 0x63dbed6588aed145L,0x547bcdca0a53a49dL,0x00000000000000bdL },
  73875. { 0xa7c1382f87056b51L,0xc3d91edb130f9912L,0xf7c7de46d3805b42L,
  73876. 0x456101ebfd31a995L,0x1efd22b4cd3fb8aaL,0xfe391df79eb17bceL,
  73877. 0xb4d4c0c6616c0c32L,0x19f023be711beef4L,0x0000000000000112L } },
  73878. };
  73879. /* Multiply the base point of P521 by the scalar and return the result.
  73880. * If map is true then convert result to affine coordinates.
  73881. *
  73882. * Stripe implementation.
  73883. * Pre-generated: 2^0, 2^65, ...
  73884. * Pre-generated: products of all combinations of above.
  73885. * 8 doubles and adds (with qz=1)
  73886. *
  73887. * r Resulting point.
  73888. * k Scalar to multiply by.
  73889. * map Indicates whether to convert result to affine.
  73890. * ct Constant time required.
  73891. * heap Heap to use for allocation.
  73892. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  73893. */
  73894. static int sp_521_ecc_mulmod_base_9(sp_point_521* r, const sp_digit* k,
  73895. int map, int ct, void* heap)
  73896. {
  73897. return sp_521_ecc_mulmod_stripe_9(r, &p521_base, p521_table,
  73898. k, map, ct, heap);
  73899. }
  73900. #endif /* WC_NO_CACHE_RESISTANT */
  73901. #else
  73902. /* The index into pre-computation table to use. */
  73903. static const uint8_t recode_index_9_7[130] = {
  73904. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  73905. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  73906. 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  73907. 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
  73908. 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49,
  73909. 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33,
  73910. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  73911. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  73912. 0, 1,
  73913. };
  73914. /* Whether to negate y-ordinate. */
  73915. static const uint8_t recode_neg_9_7[130] = {
  73916. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  73917. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  73918. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  73919. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  73920. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  73921. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  73922. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  73923. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  73924. 0, 0,
  73925. };
  73926. /* Recode the scalar for multiplication using pre-computed values and
  73927. * subtraction.
  73928. *
  73929. * k Scalar to multiply by.
  73930. * v Vector of operations to perform.
  73931. */
  73932. static void sp_521_ecc_recode_7_9(const sp_digit* k, ecc_recode_521* v)
  73933. {
  73934. int i;
  73935. int j;
  73936. uint8_t y;
  73937. int carry = 0;
  73938. int o;
  73939. sp_digit n;
  73940. j = 0;
  73941. n = k[j];
  73942. o = 0;
  73943. for (i=0; i<75; i++) {
  73944. y = (int8_t)n;
  73945. if (o + 7 < 64) {
  73946. y &= 0x7f;
  73947. n >>= 7;
  73948. o += 7;
  73949. }
  73950. else if (o + 7 == 64) {
  73951. n >>= 7;
  73952. if (++j < 9)
  73953. n = k[j];
  73954. o = 0;
  73955. }
  73956. else if (++j < 9) {
  73957. n = k[j];
  73958. y |= (uint8_t)((n << (64 - o)) & 0x7f);
  73959. o -= 57;
  73960. n >>= o;
  73961. }
  73962. y += (uint8_t)carry;
  73963. v[i].i = recode_index_9_7[y];
  73964. v[i].neg = recode_neg_9_7[y];
  73965. carry = (y >> 7) + v[i].neg;
  73966. }
  73967. }
  73968. #ifndef WC_NO_CACHE_RESISTANT
  73969. /* Touch each possible entry that could be being copied.
  73970. *
  73971. * r Point to copy into.
  73972. * table Table - start of the entires to access
  73973. * idx Index of entry to retrieve.
  73974. */
  73975. static void sp_521_get_entry_65_9(sp_point_521* r,
  73976. const sp_table_entry_521* table, int idx)
  73977. {
  73978. int i;
  73979. sp_digit mask;
  73980. r->x[0] = 0;
  73981. r->x[1] = 0;
  73982. r->x[2] = 0;
  73983. r->x[3] = 0;
  73984. r->x[4] = 0;
  73985. r->x[5] = 0;
  73986. r->x[6] = 0;
  73987. r->x[7] = 0;
  73988. r->x[8] = 0;
  73989. r->y[0] = 0;
  73990. r->y[1] = 0;
  73991. r->y[2] = 0;
  73992. r->y[3] = 0;
  73993. r->y[4] = 0;
  73994. r->y[5] = 0;
  73995. r->y[6] = 0;
  73996. r->y[7] = 0;
  73997. r->y[8] = 0;
  73998. for (i = 1; i < 65; i++) {
  73999. mask = 0 - (i == idx);
  74000. r->x[0] |= mask & table[i].x[0];
  74001. r->x[1] |= mask & table[i].x[1];
  74002. r->x[2] |= mask & table[i].x[2];
  74003. r->x[3] |= mask & table[i].x[3];
  74004. r->x[4] |= mask & table[i].x[4];
  74005. r->x[5] |= mask & table[i].x[5];
  74006. r->x[6] |= mask & table[i].x[6];
  74007. r->x[7] |= mask & table[i].x[7];
  74008. r->x[8] |= mask & table[i].x[8];
  74009. r->y[0] |= mask & table[i].y[0];
  74010. r->y[1] |= mask & table[i].y[1];
  74011. r->y[2] |= mask & table[i].y[2];
  74012. r->y[3] |= mask & table[i].y[3];
  74013. r->y[4] |= mask & table[i].y[4];
  74014. r->y[5] |= mask & table[i].y[5];
  74015. r->y[6] |= mask & table[i].y[6];
  74016. r->y[7] |= mask & table[i].y[7];
  74017. r->y[8] |= mask & table[i].y[8];
  74018. }
  74019. }
  74020. #endif /* !WC_NO_CACHE_RESISTANT */
  74021. static const sp_table_entry_521 p521_table[4875] = {
  74022. /* 0 << 0 */
  74023. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  74024. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  74025. /* 1 << 0 */
  74026. { { 0xf97e7e31c2e5bd66L,0x3348b3c1856a429bL,0xfe1dc127a2ffa8deL,
  74027. 0xa14b5e77efe75928L,0xf828af606b4d3dbaL,0x9c648139053fb521L,
  74028. 0x9e3ecb662395b442L,0x858e06b70404e9cdL,0x00000000000000c6L },
  74029. { 0x88be94769fd16650L,0x353c7086a272c240L,0xc550b9013fad0761L,
  74030. 0x97ee72995ef42640L,0x17afbd17273e662cL,0x98f54449579b4468L,
  74031. 0x5c8a5fb42c7d1bd9L,0x39296a789a3bc004L,0x0000000000000118L } },
  74032. /* 2 << 0 */
  74033. { { 0xf43e3933ba6d783dL,0xcf2fa364d60fd967L,0xaa104a3a35c5af41L,
  74034. 0xb3b204da6ef55507L,0x2c6e5505d769be97L,0x7403279b1ccc0635L,
  74035. 0x2fcb288148c28274L,0x3c219024277e7e68L,0x0000000000000043L },
  74036. { 0x1be356d661f41b02L,0xeafcbe95edc0f4f7L,0x93937fa99a3248f4L,
  74037. 0xb3e377de9f251f6bL,0xab21a29906c42dbbL,0xc6b5107c4da97740L,
  74038. 0xa7f3eceeeed3f0b5L,0xbb8cc7f86db26700L,0x00000000000000f4L } },
  74039. /* 3 << 0 */
  74040. { { 0xa5919d2ede37ad7dL,0xaeb490862c32ea05L,0x1da6bd16b59fe21bL,
  74041. 0xad3f164a3a483205L,0xe5ad7a112d7a8dd1L,0xb52a6e5b123d9ab9L,
  74042. 0xd91d6a64b5959479L,0x3d352443de29195dL,0x00000000000001a7L },
  74043. { 0x5f588ca1ee86c0e5L,0xf105c9bc93a59042L,0x2d5aced1dec3c70cL,
  74044. 0x2e2dd4cf8dc575b0L,0xd2f8ab1fa355ceecL,0xf1557fa82a9d0317L,
  74045. 0x979f86c6cab814f2L,0x9b03b97dfa62ddd9L,0x000000000000013eL } },
  74046. /* 4 << 0 */
  74047. { { 0xfbc87412871902f3L,0xa1d5025b08e5a5e2L,0xe8b88e9f078af066L,
  74048. 0x8659e24afe3d0750L,0x06c5d55541d3ceacL,0xc61c891c5ff39afcL,
  74049. 0x54b483487c9070cdL,0xb5df64ae2ac204c3L,0x0000000000000035L },
  74050. { 0xe21f47fc346e4d0dL,0xbb7faef04699d1d9L,0x5224f750a95b85eeL,
  74051. 0x79f283e54ba38540L,0x5ae63fe2f19907f2L,0x5521aef6e6e32e1bL,
  74052. 0x73e0178eb0b4abb6L,0x096f84261279d2b6L,0x0000000000000082L } },
  74053. /* 5 << 0 */
  74054. { { 0xd5ab5096ec8f3078L,0x29d7e1e6d8931738L,0x7112feaf137e79a3L,
  74055. 0x383c0c6d5e301423L,0xcf03dab8f177ace4L,0x7a596efdb53f0d24L,
  74056. 0x3dbc3391c04eb0bfL,0x2bf3c52927a432c7L,0x0000000000000065L },
  74057. { 0x173cc3e8deb090cbL,0xd1f007257354f7f8L,0x311540211cf5ff79L,
  74058. 0xbb6897c9072cf374L,0xedd817c9a0347087L,0x1cd8fe8e872e0051L,
  74059. 0x8a2b73114a811291L,0xe6ef1bdd6601d6ecL,0x000000000000015bL } },
  74060. /* 6 << 0 */
  74061. { { 0x23731bedf79206b9L,0x2f66e95657f380aeL,0xe0727a239531be8cL,
  74062. 0x5fbcca16153f7394L,0x981506ade4ab0152L,0x623d30977fd71cf3L,
  74063. 0x2eff34f94480d195L,0x4569d6cdb5921953L,0x00000000000001eeL },
  74064. { 0x1eaccd7858d44f17L,0x3dc7b8b55ca0dadeL,0xf96c984de274f220L,
  74065. 0xcab72d0e56648c9dL,0x7240a926201a8a96L,0x2aabbb73da5a808eL,
  74066. 0xe2dd270546e3b111L,0x0255ad0cc64f586aL,0x00000000000001deL } },
  74067. /* 7 << 0 */
  74068. { { 0x01cead882816ecd4L,0x6f953f50fdc2619aL,0xc9a6df30dce3bbc4L,
  74069. 0x8c308d0abfc698d8L,0xf018d2c2f7114c5dL,0x5f22e0e8f5483228L,
  74070. 0xeeb65fda0b073a0cL,0xd5d1d99d5b7f6346L,0x0000000000000056L },
  74071. { 0x5c6b8bc90525251bL,0x9e76712a5ddefc7bL,0x9523a34591ce1a5fL,
  74072. 0x6bd0f293cdec9e2bL,0x71dbd98a26cbde55L,0xb5c582d02824f0ddL,
  74073. 0xd1d8317a39d68478L,0x2d1b7d9baaa2a110L,0x000000000000003dL } },
  74074. /* 8 << 0 */
  74075. { { 0x86f9ea54aa78ce68L,0xb56289b5a6f40405L,0x8b598c1bc8d79e1aL,
  74076. 0x5bfea5b8579f49f0L,0x8b8a3b05f826298fL,0xd4e29d8a9b003e0aL,
  74077. 0xa8348396b010e25bL,0x22c40fb6301f7262L,0x0000000000000008L },
  74078. { 0x8ad642f11f17801cL,0x9f3ba94009471353L,0xf0ba0df065c57869L,
  74079. 0x89e9c0aa5911b4bfL,0x5083de610677a8f1L,0x44f8ede9e2c0715bL,
  74080. 0x48fdab6e78853b9aL,0x31911d5542fc4820L,0x0000000000000163L } },
  74081. /* 9 << 0 */
  74082. { { 0x1f45627967cbe207L,0x4f50babd85cd2866L,0xf3c556df725a318fL,
  74083. 0x7429e1396134da35L,0x2c4ab145b8c6b665L,0xed34541b98874699L,
  74084. 0xa2f5bf157156d488L,0x5389e359e1e21826L,0x0000000000000158L },
  74085. { 0x3aa0ea86b9ad2a4eL,0x736c2ae928880f34L,0x0ff56ecf4abfd87dL,
  74086. 0x0d69e5756057ac84L,0xc825ba263ddb446eL,0x3088a654ee1cebb6L,
  74087. 0x0b55557a27ae938eL,0x2e618c9a8aedf39fL,0x000000000000002aL } },
  74088. /* 10 << 0 */
  74089. { { 0x87ff09a04f2f3320L,0x7c2e411f1a8e819aL,0x9daa4da9842093f3L,
  74090. 0xa2c7c178fcc26329L,0x4a9246b11ada8910L,0x901d879ac09ac7c3L,
  74091. 0xfcfe7bb6721ec4cdL,0xeb8f22bda61f281dL,0x0000000000000190L },
  74092. { 0x2954bc98135ec759L,0xf3689639739faa17L,0x536f6163dc57ebefL,
  74093. 0xbf5349d44d9864bbL,0xa97fd78a62ef62d2L,0xc2eeb2144251b20bL,
  74094. 0xbaeab3b0ca2ba760L,0x5d96b8491614ba9dL,0x00000000000001ebL } },
  74095. /* 11 << 0 */
  74096. { { 0xecc0e02dda0cdb9aL,0x015c024fa4c9a902L,0xd19b1aebe3191085L,
  74097. 0xf3dbc5332663da1bL,0x43ef2c54f2991652L,0xed5dc7ed7c178495L,
  74098. 0x6f1a39573b4315cfL,0x75841259fdedff54L,0x000000000000008aL },
  74099. { 0x58874f92ce48c808L,0xdcac80e3f4819b5dL,0x3892331914a95336L,
  74100. 0x1bc8a90e8b42a4abL,0xed2e95d4e0b9b82bL,0x3add566210bd0493L,
  74101. 0x9d0ca877054fb229L,0xfb303fcbba212984L,0x0000000000000096L } },
  74102. /* 12 << 0 */
  74103. { { 0x7be69571bf842d8cL,0x3774c75c530928b1L,0x477fee9a60e93801L,
  74104. 0x44e90b7c3fb81b31L,0x107cf7a5967713a6L,0x81874157958457b6L,
  74105. 0xe4fae9749c7fde1eL,0xd9dcec93f8221c5dL,0x00000000000001c0L },
  74106. { 0x79e7b1a3281b17f0L,0x884ba72224f5ae6cL,0xcc10a6f951b9b630L,
  74107. 0xd6d18843d86fcdb6L,0x5e404abf6a17c097L,0x63fe65ab71494da4L,
  74108. 0x3ce1d103a682ca47L,0x48b5946a4927c0feL,0x0000000000000140L } },
  74109. /* 13 << 0 */
  74110. { { 0x1887848d32fbcda7L,0x4bec3b00ab38eff8L,0x3550a5e79ab88ee9L,
  74111. 0x32c45908e03c996aL,0x4eedd2beaf5b8661L,0x93f736cde1b4c238L,
  74112. 0xd7865d2b4924861aL,0x3e98f984c396ad9cL,0x000000000000007eL },
  74113. { 0x291a01fb022a71c9L,0x6199eaaf9117e9f7L,0x26dfdd351cbfbbc3L,
  74114. 0xc1bd5d5838bc763fL,0x9c7a67ae5c1e212aL,0xced50a386d5421c6L,
  74115. 0x1a1926daa3ed5a08L,0xee58eb6d781feda9L,0x0000000000000108L } },
  74116. /* 14 << 0 */
  74117. { { 0x2c9e682dd3432d74L,0x6767f6b812efbf5dL,0x79df3e4b7bc744aaL,
  74118. 0x74fc06c8b897222dL,0xd4fb0babe0b31999L,0x958b401494116a2fL,
  74119. 0xe1b8ccfaaf84ded1L,0x5bc7dc551b1b65a9L,0x0000000000000187L },
  74120. { 0x41669f852700d54aL,0x5b690f53a87c84beL,0x11e89bf1d133dc0dL,
  74121. 0xd07781b1b4f3584cL,0x0847ce9b86d7ed62L,0x8470122b8e51826aL,
  74122. 0xd66290bbabb4bdfbL,0xa4923575dacb5bd2L,0x000000000000005cL } },
  74123. /* 15 << 0 */
  74124. { { 0xe9afe337bcb8db55L,0x9b8d96981e3f92bdL,0x7875bd1c8fc0331dL,
  74125. 0xb91cce27dbd00ffeL,0xd697b532df128e11L,0xb8fbcc30b40a0852L,
  74126. 0x41558fc546d4300fL,0x6ad89abcb92465f0L,0x000000000000006bL },
  74127. { 0x56343480a1475465L,0x46fd90cc446abdd9L,0x2148e2232c96c992L,
  74128. 0x7e9062c899470a80L,0x4b62106997485ed5L,0xdf0496a9bad20cbaL,
  74129. 0x7ce64d2333edbf63L,0x68da271571391d6aL,0x00000000000001b4L } },
  74130. /* 16 << 0 */
  74131. { { 0x3a6c508f81a8402fL,0x0dbf5c8007dcdc53L,0xe5965da7985630dfL,
  74132. 0x943ff18861ca00a0L,0xd632f8d20b188a52L,0x2a87f66192fd3f3dL,
  74133. 0xda97da26ac743b0bL,0x7d10d8a89c8ad05dL,0x00000000000001d1L },
  74134. { 0x52e272f89bc73abeL,0x9e3004d28d186333L,0x0b3075ac9d998852L,
  74135. 0xc182e1398db547aaL,0xc7ca30c94b6b82c1L,0x1335e4c3b800d50eL,
  74136. 0xc714b18d3d3e6972L,0x37343c582d77001fL,0x000000000000007aL } },
  74137. /* 17 << 0 */
  74138. { { 0x76f817a853110ae0L,0xf8c3042af0d1a410L,0xdf4e799b5681380fL,
  74139. 0x760a69e674fe0287L,0xd66524f269250858L,0x99ee9e269fa2b3b4L,
  74140. 0xa0b874645923906aL,0x0ddb707f130eda13L,0x00000000000001b0L },
  74141. { 0x35b9cb7c70e64647L,0xe6905594c2b755f5L,0xd2f6757f16adf420L,
  74142. 0xf9da564ef6dd0bf0L,0x8d68ac2b22a1323dL,0xb799534cf69910a9L,
  74143. 0xc111d4e4aeddd106L,0x683f1d7db16576dbL,0x0000000000000085L } },
  74144. /* 18 << 0 */
  74145. { { 0xfdf44d01dd99c61dL,0x84ce572f5a15c423L,0x2f0702c3096dec08L,
  74146. 0x6edbb8525bffe522L,0xbd0cfe367de4666dL,0xf7e86dbc7bf99a7aL,
  74147. 0xcb2edcc5b63d1281L,0x33425e72a12779eaL,0x00000000000001bcL },
  74148. { 0x35d841e2d8f9a86aL,0xa79fe15b19f84fd1L,0x915d1b4b45209b9dL,
  74149. 0x234aeb201f7a9133L,0x2c8e4a00ac84c044L,0x4fb07ce0d196f255L,
  74150. 0xe3e74d33d9e63d02L,0x06e999885b63535dL,0x000000000000010dL } },
  74151. /* 19 << 0 */
  74152. { { 0x78ff0b2418d6a19bL,0xfecf431e725bbde4L,0x9232557d7a45970dL,
  74153. 0xfa3b309636266967L,0xfff0acdb3790e7f1L,0x45b77e0755df547eL,
  74154. 0xc0f948c2d5a1a072L,0x8dcce486419c3487L,0x0000000000000099L },
  74155. { 0xa9091a695bfd0575L,0xf5a4d89ea9fbfe44L,0xb0ec39991631c377L,
  74156. 0x73ad963ff2eb8cf9L,0xcc50eee365457727L,0x67d28aee2b7bcf4aL,
  74157. 0xc3942497535b245dL,0xd5da0626a021ed5cL,0x0000000000000137L } },
  74158. /* 20 << 0 */
  74159. { { 0xe2603bfb11b0344fL,0xad792e43b74e16d8L,0x11dd48b9bdb3cd5cL,
  74160. 0x09506339cb1049cbL,0x2e968fbed342b517L,0xbd767c2ab0d93fb1L,
  74161. 0x3deeae39cc6f8cc2L,0xdd7f1b889598a465L,0x000000000000018bL },
  74162. { 0xdd3287fed0990f94L,0x37ccb22eee9cfc94L,0xedfaec1030da8ef8L,
  74163. 0x4da3bdddc6d4eae7L,0x546c550952d31120L,0x9ee7f52b410b9444L,
  74164. 0x6908296959bf0af8L,0xaadbe63f68ca5b6bL,0x00000000000000c5L } },
  74165. /* 21 << 0 */
  74166. { { 0x42ef399693c8c9edL,0x37ac920393a46d2dL,0xd9497eaed827d75bL,
  74167. 0x46257eae4d62a309L,0x19523e759c467fa9L,0x268bb98c2ed15e98L,
  74168. 0x3cc8550859ed3b10L,0xcbb2c11a742bd2fbL,0x00000000000001a1L },
  74169. { 0xe60bc43c9cba4df5L,0x7c9b0f17649ccb61L,0xbeb43a372c63eec5L,
  74170. 0xdf741a53da483295L,0x180a296f6bafa7f7L,0xe83c0059c5193e6cL,
  74171. 0x2c12da7c5e40ce62L,0x209d7d4f8eeb3d48L,0x000000000000011aL } },
  74172. /* 22 << 0 */
  74173. { { 0x4e38650bb6f5a561L,0x904b3a12cae0af93L,0xadfffcca8b28ca1fL,
  74174. 0x74cbfe1018ffcd40L,0xbde3122096c4089fL,0xa7facca319d4b7aaL,
  74175. 0xf1f6e66dc1eae621L,0x00ce6190c6d36ca5L,0x0000000000000097L },
  74176. { 0x64319ad5a535acadL,0x5c43427efea6210dL,0x2f22ec132ed14e5cL,
  74177. 0xf40ac9cdadfe028aL,0x95e0fd06c5b46824L,0xbe4a8d24e415f9c1L,
  74178. 0x61c78fad62100104L,0x78827e13569356b0L,0x00000000000001fbL } },
  74179. /* 23 << 0 */
  74180. { { 0xa1c6a5ece2af535cL,0x07e1f1ac26ae5806L,0xe9e3f8e9a5ec53e2L,
  74181. 0x1f6f83fc9af5b0afL,0x490d234d0cdd4510L,0xee7a39ba785fb282L,
  74182. 0xdb1cacec5f547b8eL,0x0b275d7290159376L,0x00000000000001aeL },
  74183. { 0xd815c3536fa0d000L,0x213b4450a8d23856L,0x3c27b27bb07dd0c2L,
  74184. 0x10843361ee97fcf4L,0xb431647844c2dc0eL,0x7d759ff890d05832L,
  74185. 0x68a2858fc068471cL,0xc97a825e53853806L,0x00000000000000f2L } },
  74186. /* 24 << 0 */
  74187. { { 0x44a18c28b69bcef2L,0xc710838fa0a4198fL,0x6fdefaa4a86f6559L,
  74188. 0x93ad7a9b2d0e4f66L,0x91391a8862c2cd7fL,0x0e49a0e6ec407366L,
  74189. 0xb447ce5d4930becfL,0x8e98d1008e9d525dL,0x0000000000000096L },
  74190. { 0x8a0b537a0b446729L,0x0575ce65dd7dd9fdL,0x8385e09fa134f793L,
  74191. 0xa48f492cf3d07536L,0xb4cd2b81880aa962L,0xa555cd2f64a2b032L,
  74192. 0xe44476658a352aa7L,0xa7e96f293f75117cL,0x00000000000001e1L } },
  74193. /* 25 << 0 */
  74194. { { 0x3f8c2460bf70ace0L,0xe41e0eb1c25d3fb1L,0x56e87e2aa648ff27L,
  74195. 0xa91856917c36ee4dL,0x1c772c8c5499994aL,0x0073102651b107b1L,
  74196. 0xa35874a6f5dff9d2L,0xe84c6d5c5a9a1834L,0x0000000000000154L },
  74197. { 0x4325bce404c78230L,0xeede2a54672e6b6dL,0xd1e2370a6a5972f5L,
  74198. 0xdee3543572fbc1a0L,0xf66c2888151666a6L,0x15a923eb0022a0c7L,
  74199. 0xe22a28f80bb60d3fL,0x0fdce9171910473aL,0x00000000000000cdL } },
  74200. /* 26 << 0 */
  74201. { { 0x60d9e9a7e8c685c6L,0x68dd29c10c73e410L,0x007102d5dd038ed7L,
  74202. 0xf686bfc27593b717L,0x09bc2cbefa11d6aeL,0x31a02407e9a85766L,
  74203. 0xd9857bb0c04dcd13L,0x61bd55cc8b533222L,0x000000000000017bL },
  74204. { 0xe74aacc5b9b4844bL,0x5b8bff6c058ff572L,0xd74b5b2ac347d133L,
  74205. 0xb4ddb8a4191a4648L,0xcbdc724709e1f426L,0xc8b4ac79f5a29ba2L,
  74206. 0xa0196c0682be4633L,0x4da05ea4b9de3bbeL,0x00000000000001c3L } },
  74207. /* 27 << 0 */
  74208. { { 0x357643017002d68bL,0xb215604492ec4568L,0x51353aeda0d3163cL,
  74209. 0x80b2123da719d483L,0x33f35187e135854dL,0x8739535d0e4f862cL,
  74210. 0x62a4d4eb889e646fL,0x373edf8218f9b6a7L,0x0000000000000160L },
  74211. { 0xf3e6aeca5d90b740L,0x463ffe709d45acb3L,0x13b874f4a8bb572eL,
  74212. 0x1efa491ed92ebc54L,0x4a56f78e1a1b2201L,0x9fd193c5cf52c3bbL,
  74213. 0xe5828401ac06a3faL,0x597050014dcfe1c5L,0x00000000000000f1L } },
  74214. /* 28 << 0 */
  74215. { { 0xe160709ed9985b0cL,0x291adc92433ee2deL,0xb93220fe2ad07f0bL,
  74216. 0x949da6c395738534L,0x116d7f87032133e2L,0x988bb828d895ed5dL,
  74217. 0xec5c29642dd68d1aL,0x95646effed8e5f6fL,0x0000000000000191L },
  74218. { 0xc31c832ba74eed38L,0x886f4ded1741425aL,0x2e495cf2adcdd6b5L,
  74219. 0xb345b828c8b09a2bL,0x5443c5d9216ae388L,0x606d3f34656a52efL,
  74220. 0xce28b4724f834f49L,0xacd53b00c9f29f3eL,0x0000000000000177L } },
  74221. /* 29 << 0 */
  74222. { { 0x2c3927618eda25dcL,0xf33d8595d51f6d96L,0x4003ab8e847ffb9eL,
  74223. 0x5ca9bc06876d7291L,0x28bef38f7664a130L,0xf9f45131e86265ecL,
  74224. 0xb3c1fbfcb65a085fL,0xc644d6c94b68287dL,0x0000000000000174L },
  74225. { 0x187bbbc4821a0c30L,0x0679927c26ebbfbdL,0x50c2732d706d303fL,
  74226. 0xbe0e21952ce0d90bL,0xb5cf5eb795ad34b7L,0x0233ef8fcb6441fcL,
  74227. 0x05acc95b41b7b782L,0xf3a7c2f87f419e68L,0x000000000000011aL } },
  74228. /* 30 << 0 */
  74229. { { 0x6117fab72ec4b081L,0xf7d9b10f1b0af595L,0x352756cc169eac6bL,
  74230. 0x35573f35d14754c6L,0xea52dbcbae2a3e44L,0x3cf015e1f913a610L,
  74231. 0x0b6913261570a6b3L,0x87d70d11074b36bbL,0x00000000000000d0L },
  74232. { 0xb64d6af6579dbed3L,0x069edd46ff01cfc7L,0xf279efee5d860be9L,
  74233. 0x54d5b99d1d7d4adaL,0xe47015660d29f153L,0xbcde1cd94afbdbd3L,
  74234. 0x811d7b95a6ac2dceL,0xd07f8c3cafdc1636L,0x00000000000000c4L } },
  74235. /* 31 << 0 */
  74236. { { 0x2257d0e0c16a8803L,0x0dcfb5e488e24812L,0xfc14c1ac09cd6b22L,
  74237. 0xd65543a904c9d429L,0x7260a83ca5e7726cL,0xb574589657c2a661L,
  74238. 0x006a58cdb7307b7dL,0xe9920cf30f0c6615L,0x00000000000000d8L },
  74239. { 0xca4677c739792d19L,0xaa1bd97c7b54318aL,0x139a868cae4cc263L,
  74240. 0xf76b8c3244d14790L,0x0aefb72cbed1aa30L,0x8b5406328f10c806L,
  74241. 0xdf09c13a214a30ecL,0xb023b5454a663987L,0x0000000000000127L } },
  74242. /* 32 << 0 */
  74243. { { 0x47915ab876e56a9eL,0x9cf7475cd6c5c782L,0x67d69bd6ba5d1f94L,
  74244. 0xea04a35dc73596ecL,0xdba7ecefb9e5ebd6L,0x3e3e16654e068038L,
  74245. 0x43707af94ba15b34L,0xba3596d20a3a4694L,0x0000000000000166L },
  74246. { 0x95ca9a9914a156aaL,0xcd98c965ab961636L,0xb74de1c7ea0f36dfL,
  74247. 0xe204cdb818cdd6b9L,0xc1df01c65c2dd77dL,0xff7bd8bf5ff01967L,
  74248. 0x1635e75ff3e08268L,0x7b0ff4d1940ab811L,0x0000000000000047L } },
  74249. /* 33 << 0 */
  74250. { { 0x5ea2e1fc649f308dL,0xa5ec59186b2ed12dL,0xe9a519a57aa53ac2L,
  74251. 0xabdbea7e2b77ef1aL,0xf381421a74236df0L,0x52086d482be92613L,
  74252. 0x8c76eb4e3c76f58eL,0x4195f0978fb969e6L,0x0000000000000028L },
  74253. { 0x6be95a3dd3e11c4dL,0x88effd5c228b58f3L,0x00bd7216c16deb3aL,
  74254. 0xe7656ecbf3d138bfL,0x9e016769614ac5f2L,0x24d513abe063c663L,
  74255. 0x7b7a3bc869056d3aL,0x43eb08c656dc636bL,0x000000000000007eL } },
  74256. /* 34 << 0 */
  74257. { { 0xdfeab253d54e4d87L,0x55ac0435b8317a8dL,0xc1f1f8993db2173bL,
  74258. 0xa866a98b697d432cL,0x0e7d84e588581cdeL,0xeb8db26b14dbf8bfL,
  74259. 0x48c58962f5b7c130L,0xf66451d0843fb594L,0x0000000000000122L },
  74260. { 0xda9dba82fd9a06dcL,0x6baa5223db7571bcL,0x13184d9be8ea9140L,
  74261. 0x5097293e4f87a6a4L,0xd357d7c04965b051L,0xa373f5aee0a89a48L,
  74262. 0xc1f12141aee1538aL,0xd137b942249932f3L,0x00000000000001beL } },
  74263. /* 35 << 0 */
  74264. { { 0xdc1039c9ccd7d718L,0xa92ff614b5dcc8d8L,0xee4a618608f6b2ceL,
  74265. 0xb4806c84fda74023L,0xc4a780b56f97392bL,0xa267a642b593e0bfL,
  74266. 0x398b62069e0ba392L,0xc300757549630a78L,0x00000000000000ddL },
  74267. { 0x3eb1d3ef241e07f4L,0xdeba4db422640a4dL,0x5c212522ee69e797L,
  74268. 0x9ab1178bd2c70142L,0x462796591a31db50L,0xa510936cb5d85bcfL,
  74269. 0x1b83431f0c30dbbfL,0xbd2d07f6ac7fc5ccL,0x00000000000000c1L } },
  74270. /* 36 << 0 */
  74271. { { 0xae56cbf798bd6ef0L,0x5323bdc821e585edL,0xe724672821b585e0L,
  74272. 0xf385da9cc679bb96L,0xe81a91dac8198aa9L,0x2a25afe471eb8ad9L,
  74273. 0x514d5e71894c417bL,0x81c98659bd21e082L,0x00000000000001adL },
  74274. { 0xac7712f8455c99efL,0xd2c4ba1759a98b43L,0x75db963d8698121dL,
  74275. 0x1af50b0bb140013aL,0x61285bc6dc8f01afL,0xca7f475441227b97L,
  74276. 0x61aeda5705b3c0f8L,0x7026e6cf8e6fc4e7L,0x0000000000000121L } },
  74277. /* 37 << 0 */
  74278. { { 0xf1ac4d59b557a36fL,0x8c64e76ae4780273L,0x0e58e26ee0980df2L,
  74279. 0xbd445763a2885604L,0x29ed0ae6af9d5749L,0xc35c5d56c1d59e42L,
  74280. 0x39e798352ded5867L,0x4f64a6c21832b671L,0x0000000000000094L },
  74281. { 0x312bf98394fb2a03L,0x31a4be4056988296L,0xb85c564995a057c3L,
  74282. 0xdcbdbc2471c83f81L,0x26317da6b7991305L,0xfe4e6ff21865f859L,
  74283. 0x0c4b9624f26cb192L,0xb7ee1b02028ab741L,0x0000000000000150L } },
  74284. /* 38 << 0 */
  74285. { { 0x853028d72a5f4a8bL,0x46f120cb19ae965dL,0x12ac2ecc9d4e6883L,
  74286. 0x18413823ed8d4ba1L,0x690815bcef8f3127L,0x9078207b610c2c77L,
  74287. 0x922563d71ef6e744L,0xaeb1530c7d932a18L,0x0000000000000195L },
  74288. { 0xc87e1acd797bd130L,0xa29e51d193b701e0L,0xe3e3c9a002b7985bL,
  74289. 0x51f9ba596291ef1eL,0x06c5bdf7d0e15448L,0x8611d8bd49b6090aL,
  74290. 0xc0ec0975884bb030L,0xc42d3cc093242000L,0x00000000000000e0L } },
  74291. /* 39 << 0 */
  74292. { { 0x0b704119ee33b77cL,0x5b4fa1d48083af67L,0xac0bf434e5fa3179L,
  74293. 0x256b0cc58626a1e2L,0x38d9fd62359c6ea7L,0x9e9661a49b5b9072L,
  74294. 0x5264126356a49902L,0xa0b8f411fbad6075L,0x0000000000000124L },
  74295. { 0xd8dcdc61228b61a6L,0xf212e74b698e40abL,0xa3caf2415944e762L,
  74296. 0x18dc59feb96825aaL,0xdc0b1240c690db48L,0x68937baa8796154cL,
  74297. 0x602a9a406bbd399cL,0x29616edc7335dce3L,0x0000000000000010L } },
  74298. /* 40 << 0 */
  74299. { { 0xaf456a57824c9d93L,0x067fffb5ac53dbcfL,0xb513eb4d0d01e18fL,
  74300. 0xf85d832dc9767b2bL,0xc4ad6090a169b596L,0x9f67883679409022L,
  74301. 0x3a0c67f41886ad96L,0xfdef97e46cd54455L,0x000000000000002eL },
  74302. { 0xb591f36738ae8e5cL,0x2c101fec75d81e09L,0x4f4ef79e44aa97b2L,
  74303. 0x46a5357b21dc2240L,0x5bb3141d0df516feL,0x23ffc6106dff96f7L,
  74304. 0xc4c2a4687e65a6a8L,0x8e2e3fdd283592d6L,0x00000000000000d8L } },
  74305. /* 41 << 0 */
  74306. { { 0x8e00ce952624381eL,0xddfda1a522cc2af6L,0x4c08c3ddc8297bfaL,
  74307. 0x16b931eaf495ccceL,0x85b85f23864a60c8L,0x52a523e4b28998a6L,
  74308. 0x63ebfd9d28830825L,0xa140ed79e85e24a7L,0x0000000000000175L },
  74309. { 0xebeb760ec1028ecfL,0xf75dd758e7f3a3ecL,0x052a6e551fa28ebdL,
  74310. 0xb39e0e11ecf327daL,0x23de821b22c82111L,0xab59e580e9ee5632L,
  74311. 0x36f21343ca399be7L,0x9696d71855e2d4edL,0x00000000000001b0L } },
  74312. /* 42 << 0 */
  74313. { { 0xb7902612a9491855L,0x420bebfa3767dcd4L,0xea20d4e83c72305eL,
  74314. 0x2868fa8595d78243L,0xf5633364979e0bdaL,0x874f472a2a5de6f2L,
  74315. 0x7a0a1c0aa146f918L,0x960dcd7bd7263ed3L,0x0000000000000161L },
  74316. { 0x38a50e352ad521efL,0x414fdd6ad7d07223L,0x324cba6a2c4cce08L,
  74317. 0xf728d67c4e39de86L,0x2da602f01cc43b7eL,0xa00e6a6b58d1eec4L,
  74318. 0x5c6ae0d1031bc121L,0xc1cfdd433815668aL,0x000000000000016aL } },
  74319. /* 43 << 0 */
  74320. { { 0x713e3083224f497eL,0x51f0b62fdee07d20L,0xa3a74e7a9b3d85caL,
  74321. 0xfc66ad7aed7d37ddL,0x8ef0f94438fea396L,0x70678aa2ec1419afL,
  74322. 0xd55022d90544d8a0L,0x0148a165ec58e4feL,0x000000000000018cL },
  74323. { 0x895829067683adbfL,0x94edb92f76b688d2L,0x932d602b547ce17aL,
  74324. 0x67fd6098879b1cf1L,0x7a3037819f1a0becL,0x2677e91db1d144cdL,
  74325. 0xebf7a83c7aa3bf24L,0xbbaa1f099e78869aL,0x000000000000010aL } },
  74326. /* 44 << 0 */
  74327. { { 0x78f253cdcde738d2L,0xb25aa02cb1d33a53L,0xe77fffe912d2b367L,
  74328. 0x761e3e73e6509ec7L,0x7c3cfcbef88c88cfL,0xe1cecbe9fd57f650L,
  74329. 0x5f0c48a04cca16cfL,0xdb51df11f0b29b48L,0x000000000000013fL },
  74330. { 0x42343b5cbafa661aL,0xa123424f99a20b52L,0x57733ea23d7284a8L,
  74331. 0xa4460186aa2271d3L,0x9ebedc0452b7c2f2L,0x7aac908b39acf39cL,
  74332. 0x4e4f65b3d0338f66L,0x4c8c184a7228a703L,0x00000000000001d1L } },
  74333. /* 45 << 0 */
  74334. { { 0xa32dec600fc95c1aL,0xc2954607b66b70c4L,0xdc8ea1ace5703f0fL,
  74335. 0x79189b7df8a1f2d9L,0x7b2df5e3f1972867L,0x7a58f7f28c147cc0L,
  74336. 0x79596b8fff2bc020L,0x69d186aca09e53b8L,0x0000000000000049L },
  74337. { 0x9498a7cd000903a9L,0x3463f5d90b37564fL,0xe6ed9e879be328e1L,
  74338. 0xb8d5b2802eadae85L,0x35584a1bbcdb40a9L,0x15862a4232708841L,
  74339. 0x4d6ac21f3149fc7bL,0x1ec9b50cd8d3847dL,0x00000000000001e8L } },
  74340. /* 46 << 0 */
  74341. { { 0x64f2ae8093e738a5L,0xf672b6d2bd57d22fL,0x07c09231d2ec1549L,
  74342. 0xa6ddb5626540f81dL,0x09f753aaf1c4d248L,0x1a9cfb9a69a8fc57L,
  74343. 0x1998e2d14f33a8c5L,0xdb162d8284a91002L,0x00000000000000bbL },
  74344. { 0x42c142895961259aL,0xb7ec80b09fa59f0eL,0x7d3af42dc8cd7e17L,
  74345. 0x2a1831112f54132dL,0x2ece424b786f6c37L,0xb81c9fbd9674149dL,
  74346. 0x1fe9c7cabc10b00aL,0x86f0d5921216efe0L,0x000000000000013bL } },
  74347. /* 47 << 0 */
  74348. { { 0x2fda63c9abd59d11L,0x0a56a130d1ecbb67L,0x9cee75a3a9c4dd66L,
  74349. 0x381864a0b9e922acL,0x97233106c71dd0b2L,0xe4e4fe2714033ff8L,
  74350. 0x9cf5083ecc35882cL,0xe31f8907048afd5fL,0x00000000000000afL },
  74351. { 0xd3065d2f1d90e1d6L,0x11ca41599f10673bL,0xebb760f478d825e7L,
  74352. 0x9276080b904982a6L,0xecea7f3276f06497L,0x605f079349209f88L,
  74353. 0xb4290cbbb54ff69aL,0xf95dc8657275fe9dL,0x0000000000000012L } },
  74354. /* 48 << 0 */
  74355. { { 0x87027d612ad879adL,0x641752bd214aea2cL,0xdedc21b10ff08ee6L,
  74356. 0x2da0980f3f6fbfacL,0x4b3cc8a5803e72f4L,0xae7d6d6672102c33L,
  74357. 0x8158e5caec62c8ccL,0x35de3b21557462acL,0x00000000000001fbL },
  74358. { 0xb1958193d256d46bL,0x596f24804841cae7L,0xb7c142e0fb0e3c28L,
  74359. 0xe6214d64a1d97e37L,0x871294f66cc2e1baL,0x76f27fc94d09e2ccL,
  74360. 0xa855b9ec4bb3f5c1L,0x34a5ac1587992dedL,0x000000000000018dL } },
  74361. /* 49 << 0 */
  74362. { { 0x0c8cb45049efc0adL,0x7258dab1ac4c04caL,0x91d8c84e2e345fa8L,
  74363. 0x6bc2a2df52f62842L,0xf581b8b111dea9ebL,0x9d45c347ae499839L,
  74364. 0xcba40a63bbaba0d3L,0xcb98fa3c0b8c1d57L,0x00000000000000a5L },
  74365. { 0x0b9bf46a2c8884b4L,0x4b963fbfb0b88b1dL,0x0c10f2ceebb72bb4L,
  74366. 0x5dd9775543d575c2L,0xb072c39d9da8bf83L,0x749ee467877e5b7eL,
  74367. 0x1409b01bf72e151bL,0xdc95654090d77b97L,0x0000000000000015L } },
  74368. /* 50 << 0 */
  74369. { { 0x5386773de84d4766L,0x56b6ddab593aebf3L,0x250a859beaced3f3L,
  74370. 0x84804ab26d84fe02L,0xd8384cf1be365bc6L,0x5312b292e34a0cfbL,
  74371. 0x0baf0dbb1aa3f9caL,0x76204957627b7a12L,0x0000000000000171L },
  74372. { 0x3f16ac6addc84f8fL,0x36298e21939f704fL,0xad93d2e5b9d0e753L,
  74373. 0xaf8c1321bb6c8d5fL,0x5def1db4859b504cL,0xd3032d3a9450b50cL,
  74374. 0x83e07ea5f688b03dL,0x713d5c2ffb0e1119L,0x00000000000001acL } },
  74375. /* 51 << 0 */
  74376. { { 0xa8d916fffbcc9504L,0xfba689ef1d7be2ddL,0x1321ae1b1054cbc0L,
  74377. 0xc2edfe6af07390dfL,0x3ba316cbf9beea26L,0xfdf9f5bde34fe9baL,
  74378. 0x025d93b68145f3ccL,0x395ba51e278415a2L,0x0000000000000168L },
  74379. { 0x8eb9c45edd5c087bL,0x0600aabed3a89e18L,0x849c36096e3aeba5L,
  74380. 0x97bc2b68badb600cL,0x24e5b174adeb9b3cL,0x52dd878f21c480ceL,
  74381. 0x39d9531942d3f579L,0xcc10f3ca041a2456L,0x0000000000000071L } },
  74382. /* 52 << 0 */
  74383. { { 0x86177e368b29f6f3L,0x955114f2afcab7a1L,0xf00784311b6e5993L,
  74384. 0xb9259354dcee33a4L,0x58aef6be769f0693L,0xa4dae03e0c1b4b4aL,
  74385. 0xc39a55b518749158L,0x32e875ce65d1e6d4L,0x000000000000001fL },
  74386. { 0x9301992d481b07f8L,0xbd6b45f989f292daL,0x112577769cd77ef2L,
  74387. 0x1e73a061b8098a91L,0xa0c126d318c39791L,0x2cbf93bbae0f4ad4L,
  74388. 0x895ea8b22ee1a6fcL,0x3c8e76fb7849180bL,0x000000000000005aL } },
  74389. /* 53 << 0 */
  74390. { { 0x6285684cccb69906L,0x08153da9c9880816L,0xd3af581fba4fe12bL,
  74391. 0x4e210e637209a78eL,0x27e82f6f948100c4L,0xf8688be916895fb7L,
  74392. 0x7b3d0ffd310306dfL,0xf6e249195ee693f7L,0x0000000000000143L },
  74393. { 0xfd6ddaddd40c7861L,0x040a3dfbc4abee6aL,0x0f6a7a9de3b4cf8cL,
  74394. 0x4fdf64f503cf3bb3L,0x35437e8053d10cb1L,0x7dc73fdde42c2169L,
  74395. 0xc5611a0257510987L,0x3e8fcc9618eb2a74L,0x0000000000000105L } },
  74396. /* 54 << 0 */
  74397. { { 0xf5ae2048a0ce100cL,0xf707cab63228fdfcL,0xdac4214e4dbf052bL,
  74398. 0x393cf55982451c97L,0xc6d866fdc6c98505L,0xcb09728861ea138fL,
  74399. 0x414997e998e0e3e1L,0x8e65f2a40e6899c6L,0x0000000000000193L },
  74400. { 0xfa47b98bb8d1b411L,0x0f607d677492659bL,0xc972b99ee0d7fcbcL,
  74401. 0xc6069fa8017db8beL,0x222e0ed99fea4bd0L,0x943485186e2074e8L,
  74402. 0x9c2868a692e89dbfL,0xd556dd0941ce794eL,0x0000000000000163L } },
  74403. /* 55 << 0 */
  74404. { { 0x84ad7ccebd470f5eL,0x7fe9ab4bda96ac4eL,0xbe17486b1e0b549aL,
  74405. 0x8cca93917cad27e6L,0x6472d4028e8da1a1L,0x7cb03e9fd9d0a79dL,
  74406. 0xb551e4155c6daca9L,0x52fc4b6d310ce7c4L,0x000000000000004bL },
  74407. { 0x7a196cd230a36ef2L,0xfa03a23006a096eaL,0xd69609e345b53586L,
  74408. 0x10aa85895c5a084cL,0x00fb114a7dbae155L,0x619f44311a16a0b6L,
  74409. 0x385ea7907a1a7b2eL,0x85e54fe81461ae21L,0x0000000000000035L } },
  74410. /* 56 << 0 */
  74411. { { 0xb3f739d5ae2df998L,0x1df04ea2e96c1840L,0x5730e56267acca24L,
  74412. 0x01378e253fef51d2L,0x9cc29b3435be97f6L,0x638c12398e4b8b01L,
  74413. 0x7e9056e95b0cbef7L,0xd775038527f32bafL,0x000000000000003cL },
  74414. { 0xc10d9706f4083cbaL,0xeba60fb5d8b4723dL,0xc431863c1a8cbf15L,
  74415. 0xb52a737cbaa0ffa2L,0x7c1e5b54987f4a28L,0x2b0430e114f67a39L,
  74416. 0x70e1a3561fc3e123L,0x9bf7cf42095c5b17L,0x0000000000000078L } },
  74417. /* 57 << 0 */
  74418. { { 0x3475330a4e9a13e2L,0x8372c8fff95c8450L,0xf66fd5bc64b8a520L,
  74419. 0x4af300bbde9118b2L,0xef3c6d77a521b9f8L,0x5a8defe72e6dbf85L,
  74420. 0x4463da75efb25ffaL,0x53c3e7fcf3c902e0L,0x00000000000000dcL },
  74421. { 0x33ad7f7fd9c4248fL,0xa9493190c62a5532L,0x4a3f82056a929f73L,
  74422. 0x3482530d0d3bd86aL,0xb62e7eb390dff3eaL,0xb13d0dd2caf9d989L,
  74423. 0x68073ee6c4d4f8f7L,0xe88fccd4fdbd992bL,0x0000000000000074L } },
  74424. /* 58 << 0 */
  74425. { { 0x0f583210d81ab70dL,0x5479d3ccb04647adL,0x342a03e174a3106aL,
  74426. 0xb96a728ad56c650dL,0x9871b54c6764d3fdL,0xe61385c801f5277cL,
  74427. 0xd53b6ad821b5026bL,0xc46df1c09851ab92L,0x000000000000008bL },
  74428. { 0xfa08b29292c1205fL,0xcdec69190bf94d71L,0x3b8ac3a45ca1b766L,
  74429. 0xee784bec8fca81a7L,0x52b53e4fe686134fL,0x765073f1f9a731aaL,
  74430. 0x7a4c58d40bfb0e0bL,0x48ff92784e9946a2L,0x00000000000001d9L } },
  74431. /* 59 << 0 */
  74432. { { 0x63be8a26eb16686bL,0xcba8524ec3472088L,0x1a90342d64373a8aL,
  74433. 0x055693c9b1344c69L,0xaae5c2934c222920L,0xc7223c5d98901999L,
  74434. 0x063c60342df29eadL,0xaeb454ad31876773L,0x0000000000000035L },
  74435. { 0xcf4aa03c5381fa2eL,0xfd82c38cfaffe51aL,0xc9fd5fddd64ffec3L,
  74436. 0xb8cf8c44bc83d0b8L,0xe22f2ef3cb6efd45L,0x15a48db3660903f4L,
  74437. 0xdb0b0ca0aff1ba7fL,0x7ecbec147e7e43b4L,0x0000000000000018L } },
  74438. /* 60 << 0 */
  74439. { { 0x9fd17ffbfca45bdcL,0x051c3f6061c25274L,0x7fb6bf92d04b42fcL,
  74440. 0x92681661adc786c5L,0xf79836e37bbe1183L,0x36f33caef52de9fdL,
  74441. 0xccb82b562ed32ff2L,0x8a508e954435eff6L,0x0000000000000003L },
  74442. { 0xf8464ad3910e9522L,0xd748f73799f3e5d4L,0x4b1ccdfa683285b4L,
  74443. 0x5edb1e7a605abfd0L,0x997df1a529560a5aL,0x9b0ecf8e37baa0e9L,
  74444. 0xdb7a7399b931e716L,0xbd87d8b1e7bd4d2aL,0x000000000000008dL } },
  74445. /* 61 << 0 */
  74446. { { 0xcb53d8cfcfc376a1L,0x952bad1671543c41L,0xa5e7fce59a7b32d7L,
  74447. 0x7193c11a77dc0b39L,0x4cd724b1be8b1717L,0x8b6cd17d5b660d1aL,
  74448. 0x92ca7c732a1c7d8fL,0x544c4a011407425cL,0x0000000000000115L },
  74449. { 0xb8eff8cd4a17604bL,0x56f22ee9c3fe5e24L,0xa834ff603afa032bL,
  74450. 0x03f78d54b7f553a8L,0xec097a3aed58c6a0L,0x79af485fef422cbfL,
  74451. 0x07996d2a399c872cL,0x3df9c6c0ac6485b3L,0x0000000000000115L } },
  74452. /* 62 << 0 */
  74453. { { 0x9627fe31114dc85eL,0xf0a8c971ef2a1696L,0x213f3fe32bfd4e19L,
  74454. 0xa38bf246fec516fdL,0x943ae59581dd5885L,0x378b0b7bc177aeafL,
  74455. 0x20f6ed49f27734e2L,0x05dada534c5c8ae0L,0x00000000000001f6L },
  74456. { 0x19f1002224aa57b5L,0xdda2d7e072a578a3L,0xcb156b6e7671eb7aL,
  74457. 0x6284a831f6b296eaL,0x50e685ccd164a220L,0xf2b0afd6935f4aaaL,
  74458. 0xa2252c7a4be38a37L,0xf96d82698b78d305L,0x000000000000014fL } },
  74459. /* 63 << 0 */
  74460. { { 0x0f5beb6fce8888e5L,0x75af7d025770ac8dL,0xc63996847586265eL,
  74461. 0x3ae99661308e125eL,0xe7f54fe4d51b0845L,0x1ca21b5affa0ddc1L,
  74462. 0xe82f799acb0a6e8eL,0x32753b64640c457fL,0x00000000000001c1L },
  74463. { 0xe9d15ad2a03dba15L,0xaf657b5bf664a2acL,0x13f78f82f0071283L,
  74464. 0x05d3dbdcec1896bcL,0x595e8c353aa22380L,0x1a9e093286414006L,
  74465. 0x6d81ac89b205d796L,0x47e184197a053817L,0x0000000000000153L } },
  74466. /* 64 << 0 */
  74467. { { 0xb53dc38ce320f742L,0xf5aab8029a04fd41L,0xa7c02c1603e7001dL,
  74468. 0x1bebd3c5efda3773L,0xb614b9ccf8872d27L,0x7ebdbba81860bbacL,
  74469. 0x4f3d7c0392fec2a6L,0x9aa17dce1112ecd1L,0x00000000000001abL },
  74470. { 0x5af17058a5f8df5bL,0xc1c1a5dba0653dd4L,0xf4a7b9e3af958043L,
  74471. 0xac165ba1508d4b10L,0x0c63ba369e87ab8bL,0x9bb1cc8b2fb1dc1dL,
  74472. 0xaa10217c57b9586dL,0x8d70eb848e920573L,0x0000000000000074L } },
  74473. /* 0 << 7 */
  74474. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  74475. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  74476. /* 1 << 7 */
  74477. { { 0x76b026e5736fa9e0L,0x2e27e720e23413b5L,0x51df70816a5f814fL,
  74478. 0x4e49496876271d7dL,0xd3124af75ce07d97L,0x3c9698bbc2d6dd2cL,
  74479. 0x631c070153023fa8L,0xd41259f27e381f83L,0x000000000000017cL },
  74480. { 0xbc309412c9dfb131L,0x0e3434093472a8e4L,0x4e69c32464ace613L,
  74481. 0xa49ff4b0dc99ac8cL,0x1b4fabc3b1af9ca9L,0xdce01ed3e7df7966L,
  74482. 0x5330ffdefbc7a682L,0x6e5df506a8283dceL,0x000000000000006fL } },
  74483. /* 2 << 7 */
  74484. { { 0xb38e8b9069be00acL,0xe46b33cb95e50b81L,0x9c9152c41f5d4723L,
  74485. 0x7b8f4f6e8c2a465aL,0xb85fa9e8f269cb33L,0x03c7389ecb5b47a9L,
  74486. 0x458afc780f312e99L,0xf40a0f02b5ac20c9L,0x00000000000001d5L },
  74487. { 0x8fac1245486bde7fL,0x1430cd504d4a7784L,0x58d2b99dbd29a67bL,
  74488. 0x965cf65738e3bcebL,0x062dc3aa57354f17L,0x40ed2a81e5b45635L,
  74489. 0x981bba93103b69c5L,0x3503aa73413c42fcL,0x000000000000008eL } },
  74490. /* 3 << 7 */
  74491. { { 0x56870723706a1717L,0xdee44d64cbecf7ecL,0x2120fc43ae06d588L,
  74492. 0x78086900695451dfL,0x596711a00b6e13b5L,0xb8e2b20d76c11762L,
  74493. 0xc1f30fd6f71431ccL,0xc8cfecf557133623L,0x00000000000001fdL },
  74494. { 0xb73cd41565e5811aL,0x688b3301550441c7L,0x9cb5a657d50fd76fL,
  74495. 0x724f5ed8b588f34aL,0x48eeb907f67f5927L,0xf71b353897aa02c5L,
  74496. 0x0239e51026db84caL,0x61ab0a5710fce663L,0x000000000000014dL } },
  74497. /* 4 << 7 */
  74498. { { 0xa48e3c3a9bd47f93L,0x4e1485e3636c0850L,0xd8264f7ff0ea4f3cL,
  74499. 0x0b9047fc044463c8L,0xb03311c98360fdf8L,0x007c068dd0db7f48L,
  74500. 0x5e82c7e7d429af87L,0x5a81286a6d64d318L,0x000000000000000eL },
  74501. { 0xe1d75c7eef97408eL,0x7c54b93f58a5e905L,0x0d8eee9a08c607d5L,
  74502. 0x2aeac3b0e2dec0b5L,0x96db5ced9fc99e2cL,0x27764de20a51c0acL,
  74503. 0x7999170f1b15ad22L,0xdcfc7192ced85f26L,0x0000000000000137L } },
  74504. /* 5 << 7 */
  74505. { { 0x136100c21f0ab49bL,0xf2763c0d8fd640c8L,0x32576a60a10ab0fbL,
  74506. 0x45efed229b4b2fc8L,0xd50aafff5ed021c9L,0xb8246dec184ac0c1L,
  74507. 0xe2519fc446002b5cL,0x440b77c67d492f06L,0x00000000000000a7L },
  74508. { 0x24fdbf51777310deL,0x1b57c3c267a603d1L,0x4daef7f2d4f9e51fL,
  74509. 0x2326062ffc847f9dL,0xbf6644f62f1175f9L,0x170083e32d9bbb9dL,
  74510. 0x7f64b63896089981L,0xb949d76a9accba57L,0x0000000000000165L } },
  74511. /* 6 << 7 */
  74512. { { 0x49eb72c3f62a4087L,0xec8734325b00b2bfL,0xbb040159643c12a4L,
  74513. 0x2ef972f4eac95679L,0xc7e358bd2bbea697L,0x924a6105db23f1b4L,
  74514. 0xd587c6bebdd61fe2L,0xf348d2f7aafc22ceL,0x0000000000000058L },
  74515. { 0x7bf1deec930f49aaL,0xfd3224c43cec939aL,0xac7eced36d94e0bfL,
  74516. 0x5ef5a81cb2c7b10fL,0xa6e9c773f85c84d4L,0xe139b7ab2f547b59L,
  74517. 0x436bffd61fd522dbL,0x32ee281e0b189b69L,0x0000000000000073L } },
  74518. /* 7 << 7 */
  74519. { { 0xb97c4ac3ef64ffeeL,0xfafc66c9e0513ff3L,0xcb15b02551d57f8bL,
  74520. 0x5a94fca3a0f73040L,0x1df583781ecdef64L,0xdc88683a2e876043L,
  74521. 0x897308dfa547bc00L,0xf9d9cd0346cddd21L,0x00000000000001c8L },
  74522. { 0xa05d56b56854aee5L,0x948513d41337a153L,0x96806e7b1461e392L,
  74523. 0x74d411bcd4f89728L,0xe39ed8aa54173ab8L,0x82acdb9ae17fabd4L,
  74524. 0xb0b61eeaa5fd0c85L,0x4ab388ee0a933577L,0x00000000000000fcL } },
  74525. /* 8 << 7 */
  74526. { { 0x8a4d6b672986daf8L,0xff67c35d3f0247b1L,0x3e45f2e50f48c2d6L,
  74527. 0xba941fa43663525bL,0xfe5a47af97fbdb12L,0x617a16b820ae9103L,
  74528. 0xfd6eee9fc57a09d0L,0x4bfffdbead5fad3bL,0x000000000000018cL },
  74529. { 0x7c2cd6fce8839b07L,0xee10cab923601344L,0xceed18245f0b8f0bL,
  74530. 0x6ea30adb68064245L,0x66306dadbf29705fL,0x4f9d0131be7db901L,
  74531. 0x1d972c0a531d35ddL,0x0ff3da3c08edcc09L,0x00000000000000c9L } },
  74532. /* 9 << 7 */
  74533. { { 0x69344fe39d6186adL,0xe85c33e690fc2732L,0xde9bf41a7d60ee51L,
  74534. 0x9d90a9105a70cda6L,0xff3b1a64879cdbf2L,0xcd89aba7dd686017L,
  74535. 0x9a891f87db1f6b9cL,0x6fa1abfc9b556eb2L,0x00000000000001f4L },
  74536. { 0x9aeb96367a4d8d49L,0x7f968cba1b2933faL,0x0e04c95323abd39dL,
  74537. 0x4a4b0b0549509543L,0x95fb7e645e7d71ecL,0x9568b11718f7086eL,
  74538. 0xeb8a07ef0390b0c3L,0x7b8624d13cccb970L,0x000000000000014cL } },
  74539. /* 10 << 7 */
  74540. { { 0xb491062b1c6cac89L,0xf20c58359adecc2eL,0x488d7b916f1d7401L,
  74541. 0xff98b90e94761e60L,0xe63993ca857557a9L,0xc4ff9951acdeadfcL,
  74542. 0xed5a53c7fd8dccadL,0x42e02c14f101c24aL,0x000000000000012bL },
  74543. { 0xbb9fe6f6bd3fe0efL,0x72f26ffcc1393d0bL,0x2e831b196c25ed19L,
  74544. 0xdb50a0d7ebcc6b99L,0x202ac3c8245c479cL,0x97b284d7436117a0L,
  74545. 0x13bd5e82fd694e11L,0x452b5a94022193a6L,0x00000000000001c8L } },
  74546. /* 11 << 7 */
  74547. { { 0x3d8c19764ac0927eL,0xcbc9ba6613389954L,0x727a3bb8defdd149L,
  74548. 0x4b2d64d24a3e6bb4L,0x4f5d185658ac36e0L,0x6d5e79b9f5acaac1L,
  74549. 0x426e868b4b602032L,0x1efd37220c41942eL,0x000000000000004dL },
  74550. { 0xdb8ef6c4ebb168f0L,0x0b4d7fd2de0e0478L,0x9c77f534097fdb12L,
  74551. 0xadaaa54bde3ea9bdL,0x3bdbe93f45f9f191L,0x45cf748118bd8d2eL,
  74552. 0x422ed3d85e63012bL,0xd8c1b94ed20c2076L,0x00000000000000cbL } },
  74553. /* 12 << 7 */
  74554. { { 0x65c7757b84367fecL,0x7ff69a4b6aa22fb7L,0x197f4c3659b0a103L,
  74555. 0x897241b712350397L,0xefb60dd033bf2644L,0x3ed30a65944af798L,
  74556. 0xd67a5cbd5bd2d770L,0xe9d97ea6f3caa508L,0x000000000000006eL },
  74557. { 0x94633f8662fc83a9L,0x6d68a34729a5137eL,0x88f2b4777bf9924dL,
  74558. 0x7bd70fcc00b533fbL,0x4dd3b695b7b8167fL,0x85dfca1cd0162981L,
  74559. 0x2f96a81f43e5022cL,0x2596b2ef14872ddfL,0x0000000000000131L } },
  74560. /* 13 << 7 */
  74561. { { 0xf21f278ab1cca421L,0x69452c4fc9c944e1L,0xab6f0267b5e1995bL,
  74562. 0x6871f6bf8e371695L,0xa175e5747c561f3eL,0xa0a9a596fc97048eL,
  74563. 0xdeb9a72472d14a89L,0x6068a848beb4e020L,0x00000000000001acL },
  74564. { 0xd187185e41589675L,0x9ab0c85fe7f8b9ceL,0xd866c2c25a6ef98bL,
  74565. 0x4fe3a42c88dd5569L,0x28e16344591c5ce6L,0x2ab62c9dac764ab7L,
  74566. 0x924cfb8417e00b2aL,0xb039e64f1804d328L,0x0000000000000039L } },
  74567. /* 14 << 7 */
  74568. { { 0xd59595d1d131f694L,0xce8a83752a7fdc21L,0x9e62e8b175869627L,
  74569. 0x336d78456e01b014L,0xb53acb366ea5a8edL,0x4451f2e57dd8ac89L,
  74570. 0x4c8cf19c2bc29533L,0xfbc29ef47c10e63fL,0x000000000000017cL },
  74571. { 0x9bc2ec347a9357faL,0xde489a133b8a04afL,0xb3521cda230520b7L,
  74572. 0xd7699690af6deb0dL,0xace1af3a14655a0fL,0xf628697fcd89b94bL,
  74573. 0x40a71ea33c079ab6L,0xe7b89297fd251809L,0x00000000000001dbL } },
  74574. /* 15 << 7 */
  74575. { { 0x49041d4784ed9ff2L,0x199606dfb57c5ed5L,0x3b8805182e409600L,
  74576. 0x854b5c40f0548f8aL,0xc64b1a67810d2870L,0x7232957f7095700eL,
  74577. 0x84f1a370b4758cf0L,0x5c267b9e70f58198L,0x0000000000000132L },
  74578. { 0x0339062438472718L,0x07734d06b8b84729L,0x1b78f06c26126b2bL,
  74579. 0xd92e040a77c87891L,0x2c4ba3849588cf7cL,0x09b19b0e230e1a23L,
  74580. 0x634174526980a2b2L,0xd34ae179bbe3f6e1L,0x0000000000000023L } },
  74581. /* 16 << 7 */
  74582. { { 0xd00804524043c91dL,0xe3362d2a01d9a152L,0x3d143282404673daL,
  74583. 0x1d1c9b70a881d770L,0x4254627ed4a785a8L,0xf801104f2d8b8d09L,
  74584. 0x306f6f22c6ceca92L,0xf0529d16130418eaL,0x000000000000011bL },
  74585. { 0xfa1e73fd6d8f9fa8L,0xb402cacceaa0860bL,0xcb08d922ae11ae49L,
  74586. 0x79908f8f76387f9bL,0x126b0ebab8b14819L,0x156a5ea63bb333a0L,
  74587. 0x0ba63111fe7f302fL,0x225ee26a4cd4f889L,0x00000000000001d0L } },
  74588. /* 17 << 7 */
  74589. { { 0xfcc2afcec54b8cc3L,0x2c4032b2bc4ec6f5L,0x9e6c26d66c62aaf9L,
  74590. 0x7b93cc5ae1eb8fc8L,0xce80f55d20a95dbdL,0x841e250cb822f54bL,
  74591. 0x9b84e5a91965018dL,0x36e53589b969312cL,0x0000000000000002L },
  74592. { 0x3c511a989eaeb028L,0x2efdcdb20cd5d5c6L,0x3226c4a858b01f2eL,
  74593. 0xdc5dfb8949ca64c9L,0x9afbb61ab0678018L,0x4114e7856d147d7eL,
  74594. 0xef683c889ff02c8dL,0xe143f8689b0655ecL,0x00000000000001aeL } },
  74595. /* 18 << 7 */
  74596. { { 0x4300169a60b57216L,0x0143c544441bc961L,0xa682548d7fef586cL,
  74597. 0xf064f99ee993fe8dL,0x169a43dbdeba875bL,0x935ce8bf6d3cd064L,
  74598. 0xe986a7cb7c9700ddL,0x1447fbea51c0f10fL,0x0000000000000117L },
  74599. { 0xf10cf577e3adf2d8L,0xfd750660bf433d46L,0x4944b8842395ce48L,
  74600. 0x63c24a4dc1725875L,0xb12376d0f3392f50L,0x9fb12a1a97588187L,
  74601. 0x3c03cc124bb92450L,0x26f27fe0b4e9c733L,0x00000000000000c8L } },
  74602. /* 19 << 7 */
  74603. { { 0x67ab4438cc4b3b6cL,0x9d47969be199d9c5L,0x95211e215e288cf6L,
  74604. 0xec223f59eb99a911L,0xd4408dad7fbc455bL,0xcf5037c6e8bd254dL,
  74605. 0x8d0f9f2ca920b371L,0xafbc9c94f0d5952dL,0x0000000000000100L },
  74606. { 0xdd090be1bbfd4541L,0x91fb0b2960a60ef2L,0xa631624d7477e013L,
  74607. 0x121ab825fa1b4a90L,0x13446ddf0a2bfab6L,0xdf92e361a05dfd80L,
  74608. 0x5a41609e15079b20L,0x815020c4d656089fL,0x000000000000016aL } },
  74609. /* 20 << 7 */
  74610. { { 0xdcf42b383b9e35b6L,0x5b92cc18d2a99f54L,0x55d1c68c30e7c057L,
  74611. 0x3a66cba43a7bd12bL,0xbd21276482b879e6L,0xd0154d7d0bca108eL,
  74612. 0x1e0c926fb273e3a1L,0xf063b1fd5e005f6eL,0x0000000000000169L },
  74613. { 0x7eea86aa702dd8e1L,0x4ed21f67fb054211L,0xfc634d80c3b592f6L,
  74614. 0x36066f725afadb07L,0x11244608875383f9L,0x57a100127c01dd73L,
  74615. 0xfa53012f4eea7d92L,0x32fc27c706e46a11L,0x0000000000000151L } },
  74616. /* 21 << 7 */
  74617. { { 0x0560b7a81cdbe62bL,0x48216ec02b69b169L,0x8473c01ca53cedc8L,
  74618. 0x4b28a72f421b41f1L,0xca176bcdb2a9e3a2L,0xa53467c885e7ef54L,
  74619. 0x5acde94e6e7b42b1L,0xca852c3fe58d357dL,0x0000000000000184L },
  74620. { 0x361ac3bf65696a12L,0xa17302498773f839L,0xb67cda7b8af8aa33L,
  74621. 0x495fa40ff68d9e49L,0x1db30912ed1f64d0L,0xd69756d5040cd7f7L,
  74622. 0xf00a572051714973L,0xb1431d1bbd1c1d1fL,0x00000000000000e3L } },
  74623. /* 22 << 7 */
  74624. { { 0xfe87dde0d9e02e98L,0x416547e5c932a7d3L,0xbac5a7827d904335L,
  74625. 0x7077ab520fa3993dL,0xbe4eacb39ea4d3e5L,0xcddb4006f56df114L,
  74626. 0x0c4fcca5a34c7b12L,0xa1450a3a05dc8144L,0x0000000000000178L },
  74627. { 0xb5d6b79945594505L,0xc1e8f726dd0ac080L,0x6269b2a1e2d97d82L,
  74628. 0xe9c9e6e320004746L,0xab497cfaa7f067f5L,0x55fdf3a16dfbd572L,
  74629. 0xfb825d8470231374L,0xbe464555e606857aL,0x00000000000000daL } },
  74630. /* 23 << 7 */
  74631. { { 0x4aa75dbf3fe45c64L,0x984319bfac44599fL,0x6a9f5fe68d365824L,
  74632. 0xb188e2357af31facL,0x238f73c3d9a23fafL,0x55ae76a5b2011c25L,
  74633. 0x3fc45a1279e98b35L,0x4cebe6d6b9178aacL,0x0000000000000002L },
  74634. { 0x2ad7f331d91ba2ffL,0x337d19a14528123fL,0x6966284d9172998eL,
  74635. 0x3dbe46a5a78104faL,0xd64c5cc3126b5bc5L,0x7c3b65aa76f1dc3bL,
  74636. 0x51807e032b762128L,0x5a96328ec6a60ccbL,0x00000000000001e0L } },
  74637. /* 24 << 7 */
  74638. { { 0xa0242d2359b58cfeL,0xdd86e8cadf33a5caL,0xf5108bc2b08cbf3aL,
  74639. 0x4eb5d82bda1733ecL,0x01eb740244dfac1dL,0x66f1ca152a30cd80L,
  74640. 0xde973c30bfd63e5dL,0xeda12faf640918e8L,0x0000000000000148L },
  74641. { 0x250a8d93bd70515dL,0xb2d0389b15f9705bL,0x4845788f4ee84ceeL,
  74642. 0x88926b3283f6fe3eL,0xd487de769e834d93L,0x3e4a88e11b7dfaa1L,
  74643. 0x10b6759de684beb9L,0xefc2282ffc887b1aL,0x0000000000000021L } },
  74644. /* 25 << 7 */
  74645. { { 0x5abbd8f370fe7fa0L,0x3f9bb48bf231ffd3L,0x935b99d8645a2ba8L,
  74646. 0x6516eb26a79dc498L,0xb3f04c2b9205d3a1L,0x947f338edbe99243L,
  74647. 0x7fb24af62be752afL,0xfe1b2b011053a4b9L,0x00000000000000d6L },
  74648. { 0x3bdc2af92a4ff7ccL,0x17cf61867902709aL,0x37394caeb4a54187L,
  74649. 0xdd2fa8aaa97f6c1aL,0x61478eb937775709L,0x9191485999524713L,
  74650. 0xa52dace45c79ed9fL,0xcf33ce2c602de95aL,0x00000000000001a4L } },
  74651. /* 26 << 7 */
  74652. { { 0x34cdf57179fba304L,0x2da4c0b855cba8eaL,0xfa08edb0e3ab7e7cL,
  74653. 0x89bb570a1176d554L,0x13f14aecf620989dL,0x070496cf73ab04d1L,
  74654. 0x0fd6e1e4e776b1a0L,0x6be78274e938cbf6L,0x00000000000000d9L },
  74655. { 0x8c93bc922cea82b4L,0x841a245a8f61cc83L,0xf6d7371707b43460L,
  74656. 0x17789f54496e9107L,0xd79a87dabf60ab90L,0xccb42770f04f3232L,
  74657. 0xda9dc1deaaeb6908L,0x0389467e83b7bd43L,0x0000000000000081L } },
  74658. /* 27 << 7 */
  74659. { { 0x8a119d3b89293e7fL,0x8829872e7fd1cb46L,0x511969b796e8a867L,
  74660. 0x2ae47fde2fdcd328L,0x657ba478462c5116L,0xed1e2c23686b8ab1L,
  74661. 0x9e111f8d653b32c7L,0x507b05a0cf55d5efL,0x000000000000005eL },
  74662. { 0xe452817b4beeff01L,0x20683c1527b777f6L,0xe075294f9877e28dL,
  74663. 0x56526da46e018831L,0xc0f16bef1997f554L,0x167a23dd2b350ba2L,
  74664. 0xb656c0d37a19f7c2L,0x0f9c5b5b5adc0909L,0x0000000000000110L } },
  74665. /* 28 << 7 */
  74666. { { 0x536183888cc1b1d8L,0xc4caa4f436009a81L,0xbe295ba7db665aa6L,
  74667. 0x4ca4e46fbc0a3df2L,0xfa5d29b60beea0f1L,0xeb13931e86c30cbbL,
  74668. 0xc3fbe7b253ec9ee4L,0x95a931572b98e62dL,0x0000000000000003L },
  74669. { 0xf8ef16326477ddd7L,0x87ad8c3b79fe61f1L,0x5d00661fb635ececL,
  74670. 0x181527820f321c67L,0x4819373f635bba1eL,0xde36d5089a09eb68L,
  74671. 0x48d4a31bb4c9aa92L,0x28c3f527bb549db3L,0x0000000000000182L } },
  74672. /* 29 << 7 */
  74673. { { 0x38c9f940c68fad90L,0x77d0f2254b76e5d4L,0x7df41a86096626aaL,
  74674. 0x377aea6d8c22d84eL,0x8228cfbb882544a5L,0x89f9f9b3b1669379L,
  74675. 0x7a0ef6c3e8ac7a4eL,0xccef3bafc96ea0a2L,0x0000000000000172L },
  74676. { 0x70f4de9feb10583fL,0x76f7b047c27ee4adL,0x544bdfb63fcb3ebcL,
  74677. 0x632d453921a2c4e7L,0x4f70b8c6ab207ae0L,0x2daa1737ce209d65L,
  74678. 0x9f094efb4921286aL,0x725653ef5465a990L,0x00000000000000a3L } },
  74679. /* 30 << 7 */
  74680. { { 0x16a72eb79e6dbb64L,0x0e4a2f79ddd1a126L,0xa231a534482b6a66L,
  74681. 0xd1506e255f4424b5L,0x72869485b848cbb7L,0x8110e25977260252L,
  74682. 0x4f3776fa6132f329L,0x71ce95f6f911712cL,0x00000000000000c9L },
  74683. { 0x85e3de361c4417d8L,0x26e85989703b3b41L,0xcb1f8ab41d0da946L,
  74684. 0xe042ea5196c2e272L,0xe2255e1f662c470cL,0xa1bd3d5672c1f8b9L,
  74685. 0x38698fd77fd14593L,0x4b9eda73f820ee6dL,0x00000000000000edL } },
  74686. /* 31 << 7 */
  74687. { { 0x6bdf5a24c96f6fd8L,0xde9420b80ec69af9L,0xef89755b25a46a01L,
  74688. 0xf7447d81e8871eb1L,0x1477c32e4ed21e9dL,0xdf036e42996bd5b5L,
  74689. 0x78099d1b9918c856L,0xfd2e3b70f8dfe807L,0x000000000000011eL },
  74690. { 0x19437721fb1df8efL,0xdae12e1cfdd0d41dL,0x3fdde152bbb0b79fL,
  74691. 0x8f8c75324bd97ea2L,0xcdbac848d872e34fL,0x2b507f37168ac6d3L,
  74692. 0x3128cebe46a04043L,0xb4196978f5a821c8L,0x0000000000000092L } },
  74693. /* 32 << 7 */
  74694. { { 0xe070a145e4ffac9bL,0xf8295455aa280fffL,0xa2d6cf897010805fL,
  74695. 0x04e130893220ff7cL,0x5935e6e2ad11681eL,0xd91efb7bb9cef2bcL,
  74696. 0x3c260b9914bb8c4dL,0x24bf88d53a265599L,0x00000000000000f0L },
  74697. { 0x1ff2439ccc9c279aL,0xdfcd0b6e90bab4cfL,0xfa08a7bac3acbfdaL,
  74698. 0xc91b8f40cdb22a56L,0x9624ac18672be103L,0x1e59bac0a7cb0f83L,
  74699. 0xae0aa78eed5f94c6L,0x9655b8c3b43029e1L,0x0000000000000052L } },
  74700. /* 33 << 7 */
  74701. { { 0xf0abb749e0b45567L,0x35a3562be1b25216L,0xda2ba89fbebb512cL,
  74702. 0x4f4fc05d4d9c9ed4L,0xf4f488b08789462aL,0xc1b1ed9676223e7bL,
  74703. 0xf4702d30ca356c71L,0xf25425fa6075b8afL,0x00000000000001a4L },
  74704. { 0x48f573eca93e0794L,0x336e5577b317dac3L,0x66be7dbc49940907L,
  74705. 0xa2da2289fe310627L,0x4d39847d129aaefdL,0xfc33556aa71e2383L,
  74706. 0x3f36017c8c962e42L,0x4a29a03939ef2110L,0x00000000000000e8L } },
  74707. /* 34 << 7 */
  74708. { { 0xdec3cf59ea27c05aL,0xa7f67083b52e2b6eL,0x38ce7a200474b960L,
  74709. 0xdd1975e729def768L,0xb114af497c50fb3cL,0x11ba4d4fb0b25935L,
  74710. 0x5b8088f0f6882daeL,0xdacff26b9f98d4a8L,0x00000000000001c2L },
  74711. { 0x14dac24531675d19L,0xb28812683ad6531cL,0x335b8fbc4fcee598L,
  74712. 0x03d355986a6218a9L,0xf949f8bc00de3490L,0x5f3ac4d1197b4f84L,
  74713. 0x5d0134a9bf92f51dL,0x34d805dbf42b3ec5L,0x0000000000000106L } },
  74714. /* 35 << 7 */
  74715. { { 0xacde8c05303edc58L,0xe7448e83f30b2de0L,0xd01600b5f56693dbL,
  74716. 0x11dddd528d1de024L,0x504351d8ae9a52a3L,0x9575e24ebb9ae192L,
  74717. 0xa063f065f2894ae3L,0x3217c3923c876549L,0x0000000000000083L },
  74718. { 0x212aa9d5e6932da1L,0xf7acd1f004c91e15L,0xb961a8a429495668L,
  74719. 0x943925040ea593f7L,0x834bfa64200847b6L,0x033b1ec77dd4647fL,
  74720. 0x4541a2f2334e806eL,0x90ec0295dc2bc63fL,0x0000000000000126L } },
  74721. /* 36 << 7 */
  74722. { { 0x35da5eaa514aa1a0L,0xcdd35c375b9bed0eL,0x91f1d3dc0834c326L,
  74723. 0xe529992bef9c0f44L,0x04570f257660418dL,0xbbfdcd21f2e7a423L,
  74724. 0x2b52019a1b481b2aL,0xf06a0cbd956bf66eL,0x0000000000000133L },
  74725. { 0xf47b962bb2bf730cL,0x22ad11370b787697L,0xc2c14c015f9afe14L,
  74726. 0x8bd0f5f23b4dbb1fL,0x2787d1b7137d3f32L,0x0e60261f91a6f97aL,
  74727. 0x761bfe8ae5b0f47fL,0x9e0f42185e729f2fL,0x000000000000005eL } },
  74728. /* 37 << 7 */
  74729. { { 0x3c0cdc877d8589ffL,0x6b599da101ab0129L,0xed6ae833cb178542L,
  74730. 0xc4206185c7014257L,0xfdee5dc18ed75972L,0x30422a42c46afcb6L,
  74731. 0xc990c82f85ac77a7L,0xc73e857d3a775c10L,0x0000000000000180L },
  74732. { 0x2dd3442b8642a173L,0x89d3b9151d213119L,0x19f6ce0fbd1f66b3L,
  74733. 0x1cb3fe0ba7811243L,0xc8383bb3c3786820L,0x8b5dc0c1b06a0e53L,
  74734. 0x575971ed870c6488L,0x5c1eab4ff71666b8L,0x00000000000000daL } },
  74735. /* 38 << 7 */
  74736. { { 0xa112afd237c6742bL,0xf85c7e5425ef3985L,0x4e623a062fde58cbL,
  74737. 0x4831bb2c1b18660eL,0x070a617b8cc9ce53L,0x3b59092b1d9b9cddL,
  74738. 0x4ff5178379d76cd8L,0xc59e27c72cd5db8aL,0x000000000000018cL },
  74739. { 0x18adadff364202e7L,0x7394b31421136377L,0x27ee75271da7b19aL,
  74740. 0xca9f1342464f6acfL,0x1f1d417206c24afcL,0x9b2124214cee62e0L,
  74741. 0xb63db356d4324e57L,0xc446ad3f5e72cf84L,0x000000000000013eL } },
  74742. /* 39 << 7 */
  74743. { { 0xb4dab7c1dd5c0101L,0xa2df684b3940fff8L,0xb22f144657aeb440L,
  74744. 0x20bafed817987125L,0x5d3a5c17f81f2ea1L,0x8542239d74810449L,
  74745. 0xeb05aff9d7f767b9L,0xe88b3034fd75c524L,0x0000000000000041L },
  74746. { 0x1dc76528d9c83428L,0xd317a4a7299a05ffL,0x2868cf78d8e73503L,
  74747. 0x4d9140a24d6ccb4aL,0xe0b0f24894eb64c8L,0x4b38e9477c5e853bL,
  74748. 0x920c1373dfb43575L,0x069956acc7f6e5c1L,0x000000000000001eL } },
  74749. /* 40 << 7 */
  74750. { { 0x2120f7a02565cae3L,0x8b7701807772e523L,0x83d1d71da1a4e556L,
  74751. 0xac9de3546893b076L,0xfc06849cd643a9a5L,0x66cc453d6e46c73eL,
  74752. 0x295b72d3e6b4cb6cL,0x27d7ea49f8d2fd22L,0x00000000000000b0L },
  74753. { 0x0a0022913905ce31L,0x58fa6abc37b6e43aL,0x639d7074f0bed901L,
  74754. 0x751cca9a0b2b80d7L,0x498f8be5356bb88fL,0xa1e192ed084fa7f7L,
  74755. 0x72123071fdabffe4L,0x375dd6cab6d31ec0L,0x00000000000000e2L } },
  74756. /* 41 << 7 */
  74757. { { 0xb986a1033fa0a922L,0xd8af1426471aa7a6L,0x142757f75da16f1dL,
  74758. 0xaa5aa2e5112ab9daL,0x2528729d7a36d194L,0x66f8e9d2a5931641L,
  74759. 0x647ff5ed954111d4L,0x91353bb782096582L,0x00000000000001f3L },
  74760. { 0xd5e1357471f27d0aL,0x8a17cfc4bef718caL,0x045d82b76c25b86eL,
  74761. 0xc190470da060638cL,0xfe1ccd344fe469efL,0x7216f6a2b6e4a4e6L,
  74762. 0xe878f0013d4ecd71L,0xd9e6bef5c06db8e1L,0x000000000000000bL } },
  74763. /* 42 << 7 */
  74764. { { 0xa2ac1ae9ac8574c2L,0xa94d700bd8e57fc9L,0xe553a50483768f7cL,
  74765. 0xf7ee17786a4b96ceL,0x9cd65ec7435476b3L,0xec29f389227fc1c3L,
  74766. 0x04d7c2cb02ab76ceL,0x955fc98eabeea649L,0x000000000000003bL },
  74767. { 0x2caa7206a4347b25L,0x8f9c3dfc888d9c02L,0xd13abad5c7637e02L,
  74768. 0xdd4f2d9889bff5e0L,0x6639923e91237db0L,0xfceb7bec76b38fc5L,
  74769. 0x6f51b35946622c86L,0xcb45000bbc3b052aL,0x0000000000000096L } },
  74770. /* 43 << 7 */
  74771. { { 0x7bdd3a436fe42b7bL,0xd751294a80a13668L,0x0c360e45a02c31b6L,
  74772. 0xcadb32ec364ab022L,0x714b47b52915fc64L,0x12894036314a27daL,
  74773. 0x93988364131a29c9L,0x8345fcb41c11e126L,0x0000000000000020L },
  74774. { 0x7379fc37adf71005L,0x763700973e92607fL,0x7ef1e34ade1aecfaL,
  74775. 0x3e9dccbc364796b5L,0xc2a20940b9b3b46eL,0x209ff5a7b71eead0L,
  74776. 0x8fc5eddf3e6a184bL,0xcaf50b8310b1d636L,0x0000000000000004L } },
  74777. /* 44 << 7 */
  74778. { { 0x24ac95c1b023a7a7L,0x900f86d152a600b3L,0xee5907d16cb1e79cL,
  74779. 0xac05c5459e15310bL,0x379b5f665baf1a18L,0xb936c3748ebdeb65L,
  74780. 0x2da06f140b4bb218L,0x3cce7e77a902a571L,0x0000000000000105L },
  74781. { 0x6e88f5350d47761eL,0xcdbe953128102f67L,0x5fbc898b5d8a732bL,
  74782. 0x4e2b80b20674c9ceL,0xbb1b8ff3b9ca6e9cL,0xacfb7ce058cf73eaL,
  74783. 0x3e38eb1e246664f7L,0x23e34b6712c6e67bL,0x00000000000000b0L } },
  74784. /* 45 << 7 */
  74785. { { 0x788cfa862ce9987fL,0xcf87d7181f3a827fL,0xeda41d438963ebe8L,
  74786. 0xc0fc14f2352ede26L,0x1c887d1f9aab3086L,0x4b2ee360e7afe709L,
  74787. 0xb32dcc7781abfa6eL,0x93acc0e721e565c6L,0x00000000000001acL },
  74788. { 0xda186d0d64798caeL,0x0e1245903faa2a4aL,0xdf259b1e17f2b48eL,
  74789. 0x08d00309e1738aa7L,0x55fad154488c2c04L,0xa49a1f6c8d1cb326L,
  74790. 0xc17528412a587b54L,0x1ae3846021b28da0L,0x0000000000000125L } },
  74791. /* 46 << 7 */
  74792. { { 0xc60450ffcfe88e41L,0x90e4a31ce80ee199L,0x129c8141054f77f9L,
  74793. 0x3d87883643d18e19L,0x7d538b08d0aa43a2L,0xaec78cbafedc871cL,
  74794. 0xc2512a4b22c45176L,0xe0fa4fd7adc1c057L,0x0000000000000054L },
  74795. { 0x6977ed3cb3d0e464L,0x20392cf15876e2f1L,0x4ccc33533e070075L,
  74796. 0xb7aeeef1cf3dc364L,0xed66fe98757b2e2fL,0x5aaa91f114988622L,
  74797. 0xe8f06691772fe270L,0x593bcbdce68972e1L,0x00000000000000abL } },
  74798. /* 47 << 7 */
  74799. { { 0x79f3c8d48b4979c1L,0x9f314f3ab34227caL,0x53f70c238542df00L,
  74800. 0x735c9c1f5d2925f4L,0xbc85ead47a520674L,0x03ed628cbaac2b52L,
  74801. 0x920fcf7c3b63752cL,0x82b2bbcc4ddbca03L,0x0000000000000025L },
  74802. { 0xb3e15c93eee68bacL,0xcaeaf1cab4c6d5dbL,0x87135e437d63080dL,
  74803. 0x7aedd26eece9d3d5L,0xc2cf0281703d669aL,0x669e59b813ab55c5L,
  74804. 0x3682cc5bdc1f5faeL,0x27631c8b969d7e7aL,0x00000000000001faL } },
  74805. /* 48 << 7 */
  74806. { { 0xd8af5067441231b0L,0x060a5889b44f70adL,0xc8b668b8d34dc5fcL,
  74807. 0xefd712c3c0913970L,0xb399e81b39dca3dbL,0x78fe34977b823568L,
  74808. 0xe9898e44b2345a5cL,0x71d1075305abf156L,0x000000000000004aL },
  74809. { 0xb207612eabd2dbffL,0xda4acee7f8666c01L,0xb5385d489eb81547L,
  74810. 0x54aef0260b0b50f1L,0x753b6de9117bb8baL,0x770ce21ac85f7040L,
  74811. 0x2c84b50d55ba9a93L,0x3d6e5e41ed6d5184L,0x0000000000000172L } },
  74812. /* 49 << 7 */
  74813. { { 0xbc90b46a54ddbec7L,0xd41023cc9f994187L,0xacd294e2e2bc97ffL,
  74814. 0xab4a43a925eb30dcL,0x73a2f91e7d271790L,0xfdddfdbd90babdcfL,
  74815. 0x075d1009786d202cL,0xe27659f112af11b5L,0x0000000000000132L },
  74816. { 0x82bb740b5015e833L,0x1b146b579756a549L,0x0676b19bbdbbc646L,
  74817. 0xd905bde08b917c5dL,0xd612630a385d16b8L,0xa990c8d30750f8afL,
  74818. 0x9b692f8b964eca68L,0x0cb1417c6cbf6aa8L,0x00000000000001ddL } },
  74819. /* 50 << 7 */
  74820. { { 0x633c95cacfeb6e6dL,0xf310f055d3a913f8L,0x82b3c285962f7c53L,
  74821. 0x93cea71d41ab7d17L,0x3e1938c7c2663a84L,0x03e5c149da567012L,
  74822. 0xbef4569ed1fddee1L,0xec2c08d2c0a14e36L,0x00000000000000a8L },
  74823. { 0x9f1984ea8c66bb0dL,0x33ec54fa24a7ab3cL,0x82363d70bc7cd59dL,
  74824. 0xcdc086c9dd7205b5L,0x81cefb78bd3f9b62L,0x2f7d9848d0c20358L,
  74825. 0x7d19925e827ab25fL,0x27432ca7bdc46e8dL,0x0000000000000103L } },
  74826. /* 51 << 7 */
  74827. { { 0xe5fb482725ea9627L,0xd1b15417eb4a6824L,0xec66b336f640dc0eL,
  74828. 0x58b67fde1f768b93L,0xdb052d30c38e94beL,0xb8f9bf0026c71d3aL,
  74829. 0x524029e3967c2608L,0x2cc1604c3e96c14bL,0x0000000000000018L },
  74830. { 0x1e00bf024096151fL,0x4682903a3280e791L,0xd10747413f59b08eL,
  74831. 0xf805afcf57dc3da5L,0x69231f31c41ed588L,0x8d88792c3a6f17f2L,
  74832. 0x8c7ed0f3e5562da1L,0x56210b8fcdd3b578L,0x00000000000001c9L } },
  74833. /* 52 << 7 */
  74834. { { 0x9560994f8b256515L,0xe6a1c4bfee0c60f3L,0x90616d735c40e06aL,
  74835. 0x96b06d488938c896L,0x3e91746cf7a0d6a3L,0x64101f1f323bb0dfL,
  74836. 0xb9063a273c5f05d8L,0x9a3278f8707f1505L,0x000000000000016aL },
  74837. { 0x99599034cd47eb2dL,0x2445f57192baec6aL,0x3d775c01f4785d10L,
  74838. 0x5b52741ba39f1742L,0xc3b9b777ae6b587cL,0xf843aed8a8f986d5L,
  74839. 0xac95d65bc8e3e8a2L,0x5ae638e982675b40L,0x00000000000000e1L } },
  74840. /* 53 << 7 */
  74841. { { 0x02e5f7474e915b10L,0xfe984f976f9492f8L,0x9539886769709243L,
  74842. 0xf4525d86df138cd6L,0x0c4e8a47f691a83fL,0x7ad0d619cd6eb376L,
  74843. 0xc5185be22dc115d3L,0x0f31c58e3c0cb3c6L,0x0000000000000117L },
  74844. { 0xf32d5bc157532f62L,0xb11abd34088396f3L,0x41bca25c0b5c4572L,
  74845. 0x85c1d94afd7dee4cL,0xa3bb272129b04077L,0x4ca6c9d0b087910dL,
  74846. 0xef465fede2824a30L,0x3bbcca9059bb45e4L,0x00000000000000c2L } },
  74847. /* 54 << 7 */
  74848. { { 0x5620edeac1805532L,0xb0d80cc507b46a79L,0x147fd42b4ad3c20dL,
  74849. 0xc5a3cfad1efb9437L,0xa8c731ffafcc3dd3L,0x3ba852716b815aeaL,
  74850. 0xae961cead66d3336L,0x3f046de2c4a83a83L,0x00000000000001d0L },
  74851. { 0x87ee923ff0ea8ff8L,0xd0fa8affd0f83feeL,0x5164155928b3f47aL,
  74852. 0xfe93907dbda41a94L,0x8da252c4dadabbc1L,0x02c5a8792d3e40c8L,
  74853. 0x1ed3ebe41b678f29L,0xcc33244ff9b63773L,0x000000000000007fL } },
  74854. /* 55 << 7 */
  74855. { { 0x347a11bc92d26303L,0x59820ecf9064fc95L,0x32c8ea2bb66853a3L,
  74856. 0x3dd1cb41b71920c8L,0xdddf7e6914bbf36bL,0xb0f71e18c4d27229L,
  74857. 0x35218d027c56d60eL,0x0e1f568591c81b81L,0x0000000000000049L },
  74858. { 0x94649487c1a83b3cL,0x79505e0ac2894f9aL,0x12548fe7f64af5a4L,
  74859. 0x0ee8e52a838817e3L,0x625ae0a8faeb95f3L,0x6e82be89f6fd174bL,
  74860. 0x16cb1065c3c4ee67L,0x43c8d753e4cf40ebL,0x00000000000000d2L } },
  74861. /* 56 << 7 */
  74862. { { 0x7dc3f4d8b36d4820L,0xc1367c104f2582efL,0x0d65009c600cea72L,
  74863. 0x663152830418692bL,0x973e1aad1b497fe9L,0xa89362316a9c3aa0L,
  74864. 0xa884d7d4c778e6f9L,0x241c3d34142bae6bL,0x00000000000001acL },
  74865. { 0x09636cb73ff4bc16L,0x7f924363dc70dd8bL,0x44ab005c916de001L,
  74866. 0x5995d92173cf5f83L,0xbc1528c1ae70dc46L,0x94335a4f065bfd79L,
  74867. 0xc50d05469b5a3a41L,0xfeaa8d5a6c039454L,0x00000000000001bfL } },
  74868. /* 57 << 7 */
  74869. { { 0x47a78493446416e9L,0xa88b09e0e09e1613L,0x8ffe68539241f3eaL,
  74870. 0xbf5369920fdd9ac4L,0xd619356d487d6560L,0x66a29c0b3a326f9aL,
  74871. 0xa4562dcb975f8c4dL,0xa9b11a8f6827192cL,0x0000000000000034L },
  74872. { 0xa18d94c3beabe49eL,0x4c95b3d210247731L,0x7e4aaa62800c61ccL,
  74873. 0x192be7ad93aafef3L,0xacdb0684548c37edL,0x906c5dca6b217274L,
  74874. 0xe82905411aa5e87bL,0x99499377af948d0eL,0x00000000000001a4L } },
  74875. /* 58 << 7 */
  74876. { { 0x3ccbfc85947098a6L,0x51a647133cedcde0L,0xab36cd65840db808L,
  74877. 0x27f54065e1e6da2eL,0xacb7bc24c4dfb935L,0x0539fb6b85811a51L,
  74878. 0x9a834c153458dbedL,0xf200b042d91c1ffbL,0x0000000000000129L },
  74879. { 0x64408f3e63cef0a1L,0x9248b34a1e8f0362L,0x666f2a1ef133487cL,
  74880. 0x47574c1e074d37b5L,0x747eddc62bfb71a2L,0x126ccc0ee2f3a687L,
  74881. 0xfe46cb0a74df9695L,0x76c6f165390f4609L,0x0000000000000166L } },
  74882. /* 59 << 7 */
  74883. { { 0xcdaa7ab5f50dae67L,0xaa79f66748a0f682L,0xb8527b90a5eece8cL,
  74884. 0x52140489e971d0cfL,0x46592debe5dcb864L,0x93b033d749d3a03cL,
  74885. 0x2ae696de6111a307L,0x92d90b30ac5a9212L,0x000000000000012fL },
  74886. { 0x1237c3437c548a9eL,0x0a6a33f85ca220dcL,0x89efc633944f854aL,
  74887. 0x1720353b68491e43L,0x50c189b0beb38a01L,0x84cf858336ee395cL,
  74888. 0xd644ee4d644a684cL,0xc496e4eacb2536c3L,0x0000000000000039L } },
  74889. /* 60 << 7 */
  74890. { { 0xa12ab81202bf43adL,0xec13c1d85b4fa76cL,0xdc2693f35ef4cae8L,
  74891. 0xe77c16cfd10b16c2L,0xf0885709af73ee84L,0xa0178986db518b00L,
  74892. 0x5b09e2e2435f7a09L,0xb043059120378b2aL,0x00000000000001baL },
  74893. { 0xe4f25ecfc35a9aefL,0x183d67e6923c79b8L,0xc1ef889887e007cfL,
  74894. 0x243bc11fdc0f34bcL,0x93f6d3cab5219ef8L,0xce0f0c34e7f8f11cL,
  74895. 0x2980543534f5dd6fL,0x425109831808c4ddL,0x00000000000000aeL } },
  74896. /* 61 << 7 */
  74897. { { 0x4a1c78eb6d3ef9b9L,0x8e378182ea5b2c00L,0xcc80009a7f17bc57L,
  74898. 0x4ac0725c3aa76f52L,0x67074a8316090e69L,0x247a99f906040d66L,
  74899. 0xffc91223c202669dL,0x36cc81087cf6079aL,0x00000000000000ecL },
  74900. { 0x0f4c307f9a9b6f1bL,0x784340bca4206c20L,0xb97598c2e2d0b207L,
  74901. 0xc7505ffe1ddcc638L,0xe9d636eee73109c9L,0xd85e9e014b69754bL,
  74902. 0x2a9802d5445c653eL,0x56e8b9e89805df1cL,0x0000000000000183L } },
  74903. /* 62 << 7 */
  74904. { { 0x50749bac0480a6eeL,0xd198789139ea640eL,0x13ac416185393676L,
  74905. 0xe28d116425c2eec7L,0xe636a59655b9f322L,0x4ba90f173a8ba194L,
  74906. 0xbca2eb38d49ed797L,0x9dc621d4f4e753b3L,0x0000000000000036L },
  74907. { 0xe1f60197f0f3bf12L,0x9137f979e7460711L,0x65cf559e696dd5d0L,
  74908. 0xbcc8bc9be80803f3L,0xab56300de8693f04L,0x03ece5d00979cf03L,
  74909. 0x907f30ef073bc6e5L,0x3a7773c1344d837eL,0x000000000000007aL } },
  74910. /* 63 << 7 */
  74911. { { 0xe25c24651f92f8b4L,0x3c12a2ad947b1043L,0x159bbc425aea4035L,
  74912. 0xe2519611012a7a12L,0xd237c4afeec2c287L,0x070eb6c60bb8f6d1L,
  74913. 0xabc1864e29a8a0f1L,0xc6d6f9dc9a1ef77aL,0x0000000000000179L },
  74914. { 0xca4e4bdfe6f42115L,0x86dc6504954f8811L,0x501d86c5c35fe50cL,
  74915. 0xf381c7b059fd3d0aL,0x2f3d1282a5a428a8L,0x152986e24130b67cL,
  74916. 0x2b3719068151bc5fL,0xdf41c90aa163dc68L,0x0000000000000063L } },
  74917. /* 64 << 7 */
  74918. { { 0x2172a8aa81a7b4c3L,0x97ca8dfdabf93bbdL,0x2525d8caf37d1211L,
  74919. 0x16442a63917e5726L,0xc67b9ec8e12467bcL,0x53240d523c5227e1L,
  74920. 0x6f6049267101b132L,0x70da1ac7de1a0f56L,0x0000000000000086L },
  74921. { 0x8d0c56be53e7dcddL,0xca55c626eabc48deL,0xd4cbc52a585ca3c4L,
  74922. 0xa36f240277288d74L,0x42922ebcf7ff687fL,0x482022cd5efbb12dL,
  74923. 0xe539f2aa7a1abed1L,0x561c207037c7469fL,0x00000000000000c7L } },
  74924. /* 0 << 14 */
  74925. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  74926. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  74927. /* 1 << 14 */
  74928. { { 0x6db672c63a46caefL,0x999560bf8bd02589L,0x53e343871d900fa3L,
  74929. 0x33c80c2c53d2590eL,0x3b11ead69801a393L,0xc6701879591e52f0L,
  74930. 0xc1c1982d60428399L,0x77d747971932418fL,0x0000000000000177L },
  74931. { 0xa4f615a05b4fa0ecL,0xb5afe599059eb5c5L,0x1260ba581142b875L,
  74932. 0x3cc654abf4f69ae0L,0x0422ac16ab6d27bdL,0x119f316acae65c55L,
  74933. 0x3ec0a913e15b6c6fL,0x1603620e0ae71c5aL,0x000000000000008dL } },
  74934. /* 2 << 14 */
  74935. { { 0x7d5f8e474538e761L,0x37c788724c878738L,0xe69f4711816427f0L,
  74936. 0x4da6f4677315c7d8L,0xf4665c460e84d136L,0x6b6c9c506a9d82d0L,
  74937. 0xab5d9fec1a96fcd2L,0x9ed96c86f7974f3aL,0x000000000000011aL },
  74938. { 0xbecff7179a66d7acL,0x67d08b6d8f4f08b6L,0x0f7ce5bec02e60acL,
  74939. 0xcae69a50294aed52L,0xb1e2278e10970dfcL,0x618459af75b3e40eL,
  74940. 0xe395787ded5e54a0L,0xcd8a442be862c8ffL,0x000000000000001cL } },
  74941. /* 3 << 14 */
  74942. { { 0x501c5422910040b2L,0x3d8fadef6fd18a7dL,0x1ca9754cc159f2e8L,
  74943. 0x3e337074f3570cc6L,0x8d2e0b274f64c1b0L,0xb458964157d8e707L,
  74944. 0xdb9c20ff3b377e8cL,0xe202cb7e3c7a95bbL,0x000000000000014cL },
  74945. { 0x443b521528898156L,0xc803d7d24d94ae93L,0x768497c3aa70513bL,
  74946. 0x48e7031adb916475L,0x7668dee27654c9a3L,0x9d9403b272eb0122L,
  74947. 0x28eaefd23999b060L,0x663b8a7974c55442L,0x000000000000017bL } },
  74948. /* 4 << 14 */
  74949. { { 0xa3480d58caa4bec3L,0x389489935989e4a0L,0x3f4d7b6c6f7ba4caL,
  74950. 0xe2913a55d39cb2aeL,0x615043ead7be6499L,0x9d4c41cbf504fec3L,
  74951. 0x4f93da968d44893bL,0x33a7acdc9a7928e0L,0x0000000000000013L },
  74952. { 0xc865844f48219a09L,0xa6d0b17937426bdcL,0x7386a0a6284ae0e6L,
  74953. 0xddd6cba0c2dc16fcL,0x77d2934d2940d262L,0x3af6ed35741b88abL,
  74954. 0x96f43a65a6dae43fL,0xc71435351414083bL,0x0000000000000057L } },
  74955. /* 5 << 14 */
  74956. { { 0x7790d2eebb886b9cL,0x80caee478c4013c7L,0x2d7d404ec987fefdL,
  74957. 0x31a416b818d7d489L,0x00f6c0f7206e539eL,0x725d958fe52b602aL,
  74958. 0x5729d79e5c4f58e3L,0x2e03f6286906e10dL,0x00000000000001b7L },
  74959. { 0x2e85fdc682793d69L,0x90676d2f89340b5fL,0x21b84c0e32410378L,
  74960. 0x0a3f3ec8596bac35L,0x986e33fa25754c0dL,0x9d278b18aa967da9L,
  74961. 0x60e45c3719545be5L,0x7c67878814875f0bL,0x00000000000001b2L } },
  74962. /* 6 << 14 */
  74963. { { 0x5f3b4a9387f6aa1fL,0xc2b1fe751d34fc74L,0xc437a7aee34cfc89L,
  74964. 0xed72014c30161cfbL,0xfe567e693f395ab9L,0xa1639cf06f0de2a7L,
  74965. 0xd21f55d847970dc6L,0xb5e535794207deb0L,0x0000000000000139L },
  74966. { 0x594d169afd419bd1L,0xb52e9e26c90e05bfL,0x44d444b7a62de4b2L,
  74967. 0xdd2f17762364737eL,0xc0f6a25563c867d5L,0xf2b52b0e19341f8eL,
  74968. 0xaf95afc014538a86L,0x9a4427ad1dd0c0a7L,0x0000000000000040L } },
  74969. /* 7 << 14 */
  74970. { { 0x11f2c66709bb5ac2L,0x09e0c0068b1bc2b4L,0xb8b059d595edf7cbL,
  74971. 0xe84466599cc3b6f1L,0xff0bb4d21a19ff38L,0x4b28f740daa847abL,
  74972. 0x4dc18b713f2ba13fL,0x82797e6a24f93563L,0x0000000000000066L },
  74973. { 0x24647b9ce0b37526L,0x151f8e85a66e7426L,0xfbc49bd366cbd549L,
  74974. 0x35236b47f1bf9e2dL,0x22d57f5652ce20f5L,0x348388680fb86429L,
  74975. 0x4fd6f7c92729eb8cL,0x47760b45003362a5L,0x0000000000000104L } },
  74976. /* 8 << 14 */
  74977. { { 0x394d510624891f36L,0xb4265c4f825fa293L,0x65a54b87f6ecbd5eL,
  74978. 0x6a2f900f2a351a03L,0xfb26d52f8d1dad9cL,0xbd651f19ba2c39ccL,
  74979. 0x2d5894f2bb30ed5aL,0x4cc3f05794732ec9L,0x00000000000000c3L },
  74980. { 0x8c03ccdc9bfec4ffL,0x4ce76352d52329c8L,0x0a92cdf03995d109L,
  74981. 0x44d28a5d7518ba0cL,0xbd74ecefce16a6a6L,0xcab52531123cb82fL,
  74982. 0x72065b99f34e1c5fL,0x4949379f03a9a916L,0x0000000000000164L } },
  74983. /* 9 << 14 */
  74984. { { 0x8ee1c74910ad8ac4L,0x110157d24a29d219L,0xf118918bb59bf09eL,
  74985. 0xfbba7a0ed6b61104L,0x63da0b9a32b9e1deL,0x3fb49a8689f92a39L,
  74986. 0xd229edda291d7f6aL,0xc1e45caaf69a443cL,0x0000000000000044L },
  74987. { 0x08deb935b6066acdL,0xdd28bcb7b88f3d6aL,0x2e6be43d91b9a3ccL,
  74988. 0xb2480a1a17c1ed87L,0x6bde69bbb5b2b5bbL,0x97dc1fe8cc8f7010L,
  74989. 0x7e2807e7fdb1b32fL,0xe7b130d5f70fd8a0L,0x0000000000000043L } },
  74990. /* 10 << 14 */
  74991. { { 0xc3b8439c8b56ac59L,0x59cf8542da6f121bL,0x025a79c1032590e5L,
  74992. 0x3f98129081a8cbceL,0x757cdfa5b3cf905bL,0xea0bba9b91354970L,
  74993. 0x59482cb1dedf20afL,0x67d12c761e59c982L,0x000000000000001fL },
  74994. { 0x639ba69e08e7113dL,0xa47020a6d9a39024L,0x9fef97a3cb50be8aL,
  74995. 0x5a7a5e7f9d733c97L,0xf2794e015c28cf0dL,0xc1dbb356cae9bfbbL,
  74996. 0x77793cc224716c82L,0x5ccc298d50e5d617L,0x0000000000000037L } },
  74997. /* 11 << 14 */
  74998. { { 0x9812a6d442817149L,0xb73e1c2efd845130L,0x842633677ea37239L,
  74999. 0x3074c70bd66a5ae2L,0x15461fbba435a562L,0xe1457c9dcfd53243L,
  75000. 0xcb95324a4b559ae6L,0xd21b06be80fee082L,0x000000000000005bL },
  75001. { 0xb2a047a250bd939bL,0x50f8174e9ab3c538L,0x7566dd4371fbec0cL,
  75002. 0xd8e989b442a8285eL,0x40b5fb08c129ba84L,0xd3febcf542eb6910L,
  75003. 0x85627da7e425b9cfL,0xb5baf38fc4232846L,0x0000000000000071L } },
  75004. /* 12 << 14 */
  75005. { { 0xd49bea9d0d67ee97L,0x3b54996ff8ce59aaL,0x609f5808f5862792L,
  75006. 0x8fff6ee3bf16a7b1L,0x2d515a919ef889a0L,0x9fdad17ecc6a85c3L,
  75007. 0xa93c168b54d161d4L,0x269cbd3fd42907b7L,0x0000000000000077L },
  75008. { 0xefbdc466cc9bc5aeL,0x562163329f2d0abdL,0x567a46bc78b7f191L,
  75009. 0xfe6f5ffe55cb85ebL,0xb6a1bd3a1fa1e9b7L,0x92a1f94db23aa4a1L,
  75010. 0x8706df4e85b417c5L,0x80f8e27972c38e1dL,0x00000000000001f5L } },
  75011. /* 13 << 14 */
  75012. { { 0xdac5bbdfc3346801L,0x108dec419bcb0f02L,0x5fe3f06d48153635L,
  75013. 0x5ce5a8679d23b153L,0xe5dc5b536531411eL,0xae4960cfe36feb3eL,
  75014. 0xd2e67e4524c4fa67L,0xf00a144f30702333L,0x0000000000000182L },
  75015. { 0x746a744e9428502bL,0xe12542d5e48622c9L,0xd694eee1a88fe253L,
  75016. 0x971c241e1cd5c3a5L,0x7de4e880e0e6cad2L,0x76187547c4ea49e2L,
  75017. 0x0bd43790d02af40fL,0xe7cbcdee5dccd37aL,0x00000000000000edL } },
  75018. /* 14 << 14 */
  75019. { { 0x7c22cc01f186fbd4L,0x658ab99c126df416L,0xe558e64094889f6aL,
  75020. 0xa2bb3d4d6138f3ddL,0x0b566d593c7c1262L,0x3d6e21d39de86bbaL,
  75021. 0xf58a8bf45b3fa663L,0x5fcb32d5e5a9783aL,0x00000000000000deL },
  75022. { 0xe003185eed8094b2L,0x8c44e4e9cb093e1eL,0x9b22bf6557b21153L,
  75023. 0x4e77fcbff755775dL,0x60aa9c223918bf3fL,0x02efccef93854e6bL,
  75024. 0x8d5c09d076894b99L,0x000562319adbd877L,0x000000000000016dL } },
  75025. /* 15 << 14 */
  75026. { { 0x63d27e60b67b7904L,0x440e4862517bd828L,0xc6f01d917b4009d7L,
  75027. 0x111a41ce5fd8c6d0L,0x711dda3365429b9eL,0x2cd2af55551c4ccaL,
  75028. 0x5fb416e681cbda87L,0xa20d3108da546986L,0x000000000000004aL },
  75029. { 0x0554dea9f7d2d8e0L,0x8b6bfcf7eb41abb9L,0x40ee181804e3c7c0L,
  75030. 0x530c3e7220c85212L,0x235f022bc9a2fca7L,0x95fab2db0300639fL,
  75031. 0x48426194585506f5L,0x61a8465852018681L,0x000000000000014dL } },
  75032. /* 16 << 14 */
  75033. { { 0xb3ee676376229445L,0xf39bdb10fed827feL,0xbbd917775abbf64cL,
  75034. 0x260ee1d529a83fa6L,0xa0fb51a9e14c0321L,0xe285da4285203855L,
  75035. 0x5c8ab2d255550c91L,0x88a94f055e3e844aL,0x000000000000006cL },
  75036. { 0xe2c20af1885e1b36L,0x93632bfb5132eb84L,0x8ec0a26aeec26e58L,
  75037. 0xa189aa9bc1a0b075L,0x3786be8fff4a93f9L,0xaf4ace63e4302fc2L,
  75038. 0xc19ae28d5856207eL,0xcd791d4e5425099bL,0x000000000000013cL } },
  75039. /* 17 << 14 */
  75040. { { 0xc2e311642e400acbL,0xb36b8691858c3d81L,0xa51d8133cc1c343cL,
  75041. 0xb58a9c83c55818e2L,0x8ccec493946b84c6L,0x5665d20eb30779ccL,
  75042. 0x2edf3534a8d10a72L,0x865f8ffe3962aabcL,0x00000000000001a3L },
  75043. { 0xd992bb1c76d1bd21L,0x1b61530c574f2eebL,0xc5cea02a6431db08L,
  75044. 0x5abac615b6643c40L,0x839a739d9f0146c4L,0x0a6bd0d2d7b1dc8fL,
  75045. 0x225d01259f6f6dcbL,0x413d64406b6c5498L,0x0000000000000047L } },
  75046. /* 18 << 14 */
  75047. { { 0x72eff79a8d1df15dL,0x71e97979714870c1L,0xe66f939f9eb85672L,
  75048. 0x88eea0f77089e658L,0x4d2e37bd4bc49047L,0x3acc988fdd1bd5e2L,
  75049. 0xf4436daa725264deL,0xd294eb310c6f167dL,0x000000000000012bL },
  75050. { 0x37dcec51defe6cb2L,0x0eb39b1e82ae447dL,0x0e67d023461c386cL,
  75051. 0x67298ef032d4e679L,0x70c9d3e74c18fd88L,0x322b18eedc3a0158L,
  75052. 0xe643985c8d036e18L,0xafecf85494a080a2L,0x0000000000000102L } },
  75053. /* 19 << 14 */
  75054. { { 0xbea1d3999258e609L,0xade5b232992aab46L,0xa937d66aabb0b737L,
  75055. 0x75919dc971c1be45L,0x11f1edf6dcb6b3e1L,0x62be1beef84fc1e9L,
  75056. 0x5a7e2788d3a531f7L,0x5cc174fcb1eb09f9L,0x00000000000000d5L },
  75057. { 0xec6dc93ff199ad60L,0x7966f0725067e8eaL,0x5db6fb626cfa4a74L,
  75058. 0x9b7792ea5a8e325eL,0xd0165798a79ed9e2L,0x618db06c17fea9f4L,
  75059. 0xd4f26caecd5efe3bL,0x8848d8a2b1147f97L,0x00000000000001d7L } },
  75060. /* 20 << 14 */
  75061. { { 0x782a46b3a45742d3L,0x7fb395dc9ae4f831L,0xaa0a249906715575L,
  75062. 0x336dd153987995c6L,0x5678c82a70d00fcbL,0xdc87a87233b45f8bL,
  75063. 0xd5b269003498dfa5L,0xa8ef2e81410f7c71L,0x00000000000000ecL },
  75064. { 0x00e42ef069a89d17L,0xdfd638d21de60ee9L,0x5e3e68a98e2a3b24L,
  75065. 0x19d1cc8ad7a07f7cL,0xd84e18094d2c9b89L,0x7674bfd1fd778f5fL,
  75066. 0x962735a61e2b3490L,0x9ad592a5f535952dL,0x0000000000000031L } },
  75067. /* 21 << 14 */
  75068. { { 0xc8f1c0548a0c0bccL,0xa30f26a5b54457fdL,0x6fc1b24c95252d41L,
  75069. 0x7c17f5b425f17d79L,0xaa30b0d126e54e69L,0xc7319dab8072a467L,
  75070. 0x1b3b1209f653c077L,0x95dd97a541b0d682L,0x00000000000000b4L },
  75071. { 0x48e4678c3f3185d7L,0x1558aab9c5f4f58cL,0x8ded1080b9177b55L,
  75072. 0xb0f7ed32d457739cL,0xfd11aae5a6f09d9fL,0xd8c1338874a99d1bL,
  75073. 0xe68c2f61727f9c0cL,0xbe311c7779ee6a1eL,0x0000000000000165L } },
  75074. /* 22 << 14 */
  75075. { { 0xf5eaf9f335acce1dL,0x0b96a6023b9738ebL,0xad95bc9e3eeb44d8L,
  75076. 0x0eec1a5bd535a06aL,0x772a256b21ef687fL,0xb4d097892f4e9fceL,
  75077. 0x5f51391a31e0fab4L,0xe19ddf7c24d4a11cL,0x000000000000001fL },
  75078. { 0xe78b3824810e0d87L,0xb9a45999c38b789aL,0xef8856703d63565bL,
  75079. 0xc5c41e8704fbb216L,0xfdad741d95b5b15dL,0xf47540283617de9aL,
  75080. 0x270e0d35c4ebd6d3L,0x38c2d45b3166287aL,0x00000000000000b7L } },
  75081. /* 23 << 14 */
  75082. { { 0x87dd73b253e3448fL,0x60a7de8cc6d5fcc9L,0x0f0e775e7d9f372aL,
  75083. 0x7d3d0454356ca0ecL,0x67ef63091202240bL,0xe19efd47f65d2cbfL,
  75084. 0xd3407ca767184ce4L,0x6e17fc95a294bbdaL,0x000000000000011aL },
  75085. { 0x4e28296f4ece1453L,0x1c7af2e5626ebbdeL,0x9701e52b02e2a703L,
  75086. 0x17ae7fa8ab279190L,0x8db8f694dcaf71a6L,0x1ab5594633e49a0cL,
  75087. 0x38b2529c4c4de6d7L,0x16f59109d0e0b997L,0x00000000000001e5L } },
  75088. /* 24 << 14 */
  75089. { { 0x80d754cbaf63a6ffL,0xa4f718c114970f91L,0x33767545b184b25cL,
  75090. 0xcb615b6126115598L,0xddc1e848b0ec3a99L,0x238885ae7a9ee0f4L,
  75091. 0x4f434c1a70cff1afL,0xa5d8f62804f92877L,0x0000000000000103L },
  75092. { 0x889a468cf5e7b21cL,0x42c6b1284f73f4c1L,0xc825355fea99c1c9L,
  75093. 0xdfabd44eb8502cabL,0x2c19c4f8078ff997L,0x766be192f948436eL,
  75094. 0xc086ddd4d3dcdf09L,0xf28f946c1d8fd86bL,0x00000000000001ffL } },
  75095. /* 25 << 14 */
  75096. { { 0xba6292380ed67da3L,0xf098937a18b18a45L,0xf40e4ff532aa3697L,
  75097. 0x65f0f6d484f25d73L,0x0447d49a2409ee55L,0xd8f3f95ebe06fc9aL,
  75098. 0x6720b40c38a09cf5L,0x498d11f28fdced99L,0x00000000000000fdL },
  75099. { 0x30ba67a673dfbf54L,0xe1f24bf629950888L,0x0cb868f331bfd446L,
  75100. 0xc17fd67b7f9e5043L,0xa7da16fa4623e449L,0x3702bc7d2f358149L,
  75101. 0xc350a191ea209cedL,0xe0d4d94b80089030L,0x00000000000000a6L } },
  75102. /* 26 << 14 */
  75103. { { 0x4a2e8b7588b8ffebL,0xac8299ad552743eeL,0xcc88211f46a49114L,
  75104. 0xeb39502e41625dedL,0x55322cd961f01503L,0x5dfc1640b9fcc446L,
  75105. 0xa4dcb9b9752c2d0eL,0xbc5ff858b4084347L,0x0000000000000016L },
  75106. { 0x842af48f1d8ace0dL,0x0c7fed42216d4efaL,0x2f280f63cee88219L,
  75107. 0x15a76cf8278f154dL,0xc1dba01188ffa0d4L,0xe18e7b9a5dab9669L,
  75108. 0x1072ce8351c3451bL,0x81466b0bc0625ce7L,0x000000000000008dL } },
  75109. /* 27 << 14 */
  75110. { { 0xc6532dd495f1a993L,0xed2d9c8e994550dfL,0xcd980625dc3206d1L,
  75111. 0x44920d5d8a99860fL,0x179a1fbfe95e6ac0L,0x21586f6e642b18a0L,
  75112. 0x382e467bb9bc16e8L,0x1bdc2a08eb4a3081L,0x00000000000001bfL },
  75113. { 0x2dcdd601a46e68e0L,0xd015240b93b19720L,0x77749858ce57fd5bL,
  75114. 0xb3cdcd8216d48d32L,0x65ad981f28365bd7L,0x392c56e9dca4a70cL,
  75115. 0x76767327573481d2L,0x5827f187873f6cf3L,0x000000000000005bL } },
  75116. /* 28 << 14 */
  75117. { { 0x9ddc754cae4622faL,0xac04c42905c5947fL,0x0b53d6db2dbfb6a4L,
  75118. 0x1fb16f7b883c6d42L,0xe38b1745e5dbab18L,0xa320f80a0087b164L,
  75119. 0x4a5c274f32cd4694L,0xe32650c10855dc1fL,0x00000000000000ceL },
  75120. { 0xf1c1a8c55997c5b5L,0x3a20ff072e051a16L,0xbaaccce236a4bc59L,
  75121. 0x72ae4a192c407bfdL,0x0ada1e57c128c710L,0xf4ce04dbb2d91ff3L,
  75122. 0x8616da8731fd0538L,0x5c19b57f245b59f8L,0x000000000000010bL } },
  75123. /* 29 << 14 */
  75124. { { 0x31597b8c0a73b81fL,0xcd52d82105ab588aL,0x4baf4239e28ced35L,
  75125. 0xc53a092e39673af6L,0x9e64a4d0f36bf7f2L,0xac2e493576c02cdfL,
  75126. 0x4ee3570ad7fd8566L,0x3a35bcc242fcfa04L,0x0000000000000178L },
  75127. { 0x556867075b8e9c9dL,0xba2645ac9c6ad053L,0xb43529a90a748b98L,
  75128. 0x2f9af439901cf7c1L,0xd7996db75282357bL,0x11015af01ce89b7fL,
  75129. 0x67b216b74963a6caL,0x8a8db55b74ad3678L,0x0000000000000054L } },
  75130. /* 30 << 14 */
  75131. { { 0xb2d55efa0c44bf54L,0x8f646047b5668a6cL,0x5e399e3f28000a00L,
  75132. 0x50551969f61e1838L,0xc32196b12613df05L,0x3e838233f7a1478cL,
  75133. 0x392a6c1fc508d707L,0xd93d05d6311b3998L,0x0000000000000009L },
  75134. { 0x6b31024ef05a16e5L,0x5a914eedc202d6aaL,0x2ecfe24db04a8795L,
  75135. 0x596a539e3e88e191L,0xebfa53cb697fdba9L,0xa69b735d1dc0d0f6L,
  75136. 0xa6a8ce767ff79787L,0x071e45f09aefaf38L,0x000000000000007eL } },
  75137. /* 31 << 14 */
  75138. { { 0xf27472c1ae93f8c0L,0xf04c6ea4a8e48c7bL,0x31d58b6422cad4c6L,
  75139. 0xc7ff26cd06556907L,0x44e71c873b03e6f6L,0x01eb2ef5eea10ed3L,
  75140. 0x61bc27e81b7996e9L,0xd0ab98cdb523dd48L,0x00000000000001ebL },
  75141. { 0xfe27e8cd3a19cd0fL,0x5ccf20a0d70e567bL,0xf2e641e142c65e55L,
  75142. 0xba46dfaf1ed8e850L,0x1af42222e5ed2072L,0x691811faab988c72L,
  75143. 0x94e7f4fa93d8842eL,0x6442a9c5a1152efaL,0x0000000000000186L } },
  75144. /* 32 << 14 */
  75145. { { 0x44edf8be84357b3fL,0xe5df9129588059d0L,0x83e65cfaab7d5b23L,
  75146. 0x79c2e1982121a504L,0xe6a19633eb3be7d1L,0xd9f8869586b85bc4L,
  75147. 0x78508fa279f2187cL,0xa2eb8fc012254f09L,0x00000000000000aeL },
  75148. { 0xb1a6704e2797d3faL,0x95b4c2682c78669fL,0x5294a8e42997c68dL,
  75149. 0x7246b0614085bad5L,0x7ca017c24159e5efL,0xb8fe1a6187d1a013L,
  75150. 0xdba0dcde44bc4ea3L,0x1fdd53c6a8ce296fL,0x00000000000000feL } },
  75151. /* 33 << 14 */
  75152. { { 0x8476dad138c75952L,0x256608000e53b9c0L,0x6f5f6ffc5002a11bL,
  75153. 0x025ccfea8d537febL,0x1d09d62b2eb845d9L,0x5d4596b2e1a65903L,
  75154. 0x49528722d492b0f8L,0x444b3def4cf2b0fdL,0x000000000000008cL },
  75155. { 0x25c1941661967bd6L,0xff50303688985e0dL,0xd180daccc95cd952L,
  75156. 0xea18affd18456eeeL,0x6ccf36af65317267L,0x8fb2380251dc5738L,
  75157. 0xaf16178d33439112L,0xb342543e0b99b0cbL,0x000000000000006eL } },
  75158. /* 34 << 14 */
  75159. { { 0x53277acc3ccbc40bL,0x218e751f6d939a22L,0xb3e92769c121b67fL,
  75160. 0xdbf0fdc0522b77a4L,0xbed0af74fafbf581L,0x8a9c509e162b2417L,
  75161. 0x1ee6bd74f86831a5L,0x14cbe9f436df364bL,0x0000000000000100L },
  75162. { 0x013a60b8164ffbdaL,0xfc05d43a28203c5bL,0x112489209bc7a027L,
  75163. 0x2ffa9cf550713fb1L,0x9c1d0bd5b07e598fL,0x207fcec72df3eb6eL,
  75164. 0x632ef362e16f2bc5L,0x20bb3d440a840efcL,0x000000000000013dL } },
  75165. /* 35 << 14 */
  75166. { { 0x9a5c53712dbf76edL,0xf5cc66adfa183c55L,0x84ce4c1f1c020230L,
  75167. 0x4c2d3b4490f2990cL,0x9150627f643357baL,0xb7cfd07f31fe37c2L,
  75168. 0x1e5a915b888b5198L,0x5ac98b6e98bbacf8L,0x0000000000000185L },
  75169. { 0xc79d020aeb775585L,0x5974d3de45a3257fL,0x72b152daa6a4749bL,
  75170. 0xf3603d175ad334feL,0xe3d82b9532e115dcL,0x15a6b62edf4f90d7L,
  75171. 0xda84eab108fdd614L,0xd893690b706bc3c1L,0x0000000000000199L } },
  75172. /* 36 << 14 */
  75173. { { 0x7dbc777cc8eda3e4L,0xf93443a53d138b69L,0xf88673fabe32f323L,
  75174. 0xc53f686eaf91501eL,0x2c583a94a9e8df0fL,0xdbb476a579a360bfL,
  75175. 0xd6d61debed573377L,0x8bf9489dd85e7ce8L,0x0000000000000186L },
  75176. { 0x4ea12cf58c06659eL,0x3a5df265fbc275d3L,0x434f440ba5ea596bL,
  75177. 0xa386793e82ec727bL,0x4f4d4575b4af3144L,0x465aae52b64cd799L,
  75178. 0x4c7c443401dd7df8L,0xc7d3008e40ec3273L,0x00000000000001e3L } },
  75179. /* 37 << 14 */
  75180. { { 0x296d12f19fb85a94L,0xf9e671e189de482eL,0x596ff3b73de0eed9L,
  75181. 0xd4bdb6b976feff0bL,0x8ac1d1fe0133e043L,0xf3a91297c19b02d1L,
  75182. 0x247fdc3217bba0e5L,0xadb9cc46caed480bL,0x00000000000001cdL },
  75183. { 0x71f9bb404eb96e74L,0x786704f425cbd4f9L,0x35c01daf4127f783L,
  75184. 0x53bcd595ca68c06aL,0xf7a45e8f548751daL,0x8c0b80dbc36658b5L,
  75185. 0x0eccb01f3182ead1L,0x7b4da8ae3dd4577bL,0x0000000000000111L } },
  75186. /* 38 << 14 */
  75187. { { 0x0f80cc7b2aa68d6cL,0x2aeea46ba5b1edefL,0xc1a582e38e4246c2L,
  75188. 0x4890117c468c83c0L,0xb203066fc0f4c50cL,0xc3d86d97753bd8c0L,
  75189. 0x7c7796b45821c82dL,0xeab746ef789602bdL,0x000000000000008bL },
  75190. { 0xfec63dc6d79ff090L,0x3f34e577fcc4f8c9L,0x755ddf0eeb73c7c6L,
  75191. 0xcb6ee6d1c400c474L,0x070ef40f27a0f15cL,0x3e30e74ac75fb5ebL,
  75192. 0x203e4d10f0681326L,0x1933a5161906e321L,0x000000000000015eL } },
  75193. /* 39 << 14 */
  75194. { { 0xf40dcbdd97c06856L,0x5093f148ba7c198fL,0x9b63c31888a4e5e1L,
  75195. 0xfbe0d089980bc362L,0x0d1d1889d1a2f1deL,0x56df5ede9fb22fc5L,
  75196. 0xcb790b388b0d329dL,0x68de9e9507e0dd4aL,0x00000000000000ddL },
  75197. { 0x870b198434557937L,0xbc4de915cb8041c0L,0xfb1e1e3b25df82a6L,
  75198. 0xffd486000bb66bbdL,0x408f76d32485fda7L,0x5eb686cd56698db2L,
  75199. 0x9b466dc1a16d4f85L,0x50657a6ce17cd57eL,0x0000000000000085L } },
  75200. /* 40 << 14 */
  75201. { { 0xd06fcbb8cbdd8953L,0x5a7495784a83da15L,0x9a509298fbdbf149L,
  75202. 0xe87856427b745cc2L,0xf473e129b6b6ea45L,0x325e846f5982df34L,
  75203. 0x2761bcbf39c922dbL,0xd598487a4c8a1843L,0x0000000000000141L },
  75204. { 0x4d4ce00e255dbee0L,0xb990df3e75a0e0faL,0x947755b894297a3bL,
  75205. 0x4797193fbf7a683bL,0xe3be49554c1f5e73L,0x0ebabf7ce3832a6eL,
  75206. 0x55aa92bb16574df2L,0xd05f35e66ace50f8L,0x0000000000000032L } },
  75207. /* 41 << 14 */
  75208. { { 0x0fe114732d5dd3eeL,0x387d15619e3b9f56L,0x6e68c4c4a2b445d9L,
  75209. 0xea666a0682103ef1L,0x5d1c563756e00144L,0x6167168a056a94dcL,
  75210. 0x75af25224dd46bbbL,0x9d5ac0de25f2477fL,0x00000000000000d6L },
  75211. { 0xb2c55ad2ad8ada45L,0x5e2a1d14c04094efL,0x2c7f76f93c359f4dL,
  75212. 0xfec96532462b8fb3L,0xc5ddd1a99a542665L,0xe0ff14b28d3fb2adL,
  75213. 0x802a81d51b16e7c2L,0x02eda0edd5bd8418L,0x00000000000001b9L } },
  75214. /* 42 << 14 */
  75215. { { 0x19d40ead8c3208a2L,0x921a28ae4b57239bL,0xd9c1cdf87c048e0dL,
  75216. 0xc0896b487c1924adL,0x6f8e11b70015cb8fL,0x93fbe340e490613bL,
  75217. 0x34f8734f8758f850L,0xaa9acf4f5cf61cbfL,0x000000000000014cL },
  75218. { 0xc3636b8815758f79L,0x7c1d4f0928dc60c1L,0x48cb27e6b77f1edbL,
  75219. 0x5d5a94b007580b50L,0xb6934e25a129e7bbL,0x6f00412da44d9a6eL,
  75220. 0xe6e347f209f16d89L,0xa60de5594470a50aL,0x0000000000000086L } },
  75221. /* 43 << 14 */
  75222. { { 0xd94e16dd0f5545c0L,0x99311bd1655e0f8cL,0xbd28f252b6084433L,
  75223. 0x5dfc8beacb8a0b6aL,0xca27033f7e2964c9L,0x4e1d96942b5eacc2L,
  75224. 0xca11c059f2eab44eL,0xb9a4ae9feb61f161L,0x00000000000000deL },
  75225. { 0x6840e5d242e77d55L,0x58235511a7df2d6cL,0xb00763753af2b1f8L,
  75226. 0x7ac404ff9f430068L,0xf5b2bc675e6129d2L,0x3d474d6c30d6fbbaL,
  75227. 0xa0c66d83afc5cd14L,0xa93c5ccf84651070L,0x000000000000019eL } },
  75228. /* 44 << 14 */
  75229. { { 0x28e8d7cdab4f88e3L,0x898baec98ec7fd82L,0x13328d8ec459c3fbL,
  75230. 0xa635e9b13b0493efL,0x039493381ddff9b3L,0x93f2886cff82a4fdL,
  75231. 0x9cb165730c609c2cL,0xab282b67ae8e6e06L,0x000000000000018dL },
  75232. { 0xc16fbd160792dcfbL,0xc42bbe74adf64db7L,0xc85534c4315f21d9L,
  75233. 0x66cd4cd3747b8361L,0xcd26cbe3f33752b1L,0x185add8554d2bfa6L,
  75234. 0xac366f9f3364f9b0L,0xdb6b5e544188b82eL,0x00000000000000f0L } },
  75235. /* 45 << 14 */
  75236. { { 0x40394dc28eb60051L,0xe85d4323b94b7c23L,0x35ece007398df4b0L,
  75237. 0x4048e7668f3837c7L,0xd2968bf381699670L,0x341d0b90ef321d08L,
  75238. 0x9fb3d866adb69687L,0xf649f7a01e95fbc8L,0x0000000000000040L },
  75239. { 0x637c2c6a230521a6L,0x538783613fbf1391L,0x624386a14812d57dL,
  75240. 0xeac925d71c92e4b1L,0x886160dadd9f8fb7L,0xafade790ad700edaL,
  75241. 0x4795d6eac4a75e99L,0x30a507699c844dbeL,0x00000000000000a4L } },
  75242. /* 46 << 14 */
  75243. { { 0x7749f0fd407325c4L,0x82a14463fa3e21b6L,0x456f01251367a25fL,
  75244. 0x7fb481cd59345788L,0x18b408080fbab520L,0x44f57759821b00b4L,
  75245. 0x2260d7a7e88bb2c7L,0x3b6a935d609f7ea5L,0x000000000000004dL },
  75246. { 0xa078b27909d38bfbL,0xa5a0db3da266eacdL,0x5b022ed5eb2a2fafL,
  75247. 0x6596a4aea49586caL,0x401a450d6f1bd9bcL,0x2a272cd4fe972a51L,
  75248. 0x1af0c66897c701beL,0x74c04b6721402335L,0x000000000000012aL } },
  75249. /* 47 << 14 */
  75250. { { 0xa046a8084e621a9eL,0xb61cdc55514a1be3L,0x45b894ae05e335b8L,
  75251. 0x2a7afd2f3f2cbd40L,0x9febc8b21d4cdc78L,0x8022fb1d990da9acL,
  75252. 0x2a544f9786ea08feL,0xc8f50cd46af5d246L,0x00000000000000faL },
  75253. { 0x8325acc8dbea7bddL,0x86ec5d580a254408L,0x0328bd2f6b93bde0L,
  75254. 0xc4a75a47256ef2b3L,0x61b14aee0d43792cL,0x660894bc15f60963L,
  75255. 0xf06c411a9e2ec909L,0xc7bb2f80846c3b1fL,0x000000000000017fL } },
  75256. /* 48 << 14 */
  75257. { { 0x5e597d089b0a6b1cL,0x3ed100fab66ad53dL,0x9852718497c12a70L,
  75258. 0x295556e631779d59L,0x9733135a0d5a0720L,0x4cf945e66f937863L,
  75259. 0x8289d86b87679e05L,0x1979cf02f3b45d70L,0x00000000000001b1L },
  75260. { 0xeca4684be1874574L,0x4cde87b963ec3ebbL,0x74486ff281b929caL,
  75261. 0xcf9c54dd5113e211L,0x95bbc0e1b8237581L,0xa92320f70fe355e7L,
  75262. 0x945a1a0345b9dbd3L,0xebbc1d0d4c99791aL,0x0000000000000143L } },
  75263. /* 49 << 14 */
  75264. { { 0xffd45977b2f6d655L,0x2a2895ec5dca5a02L,0x4b12c0cb0f0229d7L,
  75265. 0xbc5066638eb2d617L,0x7859a404b4414ebeL,0x25a4ed7bd0414b93L,
  75266. 0x967f9aa382670c9eL,0x1ad77f6fc430405bL,0x00000000000001ebL },
  75267. { 0xf88be831313b212fL,0xe2e6cab7348e2d56L,0x357676d439019ec4L,
  75268. 0xff936f3869846bd4L,0x6345ca8d66ce27ceL,0x82836c0ec72384c9L,
  75269. 0x5ebe05967beacdfcL,0xfc1d54f4150fd26fL,0x00000000000001abL } },
  75270. /* 50 << 14 */
  75271. { { 0x6649d0ddd7587da5L,0xa9f6c67abc3b988fL,0x7ff9da31921c0c68L,
  75272. 0x47453a7901728d6aL,0xf29a285af14e4958L,0x559fef9ecb3695aaL,
  75273. 0xf00d26d90d698abdL,0x9f2a87adf0e12bf3L,0x00000000000001e9L },
  75274. { 0x1cdd21ff7823d0cfL,0x7817d994456ba521L,0x11a2d178e6b7b13bL,
  75275. 0x272ed174315c7508L,0xee909a0bdf995ad9L,0xe9432355b9194220L,
  75276. 0xfe5bd9b1b2458aabL,0xea8e397b7dcd8a61L,0x00000000000001adL } },
  75277. /* 51 << 14 */
  75278. { { 0x3dbd43387b55498bL,0x6e596b6bc82e0ebdL,0x382ef7e250a694bcL,
  75279. 0x3c840753865dac40L,0x37b13cd0267c7b8aL,0xa4767ad5cdd6b7e6L,
  75280. 0xf700ba8d60af4929L,0x3fdbfdfd4c96867aL,0x000000000000019dL },
  75281. { 0x4f711cb378e1611fL,0xeaf744da23723236L,0xc3f6bda778ebdacdL,
  75282. 0x9aeef0e09e0053b5L,0xbdb6d71a90b16d38L,0x3765112f3dacd8caL,
  75283. 0xf6d3a468704cac3cL,0xe6f258412646b586L,0x00000000000001e0L } },
  75284. /* 52 << 14 */
  75285. { { 0x74ff5c5188e250d1L,0x46e6a1dedc911cecL,0xc28ba25b48c5291aL,
  75286. 0x0f571b2aa9fde68cL,0x1c7d3fe989952038L,0x40b66dab6a4850f9L,
  75287. 0xf2a3db3956af4d75L,0x9861204f03123ba0L,0x000000000000016eL },
  75288. { 0x1ecdbbd45ac22cd7L,0xe7349a910000be6fL,0xff94c6a2327586b9L,
  75289. 0xe78c257f7e123652L,0x18e795c5aaebcaf2L,0x7dffc5b363c70794L,
  75290. 0x6c3b3d2067e76a08L,0x820b7e33afba9f7eL,0x00000000000001cfL } },
  75291. /* 53 << 14 */
  75292. { { 0x28046bad1bed718bL,0x89dd1a2a107fad6bL,0x72d4a58ce5be292fL,
  75293. 0x44c2bfb40b8f0633L,0x175b44b9acf0bc64L,0xe77b0389e2a0082bL,
  75294. 0xba56099662ce72f4L,0x88d47c05977a1195L,0x000000000000001bL },
  75295. { 0xe08df997f1937128L,0x7be24d4e6d7b6de6L,0x2c1da8cc2895c158L,
  75296. 0x867b4dbde6095143L,0x2f9fd14167dda364L,0x746c8bb98f5dd0a7L,
  75297. 0xec978e1931fe3f41L,0x3c2b278da2b6be6eL,0x00000000000000abL } },
  75298. /* 54 << 14 */
  75299. { { 0x53305692201e8211L,0x453de0b663165a91L,0xb5787597bc0e4356L,
  75300. 0x49d7a66f6036286aL,0x4f3ec2a9545399b0L,0x87b0f978e70c2bdcL,
  75301. 0xc41adf47db793dc5L,0x6394b7ef20acc60eL,0x00000000000001f1L },
  75302. { 0x8f24f67bcb1ba826L,0xfde4bb5c9e783ae8L,0x4ab170a0b072e2f2L,
  75303. 0x01968ba82be627d9L,0xe8c1a0115710c838L,0x9aa5552eff2c4c0aL,
  75304. 0xebf694e1aadea875L,0xcd34f51184feeee3L,0x0000000000000101L } },
  75305. /* 55 << 14 */
  75306. { { 0xc1e4d3db1ef1e686L,0xb8a1403857560e2aL,0xbb3d623b47538074L,
  75307. 0x18921f9026b5e77dL,0xbb7096d508be51c1L,0x1118eb73c714f7a6L,
  75308. 0x0dfe997369e0fc89L,0xc28cba21f8a93363L,0x000000000000018bL },
  75309. { 0x66c5603da2f03e1dL,0x4f17de957d775555L,0x26e00c87c2bb36bdL,
  75310. 0xf5a4806a3288e106L,0xf934a912a9a42ed3L,0xe374aa3df76e08e9L,
  75311. 0x3bb52d94983fa9ffL,0x74b832e55d421496L,0x00000000000000c4L } },
  75312. /* 56 << 14 */
  75313. { { 0x932645e87ada2a97L,0x21c7eba2e8300b13L,0x948ee3bec714208aL,
  75314. 0x7d4c3d65d66c4b41L,0x8373248e8530bdeaL,0xb053676048b836e1L,
  75315. 0x9db23d3975656dcaL,0x37da5fa90e294ebdL,0x00000000000001fcL },
  75316. { 0x8715df66bb355ca4L,0x9f0eb8f4ca81ae22L,0x477877be167325c2L,
  75317. 0xde6d697564174912L,0xfd9770aebb0b5cd2L,0xd83513421999f713L,
  75318. 0x14fbdc847fecf8ecL,0x1700b51341521ea8L,0x000000000000006bL } },
  75319. /* 57 << 14 */
  75320. { { 0x1fb72fa4e1a987e1L,0x2ec447d4b3a419e1L,0xf414904f0af68019L,
  75321. 0xbd78ef312a752878L,0x84280607c9d3f03dL,0xd234588a676d8a40L,
  75322. 0xfd83257c8405dfdbL,0x9e40b20e5b0e8942L,0x00000000000001aaL },
  75323. { 0xad94e86e8e352cd5L,0x28598b94e481b980L,0x6bf8a3fa3441e4f1L,
  75324. 0xcf0e604288c65230L,0x9e3cb7518097669eL,0x205666a00e1cc1eeL,
  75325. 0x0c18df29b2f5cc87L,0x418ba30d6986decbL,0x00000000000000b3L } },
  75326. /* 58 << 14 */
  75327. { { 0x440f76b5efc7c941L,0x2655270e0f135411L,0xf29c7ba6095b4edaL,
  75328. 0x7ec4aadc12c0b3b9L,0x162b1a6e2637926dL,0x25e1e9634eef2802L,
  75329. 0xd413ab20e56edc9cL,0x0d6ab23eca7901c4L,0x0000000000000019L },
  75330. { 0xf1d31cac5c98bcd9L,0x939dbd4ebdcfca60L,0x0492c4cae0be4dfcL,
  75331. 0x68e939f3422574f3L,0x80996ded137cc107L,0xc714e969aff399fcL,
  75332. 0xe772477000fc77ccL,0xd980f985472af5ebL,0x000000000000014eL } },
  75333. /* 59 << 14 */
  75334. { { 0x5a28ef5122dc1e97L,0x9da0854654fcd9c8L,0xc6b613d635ad72b3L,
  75335. 0x413cb175fcfc0f36L,0xe16aa604bdfa0b08L,0x3e1bbeaf35235a92L,
  75336. 0xbcc910ff3b7d1193L,0x4f6b1df31c21441eL,0x0000000000000087L },
  75337. { 0xa940ba897d940cdbL,0x93708a405b4b3a34L,0x67579e47cc7f3b19L,
  75338. 0x16260fc86b5c6b95L,0x0bac93e0a1c9c2e9L,0x5dd70dbe2d9c44edL,
  75339. 0x01ed179d47ff1001L,0xd7e891ea2eb5f1fcL,0x000000000000006eL } },
  75340. /* 60 << 14 */
  75341. { { 0x330f31b6c916e988L,0x601fca7fa6e737c0L,0x99e063dcdf9c7b04L,
  75342. 0x49e97a9627cd93b0L,0x576fe3429a7c06deL,0xa6d8c4796eac19aeL,
  75343. 0x4c5cc139fc72dc81L,0xf34b69073533fe76L,0x00000000000000f0L },
  75344. { 0x8d444d34983c41e6L,0x650af8bbe2e49bd6L,0x1794d4c0c1bcb88aL,
  75345. 0x798cb3d8b2fe435aL,0x8544a707e7433605L,0x82dfc6359fd393e0L,
  75346. 0x572bd64292981c51L,0xb451731fe001273dL,0x000000000000010cL } },
  75347. /* 61 << 14 */
  75348. { { 0xfd6a06190f7d5e62L,0x363d0d2820d126daL,0x56b94c82ec82e67dL,
  75349. 0xdc493f04d5e8870aL,0x936ac4b4c9cd9fc3L,0xfb6d59b2ad27c8daL,
  75350. 0xc94e470edf8f5ef6L,0x9e47d7f32e818bf9L,0x00000000000001a3L },
  75351. { 0x384d552bcefa9b33L,0x02d8353268aade38L,0x61b0f08d8208634fL,
  75352. 0xbf13ac956235c74cL,0xa44deea4a108f58eL,0x485fa5c8a991ab4eL,
  75353. 0xd53cb2c59682a856L,0xa590f750072f2accL,0x00000000000001bdL } },
  75354. /* 62 << 14 */
  75355. { { 0x5dc324b538f9f14fL,0x0e1b29ca25417001L,0x244cc7596932af3dL,
  75356. 0x19787a6c2765e15cL,0x7144d48fb7fbbde0L,0xe898a059012c68f9L,
  75357. 0xc66ebe6d9d907dafL,0x02aa0fd3e114e429L,0x0000000000000101L },
  75358. { 0x138b94bb6551e782L,0x326631f7bb5ff6d2L,0x21c17feac81f02a6L,
  75359. 0x72f829c4a1d73b84L,0x941c0390bd578fceL,0xd2c600c409bbf7a1L,
  75360. 0xb849f9bdd3438945L,0xc09307c24d330616L,0x0000000000000170L } },
  75361. /* 63 << 14 */
  75362. { { 0x6c553f60c70835a7L,0xdb249d1d454158b1L,0x34eea92e29f411e6L,
  75363. 0xd75f12f67037c4c4L,0xfc5cafae3a77bd41L,0xa7309f006680eae8L,
  75364. 0xa04eb002404a6360L,0x359a53cfc069275dL,0x0000000000000147L },
  75365. { 0x2bb3ac825af98268L,0x1f3fdf5f50056aa2L,0xd82b90bbcc7a2c08L,
  75366. 0x5c7b793a7c4dbbeaL,0x7bdbb47f568ef299L,0x3b7716307b4f839dL,
  75367. 0x2fa53e49d475515dL,0xa0ef2b77608ea974L,0x0000000000000101L } },
  75368. /* 64 << 14 */
  75369. { { 0x4f0e025fa2302041L,0x4d50d98948d262b5L,0x01720a0ad622c7d4L,
  75370. 0xe3b5a94158d1c97cL,0xfbc5b18338aed2a5L,0x27f02177823b5d8dL,
  75371. 0xadf74074775f38c5L,0x95bf91f44f1a6ea0L,0x0000000000000104L },
  75372. { 0xf9cd82998e2d6ab2L,0xa75b296b6c27631dL,0x077000491e00bac9L,
  75373. 0xdc99e546ebd66975L,0x44fa528275e54993L,0x25fbca4bd50e44d1L,
  75374. 0x4663139381057b1aL,0xc22eff26bdcdf45aL,0x00000000000001cfL } },
  75375. /* 0 << 21 */
  75376. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  75377. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  75378. /* 1 << 21 */
  75379. { { 0x3519394e7f6b9b0bL,0x76e8c23501aed422L,0xcb70fe5c64bf111aL,
  75380. 0xc6c025915b3c7eeeL,0xb53b8858f9ed8925L,0x51503afabb66cd7eL,
  75381. 0xa2479b22a6b3f2c4L,0xfbcb06c48eeee4e4L,0x00000000000001c6L },
  75382. { 0x29f2ff47198bb516L,0x1895fb6877671ddcL,0x10a1e7541e2b80eeL,
  75383. 0xb19efc72a7732627L,0x88f9176e1e0ef24cL,0x22ef41af1fa7183aL,
  75384. 0x994ea31c47d7c8d0L,0xe838b3f2e9793ae0L,0x00000000000001b1L } },
  75385. /* 2 << 21 */
  75386. { { 0x39f73a5667d26eacL,0xe15b72b9938fa0e2L,0x16e09f8b554f85dbL,
  75387. 0x0e6d1cee02a16cc2L,0xcd989df35e548e22L,0x9ba195fc3cacda0dL,
  75388. 0xcfecc6f94ce28d02L,0x8b8f51e0c91fa6d8L,0x000000000000019fL },
  75389. { 0x79f455b2c1a33bd9L,0x76514d33fe83b781L,0x3f5ec772f2ef9526L,
  75390. 0x2d1e47946ea54f2aL,0x472fb203c1e2d62aL,0x6e94a20beabf2c9dL,
  75391. 0x11da7502781a8076L,0x12ccf29a91ba87c8L,0x00000000000000ddL } },
  75392. /* 3 << 21 */
  75393. { { 0xc9518f3fb711958eL,0x74d3a13f0bc5dfb8L,0x7da464ac62025afeL,
  75394. 0xbfb139fa9a3e2fa5L,0xb30511cc9a8d7c09L,0x4d3a313f17e41faaL,
  75395. 0x7c53ff823a10c83eL,0x2e85a451abf3f866L,0x00000000000000d5L },
  75396. { 0xe2844777df1d2939L,0xc3a4ccfe21fdaeb8L,0x47b7e6138c8f6176L,
  75397. 0x038b43eb1b6571d0L,0x9f380474e3f47c8cL,0x623e3416b97bac68L,
  75398. 0x625b6bf1bed4caefL,0x6ac6e0c81664fcddL,0x000000000000011fL } },
  75399. /* 4 << 21 */
  75400. { { 0xe7bbf4a8d2249935L,0xbaa56999adb64049L,0x5e0ecae945f8df55L,
  75401. 0x20b22a2f64e2a249L,0x480102231420d76aL,0x24bd8f9ffb45acfcL,
  75402. 0x66e9c51167673f8dL,0x719eda3c1f02406fL,0x0000000000000138L },
  75403. { 0x56f88274d07c2fdfL,0x2b82612a54c1db4eL,0x0d4ae93896c3b009L,
  75404. 0xf97a730e5897ed7eL,0x3e3505c0396f9c18L,0x20d682e4daea8f31L,
  75405. 0x05fe6ea4e85bd289L,0x6e05507b14613e5cL,0x0000000000000164L } },
  75406. /* 5 << 21 */
  75407. { { 0xf0307ea7a3abdf0fL,0x25bc4d1d49de2354L,0x2b8ebd094b8160b8L,
  75408. 0xf437b69e3a63c866L,0x59c64b2fdf07da1aL,0x817d2723ba53a71aL,
  75409. 0x1ec10e309715b466L,0x852eb71d4b5f821fL,0x000000000000010dL },
  75410. { 0x3a53ed2dab617319L,0x0279fb691e3accc8L,0xe2746511030858a1L,
  75411. 0xd5411a7f4fd0acffL,0x8f31def309c66cf1L,0xf8b414cf85c0c9f7L,
  75412. 0x15222a47d2565b67L,0x732e7eb6471411c7L,0x00000000000001a7L } },
  75413. /* 6 << 21 */
  75414. { { 0xbc36eed32f7bf34dL,0xfcdedaaa7cce180bL,0x3b719b5b5cb22fdcL,
  75415. 0x6ae5bdd9e4111433L,0x865a0148381f4186L,0x170a523b9245c6f6L,
  75416. 0xe3be816ac2b1118bL,0x30e7aa62174efd73L,0x0000000000000033L },
  75417. { 0x1abfe12c4ca2f7c2L,0x60485268733b1f6aL,0x82690e31a1d38bd6L,
  75418. 0x3a55f831d862dc8fL,0xfb3e4436e03e590aL,0xf265ed1075222c2cL,
  75419. 0x41cf2d8753b1fb51L,0x12922d525a82041bL,0x0000000000000060L } },
  75420. /* 7 << 21 */
  75421. { { 0x5b6a6ca5ef7dc356L,0xc47b9c0f55c1a178L,0x89eb8747c07b52b0L,
  75422. 0x097775cf736ebbe8L,0xcb84611f506fbdb6L,0x2135b7da68c82d60L,
  75423. 0x1084122dac4454a3L,0x115da2f59c93e278L,0x000000000000016eL },
  75424. { 0x743591776721fbbeL,0xd051798061337a71L,0x78b344de3aa24943L,
  75425. 0xf41a1bfb0c600b70L,0x25f8d92f0af82b82L,0x1ca931aa74d2845bL,
  75426. 0x0a49f46da9adc76eL,0x78678a328a130e6dL,0x00000000000000bdL } },
  75427. /* 8 << 21 */
  75428. { { 0xb5f5385146d39a88L,0x58a99a0f9cc76debL,0xcfdd909ef3825b82L,
  75429. 0x8f49dbdcf4694014L,0xefd505fe9cfec7b7L,0x66a7f2a156925281L,
  75430. 0x6f478d9b2a604fb8L,0xcbc72e9e60f7c436L,0x0000000000000021L },
  75431. { 0x5bf75682d9c31e98L,0x74d5cd73c8bce143L,0x778bd5f1c700e94aL,
  75432. 0xb01480c73a66b233L,0xc667f078688df0ccL,0x780c73e416bbcf57L,
  75433. 0xb77f5ba9485890e0L,0xd62addf5b9ddacb3L,0x000000000000017dL } },
  75434. /* 9 << 21 */
  75435. { { 0x672c965fd2ab32f9L,0xab2a374db95c87a1L,0xe4fe8139aa132e05L,
  75436. 0xb98cbbc73f85bf7aL,0x725d68d9d7ccb3cfL,0x582b15ae213f62efL,
  75437. 0x11c9b3fbd26e9f8aL,0xbeaca8d74076121eL,0x00000000000001f7L },
  75438. { 0xa1ba33fa48888485L,0x9bdae7eee5ea2744L,0x4ac9910c709eeb17L,
  75439. 0xc40fb92fba0596edL,0x5ae8178f018b8c4eL,0x195d2620536bad49L,
  75440. 0x6ae6807272578ac1L,0x6c759dc05272df37L,0x00000000000000b9L } },
  75441. /* 10 << 21 */
  75442. { { 0x28b82948eb24a59cL,0x0bf25c631b236d05L,0xd387a58c49bfeed9L,
  75443. 0x2dbced2791685729L,0xa1cb27d76177f87aL,0x090e003097e13ddfL,
  75444. 0x20eb9c50449d6867L,0x83a4a7d47cf7d05eL,0x0000000000000055L },
  75445. { 0x65e05f87d0f35fe0L,0x655acaba791ab720L,0x55a8ce4f5da1223cL,
  75446. 0x995fb0091d34dd73L,0x20286c23a837ca4eL,0x9fb1050b368d1ad1L,
  75447. 0xc5fa244d09ee2148L,0x6cfa02a5fdb0a25eL,0x00000000000001b1L } },
  75448. /* 11 << 21 */
  75449. { { 0x22421cd9ffa96a6dL,0x9d55702c11437d61L,0x7321fa9eeefe0024L,
  75450. 0x6dcd329c64264faeL,0xc46bfa2b9df8f072L,0xae3d0b0bb712b9bbL,
  75451. 0x58872fd2843ca51fL,0xfd7ba4be6a587093L,0x0000000000000085L },
  75452. { 0x6a5d962f34e5cb31L,0xbee0621565638aaeL,0x1c6f68bce79e0fa1L,
  75453. 0x2a909815c8d586b0L,0xcd970a5f1e6c2e8bL,0x5d111730d4788cdeL,
  75454. 0xf1e99fa3f9502cb7L,0x2820507bb7a2fea9L,0x000000000000015bL } },
  75455. /* 12 << 21 */
  75456. { { 0x2840a083925c2709L,0xbeeb776d988e40dcL,0x9d2307cb281c1df1L,
  75457. 0x17b077868a93579dL,0xec15d5f787d44e7eL,0x78b701a8e8f57a6eL,
  75458. 0x514706b67b1c05ecL,0x7bde81a7918bd719L,0x000000000000014cL },
  75459. { 0x41d47f48d22c8109L,0x48389e6b0794bcadL,0xb520a2fd65114ee0L,
  75460. 0xad7526c779202240L,0xc25e665af69e5952L,0x180f827aab014a8dL,
  75461. 0x7ec96758db437718L,0x16b626051ae01bf2L,0x0000000000000159L } },
  75462. /* 13 << 21 */
  75463. { { 0x338766eecc06a7bbL,0x38189d60f59f6fb9L,0xca63fefc094f4b7cL,
  75464. 0xfadabb8f08ed44efL,0xf56c6c633c5674aaL,0x2ec1c71c3c5178f4L,
  75465. 0x9a2f00872b225bd4L,0x7cbf794d2016171fL,0x00000000000000d0L },
  75466. { 0x08fc4051c49781faL,0xacefd0a45580fd95L,0x2f99b4e639b0e279L,
  75467. 0x88bc9e961fdcb4f4L,0xf3a44b826f6877a2L,0xf16942811529b850L,
  75468. 0xc94ab84f2fac2a36L,0xdddea7e816a99317L,0x000000000000007bL } },
  75469. /* 14 << 21 */
  75470. { { 0xb6fa89c0c3d79838L,0x05627f88d9737181L,0xd82f21517555d940L,
  75471. 0xc6f6a5ca0013b808L,0x54dd8d247472b0c4L,0xbe50f040fb2fe264L,
  75472. 0x43656c23cfed9e37L,0x35bd9e4cb5cb0103L,0x0000000000000150L },
  75473. { 0xb9da98d1c1640493L,0x6f00d8cf3420374aL,0xf9b4f2fab2892822L,
  75474. 0xb2d967e790404bd7L,0x520b40fcf966a3e1L,0x4eb41624d081f30bL,
  75475. 0xfdf4f5d90f5d4fefL,0x49b561471a1cf19bL,0x00000000000001a5L } },
  75476. /* 15 << 21 */
  75477. { { 0x5312245c641ed37aL,0x88c4f135b0b9a3d5L,0x30d1dde090934ee0L,
  75478. 0x2b24f2af7109bd4bL,0x9894c85859f2fef6L,0x0c3a394918ea397aL,
  75479. 0xb69afb5c6556487aL,0x3e722abc2b37f147L,0x0000000000000014L },
  75480. { 0x4f3625ece9d75120L,0xe8bc9f6e760f4777L,0x5ec9f7ad26990adbL,
  75481. 0x12ce89f5a71fa52bL,0x162ca13a59e66240L,0x30e35e8e2c327a19L,
  75482. 0xcc9671c352274f0bL,0x1c3179a8ad16ddeaL,0x0000000000000043L } },
  75483. /* 16 << 21 */
  75484. { { 0x173ab94cd4820fa0L,0x6ac5ae1344f0e094L,0xf67c3f7164fc4c70L,
  75485. 0x2648a59a2ad78517L,0xa7b344939505580cL,0x8cab6b445a741d25L,
  75486. 0xfe41bd4563355fa6L,0xd2731f41d1091a6dL,0x0000000000000096L },
  75487. { 0x2550a62286e4f90dL,0x65fa978b80070b03L,0xf3ac57b5e3b526a5L,
  75488. 0x8e9207bcf84fa4bcL,0x675a8e31f88e6047L,0xf648cc7c9050ddadL,
  75489. 0x1fd62dbcbc5b7dc3L,0xcc0960d696f0aeabL,0x00000000000001daL } },
  75490. /* 17 << 21 */
  75491. { { 0x35b9693643afc702L,0x7ab761253f64bf46L,0x74536901af94fce5L,
  75492. 0xc398a29f000050c4L,0x253372e11f61a444L,0xbec32a601a7a968eL,
  75493. 0x30f79ca4d32cdd9eL,0x8fc8a273d36aa188L,0x0000000000000199L },
  75494. { 0xc1011950aa637877L,0xcb16308c8348afadL,0xbdc517d0d75d1a04L,
  75495. 0x2416e9476e49496cL,0x536ff3587ffa91ddL,0xebfa91de093d5f53L,
  75496. 0x153def3fb776f2e9L,0xa316de0622aae585L,0x0000000000000077L } },
  75497. /* 18 << 21 */
  75498. { { 0x993330c9fc3f22cdL,0x79577855bd4eda29L,0xa63d19d45c666141L,
  75499. 0x0ccb6a6a0146d928L,0xb074cc0b404bc7b7L,0x1f7a96006b8f40e2L,
  75500. 0xbd70c74eecad6cd4L,0x822420f05348f77bL,0x0000000000000151L },
  75501. { 0x4a3aacda27f09596L,0xaa0514071e083dd4L,0x0424ddfeb91831f5L,
  75502. 0x0131f82ae4d16705L,0xd233fc30983d9eb6L,0xfc5e1759f3dd3cd0L,
  75503. 0xa114e50adc95864fL,0x5ccf299fd01ca0b8L,0x0000000000000019L } },
  75504. /* 19 << 21 */
  75505. { { 0x4addcb6e89602aeeL,0x0ba1477fe7a864c4L,0x6896c0d0f2013ee4L,
  75506. 0xf5447fc09de2ee99L,0xf2325a0a377aab46L,0x96715e9cc03d1c27L,
  75507. 0x3c1b0e332e7c82afL,0xb8a1bc163c32e96fL,0x0000000000000124L },
  75508. { 0x5285e546d427a41bL,0x1e61fb9d07e6faadL,0x6fa31b8c157445aaL,
  75509. 0x613502752276672bL,0x53c4145cc150c553L,0xefdeade47ae2f69dL,
  75510. 0xedfc8ce4622f4c92L,0x30cacfbd5ecf6936L,0x0000000000000156L } },
  75511. /* 20 << 21 */
  75512. { { 0x49d65486dfd05db3L,0x18ecda88925480efL,0xe5b4aff93f652a32L,
  75513. 0x80fbd64756e37478L,0x62442ef6e9be38ecL,0x8dea0ede229ca487L,
  75514. 0x59628d74c45becfaL,0x235003453f7398eaL,0x000000000000014aL },
  75515. { 0xd54645dad2ee9439L,0x35245813ba3abc64L,0xe3fc1027aa7cd95cL,
  75516. 0xeecaee6787f95eb9L,0x9985e5e9fadb71b8L,0xfe172fffbd62ea7fL,
  75517. 0x08830ae729eba895L,0x32f7a9479ea9c27aL,0x0000000000000167L } },
  75518. /* 21 << 21 */
  75519. { { 0x770d7b309a9f0e06L,0x205abc30d3efacefL,0x2066b6add8556b1fL,
  75520. 0x2c8caabeea298703L,0xaf766f04735b610dL,0x7c5f3a1083028232L,
  75521. 0x92971e06f3c16a5fL,0xc5f89af1fb4e3fb4L,0x00000000000001f1L },
  75522. { 0x0a43e9f2974cc63fL,0xe8c4f4a95430a8a6L,0x7ddaf6fbfcb45c3dL,
  75523. 0x40f4d1e3666ef219L,0xe11fa195c2a08ba7L,0xe4176c0448cc0ad3L,
  75524. 0x31da8dd0809145e8L,0x528f736389a99e31L,0x000000000000009aL } },
  75525. /* 22 << 21 */
  75526. { { 0xe30c5fbf95151b35L,0xaaffaa4c155b8c7dL,0x4033f52aae3e24abL,
  75527. 0xefcad4675b76fa3eL,0xa0bcb1bd465985c2L,0x7640ccc01c9d6d1eL,
  75528. 0xae11fe7dc809f0feL,0x33f7a2ae8005b8ffL,0x00000000000001c7L },
  75529. { 0xc69cf35dc2423d81L,0x773a30c54c072a0bL,0xefdf7d157240291cL,
  75530. 0xdd1706dd64a77c60L,0xd313db32365ddda5L,0x3d4114c15a818bbeL,
  75531. 0x83081bbb0394b6b9L,0xf661d4963d411defL,0x000000000000011dL } },
  75532. /* 23 << 21 */
  75533. { { 0xe5de8769bd6b5de4L,0xbcc2c3222ca8a529L,0xc18bcfbfe5d4e70dL,
  75534. 0x9756709ea7699d37L,0x3b89a6dbe98a7c6cL,0xe184ab40dd776ae3L,
  75535. 0xfd37deff67292edbL,0x462b1ccb170fc654L,0x00000000000001fbL },
  75536. { 0x3009aa92647fbcf1L,0x8785ad4545f17f6bL,0xae5f59f29bda68c3L,
  75537. 0x77316cdb713844d1L,0xc3895dbe491a5e2aL,0x6dcdee854abfe1d4L,
  75538. 0xfcebdedbde5388b7L,0xf805a43359094b22L,0x000000000000019cL } },
  75539. /* 24 << 21 */
  75540. { { 0xf7ba638d767335cfL,0xb6fb9463733c2346L,0xa0e475a1ed81c85fL,
  75541. 0x5d2fc9f1cb58e955L,0x941fbdc675a1dfd5L,0x732d6cea0f14f1c2L,
  75542. 0x4c13e55921367160L,0x5ba5a950ef0e8d39L,0x000000000000007dL },
  75543. { 0x355dbbb2bbeb43f6L,0x0adaf151b3505972L,0x01976a0482f0d0baL,
  75544. 0x080824b6fd4be88bL,0x8392b272f4424f37L,0xdc69d67872f6efd8L,
  75545. 0x0a4b8ba4a06b0ca3L,0xb731404cad3fd7c9L,0x0000000000000119L } },
  75546. /* 25 << 21 */
  75547. { { 0x8c4b893e8438ab04L,0x426e9c015b7cbc7eL,0x3a294e956f565d53L,
  75548. 0x69f98657888e6f0cL,0x6a9486adf5b803f6L,0x687e5264ebcd577aL,
  75549. 0x6cdc93244a205a78L,0xe10a9e9101c97e5dL,0x000000000000001bL },
  75550. { 0x42d58686fb52764bL,0x157871b80b39ec31L,0x75a0505c0126704dL,
  75551. 0x96dfd8c2437c5a08L,0x5302bc74e97bb9d4L,0xcae0092ca0fbe05fL,
  75552. 0x4fbf134085caaaa1L,0x6d4de19cce5683a5L,0x0000000000000139L } },
  75553. /* 26 << 21 */
  75554. { { 0x45d1b5e3ae0d2bd0L,0xc13cdbc8ef5c8f0bL,0x662be7feef589951L,
  75555. 0x423d544a2ef4171dL,0xe796a4fd9bfaa54cL,0x5e9de83af9b57752L,
  75556. 0x2042c3e8074e5cbfL,0x6c4961a3ae564697L,0x0000000000000001L },
  75557. { 0xe64d92cdaa69b5edL,0x7ca022404de0366cL,0x385792b3c4de9d34L,
  75558. 0x75b4e2b8b781fad5L,0x77d2671da5772294L,0xc636df75604302d1L,
  75559. 0x35987ba57c003a82L,0xcb61e2501756909eL,0x000000000000011aL } },
  75560. /* 27 << 21 */
  75561. { { 0x399a20701976dae9L,0xf6f2e4571b71d3a9L,0x0bfd6fc7e9b58f96L,
  75562. 0x8164107dd991b706L,0x7fb03af7769ff866L,0x0af6920107c255c8L,
  75563. 0xdf5033bbe1aec752L,0xedd2e23d0349d656L,0x0000000000000030L },
  75564. { 0x48b220ca845c71bdL,0x60aab3582feac689L,0xc6d4210a5c225cfeL,
  75565. 0x5b76afddcd64d859L,0x006a820512c63e37L,0xfadfd8bbe741c044L,
  75566. 0x1bee33806de9fb14L,0xc9e8b7a6ac7fb855L,0x000000000000005bL } },
  75567. /* 28 << 21 */
  75568. { { 0x03e7b349f5aa1704L,0x2b9687f12b58ae4bL,0xffcdf578bed31f46L,
  75569. 0xa9fe8c654e9c3260L,0x6ba91059a84d3576L,0xbe8c2ce937adc2cfL,
  75570. 0xee24bad42fb77257L,0x44fd20b693ddc7b8L,0x00000000000001e9L },
  75571. { 0x0712f3d6af6ae6cdL,0x514a5d50bce47d88L,0x4c6cf0d6b218f3e1L,
  75572. 0x7d9faf6bbe3ebfe3L,0x819449e21731f3f1L,0x7f24451d0be0a5ebL,
  75573. 0x5fd2cc6d6f0fce5eL,0xb9ad4dddfc0930cdL,0x000000000000015bL } },
  75574. /* 29 << 21 */
  75575. { { 0x89bcb72f2965c1a3L,0x78ed158faec32473L,0x267c90783c9aaa3bL,
  75576. 0xd76fa6e14f0cd352L,0xebd853f87afb0f9bL,0x95af77ace6185ea6L,
  75577. 0xe4203b726f3b8b65L,0x7ac011da5e19c531L,0x00000000000000d2L },
  75578. { 0x6a32dcf32bb4a48fL,0x175e8a50892a8375L,0xd4c5362a9b6237f1L,
  75579. 0x82a7c950596608d4L,0xae9aded7238fb8faL,0xfbdad9713df49d9bL,
  75580. 0x53f6cf7db8a3ecdeL,0xdf1be8c023bb25c6L,0x000000000000001dL } },
  75581. /* 30 << 21 */
  75582. { { 0xe0af085cad265654L,0x96a9b06d0e9ba333L,0x0498e6bb80075bf9L,
  75583. 0x0774434cfcf89a88L,0x15763bab9d96f967L,0x7ad273ba38775e47L,
  75584. 0xa68abae987147b51L,0xc5afb6878f85dc73L,0x000000000000009eL },
  75585. { 0x189583a3e29591afL,0x6ab0c471c24ca220L,0x76fefacd27b4fd7dL,
  75586. 0xc550d3513e87b357L,0xae78a070f6961730L,0xc3a5de91c814eb1aL,
  75587. 0xdcf655c51e9f0ec6L,0x1603d1090f632d7eL,0x00000000000001dfL } },
  75588. /* 31 << 21 */
  75589. { { 0x655aac17eac519cbL,0x067206c2476f0c95L,0x4ae4ba9e51b4934fL,
  75590. 0xb1c15e7aa0cbfd9fL,0x7fed60c898298b00L,0xb3e6e1a265b6c888L,
  75591. 0xf518f046f462720fL,0x3639f35c665b8764L,0x00000000000001c0L },
  75592. { 0xdb15a3075d4b45e6L,0x84723914fcfdc41dL,0xcaefb6d932ec163fL,
  75593. 0xd1731f430c7b5872L,0x85d686fd05f934e2L,0x513e444327b0a36eL,
  75594. 0x2d051e22c7b3369bL,0xb4398e0fd3c6239dL,0x0000000000000184L } },
  75595. /* 32 << 21 */
  75596. { { 0xddd7a0733f0741e6L,0x6d74b1e2a4689d58L,0x6f6037646798ba3cL,
  75597. 0xdc038772b996b179L,0x6e7e797ae1668e1cL,0x551f4a8e3e285251L,
  75598. 0x705484e5e67fd032L,0xa65fdfcdebcceea3L,0x00000000000000eaL },
  75599. { 0x33a1c053acfc4123L,0x25030e6abbe1fd24L,0xd9d6af7100d3d90cL,
  75600. 0x063f818bade7d232L,0x99630ac3521ce597L,0xbb594d0eb9ea28edL,
  75601. 0x3f61acbd3a1fb8eeL,0x7e00686f88caade2L,0x00000000000001a8L } },
  75602. /* 33 << 21 */
  75603. { { 0xbf04c2f10188a108L,0xd97a675f9bd5cac3L,0x7cf307ba3d550f85L,
  75604. 0xd92bf5638175fa0cL,0xc0b15ced245f8262L,0x21bc381f3ac2e314L,
  75605. 0x0546ca1b630688d0L,0x175e7dc3c4b4496bL,0x00000000000001beL },
  75606. { 0xbf335d90428c7969L,0x0b0387dd9505806cL,0xa6ebd4a0fef04f3fL,
  75607. 0x019c08a6f16cd1eeL,0x159f950c8516a54dL,0x884c6b4c08e3a0ddL,
  75608. 0xb24a63a5f481327fL,0x0f59393fc58c7694L,0x000000000000006dL } },
  75609. /* 34 << 21 */
  75610. { { 0x9e5dfe7511482722L,0xd5cab6054b5e60d9L,0x4fc124c7091e9a56L,
  75611. 0x1bc8ffa6100bd803L,0x415d2974a1c1f05eL,0x5deb11b2328462a2L,
  75612. 0xad47e4ee7cb76829L,0xe28e8cb0734c35faL,0x0000000000000156L },
  75613. { 0x01bfee8e695d79adL,0x632fa08695129a0dL,0xdf01f6b258964d2cL,
  75614. 0xa535f7780eb0c0feL,0x437acc8b6f055b47L,0x1e090aa3051435eaL,
  75615. 0xabb69b8a1ab3ecedL,0x1ef06b846365da48L,0x000000000000018bL } },
  75616. /* 35 << 21 */
  75617. { { 0xb6a65d464fa97150L,0xb19c96e55e1dcaa9L,0x2a6a862687e3b1c3L,
  75618. 0xd4b9123d8d849559L,0x56b91af2419166f0L,0x84129be9531e2638L,
  75619. 0xfb4a404a41f85918L,0xd871249af9933f3cL,0x000000000000012eL },
  75620. { 0xefc9fb3fc819be78L,0x3c47fb8f43aa377fL,0x431fa13f86e32edbL,
  75621. 0xa6fca0c0f64f51c5L,0xd04a845a6d65828aL,0x2c545f532d623133L,
  75622. 0x979e09ca20bf1330L,0x64b6bd355d28805eL,0x000000000000004fL } },
  75623. /* 36 << 21 */
  75624. { { 0x2303e5e45b1a63a6L,0xa8610396589d2437L,0x27c48ce9d7d1d687L,
  75625. 0x5032499a49a2c92fL,0x30727e711af2969bL,0x2668c8f074c335f4L,
  75626. 0x9d11c2808dc25fe6L,0xc1523a37506d1e4dL,0x000000000000010bL },
  75627. { 0x8709ecf62fa178dfL,0x0eb58c3af8acc7d4L,0xed6a352bd28b9c62L,
  75628. 0x9b232108faaa811eL,0x0cb3f9aa038718f6L,0xd05191930f05ad17L,
  75629. 0x67bf6bec1293e6a5L,0xa3508a7f9abd18f3L,0x00000000000000dbL } },
  75630. /* 37 << 21 */
  75631. { { 0xf1555428b42a7bd1L,0xca229f80867797e1L,0x23196735437fd7e0L,
  75632. 0xd6fc95759fda4046L,0x8731b144c2ba4501L,0x748a43a0bda4783bL,
  75633. 0x52878286165a1976L,0x345e999725fe070eL,0x00000000000001d8L },
  75634. { 0x0193b975d77d2d63L,0x9d406d507cb07465L,0x5d583f3f36396728L,
  75635. 0x236de10de9208950L,0x5f11d5c8ad10ddd5L,0x5d6a91ce792b9f41L,
  75636. 0xf7889239e0f9ed3eL,0xa6278c8f7ed1f09aL,0x000000000000003aL } },
  75637. /* 38 << 21 */
  75638. { { 0x4658a9436e35bfe0L,0xf279bf8ffef18cceL,0x3d61d8ba12d3e8a1L,
  75639. 0x67988c8558473f0cL,0xecd48fb0d8032914L,0xb5c547e7a044eadbL,
  75640. 0xf1f61987b5cf8144L,0x90c69abfbd65f4c5L,0x00000000000001d6L },
  75641. { 0x6dec092ab30cf08aL,0x5a64596a78a36a3eL,0x53cfc2f19e10edc3L,
  75642. 0x82422ac095ce9b54L,0x0b10c3c0c6b2c86cL,0xc4dfc68d6242e7f4L,
  75643. 0xcd0fc4557cc7de9fL,0xe0a9c2568e4beec1L,0x0000000000000147L } },
  75644. /* 39 << 21 */
  75645. { { 0x7dcd4b4eb68ba235L,0xcaa7d77bd7b38b21L,0xcd6cb4594112e083L,
  75646. 0x04b016fdda7d8cafL,0x5c12612e23c89818L,0x02ba59c59b3e18caL,
  75647. 0x834f4c029a9ffffbL,0x5da192d72e725278L,0x000000000000003bL },
  75648. { 0x3aede0a9980ddff6L,0xcc057c5354ec8b06L,0x7467ec0755f24b26L,
  75649. 0xb3e3163b82166403L,0xf3b64bb023f83247L,0x92f1e85be0a32218L,
  75650. 0x7995216504903b6eL,0x0e3d1d200ffbaf22L,0x00000000000001d6L } },
  75651. /* 40 << 21 */
  75652. { { 0x1730b2a5c9b816e5L,0xf2c2a1bb5531ee33L,0x1da21329659e0b2fL,
  75653. 0xbec25192c88bce0cL,0xddd4b9e6ac6f52abL,0xf15bd68f9e4b9f7dL,
  75654. 0xea9e12e67d249b4fL,0x56a65055451abab2L,0x000000000000015dL },
  75655. { 0xc4d7dc72c4b6910eL,0x5fd335922ddff22eL,0x43e429e2b8287af6L,
  75656. 0x258a4647a1585685L,0x31f72f413b62ce95L,0xf63172fa57933b4fL,
  75657. 0x54749d3a0c5cb4d8L,0x514da5d28cc931c6L,0x00000000000001deL } },
  75658. /* 41 << 21 */
  75659. { { 0x896165235e844515L,0x0445b78da349dfaaL,0x2d97809a98cd85abL,
  75660. 0xa26356f9acd297c9L,0x23138b25dfcf5a42L,0xf5c56101752030d3L,
  75661. 0x561b7e4288014607L,0xda38360218c12c54L,0x0000000000000052L },
  75662. { 0xa13a8ae1f3c90e7eL,0xdc8c1d54456ccc88L,0x88f1c0dc733a77aeL,
  75663. 0x55e1567fceb2924fL,0x300ab8cef0291fc2L,0xe4710c77ed9f68aaL,
  75664. 0x623ef9b378f1c0afL,0x90b6c115031e610dL,0x0000000000000055L } },
  75665. /* 42 << 21 */
  75666. { { 0xaf881c6a5ed47898L,0xd583a12d314be8cbL,0xc871d32a13385ecbL,
  75667. 0x4a3b26ef9abb78b6L,0x10bea9273313c278L,0xc5e4fef09e2de3c5L,
  75668. 0x899e5a357f670b65L,0x7af654120a813003L,0x000000000000000bL },
  75669. { 0xab30982a8e0cd895L,0x3ab1a9f32bbae855L,0x1cb2164cf9f45ea1L,
  75670. 0xdad048026dc7de22L,0x31422acf309178deL,0x86ba73a70880dc8bL,
  75671. 0x53255902a44f7762L,0xf8b3d2e6ac090679L,0x000000000000015fL } },
  75672. /* 43 << 21 */
  75673. { { 0xc81e8be2e96fc1efL,0xe9b8e8ecdf4a79a0L,0xcef3624371875b4bL,
  75674. 0xb76d0eb976c9298fL,0x04a9f25a7a2f4f86L,0x5ebfbe16b98eed69L,
  75675. 0x591258f21cb923a3L,0xd2704654ca8f4451L,0x000000000000008cL },
  75676. { 0xa74e395adab82d0eL,0x1838dbcba15563c4L,0xcb3ad95626785cf7L,
  75677. 0xadb39a9392ecd059L,0xbf1440198a788f6cL,0x75a7eb68cdfe152fL,
  75678. 0xb637e415a521d720L,0x2224b489166357b1L,0x0000000000000144L } },
  75679. /* 44 << 21 */
  75680. { { 0x7201e2d03e49e1acL,0x11258a5fa85d74edL,0x3d5f97d1aa5d5c55L,
  75681. 0xb0353c296874d83cL,0xbb008111fe79c52fL,0x1bb9d0a52da4d5d7L,
  75682. 0x6c0efdbd45897053L,0xc65636e774481945L,0x00000000000000c9L },
  75683. { 0x71b21b9b33347b52L,0x84ca3f41d1ced26cL,0x49d65cb043c68921L,
  75684. 0x601a6edc743b9e48L,0xa97dc603e90fc101L,0xb42db9c7d4aa7153L,
  75685. 0x4440eced6c624cd8L,0xcf52d4b8c03036a6L,0x00000000000001e2L } },
  75686. /* 45 << 21 */
  75687. { { 0xb6b5541f80eea99bL,0x5e05ba1d0d5c66e2L,0xda681cef35ca870fL,
  75688. 0xe9ce25959f52ac0eL,0xaa144a0897103546L,0x2e8adeea8bc0324fL,
  75689. 0xde71c23196352390L,0x5ffc158b1190a231L,0x00000000000001eaL },
  75690. { 0x5a6d7ebfd3c77423L,0x087f3be2aadf36cfL,0x44b7382ecac813f8L,
  75691. 0x9a7ea85fda66aca5L,0x7e5e106813af7225L,0x40e6c5730690c976L,
  75692. 0xe2bb8ee55cda95bcL,0x89ab8fbbc7d15d87L,0x0000000000000131L } },
  75693. /* 46 << 21 */
  75694. { { 0x2b26bc1e17ca1ea5L,0xabb1ea0d563a9b23L,0x4cc07a7612c5592cL,
  75695. 0x752dcb1940938649L,0x8fc2268dba4358cfL,0xc345a36ba21931cdL,
  75696. 0x89df99fef439d9cfL,0xd9befa2b4f0c2580L,0x00000000000001c4L },
  75697. { 0x01e1ada7484a52cdL,0x4e80d9c73ea4c56fL,0x48c0b1526b8a8abaL,
  75698. 0x8a3649d3a4a434e3L,0x9c200c7ff18df9beL,0xe4cf8e1570e9b087L,
  75699. 0xe5ac0206645b233fL,0x1ae5ea925372333fL,0x00000000000001fdL } },
  75700. /* 47 << 21 */
  75701. { { 0x56086f88e91f967cL,0x5b068412777b581aL,0xdc912cb06758892fL,
  75702. 0x619754c616bcc341L,0xd9e47125e612c547L,0xc12c85685dc7a039L,
  75703. 0x40e97019a27fd186L,0x7959dd2a02b1678cL,0x0000000000000006L },
  75704. { 0x586f5aa0a27d91b6L,0xc2305d49c6dda71fL,0xf2d049553d6d14cfL,
  75705. 0x9e617cf9d31a1d03L,0xa356ea57cf1d8491L,0x65704bd38b75a624L,
  75706. 0x5fa767156b36400aL,0x975fbf3565a5489dL,0x0000000000000180L } },
  75707. /* 48 << 21 */
  75708. { { 0x0febef06cb4a809eL,0xa8af434c261b4facL,0xe3b7185059d1e70bL,
  75709. 0xb62f01e45d1c24f4L,0x8abe4e3db303a2ceL,0x91a5a10f36e2c2a8L,
  75710. 0x710bd5ca7e472ba9L,0x14a31aa677a05ff7L,0x00000000000001bcL },
  75711. { 0xbadec183453e07baL,0x54c92ec41e3087a2L,0xb87b0b724a6e06a3L,
  75712. 0xe26c6162b5507e77L,0xeb64a07175faedaaL,0xde1c75464988a08dL,
  75713. 0xe99b34851ff0a98fL,0x29a660c2053f0e60L,0x000000000000013aL } },
  75714. /* 49 << 21 */
  75715. { { 0x06ed9df68c85e279L,0xde8923fb07d26dabL,0x9de21f265df321eaL,
  75716. 0x46573469d2739ec1L,0x9bd77ab28eaffbefL,0x99493fc132417837L,
  75717. 0xdbdb09c5fa664abaL,0xa128e72276e35b38L,0x0000000000000108L },
  75718. { 0x89bd3d466e299be1L,0x909cae0e56999cb7L,0xd14abf38cde8b394L,
  75719. 0xb449bc09d7c8d422L,0x0a2f935904ef1f5dL,0x164492d22c962ea5L,
  75720. 0xc334ff1d4322bdc8L,0x0ac21031d0e9b113L,0x00000000000000ccL } },
  75721. /* 50 << 21 */
  75722. { { 0xf0185304edc95e01L,0xc200becd9186d5d5L,0xbc9946c03722a9d4L,
  75723. 0x73d2b80aee0c0f7bL,0x3ffac114c25f680aL,0x86a201b64940567eL,
  75724. 0x1744de6eddd392baL,0x9a30fb2334cd027cL,0x0000000000000078L },
  75725. { 0xc5e2e29d26372a22L,0x82a3e1cb9ea293dcL,0xd470ef090b09afa0L,
  75726. 0x44a6a43be89990a9L,0xffabe7ec82f9f8bfL,0x8c1227e6f274a2b8L,
  75727. 0x73b2f7bba3b60869L,0x1b2510533ae49e15L,0x000000000000003aL } },
  75728. /* 51 << 21 */
  75729. { { 0xc6ce482996fffaafL,0xc3f952ef261e06b1L,0x0d07b3310380850fL,
  75730. 0xa2e1b0974bb1fc31L,0xf060f318c059a3c1L,0xef8ae3b2316feff5L,
  75731. 0xc8cf197fa5686663L,0x5f974b59e2cba233L,0x00000000000000e0L },
  75732. { 0xcc26bce6f24e9213L,0x5d59296170c1bfbdL,0xbb4681d331d2656eL,
  75733. 0x4271c96450f0683fL,0x5a9976d944783a96L,0xd3ed0a6a41eea6ecL,
  75734. 0x9f24f797beae86afL,0xf38112f792dadcecL,0x000000000000001eL } },
  75735. /* 52 << 21 */
  75736. { { 0xba2cf7c45cb6324eL,0x7bba7a0805b7da17L,0x53084c6758c59b62L,
  75737. 0x2cd1c9a43cab8df1L,0x0cfd3c151f38d256L,0x373df9d2a34a65bcL,
  75738. 0x88a92c31e815057fL,0x11b2a0e5b8c0cad1L,0x00000000000000c5L },
  75739. { 0x97f74ae939d6533fL,0xb04e5e9516c73570L,0xf7a53b4ffa446dfbL,
  75740. 0x61dba2b24b4d094aL,0x24fcf80996f67da4L,0xea60ebf50b21ab78L,
  75741. 0xe4d76de60bf97bb5L,0x95032a893c1883bcL,0x000000000000008dL } },
  75742. /* 53 << 21 */
  75743. { { 0x55ae0b1461612346L,0x9b0f5c01b19b690bL,0xed0a114eb5185164L,
  75744. 0x852e56403471d444L,0x54c370df67c7af55L,0xf3573f9e9df278c9L,
  75745. 0xf658b02c593c852fL,0x353dc49805bbf9f2L,0x00000000000000ccL },
  75746. { 0x3f5d30ef08d3da4bL,0x40be4093f479393fL,0x67b87661778da315L,
  75747. 0xf50ef8637512f2ccL,0x4c8c728ab69c92c9L,0xb8a11ef63cbf14a8L,
  75748. 0x75df83bc26cd8287L,0xa4cf8319c99c3d51L,0x0000000000000054L } },
  75749. /* 54 << 21 */
  75750. { { 0xd5b6600ff0c1462eL,0x532c6476588cdddfL,0x97737ad126ec65e9L,
  75751. 0x88033b8f801516dfL,0xf9c06f4a55cfa617L,0x5be87436cb5d8557L,
  75752. 0x4245d3d2f48c909fL,0xeb3b54849a6b09b1L,0x000000000000016dL },
  75753. { 0x377762c7c7ff074fL,0x62240f289ec0af00L,0x47dfdc3ecc3b8a22L,
  75754. 0x70a10d983d40f5bcL,0x61657aba05e18781L,0xb7c112fa31910613L,
  75755. 0xdc29680dfb3b31a7L,0x00aafce3d41fe224L,0x0000000000000102L } },
  75756. /* 55 << 21 */
  75757. { { 0xcb71ba5711096104L,0xb0ce7ba638a2b20aL,0x808983acaa6ba1feL,
  75758. 0x21cab98eea2ddbe8L,0xf7e656439f7d2f9aL,0x687d4d7ac9df8af6L,
  75759. 0x342af3932ccf2d82L,0x0352c43ac6a8fbdcL,0x0000000000000052L },
  75760. { 0xa968c9be5fb47434L,0x3135271d91ca8cbeL,0x7cb25ca5e3f8970fL,
  75761. 0xc427d97cb50ea245L,0xc5144f82bfadd4b8L,0x54473d162937e958L,
  75762. 0x9b5c789b8cb41622L,0x409ccf55ddc0786eL,0x0000000000000114L } },
  75763. /* 56 << 21 */
  75764. { { 0xd495b0ec16eba181L,0x834a505a76f4fb91L,0xd1950cf8db3b0c92L,
  75765. 0x5108e0cdbf6bd68fL,0xd8492e459f777ac3L,0x2caa1a4e184f5a9bL,
  75766. 0xfbb91ea5ce860f91L,0x05957c32597025f9L,0x0000000000000097L },
  75767. { 0x1774a862b07d29ffL,0xcb4eda89cbcc928eL,0xa19276a102ad819bL,
  75768. 0x3d0cacf6f5af5b3eL,0x8dcec31f3bdbc653L,0xaad437092f1ade3eL,
  75769. 0x544e97c3574e10b1L,0xd4364902c62c4debL,0x0000000000000077L } },
  75770. /* 57 << 21 */
  75771. { { 0x1c617b0ec7454b5aL,0x192f8da5688d212fL,0x8bb3ad324dffab82L,
  75772. 0x921d0b102ac4cb94L,0x11a93e54698b156dL,0xbbffdd46ba176214L,
  75773. 0x29fbe579b563b65bL,0xf339c5ead20f3224L,0x00000000000001fdL },
  75774. { 0x425dfbffb94c9ba7L,0xd5bd477b25caf944L,0x99c838ffe4b5755eL,
  75775. 0xc25eb25038c573fdL,0xb5118d7f75ed773bL,0x44f6e5e8e6ea5b48L,
  75776. 0x2ca7102a8a7e4c4aL,0x0124d2c29c4f4fb8L,0x00000000000000c0L } },
  75777. /* 58 << 21 */
  75778. { { 0xa364e55cbfc650f0L,0x1a2b834413857077L,0x0f38bd537e8e2025L,
  75779. 0x61829061f7c11262L,0x7e9710e7c3c52c38L,0x9d61eb0b5437249aL,
  75780. 0xe968f5e104c73e0dL,0xc086474678394fb5L,0x0000000000000185L },
  75781. { 0x08333228a65f7f47L,0xcb026a48269ef9c3L,0xdf7cf0f3902d129eL,
  75782. 0x7fba1a847a5fd75eL,0x3f7338c577e5e332L,0x24a06483c7545ae0L,
  75783. 0xb84bdda926f22ee7L,0xef0538ff3c3d5295L,0x00000000000000e2L } },
  75784. /* 59 << 21 */
  75785. { { 0x7cac9163c6f9388cL,0x91c49193705210dcL,0xa5c1088c1358a451L,
  75786. 0x7b6710a56e928e99L,0x98d4263179fa67b4L,0x31932728f9f623b3L,
  75787. 0x27ed2f252417899eL,0x6900af3df6e9651dL,0x0000000000000044L },
  75788. { 0x7021421eb17ee12aL,0x9dfd837bbcafe310L,0xe54f136b84cdd344L,
  75789. 0x0943bddb5f7875fbL,0x23786b2bbd2ff324L,0x758d4cf386597884L,
  75790. 0x8e831868849cb1f8L,0xfbb48f93c01a2e6fL,0x00000000000001b9L } },
  75791. /* 60 << 21 */
  75792. { { 0xaf3720cc32afdff7L,0xcc84e0db51d60c35L,0xedf89c0a595d2b23L,
  75793. 0xfbb1fafb0c9c0f55L,0xe3556b3b8b9b6aeeL,0xc208eb382f5e0a50L,
  75794. 0xa8ee4fa226e707feL,0x65ce95e5b043519eL,0x00000000000001e4L },
  75795. { 0x05eb17d3ca16c880L,0x617a63a31f1e4c1bL,0xb8aa601ff35ebf94L,
  75796. 0xaf515b4fc5022f1aL,0xc98f8f0a17a2b7fcL,0xa768b9ca67e03fd5L,
  75797. 0x67e6d9afb2e5670fL,0xf069de05d217f764L,0x00000000000000c1L } },
  75798. /* 61 << 21 */
  75799. { { 0x90211eba92f1a89dL,0x8a3418ed81b3b80aL,0x0150ed13b0ea17d5L,
  75800. 0x5fc05e99bddb5ff9L,0x3db25dcec5bd9918L,0x50bdec38c09beb7fL,
  75801. 0x34650128159c352dL,0xdf63ab922366df69L,0x00000000000000f1L },
  75802. { 0x15595a9127aaacfaL,0x4b262b893f0cad94L,0x750f5c4e8ffe4bbdL,
  75803. 0xc7c6cbdf6617b6f5L,0xc96e50343fc54c60L,0xc0bc517912e64bc3L,
  75804. 0x145b25c60d79b77cL,0x049ab957d4b9a2fbL,0x0000000000000044L } },
  75805. /* 62 << 21 */
  75806. { { 0x127e4b38a542a8b1L,0xdd85f0c3e2f444f6L,0x44ee07fdb6e479fcL,
  75807. 0x59ef243a40f4a51dL,0x1e0e83ac6f8ae9ffL,0xc7de39577fae0abbL,
  75808. 0xc911c37f62b89c14L,0x998e3826b3ff9facL,0x000000000000010cL },
  75809. { 0xa45e8947bb8b084eL,0x5a4ef9bf80029d67L,0xc371f57529b4c9c3L,
  75810. 0x1b4c0fbe77732c86L,0x3bd5da09a6282a9fL,0xd668e0a2ffac1e00L,
  75811. 0x2df2a2a08aae6398L,0xa4ab9fcd898755b4L,0x00000000000001ebL } },
  75812. /* 63 << 21 */
  75813. { { 0x1935900b9cdb1e23L,0xa2ad33fe0d798a47L,0xa53f7a0a7d291929L,
  75814. 0x320277e12e3a69e3L,0xe5139222cfcf9a38L,0x2ff86f3bdb790cd4L,
  75815. 0xc0bf4565f22c11d1L,0x565340d652a81f8fL,0x00000000000001a0L },
  75816. { 0x16ce3752e31fc3cdL,0x948e3a7d7e402490L,0x2e2c0f7e5343bb9bL,
  75817. 0x17956f666ce73ee7L,0x93ca1925cce89b93L,0x6b3d128c41464004L,
  75818. 0x11370aca5c4abe8cL,0x70abf93623032806L,0x0000000000000124L } },
  75819. /* 64 << 21 */
  75820. { { 0x87daa931dbbc43b6L,0x882a2421d1895005L,0x6013f2ba7aae1124L,
  75821. 0x01d2a8f0bad34df3L,0xdb1b7f432f0b3d59L,0x59039f352a95ac2cL,
  75822. 0x555077aaa6c0a8b9L,0x543b69a862685a03L,0x00000000000000e0L },
  75823. { 0xbb104059ec48d2afL,0x691c1f18930fa171L,0x8c434c7637d9fd85L,
  75824. 0xd1e56d52068741abL,0x1117a9fc130e01ecL,0x126d517b1f510538L,
  75825. 0x25ce40cef290a27eL,0x0d0b0d8ae90e675dL,0x0000000000000028L } },
  75826. /* 0 << 28 */
  75827. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  75828. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  75829. /* 1 << 28 */
  75830. { { 0x93d61c073ca98249L,0x04c4f43d907aa44aL,0xee3d2c3151d5b1d6L,
  75831. 0xe74d6892f859df2aL,0x16ab4838922f8fa9L,0xb0b6f7d1757b0010L,
  75832. 0x7ca940d8a918f320L,0x45e9325b97b8c9b5L,0x00000000000001e1L },
  75833. { 0xdb18d7bf37316056L,0xc34532048fc0eb89L,0x3929db79060e2db1L,
  75834. 0x2ccbf668b1e67403L,0xc7ce019a9b05f538L,0x9377f4464dca0ffeL,
  75835. 0x42947eb68a570683L,0x6eb25e34e0a1bf92L,0x000000000000009aL } },
  75836. /* 2 << 28 */
  75837. { { 0x8b60dc2df6130e66L,0x8ed41be47b6448fbL,0x0862c67e5ea7dec5L,
  75838. 0x97cd528272e431edL,0x944a76da0bff84c7L,0xc168a8fda2075162L,
  75839. 0x21af8de713ad271dL,0x27ebcd24437e9e66L,0x0000000000000044L },
  75840. { 0x399007d74c7b3dc7L,0x5128a9febafa8850L,0xb7e7cff44db4a4b4L,
  75841. 0x923571173410d116L,0x47320eacb450efedL,0x47ad42e6f8042421L,
  75842. 0xe4ef55c263b6aa24L,0x7a97987c3f882833L,0x00000000000000b9L } },
  75843. /* 3 << 28 */
  75844. { { 0xc76e5f4d022667cdL,0x2c78870a3e07fb1fL,0x9e001396d1c68926L,
  75845. 0x707a9c2eed2a502eL,0xaa9a37f8e68933fbL,0x1ae458ac4e4c8f98L,
  75846. 0x8047ed5da71656eeL,0x06826324a9df9d4bL,0x00000000000000adL },
  75847. { 0x2c4cbd9319c176efL,0x8dac64428092be6eL,0x0c349ee87a074bffL,
  75848. 0xec35b47c0129e1a0L,0x4096e01235253255L,0xb3e6e7fd06b23b09L,
  75849. 0x8b36eac316fd165cL,0xb7d5f97294ad125cL,0x0000000000000154L } },
  75850. /* 4 << 28 */
  75851. { { 0x58241d2f43416440L,0xad00daccf36bb0ccL,0xef105aade1b517a4L,
  75852. 0xa88fb367418524a2L,0x960efc2bd69f903fL,0x58b761e2bb316fa8L,
  75853. 0x634a724e43593289L,0xa341dd2178b2c871L,0x0000000000000178L },
  75854. { 0x29de72f83261324cL,0x53767dbc0ee348c0L,0x7f5a005b2ebc04f2L,
  75855. 0x8c6987a70f7b3b9aL,0x0f387e9d7e48f271L,0x644134585b456a10L,
  75856. 0x015a5da5d0a2a3c5L,0xb236cc58708be977L,0x0000000000000057L } },
  75857. /* 5 << 28 */
  75858. { { 0x13c413632bb30ebfL,0x1c51e2fb84a62b56L,0x0ffaefe0883cb2caL,
  75859. 0x23a651151997f036L,0xf030712c9c64e7e3L,0x06320295457aaf0dL,
  75860. 0x945bd82fb2498539L,0x2995df47623a481dL,0x0000000000000161L },
  75861. { 0xf962f403feb7f8b3L,0x244d8a3a872dff16L,0x59fdaabc89f6ddcdL,
  75862. 0x41661bc87db8acbfL,0x1b641d50c256c87fL,0xd7f8aadb27ccdb57L,
  75863. 0x4daf613731f353c8L,0x33d401882a2a6f9eL,0x0000000000000125L } },
  75864. /* 6 << 28 */
  75865. { { 0xbd4062286eed0f95L,0x8693a9d97c6c1c3fL,0x0392e931c066dcc8L,
  75866. 0x2e1eedc6cc819d2eL,0xc7a315d6069e2217L,0xa7495b1808e6f72dL,
  75867. 0x364f38117051ff13L,0xeeeb3cc4bb59d612L,0x00000000000000acL },
  75868. { 0xfd9e0c1078616d6cL,0x585de5ada8d4af09L,0xd08d9021c3143504L,
  75869. 0xb38fe6557f67ffa2L,0x5682040cd0fcb4d0L,0xd56c8348e6329179L,
  75870. 0x76229a732621c84bL,0x0c98cb02de4cc81dL,0x000000000000000aL } },
  75871. /* 7 << 28 */
  75872. { { 0xbfb85a9ba8f70eb0L,0x9fa45d83e59b107cL,0x90207916cff39e25L,
  75873. 0xdf20520f61816661L,0x250a81b64d88eddfL,0x3583bce4d4c88e4fL,
  75874. 0xfcafba316121deecL,0x40e71ea745ff2c20L,0x00000000000001d6L },
  75875. { 0xf91f204550452ed6L,0x4c7be74a00fca85dL,0x6ac750dc0fcc66daL,
  75876. 0x829ccef87bb3a7cdL,0xf232419e97039a3fL,0x1647039db5f00ad5L,
  75877. 0xc72ebf12dd7f9785L,0x42bbfd03c675e619L,0x0000000000000119L } },
  75878. /* 8 << 28 */
  75879. { { 0xb2308971ed0d691fL,0x31c3c54e8cef282fL,0x5cc3d26a97a5ed69L,
  75880. 0xb611a35d43da55beL,0x97492fe68fe11b61L,0xc10a18f0e26f0805L,
  75881. 0xb6e0f2a2ea78e6bbL,0x2570f42e71c3f3daL,0x0000000000000043L },
  75882. { 0x30048b23d0630da9L,0x3756d05e0f635ba8L,0x1e6e383a8ce0e80bL,
  75883. 0xcbe43361c723d456L,0xb1f089e45cd18501L,0x53132cf36ff2c160L,
  75884. 0xc759b7a24a0406d9L,0x17917e066dc5143eL,0x0000000000000141L } },
  75885. /* 9 << 28 */
  75886. { { 0xf8c5b2eb11628dfcL,0xc66d10fc0a42e49bL,0x44c184b4e26fe77fL,
  75887. 0x22ef369da4d3daf3L,0x6662870a2cbe0115L,0x80846b9736ca9e6dL,
  75888. 0xbbafd1317ed388a8L,0x4da614274029082fL,0x000000000000011cL },
  75889. { 0x68db20a0c06f365dL,0x46005f812ffb8bb6L,0xa0a17ce3bec18577L,
  75890. 0xb7627d8dc3cf8b54L,0x441830cdff30d00dL,0xa53ed5cd8f7a941dL,
  75891. 0xfd1147c999071de9L,0x619db4eb77dd8ad3L,0x000000000000010cL } },
  75892. /* 10 << 28 */
  75893. { { 0x7fc5ba6013564f62L,0xe82397841238d231L,0x8249f141e7b6cfbcL,
  75894. 0x37e1b845668154d8L,0xa99523bc5095c5eaL,0x1196969c76fb9d42L,
  75895. 0x6428aa7c92185a3aL,0x428e78d88246676aL,0x0000000000000095L },
  75896. { 0xe44cef632b1e5685L,0xd9665e7e0d228ca1L,0x066367719dfacf7eL,
  75897. 0x42b09d00fd5605acL,0x0b101edce65b8e60L,0xca4d0290e2210994L,
  75898. 0x50ed6bc6cf9cc92cL,0x2ca63c9ebdebc35bL,0x00000000000001fdL } },
  75899. /* 11 << 28 */
  75900. { { 0xa32a9d65fd85284bL,0xb08333a5a4fae26cL,0x8aca0a12ef75e239L,
  75901. 0x9035b7385a77bb33L,0x466f97979aa71a08L,0x375dd05662f91bc6L,
  75902. 0xd93ea401f5cb1c8cL,0x7ed00ca316d691c4L,0x00000000000000d1L },
  75903. { 0x8ccbd8fae0a3542dL,0x948625d070b071d9L,0x8654df26586a94d4L,
  75904. 0xd6fbfc0f80290be1L,0x2e103eaa260729e8L,0x342394e5f5f52aa6L,
  75905. 0xfaa21f70fb684270L,0x1348fabd7c862797L,0x000000000000002eL } },
  75906. /* 12 << 28 */
  75907. { { 0xf5e5237b52fecadeL,0xe0a50e6e4db2795eL,0x7481845f2a4c1493L,
  75908. 0xfea36aefaa8fba83L,0xe7a2e20bee8eab2aL,0x3f4ceb5766a0ad1dL,
  75909. 0x9be294e7c15afc26L,0x7952338d711c1de5L,0x000000000000016aL },
  75910. { 0x8a9806bba64d25ceL,0x6e72057d8eb8e0acL,0x46eb31f2d3f7e99eL,
  75911. 0x4a408b8d7c3f1998L,0x5df31a262f59604bL,0xd12dc298137d937aL,
  75912. 0x60c9a1480678810fL,0x3011046b48418a2dL,0x0000000000000139L } },
  75913. /* 13 << 28 */
  75914. { { 0x317b098c5ca5f978L,0x18fd83202c21b6e9L,0xc147ab01f1193accL,
  75915. 0x7ef3414deaff0d9fL,0xef1a3d6fe28e9173L,0x2603ccbeb25fceacL,
  75916. 0xf825502d5affa9ffL,0x539a125e066a68e2L,0x00000000000001dbL },
  75917. { 0xaf4b16bfa90a3b2dL,0xe0d81048ff63d1faL,0xb203e68707286721L,
  75918. 0xec631a327bf45b93L,0x4d38cb033b10b512L,0xe08eb57aca57f26bL,
  75919. 0x737d9cd0d7d6ddd0L,0xb00845a86c572d39L,0x00000000000001e1L } },
  75920. /* 14 << 28 */
  75921. { { 0x6f24af3eec231c64L,0xa4edad38e7c7bee4L,0xc6ba273ed1eead3fL,
  75922. 0xf68b581f08c4d123L,0x1db45c2364b13567L,0xcd3d42cb5772318eL,
  75923. 0x5cd6e6cb007bf13dL,0xf02d313b071bfdc9L,0x00000000000001aeL },
  75924. { 0x09083eda4ed3782aL,0xbcdf9ce75b29280eL,0x014232bc63b04675L,
  75925. 0xbd4bdaeceefec679L,0x8712c19ed47c5385L,0x4bb00b447ae76a01L,
  75926. 0x1f847ebd2fb2cf2cL,0x9f2b12b9a7a56439L,0x0000000000000050L } },
  75927. /* 15 << 28 */
  75928. { { 0x6ee9325abf53583dL,0x3b7ef054921dd595L,0x95c35ce8c0abc07eL,
  75929. 0x08a3a510646fe810L,0x77fe478185ec11baL,0xe382a5134e870f3eL,
  75930. 0x4eeb7787a9f1b8bdL,0x8521f39d9d8f6459L,0x0000000000000068L },
  75931. { 0x10aae6d8428a37fbL,0xf0578f9fd66092f9L,0xb90f50ee1ab36081L,
  75932. 0xbb41bcf30ae841eeL,0xf73fa600cf79eb81L,0xeb88461b991afd1bL,
  75933. 0x1b9feff62ce5c0f2L,0x80183105cab1b304L,0x0000000000000029L } },
  75934. /* 16 << 28 */
  75935. { { 0xabf17feb008c7a44L,0xade7917a7b12def4L,0xbfba65b83786b033L,
  75936. 0x8ef4af44f0d9f9f1L,0x8f47615cab136caeL,0xe42f100dbcbd5d3eL,
  75937. 0x8f3dc658f05f9b27L,0xd95a6b2dd6f2dbb2L,0x000000000000008eL },
  75938. { 0x23bb06a546bbc412L,0x15718699d0135eb6L,0x8f1639c4b4ed9e10L,
  75939. 0x767fee42d7f644a0L,0x668267b0fe8ec420L,0xec4f548264e90133L,
  75940. 0x679e614e536d132bL,0x0d72fbaf174df6c5L,0x00000000000000a5L } },
  75941. /* 17 << 28 */
  75942. { { 0x0d423fc8b05c732aL,0x1a585cfb9fc565afL,0xd0f09ba8438e8e22L,
  75943. 0x87cb63973b53004fL,0x30673a866bc86afbL,0x555ad65d7e068e3cL,
  75944. 0x4da2eed69da1d5afL,0xe25456e54cb910dcL,0x00000000000001fbL },
  75945. { 0x412e1fd8c5516135L,0x5465fd3139d159b8L,0x36d437af1a1ab099L,
  75946. 0xed474e6a03e10008L,0x4f229235c14fd291L,0x6f4a44ce3622b070L,
  75947. 0x5221ac85c506ac3cL,0x3e9f54bc552fd421L,0x000000000000002fL } },
  75948. /* 18 << 28 */
  75949. { { 0xbe5ee60713182632L,0x4d463baf9bbc5212L,0x658fc11c5c21a796L,
  75950. 0xb81542941474c364L,0x66b925171f6fde42L,0x85cc97916fd16ba1L,
  75951. 0x57c38a821feefec5L,0xb5c51d319b44b1d1L,0x0000000000000145L },
  75952. { 0xe2da12a3c6228bbaL,0x2be11b05a8522096L,0x8b60f44c6f83d963L,
  75953. 0xf3bac9f672782a82L,0x32bd85e32757d236L,0x901c50c6d59ffc8eL,
  75954. 0x1075eca86ac7c1deL,0xe78c786cf1302741L,0x00000000000000c3L } },
  75955. /* 19 << 28 */
  75956. { { 0xe045587941df76d7L,0x5fed520b829a93bbL,0x8eb7752aa9c54f24L,
  75957. 0x0d73e9371b21ee03L,0x4a09582102686b1cL,0x8f887b9944c1e014L,
  75958. 0xc7dd142035f32864L,0x0ccee70dcd5896e3L,0x00000000000000f7L },
  75959. { 0x73d4e288f84e6409L,0x37444a9e84a45459L,0xac888ad1fc6bd60dL,
  75960. 0xd0f03008ce257cdaL,0x1eba5a906f0e3546L,0x556839e8a7788e16L,
  75961. 0x1fa94edc1624a710L,0xf1ee65bb28d9bd43L,0x00000000000001bbL } },
  75962. /* 20 << 28 */
  75963. { { 0x9685604a378806e4L,0x5c0e5a8763fdb760L,0x47b37fd23c4d46e7L,
  75964. 0x911e9f7c46ed261aL,0xab42ac68497d6281L,0x656f59410a8e88d4L,
  75965. 0xcfe3ffac3a296c4dL,0xad1cbe5719241e9dL,0x0000000000000070L },
  75966. { 0x880193368cc01741L,0x8d354ea83f0eadf5L,0xd334ed2c30cf53f4L,
  75967. 0x4490515e7d521d3eL,0xd5d3d50f83d830dfL,0xde5fac26a718d969L,
  75968. 0x45707e7e4e0d85a2L,0xbac03693e2568e37L,0x000000000000003eL } },
  75969. /* 21 << 28 */
  75970. { { 0x05691330a54a03daL,0xf9e12a7e52a5d05bL,0x4e0a20c105bb2074L,
  75971. 0x27872197491f88b4L,0x9314134b0a02eb07L,0xb5840bb05633b498L,
  75972. 0x0348bb60dac28206L,0xc7eaa69e4fa82ef0L,0x00000000000001ccL },
  75973. { 0xd9d4c45319e54096L,0xdd3587dceb3875e6L,0xd6fdfca14a4b4149L,
  75974. 0x1abc691467148a91L,0x6061e274b3da5e59L,0x2f9eb868f7cea854L,
  75975. 0x057bca4f05aa6a2eL,0x3aed5fe77cc21838L,0x000000000000000cL } },
  75976. /* 22 << 28 */
  75977. { { 0x718f892ef3348160L,0x9f4c88c8f6acbf45L,0x2f886753c5fc4654L,
  75978. 0xb078063657a5c32dL,0x63248d855ab020c2L,0x490a231ebebbd4c5L,
  75979. 0x6daf12ab6bf2e47dL,0x144885a078e76ccdL,0x00000000000000d2L },
  75980. { 0xb5c08a51682e7203L,0xd3b7632dbdc76ca6L,0x1272869f10ad6667L,
  75981. 0xa07122fb431c8b82L,0x226ced3c14371122L,0x2f17db3f67cbe25dL,
  75982. 0x74e6946b54858696L,0xed3a84c544ffb855L,0x0000000000000102L } },
  75983. /* 23 << 28 */
  75984. { { 0x40dee98563bc734eL,0x0ef45f6e0c38c9b4L,0x9c5858bc94b7735dL,
  75985. 0x4368630de30fa193L,0x4b9bc14602726a71L,0x18142c21960891e8L,
  75986. 0x08d6b5780dc0ea24L,0x055ca09abe408a2eL,0x000000000000008eL },
  75987. { 0xfa8cae11987c9c95L,0x9f692d092b011ce8L,0xe5f725ad8e7c6b42L,
  75988. 0x6b54b6a3f4d13859L,0xfaa64fd0e8384d5eL,0x66a16b11682b4c97L,
  75989. 0x04b57cd76809bc31L,0x1afaad69d3eea7e7L,0x00000000000000faL } },
  75990. /* 24 << 28 */
  75991. { { 0xf7692e60b5cdfb7bL,0x7fd887faa548923aL,0xe43623edc2d58828L,
  75992. 0xd8047114e1e2f3d7L,0xadd5a16d7c6abbb8L,0x9fafe28a2f1133a2L,
  75993. 0x5ecaa9bd69688723L,0x5281e4addb5c34c7L,0x0000000000000153L },
  75994. { 0xfc1a8cf1c42d278eL,0xb76ff008220d26e8L,0x6749770f1fb6e918L,
  75995. 0xa7e6f520aec33172L,0x23c7456c247a2e94L,0xe4ef1adf8c38913cL,
  75996. 0x26c0c817aa8455e9L,0x9e38ea10680454f1L,0x0000000000000155L } },
  75997. /* 25 << 28 */
  75998. { { 0xc4a03e90b431c373L,0x75a014321dd2d074L,0x9ef6f893b6235777L,
  75999. 0x3e6557afdd83b252L,0xc30056fad6d21946L,0x49175c7ccc4e6bfdL,
  76000. 0xb48d402316ad5f7fL,0xe1f1aa86dabf2fa4L,0x0000000000000054L },
  76001. { 0x7fd8a69da617a3afL,0x3a6875aeeb6b1e2bL,0x1b42637effaff5c6L,
  76002. 0xa397fc03cb327e27L,0x251106b73e60a49aL,0xf36242809c3e2b31L,
  76003. 0x04a1243054509c5dL,0x023238269992caa5L,0x000000000000001cL } },
  76004. /* 26 << 28 */
  76005. { { 0x1375e971b4520f2dL,0x1507d0b367025850L,0x9d9c351920db152dL,
  76006. 0xb9f63cb55e5e5b1eL,0xe4cb0a89428af0f0L,0x9e1857404a4140ecL,
  76007. 0xf05173ae168f1d13L,0xe6a8daa0b553bdd1L,0x00000000000000d8L },
  76008. { 0x5bbcc749353c767aL,0x85192aa1f811d60eL,0xfbe7b89e7cbc2769L,
  76009. 0x752cc4426f68ea1eL,0x0e5d76f4f550fd90L,0xf2ca39620ee19f5dL,
  76010. 0x1fb501b48398c8fcL,0xbeeab7ad6047081cL,0x00000000000001d3L } },
  76011. /* 27 << 28 */
  76012. { { 0xe4f13a4678187349L,0x1a7986452cdad07dL,0xd12edd3b435e558eL,
  76013. 0x0a466b2500c452f3L,0xa1dbe185e3d65c74L,0xcc10132b5bd1dd39L,
  76014. 0xbb42cff31919d652L,0x711748162c26481aL,0x00000000000000f5L },
  76015. { 0xeae22d3ba0f7e4f8L,0x29d360c402dd3bb2L,0x016d91b5e3b86cf6L,
  76016. 0x888b637cdf4dfbaaL,0x72a94792ab525be8L,0x69d628cde606b3baL,
  76017. 0x34904e50a95540daL,0x18979662c4644642L,0x00000000000001ffL } },
  76018. /* 28 << 28 */
  76019. { { 0x1f06341d13a9aa39L,0xedc0d26a7415e0c4L,0x1ba18cd0ee8fed64L,
  76020. 0x6d8fa3e4fbfac509L,0x394bae0b08dda417L,0x44ead62fd835f0acL,
  76021. 0x793b6a8501b1d873L,0x0956227870f859e9L,0x000000000000017fL },
  76022. { 0xc42d6d2dc699d304L,0x41e68ef38ef5407fL,0xbfe24ff5a825f2ceL,
  76023. 0x36108ae9bdd3f4d2L,0x7fd3cdccbe47aabeL,0x93e1da7ca8b5af7fL,
  76024. 0x29fa9925b0cf1bc3L,0x5c9f946832411132L,0x00000000000001eeL } },
  76025. /* 29 << 28 */
  76026. { { 0x600a0bf9d2dac618L,0x685a2a4448291771L,0x0e7bac6514e41416L,
  76027. 0xff8f4f544c0a19a3L,0xab91c47719bf697bL,0x8874baa15a8ae505L,
  76028. 0x4a95436eb79474baL,0x7ec81267f0b04bbfL,0x00000000000000b8L },
  76029. { 0x61aa15a6d7dc681dL,0xdcbce70b90573096L,0xed2174ff06e003d3L,
  76030. 0x5118698a1f70c6b5L,0xf3f6ebce94529a6bL,0x2e3c16ba7facd875L,
  76031. 0x56ff76fa9c233c63L,0x48d58232b25308c3L,0x0000000000000040L } },
  76032. /* 30 << 28 */
  76033. { { 0xe0fe382608b55604L,0x2c1942a38d460615L,0x9527fdfe82cecf84L,
  76034. 0x2a193e252ceeffc0L,0xc238cb9d25d20cb2L,0x357240a611d898a2L,
  76035. 0x94c467330a554201L,0x860fcb2f93f09e27L,0x000000000000019fL },
  76036. { 0xe19b84d262304b4eL,0x7d06c611375b7f95L,0x59267a24db7fa504L,
  76037. 0x2712fa55cb322b42L,0x31e2690a2bbe4428L,0x0fd9a28a599eb8cfL,
  76038. 0xff80495e26c5d99bL,0x6de22868dd44826cL,0x000000000000002fL } },
  76039. /* 31 << 28 */
  76040. { { 0x18e983ea9babce7fL,0xd794f3872c121aedL,0x95377a1ff9be1cb0L,
  76041. 0xec3a779fe94176eaL,0xd1e5c67084093fafL,0xcb651415f62b3cf9L,
  76042. 0x1b0e00bd178fec50L,0x84529ad9e1300de2L,0x0000000000000019L },
  76043. { 0x4cdd2ef87fd07920L,0x987b7c86fbae0a4eL,0x7fe7d1505007327eL,
  76044. 0xdf55c0da4a8c92b3L,0xcbdaf5ad3b61e07cL,0x0a768f308803468bL,
  76045. 0xf887801ab2ef831eL,0x5dd31ed28493948eL,0x0000000000000166L } },
  76046. /* 32 << 28 */
  76047. { { 0xd256b6072de9b28fL,0x286fc763cbefe110L,0x736ff52a138783fbL,
  76048. 0x6f6d822b4ebcd973L,0x78c5a0b685eca174L,0xbfcc5ab679ea21b7L,
  76049. 0x9ccb278d4937e0daL,0x9f50f4422d009304L,0x0000000000000049L },
  76050. { 0x566947d729f8a798L,0x9793a90581cc1ed4L,0x73da631e851115d4L,
  76051. 0xa0b5c181fc7da6f5L,0xa70593d29f5a7634L,0xc9f71df41e6250a8L,
  76052. 0x2dfd10897a97cd35L,0xc3cdac7ed4e0074aL,0x00000000000001fdL } },
  76053. /* 33 << 28 */
  76054. { { 0x527dff175e34cb9eL,0x1185849f852371a3L,0xb9d706ca6726ca47L,
  76055. 0xc1dd38933d915bf0L,0x9a9f8c7c35256ac7L,0xe2c3c09136838dcaL,
  76056. 0x05e64ff7870a320bL,0xa994d8aef3132cc9L,0x00000000000001f2L },
  76057. { 0x46e991b9272d18e8L,0x8a25edf2fd58a9ceL,0x3785868f285cac3eL,
  76058. 0x5fb2e743d880fc4cL,0x3a1d2ef3b2c3e9a9L,0xfcdc85b5e00ef7a8L,
  76059. 0xbd24e872b5b4076dL,0x668da80789caff99L,0x0000000000000017L } },
  76060. /* 34 << 28 */
  76061. { { 0x97bd38162078f256L,0x5d8f6c9b986e1064L,0x54503fe4f389bb49L,
  76062. 0x926f338e896b4713L,0x456413e55b6b0d6aL,0x0c55b0104f321c4cL,
  76063. 0xff7b9d8b68144d46L,0x5558ef1ff5a77121L,0x00000000000000acL },
  76064. { 0x1d11903a5e46b3dfL,0x5d07f4024329d68cL,0xe7fc54483d4584dfL,
  76065. 0x85cb4edde10f716bL,0x2d8138c27ae7e0dfL,0x23fa18aa0e362800L,
  76066. 0xd29f622742704470L,0xd019bbc004ea20cdL,0x0000000000000010L } },
  76067. /* 35 << 28 */
  76068. { { 0x77b70582bfc725dfL,0x40b2fec1c7ac2712L,0x3c12e6c61950a057L,
  76069. 0x854deccd121c54e6L,0xe6650cb5f20f8d75L,0x68bd92942455567bL,
  76070. 0x4d88a2b9b216af0dL,0x690d0fed06150c6bL,0x00000000000000edL },
  76071. { 0xd17bece2f2efbe2eL,0x231fafc9bb1f57baL,0x06f9776b85b23326L,
  76072. 0xaec0776ef3f362f2L,0x21e0b5369e0c259eL,0x944c4d19139e4f62L,
  76073. 0x6d3067c700a6a022L,0xf58f9dfbd6539e9fL,0x00000000000000b0L } },
  76074. /* 36 << 28 */
  76075. { { 0x61acda55111366a8L,0xdec95e38b7f07d93L,0x8222e3d6baf73ce6L,
  76076. 0xa8d24dfa339b0560L,0x205df5b8caa53e45L,0x53ceb84c07f44c35L,
  76077. 0xd44ff89c819e3f50L,0xab02c3c1a9d0fa4bL,0x0000000000000156L },
  76078. { 0xdb16ebcd79987e96L,0x986ace08fa013307L,0xb83bb30a0c1a370cL,
  76079. 0x9d2cd27dc95cec3bL,0x4c125471240da52eL,0x8f9b0f23588d5cc2L,
  76080. 0xb03e0c8a0e21e5c9L,0xf3a55d8b860c813cL,0x00000000000001a3L } },
  76081. /* 37 << 28 */
  76082. { { 0x90c5a583c3835851L,0x4219b5de3cb23bf5L,0x044d34effe2a24a9L,
  76083. 0x5ae5eb83762f96deL,0x9d476c6487fa31c9L,0xbc6aba41aed7972fL,
  76084. 0xbea75febc9ec7341L,0x8ca0dd60627f5b64L,0x00000000000000a8L },
  76085. { 0x1b50115ed6888e70L,0xa4545e2d794f75c3L,0x401861f9dace48fcL,
  76086. 0x2d5a89afe11b82bfL,0xbe38f972ae3391a5L,0xcc1f6db06d026c05L,
  76087. 0x084ca28ae7a3ef5eL,0x176e9f1fd2864659L,0x0000000000000050L } },
  76088. /* 38 << 28 */
  76089. { { 0xc2019c0271b15a05L,0xd48bbe070860ed8dL,0x2361677c20c6be37L,
  76090. 0xa957ea9259c63464L,0x48bdee912c443f75L,0x44f7cc053758b6c0L,
  76091. 0xf4910cca5bc5717dL,0x149c230cd5085dc3L,0x0000000000000100L },
  76092. { 0x6daa5d33b9ce132bL,0xccf4fbdb2fe80f7bL,0x844149b7b34a3216L,
  76093. 0x66a4b73c9372de80L,0x54b0e50ab74feee9L,0x733214dc6d44764aL,
  76094. 0x06e5f78a04b817acL,0x179ba42cc714eab2L,0x000000000000006fL } },
  76095. /* 39 << 28 */
  76096. { { 0x41ca17fe324ebe57L,0xe5b597fc38248859L,0x25a9281f71b1fc77L,
  76097. 0xec8c0f355257f629L,0x9951712b32763a6bL,0xba39f3393983150fL,
  76098. 0x59a52f445396034fL,0x1272ba122070c464L,0x0000000000000195L },
  76099. { 0xfd4339486ff38a26L,0x0b94645a82186928L,0x37e034cc66c1e676L,
  76100. 0x82bb11a0826343b0L,0x90d5b4c1572a5785L,0x1cb39ed5535b33caL,
  76101. 0xa751d3ca20e812b4L,0x99eed4a961c771afL,0x0000000000000120L } },
  76102. /* 40 << 28 */
  76103. { { 0xe819cc844c848a52L,0x97d6bb24a95d1c11L,0x68b512de29b00048L,
  76104. 0x61bc95c028390416L,0x51f63fea5a21876bL,0x109aebd7e3075459L,
  76105. 0x7735f70c233315b7L,0xef66a59c6e0f35a5L,0x000000000000006cL },
  76106. { 0xad0aafcd784af74dL,0x3c5bae42c1b0ebe0L,0xe12e2963f5a634d7L,
  76107. 0xa0bbcbda7a495138L,0xa4c2f0c2863b8befL,0x1d13dc0a0362bfb8L,
  76108. 0x04be3b6554a111c8L,0x9eefc66cb793f1e6L,0x0000000000000149L } },
  76109. /* 41 << 28 */
  76110. { { 0xaff95949aba4045dL,0xef288e2241d0dbc4L,0x0ab889d979410183L,
  76111. 0xc48157059989f404L,0x2b110dc9491692caL,0x6d5786920c0aece5L,
  76112. 0xd6afdbf4189fb2dbL,0x6188a57807a0d0aaL,0x000000000000006fL },
  76113. { 0x9daa0f2d3790f377L,0xad1c16553dbd8164L,0x806e1f9d98217107L,
  76114. 0x10c67e47fc30518dL,0x80f2ab513af331c8L,0x36c8e5f435bc6788L,
  76115. 0x698054e25e7b589fL,0xff145a30b144fd63L,0x0000000000000039L } },
  76116. /* 42 << 28 */
  76117. { { 0x77f03fcfcaebe2f1L,0xb032ab4fdb8d0df5L,0x50298bee11271b80L,
  76118. 0x7c9b538213044e40L,0x1e63fb4cba1f0404L,0x0cc77790e5221558L,
  76119. 0xfb667df9d87c07c1L,0xa1bd9b5d4fa5461aL,0x000000000000015dL },
  76120. { 0xe666b8a3f59d0fc7L,0x8cd99856f93b329fL,0xf15ac9dc87d43f51L,
  76121. 0xd62f1d4413c7726bL,0x35987d28cf157054L,0xe7319cf68090fc08L,
  76122. 0x4fb5e518a58e7727L,0x3d916c071005294bL,0x0000000000000096L } },
  76123. /* 43 << 28 */
  76124. { { 0x26387c347fa8da38L,0x006b5bc95663e995L,0xa81762db2fdc672fL,
  76125. 0x5aabce64d76c766eL,0x6c65a1c46b285f33L,0xecc5dab81d758143L,
  76126. 0xdf983510b9f496b5L,0x2cdc07a59176541cL,0x00000000000000a3L },
  76127. { 0x290335c934e7f5cdL,0xddb7748db9b7f197L,0x109b9ae09bc63c8dL,
  76128. 0x29e888ac028d3fc2L,0xbf292ad344771ea8L,0xdb60dfe2168360c0L,
  76129. 0xf3f5490d7d7a936fL,0xe387ba89057dfc8eL,0x00000000000001f0L } },
  76130. /* 44 << 28 */
  76131. { { 0x9a4b7f6493d68b0bL,0xe6e6ab700404d1feL,0x6879df3a95063fb2L,
  76132. 0x6aaafd74fc273d08L,0x71f6336497fb7eb7L,0x4ae28c634362c275L,
  76133. 0xf5848a9d8c1a487fL,0x67c1efe8eeda4a03L,0x000000000000005dL },
  76134. { 0x60e266b622da687dL,0x0a676ac5b651741eL,0xe39e0012736dd734L,
  76135. 0x7cf92513a3880359L,0x8b6c609629913ad2L,0x2c5b829daf6a7412L,
  76136. 0xd6fb88f34ff49696L,0x2eb1377cdb4b807cL,0x0000000000000030L } },
  76137. /* 45 << 28 */
  76138. { { 0x7a3663d88d937dadL,0x505e614c7a1002c4L,0xc785b58d85142711L,
  76139. 0x656182e5d3ad2984L,0x8d10353e265220cbL,0x3b1be55ab5b54894L,
  76140. 0x5cee86bd6fdc5483L,0x3405297d76c6839eL,0x0000000000000198L },
  76141. { 0x872c51c47e6df1d6L,0x924e0616fdbd9f55L,0x8dfc23caec4f6876L,
  76142. 0x14989c5e42c59e5bL,0x9cb5b0b59f20ac1dL,0xb9a5c77bffb1f896L,
  76143. 0x9eeec4ae52e7e29dL,0x6b0353efc45b8bddL,0x00000000000000bbL } },
  76144. /* 46 << 28 */
  76145. { { 0xf2d4f1c72688cd8bL,0xf192d22d5ed62791L,0x40228bada8326f24L,
  76146. 0xad8b562974aeaf7eL,0xc7d3b568ecf92ff6L,0x23108db20fd0b496L,
  76147. 0xafc3418f1ebda53cL,0x029bfd1a165a4ef6L,0x0000000000000160L },
  76148. { 0x340cb9d7c908ed51L,0xef88826762017c05L,0x1313d7669ae63181L,
  76149. 0xa8d9c2cd6c8a1b89L,0x524cb90b35bad6c9L,0x91af48d2c6aabfdaL,
  76150. 0x7b7487b93c3231cdL,0xf20201abf5028680L,0x00000000000000acL } },
  76151. /* 47 << 28 */
  76152. { { 0x414b33978ac56c3dL,0x721029e16bea57c1L,0x9cee0c176997d034L,
  76153. 0x0e066baa743206c4L,0x54151f4c5f961984L,0xed5900facc869502L,
  76154. 0x0d9da2d227e7b18eL,0xc7fa2af5e3783266L,0x00000000000000a0L },
  76155. { 0x6616bf15ad5ac8b4L,0x72c8d17c80102d46L,0xbc1f78c8168b5c6eL,
  76156. 0x48018dd3c400914dL,0x20cd1be54cc9c130L,0x7fc70e61d99d9e60L,
  76157. 0x8b14cc2a42d62a83L,0x74df1bd13070d89dL,0x0000000000000074L } },
  76158. /* 48 << 28 */
  76159. { { 0x8fd8dc497694f566L,0xb2ab052d1fa6e13cL,0x7e4a708e9aabc7cfL,
  76160. 0x68a9c33a6b81f0f0L,0x96e4988af1f7cb07L,0xdca8d731ea264c22L,
  76161. 0x245371e321b3372fL,0x02216476308d2300L,0x000000000000017aL },
  76162. { 0xebf5411633696cfdL,0xa10c5784419623a9L,0x4c6a119c38fa84d5L,
  76163. 0x5c8eee646d4e5bafL,0x7f99d26d9b4959d5L,0x58708101174f417cL,
  76164. 0x48cab8f38294b72eL,0x828aaa19d9710f9bL,0x0000000000000192L } },
  76165. /* 49 << 28 */
  76166. { { 0x8a45f3c1f711e80fL,0x9f5a1b9df5d9caccL,0xbc1fc975a7625035L,
  76167. 0x80b67120b5f7fc73L,0x9bc987572eafb656L,0xf20515ca406e0a1dL,
  76168. 0x83305c67b23372c6L,0x40f4c0ce9ecd6e90L,0x00000000000001c9L },
  76169. { 0xb3598c05be9425d9L,0x255dd9d8a49eb383L,0xd4ec4a2f04a8bd10L,
  76170. 0x5c0d36abd5c340f9L,0x0d568642795637acL,0x728aa0f2e00d6487L,
  76171. 0xf8f49bec3e20b8a8L,0x65d71712de23750eL,0x00000000000001fdL } },
  76172. /* 50 << 28 */
  76173. { { 0x73e49f63e25b0952L,0xb877a9e56030d626L,0x3ce843972e0cf3a4L,
  76174. 0x3d1a2de214820b67L,0x528fcf23c2261e9aL,0x8a9318e1c47264bfL,
  76175. 0x87331e933d4a4fe5L,0xc5f4d3321ad39c92L,0x00000000000000e1L },
  76176. { 0x3c22a52df23bdfd4L,0x78a4fe92df000b45L,0x359fa4c23eef9355L,
  76177. 0xebd16e3f4c272143L,0x661c7c241736536cL,0x72a7416408be5d5dL,
  76178. 0x417ef58e88a433ebL,0x79f30b9d3a0aa85cL,0x00000000000000d0L } },
  76179. /* 51 << 28 */
  76180. { { 0x968f8fd66f2f9e3cL,0x0dbd79fc8adb4e50L,0xf78190a5bc410644L,
  76181. 0x0167515013eafb09L,0xaf9a05602b728353L,0xed98a1b3fb685f2bL,
  76182. 0xe07d0806e04f3502L,0x6607fe2785954a39L,0x000000000000007cL },
  76183. { 0x7169286c817b5efdL,0x8cc453557b7f8a16L,0x0c3339433f68a9c3L,
  76184. 0xf6f5c92ef13d3edcL,0x1e09ef6cd115e7cdL,0xad3b1ba9f6271d3fL,
  76185. 0x4cc6ee4fc6be55c7L,0x32cd2db2e20d8022L,0x0000000000000151L } },
  76186. /* 52 << 28 */
  76187. { { 0xa2b57e47ee31f1eeL,0x35ea17041c5d6c0eL,0x5e23fbd525856990L,
  76188. 0xb560d2e20908d00dL,0x5c0804d5b516dceaL,0xb84fd1cf6a938abeL,
  76189. 0xc1f15c276ad24548L,0x42850a0f4de8022eL,0x00000000000000b8L },
  76190. { 0xcf3f0f8c86fac159L,0x1e9b9f2741cd1461L,0xc470786c27f36196L,
  76191. 0x8eb042646ab8c405L,0x237fb49506bbbc7dL,0x40c30b4714750e91L,
  76192. 0x9db7193bc17373a0L,0x597f1ea9b153e953L,0x00000000000000c2L } },
  76193. /* 53 << 28 */
  76194. { { 0x4fdf2cebc8434a58L,0xe2d310b11587a33eL,0x7870a0118476a5e1L,
  76195. 0x23a5c69ca4d72f4dL,0xc77d905fce3550bcL,0xd61a54a01c717549L,
  76196. 0xd97c3c91864059b2L,0xe1f1c2f0d6636fa3L,0x0000000000000036L },
  76197. { 0x312ce02a59481b67L,0x361cf25529cb2c16L,0xa6cb28f9c8ad1e71L,
  76198. 0x82729b40b59d68f7L,0xf6d4ac7bb8b4e098L,0xb4993a2c711612b7L,
  76199. 0xac9ba748b7a1e41aL,0x5418d9a322a5eb87L,0x0000000000000005L } },
  76200. /* 54 << 28 */
  76201. { { 0xd89fc40850c82edcL,0xa41578bad7465868L,0x6fd92f67c937ccbcL,
  76202. 0x7564cfdc2467d5adL,0x32ba16a72b4babafL,0xf6ff32a4cfe6d562L,
  76203. 0x2797b1689ef2ceb3L,0xb7a640f2f578b176L,0x000000000000008bL },
  76204. { 0x4f319670b8ca6146L,0x972e72a0742476efL,0x7bfd9206f2f25ce2L,
  76205. 0xc68027e007eae81cL,0x2eeb468847fc7d16L,0xaa08354f502dda1cL,
  76206. 0xe3137c68ceb141ddL,0xe5e27505d1f6ba8eL,0x00000000000000f9L } },
  76207. /* 55 << 28 */
  76208. { { 0x62a6970950bee1d4L,0xd1f4674013839f16L,0xab48f6f44cb023ecL,
  76209. 0x683371fa89ac6079L,0xec8abd69ca14e962L,0x3f2a8f4619f6cf07L,
  76210. 0xd2ceec98cde7fef2L,0x4615e03fcac0741bL,0x0000000000000196L },
  76211. { 0xcfe7cdc5821caba6L,0xbd82d1481006abb4L,0x5725410af4919b55L,
  76212. 0xab26f4c1af20960eL,0x1bef3c7b9558b455L,0xa4b2fad5d098a394L,
  76213. 0x9a656c097f01c091L,0xdc7048d7fa70a8d2L,0x00000000000001efL } },
  76214. /* 56 << 28 */
  76215. { { 0xcd4f21b88df62d16L,0xa99200834bc94f02L,0x95211c6856a37590L,
  76216. 0xc933ae22dc0e83d6L,0x8e733582aa26236eL,0x129991995e6f68d9L,
  76217. 0x43f6cb3853e4cbe4L,0x6d14bf9948098f89L,0x0000000000000177L },
  76218. { 0xa3e3899f9173bb49L,0xbf5bc771d1969f3fL,0x09207ffae5b5b91bL,
  76219. 0x29d14eec974821e1L,0x0d3fdde868cded21L,0x4d99062ac9895973L,
  76220. 0x836aaeee85928705L,0x9ca8345688cad913L,0x000000000000013cL } },
  76221. /* 57 << 28 */
  76222. { { 0x7b16f87dcace418eL,0xd2a74c4165a2b019L,0x95ec1e15c7d4681aL,
  76223. 0x01c830f417e4aebdL,0x0de6f0ba401c8bc1L,0x8114c81627d5149fL,
  76224. 0xa01d3c00882054d5L,0x2eca68b0abf0dd69L,0x0000000000000105L },
  76225. { 0xe2858d41a6369d0cL,0xdc444fb36d9ac709L,0x8d51a6eb2ea50b78L,
  76226. 0xc3c1f95e17149666L,0x39e712190439bd89L,0x5f3e04cc1fa5b6d4L,
  76227. 0x40c776d524944156L,0xf7859b8892597750L,0x00000000000001ebL } },
  76228. /* 58 << 28 */
  76229. { { 0x18a3a3122877dcf9L,0x4c57231db0789aa4L,0x1f9758d9f4e77a15L,
  76230. 0xc5c1c2ddea02469cL,0x4f33f024035a3628L,0x33b60b241bf0ca55L,
  76231. 0xb957e710bdd64bdbL,0x96d0abb164b24ecaL,0x0000000000000059L },
  76232. { 0x0b9145eaa2035647L,0x929ac0d3196cc1d2L,0x0daf403c10192c2fL,
  76233. 0x7250de726ce0a385L,0x5027595cc2217f3eL,0x7650cda46818396bL,
  76234. 0x7df3f9df94ef5f3fL,0xf9ce383e3e9c1a38L,0x000000000000010eL } },
  76235. /* 59 << 28 */
  76236. { { 0x80307b9548f639d7L,0x089dd1b7fada9eb1L,0xc0f43d7948380214L,
  76237. 0x2cc2421afbf50727L,0x24111e56f3ae1323L,0x33dfbad162541943L,
  76238. 0xfa604e1b9bf30a36L,0x3a41e9980ca23f2cL,0x0000000000000051L },
  76239. { 0x463d1718e369ad8bL,0x4b789649cbdad74fL,0xd921f71d3229fa15L,
  76240. 0x179d3710aa4ffff0L,0x347a47e251e078e6L,0x79ded1a24aaa0a8dL,
  76241. 0x93fba0dacc6d871eL,0xf4b3e8f626309221L,0x0000000000000158L } },
  76242. /* 60 << 28 */
  76243. { { 0x0220cc1183aab8fcL,0xb66eba5bd21536a0L,0x7f537a8dad7476c7L,
  76244. 0x6250e935d154a65aL,0xe3e8bf57ecf46b3fL,0x8f3f800bb0133ba3L,
  76245. 0x3b16a5be59bfbdb8L,0xe575b5ca3f0f52efL,0x0000000000000096L },
  76246. { 0x41211e957280531eL,0xc1287776078368adL,0xae87eec633a5db39L,
  76247. 0x2d076f221846c7c5L,0xe11fe8f1bbe5f70eL,0x7cb1cf6f8bc46087L,
  76248. 0x5c2a40382eb6325dL,0xb0aa793ef76b0b80L,0x000000000000018aL } },
  76249. /* 61 << 28 */
  76250. { { 0x2d5e2db75759d562L,0x036f50c2f0d645e9L,0x5a2f49d295e73061L,
  76251. 0x43a6194ca19819ccL,0xac1f9da3bdf2a175L,0x5bc51f5ea6e0386bL,
  76252. 0xd932dc0aca202aadL,0xab9d361dead9e506L,0x0000000000000179L },
  76253. { 0xc3fd69caa5500bccL,0x35ec63c388bc2b00L,0xaccf525c4e34d8b0L,
  76254. 0x7689d112db03dce1L,0x6686d2b5ebcfdfc4L,0x6cea5f5186d46983L,
  76255. 0x52e8e77117e4417fL,0x279048cbca4c2157L,0x00000000000000eaL } },
  76256. /* 62 << 28 */
  76257. { { 0x5cfa362a96323595L,0x10d1ad380b2a3e9dL,0x59baa91aad12493cL,
  76258. 0x0f5bb9d432c9bd68L,0xac141dcc0464141cL,0xc3d395e08460a809L,
  76259. 0x6919e44f14719d6dL,0xa66fc8237e5aa5c2L,0x00000000000000a4L },
  76260. { 0x7d4fe91ad7fb6604L,0xf0cdc6166125d587L,0x52bd3f11ba69e22bL,
  76261. 0xbcb33f67f9af69bdL,0x4f3824ca3296150fL,0x2490712b2ab3bf72L,
  76262. 0x561da32946d6d180L,0x1a7607b4bb6fe954L,0x00000000000000c7L } },
  76263. /* 63 << 28 */
  76264. { { 0x6f5340ce32ebce2aL,0xf8403e09331393daL,0x4cedd42fd5eed810L,
  76265. 0xd697d934f24a2dedL,0x7253178f7f2eed40L,0xf637a3c22e487a59L,
  76266. 0x3a562449230bbe9eL,0x7ee1c93313a9f00aL,0x00000000000001e0L },
  76267. { 0x3e9c3f430c67ff5bL,0x415d74ea77e94e6aL,0x4ce10a8fdaa7e03eL,
  76268. 0x3a38ac77ca7e82ebL,0xb63762010391062dL,0x9e261b95276309b3L,
  76269. 0x33787055f4fd6e43L,0x0655512a1e763082L,0x0000000000000114L } },
  76270. /* 64 << 28 */
  76271. { { 0xaed480e002f799d8L,0x021a2f24d635c04cL,0xe49a60d8004d0abdL,
  76272. 0x58ab8fb04d8873bdL,0xf36a43c81ecd98f1L,0x555f15c4cd2f93f7L,
  76273. 0x295d868d4eb95e03L,0x1aa8e425b50553a1L,0x00000000000001deL },
  76274. { 0x2efce59878fcbf33L,0xc499e9fdf4e93711L,0x0f5220ad0c6e6fadL,
  76275. 0xed0d0a9b9fc9da8cL,0x84235958f7813802L,0xed21398e62729b3dL,
  76276. 0xdf6c25ab3c9bb158L,0x87d306d9edd78e48L,0x0000000000000085L } },
  76277. /* 0 << 35 */
  76278. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  76279. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  76280. /* 1 << 35 */
  76281. { { 0xa0bede1baa9a08abL,0xa32364531fc48289L,0x27f83d5a8c4e95c5L,
  76282. 0xd4e05998a98b2122L,0xe4118aec7d51821bL,0x18ae6c6a883ce4e9L,
  76283. 0x686d2a6e0d65e4afL,0xce00c72768d87702L,0x000000000000004bL },
  76284. { 0x8c8c0c984c0b4b11L,0x09c31a00977e63aaL,0x1999f20642100b94L,
  76285. 0x7314df12c4f0cf33L,0x0bb59f1a5f5da290L,0xf08e85bc03d4fd95L,
  76286. 0xcb0b361fd6fb0524L,0x9192a173f35d713fL,0x00000000000000b6L } },
  76287. /* 2 << 35 */
  76288. { { 0xd23357cbc11b2a0bL,0x70de0d3fb179a631L,0xb57a0fad122b12b6L,
  76289. 0x3203600f78489416L,0x99fe0b86d26d2267L,0x36f3262f3b9deed0L,
  76290. 0xb6e6116024a32dcdL,0xeabd7c06aa745047L,0x000000000000009cL },
  76291. { 0x3f277e18cdc4cff1L,0xcad81ada6eb7045fL,0x3f82d6dabb804212L,
  76292. 0x7eca837503b6a618L,0xda88796995f2970dL,0x21fc350feb3a7834L,
  76293. 0xfc332b6e55f9ac1cL,0x0d85b43418d4111aL,0x000000000000003aL } },
  76294. /* 3 << 35 */
  76295. { { 0x0a06f1def4fbe878L,0x09f64854ab82ebedL,0xce87ff16deccf5daL,
  76296. 0x8da229260c3ee54fL,0x9daecdb54b3b01beL,0x3235049383c3f13aL,
  76297. 0x83009a5fce924497L,0x02c32dd344f6445cL,0x0000000000000099L },
  76298. { 0x29fe64280889ade6L,0x53e62dea97b76d1eL,0x2bbd1dbc85849c69L,
  76299. 0x2b35472d511dd92aL,0xce302bb9a1200de3L,0x8da55e0b188c8660L,
  76300. 0x4beaf0cbb581d96dL,0xe8b2a18ff7b7e9a3L,0x00000000000001edL } },
  76301. /* 4 << 35 */
  76302. { { 0x9b7b7da8ccec2c14L,0x1ebd382dcf4fcf1bL,0x72a07d22f1c3f836L,
  76303. 0xef166de452992679L,0x5add8684088555cdL,0x61fbb803c2f8fff6L,
  76304. 0x7da8e738e52770faL,0x36a94145f9f2506dL,0x000000000000016eL },
  76305. { 0x50af6f099e6f7092L,0x541acac8bd540556L,0xf927547a616159c2L,
  76306. 0x4d2a84617c7dfe4cL,0xb603c320754fdadfL,0x0ada986235c19059L,
  76307. 0xaa95304ebe17a78aL,0x50f8baff41244129L,0x00000000000001d6L } },
  76308. /* 5 << 35 */
  76309. { { 0x260efac5aff9e319L,0x8e3650c87d4f1d91L,0xce7bee9d3b3fb7b4L,
  76310. 0xa6d415cc99eed5f6L,0x8041fbf9974686a2L,0xcfa2aa4f379d32bfL,
  76311. 0x920a936febfae5bdL,0xb75e33b8282e5ad1L,0x0000000000000050L },
  76312. { 0x979059cd6175e89dL,0xd630ac31f3da1ed4L,0x64f8fbb8d3225d27L,
  76313. 0xf78de657c1c566deL,0x6759e1cfd17fb6a5L,0x50864db03bc3a849L,
  76314. 0x225685c9365020c5L,0x16ef56abaae66d87L,0x000000000000013bL } },
  76315. /* 6 << 35 */
  76316. { { 0xa8187a5fc0c3e8aaL,0x89107b456dbae123L,0x023bb57a57ee86f9L,
  76317. 0x7b574f5dd0a5e4b0L,0xf832b673e8c79ce3L,0xc10bfdf66771037aL,
  76318. 0xf448e37efad2b5dbL,0x198293caef6701f1L,0x0000000000000070L },
  76319. { 0xee3e2714deb4db92L,0x5af53d653e2a9e0fL,0x8fe35f6e0fa38e48L,
  76320. 0xe512d6895dd085e7L,0x8b6aac03ead33215L,0x44cf0c3c6dda0f8bL,
  76321. 0x1d642848a861f599L,0xaae60d552d02dd4fL,0x00000000000001bbL } },
  76322. /* 7 << 35 */
  76323. { { 0x79710d49dbb8281eL,0x2296ca841e2a213dL,0x7f8e1a9cd847ec78L,
  76324. 0x158f24bed7aecd74L,0x571e8ca657b870e3L,0x8748e407df98feb8L,
  76325. 0x822192b857348ae5L,0x7eea8f745f73e93bL,0x0000000000000136L },
  76326. { 0xa56d856b87d43834L,0x9fe0ff564fd91500L,0xf52ef09924aebb47L,
  76327. 0x3c311496864cba01L,0x93d2bcd8a74253feL,0xfbd223f96fbb71dbL,
  76328. 0xa7776b83bb1badf6L,0xcbdd63a911f4e4dcL,0x00000000000001abL } },
  76329. /* 8 << 35 */
  76330. { { 0x6a7316dd5dc62efbL,0x377777eb824cf4dcL,0xe349e9457255c5a0L,
  76331. 0x64111cb9bf497e75L,0x1d91dcc714b1eaaaL,0x87ea1779cbcf5454L,
  76332. 0x070f848d42c890f3L,0xaaaf9a3881e4bc6fL,0x00000000000000baL },
  76333. { 0xfd521f1d853096ceL,0xa44cca3f3c8f7ac5L,0xd960927b3f30cfceL,
  76334. 0x0d30feb7c5999722L,0x5b0d38e22adc3822L,0xa00f4a022aed7af7L,
  76335. 0x1bc83e716ed4dd28L,0xba2213a238615d83L,0x00000000000001a7L } },
  76336. /* 9 << 35 */
  76337. { { 0x7df37450630874ddL,0x028f47c9e0e446b1L,0x1ca7c1c3881cd7a0L,
  76338. 0xbef2f5ce04bd0fa2L,0x6cb6bfe1bb0716baL,0xfe1d702d263901c7L,
  76339. 0x8537e484e098aba3L,0x9f5aa1332885a9ffL,0x0000000000000196L },
  76340. { 0x82ad05da072c7a4fL,0xaa09589418c27ca3L,0xc39c9cdde3b68587L,
  76341. 0xe94da9f0e85d5f74L,0x7287ea7df479ea5cL,0x7b4a94403825c3aaL,
  76342. 0xb8bfa948d0cc984aL,0x713f8cc029742546L,0x0000000000000073L } },
  76343. /* 10 << 35 */
  76344. { { 0x4a7912f4453a46d0L,0x1d2e76231c7cf115L,0x2208de2b8f29c610L,
  76345. 0x809daa6181e502b5L,0xa8f149fc6bd724b5L,0x38af43fc31ce0e18L,
  76346. 0xa2fdba97e8139cfbL,0x665271bd9eb155f9L,0x00000000000001f1L },
  76347. { 0x8b86fc468d28ea7aL,0x8cf2558a51d8fa58L,0x2c97c546d7ba83e6L,
  76348. 0xde7cf223acf26595L,0x7802038e4ce7407fL,0x95574ca7ac6b1de1L,
  76349. 0x98631057f0e9c573L,0x43fa05d155e8bd77L,0x00000000000000a1L } },
  76350. /* 11 << 35 */
  76351. { { 0x35492249be9bd7e4L,0xcafe206f52521c89L,0x47dc978d77be09a2L,
  76352. 0xc0ea0080ebf81c97L,0xc3e10de2694d91c7L,0x9811bc56772426ecL,
  76353. 0xd1f4fedea3e2d3faL,0x4305664eb53e0995L,0x00000000000000b6L },
  76354. { 0x25a3583d1be78b26L,0x8ddb19664de54cd5L,0xa766c88dde4b1b5fL,
  76355. 0x5b23a2a7fcd74bcfL,0x1ed2d0cd3a4784f6L,0x14020b80b6c02a2aL,
  76356. 0xec21146ed646ac46L,0x6896cbd4a392e47bL,0x000000000000000fL } },
  76357. /* 12 << 35 */
  76358. { { 0x6f3326291afb08a9L,0x9f159db2908c995cL,0xa36f91bb5e8dfd58L,
  76359. 0xa8ee1cd8736ce4d1L,0x45832ab2cf58ae21L,0x08ee6a41316e9061L,
  76360. 0x0e39db0b1a2ffc32L,0xea9414e1380323caL,0x0000000000000042L },
  76361. { 0xff010e54fc832689L,0xee1f4824c59214ecL,0x8ac0dc4a62b52f22L,
  76362. 0xcca082d2dba63497L,0x03b4dafd826e8cd4L,0xbc3c59580f8ac57aL,
  76363. 0xfa53329789525cb3L,0xc00ed59547ce0d1eL,0x00000000000000d3L } },
  76364. /* 13 << 35 */
  76365. { { 0x38ac2c1f27599c6fL,0xc8515670058fc921L,0xc95ee67684954ea1L,
  76366. 0x7d87418fc0523bbdL,0xa9b8cc71138ac6b7L,0x0230bfcbd4f818f0L,
  76367. 0x114c9539beee08eeL,0x32b57cb454435a17L,0x000000000000019fL },
  76368. { 0x997e7382d0b079caL,0xcd0eddd90952e376L,0x80c215bbc512362dL,
  76369. 0x0d7da33c06ac1492L,0xb6eeaf325c2720a8L,0x90b67f842106208eL,
  76370. 0x2e08a3ff7e0e56f9L,0x76e9b031c6afd704L,0x0000000000000120L } },
  76371. /* 14 << 35 */
  76372. { { 0x50c0ae1bbc78973aL,0xda11769b5afc5571L,0x72dca0e13989fc6eL,
  76373. 0x270e2d671f23be5aL,0x0c9d34d48bb2aef0L,0x37f07fdb48ef02f4L,
  76374. 0xff1c0206e0c549efL,0x9a62c16a6fd94255L,0x000000000000005cL },
  76375. { 0x368d1944785a3c92L,0xbab00ef3f92d17b7L,0xe8f15f69e6b2113aL,
  76376. 0xd58342fff6b46f5cL,0xa0edf615ada12adeL,0x12d90798e7b4926bL,
  76377. 0x284ca9e1671bba9dL,0x15def43a8ed23f9bL,0x00000000000001d2L } },
  76378. /* 15 << 35 */
  76379. { { 0x132dfd2814ffdde6L,0x9e0ba5fef2e1c419L,0xda21747db1dbfe86L,
  76380. 0xd0fadabd78a62587L,0x50ce9d488a2d37bdL,0xb4ee4b8999d70e25L,
  76381. 0x12ade8a38db8fbb1L,0xc03f3ecad2ef5fd5L,0x0000000000000188L },
  76382. { 0xfd17694aa2e6a2faL,0x1225dce9e3196a27L,0x25b09ef2a191bfcdL,
  76383. 0xe260325f7975942aL,0x3e62541bc98342fbL,0xdc572b5772876fc5L,
  76384. 0xadbbfef5c5ca0ccaL,0x16960b62028d57f8L,0x00000000000000d6L } },
  76385. /* 16 << 35 */
  76386. { { 0xd714194e2f415999L,0xa4b29d685128d8d9L,0xd1046cb83324ca57L,
  76387. 0xe5e6a47504828300L,0x9c5c4f6c694c18e9L,0x84d00de8d01e5707L,
  76388. 0x8ed94290bc2b3e66L,0xafe23a51ec6a6e31L,0x0000000000000141L },
  76389. { 0x2b996fae976e9c3eL,0xba0cc494be1288dfL,0xceb07fa6de8aab8eL,
  76390. 0x7f460647985651adL,0xee200258189376f0L,0x21f13320f9a7ac9eL,
  76391. 0x66a57bc58f3cd359L,0x7b13832775ed8259L,0x000000000000018fL } },
  76392. /* 17 << 35 */
  76393. { { 0xa54091b5fe742428L,0x9fb8d0ae9ec0b6bcL,0xcc9d3cfd658202baL,
  76394. 0xbd1360dcdec5a1f7L,0x62b0e1a8e8f09c97L,0x66efebd288db9d06L,
  76395. 0xe55656f90a30c3dcL,0x62ae035fed27ad52L,0x0000000000000190L },
  76396. { 0xdd740f0ce530b69fL,0x3d2642b8e83c5d80L,0xf42b632fcb53650bL,
  76397. 0x94ffb5fb97b9f17fL,0x446299b5b4231998L,0x43df639e2a9a71deL,
  76398. 0xeca5ac9a024e9ab0L,0xff1ee10a967d00dbL,0x00000000000001e1L } },
  76399. /* 18 << 35 */
  76400. { { 0x68d62207babd7e5dL,0x7618829b2368aad8L,0xd8bc9d594cb2e88bL,
  76401. 0x8f4545f76fb516efL,0x0a5769f13078ffdcL,0xa7ddbd1aa5fbf510L,
  76402. 0xc4c70ba312ba6fd0L,0xef602078f8e0dafcL,0x0000000000000016L },
  76403. { 0x6035217344f95785L,0x945017d70d3be590L,0xc12442d3ec7355cdL,
  76404. 0x57fd71d8b71b36eeL,0x65aeb2d8ced7c563L,0xcf050f810155581fL,
  76405. 0x6cf9c035b2f83a15L,0x302a86fc4cb4ddf5L,0x00000000000001fbL } },
  76406. /* 19 << 35 */
  76407. { { 0xd6296332f0be10e3L,0xaa891752113c0106L,0x3b36e13f465f6c3fL,
  76408. 0x90cfbe2263274782L,0x3c2b63160c7104f7L,0xa12c5ed0f74fb1bdL,
  76409. 0x6687e14716325f64L,0xeaf5b0a897e27f93L,0x0000000000000012L },
  76410. { 0x627645cc46e1d4f7L,0xfafd755a48296d3bL,0x5bb39b18554edbf9L,
  76411. 0xe91e5bcea18115ecL,0x292b808ed880befcL,0x2a8abf44b42f1efaL,
  76412. 0xfe48a1ec96bc93bcL,0x081792b8168933f9L,0x0000000000000077L } },
  76413. /* 20 << 35 */
  76414. { { 0x0e5eb14161f457e7L,0x92a3bacfeea01ebbL,0x564ad7678fc26d40L,
  76415. 0x4f48057b446b177aL,0xf1255b23788fcc70L,0x1ac8aeff459f99eeL,
  76416. 0x24731f8fc8af6c59L,0xc44122dacb32a633L,0x0000000000000114L },
  76417. { 0xce32416d6fad3db7L,0x59d803bd73ad309dL,0x211e641d0cc0c9aaL,
  76418. 0xe385bce0bcc90bbcL,0xd24b7461c6690793L,0x31d7bc5e4908516dL,
  76419. 0x268c54c4acbf7371L,0x95c7374121b9407aL,0x000000000000016bL } },
  76420. /* 21 << 35 */
  76421. { { 0x25a6ec1a4565257cL,0x56da9c6f45d4b786L,0x5200f490abb04ea5L,
  76422. 0xf553a6bfa633d526L,0x8a563d61827dc74bL,0xd459b61db4bc0d1fL,
  76423. 0xd0762e8ca49cce8fL,0x29c625e7ab89a9c8L,0x0000000000000091L },
  76424. { 0x4ce3b817f18f870aL,0x07ae3556c595c23cL,0x314772b0444d3dd1L,
  76425. 0x7f09c046fc8efafcL,0xed25d47e330b71bcL,0x604967dfcf801ce1L,
  76426. 0x67101fd2467cf3b9L,0x3ec2c9be15a86011L,0x000000000000005eL } },
  76427. /* 22 << 35 */
  76428. { { 0x5ee4bcbf9aa0a8c1L,0x3f701e41a37cddbfL,0x57790d50253a2decL,
  76429. 0x594f2c7ff30ec59cL,0xd104ac878a383d81L,0x28c238510097bacbL,
  76430. 0x961c3dc36de5b94bL,0x21b3dbc6dd673666L,0x000000000000004bL },
  76431. { 0x223f6e40bde60673L,0x8109ed96d88c2017L,0x3ce877773b960bf7L,
  76432. 0x36b20625e3dfdd86L,0xc959fc6a737dc9e9L,0x9f3acc42635e8d98L,
  76433. 0x4c171a9b4e87cf60L,0xec218d66033b148cL,0x00000000000000ecL } },
  76434. /* 23 << 35 */
  76435. { { 0x7f91a5a7bade2b11L,0xb2db06128afc083eL,0x17ac0a6acfbf6469L,
  76436. 0xf0a36b26bbf78b3fL,0xa69725b4b4b48af4L,0xda7604dc4099e049L,
  76437. 0xeaafe16b1c309bb4L,0xf50567b89f231c92L,0x00000000000000feL },
  76438. { 0x4fbc4f36d6af3953L,0x704506374fa5818dL,0x71c67575b7d018d2L,
  76439. 0x1ed130f60d98cd48L,0xbba32ed1f5abe4f8L,0x90a0d5512ef01ac1L,
  76440. 0x45da1ef510ba9c66L,0x28d732789d8a6865L,0x00000000000001e9L } },
  76441. /* 24 << 35 */
  76442. { { 0x4b52f6fc34afd3ffL,0x246423c4e0c6879cL,0xd21db87bae1f9e19L,
  76443. 0xdb92edd51b56152cL,0x4a4aba09d420e95aL,0x21e9b73d912bbaafL,
  76444. 0xc22a8b330f004632L,0xa90e4438f3b78c5aL,0x00000000000001abL },
  76445. { 0x7bb69d03a21ab7cdL,0xb0658b924a91742bL,0xd7386c4d4adc7123L,
  76446. 0x981e8258ee6c6852L,0xb2ae71400efe8332L,0x5b91d439245b9f6fL,
  76447. 0x8f2118290fda3b1fL,0x54beff28842e2ae7L,0x000000000000006fL } },
  76448. /* 25 << 35 */
  76449. { { 0xe8b3dacc713db46fL,0xcb8349a7f7365288L,0xa68504d17f939e4bL,
  76450. 0x51411b60ddbe781aL,0xf7a8ba4b0fac5648L,0xed3a51aa99f6d936L,
  76451. 0x4ba023ffd3588b2bL,0x16e53adf129cf4e2L,0x00000000000000c6L },
  76452. { 0x02ca237308fbb8e1L,0x90ae9b6d0b60e3caL,0x6776eee587d8385aL,
  76453. 0x0d6b1b9314bc9d4aL,0xf68d1f6c8be2915fL,0xd0e01dedcaf0f0b9L,
  76454. 0x31e1a76c60db9ce0L,0x882c3e86268d5f62L,0x00000000000001adL } },
  76455. /* 26 << 35 */
  76456. { { 0xb7715ceaf14e77a5L,0x30b15cbf85d3eae0L,0x99aada434b1d66a7L,
  76457. 0x11e13473f303a321L,0xe075d04ca3c2fa64L,0xb02855205f4d07aaL,
  76458. 0x3d838d13e5d0dbd5L,0xd65785326adca13dL,0x0000000000000082L },
  76459. { 0x3785f4d05fa73d0cL,0xfaba0633c4098f4dL,0x9d0a4e294f749d9cL,
  76460. 0x5966c3debe4319fbL,0x97e059ae1a5367dbL,0x0333cfc26fa3debcL,
  76461. 0x38e9675b283be3d5L,0xd800fdc824d7367aL,0x000000000000017dL } },
  76462. /* 27 << 35 */
  76463. { { 0xe425802eb9ecf83eL,0x67179c5efe330a56L,0xa25d8b602db73eacL,
  76464. 0x6e954907ce31e6bfL,0xef2500fedf0e3b24L,0xacd2851f01fa4396L,
  76465. 0x836d694c844ce475L,0x1a7d6c59d48a71ebL,0x00000000000000ebL },
  76466. { 0x25d87aac9839f111L,0x09fa18f8953ff5f0L,0x9b079ca013ca276cL,
  76467. 0xcfa23f4558b56ba5L,0xbee77e5598b2b4caL,0xc8c1a305977b27daL,
  76468. 0x8481c92fbcc31ad3L,0x88afda5311734146L,0x000000000000010cL } },
  76469. /* 28 << 35 */
  76470. { { 0x7532ad64b77714eaL,0xaa8b0d323e2ce07eL,0xaeaa4744b51e888cL,
  76471. 0xfd08f7188e7b5816L,0x57016828e993b6a7L,0x69a9d410ebc5408dL,
  76472. 0x2c0a373da91c70a1L,0x5b583311992d9800L,0x0000000000000197L },
  76473. { 0x93f02d300402323aL,0xeefa9c5481b765f8L,0x99557a399c28c31cL,
  76474. 0xb410e5842d8a08a0L,0x70568fa7fe1a202aL,0x4ac9eaec07bcf04cL,
  76475. 0xe4f69dc4367c9a04L,0xb483bddb581e3bc5L,0x0000000000000178L } },
  76476. /* 29 << 35 */
  76477. { { 0x54c022d2e7b598dfL,0x79e2cccef073700dL,0xa5336c980669c555L,
  76478. 0x27cdeec12dc4509aL,0xcfed8ba84197e364L,0xd45ef416e15c075aL,
  76479. 0x29454994f444e86bL,0x799e40a7cb4d8ee7L,0x0000000000000060L },
  76480. { 0x0000babdf8d904ecL,0x7653dc720e4e5eb3L,0x0d0087d05b6f7b42L,
  76481. 0x38be9b10a6df9d85L,0x1240afd3b918bb23L,0x23d4f0c546176345L,
  76482. 0x8242efed0c47ed2dL,0xd81070a93597fe3eL,0x000000000000002fL } },
  76483. /* 30 << 35 */
  76484. { { 0x1a52836470b32e66L,0x5b76dabb0e9b3086L,0x48b57c94382fa85dL,
  76485. 0x49de76759cd9f361L,0x6c744071b5f63c2bL,0xb7067ebbe741cfa6L,
  76486. 0xa95efc93702d19c9L,0xfd647a47cb409c01L,0x00000000000001c6L },
  76487. { 0x4c31f670f9f06368L,0x775b1698a075c748L,0xfb6cbb0fe7656e7dL,
  76488. 0x69c0f805da1881a5L,0x1267496cc2fe6b31L,0x0612fb94d8926ee1L,
  76489. 0x561807476cefc9dcL,0x5518665cf90f2aa2L,0x00000000000000e4L } },
  76490. /* 31 << 35 */
  76491. { { 0x64d0965b1258699aL,0x4318a056f7bd1b22L,0xe86e065bcbafcc09L,
  76492. 0x7607f0446a179875L,0x368d4f652cc4b9b5L,0xae4dd2ebe34674b6L,
  76493. 0x8ff7af5a487e0831L,0x6c65f9af48388679L,0x00000000000001f0L },
  76494. { 0x30078bec2c49e55bL,0x353adc525131ccecL,0x1a60d3e32e7e4f72L,
  76495. 0xcffb559b0d8f9cf7L,0xf7ba89a6b2eb6515L,0xee0b6927ba852015L,
  76496. 0x691a678d8a982a09L,0x70d6cf66d8d36085L,0x0000000000000178L } },
  76497. /* 32 << 35 */
  76498. { { 0x1683448de93ef527L,0x158fd9220e5b6f98L,0xcd0bcea6e23f2fa6L,
  76499. 0x455d35de15982d3bL,0x2fc788d7bda98d71L,0x65d44c08f139b889L,
  76500. 0x219749fd4105fd65L,0xa9ff816ae02f1fd1L,0x00000000000000f0L },
  76501. { 0xa2a53148e55948cdL,0x2d952f500cc0a0b5L,0x26f77e7161839836L,
  76502. 0xa8bf589aad87bb45L,0xaf21e0fc6a9296e4L,0x917881207d394e96L,
  76503. 0x47f3d38968622361L,0xf17141da090a8cb2L,0x00000000000001b6L } },
  76504. /* 33 << 35 */
  76505. { { 0x01279781a9d1af36L,0x135633e6209d1854L,0xca9959c34bcc2c26L,
  76506. 0x9ea2bc68a8553b2aL,0x5f97d137804b7466L,0xa1790fc774b3739fL,
  76507. 0xe150cdf4830b9a2eL,0x3b7a3f5850e4d1e3L,0x00000000000000bdL },
  76508. { 0x75a53d5299105ebeL,0x4fafc9b8bd00206aL,0x9fadf1e5d48baa99L,
  76509. 0xcd2c901c2526d67dL,0xc2888298bf4b9ef1L,0xa185bc6b5615d788L,
  76510. 0x66f7aae4c02b90eaL,0xb58dfd6d544bc9c7L,0x00000000000000d4L } },
  76511. /* 34 << 35 */
  76512. { { 0xbeac5a04dc3598afL,0x57afe9de8974646fL,0x729e165d14018728L,
  76513. 0xdb5aa250c48f69fbL,0xbd3732ca6a2a9532L,0xfb8b66ed0953ae9cL,
  76514. 0xc4b2791764a63ee2L,0xb3cee5a7b501889fL,0x00000000000001d5L },
  76515. { 0xf01d492bc01b6386L,0x940d92c8f50d3221L,0x5fb0717d1df2850aL,
  76516. 0x53198fadecdc9e39L,0x3b43aaab37221dedL,0xa776ceb1fdfd723bL,
  76517. 0x795561a2d6f780ecL,0x0ddf9112bd9c4c20L,0x00000000000001f2L } },
  76518. /* 35 << 35 */
  76519. { { 0xb2b958b192246bb4L,0x9ec1fcb042a8ec26L,0x7d035e6622501d65L,
  76520. 0xef96b924dca60d56L,0x40aa7306904e72ecL,0x65df4ceb51cae3feL,
  76521. 0x5588726f2e43f4adL,0x01b8b3c1ae60824eL,0x00000000000000d2L },
  76522. { 0x274d226496d3ef76L,0x706cf68d25663f29L,0xe211735d2bf5fb14L,
  76523. 0x40d4f39b286e96f9L,0x2c31dc264a2cee83L,0x074f6ff7ccc7a3dbL,
  76524. 0x049ab010073b5faeL,0xe8f39718a3d95de9L,0x00000000000000b2L } },
  76525. /* 36 << 35 */
  76526. { { 0xa58e956bdb750655L,0xfe67d0fba11d4441L,0x802a67090052ef49L,
  76527. 0x7b37040d5393e1e1L,0xad57cd92a8bb9edbL,0xaedc34ed19bbc0edL,
  76528. 0xb8126e59b39c8f27L,0x6a9f6ff2bda531eeL,0x00000000000000d5L },
  76529. { 0xc8b6e197c6cd7feeL,0xd9b0106ebfc7cd1cL,0x3c0e289b85aecd74L,
  76530. 0xedb8f5b324b94e66L,0x3d0c40fa4ce2b7b8L,0x849aa40d48dca638L,
  76531. 0xd6fc723dfa48d109L,0x4515db8af5dd0476L,0x0000000000000193L } },
  76532. /* 37 << 35 */
  76533. { { 0xb0683294383e3ce8L,0x844dc47e33ed51a1L,0x50c94e00d5996d55L,
  76534. 0x267925bb3bd6b4f2L,0x604bd4192b0e3cc3L,0x52095d9846421982L,
  76535. 0x55192496666ba499L,0x606df30c07e53b0dL,0x0000000000000092L },
  76536. { 0x3f2abad16f768ae8L,0xf2e7735ad41589c9L,0x61e8c3dce8516d55L,
  76537. 0x28e7a45b76303e72L,0x2b702b792e5c0204L,0xdf2882d56c2ea1b0L,
  76538. 0xebb4aaf6636de2e3L,0x9004996c994b5397L,0x00000000000001ffL } },
  76539. /* 38 << 35 */
  76540. { { 0xcc3ce574ac6839afL,0xd81a4213153dc2e1L,0x64829f778956f5daL,
  76541. 0x884a66eb32d3dfacL,0x9a52938ce79ff6f0L,0x0d56f215990e8a04L,
  76542. 0x723fbeb5a65e0186L,0xf97b1537897e6514L,0x00000000000000bcL },
  76543. { 0xf78198881229ee99L,0x08bf9c3750e4f43aL,0xf0b1d230513be81dL,
  76544. 0x8d920ee5da4f7856L,0x9e796bc35527eb47L,0x55d5a35111049ee3L,
  76545. 0xbb55397b9ccf6b0dL,0xfd8390b6d17e55b2L,0x0000000000000180L } },
  76546. /* 39 << 35 */
  76547. { { 0x8234b440d5d9e622L,0x32e428882d0e1ea8L,0xe6c81ec8c99d38ebL,
  76548. 0x699cd82e1c6911f6L,0x6de7dd4f91d95087L,0x61e4d9397e50aea9L,
  76549. 0xf41214b481faf2c5L,0xc1542f137ad1dfbcL,0x00000000000001caL },
  76550. { 0x17093e561e2098e1L,0x6971fadfde3dc089L,0xa5dd0f64be5223dfL,
  76551. 0x8d77620a6d9a65adL,0xc3f34c417cbf0ed6L,0x7d4db21d9d25c237L,
  76552. 0x09ca81b6e8037141L,0xc7fdf36262a876abL,0x00000000000001b9L } },
  76553. /* 40 << 35 */
  76554. { { 0xb817b9d19327a3feL,0xdf8ced7438fc86a0L,0x2f4869ed9e7c4a3bL,
  76555. 0xc669a7c7022e4d73L,0x0712075affe0fd8eL,0xc59f461860ab5941L,
  76556. 0x4c87781b6b168844L,0x0500f12a63e6a599L,0x0000000000000105L },
  76557. { 0xdf244b348e82038bL,0x78b822897d03382eL,0x8a995d805630be38L,
  76558. 0x217987bd6eec82f1L,0x58d1319f3e083c91L,0x21230442c486ee90L,
  76559. 0xd86f468d72c75e0cL,0x18abe0c5258783d0L,0x00000000000001f9L } },
  76560. /* 41 << 35 */
  76561. { { 0x2cd9bc83a782ee3eL,0xc6a91ca1e958c3feL,0xa54debb7cef64e5eL,
  76562. 0x13b5af135fa73ebdL,0xbca16674c51b44e7L,0x338f4db0f95d0250L,
  76563. 0x180e25555828c384L,0x6986868c0f86e48cL,0x0000000000000191L },
  76564. { 0x142eb0de6eaa2da6L,0x9637e5a057a6f82cL,0x7d8f0f3eb84c21f7L,
  76565. 0xa3ad6bbcd40afd1bL,0x1a3cd6cdc1aee54dL,0x279abcffa6b9ea25L,
  76566. 0xbd7ea9b9bada8b66L,0x326276b4e718fe19L,0x00000000000000f1L } },
  76567. /* 42 << 35 */
  76568. { { 0x65ac0bb815dc08a4L,0x9b10b48fc7249272L,0x2f699538403ae1cfL,
  76569. 0xc4f720464df2cc13L,0x17bc249e14a28ca6L,0x8df067e5a41e3e9aL,
  76570. 0xebbdab21cf185139L,0xe1eb3c38424aadb7L,0x00000000000000ecL },
  76571. { 0xb6e0e2277b05b001L,0xc762d6e11470a2b5L,0x6bc7a06efd43bfd1L,
  76572. 0x5a47815c8ded3264L,0x1c717f27bd22d935L,0xe646d0b9b9dd3b0aL,
  76573. 0x214767e6b264d058L,0x02cd9ec33f311afcL,0x0000000000000060L } },
  76574. /* 43 << 35 */
  76575. { { 0xc955625993b6ff60L,0x86bf8b7f7fca1753L,0xb14d3c3b96187d86L,
  76576. 0xab1072c272d71a34L,0xce7cbb0d13fdfdc4L,0xae9ae97bd5bd0917L,
  76577. 0xf3f150fb81d80e76L,0x5c972596c81ad986L,0x00000000000000b5L },
  76578. { 0xa46c1d9b50ed6bbdL,0x7d7a19d1be2ea4dfL,0x60b07dd08bbf9adeL,
  76579. 0x6588d7bf1aa70d31L,0x289483929a089f74L,0xcf439ad0c4f70486L,
  76580. 0x8753838310931614L,0xef1f89c0cfba8634L,0x00000000000001b1L } },
  76581. /* 44 << 35 */
  76582. { { 0x830e21f1e0d139ceL,0x999277dabb3c2b4dL,0x61d61a69008b64d7L,
  76583. 0x3ea63636ecc3e4e6L,0xf278f8248d368e08L,0x5b5021ec52c1a135L,
  76584. 0x49d77b1348ac51c4L,0x75a6dad231d8b33aL,0x0000000000000184L },
  76585. { 0x8979245368b03863L,0xeee0ec59459c5d13L,0x2215a723a762a714L,
  76586. 0x3c61664047adac25L,0x3ea9bf8cf74e1d76L,0xe81f677183aef634L,
  76587. 0xe90d300c801a214aL,0xbdacf70fbbdf6cbdL,0x00000000000000d6L } },
  76588. /* 45 << 35 */
  76589. { { 0x549ca8a62fc82ebbL,0x0966172fefb4da37L,0xbd657773f05f137eL,
  76590. 0x9273f3b9a0a14c1eL,0xae7674bea56d37c3L,0xe796fd98e7eeb54cL,
  76591. 0x690f7da335a31dd8L,0xa773d549f2bc1053L,0x000000000000019fL },
  76592. { 0xc61a2aee6e4461e5L,0xe788fcf6f11cab4eL,0x1e15e9ca7de73225L,
  76593. 0x203c64df06c82462L,0xb6c8a5f360b7c125L,0x10a30ced94087cf9L,
  76594. 0x244298d7aac7db9fL,0xadd593c3e38b5928L,0x00000000000001fdL } },
  76595. /* 46 << 35 */
  76596. { { 0xac92aa67efd692f8L,0x461a4f0414aa1b74L,0xf756506f6e0d1b70L,
  76597. 0x49b9332e7202c5a0L,0xd458392bf4a3eb34L,0x70a6f237903e034dL,
  76598. 0xf7e74bff376f0e79L,0x1bc49634e7406700L,0x000000000000003bL },
  76599. { 0x69e839c6aa0f8fe8L,0xa0b25fcee8e918f6L,0xf06f66d255fd9ea4L,
  76600. 0xe54dd6f4c525cfd7L,0x0fcb1d3e1bab49adL,0xfe97828a8d6460e0L,
  76601. 0xc8f87d5388be0227L,0x32bc6479a1578dfeL,0x000000000000010aL } },
  76602. /* 47 << 35 */
  76603. { { 0x05a8ef77b79714baL,0x221f14fe8c448461L,0x036b54d7ebb08ec8L,
  76604. 0xb1fe5c5abc4ae646L,0x68b64241fa20e161L,0x6c4ed74f692e9ad3L,
  76605. 0x906e788265157d53L,0x34dba9f715097f12L,0x00000000000001e4L },
  76606. { 0xc9480d587381885cL,0x028e2690706a98a3L,0xeeec9a743a34e3a5L,
  76607. 0xb249016cf655d964L,0x305946104c688049L,0x9e7bcdf9637460ebL,
  76608. 0xc1a40951e8f969beL,0x144d1507a47ffb9aL,0x00000000000000b1L } },
  76609. /* 48 << 35 */
  76610. { { 0x93f63503110a8e2cL,0x8bcb929fed94cafcL,0x44934ed35baa912cL,
  76611. 0x4dfc0eac7920fec0L,0xf2f642bb86b99a2bL,0x0e2e59bfd0903505L,
  76612. 0xcc44edd3ef99237aL,0x98cde5795af6f89aL,0x000000000000000fL },
  76613. { 0xf279af6dd1ecb2d4L,0x2c520d717a4ba4e6L,0xce33faea662b4f22L,
  76614. 0x5d2c6df333ddbc4eL,0x5c2f283138dcc3b7L,0xbeea8bbc5e64ea59L,
  76615. 0x434aad230772c227L,0xcd6d33c871062cecL,0x0000000000000007L } },
  76616. /* 49 << 35 */
  76617. { { 0x59bd148246810d15L,0xbc56caa70ec29531L,0x11fe2559ba32ad70L,
  76618. 0xcdeaf7da9b04c10dL,0xa556a5eee042abdbL,0xf5bada661c47b667L,
  76619. 0x134006e409d62e56L,0xede1067f8a871ddbL,0x00000000000001a0L },
  76620. { 0xe87c38b88ef287f2L,0xee72603243670334L,0xe21a09b60809c366L,
  76621. 0xaf24199e33fbad00L,0x99a879c66232ebebL,0xfb8b08a73b1c8edfL,
  76622. 0xe8cbbe4589ee6cf4L,0xf4ba2e5b2ecf414aL,0x00000000000000b9L } },
  76623. /* 50 << 35 */
  76624. { { 0x332d72a9ed527173L,0x4c71937716c49b89L,0x7a127d87b684d892L,
  76625. 0xedb45e899f77ace9L,0x68ecf908296cadb1L,0x917a4d8b8ce0247fL,
  76626. 0xc7c634e3094ff83aL,0x095bd5da5ccc4d40L,0x000000000000000eL },
  76627. { 0x27e9246e4f7ddfa2L,0x7ebad205fca8cbe5L,0xc99c9b0be453080fL,
  76628. 0x1896f632232df338L,0x2e0647ce4226a666L,0xac91062c634cd754L,
  76629. 0xf0df151c71368fc4L,0x53d1a5a831f38365L,0x0000000000000114L } },
  76630. /* 51 << 35 */
  76631. { { 0xe1e928f1f39f6d35L,0xaf73a1624b4eae8dL,0x599d1e428e29612fL,
  76632. 0x6e7b4c2da2bd2b03L,0xcaa94b7e5ee08f6fL,0x26452280a708c9e4L,
  76633. 0x4753c0e9eff87fb1L,0x9b9aacc612d79464L,0x00000000000001ffL },
  76634. { 0xece3bccc055d6691L,0x80f7b76baa64ed7dL,0x63a1053ef4adacb6L,
  76635. 0x3f5e833d69482071L,0x8ab2d2e776d37d8dL,0x7b4984d4509e5d79L,
  76636. 0xe5a32d95009cb254L,0x12f2ee9dde547828L,0x00000000000000ddL } },
  76637. /* 52 << 35 */
  76638. { { 0xeb1a46cb0fe7547cL,0x7ac12a6c6dc6c819L,0xaa7ee65698dfd5bbL,
  76639. 0xb28ce5904b306758L,0x4d7945bd2c268cacL,0x10ac23b8b94ae165L,
  76640. 0x6e1efae24834d9ffL,0xb2b5efa68220fd25L,0x000000000000001fL },
  76641. { 0xbff886d8844e5b7fL,0xc242fb3908602f14L,0x9f9bce94f58b4aa8L,
  76642. 0x80e46cc5c48583ffL,0xcf29272952d4ade0L,0x38f3ac0b3f65f345L,
  76643. 0x8ff60c1263b097e5L,0x35ecd555287b7dfdL,0x00000000000000d3L } },
  76644. /* 53 << 35 */
  76645. { { 0x278102a1a5b222e4L,0xdc5f6121b47a6032L,0x2d38216511dbcae9L,
  76646. 0xc63c21bf42bdb2c3L,0xafb68446d7dcac98L,0xe3685e2c3cd2e244L,
  76647. 0x414b4974731f6884L,0xd741f91c9dca2bc9L,0x00000000000001e0L },
  76648. { 0xd0a669e178ac8c45L,0x07fa58a7b7b43ab5L,0x5fd07638f2052d03L,
  76649. 0x4f0e4b2faa9999feL,0xcb9ac71370fd1eaeL,0x9410da48ebee3806L,
  76650. 0x7fcbdae832a700beL,0x488b3853abe7c10cL,0x0000000000000154L } },
  76651. /* 54 << 35 */
  76652. { { 0x8868bd8fe499eecbL,0xd00762e79257c00bL,0x4e58b972773fae1dL,
  76653. 0x0aff71c0bac2df50L,0x3ed0b4a37887e1d6L,0x627024cc558b9dacL,
  76654. 0x9e13a0f7c4135286L,0x4491810f6ebacef7L,0x00000000000001f9L },
  76655. { 0x6d08b913f5189d9fL,0x8312190a24b2fc37L,0x3c282ef702c1068fL,
  76656. 0x40cba7b5bcc75f8aL,0xb992a9c6dd4704f4L,0x437dc8551cf0f9d2L,
  76657. 0x7f902ae7786d0addL,0x464c08c2f6b23723L,0x0000000000000125L } },
  76658. /* 55 << 35 */
  76659. { { 0x153be35473256476L,0x632f6ad7cdbfb55dL,0xeacb063c1701fa3dL,
  76660. 0x711992817e50dabfL,0x8e70efe0e361247cL,0xeef996913d6c2584L,
  76661. 0x99342b365f1a7172L,0x82aa3e46a3be3898L,0x000000000000013bL },
  76662. { 0xb6926ffd3bcc0564L,0x80027de19f27bfb8L,0x0a6cec9deb09b4cdL,
  76663. 0xf952ee6b237c12e6L,0x20b2d4160475ed2aL,0x533c12b6f0643f11L,
  76664. 0x11bbdecdac6468acL,0x651e84e95b039866L,0x00000000000000c3L } },
  76665. /* 56 << 35 */
  76666. { { 0x90a60e09bd58611dL,0x19f9e897807acd15L,0xd14b65a53359e712L,
  76667. 0x3a8cd601ba2e3c02L,0x3ebf3dc780855419L,0x0ba3dcc9993da1c9L,
  76668. 0xd926fa9c763aea46L,0x5ee8f9003720bb78L,0x0000000000000094L },
  76669. { 0x9ab2f1db266ccac9L,0xc5c9efa5c6c9d71aL,0xe65768f4ba1a6c65L,
  76670. 0x80f0f12041ee29cdL,0x8fbbe2f2a9fda865L,0x678e08db3f325a3cL,
  76671. 0xd72a224576840159L,0x934c1904a4d8a7b7L,0x0000000000000108L } },
  76672. /* 57 << 35 */
  76673. { { 0xb8c07819e38a2661L,0xf92e9402c650e59dL,0x850a80f7d03a96cbL,
  76674. 0xf0ea0c7a76ee02d4L,0x02d96e07379b1ef3L,0xd5859369a8a6f8e5L,
  76675. 0xb4f7b27644e88c39L,0x8f739a71219c6d30L,0x0000000000000186L },
  76676. { 0xf88fbdd26ae83e11L,0x1fc231f84717aec8L,0xce4d216fe7ac9dc8L,
  76677. 0x8c12832abc741f40L,0xa80e842a9f5a5cb4L,0xb9bc23a867283096L,
  76678. 0xf430ff4d9f6dbbbbL,0x45c97a92f754b3cbL,0x00000000000000ecL } },
  76679. /* 58 << 35 */
  76680. { { 0x16ae9ad4b70d4afdL,0x9c91d2ff7b8ce81cL,0x3e1a68ffeaeff601L,
  76681. 0x99980d7d3c05df00L,0x96c29797ec215736L,0x6b6bf83e0a99316dL,
  76682. 0x8054259cf62899d4L,0x9f39008f36676143L,0x0000000000000179L },
  76683. { 0x2a1d68baa09fd65fL,0xb072da01ec5477d0L,0x140d29fa404cf420L,
  76684. 0xdea8aef7aeb69f20L,0xea9606763125f663L,0xa26de345935e02bbL,
  76685. 0x4c0152b7e9df1fe1L,0xda6d781f6b1162bbL,0x000000000000019dL } },
  76686. /* 59 << 35 */
  76687. { { 0xbb583f128d5542aaL,0x1e29f9ecad0e801eL,0x02f793efaccc9b85L,
  76688. 0x1860130f78b3365aL,0xc802165b57c401c1L,0x6f5837856b64648eL,
  76689. 0x78f10b17e6256a68L,0xcd0480700f5c43c2L,0x00000000000001b8L },
  76690. { 0x1e171d092dd5f89eL,0xc80605272a1458eeL,0x63b259191e335fe5L,
  76691. 0xddf7e4de6c2fe24aL,0x80d9ad40e1a3ca49L,0xba447a3c45a9751bL,
  76692. 0x79a8b213fbe20918L,0xf998902bbd826959L,0x0000000000000114L } },
  76693. /* 60 << 35 */
  76694. { { 0x4d0c9dda2123b077L,0x3719ed5f6ec3e16fL,0x76e14fb3c9becf2aL,
  76695. 0x7dc73e7accf6aa22L,0x0a75e100ff4a5f27L,0x2989ac9a67dc8054L,
  76696. 0xb33b298936f3d4bcL,0x0d79fbdf97f57f76L,0x00000000000001b4L },
  76697. { 0x375f79ecdba7f5bbL,0x74babfbe620e1045L,0xaab000d015cd82b4L,
  76698. 0x8d9157aa4d992702L,0x6bcd5a63d172ff7fL,0x21e3f97b1b8b959cL,
  76699. 0x441526998f55153bL,0x77e4a535e4da53acL,0x00000000000001fbL } },
  76700. /* 61 << 35 */
  76701. { { 0xc760c5eb35a8ed76L,0x8541ae9427f20985L,0x8a3d6f6810483c73L,
  76702. 0xd591830c3769b499L,0x398ce1dcc595ef94L,0xbc869a47fb6918d3L,
  76703. 0x9142551146b1edc9L,0xf492ed9dd2a4555dL,0x000000000000002fL },
  76704. { 0xd7e24885b950c177L,0xf90c3a0f3f6c9fadL,0x415add2251346351L,
  76705. 0x756021d26e45e3f0L,0x72d65b4ecbc2463bL,0x53f3c07f1d91adb8L,
  76706. 0xfd0b41b9a53cbedfL,0xf9a3af4ca9280662L,0x0000000000000112L } },
  76707. /* 62 << 35 */
  76708. { { 0x6a014cb6220edea6L,0x00dcaecc734585b6L,0x8d16a80d06d56992L,
  76709. 0x3aa9c24e844d8382L,0x71822c10f37e3563L,0xca2e4d4a8db2350dL,
  76710. 0x799322647ddafb6eL,0x8529609524430c95L,0x0000000000000125L },
  76711. { 0x8c63f30844734d8dL,0xf46aabb1d60d0ba7L,0xe8395fc9b18fc0c3L,
  76712. 0x042d21115a21c6b9L,0x1b5e8a27cdcb4261L,0x50632338e3efa848L,
  76713. 0x60640eddc6805c4cL,0x6273c772ea293267L,0x0000000000000127L } },
  76714. /* 63 << 35 */
  76715. { { 0x386e53df690f045fL,0xf7efec6f9776e13eL,0xd24ce88d1988fcf0L,
  76716. 0x0b5d478a3fc9102dL,0xc08a3154a9efc4f5L,0x06d0820155e4fb51L,
  76717. 0x03e1529886b656d1L,0x456f88bd833c233cL,0x000000000000013dL },
  76718. { 0xbba27abb7db3562aL,0x05c60b050a210d7bL,0xd46a2c3778da9e61L,
  76719. 0x7b6c46bc07fcae8aL,0x3993caae6c9035bfL,0x48e1c8d96b90aeb9L,
  76720. 0x01561d3435f0b54aL,0xe9cf0fd81ed47430L,0x0000000000000003L } },
  76721. /* 64 << 35 */
  76722. { { 0xa6149ac821a91383L,0xfae0515c63176a50L,0x436d0d6a696e3e7eL,
  76723. 0x3d44ea3eb32b2e16L,0x142644cc66f3bbe0L,0x697d5cef82322b00L,
  76724. 0x384543c64c388edbL,0x4afedcffd395d1d1L,0x000000000000002dL },
  76725. { 0xa7b35fac84cec5f9L,0x003daaa65d827e5cL,0xc7c5f3d3dfc8263dL,
  76726. 0x8dca1315d98790d2L,0xb1f54568f00346beL,0x3e6f6876de680d87L,
  76727. 0xde73e95b6af2e269L,0xa5969ec77e8fae93L,0x0000000000000185L } },
  76728. /* 0 << 42 */
  76729. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  76730. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  76731. /* 1 << 42 */
  76732. { { 0x747e8dddbc0ffee5L,0xa50f058afb9178a5L,0x14f41c93b2d52777L,
  76733. 0xf7c95492aecac13cL,0x9698bef3b7f715d3L,0xbd7fabc2f132c199L,
  76734. 0xbec856136e9b47a4L,0x08c7486e62f85cadL,0x0000000000000036L },
  76735. { 0x3a44d74eb39c9ba2L,0x22b4c6aee89de157L,0xfe4985bbb93dc56eL,
  76736. 0x85d435bfdd1201aeL,0xa01e7f53aa68d442L,0x2a4fcf509d9afcdaL,
  76737. 0xcc4c5b5c6b95d6f4L,0x5e8afa0e8c390221L,0x00000000000001c1L } },
  76738. /* 2 << 42 */
  76739. { { 0xaa498bba799e30a1L,0x7e193db1562eede4L,0x4dc49402f4a94bc1L,
  76740. 0xcb63d972c4d7d024L,0x98d59716f6778b61L,0xe6c0a829b40261e4L,
  76741. 0x5f1738fb65e3b28cL,0x3c4e80d216a75ce7L,0x0000000000000035L },
  76742. { 0x376d19ef733ded62L,0x9400e36e0a93203dL,0x013ef7caf98ba94bL,
  76743. 0xb7556ca035756aaaL,0xc6b8b05a2f643611L,0x23891b32438f759bL,
  76744. 0xecc9927e27f69733L,0x2ebe0180969ae58dL,0x0000000000000069L } },
  76745. /* 3 << 42 */
  76746. { { 0x9417c585174bac49L,0xac479ed35fe90109L,0x40cb51ddc374556fL,
  76747. 0x2767e7c46cf0ff89L,0x0df9e9546a284db1L,0xbf89af89b317ca42L,
  76748. 0x863018a69d05c5e5L,0xb68c6f8129717e9eL,0x0000000000000151L },
  76749. { 0x69a97e79a12e3bd5L,0xc85780bf4a057173L,0xab4d585f2bfaaeadL,
  76750. 0x039589dfaea4c334L,0x38823f8a9a840138L,0xe4448b345b0d8117L,
  76751. 0x9fc3060247e9d309L,0xf9f42989a44f2124L,0x000000000000004bL } },
  76752. /* 4 << 42 */
  76753. { { 0x6f7f2fe8b6813f72L,0x95f979fe940210f0L,0x42cbd8d71a409657L,
  76754. 0x2e2d2f08474c141bL,0x63e5eff052a6a362L,0xcd24503eb1c5a27dL,
  76755. 0x30335d77db08b256L,0x827057cf9724bebfL,0x0000000000000003L },
  76756. { 0x6b372ca7dc5feef6L,0x7557c331d06696b6L,0x4b10d90b4a42090fL,
  76757. 0x2c93e9846f10352bL,0x72ac24ff2b8ded01L,0xfa53f5dad8c833a6L,
  76758. 0xc166ed4b7c9354caL,0x81df59a09e3b4cf5L,0x00000000000001faL } },
  76759. /* 5 << 42 */
  76760. { { 0x3d37b5c3f1e8092fL,0x52f9d7f02083e034L,0x2f7de776ee86398eL,
  76761. 0x302298c9ac0cfc7fL,0x08b41a8f7f5bbbf5L,0x331ce968d91f52b2L,
  76762. 0x1ec1c1dc1cb43d1cL,0x6c93d72038545bc3L,0x0000000000000121L },
  76763. { 0x9fbb15c9f1925474L,0x2779a1a6c6e0020dL,0x367a921594e71878L,
  76764. 0x4a1ce464e2692460L,0xa3c5e4560c3a5aefL,0x5dc2ef3ced47ac93L,
  76765. 0xd27ada21415bd438L,0x90ca8c3166b0f5ebL,0x000000000000007fL } },
  76766. /* 6 << 42 */
  76767. { { 0xce8865dc68f7cf0dL,0x9734bed0051db980L,0x6c1ebfc3805247b4L,
  76768. 0xd80a3c973be516f2L,0xfdd123b9beafd70bL,0x6dec300ae3a84da4L,
  76769. 0xe6d7e14f24178c07L,0x39810dafc4a67c89L,0x0000000000000067L },
  76770. { 0xfea3bf4eb47aea7eL,0x8394f3c24a4fe2ceL,0x50753f252a191024L,
  76771. 0x39846eca1cc794e3L,0x6ce5aa37c806fa24L,0xacacd14890982be7L,
  76772. 0xbab241b1ed46b6b3L,0x7b696b06ecc56027L,0x000000000000010dL } },
  76773. /* 7 << 42 */
  76774. { { 0xda69cd2586c38b08L,0xfca9f4e06f3fb63dL,0x80d0a99f6a96c788L,
  76775. 0xd69615b854e77f31L,0x17eab3a318a78b2dL,0xc66044b4227cf99dL,
  76776. 0xd2ed45988076af9dL,0x2bfd33d7c6fdca97L,0x000000000000014aL },
  76777. { 0xd6701f8ed292c052L,0x0b5afccd75d952dbL,0xf6cb5727fc4b2866L,
  76778. 0x39ec93d2bb220367L,0xafb0b16b7c18bfc9L,0x198e2dfd9803aff0L,
  76779. 0xc5ff9fc4d2b124a9L,0x7ff8ab6a82414a7eL,0x0000000000000009L } },
  76780. /* 8 << 42 */
  76781. { { 0x8ce9e114e43c6a8bL,0x4ee9f8b0804168b8L,0xf5fffd5b5fa74509L,
  76782. 0x4589d84cdc20088eL,0x00cdb864d8cca5adL,0xfab8ee1674cb7285L,
  76783. 0xd5e46fc6ab702098L,0xcaeb2ef79cdb1896L,0x00000000000001ecL },
  76784. { 0xf5886bbc26b04438L,0x61613d0ed9567198L,0x749eb5d8ca99b91eL,
  76785. 0x5861944d53b41996L,0xdc22071c54df4765L,0x1f6288a8b8414aefL,
  76786. 0x6b34db2f7ff1c5eaL,0x5edf2873ff5262b0L,0x000000000000002eL } },
  76787. /* 9 << 42 */
  76788. { { 0x239a57b62bd9413dL,0x341d26f30136f66dL,0x9e4222cf78b3a484L,
  76789. 0x76a6fe313e227fb8L,0x9d724ac0af025ba5L,0xddc57fc691ab5699L,
  76790. 0x8b768f35e278e0ceL,0x485f7b177c12687aL,0x0000000000000198L },
  76791. { 0x3d6e79f4688c325fL,0x45b4d50680cb1ab1L,0x92f89190ab8640eaL,
  76792. 0xd70c0dc4e079ffe5L,0xa80c729bdd78e9ecL,0x2b7956208591ab90L,
  76793. 0x5cd2ea6e7f90dc9bL,0x7790417ef057c6c7L,0x0000000000000024L } },
  76794. /* 10 << 42 */
  76795. { { 0x3688c2cfb08b842dL,0x46e70a8b509af85bL,0xa580b032ae4e0ff6L,
  76796. 0xb945d72433674d0bL,0x58bfa0dbb95b1c05L,0x3e5e9d8e35ca8038L,
  76797. 0xe0ef29bd3ad503b7L,0x9f300fc22fae5708L,0x0000000000000148L },
  76798. { 0x7c225981128ae9feL,0x1d205a4dd0101b45L,0x95c33725f98e3575L,
  76799. 0xc2c9df812443a70aL,0x1be7bd1c134b6ea6L,0x70b8bd656f1a4e1fL,
  76800. 0x7d3e41455ee45a2eL,0x27bc05477e8f38cfL,0x0000000000000117L } },
  76801. /* 11 << 42 */
  76802. { { 0xd8495a1a4ffde107L,0x82acb1112b7f0d9cL,0xaf106329c3622c88L,
  76803. 0xe61140ff59f698b3L,0x75bd953659068866L,0x03d5841c591b7a27L,
  76804. 0x967eb69f7bdc7639L,0x504f158a5e4ec11cL,0x0000000000000137L },
  76805. { 0x4b1ed56a9f2d48a4L,0x9f0ade2220312abcL,0x07898cc964b74837L,
  76806. 0x082d0eea21d92392L,0x6c1103086781ebf3L,0xef9ecbe4e9ad8425L,
  76807. 0xbe46c0f330b02c57L,0x2b1d60726267db5aL,0x0000000000000139L } },
  76808. /* 12 << 42 */
  76809. { { 0xcb9e50b3cc6dce31L,0x0b656fda60399388L,0xd3104fa3600d4b62L,
  76810. 0x7cfc68acb660e0eaL,0xd8c2218add9f415fL,0xb3e0d7c626c649d9L,
  76811. 0x37e6279f4d09f7fcL,0xe9ef720e136ad787L,0x00000000000000e3L },
  76812. { 0x0bada672d03870d7L,0x553ef23f815592e0L,0xc1132ad8b8dd5471L,
  76813. 0xd8666e9fb80b521aL,0x38f49d542c62908bL,0x3095f1bec9f15b3cL,
  76814. 0x5aa771bafe8866d7L,0x0fa253a28590b3cfL,0x0000000000000015L } },
  76815. /* 13 << 42 */
  76816. { { 0x6e37d1fe56b126a7L,0xdb1215088ecf27a8L,0x3012eca692def89aL,
  76817. 0x03761cf976effd5cL,0x9b49af9365fe555cL,0xd4cd598969a41926L,
  76818. 0x506c406f65022be0L,0x4b49c23050baebc6L,0x0000000000000154L },
  76819. { 0x6fdd3549c425eca7L,0x42690f8c7dd8dd57L,0x866a6a5097938d4fL,
  76820. 0x6e77025f9055da56L,0x7ba19f35e0dd3935L,0x57a71e7db1e74f01L,
  76821. 0x4a9fffaa48000494L,0x5c18a259085743ccL,0x000000000000011cL } },
  76822. /* 14 << 42 */
  76823. { { 0xd38ceb253d23e873L,0x94c2501ab6c80ee0L,0x8d03f7c2d5c233a4L,
  76824. 0xd86ee22efb9f0759L,0x8b57c3981344aa31L,0x21f15c8d4b44d7e4L,
  76825. 0x22cba67334bf4ed1L,0x2d459d4f587690f1L,0x0000000000000038L },
  76826. { 0x3b954f93b9acda8fL,0xc41e5265e7721250L,0xc76c15110881961bL,
  76827. 0x2a0b4efd6e53d2c8L,0x350455dcec0adfc1L,0xd7ac97bd922255b8L,
  76828. 0x39d023ee4c4c50cfL,0x1fc03d079473b093L,0x0000000000000183L } },
  76829. /* 15 << 42 */
  76830. { { 0x57c3a1e1315a5a83L,0xb75058039091dc2dL,0xb9c26bcd9d320a7bL,
  76831. 0x13c81a8a12c8df41L,0xab970177f757a70dL,0x8f2be088a4a27340L,
  76832. 0x01636d7437506668L,0x940d42aa8a92e58fL,0x0000000000000025L },
  76833. { 0x32a6a8b7201c31e5L,0xd1c8f9cb0fcf80e1L,0x7fc5fd9302fcef41L,
  76834. 0xa09c4c02472f6386L,0x6a852fb75767dd02L,0x995703ec3d17f69bL,
  76835. 0x10cde7934fac3a32L,0xafa0f0edf71bbd98L,0x0000000000000065L } },
  76836. /* 16 << 42 */
  76837. { { 0x49d0e9bbf1a37365L,0x650f8e4e523ffafeL,0x37b691a0517b3aacL,
  76838. 0x73372e761824cba0L,0x0c0a1ac3063372e3L,0x2387470841aa63edL,
  76839. 0x1d70995daf840388L,0xea733e27491b2e8dL,0x0000000000000122L },
  76840. { 0xeb6e7c3b573b43edL,0xa645f29308f87584L,0x19a56fe0af100aa9L,
  76841. 0xb767ce92b1d5fdbaL,0xdbf9b1b20c349030L,0x42f0cdf3586e1ab8L,
  76842. 0x65876bea99631140L,0xbf016fd8268af542L,0x00000000000001acL } },
  76843. /* 17 << 42 */
  76844. { { 0x746b65d463a3307eL,0xdcff899fa57f17f0L,0xd9adca93946f6eaaL,
  76845. 0x0ebe65fc04756a3bL,0x2653a837dfb99071L,0x3a80de4c3b8ce452L,
  76846. 0xc64562cd4fff1594L,0x02dce3ea859d741aL,0x00000000000000e9L },
  76847. { 0x1a949222944de68fL,0x1535fa32a48135b2L,0x2691dcbf6a03cc87L,
  76848. 0x99ddb4450fb1f4e3L,0x621c99c2eee93dd0L,0xb9debe99ffbc6597L,
  76849. 0x64a5568250d2fbbaL,0xdeefd277ceda3428L,0x000000000000017eL } },
  76850. /* 18 << 42 */
  76851. { { 0x379bfe948e2cc41eL,0xef843d504cbaff27L,0xa541389d608dd952L,
  76852. 0x7b3cda475d24e091L,0xa66d480fd051a610L,0x082af70b435609c5L,
  76853. 0x00529182762a5791L,0x6f4651518460f5f8L,0x00000000000001d3L },
  76854. { 0x53c20bfeab267f94L,0xb8917621293967f1L,0x176c8af2c7ca82c7L,
  76855. 0x875c7792331a2dfaL,0x0a34cdbeaace8970L,0x2228eeade29878a0L,
  76856. 0x64ebbedcb9e6b75eL,0xebc8fa2c87e5fbcfL,0x000000000000001fL } },
  76857. /* 19 << 42 */
  76858. { { 0x677eec9a5c8cb438L,0x898a62466444b1f1L,0xfd46a21196472331L,
  76859. 0x7a4f96db39ad4d79L,0x24a03f04113e2f4bL,0xe39a949531a0af3eL,
  76860. 0x7efd887bd3774f4dL,0xc58e8360638e2e62L,0x00000000000001cdL },
  76861. { 0x8e289acabcd909afL,0x5c99d510d5131f29L,0x5d5122b8e85edbd9L,
  76862. 0x919b2e2d6e18283dL,0xd740dddc5070b20aL,0xea31401ae4d879e2L,
  76863. 0x14ff112abc0c3eeeL,0x1a6ad04b61dd98e5L,0x000000000000012fL } },
  76864. /* 20 << 42 */
  76865. { { 0x3133809747525f3bL,0x49551e31c6cdf694L,0xdfbe83625b9451f1L,
  76866. 0xfed9c23bee491931L,0x5270a02f324d645cL,0xe323781f4175d154L,
  76867. 0x31511e52ff475990L,0x0b60cda369b0445eL,0x0000000000000082L },
  76868. { 0x822e418092fa5405L,0xe78f939b6b4d67b8L,0x6f09c296265e1b54L,
  76869. 0xf6ef60ddb6baa0baL,0x1d83f2968be593baL,0x777e06327e71d499L,
  76870. 0x5db334162e0ded5eL,0x6800dc32357e1be4L,0x0000000000000077L } },
  76871. /* 21 << 42 */
  76872. { { 0x519d71ba17d9dbd3L,0x70caf81bde95e99aL,0x067d64fb20043aefL,
  76873. 0x533a02d15cd816c7L,0x662d9255fa0316f7L,0x7a04f551f523f7a0L,
  76874. 0x5e00f334ee1e5d9aL,0x246b5aebe7439ed3L,0x0000000000000132L },
  76875. { 0xdf48079568d4c2bbL,0x945bf6c579f10fbeL,0xe817703aa572433dL,
  76876. 0xd9c8580c61013cf1L,0x0e77739ac9d9bbe6L,0x2d2a8c7aceebe40dL,
  76877. 0xe5561526c853e2ccL,0xa6cf89623e9b763fL,0x0000000000000147L } },
  76878. /* 22 << 42 */
  76879. { { 0x284322075173f4b6L,0x774e95f84181e605L,0x36b97d1c4247bcb6L,
  76880. 0x46efcfce781dc2fcL,0x401d5ab2e22608d3L,0x6b854062c32b8fd1L,
  76881. 0xb99d2e90c0486953L,0xefcb9abbaa770dd4L,0x000000000000018cL },
  76882. { 0x44a667184ef47c94L,0x3a5e72bf4f3e8c89L,0xff303101df7dc70dL,
  76883. 0x4029bc66a63c3782L,0xf74a21b993c6a3feL,0xca320f1afb0d401eL,
  76884. 0x80d8bd7447c8d5c7L,0x20da72fc97e610dcL,0x000000000000014fL } },
  76885. /* 23 << 42 */
  76886. { { 0xe29af3f05a5540f8L,0xe1ce7efc815f0154L,0xe3ff74e8e67013a7L,
  76887. 0xc51d9c7ce89998d7L,0x93913371cde4787cL,0x72b290126ed58fccL,
  76888. 0x61f6d6b908f0c14fL,0xe3aafef0f44b2791L,0x0000000000000119L },
  76889. { 0xc72229012a036f1bL,0x1ecbb2c2387c8c54L,0x6ee742220b32e10dL,
  76890. 0x51440a0c8a95e719L,0x3d20b7fb998fcd81L,0xf52f182651a10e47L,
  76891. 0xbac05579a9edb43cL,0x05aefa586b0f7532L,0x0000000000000143L } },
  76892. /* 24 << 42 */
  76893. { { 0x7992da26804ed5e3L,0xac4677b05fcc6497L,0xb1a09585208ebd95L,
  76894. 0x1c0cfae7199d3419L,0x7c862f540715a11dL,0xd23e934f9cab55b0L,
  76895. 0xfd5d250ad4310fabL,0x0976782caef426bdL,0x000000000000005eL },
  76896. { 0xf78b0a7a2a7d5b37L,0xf31c5594fedf69deL,0xb2b9e3f157f76616L,
  76897. 0xe9cfa2f23040cca6L,0x8a91bf0c5a72502eL,0x71f8a5b63c810d16L,
  76898. 0xc9701ce42a7666dcL,0x2da80d6c216a59c5L,0x00000000000001e8L } },
  76899. /* 25 << 42 */
  76900. { { 0x869a4db4310de1c9L,0x81d5423c32f9190cL,0x42e3244d1db414efL,
  76901. 0x09c8b865ced2746fL,0xd49a9c37e3ebcd63L,0xf0120bc11b4c24b1L,
  76902. 0xabf538a709b52979L,0xe04be5a8f0f3fce2L,0x0000000000000139L },
  76903. { 0x17738b903126b962L,0x723f5845c088121aL,0xe3d9c64015629c9fL,
  76904. 0x509e97d95b8dfc68L,0x578a3869fc16c27aL,0x1bab4b8ea2a47461L,
  76905. 0xe1443bf0c957e6f6L,0xe9cc17852bcdad9dL,0x000000000000002eL } },
  76906. /* 26 << 42 */
  76907. { { 0xa2f2f2c1f23794e6L,0x6f6281621181e396L,0x2e9bab64fced0d2eL,
  76908. 0x631f7e60c6bd7b02L,0xf0db7f12468fbec3L,0x854afaf573c8b79eL,
  76909. 0xf579fbedb0de4a3cL,0xee13e418678e1e08L,0x00000000000001b1L },
  76910. { 0x1c725f6e874ac8caL,0x85414cf3fbbfc22cL,0x5262e129ec3fb934L,
  76911. 0x6facf53f4a0f37deL,0x6811fea52216fde7L,0xf63e665515b977caL,
  76912. 0x63c2344877533feaL,0x2481232a38302196L,0x00000000000001c5L } },
  76913. /* 27 << 42 */
  76914. { { 0x5e06ff9c56e023ccL,0x8a89de8fdb3e3bc7L,0xa103d54745fa4924L,
  76915. 0x788c59a2e1c033e8L,0x4f7c33e967f782afL,0x2f37668d9ba93c12L,
  76916. 0x73d6fb8aa10f70a2L,0xdca22ebded2fd7b3L,0x00000000000001c7L },
  76917. { 0xf6b6e6fbe8f38522L,0xcc7d7c45a5a249aeL,0x6a5235175bb4caffL,
  76918. 0xbe60043dbe38ee66L,0xf0dad8cd1c96b5f5L,0xb597c1546c3e4799L,
  76919. 0x3f06c2ab2c9871edL,0x4581dffb3963ae2bL,0x000000000000013eL } },
  76920. /* 28 << 42 */
  76921. { { 0x46fbcf70aad63226L,0xc023eb8af2c43f64L,0xab1b684ca3f42111L,
  76922. 0xc6262621d12cea22L,0xa2539d86ad523f98L,0x76b98970b45f0b6fL,
  76923. 0xf9874df8d788809cL,0xb24620c7ab358b89L,0x00000000000000c1L },
  76924. { 0xdd50316f92e3b976L,0xb6a2fed9ecdf1dc5L,0x746bb5d67f40b693L,
  76925. 0xb76ce9e40572240eL,0x5c65a823084f25baL,0x51ba6ed9b9890ec6L,
  76926. 0x3930dea2cad192d9L,0x2c78150416dd9bfcL,0x0000000000000126L } },
  76927. /* 29 << 42 */
  76928. { { 0x3e8797c7ef8491edL,0x7842b2dd5f13493eL,0x2c99f9363afa2890L,
  76929. 0xe3e157b785014501L,0xaea92ae17774f4f0L,0x05b7b3bc560e63daL,
  76930. 0x3d2b8875bf8030a7L,0x21095ef3004c61e7L,0x000000000000004bL },
  76931. { 0x203687226361e4fdL,0xc9d8ecca7cb95f1aL,0x1063e19ed5c7cc5eL,
  76932. 0x0bb0e71d020a9508L,0x5b895541fb092e99L,0xb1733fb8dae4a59cL,
  76933. 0x2a3ef56b29edfb53L,0x75c1ba1c389ab3bfL,0x0000000000000090L } },
  76934. /* 30 << 42 */
  76935. { { 0x0c3e572a0fc1e4e8L,0xdbded0b529787f66L,0x103a656853b84d7fL,
  76936. 0x939253ddc74bef10L,0xcc3f928f5bb84406L,0xbab921429ba6615cL,
  76937. 0x41a9b386cf35dcdbL,0x750c32e133bd6fc7L,0x00000000000001cbL },
  76938. { 0x0fc37bf5d0b0d141L,0x213a97d1ad59d2e5L,0xcc1dd07db86e3859L,
  76939. 0xb3b4668f4a229914L,0x258c47aac41c94f3L,0x51d26a397745d941L,
  76940. 0xebbd50931809b9a4L,0x9a31e3caa6f1976eL,0x000000000000010eL } },
  76941. /* 31 << 42 */
  76942. { { 0x12b398e7ecb584d1L,0x71379d000fd02cf8L,0x5d69a03de25d53e5L,
  76943. 0x724445bba9cf6c9cL,0x97942b084184b050L,0xd8e7770f8a903d8cL,
  76944. 0x23be2cd6e285a39bL,0xd8262c7f54e43dfbL,0x00000000000000faL },
  76945. { 0xb1dfd3321171711cL,0x91720264c55e34d3L,0x6c2fe07176ef48eaL,
  76946. 0x50a86d8419f04ea9L,0x21b234876ef9f5adL,0x2dd2953198ff68afL,
  76947. 0x2ccd5b31e5be2b6cL,0xdad0c4408cb81a45L,0x0000000000000078L } },
  76948. /* 32 << 42 */
  76949. { { 0x2631b3c36ea5e7eaL,0x0576e1edc566c837L,0x1e50e071ac9c1eb8L,
  76950. 0x5e74360ea8482d3bL,0x2e037e7718ceab4cL,0xf7d17456c8424fabL,
  76951. 0x202efbf582fe1841L,0x410f708c8cca4c68L,0x0000000000000165L },
  76952. { 0x659dece0d00ea056L,0x495170f43d1301caL,0x749e3276cf2c6e53L,
  76953. 0xc0f5d00087b6f996L,0x46b7c068dfd50725L,0x83e9d3de67ef401bL,
  76954. 0xec1cee4e3d4ef196L,0x31583197bef2dd76L,0x0000000000000023L } },
  76955. /* 33 << 42 */
  76956. { { 0x4aaf3d3a2d846afaL,0xcf35de6580c606a7L,0x022deb760cb93fcaL,
  76957. 0xa0e60afc96fa361cL,0xafcf7cc90b377305L,0x876c066cbc5e9abeL,
  76958. 0x5632b4763bfd78a7L,0x1271111fa016a308L,0x000000000000007aL },
  76959. { 0xe762fb74fe8f5299L,0x7b179b4e4b614b25L,0x7e5de5c81f840510L,
  76960. 0x69047ec18d783eabL,0x98b381ec3516e026L,0xe7778e602da90ec5L,
  76961. 0xf3b4d6cf5930e668L,0xc0bc0326fa9e8051L,0x0000000000000157L } },
  76962. /* 34 << 42 */
  76963. { { 0x2618f715359a6e41L,0x9132721a8b5e4de2L,0xfbfcf4aad2b349c7L,
  76964. 0xa4719bf086415128L,0xac080de43058d78dL,0x588b76300c29ab89L,
  76965. 0x847249def2b1a566L,0x090c25d01545fdf3L,0x000000000000013aL },
  76966. { 0xdaf439760ee334d7L,0xd847290c51ce020aL,0x62246b88adafdd5dL,
  76967. 0xc4fabcc7285636d3L,0x5f4bbd8e908964baL,0xd76d498d43ac7a30L,
  76968. 0x5beed326f425209aL,0x7bc22416f9dc7d90L,0x00000000000001e2L } },
  76969. /* 35 << 42 */
  76970. { { 0x512fa0c9f59767e3L,0x2b8b565b236870ecL,0x646b5d0b30d8fd55L,
  76971. 0xc0726c70bbcfff1aL,0xf09c125e16cc9832L,0xf7d5fd367c1cfc6bL,
  76972. 0x22257c4b1e01063cL,0xdbd248561d6d9bacL,0x000000000000008cL },
  76973. { 0x9ed1b5e18f3af826L,0xc42dcea6f3160e2aL,0x3f3e13b1ff834019L,
  76974. 0x39d61040dc48b3b9L,0x557fd39ac47f458eL,0x452a16ac987520beL,
  76975. 0x2ec6d00219505190L,0x66fac607d5b3ed1aL,0x0000000000000174L } },
  76976. /* 36 << 42 */
  76977. { { 0x1eb52d8c8961c678L,0x9318b87f5188a0b6L,0x449da5f7998c4703L,
  76978. 0x814e23ebba1284a8L,0xc4d98c41bcd03139L,0xb1fe6bef965a1803L,
  76979. 0xa2b5b201889a0bc5L,0xbc93a3519b13ccdcL,0x0000000000000181L },
  76980. { 0x17c9763ff4e51116L,0x26c730852a842e35L,0xdd6481a71296397eL,
  76981. 0xd588b1b854f7416dL,0x59f846cbc3d62325L,0x8f0d9ad920321e09L,
  76982. 0xd9c7bb569e1699daL,0x42a8b57f15de9318L,0x00000000000000e6L } },
  76983. /* 37 << 42 */
  76984. { { 0x90c29dc2d1043639L,0xbbc7cbdcf5e17066L,0xc249c81d9a986ddfL,
  76985. 0x081eb4d8c19cc606L,0x2e390f829fa13a21L,0xbb500f2ce369c007L,
  76986. 0x2f716b7cb5aa598cL,0x7ac490d538645632L,0x000000000000004cL },
  76987. { 0x1d73543fd62a0b86L,0xed5674cc9eb85ebfL,0xcb4ba15fcbdf1a2aL,
  76988. 0xbe0c1e77d0caff4dL,0xcc8905381e3e3f97L,0x9513a987b2624ae3L,
  76989. 0x6a93bf660437efabL,0xc7ab75cc119e6bc7L,0x0000000000000146L } },
  76990. /* 38 << 42 */
  76991. { { 0xc2ae2ccee84ed2b5L,0xefb47683e2c4c512L,0xe86fe38992bbe0b4L,
  76992. 0xb027a47b2d4a353eL,0x270a319fed2c3482L,0xb5470e60df72b036L,
  76993. 0x0264dc8895967134L,0xb410a2f4bfe6af47L,0x0000000000000063L },
  76994. { 0x1d1024bb7ae0582cL,0x88675bcfef5e48e9L,0x0d928096f5e8824bL,
  76995. 0xf172a15d94f0edf3L,0x1deda1cb3b823a69L,0xdc3722f122ea0b88L,
  76996. 0xdea7f8583437020bL,0x16543f8ce317d065L,0x0000000000000187L } },
  76997. /* 39 << 42 */
  76998. { { 0x1df3bd54a11f8d7eL,0x76b9ed25db6b8ddcL,0x5bc6ebdf63a01f8dL,
  76999. 0xf96b8f72b7f1589dL,0x94fa3a83a5476f8dL,0xcb63499a5fde5d1eL,
  77000. 0x7f89c36d688048cfL,0x3e2f2d487a377a21L,0x0000000000000169L },
  77001. { 0x8537c54896c0c39bL,0xeb98619a0dbf2821L,0xa5abaf6ffc11be9fL,
  77002. 0x88d3c0a10a5b0478L,0x4cb55dcb4c72ea75L,0x7585e394e753fdedL,
  77003. 0x797b588de3417ae1L,0x82dea02b45a0ebddL,0x00000000000001ceL } },
  77004. /* 40 << 42 */
  77005. { { 0xb6f28395a29d2024L,0x77ac682616726da8L,0x295c447073fd20f1L,
  77006. 0x9b2ec3f65856531fL,0xca27a7659555237aL,0xe497546f7a7bffedL,
  77007. 0x4f51b73ba508d541L,0x6b23a204befd9c3aL,0x0000000000000039L },
  77008. { 0x264295052ddd93a9L,0xda92059c3ccf01dcL,0xaeca4b1d851d4cdfL,
  77009. 0xf7fcfb537e0ca450L,0xe87d6e18cddb9a15L,0xb126c191d895153cL,
  77010. 0xc8a744137e5a46c8L,0x36ad8a91de12f4f4L,0x000000000000018bL } },
  77011. /* 41 << 42 */
  77012. { { 0x74ef02d265e852a3L,0x324fed680f658cfaL,0xd466f103eca3fc85L,
  77013. 0x6034b5f0a0f02951L,0x806ff94ed0dc2633L,0x70ab663177e83219L,
  77014. 0xbda70dbc6db52c50L,0xbb7c538955b0b5a5L,0x00000000000000e1L },
  77015. { 0x0e0d975de1aff7efL,0x3e308234bae3e688L,0xaf6711bacf272359L,
  77016. 0x62d70d6cffc92c50L,0xc95de419f4cf9c6dL,0xdc7dead78879f341L,
  77017. 0x33e941e09e25e4beL,0x14dc267622519153L,0x00000000000001a4L } },
  77018. /* 42 << 42 */
  77019. { { 0xd434b84d74697824L,0x40539e16acf24795L,0xd572b3054ad638d2L,
  77020. 0xde69e6788dd379a0L,0x675895fb4f7acb10L,0xa9e7010e28b809ffL,
  77021. 0x0c46b090bb932c71L,0x67faa77393164c0fL,0x00000000000000faL },
  77022. { 0x929c93f16059ac46L,0x18d944565f740f53L,0x329b4c8fea065a97L,
  77023. 0x84919b306f560f7dL,0x861d07d5062ec3f2L,0xb7f0c7801f09dfe4L,
  77024. 0x7bb618819bc97c71L,0xc37b2767a48c1b40L,0x00000000000000dbL } },
  77025. /* 43 << 42 */
  77026. { { 0x3e450ce0a8d0cff3L,0x2e663e6b78ff9f55L,0x9f15134d5c0ea3b0L,
  77027. 0xa8e53ea772ce0e5fL,0x6668ae1188e1d08aL,0x11c498e6b3e48748L,
  77028. 0xcf8e174401b97c6aL,0xa7d61b3ffb5a55faL,0x00000000000001e8L },
  77029. { 0x9be324b502984ae9L,0xb2ada2ccdc986c8cL,0xb73282ff92e4acd9L,
  77030. 0x59645b6929444216L,0xb462b0ec08094d4cL,0x3a282fab8a220754L,
  77031. 0x01b6567e6f43ca4cL,0x3413e0b6dd2bfc33L,0x0000000000000035L } },
  77032. /* 44 << 42 */
  77033. { { 0x32c6a931b227157cL,0xd276f7d0d347b7d4L,0xda50395f0ab44f59L,
  77034. 0x5d0c517699a52be4L,0x7b0f28e7b97054dcL,0xdae56aefd8e7b1deL,
  77035. 0x05b0180087b4ccaeL,0x21c81809274a0ab5L,0x00000000000001edL },
  77036. { 0xc1c7e06b9f9761c7L,0x3bd3309fc2a78191L,0x2c239fd7702a4f90L,
  77037. 0x5686716434a9f65dL,0xf8097255c1695583L,0x9b59c0bdf8597cf8L,
  77038. 0xe0c0ea8558996101L,0x30afb4de2622f5edL,0x000000000000005bL } },
  77039. /* 45 << 42 */
  77040. { { 0xc37c982c301c80f7L,0xc0bc3df13218b36fL,0x6c7959568f8447a3L,
  77041. 0xd3e11b8074d687a6L,0xba0e78bbacfeab37L,0x3160260448e100f1L,
  77042. 0xc59f32cc2759d36eL,0x919a699fe7c183a1L,0x000000000000014aL },
  77043. { 0x1db45cb6b237b42aL,0x6be246b1cd20d06fL,0x71175e1852d92e5fL,
  77044. 0x1b1a559dc6379ff3L,0xf4a86e0f067063c7L,0x4f55eca2e61fb16eL,
  77045. 0xf4aa39140b9b68b1L,0x26746312b83d83f1L,0x00000000000000d8L } },
  77046. /* 46 << 42 */
  77047. { { 0xc3d57a8323e01244L,0x6c1765687554530fL,0x17e5b0c355b8fbe0L,
  77048. 0xea068a1726350a44L,0xf06413c117ff3090L,0x2daf2cf8baef2995L,
  77049. 0x499bf72a2db9ee9eL,0x1a0ef8eab6efdb69L,0x000000000000000fL },
  77050. { 0xe1a9efa76d4eb0a2L,0x6e8182ea78617b26L,0x9b7d9837881857d2L,
  77051. 0xf18d42363a64071bL,0x21e43124c7df9bb5L,0x223bea1620366b6aL,
  77052. 0xbca36c195f3b8b74L,0xf6998f39fdd2b391L,0x0000000000000036L } },
  77053. /* 47 << 42 */
  77054. { { 0xa5e08e2708c182faL,0xe7dbceb058be3eb8L,0x454381379f440918L,
  77055. 0xfb10aa677a37d898L,0x8ca45c4a838e089dL,0xae3e13c06477efedL,
  77056. 0xf42788377871ec9cL,0xa4efd9487c02bcddL,0x000000000000014bL },
  77057. { 0x8058ab501915d2b1L,0xf0e0b18507a23009L,0xf312041cb21746a5L,
  77058. 0x19702c8127ff31ffL,0x5bfc0ffa39269d49L,0x11f8306f5b2bb7e4L,
  77059. 0x7fffa345134e7ca7L,0xdca4d5ef3f626ad8L,0x0000000000000138L } },
  77060. /* 48 << 42 */
  77061. { { 0x882e70bcf935169aL,0xbe4f1a7e9faa4bf4L,0xc00ee4b63f49bf19L,
  77062. 0x7108876fcf2ef2c0L,0x475d94d6ee33e82aL,0x88381a2fba2b1bafL,
  77063. 0xd6ba047a0e1d8204L,0xf49a4704c9ad93abL,0x0000000000000112L },
  77064. { 0x64a6ca0222fcc815L,0x35c840ded006e9dcL,0x44777fb5d7dc2178L,
  77065. 0x3dfbe7fd91ca3731L,0x026fff77e116256bL,0x6ffb7c2a648b3f43L,
  77066. 0x6688f6c0470a3209L,0x632e1094a98c1c6fL,0x00000000000000e2L } },
  77067. /* 49 << 42 */
  77068. { { 0xeb117f6f5c5e8510L,0xb1cacd2d52aeb1d2L,0x62bdb4954f806911L,
  77069. 0x230a593c916da8a5L,0x8f5cf40280caf0c9L,0x4031db58a1e8c7e9L,
  77070. 0x34c5ef907e23e556L,0x276981361c3c4694L,0x0000000000000148L },
  77071. { 0x99ac9916ec9b4f91L,0x432ac8cc476a48a0L,0x25d59bd336ceb46aL,
  77072. 0x03e24d9a547005eeL,0x01435f74efa3d224L,0xa6cf7444a4870b84L,
  77073. 0x9725e6046f067e62L,0xba420cc6d694cb2cL,0x000000000000015dL } },
  77074. /* 50 << 42 */
  77075. { { 0xba476d873030cc65L,0x40c8a7233f53e13fL,0xf15a7ebc139ddd99L,
  77076. 0x59473015dcdd8ea6L,0x06ad0d0e2ca9faa1L,0xf95d33cc9672c4efL,
  77077. 0x183bc0d13b31f16aL,0xc7e7132613880e33L,0x0000000000000079L },
  77078. { 0xd4ca8c9030b61d4dL,0x293fb721dfe76d10L,0xcd4378cd025faf7eL,
  77079. 0x496f67ab38987186L,0x96bbf0c70b0caad8L,0x5a441f7ae9a127fbL,
  77080. 0x292a39d18bc38c28L,0x1fa309288bff6412L,0x0000000000000006L } },
  77081. /* 51 << 42 */
  77082. { { 0x41cf0341f2c97897L,0x07ecbc3155140e3eL,0x25dbd2d5fd0e65a5L,
  77083. 0x89d802f8ab0e731eL,0x200aa9cfaeb60ed9L,0xf2abd47318270058L,
  77084. 0x2290980f7222134fL,0x80dd2156d98c893aL,0x0000000000000033L },
  77085. { 0xe4dbee4746b5197dL,0x5d110c69d34bc910L,0x2551116c7c6d43e0L,
  77086. 0x03391f080b0a6c40L,0xe11b366d39a3ac3bL,0xda60ccdb29749bb2L,
  77087. 0x32d05f2bfab0625bL,0xb2a3d728348b774dL,0x0000000000000057L } },
  77088. /* 52 << 42 */
  77089. { { 0xc3120df78ea50ac8L,0x124a99bf819551e9L,0x69dd9b95eddf11e9L,
  77090. 0xde805c83adcd1283L,0x3cb8d5f8a354632dL,0x1d9dcbaf4d718278L,
  77091. 0xebf2d04742c9aa97L,0xaf43c4b6b9b68e10L,0x00000000000001adL },
  77092. { 0x21edfcb3d2451b29L,0xcc9acf06a48336f3L,0x8471e8c311e3e8b7L,
  77093. 0x3fe0082e3e1e38e7L,0xf9e09f1df6a8aa86L,0x3b445adbe946eb4dL,
  77094. 0x83d1b8d21579db09L,0x602db173ecaa7cd2L,0x00000000000001feL } },
  77095. /* 53 << 42 */
  77096. { { 0x7d0146ba1a83feedL,0x0be06076b6b5a896L,0xabd622a1b574173eL,
  77097. 0x4511461a9687cf2cL,0x6a8662ecba2a9970L,0xcd138a7026840ba5L,
  77098. 0xb4600008dbae80eaL,0x446cc5d10e75802eL,0x0000000000000077L },
  77099. { 0x9d3f027ffb4be66eL,0x155462bc96f39f6eL,0x573003efe04e4009L,
  77100. 0xd4b2edd219bab2ddL,0x82a7818a37b54094L,0x2619e20c3540a3bcL,
  77101. 0xd9815146946f623dL,0x393c8bfaa09d03ebL,0x0000000000000115L } },
  77102. /* 54 << 42 */
  77103. { { 0xa34c9ed658a89822L,0x42082c28ec5d8ce6L,0xe8d9bea36ba32197L,
  77104. 0xad2b7b6391123266L,0xc27acd5a18a3ad12L,0xcb8ed647708ef7a5L,
  77105. 0x0c5b0ed49fb1e72cL,0xd6580f7a5e30a10bL,0x00000000000000a1L },
  77106. { 0xc52666b0438e766eL,0x3526912dd840853eL,0xfe1aef567ea68037L,
  77107. 0x0d8d383e9ccb43f9L,0x17788627acf36e20L,0xa28864ec0e1a7491L,
  77108. 0x822d8f2efcc40c94L,0xdddffd26a2b0bf5dL,0x000000000000012bL } },
  77109. /* 55 << 42 */
  77110. { { 0x48dff182c056cfd7L,0x4520fe724282fd9aL,0xfa0e53108d3bc991L,
  77111. 0x298fb724742f02e4L,0x403a647af5b8e1dbL,0x5bcd5a1655262f9cL,
  77112. 0x92889ba779b16c76L,0x1e26ed2971a16b7fL,0x0000000000000109L },
  77113. { 0x749c137ce8e9b2c2L,0xd3b85753db690723L,0x940eb70133649fbfL,
  77114. 0x89e374f678597b64L,0x02cb67149414281bL,0x024bb7dd9f5a5741L,
  77115. 0xe048fe4adb3b50aeL,0xc6de99b14e7a1fffL,0x00000000000001c8L } },
  77116. /* 56 << 42 */
  77117. { { 0xb48fa75a590e92d6L,0xab1888ebeeda06b4L,0xffb140dd9e71fec0L,
  77118. 0x8fb4c8ed2a623d2aL,0x645c4442bdd3fd9aL,0x34adb68f2de96e6bL,
  77119. 0xbd7819ec59225d29L,0xa0a8b0c5768b22e9L,0x000000000000014eL },
  77120. { 0xfc0ab8407662f537L,0xf75bde0788b7fcc6L,0x6dcf7e22656a1f21L,
  77121. 0x6c1116415318b15eL,0x731751bd77a8529eL,0x23e7c2723c846197L,
  77122. 0xc6ab7b666ad27061L,0x7e315762aad0e5b0L,0x0000000000000163L } },
  77123. /* 57 << 42 */
  77124. { { 0x6fcfbba1bbd9d928L,0xf3fc85d8a6ad07f2L,0x4eb1ce1bd5ec3e9bL,
  77125. 0x35a18838bba23455L,0x83f9e697aa05e005L,0x51b2c15bbbab3722L,
  77126. 0xf2f76c2f91080b97L,0x6b4c3d7b30adc94eL,0x000000000000017fL },
  77127. { 0x676703ce17466400L,0xb003d1e144ab5f8fL,0x5c71817b4472d0d8L,
  77128. 0xef5dfdab35b276e8L,0x223dce9a94c083b4L,0x8fab9633c842f4e8L,
  77129. 0x7487d2a71b32ae51L,0xa73df4521e91b61eL,0x0000000000000149L } },
  77130. /* 58 << 42 */
  77131. { { 0xe3081ef15ee16ecdL,0x572190eaa301933dL,0x717f1fbb78b476f0L,
  77132. 0x53f3424bbecdccd6L,0xd6e3646020c12be9L,0x1a9aba50bf672196L,
  77133. 0xc677242c64fea24aL,0x1243d8cf3163375eL,0x00000000000001beL },
  77134. { 0x649ea2f620d364ecL,0xef9918f9ca1347d1L,0xa690c23690a25227L,
  77135. 0x46de1a1ee9d7a9a7L,0x04d980378f454a29L,0xf92c691733fe5162L,
  77136. 0xd8fca5190ab84b9eL,0x142af9fc4db77590L,0x00000000000001a0L } },
  77137. /* 59 << 42 */
  77138. { { 0x9bd789058423f66aL,0x4a1a18da7b4303c8L,0x9bc361e5f078f42dL,
  77139. 0x6df051f9fb9c9f42L,0x25d75614bbe4b87aL,0x17afd17b86701f66L,
  77140. 0x5d6afce29d60c6f3L,0x167f180eae9efcb6L,0x0000000000000029L },
  77141. { 0x74ade397a1f06cc8L,0x450132df74fbcdd8L,0x5fd754812ec58631L,
  77142. 0x7db6f5af073ebc91L,0x29bfa114e046dfe0L,0x955659d40764e251L,
  77143. 0xc8420c2c3dc0bd0eL,0x50e6309a6943b512L,0x00000000000000fdL } },
  77144. /* 60 << 42 */
  77145. { { 0x8b2c940f98c0aa63L,0x6b8f11b6552f4b66L,0x36d68942208bdbd8L,
  77146. 0x1a27268d6d35a682L,0xffbabe3ce3c883c6L,0xb2f48c34c7b51fa6L,
  77147. 0xc307666acff5f20fL,0x988421026823d193L,0x0000000000000064L },
  77148. { 0xa307127da730707eL,0x89c67ae8b63d595aL,0x235a76d5075c1933L,
  77149. 0x4e1488e6c680da9cL,0xbd34618dac7d5a89L,0x22131bc390fe0290L,
  77150. 0xb6709cefe5f6d0e4L,0x6d74a464cb81bb60L,0x00000000000000f8L } },
  77151. /* 61 << 42 */
  77152. { { 0xa91ebf5aa98f49b1L,0xe9966de520c72be4L,0x399c3525d2df5446L,
  77153. 0x30b0a731b8d64fbdL,0x85f30a4fb17ad183L,0x4178f5643bdb7251L,
  77154. 0x0497c93c32984a4fL,0x8a5d97eb380b5a7bL,0x00000000000000e8L },
  77155. { 0xf2cae7dca29fd5b5L,0x73d2fdf8ff1c8977L,0xd5fc8a2e7251ce7cL,
  77156. 0xbf3e822b747dcc22L,0xdc9332f10b7bb04fL,0x80bd7f3cbf0baf6dL,
  77157. 0x063050956dd4d5a3L,0x2a6fa9aa22dfb616L,0x00000000000000ecL } },
  77158. /* 62 << 42 */
  77159. { { 0xbf786c4fd9712fbdL,0xd9e5f5873f8f4ed7L,0xdce2f57471fe2a47L,
  77160. 0xb1e0427d219a6430L,0xbff2b1baae521bdbL,0xc5166a723324479dL,
  77161. 0xd150919d6a6c33dbL,0xaaf9eba7e5412b6dL,0x00000000000001a8L },
  77162. { 0xcb1c3eba6cba10baL,0xacb0b7075d5d30ffL,0x25ef098c370207e7L,
  77163. 0x74fb4cec078d8b39L,0xe0ef8c1cdd7b66d2L,0x678bee9533e9c36eL,
  77164. 0xdcbfd88e938220e7L,0x6c67d672b4dec38eL,0x0000000000000049L } },
  77165. /* 63 << 42 */
  77166. { { 0x40811a23bc3787fcL,0xf1e0938a0cc25bf6L,0x8ea5e4b9a83d5a2dL,
  77167. 0xeeec61008466a4b5L,0xd1e8499efe0d444eL,0xe27ecb8978890749L,
  77168. 0x901b2a6fa043632dL,0x424899f7baecac92L,0x00000000000001ebL },
  77169. { 0x1c781c1973b26d1eL,0xbccb957b8f157a3eL,0xa374f01ccf29cb56L,
  77170. 0x3271773277420ca6L,0xd147cbaa49904865L,0xbaa719955c9dce3fL,
  77171. 0xe8d401d705fee441L,0x47f583418a001ff8L,0x00000000000001a9L } },
  77172. /* 64 << 42 */
  77173. { { 0x62b631691c3be7efL,0xdab254bf8074207dL,0xf6f1466b235a4c77L,
  77174. 0x66f8f60fd3b01424L,0x9da540693bae9f80L,0x1a840763500f8a6cL,
  77175. 0x542e2dd9b25994b1L,0x996307e5183b3ceeL,0x000000000000006eL },
  77176. { 0x45e2ae85a4b301edL,0x0640d46de1fb6112L,0x7f102d1983fc8f4bL,
  77177. 0x6eeece3a4f30038eL,0x74d062f5912f39c3L,0xa802a55316906c7bL,
  77178. 0xa8d8c58fe6d6e8c1L,0x77cfd9bca57b4387L,0x00000000000001f0L } },
  77179. /* 0 << 49 */
  77180. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  77181. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  77182. /* 1 << 49 */
  77183. { { 0x3b61c3204268e7acL,0xf9fef1976dd3709fL,0xabd3a2d551f7146dL,
  77184. 0x4c03d266f40188f9L,0x56e27dfd088bae58L,0x5ba4660d03fa2b77L,
  77185. 0x56889642a39ff216L,0xc11b9feaca849201L,0x000000000000007eL },
  77186. { 0x357c77971dbca40dL,0x23c449c26d3c6441L,0x6ad3b6a626ca2d6eL,
  77187. 0x32cadcb3b2ca4aa6L,0xdddc43e5ad004aa8L,0x7994e3ab37600864L,
  77188. 0xf09f263976e4580eL,0x6a2032a0a270cd54L,0x000000000000017aL } },
  77189. /* 2 << 49 */
  77190. { { 0x598766ce569614a3L,0xfc1534f1d485cc29L,0x1f5e87ce4f099a45L,
  77191. 0x93e6071f387d4d84L,0xa3f72298a130f8bcL,0x51372018edd37225L,
  77192. 0x165340e9b856f72dL,0x4d64ec749011bc47L,0x000000000000004cL },
  77193. { 0x975d2c0d5b62d194L,0x845d25cb1bbd10bdL,0x1326f9d742ee849aL,
  77194. 0x61f90228a333154cL,0x4993f33d7500f71eL,0x3824dc401b6dcf4eL,
  77195. 0x1c71e193b65b8ecaL,0xa8ddc0c7dca1396bL,0x00000000000001a3L } },
  77196. /* 3 << 49 */
  77197. { { 0x35a51eeba9c350afL,0x22821a636097710dL,0xf5a5c2c95f6ee6e1L,
  77198. 0x8f9f201269599ba9L,0xed36867f12918ea9L,0xf1a5450d0ea832e9L,
  77199. 0x58c5a7311e15e027L,0x5a6460d600416b3dL,0x0000000000000198L },
  77200. { 0xa0afb24fcf8c23f6L,0xdd6966eb2d40bca9L,0x7c8d20aabf132ab2L,
  77201. 0xc24efb7d7d32b64dL,0x26d793380c9547f5L,0x7e7d62251fb47f5aL,
  77202. 0xf1f5880d9a488725L,0x8ec9740d38749037L,0x0000000000000030L } },
  77203. /* 4 << 49 */
  77204. { { 0x7bad211d4ca94ce3L,0x7b7bed87d66cc144L,0x7eba714bbb5ee0ceL,
  77205. 0xc26e3a3cf5eb8337L,0xe5c617983dfec21fL,0x9c679e26117ba62aL,
  77206. 0x6d67db8c1b6e1641L,0x1c2e077ee31c06d5L,0x00000000000001a2L },
  77207. { 0xc0d71279cdc2d75cL,0x0b15b14709371b29L,0xba1f3359dc2ceb6cL,
  77208. 0x9a701873be25dad5L,0x03c466b8c8bfe287L,0x9697f32941ec3009L,
  77209. 0x4e21e900b4a54990L,0xee1b53c8a99d3093L,0x00000000000000d5L } },
  77210. /* 5 << 49 */
  77211. { { 0xcacf7227489ba5d2L,0x1a523c29f67d6ed6L,0xedfb4ca69923509bL,
  77212. 0x571434694ca275c9L,0x31b2e485340e8fb1L,0x1839d1e3fa9cdb14L,
  77213. 0x0f1f4aa874423836L,0xa1f66938027614bcL,0x000000000000012fL },
  77214. { 0xddd453d05635bbd0L,0xf078bbfbac909f3bL,0xdc827eb809ce7304L,
  77215. 0xbeecd2de0f10ecffL,0xee375c35e43d5225L,0xd47f1c6dc1caf971L,
  77216. 0x6d9b9daf56133721L,0xe2e43b93763d052bL,0x00000000000000b9L } },
  77217. /* 6 << 49 */
  77218. { { 0x9a842cd1d7d39f33L,0x45d1ad8c4bca4affL,0xe490b9caf398d092L,
  77219. 0xdb73aab1dde5bfc4L,0x3b7984d7741c8e35L,0xf0b828d5f5819fedL,
  77220. 0xce2fc89bfbaad5b1L,0xda615df411c9e58fL,0x000000000000015cL },
  77221. { 0x4b01920ad96156faL,0x221381dccedf3b14L,0x98da481c5d9b1206L,
  77222. 0x826399dbe4e4c2f0L,0x51dc45b6d73dbbd5L,0x68f639eb3f275528L,
  77223. 0x7093a3ab2d235520L,0x520f9416e8429996L,0x000000000000013aL } },
  77224. /* 7 << 49 */
  77225. { { 0xb3638db98048a2d6L,0x0526971177f15306L,0xa09f7697de04e4f2L,
  77226. 0xc782f1073cfbd4a7L,0x0232781e01adb58dL,0x2caf85d422724ee7L,
  77227. 0x952f12dda5ca3245L,0x658d58a74cc18585L,0x0000000000000191L },
  77228. { 0x35ad5dc0145a3b22L,0xc6acb7e2d56fc847L,0xdce25662da9b5fadL,
  77229. 0x3c6d9c6620861f44L,0x4c3680ea5c573776L,0xf59066292ac95553L,
  77230. 0x5e70ec1c5f814c5eL,0x3ec45db4dfcde9c1L,0x000000000000004aL } },
  77231. /* 8 << 49 */
  77232. { { 0xbb59f2675c346588L,0xac37b36876f373a1L,0x4826e015a4c6d860L,
  77233. 0x4ef341b061bdf224L,0x70b01fb4becac30bL,0x5f518cfcf0bb0c51L,
  77234. 0xbbec7a919d163117L,0x8a65bee8de2da58eL,0x00000000000000baL },
  77235. { 0x965caf8e566098b5L,0xe8ba0e81afbd8436L,0x77f4e27d7299fbc1L,
  77236. 0xf5169f5c367e2155L,0xc88fa56101a49a6fL,0x8a6a0228557b66deL,
  77237. 0xc867f1fa8e1bee40L,0xbf4b5f806de8fcedL,0x0000000000000042L } },
  77238. /* 9 << 49 */
  77239. { { 0xb9524e1cb1f9f441L,0x0598193ea2b3656bL,0xa4259f49f5540942L,
  77240. 0x1cfdec1f6adefa22L,0xd923db68e30584a3L,0xa2a82559fd521cccL,
  77241. 0x3411a7edd7abf365L,0x40a53bccd2452d25L,0x00000000000000f2L },
  77242. { 0x56b5c3f7d570f6f4L,0x692c9ae1fbd422beL,0x76027f68bf2bc5acL,
  77243. 0xe51a3a373e31e89aL,0xaaf34aac1dfddf2cL,0xf45a034e9d16cfcfL,
  77244. 0x5c8fe990ce407aa9L,0xbbe2e574acf3b5ffL,0x0000000000000149L } },
  77245. /* 10 << 49 */
  77246. { { 0xc3a9433d7169c63fL,0x3551fd4733c6d323L,0x507699e2bf2ca336L,
  77247. 0x5f6565d46878f701L,0x006acf880d019638L,0x788dfdcf4671f89aL,
  77248. 0x4d2c708a3224fccbL,0x7802c681810c6074L,0x0000000000000002L },
  77249. { 0xc5576f9ad0c38110L,0xa8c3419961cfd5a5L,0x48b1d5180a8a1b9cL,
  77250. 0x9d1cb1dff3740051L,0xd7f5a27ca860e4a3L,0x9f149f487f8bac83L,
  77251. 0xddf84b81ac7f5c55L,0x30e0002ad9d529a2L,0x0000000000000047L } },
  77252. /* 11 << 49 */
  77253. { { 0x9585b7bc418dfaddL,0x4c58f686b5a32cefL,0x7efb7fb586cf7c76L,
  77254. 0x87512eb00cdda427L,0xd3b27213699021c9L,0x3a1741d24f969176L,
  77255. 0x58bc37cb14fd5744L,0xbfe9f937752fcbd2L,0x00000000000000e4L },
  77256. { 0x10b3c0c658cc73abL,0xcaf09eae9f733202L,0xc729ced840fbabedL,
  77257. 0x997df02c3ccd6909L,0x4898124828c2898bL,0x734c9f989c96b3a4L,
  77258. 0xf025ebc3f20c8071L,0xd3a570ab384f54dcL,0x0000000000000066L } },
  77259. /* 12 << 49 */
  77260. { { 0x35e45c4b84376818L,0xead0b323c0564a2eL,0xf9e0790fb6852540L,
  77261. 0x3336a9aa55fed5a0L,0xa1dbea8ed6d817e4L,0x66ca0e37a8cb6e98L,
  77262. 0xfeb1493cc60383bdL,0xf910ce15208ea92aL,0x00000000000000c6L },
  77263. { 0x25d128bd3a6aa1eeL,0x0bcabc8337d1b4d7L,0x31cb792ba825d7afL,
  77264. 0x288f5d5b7a6b56c0L,0x737a14be66b37a0fL,0xe9005d89b6662a43L,
  77265. 0x446d1492f1b00aaeL,0xd0be38cc545ace31L,0x00000000000000edL } },
  77266. /* 13 << 49 */
  77267. { { 0x87493232bdf7f4e6L,0x14541c5b49d814e6L,0xbbad3425fc906a15L,
  77268. 0x2cde8410c26b9540L,0x03d8b69a2269726cL,0x522113c8df932996L,
  77269. 0x329dda1640f1b59fL,0x1eb39fd5a2a62e23L,0x000000000000018dL },
  77270. { 0x3e9e4ab1d977f9b5L,0x06b3afd518f3f70bL,0xee59a274d12f3910L,
  77271. 0x94e07eede16dd544L,0x8adc0bdaed27abd3L,0x7e4135b59fa28de8L,
  77272. 0x6818fb61b0186541L,0xcf0f9186cc9fae56L,0x0000000000000184L } },
  77273. /* 14 << 49 */
  77274. { { 0x8532e2b84de469aaL,0xd1324820fefd245aL,0xbf47d6669b108318L,
  77275. 0x33c64bcbd7c86054L,0x4859cbd052374f8aL,0x8339b91418337de4L,
  77276. 0xb95a65009523dc40L,0xe759895961b6fee1L,0x00000000000000d1L },
  77277. { 0xf85b9031652f4cf1L,0xa2fc5e77406dc843L,0xf12c0af404306a60L,
  77278. 0x2ad58232e20d0293L,0x884487ac3ca21308L,0xcc3570635bd3f20bL,
  77279. 0xd673170784ae6af6L,0xb8ba5ac32757be45L,0x0000000000000091L } },
  77280. /* 15 << 49 */
  77281. { { 0xa659f5656e835f6eL,0x7ac653f268f73febL,0x9c6e43b5e00fa5c1L,
  77282. 0x2b9b4245746bd49fL,0x3d7a750dd88d0e3cL,0x6728829167922860L,
  77283. 0x67eac654cd8acf74L,0x5d155498c194238aL,0x00000000000000a9L },
  77284. { 0x7ac1ed3044b273a5L,0x4387bf6824d195a1L,0x5491474be5f20156L,
  77285. 0x961ee2ad04598989L,0x6ba547225e180905L,0x0119d4fa7801d12dL,
  77286. 0xe0f12a42f7d5390fL,0xb4fc030b3479de65L,0x00000000000001b6L } },
  77287. /* 16 << 49 */
  77288. { { 0xb19a5828676a875aL,0x40729f28c83a4911L,0x511949b1c6dce05bL,
  77289. 0x25914c8c3fcf0490L,0xc49490de0c6c2742L,0x3b21feefdf6cd770L,
  77290. 0x012d2802dd1a82a2L,0x72f5a0b76453439dL,0x0000000000000020L },
  77291. { 0x3e85d07d9b58e26dL,0x56527bdd1c50af24L,0x564b56587df377d0L,
  77292. 0xf5b0335865e97a30L,0x2b22d6e96b31bc52L,0x8ad449abcccd4bbaL,
  77293. 0x84b8b888f7c162a2L,0x3b647f0e4d56f29bL,0x00000000000001fbL } },
  77294. /* 17 << 49 */
  77295. { { 0x538386b50142105eL,0x6a36896e5d844432L,0xa3f6bbe123903414L,
  77296. 0x806672513da50509L,0x2989b59047596bafL,0x71137e6cddb7c04bL,
  77297. 0x6b76f4c5aaf9107fL,0xad1575a18f0a7798L,0x0000000000000118L },
  77298. { 0x8015bb4110007622L,0xf09b16c927c41f67L,0xc42d63b3961b905bL,
  77299. 0x8e8d60bf0b64722fL,0x1d44e65b31893514L,0x17aef76a971aab52L,
  77300. 0x63b990c7275e43b0L,0xa16c2ad0eabdb348L,0x00000000000001e6L } },
  77301. /* 18 << 49 */
  77302. { { 0x07120374a0e09362L,0x693d91b9dee217daL,0x69d89c4913f0cc96L,
  77303. 0xc39d993228c1b06fL,0xa20b517e54c7a529L,0x1076b98fce82be67L,
  77304. 0xacbfb44d04839b7fL,0xa0e7e6cbab7a6a5eL,0x00000000000001d8L },
  77305. { 0x5aefed1d047ea917L,0x01ab000dbcbd7218L,0x9c9729136a369a58L,
  77306. 0xf9b364f2995e7c83L,0x15d114f8c4e2de2eL,0x04720f6fca00e9fcL,
  77307. 0xbf1f54934913f69aL,0x4128e1d050a572a8L,0x00000000000001ceL } },
  77308. /* 19 << 49 */
  77309. { { 0x04052b0bc21341c7L,0xaa3738e32824cd0bL,0xd61bd9fcff92879dL,
  77310. 0x1f81dbbdef405b1fL,0x50764b05b9087702L,0x1c477a0b30be79faL,
  77311. 0x3bcf0f99f3adedf2L,0x3270cd7bfb1671efL,0x0000000000000099L },
  77312. { 0x2dce98e903485ca4L,0xfd79314bc4e9dc13L,0xf64590430750dec0L,
  77313. 0xbcc8ef428a2f200dL,0x2a48ea838bcdc7daL,0xbd19939a616d34d9L,
  77314. 0x46c4674e673a3ce3L,0xdd5c17afe21d038cL,0x0000000000000047L } },
  77315. /* 20 << 49 */
  77316. { { 0x807392c4a8bd340bL,0xed20f6e0c0dd8190L,0x9d0f81d8fd1d379bL,
  77317. 0x410ec93adc0a7e5cL,0x660be24545c6a3ffL,0x920e232a68bfc7cbL,
  77318. 0x3a8e589e4992a0cbL,0xf7aaf37ed0ba8827L,0x0000000000000004L },
  77319. { 0xf799075916cfd13dL,0x593652e05843ca4cL,0x8520e39c721fc81bL,
  77320. 0x01c1aeddee26ecc0L,0xed48e68e20064495L,0x2049cfb8c4b50a1dL,
  77321. 0x8e4545d403b6baebL,0xd1b2962aa041443cL,0x00000000000001aaL } },
  77322. /* 21 << 49 */
  77323. { { 0x9442441e21dd7a46L,0x5c5c5dfe1855582fL,0x411281d4104a43f9L,
  77324. 0x6fcbfb5d529c0255L,0x69cc3d43ef383628L,0x3e5adc17455ff08aL,
  77325. 0xb5aabfb47a16eb28L,0x464de4ae5c39b1b0L,0x00000000000000d4L },
  77326. { 0xb36f33a4ee570b8bL,0x7f2f0809885f3677L,0xc110d6674adb4bc8L,
  77327. 0x17ebc77514f16716L,0xfcb24ac6d06d0b5aL,0x2a8eb070bb467ee5L,
  77328. 0x82498e6dff7b6a27L,0x651560a7b3be99c1L,0x0000000000000152L } },
  77329. /* 22 << 49 */
  77330. { { 0x5974d160916366acL,0x4c1117ea317518b7L,0x0d910ce0a9e0482cL,
  77331. 0xc472a9267522314dL,0xb531e038788e3d76L,0xc33babe371936389L,
  77332. 0x651b8b5dd7e44d40L,0xff292597d3f61049L,0x00000000000001e2L },
  77333. { 0xe0dab29387469e8fL,0x94f31bf9b9860039L,0x49baafd0dbea96daL,
  77334. 0xc0dac82a69701943L,0x3975417bfbced35eL,0xd932a0c9387455bcL,
  77335. 0xedee6eec6ae9c37eL,0x004ab4ffb7a67355L,0x0000000000000005L } },
  77336. /* 23 << 49 */
  77337. { { 0x796e9c557ca11ad2L,0x58f34f3f7d85a82aL,0x591f92c027ca6530L,
  77338. 0xd83841d85ac34027L,0x465a3ea45f65d747L,0xde92e4766398a5caL,
  77339. 0xcca220e5e6df968bL,0x71b01c2ad75b85fcL,0x00000000000001afL },
  77340. { 0xdabcb750ef8429deL,0x6ca8ddffc37a94d1L,0x20d1c1e8c06f1a6dL,
  77341. 0x16cedc9406a7eca2L,0x2af3694ef6b38940L,0xb88e20dd41111d23L,
  77342. 0xeaedf8e6ab3419aeL,0x233e0966baf248ccL,0x0000000000000074L } },
  77343. /* 24 << 49 */
  77344. { { 0x59fa6794628233edL,0x1c30a04a25a1287dL,0x8dd4fdcabf3fad38L,
  77345. 0x522aad840d0b6f87L,0x12a66e90d160f8ccL,0x714213f3e673af6bL,
  77346. 0xd5e6feebad0ab724L,0x0ddf08f16a892358L,0x000000000000001fL },
  77347. { 0xaa50abcec077feddL,0x36e6411ee7610feeL,0xbea885d1eb815b83L,
  77348. 0x9710ed6d5d57a6abL,0x794e6f1b85645674L,0x7608184df124cbf1L,
  77349. 0x356377f6cc8be47bL,0x56cbd2604b3e7161L,0x00000000000000d7L } },
  77350. /* 25 << 49 */
  77351. { { 0xf3da8295fec48fcaL,0x4aa389b04868517dL,0x1eae63410e4fb849L,
  77352. 0x2d79adaf3e627a33L,0xeb057943c16bf394L,0xf68653de184ebe57L,
  77353. 0xafabe009c84066f6L,0xeadf4244ef303ea2L,0x000000000000008eL },
  77354. { 0x9cf14a2e9d04a4cdL,0xeb45f173a1896d1aL,0x40bfdff6e61abc9aL,
  77355. 0x7fc85552930f6a60L,0xd9ca2a4361801770L,0x545752c1d7ce2682L,
  77356. 0x75f003dc8e904de4L,0xf7d696c1e0d28d1bL,0x0000000000000138L } },
  77357. /* 26 << 49 */
  77358. { { 0x318921d51607513cL,0x4f4691aba028aaacL,0x6b89bf2c45571403L,
  77359. 0x6a33bd35bd50a74dL,0xa12697537320b060L,0xbdc0601f7b3d4567L,
  77360. 0xa3a545d0adadfa59L,0x1d57a713fb791746L,0x00000000000000b7L },
  77361. { 0xde5af490b3ccc7d4L,0x230148e32096ef20L,0x1728c17afd7a6a82L,
  77362. 0xfe9ae61d832185caL,0x5315c8993c95585cL,0x1c5382864602f4edL,
  77363. 0x8e2eb045d51e72feL,0xfd69ab13b1dfc663L,0x0000000000000103L } },
  77364. /* 27 << 49 */
  77365. { { 0x907945a9e512926eL,0x0b965ac514dff417L,0x6e735674cee891d7L,
  77366. 0x9560323e84d70b73L,0xb20c6b12b867ed3aL,0xa8c57b78f3e266acL,
  77367. 0xaacc72a9031e4af9L,0x21a577716c8def4aL,0x0000000000000042L },
  77368. { 0xc3c3673e5eba099dL,0x9adb0cfb96d46b1fL,0x360e2fce94637eeaL,
  77369. 0x96d93ecf8c797569L,0x2044f2cabf3878dfL,0xdbd03f0c8a4a46abL,
  77370. 0x0aa2542188fd829cL,0xe10b564de070ef95L,0x0000000000000024L } },
  77371. /* 28 << 49 */
  77372. { { 0x5a14d2a9e7beab9fL,0xbb93a9d2eb30ccceL,0x033eff382f6c4435L,
  77373. 0x241389884ca1d8d9L,0x683fded4354372d6L,0x3a5733b79f237e56L,
  77374. 0x8cf9a5daed9be593L,0xfb98100be321dc4eL,0x0000000000000062L },
  77375. { 0xe3c8df880c2b9ec8L,0x1e3f4b351aab0f71L,0xea412d009efbaea8L,
  77376. 0x89c2b8592a711842L,0xab502e2666337728L,0xf8397452aa5e9d63L,
  77377. 0xd1426326e61ce0f3L,0x3c65ba888b2a3595L,0x00000000000001d5L } },
  77378. /* 29 << 49 */
  77379. { { 0x7c40492595f69136L,0x45e971ba99e00647L,0x8f52311b8df162f7L,
  77380. 0x37be3333b9625948L,0xf78c980fdcd3f0dbL,0x04fd571e95450e66L,
  77381. 0x2c8c94a45ad646dbL,0x7aaf42e5cbda65ceL,0x000000000000017cL },
  77382. { 0x839547cff6df4638L,0x95d2aac672edd7ceL,0xcfdfa802e0028305L,
  77383. 0xbf7fbb9b592ed18cL,0x828e423790ce00f9L,0x83653bee85dae1c7L,
  77384. 0x92cc5b1aa352c38aL,0x323f48337c389854L,0x00000000000001ccL } },
  77385. /* 30 << 49 */
  77386. { { 0xa8b2a97fb6cedd11L,0x97dbaff9f8032972L,0x342989110d29a5ceL,
  77387. 0xace98046cd01a3cbL,0x2a3d2959be278299L,0x5178699b7d9f96a4L,
  77388. 0x275e90c83aefc4d4L,0xed40ae71c9ddc6c5L,0x0000000000000018L },
  77389. { 0xc68d02ce0082825dL,0xeb8c04bb63e05e72L,0x734a75cc8b7a75f2L,
  77390. 0x1c6ff3f5f996c116L,0xc23fa867564c6f4bL,0xf13cff17198d779eL,
  77391. 0xa4f04051d621edcfL,0xd86ea3fb9bc3a2beL,0x000000000000003cL } },
  77392. /* 31 << 49 */
  77393. { { 0x8687c8d286fb5666L,0x51bda4adead592d1L,0x9a47bc7e8d9bf5adL,
  77394. 0x0c16fc8e3f314ef5L,0xcb5262e50b653a4dL,0x4dee35618e512af9L,
  77395. 0x41aa85f125232f51L,0xb4b485ed7af6c2e0L,0x0000000000000084L },
  77396. { 0xe3326af2a937424bL,0xb091d60435264ac9L,0xb7fe1c75607363fdL,
  77397. 0x8d3fc5e05ce8b153L,0xfea7f23d9ac5e150L,0x38b3592fc8c1f2f9L,
  77398. 0xb5346f4f01996117L,0x485d0162ede54b07L,0x00000000000000ddL } },
  77399. /* 32 << 49 */
  77400. { { 0x0b91d5244cfc2928L,0xaada5377f9855767L,0x43014e69652cad7fL,
  77401. 0x8680000dee500ebeL,0x95eea80462086edbL,0xea6484375ce7cd0aL,
  77402. 0xee14680d51a5bb78L,0x28363f309167ae22L,0x0000000000000047L },
  77403. { 0x5335dbd719692e28L,0x30c79590c6495ad7L,0xb9f87b1462c85189L,
  77404. 0x5b87c196c5b0545cL,0xbbdfef3cbe7fb4f3L,0x2b531d69f3216d95L,
  77405. 0xe7298f7361c8215cL,0x9652e358d96015dbL,0x000000000000011dL } },
  77406. /* 33 << 49 */
  77407. { { 0x4ecfdcbc609f01e8L,0x43cce6f602da9b00L,0xb5ccb510cb875b01L,
  77408. 0x38ef08459d14985dL,0x5dc8f4f88e28ff2dL,0x2123c91386de81d1L,
  77409. 0x80691159098d59d5L,0x44715192dbc14f82L,0x0000000000000171L },
  77410. { 0xc7d2bc1e420737d6L,0x04d07a8634926b1fL,0x4a558a526719bbdcL,
  77411. 0xad7181739558b878L,0x0d2e6fca5af3a191L,0x6c49dd8fa73f113aL,
  77412. 0xf57eefe8b3f72cf4L,0x39b23c1b37c5645aL,0x0000000000000093L } },
  77413. /* 34 << 49 */
  77414. { { 0x1a21f7609e382dbfL,0xbe278ead5c4326a2L,0x72f12ef962016fedL,
  77415. 0x21bf913c8afa14a5L,0xb7c4145a9f9b8899L,0xc17a7b5fde4dd03dL,
  77416. 0x14f34601ab717706L,0xe6192f11432876c5L,0x000000000000013bL },
  77417. { 0xa2f7972ba69fd71cL,0xf6ccdd1f9a0289f6L,0xc4634027e67f1f93L,
  77418. 0xc87dcef88ebcb728L,0x2053a2db4468602aL,0x6406b53cacbdae11L,
  77419. 0xf3f29cf3ee6ee32cL,0xcb79a551a0e19432L,0x0000000000000110L } },
  77420. /* 35 << 49 */
  77421. { { 0xef5cb254481df44bL,0x3184a229b38cbae8L,0xc1b8f38dd3bfe1cbL,
  77422. 0xd054eb6b1523138bL,0x9635da2935029a99L,0xed8ad119918794bfL,
  77423. 0xb3b9ea73d86ffebcL,0x174afa73454d5e5dL,0x000000000000007dL },
  77424. { 0x0b7e89f996442409L,0xf308ceb46bf1c207L,0x7bf551a8d7488abbL,
  77425. 0x06be62570d2826dfL,0x7da841c4c45d6b49L,0x90e0c656320fcdd6L,
  77426. 0x625d0ad9c57ae245L,0x1117fa49a6216b67L,0x00000000000000eeL } },
  77427. /* 36 << 49 */
  77428. { { 0x740389608eaee36bL,0x7df35d2c162d1f6bL,0x2cebbe053186aa89L,
  77429. 0xc17db617944dc7acL,0x1c6a5a0781e3d0d1L,0xc1e8ce8e29c741eeL,
  77430. 0x8edd5a72fc708460L,0x337ba607bd44d4a2L,0x0000000000000143L },
  77431. { 0xc54244b594eb3f3bL,0xf6303630ea66f38aL,0x72aff79bc6149c29L,
  77432. 0xecb88c9faa4b1c13L,0x648ec54762873c5dL,0xec17c8cc65222b9bL,
  77433. 0x887c31775c4b3466L,0xcdc8fe2b7e3e7954L,0x000000000000008dL } },
  77434. /* 37 << 49 */
  77435. { { 0xcefcc053278778a6L,0x8b23916cf443f1e0L,0xb54c427ecbee97faL,
  77436. 0x24c75ee812bc4efbL,0xb7b0cb176a167e91L,0x1b307498bacd972fL,
  77437. 0xd744a51b519cb27aL,0xbc28421783cd2333L,0x0000000000000020L },
  77438. { 0x81f745e1b02be1a4L,0x9de30681c6537840L,0xc9bdcf9e9fe1b32eL,
  77439. 0x850f2187eae10736L,0x5dc72e3f8cbe70ebL,0xff288749c832cb6eL,
  77440. 0x648754cfbdaa6ffaL,0x24e3f97d26354f2aL,0x00000000000000c0L } },
  77441. /* 38 << 49 */
  77442. { { 0x09c04a0f926bc690L,0x43fbfa9f6286e106L,0xd1a8fb90e1c3b305L,
  77443. 0x7b4ee666fe37cdb9L,0x404be05f9b915078L,0x5d886ece2e0fdca6L,
  77444. 0x58cfc29cedf36049L,0xf94ec764dd30d905L,0x00000000000000ebL },
  77445. { 0x4ad5bb20650c67d2L,0x760e0784377c5de6L,0xa6fa0ad7a47acd80L,
  77446. 0x91e26191802a68ceL,0x932e9b57c492de6cL,0xf51aafe3c0d70872L,
  77447. 0x17e1ee20c0a4eb8fL,0xdadd7f5ceb04a2d8L,0x0000000000000101L } },
  77448. /* 39 << 49 */
  77449. { { 0x4b6c35299c3fb75cL,0x2020efc7e2f85697L,0xd2dfcd4892684019L,
  77450. 0x366e38a2ec2edf42L,0x7217d73d4aec48b0L,0x098c0ae01adb4cf6L,
  77451. 0xbbbcb22ae102cc11L,0x46785dc5b1740371L,0x000000000000004dL },
  77452. { 0xe2cbce804c10fb38L,0x2ae649622280d0afL,0x7e3465aca1b0c46fL,
  77453. 0x8bfd57b6dd9e378dL,0x01f628f91dde62e5L,0xf3e4adf12526bb39L,
  77454. 0x1734ed33ba88260dL,0xe6b9194041672e7bL,0x00000000000000d0L } },
  77455. /* 40 << 49 */
  77456. { { 0xf42c064a910fda3aL,0xfbafa50fcea6aa25L,0xafe5f5580de9bbbcL,
  77457. 0x24e9d4ae0e89fb39L,0x5b71973925c76201L,0xa87ea5295475aeeaL,
  77458. 0x1e5495e03c4be889L,0x7866138b995ad46fL,0x0000000000000087L },
  77459. { 0x5f9f803e46afb538L,0xf8c0f078ca875a75L,0x63f1050a89b71552L,
  77460. 0x0858baab8d43bb0dL,0x8dc61935fe38cf7dL,0x50fbdae220f815eaL,
  77461. 0x6c6a84e52e070889L,0xa524045e73fb1857L,0x000000000000001cL } },
  77462. /* 41 << 49 */
  77463. { { 0x18d8ccdae2479e67L,0x1baa53f2a74a289fL,0x6edaa01c578d7dd5L,
  77464. 0x39deb2bf383bedf1L,0x55b2cb09c0c843bcL,0x4389566147a692a7L,
  77465. 0x6c9ae23f7e9cda94L,0x21cc9bceba7b7179L,0x0000000000000026L },
  77466. { 0x19db39e25f4eedefL,0x5c22018976727eeeL,0x2bc4e7bfd2b991deL,
  77467. 0x9c136af758617aebL,0x25f438605bacc62cL,0x8e469c5668e7b7a7L,
  77468. 0x905da2b18fd497f0L,0x5ca49b9f114ad2ebL,0x0000000000000067L } },
  77469. /* 42 << 49 */
  77470. { { 0x1a6f8d8de1a52dc5L,0xcf96814d03a474a1L,0x89bf6b6d11521565L,
  77471. 0xdef2de686891d9c1L,0x84acad656e7c7d4bL,0x886b8a280175a6cfL,
  77472. 0x9ee8240c926fe7bcL,0x152a76cc39bf83daL,0x0000000000000091L },
  77473. { 0x85376a369b33ef6eL,0x59cfd5a4f181f89cL,0x679c3adc2593d6caL,
  77474. 0x6ed84b8bfbae89b6L,0xee128a9017cb08eeL,0x4f29fb137726bc40L,
  77475. 0x20ed5454dd8a2a9dL,0x4e91664a378adbadL,0x0000000000000191L } },
  77476. /* 43 << 49 */
  77477. { { 0xa5dad36b52b70595L,0xf87e799e31e1f282L,0xd2cc0cbf9e1f33e1L,
  77478. 0x4cf0cf552d62e0a1L,0x18d2a4d5fc30b065L,0xbc92b38273812cceL,
  77479. 0xb252123d18868d58L,0xedac40192d70d6d7L,0x00000000000000a1L },
  77480. { 0x06ef9212c3f4e226L,0x59efef442a3fda9bL,0x9bf2803a42146a29L,
  77481. 0xfa8dab397c4a93deL,0xe1d34b9562d8ca13L,0x9989f1f7ef4060ceL,
  77482. 0xa57df883280ad2ffL,0xa7672319b32b7398L,0x00000000000000d1L } },
  77483. /* 44 << 49 */
  77484. { { 0xb841b3a2716363bfL,0x1fe55966930c285eL,0xd32798db70bcc6e5L,
  77485. 0x69e8e3f7cd08aa70L,0xc062c65836522b1dL,0x5f540d1d845d3226L,
  77486. 0xc3fb106d65d5893cL,0xa7e29ee98ae43be8L,0x000000000000012aL },
  77487. { 0x10107bd45f12406eL,0x09597eeeaff644d1L,0xd6016ea4a82208eeL,
  77488. 0x91ae818f1b864b66L,0x443f4f76f39bba56L,0xfb1e51720ed82a06L,
  77489. 0xa79c9ef8d5b29a93L,0xcf62b0acdf4bc546L,0x0000000000000095L } },
  77490. /* 45 << 49 */
  77491. { { 0x786dddbd9a6770dbL,0xfbba1c37c9bdf259L,0xb0ee1d34c50b403cL,
  77492. 0x1d67be441e207360L,0x186f06bc422c455bL,0x595806c00c1576b6L,
  77493. 0xb88abc273985699cL,0x47398d6d704fbcd1L,0x00000000000001c0L },
  77494. { 0xdf0187cd0bc02f06L,0x98eb35357610f278L,0xa253493558e633dfL,
  77495. 0x633c5838abe6ba6dL,0x98e6522d8345acf1L,0x403be8d023f02650L,
  77496. 0x929e6fde26185a91L,0xe11ef0da93f223bcL,0x0000000000000106L } },
  77497. /* 46 << 49 */
  77498. { { 0x0e407af213d053ffL,0x90d5045e06f74badL,0x066fbdeab7245e4eL,
  77499. 0xfd7b75ca58eb3154L,0x1b71f8fab1085c0cL,0x0813f46a32f91863L,
  77500. 0xcb798c7cf9b79419L,0x89ae2cf7b03a117aL,0x000000000000009aL },
  77501. { 0x5c04b5fd596b9fb0L,0x39cc235d1bb7e7a6L,0xbd27de310638c16bL,
  77502. 0xd12cf68dc62576c7L,0xdab34467be49955fL,0x6e9ff707f0e83b90L,
  77503. 0x9be7a05a7f860800L,0xfceae2f729c5a536L,0x0000000000000076L } },
  77504. /* 47 << 49 */
  77505. { { 0x839213697b1d62c9L,0xd22e2902a95f6724L,0x29d3cff45962cbf4L,
  77506. 0x74adaf534e973e6cL,0xad2f70c1a766f389L,0xc8eadf0ac2b8cd2dL,
  77507. 0x8206870d8d1654d4L,0x99168a47a8feba9cL,0x000000000000002cL },
  77508. { 0x1b25ea9fef1068fcL,0x48d00e1e844eec1fL,0x5e405a57497cdaeaL,
  77509. 0x9ea279918c28de85L,0x162811a8db094da1L,0x83072388e11f3bc4L,
  77510. 0xb0b78a7ce6b0b528L,0x97576dd0cdb3fabdL,0x0000000000000046L } },
  77511. /* 48 << 49 */
  77512. { { 0x0f9052c7b597ec4bL,0xc6f41c80ad573ab6L,0x347a20e1e3a60425L,
  77513. 0x8b466cefc852cbb5L,0xf38734d5dc78e008L,0xf347cd72d1ad9a04L,
  77514. 0xb82d096f30eec82bL,0xe43cc8e9ca4f7ab3L,0x000000000000001bL },
  77515. { 0x78d630caf659615aL,0xd686695eb1617e24L,0xbe1c2194d5983cf9L,
  77516. 0x4522d8f78329caaeL,0x672fee6b101fb01aL,0x1b1f4c0950d301abL,
  77517. 0x7dd87dac5e431e1fL,0xbf07ee0cea0100dbL,0x0000000000000172L } },
  77518. /* 49 << 49 */
  77519. { { 0x07f921760f9f20faL,0xfc96b84ecb68b725L,0x7718b02302cccb62L,
  77520. 0xedd4dd7985b5fbfaL,0xf6e1e454f4db3795L,0xb4888ae03a7653c6L,
  77521. 0x8fb8fc4474baeffbL,0x063c86b72d45c22bL,0x00000000000001cfL },
  77522. { 0x0c41e282815b2541L,0xac43abd94c2ee392L,0xe24e214a71c286d3L,
  77523. 0x1282830043728b88L,0x3bd6814757828877L,0xf197e9452febf81aL,
  77524. 0x8a1c679cedbea19aL,0xe251fa945967dcd2L,0x000000000000016eL } },
  77525. /* 50 << 49 */
  77526. { { 0xe01d086a1075213eL,0x8f1b00cbea347edfL,0x8498f8c425c21dddL,
  77527. 0x95abb4086d820738L,0x557eaed7ec5afe32L,0xe497900ca38f0434L,
  77528. 0x0515c9bc903e17b0L,0xc02387e3dc40307aL,0x00000000000001d3L },
  77529. { 0x96a0bc63eaf352c3L,0x579c49029ee03dddL,0x757a34d6c98eb9dcL,
  77530. 0xcfa9d25abd86a2baL,0xc8809301f6054b1dL,0x30b0c70afff80255L,
  77531. 0x69f40403c5ff5831L,0x6e5fd068c60c11ffL,0x00000000000000b6L } },
  77532. /* 51 << 49 */
  77533. { { 0x5340fc5166c83cbeL,0x507640cb9f3024fbL,0xf750a8d5a1a0a1e1L,
  77534. 0x9e7f6338adbb9bb1L,0x09a208b43976445dL,0xa6cb9df3457f574fL,
  77535. 0x7de5c8214fbd3509L,0xde3f5ae19d50d9a1L,0x0000000000000027L },
  77536. { 0xc82405f8ed17132fL,0x43256e646a46977fL,0x8a353d2a994b1950L,
  77537. 0xff3152f2ad9a40c9L,0xfc9cfa4f87e47049L,0x3ac2a3b0c168d8b0L,
  77538. 0x80742ee9bb4d7fe6L,0x3d2ba8aa8678a9d8L,0x0000000000000046L } },
  77539. /* 52 << 49 */
  77540. { { 0xa04a119dcd2fdac3L,0x2ee2c11c9ce17d39L,0x197cfc5f32fe1c10L,
  77541. 0x656774fe3aab0424L,0xb43b296a067463a7L,0xad338aca55d78e93L,
  77542. 0xc74471b7b87e1358L,0x5bb5cfc201be2553L,0x0000000000000075L },
  77543. { 0x71ed2ff019301a86L,0x49d0b18dabb3a3f6L,0xb14c65b0aba86284L,
  77544. 0x4a537637cb47beffL,0x340621ea976f6945L,0x66fae29b5c4ae1ecL,
  77545. 0x8e56e0fba5e5cc76L,0xc09a72fd7cd3d0bcL,0x0000000000000035L } },
  77546. /* 53 << 49 */
  77547. { { 0x349d9c4dee613f38L,0xef68106f51fb9826L,0x92f4c8386d78ed38L,
  77548. 0xb98420f7586485edL,0x0ec1b91d60f3f9deL,0x93d3828b84a7a66eL,
  77549. 0xb9f3374876299a8bL,0x4961a01e9f7fcae6L,0x0000000000000106L },
  77550. { 0x9f606ab04ed763c5L,0x1d8f91a3e9a674f4L,0x97fc8242a521bae2L,
  77551. 0x7008aa90dcb2af6bL,0xba359079b4110efcL,0x7e54f8c1fd447eaaL,
  77552. 0x3aad38aaf746ed2eL,0x3eb1cecef0df9b09L,0x00000000000001d6L } },
  77553. /* 54 << 49 */
  77554. { { 0xd32d280e3ccd90f5L,0x91e87e9e7cb176bbL,0xb5a8a77f30f3973aL,
  77555. 0x1f6389b465126792L,0xda9c26d978cd0d47L,0x5207f05eb2c99703L,
  77556. 0xbd89f16910a3caaeL,0x79ecf9d1f547e27cL,0x000000000000005eL },
  77557. { 0x5a9846021ad57e4bL,0x29373c083b6dc43eL,0xadfe6bad320676e8L,
  77558. 0xd4122508a6380857L,0xa83a74ecd1d1ad46L,0x98c04d58f1207f89L,
  77559. 0x19948a9ec12d1d1fL,0xa3cf675347dae287L,0x00000000000001bdL } },
  77560. /* 55 << 49 */
  77561. { { 0x69a5518193a902f6L,0xdc736d4689ee0441L,0xea81c08bf0cc23a0L,
  77562. 0x9a63c879a61c1beeL,0x9b8c27d1f2c2dedcL,0x14c7458b5f0dcf06L,
  77563. 0xaf32ef31e8763a8aL,0x46821a538c0aa44cL,0x0000000000000108L },
  77564. { 0x0c7e06114965b20cL,0x69154474ce496d11L,0x964e6477e160f351L,
  77565. 0x841083e9d6e4fb2fL,0x70640bc3c0e71fd2L,0xbed0bbf4db30ddc2L,
  77566. 0x1b30d4d54c9e01f9L,0xc58137f9a143b3feL,0x000000000000017dL } },
  77567. /* 56 << 49 */
  77568. { { 0x32966f76bd667641L,0x7de72be5f0d579a6L,0x0a6ffafb81276712L,
  77569. 0x0c76a2135e91a169L,0xeb960ed85f953cedL,0xaa5f7f8f0be111cdL,
  77570. 0x2cd0b477911f59faL,0x059a70c6e5220a86L,0x00000000000000dbL },
  77571. { 0x16f99e8ba61c4277L,0x011745b656710251L,0x13cb7d19f1ef7ff2L,
  77572. 0x2162edb414f0c0e0L,0xb0a459e867467a1cL,0x2cee2121248e6fc9L,
  77573. 0x2ba236eb98142385L,0xbd7465c91e63fa6eL,0x00000000000000daL } },
  77574. /* 57 << 49 */
  77575. { { 0xed2afb1c966951c4L,0xd8fd93de5daeedf7L,0xe5fa9c4cc93d1c57L,
  77576. 0x386b2c9bfaefcc9bL,0x4b59656fc59929c0L,0xce1d20e5eab86992L,
  77577. 0x3c11b1a137676f63L,0x1a35c38f85420d79L,0x0000000000000171L },
  77578. { 0x8f88bb55620441abL,0x47af796eaf094865L,0x8888bcd9ef98fea4L,
  77579. 0xc3f31342413e8555L,0xdfeb4b48c2b75c9dL,0xfd99c9a4a0c1d15fL,
  77580. 0x94241431cefee2e3L,0xab9e1f0a23fd9b10L,0x0000000000000026L } },
  77581. /* 58 << 49 */
  77582. { { 0x25ccc78e776cdc28L,0x34bfe1407f0407e4L,0xfdb8fac8d9e8897dL,
  77583. 0x49c0ddb3814ce374L,0x4c983cdc10173846L,0x9c4d4eff62108873L,
  77584. 0x12fd9caa476f5b17L,0x8658c9a0731d2d9dL,0x0000000000000171L },
  77585. { 0x14b0aedbf23ff601L,0x632cfdc58f68ccdbL,0x8485d63227078299L,
  77586. 0x1b83394f4856bb41L,0x5f905b4a04999398L,0x9645aee589030563L,
  77587. 0x30ce56159f7c6eecL,0x53aa062997c9b6f4L,0x0000000000000182L } },
  77588. /* 59 << 49 */
  77589. { { 0xddcbdedee68e0fedL,0x99ccbf1f05063476L,0xb89a94876cb38f6eL,
  77590. 0x3022a2323bc6e121L,0xbc4aed50fab2bc77L,0x46060acead728bfbL,
  77591. 0x6c950f528b881519L,0x9c0edf597814d1f0L,0x0000000000000137L },
  77592. { 0x58b14d40d0e8fc6cL,0x5e61d01c942ae23dL,0x6bdbad564712f262L,
  77593. 0x61fd6441155fe00bL,0x1ab1151ad617185cL,0xce8ea53c623a376fL,
  77594. 0x5f0cac41c768b147L,0x1f5f832e22a26dbdL,0x00000000000000ceL } },
  77595. /* 60 << 49 */
  77596. { { 0xb9532a46e6ebc565L,0xde038371b7c6883fL,0xa934fd5002bbe9b7L,
  77597. 0x4b82ec8ef3837d8bL,0xc00073fba5d11dfcL,0xae3a22c2dc5ac742L,
  77598. 0x8adb521a73b3415aL,0xe0902743f43bd62bL,0x00000000000000dbL },
  77599. { 0x3cf82ff6173b48dbL,0xec4e00c39af49c1cL,0x786b4099b3a267e2L,
  77600. 0x16e02a248820f967L,0xe0689ca4e4fc99deL,0x2a5f17575fbd3f1fL,
  77601. 0xc0c02624ba0f38aeL,0x586ca28d58cae5dfL,0x00000000000001a5L } },
  77602. /* 61 << 49 */
  77603. { { 0x25b05b4ed1f10799L,0x76cd6f8bc800ad41L,0x13fb260460b2ab0dL,
  77604. 0xf59f0cccd05a52c0L,0xb65218b0288de748L,0xc03f3f749f3e5ca5L,
  77605. 0x777a1100abf69427L,0x69340a66f7b3528eL,0x00000000000000eaL },
  77606. { 0x1dcae8f5b7b29411L,0xa34600730dfea3c8L,0x13b469f258498ba4L,
  77607. 0xdf838dd3bbab9202L,0x4dbec5fffe347b04L,0xb84fd1d91eac8f9bL,
  77608. 0xe74760c46e283eb9L,0x7c24f5141a49e088L,0x000000000000008cL } },
  77609. /* 62 << 49 */
  77610. { { 0xb330cfe8ae5124acL,0x4205f06afb62311cL,0x21c0f9cbdf03f5d1L,
  77611. 0x0f4d3d7709c90889L,0x970803101dc16211L,0xae129fff455f228eL,
  77612. 0xb209416415043833L,0x95312756bac62236L,0x00000000000001b5L },
  77613. { 0x74af54c370d0fd85L,0x55862bd38d6ef975L,0x52ae68bcf7bdbbf6L,
  77614. 0x92615cfc17424b12L,0x3711586fe21a24ccL,0xc0afbe33e3739cefL,
  77615. 0x46f3ae0794c296afL,0xb16803df799e4152L,0x0000000000000031L } },
  77616. /* 63 << 49 */
  77617. { { 0x0e910ae76e30834dL,0xcc082cb386c72df4L,0x88a278b2b0dac2d3L,
  77618. 0xddd107b085c2a06eL,0x7423df9623246789L,0xc10556841087702dL,
  77619. 0x75cc98651081b21cL,0x5279c1a2e7f4c29aL,0x000000000000006aL },
  77620. { 0x0fcaa2f8953245b6L,0x828ab5a68cb75480L,0x06381dfffccbede4L,
  77621. 0x0c3f8eae499f669cL,0xc6fe81f8f5dc5c99L,0xb5083730b4aae613L,
  77622. 0x8d2038c777622821L,0x263228451f870cc7L,0x0000000000000179L } },
  77623. /* 64 << 49 */
  77624. { { 0xdeed672da38be841L,0xd62d42d762febdd5L,0x002aa47e2d4af6ffL,
  77625. 0xdadcda955be24d99L,0x91ec05c46727939bL,0xe7535c591b7966d0L,
  77626. 0x83d7f5f023c47893L,0x470bca4e2c4e6181L,0x000000000000010eL },
  77627. { 0xfe45f9698440535eL,0x240e6b2c49adab54L,0x61089282db726b76L,
  77628. 0xcff3e30bfa643350L,0x3aafb169a7c01f88L,0x51923c30e0a5514dL,
  77629. 0xc077936f3ccc700aL,0x23375769586f4854L,0x000000000000006eL } },
  77630. /* 0 << 56 */
  77631. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  77632. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  77633. /* 1 << 56 */
  77634. { { 0x9aa53b475a714194L,0x01163dd86957d5ebL,0x5bd2c24f908f5929L,
  77635. 0x87f519f4dbe42b0fL,0xff767379fb6b5ad4L,0x4d0f8bba9a193f28L,
  77636. 0xf3c42bd0ee549d79L,0xbf851d3f825244faL,0x000000000000009bL },
  77637. { 0x825ffb609f78b57fL,0xd1913668e0f74b73L,0xf42a5b035468f89dL,
  77638. 0xa2347499aacae46cL,0xc771e34cc85272e8L,0x295684c1d427d3a1L,
  77639. 0xed749903433451dcL,0xb872072c0cbabbd4L,0x0000000000000049L } },
  77640. /* 2 << 56 */
  77641. { { 0xf98db50e8435735fL,0xeb51c34660bd7b77L,0x200adf1e996ef096L,
  77642. 0xecac256b57b8d488L,0x889639b07e65ea9fL,0x4f763f7313a4a243L,
  77643. 0x401c22a42957db01L,0x86cff8bc68eb751eL,0x00000000000001c7L },
  77644. { 0x1c0549ebe47805e9L,0x57716280b223b355L,0x69a29cf4db5c068bL,
  77645. 0x63fb8a8c432af690L,0xdcbb94f97f36ebd6L,0x693983dd08609c4dL,
  77646. 0x69875f98d458fa6eL,0x149758e81fff90b4L,0x00000000000001eeL } },
  77647. /* 3 << 56 */
  77648. { { 0x8452736310a0d011L,0x299e1cb30bbaddd0L,0xf5f3079b5294c956L,
  77649. 0x9edd5fa24f0a3584L,0x764bb175641f1fe4L,0x0217a94a93b38db4L,
  77650. 0x61c992b7e31e6fdbL,0xeb231629764cabecL,0x000000000000013bL },
  77651. { 0xbd3b12a4d2e8c15cL,0x8eef9b5d8accc1f1L,0xb931fbc752747252L,
  77652. 0x8a7b86c7f9817befL,0xb52330ba584e1181L,0x9bc4926d25a0a0abL,
  77653. 0x002feb9b89a625d7L,0x653946b5db41831aL,0x0000000000000061L } },
  77654. /* 4 << 56 */
  77655. { { 0xf1efe65befd91d43L,0xdd872fb0aa3323e3L,0xcb7c357901e9dd62L,
  77656. 0x04677143cd97ebd7L,0x906eceb8806e055fL,0x334b997f2fd96082L,
  77657. 0x41a732b0caaad051L,0xe1b97e125bc0500eL,0x000000000000008fL },
  77658. { 0xfc4e9baaa1bee510L,0x2b887e327d63c5f0L,0xcfb9c52eee6cad4eL,
  77659. 0x596bb714b0b8dd96L,0x2db254c665f9a215L,0x000359bdd799749eL,
  77660. 0xc4ecaf126d91b457L,0x8153709ebe4f02f6L,0x00000000000000c4L } },
  77661. /* 5 << 56 */
  77662. { { 0x2218489b09d9e2f2L,0x563769927f4fe3c0L,0x61e365211ed2b98eL,
  77663. 0x166d671a178d242eL,0xb65381c97e8d39b6L,0xaefe583a82851b43L,
  77664. 0x6caa4459a24a7af4L,0xb421380f5640d447L,0x00000000000000b5L },
  77665. { 0x706a413011d91549L,0x4214be92e3064f4aL,0xa7c3b7b8b7649258L,
  77666. 0xa782e2fc71c05ddeL,0x0fa90ef683d30793L,0x1c77425b15dbd474L,
  77667. 0x917cdb42fc0b16d8L,0x7ef5faf8c7bfa045L,0x00000000000000e9L } },
  77668. /* 6 << 56 */
  77669. { { 0x5b408946a60059ebL,0x0d707cc2a1e69f42L,0x9be262d3cddd4401L,
  77670. 0x0c2d64bd01c14145L,0xcf8b305a27c198a5L,0xadccc32e05c03494L,
  77671. 0x22e5f02b6c1de307L,0x2ae62bac48f43edfL,0x000000000000001cL },
  77672. { 0xb02341cd598a8ef6L,0x0e6041748456480aL,0x159e591932132353L,
  77673. 0xe03d4f2c8b3a8a62L,0xd1190722f861d8f0L,0x59d3d3b6a37c89a2L,
  77674. 0x07fb0e16a2987768L,0x5dd98e191da91a16L,0x00000000000000adL } },
  77675. /* 7 << 56 */
  77676. { { 0x09238de907ae5402L,0x14fce2b1444b8b61L,0x37ee7affbd0d2eadL,
  77677. 0xecbc75de97804504L,0x343a5d1a3b5e5fd8L,0xbf806ee5a90dcf6bL,
  77678. 0xd07f1054b2bf2a3dL,0x6f590326ed9fffe2L,0x00000000000001fbL },
  77679. { 0x9c42832de6198aabL,0x3eacd0ed475ec98dL,0x715b6aa8937ffe67L,
  77680. 0x4b35d1e7891bffc8L,0xfad8af9cb36a8835L,0xa3a21d6f7b8f6f81L,
  77681. 0x4faaf12e771c3b1cL,0x4e05313304fad4c8L,0x00000000000001f1L } },
  77682. /* 8 << 56 */
  77683. { { 0x7eecdfe4e541183aL,0x7b0dd2285aa8b868L,0x8d38cd0c1de22f71L,
  77684. 0xa9ca796dbd2638c1L,0x1819373249e5ea36L,0x4fc5461729212b0fL,
  77685. 0x4f3874d22debe3f7L,0x46499322cd4b02fbL,0x0000000000000015L },
  77686. { 0x7977cdaaa3bc23c0L,0x954aa6d88ba98676L,0x6b8471c793c7bf98L,
  77687. 0xf8025a0b43c70437L,0x0aca0d09b1a8c71bL,0x9fb1d00b6fc48277L,
  77688. 0x50bccc4ee312939bL,0x5aeaf55665e5df83L,0x00000000000001abL } },
  77689. /* 9 << 56 */
  77690. { { 0x296c4e5e4114124cL,0x8f760836d47c56bdL,0x9fda0a36f6758211L,
  77691. 0x2bc5e75b36cd51bbL,0x32e6873f1bba9f2aL,0xed7a7c288e6c979aL,
  77692. 0xbec902bb47cccd6cL,0xacf4c76c48dca66aL,0x0000000000000080L },
  77693. { 0x44a892f6355a975aL,0xbbd44a35bd1b1666L,0x6b49014ca612f865L,
  77694. 0xcd50cbb36b81bd2eL,0xb25e204fc26beab6L,0xddcf6123f93fe188L,
  77695. 0xa3c651667a980260L,0x87f09af9e19ae815L,0x00000000000000c5L } },
  77696. /* 10 << 56 */
  77697. { { 0x36fafde5fbbd4e98L,0xaf44b924868ff31bL,0x0281a7fa945ab6b9L,
  77698. 0x2a4bc2c85323df28L,0x51959c042a3e0fb6L,0x6aba3103143c1a63L,
  77699. 0x3a572db88876e600L,0x418cd1b4506efccfL,0x00000000000000b6L },
  77700. { 0xf121c2f9beeeb151L,0x69c65d11d76943abL,0x74063608addb71d4L,
  77701. 0x072af1c6702d26b0L,0xe0fd470b473b6ef3L,0x765b0f46bc36697eL,
  77702. 0xa24b34bcc6acd252L,0x0401f4521c3311e8L,0x00000000000001d2L } },
  77703. /* 11 << 56 */
  77704. { { 0x3f298d941c6a01eaL,0xb6ee6874dec1f22cL,0x189023ac496d5522L,
  77705. 0xca543ecfc08a48c9L,0x240ca6a0a2db1ea9L,0xa591ef2e54492401L,
  77706. 0x22027038344bcd0bL,0x34cb84596dc4ced7L,0x00000000000001dcL },
  77707. { 0xb5a949080414ed02L,0x8bddf24ba14739f7L,0xa788ab9679ac753bL,
  77708. 0x754163a977fe2ff1L,0x49803f05af045bc3L,0xf482041842d13f83L,
  77709. 0x9f86243cd7528fa3L,0x9b4c2abe08588f48L,0x0000000000000131L } },
  77710. /* 12 << 56 */
  77711. { { 0x34853c5d35da05aaL,0xedf100f6b15b5d6cL,0x1dc6e841d3da67b0L,
  77712. 0xaa5d83f0310fd872L,0xa686fa787cfd885bL,0x297a0e48b09f9c96L,
  77713. 0x9e899c7dfbd40e05L,0x2bfbaf44b9589b4bL,0x000000000000013dL },
  77714. { 0x937376913784f654L,0xaba39ee088f316f8L,0x7fc611358a3c3666L,
  77715. 0x5a09da1f80a1fadeL,0xffd6018133651828L,0xc400cf569a7ac400L,
  77716. 0x64fc091f665c4152L,0x8679f2d7c350f654L,0x00000000000001ecL } },
  77717. /* 13 << 56 */
  77718. { { 0x3af9dcd14473f37cL,0x7c31843080e36492L,0x5115486ac8d049ceL,
  77719. 0x594ee800b10d6316L,0x3c9aec97f913f656L,0xc9b99ae4476865fdL,
  77720. 0xf9a597f80fecfa86L,0x59313aafc2664276L,0x0000000000000020L },
  77721. { 0x431f1976e5a1239aL,0xb406a1eb58838d43L,0xc023f4698d681f4cL,
  77722. 0x5f1dd612dcccc654L,0x9032c342434f82c6L,0x99bc4322c7965da3L,
  77723. 0x8c2f2ce32745885eL,0x415ff1a86cf68162L,0x0000000000000009L } },
  77724. /* 14 << 56 */
  77725. { { 0xb10ff95e0e9132f1L,0xf49e33b7045c8800L,0xdf0314f4842d3bdcL,
  77726. 0x55fb97a8f584e160L,0x0b923612e71c4d35L,0xdb8c2885ea2f1d23L,
  77727. 0x514e37d7dff21f90L,0x0a0cbe3dfd2278ecL,0x0000000000000081L },
  77728. { 0x20daf0c8e84e328aL,0x9885850d6978f468L,0x8ffffeb098151489L,
  77729. 0x5bb7fc177a0b4d73L,0xfc401e51706e036aL,0x7016943c64c94259L,
  77730. 0xa8cdd03a570abcacL,0xb94b40df2520b74eL,0x0000000000000167L } },
  77731. /* 15 << 56 */
  77732. { { 0x41ec06596dd7d8c6L,0x8baeaeffb07d565dL,0x55f5138c26c9b544L,
  77733. 0x975e212788825ee5L,0x90422ca7c1a092e0L,0xa03de4e8dbde0554L,
  77734. 0xdf408882734e71a8L,0x80e01f63a10cc8e4L,0x0000000000000157L },
  77735. { 0x7b4e0e130a65cb93L,0x1f3e7faec1e49a1aL,0x1b12fdb3dd71b3f8L,
  77736. 0x8d32d35f1253f42eL,0x38e09d674312f8b0L,0x9a727ebd4281b5ceL,
  77737. 0x0002358abf211bc2L,0x46c3dba13e61916cL,0x000000000000003cL } },
  77738. /* 16 << 56 */
  77739. { { 0xbf2097b9414d9815L,0xfa0673b3cda66dfcL,0x8c775677193b17b0L,
  77740. 0x07c8dbf6c5387e9aL,0x141de69d4c5da984L,0xf0650ac806a8b133L,
  77741. 0xadd766eed2b258c4L,0xa6f4276396303678L,0x00000000000001daL },
  77742. { 0xcdbf1daa39c8824bL,0xf8f2cd8c5638cb0cL,0xd966c8e9b6d33286L,
  77743. 0xe4b63ef8c1331e1fL,0xac72d8e3fb5f843eL,0x110d0d4a8ff6b4b6L,
  77744. 0x0067fe1eacd5cf3bL,0x5eaae5b321c1e826L,0x0000000000000068L } },
  77745. /* 17 << 56 */
  77746. { { 0x3c2cc8401217a97cL,0xb50bb1f3c1c919f8L,0x5becdaec4470c37eL,
  77747. 0x378cab9bceb1fbb9L,0x04563e25cc95f3f6L,0xae040e389d4a2100L,
  77748. 0xe66969915950151bL,0xa855c542c36aef82L,0x00000000000001e5L },
  77749. { 0xe5c950666cd47003L,0xc602fbe4b6bae5a9L,0xacce809c76110dd2L,
  77750. 0x757b37d9047a58c6L,0x58c9dc97ef3e68d5L,0xa2dc7d9012714826L,
  77751. 0xad4e0ba11fbf2747L,0xe710d91de5af3928L,0x0000000000000084L } },
  77752. /* 18 << 56 */
  77753. { { 0xd79cd3bc6e819754L,0x7c18ef6a8809e3d0L,0x29468b115c990dd5L,
  77754. 0xed6cf22a8be7c0b6L,0xb62cab9a75ff6d61L,0x035cfbcc46116fc2L,
  77755. 0xc375d3ffcb5139a8L,0x9fab6a6207bedcb9L,0x00000000000001e9L },
  77756. { 0x0b07578f9d888066L,0x9438e828693b78fdL,0x046f159b622825fbL,
  77757. 0x00125b1e0a349677L,0x408d9c746d8e1d12L,0x4e46f3fed0358225L,
  77758. 0x63dd41bff4448e2fL,0xc87ae9f74d54acc2L,0x00000000000000a1L } },
  77759. /* 19 << 56 */
  77760. { { 0xca6d413b739aac79L,0x5ca8d0f0cf84b822L,0x6ea753d2490fbae0L,
  77761. 0xd02d641bf68588dbL,0xdcf9aa5b12a69358L,0x3b3d2093c00dcf36L,
  77762. 0xaef49dbc3556af94L,0xd878e02a7ad78427L,0x00000000000001a4L },
  77763. { 0x8f65cdc927f5b36dL,0x968c84e51ec6669aL,0x3a412c9d99424d9cL,
  77764. 0xbdda9213690b435fL,0x00899ee877958c53L,0x64032787de5424aaL,
  77765. 0x6d3df87b4261056aL,0x556eb68e62019e38L,0x0000000000000015L } },
  77766. /* 20 << 56 */
  77767. { { 0x797062240d893addL,0x73be154c32ee77caL,0x462c16d2021f4043L,
  77768. 0xe593ff234c08fc6dL,0xb17e52f03b138c7bL,0xa8ab2ad5e5fbe9bfL,
  77769. 0xcf64eafcb597ce57L,0x83743f38f970be21L,0x00000000000000fcL },
  77770. { 0x6013ab2614c70201L,0x0c69287d9ebefca5L,0x255e3927d7113008L,
  77771. 0x5077b04f4d7558a5L,0x85c914fda5be2217L,0xc44bb4136d336d7bL,
  77772. 0x84a4f0027728a6a9L,0x9c83da4f0040ca25L,0x00000000000001bbL } },
  77773. /* 21 << 56 */
  77774. { { 0x3757eb12813cd071L,0xe2c5e0702f18fb8aL,0x3dfd08305f451a83L,
  77775. 0x91e430441b09aef4L,0x0b8493b2153d6dfbL,0xe5cb9f878aa9de2fL,
  77776. 0x5f4136b67e86e730L,0xde3b214ff8007c7dL,0x00000000000001b1L },
  77777. { 0x6f3d65ebaa289400L,0x2937901f23fc2f30L,0x208a45403c97ad38L,
  77778. 0x496fdaf41d956449L,0x68d7b49d7b70e243L,0x1fe890dbad43f7c8L,
  77779. 0x6d5d15b6fb734683L,0xd8cace1d2636aeecL,0x000000000000007aL } },
  77780. /* 22 << 56 */
  77781. { { 0xa221c321cfb59cc5L,0x54e6a28dd152e86fL,0xbe574fad4c73e2cdL,
  77782. 0x66a16063a28c6a34L,0x9d051f2ba6bf4e33L,0x6f6e57f0efef1f7bL,
  77783. 0x9f8530c7266ea965L,0xde64f62ffc3c5ce8L,0x000000000000016bL },
  77784. { 0x101e26f9e249ae6eL,0x64b186185ccd4bd7L,0xbbe43dbfa725469eL,
  77785. 0x2a13bcaf3c77a158L,0x3f52b1d45196b990L,0x5d3d31009643175cL,
  77786. 0x0c45dd2949e58e34L,0x2376457f0c9272d1L,0x00000000000000e2L } },
  77787. /* 23 << 56 */
  77788. { { 0x1aa1200038b3205cL,0x76e66ea19d58cca0L,0x80c79ada0cc03958L,
  77789. 0x81bc2b5e01351773L,0xd3728abfbb0e9fe5L,0xf5ab4fb5c491587dL,
  77790. 0x87338eb582fd5606L,0xf6347c4826c78494L,0x000000000000001bL },
  77791. { 0x8a791f669efdfe9aL,0x755e8267e727d49bL,0xa3099a447992d40bL,
  77792. 0xef46bdb01d15a101L,0x559174a23c94ac49L,0x584f8051ea2c9e4dL,
  77793. 0xf4e16886bf84b50cL,0xff78f54b1b77ee46L,0x0000000000000074L } },
  77794. /* 24 << 56 */
  77795. { { 0x7ac3de5ca9041d75L,0xf644635482759efdL,0xab1b9f174ade5840L,
  77796. 0xeee52981b8197804L,0x46000cbe38c3a5f5L,0x88230b1626431a41L,
  77797. 0xe28d80f67766d1fbL,0x2e75ed96eb167421L,0x00000000000000dcL },
  77798. { 0xc2e83c5b0e7b8b33L,0x1066058ce284acc3L,0xaf2f0891593a5571L,
  77799. 0xdc3b9416f48d96e4L,0xb290b6d07c9c6be2L,0x52eb2fde7c9039b2L,
  77800. 0x3eb91e6fb68324a8L,0xb30518e936711c4dL,0x0000000000000015L } },
  77801. /* 25 << 56 */
  77802. { { 0x2d009d1f7e81379fL,0x1186c036eeb29927L,0x9c5dd22a91b3998bL,
  77803. 0xb6592abfab377cabL,0x244093f60dcb585eL,0xa4aab53d2afe72b1L,
  77804. 0xcb3555cdbf6a94fbL,0x4fb141b4a362f98cL,0x00000000000000f8L },
  77805. { 0x4a846565f7b37ee8L,0x951a4ede2449b8c8L,0xd0207baa5b7a7cadL,
  77806. 0xf6d4d8d91d81b91bL,0x92e4989362f348efL,0x2d1344480ce09f2aL,
  77807. 0x1d44afc329e7a94fL,0xd86cd0c3d2df7d47L,0x0000000000000005L } },
  77808. /* 26 << 56 */
  77809. { { 0xbed09ef139dafe80L,0x29280156660a6824L,0x44826c00399c500dL,
  77810. 0x62a0b9bc916333c5L,0xf8e99a122f328b47L,0x5399ea024bc286c4L,
  77811. 0x41c108bcc314dc67L,0x84028e33144199b5L,0x00000000000000deL },
  77812. { 0xdc9acfdf38f3e37fL,0xd25f15a1b6ebf57aL,0xb8cf0e9228aaf7a7L,
  77813. 0x3e4b2657ebf0dd9cL,0x47c13b14898b9c60L,0xb86aa4de88315b53L,
  77814. 0x3c922479502a03e7L,0x12a71062d5664fb1L,0x0000000000000002L } },
  77815. /* 27 << 56 */
  77816. { { 0x0888c3373a129502L,0x58221c2e5b441f44L,0x492f61b92730c69bL,
  77817. 0x9ec3c2d586c89b52L,0x6c5376a2036b0dddL,0x324072e8e30189f7L,
  77818. 0x9627871a8f6dcce8L,0x2affe689f14c2a67L,0x00000000000001efL },
  77819. { 0x7a6891020deb1c93L,0x4adb5b63d03180c0L,0xac46e5de2dab3606L,
  77820. 0x2cdcc3e0f809e0c3L,0x5eac59fbb6bcf717L,0xec49aba1d98d62edL,
  77821. 0x2c547f2b9cbb81b3L,0xfc3afcf962672e3aL,0x00000000000001a1L } },
  77822. /* 28 << 56 */
  77823. { { 0x56b5f75c7925dc46L,0xfa149311dd8ca6dcL,0xfca42ef910155bddL,
  77824. 0x661b558ac2779509L,0x330257621f4fc11dL,0x00a4a692ba594d25L,
  77825. 0x384f36c67892fe4eL,0x3559163a4b3bd1d1L,0x000000000000007aL },
  77826. { 0x6e75533a4dc7b82eL,0xef9a1ec584f65759L,0x3b6598970198445eL,
  77827. 0xc1635aefa87878e8L,0xcded2de7b779f2fcL,0xbcce07ca79b30a66L,
  77828. 0x784f05e143cc83b7L,0x18fb4648ebaf4810L,0x0000000000000118L } },
  77829. /* 29 << 56 */
  77830. { { 0x21cca143a0849267L,0xdb3c09476150ab19L,0x913aed807d17af24L,
  77831. 0xb9d184be112ef198L,0x51e8658a87ad4afeL,0x3af8395f440d7c27L,
  77832. 0xaa056c70a4538d3aL,0xd32da7d8fb38fbd0L,0x00000000000000ceL },
  77833. { 0xdd19261f7df2749cL,0x3d136e087f22ce77L,0x824d05c2e8e2900cL,
  77834. 0xbb9952149c7ed67cL,0x3d3500c36d5ca1e6L,0x3c05e9faa07cb4afL,
  77835. 0x3cdab734d4dc2a66L,0x8f0dbd5f524a3016L,0x00000000000001afL } },
  77836. /* 30 << 56 */
  77837. { { 0xde0a68bcc944ad6cL,0x5789ad9ef6a7c9ceL,0x5bd83d19ff4935c8L,
  77838. 0xa976293acf267a19L,0x04552718f1aef41eL,0xd87c58e4cdccd277L,
  77839. 0xd5d18bf72542f5a7L,0xb41bcf033a6a2a8eL,0x0000000000000086L },
  77840. { 0x21e495d3188aeb3aL,0x158ee1fff0ac6ef0L,0x18e6446f09c4dffeL,
  77841. 0x82fc447d9c1afb5aL,0x84595eeeace56f3dL,0x94f6edfe590928aaL,
  77842. 0x2b0c90f9b997105cL,0x71ba70da5d064ab3L,0x000000000000016dL } },
  77843. /* 31 << 56 */
  77844. { { 0x6ce8c00009abc364L,0x4ec14c04f010a407L,0x45e5c5da8c10a618L,
  77845. 0x91bbf4e4ca43655bL,0x171e65a9b62c2cf9L,0xdb1915f3821cd7faL,
  77846. 0x75cf2fe3e5acbc70L,0x46e005431959d2b8L,0x00000000000000ecL },
  77847. { 0x2a339ea5cc146e5eL,0x0d4b69e30a693102L,0x7b2707c6610642e3L,
  77848. 0x5ed9f43767880ecfL,0xfa1b6091b769708aL,0xba717e325aa5501bL,
  77849. 0x6833adaf1c963c7dL,0xc66016586e445c3bL,0x00000000000000f4L } },
  77850. /* 32 << 56 */
  77851. { { 0x9917e8cc2c863225L,0xe627d938dff7a5fcL,0x62017450d3c9fa85L,
  77852. 0x30453775ce2573f1L,0xcaaa02c343e3b41cL,0xf541c0065901e5ffL,
  77853. 0x78ec0e91e163aa77L,0x1cfd0693f446bf70L,0x000000000000009bL },
  77854. { 0x82aeb71678063f41L,0xc442f8a7861c6782L,0xccfbc9f3f28b51f4L,
  77855. 0x92a5f71127335516L,0xdb6dc76e23578ef8L,0x365972b3cfc25f57L,
  77856. 0x0dc48630afd7fcb4L,0xccd4f3de87ea6884L,0x00000000000001b4L } },
  77857. /* 33 << 56 */
  77858. { { 0x0cba78e07f180ae5L,0x651f442380de7820L,0xd2280fe6fdcee178L,
  77859. 0x0398d592f0604b17L,0x719a56a516c5f918L,0x521773981ba15826L,
  77860. 0x73e7c994b4cc167eL,0x46116f5351fc4cb9L,0x00000000000001a0L },
  77861. { 0x39eb2793fe76f997L,0xae5381c07344404aL,0xbdb170ea3a99ef88L,
  77862. 0x4b807687b9364627L,0xda38d1e6010cb096L,0x7a26ade40e9e8c32L,
  77863. 0xdba2bc77b15795a0L,0x4a4ef3a9e390b4ccL,0x0000000000000107L } },
  77864. /* 34 << 56 */
  77865. { { 0xb822040321dd5804L,0xc94d9465a3678e1aL,0xd4f146062c4bff3bL,
  77866. 0xcd466a747b9ebea0L,0x2b6ea1b11a3915eeL,0xbfe9fa8d4c9d25b1L,
  77867. 0x5acc811179c0b546L,0xc015bce832ae8d9fL,0x0000000000000199L },
  77868. { 0xb1b1a996c5d68750L,0x0e3f7bd1a3119441L,0xac55b06d80de3e62L,
  77869. 0x1901ae921cb02517L,0xbb05723529251d65L,0x84ab8976f8de5e88L,
  77870. 0x8b0306a18a2a5ceaL,0x9ff34fa9b109a4f7L,0x00000000000001c1L } },
  77871. /* 35 << 56 */
  77872. { { 0x8b2cc329e83b40b2L,0xd03981d20af83376L,0x223bb252aa06f709L,
  77873. 0x98fdf150d0ed1e1fL,0x7197d38267248d5fL,0xc87c56c008a30dffL,
  77874. 0xad81ab335715c061L,0xb4c884e24a323524L,0x0000000000000122L },
  77875. { 0x715113b529703ca5L,0xb22e290ccedaf9ddL,0x627021563b1af469L,
  77876. 0xe0bade40092e1c63L,0x1e7acfe15a88c7d1L,0xcdc94e4fb93c02c6L,
  77877. 0x8053412b444075f9L,0x73d22f8ea1d504feL,0x00000000000001a2L } },
  77878. /* 36 << 56 */
  77879. { { 0x36a54e320063e3a7L,0xb6ab589b2e92d11dL,0x8472d62cadfa6a1aL,
  77880. 0x57c611004799cceaL,0x7643922d8a3d93afL,0x55c52a1e7e3deed7L,
  77881. 0xa0399845e3d1e892L,0xe9e618c644708214L,0x0000000000000035L },
  77882. { 0x0f929bf6c945e0b5L,0xbf9d77efcd8bcf03L,0xdb81f7486f13964cL,
  77883. 0xad6fc6071da1d2d6L,0x658cbe0e689fa23dL,0xaaa75375cf636410L,
  77884. 0x5c69a9f55f5e58b8L,0x518fcdbee31fb8a4L,0x00000000000001d3L } },
  77885. /* 37 << 56 */
  77886. { { 0xe2ad01a012b9d5abL,0xa94dc3c22971085bL,0x6355e2e3013db1cbL,
  77887. 0x91e8f97c89904bc7L,0x4f79feeb5e230144L,0xafa43327cbf85425L,
  77888. 0xc3326b4bd442e79dL,0x696348b814e996efL,0x0000000000000040L },
  77889. { 0x4a58ba810613928eL,0xd30d25defaff6e4cL,0x6ad322500b0b681dL,
  77890. 0x79e4e5c4e8c851fdL,0xc90a7058e2a3530aL,0xe2f77504052a52a5L,
  77891. 0xe34ab1ae2475a042L,0x9cef5db6ac963f34L,0x00000000000001d1L } },
  77892. /* 38 << 56 */
  77893. { { 0x0b472c43ecfb80deL,0xb75578188d5196f0L,0x30b9f8aeed8ed1caL,
  77894. 0xa918b126b15b2bdfL,0xe178db2f9514c041L,0xeb5a0fde8071a8e0L,
  77895. 0x21a6b6aaa6e3fbd0L,0xcde45edad9a740a3L,0x0000000000000193L },
  77896. { 0x6ce6ff4ec84efc29L,0xf7196b6a7acbfc4aL,0x5738f1534c99adcbL,
  77897. 0x0f8d6be935bb6865L,0xaed7c338f140328fL,0x3ca7470417870fb8L,
  77898. 0x09445978820d213cL,0x35cabb29e28e0ea3L,0x00000000000000f6L } },
  77899. /* 39 << 56 */
  77900. { { 0xb78f9b1e46e1e6d1L,0x2ed415ee865fb220L,0x3360c23105fb6fb4L,
  77901. 0xd9e41dc9b4123875L,0x850bc64de51cfcb3L,0x5a4028277fb29e1cL,
  77902. 0xa819c1459a1fd35dL,0x8963c9145adf53f3L,0x0000000000000096L },
  77903. { 0x351539579dc592daL,0xced12343842c7d44L,0x45e5c8029b3ca1dfL,
  77904. 0x93fc7aba55fca7dfL,0xcb44a2f1565bfe7dL,0xeab3c41a6a6d828eL,
  77905. 0x832aaaf0b3280533L,0xc36ebe30002f19ecL,0x000000000000006dL } },
  77906. /* 40 << 56 */
  77907. { { 0xbfe65b92256f11aeL,0x41a8ca150644ccdbL,0xe72c186365b6247eL,
  77908. 0xe9f2d3429527c44dL,0xf6db950dd064e99eL,0x02e75e2bfa7900bfL,
  77909. 0x159712c560f397f2L,0x26eb5985287407e1L,0x0000000000000159L },
  77910. { 0x252ae5169ac237efL,0xf57b24855909b88eL,0x78c4a6859abf3888L,
  77911. 0x0e57276f7fbe4495L,0xb9f442a4dad1dd50L,0x20323a507183d2d5L,
  77912. 0x1e676b45da92af11L,0x175b3098b5f33ca3L,0x000000000000015cL } },
  77913. /* 41 << 56 */
  77914. { { 0x942771e527b66afcL,0x5a76b2fdd50f0efaL,0x299b8398f6f37575L,
  77915. 0xb9e442799d7b0cb0L,0x7962c682564cf210L,0x70aea74fa2ec8efdL,
  77916. 0x7ebb28461b348292L,0x40b56fbf19dcd6d3L,0x00000000000001d7L },
  77917. { 0xe4ff5d4aa08f1cb4L,0xfdce86fb3ff162ccL,0x995a1749d9c055c8L,
  77918. 0x5be6cef5e3361d50L,0xda779c62528fda04L,0x0264ede22f552d58L,
  77919. 0x28357e96ad3823aeL,0xc574b6220958846aL,0x00000000000001cdL } },
  77920. /* 42 << 56 */
  77921. { { 0x4d949b43a2192eb6L,0xd0de4a428ff40937L,0xe301c8c698fc090bL,
  77922. 0x2165e3123a1432b5L,0x30a1e1eb1a548d24L,0xb66c9f969ea5f18aL,
  77923. 0x28de679479bd7860L,0xad6af8cee995d105L,0x000000000000017eL },
  77924. { 0xe62d25e80f66e7fbL,0xeb2b047e88130c02L,0xe5efabe5f80b2318L,
  77925. 0xba1f6034e02a6606L,0xe48ec52ac80eff69L,0xd8b89963cd47e665L,
  77926. 0x2694fa9e78df8006L,0xd934e06fdc90bb92L,0x0000000000000104L } },
  77927. /* 43 << 56 */
  77928. { { 0xbdc431c9ad266526L,0xbcd5379c9e6ba1ebL,0xd8fc65f5826ce26aL,
  77929. 0x507c025156e89a30L,0x8ec5b4caece29675L,0xdd420cc204892288L,
  77930. 0x918fb43e1582ffe4L,0xa3d0b98215ec5417L,0x000000000000016aL },
  77931. { 0xdeecb7356e2a93d2L,0x9def735bd30c86b8L,0xe0df13b92ae8f100L,
  77932. 0xd9f31ccf470824c5L,0xe80be73073dd956fL,0xe807bc69658cc359L,
  77933. 0xb8739dedee8aacc3L,0x55c2bcac185d5debL,0x0000000000000123L } },
  77934. /* 44 << 56 */
  77935. { { 0x62044fa7be3ae5f4L,0x5d17023b9ee07956L,0xb01411700a1c53ceL,
  77936. 0x390aa024b633da2bL,0xad7f59f5895bf18aL,0x3124a23cb468fe0cL,
  77937. 0x92ca9da8b12aa6f9L,0x25147c19ebb5363aL,0x0000000000000022L },
  77938. { 0x900b43421dab5723L,0x0e396b3038ee6d5aL,0x1d3fd7ae1561252dL,
  77939. 0xd169e474281a619eL,0xf25b8b97bef82d20L,0xa77f259526ffd23aL,
  77940. 0xc4075d3659107aa9L,0x4989a721e23d327cL,0x0000000000000043L } },
  77941. /* 45 << 56 */
  77942. { { 0xeb1574d03f710952L,0x9657aa2874526b72L,0x7076e904776a3edcL,
  77943. 0x83f624e2036e6cf0L,0x270d20bab0e58a2cL,0xef81f06d5199fb54L,
  77944. 0x50f81b5e9ba0b9d1L,0x14e233d537d9444cL,0x00000000000001f7L },
  77945. { 0x9ff63f3750de8a6dL,0x714682f14a57ccbaL,0xb16d90f38d6253f0L,
  77946. 0x2690aca4f1fb2279L,0x5c8e1c463fcd9343L,0x1f2f4c3f2b43dfd0L,
  77947. 0x9deb00529b4e03c0L,0x75061f03526d24e6L,0x00000000000000bfL } },
  77948. /* 46 << 56 */
  77949. { { 0xe2ca98a649f1acc8L,0xb46de54a52116d8bL,0xc5be41266f108234L,
  77950. 0xb5e07998003f2803L,0xe387c00379eff438L,0x4c0287daef9ad35cL,
  77951. 0x0a8181cbd85d5441L,0x70ca63cfe9926489L,0x00000000000001e7L },
  77952. { 0xdc2fe75c91ae2059L,0x4e23a3c7eb458c3aL,0x02922886913edb61L,
  77953. 0x66549c892805c886L,0x599148224b1cc49dL,0x3326135d3790bfbbL,
  77954. 0xaa62b1535b40d61aL,0x06f704773550a984L,0x000000000000011bL } },
  77955. /* 47 << 56 */
  77956. { { 0x23c79b50ac79f04dL,0x96ace814167f28e0L,0x5644752c2d99e5a8L,
  77957. 0x28bfad59c099f81eL,0x27250746e9970582L,0x210db573f528c364L,
  77958. 0x5b59afc5e8f782d5L,0x402269fb05ace43fL,0x000000000000018eL },
  77959. { 0x1f133f478b618330L,0xb691d541312582e0L,0xf40d84c8a3f64f94L,
  77960. 0xb2ed7ae2d60b793aL,0x0b604ad005a966ceL,0x12809a7526260877L,
  77961. 0x1248f6b2686c8bcbL,0x4eea6c43474eb54dL,0x0000000000000045L } },
  77962. /* 48 << 56 */
  77963. { { 0xc1d7001b26e22b52L,0xb4b208962825905dL,0xa064fdcde739e7beL,
  77964. 0x83bfa334f2d62d9aL,0xa2baf3892758b810L,0x3a88f2e4ebd64633L,
  77965. 0xd621be3476dfd697L,0x7168c0779f4a85c3L,0x000000000000017eL },
  77966. { 0x5b8f06f520f8f0eaL,0x95e44505cfacfc46L,0xe20192bd787844b5L,
  77967. 0x316468c44a04adc2L,0x30d71497d6774463L,0x7c826a925a606a2dL,
  77968. 0x22abadf981ba512eL,0xeb15b45fce26365cL,0x0000000000000146L } },
  77969. /* 49 << 56 */
  77970. { { 0xb9887fcaf7bbbaf0L,0xf0826aeca4ce1d88L,0x4d62ea62c4f7965fL,
  77971. 0x06f15abe449e26f1L,0xc18e11f2b31e5238L,0xf8b93bbc1af9d49aL,
  77972. 0xcd0a8fb808d073aeL,0x4b51841540d4dd9fL,0x00000000000001e8L },
  77973. { 0x7374840c30998d71L,0x589382d436ccc41aL,0x9ca23a60306c2184L,
  77974. 0x176eee48b753b87fL,0x434f008845478462L,0x3fb180f1636c669aL,
  77975. 0x558742218a7ad6a7L,0x8abfe4a668f8bf1aL,0x000000000000015dL } },
  77976. /* 50 << 56 */
  77977. { { 0xd232ef02f6009ce1L,0x33e196f312d0c06cL,0x61b889c3d37ab4c6L,
  77978. 0x6994c1271c3a216cL,0x50bff9f8aecf084eL,0x7d2e7c71fa0d3536L,
  77979. 0x4d0c3a44f42e86b3L,0x42a1cf960b3e7d90L,0x00000000000001b1L },
  77980. { 0x6bfc53d7f9bec891L,0x0969a0d9708ecba2L,0x57d04efe31b7bc78L,
  77981. 0x7ebd3fd128efd902L,0xa9cfa0e9fd6e7da3L,0x39fae95964c474b3L,
  77982. 0x6549f29eb68d9f5cL,0x3c570ecc13f84c68L,0x0000000000000060L } },
  77983. /* 51 << 56 */
  77984. { { 0xbf9a21ef1634ceebL,0xb16b78a414c68429L,0x7ff643a098fb371eL,
  77985. 0xc733a0a42e44c567L,0x24e633f2d310aee6L,0x3ce8bdb316e3c03bL,
  77986. 0x3ed7a15b662d44e8L,0xa81ea8e22329d421L,0x000000000000000bL },
  77987. { 0x28405c80d6491d1dL,0x6ac0cea7e069e536L,0x6d6d4d3e7e67cf0bL,
  77988. 0x889fe753240ea8e9L,0xcbbf7c5b0a89ac1dL,0x1dd88ea1a2477925L,
  77989. 0xefd5f0e148e2e534L,0xaf56b1c5af3ff0e0L,0x000000000000003bL } },
  77990. /* 52 << 56 */
  77991. { { 0x02d6a09b39435d76L,0x14607c4033261f8fL,0xb7bbc6828cfa6714L,
  77992. 0x24891fac3486f8c5L,0x940f9bea8592cea5L,0x20d420065230ad37L,
  77993. 0x3bff94e036b6e919L,0x596fec36468065a8L,0x0000000000000163L },
  77994. { 0x1836fecec86ba807L,0xe1f9af2970ec6073L,0x51b5a102f4de5c91L,
  77995. 0x0108f1ed8eed7ffdL,0x22569348f45657d1L,0x59b9601720dbe0b7L,
  77996. 0xa90e49237730150eL,0x477531f6182fbcc7L,0x0000000000000106L } },
  77997. /* 53 << 56 */
  77998. { { 0x4e73f4eea189246bL,0xf9fecdedca87ad2dL,0x207ec7d5e2e3d505L,
  77999. 0xf37313baff1083e2L,0x16c97e9761bd24c3L,0x89474bb93845239dL,
  78000. 0xca1c54f442bcd760L,0x20cae9061413c906L,0x00000000000001f9L },
  78001. { 0xa2333077c7397651L,0x5c211fa519423669L,0x559cd47daed32353L,
  78002. 0xadff408bedc217ebL,0x40cf1b33123dc0f4L,0x839ce0897e4a35f4L,
  78003. 0xff76ddbefb7762b1L,0xe8e61888a4957ad5L,0x0000000000000130L } },
  78004. /* 54 << 56 */
  78005. { { 0x591de5c6362c4edeL,0x39aa3a8cf936a410L,0x471d9875f45a68eeL,
  78006. 0xab848bf26417283dL,0x3930f64c17395a6aL,0x46c2c2ecd5c088c5L,
  78007. 0xc82eea0217d1685dL,0xd2578ceff9e81418L,0x000000000000000eL },
  78008. { 0xd203425d8941c18dL,0xebbd3e9aa73385c8L,0x13b2699de2650901L,
  78009. 0x021e79314a90be3cL,0x6af0b6e9e7819b93L,0x2eb061baaa10e875L,
  78010. 0xdab14c0d7d693ff1L,0x23a83afc0f7ce5e2L,0x0000000000000139L } },
  78011. /* 55 << 56 */
  78012. { { 0x3415bc0daddd94aeL,0xb6da870e206a5091L,0x383aebe8951ecb36L,
  78013. 0xe2381acfc3cc4b83L,0x2c57fcd46077da9fL,0xec27dce3cdc2bfa4L,
  78014. 0x5fa457d7ac74831bL,0x70929b9d873146d5L,0x00000000000001f3L },
  78015. { 0x2898bc157ff3cfb0L,0x933c69db1b1cd249L,0x21dab0321a6a3715L,
  78016. 0x06e0bc6b6ced718aL,0x93052d3510328c54L,0x8cc2fac1d73c7c80L,
  78017. 0xcd2b155686936113L,0x458e24e07668b2bdL,0x0000000000000168L } },
  78018. /* 56 << 56 */
  78019. { { 0x5ac4879b41fa2753L,0x2b60d3a8345073f1L,0xe2046eb872eac59bL,
  78020. 0xf480bccdf197df4cL,0x326cfce9578d9371L,0x15c3eff387f19540L,
  78021. 0xf5d1f2f62d76b437L,0xaa3b9f284a2d837fL,0x000000000000004fL },
  78022. { 0x3bb0f06972915337L,0x3514f6f95f8295faL,0x1dcca7e3156a036bL,
  78023. 0x68d2d0615d48ae2eL,0xb5731bd212ac786bL,0x4015ce122bd726a6L,
  78024. 0xd3b325b52f972524L,0xad89e2c715ca38b8L,0x00000000000001dfL } },
  78025. /* 57 << 56 */
  78026. { { 0x80f3752746ba3374L,0x17c3915a76b9250cL,0xa81ef86e5641a4faL,
  78027. 0xdb65b01ec2e3b903L,0x46b79c9acbaa007dL,0xf96657aafa03f7d5L,
  78028. 0x39c73fbcba538237L,0xe95777559318c4a9L,0x0000000000000063L },
  78029. { 0x78d1e0b2fb143ab2L,0x93fa7bf4cac9457fL,0x316cc8b62c49a2ceL,
  78030. 0x5aabc3b2f41cd892L,0xeee80db1bc9a08faL,0xfb07f5c1b59f1a2eL,
  78031. 0x1d1ae1622a1ae2cdL,0xfb1c023c3b5e28b2L,0x00000000000001a0L } },
  78032. /* 58 << 56 */
  78033. { { 0x57e6838723bbb10bL,0xce43b3fbe2d50c09L,0xf1dfd466de95334dL,
  78034. 0xd33833ab00568c70L,0x3b07afa03dce59d5L,0xe06155f041d46076L,
  78035. 0x66345e81ec062903L,0x35831a3a7d9d7c58L,0x00000000000000c9L },
  78036. { 0xcfc25d2564cfcde7L,0xb06f5dce33ced182L,0xe4c9634dd03004a1L,
  78037. 0xfb6ff3a0ae1218d2L,0xd789018b67a58246L,0xecb1e40866957bbcL,
  78038. 0x905b08ad2c29f673L,0xb1a3289d3755ffdaL,0x00000000000001e7L } },
  78039. /* 59 << 56 */
  78040. { { 0xdb31fac07977f851L,0x94f0265d50bac93fL,0x112b3aa3de5cc643L,
  78041. 0xbd801c10091773b4L,0xd39349f406356000L,0xb6d10739951a5fccL,
  78042. 0x67c4c2a346a64c7aL,0xbbff71099b914860L,0x00000000000001c0L },
  78043. { 0x3bfe3e8b848ac957L,0x05211d3b5389375fL,0xeb0bc5c75c156ba0L,
  78044. 0x08d24e2a1a7a553dL,0xfa0cc235b328cb81L,0x782a58dc91f27c34L,
  78045. 0x149da3fa1cdf0ee6L,0xdab41dcbf1d7c685L,0x000000000000013eL } },
  78046. /* 60 << 56 */
  78047. { { 0x468816bf0e4b804cL,0xe3c85f32cf84abe3L,0xf2a460f32a6e257bL,
  78048. 0xfd519486a6979e17L,0xbc722a3681e12915L,0x43285362e2965c8bL,
  78049. 0xeb684e297dd12eb2L,0xcf0b3d2c51940f61L,0x00000000000000b5L },
  78050. { 0xa9d02d65f2905443L,0xf19253da29be718dL,0x6fbe038204a5ffafL,
  78051. 0xd4d42b3a5466364eL,0xf2575aeb4fb8b934L,0x56a35ffa88dd5475L,
  78052. 0x894d296f67b692e6L,0x50e6c388fb45781eL,0x000000000000018eL } },
  78053. /* 61 << 56 */
  78054. { { 0x352429236de91b7fL,0xe73222409cc8a649L,0xee8e66a463b2941eL,
  78055. 0xc8bd62c66e2c9a28L,0x3e82ac1bc43d158cL,0x2eb41b3b9be8efd0L,
  78056. 0x551eec869d585174L,0x258c356317ccd162L,0x00000000000001e4L },
  78057. { 0xe63ed8577a7d717aL,0x0f09b874c207eb1fL,0xbb94042c0ecdee46L,
  78058. 0xd08478728f418f3dL,0x3eab958e700177deL,0xc326a47822aea03dL,
  78059. 0x22d01a0f37ccd3d3L,0x0bbe9ef8f9dda412L,0x0000000000000140L } },
  78060. /* 62 << 56 */
  78061. { { 0x0c949e8cc853e7e9L,0x52feaad8231a9c75L,0x382cfee233fddf9dL,
  78062. 0xc6b412401b081917L,0xbb2af113a5800aceL,0x203d3b3f62a15a88L,
  78063. 0x174b2602c32d6121L,0x32bc39cfd9a93228L,0x00000000000001f5L },
  78064. { 0xf13bf17ed40e0765L,0xc54f2409c1eda9b9L,0xe824c8805d92029bL,
  78065. 0x43d79cbb1e13c2d3L,0x4b8b896c14d20cb3L,0x3c32a0d82559daa6L,
  78066. 0xdd2321a03cfe4976L,0x6dc9b1af4fd3ecceL,0x0000000000000024L } },
  78067. /* 63 << 56 */
  78068. { { 0x0b7ce8de2ef7874bL,0x7b4bfaa070157203L,0x4b6f5fcb1af1491eL,
  78069. 0xc0b9acac1e572d0dL,0xe4012cfb1d5fcf38L,0x80f2e86c0a1993d1L,
  78070. 0x4c7ae53b9d2105deL,0xabfc15200cf27789L,0x00000000000001f9L },
  78071. { 0xb62c40f483f73444L,0xd3306a87826409c7L,0x9f04fded3ab05940L,
  78072. 0x3d7534fb2d9db0f9L,0xe36a557d5f5bff91L,0x3c009b9826b33300L,
  78073. 0xfee7231232a9d384L,0x1d83185a7c1210c0L,0x00000000000000b4L } },
  78074. /* 64 << 56 */
  78075. { { 0x72f88bd2a3b42a3eL,0x7cca9272c8287e7aL,0x527c4a5caad93849L,
  78076. 0xfb481c75da6615c2L,0x27ce59bf042b3497L,0x70b3fea29ef62e76L,
  78077. 0x025ecfc40d097f4bL,0x5ef137da607f9d21L,0x0000000000000053L },
  78078. { 0x3295047616741f79L,0xeaac9e23a4e120e4L,0xe15f333776f4fe2fL,
  78079. 0xac402f2d8028f30fL,0x87a6b88b99c4b4d3L,0xfedd124cb0866e18L,
  78080. 0x07c5d4334aa80397L,0xafdfa6830961d56aL,0x00000000000000a6L } },
  78081. /* 0 << 63 */
  78082. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  78083. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  78084. /* 1 << 63 */
  78085. { { 0x1f70b2980af43bd4L,0x9351c3c2d13901f9L,0xf702c613845ea55bL,
  78086. 0x892be0152c193388L,0x485c40141e6adb21L,0xf394d50e9296f310L,
  78087. 0xda5872dfb9ab0f6fL,0xa10bd887f5d389aeL,0x00000000000001c6L },
  78088. { 0xe268935dc8f44c3cL,0xaa7e595bfa72991bL,0x78c2a8e39bf7d8ceL,
  78089. 0x0caadde13b655948L,0xd9444be5c080228cL,0x4990733bf651b425L,
  78090. 0x7513085102578b0fL,0x5c375bb3c5635719L,0x00000000000000d6L } },
  78091. /* 2 << 63 */
  78092. { { 0x94a182e2689dbe3cL,0x2d8ee16602610256L,0x4d0cb259e6294291L,
  78093. 0x244db1200a7fcf2dL,0xb50d34b08f58f3afL,0x2ad4b9ec13275075L,
  78094. 0xa19beccfc96bfcfaL,0x1a5509da86f5baf0L,0x0000000000000185L },
  78095. { 0xefe1469c5ac043e6L,0xc86b77217d273130L,0x2324af0c2606809aL,
  78096. 0x33a3324e21800fcbL,0x8a38f30fa6b0d999L,0x12db51d0d038b182L,
  78097. 0x53ca86ccb3490ff5L,0x2ecd7ecf7a935163L,0x000000000000016fL } },
  78098. /* 3 << 63 */
  78099. { { 0xc4bc947556f30775L,0xb8bffac8a7779bc2L,0x59c0b0079550271dL,
  78100. 0x68dc98306303b3f7L,0x4079b84d19d6cca7L,0xb3a87933f7ff41a1L,
  78101. 0x8417384b97ab2b4dL,0x795a4fd926faec00L,0x0000000000000179L },
  78102. { 0xc72b8fd99ce51ceaL,0xc230b054cc876f6fL,0xfdb6c8fa23c093c2L,
  78103. 0x6c7406112bbd837bL,0x5f6bc8c543802bffL,0x4cfcbe27f9bfb3f5L,
  78104. 0x7ed94f5c4444552eL,0x12cd078f366d40dbL,0x0000000000000089L } },
  78105. /* 4 << 63 */
  78106. { { 0xf192b0164b374ff4L,0x3aaded48125fd529L,0x57484ac45dfa717dL,
  78107. 0x815b6549a4b4e41eL,0xe230ea493153d4afL,0xbd883b1277769a23L,
  78108. 0xae58965ead605e32L,0x4cc9cfcf77179455L,0x00000000000000a5L },
  78109. { 0x5cfe2ea43f30741fL,0x79c512a52565e3d7L,0x9a4075adaea005bdL,
  78110. 0x6b2593277fca076dL,0x1ea80148166a3678L,0x25075d36d75fda30L,
  78111. 0xd9f2bba9ad53e052L,0x04fc6adc182ac606L,0x0000000000000090L } },
  78112. /* 5 << 63 */
  78113. { { 0xee4779be0ebd57d7L,0x459b071978264e7fL,0xc881006f4bb02fc8L,
  78114. 0x9379e60f2a5e085dL,0x4dbca56b92d5f103L,0xb12b712ee2f44c2dL,
  78115. 0xb00fd84a642c9631L,0xdec635e926d7fa3dL,0x000000000000006aL },
  78116. { 0x6c7096bf5787204cL,0xff933f0d77eeab07L,0x98ce764279f79751L,
  78117. 0xa30afccb5d93fe38L,0x5019a10fa1509d52L,0x6da21e0612f60c20L,
  78118. 0x0caadc3c96ee3760L,0xc316231446e7b054L,0x0000000000000129L } },
  78119. /* 6 << 63 */
  78120. { { 0xbb3cb4daaa283027L,0xb3284a114637a686L,0x2f675f378d4d1678L,
  78121. 0x4d2b46fe6bce4a50L,0x65e0d06d583ad60dL,0xa897d633525ea4b7L,
  78122. 0xe2aa9fcc42bb371cL,0x8f91d296dd500e47L,0x00000000000001beL },
  78123. { 0xc43c6cffaf7965f1L,0x116c957ca63638dfL,0x80c1361be5a3f8a7L,
  78124. 0xa1f87abecc9582d3L,0xd47bc0102bef1ff9L,0xdb660935f3fe712aL,
  78125. 0x8cc56dcfcc584a15L,0x27984274a035f2efL,0x000000000000019cL } },
  78126. /* 7 << 63 */
  78127. { { 0xfee036b2d5a60b38L,0x6c09cbdd3de853d2L,0x11f2edd4d74766efL,
  78128. 0x19ec36dabb8e5e8fL,0x3755e6f8b103f6efL,0x79a6edc7cfd76631L,
  78129. 0x7f3d410265a8227fL,0xc02ea4d369326d57L,0x000000000000019dL },
  78130. { 0x8d5764e32379c4a9L,0xdee4a0f9250aef31L,0x88e469b586f0044aL,
  78131. 0x4e83703b0ef683ecL,0xe5887ceab9688ea3L,0x6b42207428d29d78L,
  78132. 0x3a20510f60098e8bL,0xa6d929986b4eab5cL,0x0000000000000172L } },
  78133. /* 8 << 63 */
  78134. { { 0x803986670f0ccb51L,0xb87e1d013654974aL,0x7f58cf21b2b29ed9L,
  78135. 0x06c0e9aaa3add337L,0xf13b35d0e9d08ffbL,0xdd8bf44c96761627L,
  78136. 0xa4a18c14758a3ef4L,0x96a576dda0043adbL,0x000000000000013eL },
  78137. { 0x2bde24f8632d95a3L,0x79f15ef14c524829L,0xaadd863e9bdaba19L,
  78138. 0xdde053f4a962b707L,0xc598a2de14258d98L,0x9fa5a19d061c235cL,
  78139. 0x0ed46510e8ffd32cL,0x2aea9dd1ef78ceacL,0x0000000000000185L } },
  78140. /* 9 << 63 */
  78141. { { 0xdefc05a810b7033aL,0x3f675458ac32078fL,0xd3ea130a9dda153bL,
  78142. 0xda427c6edbbec7f2L,0x10c3809b269c27d6L,0x6f00e4483acf442fL,
  78143. 0x00cd414cae989dcdL,0x33eb20b2f559398aL,0x000000000000013fL },
  78144. { 0xd16d5178ee191966L,0x641a327ef65d2127L,0xac8d07fac5fe58aaL,
  78145. 0xf0bf06d10e428901L,0x65ea2147d6f1477eL,0xdf1a1634f78e78f9L,
  78146. 0x43cec4b2889a387cL,0xb52152850e161507L,0x0000000000000163L } },
  78147. /* 10 << 63 */
  78148. { { 0x2bb9d8b5b329f7d3L,0x7e561b23569eba9bL,0x65fdae9309b7bca0L,
  78149. 0xf4206737ef327916L,0x2963cd698f7b2113L,0x3b22a38a9cc9532fL,
  78150. 0x455c3790b31def2fL,0x9a6cccd5931e5346L,0x00000000000000e6L },
  78151. { 0xe9860742981c49a8L,0xc6bbffefdac58cfbL,0xf28ca98c7dcbbfa6L,
  78152. 0x6a53c5d43e512f79L,0x072d38f9fee0577dL,0x75fc677e0b2260d2L,
  78153. 0xe1ce6a188e97c4b8L,0x48308dff3d3b1e4aL,0x0000000000000109L } },
  78154. /* 11 << 63 */
  78155. { { 0xbc61c248776b9816L,0x2c83f888139741f9L,0xeab3396648a694d8L,
  78156. 0x6a7740beddf8a509L,0x3bde3e01f388b62eL,0x5c579737c76e98eaL,
  78157. 0xafea98992f10893bL,0x1d6486dafbf3549aL,0x00000000000001b1L },
  78158. { 0x43087f5893143072L,0xe844a95631e5c89cL,0xed5c4e44bee070faL,
  78159. 0x7371101a889fd481L,0x282498090f890001L,0x4c8a8d3097b45376L,
  78160. 0x4fcaf87c54c665a0L,0x8685ba22863ed8b9L,0x000000000000019fL } },
  78161. /* 12 << 63 */
  78162. { { 0xd389b38cd19f496eL,0x9868052fdc520fb4L,0x698b397ebf6e877eL,
  78163. 0x7896e7ac15d39a80L,0x3eecc9b5057ce533L,0x00f6cfc7001509b4L,
  78164. 0x8c2c3d6ee01e25f6L,0xf64a3e270dd1056aL,0x00000000000000f4L },
  78165. { 0x192245f8ba1bde97L,0xb68aa03741e87accL,0x849cb6e449d24c74L,
  78166. 0x93c36f752569de67L,0x93542a5630ad91a4L,0xa802f2bfcd021165L,
  78167. 0xf3eb185fcecd5cdcL,0x42ef43d9ae520746L,0x0000000000000185L } },
  78168. /* 13 << 63 */
  78169. { { 0x78a7620a8a3944cbL,0xca1330ad3a2c833aL,0x151fe934a9fff1aaL,
  78170. 0x03baba7dd19fba22L,0x8cd7ec0578147950L,0x8e217c558062827dL,
  78171. 0x91e43f9a80a596cdL,0xe63325fdf60dd85bL,0x0000000000000109L },
  78172. { 0x3beb5eceb5446496L,0xdb683de1a5d6592bL,0x1e1c60087cfee827L,
  78173. 0x2c4433fbaf08ef62L,0x6818f3ec36270cc2L,0x03581a8683829e2eL,
  78174. 0x40161dd9a2a84e47L,0xfe30fa15a62fe107L,0x0000000000000013L } },
  78175. /* 14 << 63 */
  78176. { { 0xcc39400a70a75215L,0xd237b4077ebe4792L,0xb2cf5c3bd20c2507L,
  78177. 0xe7b00e11daa4c46dL,0xa576029d38cec7a9L,0x699005e7b05e1375L,
  78178. 0xb88d5837f1b051bcL,0x054f8abb44630f00L,0x0000000000000060L },
  78179. { 0xe53a8d17da2bb0c3L,0xcfdd266cae7bdb56L,0xd9551cebdb11c9b9L,
  78180. 0x1a11ac221fc5b3d0L,0x63056e13e161a118L,0xdfd99567f76b5e73L,
  78181. 0x7f5f7283836f2217L,0x8323f67fac0c57e8L,0x000000000000001aL } },
  78182. /* 15 << 63 */
  78183. { { 0x49581733db3272b4L,0xae447ec9076cd8bfL,0xfa292064666afbe3L,
  78184. 0xf8194e0e317ff821L,0x87ab3e6df316b471L,0x2d909542058df8f5L,
  78185. 0x951e4970d7fd5afbL,0x073c56e8e8f2f73eL,0x0000000000000175L },
  78186. { 0xcd8497e0c3995b6aL,0x76d443067eda0594L,0xc71be704d1359e77L,
  78187. 0x3e29076941cc9d7aL,0x7762b707ad2c5ff9L,0x4208efa8d4102ac3L,
  78188. 0xfa15b04cc6d0e969L,0x977815e5ee7e56aeL,0x00000000000000b2L } },
  78189. /* 16 << 63 */
  78190. { { 0x2838cdbfeb5a169aL,0x25c826c4e1505d76L,0x2d5b0ff8c512faf2L,
  78191. 0xcf831e691e5cd6d6L,0x4540775caf5eda1fL,0x4f4514da5ad5605eL,
  78192. 0x8472b1ae2f87cfdfL,0x07c8cbcc9e338ce6L,0x000000000000014dL },
  78193. { 0x096ab718d9243216L,0xe966635fe37cff51L,0xced8fb110586ebbcL,
  78194. 0x3216d6af86abe6f4L,0x37392a301b77f4e2L,0xecc903afb8ef62b3L,
  78195. 0x0453dc44fd74231eL,0x3cb3927b57895508L,0x000000000000013cL } },
  78196. /* 17 << 63 */
  78197. { { 0x6e902960eae03d4eL,0xf94cc9d57676a731L,0x0a624542451cd174L,
  78198. 0x702f8c7ff9a07db6L,0x9c4d40d28812a01aL,0x3fdb4c44d775f115L,
  78199. 0x3ac9ed82f31b60aeL,0x0c7df028f7bfbf86L,0x00000000000001cbL },
  78200. { 0xf0269e95a5da962aL,0x3cd5a3532fa54061L,0x120017f41745823bL,
  78201. 0x8032a3c67de7a766L,0xdea8fbfb36927fd0L,0xc8a86f2deffef472L,
  78202. 0x1931f92fe94c1b8aL,0xd2aaccbcae43c384L,0x0000000000000023L } },
  78203. /* 18 << 63 */
  78204. { { 0xa1b0bbc3e372d394L,0x4eecaeca8044f021L,0x97636d0124c350e7L,
  78205. 0xf1f047ef209d0e2dL,0x0f922e78d12b0758L,0x8808519a01a2a08aL,
  78206. 0x6570af356b5dcc8bL,0xee31edf8b59cee8eL,0x000000000000003eL },
  78207. { 0xd467ff1c9bcdfe17L,0xa6feffa02d58b7e4L,0x3b8f9b17271e5025L,
  78208. 0xbe2d94786c151628L,0x934cf55f75fa8b04L,0xd6217d62abf8e3efL,
  78209. 0x6f1625cc9841059aL,0x8d4b7142ed8bf5fcL,0x0000000000000148L } },
  78210. /* 19 << 63 */
  78211. { { 0x2f17878e04af92fdL,0xdf29ab114470d793L,0x62094a2a645c90daL,
  78212. 0x386b0df0e461f0d2L,0x0ba305e3fcfc889bL,0x01b6e611b9ce50c0L,
  78213. 0x396be840f25a09d7L,0x6bd838a8d5715b41L,0x000000000000018dL },
  78214. { 0x60d5c8f971c336e6L,0x7967118885352eb0L,0x58de4fd6d579c51cL,
  78215. 0xf65c5db8b8e61555L,0x88023de715ccbec4L,0xf2334044e8662625L,
  78216. 0x469745190bbb953eL,0xe8eeca46d6f4b217L,0x00000000000001a8L } },
  78217. /* 20 << 63 */
  78218. { { 0x6bab39543f106abaL,0x3d9c29e352dc57c5L,0xbe339e28d50ff250L,
  78219. 0x247c8a49f08b8b6cL,0x79dd3128317bbe5eL,0x735c5b6dd533b321L,
  78220. 0x1374c3a28fd164c9L,0xce029be81cd71fb5L,0x00000000000001e7L },
  78221. { 0x0657b663c6aac6a7L,0x0dfd84e22f233cfbL,0x210fbd7bb2f9d0b2L,
  78222. 0xd7e7ca02a90dec0dL,0xc37d11213fa3b10cL,0x160276ee1aff3c3aL,
  78223. 0xd825f5ceca6d0545L,0xe03cdac46558c1bbL,0x0000000000000124L } },
  78224. /* 21 << 63 */
  78225. { { 0xe3bdc41f8a78618fL,0xe5e00b1c2fa238c3L,0x132f66010ad92caaL,
  78226. 0x35cdcd7606de8ddaL,0x78c2f93ab95776e5L,0x3819082008f8ed10L,
  78227. 0xa2862e2c045f708aL,0x5bd7b941acb45943L,0x00000000000001c8L },
  78228. { 0x23fbe1be22514d9aL,0x7e20070b8cd4c4b4L,0xb77618475401c6d5L,
  78229. 0xa95163e18bd87a02L,0xc87858801cce9d98L,0x814bc82ea8f70e71L,
  78230. 0x166f6fded4ddb0eaL,0xc2e1b1800be17361L,0x00000000000001fdL } },
  78231. /* 22 << 63 */
  78232. { { 0xd238e451a7c101bfL,0x0bad1bd28a0e4552L,0x15eb91427e77916bL,
  78233. 0x9c8ef51649ebcc4aL,0xf6425c28ca085959L,0x498ce242c87d4707L,
  78234. 0x14b8121edfbf2093L,0x338d5aacdc3b4580L,0x00000000000000e9L },
  78235. { 0x886a911f6177b4ecL,0x6d305ab15a7d1548L,0x6ec3be3475e8baeaL,
  78236. 0xcf1cb5a7891bdf87L,0x9aa5f7ec6088b030L,0xe261eedf83288f6bL,
  78237. 0x2db08f6444678f76L,0x8d912da6c1cc7f63L,0x00000000000000e2L } },
  78238. /* 23 << 63 */
  78239. { { 0x03241429b406a7c9L,0x1b3c5b0c0308dd8eL,0x27f414dbcb00e3ffL,
  78240. 0x8a9e850bba256af6L,0xd8f206fadb86c3b8L,0xaf051dbdec108e78L,
  78241. 0xf8093ab3972aaeffL,0x2bc37f41ac85f743L,0x000000000000006eL },
  78242. { 0xf57594cbae5ca3d2L,0x0b140cbbbc1ec354L,0xcac08c4c7d8c40c9L,
  78243. 0x0266382d8f8f46cdL,0x9a78dd2907b8649fL,0xd8fe7b2347d25b30L,
  78244. 0x322a7bb1b13c050cL,0x7a03a032e5ce60b1L,0x0000000000000140L } },
  78245. /* 24 << 63 */
  78246. { { 0x0644bc15b320de71L,0x2ed296112aefad3fL,0x67754c4c88519d1dL,
  78247. 0x47de1837e5f01818L,0x8ea1dd7e63033410L,0xc1abbecd8f6b2c5cL,
  78248. 0xb06bd510c8ab4da2L,0x4e0cdecc5964e0aeL,0x0000000000000006L },
  78249. { 0x7c3b12481ffdb678L,0x28ff66790e9911a3L,0xaf7deb99a718a3daL,
  78250. 0x391b96215e272577L,0x0f2789b0b4001e20L,0x60b4541686a4c603L,
  78251. 0x0c3941313a259848L,0x3218bf48aa7e7d38L,0x0000000000000109L } },
  78252. /* 25 << 63 */
  78253. { { 0x9e4832f7116eeb08L,0x7554d6af45cb254fL,0x7098d4b3fab6ca32L,
  78254. 0x994c923e7f403fcbL,0x265bea28516cf1e5L,0x927a73b63faae4ecL,
  78255. 0xc69ac429986dbcd2L,0x67575e0ecdf65148L,0x000000000000009bL },
  78256. { 0x71fc74abaa76166eL,0xb0cf3fe0f558c185L,0x9b68f71b7630d7eaL,
  78257. 0x78713c556bcf7e7dL,0x442d5e7f38f14777L,0x71c0d44b3002fd0fL,
  78258. 0xe3ab882351ea27dcL,0xa89c6ef9a03d2925L,0x0000000000000080L } },
  78259. /* 26 << 63 */
  78260. { { 0xb03563923e5a6e61L,0xb5e0e27873b8d05dL,0x53f7d377b3078789L,
  78261. 0xd56358e1c698706fL,0xa2674710505a1be5L,0xbc1559f4cb650c44L,
  78262. 0x93361f0867d11d3eL,0xd5d124ba63826b8eL,0x00000000000000d9L },
  78263. { 0x943eb3571403f021L,0x80d125b3cf992a03L,0xb1365ff2d8bab8cbL,
  78264. 0x5eb0490498a1fae7L,0x4f728e6f8004beaaL,0xa4b1dc8074121d80L,
  78265. 0xb8b782b3c6b52616L,0x844cf275c3ab4b91L,0x00000000000001c4L } },
  78266. /* 27 << 63 */
  78267. { { 0xdb731dec2c7c6d72L,0x95be4c6d7253d7fcL,0xd983f26a3926cba7L,
  78268. 0x256d5d8e5a99093fL,0xd645f6ec8fee2c83L,0x76df91bfb562b901L,
  78269. 0x96cd6502753a97a8L,0xe53742c4a5a241d4L,0x0000000000000012L },
  78270. { 0x5e920ba21d11162fL,0x628a198b1bae3cc8L,0x571e9f2b57d92345L,
  78271. 0x7a8271497c06194fL,0xddad8318036be033L,0xac129b561d5e7930L,
  78272. 0x89a5024057a2e5f6L,0x92e5f7ac3a385984L,0x0000000000000041L } },
  78273. /* 28 << 63 */
  78274. { { 0x255d6d1bf8682934L,0x6167be166fbe8832L,0x3f2fb997c331343cL,
  78275. 0x80c30a82bbc0455fL,0x6b06e6039604ee9cL,0x61433976a8a2c05dL,
  78276. 0x9b693e3ca6c73e15L,0x5643bc3ac7b6d3ddL,0x000000000000001aL },
  78277. { 0xf362db1d072fc054L,0x95f7e68981452d4cL,0x14382bdc7e8044fbL,
  78278. 0xf0ccc6594e884acdL,0x9f4598920db303d4L,0x4494e0177763f7b4L,
  78279. 0x8d4de910b3422e42L,0x949b363a2b03d91dL,0x0000000000000174L } },
  78280. /* 29 << 63 */
  78281. { { 0xb20fa7f54065d8a4L,0xd5b8bde5f6cf1533L,0x61ca108443d18b61L,
  78282. 0xb4601d7fd5f9671fL,0xe56d7386bb8f433dL,0x29cab0089d364d92L,
  78283. 0x6ecb78fce1b4761eL,0x05c88ba39ae6c258L,0x00000000000000deL },
  78284. { 0xc84ab45ea2dcaaceL,0x3eaa1e487c3d46f9L,0xfb29bfa87eed4017L,
  78285. 0xd630592c198259f1L,0xf88e6103edba3b02L,0x7e5463527779bed4L,
  78286. 0x66431dc5fdd7c079L,0x9c9edb200505eab1L,0x00000000000001a4L } },
  78287. /* 30 << 63 */
  78288. { { 0xd5f2127b4413c3c8L,0x53d19d1790c5ee5bL,0xf46a12c4bd0b0607L,
  78289. 0x23ff83b852f21415L,0x345d3cc5564a2084L,0xdd29de25b8128778L,
  78290. 0xf22c6930511855afL,0xd4a6af3342541b83L,0x0000000000000067L },
  78291. { 0x3ff378abc334139fL,0x0d042fa8c59741e7L,0xcc57395df6333e80L,
  78292. 0xd458b57146a21bf4L,0x7b5378f61b92954cL,0x0b6a333ea29d48caL,
  78293. 0x83ebfc9324bd0efbL,0x84a30cec1062509aL,0x00000000000000a4L } },
  78294. /* 31 << 63 */
  78295. { { 0x7364675a65f8a22dL,0x29dd71039c0e9419L,0x7288a9c2677d42bfL,
  78296. 0x1b1991ece9334a31L,0x4b82036d71ee3d46L,0x27597cb83d91b61fL,
  78297. 0x1f4334c21acd3c55L,0xdd32214062f2ff38L,0x00000000000000c4L },
  78298. { 0xddf5a8caa81abb52L,0xcc1d2bd5579198bbL,0xc721ebe0c5d36fe7L,
  78299. 0x80f82284e4f0a67bL,0xa611478e97997e42L,0x36fdad39b81d30e9L,
  78300. 0x8abcdb957f9c8ddaL,0x81ddf6066c6cffd1L,0x00000000000000e9L } },
  78301. /* 32 << 63 */
  78302. { { 0xd8720c8ae96a67e2L,0xa646ecedd54e0f6aL,0x3936ce2dcbd31552L,
  78303. 0x6d44c225b35268c2L,0x56dc0d086168f13dL,0x2b9bbca1fb2c207fL,
  78304. 0xb4f0da3aa136c5a4L,0xed2cf79bf8216f89L,0x0000000000000141L },
  78305. { 0x1eb0707d7ec6bceaL,0x341b0f22ebe7eed0L,0x99c3c50c37333b3eL,
  78306. 0xdcd5faebde463e09L,0xe688ed5ee481cdd0L,0x6fc12bd10fead808L,
  78307. 0x7b8a498329746a50L,0x2be1b92f829e8d3cL,0x00000000000000a8L } },
  78308. /* 33 << 63 */
  78309. { { 0x81c98ad1581c9488L,0x3aae9ba74c2faccfL,0x4d2f796dcc390584L,
  78310. 0xcb22c0644247e6c1L,0xed884751e19da72cL,0x4dd2400863d28313L,
  78311. 0xad0c15efb0c8a9d6L,0xff5e4387d0d17586L,0x0000000000000023L },
  78312. { 0xc41ee78e2c12a59eL,0x8b5949a3ffb2cb34L,0x62a3917a30a3b1a8L,
  78313. 0x5e9cd23e2d50ea6bL,0x226184de89a1faf0L,0x3d73604ee842ca17L,
  78314. 0x72b01c78c7b33e65L,0x46bc0719126c1d15L,0x0000000000000163L } },
  78315. /* 34 << 63 */
  78316. { { 0x4bed8237777faa85L,0x48347d35048d0b1eL,0x7f0b38f476fcc2e5L,
  78317. 0xef6f31029486baa3L,0xb5f8acde91d438bfL,0x41a87e12a8526166L,
  78318. 0x8cc2ef135592881dL,0x8f99d106859fd440L,0x0000000000000045L },
  78319. { 0xe6eac1d316e9fab7L,0xda9bb9ddb98856beL,0xc6a6ad2170c12aaaL,
  78320. 0x4e24a2b058c77b2fL,0x33432f40f95a8674L,0x021a71070c9020e7L,
  78321. 0x4089166d8650289aL,0x4d1986f551969a61L,0x00000000000001a4L } },
  78322. /* 35 << 63 */
  78323. { { 0x9c21dfb230fb58e2L,0xa6f3914dbbbd435dL,0x6e602e2898109fb9L,
  78324. 0x1b700670b44ff97dL,0x7edfa439ab01fb2fL,0x42325f8d60a9be9bL,
  78325. 0xb5e0887a0a50918aL,0xcbcf143dab8877f4L,0x00000000000000aeL },
  78326. { 0x173d8cfbb2bf045aL,0xf7ed171942d73eb8L,0xca200f4ec094493cL,
  78327. 0x9ad3c750b986ac9eL,0x11c9b6c837ae7c68L,0x315a7712db180137L,
  78328. 0xcd8c3dbe14ef1560L,0x35a53627c9a60bfeL,0x0000000000000029L } },
  78329. /* 36 << 63 */
  78330. { { 0x8bb1ae9afa1e7335L,0x472218bcbf806e06L,0x2b9d24030e0e14d2L,
  78331. 0xdd03847c275884bcL,0xa4ee2d9878f97e8aL,0xaf93d39acb69f1f8L,
  78332. 0xf3e76c60b8b834bfL,0x0b4f2c0473094895L,0x0000000000000060L },
  78333. { 0xed08418036b33636L,0x81b18aa7f78d1671L,0xe20fd32389e80436L,
  78334. 0xf8c9f81cf1faefd0L,0x1f7ad3e2602d9f2dL,0xcbff2ab2648cee87L,
  78335. 0x4e7440a0f25ddd51L,0x2670e9e1dceab96dL,0x0000000000000193L } },
  78336. /* 37 << 63 */
  78337. { { 0xaa3d00eac058f210L,0x6e5ea70ba3c14757L,0x379d3b3b7e489509L,
  78338. 0x62f62a0692767b17L,0xf1539bc721b030b4L,0x4162495067544fc9L,
  78339. 0x4f5b019986666040L,0x1be80ab4745a7692L,0x0000000000000032L },
  78340. { 0x6049ad0475117623L,0xe49e9c8781efb988L,0x90dbbf72b574d1cbL,
  78341. 0x27d065b3ece9ab4dL,0x8370a703e2632ad5L,0xf390eacbf0859cccL,
  78342. 0x4babadd0e117d800L,0x066b62d0cc9697a5L,0x00000000000000c3L } },
  78343. /* 38 << 63 */
  78344. { { 0x63c4d634e78a2da4L,0x4b7a5da294ad0358L,0xf41e93ee9966ada7L,
  78345. 0x12072c45fdad9880L,0x1418ca2416a9e931L,0xf74ace09b30a4eb9L,
  78346. 0x637d765850045726L,0xf3b20a5e78ae3400L,0x0000000000000157L },
  78347. { 0xf15e1c7ab9e5db75L,0xbf1ff1c2bd8986eeL,0xdec28ef35b8b26b6L,
  78348. 0x7bf708f1dc427cd4L,0xefb80977c13928a3L,0xf4975bf5e4c8c4aeL,
  78349. 0x8feb6a29fe76a6bdL,0x695bb4dcb4eb10a8L,0x0000000000000193L } },
  78350. /* 39 << 63 */
  78351. { { 0xcde6ee654783776eL,0x47aa98dbab6a4a7dL,0x5c94835bc8032fddL,
  78352. 0x992ff3a1c6534206L,0x98b88c5e4ff7a8c4L,0xfa011fd93428ff60L,
  78353. 0x4788d51c15510bf4L,0xcacb9fde0719ed09L,0x00000000000001c3L },
  78354. { 0x7d204f6aa83da259L,0x9e4d04ff36ac5825L,0x1928285183d984faL,
  78355. 0x29d49d8eb1488712L,0xf43e3fe22c533a1dL,0x826ce0162ddd30e1L,
  78356. 0x2c7004d34084ac94L,0x88fe5d68d54b7430L,0x0000000000000091L } },
  78357. /* 40 << 63 */
  78358. { { 0x6e4b93549a207163L,0xe7ce12aea3fa19e2L,0x3b79d9c3731e7845L,
  78359. 0x22d9831ccd2ede26L,0xabb6705b86ca4cc8L,0xdd0920df29ddb9f2L,
  78360. 0x9d0f445b811862d7L,0x4166d6e7839180cbL,0x000000000000005eL },
  78361. { 0x182711206b4e81f1L,0x4b6b68c349837065L,0xb7377b163263682cL,
  78362. 0x2e0fba0eb79cc7e6L,0x55d9ecf4c02e89f6L,0xe993faa0482c2446L,
  78363. 0x9753d5e395d1ab52L,0x73fe5af5c1b06cfeL,0x0000000000000096L } },
  78364. /* 41 << 63 */
  78365. { { 0x7cb01f2827560700L,0x3116ede7f0594295L,0x11714c3a769c3488L,
  78366. 0x31b80a2e8fbf02ceL,0x11cef04e5c6535dcL,0x64df55ff3e27c9edL,
  78367. 0x0d63a163bc8158feL,0xf9cbf1603b63a411L,0x00000000000000abL },
  78368. { 0xe26c4abf3158ba4aL,0xdb117a38e132d2cdL,0x4ad696322a572d0aL,
  78369. 0xbefddee3a8b979c3L,0xbcee468784c32c63L,0x3f861ac5f38ca9cdL,
  78370. 0xe94a5b0f5d303be4L,0x60bf3ab155305eddL,0x0000000000000143L } },
  78371. /* 42 << 63 */
  78372. { { 0x2b73e62e977fc1ccL,0x33819c4b1eef1b48L,0x86c62fd2606d7b32L,
  78373. 0xb1156e8b9ebbdc60L,0x066d6f66b9e5df80L,0xc91948c566b577afL,
  78374. 0xcc7f76043ef1fbe6L,0x5c16641e68aa2e46L,0x000000000000012fL },
  78375. { 0x2747d4b711e75c9bL,0x6b27519fd9bd64a9L,0x1283769a2b54c57fL,
  78376. 0x10e1164d081abde1L,0x5a1f76f9992f7ed2L,0xb6c588bf852850b2L,
  78377. 0xddb5d11939399542L,0x6a550ca3115876ecL,0x000000000000013fL } },
  78378. /* 43 << 63 */
  78379. { { 0xa47c585a016bcc9eL,0x7e0ec9f0578e48a0L,0x708dc0a8d8c93583L,
  78380. 0x6612567c04b5e0bcL,0x3ac1ff92dcf8bbb9L,0xf51ba067ac4f9eb8L,
  78381. 0xdfbec7c94bcfd749L,0x44bbd8642eb5bab3L,0x00000000000000e7L },
  78382. { 0x25f2603535bcc21bL,0x060e8f62f03ee3e6L,0x15c57ec99e0479e7L,
  78383. 0x976e8a5b05f84775L,0x127c6d03c8c674bbL,0xc9e9f32f933c6b5eL,
  78384. 0xe405fea7628e2f5eL,0xd83b69a218dc1cf1L,0x0000000000000085L } },
  78385. /* 44 << 63 */
  78386. { { 0xfe64594aead54bcfL,0x698f1f89193023aaL,0xea6309e02517e1b2L,
  78387. 0x5dba33b1015a622bL,0x95a9c92cfbf4115bL,0x30c7972981cc106eL,
  78388. 0x05ae3f9d9e44aa71L,0xb996f804a23ddbcbL,0x0000000000000101L },
  78389. { 0xe3d697de475da0b6L,0xce26df727a70a313L,0x057b0e9b55989f12L,
  78390. 0x705ef3af732a2c49L,0x55b69e808c2b9314L,0x17f9042282897d3bL,
  78391. 0x235ae22e75a957a7L,0x77811795607c84ffL,0x0000000000000022L } },
  78392. /* 45 << 63 */
  78393. { { 0xff24c793f9b699caL,0x14b15d3217ea10a0L,0xc719f783343073bbL,
  78394. 0x2a83d8b90e93b5d4L,0xde503f82f5353f85L,0xbac075114f18ac59L,
  78395. 0x530d278c7f81ab98L,0x7f51762a1c619e74L,0x000000000000010eL },
  78396. { 0x5897a7e714360ac7L,0xd69da38de3ff95c1L,0xcf0c8334bf9736ceL,
  78397. 0x6e465e9273bc4213L,0x950fdbd6a4e87fd3L,0x4bb07b3a47ca6e6aL,
  78398. 0xb9eded92744a7e7bL,0xfb882d485a7514baL,0x0000000000000116L } },
  78399. /* 46 << 63 */
  78400. { { 0xc25e05c36b05e0d7L,0x5a2b025d4da08ae2L,0x71b546980cb36f9eL,
  78401. 0x96bf67a4248d9978L,0x9a7bcaa587c7581aL,0xffaa9a7f39a6ff19L,
  78402. 0x425c17c27471755fL,0x250359a026062f38L,0x000000000000000aL },
  78403. { 0xd0b2e9a20e795413L,0xbd4e31cb33853998L,0x8c4541ae95a4388fL,
  78404. 0x8cb64c8bc50dd060L,0xe34c811101ab0da8L,0x5de5d97069305f2cL,
  78405. 0x7a13ad595f5aba36L,0x9e2facc817de1ab9L,0x0000000000000086L } },
  78406. /* 47 << 63 */
  78407. { { 0x7cdf9204bd8cf1d7L,0xe3ad55d8bb0ef236L,0x15773c50555a9e3aL,
  78408. 0x46af0d3003688a2bL,0x221ee5d72fc9260aL,0xd1561cf90bcc7900L,
  78409. 0xeb1929a2fa485b0cL,0x13482477f9bbdb62L,0x00000000000001b0L },
  78410. { 0x9432cb5a6ca8bf58L,0xb64c60ac6c5411efL,0x52c05411eb94e57bL,
  78411. 0x34597b1a6e3b2facL,0x7861df27595820b3L,0x4aff5520d02f000cL,
  78412. 0xd0d78d9d0b71a270L,0x015e10d18fe933a3L,0x0000000000000125L } },
  78413. /* 48 << 63 */
  78414. { { 0x0498365338587f45L,0xdf7ff2c77c9bede4L,0xb0158c72a21d0d97L,
  78415. 0xa774c9e3a5e5d3c9L,0xf58e7c02cb10150cL,0xb4af1ee79c24a5a9L,
  78416. 0x02e0a1d644ab20cfL,0xf24d2c5ada1b7783L,0x0000000000000028L },
  78417. { 0x80bbf95278f7b5b8L,0x4c0bd396efe31505L,0xbcf19c3bec6d175dL,
  78418. 0xa8e820cf868e9452L,0x902114319cd29126L,0x7518c2f8cfd996fbL,
  78419. 0xf676e6cf4ebb311aL,0x6d108d7e7fac5d7aL,0x000000000000019cL } },
  78420. /* 49 << 63 */
  78421. { { 0x97aaaba1c829bb99L,0xf6860f8745bb55feL,0xf8b50fe71498e519L,
  78422. 0xab3d16e3fe8f0221L,0xcac909cfdcdb7323L,0x685be174503ac866L,
  78423. 0x97600f6f42b4888bL,0xe935129f3b2bde52L,0x0000000000000189L },
  78424. { 0xb9914e14c98a8902L,0xaf8252efd12e2742L,0xed19080a9e82bc5eL,
  78425. 0xeb729e01b2ce8f88L,0xad7c2b07fdc2d2e7L,0x714be551434c5683L,
  78426. 0x533f127a33d712c1L,0x5c1a7dc314b47fa3L,0x000000000000017fL } },
  78427. /* 50 << 63 */
  78428. { { 0x4291478195de7bd7L,0x19372e9158be52bdL,0x17fba77f92e5c6a7L,
  78429. 0x6374fd9b699a1dfaL,0x22a45a6bb5c76282L,0x5c9a9a28c720a1c3L,
  78430. 0xfb9dceee60825162L,0x69f9a5093ac4b11eL,0x00000000000001a1L },
  78431. { 0x934410934bd1d68dL,0x9f75dc6d6ded82e6L,0xf936823f9ad5428fL,
  78432. 0xe87ec8b9c84feabdL,0xdac9bfc13c2f56ffL,0xa160399975f3b25eL,
  78433. 0xfa8751ec5ca58a84L,0x1a709ac5f6e53798L,0x0000000000000165L } },
  78434. /* 51 << 63 */
  78435. { { 0xf327fa804594c279L,0xb58ea5486215b212L,0x20e5b9a833e0ce1fL,
  78436. 0x3747da9a4a370732L,0x1634ee2e0777119eL,0x32df2dda5c08f5e7L,
  78437. 0xa5d66cb9f811ab09L,0xdf8c1dc9ed7de036L,0x0000000000000003L },
  78438. { 0xc910aaf774efbe82L,0x20b0ebe46c378a20L,0x7542866526368ec5L,
  78439. 0x85dcb02d25e2b43bL,0x14b5055e26273949L,0x07415b0245387101L,
  78440. 0x0986b25d605380d0L,0xf0f61b04cf0def05L,0x000000000000013aL } },
  78441. /* 52 << 63 */
  78442. { { 0x8a87953f92591b59L,0x3143818d5a451f32L,0xf2e96f8b0c29d764L,
  78443. 0xff943ed94c40a8a4L,0x82967f842535730bL,0xccf1a40336dcbf8dL,
  78444. 0x7dc8d83c45f21a55L,0x0d1d08e3cbf08cb6L,0x0000000000000093L },
  78445. { 0x5eee829d0ab0a1a7L,0xafcb11e44d5694e9L,0x4d87ac664b03e1c1L,
  78446. 0xeeeffa85094e51d0L,0x07e16ed7f957519bL,0x7a329adbbe6b8eb5L,
  78447. 0x56f27e425f41a65fL,0x749a394ceb0c920eL,0x0000000000000113L } },
  78448. /* 53 << 63 */
  78449. { { 0xac10b05febfab632L,0xe9db26eefb615921L,0x83f9274ff7b609bfL,
  78450. 0x208ff0fdb1c6defcL,0x25f97bd50ee1d15bL,0x0d1929a73bcd6f7aL,
  78451. 0x13414e340bea3ce3L,0x5a1fd76dac768695L,0x00000000000000f0L },
  78452. { 0x52166f0da85b0ab0L,0xd7b84eb0d03e5891L,0x3d177fbb05391cf4L,
  78453. 0xeda59b5d0eff66c3L,0x4eae434e57c15709L,0xe2e28d1394652300L,
  78454. 0x9f6723518ddca2b7L,0x6b18b0d057928e33L,0x00000000000001d9L } },
  78455. /* 54 << 63 */
  78456. { { 0x692493e38e9e3858L,0xe3613ac3c54960efL,0x394b17dd14dee07dL,
  78457. 0x6dc33f9010f81a66L,0x1c2b9571fe76445dL,0x64f0d6f6fb0961bbL,
  78458. 0xfedcf72c371e04d8L,0x0877291e9cf9ca3eL,0x00000000000001a2L },
  78459. { 0xe33520e7f874564aL,0xa7acf4bf1026c741L,0x46569cf304030157L,
  78460. 0x89310d88c0980781L,0x1fe5287f0acde0c6L,0x3e05a033a4696f12L,
  78461. 0x1a5f3ea425cf5a8cL,0x4587f6f783c85990L,0x0000000000000076L } },
  78462. /* 55 << 63 */
  78463. { { 0x26047dcdebe585d9L,0x3abcde530ddc7b3aL,0x43231aa9e036918aL,
  78464. 0xf4316041818bb25dL,0xd95a25f65eb56f8eL,0x03d1ea7b84e16f23L,
  78465. 0x385f010d0e007937L,0x421c7ab1ce1fa2b5L,0x00000000000001bbL },
  78466. { 0xea42f6aa9c67ceb2L,0x2756973ae3f1940aL,0xa4fb7ed908e9b02bL,
  78467. 0x26e6e78af5b1921fL,0xa9293c8b90f146fdL,0x39bd4ec3fa3d511fL,
  78468. 0x6a82d362a65253d4L,0xbca05eb41e0fdc37L,0x00000000000000ddL } },
  78469. /* 56 << 63 */
  78470. { { 0x10fc7b6fd90fa53aL,0x3e6ce96795fe03c1L,0xcc2308acf9b7b89aL,
  78471. 0x1bc9f27a33c58673L,0x1c12f0186273457cL,0x68e172f74c063ea0L,
  78472. 0x52f75bf1d34d34deL,0x0ef03bce65f6b2caL,0x000000000000000bL },
  78473. { 0xd8cb54d3d705118fL,0x1e4b56503a7509c9L,0xcc35224e84c60259L,
  78474. 0x8ed6226ce578172fL,0xe6fbb97fafa5bb2aL,0xdd461323189d5d7fL,
  78475. 0xa4ff6f7a32109b05L,0x5896d4ed26f15e4dL,0x00000000000000f6L } },
  78476. /* 57 << 63 */
  78477. { { 0x05a13d26e82b26aaL,0x9be7e85d1f51ad4cL,0x64216a135bf8d231L,
  78478. 0x9a52f4d338918288L,0x811795296042f73aL,0xcf4531b88fb3e209L,
  78479. 0xa5ecc2b2b60e33c8L,0x4065785c53ac1b01L,0x0000000000000106L },
  78480. { 0xc19366e2098430e8L,0xd01b9140bad7cc45L,0xd9cd202403d7ed4eL,
  78481. 0xfdc06de10880828bL,0x9dc1458082c50ff1L,0x050a0ad4dd5cb07bL,
  78482. 0x23c2c3e802e03fb2L,0x9ef4c1720f843180L,0x00000000000001cbL } },
  78483. /* 58 << 63 */
  78484. { { 0xf269b6ea5323d6c0L,0xdf260532c643e91eL,0xc1455524c2768048L,
  78485. 0x7b5d6da85f0207e5L,0xde9b50f074781d78L,0xd95862cbdcdf15deL,
  78486. 0x5d8d5fabb94c1baaL,0x6892741043e83ad2L,0x00000000000001e8L },
  78487. { 0xf6e72c24aee1d9b7L,0x3326fcbb24b9bb0eL,0x3a749a424a7f74ddL,
  78488. 0x5d2578773471ef0cL,0x33ecdd54c95f4cc2L,0x52eb8a04991cbb7fL,
  78489. 0x3a73fead1aea5286L,0x6a0234c85d8e847fL,0x00000000000001a1L } },
  78490. /* 59 << 63 */
  78491. { { 0x3a9e952c73bc08afL,0x94816b86fd2ebed0L,0x308a88e4ad9f31a6L,
  78492. 0x9a7dfdeed0600231L,0xe4f89ee9f181de44L,0x0a7df633f7c26fb9L,
  78493. 0x2c9ae6ae5f221c7aL,0xe47f3d2872d4115fL,0x0000000000000010L },
  78494. { 0xbf708d7c085f506eL,0x7c4c215b9b26815bL,0x9176aca1c2ec9917L,
  78495. 0xa6a694bbe5176a22L,0x119764672c3a75ddL,0x8c4de6dc47e0fd08L,
  78496. 0x6111e87d0d1f734bL,0x8d1ded25dc07d865L,0x00000000000001eeL } },
  78497. /* 60 << 63 */
  78498. { { 0xfd833a94974ce9cdL,0x4ca65be246948f84L,0xb7ca6a79f17f102dL,
  78499. 0x0c2d75789b8d7dc5L,0xa344848c42df2129L,0xbc8ee0055ec488edL,
  78500. 0xb46597b0bc2053abL,0x5c865ead03f3e2ffL,0x000000000000012fL },
  78501. { 0x276249288a899a69L,0xc02d2ee568d0b403L,0xe46c1cdd828b23ceL,
  78502. 0x8e52b84309c12d2aL,0x860ddf224f41e7ffL,0x077cf30319235b08L,
  78503. 0x7a4db503690d79ecL,0x13f69a12e8a29f83L,0x00000000000001e5L } },
  78504. /* 61 << 63 */
  78505. { { 0xcb347d5f91d9d6feL,0xd0a524b43b9ef3c1L,0xa9e6392c547edac4L,
  78506. 0x04d365a9b14bd9b4L,0xe5c90208db0aa5dcL,0x28ab9f56ad2db020L,
  78507. 0xdcb2fa5be7ec65e5L,0xed81f29efb0e42b6L,0x00000000000000f9L },
  78508. { 0x4bc95c3197f4324bL,0x64fafe5f71476329L,0x044a41775a70b0cdL,
  78509. 0xf2c61da17ba19d9dL,0x983216f2da3877adL,0x83298d8d4b4bd3c0L,
  78510. 0xc7243bf461564560L,0x464b5bf41111eafbL,0x0000000000000061L } },
  78511. /* 62 << 63 */
  78512. { { 0xc34857014b40dfadL,0x6400778d0760a76bL,0x89f31e637e4a553eL,
  78513. 0xb98eb50e3246a962L,0x956d3e4e7966732eL,0xb7fd65f4820569a6L,
  78514. 0x35f492b77a5fd094L,0x079fd9be89a9e2d7L,0x00000000000000baL },
  78515. { 0x2f9bb4decf21481aL,0x7303b3e8d3a12b6cL,0x500d6509ad398eb9L,
  78516. 0x4e8be72efe3a1a76L,0x8a82354a5745b6f2L,0xf037ebdaa20fdfe6L,
  78517. 0xe12aac60584f6152L,0x75883d79f01f9963L,0x0000000000000178L } },
  78518. /* 63 << 63 */
  78519. { { 0x32b6b535c7c043c7L,0xe41d0e05423daf2bL,0x2cbacde8c0f421f2L,
  78520. 0x11cd2d90fdeefc5dL,0x2fd90ed7e691e7edL,0x4bf72e93f5721f79L,
  78521. 0x764fb068602fe745L,0x21594eaa97cd2c33L,0x000000000000014eL },
  78522. { 0xaeee0ca0ca8ea7a2L,0xe469cbb01485c545L,0x4c947ee0467f66fcL,
  78523. 0x92f9f6b3606a8aa1L,0x56783791ed86541dL,0xcdb60ee64c8d8313L,
  78524. 0x2f7fcb7560eca2e0L,0x0a847de3e7816be5L,0x00000000000001ecL } },
  78525. /* 64 << 63 */
  78526. { { 0x27b472fa3d0e9678L,0xcef22b18f18eab4aL,0xc49e75cc5fde2724L,
  78527. 0xd9ec427a39f3c3d3L,0x240963ea07a9f9b2L,0x2b0301e0fc73761cL,
  78528. 0xf734c2f480d8c0e3L,0xb9f52a609948da76L,0x00000000000001c9L },
  78529. { 0x6ef525e6fe70af9bL,0x4faf1315c936d7daL,0xfed0cb7aa1c67010L,
  78530. 0xb1c8cdfb650fc5bdL,0x643e77418ac141ceL,0x8ecffb683144c8a8L,
  78531. 0xf6ff17f5544deba8L,0xea30d6b2721a6d98L,0x00000000000000d0L } },
  78532. /* 0 << 70 */
  78533. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  78534. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  78535. /* 1 << 70 */
  78536. { { 0x476395029a2936b0L,0x48a88079918b33d5L,0x453bc7931b067a87L,
  78537. 0x5fe40adc63e55fb7L,0x615677f03d2b9756L,0xdc376c92833e336aL,
  78538. 0xf7743da0b0b6c914L,0x780bc5a93effe23bL,0x0000000000000037L },
  78539. { 0xe9c333804a1a9456L,0xda9c55a8eb2eb173L,0x022757865ed17864L,
  78540. 0x491f250816039d4fL,0xb1ac3d7b0ec8959aL,0x4d3855d3465a7151L,
  78541. 0x7285c2d418e0d6b1L,0xd1a5af1833eac3e9L,0x000000000000011cL } },
  78542. /* 2 << 70 */
  78543. { { 0x80877bfe331dd8a7L,0xb708de53dd15f09dL,0x19f93da02ae5d424L,
  78544. 0xe7e4ca9750064a50L,0x95ff7eafc76f7c7eL,0x5a6e49f06e0344d7L,
  78545. 0x1f016633a4144a34L,0xff32c2a16fe7d882L,0x0000000000000031L },
  78546. { 0xc8c7b1826df27677L,0x33049c001751ad84L,0x7685641c109f091bL,
  78547. 0x0e2bef03fde67f9fL,0xfb7ba091da20f027L,0xcd7200850d2e4994L,
  78548. 0xf565899fbc584078L,0x465f703946520913L,0x0000000000000058L } },
  78549. /* 3 << 70 */
  78550. { { 0xb439f594f839375eL,0x273e0e12d6fabfa0L,0x4811f186986b62bdL,
  78551. 0x3460a7df29a07e23L,0xf7fb6f4c20aed738L,0xf26b2b9c97d88113L,
  78552. 0xa87f0ecc047ebd57L,0x0403df2b1a81558bL,0x0000000000000130L },
  78553. { 0xe8071597f66ce34bL,0xd14095a79440f830L,0xe7924b9994488565L,
  78554. 0x972cc87937553260L,0xd33dd2db3c2f0eaaL,0x57e6830e9bf34ee1L,
  78555. 0xe2f328371d13ba62L,0x4f84bcb955174ffbL,0x0000000000000010L } },
  78556. /* 4 << 70 */
  78557. { { 0x519a595a5c6f42b0L,0xe39552a9a675acb4L,0xc993a489609641a9L,
  78558. 0x1427eb18cb9d6301L,0xeb102dd9fe02d86eL,0x86dfc2d5a4c15ddcL,
  78559. 0x0dbfd177b76f6b2bL,0xec31ea91b285289aL,0x00000000000000e2L },
  78560. { 0x46ed4b2ab85445ebL,0xd272162cc8124af3L,0x1b7e446d675589f1L,
  78561. 0x605b28069e56e455L,0x39f9b1abbd0d72efL,0x52d79f51793f00e5L,
  78562. 0x28d3e23b7978077cL,0x9759e0e64866c9d8L,0x000000000000010cL } },
  78563. /* 5 << 70 */
  78564. { { 0x5783df4e1036ae82L,0x96d3c8e7186158a3L,0x161876e639b3df61L,
  78565. 0xca9525e1b8b99336L,0xdcf0e3f745776a81L,0x1cbd5ebdcf6ba61bL,
  78566. 0x895ebb5a345d74a8L,0x9861a95fa29bb4f8L,0x0000000000000106L },
  78567. { 0x59316637e824248aL,0x81f91fac0ec8a559L,0x48d8a50d1b2789daL,
  78568. 0x75627156f8298d6eL,0x1c340cf13f452c6dL,0x7e99c311d0221466L,
  78569. 0x57d7d1fef04842bbL,0xe0208d495f471f39L,0x000000000000006bL } },
  78570. /* 6 << 70 */
  78571. { { 0x04d40419725e8d7eL,0xd8a785c43faf2e8eL,0x7ed0dc16b456823bL,
  78572. 0xab8169b6f8db939fL,0x5066e969510cd7adL,0xa9050429b3cff3f0L,
  78573. 0xbc2fb7ff7450449bL,0xc550ea90106929f3L,0x00000000000000fbL },
  78574. { 0x75cfb97c77f10a30L,0xdc20c3be0987d625L,0x69e0878cb18777d1L,
  78575. 0x2d77668ec850871aL,0xf2759bdbdcf84652L,0xf7efd592769eb8e1L,
  78576. 0xb4dd3aea69169a30L,0x18106739653dd7ffL,0x0000000000000053L } },
  78577. /* 7 << 70 */
  78578. { { 0x6f435bba95d13790L,0xc082ddb3b8171861L,0x28f5c4cfc3b9797dL,
  78579. 0xbd46e6f20fcbceccL,0x8a08c2a6fb265f73L,0x0c89cd1ab54ce3e8L,
  78580. 0xb0915e664d2eecf6L,0x4d3a71276c691306L,0x0000000000000154L },
  78581. { 0xdcadc680181127fbL,0xd56dde12bec233c6L,0x77ec3c0ffb46e355L,
  78582. 0xb047a6a206812dfbL,0x8fee038a509e92cbL,0x799cdc0199465b9dL,
  78583. 0xf82664276ce79488L,0xbee7eeebd26ea0f8L,0x0000000000000128L } },
  78584. /* 8 << 70 */
  78585. { { 0xbb292bf5f98c20beL,0x3a3411a680e7f858L,0x4ee85c60884a2064L,
  78586. 0x8bf2f700d1ffb068L,0x28a61b4ff5514a5dL,0xef4280ba021ca558L,
  78587. 0xaa64507dbeae03e4L,0x8bf2aa0fd601d59bL,0x0000000000000123L },
  78588. { 0x61ca18a2ee308bf1L,0x9e9dcccd55fddd4fL,0x858dd91faa4b0103L,
  78589. 0x21a4a04654338e37L,0x88237da980d564cfL,0xfa544159a0dc17b8L,
  78590. 0xf6e71432e684e7c1L,0x9b2ec5cb6bcb8393L,0x00000000000001d5L } },
  78591. /* 9 << 70 */
  78592. { { 0xf8184868d78b3258L,0x294a5c8693d8db62L,0x3631dd8ae94c1e33L,
  78593. 0x6086c859e22ade8fL,0x1333c8b0fad51601L,0x755a497081778bc4L,
  78594. 0x9d0a7220adf97dbfL,0x9271364238802b70L,0x00000000000000daL },
  78595. { 0x5c8e5b906601b869L,0xde3d0dfec943c397L,0x39d9f226d18fdcc1L,
  78596. 0x8c57ea34a90b2bf5L,0xa83a15756c4a7c25L,0x3e4fee5b3def7d92L,
  78597. 0x5027d72ad9fe323cL,0x01ec60b853dd5f74L,0x00000000000000ceL } },
  78598. /* 10 << 70 */
  78599. { { 0x8bcb3d9d1b2bf1b6L,0x973fa9e312796b3bL,0x8c312eee0826934fL,
  78600. 0x182e3371e7601ca6L,0x6ced3e75991abc97L,0x5b8ae056a347d5c8L,
  78601. 0x4808debf4983ea2bL,0x0011eae167510327L,0x0000000000000156L },
  78602. { 0x15ce511d25441f8dL,0xf97a353ce97373ceL,0xf04be7106e289edaL,
  78603. 0xe44c1542149c56f2L,0x0bbd7b79d31e6fa7L,0xc7461c7396def27bL,
  78604. 0x4947e763f0b4134eL,0xb17d8168c56f702bL,0x0000000000000128L } },
  78605. /* 11 << 70 */
  78606. { { 0xebec93f04ac3f69bL,0xea341f190108e13cL,0x44c89c183b9dc7aeL,
  78607. 0x1b643dea7d219c86L,0xa0f8211f1b24f1adL,0x362ed929b660c2e5L,
  78608. 0xf4111c58accef904L,0x7d5ae557616b6ca3L,0x00000000000001c9L },
  78609. { 0x5e15f25e64078f7aL,0xd5afe9e9dd0f5ee0L,0x494ccc3c481745bdL,
  78610. 0xab14448b8d7378d7L,0xe2d6f0d304da0eb6L,0x133ece3a8e9cff05L,
  78611. 0x26d60edf3571e036L,0xbbd2816fb4f9a6f3L,0x0000000000000125L } },
  78612. /* 12 << 70 */
  78613. { { 0x23c4d719a31b8bb9L,0x048abcac740f7882L,0xbd895a1c5ee72269L,
  78614. 0x95595e429077db96L,0xd01e2d4b49088381L,0x48570b7ff7e50193L,
  78615. 0xa8830d23e6f4ed20L,0xbc8aae5b9a45ddb2L,0x00000000000000dbL },
  78616. { 0x527e8ff8970f294eL,0xd3f0cf5026c1d870L,0x255e637c69aefa63L,
  78617. 0xf332ed105bf085b7L,0x6a0bbba69520d99aL,0x46f6172c3bbf6757L,
  78618. 0x5f0b4e9f77664d47L,0x5b8c50a11e6ba9efL,0x000000000000019bL } },
  78619. /* 13 << 70 */
  78620. { { 0x9236c67ae086b576L,0xa790103d654d0bfeL,0xc8991f4701bcdc45L,
  78621. 0x6a6f3fb3bec6da2fL,0x01249352077f3e54L,0xc242ea70f714141fL,
  78622. 0xeb3a0089b7c19b57L,0x03647999992e47faL,0x0000000000000025L },
  78623. { 0x8b46fc0338224530L,0x0349584a95b7d309L,0x86dd737f92514473L,
  78624. 0x3e5228f5a538c8c4L,0x184a5259939d9593L,0x4bb9925b0213865eL,
  78625. 0x908c3fccb5c7937bL,0xb776024601e2984fL,0x0000000000000065L } },
  78626. /* 14 << 70 */
  78627. { { 0xfadbffb640bf4cfeL,0x6354576d468d492eL,0xa417db805eb84c73L,
  78628. 0xc5a35afd367becdaL,0xd167b100c1d6833fL,0xf181791bc862b1ffL,
  78629. 0xac0ff3d2016dded6L,0x29435dd2caf04f74L,0x00000000000000bdL },
  78630. { 0x5caa8fc6fdd66ecaL,0xcaf04d02f73457f0L,0xe4738b2cd8d60dd7L,
  78631. 0xcfc4221aaccec9a2L,0xec1fc96e6d831b6dL,0x8661a6fedbc8cecfL,
  78632. 0xc3fe3bbe0060ed23L,0x24c065e7ff5c70dfL,0x00000000000001a8L } },
  78633. /* 15 << 70 */
  78634. { { 0xc66433dceb676b47L,0x05c45b2d6ed68884L,0xbec6dd9cc497d94eL,
  78635. 0x71567210fb86988bL,0x924292f876834001L,0x0d814f7c3e825949L,
  78636. 0x3738e741cd6e5f83L,0x320f4721372ab8dfL,0x0000000000000039L },
  78637. { 0xbf2143f9dd94ecdbL,0x4f2a53a48df2f184L,0x5fb740b7b9c7e9efL,
  78638. 0x96aed28a2d5b4840L,0x9a359445fd4ed339L,0xb275af3abcf23a6bL,
  78639. 0x0449c11290242ee5L,0x06516db8a7ffada0L,0x0000000000000056L } },
  78640. /* 16 << 70 */
  78641. { { 0xee02879ba3ea1a16L,0x8e2314e439f3a110L,0x931dcab50671f5a4L,
  78642. 0xb3010e67fe8a9df4L,0x5df54e420f52a951L,0x0b5eb472530c0c9dL,
  78643. 0xfc19d87c18a07787L,0x60ed2c6ff0f2b9f8L,0x00000000000001b4L },
  78644. { 0x6bed0b7e2c3d7f45L,0xd6903d7610fd3891L,0xcb4a9876f30f92b1L,
  78645. 0x328688dd25c03d48L,0x8f51283ccdb11750L,0x195f5a81b8d8e361L,
  78646. 0x4cf3580afeb346d2L,0x044cfa9425c261e0L,0x00000000000001dbL } },
  78647. /* 17 << 70 */
  78648. { { 0xf125d0eb580b2aeeL,0x3878efbce322b538L,0x2faff7abfbc577d9L,
  78649. 0x911a569672826ae1L,0x217136025b759fdaL,0x874e78b16c83f073L,
  78650. 0x8357b9eb1ae1f09dL,0xc50cf6a266f5e089L,0x0000000000000041L },
  78651. { 0x7c5ba64930d641b4L,0x4e0c4810d87b5271L,0x7de6d695aa6c6d4eL,
  78652. 0x48585b5d9e6e0dccL,0x27e52cc9733b7f52L,0x44f93094118055e6L,
  78653. 0xc466de5e79e243a3L,0x9b120026ce5a2675L,0x00000000000000f3L } },
  78654. /* 18 << 70 */
  78655. { { 0xa379e5e5451e1063L,0x839bca6f1cfc15bbL,0x76267c6eeeb1f167L,
  78656. 0x6bb1f5c8e8de14b2L,0x053a50d80a056b25L,0x67e18b5c6046ef57L,
  78657. 0xc508121660b6d2acL,0x97efffed56e951e5L,0x0000000000000189L },
  78658. { 0x6fe2249a0a6237fdL,0x3e8fc2c9af92fe3bL,0x93406ede77987ec1L,
  78659. 0x4a6f3ffcdd289c9aL,0xe6d23748bee59fb5L,0x1218f5958261de30L,
  78660. 0xcc8cfa5bd3a0e00bL,0x3658c52f485e6937L,0x000000000000016bL } },
  78661. /* 19 << 70 */
  78662. { { 0x9588721c38f24c62L,0x75f78ee0b63f6799L,0x966fb95973e53b96L,
  78663. 0x6898f5efedfa6b1aL,0x5d4be54bfd90c78bL,0x4a9c2f701c06c9a4L,
  78664. 0x14cbd88183649de9L,0xc1f0d4edc04aa071L,0x00000000000000a7L },
  78665. { 0x523d47a89250cc0eL,0xf2bc8db83a37d239L,0xa41c054f9af865f7L,
  78666. 0x86e0c8282af3b998L,0xea4726e56c6e21eeL,0x9d8a2148c0a499d4L,
  78667. 0xe590538e9cb7dc09L,0x74c7dd3bd2d8393aL,0x000000000000005aL } },
  78668. /* 20 << 70 */
  78669. { { 0x4143662dbe2d233dL,0xdaa51ea937b9c343L,0xe4543a36e39801a0L,
  78670. 0x8f043e35c1319e2eL,0x7a0f8df8504b47b3L,0x0c081ef2d4d60dabL,
  78671. 0x710081a899486cd4L,0xd2e4ec67a36e4207L,0x0000000000000116L },
  78672. { 0x55c7a9fe07d56e26L,0xe01c071f037f6067L,0x6c4b2bad496b19baL,
  78673. 0xe511cb4ebff6490dL,0x0e086c9385868504L,0xac978aca2db3b875L,
  78674. 0xc24e564e28a8e768L,0xdba8099b3b1f3412L,0x00000000000000e2L } },
  78675. /* 21 << 70 */
  78676. { { 0x1e036478c5e524ddL,0x7482522f06751ae2L,0xfdd65ecb4d805e43L,
  78677. 0xc85188213c81a2c1L,0x4351af46208510feL,0x20258b4286654055L,
  78678. 0xce94ad2436951413L,0x51719c791fa571bfL,0x0000000000000186L },
  78679. { 0x4160e3cc57cb1d62L,0x54f91d695c7ca415L,0xac962802c7c230eeL,
  78680. 0x474a74dd38772ba5L,0x07dc8e8dcbfb771eL,0x4bbf1d327faff162L,
  78681. 0x5c6df969a5e951feL,0x8faf6e8b30aa1ccfL,0x0000000000000124L } },
  78682. /* 22 << 70 */
  78683. { { 0x2ae2176e4a7aedcfL,0x6cc99ac5db4109f8L,0xafc603ca9acd7a99L,
  78684. 0x5709cd2e0292cec2L,0xdc3bbdc4a767e68aL,0xd1b99d15ca6414ccL,
  78685. 0xbdfd63d8b90ce4c3L,0x5a277d71758432cdL,0x0000000000000165L },
  78686. { 0x57bc026809f79161L,0x8069381b75174677L,0xaee30d96471d5392L,
  78687. 0x5b411edd0ab268faL,0x5c6780935ee8258bL,0x16dd3897aff1f327L,
  78688. 0x6bd497a4b7be8300L,0x0ed094006a9ec135L,0x000000000000006cL } },
  78689. /* 23 << 70 */
  78690. { { 0x8935e366d379c4cfL,0x3ac951791ba6b75cL,0x0ee860648518d548L,
  78691. 0x9ad786622b6b6891L,0x986fd8162db27dc2L,0x94cf26ad2da61998L,
  78692. 0x97182802f34138fcL,0xe6a82f6cccc999ecL,0x0000000000000059L },
  78693. { 0x279ba13f96ed64d3L,0x66e45c5f8c942f2cL,0x1e723356b167bb87L,
  78694. 0x63392b6ace4614e6L,0xb157e406828ef176L,0xfbdeff2043a70a11L,
  78695. 0x26398beb39d70349L,0x84fc3685130bd235L,0x000000000000003fL } },
  78696. /* 24 << 70 */
  78697. { { 0x06845f761c46e0a4L,0x304f1a22bf614354L,0xf1ef1477999719c7L,
  78698. 0x077cb0a94a2082f1L,0x88d79bc1c5ce4148L,0xc0da1dbebec656ffL,
  78699. 0x5b78daea71ddae3aL,0x6216ba84ea9a43f2L,0x00000000000001abL },
  78700. { 0xdead308ebea49092L,0x857aa6bd5f4f2d7aL,0xa80d0eeedf4f49dcL,
  78701. 0x81f3fbd4612b71f0L,0x8feb7e2e009cb72aL,0x149df0698880b33aL,
  78702. 0x49e5030ac70e9ef9L,0x7fdf363de32d7d93L,0x000000000000018cL } },
  78703. /* 25 << 70 */
  78704. { { 0x4b7b9419cca1b866L,0x1b91f7a8ed4b0024L,0x292b214b3f190795L,
  78705. 0x4f0f9a9468187149L,0x6af57b920991d891L,0x62be4e9781380070L,
  78706. 0xf9631fb59570bf10L,0x85e5e54a46791c24L,0x000000000000019aL },
  78707. { 0x0d1b6e6f58d272bbL,0x2dd54725026260b1L,0x52925be520caa63aL,
  78708. 0xd73b7bdf49bcdf40L,0xbf521158f9da7059L,0x2d260f094a257601L,
  78709. 0x8711caee7733680eL,0x01fa1a04c910008fL,0x000000000000006eL } },
  78710. /* 26 << 70 */
  78711. { { 0x5fc62df164ca38aaL,0x6e65ba75928404d0L,0xfac5532c04b905ddL,
  78712. 0xe7e788ced028cacdL,0x6f6d46a1e4ebaaadL,0x612bb1ccbaea7105L,
  78713. 0x234e28db202ccfb7L,0x9368d2b838a2bd0aL,0x000000000000014dL },
  78714. { 0x8fc9d15599616067L,0x8d1b2d5f8551e5c2L,0x86bef02384a895d8L,
  78715. 0xe771fa9da6dc3808L,0x7aaebdff2dbeb156L,0xd8179f04aa61893fL,
  78716. 0xe3a11d5ab4df5a7eL,0x83babe1fee003cd5L,0x00000000000000b2L } },
  78717. /* 27 << 70 */
  78718. { { 0xbaa5e960356b7671L,0x69cbe8949a55c547L,0xea21f0e7d010da2eL,
  78719. 0xa6458bae24057f33L,0x685e19ade119c12dL,0xa4a4bf1cd1323547L,
  78720. 0x638bc3c57ea2692cL,0x1b23941f787fa55fL,0x00000000000001f4L },
  78721. { 0x07070fbbd655f411L,0xcdc85f1b0a078b8bL,0xcded78e989c7f01aL,
  78722. 0x8e56f279561248b4L,0x27131c4543017398L,0xd85568439a89e7acL,
  78723. 0x840f778f5022acd5L,0xd02560ccbad33615L,0x0000000000000132L } },
  78724. /* 28 << 70 */
  78725. { { 0xdc8418b0430aee87L,0xbd5f89c0fe56a51aL,0x10db29c4c631bea3L,
  78726. 0xa03fbcbc0c973806L,0xace383ab0ab83b29L,0x19f1d9ba5aec5994L,
  78727. 0xf36d16c245cb06a0L,0xa80a5ef4e427ea44L,0x0000000000000104L },
  78728. { 0x8c77115e67c4bd41L,0xbc0d9d752edce105L,0xb4d58d35e1a157deL,
  78729. 0x0564c86be85ab91fL,0xd0bdf26d3cc536ffL,0x4b36e529237657ceL,
  78730. 0xd108d7f75c27949bL,0xca0dc963ad81e019L,0x00000000000000d5L } },
  78731. /* 29 << 70 */
  78732. { { 0xdf088fed5170a20bL,0xa9a7752101752a4bL,0x7ad0d5a5d8096500L,
  78733. 0x40031b9258232679L,0xf714c7503413e6bcL,0x9869755a1fe03713L,
  78734. 0x6e2501ebb8c82fd3L,0xdc0984c442530088L,0x0000000000000016L },
  78735. { 0xbd92501c05c25c04L,0x1c5321cc9ec4c868L,0xfb1f693a4a48a478L,
  78736. 0x86d327ca3b87d350L,0x46be9803e525bdcaL,0x1ec5bdbab274abccL,
  78737. 0x83c080f9369d1df5L,0x4f700c9cc46b2610L,0x0000000000000149L } },
  78738. /* 30 << 70 */
  78739. { { 0x2f91efc7c0526cd7L,0x798751b06bcf03f2L,0x2e9a2b185b1d1b15L,
  78740. 0xa5df63b07585e989L,0x0f7f20cbe088785eL,0xf7e41109c3e810eaL,
  78741. 0x6f2e6b0196ddfd16L,0x7c815f673677adf5L,0x000000000000012cL },
  78742. { 0xc88f54441615746aL,0x7c59e46e6b14f304L,0xa4d9adb5c4343abcL,
  78743. 0xba341145932fd2e2L,0xa8ead97ec577c110L,0x72c03b1efc69b4dcL,
  78744. 0xc7cbf9dac2418ecfL,0x585777da2a60ff3bL,0x000000000000009cL } },
  78745. /* 31 << 70 */
  78746. { { 0x355b900311214b41L,0x5c4c60458255d77eL,0x653841db02befdccL,
  78747. 0xf0dc18ec82060478L,0x041dbc6fd8b5343aL,0x2ab668cdcad75821L,
  78748. 0xa8219ba431403e5eL,0x2187bcd7dd6f1818L,0x0000000000000057L },
  78749. { 0x3a187181672ef3b6L,0x32aa9ece8bbe1871L,0x42db253f9083e47dL,
  78750. 0xaf661bbede04d778L,0xc7d30363b6e2c3a0L,0x883a3cf7c303c0daL,
  78751. 0x2e743c812e09eda8L,0xb8a80c00d43eb9a9L,0x00000000000001d6L } },
  78752. /* 32 << 70 */
  78753. { { 0xa8aece33c6467674L,0x89ff0d8f1843299aL,0x59adbaf13ca3a78eL,
  78754. 0x196374f4b9a4a75fL,0x789f72316ac10a73L,0x448193fe379c704eL,
  78755. 0x65c6e5794fdf5217L,0xe6565a0b57174e77L,0x0000000000000001L },
  78756. { 0x509a5be95b7a3aacL,0x5ec7dfd35b281d20L,0xfd549cc3ff94ffc7L,
  78757. 0xf29fe9740cd3bd2dL,0xd8a4f3af708e35b7L,0x45222e3bb52edcd2L,
  78758. 0x896b102acd710014L,0x452cd4f4e63ebf74L,0x00000000000000e8L } },
  78759. /* 33 << 70 */
  78760. { { 0xe1cc6844d76a7d21L,0x98a653c0aad01f39L,0xa8e0aa6f5cc3db7eL,
  78761. 0x53e176c8616ef3c3L,0x2fcd40c1ecb97fe7L,0x979560d1dc9765aaL,
  78762. 0x8ceb932ec9497178L,0xfdda2a9f528d5fbfL,0x0000000000000046L },
  78763. { 0x5d78055191f09fb7L,0x5025b276358205e3L,0xa2ebb84ce669a482L,
  78764. 0x0a0299fb3630ef08L,0xb1b479c07a91a3e9L,0x90ec5d7d5a165b78L,
  78765. 0x82e7a594584a646fL,0x393648e146cf895eL,0x0000000000000126L } },
  78766. /* 34 << 70 */
  78767. { { 0x4122c7785767b754L,0xdb5083e1fffbd4d7L,0x602665453533b469L,
  78768. 0x729a29a76027f62aL,0x9d5e8150d18a8518L,0x99983cb81c736f6dL,
  78769. 0xeee827892fbcc4b2L,0x48c41e5e31554af0L,0x0000000000000062L },
  78770. { 0xed41a057380bd093L,0x90fc9595fa2649adL,0x200199ad591d2e82L,
  78771. 0x8936742d4c2cb7bcL,0xd0a3fd6e36575e21L,0x76e227053f305fa9L,
  78772. 0x7bdda0df7a21b3afL,0x143dbef0c67f4dcbL,0x00000000000001d1L } },
  78773. /* 35 << 70 */
  78774. { { 0xb5f11cf2ba68056bL,0x15cbc5b04de81e37L,0xd4417ca25cfd5b38L,
  78775. 0x5bfb146339a246f9L,0xb74fd92f7cc33e94L,0x7f04e99306ac2e09L,
  78776. 0xa79523fd32ded24cL,0x546f77e4f9bd012bL,0x0000000000000169L },
  78777. { 0xca1194a897bb2761L,0xeb8c23d390384797L,0xae9b4cf2ec702d04L,
  78778. 0x7591beee789790d9L,0x40a5a1fd3a51f2ddL,0xf696422591d9c91fL,
  78779. 0x943b41c0b539db9bL,0x4bef1a61aa810609L,0x0000000000000084L } },
  78780. /* 36 << 70 */
  78781. { { 0xb89c242a654f4e39L,0x3a242406ac7df59eL,0x351db3bf11cc09b6L,
  78782. 0x337ce2e5b5cd27daL,0xb911a8c8941f351aL,0x1829610f4f4c663aL,
  78783. 0x8c1e50449abd904dL,0xb2a4aecbbe384923L,0x000000000000007bL },
  78784. { 0x20f4b1d2485a76b0L,0x946f7c9f03d1b899L,0x7ee2ae32c4080be3L,
  78785. 0xd8926ff9ae4c9f69L,0x29dcb8a9752ffbd4L,0xa19b5f862d627aa0L,
  78786. 0xf21a0cf6dbad059aL,0xf209613aeaf6e53bL,0x000000000000008eL } },
  78787. /* 37 << 70 */
  78788. { { 0x77b7a695addb51a9L,0x371624600758a0dfL,0x6366fadd9b96c964L,
  78789. 0x9620762a8a257da9L,0x4cf5a821b73d4d9dL,0x885a02e7a5a44883L,
  78790. 0x2efaff5be9e6dabcL,0xe56434986c631f4aL,0x000000000000010eL },
  78791. { 0xbf8c22605af0c963L,0x38af35636c1508fbL,0x90e5c18cd3e73bcfL,
  78792. 0x45ae790f15381143L,0x59b3919ca68915fdL,0xdeece0122f3f3dafL,
  78793. 0xfe50ee7cdf4846ecL,0xe06d6ac82b4d8de1L,0x0000000000000042L } },
  78794. /* 38 << 70 */
  78795. { { 0x4f86e374d4ed697dL,0xfd6361cb5404674dL,0x3db2dbac05238633L,
  78796. 0xeaf6a3abd21266d6L,0x9f326b1f6a6ac16eL,0x68602e1a98c82d68L,
  78797. 0xf07a98f68c974427L,0xbad6f88e5e76b4d5L,0x00000000000000ceL },
  78798. { 0xd1694a3fa0041699L,0xac0ea49e1561ebbdL,0x9b0d19f405ab2755L,
  78799. 0xa4f3fc8b7cc61e69L,0xbef82a8875e5fe87L,0x725fa4412cf49dacL,
  78800. 0x2bd557393e82ee1eL,0xae5fe7a67ebae861L,0x0000000000000005L } },
  78801. /* 39 << 70 */
  78802. { { 0x9ba09dec8ca53aabL,0x77869c0e2e5633a1L,0x4461fc7c445d39e4L,
  78803. 0xd6d9b5a15d1700e4L,0x14500eb6bbbe1927L,0xccc39a2e8b1d7227L,
  78804. 0x24697b146d4210ebL,0x5f09bd32b1242c25L,0x0000000000000021L },
  78805. { 0xc8a50fa9ad88b85fL,0xf50a6eb907748b9eL,0x8135162693366f48L,
  78806. 0x56d7aa91bdb9d82eL,0x03d6cc9b76c2a5ddL,0x6aa01804c25383cdL,
  78807. 0x0827cdc98f69ded1L,0xfb2e0e58afb7e2acL,0x0000000000000024L } },
  78808. /* 40 << 70 */
  78809. { { 0x3c4abf3fd97e4127L,0x4d660aa326a7685cL,0xc97e6b3ef7a49e47L,
  78810. 0x7b9d1badf34336a0L,0xf7dbf5ad2d068101L,0xb0467ec242fece7dL,
  78811. 0x73d37b2b1e537f73L,0x057949157ad06ac5L,0x00000000000001dfL },
  78812. { 0xe8ecdcf643f6a0ffL,0x972197753cf6cfddL,0xc01f32aa931a36ecL,
  78813. 0xed5da14457db8ac9L,0x94cc6cabbc5ffc23L,0xfbe877fa7d5d27b3L,
  78814. 0xe1c5975e5e6428ebL,0xa2193c9c5a0daa17L,0x00000000000001a4L } },
  78815. /* 41 << 70 */
  78816. { { 0x011b7a689d61071eL,0xe35a59a67bc5c1bdL,0x4b057690da770dd1L,
  78817. 0xd5a013dbbc56db57L,0xeece6246f79b0f59L,0x5518d020efdf202eL,
  78818. 0x8df9df69a3d6bee3L,0xbda52c0199387789L,0x00000000000001e1L },
  78819. { 0x1c5105e0e2d9d626L,0x9f7cd19de1a5379eL,0xa53dd35bc7f9f7a7L,
  78820. 0x18b24218ce4fa266L,0x3e96fdc091047332L,0x97b94516870935f2L,
  78821. 0xa433f8ee4468e1c7L,0x4870ae15d77235fdL,0x0000000000000121L } },
  78822. /* 42 << 70 */
  78823. { { 0x7f759aad1e4e55d6L,0x1b6e4c24207d1d3bL,0x12b6917f6a8f4624L,
  78824. 0x746b53df3e128c2fL,0x527ebc86d5a0eb44L,0x65d4cf7354880c3bL,
  78825. 0xe52f9c5ebc2f92c2L,0x243b18aaa7581d5cL,0x00000000000001ceL },
  78826. { 0x1f18adb3d81cca4bL,0x08ef8756ddc57750L,0x38cec13ab0ed406bL,
  78827. 0xdbece99f1f99966aL,0xf86d0ec07285ef43L,0x04a1c0d00f13fcb7L,
  78828. 0x5a7dcc74169a4c21L,0x8224bde539fd0453L,0x0000000000000039L } },
  78829. /* 43 << 70 */
  78830. { { 0x3f137f59354edaf3L,0xcf81077943db0014L,0x11befe5055d92f75L,
  78831. 0x03b4beb76cfede5dL,0x142107251b39d04fL,0xba238693ed8e6364L,
  78832. 0xd3fb6113eeec60deL,0x88ce54c975c482ccL,0x000000000000000cL },
  78833. { 0x8b56584bc7c2449aL,0x737e2a1969e7b7c6L,0xb58a7dbac7c387c9L,
  78834. 0x82b6e6dd3480c33bL,0x0cf346f48d2ea041L,0x37f1d4d6f60831b2L,
  78835. 0xaf853adb2b91d254L,0x122fe99374182acdL,0x0000000000000132L } },
  78836. /* 44 << 70 */
  78837. { { 0xdb55c6c2986f7001L,0x67b6c09795cb3d1bL,0x8c985426d2166c0cL,
  78838. 0x59026d57e1c9bf0dL,0x59a7419071c85698L,0xfd2dc29c95831354L,
  78839. 0x78a61f5c43d60779L,0x09fbd320b2969ee8L,0x00000000000001c2L },
  78840. { 0xba4292559295996cL,0x76252a2b15de5fd1L,0xd2cc5546092dcfa6L,
  78841. 0xe91692386e887ebfL,0x4f4495125fc232c0L,0xd0c857cd21b85119L,
  78842. 0x2f36082f35fd0670L,0x1be3d45ba37cb8f5L,0x00000000000001bbL } },
  78843. /* 45 << 70 */
  78844. { { 0x25daa7796cfea33fL,0x93c7759086e6a405L,0xcc1ccf6884a1c535L,
  78845. 0xfeeab6205ed4d313L,0x6950b0c08a15da19L,0x5b4db037675f34acL,
  78846. 0xd84162c5a5cc3525L,0x912030b7ec7e21adL,0x0000000000000078L },
  78847. { 0x86c56b4f19587a4bL,0xb15a58ba8f6920d2L,0x779c28482105317dL,
  78848. 0x5e6d47915859b5ccL,0xa7fc961e970b44dcL,0xcc0bf4dd02b1e83bL,
  78849. 0x523624b256135690L,0x3f667b5f02443fb1L,0x00000000000001afL } },
  78850. /* 46 << 70 */
  78851. { { 0xc1d83a2638e205b2L,0xfe5221c8d7d0c2c6L,0x6bdb4ac3c1a769f6L,
  78852. 0xe4bb2703001f5426L,0x8938ae06f0e37a2dL,0x0f684030b78134eeL,
  78853. 0xc37b7d9287aeb54bL,0xca52792c4d47a2bdL,0x000000000000011dL },
  78854. { 0x6ecb81f1b4c2b8c1L,0x4b8c56014b97345cL,0xb37eac649a59f0d9L,
  78855. 0xa66ad129a90a37c7L,0x0f2869f7c18ae478L,0xd96066b5ba43a3d7L,
  78856. 0x0cfd6f7c091f5184L,0xf30d4f40005d8ddeL,0x000000000000016dL } },
  78857. /* 47 << 70 */
  78858. { { 0x8d6966bae1015a09L,0xdefb5a8cfc2b390eL,0x34a1b39c52254d4fL,
  78859. 0xdb691d108958a3faL,0xe17c12d40f1291afL,0x0ea4f61874a2bd6dL,
  78860. 0x64d7a420721c9f32L,0xc520a90d468a8bb9L,0x000000000000019cL },
  78861. { 0x811ff4142196746fL,0x6c84aabaec8df85dL,0xf0a1815c502c2e9aL,
  78862. 0x2e613f1cb74e586fL,0xdfa1ddace514289dL,0x4de976896069c2c1L,
  78863. 0x42a9730362662f01L,0x95584b0f209c9f1bL,0x0000000000000161L } },
  78864. /* 48 << 70 */
  78865. { { 0xcb0dbd8c81e4d356L,0x292afafd4e0178cdL,0x3a7d9941430adf54L,
  78866. 0xfb7dbe480c8f7a12L,0x3191467eb36cc72eL,0x77375b0ae1c3bb00L,
  78867. 0x4f6d8307a22d64d9L,0xdd46b8bbaf0baa09L,0x0000000000000131L },
  78868. { 0x07b578c9007dcc0fL,0xab944686094e6e2aL,0xc6bc5ecc762c8082L,
  78869. 0xf113fd5e9044d50eL,0xf84f6c1a3048cdafL,0xb3d315cfaf0b90f9L,
  78870. 0x8cc36b9430fc0e21L,0x5af00bf1a2975344L,0x000000000000013aL } },
  78871. /* 49 << 70 */
  78872. { { 0x0204a7ed30e14cfeL,0x5c1b090c936eb829L,0xe2bdd0f52ba5fc20L,
  78873. 0x2a73a40606bd827bL,0xd292485433abbeffL,0x8878d661123777d9L,
  78874. 0x14dfbc3db90150c1L,0xa843edd44ea45920L,0x00000000000001c5L },
  78875. { 0xf21e1fcc3beeb206L,0x2fa375889c6f5b91L,0x974397a83ab64565L,
  78876. 0xfd643b96d524eaa6L,0x0c4a87767802c959L,0x66bd68b3d2e8b462L,
  78877. 0x3b3d987b5d35d420L,0x1f4edb49c91abd9aL,0x000000000000014eL } },
  78878. /* 50 << 70 */
  78879. { { 0x3b0bd56922fa69b6L,0x6e75e34a36478f37L,0x0a1ffa483270c064L,
  78880. 0xf278b5c8cbfa92c8L,0x03e1bfbfa2b9c974L,0x427d4a8c5815805bL,
  78881. 0x70075d82b9a9f3c8L,0x1f9ea976a8d98663L,0x00000000000000f3L },
  78882. { 0x13a1debcb67afe56L,0xbc746aced4f90c05L,0x26c5d6f8a280bbb0L,
  78883. 0xd0247b69581ca4b4L,0x37e29a53be4842a8L,0xb47c7fa39ad28343L,
  78884. 0x2054355f055f25aeL,0x92c89f4292dd61c7L,0x00000000000001f0L } },
  78885. /* 51 << 70 */
  78886. { { 0x160e975afc9057a1L,0xdeb93807786662abL,0x9aa06f5246488ffeL,
  78887. 0x8a968143b1e1b1c7L,0x234c6e2387bb6c38L,0xe5f30ad246087620L,
  78888. 0x6a37229c0f760c37L,0x38bae97e1a50ae34L,0x00000000000001eeL },
  78889. { 0x1326f1c92b609a2aL,0x9fd27c710b12c5f1L,0xf8ab5311a97362f2L,
  78890. 0x67b636400430e4faL,0xdeff5367d8964eb0L,0xb2cf669aa1dff262L,
  78891. 0x48a55fe4bc0c0282L,0x8cfe7c6a6cdb5eadL,0x000000000000014cL } },
  78892. /* 52 << 70 */
  78893. { { 0x64900ab5e105ffc2L,0xb3e0a69fd00c2920L,0xfe3a57e0acdc7d5bL,
  78894. 0x50017de528a32d2cL,0xdbe2ba7e5bd24047L,0x8f337130884e4863L,
  78895. 0x79022d566b48a2eeL,0xac5c8a0b0c2f309aL,0x0000000000000186L },
  78896. { 0xaab8b2cf84bfc6c8L,0x50877d98c9fe9744L,0xde69bb18384d5471L,
  78897. 0xe88ee61e438c52a3L,0xa76f2afccce637ebL,0x75b5620ad56fd7bbL,
  78898. 0x56f3f8f0d04fbc41L,0x394174bf023bb654L,0x000000000000014bL } },
  78899. /* 53 << 70 */
  78900. { { 0xd023ab52c6bea32aL,0x6c51c915513932d8L,0x5aece30ad133acd1L,
  78901. 0x6fcf4832b981cb16L,0x8b2e8cad9ec1f734L,0x8ab4c75ad10ea732L,
  78902. 0x2a044ea51d74bf98L,0x73e479194c492848L,0x00000000000000c6L },
  78903. { 0xe7a5d2cd98038ea5L,0x556046e204a82c25L,0x25d91782b242bacaL,
  78904. 0x51f3e0ee1c690836L,0xdbc96f2e730bec27L,0x70830a8102ea0f79L,
  78905. 0xc1c16df146e8fb12L,0x2ab499df30403687L,0x000000000000018bL } },
  78906. /* 54 << 70 */
  78907. { { 0x158102961f3b5f22L,0x0488e5021393cea7L,0xaf3e259b2f7dd31eL,
  78908. 0xc4a20bf305698181L,0x4f6f54d7c0ab5d89L,0x5057c46df04298f4L,
  78909. 0x9e02e2ef67d898beL,0xc88dbe64a3b4ef38L,0x0000000000000124L },
  78910. { 0x3ab2db8ba57e0f38L,0x64b8bc290e21d3feL,0x8d667ea9125f5c6dL,
  78911. 0xdabc90e93b7d1513L,0x4e4bad620a9eb460L,0xe51a1df4ef2b9108L,
  78912. 0xd19961243d204330L,0x05d1c570c95c650bL,0x0000000000000143L } },
  78913. /* 55 << 70 */
  78914. { { 0x0c0baf4e9e1ac5acL,0x6560212c36c092b3L,0xfe47d88b97f69772L,
  78915. 0x60ccdb14e9dd8621L,0xd01c9fb94799fbc2L,0xf0eed0a832103864L,
  78916. 0x5253a877d8a18225L,0x98d6acb8b7b95f7fL,0x00000000000001e4L },
  78917. { 0x2648e152738b06ddL,0x906b0951d8d81a05L,0xf65a31390c1f0749L,
  78918. 0x4c6f7f0c228e993eL,0x828fa196a36a2aabL,0xcb565b672d28a2c2L,
  78919. 0x56253a6472e6f445L,0x64f614b086c8a38aL,0x0000000000000138L } },
  78920. /* 56 << 70 */
  78921. { { 0x3a67b300e334c8abL,0xc08d0ff9984aa5b5L,0x8d72ed49cd8e1509L,
  78922. 0xae856df59b2a8535L,0xa34ef023c0cd980fL,0x29c83e84c243d7d2L,
  78923. 0x8ecdc4d8411fad2aL,0x26ab853b89eddc0bL,0x00000000000001a4L },
  78924. { 0x3a060b7bbb5b50a7L,0x62adcbe78ddeacd4L,0x953850e464c7dc2fL,
  78925. 0x4ec4a15c4e7bf3a3L,0x1834b3ee7d5b2569L,0x729a63cc470a84c0L,
  78926. 0x9c80233ffa5e25d1L,0x7da5b6c70ec91aebL,0x00000000000001e8L } },
  78927. /* 57 << 70 */
  78928. { { 0x8ea14527251ffa02L,0x2bf1e67547d87a1fL,0x7b27c81091ba2e1fL,
  78929. 0x104c606b9b71cd04L,0xbcccdb93d614f681L,0x7acc330aacd80ec7L,
  78930. 0x6ae973894a27fd8bL,0x53827c1b27ccc900L,0x000000000000008fL },
  78931. { 0x4d95d08cb8be4cffL,0xe400db2af9ffa040L,0xa0141a32b1c11971L,
  78932. 0xd126f1474397353cL,0x566cd105b5f4819bL,0x270fb6709b0536dcL,
  78933. 0x23af7e24bab1fd28L,0x9710b8e7df1db272L,0x000000000000007cL } },
  78934. /* 58 << 70 */
  78935. { { 0x8dc226ba4ad8bba5L,0x33460d86e63da7dcL,0x77a4605dc88d1aadL,
  78936. 0xed5b10f1ea39f371L,0xb70a14697ed77a64L,0x0e60327c61d9bd6aL,
  78937. 0x0783398bbf619adbL,0x3ec7209535f6c121L,0x00000000000001b1L },
  78938. { 0x13dd11d6e87d8781L,0x0511b90514684b3eL,0x84726e9723c18f1bL,
  78939. 0x29ac0d6d26942427L,0x7d1e62d4f6e29d25L,0x2135742a96de6bd7L,
  78940. 0x496a330ced5c26b8L,0xc1ece08a9387f81cL,0x0000000000000060L } },
  78941. /* 59 << 70 */
  78942. { { 0xd254b41b30e4ed89L,0x78502bb1706e5eddL,0x0f80dc97668407b3L,
  78943. 0x29261f750c1adca1L,0xc8e281d5d1026701L,0x92b4da71f0a77f80L,
  78944. 0xbcfa39e991c34f07L,0x59668cfc83cca319L,0x0000000000000039L },
  78945. { 0x92ab845a79387e8dL,0x59bad0ced71a614cL,0x0388357983ae2d62L,
  78946. 0xcda51bd9b1b30c96L,0x81794eba23f2a56fL,0xd5783d4ce9a2644cL,
  78947. 0x8c083a7a6e365e0aL,0x6bf3855df6e86aefL,0x00000000000001eaL } },
  78948. /* 60 << 70 */
  78949. { { 0x2edc22f9503dc30cL,0x8e15166ba819de2aL,0xde92a1c90881ff55L,
  78950. 0x5063c292425bc484L,0x7265e0a25894ffddL,0x29a93e2bd01afeacL,
  78951. 0xb10aae1e4f850b16L,0xd136e09e5bf5f95fL,0x00000000000000f3L },
  78952. { 0xb339031cb292040aL,0xe3a653c6c8872fbeL,0xbba8b2a4e3b091d0L,
  78953. 0xde53daa4755f2616L,0xcbc9a13169ff06f9L,0xd7d107b972b153a9L,
  78954. 0xbf3d962eed2593a5L,0xf9c71c781eb4063aL,0x0000000000000119L } },
  78955. /* 61 << 70 */
  78956. { { 0x54e878315b00173fL,0x9491c63fe8310c5bL,0x224a487d193c27b7L,
  78957. 0x37533a42f6a4c698L,0x2f6a7d23faa79af9L,0xc21f52e2a74900adL,
  78958. 0x310382fe6980e5f8L,0x61df1496b9570f7dL,0x0000000000000086L },
  78959. { 0x9519fbd250fcfb88L,0xe3699589db1e40bdL,0xd08ecf3c5d58a256L,
  78960. 0x42ca58a17f189165L,0x388309fef63d209aL,0xa9954b554f9fea80L,
  78961. 0x0e725ff40cafcd97L,0xfda100dac558c042L,0x000000000000003aL } },
  78962. /* 62 << 70 */
  78963. { { 0xe8fe168dfd2310a4L,0xf898b948a4b90dceL,0xf56e896e16d40ff5L,
  78964. 0xb637e62886078426L,0xf8260b3ffb6bd016L,0x8fdde3e65f7d485fL,
  78965. 0xf26d3120f6ff0bccL,0x234769001b371153L,0x00000000000000faL },
  78966. { 0xc48d9d588885aa1bL,0x44b751afc5bcc29fL,0x0e786e998d1dbf86L,
  78967. 0xe7b9a49131eb141eL,0xd729dba6c2bc12c3L,0x6feb96ced668fcd3L,
  78968. 0xfe0d902270a496e3L,0xfbdf5ea4ef9ce528L,0x0000000000000170L } },
  78969. /* 63 << 70 */
  78970. { { 0xc62025d1d8d1bed1L,0x83a5876e694e25bbL,0xcd4bdf56f844819bL,
  78971. 0xbf1ff474a318be3bL,0xd44a10d049d8a390L,0x01e2b1518c6e34bdL,
  78972. 0x148d248d646df4a8L,0xc5c4aad079925c4cL,0x00000000000001ebL },
  78973. { 0x5a268e4ba03ccff9L,0x2d03661edb04c064L,0xdfcf0af9ac3e2387L,
  78974. 0x90b2da8ddfc0530cL,0x9bbf27ecac30685dL,0x3c286c0f4d93abbcL,
  78975. 0xf8cf7f6864a024fcL,0xff5929d6b416d6d9L,0x0000000000000129L } },
  78976. /* 64 << 70 */
  78977. { { 0xc6999604bdf87653L,0x5383b379b3f0b8c1L,0x98c6ac3d0bf0435cL,
  78978. 0x2b04984e433c527bL,0x5308793c02073e7fL,0x4897091de1ef3fa7L,
  78979. 0x4fea6f39bb6b4777L,0x5ad4c5cc472023e1L,0x00000000000000e2L },
  78980. { 0x0db5541ae6cd3ba8L,0x5504d5218c0bac0eL,0x32f61c5ccfac5e4cL,
  78981. 0xb8e644b58538bd21L,0x8517c72e51fc9949L,0x8d47a70cad6f4e8dL,
  78982. 0xb158e06317ab479eL,0x8c565f7b74f01418L,0x000000000000002fL } },
  78983. /* 0 << 77 */
  78984. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  78985. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  78986. /* 1 << 77 */
  78987. { { 0x4dc47d473ad158a6L,0xaaf743f315320816L,0x4ecb999de6c5537cL,
  78988. 0x4daf6b4ee63c7840L,0x4bf5f19b02bc574eL,0xf65d174caf39b238L,
  78989. 0x0093f58bd91f67b5L,0x8ad3a5b346d5e8c9L,0x00000000000001c3L },
  78990. { 0xbb99652c22171340L,0x4da02aaa3f1193a3L,0x7a73a7371776161eL,
  78991. 0x831def3aa5ff856bL,0x5f6a4f56da00dc5bL,0x2a23f5009ec3a028L,
  78992. 0xce2fd53b7cb32472L,0x894514811bb02b47L,0x000000000000012dL } },
  78993. /* 2 << 77 */
  78994. { { 0xc75e1cf3dbfed7ccL,0x2af884ee092e1835L,0x1e303d715472bf17L,
  78995. 0xb1ea537be7ad90beL,0x7fa6a69cc4d8b1cfL,0x5b5318ee1b57f5b0L,
  78996. 0x60e617587ccbafcbL,0x5832172a9c4acec8L,0x0000000000000168L },
  78997. { 0x36bae29b9f2f8613L,0x9181194ad464a557L,0xf74c13fe52ff8f2cL,
  78998. 0x88d40dff0860d712L,0x405a03bb6c86e898L,0x61f01f2fdc243178L,
  78999. 0xea9771e091b667f3L,0x1db5cff3b26bd16bL,0x0000000000000141L } },
  79000. /* 3 << 77 */
  79001. { { 0x2366b92a98d9df56L,0xa626f80c44eface5L,0xae61b15e9040c6eaL,
  79002. 0x1a44a0e218d1d16eL,0xc6f45f75c7cf836dL,0xe0057ed6c87c35feL,
  79003. 0x568b05b9b88d323dL,0xfbfcae7a9a12dc71L,0x00000000000001feL },
  79004. { 0xec63ad133dcc4d25L,0xc75d539ba54f349aL,0xeddd4102c5ea1e5dL,
  79005. 0x9028eb89a867f628L,0x2d3b3fd042846e4fL,0x23190ead8ed269b9L,
  79006. 0xa55122ea67d610dbL,0x83603cdd637c60adL,0x00000000000000faL } },
  79007. /* 4 << 77 */
  79008. { { 0x73f3a17d4787129cL,0x6ca94151e8c8b154L,0xae7257f060011616L,
  79009. 0x5d72f548d4459499L,0x11739701c3af5f62L,0xdc2f39ee9915b9b1L,
  79010. 0x1d6448e76a3a0976L,0x1263eb6a9216a12dL,0x0000000000000001L },
  79011. { 0xbc6e933bd3c200a3L,0xe4ee3dd9bb9a9ff5L,0x3772c8f553b7bff8L,
  79012. 0xbb6a11b8482ad6bcL,0x59bbe81bcf1dd575L,0x2c9ad563891128dfL,
  79013. 0x4b190e9390470495L,0xb40f60c5d58762deL,0x00000000000001e5L } },
  79014. /* 5 << 77 */
  79015. { { 0x8c814a121edc8a1cL,0x7b6a7bf4e7395565L,0xc868143978ca6525L,
  79016. 0x57477d25fae6014dL,0x8d407fcfb71944fdL,0x4bab62eee154d68eL,
  79017. 0xe0db4fe2db1a8e36L,0x8b5a0a9e51e7105dL,0x00000000000001f8L },
  79018. { 0x3c6ba57aeb49cea8L,0xd7100fde6fa16f5cL,0xbc73dcf2580249c3L,
  79019. 0x8fa02f243f4bc342L,0xb32061c81a285d16L,0xb348535c499f8f5eL,
  79020. 0x95cd0cbe63dc0bc7L,0xd1a09b04920c26c1L,0x000000000000008fL } },
  79021. /* 6 << 77 */
  79022. { { 0xab913473c18c21fcL,0x9a8d50e85a3c3b57L,0xa3f98027ab4214baL,
  79023. 0xff00eda9ed6199deL,0x7e5255d83ff38cd6L,0x200f60a17976e4e5L,
  79024. 0x2145dc0f6604bcbcL,0x26506027e30d5f5dL,0x0000000000000075L },
  79025. { 0x74c1c25830bf2169L,0x0636d007d332125aL,0x5fae19411ab021b9L,
  79026. 0xa2e53c56b7779050L,0x0f15f2a1fc02474bL,0xf32c52daa91a9c2bL,
  79027. 0x016b2c4e09af347fL,0x3b98d8d9c8b5752dL,0x0000000000000195L } },
  79028. /* 7 << 77 */
  79029. { { 0xbfd693ce14dca7e0L,0xfca53d1fdf7201d6L,0x10ef9c293f39346cL,
  79030. 0x2f007c8150335445L,0x1cd56f642fef4d80L,0x727adb3f179a01cbL,
  79031. 0x043c868d1216b55bL,0x1725267a8b7e4431L,0x00000000000001ebL },
  79032. { 0x08f27860c03b7717L,0x46184e5ad56540e6L,0x9d4413db0cd006c8L,
  79033. 0xec1262b6c613918dL,0x6dd0eaa7719b6e5eL,0x04a254658cea469dL,
  79034. 0x66575d7d57fe33b5L,0xf2df873dc1eba9ccL,0x0000000000000104L } },
  79035. /* 8 << 77 */
  79036. { { 0x620aff9a81128a65L,0xa463ffe7d6a9d2c1L,0x2206277add4810efL,
  79037. 0x413edd73dd0687caL,0xf4b12ec9249cef0aL,0x14dd6665c4b165cfL,
  79038. 0x0cf86a23c5c070c3L,0x42354fe984755f2cL,0x0000000000000131L },
  79039. { 0x6f4741df2e9c881eL,0x2656911d43f26343L,0xebae8ae41c82e8e5L,
  79040. 0xceb1ca37f3900776L,0x07f2f8fe16721332L,0x59265673aad4911bL,
  79041. 0xe8799eabfc3bda3fL,0x55805723fd073355L,0x0000000000000088L } },
  79042. /* 9 << 77 */
  79043. { { 0xc1702e2d7ad5f4c8L,0xf923f2bc5a1339daL,0xa595a3bb549b6f65L,
  79044. 0xc610545ee1dba535L,0x7f51f3d42ebaad6eL,0xce7f8bcc6c9cae0fL,
  79045. 0x688732ab3d8f57f7L,0x2804a3276493278dL,0x0000000000000117L },
  79046. { 0xfd4db14748347a3fL,0x6fcef6816be9c766L,0xb94a0653e9cbd7c2L,
  79047. 0x1642e8b6693b1957L,0x9d6c17e5b68dad23L,0xedc75322b0a1d8feL,
  79048. 0x6061c9696d7dbd33L,0x898893654e198b67L,0x00000000000001e7L } },
  79049. /* 10 << 77 */
  79050. { { 0x9c3c0e612af820a9L,0xe80ec4172b23949bL,0xfd6741edf39b5cc6L,
  79051. 0x7508d2c569195b07L,0xc5b0b05bf66670e1L,0xc3a6eff7b4fbe0faL,
  79052. 0x6bcdfee8439d44f0L,0xae90d63b912965c5L,0x0000000000000197L },
  79053. { 0x7959bec9ee9e6f8eL,0x59f50c0987483ac6L,0x5deccebbacc28474L,
  79054. 0xd832648efced11d1L,0xd59cde8c46abbea7L,0xac18a27605da98dfL,
  79055. 0x315ebf629282c511L,0x67cf83eca91cc95fL,0x000000000000009eL } },
  79056. /* 11 << 77 */
  79057. { { 0xb25b845fc9f46a97L,0x5f2a1efdc18bd95dL,0x454be47ef18f3fc7L,
  79058. 0x0f14f6605543dd92L,0xcce66ca31e88d28eL,0x7de0041d6ad77c03L,
  79059. 0x0bfa9ef1875fe7a5L,0x459043152b7c660aL,0x000000000000011dL },
  79060. { 0x5d7c18371811451fL,0x43278c38b3d82a76L,0xc1a74c9387525910L,
  79061. 0x6426e55e01983c0aL,0x9ef7fff22afe0faeL,0x54814953d94166c2L,
  79062. 0x356c3af7244a9fb1L,0x5b0b753ca6be34beL,0x0000000000000063L } },
  79063. /* 12 << 77 */
  79064. { { 0xeb936532eba11d2bL,0x5a99185776dfa0d1L,0x557cb975f1dda3f2L,
  79065. 0x31a06276bca5b098L,0x43b4ab995e00fd06L,0xdbca3db3e6b05745L,
  79066. 0xf82d9a4dfbd3914bL,0x9df9a855d9583413L,0x00000000000000ebL },
  79067. { 0x0c6f9f1ac17aeac3L,0xadb82b657aa9309dL,0x5f7d18d0dad1edf8L,
  79068. 0xda0ccd7d6f7a4113L,0x21ff3dd62e459a42L,0xef0ced7a4b586ff3L,
  79069. 0xd3899d53cc45432cL,0x06cb34b4415e1762L,0x0000000000000095L } },
  79070. /* 13 << 77 */
  79071. { { 0xd87d4bad1db8928dL,0x6b3b3e07435b5743L,0x4d2de9b2332129d7L,
  79072. 0x69e49dacc8cf4e98L,0xf69c8eec8eda24cfL,0x0957359a143e9d82L,
  79073. 0xb85860d9519c4f29L,0x8280559d5dfb9972L,0x0000000000000126L },
  79074. { 0x3d53979179a086c0L,0xa2641be22809fd90L,0x90c6e7b0d3b9b9afL,
  79075. 0x219465d05d6d7e22L,0x6faef26d4f1805adL,0x8ec78f8e9ea67504L,
  79076. 0xfde34e6960c2bd44L,0xada7e8b46e85d7c5L,0x00000000000000c0L } },
  79077. /* 14 << 77 */
  79078. { { 0x09710a2cb143b2feL,0xe8a5da4966ee5443L,0xd0c100132f12b4d5L,
  79079. 0x5e7b0e772671b1baL,0xb4dddf2e8a6348f0L,0xeacee7a2c4ecac65L,
  79080. 0x19a1c51d04d317f5L,0xd5075202f7bfac9dL,0x000000000000014eL },
  79081. { 0xa82630e6c4383072L,0x739a02360f9afb1bL,0x7cd580240782c13aL,
  79082. 0xd5dca3e5269cb563L,0x534d1d4469d39b18L,0x8a99a7eee725e8c4L,
  79083. 0x4ae1a734e09b12d0L,0x96b8831a4511fd7dL,0x00000000000001e3L } },
  79084. /* 15 << 77 */
  79085. { { 0xd348f834f34ecfb3L,0x82423bf3a2b5a7e6L,0x11e41b02c531994cL,
  79086. 0xc4141466202d71c6L,0x60d3db1693b2104bL,0x2b9cc9bbbf1488fcL,
  79087. 0x820dd17464971852L,0x255efd4eb83dbadfL,0x0000000000000017L },
  79088. { 0xc2d71a64d751248aL,0x2088c20bbb351370L,0x5fdf0cf4c33df9a9L,
  79089. 0x71e307bbd6796dcfL,0xecff035ef166c04cL,0x8f6ee686bd58429dL,
  79090. 0x51a81bd8027186e0L,0x52e8524b22705c39L,0x00000000000001e6L } },
  79091. /* 16 << 77 */
  79092. { { 0x2b14935a7ce70edfL,0x1d88d30ee3c6f5a6L,0xaa6220de207e5973L,
  79093. 0x692b3ff064b5e637L,0x04c9ddc8ff0eb748L,0x9e5ec39e44978142L,
  79094. 0x9cc06266fa674339L,0xe0d13dcddd3e430dL,0x00000000000001edL },
  79095. { 0x74604722f38bd4ceL,0x473e4d3549da70f3L,0x1228875507d72efcL,
  79096. 0xdf89a5050a7521deL,0x674176564c1a6866L,0xe2c330233f7a0eadL,
  79097. 0x5e100468a7474dc1L,0xa47ca1a5dcc02d45L,0x000000000000001bL } },
  79098. /* 17 << 77 */
  79099. { { 0x6ec465e156e2014dL,0xe11db5d88be7c4bcL,0xe280c2ef46ee44bfL,
  79100. 0x9650200bfc287502L,0xa623faba21131932L,0x883521a67c64c58eL,
  79101. 0xf6cf505718803a4dL,0x3466bd19ec4cf07aL,0x00000000000000b4L },
  79102. { 0xb89009ef651d7f32L,0x97e0c0afa7012731L,0x5a66579cdb06f6bfL,
  79103. 0x326054c1ae4ef154L,0x6701b07d9709ad6aL,0x754acc2876647a83L,
  79104. 0xec5c1b4194a4d548L,0x7da690fff296788aL,0x00000000000001e7L } },
  79105. /* 18 << 77 */
  79106. { { 0x89971aabe09fd32aL,0x8863882406d544adL,0xc2ce75b757b06c62L,
  79107. 0xcf839aebfde27541L,0x236be270534a25f6L,0x22e7c530c753df84L,
  79108. 0x8c9277e537d2ea4eL,0x48d1f633ebc61e9cL,0x0000000000000160L },
  79109. { 0x89e3f1eb69876684L,0x90c977e026a0ed1bL,0x610a0a8534a0698dL,
  79110. 0x12b6bc1933cdaf22L,0xa40068414f80ee0eL,0x91146c1f7b956979L,
  79111. 0xcd77ddc326655fa5L,0x3f480d870f745a46L,0x0000000000000061L } },
  79112. /* 19 << 77 */
  79113. { { 0x40b96c1c3a259f14L,0xe7f40ea079e72202L,0xe8313e54d7267895L,
  79114. 0x173ce8f7559cafffL,0x494a51b3a6c1b23fL,0xc696bcceeb58815bL,
  79115. 0x170010c8e0dc01fdL,0x01086056d3602b64L,0x0000000000000061L },
  79116. { 0x410f23cc8a1148f2L,0x9c1f4ffc71449f8eL,0x1b7c1d63e39b69fbL,
  79117. 0xb3c0a279581a2ebbL,0xf3a475ed4e37ab82L,0xbae74b39c0ce76a6L,
  79118. 0x10059c6f67feeea6L,0xf4b5db802b5f3fc7L,0x0000000000000039L } },
  79119. /* 20 << 77 */
  79120. { { 0x899ff5b3a39492e2L,0xba2ed9c090fec192L,0x1f3f792e373ec69eL,
  79121. 0x58892019804a999cL,0x2decbbf65680eb65L,0x4c4d1fb1f1991cdaL,
  79122. 0x81c7cd2da9bff737L,0x641d5365db793801L,0x000000000000010bL },
  79123. { 0xd1a3e393e7b02799L,0xca23126f920e1690L,0x16229cabdae08e97L,
  79124. 0xe02535dc0dc624e1L,0x7f4a6c2707229ca3L,0xd00f68a7ea546fbcL,
  79125. 0x14c7a9060bcb65fbL,0x18a29801a778cdc2L,0x000000000000012aL } },
  79126. /* 21 << 77 */
  79127. { { 0x88ef7214a340a2bdL,0x6c21447fb3711634L,0xeda5e1cf59a1a9edL,
  79128. 0xec843ced532a2068L,0x5d030969a721eaa9L,0xf848b622c5c12f80L,
  79129. 0xfdbbe02eb3b5f479L,0x5a4a7e27ecfb32aeL,0x0000000000000152L },
  79130. { 0xa0ebecc73bd579c4L,0x947cc8931ae87971L,0x55a335a5f997b3f8L,
  79131. 0x0fa52370c742c232L,0x04f557068fe480bdL,0xd5dfbec56e89bcf3L,
  79132. 0x68094b4fe7e79004L,0xb930cb0577e383c9L,0x00000000000000e8L } },
  79133. /* 22 << 77 */
  79134. { { 0x404b0ca7ef717037L,0x086a03c3afacef33L,0x1a82f5347d458148L,
  79135. 0xe4380258397e4eb4L,0x1330d8d4ca7d334dL,0x1838b028ce1374f2L,
  79136. 0x368e12f620c20e72L,0x5a1a189b19279435L,0x00000000000000a9L },
  79137. { 0x938d0621ba67ae4dL,0x8edee31826d4e2cfL,0xf5476a05b5445042L,
  79138. 0x32fd912047791f6dL,0x9b896d1d278da749L,0xf0647a5b8027024aL,
  79139. 0x3dce74aede2c779fL,0xd238785c70d0322bL,0x00000000000000cbL } },
  79140. /* 23 << 77 */
  79141. { { 0x1389bd572c5be10bL,0xf417b76d6f40d705L,0x43eb4f0ae6bbc695L,
  79142. 0x83ee3dbbbceede7aL,0x3b7944776a96d4ecL,0xc8718559cc6adadeL,
  79143. 0xa5a422fe93cb083cL,0x88f55bde65b67cc0L,0x000000000000007bL },
  79144. { 0xa38582d46eabed01L,0x8555c12c141ce97cL,0x8af7c38b358fc420L,
  79145. 0x40639ba9c43f8fcdL,0x187da0e6ebd2a1e3L,0xface1ad56d325bf5L,
  79146. 0x9f44ec9fbbc2d694L,0x9029fab4d125a7f0L,0x000000000000007fL } },
  79147. /* 24 << 77 */
  79148. { { 0x79b40005d7c3e500L,0x99957461a7cbe47dL,0x1dba911d53a81eebL,
  79149. 0x50049c2a54cac621L,0xc3052ce65c8458c0L,0xd4e4cc285cd9822eL,
  79150. 0xa64bd2ba9c89113bL,0x616f47f324a9a360L,0x0000000000000000L },
  79151. { 0xb309b38536bb95e6L,0xf7808da5eeb3af75L,0xc9eb3a68ffef855aL,
  79152. 0x0d7c5382da981f49L,0x2176630e5a29fe14L,0x7c59c56f4b6dd847L,
  79153. 0x363fc08115c998cdL,0x28b9018e1c0e00d7L,0x000000000000009cL } },
  79154. /* 25 << 77 */
  79155. { { 0x2573417e81c83b0aL,0xdd9e807e048ebc99L,0x82a6c4a81b29f10cL,
  79156. 0x7d10a230142588d2L,0xbfcc4299646d2ff1L,0xcf6ec008b3d474d4L,
  79157. 0x4739d5a10fc69418L,0xc40c43ea6653b7ffL,0x000000000000010cL },
  79158. { 0x35cad063fec6bc85L,0xf71acf741da4918aL,0x1cab540ece2afbfaL,
  79159. 0xda8b2b24c98eb950L,0xc727151dc45eb0daL,0xff80e6ff5e8f915aL,
  79160. 0x61ece0f0f43fe366L,0xea66de22262859ddL,0x0000000000000128L } },
  79161. /* 26 << 77 */
  79162. { { 0x474171efa97a4763L,0xd93201a034920094L,0x6481f28d5a35265aL,
  79163. 0xe3e4d437b7eff28fL,0xe9af6e1aae3a1e45L,0xc4aa6f1cbd9522f4L,
  79164. 0x7c03335bbc9780cbL,0x96d41e4a321d6c2dL,0x0000000000000174L },
  79165. { 0x5f26167549113aa9L,0xaa8b464d7b5a62a4L,0xa5a46db0820a01c9L,
  79166. 0xc7faa813d78edb2fL,0x930e2c550d6a1d85L,0xa9093a617de2a013L,
  79167. 0xa127661d71d619aaL,0x54cbb5a5f1c8ce41L,0x00000000000001e9L } },
  79168. /* 27 << 77 */
  79169. { { 0xb2ba328e784b5740L,0x3aab9cb34128749eL,0x28f63dea025efe48L,
  79170. 0x50ac057754239c62L,0xd69d52d61945325dL,0x30729b23d6e44079L,
  79171. 0xb53986e0ba39b326L,0x00cee2b7000d74fdL,0x00000000000000b9L },
  79172. { 0x4c6c851b9dad4796L,0xe5e9073bbb3f588bL,0xb353a8be7a520bcdL,
  79173. 0xf3e17105f9f53a85L,0xf1f9092b4ca27a37L,0x98d205f5591535ccL,
  79174. 0x36d397df9b0d9312L,0x274fe8314e3ed5a2L,0x000000000000010bL } },
  79175. /* 28 << 77 */
  79176. { { 0xa5c21ee422b55a11L,0xb3d53f0aaafcfa04L,0x801275fda03eadb9L,
  79177. 0x1d198806804399caL,0x90ebcc340a2e19b3L,0xe6e38f0aaea736abL,
  79178. 0x708a52b84a9edc51L,0x2eb66e95fc7ffffbL,0x0000000000000178L },
  79179. { 0xd46591fd9e589f0fL,0x4f0d19c86d5aa7b2L,0x06709841bf48454bL,
  79180. 0x9ebeefe12b45c9c0L,0xf0a115fc6fb45000L,0xff84e50179ebcb41L,
  79181. 0x0ec79d93ce8d1212L,0x5566d34415ee3721L,0x00000000000000e9L } },
  79182. /* 29 << 77 */
  79183. { { 0x1ef4d33308cfb94cL,0x7441eb2b997fed75L,0xf5168da9af996143L,
  79184. 0x81618ae829a3693fL,0x19744ee0f0b96e6bL,0xb965ef0bb2fd289eL,
  79185. 0xe5e5dc6b0cebfaefL,0x8ff8be97049bc826L,0x000000000000010aL },
  79186. { 0xa8eefd0dcb1a9859L,0x51a376b22ac2b4a8L,0x21bc8fa24625bc78L,
  79187. 0x415780cf59ca09f5L,0x91b61e743291ae38L,0x5571371deabadbc8L,
  79188. 0x03af77636156dc1eL,0x71baf8d9a32f5f90L,0x000000000000008cL } },
  79189. /* 30 << 77 */
  79190. { { 0xb983e450215de93aL,0xf9a04f4d388b1042L,0x4a5d19b5a992494dL,
  79191. 0x6daa0b565edd34c6L,0x47c234303575862cL,0x3088d50b4e9d944dL,
  79192. 0x02b04a29ada9072cL,0x78027f7acb9e0062L,0x00000000000000f0L },
  79193. { 0xa0826f19f446b373L,0x7d93fb0f81263a01L,0xe6921097c78ea270L,
  79194. 0xfa538ddd2aa5c2f9L,0x01c031423df7010cL,0x955fa08be237455bL,
  79195. 0x056bc335462e5d09L,0xf4253cdec6b5db6dL,0x00000000000001f8L } },
  79196. /* 31 << 77 */
  79197. { { 0x7817f55b58d0551dL,0xb14d44372fba3e21L,0x0957c7c6213afec8L,
  79198. 0x16af19829c3d5a98L,0xce97f84f27ee4bc9L,0x9e67f2ecbb61232eL,
  79199. 0x21a4a6a3aacf3cfbL,0xaf2c734abe76c0daL,0x00000000000000d4L },
  79200. { 0x3c25948c614d7f45L,0xe38052af2070cdd5L,0xa1eee814c0addfb7L,
  79201. 0xaddf7463aef0d0e1L,0x881ca72b6f18263dL,0x3ded9d2a4ed2eeddL,
  79202. 0x1fc7d77bd7c0367aL,0xd72254b3b3ebfcfeL,0x0000000000000047L } },
  79203. /* 32 << 77 */
  79204. { { 0xc9d22d532c51ab39L,0x0bb42c882f02748eL,0x576c89c847e18934L,
  79205. 0xf34cdc49b9513257L,0xaf97df129ed107a2L,0x860263daeead8f82L,
  79206. 0x6147d39bfe11c289L,0x3b94b3ebf41158f1L,0x0000000000000113L },
  79207. { 0xc4c84d7cf747d887L,0x9a54f1a2f71f1726L,0xb4a79290daf5817fL,
  79208. 0x33dd5df87893855dL,0x567a1293f6953979L,0xf0c76bb60eac5025L,
  79209. 0x863fc87abb498d81L,0xf5d4e58ee9b3c11dL,0x000000000000016aL } },
  79210. /* 33 << 77 */
  79211. { { 0x3b17d547448dfb53L,0x7f2cb0729f642572L,0x63e29455c76a69d7L,
  79212. 0xca61b766bd3e3646L,0x37a6dd73810708b2L,0xe1a14fd91c905068L,
  79213. 0xd44e8f8c80ac4b2fL,0x835bf4e52af9b43eL,0x00000000000000b3L },
  79214. { 0x8c346f71e06e063fL,0x1a328b150b7d8d8cL,0xbaf6a09807bf6a99L,
  79215. 0x87e133f9596da0b9L,0x0e597178cf3e907dL,0xd5f05f8ddf233a55L,
  79216. 0x309225a26b463c36L,0x300bdf0f0584aa15L,0x0000000000000053L } },
  79217. /* 34 << 77 */
  79218. { { 0x4e7a75991895dfa6L,0x47a75f95bdba3effL,0xca07fe2d3f9a18a0L,
  79219. 0x5980f02ac1d1c586L,0xbbb9347f47e52186L,0x64655f6ac4d3c668L,
  79220. 0x49b744d851222ef4L,0xff1a52afbcee213eL,0x0000000000000046L },
  79221. { 0x07b176399164551aL,0x8670c0eb724fe5fbL,0x939b844418827401L,
  79222. 0x0057903fe2b0b7e0L,0x3715250a6bd60303L,0xfab5172cd457ae91L,
  79223. 0xfe0fffd5cb98bd63L,0x2442dd530529b127L,0x0000000000000045L } },
  79224. /* 35 << 77 */
  79225. { { 0x1ff6afce70614995L,0x8ec5c3c42d35576bL,0x3db78d6bf19c93b9L,
  79226. 0xb687f566561b78bfL,0x9a0059d21b471120L,0xd2335ec12a6d841dL,
  79227. 0x51f487eb03bae0baL,0xe0cddfe86348a091L,0x000000000000017fL },
  79228. { 0xe81c1483f1461684L,0x37d83bb3baeed32dL,0x5d8cbce8fa24c9aeL,
  79229. 0x14b9a08bc19282f5L,0x0ffec978bc0d960cL,0xe3453f9dcc202f77L,
  79230. 0xe258d82ec95021acL,0x0b7e13ad3cb3f629L,0x0000000000000166L } },
  79231. /* 36 << 77 */
  79232. { { 0xc7ac11e626f1454fL,0xc3c07fb2b35c3517L,0xb3250791aaa6cc48L,
  79233. 0x386fdd4b80913dc3L,0x9ceadabacef02e0dL,0x8ffbd36041b82b0cL,
  79234. 0xa419d90fe5459cf5L,0x96b655a4d2be1233L,0x00000000000000d6L },
  79235. { 0xfc4d23c02f0b4251L,0xde6584339c166c63L,0x5d2a686fc992b364L,
  79236. 0xebe9eab62aec7318L,0x1f276b32205d70a4L,0xa86bf8dbe3ad7c9fL,
  79237. 0x94a38b3aee6e87b8L,0x60dafef41af5d923L,0x0000000000000175L } },
  79238. /* 37 << 77 */
  79239. { { 0x5a3443b09f246493L,0xf304564dbcd26507L,0x0e97a06aa7092182L,
  79240. 0xc3db692d8477c80fL,0xc5947c4347f9b7bfL,0x5b16b09bfcb8be69L,
  79241. 0x6d68633942bfed11L,0xb2e2c5a703585ba1L,0x0000000000000102L },
  79242. { 0x0c92464dce2a9c87L,0xdd3ba87f5a22f114L,0xe91630bee7c79285L,
  79243. 0xec9d61b81671061bL,0xb124aeea3135b566L,0xdb2e1760b108a419L,
  79244. 0x8dc457368dccb7e0L,0x395f8c1269f288caL,0x00000000000000d0L } },
  79245. /* 38 << 77 */
  79246. { { 0x5b44bbb6e8d951b3L,0x3fd669c6eda76243L,0xf5060d8492a121aaL,
  79247. 0xa3cdd2388ff0d7c2L,0x1fd8c08b68451b81L,0x0d473fa8947d2bc9L,
  79248. 0xb84cfb1558ecd9f0L,0xc1d74eaa5861f3a8L,0x00000000000001b4L },
  79249. { 0x8992dcd5a7e3fd83L,0xaca06108361d9bebL,0x6e8a01451eea9b43L,
  79250. 0x468cbdff0dec9235L,0x13f19bff1f3f0571L,0x1c521a953db7e61dL,
  79251. 0x8315bb22648cc46eL,0x7a4b2e18e8060604L,0x0000000000000155L } },
  79252. /* 39 << 77 */
  79253. { { 0x5aeb03ff7d3ab094L,0xfda8c273a90d5cc9L,0x6883bcf2ddf59c2eL,
  79254. 0x6496e8504dec3d19L,0x356eab571c428360L,0xf15edcc7aa376191L,
  79255. 0x751db33905e75700L,0x90dae8887250d302L,0x000000000000000bL },
  79256. { 0x11679572d6180ad9L,0xfed6254809ed164eL,0x14598065c141b48bL,
  79257. 0x1c1f0baca4575d4fL,0x207b297aa286b951L,0x971052a3ae4c9f63L,
  79258. 0x38ca88212a097f14L,0xe505b1ec718e620fL,0x0000000000000119L } },
  79259. /* 40 << 77 */
  79260. { { 0xf02ebe9596f52213L,0x2aba2dfc62f9f1e9L,0x7bbdde57934ef9f0L,
  79261. 0xd5c7882ea417af58L,0x55cdfe89dcdf7815L,0xf79051b18470a435L,
  79262. 0x364da0aa7e8593e8L,0x02c3d160975a5f81L,0x0000000000000034L },
  79263. { 0x59493183ccd37734L,0x085a8cd2e645e991L,0x2d54d2668c4b4a86L,
  79264. 0x96cf84cf7b4079beL,0x4abade40ba683f56L,0xfb29c00bb5457b07L,
  79265. 0x6ed5fd3592ae7f9bL,0xb1f1a25fb5a9d039L,0x00000000000000caL } },
  79266. /* 41 << 77 */
  79267. { { 0x26cd556b3921e1a1L,0xaea7a4d9b1f5f62fL,0x8be062eb1ad9028bL,
  79268. 0x99c738b3f3c0f0ceL,0x5db59317f043ae79L,0x30903c23fa93058cL,
  79269. 0xe075745250dcde94L,0xb63ee08f5d35faf8L,0x0000000000000130L },
  79270. { 0x9dade46088d5a5a1L,0x7f687f6624dc764cL,0x224429986af08677L,
  79271. 0xf6ffc5179857465bL,0xdd1d92cd16eeb385L,0x3b27c4363a9ab99fL,
  79272. 0x36fc22217b450819L,0x8a2ae9917c077c4bL,0x0000000000000126L } },
  79273. /* 42 << 77 */
  79274. { { 0x6edbc169d3c026efL,0xb990e974b3656143L,0x82dce5f11052b46cL,
  79275. 0x522b454f346588e6L,0x87be4c0a2f04bf25L,0xc013f791d83edef8L,
  79276. 0x208f49a8736ff68cL,0x00ae3843281e5af5L,0x00000000000000b8L },
  79277. { 0xfb7c1540b14834ccL,0x7578c1c9036b2491L,0xb1328c4174f9c4d3L,
  79278. 0x9158cc04bb0a5630L,0x95d413897757dcf6L,0xe6be1b4f6bdc01a7L,
  79279. 0x92930721197a54abL,0xf8cbb795262c5de9L,0x00000000000000feL } },
  79280. /* 43 << 77 */
  79281. { { 0xd4e40c43d91f2e22L,0x760551b0ea9f06dbL,0x7271357be6424d8fL,
  79282. 0x1c139ebfd700c632L,0x36ffaff59c1ca226L,0xcc10334cc07ea685L,
  79283. 0x066963dbb8b2376aL,0x38066959a91e1636L,0x000000000000006fL },
  79284. { 0xd27f9dc0aa8a23deL,0x9143dd55b035bca1L,0xd21f7d664d70575dL,
  79285. 0x3e86e93ad29defadL,0xff32fb430d7d088fL,0x268353357ceb5006L,
  79286. 0x9696d3a595ff6981L,0x6e866b5b44250a28L,0x0000000000000156L } },
  79287. /* 44 << 77 */
  79288. { { 0x351a043f060f4eebL,0x15209879d5b3bb63L,0x9698170c9178b96cL,
  79289. 0x5b90ee14085b927aL,0xc8993568b5f2f8deL,0x9b5e29d34847abb4L,
  79290. 0x46be1cebefd9a245L,0x8b4d783fe64a4af9L,0x00000000000001ddL },
  79291. { 0xb7bef10844ca314eL,0x26be580eea2bd1a1L,0xf57173d964855abcL,
  79292. 0x21d2e1ed42aea843L,0x2a75fcb632f0d49dL,0x13316023b1c84fadL,
  79293. 0x45734d1e7a1b533dL,0xb1a134dd8eee750fL,0x0000000000000050L } },
  79294. /* 45 << 77 */
  79295. { { 0x2891a9cc118e30e2L,0xcaa1b23324d29c24L,0x299600b7614d15b0L,
  79296. 0xd3fa214bb2b193beL,0xabd77d87402684f1L,0x8c0b18c2fdec80f4L,
  79297. 0x977833ca8efc68d8L,0x80752a69b3a99b6dL,0x00000000000000c1L },
  79298. { 0xab8b54aaaa4faf4bL,0xe58674b91485e938L,0x70e4907df9448c62L,
  79299. 0xb74aadeba5f687aaL,0x994221ada0ebfc28L,0xa2e0bbac8df568a9L,
  79300. 0x66e22982e1f06342L,0x800f40d53e73b5bcL,0x0000000000000053L } },
  79301. /* 46 << 77 */
  79302. { { 0xad24f8630abc1fc6L,0x04be06226625e9ccL,0xa0fd69eda80ce1e7L,
  79303. 0x3f61e48b44c92416L,0x2ff89da5ce72dfa6L,0x462258a109268f2cL,
  79304. 0xfb125f58b4b7fd03L,0xf72a865567c58ba6L,0x00000000000000e1L },
  79305. { 0x4db84d835c451179L,0x88ccccc63b02f7d2L,0x03ac849dc542c185L,
  79306. 0xc20bc4c8b38b637bL,0x8076a9b8cdc5a419L,0xc712278bb3ddab32L,
  79307. 0x3cf2df106e8e74b9L,0x7b177eb9486b20b2L,0x0000000000000105L } },
  79308. /* 47 << 77 */
  79309. { { 0x8afcc24d382f5750L,0x3acddfde54812d70L,0x7299dc77cd9c82edL,
  79310. 0x1642c13900c140feL,0xa778b51691c0c3c5L,0x038b15eb2502380dL,
  79311. 0x0762404f0bd24e3aL,0xad1e2552ce726c20L,0x0000000000000196L },
  79312. { 0x20a92f312523da44L,0xd1023bc8c536bc84L,0xe6b5f3a86c43897aL,
  79313. 0xadd1b4f1b3437151L,0x5687d3eb1a97933bL,0x07c6421383350406L,
  79314. 0x56874e419e93c582L,0x6bfc781c1f59dab5L,0x00000000000001a8L } },
  79315. /* 48 << 77 */
  79316. { { 0x6503932f0c7723e0L,0xd185af25a8934788L,0x5bc1660c792232f4L,
  79317. 0xcfb04aabc2ccd476L,0x59e84fee16844fe7L,0x736c2cd809c31ad5L,
  79318. 0xdf44215499058585L,0xf3b79464c3f2b46eL,0x00000000000001d3L },
  79319. { 0x282464c7089e2e4fL,0xbe9d0bfa17d8eee1L,0x7934aed1fcf3e876L,
  79320. 0x76465104d4e606b9L,0xf114efb4fa4412cbL,0x8f9f32d2f1fc8480L,
  79321. 0x2879c7855c340a29L,0x3d28e8a7d570bcefL,0x0000000000000178L } },
  79322. /* 49 << 77 */
  79323. { { 0xe39823fd528505acL,0x8ebc47325c5f2cf1L,0xc44463bec2949fe8L,
  79324. 0x85161d86cce2693eL,0x07a25ac07ee556d1L,0x4f25af1952e857cbL,
  79325. 0x11c601ec54424593L,0x73ab0d66312c6359L,0x00000000000001b7L },
  79326. { 0xa5a485e638d15a2dL,0x508d127b1473315aL,0x77f80913ce227761L,
  79327. 0xc5ab5ba6f973549cL,0x2feded3f26e06fadL,0xe3e8a9421884393cL,
  79328. 0xd10318ee59a646a0L,0xaf1ac30d53726ff1L,0x0000000000000152L } },
  79329. /* 50 << 77 */
  79330. { { 0x100b85a9dd94b4d1L,0xd8daf57a6587d8ecL,0x9310171258ae0fcaL,
  79331. 0x0f97b4f8f2987b29L,0x7a3e6862af6fb771L,0x3a285868b8b39256L,
  79332. 0x00d36274ee37b5eaL,0x52b11d2e10720476L,0x000000000000012bL },
  79333. { 0x3fa5ea33242d8351L,0xf9d559b230f44661L,0xd2c61b6cb62b0b61L,
  79334. 0xc316078cfe0480feL,0x0ad7a72e4db4ea51L,0x624045e0f8bdda6eL,
  79335. 0x30f27b5ad9c158a9L,0x94b07694a3b997c1L,0x0000000000000152L } },
  79336. /* 51 << 77 */
  79337. { { 0xc2965b4b16ac65feL,0xc4b7d9409ab82e5bL,0x229ff0cff7ea0055L,
  79338. 0x40efdc6369eaa5fdL,0x93c5764644112d4fL,0x0b25310e2715e10eL,
  79339. 0xd6a9efe5c9974136L,0xedacc9706ee8d832L,0x0000000000000046L },
  79340. { 0x893377613727b7e1L,0x88c850afd078941bL,0x58756ece7b823796L,
  79341. 0xde7bb167aafaba1cL,0xb057cc537a7fc085L,0x83b15ebba59b9fbbL,
  79342. 0x1319c88bc112199dL,0x74f8df4e55023975L,0x00000000000000d7L } },
  79343. /* 52 << 77 */
  79344. { { 0x52c39bdd29c86c06L,0x36c4a7422e6da397L,0xb429fe2916c08eb5L,
  79345. 0xa8cbbcaa5f62d74cL,0x49c149eb40b83aacL,0x38128a270b423a47L,
  79346. 0x947c4abf4f3121f9L,0x0b2c865c2ae48961L,0x0000000000000096L },
  79347. { 0xd489f8b216565942L,0xc94dc15e2e387adaL,0x7ecdbea39ec45872L,
  79348. 0x122026994189738aL,0x57deb4ea1268576dL,0x59dbccf1d8ef43ebL,
  79349. 0xdc0d07a5acc68febL,0x519e8d571a01e26aL,0x00000000000001d3L } },
  79350. /* 53 << 77 */
  79351. { { 0xaf380ca366cddf42L,0xcac3e386a4625641L,0x6366ffed6a06256bL,
  79352. 0x9803be38a63544acL,0x75a7a48c4235d59aL,0x880b86944b0fa3b7L,
  79353. 0x105f4598e06fd240L,0x861670560370cf92L,0x00000000000001c6L },
  79354. { 0xded452e494949561L,0xddae0321d7dd2556L,0x9f81b561326f74c1L,
  79355. 0x12b3e9632604eb59L,0xb7f0a72f30a9e3ffL,0xdc6d097e4df8dc6aL,
  79356. 0x5b82f64fb2ca84c6L,0x605abf186073c250L,0x0000000000000052L } },
  79357. /* 54 << 77 */
  79358. { { 0xcf8532fb7c6c5928L,0x809b06af68ef4167L,0x1e3f716e69dca4f9L,
  79359. 0x605a859dd655961bL,0xc5414e946c1180f7L,0x864afda1026b8a2cL,
  79360. 0xd181e149da3fadbaL,0xe7be322d8fce2449L,0x0000000000000142L },
  79361. { 0xc85d4ffa5670ff12L,0xf7e91b0ec3a84a89L,0xdf19ed5befc145c4L,
  79362. 0x206c72965a8c3c4bL,0x0b97942db93b820aL,0xb1b890b7a51b824dL,
  79363. 0x013d153d20dce1a9L,0xefe9ded346743f8aL,0x00000000000000a5L } },
  79364. /* 55 << 77 */
  79365. { { 0x88d2dc674477ec08L,0x80ba5fac1411b3c0L,0x969b5230a98dfe57L,
  79366. 0x752ad8d4eeaf4654L,0x6a922cc35f3d4184L,0xc523a34808e7a943L,
  79367. 0x5f764b409cfe4145L,0x7395772bc03b9f6cL,0x000000000000012bL },
  79368. { 0xa990597615682164L,0xf164f513939f3d99L,0x30f6e9db7016f097L,
  79369. 0x8890d32051fe1e18L,0x3bba183346117780L,0x70ac1f57c19f9604L,
  79370. 0x8457dd06d81e63e5L,0x79f823471aee9177L,0x0000000000000076L } },
  79371. /* 56 << 77 */
  79372. { { 0x8acd524bd326ffb6L,0x4a1091a39e731029L,0xb056d998600d299aL,
  79373. 0xfb695c26b78ebf7fL,0x2b83e30c73cc7f48L,0xf2364e614bcb6645L,
  79374. 0x6a707650837638c3L,0x6d1652bf21528a26L,0x0000000000000034L },
  79375. { 0x353dc81f6d2b8fc3L,0xfd3003918627a2e4L,0x5f7c25651179264cL,
  79376. 0x69856301af46d535L,0xdfcd6cbd16f35cbcL,0x5d2268fb4fe07645L,
  79377. 0x2ca719dd29cac6aaL,0x9f8fcb728cbe9556L,0x000000000000017cL } },
  79378. /* 57 << 77 */
  79379. { { 0x4f2db278e6836ef9L,0xdc9db67431f1f845L,0x41dac672afb53ff4L,
  79380. 0x1f39842ea4d18cb8L,0x832a0120c8d7d103L,0x5af1307130d09edaL,
  79381. 0xba18cee34f80aef4L,0x919ff54e9b1ece22L,0x000000000000004eL },
  79382. { 0x9e47ee63129039d8L,0x9b52315e4fcd8e90L,0x38df4512cbd444d5L,
  79383. 0x35db7331788cc2acL,0x50dbadc2e36c9026L,0xc6ef1044bca03510L,
  79384. 0x79e05a990a970df8L,0xbdd712ff5af0d25aL,0x00000000000001beL } },
  79385. /* 58 << 77 */
  79386. { { 0x9aa54906870f00c8L,0xeda2769c2f3b15c0L,0xe0532ca76d46ab6fL,
  79387. 0x9c0906af876b4061L,0x1bd77842076041c8L,0x6174e11fd89f7021L,
  79388. 0x9d479b3b9bd405a2L,0xf4f7c9ebacfbc196L,0x0000000000000019L },
  79389. { 0x7913dcc655e1cddcL,0x1aed0ee4b8d46e1bL,0x15d4d50ecd4a8a46L,
  79390. 0x19f9f35e2c6ab887L,0x1572156140028363L,0x87e4c807d98c50bfL,
  79391. 0x3c2ea1ef5dd21087L,0x7f39af3bfc7cfde9L,0x0000000000000065L } },
  79392. /* 59 << 77 */
  79393. { { 0x0418f880e7228e86L,0x02a31e0bc2425928L,0x1ba3e262cd64b30dL,
  79394. 0xc90cd1893cb75cfbL,0xdda6046a6b60d4abL,0x700f6be365d4ae88L,
  79395. 0x6c19cceb2a55c16eL,0xdda5c411dc3d25b4L,0x0000000000000088L },
  79396. { 0xade4b36ac8dae67cL,0x406b38c3a42ae110L,0x2ba70cf3e640d5b3L,
  79397. 0xdb2c34c2e6b4b6d8L,0x2e0c90d8bd73609eL,0x6d1be3ccade63bf4L,
  79398. 0xda9a3d0bb0ac8323L,0xc42d60d0d2f72670L,0x0000000000000076L } },
  79399. /* 60 << 77 */
  79400. { { 0x302ccef76dec3c88L,0x04db4fd6110918afL,0x895be3981815e18fL,
  79401. 0x87d89080690de8a8L,0x95d62d3304a44f0fL,0x206a7909fb546063L,
  79402. 0x327de8996eea1c3fL,0x729f6291fe7aa87fL,0x00000000000001e0L },
  79403. { 0x0efe87e02a49d439L,0xccc22bf2fdf9dcd3L,0x22e02cc613639aaaL,
  79404. 0x9502c35f9ad086fdL,0x7d3551898b574050L,0x1ecc10ff410cce0eL,
  79405. 0x8f538a0a134236aaL,0x8f60cd8c27d66de9L,0x00000000000000a4L } },
  79406. /* 61 << 77 */
  79407. { { 0x55645b80c16661c6L,0x948e917c7d0ee031L,0x3eecac38b7e15502L,
  79408. 0x0d8e9f161640fcf5L,0x43c6dc1921b94ca6L,0x6e812bbb6a097c02L,
  79409. 0x2d3f616b6e983e37L,0x328a6ab8353feb24L,0x00000000000001b7L },
  79410. { 0xdeacf95c5372c6e4L,0x16bf649897e667ceL,0xc73d49047d89c4c0L,
  79411. 0xedddbb70621449d8L,0x55eda935acd93cd5L,0xdb12b4afb06b3addL,
  79412. 0x2c09fe7ab0dddaedL,0xb5cdc9e307cb7ab9L,0x00000000000001acL } },
  79413. /* 62 << 77 */
  79414. { { 0x63077120aefe3471L,0x6afdb40a16520c6bL,0xdefe75d8e10ffec9L,
  79415. 0x61bb8618aba587dbL,0xe787478faa110a6aL,0x660b61e0adaeb173L,
  79416. 0x9c2ab425be6b827eL,0x05e45ab3bd4272fcL,0x0000000000000105L },
  79417. { 0xfc20b8cb722ef6c6L,0xd78e5751dc4821b9L,0x6cebe18b1f7e4a73L,
  79418. 0xd82a17b7b3b3665bL,0xda96aa6da35af6cfL,0x7b5b59476f5ff66fL,
  79419. 0x43ad4a772606eb76L,0x358dcbd77d164e28L,0x0000000000000173L } },
  79420. /* 63 << 77 */
  79421. { { 0x980490160e955688L,0xf9f19c4243d2e2e4L,0xd2c0104dda5c9863L,
  79422. 0x700371f62cdd8df3L,0x5d7f0fa834cf1b7bL,0xc54ce1a18d7b8a16L,
  79423. 0xc4ba22b8ecd80872L,0x31c353dc77828799L,0x0000000000000032L },
  79424. { 0xffc587a418dc7eccL,0x4973b0e2389fb0feL,0x65013621b185b1d7L,
  79425. 0xad6003d1a86d72c3L,0xe78484f1bad2e076L,0x20f1a5678d9f7dcfL,
  79426. 0xc351ed478c3d52ceL,0xa6280661ec7a67eeL,0x0000000000000146L } },
  79427. /* 64 << 77 */
  79428. { { 0x20084293eea8d666L,0x01afa6ae12780dedL,0xdbce851a5b79d11cL,
  79429. 0x280a43a009b895b3L,0x95c92e1a77c59c03L,0xd99606376b9ec1b8L,
  79430. 0x08c0bb007beace14L,0xd0ba7943eb76c9beL,0x00000000000001b6L },
  79431. { 0xa14d2a3f15a51540L,0xfd25ffcb7211ba73L,0x020efe82cbeedfacL,
  79432. 0xdc5b6591aa5301e5L,0x25d3413fe1708393L,0x9a3fff34b0a1e5cfL,
  79433. 0x1892f1b7d310f9aeL,0x3ec31f629df3548dL,0x000000000000017cL } },
  79434. /* 0 << 84 */
  79435. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  79436. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  79437. /* 1 << 84 */
  79438. { { 0x541bdd795338e99eL,0x2753b15c2656702dL,0x360263f1a7f6af6eL,
  79439. 0x42c9778702adc827L,0xb4b4a66527abff88L,0x1f9dfe514a9a1ce9L,
  79440. 0xf1fa56ac48ceb12eL,0xf0e55a366d0b967dL,0x0000000000000116L },
  79441. { 0x7ed35bc349642f41L,0x69c8bc4622ee3354L,0x528466231911836fL,
  79442. 0xdb193bafbf4b87e2L,0x427ff5f44209f1e3L,0x4152fd13dae27044L,
  79443. 0x3b73f059a1f0ae7dL,0x621ace506f1503e1L,0x0000000000000196L } },
  79444. /* 2 << 84 */
  79445. { { 0xceb3d6d8ecc914faL,0xaaddd75d326df942L,0x8475ee47391b67b2L,
  79446. 0xad4cc87be0591e3fL,0x1aa4c9fd9129c3b2L,0x52172155525f0054L,
  79447. 0xa32fff27aeade029L,0x550ac763217c0ea7L,0x00000000000001dfL },
  79448. { 0x3d4bbc04df12e80dL,0x82d0b17e8d5ad5baL,0x7b059d1e1e38ba38L,
  79449. 0xb22b3beb0f9c9ad6L,0x75948e7725833548L,0x15e78db4b7d8216dL,
  79450. 0x3c573681c1697cc0L,0x02dfd8b537f9ed90L,0x0000000000000172L } },
  79451. /* 3 << 84 */
  79452. { { 0x72c5cf1e83625a05L,0xb04221efd0b73c77L,0x52de6bdddcd8527bL,
  79453. 0x73e03488d491416eL,0xcfefb1b130e7b551L,0x872c5b20813a17faL,
  79454. 0x75f43fb9685a3923L,0xf057cae66960bcd8L,0x0000000000000119L },
  79455. { 0x84e8d67954becb7eL,0x47d5e5da3afdb96cL,0xf0b5d59b04476ed9L,
  79456. 0xb2d7daee4c2984a8L,0x07fc2e0e986271e7L,0xa9895f88b3300786L,
  79457. 0x8f8fcd5a53a88830L,0xe9446200452d1a5eL,0x0000000000000181L } },
  79458. /* 4 << 84 */
  79459. { { 0xeb05b269a9e110faL,0x3dc96e495694769fL,0x22d5dcb190129a2aL,
  79460. 0x15b02839ddcab3beL,0x2784efed9819a2d9L,0xc19a373a83ba587aL,
  79461. 0x0ecfe7e631ac78ebL,0x6b7d9a50b6580d76L,0x000000000000009fL },
  79462. { 0x20cf011e22e1f23eL,0x2bcd70c671dec689L,0xa4956ecdb968b2e9L,
  79463. 0xee6224fd8c68507eL,0x2aeb7d0c6e7c15faL,0xf857d1a55e1c74a9L,
  79464. 0x4f5eb8c6298d033bL,0xfcda7bdada7ef5ffL,0x00000000000000fcL } },
  79465. /* 5 << 84 */
  79466. { { 0xf21724305ce20879L,0xd48233b602995c9bL,0x5da336e0d39d6149L,
  79467. 0xc516d0131a37df28L,0xa7098d962b3fe1c0L,0x65cee9a96a3099b8L,
  79468. 0xd1df9d2e320323a0L,0xb1c49334cfad65d8L,0x0000000000000024L },
  79469. { 0x3bbc258e902dd9f8L,0x13861a7c0e9ce909L,0x0f0497f50f7c4ab6L,
  79470. 0xef96a255ddc4a4caL,0x4655fd6414a185ddL,0xa983915491345882L,
  79471. 0x96c039266695b74aL,0xd88db243481da372L,0x00000000000000d0L } },
  79472. /* 6 << 84 */
  79473. { { 0xabe2205b68e52960L,0x773afddfa062a50eL,0x8c58ea01f1cf4a46L,
  79474. 0x3e88e23dc76bb8d3L,0xbb3b294bc501e0aaL,0x42cfd6220859b18fL,
  79475. 0x8c6dc95f16286e18L,0xd4ba253e0ecf00feL,0x0000000000000071L },
  79476. { 0xc3970825eb3340eeL,0x4f981608b3ad699eL,0xffb5ea24c80bc4deL,
  79477. 0xb774f894604dbb78L,0xa164c4cb1c947619L,0x92bd21e5cf2b764bL,
  79478. 0x4b38a590ecca13ddL,0x1a47520a05cb48a4L,0x0000000000000166L } },
  79479. /* 7 << 84 */
  79480. { { 0x85e007a105e31f06L,0x8b43c7defdcaffd8L,0x53d13f277e4ab187L,
  79481. 0xf7d22a394d4e71e1L,0xf1daecf88d0a8b1dL,0xe51e2f3a90c409cdL,
  79482. 0xb84b6e0b46d43496L,0xb70b148ef5e87710L,0x000000000000017dL },
  79483. { 0xfdcd92b7e45e1097L,0x6c5fa06295da5ef1L,0xd2fa00bb7bac30eeL,
  79484. 0xaada82e4f49d2088L,0xf8c4fc0f56827ba3L,0x04ef216b207c79acL,
  79485. 0x3a3a685138449d34L,0xf0ad4b5191900ce7L,0x00000000000001aaL } },
  79486. /* 8 << 84 */
  79487. { { 0xb4c52f11f3d7286aL,0xec47cb5cbbf67a41L,0x89d3382eaafb10a4L,
  79488. 0x4afd876806222b90L,0xfa16b295feb5416dL,0x0946f9d45d095b7cL,
  79489. 0x18526b28ff975e3dL,0x259cec2fb2f1c609L,0x0000000000000104L },
  79490. { 0x545642a062e36127L,0xc3e4c6f71c38e6f5L,0x1d0e02c41bf9d6c4L,
  79491. 0x8a7a6fb6483ba43dL,0x7104aee9cf390b9cL,0x4acdccdf2578e2fbL,
  79492. 0xc17af6df73b3feb4L,0x2fb789d77977fa95L,0x00000000000001d6L } },
  79493. /* 9 << 84 */
  79494. { { 0xa14396d3e9cd61e9L,0xe5b79eec037dc92fL,0x88217b170156582fL,
  79495. 0xedc457471f70551fL,0x60be827f32d048d9L,0x2fe4c45edb6b91b0L,
  79496. 0x8bc71163ba4dc597L,0xe3fc3791936e1f8aL,0x000000000000002fL },
  79497. { 0x8dfc5ec30139f399L,0xc93f22717334f267L,0x9b8d510da10066dcL,
  79498. 0x8a9d400ab7c157a9L,0x5e83d95d3ad20222L,0x2e244da8483db80dL,
  79499. 0xd434f50e97e427ccL,0x0c98d8fe73195f8dL,0x0000000000000014L } },
  79500. /* 10 << 84 */
  79501. { { 0xbf53d7cafcc691daL,0x6b8fb94f57f9d8b0L,0x8124062527343963L,
  79502. 0x98cf3891d6d682edL,0xf0ae9654119fed89L,0x61f5810a32803c8eL,
  79503. 0xda1c6f26ce561b4aL,0xa23e3c857b478bc7L,0x0000000000000048L },
  79504. { 0x455e708f3530d96fL,0x38d3928e003d010bL,0x289f06c4764bfcb5L,
  79505. 0xcccf4fd96ecaae0bL,0x76496e196b09aa3eL,0x13cdb1b5f2f24787L,
  79506. 0x1040ea015837cafeL,0x869751f81de1b6daL,0x0000000000000027L } },
  79507. /* 11 << 84 */
  79508. { { 0x573811f6ad9570b9L,0xbaf2ec126ca614d7L,0x6f4a9a0bb735cb79L,
  79509. 0x850e4b736f9affb6L,0xe399dfb43b760ac1L,0xa7759b8e5cee0611L,
  79510. 0x58d84ae60722de06L,0x5ab2ed5483dbb9feL,0x0000000000000148L },
  79511. { 0x98c24006df14f9e9L,0xbbd0130f0ad7bd90L,0xee55b08dc3c91b77L,
  79512. 0x16a18d954f6934d7L,0x5f191a312deed126L,0x776bcd3284897d4bL,
  79513. 0x83b4d25b7b0cd708L,0x6e6aa60cd9f50beaL,0x0000000000000181L } },
  79514. /* 12 << 84 */
  79515. { { 0x34383bb055bef397L,0xc14c123a43be84dfL,0xa0fae432057eb68fL,
  79516. 0x5c6c07b24903c2d8L,0x3e78de9d32bcfee6L,0x3d2d16af93bcba15L,
  79517. 0xafb2db59c206822eL,0xbbea1116a332e64fL,0x00000000000000fdL },
  79518. { 0x20075ed100c6ea12L,0x2b1d0a044e4f3d33L,0xf3bf3ba82c5370c4L,
  79519. 0xe1675545a4b86668L,0x609432c3bcc6dc6aL,0xc09a32e36777d69dL,
  79520. 0x9248e09861f37219L,0x32650569f539662aL,0x00000000000000eeL } },
  79521. /* 13 << 84 */
  79522. { { 0xe82b6739d225d7c4L,0xc69d44ec0e8b47daL,0xd842c960d69237a8L,
  79523. 0x6ed0097ad24a796eL,0xef96b040030e4149L,0x55c049ac212e51d1L,
  79524. 0xcce35f170c44bb8bL,0xbfd67f2971c94884L,0x0000000000000196L },
  79525. { 0xf02b65df4755c1c8L,0x3330ff77a8144225L,0xb4d9365aa39fb2b9L,
  79526. 0xd5d31cf295c66174L,0x7597fd7decc0ca46L,0xe7565e2ce11870a1L,
  79527. 0xc709bc5da36c5100L,0x4d319121639f0a7cL,0x0000000000000144L } },
  79528. /* 14 << 84 */
  79529. { { 0xaeb813e3c79e8798L,0x01ceafba48e50c58L,0x974bdb02569d8013L,
  79530. 0x83c90f107c7c5033L,0x2d6e1617702dce8cL,0x55eec88c3e07ead9L,
  79531. 0x9f9bb723106b9a4dL,0xbdbe0818e2b351c3L,0x0000000000000084L },
  79532. { 0xaa512a7ee5058362L,0xb288f28904c001daL,0x0ceed00ca713504aL,
  79533. 0xff656d2de24f8ee1L,0x637ae9543eb57ca5L,0x4a21412e7342f010L,
  79534. 0x205cf0c2a9ce4de1L,0x4780b6a3d59aee6dL,0x000000000000005cL } },
  79535. /* 15 << 84 */
  79536. { { 0x83994e557fcc0c7eL,0x887856631c37f01eL,0x88a9a5679f196624L,
  79537. 0xcd828df25b3fc857L,0x470f8623581344f9L,0x85cf12a6768e83a8L,
  79538. 0x5d11327b9718a861L,0x9a1045d76e713452L,0x00000000000001c5L },
  79539. { 0xd4c452e4711f46b1L,0xdc41b91e12fd1e23L,0x845897e431aa874fL,
  79540. 0xcf51cd7e8cd6171bL,0x1825bd254f183e74L,0x361a0e53b5da3216L,
  79541. 0x16349308601e0405L,0xe3a40682f094f144L,0x0000000000000187L } },
  79542. /* 16 << 84 */
  79543. { { 0xf762eaf77b602085L,0x3b6e62332d470147L,0xe1028d76d3cca3e7L,
  79544. 0xf3616dd8ccf39be7L,0xa35c4cc108e8f10cL,0xc413db107cb4b321L,
  79545. 0xeab81774c3249f4bL,0x3e7bdea7be83bc78L,0x0000000000000134L },
  79546. { 0x86999f159d38d508L,0x0c9a990afb204d42L,0x27c4421dcb616f5bL,
  79547. 0x2cb6590d46ae31ecL,0x1a33f6ab309acf22L,0x13d99e2a80320210L,
  79548. 0xa13731b3341d1667L,0x7e0baeba4bfcc116L,0x00000000000001f0L } },
  79549. /* 17 << 84 */
  79550. { { 0x09ab412d6424425eL,0x74cc553061d3c0abL,0xa97378272d2c78c7L,
  79551. 0xb25da089e684f1f2L,0xcc4de4d2f911ef5fL,0x35b774b0c9b239c0L,
  79552. 0xf155c51653f100b2L,0xb58b7edbfde0c23dL,0x00000000000000c8L },
  79553. { 0x176534ff99e35e49L,0xfdb72d0f3f22064bL,0x96fce9811926fa09L,
  79554. 0xcb7d400f587ef357L,0xe45d45ab0b2988b7L,0x7c8cc19e1cbac1b2L,
  79555. 0x8e43cd5f0a3cb693L,0xb06b000d3302b5a0L,0x000000000000017bL } },
  79556. /* 18 << 84 */
  79557. { { 0x544bbffad1aca0f8L,0x27a01dc60e8e570bL,0x23f27a75fdaaba6eL,
  79558. 0xf3a345d98626fd81L,0x439bd947a89f1553L,0xac968c8688113865L,
  79559. 0x7aa489c6aea28591L,0x386be8175e2e0423L,0x0000000000000198L },
  79560. { 0x8a5f011f50c91fc9L,0x1f8371bf1c27ba7bL,0x7e54d98356505a0bL,
  79561. 0x108343e521aa0a75L,0x291295d453e9e9f6L,0x4398536d23f6347bL,
  79562. 0x864de21b44ba01efL,0x58d7f468737319f8L,0x000000000000012eL } },
  79563. /* 19 << 84 */
  79564. { { 0x90da648771065501L,0xcaa29c6b26a4582cL,0x9e4edc4a47ed26adL,
  79565. 0x42003fc1576cca06L,0x9781c36fa7d795cbL,0x61aa367436397bcbL,
  79566. 0x5a283a1bf9903003L,0x9e80ff413adf36feL,0x00000000000000c5L },
  79567. { 0xf5ff812916855bc1L,0x65046899a776d1b4L,0x221fd17941fdef50L,
  79568. 0xf19ba04539dee7c5L,0xe6df5dec0fcab146L,0xcf68fd0a805416abL,
  79569. 0x710f16e2e4dea8b1L,0x703229d7af3ae211L,0x000000000000015cL } },
  79570. /* 20 << 84 */
  79571. { { 0x8622dc3ffa286a36L,0x51b25ca952dcd8b1L,0x3dfcd6c4753d9d21L,
  79572. 0x491384cce2aaad12L,0x016b19a77f8167ceL,0x8c03c919e7a09ab6L,
  79573. 0xc7ded8e3e8c1f60dL,0x318a4556c45fa24dL,0x00000000000000f2L },
  79574. { 0x93decd4a3ff218c4L,0x84efb5a7f04927d8L,0x2f9ca93e1cdd14e0L,
  79575. 0x77747b0197364d94L,0xf0555c73f6ad16c5L,0x7fb0cf2f141826ffL,
  79576. 0x7c2e2ed7b21f5339L,0xabcba46bf76ea20fL,0x00000000000001b8L } },
  79577. /* 21 << 84 */
  79578. { { 0x01a139a713943e96L,0xa3a5224c0be158e2L,0x25b4c06101cb5d09L,
  79579. 0xd4f1a98e51e99014L,0xad1aad0e8cd226c8L,0xe791062d81749b08L,
  79580. 0x6ecee7e89a223687L,0x4f3163daa063dc05L,0x00000000000000d8L },
  79581. { 0x7f1940fa1f3aa8b7L,0xbedaf19c58b91285L,0x4c309e63f113920aL,
  79582. 0xcce150924a8a95e9L,0x7e8c2c756d1f1185L,0xeb5093d138e24ee2L,
  79583. 0xbb1a329aa0414d8cL,0x7521eff1265b457eL,0x0000000000000085L } },
  79584. /* 22 << 84 */
  79585. { { 0xdacb242420f495b0L,0xab9079b8e08cfb82L,0xdc0a584e764487f1L,
  79586. 0x541bbdd56d17b2b2L,0x75e7c8239b665315L,0x9e5256ca8b3cf073L,
  79587. 0x53ce698ca963c000L,0x746f0c775ca2949bL,0x0000000000000027L },
  79588. { 0xac741a8b7915623dL,0x64426fbc4a5edc48L,0x8a52fba3aaef5c08L,
  79589. 0x3c353caa91018453L,0x1e2985f81a96fde5L,0x200f91cc90733d41L,
  79590. 0xe60794477db133faL,0x274563f14eac2054L,0x0000000000000180L } },
  79591. /* 23 << 84 */
  79592. { { 0xd573dd7a12d8cd30L,0xdce706a9ec2de865L,0xc9b322f1a4ab8aabL,
  79593. 0x0ce9268098773392L,0xa1b40d60bf5196e7L,0xc5cefc2d898f2d1eL,
  79594. 0x4fe80b90c18c6f17L,0x87eb7298e4fe5bcdL,0x0000000000000181L },
  79595. { 0x1038d18b1c63bac1L,0xff56f0c8735b6d04L,0x0f9b85f87624d96bL,
  79596. 0x8d0da28ef1d48f88L,0x3cc190897e1f8316L,0x75114fea47058d44L,
  79597. 0x8f7130d118e224edL,0xa0f4114bbb6215f2L,0x00000000000000a2L } },
  79598. /* 24 << 84 */
  79599. { { 0x5dc39d107da4f65cL,0x0973b4af52e2bdf1L,0x2e35974b195c5d3bL,
  79600. 0x2321d8c5de0856b3L,0x9b218d518e19f2b6L,0x414f483cb9eba23dL,
  79601. 0x5eb4d875d87c2c14L,0x8c3693144becdcf7L,0x0000000000000180L },
  79602. { 0x8ce9961bd78615e3L,0xcb4dca5b7877078aL,0xa082b950067faf84L,
  79603. 0xbe4ef854a1ea4fe8L,0x1a746d028ebd8cd5L,0xfcd8a6be58ced7feL,
  79604. 0x5afef0183e2b39bfL,0xfd07234d1eb20debL,0x0000000000000028L } },
  79605. /* 25 << 84 */
  79606. { { 0x5f8ee39ad41d6132L,0xdc76ed945f63e2f3L,0xc24a406ab107431eL,
  79607. 0x8b30660eca996341L,0x5673b95c20747fc9L,0xe09168a8b0bed38dL,
  79608. 0x6120f80719a7ab41L,0xaf1f3376e6b66ed6L,0x00000000000000a2L },
  79609. { 0x7c535035491f6023L,0x7d70019de7f908d7L,0x92f8ca9996e33046L,
  79610. 0x18c5df345fc7f094L,0x38c7e1eabe02b829L,0x7b6ee9b4cc301d3bL,
  79611. 0x55f41778b14d398cL,0x52a275ff5b3f124dL,0x0000000000000081L } },
  79612. /* 26 << 84 */
  79613. { { 0x48df4f176e539400L,0x6433abfeac7ec090L,0x9c935918c9474b64L,
  79614. 0x472fedd0406d83e6L,0x42cc03c72592c93aL,0xff2ae77db510b8b0L,
  79615. 0x22fb8dc513ebd07aL,0x3f093c2be656d363L,0x0000000000000016L },
  79616. { 0xc46f526fd725a2dbL,0x95cef0f32be69c0cL,0xb941c71b329e02ecL,
  79617. 0x37a8cf5fe0fc49bcL,0xe5d012a888a9e033L,0x0a90a0c07d701e97L,
  79618. 0x4d8ce592bc2ddfcaL,0x4698c015e01f5349L,0x000000000000005eL } },
  79619. /* 27 << 84 */
  79620. { { 0x97ca07ca64725780L,0x901c76f4cdf4cb59L,0xba0472400a8dd50eL,
  79621. 0x5a6ffd1da8028447L,0x438d0474cd8e128fL,0xf92f83db9e7e41c5L,
  79622. 0x9504f799ad95ab9dL,0xb2df6f6578f9ca93L,0x000000000000004eL },
  79623. { 0xae2d32fcceeb8c6aL,0xd66683f2eccb6ad1L,0x2132bf4fd0b462abL,
  79624. 0x65d7f312152b21c8L,0xc5abfb1aace7ab8bL,0x3c88dd8282ccd06fL,
  79625. 0xd1916201e023fe4dL,0xce3e0f140f882c2bL,0x00000000000000beL } },
  79626. /* 28 << 84 */
  79627. { { 0xa1a2d265436f1191L,0xa63ecd90846e768bL,0xce361cce96880f0eL,
  79628. 0xbb06470312cc9bb7L,0xe58b4cf9b6d5d885L,0x711f490d872f791bL,
  79629. 0xa31d70221b61790cL,0x1c0231435e010dedL,0x000000000000016cL },
  79630. { 0xc4833f45b9f2ae47L,0x39556e38e6c5aad5L,0xe7889ba4714e6359L,
  79631. 0x7d4fa851edaf5d7dL,0xa860fdb59de3fcb8L,0xc4a44f663b213dacL,
  79632. 0x843b20da5b662002L,0x0e4569247cc1f364L,0x0000000000000194L } },
  79633. /* 29 << 84 */
  79634. { { 0xa1f3ae570844c579L,0xff79de39a6263761L,0xc2bc07f0a1ce54dfL,
  79635. 0xf6f36b5bc7a75e1fL,0x37ed63e547649754L,0x0bbee79b9e40b603L,
  79636. 0x3111770ad1396489L,0xa0be70b7655f8f80L,0x0000000000000118L },
  79637. { 0xf396b09dfffbe440L,0x5c64b53ee98d45b7L,0x42aa83ff599b7ea0L,
  79638. 0x4130842825c6b232L,0xdf4377f764153f28L,0x7253ee06ddc00b84L,
  79639. 0xd6e3139b30384ae9L,0x47a15b0b5bbb7451L,0x000000000000002bL } },
  79640. /* 30 << 84 */
  79641. { { 0x817f91e777960e81L,0x16ec79224e9251d1L,0x20edc99036eecb38L,
  79642. 0xd1287d7e6d0c4b7cL,0x9a98e31842255d2aL,0xc5d8fdee1cbf6b61L,
  79643. 0xf4aa4eed4b8c971fL,0x506ed9b587a96b0cL,0x000000000000000fL },
  79644. { 0xffb1cc83853daa7fL,0x650ab9962aa0d0a1L,0x1d1a02515ca4f753L,
  79645. 0x7e3dbe541252c13bL,0x256550cdffc132b9L,0x0c01f3a681cc2164L,
  79646. 0x174f7145eb5741f8L,0x6d134e21b5f4b761L,0x00000000000000bdL } },
  79647. /* 31 << 84 */
  79648. { { 0xb2113429b557c0e5L,0xa95168cadc18b438L,0x64839ff62228b40bL,
  79649. 0xc0d6a854c63f11a4L,0x80502e786ee1d154L,0x872c5a6d432e45d0L,
  79650. 0xeedcdd06c62d1651L,0x8ecee7ea2f605a64L,0x00000000000001caL },
  79651. { 0xa5dc211b2d708b77L,0x4e92269ac396cd5cL,0x384e400c93709f53L,
  79652. 0x48afd1bab372eb3eL,0xc189796872262e2aL,0x0fc769ec4a02e904L,
  79653. 0xbee107dfe82e06b6L,0x47b15a79d838f656L,0x0000000000000012L } },
  79654. /* 32 << 84 */
  79655. { { 0xb6675f53da1ef419L,0xdea5203bad0b5824L,0xf882dc2fcfff1ea2L,
  79656. 0x8ef992e408eb5b24L,0xd80e2ecfc3d2321fL,0x4ca7becca5f96675L,
  79657. 0xe2ce41b01e1a9196L,0x9b3d81319890d917L,0x0000000000000094L },
  79658. { 0x85c66efe87c9c810L,0x66fc21bdf644e538L,0x2b90cdb5e4835d87L,
  79659. 0x9a60f2140f91258fL,0xb60eb76484bebf7eL,0xebe2c36f96b0614bL,
  79660. 0x95acc92792a11210L,0x31101643f35ccb23L,0x0000000000000101L } },
  79661. /* 33 << 84 */
  79662. { { 0x1bb898741403ae70L,0xb71332db93c5c5adL,0x8d376cac631d9843L,
  79663. 0x6a64f3d5a0d90788L,0x65f635c0b16fa167L,0xe8b3efe222000a88L,
  79664. 0x4c11db4472cdd206L,0x64fd7c85794b4affL,0x00000000000001e6L },
  79665. { 0x360185c79563ef6eL,0xedeb5d8659aa49f9L,0x012d2b3e6927b587L,
  79666. 0xba435a3d7c25729dL,0x222cea98cf3ce39eL,0x8fa5ad445dd816f1L,
  79667. 0x4d2112b530d8033cL,0xb60209556011d8d8L,0x0000000000000099L } },
  79668. /* 34 << 84 */
  79669. { { 0x63f01bdaa71c3878L,0x3d4afb465cf66f74L,0xf9583ec1678f8f6eL,
  79670. 0x9cbcdf8b63daaa0bL,0xf342f44f57521779L,0xf8840fe19fc0e1bdL,
  79671. 0xc9eaf6ad31105808L,0x33c51a393f6d43e2L,0x00000000000001b6L },
  79672. { 0xab9720cfd10fa72dL,0x8df3a2db5c0d0c52L,0x99fcecd7c197aa7eL,
  79673. 0xea53f54b37c93ddaL,0x6f185d4115d2837dL,0x19f0b7534b1e1f08L,
  79674. 0xfe2fb6302131d7f8L,0x72d9a3561a76d7ffL,0x000000000000019bL } },
  79675. /* 35 << 84 */
  79676. { { 0x437f79d375c6b34eL,0xc0e3f217b9eb1ad2L,0xe876fb20b70a0c11L,
  79677. 0xf769ec0a5ab5e17bL,0xb15cd92e0e3e8809L,0xa0487df77a2baf4eL,
  79678. 0xcc0959837cf8334eL,0x1d8963d1c44ce5deL,0x00000000000000eaL },
  79679. { 0xea4053f0120c4d48L,0x15f63fd5cac7a63aL,0x6a390224848ad40aL,
  79680. 0xec32269d76a755f4L,0xcda608f2eefe1c64L,0xdcb61661d558b4eaL,
  79681. 0xf98391a0dc807487L,0xe633fa599e31b651L,0x00000000000001bdL } },
  79682. /* 36 << 84 */
  79683. { { 0xb964e249e324fb45L,0x968e1e694d8f7829L,0xe883e2ce4313e21bL,
  79684. 0x62f2f3a5c0e654f9L,0xb2d921e6c6129771L,0xbb10882246ee4248L,
  79685. 0x27fb3a768f8b0e62L,0x3a49d6a6d36ce785L,0x00000000000000c0L },
  79686. { 0xad32676fa616ee2bL,0x73b1140bc4840882L,0xf1464ae8588be8beL,
  79687. 0x24d0cf2d0a9bb743L,0xeae9e1c230c88289L,0xd8f78a5b642331edL,
  79688. 0xd5010f57537f40f2L,0x0a936df89609dfcfL,0x00000000000000ccL } },
  79689. /* 37 << 84 */
  79690. { { 0x97f48719ae3ce48eL,0x54690b991d17ac8bL,0x5c9c2f04b5e64622L,
  79691. 0x9e62f3506da3c286L,0x153fcc9a51798c01L,0x9d36b1d6f1674c75L,
  79692. 0xa7cef42f10977d7bL,0x00610128c0bbe827L,0x000000000000017eL },
  79693. { 0xbe9358d9aaef8892L,0x53abaf01b2af87ebL,0x2b4001b86d6cb1d6L,
  79694. 0xa14df2ed1faf6b9bL,0xf88044d032289473L,0x83b6b3499918fd58L,
  79695. 0x52115a9d8fb5d528L,0x9acd77c8a0bf9026L,0x0000000000000191L } },
  79696. /* 38 << 84 */
  79697. { { 0xc91a51c7040a8d8fL,0x3cc49d9661a7ef84L,0x80b29df6ee19d30eL,
  79698. 0x5846acc4c76a6aa3L,0xf59e5c8b0f6e605aL,0x59cc663742788224L,
  79699. 0x2573ab2034f423d5L,0x80ee46c160e18d6fL,0x000000000000017bL },
  79700. { 0xe7ec97098046e552L,0x492ef25050f412aaL,0xd4bcffad10a7a752L,
  79701. 0x6508108fc376b144L,0x977ff961ba934045L,0x07d99b2e5dfcae1eL,
  79702. 0xc4fed2e4aa955090L,0x294c7669e1d608b7L,0x0000000000000067L } },
  79703. /* 39 << 84 */
  79704. { { 0xccf1f6c5ef4f2f8bL,0xacbd47025a3525d9L,0xb3ca26135fecadcaL,
  79705. 0x46fc46a340358ec3L,0xd3e61faeea406aaeL,0xa7abaeca6d70ad8fL,
  79706. 0x53468d6374115258L,0xb276835206ffccd5L,0x0000000000000000L },
  79707. { 0xa424a15acf32d90fL,0x28766c229c8153d6L,0xbf06c575395ba3bbL,
  79708. 0xbd027833e7a31dcdL,0x12a012a9eefa9763L,0x951bd91f08eeecf7L,
  79709. 0x1b2a8bbf81cc733eL,0x46edd7f005bc357dL,0x0000000000000198L } },
  79710. /* 40 << 84 */
  79711. { { 0xe4e1851f8482e5f3L,0x41c94a2d3be00950L,0xbdd52c7712e434aeL,
  79712. 0x985367cf5700e59fL,0xc9368d83bd1a3ee1L,0x7be0cf37f24fd5acL,
  79713. 0xad4cb8dc8c53e814L,0xfa2bf5414d59b923L,0x0000000000000100L },
  79714. { 0x205f070765c46cf7L,0xe87fc3e236c06ff5L,0x40686149364e6680L,
  79715. 0x3e7a4dba44aea566L,0x1a43cd99743158d2L,0x8b6d491ef63802a0L,
  79716. 0xd4956a9d57ffabb3L,0x0416326261950885L,0x0000000000000181L } },
  79717. /* 41 << 84 */
  79718. { { 0xb1e98d6fc192467eL,0xed8333a1b0944aa3L,0x306ef165d1c49f1eL,
  79719. 0x707bc71d81d6b7a9L,0x29be1c1371882a29L,0xcc9c8eea35825332L,
  79720. 0xfa4ea1ed6d1089d4L,0xcef289b15f949cc6L,0x00000000000000b5L },
  79721. { 0xf99439420c8b490cL,0x2a4684215ca1924aL,0x5ddce0e570f4aec7L,
  79722. 0x4b380387ab2f1d5bL,0x9da44a9eea16b553L,0x8f497cc8d5cc8e78L,
  79723. 0xef3ebf1567627483L,0x5686bbe0bbfb1b54L,0x00000000000001b1L } },
  79724. /* 42 << 84 */
  79725. { { 0x4662d28ec7e6847fL,0xe545ac9ad8ddd128L,0x2172153149f08bf3L,
  79726. 0x88bbc0079365959aL,0xce2248bb82dca136L,0xb666d008f10e0af2L,
  79727. 0xd415bc8db5c51813L,0x3651b829b851a49aL,0x0000000000000011L },
  79728. { 0xe1ba9a43aa6302e4L,0xfb903793436b8d1eL,0xcdf4d3f7f178a0e6L,
  79729. 0x628bbcbbdbcf158eL,0x18e2270de95d3b9bL,0xa5a9618a9f902344L,
  79730. 0x41faa409a5c86b2bL,0x8332a0d2a1a1c2d3L,0x00000000000000c4L } },
  79731. /* 43 << 84 */
  79732. { { 0xe886e4cd45872d57L,0xee5bd4078124f950L,0x28bbc75fd3ba8e8dL,
  79733. 0x3fe2689b2ad21b8bL,0xf73d1b63843923c9L,0xe845cc510bcd7064L,
  79734. 0x6744555d4cf3485fL,0xd3ec166fa5a608c8L,0x0000000000000090L },
  79735. { 0x1b78f5d6c66341adL,0x6652224f03d0da0eL,0x85b069c5afb3147aL,
  79736. 0x60fd70524a920fedL,0xb521aa799812ba7eL,0xada36124a15040c2L,
  79737. 0x2c982c738205d28fL,0xd4e80bba57750491L,0x0000000000000005L } },
  79738. /* 44 << 84 */
  79739. { { 0x5010064a8e955d63L,0x11caef9eaaaa54d2L,0x3de4eae733f1f9a9L,
  79740. 0xd559a26a9a5be2dcL,0xfa61002e0022eaadL,0x156c011675f376cbL,
  79741. 0xa67586806f193ebaL,0xf92ce94d44b2579eL,0x0000000000000191L },
  79742. { 0x083cc46c2fb67bd6L,0x4f3c6ca21f06d1adL,0x0ee38f3985b65aa6L,
  79743. 0x093adf465c42e7deL,0x31fbdf11aaeadb6dL,0x6be3fc78b115c404L,
  79744. 0x7e385a3a7716f591L,0x18bda694c482d126L,0x00000000000000d1L } },
  79745. /* 45 << 84 */
  79746. { { 0x62bc238b9350ca2fL,0xab8c8c907ce8d14bL,0x330fffc7cb6951fdL,
  79747. 0xadbdbdf726228babL,0x97da0a346d86e130L,0x7fec5623a25aea42L,
  79748. 0x2922441ffd4335d9L,0xab2cd1dd1abb6d5cL,0x000000000000002aL },
  79749. { 0x7d759a051a8bdc24L,0xddb3079c7d82c77bL,0x3eb72f6e47e40f15L,
  79750. 0x486385847b2f8e23L,0xe112ce8c04043e37L,0xb48be1b38da1281cL,
  79751. 0x0e10355b67f8bfd0L,0xf2b0c5434b82b796L,0x00000000000001eeL } },
  79752. /* 46 << 84 */
  79753. { { 0xaa7425c422ecf2b5L,0xc695477f535d1924L,0x49eaebfa73688248L,
  79754. 0x5d1daa50958195b3L,0x5e4b153e7c018a3dL,0xe42017076ee32e65L,
  79755. 0x96e3679190564352L,0x65162c18dfee3262L,0x0000000000000123L },
  79756. { 0x128ef8610f1e66b1L,0x0b3b7f96243b98e6L,0x69252a134db87938L,
  79757. 0x6523a4f880af7609L,0x2883c39d8576bfc3L,0x1dc4d969021262edL,
  79758. 0xf1d2dc8acd5cecd3L,0xdcd1e118b56a9e1aL,0x000000000000007bL } },
  79759. /* 47 << 84 */
  79760. { { 0xe7bfb96f27c1c719L,0x1a7c15ff79d8affaL,0x5641d7e5ee475f3bL,
  79761. 0xbd5cbcc3a00e54e0L,0x18dc810eba44c745L,0xd7a3f693c8b3b3dcL,
  79762. 0x225735667779731dL,0x305ba162fa55fbf2L,0x0000000000000119L },
  79763. { 0xa47c5ff2e6ca3cbbL,0xe4d73b0fbe4bf508L,0x7afb6b99d95ffd74L,
  79764. 0x0acb7b5955f22144L,0x162205d8205205dfL,0x8650751dcde671e0L,
  79765. 0x34f91ffb549b2867L,0x7dd0bef98cf1252bL,0x0000000000000047L } },
  79766. /* 48 << 84 */
  79767. { { 0x8f345bc8d78fd6f6L,0x35446be7bc603416L,0x22a05fc392954e8fL,
  79768. 0xcd51695bde517ca3L,0xd452c3c1c30b42e4L,0x71f0be42385847bbL,
  79769. 0x3e5604dafa66294bL,0xa32470c791efa7abL,0x00000000000000f7L },
  79770. { 0xbe46e43f247c00dcL,0xa464ee494fa716e2L,0xf16522fa81328c41L,
  79771. 0x495048b6187556ccL,0x71224071c1682e5fL,0x5e33dedfb9f18963L,
  79772. 0xfce493c999a767d5L,0xc7f53c566ffa81f2L,0x00000000000000caL } },
  79773. /* 49 << 84 */
  79774. { { 0x7557d129fa582630L,0x0c29419fc3a8f93dL,0x05d98c11c43ea10cL,
  79775. 0xa42d9960b32cd279L,0x5477eb119d8e50e3L,0xd9df006a04037414L,
  79776. 0x1a8f5bce799cf5b7L,0xe5f831b3973a4d2dL,0x00000000000000b0L },
  79777. { 0xb71509b84f43baa6L,0xde79572a94216d36L,0xe4e1219ff8c907f2L,
  79778. 0x718153f00c58e3d5L,0x375bc748b0b9c967L,0x74542658e9866665L,
  79779. 0xbbc3f48935637c07L,0x7be87a6602bef3c3L,0x000000000000009cL } },
  79780. /* 50 << 84 */
  79781. { { 0x6f3a54f7faa6af3eL,0xb6b5c7a3b40d2a61L,0x74488f8b7e5e78e1L,
  79782. 0x9785934f32458d93L,0x816bb076497bb349L,0x402cd0102bab1095L,
  79783. 0x645a00a73952775dL,0x81c168da32ccaf83L,0x000000000000001cL },
  79784. { 0xf349c1a8e63682c1L,0x05b8208312f3fdf5L,0x4a66e016a3c212ccL,
  79785. 0xdf57f4624c8e1a06L,0x0a58dc1f3ce46f7bL,0xc2cbccbdbcb4ff74L,
  79786. 0x4181af1fcd9816e6L,0xa74ac7b2d9bef6cdL,0x000000000000004eL } },
  79787. /* 51 << 84 */
  79788. { { 0xf4c94110e40800bcL,0xe7fdd5f32c1adf77L,0x34cdd805433705c0L,
  79789. 0x1e052bace29c6896L,0xac99d1e357668ffcL,0xf2493acb108fe93cL,
  79790. 0x2525654594876b05L,0xb5bdfba4243ab702L,0x0000000000000043L },
  79791. { 0xca1a99e24e61dec3L,0x3156650fcadd4f7cL,0x154d58e7316df624L,
  79792. 0x168f675ec69f07dcL,0x2b6132aff1f6e22dL,0xcf26d9cecaa1da1eL,
  79793. 0xc90ebd6649614b29L,0x25bd2d23c33f111cL,0x0000000000000104L } },
  79794. /* 52 << 84 */
  79795. { { 0x0b53f0b81b4d52d0L,0x8c4441776ef01b39L,0x3bd2523e3ae80d38L,
  79796. 0x9bc7180022780af4L,0x790c175dfad470e3L,0x6b0901ca7899421dL,
  79797. 0x02f1fae7f277dd5eL,0xc3f2ff0fa752993eL,0x0000000000000053L },
  79798. { 0x6a5fdd41467789ecL,0x008e446af6c45a22L,0x29b94285a8a2549dL,
  79799. 0x97b6f905b790912aL,0x813ee7d71d18e889L,0x24ef40cffb27f9c7L,
  79800. 0x17804ebd2e5b2ee9L,0x46e274b1a23b11aaL,0x000000000000009fL } },
  79801. /* 53 << 84 */
  79802. { { 0x37405c0f2ec88247L,0x0efb4320bcd3980cL,0x6f5208443300619dL,
  79803. 0x55ddd732bc2d59fbL,0x9492d50639fafeb5L,0x497dfa7083d6b3b2L,
  79804. 0x256fc9c3bff9aafaL,0xf098b2e3bc00553cL,0x00000000000001a0L },
  79805. { 0x614f8b947c52e7e2L,0x2a37ad1ffc24205aL,0x6789e9ab7cd65901L,
  79806. 0xfc1affa3cf4a3893L,0xe85ebf5395afb652L,0x1f125e08d894d2f9L,
  79807. 0x84ff44210581d1a7L,0x94d9ad851141226fL,0x00000000000001daL } },
  79808. /* 54 << 84 */
  79809. { { 0x2a6c39229fd5362bL,0xe3f57b2c9603ea6bL,0x9bf96cfc06b377a1L,
  79810. 0x78441c5bfb189eb4L,0x92b2f03859b24728L,0x36df97db7aeaa65fL,
  79811. 0xffaf8dc7577bb75eL,0xfdf8a723f94a0cd7L,0x0000000000000054L },
  79812. { 0x9d98b4e63b18f662L,0x006a23929f5527a3L,0x146d79edb9fcb789L,
  79813. 0x1c2e41541a688f00L,0x9c3ad38a03723314L,0x20db0b042792f661L,
  79814. 0x3f8e5a9ad44e279cL,0xc1759eb7e4234ee0L,0x0000000000000146L } },
  79815. /* 55 << 84 */
  79816. { { 0xd93f2eb26a5a8f34L,0x03be88bf736696f7L,0xc567bc9fa6421a9dL,
  79817. 0xd3de6d94de629f74L,0xc0c799756b3804e1L,0x915c3c2d9fb8218aL,
  79818. 0x37a5348070dae219L,0x6846e38d019dc6dbL,0x00000000000000beL },
  79819. { 0xf7e5952acfdfaa59L,0xadd136aebd5931efL,0x7d46541132cb2671L,
  79820. 0x185c32a081655330L,0x3c4b5ce10349dbfaL,0x1c3fed832ecb307dL,
  79821. 0xe46449a989c05184L,0x675cf8dd123d9b59L,0x00000000000000ecL } },
  79822. /* 56 << 84 */
  79823. { { 0x1278fa814bccde89L,0x5f87ab65ca1aa6b6L,0x3224aa7276b5225dL,
  79824. 0xf6eb6a973ea5228fL,0x54144015f78bb113L,0xa045a86710626f8cL,
  79825. 0xe3ff56bf38d5584bL,0x74caa5e96ff5aa1fL,0x0000000000000078L },
  79826. { 0x8caf4a080806bd7eL,0x8362ba16c2f33680L,0xaa6661c891a5125fL,
  79827. 0x62bc9088a5e3e1a5L,0x5290b3f327286edaL,0x4af9e00621622922L,
  79828. 0xea41b46caf9f424cL,0xfeb0036d7f5a2f0dL,0x000000000000006fL } },
  79829. /* 57 << 84 */
  79830. { { 0xb092feff1b9c9b5aL,0x85d4a394ef27381bL,0xc9ae229257c413efL,
  79831. 0x81ef8394c16afc72L,0xba0aabca6f16377fL,0x973f71e7685374b1L,
  79832. 0x138a6e2ee8d2affbL,0x15c3a93400cff0aeL,0x00000000000000a1L },
  79833. { 0xa37a19670e094a1eL,0xc8f1b7699121d92aL,0x1556bdb35570ebaeL,
  79834. 0x713b4c060db754c3L,0xc864a6fa87371dd4L,0x80539a886f6d0e2dL,
  79835. 0x69cdcf5f5dce8380L,0x175bcb246ce73030L,0x00000000000001fdL } },
  79836. /* 58 << 84 */
  79837. { { 0x463bdf0350cdc663L,0x00f4f1ac34ae8e83L,0xc4553a54d0dcb3a3L,
  79838. 0x765bdbb63611767cL,0xf523682af9a08ffeL,0xc9e2adb2d0c9ea77L,
  79839. 0x6dc611956b5ff81bL,0x45281bf570e2e065L,0x00000000000001c6L },
  79840. { 0xef26494f7be2fd61L,0x06bccc4c1e97e9c4L,0xaf0deb0092a75c16L,
  79841. 0x4e67e0eaae8a4e84L,0xbb994c6fb27331a6L,0x9d9431e64250cc74L,
  79842. 0x1e6013cbce2fbad8L,0xfe2c5db4c8934179L,0x000000000000012aL } },
  79843. /* 59 << 84 */
  79844. { { 0xbf7ce9203eaeb879L,0xe4adb4412790ca4dL,0xaef87b4077d14c85L,
  79845. 0x9db9212d3d01cc39L,0x5d1080dd2db945cbL,0xd85c0a46a0ec741eL,
  79846. 0xa0db567c6f98c8ddL,0xbd5887fda6c88bffL,0x000000000000010dL },
  79847. { 0x3d55f50a2ce32631L,0xbe582d2664339e56L,0x4e2f8bd7ab5210f9L,
  79848. 0xffe002bf641284e2L,0xa5b24d9844b55b21L,0x35944f8f399a9eceL,
  79849. 0x78b96886bc8d155aL,0x6d2b068993da1b6cL,0x00000000000000b5L } },
  79850. /* 60 << 84 */
  79851. { { 0x752f2383f47d22d9L,0x4436f59ab058e8a3L,0x30d780e7be6327e8L,
  79852. 0xf7e393b5f00c622bL,0x46d05f6528533fa6L,0x9642c8a0e01903bcL,
  79853. 0x99f5c21312b7afdaL,0x3b740059a89e1edaL,0x000000000000009bL },
  79854. { 0xdf0a0c70304f33d6L,0x458c5da833038214L,0xd2045ba526c1e684L,
  79855. 0x217fbdb9379ac190L,0xd94eb4c18e21ec0bL,0xd12612ebc3ace041L,
  79856. 0x5e37a0e595fe0e88L,0x8c588a87aadc9beeL,0x00000000000001c8L } },
  79857. /* 61 << 84 */
  79858. { { 0xb3ad16e907cffecbL,0xe901374a7619fc54L,0x65759e1cf2eee444L,
  79859. 0xe4070ff0f73eefeaL,0x6d124a8bfdf9f9a6L,0x9c8abaeafc9dd073L,
  79860. 0x9b32d3d77a8681c4L,0x3f11eec648f8390bL,0x00000000000001cdL },
  79861. { 0xb0168093d60307c2L,0x7c6c4d9c939fd410L,0x56673b7ed7727cfeL,
  79862. 0xa94cd30a12c5f670L,0xed7ebb3137b094e2L,0xff2c49e15fa3a378L,
  79863. 0x484ca05395672337L,0xf003dfa5bc56bf71L,0x000000000000007bL } },
  79864. /* 62 << 84 */
  79865. { { 0x838aaa72aa1a8108L,0xcb69952741314f71L,0xb86e9b187229923eL,
  79866. 0xe4b3edd49f464608L,0x8771316c1b071ed2L,0xb07e1b084e5a8628L,
  79867. 0xc26653e1c612209dL,0x4b3bbf396bb8d7dfL,0x0000000000000182L },
  79868. { 0x893144f03ca1a824L,0x78bd4476853ad53aL,0xe55634ba95927c46L,
  79869. 0xfff6f90115cb52a7L,0xf4277aaa05f678e5L,0x6c3177a1ec5503b2L,
  79870. 0xa0cf20337725d926L,0x7509b601bfb02022L,0x000000000000001cL } },
  79871. /* 63 << 84 */
  79872. { { 0x3c71f272f99ccff5L,0x248c71670baa49d0L,0xcb6b725da2ef88aeL,
  79873. 0x4a1a6badb5a5e92bL,0xd7a8a6680140c680L,0x07311eb78037e44dL,
  79874. 0x0eabe9b35a276617L,0xa7103657db352138L,0x000000000000019cL },
  79875. { 0xb1c0fed884d7f562L,0x9983df5d634efe2aL,0x9ba4a7697ef18903L,
  79876. 0xccf0889b53fb1f2eL,0x8330a65c863a63e2L,0xc9763fe49141ee1fL,
  79877. 0xa9145ee450a81aeaL,0xe21cc944bd46f62eL,0x000000000000004aL } },
  79878. /* 64 << 84 */
  79879. { { 0xbf73b24cded2eb86L,0x102900b33ea89845L,0x1d88c5073857cdb6L,
  79880. 0xa939a76b9be255d7L,0x28d517522ff653b3L,0x6d8170467642df2cL,
  79881. 0x148b45e157e353b2L,0xd565f776b34f0f19L,0x00000000000001e5L },
  79882. { 0xca5185a2c4b5de1eL,0x527acebfeadf8e0aL,0x652b994b86479736L,
  79883. 0xe252209ad2f97a05L,0xc9b07fc9d6960578L,0x479ba949d264f983L,
  79884. 0xc80d32b5e8d9b938L,0x59280d580a6a7f28L,0x0000000000000177L } },
  79885. /* 0 << 91 */
  79886. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  79887. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  79888. /* 1 << 91 */
  79889. { { 0x2db7055db286bac2L,0x0fce34c5fe2d537aL,0x8addcea5b95e9476L,
  79890. 0xf1bacbd41a7c7ff2L,0x28b7f0c9203fde3aL,0xdfa6cf793e844a62L,
  79891. 0x0107e9039627dc6cL,0x053f2778413fcc52L,0x000000000000011dL },
  79892. { 0xf67e718bd10f90a4L,0x7dbcf1e00bc29398L,0xfd5e65d19130e9c3L,
  79893. 0x6149b3969c518e5bL,0xfb574bb4918e2279L,0x6c67563fc513415eL,
  79894. 0x60b90d7aba1b801aL,0x2239b9dfaf900381L,0x00000000000000c8L } },
  79895. /* 2 << 91 */
  79896. { { 0x2d2f9e08a2abb00eL,0x4c8c679d17648c6aL,0x52e2e9bab8520197L,
  79897. 0x7470a3cfe0898e48L,0xbfeb2a9190617e18L,0x247ea702f44de1a6L,
  79898. 0x7baf95b27b1604fbL,0xe9e81b78020c5856L,0x0000000000000159L },
  79899. { 0xdeb81330da533799L,0xdc4de9f13996b5beL,0x6a8b7630d33f04b5L,
  79900. 0xa4554acb2bccad83L,0x7974bd472a7f5d61L,0xc481a752b01696d5L,
  79901. 0x6dfbefde8ca48da9L,0x2fda492fe7db0c27L,0x0000000000000053L } },
  79902. /* 3 << 91 */
  79903. { { 0x9ade14635a0a982bL,0xd31440afc586e5b9L,0x07bd1b34749ffc4eL,
  79904. 0x2f9bed8ea9f71f98L,0x73de5d52add7cf9aL,0x1b55d53a31a718f9L,
  79905. 0xf06707b8cde59432L,0x247e5a8deaf860faL,0x00000000000000d0L },
  79906. { 0x76dcbffdf5131ee4L,0xc17d25f7d4e3d0eeL,0x195daf924a96ace8L,
  79907. 0x342d659305b1ca63L,0x4675cf349b40dafeL,0x1855efc293b0ec70L,
  79908. 0x94aacae1f878f477L,0x818b2f1a524aa9d8L,0x00000000000001faL } },
  79909. /* 4 << 91 */
  79910. { { 0xa2dadbb4cd046713L,0x63eac83e81afa390L,0x0d85b1ab422bc0bfL,
  79911. 0x9dfc0092d5895af2L,0x125b2e6c87ee0edeL,0x962988829eb070d9L,
  79912. 0x1a1178f85b0785c6L,0x9335c96bd4486f80L,0x0000000000000029L },
  79913. { 0xe747e4433c5cb794L,0x50803223044fd597L,0x4bf3bcc02fc59de3L,
  79914. 0xd9f4dc3244245ab1L,0xbedf6330d2dd61e3L,0xdf8110a904d7c5a7L,
  79915. 0x852f2205bd400d1fL,0x4595afaf9c6e9cefL,0x0000000000000111L } },
  79916. /* 5 << 91 */
  79917. { { 0x72eb4fb66672a844L,0x2ed80354a581749cL,0x456d603fb3a028e8L,
  79918. 0x82bb6fec3703c343L,0xec001da6c2967450L,0xe6930d3c01cb4b41L,
  79919. 0xd3a7073dfc88dab9L,0x28564308bae83616L,0x00000000000001aeL },
  79920. { 0x7a6b143eef89965aL,0x3d75a3d3e25394aaL,0x7185b011164ed20eL,
  79921. 0xf6744be64334a31dL,0x9715be2f8a86350eL,0x8d3ad1d585ff2738L,
  79922. 0x1081a847a2b1ebffL,0x7918917b3d13f45cL,0x0000000000000030L } },
  79923. /* 6 << 91 */
  79924. { { 0x1f6fad01e435a290L,0x2233fb1ca1797bbcL,0xe5c86b07adec0e98L,
  79925. 0xa6c3e3b32c38f3f3L,0x148c7cc4be4d76ecL,0x9a269e568f91b601L,
  79926. 0xdd4fde651872ef0fL,0xac81696c8aa5366dL,0x0000000000000123L },
  79927. { 0xdd10f5bfc06df67aL,0xe02f88cfb5e3d640L,0x67533defb63366e5L,
  79928. 0xb81b500dd4f7515aL,0x258048297ac6fdeaL,0x05e776b30c92e736L,
  79929. 0xd366e4abfdda7ba5L,0x1c88e25338a7d99cL,0x0000000000000199L } },
  79930. /* 7 << 91 */
  79931. { { 0xa8dc56599f91d149L,0xa923bb49026dc899L,0x2690fd103064ff52L,
  79932. 0x5633caf40d3450c7L,0x923c18b90f268931L,0x7e333305cc000404L,
  79933. 0xe4913381c2160055L,0xc8b61c0db37bdb04L,0x00000000000001e7L },
  79934. { 0x8f3cfed118432691L,0xf3409d8e0bbd5e86L,0x8094f20d1f240ab6L,
  79935. 0x8ae2ba7484473b65L,0x509f55533d950c04L,0xb377553f306e84aaL,
  79936. 0x32863abfc776e80fL,0x7de67f5d788698b4L,0x000000000000005fL } },
  79937. /* 8 << 91 */
  79938. { { 0x9b40a31f03d3477bL,0x57e0e72e400294feL,0xe8aa7d3fe3e8af40L,
  79939. 0x6a3d54748dd4d7c0L,0x564564fc65e1bac8L,0xf8584769108c5fa4L,
  79940. 0xeb211eacdbbbb595L,0xe06b04dc24a6b7f6L,0x0000000000000197L },
  79941. { 0xc7689ffd29bfb3d1L,0x7aee57f372378c9eL,0x007255d96efe861bL,
  79942. 0xb8d3f65f6cfbbfabL,0x44629a5fb6d3923bL,0x49e47cea97373f3dL,
  79943. 0xccefc3e7e5d385ccL,0xcccad6e68461478dL,0x0000000000000061L } },
  79944. /* 9 << 91 */
  79945. { { 0x65e1029251b47bc2L,0x050f0ef396e11799L,0x05ca59da588c0f6dL,
  79946. 0x3fe6edce2ff2979fL,0xf5d22ed3902d3268L,0x66f1fad3053dcf39L,
  79947. 0xf59a2c579c249cbdL,0x376c29df17ad6077L,0x0000000000000132L },
  79948. { 0x023fb75627e9548cL,0xeca768ffcc4e8a89L,0x9751524855744e88L,
  79949. 0x62133797b724a018L,0x047efbc1039f2eb8L,0x12605556a4f29411L,
  79950. 0x25f2a0fe026f882aL,0x58e45392f069b7f0L,0x000000000000018dL } },
  79951. /* 10 << 91 */
  79952. { { 0x8980df2d3699e35fL,0x9116ddbe7fee846fL,0xe8e6e54efa3d46b8L,
  79953. 0xb6c3996eb65bc109L,0xe549c8eaeffaee6cL,0x9553bb7b31410debL,
  79954. 0x3900d1cca660056eL,0xea4c30ef15f7dbf7L,0x000000000000018dL },
  79955. { 0x0bf375e11b976fc5L,0xbfa9c68017e1cbe9L,0xd9c860a1a7478ff3L,
  79956. 0x3412562269e4e8e5L,0x0e98341ce1ff1512L,0xd320c6fe76eb4630L,
  79957. 0xa06cec281ea3e4a9L,0xbb00b6a08ef84307L,0x00000000000000deL } },
  79958. /* 11 << 91 */
  79959. { { 0x892e36ce5b432ad3L,0x65dcf3b180d272acL,0x4a5861edd686b1c7L,
  79960. 0x313b59e35fca28acL,0x1db0e208a29011f3L,0x4b91de51b632d0b2L,
  79961. 0x024ca341ce943710L,0x6427e1ac2e5db5ccL,0x00000000000000a9L },
  79962. { 0xd6513c981850c1f6L,0xb93d2ced05479ac3L,0xe186562779609143L,
  79963. 0x8cfd054ed44fec67L,0xe60e2c83e580c3d8L,0x17f8ddb76f8b3a07L,
  79964. 0xc6deddcec0273a7dL,0x8020047a079b21a6L,0x00000000000000a7L } },
  79965. /* 12 << 91 */
  79966. { { 0x475427960f5bfa4bL,0x30d431dc7949b183L,0xf8988f286f450425L,
  79967. 0xd6f6e60dd3778a2cL,0x08719f9364d83e77L,0xc77516d1cb7840ccL,
  79968. 0xafbcd88077b2ccb6L,0x7037603dbfacc373L,0x000000000000008eL },
  79969. { 0x7d1f72796e42ce5bL,0xc9c7aa48535c241fL,0x117dc1334fa7bc3eL,
  79970. 0x85e9129b83ac9251L,0xb0237b53de78fbb3L,0xe95c6512ab35c8eeL,
  79971. 0x8ba19c451f97669bL,0x9b9f0c8a7aab8881L,0x0000000000000127L } },
  79972. /* 13 << 91 */
  79973. { { 0x007dd941777f4caaL,0x61a0c071d02a6bbfL,0xc0651514126587eeL,
  79974. 0xee66732f97cb295eL,0x9c72c2da783373deL,0x530a0bde961281efL,
  79975. 0x595096121d87a2d2L,0x3c9c4775fe361e36L,0x0000000000000144L },
  79976. { 0x190552d422a5f596L,0xee643d7b2beba873L,0xfb0ec2637529f7c0L,
  79977. 0x4aae3efb6677edb6L,0xeadd8fea23ac4ebeL,0xcc44798f791f6241L,
  79978. 0x69c5d73d0d94c9e9L,0xda1bbd06d7a37d3aL,0x000000000000008eL } },
  79979. /* 14 << 91 */
  79980. { { 0xc184af99246bc98dL,0xae516351e0904d25L,0xda6cc6c8a4fa486aL,
  79981. 0xfc9ef8fe33dd0f0aL,0x8981f399afd708fbL,0x655302032a22f104L,
  79982. 0x5a8d2895890718a9L,0x7f48ddf88c71713aL,0x00000000000001f0L },
  79983. { 0x2e16fac769a4fbffL,0x1ef4ff56c3abf535L,0x8f332c083aee6084L,
  79984. 0x312a01982b2ef3e8L,0xb53036685ba34302L,0x728716190f62a886L,
  79985. 0x9f6ff887fcb4c8bfL,0xa86874a9c3743566L,0x0000000000000180L } },
  79986. /* 15 << 91 */
  79987. { { 0x146f727ef7c671dbL,0xab579f7e0aef41c6L,0x7e4ba80ab8fe8727L,
  79988. 0xeab360c1711b17dbL,0xb47511fe2b3966d2L,0x62e7f396f8e65dffL,
  79989. 0x3d7a6cc5ea306211L,0x1f4b50346432ae78L,0x000000000000002aL },
  79990. { 0x3aa75ca8e91c698dL,0xd1e99a5bf01868a2L,0xcc1cd1bbcb461835L,
  79991. 0x5c3cec62d521fb7aL,0xad85cc2cefc4153dL,0x9f85fe129a592b99L,
  79992. 0xb9e983d15f43c9f4L,0xb9597f273e56eaf6L,0x00000000000001b8L } },
  79993. /* 16 << 91 */
  79994. { { 0xc8be45a27fe18629L,0xa5c577aaaf2dd971L,0x6e3a67f061570e7bL,
  79995. 0x2cfc162946c8f13dL,0x6a05848ca2754906L,0xfd319607d0da74f2L,
  79996. 0x0941d89d65b65761L,0xe3d2c4005821ae08L,0x00000000000001d0L },
  79997. { 0x3664ae19a334b91eL,0x21285e386768d183L,0x0914545399758724L,
  79998. 0xd3debfa9ff52fa6cL,0xa1d9cb9ad614ce9eL,0x9c371626452e7305L,
  79999. 0xcb2d7e9229277a97L,0x13171ad82f307a9aL,0x000000000000010eL } },
  80000. /* 17 << 91 */
  80001. { { 0x2734f7ee0da19241L,0x55c59dd0eea444d4L,0x41e48f0d6be546beL,
  80002. 0x2d64bb8923f87d2cL,0xb0e56af43a6b2d00L,0x3393eb7224e16c9eL,
  80003. 0xf318640a2c65adb4L,0xaf23c472de501421L,0x00000000000000f3L },
  80004. { 0x67c51d3ea5bc2d44L,0x4d7c5ba436622944L,0xb46b82ed7d4c50ffL,
  80005. 0xe6e6322325bd5c42L,0xd6c35c121416508cL,0x8897538f107cf747L,
  80006. 0x3117daae4b44b6e4L,0x6f2813a36be5042cL,0x0000000000000068L } },
  80007. /* 18 << 91 */
  80008. { { 0xa810227e65dad623L,0x01fcda5624662210L,0xe8543511a9154721L,
  80009. 0x2914e67ce47aeec9L,0x85243b1645a2aec8L,0x1055599c4db1dcccL,
  80010. 0xd8c2e07a3d1ee37aL,0xb240748691ff64f6L,0x00000000000000e3L },
  80011. { 0x89d53742c47ad646L,0x887493ed21d95cc6L,0x9ec6e14c252a6effL,
  80012. 0xdeaa3eedb7c7af4dL,0x0b5ceb7cdc2be798L,0x95f753c3e8559739L,
  80013. 0x3ca3a7c8a188513cL,0x4f9912cfdb1ccc8cL,0x0000000000000085L } },
  80014. /* 19 << 91 */
  80015. { { 0x8d3434eb19505b84L,0x75856d66d34ed7c1L,0x2729b5cb9dbea3edL,
  80016. 0x01f91132230db209L,0x9b6962d157a8fccaL,0x506af49aacc7b180L,
  80017. 0x29049874256b28d1L,0xcafca60eac95cde4L,0x00000000000001f6L },
  80018. { 0x80e8ade36c3f0557L,0xd1f00017614e9fb2L,0xc24e87cdec075c35L,
  80019. 0xf5c0c19b0803d1bfL,0xc8256d3c56042212L,0x77309bac1e9e447eL,
  80020. 0x41174c583958b51fL,0xb48e28ca88a66bf7L,0x000000000000011bL } },
  80021. /* 20 << 91 */
  80022. { { 0x66b11de35097807fL,0xd97001688956c6d6L,0xb44ab980f789112eL,
  80023. 0x8d84c890d8065a6fL,0x68bd1eb836556220L,0x2d78a2f0600ab712L,
  80024. 0x877475e699e8428eL,0xbaf046b5bd40b22bL,0x0000000000000054L },
  80025. { 0x406ca5189164af2bL,0xcfdd3ad4600c8b76L,0x8b443270cb90ec32L,
  80026. 0x9f021a66e20d198dL,0x507f551ad2177737L,0xf1edd1ff8e49231aL,
  80027. 0x8f30cab6007eba51L,0x7b91be67d8676f16L,0x000000000000001eL } },
  80028. /* 21 << 91 */
  80029. { { 0x8135ca7369086939L,0xbf17399a0e19ce3dL,0x73f0d2c021d13a4eL,
  80030. 0x9e4c35ad3729460fL,0x323cde3e58ba36c1L,0x4e3c7f3ec77b972aL,
  80031. 0xffa35319fd8afb3cL,0x36171d68c30e0685L,0x00000000000000e9L },
  80032. { 0xea5e35682a5c8115L,0x6c46f6048b0154e2L,0x7df48b8177c0512dL,
  80033. 0x9fde5f493a09ececL,0xb1b004dbc5c11a60L,0x0c476649dac83f4cL,
  80034. 0x1a15eea3cbc8f2e0L,0x993e1a33ee486143L,0x00000000000000acL } },
  80035. /* 22 << 91 */
  80036. { { 0x2bfa1554b203d524L,0xc6d86d8c64dafb80L,0x26807c023ee93e42L,
  80037. 0xa384b2f0de86dc52L,0xc5816a9f5725df01L,0x89bbaec758fbaae1L,
  80038. 0x2f452eb60957c4acL,0x119f0291913c1a72L,0x0000000000000121L },
  80039. { 0xf173df1d2ef523f1L,0xf7491b475c934cd7L,0x83698ba3965c47e2L,
  80040. 0x7c88c285287406c3L,0x241e36fff3d293e3L,0x43c728798f6a23afL,
  80041. 0x0f6571eafb1ed946L,0x5a627fec5514fd3cL,0x00000000000000f4L } },
  80042. /* 23 << 91 */
  80043. { { 0xe8dcffc39c33a23cL,0xeec6350e83037ff6L,0xa373f6d772695216L,
  80044. 0xe4df9cb0099d5a16L,0x0173befd9af7d58fL,0xab067d55382cc41bL,
  80045. 0x3d34f02eb8a58041L,0xb209e9f323f980b7L,0x00000000000000fbL },
  80046. { 0x1980fc9941c0bd9aL,0xa60001622a593908L,0x2a1c27e0070bfb85L,
  80047. 0xcd18df8fce5c648fL,0x288f117d5cd7f21cL,0xcfc5495f8bc00633L,
  80048. 0x39b2c847ff32ad8fL,0xebde0138e4bf5e9aL,0x000000000000010aL } },
  80049. /* 24 << 91 */
  80050. { { 0xec04ae998e006e2dL,0x923ac4fcda7c9902L,0xe91a96c89ec9a28aL,
  80051. 0x28004a30377c556aL,0xe82f82d4be756bbaL,0x4e9c4655155143b8L,
  80052. 0x667c4acfadd3ed92L,0xdb590aa6c2d95a2bL,0x000000000000014cL },
  80053. { 0xcb7f053132237847L,0xa06ff9854e110073L,0xba69f4b935676e46L,
  80054. 0xcadc7250f1a9b32eL,0x10cc7f2281f0bbbdL,0x5967c22300cb192aL,
  80055. 0xc93fa9eb9b9c2e28L,0xb1d3b84416699f51L,0x00000000000000a3L } },
  80056. /* 25 << 91 */
  80057. { { 0x90d4d5b4123e7bddL,0x05b161ba1ac34bc4L,0x1298247b24947c92L,
  80058. 0x914a1d9003dbb06cL,0x8f033b39a0a6e2f3L,0x625982a2e7492fa1L,
  80059. 0xe46b4b027b73d40aL,0x8b9a26c0eef66bdcL,0x0000000000000008L },
  80060. { 0xe4754290054f7507L,0x13a6f03cb0598a51L,0xece11d437539cf78L,
  80061. 0x3b7853f2ffc61cf0L,0xf7ffdf3512e72e37L,0x1c67b7d797dd7ff3L,
  80062. 0xc653bc89ecdd5b21L,0xd831303a1ec35d8cL,0x00000000000000acL } },
  80063. /* 26 << 91 */
  80064. { { 0xfba33000f6b1ab74L,0xa9e1f2f50c96eebfL,0xe84f0eda5c33000fL,
  80065. 0x33789a12153679c1L,0xda4629f589209ee2L,0xce3785b20e22fe7bL,
  80066. 0x53183b466f0c0ec3L,0x6fe1779e5285b4bcL,0x0000000000000056L },
  80067. { 0x1eaf8ecca5d768d3L,0x224ee37310c1561aL,0x519298e8fc7af9f7L,
  80068. 0xcdca25634af7c25cL,0xf4096cb4d862bfefL,0xd49b6f4ff5223cbcL,
  80069. 0x678d2e9f1ac83c79L,0xaadf01b78f1ddc04L,0x00000000000001f6L } },
  80070. /* 27 << 91 */
  80071. { { 0x75ef961ad84fd84cL,0x0012c3ae9bfb608eL,0x5a1f3b50c70e020fL,
  80072. 0xd81bbadba2abf2c7L,0x2869fa049c0e2b8aL,0x4ff238ccd4d55cb5L,
  80073. 0x11663a7ff9176721L,0x60c84c2b1764febeL,0x00000000000001b2L },
  80074. { 0x937b3b185215da65L,0x81b22f969dc29782L,0x7c0c13b1cbb740acL,
  80075. 0x830290ae8e2779a6L,0x27d939bfe3e00368L,0x0e2ecf5b729116afL,
  80076. 0x69e0ac2bcdb96f4cL,0xead47fed70704210L,0x0000000000000168L } },
  80077. /* 28 << 91 */
  80078. { { 0x27690556b119ec98L,0xa07fc4e8b33cdd83L,0xdd70a4e6959d2560L,
  80079. 0xc723b197a824df32L,0x387f408b6b104364L,0xe36f86cbda9c0a19L,
  80080. 0xee5df4d2ef6744a9L,0x8c583a3ff56ce630L,0x000000000000000fL },
  80081. { 0xa32cfc657cb1662aL,0xa698c83930e77387L,0xc3eacb751453a17bL,
  80082. 0x86e25cca10ce2530L,0xbc4ec77ed137a2d7L,0x4c6746ca235dafc3L,
  80083. 0x8b168ec927d5122dL,0x0c75daef3d1a30faL,0x00000000000001caL } },
  80084. /* 29 << 91 */
  80085. { { 0x5cc5c9119b2cccf8L,0xc8000ca65c1cab93L,0xd80663f5fef5ea9fL,
  80086. 0x62906368e60a72beL,0xd85016621556648eL,0xcc2b6f93bb48531eL,
  80087. 0x21a9b53d7fbf49e6L,0xddd378ac7b9c185fL,0x00000000000001e9L },
  80088. { 0xcb7033f7f7fc334cL,0xde062112a5b5d78cL,0x509a02a1701bf69fL,
  80089. 0x64339bc557e490a5L,0xd4bb88c029ce5872L,0x20944f831dd17464L,
  80090. 0x7d5c190934197eb0L,0xbcf57d5faaad6be3L,0x00000000000000e8L } },
  80091. /* 30 << 91 */
  80092. { { 0x3bb43beb00ef2a72L,0x0ea2ee348a65bed6L,0x4a07c01a25cf2864L,
  80093. 0x81f50428def2d374L,0xb5b902f731d5ce65L,0x740f1ce1478326b1L,
  80094. 0xaf7a25606905c052L,0x4e6e4f6e1fc70939L,0x000000000000008bL },
  80095. { 0xc32ef5c1b1edaa65L,0xf0ab55ac28e6d983L,0x954900d5708aceb7L,
  80096. 0xefd9f5c13a326bafL,0x05fd87d8be1c4709L,0xa40702b17b6cae96L,
  80097. 0x9263a19265344d33L,0x141dbc82576f073dL,0x000000000000001bL } },
  80098. /* 31 << 91 */
  80099. { { 0xb15e9545d626ae06L,0x3a0722a1ab0b410fL,0x832cba6776772e76L,
  80100. 0x015d5fd9bc34d2f1L,0x067102cb87c77de6L,0x0469b3fc490d84b1L,
  80101. 0x5e2f5a08b3462225L,0x352eb90a0d1096feL,0x0000000000000113L },
  80102. { 0xf9ef4a525930c83aL,0x5808cd0ba38b4104L,0xdbff69203cdabd8eL,
  80103. 0xb7881613d88a14eeL,0x79c0026b1b096991L,0x5e69a28a2c82ffa3L,
  80104. 0x607809fee1524e82L,0xe0f5ec4acfaec5c0L,0x0000000000000187L } },
  80105. /* 32 << 91 */
  80106. { { 0x336b06222feda8acL,0x4658ae220c0b391cL,0xe12f058f1f2119d0L,
  80107. 0xa1f96c94495525a1L,0x32efc7aecd7d9f17L,0x34e4fe2abea7a5ebL,
  80108. 0x0efd24927135c5f5L,0xd7a04eb2b83241ffL,0x0000000000000036L },
  80109. { 0xf11b8e769ca40933L,0x1951cd54d06857c8L,0x0e9124f629f13914L,
  80110. 0xe6ebbbe33d67d0cdL,0x5483a2bcbf16f9c2L,0xd4e4ea52255ea8caL,
  80111. 0xee0db0b5734eef50L,0x54434b5116207775L,0x0000000000000017L } },
  80112. /* 33 << 91 */
  80113. { { 0x553daedb5944343fL,0x3606ec07d4d0ffc7L,0xc6524155ca243c3bL,
  80114. 0xd58cb6991527de09L,0xeede8aac13bfd2dfL,0x21ba74aff923c663L,
  80115. 0xc82663667eb66df9L,0x5afc421916d74e8bL,0x000000000000012fL },
  80116. { 0xe4988134c59c0bfcL,0x068d052cefd2d387L,0x44132ab7b193eae2L,
  80117. 0x1debbc87bebb0f7cL,0x2e1126dfd9772c79L,0x865dc53f3bbb504cL,
  80118. 0xe1701501b85e7361L,0xe2a6ef6ee258a516L,0x0000000000000094L } },
  80119. /* 34 << 91 */
  80120. { { 0x76fd2af6bbcf1ef0L,0x74f728d1582e6b95L,0xcb8aa6bfdda9b1feL,
  80121. 0xb9f03364c5708bf8L,0x84ebfa3ca5d5e4d0L,0xb007dc5e583e8a91L,
  80122. 0x746afe5e82e7bb71L,0xe320d41037085932L,0x00000000000001f0L },
  80123. { 0xd70e0d63282273ccL,0x5cf2e2c3305f484bL,0x04768257c5138617L,
  80124. 0xb603b06f9f72b38aL,0xbc2f8d4d238eeca2L,0x16fd9071880b51d8L,
  80125. 0x4c13664ff86838b2L,0x7de53d218a6ff68bL,0x00000000000000c7L } },
  80126. /* 35 << 91 */
  80127. { { 0xd9d533d44f5adf8cL,0x3734d7f8177b8731L,0xc155a11279082d46L,
  80128. 0x9fee9bee55c670c1L,0x4792e233bb026778L,0xbc36eade50fe0facL,
  80129. 0xff70c0e73da20a58L,0x417610c538fdb880L,0x0000000000000192L },
  80130. { 0x05cfaa1554127b14L,0xa92f93dee146b94aL,0x80d3ad15e5af320dL,
  80131. 0xf6fdf30cf9b93477L,0x56e1e73f8912b2aeL,0xbcde8088a81d4249L,
  80132. 0x8711ca7358fe2d0fL,0xc2c9cd60328932f2L,0x0000000000000124L } },
  80133. /* 36 << 91 */
  80134. { { 0x657b00c3c6659533L,0x7c4ebb89d4f40b8fL,0x240ac0f607952574L,
  80135. 0x67788f2a2d1103acL,0x04a55a0c15dfac39L,0xe516c9830d854801L,
  80136. 0x25949bd2eba13079L,0xa603149e1cc2ef88L,0x00000000000000e2L },
  80137. { 0x394021ec0c1c2efeL,0x06c411c6ad56f16fL,0xed5735a23c85892cL,
  80138. 0x744c27e3a7749e09L,0x48ec0665ae7e3e20L,0xf9b4163bac7bd334L,
  80139. 0xcd5581551a4bbacbL,0xd6b52b5459cdd2baL,0x0000000000000167L } },
  80140. /* 37 << 91 */
  80141. { { 0x39a2354ea18a42f9L,0xa6316bc8cc4b9ce8L,0x45cd304831be097fL,
  80142. 0x250cf0da411e55eaL,0xaec0f4a08756aa97L,0xbbed2c68e3cd749aL,
  80143. 0xdc1516bc6023d468L,0x2031a0cf013b7d7bL,0x0000000000000198L },
  80144. { 0x66bd2998907d5626L,0xf84be0f5ef405159L,0x47913cd8a13eea10L,
  80145. 0xd98e273609412514L,0xd07e8ff1d7eeebc4L,0x2ccf81bb692ebfb6L,
  80146. 0x98259e9beaa3282cL,0x1e73d6761979dfddL,0x00000000000001dcL } },
  80147. /* 38 << 91 */
  80148. { { 0x17915cc92fd4fbafL,0x5ccfa56f987a738cL,0x9322bbcdd4f04e2bL,
  80149. 0xd11dc12a3d80faf3L,0x8a5b1f959751eb1bL,0xa0944deec74e364aL,
  80150. 0x7830f950bf5583f7L,0x3ccabd2290302a78L,0x00000000000000d4L },
  80151. { 0x97af459227945905L,0x3e6475f8c89e8478L,0x07a75003061caa42L,
  80152. 0xf307f63fe96c6ee8L,0x116b590fb3ac7eddL,0x8cc5129fcc572d4eL,
  80153. 0xfbb1956538070b86L,0x142309e12214d88dL,0x0000000000000151L } },
  80154. /* 39 << 91 */
  80155. { { 0xe87d85e1849d8d67L,0x67f27415f71ba46bL,0x2a469ef7261c4c7bL,
  80156. 0x42b25fbb196b3a59L,0x4a06c13c64ab6781L,0xb5fb64097145eb2bL,
  80157. 0x2ef16fec84d837e2L,0x1336ee80fc35be92L,0x0000000000000126L },
  80158. { 0x0950419772173df1L,0x08ed9987c1ed4d44L,0x60f415854ec72dc9L,
  80159. 0x1e96109cdebdeb7cL,0xbc5d5e01d4e266dbL,0x865f2779b97437abL,
  80160. 0x60aec81e4603b596L,0xbdff4a3579f89a7eL,0x0000000000000133L } },
  80161. /* 40 << 91 */
  80162. { { 0xdaf096439768c17fL,0x3fea42473fefbb34L,0x6219c7a10b58d304L,
  80163. 0xb1d22efdcc27f099L,0xc40b3e4087610d7dL,0x5130d3dd8f8e950cL,
  80164. 0xc50fef134b6433abL,0x8694a6fbe79d8b49L,0x0000000000000034L },
  80165. { 0xbe5028acda708745L,0x573354a3d2e9e2b9L,0x65023a39bda28cccL,
  80166. 0xfd3f235151c040dcL,0xe8674a7754e038e6L,0x6c2a5e75ebadf602L,
  80167. 0x26ebf6e9a9330218L,0xe564a069001c8135L,0x0000000000000022L } },
  80168. /* 41 << 91 */
  80169. { { 0x93b89ac719647427L,0xf2e9800662f60cd8L,0xd17928788b4a860aL,
  80170. 0xeca75f8aa6f7f822L,0x553e987fa08afc7aL,0x68c7eeb375168c32L,
  80171. 0xe2d7c361f02866d8L,0x4cf488d01f457ef8L,0x000000000000019dL },
  80172. { 0xb02e2aee5dd3a10dL,0x399ac0b774d7f78fL,0xeeb5d6194dadb32aL,
  80173. 0xe9749e2d31475847L,0x0e2894577dbb6ca6L,0xb1a8de40d01c8c73L,
  80174. 0x111bb1a717e9a87cL,0x38016c50525524c7L,0x00000000000000d3L } },
  80175. /* 42 << 91 */
  80176. { { 0xf2f5b47cd83d5980L,0xa9d9084742d37e32L,0xe0e804bb8fe68776L,
  80177. 0xdc4f8950138c0caaL,0x7eff3e0f5c3e9d96L,0xc0a1de28825548b0L,
  80178. 0xcb0ce3648a12ad2dL,0x3467ec580d44b1bfL,0x00000000000001dfL },
  80179. { 0x80a72cd7353e4e27L,0x3d8c7245c5047f28L,0xa74798df7231688aL,
  80180. 0x99e24af065d80630L,0x5a653dea8475aa27L,0x89d84371a44391b2L,
  80181. 0x2eaf73f22f4f0562L,0xe1628cbcc9be07b0L,0x00000000000001b2L } },
  80182. /* 43 << 91 */
  80183. { { 0xf84751465841f56dL,0x5b972d1beaa26045L,0xc1bb3bb69326720cL,
  80184. 0x656b3cc491990d51L,0xaa493b911aa9c0a5L,0xd12902d4f2af0e57L,
  80185. 0x873e1f30136832d6L,0x7f93fed865bab8edL,0x0000000000000150L },
  80186. { 0xef43b48fff75fde4L,0xd7cad9e14e9e8062L,0x5f0fc4bb495e772aL,
  80187. 0x685fa07c58df814fL,0x6b8d8ef7088c5dfdL,0xc2ecf7f51436df3eL,
  80188. 0x3c2b71f5f99a9736L,0x0a2a30a45b65c55eL,0x0000000000000172L } },
  80189. /* 44 << 91 */
  80190. { { 0x1fe9426b0a6c6d9eL,0x8a955028e8e6c259L,0x6575bc53fe2d3113L,
  80191. 0xaf4a1328b7cc80aaL,0xe3b2d1e559ce1d34L,0x555642307da20bb6L,
  80192. 0x450e75e56f0a3e73L,0xf4462fa27ff87e37L,0x0000000000000146L },
  80193. { 0x0c211f3a58e16248L,0x902c342f4506b24fL,0xea4e8fd0a68aa254L,
  80194. 0x7a8a1409258fdf8aL,0xd77bc05e1304fbd3L,0xddf4d3af3e566510L,
  80195. 0xca6b3c5a7fb9c9ffL,0xaaf671967fac362fL,0x000000000000011cL } },
  80196. /* 45 << 91 */
  80197. { { 0x8f3d956e6b9e05ddL,0x8e7c2babc7ff7e65L,0x5a75719253ae6a00L,
  80198. 0xc96d8b795b54b6a8L,0xed3e7f1c5b7d7d00L,0x228f166f5ceb2b6dL,
  80199. 0xbfb91eee09dac21bL,0xa8279317dbe20b62L,0x00000000000000cfL },
  80200. { 0xccd5ccd6ba990e97L,0xb945ae888236c13eL,0x01c61e4b7ec5ab76L,
  80201. 0xa390fe0b1315a1d6L,0xbb6f26932a162becL,0x782df1974811290fL,
  80202. 0xa16250e205a4beb4L,0x8a94424936670e18L,0x000000000000010aL } },
  80203. /* 46 << 91 */
  80204. { { 0x08104eead1978abcL,0xc4aa64182869f184L,0x1d3bdf3040a17f91L,
  80205. 0xd385a51c24b0f6d7L,0xc07b19a5e867b991L,0x91a34606528814b5L,
  80206. 0xb4c41a54b65a49e7L,0x9babbcf59df9f529L,0x00000000000000b4L },
  80207. { 0x764aa96de287026dL,0x5314fa4f90cc1767L,0x8d66884a1c955f29L,
  80208. 0x5fbfb4e9877d0860L,0xb389496c4518d3f8L,0xa40da285971965e0L,
  80209. 0x92289bd13d3104c7L,0x5467d571480627c0L,0x0000000000000004L } },
  80210. /* 47 << 91 */
  80211. { { 0x73b067663d3889f2L,0x9cfaaec7975d71c4L,0x32dbe1cbaabb2914L,
  80212. 0x95c1be2fe4d3f5b9L,0x9f043bb55a9d6ef0L,0xd8fd47fa2124525fL,
  80213. 0x2ee657cb218e24aaL,0x53358623f62039d7L,0x000000000000005dL },
  80214. { 0x1c9f2390e488690fL,0x74350646284b571dL,0x62b8f014eecc8839L,
  80215. 0x0d0727a2cc3602ddL,0x9a4a864741b32344L,0xc53ceac84c506cfdL,
  80216. 0xe07215a5fbf809a8L,0x74ccdf9bf0d0c843L,0x0000000000000185L } },
  80217. /* 48 << 91 */
  80218. { { 0xffeaae90a5f79719L,0x6e6df606d3492f7dL,0x2c2bb9c576eaa27cL,
  80219. 0x33d699cda76e4fa4L,0xfc90add1bcbefbc6L,0x2c7014b254672c91L,
  80220. 0xea55e101b935deeaL,0x12f035bb8a9ea2a3L,0x00000000000000a5L },
  80221. { 0xa3e9e470a478a531L,0xd90105eb1992bfd8L,0x8c0b466dde6e1978L,
  80222. 0xaf1b491584e1c6f7L,0xca957a0824931507L,0xc5b18ccd670262dbL,
  80223. 0xc8b50dc0da787fb6L,0x087dea9c7d5253ebL,0x0000000000000119L } },
  80224. /* 49 << 91 */
  80225. { { 0x06a9262ad8cffaefL,0x0202733a16dcad26L,0x889461d885e4b6a7L,
  80226. 0x8aa5ee3ebf2b5a1eL,0x209afe0dd59e8c5dL,0x6fbc3bfe9fb34eeeL,
  80227. 0xa2cafea7854d31b7L,0x40dbcb67b34dea06L,0x00000000000001b5L },
  80228. { 0x38c04e9a6fa0ebefL,0x7e538c4aafa0dcadL,0x7bda0e2a29d75198L,
  80229. 0x6af9b41944d6606eL,0x35cba42c03f90cb3L,0x7067e8fb0ac1b1afL,
  80230. 0x97044878e1e90e22L,0x3e5ea9f8d802e89fL,0x0000000000000041L } },
  80231. /* 50 << 91 */
  80232. { { 0x510da10c610f1026L,0x3905429820278fc2L,0xec273624264701f5L,
  80233. 0xa28eaba19f852f1dL,0x3a48f9a649452affL,0x80200f98532be9b8L,
  80234. 0xe1fe9faf3e0fd8e1L,0x9016f5592aed9512L,0x000000000000011cL },
  80235. { 0x15a0b2f34d16a4deL,0xdf45147fc711f66cL,0xacec295a2e9d2971L,
  80236. 0xa363ba454d608ea5L,0x2be77f31ef707d72L,0x71e2efaca70f5e07L,
  80237. 0x8874489778c61141L,0x7088d771f36cb684L,0x00000000000000cfL } },
  80238. /* 51 << 91 */
  80239. { { 0xa15af0a98612eda3L,0xd20f6eee8cfdf251L,0xd13f13187edb43d9L,
  80240. 0x12c8caefd20f1911L,0xf718e3879d2dddffL,0xe5476ac9ae1d8619L,
  80241. 0x46996c8c6abdf7a6L,0xaf747be0d673af48L,0x00000000000001e7L },
  80242. { 0xbca4d3b4f681818eL,0x97d89e7e1dc67c61L,0x8fe1d23272adad93L,
  80243. 0x0c3d0e0aab0d1120L,0x80755cb5354d0bbaL,0x8227290c29941953L,
  80244. 0xd6b2bf435bdc8c57L,0x72b415c4cc5efbb9L,0x00000000000001adL } },
  80245. /* 52 << 91 */
  80246. { { 0x9840fefb94eceab4L,0x3f2df52cb4ab428cL,0x5d01c629dc912e83L,
  80247. 0x69fb1a87dccd56f5L,0xae7a79433c692deaL,0x62cfa5b6348795b4L,
  80248. 0xe0b621352bff3017L,0x1355d15a465aa055L,0x0000000000000031L },
  80249. { 0x715572c92f17bc87L,0x3d0761bb5408ce13L,0x32e1ebcc740d844eL,
  80250. 0x503de141845bcbc7L,0x5f5d73affd491083L,0xe357fd9f459050caL,
  80251. 0x1b55a4836d811ad1L,0xf503dd70e855671eL,0x0000000000000152L } },
  80252. /* 53 << 91 */
  80253. { { 0x99472f10e9570837L,0x59fdf7f0a7537eccL,0x6163b2fd4bf81966L,
  80254. 0x9cb1ce6d58669895L,0x5f1f0238bb6928bfL,0x87b6a8471944b59dL,
  80255. 0xa0dfa5cc4196844fL,0xd89a1cde26186526L,0x0000000000000184L },
  80256. { 0x0601560613c8ebd4L,0xeb16ead091204191L,0x46cbe8543c28c13cL,
  80257. 0xd000b7abdfb0d4deL,0x1726c9a74ea29c57L,0x0f193196c781b82eL,
  80258. 0x1387110693994983L,0xb50560b19d7bf34fL,0x0000000000000168L } },
  80259. /* 54 << 91 */
  80260. { { 0x163701bfea642575L,0x0a6a2f5d2e678618L,0xe4c9b9f5804587ebL,
  80261. 0x6f8e5064ccc8fb0bL,0x4b69a7091c635a34L,0x5e86bae9b96732e7L,
  80262. 0x07fa20d37c643344L,0x77f6268664b84c35L,0x00000000000001d0L },
  80263. { 0x06a5c9c908ae642bL,0xb472c3f14c44fcf4L,0xe52310eac2df057eL,
  80264. 0x72597d099a3c2a5eL,0x953d96935b215b2fL,0xe9a9436c573f77fbL,
  80265. 0xf577c9c6334b0b7eL,0x9dba2bccbce93fb3L,0x000000000000011cL } },
  80266. /* 55 << 91 */
  80267. { { 0x770c5fece69da7a9L,0x19f64e37a77befe4L,0xd3c78be1c75aa586L,
  80268. 0x9f4fad22a4140e40L,0xdacc138f56ea04c1L,0xcf2449f983fdff97L,
  80269. 0x7459e685c65440d0L,0x86ec5d4b46bcfca7L,0x00000000000001acL },
  80270. { 0x6741957f376dbad7L,0x7a7f41f3d45e0c7fL,0x1ffdb37d40041998L,
  80271. 0x3df73b0673f33365L,0x7ef0296328023845L,0xe58c3a849cc74753L,
  80272. 0x4d442f576df77c6fL,0xe0517e5e00f4cea8L,0x00000000000000c4L } },
  80273. /* 56 << 91 */
  80274. { { 0x46d19e84e4ffc94cL,0xb0c6a22b46ac3defL,0x78b32cb951b0c5b0L,
  80275. 0xf3a9d47ca4d6703eL,0x564725a602e1858eL,0x962820cdda51085bL,
  80276. 0x07079fae5d66a816L,0x2975644b7efdb35cL,0x0000000000000067L },
  80277. { 0x53e0fe0f027e7d4fL,0xe7919470fe2f6b5cL,0x0029df1fba6e0852L,
  80278. 0x4a8c72c2cb9b0c0eL,0x8e94526c4398ce0cL,0xe5535ec6945ea9caL,
  80279. 0xfed0915990686396L,0xce1523a9a17486e4L,0x0000000000000175L } },
  80280. /* 57 << 91 */
  80281. { { 0xb6a22a0200055b41L,0x1530d3c2738d7765L,0x74b844494b19e498L,
  80282. 0x7e8080589e7bef67L,0x99f69a43bffff80bL,0xfdb0e8b1b027fd95L,
  80283. 0xc5bc0fd033b928baL,0x6561d98bd273c3e1L,0x0000000000000124L },
  80284. { 0x3b992ebc4c8a05b1L,0xd151de1554ce8100L,0xbb63a62b154cbf46L,
  80285. 0x3374fb329ce29809L,0x13994e41708b1aceL,0xb37f9846587049f3L,
  80286. 0x6b6708e773cace40L,0x25ed315a8dfbe7acL,0x00000000000000e7L } },
  80287. /* 58 << 91 */
  80288. { { 0xc6f86aa312eaab15L,0x3f4fc2334051be9cL,0xcd591d72db49c31cL,
  80289. 0x65ba21ffd2100c28L,0xdced627f512e30dfL,0x9c948bfd52d495f0L,
  80290. 0x3b246e9ca178617cL,0xb7e99939f772b804L,0x0000000000000085L },
  80291. { 0x3ba75fc152793a53L,0xdf8f02a9c86c7a0cL,0xb7861f9ac573bac1L,
  80292. 0x16b41667a3b76aa3L,0x069da96a345dfe76L,0x1df94b267585cb88L,
  80293. 0x8b57ec9d4f2f7645L,0xfaa8230851320177L,0x00000000000000e0L } },
  80294. /* 59 << 91 */
  80295. { { 0xd8ac0bcf6c9950cbL,0x316eeb3196787697L,0xe1b0fb38589d27eaL,
  80296. 0xcb9d58fbbdfd0018L,0xfd39a23040bd2016L,0x47ae06bd222818c2L,
  80297. 0x7ca37a695d2a87c5L,0xa8a39329d2a51e11L,0x000000000000005eL },
  80298. { 0xf1e98f9d31797318L,0xfeb139037e1cb61dL,0x7d84a9664aca85beL,
  80299. 0xe2dfd634b1056464L,0xf62a4661ae33a99dL,0xcc522a0cc86d2097L,
  80300. 0x8800d70dc3d29ab3L,0xfe0e17145aa40b80L,0x00000000000000f8L } },
  80301. /* 60 << 91 */
  80302. { { 0xaf525dfffd31cac1L,0xab4dd60075e22b8aL,0xd6df54601bcfac1dL,
  80303. 0x83d0b758ea498cf2L,0xc6c8a7db725379ffL,0x926a186bb282eee0L,
  80304. 0xb0e0b072c1496c2aL,0x8f159a3e48668171L,0x0000000000000101L },
  80305. { 0x4494dfeda5edce74L,0xb5dadc35e28d5661L,0x320502550d978436L,
  80306. 0xaa350e02ace0dc5dL,0xff8c6c8dc85e3d76L,0xadd61548038e9206L,
  80307. 0xc5b0eeaf48b9ec2aL,0x3f1e7dc7c2645b2aL,0x0000000000000125L } },
  80308. /* 61 << 91 */
  80309. { { 0x911b6ec2d4d191d2L,0xa0be596398bbfebdL,0xcfc1858fcdb33929L,
  80310. 0xe838e59fcaf4b07cL,0xc3cf06ff253f9c18L,0x96d4c2242cb76433L,
  80311. 0x1bf6b527db17c2efL,0xdf9282d82792e421L,0x00000000000000b8L },
  80312. { 0xd9b60a5fa94190e4L,0xa82f09cdaf66cfaeL,0xb65d0c46c4e5935aL,
  80313. 0x65c1bc0a65ce2172L,0x533f9f19629364c3L,0x522db0fc51c1cd20L,
  80314. 0x1038f65b19332e86L,0xb64007f864003cedL,0x0000000000000094L } },
  80315. /* 62 << 91 */
  80316. { { 0xd5070a5ea979804eL,0x1fcc05daa28853d5L,0x7537020daeea2123L,
  80317. 0x33583d857d3940eaL,0xdb4854fc6a16ee2aL,0x2fa7b6c674cb45f0L,
  80318. 0x94b299c273a0bac3L,0xf5bfbdf0066135e0L,0x000000000000008fL },
  80319. { 0x7700d5f6ff090f73L,0xf186cb1328b231c6L,0xd080b318eec40e57L,
  80320. 0x9acfb30b5e6eb82fL,0xdfa57c03550c698eL,0xe32e90ca75f80094L,
  80321. 0xe4f0efa25d0871b3L,0x2c4e1314ff1ae785L,0x000000000000019fL } },
  80322. /* 63 << 91 */
  80323. { { 0xa1cf6e98abb1ce91L,0x94357a5ece988fa5L,0xce23c897403945dfL,
  80324. 0x8926b4a89ae2d087L,0x39d0ec46294d25f4L,0xd571fa4d0340cfb0L,
  80325. 0xd0389f1b25552596L,0x31c3d45476b870adL,0x00000000000000adL },
  80326. { 0xa4be459fc1acb2bfL,0xf98de31e4912a631L,0x5058dbc3f8e05adfL,
  80327. 0x30b64887ecf93058L,0x6f0ccdd7a4a98333L,0x4f036282a5e29a50L,
  80328. 0x141c5a024774ab8fL,0x5b11663b58682707L,0x00000000000000ebL } },
  80329. /* 64 << 91 */
  80330. { { 0xe67ad2a7a597628aL,0x424dfe8947deb6b6L,0x42669bdc0ecaca8eL,
  80331. 0xae7a2f64d86f6549L,0x3858f56b652a2e24L,0x8e5611a650291825L,
  80332. 0x21c2061120feb545L,0x4e550a9ecd63163aL,0x000000000000005fL },
  80333. { 0x4fabbb26b3b110bcL,0xebe74805036de290L,0xde88d2d633789748L,
  80334. 0x56a1b7b8dbf7865dL,0x0646d53de8707cf0L,0xcfb67fae64108a0bL,
  80335. 0x04f1401ba32160eeL,0x5998552d5f462a78L,0x0000000000000056L } },
  80336. /* 0 << 98 */
  80337. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  80338. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  80339. /* 1 << 98 */
  80340. { { 0x80e86d53083e8647L,0x4c143f8de6bf14c4L,0x98965bebd250ddf8L,
  80341. 0x66ad16a097f5f7ceL,0xf3b79e6a91ca08f9L,0xc8478bb25555ae35L,
  80342. 0xa3b1085a3048210bL,0x400e0a3fc2e9f129L,0x00000000000001f1L },
  80343. { 0x73dd8aabef069132L,0x4aa4c72566348212L,0x44b84c9436f78446L,
  80344. 0xf835da5068c9b6cbL,0x66b8e1d9a3536e11L,0x29ffbb214f4541d4L,
  80345. 0xcdb5baffa43e5d3eL,0xca8fca6dd75f692aL,0x00000000000001d6L } },
  80346. /* 2 << 98 */
  80347. { { 0xbda14abf4d9b67c0L,0x54478dfabf9ac0b2L,0x08943aedca457b40L,
  80348. 0xd82f3d75f18006c3L,0x434d99a148f5e818L,0x600c40e3c5422ad5L,
  80349. 0x8a6294594361f89dL,0x25fd287b9c176983L,0x0000000000000003L },
  80350. { 0x5465deb69d02479bL,0x61fd5b4facf06848L,0xbda65f8547787599L,
  80351. 0x1689cdce23280fccL,0xb2efd35d62e25557L,0x19fd60739c9f12b4L,
  80352. 0xaf9a39433a87dae1L,0x20dd9c0ac5a84a92L,0x0000000000000101L } },
  80353. /* 3 << 98 */
  80354. { { 0xd8764ed5adab4cf4L,0x6a3f2257baf7618cL,0x6607661ba03bb43aL,
  80355. 0x16f0ad3d41029908L,0xf8dadf979b47f97eL,0xe690674d9dd13ddaL,
  80356. 0x8f5f3c154180317eL,0x9694476452c697a1L,0x00000000000001b8L },
  80357. { 0x9e9715e5f7894511L,0x43c263b702f78d2dL,0x31b78c2547ad4de4L,
  80358. 0xe2f6454ce10ef4bbL,0xd0f816ad15787104L,0x169f4e00bc5c632cL,
  80359. 0x99c89fa79b77e99aL,0x7c758a0eea13b439L,0x000000000000003aL } },
  80360. /* 4 << 98 */
  80361. { { 0x067f879fc7734385L,0x787c7f18b4a51794L,0xa269c44672d9af69L,
  80362. 0xa4498e7387d71897L,0x28e3d84aa91814acL,0x8caf2f61f62fede0L,
  80363. 0xad36da315dc202bfL,0xfed8bc0fa4689189L,0x0000000000000068L },
  80364. { 0x84a0854296aa1400L,0x871885f1cd72b4a4L,0x00954202e9d3027eL,
  80365. 0x19b350695c86a302L,0xbe420b636cfc52a2L,0x8b75228287175b19L,
  80366. 0xd1811b8c9a22611dL,0xf9c23d803e468601L,0x00000000000001d2L } },
  80367. /* 5 << 98 */
  80368. { { 0xfd9470df9bb055e9L,0x356be674b8a9cabbL,0x7ceda113f1c13a27L,
  80369. 0x2a717f78d70ae9b1L,0x971609234ca55928L,0x7f9e4e226e14f3f2L,
  80370. 0x5b8a03155a589e18L,0xf8c780b940b09acbL,0x000000000000008cL },
  80371. { 0x2fee3ccb74d98575L,0x2d33151fb892607bL,0xf0fdedda3a2a25c9L,
  80372. 0x0c82e2d3124e2527L,0xdab009109bbb329bL,0x402e27ea52798e10L,
  80373. 0xd0009cb2f6d91403L,0xeb90c221ea21c5d4L,0x000000000000010cL } },
  80374. /* 6 << 98 */
  80375. { { 0xbb7c3bbf98814afdL,0xfa3eb481e568d703L,0x1b8f1e0658318259L,
  80376. 0x44c2c4a0d9df9cc1L,0x9906fec621cb9541L,0x4513855b90220398L,
  80377. 0xba8e04c7730f3d49L,0xf6f844eec5039f3dL,0x0000000000000062L },
  80378. { 0xff651f70c32b230cL,0x2bf8f30c4ce8747eL,0x2748f82ddf061f06L,
  80379. 0x9ebe9d519b73f4e2L,0x428724b7b60edd59L,0x88ddeb09c85196ecL,
  80380. 0xe9a64c7a9ed85523L,0x2465d7a62e865fdfL,0x0000000000000099L } },
  80381. /* 7 << 98 */
  80382. { { 0xf8cb5eb1fe3b6e1dL,0x8200ee3a92dea299L,0x8cd62994aae59107L,
  80383. 0x2953835d17e38995L,0xebc59a3c6b24fdafL,0x847a4f3c89e2b86aL,
  80384. 0x68f32c1a505225e5L,0xd9d254f8ac4ce49cL,0x00000000000000e5L },
  80385. { 0x357de1596d60adcdL,0x7ec27f7d8d7d0d59L,0x43af31858acd0224L,
  80386. 0xda2541a71f551347L,0xa13e7bac81ae12cfL,0x4952416780e2588fL,
  80387. 0x8b716928caeb93b5L,0xe32a7fc61642f543L,0x0000000000000146L } },
  80388. /* 8 << 98 */
  80389. { { 0xc52699b9e6a0bf64L,0x3d1f9b860d0e9732L,0xa14ca004e0882130L,
  80390. 0xa69508493d669257L,0x65c264d6d76816d4L,0x594a5d7cba522818L,
  80391. 0x8e44a20532ad6596L,0x74445203093718efL,0x0000000000000189L },
  80392. { 0x63b108c628885dfcL,0x7ddd44ccc31cf288L,0x82b2cad4b5267f9aL,
  80393. 0x5b8a5f7b449e0cc8L,0x24a85f05e8bbb4a4L,0x694cdc1ca0eb93a8L,
  80394. 0x58943b3455741ffeL,0x381df171377ad2a2L,0x00000000000000adL } },
  80395. /* 9 << 98 */
  80396. { { 0x0801f029405ebc29L,0x416cbd9c9e0c3db2L,0xf0fcb43499f8654aL,
  80397. 0x6ab20655c0f9668dL,0xc4c78a18877a85deL,0xdfe8ab138d16c153L,
  80398. 0xdcd5e7c1183c66dcL,0x2f1f7dc246c3b605L,0x0000000000000173L },
  80399. { 0x1cf1a9f24a25993fL,0xa792f66ce5a76bd6L,0x124befa3e06def72L,
  80400. 0x4b2b2ef9d85dc995L,0xf1b45b1645b0c395L,0x7b35ab2fcf5ffc87L,
  80401. 0xb7b346b5d34c4e26L,0xb00503fe39b8fa4eL,0x0000000000000013L } },
  80402. /* 10 << 98 */
  80403. { { 0xb5491319e335e6c2L,0xc892ed96b5f0342cL,0xcc4a8411e412e065L,
  80404. 0x2f8b20e3fd229e7bL,0x9ab982f9843e35f8L,0xf904caa67a728b27L,
  80405. 0x283c27cc8360e327L,0xd3a7f980e08c96a6L,0x0000000000000049L },
  80406. { 0x11de6dcbf507feb0L,0x9033db6c32233dabL,0x39e46408c4586261L,
  80407. 0x0c31a9624bae870bL,0x5f833a79cfa69865L,0xa4e9e08b019af648L,
  80408. 0x928769ade156f8d8L,0x9ce74709c4a99988L,0x0000000000000150L } },
  80409. /* 11 << 98 */
  80410. { { 0xb53d5e9b4a51dfcaL,0x7b60443da3894de5L,0xe25e2bf7b1515643L,
  80411. 0x3486b05885451eeeL,0x2c0827a4d806fefcL,0x6cec283cdbe198d0L,
  80412. 0x589f669bf950d73cL,0x2988117f1a6cbf5dL,0x000000000000015eL },
  80413. { 0x6f8031cd9cf3edd9L,0xf0ec99d2e35d3239L,0x06284ed6d954a869L,
  80414. 0xdb1fba06265e04bbL,0x94f3d6a2d08e378eL,0x5a060f9e778b4464L,
  80415. 0xbd9c9b10152f5a69L,0x7045807405281905L,0x000000000000004eL } },
  80416. /* 12 << 98 */
  80417. { { 0x13996f30e402d747L,0x2524a83bebc31a51L,0xa41699b795d7ebc0L,
  80418. 0x602112c7ad867499L,0xbf81b788d43b5a3eL,0xf3cd28581c736ceaL,
  80419. 0x01a6df580ff424ddL,0x6e527daa95500baaL,0x0000000000000171L },
  80420. { 0x1d966ecbd1b77ff2L,0x2980d1c923985bd7L,0x20a275a635732ba6L,
  80421. 0xa1b81f99430369d0L,0x6052b0183c0a4d36L,0xb4fa4d6c8a790b12L,
  80422. 0xf4ee3079353165bcL,0x79ef46797ed670deL,0x000000000000002dL } },
  80423. /* 13 << 98 */
  80424. { { 0x7ace245a07c2e7e9L,0x64cab9a80fd5b38cL,0x6a04658d9c5cd391L,
  80425. 0xc6e7b879e6b8f8d5L,0xbc208a42349b740dL,0x67f77d263e4deb3aL,
  80426. 0x47b6aeca8c7f3b39L,0x74b9557530083c67L,0x00000000000000d4L },
  80427. { 0x780d1c78d729d124L,0xaa4b4b8bf3bd1ac3L,0xcb0e1707d5afa9bdL,
  80428. 0x336ea478e41831fcL,0xb34289ae0e1e4c73L,0x3533cae21e38d267L,
  80429. 0x50b48d18bd7e62d2L,0x419bc9e607476b8eL,0x0000000000000006L } },
  80430. /* 14 << 98 */
  80431. { { 0x443c1b80fa605db6L,0x57287045107c6a8cL,0xe9fd39204bfa9bb8L,
  80432. 0xecb90ec960291f2cL,0x78b1fc15087ea126L,0x3caa818986592da6L,
  80433. 0x3a2abd00dd8c6d5aL,0x885c9499a771ec5bL,0x00000000000000a3L },
  80434. { 0x15c5483b4ae49580L,0x66b59335ec88a215L,0x5486fe34207948b2L,
  80435. 0x1a41ac9453866679L,0x9f568c63de3497c3L,0x6b2cc6b5ee1a320bL,
  80436. 0xb2e2cc04d12d68ddL,0x3bcd8d271b2a518cL,0x00000000000000ddL } },
  80437. /* 15 << 98 */
  80438. { { 0xcc3f7489019ade2bL,0xefb874571a7402efL,0x073176ddb31586dbL,
  80439. 0x062ea41b73784230L,0x688de8033a8fa379L,0xe281a7a7a2e28e00L,
  80440. 0xa232a142a323d618L,0xd84cb9002792d666L,0x0000000000000143L },
  80441. { 0x2f1e3f96de5d6ab9L,0x9fad76a0b1a97255L,0x0db69c89649a5f4bL,
  80442. 0x3a997973b899710fL,0x75ec0561af8157c2L,0x62753eabd270655cL,
  80443. 0x497669a80b46d35bL,0xcffb44c44b926857L,0x0000000000000084L } },
  80444. /* 16 << 98 */
  80445. { { 0x84b4e6f6783099afL,0xa94ca2294dc772b8L,0xcb768aa65ea29d0bL,
  80446. 0xd47361170fcb316cL,0xc411b7b79775774cL,0x410c974c96ac3f48L,
  80447. 0x1663c40aad24a12aL,0x87f1508da2a503bdL,0x0000000000000161L },
  80448. { 0xecd265ced518bbbaL,0x8d77018ddcc67981L,0x1e9c19223ed1a18aL,
  80449. 0x5484ed8427440d05L,0xd319640942d659d6L,0x82ce3a7181354397L,
  80450. 0xd097534de7d7dd79L,0xda9d11cf084658f4L,0x000000000000006eL } },
  80451. /* 17 << 98 */
  80452. { { 0x2a6ad43f50e3eb59L,0x735dd00ebc32b62aL,0x317f6f679e89b620L,
  80453. 0x7b9e260c36e98778L,0xdd338b8e168d53a4L,0x83c196436f9a8038L,
  80454. 0xff1ec28cb607e41aL,0x2d7cc7618f05f0a6L,0x000000000000005dL },
  80455. { 0x4276274d347c52ecL,0xbaff740b14ce5d7eL,0xb47b6a4167d528d1L,
  80456. 0xd0c678f7962850ccL,0x4891dea22b049133L,0x1786e620ada076ecL,
  80457. 0x09451905486b08f6L,0x948834d92bbf984eL,0x00000000000000a8L } },
  80458. /* 18 << 98 */
  80459. { { 0x92cfc98dea9c994bL,0xcfc7b48217371932L,0x820a2d553180e799L,
  80460. 0x0a164a5a5b0a82c4L,0x45ddc7fd7a87b97aL,0x582e845754b2116cL,
  80461. 0x371ef68d8f9eb2cfL,0x127d572a03067708L,0x0000000000000069L },
  80462. { 0xde83da9cc02d06c8L,0xc262d58529c5e4bcL,0x32c73d8f44046239L,
  80463. 0x2bf12411bebd50efL,0x7a2729e160af2df6L,0xaef5ebfcc859d25dL,
  80464. 0x05efd7c034c0edc8L,0x89adc752185901c0L,0x000000000000019cL } },
  80465. /* 19 << 98 */
  80466. { { 0x485e2623be1f51beL,0x143ebff4f8173134L,0xa688b45a819e5154L,
  80467. 0x67fe58f8eff4fa2fL,0x449394c9d4ce70a0L,0xc37b8a8d12dd3462L,
  80468. 0x2a10cdc1217745f0L,0xd6435c4c17a00c1bL,0x000000000000015eL },
  80469. { 0x3222b4a2ce699e69L,0x9473d565ecbef61eL,0xa183e92e8db063eaL,
  80470. 0x2f2df05d20ff011eL,0xd201a960916ed069L,0x6af80e44c72fff72L,
  80471. 0x994817c219a2150aL,0x63e8bea770fd901bL,0x00000000000001b2L } },
  80472. /* 20 << 98 */
  80473. { { 0x9886a22962c16459L,0x0e0236afe5aa41c7L,0x468d4c3a61fef10eL,
  80474. 0x8c3171ad3db4d163L,0xea4180801022bf50L,0x29c61bfddd95500dL,
  80475. 0x79073998fc1086d4L,0x18e62735d880bed1L,0x000000000000008dL },
  80476. { 0x3772a3a6bab5ed67L,0x59aeaa70c4a82be5L,0xdefd15693fa10eaaL,
  80477. 0x60cf6bbd3d7a410fL,0x9c3ce822061382edL,0x4b45af6448a0b43dL,
  80478. 0x4c7b5a07752c5323L,0x638f2663cfd710f2L,0x00000000000000b9L } },
  80479. /* 21 << 98 */
  80480. { { 0xee1e449ab498ff47L,0xbe4cfc2e82915614L,0x45947d849510e9cdL,
  80481. 0xd413618b021fadf7L,0x896a62bc9cdecbe1L,0xf4113eb9627f1028L,
  80482. 0x5dd6e91605aaea6bL,0xa52dee6d9a1ac809L,0x00000000000001a4L },
  80483. { 0xdf07521a7863cc22L,0x5bdf617356d0ea3bL,0xec462a8693dd110eL,
  80484. 0x4a53f3c18d68aa25L,0x45919920a7d4b28dL,0x2d2d42abfbc5e401L,
  80485. 0x2158573907fa46d3L,0xd5715aa9b937900dL,0x000000000000017dL } },
  80486. /* 22 << 98 */
  80487. { { 0x759c736628c6b666L,0x68d5cbc1f38bb6acL,0xa6acf7fb07508ff3L,
  80488. 0xdb68b1c90d31ee2bL,0xfc8f402a071bbf2dL,0xebed7bdc838e87a0L,
  80489. 0x3441693f9465d8b3L,0x6732878d1dcb390fL,0x0000000000000129L },
  80490. { 0x358cd92b170795c5L,0xab88a0a20a185fe1L,0x9901aeb8c4cc8c02L,
  80491. 0x4b763c08e85250e9L,0x29f2c8154625a096L,0x153b9ed3b3124358L,
  80492. 0xb8af8770a4d48d39L,0x8e3217113164955dL,0x00000000000000a0L } },
  80493. /* 23 << 98 */
  80494. { { 0xccdfacd34cddc5baL,0xa06e3fe25047a9f8L,0x81206e0e9d8c2652L,
  80495. 0x75167c3e88419d67L,0x3c0442de1db10edcL,0x019f18ac0d0d486aL,
  80496. 0x56c7baeb64efbe20L,0xc7ac08b0f7c220bfL,0x0000000000000062L },
  80497. { 0x07ea8fcd9f040b6eL,0xf02de9fda6b37d8cL,0x93fd1121da55f26fL,
  80498. 0xd0393a45090ff3e0L,0xf492651ae4b87e78L,0x4bc0e5b5eef1cbf2L,
  80499. 0x6f560378d51bb3b7L,0xf471b347c5efaa96L,0x0000000000000175L } },
  80500. /* 24 << 98 */
  80501. { { 0xb6d0eeb7510be54eL,0xed352173060b7322L,0x0f581a2183364ea6L,
  80502. 0x78ef831ef59ec71bL,0x09a472c9a055e4b0L,0x0a529bcb7d2404dcL,
  80503. 0x45f10074b461331fL,0xf80627f369a5a576L,0x000000000000006dL },
  80504. { 0x12cf73e37362082aL,0x7cb89bc91d6278a0L,0x2b0c5312b9f399d8L,
  80505. 0x4403d4fb21e7ef6cL,0x34dd11819b453f15L,0xa38c5e981ae02a19L,
  80506. 0xa1ed1aaddce1792fL,0xab8261dba4d71c9fL,0x0000000000000036L } },
  80507. /* 25 << 98 */
  80508. { { 0xfad65c13dac2b992L,0x762f983d5304c00cL,0x4c7b49b7d2da32e3L,
  80509. 0x4c4122a83bf0d5adL,0xe3afec2564f9af81L,0x933f38f305217cbaL,
  80510. 0xb213496e96d7241bL,0x469b9aad37ce2c05L,0x00000000000001b7L },
  80511. { 0xd105c543c1166f98L,0xff7e04a6a913acbeL,0xf07ebe34252a9c03L,
  80512. 0xcc7a8b753e7df88dL,0xf14f0a16e44bdc1fL,0x684fefd718c1bb4eL,
  80513. 0x498ab8c0925b286aL,0x598d3f5808702939L,0x000000000000002fL } },
  80514. /* 26 << 98 */
  80515. { { 0x06c90f137ba2cdc1L,0xb427ace8f70aa58dL,0x33fed4366970546cL,
  80516. 0xaf8ae02b0d5eafa5L,0x74b6f45d390ea792L,0x121708e487c81e88L,
  80517. 0x323a3672d186ce90L,0x1a66c0a48b4e7832L,0x000000000000006eL },
  80518. { 0x331064266beef707L,0x722fb7844f59525fL,0xa73cb5be473798d4L,
  80519. 0x2bebfc77f44d5281L,0xf397282673030f11L,0x89c0d9dad93404e2L,
  80520. 0x4e76c1852e5aa5fcL,0xe95f8dc3275485ffL,0x00000000000000d2L } },
  80521. /* 27 << 98 */
  80522. { { 0xa925539c3ede62d0L,0x195ef41b574551f7L,0x7049c9c1f270aea1L,
  80523. 0x746d0dbf486bb267L,0x3cfb69b104d8eafaL,0xd0a86d9e8cb4df64L,
  80524. 0x8abf12841dbb9b19L,0xe7d381d1d3b0e425L,0x00000000000001f1L },
  80525. { 0xa469a46539ce8ef0L,0x63cfb5adf537b1feL,0x2f84fd9dfb96b734L,
  80526. 0x3ddae07e2ef3ff5eL,0x8be74870350b4402L,0x0e014d43098f11eaL,
  80527. 0x2862b3b50f0784b0L,0x097303411327f2c9L,0x0000000000000102L } },
  80528. /* 28 << 98 */
  80529. { { 0xc9eed4f2599a7682L,0xf1ade4e4a4f4f82aL,0x7479dc8b6ab6d04eL,
  80530. 0x2da874dc271e42cfL,0xc700ca719265e2bbL,0xaf88ba91255fdcc6L,
  80531. 0xf68c29705705e0ddL,0x6ee1135b229fdc50L,0x00000000000000fbL },
  80532. { 0xf4bd32a2a1a31961L,0x4e67eccfc4785c20L,0x8c0cd85d17f740e3L,
  80533. 0xf6930e3ad8c21194L,0x2c9d9c7376b4c919L,0xd32de819e69ea290L,
  80534. 0xc1028dd33724a066L,0xfd3f06ee7538d3adL,0x0000000000000054L } },
  80535. /* 29 << 98 */
  80536. { { 0x616e5cd45bf0af55L,0x6b79cc4dcd382cd3L,0x661574af66107910L,
  80537. 0xf7ad62be9aea6fa1L,0x6a47e48e8c0c9cdfL,0xaf5aca071e6d464dL,
  80538. 0xf180a69f8925c182L,0x282864092b7ca708L,0x00000000000000acL },
  80539. { 0xb6bdf74fa48967ecL,0x95d640c0484ff456L,0x942032b4db3ef654L,
  80540. 0xd12caff283c4f9e7L,0x946903ca1b8fa837L,0x1cd9b1463e8e7338L,
  80541. 0x7376fa9dd4c41057L,0x50be41a35e26c299L,0x00000000000000f3L } },
  80542. /* 30 << 98 */
  80543. { { 0x152c38fcd581471eL,0x05b8e79160b4b12aL,0x5ff32ad285168011L,
  80544. 0x43ff030dbf64b3b6L,0xcb660ffbb119ea1dL,0x0d551ab6abe7c1cdL,
  80545. 0x7c012e803b76feb4L,0x6cafd8b9ffd0b552L,0x000000000000005bL },
  80546. { 0xbc486f8d855d1dfcL,0x8a6440ef381a9c23L,0x5e97a549d9d1b832L,
  80547. 0x351cc9264d4208d9L,0x2c905f05f72a4413L,0x0feb2643c61c13c8L,
  80548. 0xbbebfa77d50dbd43L,0x3bacdd79c7cfee04L,0x0000000000000141L } },
  80549. /* 31 << 98 */
  80550. { { 0xa489600cd04efabbL,0xb1913b347679d8faL,0x071f212fbbe3b326L,
  80551. 0xa78728838b2e519dL,0xde545995b4e503c1L,0x5e5c3df6f58f6c94L,
  80552. 0x8ab21347bd887cc7L,0x894be454e5529c65L,0x00000000000001d1L },
  80553. { 0x5628656d77eb1957L,0xad52a8d96df565d1L,0xa83f387c8e0b8311L,
  80554. 0xbddb40c83f3a1d96L,0x1f91eac2cc121356L,0xff612889d0bb2745L,
  80555. 0xa15437c096e19a86L,0x6ae3410f4efa63fcL,0x000000000000005eL } },
  80556. /* 32 << 98 */
  80557. { { 0xad3570f4d827a280L,0xdb625d88b2f60f8bL,0x81bd93b7ae94d18cL,
  80558. 0xc2fffe8af3ae3394L,0x06b0ec262e4a72b4L,0xf1285a13c7728dc7L,
  80559. 0xd97dee85a4190a48L,0x945e4869d4b0f305L,0x0000000000000023L },
  80560. { 0x44587f935c577abeL,0x256b56424ddd2f17L,0x36e73dff0eab2bc4L,
  80561. 0x6b2b5f3ace0f4471L,0xce1f2f0fa25bae4cL,0xcf10076029866124L,
  80562. 0x0ec9b4d25ea0d400L,0x621b68580adece0cL,0x0000000000000162L } },
  80563. /* 33 << 98 */
  80564. { { 0x33e194dd9a7e3430L,0xe9d5ab561284bb95L,0x9c067ead0e58900aL,
  80565. 0x05355bd3e1af14c3L,0x9a3892ac06815865L,0x5a8c70c331c62938L,
  80566. 0xd8e522e3afee9136L,0x50e266510abe2cc3L,0x00000000000001f9L },
  80567. { 0xd8ab109d2469ed04L,0x90fc703dbdad4fa4L,0x1d0882afda97fdebL,
  80568. 0x60f8b44acdeac89eL,0xc497d8d5af9d0bf4L,0xe30ef07a66044397L,
  80569. 0x614c26190dbb6093L,0x8eebc530ea3adb8fL,0x00000000000000e1L } },
  80570. /* 34 << 98 */
  80571. { { 0xfc84c7d966cf468eL,0xb05444b6a6dd0c36L,0x6ceefdc9cb75ae66L,
  80572. 0xa16407e1fcd19989L,0x0e4d008e3ea55530L,0xe2e44180a8796154L,
  80573. 0x2c96ee812bd73378L,0x84c750f4a6a094e2L,0x0000000000000046L },
  80574. { 0x3ced13152f93d6caL,0xbc1e7b5cb492a410L,0x4e0238df9daeead4L,
  80575. 0x946fe9921e47d1a3L,0x6b3827027ae7ff3fL,0x305d7c604be9a4c8L,
  80576. 0x5b4a7ad35a3421c4L,0x97dd360169cf2602L,0x00000000000001f8L } },
  80577. /* 35 << 98 */
  80578. { { 0xc7c08962ae59aa33L,0x65e33dad2f839e55L,0x751e8014c7cf5accL,
  80579. 0xdce80c8b384a7c9bL,0x4ed68aa2155876dfL,0x68f1fd1e6a12109fL,
  80580. 0xe478bfc5df171beeL,0x25a6d4efa0d40af1L,0x0000000000000127L },
  80581. { 0x3d08cf5216e520a5L,0x0e0c219aec295ca3L,0x4a11607f58c573d4L,
  80582. 0x2e94a059027c52aaL,0x5f86333bf001ea33L,0x1d5390fe8d19323aL,
  80583. 0x530581f92030a6c7L,0x13436ed1984258a6L,0x00000000000001c0L } },
  80584. /* 36 << 98 */
  80585. { { 0x1ff09f33cae6514fL,0x191fe11b261fb47dL,0x97e72c53bdf0b228L,
  80586. 0xf81cdedb8caad4a2L,0xaa5f28367542e922L,0x090df178d68e225fL,
  80587. 0x9adfb6202c8431d8L,0xb8f9bea70f010ff8L,0x000000000000016bL },
  80588. { 0x78fc8973f422e828L,0x8496b0b5d149e76cL,0xb1f0911a565c8f4aL,
  80589. 0xe580f18ca79f3220L,0x8d3b71356fe124baL,0x8911601d673928b4L,
  80590. 0x193c9fa9e5209d66L,0x988483f1bea837ffL,0x00000000000000f3L } },
  80591. /* 37 << 98 */
  80592. { { 0x2c6f263b3fdaa30bL,0xc469da4af8289eebL,0x126c0a3e4f2905c9L,
  80593. 0xac4d69276852183bL,0x9f76c56965b948b8L,0xdd3297e86cc30f05L,
  80594. 0x83cca68afee0c55aL,0x7062249b13d1eb8fL,0x00000000000001ffL },
  80595. { 0x66cca2f1488bb713L,0xe4fe61c013ce959eL,0x10ef025c5bd7aee9L,
  80596. 0x651aede32c4e3aa8L,0xe233186271ba632fL,0x91887184db1340c5L,
  80597. 0x5cae47ac291e4167L,0xbd1dc2ac61e04921L,0x0000000000000062L } },
  80598. /* 38 << 98 */
  80599. { { 0x9365bd5f6e280862L,0x3eb1370af4e5f679L,0xad83574dac728e89L,
  80600. 0x6011dce778ccbe43L,0x51010f61d20a552bL,0x614eaf6c6c29a90eL,
  80601. 0xb1d5f33caea2fcb2L,0xa001efcb12511f6aL,0x0000000000000114L },
  80602. { 0x769ae8486be363efL,0xed582b28c1195a6dL,0xab11de93a3d3cde9L,
  80603. 0x6e467f11acd39daeL,0x0439b529ba6cd7bbL,0x71019d73fc6195a0L,
  80604. 0x9693ad57c81639e0L,0x31a722a10ed42ec9L,0x0000000000000068L } },
  80605. /* 39 << 98 */
  80606. { { 0x0c5c60509cd7678cL,0xac3eeaa649215514L,0x1d124f7ffad388f4L,
  80607. 0x1aed3c0e6d9c49aaL,0x7cb12edb54a3c297L,0x7f1e0889f2432aefL,
  80608. 0x62b2bae3fd1795fcL,0x48e20ba944caa18aL,0x00000000000000cdL },
  80609. { 0xb1a6ca263b7036a9L,0xe53c3a75af94680fL,0x878870b5352a936eL,
  80610. 0xaf3c86ea55fc352bL,0x60a91eabd9b66071L,0xa2c246a297c722a4L,
  80611. 0xe1f2588cdfe226b7L,0xd1671ac1fc2267c2L,0x0000000000000079L } },
  80612. /* 40 << 98 */
  80613. { { 0xf9bfe015460032b6L,0x6410756336a6c19aL,0xb0712a3510d65254L,
  80614. 0x3c97ae7d2a9946dfL,0x28e961edbf77c7f9L,0xf937f17cbc8537a9L,
  80615. 0xed718f65057512d9L,0x7ee133ff8bc561a9L,0x000000000000003cL },
  80616. { 0x675476a99e3441e0L,0xf8abe77c9eeb9df0L,0x0ce788421a10b4ccL,
  80617. 0xa6f28b21793079e4L,0x01c63657267d9dcdL,0x2de2e74e702b40e8L,
  80618. 0x28620c5a25617600L,0x7505685e5d4d9809L,0x000000000000008eL } },
  80619. /* 41 << 98 */
  80620. { { 0xc77c81dfb49ef4f8L,0xcc7a1f775aa25efaL,0xdc450c19b138a6f6L,
  80621. 0x05d2d28b8a09e2e6L,0x6c631d9e49886053L,0x0fb35d84bb82d381L,
  80622. 0xd8a0a353fa26cdc8L,0x8b49879a9a4448dbL,0x000000000000001aL },
  80623. { 0x6d91d316fb8aa58cL,0x933d09813affa02bL,0x6f68fd557c5a5a04L,
  80624. 0xcad6f83f21ede5f6L,0x364829e50302650aL,0xabf09253bc326cd4L,
  80625. 0xfc23db4b75573e98L,0xe6ccc3f67891f2f2L,0x00000000000000adL } },
  80626. /* 42 << 98 */
  80627. { { 0xeded14459eb444e9L,0xd1605d6d257afeb5L,0xd9c649f54a25d9c4L,
  80628. 0x8f148eae369dfcd0L,0x72c632dc79197e8eL,0x55a15a077cdbf577L,
  80629. 0xdd50e58248c28164L,0xd9e03b72971e416fL,0x00000000000000d2L },
  80630. { 0x63443c908a063207L,0xceb2fadf26fe1696L,0xfe06b1df27b56c4cL,
  80631. 0x75978d3adc74026aL,0xdd313d3424c9b16eL,0xd8d800e0eacc75c4L,
  80632. 0xdc863b4b595b73daL,0x638f474f0a6c15f6L,0x00000000000001b4L } },
  80633. /* 43 << 98 */
  80634. { { 0x4e30388a3fa31d74L,0xcedb2dfc4960cae1L,0x744a7745f4f45ce8L,
  80635. 0xd742c0017186bc80L,0xcafad4ad164ca760L,0x396ee3d486f8d7eeL,
  80636. 0x1084ed389b54c6bcL,0x289c4f8e0f7a5b68L,0x00000000000000b2L },
  80637. { 0xf6b9e59783ea21b9L,0x3135f10773dd812fL,0xe1012d9a9ee85a75L,
  80638. 0xc9a47983ba06a432L,0xb237d66881581dfcL,0x1b0225611e35da83L,
  80639. 0x837cc40f94261e64L,0x11f933f5fb3344f9L,0x0000000000000161L } },
  80640. /* 44 << 98 */
  80641. { { 0x5cfc2f27690b6bf1L,0xdc6e6043f33ba977L,0x39dc991e82d11ba7L,
  80642. 0xfb80c94e2922c70dL,0x393dcc3ba5cdeaffL,0xd44d9c7ca687f07dL,
  80643. 0xbd25ebab33bc5437L,0x9a389625d71c4392L,0x00000000000001e3L },
  80644. { 0x0ac41a2f228f0787L,0xabb96a60cde860b7L,0x22cd3ce604c04d14L,
  80645. 0x157669c6f65e7b0dL,0x0ef03f6167abced9L,0x9d2cd63a814717ccL,
  80646. 0x3991c34977387f7aL,0x3c1b38a58a80a7f4L,0x0000000000000033L } },
  80647. /* 45 << 98 */
  80648. { { 0x051a1d25a03c152fL,0xde506b47f51d02c1L,0x6a0458d855e35f7cL,
  80649. 0x9df1cf180c96a540L,0xb658cf9b47a847bdL,0xdb2efe9ce8d42a41L,
  80650. 0x8e2290741219314bL,0xf8fbac85a1cd9697L,0x0000000000000143L },
  80651. { 0xfdf09168226d0a89L,0xb58b9906a82a9965L,0x88fdad1ff0b79bc5L,
  80652. 0x573b2da29ccc3019L,0x4c2a220d8173e9ccL,0x060bc07731f682e6L,
  80653. 0xdf135af96e7e3dfaL,0x78c191ca507811ffL,0x000000000000004bL } },
  80654. /* 46 << 98 */
  80655. { { 0x75627d858584bbbfL,0xbe77f77ec5670f07L,0x86ed433624e2e6cfL,
  80656. 0xe9f725fc83e2e6e6L,0x14b4015ff8a3131bL,0xb1211805c61a5f71L,
  80657. 0x024152443d5b62ceL,0x1aa1a84fcf15a0dfL,0x0000000000000171L },
  80658. { 0x36f8293435d927f8L,0x22e3300715513cadL,0xc5e42e5783d8b14dL,
  80659. 0x33e90ea35251a8c2L,0x64c1eb44d96f4b8fL,0x52f2ec240f126f58L,
  80660. 0xef84f773b2a8cfecL,0x34949d2ed9d11c70L,0x00000000000001eeL } },
  80661. /* 47 << 98 */
  80662. { { 0x7ec007f751d62408L,0xe1669c21119dc50aL,0x8260e2ecf101ad5bL,
  80663. 0x6a6062580c5eae7eL,0x221708bd91ce06f0L,0xdb91beab76d79e37L,
  80664. 0xbdfb4ec33adee1b3L,0x61d216d1feb7511dL,0x000000000000005dL },
  80665. { 0xf77d7881483fb649L,0xf16f36a8d54d0788L,0xece1796dbda356aeL,
  80666. 0x79f49ef894859937L,0xc4397e207982f311L,0xc98b6e076ce8f498L,
  80667. 0x6c9e0cfeb80ac218L,0x485d36a17b24e50cL,0x000000000000017aL } },
  80668. /* 48 << 98 */
  80669. { { 0x95f7fb41da8576c3L,0x42901717d151bb68L,0x7a0277d38777c80cL,
  80670. 0x6827807b5a429477L,0xb98e1de8941ef5ecL,0xadd50957575465fdL,
  80671. 0xd436cda505f5b417L,0x6d30bf0bc232aaaaL,0x000000000000012dL },
  80672. { 0xd4b799a488873a5dL,0x2200c6d4d60dc1d3L,0xb784a12b75c91d8fL,
  80673. 0x6c8aa91f09fed40cL,0x48db563f5720cce1L,0xbb0de5c0f50bddc1L,
  80674. 0x4aa1fb064c4bc117L,0x905d18a31cb0da02L,0x00000000000000e6L } },
  80675. /* 49 << 98 */
  80676. { { 0x05ae51c09ef391c0L,0x6da01b3ebbec8ce9L,0x352303693ed0bf8bL,
  80677. 0xdde6b42cbd380ef8L,0x306e895ec96ab6ceL,0xcf75a84635797d57L,
  80678. 0xed402b30cc298916L,0x66ddc1ffcf95180aL,0x000000000000013eL },
  80679. { 0xc472f66dfeb4d388L,0x446f756911b1a667L,0x4ebb535be578315dL,
  80680. 0x54f8ef708b039744L,0xf6b95976b877b79aL,0xcc4283c1f5430e02L,
  80681. 0x393ea2f9e1778b25L,0x26d55bfec9f45a41L,0x00000000000000feL } },
  80682. /* 50 << 98 */
  80683. { { 0x5617c67b09834aaaL,0x1520f46508ecedacL,0xb331bf9d63dc2045L,
  80684. 0x1633f5f6de5be628L,0x959dffbb65391a40L,0x53450d3241b0bbc4L,
  80685. 0xaa6442cbba6d681bL,0x7e6d47c0f07b5808L,0x0000000000000095L },
  80686. { 0x78def4619649ca24L,0x970eeaad9fd68eb9L,0x2f170dfd1f670a41L,
  80687. 0x8c28d6fdfad9c708L,0x46892517acdef254L,0x0ca7991fb22ff7abL,
  80688. 0x42ef276428c61efaL,0x1b1b24d9879002b5L,0x00000000000000e9L } },
  80689. /* 51 << 98 */
  80690. { { 0xf6465253c4c46cabL,0xcc3593d92fc27318L,0xd17ca4d778519ac0L,
  80691. 0xb34dfb3947d5bfbcL,0x4fe4682e89d6216dL,0xdbe11575a53af405L,
  80692. 0xb622af037d96d9d0L,0x27441f0161f9b532L,0x00000000000001c3L },
  80693. { 0xef5e7b08d1742a09L,0x77b47c7bf740e0bcL,0xbbb5e859b3c2b8fbL,
  80694. 0x676b7939cb40d08bL,0xb98d654932da9e1aL,0x42546a9dceb3d8d7L,
  80695. 0x0f1e38ea5687f118L,0x357ea1d50f472bbaL,0x0000000000000101L } },
  80696. /* 52 << 98 */
  80697. { { 0x85a59a49b81f2d5fL,0x5ab98b4cd12cafc2L,0x7be9e55c9036f3d4L,
  80698. 0xb6644d14ac17dda1L,0x0d6caf4ba23f330bL,0x960e78ef567899fbL,
  80699. 0xb6ec1c3f4bedf73dL,0xbe7e5caba971c6b3L,0x00000000000001b4L },
  80700. { 0x20cb3a6a66a01413L,0x1fc8c49d71dd7853L,0xc6eea4c1d0f467cdL,
  80701. 0x72adc39ac442dc91L,0x1349ac1b9fd5a2e0L,0xa58d769226814c74L,
  80702. 0xbe23da1602685093L,0x411491b34f2278a1L,0x00000000000001c3L } },
  80703. /* 53 << 98 */
  80704. { { 0x5df613d86eeb2735L,0x9adffc0f3bab3590L,0xa9e579d5fbb0951cL,
  80705. 0xb2f2301d93eb0acaL,0xfd90af4277018d78L,0x5fb3dfa8d26e5801L,
  80706. 0xb5f4a0b58db45b65L,0x5152a2c96bff3350L,0x00000000000001a3L },
  80707. { 0x3c3d0aae3bbe30c4L,0xab6a28c32b64812cL,0x552a8e1fd45d39b8L,
  80708. 0x00f9ad121a9ee27cL,0x0985dcca840dbe6bL,0xa511b246f8a3d008L,
  80709. 0xbec2ee441ff2d83bL,0x53a67bbe0e46b345L,0x000000000000001fL } },
  80710. /* 54 << 98 */
  80711. { { 0x63e9d7b2f8ccf1c3L,0x158001879260eed6L,0xa687c4759a40eaa7L,
  80712. 0xcead499e587304a0L,0x0ea47fe6fcd6e4a2L,0x1fd51b69b04a24daL,
  80713. 0x5519ae53a83160ecL,0x4f7d9444ab88175dL,0x000000000000009dL },
  80714. { 0xcd73bd2d8fd64c7dL,0x8da0c21e69451d1fL,0xeb66fd3fc0f3a5ffL,
  80715. 0xcb267f27e9499043L,0x407f43f7df79a3d9L,0x000a877adb145264L,
  80716. 0x056c0e2af3952498L,0x6f893940b83e7528L,0x000000000000008dL } },
  80717. /* 55 << 98 */
  80718. { { 0x42495d2779a151e2L,0x040725e19e477378L,0xc4d382f1ef2c6b94L,
  80719. 0xf34dd70c2b5bb0b4L,0x3d2740c94a5150a8L,0x53de504865e4ddbdL,
  80720. 0xb110cd91f58703deL,0x5c3abd4e167ffc8eL,0x00000000000000adL },
  80721. { 0x136129e5607e01a6L,0xed84c7926c809502L,0xf9c736f8a3f3ceccL,
  80722. 0xc43308d14cf83eeeL,0xc8ae4fca644d91efL,0x3b58a62bc25f1045L,
  80723. 0xdddbbba6a80de8c2L,0xb2c329cf2b831b25L,0x000000000000012aL } },
  80724. /* 56 << 98 */
  80725. { { 0x414530555ab463b0L,0x545b0b693248cab2L,0x25ec52d5dd9b920fL,
  80726. 0x73bf68542dcdb1ceL,0x8efb2a6d02bf830cL,0x794ab4165ea6b254L,
  80727. 0xa4422d12df2a60f8L,0x78bd1b524e9d5a0aL,0x0000000000000026L },
  80728. { 0x3f341acbb43f9e41L,0x4a73e42a6991d638L,0x596cfd672d29b6eeL,
  80729. 0xc9184fe2940dd578L,0x283a30954a2883edL,0x0626dd7aa58bc7ceL,
  80730. 0xf2d6c6ef401334f3L,0x55b107493c254bafL,0x000000000000002eL } },
  80731. /* 57 << 98 */
  80732. { { 0x2d9295c1f2bf5edcL,0xf764d4c5cb524dafL,0x2ca917e19800cf00L,
  80733. 0xda3da70db6d553ffL,0x6a14076bcce4eb3bL,0x1bcbf4e8ddd246c7L,
  80734. 0x653ed1fcfc906223L,0xc0ffa99f49e555d1L,0x00000000000000e7L },
  80735. { 0x6e75a577914f520aL,0x043dd7d0d4070fe6L,0x58ddc37ff47638a3L,
  80736. 0x2d28267b70ceddeaL,0xe1c529280b9f91ffL,0xefa6ec2805e983baL,
  80737. 0xdd61a80670d85f35L,0x9226446bcd48aa34L,0x00000000000000d2L } },
  80738. /* 58 << 98 */
  80739. { { 0x00afd4965d8690a8L,0xf86123ff5f81af58L,0x92791fc1d2e32baaL,
  80740. 0xfb0517927d442591L,0x05d935c115baf7c3L,0xaff80ea31ee6a681L,
  80741. 0x4c82f39458a15599L,0x691aa0055165d86cL,0x0000000000000160L },
  80742. { 0x8fc906b0da216432L,0x2553176a31adbbfeL,0x0acd0c27fa180f5dL,
  80743. 0xcc22f6a295ca0db6L,0x2aa225bbd4f8515bL,0xcad879abe8685485L,
  80744. 0xa7889114fb4b2f2dL,0x5e2f58e958175c94L,0x00000000000001dfL } },
  80745. /* 59 << 98 */
  80746. { { 0xa3fff0780481f1e4L,0x2c928413de29a775L,0xdb08b5d3f7168a7dL,
  80747. 0xb2f81d56633213e1L,0x9928e38b33a95654L,0x42d16f450c473c01L,
  80748. 0x0662ab7be4c7ffdcL,0xbea6e39ef5484520L,0x00000000000000b5L },
  80749. { 0x34cd343237cd50f6L,0xb969f3cd85686cceL,0x10558cab3e15b35bL,
  80750. 0x87aa8ec532f13ad4L,0x706b9ee99311191dL,0x38adfcb860ba780fL,
  80751. 0xa1485d172515550eL,0x2de9d6fd18b92a8cL,0x0000000000000052L } },
  80752. /* 60 << 98 */
  80753. { { 0xdcdfedb147c91a15L,0x89c1654de8003763L,0xeef03c09e074525dL,
  80754. 0x1a75460c0b7979d2L,0x58881343fed5ae1fL,0x3fcd3227ddb9340aL,
  80755. 0x1e4db699885bf042L,0x2923f9382340afaeL,0x0000000000000067L },
  80756. { 0x934ef610cce2e800L,0x8db3f34bbfb68efeL,0xd78192d6c8df9008L,
  80757. 0x94929564d3fa0c49L,0x2d0cdbabfb20d848L,0xbe73f64fcd307b38L,
  80758. 0xbdf434f3183096a8L,0x009a7ab97bb336bfL,0x0000000000000096L } },
  80759. /* 61 << 98 */
  80760. { { 0x51482c31c0279b71L,0x5a64d764fa114064L,0x1cea19dc613f02e4L,
  80761. 0x584b4754ad92a890L,0x41d258fefe288772L,0xa46f97e2712b9833L,
  80762. 0x6834b1b47263bd06L,0x2377b6a5e840922fL,0x0000000000000085L },
  80763. { 0x785b453e05243545L,0xf7cef5b951e1376eL,0x0b4baf26bf6985d3L,
  80764. 0x1b19968160b01ea0L,0x8c67d48322d1bd0aL,0x44534e2069d7265dL,
  80765. 0x5c66184f4d1b7631L,0x80173aabb4f2f684L,0x0000000000000139L } },
  80766. /* 62 << 98 */
  80767. { { 0xb2f73e97c2f18c9bL,0xafb9e244bc189020L,0x7940431bb4f03f21L,
  80768. 0xdf6d7a8da1743efeL,0x34b51488b2d1f43fL,0xa4c57f09da0bb60dL,
  80769. 0xca8497729e7a0788L,0xabb13fae3c00114bL,0x00000000000001f3L },
  80770. { 0x82b4d795bc829c42L,0xf9f1dad153a68a72L,0xf4dd335759991d6fL,
  80771. 0x1602f217fff13f30L,0x55af8ec3e9568101L,0x36f1d1f1147a832eL,
  80772. 0x9f1dd9d2408cae6eL,0xe5d03de373b26e6dL,0x0000000000000193L } },
  80773. /* 63 << 98 */
  80774. { { 0xf3dd72a10f87eb25L,0x8ef640f8237745deL,0x49c04801fc90b8afL,
  80775. 0x836914f5bc493335L,0x3fc6bc7c66e73cf5L,0xbec3517371e8f965L,
  80776. 0xec11f247478c734eL,0x1806c5d2f53ad410L,0x0000000000000058L },
  80777. { 0x24f77c0dee27650aL,0xf19cd730e89f447aL,0x2d4d5ff8af16422aL,
  80778. 0x4a5a3cf9b38edb7dL,0x4476596d9a775f5dL,0x2fda6cb49e5716c4L,
  80779. 0xe4926cdd84e5e040L,0x54c354ba388b853dL,0x00000000000000e9L } },
  80780. /* 64 << 98 */
  80781. { { 0x5d3f00ecbecff63cL,0x280fc963671a2835L,0x27cf9990849ad2f5L,
  80782. 0xa1cfa523b27c7f2dL,0x9d9a6870b8278b74L,0xd6176cdf9ee793b2L,
  80783. 0x9a98521ab31e9501L,0x4422e43e7436e438L,0x00000000000000d9L },
  80784. { 0xda4f7464daa8dc76L,0xa5b83150919e1298L,0x00d3948d81c82c13L,
  80785. 0x95def32463724cdeL,0x9b57597b7d5a1038L,0x42d9d64e57432b3aL,
  80786. 0x9807d998936e411cL,0xe68eefacf1e57507L,0x000000000000003eL } },
  80787. /* 0 << 105 */
  80788. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  80789. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  80790. /* 1 << 105 */
  80791. { { 0x45d90cf8876b33acL,0xe53e1a993ed58f0bL,0xd5d181f549d916b3L,
  80792. 0x1b1ef0402ec09be2L,0xe5787176b2113b57L,0x11d02e708073044eL,
  80793. 0x9d1c19e7a2ae38ddL,0x2662d4943634f6faL,0x0000000000000130L },
  80794. { 0x454c8a736bd6208eL,0xd2447cefae37911aL,0x56ac592e69b8c5aeL,
  80795. 0xe7f564839b615bfcL,0xfac066e1bbe7fe62L,0xb2ac3ee1b7777b32L,
  80796. 0x55f8653315114adaL,0x15cba83e46497cc9L,0x00000000000001efL } },
  80797. /* 2 << 105 */
  80798. { { 0xc06a64ce981fd289L,0xb8dc2603d11fcd02L,0xea27a922770d2eb2L,
  80799. 0x83c64076da8f19edL,0x9f6d1b650ae6a311L,0x977277bf73fa8721L,
  80800. 0x7115ef98cc0292d8L,0x93237ae7d2e0c67eL,0x0000000000000069L },
  80801. { 0x83481b595c151734L,0xba00bd740ac1576eL,0x48f33272f178d4f2L,
  80802. 0xe09fde3816492d95L,0x876124dbb9dfce3fL,0x27e7b1e503fe728fL,
  80803. 0x79347e4604f98f99L,0x63ec8c5d48dcf0eeL,0x0000000000000149L } },
  80804. /* 3 << 105 */
  80805. { { 0x82a80d88b23b9243L,0x1a102766d91555efL,0xdf3cec50f069fa76L,
  80806. 0xf6c125294319ca89L,0x9a11b37a0330eea5L,0xa5a659a902c12564L,
  80807. 0x3e01e4311612fa73L,0x85580747e35674b7L,0x00000000000001daL },
  80808. { 0xfa500e83b5a20999L,0xb539909dcc336ec6L,0x76aa969e7ae2ac1eL,
  80809. 0x2144206ce0a9712fL,0x095fec7e3ec387d1L,0x5988797252c7840fL,
  80810. 0xb61a7c61262f5f93L,0x75bc25e7a76b83b5L,0x000000000000016aL } },
  80811. /* 4 << 105 */
  80812. { { 0x327d64092ccbb0daL,0xc5750f6adc39da33L,0x8b9eebbf7383f8f4L,
  80813. 0x9ebb5a8e256c4edfL,0x7513f7c0a917a2aaL,0x31eb5a3dc4824bd9L,
  80814. 0x2d6a4cfc2ed4a7f4L,0x9ee354aae0c9c30fL,0x0000000000000179L },
  80815. { 0x20eb09c9cbf2d15bL,0x4574d31c2547c112L,0x76543e3dd38e79adL,
  80816. 0x1d35b8874edc05c4L,0x3ac58dc7aea4de85L,0x9aa6fa0aaf5715e1L,
  80817. 0x8869704eb163a66fL,0xc685ea7ad14001caL,0x0000000000000083L } },
  80818. /* 5 << 105 */
  80819. { { 0x5b6711a5052b505aL,0x3b32ee5adbb104daL,0x3a59883e14432cfaL,
  80820. 0x57b6d6bc88b7c74aL,0x363dc2628d5582a5L,0xbe6d3bf58928103eL,
  80821. 0xfffbeb0963b06525L,0x29acbf58fac9b5ecL,0x0000000000000002L },
  80822. { 0x78696df41ce15975L,0xa9732060c78337eaL,0x288fe1958aafa892L,
  80823. 0x5de9cd9132a7be5aL,0x2f1baccdbec8ed8fL,0x88131f8db1f0d997L,
  80824. 0x8d15c4049d123bf3L,0xf460d41630a1544aL,0x0000000000000029L } },
  80825. /* 6 << 105 */
  80826. { { 0x95524dcea3342331L,0x2ddf9b2f0e413b88L,0x342e0ce86a03fbe1L,
  80827. 0x8e2dec3eeaa3999dL,0x3ccf191b5ca80ad0L,0xf93ebc99804b9c29L,
  80828. 0x97d83573f2282b48L,0x51f33e7359ecb135L,0x000000000000004eL },
  80829. { 0x789b5cfc7d53f035L,0x5ff3ae9a209b881cL,0x09af30bd80dcd35bL,
  80830. 0x850cd0aa799b2059L,0xb660d065e2642327L,0x9d9424520f5134b0L,
  80831. 0x1fd8897381ab299bL,0xe126dbe9b6a2ba25L,0x000000000000013cL } },
  80832. /* 7 << 105 */
  80833. { { 0xcc6292a08a547e2dL,0x9a76a8e180565c69L,0xda4d2475fb616140L,
  80834. 0xc9cd45238b5a04c3L,0x8313b6c0554879adL,0x9a103a9522038226L,
  80835. 0x4e5db49dd06a57e5L,0xfc49d649d1f333efL,0x0000000000000063L },
  80836. { 0x529f97e82f30ea09L,0x06692dc9416e0148L,0x534c9f6ef6dcca0bL,
  80837. 0x26f9f8409d575d04L,0x93f66c9743c153d2L,0x776b12bd9d1b22cdL,
  80838. 0xa44528e4b4000757L,0x738ecfb9881f46c4L,0x00000000000000e8L } },
  80839. /* 8 << 105 */
  80840. { { 0xbee094232a7f01fcL,0x75176a16998af9a2L,0x13273068fbe89a7aL,
  80841. 0x3e74aa6f13c42b6aL,0x7da022be579c61b0L,0xaa759216ff23e10aL,
  80842. 0xcf7f7d1afd852641L,0x0e9aaf1c1090b6c7L,0x00000000000000dbL },
  80843. { 0x483b1f8c6d9ebcadL,0x25f3aadc987b2c42L,0x83a7bd03f70950d0L,
  80844. 0x67aefd6a14f250eeL,0x6e90c4f990070d75L,0xb9d65432035fdd1eL,
  80845. 0x190281bb2ab23f7eL,0x36008cb1b69015daL,0x0000000000000137L } },
  80846. /* 9 << 105 */
  80847. { { 0xca31701dc0f403e8L,0xce036ea893374a84L,0xf15352701872a713L,
  80848. 0x346ccdb0e92111e7L,0xd0427b8ab3ed8f01L,0xa165cec95fea17ceL,
  80849. 0xee36680a6bff1155L,0x0db2ff965a8d9ad0L,0x000000000000004bL },
  80850. { 0x8f2638947cf7d4fdL,0xb1a229c024f483f3L,0x141a47114139f5c5L,
  80851. 0x4449f744e2a1f981L,0x1450ba3101c7860aL,0x5b968d93857f6d90L,
  80852. 0x63ac13fa1646bbaaL,0xb43e9791d771bff6L,0x0000000000000110L } },
  80853. /* 10 << 105 */
  80854. { { 0x105147eaa3ef560bL,0x4a60db0bdc1823adL,0xd8e3108b48c7d8d2L,
  80855. 0x562883f0a2aa9b3aL,0x59413cccf07a672cL,0x8d5b9b0ad952cc65L,
  80856. 0xc63448bef4ec1122L,0x82790e4d35ea3ffcL,0x000000000000003bL },
  80857. { 0xb50f1a1a88531051L,0x5529d01f18f9cd8cL,0x57f285f266427c66L,
  80858. 0xc98f9e0abe17e614L,0xa773fa6e3bd58a1cL,0x8598347086cfbc69L,
  80859. 0x54cba22bdac04edeL,0x847b94b086e3311eL,0x000000000000015bL } },
  80860. /* 11 << 105 */
  80861. { { 0x1d61cce6ad9b2624L,0xc78885f8427ab78dL,0xd59f99b14857d152L,
  80862. 0x3346b89ca5824a84L,0x8430b19997613060L,0xf59e15a866033997L,
  80863. 0xbc442c8ea4ba1ed0L,0xb74f9fca46645f9cL,0x000000000000010fL },
  80864. { 0xe65a7edb5a48ff11L,0x145010e14866254fL,0x041641c5b4e7b068L,
  80865. 0x54f8ae8efeb7efdaL,0x506d0109d08412eaL,0x4aed71b9d1b1a35eL,
  80866. 0xfcdcf29c36c821e5L,0xc9b518d3da012ad9L,0x000000000000015aL } },
  80867. /* 12 << 105 */
  80868. { { 0x2dc395a5556d2be5L,0xd27a811d2fe83cf2L,0x915fbe80e070e5d3L,
  80869. 0xc3e38ef0c80a61afL,0xc1b529f6b988671fL,0x74b7fce60412de40L,
  80870. 0x8ff8c2c5a6ec7d2aL,0x7d3093d743346692L,0x0000000000000032L },
  80871. { 0x6d6fd108ef669f24L,0xdb66a863e60d43d3L,0x2cdb23a2da77cc60L,
  80872. 0x6baec01bd73a2bbfL,0x4ad344c27d5fe4c5L,0xd6cf895c9f1df645L,
  80873. 0x9cabb9379501481dL,0x3f57061a600abd58L,0x0000000000000042L } },
  80874. /* 13 << 105 */
  80875. { { 0x9c26b76ab37d43cfL,0x4ff11777927c55b2L,0x585193b49f3f5d94L,
  80876. 0x3d85adc371de2d3fL,0x76d195fa70a2a2beL,0xc91acdf60f514a93L,
  80877. 0x921b5a28d78a46abL,0xe46c201728239dc2L,0x00000000000000e4L },
  80878. { 0x6d7969d8d3531ba7L,0xf409eb62ecfbe5eeL,0xb31fe091d2c08a17L,
  80879. 0x250b1f2efecaa70fL,0xfc73982e66500ad3L,0x4dac9fd1ffab2445L,
  80880. 0x507eaccaa3931986L,0x83eb25409bbe5225L,0x0000000000000105L } },
  80881. /* 14 << 105 */
  80882. { { 0xb9e3b8bb17a515bdL,0xf8d68dd2d396d767L,0x7de89508decadc2aL,
  80883. 0x9831907c75695a61L,0x4c5f2cc7a3b7d429L,0xcea07ffc4ee09e20L,
  80884. 0x309f2c3fef0d7f4aL,0x3227ec7f9643a1feL,0x00000000000001dcL },
  80885. { 0xf8cd3e8373ee6524L,0x5570129e98f4749eL,0xc8a020dfd9f271b3L,
  80886. 0x0ab6677db2fbafd9L,0x0a0168838b084241L,0x466644d787d85db5L,
  80887. 0x3d631143fb15dbe1L,0x698e8237c6afa7c0L,0x00000000000000a0L } },
  80888. /* 15 << 105 */
  80889. { { 0xfb9c0840bf144a2fL,0x1fddb4d78eea78b8L,0xcd5da1617a68c123L,
  80890. 0x57bac9f5ce110d74L,0xbc329c6f726a02baL,0xf2e4e02404b8b550L,
  80891. 0x88018b6a9f558689L,0xd1eb211aa0192931L,0x0000000000000066L },
  80892. { 0x5501bc7802a25d57L,0x5eabb394b7c28b33L,0x4a322d1b7fbda862L,
  80893. 0x67f3f67e6314f639L,0x06e2768557f63f41L,0x2d1fa432b4657646L,
  80894. 0x0338960d3950136dL,0xaa94f24fd48716a5L,0x0000000000000188L } },
  80895. /* 16 << 105 */
  80896. { { 0x80d935b163b7a2ccL,0x3315375ed6dc2acdL,0x400bb7948b895a51L,
  80897. 0x35962ff9b28f625aL,0xd75e5cd7ef66bec1L,0x3bea41715157464bL,
  80898. 0xf372e7c8605c7eb3L,0x3741fbf0e3301a57L,0x00000000000000bfL },
  80899. { 0xa5388110d0c6184bL,0xcaf6355ef89ed74aL,0x4e170981fa93c1eaL,
  80900. 0xea60089b0dd9b47fL,0xa27efd8b3b9cda73L,0x5852497b5ee68672L,
  80901. 0x60f0dd9c45bac304L,0xf444a8f03048cd59L,0x00000000000000baL } },
  80902. /* 17 << 105 */
  80903. { { 0x95f255bb5c07340dL,0xf8de4c0b69160158L,0x234d0988543e6e26L,
  80904. 0x728fe0b5fdbbdcdaL,0x28415205dc5479d1L,0x0d10dabb4737ebe0L,
  80905. 0xe66b187c8bcd92a4L,0x7c1384f8268d40e2L,0x00000000000001b5L },
  80906. { 0x8f6f9b23c6f33f05L,0x84188aaa402cf04dL,0x0c34d78fd3d3cb54L,
  80907. 0x99b6220be5a78cdbL,0xca0404e0f3f4a122L,0x3e0f1a94d9b7dbc7L,
  80908. 0x69544dcc1e434d32L,0x3c5e1f066cf599e2L,0x00000000000001a5L } },
  80909. /* 18 << 105 */
  80910. { { 0xd5c3ba5d9b7426e2L,0xbf007ff534f50a36L,0x1f35505edd9b1ae0L,
  80911. 0x4207411bf1170c6dL,0xa092286e1fa9f8c2L,0x8561f6d09aa935faL,
  80912. 0x25f6a210887aa36eL,0x1326468d916cf990L,0x000000000000014aL },
  80913. { 0xc5b4aec75f4c5f97L,0x19078493fd51578bL,0xcce5c1b5d27f947eL,
  80914. 0x555a000791d55544L,0x673149265ee062edL,0xc2e2b9bb30473d65L,
  80915. 0x84a0705f0c4f654cL,0x2e7ddefcb53d901dL,0x00000000000000cbL } },
  80916. /* 19 << 105 */
  80917. { { 0xad0f207da13d6874L,0xaeef4cf48cb34cc1L,0x9d7d25e0cda81d1cL,
  80918. 0xe8c11d3a47b69696L,0xdcacc0c193463587L,0x8da07ec922a666bfL,
  80919. 0x586f6831dd7d59bcL,0x98e125d5a4e67363L,0x000000000000015dL },
  80920. { 0x0f9878144fc1e663L,0x739c449ae54e65abL,0xc2f151cddacb89f8L,
  80921. 0x54c9468cfda8de8bL,0xfe379ed859e9db53L,0xe53c1246de0d711eL,
  80922. 0xc72d6669b716288dL,0xd98eb6947ff434b8L,0x0000000000000197L } },
  80923. /* 20 << 105 */
  80924. { { 0xd8828453ba55c50eL,0xfba129a6011f25cfL,0x92b111d214212513L,
  80925. 0x606c4cac10dc46bdL,0xa2bdb94ec971ab1aL,0xef64fc272ed13cfbL,
  80926. 0x4e6abf3b6d95da9cL,0x893ad58b6db4e176L,0x0000000000000093L },
  80927. { 0x8aae0314242e9cd4L,0x7d6d2214e64a78e2L,0x03a80376d3b2f48aL,
  80928. 0xdd43f77b18e8cac0L,0xf140eb83098210f5L,0x0a31f295b84aa3f7L,
  80929. 0xdc0dce3edf6e0c08L,0x69d9d0ad1f6094c0L,0x000000000000016eL } },
  80930. /* 21 << 105 */
  80931. { { 0xed2e0249efb97167L,0xb89824df19f6e8d9L,0xe23ede3948475753L,
  80932. 0x70604a1063c1dad0L,0x722e21c1ccd7cad5L,0x6df0e5f2a10d5e50L,
  80933. 0x61ca16329aa48e17L,0xe65eba88f9569945L,0x0000000000000023L },
  80934. { 0x70f4a192cb5b92ebL,0x2b9a208a8900f126L,0x76409cc9f97972eaL,
  80935. 0xf41dcf4ff70e601cL,0x2650a3476f181642L,0xfb733417318b0fe1L,
  80936. 0xc6b04e56b5a047eeL,0xca664142806a09c4L,0x000000000000002cL } },
  80937. /* 22 << 105 */
  80938. { { 0x1ac10389b68f339fL,0x91b38759ed194f5eL,0x3914798fba6b7970L,
  80939. 0xf3539fa888adc703L,0xafe49a1323a1eb1cL,0x07391e320e9a2944L,
  80940. 0xfe950d80c196e2e6L,0x757a6aec3d5aad1eL,0x00000000000000bcL },
  80941. { 0x21f49f512bc1cf8cL,0xdb4a00d39672f74dL,0x1c85164cb58d71b2L,
  80942. 0x8dec2f612cd5ed70L,0x88bf4b050eed1979L,0x33896b492dbd7dd1L,
  80943. 0x0524e9cf77fa12f2L,0x42e60f7f839d35a8L,0x0000000000000029L } },
  80944. /* 23 << 105 */
  80945. { { 0x491564d68731bfb8L,0xe89203481128cfb4L,0x0026a96d348cd681L,
  80946. 0x58193c9ea0af729fL,0xa3e1089947a22bb8L,0x074a8f92dcd1bfa7L,
  80947. 0x45cbe7b054946516L,0xfea57561cd7b02f6L,0x0000000000000069L },
  80948. { 0xb19a61bc10b93767L,0x2866d9cd9dcdb1b4L,0x8f540d9d3b401ae1L,
  80949. 0x196d3843ed89cc1bL,0xfaa6336ea19e3aadL,0x1132d0261b294d32L,
  80950. 0x9aff85ed6a0b975aL,0x11e2111302584ad0L,0x000000000000003fL } },
  80951. /* 24 << 105 */
  80952. { { 0xcacf976d657d30afL,0x8d99f439e599602eL,0x89b7ba5142c60609L,
  80953. 0xbe1fd86127695726L,0xd1fe4929cf48052eL,0x785c994775a3938aL,
  80954. 0x89c0d82562f5496fL,0xcf585a3f24237d10L,0x00000000000000eaL },
  80955. { 0x3d2d602df48c877eL,0x56732dbcf094b87eL,0x5603dd5c4c825b63L,
  80956. 0x41a7454849d45408L,0x573734f5ddfc690bL,0x5fa016412c2993aaL,
  80957. 0x1bd91fcaaadfe3cdL,0x3cd67d47be83c452L,0x00000000000001d2L } },
  80958. /* 25 << 105 */
  80959. { { 0x1003b83b3cc92301L,0xf5e76d65f8f493d0L,0x2ce44912fd07df7aL,
  80960. 0xb2781226fa8fc5caL,0xc1188930371bb7b0L,0xd903037daecaa2f6L,
  80961. 0xb5a0c7b572ffff20L,0x250bc26809e28877L,0x00000000000000daL },
  80962. { 0x51246eff1d835cf8L,0xca86aff7e2aa17cfL,0x4a286343ed95465cL,
  80963. 0x761b330a2e0ec7c4L,0xcec609e70e238a29L,0xaf57e17f2ded7b72L,
  80964. 0x783fee52dd97a8e7L,0x9e70a6bac9b0e6e1L,0x0000000000000148L } },
  80965. /* 26 << 105 */
  80966. { { 0x9ba159e917acbbacL,0x21d2cd40b3b2d4f8L,0x19d30414cf0c0962L,
  80967. 0xea38bfa1e46a922fL,0xbe6961f2463d079cL,0x811dff90c6bf5348L,
  80968. 0xd96c494b785c3396L,0xf3ad523ddcd944e8L,0x0000000000000066L },
  80969. { 0x634d8e7d206d05a8L,0x15b16c22a1324639L,0x16b8add8e59be967L,
  80970. 0xfeae166da509f7ccL,0xb9c7e3979f5a873cL,0x7bc71c573ef93a82L,
  80971. 0x6b70e12d6115406eL,0xe22f4254de6bab3cL,0x00000000000000adL } },
  80972. /* 27 << 105 */
  80973. { { 0x7552422040c553faL,0x8b57e7c008e5d334L,0x69dc672bb0576f54L,
  80974. 0x93f4183b389374d2L,0xb75b0d40cc422c64L,0xb44b0e56287a6c2dL,
  80975. 0x6409c0e89c25d3baL,0x02c259d8c06b946bL,0x0000000000000089L },
  80976. { 0x84719a851b45cccfL,0xca07d64720613663L,0x04055dbca18c0ce1L,
  80977. 0x2769ca934c88632aL,0xebd3eba9ae212295L,0xbbcca701d7d19150L,
  80978. 0x7890908d5520d207L,0xbe9223c03918f231L,0x000000000000001dL } },
  80979. /* 28 << 105 */
  80980. { { 0x7681afca91957c78L,0xd0e5379bf37ff077L,0xf5d60a4494adc198L,
  80981. 0xdf6fd776d87fe24aL,0xe361851fd13e39d8L,0x2513ccb0576ba50cL,
  80982. 0xfa50610afb934e52L,0xbeb4cabb8dfdc65eL,0x00000000000001b5L },
  80983. { 0x578b16474b080c52L,0x5c27918e45a7bf77L,0x8eb701fd5007f0c5L,
  80984. 0x98bbf9989230a8a8L,0x82cf1074790f53d9L,0xff6b6226a375084bL,
  80985. 0x09a928db2eb7289aL,0xc28d4dacfe5e2315L,0x000000000000011aL } },
  80986. /* 29 << 105 */
  80987. { { 0x31bc319cc98a9c37L,0xa0bb2283a3984dbcL,0x3f301a6b54cd9423L,
  80988. 0xac47b1b806b84615L,0x26450a5582d1dbffL,0x1d5657363a97de2aL,
  80989. 0x47aed4ea512c76a2L,0x7ccd33197fd528d3L,0x0000000000000055L },
  80990. { 0x2164253f5696d45dL,0x5e0bf77bb4f480d6L,0x1abf68e6540a1dfdL,
  80991. 0x17538afb9e1e823bL,0xa0f9656e310ac00aL,0xead8fe6396b4c493L,
  80992. 0xbb21e9ed4430ccc4L,0xe750b446f8db037dL,0x000000000000014fL } },
  80993. /* 30 << 105 */
  80994. { { 0xfba9eb2d3cec0762L,0xa9fcc5c16e39d300L,0x49efec4e5d9d4024L,
  80995. 0xf0de3c99a14df0e5L,0xf1a1eda4cd197e7cL,0x23c79138c8fa57dfL,
  80996. 0xfa27666efaf7ab50L,0x88c563d41b17e0b9L,0x0000000000000103L },
  80997. { 0x354d24b33bec9b99L,0xa6f3879ea3b30a27L,0xad3cbf31c4a341d3L,
  80998. 0xc39733b81873136bL,0xb0e58f73d36a0e8eL,0x6de55e1efb08244fL,
  80999. 0x921fe1304a5d4a2fL,0x2ab1ca90c634beb7L,0x0000000000000176L } },
  81000. /* 31 << 105 */
  81001. { { 0x07c0f5899a41407aL,0x9c8bf2b39bbbd8e9L,0xa5b4bcf8e513a7dbL,
  81002. 0x85e61af7f2979de9L,0xf4ccbb625ca009daL,0x41d81be066ef1639L,
  81003. 0xc7870e2a74a14becL,0xd0817703e04c1567L,0x000000000000000fL },
  81004. { 0x2be84421f2970915L,0x59794c74f26c5082L,0x8883a0bbf491677cL,
  81005. 0xcdcb38a31f01db0bL,0x7ba2101e6fba9ddfL,0x9228e0674b0b0f97L,
  81006. 0x0000e6124d5c084cL,0xe7be273d6bd21734L,0x000000000000016cL } },
  81007. /* 32 << 105 */
  81008. { { 0xd15ea6b41f8670abL,0x1957a0f1199b1007L,0x113aff43e3efadc2L,
  81009. 0x07c606090fdc6abfL,0x93e7ba310bb0014bL,0x0f6b7e135d34945fL,
  81010. 0x2303a74aa9f86051L,0x6c9fc83a312cf1b2L,0x000000000000017bL },
  81011. { 0x5588cca5e501aaa7L,0xef0d3bc16e7ac7bfL,0xbffcd55147339a1aL,
  81012. 0xf83b4cb8c36eaf74L,0xa4e70ee39ed93d5fL,0x0972ac415c249069L,
  81013. 0x2e9968feca09bde3L,0x1b5b37298c5aec39L,0x00000000000000c5L } },
  81014. /* 33 << 105 */
  81015. { { 0xacc96c98b769fd56L,0x86d507327dae0910L,0xa1dd43651386165eL,
  81016. 0x38e6d2a3f3213894L,0x890e1328f8b379aeL,0xa6200559306788d4L,
  81017. 0xf88c4751a7def4f1L,0x6975c2db70bc1914L,0x0000000000000100L },
  81018. { 0xa8f2f1c9b892640cL,0x5b1ed01e21f7b44bL,0x13ff919bbacaffcbL,
  81019. 0x76bae5427271c130L,0xf6daeb9faf5a9725L,0x9da7b38033ec07e8L,
  81020. 0xa5cf0ef503585e6cL,0xf79529ffe6ef4b51L,0x00000000000001a1L } },
  81021. /* 34 << 105 */
  81022. { { 0x1f7b4389bdeef89eL,0x6789ffd1066ce776L,0x671ae6869d25dc8aL,
  81023. 0x6e4eaae92a888ac7L,0x232dbd9f46a4af36L,0xbb17127ac6fea211L,
  81024. 0xe34ac986ff807938L,0x0222d0b4132b4057L,0x00000000000001cfL },
  81025. { 0xf1511b8e8217c466L,0x04a4581414fdd478L,0x49147df5a79487d8L,
  81026. 0x9bd381fa23c6e0fdL,0xd91d805a9f74cf82L,0x0ab490b37a8b86c7L,
  81027. 0x090cf1b26d582a67L,0xc64ddf5627fa5841L,0x00000000000001c6L } },
  81028. /* 35 << 105 */
  81029. { { 0x3bdf7a2ad1814226L,0x07c5dfc8f027968dL,0x4bb29e991211439dL,
  81030. 0xf7c1b4f71caf12c0L,0xd7b807fb79f9fde7L,0x938bf15f5fb1dd69L,
  81031. 0x073eebfd1780e837L,0x642b138cb0faac2bL,0x0000000000000168L },
  81032. { 0x56b0d340082b362fL,0x0bfe8f67f85cc2dcL,0x50c288955c32b783L,
  81033. 0x1e53f45c7b898114L,0x71b9ae7056cc9e6cL,0x56b5107c72099c86L,
  81034. 0x63311d09311f3509L,0x78acea51d6a5f3d0L,0x000000000000005dL } },
  81035. /* 36 << 105 */
  81036. { { 0xc2089b19fcc9c03eL,0x089cb861b3c3b222L,0xc98b822e1ce7d1e5L,
  81037. 0x3dabb2044977f564L,0x227cb87d5ea70d29L,0xdcafc8a47069304cL,
  81038. 0x20d80ad6802b1253L,0xca26c7426b904cd6L,0x00000000000001b3L },
  81039. { 0xb9ce07cead8419aeL,0xa9b14ff2a9544909L,0xfd3d940bb7a73089L,
  81040. 0x5fc97e71d3d01c28L,0x84eadd2847850cf8L,0xb54183bb27f823aaL,
  81041. 0x557fd65129af6bf0L,0x180b581acc18b8a8L,0x00000000000001f4L } },
  81042. /* 37 << 105 */
  81043. { { 0x7a4cba6bb978f541L,0x3e6f49205343823bL,0x2bbd7ba217fbe204L,
  81044. 0x4026c8212de816d0L,0xc3b60a1a0e9b6bf8L,0x9ed6b7df684e996dL,
  81045. 0xf50e40abe73868b2L,0x10b2f15cc492b090L,0x00000000000000daL },
  81046. { 0x221216615aab5f3eL,0x8e9e9c682529ac88L,0x12a17b7723cdd031L,
  81047. 0xef53fa6250d3b5ecL,0x2d09807c8fad5c6dL,0xc40e0cf6487138ddL,
  81048. 0x52d5db3b323038f1L,0x1425a7359d09f1aaL,0x000000000000019eL } },
  81049. /* 38 << 105 */
  81050. { { 0x59fed1c491a11ed8L,0xfe263c0a3180d98dL,0xdcdc10e42d368fcaL,
  81051. 0xaa2f0a1bef1e9926L,0x768984895745f2e5L,0x48830803112ada7dL,
  81052. 0x4c63137696c9e854L,0xc0e129f08250e11dL,0x0000000000000191L },
  81053. { 0x457dd4a21e6bf787L,0xecd443ca026b528dL,0x4a02a60ad84d6716L,
  81054. 0x5a2a31fee3f215d7L,0x05c6ea2ef4789397L,0x78bb4bc49df48571L,
  81055. 0xbd322028c263a45aL,0x57bc9ae162fc82e6L,0x0000000000000131L } },
  81056. /* 39 << 105 */
  81057. { { 0xa51538ca93f73b65L,0xa209bc3c23ecb9fbL,0x5f4b4dbe6590de4cL,
  81058. 0x410efe51eba978b2L,0x2c2cab5d0159bea6L,0x506278d2a9e69f90L,
  81059. 0xcad07d66b89db270L,0x5b59625e22847a48L,0x00000000000000abL },
  81060. { 0x4c305e6bb8cea678L,0x5842bcd09909f9a3L,0x53a5a114477599b2L,
  81061. 0xc7c5a7e8a735de6aL,0xec49f912c9df0d78L,0x794e2c2d3be4756bL,
  81062. 0xdb7b920d68824272L,0x3c4823e0e7d2549fL,0x0000000000000156L } },
  81063. /* 40 << 105 */
  81064. { { 0x8ff38aa4093edcb7L,0xc3c6b459e8f5564fL,0x613e5157b8935ffcL,
  81065. 0x1eba7a2ae10e448eL,0xcf8d70c9fc31845bL,0xe1e4d5bb77f5a42dL,
  81066. 0xe61bc59edd07816dL,0xa0928cb3e85fabbeL,0x00000000000000c4L },
  81067. { 0x12e7717eacc0393dL,0xca036b26540be4cbL,0x4f59050e36dcf32fL,
  81068. 0xdd2e7ff9234b425dL,0xbd17895136b8d833L,0x132d27fef989d479L,
  81069. 0xc2049ea7ba09ef6dL,0xb526a9b5c83a3b7cL,0x0000000000000157L } },
  81070. /* 41 << 105 */
  81071. { { 0x06a4efb20228649cL,0xdffc2bcda7942aedL,0xcf2e51715b4eb8e0L,
  81072. 0x399bb5320052238eL,0xbc53cb0c46e3f1d6L,0xa020f3e430a71ec3L,
  81073. 0x340c96716ae10068L,0x0bcd58b7dc04715bL,0x00000000000000f7L },
  81074. { 0x87deb87d8f9d8244L,0xc510965fb14747edL,0x5e084f544fa3df33L,
  81075. 0xdf3d534d10cd6916L,0x15345bf7a9379b76L,0xa6d306f97dedac05L,
  81076. 0x18243b39dd131822L,0x12fad40f9d9eee60L,0x00000000000001d4L } },
  81077. /* 42 << 105 */
  81078. { { 0xe47e92bfdad2a018L,0x7169fc3557faecabL,0x824b95d921861e70L,
  81079. 0x3691cc6191077fa6L,0x39b9bee4de1dab77L,0x3166f0042a4c87b1L,
  81080. 0x6279470b574cb51fL,0x0fd510aa9eac155eL,0x0000000000000040L },
  81081. { 0xbe71e07d80d4bb34L,0xf09f4e405a9bdb09L,0x7045942d1a249979L,
  81082. 0x603c2c25ed241724L,0xa6fa617216c91e0fL,0x9fa0a49fce6e8b62L,
  81083. 0x9767b1486cd9fcd8L,0x223901649b1d52e6L,0x00000000000000c5L } },
  81084. /* 43 << 105 */
  81085. { { 0x2ef5152be65ed57bL,0x7cc90f473bb1fd66L,0x98f6873244e66f0cL,
  81086. 0xa3447ae327bd8ce1L,0x324c3ac08f22eaccL,0x838a435f0397222dL,
  81087. 0xc63bee579b0ecdb1L,0xd0bc1d6a9d2d789eL,0x0000000000000015L },
  81088. { 0x1c6f47cf4202af3aL,0xe847a6104c99a557L,0x9cd3807e4b94f1f3L,
  81089. 0x703f916b8a2806c1L,0x8fb83be08cdede77L,0xb07b30bcc62bf497L,
  81090. 0x90f4da36187ed83dL,0x035fd29aed3131adL,0x0000000000000157L } },
  81091. /* 44 << 105 */
  81092. { { 0xb259c83324eedf44L,0x2037b6fb73545c4dL,0xe126c4834c157523L,
  81093. 0xf80292adb36b003fL,0x4ae3fcd9772a9a08L,0x424a61f919be1da2L,
  81094. 0x2e2b901d8026443fL,0x879864f1dd59dc90L,0x00000000000000d9L },
  81095. { 0x4b838953b15eac94L,0x0c5fb88ce1a57ca6L,0x9a09e28ada88728dL,
  81096. 0xa80a4a9b6853a1deL,0x46a596bff0e07484L,0x6511ec6e7b61760bL,
  81097. 0xd2f6b328571859f8L,0x5e872f813cbfbf41L,0x000000000000018cL } },
  81098. /* 45 << 105 */
  81099. { { 0x3011bebc26674da8L,0x667107b215be6300L,0x0c1b7f26f8a583b2L,
  81100. 0xa10eba84d1d1ee29L,0xd03a1e2d00f8d4c1L,0x20d5861341f576b4L,
  81101. 0xae64da886806cd41L,0x75f1394a49176ef4L,0x000000000000012bL },
  81102. { 0x5e06e1f20154a8b3L,0x8c54c4c780905a09L,0xed75aad004b741beL,
  81103. 0xc7be78f5779f5177L,0x1976c894ae9becfdL,0x20b11c80c14943e9L,
  81104. 0x6155f1fdebe9faabL,0xbba7d4a7a2d16b16L,0x0000000000000015L } },
  81105. /* 46 << 105 */
  81106. { { 0xc96ff6be3e035793L,0x8883f0151793d415L,0xc4f3ef64d04363edL,
  81107. 0x93a75f7f73f1283bL,0x9614a3999f7ba92cL,0x061bd7e241b95c66L,
  81108. 0x887792ff1c2276a0L,0xa80706d28ef5b98aL,0x0000000000000063L },
  81109. { 0x2d7720a8b322dfefL,0x7623a0674dcabd9eL,0xc6936cd944e66fadL,
  81110. 0x9841e95ee16d312aL,0xe3e195b9eb94fa29L,0xf3edafaa2c284fd7L,
  81111. 0x7aeee8c08211a418L,0xebec3d3fb6305911L,0x00000000000000ffL } },
  81112. /* 47 << 105 */
  81113. { { 0xba2c92f5f2b0af81L,0x0d64e1ce1aae3f08L,0xa1f9d651cc19d12bL,
  81114. 0xc6f6a4bb78a15858L,0x12f3f8828d55e390L,0xb2791f72dc4b6dcdL,
  81115. 0xf51d8c9b758a15d5L,0x0f712d967cb6c682L,0x00000000000000aaL },
  81116. { 0x42b424f386a49713L,0x63664f53b65c98caL,0x09fa6b470cee5673L,
  81117. 0x066107f5de3c1fedL,0x0797ca8db363b845L,0xe5df7026114d2e2dL,
  81118. 0xf827b59cf67fd6bdL,0x657c8f1421876f0bL,0x0000000000000112L } },
  81119. /* 48 << 105 */
  81120. { { 0x68a3040e09eb3233L,0x0a44434506fa4864L,0x579edeff83af8af8L,
  81121. 0xd619358709f49bafL,0x4597975c33f9ee19L,0x5318a888cb85cb9aL,
  81122. 0x6366031f423ff919L,0x32fa03eef3ef6e44L,0x0000000000000072L },
  81123. { 0xadc2b71b8fe0bdc4L,0xa4b86022245354c6L,0xbd96981bed7a1ca8L,
  81124. 0xaaf0bf088d27b9f8L,0xcb56e8f255ef3926L,0xee69ee6af868426eL,
  81125. 0x04146106114f6b0cL,0x5bd940000b8d34dbL,0x0000000000000154L } },
  81126. /* 49 << 105 */
  81127. { { 0xbb9ce2cd216785d7L,0x6542eac454fec1d6L,0x26fad4f1cd6bc203L,
  81128. 0xd35862595dbdc5edL,0x9549ea9fae3698bfL,0x8c354042fe0d57b9L,
  81129. 0x9548e67f2676cd04L,0x059aec2b22edf4dfL,0x00000000000000cbL },
  81130. { 0x21fe898ad316063eL,0x78930f796d38b86bL,0x72064b45d1154023L,
  81131. 0x3184619fc2fe7c4bL,0x9e47fa4ed2cc3286L,0x99484c69731d0886L,
  81132. 0xa10f25480273326dL,0x84c2f78729efc551L,0x0000000000000133L } },
  81133. /* 50 << 105 */
  81134. { { 0xc677d129f82dd083L,0x8a9a603584a35d1fL,0xa0e725f2f7707c51L,
  81135. 0x0e67f36673314f89L,0x5ae78b3962c79980L,0x57e1ea302a48db75L,
  81136. 0x1c77997bc8cb73f3L,0x69c6ee32c1a61b9fL,0x000000000000019aL },
  81137. { 0x53abe39156756339L,0xeb1cdabe4edc4cd8L,0x15f70954026801e1L,
  81138. 0x9295a5207fe8de52L,0xb6eda43869a0fb2eL,0xd9e6e518510522afL,
  81139. 0x121fd3cf4e8e7655L,0x0b587ad6ddc0367aL,0x000000000000000cL } },
  81140. /* 51 << 105 */
  81141. { { 0x1c0ee685d50f1534L,0x9abb1c5827e3c974L,0xdc73da165ae04b81L,
  81142. 0x0bc4a178fc2d401aL,0xd5c269e4ba33ef71L,0xf858a1fc996faa33L,
  81143. 0x859915cd45b85f00L,0x7c507b4238b33ae3L,0x00000000000001f1L },
  81144. { 0xbde761b6490593a4L,0x388f79d436f6b62eL,0x6129b78b1b33fc5bL,
  81145. 0x04a3b9f5b8eafc22L,0x4a718e577eab0b39L,0x14ea35580398ea2fL,
  81146. 0xd737bd1bfca0213eL,0x34c27b9174332a05L,0x0000000000000185L } },
  81147. /* 52 << 105 */
  81148. { { 0x84ace35ba08df37aL,0x8f2e690a3ece9e6eL,0xe2649ed7bd6ed0cdL,
  81149. 0xc2618e7d5b70fbb4L,0x3f072e8727f675dfL,0xfa17717f88590abbL,
  81150. 0x6aa5119dc257a2b9L,0x016cbe362f48d5c6L,0x00000000000000ecL },
  81151. { 0xf7d3a01b29117b53L,0x3e544e8558d4d8f2L,0x63bf0dc8bba83f7cL,
  81152. 0x341d35ac60f1bfacL,0x84e37ee48ea4bbc4L,0x981744d7192d6dc4L,
  81153. 0x7b559536ca34c6e6L,0xf32ddf2b067ad38aL,0x00000000000001d6L } },
  81154. /* 53 << 105 */
  81155. { { 0xecf882c7ecfed198L,0xbe88ee265c47e839L,0x6c267c95a60cc381L,
  81156. 0x285d1e767ffdbff6L,0xee34af6f6e349fd3L,0xa331769599f4ea4eL,
  81157. 0x5f87359375d39105L,0x3559f31e8c9de520L,0x00000000000001fbL },
  81158. { 0x61d45de2d0a8892eL,0xbbe42953bd8a2c6cL,0x7792057fe3e3ec8dL,
  81159. 0xd040df71566078d8L,0x8852496ad470a52eL,0x4b6b08597ebff173L,
  81160. 0x1195102db36b2801L,0xeb28646305df9bc3L,0x00000000000001e5L } },
  81161. /* 54 << 105 */
  81162. { { 0x6e8ef1e946b46e28L,0x7cfd8d1f86249c66L,0xa8f6559d7a5aa3bbL,
  81163. 0x2bee79a6f7abc1b4L,0xc8286725b48f60e7L,0x2b883127f717fbddL,
  81164. 0x7ed12c1e2d4ef9e3L,0xfc910265e008750eL,0x0000000000000024L },
  81165. { 0x56569b61212f5d32L,0x97ddd0d69d4ab1c5L,0x639c33f149ee1f05L,
  81166. 0x97d1ba29b2886916L,0xef869ff04b553ea9L,0xaf504911b88cbafeL,
  81167. 0x524feccab9efa22fL,0xfa15902b321d6755L,0x000000000000014eL } },
  81168. /* 55 << 105 */
  81169. { { 0xdac797ffc2df83f0L,0xca75939070f59d50L,0xc53a3b9d8dae80d1L,
  81170. 0x4ee2534321d73857L,0xd458295ea7ae4212L,0x5b29d98f30385f03L,
  81171. 0xda3843b910deef6bL,0xd148ab67448387b3L,0x000000000000009fL },
  81172. { 0x68ca489bfa10caadL,0xbaf2095ba1ccac6aL,0xcf4d1eac05a5bc7eL,
  81173. 0x67866117ff5f28e5L,0x62d6cf59182d4a00L,0x96353d36ae15e91cL,
  81174. 0xf5b32693175f7fd0L,0xa160046d521eaa66L,0x00000000000000f4L } },
  81175. /* 56 << 105 */
  81176. { { 0xfe88213a38540b67L,0x16613cada30b9044L,0xb06dce427861d61fL,
  81177. 0xfb5c9ffde2b9cbe1L,0xae4af79ba5ae6125L,0x56e69b5a3ff351aeL,
  81178. 0x68de3b3f31df9832L,0x8d2c2960fa3fc1cbL,0x00000000000000ceL },
  81179. { 0x979c3dd49fd40f91L,0xca979b58b5640389L,0x855dd28e836ea10cL,
  81180. 0xbf40ee0e17f1cc25L,0xe02bbb2f5fd556ccL,0x6aadb11005f32f3dL,
  81181. 0x26bf5c119366213dL,0xc15f02c49a1ca27aL,0x00000000000001b0L } },
  81182. /* 57 << 105 */
  81183. { { 0xc2cf8600f06edb9bL,0x74745d77824ec696L,0x2a502a21bce3ad49L,
  81184. 0x0e2fac9ccc8c2f94L,0xb6c43b6ab26006bbL,0xf76dbb35c74f3d21L,
  81185. 0x3559f25ed6920ba5L,0x0203fe602af91aa6L,0x000000000000016eL },
  81186. { 0xa1ee163458415056L,0x49c48a0274df3e92L,0x8a871514959f3e11L,
  81187. 0x2a50833460c01400L,0x06ab882ff3c1f3f9L,0x788fd2f2f3f8a3b2L,
  81188. 0x8d9f63abe5d2052fL,0x6f9136c2baebe4e6L,0x0000000000000102L } },
  81189. /* 58 << 105 */
  81190. { { 0xad4aeaece0792955L,0xc662f8dc6c8cf64bL,0xf96c715cccf91d5eL,
  81191. 0x798040378fbd7f45L,0xf0f3ddf401cb31dbL,0x0448603b334e8ec7L,
  81192. 0x1c9e8c7be737fc3cL,0xa9fdbafdff78b864L,0x0000000000000112L },
  81193. { 0xd2c6c2de72547858L,0x82dd7a88ff8f4f45L,0x55db641e9eab2f08L,
  81194. 0x7243199dd73bcc8eL,0x55e708b46a907e32L,0x361af050db188207L,
  81195. 0x4e21c1e461f3c0edL,0x948142fe7cd3c766L,0x000000000000013cL } },
  81196. /* 59 << 105 */
  81197. { { 0xf937b0e53e950ff0L,0x6e24b4e5de551199L,0x9190ae60d524b733L,
  81198. 0x23890323e070cdbfL,0x3b61f098514e259cL,0x63091050729f0e0aL,
  81199. 0x74ce4e07d2ded515L,0xec98c9a7417d44baL,0x000000000000012fL },
  81200. { 0x3ada2c8f63dc0f50L,0xe80a5a8ce2593386L,0xa39d716914c9dcbbL,
  81201. 0x084c3faf0c4fdcd8L,0x8833788bc79dcb54L,0x852a9f9b6aaccf73L,
  81202. 0xbe2be436ab0ef855L,0x8e522348aebf47baL,0x0000000000000147L } },
  81203. /* 60 << 105 */
  81204. { { 0x413a5117a2262a1cL,0x29c97c05795db169L,0xa03d9861d7ca7976L,
  81205. 0x8428c9aa730d1caeL,0xe2922ccf6fb7d613L,0xb8a33ca521533014L,
  81206. 0xf8c059a418266bd3L,0xbc7db2234ebc4a35L,0x0000000000000007L },
  81207. { 0x6fce14a2f2d17d69L,0x91920c6844b28892L,0x9066e8d13c3cdef6L,
  81208. 0xf90115f8d5c6e3fcL,0x39f91f2fe9ce6701L,0x5ad4bcb4a1f30378L,
  81209. 0xc6b0e8f1aa92e892L,0xf2ab25c70c0ef133L,0x0000000000000036L } },
  81210. /* 61 << 105 */
  81211. { { 0xd256b02a6cb68a4cL,0x2b16306d2ee6b938L,0x4886fd97cad8da2cL,
  81212. 0x9a5accad3825c96aL,0x772d7b13cfe2cae3L,0xe16361a620e8843eL,
  81213. 0x32473b0333448c28L,0xf1a37e18be23247cL,0x0000000000000040L },
  81214. { 0x63ebc83fb66042daL,0x583f691176c07055L,0x4f7630ae6a3fbd5fL,
  81215. 0xb785702efb0af367L,0xb7c837a554d558ccL,0xdbf9820a000c0c3fL,
  81216. 0x32b10b9d6233b57aL,0xc811d02fd02a7cc8L,0x0000000000000179L } },
  81217. /* 62 << 105 */
  81218. { { 0xf67675f773b899a6L,0xae60c0d9aaf10a99L,0x1090ce72648df5b4L,
  81219. 0xe325ffed3b186a86L,0x403f48e80c01ed9cL,0xf7453a5696c2e25cL,
  81220. 0x5151f743bd8e41e6L,0x76cac7110aecca2bL,0x0000000000000147L },
  81221. { 0x5c51bf550e29a85eL,0x6c7fc654143718f3L,0x8bd8eebdb31a4a9cL,
  81222. 0x852d2032b22e7b3eL,0xf6cd67263b6c1296L,0x8f10ff0f4ca1aa08L,
  81223. 0x7ec8838028830ef4L,0x765904f339ee7926L,0x00000000000001c9L } },
  81224. /* 63 << 105 */
  81225. { { 0x2dde6e928637fd54L,0x0b87d325ba84f1feL,0xfc08553ab4af92e1L,
  81226. 0x7dcf26d634d231aaL,0x94da1a1a6fab3060L,0x33fbca8958b11020L,
  81227. 0xc68e11f0edc2b3bcL,0x21a56c3647f05ba9L,0x00000000000000deL },
  81228. { 0x9daf1e861bb9fa34L,0xcc4688c2d6e87d28L,0xd32c7df423e13585L,
  81229. 0xb2b03cbacdd2746aL,0xc5c3af6b73eb2f89L,0x11fddbb38e2796fcL,
  81230. 0x3212dc8e0fa04a64L,0xc6628b6fd92a5784L,0x00000000000001d7L } },
  81231. /* 64 << 105 */
  81232. { { 0x671757a6e2adfecbL,0x22eb6b422ba58ff0L,0x845ad5524e6e393aL,
  81233. 0x3dc6f7cb60fb46a7L,0x9240526b0a84396fL,0x13c8f57c56152715L,
  81234. 0xab02366c6c45e7a9L,0x6d4f07bead159399L,0x000000000000006eL },
  81235. { 0xf69fdd7f07f6e883L,0x946b2efb3f45aaa4L,0xc3390ff156806edaL,
  81236. 0x22764fab21d28bc8L,0x363b41d10c20eb57L,0x7d693bb1f6e0fe71L,
  81237. 0x5ba2e46a2816dfc1L,0x53c3d41ab0f7ee72L,0x000000000000012dL } },
  81238. /* 0 << 112 */
  81239. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  81240. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  81241. /* 1 << 112 */
  81242. { { 0xc2d7eaa1c6884ce1L,0xd7b35c4f9faf6322L,0x8d1a1d85337ea884L,
  81243. 0xbcc6a8090f946ebeL,0x45eab172754fb8d2L,0x1e0b251e91dbd926L,
  81244. 0x4b61112afdce8503L,0x80737c4915fa4759L,0x000000000000000aL },
  81245. { 0x1973c88b40260e22L,0x83078cb7e48dca69L,0x4815d67fb199e3ebL,
  81246. 0xf57bde1f7b4de5d3L,0x88a1ebb5e139dc10L,0x7c20e7c66689dd21L,
  81247. 0x40cba34680884875L,0x5c82140239171e05L,0x0000000000000062L } },
  81248. /* 2 << 112 */
  81249. { { 0x922f12dd4e187fffL,0x5edc9b962faa9f8aL,0xb7c218f8c854c83dL,
  81250. 0x3dfcbf3265052d62L,0xbd809261053d38c2L,0xf871b4be31d0c279L,
  81251. 0x6db21156f30b4a34L,0xb50605148db71e6aL,0x00000000000000d9L },
  81252. { 0xa08ce4a86bedc91dL,0xdf89cac0a0bae827L,0xc035a514aa3f520fL,
  81253. 0xd5e9631fda672398L,0x8a5c34867150a93dL,0xe176d6c30d1a66e5L,
  81254. 0x1aebd73874a2379cL,0x42d11fe6279c3eb9L,0x0000000000000139L } },
  81255. /* 3 << 112 */
  81256. { { 0xf2937edecb4c6645L,0x1e8dda6d1b68f3aeL,0x25a8cbca5c45eae7L,
  81257. 0x6f07c48eb1a328e4L,0x473a67acef4b3917L,0x5e4eeac1208c0836L,
  81258. 0xca67351bec92f538L,0x34a8f9f8177cf537L,0x000000000000015aL },
  81259. { 0x7d7f6d7ab9a3216bL,0xa4ad0bab0ed36d7fL,0xd58507f3d4b646cdL,
  81260. 0xbd275213a2950840L,0x00f031c076c25f08L,0x300e0a0c3f46258dL,
  81261. 0x6ce16cd6a03dfbd7L,0x35e0211d40c879f4L,0x0000000000000001L } },
  81262. /* 4 << 112 */
  81263. { { 0xa033349762383e65L,0x4f94f82b681092c0L,0x583b450378a19ca7L,
  81264. 0x81c69ed050e7ea14L,0xbde43e882042e0a5L,0x752a9d3e6a9f7938L,
  81265. 0x865464d9af321417L,0x5bcc326fb5794804L,0x000000000000000aL },
  81266. { 0x7714afcab958f657L,0x3b927db46e725914L,0x9ef1925c7fd9a9d8L,
  81267. 0xed13fdfdbe7e139eL,0x5b57aa066e80a43fL,0xc9c221be810f9412L,
  81268. 0xe6536f3a04ec7d73L,0x77765db5db4d13e7L,0x000000000000019bL } },
  81269. /* 5 << 112 */
  81270. { { 0x21fe770f84924113L,0x2c5d06120ab300cbL,0xe1699e81ed6c7197L,
  81271. 0xdec38f45f5948795L,0x79db54b83a48da6cL,0x95f9d633b3f3af61L,
  81272. 0x3e4e733da772f809L,0x48dbe53a605e477fL,0x0000000000000142L },
  81273. { 0x5ab3454e86f2714fL,0x87d83de7939b3218L,0xb980fbc096d16ff0L,
  81274. 0xba3cfaaddd96a283L,0xed41324416c3b69fL,0x57968830968c773eL,
  81275. 0xf315b38ced4d4dfaL,0xa013acc5a24cfb0fL,0x00000000000000caL } },
  81276. /* 6 << 112 */
  81277. { { 0xd064803e24e3c650L,0xa90109303b9aec0eL,0x407b393219f6f56cL,
  81278. 0x045d7e95d143be9bL,0x2933b6be47a9533bL,0x01b01ec62bc7f731L,
  81279. 0x723abd9a043e4c5dL,0xcd8a1bfd25c4e8afL,0x0000000000000095L },
  81280. { 0xd719eded6d8a2f90L,0x08b7c6af8b5c2378L,0x027c6cb7c01df5dfL,
  81281. 0x1c020ce0155cbce9L,0xc3aeed933deb94d9L,0x2cae43c7a6f7fee3L,
  81282. 0x54637a4a7512ef37L,0x3b64366081582bd4L,0x00000000000001e8L } },
  81283. /* 7 << 112 */
  81284. { { 0xc6d7698f7e59dde8L,0xb1ab83ac08aab860L,0xe1972059c7fcac6bL,
  81285. 0xde4446ae656119bdL,0x8dfbbedef9f8d976L,0xe3b8e6d2009be348L,
  81286. 0xa8ead6ee974cb79fL,0x4a566503b7a415bfL,0x0000000000000002L },
  81287. { 0xd661701b24c0d839L,0x6a3200d111c338cbL,0x5016ba3237f3769bL,
  81288. 0xf4396987a00f1d08L,0x16abf9062add49aeL,0x17dc53e804f3dbd4L,
  81289. 0x9ee15f5354a44690L,0xaaa77f7ea27e4c96L,0x00000000000000bfL } },
  81290. /* 8 << 112 */
  81291. { { 0x86dd8f04def62f7aL,0x42cd01b9cc9e5065L,0xd50b855643275c45L,
  81292. 0x404e04a59814155eL,0xf7e62f98266b665eL,0xd68e806e86eedc55L,
  81293. 0xb23e4bf34332001bL,0xe0b405b2366d78c2L,0x0000000000000150L },
  81294. { 0x6e4c1160d49d6c3bL,0x10c209647ce72d17L,0x0c0ba5325475d05dL,
  81295. 0x77d8dc831523a4f9L,0xb053a8be5693cdc6L,0x5e0897a3e947e953L,
  81296. 0xde13f4517899d5d6L,0xbafca001ca78c763L,0x0000000000000013L } },
  81297. /* 9 << 112 */
  81298. { { 0x668d132f5602a1b0L,0xbc4a769fef7a02a1L,0xe67a3b7a4126a867L,
  81299. 0x6bcb37d5a775d18fL,0x719b93ef11901e4bL,0x3aaa34d531f7386aL,
  81300. 0x7f81f95156335bb0L,0x22ce53aa1d9a8fb5L,0x00000000000001bfL },
  81301. { 0xb901f8b5580d76d3L,0x9ae57d49a4d6e345L,0xf7af2dee4e5b689dL,
  81302. 0x5d79160110e321e9L,0x43f66981301f6090L,0x8835a85f23c4f0ccL,
  81303. 0xdab2de3b083b5b68L,0x7fc613f51e97c0faL,0x0000000000000051L } },
  81304. /* 10 << 112 */
  81305. { { 0x9655cac34d110319L,0xf55e56d996e35209L,0x6f375ec27c15d50eL,
  81306. 0x2d38334326e468ffL,0x943096d75c103732L,0x4b30c0d40b0e523aL,
  81307. 0x4169da7ced307fccL,0x5c1e47e9da5da806L,0x0000000000000158L },
  81308. { 0xaf9ea9b5700e6489L,0x05d34fdbb2f6bfc8L,0x3b2dc12594068bd4L,
  81309. 0xb568253751b3f965L,0xc1a3271e109ff65aL,0x79ffae0e4b377ba6L,
  81310. 0x5e0149cedbfb4a77L,0xdfdb05a969f94a1eL,0x0000000000000143L } },
  81311. /* 11 << 112 */
  81312. { { 0x98cffe72a8e16494L,0x990dcdef990f6ae5L,0x2ffe758f7718e6acL,
  81313. 0x08fffe7f94b86a5aL,0x29ec8e3824f249ecL,0x1115cf1e702e2efcL,
  81314. 0x42d3b998ac7863bcL,0x9de49c4ba8469112L,0x00000000000001b3L },
  81315. { 0x23c141d47f0f461aL,0xd622ebb51a75ea51L,0x671dac9b98084ef2L,
  81316. 0x930fc09d8fbe7d8aL,0xb8ef755e8fa1e70eL,0xfe65e8a389920cf0L,
  81317. 0xe79b849e876f0425L,0x1c6ba4df46c016e1L,0x0000000000000130L } },
  81318. /* 12 << 112 */
  81319. { { 0xe8f06c2f869db704L,0x1225fe8e1be3a442L,0xe40e87fdf139548aL,
  81320. 0xafff68201a7dfd4dL,0x883cbb604489813bL,0x21f07a4520c07c1fL,
  81321. 0x037847dd761bfeb8L,0x2879d201fe9d73f3L,0x0000000000000098L },
  81322. { 0xcc3e104798fd5063L,0x9e3888796f0c1179L,0x6f8e0ca8f2e65336L,
  81323. 0x51d688edaf342355L,0xfef444c177e831aeL,0x34b47f9f18abf899L,
  81324. 0x4f7c42ecf9d15d64L,0xfe977f078747ba4bL,0x00000000000000b8L } },
  81325. /* 13 << 112 */
  81326. { { 0x1d7948e7e31a2875L,0x305e549d55f21221L,0xaf6d2fc5ebbf39ffL,
  81327. 0xeabb12c80ffed2feL,0xaf421cd07b32d227L,0xf8226502a9bec07cL,
  81328. 0x065359ac149ef0f7L,0x9e5e784e4f1cbce5L,0x0000000000000027L },
  81329. { 0xe64bdf95e8995641L,0x4f00ac4c4e803ed5L,0x04ac0dec6b51176bL,
  81330. 0x6de249642c3fe476L,0xf765f2240dfd1e8dL,0xdae016d744709cc0L,
  81331. 0xdcaa2f3b8ee0b68cL,0xae531c980b6bdaa5L,0x0000000000000192L } },
  81332. /* 14 << 112 */
  81333. { { 0x586d8be345624df6L,0xc58ca225de489ac4L,0x2131279186184b44L,
  81334. 0x1bacffb7566e654fL,0x795c06ee841818e5L,0xea81a1f7a64fc54eL,
  81335. 0x4202ba3b7bed4199L,0xe8e7eeb7fe735c4aL,0x0000000000000195L },
  81336. { 0x3c3260519c58b094L,0xd321218c31dda195L,0x2bf7a3196e707d92L,
  81337. 0xcde93cdbd88f1ad2L,0x80b6b9f4ceafc8a2L,0x8ddef6d7edd98905L,
  81338. 0x999d8539ce356fbaL,0x57048edffb834c3dL,0x00000000000001d2L } },
  81339. /* 15 << 112 */
  81340. { { 0xb4c8a95f54f6c3c2L,0x75cb6585b4bb79eeL,0x42acf9813af10b62L,
  81341. 0x390e90f9b1fbe61eL,0x8b38992a73c905dbL,0xeb8eeaa4b2772547L,
  81342. 0x50f226739fb26d56L,0xa7fd3621bc8ff539L,0x00000000000001fdL },
  81343. { 0x9f5f71c047cb14e9L,0x57efde78a4eea6f5L,0xffdcce979720279aL,
  81344. 0xf2602f0c42407354L,0xc32e952e4f8047b7L,0x6bef44fb120ea438L,
  81345. 0x64d8e221d5ec1b83L,0xd99027b78ef102a3L,0x000000000000003bL } },
  81346. /* 16 << 112 */
  81347. { { 0x8002b6d63dca9409L,0xd31714c1163b8124L,0xca655b42720a124aL,
  81348. 0x88388dbe9596636bL,0xa321822dc0b7dc61L,0xcdd952c85824e60fL,
  81349. 0x79ff44366cb4916aL,0xa115847e5f88dab8L,0x0000000000000009L },
  81350. { 0x1eaf3d400aed0c43L,0x7a7196f7ea2a20a4L,0x4312341497781948L,
  81351. 0x856126d0e88d93fcL,0x96dac31fd5710224L,0xc23548f5243e6395L,
  81352. 0xf351df8b9613a79eL,0x0dae5d50626fb1fdL,0x00000000000000e2L } },
  81353. /* 17 << 112 */
  81354. { { 0x9e8c65562d81c8fdL,0x361ab7401015a8f8L,0xd8bacdbc343077c0L,
  81355. 0x37cd82a04634dcddL,0x0977ad1e940d6c70L,0x97fe72e327c38270L,
  81356. 0x412f62f6a07167acL,0x08deab9b451a09bfL,0x0000000000000150L },
  81357. { 0xdd02b8d3abb38852L,0xef1b8f1d41ed4b96L,0xbfd538b1da6597c2L,
  81358. 0xf98a304e10475511L,0x232d62f619d54040L,0xa2b919809183ec5cL,
  81359. 0x5ce198ce8f3f79d5L,0xa5c7192628c2e16aL,0x0000000000000028L } },
  81360. /* 18 << 112 */
  81361. { { 0x8aaeb6bb3f28f069L,0xe57bd85a41cd19f6L,0x7a7033fbcdd073b6L,
  81362. 0x5fa5d883af974d72L,0x034fe2f8317d5354L,0x022dad78dc1c3c86L,
  81363. 0xb115c5fcdaddc33bL,0xd20ed9cacf71be7fL,0x0000000000000076L },
  81364. { 0x906767d94036188eL,0x3c3cac57a74401b6L,0xb26d32b46272050aL,
  81365. 0x01cd2c3ee4d06b8aL,0x7caabb449244b30cL,0xa4c1874d25c6219fL,
  81366. 0x53a70b98afbb215cL,0xe357a7f7f2280543L,0x000000000000012aL } },
  81367. /* 19 << 112 */
  81368. { { 0x21419b4f117d5755L,0x6af1ac64475ac8a6L,0xc1226e159cb49eebL,
  81369. 0xd61aa69c2d3f8486L,0xaacb9140fb60ad9dL,0xe0fb2170b59dc623L,
  81370. 0x5aac6818eceaecdfL,0x1e88ae0f5cdaceecL,0x00000000000000fcL },
  81371. { 0x823f91bd24c8c72eL,0x3f419586c2b074dbL,0xec995125d3c89804L,
  81372. 0x8c98840af3104c36L,0x90445c3bd88cb43aL,0xe9d1da4f814367c8L,
  81373. 0xf5edf338d4636152L,0x316aba3a39ac293dL,0x00000000000000bdL } },
  81374. /* 20 << 112 */
  81375. { { 0x1ef1df604dd7f14bL,0xc190c8b79206dde0L,0x8c0095679fc144a7L,
  81376. 0x0ca2f30a0f11e938L,0x3f06119ad15a3b46L,0xce68675d1a911f3bL,
  81377. 0x3e234a0e7dd215dbL,0x909d38cd6028bdf1L,0x00000000000000f4L },
  81378. { 0x49b323bb7b25c4f0L,0xe0a212449f498976L,0x8ffcd809bf2a0459L,
  81379. 0x1a6890a9cea1e7daL,0x6e2e2b99ab0cff78L,0x650e3170c5d1287eL,
  81380. 0xb5248d4d8ae5d083L,0x0951c926d7596441L,0x00000000000000c0L } },
  81381. /* 21 << 112 */
  81382. { { 0x9bf0fe1536b5757bL,0xf078da917322f698L,0xed973489b52119b0L,
  81383. 0xa22cb0b80dff82b2L,0x8f83dba01da278f7L,0x15a6cc1299da0c4fL,
  81384. 0x2f67fdfe5e334bd0L,0x25ab5ab602e8e1cdL,0x0000000000000125L },
  81385. { 0x269f859aa8d8e447L,0x575d716c1b24a12eL,0x729ae77eb95f04daL,
  81386. 0x4372f9de30e0ed29L,0x673c0bfd398cfa49L,0xbe9ff4fca3ec6966L,
  81387. 0x5ce7e5e3d01c14e2L,0xbec8d2f406373e24L,0x0000000000000040L } },
  81388. /* 22 << 112 */
  81389. { { 0xd93727e0486bb813L,0x04283a3e1fbd99dfL,0xdc4788c99b75b637L,
  81390. 0xe6851f5a32167da9L,0x998f7431fbc4ea2cL,0x7a9c33d1a9183057L,
  81391. 0x6b3473245d20e7e2L,0x18a168600b90c80cL,0x00000000000001ffL },
  81392. { 0x38a94d64bc888e85L,0xfe7b79ac9df19c05L,0x00bbefebf654ee0bL,
  81393. 0xebfaab4e7bfe85a7L,0x48deed60b19482e5L,0x287c06898db1c527L,
  81394. 0x5a6b27ad4c8eb494L,0xf68182ae0d447f2fL,0x0000000000000118L } },
  81395. /* 23 << 112 */
  81396. { { 0x4b816e241c2457e4L,0xbb437cd3f149da13L,0xe0be68f94998c797L,
  81397. 0x883b58207dbbacacL,0xe1da5fd525b58074L,0x77d77fde69592848L,
  81398. 0xd1f2bc60c4c21c04L,0xf2bd7b785acbe370L,0x0000000000000114L },
  81399. { 0xbea3154637b024f6L,0x7f15fc8a9fbcaae2L,0x1b56ad116021c3bdL,
  81400. 0x9356fdf096b118b0L,0xb7865be1daa0804fL,0x3a2ca9e99574d0d5L,
  81401. 0xaa5adb0f5f999f14L,0xc25f9c38ebde48f6L,0x0000000000000049L } },
  81402. /* 24 << 112 */
  81403. { { 0xb4c7662650ee9086L,0x2d9cf5f46a31d89fL,0xff6bfb32dff60978L,
  81404. 0x5176dbe145a61de7L,0xd00d55447d0750dbL,0x0d83b80c85c9b411L,
  81405. 0x2dd6470906fb9605L,0x69b0c1333d535903L,0x00000000000001d7L },
  81406. { 0x94871938210a0c39L,0xf8331fb90c93f6efL,0xf7ee035f253771b7L,
  81407. 0xbfbf3ac00f1e874bL,0x6d02567e077969c4L,0x29a752a783d55d94L,
  81408. 0x4f69563f088bff67L,0x7b1161060b77d6f1L,0x0000000000000034L } },
  81409. /* 25 << 112 */
  81410. { { 0xba6aeb1a33687c9eL,0x7d52e286f08ec854L,0x53187e3da1008096L,
  81411. 0x6cc41c9a2b238ff7L,0x5c95188b399bf250L,0x4864754ddbe60f4bL,
  81412. 0xd266be6d3c9440abL,0xe59c36d4977447cdL,0x0000000000000128L },
  81413. { 0x7c29f965bea1476aL,0xb8fec71e7624ae90L,0xfa1cc18fde04ae65L,
  81414. 0x00fa80b93a6b1843L,0x8ebd2e7305e7520dL,0xfc12b6a59d714810L,
  81415. 0xa219d25f3a532a09L,0x1121083c45999cf8L,0x000000000000013cL } },
  81416. /* 26 << 112 */
  81417. { { 0x137ada30d2de83eaL,0xda2153422a878fcfL,0xa6a5cee60e171f25L,
  81418. 0x3f69086f2dd4c3c0L,0x86088100fb43ba86L,0xef809bbfbb0ccb0cL,
  81419. 0xd79c4869c4d677f2L,0x2b2bdbb20404add2L,0x00000000000001aaL },
  81420. { 0xdafc91eb22edf44fL,0x79590681f4d70677L,0xac8808fd3d9bfe05L,
  81421. 0x2b0c8d47afdedeb8L,0xc767c9b30f819111L,0x26d2b198b54b2fdaL,
  81422. 0x17a4d748425ecf19L,0x3d553a2e27bbc127L,0x00000000000001d7L } },
  81423. /* 27 << 112 */
  81424. { { 0xaf086404ae4f64fcL,0x24ec81035e4dac4cL,0xa4251f19f4188728L,
  81425. 0xb90da169ecde3424L,0xee6c23889d75d76cL,0x5cf9b73e303f7e0cL,
  81426. 0x4f0d6e9e45d8766cL,0xcbbe41aa6734beb6L,0x000000000000006cL },
  81427. { 0x11f1929f6460b3c6L,0xbddb7165e81dc98bL,0x0dfd5fdd725622c8L,
  81428. 0x7c4b0cdc2c8090abL,0xf2605abf9966a482L,0x5ef91579fab0a8e3L,
  81429. 0x334d92ff7a5431ecL,0x5440c23516dc21d9L,0x0000000000000086L } },
  81430. /* 28 << 112 */
  81431. { { 0x9fa60a6af5784616L,0x54bc84246184acc2L,0x57d5d2c41435c018L,
  81432. 0x5f94475b333621cdL,0x5b7740d06e210ce6L,0x624d301d0dd3dbd6L,
  81433. 0xad599276a4216433L,0x7e1140bd4b3817e0L,0x0000000000000032L },
  81434. { 0xadfe76b487f3e336L,0x88a9a1231a1b9b6fL,0x1bac6e4f14c14b8aL,
  81435. 0x8a531f4dbc215bebL,0x874545261c42d401L,0xc65a168cd62ecb42L,
  81436. 0x38188b89f24bf291L,0x94f7d5dec788c069L,0x0000000000000194L } },
  81437. /* 29 << 112 */
  81438. { { 0x7d9d6f15fd868b43L,0x3308e6e8e1332d89L,0x53a64fc25c2ea868L,
  81439. 0x819f727861bab859L,0xcd683cc16fc55f42L,0x46ec76818e4ac49eL,
  81440. 0x16e180e3b85ccaf8L,0xcec7676e180c0dc5L,0x00000000000000f0L },
  81441. { 0xcaf24b54f10d6c7dL,0x3bb37a70423e6ab5L,0xa40e49d25eb685afL,
  81442. 0x512b2a6ca52af2beL,0x495633b5253da10eL,0xa87169e1ac1316b4L,
  81443. 0xd9ede4ff3ea71d6aL,0xa7bde55c751fee86L,0x00000000000000c6L } },
  81444. /* 30 << 112 */
  81445. { { 0xb4dbbfc31d447fa3L,0xc0180e814e1f0ae5L,0xc4aa44e04e921352L,
  81446. 0xed72abd5dbbbcc8dL,0xbe0924e6f0fc4050L,0xc735729a7e5a1390L,
  81447. 0x23b83364443bdb32L,0x72df0a07ec53bdc4L,0x0000000000000048L },
  81448. { 0x2c24dd590a570f18L,0xe436ab7291876f65L,0x5b92bcc4ffc6ae4fL,
  81449. 0x3d6471f3c9ebc873L,0x43efbc5d44292f69L,0xd47637134a107c1aL,
  81450. 0xa367b573248b7c52L,0xf099ea0671daf202L,0x000000000000013cL } },
  81451. /* 31 << 112 */
  81452. { { 0xbaf9d6a6b3e1adf8L,0x20ccb29705fd0ec2L,0x3241615122d8be8eL,
  81453. 0x8c0084416a2db0f8L,0x1ef0ebd4551dd651L,0xe6cc97edaca8e550L,
  81454. 0x9c6f70152c1571afL,0x6ffa2b32b9c3f7d4L,0x00000000000001f9L },
  81455. { 0xd200e04cc91c0f39L,0x0e096f28fd99b77cL,0x9594a20807de898dL,
  81456. 0x55a442ae69bcb511L,0xce1d9649e015f1b4L,0xdd4a639869edda8eL,
  81457. 0x3955b85fcca25768L,0xa003c09dc949f4a7L,0x000000000000000cL } },
  81458. /* 32 << 112 */
  81459. { { 0x0fd02a81c0326cdaL,0xb52279ac0e5cf6e9L,0xd0e8f1cf682ad865L,
  81460. 0x01eb99642e847be3L,0x30468f94689baa91L,0xa466fa2bb4584d20L,
  81461. 0x99847f1b327c510fL,0x206bd41d26e6f2c0L,0x000000000000010bL },
  81462. { 0x8a04fd93ba3011f2L,0x14c757b9af6c7e86L,0x4987100779ecbe33L,
  81463. 0xedf33e226185a74fL,0x35ad7383d4a03368L,0xeb5a269ece6efd32L,
  81464. 0xc83c5fb3208fbf53L,0x35030bb2702bb900L,0x00000000000001deL } },
  81465. /* 33 << 112 */
  81466. { { 0x286bf9c2facb4117L,0xddbf33d2133bb3bdL,0xe0c21ce9897c4fe6L,
  81467. 0x3f3a249c219126ebL,0xe925c2cfe9c7e211L,0x7999d7c0f418a42dL,
  81468. 0x24d5577c585a7c91L,0x580ba3affad6e5c8L,0x000000000000005dL },
  81469. { 0x596e7dc97200c090L,0x8460b9a4531d17ecL,0x19f9aed95e4e1067L,
  81470. 0x522379e68a7a6444L,0xa6618a0e7cdc51a7L,0xb285055396e7f790L,
  81471. 0x605b7e1ff732fdd1L,0x0fe9b751fa8b87e4L,0x0000000000000028L } },
  81472. /* 34 << 112 */
  81473. { { 0x0686b81946cb78fbL,0xac50e15b367be8acL,0x6b74a620211895c8L,
  81474. 0xc35a52e83817a3f9L,0x9d3a57cd4fc49432L,0x771878ad4df33060L,
  81475. 0xea4ae8015c216dbcL,0xecc02683da89b496L,0x0000000000000193L },
  81476. { 0xea1efb5a768b6f09L,0xd97562e7e3ab79adL,0x61ad861c094a606aL,
  81477. 0x614dfe95b42bae9dL,0x0372b7a5558bf490L,0xfec9f31dd1f2089bL,
  81478. 0xc31fd1236d5d51d4L,0x26dec1eb0f1ef668L,0x000000000000004bL } },
  81479. /* 35 << 112 */
  81480. { { 0x26ce089dbac679acL,0xa9d9673a64c08615L,0xfe92cec3f9d9d747L,
  81481. 0x4616a4dcad6da7b2L,0xaaddf97cb6f6b8fbL,0xa1cabda1c32a0803L,
  81482. 0xe8591a79c55e17e5L,0x3bb889adc7dc707aL,0x0000000000000191L },
  81483. { 0x22158400511bd374L,0xd10d5a727f1f4d0bL,0x5b40bd90e732bf5cL,
  81484. 0x88d82eb665a81746L,0x4f64f578fbcebfe8L,0x867c0094eee40ddcL,
  81485. 0x6934932a6c500cc0L,0xc117a16b667da9c5L,0x00000000000000a4L } },
  81486. /* 36 << 112 */
  81487. { { 0x5c7994b4abedee4eL,0x3e77983ba4fbf6d7L,0x9d7f330f30003463L,
  81488. 0xb2ec7f739a611df2L,0x595627f9a405b4d8L,0x187ea7ae0ea408bfL,
  81489. 0x2b087af141b1dec4L,0xd8d66597807e4012L,0x00000000000000f6L },
  81490. { 0xfb1b1154ea7b83ffL,0xcb3c2b19d3b88c90L,0x8c15c0b5ff85a044L,
  81491. 0x65154a83e62fc44dL,0x1fbf5b7f26ed762bL,0x81d36b15c7b364c0L,
  81492. 0xdb0091f1bf2553b1L,0xb6dddcaf2845f359L,0x000000000000016cL } },
  81493. /* 37 << 112 */
  81494. { { 0xaa5114266f231058L,0xc6482f93928adf7cL,0x523a25c347a07da7L,
  81495. 0x4ab79da70c795a5bL,0x9a5026f119711fe7L,0xcf2212a729784bc7L,
  81496. 0xe59e7fa59822fbdeL,0x5b4e997e94e459efL,0x00000000000000d8L },
  81497. { 0x085b185681605f9eL,0x8e3365c4f006bca8L,0x71d7b84b54838742L,
  81498. 0x2b18649aea5a336eL,0x3268764778f7c79bL,0x2b02db33998d6a9aL,
  81499. 0x830a0a96ce221a5dL,0x6c02d7d754314b97L,0x000000000000007aL } },
  81500. /* 38 << 112 */
  81501. { { 0x618ac20093031925L,0x160d9b20afb97ccfL,0xbd4b01c66aed35f4L,
  81502. 0x202c1b39edeb2215L,0xd52fb1cb468764e6L,0xd6da21af72b76e0bL,
  81503. 0x98740e64527eb510L,0x443caf748fdbc02cL,0x00000000000001b0L },
  81504. { 0xd1d700ea574366bcL,0xb40254dd9b0e1210L,0x3172876c607a8809L,
  81505. 0x624a23de5ac14d73L,0xdb1e5debed4d8a80L,0x5d717d8f2976f6e8L,
  81506. 0xf4e1d47f42f699c6L,0x433896d520c0ece7L,0x000000000000015bL } },
  81507. /* 39 << 112 */
  81508. { { 0xc648e6401f24b1f1L,0x783449d73e5f7c72L,0xa57ac4eff3742d85L,
  81509. 0x61ffe0c9835552b1L,0x62834ef697fdac2dL,0x02703b63f115fbd7L,
  81510. 0x44f47a41aa559e1dL,0x1e7e37c5d15332beL,0x0000000000000134L },
  81511. { 0x427f35ffd9dd4be1L,0xddcf13578da4e6a6L,0xe76af9ebdda54617L,
  81512. 0xe3e193dbf90ee15eL,0x39a4c7219604bac2L,0x14789a4ac4760af0L,
  81513. 0xb38e14c8cebf3c19L,0x40f7c343d9f78662L,0x00000000000001dbL } },
  81514. /* 40 << 112 */
  81515. { { 0x7d46f1e8b4cf8254L,0x3c44cc7f8651132cL,0x3875ea48ee02fdc3L,
  81516. 0xd5d464377fd9ae7cL,0x25ebde075fbebf38L,0xecdce3a5ffa2efbbL,
  81517. 0x6d34a645aacaf39fL,0xca5b72131c664594L,0x000000000000012bL },
  81518. { 0xe9ad950f97a7b67dL,0x37188f256fb141fdL,0xced17e9ca1d977f0L,
  81519. 0x8137e722c6c3dbbaL,0xc50f36d663a37fe7L,0x68e1ce2f8fea88a9L,
  81520. 0xbee6e56df5023489L,0xeaa15a26a2efd265L,0x000000000000013aL } },
  81521. /* 41 << 112 */
  81522. { { 0x504c9c3d75e5a8b4L,0xe977ce76a03d92b7L,0xc3f27a726d9519acL,
  81523. 0x5832b7597ec79b04L,0xb95c1a2f6e80227fL,0x0c329956fb9974faL,
  81524. 0x3359e49ef8bfa9b0L,0x2d20a5b0e2a1b8aaL,0x0000000000000034L },
  81525. { 0x4fcc30afd686911eL,0x308f27ac164c63ecL,0xf28538a1ee74882cL,
  81526. 0x1b5788b17d109e31L,0x1f74b17e6527057bL,0xa00fba0ef43780f0L,
  81527. 0x43f846884577d23eL,0xb6a7ae44decaaa4eL,0x00000000000000eeL } },
  81528. /* 42 << 112 */
  81529. { { 0x032f87b82c06f35aL,0x64d3ff064e7bb1e5L,0x08996732093862e9L,
  81530. 0x3170addcccf193beL,0x641c81835da05299L,0xe296c9ff4ef3361dL,
  81531. 0x3995b3a1e8783402L,0x0800b438e47c8177L,0x000000000000012cL },
  81532. { 0x6dd8391f62e4d595L,0xdb4d7411ab9a174dL,0x927d7c28f1eb7186L,
  81533. 0x26657338bd593ae9L,0x3bc2051cf5628e63L,0xa97e4b8b685408d4L,
  81534. 0x28251aebd2f3e22eL,0x4a08d5bc83d10ac4L,0x0000000000000043L } },
  81535. /* 43 << 112 */
  81536. { { 0x2a8ce2836288507bL,0xa635d48fdd390d24L,0xeee7975ed1b87f8fL,
  81537. 0x162563d6d731058cL,0x3d84bd12fbab97f7L,0x5c918d9c5fb43dffL,
  81538. 0x3c4bd11bc0a07876L,0x8d4ddedeb4d4f961L,0x00000000000001faL },
  81539. { 0x38e6acf7ee510691L,0xa15ceec44c94614bL,0x50a5b266995668e0L,
  81540. 0x0d4a02f08e0821feL,0xb6f05bdce7b13d84L,0x8f749724f4633064L,
  81541. 0xe9c87eb2218611c2L,0x266a06987e558ce8L,0x0000000000000193L } },
  81542. /* 44 << 112 */
  81543. { { 0x1a590ef8fd2add3aL,0x9a67ccb86eafaac3L,0x32b6e3eaa95c46a5L,
  81544. 0xdedf7158cc6fd626L,0xb43928588add9774L,0xea5bd604df9136c1L,
  81545. 0x8675163af55a7019L,0xb3f4557cc3a96febL,0x0000000000000111L },
  81546. { 0x2835680edb0e4f25L,0xe969cf144cab4022L,0xae88c607bfa42739L,
  81547. 0x27cb7e15c80b87daL,0x4bb26559fc7432f5L,0xd083dbeefb7371b5L,
  81548. 0xa47fb4e384e05decL,0x2872d4720a3ab26bL,0x00000000000001c3L } },
  81549. /* 45 << 112 */
  81550. { { 0xeefa89d6ccfb12f2L,0x2096c071dafb741aL,0xd3d1918e4619fd06L,
  81551. 0xfddcceb9da05c012L,0x3385b550dc794688L,0x038c5c77c3911912L,
  81552. 0x770139d611721c23L,0x2266e021c30f428eL,0x0000000000000015L },
  81553. { 0xfa215837ef6edd0dL,0x1c26f889bb764661L,0x7b94a37bba914166L,
  81554. 0xf571f7e9042f65bbL,0x38de83e849b57e28L,0x30b1332bdf81998cL,
  81555. 0xc8abf5abaabd0834L,0x4a0c78cfc8381e84L,0x00000000000000afL } },
  81556. /* 46 << 112 */
  81557. { { 0x3d5a2cc2b9b6cb9dL,0x451655a6344f2f58L,0xb1b47d157fa3f835L,
  81558. 0x968a6841f42c60d9L,0xb84b7308f8f7c5adL,0x452a354d89555eb6L,
  81559. 0xef55dd0ffdf2cb27L,0x74eb80451f99bc70L,0x000000000000010fL },
  81560. { 0xee70cf6eae8f7d18L,0x0c7c6a33cc7856a6L,0xa0b262b553cc50b3L,
  81561. 0x885cbc7856cd61c9L,0xe804e59f27357b72L,0xa25e4e2ff0de1262L,
  81562. 0x6f15c8fbe66bc201L,0x553d0f8e2a012e0eL,0x00000000000000aaL } },
  81563. /* 47 << 112 */
  81564. { { 0x984e30a1d77350faL,0x2d8d4baba501ad13L,0xf6a76e16e10ee73aL,
  81565. 0x512b31c76955b642L,0x25a977e01e88bd3bL,0xf5a5f60798821007L,
  81566. 0xebb4e8ed81819b38L,0x359f9c62004e07f6L,0x00000000000000d2L },
  81567. { 0x1c0218a4499f21c5L,0xce12310336fc822dL,0xa9a55a60d384c462L,
  81568. 0xf891a118812e45c9L,0xadc5eb313ecde0e1L,0x189f50c1e4e0da26L,
  81569. 0x34b21a3323276e3cL,0x490c316c9467a0d8L,0x0000000000000192L } },
  81570. /* 48 << 112 */
  81571. { { 0xa59d74fd4ae20507L,0x46d0adbaa86a468cL,0xc004c36b0df04371L,
  81572. 0xa0f3cad9c6138633L,0xfe2133c1eeb5863dL,0x0ef5dc4884041aa3L,
  81573. 0xbc3f0e491707f418L,0x3677e9ebdd7cdf90L,0x0000000000000178L },
  81574. { 0x454656623a62115fL,0x4985e0a08192fa59L,0xabd64eec2ae07a9fL,
  81575. 0xe0e94a6d9182d301L,0x5230272bb543c76bL,0xb7a9f6ce5b5b137bL,
  81576. 0x45903dec3e7b2872L,0xade6111744296989L,0x000000000000001cL } },
  81577. /* 49 << 112 */
  81578. { { 0x1641b779225fe8bbL,0xb2c04a9e0995ebcaL,0x0270ad40d7b634d2L,
  81579. 0x54301c3a0235166aL,0x17a2655a84428da6L,0xe4849f07bf319f15L,
  81580. 0x54346197a3975f9bL,0x1400bb7353454131L,0x00000000000001adL },
  81581. { 0x1d8cc6c47b133fdaL,0xac430140c99c62beL,0xe438a1d959380ab9L,
  81582. 0x984c0ed8d0ce3602L,0x56f90ee1bcab7a0bL,0x55067ca825fcdba1L,
  81583. 0x7fde8ced07db34c1L,0x70a106fa9448fbdaL,0x0000000000000110L } },
  81584. /* 50 << 112 */
  81585. { { 0xf5c0e5baf99caf44L,0x4b0a642c89af2ab6L,0x082ea9e1c6f1f294L,
  81586. 0xc1da27771a9eb5e8L,0xce038334379f1b75L,0x662775ce806524f1L,
  81587. 0xd4200a961de789acL,0x94e49840f985d4c7L,0x0000000000000188L },
  81588. { 0x9765c5a05332e704L,0x35e54513f357c532L,0x871a4dcee65f1729L,
  81589. 0x100d2bbf9b2d7c46L,0x58590df34c23bfcbL,0x8ffec9bf59d15a0dL,
  81590. 0x33c0e85e6a2a3312L,0x6fb39c77d2846bcfL,0x000000000000002fL } },
  81591. /* 51 << 112 */
  81592. { { 0x2f6183097b4858b0L,0x4d4d2b80f34c0437L,0x4bef8204699cc258L,
  81593. 0x13a4f63696736be6L,0x6ca2df088c828b7bL,0x0dbf95001564f616L,
  81594. 0x03806a3426723221L,0xadd4715f3594f49bL,0x00000000000000feL },
  81595. { 0x2255c005d91a7a23L,0xd31821aabd8738f4L,0xf417c40758c41cdcL,
  81596. 0x1bf2e581ce1b6aeeL,0x13ba4d9331a003ccL,0x02658dbdb9d35167L,
  81597. 0xcce7251fcb565afcL,0xd17dc6a8d300b06dL,0x000000000000011aL } },
  81598. /* 52 << 112 */
  81599. { { 0x023b057fad5df81cL,0x0906bab2d1df9f2fL,0xd8d8a173709fadfbL,
  81600. 0xa8ba2a86a6c45ef3L,0xeb1d4e331be5b53cL,0xdef9c19e56c39843L,
  81601. 0xbd1763c0c1d3eacbL,0x0e7eca5142490ba4L,0x0000000000000088L },
  81602. { 0x8d446e88a5f070b8L,0xe8136967fe9e8b21L,0x0a26424b816d519bL,
  81603. 0x0dee87a30bdd1c2bL,0x2c6c6287b75b6cf0L,0x50558e41c28a75f2L,
  81604. 0x40727fe07d2b4ab6L,0x34832548349c668eL,0x00000000000001fbL } },
  81605. /* 53 << 112 */
  81606. { { 0x135a24aeba593c17L,0x024315aeeeadb96bL,0x549040a3872ee831L,
  81607. 0x05781e1ca527850aL,0x97a7a4a46ff2f4fcL,0x667bef40328e2318L,
  81608. 0x133a153c13ae6aacL,0x25e691f7dd80ce7dL,0x0000000000000041L },
  81609. { 0xbf2b901433cf2b24L,0x74df7e9c1ad04c41L,0x5cb289df132de33cL,
  81610. 0xbcd1bec484f41349L,0xc0f49a0c36f55149L,0x578571e03398aefaL,
  81611. 0x65823d11b11cd39cL,0x44f1a009ce63b025L,0x0000000000000042L } },
  81612. /* 54 << 112 */
  81613. { { 0x8a2b478e8343cec7L,0x2820d2fbda374a71L,0x9d473bb194af8efbL,
  81614. 0xcc54c95f16b56d2dL,0xa0bf40a0430f13f0L,0x6a56a1dbecc6cb08L,
  81615. 0x6180fbfdb7bc57d0L,0xd6b165b76bdab048L,0x0000000000000100L },
  81616. { 0xf5b147b7f8e4648fL,0x97d37c258437bf24L,0x9465879086556798L,
  81617. 0xf1321e101f3fcab3L,0x37d4d1ea7351c0deL,0x59b6bf365fc92770L,
  81618. 0xa950de8086276f0aL,0x367635f61786be75L,0x00000000000000b6L } },
  81619. /* 55 << 112 */
  81620. { { 0x31f3a5c38e113349L,0xa374734db1c20ec8L,0xa6f0e423d1eafe52L,
  81621. 0x1f32e96c0b901678L,0x895ce01dbb18837aL,0xd91347a55d9930e0L,
  81622. 0x7a43364e9a86a004L,0x590ec9096b157d23L,0x00000000000001cbL },
  81623. { 0x7e3b46799392608eL,0xe29453e8a9c8b459L,0xf460b030993c90ffL,
  81624. 0x91ec7bbc33b15097L,0x743fbdfe1a68fecfL,0x224e914959860761L,
  81625. 0xda87ca63eb1dabdfL,0x6f509876cf17d2b4L,0x0000000000000058L } },
  81626. /* 56 << 112 */
  81627. { { 0x951aef0c34412809L,0xb20f279499403457L,0x5a30efe2df842006L,
  81628. 0xccd7c89150a68d91L,0xb750afe1f819f912L,0xc0017d9a4fa1c8d5L,
  81629. 0x19a5f2cdbcde79b8L,0x7b6686e03b7f4682L,0x00000000000001a4L },
  81630. { 0x74060a6acdce424fL,0xd35ffef26ee7e0a4L,0x8e238effacd0a03dL,
  81631. 0x95d28a08f5cb5bb7L,0x654858407771be75L,0x3b753ffc4873ff72L,
  81632. 0x1bcb2bc8c60d11aaL,0x005e5c5d3dc06c4dL,0x000000000000008cL } },
  81633. /* 57 << 112 */
  81634. { { 0xcd13e3389eb436baL,0xb0ac873ea2da8315L,0x4666e06810f3dbf3L,
  81635. 0x0e5832027644be64L,0xd682457a397db83fL,0xd55546a11b832130L,
  81636. 0xd6dcb98d8ecffff5L,0x7e95eb40c3368e15L,0x0000000000000125L },
  81637. { 0x8239cf6862306bb7L,0x3ab70de64ec9caf2L,0x4387316c86af4457L,
  81638. 0xc60d6e709327cf2fL,0x0f936e7caea1796eL,0x184ef761f8dcec2bL,
  81639. 0x447d5a965eb06c81L,0xc969bcce3764ed27L,0x0000000000000145L } },
  81640. /* 58 << 112 */
  81641. { { 0x6a9ea90ba4680770L,0xf9e6ec6093314278L,0x69360f538727b4c9L,
  81642. 0x5f20e2ccaf754475L,0xfe3f4c4aef4d31f2L,0xe25edaa3fd4dc244L,
  81643. 0xb255796172dc983aL,0x7ab62907a1c19791L,0x000000000000002dL },
  81644. { 0x6af3e2c939a3be8dL,0x7c100f6bba83593fL,0x933408151f986d85L,
  81645. 0x6a3e36274c8ce9beL,0x263f3820d0fe0d3fL,0x100201e1f9a54852L,
  81646. 0x34ab0e71c2175ba5L,0x105312c8a23a1598L,0x0000000000000196L } },
  81647. /* 59 << 112 */
  81648. { { 0x1a844aabd7391a5aL,0xaaab287d8b4b3501L,0x1435f8a12bc5061fL,
  81649. 0x4588693ec9044802L,0x9e86c1820a553513L,0x7bd0602fc8fd44d9L,
  81650. 0x894b901621d26ce4L,0xc0f06181bf73bfb1L,0x000000000000000bL },
  81651. { 0xe6ec15971782220eL,0x4c2e6efc285fb2b4L,0xb688822d2edaadb2L,
  81652. 0x129be3f8338c9913L,0x0836465246d13d20L,0xbc93fd48530f4ffbL,
  81653. 0x8b6d9caf472dad14L,0x7a977a52a37172c2L,0x0000000000000037L } },
  81654. /* 60 << 112 */
  81655. { { 0x1b26fa58fe5246ecL,0x45b69d4ea6d48abbL,0x4bd1bf364b47c822L,
  81656. 0xe543f2c9f015149cL,0x1f82bab432c44a8eL,0x6f27aee23824ae58L,
  81657. 0xba8cabd695e3e7ecL,0x9bbb31bc66b8eb78L,0x00000000000001fbL },
  81658. { 0xc88a99b9e2708288L,0x7e228e8097db1cd7L,0x84c064e5c935e31eL,
  81659. 0x0d69185a2f2f010dL,0xfa9c64e661a440ffL,0x9d655e24a4bf903aL,
  81660. 0x776e8661bacc5b4eL,0x39a98e6e18231a7eL,0x00000000000000f3L } },
  81661. /* 61 << 112 */
  81662. { { 0x3d7416191aa43b05L,0xa196772534da61f6L,0xc6a9881c9fe86cb4L,
  81663. 0x312a9d68c3b88c86L,0xbb34c3cefbce7f28L,0xab59cf050eefb825L,
  81664. 0x174945c17c8ca5a1L,0xee1a3e9f78d5f3e7L,0x00000000000000b2L },
  81665. { 0x23545e86246672c5L,0xea0ffabbee486373L,0x5d0ad0371dc589cfL,
  81666. 0x7c9e301d57718f3cL,0xc9772db800fbd5beL,0x9821a095463668b8L,
  81667. 0xc76345bdc3c57757L,0x4bd844a73c2d1c8eL,0x0000000000000060L } },
  81668. /* 62 << 112 */
  81669. { { 0x8539e35c7e332459L,0x00fc0e9f98112339L,0x66bb5320ba989b61L,
  81670. 0x4c6a3f25209282c3L,0x14ad058dc440c82dL,0x6d4b647649afd02cL,
  81671. 0xe2a127a77b3f32dfL,0xf3a4d7633c921ff2L,0x0000000000000036L },
  81672. { 0x88de18f672d6240fL,0x980bc77f373f12c2L,0x6558ca734246eba3L,
  81673. 0x903c033b4ec51cefL,0xd83342185dd505bbL,0x51a9e645e8bb1731L,
  81674. 0xb32588b6e307ec2dL,0xc9a481b31c46ca72L,0x000000000000015cL } },
  81675. /* 63 << 112 */
  81676. { { 0x2b5bdf56beea4241L,0xc1e3e0225b740107L,0xfc8fbae009238bd4L,
  81677. 0x991d834280953392L,0x3418731d37d2efb3L,0xea7940f99b0e2279L,
  81678. 0xe45b37101a57c70bL,0x69c37528e4e38879L,0x000000000000009dL },
  81679. { 0x6f566050b423111aL,0x8719ea62fb467f2fL,0x805bec724b45fb47L,
  81680. 0xfd2169aca28673f3L,0x90d8d9757d896d31L,0xf553651583762591L,
  81681. 0xc7fc36f483122a6dL,0xc145ab75e6c19a5cL,0x00000000000000f8L } },
  81682. /* 64 << 112 */
  81683. { { 0x809dc9ec3ecc9997L,0x005bcab58cf9605cL,0xfc78790eaa1b4ed6L,
  81684. 0x6d80a56d687f88a6L,0xb7640965ab9c0398L,0x61fbd11cfeda1c18L,
  81685. 0xdf0fb213831177f2L,0x39e15bfe11a2d00aL,0x0000000000000049L },
  81686. { 0x05d1b9cec407557aL,0x0fa7f405ffe62203L,0x0267252d7efa3c26L,
  81687. 0x445c8adda59468e2L,0x205a0236cd1dda49L,0x3a2196f39f2bcbc8L,
  81688. 0x9c1158d8cd2760d0L,0x1ad9a2f4e806abf2L,0x0000000000000044L } },
  81689. /* 0 << 119 */
  81690. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  81691. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  81692. /* 1 << 119 */
  81693. { { 0x97f22a4110c355dcL,0x550f2515bf8056baL,0x253c72a37ef07316L,
  81694. 0x0f1f8cd585b059a3L,0x8d432e48a7e4d4a3L,0xcdf3981d7b2c78cfL,
  81695. 0x15d98f56dfd71053L,0xc95ecb64949930d5L,0x0000000000000195L },
  81696. { 0xd5e23bcd4b7d613eL,0x8603f848f66ecebeL,0xe2cfaef127a24540L,
  81697. 0xd35bba9b2e9e7eaeL,0xb7f17d307f8c1bd4L,0x901506c4e0ab51a6L,
  81698. 0x3e0d62a390755f2bL,0x8db637dd3c553544L,0x00000000000000c1L } },
  81699. /* 2 << 119 */
  81700. { { 0x9ebd0a79e09d583bL,0x8890ceb33f312038L,0x254ff069fe1c7d97L,
  81701. 0xcd82a50a3825dcb4L,0x065bf2f94c37cde0L,0x59b7c4e2a7b458e7L,
  81702. 0xace6716e7d105c29L,0x84d999349f26170eL,0x0000000000000107L },
  81703. { 0xdca7480bfaada7a3L,0x203303d30d4fb693L,0x0ec1c4d2b9ef7822L,
  81704. 0x2b97216d594552eaL,0xb93e533eb59c5490L,0x50d31ad60d6c3787L,
  81705. 0x0f1014d65cb84476L,0x0523796c02b816adL,0x00000000000001faL } },
  81706. /* 3 << 119 */
  81707. { { 0xaf1e4ca2a7db5dafL,0x7cd7bc5fcf367163L,0x1bc98e50f65d85a6L,
  81708. 0xb86fe8a7aeed093fL,0xfebaef0941e74246L,0x7c4ae3825d97753eL,
  81709. 0x93352c2db192c8c4L,0x0edbd295f0753edfL,0x000000000000009cL },
  81710. { 0x12c415e884e12bc3L,0x6f90b11c8582ffc1L,0x67cb4af0d8c1070bL,
  81711. 0x97c8ccb18a79326dL,0x69ed5c55e5125d94L,0x496103ae1b1baf56L,
  81712. 0x32066cfdbf98cfc1L,0x77c898116d9f4999L,0x00000000000001d4L } },
  81713. /* 4 << 119 */
  81714. { { 0x186535555b9bbe35L,0xe67d27e0e3d2342cL,0x06c2f1f39775eeefL,
  81715. 0x1d98dae9e778d2ddL,0xd04ae2693d8c8e86L,0xc49c1b77d8c7ff3cL,
  81716. 0x33c474c9dff1687eL,0x4b0397567350001aL,0x00000000000001d5L },
  81717. { 0x3a01b07dfe70659cL,0xe8bb7a25ec01b5d1L,0x42f9b07d713a5bf0L,
  81718. 0x9c1f15cf370d1490L,0xd2804385895c898bL,0x72905d530194561fL,
  81719. 0xf467f9e0828ce8b5L,0x54d2132d53e3859fL,0x0000000000000183L } },
  81720. /* 5 << 119 */
  81721. { { 0xf143a867c3316e20L,0xf2bd4f50bc497e24L,0x2aaad2ef37ab1547L,
  81722. 0x9ce62d3f3f7713f9L,0x3246f9c020486bf8L,0x3db017e20da96c8cL,
  81723. 0x56b674701a782cc7L,0xc4c70e3b136bf566L,0x0000000000000058L },
  81724. { 0xd8c1bb99ac35dc35L,0x7487501327c7a0dfL,0x45a025f618aa1c21L,
  81725. 0xdd7ce0f04280e892L,0x8fc15397ddb495aeL,0x51b198def1891c05L,
  81726. 0x81cd5f32268f273eL,0xec2aa11586b31e95L,0x00000000000000fcL } },
  81727. /* 6 << 119 */
  81728. { { 0x7e4fc745603f4f62L,0x300e74342f0eb97dL,0x0e64a63411be4195L,
  81729. 0x6c160b9d52b038e7L,0x4d130d75a62d7fb8L,0x83b6412b23b6bf71L,
  81730. 0xe92b5b0719d0a2d2L,0xf547f666fe79aa1bL,0x00000000000001dbL },
  81731. { 0x609495e1a1364f6bL,0xc196a1c69de725e5L,0x24e0c338051a1989L,
  81732. 0x5b24ecc17132b77cL,0xc38889537d5f2440L,0x847186d0ddffd474L,
  81733. 0x0ea28f9c643c84f9L,0xac9296ca4cdfcc12L,0x0000000000000151L } },
  81734. /* 7 << 119 */
  81735. { { 0x8010e2ec682e5ed7L,0x231b6fc4ccd555e2L,0x08b20819b4cc2bb7L,
  81736. 0xba49a7a8b38f4af8L,0x6ee2df34ff5875adL,0xe10d9cba25883081L,
  81737. 0x7b41a2bf599dc323L,0x01679b17a6aaa35bL,0x0000000000000060L },
  81738. { 0x3396ca47c09ee443L,0x4eb85f5371662a3dL,0xd9dcc6710ef4b6bbL,
  81739. 0xaead8bf43c3199edL,0xd5ee8048216c81a9L,0x5e60fffd6f00e815L,
  81740. 0x115afc95967359a3L,0x316b88ba9c6fb569L,0x00000000000001cfL } },
  81741. /* 8 << 119 */
  81742. { { 0x62e30f146b33442dL,0xde4d2e1042123a0aL,0xa1e5e2dda59b4649L,
  81743. 0x2b6aa7d5dfa5d292L,0x83f0033e00c25b90L,0x2e6143261d598a8fL,
  81744. 0xa5aa5a26df8943faL,0x7459318ad4fb7104L,0x00000000000001a7L },
  81745. { 0x53ed625bd67084d6L,0x47a2d5950d232f5dL,0x593a7030f8863270L,
  81746. 0x3e87b5ab993051e2L,0x02e51486ca5387c6L,0x7612f0c7a818de0fL,
  81747. 0x32d26729b42f317fL,0x48a9b12fb9a3c2f4L,0x00000000000001ddL } },
  81748. /* 9 << 119 */
  81749. { { 0xb331e5f4f0c18c18L,0x34ebae25ed4f1f6eL,0x1d43ad4aa25f2fffL,
  81750. 0xc75517b81c368e17L,0xeb289c54992ad974L,0x8ad87538f5e364bbL,
  81751. 0x914d356e089ad0f3L,0x65a5ea69d54982caL,0x00000000000001c4L },
  81752. { 0x51212cfc269ce3e2L,0x43a6142228f9247dL,0xfaed8540c4abf936L,
  81753. 0xeffda37241f6c6ccL,0x766e3a2bd9497366L,0xbfb0e6af67baae9eL,
  81754. 0x4b943b2b4cf8e2eaL,0x14ff3bc90579b694L,0x00000000000001c0L } },
  81755. /* 10 << 119 */
  81756. { { 0x60b11099cc0ae72bL,0x51cf7973d3588531L,0x62aea2ee1f018f3eL,
  81757. 0xceaec7a028e42557L,0x695f7cce52df0599L,0xf22825452a1b3f00L,
  81758. 0x8c2df32e6394de22L,0x18ce083e2db1770fL,0x0000000000000088L },
  81759. { 0x7989f8bf4ba02f8fL,0x22fc813fb69bd72bL,0xf4eefa600a383c73L,
  81760. 0xd7aa3e7e6dbf9f7dL,0x98113db2d2d50a4dL,0x47e078b14d81782dL,
  81761. 0xef4cea6327df6aceL,0xf720012f577eefc9L,0x00000000000001c9L } },
  81762. /* 11 << 119 */
  81763. { { 0x8a7250ac0b860356L,0x68cc18db827712fdL,0xf51e42975c278210L,
  81764. 0xd739081ce152d377L,0x3be304ef809d58a8L,0x2e2866fe1d8e32f8L,
  81765. 0x079e155045a93bd3L,0x0b6e67a48277ca0bL,0x00000000000001d6L },
  81766. { 0x554f41797dac30e9L,0xd57280b1379d715aL,0xd12134dcd0185268L,
  81767. 0x9fb040dd55b10542L,0x89f90cbe9419c076L,0x058fa0d6397cc301L,
  81768. 0x7b1ebc8b10ab543eL,0xeeadfe47674313faL,0x00000000000000e1L } },
  81769. /* 12 << 119 */
  81770. { { 0x45ff6cffe1a83401L,0x7b9b4eed54a79e2aL,0x979b1475933bb48aL,
  81771. 0x135e2594634d7ec6L,0xc08ba7b4d5dccbbeL,0x78fce165c3826372L,
  81772. 0xb1f172e431102cdeL,0xb6fd8f343eba4396L,0x000000000000000bL },
  81773. { 0xf7d351a9b4f622a3L,0x80215fc752af1195L,0x967f5f190e0e3c73L,
  81774. 0x4e05f75f9f80960bL,0x76c30e858eeb6e11L,0x9f270d1556a7acb6L,
  81775. 0x9236e11764fff770L,0x80c87737e474ea10L,0x00000000000001cfL } },
  81776. /* 13 << 119 */
  81777. { { 0x991489171d928ce8L,0x727f54c83b241dc3L,0x837f9b5e5b7b0e99L,
  81778. 0x60b9885a65c90179L,0x025c5092a0723b78L,0x6f465cadb35a299dL,
  81779. 0xbf3e23b849ac4709L,0xd3d8a7547a8c1a2fL,0x00000000000000c0L },
  81780. { 0x855e31df15d9ac7dL,0x57c4d92146e48a7dL,0xed2f5b45d787acaaL,
  81781. 0xb004403b65895d32L,0xb671cad3324326eeL,0x419aace1f7db0750L,
  81782. 0x5079c99935051f2aL,0x4785a42e08e80cc5L,0x000000000000001bL } },
  81783. /* 14 << 119 */
  81784. { { 0xd3c4e96b03d54c5eL,0x962ef31f65450ba4L,0x4a75aeb64dd512c0L,
  81785. 0x4c4d23aa233d2675L,0x42cfc07c0055293fL,0xbbff60c5242a0317L,
  81786. 0x3f27d5c95c4f2c32L,0xca352c57746505b8L,0x0000000000000080L },
  81787. { 0x5751eeca92a1ef30L,0xb83a993e1f9eee84L,0x5eec2ed72e0ac56fL,
  81788. 0x95ad825bcc0d1e16L,0xd3aa7ba68af2a112L,0x3035c3f8c7ef1fcaL,
  81789. 0x5b5bf3e55216a429L,0xdf187ddd0fcb5720L,0x0000000000000025L } },
  81790. /* 15 << 119 */
  81791. { { 0x78efe954502ba658L,0x1acdb02ca79d89e5L,0x6c83c8808cccff30L,
  81792. 0xf6b6cc94db66a880L,0x9f374ff9ce82c740L,0xf353329b9f06fbbeL,
  81793. 0xfb73109a9e34d30bL,0x4ff19c4c2ae4fb4eL,0x00000000000000d5L },
  81794. { 0xf3329d5a4e4bec08L,0x14090d979e97c3adL,0xc413b1e477844381L,
  81795. 0xa1649708be56dbe2L,0xba1a525241d4f044L,0x2c7da53909d84593L,
  81796. 0x5c1494f9961312e6L,0xece942c3d4cd25b5L,0x00000000000000c3L } },
  81797. /* 16 << 119 */
  81798. { { 0xa549238eb310bea8L,0xb542445a99bb8ab7L,0xa930bd6a8c208b86L,
  81799. 0x1b97c831168af442L,0x18d4fc46a291bffeL,0x1d202d44a6b461aeL,
  81800. 0x433dd2d7c57c66fbL,0xf21b5d1d2a79f133L,0x000000000000001bL },
  81801. { 0x99343aa32ee37543L,0x904b8dcd7eff1bd4L,0x4e1b01fa9711ab88L,
  81802. 0xf8111ac33af62c90L,0x59ccfea158910f9aL,0xf4d713a358e5f398L,
  81803. 0x6cbbd15fb9c12355L,0x6181d1c0c3f59372L,0x0000000000000170L } },
  81804. /* 17 << 119 */
  81805. { { 0xfd1909b68d45b896L,0x40d662ac394c6c7cL,0xf5cea1dcf74c3e17L,
  81806. 0x52641b5abf892800L,0xba56fa53cfae386cL,0x34d5d6e508a7d7cbL,
  81807. 0x93a70eb6eb77e443L,0xe1f4539c3df2b1acL,0x00000000000001f7L },
  81808. { 0x654e70fda8174410L,0x5b339e60fbefce00L,0xcbd494e6957674d3L,
  81809. 0x59a2fa2ba3719a56L,0x84b7ef4361be71b8L,0xd993ba7996bbd063L,
  81810. 0x4e360f9d87a626feL,0x47fb3ca54c60de10L,0x00000000000001c1L } },
  81811. /* 18 << 119 */
  81812. { { 0x64f8ec4c94dbcef0L,0xc97a5fe1d006d598L,0x7cc416b15fee99baL,
  81813. 0x5e76561a698113acL,0xc81c6079ffa11af2L,0xc04b5048cdaee971L,
  81814. 0xa79ec707c46bb0b7L,0x20aedd0f45f1cfd3L,0x0000000000000189L },
  81815. { 0x678e01fdf1aa0926L,0xf6794950809be2ebL,0x9420aa4b9f89e63eL,
  81816. 0x80440a43f8be307bL,0x5f745612dabbb2e6L,0xc68ea3c278a61df1L,
  81817. 0x37c8c2f6d67e5c46L,0x32cac5262b38ed94L,0x0000000000000008L } },
  81818. /* 19 << 119 */
  81819. { { 0x8e864ff05d5cfcd6L,0x43e2041c6f9fc03cL,0x2db99b7e23583833L,
  81820. 0x5dccb3a8339ff572L,0x06586d385e30a99aL,0x1c5dfb435976d778L,
  81821. 0x23751881d86629e2L,0xa5d2aa9db94c022aL,0x0000000000000164L },
  81822. { 0xb460335a0d36e04dL,0xffae905ee8e64c22L,0xe3a3a0890ef4ac2fL,
  81823. 0xf2395b267d86626eL,0x2601b8cb3adcc664L,0x5fbf5face8832bd5L,
  81824. 0x6ae36465bff22aedL,0x8df993b2b0541b7dL,0x00000000000001f8L } },
  81825. /* 20 << 119 */
  81826. { { 0xc2ab59e873ada2ccL,0xbae59c15cbec8583L,0x91b446abcf3b6345L,
  81827. 0xff7a1af20becb4e3L,0xa2ba8e42707dec53L,0x3ad25c5191ee1072L,
  81828. 0x50624ace261414e7L,0x52c9513adfad31d0L,0x0000000000000085L },
  81829. { 0xe08f4efe933887cdL,0x88ef090ae39784afL,0xdf8d631e0d1e77c0L,
  81830. 0xa5d3a5292f764f0bL,0xd782f2bf2a993c96L,0x66bd58533d305512L,
  81831. 0xdaa06e5fcaafa3fcL,0xe5ee3ae28e21902bL,0x0000000000000189L } },
  81832. /* 21 << 119 */
  81833. { { 0x4a29ed0cfac4faffL,0x845117baae022e6bL,0xdabb52d4f8d70af3L,
  81834. 0x24026deac5e6fbb3L,0x44b230ca918eea16L,0x0ed0c105bfaa5514L,
  81835. 0x57c3322682aef559L,0x67bcef99cd389b75L,0x00000000000000b1L },
  81836. { 0x7e8088902867777eL,0x8de1b2c3af7d1830L,0x2755e5556dd95dfeL,
  81837. 0x64641564b86f4994L,0xb629925edfc94844L,0x5297aa1c77dec939L,
  81838. 0x1f706f40c445f067L,0x9384cd0b480c8c54L,0x00000000000000e7L } },
  81839. /* 22 << 119 */
  81840. { { 0xb191bfc95379208aL,0x2a1f2ba91ad2a396L,0x8a482274cff511f3L,
  81841. 0x20fb75155b03819fL,0xedc652327fdde9d5L,0xa73b9708f88e8979L,
  81842. 0xe0bfe37f5e93f0a2L,0xbe3b0ef20f1f13c2L,0x0000000000000008L },
  81843. { 0x52cd7f260e0288fdL,0x6dc435d7872f25e9L,0xfa45bea70164564dL,
  81844. 0xdd4667eb9d109fcdL,0x1e23bd77b282d30cL,0xb3bb1a7478610e7cL,
  81845. 0xf48ee3dfccedda5fL,0x2483a44a16942c44L,0x0000000000000048L } },
  81846. /* 23 << 119 */
  81847. { { 0x05a88878734d704cL,0x40c181a63077bf30L,0x8a9a744692a8af26L,
  81848. 0xda1c1e825393db91L,0x5ed215541599d840L,0xfadc24032c645869L,
  81849. 0xf2bf75501e1b5dd7L,0x2f512f9789250c44L,0x0000000000000003L },
  81850. { 0x0b1020bc1e05e15aL,0x8998b2fe07c12cd3L,0x1f9de8b8a849a0abL,
  81851. 0xed5d9ad7b34dda41L,0x8f576dfd3941866bL,0x6b2ab23bdf701b54L,
  81852. 0x1e8c11f936179a14L,0xb9f4893243e693ffL,0x00000000000000a4L } },
  81853. /* 24 << 119 */
  81854. { { 0xeb1706ffe55d9dc3L,0x128f942b47cf0bc8L,0x6a5d94a8cc1ceeedL,
  81855. 0x8736f0290ca71858L,0xc100090dd1fd8b55L,0x5970b8829caa1f54L,
  81856. 0xafe5e74c9266c865L,0xff310a7a2889325fL,0x0000000000000005L },
  81857. { 0x4b0a8d9bae5ed924L,0x81e086f41a8d0a30L,0x6c209d40190f4957L,
  81858. 0xbf69cda925fd95f5L,0x5a7a31a215c6321dL,0xc4f9d4e866200541L,
  81859. 0xa675123925161f67L,0x3134ad6fd5ff9687L,0x00000000000001e1L } },
  81860. /* 25 << 119 */
  81861. { { 0xb5f514a7e0bb67bfL,0x9e40b6e4e48a475aL,0xf889e93751dfc4c0L,
  81862. 0xd6a56b5fa94b1777L,0xa53c024ce66b7400L,0x54aa63659c499f6eL,
  81863. 0xa318725c40eea1d1L,0x959b22025fa02502L,0x0000000000000166L },
  81864. { 0xf4ac61080c71fefdL,0xc0ccefc5a79fdca9L,0x4c540ee1fc90c9f8L,
  81865. 0xc426e0d1c1d56f4bL,0x5dc15d4c5b7bde88L,0xc5e8b846ddd7a8bfL,
  81866. 0xd8f63c9b8700dbd8L,0x96966bee03f867b9L,0x00000000000001a3L } },
  81867. /* 26 << 119 */
  81868. { { 0x60ce32b9138490feL,0x3195cd4ad2685b04L,0x0e36b35e239110a6L,
  81869. 0x63129c87d4740967L,0x994570fadc6d3f99L,0x8edae6940031cab0L,
  81870. 0x504b1b8f7af36802L,0x5cfd2bdac466fec6L,0x00000000000000c8L },
  81871. { 0xd5dd304e703de0c0L,0xe7e0f651df8244d0L,0xc5bf943c240569ceL,
  81872. 0xa100eda82824e162L,0xb7b7b3b63dda41f9L,0x48f90dd91e5455a9L,
  81873. 0x8c821e2a7b1de463L,0xe653f0674ede44e9L,0x00000000000001ebL } },
  81874. /* 27 << 119 */
  81875. { { 0x459c2acbe7a0e738L,0x3e7b0714c6f21da2L,0x5475f4ffcb875deeL,
  81876. 0xb951bacce164b589L,0x457e8912de96aba5L,0xb774ee72fe8219a9L,
  81877. 0x8978e772f097ebadL,0x12860ee828f4d4e3L,0x0000000000000061L },
  81878. { 0x360293f7aaea6fdaL,0x31008270991d3924L,0xb8b3a28e0bd95d8eL,
  81879. 0x2f38092f695f3004L,0x581cce8636edf878L,0x96dd5a9a14d73e23L,
  81880. 0xe318676fff47dbc9L,0xb767451baba7fae8L,0x000000000000004cL } },
  81881. /* 28 << 119 */
  81882. { { 0xbc008f6f12853216L,0x4bf12ce42b48c455L,0x54ff9bd2fbafa90aL,
  81883. 0x5fe9e7e641840f1fL,0x042dcb9c65e15455L,0xcfd8e3cb4c57c3f3L,
  81884. 0x4c57920afcc0e297L,0xb4cdc9adedd993d0L,0x000000000000009cL },
  81885. { 0x6b6ee23c382e05c0L,0x17f4b2c3b8821acfL,0x48517aa5b5db9ea8L,
  81886. 0xa86c1f52c23154e4L,0x5c13f1540f4d1d9dL,0x83e69e90e13257a3L,
  81887. 0x4cfd01f2e6b1bd31L,0x04610d106f53c1d4L,0x00000000000000d2L } },
  81888. /* 29 << 119 */
  81889. { { 0x96f21b5c587ece4eL,0x2ec1c0d35e494d28L,0xb2f2b82c71276480L,
  81890. 0x1556d678fc677d2cL,0xd2d1d79ca8cd767fL,0xa317f1c6a04e42aaL,
  81891. 0xbb445d70ddedc4ffL,0xc2a0dddccfff4b00L,0x0000000000000048L },
  81892. { 0x743026ad46ec7a40L,0x909df3034e4b2c97L,0x1942a04f54f5aea2L,
  81893. 0x2316f22aff478c5fL,0x1aa79b3decddd9c1L,0x2a9f761432e997bfL,
  81894. 0x58b8aaba9b14edfdL,0xf2e3dd78e507dea0L,0x000000000000004dL } },
  81895. /* 30 << 119 */
  81896. { { 0xd498bb74e6cf516eL,0x5142e4d31d808796L,0xa5e120b141cf0189L,
  81897. 0x50b0208b41823038L,0x290dda83eca548f7L,0x3617a82941bd5a4cL,
  81898. 0x3ee40e94717cabccL,0x7801f6aa97f09b10L,0x0000000000000175L },
  81899. { 0x00bc1f19e1e5636cL,0x3ee1b2a1790abe39L,0x423dcd56b6935099L,
  81900. 0x951fb17eb8189d05L,0x2086426183d235d9L,0x1d060a7799abd480L,
  81901. 0x393b00f9871477e4L,0x3d751bf09a968951L,0x00000000000001e3L } },
  81902. /* 31 << 119 */
  81903. { { 0x6b238a6a447a1655L,0x87e723a1b29ad51dL,0x2e1618a3cb5d4927L,
  81904. 0x61ce36defb5ea331L,0xe66a95a69dbf6e02L,0x7e2d71c88ff6b838L,
  81905. 0x19ff9378b2144d22L,0x573686d3dbc2f8afL,0x00000000000000ceL },
  81906. { 0x027a78fb3b8116a5L,0x431129b0105e775dL,0x0b111a77a199ce40L,
  81907. 0xe282a92c3d72ffeaL,0xe4e9e0d2f41b8ebdL,0xc6775590ed468e58L,
  81908. 0x585f9c702df78db2L,0x6c1d2b10c6120772L,0x00000000000001bbL } },
  81909. /* 32 << 119 */
  81910. { { 0x0bc2fc66a6a08edbL,0x4f83dbe481d46942L,0xdd379bc14e44b819L,
  81911. 0x6f409f1ab5785cc1L,0x3fac6dda40232da3L,0x83b4bfdc11b9bc84L,
  81912. 0x4563149ac91e3874L,0x210062c6f562966fL,0x0000000000000126L },
  81913. { 0x6a00191e9548d9c4L,0x800f66bcd9716285L,0x3a8c05a315dd9859L,
  81914. 0xaf6dcdf5ac571627L,0xeae07417006a2a90L,0x11b368fbfcb7c955L,
  81915. 0x5e47618fc4abe2b7L,0x328f44c85ab9dd68L,0x000000000000015dL } },
  81916. /* 33 << 119 */
  81917. { { 0x2a1f44bf35f04663L,0x35863dbcf2cb12ccL,0x65966eb50645618dL,
  81918. 0x121be877084d9977L,0xb293bc95a71b0855L,0x15cbf71b3e8b2bbaL,
  81919. 0x18432ee58df913c0L,0x47fd2827e04dfad2L,0x00000000000000e0L },
  81920. { 0x9ff5d0451f756bc0L,0x149333a7cb99ff05L,0x514778ffc7520037L,
  81921. 0xf9e3810a69a033b3L,0xc107c7f739edc855L,0x613b65b44f1cf022L,
  81922. 0x8ad96f8dcc6df762L,0x5d46de0029fc7d62L,0x0000000000000000L } },
  81923. /* 34 << 119 */
  81924. { { 0x1d850ba68665bf9cL,0x0a5bfa5ecd57b87fL,0x06ecc39391eb1ac0L,
  81925. 0xc92b6bfb47a8713aL,0x4dfcc9f1b5a6c2dbL,0xeec1b0b4361c81ceL,
  81926. 0x44635bcce1d3f510L,0x73ed43e468bdd964L,0x000000000000009eL },
  81927. { 0x5ef7da45e203e241L,0x415015340b472483L,0xae2fd0edf8c38f62L,
  81928. 0x497f78e07f8125eeL,0x3b25ec8d2f86cfe9L,0xdf5be34f63202086L,
  81929. 0xfaac26690de5c0e6L,0x515f0bca5c14a0ecL,0x000000000000002cL } },
  81930. /* 35 << 119 */
  81931. { { 0x388204a5856f6cd7L,0x904812166cf197baL,0x464561f15fb4bf7dL,
  81932. 0xd134b856f100c475L,0x6ff4dcded7592257L,0xd76fb6af4d3963e5L,
  81933. 0x5158524f9e80e9eeL,0xe56520ec2e0e44c9L,0x0000000000000002L },
  81934. { 0x8178bb1d5481b113L,0xa4bcda1d0bcdb35dL,0xb5f582f01dfd501eL,
  81935. 0x0a69c092b148ca76L,0x2d5d8f611ffdab41L,0x1559fa8d0416db07L,
  81936. 0x3e0dfea55da20aaaL,0x65feeb54cdae4b30L,0x00000000000001b2L } },
  81937. /* 36 << 119 */
  81938. { { 0xb99c8cbbb9f77625L,0xbb9f09212461cc35L,0x8b93dbd9bdd1edb5L,
  81939. 0x5a53e36e7de8aac6L,0x2aa01adc4d122c59L,0x9beb895d36e58874L,
  81940. 0x49cebc216f3b18ebL,0xd6ceb0334676c58aL,0x0000000000000075L },
  81941. { 0xa914bb8e5fa2193eL,0xc4e659990f747a2cL,0xa6d517b9957743dcL,
  81942. 0xcdd3ede4d4c39e00L,0xbcec7332aa4c0329L,0x3ab06883425fe620L,
  81943. 0xd1cc5d15668dfa78L,0x4d96ddae52b7579aL,0x000000000000019bL } },
  81944. /* 37 << 119 */
  81945. { { 0x4be1055088151d4cL,0x9d380be1cd317b85L,0x135a9b2500b5933aL,
  81946. 0xb2a5bbf5bebf245cL,0x18fafe7a7fd975c7L,0xd68068c9b48104efL,
  81947. 0x1aa0df9c8079c090L,0x8efcc46fcdbc1da3L,0x00000000000001d2L },
  81948. { 0xf773a926f6609360L,0x43b75bbd140a56e9L,0xa4c713e6d3a0b820L,
  81949. 0x0f821f3f5de9d334L,0x1c6c4f45b947eadcL,0xa974aad7fbb18aeaL,
  81950. 0x414b97de33ca4d45L,0x809bfa14f7bbcc4eL,0x0000000000000076L } },
  81951. /* 38 << 119 */
  81952. { { 0xca350ea9e37b698dL,0x9eb0052ef86416b9L,0x784ed0be5ed684a6L,
  81953. 0x2b41249bd685ba76L,0xcbb7f9bdf8885679L,0x18973477ded73fb4L,
  81954. 0xb89489b5a787e3a6L,0x7bc63168aa40bdecL,0x0000000000000079L },
  81955. { 0xfec9cd3b6d62a5c6L,0x91f481cbbf766a62L,0xb55ba1f2286b4265L,
  81956. 0xf3e28afc6b10ea1bL,0x1945a36d4e4ade55L,0x9823132fcb191569L,
  81957. 0x0c4ce33732178d49L,0x5f0a08e255189f04L,0x00000000000000a3L } },
  81958. /* 39 << 119 */
  81959. { { 0xb7849d36fe2477a8L,0x311c25a323f26d2cL,0xd6601942c5f1b989L,
  81960. 0xc45c73d160698449L,0x8f52a35889025c50L,0x289f61fd4503f0efL,
  81961. 0xce5ee29ccfbdc0b5L,0x56a6fd6fd0947666L,0x00000000000001fcL },
  81962. { 0x53c2998e1173eb9aL,0xd7e525fbca74814cL,0xe6a9bd42e7ae0a8bL,
  81963. 0x26587842f9aa587bL,0x464bbbf3f79d2faaL,0x89a0bd3355f3fb1aL,
  81964. 0x8fe1ac20cbeaece8L,0x2387e29f36016942L,0x00000000000001bfL } },
  81965. /* 40 << 119 */
  81966. { { 0x6d20e58e82000ffbL,0x1ea966716e7d118eL,0xb0cb325041c88eb5L,
  81967. 0x973b977faacd407cL,0xf20cd8f6f0ca7a17L,0x2f0ef22e9fef2038L,
  81968. 0x23d15a01175a188cL,0xdbdddfa829188156L,0x00000000000000a3L },
  81969. { 0xfb1a78b3993a35e7L,0xf7badc2f131829bdL,0xf9e29ac9a58a4099L,
  81970. 0x302502e0c7ced6a2L,0x0d09dac9f1cb6d2eL,0xb31805d7d96fafbeL,
  81971. 0x8124802b7410b804L,0x8720b403d824baa3L,0x00000000000001ecL } },
  81972. /* 41 << 119 */
  81973. { { 0xa7290d9c48b1f38cL,0x5b8c285d132d4075L,0xb97ab2320f6612c9L,
  81974. 0x278778d5f8cc7252L,0x1bb9cfb9f88bf532L,0xbf27cee0fe2d82b3L,
  81975. 0x568fe3492c626677L,0xa29cfa7b663a62bdL,0x000000000000010eL },
  81976. { 0xd8eaa38b28160c39L,0x5aa3566b05af5ea1L,0xd5de166d4c045d02L,
  81977. 0x3d0029b93de6e8d1L,0x6ef61a9745c158b3L,0x2a76310bfa47b87aL,
  81978. 0x2d4cb8f174440b9fL,0x2f1d69bf22788f42L,0x0000000000000061L } },
  81979. /* 42 << 119 */
  81980. { { 0x2aa57c505668fefdL,0x1d383b64bbaeb298L,0xe4be715ad8a2f406L,
  81981. 0xc0d9df9754005292L,0x423dc4c773eb56abL,0xa5651c8e01586953L,
  81982. 0xa4afc432bf57c12fL,0x0fae1a0b3db56d05L,0x00000000000001d6L },
  81983. { 0xb6a8f2764827d50cL,0x6096d31c6921e003L,0x4100d72e88d61542L,
  81984. 0x872c450a56e575e6L,0xf25cee3e5a82b93aL,0x797af76ca2a32ba6L,
  81985. 0xa1e2af54ff02fe90L,0x6ba03aab44163fcaL,0x0000000000000052L } },
  81986. /* 43 << 119 */
  81987. { { 0x45e97d51cbeca15cL,0x92ecdf862b747064L,0x2dd8552961bc072aL,
  81988. 0x1ff9552ac1c0783dL,0xe424c5fe4c9235f7L,0x702ed8f71a1bccbbL,
  81989. 0x44ce8000061a4767L,0x09ad63882e4d5303L,0x000000000000018eL },
  81990. { 0x93a69860c1a12d88L,0x20fe34ce34096d41L,0x0395762d55ed8738L,
  81991. 0xb52c3127b21aa0d2L,0xb3ee6efe8c5c0ab9L,0x7ef6aa092ab17c19L,
  81992. 0xc7dfe85539c623b4L,0x4b4e21ec470a5812L,0x00000000000000c7L } },
  81993. /* 44 << 119 */
  81994. { { 0x41f1110cc6c5882fL,0x269cfa8003a383a6L,0x063066bc3fb339bdL,
  81995. 0x893cda4818001024L,0xdc69f450a35accd7L,0x7bc9d8c37bfcdca8L,
  81996. 0xb3034c8661dc6f02L,0x65e4d3ac27f28f29L,0x0000000000000026L },
  81997. { 0xd485c332700bcf1aL,0x97bd7f097c2ae8a6L,0xd07bbb26c2fe444bL,
  81998. 0xc637e7632b702432L,0xb4e830218750ecc1L,0x1bd3bfac22178bdaL,
  81999. 0x2deb354ce56f8538L,0x9ffac3411745164eL,0x00000000000001e6L } },
  82000. /* 45 << 119 */
  82001. { { 0x83369d68f61454ceL,0x3f00ac930ef465c0L,0xf372ca70c9ac3434L,
  82002. 0x7a4df749a652a4c2L,0xb5cbf0aa6d77058aL,0x016c55b4f828b256L,
  82003. 0x2d5b8556574471d6L,0x3802a2adf605e691L,0x00000000000001efL },
  82004. { 0xe250d04a621747a1L,0xe1815010f73b751dL,0x2911a81dab76c836L,
  82005. 0x47e76c4cd4ec7b58L,0x13bcbfc531868dabL,0x71fd1826ad6217bdL,
  82006. 0x58d008b0332e4a37L,0x6b046494cd88d120L,0x00000000000000bfL } },
  82007. /* 46 << 119 */
  82008. { { 0xb0dddff0f61ce5bfL,0x162bfccb7644e88bL,0x62f50e15ab7a4b15L,
  82009. 0xa34c92f13b3289aaL,0xa78127d8ebab98c4L,0xe805aadc0908f884L,
  82010. 0x237a8b9aab0ff641L,0xe0017b5f1b7ff0baL,0x00000000000001f3L },
  82011. { 0x871e2a2d3a0be93fL,0xab5b0dab375f5672L,0x4db1185439454995L,
  82012. 0x5586e23420d5e373L,0x45ba928391960be2L,0xca170fa228c6ac75L,
  82013. 0x73af1b708481edb7L,0xe7f738bd66cd194dL,0x00000000000001d0L } },
  82014. /* 47 << 119 */
  82015. { { 0x5e706dac23b4a6d5L,0x1ce385acc2e54919L,0x6aa1ae21e6a1b808L,
  82016. 0x8b6fa602d276b630L,0xa045ee27b1666aecL,0x0d94dfa8f4de0f17L,
  82017. 0xb8fdb55612f63f7aL,0x16083fc661173439L,0x000000000000001bL },
  82018. { 0x1b8ddf1802095fabL,0xf10e700fe66b44c1L,0x0b6d14a584bc01ddL,
  82019. 0x34f7a7e595aace58L,0x068003fbb0cef64bL,0x071161805837ebefL,
  82020. 0x09e3dbb9530aee02L,0xf16a7550c2d924daL,0x00000000000001dfL } },
  82021. /* 48 << 119 */
  82022. { { 0x7504bfd02e9b52d8L,0xc14c2e06f96980f1L,0x9f8a9d759fd5b1e3L,
  82023. 0xf182865b45156aedL,0x50b0cc368ce9cc26L,0x795f14da99833447L,
  82024. 0xbfb65a7c8bb4ee45L,0xf69152996ad0b825L,0x000000000000015cL },
  82025. { 0x7515a268f20f5a41L,0xa9f0c26ab40016f9L,0xa1e9255c68244585L,
  82026. 0xa7f9b9b63593b04aL,0xb3b584b379b006cbL,0xf8f232002fa6001dL,
  82027. 0xded262cf2d85354bL,0x32684f9602a212c4L,0x00000000000000ceL } },
  82028. /* 49 << 119 */
  82029. { { 0x28f6eb1f7209b0aaL,0xd3ad776d5ceeb136L,0xf5776c122c51355fL,
  82030. 0x68ceac473c98f9caL,0xffe36607a189cdf6L,0xa6aa2cb0c41b5335L,
  82031. 0xb6f97b13f4228d0fL,0xc08f5f9ad8499d39L,0x0000000000000170L },
  82032. { 0x64fb5744ba209520L,0x285a6f3a3e69bcfcL,0x94ed78757004b6d1L,
  82033. 0x58cae99fdf95df4cL,0x33c25bed249942f1L,0x65d8b14cba4429fcL,
  82034. 0x49855d740b951c72L,0x19c4896828bf84baL,0x000000000000017bL } },
  82035. /* 50 << 119 */
  82036. { { 0x4c9d8cacff2d8b65L,0xc45bd92d179f3040L,0xae72e5018e5cdc37L,
  82037. 0xaa449c76f3403c8cL,0x7cc0b59ad969f8fcL,0x82d42d85953bc5f9L,
  82038. 0x42d22f167329ed61L,0x1346f831d79da154L,0x000000000000013bL },
  82039. { 0x453eefc095d4c1b0L,0xf368d0a9c0151480L,0xe5e70e121c88eed0L,
  82040. 0xd2d4e183ede8dcafL,0xb3c1aeaf2b7c0e96L,0x267cfdc3d7119ef6L,
  82041. 0x726315544d66f240L,0x35a5053f8b3ba01bL,0x00000000000000ebL } },
  82042. /* 51 << 119 */
  82043. { { 0x18e992882d99b995L,0x91eaf7bd18da99ddL,0x6cd867b276baf30cL,
  82044. 0x81ddb37e79f3951eL,0x1a31a11da660cd44L,0xfd1d7abdc64bb6caL,
  82045. 0xd06da3853ad047a1L,0x0551dc5d18500d26L,0x00000000000000d4L },
  82046. { 0xd655dbc4a56c2d9aL,0xefd030860031587cL,0x72e9f59994e89201L,
  82047. 0xe40fe6c62ab9e1cfL,0xe096cda83f4facbcL,0x8f1256653d8ae874L,
  82048. 0x757c85715e1ae9d2L,0x194254584eb4b540L,0x00000000000000f7L } },
  82049. /* 52 << 119 */
  82050. { { 0x2b59d0e19914987eL,0x0dd9211ffdcd7c4eL,0x8e64f4307374cecbL,
  82051. 0x2871801fdb74abe1L,0xec2a36fe7eccd46cL,0xa352a1fa019682e2L,
  82052. 0x4d33e93e89fdb09dL,0x0766c47e0aa4a0efL,0x000000000000018fL },
  82053. { 0x0b8e93435eb6bdccL,0xcc0ff53bc54f61f0L,0x4c56f488f18e3583L,
  82054. 0xe68caf9247091732L,0x3ae769850463bfb7L,0x5e1c264ec3731f02L,
  82055. 0x02c43734b13b2407L,0x39c2841a6ae98aa9L,0x0000000000000053L } },
  82056. /* 53 << 119 */
  82057. { { 0x2426d599fceb982bL,0xafc5ece1fee285c2L,0x350815619b7e6025L,
  82058. 0xc7320a8d2bf6fcb1L,0x45755ed78c9bf467L,0xbc3282102df44bf3L,
  82059. 0xb259e7efd74d2ff6L,0x674facb030ed2509L,0x00000000000001d0L },
  82060. { 0x861acf33a2f0cc96L,0x62db05068367db2eL,0x639033ec2b1fb906L,
  82061. 0x91f2cf72b5b5f399L,0x76236bf2b0eeeb34L,0xbcf075451b047c87L,
  82062. 0x071f150ba29bc4c3L,0xef42687e05dde2d9L,0x00000000000001f5L } },
  82063. /* 54 << 119 */
  82064. { { 0x7a8eb2ab0ee6708dL,0xba7e08b7f90168e5L,0x763aac0d3f58f2dcL,
  82065. 0xb0cdc84a7ba2a4dcL,0x02a8bd35f1e3b519L,0x5f39ac1b8e3b9f2dL,
  82066. 0xa042d7e89d98f86aL,0x8096461ca9e64b14L,0x00000000000000afL },
  82067. { 0x3d09672d4e3e44e8L,0x2506dd9dda7c3de8L,0xf85d30baf4829b9eL,
  82068. 0x082923844dfd7291L,0x915707e19e64b3dbL,0x19683c2c819a0b64L,
  82069. 0x23cc1a36324f5d0fL,0x3d11e9fb33ce2655L,0x000000000000012eL } },
  82070. /* 55 << 119 */
  82071. { { 0xf68386fa888aa958L,0x613390b5d9d0f67aL,0xeaeacf1eed2656b5L,
  82072. 0x74b550a872877de3L,0x57fa4d941ab845b2L,0x1225595224eb57b1L,
  82073. 0xa4f4c0fe98a50b36L,0x52f5c07e1ae96581L,0x00000000000001f4L },
  82074. { 0x30898f2d1028fdddL,0xfb3f5650a0344437L,0xd5033e856a58e784L,
  82075. 0x9e51e2e6ee46b6efL,0xd5e841f005a8c5f5L,0x15887595fa9bc00eL,
  82076. 0x8adf4c9304c01ae9L,0x4a9cd9bb9d9db32aL,0x000000000000016bL } },
  82077. /* 56 << 119 */
  82078. { { 0xaa6cdc01e7416b5fL,0x92bfe795ec1feae2L,0xeeb400bddc173db5L,
  82079. 0x8609dbe0bff7846dL,0xecf621229d201903L,0x4c15e42f5a3ec1d7L,
  82080. 0xcd2b85015119af15L,0x981a0c08add9cb95L,0x000000000000004fL },
  82081. { 0xa6d2f3a0186db260L,0xb259fad5b0c24c87L,0xc68d1b53c7f64d0dL,
  82082. 0x38c1c8c2543c50b7L,0xb3f7a5c61e042c56L,0x2083f846d4498e97L,
  82083. 0x41c5fb320b7d08c5L,0xc5196c8d9c2caa96L,0x000000000000007aL } },
  82084. /* 57 << 119 */
  82085. { { 0xee862a82e2056fbaL,0x1f4e8288d286c0abL,0x55158dbfed0751cfL,
  82086. 0x3e72a1b69c51cc83L,0x07e9544a464cbf5bL,0x06b7f08d84ca5228L,
  82087. 0xfd4e306720cedbbaL,0x441f23d2fd663b38L,0x000000000000014bL },
  82088. { 0xb56e86d029cf364bL,0x2e4cbbe886ee100fL,0xa2ac7cde1af4c403L,
  82089. 0x20b602aeead7dfd7L,0x32db7a58a912eeebL,0x7e46fc37cd65cfcaL,
  82090. 0xa61ce9ec64e513e6L,0xc46e45ad5e355c59L,0x0000000000000082L } },
  82091. /* 58 << 119 */
  82092. { { 0xd9446d12d08d5183L,0x1930a976ff54d766L,0x4b5f889fe0f983c0L,
  82093. 0x3f9cb2d9f4cf0b95L,0xf25e0f78a3e156f3L,0x85698419471f2ed8L,
  82094. 0xcd2e901f340547cdL,0xb735b0afe5b67d75L,0x0000000000000090L },
  82095. { 0xbd5dc2a524d04605L,0x81b22ff6cdaeea52L,0x35e5177fc2dcbe54L,
  82096. 0xa021681e5d5c2a50L,0xb6316fbb7772bd63L,0x7513efa7fac05cb2L,
  82097. 0x2ebe68f969e4bb0eL,0x4ace321e7d9692bcL,0x00000000000000bdL } },
  82098. /* 59 << 119 */
  82099. { { 0xfd326e55d25b6175L,0xaebfd41920d968c4L,0x470743454b5e33d5L,
  82100. 0x0c5e0f18553ad718L,0x435094bf6a41609dL,0xe4583ca75b278266L,
  82101. 0x62009983871212d6L,0x1404bbcffc7a545fL,0x000000000000002fL },
  82102. { 0xe34736dd5f7295d9L,0xf5e4b0cb1eb15ba6L,0x1815b6fdfdabc947L,
  82103. 0xbac35e1fea16f54bL,0xd9adc92196fefacdL,0x8bd671a7a338e668L,
  82104. 0x024352aa43905638L,0x7f4f43cc43d3b2ecL,0x0000000000000084L } },
  82105. /* 60 << 119 */
  82106. { { 0x74409db3feed975fL,0xe70514b682733880L,0xfe1b718ab5a41e01L,
  82107. 0xa2059a6544b53e78L,0x25c2079fb1fe6720L,0xea6df9fad9cd24f6L,
  82108. 0xe5f1f5b4fca222f5L,0xe8f6dcb4dcef0479L,0x0000000000000039L },
  82109. { 0x2cfc5286b2a16b82L,0x25ecb74775d40713L,0x4b263a4755dda1f1L,
  82110. 0x0676b9c117aa9c19L,0x6f2e9310476acc39L,0xb27ef44fd5c4e15bL,
  82111. 0xb5d3e4f79d72b9d2L,0x8a3aeb37ca49521eL,0x0000000000000038L } },
  82112. /* 61 << 119 */
  82113. { { 0x1a80ebd82d914976L,0xd5d1c8cc996eff0aL,0x06ac9a8535cba3eeL,
  82114. 0x381d54f62e809546L,0xacf4ce4c769411f3L,0xa64b28314a37638cL,
  82115. 0x13d99aaab7cc63d7L,0x462b14c7a591857eL,0x0000000000000192L },
  82116. { 0xf3807c3ad22ea880L,0x76f9339636cd3b1bL,0x77d0bc89d2ab27d0L,
  82117. 0xd7e7f64e87dcabebL,0xef3f8eaa3ec8afddL,0x698141961205cc30L,
  82118. 0xf89c8a8ee16e9331L,0x95b0f6fd2d30c290L,0x00000000000000dbL } },
  82119. /* 62 << 119 */
  82120. { { 0x3471f7f706f7bfa9L,0x912385e739e980bbL,0x829fcd40e8774d7dL,
  82121. 0x637e17490e295af0L,0xe2aacc7d9fab3a4eL,0x1e074bab0dc9e073L,
  82122. 0x53fe3fd6bf348272L,0x0779d4332877f11bL,0x0000000000000076L },
  82123. { 0x44b3a7711763e639L,0x50a471be9d95f8b3L,0xb50122f106d99fbaL,
  82124. 0x6fc8784613054c47L,0x33befbe2d0e71575L,0x1cac97e3789e115fL,
  82125. 0x3f61f57e455d8c54L,0xec75111ee7dac210L,0x00000000000000c7L } },
  82126. /* 63 << 119 */
  82127. { { 0xae4363ed7c759c6eL,0xb663d67dfa6e2ba0L,0x745abea27791af0aL,
  82128. 0x708b4c271cfea43fL,0x90ce598808d390fdL,0x3142798061acbc72L,
  82129. 0x413c40bf20dfc34bL,0xc7577fba6be74f89L,0x0000000000000054L },
  82130. { 0x4f315b816225f675L,0x08b7537d99b0789eL,0x0723ee516f760ca5L,
  82131. 0xe6fd90d08bcdfc98L,0x40eb0f9177226310L,0x6412fda8f8b2e5bcL,
  82132. 0xf1421d2a7e40a5b9L,0x846449c3f273b934L,0x0000000000000165L } },
  82133. /* 64 << 119 */
  82134. { { 0x7ac007ad8451ad30L,0xadb09d590905b6a7L,0x96b382333ed8d9dbL,
  82135. 0x7ba1ab90144aaaaaL,0x2d31fb344abae176L,0xc0471119d1d9cb6cL,
  82136. 0xe56b681221c9fe02L,0xfd040d70efbd1643L,0x000000000000009eL },
  82137. { 0x91c517c02975af75L,0x7a77c8f2834de3adL,0x7dfd1527c6e95530L,
  82138. 0x982a2eef0ea03560L,0xc340fe70c7e0205dL,0x302ca446735bc119L,
  82139. 0xcc1072285c271f62L,0x9ba4e55bc486fbdaL,0x000000000000006fL } },
  82140. /* 0 << 126 */
  82141. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  82142. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  82143. /* 1 << 126 */
  82144. { { 0x6a00d57da5e6776fL,0x8a138da8dbd9bd8fL,0xa059ed07d5fddaa1L,
  82145. 0x4f6122d91a42e212L,0xe72e39c509d704dfL,0x025696a8f15340ddL,
  82146. 0xe75fa17db760bafdL,0x1b7950b1017f537bL,0x0000000000000109L },
  82147. { 0x1e1af3bd3f72ec2fL,0x0b95f25a8df112a2L,0x6f3e98aec4b96ea1L,
  82148. 0x5b890eecf3ddf2c6L,0xb4e902c3d1b40c40L,0x331cef2678e129b2L,
  82149. 0xdf376cfca4f572deL,0x9299466aad414479L,0x0000000000000103L } },
  82150. /* 2 << 126 */
  82151. { { 0x36252c7bd5a6eac2L,0xe218a649cae5dc4cL,0x690f3b49b249829eL,
  82152. 0x4858d6576e5a7464L,0x6e4b2ca633ae77e0L,0x28cfd8ba871586adL,
  82153. 0xaadaabc9d63d4d38L,0x2ea000e98acdd480L,0x0000000000000043L },
  82154. { 0xbb0525eeaa905e22L,0xd6ad676ea045363fL,0xa0abe10eadbb3a6dL,
  82155. 0xbf7d435a49793facL,0xd96b7452c4dd6260L,0x4e64c9930aa813f9L,
  82156. 0xac364502001a15ecL,0xc33efef71af6493aL,0x00000000000000eeL } },
  82157. /* 3 << 126 */
  82158. { { 0x4ac52cc0248119eeL,0x69c12fe2732cf0c4L,0x4ed67c2a560e7ac4L,
  82159. 0x82f29f7e79346ba1L,0x47607b94f488c23bL,0xb39bff863dbb4817L,
  82160. 0x91de351665116670L,0xafd0ce8fa77373f0L,0x00000000000000d3L },
  82161. { 0x9d96404bc2a1911eL,0xa43a089a21382683L,0xf16276e883e13d93L,
  82162. 0x581897d09fe988eeL,0x3ad0dd8b998d0f46L,0x078f1a9bb6143261L,
  82163. 0x303d457410d18924L,0x0bc45e0c82a9a0a6L,0x0000000000000076L } },
  82164. /* 4 << 126 */
  82165. { { 0x9aecae2d6a3cf15fL,0xd9d0b49a9c959376L,0x4aad945457cc7e25L,
  82166. 0x683618323876fe58L,0xccc6f2d82bd9dc24L,0x3970525c605bafbeL,
  82167. 0xf17524eda2c5499dL,0xe30b69d5b0c7bf4fL,0x000000000000005fL },
  82168. { 0xa71532adb5d073b0L,0x37159fb3b4fb97b3L,0x15b655b27a1fff6dL,
  82169. 0x55ac89ee9e08a89cL,0x13cfab6bbc027776L,0xa57a7f289dece9a9L,
  82170. 0x65a3d815c03a1d45L,0xe5cd61ea95515dbaL,0x0000000000000100L } },
  82171. /* 5 << 126 */
  82172. { { 0xb5c48a06cfc6b235L,0xaa7c3f7009f1e479L,0xb6bb50cf899f94e4L,
  82173. 0x3e0823b34b850b6cL,0x4777c2c2795acd34L,0xde6999f169c9c574L,
  82174. 0x5d3e7f18cae69639L,0xa0a30c05ee76b726L,0x0000000000000095L },
  82175. { 0x0d1df4b3760bd806L,0xe76381175f56b063L,0x876307d8fe5fc610L,
  82176. 0x0db04d83536a446cL,0xf020f6b4437b971cL,0xd5eae3a0ee10ad1cL,
  82177. 0xd8041973920ed5ecL,0x42825e955216c588L,0x0000000000000147L } },
  82178. /* 6 << 126 */
  82179. { { 0xb0da1338de123c1fL,0x0e0c698e649a8652L,0x812b95f93c9b1fe1L,
  82180. 0x15e7b770d3b3714aL,0xd75d98da400398eaL,0x86663448a6666434L,
  82181. 0x8a820ce79a26a89aL,0xbcd785914d7f2fd1L,0x0000000000000058L },
  82182. { 0x470af7d334f3d449L,0xa54f2eca47a36f7fL,0x1a1afce9ab8573e2L,
  82183. 0x180bb5940e1d26f9L,0x0adc2f21c2f87c19L,0x0292b1813d39dcddL,
  82184. 0xd116d62af52b928aL,0x803ab7608dc43b17L,0x00000000000000f2L } },
  82185. /* 7 << 126 */
  82186. { { 0x9fabf32c1b953f8eL,0x6a1919f297c27760L,0xffc5895b235fa996L,
  82187. 0xbc6a06c9a860faa0L,0x08a3f0b8f5cf032cL,0x1b50f6d7e54d862aL,
  82188. 0xbef9525a2ee95ce6L,0xd29d4cbec0cf300eL,0x0000000000000078L },
  82189. { 0x3298f5bef6f748fbL,0xa1477e05624cb33fL,0x790a733bfba77178L,
  82190. 0x5c71c7fb1a852470L,0x412df1e51e5e062fL,0x1deae6b98494f310L,
  82191. 0xe28bc9e2a851449cL,0x0a8819713101ceafL,0x0000000000000076L } },
  82192. /* 8 << 126 */
  82193. { { 0x64107659d44e9b1cL,0xdfe2b3ed599694f3L,0x348b163455939fefL,
  82194. 0xeb5fb1860b2f8b7aL,0x19d2becf5a1469b5L,0x24c67ff96bea8f5aL,
  82195. 0x1a4037a85924fde9L,0xdd0e9acefe0231aeL,0x00000000000000f0L },
  82196. { 0x5b3f06a237cee8e6L,0x3ccc49c67e4a80a6L,0xe8729cc405b38a1cL,
  82197. 0xa51323391f4373f1L,0x1dac8246b3a773f0L,0x9824b4980193d5b1L,
  82198. 0xb63e677ac4db540aL,0x9c74537f5f10a7c1L,0x0000000000000094L } },
  82199. /* 9 << 126 */
  82200. { { 0x04c48d47fb40834aL,0x597722f2ce2a8ae7L,0x60d17d9eeae4d77dL,
  82201. 0x621c37135b996e51L,0x57bdcd302bc1e0daL,0x8dcb34eedfdc6cc5L,
  82202. 0x5252936144ce5a05L,0xbf52929bce1a2ef0L,0x00000000000000dbL },
  82203. { 0x1b8e10a725993998L,0xfb6d649983675966L,0x03318a2d858e41c6L,
  82204. 0x6b6b365e33cd6c75L,0x3aa091143500ee2eL,0xf2ac959d6840c8b3L,
  82205. 0xf677e86103445169L,0x2a0d3377b52f2064L,0x00000000000000ffL } },
  82206. /* 10 << 126 */
  82207. { { 0xbf7a23f2f851b8fcL,0xc1bd1b74db32c685L,0xd0ab7f93138501b8L,
  82208. 0xe7c5770454cdc320L,0x6b64807ada0a6e60L,0x84f83a22d75c0a8bL,
  82209. 0xa555aa9537b4524eL,0x56787a37b6459681L,0x00000000000001a2L },
  82210. { 0x4479f49de83cd71fL,0x4f53ebedc838cf55L,0xcba234498ff72ff6L,
  82211. 0x203ff691435a3557L,0x51f0d2949bb325e0L,0xe3da5139806ceb26L,
  82212. 0xcc4b204ebe6bbdd2L,0xf05ef8e12e3bef4aL,0x00000000000001ddL } },
  82213. /* 11 << 126 */
  82214. { { 0x8726192031da68e9L,0x8d660db73619c127L,0xf3d5a3e2f282597bL,
  82215. 0x9f1535cd54448812L,0xaba3e02b18f499d5L,0x70d4159c457d8737L,
  82216. 0x4a86b7edcd6f52acL,0xb48981d296176e37L,0x00000000000001dfL },
  82217. { 0xe05b90319a61218aL,0x1933ad6600381905L,0x32c647a4988b8b38L,
  82218. 0x4dda10b72c5224bfL,0x2083d17f002c8769L,0x76184ea513c0705fL,
  82219. 0xa4ab64210b653f0fL,0xaa24960e3a9ff008L,0x0000000000000010L } },
  82220. /* 12 << 126 */
  82221. { { 0x21cbb2c74ce9abd3L,0x7f157a4845073c39L,0xbc887f720de2380eL,
  82222. 0x295bad1c6f96a397L,0x9bb39be48ff6daffL,0x65b52767d80498e3L,
  82223. 0x1b07529402b936a0L,0x04c89f2fb90ec0fcL,0x00000000000000b4L },
  82224. { 0x47f62ce6f3bf4b3dL,0xf79921250e3e0bd4L,0xe1555bf8a14a6183L,
  82225. 0x8169e02567f3936cL,0x62dae8ae846ce4b0L,0xcee40b04fe0b0558L,
  82226. 0x520c3e208fe270e1L,0xa1f2420ec44de629L,0x0000000000000150L } },
  82227. /* 13 << 126 */
  82228. { { 0x87a4f58f95002c4fL,0xc0f5a15375cb2b64L,0x462b10584fa3bd39L,
  82229. 0xa53461051d56f6ebL,0xb2b70b8860c20135L,0xdcbcdccb9df24a37L,
  82230. 0x71d030c375cefc7bL,0x389a788c776a7674L,0x00000000000000faL },
  82231. { 0x26ad8f5398b8d9f1L,0x33640e375d442332L,0x4831351d6a8d3878L,
  82232. 0x8f84df35bb4f8ecdL,0xf9ee728f0921bbf5L,0xa4768d023391c771L,
  82233. 0x07b56316b867956aL,0x9e1ae1cb2338f7bfL,0x000000000000018aL } },
  82234. /* 14 << 126 */
  82235. { { 0x3b0ae395e4f69814L,0x5ff5c84e6a747e34L,0x35e69b0a29ef0396L,
  82236. 0xd1b54c35835654b0L,0xe247e93979cfc63cL,0x7efb57321f7bdd7aL,
  82237. 0x07af836785156ce9L,0x3437319c68ad0803L,0x000000000000014bL },
  82238. { 0x3162f3727ac81dc5L,0x9bb5caf4f08565feL,0x467224e5d19abfdbL,
  82239. 0x92050b4fbbfb8528L,0x2a78b72b6812bf36L,0x33a409687b2efcf0L,
  82240. 0x4ebd9e465991d0feL,0x68ffa516e8555f3cL,0x0000000000000100L } },
  82241. /* 15 << 126 */
  82242. { { 0x415876531dc87e3bL,0x40fd387a843c306eL,0x6000915d01f6cef6L,
  82243. 0x86df2dc147a8966cL,0x63a5132075e86f42L,0x6ee59bb6b9751faaL,
  82244. 0xbee42edc6eb0fe81L,0x7d4ceebf9df2a3daL,0x0000000000000188L },
  82245. { 0x59eec8519e8c84ebL,0xbe9bc225ac158f45L,0xb50d7f7ff403ec17L,
  82246. 0xcae0e31f86689313L,0xa85359400a613f4fL,0xd2fc94710a594025L,
  82247. 0x900273e8256edcefL,0x1b5776c2b67ee0d4L,0x00000000000000d5L } },
  82248. /* 16 << 126 */
  82249. { { 0xc773faacbc875baeL,0x5ad3cc9408dc8719L,0x23a9cf666fd3dbdeL,
  82250. 0xf9c47b69a4c8d8feL,0xaefdcd39fc6d9e13L,0x3647f3a92ef2fff0L,
  82251. 0x7fbf9d741f53ee3cL,0x9199963d85e5a502L,0x00000000000000efL },
  82252. { 0x191173743ad5b178L,0xa5892671f086fdf5L,0xa828f5beaeabb8b1L,
  82253. 0xa9c1a33e62711d4bL,0xf8a2e9b101e1de48L,0xe5eb2de9568801daL,
  82254. 0x3e0b7a845f2f8052L,0x074d3c36ddb76ffaL,0x0000000000000160L } },
  82255. /* 17 << 126 */
  82256. { { 0xe3bba4c44e1d104aL,0x23d230985486ea3dL,0x23f6a18676d19da0L,
  82257. 0xc286b66dbbcda9b8L,0x9e42651ea2ccd664L,0x597a8783ea75aa04L,
  82258. 0x688cb16b74bcab22L,0xd983661aec74a513L,0x000000000000017bL },
  82259. { 0x7065739f19c41974L,0xc026315ab663d886L,0x0417e4ca5bc05ce0L,
  82260. 0x9e43b822c05ef3e7L,0xd2e8450ef16ab5d6L,0x278211c0ab315709L,
  82261. 0x9bb0e36146c481b2L,0x222788b5f3acac77L,0x0000000000000164L } },
  82262. /* 18 << 126 */
  82263. { { 0x9a36088c8517b761L,0x1d49f690e77f2f41L,0xaef7ca451b4af218L,
  82264. 0x9629c9c7b17e4fabL,0x052e9acce55663cbL,0xac455c5874b22e1aL,
  82265. 0xcf000252de25ce2aL,0xddb6e6c4449e7684L,0x000000000000008eL },
  82266. { 0xaf28bf6377f6ffe8L,0x3b6eb30b6fd5f4b2L,0x77b4244aef362208L,
  82267. 0x5db842e4ca41a1f6L,0xd7a8774263a815d1L,0xe9a9c316ac2312b0L,
  82268. 0xcbd383be87fa009cL,0xbe2a91d2de5be94bL,0x0000000000000041L } },
  82269. /* 19 << 126 */
  82270. { { 0x1c18d8a676f3e8f0L,0x4521da83a2651f7bL,0xc8d2991e18f7ac31L,
  82271. 0x96c25646c128653aL,0x852b44c9acc53a44L,0x9fad53c52030825fL,
  82272. 0x207273a08d2d18e1L,0xd9dee4ec3094fcfaL,0x000000000000011eL },
  82273. { 0x3720de1cc5166970L,0xbcc50de4fe148454L,0x059615420b197ac1L,
  82274. 0x940a3e6cabb72c37L,0x19cec56f63a3ba33L,0x94b04c0ec28fc6deL,
  82275. 0x337e7309aade99efL,0xa9b60e49406b3fedL,0x0000000000000148L } },
  82276. /* 20 << 126 */
  82277. { { 0x3ca5ae614d0a48d1L,0x39648cec7f021444L,0x3c92b2521e90c6ddL,
  82278. 0x776994bc94a49837L,0x53e54c207ddbf5b2L,0xfaf593c7d4576141L,
  82279. 0x17e000c226cc7ab2L,0x9484de380bf5318aL,0x00000000000001c9L },
  82280. { 0x7aa1d4d397546078L,0x06b60ee9f1e5fd32L,0xce10bdf08447917dL,
  82281. 0x40fd8d610e3de8abL,0xa3c917af34e29cc4L,0xa7bb1b542c27de76L,
  82282. 0x6992979931e6c453L,0xc668fbe42f185b22L,0x0000000000000142L } },
  82283. /* 21 << 126 */
  82284. { { 0xe0dfb4e582a7839cL,0x724fc7b532068c9fL,0xf8510404a4a51707L,
  82285. 0xf65fb0e634e33830L,0xa1ae29bf48e5b4d0L,0xc70a3beaa3d3410aL,
  82286. 0x131c23e466a5d1beL,0x5eb1c285d107cd51L,0x000000000000019cL },
  82287. { 0x7b61971c7c414730L,0xc722293b3a7e4352L,0x0d3203c6f5ae7457L,
  82288. 0xaa7fafaaf773fd74L,0xf88c67cc68830e7dL,0x5a71236c09730382L,
  82289. 0xa1661f7d1701c04aL,0x4e8979467ed93ad0L,0x0000000000000099L } },
  82290. /* 22 << 126 */
  82291. { { 0x10ea083c5ec936b2L,0x6011069c58b11715L,0x3e58532003a1796fL,
  82292. 0x538e1d0310eabb5aL,0x4b9640632ab5d141L,0x7d34fa8206aba7cbL,
  82293. 0x81692c655f1e613cL,0x2f3ed8894411f352L,0x00000000000000a1L },
  82294. { 0x3cea6506f6fe4425L,0xb246f4318a8d8686L,0x69666392fdb1c07dL,
  82295. 0xf8e2a71872b25c8eL,0xc2f6c4bc10e81a1dL,0x5c6746ed3d2788f2L,
  82296. 0x92d9bfb31d236efdL,0xc65dc241f922e874L,0x00000000000001b3L } },
  82297. /* 23 << 126 */
  82298. { { 0xa01148ecf4a21f7eL,0xfd85ea9c5d0894d3L,0xc1349c182e3e497fL,
  82299. 0x6ff182da3115b3ffL,0xc67455c26be8d31fL,0x559369800aa15b5aL,
  82300. 0x35904c6ebdd17173L,0xae743b7d52b5b531L,0x00000000000000c3L },
  82301. { 0x4785276788ebfa67L,0x7a8daccd6235572bL,0xf8c7cfd6e9fb4fe0L,
  82302. 0xece07c0c6f9f658aL,0x121e045b2550b943L,0xdcf493e709e11ba8L,
  82303. 0xf120183ac50b4aa1L,0xb68ec6f24668c0f4L,0x00000000000000fcL } },
  82304. /* 24 << 126 */
  82305. { { 0x953b8ca7af0603f0L,0x4b5eced77e21e713L,0x427652e12864dca9L,
  82306. 0x547f5fb516cbfbb1L,0x6ad85c7ef75f17f1L,0x469af7948222107eL,
  82307. 0x20d4c8e79bef1085L,0x867d4d0b152552e6L,0x0000000000000142L },
  82308. { 0xbb5ffb0cf3f26574L,0x047c1bc015cd38c0L,0x76c5dbf176f8e575L,
  82309. 0xf7eb7b0e20d33c17L,0x1e9cc21e6d879e9eL,0xeb2edc8340ca3223L,
  82310. 0xb0aa90a8290d165fL,0x7c17d3b223c1ef71L,0x0000000000000055L } },
  82311. /* 25 << 126 */
  82312. { { 0x91d91ecf643d458cL,0x962345a55e8691a1L,0x883ac05d1af94a9dL,
  82313. 0x747a7302f476f098L,0x44c326ffd0667890L,0x344aaeb5f76f1602L,
  82314. 0x60e6437c716561c5L,0x412f5a0546540e4cL,0x0000000000000104L },
  82315. { 0xb0553215617eda16L,0x8d95ffd17e7cdce8L,0xe1162d136fa892cbL,
  82316. 0xd69a1ce67041a11eL,0xb8559697a144ed95L,0x6ec56d46024f8ca9L,
  82317. 0xefc9cdeb514bf316L,0x69d2c9b290a22342L,0x00000000000001abL } },
  82318. /* 26 << 126 */
  82319. { { 0xc9f4133c7443182bL,0x8a6b2562f5d6eab0L,0x8ab8fc0b96e13ea9L,
  82320. 0x1070f3aa810771e3L,0xe8745a7c01bb3865L,0x97bf12d49586f6d4L,
  82321. 0xa82edb725d473130L,0xa75508ecbe3c9bdbL,0x00000000000000e9L },
  82322. { 0xdb554bec480c4283L,0x647fca1d341e42eeL,0x7dabe114766ae5bbL,
  82323. 0x7b5db510e7581fb7L,0x4f1647c0bb3a71a7L,0x5389934264d27664L,
  82324. 0xebda4815606cf2edL,0x7a8fe4ecccc611a5L,0x00000000000001bdL } },
  82325. /* 27 << 126 */
  82326. { { 0x7e2894589cb55c95L,0xa834c287ecf5f9e0L,0x4a74f1cd2bc1efeeL,
  82327. 0x6a1f60941ba0db9dL,0x3cd9e239da42e0c4L,0xeac13ef43e2dbd01L,
  82328. 0x99353f4571c37766L,0x5c633343c0c9f425L,0x00000000000001c6L },
  82329. { 0xc7d01c367439c08aL,0xec5613e9d32aca4fL,0x884fb18182f492fdL,
  82330. 0xa551f913b6c01487L,0x15b7ed76d5a46ea5L,0xe961a4ea688f0277L,
  82331. 0xc7addc6a16149e7aL,0xb3ee69e80d41a979L,0x000000000000001fL } },
  82332. /* 28 << 126 */
  82333. { { 0x80fd3dd3c1e4a87cL,0xf2230946e63e847bL,0x9d51e3a3477178b7L,
  82334. 0x06b089a460b2e4deL,0xf98e4cdc53ccd5f0L,0xfaba504ae9e18aecL,
  82335. 0x22b799be34dba1caL,0x75409d50a4c9ca6eL,0x00000000000000f9L },
  82336. { 0xec619962617902e1L,0xed26be734c58c299L,0x083e94e46d1c30e8L,
  82337. 0x2c8f71158be269bdL,0xf7c13ea9e0fed762L,0xb6c9bea0b517e55bL,
  82338. 0x7d656933aeb4bec0L,0xf386fed9ca01bf37L,0x000000000000007dL } },
  82339. /* 29 << 126 */
  82340. { { 0x9263b871dc1dc230L,0x0208cb151bb6cdf9L,0xe767b789fbb07097L,
  82341. 0x180f1502fe499e7bL,0xeb8fc35d782cd35eL,0x0e5aede16d18dc13L,
  82342. 0x596979e9075b5f1cL,0x93548273ddab0649L,0x0000000000000108L },
  82343. { 0x6484acaddf9a9c9fL,0x698f20c8bfee6c7dL,0xb3f89ba614c8b2d5L,
  82344. 0xa1b11b16c07bd4dfL,0x5a5eef740acd17d8L,0x5f2d1074f24e1b0bL,
  82345. 0x161a5489766b5674L,0xb208a6abda3b10e2L,0x0000000000000145L } },
  82346. /* 30 << 126 */
  82347. { { 0xd57b41e5ce2874a6L,0xfbf0d623b5bd9b26L,0xab64b932fd3750a7L,
  82348. 0x12be25d6586fba44L,0xf28a20cd1402ddf6L,0x058c0a6028b9102bL,
  82349. 0x27678cf4d68b4aa4L,0x927445e5de23211dL,0x00000000000000f9L },
  82350. { 0x46a5c0939c6e96d4L,0xcda4538f010f2c55L,0x5053aef6b0b776d3L,
  82351. 0xb0f5c0f895e614b4L,0x0d42f943f2856b07L,0xfe51414f426b1275L,
  82352. 0x49b65061a5de95fcL,0xf4a6fb5cadbdf4beL,0x0000000000000040L } },
  82353. /* 31 << 126 */
  82354. { { 0xcbeee2169021308fL,0x2959093bd6ece14dL,0x68d757404093d151L,
  82355. 0x77a6a05785259344L,0x63b1a5fb6d893564L,0xd7bcdd88e3e35d1eL,
  82356. 0x76f862a445c13992L,0xe466691221730cecL,0x0000000000000056L },
  82357. { 0x23e1ecfbce1e1e57L,0x3dd3e08822c19c3aL,0xa7d0301032146b0bL,
  82358. 0x35193697fe806487L,0xa9f13fa54854ad0eL,0xe4ba06e756149ff5L,
  82359. 0xfa5cbd737e6032dbL,0x3f663df3adce1658L,0x0000000000000197L } },
  82360. /* 32 << 126 */
  82361. { { 0x1036eb9b66fd07caL,0x6ca52cc16b7fb490L,0x512e973ed3e0c270L,
  82362. 0x889980bf73d92d11L,0x38b4cfe4a4005eeaL,0xb6f992cc8ceb4313L,
  82363. 0xd0ac2f8d6daf7c23L,0x1ccfbf17e32a93cbL,0x00000000000000c2L },
  82364. { 0x7bd9d6f12f508ccaL,0xe82d7171595a72afL,0x25d0297697512873L,
  82365. 0xefc1de8b8cf39fbcL,0x25e6b77f9a1237f4L,0x9f3b73e7d4d98b5dL,
  82366. 0xe1fda62beccb07feL,0xdb813b03625350cfL,0x0000000000000014L } },
  82367. /* 33 << 126 */
  82368. { { 0x7907b2c97fcca66cL,0x6516825362d05422L,0x94e0752213f45a4fL,
  82369. 0x1ac91e11c4c62129L,0xef3c27c76a4cc2acL,0x5677109687867eccL,
  82370. 0x091994ca1289a9e2L,0xa3d70e2a75d15d56L,0x0000000000000004L },
  82371. { 0x5072005570aedaf7L,0xd252fab22cf95f71L,0xcb0c8766830ec191L,
  82372. 0x3fe6bf257e18f064L,0x5c5ce223ae21206aL,0xba44c780c5b7f1b0L,
  82373. 0x339a7894181afeebL,0x68d02a575ff231ffL,0x0000000000000134L } },
  82374. /* 34 << 126 */
  82375. { { 0xe8ab1445c5eaf5e9L,0x95d96c674d22ede6L,0x03c3ab6cb7a0fba7L,
  82376. 0xeb3b5b6796487583L,0x171befc1c3e7d0adL,0x8b43bc1ffef58ae3L,
  82377. 0x11800901171b454fL,0x6a42fc801f5358b5L,0x000000000000002fL },
  82378. { 0xbcd8373de74453acL,0xefaf2d8e8b03d1efL,0x7e17c8902b434397L,
  82379. 0xff3a65b4b0f49b6fL,0x288d883d723ebfaaL,0xe152b3f524e32fdcL,
  82380. 0x2f044966e2dff973L,0x16f0bf33f2c0ae62L,0x00000000000001b3L } },
  82381. /* 35 << 126 */
  82382. { { 0xdc6b5651efbc2867L,0x077952546b03925cL,0x2860cb96535d4160L,
  82383. 0x273f6ef8fec0f37bL,0xb7b144148bb7ccdcL,0x012561602d4018d9L,
  82384. 0x84671a39bfddf7afL,0xd52d837cbaae273dL,0x00000000000001aaL },
  82385. { 0x4b1d19cb649da549L,0x4c354d7d9cecc0b3L,0x64e4665700376779L,
  82386. 0x247cc8922e59378cL,0xb4be23495c6e18b1L,0x5793c5c864dfd529L,
  82387. 0xc486d6656c38c470L,0x0494793f93ade6aeL,0x000000000000015bL } },
  82388. /* 36 << 126 */
  82389. { { 0x2b675aad33c1333aL,0x5b635d5de3f70bc6L,0xdc1b161fcc3993dfL,
  82390. 0x3a966f3c07e1c9cbL,0xbd684a329fcdec80L,0xd7b51c19f12c7088L,
  82391. 0xadfdefb4f549b4dcL,0xe542877b58db90bfL,0x00000000000000c0L },
  82392. { 0xd7a8f7cbf2b37e98L,0x0898feacb303eaa2L,0xc40968038ab3ec65L,
  82393. 0x178d3f6fd7d2f42fL,0xceb00cd5c31552ebL,0x85d9d2b5d878396dL,
  82394. 0xc6b51a1f2173b3b9L,0x3de5f48ac997717fL,0x000000000000008dL } },
  82395. /* 37 << 126 */
  82396. { { 0xdce090edcd84da75L,0xb1165394678048f7L,0x58e1c4df92f6f8caL,
  82397. 0x8347365693eda7aaL,0x88359b5039500625L,0x455fcb1a6424b594L,
  82398. 0x11ffcbdad7a86a6bL,0xabcf989ad68b45afL,0x0000000000000121L },
  82399. { 0xbba5977cf6d851a8L,0xd4a4f5319a39399bL,0x933ce57bf1b1f725L,
  82400. 0xd9e63d1970d12e1eL,0xe8a4a94f4c3e73b5L,0xb54fbc144103bbdbL,
  82401. 0x8b96cc8c90f25055L,0xb660990e7ed06482L,0x0000000000000154L } },
  82402. /* 38 << 126 */
  82403. { { 0x89568720a7253d96L,0x1f68812e0b93c9e3L,0x14077833b832d791L,
  82404. 0x9374abd0a1b1c6f2L,0xbc4a0f3f2945ec29L,0xcf31921a8bc301a2L,
  82405. 0xd2aa436db992ae7aL,0x9a3d6309f1dcf7b2L,0x00000000000000b4L },
  82406. { 0xd6cddd57e108567dL,0x97dd4615bb904179L,0x9724b58f7f8e9eacL,
  82407. 0x20258807decb2b7dL,0xe3ac333cdf5e10b6L,0xf0ee0a7bde6510deL,
  82408. 0x502e4677f77ffa98L,0x05bc4724ed6c6731L,0x00000000000000a0L } },
  82409. /* 39 << 126 */
  82410. { { 0x14ea632747944f6cL,0x4b542fa18e12e641L,0x9e73d65b716c29b4L,
  82411. 0xce4fcd50943d8274L,0xc2d8f4bcd50b1954L,0xf56c1429bcaa5d11L,
  82412. 0x4d3009e5bbec9109L,0x74cca9dfa25b9016L,0x00000000000001eaL },
  82413. { 0x0d3ba441245ef27fL,0xcdfaf08b5f09ac0aL,0x20f8b98d19f3dcfeL,
  82414. 0x0de8607dec975f66L,0x9137d362b488e1c8L,0x4bd2dd285453d7a0L,
  82415. 0xd98457be533bf6e9L,0x492026fc9c747fd1L,0x000000000000019eL } },
  82416. /* 40 << 126 */
  82417. { { 0xfbefb8c9644f809dL,0x5013f5ad50b747faL,0xab3c8de1a054a0c4L,
  82418. 0x687c5279c608ef1dL,0xfd4c40096bdf1f8aL,0x49caa9ab72a4a4a9L,
  82419. 0xbbf3951812790b7cL,0xe0535999b6373459L,0x000000000000007aL },
  82420. { 0xa2dcab70fe2fb036L,0xc2aa9ad018b31f0aL,0xb5a76e592be108efL,
  82421. 0x68ff6f12ba3ede8bL,0x6da7ac98e860842eL,0xdba409b2969f77f7L,
  82422. 0x490dd67bf92b2ef0L,0xfa837cde26207a6eL,0x0000000000000143L } },
  82423. /* 41 << 126 */
  82424. { { 0x19f334f8515e0800L,0xe86806502435b94cL,0xbcb190dd8313a87dL,
  82425. 0x834b84a8ec5a36baL,0x15203a655639ac59L,0xa8752a705230a929L,
  82426. 0x37ae9b10e149343aL,0x3cdbed17ccf9e664L,0x00000000000001a6L },
  82427. { 0x7a8926e6dc707695L,0xbdc0bd41fa849e17L,0x46621657668bf25dL,
  82428. 0xcdac0561b33a596cL,0x359a86131244fbc0L,0xb6d5d31e02b73688L,
  82429. 0xebcef3d390394d81L,0xec76090ef03972baL,0x0000000000000140L } },
  82430. /* 42 << 126 */
  82431. { { 0x951148835e5ef22bL,0x9125af3b086c572cL,0xb24ef04ff594e704L,
  82432. 0x414a4c09671591deL,0xc586772f55b0d554L,0x41daf9a1e3d723a3L,
  82433. 0x7a8f5eb2def1abf4L,0x60825c418dc54c39L,0x0000000000000185L },
  82434. { 0x40b62591f51569e0L,0x0696b545d752fec4L,0x60b8363c88119cd2L,
  82435. 0x234f3e85ae327b8eL,0xd31f4f0acda9ccafL,0x3d581d7377e5ebc5L,
  82436. 0x4e9b38118e20d693L,0xc3db07bad0c29c3cL,0x00000000000001c4L } },
  82437. /* 43 << 126 */
  82438. { { 0xbe476abd5b92e5ddL,0x7338532b16d1237dL,0x022f670f6870cfdaL,
  82439. 0xeb8dc7c79b90dabeL,0x393200eecda571a8L,0x0c6aca6791ac6936L,
  82440. 0x14346e26488cb230L,0x273065e39536c901L,0x0000000000000030L },
  82441. { 0x13aa183bc593d9b8L,0x48ae6dc7343198d8L,0x7b62448571798e8dL,
  82442. 0xea83244ea71750d3L,0xf55e8ab5f6a39a13L,0x1728d30129d92e75L,
  82443. 0xd50d981f10614337L,0x6b0decaf77d6383fL,0x00000000000001f8L } },
  82444. /* 44 << 126 */
  82445. { { 0xea856cb6b878c367L,0xa9c546214a4fe60cL,0x1019fc69abf32138L,
  82446. 0x6c4b6ccd06730992L,0x1a311a6d0e41375bL,0xf0248235114992a3L,
  82447. 0xf41b1b39764b38c8L,0xce60da46dc105e9eL,0x0000000000000114L },
  82448. { 0x6aa1e85bb3994b60L,0x71512ea2c86972bbL,0x0741f2c4ee618490L,
  82449. 0xca37bb0da39e9c5fL,0xde4d4610ac5d2a89L,0x4f6c0db09ab5d88cL,
  82450. 0x81bc4e8876ac9892L,0x69c37cc885406e8bL,0x00000000000000d0L } },
  82451. /* 45 << 126 */
  82452. { { 0xdee629187f42e8afL,0x5cffbdddd3afaadeL,0x4a1b49fdcb2e4014L,
  82453. 0x50618d1c0d3d2d10L,0x33f3664eaae624b4L,0x0cc69b93cc062199L,
  82454. 0xb24a2b9bc82d9ff4L,0x3aa76f87ba908201L,0x00000000000001deL },
  82455. { 0x2be85cdcf5e32e54L,0xbf49717e92be486aL,0xc399c36657a1a1deL,
  82456. 0x6fca0189fbd93af2L,0xae241e2234367725L,0x09d626afae886ef0L,
  82457. 0x98529fc5b2523cdfL,0xb9cf93bb7627b317L,0x000000000000016dL } },
  82458. /* 46 << 126 */
  82459. { { 0xec182c95314f1ef3L,0x639755d63bb94f80L,0x68f1135f4226cd5eL,
  82460. 0xea726aae144b80b7L,0xf28425f789e8c673L,0x6b1aa275b32750e6L,
  82461. 0xad084021d82069ffL,0x8a46c57d9ec866b1L,0x000000000000001fL },
  82462. { 0x67b95be0941c5c8aL,0x276c490eded9fac8L,0x8420e9525734f9f6L,
  82463. 0x02f4cdf9bda6a56aL,0x7a37266e3ae782dcL,0x3980321a3e284d56L,
  82464. 0x36a300897c1d0382L,0xc0e8d093bc4d5b39L,0x000000000000015aL } },
  82465. /* 47 << 126 */
  82466. { { 0x067b652bab71a0a4L,0x556b7ba427ec168fL,0x5148f2daa39161e7L,
  82467. 0x37949e842818aeaeL,0x06837989d63cdbc0L,0xecae47c32c2781d1L,
  82468. 0x3a35acca4f826df1L,0xbe89aad66bd0dfeeL,0x0000000000000069L },
  82469. { 0xa31d586b613eaca4L,0x01ae304c231ef718L,0x85eddb49ac30afbeL,
  82470. 0x535eb7b938cfa36bL,0xb71c1334f948b8d0L,0xf0bb2d35722426beL,
  82471. 0x022926d36e23d8a6L,0x9229e9f90a053ffcL,0x000000000000014aL } },
  82472. /* 48 << 126 */
  82473. { { 0x2d8061ae51e200c8L,0x2ed4baeacba53504L,0x7a99581d1a816471L,
  82474. 0x918011cd8e03b1bdL,0xebf02ce3403bb07bL,0xe34fa50b55b600a9L,
  82475. 0xc9b864cdbfd6e3caL,0xd321624427effe1aL,0x00000000000001ddL },
  82476. { 0xcfade4e193849908L,0xc0f031bf48a0e903L,0x7d2b8b8ebce49719L,
  82477. 0x42d55ff0b518922fL,0x1f87d2e3d6fedaacL,0xd2e6ac95fb5ffdecL,
  82478. 0xfcf0b4b31a3a896aL,0x5a3b6cf15070e85bL,0x00000000000001d9L } },
  82479. /* 49 << 126 */
  82480. { { 0x6fec5fae1ac7901dL,0x4e7d2ad3ab3555bcL,0x6cef79e4c1f20c1eL,
  82481. 0xad3307c2b04f2014L,0x51bf0ad4f00438c5L,0x77be5b640c555e7cL,
  82482. 0x656812453f950e12L,0x233d773f91066329L,0x0000000000000136L },
  82483. { 0x1416db4b63b0a3cfL,0x0c8a94bac1652c6cL,0xc516152a81614204L,
  82484. 0x48b25ff63cfe5f60L,0x1d525e0bfc3f6c21L,0x9e60149106bb637aL,
  82485. 0xb042eaaac477a455L,0x538885a61fc4039bL,0x0000000000000026L } },
  82486. /* 50 << 126 */
  82487. { { 0xd8969d84fc075646L,0xfb95b2b9cf469b45L,0xd0558743461890b9L,
  82488. 0xc4a7c4d62d5be147L,0x7bdddc2abf485a2dL,0xe51570f923629993L,
  82489. 0xe4e0e7eca9fa2458L,0xe6106cdc8e0678aeL,0x0000000000000190L },
  82490. { 0x2c4c56ebce32e8eeL,0xd94ad3f5a5593d72L,0xe854d1ac0ff0a233L,
  82491. 0xa406b8375145ee0bL,0x0e3584ca488da729L,0xb6ff4f5380b8f316L,
  82492. 0xb363e9cc402b0513L,0xccc22a8755811946L,0x000000000000019aL } },
  82493. /* 51 << 126 */
  82494. { { 0x47d2138b3580621bL,0xbd4c9c9a1474dbb0L,0xf1481018ae0e3eb4L,
  82495. 0x6a093b167078ee4eL,0x4224d1f910edc815L,0xbb73d935a375ffefL,
  82496. 0x218c7befdaa15567L,0xda7f1dca1a74f587L,0x0000000000000027L },
  82497. { 0x811b1e8e92233eafL,0x5000dc5d3554ea4aL,0xecf34661944bd497L,
  82498. 0x0450716d15e5b3a0L,0x95e2529d671d928fL,0xd19305ae3946dfe5L,
  82499. 0x0f2065a76211cca3L,0x0e1476a6c806fd74L,0x0000000000000181L } },
  82500. /* 52 << 126 */
  82501. { { 0x84b08fd1b927faf4L,0x236eae2654fc3722L,0x1a7cb9bff4836cc0L,
  82502. 0x251833480db8508dL,0x36a19e7c9d1b8764L,0x8eb89180de352f40L,
  82503. 0xccf372836e1a3ea0L,0x3e550c0a0a72c4d4L,0x0000000000000136L },
  82504. { 0x8e83af37f7b2ea82L,0x03c78b22395bdbdcL,0xc229423fef042d8eL,
  82505. 0xf9eb603d4ed515f9L,0x2f56337627176ddcL,0x8390b596112af839L,
  82506. 0x617bed410774a6abL,0x52903a20d5f44b62L,0x0000000000000014L } },
  82507. /* 53 << 126 */
  82508. { { 0x4e4fe470af6efb14L,0x6e9bbcf0be657506L,0x68100c8e2c3159ddL,
  82509. 0xc0b59ffa5bbdf11fL,0x08681fbde6d49ff6L,0x7169ccb7e31b4c65L,
  82510. 0x8703c995c929042fL,0xa12f13323361e4ddL,0x0000000000000196L },
  82511. { 0x00ebad68a0783eadL,0x02d1925992856a97L,0xfdb7acac51bb0952L,
  82512. 0x5d46997c526c7fadL,0x9835ebd5c7a75eb1L,0x2ac64c34c3655307L,
  82513. 0x13101862da8f9faeL,0xb0f6ab8ed9f230d0L,0x0000000000000012L } },
  82514. /* 54 << 126 */
  82515. { { 0x6cc723d437603fc6L,0x18055821d352721aL,0x942c0d47fe656ee0L,
  82516. 0xd20be2694b170f87L,0x02f7ba5088d08be0L,0x53e64fdf1346bef5L,
  82517. 0x2d23c4d4ea146dcfL,0xe68a09a37987bc92L,0x00000000000001bdL },
  82518. { 0x7620c264359c5796L,0x5846dd812b06b415L,0xf5b1ce8c2b242c54L,
  82519. 0x3a42814aa2888a57L,0x4b2d89cca26460b1L,0xe3423f2974533daeL,
  82520. 0x3da2e8a63e9f0bf9L,0x53b6f11b1454ac77L,0x0000000000000021L } },
  82521. /* 55 << 126 */
  82522. { { 0x06ee24893ca6735bL,0x70fee9e83374e617L,0xe8b3fa54d4a16bedL,
  82523. 0xf364a301f3c1e5d0L,0xf16d5ef13c3e0753L,0x248d4e50d21da609L,
  82524. 0x242edf3ef60f6054L,0x3fdfc80c0c24e00aL,0x000000000000008bL },
  82525. { 0x0a18a90bc3170235L,0x5c1bf5dec086e9b1L,0xcaa2d5f62cd7657aL,
  82526. 0x51a3c67591ee757eL,0x16c99b21a186249cL,0x2c5561941b8cadffL,
  82527. 0x9c58712f16ef2913L,0x6ccee5a5004b31fcL,0x0000000000000078L } },
  82528. /* 56 << 126 */
  82529. { { 0xa5dba4e1352ecab9L,0x6b02e6822c778abaL,0x2540e2cbcd90027eL,
  82530. 0xe9273e1028ef0df3L,0xf06ac93932993c75L,0xff0dd2dd17e95ccbL,
  82531. 0x67647a2edba0d5a0L,0x88aac34883a00096L,0x000000000000017fL },
  82532. { 0x5b0503a0a1edd5c1L,0xa3b6b42ad77e1a61L,0xfbbc558fb0ac4790L,
  82533. 0x6e091b612c98fea0L,0xe9dd74b179d85e44L,0x01c6eb8996cb7b14L,
  82534. 0x3f220aba0a79bd88L,0xb30988e26365ab82L,0x000000000000002cL } },
  82535. /* 57 << 126 */
  82536. { { 0x54a308fd559f11f2L,0x31e2721b647cace7L,0xf118348be8222f9fL,
  82537. 0x97c4a761d5c359beL,0xded55d0b43515850L,0xeaf9aac7c43c5a7dL,
  82538. 0xdbb25a12d68e503cL,0x282258dc50e474a2L,0x00000000000000c8L },
  82539. { 0x7464fbebff35e9a7L,0x522a0c6c38c685f9L,0xa70a2bd404a05041L,
  82540. 0x0637bf682fc8355dL,0x33130aa254cf363aL,0x3ad9a6df0d4657f1L,
  82541. 0x9e49f74a60758bb0L,0x2024ecfce25eb216L,0x0000000000000085L } },
  82542. /* 58 << 126 */
  82543. { { 0x33f1a6e161e91c74L,0x4ff19110e6c0cb10L,0x5c42e957f600ab08L,
  82544. 0xdde03dd42f9bb837L,0x3641e9391a234d0bL,0x53f8620f0b9b78b0L,
  82545. 0x1fe0b61aa1409944L,0xe3dc9c0333cfbe8aL,0x0000000000000053L },
  82546. { 0xe668c6ee20c3c089L,0x427daa6df27385e3L,0xcac71fe61f72a4abL,
  82547. 0x6e5eb2cfe1329f8eL,0xe46c870f4e37087eL,0x5831ca51ad032d30L,
  82548. 0x5991353dee77c07dL,0x3362598e0bd85cd0L,0x0000000000000138L } },
  82549. /* 59 << 126 */
  82550. { { 0x9eb88eadeb34a93cL,0x6d29e37a4701b69dL,0x426b10f150770987L,
  82551. 0x73548e71d1f0f072L,0x80f016da0def01d1L,0xb1ccf96a3ea4825dL,
  82552. 0x39265cb1e0b3c83eL,0xc978e8b42b3039c2L,0x000000000000007eL },
  82553. { 0x730a6fbc3e04c5aaL,0x67b705f33d44b9f2L,0xefa40dc7e961f235L,
  82554. 0x5d20afc2c64cbe5bL,0x7e3e1033b0a4ab7fL,0x26ca57a6425506cbL,
  82555. 0x0205449170798bbfL,0x2397723fbe05c4e1L,0x0000000000000144L } },
  82556. /* 60 << 126 */
  82557. { { 0xaa272aaad19d50a1L,0x3571d10bb1d206b7L,0x13d9fd10c3b75ad4L,
  82558. 0xd8dfb50b546daf84L,0xd2b77b3a3a1f736bL,0x33725766683f310cL,
  82559. 0x5c27d38b9fc3b081L,0xd74611bad1642ff7L,0x0000000000000026L },
  82560. { 0xdb5eee71f30e1c09L,0x819fdb72ca6da656L,0x312f0d734cde6546L,
  82561. 0xa45ffdbb7bf7c656L,0x3fe1359af71f5257L,0x6ee0ea0ac34e9a29L,
  82562. 0x969e2682b1e77c79L,0x1e8323864a901cb8L,0x00000000000000daL } },
  82563. /* 61 << 126 */
  82564. { { 0x22ed87b1b25beddfL,0x3683f8776daac239L,0xda6806bcb77d6ed9L,
  82565. 0x046324c87a1c73b5L,0x5302a1f0280619fdL,0xff691f965d3ab015L,
  82566. 0xfd8e1f0576a75d3cL,0xb170a9c48883921dL,0x0000000000000199L },
  82567. { 0xe2e4582834cf1693L,0x4e53f2ccb6cbeb25L,0xd7c26c5a13f317d0L,
  82568. 0x51871564f2f46ae0L,0xd17031e8abf83111L,0xe07adfc84579ad64L,
  82569. 0xa9461bc123467da6L,0xcb2976479eccc563L,0x0000000000000035L } },
  82570. /* 62 << 126 */
  82571. { { 0xb146ed5aa9f72a7cL,0x484b8997a7f0e604L,0xeb7b7cba9531f3daL,
  82572. 0x272a057cae6515d2L,0xb5afd269686fed9dL,0x3495b87c6d05afcbL,
  82573. 0xd60b71ce218f80f7L,0x2d850946e0ded104L,0x0000000000000002L },
  82574. { 0xadb631e23692300cL,0x30aa16333329dfccL,0x8546c0fa71ffd9aaL,
  82575. 0xc5e4b3590962f556L,0xf09a2444bd391207L,0xdbec490c71cab26bL,
  82576. 0x4055668615b145deL,0x5f18aceeceab1ac1L,0x0000000000000170L } },
  82577. /* 63 << 126 */
  82578. { { 0x62cc9557f077d63dL,0xf30f4a8be8f5f5f9L,0xf98c9bdcde80ec73L,
  82579. 0x167d81b80c4c8e3cL,0xbb7ff344653cd736L,0x60725f05591730e0L,
  82580. 0xbe4ef60d1803adcfL,0x04ed04c0c5127350L,0x00000000000000f1L },
  82581. { 0x5d2cbf0b776f33beL,0xd1a495b3cd90ab6cL,0xd47c850fecb6e7d7L,
  82582. 0x75dfa50f266f13f8L,0xfe272a12e317dca2L,0x14ce7728bdff1777L,
  82583. 0x3dc3926220fba381L,0x148ac59d6c2259d0L,0x000000000000012cL } },
  82584. /* 64 << 126 */
  82585. { { 0x904f2d4bdf9314e0L,0xdaae850de7a00aacL,0x79231083582efb03L,
  82586. 0x80f1c283ec7fe6d2L,0x2d5b3996199d74a8L,0x5f120b9b395007e7L,
  82587. 0x30d237734773f03eL,0xf4c192733b78b686L,0x0000000000000121L },
  82588. { 0xf103ff6dfa8b51f0L,0xae7afb5140e2bdf0L,0x1130380e83254171L,
  82589. 0xe83501b8cda10d95L,0x1057771e4f3a8c01L,0x8f52196aac807069L,
  82590. 0x3609b0aaa5623821L,0x8c25790694a0a7f1L,0x00000000000001dbL } },
  82591. /* 0 << 133 */
  82592. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  82593. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  82594. /* 1 << 133 */
  82595. { { 0xe2445c75cb0284f6L,0x7266ed21f0d3b65cL,0xa6f7fb639c0cd13aL,
  82596. 0x68d77e3537fee05aL,0x1d21ea95dd708c8eL,0xc75f44e793ba8d14L,
  82597. 0x8bb1876d90e34ca9L,0x7a3621e4b70e8cb2L,0x00000000000000b8L },
  82598. { 0x0fb7c958e1d0f420L,0x34b8bcf2fadb2239L,0x1800038b6a67f72cL,
  82599. 0xa8e3236ac19f70a9L,0xa73dd94cb908c753L,0xd7569d95a6fa426fL,
  82600. 0x5ab784f60a295ae2L,0xdc2bd296583f0f13L,0x0000000000000039L } },
  82601. /* 2 << 133 */
  82602. { { 0x4624399658603a1eL,0xf6bf54496310788dL,0x178120864c799cc9L,
  82603. 0x20a0d4e63f9c7982L,0x13340a26930d81caL,0xb248675461520fa5L,
  82604. 0x0e9480cce3e2cbb0L,0x11f633c1c61dd54aL,0x000000000000008eL },
  82605. { 0x34510e9e07ef7a73L,0x242ea6950e00a9dbL,0x1a146ea20ead5b7aL,
  82606. 0x52c0a70bf54a3534L,0x4b85dbbeb8113e6aL,0x62df74261446fc2bL,
  82607. 0x3a79c26ee9fe597aL,0x6327cecda7afdc59L,0x00000000000000c7L } },
  82608. /* 3 << 133 */
  82609. { { 0x8bf9e0791c403388L,0x219a3154046f9ecaL,0x3a8ee73bcec86e4aL,
  82610. 0x0a31124e281f2e27L,0x6a6fb93716bc3255L,0x0706364a8ae63821L,
  82611. 0xcce86c65323d4b3aL,0x0c238449fd6cfbd4L,0x0000000000000174L },
  82612. { 0x031202de7faa8a49L,0x97b770b2579d75fbL,0x5cf4413ea5e0d986L,
  82613. 0xe93b56fdcc936d96L,0xe4ec80d2b1c5576aL,0xbf8972a2da093bf5L,
  82614. 0x0c5a98bdbcbefd15L,0xa19b3e630e6f9d2eL,0x0000000000000131L } },
  82615. /* 4 << 133 */
  82616. { { 0x0f73c85a8201c48bL,0xef502f8a4c9caee3L,0x8df7699641d84048L,
  82617. 0x93f8a34bba0f3b82L,0x0fba696cd6a81ed8L,0x0be6c83196622944L,
  82618. 0x0de9a8f2085495f9L,0x12d843e6580b2551L,0x000000000000010eL },
  82619. { 0x507820fbe51de678L,0xe404cd9317831a13L,0x4818c9d1721196c2L,
  82620. 0xefa01a64cdda697fL,0xdccd32f0bab8b58bL,0x51ac6e1fb4a19bdaL,
  82621. 0xd402693f4e25340aL,0xd6567590afbbec44L,0x000000000000018aL } },
  82622. /* 5 << 133 */
  82623. { { 0x07cf170343ea64efL,0xd1dcaf5fe29ad51dL,0x6bc714cbfe586ba6L,
  82624. 0x95d455c4a564449aL,0x786b09c6a3f8c7b9L,0x6b2825349a9f9acaL,
  82625. 0xccceb672df41c312L,0x88da8f633a5f10daL,0x00000000000001c5L },
  82626. { 0xf41c956600a865dfL,0x8eeaa9fb92362410L,0x232c80aa699ea6c5L,
  82627. 0x86ad242d2e4ce53aL,0xf54d983fc51e3b6bL,0x5fef2fb86e2dcdcfL,
  82628. 0x08b9a493e3f0b5dfL,0x32594fcd676f65f9L,0x00000000000001cfL } },
  82629. /* 6 << 133 */
  82630. { { 0x79541ad2f0258929L,0xb69d65afa7ffda3cL,0x7a83f701fb3fccfeL,
  82631. 0xb8c83005284111f3L,0x7b48d4acff594c0eL,0x4364f321b301dc8bL,
  82632. 0xccdb0184404f2b6cL,0x52239a4b8f4e85efL,0x0000000000000144L },
  82633. { 0x1dd594a2f650828dL,0x98b50e840aad2d93L,0x491fb295fd90d0f7L,
  82634. 0x511abc0b7fc0144cL,0xeb240aa88d0085cbL,0x926f083c4f4e0a76L,
  82635. 0xf5e8865df32a6e48L,0x8fae6ec023e3413aL,0x00000000000001a5L } },
  82636. /* 7 << 133 */
  82637. { { 0xe038336eae697aa9L,0x1545b82e6b122bc8L,0x2acfc7a2465cab13L,
  82638. 0x396d60549e0670bdL,0x7099e416d4ef9b8aL,0xa745f4a6f144b1b7L,
  82639. 0xe859dac381092b9fL,0xf4bf2786ca8dba24L,0x000000000000016cL },
  82640. { 0xd43fa47a1d8e919dL,0x7848e02298994d0cL,0x88559fc88b5c1e94L,
  82641. 0xd810594a0ee65987L,0xc6b9837b9476a135L,0x08b04d2778667d75L,
  82642. 0x3d35806e815d0639L,0xd703da9b9cea4585L,0x00000000000000feL } },
  82643. /* 8 << 133 */
  82644. { { 0x714c9d4d6e4a010aL,0x9e8621eb98bbdd05L,0xf3f33305efc60f48L,
  82645. 0x4e392a4c0706c352L,0x5d0f7b3a94dcfc6cL,0x28c343062434d058L,
  82646. 0xdba377bb41885900L,0x0ed4082dad73df88L,0x000000000000012aL },
  82647. { 0xc0899758fcdadfebL,0x1638c31454319374L,0x1831028ec8ae469cL,
  82648. 0x41093ffe3a0e36a7L,0x75c6667b2860701aL,0x38c843a264de0a06L,
  82649. 0xc6e2c8a0949389d1L,0x754f22b73a1cc818L,0x00000000000001feL } },
  82650. /* 9 << 133 */
  82651. { { 0x90d5cf72e8548dffL,0x0b0082421130f27fL,0x2b742a08fd094a2dL,
  82652. 0x8002cee1fe8642b5L,0x94ba68b089e850d4L,0x9bfe83a1084d0ab9L,
  82653. 0x6aa91c002d2b5f7bL,0x0886530f383c1125L,0x00000000000001b0L },
  82654. { 0x039fd9101b334478L,0x762fdf6b772b30dbL,0xf0b07b33950b4e70L,
  82655. 0x704eab49aab6690eL,0xfe91d13cbd747525L,0xb40f6f7ea5ab8cd3L,
  82656. 0x9f66e805fe523b78L,0x232466335f117f27L,0x00000000000001d3L } },
  82657. /* 10 << 133 */
  82658. { { 0x3660997e1d29651bL,0x017c92f21c43ee22L,0x399bd07278817d09L,
  82659. 0xe7886c7efcc2e4e7L,0xd86cddf76c75869dL,0xbf7491ac8d350f4dL,
  82660. 0x794d402ad99eda1fL,0x93a31aa3ba86bb24L,0x0000000000000155L },
  82661. { 0x3be864461ba82751L,0x2fbb5d14599c74c0L,0xb91bfae79528f6e4L,
  82662. 0x9718d1dc27ecc011L,0x2e6ae4695685c69dL,0x755ef4fcf2f01e8fL,
  82663. 0xd7d5ab2292d8a1aaL,0x0b96bd64fa7d56f9L,0x00000000000001f5L } },
  82664. /* 11 << 133 */
  82665. { { 0x803708af0a32a860L,0x611b39670a9ffb60L,0x1d73591bd1c64167L,
  82666. 0xabefe36c919b5b6dL,0xa6e40fe88e76d295L,0x59af88d392cc3d6cL,
  82667. 0xed75288dc978e6c9L,0x1d4f6dc597c882eaL,0x00000000000000adL },
  82668. { 0xa71e31457368f4a8L,0xc5b4991a47a78cbcL,0x718cfc2581954234L,
  82669. 0xd154abe8846e6039L,0xfc6cac6c2e7fa9b9L,0xf8c914314a4c53c3L,
  82670. 0xcc073a4bfaa6ddcbL,0x3980d5f90aec7bddL,0x000000000000009eL } },
  82671. /* 12 << 133 */
  82672. { { 0x53f7cc1dcd9c3b89L,0xd01fc88e37c09eedL,0xdaad94c7fd4ba95dL,
  82673. 0xa7bab576f6331227L,0x4919757ba6066bfeL,0xa8d525106197a2b5L,
  82674. 0x1a7c2cdd80fe8f9dL,0x47a0587c292e069aL,0x000000000000016dL },
  82675. { 0x0374fc0618a5170bL,0x80e54bec68f03073L,0x8de8d710a373c6a3L,
  82676. 0xc25d052115e254d7L,0x97fb5a235d0da356L,0xae1d930aa3099c32L,
  82677. 0x4a362d78b750367dL,0xeaa2fd7c6c7e426dL,0x0000000000000160L } },
  82678. /* 13 << 133 */
  82679. { { 0x7d18c1c82affd347L,0xd1380fcd2983736dL,0x595f7723c63223ddL,
  82680. 0x631cfbe5b484b6fbL,0xbd2861390a6ca8ccL,0xee72e38d4f471ca1L,
  82681. 0x032046a1971ca142L,0x479212432a1dd8c0L,0x00000000000000c2L },
  82682. { 0x35e6b9e5d7ae4e8fL,0x5a00b0f90a3feca7L,0x1c342e080a0a3d2fL,
  82683. 0x1e8879ddee0b5c36L,0xa420ee79ec8626cfL,0x79a1917573f33218L,
  82684. 0x1258124a86bdec5cL,0x691be2ab06058dd7L,0x0000000000000042L } },
  82685. /* 14 << 133 */
  82686. { { 0xcfa90e928d85981bL,0x44fbbe308470ae90L,0xb1c923e3b4a1c507L,
  82687. 0xb2d07ce9ff4afe17L,0x6efdd4cc1fefef7fL,0x9dc388240fc6d59eL,
  82688. 0x90a95ff8cd639f85L,0x97907edbc6d5cc6bL,0x0000000000000012L },
  82689. { 0x4321d7bac15ff87aL,0x266401efa1c681ddL,0x71b9f08c84b64526L,
  82690. 0xa59beafcfd5df281L,0x75c4a3cfbb791707L,0x48cac59c01ce567dL,
  82691. 0x14cd0e56a00a8628L,0x2e9e9b3f0cacd47dL,0x00000000000001d7L } },
  82692. /* 15 << 133 */
  82693. { { 0x234103cfdeacba24L,0xfe7118f964b60ddaL,0xb600dd482a7d4f4bL,
  82694. 0x60177286754ef7dcL,0x49a59cffe9ab0cb2L,0x309aeff80cbfcc2dL,
  82695. 0x0a995830b4cb626cL,0xe5c24958357da294L,0x0000000000000108L },
  82696. { 0xdc25d5d416fbf2d2L,0x76f7dd357630d805L,0x0fa599f1883ffd97L,
  82697. 0x81490dda0c07ab63L,0xb0afa4b335d3a0b3L,0x5339cd6c98872553L,
  82698. 0x31702ec41f849f90L,0x111738088b6e6311L,0x0000000000000180L } },
  82699. /* 16 << 133 */
  82700. { { 0x58821c974a0c0913L,0xb7707006307795f2L,0x44f5f5bcea20c664L,
  82701. 0xc23f5ac39c5ec494L,0xe83e4fc380affd1aL,0x7e92884d50102ac6L,
  82702. 0x632405b8a3c31198L,0x1995f831453cc03fL,0x000000000000009fL },
  82703. { 0x8019071721e50847L,0x794b63d991f3efd5L,0xe9d69357a95c778cL,
  82704. 0xbd298eb0d04a14c3L,0x40a105154c5cb3bcL,0x296fd944f9c2fa5cL,
  82705. 0xfee5fe79efb9a49bL,0x12e8d7b35ba9db09L,0x00000000000001d7L } },
  82706. /* 17 << 133 */
  82707. { { 0x7978a92b15e89a09L,0xc21eaf079c8cbea8L,0x977fccc67d83c497L,
  82708. 0x037b22f5a4996ef4L,0x79b075dfb1fa5efdL,0xff169c5d895b8646L,
  82709. 0xb91366e1139eaab3L,0xfeac1026a55cf585L,0x00000000000001b6L },
  82710. { 0x0e827a8e83e55daaL,0xa7a27e77cd68ce98L,0x2cc9672e7d586572L,
  82711. 0xd055fa46a3ff0e35L,0xafcc63023268d057L,0xccf7b4f3294e84d7L,
  82712. 0xe972308991a61758L,0xda4feb6b72a08bbcL,0x0000000000000098L } },
  82713. /* 18 << 133 */
  82714. { { 0xa3c2e3b89a33dcbeL,0x69a1af65846e1f3fL,0x325e624b23d94d03L,
  82715. 0xc9f9a9fe7b606aa5L,0xe660b7b341d6f8e6L,0xd9b994a8e7a4b883L,
  82716. 0xd97bd77226a3c490L,0xed529b01110a6d8eL,0x00000000000001a4L },
  82717. { 0xc956d69d12852a59L,0xe0271878b91f3a5bL,0x70ca2552c30df3d2L,
  82718. 0x1b322ad23ed9a3f0L,0x2bd7fa803ed7b14dL,0x2b0e40c9937ca92cL,
  82719. 0xf0a680d7c88bf5f3L,0x2c1717bae18f006dL,0x00000000000000e0L } },
  82720. /* 19 << 133 */
  82721. { { 0x4f62538b805ba0bfL,0x521cb0d1ab71e577L,0xbbc91db992f0b4c1L,
  82722. 0xd97b96acea45846aL,0xce2a73bef99195b7L,0x4808f872335360b4L,
  82723. 0xeb784cc1e09fa8c9L,0xc9d0de8524667ffcL,0x0000000000000098L },
  82724. { 0x8aa32a023abb4464L,0x8539cb99aa2eeb37L,0xf97a730fe6572cb9L,
  82725. 0x49a2ec198d17e745L,0xcbb7f722581a6561L,0x5271b9e7fd748594L,
  82726. 0x7df05c8555efe907L,0x12b457a3648b30ffL,0x00000000000000dbL } },
  82727. /* 20 << 133 */
  82728. { { 0xc2eb058989126facL,0x796ce4619a94396fL,0x40eca49d99c7ecccL,
  82729. 0x20ed57c7c492a4a3L,0x4089296506fa952eL,0x4690915c906f1b9fL,
  82730. 0x099b286b548ce05eL,0x293617b76fe582a4L,0x0000000000000094L },
  82731. { 0xa34b04313831cd9dL,0x51eeddccb647a424L,0xcb7754a1e82a9c3dL,
  82732. 0x59bd6cabb14c49bcL,0x8f6d2d2e8ac8f7a3L,0x5f2fbf4346ce83b7L,
  82733. 0x93ece81c0d68eb87L,0x01271a1304d06b9dL,0x0000000000000067L } },
  82734. /* 21 << 133 */
  82735. { { 0xe26b19f2d74f6e10L,0xf3d3187d2ce14a93L,0x389726ad0da15517L,
  82736. 0x370c53b748f5a2d4L,0x052065fa2adf6e52L,0x35193065bae051ddL,
  82737. 0x82351b7900b33478L,0x03e7d6d80cdf4884L,0x000000000000019eL },
  82738. { 0x383538be2e446a7eL,0x36190c9adb8a52deL,0x51d74979946c8943L,
  82739. 0x01bf13a579d3b4c4L,0x7f27c8610f2f49e2L,0x6ce84ff46a734dc1L,
  82740. 0xec6f79ddbb5ff5a0L,0xdb6e4fe3a96d9a23L,0x00000000000001bcL } },
  82741. /* 22 << 133 */
  82742. { { 0xbeb1d116cfb1ec29L,0x3f1502f0c5f0152eL,0x501456fe75a4ee8aL,
  82743. 0xde95a49a23265eafL,0x9e9e8319c0b85f89L,0x04d93a60647d2726L,
  82744. 0x63a54a59cb65cc94L,0x56766e88f173d58aL,0x00000000000000deL },
  82745. { 0x9bccc01ebdb6a51cL,0x3d893bac5ac0d14dL,0x4a89af9516e16ea6L,
  82746. 0xcd7eba6798db611fL,0x90e2d187e84acf42L,0xfdb5ecbce1053f4dL,
  82747. 0xac124000e8c4a365L,0xf724f56ecb5910b3L,0x000000000000017bL } },
  82748. /* 23 << 133 */
  82749. { { 0x0978471e01ac4394L,0x057a926de4d2cc08L,0xece99f2f002fbdc9L,
  82750. 0x07bb884abe832818L,0x7f396535fb1c9404L,0xfdb86a9f6ba39a7cL,
  82751. 0xf4b372d9665c78e8L,0xc1b321e9dd520572L,0x0000000000000006L },
  82752. { 0x51f1b8b8841a3ed3L,0xf49b313516b4a01bL,0xe01130df5af2717fL,
  82753. 0xb62166e4eea414c3L,0x7991e1ac050b5040L,0x8d632c2207cfddfaL,
  82754. 0xa9033c3efa37f8b0L,0x542b8994790c1190L,0x00000000000001fbL } },
  82755. /* 24 << 133 */
  82756. { { 0x1711039279d6593dL,0x7d88866ed6d1e388L,0x27e0aa5fc9a20e92L,
  82757. 0xc82ef455b781bc4cL,0x36888ad0a1e9a984L,0xa51d1804962eb333L,
  82758. 0x3964bf4a6589216aL,0x88904ffa7529c9fdL,0x000000000000016bL },
  82759. { 0x9e0aca53e59081d4L,0x8b9066c009c4315cL,0x51d18e8b44dafb2eL,
  82760. 0xa86cd85c3c757835L,0x7534cba2ed8b25e4L,0xe1db4aebe59c5ebbL,
  82761. 0x77af93de72024396L,0x0779f6af77f5a9beL,0x0000000000000090L } },
  82762. /* 25 << 133 */
  82763. { { 0xfa55f353e1eee7e8L,0xe3728f0f832a86f4L,0x08ddaad44cb9e21aL,
  82764. 0x9b49d70e9cf0f3d5L,0x8ffab00c2fd4bb7bL,0x7b24a72f1435c1efL,
  82765. 0x390f209023687920L,0x1ae25cb77c75e684L,0x00000000000001ceL },
  82766. { 0x881170cb4ea45115L,0x7cb03b3b2fdcf8cfL,0x0a7628ad560c4124L,
  82767. 0x44811560823820e9L,0x61ed767b6994e17cL,0x94da851fb95b76c6L,
  82768. 0x78bdec4b3c1ed403L,0x463d6cc3f1d85a84L,0x00000000000001bcL } },
  82769. /* 26 << 133 */
  82770. { { 0x4b1cf5b9c8514599L,0x609b60221834d2b1L,0xbe5b9326da5dde47L,
  82771. 0x64409ae86c87d75fL,0xa3567801e8d1e7fbL,0xa9b932338bf2915aL,
  82772. 0x91fd8fe62941cc91L,0xed0e7455cddffdf4L,0x000000000000010dL },
  82773. { 0x913d2a5deef7108cL,0xaed5d7062be9d4d0L,0xfa01ca9bfa991f21L,
  82774. 0xf3518ce8e99b856dL,0x981faad4e99672cdL,0x539dd546e7f474e0L,
  82775. 0x9bda2db4157e9f13L,0xb8a88661ee003dc8L,0x0000000000000081L } },
  82776. /* 27 << 133 */
  82777. { { 0x8521387559df2f72L,0xb509af3789687b4aL,0x077892b261f8a34aL,
  82778. 0x5603f3095d0fee80L,0x6d42d34edbc6cf37L,0x0cf8c9c4a3920fb1L,
  82779. 0x655e26bfbdaf412dL,0x7272f887e2208eb2L,0x0000000000000141L },
  82780. { 0x62a68859878f4a5bL,0x0146336435dc49edL,0xc3a2caaec6d3081fL,
  82781. 0xc6b69c2ce990949fL,0xbf1385e215a826edL,0x0419547fb367f8c0L,
  82782. 0x389ab431323d3470L,0xb0453b45669f8c98L,0x0000000000000180L } },
  82783. /* 28 << 133 */
  82784. { { 0xd815b0c258bc45e5L,0x91a14033dde59521L,0x2af00d61185031ecL,
  82785. 0xb1113f8df49ae2adL,0x623869a703db5dd0L,0xa27f52a38b084e1aL,
  82786. 0xffae28447ec2a78fL,0x316a4a837d788dcfL,0x00000000000001edL },
  82787. { 0xda151fa30ae71753L,0xd2c6156661148b48L,0x5e1d6aa1ced8d6e9L,
  82788. 0x4c784fcdacc9df51L,0xb5715fadfeb5fd68L,0xe8aa4f453c4bd41aL,
  82789. 0xc295cf2c83a6506bL,0x6ebcfbe68959cd18L,0x00000000000000aaL } },
  82790. /* 29 << 133 */
  82791. { { 0x1e628033cbc78ba4L,0xb1b10d9e6af66a7cL,0x22732085003e1d98L,
  82792. 0xf76bf139b4ef67c4L,0xfdc2dc37b969d917L,0x8e9b0e633e84da86L,
  82793. 0xe1860be5f0916be7L,0x0e800a237c15f060L,0x00000000000001deL },
  82794. { 0x213138e0bed62300L,0x2919defb59a9fc70L,0x076e46c4a40aac25L,
  82795. 0xba2e019231a4812eL,0x8fc6de496adfcd6aL,0x38d17f427d95423cL,
  82796. 0x79adb39063487d5cL,0x58a207a931a424a8L,0x0000000000000025L } },
  82797. /* 30 << 133 */
  82798. { { 0x35c5164a45d58f3bL,0xe8b634c956a438f9L,0x9534282771b03d58L,
  82799. 0xa8c2ac9f6b9023c6L,0x4d90973f13636501L,0x9d371c592eb26e43L,
  82800. 0x24e2ea7d97f169a3L,0x6307489ee3af53edL,0x00000000000000a4L },
  82801. { 0xa142cc05e27954edL,0xfa9cfb5de2d9d9dcL,0x7d78edee9c8624a8L,
  82802. 0xf0c2bd235976c173L,0x9727567c08649437L,0x516662a467e6759dL,
  82803. 0x5bc285768c8f1790L,0xa62faec4956463faL,0x0000000000000068L } },
  82804. /* 31 << 133 */
  82805. { { 0x6a9df5fbe3f77972L,0x52703588c85f0f3fL,0x29c45e81e6d57b9dL,
  82806. 0x3ff4393a0be4937bL,0x5c85f2ccdeb7dec9L,0xf885d42872f17b38L,
  82807. 0xc839bd481d95a39eL,0xfd14d7c7dd7372cbL,0x000000000000010fL },
  82808. { 0xe9a106f0dfc4e535L,0x8d1efece352ca519L,0x4649995c18b5a799L,
  82809. 0x17e6bc99cda75652L,0x9b7edb4dc27545bbL,0xb196ef1436d9adb6L,
  82810. 0x2a3244496ef504feL,0x5a8e3e9fb9b92a69L,0x0000000000000095L } },
  82811. /* 32 << 133 */
  82812. { { 0x0d200089e0b8b7c6L,0xfa7c2a74e0c3a66cL,0x47465db046e3e5cfL,
  82813. 0x2bd1dd818537bb62L,0x748d70127165a234L,0x4d3737455c718337L,
  82814. 0x40c0f48e189ce8cdL,0xd018ce08a2f751cfL,0x000000000000014bL },
  82815. { 0x5513201a7ac22c09L,0xf559e050a1cd3533L,0x6e1eba1ebd4031d0L,
  82816. 0xbfd8a1cc532b1d53L,0x3fdee4cf5a15b193L,0x226693f7789bb143L,
  82817. 0xa0d4dc89dee75e9dL,0x438d3544f09a0c6cL,0x0000000000000189L } },
  82818. /* 33 << 133 */
  82819. { { 0xae388e5fbc7cfa67L,0x519392e5c4a83747L,0x4ccc4f517e71db2dL,
  82820. 0xd0613eab43b51f80L,0x512eb54540a16cffL,0xfb154e87e61e6026L,
  82821. 0x676633c8c236be41L,0xad0ef2ceda383a00L,0x000000000000010aL },
  82822. { 0x551ec1eb5b304592L,0xf85423b68c0864d5L,0x4e1550fb4b330062L,
  82823. 0x09fe089b38cf2f38L,0x5b9116c2970c0163L,0x9098bb3fcdf09e59L,
  82824. 0x7e65e01668bd9e33L,0x5c5d66f89b52bf2bL,0x000000000000000aL } },
  82825. /* 34 << 133 */
  82826. { { 0x72d78fb610dd1d61L,0x8be49d9a7bd8cd95L,0x3026eb2662e523ecL,
  82827. 0x7bfdd7dbd55b37baL,0x7dc305b0effcc9e3L,0x00a2eb23fa3415e8L,
  82828. 0x44ce408be37bc2bcL,0x0988ece81f78d0f0L,0x0000000000000098L },
  82829. { 0x0e7dd8fff0f57120L,0xb519a4f6b2d8b7daL,0xc28b9d98aaa4606eL,
  82830. 0x63655931b7ebe8daL,0x7d5e49937aa83d31L,0x8fc247695d7113b2L,
  82831. 0xaa723099af3672e6L,0x57a2ede46113f6bcL,0x000000000000017fL } },
  82832. /* 35 << 133 */
  82833. { { 0xbab36a6c9c8171b5L,0x2b92b467e3b4a5e7L,0x44181477ef7b6955L,
  82834. 0x14887f78ea6af659L,0x9d6c37d31334f773L,0x46ad0d60b49909b1L,
  82835. 0x5e6f4e00e13b1c8bL,0x1342dbff52e575dcL,0x0000000000000028L },
  82836. { 0x845e56bef3dd7aa6L,0x35d1cd6645b0451eL,0xef47dfa5d812844cL,
  82837. 0x58c3217d8a377dfaL,0xf1c825800e7fcba0L,0xd8b870a470af2953L,
  82838. 0x8b04f1bb44705ea2L,0x985e4d4d60d8733fL,0x000000000000016dL } },
  82839. /* 36 << 133 */
  82840. { { 0x6339d37cd0d9229fL,0x6005c395e584a476L,0x6d0069ae28566e91L,
  82841. 0x429756900b0315faL,0x79dd1ffdec520a49L,0xc838751c0a8b3c1eL,
  82842. 0x0d28edf14f3751baL,0x500d09678bbc87b4L,0x0000000000000118L },
  82843. { 0x7c7e207e14e4c072L,0xe63e49dfd3416c7cL,0x477aaa052eab5b31L,
  82844. 0xb73c00ada919f8d1L,0x3f892c301613ac11L,0x04d69886a3169be8L,
  82845. 0x8a2cf2a7f534f014L,0x3181e5a8a0b80c93L,0x000000000000005aL } },
  82846. /* 37 << 133 */
  82847. { { 0x0ab7aabfdc9ad56cL,0xd23c15c5eae45f77L,0x8890ba1666310ed7L,
  82848. 0x78aa3af2f6769617L,0xddc04ace79481281L,0x93d7c93609693faeL,
  82849. 0x89f579dca7f87b7bL,0x9fd68aa4c0811d4dL,0x0000000000000090L },
  82850. { 0x90acac1c3d570677L,0x2db8af73915160c5L,0xb68f09301a9bd834L,
  82851. 0x92d8f38a3bc34baaL,0x6cc48f4d2c2a218eL,0x29cb31dccf297452L,
  82852. 0xa425d2e8b3a8e929L,0x778988ad9d279aa0L,0x00000000000000f2L } },
  82853. /* 38 << 133 */
  82854. { { 0xd64682853c9f5c09L,0xe9c6093417a4877cL,0x30e2768b789a9e6bL,
  82855. 0x92c8cc80a7f44fb3L,0x0da7ce7e21477158L,0xd6e1e02b94e9e544L,
  82856. 0x9610eedecb4dc8d2L,0x47f8263b903a1fa3L,0x00000000000001d5L },
  82857. { 0xecd9b15649d6c575L,0xb862a41f882a88f1L,0x49423e64ede1dca0L,
  82858. 0x4c5fda7de7b3c050L,0x949691d28a4614e3L,0x66bb747b0b9f0904L,
  82859. 0xd4d91254ab12272bL,0x255b9e8717d749cfL,0x00000000000000b3L } },
  82860. /* 39 << 133 */
  82861. { { 0xa875e013bb5d1c4aL,0xa3f2502ac3e007c7L,0x6de7cc3766e12aa2L,
  82862. 0x879a3b104a63a2bcL,0x6b31dd72854e1969L,0xd90cc9a146ea617aL,
  82863. 0x379e82c25c4a71f7L,0x8f516047281e3dd5L,0x000000000000009bL },
  82864. { 0xa0fcb1903b84b7abL,0x0a52b50e0fc3d3c0L,0x32f65ccf32e1e6d1L,
  82865. 0x0ab8ab6b013731eeL,0xea4c3be597b82568L,0xaa6c59b1f617b5d5L,
  82866. 0x84b5dc5864f766bdL,0x1408d8b8df0ccd58L,0x000000000000009dL } },
  82867. /* 40 << 133 */
  82868. { { 0xf9573f8d640e6a08L,0xae4874b31138e3e6L,0x9de063dcda7c7652L,
  82869. 0x3f4f25905c5e679aL,0xbf26d5286355457cL,0x071b6eb12fbdc5abL,
  82870. 0x66f75278b8344ed2L,0xfcae83ac52898292L,0x000000000000014cL },
  82871. { 0x13b69d24c652cbb5L,0x072f96e6120253a9L,0xe8f88c7564985f28L,
  82872. 0xc7eafd4f089a1e10L,0x6d4d0fbc9562b680L,0x6e4e5af7b91b73bfL,
  82873. 0x253f58ce07278b89L,0x1df25657e8a56798L,0x00000000000001fcL } },
  82874. /* 41 << 133 */
  82875. { { 0x7366c523a6d0298eL,0xfc9896739908952fL,0x4e7b7e4b7cad6846L,
  82876. 0x7d61390da76096ffL,0x121c9c4bbdc2d1afL,0x9b4a5607a0731325L,
  82877. 0x037059e473265b99L,0x8674868ee48a42e1L,0x0000000000000097L },
  82878. { 0x78109eb260bf7a21L,0x84264885d3af48c1L,0x07659bf119b54790L,
  82879. 0x8ea14ceb95d6aaf0L,0xcae15147cf069d4aL,0xc76144d6c7c72fb0L,
  82880. 0x2b3a00a10d04f324L,0x2b1ccca3b23706d2L,0x00000000000001d3L } },
  82881. /* 42 << 133 */
  82882. { { 0xb2737edb4397a1d4L,0xa3cc4752adf24307L,0xe7076bb998c5ca38L,
  82883. 0xda5f14a29cbf2670L,0xf17c4d57900f3687L,0xa5da2a2bc47f8b80L,
  82884. 0xfe06debef4dc7298L,0xd171fac45a85e086L,0x0000000000000059L },
  82885. { 0xcf8e159ada084c91L,0xe537e29b9bb027abL,0xda5d260c2b9929b2L,
  82886. 0x79587899c6d406c9L,0x4901def2b1285e88L,0x75514c448458dd8fL,
  82887. 0x942b087b90071771L,0xb3bc605d576fe985L,0x0000000000000185L } },
  82888. /* 43 << 133 */
  82889. { { 0x20ff84d0abe1e0d1L,0x72bba8f48b5ddd1aL,0x17ea9fa311158d5aL,
  82890. 0xdde176b4d05a1a67L,0x26a74063002ecc58L,0xf2a0564dbcefb61bL,
  82891. 0x5846fefa3d6fdda7L,0x362dbb738d841101L,0x00000000000001daL },
  82892. { 0xe7957a081e70f44aL,0xa9dc89fa1e152397L,0x871ecf03a8f6bed7L,
  82893. 0x01428e993a1d5e32L,0x6cfbafd4d04d7217L,0x31acf44166b784e1L,
  82894. 0x68da3e28dfd839c2L,0x0eefd3f7a67bf28aL,0x000000000000005bL } },
  82895. /* 44 << 133 */
  82896. { { 0x16ce6ba9219403a6L,0x704c37ed72f83290L,0x1af9f9d700efb6b4L,
  82897. 0x456cd8d972b63e74L,0x98256804fe6873b0L,0xcc5ec6b62243b040L,
  82898. 0x0d6b88a1bf16f3a2L,0x19632b44d89006b4L,0x0000000000000188L },
  82899. { 0x8b9574fa6b48efbaL,0xaa2a766f9517e3beL,0x134f8f42c7789b73L,
  82900. 0xde6e8af2e435cc54L,0xfdb8a89202acd7e2L,0xe7fc99b4db22b516L,
  82901. 0xe33eb6b38a467a40L,0x7c98831102aaf81cL,0x0000000000000117L } },
  82902. /* 45 << 133 */
  82903. { { 0xc69fa235f9f382b1L,0x138dde0b97936162L,0x0193fb316ab8c45dL,
  82904. 0x52b3734d5b963d2fL,0x68bcf54c42cb98caL,0x946127ae86c80ea7L,
  82905. 0x2e85d3b8ea0c5814L,0x89b5ae1d0c05cfb1L,0x00000000000001efL },
  82906. { 0x30ec78ba83ead66eL,0x89ee8df807bc31fdL,0x3ee5b5dfe40653a5L,
  82907. 0xbda53ce7c0d84d01L,0x8719017a332fd5e1L,0xe2c26ec1af60a467L,
  82908. 0xfe92a92c5324fdd3L,0x4fbb7d03fc90f8e2L,0x00000000000001d3L } },
  82909. /* 46 << 133 */
  82910. { { 0x41517372268ee4c2L,0xf2ef66f1567195b7L,0xdee93cfd536b7c76L,
  82911. 0xf4c81df537122f67L,0x8e18116fe95c1d48L,0xe55b76c713761ce1L,
  82912. 0x067b6632af514d6eL,0xff26860207d9b612L,0x0000000000000050L },
  82913. { 0x153007507f8082e5L,0xba3bf499a614746aL,0x9bfb85fdc02fae9aL,
  82914. 0x326b1d5cef48c254L,0x62d6db68098f53e9L,0xcd5a5120d68a1895L,
  82915. 0x9cda1c53b571d2d1L,0x6745a05b13894f7bL,0x00000000000000a9L } },
  82916. /* 47 << 133 */
  82917. { { 0x395e92dd10b4a524L,0x2f607e83a39bfaf5L,0x56f5226da4ecac96L,
  82918. 0x43a914ee1330398cL,0xb856077396dc6548L,0x7d6df876b7a3e898L,
  82919. 0x119324ecf20fa238L,0x094f660ac05709d8L,0x000000000000009fL },
  82920. { 0x0adf96dc3dad163eL,0xd9a70fac8472aa53L,0x87276f1499571aeaL,
  82921. 0xdb8f9182eae49b95L,0x0e612c83e0b31c76L,0x04a89299b29554cdL,
  82922. 0x2cb3c97166eb58f3L,0x9b80b548127517b4L,0x000000000000002eL } },
  82923. /* 48 << 133 */
  82924. { { 0x6df6776bc353a269L,0x0d232f2ddace9809L,0x7649e04403d5d78bL,
  82925. 0x59710087fc283d82L,0x86d65eeee2ee05abL,0x3d1fc3f227851d69L,
  82926. 0x3b86ed771781977bL,0x4d4a61be1ac0290eL,0x0000000000000161L },
  82927. { 0x2deac320c5400967L,0x026949097381541bL,0xd373ba709cd429a7L,
  82928. 0x547f0e86928b72c5L,0xb1c2f84c223ab61aL,0x06c039941115f60aL,
  82929. 0x6e5b0cbe82136cfdL,0x08e4a467489d7de6L,0x00000000000000c6L } },
  82930. /* 49 << 133 */
  82931. { { 0x032b213a98212293L,0x2c3771f84175ba18L,0x34d7387f11656e9eL,
  82932. 0xcf12328156425813L,0x2b4ef4b4722fee93L,0x7db8afb2799c6333L,
  82933. 0x0ab9c8aa511cf76cL,0x14dcb970c785bcccL,0x000000000000018cL },
  82934. { 0xa5db10cad3cc86c6L,0x6c6a06a4abf9410aL,0x9057b0ca268823c4L,
  82935. 0x1a3de830fa5744e8L,0x695f7952038b260aL,0xe0394707ae89d231L,
  82936. 0x24a3e94c86b0b57aL,0x1acf30aee57206e7L,0x0000000000000161L } },
  82937. /* 50 << 133 */
  82938. { { 0x60eee52395f7e189L,0xe5499be0c5942327L,0xd385ce00d2ee8132L,
  82939. 0x4cfdb18cfb6609d3L,0x2b4bb533b29a9768L,0x21ee5b2937a92df5L,
  82940. 0xd24d2625d93a8b26L,0x432dc9a2102ae479L,0x00000000000000f1L },
  82941. { 0x9df9906be725bdbcL,0xe95ee011daabbb73L,0xe681c90af4d6dfbeL,
  82942. 0x062b8fb003bd2ae3L,0x0e25ec30f61d8f86L,0x78c7612e5bb8dbf5L,
  82943. 0x0c8b6a8545b562fdL,0xd972652ef4549f6fL,0x0000000000000123L } },
  82944. /* 51 << 133 */
  82945. { { 0x17b6f280f8148b30L,0x2114d1ecfc765a46L,0xc69d56bdd97da81dL,
  82946. 0xe2ef34422e97a94aL,0x05212af05bfe5bbcL,0x98c1299f03cfe2a6L,
  82947. 0xbeeb7efdee28e6caL,0xdeb67b9c09994359L,0x00000000000000bbL },
  82948. { 0xd4578886fad7480dL,0x61e757a46cb49108L,0xe2811c9d28480964L,
  82949. 0x14ffd6bb2a68d261L,0x6afd6a0aac401fe7L,0xed21c3f69db834a7L,
  82950. 0x877e265b2e156034L,0xfda68f45935cb0feL,0x0000000000000190L } },
  82951. /* 52 << 133 */
  82952. { { 0x0b0a8610ac5e165dL,0x21152a8c85cb157bL,0x6db9a7ce551cabe6L,
  82953. 0x7e36ec91dfda6187L,0xf8727bdde8ff337eL,0x6009e6f01152b37cL,
  82954. 0xffbdd5570cbded62L,0x4f1c3db00152b926L,0x000000000000002eL },
  82955. { 0x6b32d8b606c8a9bcL,0x734eb64a79b60428L,0xf680ec0030394592L,
  82956. 0xff99fb910bfa6092L,0x43b696b7cbac9513L,0x3029ffe7fecf53a4L,
  82957. 0xe36787ca6985a6f8L,0xa1c08a99132dbdbfL,0x0000000000000188L } },
  82958. /* 53 << 133 */
  82959. { { 0x81e74494c49d4659L,0x981c641e95f5147bL,0x84d1d3de4d8b3bd5L,
  82960. 0x1aa8242301a6e411L,0xa98db43ce663d148L,0x1f4e05fed67ed0c0L,
  82961. 0xb53dbab2662faa40L,0x8d1f14ac9c524ee4L,0x000000000000003aL },
  82962. { 0x0d7f01a90f85e070L,0xecc933cbe5063726L,0x683848d9dc641f20L,
  82963. 0xd714d8d086dc3268L,0xee00e70ae4fb106bL,0x4c0af171fdd9367fL,
  82964. 0x9085d9012d77d729L,0xa4b755e3da1b2659L,0x000000000000014cL } },
  82965. /* 54 << 133 */
  82966. { { 0xba16f14aab5c411eL,0x73bf410805bb77dcL,0x6e5e936e0cbdb790L,
  82967. 0x095df1e82806dd17L,0x93d31cb976115ed3L,0xad42b79f4dfb1145L,
  82968. 0x27fb4d2ee478b2adL,0xa0de22b349819e04L,0x00000000000000e1L },
  82969. { 0xbae8522996dab504L,0xe3f3c7d5dc069f77L,0x844307a2ed7f4f3cL,
  82970. 0x3a8486cde2db6d25L,0xd085347ded20d8e4L,0x6af9e096f2d8d426L,
  82971. 0xbefd13e374c38168L,0xbd6ee56577f7349cL,0x00000000000000a5L } },
  82972. /* 55 << 133 */
  82973. { { 0x4119d514d028e912L,0xbc53213293adafd7L,0x0176ca03e31467d7L,
  82974. 0x109f2dd7dbe712aeL,0xc991ff43dc87e626L,0x986c9664bbe227c2L,
  82975. 0x55b27b44ed625994L,0xab0d9892fab4c1dcL,0x0000000000000184L },
  82976. { 0x73fa82dee846b7deL,0x76b39d20978e6d94L,0xbe90c6022955b242L,
  82977. 0x258fcc6d60653be4L,0x2884e00013a12e7aL,0x6e23077d6c5283a7L,
  82978. 0xc52f652b50650616L,0x76c21d604a4564ffL,0x0000000000000115L } },
  82979. /* 56 << 133 */
  82980. { { 0x06fec2df700cd193L,0xf077afee002863a6L,0xb60894fd6cf0c0c2L,
  82981. 0xc7d01cd0f8b7c551L,0x7adb74e4c33c337aL,0xb4b5767ea8867af3L,
  82982. 0xbdb10aa62f3d57a7L,0x80d5ac5eb1ff9d7dL,0x0000000000000116L },
  82983. { 0x0e0df41c91867318L,0xe3cbb1ae1912bed5L,0x006dcee9c15465bdL,
  82984. 0xf4768566352746c5L,0x567e2bcf767e554dL,0xa4eddfaccfc14923L,
  82985. 0x5c661c2e5e096c3aL,0x5b13488d8123fb58L,0x0000000000000045L } },
  82986. /* 57 << 133 */
  82987. { { 0x7efb5d55427705e9L,0x7441763e3aefa5a4L,0xcfc1631a7dd7503eL,
  82988. 0x1931431763a1ebd5L,0x28701646cb713fcaL,0x14e962bd8b152c31L,
  82989. 0x257692ff76400fa4L,0x0f6600204b46efabL,0x0000000000000046L },
  82990. { 0x3fea71317ad6603dL,0x972475c8e4e9e4c9L,0x4bd0c751cecafbf3L,
  82991. 0xbddcfd670c1312bfL,0x0a572cd16dcda451L,0x6c9ccfe8e4c9282fL,
  82992. 0xad69bc9f267b4addL,0x504419d562517ae3L,0x000000000000009bL } },
  82993. /* 58 << 133 */
  82994. { { 0x874b11b11d0861d5L,0xdfb04016f49936cbL,0x2882feda5a6b94bdL,
  82995. 0xfa80197cbaeb3a74L,0xc53a57fd3f8223adL,0xc4dff53dfc41cd27L,
  82996. 0xff8ccf62cb813e8fL,0x243607d1e9325b2cL,0x0000000000000128L },
  82997. { 0xdeb8c7f10169da0dL,0x13f6f33fd5072565L,0x5a8a4c2f5128d693L,
  82998. 0xefe2355be809d274L,0xf9fbb0786c9a8373L,0xe2b94a728f2e8165L,
  82999. 0x0bb7b087052f5589L,0xb3a7cab974dc02e5L,0x000000000000017dL } },
  83000. /* 59 << 133 */
  83001. { { 0xbc9b22ed1648af13L,0x4cc818be46cd5d3aL,0xc5656c38380e7df9L,
  83002. 0x7c961b149f628ec1L,0x96ddf65e6035c381L,0x9fb033981ee39576L,
  83003. 0xf237b837459ee04cL,0xcf997019c1178539L,0x0000000000000067L },
  83004. { 0x35b3503f7d3970f7L,0x24df0bf854532bd5L,0x09e847bde9c532dfL,
  83005. 0x0c5f797166449ee6L,0xfb9cf1629563558aL,0xe7e49989a521d4caL,
  83006. 0x6a8c87b04a7e71d1L,0x0f9600f8c64c4fe0L,0x0000000000000121L } },
  83007. /* 60 << 133 */
  83008. { { 0x941f1a68f391b195L,0xf563c05b48755ceeL,0x02fa0eb4a4b11b13L,
  83009. 0x89f09fe4110e0044L,0xda3601eccdf17866L,0xb63e2b31821c239bL,
  83010. 0x72afb2946a4cfc70L,0x4cc16417876bb699L,0x00000000000001bbL },
  83011. { 0xf02270e155c4416fL,0x1a69d7a0a8fb98a1L,0x4f5219550debae64L,
  83012. 0x0d93fc627a75e48cL,0x7555793a2e11801bL,0x6e275e97618c2327L,
  83013. 0x57957f18f1af9ebcL,0xe16aa048085f0047L,0x00000000000001d3L } },
  83014. /* 61 << 133 */
  83015. { { 0x959cb1705b5721dfL,0xbef678407757dfadL,0x296da84fd14066b5L,
  83016. 0xf63609e59024efb6L,0xf643a52c8efdaf37L,0xc512f72a5fdff43bL,
  83017. 0x35dea1a55c5a2b0aL,0xbbe9f38e3bdccba5L,0x00000000000001efL },
  83018. { 0x585065f80662190fL,0x1b566da784cbad73L,0x20937378fd439316L,
  83019. 0x00e8c5423908a556L,0x7f10e264f315c479L,0xdccc1dfc4840a392L,
  83020. 0x6097b7f6a789f4f8L,0x7d593eef0fbc7e15L,0x0000000000000187L } },
  83021. /* 62 << 133 */
  83022. { { 0x9c59a11981b51f74L,0x7a7aacec4c9c20b2L,0x8ab9de7d0959f510L,
  83023. 0x3bc2215deff0cd8cL,0xd609a192ba5ab07cL,0x2dc4323dfe7c9044L,
  83024. 0xd20fc5a275025d5bL,0xc38808f868ad1441L,0x0000000000000054L },
  83025. { 0x41574f55f8f1594cL,0x0e9628dc130cb3f2L,0x30f8407c5375a79aL,
  83026. 0x28bee5a986522cdcL,0x75a4472e6be35431L,0xcb6da55b06f2326cL,
  83027. 0xf31d9ef60acc996cL,0x75b5edf92e86b7ecL,0x0000000000000140L } },
  83028. /* 63 << 133 */
  83029. { { 0x3e6fae603dad7855L,0x5030d3e21224bc29L,0x23be6fa4604102deL,
  83030. 0xe2fd452d186e1249L,0x04d431a74a13d329L,0xef754a14c4ee6e42L,
  83031. 0xd4a33388d01ee315L,0xce211eb300a21f02L,0x0000000000000120L },
  83032. { 0x066c034572a9514dL,0x18de295c8b1c5dd6L,0xeade73adf43fa0aeL,
  83033. 0x5e1c485dbc9f2723L,0xc998a5fa0a88330fL,0xe42f25e4f90d631eL,
  83034. 0xab6b3a19b31f7dc7L,0x6c02cfddca2d7e01L,0x0000000000000061L } },
  83035. /* 64 << 133 */
  83036. { { 0xae917a54a084d91aL,0x4a1095a88a3ae45fL,0xb7a358faa30ee909L,
  83037. 0x807aca835aee3272L,0x58d144a9681d54bbL,0x36569b8d3352c5e8L,
  83038. 0x75b7e2f1e5d9ba90L,0x348c70da08068bb3L,0x00000000000001d8L },
  83039. { 0xc2bca2f5309376d1L,0x87ca2cb0457d23d0L,0x7dccf53dacf94fc7L,
  83040. 0x0646dea871e898bdL,0x8a053df3c8bd817eL,0xa9e9c6825a002253L,
  83041. 0xb23c781375a16c9fL,0x2500d5a13f81c2beL,0x0000000000000043L } },
  83042. /* 0 << 140 */
  83043. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  83044. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  83045. /* 1 << 140 */
  83046. { { 0x7facf165d19906d0L,0xd8e059afad92d455L,0x7356696f6ebec576L,
  83047. 0x67044e551d6d311dL,0xe2bc81dc3a2e50cfL,0x860036dec00ea37fL,
  83048. 0x71dfbe61ff32d69dL,0x298b766bf502baffL,0x000000000000019fL },
  83049. { 0x5e5e123901bb03f8L,0xd36c35835304ba94L,0x5025f960b49f6a95L,
  83050. 0x72dd554f75e5b6e3L,0x85bfb398869c9d17L,0xd71cf71f9cace4a7L,
  83051. 0x0f6fd3ad7291dd9dL,0x5da8a689d1b5758fL,0x000000000000018bL } },
  83052. /* 2 << 140 */
  83053. { { 0xabdf1b02db567888L,0xf47d5cd15a14bd4aL,0xa3483f68b56ec127L,
  83054. 0xf09422294e65795aL,0x225b339b2de6ae78L,0xfbfe7ef011792afdL,
  83055. 0xf27b31a04548c2a8L,0xb4821ea3dfbd3ba7L,0x0000000000000159L },
  83056. { 0xba06333ca1c887b9L,0xfc6eef566b243e38L,0x345900c3596ec79cL,
  83057. 0x243b17ab43e33d8dL,0xffa7e30da9370da9L,0x3dc587a50f09347dL,
  83058. 0x0fd1b2463343a72dL,0xe4acefb48372fcf3L,0x00000000000001d5L } },
  83059. /* 3 << 140 */
  83060. { { 0x99d91691af8c8ccdL,0x2be2648633764c92L,0xb6e681492477aa78L,
  83061. 0x90430fc6c52d4964L,0x4ced96c54e1647a5L,0x5b52a279c1489674L,
  83062. 0xab7f4127c26ec42bL,0xcd5528fcf1097b9bL,0x000000000000019aL },
  83063. { 0x7785add63a47e5c2L,0x9c82fae9635cb4acL,0xadcb0de0ced83245L,
  83064. 0xa42230c8ccb91b16L,0x6af43e953a3e11a7L,0x36288135a3145d6bL,
  83065. 0xb74a3e63e2ded224L,0x15df0d2948aab5a7L,0x00000000000001bcL } },
  83066. /* 4 << 140 */
  83067. { { 0x25455c2ae3e97a29L,0xd497ab4fd3028514L,0xeadb13ea914ae0c9L,
  83068. 0xf9f6a27533e0bd85L,0x1103bd6053851649L,0x445b182dd66c948dL,
  83069. 0xf74f853bedbecea9L,0x643db0530d27351cL,0x0000000000000082L },
  83070. { 0xe5ccd1170fd56cdaL,0x421562c371495df1L,0x865b3f9ab2d1a036L,
  83071. 0xe0407f28d3e4f471L,0xa64f74fccb7e4c42L,0xe87e464d1d1e7bbeL,
  83072. 0xcdb9e777abad4a1aL,0x6e1021d7e76deed0L,0x0000000000000161L } },
  83073. /* 5 << 140 */
  83074. { { 0x089fbb85b7f279fcL,0xb3562a0b547a1efaL,0x40a3fa3c98080868L,
  83075. 0x90ce47dd94597f7dL,0xb3bb20850c6f4b4bL,0x8c24eda75953ab03L,
  83076. 0xb8b110f04eee13ecL,0x3ace7b901bdb3cbfL,0x00000000000001d7L },
  83077. { 0x33b6b36f335c7820L,0x43efeebc6b2b5992L,0x3b56649d36ded655L,
  83078. 0x15419020a9dd98a3L,0x08d081b563f405aeL,0x5b1f59d02c588c8aL,
  83079. 0x745c687eff822e70L,0x7ab7b9f169ef398cL,0x000000000000017fL } },
  83080. /* 6 << 140 */
  83081. { { 0x568e60bc840e5c81L,0x12b35cd301788f64L,0x70422fa0123e9018L,
  83082. 0x6ceabfced9cdbe2eL,0x67032a107626e2dfL,0x0888ca79d250ef1cL,
  83083. 0xca1fa245d5ba46afL,0x590f29972f6be510L,0x00000000000001d1L },
  83084. { 0xbd6dd880f2a02370L,0x3ae5f4ac20d42c5eL,0xd2b300f46c08e487L,
  83085. 0x662be2ef896bdb34L,0xe7632d9b07011f7aL,0x9481b843e7e83b8eL,
  83086. 0xeb7e2084a30c0fb9L,0x53e59adfa71241b2L,0x00000000000000cbL } },
  83087. /* 7 << 140 */
  83088. { { 0x49d93794c2911aecL,0x586554f1a810c993L,0x867b77a3f2322411L,
  83089. 0x6083b099c2e4cbc5L,0x0445ed8e7cbd094dL,0x417ba195e0feaa26L,
  83090. 0x432b645fc178ed78L,0x429282dfc9948690L,0x000000000000010fL },
  83091. { 0x3045657baddc286fL,0x10f36372863fa4c0L,0xab804fd7dca96fe2L,
  83092. 0x6b0a12a618c34d71L,0xbae3dc772a7c0ea4L,0x241e63a0abc48f80L,
  83093. 0x34efeaa3ef1843f8L,0x321d171a8498816eL,0x00000000000001c1L } },
  83094. /* 8 << 140 */
  83095. { { 0x26e479f9b9b07fb9L,0xf8e49cdfc03b5adeL,0xa0d66a21d525e891L,
  83096. 0x8a062d759a62e3d2L,0x4b025cb738704c65L,0x2b7a6b60d440836aL,
  83097. 0x3e55fe53a3ca3ac1L,0x59577407f1031f19L,0x0000000000000128L },
  83098. { 0xa5bb1eb02b4edfebL,0xaee5a2174dcfd68cL,0x582146cfa19f4f45L,
  83099. 0x4481152269f7c258L,0x72d7ce9a7f9333c2L,0xe6c88fe2b1dae530L,
  83100. 0x1367ce5c88b50de2L,0x10367dac7150206bL,0x00000000000001a1L } },
  83101. /* 9 << 140 */
  83102. { { 0xd210619a37f4b554L,0xa2cc4be40b01fa7eL,0xbf3805805488768eL,
  83103. 0xcb190c6f8a100ae5L,0x6f82bce1749bf03eL,0x0914bcf0c75efd73L,
  83104. 0xbdae235886e6b29eL,0x6e286b36ec5deb30L,0x00000000000000e7L },
  83105. { 0xf4eb4fefff080663L,0x0702453df93ba24eL,0x1ee5c4e556edfb3cL,
  83106. 0xdc5bef4b7afd8870L,0x74bee7cdc025f4abL,0xaf63727b5597771bL,
  83107. 0x2a51fee0dc0cb4faL,0xd9eb893d309e2a54L,0x000000000000017aL } },
  83108. /* 10 << 140 */
  83109. { { 0x991ebfca6cd7b62bL,0xb8571f56009d1d74L,0x14d27d7c441cb94aL,
  83110. 0x4021306519e77736L,0x9aaabb26cb20ade1L,0xa283eb52533f6f74L,
  83111. 0x84ae1f5856dd48e0L,0x275ab1ad91f11a89L,0x0000000000000118L },
  83112. { 0x61f3c5b415960882L,0x036d46e444f0a7a1L,0xf6c5a1f94bb28f39L,
  83113. 0x610f8313f1cd4bc6L,0x571ba872fcde5b45L,0x23c35a185f066ef3L,
  83114. 0xf878375da40c5fd0L,0x9fc32ccc1158dc83L,0x0000000000000167L } },
  83115. /* 11 << 140 */
  83116. { { 0x86d444cdd1d81ec5L,0xe5f57d64c29b3744L,0xe606ada6f74f9589L,
  83117. 0x5fa4dfad28f6b922L,0xf90993ec5b5d30e9L,0x307d234bb0541c49L,
  83118. 0xc010a0daf75b0402L,0x2f36ec8b2d0d3135L,0x0000000000000168L },
  83119. { 0x1ebdfad4b51917f2L,0x7f7f6c94411faa6eL,0xaef4c9a7d74ec215L,
  83120. 0x3f7ff15d4041ef68L,0x21d6dddc30b6b53bL,0x1ecac9bc6f918cebL,
  83121. 0x05ce1210fcb67a22L,0x7aa44454c5c0e9e3L,0x0000000000000139L } },
  83122. /* 12 << 140 */
  83123. { { 0xac513c23102cc86bL,0x34aee96bbfd0baafL,0x47047407eaab0d63L,
  83124. 0x3a1eff07ccd57509L,0x53f237cca81c8d03L,0x7742e3f1cc16c904L,
  83125. 0x5325d4796e2e981dL,0xd959b9f8289e6427L,0x000000000000004cL },
  83126. { 0x3114735e26f5e6cdL,0xd17e0d5337c5de44L,0x5adf2f3f002a7993L,
  83127. 0x7c1f1f6e176f2f70L,0x01d7f210003758e2L,0x8a2a198693beb852L,
  83128. 0xbded219b40b61e5bL,0x2450d9f2a7427ce0L,0x00000000000000c4L } },
  83129. /* 13 << 140 */
  83130. { { 0xfef846878597ca44L,0xa1379684d227c76eL,0x661764327517d749L,
  83131. 0x1420872d295d8438L,0xf296988cd91221f2L,0xb6115a026241e88eL,
  83132. 0x589dce4ea0969d25L,0x4318724ee35919faL,0x00000000000001d7L },
  83133. { 0xf3ea462a41fa8073L,0x8f577c2156900887L,0xb4318c9929e43377L,
  83134. 0x821a520ca7686967L,0xb62b1149354c5868L,0xfc76e87f6a9dfe8eL,
  83135. 0x8aeb05c6bdc6443dL,0xabcbb41c51a3fd6aL,0x000000000000000fL } },
  83136. /* 14 << 140 */
  83137. { { 0x06bc23ab58dd91bfL,0xbfb489e37fcdce7cL,0x50a99333f0d69619L,
  83138. 0x6f1a78a3d65751b0L,0x10ac9bf8e1dbd9d2L,0xe3d584f0133b5409L,
  83139. 0xa52cba20db27d29bL,0xbee71f220ded25f9L,0x00000000000000beL },
  83140. { 0xcdbfa2cb8d49e1d6L,0xea7e04c2752b7a25L,0xc6cd12c9915cdb88L,
  83141. 0xf5d56504b292eaddL,0x2d0ac7ff26dc8f0bL,0xc6e0722d551bf7fbL,
  83142. 0x17f9acd4c0a3d7f5L,0x0cbdeb4f3498ee12L,0x00000000000001cfL } },
  83143. /* 15 << 140 */
  83144. { { 0x8d2b73570149c225L,0x6f048760b1294d56L,0x4feebefe53097a6eL,
  83145. 0xdeb1abbeca846c24L,0xc920fe521ba7f7c5L,0xa851d87174295fbeL,
  83146. 0x8a977818717e5fe3L,0x4e35d70c5320f185L,0x000000000000000fL },
  83147. { 0xcc43de63bfb2d00fL,0xfc526e5170414bb4L,0x45574b72696ef1cdL,
  83148. 0xf29b91cc4f96a64cL,0x17b2e3503d419bbfL,0x13f2873916dc8aacL,
  83149. 0x3a8afbb755b08a44L,0xf1cecdf34e23f8ddL,0x000000000000000dL } },
  83150. /* 16 << 140 */
  83151. { { 0x69cad3ccc4d6ab08L,0x3adb57773b8990b8L,0xd0cad8ce8d958801L,
  83152. 0xcb572e666d728f9eL,0xe3d9e7c4cd5131fcL,0xafceb6b06145dc06L,
  83153. 0x12ecd392e213043aL,0xbd5992943a64c87cL,0x000000000000000bL },
  83154. { 0x8623bdbbf6ea9cf1L,0x3aad9495547aa650L,0xd3d853fcbeb27159L,
  83155. 0x3d25a64830b40833L,0x12d188e8dec51bd1L,0x836330d2b348c3faL,
  83156. 0x9df50cfe73c2ea59L,0xb5dffb2061ded0b8L,0x000000000000018aL } },
  83157. /* 17 << 140 */
  83158. { { 0x4b138db0a2237262L,0x6dd1135e1ab9ad06L,0xc31f50c4c7cfff02L,
  83159. 0xc89ab22d6ab45111L,0x5b8461c35a62394aL,0x0f8a58be8236491bL,
  83160. 0x3660e9f30b0011e4L,0xc83dfd989395955cL,0x00000000000000d7L },
  83161. { 0x8c4f8327e2177d42L,0x893a9166a8a2cb6cL,0x27d47141b6f7405aL,
  83162. 0x2285f6249e2be11cL,0xb55b89d717722bbfL,0xecb10b0d28d3d548L,
  83163. 0x9682096f6c97c7cdL,0x5d84617f8588d1cbL,0x0000000000000008L } },
  83164. /* 18 << 140 */
  83165. { { 0x75cc12737f775b7aL,0x0e0a040e4f3b788eL,0x2eb00b21038bc8ccL,
  83166. 0x750b88536ea1ad7eL,0x0d93be1bd56b81dcL,0xdd262f462a3c3eecL,
  83167. 0x421995083289b172L,0x0fd1c19221cf4378L,0x00000000000001a8L },
  83168. { 0xc038f20f787c37a0L,0xd8f48746f363e515L,0x5d91de9f54a85207L,
  83169. 0xf72c0e8f953d5932L,0x4e37af2f3f25bdebL,0x03d9084d0ee85cdeL,
  83170. 0x64e551feda041351L,0x55fdee4e6067100cL,0x0000000000000096L } },
  83171. /* 19 << 140 */
  83172. { { 0xb4254ee4e048f571L,0x2529deff0aebb093L,0xf1f1ecbca72853eaL,
  83173. 0xf100ab831a56b014L,0xf09cb22e9d01985fL,0x65e22e41cd855cb9L,
  83174. 0xfc3e23afafc54970L,0x8a0f8e16847cde07L,0x0000000000000105L },
  83175. { 0x6c27488e9e09346bL,0x38666895d7783338L,0xd28155fd191e59acL,
  83176. 0x5454681fe04ff0aaL,0x27bbb0f76362c683L,0x18a787f430340b44L,
  83177. 0x22879ce10a64c12eL,0x0eeb0304b5ac5768L,0x0000000000000164L } },
  83178. /* 20 << 140 */
  83179. { { 0x1a9a04ffc48a91ccL,0xe11f57dd5723e9eeL,0xeff193d3f573d896L,
  83180. 0x4c2ce4824e62f80eL,0x9f1e43a7010a0e78L,0xe9c1be55f4364c5eL,
  83181. 0x548071daccd4aa64L,0x9eecd41439d22af2L,0x0000000000000064L },
  83182. { 0xccea349ea1aa4684L,0xd2413abfc247f97bL,0xecfa10c1aa385b03L,
  83183. 0x9b0d25ddf77ac70dL,0xcffb885d12dfd388L,0x89e1174d6f33dceaL,
  83184. 0x37e1423cdf3cee18L,0xe4ba71be378c8bd0L,0x0000000000000110L } },
  83185. /* 21 << 140 */
  83186. { { 0xabb17070333bc84fL,0x41090912d03c10ebL,0x8adda5ae18e32b11L,
  83187. 0x7bbc3c10f86dc4a8L,0x9092ae12d649c287L,0xdb06dd82bc3a65cdL,
  83188. 0x18ca4d753e07b6b8L,0xe291bdc47a9f4b35L,0x000000000000001aL },
  83189. { 0xcca919f56830e001L,0x748a24a9e3117f7cL,0x9ed8b483a3222af9L,
  83190. 0x745dc8ae55996204L,0xf7c9afa042dc624aL,0x900e3f41449efd5dL,
  83191. 0xed319f077084a837L,0x3e4911c944052eecL,0x00000000000001c2L } },
  83192. /* 22 << 140 */
  83193. { { 0x83bd9ff7daa696bfL,0x7fa14326059a611cL,0xb526f26264d7924fL,
  83194. 0xf1ef5c6fc1cfb749L,0x6a2d7d3f6892bb09L,0x34b326a1d69bfa95L,
  83195. 0xb702cd98f8f49ec0L,0xa32611a39b8d2fe5L,0x0000000000000028L },
  83196. { 0xbd0e80afc982fe86L,0x3c59319f0292e026L,0x1e77d11ec72215d4L,
  83197. 0x39d2b2c6fa0d77edL,0x22ab784f71ca01efL,0x87ece833a7e8268dL,
  83198. 0xb5d67f6bd1682c8aL,0xb18f577d677b9508L,0x0000000000000183L } },
  83199. /* 23 << 140 */
  83200. { { 0xa02284c4e2be6438L,0x234448f60d1b27d2L,0xdb7d087adaaed164L,
  83201. 0xca39a1f9bb959ba3L,0xf87e2f49a4b8b5f8L,0x559e905f4d5f1b60L,
  83202. 0x479466a072370c3bL,0x63d28e16b0bca628L,0x00000000000000c3L },
  83203. { 0x147e8781e8d32ad2L,0x40e530111472ade4L,0x40f05d9a97cc63c9L,
  83204. 0x485dff28f13f5454L,0xe360a4c25824a4c6L,0xac09f1c4ebb6e58eL,
  83205. 0xd80077bd1e778bb7L,0xb549c19d6ce4263cL,0x00000000000000dcL } },
  83206. /* 24 << 140 */
  83207. { { 0xae6b428f554b88b9L,0x26bf6b6c8313c74eL,0xae7e5874ce24b917L,
  83208. 0x26e268738b3162c3L,0x2ba4f3edcaad88f4L,0x6e9e5051375a3f9cL,
  83209. 0xa754cc49d70210f3L,0xff8cb757e4553c0bL,0x0000000000000119L },
  83210. { 0x93f6a0a4ae1c208eL,0xb56b6a4ad247d4e2L,0x4cff7d0391009637L,
  83211. 0xc6b56f6be0efc126L,0x81f5d59c42de039cL,0xfc4c1d26f36854c2L,
  83212. 0xa66ab1792d280f60L,0x6c5468c3eece88ceL,0x000000000000000dL } },
  83213. /* 25 << 140 */
  83214. { { 0x1df2fe5226b04f55L,0x43febfabf8717ce0L,0x6ca4a4c906a32d96L,
  83215. 0xc625ce6c9a25aad0L,0xddcbd5755bf093c6L,0x4740594fcb1fbaf2L,
  83216. 0xa1e50234d12cede3L,0x27b1937203f2fcf1L,0x000000000000010eL },
  83217. { 0x5b9999d1c137a9c5L,0x1580a031522d2decL,0x21b2cc0a35220780L,
  83218. 0xc66015fbb9286a1aL,0x5ecd634a90d3aef9L,0xd9c91a6d88d39d33L,
  83219. 0xbc02dc02864919a0L,0x110830f991b49396L,0x000000000000019eL } },
  83220. /* 26 << 140 */
  83221. { { 0x897d947ac5d1e1e8L,0xbfcff6ae0587d4d8L,0xb5f3ffa5279d1ebaL,
  83222. 0xa4c3eb1cb725ec65L,0xfe037a76cdbd4600L,0x424c015216a86cd2L,
  83223. 0x23645a597b3ea150L,0x9e913a47c9db1cddL,0x00000000000000baL },
  83224. { 0x714c4dcedc4fca02L,0xa1c699ea5ff04ea5L,0x6144a96f0ffeae0fL,
  83225. 0xcd2e50d7203b8a69L,0x0012fc770d2c230aL,0xdbc4f25bfa8b6928L,
  83226. 0xea8941ce060f3141L,0x86836d7b946f207dL,0x00000000000000d2L } },
  83227. /* 27 << 140 */
  83228. { { 0x95a4c2bcfbc9136fL,0x9ffd305bbee15a48L,0xe445467ef86e497bL,
  83229. 0x7bbb4922bc2519c6L,0x9dda7889bc9b2de2L,0x9ec70bb743b88ea5L,
  83230. 0x5b58943ca1bb75a8L,0x3426ff7c5c5cfe2dL,0x0000000000000042L },
  83231. { 0xbb152162963204a4L,0x19ab08f23ab85bdcL,0x266ab5ad034cca2fL,
  83232. 0x7a27928d8eb8753eL,0x405302a272272090L,0xea7479374a010ee1L,
  83233. 0xfd2764875eb40da3L,0xf8d4f8029b6cf000L,0x00000000000000c2L } },
  83234. /* 28 << 140 */
  83235. { { 0x0587d31801873864L,0x6c4940d1a8758f49L,0xd5928f463f1f13cbL,
  83236. 0xb0917630481afcbdL,0xafbbe96c2804e91dL,0x1016565133ef9d5aL,
  83237. 0x7284a58ea2c3796eL,0xf013d38a5ff369a3L,0x00000000000000b8L },
  83238. { 0xea1ad141d71ec602L,0x5faa6539449f5326L,0x30080af4455cde9aL,
  83239. 0xc4bcfdcd6affaba7L,0x52e0ef42801f9569L,0x5abc27b2c80b0b5bL,
  83240. 0x3c4cd4339e99ccf2L,0x63e689dd6703e3c9L,0x000000000000010eL } },
  83241. /* 29 << 140 */
  83242. { { 0x55b2acfd76824739L,0x7f2d73ede9167239L,0xd7e63103419b9e86L,
  83243. 0x4c358f755f58d997L,0x9b8771ba635a21ffL,0x5f3394307708bd7bL,
  83244. 0xa0de93faf730a252L,0x19524f0de8a755e8L,0x000000000000014cL },
  83245. { 0x426e17b7446f65a0L,0x93c214feb669d1a9L,0x93fd2087a657e7bfL,
  83246. 0x16820da66b9354c7L,0xea8818c3c6a24661L,0x8b673d76ca97c304L,
  83247. 0x028065fc59d65adbL,0x6e75b61ccb0656f7L,0x0000000000000098L } },
  83248. /* 30 << 140 */
  83249. { { 0x94bdabc696b632d8L,0x5685cd96c04f512bL,0x09135f1dba7c2f6aL,
  83250. 0xdf4bccbf16711651L,0x9339f902ba842c06L,0x84649cec4ea6ade7L,
  83251. 0xf98ce1ace76c4520L,0x25d796d082b2e5edL,0x0000000000000159L },
  83252. { 0x190184670ef41247L,0xa8aba9cbb06ab440L,0x6a2c8f0d424575efL,
  83253. 0x29542661a7641251L,0x4aef28806063cd71L,0xb6521c4661007b1cL,
  83254. 0x44b83804d1f05f1cL,0x96545d8984a8d313L,0x00000000000001c8L } },
  83255. /* 31 << 140 */
  83256. { { 0x56c2c87fcabeb4c8L,0xc0acf4c98c3e6148L,0xbe7fe6ccc20e488eL,
  83257. 0x423761668330b587L,0x5af5ced080883de3L,0x4b6aaaf85add9229L,
  83258. 0x7c7ad512ab13ab0dL,0x14bc975727ddc17bL,0x0000000000000036L },
  83259. { 0x92d037848d17337bL,0xd5d878b97bd6dba0L,0x9d229cd79e89007bL,
  83260. 0x3c014e2492b07e2cL,0x533280fee56c30b4L,0x41fd5f6ecb3790f6L,
  83261. 0xc5e9b610c89facbbL,0x89429ae2d48d455fL,0x00000000000000cdL } },
  83262. /* 32 << 140 */
  83263. { { 0xe843d0350c62942aL,0xeb792fc5d8920cd4L,0x3fa4154e90be6fd2L,
  83264. 0x002631cbce2557abL,0xb37b952a226742b6L,0xa7658c0afeafdc24L,
  83265. 0x62a7de67b5a09597L,0x25074f6a9bb3cfdeL,0x000000000000015eL },
  83266. { 0xe6db0f49d03cf65dL,0x1187c8b40347dff1L,0xdea411166e4ce605L,
  83267. 0xac0ca35322313708L,0x395ddee3b6a5cadeL,0xf31abcb1c6d80c86L,
  83268. 0x013371b1a07f0747L,0xf54231898f55b804L,0x000000000000014dL } },
  83269. /* 33 << 140 */
  83270. { { 0x31cb7a50f9a638eeL,0xb23e940381388b46L,0x1c0b9ebc7bf805a3L,
  83271. 0xcacce3dbd40f4071L,0x8360c4c6652cc8e7L,0xeb2829c4327a1acdL,
  83272. 0x4fca72678eedc8bbL,0x49a6630aca904d48L,0x00000000000001edL },
  83273. { 0xdf7aff0abe745b6fL,0x15b66c0630f736dcL,0x4efc54545d6c3ba4L,
  83274. 0xa1becaaa4ec61d29L,0xda6f8551b17a9158L,0x889c4a939eed3eb8L,
  83275. 0x6f5dc762cc33be94L,0xd0f2a30010588a5bL,0x0000000000000144L } },
  83276. /* 34 << 140 */
  83277. { { 0x93b6f1877e5836afL,0x0e7009435c3af4b9L,0xdb3b4d704b4f0f02L,
  83278. 0x0c196039d71d4375L,0xede744582ed230c5L,0xd0630162add9da94L,
  83279. 0xae533629cd2c0ec5L,0xa93a8b231108523eL,0x00000000000001b3L },
  83280. { 0x6891494b70a36874L,0x5c15139dd85b565bL,0xc8104f07b620217bL,
  83281. 0xda49717001c964eaL,0xcf38a9e7631c7daaL,0x631856c19e124493L,
  83282. 0x057b8cd2ab9d4cd3L,0xb3d089bab13791b7L,0x0000000000000013L } },
  83283. /* 35 << 140 */
  83284. { { 0x27d87b3b4032e076L,0xe37fc28f6aa218a2L,0x55a525b1ad652b86L,
  83285. 0x82ecdf89db0e1642L,0x7951a419d974a454L,0x4367ac17f8195a7fL,
  83286. 0xad2b7d0d86b0cad5L,0x36113772d6140139L,0x00000000000001a8L },
  83287. { 0x98f04f1c8ec6a745L,0x1dfaa104644bb3a5L,0xb9c03e2bd331c407L,
  83288. 0x15188e1662af07a8L,0x0b2f2cb67f329a15L,0x0b7ca5fc0a91b5ebL,
  83289. 0x28b5e4bb5c410c39L,0xcc64e7eb0de792b2L,0x0000000000000188L } },
  83290. /* 36 << 140 */
  83291. { { 0x5f4b9fa400a0bdb1L,0xcc2cb2b2a274ac45L,0x7c05dc7c6e646620L,
  83292. 0xfca73a120cc2626dL,0x6bf5386457718621L,0x1843b57ae81976a7L,
  83293. 0xc350b19bf323d6d3L,0x0c514dd5c4a360eaL,0x00000000000000c7L },
  83294. { 0x24ed924263c17c00L,0x4a49aa5368306bc4L,0x11b210cc1744cb19L,
  83295. 0xa6d24a9cc7284b23L,0x7a438e436b558be0L,0x798304c7bda0ff5cL,
  83296. 0x5c6782b6c1c19b1aL,0xab2864276f4d0e2bL,0x0000000000000106L } },
  83297. /* 37 << 140 */
  83298. { { 0xfedd7c404f2f5c7aL,0x77c579e61a9c79efL,0x88cfe011463e782eL,
  83299. 0xd51523c57ff1d238L,0xbce03def946a4c51L,0xe56855fe4486a582L,
  83300. 0xb52fc072d6d9ead8L,0xb406446c52fe62bcL,0x0000000000000085L },
  83301. { 0xa4db7d7811dd4ac5L,0xd877aae6647e8dbaL,0x2c7ace9980bc3941L,
  83302. 0x29f8ebc99faa3242L,0x6153632a10afc24eL,0x57cbe075dc5c3cc6L,
  83303. 0xcae0ed2e9b8a0c22L,0x029cbee5ef2c6786L,0x00000000000001e7L } },
  83304. /* 38 << 140 */
  83305. { { 0x413c7ee2987d0c74L,0x2ed4f5a085300d40L,0x158c43d7ac13c624L,
  83306. 0xd71848db09c8b19dL,0x75505e2b0565dac7L,0x168e414a20fc368cL,
  83307. 0xcfb4283e0ea9f88eL,0xf39543bf758fe171L,0x0000000000000164L },
  83308. { 0x35e54289d98d8173L,0x2ca86f6fb9518343L,0x61dcc693519ce3cfL,
  83309. 0x91aded0d3f9e26eeL,0xbf70d414b824d11fL,0x8a2d8a7f0f4cb14dL,
  83310. 0x735009e46c6261f9L,0x7ec2b1232471c948L,0x000000000000008dL } },
  83311. /* 39 << 140 */
  83312. { { 0x870f9cb4a32999b0L,0x74437cc97189a3daL,0x9dc9814abe7c0a6aL,
  83313. 0x49d7ea1cd8a8b051L,0x0501d49b68b28d3fL,0xd3e65e3df496c58dL,
  83314. 0xfcade2203b8d66a2L,0xb5a6c1c9526c8bd0L,0x00000000000000f7L },
  83315. { 0x91cd67b271fb5f4eL,0xa0af14d96d6e2e1cL,0x840a19d4d38b37efL,
  83316. 0x4b66e20a93a9ea62L,0x81fb5fa30b83bf02L,0xa92fea241051e64aL,
  83317. 0x6788483422c14f6dL,0xe10bafeeca340776L,0x00000000000000ceL } },
  83318. /* 40 << 140 */
  83319. { { 0x789f41da83a65a18L,0x5bb4894fb8a305c9L,0xa6f3bacf2f738054L,
  83320. 0x997b0fdfdaf74eaaL,0xd5684faae810d5cdL,0xa935b391392fa19fL,
  83321. 0x8663e1c6850b10bbL,0xc0bb73437c749d23L,0x00000000000001fbL },
  83322. { 0xb090011f1ae17d4fL,0x67152af36d6954d9L,0xc2e0ab2979e7822aL,
  83323. 0x6dd7cec997784f62L,0x96c7fc2957109376L,0x2815b8113f967c39L,
  83324. 0x22cb5983d7fabd0fL,0x583ee8355fa5a752L,0x0000000000000146L } },
  83325. /* 41 << 140 */
  83326. { { 0x8b56eb2c5019302bL,0x06e9d1aea8d84e40L,0x691e1c877df7094aL,
  83327. 0x47b910adb1f1e654L,0x83e506b760b44fd1L,0x1918e257b9ba00c8L,
  83328. 0x0ec4be508d41465bL,0xfd121959da18d1a6L,0x0000000000000140L },
  83329. { 0xa34a1e684d047374L,0x6201d460b4316331L,0x331a7882078f21dfL,
  83330. 0xfaf64df9148c48aeL,0x2cce458d87e58591L,0xae3393755d170040L,
  83331. 0xfd9ba9ff4a6d9a42L,0x58493d52573859d5L,0x0000000000000056L } },
  83332. /* 42 << 140 */
  83333. { { 0x6187b95820a9dac5L,0xfd9315c1a8f9e18bL,0x50e385c080fbbe78L,
  83334. 0x42e8fa0b6d70e105L,0xcebf0b28c535e577L,0x2095d5027cb7352dL,
  83335. 0xa6673d873972a336L,0xce13ca020126a92cL,0x00000000000000a9L },
  83336. { 0x6f3dff0689b255fcL,0x71a60c67df1a0a04L,0x9b04cf5301c122cbL,
  83337. 0xc3d298b91342573fL,0x12aa6b82848b07eeL,0x8b10b9069b619109L,
  83338. 0x56660e8ccc89c390L,0x32bd385c8f29dd7bL,0x00000000000000e7L } },
  83339. /* 43 << 140 */
  83340. { { 0x4e3876b249617dcfL,0x0eaded881393d785L,0x7c6967e570cb9ce3L,
  83341. 0xc6873abae584ff6cL,0x6d18a71a967162b9L,0xf29d7f31a203b785L,
  83342. 0x627ccb0851ea4b5bL,0xa4218e75ad6f8c89L,0x000000000000014bL },
  83343. { 0x552819fdac3f5ce4L,0x4a00293c539999a9L,0x5eb79de4c782bfc7L,
  83344. 0x21fe279d671a30eeL,0x146b912c58c123e6L,0x74b095804c97f32bL,
  83345. 0xf182d37ab3acbf61L,0x8c9886570d00d2b4L,0x000000000000006dL } },
  83346. /* 44 << 140 */
  83347. { { 0x57f80100fe209f1dL,0x71c60c6fd43ccebcL,0x033d3c2854e446d5L,
  83348. 0x2003e502d3f1007bL,0xd87ffd20d79548bbL,0xefd5056f86ece398L,
  83349. 0x80cef761e69482deL,0xf62b923038d1673eL,0x000000000000003bL },
  83350. { 0xfb44b80cfdb5cab4L,0x4f520a4aa1af6209L,0x0ff5bda847e5b2ffL,
  83351. 0x85d1dc6e8b0ac82cL,0x8a19ca4f1d2eb0e8L,0x9e99fdca7c488126L,
  83352. 0xb754370b1edfdd03L,0xfd181a02ee494576L,0x0000000000000106L } },
  83353. /* 45 << 140 */
  83354. { { 0x1d3d318ff362cd2eL,0xdd4725846711d19aL,0x56207e9ff1858a12L,
  83355. 0x3bad522a5c10b471L,0xc925ffa871aedf63L,0xd8d53ffedae62373L,
  83356. 0x248da617a3819bebL,0x71fe647262ae36adL,0x000000000000012bL },
  83357. { 0x2acc43d9375712a5L,0x8d942d284a4962e4L,0x53c296197cc6b7beL,
  83358. 0xdec24b5919f536c1L,0x15b9e285b2e78107L,0x86d0f79383e95280L,
  83359. 0x225219f813179418L,0xd416e229387c2867L,0x00000000000000adL } },
  83360. /* 46 << 140 */
  83361. { { 0xb58259824bea9e27L,0x9e27af0751f4fd00L,0x5cec315a1e77fff8L,
  83362. 0xcce4be49021d7518L,0x9330fb3373d0692cL,0x1730d9e896be6a41L,
  83363. 0x9019c06c80444818L,0x84ee038eefcdd584L,0x0000000000000041L },
  83364. { 0x65869ea65157da30L,0x478e70f6facf8c15L,0x5cfd22fcca9def36L,
  83365. 0x5ed90506a3126a73L,0xca6b0ab1a1e2cd48L,0xaab6ac8215cb7122L,
  83366. 0x8f88e213d86ddc96L,0x0412bf12c8c13f1eL,0x00000000000000b1L } },
  83367. /* 47 << 140 */
  83368. { { 0xc4a01839e6931841L,0x5953809f30be402dL,0x8b56ce11c3fa4c19L,
  83369. 0xd2677642043a7e0fL,0xd4b9df95fe0f5cc6L,0xc6f4a5a22d6b2c98L,
  83370. 0x49db7c27426282a3L,0x658d11be03260727L,0x00000000000001b1L },
  83371. { 0x9236615fda96f5f3L,0x76e3fa6f6e6ae4a5L,0x1f1d55010c7de659L,
  83372. 0x80e17dc33f994e69L,0x74c24adc6684ff4fL,0x614652d6c4a60902L,
  83373. 0x6ef20ec54a2e2ff7L,0x6db06cdfcfd9b199L,0x00000000000000e0L } },
  83374. /* 48 << 140 */
  83375. { { 0x6b8f830418a82ccdL,0xc3c560011b132b2cL,0xafb9250d8ded65a4L,
  83376. 0x921b4635945b6410L,0x100306bd9f168610L,0xdae04ed366edab88L,
  83377. 0x4edab84ed86b2664L,0xdedaa28cc815c6b2L,0x0000000000000142L },
  83378. { 0xdb8265f17b7161c2L,0xf022683f8f11558cL,0xb8859f1fcf5fe6efL,
  83379. 0x7419abd8ad90be7eL,0x8289c33f24aa372cL,0x3871cb407c9d3be5L,
  83380. 0x55402906b3034315L,0xae557332a7e70821L,0x0000000000000014L } },
  83381. /* 49 << 140 */
  83382. { { 0xd39f520b8e0f7e9eL,0x153866ff8d0fd062L,0xdb15decf87a3f88aL,
  83383. 0x6ff41e5c72d55d0eL,0x44ba35b94ded067eL,0x46f07e1e584a3fbbL,
  83384. 0xc2998a4a3f909c94L,0x645d2f7dc1f8d292L,0x000000000000019eL },
  83385. { 0x992c5807341c12c9L,0xf2d2f1e0b2c77b3fL,0x9dbc83aabc99a864L,
  83386. 0x0687cbd145300329L,0xf8b22c0a5d7b5dfeL,0xe110d7e57cb97195L,
  83387. 0xa680d2d96fc7e42dL,0x39f4584cae5d5039L,0x0000000000000023L } },
  83388. /* 50 << 140 */
  83389. { { 0x7836badb584fb47eL,0xec96b42dcc48845dL,0xeec01e0f435017f2L,
  83390. 0xd7f7857766f61203L,0xe82608d41730ab48L,0x9eb3b2c3a4b35551L,
  83391. 0xf14b296e21e399e8L,0xa07c6566f4d2e554L,0x0000000000000005L },
  83392. { 0xf50bd939b79d53beL,0x376e88bd324ca0b6L,0x43a24688b91f677cL,
  83393. 0x821c11d97fc385c7L,0x0b766adbfa3459fbL,0xce0225e33c45fecdL,
  83394. 0x508a49f7130a419fL,0xde6f53c5b9515e1fL,0x0000000000000143L } },
  83395. /* 51 << 140 */
  83396. { { 0x175cd2cec14ffcbfL,0x4b1b3cbbd269602eL,0xea11435a257cb2b8L,
  83397. 0x172ffe4827c1f139L,0x2f4e6229bfffa4fcL,0x4be074c9c2be5e41L,
  83398. 0xf91f21bb8f2cb3cdL,0xf116fcf14d7108b2L,0x000000000000001dL },
  83399. { 0xf93def59effad0fcL,0x9957c785e54de87fL,0x2b3d8e7396903c15L,
  83400. 0xc373efb0f091ee95L,0x881699e9f4564854L,0x4a64517b7de613edL,
  83401. 0xb260565d73c10c4eL,0xdeb813b518d4d4fcL,0x00000000000001b8L } },
  83402. /* 52 << 140 */
  83403. { { 0xd64a62e38f0599a4L,0x17c8c046e4bc61a0L,0x76b9b05d1812e087L,
  83404. 0x253e9187c0f673d1L,0x8e02cdd01f8cde04L,0x576609d68714debbL,
  83405. 0x61bb207657420758L,0xfeefae3a3e68bfb4L,0x0000000000000111L },
  83406. { 0x2ec9513515522d32L,0xe35811c580c19a4cL,0xe7dd7c057e37cb87L,
  83407. 0xb1cf36ba16a8ca9cL,0x57163e9bb05ac678L,0x9bbe8a774ab4d064L,
  83408. 0xadb308e09451dd9dL,0xe7b834ec17aa1d11L,0x0000000000000093L } },
  83409. /* 53 << 140 */
  83410. { { 0x847550a14f3203c9L,0x441cd9d9bd63820cL,0xf827fec2d231b04cL,
  83411. 0x96c5e5dacae5e016L,0x06dc22775d223032L,0x87e8052724c4313dL,
  83412. 0x15cc1b277bb78ea0L,0xd92f2574201d9edcL,0x0000000000000159L },
  83413. { 0x4d7082592d170a33L,0x01e2b8e72fbd98baL,0x180daba85f9e906fL,
  83414. 0x77a1bf3a8def35bbL,0x648fbd384dd7bc01L,0x7d90c0863455a0d1L,
  83415. 0xaa24fa724004cc29L,0xbf3868c54a5fd928L,0x000000000000008fL } },
  83416. /* 54 << 140 */
  83417. { { 0x8cbab5a70c570045L,0xa475735431d1bb51L,0x9eee4ceb444399c0L,
  83418. 0xbb0778665a4d10a8L,0x04f4700eed6a38a6L,0x58c5c6c85bcbbc76L,
  83419. 0xf7c0f5c3976b1c84L,0x9ac5fe72074af6b7L,0x00000000000001caL },
  83420. { 0x551d4acecdfff064L,0x7aaa92f1a4c00fa3L,0x1e55fe218c3f16a6L,
  83421. 0x3de2f116f2e73439L,0x457d00585c583e87L,0xe3335a69ca962853L,
  83422. 0xa21c0d2c118d709fL,0x4257e6a6d21e990aL,0x00000000000000cbL } },
  83423. /* 55 << 140 */
  83424. { { 0x6e6c89f5d04d03faL,0x63aaa58dce5e7290L,0xf76838bda910619eL,
  83425. 0x80c24771bcd11f15L,0xddc294169425e02aL,0xcc486bce0263e8cfL,
  83426. 0xad11349862db25deL,0xb4bf878a6dc9f601L,0x00000000000001fbL },
  83427. { 0x895ee8c70b91aeb4L,0x8e7cb7e0cf0f7609L,0xe89b60279e1427a2L,
  83428. 0x7b9035cf7b8dd96aL,0x096b128e4535357bL,0xe333a5e139e3f807L,
  83429. 0x4d2ce2d08819dd53L,0xafe18d5568251143L,0x00000000000001e3L } },
  83430. /* 56 << 140 */
  83431. { { 0x8d6eba17e9d0c03dL,0xdf3d3c1cc3c1f760L,0x9776992607401f2bL,
  83432. 0xa0a5992204cb691aL,0x1fe9bb01b6ffb7a2L,0xceeee53e207c9509L,
  83433. 0xc9224c7f82352c8eL,0xbb29f68f772d9de6L,0x00000000000001d7L },
  83434. { 0x3708ea24802ea716L,0x7735dcd80cb41faaL,0xb0e4dc31e2e98dedL,
  83435. 0xfcbf0807a5776dfdL,0x30b121261602ac0eL,0xb1080dc0cb155450L,
  83436. 0x9872c0b7686b0117L,0x53718ec24fc407d0L,0x00000000000001f2L } },
  83437. /* 57 << 140 */
  83438. { { 0xaac1bebddd3131b6L,0xb6ae2dbd355fc1a3L,0x179c6fe93e91bd61L,
  83439. 0xdb13596c2f5fe441L,0xaefaa096a6171014L,0x6af216af84ce8690L,
  83440. 0x90fc31872771b4c1L,0xef31625f6c17ab8eL,0x000000000000005aL },
  83441. { 0xd7de907dbe106f8eL,0xea860c78ef29153eL,0x19de038a9fff6a9aL,
  83442. 0x1a4b9b0f816645f7L,0x6eac219be91f38cfL,0xec8bb484cc084436L,
  83443. 0xf1df126ec024e970L,0x106e9d1df10a9f32L,0x00000000000001c7L } },
  83444. /* 58 << 140 */
  83445. { { 0x887f5f7dadaeff53L,0xedcbca6c786fef67L,0xd7bb8943f09a8d39L,
  83446. 0xd479d649909702dfL,0x4ae419db67ca7124L,0x261d989c485a86afL,
  83447. 0x98967d4a9be0ae87L,0x3f6aaf7ec22f8626L,0x00000000000001a2L },
  83448. { 0x84cce3aa6127b3a0L,0xd6c6f9e454bfe185L,0x7ea36b64c8207accL,
  83449. 0x9ec42d09651c627bL,0x3b933445b30cd27eL,0x24671c86057472eeL,
  83450. 0x59ecd8cc6eb69b43L,0x87b80a767eb210dfL,0x00000000000001b4L } },
  83451. /* 59 << 140 */
  83452. { { 0xa923220091a7620eL,0xedd722be85bc2a66L,0x3876833331e7a7fbL,
  83453. 0xa190e74125837410L,0x0ba399038d0339aeL,0x5e5bede878292e1bL,
  83454. 0x65c8e564fc1727e6L,0xca1a08b61c7626a6L,0x0000000000000165L },
  83455. { 0x465c87a5d36c351dL,0xdfbb991bdde74f25L,0x587247c439474176L,
  83456. 0x24452876ad1dcd0eL,0x020dd2685d105c53L,0xc6578e676c09755dL,
  83457. 0x38e992b57fd6720dL,0x722e35424d7cab65L,0x0000000000000028L } },
  83458. /* 60 << 140 */
  83459. { { 0xafc72082bce9ceeaL,0x3d6782d22e39b303L,0xcf80e0e42d0707bdL,
  83460. 0x2ce86804499c7a85L,0x2886fd1d0078e18cL,0xb4fd3d50f4b05c32L,
  83461. 0x0e15e71ec3872f88L,0x22a9f5d16ed84f63L,0x0000000000000021L },
  83462. { 0xb3373fd31a67be31L,0x2d735f4cc320c1a6L,0xbe78bf0e89cc9314L,
  83463. 0x103c15dc9d83b96cL,0xdc4911c6e59d4b8aL,0x82035e43e77f32abL,
  83464. 0x5b67b58fcc0fc8d0L,0x68345fd533f6fb5fL,0x00000000000000a6L } },
  83465. /* 61 << 140 */
  83466. { { 0xbf16e67a89cea871L,0xcc9468110e8a4e02L,0x0b98bedf81bd3ab2L,
  83467. 0x3e1426e33d54ffffL,0xc1cbbd7556c0dfa1L,0x620757a15eaf6969L,
  83468. 0xf4bcd2c407429b44L,0xfb1d11cafa1954fcL,0x0000000000000130L },
  83469. { 0x620e9551ec84e8c2L,0xed5fb669bd2b2df2L,0x5fb8443227f1b8eaL,
  83470. 0xfc245aeffde8747eL,0xb5c86e67b3d63366L,0x840d13cbe6f5ace9L,
  83471. 0x8f48e4b80d52b642L,0x47218d9612968625L,0x00000000000001baL } },
  83472. /* 62 << 140 */
  83473. { { 0x63c7f49beaf731a7L,0x8de8815f4d3db806L,0xabb9f24f05a18ce5L,
  83474. 0x5907d287c98281baL,0x112f1c1499819cb4L,0xb6c82e83f4b873c6L,
  83475. 0x84dc0f43369bf15fL,0x71c53d9005d32850L,0x00000000000001f1L },
  83476. { 0xa83cf8ee69584f8eL,0x5417454910553d5bL,0xbfb36711adafdb64L,
  83477. 0x4d28a04142f7244cL,0x03458837900552d0L,0x712d0c1cd6f23c51L,
  83478. 0x5f541b75b10fd53eL,0x3e1824c5f43d7b90L,0x0000000000000081L } },
  83479. /* 63 << 140 */
  83480. { { 0x83f636b0455342b5L,0x4eefc94489cd2497L,0x9cd00d6c21d70b2fL,
  83481. 0x6ffa051f02a29335L,0x03085ff0e800ddffL,0x9de699100fcc7935L,
  83482. 0x33e4e2a246689663L,0xaa6c25f3b467e56cL,0x00000000000000c8L },
  83483. { 0xb448fad49af4127fL,0x1b3603254d024fedL,0xdd1b4ec1724446eeL,
  83484. 0xac577edb13df9d91L,0x515818244616a822L,0x289df7cda5480005L,
  83485. 0xcd8f303c0b8040a5L,0x88e9b6fa7d0559c0L,0x000000000000012eL } },
  83486. /* 64 << 140 */
  83487. { { 0x42458cfc40817aa5L,0x96f15f13560cc12bL,0xf96ea2034400b1e3L,
  83488. 0x266c2a626ebc6b8eL,0x98ebd5d42b374cbcL,0x15c1f4fd97f946a4L,
  83489. 0x759238ae33a07357L,0x6de75cfe2e3338c4L,0x00000000000000acL },
  83490. { 0xf73dfd08a1d6bad6L,0x32228f5f72566188L,0xea587fed0497dd53L,
  83491. 0xad4c4a562c1673c2L,0x8c8dcec4ade968ffL,0x77bf520edef7feaeL,
  83492. 0x856bb7987e6a19cbL,0xc289274db7fb508cL,0x0000000000000050L } },
  83493. /* 0 << 147 */
  83494. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  83495. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  83496. /* 1 << 147 */
  83497. { { 0x2491a894de6bafe8L,0x8aa13ac5ee9eb4c2L,0x1623b9df31b2d1feL,
  83498. 0x1fb69ca81a5b21efL,0x722f1be3290d231cL,0x8d2a56eeb93891f0L,
  83499. 0xb534845b48a2dc2aL,0xe4fadafc3e2a9160L,0x00000000000000caL },
  83500. { 0x7f9d50b8810034b4L,0xfebda319e8703f93L,0xecae100844caa3d9L,
  83501. 0x21767275bb5e0dc6L,0x529817cdac64fb7eL,0x984cb5bd31b97b4fL,
  83502. 0x33000d288ba3a593L,0x950b9c149003a472L,0x0000000000000039L } },
  83503. /* 2 << 147 */
  83504. { { 0x5e94c2a2a1da3c44L,0x90d950916c05a3e2L,0xb29b791e74871eb1L,
  83505. 0xe82a41fa50c2d855L,0xd2d24df91e689f42L,0xe9e935450cf6ed2fL,
  83506. 0x5fc9d992c6ed3e7eL,0xb4eb7df03606713dL,0x000000000000004dL },
  83507. { 0x248fd9d72099171aL,0x908d539e1d16d66cL,0xab47b9eb171bfd3bL,
  83508. 0x70e5de8cecdd8e37L,0xedd44ae051eed557L,0x4983c6faad95aeb2L,
  83509. 0xdedbfea1cdc8214fL,0xc6ae2030131549b3L,0x00000000000000c9L } },
  83510. /* 3 << 147 */
  83511. { { 0x7f642d9767b9ec83L,0x262cf832a01a1318L,0x279669d0288517c4L,
  83512. 0x39e8ea3451456d59L,0x5a8b5b78e9cdcf0cL,0x37b6e21f183a3198L,
  83513. 0x0cee02daf754f97bL,0xb6fc483e9c76fa86L,0x0000000000000137L },
  83514. { 0x783a819125386715L,0x4fa789033e397588L,0x25dc90b31825e7bbL,
  83515. 0x648caf54125497ccL,0x14940daabd22072eL,0x0a6fb1af51e5a037L,
  83516. 0xc637e1ef41570602L,0xb63d078dc1685b35L,0x0000000000000030L } },
  83517. /* 4 << 147 */
  83518. { { 0xff25170724db06fcL,0x4421108c849ea0b1L,0x3073c4caca8162a1L,
  83519. 0x6d768642e42af7adL,0x031eba68a6bc7790L,0x9a8154c3d8d64e3fL,
  83520. 0x7060550e297aafe9L,0x8681a2c6641391fbL,0x00000000000000fcL },
  83521. { 0xe9e76b16e0675e14L,0x3c4e3c42740f9bb7L,0xd3e75ff52869a3aeL,
  83522. 0x99a891aba47c7580L,0x42b47bcf0b321989L,0x2d1212a00a6dd3baL,
  83523. 0x25b1c5c8b43e9086L,0x8bc954e8e8d1a73fL,0x00000000000001acL } },
  83524. /* 5 << 147 */
  83525. { { 0xcb43d398c9b67ea0L,0xff2afbac39f12f2bL,0x516c8971a99ef099L,
  83526. 0x283cbd94271d23e0L,0xfc2a6cb5cb3ec463L,0x2f08949e25d3036cL,
  83527. 0x496b399a5d21c843L,0x493ab65a61dc0631L,0x00000000000000afL },
  83528. { 0x1f2e2d3d092d0f6cL,0x4d09ae2975901dd5L,0xb4324dff826cc023L,
  83529. 0x98744acff8f24acdL,0xb4b90fd6c4da3267L,0x3c5a2dffa221c054L,
  83530. 0x70c249032f1d7804L,0x3d8676a9ae973b22L,0x0000000000000080L } },
  83531. /* 6 << 147 */
  83532. { { 0x5c9da1422f134a93L,0x898c25ba65dd482aL,0xa8ce92fef6ef3e64L,
  83533. 0xe462faec5da54ecbL,0xdff68f3fb81e3ec3L,0x5278eb6c4b8ef144L,
  83534. 0xf98a36d50dc84f3cL,0x8edd6edba94ef000L,0x0000000000000191L },
  83535. { 0x738606c4ce8f5403L,0x102f1b3a1a20b349L,0xe7f1bf3328f73251L,
  83536. 0x0136f3eb1dccbbdcL,0x5b2b77633df6d9a6L,0x02b03dc6c9ee09fbL,
  83537. 0xff600116ea421742L,0x432728e840d3c3ebL,0x0000000000000034L } },
  83538. /* 7 << 147 */
  83539. { { 0xd97ddfa513137accL,0xb48fd161f90ae86eL,0xbe3b1135664772c7L,
  83540. 0x36a3f3bb882ebcbbL,0xa0bd95d4c260b262L,0x15aa4d0514b47d2aL,
  83541. 0x93607e4a08838ef1L,0xdbee0effc3e3a24aL,0x00000000000001d5L },
  83542. { 0x552772377ea76b01L,0xfdb2d29e02b16d83L,0x8503e9f50a9f47bfL,
  83543. 0x6b462a78702205edL,0x996d0687e7449e0cL,0x005ffde4a89f336bL,
  83544. 0xd784ec5fe7b964f6L,0x4360cf20c319e445L,0x0000000000000194L } },
  83545. /* 8 << 147 */
  83546. { { 0x4bc6f28624374decL,0x9ded182eddbf9446L,0xf58ddb470c3c51e1L,
  83547. 0xa6bd194efcff08c2L,0xdc47a3a63e931aaeL,0x7f1020a8daf165e6L,
  83548. 0xd439739f8faabc58L,0x6efc35ab5951222aL,0x0000000000000187L },
  83549. { 0xf15ee7129498152eL,0x9e85afc9acbf1f82L,0x7b5853ee397280baL,
  83550. 0x0283243a6b8d13eeL,0x64abbdc796cde865L,0x0284a75f3dff94eaL,
  83551. 0xc476e3a69c7b3d53L,0x9dafe302d1884045L,0x0000000000000133L } },
  83552. /* 9 << 147 */
  83553. { { 0x274d321fa6ea2d61L,0x189731b0d4b12aecL,0x3e3ad753923d81b9L,
  83554. 0xe89c40b7befba1a5L,0x6fcd642a015eb22dL,0xde04f997d12be7f4L,
  83555. 0xf2cfa38caf2ccc17L,0xc9aa307ed96b8001L,0x00000000000000a9L },
  83556. { 0xd390598b0b1d5123L,0xe784d0dc329e33efL,0x5b5c64a26d030653L,
  83557. 0x3bc1c276b5a20b12L,0x2cca6aa8755810f1L,0x0c01df0aabe5186fL,
  83558. 0xe997bd088aa9c400L,0xbb8d216198c3fb2aL,0x0000000000000117L } },
  83559. /* 10 << 147 */
  83560. { { 0x1d7b9b778d4fec63L,0x47eb33fb690c571aL,0x3d2bb2de05a01ce5L,
  83561. 0x16cde99b78c47fffL,0x0359242c699656b3L,0xde0c7d81bdd416b9L,
  83562. 0x60863068b6144f4eL,0xdfa66d197583c05aL,0x0000000000000142L },
  83563. { 0x892f8b4e8ccad1d1L,0x085cf7f6cceaac0fL,0xa07608425df33b07L,
  83564. 0xd4737bc3a8747ec7L,0x7f8147a128f4caddL,0x49d9db4c8480de3cL,
  83565. 0x5baa01d5872dea19L,0x2a8726b1e84044c3L,0x0000000000000126L } },
  83566. /* 11 << 147 */
  83567. { { 0x7f3138f9e293680aL,0x6dca11bbfd6a8b9bL,0x88932ac6b4b7ee2fL,
  83568. 0x5138acdae2b95958L,0x91dc3e9a639d074fL,0xd7d4903064296944L,
  83569. 0x818ab55f21383bd9L,0x78ae7acb1032d97fL,0x0000000000000069L },
  83570. { 0xb23f14d075173454L,0x51df08b37ebc4f81L,0x808454cf65aa52b9L,
  83571. 0x782b09610e6c952bL,0x40658769b8e92c5cL,0x4fd3ace2349f1d8fL,
  83572. 0xa9cce79ba0699cc6L,0x587f8a83e565c582L,0x0000000000000043L } },
  83573. /* 12 << 147 */
  83574. { { 0x19a54eb6407386d7L,0xdf16baf601c2186eL,0xfad573e89bd9a894L,
  83575. 0x343bbb0bccbeac47L,0x44febe5e4f7f5443L,0x87c81269c3ad9175L,
  83576. 0xdd79411447319eb7L,0x3302374938f26dceL,0x00000000000001ebL },
  83577. { 0xf94f891c1f1401dfL,0x2ae0e96a1450357fL,0x179a522785202255L,
  83578. 0x10518e7f397d8d98L,0xfa56e665828575b0L,0x7622b705faebb982L,
  83579. 0x63f9067ae3b3b8acL,0xb30f7bec6fdf48ddL,0x00000000000000dcL } },
  83580. /* 13 << 147 */
  83581. { { 0xa1e6af0f35b8d081L,0x46af5adba14b50ceL,0xc6cc9452288c50f4L,
  83582. 0x1bcacbd6f8910af4L,0x9ac8ebdad83a4b2dL,0x021e43ee5514aa3dL,
  83583. 0x4d5d0544b14bfd4aL,0x5bef6ab754bc3519L,0x00000000000001e1L },
  83584. { 0xd6ee66883af6fd56L,0xfc55226508bc92a7L,0xedab91fa2e7ddfb3L,
  83585. 0xe3f1fd7731472d2fL,0x2c751ccf35ea46d0L,0x570cf16d4cdfe038L,
  83586. 0x6ace17d6c87e7495L,0x02a9a0f3942997b0L,0x0000000000000198L } },
  83587. /* 14 << 147 */
  83588. { { 0xe5b551ea2dbff4f0L,0x438195568ed22f87L,0x1a42769cd42f4897L,
  83589. 0xe5a6f518a1a6ee3aL,0x9b53a9e63ab29b90L,0x6189a415c2fbf1e6L,
  83590. 0x6ee4570e2599d956L,0xebc865b6dd1f4bcbL,0x00000000000000a4L },
  83591. { 0x66abacd8843e4791L,0x3bb5c48e7a8cdc84L,0x3f4e2d197b5a2f8cL,
  83592. 0xbb945d44caffda4fL,0xd09a8f34b7bfb4d5L,0x1308f3d83501d709L,
  83593. 0x0bfb71e4352b9435L,0x92c77d2a403e594cL,0x000000000000019bL } },
  83594. /* 15 << 147 */
  83595. { { 0xcf38db175fb9017bL,0x66e774ccd1149878L,0x262164d38581662dL,
  83596. 0x52ca418bfbc653e2L,0x9d3b9b86c74d0c1aL,0xdd58b60b41dd9fe0L,
  83597. 0x63455b0ce55cf6f6L,0xef7fa7be5e37bd43L,0x00000000000000dcL },
  83598. { 0x6982c041cf5b3c78L,0xb48f8d01eb7fb22cL,0x2f88398d5c4c129eL,
  83599. 0xfe6c03131bfa5216L,0x2c94d9d55eaa1448L,0x19b49c084fd026c8L,
  83600. 0xf3ff621ee08f4788L,0x4b3e563397f2b547L,0x000000000000012aL } },
  83601. /* 16 << 147 */
  83602. { { 0x9e4ab8c58b327354L,0x89377c3c73f5d13aL,0x1f93cc126e55dee9L,
  83603. 0x7b4255bce490c030L,0x5451bdf5047ea02cL,0xc01d952cb461d14eL,
  83604. 0x172d0f20b9e21078L,0x694587a5a1295f3fL,0x000000000000002fL },
  83605. { 0xd54076270219fa4dL,0xbc0b846fa3bb7f30L,0x5c17104e2ba06bddL,
  83606. 0x2490f12bdf3ce36fL,0x0fe2e1ca08468c10L,0x8126c060a9e2c73fL,
  83607. 0x7685e59c5cce9dd7L,0x5f5f64da9e8ca8b2L,0x00000000000000bfL } },
  83608. /* 17 << 147 */
  83609. { { 0xd8f8dcb47165a15bL,0x3566655d27456d16L,0x3f8d6e4dd64d1044L,
  83610. 0x63cc9c8d4d23368eL,0x3b81eaa384ed399aL,0x7c81ee61be377229L,
  83611. 0xdc091f9720e863a4L,0xa2d486a7342e6ec7L,0x0000000000000194L },
  83612. { 0xcc7f5d9294fa2791L,0xdc18552a8cab138fL,0x0418657c2e9238c0L,
  83613. 0x38b45acaaec9eaebL,0xbd68814fa14aa270L,0x5b521b2ae14bc29cL,
  83614. 0x22f15327c5ecd539L,0x285ff2f2e109b02eL,0x00000000000001d1L } },
  83615. /* 18 << 147 */
  83616. { { 0x90276bd80eed122fL,0x5feb9a3a51af464fL,0x6723d65f591afda1L,
  83617. 0x4612b5b20f6233c3L,0x8427e3b7aa39d6e6L,0xa6311da25050a2a8L,
  83618. 0xfcf3c90a384a189dL,0x956c6fa5c0e2cb3aL,0x000000000000010aL },
  83619. { 0x665bf31000b63facL,0xcb8cfee137c71ea8L,0x8b3cdfeac1bc2f1aL,
  83620. 0x712f91a9956eb88fL,0x3e7ab8c3b979486bL,0x376b1f96e540d2b4L,
  83621. 0x01ef726f8cb06e29L,0x240b1df4cc582bd2L,0x00000000000000d2L } },
  83622. /* 19 << 147 */
  83623. { { 0x489148c9c274d307L,0xc660855334a59a0aL,0xf1b52d7feb4b8eedL,
  83624. 0x98e050a7ffb5310fL,0x5c6c2a50069fa531L,0x390546312329789cL,
  83625. 0xd525a9f162ad0e01L,0xfe4f68300d72772eL,0x0000000000000145L },
  83626. { 0x22065d2ccfec9cf1L,0x55c4e59c64422d9cL,0xf233fd545bdf4751L,
  83627. 0xcd8536a0221ad6b3L,0x277d802686061244L,0xee697ba465e521cdL,
  83628. 0x0efce228316d5176L,0x26bf3a5dde23683cL,0x0000000000000189L } },
  83629. /* 20 << 147 */
  83630. { { 0xd145eb32b6f1416cL,0x77bfe297670bd3e2L,0x4fe924dfce10f4d2L,
  83631. 0x9651650629f3c127L,0xcc669c51715b9e23L,0xafa90094b60a780bL,
  83632. 0x35114c8ae1aee1b5L,0x3f793f136599dd0aL,0x0000000000000176L },
  83633. { 0xf098fa02bab41133L,0xc018fb4737635fb9L,0x0be935b6eb948d5cL,
  83634. 0x453838bc27db09c0L,0xcf717312b29a531cL,0xb001eb51446ff102L,
  83635. 0xeb0a15c7275b0b94L,0x32e88f1499a3fa93L,0x0000000000000049L } },
  83636. /* 21 << 147 */
  83637. { { 0x8cf0c5cab2cd40e7L,0x02005c870804d05fL,0xda149871a34588ceL,
  83638. 0x867ee45824cedfe3L,0x87be46ef27b2c1f9L,0x7774a05c22a6426bL,
  83639. 0x37322562a785a3d7L,0x1027a76b6ecf1cdaL,0x0000000000000164L },
  83640. { 0xe5e8a7d6131efb98L,0x93da652a3c4c1d49L,0xe7c912d72658edacL,
  83641. 0x8185f36a36903539L,0x37b3cf19dd6f668dL,0x70ad7a7cb48ddd81L,
  83642. 0x8b290a4f8b04de45L,0xb7382782f7a955b9L,0x0000000000000031L } },
  83643. /* 22 << 147 */
  83644. { { 0x5add1d5f23342e9dL,0xdfc4c696230f2ddeL,0xd925c3a6049c89baL,
  83645. 0x9e2e23d5074b981cL,0xa11db26cf8766d4eL,0xc0a69d7fc37ce4cfL,
  83646. 0xf6de27c4b102e1d0L,0x9921ec7010409988L,0x00000000000000c1L },
  83647. { 0xa66b32657b6f0de2L,0x2bd9a65778871bfbL,0x29f760a353bb697dL,
  83648. 0xbd91b082ad080bdeL,0x8644a3328e96ea2fL,0xb3e71cdb10d83cf8L,
  83649. 0xd8611580758300c0L,0x7ebb9fd48146381dL,0x000000000000009fL } },
  83650. /* 23 << 147 */
  83651. { { 0x64b6828796343187L,0xf8f6db918829c5b9L,0x6474822e697768c7L,
  83652. 0xd5cf4ddd770add15L,0x483b8ab4e7439172L,0x793a759d7624731aL,
  83653. 0x9d4b4dcd439b35adL,0x46654a6afecca0f7L,0x0000000000000084L },
  83654. { 0x9f2b0ec49d347a03L,0xc4ea4300d7610174L,0xfe4be93c7f5b78d3L,
  83655. 0x00984cc68d6e3886L,0x42a4f895c7e026a2L,0x258e4272d69990e8L,
  83656. 0xe50f642e7dbd5c71L,0x6f81b7ea0d04a6c6L,0x0000000000000073L } },
  83657. /* 24 << 147 */
  83658. { { 0x8c9f5cc170b1bcceL,0xe2d68ecef726d3d6L,0x330e1c4c707f25abL,
  83659. 0x4397647f18dfd382L,0x8f83b1ee249a6ebbL,0x7d291bb65738ebedL,
  83660. 0x11d6af26e8db7b2dL,0x47b048ec173d8d33L,0x00000000000000e0L },
  83661. { 0x16819a7b1843c807L,0x9bddc58230ca2736L,0x2bccd7f2e1525168L,
  83662. 0x0f9dcb4d5900125bL,0x90e3017bb5adef07L,0x09c2381a7bda2ffdL,
  83663. 0xa203c883d47cc848L,0xd173669eeec3c0e4L,0x00000000000001a3L } },
  83664. /* 25 << 147 */
  83665. { { 0xb3652eaae3f65b22L,0xcaf7a68167717ba5L,0xa80950e2129aa188L,
  83666. 0xff5be361375861bcL,0x6770cc746abb2853L,0x00252a511fd9dd49L,
  83667. 0x9fe309b2ac485383L,0x59660b05d6c63d4cL,0x00000000000000fbL },
  83668. { 0x0434d8c896b55b01L,0x053204c5de25fa3cL,0x4291f70d0e8d9361L,
  83669. 0x29a8f0a9a61ef3faL,0x0192e14431b82f8eL,0x9df111c73cfa7d38L,
  83670. 0x344917426663b84fL,0x5da29dea9c154f7cL,0x0000000000000022L } },
  83671. /* 26 << 147 */
  83672. { { 0xf1321a601f9d09a9L,0xf4d31ea30c863f7aL,0x8a43a25aad2ce3adL,
  83673. 0xe338837799bc8bd4L,0x062857c2a8e816fcL,0x56378ac296c41801L,
  83674. 0xdc0f04db0e66af1dL,0x8848081a56ffcedbL,0x000000000000011aL },
  83675. { 0xea2a3e6060b59a1eL,0x85720082f6ffb469L,0xe10dc94cd3e820feL,
  83676. 0xbbead00b43243370L,0x9c4f4aaf715983bcL,0xb53c487337aab294L,
  83677. 0x527c167f49239950L,0xfc0884fe9c1d2b15L,0x00000000000000f1L } },
  83678. /* 27 << 147 */
  83679. { { 0x066eb52486148ffbL,0x05fa5ca6b12813aeL,0x3f6cf7521042cb23L,
  83680. 0x620497148cc148c2L,0x7063a531fc06d539L,0xdd392b8c9422ec6eL,
  83681. 0x0dabd4a1dc8c778bL,0x86485e1b9e0f9471L,0x000000000000013aL },
  83682. { 0x6c358e988f9b6601L,0x11820d055601185aL,0xed9ba8a45e0a28b4L,
  83683. 0x3f28600944c12ec9L,0xa4b35a622ef871ecL,0xe8a89ea53312df04L,
  83684. 0x22cdb00ad5975031L,0x34bb65de3d7c84eaL,0x0000000000000142L } },
  83685. /* 28 << 147 */
  83686. { { 0x247f9f991415b5a5L,0x8d40f1e22ed5e708L,0xf1133cb0efc81f52L,
  83687. 0x278a9e9c2b0ed8b6L,0xd0e4058b608882b8L,0x0a74bb730c8107e2L,
  83688. 0x13e8d54e5260f955L,0x7a147d79d3ab9424L,0x00000000000001c8L },
  83689. { 0xdc0b55a16f9ebf4aL,0xe7a018e054ae1fa0L,0x542720cc8cebfcefL,
  83690. 0xad8fb8dd27d8ba5fL,0x6e9d00da68c5590bL,0x4f1fa055014f5fc6L,
  83691. 0x972a148006b1efd5L,0xbe9062432116830eL,0x000000000000019cL } },
  83692. /* 29 << 147 */
  83693. { { 0xc6004c28eeec070dL,0xc744cdc1249ddbdeL,0x33a8dd7ed2fdcac0L,
  83694. 0x1bb3b8478a15f9e3L,0xbe5270ba74951deaL,0x974cefc5c62182beL,
  83695. 0x91a2ed05e7bb8ba2L,0x54ec25d63ec05196L,0x000000000000003fL },
  83696. { 0x61e73c5078cfe5f3L,0x26d3abaa9a6a4149L,0x4813ce619128d73eL,
  83697. 0xb60761a175e2bad1L,0xa8f869cadca6d591L,0xc46ef1b082aaaf57L,
  83698. 0xe207a47f87ca8574L,0xe156c908eb027d9bL,0x0000000000000131L } },
  83699. /* 30 << 147 */
  83700. { { 0x12a5b6b9d51ea4edL,0x6ee257dc65396af7L,0xd921c77aecfe3419L,
  83701. 0xdb9d587e463e4d69L,0x0224cc9f03fe3388L,0x062c03973ec5049fL,
  83702. 0x705fdb3fb1e1d2beL,0xb9c77024ecd64766L,0x0000000000000140L },
  83703. { 0x9591f031cc7fc0faL,0x2eb3bc1cc0b49c59L,0xbd54081797ce9a6bL,
  83704. 0xd5285b3641b37630L,0x85137b727a1313a2L,0xce410db03bb3c320L,
  83705. 0x2d3628d4193ace4cL,0xa39b6d8775b26d92L,0x00000000000001acL } },
  83706. /* 31 << 147 */
  83707. { { 0x0caca7f6389bff14L,0xc34226ae7bbc3a8fL,0xe99816857bf0ff44L,
  83708. 0x259e33e7580f4f8dL,0x5e909449d4a80364L,0xf8b2da9223c3d509L,
  83709. 0x5b3a3f4bbf30299bL,0x4da73ca88151ad0eL,0x0000000000000010L },
  83710. { 0x5a575220fe7e78fcL,0xef28d13b03eda908L,0xe131b1fcb0f3f2f4L,
  83711. 0x2c8fe211d8151429L,0x1b9897d692f85e68L,0x76e34f11b6437168L,
  83712. 0xe13b797b97e53e66L,0x0ec0b9d4463020b9L,0x0000000000000042L } },
  83713. /* 32 << 147 */
  83714. { { 0x16bc33413fdd638dL,0x8c37c58a8c518c30L,0x9dddb8ee79df75d1L,
  83715. 0x0bc82320c91a620aL,0x6e924a6c9126a200L,0x744594a9d20c8c89L,
  83716. 0x0e9b59ac4cc73caeL,0xce872f0a0b276b4cL,0x000000000000008bL },
  83717. { 0x651f74222c35933cL,0x95238355e025609eL,0xe7891b5b6c14d96eL,
  83718. 0x89c0fa370304d219L,0xdf7da33d61b597efL,0x43df03574120905cL,
  83719. 0xacf01355718df73dL,0x7ca32d0e631ada96L,0x00000000000000b8L } },
  83720. /* 33 << 147 */
  83721. { { 0x88809494252b6a07L,0x9afb2482a30ec634L,0xe68ffbc927436190L,
  83722. 0x63223b43168356f3L,0xed2dddc2640ef7ffL,0x8a3d853beeb5ce07L,
  83723. 0x6b555cec4f9347a7L,0xfbff3ff241559afcL,0x0000000000000189L },
  83724. { 0x60b423485261ab5aL,0x06ec126f930b3a8dL,0xb70a741a9eff20dcL,
  83725. 0x63ef08dd43f6aeedL,0x4b7e962b391a4cbfL,0x2dea977be636890dL,
  83726. 0xc8bcca8edf28a2beL,0x75a069a00db7e727L,0x0000000000000130L } },
  83727. /* 34 << 147 */
  83728. { { 0x64ad4b5d38c6cb20L,0x87b25a276cccb7aaL,0x882e1be1695dca6aL,
  83729. 0xb6e216ae98e6653aL,0xab1adfbe4f2a32f6L,0xc7eb17991640b34eL,
  83730. 0xdfb5a618e9b287dbL,0xb98377f2e1c483baL,0x000000000000017aL },
  83731. { 0x38c1708b0e576a20L,0xcae3cbb5666618d3L,0xe7681da6a8baaa65L,
  83732. 0xca4a87db3661f5faL,0xad07c49713a2923eL,0xfb8e098a1612b88fL,
  83733. 0x00648cbd0211082cL,0x77fb7ef7c08add74L,0x00000000000001c4L } },
  83734. /* 35 << 147 */
  83735. { { 0xfd7f19efcd518979L,0x3d439ca9d73c25fcL,0x0834e5770d158067L,
  83736. 0xa52457eb7560ff4fL,0x1d72c5c540f8627fL,0x90445790aead9bacL,
  83737. 0xa0019ef9ebd5094eL,0x0ec581eff66ceb3bL,0x00000000000001e8L },
  83738. { 0x52b5917cee75ca82L,0xf66fdce0bf5bea5aL,0x825c07b024f56801L,
  83739. 0x5fd13cef8991b8a0L,0x3d1d4880e739ff2dL,0x01a6a6218d6aead6L,
  83740. 0xb5cae8d5fec72d3aL,0x48c498cf9e68ccccL,0x000000000000011dL } },
  83741. /* 36 << 147 */
  83742. { { 0xeb7eb4e3cf7c7817L,0xc190cb66eaab7734L,0xdc8faf6a81d04f60L,
  83743. 0xf11c8a8cf998d778L,0x4e2d4b63db67e150L,0xe5522c9556099bb9L,
  83744. 0xcf8dcbf0aebfc2a4L,0x921787cc0c8f6ce7L,0x0000000000000075L },
  83745. { 0xf6e3e647e163b36fL,0x5e1a1c7428973a57L,0x08c85f9ddf4fba25L,
  83746. 0x45137abd0f27483aL,0x993d2b71753cc2adL,0xc6b0112853fa2055L,
  83747. 0x74e63b5088ca2fe3L,0x06aa66a1d2a13d00L,0x000000000000019bL } },
  83748. /* 37 << 147 */
  83749. { { 0x682ffa1b7ec4f64aL,0x95d2e079a15dfbe9L,0x172c693cf5184016L,
  83750. 0x45b10e4f33eac72eL,0x57f555c9d99bc8daL,0x0ca53b2f0656b3e5L,
  83751. 0xd5ad1f26afff9ff6L,0x54197dd60c648286L,0x000000000000016aL },
  83752. { 0x98c5f4989aa5dc36L,0x906d5559936cf066L,0x4daedbf578c08c11L,
  83753. 0x60ee55a31fd25c15L,0xdd6d6c5f83d1fea5L,0x66af4443c96f658cL,
  83754. 0xd8d4b001326b34adL,0xae9b2b71a2b138dfL,0x00000000000001dcL } },
  83755. /* 38 << 147 */
  83756. { { 0xcf5174df03cbc63dL,0x6c45aa2990858f82L,0x4feeb0e94ca9ff29L,
  83757. 0x45c913dd476b0fb3L,0xe019eaebc60aaf76L,0xa616a69f20013ca2L,
  83758. 0x57a9477b8c19cea4L,0xc2d0700a1cd82afeL,0x000000000000007bL },
  83759. { 0x1eef2b5fef402297L,0x9f9c57d25aca14a2L,0xb890e7bcd4f3bbf5L,
  83760. 0x210714a2ce430268L,0x9088523a57390f8aL,0x165bff6f4e58247dL,
  83761. 0x9aa04525f815b565L,0xb775a4615c6d8ac5L,0x000000000000012eL } },
  83762. /* 39 << 147 */
  83763. { { 0xa9bd87c6bd49c789L,0xa1fe2842970f53ebL,0x59160816abe18d83L,
  83764. 0xf69f674898c30254L,0x63688c8e6543b683L,0x14d5ee6af773af1cL,
  83765. 0x327a220e8c42efc1L,0x666a878c900c62ccL,0x00000000000000d4L },
  83766. { 0xd868e30687e762b1L,0x213f7b043de4e833L,0x022b5fe26c684d45L,
  83767. 0xdfbac3e02cd286d1L,0x7d4e6a80aedb794eL,0xbc3f105e1e60b9bcL,
  83768. 0x6dfd09ed711f8011L,0x2b4f4fe7a3a0de69L,0x00000000000001cfL } },
  83769. /* 40 << 147 */
  83770. { { 0xda90f7d5baf7c7bdL,0x1a6719969766aa85L,0x3528f03b24f802a1L,
  83771. 0x04b09da3c7d51cceL,0x7a2fb5077b8e58c9L,0x4cd283ca46c7716cL,
  83772. 0x3c682896f1027492L,0xe34524bd8d6b9f97L,0x0000000000000186L },
  83773. { 0x4696ab6ff2e6ce3eL,0xff2a7b70f6e77b14L,0x19cdf652897ff820L,
  83774. 0x09f952c2cdf6c8f8L,0x9b3b7e14e34d3dcfL,0xecf5054ee1a3bd0cL,
  83775. 0x19d2e4c83403783aL,0x549bfbc73a373796L,0x00000000000001a4L } },
  83776. /* 41 << 147 */
  83777. { { 0xdeaf616310141b69L,0xc41e53f255557467L,0xce2b3655c4d8b612L,
  83778. 0x5ac8d24202f58186L,0x213affee697dcf46L,0x254e7ec39c955508L,
  83779. 0xc43cb58c85f554a9L,0x0d58d3994500579bL,0x00000000000001efL },
  83780. { 0x466b1a5bf7a19f41L,0x113f74e91fe1301bL,0x18bbe771c54304acL,
  83781. 0x8340ad81c26c2e27L,0x65367af7544448c8L,0x3021f03f017efbe2L,
  83782. 0xbe92d7e6b090ae98L,0x1a0f53e920ecd3cfL,0x0000000000000133L } },
  83783. /* 42 << 147 */
  83784. { { 0x66dc8a9b1def0f5cL,0xf4d1c2b73e9135edL,0x317063850d8e70e0L,
  83785. 0xdd355c7a4d254a7bL,0x6189dd55dcf70a93L,0x9d62b529b728ef6aL,
  83786. 0xf9986ad1c74066b1L,0x9aea4f1ae540d945L,0x000000000000011eL },
  83787. { 0x130818dcf200a284L,0x56418ab66e71f015L,0x94b3427eab8722d7L,
  83788. 0xc5c1c1587aac7863L,0x55fe2df518b94dc9L,0x4813e9915c782da6L,
  83789. 0x6c50ae473eb671daL,0x8b25a79012ba0f9cL,0x000000000000004cL } },
  83790. /* 43 << 147 */
  83791. { { 0x409447460587a0e4L,0x5d458c798d9f57fcL,0x684919bcd8657675L,
  83792. 0xcf551d43839fa071L,0x9de6fa17af775947L,0xf4bfb5506669009eL,
  83793. 0x234870726375aeddL,0x5cb589eb1c7180e2L,0x00000000000001bbL },
  83794. { 0x128d24df97ad0e22L,0x160d55a40111adbcL,0x7e57af656d0f5f99L,
  83795. 0x4d6c763f09910699L,0xfedb36a7ab9c174aL,0x35fd8a827f579c65L,
  83796. 0xdf7e65d169af343bL,0xca6829bb448a45a4L,0x0000000000000015L } },
  83797. /* 44 << 147 */
  83798. { { 0xee98bc02f445f09eL,0x8a9361ff6b4728abL,0x8ce33c616bc007c9L,
  83799. 0x191819be51c7e170L,0xa1c971c0a0f7eb3dL,0xc00ad1e760c9f532L,
  83800. 0x790750ba5972bc14L,0x665d98cb776c1093L,0x000000000000014bL },
  83801. { 0xcf81d62fd598c5daL,0xfe84e05c7aa8be48L,0x0943e0156c7e2a3cL,
  83802. 0x39bbb769352063aaL,0x3ec54f1b638ad619L,0xe0a92fe3e248bbc8L,
  83803. 0xedeb7234718dc78aL,0x22840b19ce6775b8L,0x00000000000001f1L } },
  83804. /* 45 << 147 */
  83805. { { 0xb6f96a59d33ac825L,0x5b7d26dbe328d33eL,0x4b914baafb3a9c2bL,
  83806. 0x626782a126376196L,0xc4ce8e4e9c5c39ccL,0x936c7957afc6729fL,
  83807. 0x7d33ddb57a880449L,0xf1c162de61f21de7L,0x000000000000003fL },
  83808. { 0xca755d673c0abcc4L,0xee71ff879568310dL,0x57bb9cd89996bdbfL,
  83809. 0xcda5682e63602af4L,0x45f7d757e526c8a5L,0x3f70d0a67e9730d0L,
  83810. 0x47d5cc70584be9ddL,0x57453cca4a5091fdL,0x000000000000001dL } },
  83811. /* 46 << 147 */
  83812. { { 0x9e6e310cf74041ecL,0x00525f452f102196L,0xd509a1fafb089536L,
  83813. 0x25eafb85b6ecab1dL,0xc3db17473e670edfL,0x73cd5b1a02a74deeL,
  83814. 0xda5f180a708059e5L,0x4756564105f4a4a7L,0x00000000000000d9L },
  83815. { 0x4617c8dba2e177c2L,0x4c1cd54d48928799L,0x9db79cc174cd39f7L,
  83816. 0x6ad011de815393e2L,0xfda0a9d375ab45d3L,0x941924fb4944f8aaL,
  83817. 0x9e5612f2425803feL,0xb85b6231e73ad659L,0x00000000000001beL } },
  83818. /* 47 << 147 */
  83819. { { 0xf5f9fc42c0ef1a21L,0xe9f903271bb54b84L,0x194164521fd4c3d0L,
  83820. 0x07230be791a093adL,0xc8611dc627a57239L,0xeb64b31ef0a2ed05L,
  83821. 0xc99864d317c09562L,0x13bd93ec682aa5c6L,0x0000000000000072L },
  83822. { 0x22a721e66314648aL,0x04bbe0541809ed8cL,0x709a97cb3431bf60L,
  83823. 0xd23000ca75e2ab96L,0xcf94327f7317e6e0L,0x5c07a24361efe4dbL,
  83824. 0x1e0f88bd75585a53L,0xe9d5784e71067b16L,0x000000000000008bL } },
  83825. /* 48 << 147 */
  83826. { { 0x140d97d668d43990L,0xc2153671f05254d7L,0x15c7cb4048835a51L,
  83827. 0xed01ae6e9b1e5c22L,0xc33296c45a63713bL,0xb44ae73171a53417L,
  83828. 0x70b2359e4e771c6bL,0x582eacf2fe7d32b4L,0x00000000000001e3L },
  83829. { 0xb6a805b0b9a67492L,0x97617ae34369cc31L,0xdc08edb44d0a7af9L,
  83830. 0x1c89e626c0c63f8eL,0x75e1f1ed615ac711L,0xe03d1b7d8e3eb258L,
  83831. 0xcc2e06e4761fadb7L,0x2dea6e630cfc1724L,0x00000000000000d9L } },
  83832. /* 49 << 147 */
  83833. { { 0x30eeed7612619b7aL,0xd8daa1efe23568aeL,0xaf0c5d2700f7929aL,
  83834. 0xd89f78a90dca03efL,0x8eb2878fe39fdcdfL,0x8d8e0ddda71f1a3dL,
  83835. 0x4042473e60afe2bfL,0xe0501f41c19d3ffbL,0x00000000000001baL },
  83836. { 0x1693d5a1030e8b4fL,0xa0d858cf93320df4L,0x45b0c87cfcabd7c4L,
  83837. 0xb6e171378f8fa025L,0x892617bc01ff2d11L,0x89030f422ed3a401L,
  83838. 0xda0ddd2ac10ee939L,0x24b042d5fd5f3ed7L,0x000000000000009dL } },
  83839. /* 50 << 147 */
  83840. { { 0x28ebed439ae8948eL,0xbe7a777ec909cbadL,0x4f5b240434fdd33eL,
  83841. 0xb0ce95a86f24e7feL,0x9549d6a80a6117aaL,0xea4f9ae39ab68d8cL,
  83842. 0x117b35bf9258ab2fL,0x262f08aed8e0e9b7L,0x0000000000000092L },
  83843. { 0x808fe92c29be09dfL,0x57f69b77ea43d2c3L,0xfaf2e024f50c9e91L,
  83844. 0x00a2dbc95fce3573L,0x72d3ae0513d465d1L,0x4fc54830ed56e68cL,
  83845. 0x662a86491a37f74cL,0x6977a68476c58416L,0x0000000000000063L } },
  83846. /* 51 << 147 */
  83847. { { 0x56c1d2934f06b0daL,0x396c88f326ab5d67L,0xef6b98362d0ee910L,
  83848. 0xbd5794fb82fea351L,0xb4aa0ebb8e8a0674L,0x1f99bd2c992a8e30L,
  83849. 0x6c77c4ce13f5b05dL,0xcc2d35166d96d584L,0x00000000000000eeL },
  83850. { 0x29896c6aa05844fdL,0x615a57b51b2ee851L,0x0780b7ba64120a3eL,
  83851. 0x5b4a41d756738a39L,0xc38019755ea981b3L,0x925ef03121aafd98L,
  83852. 0x62a94e460c31922fL,0x13cf0f0c36933ad5L,0x0000000000000083L } },
  83853. /* 52 << 147 */
  83854. { { 0x301c46545f009683L,0x5dd9f7cde23f6a45L,0xe751c7d9d96753e9L,
  83855. 0xb26fda93e50ed86dL,0xb48e4d2ea3014b3eL,0x6d82b06551d16e40L,
  83856. 0xa8b8f4a19952b35fL,0xa3b70bff95f097b1L,0x0000000000000003L },
  83857. { 0x98b9e4d7ea5ce5a2L,0x86cc4bb2d9548b1cL,0xee2c3a715f65d9a9L,
  83858. 0x22b7cc27212980abL,0x8820302cf5dfdbeaL,0x7f0290529fd77d3bL,
  83859. 0xfaef33b3599b0e13L,0xd6b215998a929bfaL,0x00000000000001bcL } },
  83860. /* 53 << 147 */
  83861. { { 0x3822d6dde05bcff9L,0xa1df90859a966665L,0x37d8d08affd0c260L,
  83862. 0x044eb203a393185cL,0x2bb1e2a097b4fa61L,0xd824c5f2f069339aL,
  83863. 0xee973a505e47a499L,0x57c7cb70c7739a14L,0x00000000000001a3L },
  83864. { 0x50708368841c8a1bL,0x149b29f0e1c18a5bL,0x6d3057aff86259ebL,
  83865. 0x42b1013f9c561498L,0x9c917c000a3c96c5L,0x1f64ce7260e1c1e3L,
  83866. 0xdca64e5d0b26eacaL,0x70809a61ffe62202L,0x0000000000000060L } },
  83867. /* 54 << 147 */
  83868. { { 0xf7cb364bebc4106bL,0x322868aa1f5b16d7L,0x35d2bc278a47978eL,
  83869. 0xdd71c1c5888a45d6L,0xbced525701370078L,0xdb80de35d2c742c3L,
  83870. 0x9de9da88492943b8L,0x056084de6d5369b2L,0x00000000000001ceL },
  83871. { 0x481ba518bd731791L,0x5b7297867252de15L,0xd9e0d759af151de3L,
  83872. 0x32df8fcf9485cf7cL,0x959a47d70da582faL,0xada095c0ae5e4106L,
  83873. 0x1f870a322c80f5beL,0x3996f25c7b53b872L,0x00000000000000fbL } },
  83874. /* 55 << 147 */
  83875. { { 0x7b6c5a0d299215b2L,0xe63c9ea3ff30cd5cL,0xe20dcdced944d3d8L,
  83876. 0x58fc33a5037bfe23L,0x084db73f8964c02dL,0x295cbb668036f2d5L,
  83877. 0x5fb5b1575f11677cL,0x08c6f7868c0b8c9aL,0x000000000000005cL },
  83878. { 0xa71be7daf9fc7b49L,0x90b4fb112eb884afL,0x5a433d1bc20f3de7L,
  83879. 0xa9f96c15d7ec8c53L,0x19d73a9202b16cf4L,0x6db1ec20f0c59b32L,
  83880. 0xea08ad41e9148372L,0xa9425964a8fd959aL,0x000000000000012eL } },
  83881. /* 56 << 147 */
  83882. { { 0x327d0a715d58ae51L,0x5781201b6bbb0e9dL,0x2e738768cb5ba871L,
  83883. 0x7a7c4287a1ce9418L,0x75e146164efab0e1L,0x14839cf658a84558L,
  83884. 0xc9c0e010b0156aeeL,0x337859475f043330L,0x0000000000000177L },
  83885. { 0x9f821ccf075f05d1L,0x18ea20c4c28c986fL,0x6b3173993906dd1dL,
  83886. 0xf8c200ac1ac84aa0L,0xb6876e9b2170699eL,0x967ebc48894c5351L,
  83887. 0x545de7957c5503a5L,0xaa3e77f946b8d0c9L,0x0000000000000038L } },
  83888. /* 57 << 147 */
  83889. { { 0x09995831678db97cL,0x21a68fbeb3a294d1L,0xe7e00883a6e564a6L,
  83890. 0x6c2bc4473c6351fbL,0xb26c5e696be68123L,0x5f0bec160f558615L,
  83891. 0x7861fd1d3d4e11daL,0x401c74bb74294954L,0x00000000000001abL },
  83892. { 0x99ccf2f0240019eaL,0xcd7b969a7d4cd159L,0x5c8c5407f98ad9e1L,
  83893. 0xed9f828849e17f16L,0x15e6f01c07ec8be3L,0xb9385f7f9215c605L,
  83894. 0x9d0dcdec545b52d8L,0xcf19523c4ee0d717L,0x0000000000000081L } },
  83895. /* 58 << 147 */
  83896. { { 0x6075fa38019b76d6L,0x69026a5309c93da7L,0xd74ca37abc94b34eL,
  83897. 0xb9326f7dfdb4db42L,0xee55a0529d571ca1L,0x28cc82349b045d9fL,
  83898. 0xc32980ff32b90fbaL,0xae7b8a9e23bcaaa1L,0x00000000000001d9L },
  83899. { 0x7999b36bb1e28505L,0x3f1a81991a8b12dbL,0xfc384a1e842adb45L,
  83900. 0x45928ce192acfae9L,0xf9c422639575c3b1L,0xa1d497c00c64efb3L,
  83901. 0xbb171deb8f675d61L,0x1112bb0ae420e774L,0x000000000000012cL } },
  83902. /* 59 << 147 */
  83903. { { 0xd3a1a740a18e8dafL,0xc7ea1eb81f85d156L,0x9cb8aa11e8cb68e8L,
  83904. 0x5867e62f3cd3e2e8L,0xb9a337f1d8525a5eL,0x19e80310986615bfL,
  83905. 0x35b1126ccd2046ebL,0xe0adfd0ca338224eL,0x0000000000000114L },
  83906. { 0xb5041e87e0d36af3L,0xf6c1d74ac830aa98L,0xa1251bcd3d9a58b5L,
  83907. 0x084bde5b887e46c6L,0x17c1cfdec9066fdfL,0xdbd86d9be1a07155L,
  83908. 0x04e6b547ad8b184fL,0xe1387caf9ce95793L,0x0000000000000082L } },
  83909. /* 60 << 147 */
  83910. { { 0x4443a6c3322a7d6eL,0xbaaa07e080c34583L,0x030a347041f390bdL,
  83911. 0x1570596ce98c416cL,0xa7ed4c7e3ed2ccdaL,0x936b5951440b9124L,
  83912. 0x6587c9d546d24df9L,0x77ddf54c8b22db32L,0x0000000000000025L },
  83913. { 0x63c9e7b7a4762e43L,0x5a15b97f843b6aa6L,0x370982cb89c1481cL,
  83914. 0x2d4bfe90bc3ce946L,0x5467f0821fa11973L,0x727ec857f1ed8d70L,
  83915. 0x6d0ddd0bbcd130f3L,0x952129f8b6cbeddaL,0x0000000000000142L } },
  83916. /* 61 << 147 */
  83917. { { 0x8c63e55ac218c2b4L,0x93017667ca59394bL,0xc0f8e0d1602295deL,
  83918. 0x5de02425002fb9b1L,0x493fd199e8b8fc46L,0x854e759781e1ea54L,
  83919. 0x2f57f5a2dae7a5f5L,0x8454844cd6f46c80L,0x00000000000001b5L },
  83920. { 0x246d3a54b0b01c98L,0x807bf3892860d179L,0x3455551b5474e8d3L,
  83921. 0x8e007f866fc4f8b1L,0xc409e7d377e29dbaL,0x84510eb48359b208L,
  83922. 0xf29d0ad368d94a20L,0x7afbd7935010b843L,0x0000000000000114L } },
  83923. /* 62 << 147 */
  83924. { { 0x48b9115978951f4bL,0xaef87217265fad80L,0xb5d5547ad94d42dcL,
  83925. 0x723c460f1a5ac9d5L,0xbced8eb304aa83bfL,0x276275ab9f569648L,
  83926. 0xb7e2654d7db652c1L,0x16acb62bdd9088a8L,0x00000000000001d8L },
  83927. { 0x8318bbe3a0134fcfL,0x73dce05c07cab5f3L,0x0d3421b9ead384b5L,
  83928. 0xeb5c77f492b4c9c7L,0x15186834e01bd002L,0x27583717e576e035L,
  83929. 0x4d3ecbc88c8d4d43L,0xe63044592b81fde8L,0x0000000000000059L } },
  83930. /* 63 << 147 */
  83931. { { 0x7ec6163a6f63d2c3L,0xdff5558287421ff8L,0x7dd99c23b1f59a95L,
  83932. 0x7604aeaaa41319c8L,0x81c31a0cf7b60b77L,0x80a5bea5597dc7c0L,
  83933. 0x9abc806b7c1f1d0fL,0x60e9f42bb2c9a37fL,0x0000000000000090L },
  83934. { 0x3526b63f850d46b9L,0x4532e167a10fc8e7L,0x48e5c8f5a35019f0L,
  83935. 0x7aee2a2dd22272ffL,0xa08dee5c726d0685L,0xd0058b333979987eL,
  83936. 0xd155241263607bf5L,0x2201b75aca9a11d4L,0x000000000000018cL } },
  83937. /* 64 << 147 */
  83938. { { 0x5249e953d6ae5716L,0xbbf778ca1027f3cbL,0x0a535c1f01020499L,
  83939. 0x80f4cf1b7b847ceaL,0x3cb8c87b66d8dbf8L,0xa8d7b35bdd3562a9L,
  83940. 0x0305b1595ba3f0abL,0x9d5ee3ba7775dbedL,0x00000000000001b7L },
  83941. { 0xbe2096494e5050cdL,0x176602a16790efceL,0x6aa6ba5f0b21f5c7L,
  83942. 0x6a1d5df0f8c4116fL,0x1a188a83746abbc3L,0x2b2d3317fd2c047eL,
  83943. 0x18067e79b9e5d5b8L,0xed9bbbcfc4be8357L,0x000000000000018bL } },
  83944. /* 0 << 154 */
  83945. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  83946. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  83947. /* 1 << 154 */
  83948. { { 0xf6a2bf97f0ab06d5L,0x9f8da4f011f2c6a5L,0x776a1eb0cb8b966eL,
  83949. 0xe74b7349a1903dd7L,0x6978c653dae05c8fL,0x77d364c9e1f5b52fL,
  83950. 0xf3e29bccbc7779eeL,0x4cd77a80641ba885L,0x0000000000000136L },
  83951. { 0xc79b648f9cb2168eL,0x1b52d0b7d06dbbe6L,0x7b7302bfa65c96d5L,
  83952. 0x1eea500edc838093L,0x83aa1612fb69971bL,0x6398cff0528e16ffL,
  83953. 0xa64963a56d95deebL,0x36f359053d7da7aaL,0x00000000000000a7L } },
  83954. /* 2 << 154 */
  83955. { { 0x708003f83c48adedL,0x936a8a382497ce05L,0x66f8e450afece34dL,
  83956. 0x6cc3a161513e1c0eL,0xe2fb655e044610faL,0x8af6a3b362e764c3L,
  83957. 0x839a61f18ca809a0L,0xd43f2d1ec330dddfL,0x000000000000007fL },
  83958. { 0xf4fb698b7acee1ffL,0x5d19501bcb302bf8L,0x393c9f0876ac0468L,
  83959. 0x16f8b677fd22441cL,0x85662743c504d916L,0xdf3d33119c8cb9c8L,
  83960. 0x1feb20ee42f9cbe5L,0xecd3eece5cad0542L,0x00000000000001ebL } },
  83961. /* 3 << 154 */
  83962. { { 0xa9c120098d6d74c4L,0x862c2e5ac0e79387L,0x30e24459ee38eff9L,
  83963. 0xd3637e69764f4b51L,0x6440afad56e273a5L,0xc95ca130e45adb77L,
  83964. 0x89cbd694c96ea2baL,0x9b9c1edbf2099810L,0x00000000000001d9L },
  83965. { 0x48770298e474a5acL,0x5612463b7b903222L,0x4d92c48f12de8a11L,
  83966. 0x360e5c32ca366bd5L,0x8f16dd03e7e9928eL,0x41cbda9e88bf12f7L,
  83967. 0xe7d794691af3b3edL,0x34c52e7caa4e82a8L,0x00000000000000a2L } },
  83968. /* 4 << 154 */
  83969. { { 0x8756b00a9f004528L,0x20374136e9c2b2e2L,0x9e6c6a22cca54915L,
  83970. 0xc5dc6015f6629736L,0x5ef3efa8c4510c8bL,0x1fe7836cdcc2ce9aL,
  83971. 0xac80124a0b55a453L,0xe430cd86dbb7a64fL,0x0000000000000104L },
  83972. { 0x939b5896a385741dL,0xa80c7d7e3a6c90e9L,0x8df754d6e4c02621L,
  83973. 0xccc73ff172958d91L,0xa80cd923e911d8d9L,0xee0dca498c0171e8L,
  83974. 0x850d8439fecadde6L,0x37550fc24f714086L,0x00000000000000c8L } },
  83975. /* 5 << 154 */
  83976. { { 0x04b6a0e91ecb5d79L,0x76dd6ff66661a50aL,0xf781aee776b0f62bL,
  83977. 0x1c5aba38e8569d33L,0xcedc599451bab8d9L,0xb9753d145556e4f7L,
  83978. 0xe0434b07504b2dbaL,0x20ebda14290170beL,0x000000000000005dL },
  83979. { 0x2c1ede1ef77da08eL,0xcf0c0f3da5a7547cL,0xfb8f6167f81eb5baL,
  83980. 0x36854edada4a5de9L,0x006dcb13de55ea82L,0xc92040022e6d0330L,
  83981. 0x444e1300ee733ae1L,0xc75a73608f3de483L,0x00000000000000c8L } },
  83982. /* 6 << 154 */
  83983. { { 0xe09a3cf0af969a6bL,0xb92d2f90bd6ac057L,0x1b2f0a7c84d4595eL,
  83984. 0xc74ccfc4694eca28L,0x5f9cd8d4330323f5L,0xfcfcae74ef391ed4L,
  83985. 0x0081ef66bba18e42L,0xc025895aa955d164L,0x0000000000000156L },
  83986. { 0x9ea9ae8ddcd1ce6dL,0xce0eaa5f3c6ec110L,0xf8336a3517ae8ce0L,
  83987. 0x34205d8698f175a7L,0x42a29536af7c195fL,0x21b0cb3cf85cdbfcL,
  83988. 0xe6da7fa8840fe9bdL,0x766646688a894e33L,0x000000000000017cL } },
  83989. /* 7 << 154 */
  83990. { { 0x9ef8a9907b69dfd8L,0x3c01c44a3ad9d90cL,0xb576538c5e18521eL,
  83991. 0x234ca9937a342024L,0x08f6b0d84b8f02d4L,0xb2c97f96b70eb5bdL,
  83992. 0xe8747b6f235ce355L,0x04d9f7126870110bL,0x0000000000000075L },
  83993. { 0x1fe78e291de0c835L,0x7069aa9eac0c1b5dL,0x5f04cb3d2b647a13L,
  83994. 0xf3523829affc1b77L,0xebec6717bb0df520L,0x6abc248682c68f93L,
  83995. 0x2ac72f4e21541ab0L,0x82b5d659bfc23f23L,0x00000000000000daL } },
  83996. /* 8 << 154 */
  83997. { { 0x8323b86fec088bb0L,0x18eeb2d3e169bf94L,0x9eabc22555450a6bL,
  83998. 0xfd49e8fee35c62e5L,0x1a8255f86a5d661fL,0xb7ee978fff87b2b7L,
  83999. 0x6d59a24739975957L,0x8a12c7f513e61ba9L,0x00000000000001dfL },
  84000. { 0x61a3f3a2b30ea34dL,0x21fa89924be16d8dL,0xba41fc20d8613751L,
  84001. 0x10b11b88cce7e39dL,0x82a797d7f79ede48L,0x9559db4a5fdaa76aL,
  84002. 0x445442ce577e7ef6L,0x358c9be06751a909L,0x000000000000001cL } },
  84003. /* 9 << 154 */
  84004. { { 0xc5febe234897adb4L,0xdd7e212192ee8af1L,0xdf70f39b6892b4c9L,
  84005. 0xf1ea9349d4a09185L,0xd5121d35fb3ba54aL,0xe4d39b40e927a37bL,
  84006. 0x39f03f40d3517713L,0x414e0e866f12f5e3L,0x00000000000001eaL },
  84007. { 0x4c24f87b627300f2L,0x8ef8b8301a0c9008L,0x959744aa7b140d22L,
  84008. 0x7a406464bb9589caL,0xdb329b0f1bfde0ceL,0x0401dd975b24cc0eL,
  84009. 0x8aebc77378371f29L,0x02fc0c33f1febffcL,0x0000000000000028L } },
  84010. /* 10 << 154 */
  84011. { { 0x56e2294c1317d843L,0x66a415d0f34bd426L,0xd65e0abd82328d7eL,
  84012. 0x0026bcece495cbefL,0x45b42d450356eb16L,0x08f16cebd999f3c6L,
  84013. 0xa841b2bee82cc5e0L,0x9273864fb4719eefL,0x000000000000005dL },
  84014. { 0x35ca9c719f125b1bL,0x2ae57e9490d045baL,0x2ca6a02babbd691dL,
  84015. 0x1dfa73463e2e1507L,0xff9ff444b7fc8813L,0xc6cb3ba2fec77e7dL,
  84016. 0x3f9d74e5b9d39df1L,0xfc653ef49be360acL,0x00000000000001baL } },
  84017. /* 11 << 154 */
  84018. { { 0x2d1043706f4b5907L,0x279eeb552a965a41L,0x06863a068bfd9926L,
  84019. 0xb1a1567f839d5e83L,0x8f417c47d8c0490bL,0x548295eb268992d7L,
  84020. 0xf3a1978a1ef3cdefL,0x402b4001669c3be9L,0x0000000000000097L },
  84021. { 0x9a9f1ab9606891d7L,0xcbe4ac71cf1bdb11L,0xbcd93ed09ca6dbb7L,
  84022. 0xba64c0644767f5b8L,0xd64c49b1842b720dL,0x4ed8dc7f29bf4c35L,
  84023. 0xa97b185f57bb1f04L,0xfbfd4a978e62cd56L,0x000000000000017fL } },
  84024. /* 12 << 154 */
  84025. { { 0xa22790ae7d5e235dL,0x6ec954be4a9a5780L,0x26aeeddce38ffa50L,
  84026. 0xbeb75310eb3feee0L,0x44cbb50840a31067L,0x4a0ff701380e0baaL,
  84027. 0xb23528c820cfe922L,0xcff1ac948fdf6c51L,0x0000000000000158L },
  84028. { 0x80acb80001d7f58bL,0x2181a99daf2d7b4dL,0x30ff9020146506d9L,
  84029. 0xf091d3057967a5dcL,0xb37c10521cd6c51aL,0x401010b56b0db694L,
  84030. 0x1b1bc5e960fc5f73L,0x8ab0cf8eab3aac42L,0x000000000000019bL } },
  84031. /* 13 << 154 */
  84032. { { 0x58703a2ad975b4b6L,0x6167e7ae4f202eabL,0x26cb064f7c8b1d44L,
  84033. 0x1bd0c0b1552b7474L,0x1f1fa56f85b02ad6L,0x42f451f99363ab7aL,
  84034. 0x9f9888f1b7f2df41L,0xe0982ddc935b0f16L,0x00000000000000b0L },
  84035. { 0x5b3133ffbbf0e24eL,0x22cadc2c623da1daL,0xc106e88a6ba85f88L,
  84036. 0xf6e00838a71bd558L,0x6917980380b79631L,0xcc177913a4fd8cdcL,
  84037. 0x004e0ca999889eeaL,0x530683b77ea0ea1dL,0x00000000000001fcL } },
  84038. /* 14 << 154 */
  84039. { { 0x409928e4278ffc44L,0xe39bdc274353b086L,0x1323b2d040382fefL,
  84040. 0x69de9b7d28c99bacL,0x1c68f0e2bfc5d486L,0xfe49bce5094d3cb2L,
  84041. 0xd37daaf81110a3c0L,0xc9938bea2f6c58b9L,0x000000000000012cL },
  84042. { 0x39b6da445a2f1875L,0x848c2bc18302b740L,0x10b917d8cb988452L,
  84043. 0xac9b47fabbe451fbL,0xc1d6792eeba243b2L,0x2eab0db88610f760L,
  84044. 0x3810ac18e475e77fL,0x1e60d81024c55728L,0x00000000000001aeL } },
  84045. /* 15 << 154 */
  84046. { { 0xff7ded2add770286L,0xd8d3c66e845a63e9L,0xf05e27d53c535b94L,
  84047. 0x9aeb2f6723f42216L,0xc399087f1031b277L,0xa67bb1dd192acf43L,
  84048. 0xc3957a6162fb8f4eL,0xd3ac962f8f632266L,0x000000000000006bL },
  84049. { 0x078cf75e873bbcb2L,0xde95d2a9aa5d4d4aL,0x94e8064d7a48befdL,
  84050. 0x168bbfc6763f2312L,0xf48b61bc4603519fL,0x997d31e07c65d872L,
  84051. 0xc404c7b818cffe80L,0x540b8bdd75fcbc1fL,0x00000000000001c4L } },
  84052. /* 16 << 154 */
  84053. { { 0x686698e89cafe97eL,0x3f2a465db6891510L,0xa99bcd91c9aad498L,
  84054. 0x0c7ae217a47c770bL,0x95067a8b6a5e6f06L,0x0b55da4025a11429L,
  84055. 0x5372b805997cabffL,0x1e8bf414963d233fL,0x000000000000002bL },
  84056. { 0x1343ebe6ab613409L,0x7aab5a01ac96cd26L,0x243758af112c0b65L,
  84057. 0xd276e441b236cad6L,0x88a7d43f557111daL,0xc6dace8ba0f46068L,
  84058. 0x866c31efcf4a5cebL,0x6dd991b89554f30cL,0x0000000000000066L } },
  84059. /* 17 << 154 */
  84060. { { 0x4d8b375c14bc49d9L,0x93b4385f18a01862L,0xc3b0ad5ee4090d89L,
  84061. 0x2038dbc2d3248ee8L,0x84c0d4bc2c487600L,0xc5ec52743ea53b08L,
  84062. 0x92d8a64f7d099e76L,0x26a6f8d1e6d580edL,0x00000000000000ecL },
  84063. { 0x105080aa3d7beff0L,0x854ce36ec85ce751L,0x94e0df2bbbe2d753L,
  84064. 0xdd3a67f7a54ec65dL,0x21d6f4c15968bba7L,0x5951642df707706fL,
  84065. 0xc5bd9cd33158e447L,0x566eae345c290325L,0x0000000000000042L } },
  84066. /* 18 << 154 */
  84067. { { 0x0a1212fdf6bf1120L,0x1bc14a398cc5a658L,0x351552bdc1b52efcL,
  84068. 0x0d19749245d55560L,0x425372c97793c57fL,0xf0c48415f5838d74L,
  84069. 0x4153e1917c64e071L,0xc43828e2373272eaL,0x00000000000001e7L },
  84070. { 0xba8932ba91dc2c19L,0xa5756a08a5163390L,0xf64a62cb65738648L,
  84071. 0x66c5c1a874a8bf79L,0x355f420f98ce1d80L,0x2de834b1f30008bbL,
  84072. 0x580f0664950681b0L,0x8630c1290033866aL,0x00000000000001deL } },
  84073. /* 19 << 154 */
  84074. { { 0xe77f6cc4e46e0754L,0x77af9150a883763fL,0xc5aad5130393ef51L,
  84075. 0x62ccd275526f9855L,0x83df1ac8abadaba5L,0xf6caa723741443caL,
  84076. 0xf43bbef6876c8f4bL,0x8c6e39220425ccd7L,0x00000000000001a6L },
  84077. { 0xc5cf64d1ac4879ccL,0x1b761a83ae4857efL,0x480792c183901056L,
  84078. 0xef90c8b6047b0328L,0xb86c8a422c523b1cL,0x6aa932a8a31dd46eL,
  84079. 0x64259ea3d3dea6ceL,0x092ba1c68d41d4d8L,0x00000000000000faL } },
  84080. /* 20 << 154 */
  84081. { { 0xb7c90bf85b923896L,0x42f96bafd3f08076L,0xddbd3b0b0bd90a84L,
  84082. 0x8adbbb43e00a7e7bL,0xd3205108b2059c91L,0xccb379b76223fd65L,
  84083. 0x2c1eb7e2a6f8571eL,0x13f3bc56d80ebb13L,0x0000000000000092L },
  84084. { 0x5e23bc738d30df11L,0xaab73a1f4aabdcd3L,0x4cd660823e764e18L,
  84085. 0x942328161d0c98c4L,0xd8b64c225b5048f0L,0xaf741f8ad2a17f6fL,
  84086. 0xc1540070cdb03f14L,0xa16e5e67a2476ee5L,0x00000000000000a7L } },
  84087. /* 21 << 154 */
  84088. { { 0x94c155b1feb3c7cfL,0x703b56a4cc26b74bL,0x7291810d1f436b9fL,
  84089. 0xe3ef9b82d28ad0adL,0xc6941fe32504f06bL,0x370e5a2eadb26060L,
  84090. 0x4328a40ec8e317ddL,0xc67fd42b0bfa2d08L,0x000000000000012dL },
  84091. { 0xb93e8547eb854e1aL,0xdadcb35a2b4d3b66L,0x1de5ea2d8ff90fd7L,
  84092. 0xcb5d75a2d722dc7fL,0x5c4192d10e3ec171L,0x2ba11f14ce7ed871L,
  84093. 0xc43e303f9840ca81L,0x34cd4fabb1da84e6L,0x00000000000001bdL } },
  84094. /* 22 << 154 */
  84095. { { 0x90e3c53ef55acde5L,0x910bc008184aa9b0L,0xa62f771bb71d8054L,
  84096. 0x4f6e1a5480ff577fL,0xdaee302fe079e754L,0xeba6f1187bcd7837L,
  84097. 0xec13761caa06a669L,0xd39dd3f3f5ea95fdL,0x00000000000001c9L },
  84098. { 0x049ae3a64b42938aL,0x8263e429b24a6867L,0xfb618fee9e9b8374L,
  84099. 0x77cd9ba6a9571903L,0x6c5a592dcd0c2186L,0x7539392cf94608faL,
  84100. 0xdb4b672140df175aL,0x7b74240b2438f55eL,0x000000000000009dL } },
  84101. /* 23 << 154 */
  84102. { { 0x7daf2c363805dd53L,0xedea2d49323f28d9L,0x6f8dce4163a8e4e3L,
  84103. 0xe5d47bb559423e7dL,0xdd4329e18b816db6L,0xcb6f85f22cffb9a4L,
  84104. 0x5b0ddadbae45f979L,0x6a78983747aea678L,0x0000000000000082L },
  84105. { 0x275090b481bcd3e9L,0xfade474e249fdc18L,0x2ab90ae1bdfb4666L,
  84106. 0xbfa10e3514787825L,0x8e5ed81ce23c2f2bL,0xacf48e50825ca78fL,
  84107. 0x46b832f9ef7e9e7aL,0xf3d4d7e9278268fcL,0x0000000000000162L } },
  84108. /* 24 << 154 */
  84109. { { 0xece31ecffe1d1b82L,0x368c5ac029036cfdL,0x217420afa13ff567L,
  84110. 0x1b29e5f077776b5bL,0xdd1a5dda98f42d23L,0xba05233bb6c34257L,
  84111. 0xaea7d3bd2d56e9b5L,0x3d5777e784e7205cL,0x00000000000001c4L },
  84112. { 0xf4dd56b5e7c6eb47L,0xc479b9d64a1b9d04L,0xfa1d38a48117a210L,
  84113. 0xdc603246dfb5a934L,0x9e8156abda0675ecL,0x6937ccce0ef78eabL,
  84114. 0x72dd487ad2e5cc67L,0xb735f780d372a668L,0x0000000000000049L } },
  84115. /* 25 << 154 */
  84116. { { 0xff5df7dd9f3f2988L,0xa20bc35e1be8119dL,0x244ccc83e9801d10L,
  84117. 0x5ab8e9f3c620ba2eL,0x7a1cb9e05237f9aaL,0x0e50887f61d0d851L,
  84118. 0x95f1d7727e0353c5L,0xfe7dedca9253110bL,0x00000000000001ebL },
  84119. { 0xa2337f586a64b9c2L,0xb9e4cb8e44e70c68L,0x0812cb6c5ecd48d8L,
  84120. 0xd9cf0c0e6d048efdL,0x5fc207222d2d3b1dL,0x3efd117c6b03a35fL,
  84121. 0xa42ea8a8cef040c3L,0x80c4e52b3199fa1bL,0x00000000000001c7L } },
  84122. /* 26 << 154 */
  84123. { { 0xfd5782606e9f3949L,0x94e36ca087ee9707L,0x919b401eb1a117e4L,
  84124. 0x2418b5ce109738b5L,0x0185bb8483a54440L,0x1d22a848d6945f4eL,
  84125. 0x17c275c3624fd9caL,0x81862ee627b15448L,0x0000000000000108L },
  84126. { 0x57cc2c959184dc02L,0xb31ae7d544011d47L,0xe076ac2d417b7eb1L,
  84127. 0xa5b2ac1baa4495ebL,0x14ca78cad984cb5fL,0x59005112daa7bbc6L,
  84128. 0xf45dc10071d06591L,0x681ef23be278b5c0L,0x00000000000001e3L } },
  84129. /* 27 << 154 */
  84130. { { 0x8f8240265a0a487dL,0xdbd1d7c23e8d3e90L,0x1a69874bd3c62608L,
  84131. 0x435c7884c6cb4268L,0x85b31d00655218b6L,0xcacf7eb498a67fc2L,
  84132. 0xd20215ddf7a56bd5L,0xc6950c8be60ce8e3L,0x00000000000001e7L },
  84133. { 0x1cba47452e984f46L,0xca242d3a2a298b6bL,0xa1d3653a98c71337L,
  84134. 0x5bc149263ad4bafbL,0x09f200a204dfe1ddL,0x78e00b4714fa42e9L,
  84135. 0x1f80dbadfc2c69b2L,0xfd84c0ea9cd01382L,0x0000000000000098L } },
  84136. /* 28 << 154 */
  84137. { { 0xc3b2adb729fffdeeL,0x154f4d7951fb8606L,0x56e497fe9d7f4b0cL,
  84138. 0xe5e69faa0df7fd94L,0x1891fe5d114fa3caL,0x4162f0e9045c3286L,
  84139. 0x98de02c4780253d6L,0x703080027947b60fL,0x000000000000019cL },
  84140. { 0xe77f7b12a9510bd2L,0xc663fbe72d32a857L,0x6538a301b9274d4fL,
  84141. 0xb2c191d0bb01302dL,0x567474f26366bbf5L,0x8446925cae1e52e9L,
  84142. 0x3ee00ea9209b55e8L,0x3d76982d2419e4bcL,0x0000000000000091L } },
  84143. /* 29 << 154 */
  84144. { { 0x6ce35fdc36bf03a9L,0x2cca3e4b19fd800dL,0x1c42c2ebeb7c3707L,
  84145. 0x345e0391fc298d33L,0x6f552d1aefea0fd9L,0xc22eadb8e73d461fL,
  84146. 0xe49110b96d4435f7L,0xf7a2fb8a81759c25L,0x00000000000001f6L },
  84147. { 0xc09df3a632d5a1d8L,0x423fb07a53b9696dL,0x9a5942112802e680L,
  84148. 0x59e615a3e5d1b962L,0xf418291d6976a9d9L,0x93addf8326ee6369L,
  84149. 0x376c918a7446e0d4L,0x73ff26b4530f3c52L,0x0000000000000179L } },
  84150. /* 30 << 154 */
  84151. { { 0x271550ac40465c23L,0x7a499e8dee0dd714L,0x6feba0dc2394b340L,
  84152. 0x666de55a6e293ce6L,0x3dcefd6d17e817f4L,0x337e774f93eedd97L,
  84153. 0xc9c103f37a86610eL,0x97ae91cfc0eb2c8bL,0x00000000000000d3L },
  84154. { 0xa7dfe71a65981a9aL,0x3d63534234407037L,0x05739745cfe533bcL,
  84155. 0xf5188158a1bfb967L,0x2d76a9c44e4702c5L,0x7e11dbe04bc7cf4dL,
  84156. 0xd6a6cac11e0faed1L,0x04ceafa1c20c5723L,0x000000000000006fL } },
  84157. /* 31 << 154 */
  84158. { { 0xad5aac564ea2ba2bL,0xad0a5b610b4933f3L,0x5aa51da928d19d01L,
  84159. 0x15a74ffe94ed89f4L,0xd23335608a870eb2L,0xc94daf2ed5e5a24eL,
  84160. 0xd98f616d567659edL,0x08f6a62c6c8eddd7L,0x00000000000001b1L },
  84161. { 0xab4fe43bf3295b7bL,0x5562384426f75385L,0xe9d70df0097f11c9L,
  84162. 0x7cf18143e23c34a2L,0x2a7b24fa136938d0L,0x74154841e678eea9L,
  84163. 0x0ec99b1920202480L,0x4d1aea7252e4b7d0L,0x000000000000005aL } },
  84164. /* 32 << 154 */
  84165. { { 0x08136cbf025189d4L,0xa1c389cbc1b25a05L,0xbecdade76e9ed11dL,
  84166. 0x6557006ba7f3f38aL,0x96d6c877bc852dbdL,0x3a0afe4bc53efd4fL,
  84167. 0xc7f58410febe4737L,0x86deba3b84e35e2fL,0x000000000000015bL },
  84168. { 0x96256db24dfa7da8L,0x379735573dccf202L,0x2e0b263e8fcc1274L,
  84169. 0x14870fe89ee7b82eL,0xcb8f9ba5425ca276L,0x683c748e7d876e79L,
  84170. 0x48e990d5de2f2cfeL,0x2ecc8f1f48547013L,0x000000000000018fL } },
  84171. /* 33 << 154 */
  84172. { { 0x5b7d4e5300df51d2L,0xd82ba908518c2d9bL,0x95121a5d8447eb0bL,
  84173. 0xc25d07a662755277L,0x51cbe7f5c19c32ceL,0xd038800e4c726273L,
  84174. 0x1e1b0e9125fbcfcfL,0x5cb2408eb5e8a4eeL,0x0000000000000122L },
  84175. { 0x940da58ede254894L,0x6fe04e02f5d5b5bbL,0xbe069bad692f537aL,
  84176. 0x6d24c50013873687L,0xd1cd8bd1089ad9bdL,0x07929deff8eff657L,
  84177. 0x8d4d97bab426304eL,0xefe85addf45dc5d2L,0x0000000000000014L } },
  84178. /* 34 << 154 */
  84179. { { 0xa5fc916ec715b5a2L,0x7e6dcd80c069c5c9L,0x94dc1dd10085e7b3L,
  84180. 0x81041f123e71623cL,0x29f931fd28807fafL,0xaa5f757aaa8003e0L,
  84181. 0x0f9865bb318fe406L,0x2f18ba42cbeb37eaL,0x00000000000001bfL },
  84182. { 0x8e9acc7259cb1f04L,0x3b9c7ff8d790d71aL,0x081ec7dcecbc1c2aL,
  84183. 0x2ee6eb196e63fe41L,0x95815ea0f4ad6fa0L,0x8bd5c1ad79cf7f1dL,
  84184. 0x3d73c9c85ae89337L,0x2eaa40409b1286a1L,0x00000000000001f3L } },
  84185. /* 35 << 154 */
  84186. { { 0xec9fa757fbefa7e8L,0xb41dfd88382bb7b7L,0xf9cd0f6314c0b89fL,
  84187. 0x94a8c09b56c7b584L,0x251fde74a9d131acL,0xfe3e706d8a47f3e6L,
  84188. 0xa2cc25d799bfb317L,0xb9cb1e4114c7fe92L,0x000000000000001dL },
  84189. { 0x9daf45e2768f397bL,0x1903422a83975ab8L,0x0e42b292a61b4715L,
  84190. 0x947c78bb1a1323d8L,0xbe36ec019d1699c0L,0x9ac1807792e2ce89L,
  84191. 0x8dccf873b118c12dL,0x879c7a2187638db3L,0x00000000000000bcL } },
  84192. /* 36 << 154 */
  84193. { { 0x15dba0d81dbeec0aL,0x6a1671e23145554fL,0x6f59000813588c31L,
  84194. 0x404b6424783bb97dL,0x30502b92cc7922feL,0xa1bd25ce1517a238L,
  84195. 0xeb81e9dd5fbc51a5L,0xea919df3bdc3b1f2L,0x000000000000009dL },
  84196. { 0x70802002a4aa5953L,0xb908e35d23fbdf34L,0xb47ddc1ad971a142L,
  84197. 0xe4f88a184c6ebd7dL,0xb2f7177f3065ed39L,0xd7b8cc98162b61aaL,
  84198. 0x8472dbd5774c6ad4L,0x8d1dfea98f87d2d0L,0x000000000000018aL } },
  84199. /* 37 << 154 */
  84200. { { 0x5caf9816316399caL,0x29ecd26efcaa7fe5L,0x07f4e09b03d18979L,
  84201. 0x00e88b2581b43697L,0xb04d6d03bd0408bfL,0xd3e4a0d3cf0b6793L,
  84202. 0xd98262dbce0e8490L,0x3ed76b1601bed96eL,0x000000000000015aL },
  84203. { 0xcbfff64a7d070eadL,0xfd8db6ed1776da0eL,0xca03a6a2b1279cecL,
  84204. 0x16f6ec788b989efdL,0x17f581a70dabb5e0L,0x975c57adf8b5a413L,
  84205. 0x34bd7827ed1e3568L,0x7460f3374292fb3fL,0x0000000000000193L } },
  84206. /* 38 << 154 */
  84207. { { 0x754f1e7fd6633590L,0xb281de767862f091L,0x9135b836c3494e22L,
  84208. 0x4cb7a1bd84da9104L,0x20bf9b88ed7088a0L,0xf7e2c4378ced80b5L,
  84209. 0xfafdaef6038f3ae6L,0xd948d168e786659fL,0x00000000000000ddL },
  84210. { 0xc84110b66115d5e3L,0xf7cb7190a7d744e1L,0x2542a0d478a699f4L,
  84211. 0xf0ae20cd574dd390L,0x4ce38ec5f120b181L,0x3763208a49ac50eaL,
  84212. 0x24a93ddd6df7ab1eL,0xd9ae90ec2e3c1f8aL,0x000000000000018fL } },
  84213. /* 39 << 154 */
  84214. { { 0xc6069b8567f9df8fL,0xf9f56d614436dfacL,0xa3926590bf7359e6L,
  84215. 0xd22bc2568d84397aL,0xdbf0455ce61706d0L,0xd01ed734b7bd8dafL,
  84216. 0x6dd4ffa085c07accL,0x474802574f3c459fL,0x0000000000000198L },
  84217. { 0x5cc9670110bf26f0L,0xe4166acc4f70a85aL,0x73219eb9cb8f0809L,
  84218. 0xd9798096679a93cdL,0x6737a07257df9ffcL,0x1c897e3a1e65b481L,
  84219. 0x87fb6a8b73063acbL,0x28140113b7aded18L,0x000000000000017fL } },
  84220. /* 40 << 154 */
  84221. { { 0xadcd31054115d224L,0x1fdacdebb7fed1f1L,0x878fcb459e5a2448L,
  84222. 0xc3910eabf7e8596aL,0x5fca4f0e37f267f6L,0xd10d0aa06e9fb79fL,
  84223. 0x589f94624b12a182L,0x2864c5acfb879db8L,0x00000000000001faL },
  84224. { 0x6c024c2c07e34963L,0x49581cb82de2a43dL,0x4cdcc98e29c06b7fL,
  84225. 0x338a9c59b976f565L,0x38540bc223c8ff24L,0x53f3c9b98bc61d4aL,
  84226. 0x3eaa8166e3913cd4L,0x4620fe57455e4018L,0x00000000000000b9L } },
  84227. /* 41 << 154 */
  84228. { { 0x3d88a754db29e8a3L,0x7bb8f52c14527b19L,0x2d3bb7d2dbd788d1L,
  84229. 0x49dc14bd036cfe26L,0x99471968e3c4e712L,0x0ac8222f664d6f40L,
  84230. 0xd76f5194480b3215L,0xc9359ce9711701abL,0x00000000000001e9L },
  84231. { 0x159c8f1b440f4fe5L,0x56a3531e0b66c225L,0x132eab73408ea71fL,
  84232. 0x7ca9883f8ce9f301L,0xa709285bc3646318L,0x7d27e063cbe3e36dL,
  84233. 0x751cfaef4d8cd738L,0x0efabf55a2b6ffd2L,0x000000000000013cL } },
  84234. /* 42 << 154 */
  84235. { { 0x7a9706beff928d4eL,0xbb8726a8faba89c6L,0x39fe9f9bcfa998b9L,
  84236. 0xd62320f745c97a8dL,0x9742ef6f536968ebL,0x2cd382d2901e7715L,
  84237. 0x1439fc59a576e87dL,0xfa71d3e06310658eL,0x00000000000000c7L },
  84238. { 0x9b0cf9a2d3308f7dL,0x8c7587624856e971L,0x58b4f4da34174e29L,
  84239. 0xa8406c3fda8aadc3L,0xc13d8977c487e6bdL,0x45e5cd3baf56ece9L,
  84240. 0x243c3a5ffe52108fL,0x52d1472fea829c13L,0x00000000000001dcL } },
  84241. /* 43 << 154 */
  84242. { { 0x8bb77dc36083c21cL,0x77acd9f15ed5b28cL,0x45d3bd9415b1ecbeL,
  84243. 0x3801687abc78b16aL,0x65a8b24dc6a5dc14L,0x5c1f39f925ba9696L,
  84244. 0x094d5000498bf2fdL,0x5dc5f51d8d58cbc4L,0x00000000000000a4L },
  84245. { 0x260fd308925ee9eeL,0x19449853450ade34L,0x8950cacc6228bb71L,
  84246. 0x04853a651585b4e1L,0x10cca9b124de0ad4L,0xde491b7b3294f352L,
  84247. 0x56f35ecb05bf7690L,0x1a71fd8811eab2d9L,0x0000000000000123L } },
  84248. /* 44 << 154 */
  84249. { { 0x22d05a079995b39fL,0x95d85f0e97572e8bL,0xcd0262424cb31201L,
  84250. 0x15c10195a9661cffL,0x7366e9943d4d42b5L,0x3d89205fd08b2304L,
  84251. 0x4f08bfe1c72f3319L,0xf2bb6fef51da0362L,0x000000000000000cL },
  84252. { 0x61689ed6daa8789cL,0x1342f413c80ebe32L,0x10e3c8bc6cf15c5dL,
  84253. 0xb59a6f209e380e00L,0x6faf882b16a0a01aL,0x5b43ff2c96deb592L,
  84254. 0x61ffa81c22cda20aL,0x825e5e4545d1497cL,0x0000000000000070L } },
  84255. /* 45 << 154 */
  84256. { { 0xf3a2aa2ef62a271dL,0x608d878cdf46740aL,0x2ebfec653fb8ed79L,
  84257. 0x085d812e2eb1d516L,0x739c07e661ebd520L,0x085705a0bd9b19a6L,
  84258. 0x6589012abf32e3aeL,0x87354918e8e0d4a7L,0x00000000000000f6L },
  84259. { 0x2ae316a69560d282L,0xff6571977fb5311aL,0x2e317d5bfd7b740eL,
  84260. 0x392cd22956bb7d02L,0x9a84fd4ad462ed84L,0x381b59c019b2f83eL,
  84261. 0x230a68ca47a6c3e2L,0xc9372bc4660fbed8L,0x00000000000001faL } },
  84262. /* 46 << 154 */
  84263. { { 0x610b5c299b82e4dbL,0xd237f09a0bdec03fL,0x8509f5a57eab51f4L,
  84264. 0x418b77d8c604baebL,0x02830b0ff0b4e07fL,0x4af187f4a4d4df6fL,
  84265. 0x00483aa9e0bb134bL,0x9b0b6e7722357f23L,0x0000000000000120L },
  84266. { 0xcb09d589a259bfb1L,0xa708770853774d43L,0xbab0b5d04504b5d6L,
  84267. 0xc128fefd23ae1fc3L,0x84a99019f0cf68fbL,0x3bbf2bd5b1656aaeL,
  84268. 0x36294624eda54a94L,0x0c6df507d4e9b03dL,0x0000000000000068L } },
  84269. /* 47 << 154 */
  84270. { { 0xb3210cb2d8b230d3L,0x1e173d0445f2b4dfL,0x777f7e921e51c3c1L,
  84271. 0x1f09c83dca2d24a9L,0x18f6110d7b0ed41bL,0xfc47b77f1741f679L,
  84272. 0xed0c01d530bbb573L,0x79d732666b1edf8dL,0x00000000000000ccL },
  84273. { 0xd80eca007d182a43L,0x8d7a50665674063cL,0x6f3a06ba012fb6faL,
  84274. 0xe06f683a10c1f5c8L,0x305692702fb5cb0bL,0x009de930236d12d8L,
  84275. 0x1b3bc0356438e8fbL,0xb4c91501af74c6d3L,0x000000000000003bL } },
  84276. /* 48 << 154 */
  84277. { { 0x0724e185fe85076bL,0xbda15c151e532717L,0x6005728065e7c149L,
  84278. 0x1a0cafe8158e6817L,0xee796ad900baa1ddL,0x8ff14a074d3ca73aL,
  84279. 0xf153c867a3604f8bL,0xe07458b5c4ca1be8L,0x00000000000001c5L },
  84280. { 0xb8c4f3ad8f7dc861L,0x98ff4d7f6c38d10dL,0xda77b9018c10e7a5L,
  84281. 0x448fbc787d69625bL,0x91ff7124ed5dcb7bL,0xaf0fb28be310d65cL,
  84282. 0xacf3cfc0c388141aL,0x2d3d003454bbb99cL,0x0000000000000097L } },
  84283. /* 49 << 154 */
  84284. { { 0x81bffa6ca966e8acL,0x048dfaa314845f1dL,0xb38f181e803a2355L,
  84285. 0x0f854fe03a91ad7aL,0xb523f3665ce6a9d7L,0xf40cf03a828f212dL,
  84286. 0x128550efe3b4d93eL,0x16cb5eee53d13993L,0x000000000000011eL },
  84287. { 0xde85cde7c9e55138L,0xedc613495183130aL,0xaa4bac70d709a5b4L,
  84288. 0x0e69e8bd50ab30c0L,0xef2c35b69738eaddL,0x486ac544ed00f833L,
  84289. 0xbeaf94aad4708e9cL,0x1be9775c9a0bfb65L,0x0000000000000111L } },
  84290. /* 50 << 154 */
  84291. { { 0x111041700f944affL,0xe0fb9dfafadc4f56L,0x86a7245c1411b66cL,
  84292. 0x25afc20163eb7a89L,0x3400be4c6404ec18L,0x62d34a7e53c67d6cL,
  84293. 0x4feaee310655849bL,0xd0343df08ad7770cL,0x000000000000000cL },
  84294. { 0x1a2a4a20c81c959eL,0x9386848e8c2194e7L,0xce7c378aca4024edL,
  84295. 0xd336fb923710a3aaL,0xfea376078da68818L,0x885e98fda10bd29aL,
  84296. 0x7fc72000f5d55becL,0x5f1d796a7f14dad7L,0x00000000000001c4L } },
  84297. /* 51 << 154 */
  84298. { { 0x808147c7c32eac97L,0xb959c61d91e84536L,0x9ce837b46b7f230bL,
  84299. 0x62b7aebfa19a78cfL,0xfdbf0af641120b6dL,0x30b5525b18a1bdd4L,
  84300. 0xfe54bd619fc0f391L,0x0f19f880e152702aL,0x000000000000000aL },
  84301. { 0xfea6fa9a19cd0ff3L,0x4f3c3272b86342a0L,0xcb3db4f982cd5ce9L,
  84302. 0x626a3ebd70dd4903L,0x3103519773bd843fL,0xddcb8135885ec254L,
  84303. 0x19e39cdd277200ffL,0xace2b791def0d1b4L,0x0000000000000098L } },
  84304. /* 52 << 154 */
  84305. { { 0x9429698b23371e14L,0xd9d9270c3fdb1b92L,0xa4a76289dd4ba2a1L,
  84306. 0xd9dd43d69ad4dc60L,0xba76236063dc6801L,0x210be4e3b8a45231L,
  84307. 0xaaa24379f764e727L,0x7b1a75a82b1fed01L,0x000000000000006dL },
  84308. { 0x89e40d215f621487L,0x70c38498a2f303d5L,0xa88ce1890faffebdL,
  84309. 0x0cc0eae6735ebceeL,0x2b755a3d8518c06bL,0xf3cd31dc62f92c33L,
  84310. 0x6f7fe733c7562c48L,0x749f7a1c83b00376L,0x00000000000001e2L } },
  84311. /* 53 << 154 */
  84312. { { 0x2f1ce070f5ce45c0L,0x15740dd943485e36L,0x2d64f265dda2a33fL,
  84313. 0x121759ed77b450e6L,0x4948df7e9b3e74e3L,0xcbe885b4fcd25d35L,
  84314. 0xafbf90f2e3436d1aL,0x5e26435a3deb2819L,0x000000000000016aL },
  84315. { 0xbcaae7b82a463668L,0x57186a775ac86d9eL,0xc0d15d503d5f4223L,
  84316. 0x4a2f6842c4fcf264L,0x79991f8c301187fdL,0xc699b4b77352976fL,
  84317. 0x51c47ee14838204eL,0x716e444dc03bb06cL,0x0000000000000151L } },
  84318. /* 54 << 154 */
  84319. { { 0x8d3fcb66a7684cb1L,0xa4bb8ee051970634L,0x29ea9efdb52f9d9eL,
  84320. 0x63fef7659018974fL,0xe31f478fb752b634L,0xdcc67b7730b8f98fL,
  84321. 0xafff9899b4b62d24L,0x7d4a60ee4efb0c00L,0x000000000000005dL },
  84322. { 0x17d0f2ffa2bb6822L,0x3d74b52ab3b2e1d7L,0xf7e7150d5ba4a476L,
  84323. 0x712e26f18771c73eL,0x22f9054ff322f80dL,0x9863136b3c085bcfL,
  84324. 0x317a39fcc7e4dc86L,0x96a83008be7f0929L,0x0000000000000092L } },
  84325. /* 55 << 154 */
  84326. { { 0xe0908d5214cb295cL,0xf74df339f363ef28L,0x56eab1abdba8fa26L,
  84327. 0x33f43f008ecabae3L,0x5d1acbf12425e382L,0x480bf576ee67518fL,
  84328. 0xd6644dd469d388d3L,0xb3c512501e64d1a1L,0x0000000000000069L },
  84329. { 0xcb3010b42e3bfab8L,0xdb788efcba2e0da3L,0x4bd5ad9cf9d0d7c4L,
  84330. 0xd363a5471214e14eL,0x108980023a09dbd2L,0xb0745bedf03a2af2L,
  84331. 0x5d56b6aefacfc072L,0x37ac6ad4e2873b41L,0x00000000000000b1L } },
  84332. /* 56 << 154 */
  84333. { { 0xcf04e87527a5499fL,0xea912dfb28f3fc97L,0x4a9e4e41d59efb52L,
  84334. 0x9ccb0b83f8f373c7L,0x684d2d75ba1b61ecL,0x15449a0254d58701L,
  84335. 0xee02c9456a4e86aeL,0x5887a0882069e1dcL,0x000000000000006aL },
  84336. { 0xcf7bfc8c922649ceL,0xb4fff12e522a5024L,0x262bf90df6d0066eL,
  84337. 0x97ae80928e0b0afeL,0x7191c6fe18507cbcL,0x54e973e1b2ae3ee2L,
  84338. 0x41b734bc7bea70ecL,0x38975ba3b3f6b89bL,0x0000000000000138L } },
  84339. /* 57 << 154 */
  84340. { { 0x0cc156bd6c72b806L,0xa9d9c17b0dd25daeL,0x3b6c0857b6738119L,
  84341. 0xb95b735d3476c04bL,0x737d1ec2dc86969eL,0xb36e0bc8c1cb47bcL,
  84342. 0x83f15727ea463cd7L,0xd7484fb02e58dce3L,0x0000000000000060L },
  84343. { 0x85416de81bc14766L,0xae6a0b47fadb3be2L,0x496b92ab303d0900L,
  84344. 0x3fa4d158292db573L,0xf501ec245e3fb9faL,0xa317ae11bf021888L,
  84345. 0xfef0d5ec2271c572L,0x7e69594e90d2ebafL,0x0000000000000162L } },
  84346. /* 58 << 154 */
  84347. { { 0x19f57f08b5d2523cL,0x197abf7ece1690c1L,0x9fdf174c768a6dafL,
  84348. 0xb1a50c4b7f45acc9L,0xcac4790de77ff44cL,0xc4985159642f4c0bL,
  84349. 0xdfc5151faf23c14cL,0x61f453cb9b5fb8d8L,0x00000000000000abL },
  84350. { 0x61f3c9ea1432808eL,0x4c3b91d68da6cd90L,0xa97b9dd60b47817dL,
  84351. 0xe51ba786ae34dcaaL,0x6e1ab1b12bfe1245L,0xcf8435b9aa609192L,
  84352. 0xdf7a582cf97cfe54L,0xf9871f1f80fca392L,0x000000000000014dL } },
  84353. /* 59 << 154 */
  84354. { { 0xbd5fce303e85ba4cL,0x12152109b1d4ff28L,0xa94551982256991dL,
  84355. 0xe54b2276191dc793L,0x7aba8d3c1232ad0dL,0x95b7d7023e493e3fL,
  84356. 0x90c17102574f412aL,0xab5d8dabf1245c79L,0x0000000000000119L },
  84357. { 0xd64211426352b215L,0xbea2f2d73ca86b5eL,0x4c3b97bbedf46484L,
  84358. 0x1bd94ff68332db35L,0xb8729f9a7dcd9899L,0x461df4172e1c9299L,
  84359. 0xbfbcdb18295c8819L,0x1613563c551a6832L,0x000000000000017fL } },
  84360. /* 60 << 154 */
  84361. { { 0x704d466059d5d8e0L,0xa4a222b252d7ca1eL,0xa45b5ce29c26a86eL,
  84362. 0xc9668e73dfb9fb62L,0x13efde0ad58183ffL,0xdc752a59850dedb0L,
  84363. 0x0314cbc5ebf8c27dL,0x279680f3d1ab5f41L,0x0000000000000118L },
  84364. { 0x3b8a1d583184e940L,0x8cc52f17cd1fa6c1L,0x5118b9093f701026L,
  84365. 0xe04d31daac34a4afL,0xf3a66f73282febacL,0x05018340e8d029f8L,
  84366. 0x1a8bd0002058c971L,0x61198c7e7e962723L,0x00000000000000d9L } },
  84367. /* 61 << 154 */
  84368. { { 0xa86cc3e807f97c2bL,0x8c9e8034112ae91dL,0x1cfc242420bcc2f3L,
  84369. 0xbb04d40865dcf7adL,0x8b7bd0b5e4652017L,0x080b6a0df49cec36L,
  84370. 0x94d0ab4360e82729L,0x97ec8ea8a301c00dL,0x0000000000000012L },
  84371. { 0x9eda2fd27ed16beeL,0xbfef5c8acc95961fL,0x877ec19bae691773L,
  84372. 0x2aad9eff76522fecL,0x4daeb48170b656f0L,0xc4fb1cd626197e6fL,
  84373. 0xd8bab20ec0e741b5L,0x4b5d6d8e16332fd1L,0x0000000000000044L } },
  84374. /* 62 << 154 */
  84375. { { 0x67d03c6a85f8f5b5L,0xdcb9caba90e96ceaL,0xd23feeb7f3811dc4L,
  84376. 0x8c54b7237276f1b4L,0xd09156767d4bc3c9L,0xf48a98c87a1d17a8L,
  84377. 0xbe959d5b76b265b7L,0x6fe4777d4abdcaa0L,0x00000000000001f5L },
  84378. { 0x2807c04517c8deaeL,0xd1bbf745674d701eL,0xa8e5a7bf272c6e74L,
  84379. 0x1901e0947c7c55cdL,0x2e1316c029711934L,0x05f68290f804ee8dL,
  84380. 0xd3a3cb0a7511e346L,0xd3a640c3c5565874L,0x000000000000000dL } },
  84381. /* 63 << 154 */
  84382. { { 0x088fccf4ea02385fL,0xdec0885d3c2e714bL,0x02d6b86fad82e553L,
  84383. 0x8712c2bf6c241bbcL,0xf59427d81f33a407L,0x172dd5359fa5bde4L,
  84384. 0x019b1451380694e5L,0x55b2c33bf9c76789L,0x0000000000000135L },
  84385. { 0xf73d19986397fbd3L,0xfb91732482721b52L,0xd42957f6aee6a644L,
  84386. 0x9d7857f260cbb57cL,0x6dc17afa5df4783aL,0x875dc5e0e0382dd0L,
  84387. 0x458c445b02d1298bL,0x8a1562fb5183e144L,0x00000000000000adL } },
  84388. /* 64 << 154 */
  84389. { { 0x11446efe378cab85L,0x4c3c68cfbc48bf6dL,0x5e51466164c19bafL,
  84390. 0xc0f00735d5cbb135L,0x5d4844a7a693b1a9L,0x517a48719579fdafL,
  84391. 0x5ead064b532c1e6eL,0x60207c2d4135ecb1L,0x0000000000000172L },
  84392. { 0x4b033a37843dc902L,0xb2d3664cc27a9863L,0xf4ebdc3518280e54L,
  84393. 0xac7789a6ae02b757L,0x50084ba410dd96f8L,0xcc3459371f5f6349L,
  84394. 0x5f65aca8fdee6f84L,0x4aac5f5902d841cfL,0x00000000000001b9L } },
  84395. /* 0 << 161 */
  84396. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  84397. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  84398. /* 1 << 161 */
  84399. { { 0x7c44096f532856caL,0xf054ac944d701f46L,0x1bf992e78de81577L,
  84400. 0x871d2df2a90a4d2eL,0x963357a5775cabe3L,0x2e92d83dbae3ac5dL,
  84401. 0xc39e645c415be4dbL,0xbcca60e29781b22fL,0x00000000000001c9L },
  84402. { 0x638cf76cfc5374edL,0xffbfbc7a24278420L,0xde577d69e7668bc6L,
  84403. 0x88444fdebab7b568L,0x4cb8237b59d220a6L,0x02186c1c25b582ebL,
  84404. 0xe4a04cb19b639f32L,0xd12b0e644590e20dL,0x00000000000000abL } },
  84405. /* 2 << 161 */
  84406. { { 0xdd0f09b1bb55f47eL,0xfacbdef0be55c9d6L,0x8b8b1a9cbb62c5eeL,
  84407. 0x617ff446eb8f0bbdL,0x24176f925c1efe94L,0xf27ae452962f4019L,
  84408. 0x3b812a15220fc04dL,0xb17b1b9bcc92239dL,0x000000000000005cL },
  84409. { 0x9200f2e48a465257L,0xc8ca2a1cfbb69960L,0x5410ef875a8ff2aaL,
  84410. 0x87bc97b0e11b6896L,0x1d3a496952263f49L,0x2ed88b0bcca15d27L,
  84411. 0x90ab34c1765c9300L,0x719d9bc7d2630404L,0x0000000000000010L } },
  84412. /* 3 << 161 */
  84413. { { 0x6366cc838d9e9c1eL,0x6da8b24c7cf6ea2bL,0xcf34ac0834a0c6ddL,
  84414. 0x957954dde3a1bea6L,0x2ea0ef68f4060336L,0xe61893a5a84fdf5dL,
  84415. 0x03cacab47bf522c5L,0x823249dd0dbf1790L,0x0000000000000145L },
  84416. { 0x2ea0344dab3e90d0L,0x5c70cc712bcccc9cL,0x5eec27550063e840L,
  84417. 0x3983cb1bbe50d3a5L,0x462b3dc27b09ff44L,0xf779391edd6b34bbL,
  84418. 0x6c00d9b8bbf36f70L,0x9e0eb0d1f82ee371L,0x0000000000000080L } },
  84419. /* 4 << 161 */
  84420. { { 0x41b4d05bd15e752dL,0xce20b1f846e78fafL,0xb529cc0108d808b5L,
  84421. 0xd934f10f2210cf60L,0x9f2e7e1be41eca93L,0xc09da7a94d82d15dL,
  84422. 0x45a84216a1ed7860L,0x9f6fa43de6be684eL,0x0000000000000109L },
  84423. { 0x592bd464ecf53a79L,0x9dac1bb8349754edL,0x79bbe62284339a7dL,
  84424. 0x29c3d4aaf9f4fa5aL,0x4788cda816dc4698L,0xf94ea4495c3060efL,
  84425. 0xc5f4191dcb3c2b37L,0xeb720d23ff69861aL,0x0000000000000026L } },
  84426. /* 5 << 161 */
  84427. { { 0xd2285ad12caa3808L,0xb871463efbc2278eL,0x361fcadec889c9b8L,
  84428. 0xf261c688541e9cc3L,0x2cdf861c7a27b983L,0xc97af02cacc87384L,
  84429. 0x7a80f6087638d824L,0x79852d0b79663aabL,0x00000000000001e1L },
  84430. { 0x9a2b626f98893ca3L,0x31a7d784d1e24597L,0xd230aba2129eedbdL,
  84431. 0x1d339471d270be5eL,0x826c3dd781950b28L,0xfa1b74c66b0b44f4L,
  84432. 0x5d2131e993fdbbceL,0x78176ad853eabdffL,0x0000000000000002L } },
  84433. /* 6 << 161 */
  84434. { { 0x52df1de37f4c74e7L,0xa1554957c7c2a420L,0x2bb5b1a7a850b73bL,
  84435. 0xd0b58abf05174618L,0x09c054687bb9dc77L,0x50cca4a64e6b8e44L,
  84436. 0x53298c54a61636f7L,0xf0325227718f824cL,0x00000000000000daL },
  84437. { 0x10f1de0bbf549e72L,0x7153f47caccd5cd7L,0x9c171b49425abf63L,
  84438. 0x9902c984eac3d535L,0x9853a7df0a098af6L,0x7f88102cae0627b1L,
  84439. 0x318ec476f6bd8690L,0xaca786dae42b065eL,0x0000000000000069L } },
  84440. /* 7 << 161 */
  84441. { { 0x75eb8d356bc9662aL,0xfdd82d5f0d8bcb50L,0xd8caaf4b9d8ad82fL,
  84442. 0xffb9e309d0642731L,0xb514ec984da42a1eL,0x9a765c8a7d4421ffL,
  84443. 0x0ad7d2be7e9ae93dL,0xab4d7910c97fd28bL,0x0000000000000130L },
  84444. { 0x4f08b836fb2b614dL,0x259737dca73051d0L,0xea3c3bc8c30af31aL,
  84445. 0x5cee4c934a11e8faL,0x4be3e8e3b1fed7ecL,0x0b313e360052c235L,
  84446. 0xd760058f5f082363L,0xc6e58d205fcae886L,0x000000000000000dL } },
  84447. /* 8 << 161 */
  84448. { { 0x7b9409bb42df612fL,0x32f47dd21bc66a3fL,0x213f80e023f375feL,
  84449. 0xaa71c57f06aa6c21L,0x5bf7b3a784298947L,0x001c2c965b608fa3L,
  84450. 0x417619c6173c7f4fL,0xbcff66acd4a20677L,0x00000000000000b3L },
  84451. { 0x81b9b5640603bc79L,0x8f39155ef875e591L,0xf6a508fddfd32c0dL,
  84452. 0x7eace6f96b0dac71L,0xe40163d89e4c1eb3L,0x265226c5ff10fa6dL,
  84453. 0x1e1af5cbda76d272L,0x954bc056a10dc788L,0x000000000000012cL } },
  84454. /* 9 << 161 */
  84455. { { 0xbca524e7fadb3e3dL,0x0d2906d5783f176cL,0xd5e30887e94c1a4cL,
  84456. 0x3f2d19b69790cfbfL,0xe0965575d49af522L,0x3830ed4d1881a1acL,
  84457. 0x207dbc8554f43059L,0xf0f178b3973ac147L,0x000000000000003bL },
  84458. { 0x7f0e0020693db310L,0x4914754404980bdaL,0x2d9a8176cc4521bfL,
  84459. 0x3893e7acc5e2d29fL,0xa99dd4d11afa9ad3L,0x8a6ce7fab2e0af41L,
  84460. 0x868c12a1a5188ad3L,0xd1138b17b8debefeL,0x00000000000000feL } },
  84461. /* 10 << 161 */
  84462. { { 0x709016a77aa3bb92L,0xad85ec5a6310f638L,0x37806a891d746ab2L,
  84463. 0xb878e2df80c6026bL,0x2d1bd5cb715e5095L,0xfad149bdcf029798L,
  84464. 0x252f826209fa7a60L,0x48c7e31ca0e64ce2L,0x0000000000000124L },
  84465. { 0xed6295952077c9ebL,0x86ccb5d1e1191074L,0x456067b16aabffa9L,
  84466. 0x55deb4fa5921dfc9L,0x4d9bfe498fec9c3fL,0x09a4cb5ce52a0452L,
  84467. 0xa590232e9c48af89L,0x593663f633ac7451L,0x0000000000000032L } },
  84468. /* 11 << 161 */
  84469. { { 0xe7e659560b715201L,0xc3db8e9fdce536b3L,0x0f53382987bf4fd8L,
  84470. 0x4630cd5699c4668aL,0x377120aca98b1b34L,0x878344bbd54a8a45L,
  84471. 0x788fbd286c45b8aaL,0x473be93182f3fbeeL,0x0000000000000097L },
  84472. { 0x3fc47f9a536fee38L,0x69bea946488b377eL,0x3d75c35835c67175L,
  84473. 0x7fd136ea89085cb2L,0xda6e1ab485bfe292L,0x703a854684848f1eL,
  84474. 0x37f0e804ac8000daL,0x53b3ed02c83fb8feL,0x00000000000000b6L } },
  84475. /* 12 << 161 */
  84476. { { 0x76f6bd2345f1f8edL,0x01af1d612c1af63bL,0xd83a40982bd9cdc2L,
  84477. 0x12ec79ad79d14104L,0x999b06da0b7f13d7L,0x111b8eeeecd188a9L,
  84478. 0x920f2064138b5729L,0x290b5f2475b98e34L,0x00000000000000c0L },
  84479. { 0x38a91bb8b98cfd7fL,0x0cc2d4ceb574c3f7L,0x49a05d4b8ff024c4L,
  84480. 0xff054d9491b0d00bL,0xbed247dd100eb8aaL,0xafdb1747e9a46615L,
  84481. 0xf801a52fc03cffdcL,0x415f01eeb9d027ceL,0x00000000000001aaL } },
  84482. /* 13 << 161 */
  84483. { { 0x15b2ae5549f234c7L,0x58635013b0beac59L,0x94c23cba4739fae8L,
  84484. 0x840ab93eacef3a53L,0x3bc47650dcccd34eL,0xaac77901e7df4d3bL,
  84485. 0x440cfe01370e4438L,0xa53a1a7b8e5923e1L,0x0000000000000006L },
  84486. { 0xa8e48ebfaf875672L,0xb6d62f9f3221cb04L,0x521ca35fb9d685cfL,
  84487. 0xba27652d100ed01aL,0x652fe08c46958398L,0x32b370924443c383L,
  84488. 0xac43dc6de676ea7fL,0xad362a924bab6228L,0x000000000000014dL } },
  84489. /* 14 << 161 */
  84490. { { 0x018820c2d2f48f4fL,0xc0dd7d24686b3002L,0x8ff02f40a5f47131L,
  84491. 0xb84bad1b1995b352L,0xc640b6049af32820L,0x87268cb03dd15622L,
  84492. 0xfea64350ffd221ccL,0xc7f6e79257deea86L,0x000000000000012aL },
  84493. { 0x482e7151037030deL,0xf781946d9cfd8f64L,0xd4d751a1037bbb78L,
  84494. 0x3197bde1031ed4d6L,0xd9bbfeacd6ba8cd4L,0x5688d4fdc0fbe2e3L,
  84495. 0x76dcd7e0f260abefL,0x019122d294017174L,0x00000000000001f7L } },
  84496. /* 15 << 161 */
  84497. { { 0xf22306192420c83dL,0xcb52f3d51a6ad672L,0x6f23327787188da8L,
  84498. 0xc9978c3e37b3ba7eL,0x043d79269986ba91L,0x71312bf8b69e4f23L,
  84499. 0xe868d488669cebefL,0x358d1c613b9ea975L,0x0000000000000000L },
  84500. { 0xa1f3d9c7d2435583L,0xb30834558f46d4e8L,0xf857db3c847df616L,
  84501. 0xc69106f36e4969efL,0xff89cb872a3e3af0L,0xa28a9399bae1ad4cL,
  84502. 0xae59df21c67b70e7L,0x10e6c606fe60fba4L,0x000000000000003bL } },
  84503. /* 16 << 161 */
  84504. { { 0xdba8e40547f7153bL,0x73071fd967dbfebfL,0x35881eec4441a2ffL,
  84505. 0x50623c475b31b917L,0x8f09dbf6c2bad8b3L,0xbf1f09cd90bb890dL,
  84506. 0xab770cd77f034fdcL,0x45b959236b7d98b1L,0x0000000000000029L },
  84507. { 0xd2ef1e00f599c343L,0x1289bdb17024d641L,0xed8e7886f4e36687L,
  84508. 0x4ad57b343696269cL,0x69bd1b6e70bf3629L,0x680f08622bab0453L,
  84509. 0x1865f02a68e4b123L,0x7bc5dbf3e8d8ab75L,0x0000000000000150L } },
  84510. /* 17 << 161 */
  84511. { { 0x6726ccbc3e2aff94L,0x5484b226c90c8dccL,0x2a2bdbc53a2527a3L,
  84512. 0x0bc5ef43d04f49d3L,0x3e245050b41ceddeL,0x89eb42f3066f3911L,
  84513. 0xd5a654cff6abf8ccL,0x667c82e307a3812dL,0x000000000000009fL },
  84514. { 0x1263649921a22440L,0xe811715df9b6b318L,0x9b6531ad5cd6faceL,
  84515. 0xcc9494fa99de1630L,0x515021752dc29591L,0x65b72bd29d42f5bcL,
  84516. 0xeb938f6b2e72ce01L,0x9f28e413b40a61c9L,0x00000000000001bcL } },
  84517. /* 18 << 161 */
  84518. { { 0xa7b6d19ac91805e9L,0x615699eb501c2667L,0x48e2afa5a34bc77eL,
  84519. 0x3481417aa5c5f041L,0x2919a3596c1e6286L,0x3d1dd1d074db3545L,
  84520. 0x342a15f49e76b201L,0x82b5db095e08f638L,0x0000000000000105L },
  84521. { 0xbcc640c0ad8c1f5eL,0x2251bb88dd8a841dL,0x5f210ad6a5948f36L,
  84522. 0x28d15c5f82e9e673L,0xbe1d9e7e6a1b484cL,0xd40a0934622ce1afL,
  84523. 0x1b7d637fbcb6d740L,0xa76f02210e1a2598L,0x0000000000000174L } },
  84524. /* 19 << 161 */
  84525. { { 0xb896a3f2d350250dL,0xf294278d7ee9ea71L,0xc9c8283e6249854eL,
  84526. 0xc21eab81bc99cd28L,0x73b8e2c38f4be65aL,0x8244fedf69c189ebL,
  84527. 0xce75ac12d0cdf781L,0xf323ab63fe1faaacL,0x000000000000004aL },
  84528. { 0x8860fa20e9ce92e6L,0x83479ba5eff82f2aL,0xfe15b93eda4dba32L,
  84529. 0x7f6c7ace601dd142L,0xec990ad49d19bd4aL,0xde2eee45c95fed76L,
  84530. 0x88e4dcd7f5448f60L,0x8aafa008120b0d53L,0x00000000000000ebL } },
  84531. /* 20 << 161 */
  84532. { { 0x5e52e88599dd702eL,0x8788f039002b4e01L,0x1c6e3d695c4f0701L,
  84533. 0xe5739c8b4d9f865eL,0xaa101c5cc3799864L,0xe3cf2696f3fa07fcL,
  84534. 0x389a552716f96437L,0xbbb4d9808b801596L,0x0000000000000164L },
  84535. { 0xae6ea79567728022L,0xa02d2498f57436ccL,0xa7d4f844f72b5ee7L,
  84536. 0xe1be79d19c24f898L,0xe9d02da89af2917fL,0x589677b798d5af37L,
  84537. 0x8515a1be298ddfedL,0x85c9f54d73c666eaL,0x0000000000000099L } },
  84538. /* 21 << 161 */
  84539. { { 0x266b62cd5e9b3f3eL,0x5923ec10fcf4c770L,0xa94e579454e6c393L,
  84540. 0x4537ad5461e76eecL,0xb0c3a5730f27b256L,0xebc9b1cc3d1829adL,
  84541. 0x43f486fb2a535031L,0xac5e5f3d265b0bf2L,0x0000000000000034L },
  84542. { 0x696366449ddef973L,0xcb381b06bd3c5340L,0xa007691234214149L,
  84543. 0x15c92a1bbe0faff1L,0x9093712f0da430c9L,0x925af269f6ce1ed0L,
  84544. 0x25aac7039766963aL,0xf00a980f330c5e9cL,0x000000000000015fL } },
  84545. /* 22 << 161 */
  84546. { { 0x9dc85b22b1c47096L,0x122c6be77e0e8e66L,0xdec66b03648fb290L,
  84547. 0x27f4376ec40116e7L,0x7b7bafe69dc0cc4cL,0x0cad9ff312d08efbL,
  84548. 0x70db245bd6542645L,0xc28346160b545d05L,0x0000000000000026L },
  84549. { 0x298ec3d3ed63af02L,0xbba1f13c8bf8477dL,0x2830e1ecef7a945eL,
  84550. 0x49a0e5e009c1b798L,0xe2ef4ed3728f9e0cL,0x235768bb24570e74L,
  84551. 0x10007a9283a6aff4L,0xae2217684ff5f9d5L,0x0000000000000014L } },
  84552. /* 23 << 161 */
  84553. { { 0x78be01f01cdd5596L,0x27c282a59b4b44f6L,0x03a41b7ba989e031L,
  84554. 0xd477af5342fc6296L,0xd24df6d41fdb1d44L,0x7458e14ae1b0d7beL,
  84555. 0x8eefd3d58838a0f9L,0xdf17dc2d7db4b37bL,0x0000000000000113L },
  84556. { 0xbb8f431ca4c7855bL,0x7cc9118df5a15060L,0x61ff999b04efc1e7L,
  84557. 0x34f30946331fc317L,0x6f24717219a61908L,0x869beba812619b2eL,
  84558. 0x1c53bd3a4916f1ffL,0x1276f58ea988bc64L,0x0000000000000005L } },
  84559. /* 24 << 161 */
  84560. { { 0x02e206c37471a905L,0xb6ce013934d0c122L,0xcda8a158ca1ec8adL,
  84561. 0x17ba844b6eb26374L,0xf8dca5a62ae7179cL,0xdab1da42807ae8f2L,
  84562. 0xdcc18ac94083d6a7L,0x1464e68edf65f291L,0x0000000000000038L },
  84563. { 0x6599fd7bd22a48c2L,0xfd36f482477abe8aL,0x403663c930756f73L,
  84564. 0x1b38f348805b2e09L,0x213feb71c142d148L,0x9878091a8855d42fL,
  84565. 0x317421962821af05L,0x9023473580457e5bL,0x0000000000000053L } },
  84566. /* 25 << 161 */
  84567. { { 0x47ba1f99743fea79L,0x06acb3c3a291a643L,0xaa7348bb9f2bb6e6L,
  84568. 0x84fdba6fbc8a12e9L,0x15b33b6b0a667c24L,0xba9f7deb101dc30eL,
  84569. 0x459a46034c57add7L,0x5464da8fa6609167L,0x00000000000001a8L },
  84570. { 0x0c6a508a3784eb33L,0x4479937d0f0a90bcL,0x1a531a0d977b0dcdL,
  84571. 0xc2b64ddae64bad13L,0xd5be67bfee7f09adL,0x22f09f2ce76c1626L,
  84572. 0x9686e65fe16904b6L,0x36b7a900855d97f2L,0x00000000000001d5L } },
  84573. /* 26 << 161 */
  84574. { { 0xd43858c0df99624bL,0x13136325cb492988L,0x1c894e8eee9f005fL,
  84575. 0x22ac0619eff5ed87L,0xe5541a5988b981bfL,0x5bdc0aa3fa6c6896L,
  84576. 0xee9ae8d5d079468cL,0x62019c6ddee442fbL,0x0000000000000133L },
  84577. { 0x26522a74f2b6d9c7L,0xb5b484afa0d85fc4L,0x5e43e58b8ecffd0bL,
  84578. 0xe4208afcae402e16L,0x0f40d075c422d4d8L,0x2a9bb7082750ab4eL,
  84579. 0xede6cf4bf468eff9L,0x8513051277fae59aL,0x0000000000000198L } },
  84580. /* 27 << 161 */
  84581. { { 0xcc69a0ccd9e4f8e7L,0xc022938a9bed81f0L,0xfa5d71e306664d82L,
  84582. 0xd5be5e220f1e2acdL,0x92c0da616ba1adf6L,0x7f4f4a83200f1487L,
  84583. 0xf057fde0dd6b2d46L,0x04a1fea64ee5aa31L,0x00000000000000c1L },
  84584. { 0xc89bcd96ed79484aL,0xa5c975a6ec2453f9L,0x33215bdb09a122e1L,
  84585. 0x354116245bf4ac00L,0x555dccea0adbf9dcL,0x305b7c95457c70b7L,
  84586. 0x1afe30a21ef03bcdL,0x4fb417396ad91b4aL,0x00000000000000e4L } },
  84587. /* 28 << 161 */
  84588. { { 0x9b725e514dd1d21eL,0x168e6606593e95eaL,0xae7b78d6fc4197eaL,
  84589. 0x5292f0812cd1c536L,0x7ec384125dbdb782L,0x2853f48a71352e28L,
  84590. 0x904986af7516103eL,0x23d71c892b57f46fL,0x0000000000000091L },
  84591. { 0x5d4a4f006a1e8ca4L,0xbbc96d859935baceL,0x4175dcd7b578a386L,
  84592. 0x208f65eaac20bd79L,0x2859dbdb96f5e3efL,0x59757e035c91ede6L,
  84593. 0xcca1eb6dce0673afL,0x886baaa29a7cf180L,0x0000000000000086L } },
  84594. /* 29 << 161 */
  84595. { { 0x23206c18b63cc880L,0xae2a1109db8b7f25L,0x6779ed193b8e5e1eL,
  84596. 0x565a9bd7cd18feadL,0x17bd2284ccf3caa7L,0x385aef038c0d52eeL,
  84597. 0x8ae77665138d63ffL,0x718bd33248a59df4L,0x0000000000000008L },
  84598. { 0xf9d111dbe3242981L,0x2fa83b3d575d3c49L,0xf45ce3fda49b5fe1L,
  84599. 0xf35d796a9d2ec2b8L,0x9b29bd6b4fff07dbL,0x7a773285d6801cbdL,
  84600. 0x2050e529a0c11fd0L,0x049b8045486f19dfL,0x0000000000000178L } },
  84601. /* 30 << 161 */
  84602. { { 0xfd8f5732a214ffb8L,0x44b1642c528bc00cL,0xddf614c664ab949aL,
  84603. 0xd2c8792db600c8caL,0x742d67de888308f1L,0x7c935d3ecbd60490L,
  84604. 0x100cda325395d111L,0x1b6a6cd19a931f92L,0x0000000000000110L },
  84605. { 0x5d45901e48ac9d0bL,0x1b6930212ed16103L,0x938c16a2a85d4fd3L,
  84606. 0xd42348aaa382830dL,0x1bdea8d49ba29408L,0xde5f07a05aa9b9f4L,
  84607. 0xf2ff6e2c17118d5eL,0x7d9e7fd948437ea6L,0x000000000000001cL } },
  84608. /* 31 << 161 */
  84609. { { 0xf21bb0d569edba14L,0x5b03deeaba63fd7fL,0x6428178b6ccbda3dL,
  84610. 0xd90721c9ae40f7cfL,0xffa95ed408c9d593L,0x233675f5916327bbL,
  84611. 0xf63a304a3ebd7c4dL,0xfc1e62599af1bdb0L,0x000000000000019cL },
  84612. { 0xe10c054ef0fb085bL,0xa82deca9e42abb84L,0x9657610111a401b5L,
  84613. 0x7a8a0895b7452de3L,0x9a132acfc3b65cceL,0x550ebc8e611b6aaaL,
  84614. 0xc769bab2fbb950d4L,0x9b0207afb0bbfea8L,0x0000000000000139L } },
  84615. /* 32 << 161 */
  84616. { { 0x4f6ba84d09ed0733L,0xdb3908d14bf2273aL,0x33bcff3f3a074347L,
  84617. 0xbafc83c622e849cdL,0xfb13992ceed3b0dbL,0xd24dd41d3c016bedL,
  84618. 0x0d15167af6c72694L,0xe06346be162238b6L,0x0000000000000050L },
  84619. { 0x28fea53455d96852L,0x46aee84a3f0cef9eL,0xb8af77e1775a77a5L,
  84620. 0x63e3b7fcb66f217dL,0x763ceb6796e84554L,0x39b7ec8ed79b3203L,
  84621. 0x62e24b184f17b166L,0x873ea1aa905054dfL,0x00000000000001f4L } },
  84622. /* 33 << 161 */
  84623. { { 0xf9e957e011ecd03fL,0x36e97a5162a70172L,0xddc99f268cee4a6eL,
  84624. 0xc9133a8bf59c132dL,0xf0360bc56ea138eaL,0xc951611bbf929662L,
  84625. 0xd5e127b017c41f0bL,0x273a6206effc45eaL,0x0000000000000034L },
  84626. { 0xede37cd5600d7097L,0xeab8d796081144bfL,0x1b45983f88a59279L,
  84627. 0x9bac431f8fd88379L,0x1261faf43b1033edL,0x72f4d092e7106cb8L,
  84628. 0x9c77283c885fe210L,0xd61437588f312001L,0x0000000000000120L } },
  84629. /* 34 << 161 */
  84630. { { 0xe741401b3e4b27f0L,0x3cba76aa0649726dL,0x56c542047fad17c1L,
  84631. 0xc6f0731569335954L,0xc578f101a9fcaec4L,0x5c100c039431d291L,
  84632. 0x2bf9d339f2630180L,0xfe18d6e0fb611fd6L,0x00000000000000f4L },
  84633. { 0xf7c8ebd21d5a95e2L,0x50abdb6201c572d9L,0x8122c3d1cfa44f8aL,
  84634. 0x6eb1ebb1266a9f78L,0x6fac9cc4ea52170fL,0xb27ace4dd2a508fcL,
  84635. 0x6060020ac99e9aa1L,0xe55643997d3f48ddL,0x0000000000000190L } },
  84636. /* 35 << 161 */
  84637. { { 0xa9e4882c7ed59d91L,0x07a64a9b1fce9c0dL,0xcc45cd129065e704L,
  84638. 0xeecf8b38f26f1dfcL,0x2f5c4945a1616c3bL,0x900b2ccf9642e488L,
  84639. 0x5af1d7f8162fc9e2L,0x2a71595e18424eb8L,0x00000000000001fbL },
  84640. { 0xec338fe3dd9c2e9aL,0x65dafe42b0517883L,0x40a9bae3d93ec0b7L,
  84641. 0x674169aaf094a74bL,0xcc4ca4f411a22a04L,0x45a2ee1e25ffd70dL,
  84642. 0xf12af516101337a6L,0xaebc10f406fabda0L,0x0000000000000072L } },
  84643. /* 36 << 161 */
  84644. { { 0xc0bbb7f74d30e883L,0x492e66eefcb15f83L,0xf72ef2fe6f48c1f7L,
  84645. 0xb947548d314b03feL,0xd65e9cf3c25acceeL,0xff39b4dceeb29d36L,
  84646. 0xbec64e77c99c5afcL,0x5b8a197d3a67c06bL,0x000000000000002dL },
  84647. { 0xe1331e50f871d815L,0xe03985a391481e0fL,0x813f257a226cedebL,
  84648. 0xcd331cce2a206ba1L,0xd638fdf4827d764dL,0x6a615884c63d7d4bL,
  84649. 0xcc4d0e0d6b08663aL,0x66436385310ece41L,0x000000000000005eL } },
  84650. /* 37 << 161 */
  84651. { { 0xadd8cd73f0ecf34dL,0x43f62967ff35e2e5L,0xf5e43e254b1a345bL,
  84652. 0x1ae3f1eec54f35a2L,0x4f1c7df9cad2bf13L,0x15d4803bde8fd01bL,
  84653. 0x9f4042173924fc8eL,0xadab12608a67eaacL,0x0000000000000030L },
  84654. { 0x194e264056788778L,0x9150f420b9b52528L,0x65e6f21ef741753eL,
  84655. 0xdec82a916b87ac55L,0x1cbe14d2287c7942L,0xd7a761913f6f27b9L,
  84656. 0x4aab93b16fc85b18L,0x542dd2083b421209L,0x00000000000001e3L } },
  84657. /* 38 << 161 */
  84658. { { 0x2791f6cbd8c481b1L,0x5f6e979b105355abL,0x9717cbdb3c359624L,
  84659. 0x524de35b434adfa2L,0x342553b9e4390513L,0xba52714e2c4aa1d3L,
  84660. 0x203610b03352d5aaL,0xb0417dbfde6e9eb2L,0x0000000000000007L },
  84661. { 0xa7a4ab660778eeb6L,0x3e73596701347028L,0xfefbc03f86847bcaL,
  84662. 0x6b746803cc5bdcc8L,0xec44a1ae77b147a8L,0x447f4acf99a32887L,
  84663. 0x57fc9a18a05edd76L,0x984f16610c725648L,0x00000000000000f6L } },
  84664. /* 39 << 161 */
  84665. { { 0xd19616ae1983ebe8L,0x4503d5f2e1e673f5L,0xef3f5a36e6b42028L,
  84666. 0x55b2352ddf585e21L,0xc96b97cb803254a0L,0xbb91658d46a8dc81L,
  84667. 0x510b21ca6c1d02c5L,0xc01a0264618a46ccL,0x00000000000000fbL },
  84668. { 0x809346c47c10f0d9L,0x1f4da743e1e88f53L,0x53670064ebd2df12L,
  84669. 0x700b420afa09e88fL,0x4a22c1529e631b7aL,0x1d4d965c170a085dL,
  84670. 0x0d6d1a47fbbdf9b9L,0xf95f3f2816be4629L,0x000000000000001fL } },
  84671. /* 40 << 161 */
  84672. { { 0xe410d8f75fd30bbdL,0x966e71d6031cff85L,0xfe51c6c9a6f4b6a7L,
  84673. 0x6aa83ca8d5681412L,0x28a61d2e57a5d801L,0xb699f6cb52bc0413L,
  84674. 0x1729f8d0443bb821L,0x6e22f51204452a00L,0x0000000000000076L },
  84675. { 0x7b51ffac0cc2608eL,0x370f9a54495e770aL,0xe32a66e2f574b07cL,
  84676. 0xc3ead5c57c808c30L,0xf04bdebd20d3d51aL,0x82b07f2804ffd31cL,
  84677. 0xd2d81ae3b6df8fb3L,0x3978bb58002ea4e2L,0x00000000000001abL } },
  84678. /* 41 << 161 */
  84679. { { 0xe78315f6dfbb52a9L,0x9d3cba08427fe77aL,0xdfe7bf03a89c1b0dL,
  84680. 0xab65916f705a6509L,0x674049815c466030L,0xe8f1d410c97d6559L,
  84681. 0x38bdb4141cd203caL,0x3ddba428daf215d9L,0x00000000000001e1L },
  84682. { 0xd1174c6998d10f89L,0x049f8fdc7bf92d99L,0x5e93b8e5cb52899dL,
  84683. 0x886da2cad057f3d5L,0x7bedd886c75e69d6L,0x48b808d7b869acb7L,
  84684. 0x542a5fbb7168759fL,0x18d5a3b332d207f7L,0x000000000000015aL } },
  84685. /* 42 << 161 */
  84686. { { 0x7d28aec6ca1338b9L,0x60e2c0021de0a9e9L,0xec83a036473cdc40L,
  84687. 0xa18a48427b3ca8baL,0xbb6ce1a4d57240f9L,0xd8849fb45cd926edL,
  84688. 0x0a6bed34a99ff832L,0x4f95f32bbf65f46cL,0x000000000000016aL },
  84689. { 0x1b97562771d2f781L,0x75e4501fc527e102L,0x79130a459ac2b105L,
  84690. 0x470192f34acebcf5L,0x72b54c075997b4a2L,0xed718897c8b60b66L,
  84691. 0x4093b1f8f51bd41fL,0xb29f58d3a42de0f8L,0x00000000000000d7L } },
  84692. /* 43 << 161 */
  84693. { { 0x331982b89a4db510L,0xf3712ed38465e8c4L,0x3d34b58f16d166c5L,
  84694. 0x4c288793731d073bL,0x70ff503acbb64d41L,0x8c1af3bc188deefbL,
  84695. 0x5a73b272b1ec9218L,0x9ef75613bf5d7d3aL,0x00000000000001bfL },
  84696. { 0x539822ff861474bdL,0x180f16e73e4fbb41L,0xcd2510ea4d5b4fafL,
  84697. 0xdcc4d89a7fd914a7L,0x2b80a838ae4c4ac9L,0x51b8089df7376ed8L,
  84698. 0x0ab1f9608fbaa6a0L,0x6e736c68dd816684L,0x00000000000000d0L } },
  84699. /* 44 << 161 */
  84700. { { 0x5d35a91d101c28c4L,0x0f09bee540733fc9L,0x15b904b81454c498L,
  84701. 0xca3a5474136142c5L,0x58c9b304bd03303cL,0xea4075b5a60b59dfL,
  84702. 0xca58872e67858464L,0x788b761f48354a3bL,0x000000000000016eL },
  84703. { 0xd17d61f750501d32L,0x791776d613aceb1dL,0x3b0e441e42c97751L,
  84704. 0xbc212d890edad7b1L,0xf9fe60a0ce37bf73L,0x65fcc158880d070dL,
  84705. 0x00a84549d1d4e035L,0x01c1e68c701162b4L,0x00000000000000ceL } },
  84706. /* 45 << 161 */
  84707. { { 0xd0a8554c494fb156L,0xc71afa6a8c500c38L,0xee41b4fa39a89f0bL,
  84708. 0xbbb592d2af6b45d9L,0xfe957349f903b987L,0x43cd6c638db1e4d9L,
  84709. 0x8e43ec817ce3023bL,0x416c60c5329a63c2L,0x000000000000019fL },
  84710. { 0x2b21d1cf4d61105eL,0x251b9594b74f4dacL,0x12b8fe3c5e4d45eaL,
  84711. 0xba2c53365fc42715L,0x223fdd1c773b2d48L,0x94f125933065fc8dL,
  84712. 0x492cc924e2333395L,0xb3616a8475ac3c66L,0x00000000000001e3L } },
  84713. /* 46 << 161 */
  84714. { { 0x5ace22d86c5a60ffL,0xb851dfa9f4a3b8e9L,0xf69113c2fa83cda2L,
  84715. 0x32ebf61d64cfd0f2L,0x54c22f18957e47caL,0x6bbd312371db481aL,
  84716. 0xee07ace023f0bf72L,0xe21cc99694f56b82L,0x000000000000015bL },
  84717. { 0x5f550ca712edff28L,0xfe0f2ee6bdbf147cL,0x0c5ce5382fbf0a76L,
  84718. 0x1ed469f774b92d4cL,0x9b1c90af48edafecL,0xffd719c5d02d67d9L,
  84719. 0x1393017c26b20c72L,0x394c92a765bbfc0aL,0x00000000000000e8L } },
  84720. /* 47 << 161 */
  84721. { { 0x8e3b16ffff7e659eL,0x46277baa15e7d54bL,0xa9a805181780a668L,
  84722. 0xa3c489288ee7de0dL,0x5a33494c6a492932L,0xf21c24fc8c77046bL,
  84723. 0x0f03d8aefe34a7d0L,0x124f0b04cee67a16L,0x0000000000000155L },
  84724. { 0x5a35d64c33c9043bL,0x43c74b4c3bf7ba98L,0x799109fbd8945905L,
  84725. 0x144fe1552c7afef7L,0x216b3cd4a58245eeL,0x59db3457dee2d7edL,
  84726. 0xff7a2017df7c0f11L,0xc4f76ef73306c02dL,0x0000000000000056L } },
  84727. /* 48 << 161 */
  84728. { { 0x35a5767a91f7da33L,0xb73136937ba4dfedL,0x3843d6c37f7e4d30L,
  84729. 0x6f461c6be2595a8aL,0xa34766d014105be4L,0x62d28311d7c9924eL,
  84730. 0x7bfd28110f51f78eL,0x9cd30fb24b760751L,0x00000000000001c4L },
  84731. { 0x739b01bc3391726aL,0x82721aef5fde4fd5L,0xf3ec542dea71f1f2L,
  84732. 0x520fdd3458345718L,0xef2a3d6f54bb2d09L,0xf75fc3fcfaeb5530L,
  84733. 0x6fb68582f73076b3L,0x27d3835620e57568L,0x00000000000001beL } },
  84734. /* 49 << 161 */
  84735. { { 0x7a28d24dd585507dL,0x1e4e683466285c9dL,0xe4b682babb22705bL,
  84736. 0x64d1ef0045ab2054L,0xb5cec856cc08627eL,0x889ad5ebb8b7e942L,
  84737. 0x8d714cd95079afafL,0x4d8076a73e83d558L,0x0000000000000190L },
  84738. { 0xe9f3ad2bf576cd63L,0x59000a34b58cfc2fL,0xc264ed814685f799L,
  84739. 0x982c7552123238a0L,0xa9ee7e5968384c7bL,0x8664439308b33f41L,
  84740. 0x17b12f704e50471dL,0xc0d7e9bc75ebea21L,0x000000000000019bL } },
  84741. /* 50 << 161 */
  84742. { { 0x912222d815c2f2a8L,0x2de888271cd8f2a3L,0xe76034a53dd91b8dL,
  84743. 0x845a5d5194b6f95fL,0x2eb60c5b52e29a05L,0xf0d98738ba25e6bdL,
  84744. 0xfe6a89c8cdc0327cL,0x167c43e4c20b4ca6L,0x000000000000005bL },
  84745. { 0x39630959e8c54a45L,0x02c1c7fe70765ab8L,0xec3f9a8de3407090L,
  84746. 0x9cc4b5fb695237a6L,0xd8f106ce75b984f0L,0x9cbaf61edbaba8d1L,
  84747. 0x1d97a9051041afc9L,0xf2e9161e55b31a38L,0x00000000000000ebL } },
  84748. /* 51 << 161 */
  84749. { { 0x5a6bf7f91f8b55a8L,0xc69d8efd172ad4e2L,0x225a073ce679c187L,
  84750. 0x715c881907c52ca1L,0xc0e7ea40ea089856L,0xd468af9b39f8886eL,
  84751. 0x0d4ba8bc050432baL,0x19f774a064252dceL,0x0000000000000156L },
  84752. { 0xc799518c93721f59L,0x366c163c364ad15dL,0xba588393e560fb0dL,
  84753. 0x016a8490de01278dL,0x2b528be2d1a40335L,0x5309de257787392fL,
  84754. 0xeb1b66711c0958edL,0x53fc34a953ef3c21L,0x00000000000000a7L } },
  84755. /* 52 << 161 */
  84756. { { 0xb4329354b10450e0L,0x467523c0f2c7c16fL,0x8704d83d9859020eL,
  84757. 0x04daea48e8ad89feL,0x63c0e5f15b92f0a8L,0xb46d370e1b70e374L,
  84758. 0xdbf6127aa728e693L,0xb2121298b13a28b4L,0x00000000000001a0L },
  84759. { 0xd0421f84c0574c9fL,0x0cf61cd6d362b1a8L,0xd89f8484bb97b57fL,
  84760. 0xc9bd3731b39b01f3L,0x1af2db789dc8f339L,0xe4841c8d5be1a90cL,
  84761. 0x4fa214cce1f35bd5L,0xdf654917c1a9f844L,0x0000000000000118L } },
  84762. /* 53 << 161 */
  84763. { { 0xcc657fbdeded2e02L,0x141fc3e7caf6a533L,0x7da03a50c37499b1L,
  84764. 0x065eb76c204614f0L,0xcc8bd1807ab23c85L,0xca7080fb5f1cec2aL,
  84765. 0x1760042d05f0a0fcL,0xd8fe8fc96c675e0fL,0x00000000000001b4L },
  84766. { 0xeac258083d064fc5L,0xa906864eade9696cL,0x58fcf49e1f711665L,
  84767. 0x1ff08bacde11a5bbL,0xa7feb828b482ca23L,0x6a0182962648ed45L,
  84768. 0xb86ca29c5066a0a5L,0x6365a8682517aa29L,0x0000000000000077L } },
  84769. /* 54 << 161 */
  84770. { { 0x34733894f44f0ca9L,0xe4cfd1e412871471L,0x744cae9c6937e907L,
  84771. 0x4e64dd6163227fa9L,0x47d3efa71c46edc0L,0x0872f46ecc49f614L,
  84772. 0xef5581ef6c3aa650L,0x40cbe7deffa56263L,0x00000000000000b9L },
  84773. { 0xaa3435661a572651L,0x3dfd8846f16f48dfL,0x0a61cd2df660bd14L,
  84774. 0x2aac6852b7382316L,0x237e7531a213fc6cL,0xe5fd6bd5733eb51dL,
  84775. 0x07d667c654816bf0L,0x1ad4cb04e1079eedL,0x000000000000001eL } },
  84776. /* 55 << 161 */
  84777. { { 0x6798f4d06e56988dL,0x41378b308e88eaa0L,0x2dd138d2fd992c8bL,
  84778. 0x5e7400ae71030b13L,0x7b00ea1f13c9ad72L,0x171f656d79101b3eL,
  84779. 0x1614fd762b2d5ebdL,0x75c70e686e0f5bb5L,0x00000000000000cdL },
  84780. { 0x9d980a7936d23463L,0x834c407489e9fdb9L,0xc9b2dfe11423a5cdL,
  84781. 0xab0462bbfec68ee5L,0xf1b299fd96ad5ee7L,0x1a1052ce79847284L,
  84782. 0x11d08428d9a4aba9L,0x3f76770dd07f8532L,0x0000000000000058L } },
  84783. /* 56 << 161 */
  84784. { { 0xf85c1b6a18db2823L,0xda36fa1c2203eea7L,0x81f96771cdac541bL,
  84785. 0x52e33f39605c943dL,0xadf4c06637c23121L,0xe9e5aa4b8ad2c86cL,
  84786. 0x3d4a61630354ad23L,0x44b4d8ebae152c75L,0x00000000000000fdL },
  84787. { 0xd5d3d35dab2d2652L,0x55b6f8ed382b2fb7L,0x3a1eee79a7e69b83L,
  84788. 0x98f430aab5c6da08L,0xf4af6cd956cce57bL,0xd67e787b7af2ea27L,
  84789. 0xc276f0a7d8841e4fL,0x2e23f60fc0478c59L,0x0000000000000026L } },
  84790. /* 57 << 161 */
  84791. { { 0xf0eb4ab877863073L,0x94181818a546f8bfL,0xcd887c3ca8731841L,
  84792. 0xe2bcafcc75595c73L,0x344aa895985d3b76L,0x1bf93659471fdde9L,
  84793. 0x966caabac3b6a887L,0x3ef855c5d55370f8L,0x0000000000000066L },
  84794. { 0x19d2a2302184ccb0L,0x8fc183ee69acc9dcL,0x7a4e06407c15ff8aL,
  84795. 0x558ad1c20c26289bL,0x6c4115510529310cL,0x280ac8190fca48a9L,
  84796. 0x0415f9bacf58bdbfL,0xc3886683f2c0dd4aL,0x0000000000000062L } },
  84797. /* 58 << 161 */
  84798. { { 0x3e88401aeebc8d94L,0x7e5f8ec0075f3f3cL,0xc9fa5c48d3004237L,
  84799. 0xcb17bcbb3d2f2e5eL,0xb105514bea735fa2L,0xba377336fba76370L,
  84800. 0xf221092e050d6dc4L,0x77a261f905f5f809L,0x000000000000013cL },
  84801. { 0x606d9cfad207d34cL,0x596d48e3d86cebd4L,0x9446a6eea25feb06L,
  84802. 0xf8aa591e0e3061baL,0xfafdaf2e4d4e8f87L,0xdc642f5dcde1b623L,
  84803. 0x0780a3b18c4123c6L,0x0b0e00885b2343d8L,0x000000000000009fL } },
  84804. /* 59 << 161 */
  84805. { { 0xd6968c6456a686ebL,0x76bf6f10f6be50c1L,0xb07ea82138afb6a8L,
  84806. 0x0fc9edaf1d7736e9L,0x20d6045f9b3e0246L,0xd17c5795991c0a45L,
  84807. 0xd7db43f4df3ed4e4L,0xc89cf90f2ac74830L,0x00000000000001a2L },
  84808. { 0x30417f69b28de367L,0xcb660863643918c8L,0xbdb5eb048fb7d82fL,
  84809. 0x401f0699f4368ab2L,0x9ef1961f15413dabL,0x30b0324f41c40991L,
  84810. 0xc2b48a84f8668b54L,0xd93b0282b6d52027L,0x000000000000019aL } },
  84811. /* 60 << 161 */
  84812. { { 0x69660fea949317feL,0x373d869babd661a7L,0x9af9b8f1d3e12c73L,
  84813. 0x924254a4b60c5995L,0xe35cd8673d19f242L,0x52b966e567041fb6L,
  84814. 0xa23e82421d39defcL,0xdd92b1a8eb62a410L,0x0000000000000125L },
  84815. { 0x3c1d6f5250ed0bacL,0x3266bab423c65483L,0x1773d1942fa296fdL,
  84816. 0x1716ffa0cc5c82b1L,0xed0b4af7185788b3L,0x9ad866b5990b8e96L,
  84817. 0x3263e59f69dad8d4L,0x4fa90e3f3c4701bbL,0x0000000000000142L } },
  84818. /* 61 << 161 */
  84819. { { 0xedc26bc2b7001966L,0x07965896b8d8521dL,0x485564a35427755aL,
  84820. 0x522dd1d1f3f96155L,0xf182a1d731bf10a8L,0x3967f375fabecb7aL,
  84821. 0xe657de0bdcd6c80cL,0xa8db2b3a8de73efbL,0x0000000000000074L },
  84822. { 0x6cec45bbbb1b75a3L,0x1e28ed9134f5ef01L,0xe4a2fdbab493e0f9L,
  84823. 0xf3b058cbc67f30f4L,0xc63ce1f97c21e9e4L,0x6df803bc9587af66L,
  84824. 0x83b68042b2d6058dL,0xbd466da98be4c8adL,0x0000000000000050L } },
  84825. /* 62 << 161 */
  84826. { { 0x8ebd9194aecfa334L,0xf12fdf8b12498ec5L,0x10aeeea323bc15c8L,
  84827. 0x67e32fb5746aa8f0L,0x6c2a3ce334ea8c2cL,0xed5b45bd7d1e6a40L,
  84828. 0x4ec06953c478d94cL,0x06653d528fa54d3eL,0x0000000000000002L },
  84829. { 0xefe66e37c9fc19c3L,0x3df15ce78f92ef51L,0xecae3d50d107059fL,
  84830. 0x4e588f54d6f8d314L,0x3fb75086789921daL,0xd475779892273a4eL,
  84831. 0x18a75dfb63e04c7bL,0x90f39dd1fa412403L,0x000000000000018bL } },
  84832. /* 63 << 161 */
  84833. { { 0x618e0931d9ee46b4L,0x3c65fdc65ac70195L,0x46a7ca1f25b503a5L,
  84834. 0x3d43ee7529d9d453L,0xeae5decfcb21a646L,0x32cdc75f95a04c13L,
  84835. 0x7b39b1bcfc631a28L,0x903bbdaed2ab7499L,0x0000000000000085L },
  84836. { 0xa0cfb2a4f158b009L,0x59cf9fdda8d72e02L,0x2f83798e4e24207dL,
  84837. 0xd8fb75cf4272d53dL,0x55e7a933a3dff9a0L,0xb72160f8815ef182L,
  84838. 0x5a14b7e3fe0d0337L,0xad937b534b590bc2L,0x0000000000000041L } },
  84839. /* 64 << 161 */
  84840. { { 0x0db2b099cad6b074L,0x4749379c2a6efc26L,0x31862f75ab64d63cL,
  84841. 0xa465075d1623e85bL,0x5f03bbea00e7e1b8L,0x24ef8956a2c133cfL,
  84842. 0x6f9fbad452533ca3L,0xdfb15df3abf81b19L,0x000000000000015fL },
  84843. { 0x0616fd242796855aL,0x4a9a066c9cbc946eL,0xaa0fd8ee347283f1L,
  84844. 0x63bde9adf15aa16fL,0xbdd5677a9277e9bbL,0x5ec032e2d045538cL,
  84845. 0x5f4eba3aba8c76fcL,0xa17d2872088e500cL,0x00000000000000a6L } },
  84846. /* 0 << 168 */
  84847. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  84848. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  84849. /* 1 << 168 */
  84850. { { 0xd8faa3bcd4cd8948L,0xddc437839d2888d8L,0x1e951bd5581abba5L,
  84851. 0xa52dfab22947d11fL,0x8fbb0ed8728a40eaL,0xd4f4d06f31d769ccL,
  84852. 0xd93b1d93fac908d2L,0x8852b438f5a3b0cdL,0x00000000000000bbL },
  84853. { 0x84ea0e03c8c88de9L,0x621a808863cdb21fL,0x332c292ecd6ec216L,
  84854. 0xfd01ee09c4cd0dcaL,0x5354ec9efdfce95cL,0x05c307b2a6b8db30L,
  84855. 0xf7b254eab44784aeL,0xd38481257e61408aL,0x0000000000000128L } },
  84856. /* 2 << 168 */
  84857. { { 0xf9b815fe2f1993f7L,0xe1f5199a3ecce0e2L,0x8898d789ab10a910L,
  84858. 0x49863dac4e863533L,0xb5f118aa5e465bafL,0x10d031280281e10bL,
  84859. 0xc98361355042343bL,0xc2140930bc68242dL,0x0000000000000073L },
  84860. { 0xf1417466e84f3896L,0xd4167f1323db4590L,0xe5347265c7699f09L,
  84861. 0xe4458198be6204bcL,0x9375296868d8b7a8L,0x49757c532a065d8bL,
  84862. 0xdc0856fbb6927e83L,0xb1679b0c56449cf6L,0x00000000000001b2L } },
  84863. /* 3 << 168 */
  84864. { { 0x1a80e022f6b5e497L,0x210b6f4b8d73860aL,0x16f2e7bd7b7f92c4L,
  84865. 0xded9e969d068de98L,0x68105e12546ace60L,0x56a0c5b0efb6f66fL,
  84866. 0xf0d5fdb985d590d0L,0xf15e274fb69d5821L,0x00000000000000bbL },
  84867. { 0xd8d0621dde543268L,0x9e0ab44c04b71011L,0x25c135cbdb9fe3ccL,
  84868. 0xf0a9044b024b4ce3L,0xecfb54fa49d2589aL,0xf57495388bca2c50L,
  84869. 0xd76bf119f8f8e5f6L,0xbd946e2c292a452eL,0x00000000000000b2L } },
  84870. /* 4 << 168 */
  84871. { { 0x1d43440f28eb6ffdL,0xa97797d41faa5c82L,0x14a960425c895eefL,
  84872. 0xd35e5d8cd4fa3e4cL,0x9e68f293277b5084L,0xbf5b8a162bc6b1a0L,
  84873. 0xa1d47a38cf49a617L,0x703e609e62fd2244L,0x0000000000000048L },
  84874. { 0x5909fbf6c6af3c4fL,0x1428b8357c1975abL,0x30f8a30810400297L,
  84875. 0xd753559f5b5750bbL,0xbc5235ebf99fabb3L,0x588aaf0bcaa35305L,
  84876. 0x13085abc579dc86eL,0x793f9efafea9393bL,0x000000000000000fL } },
  84877. /* 5 << 168 */
  84878. { { 0xd1e60e5f8256720cL,0x171027f57c49fa90L,0xf64e8839f6549f3cL,
  84879. 0xffa1490469b799b0L,0xadd4e8fb34553fdcL,0x7cf91923741a95baL,
  84880. 0xc9fa2fe993a1ba5aL,0x5d9e34020980acc1L,0x0000000000000020L },
  84881. { 0x2a5cb99c98d2c9ffL,0x448896bf6c3294e9L,0xf76232cb81e067a4L,
  84882. 0xbda3583a3757184dL,0xfa41813b2e0c61aaL,0x6ba2aeb6c106499dL,
  84883. 0x93782286a19e4b30L,0x13e2306f86e8c59aL,0x00000000000000a4L } },
  84884. /* 6 << 168 */
  84885. { { 0x6f8275e50e37edbfL,0x64ad3b76db3e6343L,0x2eef15036a5161ebL,
  84886. 0x2c60875ecf10d729L,0xd477f32a9424ce59L,0xfbd5ab3fddd91be6L,
  84887. 0xbe1f16dfac18456bL,0x88e755378dac1a4cL,0x00000000000000d1L },
  84888. { 0x4f8e076e3c10f2f8L,0x04f48ba57a6bc509L,0x8b825c99420b54d1L,
  84889. 0x35fb71ddd7412044L,0x1d954ed2771b6d9eL,0x24ead049473e8a03L,
  84890. 0x513ff05d28ba193aL,0x42d94d2c7a8abf0cL,0x0000000000000143L } },
  84891. /* 7 << 168 */
  84892. { { 0x5169a5ba3792d0e1L,0xa94f38ae866a52b1L,0x52123a0860f5270dL,
  84893. 0x3753c8f7a5b51694L,0xc28f1bd14c0dc22bL,0x39279193e55184f5L,
  84894. 0xb9fe5bda528c4498L,0x1a04e978bce7de75L,0x00000000000001c9L },
  84895. { 0x95b584d1ed890690L,0xd02b7fc965d82f4aL,0xa630a8dc3f0b031aL,
  84896. 0x79759d955be69e84L,0x8cdb211f45539242L,0x523fbd101032dad8L,
  84897. 0x40c47f4d5b003e94L,0x02de551920d6fd97L,0x0000000000000144L } },
  84898. /* 8 << 168 */
  84899. { { 0xf63486b5ce9c07a2L,0x109221f7b9b5e762L,0x0450b6c79210d1caL,
  84900. 0x8a9b11b1cc780322L,0xf33c4701a30bfdaaL,0x1a7d75f3c33bfca1L,
  84901. 0x4ee930e51c13af9dL,0x3ce4223bce402aa2L,0x00000000000001ecL },
  84902. { 0x2ffbfae311fdd6eeL,0xca5f04d003c1edebL,0xbd80684a5d3a2e52L,
  84903. 0x98d1a18d54193ab1L,0xc549cecef366fc87L,0xb194e11aa13ead38L,
  84904. 0x6acaf7b21882660aL,0x686c0c7bd2cad2adL,0x00000000000001ffL } },
  84905. /* 9 << 168 */
  84906. { { 0x1a90defed7b4fdedL,0x195bee8f6336c055L,0xe843d42796a94272L,
  84907. 0x86cae8e64d7dd6e9L,0x5403b7b7119151e0L,0x3314afc85037da6bL,
  84908. 0x6d7f8f8212ca9455L,0x3937bc09b94463aaL,0x0000000000000081L },
  84909. { 0x306e5a03cb8e9b37L,0x126473043c8b52f2L,0xc869679ef93cae12L,
  84910. 0x20f33375ab4f3d13L,0x90d9c5cf0501336cL,0x35c85984849df5ecL,
  84911. 0x42f846286244c6c3L,0x901d2a938b835c13L,0x0000000000000113L } },
  84912. /* 10 << 168 */
  84913. { { 0xb584b65394932b53L,0x68aad973af36cdd6L,0x2ac829a60bb4cadaL,
  84914. 0x403367f33f0e5d18L,0x412b28ad7dda08e1L,0xe7841355e24b3863L,
  84915. 0x5171c588093520b9L,0x9db8db4c5ec5762bL,0x00000000000001d1L },
  84916. { 0x8d3b541ec6238d25L,0x586350aec23dc89aL,0x8455da87fa4d8c25L,
  84917. 0x7adfdca316492352L,0x8fdb5c08c81f1590L,0xd5e01e0324773e80L,
  84918. 0x4a3b7f13dcc95928L,0xc08babf4f80b2facL,0x00000000000001e9L } },
  84919. /* 11 << 168 */
  84920. { { 0x37d8ad51452f6968L,0x9abf76030be46391L,0xc64ba0aa4f51f996L,
  84921. 0xb71cf4b72bef5fa2L,0xdadcbf144aea3eccL,0x86619a4a5ca7abeaL,
  84922. 0x17bbbd06af54e743L,0x70c9d3b76d5362ebL,0x0000000000000057L },
  84923. { 0xf2486bbdfbf53393L,0xbf16873cb87c38acL,0xca1694b587557348L,
  84924. 0x95ad3cb860dd9d75L,0x61177e70b097e1eeL,0xb481729fc4d1faaeL,
  84925. 0xaa07352130f14ce4L,0x8c3e81e6e534f9e6L,0x0000000000000104L } },
  84926. /* 12 << 168 */
  84927. { { 0x22d3054c1ab5373dL,0xbd4f796363adadc0L,0xfb4298ff2650904eL,
  84928. 0x2801e275ebdbc2c0L,0x1122ea0608190926L,0x41ec28d8b2e79279L,
  84929. 0xce049e5276667fcfL,0xc84223fa732778a4L,0x0000000000000081L },
  84930. { 0x56be4933666ff503L,0x0b396d37bcee9583L,0x1b469e0e153f80beL,
  84931. 0x3d42cd0932305dbbL,0x8c0d230527134efdL,0xb90a2abb08752f5eL,
  84932. 0xce873be8b5b796ddL,0x6a240d331b25403fL,0x00000000000001d4L } },
  84933. /* 13 << 168 */
  84934. { { 0x86aad63f60740f5cL,0x32b7cc316ee3ee57L,0x14340252a16df7d9L,
  84935. 0xc70632bd30867552L,0xc34ab941e536c3ebL,0xb8cea58f1b8c9771L,
  84936. 0x4f12848942876fc8L,0x2b6009fca2b9447cL,0x00000000000001edL },
  84937. { 0xc93452d882b5e6ebL,0x29958d78ac7dee6fL,0x22dd8fd9bf6fa7e3L,
  84938. 0xc59c69516a75f72cL,0x1c6101e36123b596L,0xf5907c48e3f2d479L,
  84939. 0xe5d0b6a671bd58b7L,0x840ff28c56d9185fL,0x00000000000000a7L } },
  84940. /* 14 << 168 */
  84941. { { 0xd89e1fe8330465deL,0x73a9c39780ef0efbL,0xb8200ef38ed739f2L,
  84942. 0xe0914b2f6ec1025dL,0x7f277714866a3ec9L,0x1c9b4cd05716d865L,
  84943. 0x176d3095167f3a3eL,0x85a16f0afcccac3cL,0x0000000000000177L },
  84944. { 0x767e84814f1e3019L,0x88b991b861f15fdcL,0x26cbcb752a17701dL,
  84945. 0x79f801348eed411eL,0xdd053c40411302fdL,0x35d3c2f030858f66L,
  84946. 0x0b53da7a9107a692L,0x9452396f37f9cacbL,0x00000000000000c3L } },
  84947. /* 15 << 168 */
  84948. { { 0x961404136bc539e8L,0xe6edfee1e4524c6bL,0x09749744d07cccf5L,
  84949. 0x1748b47ec03bdba2L,0x2690d0192bc9c91eL,0xd3f34165bade77f3L,
  84950. 0x1903c781805ee388L,0x56ede14320ee5637L,0x000000000000015fL },
  84951. { 0x4300285a7b5b9f4aL,0xdd3a022f1b6ae86eL,0xc54a8abe376288f0L,
  84952. 0xc1d8ec4f26e3394dL,0xa3979d7b91ce3ad0L,0x0aaf9ce7d1798cc8L,
  84953. 0xe972a6d14649a9b3L,0xb0d0e5b7f260defcL,0x000000000000002bL } },
  84954. /* 16 << 168 */
  84955. { { 0x327eec483e206f1dL,0x20bae09cfd9e0124L,0x90e15a5012fe91f1L,
  84956. 0x0dd6de71359590d6L,0xb47ff7877346265fL,0xf68c7538d72b31fcL,
  84957. 0x1210aa5e853e2029L,0x22955a4df09c0c81L,0x0000000000000040L },
  84958. { 0xe194dba07335f4a6L,0x9d6532fb4bde2f58L,0xfac563c59016930aL,
  84959. 0x626eaeefaf9e2095L,0x7af29b71b7d9fde1L,0x809b7fe436360bbfL,
  84960. 0x57b5e52de3cd1c8eL,0x52b9040937b01251L,0x0000000000000032L } },
  84961. /* 17 << 168 */
  84962. { { 0x2de80b5c1b9fe008L,0xd7a592bdd3848f67L,0x12505f695f8777c4L,
  84963. 0x596956be711b00a8L,0x04ead4ce34d9bb68L,0x87d1821cd0ed1006L,
  84964. 0x0f78cb9699acc9f9L,0xb77b5d17054b4885L,0x0000000000000081L },
  84965. { 0x61d1517fd4aa7593L,0xc1f884346683d4cbL,0x15409fa1c660ba6aL,
  84966. 0x5756c0f91e5e0b78L,0xa110b7ec1649f63aL,0x5a1b015f245a2867L,
  84967. 0x450aaadd6a15fffcL,0x2f44146d8f20e164L,0x00000000000000edL } },
  84968. /* 18 << 168 */
  84969. { { 0x34d354711d7c9b90L,0x02efc83e7cd3e5c4L,0x3bdce4d599838e28L,
  84970. 0x903b361fc09f1f79L,0x13c9e9250540eab6L,0x69f28111375ec845L,
  84971. 0xd35cefa96f3fb692L,0x7dd9245da6e1cd71L,0x000000000000007bL },
  84972. { 0xcf0e51b7d6693e85L,0x34584a15e14a978eL,0x38d36120591126beL,
  84973. 0xf26f3d52d1a5a853L,0x904a64964e97c262L,0x7f3089ff6ac89132L,
  84974. 0x1f8934fd38e0e5fdL,0x52e3fdf2cd20b982L,0x0000000000000134L } },
  84975. /* 19 << 168 */
  84976. { { 0x1c18f81921822327L,0x19d3895763107dafL,0xab3c2c5bbf02410bL,
  84977. 0x056973d48084f3faL,0xf6c0f0ad9c6c0e1eL,0x5813f6354715d332L,
  84978. 0xb1435e02d54f75b4L,0x483968e79f4ef80eL,0x0000000000000077L },
  84979. { 0xeb0da4e25a942323L,0x2236437f2120ac60L,0x16ee032f66313c05L,
  84980. 0x6bff696400a38fedL,0xf5b8ee71cf6d4cd1L,0x939c85b5fdc6617dL,
  84981. 0x1505c244a7fcfe0fL,0xa496610ab7881695L,0x00000000000001cfL } },
  84982. /* 20 << 168 */
  84983. { { 0xf915b3f2f47e55c4L,0xb163cda470610cf0L,0x822197f50a302cbbL,
  84984. 0x8d787800ad959227L,0x10c30f94571bc9ffL,0x2a28b5ab2caa7d3cL,
  84985. 0x35cdf34647775889L,0xc81fec4b397cc8f3L,0x00000000000001fdL },
  84986. { 0x83a251027f5a86a7L,0xfc270fdc49e2b112L,0x351f20f947f16503L,
  84987. 0x4fc2abe97820ddd9L,0x68391136093b9c29L,0x0bb983f1c6d0c759L,
  84988. 0x15a671860ea6b033L,0x56602ab7edd62f4fL,0x0000000000000125L } },
  84989. /* 21 << 168 */
  84990. { { 0x947fb594aba4398dL,0x19a131cb57bb07e8L,0x8f3be50326eac16eL,
  84991. 0x451e83c0f2546781L,0xb4139dd4e44ca83eL,0x38a9d3905dc48a1cL,
  84992. 0xfadb6d0641cfb776L,0x6ff29cc5eef89414L,0x0000000000000021L },
  84993. { 0xcbde6f766a7e915cL,0x1a7e27d2797752a6L,0xb09dd97ab6cdad5eL,
  84994. 0xbe5d66881bbb61b1L,0xc4b76c701fa85cafL,0x88282fbd92ee96baL,
  84995. 0x1681c7dde1b4e7a4L,0x3c57dd60ee3982f6L,0x0000000000000128L } },
  84996. /* 22 << 168 */
  84997. { { 0x54c8fc4e9f2b71f9L,0xb6c0fc49988e8120L,0xd2058da0c8927203L,
  84998. 0x16766dd5bd3f622aL,0x7ad98310f854d625L,0x4995d6bb55c5058dL,
  84999. 0xeecdf90c74bcfc75L,0x2d62d4faf4154102L,0x000000000000005fL },
  85000. { 0xbcfd7e5cc78ec9abL,0xba7846a3e9c8c551L,0x80ce88d165cbee60L,
  85001. 0xefda52b95632fdd2L,0xfeae287b8ddbf5e4L,0x8fe72dfa152ac780L,
  85002. 0x63f4561e614d87e5L,0x1a8d5a1e1190f43cL,0x0000000000000124L } },
  85003. /* 23 << 168 */
  85004. { { 0x14e9504a41cf60e4L,0x4d580f91ba2fc313L,0xc4d5ec9342122efaL,
  85005. 0xa5a21ef9a3107935L,0x190ecc1c466437b7L,0x696df2275126df44L,
  85006. 0xc9d6872cd8ae1dc6L,0x7e2fbe46f515214dL,0x0000000000000047L },
  85007. { 0xe226b86e0bb95f94L,0x77f82979db22d5b5L,0x059b2efca0b81578L,
  85008. 0x8994c684251b4724L,0x248ab92581c5c432L,0xd7a601bd7218d58cL,
  85009. 0x87e9d6e652fa557fL,0x94240f677c6717d2L,0x0000000000000172L } },
  85010. /* 24 << 168 */
  85011. { { 0x04b6642cc79728ecL,0x82006db7d4052ddeL,0xd7c03908da99c38fL,
  85012. 0x7ba70fb9a6637549L,0x1dee482cb94a286dL,0xa628ac2a01d36d7eL,
  85013. 0x4de12e5c003da5e7L,0x4f68a006e306d20eL,0x000000000000013cL },
  85014. { 0x90cb32d5635d5908L,0xa802b2585c89c608L,0xbb22484549a3be5eL,
  85015. 0x53f1fc3655480c5dL,0xa3eb1e7b0c070e5aL,0xd0e34a5af1abbf5dL,
  85016. 0x145ea8cb4b88db7bL,0xa9ff13bc839bead8L,0x0000000000000147L } },
  85017. /* 25 << 168 */
  85018. { { 0x30cf3767c86ddfa0L,0x6b3fd143eee9269bL,0xcebdd16d52204c51L,
  85019. 0x274b0dc204cd14b8L,0xb6e928505a86d610L,0x6b37ae54e6800db9L,
  85020. 0xd93efc3df84a0f79L,0x879d7dd56af06c52L,0x0000000000000101L },
  85021. { 0x8167dc1f83b6b8e3L,0x13e08ee718402d20L,0xf0186bf60b26ce15L,
  85022. 0xd5aa811535c6875dL,0x0c76d0c2c5ca2103L,0x5fc8a70593646cb0L,
  85023. 0x8afb8877a4ae3f67L,0xe2326f750e699723L,0x0000000000000143L } },
  85024. /* 26 << 168 */
  85025. { { 0xcf7d26bb15ba71a8L,0x000c8e8c0bfbfa5cL,0x718a54266f646f01L,
  85026. 0x7c0fa210dd018dfbL,0xb64adc0f384f7dcdL,0xc0c66542477625edL,
  85027. 0x871e593e2c75b53fL,0x96c1451fb9f00e20L,0x0000000000000060L },
  85028. { 0x8e0c5c99b1d5302fL,0xb2c5f34efd4421c4L,0x947c3fa92a1a9d1cL,
  85029. 0x6721f393881b28b2L,0x1b5513edddd050a2L,0xfb2d77941408593bL,
  85030. 0x3425f229e707ecefL,0x88c2673666df4ce3L,0x00000000000000aaL } },
  85031. /* 27 << 168 */
  85032. { { 0x5b7ecdb52c5f43eaL,0x53082afe02559d3bL,0x070e354264f68b42L,
  85033. 0x58d6c1aa7c879d43L,0xc41be80750405684L,0x955a275cbce7908eL,
  85034. 0xc70c146dbab9f5c9L,0xd31d7c27901ac701L,0x0000000000000010L },
  85035. { 0xdbc82b2bf7614365L,0x2875d55c32cd5ab5L,0xb395d08feaa9be8aL,
  85036. 0x97838c558ce9b4d6L,0xee22d8ce4fc6794dL,0xe401877623372c0bL,
  85037. 0x6dd2c34bfe0d49b5L,0xbcbcd109f128646fL,0x0000000000000105L } },
  85038. /* 28 << 168 */
  85039. { { 0xd0bdf16917216f79L,0x2a9d74a468bbe483L,0x6965b608e5c7b3b8L,
  85040. 0x83e8d0b290d8ddf1L,0xb27aa05509ba77b1L,0xbf4a09be67c32e3aL,
  85041. 0x5982ac195bf2c8eeL,0x764907324f70b752L,0x000000000000000aL },
  85042. { 0x1088b1f878a204d4L,0x40a0293f4d4e8a06L,0x312854a3af8d6f9fL,
  85043. 0xb1df39186282a51eL,0x9de32af13769fc44L,0x045404379a6d0abbL,
  85044. 0xdadc6c9d13185e57L,0x1f2b8d38e979f37bL,0x0000000000000012L } },
  85045. /* 29 << 168 */
  85046. { { 0x5f8a8c0d3ddd0191L,0x1f266a867fae699cL,0xefbd18d2bbbb048eL,
  85047. 0x648e5f90d1ab43b6L,0xf81591adcf10f706L,0x362ddc168ed8f28fL,
  85048. 0x2108b2c3f6b398e1L,0x1269ce097783a2c8L,0x000000000000008bL },
  85049. { 0xa6a691c37f465dfeL,0x8bfddfc027667ee8L,0x85db93c4e9bbb777L,
  85050. 0x77b3e07dc3aaecb0L,0x0bba38f41d6635b2L,0xb608d7f20156a865L,
  85051. 0x628c6f6e0f7e38f2L,0xddc70efd519f6429L,0x0000000000000069L } },
  85052. /* 30 << 168 */
  85053. { { 0x705bc9adde556ab7L,0xfd31b77a08c5f548L,0xe4d6128f47ccec97L,
  85054. 0xda6413aba2467e6cL,0xf551c43677e4ddf1L,0xd60ca0c72bc04c9aL,
  85055. 0x7ad228c8ff849e17L,0x59934f4e930f91a1L,0x000000000000011fL },
  85056. { 0xa76a8707868154b8L,0x15eca497a7dde8cfL,0xc7c5191877ab98a0L,
  85057. 0x3ea558ae7fb66e87L,0xdd8e344c48afd9bcL,0x2f65b11c119fb92fL,
  85058. 0x9dff92f896a00df2L,0xe2fde0a4be17daf9L,0x0000000000000057L } },
  85059. /* 31 << 168 */
  85060. { { 0x65ad3804ea9ec2a2L,0x44155525f7c6d675L,0x7c1934b57d7cdf15L,
  85061. 0xa9ac66b468cc4856L,0x98b006b4ab305ce3L,0xc0bbc4242c87391fL,
  85062. 0x1c8056caa6fc5d89L,0x91c2a6af74ba9ca6L,0x000000000000007dL },
  85063. { 0xa0b6f93e661a095dL,0x91a7b4d05deac6cdL,0x151ef226bb2331fcL,
  85064. 0x37ebf47e93095466L,0xab8aa36598606ec4L,0x27d7aaadfc03f039L,
  85065. 0x0c431597fdd46012L,0x0556f5285af06a03L,0x0000000000000118L } },
  85066. /* 32 << 168 */
  85067. { { 0x7eff6eb56037ff54L,0x78cfc774963e7cb1L,0x48d139d16b3956a1L,
  85068. 0x3265461a619f159dL,0x80dcb967a3b1db5eL,0xdb164bf4f293c925L,
  85069. 0xb0a372de83b65b62L,0xda262fd344760c21L,0x0000000000000058L },
  85070. { 0xa8f9432da6dfc562L,0x0c7b74ecdc54c213L,0x56b4b751df24c7e3L,
  85071. 0x5b32314bb42c77d2L,0xcf2312a419053195L,0x60bf22144f2c75ebL,
  85072. 0x0207884171877095L,0x8acd999da44f75faL,0x0000000000000152L } },
  85073. /* 33 << 168 */
  85074. { { 0x45a2719a8907ce54L,0x013d1b3aea166fa5L,0xed88621b21199f5cL,
  85075. 0x7700e61eede4254bL,0x5939852d884c08a4L,0x19734a9b2d1d89aaL,
  85076. 0xa246df9f0dfa3941L,0x9879316c979c73daL,0x0000000000000151L },
  85077. { 0x8dbcc1180b113864L,0x7ee1a88ce82525b4L,0x0c43f86653bea16eL,
  85078. 0x37ff6f028824f34eL,0xfa8838b9b027581fL,0xed25a70c8647d511L,
  85079. 0xd63ae1953618e600L,0xcf0b98339b9a93d4L,0x000000000000003bL } },
  85080. /* 34 << 168 */
  85081. { { 0xd506324903eb9185L,0xf65164dd7c1fcccaL,0xb69558864fb70360L,
  85082. 0x0d697e8afac2988cL,0x9c4c06a537c97636L,0x635c88f58055600fL,
  85083. 0x4ea4c09a74703af8L,0x81ec33b9e7a75723L,0x0000000000000089L },
  85084. { 0xda9a2dc047213f93L,0x6ed717efabaac078L,0x3076325bed22d7f4L,
  85085. 0x951dc05863bd3f8bL,0x77f1cf965b1c8d00L,0x9dea7ebab5941b35L,
  85086. 0x293095f4d4e61491L,0x0e7ead86eb9ae037L,0x00000000000000d2L } },
  85087. /* 35 << 168 */
  85088. { { 0x39f9f819f6c209f4L,0x089db5253c2a5cb7L,0x20c5ff24accedeb3L,
  85089. 0x82f84b46d2b5c3fdL,0x1a1ed43fb90a33ffL,0x436766d3e973e5afL,
  85090. 0x2294111437456b11L,0xe860807c70ae9ea9L,0x0000000000000059L },
  85091. { 0x9009e20ab72f6cccL,0x741fefc4fe6e5cafL,0xf1a848dd63098fc9L,
  85092. 0xac752a505ede32ccL,0x9efccb9732ba5b6dL,0xb2856b15b94e8d20L,
  85093. 0x99e35bc499607f7dL,0x113f31762f82564aL,0x00000000000001d6L } },
  85094. /* 36 << 168 */
  85095. { { 0xea8b99529f5e6fbaL,0x667318ea35ac6c04L,0x7485f1c55ed348acL,
  85096. 0xee18ff33019501b6L,0x90107a5f3e904e7dL,0x2ec33497aed29e07L,
  85097. 0xafd289974c20de45L,0xc48cd0bacca26170L,0x0000000000000018L },
  85098. { 0x9ba74136a948ebdbL,0x78ed508ac81acda0L,0x9facc76fef5fedcbL,
  85099. 0x36faeef8a3b6ddffL,0x5624949573b54036L,0x089e6fa3c9408662L,
  85100. 0x1604ae228f9f0744L,0xc1297a7657db098eL,0x0000000000000065L } },
  85101. /* 37 << 168 */
  85102. { { 0x3992cb6807815aaeL,0x7195db4f1b803175L,0x97cd250b424fb1cdL,
  85103. 0x016049f38ff45927L,0xb64141ada1ad30f3L,0x8f16a5857dd25547L,
  85104. 0xaec66e6aea7f6a7fL,0x4dd29ee57846a86dL,0x00000000000000bfL },
  85105. { 0x6e964890f5112f11L,0xb011a6269bb780f1L,0x6e448385bd208e60L,
  85106. 0x5210e0dd83eb0a37L,0x996090715d94a88dL,0xc8bfcac7273e631fL,
  85107. 0xfc414a18bb2f9b24L,0x975182160c054385L,0x0000000000000196L } },
  85108. /* 38 << 168 */
  85109. { { 0x9b304aea874e82c3L,0xffbfb0822b7d090aL,0xd9196a7d06ec403aL,
  85110. 0x9209f5cde36151faL,0x8935c8aae25e0c13L,0xdb1a4c7716593d65L,
  85111. 0xd1e963377d694686L,0x4356bae0e08dcb7eL,0x000000000000001bL },
  85112. { 0xea20f2c0c14af785L,0x48d27833a4295f88L,0xf05d85ca6c7d3114L,
  85113. 0xe58db881730ea2d3L,0xdfbe2a686b20c2a2L,0x31768d41efcae9f4L,
  85114. 0x9cb4a4e393d8386bL,0x63ce4ef1ad75a399L,0x00000000000001f9L } },
  85115. /* 39 << 168 */
  85116. { { 0x5614856e14f693f9L,0xee48d0157ccc71a7L,0x943ba66129590c3dL,
  85117. 0x154b5cc174db3bfaL,0x3d1ee077d73d37dfL,0x05d5e0cea58a17d2L,
  85118. 0x6abb262dfdb1cf05L,0x858b3bec8b39082fL,0x000000000000013aL },
  85119. { 0x394f12df6ac53fe7L,0x9d14a39e3a811443L,0x051a0ce3addbf1b9L,
  85120. 0x7e4fc131013bd7c8L,0x5795cfb876750d1bL,0x14f8ee5d3ab7d068L,
  85121. 0xcb83f31d2f526886L,0xe6f51eea0b3f327eL,0x0000000000000032L } },
  85122. /* 40 << 168 */
  85123. { { 0xe17cf4f985e05448L,0x5e29ec55936b85d7L,0x5f4969344230c449L,
  85124. 0x6fc1d8a08206a6f0L,0x399712364d5d2de2L,0x42689259be3a7848L,
  85125. 0x77279b58c493be56L,0x43cbcf5c7d422c0cL,0x0000000000000004L },
  85126. { 0x6b1df3f0438b9048L,0x293cee3bd53799a6L,0x44b4dee8945bae0cL,
  85127. 0xdf3236a21fc75aedL,0xead6de57fed25024L,0x68541a4ce87d013fL,
  85128. 0x72be3aeb4a734d6eL,0x5e84735bc7371e3cL,0x00000000000000f3L } },
  85129. /* 41 << 168 */
  85130. { { 0xd3aca247bfebd246L,0x7d956df376ca7483L,0xb7b30bf20f3a19b4L,
  85131. 0xb062c4b5697de983L,0x31cdaf2d79521344L,0xb8daa6236ced6cf0L,
  85132. 0x73830cc4156e1821L,0x6364e445b8644ed0L,0x0000000000000152L },
  85133. { 0xb26d84846704d687L,0x42ebf82d2c2b018aL,0x68b526dcdc65295eL,
  85134. 0x145615d496530ca1L,0x3ece93877955b80aL,0x177d234769f38006L,
  85135. 0x19f33f4c84e14bbaL,0x01c98346e0704d10L,0x0000000000000082L } },
  85136. /* 42 << 168 */
  85137. { { 0x735eb443357ba15dL,0xdfa17a9a54409ca0L,0x6ef5378cabc39f28L,
  85138. 0x7936cd2a1ccd0467L,0xd85db56a5c9af9e0L,0xfcf9e3d12316133cL,
  85139. 0x3904ded86c2487c6L,0xbff674d2b8cc515cL,0x00000000000001ceL },
  85140. { 0xbb912bd83ddb6e4dL,0x9d82f6936116dc27L,0x3b72986d952ee214L,
  85141. 0xc932e3fd03c36dd4L,0xd787bc68500decb3L,0x39092ea64b6dc85fL,
  85142. 0xb3cb876162e68168L,0xc4df21b060e2d9eaL,0x0000000000000029L } },
  85143. /* 43 << 168 */
  85144. { { 0x77cf38dd8b9bbedeL,0x7b0a344f7b110970L,0x18827ec691d85793L,
  85145. 0xea6a1f394d11d455L,0x2fcabbd4a81e87bbL,0xeae28f10dc775f92L,
  85146. 0xa3df2a95e8acef4dL,0xc5e112384901a4f9L,0x00000000000000c1L },
  85147. { 0xda7885dbc589a008L,0x1054bc12edbebdf5L,0x24ffbe9e60727f53L,
  85148. 0x89be3122c2e1b79eL,0x28e91a4be68dc55cL,0x2232a01160a852c4L,
  85149. 0x578de9e994036a7fL,0x6e5b3ef4936e8e5aL,0x00000000000000e7L } },
  85150. /* 44 << 168 */
  85151. { { 0x8a7b02d872e5f18bL,0x29c3db48b8dd1860L,0xf3b0f47fa5b307f2L,
  85152. 0x6bc9ea8cbaf7b51bL,0x6651b8dfc59c6616L,0x11df28a9da6f33adL,
  85153. 0xc8879af48b93d7fcL,0xc119ade4e9b03431L,0x00000000000000c5L },
  85154. { 0x6bafe0406631c4f0L,0x4ecf64f6c34562b8L,0x1ceb750c3c4c04caL,
  85155. 0xadff4c89b93e2106L,0x9e281057459e3e63L,0xbf3b3cdd4b54f2c3L,
  85156. 0x7547b18beb880314L,0x34d7af52e0663b30L,0x000000000000017aL } },
  85157. /* 45 << 168 */
  85158. { { 0xcf9abd89b41c4c8fL,0x5232bc8561dc8213L,0x02da5b3b1cbcb9e4L,
  85159. 0x43ba9d21f98b522fL,0xa061c2b6534bf7adL,0x5f375638a48855a3L,
  85160. 0xa0450b26113089e3L,0x9ce6a8484ff249d5L,0x00000000000000b8L },
  85161. { 0x9fbdac93bedac56bL,0x4f95bd5bcdf67eb4L,0x657253778d668ae4L,
  85162. 0x762845ea23c3aa43L,0x3af6d2c21ff463b5L,0x6f2aeb6c0ec166d2L,
  85163. 0x134f65a49be5d26dL,0xeb728f6afabccaddL,0x00000000000001a5L } },
  85164. /* 46 << 168 */
  85165. { { 0x4a0927077c43553cL,0xabd2598f43690980L,0xab06313fa8572f82L,
  85166. 0x56e8f3ac4cb0844fL,0x0bd7554aa69f60b1L,0xadaa48b599f8ff55L,
  85167. 0xc7f85e160e0ed3d2L,0x906dfd3f77e510f2L,0x0000000000000064L },
  85168. { 0x1629167574a41facL,0xc679c38178d601bfL,0xee9838c2bd9fa391L,
  85169. 0xe1fabfc20c7f88abL,0x7759b0943183eaaaL,0x62bdc1f4cf96a23bL,
  85170. 0xaf85e735b9a8dd9bL,0x1be45d2bfe461052L,0x000000000000017fL } },
  85171. /* 47 << 168 */
  85172. { { 0x8add55157869f938L,0x8328e90a3567ecdbL,0x265f489d0ab7633aL,
  85173. 0xda46aaa44a9a5a8dL,0x725f698404b3b4a5L,0xd5cb793e1d7e98acL,
  85174. 0x77a2e141b724608bL,0x711415c04b81416cL,0x0000000000000173L },
  85175. { 0x5d2381001f95cc6aL,0x8eeb20613f6f9261L,0xa9f048ce38ff1f73L,
  85176. 0x39ff65199978b00cL,0x1e81ccd1a7a52e68L,0xfd1103a50c01e3a2L,
  85177. 0xd533b3a501de60d6L,0x7746c9c4374412d8L,0x000000000000013fL } },
  85178. /* 48 << 168 */
  85179. { { 0xfbdd71d76da23955L,0x58aed61e4e9dca11L,0xc8f75ddcc41906acL,
  85180. 0x37020b118ae30a21L,0xf91295233fe85c4fL,0x201400fdbe4b3724L,
  85181. 0x9739962d3a2d4446L,0x917e35cda0f4b655L,0x000000000000018fL },
  85182. { 0x99496b29ae9e0ffdL,0x98a9369f6dc1cb95L,0x5db5ca11cf116e11L,
  85183. 0x3df10d8508fb818cL,0xddc80cc991ddcd37L,0x8e8647da496af53bL,
  85184. 0xe244c394573a894aL,0x056a45e741b4de2dL,0x00000000000001a1L } },
  85185. /* 49 << 168 */
  85186. { { 0x84c2553f194efd8eL,0x15247b56051d3139L,0xc1e3437f7cdf7295L,
  85187. 0x8c154778be6ef662L,0x809b77523cdb4e9aL,0x573cbaf2cf155669L,
  85188. 0x083e1d6cc2fec451L,0x879d2b2408e53cb4L,0x00000000000001f3L },
  85189. { 0x6ed740af3991a529L,0xcf5df2320ee78333L,0xd597b1865f2a7fe1L,
  85190. 0x169b4d47e1da55b6L,0x4b61da2128866db1L,0xbedf5c1851a98c39L,
  85191. 0xbcfa723bd4c47affL,0x293bc51c24bc0569L,0x0000000000000193L } },
  85192. /* 50 << 168 */
  85193. { { 0x2a3902169926b505L,0x8d78ef77e00be256L,0x1b4243060813f0f7L,
  85194. 0x7bbe8aea99e1bfc2L,0xee0d8bfb2c16d048L,0x0f52f62c16927281L,
  85195. 0xfa1eed898b0aab8eL,0xc960284b03aa8ec9L,0x00000000000001f0L },
  85196. { 0xc0cea54084e2c7d4L,0x2c967298631cd12fL,0x9d363cee377d24ddL,
  85197. 0x8044dcd6a5143a2eL,0x827cd09de5438b71L,0xfa445ab5e086affdL,
  85198. 0x6bde5b7ea21ab95cL,0x473e55f7e1344c94L,0x000000000000018dL } },
  85199. /* 51 << 168 */
  85200. { { 0x1806b23055de5e11L,0x66181382a8b7907bL,0x9a53b2cd761b28ffL,
  85201. 0x99b04005e0d8111fL,0x2329d028af15774dL,0x0c69a9aeed7ab9b4L,
  85202. 0x679b29e25ba9fb26L,0xc4da383c1109c306L,0x0000000000000096L },
  85203. { 0x0c596d701ec7b181L,0x2320a21d38dd635aL,0x76fb5cbbbef074c3L,
  85204. 0x659c69f34c245d5aL,0xd4cb6c4f73910addL,0x7a9b35b02bcb561aL,
  85205. 0xe6a998c30b42e5baL,0x1d13f70aedffeffeL,0x0000000000000050L } },
  85206. /* 52 << 168 */
  85207. { { 0xb063202f31fe14fdL,0xbb003d9c8bbc840cL,0xf0e2d2cc3d91dd50L,
  85208. 0x09db1c24722cafcdL,0xdb3b82e189c2e546L,0xe719cfa86f470d17L,
  85209. 0x909871aeb4c59142L,0xbce979234a64f3fcL,0x0000000000000112L },
  85210. { 0x95b635710d88533eL,0x778f74c30006844eL,0x2821500ad11a08e6L,
  85211. 0xcb91cf3a0d64bdc9L,0xe1ae9e56e2129232L,0x7f7c927ab11ff55aL,
  85212. 0x8db638e4416ac07aL,0x3a38dd3d1d2c2dc4L,0x000000000000002bL } },
  85213. /* 53 << 168 */
  85214. { { 0x12c5026f19d3a430L,0xebd36b518531be4aL,0x2d0eedc93dca12efL,
  85215. 0x441f0dec6cc652f4L,0x8b0fd67bf1272c4aL,0xd9b90373ecb89af5L,
  85216. 0x75514cf9029341daL,0x438f0a8da9e45ec9L,0x00000000000001d0L },
  85217. { 0x79fa46f4b976862eL,0xbd0b6a77cc80c75aL,0xf37779ebb69d3f59L,
  85218. 0x77b1d47d8cfc2042L,0xab8c9d21eb6f9983L,0x02620b797cff3615L,
  85219. 0x4000cec1d74dafd6L,0xd5cc4e4a5cc17f2fL,0x000000000000000aL } },
  85220. /* 54 << 168 */
  85221. { { 0xde6d2f0250b19dedL,0x17e09363c883d0e3L,0x583f1980473a0d98L,
  85222. 0x669ec3ddc3666af9L,0xfc4c58c495d4ca2fL,0xcbba5d0a4125183cL,
  85223. 0x878a81f19cd646daL,0xc3fb9edf12f64d9aL,0x00000000000001eaL },
  85224. { 0xdb504ffc97bd5280L,0x05aedba0a49b016aL,0xfdada5630d234e6eL,
  85225. 0xf7d210f9201efad7L,0x41e2fadcbad7f0c4L,0x8746684bf35f6af5L,
  85226. 0xebc37b5a8f816409L,0x5fe729b874ccb6cbL,0x00000000000000feL } },
  85227. /* 55 << 168 */
  85228. { { 0xfdc15977e34a2d53L,0x03a3ecd71eef5a01L,0x4a024948549c37d6L,
  85229. 0xf9b6ebba3572805dL,0x8468d745a3904985L,0xa446d8636fe46f66L,
  85230. 0x6425a52a6242e469L,0x0d8ea4349722c51cL,0x00000000000001dbL },
  85231. { 0x11603f9e75d953e9L,0x424af418470a0f3dL,0x62dec6c2e5d8071dL,
  85232. 0xd26d146f32dad225L,0x99f756df8f286bb3L,0x4c0f5d7c1dd19cbaL,
  85233. 0xdb43a2d1dbe50905L,0xce07db2555d15d34L,0x0000000000000145L } },
  85234. /* 56 << 168 */
  85235. { { 0x060ad0b2473d5f1aL,0xba73eccaf0d23a2aL,0x38ff0b96b44913b1L,
  85236. 0x551791f011ef6a24L,0x728c5333b5d8ff2aL,0xa22a2fb1f6c23b09L,
  85237. 0xfbf8a99a6442b975L,0x2433fcf020e16f2cL,0x00000000000000d2L },
  85238. { 0xd98e567c33ad7094L,0x386b2d8e3689fe95L,0x842afb8d5d2e0b51L,
  85239. 0xb04c9c8d2f412733L,0x09acadadc3a3812bL,0x6ca2083c78c320ceL,
  85240. 0xdff84922933deb8fL,0x729eef0f270fa28cL,0x00000000000001ecL } },
  85241. /* 57 << 168 */
  85242. { { 0x0e70ba30d1457b21L,0x06d7b4372aaf52a4L,0xb5fd37195a0d8d07L,
  85243. 0x57f2d337eaca1022L,0x2fb19653b038b66dL,0xb7aab5519f1835a2L,
  85244. 0x183eb2b9e5565ff2L,0xbe91ace36018b442L,0x0000000000000052L },
  85245. { 0xcfbd5ca05082d526L,0x4f358cf275761316L,0xe67eeb30dbf98fffL,
  85246. 0xf3719573a45ffb48L,0x1fe011d829cc0c3fL,0x640743f0507ad2f6L,
  85247. 0xe2e66fb4d225c2fdL,0x37933dcbf3f6de1aL,0x00000000000000beL } },
  85248. /* 58 << 168 */
  85249. { { 0x56d47bc171146be1L,0xeb3ec09f4e911458L,0xa9dff639184c52e8L,
  85250. 0xe68567f4b5d0a63eL,0x1c2ee8b7126e32dfL,0x731d04202898412eL,
  85251. 0xfc01fc84e0b2f347L,0x0599ae70d031d939L,0x0000000000000011L },
  85252. { 0xb90a4fc12e48754aL,0x8c4c8dcccfc67435L,0x8986e7b11cd90cf7L,
  85253. 0x080af15a92813705L,0xf31e604f94c68b5fL,0x178bab1966ad70b8L,
  85254. 0x017bfa632a529227L,0x1e4d20d3e0e9d229L,0x00000000000001bfL } },
  85255. /* 59 << 168 */
  85256. { { 0xd7680aaa26e31466L,0x90f7d3a84ed9df83L,0x7ce63b23f4cc85fbL,
  85257. 0xc97e8e4d3d2b2ee6L,0x8e1b908f2f0ca474L,0x6d334abfe6f70df8L,
  85258. 0xc8ba8486ab24e38dL,0x21f8763be7ca8513L,0x000000000000018cL },
  85259. { 0x238477ee82cf6a21L,0xbd6b5c610164a8f3L,0x4a931e61674dad92L,
  85260. 0x48f0a0a926e566deL,0x0e8886143f5f44c3L,0x42f5473b4302e1beL,
  85261. 0x322092857a5fca8fL,0x4f77cc8c4b4b7cb1L,0x00000000000000b2L } },
  85262. /* 60 << 168 */
  85263. { { 0xa1dc7875d24cc937L,0x8bcc5f83efc3446bL,0x26da651ee8126a41L,
  85264. 0xe784188a356f436fL,0xa5765424d774138aL,0xfc685d4cc8a96662L,
  85265. 0x036ac0f080a3fd62L,0xec41502a6dd04e6dL,0x0000000000000006L },
  85266. { 0x6982079813ec2f1eL,0x52ceaa44e8f956dcL,0x9f8211bc6c221df1L,
  85267. 0x4cedf8cfdcd0689bL,0x915c690a05fbe468L,0xb745f676942032b6L,
  85268. 0x531dfaeb81ab170bL,0x63163f66951d11b4L,0x000000000000016cL } },
  85269. /* 61 << 168 */
  85270. { { 0x59a83a30ebfe0068L,0x532358c703d578c0L,0x20e092c3d7cb9ad8L,
  85271. 0xea469bf62dec6c49L,0xcecff1a9d541249dL,0xe8346d1ff9970638L,
  85272. 0x90c33c61a2e00cb4L,0xaa2babde0c03ebbaL,0x000000000000015eL },
  85273. { 0x6905928fd6423e1eL,0x68fd55acb4419fbfL,0x9475915a53727da0L,
  85274. 0x6d4d6b768dd0d218L,0xeca16dd535e418acL,0x67962c9e28ea6a4eL,
  85275. 0x7e5a60333071a0a4L,0xcaa404212bdbb2f3L,0x00000000000001cfL } },
  85276. /* 62 << 168 */
  85277. { { 0x24a1ffcd85febcc0L,0x4e2d4cce5fd15677L,0xa52aaecdf168ed5cL,
  85278. 0x7fc6ca94de1944d8L,0x7b058166dc2e18f1L,0x6ebb51366c4c7ac7L,
  85279. 0xa11f966fd06c33e4L,0xcc445c9f1e602e6aL,0x00000000000001e8L },
  85280. { 0xd8622d0945fc989dL,0x48b4f9dfc820794dL,0xb3a22f12ceff02c8L,
  85281. 0x1fb5feb7350fc5d3L,0x6590d85b716bd79dL,0x923b166fb46d3df3L,
  85282. 0xae7d111bfb66e05dL,0xf869c3913e382cb3L,0x0000000000000035L } },
  85283. /* 63 << 168 */
  85284. { { 0x91592d60beca406fL,0x2d8ce8f2838ff992L,0x194caec60bba2292L,
  85285. 0x38833614c8d8769dL,0x04f36284a443febaL,0x3352e7afed8c2369L,
  85286. 0x431ee9dbda6ad421L,0x2ffd00f078f1f563L,0x00000000000000d8L },
  85287. { 0x47fcd60325da5fc7L,0x5b55a33e45b44e69L,0xa8ea02a5be9c36d7L,
  85288. 0x510aa45fcd6fb386L,0x1378ce53b8adeea6L,0xcc015dd0847ef47cL,
  85289. 0x77f3813358f44061L,0xca4610c8de8eac82L,0x00000000000001a1L } },
  85290. /* 64 << 168 */
  85291. { { 0x0cfa67a640b0a066L,0xe97c179e8057a710L,0xb69d285227cce600L,
  85292. 0xf7dde8c5419687d1L,0xdbcb15185d5b039eL,0x3e47772fd99abbe0L,
  85293. 0x71c9c23ab2a9c6a0L,0x5af10b9b94496951L,0x0000000000000152L },
  85294. { 0x0f96137f2c91f83aL,0x1f743fa449f15b33L,0xd43b3ec0ccb4c1b1L,
  85295. 0x895a3be3cfeea9b0L,0x27c3b4959eefee4dL,0xf1b4212712e344eeL,
  85296. 0x023afa76ff929c1eL,0x3078097686d07325L,0x0000000000000166L } },
  85297. /* 0 << 175 */
  85298. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  85299. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  85300. /* 1 << 175 */
  85301. { { 0x48a2fc84658b96b8L,0x039af24c465ebf34L,0xa7a9b0144f404eb3L,
  85302. 0x80176ef0763ab5c4L,0xd4984b136b5617adL,0xa6a39ed89195ee81L,
  85303. 0x1ce2974905c2eff8L,0x78aeff6c1281fa56L,0x0000000000000199L },
  85304. { 0x40cf462310374f0aL,0x89212e99958219f6L,0xe7599b2027b97cbaL,
  85305. 0x1ae1cb659e551710L,0x62881658502e6670L,0x8f78ccf876e23a8cL,
  85306. 0x78e165ad732cc46eL,0xd6b5ab1cf7670684L,0x000000000000014aL } },
  85307. /* 2 << 175 */
  85308. { { 0xb342d85dda44ff51L,0x54ba0522d08596ffL,0x3da8e8ceb0ac99c2L,
  85309. 0xcebe6a9691f37dcbL,0x8ebad3d9c24d7d1cL,0xf11a4319c75945efL,
  85310. 0xd4dfe534ed1ac001L,0x745e27721a521e4dL,0x00000000000000c4L },
  85311. { 0x745e5b41df65e0bbL,0xf8887b533b84ed58L,0x1a54bc479c0684eaL,
  85312. 0xfd4f1d36ce9c7672L,0x490bc265ce5730fcL,0x2fa1ad6d8430adb9L,
  85313. 0x0f117bdcb7db19b4L,0xbd339a789c246e44L,0x000000000000005bL } },
  85314. /* 3 << 175 */
  85315. { { 0xbfc7e834db350c46L,0x3c5690ac4efc9f55L,0x2fa3c78e3dac8271L,
  85316. 0x0a74acbe0c8572aeL,0x8923620856c68aacL,0x8fca20bdc305b75fL,
  85317. 0xb42c64d995be9334L,0xa738887613fa1dedL,0x00000000000000cfL },
  85318. { 0x03c242e114b5ce0aL,0x89ee94768381d1adL,0xdd3c7dcb2d1ceb97L,
  85319. 0x64f13ad71ee7368fL,0xa014619a5ca7fdc4L,0x5a62e9bd3cf1e7aaL,
  85320. 0xb9e9288a45541059L,0x3008f4f6055be852L,0x0000000000000019L } },
  85321. /* 4 << 175 */
  85322. { { 0x5f8fd91ae19a881cL,0x355105b08cf8a2c3L,0x442b97782810e499L,
  85323. 0x930d835ada7972c5L,0xd2266522555ef4d8L,0x943d9adb64e05b06L,
  85324. 0x480bd27f42fc02faL,0x9265b289699e5b7eL,0x000000000000008dL },
  85325. { 0xb60df9c855c7cd14L,0x62131e73270e2672L,0xe6983794672942b7L,
  85326. 0xbf8c55d1817db72eL,0xc3785f3608a5963dL,0x4a6646098f39218cL,
  85327. 0x95c868541b5b49ccL,0x045a0243178df85cL,0x0000000000000019L } },
  85328. /* 5 << 175 */
  85329. { { 0x52a05628990339a3L,0x5ef0637a72ee1accL,0x88b9dfca0eb46118L,
  85330. 0xc529dec836cbba9dL,0x0a9a77cd549d674aL,0xba2d3b7b6e878eebL,
  85331. 0x3585c2a2ed48127fL,0x79c54417a4fc7430L,0x0000000000000130L },
  85332. { 0x70f7b87e0affc41dL,0xf0e0487fd5b72949L,0xd9b820bb6ad325efL,
  85333. 0xd3d96caf9a05b4d4L,0xb4785d8a951e1dbaL,0xcb985c219eb25fc3L,
  85334. 0xb11c96769313e51fL,0xd6e66bc87fc01e6fL,0x0000000000000100L } },
  85335. /* 6 << 175 */
  85336. { { 0xccc1bb64b666ff60L,0xe786f358ba04b5c3L,0xbcd5e56d384c0ad4L,
  85337. 0x5d22436fd0372bbdL,0xfeea9ed9a061a543L,0x6f81f168fa3d34beL,
  85338. 0xf52059d24ba47193L,0x5ff055894ada65adL,0x000000000000006fL },
  85339. { 0x346aded56d4cabf2L,0x65e4b11f4f1a8ee1L,0x1521718b07eba73aL,
  85340. 0x8a2f32bad16d7d56L,0x01d49595d3acbb17L,0x67625faad3f62095L,
  85341. 0x7c3cbecf613b6059L,0x3908f6506118c496L,0x000000000000016bL } },
  85342. /* 7 << 175 */
  85343. { { 0x98a6459bb3ccbfebL,0xf71c7a35cafe23f3L,0x7bb7dc9d87162f32L,
  85344. 0x547b6132e519e8a5L,0x3663ff8b259f407bL,0x5bf1ec1a75b127d3L,
  85345. 0x00cb4c43429402e3L,0x129914ec09801ce9L,0x000000000000017eL },
  85346. { 0x4ce81e8a0e74a262L,0xd40155c7834f3480L,0x17b56afeb5575007L,
  85347. 0xd977fa3a692ceb5cL,0x6efadcc239b47d03L,0xdcbe2b844d776ac4L,
  85348. 0xfdc2c5f16ba4ae9dL,0xada2148824840515L,0x00000000000000f1L } },
  85349. /* 8 << 175 */
  85350. { { 0x06494428cab2443dL,0xc52ad2d86afd7840L,0x8ef6e0a6fce7b5f7L,
  85351. 0x6151d2b3a82ae7e3L,0x08abb38a14e3b825L,0x9782e6f9366cada3L,
  85352. 0x9f0127b25076c2ffL,0x2f29b7282d812ed5L,0x000000000000004fL },
  85353. { 0x7142e7e004e049f5L,0x9338a870d7f99e76L,0xf7e4837b72a90177L,
  85354. 0xa7bff79911aacd17L,0x5442d6f2d1d10b06L,0x986e7bc45ecc3f54L,
  85355. 0x02cf381831286fe1L,0x5cdc56d1cd383eacL,0x000000000000002dL } },
  85356. /* 9 << 175 */
  85357. { { 0x3383252d2cc34f63L,0xffaab47215c2cf2eL,0x04fb57cdf89242edL,
  85358. 0x6b87076af9b1e42fL,0x9ee7a62c24682e88L,0x23d9fb1a99ffae3bL,
  85359. 0x24a055cdce125019L,0x33ba5705ebdee308L,0x000000000000019dL },
  85360. { 0x911f2dd9f00fb803L,0xbc3c90d88ccecdf6L,0xac2a5eead4d059dbL,
  85361. 0xde8cfc4cc3dc4a6fL,0xf51a932dc565a8b6L,0xe0ac04382b13a372L,
  85362. 0x6f9dc1bf079c4979L,0x386c19b4d0c32e09L,0x0000000000000068L } },
  85363. /* 10 << 175 */
  85364. { { 0x7303ec69c80291f9L,0x0f2c64390c9ff7f4L,0x96c08ea0f3ada285L,
  85365. 0x3cb50f3ddeae887cL,0xaba571fafefe26dcL,0x4e4dba336c6f1071L,
  85366. 0xf5796982f02bda38L,0xa59c60b140485de2L,0x00000000000000a1L },
  85367. { 0x28d7c281cab044f7L,0xa5eb04fe515d247aL,0x5b42d919ba014b10L,
  85368. 0xb150b4fbde221cc1L,0xb5cb8c3a22a5a502L,0x62c0da97cc37e34aL,
  85369. 0x4b9bfb1f9e827814L,0x96666256c97679acL,0x00000000000000e6L } },
  85370. /* 11 << 175 */
  85371. { { 0x0df173a23adf88d8L,0x519aec4c0cd5f80fL,0x83c410d4af5f84deL,
  85372. 0x9cc04e5db1f7f73aL,0x1aec97b529db8865L,0x12748d28220ee9e1L,
  85373. 0x9fb6df0a4d6669a8L,0x02305a83b3714010L,0x00000000000000f4L },
  85374. { 0xbd96e2ea2c8a86caL,0xc5436ccd0f9a14c0L,0xf428f7fcf0d34672L,
  85375. 0x952b703956697a68L,0xdffdd1770bbf56c6L,0x8b4ea6932b65057fL,
  85376. 0xdcef28d3630e47e4L,0xef879aca74cb48baL,0x00000000000000b6L } },
  85377. /* 12 << 175 */
  85378. { { 0x415fab9a8b894ac8L,0xb189914d64822449L,0x0abfdbf50f4b9444L,
  85379. 0xa333e872eb96cf1fL,0x91d3473db8c5318aL,0xbb5740e624d09cb4L,
  85380. 0xebe6ef7f5b5d73eaL,0xbe33338809f67393L,0x00000000000000fcL },
  85381. { 0x9970d38e1ffa22b4L,0x00d1fb74003e55f9L,0x0d1ef824820f7bfdL,
  85382. 0x4352125173fc040dL,0x295f8a66e51b5870L,0xceacb67d3dbfe159L,
  85383. 0x0ee77417a218d2feL,0x25a0e0a9f3b7d44aL,0x00000000000000f8L } },
  85384. /* 13 << 175 */
  85385. { { 0x3e2e135a15a102e1L,0xa4b33d115fb3faf6L,0x12da9549693b3a58L,
  85386. 0x32c39adbee7132b1L,0x87da9a38fea6b800L,0xd32b22eb92074fa9L,
  85387. 0x3f8d05570673a898L,0xfededb49a5044d27L,0x00000000000001fdL },
  85388. { 0x89658bcc94e1a724L,0x5ad21f6e48a02c0cL,0x4d17fd1d0c70669fL,
  85389. 0xdef09b95709fc4a4L,0xbbf206eb610ed18eL,0x4f454d2e2282af7aL,
  85390. 0x5c8334bb75660c93L,0x0037d62bd4064169L,0x000000000000006fL } },
  85391. /* 14 << 175 */
  85392. { { 0xc1f7698483ef0448L,0xc4d18389fb276974L,0xfef2c810e52836c2L,
  85393. 0x3687104bc09e4020L,0xec3248ef0cc4bf06L,0x38daa51bc401078bL,
  85394. 0x84bd9f6157bc72f2L,0x68b23e45003676ebL,0x000000000000009dL },
  85395. { 0x22526e98d78b9d6bL,0xc4ccdc71c4f28366L,0x7dd12d941c646b9dL,
  85396. 0x0cc00136931bd51bL,0xfebf1e1e512ec8a6L,0x6bc281f6bdc888b1L,
  85397. 0x0bc271f3f6ab354fL,0x27d1ee7630c4e559L,0x0000000000000038L } },
  85398. /* 15 << 175 */
  85399. { { 0x98275c41fd5ea81aL,0x74f37478b8ebd833L,0xb91006f1e7e3e071L,
  85400. 0x6c900f222a0389e5L,0x7fecd4c8919e031fL,0x36625840d6596951L,
  85401. 0x3f43ae32a685759dL,0xfb2b004d44199a43L,0x00000000000001faL },
  85402. { 0x92383e835e0731d2L,0x387ddec2cdb84d5bL,0xd4dbfa0ab10f9abbL,
  85403. 0x50172a7a4e02cd21L,0x6b1b8c40d0a95f48L,0xc47d694d5c2cd4f6L,
  85404. 0x4b0402695e712406L,0x4fb68605536a77c8L,0x0000000000000041L } },
  85405. /* 16 << 175 */
  85406. { { 0x12427d324acccf77L,0x3194664ffb77f869L,0x07e01cac61a58e24L,
  85407. 0xc506637b91bf22b5L,0xce7d0251dd2d701aL,0xf9a662d4befc0d7fL,
  85408. 0xa54117ba2c6c9454L,0x31864e416978e919L,0x000000000000007cL },
  85409. { 0xbbe419029d971044L,0x68742001f8f24116L,0x6d0065933e4a40ecL,
  85410. 0x9fc1b8e282771429L,0x59b2f9342e7968caL,0x4817f90b470dd353L,
  85411. 0x3d32e10f7e2c1429L,0x43e9474e00206509L,0x0000000000000076L } },
  85412. /* 17 << 175 */
  85413. { { 0x30a937cc52c7da7aL,0xe5ea72ba19c1f2b9L,0x6bc71d9c417aa5aaL,
  85414. 0x10aab323644f9edbL,0xcb37ff967bfdcf69L,0xb0a66538b7e9b0cdL,
  85415. 0x40d040ead2138d03L,0x8aec105b0bb5c9fdL,0x0000000000000074L },
  85416. { 0x19ed6f4d481e74caL,0xc36fb9f46f0a3b87L,0xb010d6af88bae63fL,
  85417. 0xc7eb8196dc29e08bL,0x4a7e448713523497L,0x9c01c48c96c052d3L,
  85418. 0x71342956f6210924L,0x8034186347f93f2aL,0x0000000000000099L } },
  85419. /* 18 << 175 */
  85420. { { 0x2ac928fa4ffa68bfL,0xafb482236b647009L,0xa7b54f134cfae9cdL,
  85421. 0x8a271e4bbb3f772cL,0x78faaf7ebf953d68L,0xb5f12134519aa8e4L,
  85422. 0xef343445359ae969L,0x86e25aad76816a06L,0x0000000000000110L },
  85423. { 0xa0b1814536a88707L,0xdd48d1f21f9a1284L,0x48670dad845e01beL,
  85424. 0xc13d5aa9fc7fe6a9L,0x611969b964757542L,0xa4529c72689bb1c7L,
  85425. 0xd7c3f96a06f31f72L,0x8b09a45a5418d15eL,0x0000000000000121L } },
  85426. /* 19 << 175 */
  85427. { { 0x0b8c943bc8c379e3L,0x00e426a148453fc4L,0x15fdfec387f6176dL,
  85428. 0xd298cda5d2efc806L,0x8be18a1c7d81d810L,0x45580c064b172b23L,
  85429. 0xac5fa9093b7607d4L,0xcac47041e73d7361L,0x000000000000001cL },
  85430. { 0xb2b2c5bc0eed9820L,0x2cc057538ff7e335L,0x35caa1845f2063a8L,
  85431. 0x342669b5a43751d7L,0x222d457413260988L,0x2bd0633f296a6b04L,
  85432. 0x3c803e22f5904b86L,0x1fd07d57a93673c9L,0x000000000000019aL } },
  85433. /* 20 << 175 */
  85434. { { 0x58170eb934fcd20dL,0x8205ac09c669b90bL,0x2dd08c383d1c1595L,
  85435. 0xea1217ac91da182aL,0x3c9275359d2cff8aL,0xe8223f7a2a4a396aL,
  85436. 0xd206d341db22c77fL,0x6e03fe3227864348L,0x0000000000000168L },
  85437. { 0x3a717c4665d9bb06L,0x234158eb1431d7afL,0x389290045a27a3b0L,
  85438. 0xd745267181008744L,0x7961f9c3055610e7L,0xe260f8a1936a3625L,
  85439. 0xc05dfba284b88f57L,0x930747e71f67fd22L,0x000000000000002fL } },
  85440. /* 21 << 175 */
  85441. { { 0xc7079fd7a4e9afe7L,0x43bbec79f95430a2L,0xafb58ef46bf066bcL,
  85442. 0x074e17d918835bd8L,0x9fa64f88ec35838fL,0x627686e0a6a44e92L,
  85443. 0xb2fa7adbf0040657L,0x064a31740debb6c9L,0x00000000000001a8L },
  85444. { 0x37d6f29579c093ddL,0xa72f5b6a3288b841L,0x46c586707cfe2a15L,
  85445. 0x221b3107d1f7e80fL,0x0e332aa17826dad0L,0x38c9217328c7b27fL,
  85446. 0x522ac38d4d0aec11L,0xdc271d8fcef88378L,0x00000000000000b2L } },
  85447. /* 22 << 175 */
  85448. { { 0x886c7f2258ef1600L,0xd581f2bc4eb5bba0L,0xd6c7b858e64666b2L,
  85449. 0x114250884e813bb2L,0x428e86f000c98e08L,0x3ac9b40376eb5c59L,
  85450. 0x904f313961bd2db8L,0xa3144a05c71cfa5dL,0x000000000000002aL },
  85451. { 0x002ee77cb69fa450L,0xa1f5050c87240a19L,0xd7df65abbe333836L,
  85452. 0xb64362dcb8cd4a96L,0x058d9bc3d814096bL,0xad04c7e39687901cL,
  85453. 0x67aef9e2f5527030L,0x20dae8096f375a8bL,0x00000000000001ddL } },
  85454. /* 23 << 175 */
  85455. { { 0x6cdcb4f4d7358b2aL,0x721a661239de828fL,0x90fe45b87849fa10L,
  85456. 0xcbf025e4f5f3dd29L,0xafc867ddd5e38af7L,0x445f0caec89ee1fcL,
  85457. 0xa1bb95133a94995aL,0x9e2677e8a7fc2cc0L,0x000000000000013bL },
  85458. { 0xfaac6a7e45067fe6L,0xf6e4b6c3db3c4c8aL,0x9505248205472bc2L,
  85459. 0x99a92d49b96169dfL,0xe9f7dcdc77a9943fL,0x5962e40811c6f013L,
  85460. 0x9f2209abb25ab9f6L,0x9a3c6ccf1c4e31c0L,0x00000000000000abL } },
  85461. /* 24 << 175 */
  85462. { { 0x2124d45c3f9900d0L,0x2452fe1db6a32111L,0xf12b476586f1f700L,
  85463. 0xc04e44ec977316f6L,0x582ca8509705fd58L,0x51ef29493167cf6aL,
  85464. 0xca75486404f204c8L,0x61dec7f3a46fd945L,0x00000000000000b9L },
  85465. { 0x78114ed6af6e04d1L,0xe1ec56f601a4b6d2L,0xc26f5416ba41c631L,
  85466. 0x76b8204b7d9b9f82L,0x665fe0fec0565f61L,0x7ccd8aa573c27925L,
  85467. 0xcd6756d82f58e901L,0x6e932418e8f75a4fL,0x0000000000000019L } },
  85468. /* 25 << 175 */
  85469. { { 0xf40476e4bcea293fL,0x7b36fc1824605173L,0xddc9d807136fecebL,
  85470. 0x07e3f62b80bde5c8L,0xff1a3e28f192162cL,0x6e38386668f587e8L,
  85471. 0x7f14a26b473ca679L,0x8370dc18bbb2a08bL,0x00000000000001abL },
  85472. { 0xc10876849fae944bL,0x8b7105dd319085b9L,0xa81fceb47e689653L,
  85473. 0x9a69e78c74054550L,0xc13a53b0d742d36cL,0x57e2bd060cfde494L,
  85474. 0x2d7eb0afe06377e1L,0x21f439a8df91f422L,0x000000000000001eL } },
  85475. /* 26 << 175 */
  85476. { { 0x11113aff28dbbef1L,0xac6ac5329515632dL,0x1e88244e42a245a7L,
  85477. 0x30f28f4a9b0e20e2L,0x8bc178722b15e0ecL,0xc15e2549ba5a885aL,
  85478. 0xb42f06201685ce7cL,0xd80f13b9df452e98L,0x000000000000008bL },
  85479. { 0x39df7724f9a80bbaL,0xc734b0bb28dcf06dL,0x6e09c92bb43a5cd4L,
  85480. 0x175127da8c0ee83eL,0x50bde213f88485b4L,0xd9f6c90124a0ef83L,
  85481. 0x66ce46bfc205d20eL,0xd6f1c04fde4968adL,0x00000000000001a2L } },
  85482. /* 27 << 175 */
  85483. { { 0x0b0c0c46b26e8efdL,0x9afae2cbef3aeaf3L,0xce90d21ea18d8d77L,
  85484. 0xd951a21fb7ae720cL,0x33317bc9a460d39cL,0xe5be6b979a5930baL,
  85485. 0x9ea57837ae7f0e7bL,0xeec5b7efc747589eL,0x000000000000007fL },
  85486. { 0x454e0e744ac962c6L,0x3b802e2b396bb8c0L,0xd3aa625a4cd0c242L,
  85487. 0x44ea67800cf000fcL,0xce7a84112be0e87aL,0xa9448c66754f626bL,
  85488. 0x62c789ed9e6d6832L,0x0f5bd24ad7463e7dL,0x0000000000000096L } },
  85489. /* 28 << 175 */
  85490. { { 0x920e0cf981414e26L,0xb45cf442498a580dL,0xd424e9e24cbbfa67L,
  85491. 0xe64390071decf2e2L,0xc7fae004d9051a61L,0x9fd02f2898e66be9L,
  85492. 0xcc4afb0b419b7e92L,0xfd421f03ef8af4b3L,0x0000000000000126L },
  85493. { 0x7b45c797e0e5eaccL,0x04a9b25f202041aeL,0x27888ac85849c309L,
  85494. 0x9325ce353f58628dL,0x90e98c4a25ef6fdbL,0xf4ff673cfd3dfdf2L,
  85495. 0xe56aad1a32ccfb2fL,0xa6c6d2caab9d6f10L,0x000000000000011bL } },
  85496. /* 29 << 175 */
  85497. { { 0x4a4d81339e5e7cc1L,0x80abf8ea31cb6f3cL,0x098274246ffe6f1cL,
  85498. 0xa164acfc5b814af3L,0x5141097ba9b76b27L,0x1693d5fc6e26a0a5L,
  85499. 0x70d5e6e75223f787L,0x417a7ddfd3686b7dL,0x0000000000000082L },
  85500. { 0x9315994a8004c24aL,0x1bb50e549423011aL,0x0c8b3470ead2f81cL,
  85501. 0x9afa2a0e52c11f14L,0xc7094b863b019170L,0xc3405dacd8518bb6L,
  85502. 0x3df2a5c805b718b3L,0xe0dbf810b65b9d21L,0x0000000000000038L } },
  85503. /* 30 << 175 */
  85504. { { 0x13f45d45ed942a64L,0xfcafee83705cbec8L,0xbc9a11d052186f58L,
  85505. 0xb5ec924941ee3189L,0x71d770cbc95c6c4fL,0x7f348c27d610f241L,
  85506. 0x9116747564ab476fL,0x30396f906d8350abL,0x00000000000000b6L },
  85507. { 0xb866ca72a9c8b74bL,0x26aeabdb3d3df97bL,0xd4ea56a365cae75aL,
  85508. 0xc873fde088facf27L,0x4d4211cedb995516L,0xa01cf05289799b04L,
  85509. 0x55d85824d0f0c2a4L,0x434682b0dd83ded2L,0x000000000000011dL } },
  85510. /* 31 << 175 */
  85511. { { 0x920437b6b0463ae7L,0xed6c97665155b076L,0x06ad4f3c0a2cdb79L,
  85512. 0x98cb88f2485ffea3L,0xc8ba1b252988de4dL,0xce3a27f73529a997L,
  85513. 0xb1440b30b2796951L,0xb810edd37887e411L,0x00000000000000c6L },
  85514. { 0x22d9308a6c094e06L,0x01d5e2e57cb1cafeL,0x2587378cc3de4bbcL,
  85515. 0xf60e9c3d774d4435L,0x689cff22147428d4L,0xc3dc80c093139fcdL,
  85516. 0xb3c4ba93c526a089L,0x623be8e82e6e4891L,0x00000000000001d3L } },
  85517. /* 32 << 175 */
  85518. { { 0xc03c182d851368eeL,0xbb94a33d57c919f2L,0x9cf0c767e333ace3L,
  85519. 0x037c7d47d974de7fL,0xe96e02cf8b18fa5cL,0x6f1a3e9126cf35f7L,
  85520. 0x47affdc033486c59L,0x2c370bfeec8c2a2bL,0x00000000000000e1L },
  85521. { 0xdce5de2c18a3f84bL,0xc4bb672e2ad42ca2L,0xb6581d7edd0731b2L,
  85522. 0xb6ca46ca2809ac7eL,0xde8edba2189b0ff8L,0xa72ee3e81ff4631dL,
  85523. 0xf44a8fc6f1004bcbL,0x103dd1b9c8878531L,0x00000000000001caL } },
  85524. /* 33 << 175 */
  85525. { { 0x4d01b08c332bfc6bL,0x8223c8936205e95dL,0x4d003a46cb91bfccL,
  85526. 0x08316e3431e111dbL,0x30c85a86e0c13d49L,0xce3c5846b4fd3073L,
  85527. 0xe4b316bc05c18409L,0xd7e8304cc72b6cb1L,0x00000000000001ddL },
  85528. { 0x9ceb7fccaa1fc1eaL,0xcefb89e96f61cf07L,0xb1728fd5a3daa487L,
  85529. 0x2476192440ab1f39L,0x23d5fdba2e9e2328L,0x0ba18c70f81dd4c5L,
  85530. 0x61333b1c10884f58L,0x57ef145f6496ae54L,0x000000000000014fL } },
  85531. /* 34 << 175 */
  85532. { { 0x5bf22305ea6d16ecL,0x1a13c5bb3ae82195L,0x622ea9454f1c43f7L,
  85533. 0xdf1011f675063cf4L,0xbe98aca99eec62e8L,0x2face80fd88258b0L,
  85534. 0x9e3dd0c4bd532a0aL,0x1c13334252ad512bL,0x00000000000000faL },
  85535. { 0xe7004937964433d2L,0xf15f8f25b5d0a434L,0x392242bbb1c07babL,
  85536. 0xfd3c197437177cfcL,0x611a58203051cf50L,0x4a830e19f9c0b4ddL,
  85537. 0x2675d3aa2d92d1b7L,0x7a2ae9dcb649859eL,0x00000000000001e3L } },
  85538. /* 35 << 175 */
  85539. { { 0xed601d01372f2e61L,0x989f14361e886ed5L,0xc924db9cee004808L,
  85540. 0xbe07b40b7469977dL,0x2be5445a075e3ed3L,0x2dcb8edfb00fb21eL,
  85541. 0xbc859cd63ee23c76L,0x484c8988125dd98bL,0x00000000000001dfL },
  85542. { 0xf6b5b6871f25661cL,0xc95ad2c580939d4cL,0xfa12444f920a40aaL,
  85543. 0x7880e344a99e78a0L,0x6539ed2251356672L,0x41f6c73ba4910f50L,
  85544. 0xb6372d7ea09afb69L,0x6e7a691b1e8c75a4L,0x00000000000001adL } },
  85545. /* 36 << 175 */
  85546. { { 0x659f832f1cc592e3L,0xd9c86a4591c3bf97L,0x1b1166b918c82b12L,
  85547. 0x82ad18e294eb33ffL,0x0678927a15699561L,0x7cd0ef8016f7b8a5L,
  85548. 0xfd885fe19451b7e7L,0xaf7de79539a9fc7eL,0x0000000000000052L },
  85549. { 0x6f2206e984cc8626L,0x71d11d08a976b5b7L,0x0ac59e61b66812ccL,
  85550. 0x1b40ab0a9c675e35L,0x6562f93810775f6eL,0xc2da3006def4955bL,
  85551. 0x89a9418346554627L,0x2972033edfe70a84L,0x00000000000000f2L } },
  85552. /* 37 << 175 */
  85553. { { 0x985f25c699200f88L,0x262dad2bfac98496L,0xc9274cc72ed4811bL,
  85554. 0x413e0b2d02b34d7eL,0x57462287f3201f03L,0xefa6d0a869264714L,
  85555. 0xc052453a9baffce0L,0xab1111b0929171a0L,0x00000000000000e0L },
  85556. { 0x1358d4d4112c22ffL,0x2fbbda6874617bcdL,0xbe2bac8e85a767f9L,
  85557. 0x5a30778114862b96L,0x82c0ea86a58e1ec5L,0xe096587186208bacL,
  85558. 0xda711c4c6dd71c57L,0x8babe7ae242273a3L,0x00000000000001e8L } },
  85559. /* 38 << 175 */
  85560. { { 0xfb985617a96468b6L,0xc71a196944df6e18L,0xb8f7a7d810c008aeL,
  85561. 0xdfa67bd1372d99b5L,0x328e967977169ef4L,0x20e3b7e505134517L,
  85562. 0xfa7cac595097dc00L,0x09631199122797d8L,0x0000000000000003L },
  85563. { 0x6ef792160862ee06L,0x71996694a81f02cfL,0x133519becbd2e915L,
  85564. 0x193f486759e47728L,0x90195620a28aff0fL,0x5da4a9d642049561L,
  85565. 0x60372d2126350d3bL,0xa7b159f3c9f56af2L,0x000000000000003eL } },
  85566. /* 39 << 175 */
  85567. { { 0xa58f7256ccd817f2L,0x0465664ef4fbcf70L,0xad43a3ec1608a6a2L,
  85568. 0xad7caae01bfe0a90L,0x3f2599a0b3a447bbL,0x4ddd47b8f61936f6L,
  85569. 0x61a3607779e2c9edL,0x6cbe8278c92cb5b7L,0x000000000000013aL },
  85570. { 0x3c882911139061b8L,0xd6d348d221d48350L,0x5979da6b4860b3fdL,
  85571. 0xd051bc321869311eL,0xf3ba42446ad422fcL,0x3b84c1810d1d093bL,
  85572. 0x2f29f5a6a96ab441L,0x8f9c5d395bf8399eL,0x00000000000000e0L } },
  85573. /* 40 << 175 */
  85574. { { 0xa3b9aaacdc1c3f86L,0x529872b63f893dadL,0xff3e74c2e604ac86L,
  85575. 0x39652c96857a9dd4L,0x494455e9fa60a469L,0xa11b7cbf1320b873L,
  85576. 0xeb26217c6ee60a53L,0xf732544484560f96L,0x0000000000000125L },
  85577. { 0xdd6e98a1c4996f4dL,0x5fc566d07e9e70c1L,0x59e3c611dd9ee515L,
  85578. 0x4d60fb0795e436c0L,0x50e75e0cc096c8c2L,0xaa7d04addebafd21L,
  85579. 0x2fd1b14c7ea109b7L,0xd72ee3392594d6f8L,0x00000000000000c0L } },
  85580. /* 41 << 175 */
  85581. { { 0xff378e0a242ee38eL,0x38d26881d4264551L,0xca783b631e1df843L,
  85582. 0x019aeefff9c95555L,0x2fcd1e94eb753522L,0x16c244eec1225950L,
  85583. 0xbc7a6a75685338b9L,0xae67fa3b6215cf68L,0x0000000000000012L },
  85584. { 0x53b4e8f437defd78L,0x2263cc33e9d41961L,0x62814a2a2119dc07L,
  85585. 0x50dd22ec96b76d54L,0xbf0b2b8727c615d8L,0x66c9c5f1730ae555L,
  85586. 0xc04c86a937cd7d89L,0x451915bed4ed94d0L,0x00000000000001f5L } },
  85587. /* 42 << 175 */
  85588. { { 0xb3e69f756c45239eL,0xa015685259815529L,0x37951fa13984661aL,
  85589. 0x8f7699e888e8fd3dL,0xae10f84b6ebf1690L,0x7f2baff5ec3175edL,
  85590. 0x2d6f42f53266e09eL,0x94482ac1273e04a6L,0x000000000000015aL },
  85591. { 0xa3ed1424e85317c4L,0x7d9afa32db2a9492L,0x660fc8e609558105L,
  85592. 0x611bbeb9a8be7a44L,0x8d66417600638075L,0x4685c94a4d7a0954L,
  85593. 0xb23ae4dd1ec88785L,0x766a2eddccb991f4L,0x000000000000016bL } },
  85594. /* 43 << 175 */
  85595. { { 0x1c24478a341f455fL,0x8132a6b905502538L,0x5c23c4d9528d2865L,
  85596. 0x6fd3bc4e93b35d0fL,0x88838b49f6f4768fL,0x60c0a07f18a8ded4L,
  85597. 0x4fb44a8e0d71dcc0L,0x4b41b64efbd17fc0L,0x0000000000000198L },
  85598. { 0xdb828f7a2f01d067L,0xad69f37320b0b060L,0x650cdaf51f7c4be0L,
  85599. 0x00b810e8ef9f47e6L,0x924e5a636e908d72L,0x4836dd4ef82efeeaL,
  85600. 0x91855928e8ee36b6L,0x747f47d578e6199aL,0x000000000000001dL } },
  85601. /* 44 << 175 */
  85602. { { 0x7844a30e11f5f4d4L,0xbd36ad4cc9663248L,0xaf697c63af7b4892L,
  85603. 0xe1f94853bb03fb6cL,0xd5da7f43e368631aL,0x970c4f6c783be7a9L,
  85604. 0x2321bd2643f90845L,0x5030a262966a8c34L,0x00000000000000e6L },
  85605. { 0xf12d877ff7a82150L,0xbcdd93fea5ce6cbbL,0xe6c917b93c59668fL,
  85606. 0x4184cf3046222b1dL,0x24b27ee14b67d28fL,0xba7e6f7345e0b96bL,
  85607. 0x64dd699bf935b686L,0xaf0be69e62eb62c4L,0x00000000000001cbL } },
  85608. /* 45 << 175 */
  85609. { { 0x74ae258fe63f6b8fL,0x2f58e84b09144f8aL,0x858165d0064af3f4L,
  85610. 0x77ecf07c5a2081f6L,0xd9e9be22e211fb05L,0x3758f5b14971cc28L,
  85611. 0x68ca7d8af535a5d2L,0x2addd4138398e52dL,0x0000000000000046L },
  85612. { 0x442dfac0dc04d140L,0x6abc234ebae00092L,0x63209027118de0d8L,
  85613. 0xb2510bc14b1bb070L,0x6bda803e3b104f51L,0x1821f785bcf2d58fL,
  85614. 0x506f07e25785c8deL,0x9d78c916b2e16847L,0x0000000000000028L } },
  85615. /* 46 << 175 */
  85616. { { 0xd3bb0945ec04d3d9L,0x3a706fed4eca5fecL,0x9b228ea2c93eefcdL,
  85617. 0xd412dfcf0a627f68L,0x906c39a812f470a0L,0xa115f5899c93c4ecL,
  85618. 0x5f22b7175e649e76L,0x83ba978a159e8642L,0x000000000000014bL },
  85619. { 0xde363c41c76cdb50L,0x909b66c948f7ba77L,0x30d1e4ba7d0d3b17L,
  85620. 0x39336ef38b390c4eL,0x8cb65cef53420b4aL,0x5c811baa11b8a142L,
  85621. 0xa4be4bebf8eef3ffL,0x4a11fd509bc39344L,0x0000000000000097L } },
  85622. /* 47 << 175 */
  85623. { { 0x8474dd63efa97351L,0xa12cf18a58d6b638L,0x3bd605e35d890e6cL,
  85624. 0x21cf4525a2127369L,0x7db4aa6a5466e713L,0x3f034b4fcda4954dL,
  85625. 0xce44ccb88ede8849L,0x6e5ff0eb6fe75314L,0x0000000000000191L },
  85626. { 0xa700e7fe9dd62d65L,0xa2be6afacff305a6L,0xfc61f045f675a7e6L,
  85627. 0x69be21693f984612L,0xb5e140abaabd7748L,0xcdac92d519c004cfL,
  85628. 0xe28bf3bbd7164a07L,0x1ae1ffdfbe784423L,0x000000000000002eL } },
  85629. /* 48 << 175 */
  85630. { { 0xf57c47836c0f67a6L,0xa5704e7dd3a38f5aL,0x24fce48d4f9422eaL,
  85631. 0x0dabc5a4d9982f3dL,0x6bf4f9eb3f09226fL,0x944ed407a196f481L,
  85632. 0x949495bd7d88490cL,0xbae973645634cf1dL,0x00000000000001e9L },
  85633. { 0x5bebd8ee1e5dca35L,0xbac77371b329d451L,0x124ff920b7a9d67aL,
  85634. 0xf7e8e1f69616c1beL,0xa518deb38dbc7e17L,0x13ffa792d52e3e76L,
  85635. 0x6dc6ef5d93109227L,0x5ba160b49ce19c4eL,0x00000000000000ccL } },
  85636. /* 49 << 175 */
  85637. { { 0x1dfa85794d2a0cf8L,0x48618e4b2bfba0c2L,0xf266f3b7177f1fc5L,
  85638. 0x0f12b884cf1720e2L,0x0ae8e5a8ddd5c9f0L,0x33a683cfca4456c4L,
  85639. 0x68b15ae27b153cf3L,0x78c717e3f483a724L,0x0000000000000135L },
  85640. { 0x3416113cd38af77aL,0xd5063d39fa9c36dbL,0x97daad1fc1a854fdL,
  85641. 0xf7b1efa6f2599bffL,0xaa3314678e129857L,0xb920da73a4b7c9f2L,
  85642. 0x6aa551a06d96f499L,0x2b7f6f1fdbcc5e09L,0x00000000000001d9L } },
  85643. /* 50 << 175 */
  85644. { { 0xd823b9961d977aa9L,0x88decc8f402a5bddL,0xc7b191d8368c7e5cL,
  85645. 0x556e9ec0f5ed5110L,0x4a81febdffecce67L,0x75919f76814bb429L,
  85646. 0x04d08334849762c4L,0x9a037df8ab24edb7L,0x000000000000004bL },
  85647. { 0x9cab359f9592c8e9L,0xcf5dd731f35f9450L,0x49ff6c9083f04d04L,
  85648. 0xce238fe14f50c7adL,0x6a971ec477442addL,0x7aaff382eb6dada3L,
  85649. 0x14b43e873b7f4447L,0xc9e21cc7c67838aaL,0x0000000000000032L } },
  85650. /* 51 << 175 */
  85651. { { 0x3c5764d9e652d9e9L,0xf6d664d15c58afd5L,0x6f72c39c5263ea19L,
  85652. 0xb7c2a994e740eb02L,0x24868934ecf6cd38L,0xeb5aaa0ab07e9b54L,
  85653. 0x76893a641cf1a8dbL,0x13b31739fb9f2e6aL,0x000000000000012dL },
  85654. { 0x185abf0f52104f6aL,0xa352e81acf2e3361L,0xf3d248cdd9a21f71L,
  85655. 0xdae16ec865f3686cL,0x42ce080c6bd346e8L,0xd0354599fab70983L,
  85656. 0x9259e6c9a24aa4fcL,0x816c3c813b4fe5d3L,0x000000000000007eL } },
  85657. /* 52 << 175 */
  85658. { { 0x4df0de9441fb96a0L,0x4412561574225d62L,0x02c82702def80205L,
  85659. 0x7611d83d8585c7f3L,0x4b30c7c70a4a0380L,0x5f2089fb0d1c3a3aL,
  85660. 0xce0fd7a169b754f7L,0xcbcf956d7b840647L,0x00000000000001eeL },
  85661. { 0x9254d02e9152b2f6L,0x0004290f5a55c8eeL,0x1e65776a06eeb968L,
  85662. 0x1aa40ca875898404L,0xe5f6d7e1082b1b3dL,0xe8a4447d432c62aaL,
  85663. 0x5c988bde7f251463L,0xf1a617221e477a2bL,0x0000000000000082L } },
  85664. /* 53 << 175 */
  85665. { { 0x6e94a400a12e0ed3L,0x7ec7f137693f0b2bL,0x3369312a64dcb97dL,
  85666. 0xb6ae9d92bb174be6L,0x4343763fb49f4545L,0x2781f0c93988b19dL,
  85667. 0xae34e2bfa54bfd46L,0x19a6243e347e1992L,0x0000000000000135L },
  85668. { 0xab693a17f339cc98L,0xcda5aa8a306031fdL,0xcdbd42722daafd10L,
  85669. 0x8fafb43f6dd6c153L,0x1eb19e412ba28ddaL,0x34a0298c447fde55L,
  85670. 0x7872662a05fc38b9L,0xa174d1070222688cL,0x0000000000000032L } },
  85671. /* 54 << 175 */
  85672. { { 0xbe5631d2d56dc535L,0xde5e0ef7f0485a91L,0x848a5d3836185a80L,
  85673. 0x61dbcdebc44e4ba7L,0xb9a36cbf13524447L,0xb10894ae6417cda2L,
  85674. 0xfdf2be12c4321744L,0x604734309cfcb161L,0x0000000000000031L },
  85675. { 0x13f91ab30bb077cbL,0x27f4d378846d00deL,0x3a75d114c18b6495L,
  85676. 0xb33cd9d3cff1421eL,0xf72e1ba92e077183L,0xe6d74ff2fb4bc174L,
  85677. 0xcd5a5f06d2ed2ef7L,0xeaa9a4d132ead477L,0x00000000000000adL } },
  85678. /* 55 << 175 */
  85679. { { 0x208c52b387c78c83L,0x8a814dcb41c862e8L,0x278976d32ca53494L,
  85680. 0x488caf4bcd7bf0ceL,0x2a07f905074b5f09L,0xb53383af0fccf4cbL,
  85681. 0xcff62835deefe7b2L,0xbb0afbcbc2febcf9L,0x00000000000000c0L },
  85682. { 0xea3673b6d107b949L,0x9253804482d5a087L,0x52da8af43c18e3beL,
  85683. 0xcf635990b6fe0565L,0x7be60be52dd319a4L,0x246d7e44be349ee4L,
  85684. 0x395a48efc0cb8352L,0x3013388d08100678L,0x000000000000000cL } },
  85685. /* 56 << 175 */
  85686. { { 0xf43f57f1644be376L,0x5ead8d33cf66858eL,0x40d9ab0358ad4128L,
  85687. 0xaa6ad5b5707e7c69L,0x52d2bee602b4e5f0L,0xb39b48968b1a1287L,
  85688. 0xa9f1e0ecebc32b16L,0x7ff75a69f442c70aL,0x0000000000000039L },
  85689. { 0x118149e893cee35fL,0xdc281d8fcbb28a72L,0x33055e64e8a60d55L,
  85690. 0x8c247f5a89367610L,0x246297062f93e57cL,0xff8dc0ef68104540L,
  85691. 0xea50e01fccda4787L,0x18ae4a7472e80504L,0x000000000000015dL } },
  85692. /* 57 << 175 */
  85693. { { 0x974295ab6f7aa51eL,0x5f1f806d43926d80L,0x803b6f7cdc56e092L,
  85694. 0x02a052652cbe5bf6L,0xcec50eba11dcac2bL,0xebc5da4767993ba7L,
  85695. 0xeb38f44945afb69aL,0xf84fc77f0e5d3809L,0x0000000000000103L },
  85696. { 0x31bbb0ec544fb496L,0x3d31c7f9675994d0L,0x8c77b0c4c5116ee0L,
  85697. 0x8f212d31360d5cbaL,0x133fa56c95775eb7L,0xea09f1bbeb5fa46aL,
  85698. 0x50d1ec5096379da9L,0xe07b4ad7d54e7be9L,0x00000000000000bbL } },
  85699. /* 58 << 175 */
  85700. { { 0x6e83884fcc138ec4L,0x776f59d1af876d2aL,0xe884ba6e1138ec1cL,
  85701. 0x1f5ac35fb7ee8a3bL,0x411a904dc6f0ca3dL,0xa0e25f75698458f4L,
  85702. 0x8ab4b3f1270abf22L,0xc45f0668afd72a81L,0x00000000000000ccL },
  85703. { 0xe93b101ab1428555L,0x49c43cefe1110034L,0x5d33dd3532cec22dL,
  85704. 0x6c96474469e47c69L,0x2a3af875eee1b050L,0x9ef7e37c53339d75L,
  85705. 0xf7b4e7cc69f70379L,0xe52c507c005d6188L,0x000000000000016aL } },
  85706. /* 59 << 175 */
  85707. { { 0x900a407c16ea7e9dL,0x7472498ebf1e2d4fL,0xc41b8e8f47d6ffd6L,
  85708. 0xd93cdcdb567590d9L,0x2361492cab650660L,0x0ada3e50975a5b7aL,
  85709. 0x4342909767613b71L,0xa8d9a32cd90f479fL,0x00000000000001ceL },
  85710. { 0x67c544a1722a95d2L,0x68312626d409ec5aL,0xed244c5c2738cbb0L,
  85711. 0x491e21fa8fbbe571L,0xbc6431fdbe4b131dL,0x8b84091b8eb05fb2L,
  85712. 0x7d82a00220103d94L,0x016cc8bc6ef8af3cL,0x00000000000001cfL } },
  85713. /* 60 << 175 */
  85714. { { 0x5e2b4a26cd5ccc7aL,0x44e349def1b8db05L,0x034d54b8efeedfb9L,
  85715. 0xaf410c3eb0de1cf0L,0x0e6cbe44ed9148e5L,0x752ad823e9cc2a8cL,
  85716. 0x3917cc72e9af3244L,0x8639e4a393e23c63L,0x0000000000000111L },
  85717. { 0x4c0d05a46faf150dL,0x2d93d0d2d8d42497L,0x70669c4383f3c667L,
  85718. 0xea34f74cf766b202L,0xcfd2dfc1a8cccad3L,0xbe520b4002cb38f7L,
  85719. 0xeeeebc97677939b8L,0xc7a734e82e86cf07L,0x00000000000000d8L } },
  85720. /* 61 << 175 */
  85721. { { 0xf72c72940d75ed6fL,0x3135f686ccf5cc3bL,0xe971c1f6cb3219edL,
  85722. 0x01aeed44d7c35486L,0xb9fe395d13a4d803L,0xad124ee40f47fdc0L,
  85723. 0x113d1117ee46329cL,0xe252a70e8ffb9c24L,0x0000000000000072L },
  85724. { 0x88f443817efec9e2L,0x2444c821133a819bL,0x558382008114f80eL,
  85725. 0xc3a4e191088f5c42L,0x222c3389f8775660L,0xee7e2c8b0329f914L,
  85726. 0x3a4fad9f45c18e0cL,0x3ace9e4b3309eca3L,0x00000000000001daL } },
  85727. /* 62 << 175 */
  85728. { { 0xd343830f2ab0160aL,0x731c5a9bd81bd1a9L,0x4443103457b8df66L,
  85729. 0x2af1ef67433ef550L,0x9e84336c278ea0d9L,0x53f2c6addb1c8881L,
  85730. 0xbdcdeadf12be675fL,0xfca45c98ffb39ecbL,0x0000000000000109L },
  85731. { 0xd7e752f42cd3a337L,0x245572edf0c5ccafL,0xad130568627281c2L,
  85732. 0xf1948b1494920647L,0xc35f002381b60cceL,0xc99bf95e4d6d439fL,
  85733. 0x827a29de2c19ed5bL,0xbefcd94f65737517L,0x0000000000000157L } },
  85734. /* 63 << 175 */
  85735. { { 0xf54cd73b46227f96L,0xb6beaa8d1a062ddcL,0x1d6ea57dca017154L,
  85736. 0x47292049f2c3f854L,0xe0b35769eb41db25L,0x58573070cdef8384L,
  85737. 0x8cd35c89d8eb4e66L,0x883e914d4fdc8982L,0x0000000000000056L },
  85738. { 0x0e47c705af242c24L,0x864a4cc18e09b24fL,0x32ee11e88747f144L,
  85739. 0x72d496348f666496L,0x74a0a314bbf0720bL,0xabe29f1db6ba8cc1L,
  85740. 0xae92d4e7c20e7e84L,0xc2e5dd9336f6c9f1L,0x000000000000005aL } },
  85741. /* 64 << 175 */
  85742. { { 0xcb35df1c0a0eb364L,0x6d0479606efaa084L,0x2ae2d2833735ce56L,
  85743. 0xe0b9d7e8df82fdffL,0xff7a316c39cf5ab2L,0x23254f4e26b6c05fL,
  85744. 0x4751cb2de5c125fdL,0xfa059629894e9a61L,0x0000000000000148L },
  85745. { 0xe64ca47b49112eccL,0xf4f9f08cf5fd0dd6L,0xad1c8c7274bdc4b6L,
  85746. 0x34660962bba001e4L,0x346d7a407e2ad36fL,0x68c8b34bd27181b2L,
  85747. 0x8aeb7ea43b424e34L,0x257ab659d4498d11L,0x00000000000001f2L } },
  85748. /* 0 << 182 */
  85749. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  85750. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  85751. /* 1 << 182 */
  85752. { { 0xad57280abb5be7e6L,0xf102ff10066e97a7L,0x5308cb8e61c86340L,
  85753. 0x11b53155d02e15c2L,0x50ed7916ef223374L,0x8c48f8371ee821e2L,
  85754. 0x0b3010cf7931b97cL,0xb84cd0142062ec30L,0x0000000000000007L },
  85755. { 0x05a7a5a024b6e1ebL,0xf8364d18b5a7402dL,0x2b9ec6c5f9eb3538L,
  85756. 0xf363dac905915b41L,0x2a567784a7909cb6L,0x5b386ead22fa3badL,
  85757. 0x646554b91e873fbfL,0x99f6ad72b88ca34cL,0x0000000000000077L } },
  85758. /* 2 << 182 */
  85759. { { 0x8f37e861fc3d5a8eL,0xd09d8e74901ce1a2L,0x212e32a992f81574L,
  85760. 0x38ac8ba60d96a933L,0x3d990b98b84c99d4L,0xb97f4e73df58647bL,
  85761. 0x95ae93cc7641888cL,0xd7bdb083a0969dd3L,0x0000000000000182L },
  85762. { 0x6531530c17830426L,0x9db488f48a57b683L,0x9452ca0f0d87eca3L,
  85763. 0x19b198f08b4be2a7L,0x17939ab22775f0fcL,0x7f662a0625bc5c0cL,
  85764. 0xdf04cbef428884f3L,0xa4d202209f9ff142L,0x0000000000000090L } },
  85765. /* 3 << 182 */
  85766. { { 0xd36d95e98d20af1dL,0x042b6b721475a01dL,0x90de7dc34e5322d2L,
  85767. 0xd7201c9c8085753bL,0xb2467afb2a41a80eL,0xde0b994dfcbef3eaL,
  85768. 0xab46bec5219735a2L,0x5c6efc5a9f068a58L,0x0000000000000167L },
  85769. { 0xad80498ffbe3e605L,0x0e49b878b58b1af1L,0x5a90b3d5f7467e30L,
  85770. 0xb6feeb53d872561eL,0xd33ca82162456735L,0x6262f717cdf5cb42L,
  85771. 0xb7fe12752d9b039fL,0x3d76868940af9134L,0x00000000000001efL } },
  85772. /* 4 << 182 */
  85773. { { 0x4585d3aa31ff6e80L,0x8521ac35c19ae65bL,0x983e0c6af9f78334L,
  85774. 0xc4131279435db0f0L,0x0f2d350b51bdb67fL,0x1fea5391d65d265fL,
  85775. 0x7f0b55f7798e80aaL,0xf322493ad549eaa9L,0x00000000000000ceL },
  85776. { 0xdf7b80aafe9e5dabL,0x5585f93a1861e785L,0xb70fa9abbbb5764cL,
  85777. 0x23ce8aed3a39ef40L,0xa719329a14920ff9L,0xa74511124a00e5b9L,
  85778. 0x48b0001bff5c3588L,0x8dcb5fe10e0551ceL,0x00000000000000f1L } },
  85779. /* 5 << 182 */
  85780. { { 0xa31575ca4b4c5966L,0xae86a8c831b5d540L,0xd19ce0a2386fc523L,
  85781. 0xce86998b4540a480L,0x7a4897ab0f0eeee5L,0x0dea1fa0042b6dc6L,
  85782. 0xd1c403044ff99780L,0x3d882bc861fb0837L,0x0000000000000023L },
  85783. { 0xef942ae4bd2b6cedL,0x7a91fbca038d1540L,0x644571d23631a109L,
  85784. 0x865061c09289c9a1L,0x9f9d809df67c8866L,0xa73777bb75b91533L,
  85785. 0xd4128ce73ee99cd6L,0x2c83701571d8a67cL,0x0000000000000043L } },
  85786. /* 6 << 182 */
  85787. { { 0x1e318c6a5ab019e7L,0x83c490b03660eaccL,0xe464c85856e4b9edL,
  85788. 0x6724aedbecf9b627L,0x83f9312e6a28f322L,0xe1f8314f3e3758e7L,
  85789. 0x8ac29afc1c0639f4L,0xa0390923591fb450L,0x0000000000000132L },
  85790. { 0x0188fc767dab76e1L,0xcff3c75f570fa4c0L,0xd1a1db3a4be7e55eL,
  85791. 0x6f97be3c575e816aL,0x5ea0e3240a9acea0L,0x05699068a9be2cc7L,
  85792. 0xbe8c58299391ceb6L,0xcb55ac5d672c1fcbL,0x000000000000013cL } },
  85793. /* 7 << 182 */
  85794. { { 0x82320b25e4eec241L,0xa93543d00c54433fL,0x5ff474b1024c6917L,
  85795. 0x70337516d2e8c7c0L,0x5d97d6b2eff507c2L,0x415cc09eb642c29dL,
  85796. 0x6234cb715a3b675fL,0xf4721ec9bf150b2eL,0x00000000000001bfL },
  85797. { 0x5e4120da2a377b63L,0x518a3bf81a851ddcL,0xe2dd2b95dcc9ee26L,
  85798. 0xc2b153998fd7b647L,0x1b4b43df7eb436e8L,0x7c354da61ca50fa6L,
  85799. 0x2997e27dd1f1b4ceL,0x89b755a4f0e78f01L,0x0000000000000097L } },
  85800. /* 8 << 182 */
  85801. { { 0xdaa72ebc797ee80dL,0x5ee6de5e13bde073L,0x8f21fd78a69b5019L,
  85802. 0x5a8fce8c89191df9L,0xce39466d725f4f61L,0xe1015721d258c98eL,
  85803. 0x22a2f6a5bfb1acc6L,0x5dfef1da97265eaeL,0x0000000000000164L },
  85804. { 0x4697804882470cadL,0x5a62de6c92e3daeeL,0x95cbc0199163a136L,
  85805. 0xd1f51a60f0ad7fbeL,0xd300b7c6f2380828L,0x3fce67f4b1246df8L,
  85806. 0x6aec1313466ec418L,0x95ffd2856063ce6fL,0x0000000000000080L } },
  85807. /* 9 << 182 */
  85808. { { 0x082a54184ceb12b4L,0x20d67a8ce6889f68L,0x5beee4dcf78c7ee3L,
  85809. 0xe234bc07a7c70d07L,0x57957765845cd20bL,0x9f16fc18ce9f8562L,
  85810. 0x7793805865d54d1fL,0x244d5d5c0a33ac80L,0x000000000000000dL },
  85811. { 0xa7642eceb3d0302cL,0x7553b599438b82ceL,0x35db7e6e3bca2614L,
  85812. 0x0f549f7414c632c4L,0xe9d8a3122cf8bdaeL,0xa27062b3281d7c68L,
  85813. 0x1023e6791155cd46L,0xa2d781fb734a6f3fL,0x0000000000000017L } },
  85814. /* 10 << 182 */
  85815. { { 0x46cd5849f6ef2fdaL,0x5b3fa640b1d02cdaL,0x0fb696664e1222b9L,
  85816. 0xf7c6c4a888c8de4cL,0x742c5f24ef16cc79L,0xa4866982c0032997L,
  85817. 0x076035dbbf0a2982L,0xffa69b49779ef790L,0x0000000000000068L },
  85818. { 0x74a20b1174e76a5dL,0xb9bf4b3f35722dd9L,0xad2de2d42bf57ad6L,
  85819. 0x413223308bb9d811L,0x6e7574a05ee8d6c2L,0x16253e6b439a3683L,
  85820. 0x8ba8f866d611da87L,0x11f5f946c9e2df24L,0x000000000000006aL } },
  85821. /* 11 << 182 */
  85822. { { 0x1fa5a29708431e9cL,0xa400cf7ae43aea69L,0xc197afcabd8182b9L,
  85823. 0xd8a48cb691ed64e2L,0x45b3b155fcd39e10L,0x4951cc79cbe71480L,
  85824. 0x939e1a833101aae8L,0x4c354aa4c1bc4f13L,0x0000000000000042L },
  85825. { 0xc21a1cab3571c9c2L,0xe85b99fb54b5d704L,0x0b26a9e0e740e33cL,
  85826. 0xcc33a25ef6780727L,0xaa203d30c2871675L,0xfee96fc8735015f8L,
  85827. 0xea5f0118fb6c489eL,0x1ee87d166e566a79L,0x0000000000000012L } },
  85828. /* 12 << 182 */
  85829. { { 0xd3107dc42eb6d453L,0x3897a60ba3f6b312L,0x5d8ae4b9a26ebd5eL,
  85830. 0xf83e1efa445f3ea9L,0xcdf3f2d6e9c5ae62L,0x43624a7ffe4a7f11L,
  85831. 0x9169460f6634235dL,0x642b8b112f75464eL,0x0000000000000186L },
  85832. { 0x7924b1cdc84496a4L,0x0a5eb42c5f8f5f30L,0x14068d49492cd04aL,
  85833. 0xe0824856f2a5f227L,0x6e146cdead328ed4L,0xc63a68c19118fabdL,
  85834. 0xa295b4127e56624bL,0xc1d31ed187055125L,0x000000000000001eL } },
  85835. /* 13 << 182 */
  85836. { { 0xeb7242709aeaf343L,0x51e4dda7521d1303L,0xb0867bcf4b6d79ecL,
  85837. 0x9f3769280dc1e1c1L,0xc807e9397ce09227L,0xd46d4ccf18f02ee5L,
  85838. 0x4f50c46e7cbe5fbfL,0xee0d19eb8464a6c6L,0x000000000000008fL },
  85839. { 0xf9eabcaf838eb681L,0x3a04860e43b0649aL,0x3ffc96f3f6f4a93eL,
  85840. 0x0e1cefca2689da24L,0xa5c0b7cc6aaca275L,0xa5bbc5ab87f572dcL,
  85841. 0x4c577d4f315e7e93L,0xcdd104b0be10ef14L,0x0000000000000065L } },
  85842. /* 14 << 182 */
  85843. { { 0xa267789abceb62c0L,0xc3536fa5dd342598L,0xa0a158edc66bb97dL,
  85844. 0x2282d372413001f7L,0xcc6365d7bb80b2b0L,0xcfcbab5a75e3e8e9L,
  85845. 0x0b0c89a9d832c899L,0x4c5f3c139109e60aL,0x000000000000013eL },
  85846. { 0xe9437990177cdf1aL,0x0ce91379f9a4d1bdL,0xb3a1a40968b5bdb7L,
  85847. 0xf9a22cc775573480L,0xd05f00d5bdd43f32L,0xc65e107c24cd9011L,
  85848. 0xd3c7f981782fd8d9L,0x4b998ad9771b4074L,0x0000000000000153L } },
  85849. /* 15 << 182 */
  85850. { { 0x3829eee292c5afbeL,0xd6ceab835f385af5L,0x80feac24ad9740b3L,
  85851. 0x2795a4aa1425ac94L,0xf8a2e2fea345fd1bL,0x83e9ee2e41cf9386L,
  85852. 0xf384b56b675a9faeL,0x8dd8fd07ad024c34L,0x00000000000000b8L },
  85853. { 0xe5e8b6b647baac01L,0x0cf5cdaeebb4627bL,0xa0c05d92d9ece132L,
  85854. 0xb778b8723138e22fL,0xf15d930b482fb046L,0x4420d1953ef00d49L,
  85855. 0x07c2bce32acdfd2cL,0x5f0932a7df5d86deL,0x000000000000008cL } },
  85856. /* 16 << 182 */
  85857. { { 0x241872e36910d714L,0xdfcd9db5cf96f106L,0xd32e27facb3a51e7L,
  85858. 0xa55ecaeac4a051c2L,0xfc54759af8944204L,0x569d9efdf938b503L,
  85859. 0x8882ab15c54bf05fL,0x9a8869ed0cab8124L,0x0000000000000007L },
  85860. { 0x1f5995bf361ce52aL,0xda53a556b51ee176L,0x735bfcd6cb664a03L,
  85861. 0x4d8e405d38486de8L,0xeeca6379a807c481L,0x9a24ac8a4d456d2eL,
  85862. 0x159b9f4c3b85ab21L,0x77524d58f256c82eL,0x0000000000000125L } },
  85863. /* 17 << 182 */
  85864. { { 0xabe54ca59d266057L,0x10173cf8ad5590e8L,0xd52929fdc2710408L,
  85865. 0x75164c9941c9bbd6L,0xe2042c2e09ec8272L,0x244a305e411aa6ebL,
  85866. 0x004b6a2930ab6539L,0x58d67a63bb2284dbL,0x0000000000000190L },
  85867. { 0xd830c66efcd95a1cL,0x0e023ec73b20bcd5L,0xc136f25c50b4c7a8L,
  85868. 0x2e36e65af69c7a3aL,0xfca3db62e46a0699L,0x2615d7fe828e0fdbL,
  85869. 0x4bcd0acac894a9f6L,0x1f6a011bc266e64cL,0x00000000000000d6L } },
  85870. /* 18 << 182 */
  85871. { { 0x9624aea7c3ba79a5L,0x303f5c44356b4d55L,0xb266745f4420746aL,
  85872. 0xd554d641ab2157c3L,0x270e293a89a1b1c6L,0x73541da2e81fb3d0L,
  85873. 0xa3af4df99d28ef8cL,0x83e20fe57f159a0bL,0x0000000000000075L },
  85874. { 0x6d4032ad216ce79aL,0xa979ded996dc5993L,0x0653ce03a77cf5e7L,
  85875. 0xd4c7c0f8e612cbf7L,0x664b14144cfd535fL,0xfc1127f460795eafL,
  85876. 0x3c612b6b68378b1cL,0x023e398ec1c7d949L,0x000000000000013dL } },
  85877. /* 19 << 182 */
  85878. { { 0x6f1d92ec3d4ae696L,0xb86106f398fab4fcL,0x822b872e3d5b0645L,
  85879. 0xe99b1302745556efL,0xf7d257a7ffb5a1f3L,0xd1c72810c5469b4cL,
  85880. 0xc023f597f796298aL,0xfe1e4d4c37019403L,0x000000000000016dL },
  85881. { 0x0afd0124d8c8e429L,0xdc549ae033397fcaL,0xcb6b425ffef20af6L,
  85882. 0xf179caa3d3ee3c39L,0xa2bafb4ae2cd0281L,0x6ed7124a8c6764beL,
  85883. 0xe347fd98c891540aL,0x6b531daa0ba5c525L,0x0000000000000176L } },
  85884. /* 20 << 182 */
  85885. { { 0xd83376b06e0604e7L,0xf3da2540b9bdabcdL,0x8a64129ab0069b9cL,
  85886. 0xf98d8a694ed21f8aL,0xcd7950fb17c1fdd1L,0x988ac822a1b303f3L,
  85887. 0x2d6dc22444468a4aL,0xed780eb123f65549L,0x00000000000000c2L },
  85888. { 0x38e4f1e17c4f29cbL,0x030f563663776af6L,0xea357f378032b066L,
  85889. 0xbc96afa12141ebbaL,0xe1396e9f7cacbe45L,0xdc5e9f07c62172a2L,
  85890. 0x00ca038fa26039a1L,0x23796edf96c93fa4L,0x000000000000014bL } },
  85891. /* 21 << 182 */
  85892. { { 0x016e72db586f95f7L,0x7f9e2c36c2400728L,0x052457cf2bf04972L,
  85893. 0x029911681fb30152L,0x5be915ba80cd0439L,0x5e151e1c6faa956cL,
  85894. 0x21ab062272dcf9d1L,0xba0e51b09414b9b9L,0x000000000000014eL },
  85895. { 0xf0a1bc7a201e1ca9L,0x768f5444c7ce120fL,0x2961c06b496c605aL,
  85896. 0x3dfd88f3c22605eaL,0xca174491e4a89909L,0x71319e378b5c6ba1L,
  85897. 0xd56268a9e975dbafL,0xb2e5ff36f38511b5L,0x000000000000014aL } },
  85898. /* 22 << 182 */
  85899. { { 0xa943c94277e540eeL,0x9d13fef6443f5f5fL,0xe9c360fc9ef01a49L,
  85900. 0xf2e1fb0698f8ab08L,0xcb966ce4cc21b8e9L,0x212a01e81f1cecdfL,
  85901. 0x800a4f8be95f2409L,0xa0a6b162fa1a1310L,0x000000000000009aL },
  85902. { 0x23b1052ee4bde75fL,0x032a7dcbb01aa17eL,0x5e4cb05ba641f2b7L,
  85903. 0x6ff29dd715184d0eL,0x29181004f479238fL,0xc3f7b9466a04f7f9L,
  85904. 0x12db296a2c9e0a68L,0x323542c22f7f2a7dL,0x0000000000000108L } },
  85905. /* 23 << 182 */
  85906. { { 0xd9cf8b726028a775L,0x3850c15741cfa8ecL,0x6b4bc9b606915137L,
  85907. 0xae55a728d1c99839L,0x045b7719e23ff638L,0xcae591faf3269ec6L,
  85908. 0x04d5743ff130730eL,0x53372a0e6208ad0cL,0x0000000000000036L },
  85909. { 0x7db65e4e4af7b7f8L,0x9dfde4aee67bba08L,0x62dda13e2cc2e030L,
  85910. 0x4ffd3135a4080e00L,0xd06a20444b48aad0L,0x9442188e59609700L,
  85911. 0x10ffbebaa9ce37a8L,0xe22428600ecb7346L,0x0000000000000005L } },
  85912. /* 24 << 182 */
  85913. { { 0x20f7c6ee1bcf9917L,0x1c7d940f8cbc7d2aL,0xc2a1139ed592def0L,
  85914. 0x0b6b644a936c827aL,0x1b16bf59abb4f3ebL,0x1693fe7916b8b498L,
  85915. 0x4b81cf5badbf552eL,0x620ef3be7e0cb980L,0x00000000000001a3L },
  85916. { 0x6106878f2f6f9a16L,0x15c2303e6cf02778L,0x18c605cf7f7e7e27L,
  85917. 0x6bd45dc798a8de3fL,0x5874172095869ddeL,0x621d8a4b2de20d0aL,
  85918. 0x7632703cdca67562L,0x9374d05536957eecL,0x00000000000000f1L } },
  85919. /* 25 << 182 */
  85920. { { 0x291cad563c81c389L,0xfa1b6f768a663dfaL,0xc23bccfb4d4e1bfcL,
  85921. 0x14218a8881c16ee9L,0xf4c48023fae0c87eL,0x58e978728e9874dfL,
  85922. 0x690b375959dabf0aL,0x45e8790a2f13f6bdL,0x0000000000000156L },
  85923. { 0xc1070b3f17bd5f8aL,0x4bb893cf246d0744L,0xf5e5d9a855e6f814L,
  85924. 0xfea75ee5a20ad845L,0x000d0926d4e9a182L,0x120ef85508b102aaL,
  85925. 0x495db2342947588cL,0x5101834a455b2626L,0x000000000000011bL } },
  85926. /* 26 << 182 */
  85927. { { 0x2a8ebbb27efc758eL,0xc14880f28e3bd85aL,0x95ec9fa6536a42e7L,
  85928. 0x07a26257f6cf0da7L,0x67976b68d1a6a137L,0xf143f97bfcd0179aL,
  85929. 0x99645da231832f2bL,0xbe0940ca0955eb50L,0x0000000000000076L },
  85930. { 0x6d01c753e3acb83eL,0x9cb6f41194373f4aL,0x935f9fc2e758ddffL,
  85931. 0xddee3e64b16c8ae5L,0x5b16820748e77dafL,0x2c0a5f0862a3cf00L,
  85932. 0xf47f143a79315466L,0x2adc4a4853a7d9beL,0x00000000000000dbL } },
  85933. /* 27 << 182 */
  85934. { { 0xd2d98879bb29fe08L,0x261ca47e9e1e47cfL,0x349da8771951592cL,
  85935. 0xe6da4080eb147166L,0x036929ab99d5410fL,0xa870f2a4ff40d8a3L,
  85936. 0x6e12a9c78b775ae9L,0x0c493e092de6fac1L,0x0000000000000193L },
  85937. { 0xea12c2dec0522680L,0xb3a5c0e533afbcc6L,0x5e7da51f049aab7aL,
  85938. 0x5dba87587f2dfa4eL,0x4e931594e3339e83L,0x100c2dcd0c75a4c3L,
  85939. 0x6795a18e562cd1e0L,0x3778c7509aa010f2L,0x00000000000000e5L } },
  85940. /* 28 << 182 */
  85941. { { 0x2d0e0e8c3a12be03L,0xa4febeba75aaa59dL,0xe5ac02d67e8056d8L,
  85942. 0xf3788c67bacd030cL,0x4018ae3921fda504L,0x690259dcf16aa240L,
  85943. 0xf51723b291ad5d2fL,0x9cf893221f0aa525L,0x0000000000000166L },
  85944. { 0x0f4b0c2a09388e2cL,0xb8308ceff40b8763L,0x2462458061a66221L,
  85945. 0xb67a79e8165aaa95L,0x94bc0b4708789bc2L,0x8b234c8708114d2cL,
  85946. 0x1ee26556bec8d5efL,0x22e3055df315d134L,0x0000000000000118L } },
  85947. /* 29 << 182 */
  85948. { { 0x46cf9a123b3ba75bL,0x1d186c661adb1a26L,0x56c777349bf1316cL,
  85949. 0x0f3e2f5ed8304840L,0x01baabfbe6070ce6L,0x503f8d930c9102d2L,
  85950. 0x4dcd3adacd453ef9L,0xd1a8baf5fc6aad57L,0x0000000000000084L },
  85951. { 0x1faf5d6dd292a0c7L,0x910d30cb74f8c530L,0x442d713a6c0fa806L,
  85952. 0x0a18ec4704b1a792L,0x880b2e809501a8f2L,0x2f074b43aac9e8f5L,
  85953. 0x44209c655e1eddb7L,0x5916efadee7e28f3L,0x0000000000000131L } },
  85954. /* 30 << 182 */
  85955. { { 0x91e1ced21c8781b1L,0x1b160a6cd9eaceccL,0x32169b6de05009ccL,
  85956. 0xa6e611cbd398f69aL,0xce953c71b0eee5fbL,0xf0b9112de9cdb766L,
  85957. 0xad581159c871f5d8L,0x0ebe554be2279127L,0x00000000000001e4L },
  85958. { 0x89976adf1ab77e95L,0x33164f3df139a517L,0xef133446a1c4a5aeL,
  85959. 0xdcbd304791d5782cL,0xdbd5c67c9750d5e5L,0xa23fc0fea185893eL,
  85960. 0xe094fe8ec7f91de6L,0xf9e3a96a99faa7a7L,0x00000000000001bbL } },
  85961. /* 31 << 182 */
  85962. { { 0xd116cbade405020cL,0x7c108b67c633aba9L,0x2b7856f5e8aa0582L,
  85963. 0xf8eab5a93ec464a6L,0x0e90e325e59632daL,0xd4dee596e85e20bcL,
  85964. 0x4cf2c91482dd5124L,0xdda35341a6160911L,0x0000000000000073L },
  85965. { 0x4d225d4108a2c6f5L,0x481686652c17247aL,0x65877f1497b579b6L,
  85966. 0xda95b1fa53d48dd2L,0x43fb7079ca44e73aL,0x7b69f069e3ec902bL,
  85967. 0xdfd35aa860d9ab1cL,0x3457f579b3e5b6edL,0x0000000000000041L } },
  85968. /* 32 << 182 */
  85969. { { 0xf43e7556bd385e53L,0xbf8f9681875c0190L,0xe3d90dee555bd31fL,
  85970. 0x3baf65546edfe5ecL,0x3d6df218960e906dL,0x7b6635cb873d0635L,
  85971. 0x98a44993ded25371L,0x918b7555ad8e24b4L,0x00000000000000d7L },
  85972. { 0xb776f9146553287bL,0x7075a0a36fa9fa1dL,0x7bc1d77c11d5513dL,
  85973. 0x789a19867993f668L,0x6162a249612a7f5aL,0x04348eb04ee7f938L,
  85974. 0xf7102ceb56583274L,0xae423442e356e7bbL,0x0000000000000002L } },
  85975. /* 33 << 182 */
  85976. { { 0x523d61302f4ead44L,0x201058f04e5b8666L,0xf7680d4267d123adL,
  85977. 0x0884457684ebdfb4L,0x84274505abd16ac3L,0xb9fafd02b3ea127dL,
  85978. 0xbbfa958703e32460L,0x291a5eb015781790L,0x0000000000000173L },
  85979. { 0xe91a30aee53f10c3L,0x9584ef2bfd5dd433L,0x108924ba581b9fcaL,
  85980. 0xc2fd60ccfd8e8fa8L,0x318e224fcab2784eL,0x0c81392b9d31ae14L,
  85981. 0x9b2311108aa8130aL,0xb270d685276f3462L,0x000000000000010fL } },
  85982. /* 34 << 182 */
  85983. { { 0xdb7ce23edde05ffcL,0x3498ab21c6d0e52dL,0x70c111977b0e5286L,
  85984. 0x2397818f56a3293fL,0x8e5190030f16f124L,0x42f9ae77dad7d391L,
  85985. 0x5b6d52b49000eaadL,0x0250415c53e5d19aL,0x00000000000000a4L },
  85986. { 0xd5134d31720c627fL,0x5225579c2ace2686L,0x43db384eb8a3ec7cL,
  85987. 0x3f857459f0f7a16dL,0x897549699739d8dfL,0xb1a377181c8ce480L,
  85988. 0x81c5b1868267d330L,0x3f45401b037f89c0L,0x00000000000001ddL } },
  85989. /* 35 << 182 */
  85990. { { 0x4e66abd437417d43L,0x9514ca813998603eL,0x3fd620ece6ffe0c3L,
  85991. 0xc72d522ec2371320L,0x9aa50a59acf05fbfL,0xc3e9213306fe5a5dL,
  85992. 0xc1d244d73c56f206L,0x7c22b8ea72b4d2e0L,0x0000000000000114L },
  85993. { 0x2cd8c20869310665L,0x41bc43a56af1617eL,0x41acd532d54f9707L,
  85994. 0xc3fe18ad05c56c89L,0x706756a536a5189dL,0x63137c9f3815ce6fL,
  85995. 0x2ff051973eaabf9bL,0x0c3118fe365d4a01L,0x00000000000001d8L } },
  85996. /* 36 << 182 */
  85997. { { 0x5d07a2964e588df1L,0x141993bb19b144a5L,0xabc8b7f17aef2cfcL,
  85998. 0x6a447e47adf5f260L,0x3617bbf9413523aaL,0xae2df3568658871bL,
  85999. 0xb73a2681eca0d3d9L,0x9faa02a845905049L,0x00000000000001daL },
  86000. { 0xcea9672c9249e1f3L,0xd6030dd792b80377L,0x1731a9b6b430427aL,
  86001. 0x707319a7dd23ecd8L,0x7497f2d3137eac72L,0xfd455e149fc57ecdL,
  86002. 0x1d5be9f6f7a02326L,0x58127f1635ac3188L,0x00000000000001daL } },
  86003. /* 37 << 182 */
  86004. { { 0xa465edcff4ff1298L,0xf6875a88fb3ce39aL,0x0f8c3e4154571e9aL,
  86005. 0x9750c93b2a33bcfbL,0xa4dda6a9c95cd2d0L,0x09512242e236cfe6L,
  86006. 0x7045f4a1f8b5241bL,0x6cfba4be0c875c33L,0x0000000000000053L },
  86007. { 0xbbda856f057cc244L,0x039c06c1a80b8883L,0x909d27543627186cL,
  86008. 0x02163479f6b0fc43L,0x46c3962436cc44beL,0x83113b35d0abcaadL,
  86009. 0x0d62ed6f0ef103ffL,0x04100f40c2c14b5fL,0x000000000000000cL } },
  86010. /* 38 << 182 */
  86011. { { 0x5492babe8e507a53L,0x01ef00154f5fdf0cL,0x5b07f050e8bf3b02L,
  86012. 0x06205d089907fdc9L,0x4ce4ecc11ad754c1L,0x3d01c3b63723fdafL,
  86013. 0x77064d779065a5a2L,0x5de5e1cb725ff125L,0x000000000000006bL },
  86014. { 0x32d6e29d839ddf7aL,0xb5908a08f6518318L,0xcaedb6a5e99f9497L,
  86015. 0xbe22eccb8509addaL,0x46511cdcdd3a6f5fL,0x74e345cb75b8d2e3L,
  86016. 0x041b65006c166683L,0x23c654ead41aa178L,0x00000000000001a4L } },
  86017. /* 39 << 182 */
  86018. { { 0xd79f98edc740422aL,0xb365a02f6f658438L,0xcbd68ebb726bb3d3L,
  86019. 0x1a74279568c9ffe1L,0x173b3d054253a108L,0x2873faa613d84b25L,
  86020. 0xba2b605b705e1276L,0x35aa0bfe1d1e7e13L,0x0000000000000013L },
  86021. { 0x54a4ac10ae28e669L,0x392bcb0022d8b070L,0xf15f6b0819e99d02L,
  86022. 0xd3019505f97077efL,0x8ba03e9342036fc1L,0xf1b3b093837e9fd2L,
  86023. 0xc92b110d891b000bL,0xb99d4924e628c1deL,0x0000000000000169L } },
  86024. /* 40 << 182 */
  86025. { { 0xa62acac89702711bL,0xfa8afde1e5a60500L,0x6d0b6ec9851d3077L,
  86026. 0x2928a849ddb4d927L,0x40731d2fee9c5656L,0xf53c199c78402e28L,
  86027. 0x8d704153bf178d27L,0x67bccd2a3f735c1fL,0x000000000000008fL },
  86028. { 0x1fb2240d935c8aa5L,0x1fa6b65f794daaa0L,0x30aa4bd3c31a7abcL,
  86029. 0x7b571e77f50b1a73L,0xe5105e178d05b874L,0x224ce4ac6574a6a3L,
  86030. 0x64f2c14ba2d9fba5L,0x30e0f151c304c3dfL,0x00000000000000feL } },
  86031. /* 41 << 182 */
  86032. { { 0x7400571b0014829aL,0xc976d3db3d15b8adL,0x2d3780591335164cL,
  86033. 0x57e68ee0e2e843bdL,0x0df368cc40341b75L,0x004e99f63666a071L,
  86034. 0x80898faa2ded5ebeL,0x2d5e2b8d5d64a7c2L,0x00000000000000a4L },
  86035. { 0xb54da69bd389bb74L,0x3f2bfe1ddb6e2d4aL,0xeb09473dc831acffL,
  86036. 0x64455b0c0ad6afc8L,0x38ac4f0c13088a99L,0xcd44c67980602e36L,
  86037. 0x6b28f3b36c93cc94L,0xcc9ed6f2649f16c0L,0x000000000000001dL } },
  86038. /* 42 << 182 */
  86039. { { 0xcb8db302d5aaec94L,0x58fb71700e303300L,0x0a78247a8b0e0ddeL,
  86040. 0x2d30370d6c007b9cL,0xb9d1fd916bd6d93eL,0x8e4be06b02362bd0L,
  86041. 0x373af6632227469cL,0x1a1b76090bac6e9aL,0x0000000000000171L },
  86042. { 0xae3c93ace2962773L,0xbd96ef35232d4523L,0x44b5d53f254b07b0L,
  86043. 0xbdc86e94658ea74eL,0xbde3eada9d758615L,0x267b46acc55f69d0L,
  86044. 0x91fc9a2d4f0a8474L,0xc3757adce7249118L,0x000000000000006cL } },
  86045. /* 43 << 182 */
  86046. { { 0x18b7327734169522L,0xc80df3cade9f570cL,0x2248ebd72ee0abb1L,
  86047. 0x719461e77ebb6b43L,0x8432cb62cbf4f4e6L,0x031df9951dcda661L,
  86048. 0x1889b33b9e588c1dL,0x1d9ba4a04dee2e11L,0x000000000000017dL },
  86049. { 0x57ee376f719a392bL,0xbc128291bcfce4c0L,0xde788ed68be2ebb3L,
  86050. 0x865d088f0c72b0a0L,0x720f285ae7b5af3dL,0x716d0d401f6564faL,
  86051. 0x68b5093e16b7733dL,0x3ce4e5a3544922acL,0x00000000000001c3L } },
  86052. /* 44 << 182 */
  86053. { { 0x3e157f2273ee88f7L,0x1c0630464384bb96L,0xfa8ccff1163124abL,
  86054. 0xf2a63516e1c82e20L,0x06f7a495ecc52cbdL,0xd00255d7d546b8b3L,
  86055. 0xa4e0ea97f2c1bd00L,0xc279c9b9d8367846L,0x000000000000018cL },
  86056. { 0x493ca0d2f4846640L,0xf2f65176836101bbL,0x9a2131507c4f5f62L,
  86057. 0xe7a4d6cb33ca1654L,0x6705565959e1757aL,0xae2233738bbdda8eL,
  86058. 0xe915be3be856975eL,0xcd6117edb40db96eL,0x00000000000001cfL } },
  86059. /* 45 << 182 */
  86060. { { 0xb4e8c9370aca7d71L,0xaac0761b9812c1fdL,0xe8596d4bee0886f8L,
  86061. 0x9bcbfa589fc12093L,0xb9e4b19c06967ae7L,0xc0e4f5c98172cd32L,
  86062. 0x94098a335ccb77f4L,0x8996dc27bdfdee8eL,0x0000000000000129L },
  86063. { 0x81b4d7ee284d4731L,0x263845cfdbf96ca8L,0xe773b3cd3a19983dL,
  86064. 0x7e16a7d17e7d7707L,0x7270b36600cffe6cL,0xef2ac9029c2de9feL,
  86065. 0x3cfae8b0c875b52bL,0x8bf88154f21e1d82L,0x000000000000002cL } },
  86066. /* 46 << 182 */
  86067. { { 0x9c765f620a5e3ebbL,0x970ccd4e818fffc4L,0x9522877a70bbf4fcL,
  86068. 0xa720852dcd9f1e17L,0x50dd2c7e15b0005dL,0xd5ff9c20842795ddL,
  86069. 0xa942f53eaab55facL,0x9c8350e25cfb4548L,0x00000000000001bfL },
  86070. { 0x8afd20bb94f7a376L,0x17de2a98a5c8cabaL,0x97d74ac55ae239ddL,
  86071. 0xcf5925c5917be399L,0x0092fdd6185c43f8L,0xbce625310c2334a6L,
  86072. 0x264385c8688c7ea4L,0x09b75046c0a5b76dL,0x0000000000000000L } },
  86073. /* 47 << 182 */
  86074. { { 0x1569eaf24cb224cfL,0x269fa0409f146821L,0x76debe784598e444L,
  86075. 0x55dbf9b1dfe244a5L,0x16cbf26eb67a835eL,0x59af39e01281e580L,
  86076. 0x71eda217a229a7a9L,0xbada5b1369432cfcL,0x00000000000000e2L },
  86077. { 0x59356f88eb5b5f1fL,0xac200a20ee82718cL,0x870cbb11bd305f9eL,
  86078. 0x6ef0a89a969de1ecL,0x89c705ef0110fd77L,0x2c944b594c73e141L,
  86079. 0x4bac7679c140aaa6L,0x910125524b4d3534L,0x0000000000000024L } },
  86080. /* 48 << 182 */
  86081. { { 0xb77b2273b687e9e4L,0xd0c9629b158071baL,0x7b0d0576bd865783L,
  86082. 0x47ca9a1b48334138L,0x22c0b777990beeffL,0x3dae022d7e8dbe92L,
  86083. 0xdecf568567233c8bL,0x96eadd8a999e9c94L,0x00000000000000d6L },
  86084. { 0x8aefeaf1b8755eecL,0xbfd2bc88789362fdL,0xa2c3bc994e34479dL,
  86085. 0x5025831148df5301L,0xd392cb00c0e07947L,0xc8c4c6a5e4a0c2baL,
  86086. 0x315a9be295c84fd7L,0x12be251d40cb144aL,0x000000000000007dL } },
  86087. /* 49 << 182 */
  86088. { { 0x600281fafdfb666dL,0x89b2e2ee9bee6f0fL,0xe8f208e3124ff0a1L,
  86089. 0xd674853a97ef8785L,0x333f682b7c613cc0L,0xa7bcf59549dc2ea1L,
  86090. 0x3431a30d26a67e52L,0x1023799fbe4720f8L,0x00000000000000abL },
  86091. { 0xf98a30432480bd59L,0xc46d6cf7fdffea8fL,0xf6f7c7e58a9d667dL,
  86092. 0x2a7fac095c65f054L,0x389cf284df19c157L,0x7b70ba00b35cc84dL,
  86093. 0x068cc13ee30d0abcL,0xca24da284f1db63fL,0x00000000000000adL } },
  86094. /* 50 << 182 */
  86095. { { 0x22becdcd9c071a34L,0x66bca042c09cda4cL,0xf701267bf0732913L,
  86096. 0x25c3b4b5a6a84d63L,0xd20b654f96a4bccfL,0x649bf2c16963824eL,
  86097. 0x3e173b274d84f899L,0x0573e68b5ae76effL,0x0000000000000193L },
  86098. { 0x850d688aa7578c52L,0x9e967e16cacaef52L,0x24e39bf84daec11eL,
  86099. 0x9ee4a66878b0072eL,0x3255f3f8f17b5e45L,0x1d8b5306c11d1f63L,
  86100. 0x79b70aa80fd0248eL,0x1e15707ccfcc577eL,0x0000000000000095L } },
  86101. /* 51 << 182 */
  86102. { { 0x6e9477a46b25f458L,0x808fe2c599cb8c78L,0xad2dccf34619ad52L,
  86103. 0xf2424ad828e3efdeL,0xb4cf55c2bdd4b5b1L,0xf03879f1d1735445L,
  86104. 0x74fb4795f9feaf2dL,0x588c3fd6312ca1eaL,0x0000000000000046L },
  86105. { 0x13b13beed8007d8fL,0x5c5b92246fdaacf9L,0x84ab74efc221e90aL,
  86106. 0x37384eb8758581d9L,0x923205a320eaa26aL,0x0cfc39ffd0995704L,
  86107. 0x8b3bd7a2d4ede2ecL,0x4a640b0002c020dfL,0x00000000000001a2L } },
  86108. /* 52 << 182 */
  86109. { { 0x9649b0c126bd0385L,0xdf659955ac77dd42L,0x512cab0f5f1d946fL,
  86110. 0x3365c06cb8e888ceL,0xd5b139364003ad9bL,0xb9ddf7422e777936L,
  86111. 0xd882a2e7f0a2ea17L,0xca25477d329706f7L,0x000000000000002cL },
  86112. { 0x109144281f14b985L,0x8c6727485f7bcafbL,0x43da81611a6b62b8L,
  86113. 0xadee9242ffc82eccL,0xb7dcdb418f391fa4L,0x1fbbf2e0593add60L,
  86114. 0xfb551a699ec74127L,0x2ae9b20e7443a903L,0x0000000000000116L } },
  86115. /* 53 << 182 */
  86116. { { 0x1ef97491410cd077L,0xa8206904f205d56bL,0xdfea5b4c334d1427L,
  86117. 0xf1982219bef52120L,0x2f5de7f02af4cbccL,0xb80fa224b097d873L,
  86118. 0xe7ebce309b3ef192L,0x34043ba58508a38cL,0x0000000000000044L },
  86119. { 0xe73a1b716e77eddbL,0x422356ea070ebe74L,0xd1e293e6b5fe5ce7L,
  86120. 0xe8897492231d1036L,0x04241a1ea9676b41L,0xbfe53ca26833593dL,
  86121. 0xb52a531006b71326L,0x09b13c8e66a34460L,0x0000000000000197L } },
  86122. /* 54 << 182 */
  86123. { { 0x65b70bc6eeae508aL,0x78b81935b70e19c5L,0x9652937bee8c6b85L,
  86124. 0xdfb53e2a9ba55188L,0x9bde675e8ce3f3baL,0x021519ed8693d863L,
  86125. 0xb64130071fd9ac55L,0x428560d4845869c4L,0x0000000000000170L },
  86126. { 0xeae5f3757b7ec622L,0xe582b16f49a0d23aL,0x23c4a6c413352ff2L,
  86127. 0x29ac206336a323c6L,0xc1be1ef1f7fdd1f1L,0x490e35a0a7d81d3cL,
  86128. 0xe6fce48a29caea09L,0xa8b619aaf3969db2L,0x00000000000000f5L } },
  86129. /* 55 << 182 */
  86130. { { 0x1870f45409e7211fL,0x63654bcea1a5ce06L,0x82f781ebaee02970L,
  86131. 0x704b05b98e6cfb1aL,0xda7779919e75ee2fL,0x9c311b5c8119aee8L,
  86132. 0x878920321ec5731dL,0x45db4af638e2efbaL,0x00000000000000f7L },
  86133. { 0xc9da8fd8e60fa998L,0x2a908c8fa661efbfL,0x948c9b3fca468a51L,
  86134. 0x485238d4944e68b9L,0x4d696e8be223a143L,0x260195a48ab78084L,
  86135. 0x3c53be3a2fda134dL,0xaab965b37d24899bL,0x0000000000000028L } },
  86136. /* 56 << 182 */
  86137. { { 0x2698187d69d2a365L,0xceac05a40b4636e7L,0x508d87efb39d959bL,
  86138. 0x7dadb94ac08ac0caL,0xbb5161f9df1dc5eaL,0x9f9118e6ec7a8f47L,
  86139. 0x5f7d5a7ee578d6bbL,0xd2cf3964beb0c4c3L,0x0000000000000076L },
  86140. { 0x312ccd712dd174e0L,0x84bf3b4bf1b3cf22L,0x4215bd31f0927edbL,
  86141. 0x062cfeefc2aafa52L,0xdd22d90155eec990L,0x18e19734057e44e8L,
  86142. 0xdfc288d25f2cd2dfL,0xbfbe2cee43c3cfcdL,0x00000000000001b0L } },
  86143. /* 57 << 182 */
  86144. { { 0xede9dba37de1996dL,0x5cd619af1e5e92b0L,0x10a0c857f0d58153L,
  86145. 0x61315a1882d47722L,0x66dd97910865fea2L,0xd2de59878c9ba9c4L,
  86146. 0xa5824d290e0820d6L,0xe5d76f638dfb9646L,0x000000000000007cL },
  86147. { 0x50c9cf139ea56fc3L,0x6da6381cbdb8339fL,0xb032c6afcd108fc0L,
  86148. 0xfa7e5df3f3b77a78L,0x5341541b5164eb5eL,0x155b51417cceb4c4L,
  86149. 0x4f553c4b4beeb913L,0x6843d58366d8e171L,0x000000000000012cL } },
  86150. /* 58 << 182 */
  86151. { { 0x46edae7d7392fef1L,0x13c81fa327e3da29L,0x131235e48fc31b9dL,
  86152. 0xd45727f4b5da6124L,0x01da47fdef43cb27L,0x5bf5a111ba1b6f30L,
  86153. 0xd139d86b94e2ec2aL,0x4509851b27a5489dL,0x0000000000000050L },
  86154. { 0x8e15e7da4e69630dL,0xb108240ba9cd3f1aL,0x3a17d2e7e78db971L,
  86155. 0x5c5d774bbb9907c6L,0x28a2b3d988c7b081L,0xae4db188a3b1b36dL,
  86156. 0x2f3dad86d87987a6L,0x9a5bf38f3ab24f4eL,0x0000000000000158L } },
  86157. /* 59 << 182 */
  86158. { { 0xdcf8bff495b0e157L,0x53222102015e65c5L,0x26806b4211c7c94bL,
  86159. 0x5d3b14efad4a65f6L,0x5b3c27aa8f1803e1L,0x9903b6938f835996L,
  86160. 0x459cd77f13b3933bL,0x895307a086b8393cL,0x000000000000004aL },
  86161. { 0xc82810de845e5630L,0x8eeb40e14c46edd9L,0xd71578b209ff3691L,
  86162. 0x5d4c8c8d7d9b5b99L,0x27751925ddbab2dcL,0xaa917a7c563fc5f1L,
  86163. 0xdbeea6a290fd3955L,0x758fe38ec8b0effaL,0x00000000000001bcL } },
  86164. /* 60 << 182 */
  86165. { { 0x3069b9d66e77aef9L,0xd042ac052eb93fb9L,0x8335fe4212830002L,
  86166. 0x293146e6e1b614fbL,0x652317e76ddb3ae5L,0xecf47236fefba037L,
  86167. 0x24b51adf58eb0b7bL,0x5109f7df4874fb35L,0x00000000000000d6L },
  86168. { 0xff02ac885f1d5485L,0x8a993daf530607feL,0xc63139c93ba41f73L,
  86169. 0x934a2f9445f411a8L,0x2208220bc95aae6bL,0x96710a9c63292771L,
  86170. 0xc1b102e35b2a77a3L,0xc8177ecba35d5e23L,0x000000000000014cL } },
  86171. /* 61 << 182 */
  86172. { { 0x9203060baa7b98a3L,0x07051a435181b164L,0xd3fa67c3eaf21604L,
  86173. 0x088e3498db6572d5L,0x7bab12be9fe1247fL,0x3c0eccaaaa9ff72bL,
  86174. 0x57f2e32204b15e7eL,0x633bc218494c1a0fL,0x000000000000010cL },
  86175. { 0x773b7a085bd8eadeL,0x8f844710f88f009dL,0x13dac3f48190c4abL,
  86176. 0x48d9eb6ea3f2ae28L,0x81f21ad313664e39L,0xd4110b6316c4b065L,
  86177. 0xa11b1afa2b8e957dL,0x0a5f65cd9bc85cb9L,0x00000000000000a6L } },
  86178. /* 62 << 182 */
  86179. { { 0x8739e462a1a8188eL,0xca1226f5110b4497L,0xce536f0a7d506e8cL,
  86180. 0x9f0e49dc8a1e00f5L,0x8abd40830a409966L,0xee494417b4ff83a2L,
  86181. 0x6a2c14d4c8b8e02dL,0x2eba1a0242c27ed3L,0x00000000000000b6L },
  86182. { 0x4991518dec3148eaL,0xa516810f34200143L,0xd15d96f86b6513deL,
  86183. 0x359a3d9657b574aaL,0xa689c45cdeda4bdbL,0x764cbd196bba4697L,
  86184. 0xd9d7997f82988c9dL,0x24dddb31d7554449L,0x00000000000001daL } },
  86185. /* 63 << 182 */
  86186. { { 0x51bc4616753f0ed2L,0x7c3c6eee58b2a1c0L,0xcf37a0748131bc15L,
  86187. 0xf06bd740fa7909e1L,0x2d7984b54b800a3eL,0x57f583984ced2487L,
  86188. 0xdc68de17f0f308caL,0x813c4b8e3a16b769L,0x00000000000000ffL },
  86189. { 0x26daebaea97c43c2L,0x258edf708fe82e3bL,0x64847056879ab94aL,
  86190. 0xfab3c35232f43e05L,0x01aa155831a2f7f9L,0x0ac01ea817d8b3f2L,
  86191. 0xa7e3667b67cf00d7L,0x83e9a2ef50ccf5eaL,0x000000000000000bL } },
  86192. /* 64 << 182 */
  86193. { { 0xdbeeb421cfd387adL,0xd208fe085bb4d523L,0xff2282dbed24edf7L,
  86194. 0x30556ff9c806b492L,0xe7716c3cd5b5bf57L,0x847e3a43153fb3b2L,
  86195. 0xe9a8fb3c391809c5L,0x52b4a72992596244L,0x00000000000001c0L },
  86196. { 0xe49b344e59d9ae12L,0x5a5e32a1c925b6daL,0xe81d38d1f054a1c6L,
  86197. 0x4ae4fe0cf15fb6d7L,0x6ef46dcd5cf03296L,0xbf46b97612da300dL,
  86198. 0xfb373fe835fa7fddL,0x0f78e5ee62bcaf82L,0x000000000000003bL } },
  86199. /* 0 << 189 */
  86200. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  86201. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  86202. /* 1 << 189 */
  86203. { { 0x9f3034247a56433eL,0xbbfa0fd960307947L,0x21c78cd331db3e3dL,
  86204. 0xa837641c0a2a5f1fL,0x28338efb56b8bdf5L,0xc0b66594f0600d27L,
  86205. 0xc07399315cb9a3bcL,0x95eac1715267267aL,0x00000000000001e3L },
  86206. { 0xe9ee22d1897f04b2L,0xb6002a034cde7dfbL,0xcbb7be483c3b494cL,
  86207. 0xbe6c1a98670f740cL,0x9e9d0b911fc603e2L,0x532af80c351c0915L,
  86208. 0x0bbf9ea379802339L,0x96c16ecadd33d50bL,0x000000000000002bL } },
  86209. /* 2 << 189 */
  86210. { { 0xd7ba67b2dca5c86fL,0xa2ad0453e4c65e75L,0x77cf1258e190bc9fL,
  86211. 0xb3f630142c69bc9eL,0xd962eac71689858fL,0xc1b865c669336a7cL,
  86212. 0x3f97565d9b5a5216L,0x93ea967c1a73a39eL,0x0000000000000083L },
  86213. { 0xa8e4af6b6ea73ebaL,0x3ff8e52dbe248173L,0x28a4e2bd3f3d34acL,
  86214. 0x5d52213e1be61adbL,0x8ebaa43d02968a4bL,0x735958e06fadce98L,
  86215. 0x2f143cd6c15f7644L,0x533bec76a7fbfc74L,0x0000000000000061L } },
  86216. /* 3 << 189 */
  86217. { { 0xfbd6e794814311efL,0x1751996b26cc272fL,0xe6a2e157a4d9ffa3L,
  86218. 0x10fc93529a7d88f4L,0x02545d80395d7365L,0x56b7ee84dc6c4d32L,
  86219. 0xc3dea31ea455538aL,0x582e311bb82cd5f3L,0x0000000000000151L },
  86220. { 0x1eadf021b3bec16dL,0x3406d4109ce73860L,0x6785be85eadb4c7aL,
  86221. 0x68adfdc3e1e59a9eL,0x131ead3cab13f561L,0x0b2c0c4925936137L,
  86222. 0x6c318ebc0f35b6f1L,0x0abe8c27f819e825L,0x000000000000015dL } },
  86223. /* 4 << 189 */
  86224. { { 0x44b3f23919fec274L,0x1dc89875e3a66eccL,0xe36ec60985eab4f3L,
  86225. 0x3713bcd6840458e2L,0xccea99d32bb88a8aL,0xebd3d4bafd21e802L,
  86226. 0x03437c286ffc588bL,0x3a21efba413b06bfL,0x00000000000001d8L },
  86227. { 0xd9afa45c16355e69L,0xe9b28f5b2502acc5L,0xef1999b91711da7dL,
  86228. 0x4657efa14eaa0320L,0x0729dac2badbe83dL,0x45b0acd9b9cfbc6eL,
  86229. 0xa014eab6bb296d4bL,0x29f6bef363b0d362L,0x0000000000000101L } },
  86230. /* 5 << 189 */
  86231. { { 0x30016ee322b152c0L,0x70de4bbf114bfedcL,0xcbdbef831e26173aL,
  86232. 0x7614a523370e3b92L,0xd7d0c5f4d3e9e924L,0x221af66abbea4a57L,
  86233. 0x2da2bd107007e4f7L,0x17d2a5bacd5b3b7eL,0x000000000000012cL },
  86234. { 0x6e8482436639e4ecL,0x9eeab903ee4d0989L,0x0bb3fb64dd0b4efbL,
  86235. 0x07089df4ce8f6909L,0x7ef71f65545a7c71L,0xe91cdecc6884437fL,
  86236. 0xe1d60e1401c4ba6fL,0x398484de2ab50390L,0x000000000000011fL } },
  86237. /* 6 << 189 */
  86238. { { 0xebce4a115a224092L,0xfe887cc974e91ac0L,0xed3beff1626717d8L,
  86239. 0xd6915dc097f9e7d2L,0x6c5aeb18a6de7e4eL,0xe18c932268e302a2L,
  86240. 0x4ef08d0ee3a4fce4L,0x7524f6f1a36161aeL,0x000000000000001cL },
  86241. { 0x096e3563fe82f5f0L,0x54cecafd13216b13L,0x51d809421d3cde0aL,
  86242. 0xdbd61ad0c2608747L,0xaf378b29ddc6c9f1L,0x09a4057360507871L,
  86243. 0x755fb6481251c43eL,0x7eeaf993a14377deL,0x0000000000000035L } },
  86244. /* 7 << 189 */
  86245. { { 0x354d6470cff89fc1L,0xd5880e0184c3f4a5L,0xe8cb2497dbd934d9L,
  86246. 0x80244f291dd7a63cL,0x87c983b43117c661L,0x72361de291c17b69L,
  86247. 0x2c94190b2ee78d13L,0x995a4ff57d91fc16L,0x00000000000000f9L },
  86248. { 0x98b17d2525c080a5L,0x3f2403b05b281b5aL,0x30f4915af7f4c45bL,
  86249. 0x01310b2ab9189ec2L,0x3dd5f6adef36c514L,0x39c3a0e711fd5062L,
  86250. 0xcb2063dc862bd28eL,0xe1a75d8e90a76270L,0x0000000000000037L } },
  86251. /* 8 << 189 */
  86252. { { 0xfdf7681d6debbcf6L,0xe21aef25600ea3c3L,0x181fb048bb30b75bL,
  86253. 0xf9d8c43d8d8b7b4fL,0x3d3bc6deca68ec32L,0x6d469252af1641ebL,
  86254. 0x1be3c9ba10252291L,0xb57f2c328fa4c10bL,0x0000000000000155L },
  86255. { 0x599e10e59ea96c94L,0x4426deb740593ce0L,0x948d92862d48d29fL,
  86256. 0xd3ad8e54c03f5cc5L,0x53fe15e4219cd0d4L,0x03b914210c8fc479L,
  86257. 0xa023c978e5aa96e6L,0xdee00502edb69f81L,0x00000000000000b7L } },
  86258. /* 9 << 189 */
  86259. { { 0x2cd49083e79f9778L,0x7f9946f671882e65L,0xfb08405c07d0fe20L,
  86260. 0x5ed7e04781c7bafaL,0x01aa5ca253de8921L,0x71ada196b70cdb9aL,
  86261. 0x2db79a24e4149028L,0x2d2a7f5c94c21733L,0x000000000000016eL },
  86262. { 0xecf6e42f2cbeb376L,0xe632d553b396294fL,0x5cca8cb36fd4084bL,
  86263. 0x92bbab151b2a587aL,0xb2e240be130d1e99L,0xa0672abac859261dL,
  86264. 0x84cf5fd413d5c102L,0xf470027bb2cdd4ccL,0x00000000000000dbL } },
  86265. /* 10 << 189 */
  86266. { { 0x27e1ae748e84955fL,0x09aaf5ae9c4f7a26L,0x4ec5554621e1e993L,
  86267. 0x800515f0370d3efeL,0xc32a04e6c4c06f83L,0x5483476dd5fab42cL,
  86268. 0x07278cf44de2d405L,0xad26e4ed4e6413ddL,0x00000000000001e4L },
  86269. { 0xbb9628ee17f12587L,0xaa5ff06f578f0bcaL,0x5c7a8d11d465f293L,
  86270. 0xbf2955e83f6e5394L,0x262cc5a3affc8451L,0xc35a8e8a722ffad7L,
  86271. 0xb93e5c2aa09cc5e1L,0x4cea80e846301158L,0x0000000000000185L } },
  86272. /* 11 << 189 */
  86273. { { 0xc18386a836ae1465L,0x7f620b6851f49485L,0x35ff5db59ac12858L,
  86274. 0xa24cb377e1b66ef8L,0xc5a5f120824944e6L,0x6ba1777e2c75d5a9L,
  86275. 0x9b02b8a4205b5e9dL,0x06a6688c47c4473aL,0x0000000000000039L },
  86276. { 0x17801becd6b7a9eeL,0xf99177ee7266ee48L,0xce538f55eb961569L,
  86277. 0xeaf8059b06dbe1e2L,0xf136975608a59309L,0xd86d2a94532ac00cL,
  86278. 0x64467ba65380bcbaL,0x0301f9be27d7e1ebL,0x0000000000000164L } },
  86279. /* 12 << 189 */
  86280. { { 0x29d39a4a7807bc2cL,0x835ca5afc2a6dc42L,0x26bb5781ac817836L,
  86281. 0x3def5563525f97d2L,0xc6cf91e9237a68b5L,0xe1e954d9f9f587a7L,
  86282. 0x7854a450126484d2L,0x0690c82dd3ae3825L,0x000000000000010fL },
  86283. { 0x3d46b028271428d1L,0x278c1fafd766ea34L,0x9c59b166355eec06L,
  86284. 0xd6570ec7a36f1efeL,0xb64c51d48e8de46eL,0xdc4c58e2b39a5f35L,
  86285. 0x1c46808b966c687fL,0x0d045d3e28f0fa4bL,0x00000000000001f4L } },
  86286. /* 13 << 189 */
  86287. { { 0xe1f8f593e4035d20L,0xf3115ca872b27c29L,0x6f021dbcce8a79a5L,
  86288. 0xc9b99de992e812c4L,0xeef9605ed479ced8L,0x17bf75d1ed230e0aL,
  86289. 0x1c37a667604f45a0L,0xba2e8685455b00cfL,0x0000000000000159L },
  86290. { 0x8d9901318b4e88e5L,0xfb0085e29fa679e9L,0xd4b5a294d35bc826L,
  86291. 0x65e3da16624f4c16L,0x28dfc963738be5c3L,0x093e9cb0de3d8c84L,
  86292. 0x83ea7628f32f052dL,0xe095054317da9fb1L,0x00000000000001d0L } },
  86293. /* 14 << 189 */
  86294. { { 0x55b440bb989b4a3eL,0x4a558cdb7ca65342L,0x0243665f6848d1afL,
  86295. 0x46e00dd3eb611d13L,0x7cdbc1eb485f070dL,0x0b6b2a4e37d9317cL,
  86296. 0xb86c7c90d9212b88L,0x0a5a39d8f0436535L,0x0000000000000185L },
  86297. { 0x0d127ab6cc7ad679L,0x87e9e7400651b018L,0x4c87124af0507f1fL,
  86298. 0xc89734aeae2e207aL,0xba7939ac576d7e51L,0xb95bd1af45eba10fL,
  86299. 0xc1674d96f2530deaL,0x227312b48e61b9f4L,0x0000000000000066L } },
  86300. /* 15 << 189 */
  86301. { { 0x1b31108442459f4dL,0x7cae90dc5e878116L,0x127607a98c0a313eL,
  86302. 0xd2c39871a55fd972L,0xdc51776a077e2127L,0x34b0a44a2fdcf34fL,
  86303. 0xa79ff2c28333072cL,0x384befa6bf1e4db8L,0x000000000000014eL },
  86304. { 0x1163018471e4da59L,0xe8eb4bd16da9fa16L,0x169061c82cf15f97L,
  86305. 0xef24bf4b32753221L,0x79cf9b4e978c0e94L,0x4ee31d9fb2e8c08eL,
  86306. 0xa9999a9b491f866aL,0xb40eaa6d61d44be8L,0x000000000000018aL } },
  86307. /* 16 << 189 */
  86308. { { 0x28904911200ad609L,0x6fb2b6633505c98bL,0x1bf6e6b517ad4abaL,
  86309. 0x6d0e654fdbd8e9b0L,0x8db772c1f588fbb6L,0x5c2b736fa292489eL,
  86310. 0xeac6e04ab902a7c9L,0x249c84e7b2dbafadL,0x000000000000010bL },
  86311. { 0x2cbc039029de2306L,0xac01d1a5bfc36a57L,0x89f1a059bacd8b95L,
  86312. 0x2e1e095a3e92c99aL,0xf172bad607b4e976L,0xdce0b2e435885013L,
  86313. 0x9a0c55567fa11b87L,0x1df0dfd67eab7ad3L,0x000000000000008cL } },
  86314. /* 17 << 189 */
  86315. { { 0x55c1cb327ee5e091L,0x9b3b38b6a4f1553eL,0xa93f2ab9ca3703b5L,
  86316. 0xe153206da14864aaL,0x53cbdcbff2500ecbL,0xd70649347984ffaeL,
  86317. 0xf0193f44c239a4cfL,0x6bfc462f1567d5deL,0x00000000000000a5L },
  86318. { 0xcd6b480b381c54e5L,0x17190f5f936eeb1aL,0x55514c1aab4dd2d5L,
  86319. 0xff15013f4d378b6eL,0x086bca23e25466d6L,0x84b630fef5c92761L,
  86320. 0x6909e2adf9aaf597L,0xea3054a8e1b21ec2L,0x000000000000003dL } },
  86321. /* 18 << 189 */
  86322. { { 0x5225f56496479004L,0xfe7f6ae01d60f576L,0x1215e4a2885f56a8L,
  86323. 0xe70f09235d1e6df0L,0x7cbf30fb66614db3L,0x346de189209d9a42L,
  86324. 0xff0cec30249c0bacL,0x76488efe69c479beL,0x00000000000001a1L },
  86325. { 0x4ad5db4a81213654L,0x748c9e51a3b0203eL,0xd9c64583acb72ac8L,
  86326. 0x3926c7c4856aab8aL,0x62eae82ca80385efL,0x74d7d9713c061721L,
  86327. 0xe647d75b3a7ddbb3L,0xab2b33724d872279L,0x00000000000001a0L } },
  86328. /* 19 << 189 */
  86329. { { 0x563ada4da040a5ffL,0xea621ac31fff0784L,0x28e6ff0875ce88f5L,
  86330. 0x09769ec371f3aeceL,0x0ff40dcb3d45fb95L,0xd7b33147eb09a022L,
  86331. 0xf62ccb4a81d97a19L,0xe45cc4d83f51b39aL,0x0000000000000137L },
  86332. { 0x79aa7c43e9a9779dL,0x36b108fb70f8c585L,0xe1736644af50cf32L,
  86333. 0x820b16320c429c35L,0x442c9d21b01595cbL,0x28c0c7683c79c26cL,
  86334. 0xde4901b3e59608caL,0x0a19facf0b39089cL,0x00000000000001e0L } },
  86335. /* 20 << 189 */
  86336. { { 0x1b5336d7e43ff8d0L,0xc6586c542375cf3cL,0x751a95b05d372296L,
  86337. 0x95517fa7db98d315L,0xb7671c0f015782f7L,0x467c1fe893c3fe96L,
  86338. 0x2a6c0f17f284f967L,0x76bff3a612aa02beL,0x00000000000000d9L },
  86339. { 0x3242434e39647784L,0x4cfb956b92a3ffe2L,0xebebb9bd37da53caL,
  86340. 0xb0c81cc581b8ee8bL,0xe3f6dd68212e7cb8L,0x7bc578594c1c5556L,
  86341. 0xc053d123d233497aL,0x599caf98bd4c5762L,0x000000000000017aL } },
  86342. /* 21 << 189 */
  86343. { { 0x461e855e310573dfL,0x54014992600cd5d8L,0xf59622b38d9f5217L,
  86344. 0x8a12593ce712e5d9L,0xc3ec3c3adfefd672L,0x424c770e4264f3aeL,
  86345. 0x08be0d0020979dd4L,0x5d78b2e57c42109aL,0x0000000000000147L },
  86346. { 0xe0136d93f5bad4bfL,0xd06d7d2e2957b516L,0x43aec5cba5b37693L,
  86347. 0xfb83976ee625c1bdL,0xf244bc273bbd2729L,0x82b9d28ff5aca07bL,
  86348. 0x0accd6d898b95aeaL,0xad438298370aaec2L,0x00000000000001f8L } },
  86349. /* 22 << 189 */
  86350. { { 0xc7c33c5eecca4b24L,0xf9044a18db7e92a0L,0x33676183cba7445aL,
  86351. 0xa9ae5991d5766cb2L,0x77c6ccfb59467537L,0x7f0b64d45a680fc8L,
  86352. 0x942a29960cb827b1L,0xec6fda25fe4e54e9L,0x000000000000003fL },
  86353. { 0x89d45bbf50285e48L,0xc367bbc6bbb6d77fL,0xcea1ade71e45ff58L,
  86354. 0xcf02f6dc094f0616L,0x87e28486305c7815L,0xb1509ee1bb11a8bfL,
  86355. 0x17d6e7d1b32df112L,0xc8c5a7f784aced31L,0x0000000000000038L } },
  86356. /* 23 << 189 */
  86357. { { 0x1dc8bdbe227db0f6L,0x1e425be636244ac1L,0xc6c7f5b0164da7f4L,
  86358. 0xe2aed98497ff7952L,0x92e74200872554e1L,0x15004c56b9be5350L,
  86359. 0x402804113966ca44L,0x5ac0cfaa80173c93L,0x0000000000000149L },
  86360. { 0xbbe3e8071236a9b6L,0xf1699483b8a492bbL,0x7a217dfae96083dcL,
  86361. 0xfcae468c2ee8724bL,0x2a1ced809815ca66L,0xc8a7078d0644ff4eL,
  86362. 0xbda30ba562fb3e52L,0x7a487bb502077ec4L,0x000000000000017dL } },
  86363. /* 24 << 189 */
  86364. { { 0x3555f75c6a7e545fL,0x1ea37a8e7a15bd6cL,0x188207a366f5c712L,
  86365. 0x0fc45bd94926901eL,0xc55d2d8cd34b1e01L,0xfc75e1afd84f7268L,
  86366. 0xded24e68bec74ee3L,0x0f611682b82806baL,0x00000000000000e2L },
  86367. { 0x5454065af1943440L,0x88291bffd01b257eL,0x6eaca283c6ae2502L,
  86368. 0x88f29ce08a74cbe8L,0x6ddb3ae9adce5e80L,0x93df4593bd911187L,
  86369. 0x16bdc203a6b62e07L,0x3a0ad818e8eaac95L,0x000000000000011fL } },
  86370. /* 25 << 189 */
  86371. { { 0x28e370db59a880c7L,0xa84aac2c2a3c718eL,0x4f9fc4fab725af9dL,
  86372. 0x52ae3e8947f0e1abL,0x4684a83853068039L,0xa3f5b78f6eb5b99bL,
  86373. 0x631dcbf590a53bb1L,0x65924aa0fbbc4453L,0x00000000000001a8L },
  86374. { 0xe12adaad50519774L,0xc9899fa49227bb12L,0x496631535bfe092bL,
  86375. 0x7ddad74485659edfL,0xd527efb9d5a37c69L,0x52d5d81842abf762L,
  86376. 0x8a41c43b2d11ba2eL,0x97bf9f89a7abf282L,0x00000000000000c4L } },
  86377. /* 26 << 189 */
  86378. { { 0x3f21fb13ef8235fdL,0x488567261d6a5b98L,0x6ba7b7667852a2adL,
  86379. 0xcb927631373de0deL,0xcae220066eb7e6a0L,0xe58ea13dfac8816bL,
  86380. 0x4dc4f35b4b2cf759L,0x7a8c6844737f6e13L,0x000000000000016eL },
  86381. { 0x0ae2eab434c605b7L,0xd78433a0fcd4c618L,0xa7596dae82b46a25L,
  86382. 0x35dcb1ff9d1608b8L,0x6380a771432f758cL,0x73bf36ed012ea66aL,
  86383. 0x923c12bcdf4a3ba1L,0x4cfb1a1b12249dbfL,0x000000000000002fL } },
  86384. /* 27 << 189 */
  86385. { { 0x21c6dda909afafd5L,0xc3ffe02f54ec3531L,0x81c46e852f5b6b5dL,
  86386. 0xfbca5691640e9b41L,0xf3a8c5f270a6f613L,0x47f8636a333304d4L,
  86387. 0x9619088688f84bdcL,0xa74c957089b07f7aL,0x0000000000000003L },
  86388. { 0x8ac2444429053fe3L,0x5f016a56f3422459L,0x3957735f6aba2e10L,
  86389. 0x1bf31ff8ed5bdd25L,0xc4c8ee2ef7e5572dL,0x6c36f06fae94f876L,
  86390. 0x5abeb8b11cf49d8cL,0x9226e08369e4554aL,0x000000000000015bL } },
  86391. /* 28 << 189 */
  86392. { { 0x6b89e2e509ace912L,0x5f4e515d7b067334L,0x6aa5259aec702301L,
  86393. 0x9cf73f7f688485cfL,0x48a5f3410659825eL,0xde9eefd6a1d3be96L,
  86394. 0x34a432aafaa769f6L,0xd1f8f08434abde10L,0x0000000000000025L },
  86395. { 0xd9b076e3bbac8db4L,0x85858504f72ee1b8L,0x451a18815ebc2846L,
  86396. 0xc8cb018a0ff63a36L,0x5256a51f13eebe02L,0x85058bc0160ac671L,
  86397. 0xd110ea4ed0d4a62aL,0xcaad594b2b033a9eL,0x0000000000000023L } },
  86398. /* 29 << 189 */
  86399. { { 0x1d34963913c1a7a6L,0xd980f79ea896afb9L,0x701959597495f839L,
  86400. 0xf0615616e8aa79c8L,0x80061bd87a3147beL,0xe5d69e15f6973e6fL,
  86401. 0x2522bad76030ef18L,0x8acfbac4495c762cL,0x00000000000001acL },
  86402. { 0x5cd25ef7321a2280L,0x95b9b0d0a0458db8L,0xccf4f8ce8ac8b7deL,
  86403. 0x904356985aa93f11L,0xe50024d1e7df2595L,0x09d83948ac09ff49L,
  86404. 0xfbaaf1d19abb573cL,0x28e4b4cd92bbe12aL,0x00000000000000daL } },
  86405. /* 30 << 189 */
  86406. { { 0xe5ca83fa634ddcb6L,0x5460a43245f882c8L,0x01a701ff4d1b379fL,
  86407. 0x743801734316aac9L,0x5e1a0761c8e815d0L,0x4f129ade260d2619L,
  86408. 0x3dab946d6a892a9dL,0x6ec73a540d8efc75L,0x0000000000000048L },
  86409. { 0x7d8189195a78b6c6L,0x110936717cd52f20L,0x42d3bed515e9988fL,
  86410. 0x1c55dcea772def70L,0xcbdacd7c334ec5e9L,0x0686fd8a7201506eL,
  86411. 0x6148b0ee02462ea5L,0x55acec514eec4f0dL,0x00000000000000a2L } },
  86412. /* 31 << 189 */
  86413. { { 0x009751a569eb5133L,0xda66bc95a61f94abL,0x839c283d21b8e5ecL,
  86414. 0x77b3814771f6e8b4L,0xf08e62f140cbe8fbL,0xf1e7ec5e33993050L,
  86415. 0x3e540919a5c6f5d6L,0x143d5a48b948ae50L,0x00000000000001abL },
  86416. { 0x227237fe6d7c37b6L,0x12b782ba91c864faL,0xe770b68f8bb0141aL,
  86417. 0xc3059e3f470cb922L,0xc55ecc13e3494d25L,0x7c7ad20198ead855L,
  86418. 0xed29220cdbf56bcdL,0x55607debe48d3158L,0x00000000000001bbL } },
  86419. /* 32 << 189 */
  86420. { { 0x1206ea28cd7bbb6aL,0xeff556d0c63062faL,0x8ad321fadeb86a3aL,
  86421. 0x9ea9fbdaf78fcdc3L,0x3ef406cb0e8c80a8L,0xc168b5970f593d36L,
  86422. 0xd6456267c352a3a0L,0x303bd08332c5a9a8L,0x0000000000000102L },
  86423. { 0xbf911f73e680d0f9L,0xb12fcca8bc1a1b47L,0xb8264577ef8024f6L,
  86424. 0x9d17b8b7f66ae119L,0xb135dfc275b33227L,0x4cbf0d6d96e667c2L,
  86425. 0xfff742beba373b24L,0x218e787e776cbd3bL,0x00000000000000ccL } },
  86426. /* 33 << 189 */
  86427. { { 0x6ea795ecf0b3e8e9L,0xa8d0f3ef415b14e0L,0x388d0b9eb2b8bdd7L,
  86428. 0xbac3606b47077e99L,0xf27e9a49fd56307bL,0x879d0ad938cc9279L,
  86429. 0x2b33ad7acd8f229cL,0x948444d5577207fdL,0x0000000000000164L },
  86430. { 0x028ff3d3b9b6280bL,0xec12413d8aba1800L,0x8fa64506ac21d32cL,
  86431. 0xfb3b64089ad6c573L,0x4e558b8146d75117L,0xdd4a2eea3159469fL,
  86432. 0x7c9060ddb61dbf21L,0xadb892fb4fe85705L,0x00000000000000e6L } },
  86433. /* 34 << 189 */
  86434. { { 0x610cb28654137f6cL,0x1aede3330753a5c9L,0xc67e4426f48014beL,
  86435. 0x85b1131f733f87ebL,0x4b5b882d2cea996fL,0x29c274a0859aabbeL,
  86436. 0x822e16883647b4a9L,0x484e63777cae42c5L,0x00000000000000b1L },
  86437. { 0x358f911aacf0fda3L,0x0693edbb8fe82648L,0xfbec08a1c04f3fd0L,
  86438. 0x45316917607c7c60L,0xc8ea888ada6dfc1cL,0x2121c681c65bf16dL,
  86439. 0x00ed364fa1da19afL,0xa28b1de4514495d3L,0x0000000000000184L } },
  86440. /* 35 << 189 */
  86441. { { 0x2999ad23a2dc7f0dL,0x77d0c3861314df56L,0x01f67ce42a664882L,
  86442. 0xfe134b6c5787a492L,0x2bcd1d1996126d18L,0xf190abf67aa5602bL,
  86443. 0xcc21b699f42256adL,0xc629989d7e2510b3L,0x0000000000000001L },
  86444. { 0x7aabff2fa2c86a01L,0x8f5272cc0bbe44c5L,0x86c041b44308cfe8L,
  86445. 0xb14043018862f6b2L,0xbe9d148d51fa122eL,0x651dfd87b3519fd0L,
  86446. 0xa0610f30d9e81817L,0xb6976414ed2a30c7L,0x0000000000000110L } },
  86447. /* 36 << 189 */
  86448. { { 0x386cb3067bdfc975L,0xb8ab848e10483147L,0x7fbbc54074dde708L,
  86449. 0xd58eb2b596761accL,0xa885a6e8b8a0f062L,0x2630f19117e92bb0L,
  86450. 0x7169a8ed1258ed15L,0x471e6bcb40976b29L,0x000000000000007dL },
  86451. { 0xa6d493e2795c47a6L,0xe118ad5806746dd9L,0x47ea093ba29cee54L,
  86452. 0x2a61aa20f7d8e228L,0xd78ec0e1fa70eda7L,0xf9511b38e1f2734cL,
  86453. 0x491fb14ec91629c2L,0xa3379d598e002052L,0x0000000000000170L } },
  86454. /* 37 << 189 */
  86455. { { 0xc505a9bdbc1a0a26L,0xb85a1e9478d9ed45L,0xdea7d140b7a562f3L,
  86456. 0x9930f6d4e2ae8f4fL,0x1159929213476304L,0x13e811ae421ff4f6L,
  86457. 0xd9e2eee649cc4771L,0x73c04b328b036469L,0x0000000000000180L },
  86458. { 0x4664a7a522123d30L,0x053c5233f9cbf61eL,0x0c6d121442902bb0L,
  86459. 0x61a509855f6d2484L,0xb427545c1f3fb40dL,0x55e444a4dbf4c320L,
  86460. 0xa8311978c13da776L,0x4623001ddb288ee1L,0x000000000000001eL } },
  86461. /* 38 << 189 */
  86462. { { 0x1cb6ff10734c362eL,0x3ec3afdc195a00b1L,0xa1ea59124f0957c3L,
  86463. 0xd9fc3ff63a5f5203L,0x9949e8d68e8a558fL,0x252995ac0e4cf7d1L,
  86464. 0x517b1dfacc935cd7L,0x7d8bdba8f0db0cf8L,0x000000000000005aL },
  86465. { 0xe8ce78b579f92ab1L,0xd9fde900ede42817L,0x5a6add0bb9b4bf72L,
  86466. 0x845e8b94a03706c2L,0x3bb16f047eaf2758L,0x29d823930580ca79L,
  86467. 0x5930385b7bf0462fL,0xd69171b381b47f3fL,0x000000000000007aL } },
  86468. /* 39 << 189 */
  86469. { { 0xb054987a59b57345L,0x690f4ea00df9adbcL,0x709a2218b262038dL,
  86470. 0xb5df8e93e44eaaedL,0x3e1580e4b2db7099L,0x1ebefedb2b3342e3L,
  86471. 0x6e0ef1246521bd90L,0x767b444de97f9531L,0x0000000000000112L },
  86472. { 0x4fa11e48d4e8e902L,0x804eb6b4375336b0L,0x0d79d368f96e7400L,
  86473. 0x66fa057582576c82L,0x514fbfc45ec62c7fL,0x72eff87ed38bd85aL,
  86474. 0xfe9185f4d8d6cc9cL,0x47a733213fd2ed50L,0x0000000000000171L } },
  86475. /* 40 << 189 */
  86476. { { 0x1f8215f9efb91de7L,0xf3add5d08a2f74d9L,0x56433008a520d556L,
  86477. 0xb6df83c58628ac75L,0xf3c38ea27390eea0L,0xb1aadf0f6078a673L,
  86478. 0xa9e0832827b6b8fbL,0x22e64291f3b7ce53L,0x000000000000017fL },
  86479. { 0xb3e7ae4c6e69500aL,0x740b9752c441e02cL,0x3d04d6dcf503d4a0L,
  86480. 0x22490a59862f3496L,0x0f4a62aab2472177L,0x668475b979720c85L,
  86481. 0xf6ebeb0bed9b4fd9L,0x8a5a6926914e8bf4L,0x00000000000000f2L } },
  86482. /* 41 << 189 */
  86483. { { 0x88714284d7f15d9bL,0x23bb89a963dae31bL,0x1dd869f770aad758L,
  86484. 0xade2a58dbc0c8b8fL,0x4e34cb29ecee1b5aL,0xffc36695a418cf27L,
  86485. 0xe6b995d08e90eb26L,0xdb6704209e7edb4cL,0x0000000000000030L },
  86486. { 0x11a61ac697a71becL,0x01a7863ce7f9c778L,0xb33e274f0dc175d2L,
  86487. 0x5bc952b86bd31118L,0x3d3c7b5ecb4a461aL,0xb247e08560a81989L,
  86488. 0x98cead253cabd814L,0xcbda7ffe5f3774b0L,0x0000000000000015L } },
  86489. /* 42 << 189 */
  86490. { { 0xfb865e6491e6c598L,0x88b4cbc94f5c3464L,0xc14f04519bba56dcL,
  86491. 0x283e370e9828f0baL,0x178381311807abb9L,0xbd9227dc91eb4794L,
  86492. 0x998862db036ae356L,0x64214f5650a6534dL,0x00000000000001d6L },
  86493. { 0x5c07fc067be97a7dL,0xb83d3ca51f918746L,0x1fc4ac0bf600c884L,
  86494. 0x00c1c0643ff9138cL,0x37107da9fe8ae63fL,0xce43f9671a021382L,
  86495. 0x533716b2dcafef65L,0xa50b01d91c1ba0a3L,0x0000000000000140L } },
  86496. /* 43 << 189 */
  86497. { { 0xc8c61097bfe6c874L,0xe4a957c48c7b1695L,0x8975c3d5cd617093L,
  86498. 0xb55cf8b8a2aeb3c3L,0x210a5fa0412b23dcL,0x3b306039222fd5e8L,
  86499. 0x58ebec8802e8b2b8L,0x85a935b9175925d9L,0x0000000000000088L },
  86500. { 0x20262a2acd9e1515L,0x23dd0510bad24e8bL,0x3f904417b39e83bfL,
  86501. 0x4767a90419e5a1e2L,0x4cd0316ec8b10371L,0x33f91aa8c3985efdL,
  86502. 0x2d2eabb1bcaf62e3L,0x61c39f69a9070a71L,0x0000000000000197L } },
  86503. /* 44 << 189 */
  86504. { { 0x2f548b4254bd23edL,0x9bdccde5e22e32ecL,0x01b0646f4d769b35L,
  86505. 0x749212ca1ddb13a7L,0x01aeb2c2793156d2L,0x1dc2dd05afed290bL,
  86506. 0x2dc90777f5976b90L,0x69b807201c24d363L,0x000000000000000aL },
  86507. { 0x927ebc909024b3d2L,0x04befa23e7fba843L,0x179ed851cc504025L,
  86508. 0xd66e92d06f1e878fL,0x27604533a48eacd1L,0x25f304c0be099838L,
  86509. 0x12f01ab1ff150469L,0xfc009f4cb502c2c3L,0x0000000000000067L } },
  86510. /* 45 << 189 */
  86511. { { 0xd18e7cdd15b76157L,0xb8b81063545ee371L,0x18860c3a5685e78aL,
  86512. 0xd2d62d66fa06d7f1L,0x7d518c8ebe31f479L,0x49634d5aca4d86edL,
  86513. 0x73510393286743faL,0xac5cb2646b005aeaL,0x000000000000006dL },
  86514. { 0x3ef1fb8c995ac4f7L,0xb1b476da5041fdc8L,0x013bba673ae16bdeL,
  86515. 0x8edf24bd989ab5d7L,0x27cbab12f77269c8L,0xd0df40b13ea9fa4aL,
  86516. 0xa0ef8425ec2bb20dL,0xe69c5d12bbb95ee4L,0x00000000000001edL } },
  86517. /* 46 << 189 */
  86518. { { 0x38d4b079f0269288L,0x024ba79538c84188L,0x8dce75a4f8f34375L,
  86519. 0x12ed9b998811a78eL,0xc43f9833966242c8L,0x1ebf2a2893a4de55L,
  86520. 0xb77ba54b5df20ecbL,0x0b59c76549fb4c99L,0x0000000000000001L },
  86521. { 0x23d73eaa305df024L,0x17641a8bd4804cb0L,0x3d7e68433251d480L,
  86522. 0x3a7ca4126fb3aef7L,0x511263cf18747d97L,0x670de6bd5cd3b9c4L,
  86523. 0x6cdd5a8ae71b247aL,0xd984e646528e3fbbL,0x0000000000000108L } },
  86524. /* 47 << 189 */
  86525. { { 0xe027d07b2f4be08cL,0xbcc10ac427c3e5ddL,0xf64b8a22e63fdda2L,
  86526. 0xf9df0d4046b68556L,0xc08d7d8e7e2240fcL,0xd854c44766a163bcL,
  86527. 0x5c52966b491bba4dL,0xb84134db9f066e7aL,0x0000000000000044L },
  86528. { 0xb09bdb9264c613b1L,0x2ca2ccbdac59d414L,0xa97aa22e6436bcf3L,
  86529. 0xf22bc357227e1feaL,0xd8a7b25c7f842c67L,0xfb4cb6c88939f9f0L,
  86530. 0x28b488967f1d398bL,0x8de5e61a807c6f89L,0x000000000000000eL } },
  86531. /* 48 << 189 */
  86532. { { 0x4231da59e97ea880L,0x5d4c048745262614L,0x3718643736aeeaeeL,
  86533. 0x17229d1dbbaa66cbL,0x342daf59a5d41097L,0x5fc2cc015080f051L,
  86534. 0x657c05a20e6527beL,0x3e61c315949e36ecL,0x0000000000000008L },
  86535. { 0x961bdc35d8a5319fL,0x5b8f4db874708cd1L,0x901d28564726604cL,
  86536. 0xe35ad211ccc10400L,0x5a9b120594004a0fL,0xdbf493bf5c8eaabdL,
  86537. 0x6ccc828bbaff6fd2L,0x83003f1077e9a126L,0x00000000000000b9L } },
  86538. /* 49 << 189 */
  86539. { { 0xd0396d365c605661L,0x736a0fba8c8a36ddL,0x120af17a26d18bcfL,
  86540. 0x2846334514e206a3L,0xd3690bd20f5657e7L,0x5f7879531bb3ddbbL,
  86541. 0xee94af0449d00002L,0x29f266ce19c87885L,0x000000000000005aL },
  86542. { 0xe4c501899ceb0396L,0x065237a9181dd431L,0xf6b4de78102156d1L,
  86543. 0xfadd137e9466701bL,0x556194d58bad4752L,0x4d7cd2ed0b23e83eL,
  86544. 0x770c7e894b1329fcL,0x4af47a31fb173fdcL,0x0000000000000035L } },
  86545. /* 50 << 189 */
  86546. { { 0x111c4e8e15567b4dL,0xba2af2f3d1278cb8L,0x95e0ef97c8a0c184L,
  86547. 0x47e7053b2a46e1f4L,0x1e288ab774cb99fcL,0x2a5285bb17060961L,
  86548. 0x50bf49cf6921f98aL,0x4ce741821d7e1372L,0x00000000000001d1L },
  86549. { 0xcf181e712a064bf7L,0xc534c01e49b3e010L,0x277fe91f939ef9aeL,
  86550. 0x0724737c2a40040eL,0x2a320ce8ffe77170L,0x391b6f9f8eff74edL,
  86551. 0x83b4195abe5b9daeL,0x937f0bcf4114237dL,0x0000000000000021L } },
  86552. /* 51 << 189 */
  86553. { { 0x41d6ef761ab2d533L,0x298cc67e04d17f47L,0x062870d3c680b409L,
  86554. 0xa74cd183e9685d65L,0xe2db43ef1eb8e1cdL,0xb0125ff3856c97e5L,
  86555. 0xe7d81e0b672a3ae4L,0xaf12df591600af74L,0x00000000000000d7L },
  86556. { 0xc6a9d40b7bdc041aL,0x8e91290a49e7d705L,0x52beef55ae198296L,
  86557. 0x5c4b1922f23fb61aL,0x79a2a393957a052bL,0x1452ec147c8cc360L,
  86558. 0xf168e6f217c63a38L,0xbe17a226707be9dfL,0x000000000000012fL } },
  86559. /* 52 << 189 */
  86560. { { 0x717f198fb091e5e2L,0x13a018ba5a3c1a39L,0x2f8745d8131531cbL,
  86561. 0xfc9c44e53e11e93dL,0x7240364643a6f330L,0xebbbe261babaef99L,
  86562. 0xc4f1941da2e2749dL,0x6bb03f4bdec5c4fcL,0x00000000000000ceL },
  86563. { 0x321b501994a5c6e6L,0xc6b51804a3f6b8ffL,0x269f2a832561b248L,
  86564. 0x3b97ea7807238ba9L,0x2fe33d8bf290911cL,0x5d148537c8cb8e95L,
  86565. 0xd1a1305196d62b4bL,0x44121143649ad208L,0x0000000000000049L } },
  86566. /* 53 << 189 */
  86567. { { 0x18c67cee142f459eL,0x374f0e63c240a5c7L,0xccb426eed0b3c8ceL,
  86568. 0xc83a69c7018a50d7L,0x9a2e51154c61e39aL,0xec5edbee6dc14408L,
  86569. 0x45725abe624cdb91L,0x4c0a11373d6d72aaL,0x0000000000000154L },
  86570. { 0x7accd15cc3b86af3L,0x78de4ff07ef41f2cL,0x3601519c309d2841L,
  86571. 0xa8712f8c378ff8f6L,0xb6e9045a0b8f9a4eL,0x2ef0a92ac1501d2eL,
  86572. 0xfff126325c745eefL,0xb0712d67b91b1b4aL,0x0000000000000165L } },
  86573. /* 54 << 189 */
  86574. { { 0x7714e43a0f7b0604L,0x225769c178d565bcL,0xedbd4a162759fc30L,
  86575. 0x5094390eb8daef23L,0xcac7cdb538737603L,0x6ec71d48993c34c2L,
  86576. 0x9eb0c65edf4ffd86L,0x9a9076f819830bd7L,0x0000000000000159L },
  86577. { 0x43d60e2fafe174ecL,0xbc38a3da61f4d263L,0xcca7c7f7dd11ad45L,
  86578. 0x8aaf2e3342e975cdL,0x9d8b2919134c2420L,0x5f8c989ebd92fa2bL,
  86579. 0xb4ee181c72b418feL,0xaa7368d199f80763L,0x00000000000001a8L } },
  86580. /* 55 << 189 */
  86581. { { 0x7baebdad95697470L,0xf6fe566efb547be8L,0xb087ed3f2a8fb882L,
  86582. 0x1c4d32db206e9a27L,0x3b047777f384b8edL,0xf2a55b91a1dd6624L,
  86583. 0x949d913812f34dafL,0xdb09a6fe227067acL,0x00000000000000d4L },
  86584. { 0xfeb27fb80160f0f1L,0xbc082e7c89550518L,0xea404d2ff506e716L,
  86585. 0xac5ac13f410aaeffL,0xa6463d178eafe900L,0x41febe7847b7f1b8L,
  86586. 0x7f6304ec189426d4L,0xf481347ff7b60b29L,0x0000000000000178L } },
  86587. /* 56 << 189 */
  86588. { { 0x3d91ea604c2a4cefL,0x8de8f69c3de838adL,0x9a725723538c37d7L,
  86589. 0x3923fa077948b4ecL,0xd1a25d23d23e67f0L,0xa2d7b9d7396fbc50L,
  86590. 0x8f8504e41d36f98cL,0xaa9e585159191798L,0x0000000000000147L },
  86591. { 0x8edbf0c2e3db7296L,0x677a299681fc8f30L,0x05e27b8db727e6aaL,
  86592. 0x4f5a9a6903113b4eL,0x9d4724e83ed42117L,0x06c0b8a572fcb859L,
  86593. 0xecdcf4d8ad040b87L,0xe6bb9a0e8cda9eb0L,0x00000000000001d4L } },
  86594. /* 57 << 189 */
  86595. { { 0xcf9d92912f2e8e0eL,0xa061e2d775701d6aL,0xf4a75abcb896c99dL,
  86596. 0x7b502799c595a675L,0xd703789763e618e2L,0xf076e4da3fbfb9e6L,
  86597. 0x3b7196719736bb0bL,0x0e2f898f4f343030L,0x0000000000000056L },
  86598. { 0xa67c36c34ce58368L,0x42fc1d6643ec3b5dL,0x2bc8c76731b19f69L,
  86599. 0x66bb8a65b40529acL,0x2ddbd08a1bd5d8bbL,0x3358549130479ed3L,
  86600. 0x4fe81de647ea8842L,0x9d43206628fb9086L,0x000000000000000cL } },
  86601. /* 58 << 189 */
  86602. { { 0x0ab82b7cfd9f395bL,0x6a40f5c4b4edd9d2L,0xdff6705215b2434cL,
  86603. 0x52a16a6a7627d662L,0x42d0a2e3360868d1L,0x7bd61bc13135ddb7L,
  86604. 0x756baf27fd0b2628L,0xc66119f396b6d910L,0x0000000000000054L },
  86605. { 0x1b35db2327a27e71L,0x3de3025d74802d8aL,0x1d1924ad6911cfedL,
  86606. 0x56b50c4fc3626e7fL,0x5ae02f9e48297981L,0x92c82e544102fd01L,
  86607. 0x0824a2f45de66a6fL,0x0e3e069689d53be8L,0x00000000000000eaL } },
  86608. /* 59 << 189 */
  86609. { { 0x31330a7b71c94713L,0x4311eeb630cbcf92L,0x6cbdc637c826f128L,
  86610. 0x07911288df0bb278L,0x13c1197a55ca042aL,0x7058c95b521d6793L,
  86611. 0xb4f7251008580366L,0xae2725c7fa6780eaL,0x00000000000001cdL },
  86612. { 0x132cefa9e24b6b80L,0xb87b576fa20cfc85L,0x596c4323e05b359dL,
  86613. 0x2ad43ee0a8c677f6L,0xb4bdfd4283cb25e5L,0x0cb93226376be03eL,
  86614. 0x5617ae0aeb0a9712L,0xf2a2e92048e8e273L,0x0000000000000040L } },
  86615. /* 60 << 189 */
  86616. { { 0x20be8f1deec0daffL,0x06e4f56b826d13aeL,0xa4c7e5313d4e15daL,
  86617. 0x27dce66c40aa5d0bL,0x88778febdc9227b4L,0x64304c472cecbc95L,
  86618. 0xd9d8f0d3d393cef4L,0x3383e2dc872b3f66L,0x00000000000001dfL },
  86619. { 0xe805eb457cf69310L,0x961caa7041f9dbf8L,0x3053e3c57e2d4b33L,
  86620. 0x4b877980a63a655eL,0xc41dc07cf1836df4L,0x6d1c3b9b2634f265L,
  86621. 0x368c4bd1062e70e4L,0x35c6e6c42b00fe78L,0x0000000000000106L } },
  86622. /* 61 << 189 */
  86623. { { 0x664ea3fa8433f73eL,0x20696c8e1e96d416L,0x8ac356ece1e2cdbfL,
  86624. 0x104c4bd5e64270ecL,0x8f25722b0c79a50eL,0x43523e2977d6a915L,
  86625. 0x04bc5be29f26d4d4L,0xfb4a05a84542270dL,0x00000000000000fcL },
  86626. { 0x908b94c28618efebL,0x99dceba2b5266591L,0xf3834ace94cf34b4L,
  86627. 0x69e6d2cf5a56d236L,0xf4030a4f05de63ddL,0x05ffad5422571079L,
  86628. 0xd5fff5da4cdc3814L,0xf0c143e2079d4e91L,0x00000000000000a5L } },
  86629. /* 62 << 189 */
  86630. { { 0x57f9bed894e9705aL,0xb2152f6c13e76e24L,0x35c88fe5d3293955L,
  86631. 0x2f9eae4d5ff3839fL,0x9c81a6c705d09a9cL,0xfa25a810240d9691L,
  86632. 0xb72c661177297890L,0x6181b2bd10c73788L,0x0000000000000101L },
  86633. { 0x4339f177dad59376L,0x03decffdc272fd1eL,0x0e311e8c5e1915cbL,
  86634. 0x89e003b809e2d503L,0x4356b8d46f2fb5edL,0x459d3fe5f482888bL,
  86635. 0x8851c7086fafe565L,0xf29b97c5da78e2b5L,0x00000000000000e3L } },
  86636. /* 63 << 189 */
  86637. { { 0xdee86d864b8e33f0L,0x2db9e320e3d4a055L,0xefdc83bc93eda388L,
  86638. 0x8960e57a47eda00bL,0xb96aaddffff77657L,0x44b1deef8dc0dd1bL,
  86639. 0x5a154403cb477801L,0xb14a66c5a8f3ae22L,0x0000000000000103L },
  86640. { 0x3acee5a7c5a696e7L,0xa833e7959e1e41b4L,0x1956f091705706c0L,
  86641. 0x0f37ea79ba39f516L,0xecc5e91b4a48092bL,0xbf42b417f640b7abL,
  86642. 0x2f32ddc0addbe690L,0xa136296a9903bfd6L,0x0000000000000153L } },
  86643. /* 64 << 189 */
  86644. { { 0x6287bbca1236bec1L,0xc16eabd8608e6b5cL,0x253193ef15fcd3c6L,
  86645. 0xd4ee71c7da5fe623L,0x62531449ac806cb8L,0x9152cf1690d7e00dL,
  86646. 0xa1e05703d20a1668L,0x6480d486bbf588daL,0x000000000000014fL },
  86647. { 0x37f70ab3fe2753e3L,0x562f4a46023ebdf8L,0x97358d7d89caf63aL,
  86648. 0x387422a7ab4b1dfbL,0x80d654962c8c3421L,0x7d338b4bdb8e13cdL,
  86649. 0xa535529dac590192L,0x39a28761a6760430L,0x00000000000000c7L } },
  86650. /* 0 << 196 */
  86651. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  86652. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  86653. /* 1 << 196 */
  86654. { { 0x1e226a938f1ef579L,0x8aeebec9138fedd2L,0xa7e39d7d1ca4c4e2L,
  86655. 0x5e53f86d49724f86L,0x9815987deb759db4L,0x538c9f700e9cd47aL,
  86656. 0xfffc98c71a7fac87L,0x3195776e7ce980e1L,0x000000000000019fL },
  86657. { 0xccab7b37e33cdcbdL,0x561d18f2855619d0L,0x56aa5963818f21d0L,
  86658. 0x1413193b571c3c5eL,0x9b30214cfd748c72L,0xef0bd8d48eadf936L,
  86659. 0xeb6d831fd1964b92L,0x4b37d5e09bc42bebL,0x00000000000001efL } },
  86660. /* 2 << 196 */
  86661. { { 0xb854567b979551eeL,0xf97b8cab3f3f499dL,0x3e343aca603fe8e0L,
  86662. 0x2c4167f8813abd6bL,0x6b23eed8a74bfd77L,0xf88b1cecd47dd491L,
  86663. 0x9e613c3226b2fd87L,0xc1b1ac19fe54bd69L,0x00000000000000afL },
  86664. { 0x12bcafbb43b4df17L,0xbd0829247266cd9bL,0x9d1e0eb35a197805L,
  86665. 0xf44ac91276cae6cbL,0x7d4e90e630d68179L,0x5407a9a02ad9609fL,
  86666. 0x02cbce1c921ecca2L,0x058ab973a246d665L,0x00000000000000c9L } },
  86667. /* 3 << 196 */
  86668. { { 0xf31853c99a73eba3L,0x3fd889550e6e4613L,0x0f685bb932a3d4acL,
  86669. 0xaeab0cd88cca35faL,0x8f65c0f7ef18d468L,0xbd45dd2509f0f948L,
  86670. 0xfc2ea6e46ba83339L,0xf6f79e60ae6934ceL,0x0000000000000158L },
  86671. { 0x3d279791e60d9028L,0xc2ca4234f0c3cf4fL,0xf21ec8f085ac780aL,
  86672. 0xc2d9b19ee6fdb32bL,0x9e2811fe0827c781L,0x42e1538749e61bdbL,
  86673. 0x936b8e23414d6887L,0x7fe54043d7edc198L,0x000000000000008aL } },
  86674. /* 4 << 196 */
  86675. { { 0x61b51bb04bee80d7L,0x0e1f6a1f7692de69L,0x8379e46ca0ebc3bdL,
  86676. 0x1c0bffa7930644f0L,0x97c67b87390db077L,0x095c33e1fada1ce9L,
  86677. 0x3c500addac54b512L,0xc231d360d3118656L,0x00000000000000b0L },
  86678. { 0x0628929839bcab2fL,0xc0c0678064dd220aL,0x062f6084763dc2a0L,
  86679. 0x88e9da731938c3e3L,0x69be8f2d52e46eb9L,0xe55c8d2d6a5de0fdL,
  86680. 0xf3a3fd63db2c0e26L,0x899c6d9f1e4bff57L,0x000000000000014aL } },
  86681. /* 5 << 196 */
  86682. { { 0xef850c0a886b7b20L,0x8f635025bb9943c6L,0xb81d4c7d73ea21aeL,
  86683. 0xcb8f069f99d3a6eeL,0x6cf775a6fa33eeb0L,0x4e222f778f96805dL,
  86684. 0x143517aaa6141ea6L,0xe38a3c64167210c0L,0x0000000000000116L },
  86685. { 0x0fb62f621fc78dbbL,0x2c6410236cab326bL,0xa72ea35af1549e38L,
  86686. 0x537f6ea3830f25ceL,0x9e079cae33eefb84L,0x38c173bab87ddbf0L,
  86687. 0x1b4373897184af77L,0xf978084cb1868bccL,0x00000000000000aeL } },
  86688. /* 6 << 196 */
  86689. { { 0x37456b07d454e1cdL,0xca872026e651ca99L,0x66d075726a03d9a8L,
  86690. 0xe6e9ba231d31cbaeL,0x2b720e01a80f7b13L,0xb6d7f827615f6ca5L,
  86691. 0xf88f8cd69012b0afL,0x5024d5de7a8e112bL,0x000000000000019fL },
  86692. { 0x24ea6d08a8749354L,0x1143855e290612b8L,0x64cfb996e2edb77eL,
  86693. 0xaddfbf4f77a5f775L,0xdd57f915dd64fd57L,0x89ce3192055a07d0L,
  86694. 0x9323e3e13cd0549cL,0x7cc109cdd89fc00cL,0x00000000000000dfL } },
  86695. /* 7 << 196 */
  86696. { { 0x09dac9edf4222533L,0x241333a9fd65cf38L,0xaa15ecbaaf69f2f4L,
  86697. 0x680cc1a0e6afa6e0L,0x581099c95f6f8c82L,0x32f948104dcae40bL,
  86698. 0x0fad007d4ff8175cL,0x5dfd36385450471eL,0x00000000000000bbL },
  86699. { 0x57a1bd6b9bedad5eL,0xb187ede777139166L,0x66ab56bbd66ab437L,
  86700. 0x8d67305e0875cc7bL,0xd1221e1d2130fbabL,0xed4482700a435b57L,
  86701. 0xea5da47bf4089497L,0x280b2cd4e8bfb1f6L,0x0000000000000115L } },
  86702. /* 8 << 196 */
  86703. { { 0x8f33504dedb74cb1L,0x1edd5d969d2a2437L,0xb4a43aadbeced5e0L,
  86704. 0x94faee53a6679dceL,0xda5ca04ff6d1589dL,0x4e55494935d8be40L,
  86705. 0x3df8d236d5311f54L,0x46f9c2d24988fe68L,0x00000000000001f7L },
  86706. { 0x4d0d9475fb2327cdL,0x552291cef0b8faf0L,0x3e3f4a98661e3c78L,
  86707. 0x2c452f05bda95549L,0x53276d708bb411bdL,0xfde0440e539322f3L,
  86708. 0x02d8d55b20961bf1L,0x3c1e105518739dccL,0x000000000000017cL } },
  86709. /* 9 << 196 */
  86710. { { 0xc03f25c3c4aa5646L,0x86c63161f5058946L,0x524d9f422c02da6bL,
  86711. 0xffd709d2d08cfc8fL,0x1e8214f8bd67d9acL,0xfdb0716ea4953705L,
  86712. 0xcee198f0637d647cL,0x0eda33411fc50c8fL,0x000000000000014cL },
  86713. { 0x3771081ba26d80ecL,0xf495ac4f7ee1f2e6L,0x458ecda5cc9f8790L,
  86714. 0xa98f84aa11d6c1d8L,0xe9d067997b694bd4L,0x510a0f753eb0c3f8L,
  86715. 0x9747f31b40f2693dL,0xa08798275c3a8fdbL,0x000000000000014dL } },
  86716. /* 10 << 196 */
  86717. { { 0x2588c869678be8ecL,0x643c5bcd70a17049L,0xfa8ac412627e6964L,
  86718. 0xc9e2c5e1d12b30bbL,0x6189df6fd7f8b20cL,0x7fd5df1593b30b2bL,
  86719. 0x30176abaaa08dc30L,0x12c058c36722406aL,0x0000000000000166L },
  86720. { 0xf11e3160e2a9cc34L,0x839d94196b6ddfb8L,0xae2e884680035a3eL,
  86721. 0x8bc4c61bd1f3c45bL,0x128980af18fd9ad6L,0x4210b25ee59cc085L,
  86722. 0xab245ee01ef3a74bL,0x256fac53af76d59eL,0x00000000000000d9L } },
  86723. /* 11 << 196 */
  86724. { { 0x31509afca5f6cedaL,0x147406dd5010591cL,0xbc35c5699341d9ceL,
  86725. 0x7ce9ace9ba35f50aL,0x19928ac5ea9234bbL,0xe036d3987fe039f4L,
  86726. 0x920ffca4004965e5L,0xd18e5104051a7e12L,0x0000000000000040L },
  86727. { 0xf5630cf3a22366a1L,0x52e3ff045ca6ab82L,0x98b95576053a65e4L,
  86728. 0x8e7f4a1b08b986a1L,0x7e4f3c04e03a5dbcL,0xca92d084a3cc2e38L,
  86729. 0x92ebfe5fefcd06f6L,0x88f060b35a709eabL,0x00000000000000d6L } },
  86730. /* 12 << 196 */
  86731. { { 0xab2a1492a5cba744L,0x6a6a4317986c613bL,0x9c8d1d01e872357eL,
  86732. 0xe7c3d762a1a8701eL,0xca296c88937b667fL,0xe5ddb632b105ffabL,
  86733. 0x602efda3db9d7cfeL,0xb72b8ee5075fa1abL,0x00000000000000f7L },
  86734. { 0x420f01bf09297d3fL,0xe6cdd604ce02895bL,0x475de3990ec6827fL,
  86735. 0x2a44d697d96cd553L,0x889200f98c9d9769L,0x4fa1f222a7289c6bL,
  86736. 0x5a45ff976d4d1b4cL,0xdc9910a51e63aa2dL,0x0000000000000098L } },
  86737. /* 13 << 196 */
  86738. { { 0xb6a85b1106456038L,0xa422307cd48af4a7L,0x25c9835ce781207fL,
  86739. 0x61e1a5ac67c18dcbL,0xe294353581f948f2L,0x427f9ac30f7fb178L,
  86740. 0x2dc53c002e2bb161L,0xda0d1835b838b9f7L,0x0000000000000122L },
  86741. { 0x2e4d3e46df6800cfL,0x66910d0655d86505L,0xae5a0dd7f0d1ed6eL,
  86742. 0x0f3f3d6a84643a02L,0xe9d03f79eecf2e38L,0x8a7c07d8ef3e2228L,
  86743. 0xba7786af35a3f709L,0xff8997ead43da7c4L,0x0000000000000044L } },
  86744. /* 14 << 196 */
  86745. { { 0x78fbe6ecff0fdb4dL,0x4625db146786490eL,0xd296291fdba395e3L,
  86746. 0xa6a1df669878e3c8L,0x0aa57c9655fe0afaL,0x9294f74589235066L,
  86747. 0x6fb4692d1d24d786L,0x7fdaab78e13f2a4eL,0x00000000000000ecL },
  86748. { 0xced57ecbeec9bdbdL,0x5b935678813a87cbL,0xefed2811b9c45d4fL,
  86749. 0x17b12bf552c52dd1L,0xc8f5c7e0211123faL,0x387fa7dd245804d9L,
  86750. 0x2a42349809bc76eeL,0x5b95c590457daa36L,0x0000000000000089L } },
  86751. /* 15 << 196 */
  86752. { { 0xd2006fad8a90d8c0L,0xae1a509ab872540bL,0x774048a4ea281ecbL,
  86753. 0xa53efead7a84cfc0L,0x5d970194332cb313L,0x4b2736352866ed7eL,
  86754. 0xb646a148a3d68d32L,0xfaca3712cf8b5d7aL,0x000000000000011fL },
  86755. { 0xc726fbc2c789acf1L,0xabf5095893f6d7f4L,0x5c9b593f8791335aL,
  86756. 0x83523e7de5e84484L,0x5dccab399f06edacL,0xcb72c6d6bc2cd75eL,
  86757. 0x5038af212638469fL,0xfa7eba1954b0dba0L,0x0000000000000165L } },
  86758. /* 16 << 196 */
  86759. { { 0xfd0261287468e327L,0x789e8dc4ee755906L,0xea0453e480218c94L,
  86760. 0xe263fe27088d7c56L,0x9219cee630277200L,0x293401d28ce5ad85L,
  86761. 0x627036d3b960ebbaL,0x8be032fef92da0eaL,0x0000000000000030L },
  86762. { 0x7ab52e739daf8d6dL,0xd6d75d4c3f789f6cL,0xc3b7560ebfc9a31eL,
  86763. 0x87b7f183d7db7ad5L,0x0f60a2db9c213425L,0xc2e67c9452c58981L,
  86764. 0x001cf3e81b6d0b43L,0x31efa39b78235b3fL,0x00000000000000ceL } },
  86765. /* 17 << 196 */
  86766. { { 0x82dcc474b926527eL,0xb05d073fc3255b46L,0x3a5d46c0a94534d5L,
  86767. 0x90e7d00664949c9cL,0xe4de4002925753d1L,0x68653da277145588L,
  86768. 0x8161ee0fb6d85753L,0xa76d05fcda37d8b8L,0x0000000000000030L },
  86769. { 0xf0baeebad0cbedc4L,0x6aee7715d6cb0047L,0x9d0952da03cdda9dL,
  86770. 0xd90557e55fc2f41bL,0xe30c3f5a68e8a4deL,0x2393e17cc79fca8bL,
  86771. 0xb11077041c6c604eL,0x6bc9e1e163858b47L,0x00000000000001ddL } },
  86772. /* 18 << 196 */
  86773. { { 0xa27480914603ef03L,0x3f533f5d3c01915dL,0xfbafdfb8da43a354L,
  86774. 0x730d876e3f58afaeL,0x72a24af75e4a20cbL,0xcfb685270e8ac725L,
  86775. 0x98dfcd5a0ac3e4cfL,0x24183e26023324feL,0x0000000000000033L },
  86776. { 0x47f328728f9a1a5bL,0x24813af407534a66L,0x928fbfd422744d19L,
  86777. 0x4f40a8ad4dc1aabfL,0xe39d2cf81946d1feL,0xf5ff40ea1ad5eb5fL,
  86778. 0x84e96cb1cc4f45c9L,0xb35d04bd39761faaL,0x0000000000000045L } },
  86779. /* 19 << 196 */
  86780. { { 0x0bd7313310603fe6L,0xb1b275b4ef3295dcL,0x1c6cf47747c52883L,
  86781. 0x950000c5904cba77L,0x36086feec437482dL,0xd59c1b42b7e63ab4L,
  86782. 0x66106e22b1b9479aL,0xd0f2f68620df7528L,0x0000000000000180L },
  86783. { 0xacb366106e9a8384L,0x7db709202b9b5667L,0x4a1fb3fe1f19a121L,
  86784. 0xe5e0295f9e62333fL,0x827ae3f70cc830aeL,0x4546f4aa82d17628L,
  86785. 0xbc357b50afdcfe1fL,0xd5287e6e8ed152d5L,0x00000000000000afL } },
  86786. /* 20 << 196 */
  86787. { { 0x829ed3209592cb28L,0x86b85a02f9bfea7cL,0x895d6cf2a22a9de0L,
  86788. 0x9cabe2bcbfd6d129L,0xb1c051eb4a792e52L,0x6684d6d90fbf1905L,
  86789. 0x77f1483ccb09e7cfL,0x8e04529b9e4cc9deL,0x0000000000000103L },
  86790. { 0xb4e2ff1ee3817349L,0x5486debd159eed89L,0xd58f04d8f1b7cfbcL,
  86791. 0x825120be1fd7a7f8L,0x3db1a0c20fb0d63dL,0xda92a7911ca49429L,
  86792. 0x21772918dadc1761L,0xff883825e3d1c3daL,0x0000000000000151L } },
  86793. /* 21 << 196 */
  86794. { { 0x6e8d3a7747c54a44L,0x2fbbee944c70d069L,0x3b0b5d7dcfce5abdL,
  86795. 0xa1588de81dd88c6fL,0x8bea3b2f3970b25aL,0x9b57781fc0211a66L,
  86796. 0x41559a91a0f70d7eL,0xac02eea95d7a7d8aL,0x00000000000000feL },
  86797. { 0x7fdaae745ec7c1d1L,0x21301b2354323760L,0xa5575e5b951e014cL,
  86798. 0xf6ddf2aea1689a42L,0x9f9b01adda3ec528L,0x21dfb4c20341571eL,
  86799. 0x9f2734abcda1a75dL,0x794ad1e16d2418bfL,0x00000000000001c4L } },
  86800. /* 22 << 196 */
  86801. { { 0x2b0a6d8949380b2bL,0xb6be08f3d53dda84L,0xf12421a02bc75f54L,
  86802. 0xc6aa94691172bc8bL,0x9ae6f245bc269c6fL,0xea55b4def0069449L,
  86803. 0x2efdfe343235c756L,0x48d89a45a7f9471aL,0x0000000000000006L },
  86804. { 0x6aac03fd019f94c8L,0x6cc17e953487dcb4L,0xd3be9f21dac7ae3cL,
  86805. 0x85c706c50cfe0d60L,0x15cdd8e82e74e362L,0x043cda214f1829b3L,
  86806. 0xaff541f04b50619fL,0x27f7440b29562dcbL,0x00000000000000aaL } },
  86807. /* 23 << 196 */
  86808. { { 0xcee0dd4d2d4aff98L,0x8cd8c37c025d56dbL,0x2855e53f95b39565L,
  86809. 0xfd72a2f7a7cba4d4L,0xc36a463b8758cef7L,0xaacda7d98488a435L,
  86810. 0xb77cbe7dbdca5af5L,0x019c571e46e70a6cL,0x000000000000008eL },
  86811. { 0x37e15e7801d4a3a0L,0x5ff7813ccd35c388L,0xcfea3bf2ac8378caL,
  86812. 0xf8b1ecb62e32328bL,0x2930b5ffe4c83cf2L,0x489f0f1ad6f765cfL,
  86813. 0xc8be93137d7c2d1bL,0x3ee2ba463c16e2c5L,0x0000000000000084L } },
  86814. /* 24 << 196 */
  86815. { { 0xbbcf2dcf3deb0321L,0x999e365320b9a035L,0x80ef540546c0470eL,
  86816. 0xe80ed2ab9934bc72L,0x512c5cb9f684a11dL,0x3d5b66118185f3a7L,
  86817. 0xdf159ef4885ea75dL,0xa3ea9b394ed4cf9fL,0x000000000000013eL },
  86818. { 0x7b66126b8c20b4d1L,0xc4ed6bc1544ac0e0L,0x279f02aab2923004L,
  86819. 0x0b40e88bf0747e04L,0x05c9e6d27312dc2cL,0x6294972e1b7860ceL,
  86820. 0x14a57cd533881463L,0x8b82ededa1248b49L,0x0000000000000185L } },
  86821. /* 25 << 196 */
  86822. { { 0xd7d62aa27fb8b741L,0xcc49ebaa22c2ceb0L,0xb7bfb7a6d783b548L,
  86823. 0x38bc7436ce389959L,0x8b0f8386da43e59fL,0xdfc845523c0eb486L,
  86824. 0x45ec3ccb01814a76L,0xe962b5073a441d4eL,0x000000000000017dL },
  86825. { 0x2b9bf5d3e7daa36aL,0xf3db2ff2de01078dL,0x8329d82a2f10cb32L,
  86826. 0x8a933f560a0240efL,0xb05ac0fcf0ab8458L,0xdc32a5492dd7cd0aL,
  86827. 0xa53ce7ea66018a68L,0x8d453dece96184f0L,0x0000000000000017L } },
  86828. /* 26 << 196 */
  86829. { { 0xfd28fd2f06a1b72fL,0x54d721eb28ab431eL,0x131944e6449a31ceL,
  86830. 0xcee896aaf743b99cL,0x5a22f9b61f309b87L,0x52595371d6f002c9L,
  86831. 0xec1119fd2f9c5506L,0x685f82c7228d2e82L,0x00000000000000d2L },
  86832. { 0xee614493cbf1b3bbL,0x44d7be7af3861222L,0x4b01c72974a0b60fL,
  86833. 0x8272691f411bef96L,0x276d9a53b6a0abc9L,0xec66bc5e0495166aL,
  86834. 0x0c3802fb8127af16L,0xe1d8c99ccfd1e4a4L,0x0000000000000021L } },
  86835. /* 27 << 196 */
  86836. { { 0x4fe4d6cc0345e12eL,0xfc55a162bd0ba258L,0xf5945aba4fa7fa6fL,
  86837. 0xef5b2f368a815568L,0x345ed8ff6f8d1f91L,0x57a9ecae13e62497L,
  86838. 0x121b4b4054ea607cL,0x2e33b7eddc577373L,0x000000000000015bL },
  86839. { 0x69b188f030164779L,0x5a5c8bf1b5595d69L,0xa5ddf2d33c99af05L,
  86840. 0x5421f999e5f631a2L,0x75741d7fc9767800L,0x9f3f1a7c1e91e805L,
  86841. 0xed1f12ac428cde8aL,0x0cbc29b61258e75fL,0x0000000000000179L } },
  86842. /* 28 << 196 */
  86843. { { 0xdb0b25781169daafL,0x6136642d2a9d17caL,0xfa6bc4e8f72df335L,
  86844. 0x1778a4c225b9ed79L,0xb633fd4f4310dbcdL,0x4b13b4faafd58778L,
  86845. 0x4522514b00e07b54L,0x559f9ab9e477fe71L,0x000000000000011eL },
  86846. { 0x5c8d43b07ddf0054L,0xa53226de46f8cac6L,0x065c1269f2f221b0L,
  86847. 0x9cafcd4a9956f22cL,0x982ac10bc519cd6bL,0x15318af6799774cdL,
  86848. 0xe71307981ac986c1L,0x73d702b5045f1c18L,0x00000000000001e3L } },
  86849. /* 29 << 196 */
  86850. { { 0x8eadf42faf4686cdL,0x1d08e2137ab97161L,0x0f210dfa3f500b83L,
  86851. 0xf1b2e0861ce61acbL,0x7eaede2891fd68dcL,0x895d7935745fb13dL,
  86852. 0xe01b00823880eb43L,0x6f6f1e0287e35884L,0x00000000000000a3L },
  86853. { 0x54e32082e6dbaf6cL,0xe7a3aaddfb20f209L,0x9a0378062a9ec5d4L,
  86854. 0x03e8f27aac9a81a8L,0x2a98abdec88a9bc4L,0x71ef89d99dc10283L,
  86855. 0x4f0489fad411c02dL,0xff054fe1b63afa4dL,0x000000000000002aL } },
  86856. /* 30 << 196 */
  86857. { { 0x5c9de5a4256a761eL,0x683f423188f0d612L,0x2a78b4b8280c04f5L,
  86858. 0x57b2bf75e3f6518bL,0x477eea36ca8677f5L,0x71035e47b0bb0034L,
  86859. 0xc12117e2aff585d4L,0xfc2faeca0c076757L,0x00000000000001cbL },
  86860. { 0xeaf9bdfa3be3d035L,0x8d68f8ccf1ff65dcL,0xf293f7cad465c674L,
  86861. 0x89ba6110617b8082L,0xe20a69b05a81151cL,0x6846f5bf5cdee0ceL,
  86862. 0xc152ffdd86d5304aL,0x0b309e4ff1a6e86dL,0x00000000000001c5L } },
  86863. /* 31 << 196 */
  86864. { { 0xd0483c82a8530876L,0x63098f1b0e175f10L,0x3f2b2af973cc5d1bL,
  86865. 0x1e1a0147e2868b4bL,0x2c156d2e0a5b21d5L,0x58954ed044ca50d6L,
  86866. 0x66c0fee44271ccf5L,0x4671b5ead83255c9L,0x0000000000000072L },
  86867. { 0xc96b825264cc2271L,0x79bf4ed687d0b7d3L,0x90aa275e308f708aL,
  86868. 0x556639c530812a17L,0x926fb02487645ec9L,0xec979253102ed54aL,
  86869. 0x5317b9e51478db12L,0xbd141acf0110f601L,0x0000000000000171L } },
  86870. /* 32 << 196 */
  86871. { { 0x04e8dc9fbcb97cccL,0x4652847e88086fbaL,0xe5ec071965411266L,
  86872. 0xaf72b4a169e1c843L,0x48e75c318161e951L,0xab6457928a39806bL,
  86873. 0x3fa10b38a2a97512L,0xba9e2ee7fc3a693aL,0x00000000000000ffL },
  86874. { 0x3b96e7c33b70d15fL,0x87c3f3dd4ae9e52cL,0xa256e7e864ecc9f1L,
  86875. 0x541d8b6d07c90736L,0x2367141f6c2b4160L,0xe32aa363cab770f3L,
  86876. 0x51e2c83261282e7eL,0x194b06a2f3fa7817L,0x00000000000001c1L } },
  86877. /* 33 << 196 */
  86878. { { 0xe8a62c0de1d32dbfL,0xf1f616421cdaf3eaL,0x70881e0fbf70d93dL,
  86879. 0xf031d4ea8bca2111L,0xa19a22ea7037de31L,0x37018144040b9b64L,
  86880. 0x6890d852d77984a3L,0xe460fa7552eda9feL,0x0000000000000105L },
  86881. { 0x6446173460a056fcL,0x708f17630b561251L,0x8e32715ffab9f6f8L,
  86882. 0x562046fb8987e3bcL,0x6fe352a8e555a225L,0x9a1db7632433a38fL,
  86883. 0x81887733cbb91ebfL,0xeff8a2c627793c77L,0x00000000000000e9L } },
  86884. /* 34 << 196 */
  86885. { { 0x3ca6f47973e4c097L,0x6ff9fa2ae38e7294L,0x1289d5bc9ea599abL,
  86886. 0xf2a37ae7a8928130L,0x50f2f989f1a6c895L,0x8757f302d7d6cbbeL,
  86887. 0x4196104d4e40f53fL,0xebbe471fbd519cf2L,0x0000000000000107L },
  86888. { 0x2ffa710db24b0064L,0x02cddcf4aee5996eL,0xe16b2968e5d23a32L,
  86889. 0xe5c9be9072f414d2L,0x8a5c1db065de7f6fL,0x2130bd6b0ccef750L,
  86890. 0xdd3df13f4f42f281L,0xc13fe304695f4b82L,0x0000000000000084L } },
  86891. /* 35 << 196 */
  86892. { { 0x93e7f4ec605cbaa3L,0xae4407b383e3f52bL,0xa2097b0241a92aa1L,
  86893. 0x9e7466e3deb06bacL,0xf8f92193bd45255dL,0x8b5f880087cc518dL,
  86894. 0x3f49ebef9ff8b60fL,0xde7fa84a2963894eL,0x00000000000001bfL },
  86895. { 0xb50f8ad28a71215eL,0x458e00b689d5ea0eL,0xd7713a988a12ca3eL,
  86896. 0x3a87bb016251a8ffL,0x9628caabf1b37745L,0x33b4c2ffd0d6c193L,
  86897. 0xc3ce2cd7168ba8e8L,0xcf2c2dd14078fec2L,0x0000000000000147L } },
  86898. /* 36 << 196 */
  86899. { { 0x8bf7c9c33cf23534L,0x5653e5d9a1868c02L,0xbfec2eeac365617bL,
  86900. 0x2b6f61f1ecc8298dL,0x40396d9f1a169a31L,0x42eb3d8659bd4b25L,
  86901. 0xa1b8cc7d241065d7L,0xa6e89c216fc1ace9L,0x00000000000000e7L },
  86902. { 0x10d6248e72bd3d50L,0x1a6446b3c4671f34L,0x6734a9f04bfde2edL,
  86903. 0x84afb994938bdf38L,0xa122be493fee450aL,0x9b83520e500ee214L,
  86904. 0x11982bd9dd8ad22dL,0x3bd3f748c9839b36L,0x00000000000001baL } },
  86905. /* 37 << 196 */
  86906. { { 0x621af6617e7b439cL,0xd6e8e2b815afe413L,0x97c6b17c7b245ddcL,
  86907. 0x289e61717feb0b73L,0x98505d821c5e51f0L,0x33cb22cd631d3314L,
  86908. 0x723a81a5e1e6b48cL,0x8e32d81164218c3eL,0x000000000000014dL },
  86909. { 0xf98fef26fdc0e56dL,0x0e9cba0ad776149fL,0x896f5700cc8b41d0L,
  86910. 0xc2361bf783699489L,0xad6795f43e5d1c59L,0x717681b64d2c7cfaL,
  86911. 0x5fe3591eeb9a970eL,0x47c95b0d8350b6e6L,0x0000000000000184L } },
  86912. /* 38 << 196 */
  86913. { { 0xbf0616bd5ddc2698L,0x765ac3d4be906553L,0x1f75a167f5494395L,
  86914. 0xf81d9ad94284513fL,0x9d6e5bdc7d63f117L,0x64311ef80dd9a72fL,
  86915. 0x1e03cb88a093fd4cL,0xc044f4baf45dac7aL,0x000000000000004dL },
  86916. { 0x01c2507bcd22efaaL,0x62a24322e919f292L,0xb1b116e684c75e56L,
  86917. 0x8ec19402f1471232L,0x4b206e3ba7712367L,0x91ef56c2038e4419L,
  86918. 0x9facfa3e5ab207beL,0x4fdd07bc11203cd6L,0x0000000000000106L } },
  86919. /* 39 << 196 */
  86920. { { 0x4d0117ffbfec68f5L,0x4cd18a0033d8d3c4L,0x3d63af1e96480162L,
  86921. 0x8b2bf467fa9ff1b7L,0x74b4ad4943c77644L,0x35725c2f089a359eL,
  86922. 0x639a66f4df226886L,0x50b29f65fedcac88L,0x0000000000000018L },
  86923. { 0x0afc4f29bd92ab9fL,0xbad68d8a47163560L,0x1ffa046d37e10fbcL,
  86924. 0x2b49d323ec249cbeL,0xac325052aec86c45L,0x3a7519254b6a83a5L,
  86925. 0x22ede30b2f277217L,0x8f88e2e854d41982L,0x00000000000001dcL } },
  86926. /* 40 << 196 */
  86927. { { 0x7278584f6efe90ecL,0xffe6da80c2971903L,0xd05ae9ff0e5b498cL,
  86928. 0xef414b291a1027b3L,0x2f651f532ca82e24L,0x2f0da56297e1b677L,
  86929. 0x7e984b0792315558L,0x30f1b1f81c3e6b0eL,0x0000000000000183L },
  86930. { 0x273edf2427a65a6cL,0x6ff4b6fa7b16c778L,0xfedb4e3731fb5dfeL,
  86931. 0x181e43b8cf9d4e15L,0xd60dc117191c9415L,0x9daa6f3583e150ccL,
  86932. 0xeff60ac45cf670adL,0xa75fc519da594d74L,0x000000000000005dL } },
  86933. /* 41 << 196 */
  86934. { { 0xe20b5aec250f9de7L,0x1aae76fb3fab5e0aL,0x0becc02b33318cb6L,
  86935. 0x3238d3a763f85fb8L,0x32b6b02f81279952L,0xfbd0321d4463d8dcL,
  86936. 0xbcf5583706ba9c4fL,0x215737ab3e66a0d2L,0x0000000000000047L },
  86937. { 0x0630af2f21485b77L,0x98d384749422760fL,0xd5ad435706253457L,
  86938. 0x3d72489a60164b41L,0x1eceddf2318658e2L,0xc01ea9d766ad11e8L,
  86939. 0x85381580468ad1daL,0x6fbf66bb215835b0L,0x0000000000000000L } },
  86940. /* 42 << 196 */
  86941. { { 0x89733251bc6e092dL,0xceb697d37f36c9faL,0xcdd80fe333cded69L,
  86942. 0x4e1dacdcad9308baL,0xa2ffd125033c2941L,0xe8d009e6974bb3ccL,
  86943. 0xd72c5fa93368b9c9L,0x8d7ed4ff5a1331c7L,0x0000000000000189L },
  86944. { 0x4813b528e8edc388L,0xdc17a243e0c0af22L,0xf1bd51fa74495d32L,
  86945. 0xec53b061b286aa96L,0xa6abdf9619068cc1L,0x820646d9e4207cdcL,
  86946. 0xf74a8d2d1bcfa5c3L,0x8633342d5f097f9bL,0x0000000000000078L } },
  86947. /* 43 << 196 */
  86948. { { 0x0c95ca695ac18348L,0xf75ca2fa5b052634L,0x28d4424b71bf0289L,
  86949. 0x0d40063f31653756L,0xc814832deb0bcc02L,0x0158f9995e70861fL,
  86950. 0x05d5a762936ad90aL,0x434a7f74a144b3f8L,0x00000000000000dfL },
  86951. { 0x6ffd78fee3f669f4L,0xe16f72d982c47401L,0xe6e5963f36c8f97aL,
  86952. 0x05c42226cf7de123L,0xd4101edcb94ee7c6L,0x6b3e2b62daa047a6L,
  86953. 0x4d55db3b99607484L,0x70960806e3c0818bL,0x0000000000000055L } },
  86954. /* 44 << 196 */
  86955. { { 0x0c19aae6b0dcfc0fL,0x9e0eb373c5c3aae8L,0xc161fd1c4a50f55cL,
  86956. 0x1ee02a2b9e0697e0L,0xd57f6a602ee4267bL,0x5d336ac44a0ddf2dL,
  86957. 0xe695c75e6e4a7d7fL,0xa79a0ff3fb055923L,0x00000000000001d1L },
  86958. { 0x2e7ea0098188fce2L,0x81ef9870c12184a3L,0x4e03c68fb1e88e83L,
  86959. 0x3b5ebc5d7e85694dL,0x436f1044bbcd787fL,0x56c1bc0d2d3e5789L,
  86960. 0x23c6542d6fe9f054L,0x8a1bf0c65ffd53ecL,0x0000000000000162L } },
  86961. /* 45 << 196 */
  86962. { { 0xee9e0619502108a8L,0x4f1b33366a1062e3L,0xfe009ec650a122d9L,
  86963. 0x2d8fcb69c9e48f99L,0x808241ac63c706c2L,0xc91225fdb524a19dL,
  86964. 0x4a8e5dcc9ec80451L,0xa03ef54586005457L,0x000000000000015eL },
  86965. { 0xac3efcae7fd50c83L,0x7e0b922f431aa19dL,0xa715c2def3d56a91L,
  86966. 0xc92deab66be3d952L,0x1c388d660db1584fL,0x65d59dea3102a4c9L,
  86967. 0xaa23da841d251b83L,0x12234fba7c16c390L,0x00000000000000d7L } },
  86968. /* 46 << 196 */
  86969. { { 0x908fc9cd1bcbb1ccL,0x1c8e79c605c7336aL,0x3be79537e9943726L,
  86970. 0x50fbdd811d9cea24L,0x0bfab19d8c2c7fbdL,0xc5549a0ad1ce3a2fL,
  86971. 0x9b9d925f8cd9652dL,0x9897484a739e0cd3L,0x000000000000007dL },
  86972. { 0x393991e454df8672L,0x3182ec23505c2450L,0x1a6d66342e010ffdL,
  86973. 0x4862c7f13a3a0457L,0x04128c4709ce1141L,0x7665a44691ecac9eL,
  86974. 0x4d35845d698e56a2L,0x2bd11b9c63edd2e5L,0x0000000000000069L } },
  86975. /* 47 << 196 */
  86976. { { 0xf005c9a8b9a2702cL,0x810498cf2c1e6de2L,0x6befe7b4e18f6d56L,
  86977. 0xc6589cf794b8d39fL,0xbf8d443c00cbf65bL,0xc7c9879f45df1b9eL,
  86978. 0xccc79b076de50858L,0x929bea822826a4e0L,0x000000000000010dL },
  86979. { 0xb296b3eca13db6f7L,0x7e5d7795faf5b85dL,0x2ff9b0b266854f2bL,
  86980. 0xc25523050a9a844bL,0xbe3c89f03882805eL,0xa9cf3ecf3b332aa9L,
  86981. 0xbe5ed1a69fad543cL,0x0f7d29f52bec4b80L,0x00000000000001e3L } },
  86982. /* 48 << 196 */
  86983. { { 0x22d8c3c4d2a1f241L,0xcb6055158ed2c14bL,0xbd634a2e2939f855L,
  86984. 0x30b2b6b91e9519b4L,0x19911c0008a31d22L,0x60b0713b979cd33cL,
  86985. 0xf41a8abdb94f9b61L,0x3f2d8c91ef72cf1eL,0x00000000000001b4L },
  86986. { 0xf0acf9b3d78b56eeL,0x12112d24e915a265L,0xa18c93adc1d7025fL,
  86987. 0x279a4db82e652107L,0xbca73ad02bffb5daL,0x2cdfeee4e2d168eeL,
  86988. 0x6d83a77f5a4aca12L,0xc203514b1d22e8f4L,0x00000000000000f8L } },
  86989. /* 49 << 196 */
  86990. { { 0x91055288c64e6ec6L,0x8c16e01acd04e9b3L,0x4036627a86571434L,
  86991. 0x881ed57082957000L,0x310c958bfa5d4e68L,0x06baf7e9bb2d87a9L,
  86992. 0x4fe3ea057c2f0a2bL,0x38bb26bfe948412eL,0x000000000000007dL },
  86993. { 0x66b2c752f3e37ae3L,0x0dd0ff8df7224205L,0xf90ce316e12378caL,
  86994. 0x6491f235c3d6855bL,0x4fb4f58faf02496fL,0xde97dddce1cb8cd6L,
  86995. 0xd92c7227fa3d595fL,0x9f6b1ce8fceea6b4L,0x0000000000000180L } },
  86996. /* 50 << 196 */
  86997. { { 0xbd22be71b0de2450L,0x2e3f91b14c3a57a3L,0xa977e3772a4ffb4aL,
  86998. 0xdbf6fffe5aa5cd91L,0xbc48435eee1e3920L,0xa563e4307d378540L,
  86999. 0x62f6de0dfb41e34cL,0x8011c6cce38ee8efL,0x00000000000001baL },
  87000. { 0x005b98bcd74a67ceL,0x8befdb54ccb7e590L,0x9f161fae5663c8aeL,
  87001. 0x3693d9d550eb0d37L,0xafb1e38ebf1d75d3L,0x087fcc9c5153565fL,
  87002. 0xf43377b8105862c2L,0xeb84439f6dec3a5fL,0x00000000000001dcL } },
  87003. /* 51 << 196 */
  87004. { { 0xcde6dee7eca8f051L,0xe3f3cf361cc4d62eL,0x25ff2aa03b1c36b8L,
  87005. 0x6e72443eafdc5613L,0xf893f5ecb9772bc5L,0x38371f1262192ac7L,
  87006. 0x9c1813baf309d94fL,0xb449174edc9a7a48L,0x0000000000000111L },
  87007. { 0x3b0e446d09c82a82L,0x6f50ae7c89493d60L,0xf1903236a6080476L,
  87008. 0x5e3827be27267e80L,0xc24b7fe32bc49a51L,0x616056db7c842855L,
  87009. 0x97ba566f1e70d7b8L,0x4dc726365a13ac33L,0x00000000000000d0L } },
  87010. /* 52 << 196 */
  87011. { { 0xf4f43b19e0e59b2cL,0xc6e2be38afeb7cdfL,0xae8a39acc29cebd1L,
  87012. 0x6efba10c45c2e785L,0xf8e52a9ab2641116L,0x40c2f2414196bec3L,
  87013. 0x60a7d1e4b1d839e0L,0x5d7d06d259f62c00L,0x0000000000000130L },
  87014. { 0xea760695ac9c3c53L,0x5986bea02581f9d6L,0x59308ce3cfc0fd55L,
  87015. 0xea705a6119235af9L,0x443894840718acaeL,0x836bf3f6328cc902L,
  87016. 0x235deb73230f3339L,0x8e0c21f18ee4baf2L,0x0000000000000164L } },
  87017. /* 53 << 196 */
  87018. { { 0xe926ef80c0a99509L,0xed1649689ccfc4f2L,0xe99b4885e39ff73fL,
  87019. 0x8ccce32809d0e1beL,0x805d18ad17806543L,0x10726fcfd6d2a9a6L,
  87020. 0x0e3467645de89209L,0x9b900651642b18f4L,0x0000000000000027L },
  87021. { 0x2b74d221bc1b36e9L,0x7e989f8c6caed8c8L,0x1e25efb759d92e98L,
  87022. 0xc6de531b1b5c7709L,0x26e58ed46b64af05L,0xd86e96d549e9e433L,
  87023. 0x4fecebf92c240df5L,0xe0d4dbf983308bfeL,0x00000000000000b9L } },
  87024. /* 54 << 196 */
  87025. { { 0x0e30bb6868a51131L,0x0989155b462c88c1L,0x548c6c52d03cae33L,
  87026. 0xbc452d0ffe58d840L,0x24200a5335a13957L,0xa601a8497546a30fL,
  87027. 0xe5d9c7e607f23c63L,0xfc71ce9d10a1c525L,0x0000000000000015L },
  87028. { 0xf6a1299a1fe5ca30L,0x2f81c374ea5824d5L,0xe644122857981dceL,
  87029. 0x3df02523b1a2de8fL,0x54e40ac804cc4237L,0xa3055eea7bd400d9L,
  87030. 0x48872d662187a56fL,0xa69e9dee884aac47L,0x0000000000000181L } },
  87031. /* 55 << 196 */
  87032. { { 0x75eefbfc42f8fcbdL,0x07eb8d597ba7414aL,0x84cd31bc2c8f2b79L,
  87033. 0x4d26c915d04becaeL,0x36868d1c210fb6c8L,0x6cfccace72f79b53L,
  87034. 0x3cdf02781ebdbe12L,0xdb4a114286fc40ddL,0x000000000000000bL },
  87035. { 0x73f66dd28db9ed5fL,0x889959a887f6b0c7L,0x6704c74140878e48L,
  87036. 0x1090b3d446b6c3a1L,0xd7b7aca178e5c4b1L,0x2d612e96ad1a5598L,
  87037. 0xca5da9eb614b70ebL,0x9ca5c48a854622e0L,0x0000000000000031L } },
  87038. /* 56 << 196 */
  87039. { { 0xd20ea6d6f77ed05eL,0x4ba76f5ad4eba7fcL,0xb8f202d214b757d4L,
  87040. 0x4c9fe411a5fa5280L,0xf6e25d132839f868L,0x13ea010ba1cad300L,
  87041. 0x480c268bf85ea22fL,0x4d0cf6672072c1bbL,0x0000000000000023L },
  87042. { 0xf1e5e5230b6bb224L,0x0d56223d8d239295L,0x3682808df54c3f69L,
  87043. 0x0c17e3ca1e59cb8cL,0x7d756e19ec2f17dbL,0xd836652462e7664dL,
  87044. 0x3768cbff8ac12886L,0x5e741a688c3d34f5L,0x0000000000000020L } },
  87045. /* 57 << 196 */
  87046. { { 0xc54fe29871847964L,0x8280a8fcfdf1f5dbL,0xd6a0534af822e863L,
  87047. 0xdc9d3cf826386f9dL,0x9bc6b98e0407ff49L,0x017784bd80755fe7L,
  87048. 0x213c81559a977a8fL,0x8dd3801d4e65da56L,0x00000000000001bcL },
  87049. { 0xef919759c03c33b2L,0x75233bef62d3430bL,0x3f1cfea4e4cc6a49L,
  87050. 0x38ab926464e971bcL,0x423b0ed9d5eb0c22L,0x6624a340b79c6d63L,
  87051. 0xd6b3fce896fa51f4L,0xadd1d8b35d609eceL,0x0000000000000070L } },
  87052. /* 58 << 196 */
  87053. { { 0x35045126ad9eda52L,0xc2ea75df374dd433L,0x487538ab0373e6c3L,
  87054. 0x33614263e0eee811L,0xc58358ea57c10df4L,0x32dc5cc35073a6c4L,
  87055. 0xb045e46a13446f08L,0xa5732ad5b66c0656L,0x00000000000001baL },
  87056. { 0x7a153e655b0966fcL,0xb603017fb8c3c1afL,0x1a39c8dba067a681L,
  87057. 0x3033a65440667020L,0xd7801a9db73a160fL,0xac1ee568789ccc50L,
  87058. 0x554288945893ec7cL,0x384002a000eda7e3L,0x00000000000001e0L } },
  87059. /* 59 << 196 */
  87060. { { 0xe8b72ba4767216dfL,0x2bd7cc62233437c1L,0x2ec3866c25595c2bL,
  87061. 0xad8e4cadcb1171acL,0xb3013d8151bd5ac4L,0x6b5abdd61b508534L,
  87062. 0xb4cc2718d3050696L,0x6b986ac7816e843cL,0x00000000000000cdL },
  87063. { 0x674cf9e1a395c9f7L,0xba207b7ba99d5579L,0xb88e686fa1933b93L,
  87064. 0x12c6706d9df81c4fL,0x15e65e3946b23f93L,0xf35458c73fc0f44aL,
  87065. 0xf1e31de2002e545fL,0x4af49917e9f03de5L,0x00000000000001caL } },
  87066. /* 60 << 196 */
  87067. { { 0x9dbe2571dddb531aL,0xcb512e4c394ebff0L,0x4b63c8a4a8d37bdeL,
  87068. 0x97beaa21bdb7f8f0L,0xf200e1e9b0a7a3f0L,0xdb7fe7da3a46a4e8L,
  87069. 0xa180445dad11a863L,0x74cf8239b2a4b922L,0x0000000000000108L },
  87070. { 0x427c0b0eb74b8368L,0x55c6a2ea42e1ee50L,0xcecb56d06ee5f819L,
  87071. 0xdd52e9cef6d2ec2dL,0x1c990f3f9331556cL,0x9178c5a82f80fd9fL,
  87072. 0x75d32ffded631398L,0x0cedb14b019fba96L,0x000000000000012aL } },
  87073. /* 61 << 196 */
  87074. { { 0x69faed89822a012eL,0x53c0271bc1ad8f52L,0xee0d31f1937d338bL,
  87075. 0xa06b3a494041a239L,0x8b63fb07702f6ba9L,0x41d5178398b69014L,
  87076. 0x8486c40b544bbcb0L,0xcf2a64640917e881L,0x00000000000000ceL },
  87077. { 0xeadcae05e83b1cf0L,0xc225b14edd855ea5L,0x1ea3000a0373f195L,
  87078. 0x28e08aa0bef5f415L,0x323f250c04f8b333L,0x5c2790bc8c761109L,
  87079. 0x49334e096d0e9ebcL,0xf82c8cd830e0fcafL,0x000000000000010bL } },
  87080. /* 62 << 196 */
  87081. { { 0x4c1a21f51222a135L,0x7ffc7eb85e187c31L,0x2b6d847fe1fe189aL,
  87082. 0x19dfc0372d394d0bL,0x55dc23a056e7e285L,0xeadb01c77fb7a5c1L,
  87083. 0x885f8312bd11402fL,0x7bb2f26fff2843e4L,0x0000000000000137L },
  87084. { 0x4be6d277183e33d9L,0xdb4a534c64233c38L,0xf6cb271db58af85bL,
  87085. 0x41e0e7e5e334d256L,0xc91e2cea2d50cf26L,0x7819aed35fda0020L,
  87086. 0xe8f81026c0a98fb6L,0x109243793a618687L,0x000000000000009aL } },
  87087. /* 63 << 196 */
  87088. { { 0xac831cc6dd08552fL,0x749fb06f21e38f55L,0xffe1fa0503348862L,
  87089. 0x8181db69c8c3e026L,0x1404819e3dd3daddL,0xb065c5a303749cdaL,
  87090. 0x9f2ff76605fdc4e1L,0x6c73b8ccf67793efL,0x0000000000000080L },
  87091. { 0x807f0dcbc1f25aa0L,0xa38b959a84dfac44L,0xa112f1c8427a1fa8L,
  87092. 0x8bbe3c9dca7866e4L,0x67777e1960dbae5aL,0x323e9a90a9f6aa43L,
  87093. 0x693abeca12ab7028L,0x262a90dad5667809L,0x0000000000000053L } },
  87094. /* 64 << 196 */
  87095. { { 0xad8f0fe4c4e24c8dL,0x81cf16fdd1eaa52dL,0x710a08a7d68864caL,
  87096. 0x8e736c0e7539de5fL,0xca6583377f67341cL,0x63892b7d900b74b6L,
  87097. 0x5d1d91db6e9be886L,0xa4da95649633a600L,0x000000000000019bL },
  87098. { 0xcdae7a975c319d97L,0x873b4f53d0316874L,0x7ac186845c213ab4L,
  87099. 0x4f0b5ae2ae9109c5L,0x1934b7ed7a661690L,0x0f98acd90707b518L,
  87100. 0x12f07c5534017e00L,0xe9b121a16ce4ad49L,0x000000000000015eL } },
  87101. /* 0 << 203 */
  87102. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  87103. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  87104. /* 1 << 203 */
  87105. { { 0xf4d3bcb3e588a775L,0x63161619365983c7L,0xba7334ad66782f6cL,
  87106. 0x1f14dedb8783d25aL,0xff6fe73c50c67fe1L,0x711ddfe3f79a86a3L,
  87107. 0x7cbd7f3a027d18eeL,0x7f63d331c4ecd52aL,0x00000000000000d7L },
  87108. { 0xf463a32bcb49037bL,0x66e4ce3de7c35c02L,0x1d175313116e0d6bL,
  87109. 0x3bcfa6722d307ee9L,0xc6f9bcdc7c79261dL,0x79bb33dc994649cfL,
  87110. 0xb491b05f6d4ee55cL,0x4bd0668e1e6846bfL,0x00000000000000ffL } },
  87111. /* 2 << 203 */
  87112. { { 0xe7bfc99fbdec6efbL,0x2bd3d26b67326c7bL,0x23f041ff594c614eL,
  87113. 0x5a778c67ec9b4420L,0x75b5618b30eaa444L,0xf8e2bb92ae6d50a4L,
  87114. 0x7278c60b1fdeb6f0L,0x5b8471dd97c654ccL,0x0000000000000139L },
  87115. { 0x115a81123e959ca8L,0x13dc4aa38bed7eeeL,0x02340f86ef94c5fdL,
  87116. 0x519293a499a5d5ccL,0x09573381294349a0L,0xdefe063fda33b39fL,
  87117. 0x6a18640aa382a806L,0xb3e25fdbd227a86fL,0x00000000000000d3L } },
  87118. /* 3 << 203 */
  87119. { { 0x64018be514712d81L,0x5fafa8b67cdf8720L,0xd92dbefac4676cc7L,
  87120. 0x81b9d5d13ff37dbaL,0x2ecd7dde297a8d41L,0xc893b59f1f558676L,
  87121. 0x5d8d83ce75659922L,0xe1dc82f90559beacL,0x00000000000001bfL },
  87122. { 0xa3cc74ebdce6c952L,0xa76fdacac95505acL,0x67ab4bddbfa02be6L,
  87123. 0x2a24dae8df7d00e4L,0xf82d0a5af2523788L,0x0b3db8532f8ffc37L,
  87124. 0x65ee0920549e630cL,0xb682bfc6e02b93afL,0x00000000000001ceL } },
  87125. /* 4 << 203 */
  87126. { { 0xe3169760d3a4d912L,0x5568005c7ba3a1a6L,0xb469884dd7e7b5d5L,
  87127. 0x6be70c098cecec62L,0x6300a32fc5d6363dL,0xc2fd66e44db63578L,
  87128. 0xa131ea2135ae7bebL,0xa82fd7fbd31a6f2fL,0x00000000000000daL },
  87129. { 0x1280d69100deb4b3L,0x72865157a4ea0abeL,0xc87881678934a09bL,
  87130. 0x5733cc11a70dd871L,0x139e88760ffc8eb0L,0x8e9436e30d958521L,
  87131. 0x06d1a845b3059f58L,0x3c220ab3a81354f6L,0x000000000000000bL } },
  87132. /* 5 << 203 */
  87133. { { 0xadb4a7d18cd7b861L,0xa73ebcba1bf42950L,0xd952d5552c86dad2L,
  87134. 0xe3f82d13b988894aL,0xc389b7497ad6f062L,0xef0ed10973ec36d6L,
  87135. 0xecd5d73dcdd4431aL,0x006edb8d828f55e5L,0x0000000000000144L },
  87136. { 0xf19bb0ce05a40d99L,0x152e0fd650dd05b4L,0x057bbf2e9508569dL,
  87137. 0xa125e601f434a3adL,0xcfbf6d31dbd7abf3L,0x8a47f4fbabb7ec67L,
  87138. 0xba9b13e665be73a5L,0x06d9f4989a033039L,0x0000000000000113L } },
  87139. /* 6 << 203 */
  87140. { { 0x1499ff98ac49d960L,0x98f7925a3940ff6fL,0xf6c696dd743f2ccdL,
  87141. 0xe7c6c272ef310a73L,0x4029492d91ad1858L,0xa2e65af9483037ccL,
  87142. 0x080c3fd0d3453348L,0x4a1f9803068380c0L,0x00000000000001bcL },
  87143. { 0xa39427ddd9dc2514L,0xe0f733ecb2a91d48L,0x0144d74f29219e28L,
  87144. 0x25ddcc92e3fc6c5fL,0xb90e371391f871e5L,0x3f763adb81a245caL,
  87145. 0x1fc6a1492f3e2323L,0x92cc2090b41f0b93L,0x00000000000000a7L } },
  87146. /* 7 << 203 */
  87147. { { 0x16fc10ab7052570aL,0xb8ba7dd0743fc619L,0x74e19ac2fdc9c41eL,
  87148. 0x8c377fa7ad8dc91dL,0x9c7d2ea6e0cfa9fbL,0xb1f1b0d571b1aa87L,
  87149. 0x912d33bc900e1282L,0xe8efdbbb0235ab3bL,0x0000000000000193L },
  87150. { 0x2f42a780ecf05e45L,0x4abc067a5ffea26bL,0xd934e1bf3b8f86d9L,
  87151. 0xc622689102f42e09L,0xb828a02f94bdda3eL,0x08d0e0d8fd23164aL,
  87152. 0x49138165cd40abe2L,0x2cad4154325e1e74L,0x00000000000001d4L } },
  87153. /* 8 << 203 */
  87154. { { 0x293385edb0596774L,0xcdf619f0dc09fb31L,0xc4af9e6a90f76d96L,
  87155. 0x54b471b7cc8596fcL,0x18ffee0265bb2ef9L,0x4942b53fcf9d919eL,
  87156. 0xd6f9d2a9e553f316L,0xd83946cc6a58eaa5L,0x00000000000001b2L },
  87157. { 0xa1d2daecdf8aa88fL,0x62cd7b320caed19dL,0x7c08bc5735b5b292L,
  87158. 0xe1a60a4454118651L,0xb1d83a9eaa8e4f5cL,0xc47b05fda30e7ac3L,
  87159. 0x9167e33e388daa83L,0x27a10be2b9685de6L,0x00000000000000bbL } },
  87160. /* 9 << 203 */
  87161. { { 0x61072e6115d296f8L,0x11fc465ebc5f7f34L,0x93eb012252ce572dL,
  87162. 0xe66fe1a8a14f9fc8L,0x0857caf11118519bL,0x0ec99efbce22fd7aL,
  87163. 0x9630984caeebd7b7L,0x06e2507983a6f11eL,0x0000000000000123L },
  87164. { 0x6b5c0e4a5b5a2bf8L,0x0a0430a05250b970L,0xa547c2981f8d2d99L,
  87165. 0x942a92d7773b6ae5L,0x3832ae1f9b1776f7L,0x9ff2f6eaf2484715L,
  87166. 0x8e886adfed1ac349L,0x5fa46fc33779f565L,0x0000000000000112L } },
  87167. /* 10 << 203 */
  87168. { { 0xf5fe39ed1fe5f835L,0xe17a6fb3164e9741L,0xeb9a084a0f1180e9L,
  87169. 0x95f55d56a1174f31L,0xc33fa3d103850ac7L,0x15a29bac6e0ddd06L,
  87170. 0xb80a0b7836f2f29eL,0xe5d8ddf467cde67aL,0x0000000000000133L },
  87171. { 0x1767c74cc5ee0dd4L,0x1d61299bd7e4bddbL,0xf4d89a2ffa74fb11L,
  87172. 0xe8a63c4a0037fb90L,0x30fcdb047800ec4aL,0x49a1e298d490df3bL,
  87173. 0x3d3510a2da5acae7L,0x2d4184aa78ce9832L,0x0000000000000024L } },
  87174. /* 11 << 203 */
  87175. { { 0x461789e5a7e331b4L,0x94f5c063e056cf9eL,0x51c4cb0bafe86b1dL,
  87176. 0xa77f9298ef14a074L,0x077bb1b48fc7cda4L,0xe5463bbe3ec37500L,
  87177. 0xd8929e637a85c083L,0x99bde81e8a6a20f3L,0x0000000000000039L },
  87178. { 0x3267c02daa1f7d63L,0x23d9787ed3ea992dL,0x8bd7ecc6eadfc006L,
  87179. 0x1dcc457818d40a6aL,0xf4e545c5c2837f18L,0x4936de14599552abL,
  87180. 0xf7ba407716ae7bc3L,0xb5a4143a28bd986bL,0x0000000000000132L } },
  87181. /* 12 << 203 */
  87182. { { 0x7af8ee911d17b705L,0x8e4e597421098f55L,0x0542a394d5cecacfL,
  87183. 0x4d8eb8395094f357L,0x8c86900c62d5a150L,0x7ad4081bafe653e7L,
  87184. 0x387c8a7e677a5bbcL,0x088120b9be7886d1L,0x0000000000000156L },
  87185. { 0x986523706c398918L,0x7c9c49714f6c44c4L,0x443abe7820a8fa98L,
  87186. 0xf42a7ff4137f926fL,0xff4c7aa9f464b480L,0xf88b491a277d4eb8L,
  87187. 0x170a625fc3cab7f6L,0xf9bba62bcdcab435L,0x0000000000000186L } },
  87188. /* 13 << 203 */
  87189. { { 0x31b0c09c5bf0852dL,0x18aaaed5d0a908a1L,0x4895590f40ba0908L,
  87190. 0x5b3c1647b5ce8ae3L,0xf1b7f80893496465L,0xd5dd6bab9f019279L,
  87191. 0x85473bc14ec60138L,0x5e219e24c353225eL,0x00000000000000b9L },
  87192. { 0xb175cd2ff10b3294L,0x8cdc3ffa902373d3L,0x49bf103f9b547ce4L,
  87193. 0x78437a78684806b9L,0xedf8cea1ecb2881dL,0x3f74415f802d7f2aL,
  87194. 0xf921f614ec2bd162L,0xc5e11e9860a14a15L,0x000000000000007eL } },
  87195. /* 14 << 203 */
  87196. { { 0xda963dc90741634eL,0xc2b6b3cc6a62e31dL,0x726ffdb0926a9817L,
  87197. 0x2bc8a0c6a7a05347L,0xb440bef6dad1f7a5L,0x96ae7cb3666ebfb7L,
  87198. 0xf3b41ea36955bba1L,0x2ed577ffb1869190L,0x0000000000000025L },
  87199. { 0xcd5dc527b188b5e5L,0xa3fa5778ce6e943eL,0x463b9aa822daf81fL,
  87200. 0x2a0544efdfb44926L,0x7c78f0e5c5f56c83L,0x83a5552b87a0cacfL,
  87201. 0x8a5a5cdbf491affeL,0x419ba8841b8398d3L,0x00000000000000bfL } },
  87202. /* 15 << 203 */
  87203. { { 0xc7a233d26a1409e2L,0x75613083d555f813L,0x57856cf213217cf0L,
  87204. 0xa98b1bfbf09af4a8L,0x43ce553426956b0dL,0x952672fca3623606L,
  87205. 0x6c5123aa9b1676b8L,0x7ea503cd2c03b708L,0x00000000000001ddL },
  87206. { 0xfe97c8445f696473L,0x41fc8b4210c17454L,0x5988fe457d0bc836L,
  87207. 0x771a9260151ffcdcL,0xb20c19f78f31f140L,0x6a616316ea95a25aL,
  87208. 0x16ca637432de15b1L,0x428f650bfdd3aecbL,0x00000000000000fdL } },
  87209. /* 16 << 203 */
  87210. { { 0x4ac7cf5e23e6c204L,0x7b4459a48deb8019L,0x2ffd2583ebe4e27bL,
  87211. 0xab15feb705e6ae2aL,0x270a5d8fc902355cL,0x8d3df414faf419fdL,
  87212. 0x191b90b534ae3d01L,0x497282c4bb5abd9eL,0x000000000000011bL },
  87213. { 0xd2232ae08c7267f4L,0xe1fec69b17b6532fL,0x1c6a586eb1a2d82cL,
  87214. 0xeb84318629128558L,0xbf24d2f13a80efd7L,0x93763ddbb22228d1L,
  87215. 0xf9da00393cb37b92L,0x780d8ba986cd2952L,0x000000000000018aL } },
  87216. /* 17 << 203 */
  87217. { { 0x85ce6086c42c91ceL,0xe3730ba1beff726fL,0x3a03ccef7b5cdd1bL,
  87218. 0x21f5dd5f74df90ccL,0x515f92541dd8a8a5L,0x32e144b04540ec56L,
  87219. 0xd5b0f4ce1bf59220L,0xf7475efc15b613a1L,0x0000000000000009L },
  87220. { 0x9648786de09a8312L,0x637db864dec600f8L,0xc8d80a2aeff36b2cL,
  87221. 0xb35ee379748d7b89L,0x80480f180bc51ee5L,0x93ecb703dc1e3844L,
  87222. 0x96285408970354c9L,0x1d025481acdc2e04L,0x00000000000001b1L } },
  87223. /* 18 << 203 */
  87224. { { 0x11da16733b2b4777L,0x0da01f6bee05eca4L,0x4a39b2c1b5c102bfL,
  87225. 0xb1c398f40180ecafL,0x0f34076588c87533L,0x0c47914ac3c66289L,
  87226. 0x3696a6fa0dd34c31L,0x81e365a2a368c6d7L,0x00000000000001f0L },
  87227. { 0x840b207fbd408342L,0x30261282fece17e0L,0x40257c9f3da41fb8L,
  87228. 0xa4cae7603b1ac31aL,0x5fbcff5f594f704cL,0xe351cefe85314299L,
  87229. 0xe22cb75c12b975ceL,0xb1f453d9aa5cac15L,0x0000000000000004L } },
  87230. /* 19 << 203 */
  87231. { { 0xc9ead8a3a32cf5c9L,0x7dc1770b97c506e6L,0xe7c79e2d42a4fbc7L,
  87232. 0xb04c9f61bd24d6a0L,0x3205b73d256b6b7bL,0xf16c9e4b2de3cb16L,
  87233. 0x227f1ff5d82a3f34L,0x0019b2fde6349182L,0x000000000000016eL },
  87234. { 0x1f14191b7572f22cL,0x7302f1d0bf7099bbL,0x7fb16da069ac373fL,
  87235. 0x3339a34583f442ebL,0x2e9f4d5b3748f434L,0x824a57612b80770fL,
  87236. 0xdbb71eccb3f15c50L,0x1682849bf4442e7bL,0x0000000000000195L } },
  87237. /* 20 << 203 */
  87238. { { 0x178d85d0416d2153L,0x4c5e98ac3192f6b3L,0xa2bf4a99f469bfb7L,
  87239. 0x0cf96dce79b1c827L,0x1f0c1c1426bfefe5L,0xb311eb1d1eed9d89L,
  87240. 0x740f6075a0e8edfbL,0xaf5aaccd20253b96L,0x000000000000004aL },
  87241. { 0x383c53e0e2c5bcb2L,0x2bd6968fddf8bed4L,0x3f7fded26470a5adL,
  87242. 0x4262c3d7081745f0L,0xda4dd333cdf6dfd3L,0x3198e00505d05d05L,
  87243. 0xc90c1c96590157c9L,0x2ab65d5b805804c4L,0x000000000000018cL } },
  87244. /* 21 << 203 */
  87245. { { 0xc8b63533163574afL,0xd4411f669392afb1L,0x39cae3efe849fbb4L,
  87246. 0xb6905a8d734c3270L,0xb67c07e1cbbb8c06L,0xb255b4db9aac51d0L,
  87247. 0xf199d235564033e6L,0xa95f3a7c0f798793L,0x0000000000000188L },
  87248. { 0x991b58c05d94e2acL,0x160c5d37fee15559L,0x34604e5ab17d3f15L,
  87249. 0xf5a0f8bdfb1b01f8L,0xe991821b060c46a2L,0xf7a38307a55a0299L,
  87250. 0xc356d8e03afaa0d2L,0x333a3c25f0970ad8L,0x0000000000000175L } },
  87251. /* 22 << 203 */
  87252. { { 0x127344e29f66bf23L,0xe5072714c3ff9b2aL,0x9aa6b001571e9d32L,
  87253. 0xe92e4ae6e6738a5dL,0x4616e315433defabL,0xe1309a4a0b892330L,
  87254. 0xde5f54f81acd85a9L,0x6615d532a0013a39L,0x00000000000000b2L },
  87255. { 0xae7fe9461948c112L,0xaba4b1f25fc94eefL,0x622344602eebeedfL,
  87256. 0xe9794e6c8c0c8afeL,0xa2dbac68aa7d5990L,0xf59d5a7ad07e966cL,
  87257. 0xc301f1334490bb8bL,0x05102377fac91f14L,0x0000000000000076L } },
  87258. /* 23 << 203 */
  87259. { { 0x60373c888966b32cL,0xea1c42d6dc6c28c8L,0x18d4ad6301e1db60L,
  87260. 0xbdaaea6027297a7dL,0x8195b41927d1104fL,0xc48c92ed6b0c1bc8L,
  87261. 0xb73823906b31a986L,0x33294cc20e930151L,0x00000000000001c0L },
  87262. { 0xc482e8e3c6e67f35L,0xeeb9cc9aee7cfe14L,0xff393c6df96fd071L,
  87263. 0x77f360224c240d36L,0x7aa6e6d4008cf062L,0x33f7ba5e334659e1L,
  87264. 0xb7bb47e3338f19e0L,0x24641529965a354bL,0x0000000000000081L } },
  87265. /* 24 << 203 */
  87266. { { 0xff3620b84bdbf53eL,0x9a92f844cfb096a3L,0x3b4c39d9d79176efL,
  87267. 0x5c23425d20c67ba8L,0x2a3a36c2aa571818L,0x131fbff694d33bceL,
  87268. 0x8a647ce852fc474bL,0x082f25d4708dee34L,0x00000000000001b7L },
  87269. { 0x0b83c1f0799941fcL,0x39efdd8895537412L,0x569503fdb5578a16L,
  87270. 0x858772ff0ac52d85L,0x1eb29ef86eeaed65L,0x416b2a4900efb022L,
  87271. 0xc34726fb98e0e612L,0x460f3c084eb7474bL,0x00000000000000b9L } },
  87272. /* 25 << 203 */
  87273. { { 0xfd46e1db27a1181aL,0x1ee50b461711b1f7L,0xa60af377813334e3L,
  87274. 0x8151c9876ce57ecbL,0xc75b6a7d140d4b4fL,0x1b8f031e29797048L,
  87275. 0x142493c798c35dc6L,0xb2cfe7b7cbe996a7L,0x000000000000015eL },
  87276. { 0x80544a487edde636L,0x46353ae9fd5db792L,0xb20013c8220846afL,
  87277. 0x2416e5bdde7762b7L,0xe64be27df87fd397L,0xab712e13e2ffa788L,
  87278. 0x5193155a057b1e4aL,0x5469e2a4b847b16cL,0x000000000000001cL } },
  87279. /* 26 << 203 */
  87280. { { 0x5d942f48eea1b609L,0x5b5928f55d45821eL,0x4e902a63e4334d8cL,
  87281. 0x9487288dfd9c133aL,0x076583ec0562afa4L,0x15ac51ce847620a8L,
  87282. 0x75614dcd6bb7db20L,0x61b4f0ac79817a3cL,0x0000000000000135L },
  87283. { 0xafa3db2917e1ade5L,0x34c874f1303a98a8L,0x46a0324db21aa653L,
  87284. 0x6bbd6e145845d604L,0xa08a64424c41da8dL,0xa86f0eced381c0bfL,
  87285. 0x680383de6177267eL,0xd8a8c02c2eb78f7aL,0x0000000000000182L } },
  87286. /* 27 << 203 */
  87287. { { 0x510c5be254c5aa6eL,0x814e5b33a2c96898L,0x5c5409cc0bc238d9L,
  87288. 0x5b5f3771d0f892eaL,0xc6d889cb5adb6dd6L,0xd69b4a965bcc3a28L,
  87289. 0xb005053762d3d8caL,0xb649554bbbed8aaeL,0x00000000000001ecL },
  87290. { 0xeed46bb08eb806a6L,0x9b77f90339b297c4L,0x768412874c81b21eL,
  87291. 0xb9f15aae9f97d21fL,0x860ca9350ecfb6efL,0xe4199e02d03a9365L,
  87292. 0x4b4f34036b22befaL,0xfce4b34a3e909e2cL,0x0000000000000035L } },
  87293. /* 28 << 203 */
  87294. { { 0xa29eabe4613c2400L,0x6da11ad55fd4843bL,0x6c479b3ea02471adL,
  87295. 0x36f15bc6fbb5c3acL,0x4fb2678cb1d9580fL,0xffe413ff946486c5L,
  87296. 0x5907bfdfa12b55e6L,0x32f96e37446dbb1cL,0x00000000000000f6L },
  87297. { 0xd371325a5f34ecbcL,0x4381c3cd2296b634L,0x059d9308e5fd27ecL,
  87298. 0xf6ce8b258e757bbaL,0xddbf8e7ade871b1eL,0xe66728521ed3e5d9L,
  87299. 0x6d20b61da5d76131L,0xb8902120ed8a464aL,0x0000000000000029L } },
  87300. /* 29 << 203 */
  87301. { { 0xafd1249ea0049ad9L,0x17e3f90da460a3f1L,0x9bf7805cad6c8671L,
  87302. 0x4de57997e5e4efdeL,0xb6d31c92436e52fdL,0x3b5d07d0e66dfedcL,
  87303. 0xe8f61a8613b6040bL,0xdb120430540de2f0L,0x0000000000000046L },
  87304. { 0x17a3a42b480fcae3L,0xe6724148df4383beL,0xd0d8e825e7398a02L,
  87305. 0xff5e909116413545L,0x80a83d1b9e9f32d7L,0x1e64d4128169cd89L,
  87306. 0xc06a950009862dd0L,0x5ab3d610135884b7L,0x000000000000017fL } },
  87307. /* 30 << 203 */
  87308. { { 0xb22b6df53fe8f109L,0xe4ae50e7c00edcd4L,0xbf891ce36387044cL,
  87309. 0x0716f49bd08fb385L,0x0efbe8c154934b45L,0x08e66176982f659dL,
  87310. 0x042ce73691962a9eL,0x1f08748ca2974528L,0x000000000000006eL },
  87311. { 0x8fa7abdd6b9af5d7L,0xaa2fbf79978b04ccL,0x4ea61bae7f3136b7L,
  87312. 0x406b670e150cad9cL,0x22be2a1b08aa96f6L,0xffcc680d566c56d7L,
  87313. 0xe65207819a111236L,0x940aef1c69d2e843L,0x0000000000000062L } },
  87314. /* 31 << 203 */
  87315. { { 0xd129e91b896698afL,0x73b41a17181e6925L,0x97ce44352236ade8L,
  87316. 0xd75aebca34fb46a8L,0x14c944000e23617bL,0xcd8b9bfbeb166d12L,
  87317. 0xee040a4c3a905495L,0xb72ecd7ec410f093L,0x00000000000000dcL },
  87318. { 0x061e964149500be0L,0x6bd1c08f37d923d5L,0x20ace6977d7c8942L,
  87319. 0x4b0799a17ec28340L,0xd78d922cc03f7a1eL,0xaa5ed16c52d72598L,
  87320. 0x9a9465fc536adef7L,0x1520c2f1b2190fa1L,0x000000000000014fL } },
  87321. /* 32 << 203 */
  87322. { { 0x0fc6c549c4c762bcL,0xc43915e34e5eb96fL,0xad88ee68d1bb0b5bL,
  87323. 0x484a9fad3f1f26a3L,0x0d93055c2bc15e9dL,0xa745abbb06d26bb7L,
  87324. 0xf60ed3b8464f0731L,0x963d8d94ea9058bfL,0x0000000000000039L },
  87325. { 0x4608ac087b67b298L,0x3baf2ae6c85cf812L,0xb30aec550d25bedfL,
  87326. 0x581493507ce48459L,0xfcb39f45d3c41e2dL,0x48d241a0126e11a7L,
  87327. 0x7b425421909a1621L,0x9bb349dde746bf4bL,0x00000000000000abL } },
  87328. /* 33 << 203 */
  87329. { { 0xf78ef0177735364dL,0x4242a9b94f24972cL,0xaafb2ff361309582L,
  87330. 0x68159118c9fe5e6bL,0xa139c9d817d00812L,0x396e0ab8226a0decL,
  87331. 0x3a30e3c673ea4520L,0x18df75b8a9dd6918L,0x0000000000000104L },
  87332. { 0x1604bdd3791132f0L,0x0d35e98dca54008cL,0xe9ceeb9b6c26b2a0L,
  87333. 0x4a4c2574b1f5b2a2L,0x69fbe01ff67ec174L,0x869a7c63315bc86cL,
  87334. 0xf08c67d6679659abL,0x5569ff11470dfd0fL,0x00000000000000dcL } },
  87335. /* 34 << 203 */
  87336. { { 0x3f0253b63cbfb254L,0x6ae0490dfbc31984L,0xe3211ed9838456d9L,
  87337. 0xa777ce33d6dda841L,0x2477049c8192bf72L,0x272fd5e9a4c1ffceL,
  87338. 0x4d93c00b02a926a8L,0x1f2575f0e049893bL,0x00000000000001daL },
  87339. { 0xee660c10a1ea2fafL,0xd873fc0cb8c5388cL,0x567dcbe9dca70a47L,
  87340. 0x9d40a36f11c8a42fL,0x3676748d0ac98534L,0x2bcbf2174d49d6cfL,
  87341. 0xe11f56cea7891326L,0x1ab209d7060afa57L,0x000000000000009fL } },
  87342. /* 35 << 203 */
  87343. { { 0x4b6d579ba05593bdL,0xc6285d8e3e95708dL,0x9241a96b5c289411L,
  87344. 0x25ca7d1a7ff046d7L,0x2590294a1361f71aL,0xb49a914ec83ad83eL,
  87345. 0x89aceb3a85fb27d8L,0x6776c7f95575641fL,0x00000000000000ccL },
  87346. { 0x4b835dbc0613476bL,0xc94fdc0798cd4c80L,0x335103581a99e1e3L,
  87347. 0x904d83c4be2dc3aeL,0xbd1970b7528f5723L,0x6bd945cdf6821722L,
  87348. 0xe3f06e613361a4b6L,0x6dd9696ad6bd360bL,0x00000000000001aaL } },
  87349. /* 36 << 203 */
  87350. { { 0x060220b0d5aabf1dL,0x7ec07ddee8faef1bL,0x1c30e81f33c88f67L,
  87351. 0x3ab29b3b460c1969L,0xc884e421d4f18871L,0x3d76eba1e1d5f78eL,
  87352. 0xad2f04f5f5600f5eL,0x2e07b7c6fdfaa998L,0x00000000000001ecL },
  87353. { 0x94aa1de0801495d7L,0x35dead394496468eL,0x3b3856ac27ab597fL,
  87354. 0x0d1781704ce8ab57L,0x32add9b6a50d197fL,0x251a00a000be8d21L,
  87355. 0x8c65dd58c2200093L,0x2da03bd64b7ac520L,0x00000000000001f3L } },
  87356. /* 37 << 203 */
  87357. { { 0x7d77930ffe885231L,0x7c1d348265515480L,0x1028d2f332001982L,
  87358. 0x7bdd01a2f88d1e1fL,0x08e5a9624fc0514fL,0x5fe3e2f0bdf8eb8bL,
  87359. 0xf4028d9cf33bf562L,0xfd0aac8b9adec91aL,0x00000000000000fdL },
  87360. { 0x262500f4c7eecbc5L,0x8e1ea6e773113904L,0xb4fda953c677fb11L,
  87361. 0x15e2bec7f004bb4cL,0x0ec674739adf1319L,0x30c7b3002e1908c8L,
  87362. 0x72b9155302f8fe1cL,0x4c1ae8241fef5d3dL,0x00000000000000bdL } },
  87363. /* 38 << 203 */
  87364. { { 0x65afe7c36fc63e54L,0x6c79e1d949f2ee4fL,0xc8c051c698930252L,
  87365. 0x433fbf5bda5a1e42L,0x0f5fb506d2262325L,0xc3ac5598bf7bb66eL,
  87366. 0xb4080aff038c1d7aL,0xae7fdc8a879a0b88L,0x00000000000000fbL },
  87367. { 0xc8633f62b2ccd88dL,0x7a8c4df946413bf3L,0xbb3a0aff154bc142L,
  87368. 0x0a25d6637f99f5ceL,0x2f9b556d91512e7dL,0x5856e88dd4fcbfc1L,
  87369. 0xfbac60880d590e7bL,0x3e74b8f7572a6a15L,0x00000000000001f5L } },
  87370. /* 39 << 203 */
  87371. { { 0x2e92481a490bf8c3L,0xb234c92c44d07befL,0x23be000f6010e6abL,
  87372. 0xdd24b74db1f6e796L,0xb885f4d57f2b555fL,0xf884923f24e9d3e7L,
  87373. 0x12bb9608f5252325L,0xeb4d240142895b93L,0x00000000000001d8L },
  87374. { 0xb7639fb2e02a475cL,0xbf16704256218563L,0xe8f52550b704617fL,
  87375. 0x35fbc89365a77f60L,0xb7cf34eb39d0d9f9L,0xfc9a3a37721dfea9L,
  87376. 0xfbdd63fe12b1bd09L,0x8319294c9b186376L,0x000000000000002dL } },
  87377. /* 40 << 203 */
  87378. { { 0x760be85ba57579c2L,0xe47a63aeea20d741L,0xf80319e5232ac17fL,
  87379. 0xe3a492894c6087d2L,0x3d8d470fe20d0690L,0xfb770c1ae9a1e231L,
  87380. 0xd7e1cba177a0824aL,0xc90a181ef7ab7398L,0x0000000000000123L },
  87381. { 0x26bd2f3b59ec175aL,0xbf65beef751bd1bdL,0x242a83d6fe1b44e7L,
  87382. 0x9c16d231a1dccec8L,0x7ca438f66e6b3e04L,0x50b091d4c43e7f09L,
  87383. 0x23a893f32d886f9aL,0xb18a52c8b26c60c7L,0x0000000000000069L } },
  87384. /* 41 << 203 */
  87385. { { 0x9bd5bea7d2af96d4L,0x6fb5de3bbc502c9aL,0xb5fe88e904928dd6L,
  87386. 0x660accf4c03c98a1L,0xe59d202975520adcL,0x12c50027fe29eef8L,
  87387. 0x6d2739cf3758dc66L,0x49b418f24b9cb6a0L,0x0000000000000021L },
  87388. { 0xdf55798a1a079e8bL,0xc7c4f956fe9f31c6L,0xca1c9c93604849fdL,
  87389. 0x29d32b26f33c9d98L,0x79f867bfd1cc0d6aL,0x776857b4bd3b05cfL,
  87390. 0xf445083cdc53ac52L,0x19f3a0e3be72024fL,0x00000000000000faL } },
  87391. /* 42 << 203 */
  87392. { { 0x4a5cee83dee4aed4L,0x670871eaaccf44e5L,0xd325710515daa7dfL,
  87393. 0x41ed4dee9573f014L,0x0621cfe9c7e9c774L,0xdb71a7db46ae0c35L,
  87394. 0x5fbbb44236d96fe6L,0xfc4ee442791497f8L,0x0000000000000025L },
  87395. { 0xb58373bfda824d48L,0x2eba350be2b6feb3L,0xe732690e5cece104L,
  87396. 0x42f7dc57a0fade31L,0xb2ac02a777a8ea62L,0x2c39600f2730cc77L,
  87397. 0x71ec3499ab92a6ccL,0x857ac22e85b8f70eL,0x000000000000013dL } },
  87398. /* 43 << 203 */
  87399. { { 0x351b69db61e98acfL,0xb2699c2328ac4d57L,0xee2392c34b2cd5c6L,
  87400. 0xcb4914379838b68cL,0x11af2ea4a79b35a0L,0x0baaf41584ec5f87L,
  87401. 0x380dbda247432ae0L,0x5949262bbd9fecc1L,0x000000000000011aL },
  87402. { 0x461c1a7c33de0a7dL,0xed6b4f1a2158de9eL,0x1b51b42f97af5453L,
  87403. 0x5dd95efc0b1f9f62L,0x43680178f2fe73b7L,0x43eb48a07ad44206L,
  87404. 0xfefa59bbbc57342dL,0x92be4ae731e62d3eL,0x00000000000000ebL } },
  87405. /* 44 << 203 */
  87406. { { 0x50720100fd88d0daL,0x6c96ed6eff0c9301L,0x5cfee40f95d538bdL,
  87407. 0xb8a8dc1d8ce5618cL,0xc4f7326f15fc988cL,0x2c93679915b83096L,
  87408. 0xf99f2517cfa85d25L,0x822fcfae5900af2cL,0x0000000000000011L },
  87409. { 0x4c87b89e2e424f4dL,0xce5f4f37eb2ebfe7L,0x9bea312196392a9fL,
  87410. 0x30c5e7742855b498L,0xa9fef9945a06b8f3L,0x9372653173d076d1L,
  87411. 0x3237fe278510f6faL,0x2889eaaa1ed4a243L,0x00000000000001bfL } },
  87412. /* 45 << 203 */
  87413. { { 0x2854d519527d1fa4L,0xec81e71f030bfa56L,0x7c7a6f6c74f9b14eL,
  87414. 0xc14b2e2fac46e139L,0x266d547234be2050L,0xc76508966ee9b75eL,
  87415. 0xbcb2a8ff31cc54dcL,0xd30db5283217cbb0L,0x000000000000005bL },
  87416. { 0xc60582de3d8f4fe7L,0x3571cea717d2bcceL,0x51f2c889cdb6114aL,
  87417. 0x67599f6dd8034eb2L,0x39ea1fb81c73d606L,0x202f869715dcadd0L,
  87418. 0x75b193f9ed7493ddL,0x0594f438966147b7L,0x00000000000001baL } },
  87419. /* 46 << 203 */
  87420. { { 0xe8a247b9ddb773eeL,0xf011460b3a15d54eL,0x513260d9c6c9729aL,
  87421. 0x3141d40090f7c352L,0x08abd3ed3ad70a9eL,0xecc1c0b0d4416182L,
  87422. 0x378a698baf4f30d8L,0x0e16d0c80d60ca6eL,0x00000000000001beL },
  87423. { 0x1dfd2561ff8f8008L,0x81ea4aa79a575caeL,0x7c786f74b483667fL,
  87424. 0xd8fed3f94ee8c195L,0x90fbadb4a6f48ec1L,0x60ffc1f0427e2ac1L,
  87425. 0x50278a1d955ae40eL,0x6ad088ec707c1993L,0x0000000000000040L } },
  87426. /* 47 << 203 */
  87427. { { 0xc5fa1b24da9e4707L,0xb2ed74501186afbaL,0x6a7b01ee5671cf3cL,
  87428. 0x533241c421e91105L,0x33fe3ce08e6c7277L,0x6bc05f002376d680L,
  87429. 0xe35268f1a828e28cL,0xbbe9432cb60d1db9L,0x000000000000002bL },
  87430. { 0xc11785a77cd09d89L,0xa68d9f4cc5495098L,0xfd929e7877817c92L,
  87431. 0xfc91a43abb6c8891L,0xa931f7edb133140cL,0x30f07e5841125b2aL,
  87432. 0xff9ddb7427f03ab2L,0x0cb025851fd99248L,0x00000000000001b9L } },
  87433. /* 48 << 203 */
  87434. { { 0x9cf44ab408998910L,0xdb3fc2ed1a5c47c4L,0x7752c31eee0be9f5L,
  87435. 0xbd4bdfa943658470L,0x6fe2594572f2fc86L,0x237e1bcfef842a76L,
  87436. 0x74a857e47220a961L,0xd007b3e3c6bc996fL,0x0000000000000075L },
  87437. { 0x133e7f3d64ae70e0L,0x31966cdb96444608L,0x88fe449aacf0d4efL,
  87438. 0xddc0df233b47912bL,0xc19d556d5771cdb5L,0x122a6b4c834c9d4cL,
  87439. 0xf4fd9193128abd43L,0x42dde25bc55b3ec4L,0x000000000000004cL } },
  87440. /* 49 << 203 */
  87441. { { 0xfdb3c4406206a4feL,0x125e23203bd37671L,0x51afe42085c66b55L,
  87442. 0xc82746a7c940c824L,0xd2f7bb9f815d4539L,0xafc81b12635037a1L,
  87443. 0x52186ca4c7627416L,0xe1af5236303a7901L,0x00000000000001d8L },
  87444. { 0x2f110c396dc058ebL,0xbe11880e4a4c8a7aL,0xd08d8ee763cc89a4L,
  87445. 0x609e4b127ff4eaa7L,0x34344cbe13acbbdfL,0x327f290902faa861L,
  87446. 0xa78fdd5ac3ebf0d0L,0x0bb5a4256c4d55c8L,0x00000000000000afL } },
  87447. /* 50 << 203 */
  87448. { { 0x42aad690805acc53L,0xa7493fc7dd905627L,0x487f9407d9ff6965L,
  87449. 0xdaf7232e6c45192aL,0x403d57cd8d6e7d00L,0x931d29065fd272e5L,
  87450. 0xfd7ddc1c35824aabL,0x587760407dd72d28L,0x0000000000000194L },
  87451. { 0xa559885f94fb6cb8L,0x18dd399e1dfeaa2dL,0xa6f23d25eb1a0248L,
  87452. 0x4875945120e84064L,0xd481f3bae40bec92L,0x7bd5cf14464e0aa2L,
  87453. 0xdcfcce53ab13bd66L,0x47391f2ba2ec1297L,0x000000000000000aL } },
  87454. /* 51 << 203 */
  87455. { { 0xac5fad77cb3652b2L,0xf60c981b1702815cL,0x3f848d658c5451aeL,
  87456. 0x158ab410e63af4c6L,0xcd7bb3a5f46545efL,0x81dac1f4dd4f3e3eL,
  87457. 0xae18eb6b0ca68587L,0x3c11c12b0f2f0afcL,0x0000000000000027L },
  87458. { 0xa770e6757e36cb2aL,0xdf6d0de92153e716L,0x84b953bc23da6df9L,
  87459. 0xa2b731d222921fadL,0x76d5d2bd6f721c04L,0x84826a176ccf0ba4L,
  87460. 0xc5876c6a0f44e9e3L,0xb215b5099f6f565fL,0x000000000000003fL } },
  87461. /* 52 << 203 */
  87462. { { 0x156a9949f151db06L,0x22b6b0fd06a70b1aL,0x32d582e4ce617d0dL,
  87463. 0x84fb33d0992eed75L,0xa1c7f6b2c077d815L,0x3285938f313dbd79L,
  87464. 0x8a8fede6076f503eL,0xfdae2afe7c95c93eL,0x0000000000000139L },
  87465. { 0x96f542035812daa7L,0x479ba6d3a2d361b6L,0xa3793b005705ed2eL,
  87466. 0x943d444ad5ffe440L,0x474e4864379e007aL,0x9ff8bc4dacd38afbL,
  87467. 0x508f54e5a6195a99L,0x3085a04113817842L,0x00000000000001feL } },
  87468. /* 53 << 203 */
  87469. { { 0xfc91e9f6bfd0daa6L,0xaf6b749fa3f661c7L,0x01909cf557e3ccf5L,
  87470. 0x35b238be3ee3bca3L,0x4bcd54419bf8184dL,0xfba84a8c70887c36L,
  87471. 0xfcbb0d1de463801aL,0x50ccf27f439a5570L,0x0000000000000087L },
  87472. { 0xc4493206a8126517L,0x7fe519f9f3614d98L,0xd384e085c3b33b80L,
  87473. 0x7cb14d0b2f997b13L,0x768db950e87f06d6L,0x970b51fbbfee3e6aL,
  87474. 0xa39779e815cd21a0L,0xf677327e5bb60c21L,0x00000000000000ccL } },
  87475. /* 54 << 203 */
  87476. { { 0x1da1477e29decfa5L,0xda072008f02d4900L,0x308e95bba4a4a5efL,
  87477. 0x7ea7a7e700684dadL,0x8fdecb5864c70f1aL,0xac1f215de2b6bc4cL,
  87478. 0xae5dcfe17aee88e2L,0x755dc3734b87ea15L,0x0000000000000113L },
  87479. { 0x31cdcd38c9abbdf0L,0x002275fbb68c75beL,0xa597136936819c82L,
  87480. 0x0d32bd7478d0808aL,0x8c6272fd441d62d9L,0xac06165632ff00f8L,
  87481. 0x21b9e0076a1b924fL,0x38af0f3fff5ff630L,0x00000000000000dcL } },
  87482. /* 55 << 203 */
  87483. { { 0x55989a4e1513fe24L,0xd6fabb7a377c6d9dL,0xfb823e5b0578f12cL,
  87484. 0x2468f83105377082L,0xd4878755ace05f05L,0xcdb85e0e1e391758L,
  87485. 0x45635c6b145f3ebbL,0xd278b81411717273L,0x00000000000001c3L },
  87486. { 0xc72cd647b50c5d7fL,0xf047d529dd74bb7aL,0x9300b986938084c6L,
  87487. 0x39476814f0b7388cL,0xc7b74b2fcc7f991dL,0xd684e2f5bed333beL,
  87488. 0xc6191b9f5f713216L,0xfacbf180c5995497L,0x0000000000000065L } },
  87489. /* 56 << 203 */
  87490. { { 0xe3cf0d5abdae44fbL,0x71ecef1ef6f5cfd1L,0x7fa5ff37a11bc661L,
  87491. 0x2e0d9032ab6a8007L,0x8e465ff4b99ed2b3L,0x63ee69531a62a4cdL,
  87492. 0x31ffa26bad2e514aL,0x0c5e085f6ff7bb4aL,0x0000000000000128L },
  87493. { 0xe1b74ab9d20c8193L,0x0f67229ad63050feL,0xeeaf4ec6ce73ff43L,
  87494. 0x10094ecf114d6d87L,0xf515978540801d95L,0xa09334933f23d6dbL,
  87495. 0x0ac122515f242117L,0xa1a4a37f5643d48aL,0x00000000000001d7L } },
  87496. /* 57 << 203 */
  87497. { { 0x08bb5ac7384a5d01L,0x4b476ae6141e85b7L,0x00590a5e1d16b1baL,
  87498. 0x722dce02a2654e49L,0x380d3ac2483bd792L,0x247a5eb2ce16ad4eL,
  87499. 0x5ba4f9402eeba293L,0xec77ec84a7507cc4L,0x0000000000000137L },
  87500. { 0x1abf1b23c775da9bL,0x51926f26193fd227L,0xd4a448fe01380d03L,
  87501. 0x681fe1925ea66a42L,0x794acc9567e1d118L,0xe712708229692e86L,
  87502. 0xbf4924323e527353L,0xd9aa506903fc2288L,0x00000000000001adL } },
  87503. /* 58 << 203 */
  87504. { { 0x8f6c6de220075145L,0x2005c1b150c10e08L,0xcb6f289fe8304e93L,
  87505. 0x8772c2f895b33af8L,0xfc9ac3cfb78f1556L,0xa4a401e2be444c8bL,
  87506. 0x140354191c3ecbe0L,0xa65d09c100ac6e64L,0x000000000000015fL },
  87507. { 0xa6d278eaa028bb56L,0xf8fd2af7f7809e33L,0x8ae6c10268f7c2dfL,
  87508. 0x6c70558658cdaa11L,0x2bfbbef7e3c31f4cL,0xf8b8a7cb9e618b41L,
  87509. 0xb521782dd7782d09L,0xd779f775dff8910eL,0x000000000000013bL } },
  87510. /* 59 << 203 */
  87511. { { 0x5320eefa9777d185L,0x68beb1e5eb1e2074L,0x78dee05ec1e19dd5L,
  87512. 0x5f860f6599bd6062L,0xdee3934194257635L,0x342770ce8635d6c5L,
  87513. 0x8a06a3512e8be17fL,0x9d59963df78ab6fcL,0x0000000000000153L },
  87514. { 0x39d400fbb2b8dd24L,0xf133abbb1acfdb33L,0xffd9d7a4d0506911L,
  87515. 0x134d6fedff9d17c2L,0x64622ea9d5149d82L,0x8ff0c386bab0505aL,
  87516. 0x7998c2288977e003L,0xc41aea628ad09185L,0x000000000000001aL } },
  87517. /* 60 << 203 */
  87518. { { 0xe8f81e67f0dbc26bL,0x67a84c46f8124049L,0x7c12baed629b2402L,
  87519. 0xd39ab731384afbbdL,0x7abb971abe6168eaL,0x3ec476fb5dc96bddL,
  87520. 0xf568fab44fa5f270L,0x739374abac51818fL,0x00000000000000bdL },
  87521. { 0x83d36009af42bb0fL,0xc6958d2c42dbd415L,0x39f20878bfd8cb62L,
  87522. 0xb2528156e23525ecL,0xdf6b3537ea725e7aL,0x6ddafd2d6c2dc45dL,
  87523. 0xb696f0b8b8682ed4L,0xdd22cc010b611962L,0x0000000000000123L } },
  87524. /* 61 << 203 */
  87525. { { 0x10a08a1d429ade6cL,0xcfebf0de40932626L,0x2a55e9c5e357b14fL,
  87526. 0xd551713e4ac50b0aL,0xeb32aa3fa3be7addL,0x6c10ef40612e530aL,
  87527. 0x887ba5fed318f9dbL,0x9328d459bedf5ba0L,0x000000000000013aL },
  87528. { 0x91af92d7c4ce63daL,0x2500a7b7aa099030L,0x5cea55f7f0e69a79L,
  87529. 0x28ca6b389e2136ffL,0xa0a71734e6472420L,0xfb6dfe6f191baf68L,
  87530. 0x80d32b3c985c5e32L,0x29d49cdaf82c5f47L,0x00000000000001a2L } },
  87531. /* 62 << 203 */
  87532. { { 0xb55c2c748f50537fL,0xdd9c6df320a3297dL,0xb0b5477afce6109eL,
  87533. 0xdde894cfd5a0ccedL,0x4499db297480d3a2L,0x22dfd2bb556180eeL,
  87534. 0xde7299830c83a1cdL,0xf4dc6b95a709c0a5L,0x00000000000000f0L },
  87535. { 0x2f295e2db07bd50aL,0xc0a72738bd5546b5L,0xd52477a78ec7811eL,
  87536. 0x92e14d8eba3186a7L,0x8eb36ad32467a3e2L,0xebe38e24a07ed270L,
  87537. 0xfbebfb87fef24897L,0x6bf271137005debfL,0x0000000000000144L } },
  87538. /* 63 << 203 */
  87539. { { 0x9441cc5908dc7a12L,0x64ac736d8fca53eeL,0x19d3acb882a58c26L,
  87540. 0xc159d488cda04962L,0xfe82b61dba03928cL,0x8a7234e590149eeeL,
  87541. 0xa561263424bf8caeL,0xfb65e1ea2ac90b43L,0x00000000000001ecL },
  87542. { 0x646b4ad41ab30bd1L,0x49c490c08bc81256L,0x0e07b398bb57c018L,
  87543. 0x8d00bbea5bae6201L,0x1e3cbbaf746d5441L,0x48ea6a235bc6f24eL,
  87544. 0xf6828b36cbbbf53aL,0xb54e8f928f84432bL,0x00000000000000ecL } },
  87545. /* 64 << 203 */
  87546. { { 0x8f45148da52d1421L,0xe89923fd09daf522L,0x112ca311c8f15492L,
  87547. 0x91b33ccb469e61fbL,0x040de443fb2ab91bL,0xb9d124fd4f9b32e8L,
  87548. 0x84da47a9f07573bdL,0x93b7ee6baacdd14fL,0x0000000000000064L },
  87549. { 0xb3af161f4be64122L,0x5946d2ec149c5475L,0xdc04fcd0256a1ecbL,
  87550. 0x4fc571b7327e7a8dL,0x5206ea559580edcbL,0x7f41a742f20a94c0L,
  87551. 0x1bfddff0f7fe1fbbL,0x3860b232e2f1fddcL,0x00000000000001caL } },
  87552. /* 0 << 210 */
  87553. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  87554. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  87555. /* 1 << 210 */
  87556. { { 0x7eaefe12155c337bL,0x357f27cec7186596L,0x90c26c69654dbbebL,
  87557. 0x6bcca278a1b63a6aL,0x776b7a928edd9123L,0xb2bef5076c6da5e9L,
  87558. 0x805ed3aa0e3c747bL,0x298ef458659df2efL,0x0000000000000098L },
  87559. { 0xe3dd893935a79f8dL,0x672b109ca1972c6bL,0xad41cbae07953a4dL,
  87560. 0xde07527fd206de77L,0x1f55a4c0b61d9811L,0x929d56d57a75360eL,
  87561. 0x9f2becff5032efe6L,0x0de654c760f0622cL,0x0000000000000018L } },
  87562. /* 2 << 210 */
  87563. { { 0x50e39fd1ea8dc4aeL,0xc68d8b0f5fd16c88L,0xc95f46e90ced75abL,
  87564. 0x845ee3947375e952L,0x5865161d3c14b1c2L,0xe29ae3a6399431acL,
  87565. 0x02d1c6eaf0feca0eL,0x76059dad24f35b02L,0x0000000000000081L },
  87566. { 0x29fefca13ac6a96eL,0x260a7f7d5d01c1d8L,0x63fa36033ef9812fL,
  87567. 0xab1a91c9f9404b6dL,0x32555cfda9406e88L,0x666eae1c5b63890dL,
  87568. 0x22ec92aafe9605e0L,0xde2a85103235e860L,0x00000000000000c3L } },
  87569. /* 3 << 210 */
  87570. { { 0x6587c0b191979247L,0xf06dc068ccf0762eL,0xc3a2b88e277351e8L,
  87571. 0x42e9494a2f607af3L,0xd1aeccc782b271dfL,0x3ac627d494648a93L,
  87572. 0xeb180b78bb62dfa0L,0x7e34653033232d06L,0x0000000000000183L },
  87573. { 0x084e8c75e5c2357eL,0xa380334756c91ac0L,0x772e24a0015742f3L,
  87574. 0x2610a9b247393c4aL,0xb58ced0b436a641dL,0xd55dbdc01850fb56L,
  87575. 0x64c97fc5aecf40afL,0x6de1de5d00330087L,0x000000000000009cL } },
  87576. /* 4 << 210 */
  87577. { { 0x2bad7686d90119aeL,0x8dcd64f0464b230cL,0x1d1eeb94dad19cb1L,
  87578. 0x3b47038986f0eb48L,0x42abb37d2c50f380L,0xfabbcebba7a99eb1L,
  87579. 0xfeed69dd33fb0b08L,0x8de8b50e31dc2b1eL,0x0000000000000057L },
  87580. { 0xe10dc8a6054ed7a9L,0x7094fc36cf39bec8L,0x487789a825848527L,
  87581. 0x8786eaa339974124L,0x47a0d6b0a6e3e5abL,0x54ed0b21e981e517L,
  87582. 0x85cf17eae768123bL,0xd9a933b0636e78c6L,0x0000000000000127L } },
  87583. /* 5 << 210 */
  87584. { { 0x773317e5e965abe3L,0xe8862edea879f77eL,0x4601164bc562701aL,
  87585. 0xbeb011903d4e07b4L,0x75a41c645c19194dL,0xd86e32ca954ddfb5L,
  87586. 0xbe5ca8c991a87274L,0x034c2e1d26aacfeeL,0x00000000000001e7L },
  87587. { 0xc2bc377abea32ea0L,0x9de44c2dbe946f97L,0x5d4e3f655c44e66dL,
  87588. 0xbaa8d970ac2805f5L,0x706fe3da518a0081L,0x2bf6f7c79bc1f747L,
  87589. 0x1b468d12759da2e6L,0x3f5a410239f61705L,0x00000000000001deL } },
  87590. /* 6 << 210 */
  87591. { { 0xe3acc0e88e647c26L,0xf22855fa2eeccf87L,0xf31f71d569ff841aL,
  87592. 0xa9e26b1ad8ef203aL,0xb3fd64db61ef98cbL,0x29af19d73b642e77L,
  87593. 0x94474091741591eeL,0x904e7fd077619d47L,0x00000000000001b2L },
  87594. { 0xe4c9e0608f0e5bcdL,0x9a35f72d0905a05eL,0xd0ba9e95fa0cf7dbL,
  87595. 0x445ca1a5614f1042L,0xbbd0d5dcaf5a5318L,0x67782d6e0a41d90dL,
  87596. 0xb296381bb6a00b72L,0x57fad3940de3382cL,0x000000000000006eL } },
  87597. /* 7 << 210 */
  87598. { { 0x6da8acb7636d8777L,0x17555ae8d341b800L,0xb1568202f44d6da9L,
  87599. 0x08a44805f4dc644fL,0xc55f2c18e121a82aL,0x5b5aad0b568d7db6L,
  87600. 0x3ee3c48b686c7713L,0xc57cac2c6d44f289L,0x0000000000000128L },
  87601. { 0x0f14e697858b59f0L,0x00d714b14d03cf4bL,0x709f77084de0de30L,
  87602. 0x708cd7f0c5ee4559L,0x38dd88083e9a8665L,0x0a5fb9589f83fbcbL,
  87603. 0xc224694a5c7dd1b5L,0xeb7258003626ededL,0x00000000000000ddL } },
  87604. /* 8 << 210 */
  87605. { { 0xd388e288cf34553bL,0xd09b7877c6d36700L,0xc3e51b059504c41bL,
  87606. 0x0bbd1313d0ef31abL,0x455759080a3e2144L,0x774bf584d4b738b8L,
  87607. 0x3f4d85bae9d97733L,0xdfea7f28f0e4a66bL,0x0000000000000172L },
  87608. { 0xa6b684558118ae5cL,0x7a387b8b8e41c0e2L,0x96193c31f2b2cd4fL,
  87609. 0x54d8c8934c5c7414L,0x397ba89f0ab2b85fL,0x2ab9e8f773eebea5L,
  87610. 0xf4b5eca1e8d4c927L,0x026a0b0842ac45bdL,0x00000000000000abL } },
  87611. /* 9 << 210 */
  87612. { { 0xc2c87545298feddbL,0x470bb0bd57824145L,0x8535201fe71f2a83L,
  87613. 0x15c5c54c117080d6L,0x128d4fe3a05e76beL,0xd4e70c4a4bf91f37L,
  87614. 0x54fe9a939826b38eL,0xd67c68802a561594L,0x000000000000011bL },
  87615. { 0xa82826c1a97b6d7dL,0xe2da2126e413c90dL,0x2d897fea71a14c78L,
  87616. 0x507ffba7806b4541L,0xc9ce796501b35c08L,0xaced047127638092L,
  87617. 0xbcbf0b84ed0ea6ebL,0xb63a061b05d84400L,0x000000000000002bL } },
  87618. /* 10 << 210 */
  87619. { { 0x57e9a69316532d1aL,0xf478a1fbc138250dL,0xf361a41cd2ac2c5bL,
  87620. 0xf25c676d2e731c53L,0x279560ad1ebc7490L,0xe8236eddc10384e9L,
  87621. 0x7441e5732d5228caL,0xd118d9328feb88d7L,0x00000000000000a0L },
  87622. { 0xf31779e746032b98L,0x05ab63064ee8d408L,0x4e67de56b0bcef53L,
  87623. 0x762e211f843fe3a7L,0x22bf07e8774b56d0L,0x3aade5d730c2d994L,
  87624. 0xa7f2f71246c80546L,0x3ac087b22883ca5fL,0x0000000000000087L } },
  87625. /* 11 << 210 */
  87626. { { 0x407c5d9aeb5d82e3L,0x30a608780f78a237L,0x245819947c64f8aeL,
  87627. 0x731df3f705e01562L,0xa2e62428758cc895L,0xd211176cfb7413daL,
  87628. 0x7e6e91ec84b68277L,0xa3f3f7633b3b5b35L,0x000000000000016aL },
  87629. { 0xb6008526ecd1f4b0L,0x713463dc81f30634L,0x6453a4f7bb65e2e0L,
  87630. 0x1a1116bc0aa7ed8bL,0x363735d5d3c34ab4L,0xf0333b9b525b97f3L,
  87631. 0x284602fc50aa6cbdL,0xa9f283df0cadf6a1L,0x0000000000000145L } },
  87632. /* 12 << 210 */
  87633. { { 0x4b736d32df234e4eL,0x66237d17d14bed77L,0x552baa3e4dde4942L,
  87634. 0x947169dc23756ffcL,0xe595f2646749eed0L,0x2ed82e6ee3c8ec5fL,
  87635. 0xd52dd4bc495b60a0L,0xccd7a2b340553cfcL,0x00000000000001b7L },
  87636. { 0x9de7e73e889fbda2L,0xeb68c0d9c02a698bL,0xc433363b1510c24bL,
  87637. 0x329f6b4ee2af686fL,0x3bf95cb33cd6cbd5L,0x2c9924b339e49b52L,
  87638. 0x3a4322bb3e1ae491L,0x3efb3b85504f582eL,0x0000000000000150L } },
  87639. /* 13 << 210 */
  87640. { { 0x013dc2bd0444d98fL,0x4de8b097924c66e2L,0x9ec9f89623d19d49L,
  87641. 0xfe687746b87f064fL,0x246382118a91a448L,0xc67b870471e274b7L,
  87642. 0xc4418f6008d4a531L,0x4586c1eb20ce1a9cL,0x0000000000000131L },
  87643. { 0x7ad3cd88751ffcc1L,0x18d68df10ce22160L,0xccfeac397abea4ecL,
  87644. 0x29d9fddc2685bf7fL,0x9e6b18ff47a6efeaL,0x3b627d6f57d0e3d5L,
  87645. 0x58ce41ec7ff343f2L,0x5158919391a231faL,0x000000000000017cL } },
  87646. /* 14 << 210 */
  87647. { { 0x21e51a0354ff9df9L,0xbc033f12390d78abL,0x7faa458e9c43347fL,
  87648. 0x2057222fbf867c8fL,0x6f5b703c3e064f9bL,0x4e36ce8df6330e33L,
  87649. 0xfa0198f8267ee695L,0x68eaf31f89f13590L,0x0000000000000153L },
  87650. { 0xb493ba909970b82bL,0x31e3a61197d166daL,0x0b11fb84ae14be07L,
  87651. 0x10d94ceb5fe0479eL,0x56c6f6fae10acb34L,0x46f3308f1d2441e1L,
  87652. 0x1374e4f3ec9db49bL,0xd948930f13d2533eL,0x0000000000000025L } },
  87653. /* 15 << 210 */
  87654. { { 0xbd79f69a17f3e079L,0x581645e9398eb5c8L,0x1164a83314fbf1e0L,
  87655. 0x578256f31c79999dL,0xc3dd57963e64e48aL,0x00207040947387efL,
  87656. 0x73a0b57ed406b606L,0xd9d3c48c970a0d17L,0x00000000000001dbL },
  87657. { 0xde458dfe8fa49aa3L,0xe87a7a3cde431fd9L,0xc6f7d8ffcbc16172L,
  87658. 0xc105217099a5121bL,0x4a8cdcc81598125eL,0x748703e3e913bc06L,
  87659. 0x906112b45fb246a4L,0x784afb8f1a1a56f0L,0x000000000000006cL } },
  87660. /* 16 << 210 */
  87661. { { 0xa01f0a1936b984a3L,0x46ad91732ae5ad96L,0xbd7c413ddf12a570L,
  87662. 0x24a748c0fbe510aeL,0x27ff3748434d6671L,0x96ad6f33e1d69baaL,
  87663. 0x4b89a84a7daf1390L,0x2e25577782e527cdL,0x0000000000000129L },
  87664. { 0x78b130d2615c0331L,0xf5a9b025fa3cef15L,0x67b99de5fea12b29L,
  87665. 0x5f5b07e21f56caceL,0x2af1ee2faeb8b26dL,0x04e82314346279b3L,
  87666. 0x0f1d88179ae70e2cL,0x85f03c614c3ea88cL,0x00000000000001fcL } },
  87667. /* 17 << 210 */
  87668. { { 0xbbf913425e25254eL,0xae8a194d65fa3727L,0xe2ed53b88c80987cL,
  87669. 0xe90dd4e4332d1115L,0x858c5b438276591cL,0x96af9612cf030af3L,
  87670. 0x334408b230f81b63L,0x50a0b93648908e62L,0x0000000000000156L },
  87671. { 0xc07a9b16e44f7fbaL,0x64b736ca33fafed2L,0x701e1cb3ac0f2dabL,
  87672. 0x7d4fc722562b85a1L,0x2c86fea7d2b4d291L,0x83ee4a5d9f6970e8L,
  87673. 0x6620f63f3d8c97b0L,0xe3bca31b9ad21699L,0x0000000000000123L } },
  87674. /* 18 << 210 */
  87675. { { 0x92101b445ffe5dfaL,0x6b76bbf95527f907L,0x2869cfd96356a819L,
  87676. 0xfd98991f858d1a94L,0x8d5d5864f0fd9b00L,0x625cab968f9c11e6L,
  87677. 0x0da53e4909b866b8L,0xca447b81b24cabbeL,0x0000000000000178L },
  87678. { 0xd0ac32d58a4893cfL,0x2edd684e9a4293e3L,0xfbc5f91fc233ef37L,
  87679. 0x2516eb7f682025b2L,0xc25529e742c123aaL,0xf5da8e54c9f4f7a0L,
  87680. 0x8c3d0de074eaf57dL,0x6794c4bfccd164a2L,0x00000000000000b9L } },
  87681. /* 19 << 210 */
  87682. { { 0xc69f59364255c77cL,0x62a41fef78ceaf18L,0x94bd08105a8dd0a1L,
  87683. 0x7afbb99a49892f3fL,0xb9544236faf945a6L,0x28836d015e540f1cL,
  87684. 0x244e6a470bc80b13L,0xb283cf827c32d810L,0x000000000000014eL },
  87685. { 0xf47d267a487a9f79L,0x2ad81400b00b749aL,0x7f9b103420d209bdL,
  87686. 0xfbf1adbd49d3785fL,0x8d59d9898a036103L,0xc6f4b53a089998a5L,
  87687. 0xace1e9ee478e179dL,0xa749c8aad355bf72L,0x0000000000000005L } },
  87688. /* 20 << 210 */
  87689. { { 0x63c835437badaa12L,0x2929fbf993d1298fL,0x22d8a8e5a6d3c271L,
  87690. 0x4361a0966cc70feaL,0x4c1698920b060761L,0x43b3a57b7b83b19aL,
  87691. 0x8e4e16ed5d1e0382L,0x1c4596c101fb83b1L,0x00000000000000d2L },
  87692. { 0x571e0f7a2d0878bbL,0x28efbf803ba6448bL,0xc49eadd53f53ec10L,
  87693. 0x5f67c5799b6b85b6L,0x999676ed0f279676L,0x62ba191b129e0870L,
  87694. 0x5f0823b621475e41L,0x8bc381adf2c8b56bL,0x0000000000000164L } },
  87695. /* 21 << 210 */
  87696. { { 0x343c04685b855e62L,0xd05a781d65a9e8a0L,0xad965cc0d76b69d1L,
  87697. 0x0a60d928e3a92585L,0x8eb709dc93667a1fL,0x4612c3b7f09f0396L,
  87698. 0x76e56cdfe5ba21c3L,0xefd26ea6b6dfce55L,0x0000000000000142L },
  87699. { 0xe8ef0107c3ea51b4L,0xc510a688a6e86ef9L,0xe1382167be6e6ff2L,
  87700. 0x6235ea21a22146a1L,0x0e75ef83dec8e173L,0xc3aa17235d276798L,
  87701. 0x81b77ebb6f964ef4L,0xb332f534b9a1daf2L,0x0000000000000062L } },
  87702. /* 22 << 210 */
  87703. { { 0xc71a3f48dc690e06L,0x449a246c614381b4L,0xce239cf6f0ea8df3L,
  87704. 0x2384abc79f46bb3aL,0x1c93a8ec536f0722L,0x60521fc696bdd0e7L,
  87705. 0xd3c1a0736defa22aL,0x5e2ffd99b0905245L,0x00000000000001a0L },
  87706. { 0x865d018d4fa96567L,0x2e861bcde51f532aL,0x0512006f4808fb7dL,
  87707. 0x3b0ec5befab3cc28L,0x79df334934155d68L,0x4799a6e956e98b04L,
  87708. 0x620b5b8666630df1L,0xdc690f70a3e08672L,0x00000000000000b1L } },
  87709. /* 23 << 210 */
  87710. { { 0x85d162cd106f9475L,0x44f080894ef3dae9L,0x9cf807e0bd35511bL,
  87711. 0x578df8ace663e312L,0xa653190ceeb0b989L,0x9ed6127f1ddf4b8cL,
  87712. 0x8b0c20c4f18fed73L,0xf4b71bd731359811L,0x00000000000001adL },
  87713. { 0xc4f7a8d1c65be73aL,0xbe69a441506a8e82L,0x6d5546328fe4f097L,
  87714. 0x617fa14727ccad49L,0x1652a47ced10618eL,0x3daa7571df5f43f5L,
  87715. 0x2bd307ea683542bcL,0xef379a1097a6ae86L,0x000000000000015cL } },
  87716. /* 24 << 210 */
  87717. { { 0x86b14b1452e9a506L,0x06f9f838ecd178c9L,0x3d605ee53599039bL,
  87718. 0xdd3ad5a22e3df8f7L,0xbd51af94fdd6867fL,0x707034f3d45cf3daL,
  87719. 0x54edcf4a3f70a45cL,0x7b6164392979902cL,0x00000000000001aeL },
  87720. { 0x7d63ee2728389bcdL,0x8b39bb03b8eba714L,0xfe5a3aaaa6e99d38L,
  87721. 0xaf6074ac14a97bafL,0xa15ac327aff2ed81L,0xba728133fe4fd2efL,
  87722. 0x9db04ddae93db974L,0xd50f26293a858d00L,0x0000000000000119L } },
  87723. /* 25 << 210 */
  87724. { { 0x5313dae6dfa56156L,0xd94f3ae7ac345c99L,0xe78fb5be35108fffL,
  87725. 0xce8566813a5e8c70L,0xa235711d5b1f6104L,0xa71be1748b87dc50L,
  87726. 0x896b4d545b8939c1L,0x8a8231c084f3ab7aL,0x00000000000000c9L },
  87727. { 0x817bf1fb1e85d890L,0x184f61cf5d643f88L,0xcf5848918efc7679L,
  87728. 0xc9861a5c09913c4cL,0x9957437efca0ed7dL,0x26eaeb36d4e9c4a6L,
  87729. 0x62a2b4ce68bef05fL,0x35eee957532fb33dL,0x000000000000012fL } },
  87730. /* 26 << 210 */
  87731. { { 0x0d102216761b3f5fL,0xc20c57002b98c864L,0xf843d83e1aecabe3L,
  87732. 0x9f6208ea8ebbe2cdL,0x0a052c4a80658842L,0x10da1ddaf5022171L,
  87733. 0x75bb824b9d07cdcdL,0x13e6b38440d6c610L,0x0000000000000047L },
  87734. { 0x9ba0732bd447fb06L,0xfaa3332e7c85db71L,0xa4b5cb19124daefbL,
  87735. 0x030a7ebf84434aeaL,0x90bb08622da1bf4aL,0x92e2162ee7273d3fL,
  87736. 0x58dad0586f9f95d6L,0x4ce76e55838aa919L,0x0000000000000099L } },
  87737. /* 27 << 210 */
  87738. { { 0x1ba73b76eea26fe5L,0x10311b589f6d8b56L,0x1e7165b4f59dcd15L,
  87739. 0xd84021591383a1dcL,0xe0e1eb96c044dfbbL,0xcd512afcb13d4262L,
  87740. 0x0770855a201de5aeL,0x426e52a9e44af8a8L,0x0000000000000064L },
  87741. { 0x2b3f973f1b631b61L,0x3facac113c56e76cL,0x96d8fde961b33795L,
  87742. 0x3d15ae3c51fe1162L,0x966f56a2d095fad2L,0xe5cec26f7a7ed99bL,
  87743. 0xc86a297d339268ffL,0xac1327d95a7d5aacL,0x000000000000010bL } },
  87744. /* 28 << 210 */
  87745. { { 0xea0d44c4e34e4c6aL,0x6f50243de8b02105L,0xede2b16c796c212cL,
  87746. 0x3f7169f242a087c6L,0x33fa8470a4762cdcL,0x05f65db613ffc120L,
  87747. 0x9bf29f3f4fb1c4f7L,0xef4ca47345433134L,0x00000000000000f8L },
  87748. { 0xe59da628331968bcL,0x3fbf6bc46946b696L,0xec6ab1d7f82ef2afL,
  87749. 0xd0423e4f260bb4a9L,0x956fef511d44cbf6L,0x26f861228e5195c9L,
  87750. 0xbe8b410c5daca40aL,0x3fac01f29d08bdadL,0x0000000000000104L } },
  87751. /* 29 << 210 */
  87752. { { 0xd296d03e4da85b59L,0xd20dca5fd6b01747L,0x3f815ec4dc2596abL,
  87753. 0x2e8ffb20523225c2L,0xa03e3bec4c45bcbaL,0x8b8a4e375be794ddL,
  87754. 0x1e80fe190c2625e8L,0xe38cdda7ecb0a216L,0x0000000000000125L },
  87755. { 0x78939a7c40a4f676L,0x38a302b8686cd8abL,0xf39054024d368792L,
  87756. 0x52f9befe123a4394L,0x5386d9fb555bef5bL,0xc8d8eee487e29a25L,
  87757. 0xfd789f9f36cb1b91L,0xe75f606b085c477fL,0x000000000000006dL } },
  87758. /* 30 << 210 */
  87759. { { 0x76c885eb91229a3aL,0x2604b6f7f73e4d9aL,0xbebdfaa988fa9a1bL,
  87760. 0x442a747cb58bb763L,0xd8fa3f9ca1ef860dL,0x719d6316f2d89cacL,
  87761. 0x39eebc32fad21ad8L,0x5c00d02d886de11cL,0x0000000000000148L },
  87762. { 0xab82282a837d7661L,0x638d139d5cbb4510L,0xe6066d3862fc0035L,
  87763. 0xce4a49a8185cd0ebL,0x48f9a3ee3d41d802L,0x95d7f1ee067d33eeL,
  87764. 0xc5e89c814c069fc4L,0x25e2b6e5d8b300b7L,0x000000000000016dL } },
  87765. /* 31 << 210 */
  87766. { { 0x125cb0656fd3f45eL,0x5d373f9c2da83750L,0x596131d335c71844L,
  87767. 0x93ab568a7590cd52L,0x4296d1f04f64934eL,0x2af6028ba38c427fL,
  87768. 0x5578235374fe642fL,0x10ae3ac1911c7354L,0x0000000000000064L },
  87769. { 0x24d13d1cdca07c95L,0xa76e8a5d5578ab0fL,0x8a3c17a4af1f99f9L,
  87770. 0xa1a2a81e49509859L,0xf7a6e870a17853faL,0xe77c3c235989a9b2L,
  87771. 0xacb43c903f2d4d84L,0x0e10eb44d3af2b00L,0x00000000000000b5L } },
  87772. /* 32 << 210 */
  87773. { { 0xbfecf64a8f358002L,0xa9fa4a5e9179b6f0L,0x8c1ecbec5b44cf88L,
  87774. 0xf443c158eb342a9cL,0x0eee17b6ada473cdL,0x4eb51b723af99df4L,
  87775. 0xa524e6d1e0fe8dfcL,0xedc72c8efe2a4f42L,0x0000000000000073L },
  87776. { 0x34eb386de0cd65afL,0x387c3874cc80c3b0L,0x75ac76b751883b25L,
  87777. 0x0f6ccbfb6b514806L,0xe85c5856867909e7L,0x61a5bc9e5a9b263cL,
  87778. 0x08b8491ac6228360L,0x6835d3592850dbc7L,0x000000000000005aL } },
  87779. /* 33 << 210 */
  87780. { { 0xe5a1c0f716762f99L,0x18e150a00e1ffb05L,0xd8d254b5dd30ab2eL,
  87781. 0xca9fbad497982447L,0x704cf09c072ceeb3L,0xd983772bb6dc2abfL,
  87782. 0x60d8e8589d4a88cfL,0xb7370cc99a762e11L,0x0000000000000042L },
  87783. { 0xdd8c613394f66f49L,0x854a0a8a64840d80L,0x8b36199429e09701L,
  87784. 0x720bc46c87681a8bL,0x3e659cf95832499fL,0x639e121a3a965654L,
  87785. 0xafe73745a0e877fdL,0xdb5167d3c73ddb0fL,0x0000000000000041L } },
  87786. /* 34 << 210 */
  87787. { { 0x93ca4468eb54bb36L,0xc9f2df65fd1a5e06L,0xfc22174b03097b4bL,
  87788. 0x91fd9ae9c45c49f5L,0x6102dd35230002e3L,0xaea4b2e3ff6b1838L,
  87789. 0xb762468b28453764L,0xa05639a86875b179L,0x00000000000000b6L },
  87790. { 0x406563adc60f9413L,0x61b6bb5f75616054L,0x1625fc74b653f9e0L,
  87791. 0x7ea58a6a21ca1e00L,0x6461c50537e49dedL,0x904294a956620a78L,
  87792. 0x4c01cc1dca8aa6d2L,0x3f8e60a4beb7b9c0L,0x00000000000001f5L } },
  87793. /* 35 << 210 */
  87794. { { 0xe65251c39be7d1b0L,0xd8e18151bc857666L,0x80d8d4670142a8f7L,
  87795. 0x411203864e50d192L,0x44e9b0d1d0683bb4L,0x6027de4339b0cd7fL,
  87796. 0x39cda0ca1570eb84L,0xe0cfbadb6ee54d8fL,0x000000000000007cL },
  87797. { 0x613dc76cfd483908L,0x9f4c35cf97d9650eL,0x1ec7107c69d29e0eL,
  87798. 0x11de8c70c58a2a1cL,0xc1d1bd39db5936e3L,0x0645f3a73278328dL,
  87799. 0x44a30bf055cc8564L,0x918eccc88531a826L,0x00000000000001a7L } },
  87800. /* 36 << 210 */
  87801. { { 0xfbfa18bfa4b8ecdcL,0xdb161f18fa7c7c3dL,0x1ec53bad24a21f6cL,
  87802. 0x3e5343aaf4f6ce31L,0x8ae86fcd1b669758L,0x394b964b7befd9beL,
  87803. 0x84b25af45c60a585L,0x02ad7f6ba5888ffaL,0x00000000000000d1L },
  87804. { 0x0b86e101c83fb0aeL,0x6e16e6e6d2b8e139L,0x29425fb60333faf0L,
  87805. 0x8d0d9ad20ceb6480L,0x9249e8d0b3e18ad7L,0xae3b935bc94d5491L,
  87806. 0x06fe7f0744260b3aL,0x1d8af88339ec64d8L,0x0000000000000158L } },
  87807. /* 37 << 210 */
  87808. { { 0x2e41b2ed1d704acaL,0x03c2bc0817bf101fL,0xce1bfaaa844c18f7L,
  87809. 0xb4df6b7a96909ca0L,0xbf63a091ee5e0867L,0xd4388841d246a432L,
  87810. 0x2f79892f9ad915f0L,0x32338dc06b41b066L,0x0000000000000118L },
  87811. { 0x78bf5ce2c53b3850L,0x989487d6540132ceL,0x3b028312158f0507L,
  87812. 0xe5505d7a61847bccL,0xbd26640fe9c5f58fL,0xea786834f46d807aL,
  87813. 0x12b9c22738c8f52aL,0xbb0394c11e8ce727L,0x000000000000006fL } },
  87814. /* 38 << 210 */
  87815. { { 0x5c442a83c9cff0aeL,0x6e3e75c4d44225eaL,0xf41d8d06757bd27dL,
  87816. 0xabb92c7ca16c6a26L,0xdb02bef102370af2L,0xa394000dce87ef1fL,
  87817. 0xe4d6eb87c3ac8949L,0xabff55c1682ec032L,0x0000000000000002L },
  87818. { 0xf2439cb836f99a0cL,0x871399611f895491L,0x86e73bb2972293fcL,
  87819. 0xffb0f9c0f4587a52L,0x9158a262fcccc9b8L,0xe20f8fdc77325b64L,
  87820. 0x9691d90945464152L,0x3026f5898a043f9aL,0x0000000000000147L } },
  87821. /* 39 << 210 */
  87822. { { 0xd75c363aca0bb47fL,0xe06dcec09b0fc2feL,0x1d124ff2ed47c2e6L,
  87823. 0x68ae6fbf9c71dd3cL,0xd425be30410658daL,0x88b954dad343a932L,
  87824. 0x64648b8bab08b1c5L,0xf891ed517f60614eL,0x0000000000000007L },
  87825. { 0xe06bce61aef1da1eL,0x4d8cbe4802d489fcL,0xa5cce046ba95c57bL,
  87826. 0x71410ffba132fa69L,0xa708d710840160e7L,0x7d480584f5c1605bL,
  87827. 0x31d61aa873bad916L,0xc34e2a1339c4685aL,0x0000000000000032L } },
  87828. /* 40 << 210 */
  87829. { { 0x97330958b61d5315L,0x9b1fed27813d91e0L,0xfc2aac10d0c63423L,
  87830. 0x4a30af61043b9728L,0x0f62b5c1ed8502d8L,0xd9575c7c3b16f0d1L,
  87831. 0x03c27db727b8c8d4L,0x3244778e33be7fadL,0x0000000000000106L },
  87832. { 0x8537bd35641d5339L,0x81bf82ddb3c40dc8L,0x20172430409d603dL,
  87833. 0xb5da061ce2469826L,0xed42f1f0959d0f5aL,0x00dad493913111f5L,
  87834. 0x1cfddf2bf851b239L,0x9851d1e84275e8f9L,0x0000000000000051L } },
  87835. /* 41 << 210 */
  87836. { { 0x4855d1dba965d2c8L,0x5f30449c244e4576L,0xf1f66ddc102836a7L,
  87837. 0x8e9131a9ec4310cbL,0x0408e0751723bfb6L,0x328592dc99ea53beL,
  87838. 0x0d16c086afb2a7d0L,0x08ea2ef221079ac9L,0x00000000000001adL },
  87839. { 0x5e9c1e1cb8a4268dL,0x22500bb2fdca442eL,0x423f0e3ccdfb9609L,
  87840. 0xb07f48f43b66dab4L,0xac3334e53a9a16b3L,0x11f147c037448161L,
  87841. 0x486506187014f21dL,0xaeecce6968960de4L,0x00000000000000c8L } },
  87842. /* 42 << 210 */
  87843. { { 0x819fe7e06ed79a0fL,0x784ceef609f8e8a1L,0x57d5b1bfcb22dff7L,
  87844. 0xc4f56fc69ae9661eL,0xbdd03823162750f5L,0x92bb9df3f146dabbL,
  87845. 0xee6ff7d7605cee53L,0xcf0c1d6c6350f6ccL,0x00000000000001f9L },
  87846. { 0x1c9c29e313fb9416L,0x60aac35195ce11d9L,0x7f9a4b110ffd00b2L,
  87847. 0xc81e3235f6f182b6L,0x398950bd16cf3c7aL,0x5b69da1297a24847L,
  87848. 0x642f9f183df06a74L,0xd8879543ae3dc599L,0x0000000000000184L } },
  87849. /* 43 << 210 */
  87850. { { 0xc62e4a9bccf48be5L,0xb6e83e2b8c35dbceL,0x0191a9c69385a75bL,
  87851. 0x8db45f037f8a7eb3L,0xc05fa5da716b86b4L,0x85aff148ef42c3eaL,
  87852. 0x0bdc01682db38738L,0x93337937d776daebL,0x00000000000000feL },
  87853. { 0xa17b9fd4403afd34L,0x7b09c077646aff94L,0x90597e2d8dc6a08aL,
  87854. 0x744099e0183f3e3eL,0x1c5fb306071fb772L,0x92b8d6a4d997fb7aL,
  87855. 0x0de13d6454bb10dfL,0xf31dfa573608964fL,0x000000000000015dL } },
  87856. /* 44 << 210 */
  87857. { { 0x7f7941d9888f4bfaL,0xc4f99685476bc929L,0x3f73018d8e853ce0L,
  87858. 0x68a86f6134fdf8e9L,0x7c88b0312a6fb200L,0x3bab6755f6911821L,
  87859. 0x06b84c1788917fc6L,0xa9f91561f5254039L,0x00000000000000dbL },
  87860. { 0x76c522936dd119d8L,0x6571dd2beb1cb340L,0xc66e8c823a33b42bL,
  87861. 0xaf289ebefc43ddfcL,0x203bba75ed2b085bL,0xdb1d86048176f169L,
  87862. 0xf762fbe0d91afe68L,0x7dd617af2026cf1cL,0x000000000000005cL } },
  87863. /* 45 << 210 */
  87864. { { 0xf92aaa90b3eec59aL,0xbffbac4cb98fa157L,0x4a6eda99c95c081bL,
  87865. 0x31c0fde9dbbc33a6L,0x9ad4e5b9ab1887edL,0x580110e38983bb1eL,
  87866. 0xd7156bd5507d9979L,0xe03e75829ecccea1L,0x000000000000002cL },
  87867. { 0x672fb2c3fcff6b71L,0x7d73a95202c0fcacL,0x6217982052b713ffL,
  87868. 0xcdaabc9d8923912dL,0xf0d3eb3a651247bdL,0x5484c30ba50c00cdL,
  87869. 0xa9f1173c03bba882L,0xbe7465af19a18e5fL,0x00000000000000feL } },
  87870. /* 46 << 210 */
  87871. { { 0x88fcfb06d58a4ee0L,0x00a415e2c9be2df9L,0x84e1ba6b22d03ed3L,
  87872. 0x51cd83af2567aa47L,0xef6aac434fda2455L,0x2a32b1e255ea0dd2L,
  87873. 0x013e1751228720f4L,0x57afcdce7bdbd78dL,0x00000000000000b5L },
  87874. { 0x094f8441471c7d66L,0xac4896c544539ae3L,0xe82e74eb5776831eL,
  87875. 0x21087391291c65cdL,0xd340f5ed3160a6b1L,0x85bbe11244d404aeL,
  87876. 0xca35de4823d823a2L,0xc20e39e406df497cL,0x000000000000011dL } },
  87877. /* 47 << 210 */
  87878. { { 0xfc68fe96d1751282L,0x8a1f297e5936ef4cL,0x4fc2f368e07ac5feL,
  87879. 0x5ef7311f109bf107L,0x6fbed28144342ef3L,0xf825e7ea55138f1fL,
  87880. 0x2c91032471e64888L,0xac2d0335ae2f2246L,0x00000000000001aeL },
  87881. { 0x9fbad98320933d06L,0xea69d15035c00e2dL,0x559df842a04206ecL,
  87882. 0x2a9cc878d54938e9L,0x16e14d674408551eL,0x022ec0d86db7e02aL,
  87883. 0x54cacfa9f1bcbfb4L,0x25095d1626646fcaL,0x0000000000000181L } },
  87884. /* 48 << 210 */
  87885. { { 0xf147f1a2e7e50e60L,0x1309c8a5e30cad85L,0x565c5e69621ed64aL,
  87886. 0xbe5a64757938c494L,0xe56315e5d7792054L,0x64855cfdd97f771cL,
  87887. 0xe95a4b9e599e2f5dL,0xef1c8a857b06d720L,0x0000000000000015L },
  87888. { 0x2331c4282a92c2f1L,0xe155a823f37e82a7L,0xb47cfc2976020919L,
  87889. 0x6131a11ffe98e8e0L,0x965adc12c0be6be5L,0xf773d72c153cccbdL,
  87890. 0x10d64e59d8ed6127L,0xfa7d60258b5ec467L,0x0000000000000063L } },
  87891. /* 49 << 210 */
  87892. { { 0x51c2bdba271b6102L,0x965c59b90e9a8af4L,0x0a54e4d7610fb124L,
  87893. 0xed96a5b2a543ff6eL,0xbab9d37243265ab1L,0xe63366bd24cf6541L,
  87894. 0x5fcabfec17413aecL,0x6ba1941437041b8eL,0x000000000000009aL },
  87895. { 0xc746f20dfcc3cfccL,0x2b0937465e1dfaecL,0x2e75151e14285929L,
  87896. 0xb4ef90301b96cff8L,0x54cbbef998c89aeeL,0xcc53de423a028272L,
  87897. 0x8373e2805f57ba4bL,0x551c46b3b1498773L,0x000000000000008dL } },
  87898. /* 50 << 210 */
  87899. { { 0x1c238ed06300acf7L,0x8eb48c65bcf1125cL,0x65b5c0cb231365bfL,
  87900. 0xd9d40c2683d76f5dL,0x7dbe2462ae3872f0L,0x4262f282de107d81L,
  87901. 0x48bf1e05b21512ceL,0x27e6ff2817212e1bL,0x0000000000000184L },
  87902. { 0xb39aedb29b451cb5L,0xe96de26a84a29aeeL,0x1a3154cc9725d43fL,
  87903. 0x587e1cf56d8be1fdL,0x840560b633539bd1L,0xd4b6a7c4663d836aL,
  87904. 0x4203e22eb3f669b5L,0x02be0e3cf18b437cL,0x0000000000000095L } },
  87905. /* 51 << 210 */
  87906. { { 0xc1f65b0d9dc37e45L,0x89275a9136b7d53bL,0x2949c4982e971c79L,
  87907. 0x8c04749a1a538febL,0xcc9b6fa02cc328a8L,0xe22336ea602cfc59L,
  87908. 0x47f83e70f41f9ba2L,0xbbfd03212cbd1052L,0x00000000000001cfL },
  87909. { 0x4711443cede128e2L,0xea12ed3f30c82c13L,0x17f83633829d3106L,
  87910. 0xf1202f38f5b5bc62L,0x5850efbc562fc338L,0x07fa11815e423b47L,
  87911. 0x9a419bae32459cabL,0x8add9587ec4146c5L,0x00000000000001a4L } },
  87912. /* 52 << 210 */
  87913. { { 0xfe4cd502f1b7c167L,0x679fadc6dab47f91L,0x1bf2bb513037e209L,
  87914. 0xd9ea6d92822e8a02L,0x7a2a77d530ccb948L,0x6fde628029a7a46dL,
  87915. 0x8b71cb731bd2bdc9L,0xaf8d591ca3c0ca96L,0x000000000000004aL },
  87916. { 0x63fcc569d852c164L,0xca7202764f07d6f0L,0xa7e6e11ee7dc1581L,
  87917. 0x325d3921440980ccL,0x098bd53a148a56a4L,0x4eea0c37ebc5e005L,
  87918. 0x89434ac1b9773a5cL,0x97bd03a875cae957L,0x000000000000017eL } },
  87919. /* 53 << 210 */
  87920. { { 0x00d9070caf1910dcL,0xc617cd48dcfbd522L,0xb533991595cfa421L,
  87921. 0xbed0e54c1c7f6141L,0x5fc82c432e31d64eL,0x4c95d5c841370bb0L,
  87922. 0x384401ba1dc077b7L,0xe88940db1b711f2cL,0x000000000000017dL },
  87923. { 0x60e0ccb946cd94eeL,0xfbc8e63f705dad8bL,0xad2f8d2430990961L,
  87924. 0xd6724b3aa578ad6eL,0x8b11d8339c176f25L,0x12e79dbbbf8e3ac8L,
  87925. 0xe4a943d7fd9940cbL,0xc888a09a909e8fe4L,0x0000000000000122L } },
  87926. /* 54 << 210 */
  87927. { { 0x6109ea2de8fb7694L,0x3ec1e872086093e4L,0x978e96c0f4225f3aL,
  87928. 0x2695c6c91952ecdcL,0x728be492d83757cdL,0xc810df7023ac63eaL,
  87929. 0x9485d432d730ebadL,0x86e4d8518f91edcaL,0x0000000000000009L },
  87930. { 0x1a3378469ea9e56bL,0xa27a55a28a9debbaL,0xb23af748c0f66a79L,
  87931. 0x5d8b134dd11bc92dL,0x00567e5825e02569L,0x4e55a9c941991079L,
  87932. 0x4ddebd3f77d6ad31L,0x6933b46e536f3d79L,0x00000000000000ccL } },
  87933. /* 55 << 210 */
  87934. { { 0x812a9b2184f5a0c8L,0x33d0143243a13fc4L,0x9e71afb2efaf3fc7L,
  87935. 0x1663885a0884b6c4L,0x97be8fad8c8fcea3L,0x8a3eed05a8e13913L,
  87936. 0xb2262ce22e54b510L,0xfe9acf7eba246055L,0x000000000000003cL },
  87937. { 0xa302ad0e8b89f53aL,0xa73ed70070b8d772L,0x9e311983c5c37f58L,
  87938. 0x01e6b111978870fdL,0xd584e4e06afd83b2L,0x70707df88e6f511cL,
  87939. 0xfe0812356f6fab16L,0xc476c66841571d07L,0x00000000000001d6L } },
  87940. /* 56 << 210 */
  87941. { { 0x442afc6dddf45a12L,0x91e285345c5e6114L,0x29813a938589fa9dL,
  87942. 0xeb71194671a4ae9dL,0x5dcd8adc9044306aL,0xaedcb84bf9b52561L,
  87943. 0xc21e290a402e75f2L,0x70510bcaf6550a52L,0x00000000000001d3L },
  87944. { 0xde9843e884f2532aL,0xa14af3a6f79d325fL,0xf6906268bb1868bfL,
  87945. 0x8ac9b2825fb4a6caL,0x6c5dedcd4676cd53L,0x149996604f339636L,
  87946. 0xde2a17658d7b427dL,0xe8c56a66710567a7L,0x00000000000001f1L } },
  87947. /* 57 << 210 */
  87948. { { 0xa8ec1a8d2b835d07L,0x8c8dfa457ecde602L,0xf08edd6c0d0246cfL,
  87949. 0xf33a88675d9bc1adL,0x39c5d909b8675ea3L,0x282a2d848a96fc50L,
  87950. 0x019ee082d2d27a32L,0xfcf2f31ba5e0dcc9L,0x000000000000003eL },
  87951. { 0x6a0ed3b9c1f6a4afL,0xdb83b0612c7730e0L,0x169a96abfe5cb03eL,
  87952. 0xad5ae2df0f055afeL,0x50fa3820d27ed7d3L,0x050484f10e2b1595L,
  87953. 0xd07a515e63ebf720L,0x406f5d0cd68d846fL,0x00000000000001bbL } },
  87954. /* 58 << 210 */
  87955. { { 0x04d02219db404261L,0x85b9c71ed3c9e7d3L,0x52acbf57505dee08L,
  87956. 0x9e35ee60c4e1ad8fL,0xd4c0ce77194c1493L,0xfadfd42351103eeaL,
  87957. 0x11403891926541b3L,0x25c4c172eb4f082cL,0x00000000000000cfL },
  87958. { 0x1f7c31b8ac3bd930L,0x88a8cccb65d3a485L,0xe081d0a295e69145L,
  87959. 0xc513ae2e9804d14eL,0xf7b6aa084dcb993aL,0x47de6f4d191aee26L,
  87960. 0x42b005f56011eb61L,0x05f03ae3f7e525beL,0x000000000000015cL } },
  87961. /* 59 << 210 */
  87962. { { 0x0f37890e7c825579L,0x4fd5d272b3c0d6d7L,0x9a299db6ddb4405aL,
  87963. 0x0730a9825deb2939L,0x28d8bac57c904d7eL,0xa71c627fe6a7919dL,
  87964. 0x52f1b334b49c2af2L,0xef7414134b512f97L,0x000000000000000eL },
  87965. { 0xfedb9bfd92b96ec9L,0x613a1e5742d22f35L,0xdf9ee8d6b9175ebbL,
  87966. 0x085d38923a0ce558L,0xb7207bf1f3f089c9L,0x31660368ded15db0L,
  87967. 0x4ea4ebce0beecacdL,0xcaab38cc88eaeb88L,0x0000000000000159L } },
  87968. /* 60 << 210 */
  87969. { { 0xa10cda065dc2aa4aL,0x89d874e605ad6cbeL,0x7d51bfd5d061da12L,
  87970. 0x457d656c376141d4L,0x36ced50a1a715c73L,0x252b0b021d27223aL,
  87971. 0x053aef6fe2d6e01eL,0x8096c5e332716027L,0x000000000000013fL },
  87972. { 0x1864a030cd3635deL,0x5aa25da659cc5701L,0x8af63026ff2bcdd9L,
  87973. 0xebdb7f1717c277ffL,0xf94d8299758b7979L,0x38025e0009bd3eb9L,
  87974. 0xf7c4c29e5bd5c30aL,0x202201c752f90b3bL,0x00000000000001d5L } },
  87975. /* 61 << 210 */
  87976. { { 0x1af17d6b9a9a68f2L,0x1922895850d8202eL,0x5f26f6141d379566L,
  87977. 0x8842f3f0ba041c62L,0x856e05ae211c23dbL,0x7fd5b4c8db979091L,
  87978. 0x61f3b3740064021dL,0xee2403c789416b44L,0x00000000000000a6L },
  87979. { 0xf52f661156a4b455L,0xc3da69834dd9ba22L,0x58cee2db445eb941L,
  87980. 0x20f0bd4632a7bbb7L,0x212b03f7ea3e0325L,0x810b632b68653bd0L,
  87981. 0xf7a4c209c6cb33d9L,0x2f5c990c6c3facffL,0x000000000000001aL } },
  87982. /* 62 << 210 */
  87983. { { 0x6b3cf500b77b2655L,0xc203e28b60b8b5ffL,0xf19e8ec597cbcd7eL,
  87984. 0xb1cfa6bb6369ebc0L,0x4bcee60766936b2fL,0x49c8783749743037L,
  87985. 0xfebdbbae374df175L,0x6db093b69f79968eL,0x00000000000001daL },
  87986. { 0x6dd1ddbd88f766e4L,0x91fd01c5e8ee248bL,0x5837f9b63c727a7fL,
  87987. 0x336706e3393e3990L,0xe1e10fe46d43c4f7L,0x20ca5f27d6266f87L,
  87988. 0x7f2db9d9c2c42304L,0x3f3536bedaad6d40L,0x00000000000000e7L } },
  87989. /* 63 << 210 */
  87990. { { 0x1c8bb48681b82b0bL,0xddb9f1979b95474dL,0xa53b69cef11441e1L,
  87991. 0xcc7971f5218104ffL,0x40e07e762fd8166dL,0xd7f1d93ac9d44c2cL,
  87992. 0x3322abe434b2fcadL,0x7d0aab3a9bcb07b0L,0x00000000000001c7L },
  87993. { 0x60db8e39682100afL,0x747095769a4ff812L,0x93df55e1c3eef35fL,
  87994. 0x6ce66fa8b82acf43L,0x3b3b298818e25e0aL,0xc288d46523740df4L,
  87995. 0x824c5d4cecf599f6L,0xae5bb7388de7b001L,0x000000000000001cL } },
  87996. /* 64 << 210 */
  87997. { { 0xec9a8956f6d20ecaL,0xeda0a24d684e0169L,0xa55ae258e583c40aL,
  87998. 0xbe8c6286455d3ce1L,0x05bf63132096ae62L,0xf68e024920b48bdeL,
  87999. 0x1b6595bc4d99cd14L,0x0e740830774958beL,0x0000000000000030L },
  88000. { 0x3241b0df9fd73274L,0x7b6532398fe5a5ddL,0x2d4dd56e38412a8dL,
  88001. 0xe2925f33cc58a62aL,0xb859ea32f5cee12bL,0x5af7c4027c25d1d2L,
  88002. 0xe172cec16f196e55L,0x34815491de00641cL,0x000000000000010bL } },
  88003. /* 0 << 217 */
  88004. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  88005. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  88006. /* 1 << 217 */
  88007. { { 0x0869ed35fa226aeaL,0xcbc7bd56645f4485L,0x611101b13e6c3d97L,
  88008. 0xa1550183f7a56f83L,0xbe209b3c80a6fcd4L,0x0e2c9da9ea3beaffL,
  88009. 0x0fc7a16f14d9f7ceL,0xeb8a5e147a1e6db1L,0x0000000000000047L },
  88010. { 0x55a78c253b0fb32cL,0x449a7852a430d4c9L,0x1383a88a412509f0L,
  88011. 0xe895d858329af78dL,0x14afc01cf8d65a07L,0x89303bc5193d67e3L,
  88012. 0x42b20c9716fbcdf5L,0x79fe69660ee012aaL,0x00000000000000d9L } },
  88013. /* 2 << 217 */
  88014. { { 0x7480912f507ce79eL,0xf2251da23a1ea21fL,0xb925aadbfbc957f9L,
  88015. 0x79a66979f4548e12L,0x9200714b6de9a9feL,0x779792bbee62d344L,
  88016. 0xeed3d08357501cccL,0x51ecec8b0ef8c948L,0x000000000000014cL },
  88017. { 0x734a634b05271e42L,0x70e28c86643cdb88L,0x849fc7dd0c24a7eeL,
  88018. 0xcec60426b20506a4L,0x6ee05fce35655c14L,0x79ca2be8c072d950L,
  88019. 0x6c473203105c09efL,0xd9698b133dbf27b2L,0x0000000000000010L } },
  88020. /* 3 << 217 */
  88021. { { 0x15079b9d3a7de86eL,0x97e07c04354faf62L,0x045f48f34280e300L,
  88022. 0x9a5fd235bd9ea013L,0x3f75a31f8760c3d8L,0x18aec5ffd05d488fL,
  88023. 0xccfb484b617daf6eL,0xf33084debffab914L,0x000000000000015eL },
  88024. { 0x1c034f37dd5bc9b0L,0x8e2bedaf882c69a5L,0x6789f307a61afc24L,
  88025. 0x8540d05dc57b651cL,0x7214914319f83ea8L,0x57af134d962c6ed0L,
  88026. 0xcd059751d98b1089L,0x08ad5d1d42e7077aL,0x00000000000000dbL } },
  88027. /* 4 << 217 */
  88028. { { 0x163cd52464d8c387L,0x0cfe9416cb029390L,0xce6b5dab9e9ec846L,
  88029. 0x96a78639e9ba4592L,0xa78e42968f174287L,0xe5d09a7637763d66L,
  88030. 0x9f47acf6b54f368dL,0x8e63481b6a0fa894L,0x0000000000000026L },
  88031. { 0xe1663ca805c8bab5L,0x99bf02aaca0af033L,0xfb1c0c7faa1d7c42L,
  88032. 0x05ac75b011bdcc7dL,0xbfa1dc7399d86019L,0x8f11d0a4937cfa73L,
  88033. 0xf4795bd7d24e356dL,0x7c1f3dc478b4e4ffL,0x000000000000014cL } },
  88034. /* 5 << 217 */
  88035. { { 0x3dfeef486fd25746L,0x5940add47d758bd3L,0x9f08c453d26de538L,
  88036. 0xbc7dd28b040d20e4L,0x92cebd97aab4420fL,0x79f4bb203337466eL,
  88037. 0xa72fae2ecb132a17L,0xb394a9c29a59e4c7L,0x00000000000001f8L },
  88038. { 0x6146396eb48c979cL,0x24b453db99a310e3L,0x7e3917a871967c56L,
  88039. 0x3be40e190e539ed0L,0xc357bac87206739fL,0x8f8c1d8229b17828L,
  88040. 0x06f0ea1f949db344L,0x922daa8467ea4ce3L,0x000000000000013bL } },
  88041. /* 6 << 217 */
  88042. { { 0xe2473fe401d47863L,0xdf01581ba1940ffcL,0xa35005ef71f1311bL,
  88043. 0x647d568ca5eb4e66L,0xf1dfe4475da1c32bL,0x05d5c8b5ba555b7bL,
  88044. 0x2584842719302166L,0x5bae9fdf71dcfa1aL,0x0000000000000184L },
  88045. { 0x531661b422bc00eaL,0x3db39e0ce55a5757L,0x1cdac297fca4fbfcL,
  88046. 0x1dd0012bb1d24a8fL,0x52ae5759714bc921L,0x016aea1fe8481e89L,
  88047. 0xf34842d1254d5d7eL,0xeb75ac8af21fe811L,0x00000000000000f0L } },
  88048. /* 7 << 217 */
  88049. { { 0x27a66dd1e4c74b72L,0x9942ada0c51b39c7L,0xaa53c8461a3166bdL,
  88050. 0xc987efb7b9d48025L,0x991f01bd361c98d0L,0x5bfb025e3b09f9e1L,
  88051. 0xab478eb54514704bL,0x784f1a8de0c6dd62L,0x0000000000000031L },
  88052. { 0x42757f2cc630dfe5L,0xead6fb443f3e6723L,0xe8128bbe1a1c8b83L,
  88053. 0xe35a9d2fab681466L,0xbf9be668356c2595L,0x0e3cf40f99e2b833L,
  88054. 0xfee57f088ea10a4bL,0x207da69ed45302c9L,0x000000000000017bL } },
  88055. /* 8 << 217 */
  88056. { { 0x36cdc3e624acb1faL,0xf593d32d6c6d43adL,0x766c2fcd373c8e18L,
  88057. 0x0a1518363d12b7f3L,0x924427f4b4234a24L,0xaab877852335ff44L,
  88058. 0x9e5811897c362011L,0xd86f8fba5ee724dbL,0x0000000000000184L },
  88059. { 0x25f04ed9c9558569L,0x0a315324ef9562c5L,0x65a02a289ccefb92L,
  88060. 0xb2429dd488115608L,0xc1714c93641d646bL,0xba4d369148bb144aL,
  88061. 0x48ec2d9d9efa3a6fL,0x5ff6a4fbf1a93ae3L,0x00000000000001edL } },
  88062. /* 9 << 217 */
  88063. { { 0x6a3f7799955cae01L,0x8fedb6b1e4f38ce0L,0xdb6107f34e85864eL,
  88064. 0x03ade49547410da3L,0xddcbf5190038d029L,0xf0f29d5fe5d4d46aL,
  88065. 0xae17f5923b27f562L,0xf29afa56e7c3f779L,0x000000000000001aL },
  88066. { 0xd5026e725d8adb02L,0xa06db93aec16acd0L,0x83acfde18042236aL,
  88067. 0xc38abf4033ae9809L,0x22fe6dfbdca5d7eaL,0x383a9fa5a2c8db99L,
  88068. 0x6d9ccce5d334a39dL,0x7861d1e9359da075L,0x0000000000000120L } },
  88069. /* 10 << 217 */
  88070. { { 0x8fec394bb678283aL,0x24675c5b80934192L,0xe910c009495ca6ccL,
  88071. 0xe27707e02e53b765L,0x804e24f1a4ea631dL,0x3f919eb5058db7caL,
  88072. 0xa5010f37cbbf29eaL,0x758bd2cc225ee400L,0x0000000000000019L },
  88073. { 0x52fd1ce51535d519L,0x2b1decdc28e1db07L,0xe076dbeeb4b9815aL,
  88074. 0x670c75e2f9f5ad5dL,0xc9fc07876a78d26dL,0x52951cf34ae31294L,
  88075. 0xe318cad8e793634fL,0x0e9242886e01fcb2L,0x000000000000015aL } },
  88076. /* 11 << 217 */
  88077. { { 0x892b3b400cfb1d04L,0x3bea12122b96b4b2L,0x70f73b359c1f649cL,
  88078. 0xcae6ffb47e679dacL,0x96b8d2aec55695fcL,0x0050271f424e84bfL,
  88079. 0x8650dd5119533f6bL,0xc383e0b7571d0e67L,0x0000000000000042L },
  88080. { 0x3b0bfdab1f7cfd38L,0xea8f9b107b7ec7d6L,0x43139c4e0919083aL,
  88081. 0xd69f6d790fe910eaL,0x094221d3e7ba5fb2L,0x4f374df8f556a667L,
  88082. 0x328a7762ed30e6dbL,0xfc57fcee326a62bdL,0x000000000000008dL } },
  88083. /* 12 << 217 */
  88084. { { 0x4c7be70cc22a178bL,0x396b7df601209f9bL,0x2816070b60b48d09L,
  88085. 0x0995b11e9d11e63dL,0xde65c7d35ac5b1b2L,0x29c06ce1dda415b0L,
  88086. 0xf95189d9abdb408fL,0xb6f3dde38bbf2454L,0x00000000000000cbL },
  88087. { 0xbd38febf8dc44542L,0x2c9d18903f962af0L,0x34cea4d76e93a735L,
  88088. 0xf63e364df81f25ebL,0xad8d7b89df0cdfdcL,0x126ac26d730e8a2fL,
  88089. 0x434700f896d59c8dL,0x1aa5875eb3da4bcbL,0x0000000000000139L } },
  88090. /* 13 << 217 */
  88091. { { 0x2598aa4de58417d7L,0x73315ae4ba28fc1dL,0x5517268c46243119L,
  88092. 0xc4974c53b719bdfcL,0x6100c44e189538d8L,0x9db41e3800cd674aL,
  88093. 0x18d5dd5009fe8bf3L,0x4e55b10393ed2b3aL,0x00000000000001f2L },
  88094. { 0x6bdabaafa06be83fL,0x7521de13204a1caeL,0x1a330aaabbfcf7aaL,
  88095. 0x7d263940f4260f0dL,0x9f8f411dec87d8bfL,0x7a6f66562f9d628eL,
  88096. 0x0ffef527076cad32L,0x1702ce89176beb62L,0x00000000000000a9L } },
  88097. /* 14 << 217 */
  88098. { { 0x52965a07e1c091b3L,0xc19999534000c8f5L,0xb46cb0961b5972d1L,
  88099. 0x4a308aa918f8f6f4L,0x3cee84ce606ccca8L,0x486fcae6a169fc9eL,
  88100. 0x5b19c4bb5b7288ccL,0xa20b1b3b9004638dL,0x000000000000005aL },
  88101. { 0xc63c9bbd9e2f0f41L,0x23cb2e54e409e31cL,0x7da5e7c8549c6dbaL,
  88102. 0xa5c2d1b958a734a6L,0x710b2953b6fb8021L,0x17c27048b5adc912L,
  88103. 0xc775ab78900f7c18L,0xc77a1a632b014e3aL,0x00000000000000e2L } },
  88104. /* 15 << 217 */
  88105. { { 0xe77fd781f0aa0c3dL,0xfab5faadce9dd050L,0xdada6c655657f21fL,
  88106. 0x783b1101e768bcbfL,0x6589af44e3340018L,0xcfb592b9da65a6a7L,
  88107. 0x7bd5567297e1f3a0L,0x88785334ffb1fd45L,0x0000000000000119L },
  88108. { 0xa63a0a55b5cce8f0L,0x6f3064b4eac3c4bbL,0x268dfc16c3931cf1L,
  88109. 0x2e70af6b4661d0dfL,0x1d3463d47cf9a2d9L,0x06221386427a35c3L,
  88110. 0x0fcc93fc18f7dd40L,0xe1df83f19e78e3a1L,0x00000000000001deL } },
  88111. /* 16 << 217 */
  88112. { { 0x8661728eb584af4eL,0x954bb8753a25e264L,0xc839860915be119dL,
  88113. 0x06a54d7f989fb866L,0x27b590ede0375bc8L,0xc394a6b7afbf60ddL,
  88114. 0x32cb71643a892981L,0x61b46241cae4336aL,0x00000000000000d3L },
  88115. { 0xa2e80eed970af48dL,0x087c2e6320f95e36L,0x82956a6eee080071L,
  88116. 0x933a2568f9fc2967L,0xaa2b21a31b5430b1L,0xb1efdf09b6502fa8L,
  88117. 0x56b2b8b50a897789L,0x3a6f9fda663dc2eaL,0x00000000000001e4L } },
  88118. /* 17 << 217 */
  88119. { { 0x6a53c0b0f4e4f6bdL,0xbed51fa0b3339216L,0x9e1c31446ae0a294L,
  88120. 0xe8f9136d0186061aL,0x6f0f313f188527fbL,0xc8b712bfe45aa9f5L,
  88121. 0x6a4edc9711290895L,0x8f5a9d9328245576L,0x00000000000001a7L },
  88122. { 0x77e9f20e207e93acL,0xf2aac110e8d7f6ecL,0x6d098ccf619f7771L,
  88123. 0x7cad915e8ce10c43L,0xfd880f1671cec05eL,0x1c2925678cf46b99L,
  88124. 0xfc5d2f1c5226011bL,0x157e69596cc74eeaL,0x00000000000000f3L } },
  88125. /* 18 << 217 */
  88126. { { 0xbc6a400038abf795L,0xee50c23a9287efd7L,0x2e49103a9a5fe5c8L,
  88127. 0x932f55e7ec47bc0dL,0xfb9d8ba5a1e42656L,0x14bc1a30bfec520dL,
  88128. 0x0e22436e2c51ebdfL,0xb45f409c227f0203L,0x00000000000001dbL },
  88129. { 0xdb059428e549200dL,0x944be2239a2f5fa0L,0xb50e8d34ddb8f268L,
  88130. 0xcf19eea782193454L,0x89965b1de0c72633L,0x6d5dd72287cb4786L,
  88131. 0x87dfc6f877b57b33L,0xa3814dd5d3b6507bL,0x00000000000001b0L } },
  88132. /* 19 << 217 */
  88133. { { 0xd3422f5b02e8723fL,0x77b65a704b483835L,0xfb8db8f5e6c4fa44L,
  88134. 0x178119d69bca2cbaL,0xd3011b68fb7c2516L,0xb51eb8ed7b2422d2L,
  88135. 0x638d850b4fbdfe7aL,0xef478553a4a2cc4eL,0x000000000000006dL },
  88136. { 0xcc1b4cbab66d461aL,0x85209539ab0614a7L,0x9284a459d7b45e90L,
  88137. 0x6261939b3d6b31c4L,0xd440f1eca261a369L,0x8b9f30274347957bL,
  88138. 0xeb40b1e9593ca13cL,0xe4bc3937f76f36a2L,0x00000000000000f8L } },
  88139. /* 20 << 217 */
  88140. { { 0x8979880e76ef73cdL,0x6b6723b19811ce62L,0x76b79fd3ebf26fb6L,
  88141. 0x485a962d3a38e353L,0x55df05bbf650782aL,0x2708cce29010a481L,
  88142. 0x55a55950611af69cL,0xdcb0ff444d195963L,0x0000000000000012L },
  88143. { 0x02313a03b53e1297L,0x0496acc4d53e4561L,0x71dc5bb477fff348L,
  88144. 0xb3a90b9a3497b65dL,0x1cc2d09ab0eb0550L,0x6d92c629525a2a0dL,
  88145. 0xacf38f9941e776c6L,0xdde54e8b76ce2676L,0x0000000000000040L } },
  88146. /* 21 << 217 */
  88147. { { 0x75be2409fd243c58L,0xfb1f463bdac51e3fL,0x509862194d0a4586L,
  88148. 0x36bd9a9e93c8ee2fL,0xeef97f6992bc64f0L,0xa78103bf1086dfc5L,
  88149. 0x88aa88434e424ed1L,0x0a5b655e99ba7ee6L,0x000000000000009cL },
  88150. { 0x249c1f37a7bff9c2L,0x524a308b3e8c734aL,0xbe9e7a1c4cca4101L,
  88151. 0xbfe5d60006384eb3L,0xb7d6b88ba7870afeL,0x9298e013c329ae1bL,
  88152. 0xf209c57749fa728aL,0xf266f26d14fa6743L,0x00000000000001f7L } },
  88153. /* 22 << 217 */
  88154. { { 0xecaa972f97a6c375L,0xaa67099f3c5aa416L,0x5e4734dc5f9037b4L,
  88155. 0x5a71f4d8feaac9beL,0xb66122ce9fd22e94L,0xd09f8f79796500a9L,
  88156. 0xb6e9a33d09e807a9L,0x44a1b6f515b33f25L,0x00000000000000feL },
  88157. { 0xd1c9abc3752c8f9eL,0x9b55269a8dfff422L,0xedfdfd976e33a411L,
  88158. 0x624051be5fc39babL,0x09b5446a79090558L,0x59df039c097b7956L,
  88159. 0xbc79ccb2f4c7668cL,0x04b2b4066bda888cL,0x0000000000000157L } },
  88160. /* 23 << 217 */
  88161. { { 0x01657adf2b32a82cL,0xa562f4cf4f956c2fL,0x84ad34232910648fL,
  88162. 0x9ea4e24d2bbdbd02L,0xdead6b9a4da91c2aL,0x36d5efe14c04f787L,
  88163. 0x7fba5358fe4dddb1L,0xa6479901f366a73fL,0x000000000000018dL },
  88164. { 0x3feba9211c557b81L,0x8a7d55ab07441493L,0x2494fea073a3361bL,
  88165. 0xe0b259a20c4b1040L,0xb916142e58b9d4d9L,0xbc680954f8a4db27L,
  88166. 0x5cd9b153e5640dffL,0xf4a05f27ae9b5981L,0x000000000000009bL } },
  88167. /* 24 << 217 */
  88168. { { 0x8b2f31a02c825d50L,0x5fa4a38e0b3dd67aL,0xcc07eafedd220e0fL,
  88169. 0x3a8496f853666cd5L,0xf1e8b23e116da23eL,0xf48de9f41631080dL,
  88170. 0xcc3274454139c8dbL,0x3270ce0a1dbe7c3dL,0x00000000000001c6L },
  88171. { 0x210895785054f6b3L,0x8295ec2dd94bf609L,0x1922bdba854941f4L,
  88172. 0xa95eb4de357020e9L,0xd15fe663df0d7747L,0x89ca6db1ff86b9ceL,
  88173. 0xc3bbaadc4f1a6d6dL,0xdeab3f658a0c471eL,0x00000000000001bcL } },
  88174. /* 25 << 217 */
  88175. { { 0x52c4c94bafa6c8a4L,0xcccdaac638d082d5L,0x6756e588603919fcL,
  88176. 0x46e53d034f729c3eL,0x79a9a3ba3642d064L,0xf7f9370b6e781f51L,
  88177. 0x871f38423fc72274L,0xa2be2d7f631fa996L,0x0000000000000169L },
  88178. { 0x33d1dbbdca0f5b6dL,0xfa5e0a4020137338L,0xe03314dea4fd1455L,
  88179. 0x15c0dcb0e68a4ad0L,0x5c99e48ccf09b744L,0x80be1812142f6b65L,
  88180. 0x13aa8e51ca2e9df6L,0x7a1772606a44f01dL,0x000000000000002cL } },
  88181. /* 26 << 217 */
  88182. { { 0x600b48b92806f212L,0x24f49b0b9ce93a73L,0xa61905f11fa33a53L,
  88183. 0xd8112bb3e9c9f4ffL,0x668461e5cd923562L,0x6a04eb9c7c8fd814L,
  88184. 0xcfebf8b2aa0b7176L,0xf5aeff5e9fdacbcbL,0x0000000000000089L },
  88185. { 0x6a4e78ccb73a9977L,0xff5464997a7fe914L,0x9a3851b2e4e9e8acL,
  88186. 0xece7462ca3e78784L,0xa3a59ea640b86efbL,0x7247b5df42bac9ceL,
  88187. 0x0807058cc4751049L,0x0f02c3bc79e24b3cL,0x0000000000000120L } },
  88188. /* 27 << 217 */
  88189. { { 0xaaa07644734ec473L,0xd85e99103b702814L,0x21a498758173c202L,
  88190. 0x2c890717cb3f4b5bL,0x33c149506922f4aeL,0x124c5e49ad484e7dL,
  88191. 0x611d7a967d9e2082L,0x7df895594d15f0b6L,0x0000000000000098L },
  88192. { 0x2e345ed3a5039457L,0x34947b7cce38e17cL,0x8fd52a5e30f99d29L,
  88193. 0x4f8f3001c0b186f0L,0x2581c68bc7b4641aL,0x5006916be7dbbd07L,
  88194. 0x2f2495f23e744e9bL,0x449cc2d31db7cbc1L,0x000000000000013bL } },
  88195. /* 28 << 217 */
  88196. { { 0xb30ff36d7eac7e6cL,0x388bbe38ee0df2a8L,0xf2398b6858bf4ee6L,
  88197. 0xc7af5233c8a3f768L,0xac4dd8d6f880b20eL,0xc09ce5090735320eL,
  88198. 0x50ad570da58d9c39L,0xadc538325bc36a0fL,0x0000000000000021L },
  88199. { 0x177653737fa3650eL,0xd8e95e4f742687e5L,0x3209d3007af39d87L,
  88200. 0x67bc05f8a5910ecbL,0xc3af4f238d00bc76L,0xd314a1fac6edf5f9L,
  88201. 0x41cf7b7ee3a65fdfL,0xe40089715a11eaacL,0x00000000000001c1L } },
  88202. /* 29 << 217 */
  88203. { { 0x0c838f9887c8edecL,0xe5dd51181e7c478fL,0x2ff66c0512dc028cL,
  88204. 0xac5ad1a801931b29L,0x329df33f2a15b905L,0xf092020568a1a962L,
  88205. 0xebc983869ed7766fL,0x6f88971bad265df9L,0x00000000000001b6L },
  88206. { 0xa06e9c10c9c14848L,0xcafd6d9fe8e7e01dL,0x77ea7583859a3229L,
  88207. 0x934d04af8688d9faL,0x35e7ddcd558f96b2L,0x6961dfc8332509caL,
  88208. 0xceeb4359f0cac525L,0xbb84703578878919L,0x00000000000001e1L } },
  88209. /* 30 << 217 */
  88210. { { 0x4348c0d62208ea16L,0xa6b7c867828ecfa3L,0x5e6e24f8bf2263f3L,
  88211. 0x44a63dcbd3a6da5bL,0xe19a8335346f0280L,0x92f45f0a44192c6fL,
  88212. 0x2683e6fff5c5e5e3L,0x687acfae77d82944L,0x000000000000011aL },
  88213. { 0x64dadbd27318bba1L,0x06775603e713f894L,0x5a86db2702699287L,
  88214. 0x0eb2657c9dc65560L,0xad0ecf6ae85b2f8aL,0x5213fbe63ce623b6L,
  88215. 0xe728f470f79b4791L,0x2f462b02e21f708bL,0x0000000000000185L } },
  88216. /* 31 << 217 */
  88217. { { 0x316de848faeaedfeL,0x78a110cb74883e78L,0xc02acbf279b5bfb9L,
  88218. 0xf2a4e3d18302fa76L,0x82098a687e585e68L,0xab0f26c8b64373beL,
  88219. 0x17a96c041f6667b4L,0xa5804b6a8049357dL,0x00000000000001f3L },
  88220. { 0xc4cddde35fe9e210L,0x52214a65e888afb2L,0xd1e861acda8a2060L,
  88221. 0x228f7b6e8c3a37f0L,0x81cb013a4631a725L,0x1500ad208bfd51f0L,
  88222. 0x17504e9c496fa6f0L,0xcb0a2b4070e311bfL,0x00000000000001fdL } },
  88223. /* 32 << 217 */
  88224. { { 0x1874803fd759f021L,0xe16e4f43f7ccdc14L,0x33b15c686ca96e4aL,
  88225. 0x16647507c0c8f6a5L,0x0a69a27b0ddc1a2bL,0xefa1d7d28c4496ebL,
  88226. 0x8bd873d347064396L,0x13b07fa653dd5370L,0x0000000000000008L },
  88227. { 0x97373827dbf8a088L,0x0f48a5dfdcd37018L,0xf3bc5022172e6d9cL,
  88228. 0x96a0d7020867bc4eL,0x26130628d1a46e33L,0xba6c1f6a8c2bdda5L,
  88229. 0x273f3f4d4e5e6112L,0xc9f3341ecf810455L,0x0000000000000084L } },
  88230. /* 33 << 217 */
  88231. { { 0xba5684306a70e5e5L,0x2dd3cf84f677fdb2L,0x4639444c2093d4d4L,
  88232. 0x48145ac0cfa9d695L,0x1947f72dcbcdffdcL,0x8ee3d63223a695efL,
  88233. 0x3f7cef682c0c00e6L,0x50a326aa9f8878a3L,0x00000000000001eeL },
  88234. { 0xf2ef9b77f3659baeL,0xb02047c9bb5d2078L,0x9342227bf5473552L,
  88235. 0x6af1262c972198b3L,0xf06c8495545c59d6L,0x5b76b44d7d2254a6L,
  88236. 0x0edf239adae2db07L,0x808bcb01b071a927L,0x00000000000001e0L } },
  88237. /* 34 << 217 */
  88238. { { 0x751ecd118ea4d1a3L,0xa416549385584530L,0x3c998d2f48ca5366L,
  88239. 0x5d2a945994867756L,0x40eb22d0ed2ce938L,0xf2384049eb6fa53cL,
  88240. 0x1dfae9f4452bfcd0L,0xfde76aeb67aaa0a6L,0x0000000000000070L },
  88241. { 0x3971401bcff41b83L,0xe60901c2652b56a8L,0x4e58a099f4f9d6bcL,
  88242. 0xb822ec2f3cb0761bL,0x2199ca7ff5a4cea9L,0x52146c0e87d35cffL,
  88243. 0x507233f309f44c81L,0x24a9f28e1ba0c4d6L,0x00000000000001a5L } },
  88244. /* 35 << 217 */
  88245. { { 0xadddf2ffd9c057f1L,0x6634c99638431f5cL,0xdeb1e0e10e0ccc49L,
  88246. 0x5b08f82a9eda3938L,0x5ac5ba95b7be5ac3L,0x12e7c0a6d405b331L,
  88247. 0xa7e8f80e1ce1a099L,0x09192de2086e69e2L,0x00000000000000b2L },
  88248. { 0xfd1c75f964436336L,0x02a5a6cdd3750eebL,0xfcb0759338ceb24fL,
  88249. 0xe613ce9408e8d3d1L,0x84bd977dbbc20a44L,0xc301f3f18b41ad98L,
  88250. 0x75dc2519a7586874L,0x2c179de3bb4cc82cL,0x000000000000001dL } },
  88251. /* 36 << 217 */
  88252. { { 0x783751f1ace85e33L,0xe9bdcbb4d36f8988L,0x51d219a6e7361da6L,
  88253. 0x5f374eab9fd26dfbL,0xd62ecb9f12301759L,0x77f528f2f3af5667L,
  88254. 0x38de7fed85a91b36L,0x52a085d7d022c0bbL,0x0000000000000045L },
  88255. { 0xf7f423fb3a234e71L,0x69e75f34635eed5eL,0xb2196ded1d3590a4L,
  88256. 0x46a9094b52c84b99L,0x039260d5c36fa19cL,0x755dd132b5b09dd1L,
  88257. 0x85d599e7784fe05eL,0x71187dd1167916d1L,0x00000000000000fdL } },
  88258. /* 37 << 217 */
  88259. { { 0xc2003f2f71056506L,0xbd1af63cbedf3b7dL,0xb8bfebef0a027704L,
  88260. 0xcf2b3463da5747a7L,0xd7620b0138eb7d5aL,0x04ba1fe62aec3578L,
  88261. 0x99b988baa26a76faL,0x059d1e5079ac26dbL,0x0000000000000182L },
  88262. { 0xca94d1c96ef3129bL,0x361e2c88bdcca8b9L,0x446fbd76cc7b11afL,
  88263. 0xbc12cc4345c1ff9eL,0xf61d708a1b41f633L,0xddb2bf042db37562L,
  88264. 0xa470ca1eff6e0b9fL,0xbf4c9c9e1ce7e20fL,0x0000000000000026L } },
  88265. /* 38 << 217 */
  88266. { { 0xdd3f12d68dbdc1c2L,0x01e34587f4c4a308L,0x29de44b9243d76ecL,
  88267. 0x5d17233cc2f30f10L,0xa09262e4bbc6db0bL,0xd17c9a64d629b3ceL,
  88268. 0x57d7afc416e00ed2L,0x7968b7727b3d962bL,0x0000000000000011L },
  88269. { 0x07c08b240363a6f6L,0x37ca731f096b5148L,0x3bfea8f7cac7db7eL,
  88270. 0xda2e44f5fd9625cdL,0x5b4cdad91660ca28L,0x085b48054e493323L,
  88271. 0x7c6994fd2f3ba77bL,0x0a0387299decf7b4L,0x0000000000000071L } },
  88272. /* 39 << 217 */
  88273. { { 0xfffbe77ba9ae3378L,0x9beb958edc28dbdaL,0x7fec7dbe060ba465L,
  88274. 0xeee11a73a6098a07L,0xc83f4667ba7234f3L,0xdb034e18753fb743L,
  88275. 0xe274fb5a5f53a77dL,0xd2a161d640d9d73fL,0x00000000000000abL },
  88276. { 0x9c9880a8ff15ef46L,0x97bf6f4576ed1f9aL,0xec02ab9ec55d9ee9L,
  88277. 0x8a3e57efb5ad0d12L,0xe9db08c164d665e7L,0x0e7074369e1b30c6L,
  88278. 0xe953299b83aecc46L,0x9ec97a400bdbf832L,0x00000000000001f3L } },
  88279. /* 40 << 217 */
  88280. { { 0x677450828f3756c2L,0xabf1e75d0a7bfcc9L,0x047931dbb8bad3afL,
  88281. 0xa380c9855e392278L,0x5195e47d0237d6bcL,0x8c7ef452fee7427cL,
  88282. 0x4f078dd2585b6365L,0x4e82eb4b1e10d24eL,0x00000000000000d8L },
  88283. { 0xda54dc52610b349bL,0x96746e43904633f2L,0xd2a58f332c50aa46L,
  88284. 0xffea4d06987f9fc3L,0x5505265acc521553L,0xaf2b7da0c316df83L,
  88285. 0xa74f09b1ea362ecbL,0xcf9f0ac3a2e1f4f5L,0x0000000000000078L } },
  88286. /* 41 << 217 */
  88287. { { 0x59af0c27a1a02f35L,0xe0ac14ea079fffb3L,0x7eb918803ba6efeaL,
  88288. 0xf4f7ece1c20a4df2L,0x38d3a92237d80bd8L,0x54c4a59d6a6ea3f3L,
  88289. 0xb2a32bcebdcfa4d5L,0x700e28b56b9040fdL,0x0000000000000170L },
  88290. { 0x56e3b014ab113b65L,0x0ec2175c548c1c84L,0x35fef7ad0213402aL,
  88291. 0x4d91c747b2ce0bedL,0x9c699db9ebfc8d58L,0xfa3d5a081329db85L,
  88292. 0x74b910498a16ccdfL,0xbb98d8300887072cL,0x0000000000000131L } },
  88293. /* 42 << 217 */
  88294. { { 0x96c26386e4cbd521L,0x0b1a38abd272b855L,0x30a03997f9875ff5L,
  88295. 0xe00ab13a61dbb1c1L,0xb31c80251bf9a773L,0x4d09ff2938888083L,
  88296. 0x356496085a48bffdL,0x8734455b7c0ceff5L,0x0000000000000185L },
  88297. { 0x4e3f5b3369306de7L,0x54c1bf0426328640L,0x7405d971c8b247deL,
  88298. 0x0193c644218439ccL,0x91d5c51bc5bd4db2L,0x083af5e8d97ea0c8L,
  88299. 0xc29d34ebba9533ecL,0xa61393defdc6e9e3L,0x000000000000006bL } },
  88300. /* 43 << 217 */
  88301. { { 0x4cbc18fd8f743330L,0x794313312b0a18ccL,0x1a8f8cfe4b46dd3bL,
  88302. 0xea6a1b0a78faffa6L,0x71b836b8520dcc57L,0x5efddbd89b6e74bbL,
  88303. 0x3d6b6151dc6b7c9dL,0x95f2cabff235d63eL,0x00000000000000f4L },
  88304. { 0x15b2e9802245f71cL,0x557c9c3eb1ea762cL,0x7121b8e7a57e9103L,
  88305. 0x31c6a917b2bff1cdL,0xe6883a84ff413e00L,0x33f8655f4a67ca7bL,
  88306. 0xa548bf42c27e7e2cL,0xe32f78ad352d4fb4L,0x00000000000001afL } },
  88307. /* 44 << 217 */
  88308. { { 0x75ec3f26656e2672L,0xcf0d9739ddf3748bL,0x5765797c7991dabdL,
  88309. 0xaf30965268cee722L,0x5bcf9603ed47b3c5L,0xb739ce4e493a140eL,
  88310. 0xb209fb5dcbfbd96fL,0x10de84841ecedf68L,0x000000000000007fL },
  88311. { 0x297535a097eeb1fbL,0x40bc00d9479587cbL,0xd20d467736f110f6L,
  88312. 0x029ce5ca422c636cL,0x9c8133c2172916e3L,0xf6e1a538e3a60dc9L,
  88313. 0x17809428fbfdb3abL,0x399fdabc973f2523L,0x0000000000000155L } },
  88314. /* 45 << 217 */
  88315. { { 0x103d1964126508d7L,0x9374fc63953fe4a0L,0xa3e5fef2bf65b5c3L,
  88316. 0xcf1e9f434dea09f3L,0x73cf4433db5dd9c6L,0xe0cd97b415af4b48L,
  88317. 0x6ff6d7f6ebecabe5L,0x67ab5f01e7947376L,0x000000000000006eL },
  88318. { 0xe36cafbd0ef747caL,0x69cff962339f8b52L,0x0aaf54ce45c3da2bL,
  88319. 0x15c960ce248fc6dfL,0x0464d7df61eff9c6L,0x1f783e7b3a1eb474L,
  88320. 0x37d81b791791de17L,0x356bda6296b6e9c5L,0x0000000000000188L } },
  88321. /* 46 << 217 */
  88322. { { 0xb0afc4e65c223c96L,0x88f2e5f35aaede44L,0xc3183f1cb71a856eL,
  88323. 0xa41a1487b9c00b69L,0x28b5aaaa69d2bc7eL,0xf5c5dc2172fcc598L,
  88324. 0x6c70b857400234dfL,0x861eedb2c2d21c53L,0x0000000000000060L },
  88325. { 0xc9d7f77696cb55a0L,0x0497d6176a92197cL,0xa3e0f3a608b23cbcL,
  88326. 0x2110a78eda86341aL,0xdde07944da306990L,0xbf6cfc6ab988aed8L,
  88327. 0xe2add66fd14d708fL,0xa44d983157dbfd52L,0x00000000000001d0L } },
  88328. /* 47 << 217 */
  88329. { { 0xc56bbdf675812dabL,0xd9e2cea8a82d54d0L,0xc78535044a6379c2L,
  88330. 0x2c974afd849f9130L,0xb35b4d7bb75ea82eL,0x7fa6b09c58bd2e96L,
  88331. 0xe1416607f1d13d0fL,0xb684652fd79eb307L,0x00000000000001ccL },
  88332. { 0x987764f187c31932L,0x99c1ba6ffb1d4bbcL,0x2ed38e948015c51fL,
  88333. 0xf424922c93ca5a9eL,0x201c868c6510cf1cL,0xfcaacc9a10c4ed5dL,
  88334. 0xe622fa46dc5316eaL,0x6f9a6df2518b7d2aL,0x00000000000000a9L } },
  88335. /* 48 << 217 */
  88336. { { 0xce7ae0b6075676dfL,0x24daa3aa29be05beL,0x795b32d17b2f292fL,
  88337. 0xf71dbf4f77ae64feL,0xe5f8b83bdcca4f00L,0x111a06db71e2e120L,
  88338. 0x6e7937f5a861e714L,0x7b14d15817bf3be6L,0x00000000000000e6L },
  88339. { 0xa8748d319d04daacL,0x28e3fdac9325722bL,0x4384ac259e26fc1cL,
  88340. 0xcbce8c3320f8d023L,0xa21e8abb9fed4b2fL,0x5f1d2dfca075f969L,
  88341. 0x43d3c57f5e8e705bL,0xcac9948fdeb0bca3L,0x00000000000000a4L } },
  88342. /* 49 << 217 */
  88343. { { 0x66a65e83dad7d797L,0xdbd972bc359e9564L,0xe35acc8a5eccb5ffL,
  88344. 0x35e3ffac0ad3ef9bL,0x851de6e98dbecf69L,0x90c0b3bc520a3d86L,
  88345. 0xdca6e3dd40607f03L,0xba8a7ea766dc9c2eL,0x00000000000001b0L },
  88346. { 0xe2a78b19c0187be3L,0xf0bfde9ebd554b70L,0x6a61dbf7e7357ee1L,
  88347. 0x7189a9916f16a7a9L,0x1027a7495028b3bdL,0xab2f2df6a104d723L,
  88348. 0x3f214e95834a7f51L,0x5033df8cf6019533L,0x00000000000001f3L } },
  88349. /* 50 << 217 */
  88350. { { 0x49d49732774494b6L,0x3c9506bd04770a4aL,0xbb8415e4c248a4fcL,
  88351. 0x60ed58b8374418ddL,0xc26440d39aeaa332L,0x1601233a7aefa5a0L,
  88352. 0x8ba67f98ffcc867fL,0xb93887e4e716de59L,0x0000000000000028L },
  88353. { 0xf9467d0a3f1ea0e3L,0xd69dc7b3c349e641L,0x21bb7c3d47a1fb70L,
  88354. 0xcdce7b0485baf8f8L,0x6a94cd2df74d61bdL,0x9b4aaf70d80c40ccL,
  88355. 0x67958b15554675a2L,0x1212272b37de6aa5L,0x00000000000001a1L } },
  88356. /* 51 << 217 */
  88357. { { 0x65b30c4693d202fcL,0x69278e20a91bc534L,0x2159b74620ebfcbaL,
  88358. 0x9a039589158a9358L,0x3431bf268fbe3a07L,0x3f052e4d5ac5aff9L,
  88359. 0x0c9236c539ee1355L,0x95924b8148fcf947L,0x0000000000000179L },
  88360. { 0xd60db53922fd1648L,0x6fa28ffd2d08381cL,0x48efc7edf1831068L,
  88361. 0xbcbc20d73ebf4420L,0xaa29a9d85f3f90fdL,0x79b874cc5a1ca0ebL,
  88362. 0xc177fb6d3a75b3faL,0x45005fcc887cd30eL,0x00000000000000e5L } },
  88363. /* 52 << 217 */
  88364. { { 0x22c042b9ae0ff839L,0x532ee1b07b82dbadL,0x05e95394dd5b19d7L,
  88365. 0xc6702ff7d56b7f6cL,0x55d30e5d0e9b86feL,0x709ba115f1732c78L,
  88366. 0x74a6cd649ac1f9aeL,0xc692aec65f088cabL,0x0000000000000067L },
  88367. { 0xa276f7466deff8f2L,0x36b98e844ee21c9cL,0x862c26e1b552c998L,
  88368. 0xd5a2a5bbbc4fbe00L,0x4919ca8c18fdb4ddL,0x66d9bb81c77b7776L,
  88369. 0x5aacc969d0db6420L,0xd14d5266a5ac63abL,0x000000000000000aL } },
  88370. /* 53 << 217 */
  88371. { { 0xef65a4d01f4c8edeL,0xaa46b120dcb08a38L,0x40f468df7069f2d5L,
  88372. 0xcb4829542bc58171L,0x8be42227c99b25f5L,0xb0f18b7307eb98b7L,
  88373. 0xa1fae0b29b9ec47fL,0x8be5738cb5a371b2L,0x00000000000000bdL },
  88374. { 0x4c571a9fdc6a7103L,0x34ce343edce86822L,0x8d732bf9cc528a1fL,
  88375. 0x4203e1f92a313cdeL,0x3ae79ca7a5626baaL,0x0b552456eaeef625L,
  88376. 0xfa5b3a161b406f85L,0x25b35d73eb95605bL,0x00000000000001d8L } },
  88377. /* 54 << 217 */
  88378. { { 0xa9dfea9c3c7a06c3L,0x529d3a3644d3e30cL,0x7f8d907f76897d3fL,
  88379. 0x309a2182581c26b6L,0x4d29dc6f0c0581fdL,0xcdbc510a7bf06072L,
  88380. 0x9d0cbdf3f55f687cL,0x5a5443e55b0b307dL,0x000000000000019aL },
  88381. { 0x5738cbb543970892L,0x3219a82ae52498eaL,0x00e3f1db9a0b043fL,
  88382. 0x87e704902e29f37dL,0x3bb34b3bd2d0b401L,0x8ca921c189b818faL,
  88383. 0xf122b4d3fa6c6e6dL,0x70098c5f3ea74c79L,0x0000000000000097L } },
  88384. /* 55 << 217 */
  88385. { { 0x4faebb5ed4d176abL,0x793cb9749742e217L,0x42c33d81e013378bL,
  88386. 0x4ac4b7ac800a3d3cL,0x929871ea86ae5230L,0x02e2b5fbd923d457L,
  88387. 0xba95bf17b797df41L,0x4f2509a33651e982L,0x0000000000000117L },
  88388. { 0x1a4e60c5a0afd2c7L,0xe96f14e4d2685919L,0xdf1961fdab7a498dL,
  88389. 0x8692057a65b97a84L,0x4ceaacb1ed5ec892L,0x806aa214f34b0220L,
  88390. 0x285dd9b1501fc893L,0x401b959d0115c368L,0x000000000000002cL } },
  88391. /* 56 << 217 */
  88392. { { 0x17100a613bb93eafL,0x7ccb5bf3d80ac200L,0x585d17b6eab320c3L,
  88393. 0x8d53eff1e7258f8dL,0x9d671ee13f21f78aL,0x76e7ab703dc4ad54L,
  88394. 0x9ef2272419b3ffc7L,0x67b54b1fafd5a3caL,0x0000000000000122L },
  88395. { 0x629dfafb33a86edfL,0x237e33d97e4ae084L,0xe1d102344ca49a1aL,
  88396. 0x768d5901b6e2e180L,0xfebbd9dad2ec4ad3L,0x90ab63eba9e332dcL,
  88397. 0x5e2636c78da3786bL,0xcbabb3fad3f6ff9fL,0x0000000000000190L } },
  88398. /* 57 << 217 */
  88399. { { 0x96c2b30c8b4503bcL,0xef8079b76ea400dcL,0xa8693f0228e1ce2dL,
  88400. 0x3f191b4d2d51f267L,0x32e177ca3361ae9dL,0xbd7d0a66ddfc80a5L,
  88401. 0xdd761eaf25fb8d88L,0xa2e52fd503d4a584L,0x00000000000000f1L },
  88402. { 0x023d3607fda8c4d2L,0x51a0c87a59aac242L,0xcf51d25c4f8a9c42L,
  88403. 0x3a8a96c6aaac8b07L,0xa635ca96feae776bL,0x09f4b77ce5b272d7L,
  88404. 0x1edda904f7a74fccL,0x3baf043648f0578aL,0x0000000000000015L } },
  88405. /* 58 << 217 */
  88406. { { 0xaaa50d58f000e356L,0x0b3193c7016dd924L,0x8fb754d8a0ea14b9L,
  88407. 0xd91c9f3fa50b4c23L,0x10e6d8a82bb95226L,0xca4a37214dd94671L,
  88408. 0xadafc0d9ce05e753L,0x1ed81caf97e6c298L,0x00000000000000e8L },
  88409. { 0x230fcce8d8b0bb47L,0x04b5df73c0f13872L,0x844ee3ee24286c1bL,
  88410. 0xd25336e8292c55b7L,0x49b25059b9fe1d90L,0x88302407130bf270L,
  88411. 0x164ea993ee3efa36L,0xa2967cc81606a7aeL,0x0000000000000063L } },
  88412. /* 59 << 217 */
  88413. { { 0xf3e4e4d3c3c8fb65L,0x51ce545919cbf83fL,0x11a1dc28f47ff417L,
  88414. 0xc47cc26a9408c5fdL,0x8e59575bc25546eaL,0x462f9375aea3d032L,
  88415. 0x9c0a03996f33ed40L,0xedb8b2b6d15ac9d5L,0x00000000000000a6L },
  88416. { 0x50c5c11ffcbc7ad2L,0x3cdaedf0e5d53272L,0x7e5df4def7d3737eL,
  88417. 0xfd4570fe5964b614L,0xf29db31b4d1d0bb0L,0x1927ae724617ec1bL,
  88418. 0x7f3dd228e3f040bbL,0x4b4fa22b6617a2b1L,0x000000000000012fL } },
  88419. /* 60 << 217 */
  88420. { { 0xa71ecbf6370b5ec7L,0x2ed3a5916ae50f0bL,0x5197ab87111470faL,
  88421. 0xaea260dbe30df740L,0xcd7e1f9d02e37578L,0xa3569bfd8bae68d9L,
  88422. 0xea8e96e7c2a89697L,0xb9d1f162f9fcc566L,0x00000000000000f8L },
  88423. { 0x32cd11647ef36ad4L,0x1e58205fe4b08a4fL,0x6e7d004a3dc37cbbL,
  88424. 0xd639b5b527ebbda0L,0xe92db32e2cb36fdbL,0x25ea06757e17bfe7L,
  88425. 0x5f49bd54c8e8cd0cL,0x793d24cfc3e25af2L,0x0000000000000033L } },
  88426. /* 61 << 217 */
  88427. { { 0xe5c1b03d6c5f70c5L,0xc634f61e0bda5d66L,0xf7fa1fb6c3782a1aL,
  88428. 0x9da5e4eb94b3a1ddL,0xab10baef997aad2eL,0x9bfff40e40296f45L,
  88429. 0xa17714fcaf3ca04eL,0x44315b37424f4d32L,0x0000000000000152L },
  88430. { 0x1898f6677a2bb552L,0xf73bf0419fba5d55L,0xa0505207adb92bfdL,
  88431. 0xb5f8949940775fdaL,0x0a4bba547c52106cL,0xb238bff05336edfbL,
  88432. 0x7586b6aeb6c0f11bL,0xf3b1a6d93320ed85L,0x000000000000016cL } },
  88433. /* 62 << 217 */
  88434. { { 0x1ed5330496a2c264L,0x25d19d7be58b1775L,0x87234824d1c26e46L,
  88435. 0x2eb0c2acba0860f7L,0x1ae2194cc81321d8L,0xd45ec0f1fcdf40faL,
  88436. 0xa0953ba97e3d11e6L,0x495a35ac11350bd8L,0x0000000000000184L },
  88437. { 0xbcc2861b80ecf438L,0x859849509750ccb7L,0xbdb997929e1cc8e6L,
  88438. 0xf64a9df281f7c4e1L,0xd1860d60ca400f68L,0x9782a95d5e2b500eL,
  88439. 0xa3af2257d6320c6bL,0xd0a1666d0488032eL,0x00000000000001f1L } },
  88440. /* 63 << 217 */
  88441. { { 0x69a468fdb7a36758L,0x297d8dd0da785f23L,0x66c8518c215c8620L,
  88442. 0x2b420fdb7e84feb7L,0xaef8a39b26a3e7afL,0x81979bfa23484aabL,
  88443. 0x5b9c8bf22d0d13d8L,0x1dcbdb5fa6ac2309L,0x0000000000000132L },
  88444. { 0xa9c831fa65bc4bffL,0xbd8b10387d5f077cL,0x361b762378a3206eL,
  88445. 0xbeec611b4724ba57L,0x423f56177b690d52L,0xbc6dcd6aeaa09b15L,
  88446. 0xf0b60ebf7d9c160bL,0x1c3af39c6918b37eL,0x0000000000000110L } },
  88447. /* 64 << 217 */
  88448. { { 0xcf8e03c512a09898L,0x2090118438287af8L,0x8fd47e85371620a2L,
  88449. 0x5a2b2ec87f16350aL,0x45841b1c608c7488L,0x627c632e01739426L,
  88450. 0x3cb05aa78f8e8224L,0xbe277fd79b643a85L,0x00000000000001feL },
  88451. { 0x950843e61538cb4dL,0xe88383994f7ae0e6L,0x6b90ac85d2e1d225L,
  88452. 0x78c211321e5361b4L,0xce09f24034b950ffL,0x3884016974b71400L,
  88453. 0x58ae40a665e2bbafL,0x5d370978c823b954L,0x000000000000017cL } },
  88454. /* 0 << 224 */
  88455. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  88456. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  88457. /* 1 << 224 */
  88458. { { 0x7ddf47051733b3c3L,0x7c7878a3f4a25d85L,0x4d86f57c29ad09a6L,
  88459. 0xa97d4ab6b26d5c69L,0x71cc925004b07913L,0x08a84131b4c0b7b2L,
  88460. 0x388fc8aa5119f83eL,0x23a3bd0b6bfda0cbL,0x000000000000007eL },
  88461. { 0xdfc7c8448e549373L,0x439dc785b52ad215L,0x9e157e18fb9de6dcL,
  88462. 0x9283c3318793d562L,0x79f9ec9033ddc16cL,0xed0dbb7fceff5086L,
  88463. 0xfa4668078765145eL,0xba9411a9a3b387b7L,0x0000000000000176L } },
  88464. /* 2 << 224 */
  88465. { { 0x319885d110e10587L,0x2da8979a609853a4L,0xfe907fe389b08ef5L,
  88466. 0xa3a338a61a97d9dcL,0xa5ad1a9ad7e3fb92L,0x77a3bfc07a0136e3L,
  88467. 0x99634588aa6ed29aL,0x41f148beef4787b6L,0x00000000000000dcL },
  88468. { 0xb8671195ebf698bdL,0x323b6965e2974ee2L,0x1411c67084c20702L,
  88469. 0x840b396eba4bc1edL,0xd857a525eecff9a6L,0x0afad4f4d2d6829bL,
  88470. 0x84ef6315bf6ce02cL,0xc38fe857ccc6b333L,0x000000000000001bL } },
  88471. /* 3 << 224 */
  88472. { { 0x2d9ba7e36f07eef9L,0x46ef4ce6eb692362L,0xa869ee262fa2cdc9L,
  88473. 0x5b7d3a81642a2378L,0xc024410ad4d6bcd4L,0x88cc0f7121ceafefL,
  88474. 0xeee011ebe04af152L,0x9cf87d1d7829107fL,0x000000000000002eL },
  88475. { 0x49260571e07147b1L,0x632583460ca0c303L,0xf1cda5ae6602e056L,
  88476. 0x418b618681a45861L,0xcbf17fcdd1921fa5L,0x355e5d1ae07a08f1L,
  88477. 0x3f4f5bb0a26b6b2fL,0x898ca884ade69b50L,0x000000000000008fL } },
  88478. /* 4 << 224 */
  88479. { { 0x1a00fc111c417fadL,0x8816dd0b3fba7366L,0xb3a5499232c0e5a9L,
  88480. 0xb6a634789ec0fa14L,0x880b10b8a8d8615eL,0xe3635bb83abbe5fbL,
  88481. 0x62a209f64de9be52L,0xac41cce182b76cf9L,0x00000000000001c5L },
  88482. { 0x287c7bc77dd1e73fL,0x072bb2ac1f8c7d2cL,0x399011fb3af5565cL,
  88483. 0x787b94845e2a7e13L,0x5858c3df5761ae9cL,0xf0f831ae6d2875daL,
  88484. 0xd5f5bf2dae9c82f1L,0x191b45fbb247a36eL,0x00000000000001ddL } },
  88485. /* 5 << 224 */
  88486. { { 0x1d2d4ab0fe772021L,0xd6e75054041053d5L,0xdb480d2e5705d868L,
  88487. 0xf68a09f76aa63e89L,0x0bcf4c31379a4d0cL,0xcbc0c737b681873cL,
  88488. 0xdb6931a6b886d407L,0x0fbaa44bf84e033dL,0x0000000000000056L },
  88489. { 0x5339b4f34f90a0fcL,0x2743f6818ebc0b28L,0x37567e5bf7db2715L,
  88490. 0xf339c91aa5b1053aL,0xde65f7188125ebfbL,0x32f7c06d6bf4ed15L,
  88491. 0x8071d1aa40353dcfL,0xb8fdddd93c994068L,0x0000000000000198L } },
  88492. /* 6 << 224 */
  88493. { { 0x1c081356b6965640L,0x7a01b38990c7a0f0L,0xf72fdba4874007eeL,
  88494. 0x6bd85d94dcddefa2L,0x80fbde7e48db2fa6L,0x60b2be1c4a319dadL,
  88495. 0x996217fbee51fb71L,0x85f1b13be0edb983L,0x000000000000012bL },
  88496. { 0xdf53aa14ecfb1d0dL,0xdd77fc37760a217cL,0x659bf31e99b56fbdL,
  88497. 0xd0f042ebaca3e106L,0x50c215ba1f907ea8L,0xc6bb892ca4ef5f48L,
  88498. 0xc3beb73bfeb86870L,0x04b740bd4123f812L,0x000000000000007cL } },
  88499. /* 7 << 224 */
  88500. { { 0xd50c9fcf6016e8f8L,0x27f12c32b8c12f9aL,0x2e13fd2b08e0e13cL,
  88501. 0xe48a1bce89e659efL,0x1bbe7f01f62a49d6L,0x87e0ca4fd417e497L,
  88502. 0x1cf55a48364ee9cfL,0xf4fbc7eaf66635a7L,0x00000000000001a6L },
  88503. { 0xbe3e55113eb12a0bL,0xaffcad4b462ebdcdL,0xf6f097ace8f4d182L,
  88504. 0xdb1fe0f2404a92feL,0x9e2a51594fc084ebL,0x6acd3a8e7af882b2L,
  88505. 0x17654a579602fc6bL,0x1307d12271de39cfL,0x00000000000000deL } },
  88506. /* 8 << 224 */
  88507. { { 0x470bfdd42540e5c8L,0xc2c849a1057592ecL,0xd8f4b30d2f886637L,
  88508. 0xce56d15025ba43e0L,0xcaca4a05f200d2fbL,0x38fdfb3595d80545L,
  88509. 0xe274649f22418951L,0x155badb2cb7437beL,0x00000000000000a4L },
  88510. { 0x09195792c828a666L,0x3ceaf45353f59336L,0x3982e19643850a1dL,
  88511. 0x02f8077df2d2afbdL,0x83197e1e6a6946faL,0xf158b0b4c4ffad53L,
  88512. 0x12559573853b51daL,0x8838409e8d35c9deL,0x000000000000019cL } },
  88513. /* 9 << 224 */
  88514. { { 0xa844a48f37315ba1L,0x2db10df96f401d40L,0xb092031359508b56L,
  88515. 0x4ccd40a51df7356bL,0xf6e6de667cba0994L,0x8d052d22aff1e407L,
  88516. 0x6579f0aee1ad5185L,0x02a2654c2fe56ff9L,0x0000000000000107L },
  88517. { 0xfbe7245fc52e3a9aL,0x5cf1f315767802eaL,0xd1bc98865cfa064bL,
  88518. 0x6fe2e272218c2d74L,0xfbc0f239e105d3c2L,0xe93040f86c2d5d8dL,
  88519. 0x3564207844f0c1ddL,0x526cafb534a20e65L,0x000000000000007bL } },
  88520. /* 10 << 224 */
  88521. { { 0xa403b2cd3e0bf039L,0x1f331cd769ae1607L,0x5808812d9341e113L,
  88522. 0x3bdc37f4acaef9c4L,0xeef79000a056ccf7L,0x6e36e89079f26a8eL,
  88523. 0x225a7216a5a165ffL,0xb0f49eea4a8d4e72L,0x00000000000000c7L },
  88524. { 0x7df03cd678eaf6ebL,0x4e96fcfc7a3ef5e3L,0xb4578857fd3bfa43L,
  88525. 0xaf079521906c3961L,0xa8e06dea1227fc18L,0xf0f06e6808be24bbL,
  88526. 0x0af15713b84b3fa1L,0x6bb9ba45d30f7aacL,0x0000000000000111L } },
  88527. /* 11 << 224 */
  88528. { { 0x7055735e2734bc7cL,0xdbbb0d7f2015daffL,0xde7f735ad048c6f7L,
  88529. 0x1401c4fe3d025035L,0x3017088af09b1518L,0x53beaa128c919403L,
  88530. 0xe623ff8d6e6f4894L,0x1622621fa6c45b25L,0x00000000000001a6L },
  88531. { 0x3aacbd8120e1fd32L,0x21963a49f0c52d67L,0xb521f29dda79f988L,
  88532. 0x5ca6538ab632a340L,0xfeccb403a1c38793L,0x800a81e46c1993a7L,
  88533. 0xbfe7989e08775f1fL,0xa7c0bb935f6056cbL,0x000000000000007bL } },
  88534. /* 12 << 224 */
  88535. { { 0xba1f3d04e155a234L,0x83285cb7a2f5d3afL,0x120231908196da46L,
  88536. 0xc05f48389399a9b8L,0xe1604051a097e0c1L,0x3c48963b8f3cb46aL,
  88537. 0x7ee7debebc20857aL,0x74c375ed8ef449ddL,0x0000000000000148L },
  88538. { 0x6086f7e549a22d3bL,0xcf65faa71ff513f7L,0xe5f24ae161c6db58L,
  88539. 0x085cdc7708664d9aL,0x8e2385ab1df20e4cL,0x58910a818006cd4aL,
  88540. 0x1858bc67c143e34cL,0xf88a9ca118f7d8ebL,0x000000000000000bL } },
  88541. /* 13 << 224 */
  88542. { { 0xac6ed780d8dc7694L,0x1517db0f7f0ce3c9L,0x14e574efe2724276L,
  88543. 0x06bf1c0ad420a1b9L,0x092fcdc0ecb5bb09L,0x00b1952db3c22e3fL,
  88544. 0x8486050d66dfef5cL,0x4162baf5b4aa2363L,0x0000000000000035L },
  88545. { 0x5f188ef1ccd62e93L,0x357224c0a78fc426L,0x6a38a6a0f311d595L,
  88546. 0x632d3b1d9363d024L,0xda7edb5aefd29098L,0x1ae7e00046198910L,
  88547. 0xd299ea6c8637f141L,0xa33a21d96dce1f27L,0x0000000000000191L } },
  88548. /* 14 << 224 */
  88549. { { 0x33b557a9edcbf5e2L,0x8d42c77f4fb31e95L,0x3f006dce258e5a7eL,
  88550. 0x07ab56329dc0f10dL,0x6a79f1d388012825L,0xbbc9f71d997f67e9L,
  88551. 0x733aee4fb0484d0cL,0x0d7d26af06b23588L,0x000000000000007eL },
  88552. { 0xae584763447d2b4bL,0xe3c380900abe0533L,0x19dc9a0946a66debL,
  88553. 0xc5e21596f7351889L,0x67efb3732e9062b0L,0x38c539278def3d27L,
  88554. 0x8f2afe546ec1f561L,0xa80f0c62159002baL,0x000000000000007aL } },
  88555. /* 15 << 224 */
  88556. { { 0x0574b1c11fe4b65fL,0x564bc4eb99fc3470L,0x040cf7e88ad913eaL,
  88557. 0x72f64fde21e6dc7aL,0xf061a2f945e43f1eL,0xb30d7ace4cf73cd7L,
  88558. 0x4e67338fed5303f8L,0xd1ca92f827fb18b4L,0x0000000000000123L },
  88559. { 0xec92ff11b2ff61b9L,0xa1196425dd3bd645L,0xeab1a0b3ffc4a720L,
  88560. 0xbb01e20dcde12819L,0x222fca782f6f9062L,0x5343239fbf735e40L,
  88561. 0x8e4c78ee7a1efa11L,0xbb68361cacee5111L,0x000000000000009bL } },
  88562. /* 16 << 224 */
  88563. { { 0xbce0f1074175e7e0L,0x51ac63d71965464dL,0x429f6b9f52aaa9ebL,
  88564. 0x6ed3c53b2a1846d7L,0xfa87d5876dcda98aL,0x9858c801c72d6d0aL,
  88565. 0x94a5bcf367681451L,0xb7c46ecdd3de0285L,0x0000000000000183L },
  88566. { 0xfd301b76d2dfd89cL,0xac9c2b0d0f38e6c1L,0xcf9d3acf2da8e6d4L,
  88567. 0x99db13dceb9024c5L,0x4ebfc5ba9ee659a9L,0xbded80949b2fa547L,
  88568. 0xfcf035f9c08d98c5L,0xb50dd13656b8b217L,0x000000000000014dL } },
  88569. /* 17 << 224 */
  88570. { { 0xbd6785f67bfbd788L,0xf5b0998e64b74e2aL,0xb9807c2339968512L,
  88571. 0x7de81d72cbb6513fL,0xca27798033ef0d45L,0x09ea26e95b9b19d8L,
  88572. 0xbf8414db4390e170L,0xef1287bc2e6a7e43L,0x00000000000000c3L },
  88573. { 0xd10112737f0c5ef6L,0x47393f003fc452dcL,0xb193a4a17f51c291L,
  88574. 0x7d0ffe318cbc8483L,0x330d79be90e56adaL,0xb913a2e9c8c6c717L,
  88575. 0x3c5e0d0c3f227508L,0xf57d2ea48a43f045L,0x00000000000001f7L } },
  88576. /* 18 << 224 */
  88577. { { 0x00b8eebbbd959bd9L,0xc5406f8e65f420cdL,0x6a60db3f063154c5L,
  88578. 0x5d36e596311dbdeaL,0xa2bd49a842a485e7L,0x661fe033dd24a2ecL,
  88579. 0x00d78bfb695ba009L,0xfcc1198129afe784L,0x00000000000001afL },
  88580. { 0xf30ad5348384e611L,0x46f55e5266df249dL,0x5cb69969ee339313L,
  88581. 0x266a39971707af6dL,0x58d83aaf3a65d217L,0x46289bda29bc352bL,
  88582. 0x13a780b3a7375993L,0xc694ec0434a72490L,0x00000000000001d0L } },
  88583. /* 19 << 224 */
  88584. { { 0xf54fce2fa396f979L,0x69dd3e5e44540d2dL,0x4bdf033a2929586cL,
  88585. 0x055090d894086923L,0xda62e5374c8595c6L,0x8a9e1def4d489859L,
  88586. 0x84a3f9502ac811faL,0xe6753ec71733f749L,0x000000000000011bL },
  88587. { 0x1d3b67d036f97445L,0x6f154f990f2533b4L,0x69493d6eb0e8573aL,
  88588. 0x4ca3dad5b8f6d7acL,0xd3ec695236a717e5L,0xd8c719b7e78bfc25L,
  88589. 0xf4746d3e069fc4b0L,0x8d967a3a6486c44dL,0x00000000000000e9L } },
  88590. /* 20 << 224 */
  88591. { { 0x7d8f48632cfeec8dL,0x9974152a814a01dbL,0xddc0bc6cc92694faL,
  88592. 0x4e7bff595e2b5689L,0xbaa96e1a812f16fcL,0x800462f4f6585b6aL,
  88593. 0xbd8c7d984cf44364L,0xe49ad28a84fa6863L,0x00000000000000d3L },
  88594. { 0x417df8bca87cb33dL,0x4fccdc1bdcf62845L,0x8784400a576b1235L,
  88595. 0x708f13ce2676a8a3L,0xa7534d0dfdc376c9L,0xbdcc20da643f1159L,
  88596. 0xc0f21e2e86b8fbe7L,0x632c15d52f0326c9L,0x00000000000000a6L } },
  88597. /* 21 << 224 */
  88598. { { 0x68fdb156f0af9d3bL,0x5f53c821be3429a8L,0xf37ba120798adc16L,
  88599. 0x13793b18980624a3L,0x5f6297ab421c8a0aL,0xd429fe05b9a9bd9fL,
  88600. 0x80b7d860ff3a84abL,0x10ecc26a3e1769e6L,0x0000000000000020L },
  88601. { 0x0a1afce2c04cbbd5L,0x9b6b5b9cdb6c081eL,0x5759236d62cada78L,
  88602. 0xce57613aedc49bd7L,0xf66a9105f4df2865L,0x738e3e09768d556eL,
  88603. 0x4ea024b2487b98d6L,0x69f02ea84e9bb27dL,0x0000000000000078L } },
  88604. /* 22 << 224 */
  88605. { { 0x8499723aa10fbd04L,0x638fdf9d1d392e78L,0x7befbecbdf12c367L,
  88606. 0x522a5d26db60f06dL,0xce23f73fe6ce2fc3L,0x42f4ea36b20e9b7bL,
  88607. 0xcaf5a320e0401d85L,0xdf4bf7a79938d740L,0x0000000000000131L },
  88608. { 0xfc8a14c7b9493be8L,0x2e89cef551148e47L,0xea3375758b804aadL,
  88609. 0xce58b786362d9aaaL,0x0f3cdaec13bc5120L,0x1e773c0d49f1afd7L,
  88610. 0xe9127a8b4ef25b4aL,0xe6d30caf29f670bdL,0x00000000000001c6L } },
  88611. /* 23 << 224 */
  88612. { { 0xbd401bcae131ef57L,0xbbe597a154c52236L,0x6d1c702efcd7d43bL,
  88613. 0x0eb0316d8a359106L,0x143b98b6ac6374afL,0xb2578bfac4a2b559L,
  88614. 0xa210d0c1bd53053eL,0x5fcb9211c1779f63L,0x00000000000000f6L },
  88615. { 0x5f83788c000e35a2L,0xd00c38172eeb99d2L,0xa565d239c63ff60eL,
  88616. 0x147f29dcd0d4caa8L,0xf8b63389115dbd52L,0x2dcb407f6856405dL,
  88617. 0xb1bd3bb6469671d9L,0x4468b9a148cac2d5L,0x0000000000000013L } },
  88618. /* 24 << 224 */
  88619. { { 0x2db0707f8144a351L,0x0885661375ca2dd2L,0x7a5052e1db5369b9L,
  88620. 0x0ee205ccd81351b7L,0x17352e8de1a0c288L,0xbb36a1cf89c9cc19L,
  88621. 0x5797a9b2768d2d2dL,0x2736a45cd28ca1e5L,0x0000000000000118L },
  88622. { 0x0c9e5469931503b9L,0x2c0487af3d942235L,0xb71d495e95ae408dL,
  88623. 0xb5c2e5d1a853a205L,0x09747539585803b3L,0xc703600a44cf93eeL,
  88624. 0xa0a16aed1904461dL,0xfb5c6e6ab0333ff2L,0x0000000000000119L } },
  88625. /* 25 << 224 */
  88626. { { 0xc4c7b8c62b36290bL,0xe2fb417d81e58d27L,0x086f3d384750dfe7L,
  88627. 0x8359ab7548c6d58eL,0x7b78687a094386f2L,0xcb1d4021a140ec3bL,
  88628. 0x52a8d9962d7dbaa3L,0xc7552a9b8facccf9L,0x0000000000000182L },
  88629. { 0xfc3ce1ff88706b52L,0x5cfb2c61ee0aa036L,0x3c52b2c9b87e28faL,
  88630. 0x01ceb01f22eb006dL,0xb0fd7d823174e206L,0x190d8131ade8d5d2L,
  88631. 0x1d195d6ac3f7f087L,0xdbfae9d2eb09decdL,0x0000000000000134L } },
  88632. /* 26 << 224 */
  88633. { { 0x9b21b0eb2daa2fb7L,0x62506bd10665aaf4L,0xfbdb475b82e9704eL,
  88634. 0x4088093f50b1377eL,0x5397eea199707c61L,0xd3356b6e75fd8b3dL,
  88635. 0x561c380705fe8914L,0xd0304825f77342d0L,0x00000000000001b8L },
  88636. { 0x7daa92433fdaa949L,0x12f461af51ea7441L,0x56c37d995a63573fL,
  88637. 0x5d6c77c84a7025e9L,0xd2f2be05817b31a0L,0xc3b01b281f472be6L,
  88638. 0xa9bf6a9f861524ccL,0x1dc74be29f0ca5b6L,0x000000000000002fL } },
  88639. /* 27 << 224 */
  88640. { { 0xdf2687a38ee78e5bL,0x5ca01f45dd1c0e1cL,0xf2bb5db54161d203L,
  88641. 0xabe1d9781258d82dL,0x9ed61dc1371f1fc3L,0xb5882d2e8ebcd9bdL,
  88642. 0x62d2a79ea86df9f4L,0x925a80af6c50a563L,0x00000000000001b8L },
  88643. { 0x472e8479a891d8f3L,0x47741910543b0678L,0xa1df2d293d53f8d9L,
  88644. 0xde28fb0e30acb4b1L,0x9683ff8d5d4e1f2aL,0xeb74a8044ae8a13eL,
  88645. 0x727434e967e736d4L,0x514af3dc0db30c54L,0x000000000000010dL } },
  88646. /* 28 << 224 */
  88647. { { 0x8b883f22fd5b9cfeL,0xebc175f592656667L,0xbe995418d9c86f02L,
  88648. 0x9dee3ec51ed7a5adL,0xe9c7b177a10117b1L,0xae7ead0547724e37L,
  88649. 0x4baba8316fefa7e4L,0xb496a2d1d7727641L,0x000000000000013eL },
  88650. { 0xed31fca226014cc5L,0x3b36d6148a223091L,0x32ac1f7b521e4fcdL,
  88651. 0xcc7348015ad644d7L,0xf60d0ae0931450aeL,0x1db3acecd993d7c7L,
  88652. 0x0f3e95427a9cbf22L,0x7c688fba58fede8aL,0x000000000000005bL } },
  88653. /* 29 << 224 */
  88654. { { 0x53259e5950ef71baL,0x1dfc6bec47c25dcdL,0xfbd8d5c47087cf41L,
  88655. 0x5a5ecfd10249e9e4L,0x2c6af4a91ea582fdL,0xd01b1f80cc54d09bL,
  88656. 0x9cfa9960500567ffL,0x7c744e9348b2e9d5L,0x000000000000004cL },
  88657. { 0x5c596099783f1792L,0x7e2b1d15d0f14bddL,0xcc195fedecad2e07L,
  88658. 0x324953104117835cL,0x8eb7128ca206aabcL,0x0b9d40cd4873c84cL,
  88659. 0x4ffb71b40648225eL,0xe7ef4f33a4139697L,0x0000000000000081L } },
  88660. /* 30 << 224 */
  88661. { { 0xf6171f9bdc8d6167L,0x1bef4c1bdcdaca1eL,0x069ea1943224f5b9L,
  88662. 0x16e603adae98eedaL,0x1c2551a03527f99bL,0x677bfceef3324cf7L,
  88663. 0x89739e2afaa65d81L,0x7c63f321ee01a2a8L,0x0000000000000083L },
  88664. { 0xfca4b775684bf04eL,0x12b2accc10aacf28L,0x60eb59796f5b70daL,
  88665. 0x0973753341ad9c9aL,0xcbfd801c2698b98dL,0x6915f2608eece898L,
  88666. 0x932c7de6e88b02bbL,0xb183858db0f499f9L,0x00000000000001daL } },
  88667. /* 31 << 224 */
  88668. { { 0x9a4db1714ada6df2L,0x113d6ca8a6503065L,0xfe1ce2a393f30e86L,
  88669. 0x0ec4df0f5b883187L,0x2ba9f9377b6de31bL,0x6319ca2907d3cc32L,
  88670. 0xadf2d42c0de3d0c8L,0x1cf47cbc8b60ebcbL,0x00000000000000f3L },
  88671. { 0x9737b3155a5c472bL,0x405097d38f44ac04L,0x11d7b5e098060980L,
  88672. 0x1031d3a49c649638L,0x851dd24036cc36a2L,0x72174467106c19e7L,
  88673. 0x0689ee3ef1ab03b9L,0xab05c26f83c47bfbL,0x000000000000002eL } },
  88674. /* 32 << 224 */
  88675. { { 0xa198d04b1b9ed16aL,0x2244536251340438L,0x77078e91251deca8L,
  88676. 0x1d7b7be1be67e98eL,0x106648be2cc726d4L,0x79dd8d7bf5877e13L,
  88677. 0x42bbd30e37993843L,0xe768f54dca7796c9L,0x0000000000000078L },
  88678. { 0x91c5e19d1acdf2fdL,0x0a2eff89e93c20d4L,0x6a84e609ce41ac1aL,
  88679. 0x186ab6e8df08373cL,0x44c2aef6f6f9abc1L,0x9c7070b0dd735102L,
  88680. 0x0e58b51807643871L,0xbc9f2e800b15d805L,0x00000000000001ecL } },
  88681. /* 33 << 224 */
  88682. { { 0x2cd086126ac3eebeL,0xe2163c355db014f3L,0xcc0834dc214e34deL,
  88683. 0x67d2cc1775ee3864L,0x804612d5c4b02021L,0xa11ef6c76c805b05L,
  88684. 0x898fc69d371dfecfL,0x8e977d1ba62b7df8L,0x00000000000000d9L },
  88685. { 0x037816ccb8e7e3c7L,0x2bc7a1eb52cd66b8L,0xf12d63ac37ef823eL,
  88686. 0x42f8b36b29442388L,0x5b1d0dd6caa4d841L,0x21e213cd81986c48L,
  88687. 0x492df17ff19ef6e3L,0x8a08cec5a5bac400L,0x0000000000000033L } },
  88688. /* 34 << 224 */
  88689. { { 0x49d545a21757c756L,0x8610764d3c78c7fdL,0x888363b0285ce4b1L,
  88690. 0x6afe14c4d52e0e81L,0x612a58397177ffe0L,0x05a4bea49679b41dL,
  88691. 0x121bb1c14c519b94L,0x844a95ddf521675cL,0x00000000000000d7L },
  88692. { 0xc6045c5c7288cf7bL,0x79319df2da1016c6L,0x67ef5845055e3ea0L,
  88693. 0x91e7ead7bee71541L,0x285c08d78843f3afL,0xa90f3a94c2089d1fL,
  88694. 0x3d0e6d1caa37b132L,0x2f18d93b62fb149bL,0x0000000000000013L } },
  88695. /* 35 << 224 */
  88696. { { 0x9287f41090921a21L,0x0cb3476c2f63ade5L,0x87eea82b66e3e879L,
  88697. 0xb3c50d698eaa88f3L,0xe5b64f705624741fL,0x6fcac6de5e6a215eL,
  88698. 0xe786b1dd66acd6caL,0x9e478411a5244800L,0x000000000000009cL },
  88699. { 0xf784aa4fa84c388dL,0x801593a26cdc8009L,0xadc07673ff1109a6L,
  88700. 0x708a579d42678ae7L,0x2d246455e0d1dc79L,0x42f5c10a232c0027L,
  88701. 0xd7adecb1785590d3L,0xeb58cecf139cf371L,0x0000000000000061L } },
  88702. /* 36 << 224 */
  88703. { { 0x5f0ef75a63dbd14fL,0x70883cf607b91b63L,0x2a1a32252f16a270L,
  88704. 0x4d2ea66709740ebdL,0x50d5f3687e12f70dL,0x94442fbf06eda6c6L,
  88705. 0xff1df80648f80934L,0xb5b52dadc7599220L,0x00000000000000e1L },
  88706. { 0x307f5ffafef02d74L,0x980fc52d49e703feL,0xa1006542c0eb1a94L,
  88707. 0x2748d7af25476aa3L,0xcf9eda78370f6f57L,0x56c8f00f6ec2b826L,
  88708. 0xc61b847a72375d88L,0xb0833b255e744eb8L,0x00000000000001c2L } },
  88709. /* 37 << 224 */
  88710. { { 0x78124c4f967e4b4eL,0x7ed9ab8d15a66ffdL,0x26af569efc3a3f52L,
  88711. 0x0286ff20425d38d8L,0xfec9b67f51e9e240L,0x6d8a01c657256933L,
  88712. 0xfc8f705ad2ca6b4fL,0xac3d7833da28a9d3L,0x000000000000008aL },
  88713. { 0xc4371b8ea0924274L,0xe543f30a55a72435L,0x03405ef6afa7c869L,
  88714. 0xa44ce2098226a4b6L,0xc0aac941a0f9fc88L,0x3fd69258a497b61bL,
  88715. 0xd431b511f80688b3L,0x664b77780a42eda0L,0x000000000000009dL } },
  88716. /* 38 << 224 */
  88717. { { 0xb9d84fc9d0cf69e7L,0x98f1940ea8e34a97L,0xe4bffa94dfc118ddL,
  88718. 0x1849a3edfc66b9fcL,0x623db3947287a7dcL,0xde0d7d087019e9ecL,
  88719. 0x2331aabf80aa347bL,0x44a365b11b999a3aL,0x000000000000010fL },
  88720. { 0x198f73ac92ae7427L,0xf62dc73002e04aecL,0x0506c93d3088101fL,
  88721. 0x945ac732184edd51L,0x57f825fdaf7c6201L,0xeda00ab31c31f295L,
  88722. 0xeda9d910f425b2e6L,0xa360259c7cdd8528L,0x0000000000000040L } },
  88723. /* 39 << 224 */
  88724. { { 0x7f0b99ba527dce55L,0x34b0ebfe5507d70eL,0x17cf8c47887de484L,
  88725. 0x24a47965c1e5db40L,0x7d00b4a73f930257L,0xb294ecc224daec20L,
  88726. 0xe8b20a6d4dcf26d0L,0x3214127cf13fd50cL,0x000000000000015eL },
  88727. { 0x8cc788b35eb3732fL,0xfd1ae000133d4b75L,0xf9bce1bc69223ceaL,
  88728. 0xdb5a3d114511bb55L,0x39a956cd174c7629L,0x8b986a5b97c29420L,
  88729. 0xa2a1eb4b38c80915L,0xa61c0e9f0cbb3c1eL,0x000000000000009dL } },
  88730. /* 40 << 224 */
  88731. { { 0x225c059ed015590aL,0xe49bada67483540fL,0x2318feb81b31b7a6L,
  88732. 0x2f21ceebe675c20eL,0x3120aaf01c4da767L,0x96ab6834faf8f96aL,
  88733. 0x3d4658ec30ea971bL,0xd1ea8938bf6a4e03L,0x00000000000001acL },
  88734. { 0xfd222beee78e187fL,0x56be63dab3c6322bL,0x8d1df732b9be02d7L,
  88735. 0xa3df259fc2738beaL,0xafba1c5a5132fe56L,0x3fa503e9e7b27139L,
  88736. 0xa27ca7549faf45eeL,0xbfd0a46e69c674caL,0x00000000000001fdL } },
  88737. /* 41 << 224 */
  88738. { { 0xe4addb8a7c626af5L,0x95410e92784c28c3L,0x46cf5d1e41cc58ecL,
  88739. 0x84ef22e1ed080326L,0xd2a89dd536622acdL,0xbbce8e6ab278d4ffL,
  88740. 0x7e82c968ef05bffcL,0x529507651613c4e7L,0x0000000000000191L },
  88741. { 0x66b1666ebbbb1311L,0x6e7c4d8967c415b7L,0x349f95b4f99b5985L,
  88742. 0x1570e3124410e7e1L,0xd580b98a20a06e99L,0x6d57fcf02719178cL,
  88743. 0x33adb81f803d3d62L,0x00289e3d44e383ffL,0x000000000000014cL } },
  88744. /* 42 << 224 */
  88745. { { 0x4c6047e27f3de4d2L,0x52a7f1291f69a829L,0xad9795a543bd0bc3L,
  88746. 0x5c71a352ab36a628L,0xb208e87f6fe6bd16L,0x8b2cd1443b7ddcaeL,
  88747. 0xec7432bb74041659L,0xfb284cccef17cb28L,0x0000000000000032L },
  88748. { 0x046dc83e96a2607fL,0x8134edca02e02d8dL,0xacdfc4551b88ca47L,
  88749. 0xd0074a612695bb9aL,0x11987bd8c3074bc3L,0x5438070061264550L,
  88750. 0x00b82a987a57f0b8L,0x66c456c5454b48d6L,0x0000000000000168L } },
  88751. /* 43 << 224 */
  88752. { { 0x900944e57151aea8L,0xdbad74a8f5bff8a2L,0x1eafcf55286f204bL,
  88753. 0x82458315f3dc6626L,0xd4007ce5a7714adcL,0xf73b313fb5ba570bL,
  88754. 0x044331b1151fb782L,0x45880fd4a6e31445L,0x0000000000000167L },
  88755. { 0x42f4af3c14b5e10eL,0x8b5d030c99a6683cL,0x79e437bc5e5633aeL,
  88756. 0x2d81f1998b1a40ccL,0xcddd50cbdacea56aL,0x8211a78b39d40f43L,
  88757. 0x5191c58618becac1L,0x749d45b75e116bf3L,0x000000000000006aL } },
  88758. /* 44 << 224 */
  88759. { { 0x6b40cb65a890ca97L,0xd7c6159338fc3078L,0xc78089f208c33a15L,
  88760. 0x43e1b721021432bcL,0xc865bd2ccbef3f81L,0xbbcbee060108433eL,
  88761. 0x336daf037cbe3b8eL,0xa10111577168018cL,0x000000000000007dL },
  88762. { 0x267f0241c0b153a9L,0xfc22a8b8984c2ad8L,0x6906a223572e597aL,
  88763. 0xd964050675f9a034L,0xc9187173533e0c25L,0xd8b9f9f87c94582dL,
  88764. 0x66fbb9c58980b28bL,0xf8446492c9daecc8L,0x0000000000000098L } },
  88765. /* 45 << 224 */
  88766. { { 0x2d9ea0622878a241L,0x46de4cda5368642aL,0x4fa9ad358a5243abL,
  88767. 0x5ca45b8ff67260e4L,0x50a702ff0b4f3d28L,0x0f7f2095dd1fce0eL,
  88768. 0xe417061dba620770L,0x86cae35273b13911L,0x000000000000002dL },
  88769. { 0x8ab3ae4b76e1fc5aL,0x06f704572033cefaL,0xa5bff96c08db98caL,
  88770. 0xff04cbaf958d6e43L,0x43eefc8fe3c74fa8L,0x76185b498db92137L,
  88771. 0x920ee668bd3c9f38L,0xe1f4f3f2758c856bL,0x00000000000001f8L } },
  88772. /* 46 << 224 */
  88773. { { 0x0f97a466381dc2a6L,0x3113353553f904e9L,0x69dfb20035d8fd47L,
  88774. 0x6cfcbaffbdee4042L,0x54a55759ff2c161aL,0xadb79909f50226fcL,
  88775. 0xf13ec08be24595a7L,0x39d14bf39ab2b842L,0x0000000000000127L },
  88776. { 0x87045804e123ba29L,0x795dc65abe8c6f6fL,0xbc7dda3badade7d8L,
  88777. 0x9f5dae17f9cb4dcdL,0xf1289fa8b261a79cL,0x9e5958fc2330157cL,
  88778. 0x20d13331d798dd7cL,0xadd88400a218259dL,0x0000000000000065L } },
  88779. /* 47 << 224 */
  88780. { { 0xd7059bcbd7a1a42cL,0xcb29b62ddd63d4acL,0x2ddfe66885e05419L,
  88781. 0x78011be6b23f63caL,0x40eb7f025dfc1c3aL,0xea4802d856a4fd4cL,
  88782. 0xb4ec884c80924d5cL,0xd095d9a909fbfe59L,0x0000000000000115L },
  88783. { 0x4b5bb25c529993bdL,0x2be02abeb9b7521cL,0x8c0176b7641b7babL,
  88784. 0xf479474a9c6a564aL,0x6dfc0b64f26968abL,0xab5dfefcd5ea697dL,
  88785. 0x6f077f0cc6b8cfc0L,0x67e7275df6bfcd48L,0x00000000000001acL } },
  88786. /* 48 << 224 */
  88787. { { 0xe83dfbfb6987a9bcL,0x311372dfe03b29b7L,0x1b88ad50f4176bdcL,
  88788. 0x5771946f37733cf5L,0x4a020165d5c0cd18L,0xb8e35a40c7603086L,
  88789. 0x3d06b8d0db55f57eL,0x9cdb00cab17b440aL,0x00000000000000fbL },
  88790. { 0x840ec34134bd8619L,0x40b0c10700ab86c3L,0xf478205885c69c9fL,
  88791. 0x22e8d92e10d63734L,0x5b8e637420a53cdfL,0xe80c3d14fec8a052L,
  88792. 0xb9c0834eede62895L,0xb2ae0eb3de2ef959L,0x00000000000001aaL } },
  88793. /* 49 << 224 */
  88794. { { 0x61c9a15ff1779177L,0xf9aa8a6cc76f1327L,0x913619829bedde20L,
  88795. 0x2649f43e26525601L,0x411daf56f5d6018bL,0xaa5c02480e72e330L,
  88796. 0x5d4c0d86d07c778dL,0xf6219f689575ab53L,0x00000000000000d2L },
  88797. { 0x3b3e3119f9e2f91bL,0x842508feb3dd20abL,0x1715d9be576222d8L,
  88798. 0x47805f30e4ac2305L,0x7d5a8bff610df90aL,0x82289362f166a8b8L,
  88799. 0xb10cd13ca0b00aafL,0xce3012dc2bd95a52L,0x000000000000008eL } },
  88800. /* 50 << 224 */
  88801. { { 0x7f3557744356b52cL,0xe4df74da343a8082L,0x0ad02ea630fd3ccdL,
  88802. 0x41c092de81ee408eL,0x5b7314cc0b7af2cfL,0x4f14ea6e18876155L,
  88803. 0xee09e162c5bc9211L,0x33b0203b754d1a04L,0x0000000000000119L },
  88804. { 0xbba2396d5a659158L,0xc8bd42a381dc2121L,0x96ca706eebae2b49L,
  88805. 0xa47f6a3b27997ddaL,0xea8114cfcecdd7f9L,0xd2c8ebeae936e2e5L,
  88806. 0xd7472cb9fb68d089L,0xa23bd4403d346567L,0x0000000000000024L } },
  88807. /* 51 << 224 */
  88808. { { 0x1cb466c1b9c5c233L,0x644e56e7ca17089fL,0x87689df22f23ec6bL,
  88809. 0x7fb193160983cadeL,0x3f174e023542b10fL,0x896aa0aa52204547L,
  88810. 0x0fac42698f3a3319L,0x16bfb9186ea6d467L,0x00000000000000b8L },
  88811. { 0x9f2675ddc7905198L,0x2377a69ba0bc6a9aL,0x789bb3609de78affL,
  88812. 0x3c9e13121dc56711L,0x7e45f51897a01744L,0x57d6f870229ee331L,
  88813. 0xf4e661027c84830dL,0xa8a3ff8f92a41beeL,0x00000000000001e7L } },
  88814. /* 52 << 224 */
  88815. { { 0x47a968bae826a120L,0xc0fb676354042559L,0x97dbf43c0b0b45edL,
  88816. 0xd11788e1d819d0baL,0x6209a0c57eda726bL,0x65a8225cbb83ca8bL,
  88817. 0x1cabddf0a6e5d980L,0x19cc1e75572ce15bL,0x00000000000001f0L },
  88818. { 0x292a9cf080e60532L,0x93ad928f418cbfdcL,0xeefb9eff36c16b79L,
  88819. 0x2b2bb7cb6df5235dL,0x06920ab01a3f0e35L,0xafe3ce52c22c596cL,
  88820. 0x7e04284c52a95640L,0x2a270b1a7b4789a1L,0x0000000000000121L } },
  88821. /* 53 << 224 */
  88822. { { 0xc6b314c1f4239b73L,0x4e54432f8debd8afL,0x1e45f0025aec3601L,
  88823. 0x4b7090c312f51571L,0xdce4e7a4c9c1cea5L,0xe75161b104928b9bL,
  88824. 0xa454b9d35dd8b9f9L,0x50ebb50835b06602L,0x000000000000011dL },
  88825. { 0x07a84718985c8551L,0x2563d00d0e100ba7L,0x3f69f4101b90b25bL,
  88826. 0x6cf41c9be0ed8b78L,0xb71319ed7d01acacL,0x978d8b39525d0edaL,
  88827. 0x064db8e6734ed194L,0x9ea11ecb8d6d9654L,0x00000000000000cbL } },
  88828. /* 54 << 224 */
  88829. { { 0x2b8b31c4eed9cdf5L,0xe7e616bfcb262a4cL,0x41dae45e4b7d7dd3L,
  88830. 0x982a2408caa8c982L,0xffcbce7a3f2a9e6fL,0x50121acccc21ea38L,
  88831. 0x4c2cf642e32f6ca0L,0x22f3a5335b36d5a2L,0x00000000000001c9L },
  88832. { 0x1f2ad6eee92b1fe6L,0x6a3bf10db5ef5acbL,0xae6f23edd3503528L,
  88833. 0xc2baee0f5ded8513L,0x1f29e1b304c9a105L,0xadd1d742e6b6e61fL,
  88834. 0x72dd27a22e532676L,0x9a53e3a5ac0aaa7aL,0x00000000000000a9L } },
  88835. /* 55 << 224 */
  88836. { { 0xe0c8af94cdd6ae96L,0x7a4ea983e2977012L,0x9e749b02365a4de3L,
  88837. 0x2ad28ef487969ffaL,0x93dfae73b6015cd4L,0x6a0350fcd291c2bcL,
  88838. 0x8899eb4142cbcfd4L,0xbf324b61613604beL,0x0000000000000112L },
  88839. { 0x2a22b916e110f342L,0xe9b1f40520b9a301L,0x7429d456c530c11bL,
  88840. 0xc8c6bb369c275befL,0x65e9dba104319247L,0xd3433e680d8f08b4L,
  88841. 0xe6d50c0a297ee342L,0xa35cd9c083615fc4L,0x000000000000016cL } },
  88842. /* 56 << 224 */
  88843. { { 0x8439b14cbaa20680L,0x5f16560db2c77c25L,0xe3c19ca9554f95cfL,
  88844. 0x9e494f8ec3e722e3L,0x3d4b917f1908e637L,0xbc08600dfe6f4915L,
  88845. 0xd730de4026e8d819L,0x28025a154c864edaL,0x0000000000000106L },
  88846. { 0x0fe4b4805cf7d60eL,0x1d9c195fd22286e8L,0x7c30b704daca5bfaL,
  88847. 0xbfddf0e2b1185d19L,0x1ddf3bfebfa68c75L,0x95d6947fa94774a2L,
  88848. 0x491b041fc28aaaf6L,0xdd984208014c07d3L,0x00000000000001eeL } },
  88849. /* 57 << 224 */
  88850. { { 0xc006f8261c14b152L,0x607b76d8548caad4L,0xc533d8f6644b2fedL,
  88851. 0xb5949a09a9cbaf32L,0x980f4e5ee9b82934L,0xb69c4940e0bc902cL,
  88852. 0xc483bd7010ceb0afL,0x85a7296f0da99f98L,0x000000000000015dL },
  88853. { 0xae2476dd7693b27cL,0x4fa6dd3599041a13L,0xb3ce6a53c4e4e838L,
  88854. 0x4eaf476a9801412bL,0x615d927d421334a8L,0x663ccce26297dbf3L,
  88855. 0xe2e7668e3d03a5e1L,0x4d15aa4099993736L,0x0000000000000188L } },
  88856. /* 58 << 224 */
  88857. { { 0xb7639306e80de633L,0x8206add9ee5e527bL,0x2f5e86f4baa789b6L,
  88858. 0xbc772de757d25d54L,0x3ce87740b4b2b380L,0xf61acf7ebc08ab4aL,
  88859. 0x1b81b706e4c17950L,0x70e16670f97a672bL,0x0000000000000084L },
  88860. { 0xb3c11d39ee5d0d74L,0x57470243c23309bfL,0xc04f806ad970c46cL,
  88861. 0x0a91f05641f15577L,0x0888829070ab35d2L,0xb413e83fe301207eL,
  88862. 0x0b17e3648bba92e8L,0xb1b97d4ed7b430e6L,0x000000000000017cL } },
  88863. /* 59 << 224 */
  88864. { { 0x89447b27bd4b54d0L,0x19cf8afd7f8112f3L,0xf8b4a959bf831e34L,
  88865. 0x6dd1726a6b244017L,0x5783a070413e1aedL,0x27438461d5a29d55L,
  88866. 0x29a921f789e2fbdeL,0x1abdad7e001a5932L,0x0000000000000106L },
  88867. { 0x9c35f7e9947b1ac9L,0xfe5f4c5b086b5e09L,0x12da650c105c5c10L,
  88868. 0xd6e60f998dbaa678L,0xd3f99655ca972737L,0xeed2c3bd48d3ad22L,
  88869. 0xfa0d06cf42a51f2eL,0xafe258e8c9d10b1eL,0x000000000000007eL } },
  88870. /* 60 << 224 */
  88871. { { 0x920ef3b8f225d101L,0x14533fb672346f7dL,0x8f391dc232eaa7edL,
  88872. 0xca99c1fc9cf81d89L,0xbd298ba671bd3ed7L,0x2ee73abe68942dd3L,
  88873. 0x2cb7b2009bca1375L,0xad67f957123137f3L,0x00000000000001b8L },
  88874. { 0x838fad634c6ecb7dL,0xb79af8cbb96744e2L,0x7c4190fcd3bee960L,
  88875. 0xdb298cdf1740bbdbL,0x801cfc4a655bc379L,0x35869a8d80ce1b99L,
  88876. 0x437c60f11004665fL,0xb904ae8df965f967L,0x0000000000000176L } },
  88877. /* 61 << 224 */
  88878. { { 0x9b6cb18391a51175L,0xdd88aec4fb80c7eaL,0x29cb000bb640c84bL,
  88879. 0xb391ad58d58c3da3L,0x2671ce7f83dea34bL,0x3daf6c2d490ede19L,
  88880. 0x39e152910ec82d99L,0x8c5df3d73928795fL,0x0000000000000124L },
  88881. { 0x00f19b087e411379L,0xd74a2e9ee6aca0bdL,0xac5723e381207f79L,
  88882. 0xe888e1b58224168cL,0x9f54500800c0b0efL,0x14e8160dad9e4155L,
  88883. 0x8f04a2a28203bc81L,0xef916792d7fb7e1aL,0x000000000000014aL } },
  88884. /* 62 << 224 */
  88885. { { 0x5057d40664da7708L,0xcff34770c7f0fb54L,0x71779c1c72de7d6eL,
  88886. 0xe3245536baafe87eL,0x3547d3cc27ee8200L,0x6fd335b373ca8819L,
  88887. 0xfe68353f13487c33L,0x3465439099cdd431L,0x00000000000001d5L },
  88888. { 0xb1b27dd4e9031706L,0xce565fc49d72eed0L,0xb48715abb1962bc7L,
  88889. 0x849d8b56bae93f30L,0xa3548c4ddb34ac91L,0xffa60fb4985a3543L,
  88890. 0xe43b129448a4c7bcL,0xeca115250e74194dL,0x0000000000000021L } },
  88891. /* 63 << 224 */
  88892. { { 0xf1bac1afb0f94217L,0x93744bd640f2ef25L,0xd920ea38f832f1feL,
  88893. 0x95ddcf8c13a22b90L,0xaf759f72e0087be3L,0xdd03642be6baf27aL,
  88894. 0x012d7445cd0dec66L,0xef35032ab1bfa5cbL,0x00000000000000bbL },
  88895. { 0x980f0d5290448667L,0xf4cca39fef1eead8L,0xe11005d6d02b1b57L,
  88896. 0xff6253f2cc5182aaL,0x75f3838e96a49c6bL,0x49b5a038a5348a1aL,
  88897. 0xe2ae0b06dcd79d60L,0x976e296a0a8fa296L,0x0000000000000196L } },
  88898. /* 64 << 224 */
  88899. { { 0x4b67fb4118d0a514L,0x0a9fdb8e32ae28f3L,0x786b00f8c238ebb0L,
  88900. 0xf73d53d11cbb7ea0L,0xe3928456988a4366L,0xa108e52a1d62fcebL,
  88901. 0xb923f2471d9484f2L,0x9c8dfc0caf781f08L,0x000000000000012dL },
  88902. { 0x6485c32f15c72d41L,0xf7ef7e581a01f229L,0x2dca15d289c87f68L,
  88903. 0x91a22920d86c6968L,0x6015a068fe0747cfL,0x429c4d4dd744a2cbL,
  88904. 0xd707e9ea43d3b8a7L,0xa03aa304040ed223L,0x0000000000000107L } },
  88905. /* 0 << 231 */
  88906. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  88907. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  88908. /* 1 << 231 */
  88909. { { 0xa9338e3d41b1cb9eL,0xe9173c96c409be61L,0x2b8ea989ba7ea91eL,
  88910. 0x5ad99388870edd75L,0x9d3c5a11c2112dafL,0x5a7c3d52851694a8L,
  88911. 0x8ecc1d6dfce31234L,0x2aca74ef790d720bL,0x000000000000002cL },
  88912. { 0x66dc50ee20df1f66L,0xe8785c5b3b05ea85L,0x0e28d55e569d94c6L,
  88913. 0xacd3c1651a119f91L,0x51910b8e7226e29dL,0x849b5229dc3eadb4L,
  88914. 0xc8c44e85a88f3b08L,0x990504945e42bc66L,0x000000000000019bL } },
  88915. /* 2 << 231 */
  88916. { { 0x27068f87578b7a3fL,0x506446f1423a5346L,0xe9d9c75b58dac5e4L,
  88917. 0x8ebc86e561b8f695L,0x272ac14e611c51e3L,0x67863a1d4e24fb32L,
  88918. 0x270d4fdc02e5b539L,0x96d7b7a9a4186d8dL,0x00000000000000f4L },
  88919. { 0x1a60ef0526627252L,0x31682a839bdc0f5fL,0x52a055ada112be82L,
  88920. 0x9c3a88484ecf7367L,0x5235087249e70680L,0x61b6b478b881b9cfL,
  88921. 0xbec16c5a887d3c1eL,0x8a8b2b82d598a671L,0x00000000000000efL } },
  88922. /* 3 << 231 */
  88923. { { 0xc493e06c7cfbc9e3L,0x7238a446e82d3bdbL,0xf388c069940bcf25L,
  88924. 0xb82837d2da27a485L,0x693111380941d771L,0x93a43f0de8bede22L,
  88925. 0xb3578669b3bafb47L,0x44d6e546bc7d5cc6L,0x000000000000010bL },
  88926. { 0x9f703d04c2f5a320L,0x6cf923ae1a4d8cbeL,0xe24663d06bec90d0L,
  88927. 0x94870abbb4276e9aL,0xd690b52fecc55c0dL,0xbed5a84236316797L,
  88928. 0x8edde42f1e63e3fcL,0x2f6f5311b2a7c97fL,0x00000000000001b6L } },
  88929. /* 4 << 231 */
  88930. { { 0x3dac1eb44cb7b72bL,0xb027bce2e0c7deeeL,0x69032db2e994001bL,
  88931. 0xde2c253a4d22b49aL,0x957977f9bf66a47bL,0xc118eae521ad303dL,
  88932. 0x40c78cb818ba4889L,0x09901c2ce69238cbL,0x0000000000000162L },
  88933. { 0x8099814b08bc1ceaL,0x3e74578a38139921L,0x899412a6d9d15fe2L,
  88934. 0x973a21ac29446072L,0xe6c4ce99ee7401cbL,0x03a86c736a4c5223L,
  88935. 0x6976124e6f3e93cdL,0x074326df34dd40ecL,0x0000000000000065L } },
  88936. /* 5 << 231 */
  88937. { { 0x02f0014275880224L,0x6ee059da7021973cL,0x931f296db3dfe309L,
  88938. 0x9ed8b1e9485c0d9bL,0x6f3fc0cb1e018747L,0x9add7a9b697a142fL,
  88939. 0xe2ddd8f3e94cc581L,0x666a9b29b6d8d36cL,0x000000000000015bL },
  88940. { 0x1eed14bb24add8dfL,0xfcf71bd2216b86a8L,0x0f87aa7920faa29cL,
  88941. 0x7aba4fdd9fce47e7L,0x48902baf0a014042L,0x93e911622f4b7154L,
  88942. 0xa39079f6e5f3dae0L,0x6114f249e871766cL,0x0000000000000071L } },
  88943. /* 6 << 231 */
  88944. { { 0x943dbc45cedc41c5L,0xa3889cfc075fbcddL,0xab0a889dbee1ac11L,
  88945. 0x9a5319b1d8721711L,0xc4228d8987ecea8eL,0x55cfce64e8221d39L,
  88946. 0xd3e9699d39e3e962L,0x8ed1dd020549f4cfL,0x00000000000000baL },
  88947. { 0x1729967dfb5fec20L,0x16246ab37a6208f5L,0x10904e4b5f5af897L,
  88948. 0x68c575bb273b4049L,0x973f128b97335687L,0xb696381ed6cb8cd4L,
  88949. 0x3ef2ec73d2fba17bL,0xe4c62fde5233aeb4L,0x00000000000000bbL } },
  88950. /* 7 << 231 */
  88951. { { 0x2f171a11b947f8c2L,0x56959046cff17f3fL,0x824fb57f66097883L,
  88952. 0xdd07bd642c2c8782L,0x5b17dd22867ee913L,0x9adb1675796b2aedL,
  88953. 0x9cd315516326bf4eL,0x5839ce47d98c3c62L,0x000000000000001eL },
  88954. { 0x03323a3fb463977aL,0x95dccccf667a3e88L,0xe3a04d01dea1a6bbL,
  88955. 0x427caf8c2c159eb1L,0xbb2dd277ca73e601L,0x833e194b414b5d11L,
  88956. 0x6594999ed51e212eL,0x5423b8373e583089L,0x000000000000017cL } },
  88957. /* 8 << 231 */
  88958. { { 0xb685f627dd308ae0L,0x78d327cb5a08f7caL,0x83e55dd1ee74108bL,
  88959. 0x906408358d01ffdcL,0x6d7694e81625f9a7L,0x48b92a43d782c8bcL,
  88960. 0x61f7b571bf98ee6bL,0x02b2a743e511df25L,0x000000000000003bL },
  88961. { 0x020b09053aea9b6bL,0xc648d06d989114d9L,0xd7861a73ec1e3d92L,
  88962. 0x2c0eb0720a0581e5L,0x5be8c4da3fdd93bdL,0xd45049f2897946c7L,
  88963. 0x0fa12b386ebb7fbdL,0x7b5391783aca1751L,0x0000000000000001L } },
  88964. /* 9 << 231 */
  88965. { { 0xc8f1de47497aeb0eL,0xa1535a60dfd637d3L,0xda8089a50d3b3e38L,
  88966. 0x9981de1279280d2bL,0xd0259e6c483a9659L,0xb16ad60f1cadaecaL,
  88967. 0x150e8c7e335fcb39L,0xba8a6b8c3224d554L,0x0000000000000028L },
  88968. { 0xcdf6bc521dfd36bfL,0xd89e8950109ff325L,0x2bfbb3aa949c6cf7L,
  88969. 0x5d155ffeb638dd02L,0x9f778149256af551L,0x6ad7a0913e7b2743L,
  88970. 0x4045ec8341939950L,0x6d36b14a36c29ce4L,0x0000000000000009L } },
  88971. /* 10 << 231 */
  88972. { { 0xf61f56901631f481L,0x31cd4a4460057252L,0x11c6764a7f3683edL,
  88973. 0x813e617d855abd6dL,0x07dd6c6674bffc99L,0x4eff77903d28a486L,
  88974. 0xda809b5a1236cc16L,0xf3a0a984e1b1fa07L,0x0000000000000015L },
  88975. { 0xc1557c02fdbaa820L,0x22f1b155490ace41L,0xaadde80bbb30fe96L,
  88976. 0x3ecb3b1e8005fcbcL,0xbfef06d968a1db30L,0xa8e0a6a1a6b85ed3L,
  88977. 0xa602e5b52b82ae83L,0x567eabd6fa699305L,0x0000000000000177L } },
  88978. /* 11 << 231 */
  88979. { { 0x714021c9367bc63eL,0xdfe85b6765d131c1L,0xaba75de76eeda148L,
  88980. 0x53a1d3775e567a81L,0x2990d626909efc1aL,0x178755cfa636420cL,
  88981. 0x9b168b964750968fL,0xdb2cc57e5af133a1L,0x000000000000008bL },
  88982. { 0x58ce08b0e2ffaab5L,0xfd0ff4ad1865bb21L,0x838c66c9bb65b3fbL,
  88983. 0x4a4b95229893cf54L,0xf50f0afb0467f480L,0x1380b003555da012L,
  88984. 0xb2a7dda45126e11dL,0xc88ac327dd17c592L,0x000000000000018fL } },
  88985. /* 12 << 231 */
  88986. { { 0x9d86d84feae13cfbL,0x6d235a5f994991dfL,0x0b5b3e99352cbf4aL,
  88987. 0x9512101aa087ee0eL,0x2ab9fec1900fd50dL,0x48129fe5c8fd91f5L,
  88988. 0x69ed1f4d08c5117bL,0x533e83c6e7007bafL,0x00000000000001e1L },
  88989. { 0x10a0c08d2f0fac2dL,0x35a77d2af3e1daa4L,0x447a8e905f5e78a5L,
  88990. 0x0f5835b0d3acde30L,0x5486f6b961b9aad8L,0x9be0a9b8ecbfd6b2L,
  88991. 0x95a5bd0409452928L,0x4fc3182dea830996L,0x0000000000000125L } },
  88992. /* 13 << 231 */
  88993. { { 0x91c85cd2fc7a969bL,0xb16347ac0b3e36b1L,0x66a36f694a3e8b27L,
  88994. 0xb8ef5e3f91cb5d5eL,0x0aace6f26be296f5L,0x4e6d9d9d548235c6L,
  88995. 0x9f24f5c8a7a35b0bL,0x3260930390a55e8cL,0x0000000000000048L },
  88996. { 0x57924d7afc9c2b83L,0xfc60aa68e403b1e3L,0xdb73a35932ffed37L,
  88997. 0x68d0af3455642effL,0xef0d8368290a4929L,0x7be7c6143930fca3L,
  88998. 0x22ac1195c9f52bc6L,0x074fde05df055539L,0x0000000000000191L } },
  88999. /* 14 << 231 */
  89000. { { 0x9e71f0bb8bff6d2cL,0xf35c6c1367b26058L,0xb8791d9e9fb2cd17L,
  89001. 0x834f77fb655344b7L,0xf672749488c6106bL,0x1d51d49a83bf0b92L,
  89002. 0x2888ca81b2598cc2L,0x454c00258377dcf4L,0x000000000000000fL },
  89003. { 0x622ab6ebe9046dc1L,0x3594e53e40d5f30eL,0xaf4fd362632372beL,
  89004. 0x08601954aa276034L,0xa2369d15a10a69efL,0x9c9ffcf525bf301bL,
  89005. 0x7cd516d5dbaf10e3L,0xc24aacc1f35e5f7cL,0x00000000000001f9L } },
  89006. /* 15 << 231 */
  89007. { { 0x518f40a0ba132499L,0x3773088dea2f1aa0L,0x232cfab18b326435L,
  89008. 0xa399e58d73900055L,0x0b416d331a80306bL,0xa34d9a80d9f9b09fL,
  89009. 0x8f9f4355cb95746eL,0x73a7c35d1ce94cecL,0x00000000000000a6L },
  89010. { 0xf619fafd8b3a57a5L,0x80e70710632fe43fL,0x287b444e581e2becL,
  89011. 0x916afe78030be2a7L,0x6ebe236508f41e02L,0xfd7b7641b70e8c84L,
  89012. 0x1a131e7bdda3edbaL,0xb8e1748a0677e206L,0x0000000000000110L } },
  89013. /* 16 << 231 */
  89014. { { 0xb5b80c0e82a8845fL,0x6fdd0a0f42fa43cbL,0xebfa4307803cf184L,
  89015. 0x1dd85b5b4935a211L,0x2438607c6beecb33L,0xfbbb723e40ea88b4L,
  89016. 0xaf5258a6e84db1ebL,0x2c2b8cd9b7ad5e3bL,0x000000000000013eL },
  89017. { 0x313ce4450a092935L,0x9fc84cec8d0efda6L,0x004929dc197593c0L,
  89018. 0xebd50bb3fbef27f1L,0x9e71f61938c08b52L,0x590ef00571196231L,
  89019. 0xae3c0d2eafc73d42L,0x768bd9624da4a91cL,0x000000000000010cL } },
  89020. /* 17 << 231 */
  89021. { { 0x47c8d3c8ab1c60b6L,0xaf198413d12a659bL,0x73fcfe24bd4d19d2L,
  89022. 0x59c7728758032192L,0x48b1aa1f88887224L,0x01e399cd38e96fbeL,
  89023. 0xf1a74ef9ab366e8eL,0x5087c7eb4f2103f1L,0x00000000000000e4L },
  89024. { 0x8861cfef7dda9880L,0x92b60a92d734c648L,0xefd3e299ed7977feL,
  89025. 0x658f37a6e874dc55L,0x4b3fb1954e7aa888L,0x1c6111122ff97d89L,
  89026. 0x25ad74f9f8345cd3L,0x676666b8ef50e0ffL,0x0000000000000157L } },
  89027. /* 18 << 231 */
  89028. { { 0x716cad1e90c8a719L,0x631d6acf882637e0L,0x42fd6468b140d288L,
  89029. 0xe8dfb49488b10f5eL,0x5fd3394471d6849dL,0x51459c14c0026192L,
  89030. 0x4c72b94fd25c7d5bL,0x157cf7e3c3a7ed7bL,0x0000000000000123L },
  89031. { 0x046419ab6bd8dbe9L,0x4be7f1c837eee4d3L,0x27f5a81aac98ab3aL,
  89032. 0x830a7200bf7071f0L,0xa4dba25c4ebd5b40L,0xa8af3addf94bab5dL,
  89033. 0xc5156c404fd3e972L,0x1fe23347c1a472c5L,0x0000000000000096L } },
  89034. /* 19 << 231 */
  89035. { { 0x314e6990933c502eL,0x3eb198b24230fb72L,0xed31a6ac78b0ebd9L,
  89036. 0x98ac708cb7cffa58L,0x41e4880762ee91bbL,0xdb80a5fd6ff7ad3fL,
  89037. 0x647ab9160c32c160L,0x258ca51ad736fefaL,0x00000000000001c1L },
  89038. { 0x65c312791e5576c9L,0x8393256a7c73070aL,0xdbcbab2ebfd3ad2cL,
  89039. 0xb4ef593498b6146dL,0xf3e6d641f150b4ceL,0xb4ca1b92aa5589d8L,
  89040. 0xc19f635f440c31ffL,0xf3d5705f5bb1fe31L,0x000000000000012aL } },
  89041. /* 20 << 231 */
  89042. { { 0x96618bec30be228cL,0xdc83ae086b84d4f4L,0x260b2652348c399dL,
  89043. 0x7c10ac42e6ac3a94L,0xe3d44aeb367c5edeL,0xe0c1989639ce735eL,
  89044. 0xa2bccd0b708b357dL,0x30d6969b489d30b3L,0x0000000000000039L },
  89045. { 0x3e9d894367d235dbL,0xe6ab2b4427ea16dcL,0xd5b60a504c54afbeL,
  89046. 0x48f39402c0c645f2L,0x44fb14e9a03ed92aL,0x8a66c28c8ecf7a8fL,
  89047. 0xf5ba4cb58d9f6e44L,0x8dd59588edf7d7d3L,0x00000000000000c8L } },
  89048. /* 21 << 231 */
  89049. { { 0xa9f649382296ca7dL,0xd80c7ae06b898494L,0xe041220c5a93cd3aL,
  89050. 0x5d42e026f46c53dcL,0x9574fdec710ec9c7L,0x2f2e24b48dbdece9L,
  89051. 0x87afdef250244f09L,0x325f4866235858d8L,0x0000000000000003L },
  89052. { 0x13e624ede637e34cL,0xa841d34a17e610a5L,0xf899a907bf2faa12L,
  89053. 0x3d28b531ebb38d02L,0x73d1eae320ec138dL,0x6799644ed687d71fL,
  89054. 0x51b93047fff6691cL,0xeccdd0242e44e87aL,0x00000000000000f8L } },
  89055. /* 22 << 231 */
  89056. { { 0x0d8a75e7972b1d30L,0x9556f1ee4f05a10bL,0xb0a90e0afe233210L,
  89057. 0x5899ed3fe8c3ab51L,0xb3f56019411d224fL,0x2fc2ad6f9a30b1b3L,
  89058. 0x66b1a36860c33436L,0xcb5310cde3490548L,0x000000000000011eL },
  89059. { 0x520fb4e711647babL,0x2c5403554e4c5f55L,0x3b4f3cbd58a8e072L,
  89060. 0xaac1cf335d4dbcaaL,0xb5ff4b0426ac1c58L,0x456d3fb2cf35e684L,
  89061. 0x6c05aac04b1eebaaL,0x3eb4e1447d0debb1L,0x00000000000001fbL } },
  89062. /* 23 << 231 */
  89063. { { 0x9f9f128f83dccaefL,0x285a6d9d3e4d202cL,0x1dce04e0fe2f32abL,
  89064. 0xb63ad64b5c47d746L,0xc620a818ca9e5cbaL,0x5599183b102c367cL,
  89065. 0xfc28310f1bb11cf3L,0xa518ef8ae7fe07a0L,0x0000000000000125L },
  89066. { 0x05d6e328aaca5233L,0x3485f1f7c0d36868L,0x2418102af2b53b08L,
  89067. 0x2d7820ab3d138665L,0xcfd8d841fa9a106eL,0x70abdc68a83768a0L,
  89068. 0x666ec137bd673c42L,0x0f55e404e77d49adL,0x000000000000002eL } },
  89069. /* 24 << 231 */
  89070. { { 0xbb5261dba4cc0ff1L,0xf63383eb52d5233bL,0x8ab1587033aa18a6L,
  89071. 0x1779ee6ed6b62ce9L,0x80ef23be8ef0f8e7L,0x9ec1cfb401c71a76L,
  89072. 0xb18a364ac7c793f1L,0xffc4c25b753ab994L,0x000000000000015bL },
  89073. { 0x80645523d4ca91f1L,0x7e8594c5f895f3afL,0x5e0d810510b5a95dL,
  89074. 0x9a087f09fb4356b9L,0x7784383794c16770L,0x5f6c04ef5837e54aL,
  89075. 0xa0803997f3166db1L,0x797335e56b68a586L,0x0000000000000075L } },
  89076. /* 25 << 231 */
  89077. { { 0x8821f20b25ea7faaL,0xea6cdaf038359721L,0xef36817a60f5c37bL,
  89078. 0x79058c6589c3b6f8L,0x5f3e57a4f0e9c92aL,0xea23b73ca0eeddf1L,
  89079. 0x3ce00ce36e7ca79eL,0xd7301945b21fe070L,0x0000000000000199L },
  89080. { 0x37f5e88ca60f2418L,0x4eab2df52a6caeecL,0x5a02d837c64cc4b6L,
  89081. 0x6316cbb4f8a52989L,0x54985f0512b8c43aL,0xaa0b8a9313cc4fa3L,
  89082. 0x19b9999e164acd3cL,0x3e99a0388122f26dL,0x000000000000002dL } },
  89083. /* 26 << 231 */
  89084. { { 0x86bb6a2fcf51acf8L,0x8cfb578447a49e34L,0xa931fc6be3b6d1faL,
  89085. 0xd960cde64a9d14a8L,0xe4c4116245b21189L,0xe4aeb21abbbeb75eL,
  89086. 0xe45db020d9be6508L,0xa001afb4789ad9e8L,0x000000000000002bL },
  89087. { 0x5f754551c271c0d6L,0x4926b87f0543b435L,0x3157188ab3123bbeL,
  89088. 0x2a77d4547b3addfcL,0xb1c6000b0ee40ae4L,0x6de2cc2872f6a072L,
  89089. 0x64fd97f7f1dd26b5L,0xd43467c38f229a39L,0x0000000000000041L } },
  89090. /* 27 << 231 */
  89091. { { 0xd00fdf12e6fa0314L,0xd447ca319be251fcL,0x27bc3f9abfd2b9e3L,
  89092. 0xda101c4d5b716609L,0x109ee4ee24e9876aL,0xf8887370d3fb25a8L,
  89093. 0x0491476e95f97cceL,0x6b7b4ebf8296d338L,0x00000000000001a2L },
  89094. { 0x52f3da4126bc2048L,0x0be18a87f37ed665L,0x83c03d105741e841L,
  89095. 0x9477ee3354bbb810L,0x0ae3b6318e10be02L,0x13581e1a7ec3bc35L,
  89096. 0x04ed1310294c0925L,0x8b6b71746718a4e9L,0x00000000000001baL } },
  89097. /* 28 << 231 */
  89098. { { 0x5717fd84a98f0156L,0x968337919a823677L,0xebe83d77a05e6d66L,
  89099. 0x39e669f95c1d28c5L,0x0f577b1f0bf89425L,0xb3c2f12c9dfb7d73L,
  89100. 0xe9ffe3e1987f449fL,0x14f8a1d9a57e7e4aL,0x000000000000017dL },
  89101. { 0x4e980189dfe5b34cL,0xa5561e4e202cd41bL,0xf6df35fbfb0d13d1L,
  89102. 0x7f002e1707e1500cL,0x9324d1d0ca1bf4b4L,0xd3112b6a3e7adfa3L,
  89103. 0x65b4c876e04902b5L,0x4ebbc331bb04398fL,0x00000000000000e4L } },
  89104. /* 29 << 231 */
  89105. { { 0x6863329b21c34854L,0x3ecb8aa8e4cc2e73L,0xf0e9fa087d257dbdL,
  89106. 0x41ae92e4882c3c29L,0xd637e8e96de51602L,0x60745807093e1831L,
  89107. 0x4b79a97b71922332L,0xb6903e0875e68278L,0x0000000000000157L },
  89108. { 0x4c8fab3b704b19d2L,0x550c2a56b34c0d32L,0x67347887bbcc5f6eL,
  89109. 0x63946f225a9bebe1L,0xf0c5304d01c39700L,0xea8d8d6872deb3c5L,
  89110. 0xd8369ef1c2a03da6L,0xaa3fd01140135bcdL,0x0000000000000025L } },
  89111. /* 30 << 231 */
  89112. { { 0x7b5e2027b631ab3cL,0xa4ab4559f2c42e69L,0xd8a3adc1b1670c20L,
  89113. 0xa2240db40abc7c17L,0x104ae5cff054f41fL,0x5c08b0bf128df5f1L,
  89114. 0x651f1be1877d5d9eL,0xafb7992265e13f7fL,0x000000000000015aL },
  89115. { 0x140370ee632ac61aL,0x7cc393058a188e1eL,0x21a228d9f6eac7d0L,
  89116. 0x8a6f15613fd21c04L,0x64418721c35936a2L,0xf9f06b28f3e01680L,
  89117. 0x7efe7361fdeace5bL,0x6a7264a96e30226aL,0x0000000000000017L } },
  89118. /* 31 << 231 */
  89119. { { 0x3f5aafe0bddc0937L,0xd2d0dd4a79f1b07eL,0x56e48aadca9cadcdL,
  89120. 0x44f035c701af31d7L,0xf288f9b9baf4a56aL,0x8a486f9d65fc0205L,
  89121. 0x0047f8d1941bb761L,0xebdae91b757a98e1L,0x00000000000000c1L },
  89122. { 0x1bb72fdd52fd742aL,0x5073de5a4fd8ea03L,0x47d8be4faa00a9ccL,
  89123. 0x9c262879e45ce75eL,0xbd62c1d3f0a9c65aL,0xbb434e5b8c15c467L,
  89124. 0x611816bfbd22def7L,0x8aa8cf5383778ac8L,0x000000000000016fL } },
  89125. /* 32 << 231 */
  89126. { { 0xe1f0c1aefcfefdb2L,0xb5bc33d344930c59L,0x253d5f4964d2c6e0L,
  89127. 0x25efddede316ba1fL,0xeb3ab21fe30c3a34L,0x797a1ad6cfa52a9dL,
  89128. 0x6a3ca2e0a81ba831L,0x27bb664ce112dd07L,0x000000000000007eL },
  89129. { 0x91fa1e121961aa16L,0x381b2d7167dd7513L,0xbae8635144db8a51L,
  89130. 0x4cc1915fbc31c1cdL,0xf79f40598ec6e9e1L,0xb142b6eca8929a72L,
  89131. 0x4629c6488ed71fb2L,0x9f79bccfbd52faa7L,0x0000000000000029L } },
  89132. /* 33 << 231 */
  89133. { { 0xa550f18a6cc76e30L,0x22627d8f61df412dL,0x1d0dc5d69ca28ee4L,
  89134. 0xababc480beafb2bbL,0xb0a7d6926fbfd3a5L,0xf1a64e38a521f4e5L,
  89135. 0x2ee40ff432ada17dL,0xad661a64254597f9L,0x00000000000001a4L },
  89136. { 0xc6d509050b6c9498L,0x0853d7fe81c37fddL,0x41fec397945c0241L,
  89137. 0x9d94a286648033d3L,0xa977521cd11a039fL,0x9d70047366f73195L,
  89138. 0xf3925c9498f1d8a5L,0xe03e6214f2182e10L,0x00000000000001c4L } },
  89139. /* 34 << 231 */
  89140. { { 0x8a13a69fe9708f78L,0x127338fe9439033cL,0x1a55f4be1c0ae257L,
  89141. 0x687f3349da266c1dL,0xe84a7b031264780dL,0xdc796cef48a52f85L,
  89142. 0xc0fd19a2aa4f5258L,0x72b52c44c6e60b07L,0x0000000000000069L },
  89143. { 0x754a8552ada70b8bL,0x7384869e2ab69b35L,0x1eb9a71bb23f4955L,
  89144. 0x699c11f83f8656e9L,0xacab43310b640cf6L,0xee38be2d21b0d6e8L,
  89145. 0x9d57cbd55499e2e9L,0xb90d2b06448f08faL,0x00000000000000d3L } },
  89146. /* 35 << 231 */
  89147. { { 0xbb9af2d1f25aa87fL,0x633f9eaf006ff7eaL,0x32cc47c05d875219L,
  89148. 0x9245422d65a7fed1L,0x7b6095ee882e7479L,0xb0921b30038514acL,
  89149. 0x599167f588ba84a2L,0xf15c510b4de07284L,0x00000000000000d3L },
  89150. { 0xb152f53babf4a045L,0x019016bf296dd5f3L,0x3eafdc360650071fL,
  89151. 0x4843e9fc756a424fL,0x3f90b62472a46c6dL,0xfd2948483854ef62L,
  89152. 0x139dc631ee3f68a4L,0xdc88b9b1f8d64497L,0x0000000000000044L } },
  89153. /* 36 << 231 */
  89154. { { 0x9ef8fc68b3f02f00L,0x4eaaefc11b404dfdL,0xb1a6864fa257718eL,
  89155. 0xab09391e2d8d0067L,0xc38aa83ce8204af9L,0xe1bfb2b08c822776L,
  89156. 0xe2cf738131273df4L,0xb2d517e40cd8fa47L,0x00000000000001f1L },
  89157. { 0xe5e30566969d3c42L,0x14fdf845f7d7eddcL,0x7eb18e1c25c3adf3L,
  89158. 0x32abb9b1be777247L,0x3b129a9caeb73f86L,0x112ad378338cedd3L,
  89159. 0x885cc5a12602d011L,0x4fc5afd3bc5586fbL,0x0000000000000066L } },
  89160. /* 37 << 231 */
  89161. { { 0xcc800639d6008057L,0x9c266f39bbc8d8f7L,0x95ceb2f0607153c1L,
  89162. 0x45f0801babb7937fL,0x3642f3177d002d68L,0x3c72feaeec4c17bbL,
  89163. 0x86921b33df45d803L,0x2166557618a187dcL,0x0000000000000116L },
  89164. { 0x16fc57bf455df4c8L,0x6a3f8e24a0a801ddL,0x44f80fcbe3f46c99L,
  89165. 0xb6a005d8815493ffL,0x9fb7e1ddb10c1c29L,0xd427ba4473b5524fL,
  89166. 0x8b46a23436db93d5L,0xa2c3267a65278f1cL,0x00000000000000b2L } },
  89167. /* 38 << 231 */
  89168. { { 0xcd0681f765c96952L,0xd11c084db226a120L,0x6961cff3a518daf4L,
  89169. 0x72d85fbfaaa2d432L,0xbb0bfa37d8029adfL,0x8b307974f3e263afL,
  89170. 0x1e78acfe4357cbf0L,0x1b24c3c478faf796L,0x00000000000000beL },
  89171. { 0x29e359eb15c49c42L,0x2a0e85c6bd5142a0L,0x2ca4919c8f74c2f3L,
  89172. 0xc2c0522dab7dcd71L,0x78448d5f2687cfe8L,0xd7fed0780bc1b515L,
  89173. 0x21d8acbbc78392e9L,0xc825030ceddd3383L,0x00000000000001b5L } },
  89174. /* 39 << 231 */
  89175. { { 0x6ded17c668888e6fL,0x7d04fbec48d7a438L,0xc95939f56720bd0fL,
  89176. 0x32116dca5b339abaL,0x9868395c78b10c61L,0x9a631ebf64f83fe3L,
  89177. 0x353adbd78b655864L,0x780ed89288891331L,0x000000000000014fL },
  89178. { 0xa1034f139209f475L,0xc3119769ebdacdb4L,0x5e46e5b81adcc433L,
  89179. 0xb13ab568c9ea84d3L,0x65af681d3d982349L,0x495774cdb9fe5358L,
  89180. 0xc4f40572e4dea0dfL,0x64ddade9d672b677L,0x00000000000000e2L } },
  89181. /* 40 << 231 */
  89182. { { 0xdfe1e6afd3bc4454L,0x940641a79e92d2f3L,0x9ad218730e1c2fa0L,
  89183. 0xb6e06bc5a411d441L,0xb54c27d838bf29f0L,0x7dacafceb14f35d2L,
  89184. 0xbfe2b09082b7bc07L,0x868699ab8d3eeed0L,0x0000000000000072L },
  89185. { 0xbb74a259b8f76318L,0x3ed5995df91b3df3L,0xa4a97a19ac6557b1L,
  89186. 0x07255a2568cf70d0L,0xb28d48077f106380L,0xef6b891b7375c430L,
  89187. 0xf638f42c90c29af5L,0xdf57cc5407c206daL,0x0000000000000088L } },
  89188. /* 41 << 231 */
  89189. { { 0xcce61ebaa95f4034L,0xc03193858d3934cbL,0x48125313045ecf08L,
  89190. 0xa5293e9e00a86a56L,0x9685609ce4739621L,0xb4763b6e45a8cdacL,
  89191. 0x0f7efc7417e70b13L,0x3fa90ba2b41aaabcL,0x0000000000000088L },
  89192. { 0x38849e404a869a92L,0xbe5d13dcf392f0c4L,0x564182b6a7a77b35L,
  89193. 0xad96f8613b51e934L,0xcda67468a8944a6dL,0xc3a4639791afc06eL,
  89194. 0x46517e758aa12264L,0x600044e225aa0d28L,0x000000000000019fL } },
  89195. /* 42 << 231 */
  89196. { { 0xac0f2e82bf2a6824L,0xe4a045edfde799c0L,0xf4bedaf812796db6L,
  89197. 0x852692d02f95b690L,0x5991cfd95d3f8741L,0x91cffa0d40b8c83dL,
  89198. 0x26c9dc52a566930aL,0x3dcf171f8c1fd3deL,0x000000000000001aL },
  89199. { 0x977041071ef70b29L,0x3419dd6b356da0a7L,0x69a6690c3f4259f7L,
  89200. 0x643596f23f596c22L,0xdfa2ac5495452620L,0xa98ed767c7c2b5cfL,
  89201. 0x78d44543a1b281f8L,0x2d6f804fb1800c0bL,0x000000000000007cL } },
  89202. /* 43 << 231 */
  89203. { { 0xd820a109f48d85ccL,0xacacc587ae63a21aL,0x64e3da09e0beb46aL,
  89204. 0xa5020c60fca415a6L,0xb1ce6feb30ac9de0L,0x796e8d8ea918a87fL,
  89205. 0x14d8b838e24fc12dL,0x50543fda5a2748e6L,0x000000000000007cL },
  89206. { 0x998570177a2fdb75L,0xae937494f7002ebcL,0x99906c28e38e1a23L,
  89207. 0xc922a7b49285a1c9L,0x3783412560208b56L,0xfddcb5db55aa5343L,
  89208. 0x7e1aa3e079405671L,0x717994d9b6c5afaeL,0x00000000000001ccL } },
  89209. /* 44 << 231 */
  89210. { { 0x3a6e35396a057b5dL,0x96bfc6907338fb26L,0x9dd6b30a6ec9a962L,
  89211. 0x13980a46d62386f5L,0xe2efd90ec9e88bceL,0x2e952aea56736496L,
  89212. 0x0f711da87eeed705L,0x25c0012c4f696d10L,0x00000000000001ccL },
  89213. { 0xd4f64d9daaecfe2aL,0x77d4ff6c04f3c02dL,0x6dfe2746f2d2d351L,
  89214. 0xbe133c6bd547c567L,0xe3eefd95ed234f60L,0x5de33b9d0cbf5f2eL,
  89215. 0x563fbcfd11ecd741L,0x4dd1ff2449ec76f9L,0x0000000000000166L } },
  89216. /* 45 << 231 */
  89217. { { 0x7f90db705dc505baL,0x0ed287e682dff023L,0xdc1e823736006439L,
  89218. 0x45f7189e5d5fbcc5L,0xb0519882a90fa834L,0x88e1b59f135e2379L,
  89219. 0x5f22a5ed447a0e94L,0x12230205384b1b44L,0x000000000000006aL },
  89220. { 0x4c6df3168a6a5944L,0xdd99a4c395811e9aL,0xdc18aba483642434L,
  89221. 0xb5d321bda71f9f25L,0x338aadb635fc1540L,0xf7d5d16c9c5d076fL,
  89222. 0xe9aed76046537780L,0x0b88e00e065f90bcL,0x0000000000000050L } },
  89223. /* 46 << 231 */
  89224. { { 0x5eba88dab51a448cL,0xc59140a1a3bf6be4L,0xfcb188c338515c47L,
  89225. 0x5d212b1bf85097c4L,0x0a031432c37af0c8L,0x1434b11f8a69ea4fL,
  89226. 0xf196646e16e47ba2L,0x49acc62d4ce5d965L,0x0000000000000062L },
  89227. { 0x63725ac292f56298L,0x18022c719412d3b4L,0x992db0a6db2b50a3L,
  89228. 0xc57263c1c99dae3fL,0xa5cf2e9592d1d97aL,0xb5f93d02b730a5aaL,
  89229. 0x500efdb45dff5370L,0x30e83357974821d1L,0x0000000000000198L } },
  89230. /* 47 << 231 */
  89231. { { 0x8e008d522c941ea0L,0x59156f3bb3ec2760L,0xf8e5257f72bd1775L,
  89232. 0xfeb8a6caab104dd1L,0x0aa7934f1e24e935L,0x082a542f75b78c22L,
  89233. 0x08a13d3ac08f5967L,0xafcdee9dbd0f2e83L,0x00000000000000b5L },
  89234. { 0x7d14271c4b5bc3a0L,0x0aef85c6d39586e5L,0xd92fb2fd460c3ea9L,
  89235. 0x17c4554cbee0de36L,0x80e5aba407dd1df4L,0x23e588707cb3ce68L,
  89236. 0xae5fe85678e22f39L,0x8cbf32748b9cde6dL,0x00000000000001aeL } },
  89237. /* 48 << 231 */
  89238. { { 0xf4d18a133b6da0e9L,0x10102e98bbaeb6f3L,0xb82cf999e6f414ebL,
  89239. 0x5a2d09f201420725L,0x51ef37070d541392L,0x044404a7a4b6cbf7L,
  89240. 0x98b51c307f783763L,0x154e7643eaa19df9L,0x000000000000012aL },
  89241. { 0xbba4d0924bea27e5L,0xfba7ca7dfc03da36L,0x4399448fa62fbccbL,
  89242. 0xcf7863be93fbb08cL,0x41954ccdf35720c1L,0x6c37e6594ed8dfc6L,
  89243. 0xfd3d7cc05aa73a82L,0x616281f077f1e04cL,0x00000000000001e1L } },
  89244. /* 49 << 231 */
  89245. { { 0xb8843a3baecb9c56L,0x471c521f71eb02e7L,0x2646f42f1978dff2L,
  89246. 0xd1840b68db9b06ccL,0xf1c565cdd2eaefe7L,0xac478d82e5aac498L,
  89247. 0xbb81c5731219236fL,0x9cef590eaf3ec7ebL,0x00000000000000fbL },
  89248. { 0x00fa48fd12839c79L,0xbe6930b2f9ba96f6L,0xca60400a52dbbdc6L,
  89249. 0x97cdebbba58fbab3L,0x6cd668db0120fba7L,0x030f7cb1b6282babL,
  89250. 0xf6a0f50c8096a500L,0x13f0031822365ca4L,0x0000000000000137L } },
  89251. /* 50 << 231 */
  89252. { { 0xd3e0a88bc7a47d95L,0x9c63dfdd73d59495L,0x02515679ddfa7285L,
  89253. 0x719c60b134a9c1aaL,0xf7ed64522d297d47L,0x018ba27bb3864320L,
  89254. 0xf0bbeb08c51f9896L,0x55977ff5c2943b8cL,0x0000000000000106L },
  89255. { 0xe29e2e6d9d310344L,0xa73c141821499e9fL,0x37f93b334f2b6177L,
  89256. 0x1a953d005b41fd72L,0x079596887fc4c74bL,0x51fa8d6a18b54a16L,
  89257. 0x8a2f0b23d73b8d7dL,0x81dcdf27c35d31feL,0x00000000000000bcL } },
  89258. /* 51 << 231 */
  89259. { { 0x86a623829fd8b32aL,0xabdfdda101d41983L,0xa53f4563528a7673L,
  89260. 0xab916c12bedacf84L,0x3dc44fc48b14352dL,0x993c3213260d4c30L,
  89261. 0xc539686f7e662556L,0xf1138c58b39a1a90L,0x00000000000001a0L },
  89262. { 0xcad7199577e5eb4eL,0xaa31beaacc030f64L,0x0f60b8841f7cfe77L,
  89263. 0xa420cb1721b8d4f6L,0xd09feccb7de24d35L,0x63320b49b3473f35L,
  89264. 0xb5bcc3e10bfbe930L,0x57a963500fedd838L,0x00000000000001ccL } },
  89265. /* 52 << 231 */
  89266. { { 0x00ed7a23a6fdb2c9L,0x1409a2b34b8ba58aL,0x4851489b0a6a87eaL,
  89267. 0x66659b7f33733bf3L,0xda3870049ec4876fL,0x35ad268a1554dc93L,
  89268. 0x8bf6bbf30c00d57eL,0x32a2935c06b48eaaL,0x00000000000001e1L },
  89269. { 0xe212ae20816d8641L,0x8cebe342575da6b9L,0xf2bd08277c7ccd5aL,
  89270. 0x7a418ca5b8c2e3c6L,0x2348a14f2994a6fdL,0x5a31412a5490a371L,
  89271. 0x73f8d42f36fd59c9L,0x161fdd18a541ed5dL,0x0000000000000038L } },
  89272. /* 53 << 231 */
  89273. { { 0x300696f3057c5ceaL,0xcad8a2c50df8356aL,0xfc4cb7fd7c706e7eL,
  89274. 0x60e7d69ebe6a669dL,0x40003669ef923169L,0x5930b76457070b74L,
  89275. 0x3ef2e5f99cff0d14L,0x7ade11730db36e1eL,0x00000000000001e5L },
  89276. { 0xa0705ba5db6d6631L,0xb1a50dd1e4903c95L,0xa8b727c765e44762L,
  89277. 0x07f6f4c60825fd15L,0x33baf983444de623L,0x655caaaca138402dL,
  89278. 0xe0cbfea729652452L,0xa99c262e681e5a6cL,0x00000000000001d6L } },
  89279. /* 54 << 231 */
  89280. { { 0x3132e6ce76fc9e0bL,0xcebc5afbd0dd32bcL,0x2c75ba8753bcc7f9L,
  89281. 0x8cc874cd8ab343c3L,0xd2021ec20024924bL,0x2cda2074c5678891L,
  89282. 0xd724916957e36dcbL,0x7097b4f7611442f7L,0x000000000000002dL },
  89283. { 0x6e6cea215db4d265L,0x7257f2934bba329dL,0xaa12a1bb9bf3c783L,
  89284. 0x0702399538239dc4L,0xb4d22bdc73524369L,0x204186e3b3252770L,
  89285. 0xe61c9fd037080fbcL,0x9c9a7d157396cc53L,0x000000000000010dL } },
  89286. /* 55 << 231 */
  89287. { { 0x4d6356cea8b6ae97L,0x55e296caebe17bcaL,0xfb9ed8b353d6b21aL,
  89288. 0xedf72d6ada093a8eL,0xfa81761c24490122L,0x97e3e7c62f808d4fL,
  89289. 0xad75f995aa0130a7L,0x641a63cfee06c9b0L,0x0000000000000083L },
  89290. { 0x309921eba0884ac4L,0x1cea2e3f6c788b29L,0xb412c4919295fc7aL,
  89291. 0x9eb836cabbe43b7cL,0xeffb3ae33c591e1bL,0x825cb6d838f93652L,
  89292. 0xcef6276e83301934L,0xcd857684c28e8b6dL,0x0000000000000195L } },
  89293. /* 56 << 231 */
  89294. { { 0xe5755448cd5974dcL,0xdc4336085d6bc190L,0x291521f7431ba450L,
  89295. 0x31e71c894d80164bL,0xb42bb11ca6ed9fc5L,0x3a0966fead792be1L,
  89296. 0x7f75f881469b8352L,0x38ef2c56448076a9L,0x00000000000000a2L },
  89297. { 0xac95a77d7d743f9fL,0x06026129f3465546L,0xd56bee30e9fc9605L,
  89298. 0xfad39345bbcc7494L,0x2b178c653f526356L,0x22418748c661ca67L,
  89299. 0xeb53cf749b79aeccL,0xe7c48bdce76a53f4L,0x0000000000000092L } },
  89300. /* 57 << 231 */
  89301. { { 0x781ddc8410eb4bceL,0xfe20bc22689f566dL,0xabf9614b250b11c2L,
  89302. 0x2abc1259fc25b7b2L,0xeb9d15476817ae1dL,0x9e614c5fc00482a9L,
  89303. 0x284a7be697aa02e3L,0xd2786becb912f11aL,0x000000000000006bL },
  89304. { 0x3e5b8b80f712bff4L,0x2b276fe8615a7bb8L,0xb7e4a47741667babL,
  89305. 0xdbf07505785e403bL,0xdafda3048e5d87d1L,0x651fa13f2485f1e7L,
  89306. 0x0e96561c41fa8c33L,0x9a964b6afc9533c6L,0x00000000000001f6L } },
  89307. /* 58 << 231 */
  89308. { { 0x5efb8a35a9a4aefeL,0x69f838d2ce792292L,0x56e06b1041f75d79L,
  89309. 0x39c0f9fb6db28a88L,0xdc03a5303f58d36bL,0xc80062fdc6689d55L,
  89310. 0xcd52297236e0a293L,0xa0179bb20ffb115aL,0x000000000000000dL },
  89311. { 0xab0bb76d856d0d54L,0x2513146539f307faL,0x4bedb07820813767L,
  89312. 0xf9a1263f59928c34L,0xefe5bdc4909d6dd5L,0x5bec7330c4f8aaecL,
  89313. 0x434209fc1c5c1187L,0xc6f261bcb3b2946cL,0x000000000000015fL } },
  89314. /* 59 << 231 */
  89315. { { 0xb939ba08271eac87L,0x01b74a5f96572526L,0x0128e1a8d003e6caL,
  89316. 0x0acc7456cdde9dc4L,0x645651efcd70a637L,0xe19b922266eff529L,
  89317. 0x12e19d5d5e40a325L,0xe0ba91f712d0572cL,0x0000000000000009L },
  89318. { 0x1b2ebb6600213e90L,0x0f796868e8f5a418L,0x460b815804d5336cL,
  89319. 0xef5b776a8f3acd2fL,0x2d61e4f233112586L,0x13cb818d4d8859ebL,
  89320. 0xae3177cd776f15c5L,0x9ce64970a87d1497L,0x00000000000000b6L } },
  89321. /* 60 << 231 */
  89322. { { 0x9cb870731e4539afL,0x9478d2def6271c13L,0x090c027268d3482eL,
  89323. 0x8c977ce0f731a796L,0x13f5710bdc318bd2L,0x2dae989a9a151ed0L,
  89324. 0x598f15eed94e7992L,0x72aafc8f4d65daf0L,0x000000000000012bL },
  89325. { 0x4ad64f6d702eb8f6L,0x2151ae34a1ef79d5L,0x98837c0e3ce0c875L,
  89326. 0xd63615b6a2e6eb4eL,0x447c6fc3b7d9edb7L,0x67f864f5a86179a6L,
  89327. 0x1e980d0ce354cae7L,0x983691a48c4e9674L,0x00000000000000b8L } },
  89328. /* 61 << 231 */
  89329. { { 0x81446ce047b083ddL,0xeb0eb48ded4164dbL,0x92159ee968b817beL,
  89330. 0xfb501e7cb43bc0efL,0x7486c8f67ac944b2L,0xd091b2f3d63a9c1cL,
  89331. 0xd80fde4c25e0d296L,0xc22410b3ba3d2bb5L,0x0000000000000042L },
  89332. { 0x547f85ccae50848bL,0xaa2af55884859461L,0xdbdd0e1a20f810acL,
  89333. 0xe6f7bb90536880ebL,0xcd47da15f32226b1L,0x8a5bf84843885abeL,
  89334. 0x0a95beffe5ade276L,0x49f09071102f85efL,0x00000000000001c8L } },
  89335. /* 62 << 231 */
  89336. { { 0xe16cc278d16c8677L,0xf0f1c0291aa4823aL,0xf235fc167c6b2ef4L,
  89337. 0x854561cc58128c62L,0xb9553b64017d2fd0L,0x8f733f2883213fa5L,
  89338. 0x52ededb79f93720dL,0xd7f0a1cf64f4fb42L,0x0000000000000070L },
  89339. { 0x23d01627ac7cc128L,0xbe2bb56afa287351L,0x961cade267bd39eaL,
  89340. 0x1ab8cc062eaf0e26L,0xb46886315db2972dL,0x6e48cee137868d66L,
  89341. 0x37856b801193521cL,0xac3f87662ddd16edL,0x00000000000001b5L } },
  89342. /* 63 << 231 */
  89343. { { 0x90c3310c6550603cL,0x368ddcb260508b36L,0x22724f188d23847fL,
  89344. 0xe486e47c49eb4fe7L,0x4fe67da23edc4892L,0x437b4cda2c8767dbL,
  89345. 0x61352775146e8e6fL,0xfc0a61384acc18f9L,0x0000000000000043L },
  89346. { 0x2faf71994c5f4459L,0xc82c0ac392e4b40aL,0x0044de2896e9663fL,
  89347. 0xbf301ebfb957c578L,0xa25deea70d544928L,0xa78c79201fd91e0aL,
  89348. 0x0e8f9087ba045978L,0x33fe0d7b7b01bdf8L,0x0000000000000142L } },
  89349. /* 64 << 231 */
  89350. { { 0x5a6db3a8e35ab524L,0x2e6954315117b9cdL,0xd81f6f6417217cb3L,
  89351. 0xb4296467910f3354L,0x7249dcfb5a83e39dL,0x7b6df96f8c87a277L,
  89352. 0xbc8ccd9fcfb09d4cL,0xb644e4e35f67508dL,0x0000000000000174L },
  89353. { 0x1a228c95246be9d7L,0xd9b7805b669d44f0L,0x7c240e63f5a7d167L,
  89354. 0x863012f56bd7f19bL,0x1cf3d77e3a9321beL,0x407dcfd2782b061fL,
  89355. 0xdbccc9df881439f7L,0x4a3a07a3116d1beeL,0x0000000000000198L } },
  89356. /* 0 << 238 */
  89357. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  89358. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  89359. /* 1 << 238 */
  89360. { { 0x9ab5fe51e870201bL,0x181be214428dcc9dL,0xea30361a335ab6fcL,
  89361. 0x8f43702a3af87eceL,0xa46b867147df3e87L,0x4b2fdc3fbb02e25bL,
  89362. 0x72e3bc8e68e4d43eL,0x854ae7242cf96610L,0x0000000000000075L },
  89363. { 0x56ecf90bfeb21bf5L,0x75d38316e555d52aL,0xfaea840084cbcf08L,
  89364. 0xbd4a0672b5126460L,0x33c3dd8fee751f85L,0x4d658970d8fd6a67L,
  89365. 0x49e1041a439f0c52L,0x0480366fbd63268fL,0x0000000000000101L } },
  89366. /* 2 << 238 */
  89367. { { 0xcc24e895e1756b7aL,0x3874a79a3c09615bL,0x30e2489d9014ffc4L,
  89368. 0xedfa2851e9070c97L,0x69113ac763017e47L,0x2dbd4d59ee9161c5L,
  89369. 0xbd93abe740c20e53L,0x2eb660e491ccc0f9L,0x00000000000001f5L },
  89370. { 0x1363f45a719c9f85L,0x32dfb30ea43cd38eL,0x35933e9a0b75d1ebL,
  89371. 0xaf1fc78775aebc26L,0xb444f393a27240c4L,0xdb46c96df7592075L,
  89372. 0x59c26ad852510ad2L,0x163890bf029bb7a0L,0x00000000000000a6L } },
  89373. /* 3 << 238 */
  89374. { { 0x35e461c73f298075L,0xdabce92b476fd938L,0x1a928e413e13910bL,
  89375. 0xb2e8f656cc7dd6cdL,0x8a8aebfa4d4cd65aL,0x23cc2419d684d87bL,
  89376. 0x6e96b40ba93085c3L,0x303b86411f9c3babL,0x00000000000001f6L },
  89377. { 0xe66619d05a55180bL,0xab397f7d3be53831L,0x103c38d48f88fdb7L,
  89378. 0x7e6d67dfadf9520eL,0xc93512456e517e33L,0xd8596b94a69929b8L,
  89379. 0x9611f83a43dd1ff0L,0x46568571d30d5f6cL,0x000000000000006dL } },
  89380. /* 4 << 238 */
  89381. { { 0x0f8341fe21dd6e7aL,0x5c106f8eea93e5c1L,0x8e2ad8e9ad0114bcL,
  89382. 0x277ef823f059d291L,0xed4a28e5dc50fd78L,0xa071965189cdf20dL,
  89383. 0xe393b2641fde162cL,0xd383b86d30a5b16dL,0x0000000000000041L },
  89384. { 0x04b8115bad6dbeafL,0x7d7f0bb9a996519bL,0xab54d4c89c397c91L,
  89385. 0x1750b97d77a6a3e3L,0x1637909b14554321L,0x7311da687a5aeea3L,
  89386. 0x1f91a0fd52130453L,0x4338b3d686753f28L,0x000000000000014cL } },
  89387. /* 5 << 238 */
  89388. { { 0x555a5ed3e41bdc8fL,0xa4c7146e378bf6c2L,0x38ec797a397ff807L,
  89389. 0x0a90aceb5054b6b5L,0x51c4fbf35013868dL,0xd02e806b4c84f3efL,
  89390. 0xe6b25f2947687bd6L,0x9c80d5336dcd81fcL,0x000000000000003dL },
  89391. { 0xa804c672bf2ef9aeL,0x4a9ee6cf0608b597L,0x2e9648af9b9c23c3L,
  89392. 0x4b4c51d97c465908L,0x742376d23f199fb7L,0x2c2466d04892a894L,
  89393. 0x65b4a926f76de379L,0xe991d330e599d231L,0x000000000000018dL } },
  89394. /* 6 << 238 */
  89395. { { 0x524e9cb4da163afbL,0x8a0e4a8f228fb3bbL,0xf664c14b45960ee1L,
  89396. 0xe6eea91bc51f2265L,0xbc9515293ce6bbedL,0x1dcb0c979f66a923L,
  89397. 0x3c1dcaeffa6e34abL,0x8566db771ec37478L,0x00000000000000deL },
  89398. { 0xbabc8a979886e4daL,0x7be9df692fc58670L,0xfecd51cafbbd20c7L,
  89399. 0x3d9edb6c856ca68fL,0x842d8464e1a1b32aL,0x7bb8fb391fab27d8L,
  89400. 0xc7a7b8614b4c1060L,0x942bd576d69619c6L,0x00000000000000e9L } },
  89401. /* 7 << 238 */
  89402. { { 0x6870abbb49d18a7eL,0xeca5915c9e4dd9d3L,0x394f185c0196125eL,
  89403. 0x5b1885351bb56e6bL,0xcdaf07e8e1299083L,0xca4421e89e734760L,
  89404. 0x4288c2236376839aL,0x06e9e6aac7f2476dL,0x0000000000000043L },
  89405. { 0x83c257a2e91a87cbL,0x37d3a58193ba96d1L,0x23c753bf4ea5fd63L,
  89406. 0x202f819864a1df10L,0x97a5b3dc5b6d5dc4L,0xb3262185add5915dL,
  89407. 0x37a728f3055d11a8L,0x1110f66b8d850652L,0x0000000000000028L } },
  89408. /* 8 << 238 */
  89409. { { 0x99a1daa94cf92b1fL,0xb08a7bdecf013530L,0xcbe6c7bc1576e51bL,
  89410. 0x9f88c296e6c13e9fL,0x13fdc9556370791cL,0xadefac0da42b1973L,
  89411. 0xe69418a412cb2ffcL,0xaf05ce9762eae4e0L,0x000000000000005bL },
  89412. { 0xadb36e6565e89a12L,0xde7fee5853131bd7L,0x7335c5cbabffa9c1L,
  89413. 0xabf94bc392947061L,0x11d2e02b6109bc5bL,0xfc1fc1d28a097cdaL,
  89414. 0x4512fbb6f3d5db21L,0xd40e8637336a3d5fL,0x000000000000013bL } },
  89415. /* 9 << 238 */
  89416. { { 0xb927982ec0e8a1abL,0x478a75ff53dc6cd9L,0x45e6200fbe786ed0L,
  89417. 0xee2c3a3699401156L,0x042c35b2176e07e7L,0xc09e54deb073382aL,
  89418. 0xb23b8397c14ed4c6L,0x296c490bcedd676cL,0x0000000000000181L },
  89419. { 0xab1a53120317d2e2L,0x63ba4b47c5b44b41L,0x2c8a05a1a006a95dL,
  89420. 0x4c3b5bebc7f285b8L,0x14371a425d385fdbL,0x465ae20ee294b472L,
  89421. 0xd3ec2abb5edaa3f4L,0x72641b9f580e0a46L,0x0000000000000078L } },
  89422. /* 10 << 238 */
  89423. { { 0x005ce3f7d14c0264L,0x8ef018dc6b7d372fL,0xad9b3a6ec20ea32fL,
  89424. 0x860938b2c327793dL,0x6c1669174b6867f4L,0x8d96f5fa19062b2eL,
  89425. 0x484a2deb22be3819L,0xcad084fb965dec51L,0x000000000000004dL },
  89426. { 0xd3afa07be469f94eL,0x58e526d7762e7cf6L,0xec8641d0a6338b20L,
  89427. 0x7694b364330d3bfdL,0xf5d8cf6f4193c78fL,0x7395355f11616b29L,
  89428. 0xe29b7a83ab78eb55L,0x71c471aa4eb0dd18L,0x0000000000000079L } },
  89429. /* 11 << 238 */
  89430. { { 0x27a0dcec4640a9fcL,0xe00471295ee9a3a5L,0x94d54b86054af15fL,
  89431. 0x21f6ae1dc99e6364L,0x9cb3b7413a5ecd7dL,0xdd128fa1c6840ab5L,
  89432. 0xf62bd90375f71498L,0x5651778f8bd73c30L,0x0000000000000148L },
  89433. { 0x0c84978d1977a031L,0xee1868aba79b8071L,0xfcf1485672e09b67L,
  89434. 0x0b1982dd174d8166L,0xa43baf2886045a38L,0x089d267e5b6bcf85L,
  89435. 0x7bba2d8b97f39f60L,0xacccd7c488b1a299L,0x0000000000000030L } },
  89436. /* 12 << 238 */
  89437. { { 0x3671d520e411c88bL,0xe56d2622af747caaL,0x8c2d939f3f298a36L,
  89438. 0xd09f955e38b36307L,0x7aef92fdacfe3a5fL,0xaa1b543a3c3413e3L,
  89439. 0xa68bcf7585e8eea2L,0x1c33b90957271ab1L,0x0000000000000175L },
  89440. { 0xe829b5480993374bL,0x93ace6b43758fa53L,0x378932adfb48d303L,
  89441. 0xa0be54cd7b9aca58L,0x6f020d2f07d56bfcL,0x661cc6df332d5724L,
  89442. 0xe1c67b4c4702e14eL,0x6d7e1534fe0ce1f4L,0x0000000000000165L } },
  89443. /* 13 << 238 */
  89444. { { 0x542bcf698602b37eL,0xa5abcec8d9ccafc9L,0x9bbef4144d01c669L,
  89445. 0x1cbe4eb53f21f94dL,0x73e4bd548d17cca3L,0xc71a14ef0fc467fcL,
  89446. 0x965e6d4741791872L,0x53d248008a5d401cL,0x0000000000000045L },
  89447. { 0xc5e9fb2b7bc260c3L,0xaff4fa860768d8edL,0x3d9b189fe9bbb088L,
  89448. 0xc2b32e2cb971a9c0L,0xef0b19a9500994faL,0x9a916d6b4ca815aaL,
  89449. 0x3808a111df10d2f4L,0xfa259ef2d7d6440aL,0x00000000000000c1L } },
  89450. /* 14 << 238 */
  89451. { { 0x427e8420abc1c27eL,0x21124fb3118cc0c6L,0x3fa9121b7030b6d2L,
  89452. 0xda46a2b7cba1c68bL,0xb248a68d3fa27645L,0x55268b8ec3876d05L,
  89453. 0xd12a2229ca45c78bL,0x65aabd782de0e319L,0x00000000000000e4L },
  89454. { 0x6e660d9b77d9dd90L,0xe4edced2707fbf26L,0x8c8269de5d53a600L,
  89455. 0xa9d2ac7cc1d0cb90L,0x7adf4c79998ce4bcL,0x553294473903cbb1L,
  89456. 0x2af44eb383b6a801L,0xf3b473a71f55b558L,0x00000000000001c8L } },
  89457. /* 15 << 238 */
  89458. { { 0x650d6b150b56ca3cL,0x510d05a999013060L,0x8f317f930173d49dL,
  89459. 0x1ba9a82c346efba3L,0xf21915c9238c3a66L,0x400b5e7081e3727dL,
  89460. 0xb7a6c68ff2e8bfe8L,0x4ff4a4efe83e0afeL,0x000000000000003dL },
  89461. { 0xcdd4dd7cc85ada21L,0xef6508c1604c767bL,0x1155f07962894489L,
  89462. 0xe85ce6f65b58e49fL,0xa5be7867bcdbe11eL,0x94251f2e0254ac77L,
  89463. 0xb7e1e2fcb2a4c84fL,0x93b3013dad5da02aL,0x000000000000013eL } },
  89464. /* 16 << 238 */
  89465. { { 0x70eae5e2b7c097fdL,0x690c65c6becc7c65L,0xf684ce2cbeb8a529L,
  89466. 0xfb5bd6fa772826c5L,0x12025c313b0d8680L,0x8f20fac7cbef00adL,
  89467. 0xb810bf456fc66ac3L,0xa960e1b3c7878181L,0x00000000000001a1L },
  89468. { 0x85a5e619f6103b53L,0xcc4cf223fc14a4b5L,0x68985b1f977a8c64L,
  89469. 0x410eaf63fe82447cL,0xe20381490453d341L,0xe1d008ad719258deL,
  89470. 0x26c1b1773410d895L,0x93cad3da45bae984L,0x000000000000012fL } },
  89471. /* 17 << 238 */
  89472. { { 0x83470dd85087e317L,0xdb7733bae1f29847L,0x54f0d79b32b8ee6cL,
  89473. 0xddc71c2d83573e46L,0xfd1fffb55e2b6321L,0x3daa5b01a31cbcafL,
  89474. 0x084026ba3ea75ecaL,0xd4e58127f22d9f33L,0x000000000000018aL },
  89475. { 0x3ea9cefcbd40d455L,0x4350051a09e79ec1L,0x0e7888a7ce0a3585L,
  89476. 0x32dab5ea59e3067aL,0x4843818f5953e6d3L,0xde8b4b0fcc703daaL,
  89477. 0x386a70895d1c9c6fL,0x68d1bfbc6eac5abdL,0x00000000000000b4L } },
  89478. /* 18 << 238 */
  89479. { { 0xbd7c96176411ed7fL,0x39202b58f9a594c7L,0x4c20a11472ff2f6bL,
  89480. 0x8eae9ef7641d9c13L,0x89aa633f48b0cce2L,0x92b63306557288b0L,
  89481. 0xb3a581c0ce7380aeL,0x8666b913fb705467L,0x0000000000000095L },
  89482. { 0xf15719ceee9abfefL,0xe780789a4e41aa97L,0x9d21215431e6afb7L,
  89483. 0x17d9bfab5cbf72ceL,0x0c48ccacb0237bb2L,0xe0a08569d349a092L,
  89484. 0xa409e08ded3cfb4aL,0x79e67928a1c0e87aL,0x0000000000000182L } },
  89485. /* 19 << 238 */
  89486. { { 0x1d3c45e847667107L,0x866ca278c080ca9aL,0x9a41e8792dc42392L,
  89487. 0xad3283a25b513845L,0x14d23b50b285d0a7L,0x4aef4370d7364e64L,
  89488. 0xc5043319b807cdb7L,0x88c508189673ed5cL,0x000000000000002dL },
  89489. { 0xd56fa0fcf39ca196L,0x97e6dbd9852a5db8L,0xd8361629027563f3L,
  89490. 0x93495e12e4c1ef8aL,0xcd5776f11bc10140L,0xb21ef334e3b873c9L,
  89491. 0x48f0ece3098c8fa7L,0xd97318a4f2302f9dL,0x000000000000018dL } },
  89492. /* 20 << 238 */
  89493. { { 0xb83fdb669de748b4L,0xc46f81000c41f158L,0xade8932fb8f8f374L,
  89494. 0x5728e8aac7ab11feL,0xa3be4365601535d1L,0xf366f0d450c52b71L,
  89495. 0x6e00860084db7699L,0x39c5934c32bd9061L,0x0000000000000003L },
  89496. { 0x4c5f3ab49c964a3fL,0x30ee02c369a70ba7L,0xe4f4e7721699b55bL,
  89497. 0x957efd09f2104682L,0x7be1bdb0298947d8L,0x128be588a6ce37daL,
  89498. 0x10f0abbb5110d219L,0xfe63de4b6c433528L,0x00000000000000a5L } },
  89499. /* 21 << 238 */
  89500. { { 0x0ce1685131ae8a81L,0xb72c77b2d7337ca8L,0x7e74dba79aedcdf8L,
  89501. 0x18d4e5e3da3c5c9bL,0x19ccdba8edb516a9L,0xe62b675c446ece23L,
  89502. 0x5b4aa29acf1e7f89L,0x37dd4f643940453dL,0x00000000000001b4L },
  89503. { 0xb3c5170a3b3b6d8bL,0x476b1d951f6c85cfL,0x7eba2355afd2f7d8L,
  89504. 0xd6496bd907671014L,0x9b1e6ea26f122c61L,0xcf03fff746b200adL,
  89505. 0xeac4278017b28fdeL,0x38eab344da84d1a7L,0x00000000000001bbL } },
  89506. /* 22 << 238 */
  89507. { { 0xb5bc3117e7c0701fL,0xb48e5dc0d6fd7595L,0xd1b5fe1a3b0f2afdL,
  89508. 0xf1099d2f9248f207L,0x6cc721d9ca2b2ed7L,0xdb339d46a360ed1fL,
  89509. 0xfa226637396de0adL,0x2fba134ae405fd2eL,0x0000000000000110L },
  89510. { 0xb1d2d7ac0b4bf098L,0x79d1b226f5ff126dL,0x92a0d70fbd01aa18L,
  89511. 0x67e5828531f22085L,0xf694f833d8b14f5cL,0x13c3cc45a40691daL,
  89512. 0xa3405c019388bfb8L,0x6003716261c4da19L,0x00000000000001b2L } },
  89513. /* 23 << 238 */
  89514. { { 0x9a02b009aaccf1f7L,0xb6ffb0541f2fd3a2L,0x16512f3487e4db60L,
  89515. 0xf23615007af3e638L,0x3fe5d84a1d4c8fc1L,0x73c21064f2251788L,
  89516. 0x54f27fc6fd65b906L,0xc2262a4040e07e0eL,0x0000000000000072L },
  89517. { 0xb8c93aab02b4791eL,0xae54bd0ca0bfd55eL,0xebb909da4ea41398L,
  89518. 0x8af3c61555c3e881L,0x61d0d6b9cff9966fL,0x1c28b62eb85433a2L,
  89519. 0x58167c244f422e5bL,0xae2dfae6446a4077L,0x0000000000000063L } },
  89520. /* 24 << 238 */
  89521. { { 0xee8b94e0bcbcf019L,0xa3965127952a5a75L,0x5d306ffdbd99b8e6L,
  89522. 0x9726acfcf7f77f82L,0x52a8c48f333e69a2L,0x2561b47ee5310f8cL,
  89523. 0x5c707992ddba50adL,0xca39fec1d49f9302L,0x0000000000000197L },
  89524. { 0x773374e03330c1deL,0x3c186e5a12186692L,0x7c50d77c2a07fe4fL,
  89525. 0xb0387d01ec8cb87fL,0x891a741524af7e0dL,0xacd3fc805dce5454L,
  89526. 0x2a92f9cb257238d4L,0x25075cbc4415b2a6L,0x000000000000006fL } },
  89527. /* 25 << 238 */
  89528. { { 0x7884bbb629f1ff9eL,0x2b3706ed9719d7f0L,0x3a418c4929172624L,
  89529. 0x1857e4ddd83e00c4L,0x8d5bea69add00324L,0x60ee0dacb3d682c5L,
  89530. 0xf34b52b594bf155eL,0x9cbc6954fa986cc0L,0x00000000000000ffL },
  89531. { 0x23d72f25e31ed109L,0xa053addcebe1cbecL,0x375503015674aeefL,
  89532. 0x2651c46a6eefe964L,0x600c18699dff26f4L,0xc20ce2878be15274L,
  89533. 0x17f6b16a86f62663L,0x919c4e3d4158baeeL,0x00000000000001daL } },
  89534. /* 26 << 238 */
  89535. { { 0xe8d55c1e634e034dL,0x344ec79cd9e13479L,0xf3b583bf4be319f2L,
  89536. 0x36bd595ea43a6c72L,0x64c244cb8ee00c73L,0x592642553034b765L,
  89537. 0xf98e04c8d6d25e62L,0xfe83950036bfb0f0L,0x000000000000004cL },
  89538. { 0xcc19547c4f773a47L,0x1b974525f727e658L,0x36290dd2b17ab2bbL,
  89539. 0xb1e03bc6dd339b6dL,0x3d2fd734d4b510dfL,0x56e14c3136363925L,
  89540. 0xa61a6fd8574c83b9L,0x7340921e4c17fa62L,0x00000000000001afL } },
  89541. /* 27 << 238 */
  89542. { { 0xe6eeba2ac872b54cL,0x3734508057576f82L,0xc82723574939b69eL,
  89543. 0x4c9f83c24460d5baL,0x635d558bfd73c262L,0xf58b7a7750cb2d56L,
  89544. 0x14bdaf8abd4c14f1L,0x31d03f3b5acf2c6eL,0x0000000000000099L },
  89545. { 0x595629f11a4aae0cL,0x2f72899cf87bedc0L,0xbe2d7dcff6797377L,
  89546. 0x49fb22c2ff654225L,0xfa99f364161f0820L,0x6f069ff13b8a9200L,
  89547. 0xf07433d474600803L,0x4035ba9921b24016L,0x000000000000003eL } },
  89548. /* 28 << 238 */
  89549. { { 0x64f0ae6630ae5727L,0xeb7fee1cccfe2f46L,0xcb52d65cc17226f5L,
  89550. 0x11bfdd3c4bde2ff6L,0x14593dba22f56523L,0x7549c2a8e5a07b06L,
  89551. 0x27e857b0a259420cL,0x5f2702cfd795bf2bL,0x00000000000000ceL },
  89552. { 0x50247b7799ef6f42L,0xc5d4d501a9496281L,0xc2898fd0848ee90aL,
  89553. 0x5916df473b105ea7L,0xc963d568a3fc2a93L,0x4f5dbd88a71e69ffL,
  89554. 0xb1dfb820ed98520aL,0xf91d6e9e5bbb0779L,0x000000000000010eL } },
  89555. /* 29 << 238 */
  89556. { { 0x96ad602860bf7a00L,0xc3426e16c47cdc65L,0xe57e994a1e2760b1L,
  89557. 0xeb93b5f7b3fb4b03L,0x31bb9ec24a492c4dL,0x65d3cf03584d5be8L,
  89558. 0x601b91ccc97a4958L,0xc969b84d7336cea0L,0x00000000000000e7L },
  89559. { 0x0979646c913be9f6L,0x6320c63456598b42L,0xfb1cb31e59f91ddfL,
  89560. 0xa2f17bfc0c88b8d8L,0x894985b268d26956L,0x3e960fcbabfa8376L,
  89561. 0x913526f20caa7b2dL,0xaa97458ead4a33e5L,0x0000000000000087L } },
  89562. /* 30 << 238 */
  89563. { { 0xa3931ead385812f2L,0xa5d9d3ab9ff9b9a1L,0x8b98aee83299344fL,
  89564. 0xb9e1f38bbfc5c57cL,0x66c8223742e07798L,0xf2bb539d6f4bc8baL,
  89565. 0x022615e0eb11077fL,0x41059629845c0f9aL,0x00000000000000d5L },
  89566. { 0x05e13d3b4953c8ceL,0x4892bd1e05ecb056L,0x15c3d629e54ce7b4L,
  89567. 0x818460931bc0c8cbL,0x70ae6768e5b06fc6L,0x549cae2800e46659L,
  89568. 0x674019953a739df8L,0x3323b1b868fcc1e8L,0x00000000000001c8L } },
  89569. /* 31 << 238 */
  89570. { { 0x1b81beaa3dce6ebbL,0x3232328e2986bcc8L,0x08562a2e7a7ec1b1L,
  89571. 0xeed1e9d9c46c24b9L,0x15a05107ef0106c2L,0x54dbe4e566610461L,
  89572. 0x4c5fb5c51ec80c7eL,0xa7507d581e15f329L,0x000000000000011dL },
  89573. { 0xc3de850e31675fecL,0x2164d583de66dee1L,0x2346eecfef36f11cL,
  89574. 0xd3037b676d397030L,0xc88b32b46c94a3e5L,0xb9494d80fcb7031cL,
  89575. 0x45060066a79a0c8bL,0x2c283d47fd946bacL,0x00000000000001ffL } },
  89576. /* 32 << 238 */
  89577. { { 0x6bce4008db3002ceL,0xe109980c03fe67efL,0x35f077201cd61540L,
  89578. 0xb0adfba4723c0ef2L,0x811b100860ca9a5bL,0xedd17f04c0d112c6L,
  89579. 0x8cc7cc5f49688782L,0x716f36bbd5f89c31L,0x0000000000000031L },
  89580. { 0x700cb92a1d19d891L,0xb99918262daa7a23L,0x834cd1fdd9ad0c74L,
  89581. 0xd74ee37682c919daL,0x6569353497696deeL,0xe2615c6e12e9ab53L,
  89582. 0x4be93a40090bbdf3L,0xb811069663437098L,0x0000000000000162L } },
  89583. /* 33 << 238 */
  89584. { { 0x3776e68de439b6e6L,0xc11c5cf2a93fec79L,0x18322c456e8cb760L,
  89585. 0x6d23d5923074466cL,0x922635baff1e0ba8L,0xa37b56544de73b12L,
  89586. 0x0767e97a82224c9fL,0xae0f9650044cded8L,0x0000000000000050L },
  89587. { 0xa0a9a5b35971b232L,0xa1aef7a02da1a761L,0xdf1cfc2c85b63dfeL,
  89588. 0xf91bbb7d5d293c49L,0xcba0ba2a9a832665L,0xe5a1b4c739fd3a27L,
  89589. 0xe647ded0140ed954L,0x6ea2c367f0e619ccL,0x00000000000000dfL } },
  89590. /* 34 << 238 */
  89591. { { 0xcdf28f7cb59ac237L,0x2d2fb106ea4e11ccL,0x0c4d36c2120a150bL,
  89592. 0x21adb80a382f0b0eL,0x3559de088dde2c46L,0xf419d3758b9d7854L,
  89593. 0x925741d95bea2eceL,0xe94a66a4372032e0L,0x0000000000000170L },
  89594. { 0xb34b3fbba5e4a112L,0xf14faedf1303ea36L,0xfd2f1daa22e48527L,
  89595. 0xee04e38138ae2616L,0x4f70a2f74b4262fbL,0x6cdf8c988f9eaf7fL,
  89596. 0x89287d7a67171cc5L,0xbc4f369fa911d65aL,0x00000000000000b4L } },
  89597. /* 35 << 238 */
  89598. { { 0xe0b1e01ea1fc8413L,0xd1272c9abbb3e2e1L,0xb79eff0eb97e058eL,
  89599. 0x3e22d38d68027d9cL,0xb8a10d739d6e9ed5L,0x2987ceb003d3a5b1L,
  89600. 0xc039b0fe1d7eb0f8L,0xa40991bc58942c9fL,0x000000000000004bL },
  89601. { 0x0b8602254bd1a64aL,0xa2a6a556eeeaa4f6L,0x2006573bd5fb4f71L,
  89602. 0x7e2ec04cfcf5eb9fL,0xdded1c6ad3080364L,0xf0eac914ed587661L,
  89603. 0xbbad7d89912701dbL,0x1926f99ed89b48faL,0x00000000000000c1L } },
  89604. /* 36 << 238 */
  89605. { { 0x2640b0474717da49L,0x6b303097f0a90682L,0xe3fbb37ba4756b74L,
  89606. 0x084581b1e3f7ea6aL,0x942b168d67a536e8L,0x4cecb7ef8e8e4dbdL,
  89607. 0x48f4b7c0b17164d3L,0x8a464b3a93bfca74L,0x00000000000001ffL },
  89608. { 0x21f4906f7268ec93L,0xd61c24432acbde61L,0xde475d32d6fa2261L,
  89609. 0xbaae1526a02f45c5L,0x16b2c6b30212c1fdL,0xd6afdfe9fddea6a2L,
  89610. 0x1f8fb94d5daf789dL,0x2f89389b576846a0L,0x00000000000000ffL } },
  89611. /* 37 << 238 */
  89612. { { 0x9382f1039bf6e708L,0x17d1164758ef0269L,0xace45ade38ec27d2L,
  89613. 0xcfc559ceb0a356d1L,0xa771069d6edef1e0L,0xc0dc328f753868d8L,
  89614. 0x19a2e784b9621a36L,0x2a959514f8607fa1L,0x000000000000007bL },
  89615. { 0x2edb1cad55f7e034L,0xb17fb1b8a475236eL,0x06c1cd91ec88e88fL,
  89616. 0x01b3ac7c9b4b4972L,0xb826191aad44bee8L,0x80260416b37c96a9L,
  89617. 0x3ca2a771b7132816L,0xc38c82ad652906e9L,0x00000000000001edL } },
  89618. /* 38 << 238 */
  89619. { { 0xec3a61c2762601e9L,0x4b70960158620f6dL,0xa4d1de2b8cb3717dL,
  89620. 0x926fc94297198836L,0xa3b5a26b93c6aeffL,0xc6f933c6ee4999ffL,
  89621. 0xf2fc0ac93b15ac85L,0x645c919b43ced35dL,0x00000000000001d9L },
  89622. { 0x543749ecccb952e0L,0xa05917794fd35411L,0xaf499a4fecd3e486L,
  89623. 0x3a78d1f489b19c12L,0xe110f2333129acbcL,0x13e4941b73ea2d43L,
  89624. 0xed5c7b9f61892b8cL,0x9cbe3ebf9fd89b47L,0x0000000000000092L } },
  89625. /* 39 << 238 */
  89626. { { 0x5abb2e1f0648f550L,0x6f964c0a58d46cc3L,0x568ceb9058852020L,
  89627. 0xe01f9481e794a871L,0xe5687af6d5c440dcL,0xd88b9baa6ed0bf7dL,
  89628. 0x8730befb073a24f1L,0x950d38f59614bd97L,0x00000000000000d5L },
  89629. { 0x49e471eba5517b5bL,0x1fdc6a0f9ba2bb7eL,0x9e3baa4d4a47f403L,
  89630. 0x96ba18b57bbc5ccbL,0x570a28b31bbd2780L,0xbf948e37002edc95L,
  89631. 0x6a92422b11a4eca3L,0x00a21cb769b7b1c1L,0x00000000000001e8L } },
  89632. /* 40 << 238 */
  89633. { { 0xff9f5e5ed7c958a0L,0x99585b2f434a426dL,0x07b475a96db1ed0eL,
  89634. 0x1ea7f5d7a973929cL,0xb4006a0b7bbc180bL,0xa86f75d4925bfaa9L,
  89635. 0xf986de1075c8a7e3L,0x43e74f08f25ae706L,0x0000000000000088L },
  89636. { 0x4ffd5c105068acf5L,0x6ffd7eb6063d53ccL,0xe899d17938343cb5L,
  89637. 0x9451a0150a3df7beL,0x8a581525a24b1528L,0xe5dfdb1b67a03545L,
  89638. 0x715d2b87caaa5064L,0xae4594ce0ea125baL,0x00000000000000c5L } },
  89639. /* 41 << 238 */
  89640. { { 0x3d8b52ea7a44f134L,0x9831076a6478318dL,0xc343c2e93314ea42L,
  89641. 0xce35d8739724b677L,0x4f9c688b8f14677dL,0xc7c080a58d1bc77fL,
  89642. 0x512359ab2b8053a1L,0x5bcae66250c3b651L,0x00000000000000aaL },
  89643. { 0xc82f3a8769afbb4aL,0xb073c1da2d601213L,0x68d6cf6518ce0d09L,
  89644. 0x620f23a591c7fb05L,0x938c96dc6d56e8edL,0x966e1f705007a705L,
  89645. 0x3e4a940a2db66d9bL,0xac446031d466e3ccL,0x0000000000000026L } },
  89646. /* 42 << 238 */
  89647. { { 0x87aa2f8da0cc66f1L,0xcf4b9975e899fbf0L,0x45cc21ef33edf673L,
  89648. 0x7005319b091438f1L,0xc1e62e05fd50eaacL,0xe49ef8a210d2041dL,
  89649. 0xf49778b07531821dL,0x8390c7378c684a3dL,0x000000000000012bL },
  89650. { 0x435518173d6cf7afL,0xc011d17b97f2560fL,0xd222f97d5c29d8b3L,
  89651. 0x5a9ffa8ccce3a4e6L,0x9271c90c8587b8ccL,0x73277e5099870509L,
  89652. 0xe004a07eeca76a93L,0xff9a8582086c9530L,0x0000000000000115L } },
  89653. /* 43 << 238 */
  89654. { { 0xb04a4b529d47f4d6L,0xa1c4d096aee9c324L,0x98e9d57517076ad9L,
  89655. 0xea9ab91c22dea26cL,0x58e4d80a64a5ea57L,0x2ec9a6e0dcb2a76fL,
  89656. 0xd05f78756a1249a1L,0x0cb424f2ba719843L,0x00000000000001c8L },
  89657. { 0x20832c3e5f3b404eL,0x033963e7451b36cbL,0x74046f923cc7d7f7L,
  89658. 0xdfe2ad55c47171c1L,0xe7fd701821fb7d83L,0x7bb4722bf8319c2fL,
  89659. 0x1b7cb3224986e88cL,0x7ab64a64a9ab0760L,0x00000000000000bcL } },
  89660. /* 44 << 238 */
  89661. { { 0xaa0898403516e4d9L,0xdfbb159afba094abL,0xdcb895e26bb49ebfL,
  89662. 0x7a7b572756cf3c64L,0x52861b3c38c7bc1dL,0x7c34176c27352c7bL,
  89663. 0x5b3cc2177d33ae38L,0x4a2083698c494a63L,0x000000000000002eL },
  89664. { 0xd32926625f514fadL,0x5dee99706020b420L,0x8aff8c84fdae8486L,
  89665. 0xfdc0ee6551e60c42L,0x564287bd236681daL,0x6da3e12ecaa82af6L,
  89666. 0x6d17c67ce1efbe58L,0xa0334020ccc6c519L,0x000000000000006aL } },
  89667. /* 45 << 238 */
  89668. { { 0xea94c88e4fe1d344L,0x0a08e3ce5bb17e77L,0xfa1bfe20b9b51a79L,
  89669. 0x8d455cf8fb324d32L,0xe58f0de564d6dc3fL,0x01e80692f396b39aL,
  89670. 0x86a1250628441338L,0xa81733dd8e134355L,0x00000000000001e3L },
  89671. { 0xb5952292228e3d82L,0x3582cb17e1eb802bL,0x84129ab6accfd9feL,
  89672. 0xd3cbf4eca3db67b7L,0x5dfcb4576325750dL,0x638916ed9030a81fL,
  89673. 0xa26d196d5d39a3b3L,0x26d30fec1b8864fdL,0x0000000000000124L } },
  89674. /* 46 << 238 */
  89675. { { 0x6c72d4108c03da42L,0x3b05e597d8d0e71eL,0x947e55e37b5f1e9dL,
  89676. 0x3c899ff708629865L,0xffbb711ddaaa3d57L,0xb888cf7bedecbe75L,
  89677. 0xd7b6bd46961d1f1eL,0xda9a7125dc451900L,0x0000000000000121L },
  89678. { 0x683d251ae65785ccL,0xd00439685a2422c2L,0x6d4668e5d36c1417L,
  89679. 0xe8df49820c580ec5L,0x80f79552b28680aeL,0x4e777d7eab114520L,
  89680. 0x67995b1ae5b2f6b7L,0xddedce535855291cL,0x0000000000000064L } },
  89681. /* 47 << 238 */
  89682. { { 0x219101904aeb5bb1L,0x3e9a204ae5de24ffL,0xe8ec4721ae3b23c7L,
  89683. 0x1e87147a6dc89b75L,0x13ca53950d19680dL,0xf1352672920c68b0L,
  89684. 0xc6cc77db4ad11314L,0x78d984df75daeeeaL,0x0000000000000186L },
  89685. { 0x6cad576e442cc089L,0x74bd0f59409ad43fL,0xfb0ec10fcd1f82dfL,
  89686. 0x6b46a052bf822010L,0x90658aa13d6c9741L,0xa56000a1d91bb102L,
  89687. 0x7c8e2b47f0edb777L,0xc0607199447fdf10L,0x00000000000000faL } },
  89688. /* 48 << 238 */
  89689. { { 0x0609a97b58033238L,0x5b9678b1d40689e9L,0x4ecd26c3986c40f7L,
  89690. 0x7a6083dc2002e8ffL,0x73fd1d708b769797L,0x0fa7df7924e06e55L,
  89691. 0xfa7254f8d49b9efdL,0x742ad69df862350fL,0x00000000000000b1L },
  89692. { 0x78e2366a314a07f3L,0xd0ecaebdaa487012L,0xfb13a82507fd4b1bL,
  89693. 0x6ee4483aec0c854aL,0x0e7d617e72fd006eL,0x0cdfec5b291b4018L,
  89694. 0x2b9fa205f66cca32L,0x261f67f6149d20deL,0x0000000000000075L } },
  89695. /* 49 << 238 */
  89696. { { 0x664c27d0a20d557aL,0x896b2675f0744080L,0x8beaf01afc5af408L,
  89697. 0x40ffc5cd38622d77L,0xc43885d4a2528371L,0x81e1f6745b02e290L,
  89698. 0x4916d18799d1631bL,0xb223123e8dd86517L,0x000000000000009dL },
  89699. { 0x40d9d05f2fb7c4aaL,0xe40e4753a50abfbfL,0xf850526214078e53L,
  89700. 0x5e24344182804fa8L,0x7915bb4726da0a8fL,0xb2c6b557779d3504L,
  89701. 0x04e9ded5050e4e95L,0x9e99a2bb5f476a78L,0x000000000000006bL } },
  89702. /* 50 << 238 */
  89703. { { 0x6c34a56a6ea0b1cdL,0xc71325505a787710L,0x7b88ee97e9a5ea07L,
  89704. 0xe74726638239f9a0L,0x4d37a6dde17258d3L,0x15bae9319708c6bbL,
  89705. 0xc174958fbbc04aa0L,0x7625733b86528ebdL,0x00000000000001efL },
  89706. { 0xafb5465248095b06L,0xc1c05fafd067b459L,0xa6ad20025bc1a76aL,
  89707. 0xaa096c10cd725a94L,0xd37e975f282785d6L,0x2ab89b9ff67d3a9fL,
  89708. 0x5d6f3ed7b7b6e4c2L,0x04ff41ca29502853L,0x000000000000005dL } },
  89709. /* 51 << 238 */
  89710. { { 0xc888d1d441ece6c0L,0x26df9e1bbfeb1062L,0x0b4ddd821bb94aa4L,
  89711. 0x71efd8d119ffddd7L,0x9b3998224e47d498L,0x59872b31aa653dcaL,
  89712. 0x759a84fb2712e2c9L,0x398af98399e74778L,0x000000000000007aL },
  89713. { 0x35ebaf9392c7b6c2L,0x8bacd47278141bd8L,0xd60364f09c53d1e9L,
  89714. 0x790e9dcba27a7a57L,0xb5e554f8991e40b3L,0xc7f3ce27da7a13f5L,
  89715. 0xfb65dc3926398b00L,0x2c6cb9b8229dca96L,0x0000000000000036L } },
  89716. /* 52 << 238 */
  89717. { { 0x46d6266d92756c0eL,0x3164f6a8305e1611L,0x65dfea3d613b00c0L,
  89718. 0x75ea9ab9571828a5L,0x5184dc138be872a9L,0x8c59c14192347d22L,
  89719. 0x96b331914baa4678L,0x0d34cc5a2ae17a1bL,0x000000000000000dL },
  89720. { 0xc05c3c516fcb342dL,0xb36a7efb677d6ea3L,0x016811b2a8067b2bL,
  89721. 0xffff97f94822fa85L,0xfc646b5145883bb0L,0x56c40d49c28d61dbL,
  89722. 0x91be8847eadd1593L,0xecf0a8f5128d8ad9L,0x000000000000002bL } },
  89723. /* 53 << 238 */
  89724. { { 0xe276b588d7262b3fL,0xa64b1324064fc6ddL,0xf82cb69a9cd02e25L,
  89725. 0xf399f6f385ba9d89L,0x3903c34dc52f03e2L,0x91d41630888c7aa6L,
  89726. 0x0402b6f8cc39ea02L,0xfda829d4f8c6dce9L,0x000000000000015eL },
  89727. { 0xba3c550fb2f9160cL,0xc4ef6745e2ad5099L,0x528d3a72cba7c269L,
  89728. 0x38e13dec67106a10L,0xff878c2e05687e58L,0xa6f53fec246e5459L,
  89729. 0x4f30e0c2f126c843L,0x4d3dedcbbdfc0320L,0x0000000000000131L } },
  89730. /* 54 << 238 */
  89731. { { 0x897294e8dbf874eeL,0x84ec352267d9abddL,0xacb0e94b830bb2fdL,
  89732. 0xe4e81bd945db3a07L,0xfb029eaa52e22815L,0x920edf272170ad75L,
  89733. 0x4ebb3c5001e13530L,0x01db6df29b62da53L,0x0000000000000096L },
  89734. { 0x555a5a6823815d09L,0xc3c7463a59449b21L,0xebfe5fcc964b5b8bL,
  89735. 0x1683e495c2076735L,0x361c14526e18bdb3L,0x14496fa3aa0ef3fdL,
  89736. 0xdd45b105a48eee14L,0x91cc21d205ac61dbL,0x00000000000001d6L } },
  89737. /* 55 << 238 */
  89738. { { 0xb539df1f919748f9L,0x942df28d9ab585efL,0x22d555d147e56084L,
  89739. 0xdee5bf1a34baa8ddL,0xe9eef1adca2d8eb5L,0x78505f54b404690aL,
  89740. 0xe4d77116b87f8bd2L,0xae4949dbdcee6b7cL,0x0000000000000177L },
  89741. { 0xb6861e9ac81fd641L,0x113403993596b4c9L,0x588dcca1444a7b1cL,
  89742. 0x573e6b83df0cc0d5L,0x429e5ae8d6610ceeL,0x060d9bb429bd62d5L,
  89743. 0x1337eefec513318aL,0x5c3cda2664cc2019L,0x0000000000000081L } },
  89744. /* 56 << 238 */
  89745. { { 0x436121db4291d3c6L,0xdb32e56791d00413L,0x17e048dfd571849fL,
  89746. 0xcadf80d09d174b7aL,0x504fcd8cf3a16f6dL,0x0bca040b55a79e74L,
  89747. 0xae5e562a9dd8e72cL,0xa2ad35266d83c58fL,0x000000000000001cL },
  89748. { 0x68cc0e2f8be48c08L,0xa4cf89f3a957cc18L,0x7ee580a6720e8f3aL,
  89749. 0xd45347c5ce9222edL,0x2043ba4b964685a9L,0x8a59c2fd1ad8acb9L,
  89750. 0xb2ab5a3fa3a1fb58L,0x6f0d28c3e7a7befeL,0x0000000000000060L } },
  89751. /* 57 << 238 */
  89752. { { 0x02c32597e24f4558L,0x6b8cd177f3b8d3e7L,0x51fac672365fb517L,
  89753. 0x5553c4053855aaf3L,0xfa6c278a2250753aL,0x5c1b7cbccd07fcbbL,
  89754. 0x84300435520e2f45L,0x4913a52b00bf3f6aL,0x00000000000001a0L },
  89755. { 0x438a1803fb3388e2L,0xa15ebc4ec2b44780L,0xa830255c9087838aL,
  89756. 0xb7e6abf7884847d1L,0xf31fc86eaba507f4L,0x72009f406675e50fL,
  89757. 0xadacd3a574ec178aL,0xd6d36127afba1b1cL,0x00000000000001d1L } },
  89758. /* 58 << 238 */
  89759. { { 0x768d163a3a14efdaL,0xa080b14468d84579L,0xd477061fdb39ae5fL,
  89760. 0xbfea91ebc229bda7L,0xe28c79fa07f1e026L,0x0a0fb62d143ffd3eL,
  89761. 0x41b2fbc3a2ac222bL,0x184753613ba365f9L,0x00000000000000f6L },
  89762. { 0x70329a2a27d288b5L,0x02abc5a928617e54L,0x14f646bfa0ba713dL,
  89763. 0xf5b3652fb5d28656L,0xe0841164ce97deccL,0x0aa84aa74b63dcf6L,
  89764. 0x59613768715e4e05L,0x23d572c0c884e71cL,0x00000000000000adL } },
  89765. /* 59 << 238 */
  89766. { { 0xbff79e46c5aae205L,0x4c77219362eb2de7L,0xa6d723f0b383be53L,
  89767. 0xc2f26458e641839bL,0xfcf6980d5442a5ecL,0xc755fd48bfc3bddbL,
  89768. 0x7a1a100b9504bc93L,0x8864ef9fedf3f45aL,0x00000000000001dcL },
  89769. { 0x58dd0f0e5a20814fL,0x52770e9bee9ed846L,0x64c23fef02e82a1aL,
  89770. 0x4fbca3bc96d16619L,0x547101a099489c36L,0x92869dbbaffda8d9L,
  89771. 0x28fe8e2924c28bf1L,0xa859941e8b9885bbL,0x00000000000001e7L } },
  89772. /* 60 << 238 */
  89773. { { 0x33ccf08de10db8f5L,0xe481ea75d2b4cba5L,0x8db73d5bee9cdb6fL,
  89774. 0x5d11d992b5c523baL,0xe9d79978d11b927bL,0x61be8fc17a355c88L,
  89775. 0x5c31c7a65a062e74L,0x2aff5a1117a4a844L,0x0000000000000061L },
  89776. { 0x9f5386773c9f31b4L,0x7f7681c7766dfcb0L,0x1d759dd9cb41b746L,
  89777. 0x1842ce5a3df8b332L,0xd6650a1d46cf5438L,0x3afad154d8e57a31L,
  89778. 0x72df5ed3c779ec95L,0xa9f04f62733f1f9aL,0x0000000000000072L } },
  89779. /* 61 << 238 */
  89780. { { 0xa4c9bad76cd25119L,0x0893c15c677a2ff2L,0xd4c74a285fa5309cL,
  89781. 0x811ace597343a331L,0xb4a1a3738b5d30f1L,0x2d2b14a4650fba78L,
  89782. 0xf38fc6d263c2365fL,0xc7ab7a5135ada1beL,0x0000000000000021L },
  89783. { 0x24c8de56b90ba651L,0x47e5107fc3a16ea7L,0x48d7396e8d859e56L,
  89784. 0xd9eef922d1c2b3d0L,0xf7d7c0fa24267a36L,0xc1b416e77f92ade4L,
  89785. 0x88ae119ef0634ab6L,0xe2c4fb17dc882f42L,0x00000000000000f7L } },
  89786. /* 62 << 238 */
  89787. { { 0x5678bea8848f8152L,0x09edf78a2db8f5f7L,0x577354a80e7a5101L,
  89788. 0xde84b145d55f3d58L,0x6ce8a6e52f8a88c3L,0xab0c3fd1f9ac5318L,
  89789. 0x163316926681788dL,0x4e1eba4bb9aac85eL,0x00000000000000afL },
  89790. { 0xaf37fba2668c4bf9L,0x5916958ee908dc73L,0x3b15e5e0d1351d09L,
  89791. 0xcd0e3ea56388db27L,0x37a3364b5ddebef5L,0xf881e32c12e18700L,
  89792. 0xd52db48980d36881L,0x67630057f5db73f9L,0x0000000000000094L } },
  89793. /* 63 << 238 */
  89794. { { 0x1574e5fe8e01c90eL,0x9a04e874681401adL,0x29186da48992dd9dL,
  89795. 0x2625bf89f6a91151L,0x7292c99664fb81e6L,0xdb4e7747f161c777L,
  89796. 0x21977978208c9469L,0xa25997d421d3699eL,0x00000000000000ecL },
  89797. { 0x3546a978ddd52ddbL,0x9242e4d42d7cf82fL,0x1080e50bb80f359aL,
  89798. 0x70bb06fc98035b62L,0xf1ea6ee2098bbe60L,0x0e5cc73d8ba58df8L,
  89799. 0x383ef670e8608307L,0xfdeaac2ef5e05b50L,0x0000000000000064L } },
  89800. /* 64 << 238 */
  89801. { { 0xdd9166282d3d7641L,0x99029e9b39c02ceeL,0xce03fac9b6de7881L,
  89802. 0xc2cd0f784f66ebbcL,0xe391948364c83e37L,0xfc853cb8fd7bb155L,
  89803. 0xa5a99b24432314ccL,0xef0b7ed0133b2709L,0x00000000000001d0L },
  89804. { 0xe4c4d8a054de3ecbL,0xe2f88ac25f8cb5ceL,0x17a4e60d68eb11a2L,
  89805. 0x6d0e05fb3b79619aL,0xa54874b7d5da75efL,0x18c2b1b3c77f6ac1L,
  89806. 0x5a2a6fdd829736c3L,0x9ce62f22cd44843bL,0x0000000000000059L } },
  89807. /* 0 << 245 */
  89808. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  89809. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  89810. /* 1 << 245 */
  89811. { { 0xc3e525d2afd7c4f7L,0xc11fd457ae2b9475L,0x6cf55e765d48ead5L,
  89812. 0xf9546fe48f93eb95L,0x3e3712a75e124ba8L,0xcb71caafcf7a3e81L,
  89813. 0x512060172f3d629dL,0xe226fe2dbab1761cL,0x0000000000000079L },
  89814. { 0xbb618c7bf963a03aL,0x2fd9211cd55e0ab2L,0x25be6c8a20dfe924L,
  89815. 0x40f5ff09135b7156L,0x7770ba4af706b788L,0x5a2146e0dc114357L,
  89816. 0x48f25eda54b6fae3L,0x5adc7aa519ead5c4L,0x00000000000001e3L } },
  89817. /* 2 << 245 */
  89818. { { 0x21e292cb67355505L,0x7cdf9c24e192a20dL,0x07228775f6753eecL,
  89819. 0xcd83121b93217c7fL,0xf6e99141ad41ce70L,0x2214296a41a8ec10L,
  89820. 0xcdf7237b0200ddb1L,0xe2d943f5c7ca562dL,0x0000000000000056L },
  89821. { 0x9f743d7c9627a12eL,0x33ff2e7e31099d8aL,0x3c9e84d12a07248aL,
  89822. 0x9cbc405a6136b3f7L,0xb131c000970be1e5L,0xea9c160b84162e6bL,
  89823. 0x1c54fe695ba3f7a9L,0xd5a98fdcd51b962fL,0x000000000000015dL } },
  89824. /* 3 << 245 */
  89825. { { 0xd01bfb1f891d513fL,0xacf22e961375d0d4L,0x6f5c76f9d43c24f1L,
  89826. 0xa220f50707a66e1eL,0xa0b91c2af227b93eL,0xefe049868fc8f377L,
  89827. 0x58482184fbf6c7cfL,0xb224b543cab58946L,0x0000000000000094L },
  89828. { 0xe07e7d7914855341L,0x68881fb60a675863L,0x4083d236b9736e0fL,
  89829. 0xec6ce43102dac8a4L,0xb0477cf188891340L,0x67c0cc0512cd1f4fL,
  89830. 0xf3101c296f7b5340L,0x60f49d6d1e980837L,0x0000000000000116L } },
  89831. /* 4 << 245 */
  89832. { { 0x3cd54b988ffa8932L,0x73a8c09947855c60L,0x5272d16b3ecc6b44L,
  89833. 0x7cf96927b4e83ce5L,0x08af41c8a3908edeL,0x98de920a73495d2bL,
  89834. 0x6ddc94e1be247419L,0x0936e34f5e3e7c96L,0x00000000000000acL },
  89835. { 0xf3b1a1aa9d269d4bL,0xb20aff071103e749L,0x9a43c7a4632098aeL,
  89836. 0x221c12cbf450a9eeL,0xf04a8e7c7f773a12L,0x427a8cccb2ad0ee7L,
  89837. 0x93f7ee9dc0b2a786L,0x6592bb0089bbc18dL,0x00000000000000fdL } },
  89838. /* 5 << 245 */
  89839. { { 0x8f1c77f7a9e8cde3L,0xeb057a9562fd5799L,0x8428a885dbee1bc1L,
  89840. 0xaf8c03c38acd2865L,0xd5c2c0039061a6feL,0x4daad9cad2016bd3L,
  89841. 0xf698f86cd10ce994L,0x5da25e28b620fd65L,0x000000000000007cL },
  89842. { 0xe3162c8fff2198a7L,0x60b05d1f9084af55L,0x64ecff3c74ccc32dL,
  89843. 0xadde221a29f6e28aL,0xd6d98db85f2a1653L,0xb661bb0b597a14a9L,
  89844. 0xbaa4d0b80bf62ea4L,0x60b8da55e7feeacfL,0x0000000000000118L } },
  89845. /* 6 << 245 */
  89846. { { 0xf760f828ebf01d55L,0xd9e13bb2143c38d6L,0xdd69a7832620bb25L,
  89847. 0x6d16106459a570bfL,0xda4ed76759a7c1a7L,0x5b07d2a0a22ce561L,
  89848. 0x2d1614b0616ba6a2L,0xc2c99b092013b7b5L,0x00000000000000f6L },
  89849. { 0x532f835b6606eb53L,0x11e4eb8cd0fca568L,0x3d12bcb83abd1c3bL,
  89850. 0x293651b7eeebaabbL,0xe49cf58535da243eL,0xf0377e4414e175c4L,
  89851. 0x12a1f99f39a28cfcL,0x5b3c4c81c02ecdf6L,0x00000000000000bbL } },
  89852. /* 7 << 245 */
  89853. { { 0x6670d91e241fce4cL,0xeff7977950cec570L,0xcbdafc5ecfa2eafaL,
  89854. 0xa40c09e53265b4a2L,0xc4fb20c0fb68c280L,0xdd0b12e9bb2e6910L,
  89855. 0x31437bff0f2bc13aL,0xa92209d7493eae11L,0x0000000000000124L },
  89856. { 0x0dfa947c893d23e1L,0xed7f8f9c103e6b81L,0x2dd62ed73002e4c1L,
  89857. 0x6ddda0871f9973e2L,0xb79ed2773b014d60L,0x12fbda2fe51b686aL,
  89858. 0xac9c34b6911b0e3bL,0x6fa28f425f117d64L,0x0000000000000106L } },
  89859. /* 8 << 245 */
  89860. { { 0x1ebc5309b6bf5ec4L,0x29ca5ba73a92ba16L,0xbdb1bce470839c14L,
  89861. 0x963fd369de1f966cL,0x208fdc754faba5b7L,0x2f1ea65a678fc163L,
  89862. 0x792fa255a773bbc5L,0x752a08fab22a653bL,0x000000000000008fL },
  89863. { 0x096aff662e58f405L,0xee92b17dd6658910L,0x65792cb3d33b5b5aL,
  89864. 0xfa503f215678f269L,0x4e2757c8efdffc67L,0xbe46a6f1665347f5L,
  89865. 0xd049a1586d9773e7L,0x9555b002b0a28ac5L,0x0000000000000145L } },
  89866. /* 9 << 245 */
  89867. { { 0xa7c17d0350b289b1L,0xe3a9a8a3443f567bL,0x9c99bd6ac3e63db0L,
  89868. 0xcf6a4c889362bf69L,0xbba95ac8927e459cL,0xb80f52a8dd937105L,
  89869. 0xc518fc9b74c7d215L,0x8fed53990bae5104L,0x00000000000001ccL },
  89870. { 0x2389f46b189ab2bdL,0xf139d7af7d235907L,0x9aca655892901705L,
  89871. 0xbdcdd09046ee4c1bL,0x0a0a655db42f41a5L,0x284d525ace537427L,
  89872. 0x18dd8dea58dd7840L,0x379387c05ca95c31L,0x0000000000000040L } },
  89873. /* 10 << 245 */
  89874. { { 0x239fc64e9727b936L,0x1de0020395de5e1aL,0x219a07de1a43157dL,
  89875. 0x2f427b59cdcec250L,0x557502cb4c36c8b8L,0x537492cd37e0f19fL,
  89876. 0xe3d2dfb34d57d9a8L,0x48ef0bf3324ed81eL,0x00000000000000dcL },
  89877. { 0x9315dbc85a1538b2L,0x0591ee6e61aa41f9L,0x0c0c5fc2151dbb76L,
  89878. 0x651f06aff4c47091L,0x89a2c2611a1f91b5L,0x6fe23d1b6d668c27L,
  89879. 0xf8dc9ee1aec2fdebL,0xe253b8d8cc0d69afL,0x00000000000000bdL } },
  89880. /* 11 << 245 */
  89881. { { 0x9eccc0619669ebc7L,0x7bf661a6126d010aL,0xe72acef27390cab5L,
  89882. 0xe4a7f348dffd3e7aL,0x3e37551fb1e12c74L,0x53e9e142887a122aL,
  89883. 0xb0209d65daf5f134L,0xcff03a74033bfc15L,0x000000000000011dL },
  89884. { 0x3a133010d1f95cedL,0xdec6cfb744c85df0L,0x31308eafa9e486feL,
  89885. 0x454ed725f49d5ed4L,0x4a3e969ce6dd4580L,0x6feab60dd7bb11baL,
  89886. 0x9cd05773f075d873L,0x010563d04c9c43e6L,0x00000000000001f2L } },
  89887. /* 12 << 245 */
  89888. { { 0xfba8a8a05b07b574L,0x936590094fae646eL,0xdf8077f4446c60c1L,
  89889. 0xb7680afc92fd0bc0L,0x1306288acacfb628L,0x674a6a5a74ed5a73L,
  89890. 0x75a261a6d68d0dd6L,0xa583ee269868f3d7L,0x00000000000000ceL },
  89891. { 0x62c16e2068186114L,0x2403de3e993c15efL,0x1a539413fcfda8e5L,
  89892. 0x97f7f8afd65a7fc5L,0x72fcd1fd33fff67cL,0x83b84ac442b4cdceL,
  89893. 0x8b56062c4f14b831L,0xe29d467a09559420L,0x000000000000015dL } },
  89894. /* 13 << 245 */
  89895. { { 0xcfd36b8773920568L,0x199605c3bd6b45d1L,0x3d17e798231be8deL,
  89896. 0x93901889a9b26b26L,0x922f8d5d101ebf1aL,0xdcb7b7b5e9748c52L,
  89897. 0x87e18bc1250b67efL,0x1e23453034bdfc23L,0x000000000000016eL },
  89898. { 0x604df42a18efccdeL,0xfa49291cf9a7eb84L,0x1685a7f7495c62acL,
  89899. 0x58a272e26b469c70L,0x7fea89e721cc23beL,0xa979783e76435dfaL,
  89900. 0xe993c6cff9404884L,0xb653fe56934876d1L,0x0000000000000079L } },
  89901. /* 14 << 245 */
  89902. { { 0xe586141f43c118d1L,0x0d76256cbe65c263L,0x8f0413fd8fb5ce5aL,
  89903. 0x451d3b65c1f76b2bL,0xf9a2ed094e7dd6faL,0x538af492d1e10a14L,
  89904. 0xb8e78de206963767L,0x59887d285b003a25L,0x00000000000001b5L },
  89905. { 0xc9b05b2112b423aeL,0x6df1631e64549910L,0x1eea65ded96c323bL,
  89906. 0x6d740f2bfd188fb9L,0x73b45366ed093cd7L,0x987a12abdcd33ed0L,
  89907. 0x5807600262ef953cL,0x58db0e16370b300dL,0x000000000000012dL } },
  89908. /* 15 << 245 */
  89909. { { 0x9fbc14aadc38ead1L,0xb9f7df7f1a362565L,0x0745197f6a333aefL,
  89910. 0x73dccd67666cc110L,0x8f3f2dff9fd92535L,0x7e7180ccf014a6eaL,
  89911. 0x59028fc434220f3cL,0x92c45cc3fcf7431aL,0x00000000000000e3L },
  89912. { 0x8b17b3e2eb8c17e2L,0x2b02cf29251a6593L,0x415193432efcf7e8L,
  89913. 0x359e00a1d098ec6eL,0x25f8934e771d7b65L,0xb51d511b14852dbeL,
  89914. 0x36c3fe357bd243eeL,0x36a7b1f3424f4d55L,0x000000000000012eL } },
  89915. /* 16 << 245 */
  89916. { { 0xb09a3e8b160e37a4L,0x8ed9ac0627db36b6L,0xecf1838a99cbfcbeL,
  89917. 0xb12c94da28b4ee00L,0xd0841818c5f1fdc4L,0xc43e50b2bee0adf4L,
  89918. 0x19f3f05b122324c6L,0x796bac65988338bbL,0x00000000000001e3L },
  89919. { 0xf211af1ab50f7626L,0xdecf7989ca2f6779L,0xcbba6b74e1ecbba1L,
  89920. 0x73f60e835e5fb261L,0x3eebd6890629dd5dL,0x8906a06e05fba7eeL,
  89921. 0x7a23d83a58152375L,0x0f4b9b2de9f1d23dL,0x0000000000000009L } },
  89922. /* 17 << 245 */
  89923. { { 0x6ce126e4d85698daL,0xf003860ccf075ef6L,0x94424096d5716919L,
  89924. 0xb0087ff76be87caaL,0xbc01f71788808904L,0xcdcb3e3812c3e361L,
  89925. 0x66f47afef1ea9907L,0x2ff5843cd4fd5d8cL,0x000000000000005dL },
  89926. { 0x75de692e3ba79e08L,0xc49213b6aa146821L,0x61e443642707efa7L,
  89927. 0x2fd64e12f5923cdeL,0xe51ec2ec37fea533L,0x03d72d4d2b36407eL,
  89928. 0x6b84a2abe430e4e0L,0x1a1435c7bb4cafc2L,0x0000000000000028L } },
  89929. /* 18 << 245 */
  89930. { { 0x109514806348bb81L,0x58ae664bb1393e25L,0x206c4681f3ace22dL,
  89931. 0x5984dabba050e142L,0xe1505d6e42ded28eL,0xfe2d93213e9a8afbL,
  89932. 0x93770eed1a368d4eL,0xd3341598faa53c5eL,0x0000000000000136L },
  89933. { 0xf6818bc6a2785e49L,0x4cead604627405ccL,0xfcf4a9e7f9aa0a7cL,
  89934. 0x8edff908798642c5L,0x34760c98e4554131L,0xb0849ed68b48863bL,
  89935. 0xe5ed18d214caa88fL,0x556aff0a0cf7a0e4L,0x000000000000002eL } },
  89936. /* 19 << 245 */
  89937. { { 0x8cfd5c7326c01d7eL,0xce0dd0049cc28137L,0x7bdb6939b057fe81L,
  89938. 0xf5655f1d1a601839L,0x700651ddc4d38ed8L,0x4715da6ad0c0338cL,
  89939. 0x7c55a32fbe60326dL,0x30b13a3e98b89aa3L,0x0000000000000038L },
  89940. { 0x557d7dd83a5be149L,0x102ac658be542331L,0x66ff48f819017e3cL,
  89941. 0x27a63afe85e0ba4aL,0x432a65afa1825871L,0xd6468f214e9d0950L,
  89942. 0x096b0aeda4e2a365L,0xdb22f9adc561a95cL,0x0000000000000046L } },
  89943. /* 20 << 245 */
  89944. { { 0xa85ed91b7adf4067L,0x5b954f9965cacc6bL,0xb7da20a12f4aa0c3L,
  89945. 0x23a0819e1862e363L,0x6c89e6eef4277b93L,0x49352790f3cbf94eL,
  89946. 0x05e6e05515eeb890L,0x36ead153d2477c80L,0x0000000000000152L },
  89947. { 0x8ff423f9e980c969L,0xc70c24c96aeda7ddL,0xd2de4028b39df2f6L,
  89948. 0x39a559b5f10f8f9bL,0x63fd365c5f8db29cL,0xed98f7141e8cd83bL,
  89949. 0x1a8436d2a9f2a6f0L,0x089cf3ce58244f99L,0x00000000000000eeL } },
  89950. /* 21 << 245 */
  89951. { { 0xa9fd702dd495b62dL,0x766d1e6148af0c7cL,0x47f352707278e7c5L,
  89952. 0x2aa27ecc84042027L,0x52159d31712a50d9L,0x180d507f699ec99eL,
  89953. 0xe39fe323c1243d21L,0x7401559b0f3447e1L,0x0000000000000004L },
  89954. { 0xe920ac3e65cb715bL,0xd8cb492cf07c740fL,0x833b8edbf1d5efc0L,
  89955. 0x43948f5714286a01L,0x935934879d912791L,0xb5a2432fb3767c2cL,
  89956. 0xe21bc65688710c3dL,0x1a221b9a8df3f76aL,0x0000000000000077L } },
  89957. /* 22 << 245 */
  89958. { { 0x387b2584b1906296L,0x8584a570a0a5329bL,0xb0661a62c81806c4L,
  89959. 0x5ad2e7599a819368L,0xd0ba7b8c1935cf34L,0x9333ac71b650c085L,
  89960. 0x8c44bf98270788e5L,0xa1cab6f9e489817cL,0x00000000000001a9L },
  89961. { 0x44b0c84dda4fcce7L,0xe0dc701408d74a53L,0x29f3c3aaf88d0826L,
  89962. 0xc605de2dd59e82c3L,0x5a98c98fc992079dL,0x356000aaded5509cL,
  89963. 0x4574e63a9a00a60fL,0x02d48eb1e09e5c5dL,0x000000000000000eL } },
  89964. /* 23 << 245 */
  89965. { { 0x97d1f1180b0ff62fL,0xfa0770e729e1d0f6L,0xca7267da66d367dbL,
  89966. 0x5b45034eddb1fdd8L,0xb3c238531ac7f4bdL,0xa4b9b677a12063dbL,
  89967. 0xfc210b01c13ec6ecL,0x08dbbba6a89a2e69L,0x000000000000003fL },
  89968. { 0xe4ea8bbb6db96407L,0xfbbdda3e4fc2c9b8L,0xd18a140e6d2779d3L,
  89969. 0x61cd8ce8845b983cL,0x6761497b8625b6adL,0xd2cb01c2f6ed8b35L,
  89970. 0xddb4236ebbd0de0bL,0x5b9f0f78c73e54a0L,0x0000000000000097L } },
  89971. /* 24 << 245 */
  89972. { { 0x353ae6fd77b9aba6L,0xbaab19af013f3158L,0x14d0564c7b9b7aaaL,
  89973. 0xe591b96a2d9ff473L,0x327e3fb873f46109L,0x61c0191e6be11242L,
  89974. 0x9696f1bd6345cf6dL,0x3dd87573684c060bL,0x0000000000000058L },
  89975. { 0xdab49ba0285a6ddeL,0x7d66e2c3075ea1c1L,0x721973502d8ce1f9L,
  89976. 0x5e64c366ae730c53L,0x17154d6dd30475e5L,0x14153f7a3341d88bL,
  89977. 0x711dfab66235304eL,0x0e010897bd4533fcL,0x0000000000000177L } },
  89978. /* 25 << 245 */
  89979. { { 0x90afab7861c062deL,0x085ac4c2aae92dfaL,0xcdd94ace38f3885aL,
  89980. 0x6c65b82d47a3478dL,0x66eee2c9f6eaaf3aL,0xe8a38973dc89840fL,
  89981. 0xd2521b00921f59d0L,0xbda51f4f1181d481L,0x00000000000000e5L },
  89982. { 0xe3827db66a211907L,0xf410b7cc6515551dL,0x09bbd3d40a46f1f2L,
  89983. 0xdaad1c9c2e0d139eL,0x54b99d040d9c10adL,0x9f1f110e278404afL,
  89984. 0x29de72bad41fbe0aL,0x6f428ceb3c27e332L,0x000000000000002cL } },
  89985. /* 26 << 245 */
  89986. { { 0x76f0baf9f438a35fL,0xfa3966c30e5c85e7L,0x665a4870128d42bcL,
  89987. 0x8d58fb6289898e12L,0x9626f184d06176ebL,0xe88973ea03d85e8dL,
  89988. 0xbb142568436dda00L,0x712753b8eda9d061L,0x00000000000000baL },
  89989. { 0x8b191872ecfb2bb2L,0xe7642ce7114331a6L,0xd94e89fb7b3f2f87L,
  89990. 0xdb4f769e3ed434edL,0x8c523d17a03c029eL,0x3d8653b866bb80baL,
  89991. 0xed8721cc07b5bee5L,0xd64141c9844de9a9L,0x0000000000000140L } },
  89992. /* 27 << 245 */
  89993. { { 0x1181f23436682974L,0x63798602dccc4ea9L,0x80305e1d99b2ec36L,
  89994. 0x274a84d12b53add6L,0xf45a7bce6bc50022L,0x7d855ff90f7d22c4L,
  89995. 0x5ff789e9d60e96d8L,0xc84f80d186a8a1fbL,0x0000000000000087L },
  89996. { 0x49754d1d801c8558L,0xd27f7b211e49e2c3L,0xd93d0ac5d01e947bL,
  89997. 0xf581f071a6785e70L,0xe2049e7954584369L,0x300d73a40f8c465dL,
  89998. 0xaa7f684546083b76L,0x9f6345f0a50d63b6L,0x00000000000000c0L } },
  89999. /* 28 << 245 */
  90000. { { 0x6d8d90ccac308a80L,0x862fae36c3f7e859L,0x9bf414eea742e940L,
  90001. 0x4ddc964c49029fb4L,0x39750fc64a18bf6eL,0xf8942dee1635f7d1L,
  90002. 0x93e9fc2d8da2b6c8L,0xd42be164a18d4d86L,0x00000000000001b9L },
  90003. { 0xc831040e0d6c2213L,0x15f8e86f52d9e6dcL,0xcb79a0d697616828L,
  90004. 0x7953d51dae14208cL,0x6a92f51122ec1792L,0x560d3bf6a8891fdbL,
  90005. 0x418b3565a7acd242L,0x523a75944f8e5129L,0x00000000000001f8L } },
  90006. /* 29 << 245 */
  90007. { { 0x503e9a04849613c3L,0xdfe7b77ff0d7e56cL,0x6f2697fcdb76d90eL,
  90008. 0x65933ee209bd9c92L,0xd5685ecd28343738L,0x710f4176749952faL,
  90009. 0x42e023189f5d102fL,0x36d10f77f94440f5L,0x0000000000000159L },
  90010. { 0x0d4263d509266d0aL,0xdd8b8663db5bdbd7L,0xefca1b51b558c145L,
  90011. 0xf5ee60e3e70a0974L,0x37dd6d658dc33d8cL,0xfd4a3bdf6814d0a2L,
  90012. 0x153b585c1553384aL,0x7d4f0dea08b2ec0eL,0x00000000000000b8L } },
  90013. /* 30 << 245 */
  90014. { { 0x4b3eb15613fdc5c9L,0x449dcca9a182c015L,0xc78094722f93b771L,
  90015. 0xda7036300e7455d0L,0x513554a53b5a9e06L,0xec7fcdbf4fa313a3L,
  90016. 0x047528ffe3fb4d67L,0x38bdf53faef7306eL,0x0000000000000118L },
  90017. { 0x24680a5476ccdcebL,0x96e42aa84664792aL,0x02494069a27801bdL,
  90018. 0xcb8439da7bf928a0L,0xe60d6eda322f44ffL,0xb0642335e482b462L,
  90019. 0x6336c8709f3803ffL,0x92e9919ed725c323L,0x000000000000013bL } },
  90020. /* 31 << 245 */
  90021. { { 0x5e729774cb774815L,0x17da6efe704192afL,0xdb3c15ed0faeee6aL,
  90022. 0xd9b8570bec65984eL,0x56c96381470571eaL,0x6962e90b4e573376L,
  90023. 0xa7e5c4ff990ffae0L,0x4c90d86ef841ae38L,0x000000000000013cL },
  90024. { 0x27cca1fe0c9cf81eL,0x4e5348da7fef5618L,0xa59515bce0a75316L,
  90025. 0xd66ee09d1c82ccd1L,0x79be306784c1bea5L,0x13fa7967e65dc45cL,
  90026. 0xf47f47eda8987a90L,0xf329d0e19d0d80bdL,0x000000000000014fL } },
  90027. /* 32 << 245 */
  90028. { { 0x75b620639659f9e9L,0xa5568027c4b6dc18L,0x1c5dbfff1f499e7bL,
  90029. 0x35b20ffdffa60eebL,0x4368ac975e2237e6L,0x502c0e789ed425d7L,
  90030. 0xf8877b29f5aeaa27L,0x137e015dcd2e9bcfL,0x00000000000000fcL },
  90031. { 0x69be3c6d3fffeb71L,0x5739d6c9e33b4ca6L,0x94672002643a1eb8L,
  90032. 0xd1359e0570fd238bL,0x3b7ef87493916a8aL,0x4ef08127efdaf809L,
  90033. 0xde4174e74143ab1aL,0x3bb964e042e7aee4L,0x0000000000000151L } },
  90034. /* 33 << 245 */
  90035. { { 0x3693de23e707614bL,0xf7ec069499298960L,0x556f28cf89f11c00L,
  90036. 0x7931968eb75a3c61L,0xd6c72278485683d2L,0x734c3512d4369fa8L,
  90037. 0x08671bfcf17d7c5bL,0x1f06b63a5d69bd69L,0x000000000000011cL },
  90038. { 0x64d8055d7c23e2a8L,0x96251f5e1d95c234L,0x5fce87cea0f43bc1L,
  90039. 0x67071f622f15f523L,0x40eb36b8d3fea005L,0x1d9ee274012556e9L,
  90040. 0x10730e770887e50bL,0xa1a356784004f24dL,0x00000000000001c2L } },
  90041. /* 34 << 245 */
  90042. { { 0x8bd447567568da86L,0xcae3a56a8d725c85L,0x2211f108801c5fc6L,
  90043. 0xe5de07da4c3c8b44L,0xff2167cbd0fbe37fL,0x7ef2307074994e56L,
  90044. 0x150e804810cf15abL,0x052337af2c095024L,0x0000000000000106L },
  90045. { 0x7c6057f0e87d4ca6L,0x77900e45486f4fb9L,0x566981d17ba84399L,
  90046. 0x8f863f24198b27dcL,0xa84e0841e7a49f6dL,0xd17dd7370f1060b9L,
  90047. 0xe4f4d9b344f7961aL,0xa1b242e5da29c5a3L,0x0000000000000027L } },
  90048. /* 35 << 245 */
  90049. { { 0x47c2e6ed3a5f7687L,0x2dafe7db3cce6bb8L,0x419ffe4b771db38fL,
  90050. 0x8410ddfd2d624c59L,0x0779b3125b900ecfL,0x1b01dc1c0ab57b8eL,
  90051. 0xd245703de2fc4c74L,0x37c542c2f9f31707L,0x00000000000001f4L },
  90052. { 0x941e03652f8379e7L,0xf76dc50d288ef711L,0xba0af92876ab8d8eL,
  90053. 0xa3e8cdbdc0c73e45L,0x522c45b349565c3cL,0x00f5e95a79c8c078L,
  90054. 0x7554d72bef1b71feL,0xa36855168a5118f3L,0x00000000000001d2L } },
  90055. /* 36 << 245 */
  90056. { { 0x8bf63edd8e519803L,0x7d6d968474760503L,0x99afb2fff64f6308L,
  90057. 0xc2df0c31c23b3a72L,0xaf8529c6950f14adL,0x9af0832dee96370cL,
  90058. 0x46194ea77aef8e49L,0xe92679536da47b01L,0x0000000000000031L },
  90059. { 0x55bde6f749681136L,0x41ab4f3da512f655L,0x6dbf743677c5141eL,
  90060. 0xa2c75d2e5507fa84L,0xc8117d02f9b98137L,0xfe2760c706888e33L,
  90061. 0xc13bb97d53002110L,0x385619defd63f2e3L,0x0000000000000067L } },
  90062. /* 37 << 245 */
  90063. { { 0xfa1aa2447f27814eL,0xab02051c5105d84cL,0xccef8bcfe9b00b16L,
  90064. 0x3783041e1158a067L,0x5b79215725e29b71L,0x401c2417fb1b4107L,
  90065. 0x39c42434410a421fL,0xf10e887b5c4f6b31L,0x00000000000000e8L },
  90066. { 0xacea55d402076600L,0x9054fe9a59b7f920L,0xbcb07980e8a4b5e1L,
  90067. 0xe33c2ab1dbb2df1aL,0x1651e2d0390680daL,0x68446f35401d8675L,
  90068. 0x9f2b69d026985f00L,0x4446113258d0f8faL,0x00000000000000fcL } },
  90069. /* 38 << 245 */
  90070. { { 0x29d634179986b9d7L,0x39e022af0df6e934L,0xaf6cc96ebe1e9fb6L,
  90071. 0x0891c88dc858c743L,0x7925f4300375dff4L,0x02fa4b94b52848d5L,
  90072. 0x6db74714e2416cc1L,0x7af11e364b95f2caL,0x00000000000000f2L },
  90073. { 0xe003401840add981L,0xccccc6929796397dL,0x387856d06074f7dfL,
  90074. 0xe812adcb61907678L,0xef4f33383c753d8cL,0x052c6e49e90021b7L,
  90075. 0x384bcf9006bfb694L,0x5c0dec98d371fde8L,0x0000000000000012L } },
  90076. /* 39 << 245 */
  90077. { { 0x8029b1cd33b35443L,0x26829ac6820cd2abL,0xde4f535f48a6b896L,
  90078. 0x1b9e10d51639919fL,0x20ebdfe88bdab109L,0x6ed42c3b39b129b6L,
  90079. 0x73dc485879c78aa5L,0xc98fc0ea9a71f600L,0x0000000000000184L },
  90080. { 0xacb1ccb55aea360dL,0x7d835bfbddc1cfefL,0x32bfa37ed7c954a0L,
  90081. 0xbf2da393f2998fb3L,0xa1d82913b19bfdf4L,0xe16c3b4a32ac5588L,
  90082. 0xb9ac5ec37b25f23eL,0xe15ddc917547c489L,0x0000000000000011L } },
  90083. /* 40 << 245 */
  90084. { { 0xaa4a212a2177c1c1L,0xf08f1f5d4c8a2a83L,0xeeb0a8940fe14c27L,
  90085. 0x564a1c8f3f0c1f0bL,0x6b73048c9297b55eL,0x3ddce9077a810e5bL,
  90086. 0xd8f99efc3de8797fL,0xd9b3fa2e37379157L,0x00000000000001b0L },
  90087. { 0x65a7dc22fe9275e2L,0xbe8b93fb6960a690L,0xc783df8863f437eaL,
  90088. 0x4fbcf1465a22f1efL,0xa1b86ab3cfdcf231L,0x0b1309cf50cb90c7L,
  90089. 0xa77f0bdefc3cce3cL,0x86deff3cc30ac697L,0x0000000000000170L } },
  90090. /* 41 << 245 */
  90091. { { 0xbfed1d85a5415e7eL,0xf2cdc9c92a5ee8f8L,0x3a474a3965d153a3L,
  90092. 0x1ba4eaf88d3a6303L,0x1710d1c4a46a689bL,0xe2f2cbbc3a54597aL,
  90093. 0x3b223c6c76dc2731L,0xaff989c894979d28L,0x0000000000000158L },
  90094. { 0xa41d3a99df88fbd2L,0x75c1ec4cfb23896bL,0x915a2173fcfce02aL,
  90095. 0xddc565efe861b7b0L,0xb1d0fa3f1ec84240L,0x93bee4d79ffc81bbL,
  90096. 0x236a25221687f61cL,0x7d49c63e462bda79L,0x00000000000001afL } },
  90097. /* 42 << 245 */
  90098. { { 0x692567a5f802386cL,0xa13a56f6a6dfdde3L,0xa50394cb37c39a0dL,
  90099. 0x3d16f5aa7040d3eeL,0x3aadd2f5e6edf55bL,0x187fbe5ca51277bbL,
  90100. 0x55e700a285daa140L,0x280d135ca930617bL,0x00000000000001bdL },
  90101. { 0xf8d3e2267e0c0d8bL,0xdbb1cca204aa1cf1L,0xbb77b8f06552a12fL,
  90102. 0x8e70802ad8ad6b41L,0xa021a4d7010ddbf9L,0x76ea576d780704b9L,
  90103. 0x9e3a04148cfb7119L,0x8a6f4f2384e51f1eL,0x0000000000000177L } },
  90104. /* 43 << 245 */
  90105. { { 0x12aa2288f305b6b9L,0x8f748eae3e09e0afL,0x8a8746cf8e3f1a4aL,
  90106. 0x51cbe927d1e329d8L,0x1e39a4366f29094aL,0x54d285eabc8f1209L,
  90107. 0xe590966b4e8e7975L,0x5dec63afe66ae4aeL,0x0000000000000116L },
  90108. { 0x3b0e71ae7e09821fL,0xab231a0941d1372cL,0x852865276a4390eaL,
  90109. 0x4d60e9bbb914c18dL,0xf0ad8d4e2ad21e36L,0x8bb1cc09fa2444eaL,
  90110. 0xbdbfb2b40d8c7208L,0xcb2f1f7a32f413d5L,0x00000000000001efL } },
  90111. /* 44 << 245 */
  90112. { { 0x4515599dfdc05854L,0xda8ff3a6782c42a8L,0xdd8e941349490283L,
  90113. 0xd85e445578dce0e8L,0xa77329fb7ac7177cL,0xb067a59806fd1d4eL,
  90114. 0x6f1ddf79c8cd2f44L,0x1dee178202e39ce4L,0x000000000000007bL },
  90115. { 0x1a0dbd3e38a3a617L,0xa3c67e5f162bbdfbL,0x316f1b4a3173b0f1L,
  90116. 0x1e49c5c3e5224d7eL,0x3f88443f64108b19L,0xae6531a1f6f95472L,
  90117. 0x7c046d1e7c89c919L,0xcbc20e84ca70cbb4L,0x00000000000001e6L } },
  90118. /* 45 << 245 */
  90119. { { 0x45ae06b2bdcc3342L,0xd509e8020d55ebf4L,0xd1fe846db7bfe591L,
  90120. 0x7e45117b66ea6d0cL,0x07f7ba94b5cb8e33L,0x2365cffa4c1fe4bfL,
  90121. 0x59614a7a9e7ed518L,0xdba553f88f9fed0eL,0x00000000000000aaL },
  90122. { 0x99ca2d5a345708b0L,0x835ad98cebd1a22eL,0x66f253ba9c713fbcL,
  90123. 0xf1015a40ae272ea1L,0xe582f157d00914a6L,0x9906ea50402ca5c4L,
  90124. 0x299870d22428dccaL,0x7cfd6b258095af1aL,0x00000000000000fcL } },
  90125. /* 46 << 245 */
  90126. { { 0xe3be5d0d627f185fL,0x2c3d75b32b3389b9L,0xd0313bacee1e001fL,
  90127. 0xe82de4821eb0a534L,0x8321862f2d78d8aeL,0xa2872545e1ffbacaL,
  90128. 0xf8d9d239c1719916L,0x15cfd49783909f63L,0x00000000000001daL },
  90129. { 0x1e3e01f01063999eL,0xc5d2f9e1bd7538e6L,0xb25f6bcfbe3c8745L,
  90130. 0x20c30f7613cc6a66L,0x77edef8bfee4b1ddL,0xb7b09fa8731e7a9eL,
  90131. 0x3c514cc2bc686eedL,0x699ed1d2ae1d335cL,0x0000000000000025L } },
  90132. /* 47 << 245 */
  90133. { { 0x8850e09b2de78492L,0xa4f91fba9d81e3c5L,0xa47dca1e2b1eb8b4L,
  90134. 0x2983ad5bc084e7f2L,0xde8c13ab5f4efc52L,0xff2fcf43652354fcL,
  90135. 0x81e86497f601c563L,0xc3d6d3864dffcb43L,0x00000000000001a3L },
  90136. { 0xbab2f6d53a79466eL,0xa087360abab23b64L,0x5b37df4aac31247dL,
  90137. 0x2b145d97d5de2624L,0x4851c9515cb00cc3L,0x22c4304ef34ad1bdL,
  90138. 0xbdb1ce92cfbb9914L,0x07ccef0abe21104eL,0x0000000000000170L } },
  90139. /* 48 << 245 */
  90140. { { 0x9584a837980c0f9bL,0x4c2c21b4f234ff0fL,0x584a18241068eee2L,
  90141. 0xb3c08003c5b71c77L,0x98a59e372505132cL,0xfeeb536724513321L,
  90142. 0x83f623522c9afa82L,0x5a470aad23d28bbeL,0x0000000000000160L },
  90143. { 0x2aa901fdce4e21a9L,0xc0fb45706c14573aL,0xe0711b5e21c1a7afL,
  90144. 0xee3bfbfa2a47a293L,0x12830261ff0de285L,0xd334f3ee68d87d16L,
  90145. 0x3fb8d74765c6b8bcL,0x1c40f1aba12a5638L,0x0000000000000070L } },
  90146. /* 49 << 245 */
  90147. { { 0xd8de01e7d09513b0L,0x0e224cf695a57479L,0x66098ecb776d5c68L,
  90148. 0x31dc808681d73198L,0xf34ab49771885d5aL,0x245b101068c07bccL,
  90149. 0x1b0415956f754ffeL,0x28d98ac39eed986cL,0x00000000000001edL },
  90150. { 0xa5b7b90083abb8f7L,0xbbccf881305576feL,0x7ecadad7abfff444L,
  90151. 0xac85c6b037ee04eaL,0x7fd13117a17cd3d6L,0x21d25a19ddd5bc0aL,
  90152. 0x28de095c009073caL,0x3961d13dcb0c209fL,0x00000000000000beL } },
  90153. /* 50 << 245 */
  90154. { { 0x10bb54d9391ec713L,0xf25eb2bfe18ff505L,0xa45400ba6cc76e34L,
  90155. 0xb1e654a2e55f9f1dL,0x6a929b7df4ab5d8aL,0x7cbf9f1318655654L,
  90156. 0x1221d22fac713cefL,0xcdac9c9be1fc247aL,0x00000000000000b8L },
  90157. { 0xb83d4bf76480f3c8L,0x0cf881acf07b9b03L,0xb1fb5d2137534ebdL,
  90158. 0x15bab0952c0e8fe1L,0x7f18cd140fecd0e1L,0xbbbfff81257469e3L,
  90159. 0x7067debb1615060aL,0xd2be688fb55abf01L,0x0000000000000016L } },
  90160. /* 51 << 245 */
  90161. { { 0x608780b7e2bc7bb1L,0x561f8901ef5a0e12L,0xf0542f44549f8bd6L,
  90162. 0x963cf806da34a9a6L,0x478e5efcfe94c12dL,0x35bba59014a9626cL,
  90163. 0xa601a1bbc34e6af0L,0x269dffd4d19c944bL,0x00000000000001f8L },
  90164. { 0x6f2956333e41b8f0L,0xee0766054b4a2e7cL,0x15bdc7de38d4d8e1L,
  90165. 0xaca4398008c99e00L,0x34c67680c545ca80L,0xeae77ef56ce03f0cL,
  90166. 0x27fa04e27e5bff0cL,0x87b2f2a846a0e91bL,0x000000000000007fL } },
  90167. /* 52 << 245 */
  90168. { { 0xf60ae3ffcb6d2a3fL,0x482de542c33f5aa1L,0x22d7de4039386ccfL,
  90169. 0x798f81e53a7d4c56L,0xd4d64bde3c8827d9L,0x1faf02c38b3b5cbaL,
  90170. 0xaa438f22b1afda7fL,0xfbfbebdfc3170b92L,0x0000000000000122L },
  90171. { 0x429680862811743aL,0x82b9e326d780ee2bL,0x9105ddae1fe0dcb6L,
  90172. 0xee40a9d2d989fbf7L,0xb3bbbe7a4dc53350L,0xb68fe7420a6e7da0L,
  90173. 0x3e0083720512a045L,0xb766291ddaec0849L,0x0000000000000088L } },
  90174. /* 53 << 245 */
  90175. { { 0x01a091d8d3c4976dL,0xe976df9f909844adL,0x5a02c8a4247d52fcL,
  90176. 0xb1aa080f7be65bb4L,0x7706859fef4a179aL,0x527a3e36b3d4fcd2L,
  90177. 0x3984a1c97a4a6782L,0xefe16fbd714ae36bL,0x00000000000001fbL },
  90178. { 0xa8211b1c25cbb098L,0x4859a0eb3bd99868L,0x6c9649c20efd41d2L,
  90179. 0x1bb4ba1856a41c6dL,0x0c8121ddb6bddebeL,0x34837d357d24a62cL,
  90180. 0x5c3d55bcff33e24fL,0x45030bfd16840912L,0x00000000000000abL } },
  90181. /* 54 << 245 */
  90182. { { 0x5e50374c3a2da57dL,0x5f78556b1119606dL,0xd16ae65786badbf3L,
  90183. 0xbcdc9d3ef7ddc184L,0x4272a8b0992238fbL,0x60ed6dffce0899b9L,
  90184. 0x0c3d43145f78be82L,0x250527665a51c6b0L,0x0000000000000069L },
  90185. { 0x0fa9b9ce4a2967c9L,0xde64435bda5253ffL,0x466eacc0338fe90dL,
  90186. 0x8ebe67813d7ec117L,0xd32402bfc1104e59L,0x5dba885e90be00a3L,
  90187. 0xadfd197ad73138beL,0x8137f0c52ef27a3eL,0x00000000000001c3L } },
  90188. /* 55 << 245 */
  90189. { { 0x7f02f467394ad9efL,0x285df1a69f23b02aL,0x16e5676ecde7acc7L,
  90190. 0xe3e9c6238fac90dcL,0x76aef25902c87d17L,0x92e6a16157eb512dL,
  90191. 0x37eca5054023938aL,0x6b1963cf77e7fdd6L,0x0000000000000158L },
  90192. { 0x27a4063d61891784L,0x858d6af50fd9cb7dL,0x8af301b292403037L,
  90193. 0xf4b2e253c2b52eceL,0x226bffe2eb92c43fL,0x50fbc9f200c974e8L,
  90194. 0x7d07d1186b7dbb3fL,0x8fba39c8af045ee6L,0x0000000000000194L } },
  90195. /* 56 << 245 */
  90196. { { 0x1a4d19d6b580e3a2L,0xcee647c220834fccL,0x94066a7c2e9454e0L,
  90197. 0x220b4993b1b480e6L,0x0a89c3e330e72308L,0xf22f323e6294e865L,
  90198. 0x27dad374645c364dL,0x16b70ed4b47a7a2cL,0x00000000000000cdL },
  90199. { 0x208a7f56cc79e99aL,0xb844ed7d1991087eL,0x6f19c1c07ee9fc8bL,
  90200. 0x12a4140bb9208633L,0x8f976b252c1a5947L,0x083544dda1bfc7c3L,
  90201. 0xd432604b206df951L,0x0f3c03b57eca93b3L,0x0000000000000115L } },
  90202. /* 57 << 245 */
  90203. { { 0x99d40986753d916dL,0x76e71d0dc6f9ad8aL,0x7c1b28a9131d329eL,
  90204. 0xd572e26068eda873L,0x6573c96b3dc992fcL,0x7f37ed7ff8056b40L,
  90205. 0x8763b71e7e52cfb2L,0xb95a7916e3cc1875L,0x00000000000000d3L },
  90206. { 0x063f06bfa0d93ec8L,0x8e86a0ae68082206L,0x00d504f407041b08L,
  90207. 0x4dd113bf92c96a08L,0x52e9b7eac04ae2b9L,0x84e384d5fdcb7b5fL,
  90208. 0x493ca1391d0c6202L,0xcca8ca15fe81207dL,0x00000000000001a4L } },
  90209. /* 58 << 245 */
  90210. { { 0xd5d4d7cff6f13b77L,0xa235e197561ed919L,0xfb2fe413292a81c4L,
  90211. 0xc0813a2712fd60fcL,0x5810faf1d63cb00eL,0x9f5f197d3fd6725eL,
  90212. 0xf14546b1874b8146L,0xdfba72ae7fee7377L,0x0000000000000194L },
  90213. { 0xeae4ae28cbc9ce37L,0xec3f756dcd373c41L,0xa06e06a8f77cea19L,
  90214. 0x94d4d6712105ff62L,0x72cc585c06f6fd6fL,0x663727a62e929fcfL,
  90215. 0x8b961949dbf5886dL,0xda00c0f69718340aL,0x0000000000000021L } },
  90216. /* 59 << 245 */
  90217. { { 0x1f690177297f5c08L,0x829e1e491a44476bL,0x546ce72c95b8a526L,
  90218. 0x775796e3c8b75808L,0xc88ded0ba53f8e9cL,0x6c9d25f77d4c14caL,
  90219. 0x19c94323081d88efL,0x558a9201bd375822L,0x0000000000000011L },
  90220. { 0x3f9d75a8b8d1b7eaL,0x7922b2448df0af6eL,0xad5e8cc1abc15eedL,
  90221. 0xe3b3754bf3b890e1L,0x379f1383a7648fddL,0x9eaff495874c0014L,
  90222. 0x67e39f779ab784b9L,0x620e2eb4778ccdbcL,0x0000000000000127L } },
  90223. /* 60 << 245 */
  90224. { { 0x8f73b2234438a469L,0x39a3151a312f3e82L,0xc1b4a65f4fd6149eL,
  90225. 0x5cfd0145d0d76e86L,0x391146bb1a77eab4L,0x3e4961491c97071eL,
  90226. 0x60e4eddaec115d98L,0x0e58bcd6dcd6b9e3L,0x00000000000001a1L },
  90227. { 0x64049099d8bd20efL,0x2204f491ea12243bL,0xa219aa014de1a0f6L,
  90228. 0xf04edad6989ff1f5L,0x5187c5776afebbdeL,0x6b50208e8707b524L,
  90229. 0xf92f5bc8911785b9L,0x939c770bffc55f6cL,0x000000000000014aL } },
  90230. /* 61 << 245 */
  90231. { { 0x23bee635f7258c06L,0x167cae1604f1f357L,0x44dd3c13265880aaL,
  90232. 0x14d4fcf659e7b653L,0x1cce371ab23c6ca4L,0x1f0d3fd2be665d7aL,
  90233. 0xf9a6b67edbd611d0L,0x3914288b373b5d3eL,0x00000000000000b8L },
  90234. { 0x35ece3f280efbc9eL,0xf5ca78c4e90d9d2bL,0x28a4ac1626f91851L,
  90235. 0x6c410ee1547cb8abL,0xe034876ad121a20cL,0xef1f5ccc10ad2acbL,
  90236. 0x46b897f276faa816L,0xcfc360975d09bc6eL,0x00000000000000d4L } },
  90237. /* 62 << 245 */
  90238. { { 0x4e9b70429fe870d6L,0x6b3a18c95b05c44dL,0x9402371050c1dd23L,
  90239. 0xc73dd6f17ec19f72L,0x341988d5d13247c2L,0xa2507b4211b903adL,
  90240. 0x317804a96ab937b4L,0x61a65fcea908e4c7L,0x00000000000000f0L },
  90241. { 0x39645ebd823fbc2dL,0xb735849ea4146076L,0x3155c49373ffc246L,
  90242. 0x38a8186d9eaef0bdL,0x6dcaacacad300f96L,0x1aa11954454bd19bL,
  90243. 0x4742ad6d770ef5f2L,0xb5e674ead3dddd4eL,0x00000000000001e4L } },
  90244. /* 63 << 245 */
  90245. { { 0x2e70fc86d8f34db1L,0x5465c430a63abec9L,0x7ec081a39b336fe3L,
  90246. 0x5dce23079972d290L,0xd92f92e87c892943L,0xc47b48bcd6dacbb0L,
  90247. 0xace480e295957dcbL,0x762e668932a0e43cL,0x0000000000000187L },
  90248. { 0x3475d0d61e89009dL,0x943cd5f0db2bd19bL,0x534c64936ed81e64L,
  90249. 0xbe764b65e36cda5dL,0x5a315225d65e0449L,0x6e045dc36797dfb5L,
  90250. 0x50e92a969bf6935aL,0x08bc07d4aa863084L,0x000000000000005cL } },
  90251. /* 64 << 245 */
  90252. { { 0xc3246fc8bddb33c7L,0x68dc29bb81972f1fL,0x7b5edc9bee7ed0fdL,
  90253. 0xee83430ce158deafL,0x8a924b48df7c5708L,0xb421a505f2c65a04L,
  90254. 0xb5da215e5c289f82L,0x752d5ff9b9d02b8aL,0x0000000000000165L },
  90255. { 0x55564b4a0d9d7788L,0x70c744916cab3607L,0xf53bc98690091526L,
  90256. 0x1e88044d9abc41a6L,0x38e9d3dd2bb6d384L,0x4177105e84bc3dfeL,
  90257. 0x2b95a432674df1b0L,0x38196726eb1de0dfL,0x0000000000000137L } },
  90258. /* 0 << 252 */
  90259. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  90260. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  90261. /* 1 << 252 */
  90262. { { 0xa6d6b095dbbd171fL,0xf0d3b95744f06181L,0x46b9786578fab381L,
  90263. 0x7da97845ae356e29L,0x4a0c3e00d01b3c09L,0xaed18677e106d5beL,
  90264. 0xd7309c761affdb67L,0x9715875425f2b8c2L,0x0000000000000193L },
  90265. { 0x65d3657b24785079L,0xb1d2b5f75e064334L,0x0736bfda2b7b61e1L,
  90266. 0xb39c4db1284e4fa6L,0x66cedf43bd934998L,0x8f9f6243324d2de1L,
  90267. 0x92f2524e4c193171L,0x75705acd964a8383L,0x0000000000000031L } },
  90268. /* 2 << 252 */
  90269. { { 0xfce13e03d0739036L,0x0af573f2a4161596L,0xf3db4c750bdedd89L,
  90270. 0xb594cca3e8eae413L,0xd9ad2edce2e66f2dL,0xe99c048166f7f599L,
  90271. 0xd141ff976886e453L,0x087714a153e3221fL,0x00000000000000beL },
  90272. { 0x91eab39e5daebd46L,0x3f9ddea494fb01f2L,0xfaaa200b142ae67cL,
  90273. 0x853da6b0ca631c4bL,0x4c9ca396fb3f4229L,0xb00a8de2e3690f95L,
  90274. 0xe8000000c2c7704aL,0x65c0ab7393ad0dbcL,0x00000000000001e0L } },
  90275. /* 3 << 252 */
  90276. { { 0xedec6d350f810445L,0x2ee468445fe4215aL,0xdace7f0e969acde4L,
  90277. 0x3708f4f4c754dff6L,0xa510303f6c0370abL,0x9d5cac3ab4adc2feL,
  90278. 0xf33d4a2b395a765bL,0x437bfdca1856e0c8L,0x00000000000000c5L },
  90279. { 0x287dc7f70812a78cL,0x30cb0cd905dc3fcdL,0x80343b51008ec68bL,
  90280. 0xbb3da3a5cc404f65L,0xd5276af593d9f303L,0x85a875d47daa5950L,
  90281. 0x5baae52f078e6556L,0xddd9e3efe58a4e97L,0x00000000000001c5L } },
  90282. /* 4 << 252 */
  90283. { { 0xa3ff48a37252eba7L,0xfe771fd391359daeL,0x9dda3a45d05be01fL,
  90284. 0x5cfa713de97a9a89L,0x5fd23bd887cb6c64L,0xbe45c0758d9ae4bbL,
  90285. 0x90f9438478e27270L,0x3e1b0d18f0dbddd9L,0x0000000000000018L },
  90286. { 0x6e5283f7f2fb7facL,0x232e9cd13593d0e4L,0x97418d9cee81f08cL,
  90287. 0x339540f51f2e8dc0L,0xeaacb20b619b5ee8L,0xefc8079a4ae00660L,
  90288. 0xa968fb1c765802b5L,0x60088783f20650faL,0x0000000000000145L } },
  90289. /* 5 << 252 */
  90290. { { 0x322efe142a7cbe50L,0xaf425a7db2f85051L,0xcc7c9d91812b26a2L,
  90291. 0xd89fd04968066e44L,0x79ba895fec83b2f1L,0x570c2db410e90a64L,
  90292. 0xe00f1ae889c59658L,0xd94f065c78edd742L,0x0000000000000021L },
  90293. { 0x3fa27bd8c5b5b0bdL,0x432599d6a5121de7L,0x528925da2e8294cfL,
  90294. 0x28c15142cf0f9464L,0x38498320a6fa7f3cL,0x92cde9b1ba93f4b8L,
  90295. 0xefe2455e4bb98cacL,0xe0cc0ef1d1b0e59cL,0x00000000000000d6L } },
  90296. /* 6 << 252 */
  90297. { { 0xc538d35074a00efdL,0x4776ad9697bc3ac7L,0x22041b531867f889L,
  90298. 0x2aa3594319cbf055L,0xf00a49d00c38f064L,0xcf40e6177bd0991fL,
  90299. 0xa59df69b0155ffafL,0x1f2d50feace4aa07L,0x00000000000001e4L },
  90300. { 0xf1a777ee5cce1b0dL,0xfb8a0ab09c7ad9aaL,0xc0d3b78058a6aff6L,
  90301. 0xa9f4b3a3370af1d6L,0x3a0731a53d39d147L,0xf7aa9df732c93fa5L,
  90302. 0xd9a0599f9c938c2dL,0x2702735d01b0c0d0L,0x0000000000000152L } },
  90303. /* 7 << 252 */
  90304. { { 0x64f62dcba1d24f4bL,0x134da7c1f5776ef9L,0xb6699e3f534bf835L,
  90305. 0xc9b93539ef275259L,0xa9d68c870f7cf548L,0x4ee54ff7fbd2d9a9L,
  90306. 0xcaf81404465e7c2cL,0xa02fce30048cad5dL,0x00000000000000d4L },
  90307. { 0x9ce2e24c6e76c091L,0x8353d7c941ec4c75L,0xe7f5bfbb43a019d0L,
  90308. 0x74cf2bbe508e92c9L,0x58f2e1b68dfcbacaL,0xbe79df8b98bdc65dL,
  90309. 0xceabfa1cc699db7eL,0xe237815e0e3f9421L,0x0000000000000093L } },
  90310. /* 8 << 252 */
  90311. { { 0xcfe4f02e36e4a40dL,0x3af87a7df2b51e5eL,0x3b6baa2683fbf682L,
  90312. 0x9a7a9339063e5979L,0x77214ebf41b680c9L,0x1fbdee591ae59f71L,
  90313. 0x9a4dd12ee1530c0aL,0xe113839691fe54b0L,0x00000000000000baL },
  90314. { 0xf84d66ebfc229914L,0xfcc47954452da1c3L,0xe662b9c06f9743c5L,
  90315. 0xd0db646d087d7194L,0x2abc096b6e1bbf6fL,0x24272840331f3a96L,
  90316. 0x0da86ea2a6b9f40dL,0xedb363317dcb4554L,0x00000000000000d5L } },
  90317. /* 9 << 252 */
  90318. { { 0x35ca7b714da6061aL,0xa9bf19f0003e19c8L,0x1298c7034c3c37f1L,
  90319. 0xef43fc92921f123dL,0x065e9cb5cf8acdbbL,0xaf1392df0a25165fL,
  90320. 0x2174ceea344d3fc5L,0xebfe81c529d22225L,0x00000000000000d6L },
  90321. { 0x0fd8fdf2bff99ba3L,0x7789d27d28498d5cL,0xc5d731b872535985L,
  90322. 0x4dac761544e0ec8dL,0x1997b34953628596L,0xda8f1b453df08420L,
  90323. 0x2cf56fdce0df23fdL,0x3c9a7005f2c7864dL,0x000000000000019dL } },
  90324. /* 10 << 252 */
  90325. { { 0x5c1c16872c1e8de6L,0xd70ec472b1c70780L,0xeb11585ec5b43635L,
  90326. 0x943929d2fe1004b8L,0xefec44e1735d06beL,0x22380d73c2f367dbL,
  90327. 0xcf498e0d550f497bL,0xb9d7707958da0a67L,0x00000000000001cbL },
  90328. { 0x4a86da6a6139e58aL,0x59828182eba6ee4cL,0x117ea761d5b978b9L,
  90329. 0x6e5c95fb421c7b72L,0xcb8ab1e8b9da6233L,0x8a99b06f696c2a02L,
  90330. 0x128544479166802eL,0x66c2c35cf1aa2cccL,0x0000000000000120L } },
  90331. /* 11 << 252 */
  90332. { { 0xd558d1c2d75dd2d2L,0x835a529183c47104L,0xbe1680cbd6a8d82eL,
  90333. 0xf1ed775571b65f2dL,0x375ac4137edd4aa0L,0xca2bf9c9863979e3L,
  90334. 0x8b2d261eb6a3f48cL,0xe3fa313d74fd8349L,0x000000000000001cL },
  90335. { 0x0b8664383e70dd66L,0x6a5fb43b15cef5dcL,0x83a0fe8cf8871f0cL,
  90336. 0xb879a0e6848f9812L,0xf93ce978f35ca817L,0x74643f68687d2a6dL,
  90337. 0xb9e7ba00c6df8a5fL,0x151a645afdd5d515L,0x00000000000000c6L } },
  90338. /* 12 << 252 */
  90339. { { 0xaf39cf7917f8115eL,0x538d81c5b1e2e5c2L,0x6d3a29b22661d6e6L,
  90340. 0xbf9ab97716f4f3d1L,0x1ff2e621c84d4f92L,0x985dff6bdb14f203L,
  90341. 0x24559c328f4f0e0bL,0x960527201a1e7a96L,0x00000000000000feL },
  90342. { 0x398cc66a79786d47L,0x009bc173b2b9653fL,0x295b412ed23322beL,
  90343. 0xaa78b521ffe060a9L,0x5ff5a5feb808d2b8L,0xe84af56c3182e463L,
  90344. 0x94972ab444022236L,0xa17d7b55de52f2baL,0x000000000000014fL } },
  90345. /* 13 << 252 */
  90346. { { 0x8c90e71abe54c3a6L,0x449b10eaf71c5359L,0xeea87dfd829fa44eL,
  90347. 0xd8353ef02ca80e90L,0xaa71620cd1229447L,0xb0445ef2d4344caeL,
  90348. 0x2792ebb0451ce474L,0x3581deedc2907707L,0x0000000000000199L },
  90349. { 0x39ebef0294adefa4L,0xc44fb92c3ac01ca7L,0x4df141e2c456c3caL,
  90350. 0x20aed69b471dbf3cL,0xb31db16ce85b7ce0L,0xc239e7166911a4fcL,
  90351. 0x3d8c230321f7392eL,0x98f6f7e6e19b03ebL,0x0000000000000142L } },
  90352. /* 14 << 252 */
  90353. { { 0xf3d8f02c9371d8ccL,0x034277222083bc29L,0x1bc1a1a2e0a508d0L,
  90354. 0x75402b4365386b1dL,0x7832c7a2a81ea689L,0x30fdf8d8d3c43e8dL,
  90355. 0x11af93da8bdabe83L,0x1fc117f8df22b64fL,0x0000000000000015L },
  90356. { 0x266747ceaaca36f0L,0xa3b4bacfb8eb0f62L,0x60b72b71577519e7L,
  90357. 0x689653954bdded3aL,0x0366164aab2ff463L,0x5615191444c3432bL,
  90358. 0x2040ed772700d67bL,0xf6b08ac8cff9e250L,0x00000000000001c8L } },
  90359. /* 15 << 252 */
  90360. { { 0xb8e81a2dddb4eb9eL,0x89f9c08f3947b43aL,0x69d84b2bb0e758a3L,
  90361. 0x862f559972bc3e5fL,0xe9c567914ac68eabL,0x8d66059f8912bd54L,
  90362. 0xa386e77fee35a78cL,0xa434e2e64303b216L,0x0000000000000165L },
  90363. { 0x545f743413593d90L,0x745c910055bbcb3fL,0x45e63824bb344485L,
  90364. 0xc26c34dd38c0f16bL,0x55c10ecddf952e71L,0x60c4a2e598fd979aL,
  90365. 0x5ff003efa6ff9ef9L,0xdfb5fce95e578209L,0x0000000000000077L } },
  90366. /* 16 << 252 */
  90367. { { 0xa87650d1eaffd713L,0xec781c97a797ad44L,0x1e94accdb4bcac17L,
  90368. 0x2284f96fb3981cc9L,0xb8b2ef57091634ebL,0x4accf5e8cad053d0L,
  90369. 0x0eca4f9b5d1ef480L,0x1598ef27d6e76957L,0x0000000000000131L },
  90370. { 0x7cbc9061b72d8840L,0xe611924d86a5ba36L,0xe02e9ca8e066d292L,
  90371. 0xdb092f52a68a0466L,0xf5d97f5d0c0b18f8L,0xb5e171465c99b95cL,
  90372. 0x1bafbe749d3d6acfL,0x606103fef370bd5fL,0x000000000000013bL } },
  90373. /* 17 << 252 */
  90374. { { 0x3fe39e9cda6f368fL,0x4af61b0fabb8e7a1L,0xc4fc73f42b9c9912L,
  90375. 0x20ef2e5ecc24e5dcL,0x481cdbd4f1023146L,0xcb417697117bf9ceL,
  90376. 0xb8436bbb544036a2L,0xd828ba5c0a8f949aL,0x00000000000001fbL },
  90377. { 0x19515a04ac53c4beL,0x909688614a652fdcL,0xddbc6aacea6eab85L,
  90378. 0x15a84e31dd8f09c6L,0x1482d4ed2a71c6baL,0x48887451b38da85cL,
  90379. 0x885c36530c77e28cL,0xca5e7a1b99505152L,0x0000000000000004L } },
  90380. /* 18 << 252 */
  90381. { { 0x040a2260aa34bc2dL,0x121519766afe1aeaL,0x6cef13fc4b8bff60L,
  90382. 0x648802d6ff7615d9L,0x840563e335e69c6bL,0x39b0d6a55fa0b253L,
  90383. 0x88a3c3ba4bb58678L,0x126b85d347abaea3L,0x00000000000001afL },
  90384. { 0xcc56805c23a0415aL,0xc577101dc281dd52L,0xfd3ef16d7ca89e69L,
  90385. 0x4a7283f560b671afL,0x852732a794a73553L,0x3cdb84d0f7951035L,
  90386. 0x6d9330e01c556d8dL,0xec1e7cd492cf6b85L,0x00000000000000e1L } },
  90387. /* 19 << 252 */
  90388. { { 0xd51138a7d7841050L,0x5a5253a482ee0b99L,0x724f84f5c6740508L,
  90389. 0x80a3e456c2d2de09L,0x19dfa21c187141e2L,0x4d41ef7b42877c25L,
  90390. 0x9d6b3326d75209b4L,0x3a21cd023587efacL,0x0000000000000006L },
  90391. { 0xa492f40456ad32a6L,0xfcda204c21031b3dL,0x4cebc3ba8fa9f767L,
  90392. 0xf96068d423837f90L,0x99013dab42ea9f03L,0x6e21bf1b0ddd2cb5L,
  90393. 0x0c9a452bdf051b9cL,0x5c9d2ed27034ea63L,0x00000000000000efL } },
  90394. /* 20 << 252 */
  90395. { { 0xc3c8d26f643c4cbaL,0x3a5bb59455e63c4eL,0xe0a25b35545e3cb6L,
  90396. 0xc6d52abeed177530L,0x2eb287968f4cd3c3L,0x01b5433943c6ceddL,
  90397. 0x85930ae934575ceaL,0xcf13a14404294cffL,0x0000000000000172L },
  90398. { 0xe9cf3a7c89e62cecL,0x19f62eba02e58adcL,0x0b98464bd3762108L,
  90399. 0xd148d77d942b9f9dL,0xefd8cf2b6ffd03d5L,0x2ce97d571fe049ebL,
  90400. 0x684bd7957de2640eL,0xf509af614fadaf12L,0x000000000000000eL } },
  90401. /* 21 << 252 */
  90402. { { 0xdaeeefc8bd7db126L,0x9aa0f6ca3e712793L,0x3219db3fc2424c7bL,
  90403. 0x176f35eb708e50ebL,0xecd6fe934b0b3588L,0x897e0be7e25dd575L,
  90404. 0x37764d7c511df00dL,0xf2534cd41e410d17L,0x000000000000005fL },
  90405. { 0xe086716404e39c47L,0xfcaa5822faa76d22L,0x325e11738fa74426L,
  90406. 0x744a07fe3c45bc8aL,0x554c7032d61136b6L,0x0530bfc9ba0e8c67L,
  90407. 0xf25a3a8ed53c15a6L,0x2f2c8715310c9174L,0x0000000000000134L } },
  90408. /* 22 << 252 */
  90409. { { 0xc4edf2abef129aabL,0x669fce1c0d57c727L,0x1d02a96d42e87512L,
  90410. 0xe150a353f32d3174L,0x6808c4ab4d52e358L,0x16c366cbb7c74f3fL,
  90411. 0x143e3bb816eb7940L,0xc50b78ebcc3ed5a4L,0x00000000000001a8L },
  90412. { 0x9cb287a40ac87da7L,0x35ecfd38b9dede9aL,0xfc155649fad6c214L,
  90413. 0xfb97929926af1c4eL,0xb4fd33291b4ba2a3L,0x5027b62cd8079f78L,
  90414. 0xcef56123ef96d8aeL,0x5c7c3b2ab1952e0fL,0x0000000000000147L } },
  90415. /* 23 << 252 */
  90416. { { 0x5a3018dfed37f7b8L,0x7a3b0c2a057bed1eL,0xd616a40033284d2aL,
  90417. 0x86517965e501d780L,0x2216349cdf6fe150L,0x8af9ad6f9114ac94L,
  90418. 0xc1a53ab4a61c04b5L,0x8dcbb53b09eb46c2L,0x000000000000010fL },
  90419. { 0xe672328378dcf9b4L,0x3aeddb5334ae43fbL,0x616116d1e4997ea6L,
  90420. 0xd0fa538e3f22345fL,0x25131525fa6fa9fbL,0x7c1a8081705d6d97L,
  90421. 0xc89bbc7389f5d450L,0x542a0882dbd80319L,0x00000000000000ddL } },
  90422. /* 24 << 252 */
  90423. { { 0xd883edca1854dcb7L,0x158f2ad5e4b33262L,0xa89ba702743cfdc9L,
  90424. 0x762616ff85efe2cbL,0x01c666119880709aL,0xec6df8890999a8f8L,
  90425. 0x11cbe7f35006451cL,0xdb0dc5696a551e2dL,0x0000000000000078L },
  90426. { 0xc8ac5659a91c9a13L,0xd146235491cfcd3fL,0x8031f8ffb83429e2L,
  90427. 0x12f36b88c7c807beL,0x9bbe73ada17696d9L,0x631f9dbe13e49ec5L,
  90428. 0x6a868794fccaf136L,0xe0341491d4c71b95L,0x000000000000001fL } },
  90429. /* 25 << 252 */
  90430. { { 0x714fded2fb616313L,0xd1f8be5c4138197bL,0xe06020deda814497L,
  90431. 0x16e6c5994f00cb7cL,0xb75cfe69712c2c0bL,0x303d77a3db529279L,
  90432. 0xaa2d207ddca146f7L,0x587e3f839bbeb98cL,0x0000000000000158L },
  90433. { 0x988d1f50a6b10157L,0x43a1d2fb914103b3L,0x8d3afdfca224786eL,
  90434. 0x52bfdecb99a99cfbL,0xa6f20f93dc38e50cL,0xe71ad506ab79cb34L,
  90435. 0x937405c803ca3b19L,0x12b16d20ade81e6bL,0x000000000000000cL } },
  90436. /* 26 << 252 */
  90437. { { 0xe14ddf295a95e0d7L,0xfb5740d3f0aa2850L,0x5e8c11d18d654360L,
  90438. 0x3aaed8340252e7caL,0x1aeba10cf88cdedaL,0x1a57aa22cb63f2a9L,
  90439. 0x89ae2ab42123c4aaL,0xf8665895bb8d9ec1L,0x00000000000000a9L },
  90440. { 0x73de3b4627fe0dafL,0x1267a3e741ca4fd7L,0x26684605cca84b06L,
  90441. 0x9190d4d64bded61bL,0x50d97803989719ddL,0x605632471d59b025L,
  90442. 0xc151df922083bb72L,0x6fdbeb823d3ce909L,0x0000000000000094L } },
  90443. /* 27 << 252 */
  90444. { { 0x0626cb92c7c9761dL,0x20d73ca5c6afa3e7L,0x1e20927bbdd40e51L,
  90445. 0x39788dd2d806e2caL,0x143aba83269c8534L,0x127e8992cc4cd1ffL,
  90446. 0x29eb0e1d86bb67bbL,0xe6cd55afdef639abL,0x000000000000005dL },
  90447. { 0x42f52e70509595ecL,0xc41012f3bf39cfe4L,0x6f7fb05ea709badbL,
  90448. 0xd80b13e292cf6184L,0x23683493edc7bd6cL,0x277892f1dc43b987L,
  90449. 0xc76285574535695eL,0xac2a363a1b8d2e1aL,0x00000000000001aaL } },
  90450. /* 28 << 252 */
  90451. { { 0xe90f84570012e81eL,0x6fa09e16b98fd2b0L,0x0a09399d9805fedcL,
  90452. 0x2e315eef2d5c3795L,0x890ace479a886fafL,0xa901e7b5d1690ec4L,
  90453. 0x45116659bbd30a26L,0xa07c60ad19302f7cL,0x000000000000016fL },
  90454. { 0xda9350157782fa75L,0xb0253020981b2b85L,0x3a2434f0f76c5389L,
  90455. 0x51b7a3ea04884584L,0x09d81db0d12297ecL,0x46842ca99d202166L,
  90456. 0xe9fd1469d502c092L,0x61703bf654ddf5cfL,0x0000000000000176L } },
  90457. /* 29 << 252 */
  90458. { { 0x6fd8079edb2c1400L,0x143a2304cd0e2f67L,0x9987e77144296e69L,
  90459. 0x6d27cba4601afb95L,0x8f6d58c41a75b55fL,0xac76bf6fb30a6c2aL,
  90460. 0xb6e0fa7760de6c0eL,0x1793832b98b30d3eL,0x000000000000018dL },
  90461. { 0x7d7582eccc35416eL,0xf0472b74398092a7L,0xb122b93c58c6b243L,
  90462. 0x100b1fe07e032f1dL,0x62b71644058ca84bL,0x036760890ac11b8bL,
  90463. 0xb36d7ad9092839edL,0x092759cf5f77a937L,0x00000000000000c2L } },
  90464. /* 30 << 252 */
  90465. { { 0xaf6d6bee01c05a63L,0x3d7282dbd5a612b2L,0xa4bcb677f9b49c9dL,
  90466. 0x1186eeb8b8f5a993L,0x08fede59fdd551f9L,0x6ac2844cb7c047eeL,
  90467. 0x972583e24e4c3786L,0xefb8e22533d3b9fcL,0x0000000000000145L },
  90468. { 0x9164f2c84f585b1cL,0x7f49bfd2d53a4a93L,0x4ad4bfca07ec3188L,
  90469. 0x0412a46f933b2990L,0xddfcdb113f03779dL,0x1d7078ff17678e3dL,
  90470. 0xe3fbc9b2e9b85930L,0x25bbb056ee1174c2L,0x00000000000001e8L } },
  90471. /* 31 << 252 */
  90472. { { 0x6a2da2be4951a177L,0xa7712dade0249695L,0xca9500ddebd45219L,
  90473. 0x9512855fe6a249cbL,0xd2fd8a82b7b464f3L,0xc32ea5d18aea2d80L,
  90474. 0xeb2a2ca3e13e3278L,0x629f37f5ac6e4e6bL,0x000000000000001eL },
  90475. { 0xfa92ca3d66778869L,0x994101dfad4fa305L,0x00e70ff2866528e5L,
  90476. 0xf4e501e9fe725c14L,0x35f8f43e07d0014bL,0x55689c488108dad8L,
  90477. 0x998730a593fa8b70L,0x640054d4497da817L,0x00000000000001fcL } },
  90478. /* 32 << 252 */
  90479. { { 0x272ec59646e69dafL,0x348d7acd79b09a47L,0x8731070bd806f931L,
  90480. 0xe1191599011d80caL,0xd001ced01b8cd947L,0x31dd3c9878a6654eL,
  90481. 0xde8dbd0cc6409599L,0xb8939d44691b6141L,0x000000000000017aL },
  90482. { 0x146fdd629c45660bL,0xeb9a13d3a6283d26L,0xb99e7e66c9e2a86bL,
  90483. 0x926ee0abe626a5eaL,0xf01ec218e8a93dedL,0x8562b91a040fb497L,
  90484. 0x25fa595f6ddd2f63L,0x9389fffca2612413L,0x00000000000000d2L } },
  90485. /* 33 << 252 */
  90486. { { 0x6c4d9184bf16e29fL,0x70e6d2ab705bb9c2L,0xfcabd209b2118b5cL,
  90487. 0x66321abfc9722264L,0x7a36d66f3200176fL,0x674a9b43fdf743c2L,
  90488. 0x0b70838fed49945dL,0x274a8631bf04eab2L,0x0000000000000028L },
  90489. { 0x08650f55a3b6345aL,0xa2cda848cc418bd7L,0xea80cd7d13c42880L,
  90490. 0x6895e5e434f7c51aL,0x1c51266d65380432L,0x5a024a2f94c33187L,
  90491. 0x5e5fd4988a8c0674L,0x1b9f5d2d250b1cacL,0x00000000000000ccL } },
  90492. /* 34 << 252 */
  90493. { { 0x54a1d996f85100b2L,0xcbc5aa64db80cbefL,0xe91d2b9f59e324dbL,
  90494. 0x9a5be55343d54cb3L,0x0ce9b03acb01dac4L,0xba4de3a2c63fd291L,
  90495. 0xb1deed8fe51325e2L,0xeb22652f5595c748L,0x00000000000001d1L },
  90496. { 0x1ba3d9749c6ab6f4L,0xea84bc15d4814870L,0xbba9c3a7b8034e24L,
  90497. 0x07482120618eb92dL,0xf6e8b897bf7a2f69L,0xbb141cd921f09ce1L,
  90498. 0x4737cb5e28f04b32L,0x333210812dbf0affL,0x0000000000000148L } },
  90499. /* 35 << 252 */
  90500. { { 0x3fbd36619f67786dL,0x0301a8134bc980f7L,0x3ccde4731d1abf93L,
  90501. 0x7ec69b27aac22970L,0x02e4efca9d9ef464L,0xd3ecb5f7e4b97c90L,
  90502. 0x22fc87ce2817aeb6L,0x3703fcc9926bb15eL,0x0000000000000151L },
  90503. { 0xf0906667a44ed08fL,0x685d2d12441de931L,0xfbc0bd4c2d6d7984L,
  90504. 0xf76a510d39dbe5d7L,0xd2b30ce9192862c4L,0xbdea2ba3ba2b8335L,
  90505. 0x020d4e210976edb4L,0x67d9047cef64f6acL,0x00000000000000f6L } },
  90506. /* 36 << 252 */
  90507. { { 0xcbe3c6553fca4498L,0xfe7348762b198c78L,0xd29325d2244e4325L,
  90508. 0xf811d9a114fc0ce9L,0xaefd7d9540622672L,0x9e01aeebb59070b6L,
  90509. 0x14811a71f8dae8cfL,0x9c4680d5c01426c9L,0x0000000000000154L },
  90510. { 0xf106ef2abc07c7efL,0x249a2234a39f9edfL,0xc8183c09615d7a51L,
  90511. 0xe250cd31f509f19fL,0xf28eefe149134f13L,0xee2b97e95ddaff55L,
  90512. 0x28b2f72ad3959547L,0xf40f9d6a47cd3c7bL,0x000000000000009dL } },
  90513. /* 37 << 252 */
  90514. { { 0x319d18853945bc6bL,0xc0569cb414c1c53cL,0x0e23bbe24104fd05L,
  90515. 0x22ec69d1af763b66L,0x79816606bb0000e7L,0x6a3a8ae493893673L,
  90516. 0x0573de9d2d6abbc4L,0xb28bdaa38fb6032bL,0x00000000000001d6L },
  90517. { 0x50baaea5ac05f0cfL,0xe88864181615f297L,0x9311a1dfa9d25c58L,
  90518. 0x3333e14f8d6c9eeaL,0x6a8f3dce13608d91L,0xbb6b6955b736b86fL,
  90519. 0x5aeb5a41eb0a22d8L,0xccf9043b974aa869L,0x0000000000000161L } },
  90520. /* 38 << 252 */
  90521. { { 0x9634396daf728c46L,0xa5bc9b7d247224e7L,0xdfbc08af5c081218L,
  90522. 0x40daef2f74944bf7L,0x363b2863461700f9L,0xc7b2d7bc173bb294L,
  90523. 0x99080d3eefbfe051L,0xf987b4b797e98cf6L,0x0000000000000023L },
  90524. { 0x3984bf231aeb61d0L,0x4d59b524b46acdc8L,0x5523fe15227d50bfL,
  90525. 0x77b1691dcec5964bL,0x6517492432344e0aL,0x0778001be2ac2d32L,
  90526. 0x8cea375f288c0542L,0x92aae3acad80ca37L,0x0000000000000047L } },
  90527. /* 39 << 252 */
  90528. { { 0x5f72b28080743791L,0xf6d24353bad4058bL,0x40941ebcfb22ed42L,
  90529. 0x46f017e280467bc1L,0x43155ecf5b2eaf8dL,0xe7c3771ea97e0752L,
  90530. 0x87b477068a9a2623L,0x8ca0232ae08b1132L,0x0000000000000184L },
  90531. { 0x32ef7ae5683dbb52L,0xa8dcbbe761094cb0L,0x9f2062fc2c48a96fL,
  90532. 0x16bab4ceed9269ddL,0xf2b4713d2b9caa66L,0x81ccd94c07417deaL,
  90533. 0x71dfb81ae196d3b3L,0x836e59ce53016c55L,0x00000000000000c7L } },
  90534. /* 40 << 252 */
  90535. { { 0x94804b92b95527d4L,0x90dd532b78404dbdL,0xf8e5b1c62c372391L,
  90536. 0x7c4b488d68836ee7L,0x9d266ad6f8300a06L,0x16fb86b496340c5aL,
  90537. 0x593521324c6fb7a6L,0x20328cf8e55babb5L,0x00000000000001a7L },
  90538. { 0x8cc5cf828c337a9eL,0xed52a678cb12ddf7L,0xa38d7a38af21e702L,
  90539. 0xf4ea981de8c19a9eL,0x0e4e6bdc79a44d8dL,0xc76b800a5236cabdL,
  90540. 0x4ac864e69c3644f3L,0x418d9fe3162729f4L,0x0000000000000132L } },
  90541. /* 41 << 252 */
  90542. { { 0x632fac9b6c0b884dL,0xe64b31b11fc25e52L,0x96132f079cbd3314L,
  90543. 0x0e24dd947d867c6bL,0x895f8df9b24daf39L,0x8436f4630d7b8ad5L,
  90544. 0x292df4b9f79f4019L,0xffefe90e02a7ed35L,0x0000000000000007L },
  90545. { 0x4ce7024fd1b1dfcaL,0x8ec5462cbcd0728bL,0xaf6d3ed726fa57c6L,
  90546. 0xe6c42b8d3f45f510L,0xf8c2493a062a663eL,0xe988a4782075f60cL,
  90547. 0x641270957d167671L,0x3fd8cd1558cf1479L,0x0000000000000152L } },
  90548. /* 42 << 252 */
  90549. { { 0x46159bb21866454fL,0xdb5d23dbf1c1de9dL,0xa5b2b20f73b122e7L,
  90550. 0x1a5328d36e867746L,0x82d316f43432f556L,0xe1773f940a06b40bL,
  90551. 0x283be2a70cbb906bL,0x3ba5f206a07eb52aL,0x00000000000000f9L },
  90552. { 0xf0fb626d3c7cb6feL,0x823e7d48108f5d54L,0x3e2713ac7b3646d7L,
  90553. 0x23042db5afba0565L,0xc8d983df57696cd7L,0xdc2055c0f11edcedL,
  90554. 0x3476704b495ce49dL,0xcb1299b72f5349ecL,0x000000000000002eL } },
  90555. /* 43 << 252 */
  90556. { { 0x44b93e40fd864ec5L,0x605efca6e1c25de8L,0xb0a3cd7d5f1178d6L,
  90557. 0x4bff709678414d02L,0xc6c0f44c9e501072L,0x77967c9f92ad4719L,
  90558. 0x579a4782a54e73ebL,0x0130dc8919eb16b2L,0x00000000000000dbL },
  90559. { 0xc93dcbfb4e105bbeL,0xe67766b5e0552c72L,0x05677f76faca76d4L,
  90560. 0x766985710bce1720L,0x63946321e3270162L,0xa67411fbc2d2c96cL,
  90561. 0x1e3dfd40c17bd0d9L,0xac6177b43071540aL,0x00000000000001b4L } },
  90562. /* 44 << 252 */
  90563. { { 0xccdb3eded06656ccL,0xbe5af4fa347da6ffL,0x22c0b0573b487907L,
  90564. 0x027b5dcf0b018142L,0x18cbedfa397640bdL,0x296c1adba9ac930fL,
  90565. 0x2dc0515599454bb2L,0x5a7c04edc0072ff9L,0x00000000000001ddL },
  90566. { 0x817ec973da3ec7e0L,0xbf7de96bcb692075L,0x5ec2350044bff6eaL,
  90567. 0xcefad43c6f9cedb1L,0x808cbeda0e575221L,0x9631a43c7d0ed004L,
  90568. 0xbbd48ef5cc055d44L,0x7adced52db3a9305L,0x00000000000000e8L } },
  90569. /* 45 << 252 */
  90570. { { 0x4479d35b7ce3f5eeL,0xea8a93523bdf4c0dL,0xccc3b4b4a0f641a1L,
  90571. 0x4f9baeb1f1275498L,0x288f6fbb535c1ad2L,0xaf50e68f7d7e5e34L,
  90572. 0x1573c99dc8c366c5L,0xf29ed752cda48eecL,0x000000000000008cL },
  90573. { 0xf61dfe1cce19d1fbL,0x3f0ba2cbf727fb66L,0xbf17e60c5a46a948L,
  90574. 0x58bd4583e9e2c738L,0xe2ba0170ca15e3b6L,0xffe816af2fd57fd1L,
  90575. 0xd258abc333e06a1eL,0xd48a7702b820bfbfL,0x000000000000012aL } },
  90576. /* 46 << 252 */
  90577. { { 0x1e9da85c3cb7986aL,0x8ca319700a232882L,0x6c1d4813d8db00b0L,
  90578. 0xf05b2bb6728803a7L,0x757a5bfee989dbbbL,0xfe3782b857179a1bL,
  90579. 0x580279433184f652L,0xed24df1e636b602fL,0x000000000000010eL },
  90580. { 0x23f24bae4b469488L,0xa30177834d56de00L,0xe304cfa2ed103477L,
  90581. 0x4a55640cb8c80476L,0x58e7adcfb9b7feacL,0xf4f50f1087583584L,
  90582. 0xf38761e72ee6decfL,0x62d87e7311f8bef0L,0x00000000000000d2L } },
  90583. /* 47 << 252 */
  90584. { { 0x64c6e2ee38f640b0L,0xdbff010c230cd78bL,0x7b6805e3711d0b19L,
  90585. 0x31953411b2ead66cL,0xd03cd197e3497d2eL,0x7aa2213ee0b7847dL,
  90586. 0x68c6e618540fd2a5L,0xee78f1944b427d04L,0x000000000000019dL },
  90587. { 0x110e84797561c23dL,0xcad5537536e5b2c6L,0xcb7d30ac9827ac1bL,
  90588. 0xf609071cb3eff64dL,0x5a62d75bde8b2b8eL,0x2232be091a7ce124L,
  90589. 0x266ebe5057ad42dcL,0x1b421359c61e775bL,0x0000000000000065L } },
  90590. /* 48 << 252 */
  90591. { { 0xc65023db6599420cL,0xd5f259932de4f201L,0xdf04eb7f325db6deL,
  90592. 0xba7a4c67088c5b7bL,0x4288030314fff349L,0x5d8c5ac1ced29b1cL,
  90593. 0xba44893aa9d0ff4fL,0xc94974baed3f3117L,0x000000000000010fL },
  90594. { 0xd804dafcffe235f6L,0x1701e38d67c31efdL,0xd6b499096b9307c1L,
  90595. 0xf33c74961fa96ebaL,0xfab4f9f892099d0bL,0x3cc5ed866d5334f5L,
  90596. 0x41745249c94e6d74L,0x27ef9399dd4b2b7cL,0x000000000000018fL } },
  90597. /* 49 << 252 */
  90598. { { 0xf099cc75f8a9e112L,0x3c74b4cb76c67a3aL,0xfa20479f8dc52ec8L,
  90599. 0x65abe5c0989c6964L,0x3af2709a4f2c71f1L,0x57640513f76588b6L,
  90600. 0x6353f91e26a792a6L,0xe89c1bdb21c67c8dL,0x00000000000000bdL },
  90601. { 0x0b515fad1e10dca1L,0x90abf43dcdaa45ecL,0x062412e84bc4b73dL,
  90602. 0x718bd3c5b7e454bfL,0x39ad2babc0ac0ad2L,0xc873e3cf0fcc426aL,
  90603. 0xd62abb4369ef63f2L,0x2586fe964669d4c8L,0x0000000000000034L } },
  90604. /* 50 << 252 */
  90605. { { 0xe39f0511307f1c16L,0x5b10e8b6bbb6c973L,0x0309e94f4d0b7a24L,
  90606. 0x260ce1fd6621d244L,0x45fc1a57139898f6L,0x8ea7b91a596fd366L,
  90607. 0xde6371e00771a0eeL,0x5482ebb5731efc15L,0x00000000000001dfL },
  90608. { 0x11d6093d8aff3f7fL,0xcda42fb9470d25aaL,0x005b142823539f03L,
  90609. 0xb8c213cf33a131c4L,0xc8d4d05bc2d06673L,0xc280e948257b0746L,
  90610. 0x382e6cb317e2d479L,0xdb86d2f4febdf3feL,0x0000000000000027L } },
  90611. /* 51 << 252 */
  90612. { { 0x78caffd2c356407bL,0x20edea9e58f1eb89L,0xd16fc85fb2dc193bL,
  90613. 0xb1cd53747c8d19ebL,0xe2e606b24e7a43f9L,0x8c6f1b375ae2453cL,
  90614. 0xb3e9a3ea3ab64627L,0x043518e52094ca40L,0x0000000000000084L },
  90615. { 0x2c793d0352c34b1dL,0x21222d8dafca2b29L,0x951527fbcef8af6aL,
  90616. 0x73984b4bc18db31eL,0x30bd73641bf872baL,0x6c06495be01d557bL,
  90617. 0xacb554b9fc5f7d63L,0xc02a11b7f50b0bc4L,0x0000000000000017L } },
  90618. /* 52 << 252 */
  90619. { { 0xdf677374c18bfe67L,0x03daa39249685742L,0x69d2a99736b62aa4L,
  90620. 0xb7c3f6dbf4a734a8L,0x6ad1791560bb2339L,0x266dfc1f08f94b78L,
  90621. 0x2d3d477dd21b35dfL,0x41aea44988cfec52L,0x0000000000000125L },
  90622. { 0xfd65ad5e5f780039L,0xffe76cbfd96b8044L,0xf7ae0f1428bac68fL,
  90623. 0xe84394e6b4333bc8L,0xccce5687ad2c4225L,0x70471c81a6a9c7e4L,
  90624. 0x60c5e87940b576e0L,0x2f4ef8bb92e9f4efL,0x00000000000001bfL } },
  90625. /* 53 << 252 */
  90626. { { 0x3e0a60297892ba11L,0xe21b499382962ba4L,0x3b60b6f50126f7fbL,
  90627. 0x981850279dd3e473L,0xb337b151eb77334dL,0x32fdde882bed2f71L,
  90628. 0xfb8f226fb6070306L,0x8f2db293b0c2ca16L,0x0000000000000130L },
  90629. { 0xcd05c367cc0de01fL,0x07bdf2d67df2cb4cL,0xb8082bfb2af2a6bfL,
  90630. 0xfe5118c41f02c02fL,0x5c991d3da008a47dL,0x7f1fa1d4d8b33356L,
  90631. 0x0e9d143a397fafb1L,0xaa7061308868a859L,0x000000000000011cL } },
  90632. /* 54 << 252 */
  90633. { { 0x827702a8005513c4L,0x716246abd9b83e12L,0xd204accf5fb3021dL,
  90634. 0xaf843f358a4d8221L,0xbc3afbc0f965adc0L,0x7123eaadba9a8f54L,
  90635. 0x21d08b162c8578f6L,0x5e0ab2f832307214L,0x00000000000000baL },
  90636. { 0x9c1fc84883e1c1a8L,0xb9c17d7ec713b134L,0xb1fbc3be4cbb0030L,
  90637. 0x933803110d6f6b13L,0x5881c5cf7e61b510L,0xfeb0553c44ff008eL,
  90638. 0x2c22a2f1e14b8b02L,0xbdb4134af7f01665L,0x00000000000001f9L } },
  90639. /* 55 << 252 */
  90640. { { 0x1e57a0852a7b7c1fL,0x501cd11a379f8b64L,0x2005ea95719460b2L,
  90641. 0xe4cd1ea340555356L,0x6a2088ea43dd7f96L,0xc825ffeab958affdL,
  90642. 0xec97ea43d0db0c21L,0x4d5da9be6175e131L,0x0000000000000076L },
  90643. { 0x754f2673e8c6ac0fL,0x822a8787328cfe16L,0xa2b1e03d7390327fL,
  90644. 0x71a953aae3470001L,0xd29bef5157384b61L,0x6faae163b4e19442L,
  90645. 0xd180a23c76c973c0L,0x356ee274d45e2bd4L,0x0000000000000021L } },
  90646. /* 56 << 252 */
  90647. { { 0xde124a53d9996176L,0x1ec1e39cdc53c313L,0x91917a6c42d879f3L,
  90648. 0xa81372c74e70e810L,0x33d61ba95780fa10L,0xb52f521c73805446L,
  90649. 0x81bba0727bcbb8d7L,0x91a608a605f22a02L,0x0000000000000164L },
  90650. { 0x6f11a4a870220345L,0xa3513d6d297b6e84L,0x3dc485a1de56cf82L,
  90651. 0xf5e5240385610560L,0x72803421fa22b180L,0xb1e2031c7f0dc46cL,
  90652. 0x676c5f9e43d4c03dL,0xa891aa30dfa7f707L,0x00000000000001c8L } },
  90653. /* 57 << 252 */
  90654. { { 0x8080622ee89b1d39L,0x34718e3b8c5f94f8L,0xd8aa15ea60bd7116L,
  90655. 0x795258304437b505L,0x82c1c2707e5823faL,0xfcc0012b92d8a1baL,
  90656. 0xff16cf3c978289d5L,0x01b487fe51fcb704L,0x000000000000007eL },
  90657. { 0x271a09c44bfec059L,0xe3ab9cd3fa138ec8L,0xdc8d866309c5dcc2L,
  90658. 0x4caf43f7e599f66bL,0xbb4dd3b4688cd1edL,0x07eb1d9caa0ebb96L,
  90659. 0x80eac6dc610cba68L,0x55e5e866ead2696aL,0x0000000000000085L } },
  90660. /* 58 << 252 */
  90661. { { 0xd27f55b9c46df5c6L,0xd940f368e310c4baL,0xc1697f3a32602d58L,
  90662. 0x020061eebd564d22L,0x3042100cfa5d7c97L,0x937a3a303d8a5709L,
  90663. 0xc60488f76c8b2008L,0x3dda8ffaab473dbeL,0x00000000000001f2L },
  90664. { 0x6f893aab79642b56L,0xf329524470359a71L,0xd7462e6ed933ef1eL,
  90665. 0xccf86cd167e8de14L,0x0e8675605a4acf89L,0xc72ed3fef8e9e4d6L,
  90666. 0xc0dc88afd19e4a39L,0xf2e51d088ff2b106L,0x0000000000000161L } },
  90667. /* 59 << 252 */
  90668. { { 0x94c5c2faa76e3067L,0x74c5f7baa9e0ba68L,0x503de3ffc79e67a2L,
  90669. 0xe9da75b49903d81fL,0x52f7d9e94da7e1f5L,0xa83731d7b613e973L,
  90670. 0x2dae3eefc35a30c5L,0xbfb55d4be5ffe984L,0x00000000000000b8L },
  90671. { 0x174b687d0636d4a9L,0x00f11f55b75b9375L,0x70524e62e10ec42fL,
  90672. 0x0ef83d5da15440e5L,0xab7c2c2b7a7046f2L,0xa155482caf88ba29L,
  90673. 0x5aa1f5c5edd7b984L,0x5b7323ff9eab391eL,0x0000000000000001L } },
  90674. /* 60 << 252 */
  90675. { { 0x4f18d1477a7d8443L,0x0d76e1b7d1967058L,0xee35bb031486e355L,
  90676. 0x2b32b859da1bc577L,0x063f800d38adb65fL,0xd65ee21ff3f59f4cL,
  90677. 0x56ccb1068382ccb9L,0x74e330b878c00d95L,0x0000000000000179L },
  90678. { 0xa3aa4a6f8436a8d9L,0x2b1f2c1a7144c8c3L,0x95a3d612fccef510L,
  90679. 0x3c20cfce1af2d8c4L,0xddfdbbd52c0b33e3L,0x4236a2daf230e136L,
  90680. 0x22b8cad2b533d171L,0xc5398e4f52bd69b3L,0x000000000000001eL } },
  90681. /* 61 << 252 */
  90682. { { 0xf9998925356a789aL,0xb035d4d643e44f5fL,0xa362c1d3c0491bb1L,
  90683. 0xf9139080777ccd77L,0x7d0109074fefec2fL,0x77961dd61ea1b160L,
  90684. 0x3674c27d2f9de773L,0x6d1ff90f84e79d39L,0x0000000000000065L },
  90685. { 0x54b1da37ba03c500L,0xe9a2696034fdc983L,0xb4ab12ee290f32acL,
  90686. 0x6589b027a54917aaL,0xef94b1549a84fd5cL,0x1c598975cea54c74L,
  90687. 0xbc50a9b7ee3e0bdfL,0x5d755951d99ab48eL,0x0000000000000004L } },
  90688. /* 62 << 252 */
  90689. { { 0x3607f884f22962e3L,0x7fbb0064f0bfe22bL,0xbad02b9b716b8109L,
  90690. 0x2d2f55801bea19f6L,0x119a51eda3da1600L,0xed4bdc13a03e7da1L,
  90691. 0x52cf75e0e1594dc2L,0x5cd2a02ad2740de2L,0x00000000000000deL },
  90692. { 0x1c1cb857aaa37069L,0x69623f57f69b1560L,0x77e24490cebe0023L,
  90693. 0xca262a30e6395606L,0x4c68833affe15b74L,0x4daa7aa356fcb2a8L,
  90694. 0x4beede7dc40f75e2L,0xa00dd3197a34c150L,0x000000000000002eL } },
  90695. /* 63 << 252 */
  90696. { { 0x15c921c8bf854109L,0x91333f4fff524ec9L,0x739e37ee20bfd5d0L,
  90697. 0xe61087f8f8a8bc93L,0xcfc07fcddbe59f26L,0x1f5ac6d2f568fbe9L,
  90698. 0x78a1b8654452a4d4L,0x585d2501d6b939b7L,0x00000000000001d0L },
  90699. { 0xdb4c45affd113ba3L,0x0741c4004abbacd3L,0x84f69bd7c86145c4L,
  90700. 0x023850e1d597a974L,0x5d3a93d41f667362L,0x24eaefd5d8326769L,
  90701. 0x79ebdedb45edadbcL,0xf8833039310dedefL,0x00000000000000cdL } },
  90702. /* 64 << 252 */
  90703. { { 0xd1a48c6847edd0e3L,0xfefb60be253c6bb5L,0x7265ebb75ab3e95dL,
  90704. 0xc8d1b679f058192cL,0xcdc478d6fa21c3ebL,0xdf6360dc10b2b221L,
  90705. 0x824b28a71101d18eL,0x4bc043f1e04269d1L,0x0000000000000032L },
  90706. { 0xa342984e5d49e112L,0x981ac5544e80cd3bL,0x489ede322c45f14dL,
  90707. 0xb97b3ba50671c724L,0x3818c351bae2cd87L,0xf3719c9261521947L,
  90708. 0xb9116ed9a8252d72L,0x992761ed9c406f54L,0x0000000000000141L } },
  90709. /* 0 << 259 */
  90710. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  90711. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  90712. /* 1 << 259 */
  90713. { { 0xdfbfa8c0b9f59031L,0x683df70ba5e17023L,0x07958fdc42ce28b7L,
  90714. 0xb8965b5bc6d4dc78L,0x78441b9a6e4b4290L,0x3909e659ea4b4aa1L,
  90715. 0x9c8f59c629b6cd62L,0xf400a01919a026ccL,0x00000000000000cfL },
  90716. { 0x09844edef77fa34fL,0x9da8cdc495b4acfaL,0x5bb762074d52835bL,
  90717. 0xc39505e29c0584e1L,0x4c9a0f296c4f318eL,0xdd1a8f417d87f206L,
  90718. 0x423805cd95ec312cL,0x21639f519304343eL,0x0000000000000092L } },
  90719. /* 2 << 259 */
  90720. { { 0x6d9b0c3c9185544dL,0xad21890e8df2765fL,0x47836ee3cbe030a2L,
  90721. 0x606b9133f7651aedL,0xb1a3158671c00932L,0x9806a369cfe05f47L,
  90722. 0xc2ebc613f57f3700L,0x1022d6d2f065f07cL,0x0000000000000109L },
  90723. { 0xb292c583514c45edL,0x89ac5bf2947e68a1L,0x633c4300af507c14L,
  90724. 0x943d7ba57da4020aL,0xd1e90c7ac0ed8274L,0x9634868ce59426e6L,
  90725. 0x24a6fff2c26bc9deL,0x1a012168152416cdL,0x000000000000000cL } },
  90726. /* 3 << 259 */
  90727. { { 0xcc2fec030b4a18c4L,0xfc29fc82165d1776L,0xc8ab611ac317fc9dL,
  90728. 0xa8d299571029913fL,0xa225949049f64636L,0xda588063c1db5e74L,
  90729. 0xff94c5e6c0d70127L,0x199c1b8e74f89721L,0x0000000000000062L },
  90730. { 0x168ebf642d3b8836L,0xb05a8c0f1c2db301L,0x409e24edc0a052a8L,
  90731. 0x6b6bb0163125a8edL,0xea9b956bf64bc66cL,0x4453021083f44d9bL,
  90732. 0x0eb41037fe8b6632L,0x555c39b858ef78d4L,0x000000000000002eL } },
  90733. /* 4 << 259 */
  90734. { { 0xc2453d609102b570L,0x70840e5c142c3e23L,0x7294b1f1c30037d9L,
  90735. 0xa2500f121dbf5ab6L,0x03eceb67c9c8ee6eL,0xa19c319330820abbL,
  90736. 0x7aad59e87da6b820L,0xe97823f8c38d842fL,0x000000000000006dL },
  90737. { 0xce5bb75ea7b6bb9eL,0x9090358d569c9eddL,0xa8b5ec369cd0c065L,
  90738. 0xb2b5ac1cf81c82b8L,0x8feb364c3ffceb86L,0x355ed9ecdf4f9f7eL,
  90739. 0x6f2efe425ce12ff4L,0xb23168780155070dL,0x0000000000000035L } },
  90740. /* 5 << 259 */
  90741. { { 0x38a82571854f48c1L,0xd1b1b09af520fd6bL,0x7f01089cdf7207c9L,
  90742. 0x96a6180fc9393ec5L,0xa736bb517aea3ec3L,0xd25dcafeb56b8f87L,
  90743. 0x48933536a43ea781L,0xbbdbedab8e0fd61dL,0x000000000000003cL },
  90744. { 0xe8b599d37f7a088dL,0x85ade4938e5efd0fL,0xe3049a17adbab77fL,
  90745. 0x3a24830b430f3f92L,0xe267f23e183b494fL,0x05f42dd6166e606aL,
  90746. 0xbee09553f479301aL,0x5adda2a63ee09623L,0x000000000000012eL } },
  90747. /* 6 << 259 */
  90748. { { 0xd8be53eb86660e96L,0x72c2673c8be7763dL,0xa7c5462ec6b55bf0L,
  90749. 0x9def337b574a104bL,0xa8fe70ae9e9a1386L,0x6070f210bd010cf1L,
  90750. 0x5d3eda3894ae907bL,0xa69d86791bea88cbL,0x0000000000000000L },
  90751. { 0xd1dde97203c8dd6aL,0x562332d1d8950c30L,0x33be213e5ea340f7L,
  90752. 0xebb49ed4eb40e91eL,0xefe4aac270b2ca5aL,0xf6ad3cc1900ceeb3L,
  90753. 0x67e9a8816cc704d6L,0xdd3f2baf12fe8a0aL,0x00000000000000beL } },
  90754. /* 7 << 259 */
  90755. { { 0x7d8fff086a2f9346L,0xdf0fb4f2d1e2a388L,0x45ba8c01535d98ffL,
  90756. 0xce448379f67301f2L,0xbedd58c03767978bL,0x7b1171f555aef5a3L,
  90757. 0x66b7c88d5a486411L,0xd35c98709f6c12dfL,0x00000000000000d8L },
  90758. { 0x9dc04b408b746e49L,0xdef5954d4eef5b2bL,0x4bc53645fdc0ba16L,
  90759. 0x3b488da37054acf5L,0xc610686016a0c2b8L,0x299f1abb911bc8b8L,
  90760. 0x5422e599ecec19b3L,0x9ec27cb47fd2c939L,0x00000000000000f0L } },
  90761. /* 8 << 259 */
  90762. { { 0x5f56b5a41bc0fa77L,0x6cdd6bb564fd36f5L,0xd0ac68b58a5b7c7fL,
  90763. 0x4a92d9bf09919ef9L,0xc305e12b71c3c520L,0x554a9d1cdb699aeeL,
  90764. 0x7fde007761f54643L,0x99c13124479115ceL,0x0000000000000039L },
  90765. { 0x25f890e1c271ac2dL,0x1353ccd394b370acL,0xc7b5adf6744d4011L,
  90766. 0x9ccd7687be378127L,0xa8489b5c06c4e3cdL,0x1945580a305505f9L,
  90767. 0x07190a204ab3b12bL,0x0ff53eb11534ea4dL,0x0000000000000159L } },
  90768. /* 9 << 259 */
  90769. { { 0xa3f06f7e03301a8dL,0xfadeedf1ec05ed54L,0xe26adc226b4601b1L,
  90770. 0x1b283cdddadcb386L,0x3acec9e811b4a113L,0x91b8284f1118431dL,
  90771. 0xe18d0cc4ac01391dL,0xeb2c1b0a7cc7d837L,0x0000000000000074L },
  90772. { 0xd0662bde8e3877a7L,0xc979f8a15d0641caL,0x28d798bd044f4903L,
  90773. 0x296941594e7b2108L,0x84d5ff89c5381df8L,0x299250a7a51d6348L,
  90774. 0x02ee4fd3909ecdbcL,0xcfa39db1c84b1fafL,0x0000000000000114L } },
  90775. /* 10 << 259 */
  90776. { { 0xe774eed9b1167003L,0xecde86e1932845b9L,0x0381d17897a8a10dL,
  90777. 0x995a4926aeb8bef7L,0x3ee19c812304bae0L,0x541449e3fe977e97L,
  90778. 0xd7ef476ba517b358L,0xe55330bce0d847cbL,0x0000000000000012L },
  90779. { 0x1620a1d6f06a91d6L,0x714b3502ac578bfaL,0x2606ebdb6bed112dL,
  90780. 0x8b7b271563f8e778L,0x31833913651fd543L,0x14929f1adc9638feL,
  90781. 0x2637ec813ee709d3L,0x39faf7e705547eaaL,0x000000000000009cL } },
  90782. /* 11 << 259 */
  90783. { { 0x224aff4aa7b53656L,0x93b4629f1786efa8L,0xdcf8ce96a546dcbcL,
  90784. 0x55f8dbafc17cbe15L,0xe0377d7cd48c57adL,0x28143a41d9a9a135L,
  90785. 0xc1c07a77d9b71cc6L,0xed6d2a8fb29ae6b2L,0x00000000000001e4L },
  90786. { 0xe5dc2a6836867275L,0x7bb1a0b5349e1d5fL,0x326d1d94c30c763cL,
  90787. 0x06389c1a6db2148cL,0x3a572e33ba33a05cL,0x4244f4884ff8334bL,
  90788. 0x0a63419a240e3005L,0x8fdde11d479fe00aL,0x0000000000000038L } },
  90789. /* 12 << 259 */
  90790. { { 0x785e09ff6c6a364bL,0xd00a50fe53e3c393L,0xad964c6e0d36fb23L,
  90791. 0x353441feebada914L,0x4e16727ea5ba72fbL,0x5114c6e07bdc78a4L,
  90792. 0xca3a8e27f38384ceL,0xe48f64cc77307092L,0x0000000000000089L },
  90793. { 0xb3152778351aa439L,0x0bbc970e6a2e6c8cL,0xae03de8312cfdc8dL,
  90794. 0x1622d6db779c99e6L,0x82d6078b59ef9e70L,0x3539ffd07368486aL,
  90795. 0xe61a3e2b083f7b1aL,0xb214f0b74b874dc2L,0x0000000000000155L } },
  90796. /* 13 << 259 */
  90797. { { 0x97a1306e9e1d014bL,0x59ede0475517a3ffL,0x327b01f207a6b3f4L,
  90798. 0xfc8bd2c2fd4f1a9bL,0x0e1b92c4b1af517fL,0x646bae59e1f96248L,
  90799. 0xd14955bc75d5c91cL,0x6f849a406c2dfbfaL,0x0000000000000134L },
  90800. { 0x984d6925802559b7L,0xc51f33f880d5fd4fL,0x6fb6927113165975L,
  90801. 0xb5ed83cd5dec0cc7L,0x53314bcd8649d155L,0x716d891fbef7bfa8L,
  90802. 0xd7c07da0c3486607L,0xcab5e610669368bcL,0x0000000000000048L } },
  90803. /* 14 << 259 */
  90804. { { 0xe77c03eed7ecb581L,0xb0b4de18cef15beaL,0x318e5b24fa1ea3ffL,
  90805. 0xfd1d902e710e95fdL,0x8daeda0655cafa30L,0xcaba29bf2bd11001L,
  90806. 0xaec1861bd88085bdL,0xfaa66562e591d19aL,0x00000000000001f6L },
  90807. { 0xeee386f7b68c7429L,0x0a876aec502c0797L,0xcb587df8c6806fa9L,
  90808. 0x4f7cb6dca84de772L,0x407a1f0ff746cc93L,0x7862e9bb6b953e5cL,
  90809. 0x6c106caa0a4c9357L,0x04213043c0096e5dL,0x00000000000001abL } },
  90810. /* 15 << 259 */
  90811. { { 0x6c0ea19b675e5fddL,0x40b9015015507582L,0xf7237ea726e603f5L,
  90812. 0xc4dce1026e0be9ffL,0x5f0d8a2e3c5b733fL,0x26a280f86ed664deL,
  90813. 0x5f532bcb33c11487L,0xb0f9d44cacf164f3L,0x000000000000009eL },
  90814. { 0x70fbc712b712571dL,0xa2becc32da63e6aaL,0xaae77cf6c170057eL,
  90815. 0x2f1d39620a4897dbL,0x4c1b5709079995e1L,0x5771457fe2de734eL,
  90816. 0x7b355bf238fcd883L,0x1acad483a6f023b3L,0x00000000000000bdL } },
  90817. /* 16 << 259 */
  90818. { { 0xc68052c94876bab8L,0x81f704baf84c2e38L,0x28bb9436f2cf9927L,
  90819. 0xb89bbfa0d06c972cL,0x00fe1dd8b7a78e76L,0x3adfb05af7f1e1aaL,
  90820. 0x45321e42b7278eeeL,0x13d850e0a528ebe4L,0x000000000000006fL },
  90821. { 0x6b724c681934143aL,0x2f944afdb657d809L,0x38e501dfaba2fa08L,
  90822. 0x9285ece1be66e568L,0x7af221f7f9df3327L,0x00b8a86fde74aefcL,
  90823. 0x19d675189a992072L,0x806d1c88d9ddbbb6L,0x000000000000009bL } },
  90824. /* 17 << 259 */
  90825. { { 0x20ea1405d04d2000L,0xea35dca5c089a6c9L,0x038602bf3bdda2e6L,
  90826. 0x477b746aebf1aaa6L,0xd47867e49e7854cfL,0xd8b1935170bc2ee9L,
  90827. 0x76412c62a44fee1eL,0x129d55355abfa5d8L,0x000000000000019eL },
  90828. { 0xa5e36fcf3ab81c33L,0x6245c51eaf823a1eL,0xd62852eb0e836757L,
  90829. 0x3b2db4b779c4b928L,0x11dc7ad28063e57aL,0x0316df7eeafc4648L,
  90830. 0x44a90cbbfb758030L,0x3db503f2caa01c6eL,0x00000000000001ceL } },
  90831. /* 18 << 259 */
  90832. { { 0x2aaea367bd35d8cbL,0xf2a64bd7ae020e8fL,0xd7f80264d6dc5572L,
  90833. 0x890e23621f36c56fL,0xb9daf028a09342ddL,0x6cee1fb190bf076fL,
  90834. 0xfae167e70f0412ceL,0x2a79d89a8a2fd483L,0x00000000000000e0L },
  90835. { 0xc222a2450849a624L,0xed4033dd0082dedaL,0x11f78e31df0dc525L,
  90836. 0x34240b3ebb3eb85dL,0x135d407dc287296aL,0xc47fbfce741ff1b3L,
  90837. 0xe34dd021da643502L,0xf183174d65e3ba7aL,0x0000000000000116L } },
  90838. /* 19 << 259 */
  90839. { { 0x10f9009fe7aa5ec4L,0x125939c308e38826L,0x85a399e720424b3fL,
  90840. 0x04eafd33c0ac71f3L,0x79c534b4452782e8L,0x57a8e52137e8307cL,
  90841. 0x905909823134ebceL,0x8c0acf7565ff10a6L,0x000000000000015bL },
  90842. { 0x27afc0afe6436fe3L,0x9739bc6f13b24125L,0xe7b31b50902904b5L,
  90843. 0xf7ac9e9c0e8dd2deL,0x8b0c28b2295bca58L,0xdc5817376beafa7eL,
  90844. 0x1ccce1e33aa35160L,0xe57661cc297eafc9L,0x000000000000000eL } },
  90845. /* 20 << 259 */
  90846. { { 0x83c6b9ded09b1b31L,0xc2325238e3c06d55L,0xee4a352851db1a32L,
  90847. 0x69bba3f21edd1449L,0xa445212e855c819aL,0x00a83136b62b4fefL,
  90848. 0x1c51eb23e3edd8bbL,0xf5eba0c09a238dcaL,0x00000000000001daL },
  90849. { 0x1223b0b5b2448058L,0xb6e3ad9f699217e3L,0xa7ae6434584dfe78L,
  90850. 0xf7d3d93f5b407cbaL,0x68b167ad39035117L,0xb369219cfe239c88L,
  90851. 0xf3d9bc4913bba594L,0x6123679d698e3bb5L,0x0000000000000183L } },
  90852. /* 21 << 259 */
  90853. { { 0x95f7b69fd2f71619L,0xf96d943794b12017L,0x6d0cf626a6415ee3L,
  90854. 0xd6ca14a945b74621L,0x9cf18c6eccba609cL,0x3d33890bfba5a052L,
  90855. 0x38426ba5c7e9a4e6L,0xdd28b78e61840224L,0x0000000000000062L },
  90856. { 0xfff724ab6d9606c1L,0x9b61bc1178750133L,0x2137470f8fd0f355L,
  90857. 0x84605f37daf83165L,0x24ee8714edc5f305L,0x77cca00adb7ee62aL,
  90858. 0xf45654e1212cc286L,0x638f7126ef2ed80fL,0x00000000000001abL } },
  90859. /* 22 << 259 */
  90860. { { 0xfa37c4d089b3a5a0L,0xa8ed9bd86065deccL,0xc5068acfef8cc1dfL,
  90861. 0xea2a71018c98a08eL,0xde77dd771b4baeaeL,0x855a8b672b794f71L,
  90862. 0x1acf5585cfc02477L,0x1535d73cc30f94c2L,0x0000000000000149L },
  90863. { 0xc7f723eba566c87bL,0x88d22c712cd0a69dL,0xd7f9318bf60c47c0L,
  90864. 0x8d652ed79c239254L,0x186ab5d6c46760cbL,0xf83bb0d588e7879dL,
  90865. 0x2976daac122a83b2L,0xc7bc8602f240460aL,0x000000000000010aL } },
  90866. /* 23 << 259 */
  90867. { { 0x6c4da53b55c8c9fdL,0xcae3b7ba785cfe10L,0xcdb8f1c59c4cd91cL,
  90868. 0xbd1c603ab874a86bL,0xfb8654e1043ea4acL,0xad5c88fbca482074L,
  90869. 0x89d5aa873262bbd5L,0xdcda775402ad836dL,0x0000000000000076L },
  90870. { 0x4d5190e63441966aL,0x99698619c7ff468fL,0x0a5e1697bb1a77beL,
  90871. 0xb5c0dcfd32ea31f9L,0x2121cd321b6f6ba9L,0x53b7874f779a966aL,
  90872. 0xadb4e60ea3c6172cL,0x5de2f937754ab9e7L,0x00000000000001fbL } },
  90873. /* 24 << 259 */
  90874. { { 0x4a7aca2f4dde4b24L,0xe56e7b54b4a15f13L,0xecb9c748eb5705b0L,
  90875. 0x675ffbc695977aa7L,0xd200cc67501dca3aL,0x82b4152d3c43e1ceL,
  90876. 0x64be95945c124198L,0xfc52e520389aa160L,0x000000000000000cL },
  90877. { 0x157e8281f875201eL,0xe98a64c03b179b49L,0x8df77ef0d4bce1c6L,
  90878. 0x8b6764909a9fd8e8L,0x6d8879b8bb67721dL,0x558091cc19e81bddL,
  90879. 0xebacde3fec6e7394L,0x987a87d51bc77288L,0x000000000000010fL } },
  90880. /* 25 << 259 */
  90881. { { 0xd2fded8759ce0d63L,0xfb2c78fdad3f2b6aL,0x1e47201d30bf7a0cL,
  90882. 0xefd45dfcdd7cca88L,0x9d46cdcf392768b2L,0xbddabe42411e4cd1L,
  90883. 0x6a2d18754088dddbL,0x56ac6278c731d94cL,0x000000000000011eL },
  90884. { 0x11aec7dcca650d47L,0x0f4e8a9e2d8a5dedL,0x92a664a4c2c1f5b3L,
  90885. 0x2cef12ef01e930d9L,0x87e8b0bd01ac4347L,0xdb547402a854a695L,
  90886. 0xcc487db9b9d1733eL,0xe8dfdc0472b35b30L,0x00000000000001a5L } },
  90887. /* 26 << 259 */
  90888. { { 0x866ff3c908ea3335L,0xfb58377c88d2ec52L,0x5715d9e014a8829cL,
  90889. 0x9376778b0595d929L,0xc1ccd5d59b8ed6b5L,0xd90d82dc00d1367fL,
  90890. 0x15bce4d84cd41c48L,0x1144874144a2b97eL,0x000000000000017fL },
  90891. { 0x0e3e35fe60aa94e0L,0xaa1456964891e593L,0x51ec590f402ead1bL,
  90892. 0x23c0996d7345d47dL,0xd93e5a1a2ca244e6L,0x80c00f6fdf85d7f8L,
  90893. 0x1ca50525867d760eL,0x29cf9fb20984377bL,0x0000000000000196L } },
  90894. /* 27 << 259 */
  90895. { { 0xbd692d023a5647efL,0x964c9bae291eb75eL,0x704d6f07f201fd7aL,
  90896. 0x6fdc417b52db9f6eL,0xbf85909f6291d4a1L,0x75d316a483e42991L,
  90897. 0xaeed45ef9cc62549L,0x1f4d10c5995a6c4fL,0x000000000000002bL },
  90898. { 0xe5ff3d1dbc6c43a2L,0x552282bdff596546L,0xc9a7f0f45518beeaL,
  90899. 0x29e5b89aa6339aaaL,0x1b7acff5f0d0399dL,0xcec8edaece588c77L,
  90900. 0xaeb3a8e88fe82680L,0x96f35f5b9fc80e41L,0x00000000000001daL } },
  90901. /* 28 << 259 */
  90902. { { 0xb95253361ea445c9L,0xa8a0fe24c10de158L,0xaba4da83211f91e9L,
  90903. 0x307538caf2390466L,0x1e0313e0153d0062L,0x8f5ee2c89ffb2a03L,
  90904. 0x49f2777ff412ebc8L,0x463f67093d268ae8L,0x0000000000000057L },
  90905. { 0x3856bef0a32a201aL,0xd240074b30514b6fL,0x277c70d8a9c71d35L,
  90906. 0xe35d68cf7aa435f7L,0x8a3c9a0960681a98L,0x4ef5a19a5d25e946L,
  90907. 0xdb60e7fc4316cb53L,0x2693e9a568601ecaL,0x00000000000001a5L } },
  90908. /* 29 << 259 */
  90909. { { 0xad35ecaee98cd7adL,0x906bd768a474bc5dL,0xda3926c0d0ff4afdL,
  90910. 0x9b850c9da31111e9L,0x426e3fdc6caf82a7L,0x9644b0d4bfb03a61L,
  90911. 0xc524fe4534531e4bL,0x0bfc8bcd7c3802beL,0x00000000000000c6L },
  90912. { 0x9342cee294463876L,0x83cc9e39f1be35a2L,0xb18ead7df321b335L,
  90913. 0x00c2fb7044628d65L,0x7b320756ac074cfbL,0x71f3cd03644e931fL,
  90914. 0xf82be78c1e0df54fL,0x397a7d9ed542dddeL,0x00000000000001e0L } },
  90915. /* 30 << 259 */
  90916. { { 0xd8bf062c1e073747L,0x26c96d9fee2e6d05L,0x79d919d7890b4d75L,
  90917. 0xb42e2bb900653fbbL,0xf8987798e3ccc877L,0xb47d6eb25033de8dL,
  90918. 0x39f94c596c5fd1a3L,0xf3c0c3882fa0ab65L,0x00000000000000c9L },
  90919. { 0x9661d7f82b18b119L,0x6fa045ecc4b5c3d0L,0xc858de883bcf37a2L,
  90920. 0xd81d90fb3224d885L,0xf251a9f77a8377e5L,0xfeb83a50a3d8c771L,
  90921. 0x853cfabcb5394fe7L,0x950559bf67c9eba6L,0x0000000000000000L } },
  90922. /* 31 << 259 */
  90923. { { 0x08cf7dfbd3c147b9L,0x12ac86d2f10d9656L,0xe02add8249b8805cL,
  90924. 0x9456f02a5f74b988L,0x4a631e1087cdba37L,0xb51ee73a96da245fL,
  90925. 0x1378e514042f40e4L,0x9ca9b65c1f1d6aa9L,0x000000000000002bL },
  90926. { 0x01757173a246897eL,0x943f9cc04c7b233cL,0xdf545f8e7858a222L,
  90927. 0xb8b36cae3d074306L,0xb7c5c74d9a30dc70L,0xe3b361764c35c88cL,
  90928. 0xb0a1f4f1f0bac884L,0xe86e2f8874506af4L,0x00000000000000d4L } },
  90929. /* 32 << 259 */
  90930. { { 0xee31e71a286492adL,0x08f3de4465f86ac4L,0xe89700d4da713cb4L,
  90931. 0x7ad0f5e9a86b7104L,0xd9a62e4f2572c161L,0x77d223ef25cc1c99L,
  90932. 0xedff69613b962e0cL,0x818d28f381d8b205L,0x000000000000008eL },
  90933. { 0x721231cf8cdf1f60L,0x8b640f2b6717760fL,0xbe726f8ce045a403L,
  90934. 0x422285dc0370689fL,0x7196bf8f72ea0dcbL,0xa16f7855c8086623L,
  90935. 0xd4e19fc7c326fe48L,0xfdbc856e8f68bf44L,0x000000000000013eL } },
  90936. /* 33 << 259 */
  90937. { { 0x28ae363b4f9810f3L,0x3c8be1a72b4adaa2L,0xb6ccf2e9a106c1dcL,
  90938. 0x1eaa8df5dc082342L,0xa9d31a0f093f4db0L,0xc21ccdd96a7d1821L,
  90939. 0xb65f98905a9fd515L,0x2277f550f370da1fL,0x00000000000001c6L },
  90940. { 0xe9c244cb48277947L,0x1c4bd7fbd7f2e795L,0x0f131239511d2132L,
  90941. 0xa8414dbb86c7eecdL,0x191644a8486dca5aL,0x1ca965ad6c84a2bdL,
  90942. 0x56022cf1985eb7e9L,0x25b227393c581accL,0x0000000000000118L } },
  90943. /* 34 << 259 */
  90944. { { 0xb1b6d3a65bbb33a1L,0x3075d6caf5c56c88L,0xe6dfb0e533d4db68L,
  90945. 0x7f2ef47003fc741dL,0x2bd5d92bec7c0497L,0xaa499ca8edca6a5fL,
  90946. 0xb16771e43fd78f37L,0xc110eac51e8f7acaL,0x00000000000001a6L },
  90947. { 0x1faf956a555073f9L,0x2e665871977f2a0cL,0x2fe68703a4ed455aL,
  90948. 0xcc2bd95fa496e153L,0x8233f9bfafc21f60L,0x402fea60f2144bfbL,
  90949. 0x680a736ca2ffc242L,0x69634dcc94d4f0c9L,0x000000000000013cL } },
  90950. /* 35 << 259 */
  90951. { { 0x230cadee4136c79aL,0x53a2dce673945040L,0x94f8a859e6429d9cL,
  90952. 0x52383e90b1ed3b5dL,0xf2a0901f5fa55cd0L,0x2026ccf13e2f8760L,
  90953. 0xcdbaa7cc91a22dacL,0x5b2163adbd3c3a35L,0x000000000000017fL },
  90954. { 0xdd444ce700d782bcL,0x100dcc2abe1fe73fL,0x640c492a0ab9b972L,
  90955. 0xa487fe3863528daeL,0xfc1e9dac220fe227L,0x299b97cdc6c10c53L,
  90956. 0x598cccf628179b7eL,0xe4991c506af23688L,0x000000000000017fL } },
  90957. /* 36 << 259 */
  90958. { { 0x1f021ef05478138aL,0x53076dc4067de90bL,0xb325a033c6cbb9c7L,
  90959. 0xd41768278793b908L,0x3cb14074a18b1a70L,0xf50ef63a236f4953L,
  90960. 0xc59bf449c8bc84feL,0x2952abb6f0b868b8L,0x000000000000005cL },
  90961. { 0x2a0e56c1652bb7bfL,0xf2186af3b9a9a9f7L,0xbfb054232c2d7ef8L,
  90962. 0x9aceb677cabbdd86L,0x40314bd8270a74efL,0x71e9c648d933146eL,
  90963. 0x9a19956d14b0eac3L,0x9797358c0c75f494L,0x0000000000000121L } },
  90964. /* 37 << 259 */
  90965. { { 0x80bc51e0c4a4f043L,0xf18f17f98fe0c29cL,0xdd6b0e054c815822L,
  90966. 0x63bffee5b3d55da6L,0x84b0917351b59231L,0x71689568a7d603b1L,
  90967. 0xd579f92e227fbaa1L,0x962feaddbb1f1d79L,0x0000000000000079L },
  90968. { 0x52e249efd48c66eeL,0x400c89e816b9737bL,0x39cc526b4abe856cL,
  90969. 0xf38ccc7eca5d4e44L,0xb215a07bacb8ef4aL,0x0712bcf081443047L,
  90970. 0x494d622ee238c55bL,0xcf6a1baa50e72dfdL,0x0000000000000117L } },
  90971. /* 38 << 259 */
  90972. { { 0xd8eb671dd0e16c37L,0x426b4fe04fac827eL,0xa5ca693c33cbc22bL,
  90973. 0x54de649e6a5c797dL,0xd9e900bf9e0e10b6L,0x531cffe217dfa29fL,
  90974. 0x0482aa87674ac4efL,0x210528300059648eL,0x000000000000010aL },
  90975. { 0x056126f75d644042L,0xb2cdfa0f893ad834L,0xdd7935cd9cc62fcbL,
  90976. 0x820515a09f640985L,0x6aebdaeeb809328dL,0xdfe17ad7fc12ef5eL,
  90977. 0x6b650484501f50e3L,0x3b8eaf3215fd9a0dL,0x0000000000000002L } },
  90978. /* 39 << 259 */
  90979. { { 0x82ed9a8dda6639adL,0xf6024a774e995343L,0xe6a1cdf6070572a1L,
  90980. 0x6a15e3512ab3eb5fL,0xcb4f48bb6655ecccL,0x9295854303dcb66dL,
  90981. 0x060fd5396523aa99L,0x3004bc44f42a7f0bL,0x0000000000000090L },
  90982. { 0x8e2060ce679910bfL,0x512c4ea8e342d6b3L,0x6d125c9b569f8e2aL,
  90983. 0x833d68f3ecacb92cL,0x7ecfa091e570be21L,0x14539cfe17dae806L,
  90984. 0x111cb671599c5e7bL,0x7d0361e735cad2bbL,0x000000000000006eL } },
  90985. /* 40 << 259 */
  90986. { { 0x0206454024a7e70dL,0xd7c69d0cb892b167L,0x4b5a7d36f6f94cb8L,
  90987. 0x7237ffff807698d1L,0x90ca471730d2a69dL,0x052ba947da584fe9L,
  90988. 0xea15b35b970ee0ccL,0x0d7ba4f0be2d7cc9L,0x00000000000001ccL },
  90989. { 0x10d8cd17f953d168L,0xcd255ba241da2817L,0xed38eccb2381ea26L,
  90990. 0x53eee2ef55ed1ab5L,0xc94ad92333ac6a32L,0xd000d271a71253bfL,
  90991. 0x77c8d5c9547f8b3aL,0xbef4d3aa18ae2ddeL,0x0000000000000159L } },
  90992. /* 41 << 259 */
  90993. { { 0x3eeba73f7dc5de84L,0x61f94421baf4ce8eL,0xebf5e4c01e5e5d3fL,
  90994. 0x87b7a9d18b008fdbL,0xc78a071f49b69718L,0x56743f3d87413117L,
  90995. 0x28ca8e2f94c872cdL,0x5f36f860fac7f330L,0x0000000000000100L },
  90996. { 0xbce6c975e85d255bL,0x21e0235a4066ae6dL,0x786e6d4ac50be9f7L,
  90997. 0xfdd3a4ee582e9ec5L,0x5d8ee443c1fda7e1L,0xd076758e1bf06a98L,
  90998. 0x31508bfc8534eecaL,0x27ab9f1931641184L,0x00000000000000d7L } },
  90999. /* 42 << 259 */
  91000. { { 0x76b363b63c5ce17cL,0x75e8ba323e1f0c00L,0xafe8f47ea3ad49f4L,
  91001. 0xdeb90e8dd38a4c8bL,0x59e3777d07743abbL,0x1092a633dd2a10deL,
  91002. 0x082446e157e17d7cL,0x0d01da2edce36407L,0x0000000000000019L },
  91003. { 0x73a9f09639a6db94L,0x96bc010721374c72L,0xbceda9caff17e1edL,
  91004. 0x32b708692d130febL,0x14a201008f0e1601L,0x34f1cbbbee4a4a76L,
  91005. 0x488b76db85c287b8L,0x4e64b547b6a7d1feL,0x00000000000001adL } },
  91006. /* 43 << 259 */
  91007. { { 0xa836842eb6ae189eL,0xf1b19c170056ab75L,0xae3374042b01c3a6L,
  91008. 0x89d5cc7a0bb8c2bdL,0x6e02b009fb866289L,0xdcadc0fc5abf3d3bL,
  91009. 0xce7b2d6604290e7cL,0x94ee4a4d18364ed0L,0x00000000000000afL },
  91010. { 0x672841bfc58e7b41L,0xf2fbd6fa87db5ad0L,0x2511d4e7dce7195dL,
  91011. 0xd21c4d314dffb69cL,0x8231cc4396b5a36fL,0x75c447f63ea477ecL,
  91012. 0x2574bee0d6186096L,0x52870fd9c167aad7L,0x00000000000001b3L } },
  91013. /* 44 << 259 */
  91014. { { 0xece40f9775f9275cL,0x686e628af28cddfcL,0x544b842b887b5aa2L,
  91015. 0xb33a8517c4ad2061L,0x1525dcd7bdfe3c4fL,0xc771ef08b09c44b5L,
  91016. 0xeb02c6bf781ae208L,0x784dbff997fc9c2eL,0x000000000000012eL },
  91017. { 0x10717e71d93974bcL,0xd6a9e82900a10d31L,0x27b00c7f35d5e291L,
  91018. 0x451d556e0bed8699L,0xa3ff4fe0f5118f55L,0xfb5d9590f07091d4L,
  91019. 0x2dea085ea6378d60L,0x24dac7bb4741b622L,0x00000000000000b6L } },
  91020. /* 45 << 259 */
  91021. { { 0x58f22e521589fc91L,0xd26d923c1572f936L,0x119123075356419cL,
  91022. 0xac8ef534d050441dL,0x2095327f1a4e0cf4L,0x39cc6a1ee169d2ffL,
  91023. 0x8ebb4d099b67523aL,0xcc3a215be1bf9afcL,0x000000000000001bL },
  91024. { 0x39abe3cfd0c96670L,0x1948c476066b056eL,0x47932f316512b7d0L,
  91025. 0xc905d875ca50f67eL,0xe94876bfcd454f38L,0xf15a676e69ed3d3dL,
  91026. 0x32320896d595a940L,0x0656340a48ad1e79L,0x000000000000006aL } },
  91027. /* 46 << 259 */
  91028. { { 0x8f6ca036a25c9b50L,0x56356d4785bcc87aL,0xe646d82299817898L,
  91029. 0x6f9c87155d43bafeL,0x09e17a9509926705L,0x1eb95e765fc6bd98L,
  91030. 0xe5894e0146e44174L,0xf345a2821c1f16f6L,0x000000000000018bL },
  91031. { 0xe6a6189e502ca51fL,0xea04086caf88b82cL,0x400cf34589a390c7L,
  91032. 0xf1da9ba44ed71572L,0x07b61a37913f522cL,0xc69f7f0c0e27f8e4L,
  91033. 0x25d6a2dee6073472L,0xb1d97674586573e4L,0x00000000000001e0L } },
  91034. /* 47 << 259 */
  91035. { { 0x3bf9c246be511a2aL,0x528e184cd12e41f6L,0xe473382fff9c33cbL,
  91036. 0x7b152e99e6e39137L,0x01d3d113a4a2e625L,0xa7ab2c27eea47137L,
  91037. 0x0a69cf3194b87f50L,0x36af1fa902fcf00aL,0x0000000000000177L },
  91038. { 0xc5a45d54b2ff7576L,0x18998a609b2e0046L,0x70720cc450e4fdd5L,
  91039. 0x8ab8a8766f9adbf0L,0x0c09fe59285f4e50L,0x41f772e1aa49ce03L,
  91040. 0x70675276e7e928b3L,0x9e4c40d95f1dffb6L,0x000000000000002bL } },
  91041. /* 48 << 259 */
  91042. { { 0x3b52947390b32585L,0x57359ccd7b3ba1d5L,0xb6daa5e0f8889d88L,
  91043. 0x6ef5de0607674ccbL,0x5c000c596eb2b8c9L,0xdc4f33e5fbfbbf74L,
  91044. 0x195a92f58a060ed9L,0x49c845be41beff63L,0x000000000000014eL },
  91045. { 0x7190d74d265e6dedL,0x95373592453d9809L,0xb087112de8f1b76dL,
  91046. 0x1341db8a73d34d52L,0x54075f5b4bfa2fc8L,0xef25714741071528L,
  91047. 0xfe227bc8c3a0079cL,0x6dff050f64de7e14L,0x00000000000000d2L } },
  91048. /* 49 << 259 */
  91049. { { 0xefa6ae34e7d9c270L,0xb1abcf3dcd99fc38L,0xed1681698ef0d319L,
  91050. 0x3648e51e7269773aL,0x0b08bb8036ce881bL,0x9055f280db3f6fc8L,
  91051. 0xe95823b16ad5efdeL,0x0a18738401dfee23L,0x00000000000001acL },
  91052. { 0x2a8f55bea8a15ccaL,0x96c9c72dde4c36a0L,0x439e0198306f2426L,
  91053. 0x225257a55ad4151dL,0xbd8a9150e4407dbcL,0x93ded257490cbb52L,
  91054. 0x70f1e3f2f0fb6dcfL,0x8d424da6ceb42cfaL,0x0000000000000194L } },
  91055. /* 50 << 259 */
  91056. { { 0xd80664eabe1827eaL,0x8444e48081e18779L,0xb6e6246bfc3ae63eL,
  91057. 0x48ff2368b6e36f8bL,0xf79455fdd4a8a970L,0xe3403cbb1f46a06bL,
  91058. 0xad00139dab2a8c5dL,0x68a9ece4fabd20d8L,0x00000000000000bfL },
  91059. { 0x8240e0275b7b9242L,0xe89bd598dbd8c035L,0x761d0b2eec9d4f1aL,
  91060. 0x111fa0e57df88f57L,0x4741f6b016d01143L,0x0f4b1c1ae59c8337L,
  91061. 0xa23d571e0fe0544eL,0x84be6651ada2d65aL,0x00000000000001bdL } },
  91062. /* 51 << 259 */
  91063. { { 0x4835246b6aff5b05L,0xb280322a955831bcL,0xf96ece94ea39c9f2L,
  91064. 0x3282ca94819d4198L,0xffed1187773856f8L,0xd9f62443678893c0L,
  91065. 0xac106b951224557aL,0x4ab67573ee3a017cL,0x00000000000000d5L },
  91066. { 0x5a4f21a86940798bL,0x25024af6ee0b3a60L,0xeeb9fdf73f8b5370L,
  91067. 0xa76a2c14c102bf6fL,0x0c1da7e1f47f6803L,0xd2f244e7ed271ffbL,
  91068. 0xbc823e462de8cdc9L,0x07bbcd925979772aL,0x00000000000001aaL } },
  91069. /* 52 << 259 */
  91070. { { 0xe1db6b7c281e407cL,0x2bd41b23f0f0127aL,0x8c62b1db49d40963L,
  91071. 0xa0a5378e4aecf129L,0x0ab063f6afb779b9L,0x9fce0a3976caf17dL,
  91072. 0x361c82ec51f85f9dL,0xdc45a48c857d1c19L,0x000000000000019cL },
  91073. { 0x01fd89c64251f9f8L,0x1ba0872e3d68ecbaL,0xed3894017d29b968L,
  91074. 0x7de4a3b2496be4e3L,0x3e8815a6d28dc1a4L,0xb4a743b262683444L,
  91075. 0xc9c4a64ad0be70a4L,0x3e79e5754095638bL,0x0000000000000053L } },
  91076. /* 53 << 259 */
  91077. { { 0x65d9c77be8976523L,0x0ac11fd66fc3be5eL,0xe939a935d9655ecfL,
  91078. 0xc9debc12fed311c3L,0x0b460f9bae0088a6L,0x28a82b09d0f0139bL,
  91079. 0x15465c4bc746dd3dL,0x4c149c73f132fe91L,0x0000000000000061L },
  91080. { 0x7556718de6868a48L,0x8da2dee8b28b880eL,0x24856a384e5dda6aL,
  91081. 0xdc76c7a70ea27973L,0x9fc3053c360bd595L,0x8d41a89c3e1540e4L,
  91082. 0x4b7e977841c20751L,0x14907ac0e8d84b0eL,0x0000000000000011L } },
  91083. /* 54 << 259 */
  91084. { { 0x4f736d9a66c5c0c9L,0x2677a79c58a4b4fcL,0xf612bcf8a49ad272L,
  91085. 0xf39799188256b986L,0x1957f6626eb7515dL,0xefbd5ff12964c253L,
  91086. 0xc33ddfe1e8447ca9L,0x9638690a39b7430dL,0x000000000000015fL },
  91087. { 0xa3552fe58470d9dfL,0x2a0d1fdf093484ccL,0xb81bda1be2eb7fa8L,
  91088. 0x3634d9242688d523L,0x11f94f70cc600f24L,0x87021e6c2adf964fL,
  91089. 0x35b07acd5ace8426L,0xfa2853e1dc2e6f71L,0x0000000000000142L } },
  91090. /* 55 << 259 */
  91091. { { 0x2575efbd283e89e9L,0xdb769726720a620fL,0x37c9268d59c0da16L,
  91092. 0x7f35d8bbd0357166L,0xbe8309c61eb19a85L,0x74eb837d19a077efL,
  91093. 0xb1eb237daca65900L,0xcdc312ad0d7c99c7L,0x000000000000002aL },
  91094. { 0xbe10915aed84c76aL,0x7b0f723a85519abbL,0xf538710f42a081a6L,
  91095. 0x78265356dcbbd734L,0x0f499a07096e7577L,0xff5daaf70079b100L,
  91096. 0xc8bf37a2eb6c1ba4L,0x84ac26592b098eb6L,0x000000000000017fL } },
  91097. /* 56 << 259 */
  91098. { { 0xab4d88d64a5595dfL,0x6c8dcabeef39ae0aL,0x2624df12f37103dbL,
  91099. 0x86be6542141f2376L,0x647ba3bba25fabc3L,0x5332a3fce7456368L,
  91100. 0x6d3c328ba44bfa16L,0x34a647fa239e3b29L,0x000000000000009bL },
  91101. { 0xaa7ad625991ffeb1L,0x4e43f778d03d63f2L,0x39cf73f43cab9baaL,
  91102. 0x2250a6ab66f0706bL,0x83bbddff0e7828edL,0x8c63c4f79209731eL,
  91103. 0xce7951a6b2988761L,0x9d4e402fcac241c2L,0x0000000000000150L } },
  91104. /* 57 << 259 */
  91105. { { 0xa12465c4df67bdd5L,0x9218ff8bbc9eca2dL,0x794924a761d09f06L,
  91106. 0x89d11f65e1dbf4b3L,0x60e94678bcbbbecbL,0x34187685a297c4c2L,
  91107. 0x2169b8c93c788f5bL,0x61e7a4603bb5d6c8L,0x00000000000000e3L },
  91108. { 0x25af24472719a0edL,0xdc1c88f4edfbfd6dL,0x0eaec9a6d9888a49L,
  91109. 0xcf7bc7e4fc0565b0L,0x7d9b1b74cd500f9dL,0xd2664e1ae2b62831L,
  91110. 0x18412cb253f95ba4L,0xb652b95b9c4b365eL,0x000000000000012fL } },
  91111. /* 58 << 259 */
  91112. { { 0xcbcce98ffc07fefeL,0xdf3b08fa0bdfc750L,0x4e39fcd4fc05529bL,
  91113. 0xf2aaac2e27114979L,0x7131d54541e195cbL,0x933fa5193f41e9fbL,
  91114. 0x630c99b3e95fc9dfL,0xbd5163825cbe8a8eL,0x00000000000000c9L },
  91115. { 0x3c6b0a2406057628L,0xff27b4a4ef249b30L,0xe42dc28302e9465dL,
  91116. 0x71d7d424dd0bae7bL,0x4d04ba9f602f88c3L,0x6111058a74d2ae5bL,
  91117. 0x2c382c9cc3712cc6L,0x80b7d0e14d5b66d2L,0x0000000000000017L } },
  91118. /* 59 << 259 */
  91119. { { 0x019c03604022dbe0L,0x592bb5efcfee0bd0L,0x19be33c02b149c03L,
  91120. 0xc89d18c2ba04db0aL,0x5a3f5d450bba9aa2L,0x01319e4ad2d6cb21L,
  91121. 0xf6e9f27badc7b155L,0x5bdb9a7844825e84L,0x00000000000000cdL },
  91122. { 0xfd75100dca64ee61L,0xe13ed4adcf163911L,0x56d0e58980d2069dL,
  91123. 0xf8064a05c45fd383L,0x64567521ca0632f6L,0xebfe94ed94c7f528L,
  91124. 0x80f8b30a5e4debb5L,0xa3d53bbb3bc900f7L,0x00000000000001baL } },
  91125. /* 60 << 259 */
  91126. { { 0x72ce80061672b5e3L,0xe0d15784257ac5bfL,0x2083a445fbb308f1L,
  91127. 0x2fc46f2dc8e53f2bL,0xad835795aa2adb58L,0x89b3d1edf35d6ebdL,
  91128. 0xcf54ea81724a0efbL,0x3085e94b513eb0ffL,0x0000000000000046L },
  91129. { 0xc1d6ca589b47ffc7L,0x553268ba41a17354L,0x15f50394aaba1ae7L,
  91130. 0x9377378dcd023c80L,0xf5556f2a70213614L,0xb56122a4cb30db70L,
  91131. 0x03ae2b4c59650a3bL,0xbbfaa947e337a318L,0x0000000000000108L } },
  91132. /* 61 << 259 */
  91133. { { 0x0c07f65f3e218411L,0xf93336dc34e3653eL,0x915543013151ee8cL,
  91134. 0xcdeb170ac7b83bc3L,0xae1673cd6ed8c8afL,0xd6fa1c4b8a778809L,
  91135. 0xd98dc5cc95d4e2f8L,0x50a6f916a906d0afL,0x0000000000000048L },
  91136. { 0x9842940d56885519L,0x487e1610eaed31f7L,0xb4336a8018cc4dd5L,
  91137. 0x92384fdd9eed314dL,0x39f2647569b8de9dL,0x9fd9be6b397286f7L,
  91138. 0x861bc717ce04611aL,0x5eb3a63d5d9aafe8L,0x0000000000000022L } },
  91139. /* 62 << 259 */
  91140. { { 0x577a30fa4b357fb9L,0x36a9492463e6b447L,0xfce5c432731fd6c4L,
  91141. 0x48eaf60527d69a4bL,0x0c5fabdef271da03L,0xab9ab8bd570d0974L,
  91142. 0x07780c6b9c004fe5L,0xe78c11feecd1146cL,0x000000000000015aL },
  91143. { 0x52c4fa6239153966L,0x7aebe3aa7ba8471bL,0x618c9a3ce81fa8a0L,
  91144. 0x7abd26a68a47b9d1L,0x844c1024f06473efL,0x6231f29ab4072d4aL,
  91145. 0xe698c315218d976eL,0x39b20c9ebfbe05f4L,0x000000000000001aL } },
  91146. /* 63 << 259 */
  91147. { { 0x407010d297770b95L,0xe2490ae0b2c13f78L,0x7cb994e1b8634a50L,
  91148. 0x8ccc0776281300b9L,0x1c7a056d83f81cc6L,0x592034c74d47f984L,
  91149. 0xc170bd8f7df09160L,0x07b59c4e6cf44c96L,0x000000000000003aL },
  91150. { 0xdc66941021689ed3L,0x4ddc860456288484L,0x68bfe9ed8f1a853aL,
  91151. 0x426531e548e4f90dL,0x574498889bc57ac4L,0x5144cfe92e90e5caL,
  91152. 0xfc1d8502d5f8796eL,0xcf50aeba50c5f60fL,0x000000000000018dL } },
  91153. /* 64 << 259 */
  91154. { { 0x225256fdb79711e5L,0xbdcf3433a6a843b7L,0xbd3d4548414a71abL,
  91155. 0x2e13fd39e29e7606L,0x194b6e92e07f29c4L,0xd6f5e492b68fd0d2L,
  91156. 0x3ac649985de0ae9bL,0x10e5afe94e5ba961L,0x00000000000001f7L },
  91157. { 0x27df3c4b8ec9ccffL,0xdb2913722a7b0a2bL,0x1ca89222f045afdeL,
  91158. 0xa666763c69c99247L,0xd8d9f6b199033177L,0x10b696f690eca082L,
  91159. 0x41991d660d180f50L,0x7cee7f9b82d6f6bcL,0x00000000000001dfL } },
  91160. /* 0 << 266 */
  91161. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  91162. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  91163. /* 1 << 266 */
  91164. { { 0x853233c2b24565f3L,0x43478b915fbd38c5L,0x962087ffd2a6992bL,
  91165. 0x403427f45ec71ec0L,0xc07276099b151a4fL,0xa8bb2dc4dfa1844cL,
  91166. 0xa20d339e101140e4L,0x0df52fbda1c70e3bL,0x000000000000002eL },
  91167. { 0xdc4129870447de06L,0x080b5dd16cd90fa6L,0xcb6a6bc7c4ecddc5L,
  91168. 0x9462fbda970fe140L,0x4b0cda7ea7581610L,0x6437af41dcab0c19L,
  91169. 0x3ab19e3f4e100705L,0xf8e93a95adc5e7feL,0x00000000000001f7L } },
  91170. /* 2 << 266 */
  91171. { { 0x38ee58f048e075e3L,0xf285797e18d38b67L,0x02e97c63a120348dL,
  91172. 0xc64defa717bff13cL,0x0fd5b7237f983d56L,0x70acc4a830d1770fL,
  91173. 0x0f0ec2d749151740L,0xe99f0a612968c0dbL,0x0000000000000174L },
  91174. { 0x4a5d683a67aa8ad3L,0xfa3a36cc56c69e37L,0xa392130edf8a093bL,
  91175. 0xe80d7527c840b37cL,0xa28eb4926ab73b96L,0xeece0912c7d4304cL,
  91176. 0x0b900a1130b9dd79L,0x43d757e3a20c5d55L,0x000000000000018aL } },
  91177. /* 3 << 266 */
  91178. { { 0xdbc8e45f29056168L,0xb1789b8f8aa24063L,0x8e394ec4e8af7801L,
  91179. 0x451958953e6dacb8L,0x42e76886d8e18229L,0xe9be1e0238912e71L,
  91180. 0xf4cc3bbbc793af2dL,0xa7dc4d1bb6ef26b0L,0x000000000000011eL },
  91181. { 0x0255437c02adbc28L,0xad007fd57f4098d0L,0x5b827c408ecbf87dL,
  91182. 0xb9acb85cbf9b34ecL,0x6d45ae094a85c2b6L,0xee94e87b95bd71adL,
  91183. 0xa7f0f61b420c1eafL,0x8f39c45c8f1291d2L,0x00000000000000c0L } },
  91184. /* 4 << 266 */
  91185. { { 0x56f74e6985edc827L,0xafe2ef0a6a731640L,0x61f8bcfdd51647d7L,
  91186. 0xbeabbb8f41e33fa7L,0x3e4c3aaeec83c547L,0x48a9d1e92cc8dd97L,
  91187. 0x7b4d53b5e57d3822L,0x92387ac8a45c0584L,0x00000000000000d5L },
  91188. { 0x802ece3dfacdb1cbL,0x9e4f5d209e537236L,0xd10acc25386a5610L,
  91189. 0x53f55d464c6c0247L,0x390fe9808c419fa4L,0x8b0a8aa6bed2bd92L,
  91190. 0x90e7f479f854424fL,0xd714bfb59e7f4392L,0x0000000000000074L } },
  91191. /* 5 << 266 */
  91192. { { 0xddbded0597026decL,0x12f1ff098a199bb2L,0x761a746fc1428d3eL,
  91193. 0xb9495d7ef012002fL,0x7a7c2c3aa50c6565L,0xc1264e37dc970f6dL,
  91194. 0x4f05342c865a7518L,0x9818d13d49d9ae95L,0x0000000000000195L },
  91195. { 0x1bb4a4a08cc45e7fL,0x5fba73b315781343L,0x1e704a47f68560e4L,
  91196. 0x90fb65e54eaceb4fL,0x95438866400ac026L,0xbc4b4d817e6f6a48L,
  91197. 0x3b2bbaaf6e7d0d0dL,0xddf027615419780fL,0x0000000000000070L } },
  91198. /* 6 << 266 */
  91199. { { 0x2f9cf1972fe33230L,0x17021cdb2ceae391L,0x18b273a28a2ad728L,
  91200. 0x53289496e7d3cd0aL,0xfbf1d2dd06775a09L,0x445cf659aa70465eL,
  91201. 0x69ef17ef44d92276L,0x852c4f629a70a820L,0x00000000000000d9L },
  91202. { 0x24819cb9192b4bfcL,0x2a3259fffd8c7b97L,0xb39c9e000e31618aL,
  91203. 0xf4dfe5b7f802aa84L,0x57bd5d63fec026deL,0x4cb4de99848b4c62L,
  91204. 0x68c65e5354a00cf3L,0x37ed0124161b63a7L,0x00000000000000c8L } },
  91205. /* 7 << 266 */
  91206. { { 0x2a5e0c228610952eL,0xbf871948e20cb271L,0x24fe902d31955404L,
  91207. 0x9678b0feab00b79eL,0x0d170ac43fd72c73L,0xc91bb075236c56b0L,
  91208. 0x45feeb4f75044149L,0x8cd5418362f8b77aL,0x000000000000015eL },
  91209. { 0xadceca285c84440aL,0x27d8d9ddcc727b54L,0xcaa94f511f1d6f1eL,
  91210. 0x2e5e70ce41c288a6L,0x2bc6ff5b6c8116cdL,0xd84f24cf5725753bL,
  91211. 0x71d36b45a268b9d2L,0xb10ff02719274e7fL,0x0000000000000065L } },
  91212. /* 8 << 266 */
  91213. { { 0x9abf4318e7c8e1a2L,0x89fd5c8d5ef038d0L,0x20641c7c755be1d6L,
  91214. 0xfff489fb38b2c08cL,0x792104e1b3b3a7b1L,0xd8a69114c507e7d7L,
  91215. 0x4c07f5bac1ac93f9L,0x0a2e3d13315c3a89L,0x000000000000012cL },
  91216. { 0x016026bed523d79cL,0xd4e3d86f00ee5640L,0x07627a1ca8e8f5cfL,
  91217. 0xc07c67f8533afedeL,0x081a516dd3bed1acL,0xddc6f44086e8ff0cL,
  91218. 0x4df71bc8c112d075L,0x2b8cc08f7cc49d32L,0x00000000000001d0L } },
  91219. /* 9 << 266 */
  91220. { { 0x8f20e8e5296dd3e6L,0x5b35a6296564254cL,0xee36dfc32969a7f7L,
  91221. 0xa32df83a9b8ce874L,0x449cb63355989616L,0x1cfec15081a04ac4L,
  91222. 0xd625a5fa5f6ac24bL,0xea46b54e1f95a1ceL,0x0000000000000093L },
  91223. { 0x08e7153e171cc8e0L,0x0b4cc450c58a9d47L,0xcca705da93881d6fL,
  91224. 0xbb825112c702b9a2L,0xffa42735ea68fb62L,0x5ccf465db32b28d7L,
  91225. 0x6c099defd7fc4547L,0x91a920d33f37b44aL,0x00000000000001cfL } },
  91226. /* 10 << 266 */
  91227. { { 0x3377ff96a34b8405L,0x735fe3b8a3607c6dL,0x05bb89954a680280L,
  91228. 0x2a1b844443f751d4L,0x88577381b6131136L,0xf6095111bd4bf7bfL,
  91229. 0xdbb63de95babc815L,0xdcbda003457174ffL,0x0000000000000125L },
  91230. { 0x4c0dac17d659699aL,0x0c97f1a4b90797e1L,0x86e3f70037c1752aL,
  91231. 0x28770759661a54f7L,0x696ccdc1f0226610L,0x36399bea2424ad25L,
  91232. 0x94f98b4bbaa7e4e0L,0x7e2207dd8e149164L,0x00000000000001e3L } },
  91233. /* 11 << 266 */
  91234. { { 0x3e459b94f997f2b7L,0xe2c4670e5a5ab47fL,0x6c42f7bea7277f71L,
  91235. 0xb6f4a867b849ea22L,0x9c261ef533ef93ebL,0x14faef70383434e8L,
  91236. 0xcc2581fe68ecf568L,0xbb425d21b0d9b128L,0x0000000000000069L },
  91237. { 0x43dd049b2a74207cL,0xd89e8403d14cc7c9L,0x5e4b96d61aa77222L,
  91238. 0x64f3514b16efa356L,0x9336114aa79aa125L,0x86cfa19308e23be5L,
  91239. 0x6b0d3088316a61e2L,0x8ba7f7d478b735b8L,0x0000000000000041L } },
  91240. /* 12 << 266 */
  91241. { { 0x74af3f63edfcbedeL,0x6b0830b11356f827L,0x060db15a02536f8aL,
  91242. 0x166f9099f7095358L,0xd759efb4e03b9601L,0x05a4e29768484f67L,
  91243. 0x469b4832dc631a7aL,0x7c5406150bb2b1b6L,0x00000000000001b2L },
  91244. { 0x590174e012481c04L,0x8d4ef6c7d7180a84L,0xd134b543303674ddL,
  91245. 0x60dbf72600c378b0L,0xc60e026a93d8406cL,0x57af4a82082c527cL,
  91246. 0xe3d038fe349a607fL,0xa7cb9b475a3582e5L,0x00000000000000c6L } },
  91247. /* 13 << 266 */
  91248. { { 0x113d76470bd80953L,0xe4478391e4fd3d00L,0xb599a4a78a9e2693L,
  91249. 0x9b0a26a00c2122b9L,0xa06d75d822f2ab6cL,0xa91bce84d181c4b8L,
  91250. 0xdcb896f252c19efbL,0x5c009091838a3552L,0x00000000000000faL },
  91251. { 0xd077530a7a3feb1eL,0xb923c5e923a5b8ecL,0x518a1fde94742d7fL,
  91252. 0xf5d7ccd85609a48eL,0x98a271bf88865d38L,0xafea9987a60efbd2L,
  91253. 0x145df51ead05f497L,0x776f6dcf9f9e829bL,0x000000000000005eL } },
  91254. /* 14 << 266 */
  91255. { { 0xb4b3726011219674L,0x47c3a79526626299L,0x64c93e90f7b9b98aL,
  91256. 0x08eff93aff8e46adL,0xb4204ee85b43c5f6L,0x520b0790611d0ad4L,
  91257. 0x29d122dcc1dc2742L,0xcbcefa6e3169b5fbL,0x000000000000000aL },
  91258. { 0xd43ca630a537c7b5L,0xae40e59aa9c0a428L,0xfdf9b81999f2182cL,
  91259. 0xca851eccec7e7227L,0x6760158bab6a8d6dL,0x3875e88ce215b7ebL,
  91260. 0x569be1e84514f9e0L,0x0a0a202ae14d5c5eL,0x0000000000000124L } },
  91261. /* 15 << 266 */
  91262. { { 0xf6eefade50247dc1L,0x507af32ce36262f1L,0x7e981908f13b6ddcL,
  91263. 0x7212c2b68c8c8580L,0xf643133ca54e7f13L,0xa1b10239c4a0069fL,
  91264. 0x18ae36e186279c29L,0xe4f7235a61fbeaf2L,0x0000000000000167L },
  91265. { 0x4bc859b15533c37dL,0xdc59cf0624b1408bL,0xf488d1e9100554dcL,
  91266. 0x3eaf3d7920b37912L,0xa87f0850ee5acf54L,0xec6d7d40fd3bb7e7L,
  91267. 0xd95e630cb6b4eefbL,0x1aa0a4a5b2a5e55dL,0x000000000000005fL } },
  91268. /* 16 << 266 */
  91269. { { 0x69017ed5f1c86157L,0x8ad717eb3aabcca4L,0xe14dd980e57ac297L,
  91270. 0xc2f0da4b931e307bL,0xde7fd5799080b37dL,0x45bf6f6414134de4L,
  91271. 0x5cde0727ac019cf3L,0xb4e5c2e7863e739eL,0x00000000000000e6L },
  91272. { 0x094e085628e15f36L,0xf92c44fb46276090L,0x9219998521cb21ccL,
  91273. 0xcedcd4f2de53957dL,0x802c6f95b6c417ebL,0x0ea41a2b6075e71dL,
  91274. 0x194d6fb1b9eec681L,0x8e7cd41f2e0320d8L,0x00000000000001caL } },
  91275. /* 17 << 266 */
  91276. { { 0xb35b4973fc9a8271L,0x07df6c1baa64d87bL,0xf8a40753c20694b8L,
  91277. 0x9e99bcc963c0ee99L,0xd1a9e1547b93b57eL,0xdf820e3853787f84L,
  91278. 0x27f53ecd99f332cdL,0x4fb11f5a9232ec79L,0x0000000000000088L },
  91279. { 0x24b553cbee20f924L,0x0b7ef51349d43360L,0x96c9487ce38d79baL,
  91280. 0xfdb1c74fb5ed12bcL,0x21685ed84900c152L,0xa357e469e3bf2258L,
  91281. 0xbd08ba2c6fb351cdL,0x6bf4eab57c702332L,0x000000000000019bL } },
  91282. /* 18 << 266 */
  91283. { { 0x4d9b809e882e2e8dL,0x9c08905471a4d335L,0xf7d10eab057174cfL,
  91284. 0x2362775e835f8b97L,0x02cffff193e325e5L,0x5da2c5e530a19357L,
  91285. 0x3682adb3fac8a110L,0x0c80cbc5842d7712L,0x00000000000001d6L },
  91286. { 0xb1f34b5ce63fcecfL,0x1b7ef8b72036dcacL,0x1e77a65bf2918bdfL,
  91287. 0xee7953ef56dec2d7L,0x3bb9d2d96e8dce20L,0x690991b765dc8ddcL,
  91288. 0x289f7b1c5127b031L,0xcfc012e6b308fb5fL,0x00000000000000dfL } },
  91289. /* 19 << 266 */
  91290. { { 0xe4e588655455e3ddL,0x0a3faf6e37979e4dL,0x0fb1185abc2baf05L,
  91291. 0xa7757468231db3c6L,0xdfaa6b1e2dece4e4L,0xe0fd7fbb57b73e1bL,
  91292. 0xd0a759633c1319ebL,0xfe723d7944751078L,0x00000000000000f2L },
  91293. { 0xf34d75824e65024aL,0x4f3e335728712abdL,0xd736d0a0dc0619d8L,
  91294. 0x700cb63c18df1a77L,0xa741d8188dc6f72fL,0x1fb046b4e3f4ce0dL,
  91295. 0xe4c65bcf36daa0d3L,0x7de83bf3e0a1b42aL,0x0000000000000118L } },
  91296. /* 20 << 266 */
  91297. { { 0x5466a9901fe423c0L,0x59f6a48ba57e7875L,0x09a9f84acb7bd46aL,
  91298. 0xb5ae0d9469e02df0L,0xaecc3392d9fec11cL,0xc94de920a4bcd130L,
  91299. 0xfb5b36f882c78f1bL,0x32ad1cf22d4fc970L,0x00000000000001fbL },
  91300. { 0x8cd894d5df0a2534L,0xcb83665c9735fc04L,0xcbd9157635169f6fL,
  91301. 0x2f3b64a72775c9d4L,0x80c9608fdd6410d3L,0x6503badcbcad20d5L,
  91302. 0xbdb308571b2b1640L,0x92338c7878fbc82aL,0x00000000000000d6L } },
  91303. /* 21 << 266 */
  91304. { { 0xac3b7a4a49a3cdceL,0xf58661f0a02ad4fdL,0x1ffcfa7c613c7e53L,
  91305. 0xf2524615a312b766L,0xcf475cfb5616df03L,0x4cfa2b326c13fc81L,
  91306. 0xbccd8375bc58b87bL,0x8abab16ea321ba9dL,0x000000000000011dL },
  91307. { 0x3e0c8aa36c9c6bdeL,0x52b709235145030fL,0xb3b79def957b71bbL,
  91308. 0xc5d4d6d82ae65cb2L,0xe46b42854fe000d6L,0x7f0cbea3df9a4175L,
  91309. 0x184a74fff4816509L,0xd4309c3fda9b614fL,0x00000000000000ceL } },
  91310. /* 22 << 266 */
  91311. { { 0xc8015af9e84d1058L,0xfde0b0b44630167fL,0x75a6485be04303a9L,
  91312. 0x386d40635dc6a595L,0xb6a7e6ddb5e1fea7L,0x88760f62a98f79ffL,
  91313. 0x0fa02a3715ceb5eeL,0x3b5f506d6b7b4aa6L,0x00000000000000f8L },
  91314. { 0x03364c2377688a7bL,0x8efa63b109c6d5c2L,0xb57aa39794f3f323L,
  91315. 0x1527ffadfc11fce0L,0xfe42ecd364d6096aL,0xfdc0cc40d56842e6L,
  91316. 0x4e82c4c8770bfa36L,0xc43342307717694dL,0x00000000000001d9L } },
  91317. /* 23 << 266 */
  91318. { { 0x4fcdc0c1d5f4e912L,0xfa7cfaa4004a4db8L,0x25aecad367023dcaL,
  91319. 0xca002afd5eb57cd6L,0x34541373741405d5L,0x67a0d594d3812ce2L,
  91320. 0x7b34bef0cfcf2d6dL,0xd6cf2f835bdd535aL,0x0000000000000110L },
  91321. { 0x454609ac442959beL,0xe9237086b8a51511L,0x6fac92553babcba9L,
  91322. 0x78f71e6b27e7884aL,0x92d4c3ede8f4feb6L,0x52c5d2b4420fbfedL,
  91323. 0x009792ee9f40b090L,0x82b8ba85df824367L,0x0000000000000179L } },
  91324. /* 24 << 266 */
  91325. { { 0x3f99e9b3ee05cae4L,0x32cc71107fa0e686L,0xfefe300a1ef8a5c1L,
  91326. 0x232d446e86846634L,0x250f4e801ce3e75dL,0xca3146f236bae498L,
  91327. 0x41b28b529339513fL,0xf05d31b6623cacb0L,0x0000000000000066L },
  91328. { 0x12b4c656682f53c8L,0xc865fa0ef72ed178L,0x7d41ffbc55f68dbbL,
  91329. 0xe4aa53b7c0ac64aaL,0x66e397bbb7194380L,0xba629db6834331f9L,
  91330. 0x6d14e879ea0c0083L,0xdf2e7eb0039343fcL,0x00000000000000d6L } },
  91331. /* 25 << 266 */
  91332. { { 0x0397ef6f17081314L,0x9546deb646fff7e1L,0x5b4dd93bc94171ecL,
  91333. 0x0a8a85527444b12cL,0xb1513889b9c40474L,0x9cf88d84bb2a206fL,
  91334. 0xb910e92085c19e6eL,0x45eccb62676a3583L,0x00000000000000feL },
  91335. { 0xae266163ff1f2098L,0xf440e5da0d1ec4a4L,0x3253fc3f92193348L,
  91336. 0xe74818b8e34f82e7L,0xd5a623060676bff7L,0x27b66af8199cf83fL,
  91337. 0x3f10e57fcc0d1357L,0x5e957d2472cc938eL,0x000000000000008fL } },
  91338. /* 26 << 266 */
  91339. { { 0x575278cf18bc690fL,0xcacf60ceb54dc657L,0x26bbb292b42fbfb1L,
  91340. 0xdc41efa143d3991dL,0xe1b66a31f437cbfdL,0x78f6b7c39a9fb752L,
  91341. 0x91bb4eee42b805d5L,0x6be454c8c53eb4c3L,0x0000000000000003L },
  91342. { 0xa33f2a2a709d0dd7L,0x991168d9fb00c9eeL,0x33f59abe2755ae74L,
  91343. 0xddbd1abb9f173047L,0xe45fa246f4075d82L,0xbaf7b425bddf38fbL,
  91344. 0x6a934744ccd0af06L,0x3f33c9152473c3b8L,0x000000000000017aL } },
  91345. /* 27 << 266 */
  91346. { { 0x354623ea02695dddL,0x311af2095e666b21L,0xf8aaa2aa323d976eL,
  91347. 0xff0efef950504afeL,0x87d20f09de7f31dcL,0x6295e64a7c4596b6L,
  91348. 0xdc29db81de13042bL,0xa145cbbe42be7ef5L,0x0000000000000111L },
  91349. { 0x0833ee13598cec0bL,0x3915b741a55c1756L,0x56a8ab1191e38ffdL,
  91350. 0x8ab41e3bc1b823ebL,0x18fa8910defb1732L,0xe3454a259a628d6dL,
  91351. 0x9e4264e494e99e1dL,0x31832bb5637d5ee6L,0x0000000000000182L } },
  91352. /* 28 << 266 */
  91353. { { 0x3ee61d53e8a300ecL,0x65e529c7e0cd8617L,0xb8c03cb0077b303bL,
  91354. 0x05eba936d5c88dd2L,0xc1e54497d42bb4afL,0xab477aafb0589057L,
  91355. 0x55acddc8e8f70a56L,0x6579b78b4fc80182L,0x0000000000000164L },
  91356. { 0x535e7ff0bc97c72eL,0x65e954c9809dc093L,0x49edc4b8cd182ee3L,
  91357. 0x804874f9877d38adL,0x20104ab16df1638dL,0x78459a4b748ee6f2L,
  91358. 0xb895205d3504aa35L,0xbf26ac8af8089e32L,0x0000000000000041L } },
  91359. /* 29 << 266 */
  91360. { { 0x414660fad60c46d9L,0x771ea3b5defcc1eaL,0x47e275514478526fL,
  91361. 0xe13deda6872bc6bcL,0x6a8af4a708e6829eL,0x0d234a58c0cc0817L,
  91362. 0xc209a0b1993176d4L,0x703a36e8e4d7c55bL,0x00000000000001e5L },
  91363. { 0x00e521dbaf301144L,0x8cd4f076373a95e5L,0x1c409a63aacbb198L,
  91364. 0x1712c6cf0c0dd3d5L,0xc2bc08609ade8d6fL,0x0f2f51bcce84b335L,
  91365. 0x76bf54aa4a193540L,0x0b17b9455c0db4e1L,0x0000000000000040L } },
  91366. /* 30 << 266 */
  91367. { { 0x76251b3e9f2d82b0L,0xaeb86af12e4a0ac3L,0x01448c52ff3f9965L,
  91368. 0xa3280f7c61042ff9L,0x1845a38fa1a3a6fdL,0x802be4bc51d4dd8dL,
  91369. 0x189cd677d4837b6dL,0x9b052dc25af0fb47L,0x000000000000007eL },
  91370. { 0x91e76d5f5c765e26L,0xa63a93d821904658L,0x03318a472af96a70L,
  91371. 0xe2b55958bc3a294cL,0x4aa9d90d9f7a740bL,0xdbb00ae4baa31d88L,
  91372. 0x83df26343920d053L,0x33b1b418ce51fe2dL,0x00000000000000baL } },
  91373. /* 31 << 266 */
  91374. { { 0x6c95ebc8b8c1d76aL,0x70c33cc22d77832aL,0xa73477b6b48e542bL,
  91375. 0x6d00020b6eeb8df9L,0x03888e1c3df975fbL,0xae48633704e49a91L,
  91376. 0xfbc90f2f0d90bd52L,0x44ead1e3dfec8b7cL,0x000000000000013dL },
  91377. { 0xedd5fc2f83ac4742L,0x88933280ea5af10aL,0x369ae840a19847d7L,
  91378. 0x2404ca4e99b4a8f0L,0xade7c798d4e88a47L,0x049832ae08308b57L,
  91379. 0xb5fe206808d5ff33L,0x234872b6142fa38dL,0x0000000000000130L } },
  91380. /* 32 << 266 */
  91381. { { 0x3dff858061e5aa9eL,0xa33aef70955100c9L,0x7a52da3956ab4275L,
  91382. 0xefe16518102c4123L,0x8faeb0188d2e4d91L,0x3516243081719f70L,
  91383. 0x4ef1fb91fa78398bL,0x95eb0d18c351721cL,0x00000000000000dfL },
  91384. { 0x90c4d877e5f04c88L,0xe108471abf176e9fL,0x8efd42750ef8e8fbL,
  91385. 0xadb1fc8e3b26ba83L,0x35050fd319bcb6aaL,0x00a7180d1e9a804fL,
  91386. 0x23ae97b660b511c8L,0x07d0be62403cef81L,0x00000000000001b3L } },
  91387. /* 33 << 266 */
  91388. { { 0x5c7f1fa9f7983284L,0xad20a27f4cf3733dL,0x848a72d4d256795dL,
  91389. 0x11cd1a8f31c2d9bdL,0xd101e6cc7875f7e6L,0xea169cd1013cee4cL,
  91390. 0x7c00964f6ba5c6f0L,0xce957f49def21557L,0x000000000000019fL },
  91391. { 0xd87fec0c8fd38646L,0xc44d7c05105da346L,0xbbf95c4d910c4d58L,
  91392. 0x6a379cd0ed266251L,0x3201baf27b4b75b5L,0x6835bd3cf593add8L,
  91393. 0x09e93440b444ffa3L,0x8dd8d5428a999e34L,0x00000000000001a8L } },
  91394. /* 34 << 266 */
  91395. { { 0xcdcc17966d01191eL,0x76069b30cc266a67L,0xfe9a5cc93738b9e9L,
  91396. 0xbf210857b8d72f0eL,0xe71cb6f7c51394e6L,0xad01d21bdaf33303L,
  91397. 0x34c92183dc573fc6L,0xa293b60a8177e535L,0x00000000000001e5L },
  91398. { 0xe9e6f1516e74482bL,0xd9b14871a07f28dbL,0x9ec270143e8ba372L,
  91399. 0x9050edcf579d622dL,0x2b3d57a3b7a0dec1L,0x5282d3fd7399d805L,
  91400. 0x46fbf40518b06ba7L,0xf0d75d34706066edL,0x0000000000000089L } },
  91401. /* 35 << 266 */
  91402. { { 0x88b9a526ca277da1L,0xe990008438a61571L,0x899e1a40fccf02aaL,
  91403. 0x5b352690d569929bL,0xc363f9897750040aL,0xad91ef44bd062400L,
  91404. 0x3dc71c7812eaa485L,0x7644bd1efe306e6dL,0x000000000000007dL },
  91405. { 0x7f8ad11ceccd773eL,0x13cc76ea8b4bd7ffL,0xfba893a3a1e0a336L,
  91406. 0x3563ef917150a5e3L,0x2676215848bb8dceL,0xd02351235bc0826bL,
  91407. 0x284c75afcaf00888L,0x127c932a48b68a1eL,0x000000000000012cL } },
  91408. /* 36 << 266 */
  91409. { { 0xd877404a6fc3e4d4L,0x90f4424143959c60L,0xb11bc0dfadd26aa4L,
  91410. 0x45c833fe8773bddeL,0x26e39709ca264f8dL,0xcc87592446314f2aL,
  91411. 0xd9def19853ddf49aL,0xcd60de6495742a00L,0x00000000000000bbL },
  91412. { 0x5cb1207487d742a0L,0x41ddaa31655afe45L,0x69765ba5a54ece2cL,
  91413. 0x575d21810b4b57b8L,0x8540de4bfdec936bL,0x2d73ccba13c17184L,
  91414. 0xdeba26f2a345fe93L,0xf9a8115844fc190cL,0x00000000000000e6L } },
  91415. /* 37 << 266 */
  91416. { { 0x20db3c8c67046c7eL,0x5c5899fcbd8b92cfL,0x707ec19eda3d6021L,
  91417. 0x3d4b9927fbc017dbL,0x6d8757ba35097e5dL,0x6daf1a7097e8598aL,
  91418. 0x84677a8a65cf83adL,0x99e82cb24b4483a1L,0x00000000000001b6L },
  91419. { 0x85ac6ec39423cf6fL,0x746d4cd7f8ea9921L,0x7829a0ad8b6c7446L,
  91420. 0x17833a99799b235aL,0x04cc99281cdb0e56L,0xe119f3213d1957beL,
  91421. 0x9d723d47d6f73bb6L,0x478afffc456cd261L,0x00000000000000cfL } },
  91422. /* 38 << 266 */
  91423. { { 0xcac9ee0296bb50a1L,0x344a30a171b75917L,0x7040c29be338ca78L,
  91424. 0x7d11b5ab7f1329d3L,0xf545164d5deb103aL,0xc056825de377a217L,
  91425. 0xd1b8ce5d1fdc5ba4L,0x4ea7fa876b3f275eL,0x00000000000001f1L },
  91426. { 0xeac8c31323ff0cdeL,0x4317e5a759d122e1L,0x402d1078cf955e30L,
  91427. 0xa26f2bb9e2aefe0eL,0xb33602a6779d0928L,0x5ad6f902966256a4L,
  91428. 0x9f13eca6064745a5L,0x49432dbade6d235bL,0x000000000000018eL } },
  91429. /* 39 << 266 */
  91430. { { 0xa1dd69bd5714383bL,0x1ecd74467128e274L,0x5c14f4e26a0407deL,
  91431. 0xda00128e3ea0e272L,0x3f07ca2c2e4b7815L,0xc886f05e80348645L,
  91432. 0x987b488fb9edab2aL,0x56a44c68aa59100cL,0x000000000000000cL },
  91433. { 0x31c490fc20216efbL,0xc7d7cd07a226907eL,0x4f8dc600fbb809ddL,
  91434. 0xbe7d49f895a97bb8L,0xc8632c28bc899729L,0xbccde2198bbfdb6fL,
  91435. 0x9c20db29a3bffcd9L,0x63ae8bba2a16b4f5L,0x000000000000016dL } },
  91436. /* 40 << 266 */
  91437. { { 0xdd8026ea8d40a41fL,0xb0e2795c8f0752e0L,0x6f120a8d5e6d1f7eL,
  91438. 0x0aa99441abaf2381L,0xa60677641815fcf4L,0xfa43027bfe2668e2L,
  91439. 0x74557a4f87d678a7L,0x5c068d13c6096024L,0x0000000000000053L },
  91440. { 0x0ce11532bfd0f624L,0xce62d3a67e476a2aL,0x467ae9f11667b2b7L,
  91441. 0xc418d77f4e4ea4bbL,0xb96c33825132ff6dL,0xca75d16c5fdb9483L,
  91442. 0x24cf4df2d08f6f87L,0x70388217eff3b645L,0x0000000000000106L } },
  91443. /* 41 << 266 */
  91444. { { 0xce9620b3056271d8L,0x6612d8926cf33e57L,0xcd12436bbb8f54f3L,
  91445. 0x98972847878977e9L,0x066c6a3753a12cf9L,0x80af4b986f85ed96L,
  91446. 0x939721e3a7d2b688L,0xc07ca3cfe4b6e967L,0x00000000000001dbL },
  91447. { 0x5b3c9f28b32ef369L,0x2e365cec90bec7a7L,0xd2755e2441f7a73dL,
  91448. 0x6eb6f889ea6be0adL,0x19a373073dda2212L,0x07bd68ee7ab4b633L,
  91449. 0xadab0fac6a787bfcL,0x5cf888d8ce37e38dL,0x00000000000000d8L } },
  91450. /* 42 << 266 */
  91451. { { 0x9818697810a4cecaL,0x6360bc55d3c03045L,0xcebe3bc3f1e322f0L,
  91452. 0xfb5d861458625a5fL,0xe91937a64f41216cL,0xd94e229fa392d9f4L,
  91453. 0xe9cbfba022aa028bL,0x7c8a3d9b9f26e506L,0x000000000000004cL },
  91454. { 0x8095d4ac44690ed0L,0x8e76d94ab578e759L,0x25a1ead877504659L,
  91455. 0xe7ffc4626bd2caf9L,0x18085dd8c7dcce0bL,0x336faefbf5476396L,
  91456. 0x5e94e9dde08c63f9L,0x9be80bf65614a1c5L,0x0000000000000051L } },
  91457. /* 43 << 266 */
  91458. { { 0x225252040c05d291L,0x8254fc5ea459cd01L,0x7826a55fb121c3b1L,
  91459. 0x0000dd29a49d91aaL,0x49463679dee46523L,0xcb5fab5db2c6c30fL,
  91460. 0x70d7ed1edabb3865L,0xceac3e388d1d4152L,0x000000000000012aL },
  91461. { 0xe5ab8203b1dc6339L,0x00871ca7d6a1dae0L,0x3831e96762dc6379L,
  91462. 0x6d423be07a6a29caL,0xad645df0e61ffe3fL,0x68567d31e414b0ceL,
  91463. 0x48455422119b3661L,0x6860c25d6c3cf9ceL,0x000000000000005dL } },
  91464. /* 44 << 266 */
  91465. { { 0xf04691638d0bc669L,0x62b84488e939f5a9L,0x0d3f495380fe63b5L,
  91466. 0xe39a7aa158880c15L,0x74df281ee613f21dL,0x908934dcfa016692L,
  91467. 0x5b9cf6cc980904b0L,0x0f3aa0f43a17dd3aL,0x0000000000000105L },
  91468. { 0x346bd219651d59e1L,0x51024297c71b37bfL,0xc634d031f0640f18L,
  91469. 0xa657da60ff003294L,0x9cfc79fc15aabd29L,0x56807dd77b4a869fL,
  91470. 0xcd97cd8959d9033cL,0x58640103a3233c39L,0x0000000000000090L } },
  91471. /* 45 << 266 */
  91472. { { 0x1c1d333fe7c0c2e9L,0x5dad349290d5ed65L,0xfd50637bd1fbf910L,
  91473. 0x73765e39d92af73eL,0x97100d8c7e12eac1L,0x2dd53ccca486a059L,
  91474. 0x0a8949c5fca9464eL,0x86fee09ec1d1e819L,0x00000000000001f3L },
  91475. { 0x14a6857f2f1b392dL,0x55e63e4b61f6f679L,0x096b8806e2721792L,
  91476. 0xe0c5fcf597b80c13L,0xbabc39f6d78c2248L,0xd7a963e14b2c3516L,
  91477. 0x5d1bf511e8c0ee67L,0x15b6e43183b7041aL,0x00000000000001d8L } },
  91478. /* 46 << 266 */
  91479. { { 0x9fd0467622691895L,0x7bc9efbad1407b18L,0xbeaa1052bef6c449L,
  91480. 0x5ec3fde4887ba913L,0xdc330887b93cc69fL,0x2f45e738189d6049L,
  91481. 0xa5561ceda7b55419L,0x6c02e536c7c0c880L,0x000000000000013fL },
  91482. { 0xc480b98a11c8b600L,0xbce33f4ca381f348L,0x0993dfc429fe9783L,
  91483. 0xde78a2b0e6c1590eL,0xe61ed1285347e99dL,0x51af7410e78af478L,
  91484. 0x65be48f114275d9fL,0x3434df3d7cf1aca6L,0x000000000000011fL } },
  91485. /* 47 << 266 */
  91486. { { 0x2eb82ba1bd51b234L,0xc17a47adf106770eL,0x913b0804bcdd7ce4L,
  91487. 0x2be5948e905cd641L,0xa2db49622ce3902aL,0x22c48f2c8ad6d3f0L,
  91488. 0xab188f07cc119a95L,0xd8177552595fd7a9L,0x000000000000003dL },
  91489. { 0xd4de0f9cdbc3d844L,0xd195cd3257218c66L,0xbf9e5b684e68fd4aL,
  91490. 0x6e6f3122bc74f17eL,0x6daa87f5d46c0547L,0xf636ac5282c5a92dL,
  91491. 0x897bed5f780d6a32L,0xbcf2b58bde400db6L,0x0000000000000146L } },
  91492. /* 48 << 266 */
  91493. { { 0x79ba87baf1c9c2ecL,0x0e53555266aab703L,0x31d1d9712c990b59L,
  91494. 0x1e0b5d0e12c6b29eL,0x014d53ff563bcab0L,0x425986f2f64309d0L,
  91495. 0x475fc9d5318b9d6cL,0x02739c50ff59e392L,0x00000000000001b2L },
  91496. { 0x8bf58dfc16f1caccL,0x1c93ba4e6b08ce06L,0x79b5e0399fe18430L,
  91497. 0xc9f67bd47de66325L,0x5def2733713d0fefL,0x31bd8b37b9945412L,
  91498. 0x8b2b69f3f3b99628L,0xf08a7e5a3118ce62L,0x00000000000000d4L } },
  91499. /* 49 << 266 */
  91500. { { 0x421966e5b03d785fL,0x3dbb06bb2db82562L,0xfef17870e406ab4aL,
  91501. 0xa6f04241b0f7f7ddL,0x69b5bcd1cb5270d7L,0xecbf4272e68d39e4L,
  91502. 0x722a3a295fb029edL,0x12e1d8236a535ae2L,0x0000000000000080L },
  91503. { 0x57f3541d31af5bf7L,0xa9463bc40db44d31L,0x320dc4d335748c65L,
  91504. 0x86e70f72eabc0fddL,0x47911116c02d0191L,0xb66114907b95b2f9L,
  91505. 0x60ad777bb050875cL,0x168967505cfc66b9L,0x0000000000000015L } },
  91506. /* 50 << 266 */
  91507. { { 0x2f89c1663c2c5333L,0xddab9a55df09beceL,0x4bf00d3c6640cf11L,
  91508. 0x8366d23df05a2e65L,0xaf81ce01e2c9f1ecL,0xbca9287ae2678ff5L,
  91509. 0xab1854ea91ec560bL,0x2c74e77c6381b109L,0x00000000000000c8L },
  91510. { 0x36214f8f0b1c20e1L,0x658bf89c86a631eaL,0x160b2ce485061fe2L,
  91511. 0xf7d151ea1d7b78f5L,0xb50a06792bdd0675L,0x8dbbd631d2f1cae3L,
  91512. 0x2548deae849ce90bL,0xba74f3b7bb58c6f7L,0x00000000000000ffL } },
  91513. /* 51 << 266 */
  91514. { { 0xdbc33fff01a3ae90L,0xdc1fb1371737a61aL,0x7213e66891def29eL,
  91515. 0xd99530b841d7df49L,0x23a50594943c90e3L,0xfefcb98881dd6daeL,
  91516. 0x736b8505dbf5986bL,0x6f4c28a987496a5dL,0x00000000000000f4L },
  91517. { 0x92d13be9ca00d61fL,0xebd928d6dce1556dL,0x307e3fecc71ae83dL,
  91518. 0x2a4939c2c15ca194L,0x13947cafbcad067dL,0xf4ce58667d41f480L,
  91519. 0x1ef59d7047e07cecL,0x5d8068403796b61dL,0x00000000000000b1L } },
  91520. /* 52 << 266 */
  91521. { { 0xfea0d82ec8a4656dL,0x0fa181b503d94a84L,0x3666bfd2f8b5c4f4L,
  91522. 0x4e246013619d399cL,0xea46dfc9c11c1ce3L,0xdfb408aa10af3583L,
  91523. 0x94fce3f2785d7d61L,0x3244f6181feff091L,0x00000000000001b8L },
  91524. { 0x939d98f4add4f84aL,0x4c2e3d15e9d04356L,0x08529c57c5d1729dL,
  91525. 0x4966bf7709597836L,0x03b9958cf4b32760L,0x2e7213b46a9536d0L,
  91526. 0x455ceb5984faa490L,0x7d83e2f5146ed682L,0x0000000000000004L } },
  91527. /* 53 << 266 */
  91528. { { 0x3006b4db99b32f7cL,0xcc70659922b7c67dL,0x2ef09c9c5259dc6dL,
  91529. 0x732ef8c90faf1eb3L,0xf3c83942a1837500L,0x6633ddde6cc28b75L,
  91530. 0xd1c95f71e1ebcaa0L,0xcd6609dc9e548e3bL,0x000000000000017aL },
  91531. { 0xb35f17893b3da933L,0x8d169444379ef7f6L,0xbc00a35a8c84c365L,
  91532. 0x3411d83a5ea4534aL,0x209414cbada5b0fdL,0xd0ae1bce1a59ed3cL,
  91533. 0xeb7542c292c524f8L,0x0d233104eb75a43eL,0x000000000000003bL } },
  91534. /* 54 << 266 */
  91535. { { 0x9a4dd7b8ac1a7884L,0x2067b936b874749eL,0x52260e05d13b0d4dL,
  91536. 0x61476a10a9c3e750L,0x2047d74ca0f97967L,0x8655120d1d34b122L,
  91537. 0x60cd407c935034ebL,0x499ba4dd8bbe83b1L,0x00000000000000b1L },
  91538. { 0x6213fd52b2bdce3cL,0xda3f6f864cc05a03L,0x24183f37b78a7247L,
  91539. 0x996bea8201ebedc6L,0x7de1df0aaed2def9L,0xb59c1f5a624d5b0eL,
  91540. 0xd9b892084ec7e5ccL,0x230df59c54090935L,0x00000000000000feL } },
  91541. /* 55 << 266 */
  91542. { { 0x0e683a79496c5739L,0xd855e4884737520cL,0xf3b0fb38b1dea15cL,
  91543. 0xf5118c492c55746fL,0xd313798ab9dcf49eL,0x33e97020992ef98fL,
  91544. 0xc6ae345eabd13522L,0x47fa0669425f9edbL,0x000000000000012eL },
  91545. { 0x697599ad5e3eb523L,0x977313269216d4e8L,0x2bf6d652088d222bL,
  91546. 0x852230c5114a21aaL,0x8e713dee3f02aad7L,0x02c85a4ffccdaa39L,
  91547. 0xbebd0ff6b7a53b32L,0x103bd947b9b77764L,0x0000000000000199L } },
  91548. /* 56 << 266 */
  91549. { { 0x984d21e6b92a02beL,0xf2bba82c09f08a26L,0x9c4259d1909fba26L,
  91550. 0xa36bcd437030f0a5L,0xf6c218e468ae6f05L,0x199a1ef30ed869f9L,
  91551. 0x803860ff417e95faL,0xbd6bb9b4f29f7c84L,0x0000000000000130L },
  91552. { 0x5fd4e3b2d4e924d1L,0x388d2e0a9b2814d5L,0x8e4696653e9b1aecL,
  91553. 0xe24a5cfe9a8320a8L,0xffd986e2a83ed877L,0x8499105d9c00fbc3L,
  91554. 0xc6b2171f73f5deaeL,0xf1432d70f9d058f7L,0x00000000000001e3L } },
  91555. /* 57 << 266 */
  91556. { { 0x030550d7132338dcL,0xd768b93af6e8f267L,0x90ea975362c49edbL,
  91557. 0x3d4ff755ca1676faL,0x2a6f71962a52f67cL,0x85f2473be355efcaL,
  91558. 0xe1fbd88920c998dcL,0x70bfdc6fd8491c54L,0x00000000000000d1L },
  91559. { 0xcc89bbcf2b71306aL,0x10ea9edd6100aaa5L,0xd1774fbfe1f76710L,
  91560. 0xf006f841ec8bb412L,0x7dfaa7290c2fa1dcL,0x45cca48e8fed926cL,
  91561. 0x4600d2919e67f94aL,0xe363f267269a4cefL,0x0000000000000132L } },
  91562. /* 58 << 266 */
  91563. { { 0xd167783be279b76aL,0xa10f42afc988d262L,0x41da90eb8a53ddf3L,
  91564. 0xa66061125539740aL,0x0575a23cff000f06L,0x150f47e563a5124eL,
  91565. 0x8c923bf91a1c07a4L,0xac510583f4752dadL,0x00000000000001d7L },
  91566. { 0x32fa0b887c3a94ffL,0x7625bb5ffb91c0cdL,0x2f2be34111b94d00L,
  91567. 0x824f6bfebcf2e24eL,0x95a9120f6f255fc2L,0xbde9336c35e3c721L,
  91568. 0x95742cc454f31228L,0x689d8bf3a899e1bbL,0x0000000000000155L } },
  91569. /* 59 << 266 */
  91570. { { 0x04bab74886920088L,0x0cb1d789aa224f96L,0xc93eb318d28e0286L,
  91571. 0x523d44902dda423dL,0x5150f518bcd81054L,0xe0443e329498fbc3L,
  91572. 0x0089a01e8fd77381L,0x7f5cebd637ce0637L,0x000000000000011bL },
  91573. { 0x40cbeb26cb481b5dL,0x29d513b817e35565L,0xf884cd0182b961c8L,
  91574. 0x2ebd1a191cf01a93L,0x2ab31a0b8f398d6aL,0xa15f3eaec09c3a9dL,
  91575. 0x549b4cfc31f19b5dL,0xd42d563bdb0d2199L,0x0000000000000164L } },
  91576. /* 60 << 266 */
  91577. { { 0x8626cba3cd27ff10L,0x5f83c650dc15323dL,0x370d973042cc94e3L,
  91578. 0x06ebd6efdb164003L,0xcda6f2d782850e4bL,0x74e500ef17a82fcbL,
  91579. 0xddab08dbb228248bL,0x56e403d5870a453eL,0x0000000000000083L },
  91580. { 0x507272fc79dcfe50L,0x25ee735db3d2ba34L,0x92386ed3fc3349eeL,
  91581. 0xb0a88de8f9ebdeb6L,0xf1ef010cdd93abf9L,0xead25256a0838914L,
  91582. 0xce2acbc0d54b6544L,0xbc78ce9a7c94ce27L,0x00000000000000d9L } },
  91583. /* 61 << 266 */
  91584. { { 0xc6914e748df59decL,0x1fe914fc5fb68222L,0x6927c9ee4c5a99bcL,
  91585. 0x6b391ac926d71724L,0xb702eac64ccabd0bL,0x30140f3225ef1fb0L,
  91586. 0x2925f1a5368574cbL,0x019a246c817bdcd8L,0x0000000000000148L },
  91587. { 0x8b5bc82843a579fdL,0xa7df3a7e0428a197L,0xdc92a823b299e290L,
  91588. 0xb4796ea49b9eaf60L,0x37fdf758efff2b39L,0xb51d61b119a00b8aL,
  91589. 0xd0ba025158fec2dfL,0x4481424bdb70c86cL,0x000000000000019dL } },
  91590. /* 62 << 266 */
  91591. { { 0xdaf4f001c3742075L,0x9d21b51ee86d1e9cL,0xfe5359f1041b08a3L,
  91592. 0x68890b43565a56b2L,0xa5dd5889cf437ef2L,0xf78e7c4621323d5aL,
  91593. 0x0d6b8410646f2ff6L,0x7d08bb8206a40139L,0x00000000000000deL },
  91594. { 0xd9a729497ac5686cL,0xf03be45847486981L,0x7f3c9dc4cd31b81fL,
  91595. 0x5c3b01b791730a67L,0x4abfeae42bcdc09cL,0x3e98e2ec1f65b976L,
  91596. 0x280fe587b1686b96L,0x7038ea9fbcdb3f69L,0x00000000000001c2L } },
  91597. /* 63 << 266 */
  91598. { { 0x0788729410b5679fL,0x4a660d8e0e9207b5L,0x65f23f96a702eeb6L,
  91599. 0x4d2892f71035ebdfL,0xcf6962a6237548bdL,0x599710afb3dc6988L,
  91600. 0x0787789e9e8129faL,0xefe5135a7b65d139L,0x00000000000000f5L },
  91601. { 0xc1041db3dc996150L,0x61f30cbfb3b9717cL,0xcc86186dd933fafaL,
  91602. 0xa89429239edd4ba5L,0x3b35f50b2d323ad7L,0x8f43b479acc1d0e8L,
  91603. 0xda38daa46793e392L,0x564b87346fb6121bL,0x0000000000000004L } },
  91604. /* 64 << 266 */
  91605. { { 0x0e13c1ddcecdf0dcL,0xacd530b6eeb9aa6cL,0xbe3c0fc80af8d3a8L,
  91606. 0xee67f380ce44ae8bL,0x9adc56363854b528L,0x527f7f90130f4497L,
  91607. 0xee085713e80c35ceL,0x29bc4b3e190fae23L,0x0000000000000064L },
  91608. { 0x17ea6fb5dbb3838aL,0x192eca92b425af89L,0x5fd3bfcf85a94659L,
  91609. 0x8d75b3f5daa4b4ccL,0xbacc18b89bee144fL,0x57591774ff60ec49L,
  91610. 0x319cba952363ac43L,0x6c0d079e472ee36cL,0x00000000000000f0L } },
  91611. /* 0 << 273 */
  91612. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  91613. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  91614. /* 1 << 273 */
  91615. { { 0x28cd16ce7333eea3L,0x601ab611845655fcL,0xf18179d957ed4bf8L,
  91616. 0xa704b004172167c2L,0xe22ec70382e3fcf3L,0x4cd9bd0de64c4745L,
  91617. 0xd1eb58dfec9737e7L,0x540c29e8e6658aacL,0x0000000000000124L },
  91618. { 0x4f35d47d4b18bb58L,0x3ee2a66ad4be21bcL,0x9d3d69a1052b60fdL,
  91619. 0x556347ef8f07eb0dL,0x66014006165af89bL,0x808eb84331e62cc0L,
  91620. 0xfd119574309553a1L,0x4945b9cd7656234dL,0x0000000000000060L } },
  91621. /* 2 << 273 */
  91622. { { 0x05bfabadb30c227fL,0x163a01129ca0d9f2L,0x448f630b4a448ffaL,
  91623. 0x7a304fdcf52d44f0L,0x4ceb9902f50356e7L,0xe7615ab1c43b436bL,
  91624. 0x9fd56374d63f192dL,0x38470c8f418bd616L,0x00000000000000d1L },
  91625. { 0x4b42c1459554d529L,0x5556cf8b2bfe7bc9L,0xe28b6f8994eb909cL,
  91626. 0xc00748ee637dcaabL,0xf71e0fcffc076bf8L,0x57642f92b580d617L,
  91627. 0x755fdf2e1d91f20cL,0x9c3c9c86dd5ab14eL,0x0000000000000187L } },
  91628. /* 3 << 273 */
  91629. { { 0x8dfa447387950112L,0xd032940ae8d5c1aaL,0xeb909e673379771dL,
  91630. 0xe780d40da336a4f3L,0x318e1a69ce022106L,0x36b6b1748702e3c8L,
  91631. 0x327e8db4f8e60cedL,0x9c1a790b8380c97eL,0x000000000000008fL },
  91632. { 0x8eec3caac6534a9aL,0x650fa0d556cfdcf4L,0xfe45e2ce58c3798cL,
  91633. 0x320fac25a60e6872L,0xb399ec98ef983104L,0x133c9f01be57c16eL,
  91634. 0x9736e7543b73b0a7L,0x12c0ce90b48f9618L,0x0000000000000155L } },
  91635. /* 4 << 273 */
  91636. { { 0x2ff940bfa7c8fc21L,0x9b3cbeeea6a86c6bL,0x5cd96c7d171573a2L,
  91637. 0x49bb08e812cb3013L,0xddba493e34b92d91L,0xa56f49a5ef35e196L,
  91638. 0x7a454c1c2cdca6c3L,0xb9c038ae684d25fcL,0x00000000000001b7L },
  91639. { 0x15adc72daf46c7eeL,0x21450db25eaf9891L,0x115517e153a32b0aL,
  91640. 0x5bd9d862e26d8171L,0x991737bf3f8e37e8L,0xcbb33580531a836dL,
  91641. 0x96aff0213d976493L,0x9be26568ca69b662L,0x00000000000000beL } },
  91642. /* 5 << 273 */
  91643. { { 0x32d089edecfa97e6L,0x9bf82c96b9f080c2L,0xf1798cd9af6bf9aeL,
  91644. 0xa111bd63cc9b8764L,0x9d1aebb4295a4931L,0x37f6c9ac32442dc0L,
  91645. 0x3785c17e6d6b2b32L,0xae63aea3ccbaa5adL,0x00000000000000e9L },
  91646. { 0xc2207aa55718e310L,0x5aaede6c9004a15fL,0x07e98d521a4b7f1bL,
  91647. 0x351eca4df3f71723L,0x0026164672a30c08L,0x838f24ecf46357d8L,
  91648. 0xa8278e1a05348650L,0x402ee68e10ec3795L,0x00000000000001e9L } },
  91649. /* 6 << 273 */
  91650. { { 0x91955973e33296fcL,0x83dc2cea4212671bL,0x59b7959a3ef3d3ddL,
  91651. 0xad706c14147b4051L,0xff0e938e46217be6L,0x3550f6ba963236afL,
  91652. 0x26a254a435de4d64L,0x829799ebd3fb0643L,0x0000000000000194L },
  91653. { 0x30dcbccb348f4e93L,0x1211c003aaa258acL,0x9d8500d9383698a3L,
  91654. 0xc2c4310a530725faL,0x6f60e024d88235feL,0x1bcdbca5715c563aL,
  91655. 0x2100b4b2000501c5L,0x9f483a0505c8bf39L,0x00000000000001f5L } },
  91656. /* 7 << 273 */
  91657. { { 0x618d04f0001b7109L,0xc5cbefa8a94e8a9cL,0xd5f0e7b20aed80f2L,
  91658. 0x9c876050cd2e2661L,0x18a046bbe3f15e9bL,0x3568d9e165664a6bL,
  91659. 0x8ef9c3b4b0b7229eL,0xa779b68d66dde1eeL,0x00000000000000dfL },
  91660. { 0x9997a707b3465741L,0x28192afa90f61124L,0xea06c8b89ace2e5bL,
  91661. 0x208f1ad1acb7cf35L,0x1ac49e4ae569efa2L,0x7daffa0f8368ecb8L,
  91662. 0xc559483f40e4879bL,0x8de74638753b0b83L,0x00000000000000e5L } },
  91663. /* 8 << 273 */
  91664. { { 0x51db2d9d07207165L,0xc7d56a41c3d4c59cL,0xa47fadda4e278b0eL,
  91665. 0x5c3964e204ffc588L,0x52bc9f389719ecfdL,0x2c9292c035a04049L,
  91666. 0x885ff9bafae7580eL,0x2319a2dcd5cc866eL,0x000000000000015cL },
  91667. { 0x8b77ddb70ae9af6eL,0x0e21b050dd7fd36cL,0x35d968ecdc8b9c19L,
  91668. 0x6f3f0785a624ad4fL,0x97778a681d42c97eL,0x86103bf0a2a4342cL,
  91669. 0x0aef36fd3ababc35L,0x46c8fb212fe10364L,0x00000000000001e1L } },
  91670. /* 9 << 273 */
  91671. { { 0x21488bccf8cbba8bL,0x6cd7d298c6cd24b8L,0x0c83f3ee5de8e8e5L,
  91672. 0xdf29c9784582fcabL,0x7024c1526806aafcL,0x979cd4ff958067f2L,
  91673. 0xc13fbc7c8cde09dbL,0xd468e6f5da3a5090L,0x000000000000000dL },
  91674. { 0x1ba673a47757fef1L,0x6992b5485070e0e7L,0x8b2c42327acfd5ccL,
  91675. 0x27210f84a508dedaL,0x883d6e39c2629e49L,0x1b83cba19e7dd61dL,
  91676. 0x455f212a4f2bee2aL,0xed70ce46ee719f5fL,0x0000000000000182L } },
  91677. /* 10 << 273 */
  91678. { { 0x5c3a0ed97adc9d29L,0x37ad64e4796a4dc2L,0x0d5920486ce3c6a8L,
  91679. 0x2f5d313d166ba729L,0xda128b7bb5ea827fL,0x97c63821f4a68914L,
  91680. 0x35a2d15501c3f074L,0x07fa2fb4b80123e9L,0x000000000000004aL },
  91681. { 0x408d54c34c208ee5L,0x75119aa6b2f910c3L,0x424a684d1453eecdL,
  91682. 0x800c87a64e1cc60cL,0x1ca02fe5f835f438L,0x019870df716b0991L,
  91683. 0x94e36e623cf7b652L,0x45cc33a25dabec4cL,0x0000000000000019L } },
  91684. /* 11 << 273 */
  91685. { { 0x304d81e391a9d18eL,0x152664f7aa95f5c9L,0x6507a739a51eeedcL,
  91686. 0x77d8c41271aadc19L,0xf9908b36a7b6ba22L,0x8b2dd6ce2d5c2f59L,
  91687. 0x38f2787cb66f5e0dL,0xccd13ca9b2c40bf0L,0x000000000000012dL },
  91688. { 0x1887e4a728b4694dL,0x417981e3a25eec32L,0xe07f28ff6490e81dL,
  91689. 0xd2ba6c79f00abe64L,0xe0af21fccddfeb36L,0x82fbcfeb986898d3L,
  91690. 0xae77cb38e0718462L,0x0818cb63fba01b54L,0x0000000000000193L } },
  91691. /* 12 << 273 */
  91692. { { 0x188c77cc75eccbbdL,0x424f7ec52aa03503L,0xfa5819b9c8fde26bL,
  91693. 0x70a39f9b566dae00L,0x70ea7dfba22f5199L,0x502f681e60b863e4L,
  91694. 0x0fd204ff4581af1cL,0x536f4b875d1aa7e9L,0x0000000000000044L },
  91695. { 0x52d311fb5713fa2eL,0x28d3afee2b0af3a0L,0x82aca5d14dec093bL,
  91696. 0x9d6a3856a946f620L,0x91eb4618e32ae798L,0x62580350783bff5cL,
  91697. 0x610110e5b76e4c61L,0x76287f2f3c2ae4aeL,0x000000000000002aL } },
  91698. /* 13 << 273 */
  91699. { { 0xdc5bba7b75716569L,0x41487a141dac5c65L,0x36e2a740b5c823e7L,
  91700. 0xe40d249065e0b210L,0x77d4708f8839779dL,0x879b9a4ba1d7eab5L,
  91701. 0xb3409669311b4f51L,0x6d1899fe423b3b2fL,0x00000000000001e1L },
  91702. { 0x2d351db99db2b624L,0x7143d053d054c63fL,0x3ad8fce9c5ae5097L,
  91703. 0x98ac8ae089757358L,0xcbb20672ee232061L,0xf703f203c02c786cL,
  91704. 0x9f7f153b2f4907aaL,0x2b2d7f4056eeb499L,0x00000000000000dfL } },
  91705. /* 14 << 273 */
  91706. { { 0x5054d6c0d4daec55L,0xe75aaa4d2d795df2L,0xa72ffe306da506adL,
  91707. 0xe019fd58e375432eL,0x9827f72b4fde3a24L,0x54f713e42a3320a5L,
  91708. 0x41408596baa1f5f6L,0x9c42b30fc65b3ff9L,0x0000000000000038L },
  91709. { 0x1b36dca6031dba90L,0x5e80043e0c0c3559L,0x17a387f6a3a6c663L,
  91710. 0xc9a8c64f000711d6L,0x304a1f4178156da7L,0xdc5de4a9cbdd6bd9L,
  91711. 0xf65f6d1a599ddcc9L,0x591e35e24c1e3e7aL,0x00000000000001afL } },
  91712. /* 15 << 273 */
  91713. { { 0x8a775e63fc349e8dL,0x25de6478e3b39a51L,0x1962bc0927ae51faL,
  91714. 0x7d3cc7f79952670cL,0x9a09a697059050f0L,0x392dbf4355234066L,
  91715. 0x1cbff05524efc89bL,0x68a50b092f805012L,0x0000000000000078L },
  91716. { 0x1c48213e47bef4e3L,0xae844a2a0d5e95d2L,0x95f0efc014c40369L,
  91717. 0x0e1d7c2d59ee29dfL,0x1ed16e33d68d68f3L,0x0c54c8d47babfe13L,
  91718. 0x155a3aa83b036552L,0xd9fd099e9efafce5L,0x0000000000000123L } },
  91719. /* 16 << 273 */
  91720. { { 0x2fe08a10462e6862L,0xa86db08f35ca4eceL,0x4af069a05960b9c7L,
  91721. 0x9f0086014c7fbbe4L,0xfe91aaab59bcd54fL,0xbb6cd66467a1bc8aL,
  91722. 0xf3b3590354ab69bcL,0x2d5b1227ff914c06L,0x00000000000000f9L },
  91723. { 0x22226588f7d5ac27L,0x5bf4d921d14893e4L,0xa0a5c850c384f172L,
  91724. 0xc5deff764351441cL,0x9cba07b4539d45baL,0x324345620a80ae0dL,
  91725. 0x0e144257bb44f664L,0x1c5c19c163da2750L,0x00000000000001a4L } },
  91726. /* 17 << 273 */
  91727. { { 0x51e56fd2377fe385L,0xd7492e760b164c7fL,0x2f6b60c80ef96709L,
  91728. 0x9b0711e5922f73a4L,0x94778ad3f280a8eeL,0x64c426437a4bcefdL,
  91729. 0xb0c26afc659c9918L,0x82ee9fab35019434L,0x0000000000000074L },
  91730. { 0x3d35f4ad7e800ff4L,0x238e7f313d01d6ceL,0x172c4169e901ebbaL,
  91731. 0x3232f5673a643a41L,0x4c6f397f79701e48L,0xc8b78dae42cb8029L,
  91732. 0x456590ca23d30eb2L,0x4822aa96ecef86a1L,0x0000000000000136L } },
  91733. /* 18 << 273 */
  91734. { { 0x2827509940aa836bL,0x4ff61db18e6dfe44L,0x8402c1a4b2ff8beaL,
  91735. 0x35306c0483432ff2L,0x038990de7e604bd8L,0x24c5056d94db9d3fL,
  91736. 0xe7b9a01fdf1dc845L,0x10d538b1c5918c0aL,0x00000000000000a5L },
  91737. { 0x1d80e8bd54959824L,0xcb6fd66c89a5d7e9L,0xf3af6940860e3fdfL,
  91738. 0x421ce5e8563137c7L,0x03e6f677661866ecL,0x71e09e4b5276a885L,
  91739. 0x915f8f97aa9aeb74L,0xa95c50572cc76508L,0x000000000000001aL } },
  91740. /* 19 << 273 */
  91741. { { 0xb3809974fb81dcebL,0x04c8b5f63319a12aL,0xfb0f28c8888e81bcL,
  91742. 0xacbe4a1d2ad580c5L,0x98364afc0bb15f66L,0x989e8123ad9238a6L,
  91743. 0x1c447ce56b1c3603L,0x5aefd392295aa36aL,0x00000000000001c2L },
  91744. { 0x9710f3e830cc890fL,0x7282afbae4c45659L,0x14ca9438c207839cL,
  91745. 0x1ed458d898c2b015L,0x3f2a4c7af1ba2f97L,0xd9a0fd1c44908498L,
  91746. 0xde8553a737b341a7L,0x2da1c2272e563011L,0x0000000000000140L } },
  91747. /* 20 << 273 */
  91748. { { 0x73d2ec27a3fa7b6aL,0x97ae7b3a601abb5eL,0xd42c967294f25a78L,
  91749. 0x9516e3b715a54045L,0xae7bcc8d6b889d29L,0x1cde169f55b50252L,
  91750. 0x52e0bd3767c5274dL,0x8784031d2ef34a50L,0x00000000000001ffL },
  91751. { 0x8993fe21afdcf8acL,0x09332a37f854b7d7L,0x7e59ab356cf0ef3dL,
  91752. 0x296081d775691e53L,0xadab7d8697d96038L,0xd517a740df09ba1eL,
  91753. 0x0883ca2d330b20e9L,0x930bfd5f43b56a48L,0x00000000000000bcL } },
  91754. /* 21 << 273 */
  91755. { { 0x8f9362b782308867L,0x4c617f3d2b121634L,0x7128d265a0c31abeL,
  91756. 0xb149770ec374c526L,0xa30771d74c5ecbefL,0xabdc769627acda27L,
  91757. 0xc258797b6450a1feL,0x8f0ac6d683044b48L,0x00000000000000b0L },
  91758. { 0x92e7643b6ce14f0dL,0xbb0cc016cc8cf431L,0x7a9fce4ef1056d87L,
  91759. 0x7ebc00349fd21abcL,0x76ad91162c8c09ecL,0x38a51d4d3b161bedL,
  91760. 0xe1f7286b9a9b8590L,0xd2bef39669822c45L,0x00000000000001e4L } },
  91761. /* 22 << 273 */
  91762. { { 0xceeadc92e3dba9dbL,0xd218a237a95c8cffL,0x03302b21eaf709daL,
  91763. 0xbf3e305a8111468bL,0x72ab2ec07e82860bL,0x1a2df5a3e186f8f4L,
  91764. 0x12579936f1a95aecL,0x61e2b1e1c19a4e2eL,0x0000000000000000L },
  91765. { 0xcc6802561edb4b21L,0x73d87649d7bdc78eL,0xe440ad1918073608L,
  91766. 0x016ef0c7d90974abL,0xa466d5335c7e0663L,0x2885493eee21a1a9L,
  91767. 0xf459216a2e4d05c1L,0x6dbce2c807a94608L,0x00000000000000c1L } },
  91768. /* 23 << 273 */
  91769. { { 0xfaac87ee84d6cef3L,0xd90ce8f916e9316aL,0xb90a157b7c9c7338L,
  91770. 0xed9b08d2005e1b8bL,0x2439244636898a59L,0xa6ca07901c2f7350L,
  91771. 0x9a93d39ad9447b26L,0x56acad519cb4c8a9L,0x0000000000000051L },
  91772. { 0xf8f0216874848490L,0xa86f9dc8d08c617aL,0x49b48bf8a0731a33L,
  91773. 0x78126e62538afcd6L,0x40cde5c8ed4d2ea8L,0x254dee95831e1aebL,
  91774. 0x7532ce3731639537L,0x27fe56322d4f834cL,0x000000000000012aL } },
  91775. /* 24 << 273 */
  91776. { { 0x604b730ef1ebe533L,0x336e362e0b4b9191L,0x246e5c1ab711e872L,
  91777. 0x652dc2c1f46e3f97L,0xc3492e151398e328L,0xd85f2669475cd2bfL,
  91778. 0xb4b28424a3c972bbL,0xf3d5711649a9ac4eL,0x0000000000000148L },
  91779. { 0x2a5e5f5425e365feL,0x9202ddff6abd415aL,0x314e872acb24f45aL,
  91780. 0xced1dcd9b7bcc7d1L,0x0d39cf240377ce8fL,0x75eb96c9d1065414L,
  91781. 0x984b4a459fe0ee9aL,0x8237616704703ab1L,0x000000000000011fL } },
  91782. /* 25 << 273 */
  91783. { { 0x2839ff0b73edf179L,0x0c86f7213c27933eL,0x0635f21660380a50L,
  91784. 0xe30ac47e08978124L,0x9ef7580ca3c4c0c9L,0xfe842e3b5c323f9dL,
  91785. 0x320eb96f2322e2a9L,0x37e518f3ea489b6cL,0x00000000000000e9L },
  91786. { 0x382199260b9d992eL,0xd96ade19441272a1L,0xddfb5d87ff188af1L,
  91787. 0x0bb3a1d0afbb820bL,0xc81b98b73d9f94e9L,0x9fd45fcc0f4b8cbbL,
  91788. 0x2b2e3a3ac5127190L,0x92c22ecf750fda83L,0x0000000000000047L } },
  91789. /* 26 << 273 */
  91790. { { 0x614ba6ccc44776c1L,0x80fede5815132829L,0xd69d5d613359d3ecL,
  91791. 0xf302a63e0d76029fL,0x201938b1bc711f3fL,0x1e7db241764f0544L,
  91792. 0x466d273d60c27af9L,0x472d12f244190095L,0x0000000000000027L },
  91793. { 0xb30bbbad213788c2L,0x64d2b58670427068L,0xa0040d46f4c71bcbL,
  91794. 0x025d2898a6fb55daL,0x8f6bb191b5d4d6c2L,0xd9899a763ad65acfL,
  91795. 0x08acb6e19fea8d7aL,0x75cd5e5c63dd79b2L,0x00000000000000a9L } },
  91796. /* 27 << 273 */
  91797. { { 0x217ede5bae998a64L,0xb49ddfe7f6bdf2a7L,0x27344e0df7b9fd0fL,
  91798. 0x6692431a88552d89L,0xf22f33be0cc964fdL,0x56140230df10ab05L,
  91799. 0xded604f02c79339eL,0xeb4b1cedf36bd72aL,0x0000000000000079L },
  91800. { 0xba2b0ff9f7844c49L,0xbda1e2396fb21a72L,0xe9ac028a95fb942eL,
  91801. 0x33324e2b37bffacaL,0xb5068cc3dcce1f97L,0x3cf1b594dd4cc89aL,
  91802. 0x65c4fd79ab81d662L,0xffd08615372b50fdL,0x000000000000018eL } },
  91803. /* 28 << 273 */
  91804. { { 0x06b3e15d5771af61L,0x1235e2b0a0b64d87L,0x5454afd261821972L,
  91805. 0x94396699d6c76c37L,0x2aac7459c61d6be6L,0x94893168ca05d3cdL,
  91806. 0x8d77047bc2250b78L,0x9adb6b8db1a06efaL,0x00000000000000c4L },
  91807. { 0x8cbe58961a7b33a1L,0xd75a2d7bd83f7033L,0xe81731f314f445d2L,
  91808. 0xe905889593c865f8L,0x6caea833605f5264L,0x96df9656e3b6d3dcL,
  91809. 0xe7afb0760b224f18L,0x4cb4c72107aa123fL,0x0000000000000090L } },
  91810. /* 29 << 273 */
  91811. { { 0xaded87ed9d1637d6L,0x6d5d5b3b694a536fL,0x6aba5271494ef964L,
  91812. 0x5a9d8207f899f7acL,0xb426737cd77bd7d8L,0xe8de83bc8e7761fcL,
  91813. 0x99f09dab881d65f4L,0x145efe113369e1a4L,0x0000000000000084L },
  91814. { 0x385830fac6470ecaL,0x08d8e0664a415836L,0xbac25039b5241a86L,
  91815. 0xf02ed14198be6a68L,0x172cbd25fb41f819L,0x8e8c6c3ec0a203c3L,
  91816. 0x4a7861303316f5ceL,0x0e5195fb1ecc5915L,0x000000000000012fL } },
  91817. /* 30 << 273 */
  91818. { { 0xb067305d41f4e9eeL,0xe2c3afab7b26ad35L,0x620dc76da158082aL,
  91819. 0x13e8afcc03213e9fL,0x64018f55c12946a4L,0x770066dd8c4c89cfL,
  91820. 0xa07b753efbe52d37L,0x79cec78b7424b86aL,0x0000000000000072L },
  91821. { 0x5ec514f1a5dc80a7L,0x7e70e414c049c348L,0xc3daf2f2eebcac00L,
  91822. 0x0f49f8a703563a24L,0xc36c093204e789e6L,0x6c17a7c02b59bbd2L,
  91823. 0x3a84fc9dc6cb7b49L,0x05e1457e0de6085aL,0x0000000000000109L } },
  91824. /* 31 << 273 */
  91825. { { 0xc90eb31fc17d94b2L,0x8ed3a7945e87b6dbL,0x85ebc38150d82b3cL,
  91826. 0xc906cf47dfff4d95L,0x122b7a67f28fdcdcL,0x96bd35386bf4a9acL,
  91827. 0x67788dc93f96461fL,0x982412df832f92faL,0x000000000000007fL },
  91828. { 0x5eaf69178324dd6fL,0xbd5ae389c8093147L,0x1c19b1917939568aL,
  91829. 0x5fc18a88e5600018L,0x5c483792b28ac566L,0xd15eaaac13b67938L,
  91830. 0x3ad1d25e8cab3ebbL,0x6e68deb0247e9904L,0x0000000000000031L } },
  91831. /* 32 << 273 */
  91832. { { 0x2347e38373435eb6L,0x75563e7858ea9f89L,0x20ccb854efa62cb9L,
  91833. 0xdac97aec1cc86c06L,0xbe99c357f432d1b4L,0xcd89da561c2e03f6L,
  91834. 0x7e424afda789af68L,0xc386d1bf401f225dL,0x000000000000009fL },
  91835. { 0x46f9bdbba1a12ca1L,0x489bdf59a6469919L,0x94ad85a73974bf6eL,
  91836. 0xa7fe1c85c9fde759L,0xa26931a072b3c209L,0xbd5b56203db247ccL,
  91837. 0x9ecb8a741085c481L,0x9134bbd1ea48e281L,0x00000000000001dbL } },
  91838. /* 33 << 273 */
  91839. { { 0x10689653e6397251L,0xd36ab8d90f9f0184L,0xa8c95b34a5da43efL,
  91840. 0x1920d31fb6e047b5L,0x0dd12f4ce1469d06L,0x94efeb8c3cdee90dL,
  91841. 0xf6b42234490b18f4L,0x4ffd0c3f9d9c97d9L,0x0000000000000165L },
  91842. { 0x04db694b8907f755L,0x1297a489cab5d47fL,0x531adce1572fba2fL,
  91843. 0x63960f81014224ecL,0x61175880c4a771a5L,0xbb9116fd2941f7a3L,
  91844. 0x04047b18a59d986aL,0x671b243166eb690cL,0x000000000000000eL } },
  91845. /* 34 << 273 */
  91846. { { 0x9db986ad8855ba41L,0xc106268894b3744eL,0xa92f7d8b15201d6cL,
  91847. 0xe1e9769008782567L,0xc9bfc18a482f9905L,0xcc6569b1f54a18e0L,
  91848. 0xd623f6e0ad8f5366L,0xb312dc0c5852a673L,0x0000000000000024L },
  91849. { 0x82a24990455c2368L,0x77771a72791c090eL,0xbbcd5223698071e5L,
  91850. 0x4877919b2f7dbcb9L,0xb5b54e4e8622b142L,0x6c0f9b68c924f541L,
  91851. 0x40f658639de92f6aL,0xd1b03e4e626f28ffL,0x00000000000001aeL } },
  91852. /* 35 << 273 */
  91853. { { 0xe357497c44f788aaL,0xeb886a8f9952cd9fL,0xaabac389c4d3a590L,
  91854. 0xaf02fe81b2782010L,0x4cb27146ec5da884L,0x7104f1641074d877L,
  91855. 0x3c049a5c4bcda0fbL,0xcf680a9200118890L,0x000000000000005aL },
  91856. { 0x76ea5fa1d2ca967bL,0xc8e6d78fb8d792d3L,0x203e8ca7e4fb3e32L,
  91857. 0x80a8f1e34959b68bL,0x3b5a8c7f0165eb1eL,0xbe35a03d5c518971L,
  91858. 0x815cc58c3dff7dceL,0xf4684b055909c47bL,0x0000000000000065L } },
  91859. /* 36 << 273 */
  91860. { { 0x7a8173004fabf449L,0x73b582d840f2b2a9L,0x3a3d45a8c970d55dL,
  91861. 0x4b929ad041a73083L,0xc39402f969c262bcL,0xdbc16a80f9b3d2cbL,
  91862. 0xf9abdf398d4fd1cbL,0xb3b5baa009125d99L,0x00000000000000afL },
  91863. { 0xe8d916331263ea71L,0x34f37faa9afe25feL,0xe00102248d62a061L,
  91864. 0xfd4ac0ee89324085L,0x1ad23c7839425188L,0x3e04ce94f9b054feL,
  91865. 0xad2630664ba78a71L,0x1be2291a86fdcda7L,0x00000000000000baL } },
  91866. /* 37 << 273 */
  91867. { { 0x6acd94de05e1e1f4L,0x673190a0645a2a41L,0xa35fc575310fafd6L,
  91868. 0x3ac9c62230e58773L,0xb82a873cb07d1795L,0xe9946d72a34ccba6L,
  91869. 0x46c81998a6222e44L,0x2ff50bbcc8faabe8L,0x00000000000000d4L },
  91870. { 0xa0b601a6786a9817L,0x93b775763e461079L,0x97ef405844808435L,
  91871. 0xf5a7b80c1199d980L,0x9e41ce271e84febbL,0x208a021be7f836e4L,
  91872. 0x58bf3f9231e33980L,0x00755fc7899562edL,0x0000000000000117L } },
  91873. /* 38 << 273 */
  91874. { { 0xdd5761c511676ffeL,0xb0cce6b697334331L,0x0cce322c7ef96ef9L,
  91875. 0x79fc56838c450809L,0xac7ad874bad8c85cL,0x41f7958cc41af040L,
  91876. 0xf491765edf1245d8L,0x02e26e6ccfceb02aL,0x0000000000000039L },
  91877. { 0xb1abbef48131e277L,0x7aa601fe63dca0d7L,0xb2c6c9b5d7e372dfL,
  91878. 0x0b7298ad989af18aL,0xc7f3a5e3d5fe8f67L,0x769001fffde1066eL,
  91879. 0xe10fded0dda36343L,0xa92f0d1b15d0522fL,0x0000000000000131L } },
  91880. /* 39 << 273 */
  91881. { { 0x6c1a6c256f3eef55L,0xb08580701c18b346L,0xce1c87968b4446ceL,
  91882. 0xf17d9053e23c4f17L,0x327e132e89f21512L,0x205508fe284e94ebL,
  91883. 0x1e62dda7f24fbc99L,0x344bbe262d39e997L,0x0000000000000060L },
  91884. { 0x770d0acb3035df5fL,0xdcd8b49049761501L,0x632b7d51ee075e78L,
  91885. 0x6d945e49b47d9adbL,0x0f8c0b321d0ed89eL,0xc279b05c89cac70aL,
  91886. 0xa227cc73353633eeL,0x925d141639a4d0deL,0x0000000000000046L } },
  91887. /* 40 << 273 */
  91888. { { 0xad4f18816bb2c3b8L,0xd45f9a0cd380ca18L,0xfb839dafaca25641L,
  91889. 0xb89884f27e519019L,0xde295e5458cd6c25L,0x1bc5070e25a1e8cbL,
  91890. 0x66f1635747c21e93L,0x379e8f32a4bddfa8L,0x0000000000000108L },
  91891. { 0x9141ea4e87cc4a52L,0x285cbaf972cff2ebL,0x27898f4df492be77L,
  91892. 0xd49d035f223c8859L,0x763866c2726065cbL,0x0886e8d5b2eb9e8aL,
  91893. 0x7deb06b31f70bf7bL,0x8ce6bcb7889d3e33L,0x0000000000000060L } },
  91894. /* 41 << 273 */
  91895. { { 0x271a04f88ce4f4b0L,0x2414550726b4b7f8L,0x159a895bbef3547bL,
  91896. 0x3c71622e5db5a5f9L,0x7ea8523192ece243L,0x65c89b75bc972333L,
  91897. 0x936ef797fc711efdL,0x05b810c7af98632fL,0x00000000000001b8L },
  91898. { 0x233474cfdbe53feeL,0x13f02ed581983f5cL,0x26f0244eb5c5b790L,
  91899. 0xc39151490fd4b89aL,0x5d5731029a9ff308L,0xaa9ca0826b5e3103L,
  91900. 0xcae619b710f4837cL,0xcd1617e2cf88ff6eL,0x00000000000000c5L } },
  91901. /* 42 << 273 */
  91902. { { 0x1b012cc6fcc7c3d5L,0x02b9f445dde71f72L,0x5f2cfd665a2000beL,
  91903. 0xfd676315c8780139L,0xa594ecd3ae9b27dbL,0x9b06895afd3cedc4L,
  91904. 0x0d532a0d1a268fffL,0xe06bfde60dfb1337L,0x0000000000000103L },
  91905. { 0xaa0a8cfdfbe7f2e7L,0xb2eddfb7adf3624cL,0x452e0b4fddeeeaa1L,
  91906. 0x4bc994baa46e664cL,0x2bd9645ea0eac15eL,0x4d34b0e75e550962L,
  91907. 0x6295f4a1697c8f01L,0x778a20923c08aab6L,0x00000000000000a5L } },
  91908. /* 43 << 273 */
  91909. { { 0xc4b1b87656477894L,0x9f8b9485bc8ff924L,0x55fa6ad5e675d0aaL,
  91910. 0x27cc06eb926549deL,0xa53fe770d61fa7adL,0xb407e08f8fd62473L,
  91911. 0x4c2c03f2a92b75d5L,0x810deda5009ca888L,0x000000000000016fL },
  91912. { 0x0f8e637dcca00512L,0xb195a15968dd81afL,0x44a70f986b904e07L,
  91913. 0xb264193f52c9eb87L,0x5e838f6fe75cd8fdL,0xd25d4157a7123b3dL,
  91914. 0xc6a13879cc52e032L,0xdda5d51ccffcbb8bL,0x00000000000001c7L } },
  91915. /* 44 << 273 */
  91916. { { 0xc7879147afb7d394L,0x8ec1b7fd4fb2b482L,0x955ea97dbd72c391L,
  91917. 0x9c5c1ec6cdb4e57cL,0xeda7ae96723ade30L,0xc27b17b48054db82L,
  91918. 0x0d1e386b91170eb1L,0xc6366e519aa3db3dL,0x000000000000002fL },
  91919. { 0x710fde5f6111f40cL,0xd231d1b3fd9de6f7L,0x9cbca1b1a15652beL,
  91920. 0x1d1b5b4d0a93c0b0L,0x29f6c799dc4c3234L,0xc414ea5fcda6aad7L,
  91921. 0x7c44805f3ead0e82L,0x1eea7f63e86c4877L,0x0000000000000036L } },
  91922. /* 45 << 273 */
  91923. { { 0xea03e06e6909b7b5L,0x1eb59e94dd60ebe2L,0x34dbf67688d4c7b9L,
  91924. 0x45027f88f72d9b9dL,0x31b1f57995e61759L,0x61dfe2f6d4650f5eL,
  91925. 0xbd0d212d6d0b74f4L,0x3f9948eb48083b0aL,0x0000000000000013L },
  91926. { 0x2bc49a766742cc59L,0xf83f88b2df5d4832L,0x3334aa91a688f8eeL,
  91927. 0x8a225b1d50913867L,0xe3d0925b9f5830baL,0xdef272bc88056d19L,
  91928. 0x22310572a90551e7L,0x5be1f7e622653c85L,0x0000000000000164L } },
  91929. /* 46 << 273 */
  91930. { { 0xc39065a8339a9d0aL,0x003e9b1e5ed50927L,0x1bddb64990510e1cL,
  91931. 0xc9cd7f8305bf885aL,0x1f6f6b26c677e374L,0x22c8e14499d0ce42L,
  91932. 0xe73b3c75760954c0L,0x8f1169532abfdac1L,0x00000000000000a7L },
  91933. { 0xcb29557273c46650L,0x9eadcd045832208cL,0x81a07d4b6a6f83b0L,
  91934. 0xddf5c6863ab3dd60L,0x8f79004b68e2062aL,0x4dcc7bc7d2487a89L,
  91935. 0x23a734b65d1fc56bL,0x8bd92ff31445da6cL,0x00000000000000beL } },
  91936. /* 47 << 273 */
  91937. { { 0x2484e9b86f9d25d5L,0x15a3eef11bb1562fL,0x2877237285a8fdc1L,
  91938. 0xbdbe7ba434f5a652L,0xddef4b0751555a0cL,0x9ce61078fb946931L,
  91939. 0x3f96d51e4a63b946L,0x870c89e539f2af27L,0x00000000000001a6L },
  91940. { 0x502642ad8155bbecL,0xf6405faf03db10e1L,0xe8a6560fa29bb9c3L,
  91941. 0xe50d29554c3a2c35L,0xcde535401a0decc4L,0xbba9da77090bedf9L,
  91942. 0x14ae1323a72b5b8fL,0x21a90f4992c11268L,0x0000000000000167L } },
  91943. /* 48 << 273 */
  91944. { { 0x0a65feba78bb30f6L,0x0235d91a50eabf36L,0x0b8ec4a4cd2d934dL,
  91945. 0xa122f10b8dfcce34L,0xc3c86b639b2e6536L,0xb8002fac84962539L,
  91946. 0xa6893cfbf6d36ba4L,0x280e9d60dccb7f1fL,0x0000000000000072L },
  91947. { 0xcbb4609e279551b6L,0xc6e893884b03a718L,0xdf62f063744dc7e2L,
  91948. 0x1799ea3e4146ea10L,0x73d8cef29ecd77ceL,0x2b87c10eb2229d1fL,
  91949. 0xe9d08175cabfdf74L,0xed1d16a83f0d60c4L,0x00000000000000ecL } },
  91950. /* 49 << 273 */
  91951. { { 0x2631e8bd95df30c9L,0x247fec887ec7359eL,0x37b1e3913bc00041L,
  91952. 0xcbe855f3b87062faL,0xd338fd26481816c3L,0x0d8dd09ad0f19ebfL,
  91953. 0x2741bf86ddff6006L,0xaef4f2e5495cc8cfL,0x00000000000001aeL },
  91954. { 0xeb8c8ac5a59d77bfL,0x63e588b77c3fc77aL,0xbeea43ed5d00f92dL,
  91955. 0x8dff885a80169336L,0x5c0cef670a35b365L,0x4c61a43ba705b9e9L,
  91956. 0xe95772c54a8c46f8L,0x0d81ff84829ff66bL,0x000000000000005dL } },
  91957. /* 50 << 273 */
  91958. { { 0x3dc4ad30a16aec5bL,0x9cf3022a8eb3ec7bL,0xd940cce316b6219fL,
  91959. 0x6324514378a15c73L,0xa70b4f69107ecdeaL,0x3ac7eb803b2bfeddL,
  91960. 0xee677c763137afceL,0x9686744c986c1392L,0x0000000000000115L },
  91961. { 0x9db83670d591110eL,0xfdc8ae98d29a560cL,0x0e27d3c0f840aed9L,
  91962. 0x98bce3eb7e127e30L,0x7c1bb6b9184ba73eL,0x410c3f4f986eb84aL,
  91963. 0x8c28448dac4caa8bL,0x2e3c82365a3618ccL,0x0000000000000101L } },
  91964. /* 51 << 273 */
  91965. { { 0xbf1dd991bb37b704L,0xb36ed5ae0cd09760L,0xd9750a8697aa7d3eL,
  91966. 0xd1a27c2cc8a95b0fL,0x399937693893c07cL,0xb85a62c28ba9319aL,
  91967. 0xc233630451b89005L,0x1c942e9fef7a20a2L,0x00000000000001c2L },
  91968. { 0x291509822572cb48L,0xe1ca81031d0b9df4L,0xfb70c750ba52c264L,
  91969. 0x4cf3fb966bd2e72dL,0x04b65b4daf9a2bcfL,0x56eaf0f7db2205e2L,
  91970. 0x5551b3333466cfadL,0x886b3275c55a1b10L,0x0000000000000139L } },
  91971. /* 52 << 273 */
  91972. { { 0xa976f5a2f8701332L,0x203dc2057771c835L,0xb1c541bde425fcc5L,
  91973. 0xbe9921205c2cb7eeL,0x300e2b0279278283L,0x24b80fbfc88d605bL,
  91974. 0xfd23544c3006aa2dL,0x1a212c5fd593c6d4L,0x0000000000000103L },
  91975. { 0xd9fe69f1ca88f548L,0xf2e065d1a37c6e22L,0x5804ff61e43ecc0bL,
  91976. 0x34abcb423becc85eL,0x7d223605fd8e1751L,0xa2a0ea503b76b819L,
  91977. 0x6c7b9dfe147f6beeL,0x8db65fbd3be2fcbdL,0x0000000000000178L } },
  91978. /* 53 << 273 */
  91979. { { 0x633d962c0c9fe7cdL,0x8fb7af4e05e74840L,0xb9cfda5ce5228fe1L,
  91980. 0xcacff0b65199eb36L,0xb9ac48c7b6155dc2L,0xd147c6d3300bab8cL,
  91981. 0x4f58e235a5034c42L,0x097078470291dcc9L,0x00000000000000edL },
  91982. { 0xacfde54d059836b0L,0xf755e402b6d8e2f6L,0x282c2d5581436e4dL,
  91983. 0x0a8eff54b3ba7338L,0x910d9a5dc0551151L,0xcb2a43a629e3a972L,
  91984. 0x49974730b85e35ecL,0xf79b7d5ccd5a58fbL,0x000000000000017dL } },
  91985. /* 54 << 273 */
  91986. { { 0x65d17a41539696a0L,0x57f8e852def0e88dL,0x8ef4f324c7739797L,
  91987. 0x532ceb30ab421668L,0x691ae9641db40e22L,0x19a80aabc518454eL,
  91988. 0x520e94d1338ad96fL,0x172bc7b6d28f8389L,0x00000000000001c1L },
  91989. { 0xbb52038d92e07ed9L,0x7ebce2feb5272282L,0x2cd12a6bfbf12724L,
  91990. 0xd1c0d0f017e36d0bL,0x46b0fc6ca1709284L,0x41f37ca9d0015640L,
  91991. 0xcc5dea20be174e7aL,0x2831510fbcca4571L,0x00000000000000eaL } },
  91992. /* 55 << 273 */
  91993. { { 0x488370b5e902f19eL,0x1fc4025b68b7a415L,0x27c316dbc935ac89L,
  91994. 0x2fb89fb00293079cL,0xe4c123f52ad9ad17L,0x7031724aeb3910deL,
  91995. 0x38223c12db0a05aaL,0x199b557bdce2bb89L,0x00000000000001efL },
  91996. { 0x49462b3bf467f0c4L,0x53d52ebfda88978cL,0xfe52b9ef3b5363f5L,
  91997. 0x64ed965fa8acbd66L,0x92e5b025750c6e88L,0x0f4841bfe5b28b0aL,
  91998. 0xd2a3d837e73509c1L,0xdf28934e0db0512bL,0x0000000000000078L } },
  91999. /* 56 << 273 */
  92000. { { 0xc466fd7b7514e752L,0xc0c9a0af8e1fd662L,0xd4b0ae397f3083fcL,
  92001. 0x9af1c21f24cb5771L,0x8c20329d469dcd1eL,0xb115fdd26579990dL,
  92002. 0xccd93d2a3160b749L,0x4aa17bb996f8fe36L,0x000000000000004eL },
  92003. { 0xea95c80a4118ebf1L,0x267ce3a6e78b533bL,0x54167eb7152ee4f3L,
  92004. 0xda581b52d6d5b4c9L,0x285ddaa44f9408c6L,0xa1e4d6dc1ff6c988L,
  92005. 0x9d1464077540a223L,0x127967a3f46c92d9L,0x00000000000000ffL } },
  92006. /* 57 << 273 */
  92007. { { 0xb39e35c824e3fbfdL,0xafef277235e6a7afL,0x25b3068748cd5a9bL,
  92008. 0x305cd07226cd12d2L,0xbe0af44b191d2eb4L,0xe0c88872b14a8482L,
  92009. 0xffa8362a895930d2L,0xe2da964817b31851L,0x00000000000001ebL },
  92010. { 0xc073c946625426d8L,0xd397726f62c66394L,0x3d1398374528c5faL,
  92011. 0xd8da5a25b3221944L,0xf50efb6b2635e15dL,0xf68306be42115851L,
  92012. 0xfc4919fa16837a4bL,0x5d4ab1f6b111cecdL,0x000000000000015cL } },
  92013. /* 58 << 273 */
  92014. { { 0x1fd61fd0b5286dd8L,0x237ed76f1b4f3393L,0x3e86a9a9d71eceffL,
  92015. 0xc8ab89b8e74180c8L,0x2402e229e2014494L,0x41893effc276af0bL,
  92016. 0x4b0c1a54eb97a632L,0x8d403e5aabdd0d62L,0x00000000000001d1L },
  92017. { 0x033c88e0e7df1bb5L,0xc4ff0974917b53cbL,0x6834e17dff5540f3L,
  92018. 0x333daed32024b7efL,0xd76d2d74e7919887L,0x16ad783eccf4d0d6L,
  92019. 0xe57b0eb14cd5587bL,0x9e52405b4c7e37b4L,0x00000000000001a3L } },
  92020. /* 59 << 273 */
  92021. { { 0x2233ca7fb47270f2L,0xae765c245a51e38aL,0x685a629043be58fdL,
  92022. 0x070f79e18346ee5fL,0x09dfa96060cc36f1L,0xba1b744a516ab0bbL,
  92023. 0xb99d4a5d2b2125afL,0xa88ef3ca45541791L,0x00000000000001d8L },
  92024. { 0xaa2d4980e27c4c50L,0x7bb1302b2a828c2eL,0x2b7f34c6e586f990L,
  92025. 0x182b69e2b22de340L,0x084ae47141494741L,0xff811bebdda7aa90L,
  92026. 0xb62bc87c0b45b4acL,0xc3971692251fa3a0L,0x00000000000001bcL } },
  92027. /* 60 << 273 */
  92028. { { 0x08c553f113562036L,0x11b803b8e4d93e33L,0xe7b3f20692fb7e89L,
  92029. 0xd8352288cd0cc8c2L,0x2bf9cd2faaea0945L,0x828bf1c71d16f78aL,
  92030. 0x9228c534afc79192L,0x1d7fc7f1c87becfeL,0x000000000000008bL },
  92031. { 0xbc9bc44354ed41f5L,0xfd759f9579a650b9L,0x951687f8bbe6ecb1L,
  92032. 0x396d94a79e55762cL,0x4e489097b787cfabL,0x522cc6c3111e72bfL,
  92033. 0xf494094c7a4d01d8L,0x2f0b8ed600666f1dL,0x00000000000000ddL } },
  92034. /* 61 << 273 */
  92035. { { 0xdaa376d3bf886d75L,0xda77b4e0c5fa164dL,0xc5fa99d7e140d0afL,
  92036. 0xc1298a7f239e4b91L,0x656278ea77b95e2aL,0xd4615db928c2dbf7L,
  92037. 0x679e343ab4fffdf4L,0xf454c81fb109106fL,0x0000000000000020L },
  92038. { 0xebb250e9d09e1320L,0xc1bacc99bc92b5b8L,0xd2bc9ce8c6fa578aL,
  92039. 0x4b5480d06d5411c2L,0x4a667abdbc01eef9L,0x2293ff502b5b5ae1L,
  92040. 0x064d795250578246L,0x4999b1244736e18dL,0x0000000000000056L } },
  92041. /* 62 << 273 */
  92042. { { 0xacabe0d649acab59L,0xf5c52f50022e503bL,0xc388decf5bc47f3eL,
  92043. 0x8d0cdcf14f1b89a5L,0xae32536823906d64L,0xc3ce9106967e20ebL,
  92044. 0xa820be6f821b2939L,0xa323b31a73d7b74cL,0x00000000000001eaL },
  92045. { 0x4a67d5f8ea7184dfL,0x34355eead1834b43L,0xdeb639e821ecfdc7L,
  92046. 0xfa16656adbc01369L,0xb8791490db78b8d2L,0x8433fb9c29d46e0dL,
  92047. 0x7327033b802bbe56L,0xcb2f72c7be24f129L,0x0000000000000091L } },
  92048. /* 63 << 273 */
  92049. { { 0x6d4e39d3ac1f4630L,0x1fa0065075a61ac6L,0xddc652c51817a6e0L,
  92050. 0x42b1966823e50264L,0x3e980ad593896122L,0x8a47a5191081f154L,
  92051. 0x6b4199134c2ffd1aL,0xcfb1914f16b21385L,0x000000000000004eL },
  92052. { 0xce79f49b2fc5c303L,0x9efee352e1d19a11L,0x7d084d1833b27ec6L,
  92053. 0xd078a4c3479ee85bL,0xc88a27f1983e02c4L,0xf7493d4c411e9106L,
  92054. 0xd13cca1d20cfca34L,0x80a39dc9c4f5a885L,0x00000000000000fcL } },
  92055. /* 64 << 273 */
  92056. { { 0xcca33db42a22b97fL,0x808d2e981942f8f7L,0xd972d1a737133c3cL,
  92057. 0xfe4b5f5f5ff8d7aaL,0x8bd08c189175512eL,0x67bad971bb95ce67L,
  92058. 0x885de1d49cf69b1bL,0x00d0ebbe54ba8e61L,0x0000000000000111L },
  92059. { 0x50aeec386c90b677L,0xc765c4753df368c1L,0x3865a7395d423382L,
  92060. 0x5f843adf7e55f0d3L,0xa8c20b65e6159793L,0xbc3d7a4f05c2f2b9L,
  92061. 0xb6663d297a052d8bL,0x50cdb83a65a7ea81L,0x000000000000017bL } },
  92062. /* 0 << 280 */
  92063. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  92064. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  92065. /* 1 << 280 */
  92066. { { 0x4c740ae10ac4cb66L,0xc8a66d9759c635ffL,0x328b65af2569dac8L,
  92067. 0xfdb6599b8838dbc9L,0x702473f87fd83c9fL,0x0d1f2ad8128683f6L,
  92068. 0x00ae5b505030b76bL,0xb1375d706d15b5edL,0x0000000000000159L },
  92069. { 0x7a772a901f1e1f7fL,0xa790dcb7c669aa61L,0xdad905aec5e4f185L,
  92070. 0x3bd91c29116ad6ceL,0xf87c96eac329d8a7L,0x399c929cb5b14581L,
  92071. 0x6fd2983c3a8253c0L,0x616a8b61da988b39L,0x0000000000000181L } },
  92072. /* 2 << 280 */
  92073. { { 0x0d6e6eedae0e245dL,0x5c37e80f26f68799L,0x575626142aeeb588L,
  92074. 0x9261cb14de82abc1L,0xa4b446f5ebeeb914L,0xe8b749efffb71dc9L,
  92075. 0x3e1382391fcf5e8eL,0xcbdc4c5315c8cfb4L,0x0000000000000185L },
  92076. { 0xe8acd37da80326b1L,0x4aa2d80f6ffc9ae9L,0x46da631fdb069e01L,
  92077. 0x1463768de7abe06bL,0x932e528dc3be779fL,0x756bc3de494fd10dL,
  92078. 0x4a181a650b0c9870L,0x0ceae429ae34b70bL,0x00000000000000aeL } },
  92079. /* 3 << 280 */
  92080. { { 0x3a070e58524bc705L,0x86404f01fbd0358fL,0x88456d7874567144L,
  92081. 0x91aabc494cb2bf46L,0x829df4fdb1e29372L,0xf177ce20230cf9f5L,
  92082. 0x404eca037a3d29caL,0x6d9b609a231007dfL,0x0000000000000159L },
  92083. { 0x7ff3369eb1bf4593L,0x94ff624f5e4049a7L,0x5b7ef74134194bc1L,
  92084. 0xf4bac202131b06f0L,0x70a46357b7549633L,0x0b293380761ae1bbL,
  92085. 0xb2d9c64d974c1977L,0xe27e23b400e7751aL,0x00000000000001dcL } },
  92086. /* 4 << 280 */
  92087. { { 0xe15ef16cfaadef15L,0x0f2927a1babe010bL,0x252539dbcefdeda3L,
  92088. 0x1e8ff8c4a98613a8L,0xec7026d9f76d425fL,0x507c1214ac386095L,
  92089. 0xfba6c762c8024ee0L,0x1088460c3f4dd18eL,0x00000000000001b0L },
  92090. { 0x6ccf1452202080cbL,0x33b934d5b645d8e0L,0xebd4d772c0fd54b2L,
  92091. 0x62a8045e207e1dfeL,0x9e5d3b88601b9f43L,0xc8f7e47d77e357fbL,
  92092. 0x1c8764778ec21437L,0xc08c5a27069dd1c9L,0x000000000000005cL } },
  92093. /* 5 << 280 */
  92094. { { 0x8b7bad84aa505f62L,0x8052b3cbecbd5f9eL,0x0e985e1ab3660a2bL,
  92095. 0xc17e62d3a69bdfaaL,0x9bb1033189b5e1e8L,0xc572485a6b55d39aL,
  92096. 0xc322f39adf1f6747L,0x88881e7fc81cb6fdL,0x00000000000000d9L },
  92097. { 0x31d3f8493310a660L,0xdd188984fdc9db36L,0x89a0af2c3c61b203L,
  92098. 0x508fae9c8e454871L,0x2ebd3d7a69879c4fL,0x5ac4c93d83e6e3f8L,
  92099. 0x71744332c59f4c51L,0x0322f749ad204b19L,0x0000000000000057L } },
  92100. /* 6 << 280 */
  92101. { { 0xd445e8962dac6a90L,0x6904dd238a6d208cL,0x83adfbbf4e016973L,
  92102. 0x91630953a384d374L,0xcd5e353435cac47eL,0xcec42d1088bc5e3aL,
  92103. 0x13d0e8aa5141de2dL,0x3bbd85d1be1d414aL,0x0000000000000105L },
  92104. { 0x2b200480b911ac9aL,0x0c681a4332bd4596L,0x68e2718368edeb24L,
  92105. 0xf8a34ce78950ff7bL,0xa58265b03afb03e3L,0xd0d866606bc58ad1L,
  92106. 0xf9542bba3303c185L,0x13afe747cc393e4bL,0x000000000000005bL } },
  92107. /* 7 << 280 */
  92108. { { 0x6871a6e155b6f895L,0xb935913e9d7e2730L,0xfe1eebb1a9ac21a4L,
  92109. 0xfdab879429c16938L,0xeb9afe9adeeb21b9L,0x967a2fb2797f546dL,
  92110. 0x2fe2023bb9cf34cbL,0x9272977ee049697bL,0x00000000000000caL },
  92111. { 0x348928ef50b4a316L,0x115e58ece32c9a4fL,0x6d858be4e3a235ffL,
  92112. 0x7464d70472b943b7L,0x6e785131e862030bL,0x4060a8c7b8a27819L,
  92113. 0x831b7288d3e4f0d6L,0x81c21f75b36c3f8bL,0x0000000000000004L } },
  92114. /* 8 << 280 */
  92115. { { 0x640c489c80744c7bL,0x76c2615a09c3bd56L,0x0a0a64544b2e41b9L,
  92116. 0x1f67ea463635acddL,0x7a93c39af36dc54cL,0x4efd6c2f386cdcccL,
  92117. 0x789ffbcd8dd41a02L,0xb718d8187068e710L,0x0000000000000002L },
  92118. { 0x463b2b5d8e3ed0fcL,0xef348838c77bcb34L,0xf3cd1bbd8e9bf495L,
  92119. 0xc275c5432a4ec1faL,0xe606d611cc394e16L,0x45c1e7c61a56a93cL,
  92120. 0x828c42db1f6707b2L,0x59ff294843754051L,0x0000000000000100L } },
  92121. /* 9 << 280 */
  92122. { { 0x23ac84cd9e107222L,0x011f6752130abb36L,0x83d1979f5931a184L,
  92123. 0x87880be04349bee2L,0x785209566b06ebe2L,0xa12c6e2f5c02eecfL,
  92124. 0xcfb3b87d2c027b98L,0xe399b69f59d49343L,0x00000000000000dfL },
  92125. { 0x73f60492f763472aL,0xd0630d7aa32c8e02L,0x64fda2740b7eb763L,
  92126. 0xd2ebdd95c0295433L,0xd3bf0c58f8650b05L,0xc0c0a4abdf491d11L,
  92127. 0xfdd83464bec2efd6L,0x42dbbf3363fec348L,0x00000000000001e4L } },
  92128. /* 10 << 280 */
  92129. { { 0xeaefe760e7307475L,0x660015223de4536aL,0xc0c1396d45928311L,
  92130. 0xb972d84029ea65fcL,0xcbf018ad83c0faa0L,0x0ce90359f5116096L,
  92131. 0x33a6e9c82c9e2cdbL,0x1e61a90c5f1aa2abL,0x000000000000001eL },
  92132. { 0xcddf71f961709e18L,0xae43057240f72033L,0xde53f951b1b7d4a2L,
  92133. 0x409f0a90cc853277L,0x341fa0c03789a7e2L,0x9cb4a809daf6b61dL,
  92134. 0x3b42585df7bd34f3L,0x7a624ac415d77b4cL,0x0000000000000078L } },
  92135. /* 11 << 280 */
  92136. { { 0x02e9c325f196b6a1L,0xcfc01de1b0374324L,0x289b25be0121a620L,
  92137. 0xec188af9f09b541fL,0xac954bc5fcb86a52L,0xd883b21f87a757b9L,
  92138. 0x1194e3a12741cd24L,0x3d1914b61e3ef5eaL,0x00000000000001fbL },
  92139. { 0xb13ea4836bfd085dL,0x6e20b8d504a5dcd1L,0xcf5fba257f7af4feL,
  92140. 0x58625751914d9c51L,0x1005bcc9eb304193L,0x7b54ef23579943f8L,
  92141. 0x50ead06cc7d1c9baL,0xcd9877673664cf97L,0x000000000000010aL } },
  92142. /* 12 << 280 */
  92143. { { 0xe78a2eefd978be2cL,0x1958503c388b0164L,0x63a5d6fb3d35eaf6L,
  92144. 0xff6e50d5dbfb3304L,0x4b9c89e3931e2555L,0x93d6c6e9e2a419d2L,
  92145. 0xb2b26a9296f11b80L,0x1ba661c44c413fb3L,0x00000000000001feL },
  92146. { 0xea30821624fc3599L,0x83000d9ae1823a76L,0xb614483695d2aac8L,
  92147. 0x661640c0996c6b75L,0x5212a79fa7b4f33eL,0x40c6bfde5a2fbee7L,
  92148. 0x8ce6e88e86ce3a36L,0x4a9b0c5eccb757a9L,0x000000000000010bL } },
  92149. /* 13 << 280 */
  92150. { { 0xc8b31578e40e993dL,0xdd419459041d243fL,0x0c47e4492fbaf7c6L,
  92151. 0x10b731c47d71b295L,0x41dca681f36a08c0L,0xec3582403d924e38L,
  92152. 0x891991a88593f600L,0x8d684b374a984c9eL,0x0000000000000109L },
  92153. { 0x44787399a8a706dcL,0x307e57cb53caa9baL,0xea0ad37576a3276eL,
  92154. 0xb1b79db12e025195L,0x96703f51aa828a3fL,0x174f1c27536e5266L,
  92155. 0xc2d7da86fba650e5L,0xe69208051bed53a0L,0x000000000000010fL } },
  92156. /* 14 << 280 */
  92157. { { 0x6076eba5d73f6d54L,0x2dc200db4826039bL,0x683c59a00761fbffL,
  92158. 0x525681dffaeb001eL,0x84175769d29ce601L,0xb5301cfc04112e5eL,
  92159. 0xa242021d3aed1274L,0xc2f154ceb3cf3089L,0x000000000000005fL },
  92160. { 0xc754a9e65799204cL,0x186ec103d6251a86L,0xaa3bc7933f06cc52L,
  92161. 0x2512fb5391c10e49L,0xe63f08c7df01b044L,0x4138d8974a7a5bc2L,
  92162. 0xd23a1be79258b0e3L,0xddb136202bb7743bL,0x00000000000000c5L } },
  92163. /* 15 << 280 */
  92164. { { 0x409beff853938400L,0x3593e4f9c460d38bL,0x6d0b5d57f0673911L,
  92165. 0x22c8dcaec72c6491L,0xe6e263f173e0ea62L,0x14c1e16512ece129L,
  92166. 0x45b34f069a474ff0L,0x36c07c4fb96851d9L,0x00000000000001fcL },
  92167. { 0x250b8e258259bf92L,0xfb6826a6866e22feL,0x1d0fb6d935566f47L,
  92168. 0x6381018504537faaL,0xf8f10b30f1d6bcdcL,0x6ce068c4abbf20c8L,
  92169. 0x3ceaa8c944fcf678L,0x44c0ee4daa121e6bL,0x000000000000012cL } },
  92170. /* 16 << 280 */
  92171. { { 0x3878c70adf5ee186L,0x62f4f54a6fffef9fL,0x0a7664c380400fa0L,
  92172. 0x99be58c2d0ea21b9L,0xfa70b9ade311aa6dL,0xafadd452abf43a4dL,
  92173. 0xe6291c610f7b5de5L,0x388a421578d61e62L,0x0000000000000024L },
  92174. { 0xf188f980ee1bcdafL,0x9ccc1a6bc991f497L,0x6f733d1221ec6f5dL,
  92175. 0x59ce56b9da9f5bdbL,0xe03a9a1f40e88d50L,0xa5e60328c0190a2aL,
  92176. 0x382bdbe69ff9d482L,0x26895085bb792de6L,0x0000000000000013L } },
  92177. /* 17 << 280 */
  92178. { { 0xb62405a5676a3e6fL,0x5ef780579ac1ab5eL,0x4aba44936c1169c3L,
  92179. 0x0e3dce11827d4ae9L,0x2d8bffba23687976L,0x9fc0f8a871502c8fL,
  92180. 0x7bddcff7be7d4d2cL,0x00784e850b6a00acL,0x0000000000000163L },
  92181. { 0x54fa77ad66a2abbaL,0x14fc08c88a96575dL,0xf1b50adef2dd1b8eL,
  92182. 0xeecd2a0f774ea727L,0x6cc9ccbcf14625cdL,0x8800d8a0ba597acfL,
  92183. 0x52ee2b93f9dec864L,0x5da5fb84e642a27dL,0x0000000000000056L } },
  92184. /* 18 << 280 */
  92185. { { 0xcd861ffbe4649d6fL,0x2ed9b50d8dd76900L,0x5e5cff5dcc6dd1f1L,
  92186. 0x2f649d9fe440c31aL,0x1b6cab30e1b50625L,0x0280ffb2fedf3d27L,
  92187. 0x41fea755cdd53867L,0xda1c31ff4b6b3458L,0x000000000000009aL },
  92188. { 0x504a5a4a1c5bfa1eL,0x3b16eff4cb6c1131L,0x42ae4011ae721056L,
  92189. 0xadcb0a5c2f4db3ccL,0xe9f89fbe43d4383fL,0x243f76cc28188da6L,
  92190. 0x836268eb0f53be46L,0x2fa1ca1b386264f4L,0x00000000000000e8L } },
  92191. /* 19 << 280 */
  92192. { { 0xdf5b66aab830b085L,0x2f6cdf43b7a797cbL,0x0101d0724241a303L,
  92193. 0x0a16ad64a6623b9eL,0xcdbd54b3a9f4c582L,0xc97a95567ee209feL,
  92194. 0xac166a4f72e05927L,0x944328443d9fa567L,0x0000000000000073L },
  92195. { 0xa051a3107a366e15L,0xfd0e5a53c6bf5c08L,0xa240cf6d978ada91L,
  92196. 0xe8ad78c9349ea3b3L,0x9494acb015573256L,0x2bdfd51e391180d4L,
  92197. 0x911ad26d30e11852L,0x066206b1c0d32653L,0x0000000000000173L } },
  92198. /* 20 << 280 */
  92199. { { 0x682b6f1d6f37fe71L,0x3754800ccadcbcd8L,0x12367b4b70b949f5L,
  92200. 0xa470950748bd0160L,0xf46eb3dba321a86bL,0x9ea717597b65a082L,
  92201. 0x49607c639e80e35eL,0xcae1103f0ed3f9afL,0x0000000000000110L },
  92202. { 0xfecfb034c97c9712L,0x46794ae3487685c8L,0xd801e8d1d123a90bL,
  92203. 0x6ee2529e5b0b89caL,0x2b3b7f4cf650661aL,0x23257437dbf31d1eL,
  92204. 0x6d2e599d2f61e4b7L,0x4853ca0956a975a9L,0x000000000000013eL } },
  92205. /* 21 << 280 */
  92206. { { 0x4641c185951032bdL,0xb4a82d1ed654967bL,0x4f60abfaebe0534aL,
  92207. 0xd8d59a71563969dfL,0x69a8365d897b93d0L,0x34dcbce7a3ddcad6L,
  92208. 0xb4798d7484801108L,0x1ef48f2b9509858bL,0x0000000000000186L },
  92209. { 0x8f01ec3308d02285L,0x8f361eccfa7f5f30L,0x03d8d9aa173946f2L,
  92210. 0x2ee8b5750e55fbc9L,0xf3d5ab9b804c4aa0L,0x928acfc13fb93feeL,
  92211. 0xb60fb73a1f387d73L,0x4f0a74e1fabfa19dL,0x00000000000001aaL } },
  92212. /* 22 << 280 */
  92213. { { 0xdd033085ffc38940L,0xbdf00b79e0cbd312L,0xe027364751bfe81bL,
  92214. 0xc9dd4f9d4889fd94L,0x307b0e6e06260888L,0x1cc21a4c57fc3aa6L,
  92215. 0x80015db80375ec4fL,0xd8cd58e27ec6ce20L,0x000000000000017cL },
  92216. { 0x46ba9532bf2925beL,0x948247d693eaa62aL,0x7dd8c538b71fae69L,
  92217. 0xc90496865561d353L,0xdcbb708b427cf50aL,0xa367d55f861bc80eL,
  92218. 0xf46ec4634a8f28ddL,0x3481474dcbce8110L,0x00000000000001acL } },
  92219. /* 23 << 280 */
  92220. { { 0x254c69ed55155f2cL,0xe14b1c5db7d2603eL,0x2dffb214ba8bd917L,
  92221. 0xcddb7eb590dff8acL,0x66e23246426e1109L,0xcaa97ba1cdf4a95bL,
  92222. 0x56522b0177be0ef6L,0xa81706f55d3f77d4L,0x0000000000000011L },
  92223. { 0xd4b76f04639ff0cdL,0x15091830d19f7652L,0x64d3e1589351196cL,
  92224. 0x63b04349370e92f9L,0xf247c96d68ca3652L,0xfda88c1295b0a39cL,
  92225. 0x09ec4902691b35f7L,0xf1e93e7656a345a6L,0x0000000000000195L } },
  92226. /* 24 << 280 */
  92227. { { 0x1c1293a1f9640d38L,0xc24e8f93b6709da3L,0x5d9b87cb8cbfeeaaL,
  92228. 0xab49ee81b0fd1d5fL,0x09cba9064c63b1b5L,0x379febb06f867688L,
  92229. 0x2061b6eec99ba636L,0x966f2eaf51159b58L,0x00000000000000b0L },
  92230. { 0x4a130277873b42abL,0xacd92f6c1c8ab9b2L,0x117dcc6ba66d3168L,
  92231. 0x70362ec85dae335fL,0x1f13ef5eea5f8570L,0x8268cf14a075c01dL,
  92232. 0x2f8431fad2b71b7fL,0xfff9c7d1382b4939L,0x0000000000000046L } },
  92233. /* 25 << 280 */
  92234. { { 0xed53320a5467b695L,0x95777379d81bc3c6L,0x1f53f221165800f8L,
  92235. 0x5a3a36ac90c1143eL,0xf319be6f7a9ab721L,0xb6d3e1158c4ed728L,
  92236. 0x6a9e9dccfaceb5d7L,0xa8abd38370e27532L,0x0000000000000080L },
  92237. { 0x28f0cede226f9ad0L,0x8a96ae65e9efd27fL,0x4fe7eb7fef2564a2L,
  92238. 0xdea5e9aaedd96a1aL,0x818a8f76469bfc52L,0x0e8eab80c7f687f6L,
  92239. 0xebe81c5d4198b48fL,0xdd7e25c68d9d05f8L,0x0000000000000144L } },
  92240. /* 26 << 280 */
  92241. { { 0x5cfa7cbf1f54bc21L,0xd37a2401c5bf8ac1L,0xd6e4aa9fe1b4948cL,
  92242. 0xc0af78bb87876571L,0xd5f38c4a9435c756L,0xdeaf4d5d196d5a67L,
  92243. 0x847999d3665b16adL,0x55e422ab944e41cdL,0x000000000000011aL },
  92244. { 0x1c73a7be1f893849L,0x98773cab9b84e408L,0x5e6a4e145ed1c89dL,
  92245. 0xe78d1b90716a5325L,0x1513fe4a577ed006L,0x7b8cfbaa90824caaL,
  92246. 0x663d3fa73c2a2886L,0xc9d7e9608eb5b6b7L,0x0000000000000167L } },
  92247. /* 27 << 280 */
  92248. { { 0x7804ab0cd5dd017cL,0x2ee33f77c259ae7cL,0xbc379b5e1987fb05L,
  92249. 0x472603f311e07d17L,0xfde157912168f043L,0x474bbd4c5d357133L,
  92250. 0x278fdbb181d0f190L,0x44d8a1465f7a199cL,0x0000000000000090L },
  92251. { 0x7cf6a404bbd57b48L,0x19a5cb69db6852eeL,0x6f08b1da1b26de4bL,
  92252. 0x04262f2a58360fe7L,0x287dbfd73bf7c760L,0xddcf22856e702e73L,
  92253. 0xe4f8a899fe86dc89L,0xee9807e0c06c6e6fL,0x0000000000000118L } },
  92254. /* 28 << 280 */
  92255. { { 0x0a59179b025c0e2fL,0x43088758ddb8e4e4L,0x9ccb5d9baf9e3d51L,
  92256. 0x5b220d64f6cc6fe2L,0x43a38530f69d1a66L,0xcf4dace9fdc5b0f2L,
  92257. 0xf1bba4e1418ba2bbL,0x70e502e9d82fb27eL,0x00000000000000ccL },
  92258. { 0xb4fb372ba990ec9fL,0xc1c31603c5fa0250L,0x79b46f6cecbe934bL,
  92259. 0xad2fc8f7b28f7d50L,0x240f4901b4d4e6d9L,0x11c72be533c59d92L,
  92260. 0x16cb9bc5c94ffb67L,0x8517fa2b2e957b97L,0x00000000000001e0L } },
  92261. /* 29 << 280 */
  92262. { { 0x8672f8c178c2fae1L,0xce853dc0b390e692L,0x50cf0558fc7389d6L,
  92263. 0x0eb7599014218bbbL,0x8942e82713a837c8L,0x07fb92d0213f6565L,
  92264. 0xc3e799a7db1d4bafL,0x93ef2dbe0d7238aeL,0x0000000000000087L },
  92265. { 0x7e1c949a4d6f61edL,0x0951d2409855b4b2L,0xe99da0df0768f131L,
  92266. 0x3a9895ca40b9263bL,0xeec3111e988e877cL,0xb887eeb1392e2a50L,
  92267. 0xd26c888f3ae6a3edL,0x60db343170b42b56L,0x000000000000001cL } },
  92268. /* 30 << 280 */
  92269. { { 0xd6d025d839e224e4L,0xea671ba973ee2abdL,0xf71e527f0b2458ebL,
  92270. 0x97adc0a443f0bb0dL,0x39d5e7b826a9a537L,0x02ee550a7e29adfcL,
  92271. 0xd7fea1b5e6433c20L,0x6777e7f94b13721aL,0x0000000000000126L },
  92272. { 0x4682b1468c2c454dL,0xd6e496150d5c34dbL,0xe84ad426a9213f48L,
  92273. 0x9143f004be2e5e10L,0xeb48a5a485f087d1L,0x10d141c784d2ceecL,
  92274. 0xc96c7d6673ca411dL,0x28aa426c59faea28L,0x0000000000000144L } },
  92275. /* 31 << 280 */
  92276. { { 0xbb86295ab95fe143L,0x7a0778a004aa86f0L,0x72402bb054f3df03L,
  92277. 0x5d2146943f81659bL,0x19aaa8e646689638L,0x8de0ef98937688a2L,
  92278. 0xda612f96d910473cL,0xb0b8a1120a41c825L,0x00000000000001b9L },
  92279. { 0xd8d116daef118dcfL,0x4e24efd829a90bebL,0x3bc302db0e413b54L,
  92280. 0xa0e984fd1a8c9f3eL,0x7b485798206268a1L,0x52a1f4523d769ab3L,
  92281. 0x7bcb688e6853067bL,0x6b7f3335e784e934L,0x00000000000001e2L } },
  92282. /* 32 << 280 */
  92283. { { 0xba3a04f75f8fa47eL,0xb9c44aa1833dfb7cL,0xe4f3a4a6af4ea679L,
  92284. 0x02b4bc288240ae75L,0x390076ae282412ecL,0x74e5bd6406709592L,
  92285. 0xb87b1a57dbad0025L,0x71e0c6f732123b04L,0x000000000000016cL },
  92286. { 0x266b71d5e4ffc2c8L,0xb061cb88a73f6fdfL,0xbca068cd75b93ff4L,
  92287. 0x4552d43b97712a14L,0x1035134c5b941ba7L,0xc14623abf31b6915L,
  92288. 0xdfdd91c4aa972a0dL,0x54e8e7e0e17b9ad3L,0x000000000000008dL } },
  92289. /* 33 << 280 */
  92290. { { 0x664d379c66087692L,0xe4cfe5932b4cc0e5L,0xa293eb7c765981c8L,
  92291. 0xa366a8be9ac9be69L,0x18a8fabdca5c9348L,0xa3d94fcda2a2c5e9L,
  92292. 0xd6d42b142c19d210L,0x90c8d32950ebedf6L,0x0000000000000077L },
  92293. { 0x4b232a133ea6cce2L,0x9709a4f5efe51889L,0x6641e274e233ec8fL,
  92294. 0x68744e54abf46598L,0x8c12e8da847eb365L,0x31c4a313be0dc8beL,
  92295. 0x88503ca97bce4bd9L,0x98356a4724bf7fdaL,0x0000000000000058L } },
  92296. /* 34 << 280 */
  92297. { { 0xdd5dfc11a0dad11eL,0x6af8128d95bbbc01L,0x2a09533d2ba204d8L,
  92298. 0xf656433c14308665L,0xfb9b0752873ddf2aL,0x462baf84bff789b4L,
  92299. 0x4119391c36f8d363L,0x24a0d61bc83d0643L,0x0000000000000128L },
  92300. { 0xa811558a81d32679L,0x73ebefc16d51d480L,0x52e334d76723ca36L,
  92301. 0xe102931c3bc64e40L,0xe0fc619a226f57ebL,0xc6533d88d5a49296L,
  92302. 0x8a96610b856dc0b3L,0x7fc05cda95a3bcb8L,0x0000000000000128L } },
  92303. /* 35 << 280 */
  92304. { { 0xbdbe8a3a30b14db2L,0x7e4bc20c9a8247cbL,0xa620bdf811e536d0L,
  92305. 0xe972971a67a49b87L,0xa10d8379f31c11efL,0x8908fe100b816ab1L,
  92306. 0xe44858845c7db701L,0xacb4e91129807371L,0x0000000000000028L },
  92307. { 0xdb757df6497c4dc0L,0xad84afa0fd068916L,0xb98bb9c9c0ed25c9L,
  92308. 0x9af8511a42c7c5feL,0x853e412f8549f45aL,0xe5fcb0b400cdd781L,
  92309. 0xdda7fef0653d6e1bL,0x3340956d20aa3f18L,0x000000000000018bL } },
  92310. /* 36 << 280 */
  92311. { { 0x3751cc30569b8171L,0x0a5f50721195ceb6L,0x67a550c5aed5f6f7L,
  92312. 0x9fa0ca1a467c1996L,0x342155f04c5cc05bL,0xa8fd7a3b1265b643L,
  92313. 0xa105382b94eba9ddL,0xd2dc6762655a3ed5L,0x00000000000000c7L },
  92314. { 0x2913e45239c2dcc4L,0x81fa35062758d09cL,0x7df16b9411840bb6L,
  92315. 0x0d96f28f04eeade0L,0xf5ab6c8c883daf5aL,0xa53d625e24e9795aL,
  92316. 0x14158b332a711c2eL,0xd5ce7e2a97ad3f03L,0x000000000000010cL } },
  92317. /* 37 << 280 */
  92318. { { 0x9871dafee3cd99cbL,0xca11ffb2f9d1422bL,0x0cbec630ffe7633cL,
  92319. 0x095207519701f5fbL,0xe7cdf5f0b714a25bL,0x54b44266e17aa21aL,
  92320. 0xc53a84760ef13940L,0x9e8c18f56acbd9dfL,0x0000000000000057L },
  92321. { 0xabd27e097605396aL,0x731f83a012ea5abaL,0xb6a23513f28d07f9L,
  92322. 0xbba530fa2ea3b230L,0x38f79ffe89abfb21L,0x2767e58ab7dce472L,
  92323. 0x7eb867f9c16bd8b5L,0xeab0414eb76ce0c7L,0x000000000000009bL } },
  92324. /* 38 << 280 */
  92325. { { 0xe100e0eec1c91709L,0xa73bbf8c56238cdfL,0xe8b191e09196fb53L,
  92326. 0x0c54c7820203b3d5L,0x914cd8154ad45f0cL,0xf488ed49b504e7ebL,
  92327. 0x91983a3b525a0122L,0x7a9db32607a6bc76L,0x00000000000000fdL },
  92328. { 0x9e5874870b0b0ef1L,0x0c5df87d4deca852L,0xa671e125fcfb2b5bL,
  92329. 0x4c0dc9d789fb90a9L,0x8bc6b9a1b47b79f0L,0x5ed3c685bcc0d53bL,
  92330. 0x107f5ef1ec8aaab6L,0x5f93971f98ffcd41L,0x00000000000001e2L } },
  92331. /* 39 << 280 */
  92332. { { 0x81d5acf81e69cfcfL,0x5786ae3471bda15cL,0xc3e9c790d4ba8896L,
  92333. 0x78415f43b320fab2L,0x5407bb1189d23809L,0x6b5d5e41d3007de8L,
  92334. 0x1f686d5c39797363L,0x0be555c28d9004c2L,0x00000000000001ebL },
  92335. { 0x8eb5c5bf91addc9dL,0xe8b81cffe200f350L,0xca3b953d44b42146L,
  92336. 0x6ba06ea9ecc482e4L,0xa6a70a446e4d1a38L,0x3210ff44eff587e8L,
  92337. 0x9ad9ba8e1d8a7cf6L,0x813c4d94c77bf97eL,0x00000000000001f3L } },
  92338. /* 40 << 280 */
  92339. { { 0xe31effa2306c1354L,0xb5e2c13d85925368L,0xb1f2607f35ef339dL,
  92340. 0xb06e916138e6170eL,0x4e6644b8f3f3e31bL,0xda16e937e3e59db4L,
  92341. 0xc66e7dbf6accfe20L,0x31622dae364dc59aL,0x0000000000000187L },
  92342. { 0xc9d619cbc2b0bd83L,0xfe780349cf4a8cacL,0x8109dbb48b3d6584L,
  92343. 0x55e1a93c943709d9L,0x651c52d321ed38d8L,0x87ca86938ef82c60L,
  92344. 0x6ba45f8f4280d960L,0xe903e26b7e505800L,0x00000000000000a4L } },
  92345. /* 41 << 280 */
  92346. { { 0xbeaefb738d027004L,0xb93ae273b643fdf8L,0x171130c78b054ce8L,
  92347. 0x03e50d97fa4348b9L,0x1e136c40bcd5a01cL,0x4c3c0b3320e072eaL,
  92348. 0x5b07b9f5fb37369aL,0xc306209f6aae7067L,0x0000000000000096L },
  92349. { 0x28f228fdd8133dd9L,0x5e97b819ed9f4989L,0x0511850fa8e2e90eL,
  92350. 0xfba9dac8a577a370L,0xd8f8a690e9748a8aL,0xc4061391c30a3f0bL,
  92351. 0x22a676e042f585a6L,0x252bd6609c5f7211L,0x00000000000001b0L } },
  92352. /* 42 << 280 */
  92353. { { 0xd9e89ab1b2261b5aL,0x896f863c0bccf5d5L,0x09ba590aa5b7eb39L,
  92354. 0xc8f52dfb0fa4086dL,0x3f236dfd1075176bL,0x0e0cc891296f969aL,
  92355. 0xdfc18d50a2313921L,0x8494f9a73ef48a34L,0x0000000000000084L },
  92356. { 0xd57a2f227f5e334cL,0x69d7c5b7ded57c18L,0xcdb18f19b1ccf76cL,
  92357. 0xeaec2b7c33021735L,0x41b62e1affce6cf5L,0x12282e773aad7e4cL,
  92358. 0xf9c2216e9db6619cL,0x5f1678eaf32e4661L,0x0000000000000079L } },
  92359. /* 43 << 280 */
  92360. { { 0x3806aa79ed2215aaL,0x77b2b474fda96f56L,0x4957726aacc33f60L,
  92361. 0x3aeede639dcb6de3L,0x7c5a4b2dd1f46307L,0x03638122d27dc35dL,
  92362. 0x5c8c687cad802f35L,0xfb84505dcb2b917fL,0x0000000000000089L },
  92363. { 0x86ad4d10d3241367L,0xa5bbbe2804283e3fL,0xae8a8a156cf1b159L,
  92364. 0x8b30bb7f97d37100L,0x302e14e45dc590ceL,0xe3aa0b5dcdd1751aL,
  92365. 0xb2d7de843c7c9c0bL,0x9693fc8121ea3e9bL,0x00000000000000baL } },
  92366. /* 44 << 280 */
  92367. { { 0x30e7e4bda557a890L,0xb6a8ecf96b5cdb6fL,0xbec5ed5023b68ea9L,
  92368. 0xc359d11f3fe99380L,0x84e9e7d83bd97138L,0xa58c8a9a3a5815eeL,
  92369. 0x759839a47c240941L,0xb652633099670993L,0x0000000000000144L },
  92370. { 0xe3f92bef6bfae59dL,0x6eb6a3ef34c6f089L,0xb35ddc7862aa2a94L,
  92371. 0x2495301b6c27da9eL,0xea719a48d8d23941L,0xf0be43ad79c61b1bL,
  92372. 0xbafb76e1a27c859aL,0x9d2f814c97f29bb0L,0x00000000000001f7L } },
  92373. /* 45 << 280 */
  92374. { { 0xe3d9794863bfeecbL,0x787b7b93c4e33b5dL,0xd193545380e717c7L,
  92375. 0x80f09edff51d7ee8L,0x5ece8dec2cb8e492L,0x1c2e49aeb0fbdd75L,
  92376. 0x555ffd0c62ca40e8L,0xb087f09cc34239e1L,0x000000000000011fL },
  92377. { 0x058e0296c7e17929L,0xc37bb9507cabdf29L,0x3f760103337ba5a9L,
  92378. 0xb04c49872eebc4d3L,0x06ed604d12273246L,0xb2b6a2ac48a00bdfL,
  92379. 0x7b9eee4ef1e6f9caL,0x2bd8117abfcb3b3dL,0x000000000000003cL } },
  92380. /* 46 << 280 */
  92381. { { 0x9f03aa3fbadc0444L,0xd4646ae421350843L,0x9d669c31ae89c5cfL,
  92382. 0x28f2dcfa88476683L,0x1a27c9a49927c5d4L,0x05f0d014342307c4L,
  92383. 0x74a305b664bcee6dL,0xf2d3fa9c6b8102a1L,0x000000000000004cL },
  92384. { 0xb2801ee8e8313032L,0x484d7fc270c2bf31L,0xb1e823146bcb4da5L,
  92385. 0x01c6855cf5dbd4bdL,0x59bc8152d21f4295L,0x452be6974095767fL,
  92386. 0xd1557ede45d79429L,0xec32dcc2afb02a09L,0x0000000000000173L } },
  92387. /* 47 << 280 */
  92388. { { 0x196940e45ba5d05dL,0x6576d0f4bbc541ecL,0xe5e984bd3a91a1daL,
  92389. 0xbc63c9eaf3498971L,0x89135ed31f03c14dL,0x44fe60e13379f59eL,
  92390. 0x28a5a0b752e302bfL,0x14d350309b2c7e38L,0x0000000000000073L },
  92391. { 0x1c34012525832327L,0x88c1ebb85e862352L,0x5e82c2f646d29a75L,
  92392. 0x98aa3bf4b5f97690L,0x17a8b7d4fbcc02caL,0x8190772afcc8f81bL,
  92393. 0xee79fec1e5a4dc65L,0x62c89b093fe96241L,0x0000000000000166L } },
  92394. /* 48 << 280 */
  92395. { { 0x521cb4e322b7448bL,0xb51bca884c726beaL,0x9391bdea39c312eeL,
  92396. 0xf9128ef72c8b9a0aL,0x988f9f78a8e51d04L,0xdd44418f96c8257eL,
  92397. 0x3688fb242d7f2f00L,0x2f92e5ff1b1fdd4cL,0x00000000000000e3L },
  92398. { 0xba865459e98c49f5L,0x3545cf759dfe9dd3L,0xeb3ef7ffce823a85L,
  92399. 0x39bc813a9b39a2a8L,0xb753463592a11c12L,0xb16a5bd61ee6d123L,
  92400. 0x3192e6dd82fef180L,0xebfb81b4287687c4L,0x000000000000008fL } },
  92401. /* 49 << 280 */
  92402. { { 0x41889a308e521628L,0x353bbe7cd54a23f0L,0x6e30dc47b96e2ee6L,
  92403. 0x957c31e030bf9a04L,0xe87fac6e880b0a80L,0xe7f5c5c603c6d936L,
  92404. 0x2b605a09abd24985L,0x24da8804c0227c2bL,0x000000000000009bL },
  92405. { 0xbe44195151deea0cL,0x1d27a5349a94a2b3L,0xe89bd706906fd00bL,
  92406. 0xbe0e3af4b48a3888L,0x462540f9ba0f807fL,0x5698134e4480f7e0L,
  92407. 0xefbf0694f9470f38L,0x622aa439f2147a77L,0x00000000000000eeL } },
  92408. /* 50 << 280 */
  92409. { { 0x3d0eff5a9e14a157L,0x17b32d7a1e610aebL,0xd7d7e6da192e4c2cL,
  92410. 0x9fe47524bafe7a78L,0xffde6e808f0f59d8L,0xfa5b05067f07595fL,
  92411. 0x727527ab0c4ca54aL,0x3125b812f2ff633cL,0x00000000000001c5L },
  92412. { 0x9949eb375ebf3165L,0x6b3b1ca23d969575L,0xbdc906e777691f06L,
  92413. 0x5c7fb79048e77747L,0xe14e6e1461b6e449L,0x168745a6ae1ca8c2L,
  92414. 0xb1a8c53a10d7485eL,0xafba1519b3f97687L,0x0000000000000012L } },
  92415. /* 51 << 280 */
  92416. { { 0x1954666c0c70fb24L,0x82266d143f951a55L,0x05d351fb7571c7d1L,
  92417. 0x18474822a33960cbL,0x9e21b386aff4d604L,0xdc1523b7c7722030L,
  92418. 0x97d8d47c3b40f662L,0xe46c6e58c518f8e3L,0x0000000000000197L },
  92419. { 0x33776420fdf51fe5L,0x13c170deea2d40baL,0x9f058330686e0c42L,
  92420. 0x187d65578e9b7d13L,0x60731c312fd50daeL,0xc4a33b8f616a056aL,
  92421. 0xde3318374d1e0552L,0x883f0b1c76622fddL,0x0000000000000004L } },
  92422. /* 52 << 280 */
  92423. { { 0x702fec554340d2f2L,0xbfddf7ab5a6c6a38L,0x52d5a7ef0a77c874L,
  92424. 0xb31d293155a58f3bL,0x3088d8036274e0d2L,0xb939133876fc6ab3L,
  92425. 0xb144eb7c8e936c61L,0x9c6f8e0c31f651c4L,0x00000000000000eeL },
  92426. { 0xc4f7ef971969c94bL,0xd0ae9ee1b1ee6473L,0x9a2310ae3c6ef7b5L,
  92427. 0x201667dcd9af7a6dL,0x177ef629e661696bL,0xa295439c27dce2c8L,
  92428. 0x917e7ad90654b39dL,0xf4f4160e253e2455L,0x000000000000016fL } },
  92429. /* 53 << 280 */
  92430. { { 0xa5f4d18206539fa7L,0x00e9ca62193bd001L,0x4f82a43b34a98a26L,
  92431. 0xf191a2c7acba36e6L,0x24af9551e410e4f3L,0xc497e07f6d3535ddL,
  92432. 0x29c932541c60ad3bL,0xc979ef0d599a657aL,0x0000000000000155L },
  92433. { 0x0481964ddc0c026aL,0x02af224ad01e5c0cL,0x82bf913f1c2ef89cL,
  92434. 0x86f6d32c471bf1c0L,0xca2ce84ad8022d80L,0x4f145b6799803487L,
  92435. 0xebd0ffccda0964d7L,0x19f8d6f7bcef48f7L,0x00000000000000bbL } },
  92436. /* 54 << 280 */
  92437. { { 0x509b71b9ac36d28aL,0x15d32c770811d528L,0xb793235561dc6575L,
  92438. 0x05233f01fabb650dL,0x3a16d034167495fdL,0xd567e0bf8c1efb75L,
  92439. 0x253895e41fec8e93L,0x6b69015c5648158fL,0x000000000000000eL },
  92440. { 0x879a7df915627f86L,0xab3caf87f08f9464L,0xaebb91e351cc0b72L,
  92441. 0xf5f3a2ce80718925L,0xb5740882c3e6f70bL,0xed18d27690f16d5dL,
  92442. 0x318733e770b09c3cL,0xc1e1c737e4c59a44L,0x0000000000000095L } },
  92443. /* 55 << 280 */
  92444. { { 0x88537bbe883279acL,0xd66ce961da9ea3d7L,0x5a009e7f6f24804cL,
  92445. 0x1aa5de7b572a81f5L,0x0a2d89e029910a84L,0xff6d0adba6a3b709L,
  92446. 0xf709ae9d176ecf3bL,0xb55a2f97857e7161L,0x000000000000013eL },
  92447. { 0xd6ef2ad66d5ac444L,0x0cf086d7c738f5bdL,0x36484c34061945a8L,
  92448. 0xad1acdb879dd65c5L,0xd58ac17af96e2538L,0xb1bc5d14ee8ca9ecL,
  92449. 0x51ee010ef4765340L,0x2285cc3b31335245L,0x0000000000000138L } },
  92450. /* 56 << 280 */
  92451. { { 0x939fe75a6fc48236L,0x23d3887d911d8cbfL,0x258fea93b7d3a0e2L,
  92452. 0x9b073bf37f01bba5L,0x7324e1698e6cb543L,0x44843d4aaf26dedfL,
  92453. 0xa04a7c60ede00d61L,0x10218bd6cc5a03bdL,0x00000000000000a2L },
  92454. { 0x33c5563a2b93360bL,0xd50f6be0d4e9d47fL,0x78e7dfa1c7ad7ac7L,
  92455. 0xff7c2c5a92c64ebeL,0x932531e7bb22d05aL,0x1c8f30604bc070ddL,
  92456. 0xbd9787cb8d8150d1L,0x8ce2223b0cee42b4L,0x00000000000001f6L } },
  92457. /* 57 << 280 */
  92458. { { 0x6731c027e046c0a4L,0xf718dcede5a06138L,0x78ee5eb548b6ba4aL,
  92459. 0xc2d5dfcadd81e407L,0x35da8dfe47dcfcacL,0xdc81e42a8eb7a98dL,
  92460. 0x35db538102f60af3L,0x137c92f71af4e84cL,0x00000000000001a2L },
  92461. { 0x5fff48bc7fae3e38L,0xed6bb7ba7bfb9009L,0x3ea9829b94d9f8d9L,
  92462. 0x1b02d966e57ac9f7L,0x2a2e7b3b9e17a7b5L,0xfd677d10f8b5971cL,
  92463. 0xf02c62c4feac2153L,0xb2853d963d277f34L,0x00000000000001a0L } },
  92464. /* 58 << 280 */
  92465. { { 0x34cda6b2e8bcbdccL,0x1ca83d8ac58e01bcL,0x9c38e61d6a6033dcL,
  92466. 0xd3df77d1696792c9L,0xdf573ec644eb1ecdL,0xa8a065432d74f38aL,
  92467. 0x3cb79ad7491230eeL,0x828962151a271b8eL,0x0000000000000182L },
  92468. { 0xb889ef07d85525c3L,0x39a37a8da74b5e4bL,0x6dd97fe1ba9f0edfL,
  92469. 0xfc32a4c55df3ce92L,0xfa0958f820517719L,0xd2570ed03c80801bL,
  92470. 0x7b0d90f5df333517L,0x5448e3b21cbee93dL,0x0000000000000005L } },
  92471. /* 59 << 280 */
  92472. { { 0x9dafe225907309ceL,0xb5c7f7796ab4285bL,0x025fe316475406c6L,
  92473. 0x6427b6a73703b8aeL,0x077b26865c34c5ecL,0x16bcd88fb1889dd6L,
  92474. 0x963169a8eab6ae3aL,0x2a42b76c7535cd94L,0x00000000000001d2L },
  92475. { 0x7a7d5f3e60ea3972L,0x03495625a755ec1dL,0x441847032b183692L,
  92476. 0x8303d22fadd33ccdL,0x6932dab9215523e8L,0x26f696dea7164118L,
  92477. 0x682a8f9abb3aa620L,0x86aa638d15247803L,0x0000000000000078L } },
  92478. /* 60 << 280 */
  92479. { { 0x51849a5b53fbf94cL,0x2436d1f33647dfb1L,0xbfd7dfe1ac158d60L,
  92480. 0x4157581eaba95982L,0x574c1d648b89798cL,0x6d659219754f1eb0L,
  92481. 0x0654acce001d0c68L,0x8f1cafc9c86fb259L,0x00000000000001aaL },
  92482. { 0x96cf49426662061dL,0x6928d7c4565613e2L,0xfa3e5e7011afa907L,
  92483. 0x2bedac91cd3c3062L,0x7b05951c87adb45bL,0xa2b68ef665e3fffeL,
  92484. 0x682b65bedb7b8c54L,0xf8ef1353338a27a4L,0x0000000000000153L } },
  92485. /* 61 << 280 */
  92486. { { 0x3eec74aaf0d73d13L,0xb1200378a199d41eL,0x0501130712fce9ecL,
  92487. 0x59e08d4685af38d6L,0x1c3028b097eb7439L,0x4389b2a7c8c2d7f4L,
  92488. 0x41155e4c03df89a8L,0x06a993c37e415914L,0x00000000000001e3L },
  92489. { 0x1a57145402fb35d5L,0x818c71f0107f51ecL,0x009f840d42da6adaL,
  92490. 0x67e4374f54a5468dL,0xf2250a74b245d86aL,0x09bc3e44bca120b1L,
  92491. 0x6fdb2a6b308416a3L,0x0bd60e1c6a9146c0L,0x000000000000010fL } },
  92492. /* 62 << 280 */
  92493. { { 0x19ba4fdb0b35a9e4L,0xfc93eff181057e1bL,0x852ae0abf5380848L,
  92494. 0x910c30d66877b719L,0x3bf62a9503916cb0L,0xd56a881ea3c2d070L,
  92495. 0x256c3542a356f757L,0xcef8a8d929d75c65L,0x000000000000007eL },
  92496. { 0xca44a43576ea795bL,0x611ecedea8f27192L,0xfcb3a868de9182bbL,
  92497. 0xac04e9d7dfa3eca5L,0x03f47adae89f80a7L,0xde7b801854858348L,
  92498. 0xbf27c5a14a0e3befL,0xcd91a04d3461a145L,0x0000000000000117L } },
  92499. /* 63 << 280 */
  92500. { { 0x76dec50fd577c07cL,0x5a1d94bf5a8d2c7aL,0x871183453616e745L,
  92501. 0x8b4e25d136e7d7daL,0x0464ac2c0033ea1bL,0x62f6569a2c5caacaL,
  92502. 0x1989e0f6d2649cc3L,0xcd5990464b02997cL,0x000000000000006dL },
  92503. { 0x8df4238f7a8f232dL,0x04a5230661f90575L,0x179274765fdb83b7L,
  92504. 0xddba74da6f09f3f4L,0xf6cfd200793d48bfL,0xe3ee41a1c980f85dL,
  92505. 0xab48c17ae75f5667L,0xb09a7c62d4d971e8L,0x0000000000000009L } },
  92506. /* 64 << 280 */
  92507. { { 0xa99e0fa88b404760L,0x5f6b7eaa28835bbaL,0xebe75466811f0bccL,
  92508. 0x3d69da3e9d0fffa4L,0xd815e361185f1ae0L,0x78623276b30ff597L,
  92509. 0x3518246ea8466de1L,0x3c8e0d4a516b0e43L,0x000000000000003dL },
  92510. { 0xf4bc4434d1614abaL,0x49d062b7bfedf3abL,0x878c93290fc7e5b4L,
  92511. 0x727ea9198a92c516L,0xd159dd269ac43994L,0xcc04bc19c25a36a5L,
  92512. 0xcc7ffb96172789e1L,0xc136b9c92f2ee22cL,0x000000000000014bL } },
  92513. /* 0 << 287 */
  92514. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  92515. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  92516. /* 1 << 287 */
  92517. { { 0x758be5677ed6ead3L,0x5aab37984ea30f41L,0x8a66701d724bded8L,
  92518. 0x3e1ad9a070544b4aL,0xd0286777ee940423L,0x3335377b329a995eL,
  92519. 0x244d471a4eee58a7L,0x32d4dfa067275e49L,0x0000000000000105L },
  92520. { 0x7ef7dd10f91eeef2L,0x51c22e8bba0c7d57L,0x45c515d485233341L,
  92521. 0xd9d7cefcd353231aL,0xbef9d961da5bd561L,0xa5110c6f5531a41dL,
  92522. 0x0f1f7a194328f21cL,0x1ad6d24c49ec18e6L,0x00000000000001a9L } },
  92523. /* 2 << 287 */
  92524. { { 0xbf2ffcb76e640a8dL,0x63479501a0b5a07eL,0x55bb30015f36f2e7L,
  92525. 0x9890f999058a676aL,0xd9ee341b455c0d27L,0x6c95780c18e08fc8L,
  92526. 0xeb63a675442a075dL,0xce46a1a5fb69da00L,0x000000000000006bL },
  92527. { 0x8c618934f3ed6253L,0xe00342446e9433b4L,0x989b99214260b2c5L,
  92528. 0x11699804d9df4747L,0x125fe61f763a7f63L,0xa972786dc6ec395aL,
  92529. 0x662f9fe7b7b7b8c6L,0xfb644a615456556eL,0x000000000000008aL } },
  92530. /* 3 << 287 */
  92531. { { 0x2014334668cd4338L,0x46b6c25dddec02b3L,0x7ed7b8e00f3bdda3L,
  92532. 0x233b739abd4bfa08L,0x5d637074764e5f80L,0x16dca3c8bf2e9eb6L,
  92533. 0x833e08beee088b75L,0x2e6d8782d0ef69a0L,0x0000000000000067L },
  92534. { 0xdd6bac439054fc97L,0x20f0fe3f00b0046aL,0x1f53f565aa8b318aL,
  92535. 0xf74826286eba16cfL,0x899f86ddb055944fL,0xdecc577c4b26279cL,
  92536. 0xefd021ba3dd92904L,0xa8be3c70f9aa1d87L,0x0000000000000029L } },
  92537. /* 4 << 287 */
  92538. { { 0xed29c2ffb0bb44d8L,0x0874c2a5fa00ddabL,0x9398e8a2065a4a5eL,
  92539. 0xa6e1952691aab917L,0x20a816ac667898deL,0xda4b97934b94a66cL,
  92540. 0x6fee1473b00e36e2L,0xcd9958d793a46ce6L,0x000000000000000fL },
  92541. { 0xeab9fa64a362872fL,0x87cc55b095457fb6L,0xe3e3f13d3c702019L,
  92542. 0xe025b3c8ff6208c0L,0x8fcd5b2fd8b8f87cL,0xcf9ded31789bc9edL,
  92543. 0x7474244818d40f49L,0xbf14e1f046c33140L,0x000000000000016dL } },
  92544. /* 5 << 287 */
  92545. { { 0x509b4ebd2a3f7a56L,0x284be6724315de88L,0xd9bc95a7708c6237L,
  92546. 0xb614a4d485dfe317L,0xe35de3d30c1c5737L,0x9e0b17191bd97337L,
  92547. 0xc3b084f841c2b929L,0xce03487b0953b7ecL,0x000000000000019bL },
  92548. { 0x35d5de3da22978fbL,0x7207c915b2212285L,0x109219a2328771e5L,
  92549. 0xb262f06c8716c153L,0xc47aadea45f2bdfdL,0x7032cbeb4a1497f4L,
  92550. 0x1603a5f69eabdf95L,0x56c6eb2bf53bb028L,0x0000000000000033L } },
  92551. /* 6 << 287 */
  92552. { { 0x0aa08334a3a5a2a2L,0x7b1e2f91dcfc5939L,0xe1c64158673e221aL,
  92553. 0xa9ce2061cb3319d0L,0xb359c34b977a9b41L,0xc127af82b7f9fc83L,
  92554. 0x18ada73481166c12L,0x1c4c48fb092d64d4L,0x00000000000000eeL },
  92555. { 0xfed1a8da4c5015c4L,0xefd54478526e1897L,0x0ac4f64075bbdc91L,
  92556. 0xc0774cce910661ecL,0x699bb035c30ccc07L,0x836b7b1780952ccfL,
  92557. 0x03b8bfef9788bdc1L,0xb24604c5fd47a69dL,0x00000000000000d6L } },
  92558. /* 7 << 287 */
  92559. { { 0x8f58d77c3904520aL,0xeaf3076af6db1f47L,0x249c1fdb6a139301L,
  92560. 0x26211ebaa843505dL,0x4d3b5e4366b80789L,0x9adf20c48887bf76L,
  92561. 0x411b47eb328f97c2L,0x3d00025636d82c8aL,0x0000000000000022L },
  92562. { 0xf0826b0c86b4639cL,0xcc429385bf2141c6L,0x72d72d948f036210L,
  92563. 0x4aa9b7afc64f7650L,0xdfeb64b0b237cb8bL,0x7f901ff757a7461fL,
  92564. 0x273abe41dd134f03L,0x026d1740005c1f46L,0x0000000000000033L } },
  92565. /* 8 << 287 */
  92566. { { 0x35e7af927e198aecL,0x2937b845ad58220eL,0x9c8c65cc625b0972L,
  92567. 0x91991d8a1a9911c8L,0xc9f134d90a4ef588L,0x1cbe5c250e01d57fL,
  92568. 0x4c31016e85251d47L,0xc587777652dc527cL,0x000000000000018eL },
  92569. { 0xa9232336d429c5f4L,0x60454705bfabb412L,0xf5f84846794cc5c2L,
  92570. 0x1bd49ea0bfc8532dL,0xd4b45b2c3042cd43L,0x49590033374ab02bL,
  92571. 0x78770266ee464c45L,0x0a33044eda262362L,0x0000000000000144L } },
  92572. /* 9 << 287 */
  92573. { { 0xcc4bae5e0e57b63fL,0x3d11ca0f42641e4eL,0x3bbfa96aefeece66L,
  92574. 0x4857057f6abcde9cL,0xe796df9dc90f2d13L,0x28e49c241a945e44L,
  92575. 0xb57f90935abaacacL,0x49a910222d46547cL,0x0000000000000058L },
  92576. { 0x868bc6345a6f0bbfL,0x466dce120f7ccec2L,0x23df20ee964331dfL,
  92577. 0x281867e6b92cecd6L,0xd198e769f76f2ce7L,0x2461e009b02bb0f6L,
  92578. 0x1a2009db2911f73cL,0x112c2f8e0897b7efL,0x00000000000000e8L } },
  92579. /* 10 << 287 */
  92580. { { 0xc17c5414720aebb3L,0xeaa1a7b97089e6bfL,0x9ee50ba136de9f22L,
  92581. 0x4beb00685b3bf8ddL,0x330e8c045b3f6992L,0xf477636d6e7a978cL,
  92582. 0x5799678a9543861aL,0xceb7d074810077e6L,0x0000000000000019L },
  92583. { 0x0d20db6dcafef71cL,0xb1c02cba35fa4e9fL,0xeb6628684630ee0eL,
  92584. 0xda4bbe8c88265202L,0x71b53dc3e1aa127cL,0xf4e2e52f0abcaa62L,
  92585. 0xe4c4cc96f8f6c926L,0xf9cf5ba414aaf997L,0x00000000000001e0L } },
  92586. /* 11 << 287 */
  92587. { { 0x34d27e320a34e7b4L,0x7fa34a4218845536L,0x54f38c415010e48fL,
  92588. 0x1d19749a05382614L,0xcd7a8eea88443b45L,0x12534e16ab25cc4eL,
  92589. 0x609939ae83f50958L,0xcd6795401a366d0aL,0x0000000000000027L },
  92590. { 0x877cd4c17f225eb8L,0xb0125faa2fd2154bL,0x4ee9df665f1aa132L,
  92591. 0xb14bc327752041d4L,0x606da47f0db62194L,0xf4f0a39330e3f6b3L,
  92592. 0x7f0d0e0743435381L,0x4078be8ab43b6346L,0x000000000000013fL } },
  92593. /* 12 << 287 */
  92594. { { 0xf946ab5188098f73L,0xe98c6e73ffd8bc23L,0x30d30a3c98758f69L,
  92595. 0x302d5f8fbc8e359cL,0xadaa2ff6fcd2f1fcL,0x694de81c4adec57aL,
  92596. 0x69735a5a97698a60L,0x15bbae8c2d55531dL,0x0000000000000164L },
  92597. { 0x2398abf08c6b2d9bL,0x258bdc0e9ec5ee96L,0x80aca75ca9bf887eL,
  92598. 0x3e3adc8cd1495ad2L,0x1a30f94862d2f571L,0xebdbf063989dda10L,
  92599. 0x86bddede74d3efaeL,0xa42598aac749c868L,0x00000000000001f4L } },
  92600. /* 13 << 287 */
  92601. { { 0xb8f4898284e24afbL,0x5df2eabb25b308adL,0xce0372215016261dL,
  92602. 0xcf815e15125443d4L,0x0e41691c69ba86afL,0xb766cbd5d8f262a8L,
  92603. 0x4ed7451e7fb6ecf2L,0x5df5ae6ef7f4659eL,0x000000000000005eL },
  92604. { 0x93994f1bcb7e522dL,0xc69bb9db8eb5bd8cL,0xc5a23729da4ece9fL,
  92605. 0x33f2b7fbf2b293e1L,0xef4bcb035cb85fd4L,0x6c325c5ad8976753L,
  92606. 0x5d3acef4ea95ccb4L,0x7ec98c6cc5de15c3L,0x0000000000000053L } },
  92607. /* 14 << 287 */
  92608. { { 0x6af0b935c936a7e5L,0xde94d724d4a248abL,0x0491c733594e53b7L,
  92609. 0x238ef5341ccd7088L,0xaf0e791e4f5052c3L,0x70cbea8110c3411dL,
  92610. 0x6b7c8574577d38bcL,0x00e147ae4ea6a924L,0x0000000000000085L },
  92611. { 0xcab57e2a497b793dL,0x3f642966edf47059L,0xa276326d2eb66b98L,
  92612. 0xeba64255a76e1221L,0x698fd276d23677b9L,0xcbb4637445a0625dL,
  92613. 0x5d92dddc50b672ebL,0xbef8ccd00839333cL,0x0000000000000091L } },
  92614. /* 15 << 287 */
  92615. { { 0x262fcdfa594f0099L,0xafc1ab5cbe87ba17L,0xfcb0b4ee7101073dL,
  92616. 0x015c42afebd8503dL,0xee71a1a41b5a7741L,0xd77265524bdea91fL,
  92617. 0x1bfe39a18879ccceL,0xb0ba1bfd516f30feL,0x00000000000001f8L },
  92618. { 0xcc05e22168028efcL,0x248242e61ad5d85cL,0xfa93caa2de771fc2L,
  92619. 0x76d50a1a7d5ef758L,0x028a0b8d7b147dbcL,0x00f8e82a37b904dfL,
  92620. 0xe105ca38ea612d6aL,0xc985187504292b07L,0x000000000000007fL } },
  92621. /* 16 << 287 */
  92622. { { 0x225420c396139042L,0x90a38d5c5bcf13cbL,0xb99a43ae99d999b0L,
  92623. 0x5bbbe4d450a20372L,0xaa92420245a7eda6L,0x49543e058bb2a5b6L,
  92624. 0xbd11556497d32f2dL,0xc57d1af95d680f19L,0x000000000000016fL },
  92625. { 0x93af05115ff37259L,0x89c88bef9b9cc398L,0x85526ff5a91987b5L,
  92626. 0x8b7bb52adfbf9615L,0x25767d030839c531L,0x6b15aa2e1cd9033eL,
  92627. 0x47490261dfae7d95L,0x4ee02157e7e1e8edL,0x000000000000015dL } },
  92628. /* 17 << 287 */
  92629. { { 0x61b3233b6fc2ac46L,0xf300ca4f577be5eeL,0x20751b6858ff827dL,
  92630. 0x84f4dcd94fe2d451L,0xf566f8aebf7191ebL,0x4e0bb7c0ab75d2e1L,
  92631. 0x3d4267d7246dbf2eL,0xce9ecb9b3888199fL,0x000000000000004eL },
  92632. { 0xd53b33dacd5cb1e5L,0x7c62f3c8dde86c33L,0x133ba1c89594264fL,
  92633. 0x41e6d49f69a3d324L,0x3256265cae79db2cL,0xbf68642bd17a25eaL,
  92634. 0xc3828f62f72d6723L,0x4e859cfbd6e41d3dL,0x0000000000000050L } },
  92635. /* 18 << 287 */
  92636. { { 0xfce66781065c3b1cL,0x2f28b538b5195f93L,0x9294fa3ed5f99ba0L,
  92637. 0x32ef709c66c624bdL,0x4c555df34f610d8cL,0x90ee123f438e3d99L,
  92638. 0x92d19b98919841e9L,0x2e228d8aeae83102L,0x00000000000001e9L },
  92639. { 0xb4566d09009cf7c8L,0x60b0ca8338105c3aL,0x9a4fa08aa8da65beL,
  92640. 0x3208ad03b5fde8eeL,0x8462daa4737b4ec8L,0xbc182470a5c1b058L,
  92641. 0xb1bf27ce7f0b478aL,0xdede341e67045b89L,0x0000000000000156L } },
  92642. /* 19 << 287 */
  92643. { { 0x1e44dd062149658bL,0xb1e065c68c59cd31L,0x8c96ff88ad2dd1ffL,
  92644. 0xa18fb42b4f3c3753L,0xdd93c68fc4f74914L,0xf429553b8a075411L,
  92645. 0x12086bb9bee2c2ccL,0xc0662dd733a37788L,0x000000000000002fL },
  92646. { 0x7830ac9733d6e53fL,0xd680aa17f434e81aL,0x2e2c636cbe139240L,
  92647. 0x72e62040f21e8aa1L,0xcb4ac7a150aba0b2L,0x73f9f305362c3428L,
  92648. 0x8582ca9c2d5d90edL,0x272c8dd4ca5ee047L,0x000000000000005dL } },
  92649. /* 20 << 287 */
  92650. { { 0x8cc3adc33883bee0L,0x306b08f63f15b848L,0xbf4896fc2340f68dL,
  92651. 0x19b1de94b541ad34L,0xf343c4602c320a09L,0x1e5fa35ff581b0d7L,
  92652. 0x34d600c7b3db161aL,0x54cd8526e9f8b6d9L,0x000000000000015fL },
  92653. { 0x4aa6ccd6ceb32adaL,0x2c2c5e7e7497bc17L,0x531ec78678791b13L,
  92654. 0xa7f862c881596a68L,0xeb04236972e7ad06L,0x306db5ce7edad2f1L,
  92655. 0x5e7a162ea1cdbb31L,0x06f0b4f3565f914eL,0x000000000000006aL } },
  92656. /* 21 << 287 */
  92657. { { 0x7d799dcfcf519949L,0xf36bf428d2734641L,0x775036b5b77431d3L,
  92658. 0xa5a5c727b6b45979L,0x5aa5863d1c9b3278L,0x9330e8bbbc1f335dL,
  92659. 0xfbf7cb34780d9905L,0x2287f0a50c894491L,0x00000000000000a2L },
  92660. { 0x1f922f765522c3eaL,0x52a337049e9a1399L,0xf0a0d965ba537263L,
  92661. 0xb18778ccb87027faL,0xf15ece21a7bc1a07L,0x34ff0a5a0ebbdb94L,
  92662. 0xf7875a19a18106b2L,0x6e17627f9432c0c3L,0x0000000000000040L } },
  92663. /* 22 << 287 */
  92664. { { 0x5f16528ba968accdL,0xdcfd5dc1261063cfL,0x99c6a790ad45c838L,
  92665. 0x4b83b5dc811ff9d4L,0xc3c067f23c3deab8L,0x447ecca83496c2cdL,
  92666. 0x212e9948ad2663c3L,0x080d13f5354fdc23L,0x0000000000000074L },
  92667. { 0x4e4a2ffaf202bae2L,0x12ee692f0b704ea5L,0xdf48fe7d66a3e286L,
  92668. 0x13228b5095bdf85fL,0x65ab3ff9422dbe99L,0xfd795432b376e1eeL,
  92669. 0x7dca34ac0de9e917L,0xf907ad9a8614521dL,0x0000000000000159L } },
  92670. /* 23 << 287 */
  92671. { { 0x6a62326cf2bef374L,0x0148ab35d0229744L,0xfec14cf2e5c28016L,
  92672. 0x7f7a20b8f2913691L,0xe68c19f0a7a66511L,0x64181257c831bc8bL,
  92673. 0x79373addb8bf5318L,0x3be916c44ab48ca2L,0x0000000000000197L },
  92674. { 0xab6dc2ae0e694594L,0x3e6d6dee6f24abaaL,0xe8f7befa436d78e7L,
  92675. 0x40917244dce86463L,0x04837770fb488d63L,0x1645ed1b53cb01f8L,
  92676. 0x492f484212320a08L,0xeea413edf21580d9L,0x0000000000000033L } },
  92677. /* 24 << 287 */
  92678. { { 0x1bcb1d73c96d566cL,0x0b51a27a1b6f4d02L,0x773be48b463d8fc1L,
  92679. 0x267e606a6f19334fL,0x67a49a30db4a4bb1L,0xe33033bb6f476620L,
  92680. 0xa2e4076b92025915L,0xb1845ee448f182afL,0x0000000000000070L },
  92681. { 0xdaf44e82d2f77d9cL,0x753f7f717caff6b8L,0x7fda258ac5d9943fL,
  92682. 0x2f47f8379b012134L,0x9cbbdae94d2a9bebL,0xdb39f169221f799cL,
  92683. 0xee68daf32048a54bL,0x36939e9d7f5aef38L,0x00000000000000f3L } },
  92684. /* 25 << 287 */
  92685. { { 0x21d565da891c0901L,0xe7258e5a02e8d871L,0xf7683e6e8d22ac60L,
  92686. 0x40188b73d38b13aeL,0x09f41af92bf12facL,0x3a928b645a7b3178L,
  92687. 0xb7eb9139de59434eL,0x12c96b6ff71e130dL,0x0000000000000003L },
  92688. { 0x0e18e0904423f103L,0x5e5184ba34e17c6bL,0x8fcf43a26fb05bb9L,
  92689. 0xe5990252181ce682L,0x7deda4923df077f4L,0x37d276b504c18d50L,
  92690. 0xb95438914c706ccdL,0x94d023c4ddbcb26eL,0x000000000000010cL } },
  92691. /* 26 << 287 */
  92692. { { 0xabf61a9ea3b3f8c3L,0x90237370b62fc9daL,0xc1d3de232c5128dbL,
  92693. 0xf67097fb65ae3521L,0x0016debd78d68d97L,0x23ea15ddeeb9df30L,
  92694. 0x4a09e240431259f6L,0xeb81173106ffdc4bL,0x000000000000001cL },
  92695. { 0x3c709776a20611b6L,0xd695948645d62433L,0x86c9232cc8344819L,
  92696. 0x636675f6a260c3b3L,0xb927e00a2b6adb42L,0x9644f9e9f1c8c3f9L,
  92697. 0xa0842190e01260eeL,0x6ea161f8e2a15fa9L,0x0000000000000127L } },
  92698. /* 27 << 287 */
  92699. { { 0xf245e320841600e3L,0xc597f039837d15e7L,0xa427b0c93669ff83L,
  92700. 0x1b1fa11c054ce42aL,0xf985c1ab66e1c039L,0x7ee24b84af17c731L,
  92701. 0x90d42d66f467a998L,0x670192d6222a6bd6L,0x00000000000000e4L },
  92702. { 0x252106f6b89fb34fL,0x8fcde56c7af89916L,0x9a6897639a7b371dL,
  92703. 0xd92b0bdc14b4d750L,0x295cd60df7fe2ea5L,0x4f16e7fa93025bb9L,
  92704. 0xb50d8e98acc07895L,0x0b2c2aab85295081L,0x000000000000001fL } },
  92705. /* 28 << 287 */
  92706. { { 0x84450f4a2d3a1514L,0x1ca1912da211fa6dL,0x18a4e99f487df3dcL,
  92707. 0xae9dd13e6535495fL,0x0ec3771fba83ee44L,0x3ef3b94359ed9f53L,
  92708. 0x0bae7d1fa163406cL,0x387121a0b815b7afL,0x000000000000001cL },
  92709. { 0x2dec1270f94fd988L,0x21680d0e3d3b53e6L,0xcc653cca28c69753L,
  92710. 0xc03803d715d406f8L,0xae4e927ee939bf4fL,0x01dbf41d381933f7L,
  92711. 0x602169e07ef8dbc9L,0xe782930581026dd0L,0x00000000000000aeL } },
  92712. /* 29 << 287 */
  92713. { { 0x793030dcfec9973dL,0x5e9bc45d259f2cefL,0xf691294dfb8710e9L,
  92714. 0x371e0880556e5077L,0xe396fa2c3875f837L,0xc8062d5a607aa969L,
  92715. 0xd17b9ac343675d61L,0xbe71883cde013cf2L,0x00000000000001eeL },
  92716. { 0x4495699ba7344978L,0xf546f5591c109544L,0xda2f84f37dd1fa4dL,
  92717. 0xce4166a343595270L,0x1341e861a7df4f65L,0xf6ee6a0739292f29L,
  92718. 0xe61f4613e5f02532L,0x3b36f58881f967c6L,0x00000000000001f9L } },
  92719. /* 30 << 287 */
  92720. { { 0xccfc7051875e2133L,0xfc3c0b55821f76a0L,0x544e229fcd8ef672L,
  92721. 0x3666479347494f15L,0x22c05e5f109b2ce0L,0xc294314c492bcbb1L,
  92722. 0x15beecde16558d91L,0x4518316761ae3008L,0x00000000000000a6L },
  92723. { 0x80bc2b2c26c28852L,0x941f0224510b0086L,0x0fcb9de4abffeb4cL,
  92724. 0x0b1e80a966f723b4L,0x186fcc2be5cd0627L,0x8b1df932ca71dcf8L,
  92725. 0x789cb0a1eb01452cL,0xb2e81e3681ffe1eaL,0x000000000000009dL } },
  92726. /* 31 << 287 */
  92727. { { 0x1d0a215efdb151faL,0x3e242b9cb0e023c9L,0x7b69678cc83b6d8bL,
  92728. 0x2e8beb24f99e1e2cL,0x93149d54e690affeL,0x2b4e1f769b805cc9L,
  92729. 0x68ca06fa9599daa1L,0xeab0311f5ca75c0fL,0x0000000000000170L },
  92730. { 0xa1012deb5102ca3aL,0x72335ccf4312d2e2L,0x1012b2bf4ab55d59L,
  92731. 0xd09a5f033368547eL,0xd9b1570985acd78fL,0x6d3b9f42f7e576dcL,
  92732. 0xc1de787eea6f8f55L,0xac3238aafb4c948fL,0x00000000000000fcL } },
  92733. /* 32 << 287 */
  92734. { { 0x5ec6427b05487074L,0x0b59fa1f80c426adL,0x0207d510c9946594L,
  92735. 0xba1fe985d38f83d0L,0x113aec98c96eb133L,0x3424ad0182515193L,
  92736. 0x3eb15aeffb6f9b10L,0xccb719e8f15d8be1L,0x000000000000013cL },
  92737. { 0x63f898834c67518dL,0xb5ca3508f85eb1d9L,0x1ea1c74faf652b25L,
  92738. 0x4fbc5476bddedc4dL,0x22daa81af4b33c74L,0x9f7941a03f36ae29L,
  92739. 0x90c2b8cebca5ca40L,0x53e736a1b587b3d6L,0x00000000000001b3L } },
  92740. /* 33 << 287 */
  92741. { { 0xb2c4b8f8fdcda3baL,0x5913f72464002d11L,0x978aed4cec7c81e6L,
  92742. 0xfb9e4c7819795e08L,0xa63ad972e046e1ddL,0x4c913ef2ca493c76L,
  92743. 0xa7b7de5c67d5a177L,0x34ea3faed5d548edL,0x0000000000000076L },
  92744. { 0x263ab24db8e17278L,0xf9db154a9ade657bL,0x66eac09c731d358cL,
  92745. 0x40f840edb8d08934L,0x409adfa60c35b4adL,0x96e6e42913ed3e4dL,
  92746. 0x4f8bc420d468368cL,0xbe6e5b6a5f85e95bL,0x00000000000001a3L } },
  92747. /* 34 << 287 */
  92748. { { 0x739e7cd7ebab693dL,0xcd08edef192f5597L,0x34ce91e9b4ab362eL,
  92749. 0xbf0869027d8e9063L,0x9f85b3292893d739L,0x7b7713eb12c08939L,
  92750. 0x81aef3b177d34b27L,0xfa873780f155d573L,0x00000000000001f5L },
  92751. { 0x1ec60390a76da4e5L,0x14047fa7fc79130aL,0xc4e484be8c4dd66cL,
  92752. 0x347d3c918b008f74L,0x7a9fc84aca0ddaedL,0xde23768b59c02ff5L,
  92753. 0x353ba3ed8983d294L,0x70bfbadad7535907L,0x000000000000016bL } },
  92754. /* 35 << 287 */
  92755. { { 0x7dd4835098829cd0L,0x6839f375c56e3a5eL,0x860921cb36c4f91eL,
  92756. 0x0ca5e0b8159903ddL,0xb123ae8b23724973L,0xaa807279fb25d155L,
  92757. 0x2b58fcf5f2d0840eL,0x33c635c7409f55e2L,0x00000000000000efL },
  92758. { 0xbdba4c387aa5323bL,0x8b3acb9b864fe257L,0xd440031e6ae45ddbL,
  92759. 0x37b9bb525d86d712L,0xcc88786333cdcabdL,0x1f6533527c1daefdL,
  92760. 0xc7bcc11e8a84fdccL,0x676e3d84b34be64aL,0x0000000000000004L } },
  92761. /* 36 << 287 */
  92762. { { 0x0b7c799943b4fc88L,0x47ea96a46a55dc86L,0x67fe6b4ba0bec552L,
  92763. 0x8164398732aef8ebL,0xcbe3ebf7b23195ffL,0x23a03ed1b70013ccL,
  92764. 0x3bfe99e80f6a4762L,0xdee758be7483a709L,0x0000000000000190L },
  92765. { 0x05a52134be5007a9L,0x869f393c68e4cf51L,0xc7b56267c28c1a88L,
  92766. 0x2bd98f7e0dc40b0cL,0xfa631a8321f9d503L,0xde940d201fa14801L,
  92767. 0x26fdb625c3e152acL,0x7f72d33650d8d6edL,0x0000000000000093L } },
  92768. /* 37 << 287 */
  92769. { { 0x7298111644c81fefL,0xff5c80aa32f7a76bL,0x82f5d039182a39d7L,
  92770. 0x2f32365a7960f5f3L,0x0488e8918cb0e827L,0xd8549d180721822bL,
  92771. 0x5c80c8d57d9cf4dfL,0xc607bd030ead496bL,0x0000000000000016L },
  92772. { 0xc7ff1e33ab77acf5L,0x1a514f0a044e2661L,0x12911922b906ce12L,
  92773. 0x847951f023f86570L,0x83242de153bd17b8L,0xd04a3e96190ad7e7L,
  92774. 0x3445dc26604be4d6L,0x616a61a208bac680L,0x00000000000000d9L } },
  92775. /* 38 << 287 */
  92776. { { 0xdc35d8c52cfeea6bL,0x45a9d97d99c6b24bL,0x727b2ff281261d8bL,
  92777. 0x87bfa12e9a446a97L,0x44b5cb46d045b1efL,0x4aae3f8a70c29285L,
  92778. 0xb911c6a8e7a014a0L,0x0692e0e36e1c9679L,0x0000000000000117L },
  92779. { 0xa3759e511300d87eL,0x461e8bd13ce09839L,0x55a8b8194932e9acL,
  92780. 0x0623e3207eeff04fL,0x6f21721881e0ff93L,0x0b726fc0f9ccdbceL,
  92781. 0xb94f97d15fb03e1eL,0x9339f75bbbd8417fL,0x000000000000009bL } },
  92782. /* 39 << 287 */
  92783. { { 0x4b7fd5cd70221112L,0xe95de56b71ae6670L,0x2cb7d98df08bbdedL,
  92784. 0xabcbcd2fe57331a7L,0x69c3b30710dc3694L,0x5587e28e8e64f72dL,
  92785. 0x29d7a61b02846a2eL,0xfd4abcfac88e66c0L,0x00000000000001f5L },
  92786. { 0x80ba4555d4f9d318L,0x7038827722c31c44L,0xeef78af085d0468aL,
  92787. 0x846341582221ca01L,0xc8ec963f726e877cL,0x3aba70060d2be74bL,
  92788. 0x71274ecbb2a71a81L,0x4a7c7680a6648fddL,0x0000000000000016L } },
  92789. /* 40 << 287 */
  92790. { { 0xa5d6c61faae6fe14L,0xff4fd50037b0da63L,0x087ca2202386bb0bL,
  92791. 0x80a0d03deb70f71aL,0x1b5ed1d861b7b396L,0xc49483c906218384L,
  92792. 0x3a3b534cb715959dL,0x4109d89408511c23L,0x000000000000018eL },
  92793. { 0x0524d716504b62e2L,0x514f91699a0104bbL,0xc41c74c8e9c613c3L,
  92794. 0xce7a9561b4df2024L,0x17116cae95be7a5aL,0x372d47642172e2c5L,
  92795. 0x9aadf8d65aae7d3aL,0x77bd6304d35903dbL,0x00000000000001baL } },
  92796. /* 41 << 287 */
  92797. { { 0xdc15770ef840ae67L,0xa3aefed136f17978L,0x38cf706b58806eafL,
  92798. 0x7b5317312b8ca8e1L,0x45c9f9de1eb7b6cdL,0x8410e75a44a70febL,
  92799. 0xd362903a942c4e05L,0x43e5ec0b482b04fdL,0x00000000000001a0L },
  92800. { 0x176aecfcf569465bL,0x8c6de88ca5f800a2L,0xb4efde01873fdbb3L,
  92801. 0x1d4f10aa523beda9L,0x7299f81d77f8dd80L,0xae24679ffafe5f4aL,
  92802. 0xff5eedaf142ab79fL,0x4f0aa1d58274cfaaL,0x00000000000001b3L } },
  92803. /* 42 << 287 */
  92804. { { 0xd9e66f808bbcda48L,0x6bf81e10ab2f71ffL,0xc0410a0051ca5f9cL,
  92805. 0xd4c92b1195d2aff7L,0x83f38269af7927b1L,0xab3223cedeb329c8L,
  92806. 0x1efd631048360a2cL,0x8aa5d85e4ed0a930L,0x000000000000018fL },
  92807. { 0x595e653509c61585L,0x00203ea9f8489891L,0x4a048a9784a2d1acL,
  92808. 0xc3ccb4d21c6df789L,0xe7d740b3ab880e8cL,0x6345e96775fd1a87L,
  92809. 0xf5636d795359993fL,0x100b98e94907e135L,0x00000000000001d9L } },
  92810. /* 43 << 287 */
  92811. { { 0x8f91e1fd96799962L,0x55b13fe2a1ccf057L,0xded45a5794d8177bL,
  92812. 0xb9dceec579709266L,0xe3be73222eb10923L,0x8b06ffc8fc82aeefL,
  92813. 0x46d6485a742741aeL,0xe1e0f1bc0e82d8e4L,0x000000000000013eL },
  92814. { 0xced2707e39ee8a27L,0x5c2664879dd5a0ceL,0x1d4115d44e369f35L,
  92815. 0x92c350e24ba9cf2dL,0x6533ce6ab1d46440L,0x633115437de4fb1eL,
  92816. 0xdc75f32cc0b8f159L,0xc04579e13b5b946fL,0x00000000000000f5L } },
  92817. /* 44 << 287 */
  92818. { { 0x980752e1b618c3fbL,0x1c15864b25161e86L,0x490bec9c83024300L,
  92819. 0x20d33fca89ce7925L,0x34c7ab08582837dfL,0x207a275e0bfd6076L,
  92820. 0xf09157704f9e58d0L,0xa8525b2f1b53bc52L,0x00000000000001c4L },
  92821. { 0x1a6f37d694130fe7L,0xbc72fdaaa18d2529L,0x6e51aec7bb557067L,
  92822. 0x44860fc5147b7b40L,0x64f81f1cd254589cL,0xb4ba31930406123eL,
  92823. 0x9dd412efe8b8be32L,0x8dbcb40b15702711L,0x000000000000013fL } },
  92824. /* 45 << 287 */
  92825. { { 0x9eca299b06a27b5eL,0x79f6fdc3bc3f5221L,0xc5b3305b7346f300L,
  92826. 0x570a19511022cff2L,0x58740fccc5207454L,0x5215d8164004ea39L,
  92827. 0x522224c739c8ddd9L,0x174c95e1039a27c5L,0x0000000000000001L },
  92828. { 0x4f69c604296bcce0L,0x51755ce45119beb1L,0x3d12e7d8a35cc907L,
  92829. 0x360935b0ab351798L,0x75eba43bc11b521aL,0xaf991a2cd31467daL,
  92830. 0xfaaf67ac17e63972L,0x44abfc569f13868dL,0x000000000000003dL } },
  92831. /* 46 << 287 */
  92832. { { 0xec7238d7c2d59d30L,0xaa4ef2e4aaa203fcL,0x566f58f4dcf9fc1eL,
  92833. 0xc8474f1a0869c0e1L,0x2d77f6726ad3ccd6L,0x9325fbc3dbfe2d82L,
  92834. 0x2860c924182a952fL,0x07b221d085b5769aL,0x000000000000000dL },
  92835. { 0x259039edbb854ca5L,0x70342bbcfc89ff2fL,0xc9a179010e634818L,
  92836. 0x6a06796dc81f0292L,0x3f625bdd35063f58L,0x5d78a549f498f7f7L,
  92837. 0x5fb6be9d911b1e7aL,0x9a3fb5bc3ba9e1daL,0x000000000000001aL } },
  92838. /* 47 << 287 */
  92839. { { 0x5731b8f3d98e6e5dL,0x6778b260d5a03ad1L,0xf279515b649b1ebcL,
  92840. 0x48610ff53312d0c8L,0xd389681f46354ff0L,0x80e063c9ef3c2717L,
  92841. 0x10ce407a83f0dd58L,0xbee78d46158e8ac2L,0x00000000000001b0L },
  92842. { 0xb5676bdb1a5531b2L,0x3ce62d7f2fb26867L,0x76e1b2152b0af296L,
  92843. 0x76875d567a42d01bL,0xb59fbfcb56991384L,0x7faea2f32de3a3a4L,
  92844. 0x06298c2772f7718aL,0x79264b65651d7515L,0x00000000000000acL } },
  92845. /* 48 << 287 */
  92846. { { 0x4de60e1e16d44fc0L,0x86143bbbd5546f49L,0x41fa8fd595ad6b38L,
  92847. 0xf2f21b350251812cL,0x2f5ade77eb2a57e4L,0xced255c0ac290bf7L,
  92848. 0xd1e7969058b23e1fL,0xba7a7514f406ffc4L,0x00000000000001fdL },
  92849. { 0xe2a9e7bc7b8ce9b6L,0xcc6107e8803955b7L,0x8a59ec8c432fa865L,
  92850. 0x6886d08c481bbb72L,0x0de2fe38db7fcc20L,0x654419299976d353L,
  92851. 0x0527047ec4efae8cL,0xfeec201ee21b2e66L,0x0000000000000086L } },
  92852. /* 49 << 287 */
  92853. { { 0x3f121bc676bffba9L,0xed8f7b175c3251faL,0x4755cd3f2c99c00eL,
  92854. 0xe79768df8e766134L,0x58662ef2b2a09ffaL,0x6f8d645a6a29c866L,
  92855. 0x5973d32426f990c9L,0xae9beecf5ae23357L,0x00000000000001baL },
  92856. { 0x64c20c91b3f0d194L,0x36b4d96ce153d1b9L,0xf294b342c9707d50L,
  92857. 0xb269c9b80599d63fL,0x2aa166e48a672b71L,0xdd8cf8ad8c69d106L,
  92858. 0xe446c91269bb8492L,0x3a5068e1e0afc64aL,0x000000000000006bL } },
  92859. /* 50 << 287 */
  92860. { { 0x7748105e4dfefb66L,0x952fc9823de55ef3L,0xc945662fec01a7dbL,
  92861. 0x57dfc326136c9246L,0x5864f8aab3c0dd2aL,0xdd11387181126d21L,
  92862. 0x096e017bc2f6ee68L,0x2bd384b529f22a80L,0x0000000000000171L },
  92863. { 0x7acc273262443e2eL,0x21f545cefa227e81L,0xbc0f387d716b1121L,
  92864. 0x8756ea78a8d3df9cL,0x91294298cf6c071bL,0xa109d544d37e7a16L,
  92865. 0x2c27c61c4a979e5dL,0xad4662bf6bb98eebL,0x00000000000000c7L } },
  92866. /* 51 << 287 */
  92867. { { 0x8f24735f7ef57d61L,0xfe764b217a74fb7cL,0x6b90cddaa7913c97L,
  92868. 0x89001bfd3d0fed42L,0x874d170a776c73c0L,0x7a7095c6e6fd64e8L,
  92869. 0x5f787a9dc5b6b31aL,0x550f1c531ff8424aL,0x0000000000000048L },
  92870. { 0x384c067743b13b54L,0x65d8884e2e5b67d4L,0x7106b3682b2b005eL,
  92871. 0xc22c663d2cb1f1a1L,0xc3bb1b8294e03ce8L,0x04a562df2d97ddaeL,
  92872. 0x7886ec4ba917202bL,0xa8eb4ac88bb2ae23L,0x00000000000000efL } },
  92873. /* 52 << 287 */
  92874. { { 0xf9a8bc79c269cd29L,0xbe6982a835a97cb7L,0xa7740e027200f43eL,
  92875. 0x72be0da1165175c6L,0xf7c5f902e8aea997L,0x079dd00fe6d7de98L,
  92876. 0x82940a7e0e5cd7c2L,0x615687af6e74f7ebL,0x00000000000001dcL },
  92877. { 0x84a93d46969bec3aL,0x673f8a1a81283fd1L,0x59ae6b7d1a24c4c1L,
  92878. 0x1506e799db5385d2L,0x43f89c2dfaf7c9e5L,0xcd4a58e507df349dL,
  92879. 0x87d1239226eff985L,0x9c7b514286548735L,0x000000000000000bL } },
  92880. /* 53 << 287 */
  92881. { { 0x8bbe703a952e81fdL,0xdf43b74182f9b684L,0x9c6ac3560ffbeeaaL,
  92882. 0x78aacf6dc17fcb23L,0x2698f3bec9ee6c25L,0x707d8033a6fd9701L,
  92883. 0xe844b5ae82b097acL,0x02cbc3fa57be01a4L,0x00000000000001bdL },
  92884. { 0x14ebe4367cedc9bbL,0x1d64fe901c921970L,0xe55c69b4daa0458aL,
  92885. 0x0f68f561da8951b9L,0x606ce9ddeb7f4390L,0x8b249877c8204883L,
  92886. 0xdae70a0a533eea70L,0x8367156bebbfc8d6L,0x0000000000000050L } },
  92887. /* 54 << 287 */
  92888. { { 0x4f085c6b70d71433L,0x500e36aeffe3039bL,0xbbb595eeecdbb49bL,
  92889. 0x49b4a39e84d8418bL,0x657af86547150026L,0xa1b6888f3495dd49L,
  92890. 0x3db61acb5f0cddd8L,0x86208eb95b9b0493L,0x000000000000017eL },
  92891. { 0x378f7c79a3a8e19bL,0xfe9d20c80225c551L,0x7192347f8a7d2706L,
  92892. 0xaf66bd88bd5a1a12L,0x184528325eb963bdL,0x0eddc645fe3cfb9dL,
  92893. 0xc50b1fa21f6d4faaL,0x582fc52f738cdaacL,0x000000000000015bL } },
  92894. /* 55 << 287 */
  92895. { { 0xcd8bb30ccff1f7f5L,0x2e476a3d52375afdL,0x84b205ede21acdfbL,
  92896. 0x0c07485624b6524dL,0x081539bb079c9199L,0x0ff9151612dbacdbL,
  92897. 0x0e2a291d778ea0efL,0x2c6bb624b6ae1b88L,0x0000000000000115L },
  92898. { 0x559603e05013ff58L,0x91ab545e04d6892cL,0xe58c8f9c9aabb577L,
  92899. 0x460c88fc3f50fb7fL,0x1d36f37d2c29abefL,0xc32f5683e698ffa8L,
  92900. 0x4311a22b14f77974L,0x061f7526c6512ae6L,0x00000000000000c9L } },
  92901. /* 56 << 287 */
  92902. { { 0xd0fc63b0ea5c4656L,0x87e24742b04936cbL,0x242865fef6223111L,
  92903. 0x0a1c9f7c88c3fdb2L,0xa1ce393deb785b41L,0xb57b01e50f014ec6L,
  92904. 0x84cd63f91eae978dL,0x28a02cf7615a8787L,0x00000000000001c6L },
  92905. { 0x000d32fb64317827L,0xeec5181bd8ebcb3aL,0x4f559972be5be8f9L,
  92906. 0xaaae45d1ff34fa5fL,0x34330820ec25372cL,0x3d3d88af5f583d42L,
  92907. 0x16e14e2dac9463faL,0xbfe401edd02c6401L,0x00000000000000fdL } },
  92908. /* 57 << 287 */
  92909. { { 0x303f7c2191026338L,0x1044db852d912c48L,0xfc2085c2470306fdL,
  92910. 0xf1ae74d7d6261c9eL,0x9383596cca88358bL,0x40e3fc61130fed49L,
  92911. 0x5b31503e7fb7caddL,0x74ae8b314ede0bbcL,0x000000000000019fL },
  92912. { 0x762dd492f4cfe3f8L,0x73ff4852c626dc61L,0xd71c7548dde18f9cL,
  92913. 0xb0f6e288549faaaaL,0x1e4864e9596d3c8dL,0x9d6ef29060783b2dL,
  92914. 0x4d4887031ec18d75L,0x18bb5d8f44f1de93L,0x000000000000005cL } },
  92915. /* 58 << 287 */
  92916. { { 0xd773ed1b16219cdbL,0xa9bc2d4bfd8c1c68L,0xb43ef1e5878e384fL,
  92917. 0x1b070439a150dd75L,0x8d5c9984e8a4281fL,0x7b4371effe5192aeL,
  92918. 0x4ca528f0fceb6294L,0x3657f78ac01f35a7L,0x000000000000008fL },
  92919. { 0x00b1077093170e8aL,0xab16fb4e1d2e8bcaL,0x9f313a1a4f2f8602L,
  92920. 0x88521cae6b9b2573L,0x6f6bf5ddee331076L,0xcf05b7228e09934cL,
  92921. 0xf8b445c395762a35L,0x2e1579120c892f04L,0x00000000000001a1L } },
  92922. /* 59 << 287 */
  92923. { { 0x3766a4d7858bc9caL,0x295bb5db99714cdaL,0xac54938ab5298fadL,
  92924. 0x2ba0547a429ecfa1L,0xc49c9daef173653aL,0x1de672b7e9d21243L,
  92925. 0x24960d342b2352bdL,0x46067324b31663a5L,0x00000000000001cdL },
  92926. { 0x13eae0f3789923d1L,0xb1849a53eac934d6L,0x354d92ffec456259L,
  92927. 0x88a4b03fe558f44aL,0x8e9d23e101d5bb7aL,0xf5734a3494fdf6baL,
  92928. 0x79e3d56e16e73899L,0x1ed057ee0e63d42eL,0x0000000000000099L } },
  92929. /* 60 << 287 */
  92930. { { 0x287d78f48c86cf27L,0x957ebaca51081682L,0xc5e2c0757ae4db49L,
  92931. 0x4fd137c952000f40L,0x614a4ab213285161L,0x71a6928ddae9e341L,
  92932. 0x9758874ba666dafdL,0x4bc8b6693697e3c7L,0x0000000000000161L },
  92933. { 0x5c31b76a89aac81cL,0x365bcf13bf1fcb91L,0xc64df528441b324dL,
  92934. 0x8b57f07fbe9a9cffL,0x7ae23c2186fb45d6L,0xc3bf3c3b136ebdd0L,
  92935. 0x6b5dc92e6dbd0b61L,0x330886f1d519ef41L,0x0000000000000019L } },
  92936. /* 61 << 287 */
  92937. { { 0x6d2e03fe6d8655c7L,0x0487d0369a5d4136L,0x86b1ba539c89b36cL,
  92938. 0x168a8617c25c8477L,0x818ec8e4ce0b81d6L,0x5f7e1f5aa79096adL,
  92939. 0x3ed99ae7396d84d2L,0x2798c459eef4e012L,0x00000000000001d7L },
  92940. { 0xe6564f4f531b9dc3L,0xb6627fe65b38bbe7L,0xd9ad26a6bea83504L,
  92941. 0x1b9d887b0e3d69e1L,0xb67ab97090f81c05L,0x16c1fc9ffcdbb086L,
  92942. 0xd7732e23d19f14b4L,0x047368461ec62389L,0x0000000000000100L } },
  92943. /* 62 << 287 */
  92944. { { 0x1dbc0bb16ddfa714L,0xda0302b7eec67fc7L,0x6daa1cba5a9dd848L,
  92945. 0x640d3b5ed9e894e2L,0x461653b3f87be8b5L,0x5a9dcbfef36a148eL,
  92946. 0x2e4784fca907eee0L,0x234c8b37b34d04b2L,0x00000000000001c4L },
  92947. { 0x2e70d5abec9c6abaL,0x6e9c28cbf32925b5L,0x77fd60422d0e1d25L,
  92948. 0x216e3254980aa40bL,0x75e1075516878b0cL,0xcc80010706a2ba55L,
  92949. 0x5f1f53368bfe962aL,0xc043f7eae6e46f09L,0x00000000000001e1L } },
  92950. /* 63 << 287 */
  92951. { { 0x2cbaa9d79a7d2353L,0xc8ddfcbfe0405dddL,0xd8b33d0c694fd5abL,
  92952. 0xe1c2a3f3c2c6dfbaL,0xb26f832191fe9c8bL,0xd30b644aa794437fL,
  92953. 0x2a94f86d74a29d06L,0xc249a27839b16ed8L,0x00000000000000b4L },
  92954. { 0xa2e31c29ea3096fdL,0x622d7af518e9785bL,0xf9a9c952c1cf5446L,
  92955. 0xe5c66c9d44c9a592L,0x128613e545227c47L,0xc57169f2f5ed7a49L,
  92956. 0xf5fe83dd15211638L,0x7cfbfa9beeaff7d0L,0x0000000000000140L } },
  92957. /* 64 << 287 */
  92958. { { 0x8645efeb9545bb61L,0xf696af86207181bbL,0x94d3014ca2b2d411L,
  92959. 0xb8f1515665c54db3L,0x6574f1cb011dd592L,0x7d9c69ebf3247ab4L,
  92960. 0x1708b24d5a391a77L,0xaaa19d08312e131fL,0x0000000000000167L },
  92961. { 0x1d3f4510ebaea62dL,0x2186c9c26c118b52L,0x81c0b0afcaaadd5fL,
  92962. 0xa0256b3c665bb598L,0xec461656eced1f38L,0x77bfe65265aa7914L,
  92963. 0xd2600229333f7aaeL,0xd916fbbde1f081ddL,0x0000000000000010L } },
  92964. /* 0 << 294 */
  92965. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  92966. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  92967. /* 1 << 294 */
  92968. { { 0xb64361a93f7cae04L,0x23cfcf76af64efbcL,0xb4539c3cd4965ae5L,
  92969. 0xf16e3e884df1182dL,0x2bf7eed4dd75fed1L,0x831a5956a215b733L,
  92970. 0xc23e3f1a9732d4ddL,0x3644961904677879L,0x0000000000000068L },
  92971. { 0x14675e68e07af31cL,0x82c3d1baabcd16d6L,0xab1b388e6fe13962L,
  92972. 0x3490b5218016a6aeL,0x13b584a11ce7f93bL,0x44265da4a5cbeb76L,
  92973. 0x17e4726763df9697L,0x10144c87cf2b278bL,0x0000000000000013L } },
  92974. /* 2 << 294 */
  92975. { { 0x4e75aeb08523aab6L,0xd32a993258144cddL,0xe7a2ea2d3c055e41L,
  92976. 0xc25dc24e31c1949aL,0x719e3bdaa124dbc2L,0x331bf1820c1b238cL,
  92977. 0x6fb91096fb86656bL,0x6a12ae8db484c49dL,0x00000000000001e0L },
  92978. { 0x4e4b8553e97e59afL,0x6a2b1f0d8e98d66eL,0x9001ace6d49bc96bL,
  92979. 0x70b21c8a3e8d2774L,0xba4c7da4473972a2L,0xf159ea8b7b898adeL,
  92980. 0x7a0e87a0cceda981L,0xb886ab7d2f280717L,0x000000000000003aL } },
  92981. /* 3 << 294 */
  92982. { { 0xdda29d3be583a2c5L,0xbc0632201b0c039aL,0x31c58c6f602b6077L,
  92983. 0xc8ddbb1bbb639a64L,0xdea19aefea3cf3d1L,0xbca9f001e9a2053aL,
  92984. 0xf0ec77121930345dL,0x4f2cddd43b9b8eccL,0x000000000000015dL },
  92985. { 0xeb7851a8abf98eaaL,0x12d75a839dc39602L,0x252365a4ebb5f975L,
  92986. 0x1b9301bcb8efb6a9L,0x0b489a405e8ddd2aL,0xd3629e5fce3b1dacL,
  92987. 0x2064a36707a223ffL,0xdc7e94d10080ee45L,0x000000000000014aL } },
  92988. /* 4 << 294 */
  92989. { { 0xe0828a5b448996e2L,0xdd3f4d9b516e440dL,0x223b4f87ab10e109L,
  92990. 0x766bde384ce7241cL,0x0b1cc320dcaf88a7L,0xb0470e7dd75440d5L,
  92991. 0xe3894e41ba76b7e8L,0xa0341305a762bb9eL,0x000000000000013fL },
  92992. { 0x4f5581d30eadf722L,0x6e4e31e050d8999bL,0xc14bb14802f03368L,
  92993. 0x41f1964326a263b5L,0xc0642e4c3b5f480eL,0x0a3280df63191881L,
  92994. 0x4ee1959a78fa9069L,0x7376078a557a8dc0L,0x0000000000000181L } },
  92995. /* 5 << 294 */
  92996. { { 0xbe2d598bff25ee79L,0x2a7c3b68c82ea4ecL,0x2914f1c160cc7b7bL,
  92997. 0xd9676e92e29a111dL,0xa5c2d63ba8ee3c8cL,0xa5c3ce60331676c4L,
  92998. 0x865ae6a4e189bc61L,0x73e0bc606cc0c210L,0x000000000000004fL },
  92999. { 0xb36fdaebc2480585L,0x9e32b2fb0aa27761L,0xc1bc360f749efcb7L,
  93000. 0x7bb61cd4a1c021cbL,0x78d559a81295d34cL,0xdb3da27d9ed2b89aL,
  93001. 0x2cd8e29bdd5ef272L,0xc8ef3c63de181b01L,0x0000000000000092L } },
  93002. /* 6 << 294 */
  93003. { { 0x1d99435dc6064b04L,0x7fa5fd072b95a7ceL,0x40ef3a291dacc40aL,
  93004. 0x95af1d5af4c68a6aL,0x67a2b605532c2d93L,0xfcb49b4b78620565L,
  93005. 0xf814de99833ae939L,0x5770eba80f620cb3L,0x0000000000000190L },
  93006. { 0xbf93ee90ff475874L,0x334debc1a2a5b169L,0xc67fbf1e68aa4bedL,
  93007. 0xfb1410ed74d07240L,0xb0a00657a9eb3f94L,0x59c6aa0a0f1be110L,
  93008. 0x5d615203b40b739fL,0x8724fc0b4ad94ffaL,0x000000000000006eL } },
  93009. /* 7 << 294 */
  93010. { { 0x30c955f422b25fbeL,0x0469be6e38702ec5L,0x24dc7ed77b4c3dddL,
  93011. 0xbcd2c1e51999ec26L,0x63d42519eb5918a4L,0x5b92b4a9b9272f31L,
  93012. 0xd02102ce79dedbcbL,0x09bae7da4777b662L,0x000000000000017fL },
  93013. { 0x96d4a0c4897b1f72L,0xd481098d85bb152eL,0x226203a263df30bbL,
  93014. 0xca5e74089bb6051aL,0xc89f1c4be0dead4eL,0xf9d8f9b5503a124bL,
  93015. 0x9e73ea84a08dd221L,0x5a898d3d7b5a3e30L,0x0000000000000173L } },
  93016. /* 8 << 294 */
  93017. { { 0x5c6dcfe8fcb68ca5L,0x499866e3902e03cdL,0x28638635cff1adc7L,
  93018. 0xd224bf5d6538cf65L,0x59fac5c2d7c55f70L,0xc710492699cda00aL,
  93019. 0x043001c39ae92020L,0xbaf959dbc325cc56L,0x00000000000000c5L },
  93020. { 0x76aec243e69664a7L,0x0885dbb386d69554L,0xe4a288833647325cL,
  93021. 0xdb1adc9a6e8e47a4L,0x3e2230dab14e1019L,0x49a16a19ac7da236L,
  93022. 0x12eac3e98df54dafL,0x78d48ea77964ab39L,0x000000000000008eL } },
  93023. /* 9 << 294 */
  93024. { { 0x6033de1bbaf7f635L,0xc253533472bc0c5aL,0x8192188210a5ae12L,
  93025. 0xa15accef6c3b8435L,0x6d0c30b8371eff0cL,0x877daecc0e7e663fL,
  93026. 0xae63f47ab0fdba65L,0x9b91f14bbb19f291L,0x00000000000000fbL },
  93027. { 0xf98cbf19c9ed84d4L,0x26265242c73f3fb1L,0x62fba52fa237aff5L,
  93028. 0x561e0ed381f85bc9L,0x18825d251d817972L,0x53de722c9ed3f84bL,
  93029. 0x8a2817fa3854812bL,0xd03138cf3055d672L,0x00000000000000c6L } },
  93030. /* 10 << 294 */
  93031. { { 0xca64371d1b6ba219L,0xaee6dd0f5d49fd5dL,0x3bbf0a2ce222ca70L,
  93032. 0xcdf5981fdfd4aa18L,0xd59333e9703352b0L,0x63c14fbce8c9d667L,
  93033. 0x59c6249ee1c82654L,0xf74f29f7a2f2b42aL,0x00000000000000cfL },
  93034. { 0x78a98f744fb7397fL,0x3b72aacb7d62ee2aL,0x5a2b827142b78618L,
  93035. 0xe73a88377efdba25L,0xe029ba19bb860133L,0x47b0f0fd48745802L,
  93036. 0xb416fb7d8b425a5aL,0x1716aca7838eaabdL,0x000000000000006eL } },
  93037. /* 11 << 294 */
  93038. { { 0x7b5e9555e7377511L,0x764963ddf57ac8a7L,0xc9d4d1202bc0c55cL,
  93039. 0xc89debb21325db7aL,0x768b37c0a42ad0a5L,0x6c47d86ab2c32964L,
  93040. 0x592ce7ff10712241L,0x5fc45fc1874d5848L,0x00000000000001c2L },
  93041. { 0xfaa50c97de74b8a0L,0x3552df05a90e0a0eL,0xd9fbb1a5d216a436L,
  93042. 0x08a1940cd78657f8L,0x2d91c2d64f5a0ba1L,0x0c1b9d61812b8946L,
  93043. 0xe048c827ea96bec8L,0x71315883fa6e2770L,0x000000000000016cL } },
  93044. /* 12 << 294 */
  93045. { { 0xcb52bfa5386c4e0cL,0x9ad631ce173c0506L,0x7779fd8d1f481a10L,
  93046. 0x0ce5155cadbf3b01L,0x946c3d6c4a66e714L,0x82363b8efc39257aL,
  93047. 0x5bff5f529f7ddfa7L,0xf6019194c959f74aL,0x0000000000000195L },
  93048. { 0x97e049ccd1a7e5e3L,0x20b70812ba5aba47L,0xaa1ae913eed6d2feL,
  93049. 0x3a742bce668bb4b6L,0x4527c1a564d51f79L,0x70e8a3c89295bfadL,
  93050. 0xa30663031cc82fc0L,0x2c7c0291fd3f6160L,0x000000000000006bL } },
  93051. /* 13 << 294 */
  93052. { { 0xe645810f34132c1aL,0x77c28cc35de4c75fL,0xbb2f5483a0de31e3L,
  93053. 0xd0fb9a7bdb26a8b2L,0x8886a0245235b15fL,0x526b04be0b4d1737L,
  93054. 0xcf6084d9489f9855L,0x971ca8398ed5829fL,0x00000000000000e1L },
  93055. { 0x33b5bd61ca6b951dL,0x6bf54e1fb00b2c5aL,0x3e739a1de67b50a4L,
  93056. 0x4a9af7f0ce82ee0bL,0x0fb8696146a2ee3eL,0xdb9363a79c97b9f9L,
  93057. 0xabd29abbdb1be929L,0x7d4fb696e812de1aL,0x000000000000014eL } },
  93058. /* 14 << 294 */
  93059. { { 0xca22e1011f4db09aL,0x1a821888be1a96d0L,0xa5b1218d300d31d8L,
  93060. 0xb4e11200befdce35L,0x6900c54fa507c579L,0xa343019dcc9fddebL,
  93061. 0x1ef6f8e7ce55a800L,0x0b7e6f2eb39b7d09L,0x00000000000000a9L },
  93062. { 0x67aee879d16b84d2L,0x4775d42bc4a9e158L,0xd13945291f790f48L,
  93063. 0x2cbd6d019bbcca5fL,0x08205b6360ad2134L,0xe69529826beba839L,
  93064. 0xda24d18c265360e7L,0x070fe85c1afb1319L,0x000000000000002aL } },
  93065. /* 15 << 294 */
  93066. { { 0xb382471bded9c20bL,0x2a710cf6db64da44L,0x92e11ddce8b5040bL,
  93067. 0x81d6600416313d98L,0xf9e48b77cfeef40dL,0x8a566a5c1961a274L,
  93068. 0x7e288e774935ffb4L,0xf4d9e1a989fb716aL,0x00000000000001b3L },
  93069. { 0x27596e1e6d08166fL,0xc36263f89c92f5d9L,0xff7193ddc1150003L,
  93070. 0x928de56fa4c5e839L,0x5709e478ecf9d5d0L,0x78834f6b90cc279bL,
  93071. 0x3581d7a4a251ce7fL,0xe66b47cd30d757fbL,0x000000000000013dL } },
  93072. /* 16 << 294 */
  93073. { { 0xeb4b23274247e72eL,0x6660a1e5175cc2ddL,0xb6cb2db4fa58cacfL,
  93074. 0x035b7ab3f93c9b5cL,0xd2582c31bbc94809L,0xb80863e54328d05fL,
  93075. 0x61f99dd580b782b5L,0xa17fb8fc59e27db6L,0x000000000000004dL },
  93076. { 0x4bdd2a99e6b71bdcL,0x586b3ce9210c0d88L,0x590b0c459295119bL,
  93077. 0x1ee8b021a417f7deL,0xce83ae394efecb1aL,0x06298f05eb3e3c84L,
  93078. 0x0e13905295e6d8c8L,0x5e8a4031babc6bd8L,0x000000000000011fL } },
  93079. /* 17 << 294 */
  93080. { { 0xa45c4393de825f40L,0xb9ec95008c3cf0b7L,0xebe3990e65d35126L,
  93081. 0x2de346a7703debc2L,0xdaaaa35182941b06L,0xb233de5e0a85d32cL,
  93082. 0x6f954814ea2ff0fcL,0xf60aaa4dbbd2cf8fL,0x00000000000000a4L },
  93083. { 0x844743f9f912025aL,0xcc428af1e86e6a91L,0xdfe077bdd8b2ecdcL,
  93084. 0x20eb2e7a0b8f76e2L,0x6063a73f0c3abbbaL,0xdbdcff05caba37acL,
  93085. 0xec2f6cb84aaa8012L,0x1ae4c16d8cad3681L,0x00000000000001c4L } },
  93086. /* 18 << 294 */
  93087. { { 0x57d2461128803c3cL,0x9c6f153e905c766dL,0x2a8d0e65a3df5f03L,
  93088. 0x5fb1c0c5ff0dc35dL,0xe3420a10bb4bd9b3L,0x464e2fa04c4a9eb0L,
  93089. 0x511a5d07694c91cfL,0xb23f2f1a52c89680L,0x000000000000014aL },
  93090. { 0x3d9d955113088161L,0x3747c9ca64c5a2d3L,0x5d13ffb630032fbfL,
  93091. 0x5f162ef0c0855550L,0x68bc14cc7f54d72fL,0x8ede5be68d825c01L,
  93092. 0x437cafd1d87e0007L,0x7040f1e0bca3477bL,0x00000000000000dbL } },
  93093. /* 19 << 294 */
  93094. { { 0x28cce0ecb9bebb36L,0xb29c8a152f0621fbL,0xf651326b8d2580f0L,
  93095. 0x26df142f35cc66fbL,0xe3750e9e14989eecL,0x55305d0d09feca96L,
  93096. 0xe006e3b93188fa22L,0x19b0e9242df6f347L,0x0000000000000093L },
  93097. { 0x53811345b5c4cdb2L,0x57ac7a2a79fcfca5L,0x7814795cae76763eL,
  93098. 0xecc5a5628821cdb4L,0x4cb555779a55aef9L,0x8e7a4b3792ef5935L,
  93099. 0x45f20156f18a1791L,0xa785efdbf98c417bL,0x0000000000000038L } },
  93100. /* 20 << 294 */
  93101. { { 0xb9b6ebf9b1351aabL,0x3199f6e349a08f81L,0x3cfdb7175df347a9L,
  93102. 0xad627841b15d1ecdL,0x994ac9a2d4918f31L,0x3f3b84a1a482e07eL,
  93103. 0x82f47118d01df2a1L,0x1ce7c2530612e165L,0x0000000000000117L },
  93104. { 0xa4d357d1b1a67846L,0x0ed36337a5f6313bL,0xf759acc56224b03dL,
  93105. 0x9f79550a43833acaL,0x71238a8d5b80bab0L,0x2f5d78d1f5a7e9d2L,
  93106. 0x34844c10af79cf0cL,0x202250a1878e03c7L,0x00000000000001deL } },
  93107. /* 21 << 294 */
  93108. { { 0xcee095846722f2e2L,0xa7e2d5ef2b812e11L,0x021a444781d9a125L,
  93109. 0x53b6ac752c3c35a1L,0xd41b7fef6cad23ebL,0x6f10644550687730L,
  93110. 0x6c5f184cbda38409L,0x4fcae4e8afaeeeabL,0x0000000000000058L },
  93111. { 0xa6a280db7a9ad8daL,0xbfab051035f6f97eL,0x32ca44d4a6d62fe2L,
  93112. 0xc7d3521955b5a2b0L,0x5ecd78fd85d6e1a4L,0x40b504b0f0f12cdfL,
  93113. 0x483df9abceb7c1b2L,0xf416371483db0c9aL,0x000000000000000cL } },
  93114. /* 22 << 294 */
  93115. { { 0xd7d6b8dae1e2262fL,0xdd1ce7929442a0a8L,0xb3338e7a23ab20c5L,
  93116. 0xc454dd1843e4d64aL,0xc03cf46e65e83085L,0x219b81220c11eb73L,
  93117. 0x9e2f67deff2cd3d4L,0x46fff24e3a0d6beaL,0x0000000000000131L },
  93118. { 0x990fc4b50f52b1d3L,0x980926dcfa16bdcaL,0xf70295610e725151L,
  93119. 0x009a73258100d906L,0x14beed1973be583dL,0x862ab646ee8ad63bL,
  93120. 0x96bf39cdac7c1267L,0xe73e0eae5d9e3cabL,0x0000000000000053L } },
  93121. /* 23 << 294 */
  93122. { { 0x3ca878fc4806181bL,0x405c7b2811146abdL,0x2d16043c0771366eL,
  93123. 0xd07c69fd4027bbabL,0xddadf4e4fbcac82fL,0xf5a67b2b7559132aL,
  93124. 0x942a4965f1a47aedL,0xfca25633a52e8212L,0x0000000000000022L },
  93125. { 0xaae49d7b10ca9169L,0x97c05152759d11deL,0x655d94ad51815da1L,
  93126. 0x57445ad9b5063685L,0xfced3ea4c51e8dfaL,0x2e9e229089e37384L,
  93127. 0xe62ae24628f62dccL,0xfd5969067f5a5b72L,0x00000000000000c9L } },
  93128. /* 24 << 294 */
  93129. { { 0xaa91d38ba207739fL,0x8c5e7ae36cb4b052L,0xa785648126932370L,
  93130. 0xec5f6683810f6a28L,0x56d9b66fdd4a1a39L,0x936d24f5b4ae3605L,
  93131. 0x5b89adb53ccefa36L,0x7d893e3ac6a0096aL,0x000000000000015eL },
  93132. { 0x98cecb6d99db465cL,0x66db3e132c1113b7L,0x9dfafbca881d1c5cL,
  93133. 0x78d6b56821503e69L,0xb0197722f05ac1b1L,0x2523d52bc45e608dL,
  93134. 0x8e77c13ceeb9ef93L,0xc5c6e0e756a50594L,0x000000000000010bL } },
  93135. /* 25 << 294 */
  93136. { { 0xbe9639f5607be4ddL,0xb7d415b59e82139eL,0xede6ac04d77f0ac4L,
  93137. 0xd8471424ceeb4155L,0x3fde6834bc76aa1bL,0x9020c58cae990b2aL,
  93138. 0xbe49e85009e1f067L,0xfe76c73de5218d9dL,0x0000000000000077L },
  93139. { 0x787b9b1a0b3809c0L,0xd095141cf230c780L,0xfd6de04e1550c58cL,
  93140. 0x648eef5d108a70f6L,0xbd0974b51fd5d1caL,0xc29be634e9f30f9eL,
  93141. 0xb8559f72240c47b3L,0x8787033507c3bcdbL,0x000000000000001eL } },
  93142. /* 26 << 294 */
  93143. { { 0xfcf2897b3170660dL,0x29f6635c142ac9b8L,0x1b6d6f170b575017L,
  93144. 0x254f887f443ebbfaL,0x5659e0e267479d77L,0x7f8597a73e6e63f8L,
  93145. 0x13d34c6edcbe3f6cL,0x061b32786dbd9c9bL,0x00000000000000b0L },
  93146. { 0x9240fa42f1d121d3L,0x596d9037c65540a3L,0x420820c53103dd1aL,
  93147. 0x494911c61334ddb6L,0xe0b43cc55fee1bfaL,0x6336d37087b32edcL,
  93148. 0x726ed517f52b8682L,0x7c94653320a217b3L,0x0000000000000031L } },
  93149. /* 27 << 294 */
  93150. { { 0x13f2450b909c1a88L,0x3344c3cdccbda714L,0xe230f4a809da0a01L,
  93151. 0x3fed866bfb805ca4L,0x2fe1c1cfca3269efL,0x49f7a32b47965aa7L,
  93152. 0xaecab243bd604104L,0x79769ec1a97dc613L,0x0000000000000134L },
  93153. { 0x107daf6c16bcca1cL,0x1593235a005a0645L,0xae1114dcea3b7e40L,
  93154. 0xfc3e330ec40033b9L,0x579ceaaf9e3b41e1L,0xee0d6fe7a459911eL,
  93155. 0xfc55400245f98d3aL,0x2b995f850e73fc4fL,0x0000000000000102L } },
  93156. /* 28 << 294 */
  93157. { { 0xf7ed6ffdf50a3d85L,0x920b807525ecd014L,0x9074d5d14ebbd57eL,
  93158. 0x2c7656f08ce72dfeL,0xd17c1313336df7b8L,0x342593894a6a7112L,
  93159. 0xf9112c8171d23283L,0x80ee8f87b19617b0L,0x00000000000000daL },
  93160. { 0xd411f8b2e36790d1L,0xe0352d7ac03b68a7L,0xe2b16d4e55dd2c1fL,
  93161. 0x3282a3de3b874068L,0x26fbc96e1b3d4991L,0x42f10b4520d08473L,
  93162. 0xf17dce35c84ed8e7L,0x78da06e791f15069L,0x00000000000001daL } },
  93163. /* 29 << 294 */
  93164. { { 0xf9775c57cd2967d5L,0x65123c2cd738174bL,0x4d91a7cdd3820c86L,
  93165. 0x3e709d34caf234acL,0x66250e69863a7e8bL,0x73cccdebb1885fbaL,
  93166. 0xca872751809b48d3L,0xeb4ca203f236ea5cL,0x0000000000000115L },
  93167. { 0x7e499db1bb1d64a0L,0xff0b67f3c37a7a2cL,0x443c5f612741f78eL,
  93168. 0x0768cb396aa2725fL,0x98c48c0d92dfbd7cL,0xfdada4a36fb67cbfL,
  93169. 0x00c916f66b221b57L,0xb25a08a38fa18490L,0x00000000000001bfL } },
  93170. /* 30 << 294 */
  93171. { { 0x32fa6aa0ebf76affL,0xbbb4b69eea27786bL,0x1a61db994113e36cL,
  93172. 0xd9ec11e72884fc1dL,0xa196c2e729d7cacdL,0x076ce25757e81101L,
  93173. 0x2d9b9f7041062d32L,0xa0f7f96948d96dc8L,0x000000000000016dL },
  93174. { 0x7ae29604caa1564cL,0x7860e39ddbb46de3L,0x099372d4dfc84fb0L,
  93175. 0xf784833c650622aeL,0x9711ddf9d66fff47L,0x62b51a5f046095eaL,
  93176. 0x50d05cef44618f6cL,0x2b3bc7637a5aefdbL,0x0000000000000024L } },
  93177. /* 31 << 294 */
  93178. { { 0xbd875cc5b89c9889L,0xaf8042931aa82e4cL,0x4ce2924dde1defecL,
  93179. 0x01f089d19b41586cL,0x9f2310e7ff9732bfL,0xe4c86bf3b0bb7eb1L,
  93180. 0xaa010c968bbc420aL,0xed2c9c7164c47381L,0x00000000000001d8L },
  93181. { 0x4a6b565e045bc12eL,0x36bf29cf77275cdaL,0xb464be38b331e0c4L,
  93182. 0xbdaec4d0cd49e3edL,0xa8c0eef1a647036aL,0xc40dd02ed31fa960L,
  93183. 0xc7a368ccdc2f5113L,0x3bad9d88e632a505L,0x000000000000006aL } },
  93184. /* 32 << 294 */
  93185. { { 0x709ac1575b6e48aeL,0x7ef27b0f95eb72ebL,0xb1bca839d987e330L,
  93186. 0x16d0f9b110b85d29L,0x08d6d9b2a5e559f2L,0xdcb7602d980b6daaL,
  93187. 0xb38f08a5f2f9b64cL,0xd9adc282e2cf92b2L,0x0000000000000164L },
  93188. { 0xcc6a51913137f926L,0x9e4ccf8488821c6cL,0x0b3991794c8babe2L,
  93189. 0x4269ee3929c119f0L,0x1374f63a3509d23aL,0xb7563c4386b73069L,
  93190. 0x2ad51f46077f8bbbL,0xc383bf47d8d3310cL,0x0000000000000079L } },
  93191. /* 33 << 294 */
  93192. { { 0x1d6891d39c0144e6L,0x52ac8f54ccdbe3ccL,0xb8332000c88c51c3L,
  93193. 0x033a0df23700556fL,0xf97e93d0ae841be2L,0xd8b2ae2e08523501L,
  93194. 0x6eeb8117928f1a3fL,0x81999870a8d353f4L,0x00000000000000b3L },
  93195. { 0xc84500b07b8bb4b0L,0xae616e25d3320838L,0x0bd7d96a43cfdad3L,
  93196. 0x8f9f3fbe4f1f18b3L,0xcbb1ebb2592a0c27L,0xfe42cf82368d7ebbL,
  93197. 0x6ddf64b8747c2e25L,0x20e39304cbc56bb6L,0x0000000000000152L } },
  93198. /* 34 << 294 */
  93199. { { 0xa1259eb0bb2db655L,0xa89c9e6723209bffL,0xf09647c4a6c417deL,
  93200. 0xf92aefac3904a74bL,0x0704a73616ca9de3L,0x9adca9d445a1c8e8L,
  93201. 0x07a94afe87213d9bL,0xf74f1787766b608cL,0x000000000000002cL },
  93202. { 0xa9546f6cb6803298L,0x890b7f942c895a2cL,0xb63ee1f2ac1c77f7L,
  93203. 0x1d40ecd67d5d03b8L,0x170a292646dba729L,0x11c4fcbbcd7545ccL,
  93204. 0x39e139d129a71c77L,0xfba76833cdb60a56L,0x000000000000019dL } },
  93205. /* 35 << 294 */
  93206. { { 0x8887dfd9515bc9c3L,0x1cae6d1e9a3bf242L,0x37ab9d8905a3a363L,
  93207. 0x1d37a7a883c27e10L,0x053e57b62672c074L,0x97d3adbad73a2ac8L,
  93208. 0xb633f506bcc69d6dL,0xd4e3c2b08a152835L,0x00000000000000f9L },
  93209. { 0x6ee41d786c369bbcL,0x4ad8ad62941e1248L,0xf4e782a534050f32L,
  93210. 0xa8ea4017752206f9L,0x073e2905a6c0904eL,0x536f600f5e5e161cL,
  93211. 0xd67e05f5518ceee8L,0xde6a5527c3b67d17L,0x000000000000010bL } },
  93212. /* 36 << 294 */
  93213. { { 0x7bfeb9af12391b95L,0xd79181d83d2855d9L,0xeb0cb5ba84bc3f73L,
  93214. 0xc7aaee27d4577568L,0xbebb1d976d62aaf2L,0xdf7f87711c0d2c76L,
  93215. 0x8e735dc01390efe5L,0x324a3fef10b0342dL,0x00000000000000ddL },
  93216. { 0x0f074d4be5ef45e7L,0x2af56abee6c99cfbL,0x55f70e37666b03e4L,
  93217. 0xb1f0116afed0a21eL,0xf9fe9c995603998dL,0x70507e45a43bfa71L,
  93218. 0x68d2f7d4ce0e4a10L,0x819fd53796d5a95fL,0x000000000000006fL } },
  93219. /* 37 << 294 */
  93220. { { 0x0c0b1628c0ce3722L,0xef71fa4e06194427L,0xe9ffc8fd35815428L,
  93221. 0x5ba6b0819d519771L,0xc0ff3c5e81293238L,0x5a91a345e4d2fa29L,
  93222. 0x6bedab154d0e36d9L,0xa2860c0014f98febL,0x0000000000000145L },
  93223. { 0xd39d5aa9b47fcfd6L,0x7d6097fdb3537bdcL,0xcc18e7c947a1b76aL,
  93224. 0x3a4f5d36e2ef31f8L,0xab932eb1656164d1L,0x48ad2dae3bb3c089L,
  93225. 0x79240de0dd6942a5L,0x526b6529f9e208c8L,0x0000000000000130L } },
  93226. /* 38 << 294 */
  93227. { { 0xf53da60c28eba272L,0x120745e32d8a9f6bL,0xaecd0eced8dacf70L,
  93228. 0xa40838eab208a28dL,0x5a1a7c465d52ddc5L,0x3a57c3b47e8ea970L,
  93229. 0x0e1cbbe5ac84baeaL,0x6b65d65510465e38L,0x0000000000000170L },
  93230. { 0x0f1ebb96b489253dL,0x0c973fcbc40f5d44L,0xfa1cc30044a55f05L,
  93231. 0x35173c9e07b22802L,0x4ba69f3619062869L,0xd0986139f6602251L,
  93232. 0x26fa63d1e46cbd26L,0x5b75686d57991c42L,0x0000000000000082L } },
  93233. /* 39 << 294 */
  93234. { { 0xc5115f182596f8fdL,0x3eb7ab5627e6366fL,0xb46be9749a07d0ecL,
  93235. 0x5a6e73b4dc031cbcL,0xcaaa10655df414f5L,0x42f6367757566770L,
  93236. 0x475e0a1036b5a3d3L,0x2fa0375c46291bc7L,0x00000000000001e4L },
  93237. { 0x541780b5c542ce68L,0x8a2dca3d229cf7b2L,0xe792776ef974bae0L,
  93238. 0x998503c7f582aed6L,0xc8c05f91dc12e582L,0x8fe4af98095607b5L,
  93239. 0xccf8f7d8eb35165fL,0x292d6f084818a888L,0x0000000000000085L } },
  93240. /* 40 << 294 */
  93241. { { 0xf2f55e6187055f7cL,0x96c05bad1c7b6ae2L,0x24d4ba609b81ccc6L,
  93242. 0xc4c666e9b704f1f6L,0xc505d03fec354e60L,0x6ee24bea512b62beL,
  93243. 0xe86bc686b5ad8726L,0xdea6279ec3fc6e18L,0x0000000000000196L },
  93244. { 0x2bb0ed8b4f92584bL,0x4cdf258aa481affcL,0xf067c8c665362effL,
  93245. 0x0341567f73099e69L,0xa42fa640487d6afbL,0x4856eb7e41d7455bL,
  93246. 0x7deaf1b1d3730d35L,0x7158dfe5d247b629L,0x0000000000000068L } },
  93247. /* 41 << 294 */
  93248. { { 0xcc0ff75ba1efb92eL,0xba0ae458675c11e2L,0x7e9bb0646ac807cbL,
  93249. 0x5050c5000f219badL,0xf8135f19babe7ae8L,0x3e7c7d8e65eda230L,
  93250. 0xe7ce162a30069ec8L,0x7c3c5a9262a18f99L,0x000000000000015fL },
  93251. { 0x82e3dd1fddf2de5aL,0x130d220e94ff0565L,0x06f36b112ac2b85eL,
  93252. 0x78f3dd866617c47fL,0x1aa3510d1a1d5df9L,0xce8b3b99c16a9a31L,
  93253. 0x6b56971575712816L,0x573cac34cb8ca234L,0x000000000000000cL } },
  93254. /* 42 << 294 */
  93255. { { 0xd92f6b9d75b13008L,0x9a504d49a2bb0d27L,0xb38fde71b9ba11f1L,
  93256. 0x4901413b2e9f2060L,0x8d13eeeadee6353eL,0xd84abab0485f7dd2L,
  93257. 0x620df02792f99ca3L,0xc03f647f5e4d1b12L,0x000000000000019aL },
  93258. { 0x54560d5e25f0441fL,0x4338b22c51d1f048L,0xed6b559a159b7a05L,
  93259. 0x476886554fdc8368L,0xf42f1a082eab0196L,0xac60f4d1f3b18394L,
  93260. 0xa915b254a5f7a4b2L,0x73b6a490db363c41L,0x00000000000001bdL } },
  93261. /* 43 << 294 */
  93262. { { 0xdcf1a754ea2591e8L,0xfd641959381e2f22L,0xfbf1c118a66001ffL,
  93263. 0x4269279d3413d83bL,0xe4ac33ac4b48066aL,0x6e6c559e0dc98b68L,
  93264. 0x02a9a9e02faa1329L,0x8648b1ba747c1385L,0x00000000000000d9L },
  93265. { 0xc0aad5a5256c9a1cL,0x73129d17a8e79c07L,0x23145244eca7c812L,
  93266. 0xfed6f8e785cac27dL,0x0054b0438269c8f3L,0x5a78b38da889f04aL,
  93267. 0xbb890a92bf9897f6L,0xc7ce53668d484412L,0x00000000000000e6L } },
  93268. /* 44 << 294 */
  93269. { { 0x23095fdf14c98670L,0xa48c421e9dc0f253L,0xbe07424b0e23ffa6L,
  93270. 0x2d6b8ac86e8dc32eL,0xe3d6e195ad8e1120L,0x2f1ee8e1ffc71daaL,
  93271. 0x603908be648bd635L,0xff134805e912c300L,0x00000000000000ddL },
  93272. { 0x0ffcc425d4322e89L,0xc809f5ed8f09f42aL,0xc1114010ef2508a2L,
  93273. 0x5c07dc01c51cb0c1L,0xf3d650a11d946eb4L,0xd907ad9a51e6b2b3L,
  93274. 0xd588d588c945f2d0L,0x7dab07bfd1faab39L,0x00000000000001e1L } },
  93275. /* 45 << 294 */
  93276. { { 0x9d5b2544a3d51ab0L,0x084588178813a487L,0x4159e69cb8d92933L,
  93277. 0x59494a445c5ee13aL,0xd339bd9cdcad1546L,0x3c021d0f1fae07edL,
  93278. 0x07c938bf8be84dd4L,0xe4509d7a3163647eL,0x000000000000011bL },
  93279. { 0x29cf63b6756908ceL,0xa229c250b92741b3L,0x1d4507fd023662a4L,
  93280. 0x5ec7929f7f96cee4L,0x6c6abb6dad431e51L,0x99b1af2bb7feede1L,
  93281. 0xb08a47e466ceded9L,0x77b5577b2af814d4L,0x000000000000007bL } },
  93282. /* 46 << 294 */
  93283. { { 0x23c220f22f3ee9b9L,0xb3a0e0c9bf727513L,0x3e276e115108bd41L,
  93284. 0xf269c6b23fb319d4L,0x28a035b0e40e70f5L,0x9974d2d490400c05L,
  93285. 0xf7d62731e4e71f3bL,0x44119e4474b742deL,0x0000000000000000L },
  93286. { 0x502b39745f29b07dL,0x02f9f845c8b1ec1aL,0xa80e587d1ff9b054L,
  93287. 0xc0e07aea1fd0e64cL,0x8b7e83622e582f60L,0x3e21f291ad1f1dbaL,
  93288. 0x214395c034de6756L,0x5728d60a7d45dc64L,0x00000000000000b7L } },
  93289. /* 47 << 294 */
  93290. { { 0x39922191c05c3ffeL,0x5de7dd5586c48ba9L,0x325c9b5cd38564afL,
  93291. 0x6a88a43990fa14b2L,0x87cf5b102362445aL,0xfa0eab8bc88b3f68L,
  93292. 0x18f7e5b5341e78b9L,0x31b27ad4116fd87eL,0x00000000000001c8L },
  93293. { 0xf0ff17d4932024cfL,0x205a03fe3a30a631L,0x60b6627b733c9445L,
  93294. 0xb091ba56a715d6f1L,0x0c4397ab3b1a6b21L,0xf16a58e63a2bfd3aL,
  93295. 0xd217ddb7b6447176L,0x79d9a86cc2536744L,0x00000000000000faL } },
  93296. /* 48 << 294 */
  93297. { { 0x29d8faf43544cc95L,0xcdde285818e4e95eL,0x0a01b08dfe9368caL,
  93298. 0x40512dd7c6dbbcdaL,0xcef252a068c1423cL,0x98204e95aae7650dL,
  93299. 0xb922928b77e51a04L,0x9a77021a72eb97a3L,0x000000000000018dL },
  93300. { 0x5647c6f296c7c29cL,0x6a17e12a870ba81bL,0x42df0e2e73c0ee75L,
  93301. 0xa214b4098765ee48L,0xc098d30234faf6eaL,0x0f5b59a79aa0e1a1L,
  93302. 0xd73224f17c87855fL,0xb78b168cd6d2a061L,0x0000000000000050L } },
  93303. /* 49 << 294 */
  93304. { { 0x070fda90fa5df695L,0x3160656226b01e04L,0xf6e12156de3aaaf3L,
  93305. 0xed0f215de7dd01d6L,0x57e283329659a00fL,0xc5969e57935e63c7L,
  93306. 0x90e3b2844178ad18L,0xbbcb285453123b93L,0x00000000000001bcL },
  93307. { 0x36b29ac2195f63e8L,0x5771e9f017eb8981L,0xfe74b12b5da40865L,
  93308. 0x5f0ff67386d920b2L,0xd327498440426defL,0xdeaef693e06941f1L,
  93309. 0x61416da7dd68bf90L,0x8ff9d2bdf1723ba8L,0x0000000000000109L } },
  93310. /* 50 << 294 */
  93311. { { 0xd1da2b970f4ced78L,0x9486496aaff53bddL,0x3b2c09e905787a65L,
  93312. 0xd714235e3bf092b0L,0x2c2bd98def495c76L,0x48d93c1256044673L,
  93313. 0x897376addff54802L,0x68777721468af1b8L,0x000000000000016cL },
  93314. { 0x5bbb6bed1f304dd6L,0x35dd2294241518a1L,0xb94de945df0e416eL,
  93315. 0x016ce62126a1b13bL,0xbd7cca2324a58997L,0xe3cb85775eb8b579L,
  93316. 0x8ed1e530dfb46f50L,0xd3e45de5b7bebb2fL,0x00000000000001f4L } },
  93317. /* 51 << 294 */
  93318. { { 0xe3819d9a1c771ea1L,0xbf690720dc59eb84L,0xa541e37699348dcaL,
  93319. 0xb7888fc369fbe622L,0x1c8a5762136e6a6fL,0x9ead48dabbfa63abL,
  93320. 0x23ea7bafb1ceea24L,0x9e5b105b5f2cdd03L,0x0000000000000179L },
  93321. { 0xa0d739e636b63e7cL,0xdbe55702dbda9abdL,0x73866365556299bcL,
  93322. 0x4c48b2c9efe0e38eL,0x06427eeebf017592L,0xf3d389aae05788eaL,
  93323. 0x1db17dbb783c8e0dL,0xf1a6d1560552d575L,0x00000000000000baL } },
  93324. /* 52 << 294 */
  93325. { { 0xd185cfc3f5823bcaL,0x94e833382d648a40L,0x719def2c4d22d2deL,
  93326. 0xe23be64f266e78a8L,0x8830cb3e752ac9cdL,0x2598bc00d0f2cc62L,
  93327. 0x42513e2c62336adaL,0x7343da72b35e9e9dL,0x00000000000001a8L },
  93328. { 0xa38d5d2219b56641L,0xd7e2949e94a2e805L,0x03f06fa6a850f355L,
  93329. 0x744779e0dea5393aL,0xf6078b4c9cf8ff02L,0x3a150184d43248faL,
  93330. 0xf2b064f88cce580aL,0x3894f51466eaf1aaL,0x0000000000000049L } },
  93331. /* 53 << 294 */
  93332. { { 0x5bf8be23e3841518L,0x390df312c1d8812eL,0x87c36912461bffaaL,
  93333. 0x9159a05a2adfaa7cL,0x7c1ebbe962f281cbL,0x9c0a76c9082166d0L,
  93334. 0xa929dffb920301aaL,0xc32334dfd7fd6366L,0x00000000000000b5L },
  93335. { 0x3d292b74f63f5f63L,0x022e7982a5482092L,0x45808135f3179942L,
  93336. 0x7256ff64865831a6L,0xa5c9588e5a3e9363L,0xcc7d2ca88c82986eL,
  93337. 0x7bec162f05626c9dL,0x89da9ae77b9ff705L,0x0000000000000198L } },
  93338. /* 54 << 294 */
  93339. { { 0x5b038af3f5bb585bL,0xb98ecb5f37bd3ae5L,0xc1b18cb194be2a43L,
  93340. 0xa9618ec095e4d777L,0xc40f2dabc748a4bfL,0x21904d556228ac53L,
  93341. 0xc660cec8dde83410L,0xff36f88f50979bf2L,0x0000000000000160L },
  93342. { 0x9628fa6551d8881bL,0x73f061b88947cb47L,0x79f5d6c845cf0762L,
  93343. 0x49504051376a43d5L,0x70c737b7a3f83f46L,0x59d034dd0cc593bbL,
  93344. 0xaa0875df26342c19L,0xa585ead811d79d98L,0x00000000000001ddL } },
  93345. /* 55 << 294 */
  93346. { { 0x1779f234ef839635L,0x8f58efb1f40a5a65L,0x1d6206ab3e5cc402L,
  93347. 0x1bbd6fd7e912df6eL,0xc924914685b7d132L,0xff29fea43e802e9cL,
  93348. 0xc61175867bcf48b9L,0x6540528e9282c06dL,0x00000000000000e1L },
  93349. { 0xd0f41b96127c2594L,0xe7b7f49987819eaaL,0x86005a00584aaa91L,
  93350. 0xb82005e47840a3b8L,0x37a7f2cccf139be1L,0x483a5922c7f15281L,
  93351. 0x606a1b81c55ae9bdL,0x93027e7d27ed3387L,0x0000000000000144L } },
  93352. /* 56 << 294 */
  93353. { { 0x095c54694caddfa0L,0x7db5b97d383c724eL,0xb4698e9a92ca76e8L,
  93354. 0xd964ac2001ae58ecL,0xd743f813b822b97dL,0xd8de0d8520171bacL,
  93355. 0x549e8ae5ea164044L,0x03c9d920f8426c21L,0x00000000000000bbL },
  93356. { 0x794be56d907e69abL,0xd3c037943abe9f98L,0x9a5eae5c84e132d7L,
  93357. 0x9a7afb80bf979b72L,0x624910c94bcba819L,0xfef0daf5adb707c4L,
  93358. 0x7c9d0680ecc8bf66L,0x342fd8b9681d3792L,0x00000000000000a5L } },
  93359. /* 57 << 294 */
  93360. { { 0x31af9ea81c876e00L,0xf54b3306c17ce3b9L,0x9da29ba8b7b66baaL,
  93361. 0xe8f958bdec97fbaeL,0x9aed85e5d5d5ca73L,0xde6ee26dfcf4f1d7L,
  93362. 0xf4e2831640d20e59L,0xc344605f84d7d1c1L,0x00000000000000b3L },
  93363. { 0x5488e1b958226056L,0x79c948a9cb124c25L,0x278af742f40ff7b7L,
  93364. 0xecc60fa1740757d1L,0x648f9a18476f60f2L,0x28d72cd41ec656a0L,
  93365. 0x0679149a291cc21fL,0x74d87b8355eba80bL,0x00000000000000e4L } },
  93366. /* 58 << 294 */
  93367. { { 0x6d48fb31ad6f4fb9L,0xe536f4b6b626e78dL,0x49aae08b0d7fdbe4L,
  93368. 0xcb3963457a9ed668L,0x041268b9b63b577cL,0x0b1593d8ea5b7d95L,
  93369. 0x26c9109ca54dcef4L,0xcf5576e783ea872cL,0x00000000000000b2L },
  93370. { 0x835382690ae7e08eL,0xe844c9b9f4c32ddfL,0x839bf854110c1a1fL,
  93371. 0xfaa5f6775c69fab1L,0x198e91e6e763e4adL,0x47da5f178f63cd42L,
  93372. 0x61c638a62c872558L,0x6bf1c8895618547eL,0x000000000000018bL } },
  93373. /* 59 << 294 */
  93374. { { 0x6a8cc986caae6ae4L,0x1d7c2d67d6d6435aL,0xdcdf751c1f27d040L,
  93375. 0x084a8ad907b0b209L,0xa03ce81aa4cb20a0L,0x8bd7ee7273b7ce3dL,
  93376. 0xc30a9ee4bdc436dbL,0x09c04ae46034aff0L,0x000000000000007bL },
  93377. { 0xfabd79026c6bd45fL,0x799e004bc957c862L,0x5638fc917a905a28L,
  93378. 0xf0faba028a378c7eL,0x89e982772ac3baf0L,0x80c111429112a683L,
  93379. 0x134bf54ad1c0a381L,0x6981a134a371b908L,0x0000000000000165L } },
  93380. /* 60 << 294 */
  93381. { { 0x8cdf5496ea2d6f47L,0xd16475ce1384a82dL,0x443c6bbe79dce016L,
  93382. 0x520583ea11c229e7L,0xc345965d32d1ee47L,0x046c5c214eff5930L,
  93383. 0x9810075e19d48e5cL,0x3e1425909cc794ddL,0x0000000000000186L },
  93384. { 0x254d003679cf471eL,0x87a8c5ed0d5a2f06L,0xbc16fd945516fbdfL,
  93385. 0x2e7c1bf26fa2a909L,0x28297856237ba960L,0xcfb6b336091507fcL,
  93386. 0x0cab1eb283a9939dL,0xe49bc8d8aec9cb63L,0x00000000000000b0L } },
  93387. /* 61 << 294 */
  93388. { { 0xc62b48a8982b000eL,0x8277c2682d1953b3L,0x19cfe475a9b47cd0L,
  93389. 0x310d9c740992a068L,0xc03ee94ec1dbed2bL,0xc26915c631c025c9L,
  93390. 0x46d1a3136d451124L,0xd8840ea94a5e33afL,0x000000000000005eL },
  93391. { 0xbcb605537c315236L,0x01b759256d7c2f69L,0x31e142f17568be8fL,
  93392. 0xd39380b76ad30805L,0xeafc7a683c516d0cL,0x83a284ec418c61d5L,
  93393. 0x493a0f10045a330fL,0x548e81d57c31cc6aL,0x000000000000006cL } },
  93394. /* 62 << 294 */
  93395. { { 0xf3445d6401011685L,0x58c874941bcba0abL,0x4a5fb2a29e299226L,
  93396. 0xf76e578d815c50bbL,0x996d096f14f6347fL,0x6056b8185831b153L,
  93397. 0xda2fd3d05d5d22b4L,0x512217c398f9bc2eL,0x00000000000001bcL },
  93398. { 0x82c87114979f39abL,0x7a032a31ca612d87L,0x81bd29f591930220L,
  93399. 0x361732d21fc75c2fL,0xff5fd67e43ce4841L,0x53b8c32d784a180bL,
  93400. 0xc666c0a34a359515L,0x78095258fd91743fL,0x0000000000000002L } },
  93401. /* 63 << 294 */
  93402. { { 0x22c1d1baa579fa74L,0xa3000c7398e2761cL,0x35fa789b86e47f27L,
  93403. 0x78247dded7ceb040L,0xe86dae9bf0211813L,0x4526464eb9a8e680L,
  93404. 0x8a415c8dcf84b9e3L,0x2a3d5df6bc25d1acL,0x000000000000006cL },
  93405. { 0x34af41b5b5ad0cd3L,0x18920068740f40d9L,0x3efc1ccfbd6c4c23L,
  93406. 0x7d188dcb889947efL,0x9b63949593e850cdL,0xce1d6ae38bf50f30L,
  93407. 0x3f8370629c1740b0L,0x80d89ab62e93fa82L,0x000000000000008fL } },
  93408. /* 64 << 294 */
  93409. { { 0xcdb8a92c817221d9L,0x7ff2643e780ed8a2L,0x5efcceda56fc9caaL,
  93410. 0x59b5aa12f823d2fcL,0xfe97818b9dbfeb54L,0x2becceafa13dde72L,
  93411. 0x5d5b53cee8692b1bL,0xf5e5ac69cae9ddc6L,0x000000000000000fL },
  93412. { 0x6ee75741c692d9ccL,0xd97eb6f262a91d4dL,0x8858ba5de2924e75L,
  93413. 0xb8e1b22a517030b1L,0x651a68382af83dfbL,0xc1fb14d21c21be14L,
  93414. 0x87689d46c9eba60eL,0xe16cfc1a0da1a29dL,0x0000000000000107L } },
  93415. /* 0 << 301 */
  93416. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  93417. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  93418. /* 1 << 301 */
  93419. { { 0x4021a24de3c91b63L,0xf7cbd01a0b896f6cL,0xb005e27e145743c1L,
  93420. 0x170d30313d2c0449L,0xb2369781715e87bcL,0x7ef5d8e0d6e85650L,
  93421. 0x1a5fa6c7b232c66dL,0xc0455caedb20ffd8L,0x000000000000001fL },
  93422. { 0x3acf9bd305c7c488L,0xbf769bb0294df5b3L,0x8d5f90958fa692fdL,
  93423. 0x9b20f4c777aef48dL,0x312134317987ad09L,0xc0b03aead6a327e1L,
  93424. 0x5be9a205e6f56badL,0x2db39c5e6c7ff60dL,0x000000000000002cL } },
  93425. /* 2 << 301 */
  93426. { { 0x06e672911fbe4b1aL,0x2df4c01c7328b43cL,0x811847ea7350889aL,
  93427. 0xee53f7eff19988a8L,0xcc3fc6d371578d7dL,0x20682a7b7b0f48ecL,
  93428. 0x6979a4f21ec4cd51L,0x58272b7c845bc78fL,0x000000000000000eL },
  93429. { 0xceec799c35e8ef48L,0xa01333eff9ec8ae5L,0x5b99b83ef9262e87L,
  93430. 0x37c4df170f427205L,0xb20cef3ff972dea8L,0xb63ac380c6c4c976L,
  93431. 0x0b915c3290866381L,0x8817b26a91eedcabL,0x000000000000001bL } },
  93432. /* 3 << 301 */
  93433. { { 0x7ace3143a092069aL,0x0bc9cd595e70d5caL,0x1c26df9860dae8ccL,
  93434. 0xf4358cefb881888bL,0xfeddc9766632ab56L,0x08206f72b870dda8L,
  93435. 0x46f76ea4cc81f687L,0x865b6cb3ca702001L,0x000000000000007bL },
  93436. { 0xc064a2e3b099af17L,0x88beb2371d625dcfL,0x507be25af7b18ac9L,
  93437. 0x46c8c36077f8ed84L,0xb019195fadf90251L,0x386ed5ce56c4eb40L,
  93438. 0x46427f9c870504a2L,0x156e3c6f36d0f019L,0x0000000000000033L } },
  93439. /* 4 << 301 */
  93440. { { 0x06e0332e000535eaL,0x5c58e86403bbbe55L,0x4d9a6db110b9b5a0L,
  93441. 0x7ef09cfc6a24db5dL,0x61d105f4819d4d78L,0xc5e243dd82d474a2L,
  93442. 0x8742d427886e0d59L,0x08cc598e079399e7L,0x00000000000000afL },
  93443. { 0xb1af75d1c8e53592L,0x74857a7fca9dbfddL,0x2f7f11d8d49cf79fL,
  93444. 0x82c78c0d7c4073d2L,0xbe13602fab4c74c0L,0x4282184ed0d37ad7L,
  93445. 0x719bb29728289fe0L,0x08fe79e9b09427e0L,0x0000000000000192L } },
  93446. /* 5 << 301 */
  93447. { { 0xfb9970015eaa1129L,0xbec9a530e84da535L,0x133710955d6afc1eL,
  93448. 0x7156b33510b368edL,0x86d22c634c902f9eL,0x64ea7336eaf83f1bL,
  93449. 0x700571f6d4313851L,0xe6398407a8fb758cL,0x0000000000000191L },
  93450. { 0x004bcb3ad7673444L,0xa0ad23ff6c5d7b10L,0x86969ed559aa896fL,
  93451. 0x80c4897508a9f27cL,0x37a8337cba7fc097L,0x295b4ece65a34328L,
  93452. 0xb14eceddf56efccfL,0xcf9265ea638d1620L,0x000000000000017cL } },
  93453. /* 6 << 301 */
  93454. { { 0x91a6ba108d64773aL,0x18e9f8c089ac1f66L,0x49f08c886ff68e9cL,
  93455. 0x57b6fb9131913442L,0xdce8f943d9be3a61L,0x03a6d0137c897a92L,
  93456. 0xa3cf84d469451d27L,0xf9d603b978585859L,0x0000000000000019L },
  93457. { 0x9b651ee0bbe619d9L,0x6595951edf219411L,0xc4b2ffb73e53e02bL,
  93458. 0xc32b5aa6f8bd17f1L,0xe7788f4a97f05123L,0x31d33abeb624663dL,
  93459. 0x9e736612d8b9fcd9L,0x6b948711fa3eaa15L,0x00000000000001a5L } },
  93460. /* 7 << 301 */
  93461. { { 0x7f209595588ba3f7L,0xe2407c9a57ea6473L,0x9beac14648c8914fL,
  93462. 0xa76746da7281653dL,0xb98edf137b9eaf4dL,0x4af237b992b8e681L,
  93463. 0x9681674885d4493fL,0xcf67088b2d55fb92L,0x000000000000002fL },
  93464. { 0xfc9967792f89cd08L,0x62bf8d1b54cbddc2L,0xd9395c418dff283aL,
  93465. 0xc384a2e9e7ffadd5L,0x39f0e602bedf1036L,0x0fc173dcd28e10d4L,
  93466. 0x574c346fb4a775a3L,0x9f62fef62b897266L,0x00000000000001cfL } },
  93467. /* 8 << 301 */
  93468. { { 0x163a9e62eec6e312L,0xd11432c1459162d8L,0xdde7d941a25d4934L,
  93469. 0x9067028e8d868aadL,0xb71b17085b6e3d21L,0xaed73637e95d3c7fL,
  93470. 0x51bcc93c1dce0d78L,0x2f45d06a504a9d0bL,0x00000000000000beL },
  93471. { 0xec12ea4b300b2478L,0x91ac6eedf2a48388L,0xfbdc1bba7a7631adL,
  93472. 0x5b2669cb79d5f4ceL,0x219d64f948c8f025L,0xadcaab29aadb5873L,
  93473. 0x3b07af1c671bd673L,0xe66e7c67b7f2d8f5L,0x00000000000000c9L } },
  93474. /* 9 << 301 */
  93475. { { 0x877a56c5e8c21c07L,0xaa9b34cc64389ebbL,0x05d0452d80b06ab4L,
  93476. 0xef13a83f48e78fb1L,0x8f1ccb089003b1f0L,0x9b6f68ae0e240740L,
  93477. 0x3b4e3941e661e336L,0x3d50ab4f9673bef9L,0x000000000000002fL },
  93478. { 0xd84e8415839a034eL,0x9af0ecb379490c58L,0x3fa5698f53a7f6c2L,
  93479. 0x7ee6a1fe1f5f8a6cL,0x759f0ff62d9134d8L,0x413d44f634a2bc05L,
  93480. 0xecaf95ee0fc28762L,0x881b307762a3eb28L,0x000000000000001bL } },
  93481. /* 10 << 301 */
  93482. { { 0x1d2684d8817a08b0L,0xdb7dca26c8be8d55L,0xa069d7e07c8974a2L,
  93483. 0xc061be91d03247e4L,0x1c6b377d7bd92a76L,0xcd7e0d7f50330391L,
  93484. 0x6de4e84426762364L,0x07276c1516426e46L,0x0000000000000102L },
  93485. { 0x1744a4f50c65db3aL,0x08c6a33f9b8fb672L,0x31f23108ebf4762cL,
  93486. 0x7b2c0ab0181df967L,0x53cd3abd2be95364L,0x0be1aaa87bbb3eddL,
  93487. 0xbb0cb0531b469e7fL,0xea338278d6e16032L,0x0000000000000047L } },
  93488. /* 11 << 301 */
  93489. { { 0xc7f394748381c552L,0x986d2d61d55f8773L,0x1748580c54b59ccdL,
  93490. 0xe071cdd56194dad0L,0x1440e99aa75ba866L,0xd162309c0cb3e564L,
  93491. 0x45786580289fc2bdL,0x1d4120f1da2a714cL,0x000000000000011aL },
  93492. { 0x564bfb392e7a47d8L,0xc43ad5f9c38c2c08L,0x60d4dd7acc7ead2bL,
  93493. 0x89166f8b91fde4a6L,0x7f1ac6ee9f62d204L,0x1a5728aafbfd7551L,
  93494. 0x7997f14a2e75d1a5L,0xfc2804ea649488adL,0x000000000000019dL } },
  93495. /* 12 << 301 */
  93496. { { 0x2d511de52dae34a2L,0x280126a9cc783bacL,0x247eb07f3b00a441L,
  93497. 0x909b0ea7567b28f6L,0x6045d39b53c3600cL,0x41714d14c75815a6L,
  93498. 0x6bef6123c601eadfL,0x3683ccf3d6343c4eL,0x00000000000001b0L },
  93499. { 0xcfce0c48b23f24c2L,0x8a051e71622cd9bbL,0x07ec1bc49eb85129L,
  93500. 0x4ca832899cabb17eL,0xf095659733580331L,0x88e7f968e465e3beL,
  93501. 0x61c5c643086d84d3L,0xcd236eee26444e10L,0x00000000000001c6L } },
  93502. /* 13 << 301 */
  93503. { { 0x6a3f660b0dc590beL,0x32d22798247e0247L,0xc90cd006d66c6982L,
  93504. 0x653993195369eca2L,0xa1346bcab0838f49L,0x3b5d8514fb956f90L,
  93505. 0x17fa86f9b27e8c72L,0x61b430690dbbfbe8L,0x00000000000001daL },
  93506. { 0x3d46ae770fb82755L,0xeac173262c02b0f6L,0x869be2347fc42178L,
  93507. 0x845d561ac8b457dcL,0x8295d7de2c8495efL,0x57e84cd5f079a84eL,
  93508. 0x30e443fe60b7d282L,0xe0340819a844632bL,0x00000000000000e1L } },
  93509. /* 14 << 301 */
  93510. { { 0x0cec34cc215c702cL,0xf9534c2acde28ed6L,0x5694c1addb2b1db4L,
  93511. 0x78834607f0ce1dd3L,0x0897479ede16ad83L,0x711db79e7ad8d6cbL,
  93512. 0x4fec3d6a30d12f46L,0x2fa068bab2925929L,0x00000000000000e5L },
  93513. { 0x79ae08ddd6d413d1L,0x7afae372233385f9L,0xa9faea3a1c5915fbL,
  93514. 0xd1d81ccddbf76a40L,0xbcee5b60311bd5b4L,0x33fd134e0d295473L,
  93515. 0x8971c976a1499b9aL,0xbe778d06c2dd33cdL,0x0000000000000128L } },
  93516. /* 15 << 301 */
  93517. { { 0xe165fe45591537d3L,0x494e9b586f9e77daL,0x05048c2406b5f840L,
  93518. 0x27b142e0669c0541L,0x266d5823ebf3cba1L,0x2c9668a9f5f6117eL,
  93519. 0x92b1a670041d08abL,0xd2e4bc7d98b28dbcL,0x0000000000000110L },
  93520. { 0xd96f0a4eb50c672eL,0x2a5ba3084f40bed9L,0x6ad427836ada6e01L,
  93521. 0x11d68fda636a6b24L,0x38d87a77bfcb526bL,0x3666085af7663abdL,
  93522. 0x9e8dd236688f4c58L,0x3f5eaea3577ddb84L,0x00000000000001c2L } },
  93523. /* 16 << 301 */
  93524. { { 0xf03e26842bc15ca5L,0x0b130b09bf196674L,0x3c27538756217f5fL,
  93525. 0xb26d17d4349aca89L,0x3faf18590269bf70L,0x3cdeb74fb288736aL,
  93526. 0xeba8f6007e38ea96L,0xd24052c851da8c99L,0x000000000000015eL },
  93527. { 0xa5582bacb2f51cdbL,0xa325b5cbd0a7f7c7L,0x065a27f009931317L,
  93528. 0x1abd17b6cddc78ecL,0xd8fd426937962ce7L,0x5d8403c8002cf3c2L,
  93529. 0xe62f5305e3eb09a4L,0x1900f36ceeaf6fb3L,0x000000000000010aL } },
  93530. /* 17 << 301 */
  93531. { { 0x284fc126babba399L,0xda961c2d629b5b0cL,0xdb458a6c7acc2fc6L,
  93532. 0x2d048b73b07e4eb6L,0x9ee17cf76011f0dcL,0xff56041501eb1f54L,
  93533. 0x39ed447f8b55cf30L,0xcf2256f1d85dbed0L,0x00000000000000bbL },
  93534. { 0x084a817403650842L,0x71be289cb89d85e1L,0xb9c9f5b8f0aa2e1dL,
  93535. 0xf454a8a2a0048186L,0x67e89b8f11c62ecbL,0x3fefb1f66eeb3419L,
  93536. 0x19c5c988db8b8343L,0xd477b615cb26d01dL,0x000000000000012dL } },
  93537. /* 18 << 301 */
  93538. { { 0xfebd0210b24b42c5L,0x4f8bb6ab782d99ddL,0x624530b516f9fb4bL,
  93539. 0x9f9ac0dcf52469a9L,0x6cd360b7a7297153L,0xa1989d5ae3ffe52bL,
  93540. 0x493e7f8e086c3ae2L,0x598af31b052d016aL,0x00000000000001a4L },
  93541. { 0xd22cd1eeecebf13fL,0x1dece9d773807b67L,0x9d68d0462573e787L,
  93542. 0x70f7848f24c5d05cL,0x2e846609ad526173L,0xc8a05dcd05ce91f8L,
  93543. 0xc39b7711eeae3077L,0xcbb8347d040614a9L,0x0000000000000127L } },
  93544. /* 19 << 301 */
  93545. { { 0x87eac716c5722d13L,0xc1afc869d61ef2abL,0x496b7a2aacf51364L,
  93546. 0x5d48541015d5ca0bL,0xcb57650b8772fb05L,0xd26d4f958869f973L,
  93547. 0xb320d08e025cc659L,0xa950e9363419e9a4L,0x0000000000000030L },
  93548. { 0x5e80b7840e4326edL,0xe712d1b6118b4b67L,0x9188de4ab4e2f1d5L,
  93549. 0xddd7c742931ba11cL,0x19856e2d083a8b4aL,0x28fd9f4ec237b67aL,
  93550. 0x264aa6aeb17c199bL,0xbb708f00b04ee318L,0x000000000000009aL } },
  93551. /* 20 << 301 */
  93552. { { 0x9d1eae14e6c6fa68L,0xc10a9135e799dc68L,0x7abe45371d7af249L,
  93553. 0x50c5b3e44b78fb26L,0xba92be148298b03cL,0x6229f220227a8e85L,
  93554. 0xde2d6415248042a7L,0xeaaddb9bcbfda7ebL,0x00000000000001bdL },
  93555. { 0x3495558bc0642562L,0x5649a710eb006b80L,0xdeb44b295e284cb8L,
  93556. 0xfb01767c2fb2ad7eL,0xb40225510f9ccfacL,0xbe4eb5c0a67be6fdL,
  93557. 0xb5d9f3e86d920a44L,0x918cde4238b14e5eL,0x00000000000001f8L } },
  93558. /* 21 << 301 */
  93559. { { 0xf14dd13f7e46d751L,0xde1faee5de539ce6L,0x1f580420a878c7e4L,
  93560. 0xa4536a613feef467L,0xa7e9291d7b545e56L,0xded28c89e2b7025cL,
  93561. 0x59506d85d042bacaL,0x14b37eee8a3adfd3L,0x000000000000000dL },
  93562. { 0x89d83dd3823c023cL,0x8dc3c29fca288645L,0xdd64a1a648af0bd8L,
  93563. 0x79f885a65f285574L,0x26f5a31b60248187L,0x70bd4d6ace84d4b2L,
  93564. 0x3f15dbc4463583a2L,0x6544d8e78426710cL,0x00000000000001baL } },
  93565. /* 22 << 301 */
  93566. { { 0x76d2d5eb9381aba1L,0xb2322af89b7df6b5L,0x71f40e2e58f343b9L,
  93567. 0xb61e43f9efcc85ffL,0x0300fa7259a01585L,0x5988ff95db05e553L,
  93568. 0x2b62aa0f5e93de6fL,0xc87ff47b4b549154L,0x0000000000000021L },
  93569. { 0xd77a8a93ff66a25dL,0xa68eea535e13f466L,0x794995e4f79a54c9L,
  93570. 0x6df911fc56076e44L,0x8d78ab8c47c83b15L,0x3507ec1cb38bbf1dL,
  93571. 0x613c3c1f6a89e612L,0xc07da4b905f7fa61L,0x000000000000009eL } },
  93572. /* 23 << 301 */
  93573. { { 0xb88f49e250318e89L,0x0b6037ef58a8e5b1L,0x62b4464f8305be22L,
  93574. 0xda32be6c695d0c2dL,0x53718af39a3f3741L,0x7eab5da6e64b6964L,
  93575. 0xd3594c8663064d0fL,0x39279566f6eaee98L,0x0000000000000012L },
  93576. { 0x4bbb1b13042a5dd8L,0xa70b5d62793e0d15L,0x30393d03d1ba796cL,
  93577. 0x4a21fdf287555c23L,0x9646d43c61ba2ab2L,0x6408cb45419993c7L,
  93578. 0xb9acd44b338322f9L,0xf283c84d4759b6ffL,0x00000000000000c4L } },
  93579. /* 24 << 301 */
  93580. { { 0xd142bfa992701a9aL,0x0b59d01447539e92L,0x7cefec6e8724475bL,
  93581. 0x5c77d10dbcfd641fL,0x4946dbabdd42eb47L,0x4ae66c3a14f1c33bL,
  93582. 0x05ba3e754c9f2c71L,0xb618a5071fc0f7b7L,0x0000000000000065L },
  93583. { 0xdd94ee057c169a16L,0xa29e26195a337e5eL,0x30e106eb9ad816b6L,
  93584. 0xb91e66f71a17810aL,0x46abf80d5b672e86L,0x0f40f077f89626ffL,
  93585. 0xa474dfbe8b67b224L,0x9d3af9248053aa79L,0x00000000000001ffL } },
  93586. /* 25 << 301 */
  93587. { { 0x7d22cf775e1f232dL,0x548fda9e7e51a2c7L,0x11a9774149cf868dL,
  93588. 0xf0db0b7e2fb759c5L,0x1796b06efc5eb57dL,0x60ede66826f8e4f9L,
  93589. 0x7c37fa5cf37f1ae2L,0xf5348593ac10e958L,0x00000000000001abL },
  93590. { 0x05239d1323d8b38bL,0x2c55a6e0d76a3773L,0xcea20821cd282bc4L,
  93591. 0x9e552a3a5ca82699L,0x3f1ae5bfa1548eb2L,0x56ca5414452552bcL,
  93592. 0xec3a3f85e1ba16dfL,0x91ed704a56240ce7L,0x0000000000000041L } },
  93593. /* 26 << 301 */
  93594. { { 0x525d2794aa3af70dL,0x62666bbfbf65bbd6L,0x250750d4b925995bL,
  93595. 0x050457f8e340c57bL,0x919451793b4931b3L,0xa4a0e728d223ec63L,
  93596. 0x9aa8b43380a43404L,0x9c52b96aaaaa7d45L,0x0000000000000149L },
  93597. { 0xa4dcb38e2dc7ef6bL,0x115ba55675a63e19L,0x31541c6e90d13e8aL,
  93598. 0x4e0b09787401562dL,0xd81287b447cfebc2L,0x59ec023f074cc01eL,
  93599. 0x7086b3db94d89d32L,0x274daafbbf9b0f39L,0x000000000000009fL } },
  93600. /* 27 << 301 */
  93601. { { 0xd7fd9795758d15ecL,0xbe89bb8c335f014bL,0x3be772ba54b6b739L,
  93602. 0x2d652a561a35e643L,0xfd8b75fe36ab48b7L,0x89fa8e1d9c89c766L,
  93603. 0x75e124aaea145d8fL,0xdf889765299c9171L,0x0000000000000170L },
  93604. { 0x103dda2e55540308L,0xc3c035e7cf05bb03L,0xd346e06a52488d57L,
  93605. 0xe7833e27f8c702d6L,0x25b942ca6be87eccL,0x7b0588057505ad4bL,
  93606. 0xa6fa90a5c97e6686L,0xd1d89bee28a9c029L,0x000000000000009eL } },
  93607. /* 28 << 301 */
  93608. { { 0x2b1a24297e163accL,0x07a52207912df2c1L,0x8b00c607c28459a1L,
  93609. 0x172a4e12d0d1c992L,0xd7d28839f97852b8L,0xfa91f13ff8fd2bdcL,
  93610. 0xb40ceb9cc7c71e5bL,0x6dfbd3ef1bb25495L,0x00000000000001d8L },
  93611. { 0x77d795eaecb9e7d7L,0x307ec55c034640ceL,0xc81199211dc90456L,
  93612. 0xf336a8d62e6c8828L,0x39f69ea7efbdf285L,0x9f9b88446f6376edL,
  93613. 0x9cf44f2767ef7e9cL,0xcfb6ea37759662d0L,0x00000000000001deL } },
  93614. /* 29 << 301 */
  93615. { { 0xac8e3a669a265363L,0x0bcc6be9a837586eL,0x1800b8af5b913525L,
  93616. 0x6bb8bc3eaf0766d1L,0x83ca07cb0bad6358L,0x29442dc1330633bbL,
  93617. 0xce862c876fbccbf4L,0xc5550669b96ea743L,0x0000000000000073L },
  93618. { 0xf015f8b97920c9d7L,0x34a73daf4c203156L,0x97bf03c337bb3adbL,
  93619. 0x7a7f0014000c2070L,0x04a1bac2d9d1d2beL,0xbd7991e0b7297737L,
  93620. 0xdbb0bd6d8deac191L,0x8ddab47a8386ee08L,0x00000000000001a3L } },
  93621. /* 30 << 301 */
  93622. { { 0x3d87a8098b966d8cL,0xb435d15896c76473L,0xefbd14d8e443c697L,
  93623. 0xa1d59738435950d1L,0x53a2c7714b9bf3dcL,0x712bc49a2cf7a12bL,
  93624. 0xa73d130b39f96cb9L,0x4c00c64ead7eebcdL,0x000000000000006eL },
  93625. { 0x75300d109db550eaL,0xa7235321f4f7bd1cL,0xfba90cd35f63a433L,
  93626. 0x49b56ce3aeaeca59L,0x1d562d49f8ceae69L,0x42bf5c058ae7ade7L,
  93627. 0x571ef4b5c6aa760cL,0x2beb1d379fdd6c7fL,0x0000000000000074L } },
  93628. /* 31 << 301 */
  93629. { { 0xf025bfb65b9ab00aL,0x5afcde150c317febL,0x2dbf474e5deefa10L,
  93630. 0xfa820330f1e3a088L,0x52d1d96aa577534eL,0xaab36a89d11cbc7aL,
  93631. 0xe5b59c3e1028606eL,0x11298e30688131c6L,0x000000000000017aL },
  93632. { 0x4e1d910a80a78b33L,0x82826cbfb3ed3ed5L,0x6259a943c011cfa6L,
  93633. 0x81284e4503ee6f69L,0xc3b994d2b86b8f5eL,0xd4dda4b45f239bddL,
  93634. 0xbaf7541f709ad8a9L,0xeaa31ffd52390dc6L,0x0000000000000186L } },
  93635. /* 32 << 301 */
  93636. { { 0xcfdc285df79421d8L,0x263289988674686eL,0xf991086e1ed73cd0L,
  93637. 0x65046369a36bd06dL,0x9712bb0b72adcd0aL,0x9b2d422f5faf9c7cL,
  93638. 0x7e3989f851491c47L,0x9fc24bf809aeead9L,0x0000000000000029L },
  93639. { 0x8584ee840370acb9L,0xed56c569ea40417dL,0x6443587557b4cb9aL,
  93640. 0x752c5fa691d35c5fL,0xbbcf8703abd0eb6fL,0x0dd72d15c233db59L,
  93641. 0xf2b7a1ab692baae3L,0x6ee634377baadfbeL,0x0000000000000111L } },
  93642. /* 33 << 301 */
  93643. { { 0x2f00b1014d3f67f2L,0x02773442dabf0299L,0xb050dd0649b08536L,
  93644. 0x155d73c3ee3a8e0aL,0x0e468ccb7c29c66fL,0x3b7660e15b398646L,
  93645. 0xb6b2782165c7155bL,0x09cd57fcecb519d3L,0x0000000000000133L },
  93646. { 0x3aa32f6097fcfd5dL,0x35d5448b279abb9aL,0x54bab5ce95cf663fL,
  93647. 0x9dc193ea1776f8d6L,0x6d2bed78f4d90465L,0x08da1c145e61f723L,
  93648. 0x68c8bb0604d91875L,0x03458fea8b3a3a3cL,0x00000000000000eaL } },
  93649. /* 34 << 301 */
  93650. { { 0xb40737908373a6e5L,0x9ce42cd2a1188649L,0xce446162ad0eb978L,
  93651. 0x322dadd09b7ffb70L,0xe568d26ddb803c73L,0xd74eb110c414c261L,
  93652. 0xa1be744270b5c055L,0x5f70ec901a420208L,0x0000000000000175L },
  93653. { 0xad6727ca8c2a9937L,0xe9fd6825a03949a5L,0xe4790c050a8c931fL,
  93654. 0x80943e80b52d4b49L,0x104bd74362d38bd5L,0x0510772ffcc1cf4bL,
  93655. 0xc669adcd5f9185c7L,0xae818ff028123eceL,0x000000000000006cL } },
  93656. /* 35 << 301 */
  93657. { { 0x7a5717a10792b4faL,0x2c248be7fcfdf67dL,0x970a7feddcb61131L,
  93658. 0x0234eb04df345fefL,0x3eb4489ba2745622L,0xb145f3f95ed28a99L,
  93659. 0x0384b4cc064fe474L,0xea70e7d96931ea00L,0x00000000000001c8L },
  93660. { 0x331e0fd9802e2aebL,0x42417e6c8732f311L,0x6006728b12056492L,
  93661. 0x3ce9e7fd5b979aa4L,0xcaaffb764b4fa416L,0x064dd6eca006759aL,
  93662. 0x28b047d186a9190bL,0x029d74a7595fc9faL,0x00000000000000c5L } },
  93663. /* 36 << 301 */
  93664. { { 0x657f1a4a0d3a6ecaL,0xe4131c3c9584cfd2L,0x75ecc937303e30e6L,
  93665. 0xb062e9f44c0801a8L,0xd9cf5f10d3221408L,0xae77108f25262e9fL,
  93666. 0xf5f313faaf40a968L,0xe40dcb7d2c4518f7L,0x0000000000000163L },
  93667. { 0x949fdc6e98e347c8L,0xef10af84b013c3abL,0x4c48606d0e6d48feL,
  93668. 0x97e690a711fb595cL,0x9f47aea713f11f69L,0x1d670e6e31bae984L,
  93669. 0x35020db9e62e6909L,0xc43ff5489d07874fL,0x00000000000001d4L } },
  93670. /* 37 << 301 */
  93671. { { 0x28316d8b9441a550L,0xff7227210a759555L,0x5481756e2ab2ee17L,
  93672. 0xf3cbe2e8e3dd7974L,0x7dc4b0f78aa159c8L,0x9e5b4f561bf333e7L,
  93673. 0x63ff9f52a91020b5L,0xc76c6456bc08d5b0L,0x0000000000000103L },
  93674. { 0x69bcec9d3a833b1fL,0x07441e04281f6fa7L,0x08315e671838e4e7L,
  93675. 0xcdbae7275209d351L,0x14c1373de5e46a7dL,0x8e3601e092125731L,
  93676. 0x6fa6044488b745e4L,0x8ec5cb7e562f6bedL,0x000000000000004eL } },
  93677. /* 38 << 301 */
  93678. { { 0x9936081ddd58574cL,0xcd952445fe2c792cL,0x852d5476ed663b93L,
  93679. 0x4b13dd0faf869b0fL,0x8793e140290f6625L,0xdd61017faaf6d5b1L,
  93680. 0xe7d2fe4699c8aae8L,0x8794c5703e234ac0L,0x00000000000000e3L },
  93681. { 0x2586bc84622848ddL,0x81816931dc799fa9L,0x84e590e24092ee76L,
  93682. 0x7c11f235d863e257L,0x5f43fd9706988708L,0xeb474948e569a68aL,
  93683. 0x66b18d86d3b8b848L,0xcaf4df955083487eL,0x00000000000000c9L } },
  93684. /* 39 << 301 */
  93685. { { 0x89d29ec37898d2fcL,0xd5e69b49b98c5a0eL,0xe3c7a979b49ac9f3L,
  93686. 0xebe0c817530d25dfL,0xbbec2d1a2e03e0ccL,0x6447dc091be011beL,
  93687. 0x1d990dee2d10c2c8L,0x8ad4a24baf507a38L,0x0000000000000197L },
  93688. { 0x8f38e29bac7a283aL,0x3ce5725db29af2c4L,0xe17035ef8077fba2L,
  93689. 0x5b50a50390b970fdL,0xfca6cdafb8efdf69L,0x0d252e814d349a01L,
  93690. 0xfe068bd123d614dbL,0xeb14408f3810431aL,0x0000000000000086L } },
  93691. /* 40 << 301 */
  93692. { { 0x97defe3d7938d98eL,0xe2458feafd0bec69L,0x7df8d2b58b42ddbbL,
  93693. 0xa82aab40ff39914cL,0x78549b01d30f07e6L,0x253f8c461331557eL,
  93694. 0x771750d919648cceL,0x96ad6776d045bc36L,0x00000000000000f2L },
  93695. { 0x4a2ee334e08b83f8L,0x3e9c4cb72e3086deL,0x913eae4b9936bab0L,
  93696. 0x3cf83551d23cd36aL,0x7c51d84adfd27d4aL,0x2595a90f4d006eddL,
  93697. 0xb2d5c68461cc7be7L,0xbb02bd59a4b310f9L,0x000000000000018aL } },
  93698. /* 41 << 301 */
  93699. { { 0xea273b8fd19caa8aL,0x8f2eb0e5fbdceb6fL,0x13e96cf4cc37e1f6L,
  93700. 0xf91f2f4d7b6607e6L,0xdb70dc3e919dcb16L,0x752725306a35e521L,
  93701. 0xd48d0a08e930983fL,0x62bb3d8f9e955697L,0x000000000000001fL },
  93702. { 0xc492f1a5bc57ce3dL,0x0496b245370d6a7aL,0x2a0b281dc8ed431aL,
  93703. 0xb8a3ff7922cc9f02L,0xfb6c685d7d711d84L,0x68e508ad40b6b8b6L,
  93704. 0x437d076c1f1236edL,0xdab5a2ef69a9f09cL,0x0000000000000009L } },
  93705. /* 42 << 301 */
  93706. { { 0x45ad42dec9ebfcd7L,0x4054e68145eef6c3L,0x05427862b00d1763L,
  93707. 0x025fc05fa9852684L,0x717a17c10de39afeL,0x618c2b085586b46fL,
  93708. 0xff0a80f7f6b71672L,0x3c7fa577f5e7c531L,0x000000000000010eL },
  93709. { 0x33e3534c52ccb986L,0x9ddd2298303c58a4L,0x261e5b794a324d2cL,
  93710. 0x52c1c46af081f324L,0x0216cb8dfd3db922L,0x8e5b647c45a5a0e2L,
  93711. 0x1b1c0b847184888eL,0xc1297760e66e1c57L,0x00000000000001d9L } },
  93712. /* 43 << 301 */
  93713. { { 0x555d70c34aeab359L,0xc57ab8bb64f78762L,0xf95aba0b8d3e12c8L,
  93714. 0x8bf166223b0a34c8L,0xd9b90d4a97a02258L,0xd2718cd14e070653L,
  93715. 0xfc0b4a7243ae776eL,0x10b07a1f9e739e1eL,0x000000000000017dL },
  93716. { 0xc53e4794dbf1d1baL,0xb82723e1ab28bff7L,0x5cc8876d993dffebL,
  93717. 0xc84384567c943552L,0x98d1a6ea3e1940aaL,0x1bb513db6e2214d7L,
  93718. 0x27a9e1daf0e11ef9L,0x000546decb247662L,0x0000000000000114L } },
  93719. /* 44 << 301 */
  93720. { { 0xf6820c898f7f0d51L,0x470f631b3e6bb71cL,0x1489563d67e33eb0L,
  93721. 0xf9a58c5e34260065L,0x2f0cbe5541d317c2L,0x3501da3bfae4b6f9L,
  93722. 0x25caef56436223a2L,0xe86cd4faaa1af452L,0x0000000000000178L },
  93723. { 0xbcda46bd2a68b8bfL,0x7005074bf6e3ff4eL,0x17eb86a110cc5301L,
  93724. 0xaa01cafcfcf4b5a2L,0x8f4954e944dd4413L,0x485d7a8e3dbc7cb6L,
  93725. 0xd042f1f4fef97fcaL,0x8e1bd4289991c8f5L,0x000000000000007bL } },
  93726. /* 45 << 301 */
  93727. { { 0xc6611fa87a271022L,0x10ac4d7405f4fa97L,0xf94e7e96b448c4a7L,
  93728. 0x24a2e0ae49c62985L,0xa2d6dd08a74848f0L,0xf7710e0eef1b6b35L,
  93729. 0x3e6eca62ceae13e0L,0xcc1397bb0a3d98c3L,0x00000000000000e2L },
  93730. { 0x4220e9e620923648L,0xecbcfc545b686455L,0xeb4580c51656d644L,
  93731. 0x9d1747a6a197f15fL,0xcf2b77a1f78eda46L,0xe417400145448aa3L,
  93732. 0x9a23f9a71649a48cL,0xfc6d16ab76272579L,0x00000000000001d1L } },
  93733. /* 46 << 301 */
  93734. { { 0xacf13584ec5f73b4L,0x14f5910a780e4469L,0x556672606fa1789dL,
  93735. 0x5866c80b9a4d28b5L,0x4a3a72f3217e2b8fL,0xc774aa4118da75fcL,
  93736. 0x9c9be5c98ca2cd13L,0xcfcbaedc2145b62fL,0x0000000000000070L },
  93737. { 0xf78d77ee3833e520L,0xc536906550caeadcL,0x0392c83f4af31e0bL,
  93738. 0x9b9f30ce94537049L,0xb56dc7c2ef2c1d25L,0x820e464242363f57L,
  93739. 0xe70134f9abbf4146L,0x55264e69abc9ff2eL,0x00000000000001a1L } },
  93740. /* 47 << 301 */
  93741. { { 0xdd3503c5cee406e7L,0x4b64dd4333236849L,0xac777279889363ebL,
  93742. 0xeec078a0cf6f0811L,0xfd559e756d243ab0L,0xaac1010f2e4d26baL,
  93743. 0xc0b719ef55e9c8f2L,0xefff2f164e29695cL,0x000000000000016dL },
  93744. { 0x3717eb9cad47f17aL,0xb39b8c6162b05e31L,0xac892a92918390b6L,
  93745. 0xaa3c7f01650cfed9L,0x6a8f7ec0fba21f56L,0x4732e5129121bba3L,
  93746. 0x220ce23e1a14d894L,0x9199750e5dff1692L,0x0000000000000038L } },
  93747. /* 48 << 301 */
  93748. { { 0xcaa727068efb0157L,0x713a7f37f08f035cL,0xff58c6a1aa4fd5e2L,
  93749. 0x760b066000a48205L,0x4a39e66655f07cb4L,0x0f6bedac67558061L,
  93750. 0x9eaa88c266a118fdL,0x8d9ea75c97d29ca9L,0x0000000000000190L },
  93751. { 0x50a4bc7abc6094f3L,0x105120ce68f17d91L,0x514fdeca4e559f9aL,
  93752. 0x414f4c0ee8d688caL,0x1b91555424de5ac2L,0x5d983c0e298823dbL,
  93753. 0xa537321243264448L,0x4baf77e986eede9bL,0x00000000000001cdL } },
  93754. /* 49 << 301 */
  93755. { { 0x5233363c3908e1ddL,0xd337db04f34868cbL,0x67e60b131108934fL,
  93756. 0x197bff64d6300ccbL,0x2ae67541ba25d4a5L,0x2cecde5e52500639L,
  93757. 0xc89f08d4f30776caL,0x5a8a70c2d54d3966L,0x0000000000000119L },
  93758. { 0x69950ee38b87ac93L,0x82f8ef8a8aae9a41L,0xa7240350d2ceebf8L,
  93759. 0x89babd2121a729faL,0xb32954b0bf228627L,0x0dfef1aac46b78bbL,
  93760. 0x9ea9cd1f4c5f1ea3L,0xd23bbc8bc8c76503L,0x000000000000017bL } },
  93761. /* 50 << 301 */
  93762. { { 0xa095037ded6f2736L,0x0646535bad883679L,0xf786126e9a39a143L,
  93763. 0x7b0ca7e623b36c0aL,0xf24b3e4b927379bbL,0x9b7fb39b25e2bb09L,
  93764. 0x9274d841abe08b45L,0xf6c52548dbee12c4L,0x00000000000000d8L },
  93765. { 0x50b4222ef75cb030L,0x166b97d284f9c593L,0xe850289b5a778cc3L,
  93766. 0x36ac8e7bdbacde12L,0xcf3371820d8b021aL,0x01f6d14c223203c3L,
  93767. 0x4680d14e6369d2ebL,0x6c0e46e4e17a4aa9L,0x000000000000011aL } },
  93768. /* 51 << 301 */
  93769. { { 0x7061a9f024b2f7edL,0xbb9981d31b3a2b57L,0x2656f1674fea4e43L,
  93770. 0xd302b1ff4e19186aL,0x99747d59605eaac2L,0x462f9060bb48ed8cL,
  93771. 0x45023c424c6159c8L,0x580520656cbe1bc5L,0x0000000000000041L },
  93772. { 0x87e0f7951f1a47dcL,0x4ea66203080b099dL,0xe9051bdc1dce1263L,
  93773. 0x30ec89d3e469142cL,0x6daa81dab80471f7L,0x2e12e2fbfb7c0aedL,
  93774. 0xc395d4415db48de3L,0xedde9d18069032faL,0x000000000000014cL } },
  93775. /* 52 << 301 */
  93776. { { 0xbcc582303e5ab417L,0xa60c1a36b86fa32bL,0x3918edf55e73256fL,
  93777. 0xff9846acf315fd9eL,0x31b17c0d4471f470L,0x953aeb49574ef0a1L,
  93778. 0x98879828271105fdL,0xc61be3605efdad16L,0x00000000000001f1L },
  93779. { 0x64a9eff28dee2c40L,0x61c07dbb3ce994d5L,0xd5f17ebaedd78e35L,
  93780. 0x2cad1e605fa0d125L,0x4a769e59482f87caL,0xf9d4824301c7ca2dL,
  93781. 0xa283ff0e1070afc0L,0xc2dbfd1c7d19332bL,0x0000000000000165L } },
  93782. /* 53 << 301 */
  93783. { { 0x658850d16ce799deL,0xcc973847aef174f3L,0x6caf2e528de6a894L,
  93784. 0xb84584ad02fa012dL,0x1e78d607213be59fL,0xd9bf24ad7c2ee0adL,
  93785. 0x8fe953f726b076c3L,0xd38dc31c14cee17bL,0x0000000000000178L },
  93786. { 0x8d0b066db1c6915aL,0x21ccd05457340145L,0x5885c54667ec6ddfL,
  93787. 0x41e073c91b2ec5ddL,0xf847703ff931f748L,0x20d56c94c21f1fabL,
  93788. 0x5dcb60b7021229beL,0x5193baddbaadd8d0L,0x0000000000000024L } },
  93789. /* 54 << 301 */
  93790. { { 0x37f1fc2d03a65cc2L,0x521d119a085fe64fL,0xfc0fa31a43e08d7dL,
  93791. 0x8f29f08e14fb6112L,0x79513894d29b5799L,0x8c2a5e15290f1bc8L,
  93792. 0xb0626ceaab7d477eL,0xde49612f5a1f5a67L,0x0000000000000035L },
  93793. { 0xef75ebd052be58d6L,0x480a1e4323635dadL,0xb57c91739a3cbeb8L,
  93794. 0xe84cbe7311c90c9dL,0x53973bd42c272fdfL,0x5a69a9e16b1fc029L,
  93795. 0xf510e2b810568445L,0x8abe0317a03d18b7L,0x000000000000010fL } },
  93796. /* 55 << 301 */
  93797. { { 0xa24d79fc1f915fbdL,0x6f9b01cac405aff7L,0xa3f928dac9dc1424L,
  93798. 0xb6d7a76790832142L,0x1bffa8759c7ec089L,0xd8406c711f1d58cbL,
  93799. 0xc10c59f08ec01b2bL,0x0e6c986c5c4d7bafL,0x000000000000001eL },
  93800. { 0xcaba835f0b06de2bL,0x82f3ad2b2bc71659L,0x987d851df34a59e4L,
  93801. 0x3ea0707f48bfc12dL,0xd79e3cbe936f8bdeL,0xf496192f8bd05c8aL,
  93802. 0x8c3ba6aed29848eeL,0x87f5784cba394b14L,0x00000000000000feL } },
  93803. /* 56 << 301 */
  93804. { { 0x47212cd83110ef21L,0x351356ca7dab31daL,0x5c31add7777a302fL,
  93805. 0x44844eb4dc66a1c6L,0x559f3fb428384807L,0x95dab974ff78dee6L,
  93806. 0x2fe12e92fb20857bL,0x41436000ef499bbaL,0x0000000000000106L },
  93807. { 0x5e0e5f369df7b969L,0x2c96f308dc819d59L,0x3258db7411cf4119L,
  93808. 0x6246da5476676d2fL,0x5be278cfca079f54L,0x61ab6eb06e36452fL,
  93809. 0xe7742741461fc9a3L,0x252fb6386a926fe5L,0x0000000000000171L } },
  93810. /* 57 << 301 */
  93811. { { 0xd15425a0044b1e79L,0x30c1da1c01c4e18bL,0x2a8fe18f5b56cf96L,
  93812. 0xa65a8c353ec8ae22L,0xd5b3902b1ce4eff5L,0x25dd04aa45191df9L,
  93813. 0xeeede6edd2ec0e96L,0x3dd71ef21178f647L,0x00000000000001a3L },
  93814. { 0x61cbd8a0a99485faL,0x2e3a830310b88a62L,0x821545277d196b55L,
  93815. 0xee30afd7176227b8L,0x0d7f8cb387f3f451L,0x461ab2741c2ae402L,
  93816. 0xb510aa7e7c25eb24L,0x2064a9326d6cb16fL,0x000000000000013aL } },
  93817. /* 58 << 301 */
  93818. { { 0x3a647a701e66ebb3L,0x87eda648234fb017L,0x522f0e31ab81b9b8L,
  93819. 0x0b423e7514efd69dL,0xa4876674b8df1b85L,0x43be28d578427a50L,
  93820. 0x2959b6b085148f33L,0x49b1b83da5796dabL,0x00000000000001cdL },
  93821. { 0xe42c30325d6b2eb8L,0xdfa003ce05f8e677L,0x59e1401917e9254cL,
  93822. 0x34009be012ac5202L,0x7e0ebbb0db58cac7L,0x590acd1a64a0ffdfL,
  93823. 0x100e7b6afca1d458L,0x8933fc7a84524656L,0x00000000000000ecL } },
  93824. /* 59 << 301 */
  93825. { { 0x5251639ab0e87051L,0xf6f979ce0ca338d5L,0x144d90c7b6e253b1L,
  93826. 0xf037aa216a68696fL,0xf89c93246540c170L,0x29ff81b785893ae1L,
  93827. 0x4adef9b90e2c8c1bL,0xce6b4390efee4a2eL,0x0000000000000002L },
  93828. { 0x8ddf233de075825eL,0x6b1e1fb82bb7ce2dL,0x6b6d4972646ee9e4L,
  93829. 0x83b3d991a7723d1fL,0x99b83cd10ec203d1L,0xc03b08a4e02da448L,
  93830. 0x02a118288fc47033L,0x604306491e6f5d22L,0x000000000000018cL } },
  93831. /* 60 << 301 */
  93832. { { 0x9628c0db8ed909faL,0xd3b2a86d0580185eL,0x5735bd594bd03ffbL,
  93833. 0x4f83f8fd1cc44682L,0xbfa641e8a18ede58L,0x840c9d0a5ea97db7L,
  93834. 0x66b28600dd4a3122L,0x8e603955d4678750L,0x00000000000000e8L },
  93835. { 0x7da4912cd87216c2L,0x1ff65b078fca0ee4L,0x7e1fd56ef9bc6ddaL,
  93836. 0x566b2e611503ac12L,0xda75d74167835799L,0xc0ea3d59dc72ec9bL,
  93837. 0x6e72e5f65e154614L,0x7c42bca592cee288L,0x0000000000000185L } },
  93838. /* 61 << 301 */
  93839. { { 0x745a839ffd28d6bcL,0x4589047acd47e3b7L,0x93b23d94bbb197acL,
  93840. 0xa34679ceecf4fc7bL,0x034298450d34fd44L,0xee153249190fa29dL,
  93841. 0x3ad1071072eda190L,0xcb61b38e3b741423L,0x0000000000000119L },
  93842. { 0xaf04e1516a6a568fL,0xf197ced617e3e52aL,0x0940b3238f8d327eL,
  93843. 0x5ac9433f0d86d681L,0xa5cff71ee57e66a8L,0xebe9a6ff3736d6feL,
  93844. 0xb84eef1671bf3727L,0x3c02e98d17c1cf71L,0x0000000000000088L } },
  93845. /* 62 << 301 */
  93846. { { 0x4c6238c497dd1d20L,0x3fa03dda3196ab67L,0x5fc72512a7f69b5fL,
  93847. 0xfa56e5413948db72L,0xe631f4fbd8fa32d6L,0x8495ca1d086e83eaL,
  93848. 0x715f2aad61ea493dL,0x7d8cfba3b12179dfL,0x0000000000000124L },
  93849. { 0xff5705a163c29a0cL,0x6b7f470e4fd2f2a7L,0xd4a25c106860eb08L,
  93850. 0x479eeecf19028042L,0xdc108a08934796a5L,0x6dfd7872672cac03L,
  93851. 0x809fd3bfc86d5c23L,0x193e18ab4ad9c302L,0x000000000000016cL } },
  93852. /* 63 << 301 */
  93853. { { 0x5f0eb4740d66d7d3L,0xad88da12ff43b22bL,0x6ddd0823f87427f3L,
  93854. 0xa8753432c0af65aeL,0x8e4d1f970f47e6a3L,0xb9a187a3ec52c9c5L,
  93855. 0x7df606cae458ff72L,0xb5b21deea1c108f9L,0x0000000000000107L },
  93856. { 0x14111844be16cc0eL,0x9bca8c559765b2a4L,0xf0649ee7e8f13547L,
  93857. 0xce303044c8254c5eL,0xf277fadc62c52494L,0x8634d4d0b31a1319L,
  93858. 0x3076ab431394abaaL,0x2ba1f7ed9e0ac32cL,0x00000000000001b3L } },
  93859. /* 64 << 301 */
  93860. { { 0x70c5acdc38693d3aL,0x9edee68238f054f9L,0x16e053f22960ceeeL,
  93861. 0x5926857c28bfe7b1L,0xb9f7420e6145f8d1L,0x9e0c42f59c0298efL,
  93862. 0x50b7210edd7d9fc6L,0xf9e4bd53d7be096fL,0x0000000000000078L },
  93863. { 0x428c2455ed19fc57L,0x9e8f777d56aa75dbL,0x4caeba30a671d991L,
  93864. 0x5f927d79eae0f53eL,0x00d6ad369e4c2a5bL,0xc8811438a2e12d0aL,
  93865. 0xa36d664eb2aeb4b1L,0x74e76676929a8748L,0x0000000000000191L } },
  93866. /* 0 << 308 */
  93867. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  93868. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  93869. /* 1 << 308 */
  93870. { { 0x358eb53667db4570L,0xaed3f999685fa5baL,0x4593c950cb571fcaL,
  93871. 0xdff7278c0411dc5dL,0xd62a44643bfe7e51L,0x53b87ca249f6f05aL,
  93872. 0x72327899f2c3d2dcL,0xbaa194aa9df4da5eL,0x00000000000000c7L },
  93873. { 0x3e73accfb50a3e06L,0x0d8ebee30754f2fdL,0x3cd0ae954b3f3fd1L,
  93874. 0xc4a4eee0c08bb2dbL,0x7955296319d71e5dL,0xf91e1ab7872e35c9L,
  93875. 0xc85090f6f6c102afL,0x8edf8c5d1e42a1baL,0x0000000000000179L } },
  93876. /* 2 << 308 */
  93877. { { 0x56923e55f33c5a4aL,0x1c5624ec829a3c22L,0xed234e3870000295L,
  93878. 0xa8467561edf3ff42L,0x717a939e9cec9497L,0xf80e28024e6be199L,
  93879. 0x5023bbec06fa7b8fL,0x16e26a9ddd95c07bL,0x00000000000000fdL },
  93880. { 0x88091d673c3485e4L,0x0377260fd40b6b47L,0x6d9c6df416f7b3abL,
  93881. 0x65376516f71b1fddL,0x89cc11f991956d40L,0x58992a09807610b8L,
  93882. 0xdeb47aa2b2799c7eL,0x3ee5834c8a327765L,0x000000000000012aL } },
  93883. /* 3 << 308 */
  93884. { { 0x421b840e80905a7aL,0x97c7f1d394b48cbcL,0x421a23843b79f360L,
  93885. 0x1121a2d8eaf59ef3L,0xddbe9d9959fb65d3L,0x6ad2be2371d9d306L,
  93886. 0x36fa0077789af534L,0xb928a6e78013dc59L,0x000000000000017bL },
  93887. { 0xb4c26798a38d78e5L,0x8884dd394cf38545L,0xb74dd46112a2023bL,
  93888. 0x1b242f854133277dL,0x401d32f2d29d7071L,0xcd7c9aa43d2e2a0cL,
  93889. 0x9df2157e06ba6ad8L,0x749bfc4c80e2c3c5L,0x000000000000018bL } },
  93890. /* 4 << 308 */
  93891. { { 0xccf8b57aeffb980aL,0x82ea22f5d0108b23L,0xcab6a69f6c902061L,
  93892. 0x7a3d74d843663f25L,0xb12ca29a0ad5df2dL,0x9d3ebbeb2f9fb277L,
  93893. 0x6f975e2189bc5273L,0x75e8bf950929deceL,0x00000000000000a9L },
  93894. { 0x14493740e1af64e4L,0x9ce3ae66109961dfL,0x36651bb7e31f4ffdL,
  93895. 0x18b7131cff1fcfe2L,0xded3378b085a67b7L,0x28efb2896e283271L,
  93896. 0xb66deb9a73427ac3L,0x3c5fd6d2a9baa451L,0x00000000000001b3L } },
  93897. /* 5 << 308 */
  93898. { { 0xec1f6a5762efd94dL,0x1d80b5e87b95536cL,0x01f8ba60af47e2b4L,
  93899. 0x6e8ae542a3b0e6d0L,0x5ecb52d9e45fefb7L,0x2108032a327299a8L,
  93900. 0xc49fc5c5044ed33fL,0xd1fd083752cd0833L,0x00000000000000e1L },
  93901. { 0x3f6ae9b6cdad11acL,0xad3f0fa813bb828bL,0x812626816ff056e1L,
  93902. 0x2fd37492a73196cfL,0x172beb76df90d5f4L,0x63f2c6e466144036L,
  93903. 0x3e1f497457f6d086L,0x5e0d8e49fb6eb366L,0x0000000000000095L } },
  93904. /* 6 << 308 */
  93905. { { 0x611f4a795e2d7653L,0x966e843cceebb0a9L,0x2e358cf506e8a15dL,
  93906. 0x2ce41dc740a74fc7L,0xa2fdea4f5eb455b2L,0xbbbd718f120fa4d4L,
  93907. 0x210bff82030fff11L,0x5a1b943aa68b00a0L,0x000000000000002aL },
  93908. { 0xeb814a67ff037be3L,0x3b08220469f52c59L,0x3f72143e74ff3224L,
  93909. 0xe7e85cc436f89aedL,0x2afcbe04caaf314bL,0xf8c8bb32bf93fd35L,
  93910. 0xe41f8328ac1dae25L,0x5318c6d7bdeb2001L,0x00000000000000f5L } },
  93911. /* 7 << 308 */
  93912. { { 0x630190bb95989889L,0xe041da504e659dd2L,0x5d88d99b5df8e753L,
  93913. 0xdbac25445ac2e158L,0x1ff6ece7699eda49L,0x3d0860a21051bd60L,
  93914. 0xd4d8685740c3a989L,0x2bfcc26c4002d915L,0x000000000000012aL },
  93915. { 0x0c43772c2f4acc7fL,0x54963f2fe3753d32L,0xc699be8765dc40e8L,
  93916. 0x6dbc95ad81560a01L,0xc805d7411dedf025L,0x46b049c177fa74c6L,
  93917. 0x7c0f62fb288c1133L,0xa8a2e1f9e6f066baL,0x00000000000001feL } },
  93918. /* 8 << 308 */
  93919. { { 0xce24d42c1b72e95cL,0x7fa4289beab74b64L,0x42ba739e523fc1e5L,
  93920. 0x9293167b814c4fc8L,0x4418fbfd8623db10L,0xb079853f76a132b6L,
  93921. 0xec5bad8abf394947L,0xc78e5748e7b0a665L,0x0000000000000169L },
  93922. { 0x6038ad95d7eba9ceL,0x421ecdc9572f3671L,0xc6b7effc60bc3cfcL,
  93923. 0x2c4b7b77a48fd001L,0x80280ec9d57795e8L,0x350815c93a7f6d67L,
  93924. 0xce30bcdd7da13b86L,0xe36da7b123c894d8L,0x00000000000000c9L } },
  93925. /* 9 << 308 */
  93926. { { 0x31105c7864ea99c5L,0x513faf09396e75e9L,0x34a79931a04b75a5L,
  93927. 0x3e026b0ed4c954f0L,0x70d2aeeb235bf7e9L,0xdd6c193bdf5682b4L,
  93928. 0x7cf6e8f29b1d9704L,0x41fc6b32026eaac2L,0x0000000000000132L },
  93929. { 0xd09919ef5413aa96L,0xdb06523a393fc9e6L,0x8c6f8bcb74809cc3L,
  93930. 0x7d2a5b46b27e50abL,0xc4f0d0792a507c1fL,0x28c3944b4a751fe8L,
  93931. 0xcd55d261bf88e984L,0x56d48d0616da21b0L,0x000000000000008cL } },
  93932. /* 10 << 308 */
  93933. { { 0x2cf7fa7761bfa954L,0xb24bbea98e5118a9L,0xc5c77927689db327L,
  93934. 0x8d12557569c43762L,0x41f4bb986c359329L,0xf0715fbed02caf97L,
  93935. 0x3319662497538059L,0xfc8ae58b5ea0263aL,0x000000000000005eL },
  93936. { 0x7245131ce020630fL,0x459c5721ee23ba9fL,0xf25f9be9ac36a41eL,
  93937. 0xbed1a35049589c41L,0xa72555b2c636e1cbL,0x35398149c006b213L,
  93938. 0x7761c08b6a446a84L,0xed021d8673e41c6aL,0x000000000000001dL } },
  93939. /* 11 << 308 */
  93940. { { 0xf8d97141473e6d47L,0xe73699d31e25f25eL,0xbb3aa86000986563L,
  93941. 0xd8158f88653b68e8L,0x1c7d943eb586d23bL,0x1074ee6888ee5191L,
  93942. 0x6f60808b0b60c796L,0xa7fa912d84dd4730L,0x000000000000002aL },
  93943. { 0x589bccf26b6fe852L,0x902c7b946abbb0e2L,0x9145309822db1367L,
  93944. 0x6febda2d555ff37dL,0xb6fd9b3008771767L,0x968892ece5a8b409L,
  93945. 0xfe1910a2e1233793L,0x13fe7f04213d591eL,0x0000000000000184L } },
  93946. /* 12 << 308 */
  93947. { { 0x59975b4fdfc4e7ddL,0x35d9e63a3fa2a870L,0x7d6653749901f064L,
  93948. 0xe89caa890e9dca74L,0x6eeb63913d92e7f8L,0x19d9af358a4ccbb0L,
  93949. 0x405c35c2928e5cf9L,0xed771157ddb633ffL,0x000000000000008eL },
  93950. { 0x6ad1dcbc685b9a90L,0x479ab5746efb4e61L,0x27a023b6e72992c3L,
  93951. 0x3607decab94c54fcL,0xfb2f50d0fbf16aa6L,0xaf3f098398c7c140L,
  93952. 0xd1a20e9ea3814586L,0xf1bc43165412b23eL,0x000000000000018eL } },
  93953. /* 13 << 308 */
  93954. { { 0xa047b2e89a705668L,0x2fb2a1b74cd0215dL,0x90ef0bb734146de2L,
  93955. 0x340074458c103e1eL,0x4803ee28d95e743aL,0x574f1ca6bb762bdfL,
  93956. 0x703fec4e2ed0dc5fL,0x3f19a069d27172caL,0x000000000000002eL },
  93957. { 0x3dd8f275c44bcf81L,0xa32f84ac517a8afbL,0xc065ba2bf26384b8L,
  93958. 0xb3fadb9619d14499L,0x6258447d07523eb7L,0x4c8c791afd107696L,
  93959. 0x041ab2e7d111b4d3L,0xfd008507e28a3a07L,0x0000000000000165L } },
  93960. /* 14 << 308 */
  93961. { { 0x75d00875fbdd51caL,0x8c2e5ff75d7aa834L,0xee4fbe0aa4a1a123L,
  93962. 0xdf61ce6939ea5515L,0x8a747ddaf3ee68beL,0x106c5c5d3cedff21L,
  93963. 0x51ecf5362c3519fcL,0x6581ec138cefa861L,0x0000000000000187L },
  93964. { 0xa8668f9d0eecd8dcL,0x4dc8fbe96bdd6803L,0x5aff8cdd339f6f89L,
  93965. 0x7a39f0ab91d488acL,0x20e1dcc8d8fa0333L,0x12e03a970fb08c2aL,
  93966. 0x265c2724173af27cL,0x962fa034cc395512L,0x00000000000001bdL } },
  93967. /* 15 << 308 */
  93968. { { 0x5fa1aa9d9283f38aL,0xe0dcef924846cfa5L,0xea5d81e7e4c20234L,
  93969. 0x5959dbcadf690b8cL,0xb77391b0c6e466a6L,0xdf6353c23982757aL,
  93970. 0x6516e711b064d2c4L,0x6a29f216df8f77c9L,0x00000000000000e5L },
  93971. { 0xb5fd98187a2702b1L,0xdc2a2e1d49291bcfL,0xf18db82a493dbb22L,
  93972. 0xaaef9aa431732b87L,0x6ce115f70f27262fL,0x4784c2ed93afc24bL,
  93973. 0x97df3c8932540ad9L,0xc01564c169f2a2c6L,0x00000000000001dcL } },
  93974. /* 16 << 308 */
  93975. { { 0x92401ab5853572e7L,0x957d2ca6eddea020L,0x7d54dd653f9fbd6fL,
  93976. 0xad0c7d092e05d05dL,0x6656fbab04183b30L,0x543b50170b716d5bL,
  93977. 0x2481449d9857d796L,0x86173b6de3a39722L,0x000000000000005dL },
  93978. { 0x7130d0cae71e511dL,0x168ef9d935663592L,0x63a9936eadbf816fL,
  93979. 0xaf63ee57d4f7a44aL,0x59f21032cd0ea152L,0x2f552046a881056fL,
  93980. 0x26eda9a621ba6bf5L,0xe75991c7d0a0caf9L,0x000000000000004cL } },
  93981. /* 17 << 308 */
  93982. { { 0xd892c4c47f86d0feL,0x56f68e92d138ac8bL,0x8b6cea6b812bef69L,
  93983. 0x65e6668136fb366fL,0x61708f66c5da12b8L,0x0f58c3a4c22b7b76L,
  93984. 0x51d69be4faa405a1L,0x468bd1ec9efef316L,0x0000000000000182L },
  93985. { 0xfd9983c6150289b7L,0x7eb083abd79ab364L,0x2931bc8877a84d7fL,
  93986. 0x521e5eaa959467b2L,0xb6c94464c1b64119L,0x6012353f4c2cadbfL,
  93987. 0x134c778a4a2afac0L,0x996a73009c581747L,0x00000000000000e2L } },
  93988. /* 18 << 308 */
  93989. { { 0x33e1640091a78548L,0x0be887bfab17fd14L,0xd0a2c5b684e585a3L,
  93990. 0xa7263ff6c9aad376L,0x3043f2fece1efd0eL,0xa0680aabdef6a593L,
  93991. 0xe60970a1f0023f93L,0x3a37d9532721a60cL,0x000000000000019dL },
  93992. { 0xa6f89b88c747ceb9L,0xef6327fbd2f9af42L,0x9fc2f4e140059ad8L,
  93993. 0x8cf625fb17fd0a67L,0x7b274e49d4b8e5fcL,0xabdf2b193b7de841L,
  93994. 0x33ace325cb52a6faL,0x245e8346cedd79e1L,0x00000000000000ceL } },
  93995. /* 19 << 308 */
  93996. { { 0x01bacaeabea17fe6L,0x59915363440c14b2L,0xaa37092ab5b2c0b1L,
  93997. 0x0d2bf652ab5e63ceL,0x78f5ca508ad78521L,0x22c92a71ed54e597L,
  93998. 0x25e63d45070cfe02L,0x4bd01cf9443e0e82L,0x0000000000000092L },
  93999. { 0xd059eaebbee76889L,0x6bc4542fa6dffb4aL,0x249940849553d515L,
  94000. 0x2ce00cb4cc103183L,0x45a3fdc168016708L,0x2bad1eabbac0273eL,
  94001. 0x38ef326920c8a277L,0x849cd583f91eef7fL,0x00000000000001feL } },
  94002. /* 20 << 308 */
  94003. { { 0x1da8036a7a1e7dcdL,0xeba687ced11490f5L,0xc64142142c78ff92L,
  94004. 0xf74c827871e76977L,0x4f4870199295ccc6L,0x9f1f19e06d459a5fL,
  94005. 0xbd88bfbb1a7a5b0bL,0x64780f07e527efe7L,0x0000000000000042L },
  94006. { 0x9e3e79f3e6b1281fL,0x0b7b6ea6cf470445L,0xa1b8c1490c2ab815L,
  94007. 0xc063df408bf69287L,0xc8db56473cda2051L,0x44a55be78b19b178L,
  94008. 0x359c27432185346fL,0xf88c095f67dbbce5L,0x0000000000000103L } },
  94009. /* 21 << 308 */
  94010. { { 0xb91e5920ac8ef011L,0x7a54d4adfbcdb74aL,0xfe11613ffc5098b5L,
  94011. 0x1336af032aef6001L,0x84605c56a061b0f6L,0x0f60d5e2e1fcaf04L,
  94012. 0xde8852e49907ac17L,0xb28a7d61ea6f8bdfL,0x000000000000005dL },
  94013. { 0x4004301e0f0e5fe5L,0xf197d689fc10a41cL,0x0b0fa151123330c4L,
  94014. 0xf03abc5f0d80b3fdL,0x70938e36c84adc56L,0x56e25d0682880d7bL,
  94015. 0xe4ba61eab767a4f9L,0xfec4056bec7805ceL,0x000000000000007bL } },
  94016. /* 22 << 308 */
  94017. { { 0x71b0470927f2d575L,0x4ce1b5a35ec90c8dL,0x1fa98cc92ed1c562L,
  94018. 0xffac24ea60a174a8L,0xa9eb67c721c17f93L,0xdff4dc8fc22a0e55L,
  94019. 0xd44fe45a97f21f99L,0x617b224cd9032856L,0x000000000000012bL },
  94020. { 0x807472aea19c8053L,0x83365805a0ea3ce7L,0x15ade403800a5422L,
  94021. 0x1d7f62916bfeca38L,0xd3454c6c3975cdabL,0xba22ba37899c6b79L,
  94022. 0x46901af86bd4d316L,0xd7dc618e8259a72eL,0x000000000000006cL } },
  94023. /* 23 << 308 */
  94024. { { 0x2c1a594ce5e70724L,0x9827008023b65011L,0xc4bfcb78112d48a3L,
  94025. 0xe9f153719f70adfcL,0x95fe6dfa442466aaL,0x11f7ba5cc44e4c58L,
  94026. 0xbbb7c63059794602L,0x3caea52a595ab424L,0x00000000000000beL },
  94027. { 0x7bc2206923fddef3L,0xdd953f62707e24fbL,0x4711583a602d304bL,
  94028. 0xb63e6c862ceb6dc1L,0x37485fd80d5380cbL,0x9dd8e21be6c10e7cL,
  94029. 0x47e4555b2bf9a466L,0x12bffd0346e86fd9L,0x00000000000001c3L } },
  94030. /* 24 << 308 */
  94031. { { 0xe2f4e66122495a58L,0x0f547f2112dedb25L,0xda70b4ccab617fa2L,
  94032. 0xdf8f0a8727716051L,0xda92b34e5b9602c9L,0x13f62ddb9edc1bb8L,
  94033. 0x4c9453427196c75aL,0x03d6a92485cc70b4L,0x00000000000000b4L },
  94034. { 0x5b3255495f951e47L,0xcfdf328e31c6c06cL,0x4c747ca3b4409bc1L,
  94035. 0x82b37aedb2420014L,0x254fad7217af258aL,0x8520c05a9aaf24d3L,
  94036. 0x22c81bd52f2d8a68L,0x15f846222126085bL,0x00000000000001eaL } },
  94037. /* 25 << 308 */
  94038. { { 0x49cbcd516677335fL,0xff3b5c376973a2a6L,0x24fbdf0a76d9b3b1L,
  94039. 0xb90d67e23be472a8L,0xd3104c78a0370080L,0x2d0c35e019f99197L,
  94040. 0xc01ae666656ff6cdL,0x70357f51c10c44d5L,0x00000000000001b1L },
  94041. { 0xe922e0ca48b5b2f2L,0x8f4a74eeba82bfd9L,0x78744832f23c0329L,
  94042. 0xdac7d5e418144f0eL,0x4b6c8a5573ab198bL,0xad8701552aeb0191L,
  94043. 0xcb25a018937740afL,0x217c8ebb064ab75eL,0x00000000000000ccL } },
  94044. /* 26 << 308 */
  94045. { { 0xc3e6e304b6017e8bL,0xe0f4658e93da01e9L,0x7c000b973650f195L,
  94046. 0xa252398f0db26432L,0x5b8c3d166a3e2695L,0x58aceeec15c35d5cL,
  94047. 0xfbd04cf40c9d3e37L,0x91e494fb96955becL,0x000000000000006cL },
  94048. { 0xf233b2294ef54821L,0xdf93fae3e9f9da80L,0xbcdd5253e7d7234dL,
  94049. 0x4b8a114bd07bb906L,0x32e091a2d6937e9aL,0xcc369893ad38b041L,
  94050. 0xcc0a70efd48839a3L,0x243948c57344ccffL,0x0000000000000070L } },
  94051. /* 27 << 308 */
  94052. { { 0x7d6c6c044e864354L,0x0a901df4875d7d03L,0xb5907546246dae1eL,
  94053. 0x6729f83134e1570dL,0xd764551bcfdea622L,0x313f1c743b5e6805L,
  94054. 0xa1481042669a54ccL,0x5f415fd1b868de4dL,0x000000000000004cL },
  94055. { 0xd716453f41282c78L,0xd0195eb53fa4d88cL,0xe89c4289ab207259L,
  94056. 0xcde2eb67f7971651L,0xcea4c8f7c8412a8cL,0x0bc1ad8e99a02f0aL,
  94057. 0xae4acd7a8011b76fL,0xa1631045edd271d2L,0x00000000000001eaL } },
  94058. /* 28 << 308 */
  94059. { { 0xef3289b04ad9d4d3L,0x1642bc9a269cee37L,0xc43668c748c83a9dL,
  94060. 0x1273811b4be20506L,0x6ac04b3ad754dea6L,0xd7fc6015233d6ef0L,
  94061. 0xe1f876a478099339L,0x95f3600d848cc174L,0x0000000000000093L },
  94062. { 0xd887337dfe703d68L,0x7fe8618d7fbb4be6L,0xcc8553bb5e92c232L,
  94063. 0x7c8c470d76d61087L,0x895e49a664c6ee9dL,0xd18e92679cce131bL,
  94064. 0x37e1526eafcd5762L,0xb36a29bace71ee8aL,0x0000000000000012L } },
  94065. /* 29 << 308 */
  94066. { { 0x5bd3e13724ef2377L,0xe78c3cf63fdfcae6L,0x4e142cabb58a6d07L,
  94067. 0x3e136d15d953e9a1L,0x0a7cc513153a91f6L,0x43b28b2c402eae12L,
  94068. 0xcc70a80949e328e6L,0x36f604d3e4e3b6d3L,0x0000000000000137L },
  94069. { 0x9dab1378923289cdL,0xf78d3f45bde1d213L,0x5ab3e38b81422f9cL,
  94070. 0x1380b31a8ba8cbebL,0xe4a0c0d8f6d62dccL,0x05a681bd04c2e5fcL,
  94071. 0xc2dc99873ae76bacL,0x1b5b77687287ffa4L,0x000000000000009eL } },
  94072. /* 30 << 308 */
  94073. { { 0x313ffe575bed3c7bL,0x89efad76113b0db7L,0xa4068d0b23656bf8L,
  94074. 0x58b54b358440fcd0L,0xf012adff64e85c0bL,0x95fc8d711b1a0be4L,
  94075. 0xd8dda43290669498L,0x43a699b8cb319f35L,0x0000000000000030L },
  94076. { 0xb47ffe3b8d9462a9L,0xd89b60f9768e68eeL,0x8679af2a3a0033a4L,
  94077. 0x585f61ee9dcca100L,0xaa093db603db700aL,0xe80a02fe08a588b7L,
  94078. 0xd6ad55849c2f6c6aL,0x0955a470748f1c99L,0x00000000000001c3L } },
  94079. /* 31 << 308 */
  94080. { { 0x6323f8eed9c72869L,0xd78b8344726240f5L,0x7eee40c79fcc91c6L,
  94081. 0xfe0d1b6a43b91a09L,0x9254b68dbdf3e3e0L,0xf7ab62718f3b0872L,
  94082. 0x913f625223694657L,0x306927fe683200daL,0x0000000000000151L },
  94083. { 0x68e2727cbf01e24eL,0xcfc5c7bd9ce8a665L,0x97659cc53e39c7f5L,
  94084. 0xeb81619823c6a080L,0x40b159fb9cc5fbe1L,0xed0d128e7072081eL,
  94085. 0x15146656cfa8fd34L,0x8a860e6be7cd5746L,0x00000000000000adL } },
  94086. /* 32 << 308 */
  94087. { { 0xed90e62b5e3ced2bL,0x160214bb5a919213L,0xdfb8ac078cb4fc2dL,
  94088. 0xea5aa6e7ea384db0L,0xc9492ed2f916fb11L,0xf40cecce1305bd78L,
  94089. 0xb98af5013f28555eL,0x4e9f84b268417d62L,0x000000000000014eL },
  94090. { 0xbe791feaac7df2e2L,0x15c9429ce745ba60L,0xb02c1705198a2d50L,
  94091. 0x0a67cdce9b6e6a44L,0x640506295ad00221L,0x75620ea82b314076L,
  94092. 0x64c89ead87b02aecL,0x0e5ff515a92113ecL,0x00000000000001caL } },
  94093. /* 33 << 308 */
  94094. { { 0x2c19949ef2406274L,0xeb1e901251f176c7L,0x2695dcbb4ba80dc6L,
  94095. 0x2e07a7e0f5334f98L,0x9428720daf669d01L,0x82c33b4fefb29d88L,
  94096. 0xb2e43bcd57ca108eL,0x04a02cd6212733c8L,0x000000000000001aL },
  94097. { 0xa88f7adc850c9f85L,0x3e05d4e2e6d0c323L,0xfd785dccf2abaaa4L,
  94098. 0xf4655ef4740cf540L,0x8ccd72a6db4f34c1L,0xff73999f3cb7f1afL,
  94099. 0x7a8f7afb67b965c6L,0x689736dc011e9fccL,0x0000000000000190L } },
  94100. /* 34 << 308 */
  94101. { { 0xe370e04bda8b5457L,0x63b60bea8169a63aL,0xca9c40db704d3577L,
  94102. 0x3232585b00e9f510L,0x917ba31c02396333L,0x7c5080f6b91efb06L,
  94103. 0x1eb3475cbf68771cL,0x4cec20604cf02263L,0x000000000000011cL },
  94104. { 0x507d8e2d9a69e3c9L,0x5851d2297408ec4eL,0xb2ade543a8576e51L,
  94105. 0x37a8e2664dc34c8fL,0x3bdee95ac43ffaaeL,0x0a0c91250fa2332cL,
  94106. 0xe24013f395ee30f9L,0x5147e3805619b0f8L,0x00000000000000bcL } },
  94107. /* 35 << 308 */
  94108. { { 0xf004e4c8373d4c8aL,0x7822596b460ac6b0L,0x471aaf043775d740L,
  94109. 0xcf749e00d276f1e1L,0xcaccb1f7f2ebb22bL,0xb5588cee33256066L,
  94110. 0xcc12f8a3b5237d3dL,0xee1ddeae0b0be19fL,0x0000000000000019L },
  94111. { 0x447a0ca173675ea4L,0x635562ac3d1ae535L,0xf0743ca5170b653aL,
  94112. 0x1104441f680762e2L,0xde5a0d91fdb1f4acL,0x2e7d6445c33ac495L,
  94113. 0x9dcd3ccb794a087bL,0x1d3f68a58696a6a5L,0x000000000000015aL } },
  94114. /* 36 << 308 */
  94115. { { 0x2789d11789bd607fL,0xa49b3a3d1cf5731bL,0xb4d1ae40375eac7bL,
  94116. 0x7a9e3214709d9d95L,0xc7af5abb98b3eea0L,0xde6ea6f093831eceL,
  94117. 0x0a4230d2a22c398cL,0x7a2d8ce8484e09f8L,0x00000000000000d7L },
  94118. { 0x41dd59f7641a8d21L,0x160f13b2f280dbb1L,0x5a3ccbd65a915aa1L,
  94119. 0x2bdc905e2c8b1919L,0x94c2351282289eecL,0xce5342af75f08e5aL,
  94120. 0x6fb1fe090c9c86e0L,0x8eac3f4599539227L,0x00000000000001f4L } },
  94121. /* 37 << 308 */
  94122. { { 0x3994c61f837a73fcL,0x05e46220c3c61376L,0xc0e2194910b886b8L,
  94123. 0x8359b1f1189ab28eL,0x13999cf923e8fe68L,0x04111bba06dab3daL,
  94124. 0xf18121394ca82f29L,0x5dd0e72bd9943929L,0x000000000000004fL },
  94125. { 0x04858d7e9fe6d683L,0x2a004635afbc7265L,0x107e46cab959a351L,
  94126. 0x2f3e6d698b035e0aL,0x801c719799822213L,0x4fc2eb1161f5bc41L,
  94127. 0xf7c878ac5cbd4694L,0xb9dd8d02b6b9a266L,0x0000000000000196L } },
  94128. /* 38 << 308 */
  94129. { { 0x2cc54df39a952054L,0x47e7fb8b51ab4e98L,0xaff4e345b6e2cbd4L,
  94130. 0xd610c468f8c1d6a1L,0xa7563cfa992df027L,0x140c736189033162L,
  94131. 0x63971f30eb289c93L,0xe2d280352b4f7844L,0x00000000000001eaL },
  94132. { 0x82228cb1bae96b69L,0xdf0d49c6a3083751L,0xbe69f9c9c81c58d0L,
  94133. 0x3cd796d57b379ce3L,0xccd51828bf65993dL,0x211b60262d97d104L,
  94134. 0xd4fc2ed814cae057L,0xc6ec10767e620833L,0x000000000000012fL } },
  94135. /* 39 << 308 */
  94136. { { 0x5f9c3dd34c7a6d9fL,0x980f2239fc7c6101L,0x2f9d1cdbce021a46L,
  94137. 0xa28bd3e778b27c58L,0xd945b2bc1c8ef989L,0xda48a77c0d1cb17cL,
  94138. 0xfd09eebd7610f5aeL,0x56a9dd2796b6ac9fL,0x0000000000000167L },
  94139. { 0x849e468d1395f988L,0x2ab3d74264a87f6dL,0xf31f45c333b48458L,
  94140. 0x3919d83712166e26L,0xbd8adf1e79b58f44L,0xfb3b7a45366e3d27L,
  94141. 0x6290beabbba7525aL,0x7c682d245b4cecbdL,0x0000000000000147L } },
  94142. /* 40 << 308 */
  94143. { { 0xbe900c2b8b2cdcd6L,0x9cf651cf310d52b5L,0xd4a52f802935c768L,
  94144. 0x6e2e1c7e42edb029L,0xcdc8d47abefe41acL,0x199ee4beeda259faL,
  94145. 0xe706031f7f85ad33L,0x5a45278532b0f784L,0x000000000000004fL },
  94146. { 0x2d3934ba35610090L,0x398169e89e7de644L,0x471618b4dd43f89fL,
  94147. 0x54961e3c7f1ef9b1L,0x46d59c5ed6fd43f8L,0xf5b2ecf88f2fb30aL,
  94148. 0x6c423061b68e08a0L,0xb491e42bdf61a0e1L,0x0000000000000080L } },
  94149. /* 41 << 308 */
  94150. { { 0xdd61e4a3e3a78953L,0xbf87cfd848d529a0L,0x05aa387d57575951L,
  94151. 0xd7335ac15d8653b6L,0x5a87134fa75e619bL,0xd3b65b4ffb2975faL,
  94152. 0x60914e3730514133L,0x164480addf63e2d9L,0x0000000000000089L },
  94153. { 0x46993b20c16d3f41L,0x56b02cb3f40e7e23L,0x40dccfe49fd8bf53L,
  94154. 0xd27718e9865bd74bL,0x7e67918f4f316243L,0x1496d27854c01a95L,
  94155. 0xe335a4aabce954eeL,0x1c65a2279c07cc82L,0x00000000000000c8L } },
  94156. /* 42 << 308 */
  94157. { { 0x88c2882bd4c52879L,0xf5a17282601e9b5bL,0xa2cdc54876b70fe4L,
  94158. 0x58dd0c4b6978da58L,0x745243423ffc240dL,0x24d69e0ea8be34baL,
  94159. 0xe8e520f3fa0a2e8bL,0x3dbd0ce31ec56e1bL,0x0000000000000053L },
  94160. { 0x30f5a879ad6210bcL,0x2d50247054846592L,0x0fbd0ae1e24df628L,
  94161. 0xca9f795424f3e652L,0x33c6f50b4c7907ffL,0xc6985026d1598043L,
  94162. 0x05041dcd7b3e68c9L,0x16ce3f929c508fc0L,0x0000000000000012L } },
  94163. /* 43 << 308 */
  94164. { { 0x662b4d35c3726445L,0x5720f5305038de2fL,0x19da86837f89ec6bL,
  94165. 0x73da9d38c6ee50d1L,0xd29069f62da75c84L,0x946fa6989562b2a0L,
  94166. 0x39659a1c99802cc5L,0xeba11d668e39c13dL,0x000000000000013bL },
  94167. { 0xe30e9161797cf75fL,0x77a27dc6dd246755L,0x4681dd15f948fc78L,
  94168. 0xce663c6999c0ffb3L,0x4b7a85cb661acc30L,0xa9a796cce444094dL,
  94169. 0x36c43bcb6c9f5061L,0x2545040379695bfeL,0x00000000000001edL } },
  94170. /* 44 << 308 */
  94171. { { 0xba81ed506a19d751L,0xd7d6c9a08ede7c16L,0x20a58314e4efb6faL,
  94172. 0x6cf44b6f17466134L,0xfabeff5243e52adfL,0x8bdd16b1c5f6f126L,
  94173. 0x4a30ac449514d967L,0x1b589fbac46ab077L,0x0000000000000180L },
  94174. { 0x77cbae8d7a9f8a8eL,0x09f14f7997385badL,0x8136efa828b2c50eL,
  94175. 0x9d13c7d39d3f91e1L,0xbfa47812231393c4L,0xd5e2e14001104469L,
  94176. 0xd3e4a6876112a9bbL,0x3bb8410cfced65caL,0x00000000000000b2L } },
  94177. /* 45 << 308 */
  94178. { { 0x495b282a648a530eL,0xd97f888bbf1bfeddL,0xb8d68e2a724ef32eL,
  94179. 0xdcb78c0f092d41ebL,0x225506b0d83cb14aL,0x9697dda14cd71449L,
  94180. 0xbb1813e322d21a2bL,0x7e0e1f41ed79869fL,0x00000000000001baL },
  94181. { 0x8da6a9cc02b9ce33L,0xd4e48938353fb0c1L,0x4071ef95164b3e77L,
  94182. 0xe00f67a4c29fdca6L,0x24ac0818d8687a9aL,0x3f2bbfa3f2c95e4aL,
  94183. 0x3732ed47b24c03f2L,0x287b67fdaa853fa7L,0x0000000000000012L } },
  94184. /* 46 << 308 */
  94185. { { 0x71f8ab3171e1d201L,0x66af84451112f38eL,0xadf03cc091779ef2L,
  94186. 0xde8028abfd0ab5dfL,0x4fa210fea692662cL,0x145649061d83000fL,
  94187. 0x925492c383e1d5e3L,0x980ad314f0d5fb5bL,0x000000000000012fL },
  94188. { 0x8d0164410565708eL,0xd4ee65af3b1c93d2L,0xf2759e7872ea4b77L,
  94189. 0xee155661b4384101L,0x354a5e0f85775c4dL,0x0d8ef755c8163ffaL,
  94190. 0x9ea27178c24bbdd4L,0x9b53bbce1a2571bcL,0x000000000000018cL } },
  94191. /* 47 << 308 */
  94192. { { 0x30766fec7f664c94L,0x7409db5ad21d54f0L,0xd49b56fe5dcd8399L,
  94193. 0xc78b523220b37488L,0xb2b34e987db34742L,0x453f193cc27ee29fL,
  94194. 0x819f1a9ce7ae5b8bL,0x3da6aced7c36808bL,0x000000000000009aL },
  94195. { 0x6cfd9af22dd54b89L,0x774fa5ee9ff83338L,0xe4d38d08b9373ef9L,
  94196. 0xb7e1f43fe23f834bL,0x1333a5c20add6baeL,0x4fbffd23faa1e20fL,
  94197. 0xce555c822816888cL,0x34303fb8dd0eff4aL,0x0000000000000034L } },
  94198. /* 48 << 308 */
  94199. { { 0x52a60da401ecea43L,0x00e1ab1441bf6835L,0x785545cadd97b88aL,
  94200. 0xe2bc1326d2f2894eL,0x3c730457e398bf19L,0xa4c297531bdd3170L,
  94201. 0x7f01a08492ec7e73L,0x54d483b824bb9d11L,0x000000000000005aL },
  94202. { 0xedc13dd6beea4dd5L,0xbcecc285125ec53aL,0x8b7de1ba5bcd72ccL,
  94203. 0x1853dbccddbbc9b6L,0x799b97b28f47fc1eL,0xc01253b8176cce73L,
  94204. 0xab6c5fdd5430bf2eL,0xf9250653cf5b31e6L,0x0000000000000042L } },
  94205. /* 49 << 308 */
  94206. { { 0xbad1e3b4b1814e8bL,0xdc80df020017a14bL,0x92e7c7f5d0caa98aL,
  94207. 0xd0fedadf154a72acL,0x83700909e5406a31L,0x009b49af34a6a9f1L,
  94208. 0x49747a7f5e86330aL,0xa14c39aabd0ef998L,0x00000000000000aaL },
  94209. { 0x26eebaee360a5e0eL,0xfbf14808edfa126aL,0xe4d1dac6b7d01479L,
  94210. 0xf04493dbd8063451L,0x8429cb9e48a0421dL,0xfa1a9ed2c7323dfeL,
  94211. 0x1efcb833ed9d72e8L,0x3e8726103cf78a46L,0x000000000000010dL } },
  94212. /* 50 << 308 */
  94213. { { 0xc38371374a0bde6dL,0x675b967c2d8556a0L,0x6eaf1e86aae51478L,
  94214. 0x36675d0c822be9c8L,0xcbcbfe0f90625398L,0xcc96e4dff88a4d3bL,
  94215. 0xeaec101cdedaee78L,0xd87f4dc26c6fba50L,0x0000000000000071L },
  94216. { 0x2cffa71ef76c62cbL,0xe7adbdb562fc75eeL,0x991645e69f96589dL,
  94217. 0xb838a48a46b866b7L,0xf77a287f7526217bL,0x255a2868320f6b81L,
  94218. 0x59f9a54802fd4fb6L,0x3883508a2441ca7cL,0x0000000000000049L } },
  94219. /* 51 << 308 */
  94220. { { 0x6b348fd624b337a6L,0xa4e8dd141026a300L,0xae405b249069dc46L,
  94221. 0xeb322a385cd34d1cL,0xacffdda0bfddc93eL,0x2d3ead70a2004269L,
  94222. 0xca6ef046c923eea6L,0x95ec33c04d1c30e0L,0x00000000000000f6L },
  94223. { 0x8a4391ac74ff127cL,0xed6f4c5ff3de50bfL,0xd956fad840e42f57L,
  94224. 0x078b1fbfab13da63L,0x53b8c6760f03b200L,0x7620a901916e1116L,
  94225. 0x60ba8e8d5d005bccL,0x5aeb871b8c06ea49L,0x00000000000001bdL } },
  94226. /* 52 << 308 */
  94227. { { 0x3a62717c0ffd6985L,0x1fd32f21733d9f3cL,0x011dbe5d8147aa6bL,
  94228. 0xcd9908fee54d912aL,0x3a816c571d8a478dL,0x2c3b8621546c8c6aL,
  94229. 0xeed9efbfe7163461L,0x486c1588b1748edaL,0x000000000000014fL },
  94230. { 0xc74f435a42f32ff9L,0xcbb8a284762199ccL,0x21786a042b632b1aL,
  94231. 0x4f00521e9c0f441eL,0x9731b233a4693246L,0x61903ec24f45b460L,
  94232. 0x90d06bda1812873fL,0x233ebe9ac7dd899aL,0x0000000000000189L } },
  94233. /* 53 << 308 */
  94234. { { 0xd0cc6ac7d1604578L,0x8f7c03bd9a7cf248L,0xc3737964837f507aL,
  94235. 0xd2cc12f3eb1aec18L,0x08827d5b1130097fL,0x1345bcab91f0bea0L,
  94236. 0xad565af5255b4d20L,0xcefc35609f26fdcbL,0x0000000000000105L },
  94237. { 0x8242ac7a2f183ca4L,0xa6018cc3f9824ea7L,0x6efb40a2aafae2dbL,
  94238. 0x34ac62097610e9fdL,0x86ec4e010120c604L,0xa63ab91f18999b56L,
  94239. 0xf56dd81f2c39681aL,0x5e77017c8a7397f3L,0x0000000000000048L } },
  94240. /* 54 << 308 */
  94241. { { 0xcee29d979fd8ac86L,0x100ebc46736e18ebL,0x772b082c315677bdL,
  94242. 0x9c1db95fb0a2e064L,0x396ce154ab199211L,0x1e30a3a2c6daa93aL,
  94243. 0x9a7ac319f96900f6L,0xf1e451de804c81cdL,0x00000000000000f7L },
  94244. { 0xb332554cc5dcb3e8L,0x7417b3062c2bb6ebL,0x049d887506fac3fbL,
  94245. 0x534ef151175afdd7L,0xf342d62e3a58683aL,0xe583a4bfe09ea4c3L,
  94246. 0x5cf0b6caaf2483c0L,0x8faecd4f589f4692L,0x0000000000000189L } },
  94247. /* 55 << 308 */
  94248. { { 0xb73d4ba8c609a9acL,0xa3ae20b5e8cd2948L,0x6c9f7f2cf5ba63ceL,
  94249. 0xba195b445d88340eL,0xee88c9c07e1cee38L,0x7ba10f56fcfa1694L,
  94250. 0x4834f9cb439198d5L,0xa4fa944dd69d83fbL,0x0000000000000045L },
  94251. { 0x9488f1e0aee1243cL,0xf3931d8f731dc6a0L,0x6ea82c88b9a9311dL,
  94252. 0xcae86a35158843d9L,0x7d8f6b9789e3d41fL,0xe45413a917a8638aL,
  94253. 0x54fc84f72fde14adL,0x4889b4d4045c542dL,0x0000000000000137L } },
  94254. /* 56 << 308 */
  94255. { { 0x3b6ae375df5713a1L,0x507539c8eeb08615L,0xeea363fd79f23ed8L,
  94256. 0xd35de9c05a24a3a6L,0xd655632794c5e698L,0x43cfb402eea346eaL,
  94257. 0xf7f0d1e1bebe4d32L,0x3b36bd8c70a22463L,0x00000000000000b0L },
  94258. { 0x78777cd9c845e984L,0xcb446e18a31e5dcbL,0xb4851ea3dabefc01L,
  94259. 0x18d2a234ef97b76dL,0x50a85010d5a74049L,0x14b78201acb00ffaL,
  94260. 0x0a8fc98c4cbb648cL,0x4be4551f9873fce5L,0x0000000000000124L } },
  94261. /* 57 << 308 */
  94262. { { 0xb363062aa7afddabL,0xd8268f1de5dd4407L,0x3ace2a091b790e64L,
  94263. 0xa0c92d9c3555f9a9L,0x0f752fb5384658faL,0x6749e84e52980595L,
  94264. 0x7084539ff40b0d0dL,0x9eb1046f552ed611L,0x0000000000000052L },
  94265. { 0x4d47f6856686c007L,0x44bbdeccedbb1abdL,0x114cafdc075d0809L,
  94266. 0xf4f4eeea6a05c788L,0x75ddcddfd45dfcc3L,0x147b1787235c7924L,
  94267. 0xd492c7aaf5a4ab5bL,0xaa4b32a02bac18a4L,0x0000000000000075L } },
  94268. /* 58 << 308 */
  94269. { { 0x084a6b6311d23a5cL,0xab5f9756b3a73439L,0x252f50e4cf1a7bceL,
  94270. 0xa066a37e7a498ac8L,0x29206e9e8c559d33L,0xf9fe43ec8c602500L,
  94271. 0x2bb76d93c7c77774L,0x68609df4f9689fabL,0x00000000000001fbL },
  94272. { 0xf6223435a31c6d6aL,0x016ccdb2eeabda79L,0x33ef208790e53bb3L,
  94273. 0x942ea7869d04b29fL,0x86905d345ba2a37bL,0x613723c8ac546743L,
  94274. 0xd5a462b093c3a659L,0xf133494680b4a914L,0x0000000000000095L } },
  94275. /* 59 << 308 */
  94276. { { 0x0e964bfae51c867dL,0x4f3f0bcc3ed4de99L,0x66c3bc1c46193003L,
  94277. 0x5ea89fcea9802a49L,0x1e81c4b4399876daL,0xa68d345dbf61cf47L,
  94278. 0x2a527a8bf4ac1373L,0xcde8a8a922975cf0L,0x00000000000000d9L },
  94279. { 0xaad318a1d012c097L,0xca78d31b9b8d36dbL,0x2448c6ace479884dL,
  94280. 0x7c43e6d65bb93799L,0xd293de3aeeca6834L,0xaec6d7d535dd9091L,
  94281. 0x34f04c3b3ed39ff8L,0xa79da00f1ce455afL,0x0000000000000174L } },
  94282. /* 60 << 308 */
  94283. { { 0xd9e135d4909e5d9bL,0x1ae0a17c2e0bc5d7L,0x1fbfefd075076db8L,
  94284. 0xe071dc39a834aeb9L,0x1eeb9d2eb5d650b1L,0xaa20dfbb76cddd0bL,
  94285. 0xc32c3efc3795fae8L,0x5adcde3c2a3650a9L,0x00000000000000edL },
  94286. { 0xdb923c659f719586L,0x8c1b9bd1f69546b2L,0x4823b2184ffcc633L,
  94287. 0x841f3292451d0538L,0x52a64ca0ebeb45e8L,0x8a0b375b64d61c71L,
  94288. 0x0425f6cee13c6ae6L,0x98cf4b4d00827285L,0x00000000000000a7L } },
  94289. /* 61 << 308 */
  94290. { { 0xdcf7204a502a5841L,0xe8803fd9b3c2389dL,0x98af342ac7587e46L,
  94291. 0xf6d845cf1b1a333bL,0x1fbe34235acdf342L,0x8ad324448c6cef92L,
  94292. 0x4a48cbc2ac8608baL,0x105bf24a88f4bfb2L,0x00000000000000cfL },
  94293. { 0xf5bd7fbb45d5cc83L,0xd251ae69b14bb0ceL,0x7f6c9961cda6e920L,
  94294. 0x5548da95b0e20d2cL,0xb2d81a5eeeb3f6b4L,0xd3c1ac3f83ee7b22L,
  94295. 0x1198f80d9dcdee2fL,0x0f1113270cca9beaL,0x0000000000000052L } },
  94296. /* 62 << 308 */
  94297. { { 0x681c9c9e5551d22dL,0xe1011410c24d40bbL,0x1a659728df00294fL,
  94298. 0x1d4ac5e4045c6bd6L,0xb61e6eb0c71e0ac5L,0x0aa6738fbd4c522dL,
  94299. 0x278bee73f286cbdcL,0x9a9ca40d64f560a3L,0x000000000000003cL },
  94300. { 0xd18807d339aa5452L,0xcc5b2a69613b3726L,0x230b5e89c8957cb8L,
  94301. 0xd32a1ec3b346ab21L,0x8a21c20975cf8d12L,0xd5d16bd029962528L,
  94302. 0xc6f8836703130361L,0x034d6f15925aef31L,0x000000000000011dL } },
  94303. /* 63 << 308 */
  94304. { { 0x42e9edc80584715eL,0xd218b0a4011faf8dL,0x055e4eb095fd2a15L,
  94305. 0x68ea9b5ddccea016L,0x0180246ffe9af8f8L,0x38bd9a02b832006dL,
  94306. 0x9af977eca3414177L,0x0746ad2fa173e5e0L,0x00000000000000ceL },
  94307. { 0xefef29e60b444e14L,0x4357b9377d74016bL,0xeb63316d6bec3801L,
  94308. 0x25164848dbfc9d02L,0x00d845fccd52497eL,0x8c54d90c615fd91dL,
  94309. 0x33ceba564ec93464L,0x7a9e51d9f6f85b80L,0x00000000000000cdL } },
  94310. /* 64 << 308 */
  94311. { { 0xc071157213cc2875L,0x422583136ec01830L,0x32cfef4101e95528L,
  94312. 0xa8741ca0af8116b4L,0x3195f7f358f1fa26L,0xf2e969281144142bL,
  94313. 0x5a9c331f6b179bf4L,0x45e363f236c6c42fL,0x0000000000000057L },
  94314. { 0xbe2e55f12c04c8aeL,0xa522f7d53af16430L,0xeae2b2c42904630cL,
  94315. 0x58f5c76e8e151736L,0xdfa21ea65aee8e9eL,0x103b7ad681717f92L,
  94316. 0xa89e274a9b4464eeL,0x316f580f2daa3259L,0x000000000000004eL } },
  94317. /* 0 << 315 */
  94318. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  94319. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  94320. /* 1 << 315 */
  94321. { { 0xd1ce126eec3d1383L,0x0c7f980a4805b18eL,0x65945086fc1b1f4eL,
  94322. 0xac1703ae092e0ca0L,0x834c77f98b5ee5c0L,0x3e722f576d19fbb5L,
  94323. 0xae8a944af6770bd1L,0xe1d110502a7c7101L,0x00000000000000d7L },
  94324. { 0x62029fd2ca303000L,0x366c72c9acb52ecdL,0xcf89c1aacc8dd8a2L,
  94325. 0x95c235bf5d1b984dL,0x3434d10dd1a80d52L,0x094d0a8f77e95addL,
  94326. 0x03890027d1203660L,0x32faf27329791ab3L,0x0000000000000075L } },
  94327. /* 2 << 315 */
  94328. { { 0x18cadddda03efd8cL,0x9d59bb52aeb3a762L,0x571d86bed1fd3f91L,
  94329. 0x81642aa1d2f26d6dL,0x7d1c3bc999877251L,0x0518eff8d7c2fd25L,
  94330. 0x6a54f17037b6c641L,0x8ffedfc00d33a426L,0x00000000000000c8L },
  94331. { 0xacf67416bb54847bL,0xa293a8d7f2b54b28L,0x32f2b11a1f7f6b47L,
  94332. 0xc11948bcc6d67a9dL,0xc8b86b1f47623783L,0x357326aa5c2362e6L,
  94333. 0xc298be1b6cf79126L,0xf07b3ea784c5a79cL,0x000000000000006cL } },
  94334. /* 3 << 315 */
  94335. { { 0xe4cc8937c5cfe5e0L,0xb01db28fe534260dL,0x3311127e76c1f2f6L,
  94336. 0x0f4f7cfcdd8e1644L,0xd788f9f85ae2b93fL,0xf64431f8007d4765L,
  94337. 0xb3ad8af287159ff4L,0x8401e32600a7857fL,0x0000000000000016L },
  94338. { 0x49b5a301e78a8db5L,0x97b3fd44b4d74fcbL,0xf5e2754d19f77e5aL,
  94339. 0x908fbc9c7bf17a6bL,0xfbe48b086980179fL,0xc33a8480cd28c69bL,
  94340. 0xa74a2ebed11832dcL,0x572b5f3957d49627L,0x0000000000000115L } },
  94341. /* 4 << 315 */
  94342. { { 0x4379897720210875L,0x8e95ab32d58004c6L,0x33058f96c68a6aa7L,
  94343. 0x2db1fdb8914082e8L,0x7841a48993e12423L,0x051a4e151f9d2ff5L,
  94344. 0x618eeac54da88e65L,0xc52113cd512c1795L,0x00000000000001b5L },
  94345. { 0xb6dace96e93af674L,0x4ea1073bedb5c3f6L,0x4352509fa0b861d8L,
  94346. 0x05451d6f7adb5cfbL,0x194e3acd9a3375d9L,0x6258a5ab33658d41L,
  94347. 0x2bc60cb7f542a8d8L,0x68e50e5a74afe0cfL,0x0000000000000187L } },
  94348. /* 5 << 315 */
  94349. { { 0x8ab1a9337e8401d3L,0xdb8a437374dd345cL,0x8fc17b06dfc52ec6L,
  94350. 0x53a4528c3a8cbd43L,0x791f0050ff746544L,0x97c15abf468923c8L,
  94351. 0x4ba5521cd71e2cedL,0xe7ff5cc44367a0f4L,0x000000000000011dL },
  94352. { 0x2397c8b2ca828fa8L,0x2d18f0b05bbc8858L,0x8aaec79f7ccdcee6L,
  94353. 0x058906aaef1284beL,0x2bfc7d36d3e0d3afL,0x497a175435bb97ffL,
  94354. 0xb270ae8ea8383a01L,0x3a7f70b8db1e5515L,0x0000000000000083L } },
  94355. /* 6 << 315 */
  94356. { { 0x5ebbd7015a0c9415L,0x7bcef0e229572d13L,0x539a78133f5a169bL,
  94357. 0x6f3a84a4bac0abfaL,0x822da09bea1d0b7aL,0x9b2d6a6c05c00dbfL,
  94358. 0x134fe65dcd8c7e6eL,0xe4622a9f6301e4caL,0x00000000000001ffL },
  94359. { 0x5fbeb1f8073963ddL,0xcca648b0e595aad8L,0x5cc97e773d15c1d4L,
  94360. 0xf2d7697062989b5eL,0xf321c0c78afe8351L,0xbf361aa293a60c7bL,
  94361. 0xd9938c1174c2503aL,0xb05daaa5e409747aL,0x0000000000000008L } },
  94362. /* 7 << 315 */
  94363. { { 0xc6874a121147f509L,0x0882051c83b58e0dL,0x25553306823e9395L,
  94364. 0xba5751a97954be0eL,0x86056e04f06cf7f0L,0xdb057ca02c10577bL,
  94365. 0x8ec2f7fd400e24a9L,0x32356d2fbcf34c3cL,0x00000000000000cdL },
  94366. { 0x931835514bb690a0L,0x373451d622798da7L,0x2474aa366b8da44bL,
  94367. 0x947d984cdaeba693L,0x3c3e3b2b21f6d6c8L,0x37b0234fecc78a44L,
  94368. 0x4b49e661959f6b39L,0x29cafa8b37bb5b1eL,0x0000000000000097L } },
  94369. /* 8 << 315 */
  94370. { { 0xc43876449d2224b8L,0x80c92ac5563094e8L,0xef919bdbf6d0542eL,
  94371. 0xc71a882d5c40a787L,0xdb3851be0880c1b1L,0x4f72ff0c287cae73L,
  94372. 0x0a628f172bf3efe6L,0x29db69240150e4a7L,0x0000000000000175L },
  94373. { 0x7983f80acc367287L,0xfe2c8f3dc4633183L,0x41b0e222ae89f8c9L,
  94374. 0x93fdd59beb58ac1eL,0x5ee164c797538725L,0xb8e3b75b7591fb4eL,
  94375. 0xa2d0fa2e355a6a6cL,0x391a05540405f33aL,0x00000000000000e6L } },
  94376. /* 9 << 315 */
  94377. { { 0x1b0bf08bf55f34e4L,0x5fe51caa1de9b981L,0xc243b50297197570L,
  94378. 0x2cadcc3d699ac777L,0x80b62305dd9c8010L,0x93a003d3113ad5e8L,
  94379. 0xbb920d789e783dedL,0x2a2df2e8cdfc37d0L,0x000000000000010bL },
  94380. { 0x14e3757112860379L,0x99f12790521bc74cL,0xc05287f50407d2b6L,
  94381. 0xeb6b8d61b3fd9150L,0xe41ab7595d637ad6L,0x8efa6e451fb70681L,
  94382. 0xe371b32cf025b1ceL,0x5bf35241e85fa064L,0x00000000000001e9L } },
  94383. /* 10 << 315 */
  94384. { { 0xfde8d0ed0254d2d3L,0xdc6868c5f24357a8L,0x1806776f26106991L,
  94385. 0xa3a1446d387d0f81L,0xeb83f7b319591fdcL,0x97678d46136e098cL,
  94386. 0x89292ad342e7487fL,0x53b24c0ab3c12865L,0x00000000000000b3L },
  94387. { 0x06fc68f37a74e056L,0x10354bae9d0dd6d1L,0x713509d967092c45L,
  94388. 0x5ddd0fba52c97523L,0x421e81604616eaf9L,0xacaf5cf0a795b907L,
  94389. 0x1ca067c8beb5a28cL,0xe07cbbcdb79cea20L,0x0000000000000179L } },
  94390. /* 11 << 315 */
  94391. { { 0x59900b5c8b1b724eL,0x8dd0246c388c09c0L,0xbcf033ea7b567f8dL,
  94392. 0xaeb6215272898dc3L,0x01d8cefa24f7cceeL,0xa34d4c312415a08bL,
  94393. 0x60315ab2bee682c8L,0x28bd510f85ec5fc7L,0x000000000000000dL },
  94394. { 0xc031c759d505a0e7L,0x40d1a56cda783571L,0xc15647414ec503e1L,
  94395. 0xbd02b9a6621e3c52L,0x618d1cbbeb48b235L,0xdf1bdb37880c3090L,
  94396. 0x95d53d4b664302a0L,0xeaf9e9bde9acab6cL,0x00000000000001ebL } },
  94397. /* 12 << 315 */
  94398. { { 0xcc511efe456925a5L,0x4290a6e5f0a1b7e2L,0x1705dcce8756548bL,
  94399. 0x4c139046b509c290L,0x9d0bb0844cd17379L,0x4643b4bade17e05eL,
  94400. 0x12be04c35f7100f2L,0x3ce4459479197058L,0x0000000000000191L },
  94401. { 0x065c3e87f32703cdL,0x5ae023cc11390895L,0xd2a40ecac01552a3L,
  94402. 0xfcd1382288ee5054L,0xf61ca6f773498d40L,0x2a4653be0dd5e19aL,
  94403. 0xa56016eef88e9af1L,0xbd5c973aa73e0e21L,0x00000000000000f0L } },
  94404. /* 13 << 315 */
  94405. { { 0x4416d2e6c4cb8040L,0x004946f92aceef23L,0xfbeb8979a86b1ea6L,
  94406. 0x878481c65fd3c659L,0x28f514fba8e572d3L,0x8b9e4bdd55d6f02dL,
  94407. 0x3e76d73546867a07L,0xa1050be7517430a4L,0x00000000000000c8L },
  94408. { 0x6538fa01526ae111L,0xf277a4bb142b038bL,0x6be27430efe4dd66L,
  94409. 0xd8ed5e9f8f8d8888L,0xca67196065dc30b6L,0x1a1ee5afc652d2a8L,
  94410. 0xe1a803044b3fccbdL,0x0ec65bd04cbd0471L,0x0000000000000177L } },
  94411. /* 14 << 315 */
  94412. { { 0x72e348491df30301L,0x71ba20a6a7ae2709L,0x2ac2b9e7eac84515L,
  94413. 0x7db23e2c684fdd3dL,0xb7ff18f9b1b07c3bL,0x296f805422f64d40L,
  94414. 0xe7e74e51aca26121L,0x2382baeba4abf51aL,0x000000000000004fL },
  94415. { 0x076d34bba03677f6L,0x42bcc9c76484f153L,0x7b5fd617d74dd1bbL,
  94416. 0x1ba3e99c797cf9d5L,0xa907800787403dc5L,0x98278850d6d1e062L,
  94417. 0x456314ca6cc37a89L,0x3d3cff1b0a6daf4bL,0x0000000000000117L } },
  94418. /* 15 << 315 */
  94419. { { 0x1a19978f485193f0L,0xadb5a7bdde0df861L,0xbaaeb9a4f73b9dc8L,
  94420. 0xc66335183779f809L,0x9b55d68f3edee638L,0xcb261cf96a5affdaL,
  94421. 0xcb6a9ba2e39b793fL,0xa4ee0df08936019aL,0x00000000000000faL },
  94422. { 0xe482665d53161177L,0xe3b2fc496ea0bdb4L,0x783ca2b5dabcdfdbL,
  94423. 0x9025498735a60e50L,0x6b9114ed0414d9ecL,0x2a9467665f239c27L,
  94424. 0x4623c042397b3971L,0xe683e6e532995c63L,0x0000000000000001L } },
  94425. /* 16 << 315 */
  94426. { { 0x088b099e8cdfe07dL,0x5a641cf1b905708eL,0xc281af16a221b96aL,
  94427. 0x8bfa8dc0f622f5bfL,0x432872735ecb0216L,0x13ea7e4d6dab8b7bL,
  94428. 0xa478fb012212b506L,0xcb4be166a0c1a955L,0x00000000000001d3L },
  94429. { 0x38a2aa3dcf16c121L,0xcd70ea8a7f8eed07L,0x54532cd7e3a04c52L,
  94430. 0x8939f904ba78e53cL,0xc0132c268b563a91L,0x6730a0fcc093e75aL,
  94431. 0x1e6d961600fb49e3L,0x0af2a79f28587059L,0x0000000000000176L } },
  94432. /* 17 << 315 */
  94433. { { 0x866bec9ed63e2975L,0x8a29116c3e8d9c3cL,0x2b0d1b0436ea7fa8L,
  94434. 0xbf75196cf80c5e0dL,0x94dd18d370a51d7eL,0xdd9d61b9ea3f979eL,
  94435. 0x7ce80604db84f9c7L,0x4207dd17a593918aL,0x00000000000001b1L },
  94436. { 0x5ab49cbf0b981980L,0x336f5442a93b94b9L,0x6568223fc5e38c54L,
  94437. 0xff80f21b3b2b4ef6L,0x6a77ff11c1e9ce9cL,0x07d4d0c02fca93e4L,
  94438. 0x955d771d76e3c109L,0x2f22c54d0ae199b7L,0x00000000000000c4L } },
  94439. /* 18 << 315 */
  94440. { { 0xbd742bb58c8601dcL,0x0d577d51bbd68faaL,0xb1ba3c3398b6e280L,
  94441. 0x1bfc6c723e8a148eL,0x59a16f766e41826eL,0x3ee5c3e7161094f5L,
  94442. 0xa98675bc24c86f2eL,0xb94c47abe2761752L,0x00000000000000b9L },
  94443. { 0x1824673056dc8149L,0x846838c94ff82f9fL,0x23c95268450afb9aL,
  94444. 0x40cc51aa14fb3828L,0x28d1619711f0d733L,0x0efcce77513057a2L,
  94445. 0x9edb17beed0a7d9eL,0x4d6ed1fac7b17549L,0x00000000000000d8L } },
  94446. /* 19 << 315 */
  94447. { { 0xbaca7240c82b5aa4L,0x61e27f19ef5855f9L,0xb4c9237aea0e986fL,
  94448. 0xd090d6a554db69bdL,0x6b4fb63fccceaed7L,0x0cc89909fabad461L,
  94449. 0x9f7676cf0b9709e1L,0xbe92aa69fdda8413L,0x000000000000018fL },
  94450. { 0xd99cc5a0410aa767L,0x39b6f4a87e75f2d8L,0x1980d6925eec5fa5L,
  94451. 0x9b314dc3b8846f32L,0x9714e192286dd13bL,0x94cccd2c467b8524L,
  94452. 0xd7b3d49005fba305L,0x75b7f38f7a5ff3c4L,0x0000000000000096L } },
  94453. /* 20 << 315 */
  94454. { { 0x15396e6b8c4141d3L,0x3ec8a34ef7755d55L,0xa9bddf95f39fb433L,
  94455. 0x79e71beaed69b7d6L,0x51c722cb9d0122deL,0x8de4cb47e0e7b60cL,
  94456. 0x726ba86dcbb17e78L,0x2815c3bf5c037641L,0x0000000000000032L },
  94457. { 0x3366bd3547050a39L,0xcf665be239de8ff8L,0x0b1b2dc88b657ce8L,
  94458. 0xac1e0b80db61f750L,0x09f5eeb8971e2a24L,0x92850350ee755facL,
  94459. 0x3ea8358d3e97465dL,0x755b7ed954cb917eL,0x0000000000000188L } },
  94460. /* 21 << 315 */
  94461. { { 0x374097fdd5c529c4L,0xeae8aeaf14e14b24L,0x6246c5fa5449b2cfL,
  94462. 0x99c13884f8dc4b4bL,0x2e72eaedec7b3eeeL,0x877887a6f9f0d5f4L,
  94463. 0x4f97725fc0e5a19eL,0xbd7971fe9bc83533L,0x00000000000001a0L },
  94464. { 0x79302079c035fa1bL,0xfa3e954f075d1cbeL,0xb59fda4254310460L,
  94465. 0x35004b05cb8dc827L,0xfa4227dd598766a4L,0xd6610ed7257db68bL,
  94466. 0x91f34e57df3d7a8aL,0xbc586bd69c420862L,0x00000000000001ceL } },
  94467. /* 22 << 315 */
  94468. { { 0x930cad152d7a2680L,0x6d7a0454c719cf5bL,0x7478744ebbb88406L,
  94469. 0x2598c4885883c3c3L,0x466925014f5fab3aL,0xc803c49ddd8a471eL,
  94470. 0x10cfa5b5831d5062L,0x2bce8e3c8cd03021L,0x000000000000004dL },
  94471. { 0x8a75f6cd09a2cca3L,0x44598d59b03cff30L,0xf49eefdc9b9d4ac1L,
  94472. 0x6d759aea116a7518L,0x0f330edc02b18830L,0x52612307c41fc942L,
  94473. 0xea4652fb41b5e855L,0x5dce0d5c3ad0f9a9L,0x0000000000000018L } },
  94474. /* 23 << 315 */
  94475. { { 0x685e156c633e8718L,0x664dbda487a0c479L,0xbd5bd2516b3e4747L,
  94476. 0x873fb05ad9204996L,0xe1c1b3745b9ca959L,0xaee1fe5ab48568b8L,
  94477. 0x2b8a77560ccc64aaL,0xe0fffa144a842525L,0x000000000000001dL },
  94478. { 0x81ab0b04d7864a53L,0xd2ded9626dce74dcL,0x20f4f42ae6ee03b4L,
  94479. 0x216939d9b133502cL,0x1c164e2ae583d735L,0x558bb0247a01a682L,
  94480. 0x68e8d4b88ff470e4L,0x1b500f437a69dc9aL,0x000000000000000aL } },
  94481. /* 24 << 315 */
  94482. { { 0x87cd5f5b43522030L,0x9b95d7cca97925f2L,0xa97d2673c4f3d98dL,
  94483. 0xb760715ae3a33b1bL,0x6848b7f36f47818fL,0x19d3d312f4b35002L,
  94484. 0x94faf039b3f57798L,0x62a72bfeb76ae400L,0x0000000000000100L },
  94485. { 0xdbbbafdc31877679L,0xa68c50a2945b79f0L,0xd5b6b7c1a457a77eL,
  94486. 0x1d5249e0e8ea38c6L,0xef61b6ab33b52300L,0x864aca06e3d8c9a1L,
  94487. 0x852087916060f8d6L,0x1827cac1e1dd6babL,0x00000000000000ecL } },
  94488. /* 25 << 315 */
  94489. { { 0x417c93d92a097cc4L,0xe2006ea23311b1c5L,0x6265dae786c3a4d3L,
  94490. 0x22777fa2fd61a771L,0x21c8566ee52726a1L,0x5544b0ba525cbc66L,
  94491. 0x0227192516a552ddL,0x26f159fe26ee27ebL,0x00000000000000a9L },
  94492. { 0xa03998cbaecc32f4L,0x3836f5f386372aa8L,0x0d708a1f5fb988bbL,
  94493. 0x8d865eebac677bf6L,0x9386ec40244e47bcL,0xf38e252310e055dcL,
  94494. 0x938b35a76ac7bd8bL,0x79cc344948973178L,0x00000000000001a7L } },
  94495. /* 26 << 315 */
  94496. { { 0xf8f4c244d0a59fe9L,0x0b34084b76402697L,0xe4240b863e032519L,
  94497. 0x7cf7b7aac2065720L,0x798134d64cb1ffe5L,0x78e358f275f60549L,
  94498. 0x4557430370582d54L,0x452570d4828dfbfaL,0x000000000000009eL },
  94499. { 0x1b0bcbc468d79237L,0x8bcb0d804f5a6a6cL,0xd108b4f099609cfaL,
  94500. 0xe08db1ff71be7d63L,0x7ad777da27bd2d03L,0xce7fae775749c830L,
  94501. 0x1ad692f7c4565777L,0x93798a2aff8b8327L,0x0000000000000010L } },
  94502. /* 27 << 315 */
  94503. { { 0xa44bd43b7d176e2eL,0x73017a4eae0c21d1L,0x6f98fe80c170cbb6L,
  94504. 0xab5799b293df22fbL,0x765f4dcaa85dd542L,0x854eddbc619b4adcL,
  94505. 0xe1dc52446cf558e6L,0xc0a4f996e45f4052L,0x0000000000000150L },
  94506. { 0xc1e0e94ea8a05aa1L,0xaf1abf91f3f24aedL,0x58c0603ec4d3ce6eL,
  94507. 0x9c496e91dc76c75aL,0xe6049fc196d9aa52L,0xd7862b4a2ed5b8c4L,
  94508. 0x41ceb99338f87e08L,0xe769c78f3c16ca50L,0x0000000000000000L } },
  94509. /* 28 << 315 */
  94510. { { 0xc50efa15dacda34cL,0x159e94dbb6e96210L,0x94b10231bd9319beL,
  94511. 0xa5914f55e2a461f6L,0xb75fb2ab47bb66c7L,0x4ffcfa6756b6e4cbL,
  94512. 0x559918efc40a2512L,0xad434761b66c07d4L,0x00000000000001e4L },
  94513. { 0x9885be1bebae3f4fL,0xbd84a8ee4302a9a7L,0xbea75f26c373e684L,
  94514. 0x0da8fdf6472f2c17L,0x381a92bbb5dffe57L,0xc69646bad24160cdL,
  94515. 0x0577b8792ecad05bL,0xc59496c27fb62711L,0x0000000000000068L } },
  94516. /* 29 << 315 */
  94517. { { 0xab4afde7ff46e9d5L,0x33e45d21d2516ec8L,0x5561315ae08354cdL,
  94518. 0xde6e1582510407f3L,0xad202e0aad3ef0cdL,0x03c92749fc289a62L,
  94519. 0xc5022bb7bd3bf154L,0x3b2112f0358497bfL,0x0000000000000085L },
  94520. { 0xd97a76c60e367447L,0xdd1c70ee13a73f92L,0xef80383807320e00L,
  94521. 0x92fa2d854bd797b8L,0xaaeec02b5287a9ccL,0x8dc7d907101f13d4L,
  94522. 0xffebb4d5f8c6b255L,0x76ea86c8a78c99b6L,0x000000000000007eL } },
  94523. /* 30 << 315 */
  94524. { { 0x04cc8a0b9c2de291L,0xbde190d41b774116L,0x76fd915e0cef5563L,
  94525. 0x08980204a3ad15abL,0x8532bff00047227eL,0x93713303df68231cL,
  94526. 0xa4d4b863b1b0de98L,0x67686192e0cad308L,0x000000000000007dL },
  94527. { 0x6748cd2672cf3e2fL,0xa342c5d7eb321523L,0x0466141c5021d422L,
  94528. 0x116bf2246a70d2d8L,0x7129a3a4ce05f6fcL,0x86600259d9185da8L,
  94529. 0x8a6db564dd965c37L,0xb073f80c79e8f792L,0x0000000000000049L } },
  94530. /* 31 << 315 */
  94531. { { 0x00da97d33d831a04L,0xd929cf2a1eac836aL,0xf7d5c4c77c7c118eL,
  94532. 0xde71253e1c4c51ceL,0x6d2474376ec3e2e0L,0x9b912b7bf31fa3abL,
  94533. 0x10f538043da99cb1L,0xfcf8a99c2a16e669L,0x0000000000000098L },
  94534. { 0xa70d9571d49b2fc3L,0x081849f4834cd35bL,0xf1e28cf98756bb05L,
  94535. 0x2fa729aa5568d3a9L,0xbb5d124899bba4c8L,0xcd742b7c3ee032a3L,
  94536. 0x693342cbd87a7668L,0x9bb74be7bfcfe6a8L,0x0000000000000176L } },
  94537. /* 32 << 315 */
  94538. { { 0x5f47ddb9ab9923d7L,0x839865d48e3fac52L,0x0214e93f647424b0L,
  94539. 0x266c909c31d65c6bL,0x956deca451457facL,0x8e8d240ea85ce8a5L,
  94540. 0x736652c4a4d9b281L,0x131a4191b77a526dL,0x000000000000008aL },
  94541. { 0xa848319532d8542eL,0x1f7a8e67c3f38387L,0x162ac248d6797f2eL,
  94542. 0xd26469e10a6a1118L,0xb33aff1ff203102dL,0x63a52154aadf0ae9L,
  94543. 0xf0431dbb4bb313a7L,0xf93c18fbca9da156L,0x000000000000015cL } },
  94544. /* 33 << 315 */
  94545. { { 0x39974a2672134c85L,0xd7aa0a9d4c7e0f6eL,0x1b9edbab3443bd65L,
  94546. 0x6cd2d98bdccd2e50L,0x632879884b109d43L,0x44825b34d397a0feL,
  94547. 0xd53353c27118c8b5L,0x268cd6d6c01b82dfL,0x00000000000000f2L },
  94548. { 0x8c5babff457c84bdL,0x117faa3055b81ff0L,0xc124c04661bbd4edL,
  94549. 0xe136b9a5a787f1f3L,0xa06373d1bdafa50eL,0xea1b6c0844a7284aL,
  94550. 0x9330d2feb1a5b08aL,0x25aa027d162f9e9cL,0x0000000000000182L } },
  94551. /* 34 << 315 */
  94552. { { 0x568ec079d87b35feL,0xa08deac6958c3388L,0x715279434034a877L,
  94553. 0x0859576ef2fef769L,0x60bd705595201257L,0x9f19d411dd68e3c4L,
  94554. 0x595fb01498308e14L,0xa2a84c0d4fa07f02L,0x000000000000000aL },
  94555. { 0xdf1e5d32e69aea45L,0x9557a618318f191fL,0xd4f95c503b1c6341L,
  94556. 0xaaef0d9e6ae9e855L,0xea3847180c9cb2d8L,0x13e92ab81a52a30cL,
  94557. 0x1651ed2863bb271bL,0xd97ff1ee98a52306L,0x00000000000001d5L } },
  94558. /* 35 << 315 */
  94559. { { 0xfe80b99efbbf1e27L,0xfb7b5ee11955b0c0L,0x4f3a5833e1708fefL,
  94560. 0xf5a2e09a55e25e94L,0x9c6d38ed81d8c307L,0xe55d8fbc85262c42L,
  94561. 0xd65f395c2d4726eeL,0xdc540d4333cd1d74L,0x0000000000000149L },
  94562. { 0xc010dccfd74a298eL,0x9e7056864a666f1cL,0xe0cfe3db254c3b4fL,
  94563. 0xb979124ff7b07fe9L,0x649ceddfb1b99c8aL,0x400cca2d83df18a7L,
  94564. 0xb0572105b99596b6L,0x30719cbf1edf710fL,0x0000000000000087L } },
  94565. /* 36 << 315 */
  94566. { { 0xa19953973af2d340L,0xfeb7bfb1d4141779L,0x64f0f9677a4bd845L,
  94567. 0x55dfb0868b2b75ddL,0x3b71a0508bbb38e1L,0xaf038a2aeba716a2L,
  94568. 0xc49b38c6a91319eeL,0x71f1e3cea8535e9eL,0x0000000000000105L },
  94569. { 0x3f07f7e964c26f33L,0x953a5abb347b8f7bL,0x5104f896c06b5c17L,
  94570. 0x8a2e1b533c3e52c6L,0x2127f321ffba4ee1L,0xaf288b9499e502b0L,
  94571. 0x04fde09b29407d69L,0x29d8e20c86bf0d35L,0x00000000000001d6L } },
  94572. /* 37 << 315 */
  94573. { { 0x1aee0faf9fbec97eL,0x7d82f31e42ad7101L,0xc9f00d2750e8458eL,
  94574. 0x5c099fbe6b18313aL,0x96a679ef65d81613L,0x4fff394b8db6638eL,
  94575. 0x53a97eea9248e6a3L,0x707785311729be5eL,0x000000000000018bL },
  94576. { 0xb8c6dd9e948f04aeL,0x4eb6c7f94a39815fL,0x1501c0bd1b7294deL,
  94577. 0x33ed433f9a242a2fL,0x3d50c608994d9f32L,0x324ac45bfda6fbddL,
  94578. 0x7d8a03ef6736a16dL,0x631d6c60ef0faacaL,0x0000000000000008L } },
  94579. /* 38 << 315 */
  94580. { { 0x01fe1042e436d76aL,0x2b65db559d05ddffL,0x48d26665932d9e5cL,
  94581. 0x01c106ce8a761836L,0xbd83cdb30e8c1caaL,0x9a02dca8ac1b3140L,
  94582. 0x6c27ef627d158450L,0x927980c2bedbbed5L,0x0000000000000123L },
  94583. { 0x965261732483b8e3L,0x5665a308b841e686L,0xc8dd3428f4a890ffL,
  94584. 0x824c2b9522ade66bL,0xcf13a52fedb93640L,0x2af59ea913125d21L,
  94585. 0x975485e0deb818fcL,0x1c34566416212cb9L,0x0000000000000074L } },
  94586. /* 39 << 315 */
  94587. { { 0xb327a7bf9b17c8deL,0xa8ec6459cea7bcb7L,0xd6939689168426e7L,
  94588. 0x370eb9046450b774L,0x1f06ba383d71defcL,0xe185afa6aa16d5feL,
  94589. 0x3814a269b3148755L,0xcf44b1bd8bb9de20L,0x0000000000000005L },
  94590. { 0xcbb2da404b8ed855L,0x32b8240ebf15a195L,0xf0cccd5a739cc9d6L,
  94591. 0x2b6147c4d907536bL,0xada9b9b4b3b57e0dL,0x75abb8dff4093307L,
  94592. 0xc503586c3ecd482fL,0x60a0b02fcd1d3312L,0x000000000000012bL } },
  94593. /* 40 << 315 */
  94594. { { 0x20527cec16bbc6f0L,0x1af2887295b9b3caL,0xea34ee171e96e75fL,
  94595. 0xa45bba37e4b8a04aL,0x41f417225f3036dfL,0x4b86d3e223157bf7L,
  94596. 0x1e67259e1a02706eL,0x8c1a3d9994a77d8dL,0x00000000000001e4L },
  94597. { 0x8c9fd4c4e3ae391cL,0x69e1f95801a97eccL,0x5e0c660b4f7bcd62L,
  94598. 0xf3952575a21f57d6L,0x6b7d050c79bf361dL,0xf7a8893ffc95fe58L,
  94599. 0xe28efa2075d0c333L,0x7b561de2ce39269eL,0x0000000000000042L } },
  94600. /* 41 << 315 */
  94601. { { 0x479800978563f771L,0x3410f8763c5662deL,0x5bc9cdab15e8afdfL,
  94602. 0xd53088caea947c39L,0x9443dc753bdd8982L,0x71da1712be12e18fL,
  94603. 0xdea9106b816abd0aL,0xc7145d12fe4cbce7L,0x000000000000018cL },
  94604. { 0x9be617aca5361866L,0x540a22e459fd2228L,0xf93e692ee3292da4L,
  94605. 0x9f730056c797fbcfL,0x0f5b37dc080fb9dfL,0xee979d41dfd5be21L,
  94606. 0x2fe9bbd377da5594L,0x7392b500940c7fabL,0x00000000000001d2L } },
  94607. /* 42 << 315 */
  94608. { { 0x534669b6bfd08da9L,0x0131ce0bad7f4feeL,0x3d07710449c9f551L,
  94609. 0xa0519089124d6d6dL,0x9df5e6650e3c525cL,0x03e0caa51b0855c0L,
  94610. 0x70f2d1aeaed8b293L,0x5258a199d9adab56L,0x00000000000001ebL },
  94611. { 0xab747165401dd32bL,0x5048cc1cab988597L,0x1080390a14dc9ff5L,
  94612. 0x71808335ec187b93L,0x894a24ab1a1eac91L,0x97f922c61c234f84L,
  94613. 0x245d34ae36d5595eL,0x8a43c41f6aaa4b14L,0x00000000000000a3L } },
  94614. /* 43 << 315 */
  94615. { { 0x295a4c6365d5cfa5L,0x5a8a43db51adce61L,0x25de9d5fed6aa752L,
  94616. 0x934b8f517f9df62cL,0x6534c400235bebd6L,0xcaefa633d24cff48L,
  94617. 0x4c55585a8562870cL,0x0a5d10180ddeb2e1L,0x0000000000000031L },
  94618. { 0x58d16026be4d501fL,0x38874de4d04fcc16L,0x4b795f00352da735L,
  94619. 0x9e97091eac8c0b50L,0x91b153a99ebf81f6L,0xacf58b7ba5ec6a01L,
  94620. 0x22374c638e177fb9L,0x62b7622c28edeed0L,0x0000000000000183L } },
  94621. /* 44 << 315 */
  94622. { { 0xc24d78dd440656c9L,0xca4fb99cb3819092L,0x88caaa9847f6ea2eL,
  94623. 0x3ad7dcd37bf55007L,0x2a94011d87af1062L,0x176b3e376efcf26aL,
  94624. 0x907e6108c362be62L,0xf00a10062b7c25a0L,0x00000000000001d0L },
  94625. { 0x435481d3adb9d45cL,0xbba44b115b840331L,0xc7c2869d4c4de57bL,
  94626. 0x8cdffae2d43dab64L,0x1aa7c5f0c28d2e22L,0xb3f11b4bcab6c7aaL,
  94627. 0xa0153a91cb4e8df7L,0xddf80a114ca337bfL,0x00000000000000ecL } },
  94628. /* 45 << 315 */
  94629. { { 0x6dae6ce65d4bac9bL,0x7e0cef116b6b0289L,0x45c7d3063e081f88L,
  94630. 0xaba7cab9700ca222L,0xe8d94fef1fabd270L,0x0e76aac6f6b272a5L,
  94631. 0xfe456c4b4ca8b682L,0xd021e03d4d6a93ccL,0x00000000000001f6L },
  94632. { 0x08355e745d39f92dL,0x6c1360477eb5dcfdL,0x90169cd5975ce76dL,
  94633. 0xd01445f219764b90L,0xd67c0cb3d06031acL,0x9d522c431c5f97b0L,
  94634. 0x5fde48bb040b9a24L,0x718a636325d29470L,0x00000000000000e4L } },
  94635. /* 46 << 315 */
  94636. { { 0xfd7f44ed23a3af11L,0x6333bd403ae53e07L,0xf1d2c8efe459a255L,
  94637. 0xa0c37f9d8799c62dL,0x37ef089911e1d53fL,0xef656bda08fca1f8L,
  94638. 0x0af3992870158e0dL,0xab14f9d1328c88d9L,0x00000000000001b5L },
  94639. { 0x51b410993d600c77L,0x343fc57816ffb129L,0x248ecbda469c89baL,
  94640. 0x2c28ff288dc1b85eL,0x767141bf62952b72L,0xbcc3e57bafdcd8a2L,
  94641. 0x80051675cc86283cL,0xa19961c6af99a56fL,0x0000000000000182L } },
  94642. /* 47 << 315 */
  94643. { { 0x0e5ec8bfc833c8d2L,0x17a323039aeb80ddL,0x0c8054818f413e42L,
  94644. 0x53199f904fd9773aL,0xc6aa9d94e4fdce86L,0xe86019a45ea3d808L,
  94645. 0xb2b25ecebe5d522cL,0xe50d1357b9dc03e5L,0x000000000000005bL },
  94646. { 0x18d688efd7d8655eL,0x9f297b45587aa095L,0xeb6488495ed1bfd1L,
  94647. 0x2d62357eb283a41fL,0xd95a7a38244d4363L,0x3e01047c58e32ec7L,
  94648. 0x4919ac6899283274L,0x84094ea76a033583L,0x00000000000000b1L } },
  94649. /* 48 << 315 */
  94650. { { 0xe54c6f706e842fc6L,0x19bf910e6f75efa8L,0xcc5b5fbd630e0ea6L,
  94651. 0xf157ce88092d7e53L,0x1022928d11cf8dc2L,0x8f6b3753d03e642dL,
  94652. 0x1cffc03b083e6d0bL,0x265c111b7e943f5fL,0x0000000000000025L },
  94653. { 0xc6cfd943368cce07L,0x1a14c3f74cc79e09L,0x38d2c6d092562102L,
  94654. 0x98b25e33a91a0815L,0x0ac5666f3d7c75edL,0x1d89b14a9aa46d95L,
  94655. 0x8c53e6ca3e1d0cacL,0x7e07bbd31325bf89L,0x000000000000011cL } },
  94656. /* 49 << 315 */
  94657. { { 0x0df1c4977dc11a7cL,0x223a1262b01cb5eaL,0x25dd803c0810c4dbL,
  94658. 0xcb11f08785e41656L,0x73ec3e8b2f1dae29L,0xe50ec09af3bb0e96L,
  94659. 0xbeb6b3fc3fc029fbL,0xdbcd195de9278518L,0x0000000000000144L },
  94660. { 0x1e51439cff7c554bL,0x7dd293ce2201bf38L,0x6521c8b6a1239dd1L,
  94661. 0xd2200070b51cd909L,0x727d874744dfb20bL,0x57b82eaaca155e14L,
  94662. 0x10761f46b6a7c6beL,0xe2b999e41d4536c9L,0x000000000000005bL } },
  94663. /* 50 << 315 */
  94664. { { 0x22af766ca4d900afL,0xf9a8bad8a91576d6L,0x532fb69eaad75d1bL,
  94665. 0xc11ff92d39a81213L,0x51e63b1dc464eab1L,0x651b3246a2f8057dL,
  94666. 0xeb84666f3dbcbf15L,0x98ac1e1baac37a68L,0x00000000000001e5L },
  94667. { 0x3083c4843eddc711L,0x0bc703f86ed884e3L,0xd1e76ede3d5e550fL,
  94668. 0x4c24d2caa561ba09L,0xb7c212f9f8192b2bL,0xc683270c6e012870L,
  94669. 0x1a5fe85a82b37cb0L,0x91289562a1818811L,0x0000000000000156L } },
  94670. /* 51 << 315 */
  94671. { { 0xe48906e35f228d80L,0x6216e75f94bedc7cL,0x9707ebd62f8e26a0L,
  94672. 0xaa3958ca1a673e7fL,0x01ac80f2df41fe97L,0xb23738e01bf96493L,
  94673. 0xe7684540e0b97882L,0x770056549fe02c76L,0x0000000000000151L },
  94674. { 0x910af00f89327a45L,0xd534a172f8205cadL,0x959d2b243776c9b4L,
  94675. 0x3ac5f308cbb27ef7L,0x51ba3c3d49b5ab33L,0xe0177e6705861588L,
  94676. 0x3fd40125c93b0f10L,0x29f0bcbb828131d6L,0x00000000000000adL } },
  94677. /* 52 << 315 */
  94678. { { 0x6bae11c47053fb58L,0xfed4afb1535c8c5cL,0x620bebb4fb6dca6aL,
  94679. 0x5759da42ed7f3e91L,0xb537fcf726663077L,0x2829ffe0fbf0d31eL,
  94680. 0x93666d29f290f144L,0x4de9a65e5826718dL,0x0000000000000146L },
  94681. { 0xbeff2ca3b96fd449L,0xeb3c9ddfbd865ac0L,0xd6c2bd3d851f94ceL,
  94682. 0xaa428d52f9f0af14L,0x5a1106774f5cc20cL,0x3e976fa8ae1e9de4L,
  94683. 0x82d0634b6dc9a17eL,0x4d4a7bd7afa5e744L,0x0000000000000171L } },
  94684. /* 53 << 315 */
  94685. { { 0xa3e8d517e8867df3L,0x59597f2323e2a3cfL,0xa5bcfb3e413462bdL,
  94686. 0x69942cb7f1f38aa8L,0x8cb693756d9a2565L,0x4e5914dde3fa45a6L,
  94687. 0x45ea2ce7124a4896L,0x0c9700171f1299f3L,0x0000000000000000L },
  94688. { 0xd543d0a6ef855750L,0x04dd229ce72dddf0L,0x2c72b7c73ffe71adL,
  94689. 0x726f5c442305ab6fL,0x64438793d6704991L,0xc5a4c2667ff42b14L,
  94690. 0x76ddf391b3086b51L,0xe5b30282588400b6L,0x00000000000000d8L } },
  94691. /* 54 << 315 */
  94692. { { 0xe5142d28595b12d0L,0x55e40067a14fe68fL,0x2b84189dd93da1feL,
  94693. 0xa65531bbbe6833dbL,0x7b7eea747c7d7e8eL,0x41c72bc07215eb28L,
  94694. 0x0a90cf0ce2d3c42bL,0xc3232468acb45de7L,0x000000000000007bL },
  94695. { 0xf045e44eba15d9c6L,0x2c6f4bd762fce75bL,0xcc6ed0fab9430ca1L,
  94696. 0x2683da6990020f7cL,0x7c4cec7dca6d9077L,0x3e7e028b8fe80396L,
  94697. 0x06f3e60f0ddbf616L,0xc0fabfc1d2a2e8d8L,0x00000000000000c2L } },
  94698. /* 55 << 315 */
  94699. { { 0x092a8391a47dbcdcL,0xbae279ea63678f3bL,0xf395a2501fb0434cL,
  94700. 0xe1183e16105b8bc6L,0xb001cfbfdfd13240L,0x252d420549ae1be6L,
  94701. 0x27006420135a39f1L,0x2a130dbc2d859c73L,0x000000000000009bL },
  94702. { 0xe638dc7141b6b9aeL,0x6a5f1007bc07e485L,0x7574919914cad421L,
  94703. 0xb6012f24c1f1d11cL,0xfd20f9dfdb1f7592L,0xd7f2dfb9fa2a3c16L,
  94704. 0x8ac19b7459368297L,0xb95552cd4e1622dbL,0x00000000000000c1L } },
  94705. /* 56 << 315 */
  94706. { { 0xe319a4da11c1ef91L,0x117ca85fa8ead392L,0x38784b6c757ae2fbL,
  94707. 0x457a99aea307b95bL,0x698e3e9c8bb14a8eL,0x7172c6b2571ef3c5L,
  94708. 0x02cd25bf3cb33498L,0x390b5efba243fce4L,0x0000000000000003L },
  94709. { 0xad23a309fd0eb02fL,0xd22e490f36c9fa28L,0xcdf111a3ab8b5d09L,
  94710. 0x257bbdffe1c0b8c2L,0xd405532721284f9fL,0x46e4a9a534bb090aL,
  94711. 0x7284ab106b2b6998L,0x46aba7e6f57bde50L,0x0000000000000099L } },
  94712. /* 57 << 315 */
  94713. { { 0x7475a134e10a04bdL,0x2e024e9bde9287bcL,0x48ef65326be4a304L,
  94714. 0x761c87702ed78c9bL,0x450d1cc689b960dbL,0x2ba413a36e1855fdL,
  94715. 0x0af0c64be2a82c40L,0x43c4773285bd1f85L,0x00000000000000b0L },
  94716. { 0xb79d374d5e6e57c3L,0x19d597c487b58f00L,0x2f08689424272b25L,
  94717. 0x6fc826ce4ba5e7dfL,0x1daa63e338f961f5L,0x792ed02f8f78a2c9L,
  94718. 0x93075e80fdb2ab90L,0x4b5aa382b67ba93eL,0x00000000000001aaL } },
  94719. /* 58 << 315 */
  94720. { { 0x4e9aa71ef43a6307L,0x58c0f6106e978e59L,0x093500d272236e84L,
  94721. 0xfc4ac660ffc659dcL,0x47c0fdad706b4f50L,0x2056f72fe095393eL,
  94722. 0x0b7adb25dd3ece91L,0xb6e5174297d8f944L,0x0000000000000023L },
  94723. { 0x009f45c1d0aabe39L,0xd2041cbbdb8e94e8L,0xf0ef2bc26a4112a3L,
  94724. 0xd4b13654552e8c7fL,0xc2e819a41fa6f19cL,0xe9595ff52d299fceL,
  94725. 0x2125ca74767e22d2L,0x99902ab316614806L,0x00000000000000a0L } },
  94726. /* 59 << 315 */
  94727. { { 0xe4fd64ae0cc153cbL,0x78e9e456424b39d7L,0xcdaf25a5d3fb88daL,
  94728. 0x8b5157c5d1d2090fL,0x3009df9409a3b59fL,0x8993e887afcc70daL,
  94729. 0x98d62e4b6aba6ca6L,0xae5bd1e9d0b55588L,0x0000000000000091L },
  94730. { 0xe51727ead2a73231L,0xbb78c75a11119940L,0x46cd02d334fead71L,
  94731. 0x516fb90f79f074e0L,0x95794a415926aab3L,0x2acb4273ca95c0d8L,
  94732. 0x2a554c55046d8abfL,0x3ea635345e0541c8L,0x000000000000014fL } },
  94733. /* 60 << 315 */
  94734. { { 0x39e516db05bd6b40L,0x6326d151b3450a21L,0x3f0595f40cdbf670L,
  94735. 0x330c29d1933eccf4L,0xd4b341de30d980edL,0xcc507c0b49b16dfaL,
  94736. 0x7013862cb0cf6c26L,0xea9aa644dd0f4300L,0x0000000000000104L },
  94737. { 0xaac1ae33a1a7c1c5L,0x990e19302e944d25L,0x3494435a34e6e768L,
  94738. 0x2bffd9d0fdea3e73L,0x3449aa3d63401018L,0xd0742bd47458c879L,
  94739. 0xedc90d58f893bf14L,0xc78a12f7ab8cd554L,0x00000000000000b1L } },
  94740. /* 61 << 315 */
  94741. { { 0x47b5e95d00a65e5fL,0x0d78b1d6649f9ff6L,0x9e2aa63ce37ee6a0L,
  94742. 0x58f817a994c11bf3L,0x8c170c9fd5ba3c18L,0xe27da94f98518956L,
  94743. 0x7e12d7a9bd858fd0L,0x913469c75403cba6L,0x0000000000000026L },
  94744. { 0xc0dd6e546195786aL,0x618e56115011e7e0L,0x06e017b330513dd5L,
  94745. 0xd3af20882b48ca95L,0xc622ce0100e7de21L,0x40605d3ed4a05456L,
  94746. 0xe3ea86f3be2886acL,0xa32b791e48371f63L,0x0000000000000185L } },
  94747. /* 62 << 315 */
  94748. { { 0x7475dd141a434a2eL,0xc1e3790411388191L,0xc94b7692bdadfaabL,
  94749. 0x92ebeb2376d05a84L,0xead9002dddfc6806L,0xf8e3b5ab13f239d6L,
  94750. 0xe76ca47a2f934e01L,0x05a1ecc18aded0a6L,0x00000000000001c9L },
  94751. { 0x545938b83172c0f9L,0xf0b5a269bd43272dL,0x8293c33a4c480501L,
  94752. 0xb10ab474e2acb95bL,0xfe46ba6ee7f9dc18L,0x4ee4b0fc931c6276L,
  94753. 0x9a2730d99b042b1aL,0x2d3175b3367479fcL,0x00000000000001a9L } },
  94754. /* 63 << 315 */
  94755. { { 0xf08f79df91452e27L,0x826c0321a1c388dbL,0xeea26b8de44c7caeL,
  94756. 0x46b654482b6c49eeL,0x2c7c6d5d512e6928L,0x3279f451651d9718L,
  94757. 0x8be44bdd001af2d0L,0x85bc67e29221e194L,0x00000000000001bfL },
  94758. { 0xc3adab308c929562L,0xd50abbf382b1d07cL,0xcb2300bd7c0e0792L,
  94759. 0x275fc0b89c6c9591L,0x906b1ac03c1ea028L,0x4251b8a186a2a725L,
  94760. 0x30af7c5057abc4f4L,0x865249727174416dL,0x0000000000000101L } },
  94761. /* 64 << 315 */
  94762. { { 0x8a9e56659d53ff0eL,0xe4c4fcd2c7ccbb62L,0x95a2b7a2b60b6fabL,
  94763. 0xcf39fde59242b4d1L,0x43983f305b49d9f2L,0x4b5fece7220ec7baL,
  94764. 0x10b1639c221fb872L,0xf5955c1df594795aL,0x000000000000008cL },
  94765. { 0x73dd1711eb1eea2cL,0xf027dae274f9e73cL,0x11c87d1589586cb5L,
  94766. 0x16bc03cf1380814fL,0xfbbbe67a19693d82L,0x9ca4b47e5b37ae4dL,
  94767. 0xad59beeedc7860a0L,0x46ff6ded599ca348L,0x0000000000000031L } },
  94768. /* 0 << 322 */
  94769. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  94770. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  94771. /* 1 << 322 */
  94772. { { 0x47fe51518f87ae00L,0xf49ebf83b2d64637L,0x11eca7b4a1e86582L,
  94773. 0x58bb53f9cbde2995L,0xa620bba204af7663L,0x2a01040d7221bc31L,
  94774. 0x1734531da243ac9fL,0x1dcb67d6117d06e9L,0x00000000000001acL },
  94775. { 0x5bb6699b43275ffdL,0x4b141be73bfea061L,0x805d08b0dae58347L,
  94776. 0xbbbbbae321ee35afL,0xfa863bafef02b56dL,0x21460360b35e5127L,
  94777. 0xb64a8ac4dacdd7b7L,0x51582b4f92b58b6aL,0x0000000000000172L } },
  94778. /* 2 << 322 */
  94779. { { 0x74f71c976305b1faL,0x75c64449aae6788bL,0x072b8b0afc132537L,
  94780. 0xd66862f496fd8bc3L,0x32cb2f3a5ff59f77L,0x9667801b58ffe8e1L,
  94781. 0x227b57a4558302c6L,0x0c384f6e441664b4L,0x0000000000000130L },
  94782. { 0x0cfd7a96c16bc635L,0xe8f67af8d846d4c0L,0x7a398e333637d199L,
  94783. 0x2648cdd111d7443bL,0xfe3bdc069843f169L,0x8192bff3b42d2c33L,
  94784. 0x7caddfdcfd2b8fc0L,0x42d128611456b53bL,0x00000000000001dbL } },
  94785. /* 3 << 322 */
  94786. { { 0x4c7066df84e9430dL,0x77abd2e8e1f59506L,0x784cde21534bda51L,
  94787. 0x84176c345bea6125L,0xc4f00c4c11104b82L,0xdbb8ef7087f79adbL,
  94788. 0x1e47fff55961812dL,0x70326449202d45cbL,0x000000000000002cL },
  94789. { 0x84ecf48df169b460L,0x972348061a19979bL,0xde2caf4d9bdcf29dL,
  94790. 0x90acca5e218caca8L,0x66480bb594715145L,0x70d761509ba70365L,
  94791. 0xae45e69a924d4c52L,0xab48997cc321ca7dL,0x000000000000013fL } },
  94792. /* 4 << 322 */
  94793. { { 0x5637ceab569dfcd1L,0x0d1cf091b2c13802L,0x09115a1f731087b6L,
  94794. 0xeda479febdb45b2bL,0xed883a7d8e6e5507L,0xbc9206ba30bd8162L,
  94795. 0xff2af28ec6294b24L,0x2058521ac8947bc9L,0x000000000000003cL },
  94796. { 0xfcfa87a55a82fbaaL,0x988a9a6c1569f45bL,0xe65849f65d3d6aa5L,
  94797. 0xa3d0879f05446b48L,0x45571ccf76f480d1L,0xacd9a3230efd5f79L,
  94798. 0xf30e5ec4ae956132L,0x325306d0ea93f245L,0x00000000000000a7L } },
  94799. /* 5 << 322 */
  94800. { { 0x8582acf43008f8f9L,0x78d113721bd79b09L,0xab3aaaf5e6af3cc0L,
  94801. 0xecdc672eae9dabd8L,0x56f69a15ed65ca69L,0x51b4b25a3932ae63L,
  94802. 0x8047c54c6f8e81f3L,0x7fee87e2910eb492L,0x0000000000000006L },
  94803. { 0xac401b28e398d849L,0x5cda81e9c78212ccL,0x1d38ac77ab650ca3L,
  94804. 0xf1c7e42583da6475L,0x2150ce594108cdceL,0x9a59ba89de85336dL,
  94805. 0x3bf646ba9551319dL,0x2db133dd2540ea12L,0x0000000000000068L } },
  94806. /* 6 << 322 */
  94807. { { 0x7c1d8a0eaae05a6bL,0x4906595862835a21L,0x66338e4d7023e607L,
  94808. 0xa8aec3272501507bL,0xe3eb9783283179faL,0x11908e2f9703f59eL,
  94809. 0x08ff92f55a86e591L,0xe4c7c4d922806045L,0x00000000000000c6L },
  94810. { 0x27f1b842af9bd2edL,0x238d7152eb1c7239L,0xf02ca4f06935f71eL,
  94811. 0x528b57266888b5feL,0xb9965603e8e613dfL,0xebd0e8fe7e1b59f7L,
  94812. 0xeaf264d6f09bae67L,0x01ff76c9a540edcfL,0x00000000000001fdL } },
  94813. /* 7 << 322 */
  94814. { { 0x80a0e45b314cc74dL,0xd7fa3610b57c5800L,0x848d96d7b67e5f65L,
  94815. 0xc861fad13449baceL,0x68cb8a38ddf3f1adL,0x66d16b9c66a153ddL,
  94816. 0x94b81dd9e8236d66L,0x26b5570869130397L,0x000000000000008eL },
  94817. { 0x0b0a8f43a6bf9b14L,0x185a239e96c9d7aeL,0x1119dec363fcebbaL,
  94818. 0x952da42323c83456L,0xbcecf110bdc4a430L,0xc64ba9f6b2a77ed2L,
  94819. 0x75d06bb1323b6059L,0x192de9edf709226fL,0x000000000000004aL } },
  94820. /* 8 << 322 */
  94821. { { 0x5f7d9850fb6f765bL,0xafe6dbcad0ccfce0L,0x9e66a5e9d97d6f42L,
  94822. 0x1b402928377f7e90L,0x44b0d87abfc71aabL,0x3cffd5151de366f6L,
  94823. 0x845d7d74b292c4f5L,0xe0822ef93f88e818L,0x0000000000000017L },
  94824. { 0xfff7c1d7104d2069L,0xe53e122dec0fdb18L,0xf07a43395646b614L,
  94825. 0x3f2341d0b47765f6L,0xfde6dd5e2cb3def4L,0x87d324787a97d20cL,
  94826. 0x27235476bcb7b256L,0xb03f98dc9303c7d0L,0x000000000000010bL } },
  94827. /* 9 << 322 */
  94828. { { 0x634e5bf3d3323dedL,0x3bf31a84f4d4e862L,0xdd6b8f2235e8b445L,
  94829. 0x0b82f8ffaa9b65cbL,0x34c6a6fd744b4cf6L,0xe1831208a43f35f5L,
  94830. 0x7cd47de06db12386L,0x845e032b5b4183e5L,0x000000000000013eL },
  94831. { 0xc7b8b5ecb448fbe4L,0x779c1f1019d44cd8L,0x63be24d85e05ecd4L,
  94832. 0xc34e9ff989f86617L,0xe1b13059d96a53a8L,0x92101f9fec8a4021L,
  94833. 0x56150074ecb053eaL,0x802050cb44760734L,0x00000000000001d9L } },
  94834. /* 10 << 322 */
  94835. { { 0x29f559f30101f121L,0x755e6943457fc6c4L,0x4531ef607c423ebbL,
  94836. 0x2e214b5f5c1752afL,0xfbb45080bf760382L,0x4ac072f6fb9ec95eL,
  94837. 0x1c738977d3f9dc13L,0x8941f56b46cd8ddaL,0x0000000000000035L },
  94838. { 0xd99d101d543301b0L,0x9cbe76c1eb88a1f0L,0x3a83d44c974b3e02L,
  94839. 0xaa0fad91d4c62aafL,0xa4393659c1aac52fL,0x5cc89ddeb695fc35L,
  94840. 0xd248c1bdc017698dL,0xb232bd2028af0b2aL,0x00000000000001f1L } },
  94841. /* 11 << 322 */
  94842. { { 0x09742d9a3320fef4L,0x211ff0f93e06ff4bL,0xd78969686f42e626L,
  94843. 0x6bd0c95a11fb5505L,0x28d29ee1288e9a9cL,0x6ff437b97d75ef3cL,
  94844. 0xaae59f1669ad35ccL,0xa8d0a7a2e20c026bL,0x00000000000000faL },
  94845. { 0xdc4feadd783a9b51L,0x387f15e0622a4a07L,0x78005c174a207939L,
  94846. 0x2f1c8ed7a4ad0da9L,0xba0da149f12ae544L,0xd3085ef61db1ce40L,
  94847. 0x8185ae15c8027370L,0x672ae84ee7699af7L,0x0000000000000107L } },
  94848. /* 12 << 322 */
  94849. { { 0xc1d74d05ac5fab15L,0x6ea132c49b102d52L,0xd3ada4ce0d890cd3L,
  94850. 0xab7248f092823f62L,0x246c373023871113L,0xebbca0b998424f07L,
  94851. 0x0061eb2c2e62e741L,0xac1b03d25e90c5b4L,0x0000000000000136L },
  94852. { 0x0748c14a7eefae68L,0x82525b3581f8a2ceL,0x31a64097398363e1L,
  94853. 0xcbf57e0257b6b33bL,0x523f0584807217e6L,0xd607efe780b9700fL,
  94854. 0x79afcc9435596890L,0x140ed6f46985a97eL,0x0000000000000160L } },
  94855. /* 13 << 322 */
  94856. { { 0x994d6f091dc32085L,0x7ef66c0ca1ec3338L,0x862f3f00d05f032bL,
  94857. 0x14b255ab398a3cd5L,0x15dcba7d14d0afb9L,0x426d2d2b0eba73c0L,
  94858. 0x49c12810c97b173bL,0x1b41ee58de677412L,0x00000000000001e5L },
  94859. { 0xf95f8080e3f62ad7L,0x2043cc48def132ffL,0x675e320a4ac025a4L,
  94860. 0x70d97e051e334fb8L,0xf1f374fdd5c92698L,0x092930a4e24b9c4bL,
  94861. 0x9df749fe264df791L,0xba72b3748ec13529L,0x0000000000000170L } },
  94862. /* 14 << 322 */
  94863. { { 0xd9b7a5b9e1c9df84L,0x709198f2b5280f15L,0xb34b95d48277fd56L,
  94864. 0xfd99a4ec9de8b8a2L,0xe382385a3a437ec0L,0xec27c9e21c556ecbL,
  94865. 0x40e3599d22df4e54L,0x01c11920edd21904L,0x000000000000016dL },
  94866. { 0xd4049aebdd8453f7L,0x8c013265d4ed86eeL,0x97aff20706af369cL,
  94867. 0xa09fb20b053ebdd8L,0xa0864a12daa9bb5aL,0x046821b0487993d4L,
  94868. 0xc60e798c71b8e214L,0xe34ceba3b599ac41L,0x00000000000001d6L } },
  94869. /* 15 << 322 */
  94870. { { 0xa5828c36d7a89dc3L,0x469a1d568dd9c304L,0x66de18a2fd9cd815L,
  94871. 0x9c9dbdc6b2dc8e19L,0x1a498589fd4ac190L,0x5a56e72594b98ad2L,
  94872. 0x01af3fa4075c69ccL,0x1545c78e90dffbb5L,0x0000000000000050L },
  94873. { 0xa65c03dcc589d32aL,0x17e9f0ce6060cac0L,0x0e4407a37302e7a5L,
  94874. 0x0b6d8617e87d0d8cL,0x6c4d924e82c0970fL,0xb8323cda4e7cf7a9L,
  94875. 0xfec1519afc7592f4L,0xe3ca60ad3b413603L,0x00000000000001d6L } },
  94876. /* 16 << 322 */
  94877. { { 0x116ca45b2e19e0b1L,0xa49d8f1b730ac8c2L,0xda037586eb7a1238L,
  94878. 0xeae3abd5e834391bL,0x8675c82a277eeb94L,0x975ac10634b19d06L,
  94879. 0x6ab169a96b83a163L,0x3ed9a40a967424fcL,0x000000000000013dL },
  94880. { 0xa23d2b9b2082d8bfL,0x853ae3f39a7d0a3fL,0x04c7ce962879d8eeL,
  94881. 0x17da556d29c66703L,0x1b3a760f1fde40f6L,0xb98726458c5b2120L,
  94882. 0x59b18fee260aff65L,0xf2a8908d5df615dcL,0x0000000000000116L } },
  94883. /* 17 << 322 */
  94884. { { 0x0c565f6dbf610ef7L,0xfb3f938daf30f04fL,0x3e626c858b8f63a6L,
  94885. 0x46b39352fcc292aeL,0xf7d0a0563a488d11L,0xdcc803337f10c63aL,
  94886. 0x9ce707d99c6af943L,0x5a919c777093b168L,0x0000000000000198L },
  94887. { 0xc635f424549b3f1eL,0xdffe84686bfd7fbaL,0x2ca865d6999c72f8L,
  94888. 0x904ff1826178fabfL,0xb431f3d908971a3dL,0xb6f8633bcbc2b248L,
  94889. 0x65788bf3b9173f22L,0xfb2c9aaa9e356216L,0x0000000000000091L } },
  94890. /* 18 << 322 */
  94891. { { 0xa0fecc4018e76bfcL,0xaba8add4477d51acL,0x41057a450ba7ff2eL,
  94892. 0x75b902a119cb81e4L,0x8e5b4a580e68c3adL,0xfcb68db8cc58a3d4L,
  94893. 0x0a7e44ce4f044a64L,0x40e4907ed0543f9aL,0x0000000000000006L },
  94894. { 0x32195dac8df38660L,0x6e1d60e5377aa840L,0x847cf167ef79a408L,
  94895. 0x3be397f0d44fbdebL,0x6bf1298cb6474131L,0x116995a6fd22822dL,
  94896. 0x5af45b34c8290ecdL,0xddde3eecb230c779L,0x00000000000000e9L } },
  94897. /* 19 << 322 */
  94898. { { 0xd3d86741f2c7d24dL,0x21d5116b19322c3fL,0xaf9d1a0819063e10L,
  94899. 0x5b594a50e31c6774L,0xe61198cd516f6354L,0xec9e8eb451088a79L,
  94900. 0xcc3031bbfcba2683L,0xeb08633e531785d2L,0x00000000000001f4L },
  94901. { 0x539664466d67c0fdL,0x2a42f1e974ae1a80L,0x6c12467c885ea4ccL,
  94902. 0x81ab0c5b0efb792eL,0x71ddf7497b91b2e2L,0xec246aafead35602L,
  94903. 0xa0f4a61d2563662cL,0xc717f71c505df6c4L,0x00000000000001c0L } },
  94904. /* 20 << 322 */
  94905. { { 0xafc75c178ec70a8dL,0x32686ebf7b117380L,0x16050cda21e28c47L,
  94906. 0x70c05654e731b083L,0xafa2e57571d1f6d2L,0x0df1a032c1982fd6L,
  94907. 0xc0e7b1461e86f69bL,0x0df3c6bcdce1864cL,0x000000000000012aL },
  94908. { 0x46fa0fa600b0d0b1L,0x1f0a42b21691a590L,0xf5a6e4e8ac8c1189L,
  94909. 0xa2cc987973a0ab49L,0x721ca290cf17f795L,0x4026f9c3ecf32b7bL,
  94910. 0xbabd20c019cd7057L,0x99378e8c5c30cbccL,0x00000000000000d2L } },
  94911. /* 21 << 322 */
  94912. { { 0xd0cbcc47c26a88c6L,0xc7b0cda13f2dc480L,0x405f4a1024029c61L,
  94913. 0xa79337861f262318L,0x009fa8def18a254aL,0xd8e1d3ff56e86d6bL,
  94914. 0x9d1c8cb1cf685730L,0xe9e94c8373d42c86L,0x00000000000000b4L },
  94915. { 0x03d5e8cf263d6639L,0x008d0a7caf59818dL,0x030bfbf3d18597c3L,
  94916. 0x7e6faa51312d4f8fL,0xbe896d83b2d948e3L,0xd6a7d6786f4f8181L,
  94917. 0x2140942ed01ccf0aL,0x458145e3bf228206L,0x0000000000000182L } },
  94918. /* 22 << 322 */
  94919. { { 0x9925822b53727667L,0xb75905699f8ec5bcL,0xab4ec9d48d2a5fc8L,
  94920. 0x1fdf79f123996a2bL,0xb7c9dca72e618aa4L,0x70df99533cce63acL,
  94921. 0xdb24712df2c51a36L,0xd95239ec9d3a3f59L,0x0000000000000083L },
  94922. { 0xd649c751d2ef6338L,0xb18fa99e47365d93L,0x1f96c9811d979826L,
  94923. 0x752db605cc8def36L,0xe723f8151830cba5L,0x11a2323f7123ba6eL,
  94924. 0x63fb9a0d0a390d71L,0x41a6131c77638870L,0x00000000000001daL } },
  94925. /* 23 << 322 */
  94926. { { 0xa3e39aae9386104aL,0xde389403c6bab3e7L,0x2aba3b6dc8ecba58L,
  94927. 0xaba666e342eda205L,0x247aa93c7ec04499L,0xeabe55e2811dc300L,
  94928. 0x955ad4c37f7c679bL,0xffa5d2930dd8edfcL,0x000000000000001cL },
  94929. { 0x6cd7828c8d795923L,0x93fdd33bcf549b25L,0x8a2a61d68e5ca30bL,
  94930. 0x5e0466db7302313aL,0x296faf9fba7c9c91L,0x4f8645cf5999f063L,
  94931. 0x589f67f837992492L,0x0bed28248081dc37L,0x0000000000000177L } },
  94932. /* 24 << 322 */
  94933. { { 0x2229e06cccd6d98dL,0xad78008c2bbc14eeL,0x361ffa4fda34a88cL,
  94934. 0x6023fcf46cf499fcL,0x72051f272a50f74fL,0x56cc61c8e9a59a2aL,
  94935. 0x2defb0a1bf0392cfL,0xa5ed8b89d29013a8L,0x000000000000008dL },
  94936. { 0x9d396c29d3d7339aL,0x0d21b9dfca0262d1L,0x164b69e0a000d10fL,
  94937. 0x2f7f7dfce1147d4bL,0x3cc2909978310e2dL,0xdca71fac36ae5a21L,
  94938. 0xe0c8579aa0f4cfd4L,0xc05c548904582119L,0x000000000000013fL } },
  94939. /* 25 << 322 */
  94940. { { 0xecc1d27d517fd248L,0x5e8aa5936053787bL,0x46fe1e027a0727d4L,
  94941. 0xe190ed905b0731cbL,0xaf9197611b2c2c55L,0x6d3b24cf61100b10L,
  94942. 0x354826b3638b7314L,0x2ab60c42a335005dL,0x00000000000001b3L },
  94943. { 0x60406971fb3548c7L,0xa39ee5b246ea496fL,0xbda9226bdea5de60L,
  94944. 0x125efd34ee468f88L,0xe04d9f1abe0b4fadL,0x123e18b7c72e7621L,
  94945. 0x0e4c5a0dc75a09c6L,0xb31d669e57d867c5L,0x0000000000000162L } },
  94946. /* 26 << 322 */
  94947. { { 0xf5747cbc85245da0L,0x120980ce618dcf96L,0xec629da41d48d206L,
  94948. 0x4419aa98d3952436L,0x01a4a6e1bb4544aaL,0xed247d13a94aa6dfL,
  94949. 0xbceaddb76a5924fbL,0x11fbff73e1cf234bL,0x000000000000017fL },
  94950. { 0x224a152e21813c71L,0x6e2a6f4a20f47b53L,0xbf1a147535e50638L,
  94951. 0xf1f713223308616bL,0x64d14f69d2f8fef1L,0x1e8b9fffa246cbfcL,
  94952. 0x62bf5aa4d3763484L,0x7c57e682b86702acL,0x00000000000001baL } },
  94953. /* 27 << 322 */
  94954. { { 0x3a70dcd25f13c332L,0x576f41afe4313910L,0xd0b6b3c552430b5bL,
  94955. 0x0d5e9e48e8996f32L,0x207b17fe77e70a78L,0xd0d76189584a4c91L,
  94956. 0xd35b7d9ee12153afL,0x1b5f87f40becd4e2L,0x00000000000001cdL },
  94957. { 0x4bc65a348ff1d0a7L,0x4eefffa356825c30L,0xa42098b2616e22dbL,
  94958. 0x46bc46e15e3e3225L,0x015f358ae05be037L,0xe02307bbd86e016aL,
  94959. 0x14bc3a329a393613L,0x5bdce022e6a07114L,0x00000000000000b5L } },
  94960. /* 28 << 322 */
  94961. { { 0x161b9770b7dc0f64L,0x42ad385a84f67076L,0x6a94116c710d4992L,
  94962. 0xddfa30033ec54457L,0xa17c61d12d520342L,0x7e673638f36c6f21L,
  94963. 0x7654e648eaa1a95aL,0xc4b4a3c40dd8029dL,0x00000000000001cdL },
  94964. { 0xd748525500c9033cL,0xcf0d9c3551acd2cdL,0x02022ded596a8678L,
  94965. 0x56fe8164d90b82ecL,0xe376a376863801c8L,0x559b0f3fad337694L,
  94966. 0x3c720b4f06e23e58L,0xe02dcd8191914c96L,0x000000000000003aL } },
  94967. /* 29 << 322 */
  94968. { { 0x7c7c5db9082cfac8L,0x3598e5560a7f3db9L,0x2601b07557884076L,
  94969. 0x6ff31de8b9759bd5L,0x8a065c1fe55fc009L,0x61b3433f212241c7L,
  94970. 0x20413706427bcc47L,0x11748db7fc48d7c5L,0x0000000000000004L },
  94971. { 0xe5cf15518d4fd88eL,0xd68399f20567016fL,0x8e255e59ce2a0316L,
  94972. 0x5214f9d91ac90dc8L,0x1e0c990eef6bc99eL,0xd604cc6438467d13L,
  94973. 0xc3e5306af38a48beL,0xadf8009b6d167ca7L,0x0000000000000044L } },
  94974. /* 30 << 322 */
  94975. { { 0x21487ed2e126ce5dL,0x49bc01bc5bd1e210L,0x1aa5f2c20fa11fabL,
  94976. 0xa2242af403fff4b4L,0x973eca3c209db9aeL,0xf2db2f1b3dd561d9L,
  94977. 0x784606951bcd0ed1L,0x5510ea75e062faa1L,0x00000000000001abL },
  94978. { 0x5e7d9dd5f2bebc17L,0xe4244808d597a75dL,0x0aa0f5a516b9fe86L,
  94979. 0x61d40d8a03e38a68L,0x934f4bef9e2e8268L,0x52a157da1ef90390L,
  94980. 0x7b1a6498cc5d0b9aL,0x95b9693300f06240L,0x0000000000000072L } },
  94981. /* 31 << 322 */
  94982. { { 0x7952dc96c4dcca38L,0x71e01c35fdd766a9L,0xd4ad5e22d4782655L,
  94983. 0xe4e886ca808c793eL,0x636e86b943abdc47L,0x00a2bee29483f877L,
  94984. 0x6a88f59186462a7cL,0xff8140be192bbe07L,0x00000000000001b3L },
  94985. { 0xd8e44cf01ff8cf63L,0x82b1238f14439990L,0x9f1800edc4edd1d0L,
  94986. 0xae0de82d7eb239ecL,0x9b60b1dfaf69441bL,0x4e521d71e632474dL,
  94987. 0x964fd7357e9a7351L,0xed7cf4349f2ad1cfL,0x000000000000001eL } },
  94988. /* 32 << 322 */
  94989. { { 0x699f72e9e084ea4aL,0xd1c4bc45dc721bcaL,0x7eb43d78995db3e6L,
  94990. 0x76e84fae02088e1aL,0x1b061123e048084dL,0x7caf0d3279abe6feL,
  94991. 0x9340583753b13e9dL,0xa05d1313cc58f64aL,0x000000000000013cL },
  94992. { 0x81d54e675fa5b0aeL,0xee551c40086b46c4L,0xe7b98e209b7daa1bL,
  94993. 0x8082803eb868c9d3L,0x036502f236731930L,0x075455aef9a93c2bL,
  94994. 0x080e704652a61944L,0x9f4bbcf0580494e0L,0x0000000000000154L } },
  94995. /* 33 << 322 */
  94996. { { 0x298a0e46721ade9eL,0x677e8b3ac7e30064L,0x0568fd0178016c49L,
  94997. 0x994f0036d3ec1adeL,0xeb07215b15c5599fL,0xa97133b3e01597c1L,
  94998. 0x6c991e6ed54986a6L,0x2fe04bae2e971e6aL,0x00000000000001dfL },
  94999. { 0x25c966cdf287199fL,0x7e9f51d01c337d60L,0x0c823f68216d1b44L,
  95000. 0xb381e0434d7ca148L,0xcb0cd817bcd421f3L,0x188b342f88fea786L,
  95001. 0x751d7c1bb2a40514L,0xb05475b4f0efd0dbL,0x0000000000000083L } },
  95002. /* 34 << 322 */
  95003. { { 0xf12858a030e60874L,0x885b746a49363fcbL,0x89677efa9e6267faL,
  95004. 0xda86b591948152a0L,0x13a52d2eefe62f36L,0x44a7c6cc22770a18L,
  95005. 0xb71c6a83c8b69076L,0x239a31f25ed31aaeL,0x00000000000001c6L },
  95006. { 0xa91974f8adbb6beeL,0x0cef8b3d5fef0a99L,0x47accfa21999c491L,
  95007. 0x8d9fd072192c2a13L,0x925393d4d87514a7L,0xad667ad4e6c482d0L,
  95008. 0x812fbf47a5668487L,0xf1c2e82276e7bd3dL,0x0000000000000019L } },
  95009. /* 35 << 322 */
  95010. { { 0xbf8363be4df133aaL,0x00d7ebe6830d997cL,0x2059980566b5fdb9L,
  95011. 0x2b682dec73cd9f64L,0xc4ab8c87e5db0383L,0xfa2dc9686d539483L,
  95012. 0xb0ede1675e8498eeL,0x5d8c23dfa6a71bb3L,0x0000000000000002L },
  95013. { 0xed62df962ddcfedbL,0x62dbb40ddecfde69L,0x3a847e28ea8d6afcL,
  95014. 0xb4c7f1db2fcf58a2L,0xd774982684eebdafL,0x0a5078bd6259f54bL,
  95015. 0xf9d2df2d9b7545e8L,0xa5b293c9ca1ea850L,0x0000000000000053L } },
  95016. /* 36 << 322 */
  95017. { { 0x0e4b463a886b2e59L,0xa7091bdde1730e93L,0x53693de2e485313cL,
  95018. 0x32137cec9d335d4bL,0x30983f46e7b8f7b6L,0xa8f5732c36785d2fL,
  95019. 0xfc96dd6d27f2db5aL,0x649054e25a562614L,0x0000000000000164L },
  95020. { 0xa4b1b99714766d09L,0x93af1a132001eceaL,0x436fdf6a69bb5799L,
  95021. 0xb0f3e655eae264adL,0x1ff369c761838a92L,0x3780d328a24da60cL,
  95022. 0xe126d99241cade42L,0x9cc0e1ea9ea7d1b4L,0x0000000000000056L } },
  95023. /* 37 << 322 */
  95024. { { 0xe3f5c92af2c9c91bL,0x9fe56b3fc64b60e7L,0xe651ab8b2d15166bL,
  95025. 0xf7421bb890e51defL,0x0adde7402cacdf7bL,0xdaaa12e1cb9e11e5L,
  95026. 0x42dde46b5211a0ccL,0x621aea01f0da0299L,0x000000000000004cL },
  95027. { 0xb1c259a1a55cbce3L,0x10fd90719f2f0057L,0x8242faffc92645adL,
  95028. 0xabdf00a3cbc7aa9bL,0x0b2deaa426b1272bL,0xc9edb172bc53e47fL,
  95029. 0x7e3c26de93e77e99L,0xcadf52633d8eb2e5L,0x00000000000000ddL } },
  95030. /* 38 << 322 */
  95031. { { 0x89f03416a0f14094L,0xd56358745bf6b5a6L,0x07140f5ab2d9fec2L,
  95032. 0x3a6be1f713d6753aL,0x29f0b6713669ba9eL,0xd3e499809c9edd9aL,
  95033. 0xa1222f0a876e1af0L,0x7e4b2d8e3a539f63L,0x0000000000000197L },
  95034. { 0xb9fb59ba3657e3ffL,0xb0bdaaca95a402e9L,0xd6f9607d9fc5fcb5L,
  95035. 0x08277d4ec95e8496L,0x9d6231d624a10303L,0xc45279e62ff82594L,
  95036. 0x925b8d7bff7c6659L,0x2ce594e8599f6b14L,0x000000000000009aL } },
  95037. /* 39 << 322 */
  95038. { { 0x0d0927adec179a82L,0x9bb9d81707986ba2L,0x4dde10ba9a1e77a6L,
  95039. 0x52ceeab0fa680f62L,0x7415c752e0dc60e9L,0x45bbf4dea0c28835L,
  95040. 0x926ccc195a41d082L,0xc18e0bf9fcaf9128L,0x00000000000001e0L },
  95041. { 0x212b073ade970121L,0x2f3acba643d17f79L,0xc4f7513cb540cfcfL,
  95042. 0x5d4ecfec9dba50a6L,0xb6ac72945403b601L,0x445f1431a3e52e7bL,
  95043. 0xa4471581a24dd4c9L,0xbcac26f166e43679L,0x000000000000009eL } },
  95044. /* 40 << 322 */
  95045. { { 0xb3e7eabf951c2d0eL,0xbf9959209512c00cL,0x0f1d97a8dbf1f0f9L,
  95046. 0x6a52615c430981d0L,0xfb0f0d2097073d82L,0xd843bc6cc0430de7L,
  95047. 0x1bd02e5440061f87L,0xca4930b25dd88dc1L,0x0000000000000056L },
  95048. { 0x92c1350259a249afL,0x1597c507b2ca76b5L,0x298751f3039592d2L,
  95049. 0xc50bb3a4e8a71d91L,0x4d3a058405f1e850L,0xd16f70a3764af248L,
  95050. 0x5d508a243f2215ceL,0x2cbcdaed889ab117L,0x0000000000000193L } },
  95051. /* 41 << 322 */
  95052. { { 0x33651b0fa901023bL,0xb284799cf74f9e94L,0xca2adf58ab42f967L,
  95053. 0x5682cd2f8f916cd1L,0x1fa28c120716ddd4L,0xc7fbd070fcce3af4L,
  95054. 0xe2584ea683c7d494L,0x292cf09563e96f86L,0x00000000000000d3L },
  95055. { 0x978eab0d561ae9f0L,0x505bd69d87b3fa7dL,0x6da8f644e5f1eb0dL,
  95056. 0x23835289de97f4beL,0xcd57f90042407f6eL,0xebbf612c3210ffbaL,
  95057. 0x7b4bacd8094d959eL,0x8bff4d6940769457L,0x000000000000003aL } },
  95058. /* 42 << 322 */
  95059. { { 0x0afc9e7020994117L,0x0e57032cd363dcc3L,0x7524eb6c993e395fL,
  95060. 0x8ef74be384122007L,0x7d33ed5003a27726L,0x27513a4eb65c88c8L,
  95061. 0x6af64d0b7d9f370aL,0x4cb05a9b45c17a8bL,0x00000000000001ecL },
  95062. { 0xfd7afd321f4198b9L,0x385d1c7039b3b13cL,0xab60c146d2b332b1L,
  95063. 0x50b827d7dc655444L,0xa2c7a8ddd25c4e3cL,0x0a27f3eab718ce9fL,
  95064. 0x14ff04ece2dbeea8L,0x63f281fe2fef5044L,0x0000000000000074L } },
  95065. /* 43 << 322 */
  95066. { { 0x49fbd643eab88f85L,0x564f4ba7e8c9011dL,0x1d818e0bc7b1478cL,
  95067. 0x1803f387883b4833L,0xedba2a623bc03335L,0x634a781db6fc5a17L,
  95068. 0xe8196ce6811f8210L,0x76af8a379732049aL,0x00000000000000fdL },
  95069. { 0x8c283abdc06054cdL,0x34308c7a8998068fL,0xde75159933710724L,
  95070. 0x992f8183afd84b44L,0x893f046a3e7c8ce0L,0x0a967e5f70f40608L,
  95071. 0x95c11e854bc01128L,0xa5e3708141fc13dfL,0x000000000000000eL } },
  95072. /* 44 << 322 */
  95073. { { 0x8ed9e22a9439311eL,0xd3f46e41314b0141L,0xbdb1570568382359L,
  95074. 0x149adebfb65d3aabL,0x4f73e3254fb4c8c2L,0xef7883ccecdfb62cL,
  95075. 0x7a0ecaa2123003b4L,0x8da68ece15a2a7fbL,0x00000000000000ceL },
  95076. { 0xaac484e542250748L,0x5e1020b2e43c22e1L,0x755475a75f3c8e7bL,
  95077. 0xbc1fd16e533061b7L,0xd10d8530011d193cL,0xb8d9c97e4ae8efddL,
  95078. 0xf19de2648f813fc8L,0x3a0b5f66415daf6dL,0x000000000000009eL } },
  95079. /* 45 << 322 */
  95080. { { 0x9969b5fd3135fadeL,0x9bc95aa606e484cfL,0x355ddb588b0fc080L,
  95081. 0x1093422b3bf11d43L,0x5d5237f95bc21dfdL,0x25c184a661758002L,
  95082. 0x1625b15c318e6360L,0x32d2ae19b508e1ebL,0x000000000000012cL },
  95083. { 0x722ed1b76e253643L,0xe9242c221809165eL,0x5c962af74b9630a7L,
  95084. 0x36d676d51fe4f40aL,0x9c6232022f1b1556L,0x209b0bc4daf3120bL,
  95085. 0x72726a0105689599L,0xc16d60ab500ef70cL,0x000000000000004fL } },
  95086. /* 46 << 322 */
  95087. { { 0x9808593467fbef8fL,0x22bc62a9f82be097L,0x98cded2d74bb7957L,
  95088. 0xf315e03a49c8bd33L,0xf9e872d565490065L,0xa5a6bd39857ea243L,
  95089. 0xded7128e8cfe8539L,0xd763a75b8905dea9L,0x00000000000001c8L },
  95090. { 0xc9861044843cde89L,0xe3761912078c8f57L,0xefa422f7582d9659L,
  95091. 0xb50a0a959632fa91L,0xf955855a469df6c0L,0x0ea369f34669bc3dL,
  95092. 0x368ab00685599310L,0x2ad00a5eb7a8b481L,0x00000000000001deL } },
  95093. /* 47 << 322 */
  95094. { { 0x4c84c9f9ea65b932L,0x0b54ecf8bec4ea40L,0xd5de970a9e70ecd9L,
  95095. 0xc940c1ed40455e5cL,0xc8bc7dca3838fdf7L,0x63c4efb6ef33dfd4L,
  95096. 0x82b51dd6c47f4e20L,0x5cb41a27ff99b86eL,0x0000000000000123L },
  95097. { 0xe7b1d8113117d1faL,0x517166515e4a173dL,0xc6d75c1834fbc8acL,
  95098. 0x4646316c524b402aL,0x361c0a1b7b71c7b7L,0x777727080796b95bL,
  95099. 0xe6e931370451eccfL,0xb43aa00d237aacf2L,0x0000000000000108L } },
  95100. /* 48 << 322 */
  95101. { { 0x77b4759ecdc28bedL,0x2c9485511067b654L,0x97a30e9c1be3d888L,
  95102. 0x1b8ee1134d8a74eaL,0xec2a632c3b1697ffL,0x60ac030fa8d72746L,
  95103. 0xee82efee20b60c63L,0x6c7904a018c6ac9dL,0x00000000000000a0L },
  95104. { 0xefabd68d11a97778L,0x0c8e7905d29960d2L,0xc58e496f0b58310eL,
  95105. 0x8bbcb95ce092e4e6L,0xcfefaa5cd7b6d076L,0xddb0d933600c7c58L,
  95106. 0x7ec76492d34b8f40L,0x6ad971caad23f589L,0x000000000000004cL } },
  95107. /* 49 << 322 */
  95108. { { 0x9c3eaccf73c220baL,0xecd040d222e53490L,0xe4e958c14dcc1e96L,
  95109. 0xdba4a808b1af5f74L,0x3106a290a95fbb79L,0xffb704293792882cL,
  95110. 0x7e595219f8432c48L,0xdde6ce6c8e43e77bL,0x0000000000000125L },
  95111. { 0x5c5bed0062b3c950L,0x4287ec7870ec2a41L,0x31f56d23604c34a9L,
  95112. 0x39550dc938e5e90cL,0xce05656c3502e7a3L,0xf65501831c683d8bL,
  95113. 0xcb128c0981e26495L,0x4f4f4402cc33b9e6L,0x0000000000000053L } },
  95114. /* 50 << 322 */
  95115. { { 0xe5a77166be5da74fL,0x32f62c8e2fa814e0L,0x70ae9f87b6c207d6L,
  95116. 0xd803c9a7fce84376L,0xa7e7e9ec53846c94L,0xeb357fcc3fa01a22L,
  95117. 0x2fcdd432d264e780L,0x4ce115c9c352af13L,0x00000000000001faL },
  95118. { 0x9543539d8912fd69L,0xe1eb19b8d14ed2c2L,0xc47ab4f0beea02a9L,
  95119. 0xa097de0020a38f8cL,0x182cb223511265f0L,0xcdaae98f01614e32L,
  95120. 0x9968eee31ece63d3L,0x6219a46db34a7e22L,0x0000000000000080L } },
  95121. /* 51 << 322 */
  95122. { { 0x9e12cfec9c3a4c3bL,0x779628a45f53855bL,0x7ac6e3494ee550f6L,
  95123. 0xc167283c7a4b2192L,0x58c2fa2063e39e4dL,0xbab2d6ae0b743e23L,
  95124. 0xa34a920cca6e9cb0L,0x7818f9f4ececa894L,0x0000000000000010L },
  95125. { 0x3416933959b9f008L,0x0a9c68d604ef634eL,0x18a98bb9e6a78900L,
  95126. 0x124443d61e0fa784L,0x56668b018fc2d6cdL,0xb5ddc6d2faa5ef32L,
  95127. 0xeb89133aec245cffL,0x5b3dd85dc2929841L,0x0000000000000197L } },
  95128. /* 52 << 322 */
  95129. { { 0x42c6902d17001ab9L,0x6bcd13b0e3c3bef7L,0xe61d8161a3b5a78cL,
  95130. 0xa201774e05b85e95L,0x9c0940abd7e54543L,0xd8c739a71066397fL,
  95131. 0x2a086159a49687e8L,0x6e5a1b2592222916L,0x00000000000001d9L },
  95132. { 0xc2fe70be069126eeL,0xd337ff0cda37306aL,0xd91e07f157f8eb8cL,
  95133. 0x83eef5e6c3e8974fL,0xa0584968665f08cfL,0x377cdce9b5297c10L,
  95134. 0x581d1c013d1f2799L,0xa1b669d8bc2e1714L,0x0000000000000096L } },
  95135. /* 53 << 322 */
  95136. { { 0x087569b150902c90L,0xf91f6a3c073c744dL,0x7811c91daa8b077cL,
  95137. 0xa5ec0a6d68dadbd6L,0xb885e064f45ab631L,0x24b696dc452bd6b1L,
  95138. 0xa528be732e9ef035L,0xc5683c7afffda366L,0x0000000000000196L },
  95139. { 0x944aef1b14b55baeL,0xf9b890250d064e11L,0x47c699ca4c807c41L,
  95140. 0x37312d6d205c11d7L,0x5d1546c69319437fL,0xdb86c05376c56164L,
  95141. 0xc554d7719937d348L,0xfd1f3aac9cff2d06L,0x0000000000000140L } },
  95142. /* 54 << 322 */
  95143. { { 0x4e5f70bd593eeec7L,0xa08a3a07c68adf61L,0xa939150808b6d600L,
  95144. 0x0b36d861cb6b65f8L,0xa5b6fccf274f5cabL,0xd821c75ed6a29c3fL,
  95145. 0x61f56a9e5d06fe0cL,0x818aaa46240372a9L,0x000000000000010bL },
  95146. { 0x97e136c0c49978b0L,0x9ae5030e27f22acaL,0x9a2ab3a3ebb6f0a4L,
  95147. 0x4eccb9a421c62aa3L,0xb3c264e17e298f4aL,0x5681ce55f5126a1dL,
  95148. 0x2e55fbbb2dc003dfL,0x96eea8b06c8cdffeL,0x00000000000001bfL } },
  95149. /* 55 << 322 */
  95150. { { 0x225b4c7ca087d667L,0x1c7212bf5e019ad6L,0xb4d883fa55533217L,
  95151. 0x060a1cb3a9382203L,0x0cdd75b0c64dfca2L,0xbca3849f8129ca54L,
  95152. 0xea0f1541fdc4ba6cL,0x76420c089f8d1f5fL,0x00000000000000e6L },
  95153. { 0xa53a534f6ce1b6a2L,0x2489f4cd43caa085L,0xce3afd72f0ea6160L,
  95154. 0xaf9e1e469665daedL,0x947a8d04312ec1beL,0xd802b36ed89e92feL,
  95155. 0x41a7f3301ed24021L,0x6b8789018bfa23a0L,0x00000000000000d5L } },
  95156. /* 56 << 322 */
  95157. { { 0xb42ef882816f7665L,0xb3afb61fb9084579L,0x3127e9a54745395aL,
  95158. 0x1fa6611f0126d538L,0x798fa552070097ccL,0x6f41901c704f16d6L,
  95159. 0xf528b063bd6749f9L,0x3ca460784b9fff68L,0x00000000000001dcL },
  95160. { 0x0096eb977d54eb8eL,0x9de669afe24facdeL,0x1582b22ac6df403aL,
  95161. 0x8f4fbd44a91242ebL,0x1696fcc0e0ad2760L,0x334c9d4ad2d90e25L,
  95162. 0xe57995440d5893e9L,0x5074b63ed1077be4L,0x0000000000000029L } },
  95163. /* 57 << 322 */
  95164. { { 0xc11c1de6640b3b9aL,0x3075eec8641ac7c4L,0xa2484dec7b144ab5L,
  95165. 0x4ac49f44e53e597fL,0xaabefa613e6c80d7L,0x2d964c50b363a587L,
  95166. 0xcb58a0f06d2d92f3L,0x2015b478e899fe65L,0x000000000000005dL },
  95167. { 0x7c51a1a88df037fbL,0x86b9973bd5582434L,0x946f58e266867f0cL,
  95168. 0xbe9451d97ed59b38L,0xfecd089d4c5df184L,0x3f14866afe5f8eeeL,
  95169. 0xae2f927fc486af2aL,0x684917776c511735L,0x000000000000004fL } },
  95170. /* 58 << 322 */
  95171. { { 0xd8bfc4c4210815c5L,0x13012a4f8aeec2dfL,0x2fa0e6847ae5255eL,
  95172. 0x1088cf4336a2fa9bL,0x94cd1efe36ab082dL,0x128c234009a7804bL,
  95173. 0x159360ff1bb24487L,0x0a458b52ae3eab0aL,0x000000000000001cL },
  95174. { 0xc4775d3d9576ecc4L,0x13a0078c5c9c25a5L,0x92ef8e4e4062c8e8L,
  95175. 0xf196769660375b3eL,0xd072937ba24b431cL,0xe5e3bf64d0420605L,
  95176. 0x68712d5bb23660a3L,0xe89fff9ae6358c41L,0x000000000000016eL } },
  95177. /* 59 << 322 */
  95178. { { 0xff0da5c42a22890cL,0xc044cdfc46bff2d8L,0x2fca586d876f2f60L,
  95179. 0xf06e8c8c14dd39adL,0x042dff7320789797L,0xed6a327aeb5cf944L,
  95180. 0x844d7c94375fa477L,0x710ee88704b7b91cL,0x00000000000001f4L },
  95181. { 0xb8c9507ae8e1a9f5L,0xc273343f9575c160L,0xe3da5ae5991fee34L,
  95182. 0x712ed5679ba2b295L,0x9301bef49b3f465fL,0x8ed51c6c25950377L,
  95183. 0x5f46a90cad56c370L,0xb7694541fed996efL,0x0000000000000014L } },
  95184. /* 60 << 322 */
  95185. { { 0x5f4ba23b78e658c5L,0xa9463d66dd8f6428L,0x2b6792e9fb241842L,
  95186. 0x10dfa360934aa1f1L,0x7769322ab7bf8a36L,0x223c1474f127aa05L,
  95187. 0xebee2760d048d6c5L,0xf495b445e7b13526L,0x0000000000000032L },
  95188. { 0x7baa637e8bb79c71L,0x349709051681a7b2L,0x12359173edd0293aL,
  95189. 0xbd9deb854e888c4cL,0x43f03f70563c6c2bL,0x42d131b2f20fe520L,
  95190. 0xb080e82cdcf32d61L,0x7aca6b8c0817ea86L,0x00000000000001f4L } },
  95191. /* 61 << 322 */
  95192. { { 0x430d75a3c507c83dL,0x4406dddeeebe1adbL,0xdfe966eb94d0023eL,
  95193. 0x7a403a862a422704L,0xc7f74e48d3fbbc05L,0x47ef018fe07bdeb7L,
  95194. 0xb69187f8e5ee7ca7L,0x9340009d4fda175eL,0x000000000000001bL },
  95195. { 0x6eb88ceabc7b237bL,0x862c7ae95249e73eL,0xb517b7e79cf910d6L,
  95196. 0x2b780471297fe7b4L,0x99738346acbbc73bL,0xc0a18e55e317c474L,
  95197. 0x3fdba5cfe254a076L,0x02f6984cd7a4c08eL,0x0000000000000174L } },
  95198. /* 62 << 322 */
  95199. { { 0x70310eb86def0125L,0xdc681d69eddbda48L,0xcb29aa5c303d3057L,
  95200. 0x93a7cbfff83bc576L,0xff9e461be48ded6cL,0xf0ba47061d15d104L,
  95201. 0x2700a174bb028212L,0x85b2f2b815ed0881L,0x00000000000001a3L },
  95202. { 0xf48c263c758e2de5L,0x5fc91b78a810b626L,0xcc57c5471ef04f52L,
  95203. 0xa3bc05d6db2ff614L,0x5918d61139c567b3L,0x8af3817bbf54d907L,
  95204. 0x0f65e1a44cd3470bL,0x26d7c80b9d7f6cebL,0x0000000000000122L } },
  95205. /* 63 << 322 */
  95206. { { 0x6854aa7ee687f6e1L,0x74212a251b7b35eeL,0xadef57c11b3f79a5L,
  95207. 0x1a748b8e45511b30L,0x5725c9e78c892a6aL,0x94cc52b54d12a323L,
  95208. 0x633cda13a8b2824bL,0xdd069d05b24a8579L,0x00000000000000c6L },
  95209. { 0x563f4058af114a39L,0x820ab6c934462a35L,0x4340b6d903cc02e3L,
  95210. 0xe8104176d06f02c1L,0x0b6583783c825b98L,0x07d0c3f46311ea4dL,
  95211. 0x34b6a707673e0f0fL,0xcc3e2922dea3d23fL,0x0000000000000086L } },
  95212. /* 64 << 322 */
  95213. { { 0x4d1ba365c000e4f4L,0xcf34a1a87b2caa8fL,0x0e4a58d5783e3c39L,
  95214. 0x1ad4b5ce2c1fcbd9L,0x6b30bfb9e8b9556cL,0x304ad2366301b3a4L,
  95215. 0xdacf31b8c8d571f1L,0x25b7a0fdec93e088L,0x000000000000012eL },
  95216. { 0x2863bcbf3b6cc6ddL,0x70760671e9430f99L,0x46cce87b7586cddeL,
  95217. 0xc1f58398161a045fL,0xa84ca0cf291636aeL,0x11242d2726892bd1L,
  95218. 0xb1d85da78c971e9fL,0xc66e0e1d61aa5039L,0x00000000000001b1L } },
  95219. /* 0 << 329 */
  95220. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  95221. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  95222. /* 1 << 329 */
  95223. { { 0xbd52d5127c1a3915L,0x88b64d2e59d9dc08L,0x142d5364a1da166eL,
  95224. 0x138ed011c8ef7e38L,0x90e189904d6d06eaL,0xb0081001147f3f6eL,
  95225. 0xa8e9f89711a1ee9aL,0xe7607f70e28c7a31L,0x0000000000000011L },
  95226. { 0xa73dc4e4db957a5fL,0xb3c023c02fa7966dL,0x590ca0877aefc5b1L,
  95227. 0x63427f912ca0d266L,0x7bc0f1ef4eeb8864L,0xef9125d279239e3cL,
  95228. 0x12e924a1a90c09c1L,0x0fec85e3b3663a4eL,0x0000000000000085L } },
  95229. /* 2 << 329 */
  95230. { { 0x6c6119f6a1c88f3cL,0x924e5fec2ec6944aL,0x4c8aac605742ff2aL,
  95231. 0x60adde1eddb22c7cL,0x9728938cfa5d25bbL,0xfa5ac4f7ec117de0L,
  95232. 0x41f35ab7482929c1L,0xd1c4e8f90afd95f5L,0x0000000000000180L },
  95233. { 0x2fc4e73da7cd8358L,0x39361a57f2a1c920L,0xf6f2f130ad94d288L,
  95234. 0xe37e24662b6a78e2L,0x0babff8b79c262cdL,0x6cae01ef61b597b9L,
  95235. 0x9c1e33f0a60d4e64L,0x52a42280dd01f845L,0x000000000000000eL } },
  95236. /* 3 << 329 */
  95237. { { 0x9f19b3e18c730727L,0xa2231248d5e33b72L,0x0505b3dd5bde07e8L,
  95238. 0xaa30e5ace8a2fc4fL,0xb2d24a392f964eabL,0x2d9d22a460ca41f1L,
  95239. 0xc7183625e0e8dd2dL,0x87f3ab032653d84cL,0x00000000000000d8L },
  95240. { 0x52e505e3c7fb02d2L,0xed5fcc2c7154e8b7L,0xc0df346f8e8397adL,
  95241. 0x1c9abde6f542ce97L,0x158cd908e2a2205eL,0xfbf550dfe60b9a18L,
  95242. 0x66a4aa43bd817d90L,0xeca35b6cc60dc534L,0x00000000000001beL } },
  95243. /* 4 << 329 */
  95244. { { 0x09bc56744c81da95L,0x9756c443f23b526dL,0xac041332abbece84L,
  95245. 0xd933aaa327696aa1L,0xfe78e91d3e4e9032L,0xe491ec63cd67fcfcL,
  95246. 0xb73746e7e8fe9c4aL,0xd2ca6f6a199f1eadL,0x0000000000000191L },
  95247. { 0x86a7466aad125891L,0x4817dd6e42499ff4L,0xf5478e3b7c6a0addL,
  95248. 0xb92d8e5d2a394366L,0x5c5238e3bcdf955bL,0xfa855ff10489d6b1L,
  95249. 0xbb15d2fd134f7f2dL,0xd5faf13744bd6838L,0x00000000000000f0L } },
  95250. /* 5 << 329 */
  95251. { { 0x0fc11e4c84b0f4eaL,0x435c27d47d244a14L,0x3996925dc6eb93caL,
  95252. 0x0b699c9f09f7e1e4L,0x92d5807e1eb96a28L,0x772a095b9c14e99aL,
  95253. 0xda362fd51bc8f956L,0x157e3c0b9d4800b7L,0x00000000000000a8L },
  95254. { 0x5efb3b8f90d9ec28L,0x8cc8c25ffa2e2948L,0x1ee212252668d00fL,
  95255. 0x37102fb19651d783L,0x341ab0e5a50af73bL,0x868464e967e0b7b5L,
  95256. 0xe264f59d5ba120e4L,0x661650aae80385c3L,0x0000000000000158L } },
  95257. /* 6 << 329 */
  95258. { { 0xfab2f74c3ef1eeb1L,0x71af5a9992007e36L,0x384d6a18a0273729L,
  95259. 0x03df77a9ab5eaf13L,0xbe0136fa0e0bdcb0L,0x5f4be468bebaa588L,
  95260. 0x2ebfcfb42840138aL,0xf8e098f02594311aL,0x0000000000000053L },
  95261. { 0x84055186c73f0476L,0x92dcdd0e729b0b1dL,0x7c523b4806be9764L,
  95262. 0x95357b956a57baf6L,0x4b556882860ce9b4L,0xdc08b8f831882647L,
  95263. 0x11c9b3c738c3deafL,0x50b6fea8e68f20c0L,0x0000000000000164L } },
  95264. /* 7 << 329 */
  95265. { { 0x76b2671fa4c28ca5L,0x91a0d41bd0f62e23L,0x3db3924db448f296L,
  95266. 0x0925dc3fa60a9738L,0xa37774b00371c080L,0xfd182ac7b5167fe8L,
  95267. 0xce4795b714eb4895L,0x7c993d229887590dL,0x00000000000000b6L },
  95268. { 0x6090f452a0feb93aL,0x032de9c217e4f78fL,0x29ffff34a237d15cL,
  95269. 0x81205285efad6015L,0xcf90cf14ab143ecfL,0x56d1caab0dbd215bL,
  95270. 0x2648af04284b4611L,0x6df91b71bc20a51cL,0x000000000000013aL } },
  95271. /* 8 << 329 */
  95272. { { 0xbf0b5ea3d34b138fL,0xc49513813ac7cad4L,0x82ca5536cab6a319L,
  95273. 0xff56913688bb4ea8L,0xcee2512a4761d3e9L,0x4695e52155ef9647L,
  95274. 0xbb83316b9378f132L,0x1d447f048d43bb4cL,0x000000000000002bL },
  95275. { 0x777ab201ce5889f5L,0x635d968f4c6f0545L,0xbb48a0cf872777eaL,
  95276. 0x33f4de62c616138fL,0x93e74192bc8d65ceL,0x532ca9bd5ebae1f0L,
  95277. 0xd783e104fbaba8d0L,0xb32af569bdf2d850L,0x00000000000001baL } },
  95278. /* 9 << 329 */
  95279. { { 0xa0bb7fffad4e0ec6L,0x6621d487b0fd2273L,0x7dac286992bb025eL,
  95280. 0x2daea181e142e35dL,0x6d2ad2a7b5585b04L,0x7c156b91c67b8de3L,
  95281. 0x018e5ad7f9a8259aL,0xa2fbf18af52813cfL,0x0000000000000176L },
  95282. { 0xf5f511266c344a4bL,0xc8ca1d94c7d3e7f0L,0xdb27ea15da64dad1L,
  95283. 0x248a9d6eb2dd60c7L,0xc27b6461b6e10f17L,0xf64f36ecd01fa2bcL,
  95284. 0xd395dad1052a4c0eL,0x2ed72e101ac0c910L,0x00000000000001b8L } },
  95285. /* 10 << 329 */
  95286. { { 0x218712c5d244dd3dL,0xed19fc5f3849ea68L,0xe4bef41212cdd2e3L,
  95287. 0x4189ad768e675f49L,0x818140c606411e8bL,0xb13cdb88bd3e301bL,
  95288. 0x8696b6b929e10534L,0xf325c324cdba3b73L,0x00000000000000b9L },
  95289. { 0xd41cdb59966ebb3fL,0xb82e5cba766a762bL,0x4cb02db9628fab85L,
  95290. 0x1092daf6bd4d732cL,0xf307aad8333ec4e3L,0x956be117c56ddc0cL,
  95291. 0x2e03ef708674b500L,0x9a540a11d836fff7L,0x000000000000010cL } },
  95292. /* 11 << 329 */
  95293. { { 0x5fe1030137825aa3L,0xa74e7065f13007ceL,0x7d3ebd9df6e9c94eL,
  95294. 0xcba3ac5535e6d681L,0x602758b91c29d435L,0x6199e8ffebf0335eL,
  95295. 0x338348e5e2747f04L,0xf3585a73bf365565L,0x00000000000000c3L },
  95296. { 0xb3c68f52e99b1b1fL,0x4f91a78bc8085753L,0xc7e549a78c010053L,
  95297. 0x17912acc9790e0b7L,0xabbeaab400cedc5dL,0xe885041467136ca1L,
  95298. 0x166b73459b51dc45L,0xc12d21e36d037065L,0x0000000000000102L } },
  95299. /* 12 << 329 */
  95300. { { 0x88367eebb1714fe6L,0x7e62026793ba98daL,0xc32ba6878352de93L,
  95301. 0xf542af8c979410b0L,0x929bae6b0e5b7cf2L,0x1201a42abe4afff0L,
  95302. 0x8dd7508567016e6eL,0x6cba441bc820de5dL,0x000000000000011bL },
  95303. { 0xeda68f37476e21aaL,0x16fcf4f2e71dfdbeL,0xc43966b272a6702dL,
  95304. 0x2732f8f0d6af1eb7L,0x2bbd7368572832d9L,0x83807036b54abbb5L,
  95305. 0x1f34a2c505aa9032L,0x0840702abc5297b9L,0x0000000000000130L } },
  95306. /* 13 << 329 */
  95307. { { 0x9989f80307ef564fL,0xb8b2ad57d8354633L,0x6f40c68a0ec997bbL,
  95308. 0x1c7963bcff213ab9L,0xa9548ec25a844439L,0xe55816bc980a798bL,
  95309. 0x724de727d2674309L,0x5a50a29195e2a8a4L,0x0000000000000119L },
  95310. { 0xf46573aa104d6a06L,0xff5f3f99d9d12718L,0x9d527c1889d06ed8L,
  95311. 0xdfeb3fef6ba0946bL,0xa156e73dd8fcc522L,0xcf5fb969177f3823L,
  95312. 0x98210af8c27cc78fL,0x452ce06048c56dd6L,0x0000000000000116L } },
  95313. /* 14 << 329 */
  95314. { { 0xce7489926632ad8aL,0x334efd2bdee28c6eL,0x5486cc6ba645df0dL,
  95315. 0x5f02c1614bf66fcbL,0xcf2ca9b5e228e838L,0xeb7b3e95c58148d8L,
  95316. 0x25f22a19a344184bL,0x8f522dbb73976e50L,0x000000000000013eL },
  95317. { 0xd758bbbbe87ee0d7L,0x6d7c077ae946a6cdL,0xd9732f17c80954b0L,
  95318. 0xae1d674e56d292c0L,0xa1fba7cdebea75caL,0x533d65b08398242aL,
  95319. 0x22fc479e22740f06L,0x5c13ab6063ca9aecL,0x000000000000008dL } },
  95320. /* 15 << 329 */
  95321. { { 0x9941d21ab49db659L,0x5284918d18fab9deL,0xa325293ef612f99cL,
  95322. 0x2062c4dd8ebff205L,0x7b4b97775321cff8L,0x10d0c4726905b8d1L,
  95323. 0x1645eefea2c71febL,0x7fad527a27ec5eb4L,0x00000000000000d7L },
  95324. { 0x36795144f93f74a9L,0xca5177b36115fcf9L,0xc49b404e5df5ccc6L,
  95325. 0x940ca8bc2bda601cL,0x60d8607073ae2f2eL,0x410c1e9c3f1321a1L,
  95326. 0x3181ce2c713e1037L,0x1d252106ec2ba1cfL,0x00000000000001a3L } },
  95327. /* 16 << 329 */
  95328. { { 0xd552c9d248351408L,0xa6d83a480ef56558L,0xad5e955a313b47c2L,
  95329. 0xdf3caff7f6dc03beL,0x3d62ff1951cc488dL,0xdb49f397966a34f9L,
  95330. 0xe10e72130bf6a9e7L,0x560e329abc5852d2L,0x000000000000004bL },
  95331. { 0xfdad029af3017c8cL,0x6ca51acbb78d4d1aL,0xf984fa8679d7d7d3L,
  95332. 0x75d9044b911a4d3bL,0xc5b20c87ef955e4eL,0x413d6838f064fd0cL,
  95333. 0x37a5ec08ec7fb5c9L,0x634cb97f74561d5bL,0x000000000000015bL } },
  95334. /* 17 << 329 */
  95335. { { 0xad1efc90854c308aL,0xff83fb8276d035cdL,0xd1959a8384fefc47L,
  95336. 0x62c1d0574906d383L,0x8634b4ac4f968d2bL,0x03ff550c1a5571d2L,
  95337. 0x76f35ffb3a99965eL,0xafa6323331f48bcaL,0x0000000000000100L },
  95338. { 0xb5c0272bad54971fL,0x4cb20e716cd136bdL,0x6245003b6f9aae9dL,
  95339. 0x0be08260dd76ce6dL,0xe45b5015d2a01ad8L,0xa079ad1be686ab99L,
  95340. 0x6ab15c9d69f8ac52L,0xa52bdbd741f5309eL,0x0000000000000161L } },
  95341. /* 18 << 329 */
  95342. { { 0x0b617b8a00484cadL,0xd966cd8eedfb5312L,0x78daeed22e0556bfL,
  95343. 0x3770c07d5f740718L,0x0ca5bf4b4716ccf7L,0x0ed0493a9b99f851L,
  95344. 0x9fd997f26f7a9b17L,0xa0bd37177c8b6fdbL,0x00000000000000f4L },
  95345. { 0x708283ffb63b3e84L,0x41f2f8872ab27c88L,0x2af970973e877cd1L,
  95346. 0x9ded7532521ef940L,0x939a47de0eeff999L,0x630c45887ae38086L,
  95347. 0x34268747773f602eL,0x9a91920734993ab5L,0x000000000000008fL } },
  95348. /* 19 << 329 */
  95349. { { 0x707b18b6c3928c9eL,0x465e5a820aa48af4L,0x2c18c4e7e68a74beL,
  95350. 0x9b9037c2ac6930e1L,0xa1560f34b3416163L,0x511406a69285d6dfL,
  95351. 0xf68235cb6e106799L,0xbd3d844a088a6ad6L,0x00000000000001e5L },
  95352. { 0xc4f78bfd85e2f692L,0xc83f003671075cbbL,0x8a75bafa208b6885L,
  95353. 0x8b4097d0654cf76eL,0xf567fd4ff884572aL,0xf5dfb3b1ada26881L,
  95354. 0x4f423f8bd71ea04eL,0xb148a467cfdbf809L,0x0000000000000147L } },
  95355. /* 20 << 329 */
  95356. { { 0x98d7ec4574b83fb2L,0xda049f4667938ccbL,0x6abf18a43e04316eL,
  95357. 0x200bc564efa482a2L,0x5858ac6c029cfe0cL,0x2d81cea5a5bdc064L,
  95358. 0xe7ab7be81636eb12L,0x6e7bd59fd1ea4c1cL,0x00000000000000b7L },
  95359. { 0xaee1246920b44e57L,0xeb14e358836b5462L,0x9b4f621d2b22fdecL,
  95360. 0xa6b8be6be8b1a5d9L,0xc43a3ec35e3da0a5L,0xd89e2333d43f2c85L,
  95361. 0xe534c8393fe85436L,0xc8f70bb54d6862b4L,0x0000000000000106L } },
  95362. /* 21 << 329 */
  95363. { { 0xe3f343d136aab671L,0x872612411057e237L,0xc649dacfd4686627L,
  95364. 0xac5c2e85d6976ca9L,0xa778bdd13322b77bL,0xab619e1c856b0eb6L,
  95365. 0x0b5fe3ad8a9941ebL,0x2f9b420a9c019561L,0x000000000000014bL },
  95366. { 0x185fefbbeb33f10cL,0x1cf9640cc41725d5L,0x55b9968c85d74435L,
  95367. 0xede863e0504b63a5L,0xf59711270e07a7e9L,0x50d97b0da57bae09L,
  95368. 0x6dbd2b8ab0f76892L,0xf52601b7f929729aL,0x0000000000000179L } },
  95369. /* 22 << 329 */
  95370. { { 0x9f97c2576700b350L,0xd002835d78f746faL,0xcf3ecd578da75e7bL,
  95371. 0x8768abd95e23f219L,0x3f9e66466cf8ff2eL,0x3064948b1f360d9fL,
  95372. 0x92bfce3bb129b55eL,0x4de97c12253a1789L,0x0000000000000180L },
  95373. { 0xa94b1dff29e5efcbL,0xb9c77f91f225c1b6L,0xeaf061bff40e20caL,
  95374. 0xc7f20a1e5a880560L,0x1a49752babd0d172L,0xb2397b9b7704d613L,
  95375. 0x1bf06d60563fd774L,0xb6bf63b045039cd5L,0x00000000000000d3L } },
  95376. /* 23 << 329 */
  95377. { { 0x7ea8ee24b4cc0562L,0xb5885f8fe2af04aaL,0xaa012337275d5351L,
  95378. 0x76e54bb937e29944L,0x7f9b8f182ea56782L,0x4b3d999e28d442b8L,
  95379. 0xf8b0e3804718f1e2L,0xf137fa8334e560c9L,0x000000000000002aL },
  95380. { 0x7fd295c0dadf8134L,0x4677e5ebe41515edL,0x5f4a4ea2b67de812L,
  95381. 0x083b497c8e609e41L,0xb70b8f2669132911L,0x62c6e87f984b49d3L,
  95382. 0x2549a999e54f6ee3L,0x16bff3e87206acfdL,0x00000000000000f4L } },
  95383. /* 24 << 329 */
  95384. { { 0x9fa30f39e43b6c21L,0x4d3822aab9fc57bbL,0x0230adcf69a8a55eL,
  95385. 0xdc8ab2796f87f988L,0x2d642a82b2af81fcL,0xb9e63a7730765913L,
  95386. 0x5787400625f2a77cL,0x0aa30a6f5bfee0f1L,0x000000000000003dL },
  95387. { 0x796f6508fce49daaL,0xb586299fbf907285L,0x21ccfc555838145bL,
  95388. 0x20a0f8c0e6d43b4dL,0x17170a2be5e80fc6L,0xbb8f840688fba946L,
  95389. 0x5c226b0e411fcbe7L,0x35ace6e02ae8e090L,0x00000000000000b0L } },
  95390. /* 25 << 329 */
  95391. { { 0xb547200a9bb37cabL,0x0f91bad87af4fc99L,0xb714d3e6695a4975L,
  95392. 0x6f563effb9242c77L,0x6ee4ef17510f7214L,0x7119fbcc1b9f9343L,
  95393. 0x0fd99faf8ce55139L,0xa9595dd66c1d1f5cL,0x0000000000000149L },
  95394. { 0x78fa8f186fb6dccfL,0xc9458c1fa23f4d29L,0x3c91cd7025d83072L,
  95395. 0x05d221aa5d471830L,0x2c8874b90e7270b7L,0x88b5608741995b6bL,
  95396. 0xbfa1e6af9c1280d5L,0x47e5b560d7d76623L,0x00000000000001c0L } },
  95397. /* 26 << 329 */
  95398. { { 0x35456330801af096L,0x8f66380bcdef18ceL,0xfd31fa5e4d12da33L,
  95399. 0x931659924b9ed4a6L,0xc5112dc875c17662L,0x326d6659939112b6L,
  95400. 0xab1acfab4f3be3f0L,0xac364fbb2e4d4d54L,0x00000000000001a5L },
  95401. { 0x45c40db020574528L,0x6a6667eaf0339597L,0x6e4543629c83c9c3L,
  95402. 0xb385d150e06d9313L,0x3e135b18bcb29487L,0x5f5c63f833110b15L,
  95403. 0x5b0e0ba2c9488f2dL,0x9bc7194609682bedL,0x00000000000001f8L } },
  95404. /* 27 << 329 */
  95405. { { 0x3472744006e20becL,0x7fac38c38c7ef888L,0x54d2cd7ecae2f3e3L,
  95406. 0x8d4cf97a5064f2a7L,0x3db5cda7e928fb60L,0xa7a160cf6269afa4L,
  95407. 0xd3612410e4aee8e2L,0x1a72c3961a2ec9d6L,0x000000000000000aL },
  95408. { 0x95a203bdbd1ee880L,0x22c099e645b639cbL,0x67dd291643ae9aadL,
  95409. 0xdad086a4aa05dfd7L,0x8b832fd8c468741dL,0xd3b83b4b3b45c4c2L,
  95410. 0x99c4a32791dd0c79L,0xee55689e99f169b2L,0x00000000000000fdL } },
  95411. /* 28 << 329 */
  95412. { { 0x15b283fd125d84a3L,0x56aeb34bc1890bbcL,0xd3b9d608a09c584aL,
  95413. 0x0c2cb39dd4cb3bc0L,0x46db0f67fc3cc700L,0xf5cc2708db50f7dcL,
  95414. 0x5795e7521f0867f2L,0x7cc9145f0427b3cfL,0x0000000000000178L },
  95415. { 0x2fe532cb31e66ab0L,0x2ac67713eee69b01L,0x38f6d515d77ed9feL,
  95416. 0xf275c56a2118c560L,0x21a9c7f00fdc638fL,0xc50b3c693254e3f3L,
  95417. 0x8fbbc2505f950b32L,0xf7122780014ae500L,0x00000000000000e9L } },
  95418. /* 29 << 329 */
  95419. { { 0xdd3ec700226f04ecL,0x0df90c19482e80e7L,0x68dc1e01c63dd9a2L,
  95420. 0xa4f28e23a15fe774L,0x565f36a73ca7a790L,0xafb1eabf67ad7df7L,
  95421. 0xd0cf7ff0d1c1da4dL,0xaeff6da8edc5e910L,0x000000000000005cL },
  95422. { 0x3c053168041b88a4L,0x988833f5df29cc86L,0xeed26f752ed77d58L,
  95423. 0xf7f4788983991f9bL,0xa1271ee5e35e68a2L,0x312e0d918f01ec3cL,
  95424. 0x839f1a84dea08bfeL,0x387d533914668886L,0x000000000000002fL } },
  95425. /* 30 << 329 */
  95426. { { 0x3e48d19e46fa0eb2L,0x3c52023de9765fc6L,0xee7c3a58ac5628c8L,
  95427. 0xcdc6dc5fe06e780cL,0xda092f8a33c55394L,0x3f53c57f6eb9b6e2L,
  95428. 0xa2f3321bbbf66534L,0xf14d50d72a650a3cL,0x0000000000000116L },
  95429. { 0x6e9f43d0f6b86d3bL,0xd845899a16fcfb74L,0x9ab03ba416f965f3L,
  95430. 0xbb61b4a2cc21c1baL,0x13f64e24d547c4e9L,0x484e226bb2b9ce9cL,
  95431. 0xddbc2681a05d3c18L,0x3c16171abbf49b24L,0x00000000000000aaL } },
  95432. /* 31 << 329 */
  95433. { { 0xee38edb2dd1bbe51L,0x80e6050243f2c49bL,0x74c3e9d891622e00L,
  95434. 0x5a8bd3cd4047f50bL,0x4dd146c4f8cdd703L,0x91e38765ec128a35L,
  95435. 0xaf641c18735f735cL,0xef96fbd12fcab7adL,0x000000000000000eL },
  95436. { 0xc3cbc6ca45287b7eL,0x55aec8fea1ac0f00L,0x630fa637af6e4abeL,
  95437. 0xd83b22d2587d5779L,0x84fa662a50afa01dL,0xbd8dd789b19f62afL,
  95438. 0x490ccda6f64aefedL,0x5008037e4af86aa0L,0x0000000000000164L } },
  95439. /* 32 << 329 */
  95440. { { 0x446b17b0e695916fL,0xb3b0dcebf9bd8da6L,0x6c76c3ce5ff86aadL,
  95441. 0x0785d5a20cde74d8L,0x2ce9fae12bb7ae7aL,0x87cd05685f32e59aL,
  95442. 0x8e229326e1598559L,0xa0bad54e34edfb01L,0x000000000000015dL },
  95443. { 0xa54529c20e1290b4L,0xe7c719cab795dba1L,0x68cac3a5109b4740L,
  95444. 0xb032bd2ba68e8e4aL,0xce03d9321658337dL,0xb39d102ecc95d9dfL,
  95445. 0x79838d96be248c98L,0x02562708d7df0b44L,0x0000000000000127L } },
  95446. /* 33 << 329 */
  95447. { { 0x65202498cc143cf4L,0x09f80cd704445898L,0x54fe51bec4f61a5eL,
  95448. 0x29013981597d0979L,0x13b63add19e0ee5eL,0x1ea5e689341200cdL,
  95449. 0x1bea4d3663d7514eL,0xe7d322f47b46f902L,0x00000000000000a6L },
  95450. { 0x349b1972cc60de8eL,0xed79aafaa2075005L,0x88f0a5b6004f0314L,
  95451. 0x8c0738bc46dee06eL,0x870acd790b63003aL,0x64a1205ca367811cL,
  95452. 0x8aa20bebd4a99dfeL,0x5f8eba3fc39ef513L,0x000000000000013bL } },
  95453. /* 34 << 329 */
  95454. { { 0x4cb51584855891a5L,0xfcd86f0188f33a98L,0x9ca889eb8e39e929L,
  95455. 0xc0a5ca46bdff8628L,0xba14fbf09e965cefL,0xce2474e21b5cb8ceL,
  95456. 0xde7d528bfa459a1bL,0xd741fd3992785092L,0x00000000000000dcL },
  95457. { 0xeb956f25ddbc488bL,0x29bacdcb6682a201L,0x03cbba50fb38ad85L,
  95458. 0x0687794318ad03f3L,0xccb0a078e746ec1aL,0x4518bbf1c6d1f10eL,
  95459. 0xf769f2dc1f59b213L,0x3b8b1035e24118c0L,0x0000000000000123L } },
  95460. /* 35 << 329 */
  95461. { { 0xa52e2eb373c6ed28L,0x3cbcd662c077dde7L,0x0a2b9b2967eeb3d8L,
  95462. 0xcd61f644d697239bL,0xa934b899cd0e9bdbL,0xaf89b6ed95b01dfcL,
  95463. 0x7cf64dadc1fd5fc8L,0xf9ed347799099fe9L,0x000000000000006bL },
  95464. { 0x473364deca19dae8L,0xb33f7926c2de1948L,0x9f77368bc9fef6ffL,
  95465. 0xe9d364e3aa467f92L,0x825ebc2192bb93b6L,0xb348b9bec4932331L,
  95466. 0xd66d94ed152467b3L,0xb6970ac7bb4591fdL,0x0000000000000028L } },
  95467. /* 36 << 329 */
  95468. { { 0x18584526dd5eaf27L,0x316d5c3591e8b4c8L,0xf0515b605b8d3ddbL,
  95469. 0x5b64260a45525bccL,0x4f05352788d9435eL,0xa92426af7aa1b06eL,
  95470. 0xac351063a5dc466eL,0x5b9ea7dd575a1f35L,0x0000000000000187L },
  95471. { 0xaca204a297772298L,0xdcd6314ff757e252L,0x2f9c3b40aa5ea9b6L,
  95472. 0x1cc338f109311e8fL,0x441c170303512e14L,0xd1da2ca59c64f91eL,
  95473. 0x9730d382c7ddc586L,0x84cea67d55dc73e9L,0x00000000000001e5L } },
  95474. /* 37 << 329 */
  95475. { { 0xbbc4e624ee3271b5L,0x6b5e21b6fe977a0dL,0xa3265ba66d0452d6L,
  95476. 0x1ec78dd87baf2b08L,0x2c05e3122eebc034L,0xaa1b947bea4f5ad2L,
  95477. 0x94f4933a06ebc241L,0xed58b946d50bb167L,0x000000000000014dL },
  95478. { 0xaec8d2b31be81ae8L,0xd86c6d69b3d0e22eL,0xa1ac5934c12c7d6dL,
  95479. 0xcab83b6a54faf69aL,0xdde77363c47d62b7L,0x71f0a7769d919c14L,
  95480. 0x5606c72bfbf2ab5cL,0x453a2d5d9db0d55dL,0x000000000000006dL } },
  95481. /* 38 << 329 */
  95482. { { 0x998d5368a9b51f22L,0x1f15d19ff477ab5bL,0x37442775d68c28bdL,
  95483. 0xd64687ec2c0cd5c3L,0x90e88caf0f326169L,0x35fe08e939109538L,
  95484. 0x32f70606af2c556bL,0xc6fc69bd96a5aa0aL,0x0000000000000095L },
  95485. { 0xff2f1fcae1d825bfL,0xabd7283905cc4840L,0x5e6ea842c3ceac94L,
  95486. 0xa37eb05d7bf5800bL,0xc7e8cd9218feb383L,0x2cb64fd5a0e35725L,
  95487. 0x14c7de98f5b53b67L,0x8c6f364a3280ab21L,0x000000000000004dL } },
  95488. /* 39 << 329 */
  95489. { { 0x052a61531ef9be5dL,0x2ce3b605a27b942cL,0x2d1982cec7a50a00L,
  95490. 0xd2ab12fc3938c01eL,0x1aba919ad4e38b6aL,0x6464772967f6c405L,
  95491. 0xcacf20a9efd8f7f1L,0xa8d90b0f84d73009L,0x0000000000000170L },
  95492. { 0x20b77432d6e9b843L,0x47d93d17d9df2d13L,0x15ac011057912081L,
  95493. 0xa24fc7094dbc99b8L,0xe2f6ba470ed28e94L,0x6a9d4bb1e81889f8L,
  95494. 0x48035db36831c638L,0xbc7f16c9b7b511f6L,0x00000000000001a7L } },
  95495. /* 40 << 329 */
  95496. { { 0xa39d4ac8162dd91dL,0x5704769322e67a01L,0xdfe57f997c446028L,
  95497. 0x0f49df77d131a2c8L,0xc8f26682f7f779bdL,0x1696655818e884f1L,
  95498. 0xc5d9d516f390907bL,0x23356e77617f5f5cL,0x00000000000001edL },
  95499. { 0x5e6830b9679deabaL,0x18bcc37f9fd1a70eL,0xfa84e86272225892L,
  95500. 0x2e6cd938c610763cL,0xc179376a671378eaL,0xe3b844b5f502ea1fL,
  95501. 0x74a390b75fb4dc36L,0x51f019400ed8d535L,0x000000000000018fL } },
  95502. /* 41 << 329 */
  95503. { { 0x829f07763b84874aL,0x43871c3c629f0068L,0x67ea591aabb86558L,
  95504. 0xcd9d158842e26ff5L,0xe790b7b4b87fc2b3L,0x8fe0b1aded7d3f58L,
  95505. 0xbd60a61ed9c77f0fL,0xfdc080c3779dd449L,0x000000000000013aL },
  95506. { 0x2a1419e0e10dd216L,0xc53633aedf69bf09L,0x8750156c554560f6L,
  95507. 0x45d18d5211057cd2L,0x668e9f5d6bc3b095L,0x23c0ca2bbef1182bL,
  95508. 0x66b5954e307147d4L,0xb55897fa6582e607L,0x000000000000001dL } },
  95509. /* 42 << 329 */
  95510. { { 0xc560dffe49b36a45L,0x93e588366b8574d5L,0x8181236440ae3131L,
  95511. 0x0b7a1cc90adbbe10L,0xf0300653f9d147a1L,0x74bd55b4db6ee70fL,
  95512. 0x04f147f86856ffd7L,0x62a12dea5e8fea8dL,0x00000000000001fdL },
  95513. { 0xe387062af295523bL,0x3c88bb54562c7c5dL,0xc1c6d25554ab4cb0L,
  95514. 0xa2aa7dc600ede737L,0xf102965348769099L,0xe7fb6655931dbf6eL,
  95515. 0x9b7f1bca63b027c2L,0x1a04490be25853c3L,0x0000000000000061L } },
  95516. /* 43 << 329 */
  95517. { { 0x2cad6e8e7d7a3311L,0x192637a101d2ce9dL,0x54408f763b09d1e0L,
  95518. 0x056fbb0e6c9f1c9fL,0x5d86dd60e8a73041L,0x3cef3dc1649edc73L,
  95519. 0x2a5855721c3a9234L,0x6fc27608d555c011L,0x00000000000001f1L },
  95520. { 0x084bbef69c34f177L,0x3e28813737096f4dL,0x4d163b57a397ab9eL,
  95521. 0x2b50f5310e1e07c7L,0x8440e162a93ad09dL,0xe8e444632593df14L,
  95522. 0x197660292b20316fL,0x90ef0d967f635186L,0x0000000000000190L } },
  95523. /* 44 << 329 */
  95524. { { 0x30ac47e8f7a5ad23L,0x9c7749b063788eb8L,0x74b0ccb37ba11421L,
  95525. 0x95738a0b1c6a3f64L,0x0aae5fbe05110374L,0x53cfe62bc0c6e8eeL,
  95526. 0x0c56162d6af02414L,0x3257726d88eb33eeL,0x0000000000000148L },
  95527. { 0x3f56ab59dcbe894fL,0xdc75f5e0bd7699eaL,0xb8f7d880e6f78aa8L,
  95528. 0xffbb24f65e5e8d85L,0x7833e090f2011756L,0xcf9af908a0349a95L,
  95529. 0xd31658498856a70dL,0xfaf01d021845a0d6L,0x00000000000000e9L } },
  95530. /* 45 << 329 */
  95531. { { 0x8b9b44f29e4685aeL,0xef81af6a7b8cf6f7L,0x8adef463de2bcbddL,
  95532. 0x1b69518ffcffa721L,0x561f0c5a405464acL,0xe28b2f168bfc6e45L,
  95533. 0x9172848b090e79c0L,0xe3c6092f2826d317L,0x0000000000000129L },
  95534. { 0xd95f1d0b79a9a188L,0xceac08db1f69871cL,0x93a8b01280b65e91L,
  95535. 0x48d3e503ce3e8c95L,0xed2ceabcdf74d29fL,0x71220652c2119809L,
  95536. 0x4bb4bca76642cbb1L,0xd228abd74d461a6dL,0x0000000000000122L } },
  95537. /* 46 << 329 */
  95538. { { 0x13cbe9d39086d901L,0xd71e1a2890ec6eabL,0xb8ae9ebb66472a41L,
  95539. 0x4e3a88fd205e2c55L,0xab212c986f72621fL,0xcea45a44e27bb1b9L,
  95540. 0x9056afc557d42873L,0x9d2d273bcb3c220bL,0x0000000000000056L },
  95541. { 0xf13ce2c9170143e2L,0x1f44bb4286d61f29L,0x005bf7e894eddae6L,
  95542. 0xc24a3c91c0d3e2fbL,0x553b308db50ea90cL,0x9e779eb0a6c0a0ebL,
  95543. 0x8d8a0321d980d46fL,0xba0df44d582cf028L,0x000000000000015fL } },
  95544. /* 47 << 329 */
  95545. { { 0x44c65a3ddcd99092L,0x68e73d6682c4c760L,0x19c50c79b8ca4e79L,
  95546. 0xbd60adfb0971debaL,0x0bfa8cc333ecbf46L,0xb178da302146a1a7L,
  95547. 0x1e60002d50fe9c55L,0x6ec488ea055d5140L,0x000000000000018fL },
  95548. { 0x79affabd184acae0L,0x7fb90a1c9869ee93L,0x2f1f9a663466f356L,
  95549. 0x02a8273d4ef8be31L,0x8ba3132741874651L,0xc56ff44fd2483813L,
  95550. 0x5efdb725a6e5448dL,0xaded563f0992ce80L,0x00000000000001acL } },
  95551. /* 48 << 329 */
  95552. { { 0xc9a88248ca91f6f4L,0xa368fd8ac7d5acc8L,0x33d9fd5ccea11e10L,
  95553. 0x0af2f470816de633L,0xe78e8101ac186f1fL,0x0d97de7d5e3c4857L,
  95554. 0x9346af7407946bb1L,0x81c2bd5ec7044ea9L,0x0000000000000003L },
  95555. { 0x04c2eda3696d947bL,0xc3f988f301efa843L,0xe839587792f22674L,
  95556. 0x376972a2c83396c7L,0xaa679a3144f2ad2fL,0x61a46ebc3112b6afL,
  95557. 0xbda02ce0c6b3224fL,0xb42aaba7dd4c7b77L,0x0000000000000060L } },
  95558. /* 49 << 329 */
  95559. { { 0xfd99ddf3949f1e54L,0x9e37bc9a42c74bcdL,0x667e6412b528c0acL,
  95560. 0x45b8bbdceb560efeL,0x2605f758266eae0aL,0xd45cba357019456fL,
  95561. 0x1e7abac6b80ad6eaL,0xccb23c42ba18ec32L,0x000000000000004eL },
  95562. { 0x3e3b6948e4a456abL,0xe98cc81ccdfaf3a2L,0xc3a78e4acfc4cf5dL,
  95563. 0xcf981aefe80c61daL,0x4423a07d0a0699bfL,0x80a93eef8c2fa65fL,
  95564. 0xe7396c7f7cac8832L,0xd9866a7b731d27fcL,0x0000000000000042L } },
  95565. /* 50 << 329 */
  95566. { { 0x8d452f698f1ef9c7L,0x87eccf87baea3098L,0xfc3204e24903728eL,
  95567. 0x35db9b5ea004f3b1L,0x6094bdc2ebb31480L,0xfae255eb95e7fa59L,
  95568. 0x59012cfcf0cf198fL,0xc7622600b97968b3L,0x00000000000000beL },
  95569. { 0x477ee91af42b1d5cL,0xf8a49e41b38f6e92L,0xc194985a0f78930aL,
  95570. 0x829ec9f4fa14de02L,0xfe13d75852882268L,0xda34194f3e1e5ad2L,
  95571. 0x0eec2380dbbe0391L,0xa33de0d430cc7f21L,0x0000000000000040L } },
  95572. /* 51 << 329 */
  95573. { { 0xab573086122f0868L,0x76c0316c261b14f7L,0x83bf61c4050c5fd4L,
  95574. 0x41ca4dabb9bab773L,0x8071890301138744L,0xe790898da00fb373L,
  95575. 0x502ad727a7ee4925L,0x4f02eb663990928dL,0x0000000000000086L },
  95576. { 0x73860d4fb81fa334L,0xec04cbff2fa2a1eeL,0xda93b91043041addL,
  95577. 0x2fbb81e1afc62072L,0x3534caef06e6fd7aL,0x38c3238d9bcc1697L,
  95578. 0x4ef619b141f85807L,0x97e4cb5432d5853aL,0x0000000000000140L } },
  95579. /* 52 << 329 */
  95580. { { 0x78dba3df1b03222aL,0xf9a19f4df743b0a5L,0xd9025fc728786953L,
  95581. 0x974c35dd0e75b160L,0xec2ad730190ab6e7L,0xb9c3d4efe7417b0dL,
  95582. 0x0e19df5b715a93ceL,0xac4cd49c6cb2d8e0L,0x000000000000006fL },
  95583. { 0xff2080ed69898bd3L,0xc0e345b7e724b25dL,0x4632246b33da2d5bL,
  95584. 0xa031381d832ae2aeL,0x38d4d94fa7bf9935L,0xd7ca7e55f30d34fdL,
  95585. 0x5ddbe112c9320a7aL,0x69fa155ed90e6170L,0x00000000000001fcL } },
  95586. /* 53 << 329 */
  95587. { { 0xf3fcd3f329070358L,0x61bcf6a94766608dL,0xae11489bfdc834a4L,
  95588. 0x153265f486fa8a4bL,0xb39af52a03431002L,0xeb126ae4c8551498L,
  95589. 0xd606f364aed87f5cL,0x38f70cbcb9361319L,0x00000000000001e3L },
  95590. { 0x6b1582752f3d2eedL,0x1e8d787cc83309eeL,0x4e7802fda22933fcL,
  95591. 0x98a126cb4e0120dcL,0x1701b21f14accf81L,0x94d92ff6e9dd2425L,
  95592. 0xeb6c98e6deda42cbL,0xea752ae39a83bbf7L,0x0000000000000088L } },
  95593. /* 54 << 329 */
  95594. { { 0x74c7966431e64320L,0xa73a381035e3541dL,0x1ef1544db34c3f57L,
  95595. 0xf71aa56d9a16c02bL,0x42d6f0ef06f35f04L,0x674e853d76201cd4L,
  95596. 0x4d416adc0eaadc1eL,0xe5434f2af51ddd7aL,0x000000000000015bL },
  95597. { 0x6a5d1969438cbc53L,0xb97f4776646e4cc8L,0x79f5d3dc66273332L,
  95598. 0x93fbdc3b3afa59e8L,0x0c142dfb9af35764L,0xa27741a2a47ac0b1L,
  95599. 0xd3a0f40d48383b7eL,0x7d05a2c010bffaaeL,0x0000000000000087L } },
  95600. /* 55 << 329 */
  95601. { { 0x32bec69a22d06febL,0x20b57b7bd6ed9f30L,0x65ca9046547cb8e3L,
  95602. 0x689788bd1f69889eL,0xa4cfd9a0d2378606L,0x94db81ec364645eaL,
  95603. 0x554dc20ad90cf501L,0xfda49475b0075c45L,0x000000000000000aL },
  95604. { 0xec832a2b513eebf3L,0xa3810d026f4c8dcdL,0xd92de6469737c052L,
  95605. 0x32f07ce28b7a8178L,0xdc9adea7f8e7ea6dL,0xb078a52bd7e3c857L,
  95606. 0xf70c3ad51cdd8d09L,0xebe8bcc6aa541cccL,0x00000000000000b0L } },
  95607. /* 56 << 329 */
  95608. { { 0x8879637b3d70360cL,0x053c278f72f41087L,0xcc895e1ff07f009eL,
  95609. 0x4c9b8c6468db6690L,0xb45473981b97dac5L,0x0399cac8af65ff38L,
  95610. 0x295e09141fd0a6c0L,0xab605fcd871bdefaL,0x00000000000000d0L },
  95611. { 0x3f2d42975ad63582L,0x28fda2bbdc7d3a40L,0x7f14436765672d9eL,
  95612. 0x9322ab082937e8c8L,0xf351279faf748929L,0x63a624f5149d6f5dL,
  95613. 0x3351f4ff989f5325L,0x0456187bbc7dd8d9L,0x00000000000001b1L } },
  95614. /* 57 << 329 */
  95615. { { 0xfcbf34524112884dL,0x7112c9ea903f7279L,0xa82dea538dfd3bc4L,
  95616. 0xad4f103abbd451a6L,0x49d6cb3f59f7f2f3L,0xffe87f02c526bf33L,
  95617. 0xf2b85e4ed9e6c585L,0x7c5777c158b38628L,0x0000000000000120L },
  95618. { 0x250a9befb4b57ef8L,0x3b872628b7cb867aL,0x35b111a51a879fadL,
  95619. 0xcfd5cab5f73c98b2L,0xe484a6f6312c4749L,0x84f719e11c8b573eL,
  95620. 0x83edb875f8840f86L,0x915e1ef95d2dc42fL,0x0000000000000064L } },
  95621. /* 58 << 329 */
  95622. { { 0xa77f1d5f92bf4853L,0xcd9ce94099447d87L,0x4cd274fcba386d27L,
  95623. 0x075c64605c0cdd46L,0xfe26dec8d7583ed0L,0x4c0a447759e4255cL,
  95624. 0x247938de6aef2ed9L,0xd8dbd48a3d227000L,0x00000000000000f2L },
  95625. { 0xfb51bb52916ce89dL,0xb7997a98092acb0bL,0x94bbe9d8ac2e55d7L,
  95626. 0x899feb11827bea20L,0x469b4834919b2a7bL,0xc994c41b1dab85a6L,
  95627. 0x8479555ce43d5b1dL,0x6635657f3b0925c0L,0x00000000000001c8L } },
  95628. /* 59 << 329 */
  95629. { { 0x81a0c97ada91e249L,0x5e1e5d32838076e9L,0x389ca1e02c7cf349L,
  95630. 0xde81e23cbb367fc5L,0x926f32b9e5e4a732L,0x061a6b8f92c1b204L,
  95631. 0x6e5faf35ed97ed0fL,0x4e1d4d170caf4fd6L,0x00000000000001b7L },
  95632. { 0xc8dc770aa4583241L,0x12e4ecf1e1ef9744L,0x099f111cf7d6264dL,
  95633. 0x2b2307382e6772a8L,0x65cf0a517f27f826L,0x8ba92657ed871105L,
  95634. 0xe9d1d3f5887e4295L,0x5cbeaefe4562fb6dL,0x0000000000000190L } },
  95635. /* 60 << 329 */
  95636. { { 0xeb7316a61a0dfca9L,0x12d74d0102113c17L,0x518499bf8b72396bL,
  95637. 0x8151dceddcf70010L,0xcea6bb1168208deaL,0xa1127162501ab541L,
  95638. 0x3b35298f471895d1L,0x1e43d852103950f4L,0x000000000000009fL },
  95639. { 0xe259a9b2a01e30b4L,0x8af1dc7b7c0b94bbL,0xb1020ba1b8d2d163L,
  95640. 0x91d4953f11932c5dL,0x393b1a0c79689ea9L,0x42222ff8a18ad561L,
  95641. 0xad03a6dbdeccde82L,0xe2a11f661162399eL,0x00000000000000f9L } },
  95642. /* 61 << 329 */
  95643. { { 0x6bc7b50525db69deL,0x4482b033d8b4b0e3L,0x52fe701dcc9e8d21L,
  95644. 0x050c4edfc61dbddeL,0x7c631930d20dc520L,0x123db30c2e5b2f60L,
  95645. 0x2fd7e1ec35d20b9cL,0x8385cf8e2644151dL,0x00000000000001afL },
  95646. { 0xb885a30bcc451719L,0x21c65d8e47e67d5dL,0xe971a878fa2b6a6fL,
  95647. 0xa60fa1b2838c9aeaL,0x4efefeb5e4efcd77L,0xee35b7474fc48efbL,
  95648. 0xa95f3beaa06a6906L,0x371c74645e0e6ebbL,0x000000000000019fL } },
  95649. /* 62 << 329 */
  95650. { { 0x5c59edc157066b91L,0x08407d6cc76fa7ceL,0xb3f0b31abfb5115dL,
  95651. 0x54a04e6483f65955L,0x8f95167b035d326eL,0xa0eebe160d24f491L,
  95652. 0xb1a1caf05e5b0ffbL,0x802645e2d08382c2L,0x00000000000001d8L },
  95653. { 0xcc8f65eaca39e065L,0xea7e6b2a6df057d1L,0xa725e7f64dbc48a2L,
  95654. 0x60f36a0fd5c8d0dfL,0xd2adbc8c8f0cc4ebL,0x5cf276c19f0c2849L,
  95655. 0x77ade71c8cc56dffL,0x77f04f45d35bc65cL,0x0000000000000121L } },
  95656. /* 63 << 329 */
  95657. { { 0x927e172adf84476cL,0x850b77b9a02bc731L,0xb6ccc003cfd20fdeL,
  95658. 0x43ff11ca335e3da6L,0xf5fcebf888b42166L,0x08508ffce90a7019L,
  95659. 0xaa50439e5c4b02b0L,0x64666563af1407d7L,0x000000000000008aL },
  95660. { 0xf0361fa97015d2adL,0x06c10c06c3f6d10aL,0x6b30ce607a0b50adL,
  95661. 0x905727d44499ab51L,0xadaabac64b4ca19eL,0xb97d87dff24f4c97L,
  95662. 0x9bd3bb9db808e478L,0xc0476491fd5b3b47L,0x00000000000000dfL } },
  95663. /* 64 << 329 */
  95664. { { 0xfab6fa734e185ee5L,0xec85b9edf15957d4L,0xa978adbd72ba04e7L,
  95665. 0xc7e3107e7986fb14L,0x0e97063de37740b4L,0xf26f51c225e29918L,
  95666. 0x66b9445312e6f22fL,0x6617deae68090e9aL,0x00000000000000a3L },
  95667. { 0x86595b1dd2dafd33L,0xcca6cd7ff3c234faL,0xd24847edaac709ccL,
  95668. 0xbe089df8fc689536L,0x4fdcc1dc367bbbeeL,0xc2592739a01bef50L,
  95669. 0xff4d427aa53d6b64L,0xd3ddc2bc47d9af89L,0x000000000000000dL } },
  95670. /* 0 << 336 */
  95671. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  95672. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  95673. /* 1 << 336 */
  95674. { { 0xadf5e06ea79cb073L,0xcb46aca98bf180e6L,0x5bf0d9eb835f8e22L,
  95675. 0xd692cd207713f3adL,0xa33e9d7ff0d87f74L,0x9f2b6950f602a362L,
  95676. 0x27a4c70bdfa4f77cL,0x99c699dd3c56080aL,0x0000000000000105L },
  95677. { 0xdfb1b25595338fa8L,0xabadba3ad59e754dL,0x2338452b436e70fcL,
  95678. 0x34cfb5b2e07a21b6L,0x25ddb684f81ea5a2L,0x98f463c0aa325fc8L,
  95679. 0x963bbc8094aeb02eL,0xa98fe976434ab9faL,0x0000000000000188L } },
  95680. /* 2 << 336 */
  95681. { { 0x9a7fc933204a966eL,0x7c1c59150d9680ecL,0x0643609730415e73L,
  95682. 0x574b06528ea44e8bL,0xd35d1340f4b8fe58L,0x81ddd1f4daa40ca5L,
  95683. 0x5c908486ac09937bL,0x467dffa614c180deL,0x0000000000000034L },
  95684. { 0xe6f97acc8000602eL,0x2650e9570f527147L,0x3af58dd97c3923e6L,
  95685. 0x67f7102e69f5cafdL,0xf80e76c00ecb60fcL,0xd3441285197f6bdbL,
  95686. 0xdeed257a52050b0bL,0x8c28afea0703c0efL,0x0000000000000052L } },
  95687. /* 3 << 336 */
  95688. { { 0x2ea6e18456500523L,0x566ccdd0f44d63fbL,0x8cc0208db01114ccL,
  95689. 0xdb7bf61311e5dd4eL,0x65e4263eff83d7b1L,0x12d2924cd6da83e9L,
  95690. 0x093bd19078380401L,0xd2835bdbff97c4f9L,0x000000000000013cL },
  95691. { 0xd3ae4c901d8e9521L,0xe2c92a4c42dc5bbbL,0x478e934b8c96057dL,
  95692. 0x0e526187ec6155f7L,0x3aca950d2bbe77d5L,0xe7edf96a6e492364L,
  95693. 0xfc039fd22fe76745L,0x68dfce9653928c27L,0x00000000000000f3L } },
  95694. /* 4 << 336 */
  95695. { { 0xab482b76e225fbd9L,0xd561f4cdd3c33a7dL,0x18813777ccb2f003L,
  95696. 0xa163377524cebce8L,0xddbe587d16adb540L,0xbc0d225f79e133cdL,
  95697. 0x8fa3d30032a4c54aL,0xded1ece4243dc5e5L,0x0000000000000024L },
  95698. { 0x94ce92a3ffd4b7ddL,0xeac8e7a15a8efbd5L,0x0c842c3fa9dc648aL,
  95699. 0x19172f460d286101L,0xc8681e80beca770aL,0xfaaa1ab4a8795d3bL,
  95700. 0xe8625d4663944868L,0xe13004f94f3254ebL,0x0000000000000104L } },
  95701. /* 5 << 336 */
  95702. { { 0xb0fece2bb7f3d4b1L,0x8b6168aa47b042fbL,0x207d9b0f01658a57L,
  95703. 0x52deebf25cf0bb71L,0xc678dcc72fc808a8L,0x8bea9d0975a39999L,
  95704. 0xf26b5d2b7042c5a7L,0x58b1d1bbdbe12667L,0x0000000000000120L },
  95705. { 0x10cf0b69d821c3eaL,0x045a9342c684e985L,0x2245c17f56babdcbL,
  95706. 0x7859852ab40c5f7dL,0xcbc11caf35b36fe0L,0xcbce03baddc4abe5L,
  95707. 0xfa4797269e11ee36L,0xc70cf89a8b993b9aL,0x000000000000013fL } },
  95708. /* 6 << 336 */
  95709. { { 0x2e911bb30d9ea003L,0x50503fd6dd7bbb56L,0x23780725f43c710cL,
  95710. 0xf3854bc2d236028aL,0x0bb0cd7085f08816L,0xaf2ba06878e34910L,
  95711. 0xb0ab1008558b8babL,0xe0676170e24955dbL,0x0000000000000049L },
  95712. { 0xe2b0161a87b571f5L,0x1676b3346209d9adL,0x402122ece2f86308L,
  95713. 0xbd0e364487d6f082L,0x587ef7c464747111L,0xe8edfeec8f3386a7L,
  95714. 0x2b70f9333a489db5L,0x819e1d7c442a278bL,0x0000000000000025L } },
  95715. /* 7 << 336 */
  95716. { { 0x731be59d6ee24007L,0xe96884c4b97efd86L,0x9e4a2bbecf73d698L,
  95717. 0x7820a2d72ef12084L,0x1ebbf048c5692055L,0x707194dac1b300f9L,
  95718. 0xf45fe3fec0d5dc37L,0x20cb9bf6df061c3cL,0x0000000000000000L },
  95719. { 0xef76e09349841247L,0x7e963d5c5673eee7L,0x135d2ca7c5eab79fL,
  95720. 0xf0d3ac04ceeb60e6L,0xdb33fc361d07b5f9L,0x37ef4405f1443ae5L,
  95721. 0xe4716fae6ec33bd0L,0x3a6e33a14fd6f657L,0x000000000000003fL } },
  95722. /* 8 << 336 */
  95723. { { 0x6f01c26104e188ffL,0x0d9bf057c7ff2e86L,0xf9cd2dd6c8e36163L,
  95724. 0xbfc6200bec1562e8L,0x735836b48afb5102L,0xb7a29e92035e1ed7L,
  95725. 0xb16b14ca5f2e5924L,0xa77550a628630d59L,0x0000000000000032L },
  95726. { 0x7b4bc3ef7418d27cL,0xdf5c38b623b67adbL,0x168d61e3ea3713c8L,
  95727. 0x806f95491abd92f8L,0xe806ab7b98eb3239L,0x47f49e50f09b81cbL,
  95728. 0x4324da1706fd5ba3L,0xd54dc8613193dd6bL,0x000000000000003cL } },
  95729. /* 9 << 336 */
  95730. { { 0x9f88ff35a3d49d3dL,0xe4284139fce247f8L,0x6c4d5c7af9dcb985L,
  95731. 0xfbcf4fa1161d138aL,0x2704ef59a06a95f5L,0x2a277e200d0e4d15L,
  95732. 0x3105f965c5de8f83L,0x10fd313deabd284eL,0x0000000000000133L },
  95733. { 0x308bbdee0774ab51L,0x3e273e4200f231beL,0x843c53d8f8392927L,
  95734. 0xbbae99a3c0007797L,0x110b8e4ce1f84317L,0x456790c6e26fc087L,
  95735. 0x13144322bf6798e3L,0x35d44ed5217a52ceL,0x0000000000000020L } },
  95736. /* 10 << 336 */
  95737. { { 0xd7c148b3841f5e75L,0x4fb757644b5442a4L,0x95e65524dcdfb2dbL,
  95738. 0x2265e0edd3446c55L,0x7d95f3b17a24cbddL,0x852beaa10567103dL,
  95739. 0x48c62a902808760fL,0x5f872492fc689aebL,0x0000000000000065L },
  95740. { 0x11fa99ecd6740dfbL,0x0b028e97621f47f7L,0x2a75276c3b2a21bcL,
  95741. 0xbad738bbb779b390L,0xa178ac3072cf8732L,0x4c515b788ef8ebc9L,
  95742. 0x5a411714b745b0deL,0xb7c566faf0341a62L,0x000000000000008aL } },
  95743. /* 11 << 336 */
  95744. { { 0xad24d78c5774fc6eL,0x0ae7e57b8dccc508L,0x92d4a44ce70f8e39L,
  95745. 0x3915c8eb837de2f6L,0xf7fd688854dd047aL,0x13bcad45d1bbd515L,
  95746. 0x86e766a1302bee43L,0x788ea08a0986a53aL,0x0000000000000188L },
  95747. { 0xe0117403716f966cL,0xf2ff910991cbdb03L,0xb30a2a3cf6368671L,
  95748. 0x29d49766adf90b6fL,0xe7333e2338d741c7L,0x11995ae97e584997L,
  95749. 0x0f46aad3bbc84668L,0x98ad5a3f89992582L,0x0000000000000197L } },
  95750. /* 12 << 336 */
  95751. { { 0x42814ac122ff19a0L,0xde569bc8b27c568eL,0x1d08a1226ada1db1L,
  95752. 0x3a3fde2e6e513dc5L,0x29c0813b1f856f5bL,0x13d3bc840b6cb7dfL,
  95753. 0xabba0aba2c40bc67L,0x1fb6edcc8a718cf5L,0x0000000000000072L },
  95754. { 0x806a0ca2b312563aL,0xbb056c4891380b70L,0x0c90364b0a157f24L,
  95755. 0xf79016c3d9e3f68dL,0x8d12edf88944a622L,0x333d61b31ec7abdcL,
  95756. 0x372a693d50bded2dL,0x08bad7dc2dfefccaL,0x0000000000000081L } },
  95757. /* 13 << 336 */
  95758. { { 0x95aecad65c1c6ddcL,0xdd32cd749ae10bd1L,0x81882ab6a84c69dfL,
  95759. 0x8a7d8cbe8838d94fL,0x099ad520bcc1300bL,0xd63bb039c30e4469L,
  95760. 0xb3bef31417356877L,0x48fea9063238c2d5L,0x0000000000000047L },
  95761. { 0x772aa8f68e8fbfbaL,0xe852c8f15845a5ffL,0xf1355ee5a907e9d5L,
  95762. 0x18c0ba0e5ba624e3L,0x32a3b125b72c700aL,0xe4e19fe46afd2a5eL,
  95763. 0x08009bd907e95944L,0x14a813f019294091L,0x0000000000000106L } },
  95764. /* 14 << 336 */
  95765. { { 0xfd9946a699102917L,0x62df6a373c73b904L,0x9998064f29c4664fL,
  95766. 0x626c7d71a38aeb0fL,0xebb4ba2d9ddbe513L,0xfb7b78301d72725cL,
  95767. 0xc1314481e4c19372L,0x90c5ec66ed09077dL,0x000000000000003cL },
  95768. { 0x05bccd2f92b2ca1eL,0xffb71e3f55d4157cL,0xe4913c2eb5edf4e2L,
  95769. 0x185eb955a96247b1L,0xd70ff9614d7924b3L,0xe6ebce13ed6c45f0L,
  95770. 0xcbb30c53786c10d3L,0x37b6a2f2137354e1L,0x000000000000015dL } },
  95771. /* 15 << 336 */
  95772. { { 0x4d82915996367153L,0x60562a5910e88061L,0x2b2c480b942bd412L,
  95773. 0xc015240fefbbe7b6L,0x363ddb1df084fba3L,0x21739dffd1c2f9eaL,
  95774. 0xbf972d6fefe1ac54L,0xdfc5ff12edbef772L,0x00000000000001e7L },
  95775. { 0x2f0a919a39250f37L,0xca4b3f9711cb4bddL,0x85909ebfc15252c3L,
  95776. 0xef2421d0f81d74c4L,0x7f8a45d7faa5d679L,0xcc97e0caaf2c27acL,
  95777. 0x11fa8448f0393356L,0xd0727c3b091f3a2fL,0x0000000000000098L } },
  95778. /* 16 << 336 */
  95779. { { 0xd17bc05981fe2fbdL,0x8247a0c7cdfc711dL,0x973eab2f63ce74eeL,
  95780. 0x270a6bdc4191b5f1L,0xe21afb51637f5917L,0xa84e71c550326c7bL,
  95781. 0x14cef332f30c35cfL,0xff0e5f89b7407d5eL,0x0000000000000011L },
  95782. { 0x7b23a55df8b6b176L,0xbc660c66c679c536L,0xad82144a897fde1aL,
  95783. 0x5082037d545baf12L,0x4bf2b1174448059fL,0x59c25c1bf1e8c52dL,
  95784. 0xc01a4b8d8e030e69L,0x45077803229951c1L,0x0000000000000184L } },
  95785. /* 17 << 336 */
  95786. { { 0x06ab930118ba92b8L,0x0ecfb20658c698f5L,0x0d07b9580c53b831L,
  95787. 0xeb8bcf504c6b8a70L,0xd6aa30dd46cfe9a3L,0xc0373457e824156cL,
  95788. 0x14ae78702b281201L,0x3c50eefa57c56e20L,0x00000000000000cbL },
  95789. { 0xcd4eac45dc159da0L,0x3e09b24db817f40cL,0xb1a9ddb4f1ce719aL,
  95790. 0x27e01e5ee7c528a3L,0x6d3effe69f1aa448L,0xcc3ea2c66c529ff2L,
  95791. 0xf2ad16d9cf1095a2L,0x8497e6bf6795d3f1L,0x00000000000000d0L } },
  95792. /* 18 << 336 */
  95793. { { 0x5936402fea46c7b7L,0x611f48a4c8e292fdL,0xc9178953b1ef5c93L,
  95794. 0xf8c3b0bf45132752L,0x6f60ee45243ba68bL,0x7aae87523de7945bL,
  95795. 0x9a2526667e5b0f06L,0x39503fed24112340L,0x00000000000000e3L },
  95796. { 0x8479c73c64655be9L,0xd3c0a16e00645b62L,0x4e71df09fbe33ac9L,
  95797. 0xa0dafba123f21934L,0xba16e195a3689496L,0x0dea634e05508b68L,
  95798. 0x6855cfe25ebe2694L,0xec373e0b7d85a1d4L,0x000000000000009eL } },
  95799. /* 19 << 336 */
  95800. { { 0xb8c3dacd4ca0c4d1L,0x8424abd597274623L,0x081fba1ddc429d00L,
  95801. 0x4ea6805c77022b62L,0x09561cf5610a6c42L,0x06bcb6857c4d0400L,
  95802. 0xbf9d4591ee3eda1fL,0x6bee800bc391cf2bL,0x0000000000000011L },
  95803. { 0x5e41cb27c0611ef1L,0x7a25441cc7cd8245L,0xc5bd725ca22201aeL,
  95804. 0x554ff12ef99102f4L,0x55ea06a484c51d6cL,0x93cc43c1fa4d3a28L,
  95805. 0x1e930d0e95158c18L,0xdbbd3924f3aca4a0L,0x0000000000000064L } },
  95806. /* 20 << 336 */
  95807. { { 0xa929ab929b4fcaa8L,0xbd15698f18c196a7L,0x52ba54d9ed6b3cd1L,
  95808. 0xaedec8263afce3d9L,0xc26a7b6aa7a05e27L,0xbfacb969c40091d7L,
  95809. 0x73f5ccaec8fc6e07L,0x7fd306960a44e5f9L,0x00000000000000b3L },
  95810. { 0x00ddfd1f2a5bedbeL,0x417d4298c591c174L,0xf91f5a4c55f96920L,
  95811. 0x3a6623d3936f7a6dL,0x9b67aaf628dd7721L,0x5bdda9995184915fL,
  95812. 0x14cb50bf61a502deL,0xfbb382b2f0d3a5f1L,0x00000000000000b4L } },
  95813. /* 21 << 336 */
  95814. { { 0xd2e51c02358407feL,0x379ba801aa5d1f95L,0x78805d1d433bee43L,
  95815. 0xc8406d4e30368d9eL,0xf1afbc18181d8bcfL,0xe1b5418dedcc02caL,
  95816. 0x594140aade21f349L,0xc935edc90960aedeL,0x00000000000001d0L },
  95817. { 0xb4bac9577c6b52f4L,0x193cae40a1f988eaL,0xd3611a5686c73777L,
  95818. 0x8861119d10907a06L,0x4080e88e97c5aba2L,0x13d48f856177a63aL,
  95819. 0xd98a14637d1505ebL,0x712f5704345cbb1bL,0x0000000000000145L } },
  95820. /* 22 << 336 */
  95821. { { 0x9602183a8656a9dcL,0x38d9cf9914e10f6aL,0xc4480df1af352f91L,
  95822. 0x312a0ee97284509dL,0xf8f1609428a89368L,0xdc60750c394fc38dL,
  95823. 0xa45097b8c4b076ebL,0xebc69f19188f7500L,0x0000000000000011L },
  95824. { 0x0b82a33debf35521L,0x38cfc247822af398L,0x7e47262408ea1a06L,
  95825. 0xdbf9ae15ca3b03b0L,0x992f77515b8ec4c3L,0xa2d4411d491fd8aeL,
  95826. 0x00e5457f6d6707dbL,0x91e79e34a3d679faL,0x0000000000000123L } },
  95827. /* 23 << 336 */
  95828. { { 0x729069f3c2aac2e0L,0x0a3cbdbdcabc2ef7L,0x1ac994e853919f9eL,
  95829. 0x988345d28f722950L,0x6c446036b3eaed7aL,0xc8d1ea591af32590L,
  95830. 0xcb555a29c5f0298aL,0x2245dadc5a95ddc9L,0x0000000000000003L },
  95831. { 0x28b43e4040fd5df9L,0xa37c16c1700ddf94L,0x57f4770188bdd8cdL,
  95832. 0xe46cf6913a7b7b20L,0xc2982480151c16ecL,0x064d58699ab5b911L,
  95833. 0x282e068b1e2e9b4eL,0x8bce73305ca7880fL,0x0000000000000079L } },
  95834. /* 24 << 336 */
  95835. { { 0xb8f663eeba7642c0L,0xd6de3ffd8e5f9f42L,0x5f7a9a7bb661e29aL,
  95836. 0x43e035a5e709fabcL,0x115ff746d241f6feL,0x9aff188d3a889406L,
  95837. 0x35a4d29a00ce6f54L,0xa43706eb19542e2cL,0x00000000000000d8L },
  95838. { 0x6d4d00fe5307c22eL,0x97c82f0ac02f495fL,0x23857399a4563bb5L,
  95839. 0xf5ad0f92e621b072L,0x5e28217f73ed71d6L,0xb850554f7c532cb8L,
  95840. 0xb75dcba289b00deaL,0xa9252801fabb05cdL,0x000000000000016bL } },
  95841. /* 25 << 336 */
  95842. { { 0x113df94b7d7ca596L,0xd0d81f973a09c4e0L,0xfdf25b6dde5f749aL,
  95843. 0xb7a9ca9ff56f6819L,0x4e227c423c76e2adL,0x8f568606fb0c6c74L,
  95844. 0xc68a1311e7d75727L,0x3cae257ea97c6a06L,0x000000000000003eL },
  95845. { 0xb8fc17b67c4eec48L,0x859ababb5c2177e3L,0x372a76051058469eL,
  95846. 0x82bc83878198208dL,0x362b7058289b96d9L,0x008fdbb14b1ff834L,
  95847. 0x6754a93e001b5d35L,0xaf0588963cb788ecL,0x00000000000000e6L } },
  95848. /* 26 << 336 */
  95849. { { 0x7f0b78bf7e8da44dL,0x6bc7705a76e657e0L,0xf62df055522bd33bL,
  95850. 0xcfa310d2d5730259L,0xdb3c752706babe9eL,0xa53c9580c5b35c93L,
  95851. 0x88a085faa6e6210fL,0x2436bc42bfbb2a0dL,0x000000000000011eL },
  95852. { 0xfa99d4eddcfc0929L,0xc08653aec8373758L,0xdd402a641820eaf3L,
  95853. 0x8fe28a88991a187fL,0xb2a8d2aa14e3031aL,0x5d15745af340b738L,
  95854. 0x03f304abb5d057bcL,0x42b9c992b2d32a29L,0x0000000000000130L } },
  95855. /* 27 << 336 */
  95856. { { 0x7bf6c878e6f3697dL,0x0da60fe25286dc50L,0xdaf811cf4427b675L,
  95857. 0x21263e1a63b81439L,0x6c1588eab23ad5d6L,0x67ae668ecf30a50fL,
  95858. 0x019d2c48dedb60c5L,0xcfb3ef72898225efL,0x000000000000010fL },
  95859. { 0xceb271fc50d5ad72L,0xc590aa97a684a6a0L,0xf0c51ceb97b0397cL,
  95860. 0xb0abb09c6f549db0L,0xb04b4898b6adf961L,0x4e5b4948ec0602ddL,
  95861. 0x892d411e95a537b7L,0x613fc8af84b4dcaaL,0x0000000000000166L } },
  95862. /* 28 << 336 */
  95863. { { 0xc9eb8a3732462315L,0x91893c7c6e4e47afL,0xc2c9569bf9bbc7b4L,
  95864. 0x656b2ce30314c0e0L,0x90b866af7e012597L,0x235d7f2adf853ba8L,
  95865. 0xce824693266a534dL,0x3b362419b30f8251L,0x00000000000001cbL },
  95866. { 0xf5c990529df9422cL,0x261a1d31ab69da5fL,0x29ac221f2d225cd4L,
  95867. 0x37090fc6ae4cec4cL,0x257983637417f8bfL,0xcd19cb04f6898caeL,
  95868. 0x98580a0a75239b7aL,0xd1a38556e19c424eL,0x0000000000000025L } },
  95869. /* 29 << 336 */
  95870. { { 0xc4b2e4321ec0f9bbL,0xb6d9c02b4f72792aL,0x692936bcb7745461L,
  95871. 0x70c8d81bf16ed29fL,0xfaf6602cead1e3f4L,0x9ff71ca731f17e50L,
  95872. 0xae87c59b5a4f7187L,0x8103cc5ccbbded31L,0x000000000000013dL },
  95873. { 0x973df81487cb1debL,0x8d733cccf3e31541L,0x3f9a0a7bd66e3904L,
  95874. 0xd9deff68e1a92726L,0x15118a0f9a57ef64L,0xfc1e37f6a079c288L,
  95875. 0x1f3b8593d66e3a5fL,0x2f41c9df69904b4eL,0x0000000000000130L } },
  95876. /* 30 << 336 */
  95877. { { 0x2438afa71bfa8266L,0xe42c4d707aca9c58L,0xed95a6df3a0b8f82L,
  95878. 0xc63e62418c218d8dL,0x17cb1bcf4a467ea9L,0x00add391e6a13b32L,
  95879. 0x84f65ead54bca5fbL,0xf3a6b748d44c6849L,0x0000000000000077L },
  95880. { 0x46a9ffa49a19a7a0L,0x0e8a201247152131L,0xbf3cce1b9e569e70L,
  95881. 0x8ad6f57ecc68962aL,0xdea8fc4929a6daaaL,0x71a147d711e9686fL,
  95882. 0xb705d31d21d2ae96L,0x6bab44926ad7409cL,0x000000000000008aL } },
  95883. /* 31 << 336 */
  95884. { { 0x3bcbec5b43f1bc6dL,0x82f1c117e173ff5aL,0x86732bfc5f7bbae2L,
  95885. 0xb369f7b53b3a68bfL,0x09723468dabd0f05L,0x536a17524466eb28L,
  95886. 0x797ce5a43d685bdbL,0x5c6904da797af4d5L,0x0000000000000112L },
  95887. { 0x0125dc59b2365e89L,0xe95c31e5e6b036b9L,0x025da8ff1bd84808L,
  95888. 0x980320c96689aa70L,0x7a7cf8959ce14041L,0x09fc1e84eddb13a6L,
  95889. 0xa562767a27a54095L,0xdd0ed2f995de4423L,0x0000000000000023L } },
  95890. /* 32 << 336 */
  95891. { { 0x6a55868f11c50119L,0xb78abb45c7912bbbL,0x00ec6edcf2598660L,
  95892. 0x45b396bf3b330dddL,0xf1e1b15d430b461bL,0xd7d7ad1de8c572adL,
  95893. 0xc236b2601ec38412L,0xb668a33699889cf7L,0x0000000000000109L },
  95894. { 0xe39ab64b0bf6ef3bL,0x83496baeb87b2f04L,0xc9a9009ddd04f4b5L,
  95895. 0xcd813e028fbed8dfL,0x8766407ed49842feL,0xed08303dd72a0525L,
  95896. 0xed117dd7b47e882eL,0x62ec57f744ce2e25L,0x00000000000001a9L } },
  95897. /* 33 << 336 */
  95898. { { 0x2f7726ba8e8a63f1L,0xb0c2ad66ecb3ae83L,0xe57a64b99accb54eL,
  95899. 0x79eb94ce3968e980L,0x1030ec413a04e7daL,0x60900b75ae88b7fdL,
  95900. 0x6a2b74e30d22ebeeL,0x93e1657222357db3L,0x00000000000001c6L },
  95901. { 0x0cbe946b8feb2f46L,0xeebf1e20d5d78ad9L,0xbf52e57dccc955e2L,
  95902. 0x03ca5245a84019c3L,0xd83c5de77390eec9L,0xdfb17932c7ca0529L,
  95903. 0x4408ddc221cf2ae0L,0x4b217712bd878077L,0x000000000000010eL } },
  95904. /* 34 << 336 */
  95905. { { 0x19c2fb35e68bfa93L,0xd194609c6be8cd17L,0x3d5bac21c0950167L,
  95906. 0xc6f452ad320fa097L,0x5efbc350c519d010L,0x04b5f5091ce6ff40L,
  95907. 0xbc81371fd33d1152L,0xec1882e91ec5cbdfL,0x00000000000000d8L },
  95908. { 0x389fdd4ad929e151L,0xbc3bf1fc30b376ceL,0xb57789146458a81aL,
  95909. 0xa1b02703bd08823bL,0x6e0bafc8b8ead9bbL,0x05009a9da4a6510fL,
  95910. 0x788cd68402719b2cL,0x4abb7c12f4eaace8L,0x000000000000015dL } },
  95911. /* 35 << 336 */
  95912. { { 0x924834880d6e1420L,0x0f6b842f02a9e525L,0x5f195b9ef2c23ed3L,
  95913. 0x872b7dab188c8a40L,0x6ea520e57a05f397L,0xb84f6f52a8318cf3L,
  95914. 0x7c20f13cb4ab7198L,0x94c07e8634d193fbL,0x000000000000007fL },
  95915. { 0xa665378f640101c4L,0xf718aba2f23d6880L,0x7feaa46ae39f34ecL,
  95916. 0x0c5e49bc45be61a3L,0x6c9e53e91d1097bbL,0x1f8311795b9afba2L,
  95917. 0x7c91abbff68ea497L,0x84c407ffcfb9359bL,0x000000000000010eL } },
  95918. /* 36 << 336 */
  95919. { { 0xf66002a7532cded3L,0x12ae6fbd9b51ba09L,0x1877c71151a4511fL,
  95920. 0x75a3a374b468daaeL,0x09f3fbee0866ffb3L,0xfb535b7479a0e5ffL,
  95921. 0xa9f20777119d443cL,0xb0d45806818ba850L,0x0000000000000089L },
  95922. { 0x9ebce29758c4764fL,0x25239275d673bbbcL,0xb8e731d526a3b9f5L,
  95923. 0xe00ea0a81b7a1218L,0x64e38615251ebaceL,0x1861ba0c43c768d9L,
  95924. 0xabffeab0faa8388eL,0xd7a8dc7e036e9163L,0x0000000000000138L } },
  95925. /* 37 << 336 */
  95926. { { 0x3a548ee6767f67e0L,0xf43995d96e7381e8L,0xfc613affe3f4fa78L,
  95927. 0x75b8421853a88ca2L,0x4efc41a4a34d77d8L,0x67704b6c6dfeccc9L,
  95928. 0xb6301c73ad702b28L,0x2257dc83b0bd12c7L,0x00000000000000c6L },
  95929. { 0x01f144891820d290L,0xd2b2e7b74b212d5aL,0x2372e19e203ffa93L,
  95930. 0x7847f736afc48e54L,0xfd061aa2b0d47790L,0xeb5d269c56107e9dL,
  95931. 0x90e172f6f400c123L,0xf13bd3b9a924ac2aL,0x000000000000014aL } },
  95932. /* 38 << 336 */
  95933. { { 0x2f1e5d38c7d8a5a9L,0xc812dad7d2f00aedL,0xcccd0e9be04e41ecL,
  95934. 0xac5b0abd217a004cL,0xb1332777129d0219L,0x7ec641f09f912102L,
  95935. 0x53d6db38ef3b0f35L,0xc9d6b3cacabcfc1cL,0x00000000000000bdL },
  95936. { 0x834b4b341b206ac7L,0xb6e4bc6ba8a9615bL,0x024f9e7d83fef8fcL,
  95937. 0x659a16fd427d6556L,0x56c796186ea415a4L,0x26b75d757aa919acL,
  95938. 0x01522021d880f489L,0xa250d22c6089862cL,0x00000000000001d5L } },
  95939. /* 39 << 336 */
  95940. { { 0xd90132009928e628L,0x1193d8578046a060L,0x4121d1e40ce4e473L,
  95941. 0x4c4d212253cd7702L,0xcd42376919823037L,0x696394e8b5506010L,
  95942. 0xbd26c4266e10bcceL,0xbb15eb862869fc0bL,0x0000000000000148L },
  95943. { 0x24e36d1ce3895fb0L,0x99b1202f62a2e7adL,0x7be82d41360abc5dL,
  95944. 0xaa8b30afe64dda1fL,0xa5c5cdf693938b09L,0x8a0d8440db48efedL,
  95945. 0x17db9cab6dbdc7c6L,0xe0f3f1a778477ea9L,0x000000000000014fL } },
  95946. /* 40 << 336 */
  95947. { { 0xa35909198b52c773L,0x76609450fa34c84aL,0xcbc53186e1eb0e17L,
  95948. 0x4f1f328a93f87b38L,0xad5a48aaf3e70effL,0xb90942f9338873f4L,
  95949. 0x8d9018db7c92f220L,0x883ee17010edbe69L,0x0000000000000090L },
  95950. { 0xacbf26d4352788caL,0x6e1134413124e676L,0x8c23d996bf850dafL,
  95951. 0x8781a364b318b4f9L,0xe9ccfb474366d53fL,0xc36fddcfa2522307L,
  95952. 0x0d9d490f5c18063fL,0x70e6946a7c772f22L,0x0000000000000021L } },
  95953. /* 41 << 336 */
  95954. { { 0xceb65c253265473aL,0x0848d8c109e9c600L,0x7a1d52b5da02fa2cL,
  95955. 0xc9d059a187ee1d9bL,0x6fc44d08796f782dL,0xc986ddc0de4faa1dL,
  95956. 0x7ae99e1cdb221bbaL,0xecce252439e934b3L,0x0000000000000145L },
  95957. { 0xebf9741ec8b2e015L,0x8291788dcc2829e9L,0x85e30cb4b92d367bL,
  95958. 0x6306f633d498e495L,0x982bf2b64b7d0e51L,0xec78717623b5ce39L,
  95959. 0x13813e58d7dbe278L,0xf35d5ab7de0b9f48L,0x000000000000010aL } },
  95960. /* 42 << 336 */
  95961. { { 0x3465a55880b2842bL,0x69ae8ee5fb5c4ab4L,0x0f60b67f1d9d3c2cL,
  95962. 0x43c637aba61d5441L,0xebb11af2616bb3beL,0xb233d60c8ebb368fL,
  95963. 0xfe78b8e8e666a6bcL,0x40c89e61199647bfL,0x000000000000017dL },
  95964. { 0xdfd02f7d1a7e4004L,0x67ea0f94f0db6c8fL,0x75fb799d0b25ec12L,
  95965. 0xbf15842512e0b07bL,0x6232d56ccf7cb388L,0x62852eadd2b1cf35L,
  95966. 0xdebdf566d4d5a337L,0xd4224257c5d68925L,0x00000000000001f0L } },
  95967. /* 43 << 336 */
  95968. { { 0x3b3b236a2705c8ecL,0x18e596fe8f9ca382L,0x6cef674b595529f9L,
  95969. 0xdd4d79e523afaeb2L,0x96b687668c095755L,0xc20d270322f1303eL,
  95970. 0xaf55fa652118e930L,0xc1598fdb6ab3adddL,0x0000000000000007L },
  95971. { 0x8c72b53a9f7ec947L,0x230c6c33ea8256afL,0x3631364728ff1428L,
  95972. 0xedd1a1d226269503L,0x35142f60f50ad51dL,0xfb1597d3365f7d6aL,
  95973. 0xc0d5b6da40fb6f18L,0xc3cf67973fa48c72L,0x00000000000000e4L } },
  95974. /* 44 << 336 */
  95975. { { 0x7d59c3f4712ddfbdL,0x839dd63f84f37f9dL,0xb7d4176f102b47ceL,
  95976. 0x91549e3ab3e2d34eL,0xf82494656176fa4eL,0x34cef89d534e8a88L,
  95977. 0x5752810fd05652fdL,0x05878d59e8109c08L,0x0000000000000045L },
  95978. { 0x83e223e70f9b0af9L,0xd4094717d8b7e4e9L,0xfd6789140f16428bL,
  95979. 0x39782a1591a6f1c7L,0xfc637c567d10b525L,0x396ce1a419b2719dL,
  95980. 0xe3c112a59d21f5baL,0xcc9423b1fec40d42L,0x00000000000001e6L } },
  95981. /* 45 << 336 */
  95982. { { 0x9918e21421c67dc6L,0xbbbe96db3ce73d10L,0x646749af353facceL,
  95983. 0x4471d11f941a1ae8L,0xdce491d8254be83dL,0x2a734d2b06044c3cL,
  95984. 0x015bb26f33e90f68L,0x2986a9179b397235L,0x0000000000000000L },
  95985. { 0xf2bc225392d0328bL,0x3cf80ec41c01f96eL,0x7059378025f2b93fL,
  95986. 0xe218c28f8caa3c34L,0xed5b3b01acf08f85L,0x78e7130b675abf03L,
  95987. 0xdc164f62e61ea709L,0x5e9bcdafe7cce590L,0x00000000000001d7L } },
  95988. /* 46 << 336 */
  95989. { { 0x7dd978412969cc46L,0x464f831465c2a193L,0x0f0814d7556ba73cL,
  95990. 0x4e0b01c2a746479bL,0xf769a86a222abae4L,0xaf204519b06949abL,
  95991. 0x219f3dd4bc0cae6aL,0x41e7fd75bb04e014L,0x0000000000000111L },
  95992. { 0x8c81a4171b4685ecL,0xc2cdc2fb56fcf448L,0x047f00b60ffe70b3L,
  95993. 0x4fb3e96353c0b627L,0xd6eb99c304092d40L,0xcef9e712824d32d6L,
  95994. 0x22438fe0661c9073L,0x1d24b9508b5d62a6L,0x0000000000000179L } },
  95995. /* 47 << 336 */
  95996. { { 0x776548c41646b926L,0x5da803c6cbd4f251L,0x9fb4cbbdcafbff5fL,
  95997. 0x136e5ab46b1967e8L,0xbf3187c655c2cc0fL,0xb5cb7010ce03caffL,
  95998. 0x75f960d74cba3a38L,0xf1f7da468c4de719L,0x000000000000008aL },
  95999. { 0xaa9771cf8e145328L,0x955607127e9c7154L,0x7576c566c54ac3ebL,
  96000. 0x83a1cc22b9565637L,0x65a033e85f237916L,0x0fc5b3076eecda9bL,
  96001. 0x6a8a26805a6bbbc6L,0x3f5df88eace3f66fL,0x000000000000011fL } },
  96002. /* 48 << 336 */
  96003. { { 0x8ee76fb84b60e7d4L,0xcdcf289366df99e4L,0xf0a8087980648b08L,
  96004. 0x3c499205ae3ade6dL,0x73d8d03503d4984aL,0x4fcd2c1ce21a233cL,
  96005. 0x0b5c1e89bf51ca1cL,0x1b7a009f237792d1L,0x0000000000000116L },
  96006. { 0xd2dca97044961ef0L,0xd5a6fbcba97a7b6aL,0x5e6da5975a4f98c9L,
  96007. 0x2421c548bca536b6L,0x7a591af11f7ee8a4L,0x320308818a8817c3L,
  96008. 0xd98a21782af67257L,0x31fb8f953828bbddL,0x00000000000001cbL } },
  96009. /* 49 << 336 */
  96010. { { 0x2fe629cce3886eebL,0x703263920694724cL,0x42ea1744001fde6aL,
  96011. 0x285ba5fcb4b7c99bL,0xa7474f9203317986L,0xfa84421405f64263L,
  96012. 0xe64e02dfea76091bL,0xe5356b2ddff26696L,0x00000000000000e7L },
  96013. { 0x47e54d6513506a2bL,0xb66069948dd04445L,0x86413fcafda61d05L,
  96014. 0x58a825310779b2ebL,0xaeebe93899414dd7L,0x838add05bf1cc63dL,
  96015. 0x98cbe079d98429d5L,0x7416b93677ceb9ceL,0x00000000000000d5L } },
  96016. /* 50 << 336 */
  96017. { { 0x196b992f7903265aL,0x3f8c505985ac43caL,0xa0542a9832f558a6L,
  96018. 0x34493872f8f15c20L,0x8422611411ff2331L,0xaaa95263dad5aa4dL,
  96019. 0x5ba3c89449618a2bL,0x7114cb67ffb0b7afL,0x00000000000000ebL },
  96020. { 0x22896ed5c413488fL,0xb68be598e59cf5a3L,0x8aece01d5a9f0b73L,
  96021. 0x5ef6ef9fe44bf3c7L,0x276042132e665544L,0x5cbaae365b4fb862L,
  96022. 0x2bc1f35ed164d7b8L,0x353fe76e05a5405cL,0x00000000000000c7L } },
  96023. /* 51 << 336 */
  96024. { { 0x5c6259f3f2bd866dL,0x74f730eb67f990fbL,0xeda67791bac84b24L,
  96025. 0xd77e5d5ff0d8e9e1L,0x997d32d627f0633bL,0xe26e2cff845bd85bL,
  96026. 0x214962750bcec89cL,0x615c7f755ab41a61L,0x00000000000001c5L },
  96027. { 0x5b5e76ff238ba9a4L,0x5a66c41f6342061aL,0x036bd57b984949baL,
  96028. 0xb8bd4d4c78893803L,0xade10dafc8bed951L,0xb17d2e19dd61db30L,
  96029. 0xa36f13476346eaccL,0x43ef15d396e37846L,0x00000000000001c2L } },
  96030. /* 52 << 336 */
  96031. { { 0x2e82f2e8fc7dfeebL,0x4351215c52c20206L,0x3b7875804be6deabL,
  96032. 0x480d4e87e24e7b8dL,0xbc1e73e71a2fee06L,0x9ee62e8dbbe97079L,
  96033. 0x729883c30c65ff12L,0x7d79b4450d40e7a4L,0x00000000000001c7L },
  96034. { 0x0040e8251338a343L,0xd46631e703c25efaL,0x69038f5ec8d68911L,
  96035. 0x5cdcc85d67efed4cL,0x7bc6c0d960dec282L,0x0ff1944dc69bd184L,
  96036. 0xe9c1f924840c0a85L,0x8744d9a243df13f2L,0x0000000000000039L } },
  96037. /* 53 << 336 */
  96038. { { 0xffb073725731b8dfL,0x55b50655528162dcL,0xb06b7e4fbaf43a0aL,
  96039. 0x2384151f3205c2ceL,0x2fb3a0ff0796e15eL,0x145b6de137a2080fL,
  96040. 0xa7fc63f1eb9e8ed7L,0x282c8eeddbb2c666L,0x00000000000001deL },
  96041. { 0x797ac3c0cdb70b94L,0x9ed6c19f8afe775fL,0x959e53d08fdf4354L,
  96042. 0xee3422904c6cd016L,0x878e3ce6da3d2171L,0xf91eb6cc0c0ecd98L,
  96043. 0xa4c9deb0352ddefbL,0xe0fbf7404cd91881L,0x0000000000000093L } },
  96044. /* 54 << 336 */
  96045. { { 0xcf3ab1a8c06a14cfL,0xe1dab4729134a070L,0x02695c59d307b78bL,
  96046. 0x6ff63c8927584f96L,0x0f2d84c83591c925L,0xc3f41483aee8afb2L,
  96047. 0x9f1021819b9720d0L,0x990e1e26ecc16999L,0x00000000000000b3L },
  96048. { 0x3bd5760e1240a3f9L,0xf40840d9bb9c9613L,0xbee95c7dccb1cc9bL,
  96049. 0x094f695218da33f7L,0x116776dcb55c954dL,0x7d5820b102e92e9fL,
  96050. 0x06fb44a56ee9fb47L,0x35771a46baeb1c66L,0x000000000000007cL } },
  96051. /* 55 << 336 */
  96052. { { 0xd0440862ec99e2a6L,0xab4a43a33ba340ebL,0x12bae2691f10a256L,
  96053. 0x4351afbd77fa12cfL,0x940ca3c3316a9a8eL,0xda41cfb0e7e77bd3L,
  96054. 0x0fa1738fa142b7e2L,0x00fc2c8afc50ace3L,0x0000000000000157L },
  96055. { 0xb1d820d0714f689bL,0xe64117180c4c8717L,0x59083d80ba8d5ce6L,
  96056. 0xcc2f13ab5a3b4531L,0xaddaf07ad5a8ebbeL,0xba541abb21a54993L,
  96057. 0xbf86b7ca801cc68aL,0x23d9dae3b2f94878L,0x0000000000000107L } },
  96058. /* 56 << 336 */
  96059. { { 0xebe606acae034f8cL,0x818cdf076b6018d6L,0xfe55379b7608ef90L,
  96060. 0xaa46536f8ba09a70L,0xc013d0e9c8e4d932L,0xf6c3c883da15fbfdL,
  96061. 0x9d01956feee975bdL,0x12559e14ca159bd6L,0x000000000000013dL },
  96062. { 0x13cd63821aedc90bL,0x0702dfbdbb2ab040L,0x30b7ab23ff22a921L,
  96063. 0x5e348016544e103dL,0x478ca80b00ef78b1L,0x5f56249af37d1238L,
  96064. 0x330515a9222de97fL,0x415dc934b0a87d9fL,0x000000000000015bL } },
  96065. /* 57 << 336 */
  96066. { { 0x1c4d07047b5bd6a3L,0x48c3ef051b90b22eL,0x70a08c1f1a64461dL,
  96067. 0x4a04e537dd99999aL,0x150e2d2272551b9cL,0xce73d701f738d935L,
  96068. 0x0075c2f9282e466bL,0xd4fb74363bbfab78L,0x0000000000000198L },
  96069. { 0x4aa5ceeeb6af5e61L,0x3d5e02891ce71dfcL,0x4ec385390a795137L,
  96070. 0x26a82c384e4c960cL,0x853dfe6003e80d25L,0x05c38fe7f833c27fL,
  96071. 0xa0fc2cad0e5fdc8eL,0x651964f066b1409dL,0x0000000000000155L } },
  96072. /* 58 << 336 */
  96073. { { 0xbcd1b8fdcd2c882aL,0x972b6862b2561e9fL,0x0f3d3eed44ec7dadL,
  96074. 0x2f193dca33dd798bL,0x16923e1b3425be8aL,0x424ac2d0fcea5e3cL,
  96075. 0x04dae6a5d3088f6bL,0xb37290420a495a9aL,0x0000000000000191L },
  96076. { 0x233de0d8c36dd1b6L,0x4201b3dd8a627653L,0x193ee18fa4ba6c52L,
  96077. 0xafd48153da4125b9L,0x893c89d06ef2233aL,0x1181fc422ad683d6L,
  96078. 0x6e9a5811f22ee65bL,0x2b60ec5e843e7be1L,0x00000000000000c2L } },
  96079. /* 59 << 336 */
  96080. { { 0x6906f9196f71d92dL,0x05811b7aa400e02aL,0xad0a7fbeb1147b49L,
  96081. 0x14756b6e854e11a8L,0x2f1ae8e68e071b70L,0xa923d788938cf9e2L,
  96082. 0xa2798bc0dafa6f8aL,0x0762c1b7bcd2c30fL,0x0000000000000097L },
  96083. { 0x53c32ec5438538b4L,0xb81a76f9225d6abbL,0xa6bfdddb1596d571L,
  96084. 0xe7fdd67a7bcbfa9bL,0x90bcccd91136787bL,0x2407ce31ef192712L,
  96085. 0x89dc7c1c2656dcdcL,0x613cccda158f3d14L,0x0000000000000044L } },
  96086. /* 60 << 336 */
  96087. { { 0x17f4ae2fa457f66fL,0xdcbaaf86f7f9b42fL,0x63f9b6a4512eae83L,
  96088. 0x0e7005e8906c197aL,0xa6dbca2a47d9a62aL,0xabfc7eb772e1d3d5L,
  96089. 0x67a98eeb1f26cd4dL,0xda8b076a0cbf90e1L,0x00000000000001a6L },
  96090. { 0x6b0ad7ac20b776ddL,0xc866b4abfcd80552L,0xa61879f9df7a54fbL,
  96091. 0xed17d02b5d624997L,0xd91598090e81e750L,0x0950c09fb796dd7cL,
  96092. 0x2841052885acec3fL,0x951a064a247e3b6dL,0x000000000000007aL } },
  96093. /* 61 << 336 */
  96094. { { 0x92e45635293aa8cbL,0x632ad2cb47abe5b5L,0xa90124982269db7cL,
  96095. 0xb43095b71331e914L,0x4791600f7092ae50L,0x12270e800afa04b2L,
  96096. 0x6734fdca0a89a3b2L,0x703efce3cef04cdaL,0x000000000000004cL },
  96097. { 0xa3a0c24dac19c42dL,0x56dd189a4b3e8f25L,0x9413431f3ed8d5eeL,
  96098. 0xb4f9626ec0db57d5L,0x7991275b8d43d9d1L,0x154a82d9aca25085L,
  96099. 0x30d558d279af6d23L,0xc37d14ed0894d400L,0x0000000000000152L } },
  96100. /* 62 << 336 */
  96101. { { 0x8a52f15018291f3aL,0x0ba052fb8e4a18eaL,0xb33beb1850947674L,
  96102. 0x24e7295dda7960d2L,0x9c881fa7b4252751L,0x141a115777d3eeb7L,
  96103. 0x98ba241b6d50cac6L,0x6e7627ae87169304L,0x00000000000000bcL },
  96104. { 0x4d7bda103d0d4bcfL,0x22827deb008a4463L,0x0e52c2e79a70f90cL,
  96105. 0x6712a9fce39b6617L,0xfd8973c0505fe510L,0x11cc0de558c8409aL,
  96106. 0x210477f3c64f2cdfL,0x0e6e51af443cc0a0L,0x000000000000001bL } },
  96107. /* 63 << 336 */
  96108. { { 0x4e7381532c5b1678L,0xf1264efdf0c3ad21L,0xe6b67649c37f0993L,
  96109. 0xb3250481fdf7a6adL,0x34841e26d656f64eL,0x6c582f17eb5e5266L,
  96110. 0xe98350b4455c5d17L,0x58f8e6d373857797L,0x0000000000000156L },
  96111. { 0x43289122e842a3acL,0xeb6f13b743590803L,0xc62511d75946d265L,
  96112. 0x68a0c27f718aebadL,0x0105232e8a8e7627L,0xf5c3f66c62bbebeeL,
  96113. 0x8ed456985e690cddL,0x3eeacd862e990ee2L,0x0000000000000076L } },
  96114. /* 64 << 336 */
  96115. { { 0xee2f0d5e485da448L,0x1ed09705ff6f7ae7L,0x14eecc17280081ddL,
  96116. 0xa120ee797230161cL,0xcc768683ff269a0aL,0xf63e5dfc2a872fafL,
  96117. 0xbb5b1ae6acc10cb2L,0xd110650707a71c22L,0x000000000000007cL },
  96118. { 0xa17256895a78b340L,0xc8802d2a8d805b2bL,0x4f1bd019e62fac2eL,
  96119. 0xa1dd8419806b6762L,0xe6808f48a9223942L,0x50a99d62a6a1e281L,
  96120. 0xfa71344852fbacc9L,0x09e7a5fbb5d82a8bL,0x00000000000000c8L } },
  96121. /* 0 << 343 */
  96122. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  96123. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  96124. /* 1 << 343 */
  96125. { { 0x56b1560ac1c7ce9cL,0x619fddf45fedc58cL,0xe8d35dc7b59afa4bL,
  96126. 0x0c5f5ac8eda188adL,0x14d11e1b1a468155L,0x9a5fd6c91529288dL,
  96127. 0xf8b121d3e9da413aL,0xcd307365e231527cL,0x00000000000000e4L },
  96128. { 0xda248cc0f086ec25L,0x800ea7d4306b0d1aL,0xa5011ab86b74d50aL,
  96129. 0x68bad0af749befe4L,0xc1ad06091bbbce0fL,0x363078eb2727c718L,
  96130. 0x2e2e4aec18c61d23L,0x41f8fd81c84e4120L,0x0000000000000137L } },
  96131. /* 2 << 343 */
  96132. { { 0x9a579dee796de182L,0x6f780aa7f6fd67c5L,0x8e2e0d6d6c566337L,
  96133. 0xd8d685b5e5314714L,0xbc0bcb3a8099f308L,0x7127691f585ce610L,
  96134. 0xb1dd4f51fe15ed8aL,0xab542e06217bd3c7L,0x0000000000000183L },
  96135. { 0x67e189835f29dbd2L,0xf0092c9f74d67113L,0x3faa747c847dc935L,
  96136. 0x798604f27f5be1b1L,0xf766db9a8c76c26aL,0xa38d86f05c205ca3L,
  96137. 0xfec097778c6e65adL,0x1c2b356c156b3b92L,0x00000000000000d1L } },
  96138. /* 3 << 343 */
  96139. { { 0xfd161d574973e99dL,0x10ee5e335fd197b8L,0x931929e7e937363eL,
  96140. 0x3593ac90e29447f7L,0x69e629fa511c53beL,0xa9140acf40818adaL,
  96141. 0x2228aa6cdbc45f65L,0xdac3b76cb6956fedL,0x00000000000000b9L },
  96142. { 0x6f387c616730915fL,0x167ce892b42fb653L,0x88ae15d58258e7e5L,
  96143. 0x5b5467b445c89d8fL,0x4689f145d122a7afL,0x47c3167dbd359cfeL,
  96144. 0xbaa7f767939f7d23L,0xd2457722cf62d4fdL,0x0000000000000051L } },
  96145. /* 4 << 343 */
  96146. { { 0x40e2e814378740bfL,0x63a78984cbd2bd7bL,0x372e13db8a8dac87L,
  96147. 0xaf09f900f60984c2L,0x5fcb7a8e79dd89c2L,0x29b8a792ff667cb1L,
  96148. 0x9f8db873adaa64f7L,0xc52129f85dcc5522L,0x000000000000016cL },
  96149. { 0xa7c053bf00c4f4cfL,0x236a5b2399f2b4cfL,0xaa4e794a7d8f5dfbL,
  96150. 0x42752a2262ae7550L,0xbf731493b6aa180eL,0x4cfeb68e0c875ff4L,
  96151. 0x0c30dcd7e0c5141fL,0x3dcf620376da59f2L,0x000000000000012fL } },
  96152. /* 5 << 343 */
  96153. { { 0x95dd4eb5f8656474L,0xd4669a971cd62198L,0x0cc8ef1e92d0b064L,
  96154. 0x9dcf50884d3ec93dL,0x98579f40ebb7f117L,0x5d355b938f1d1f2eL,
  96155. 0x84b5a27e9e66bea0L,0x813076efea829073L,0x000000000000013aL },
  96156. { 0xc377cf528a995f59L,0x51d5d552504af77cL,0xe78a03839e855f7bL,
  96157. 0xc28dc8efd54d0003L,0xeca6acc485efd53fL,0x94835190e0a0125bL,
  96158. 0x26df5fda0ecfbf08L,0xdeb29864cb0dd7d4L,0x0000000000000046L } },
  96159. /* 6 << 343 */
  96160. { { 0xdfb64f02974d9b78L,0x31f9a91b41cce8d3L,0x34dcb6e34999e143L,
  96161. 0x01d57ca3739197eeL,0xc0f2108c78b9f00aL,0xadc6692c4a735404L,
  96162. 0x8358671e3bcc3b72L,0x3fc1ea7d6f09f3c5L,0x00000000000000e7L },
  96163. { 0x9c983854e86d270cL,0x4d51aa04ae44b27eL,0xff192db6d49c136cL,
  96164. 0x8b4eb830e0f2963cL,0x839723cc894608a5L,0x39df449cfd6315ecL,
  96165. 0xa65f47eff69010dbL,0xdf70203694f69bacL,0x000000000000017cL } },
  96166. /* 7 << 343 */
  96167. { { 0x98a217d8a7979eb7L,0x2f4859d405e2e911L,0x37ec784f9f43d39bL,
  96168. 0x6047068b55a35243L,0x2d40c1194be6cdeeL,0xa28ca46cc2d0a82eL,
  96169. 0xf3f91ea1e53f26e5L,0xfaa1f1ee0ad5a3d9L,0x00000000000001c4L },
  96170. { 0x8774d3bab3deb139L,0x94e79e50bfe48f58L,0x31425427b8a91318L,
  96171. 0xac77740efab106c0L,0xb496d88441a74a18L,0x45952361c5556450L,
  96172. 0x3d513f1474936fcfL,0x80f8d50ebe0c79c1L,0x0000000000000006L } },
  96173. /* 8 << 343 */
  96174. { { 0xb3eee6fe2a5a58feL,0xe8fac6485f1bd90cL,0x8c76159758fb2b1bL,
  96175. 0x58d5a7ec41103723L,0x33335bb4a9800518L,0xa2ded46025ed26e0L,
  96176. 0xa8996e7829e98932L,0x819f8f8bcdfb40d1L,0x000000000000006fL },
  96177. { 0xb8b1d0edb98e803aL,0x29fd31264620cea3L,0xea10dcb49eebe49cL,
  96178. 0x29b7b6999ad55911L,0xc77d33dbf0ca87e5L,0xb9a166ecfe915661L,
  96179. 0xc2ad03b0eccf8c45L,0x7b16346d053affacL,0x0000000000000082L } },
  96180. /* 9 << 343 */
  96181. { { 0x916fd08c8984d1dbL,0x7c7870365b1bf3d2L,0xe148da9f2b88ff97L,
  96182. 0xa962ff45ac7c4189L,0x7c1ecc275768d54cL,0x33da8d97d43156d9L,
  96183. 0xbfe05acc50f9f6c3L,0x0fd6737671323d62L,0x00000000000000ebL },
  96184. { 0xe45e1307c547c707L,0x3db010d28499f1ebL,0xeabff4004f388db4L,
  96185. 0x0b46757cb6041ecaL,0xca91315ebf746334L,0x5980424bd4445cdfL,
  96186. 0x7ccb2bb7482799ccL,0x9c9aa96e3129e0d9L,0x00000000000001b9L } },
  96187. /* 10 << 343 */
  96188. { { 0x5e6daeb491bf9e59L,0x9dc3d78928978a08L,0x8ba213793cf5ab93L,
  96189. 0x13e05a849f7f32d8L,0xca46a51d24d864cdL,0x49da1d0958f27ab1L,
  96190. 0x3d44ac191dd5bb6bL,0x14eb042f960ba63fL,0x0000000000000031L },
  96191. { 0x8c9a73c4857451b4L,0x61a5f60d29e1992eL,0x6b6cd67b1aff692dL,
  96192. 0x3b702f11b835afc3L,0x4270a9babfc9d3c0L,0x68c63f32ca0c7cc0L,
  96193. 0x841cf2826ea38e95L,0x85c69baf0d60d28aL,0x00000000000001eeL } },
  96194. /* 11 << 343 */
  96195. { { 0x45e6c6b23f5f1b24L,0x15c28586b7cce3beL,0xe985cedf965cfc87L,
  96196. 0x26747eb284cf2b49L,0x681700f7c15ce505L,0xe2d3e6344273ba87L,
  96197. 0x09e2e994691f61b5L,0x13dccaf844b47927L,0x000000000000014cL },
  96198. { 0x8c7d0330798eedbeL,0xe0e7fa0ec3f4951cL,0x99e5422f22ffa060L,
  96199. 0xa977fefc3e202a9bL,0x40d939b29fda521eL,0x49c677526e65acd9L,
  96200. 0xc17c3b685171db47L,0xda5735369cc9843bL,0x00000000000000faL } },
  96201. /* 12 << 343 */
  96202. { { 0x085d3a3cd827cc1aL,0x66ade8b0b0a2b341L,0x4b810c4cb68dfc88L,
  96203. 0x77fe410ee5230a76L,0x8426dd8e389a3a1dL,0x2dda407d7d94bcf3L,
  96204. 0x5c661465415e7675L,0x442edb73273f2602L,0x000000000000016cL },
  96205. { 0xe079d5bcb074acfaL,0xa72d9c62d08169caL,0xe1d49019f8828607L,
  96206. 0x6ec373632e99dad2L,0x00f11e7bc8707b4cL,0x8b3275a0face4dc8L,
  96207. 0xfd045d4660ad7b4aL,0xb59f6b352d870ba7L,0x000000000000005fL } },
  96208. /* 13 << 343 */
  96209. { { 0x8d68557b51272392L,0x5309f4ee45658c02L,0x3095b408efe64d18L,
  96210. 0xaa43cad23d85c797L,0x859fdd6a4466d136L,0x19522c68bdd1220fL,
  96211. 0x2def78829b8cf52bL,0x3374cc6bda0d3564L,0x00000000000001caL },
  96212. { 0x70ba7af1481ff4fcL,0xbfec18ace52060eeL,0x193045817332c570L,
  96213. 0x9bca275ae05313dcL,0x792532b3e4688a8fL,0x73a7088b2cc15270L,
  96214. 0x0d5f57a3cdd433a5L,0x53928b9ce4932780L,0x0000000000000119L } },
  96215. /* 14 << 343 */
  96216. { { 0x360e5a48a3d933ecL,0x0ab120bdf7bbea20L,0x30b58f9adb780cdcL,
  96217. 0x30736d9595285853L,0xd52795fb1b3839deL,0x61abb62ef74f223aL,
  96218. 0x7134f16b31f8ec5cL,0x716089459beced0dL,0x00000000000000a1L },
  96219. { 0xe346fc2d8d5e323dL,0x56aa6ef5ae6c4aa1L,0xdea1e40d130796eeL,
  96220. 0x7685efdcd71960e8L,0x07e19bb51040e1bbL,0xb89e54e64709427dL,
  96221. 0xb09e9978ab677ccfL,0xd155e8cae4e79e41L,0x000000000000017fL } },
  96222. /* 15 << 343 */
  96223. { { 0x37911cec263d9d14L,0xf47b2325e6c4d1beL,0xda885016f0147d78L,
  96224. 0x0885ca03887ecb3bL,0xed86eb282d186bfeL,0xbdc86af2532d79c5L,
  96225. 0xb383a5e811c79f33L,0xe07db5fe06434eeeL,0x000000000000005fL },
  96226. { 0x94ebda7ed0e9c38eL,0x890cbadf57eec5ccL,0x0307af50c3e7bb87L,
  96227. 0x7a736b3ad82a5ccaL,0xa11df6677ff0813aL,0xb6108387e88d8258L,
  96228. 0xbd705b30d4d86b60L,0x8236cf82dac7fb06L,0x0000000000000038L } },
  96229. /* 16 << 343 */
  96230. { { 0xc08891ef1f60c05eL,0xf9407f855915d764L,0xde8e7a4f0c96f04eL,
  96231. 0x6f2753d62cc9d658L,0x59c566b1ddd346f9L,0xf47b8329e3197938L,
  96232. 0x279a225bec0f1790L,0xd2001390302c441dL,0x000000000000001cL },
  96233. { 0x71f6e57c20ea5e7fL,0x12786ba3c8eccc18L,0x31bfeee7563adb36L,
  96234. 0x688bbe01c99e4db1L,0xc1a39c8458226d89L,0x4a23db6dd0436b3dL,
  96235. 0x9009c835bcc4a5d0L,0xb5765b5b4bc5e903L,0x0000000000000147L } },
  96236. /* 17 << 343 */
  96237. { { 0xe6b4a598aa1bedf5L,0x961741ea269742a1L,0xa70c0ead730beb27L,
  96238. 0x6630a4735b0951b6L,0x7705bf6ebe99d329L,0x72c5d355f107c12aL,
  96239. 0x3339727727eb0146L,0x88057c43805888faL,0x00000000000001efL },
  96240. { 0x0e50400725ef77eeL,0xe4055d7b45c6b5d0L,0x50fe7dc291aab5e1L,
  96241. 0x0a4a41f4b30dde14L,0xf79ef05566d0acecL,0x47ff1b08d751cbebL,
  96242. 0xb3b376414b70d1cfL,0x839901ca495f96c5L,0x00000000000001e2L } },
  96243. /* 18 << 343 */
  96244. { { 0x70f293f78d7a1a55L,0x6d47ae698dbd1bcbL,0xd972ce7e2a482890L,
  96245. 0x565b5a69ae414647L,0x1ff7f1f4fac08052L,0x6ac7e4f7a6b8ea59L,
  96246. 0xb00046d54c758546L,0x57fda89278c94b54L,0x00000000000001efL },
  96247. { 0xc89c53d4ab9b1fd8L,0x120412c01939d37fL,0xacf8ab74178a657dL,
  96248. 0xf02ff62e6277e2f9L,0x6d388adadef2648fL,0x0a21d194d18d7ec9L,
  96249. 0x28a91fb9620af185L,0x9a4be9c4cb7ebf4bL,0x0000000000000025L } },
  96250. /* 19 << 343 */
  96251. { { 0xbc45e6e4b2dae93bL,0x078b15245136d380L,0x61d2079bcde5d587L,
  96252. 0xdcb2f7bf4d18976aL,0x3134fa08f1163d89L,0x4548e1cc166d26d9L,
  96253. 0x372b77f520cf54c8L,0x21e059e7370c6405L,0x0000000000000090L },
  96254. { 0x88f8eaa80398ad72L,0xef4dfabdc756e71fL,0x9793c8cd26ef090bL,
  96255. 0xa2183be477e6c7ebL,0x89687bae0c15e96eL,0x973c780afb7901f1L,
  96256. 0x98d0434c8c13b4e5L,0x5ac0079c7d545f02L,0x00000000000001b8L } },
  96257. /* 20 << 343 */
  96258. { { 0xb6cc18ebda4a348fL,0x75ec91dea1828b88L,0x33d09001749d90e6L,
  96259. 0x09157f665444d6a2L,0x3d99e23ec900287cL,0x5b7ea7f56e259af4L,
  96260. 0x23cf7c3d7f716c57L,0xf3eb640ffe71bb94L,0x00000000000001aeL },
  96261. { 0x8244fc846e9cdcf1L,0x595beb65e002db4cL,0x5caff71941a87d50L,
  96262. 0x79b6aab4e3ccf8aaL,0x1c57658749d3eb51L,0xe81912249671a8dcL,
  96263. 0x64c41ec1651fc983L,0x9f8680d37983f157L,0x000000000000006bL } },
  96264. /* 21 << 343 */
  96265. { { 0x60ab42fbe05b2926L,0x1c587bf61d33e1dcL,0x96f5e70249ff79e9L,
  96266. 0xb962af43e24c2e89L,0x30042cb3be7c4f64L,0x79f652a81d63ce35L,
  96267. 0xd898a931ad6a7c44L,0xb2fb1570230d1accL,0x00000000000001f2L },
  96268. { 0x2022d6a58be3811dL,0x00194f6b73c51c56L,0x3ef9434003d77a7bL,
  96269. 0x6d1989c6b8e27ccbL,0x03eae3f13a64841aL,0x41fadc74c63267efL,
  96270. 0x3e79f28722c3f704L,0x9d6bb8f454828d4eL,0x000000000000018aL } },
  96271. /* 22 << 343 */
  96272. { { 0x185cb8e721e2e26eL,0x1866dbbff82c3492L,0x5a5e2a8913fe27abL,
  96273. 0x2a97a225ba74bc51L,0x9699342b754d7055L,0x11cbb11a2395566fL,
  96274. 0x7a1a2e8d98ded0a3L,0x17986e2379b54681L,0x0000000000000003L },
  96275. { 0x646f4099da8c44d5L,0xb738986d451eeaeaL,0x09dbb26b7a3b8625L,
  96276. 0x5b427f68db3935bdL,0xd946c20da7131ae5L,0xae04ca918a745c0dL,
  96277. 0xa1b0ef3a3f2341a6L,0x7b87fe01d6c790e1L,0x0000000000000098L } },
  96278. /* 23 << 343 */
  96279. { { 0x72170b94be3f7ed3L,0xbce35d7df87e5a5bL,0x475dc4f4a187c49dL,
  96280. 0x8f70214da1e51c4cL,0x4a4f2173b03f9991L,0x0f402769644bfa17L,
  96281. 0x1fcb1fd205185c69L,0xc73f4d6ad59730d6L,0x00000000000000f3L },
  96282. { 0x718cba01d0af16c4L,0xf877dfc0321d02baL,0x92005bdd160a85bdL,
  96283. 0xa77c73b9fa3cc000L,0xd32784fa789d71a5L,0x1fed3e8451aa04d6L,
  96284. 0xe5eff488d6838f92L,0xc6dd5be9b197e512L,0x00000000000000b2L } },
  96285. /* 24 << 343 */
  96286. { { 0x78a6a00515ccb3f5L,0x77707acad710f874L,0xa9f60018df76fab6L,
  96287. 0x7a05131eb0ef7585L,0x73076403c0347bd4L,0x5677f9b970f16928L,
  96288. 0x71e01afcacdb7c70L,0x2801531df2261bc4L,0x00000000000001b3L },
  96289. { 0x2e0884c087ab879eL,0xcef683ae5692f07fL,0xe9378ca2ecb5108fL,
  96290. 0xb259e58446581fb3L,0xbf13bd74d9ab63e2L,0xdbb1a8660488e2f7L,
  96291. 0x308d1a9c791c614aL,0xc064c4b74bafecceL,0x0000000000000068L } },
  96292. /* 25 << 343 */
  96293. { { 0x3baa82b9d0344395L,0x61b0ae22f03f32d3L,0xfdf609fdb9ab6330L,
  96294. 0x8d2d4961e63485d7L,0x118bcbae7ed8bf75L,0x48084311dab22cceL,
  96295. 0xd878e073ffa72bf0L,0x2d31d41024088b64L,0x00000000000000d8L },
  96296. { 0x1e2ad88893e537ccL,0x723c084c89496f7dL,0x154523b8e2095efeL,
  96297. 0x60efb050a2a64c74L,0x1da398ac0f97d458L,0x3a4f1f7c382044e6L,
  96298. 0xced99f7be34a1f0fL,0x7d757166ecebb070L,0x00000000000001f3L } },
  96299. /* 26 << 343 */
  96300. { { 0x2368670204035fbcL,0x494b7bd0a09ffd39L,0x24d81683d3d1a346L,
  96301. 0xd8717302a15611edL,0x67d48150235fbe70L,0x7056885b92733e93L,
  96302. 0x7088dd8d149e63c7L,0x9d1fa18c9fa2b660L,0x0000000000000093L },
  96303. { 0x05ccc95bab42e341L,0xf8ddae598d84b663L,0xecbabdff710e5d05L,
  96304. 0x6bf408efe7d83fa7L,0x01e9fba9cc612f03L,0xb11b149a4b68351fL,
  96305. 0x2eb12cb1c441fdc5L,0x1c5aa7073f1779f2L,0x0000000000000079L } },
  96306. /* 27 << 343 */
  96307. { { 0x71a41f98b7c8df35L,0xc0956536a098c8e6L,0xba543f95b726e746L,
  96308. 0xc930b14a1d6414bfL,0xbe77ca4d1ffa41b9L,0xe2c9b33a01b6503fL,
  96309. 0x8f618a589be1f9f7L,0xc5352fdb58a1e937L,0x000000000000015aL },
  96310. { 0xab583155d4d38a4dL,0x7dae65b732f456ffL,0xe6dceba0864ea025L,
  96311. 0xe1b8eedb2beb7e85L,0x1afa273c24ef0333L,0x15c04d35f74c8c1cL,
  96312. 0x3df77f47fe398bc2L,0xe6759438fca98336L,0x000000000000010dL } },
  96313. /* 28 << 343 */
  96314. { { 0x37097c79f3582e38L,0x32fb2f72acb94fd0L,0xe9f248615bd8e99eL,
  96315. 0x021bd377d89f261eL,0xc27ccfba354d698dL,0xbd90006363d0d0d1L,
  96316. 0x1a2ff3650ffe8c76L,0x2e06e2ac0a5a912eL,0x0000000000000056L },
  96317. { 0x32d5f87321ac73f8L,0x6071df7f1ce57659L,0x7b26cfe7f3d02f88L,
  96318. 0x49889f71ac4b7cceL,0x6a8e756e4aa74667L,0x68698ee6cb72bec2L,
  96319. 0xf10fc0e132a6e923L,0x25d53885dde3045cL,0x00000000000000d2L } },
  96320. /* 29 << 343 */
  96321. { { 0x2578f6e4c55d2794L,0x33d4f6c052c21979L,0xcb692ea7f0ac80ceL,
  96322. 0x4a075eb4d0d2bb1eL,0x2bdca085d766fb6aL,0x28800b66f9cef794L,
  96323. 0x79a504a18e1af8efL,0x87b7c42918f6d72aL,0x00000000000000e5L },
  96324. { 0xa0315547c4fd70bfL,0xed90418d1bf84addL,0x9444ed07561cc0a9L,
  96325. 0xe218634f926e1d91L,0x1c2867c9c45cccb5L,0x8867a11b0088364aL,
  96326. 0xb33066483293a8c2L,0x5379837264319b9dL,0x0000000000000059L } },
  96327. /* 30 << 343 */
  96328. { { 0x6261f11a490fcb56L,0x80e1e5b92166a7fcL,0x2156e7b7410ca8f1L,
  96329. 0x6ba2949dcf083d43L,0x6f8c280e85f7a658L,0x86921a03c5362a6fL,
  96330. 0x212c2960a82059ecL,0xcd6e8bf65535b1fbL,0x000000000000003eL },
  96331. { 0xde0debf94fa231d9L,0x3891ee50bb251008L,0x4f2e882b1d3cf2f7L,
  96332. 0x55ae8ab4a441ea5eL,0x1a2fd89697f3d7d0L,0xaddcebb8240f6844L,
  96333. 0x00c9e36a7c1ae8a1L,0x017a9763b8c7c299L,0x00000000000000bbL } },
  96334. /* 31 << 343 */
  96335. { { 0x7f8843aa27c1fd2cL,0xc7c12738b7767dd1L,0xed262ca40459641bL,
  96336. 0xcfd418f94ae40df4L,0xfea0e51e4b4adc47L,0xf71a6afbc1076188L,
  96337. 0x51c967efae2fb1ffL,0x10af8b7593d3d135L,0x0000000000000005L },
  96338. { 0x60b155619802e32bL,0x1b766903875c51c2L,0x8e8f66b6afa3d68cL,
  96339. 0xb174d2ebe8cf549dL,0x514733991f65fa9aL,0x5bc23426688a0642L,
  96340. 0x7dafa87c49871359L,0xa01b3e316ee4c06cL,0x0000000000000069L } },
  96341. /* 32 << 343 */
  96342. { { 0x1e2df23635210df1L,0x387b5c569aace566L,0xdd8152c9ee401323L,
  96343. 0x56fe9ec99cac0076L,0x88ed7fc1e1a9f782L,0x6551487d681f0428L,
  96344. 0xeaacc10197689006L,0x626bcad13b7e7fe6L,0x000000000000015eL },
  96345. { 0xe1b3574a7acb23caL,0xadda7c9e3636a1c2L,0xfc998cf89f3d947cL,
  96346. 0x38ee4df41ba0511bL,0x1f40cc1403e4694bL,0xccecf4e0800fb6d9L,
  96347. 0x021f708ae1665d06L,0x2bcd7975c492d329L,0x0000000000000063L } },
  96348. /* 33 << 343 */
  96349. { { 0x96b4d04fab8001feL,0xe57a3a7bfe85f93aL,0x8ddba50b81d1d925L,
  96350. 0xa721d664f4b81297L,0x97ed33af14009a3eL,0x566f67398d669f51L,
  96351. 0xe390958133398239L,0xd7a868f9b1e9107fL,0x0000000000000027L },
  96352. { 0xdc583df06773c4c8L,0xd92a6a1e5e741619L,0x9fc62275eb819e25L,
  96353. 0xf9854e0cf083005fL,0xecbd75ce7b51e108L,0x4cc07d2722a8eea2L,
  96354. 0x06b4a95fa203629dL,0x65458a822e92393fL,0x000000000000009dL } },
  96355. /* 34 << 343 */
  96356. { { 0x0c33804b49726318L,0x02d8b4cea9a6b656L,0x308eaf52e8cf960aL,
  96357. 0xb36b768adf3a112eL,0x8131fab42b004e40L,0x0559670c887c5137L,
  96358. 0xff0aaaa311f55b20L,0x08f4a3c37882a219L,0x00000000000000f6L },
  96359. { 0x1e4c54f236e35580L,0x75b801076317c307L,0x08da116384ed361aL,
  96360. 0xda9c804e9fd2252aL,0x12f480031c027a95L,0x4c2edab64ba5b4b6L,
  96361. 0xc7e6ba6f307f959fL,0xb541004fdfb90d0dL,0x0000000000000099L } },
  96362. /* 35 << 343 */
  96363. { { 0x6e84f0d99170c45dL,0x6c18bb4d38aaf72fL,0x07982c04541fb2a3L,
  96364. 0x87b518be80d9c949L,0xdee66e2966394187L,0x31511309f8dbf99aL,
  96365. 0xa8778cbaf823156bL,0xf9faea959b606d0fL,0x0000000000000093L },
  96366. { 0xfd31893563961535L,0x7986e24f3f52f702L,0x5b1159b45ddfae4dL,
  96367. 0xcd9fbfec2eab8be6L,0x7b02b3fc8041e138L,0xd6a03b7891c5a91fL,
  96368. 0x27bbfa95e2cb2f1cL,0xa9ce01ce466ef3e3L,0x0000000000000133L } },
  96369. /* 36 << 343 */
  96370. { { 0xee5cc4b56463339cL,0x5db849afd60e46a8L,0x376ec6edbb0cd719L,
  96371. 0xb25bc974b73d2548L,0x4d3b9651ce5787cdL,0xc9f56856fb8a6b9cL,
  96372. 0x40712dcf9997fafcL,0x1e9a979d88c38605L,0x00000000000000ebL },
  96373. { 0x65aa240f387c6c7bL,0x8dba59ea2e4d5a46L,0x4dae7703cbc76db7L,
  96374. 0x616a9765ce122f7aL,0xa7ba80479be5f249L,0x0e3cc2bc559ff606L,
  96375. 0x533dc60febcf865dL,0x07f49e3224af8ab6L,0x0000000000000104L } },
  96376. /* 37 << 343 */
  96377. { { 0xdd77ebff685989acL,0xb6f95799ab8308a4L,0x4e3a55af398e759dL,
  96378. 0xa450ca615693678cL,0x54fc55a0b225faaaL,0x16584ec91dc73d17L,
  96379. 0x1a5d318febfd0546L,0x76b7d32f96c3c17aL,0x000000000000003eL },
  96380. { 0x51be80cc328cc1fbL,0xa7a78f194965e6aeL,0x5381b42874544db9L,
  96381. 0xaff29152aacad99cL,0xc48bbcc61156add8L,0x363047efe566895dL,
  96382. 0x33d0a4a5bd032371L,0x880ec2cbff5f5959L,0x00000000000000a8L } },
  96383. /* 38 << 343 */
  96384. { { 0x9690d5e55f5e7c31L,0xef7369b18adef74eL,0xf74ee9ef2a7db0c9L,
  96385. 0xd59cb64addf21c43L,0x6eb9fb438da8e4ccL,0xd1962bb086d3a35bL,
  96386. 0x7f8df70c107dd755L,0x4226aac2d64da7dfL,0x000000000000008fL },
  96387. { 0xe8ba50a0fff053a4L,0xcf3d93f3aa55315eL,0xb3cdbb97d1f458b0L,
  96388. 0x4b08420dd5d406bfL,0x7d869582f55c2820L,0x6fcb33b1698de39dL,
  96389. 0x6b7745f5daaa8a63L,0x6ecec49a60db3a06L,0x0000000000000189L } },
  96390. /* 39 << 343 */
  96391. { { 0xe7ec7a73a6fb4bf7L,0x9c4cb462c58d8eecL,0x1774812b9e39b420L,
  96392. 0x3eb336168ef96477L,0xfeb07e85981c4ce4L,0xc5cbf961bc2806edL,
  96393. 0x558213f9c99082deL,0x6da1895930463857L,0x000000000000006aL },
  96394. { 0x55fc5626e084de84L,0x1c14a1b6b1388433L,0xbcd81c8c13bcb966L,
  96395. 0xf3c19eac80ec3df1L,0x3d8209db319be8c9L,0x009dd32c97cb53ceL,
  96396. 0x11b045b569348a7cL,0xf062b5bf08a42755L,0x000000000000013eL } },
  96397. /* 40 << 343 */
  96398. { { 0x1c48fc22b0b3927dL,0x0bde722f69b0963fL,0xe408cacafa23304bL,
  96399. 0x0286346c33892f47L,0x4edfa1d344dca6d2L,0x4ed4dc92dc7e794aL,
  96400. 0x875f0a691bc2fa3eL,0xb6719990c61f95f1L,0x000000000000010aL },
  96401. { 0xd69e90f6b9d1af63L,0x78a0578fb8525cdbL,0x423058d607e5dd88L,
  96402. 0x4566d2724e64b363L,0xfa878a8931cb06ecL,0x88ff5b4a1bea9ffcL,
  96403. 0x343e558867212ac2L,0x0e4cb5b440dd6e75L,0x0000000000000184L } },
  96404. /* 41 << 343 */
  96405. { { 0xe0d0a82ddc9454b3L,0xf487a58cd0bd7052L,0x872289d507f23cb3L,
  96406. 0x739561b660a4d759L,0xa785b509596c0ef8L,0x0013852d0842b0e4L,
  96407. 0xf52d1e53d66380ecL,0xbff385dd62bb1e96L,0x0000000000000113L },
  96408. { 0xbdcb323fb841727cL,0x6943c4849a825146L,0x31893c76e74e00c5L,
  96409. 0x62c0e3d55e3801ccL,0xa692149105663bc5L,0xc521169e924ea71eL,
  96410. 0x3082a14de324bd5fL,0xa571779c8641c086L,0x000000000000004eL } },
  96411. /* 42 << 343 */
  96412. { { 0xfb39fb3373facaaaL,0x1305273c23052258L,0xa9205e1175193205L,
  96413. 0xef9fecbb8cc8098fL,0xdd0f157be588ca9eL,0x3364b687f8f2e14dL,
  96414. 0x3e0a4cb00594f821L,0x2697b264600abec1L,0x00000000000000e5L },
  96415. { 0x5f1048d60c425ae0L,0x596a72abd8196cc0L,0x76dbf0a6ff36707eL,
  96416. 0xc7ab267255665a0eL,0x27ae6b082aacd81eL,0x4a2646471184702cL,
  96417. 0xb6420d7981ffcc1fL,0x7ac1e298536904d8L,0x0000000000000188L } },
  96418. /* 43 << 343 */
  96419. { { 0xab8b3503416f5d87L,0x4fc288e16651df50L,0x3f0adfd9f62ec45dL,
  96420. 0x92cd8547172e5630L,0x434fbc19c3aca907L,0x38eb1388ccb55646L,
  96421. 0x19729f62dafb3a47L,0x8ced2ee49cfc34cbL,0x00000000000000edL },
  96422. { 0xb08ba1c3cdbc6116L,0xd075c733b7ab4b91L,0x547d457ff97f1759L,
  96423. 0x919a38e18c601000L,0x2fae128fc9a3a7ceL,0x050486e31643b442L,
  96424. 0x9034efad2afd1aa0L,0x92702ff21af79b99L,0x000000000000007dL } },
  96425. /* 44 << 343 */
  96426. { { 0x68d0506218f40095L,0xe085992447df111bL,0xab2400df4b409e59L,
  96427. 0x5f8d22db555656f8L,0x606ced3146df6523L,0x4c92283116251601L,
  96428. 0x8b383573007bb6a2L,0x99bb3be83dd4c4eaL,0x00000000000001e6L },
  96429. { 0x65838cf4d21d9bc7L,0xe07a59110168059dL,0x193d6b80c27c988aL,
  96430. 0x08d7198bb6411f17L,0xb229275330ee2a99L,0x4dba6885690e2ed7L,
  96431. 0x658b187cf10e2b34L,0x8002fb6b9ac63db3L,0x00000000000000aaL } },
  96432. /* 45 << 343 */
  96433. { { 0xf2aa7ff4fdb6b1f7L,0xfb45d9ab038645afL,0xfbe46a595d991f1fL,
  96434. 0x777ebeadd152a3f9L,0x830688a04a7e59fdL,0x205e03ef3a6d1d41L,
  96435. 0xe61a446a1ff8c82eL,0xc2557922ee29bd8dL,0x00000000000001e1L },
  96436. { 0x9181192fabfa9a84L,0xbcb13e6a99b82faaL,0xa509d7609f24f727L,
  96437. 0x30f91875d7fcdb25L,0xf5e87646a279f077L,0xa1abe3b1afcd136fL,
  96438. 0x5096c338f5d393a0L,0xe18e7d97c77f082cL,0x0000000000000023L } },
  96439. /* 46 << 343 */
  96440. { { 0x99a8fbb5a161f30dL,0x4b936314a6dca904L,0x582fbb6285f072baL,
  96441. 0x638b964291f813ebL,0x8fbc4a5f33b67634L,0x75c4f8854786ce86L,
  96442. 0x12fe375cb2be82fcL,0x57b6c79e1af62afaL,0x00000000000000ffL },
  96443. { 0xc584de033815bf50L,0x59284a85a5d2a462L,0x99205733a2db6069L,
  96444. 0xac414cedc789585fL,0x74c918a17924fc12L,0x4179d5c0e01a417bL,
  96445. 0xf3f6d46b2de7f1dfL,0x04d576ff993a462cL,0x0000000000000058L } },
  96446. /* 47 << 343 */
  96447. { { 0xe9599d6ac0d5f4e1L,0x175f50fe3ff2ad8dL,0x8387d0c9cbe62ffeL,
  96448. 0x19bd7a93f759c79cL,0xd6dc8c1718264806L,0xffcd7dc91f93bdb9L,
  96449. 0x272bbbde842b0f37L,0xa25c2429cea01bf8L,0x000000000000001dL },
  96450. { 0x6a294073e4187767L,0x209d9bc423ee345bL,0x720ae363dea56eddL,
  96451. 0xe3bf827a23447df3L,0xec4fc4d9dbcb4442L,0xa523dea0df06b38fL,
  96452. 0xb7a20ff275ff70edL,0x758975429c985220L,0x000000000000011eL } },
  96453. /* 48 << 343 */
  96454. { { 0xd6772399efd3e26cL,0x08fad2b4016cc649L,0x04b688e18c93ae74L,
  96455. 0xee4cd37f884e93feL,0x0adfc5f43f4161e4L,0x38b754b36a15d63bL,
  96456. 0x0a7c520fb63e3bbbL,0xc6d4a82a6bfb98c7L,0x000000000000006aL },
  96457. { 0x3fa2075432fe9124L,0xbb2d3081b6ba6e4dL,0x21294a30716ec099L,
  96458. 0x930eebfcd2636892L,0x0f2d1febac11c6dcL,0x4a22383d797f5a02L,
  96459. 0x40c0453b4e874895L,0x1d1ea32146bf9197L,0x000000000000012bL } },
  96460. /* 49 << 343 */
  96461. { { 0x98adef8589638e94L,0xef3d1a9e3d38b340L,0x6ce88584062c0c59L,
  96462. 0x7a306b12e4d7ed2eL,0x3fd19f650e0ad96fL,0xfd800846bdd0f7f9L,
  96463. 0x41aa2176c8958c40L,0x662b0a5f6b80a9f2L,0x00000000000000fcL },
  96464. { 0x3c1da866bc0ff89eL,0x8f659183ae7b7052L,0xf499f6a9c3ab5947L,
  96465. 0xbca8b00cb8e883ccL,0x71b521e4ffbd2095L,0x6d9347e395bc461eL,
  96466. 0x974c20ade248b5b4L,0x8b0e856009a7b234L,0x00000000000001e6L } },
  96467. /* 50 << 343 */
  96468. { { 0x0b011c32ee2b97d5L,0x79200cef3ad0b2ecL,0xea1decec50b54070L,
  96469. 0xec2fa4a8daf1d7c9L,0x9c2061eaa9203504L,0x01ca3089e8e76ddbL,
  96470. 0xf009b4ecb2ab1903L,0xd42e9d8d17418ffcL,0x000000000000003cL },
  96471. { 0x05c5851078dcb449L,0x366e588014134c89L,0xd3c226ca0f9d0ca8L,
  96472. 0x90368b2231202cdaL,0x4900c6c679c08f36L,0x282ba56a42a6f1b1L,
  96473. 0x3146c4170b497bceL,0x4b6a7d5d8b761fa6L,0x0000000000000182L } },
  96474. /* 51 << 343 */
  96475. { { 0x9687fad20f33e22dL,0xee13cbf0f861fe0eL,0x7bfd7b51e420708fL,
  96476. 0x7e3b03c29408f6c3L,0x98e32d6cd2478ff4L,0x46c6a5ee34a542b3L,
  96477. 0xfb063d20a9d664c8L,0x0d46f2fa462cd3bbL,0x000000000000005fL },
  96478. { 0xd864149319bdb879L,0x4c1eb5a09c32b27cL,0x7245a9ac8bb683f3L,
  96479. 0x6c0416d6147ac3bdL,0xf0b832fcf13b6273L,0xe4cf4607f2140e06L,
  96480. 0x3627fed4b74a3da2L,0x0b285a0d5eeec17fL,0x0000000000000118L } },
  96481. /* 52 << 343 */
  96482. { { 0x1fdcd60d607b148eL,0x52ba3a64ef0af894L,0x93d7e10f8e017e3fL,
  96483. 0x54586254a1c56691L,0x7ba1d3344dc39c87L,0xdb980aa5947633fbL,
  96484. 0xe005885333908ff9L,0x752e4a4cfc9c017fL,0x0000000000000111L },
  96485. { 0xf00b5caadca578c9L,0x33e7b721e5e36c85L,0xe12eabb0d35b31b4L,
  96486. 0x7e7f6feb77020642L,0x593a80b27efc68aeL,0xd15b1c05b098be57L,
  96487. 0xf2f8a3d4a680dd49L,0x41bcfdbc8743a900L,0x0000000000000152L } },
  96488. /* 53 << 343 */
  96489. { { 0xe941ed524f65e73bL,0xd3e1d57affc2f0daL,0xc6d535243702b0f7L,
  96490. 0x81cbf7778599b1e4L,0xec7ea8a9c500dfabL,0xba77eb049d0bfbe4L,
  96491. 0xa3d1cb95e1324dd6L,0xc8ef4cceede51d63L,0x00000000000001a3L },
  96492. { 0x6c2624e5052f9069L,0x235b7957a284f707L,0x2cef19e959304063L,
  96493. 0x0e2ccfb01ea15b4eL,0x9a4c9bf0010f6519L,0xc1edf0173339bed5L,
  96494. 0x5677cbbf8bddb55fL,0xe487e6d90b86d922L,0x0000000000000097L } },
  96495. /* 54 << 343 */
  96496. { { 0x942ee9fa3f9dfb04L,0x98f99ee04bb518c8L,0x7e82e828b4c177deL,
  96497. 0xcdc34f88cb890189L,0x7662d2b1295eb6c7L,0x40f6e30126ff62adL,
  96498. 0xb09ada6615539133L,0x0240f1ab994c1ee3L,0x0000000000000119L },
  96499. { 0xb788badd5b186991L,0x2f0f51d1feef6adeL,0xa6fcad6697ebc752L,
  96500. 0x7a41969ecb9d2718L,0xe8b76733a3690ba0L,0xfbb3978055a3075fL,
  96501. 0x905400f11e407ebaL,0x1cf6c26d29b33ca9L,0x0000000000000026L } },
  96502. /* 55 << 343 */
  96503. { { 0x82e0c91375602369L,0x37772fd0cdf88991L,0xed11013ce687811bL,
  96504. 0xadc2a6ef0e32e842L,0x9b95a8c33183cb5dL,0xb7ea194ef178fd02L,
  96505. 0xdf35cb1b0e373bbeL,0x4c70f3b2d5b46c11L,0x0000000000000154L },
  96506. { 0x62570b6cc73964d1L,0x0a0b268480c4e024L,0x400b160c1205a6a2L,
  96507. 0x826be2f82f65aa46L,0xd10b64a20a054f68L,0x12bffa7464766cf5L,
  96508. 0xfe9420788d929d96L,0x78a8682b8fa29a3fL,0x00000000000001a2L } },
  96509. /* 56 << 343 */
  96510. { { 0x567357340ee20005L,0x1867e14953306288L,0x30a011a2a8c834cbL,
  96511. 0x85dd3b76e4be86d6L,0xe080a590059d6838L,0x27ba4bbc384fc1a9L,
  96512. 0x08bd92bc1fb5f754L,0xbfe47313795078b3L,0x000000000000016dL },
  96513. { 0xd266058c646b3dafL,0x32edfdb12fbe6000L,0x641eba0fe2f9c075L,
  96514. 0x02c67e0c69ad2966L,0xe2f469e903ae6d25L,0xe7e4198ad0927943L,
  96515. 0x63e387902caf56f2L,0x563c3fe290ba1dc6L,0x00000000000000daL } },
  96516. /* 57 << 343 */
  96517. { { 0x986795c4e5fa0ed3L,0x6cacef9a47ffc3c3L,0x8406f9175b1dcda8L,
  96518. 0xfeb8ce4570d199f9L,0xbbbc1f37d1b1aa68L,0xbdab7e0ecf1643a5L,
  96519. 0x4fe791e953c4a8abL,0xebae700e4d20cc4aL,0x0000000000000177L },
  96520. { 0x702b8bdb97b76b31L,0x73da6623d6e6fde5L,0xb36946a708ea1f3dL,
  96521. 0xfb25cd3ff11e7ae3L,0x996cf485c8475ecdL,0xf3ac42d20ef1dcf7L,
  96522. 0xf218353842a60719L,0x3cc178281d61944aL,0x0000000000000191L } },
  96523. /* 58 << 343 */
  96524. { { 0xfcd47f6b67508a16L,0xe31427401bdf577cL,0x4895185967f0cff3L,
  96525. 0x7d6fcef807638e5eL,0x39b9d003e9235a94L,0x0f58af795a824938L,
  96526. 0x6cf21f76518b7880L,0xc485929558044273L,0x0000000000000186L },
  96527. { 0xe0f75e1aca93ef08L,0xd5644e7b4340dbbdL,0xcf01ad2491a927d6L,
  96528. 0x43829aa53be7c5e0L,0xa0c72646c54fdd3dL,0xabedecc81d939f5aL,
  96529. 0x8bd70b024c607671L,0xa0dc64200adc7aa7L,0x00000000000001e1L } },
  96530. /* 59 << 343 */
  96531. { { 0x26a9889300d4249fL,0x65abdecb009278b3L,0xc118a3f337065e41L,
  96532. 0xea008486e7ce142eL,0xb98918b36b326823L,0x0f1031f33887e45aL,
  96533. 0x7530610e1629d0aaL,0x6193410a3bdd47bfL,0x00000000000000c8L },
  96534. { 0xb1da190f84192eadL,0x61f8d02c3303a700L,0x6faa862b1b3bcdb6L,
  96535. 0xf55bc5e116da96baL,0xd95bdcfbc7109dd6L,0x1a75f2179573e7a4L,
  96536. 0x04ccd08b873cc228L,0x5b2039ee25a9f6f7L,0x00000000000001c6L } },
  96537. /* 60 << 343 */
  96538. { { 0x5fde9be18e99f004L,0xda1fca7fc4fcc705L,0x8776b448e77c338dL,
  96539. 0x12ae11e1e0384911L,0x28172fff338ac117L,0x7d32e433fc4479b5L,
  96540. 0x55f257f9c5c8cc74L,0x70190a52ed205691L,0x000000000000011eL },
  96541. { 0xb255a18ad36a0c3eL,0x435abf4b3c166cdcL,0x51f796a0d75211c3L,
  96542. 0xfa43f06b521d35baL,0x47fae95d0575debbL,0xf9f7ac07626266b8L,
  96543. 0xefd12b4837e8edc4L,0x03ccbf8b6af450f5L,0x0000000000000001L } },
  96544. /* 61 << 343 */
  96545. { { 0x4c3a5b247b4fd7f9L,0xbe4f6aaa73cfa932L,0xf8720019c183b294L,
  96546. 0xa88e61113efbffd0L,0x02a45a2f505fa176L,0x5614def1ca32b335L,
  96547. 0x27d80f82eb09898cL,0x341f3eb60072f7dcL,0x00000000000000bdL },
  96548. { 0x3b1074917ef9c7f4L,0x1db05b0daaca0f0fL,0xb4e8236c35fabb88L,
  96549. 0x9ecdb35c2d887bdbL,0xe9e477a4685ff351L,0xd66108c5c8693cb6L,
  96550. 0x3f45b6e0a0408fd2L,0x712b6b89197ecc54L,0x0000000000000075L } },
  96551. /* 62 << 343 */
  96552. { { 0xad5096b436373ad1L,0xc5c5d96a67e09911L,0x71d976bcd1c1bd0eL,
  96553. 0x734eef2e26276014L,0x39826b9398abb08dL,0xf97c29bb60504d90L,
  96554. 0x03e6b7bcc8dfe26fL,0x62fbcd06edab53bdL,0x000000000000001aL },
  96555. { 0xb8e19bcaba51fc6eL,0x51980bedfb188d4bL,0x947062215f9340eaL,
  96556. 0x55fd26f2ea1bf912L,0x9b4bfd5b52acf80aL,0xe0cfdad11517a40eL,
  96557. 0x0231b221bc0813aaL,0xd93ede1067c8de5bL,0x00000000000000f2L } },
  96558. /* 63 << 343 */
  96559. { { 0x14c36eed98352662L,0xb2fc535820cc7dc2L,0x4d9d0399afbf0b1cL,
  96560. 0xc45410e2bf803069L,0xadf0b1e408a75f7eL,0x32483ad625d55976L,
  96561. 0xe03ac79a40134cdeL,0x8a5e15bfeca20104L,0x0000000000000094L },
  96562. { 0x54bb69bfb2ad7a77L,0x1c7e147a4c7a969eL,0x3abd4c100ca1cfc4L,
  96563. 0x25cebf8026549e9dL,0xbc93e23dcf7a3014L,0xd35c8df023b55805L,
  96564. 0x6febda25410f6adaL,0x724a6fb680ffb7e4L,0x00000000000001e9L } },
  96565. /* 64 << 343 */
  96566. { { 0x2fb204ffc6ac25bfL,0x04264d4a20b8ff3fL,0x95b64338a430a774L,
  96567. 0x573a4b367da8bba5L,0x950affbb5b83d767L,0x9254695bb560c0f6L,
  96568. 0xfcd8a4fbff22df77L,0x8625ed302d6e43dcL,0x000000000000004aL },
  96569. { 0xed8010f61cac9547L,0x0612e17392c7ba4fL,0xaf48aeed051d9478L,
  96570. 0xf7067a1069a78479L,0xb17c4be898a1aa82L,0x2b21d42a7a94d7e1L,
  96571. 0x461b848fd38e3b49L,0x76af1bd6563a87e7L,0x00000000000000e8L } },
  96572. /* 0 << 350 */
  96573. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  96574. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  96575. /* 1 << 350 */
  96576. { { 0x5a4ab9c18d71ef32L,0x08205f9bf4f4cf75L,0xfe64565db34a8c55L,
  96577. 0xd12be047169994bfL,0xd3c3f84f43f91e62L,0x1dae2e732601b686L,
  96578. 0x2a07fcbe2dee30e1L,0x25e562459a754926L,0x0000000000000174L },
  96579. { 0x288455f32ce4d340L,0xa1f4e6b0e321170dL,0x9a36bac390039106L,
  96580. 0x1682b04d98c7ed01L,0x27166c68e9ebef5eL,0x41efe4f001ca803dL,
  96581. 0xf76898ac460a4c5eL,0x6a787fc31acbcda4L,0x0000000000000103L } },
  96582. /* 2 << 350 */
  96583. { { 0xdcaed4e0eb86608eL,0xfdfd21688d7ba967L,0xd4793142866e3436L,
  96584. 0x259b748bf9e22704L,0x86914896ac039548L,0x2236c40dd7c7eec2L,
  96585. 0xd76953aea1c8873eL,0xf3e9f9539cd08a3eL,0x000000000000013cL },
  96586. { 0x2d653796535c50c7L,0xcb8b6a753478f1c4L,0xa2abfb2acf0ad848L,
  96587. 0x9cd60fbf7fc08e6dL,0x3706c38749f48743L,0x3ea91a1d3e0781e3L,
  96588. 0x8c19973bd007f364L,0x566d7cb522e5f10aL,0x0000000000000103L } },
  96589. /* 3 << 350 */
  96590. { { 0xff04036328faa051L,0xefc95341172c6ce0L,0xe4028c4a7d53a624L,
  96591. 0x481fb2fce3aa1e70L,0x4671faf3d2d92ac4L,0x0d581a28cad49733L,
  96592. 0xcfab195da5e23867L,0xf6784d62c8bd1eadL,0x0000000000000170L },
  96593. { 0x2ba73d671694ffaeL,0xbaf16d6d47d613b7L,0x5748fb2fe24a2182L,
  96594. 0x337d36ad8b9d5587L,0x07b92ce38cfcf82fL,0x99b04584fca2cb04L,
  96595. 0xe8fe5417a5db355eL,0xa29a83971e795369L,0x00000000000001f6L } },
  96596. /* 4 << 350 */
  96597. { { 0x674e392f0261ada4L,0x5af762f55bb103a8L,0x281ad6a5c9e8bf69L,
  96598. 0xa88ad2e45c57af63L,0x7fbce1f23b909ce5L,0x37883da84a8c86daL,
  96599. 0x94f7c5708fc8357aL,0xa1f2fb59c7c21ea8L,0x00000000000001acL },
  96600. { 0x30c79e7b1cba57c5L,0xf71d84be6062fa39L,0x8fb70b03e2b9c131L,
  96601. 0xbb0f27e7cd862b12L,0x2fea10874ffd6a0aL,0x177871582a7a7b08L,
  96602. 0xf79606cc8653ce49L,0x9514c960629a5ff9L,0x00000000000001a0L } },
  96603. /* 5 << 350 */
  96604. { { 0x685cb5e1ee76561fL,0xc7eed1f695507f6bL,0xeeeab42cd2aff6dfL,
  96605. 0x32417d37c5c5362eL,0xf1dca5a7362b5f64L,0xa632d6b9fce1fb3aL,
  96606. 0xdf5ef2ab8d95fa9dL,0xebae375560e41269L,0x00000000000001ecL },
  96607. { 0x18090f8b62102f3eL,0x1f92da5a150229deL,0x3c7262f9f45b03a9L,
  96608. 0xf12f42c84967dec8L,0xc68b707051a319cdL,0x5fb0202c58e88be6L,
  96609. 0xea58670dbacf6553L,0x4a218180bb263c69L,0x0000000000000038L } },
  96610. /* 6 << 350 */
  96611. { { 0x2df8ac505afa5f7eL,0x6df783774959ec90L,0xb26bdddb192bec1aL,
  96612. 0x1c8d1feb809b6d87L,0xbf8e71e3c90fd61fL,0xb779d00f9d3abfd2L,
  96613. 0xc9b25e7d40d5d7a4L,0xcf5dc7c2ca6c2dadL,0x0000000000000100L },
  96614. { 0x360d9b18c50b6ba3L,0xdf5958ff1b4ca3ffL,0x1073b7f6e05fce33L,
  96615. 0x819739fa5936c3e7L,0x5d7bf0ce95b80771L,0x27043464d723e7a8L,
  96616. 0xf665f01f769d0313L,0xe8ba3b82d21e5578L,0x00000000000001afL } },
  96617. /* 7 << 350 */
  96618. { { 0xcc1a5d125c84085fL,0x689ccbbf11e07a83L,0x818e90645bd5ce0aL,
  96619. 0x7ff51fe77dd3b557L,0x244b2fc597c092fbL,0x56b49f61ce7dc3e5L,
  96620. 0x60465ba316e1cb43L,0xdad9e6d70bca87efL,0x0000000000000159L },
  96621. { 0x410a5b331f2824f5L,0x7940293fff4bbccaL,0x2c37932925ce7150L,
  96622. 0x4b0fcc706add5653L,0xbc7fa7355ad55175L,0xc751542bef886eb7L,
  96623. 0x4c8352570b74d18cL,0xae7eeb6061542f24L,0x000000000000004fL } },
  96624. /* 8 << 350 */
  96625. { { 0x1fb30b26534de721L,0x467328664123d0bcL,0xe4e83c0d3a143f8eL,
  96626. 0xe1f5f92a691180e2L,0x5fb00e76081f7230L,0x0e4e513d083c3776L,
  96627. 0x5b81ea91eb042c2dL,0x7a221cb200af7f4eL,0x00000000000000e4L },
  96628. { 0x7bfd3f9131e75c9dL,0x8545adada2c68d12L,0x01c295b9f986ad9fL,
  96629. 0x186952a541eb1f2fL,0x6f7e3e3ee802ffc8L,0x704e75d0b98fc92cL,
  96630. 0xc233afee4800a8fbL,0xd0111a57549d5fa9L,0x000000000000010bL } },
  96631. /* 9 << 350 */
  96632. { { 0x703bdfc28fa5a117L,0x3324b4c7a72de61eL,0x66bffd4e189dd1aeL,
  96633. 0x0dd312e197be2e90L,0xc0f200e159e34175L,0x494e207fb97fc751L,
  96634. 0xd1a1b7a1bb27e3eeL,0xaffbced9b305b999L,0x00000000000001b0L },
  96635. { 0x82ecc5d084711c62L,0x339f3eb9f8990ca3L,0xbf24f07a5e5cf050L,
  96636. 0x0e63379096b80f96L,0xb2713b232cd928d0L,0xdb2acbed1bec9ba8L,
  96637. 0x259a9461a584c845L,0xd024aa292d12b85aL,0x00000000000000b6L } },
  96638. /* 10 << 350 */
  96639. { { 0x162d7affa798f350L,0x904fd12e7ccf599fL,0x2e13439240e92c4fL,
  96640. 0x7439ad22afeb0edaL,0x2111df7dbb3a3984L,0x17da71600ba49716L,
  96641. 0x03c556c8ef500d81L,0x292974427287b40dL,0x0000000000000066L },
  96642. { 0xc61ab9d32dc3165bL,0xa427265826fcadf3L,0xb8ccd6c0838ee2b8L,
  96643. 0x2b43ac9dcad6ed19L,0xc5e072a314ac704dL,0x148021b6b3289a83L,
  96644. 0x3da3fcb61d3e7f5eL,0xf6e0d0596fbc3f05L,0x000000000000018aL } },
  96645. /* 11 << 350 */
  96646. { { 0x07d7152724577876L,0x0ad731b07475d82aL,0x8181bc1ecc35789eL,
  96647. 0x47453c419ab56a3bL,0x87ae49281343be4bL,0xff1e1a462366665dL,
  96648. 0xd89941a533896339L,0x8603a0feee010861L,0x00000000000000e0L },
  96649. { 0x9aa8f8f3ebc782ceL,0x0b8cdd59dfe2867cL,0xe6bd219d63a7e153L,
  96650. 0xb7748a8c62371590L,0x6f5ff5a8f67ba1d9L,0x9f057b843cc70904L,
  96651. 0xb3949d0a3aa770d6L,0x1d7417ebc36c1dfeL,0x0000000000000134L } },
  96652. /* 12 << 350 */
  96653. { { 0x238d0f45e5375e53L,0xb576c6ca60b1447cL,0xa3a372a662216556L,
  96654. 0xa36f6c4a8649c9d5L,0x00e80b35ab50c2cbL,0x11e5520e2556c5a2L,
  96655. 0xac58d6f1d3aa02dfL,0xd56bf8228b95fddfL,0x0000000000000094L },
  96656. { 0xd172331a2a513cc5L,0x35eee6975ef6a6baL,0x4f02b17fb0acdc95L,
  96657. 0x07ec621e1eb68058L,0xf266346cdac73d4cL,0xbe978e8aecab7ddaL,
  96658. 0xda0244e8968c2eb6L,0x50b38345cee91ed9L,0x000000000000014bL } },
  96659. /* 13 << 350 */
  96660. { { 0xe86714c444bbba14L,0x4a0ba67fe0ebe2c7L,0x4d7b6342e19e2833L,
  96661. 0x29e0766b768b7bbfL,0x109e7003d5b9f660L,0xcfaf2ddb39cb47bfL,
  96662. 0x4be8337c9fd257d6L,0x5ee652afd3082203L,0x0000000000000185L },
  96663. { 0x0eace717a4e898fbL,0x936b7743a3ed5280L,0x13bb777fe20eb2d5L,
  96664. 0x6e3fe7ac2e467eeeL,0x8b1bc5234bf9a409L,0x8e6eb8d336a9bc8aL,
  96665. 0xcb22f89c060f98a2L,0x18a47fe4fe67785fL,0x0000000000000171L } },
  96666. /* 14 << 350 */
  96667. { { 0xfb7641f78dd2f484L,0xd3968fdc8458af7fL,0x49aae2a03f2256aeL,
  96668. 0x3868855c184b5272L,0x02207efdb0964247L,0xc2e07ae88f026dacL,
  96669. 0x6043c98a10fccbd7L,0xa0dbf1ec385aaccfL,0x000000000000014aL },
  96670. { 0x8e75ed542cffc319L,0x83c12af3727fb8e1L,0xf3fb0e7d5665201cL,
  96671. 0x282b216e2c59469aL,0x7a71d0b07a2722ccL,0x3eab574727700dc1L,
  96672. 0xbec4c097b809482dL,0x5363ca88baa425a3L,0x0000000000000182L } },
  96673. /* 15 << 350 */
  96674. { { 0x3e16bd1f7200a8ddL,0x028318f4b10ec669L,0x1fa937c6b9c35fa7L,
  96675. 0x0ca277d969c407d8L,0xe0230f44ed5a32efL,0xa04df533e9dc21fcL,
  96676. 0x5775e2b0847b808fL,0x7319f97b14c0cb44L,0x00000000000001c6L },
  96677. { 0x4f313cb5e7259335L,0xc2de5cf8a2e9a717L,0xc6daf9a41a0c65a2L,
  96678. 0xe304c3aec39e1b4aL,0xa9a178e03cfad39cL,0x35dd14cdd2555011L,
  96679. 0xdaa2701adf9b2103L,0xbf3d425b40c31b92L,0x0000000000000087L } },
  96680. /* 16 << 350 */
  96681. { { 0x01188022f8816103L,0x64e1c614db3855d8L,0xcd4bd4c229a7c0d2L,
  96682. 0xd7ec42894d5ece84L,0x947a8bdc722fc703L,0xa4c09186bfebacffL,
  96683. 0xf7fda81edcf3b746L,0x3bf6dc1b435034fcL,0x00000000000000c8L },
  96684. { 0x319fc666878b4418L,0xd600347ccfa14a68L,0x5abcf8fc912b3c2bL,
  96685. 0xc82c5e12c5cd581dL,0x022f767c50a27865L,0x5c606862ead1f5f7L,
  96686. 0x2702e8192259d674L,0xae371a48e02204abL,0x000000000000001bL } },
  96687. /* 17 << 350 */
  96688. { { 0x97e034b8a9080de0L,0xd85ffb9e7489f5dcL,0x5e82572b143fa372L,
  96689. 0x0011ac86471e02ecL,0xedb1f0e68bd15910L,0x9f88d9fb76ba5f6bL,
  96690. 0xa93eec11e73fd22cL,0xf4980f348e89e8d6L,0x0000000000000131L },
  96691. { 0x6972155ccb678eeeL,0x8450fe29b3f64220L,0x92a56dd2a22f685fL,
  96692. 0x5938dc70bb05e6cbL,0x83b058f8c28d997dL,0x570df3b018f71a2aL,
  96693. 0xb7cea974dc59cccfL,0xdf9376c83099d0fcL,0x000000000000006dL } },
  96694. /* 18 << 350 */
  96695. { { 0x767a6f66b1d1d2c2L,0xa1322854fe1b6fa1L,0x4be1a1cc6461d755L,
  96696. 0xeed07ec250c221bbL,0x1ecbc0e0d9a306f0L,0xbe134f4df014a398L,
  96697. 0x5b391aae8a62aa33L,0xf89d0bd98f8374d9L,0x00000000000001cbL },
  96698. { 0x834f7a49bd81ad66L,0xc0847d0c5b161a3bL,0x55ca398ece94c03dL,
  96699. 0xee52a9325f7e7da9L,0x3c0764552256b0f3L,0x70a087cd10daae34L,
  96700. 0x1e749e8b041e8275L,0x32e770866583c7c2L,0x0000000000000187L } },
  96701. /* 19 << 350 */
  96702. { { 0x1705841bcd474570L,0x8286faca79fdf349L,0xfc5cfc0fab4d7902L,
  96703. 0xeaa4781d494df4d3L,0x160dd228a8d6515bL,0xc5e6a4393fac5de4L,
  96704. 0x6f080b52e14684a4L,0xa1171a632a68c81eL,0x0000000000000185L },
  96705. { 0xf6da51320bd7b821L,0xf02d821685f6e165L,0xe4fc78f80c8b9ae0L,
  96706. 0x0cb0278872ccbb8aL,0x37972865c36b4672L,0xa2e0aded0ddef47cL,
  96707. 0xcdb8736483760595L,0x5ca51c2951194739L,0x000000000000003cL } },
  96708. /* 20 << 350 */
  96709. { { 0x2af67b2b1d6f6e88L,0x02b012d358551562L,0x6b82b1fecafa5d8aL,
  96710. 0x7f82b4e2e6fefe9bL,0xac91d292e6b8bbdcL,0x1e330708aeb0467dL,
  96711. 0xe5723339d2226ec1L,0xdcb1dfc411ce4198L,0x000000000000017cL },
  96712. { 0x4c55853aa74e39fbL,0xdeadb9343e55add6L,0xbb7f6b234d9052ceL,
  96713. 0xc39590032f3e7badL,0x78636279ad990758L,0xc476679e34bcb90bL,
  96714. 0x9ab2badcf9fe3f2aL,0x414a32c01b69ef65L,0x00000000000000c1L } },
  96715. /* 21 << 350 */
  96716. { { 0xf972e207226d5378L,0xcd708a71ff9ac89fL,0xbf32f744ba4d2463L,
  96717. 0x46fe3a5fe3e118afL,0x746a334f64442a45L,0x716caa321f011c2cL,
  96718. 0xfbfd3914b0a5fee4L,0xc1e251fd8637d992L,0x0000000000000086L },
  96719. { 0xb45d3c09336dde94L,0x418b61d9bab03eaaL,0x1ec1facd52276f8cL,
  96720. 0x31a2838d276b4c3eL,0x5c0ac0e5344b4fc0L,0x84c5b86c7802d850L,
  96721. 0x7f2bde812d1f1518L,0x749429ab89820544L,0x00000000000000a6L } },
  96722. /* 22 << 350 */
  96723. { { 0x8fd557cda14acfe3L,0xa78896e226a144cfL,0x9171e9bb7e81425eL,
  96724. 0x1b03073ac232010fL,0xa2a67f9e4506d254L,0x9c74103f9b9e87abL,
  96725. 0xf03b5f8cfd9e2110L,0x701e9602fceae96eL,0x000000000000008eL },
  96726. { 0xed614e9542b8326bL,0x1deca584f7c276fbL,0xc1c4acbc5c38606cL,
  96727. 0x6c1d93a6a03fce8bL,0x114af997f1d63590L,0x63ff01ed89679610L,
  96728. 0x6c1091e92ef1af27L,0x7577c9b8e47fbe2bL,0x0000000000000115L } },
  96729. /* 23 << 350 */
  96730. { { 0xe1e509705873e203L,0x92537e522ccb0f6cL,0x57f7ce82a48a196bL,
  96731. 0x355baf4fa3f71850L,0x564770cb0fe17d67L,0x5f17428ce88a7b9aL,
  96732. 0x2ea41803c7ede7e9L,0xcb4b4df25e9ae4d6L,0x00000000000001a9L },
  96733. { 0xd9149883a345b2baL,0x5f6edbf7aff49765L,0x6ccb568246bb6e78L,
  96734. 0x28df77696f46d96eL,0xba7ce7265c6d0f7eL,0xef69e4d2e8c413d3L,
  96735. 0x12be550be5d1ee20L,0xfee595f001ecba93L,0x0000000000000116L } },
  96736. /* 24 << 350 */
  96737. { { 0x114453e727f2f67eL,0x7199960246edb75aL,0x481cfc650714f2ecL,
  96738. 0x7a359e11bd48c221L,0x6807f0b5bf80fbdcL,0xdfe57fff51b3a6fdL,
  96739. 0xe58f3c47b6794229L,0x7f22cf6adef683baL,0x00000000000001a6L },
  96740. { 0x551bbae28c39f9afL,0x5057c3a7b1e075dbL,0xeeedd6009e0d386aL,
  96741. 0x8d60b730715b2507L,0xd65f990b840be62eL,0x666437b2287cc361L,
  96742. 0x11c2019c9cfe886bL,0xbeef8eb4ebf4ce61L,0x0000000000000008L } },
  96743. /* 25 << 350 */
  96744. { { 0x71df4f783f6d4a3dL,0x6ac9564700648a32L,0xb4173a57d4684f87L,
  96745. 0xf0ae2e221d713b5dL,0xe8eef4e62c7e0fc5L,0xd646dd421ec5f774L,
  96746. 0xc5e4f3dc1af0e91dL,0x73fcee0ba0aeff88L,0x0000000000000123L },
  96747. { 0x054667e6cb349e02L,0x2d76accf002f27bcL,0x639a3672d120b014L,
  96748. 0x8402c2d156548bc6L,0xfdcef81372e04759L,0x09aed35779d36956L,
  96749. 0x5d0843b61de45356L,0x16e122f7b2d31760L,0x00000000000001c7L } },
  96750. /* 26 << 350 */
  96751. { { 0x5ff6e5554594bca8L,0x85a83cd1bcb20291L,0x4202282673cb711aL,
  96752. 0x24303de0175675c0L,0x426f264d2756e198L,0xbf84530704f7f348L,
  96753. 0xe8203455e5137f75L,0x5ab0febd0a6119acL,0x00000000000000a3L },
  96754. { 0x7e826f3fc403eb15L,0x84d63da08c0152f8L,0x4c0b1ad51370c544L,
  96755. 0x3a5afc691444a291L,0x4ffe236f29fec214L,0xb55331949df836dbL,
  96756. 0x816a0784d7e7ef89L,0x28a78c1c534192f2L,0x000000000000018bL } },
  96757. /* 27 << 350 */
  96758. { { 0x1ef828db53638a6eL,0x946738cd62a782dfL,0x126f1b39d74972fdL,
  96759. 0xae08daf5321db625L,0x8ed69c8a39bf7767L,0x3c65874016d76e57L,
  96760. 0xbebf5778cac27566L,0xcfbcae3b36ef536dL,0x0000000000000088L },
  96761. { 0x3f548dcbd43d8987L,0xcfe2a5921e3b8a98L,0x19ec85179e1c2d42L,
  96762. 0x9ebfff35ffe49227L,0x127821fc499ee1a3L,0xf02ebf0ae455b9feL,
  96763. 0x6e9864a56340b993L,0x615e97fedcc15810L,0x0000000000000012L } },
  96764. /* 28 << 350 */
  96765. { { 0x422833d5e2cce69eL,0x3c1c8bdb69ff8b37L,0x44d41dfbc9fb427fL,
  96766. 0x15bee2ddc54a1824L,0x9c804025e8ce4aeeL,0x5bcc7e5d9e5665b2L,
  96767. 0xf38636a040b6270dL,0x84cada1a60b6778eL,0x000000000000014bL },
  96768. { 0x28b4411b9b47ccbbL,0xe4bc1e916c368197L,0xc0f36e6b2562c900L,
  96769. 0xc60d562888c55430L,0x2e9613dffb81c20fL,0xfdd934ed56872b5cL,
  96770. 0x6bacd3ad187bbdddL,0xf6f821d7d1e42d9bL,0x000000000000012eL } },
  96771. /* 29 << 350 */
  96772. { { 0xcd767d6025104f3eL,0xe0d35530b0b2f859L,0x6ca28dab02abdd82L,
  96773. 0x6067b9bbdf3510a2L,0xdedc9f658f189d83L,0x80496472f42b7bcaL,
  96774. 0x9c8802199fd57966L,0xe6774cf970aaf3bcL,0x0000000000000107L },
  96775. { 0xb1fb2955713d14faL,0x9ea12ac28769fe2bL,0xb0a35fbaeff1af3aL,
  96776. 0x1fbdd1db98d8b108L,0x6d7db12ef9b6f0a4L,0x0a56e4cbdadac116L,
  96777. 0x08431700b1c6b49eL,0xea501d0b69c53deaL,0x000000000000001cL } },
  96778. /* 30 << 350 */
  96779. { { 0x28007de29245c149L,0x0befcc909b90ec07L,0x734c6339e8639957L,
  96780. 0x3f754697d0a82a41L,0x4336d11d47c0be63L,0x8325f084bda10defL,
  96781. 0xff63085e6c2de53cL,0x67ee3dfcd36ba132L,0x0000000000000057L },
  96782. { 0x315b2f045951d063L,0x5c7f6d6eb6f8a257L,0x4783c43abe41ee82L,
  96783. 0x08bf94b9341eda90L,0x85f12aced8558536L,0xb6cef1f47c1a76afL,
  96784. 0x10c93a9304c6e842L,0x48967ee1f5ea5860L,0x0000000000000074L } },
  96785. /* 31 << 350 */
  96786. { { 0x66227cd38c9b254eL,0xc23c940e19fc7eaeL,0x20d5a008c3ccf958L,
  96787. 0xd81a909cec5f6eb2L,0xfa042069526ce89eL,0x9d5429428e7af449L,
  96788. 0x79cd81ded46860c7L,0x490a80a877275fc4L,0x0000000000000061L },
  96789. { 0x056ee04b63c81130L,0x4c31c93ad967f41dL,0x4f91d3347b98d3c1L,
  96790. 0x5a584efc0f5d4299L,0xb591f98e4bb653f4L,0xa4bdd54c2f4e0cabL,
  96791. 0xe2b6ae4e8905a6eaL,0x0101e1289d3abe7dL,0x0000000000000087L } },
  96792. /* 32 << 350 */
  96793. { { 0x15581925de0d59fdL,0x861dbef21e668987L,0x000ca03681fdaea7L,
  96794. 0xee45e5edb5007bf9L,0xd98680509485c5fbL,0xd58ca541e2a800b9L,
  96795. 0xa0d643df05e1bf66L,0x3db52cbfbdcf7da2L,0x000000000000011cL },
  96796. { 0x0a1db94387af7109L,0x33754c60fd35138cL,0x2bdff118fc19982aL,
  96797. 0x2e8eb645d22ccc69L,0xa7873cd2c73e39d4L,0xd024363e1d04ff18L,
  96798. 0x492503d60cc6abdbL,0xade16418185ab722L,0x000000000000015dL } },
  96799. /* 33 << 350 */
  96800. { { 0x69f6ad632c6d6564L,0x547345e6aaa70f65L,0xfe220b531e796903L,
  96801. 0x9dc4208eac90043aL,0xdbcb2f9b1ac77eb0L,0x1509e41b952cb582L,
  96802. 0x5fe81cfafa615100L,0x271bdeea16628120L,0x0000000000000084L },
  96803. { 0x09d9f31d93ba6f29L,0x87762e121d5b9333L,0x5c78a0f96729ad96L,
  96804. 0x252d6ba8fb40c1fdL,0xfa3b5aae976145fbL,0x3838d4e64345c9ebL,
  96805. 0x90a0427561b22f62L,0x3f2b49f9eade3582L,0x0000000000000139L } },
  96806. /* 34 << 350 */
  96807. { { 0x7e06283b88db8098L,0x5254f2d8bdc2ee3bL,0x19a4b99da7d1d2bcL,
  96808. 0x5b7cb7c9c823fcafL,0x1610c35b55920769L,0xe39bf6381629e60eL,
  96809. 0xbb17270b9ffdb484L,0x41f2041ae9758c69L,0x00000000000001fbL },
  96810. { 0x51a46b85b2c0c563L,0x2b69e1e711275735L,0xb671220e53b3dcbeL,
  96811. 0x7340bec853362fa3L,0x6f57ddb541eb7772L,0xdf0ee415cb596fb9L,
  96812. 0xc417728bff8477c1L,0x684c4fa4c3d566e6L,0x00000000000001d3L } },
  96813. /* 35 << 350 */
  96814. { { 0x43631e362ace4d30L,0x476ddfb7e15627dfL,0xd855ee87e9821f21L,
  96815. 0xaafc352d13a160fcL,0xd491b1e722a31120L,0x2e330621a26e8121L,
  96816. 0xb50d21650feadde8L,0x223817649b3f8fdbL,0x0000000000000161L },
  96817. { 0x577fc13560e6851fL,0xf4782a8cb3f655caL,0x74d5c579b0f5f244L,
  96818. 0xdc93688ba2d001acL,0xa28376ef70768956L,0xbcb66d8a81df4a2eL,
  96819. 0x2d1fd4b5f6ec5bb9L,0x95fa7d6ebc9d4619L,0x0000000000000069L } },
  96820. /* 36 << 350 */
  96821. { { 0x9c427efd472a1c76L,0xbb1abff22bb334b6L,0xec7c11468050c592L,
  96822. 0x3795ab5851c77dffL,0x403fa93cd0a8565aL,0x7ea1b2ca8560a630L,
  96823. 0x644b40bfd92ff341L,0xb83c8b3e25f2cbbaL,0x0000000000000178L },
  96824. { 0xe46c901a355d1a67L,0x0c8aab17077d71ccL,0x7d04573304f187a4L,
  96825. 0x3849de53bd2def81L,0xb0b7dd7bb334041bL,0xb05f3b1d245df6e6L,
  96826. 0x561b16a93433e78cL,0x25e1f0a1995c0111L,0x00000000000001b1L } },
  96827. /* 37 << 350 */
  96828. { { 0x998716bf439d38a7L,0xd7f8d80f14ec2b79L,0x52cc523e0a116fbdL,
  96829. 0xb6fa8f35c553eb57L,0x2a9daed4b1df475eL,0x0f2a03f56efb1ea3L,
  96830. 0xd87de564a207c6daL,0x0d29f1b85c150d6eL,0x000000000000000dL },
  96831. { 0x35c9657e7f6bd7b5L,0xcc1b5f16e96359f6L,0xc90a1783a5f70bd1L,
  96832. 0x27e8319147906464L,0x107cc69df52d2fb1L,0x224e7abbf2dfc93fL,
  96833. 0x6e0e805ec41e54bbL,0x30574ac25e5db791L,0x00000000000001d1L } },
  96834. /* 38 << 350 */
  96835. { { 0x32b656e891d18868L,0xadfe8b2599eece6fL,0x6c153a31bdf1972bL,
  96836. 0x1b84a569401b1912L,0xa2dd8754adb8c7f0L,0x15bd0ffb165374c2L,
  96837. 0x7d7f5807ff9e26d0L,0xe009311e92a12880L,0x0000000000000156L },
  96838. { 0x54d8f6bc9af03d71L,0x1126a5a5e0a9ef63L,0xc1f792885b103cb6L,
  96839. 0x5e67739473108a70L,0x9a3befb284db9b2cL,0x9333f1aca12fbb34L,
  96840. 0xa5d2a0f07cda2b55L,0x5372d3c2551e98a3L,0x00000000000001a5L } },
  96841. /* 39 << 350 */
  96842. { { 0x3d682a3d4db17b24L,0x7560eaf34eca0d89L,0x47e3a60c20dd7043L,
  96843. 0xab67577582a0d23bL,0x2714437809a33798L,0x117b3f8609a73afeL,
  96844. 0x15f677792e71e0daL,0x861f0bb2216749aeL,0x0000000000000034L },
  96845. { 0xb6755fb0e3ecd9c8L,0xc2db4ae203f7866fL,0x5d4e3aa16690fbd2L,
  96846. 0x1e38e9a09b18ec9cL,0xc2c95824c703231bL,0xa8c457089d8a4205L,
  96847. 0x5504ec5e4e6d1e7bL,0x42b6c5bb54127e2cL,0x000000000000016bL } },
  96848. /* 40 << 350 */
  96849. { { 0x94dcb7602d3724f7L,0x092d781e5fcdc7d4L,0xc3fedca6dc823e29L,
  96850. 0xc2c19e31aebf4ac9L,0x2aeac69beaee6608L,0x2c2e52376c85a59cL,
  96851. 0x08949223a91d8cf7L,0x9ef9b311f0811914L,0x000000000000003bL },
  96852. { 0xbc09e4ad786d0a50L,0x482bc9fd3b427aacL,0x614bde569d2ef9b9L,
  96853. 0xd9d846800763d7b6L,0xe1c9849c7685856cL,0x5761de36532a8b13L,
  96854. 0xaee9ae018ab8534bL,0x6297f7cdcffe238eL,0x0000000000000045L } },
  96855. /* 41 << 350 */
  96856. { { 0xfab2dfc946c1f383L,0xd3520f6418f56f5aL,0x443d47dcf8bd38b2L,
  96857. 0xdb480bec4f279932L,0x5bb596b154a485e4L,0xdcfb04fde2601b21L,
  96858. 0x0271c9d48a3b9c6fL,0xf67d082d938b7bb8L,0x000000000000015fL },
  96859. { 0xeef77c2d42f4ac8eL,0x2dd70fb546d67b2cL,0x5e588ff9d68b1997L,
  96860. 0xe29565b76ba5fa5aL,0x6764f0e9d4f57c19L,0xd6b78633e66716aaL,
  96861. 0x3483bdb27fd1a5a0L,0x24be2d70396089daL,0x00000000000000d4L } },
  96862. /* 42 << 350 */
  96863. { { 0x13ebb2e30333009bL,0xa842a7f9346ee656L,0xcb9fb67a1cb3b9f9L,
  96864. 0x9b5fc3e5903d755cL,0xe776dadc2c519041L,0x1a3bbea475246222L,
  96865. 0x8a1f073c2b03e847L,0x85beb02d5652c2deL,0x00000000000000adL },
  96866. { 0xae2eada769e89348L,0xbc20bd57cb14c2cdL,0x079bf80535196234L,
  96867. 0xbb48228f19ee0845L,0xf53f5367fb15d09aL,0x256bd1e0244cd8e7L,
  96868. 0xd4a0ec81c471a7e8L,0x9ba40ccbd4b56f89L,0x000000000000000aL } },
  96869. /* 43 << 350 */
  96870. { { 0xd8f106f9a769db32L,0xfca92fe9493257bcL,0x32b2bed729a888b6L,
  96871. 0x13fc9590529f5843L,0xe2edce083bcd4012L,0xb316e6af3edeb588L,
  96872. 0xa0bd8dde9cbb3ae9L,0xddb5d928d8601cbcL,0x0000000000000053L },
  96873. { 0xced907601d3ae473L,0xaf2f245cbe08d340L,0x15eef9c599466d91L,
  96874. 0x3bfb970e9a2dd09bL,0x03c79319fd4d1efeL,0x9c6204518ce8f852L,
  96875. 0x34b1b4dd37bb72ddL,0x225b8a0b6e356b38L,0x000000000000009fL } },
  96876. /* 44 << 350 */
  96877. { { 0x354d7d39ff3579ceL,0xd61a6c33687273dcL,0x8e79f8ba0bf66ea7L,
  96878. 0x0914b68cc532810fL,0x86a1f3be19d74cd1L,0xf663a8d2ea1de01aL,
  96879. 0xe890d4e8f989647aL,0x1c31bdc54c3460f6L,0x00000000000000edL },
  96880. { 0xc48f0b654d05c7c2L,0x10f0830687586519L,0x3a28a202b0b0b6edL,
  96881. 0xa1ebb5b9a5655d5dL,0xbf19a5ab05790e30L,0x1e4ad7b17d237ad6L,
  96882. 0x829ae2daa98c9125L,0x5406f57a544704b3L,0x0000000000000099L } },
  96883. /* 45 << 350 */
  96884. { { 0xb9a01925ff611f79L,0xd0dea6882d74a7d0L,0xd80aae28a95f1244L,
  96885. 0xf70563196bebe957L,0x4ae651ef7898c6c5L,0xd293ea624619976fL,
  96886. 0xee6b9a710bb857f5L,0x360dd469c307fd59L,0x0000000000000060L },
  96887. { 0x1a0bd0e9eb91952eL,0x30b79c523a77c2b4L,0x847f13fa4936db71L,
  96888. 0xcd9fe25186f14605L,0x7f06535625b761afL,0x01d47bae6eb335f1L,
  96889. 0xfdd96f8d6c1417adL,0x7dbd3cab6631990eL,0x00000000000000e1L } },
  96890. /* 46 << 350 */
  96891. { { 0xd83c97e2086cf3d4L,0x590b4f8641268fe9L,0x5c1bb1b8a6161137L,
  96892. 0x49a11f2f49eeaf5aL,0xc2cf4d03cbb75280L,0x21ce922a465592f9L,
  96893. 0x8c6eb3c8ee919d03L,0x5b9a98e8c6b5102dL,0x00000000000001b2L },
  96894. { 0xb4ef0faef120a8b7L,0x5e89cb627dcb8d5cL,0xcef0e7bef2f28c26L,
  96895. 0xb52b392db642cfc8L,0x040a684ef03da73dL,0x5a723b5297933d4fL,
  96896. 0x29fee2268dc82a55L,0xe3c0f2c4aca0067bL,0x0000000000000051L } },
  96897. /* 47 << 350 */
  96898. { { 0x8e229d60a712d633L,0x7f1fe86bdd051e59L,0xc11af604d4ee7fdfL,
  96899. 0x9c0795378a1c305bL,0x6a1303f3cb306a9dL,0x07ddfe2aa268a120L,
  96900. 0xc779ab13dae81354L,0x99f2a4b38406f8f3L,0x00000000000001daL },
  96901. { 0x484fb852a158cfd0L,0xa4af6f9d2ca5e503L,0x4a8f9542f4809264L,
  96902. 0xe2c2fbd1146c0eafL,0xf06da61c067ff9c1L,0x33667ed5cd3a0fc2L,
  96903. 0x708523a842fcb10bL,0x18b6364260d97a55L,0x00000000000000f9L } },
  96904. /* 48 << 350 */
  96905. { { 0x6af20098edcc581fL,0x744e603fb1d8ef85L,0x77a155e23a4c70c4L,
  96906. 0x7cfec62980e719e5L,0x6ad16816771adb9aL,0xab2b9ae6917101b6L,
  96907. 0xfa1c8fa122b8606cL,0xc6ade9b6912fc59aL,0x0000000000000099L },
  96908. { 0x5842a39a8bbc4442L,0xf7ccacc0937825eeL,0x8af901af76669dddL,
  96909. 0x4cf82e79e7ca6918L,0x379dab5022df76d8L,0x7070302afcc877bdL,
  96910. 0xa959a86b0dbbc81cL,0x38c984cb78c2c637L,0x000000000000008aL } },
  96911. /* 49 << 350 */
  96912. { { 0xe5e34c9afe2aa4e3L,0xbeef09e66cbd98ceL,0xf2326ace0f624fe7L,
  96913. 0x3145bf2e6b6bd9e5L,0x8e26b154371241dbL,0xa8d70886b20897bfL,
  96914. 0x240fcf30e4ec8a60L,0x065ad618b722ddfaL,0x0000000000000184L },
  96915. { 0x04e64b08825ed711L,0x2bc526e052ae37dfL,0x0d76611b2229209cL,
  96916. 0xc5ec72065543bb31L,0x5d661329bd37b323L,0x4aee961c97f208f9L,
  96917. 0x296e8e5af8bcea25L,0x55be6c51c7f25a43L,0x0000000000000183L } },
  96918. /* 50 << 350 */
  96919. { { 0xbd485a2168b9bac6L,0x96f8ca66b92c9bd3L,0x54651d6c9d5cd2ccL,
  96920. 0x85a397f49b4d3558L,0xf9d46be109323661L,0x0345303a0efc8936L,
  96921. 0xd7cb4ab7b2193896L,0x3838fc1e8567d8a5L,0x0000000000000092L },
  96922. { 0x9d27d6cc5888449bL,0x92fb49af08f1717cL,0x7bd684a61b7df8faL,
  96923. 0x8d22465d49ddd9f5L,0xea8a1ab00ce6997cL,0x8a1f6f92b62a9a5dL,
  96924. 0xba4ee8c067caa406L,0xeea34c787853c0fbL,0x0000000000000153L } },
  96925. /* 51 << 350 */
  96926. { { 0xcca88cfe71c9210eL,0x80dfea7f906985e3L,0x2d6d64511adc705aL,
  96927. 0x1f00f1cd6a679020L,0xc90876f676b76b73L,0xb6782716fda27e31L,
  96928. 0x38816e90e3a35a4cL,0x68eccad2ba92fb37L,0x00000000000000a0L },
  96929. { 0xe79f9da1ee9ca568L,0xf5177267a2f60f20L,0x51bd81c4442792a4L,
  96930. 0x16871ba6b31012d2L,0x423ae3d46c49f876L,0xc1761593ca51334aL,
  96931. 0xe3e4701cbf879981L,0x718001bdf5648e7bL,0x000000000000006aL } },
  96932. /* 52 << 350 */
  96933. { { 0xe05ad50282808e09L,0x7b5dc16001e4f0b6L,0x78d1ca1933a6eea2L,
  96934. 0x9af18043509cb3caL,0x1e796ce5ff953005L,0xcac11cada26b33f2L,
  96935. 0xfb9db0d67d84e525L,0x1b66890a8bb37875L,0x00000000000000adL },
  96936. { 0x7bdca42375d780efL,0x0af21a0bd16d7858L,0xb56371f7cf42aee6L,
  96937. 0x0ed2542214bc7ae3L,0xafafd8948c5de97eL,0x340a2c54bb065e75L,
  96938. 0x4adb4195861c19d2L,0x98c390dba914dc62L,0x000000000000001fL } },
  96939. /* 53 << 350 */
  96940. { { 0xa7f5f77023a25854L,0x95c125267a96c4dbL,0x61219e73c1777cacL,
  96941. 0xc6fee78ab8df403dL,0x78e99f85fbf090aeL,0x9b7e068c86a1283dL,
  96942. 0xbe9e1b8565ed0dcdL,0xf7a0bb1948a40837L,0x00000000000000bfL },
  96943. { 0xd389955952c2db22L,0x40469180e852e506L,0x450f976387d5db74L,
  96944. 0x7cd7fc5ccc0b418cL,0x1fb11db4a5fe3416L,0x4b72467f1c837bd7L,
  96945. 0x5619b345e8279f50L,0x4d0dea319ff61f46L,0x0000000000000107L } },
  96946. /* 54 << 350 */
  96947. { { 0xa948d7bf766acf6cL,0x8f741ac1004e4c47L,0x7f1a1ef4defbd931L,
  96948. 0x5c0d5e57e6cfa20eL,0x496aead973d9db88L,0xb5f11ff5d6f826d7L,
  96949. 0x668dd88800cd9347L,0x22f18499a4ba53dbL,0x00000000000000d5L },
  96950. { 0x420e05d696fbb953L,0xbe035ecb7c5c8155L,0x8027eea1d72b42f1L,
  96951. 0xd679566ddb39e9c0L,0x60205b0969fc5b43L,0x9a8ba2d92cfe4776L,
  96952. 0xb6677a309c14db60L,0xf9a134b3f1fc12dfL,0x0000000000000024L } },
  96953. /* 55 << 350 */
  96954. { { 0xc696cf6211e1d5caL,0xbbb285ad84300330L,0xf241d535d08e2f4aL,
  96955. 0x0c85f24ee196ee2eL,0x2b070d57bf38d376L,0x7ef93bd06a98849eL,
  96956. 0xb45d3d7bee04656fL,0x5fe517a5ad03b679L,0x000000000000015bL },
  96957. { 0xd3536e2059c48b4dL,0x5cf6b777913f2941L,0xab4e101bd476b4e6L,
  96958. 0x1f717cd6a1e63091L,0x65c565f6c58ba036L,0x72bc476f79c53ac6L,
  96959. 0x467ede3be42bf81bL,0xc31436b46e7c6917L,0x0000000000000161L } },
  96960. /* 56 << 350 */
  96961. { { 0xe8077e42ed76067aL,0x7a4d661b5885cfc8L,0xed03423d6e12c1efL,
  96962. 0x2af0bd867d62b094L,0x5d5c959dbcde7990L,0x91f3292361c8c493L,
  96963. 0xd3a2d1371ddd8404L,0x43cf907ee9416bdaL,0x0000000000000179L },
  96964. { 0xadd9d450f88ab3d4L,0x26abefd97b3c1b2cL,0x0eabdf60f0ec7168L,
  96965. 0x48584461499d981eL,0xe2024f8a65f1e952L,0xb13926bdcc1fc913L,
  96966. 0xe32e53c3ba02b960L,0x44b16d28b114c958L,0x000000000000003bL } },
  96967. /* 57 << 350 */
  96968. { { 0x0015027283ce0bcbL,0x5a6f1e8ad0a33983L,0x4d483980f1c66143L,
  96969. 0xb37a9caf03204939L,0xb5e0caab9891623fL,0xaa5e602a0af5cfd2L,
  96970. 0xdb19404a6aeb8e1fL,0x5e564a47d547c845L,0x0000000000000077L },
  96971. { 0x6502ddab6fcff0b4L,0x9b3b917c3c4d269fL,0x4277a91c89572b60L,
  96972. 0xc4ab1a611c4fc851L,0x5e50a72e44e44005L,0xfcbb6af8780ad0dcL,
  96973. 0xb4a90497c67497ebL,0xe9db959ad12b1f98L,0x00000000000001a9L } },
  96974. /* 58 << 350 */
  96975. { { 0xdcad1a7a26b19fb9L,0x0c1c5ff9750b92a2L,0x0f1fa28b058f95fcL,
  96976. 0xb032e27098ee6b1eL,0xec3517835342789bL,0x61a075fe7dfa4090L,
  96977. 0x2f5bf3468f71a0faL,0x3c420b15ba67509aL,0x0000000000000179L },
  96978. { 0x96facab3da8a643bL,0x1072c6a32b8a5245L,0x9b4459674b2a6bacL,
  96979. 0xe7f134edb7657d74L,0x6fa48f3fa4ef87d2L,0x716df761e3af3715L,
  96980. 0xe49d3969fc7f3d67L,0xd570e53846ba85dcL,0x0000000000000096L } },
  96981. /* 59 << 350 */
  96982. { { 0x47a2e7b45d421347L,0x049637bb55c6424fL,0x5213873c8891d0afL,
  96983. 0x06df936818937d59L,0xab5b355bb5d15bd8L,0xd7cf6264f203554bL,
  96984. 0xbc1ddb87b0e99f34L,0x8fbc558ac4d2b9e1L,0x0000000000000084L },
  96985. { 0xb56dec543b99c8abL,0x41e629b48623e2feL,0x47827ed735ba9b9fL,
  96986. 0x23b57733e9486cfeL,0xa700b45f5fd4f31bL,0xb79d74ad710066b8L,
  96987. 0x7b479783645d8579L,0xee14d73cf1a07835L,0x00000000000001abL } },
  96988. /* 60 << 350 */
  96989. { { 0xe769d8f767a1352dL,0x49b1d2c3e9856974L,0x9c15a1fc86e54afeL,
  96990. 0x2d2c7e68b0e5b119L,0x3556ac15432cf4a2L,0xe25ebe20f39d2d76L,
  96991. 0x048843ae51e8c89eL,0xce4822e802531be3L,0x000000000000004dL },
  96992. { 0x4992a988c947b6d7L,0x7eb5fe67eb717c00L,0xd4f2215be33b7f1fL,
  96993. 0x32b9fcc2a4511d0aL,0x4884419d4d1089c0L,0xd7457e3e3dead6f2L,
  96994. 0xf12c9f16c66123f8L,0x2ff7bccda2831727L,0x0000000000000025L } },
  96995. /* 61 << 350 */
  96996. { { 0x0e0272a0d8d3b893L,0x63fb603b4c72d7cdL,0x2f171bdfcf3b582aL,
  96997. 0x624213d2708de1bcL,0x8a005cb66837c905L,0xd4146129e3c98adaL,
  96998. 0x1ab6660facaabcb7L,0x0db3d2d28ac26da3L,0x00000000000000d5L },
  96999. { 0x48509cfbc07194c3L,0xff8f379fd2f9b6d4L,0x08de73963fc8d8cfL,
  97000. 0x01b7305c8cdb7e13L,0xc49a1ceb4975a9a1L,0x5d43e036ac7b27e9L,
  97001. 0xd966fb67695b828fL,0xc7ec9f958dbdffebL,0x00000000000000acL } },
  97002. /* 62 << 350 */
  97003. { { 0xb044c5b0a1f25fdcL,0x6bd4233dcf34c1edL,0xbdbfa1ee0d505218L,
  97004. 0x1437801986e88bfbL,0x954329dfc9a0bf44L,0x7fe788acfcddd582L,
  97005. 0xc89b05d567f5acc9L,0xfb5501ae95b0f029L,0x000000000000008dL },
  97006. { 0xd48fc71fa2c08347L,0xd7b35093f58203e8L,0x577552bf58cd9e2eL,
  97007. 0x4832a9a2b63e6139L,0x6c51bff38d52008aL,0xb06b694411d85498L,
  97008. 0x617537ad72466c2bL,0xd62576bc4e09a213L,0x0000000000000087L } },
  97009. /* 63 << 350 */
  97010. { { 0x66ced69ad8552a05L,0x53532f6f8c357a98L,0xf59b886be8474111L,
  97011. 0xa434122383b36ae0L,0x5116daeee9fb4e22L,0xcbf240f8f9944958L,
  97012. 0x7f5ee08c446b39b9L,0x7b1439a31d6d5952L,0x0000000000000013L },
  97013. { 0x1bd881fb009f21c3L,0xd0e41f4209dc3ff4L,0xa0a93d64bf8bd854L,
  97014. 0x4755443ddf4bce85L,0x2c7dd3ae5137e57cL,0xb46efb67abbc8e6dL,
  97015. 0xa9992f040bb87209L,0xf87c5f8f5b4ea762L,0x00000000000001b3L } },
  97016. /* 64 << 350 */
  97017. { { 0x58e8ca2cea2e4075L,0x5307ba37f271d545L,0x14de3b6e7ae7ad07L,
  97018. 0x6bf3dac6169efeb3L,0x7be665b6f0996ac4L,0x3cbd076660a81ea5L,
  97019. 0x93369d84b0876044L,0x33cd68dc8a489412L,0x0000000000000133L },
  97020. { 0x44912d16dca5b802L,0x3c30f445808db8c1L,0xd59e92904d2b7d5cL,
  97021. 0xc1e20a6b2697a600L,0xfbbe023c3a028772L,0x8873d0bbc6e3b099L,
  97022. 0x5fe76ac9050828adL,0xcf2ac286c0ab0ab0L,0x000000000000003eL } },
  97023. /* 0 << 357 */
  97024. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  97025. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  97026. /* 1 << 357 */
  97027. { { 0x5fc885130076c379L,0x85e6f65cf31e63d1L,0x5def4f28ebc87b34L,
  97028. 0x74d28f51ed0be6efL,0x1b83692d38771840L,0xd791f738a859b7beL,
  97029. 0xed0cc1fea02d058eL,0x2b1befc5fecd2e54L,0x00000000000001a5L },
  97030. { 0x63864b8948cca591L,0x38195d6129335913L,0x8dc688bcc799aae4L,
  97031. 0xb6d23959417331b4L,0x3d08b4f2743f8e65L,0xd46215b24fec2809L,
  97032. 0xb37d17000497e0f5L,0x6bb17cc026ee48a6L,0x00000000000001e7L } },
  97033. /* 2 << 357 */
  97034. { { 0x59614f8580c55f68L,0x9dcd662c60ced87bL,0xe6dc932bf852f5aeL,
  97035. 0x9db84a914f45a31eL,0x6062b2d6babea7acL,0x54a5881d28b65906L,
  97036. 0x551e0b60b0f80dbfL,0xdb468350b286f88cL,0x000000000000005bL },
  97037. { 0x905656106bbb805fL,0xe38f65a46668e10cL,0xe619256657f2578fL,
  97038. 0xc26d80922a72a1abL,0x904a9a525119d939L,0x622f5869d6709295L,
  97039. 0x0a6ed42974543616L,0x8dad3c361c388e75L,0x0000000000000135L } },
  97040. /* 3 << 357 */
  97041. { { 0x8bf2fd7e6dae890dL,0x6b675c1fc9028f7eL,0x627b27a810d1a8c4L,
  97042. 0xd24c988bf522e753L,0xab18f36ae0be9869L,0x9ff0e1fa962cdfa1L,
  97043. 0x14911ef55945db5eL,0x6fd48fb37652ab6dL,0x00000000000001deL },
  97044. { 0xf8184ce8fbb2e5ebL,0x02056b25b09791edL,0x2e11264024abee11L,
  97045. 0xcf22e0fec5119309L,0x64e4ed26136a9cd4L,0x16bbcc713e9b4baaL,
  97046. 0xf2970b1f83d64789L,0x82c66547ec9a3758L,0x00000000000001cfL } },
  97047. /* 4 << 357 */
  97048. { { 0x9bf40d7110205c46L,0x10f27886161df55dL,0xdda5b7624763c7b1L,
  97049. 0x4bce55110fbe9f17L,0x8fa954484bd30a7dL,0x302e33b31d27e799L,
  97050. 0x4ddde60f9752ffd2L,0x98ddb153cded611dL,0x0000000000000069L },
  97051. { 0xdd9abcbb3e817caeL,0x3c6b3ffd52c627c2L,0x3209e7b3e28c3dfcL,
  97052. 0x376f4071edb287bdL,0x9ddaaa58af0fab10L,0x969074cff859b34eL,
  97053. 0xe16aec58c87e6ef9L,0xc5c7d470d113b6e0L,0x0000000000000066L } },
  97054. /* 5 << 357 */
  97055. { { 0xf0007020c199ebccL,0x1b8570d6f910a2a2L,0x35daadb9b2f82126L,
  97056. 0x49a1e3218ca81d3aL,0x608ed9749a7ad74aL,0x92ae9decbb27faf9L,
  97057. 0xea7db297dedcc552L,0xb61e57ff65e726f1L,0x00000000000001deL },
  97058. { 0x8b30b706d4b6b7e1L,0x9dcfebdd75d5772cL,0xa1e51c660b5f72fbL,
  97059. 0xc594354756a7d61dL,0x45520f75912e1f45L,0x5c5df563771562edL,
  97060. 0x8a2ee7850bc64d28L,0xd2c21b1430d7b664L,0x00000000000001b5L } },
  97061. /* 6 << 357 */
  97062. { { 0x845cd18adeaefda9L,0x0e694ca269b50e21L,0x060bd03952e5334bL,
  97063. 0x4ab963a525bae929L,0x7904f9fd2a8fceb0L,0x535df726e889b7beL,
  97064. 0x1fe0c30dab8d94f2L,0xddc0e7323f92e2a5L,0x0000000000000106L },
  97065. { 0xcc4c26e5404844ffL,0x53c01a4d301aa56dL,0xf7eff6a4a13a9558L,
  97066. 0x994253bcb771fc98L,0x5b9323e8b1d9733cL,0x29ed522b1cb7c6acL,
  97067. 0xe537003a3e4426a7L,0xbd83f66c36f23bb7L,0x00000000000001afL } },
  97068. /* 7 << 357 */
  97069. { { 0x732634970e7e5ee4L,0x01e0819a4f8e43afL,0x04dc6911b2620d54L,
  97070. 0x5908bdeab166dd4bL,0xc27f597530b81a6eL,0x4f969894d47d8ce4L,
  97071. 0x7d26b944a9b9b5fbL,0x1c77d724f2e481a0L,0x0000000000000007L },
  97072. { 0x99eafe7b9fefc298L,0xafeab30d35dfc4ceL,0xd9868f02b3fd8794L,
  97073. 0xe8470c347893a641L,0xbde8016f9a5f544cL,0x5735714a2d93e0baL,
  97074. 0x72d7a1dc41d47e55L,0xced50d7a89fe1dc2L,0x0000000000000137L } },
  97075. /* 8 << 357 */
  97076. { { 0x9dae6d7af8ece594L,0x7ad12f48cce0b041L,0x9d97efc7e7374970L,
  97077. 0x7b8b1668311f5e2eL,0x0d68a7b6bb741640L,0xf9ea3dea9be65aa4L,
  97078. 0xaa3e6811a11c78a5L,0x155ad4e50ac6e65eL,0x0000000000000062L },
  97079. { 0x5936d4fefebbfad7L,0xc94f1262a30ed6c6L,0x6013faf4b2081a7dL,
  97080. 0x684ffdbf85a4e883L,0xaaff243819dbdad1L,0x8f3484441f91e40fL,
  97081. 0x145d06f61ecea707L,0xeb7a4980ecbade82L,0x000000000000004dL } },
  97082. /* 9 << 357 */
  97083. { { 0xaf2d0a71a39faa14L,0x8c192e6be5bb2afeL,0xd62e45a44cfcdd3dL,
  97084. 0x7b553314289c2da9L,0xfc4135f79db2af8aL,0x9f4be8fde9590378L,
  97085. 0x20cb71f77e1f9d5cL,0x7b970c069a6d8b0eL,0x0000000000000090L },
  97086. { 0xdad63341ad2a5036L,0x8939b2fc3a6dbfb5L,0xd660a719b32c3bd2L,
  97087. 0x61fea0eae187ad41L,0xc6e6c4ea766eed17L,0x0e85a989e14c91a0L,
  97088. 0x8bf97e641167f7f1L,0x7a2eecaf37718ebfL,0x00000000000000d9L } },
  97089. /* 10 << 357 */
  97090. { { 0x374b1611a7274ad1L,0x2a0b82fdfe17b597L,0xa38209dedbe87483L,
  97091. 0x2d31a7607617b6e9L,0x8b68a60b8c2631d7L,0xe290dfe601490869L,
  97092. 0x9eedf0d622e67ae5L,0x17cdcb0f9c04930cL,0x00000000000001e0L },
  97093. { 0x8946af4e6874b6ecL,0x76be50db614e6518L,0xaf1e6990ff304e05L,
  97094. 0x810413073edb16eeL,0x9d7160e06d0ff72cL,0x580b29bd12ef3a1dL,
  97095. 0x47c5d81c5af9a9f4L,0xf96ef0842d828b7fL,0x000000000000009eL } },
  97096. /* 11 << 357 */
  97097. { { 0xa49b5b4d854620c5L,0x9e05bef6a25f2145L,0x53939ef2c63ed521L,
  97098. 0x436783a1db13d740L,0x38f3aa8913f1e4b7L,0x23317818c364e263L,
  97099. 0x301a26769ed21c63L,0x6e11a2342730950dL,0x00000000000001fdL },
  97100. { 0xc0dd00fe5bb3e26dL,0x0af3994912689233L,0x7ac01fb7c309b0bdL,
  97101. 0x21ee2903f25bebf8L,0x9d9ae3a052f8b604L,0x3602803614c273dfL,
  97102. 0x26126518bf5a2cf8L,0x022b5683c773cfd8L,0x00000000000000fdL } },
  97103. /* 12 << 357 */
  97104. { { 0xad453d3e15710148L,0xd5a72dcf93265c01L,0x153d58940f137f83L,
  97105. 0xd15b25236577f8f0L,0xc378424bb1bd2bcaL,0x7ad83eb42dcc38e1L,
  97106. 0xbe6c5006dea00d85L,0xf381d7b3003be5f5L,0x00000000000001cbL },
  97107. { 0x4290cf81a85be17cL,0xc4387af383bc4817L,0x81afe2281c4b8079L,
  97108. 0xf231b430a26513baL,0x1d86f33cd7539aeaL,0x1bb43b3e9c4253fdL,
  97109. 0x4eb49f8461000d51L,0xeaf801bc8115d791L,0x0000000000000053L } },
  97110. /* 13 << 357 */
  97111. { { 0x4fb83cd0f34cb82fL,0x69c93fd4019a99e9L,0xf9b3eb3e08b00516L,
  97112. 0xcf76e0e08510cc7aL,0xe20bf27cacf20956L,0xa953142555e33a65L,
  97113. 0x03e4e262d550453dL,0x493cf4e09dd063a0L,0x000000000000004eL },
  97114. { 0x677087f92a9ac3feL,0x4e26f17fdd36a879L,0x35822e0e3ced41c4L,
  97115. 0x0e5d370bf3c6996cL,0xc7a460b123afc844L,0x2b4d9af0771476f7L,
  97116. 0x5c3fffd48f8c1c25L,0xb02bbf7ab8ab8cb2L,0x000000000000016bL } },
  97117. /* 14 << 357 */
  97118. { { 0xfafd5607c5208d6fL,0x827f270e00c9ba87L,0xe8e7a1c84b607882L,
  97119. 0xdd16443cf35d1a14L,0x2bd6a6a7bedfd9feL,0x62942d8dc5b2c568L,
  97120. 0x590c4759127313a4L,0xc53b5fc26501778cL,0x000000000000009dL },
  97121. { 0x77c992e56221cd29L,0x1087ff0a2a5ecbeaL,0x1fca36f63f82e7dfL,
  97122. 0xdd6bd34d86fcbc98L,0x1edd8206d7088562L,0x2d9973d492bd31bbL,
  97123. 0x7f0e3aaba49088c9L,0x5a80616ca6b9082cL,0x00000000000001a6L } },
  97124. /* 15 << 357 */
  97125. { { 0x6c9c00cc9425d127L,0xb73e7c9e46995ad4L,0x63ea143a999706a4L,
  97126. 0x6c760fa3855b0262L,0x596b82bd2e3f833cL,0x6d1125d423701b52L,
  97127. 0xe44c7901fd4fdba1L,0x6e669d073ac0d4f9L,0x00000000000001e2L },
  97128. { 0xa580b58e12c34bcfL,0x56f7058f44605f24L,0x10addb7d59c18830L,
  97129. 0xd6c8cebf0522df9eL,0x1d4e0092ce01eedbL,0x545e99de98246639L,
  97130. 0x5898dc3c288b42dbL,0xfca8d04f85fc96dcL,0x00000000000001e4L } },
  97131. /* 16 << 357 */
  97132. { { 0x600c5b055bb88603L,0x9e4b5b739be3b3fbL,0xd485d76b4844ab63L,
  97133. 0xffa20a3320cd3b55L,0x6003ad11e40ec83bL,0xeb5423b4eed37ac2L,
  97134. 0xc25c87c09d4a0f44L,0x2de4bfe703c0e7d4L,0x00000000000001eeL },
  97135. { 0xaa9ee44d14bc1043L,0x9fc3875a24c86d4eL,0x8f9bc8b6b7405ee2L,
  97136. 0xaede13e5b46a336fL,0xbf5de69f6651c1f8L,0xb8e7a34070dc1e30L,
  97137. 0x437d3592f4d76655L,0x2d2c90e1beee67b4L,0x00000000000001c6L } },
  97138. /* 17 << 357 */
  97139. { { 0x4664ebe900c657d5L,0x7a43a626fad6a0baL,0x0fae848fa1a45bf4L,
  97140. 0xaaba18c1a7724169L,0x10f5d5da8bd42cf2L,0x7e8c8325bf839af2L,
  97141. 0x8d93d80931e37653L,0x74a5f0c70d179a63L,0x00000000000001f1L },
  97142. { 0xa04092aac673ef06L,0x22273ee1f1f44e71L,0x82b91d97d2424e61L,
  97143. 0xa9bbc3a3e15c0618L,0xe5affe60c664d826L,0x69a5df34ef461b41L,
  97144. 0xb5fcb32a9537f22bL,0xab073066f0b136ceL,0x0000000000000077L } },
  97145. /* 18 << 357 */
  97146. { { 0x291c30d8d404dbe2L,0xae586d4eba4aaab0L,0x4aa25d064fe7c560L,
  97147. 0xdd8a3fa74a2c320eL,0xb4d269773ce46c90L,0x095e11baa1e6595cL,
  97148. 0xbbc02c14dfcf4a78L,0x300d1c7c6fca5975L,0x00000000000000faL },
  97149. { 0x8f0f92e04d75128dL,0x32cf5813b7cce9f5L,0x723bf4fb506f432bL,
  97150. 0x6d4165742f9bfc6cL,0x6d46f9a0afeedb54L,0xa80d2408ab7e42b4L,
  97151. 0xdee2b761092cd638L,0x5ca05ac471680b52L,0x0000000000000078L } },
  97152. /* 19 << 357 */
  97153. { { 0x67ac7288f9b1e2a9L,0xd39accd88a9618dcL,0xf2eea4079788f1cdL,
  97154. 0xad399fed231e29d4L,0xdd9ed7a7c3fb75bcL,0x5e209b29d3b22d47L,
  97155. 0x207a0f402d4f8b93L,0xd6c21ae9ad537dd5L,0x00000000000001d6L },
  97156. { 0x12f0d8e20c6e991dL,0x9b2203f781f55960L,0x682308fa3fb0ba6dL,
  97157. 0x58c21718501385bfL,0xe7edb949f2e89261L,0x711b06333e12d5dfL,
  97158. 0xac5ff61ab4711546L,0x359f9e52fbe942ecL,0x00000000000000f1L } },
  97159. /* 20 << 357 */
  97160. { { 0xa7141cb5aa76edf9L,0x709fb9dbcdcda2d2L,0x49a8a4a4cafc26ecL,
  97161. 0x4fc050c2b2aaa10cL,0xffdc2eabf44d5826L,0xf762925f09ea8dd8L,
  97162. 0xd6378df3f8d1c25eL,0x26e9594cf8ef4a7eL,0x000000000000012dL },
  97163. { 0x17199c483eece377L,0x629bc6f2efd1ac52L,0xf4d78f2194fc4c0fL,
  97164. 0xce45f81dc083c2b9L,0x26e4498e79b23374L,0x8e61a4c5d50a6fe3L,
  97165. 0xde6b4c398df5a418L,0xc5b45d1908a404ecL,0x00000000000001a9L } },
  97166. /* 21 << 357 */
  97167. { { 0x59b3569b5557920dL,0xad74bcaee1289fcdL,0x1da74246b83a07d3L,
  97168. 0xb8281e1a04d7b322L,0xff7eb19711c785efL,0x401faa11f3120671L,
  97169. 0x757abd6ac64f7560L,0xba32b8d9912332e2L,0x000000000000015cL },
  97170. { 0xbb6740b88645d3ddL,0x21300afd5fb11e5dL,0x52e8e04d824b3790L,
  97171. 0xff431ad6955ae754L,0x297251b6af3db93cL,0x815b56ad6e5fe4c4L,
  97172. 0x7bc72cb2302c1847L,0xb47872d5d8ae63fcL,0x000000000000010eL } },
  97173. /* 22 << 357 */
  97174. { { 0xef086d92606c5ccdL,0x0368a9b91ad1f2a1L,0x7dca53159a4216d7L,
  97175. 0x3b9722752ba7308bL,0x680fb882cbdcb20dL,0x8cf5b86093be3a49L,
  97176. 0x2c366b9798528bf8L,0x83e51a9a2a100078L,0x0000000000000039L },
  97177. { 0xc4d52471a89bca47L,0x1b57283abe28d462L,0xd2435fb58f2b7ffeL,
  97178. 0x9c3b714e58596f3cL,0x29cc40da99689f33L,0x1f94e6936d34becbL,
  97179. 0x226148c7690e3096L,0x1b37296b5db2e1a9L,0x00000000000000d9L } },
  97180. /* 23 << 357 */
  97181. { { 0x86aaa7871589aaafL,0xa58a71afcf62397bL,0xb3f39935783c57c4L,
  97182. 0xb4bb84bd1d05d2daL,0x8dcaa3a8bcf38515L,0x0328ff676c302fbbL,
  97183. 0x2f6ae585de90d3bfL,0xce78807594b3fa66L,0x0000000000000082L },
  97184. { 0x3020d12b6ae46a4cL,0xa4a0efdd0714efd6L,0x4ce6635189a1f1f7L,
  97185. 0xa42a3a2d17f8bbb6L,0x3e63a2011cd5084bL,0x0e34ebb1e4b7753eL,
  97186. 0xb0db48f4e104b70cL,0x6365edb85230ae6dL,0x000000000000016bL } },
  97187. /* 24 << 357 */
  97188. { { 0xeaa998a0008164d4L,0x15d52dcd413f4ff0L,0x3b180c19e4ff76a9L,
  97189. 0x879fdc34c30ecbf4L,0x7ec379cd518fd432L,0x8a51bb32e6161641L,
  97190. 0x92e85885d582e0e8L,0x5503550ae00847a0L,0x000000000000008fL },
  97191. { 0xddf4c5cc039b003cL,0x0c8d3f93c4814d97L,0x213ca9b502075f02L,
  97192. 0x347d87b988920f8eL,0x96ef11c896dbf1b7L,0xb092ba1ccf927dc6L,
  97193. 0x6a12dcc7d068f694L,0xe98db68d16a6e447L,0x00000000000000aeL } },
  97194. /* 25 << 357 */
  97195. { { 0xc29f18d0d033e447L,0x4bf3a1eea22ae892L,0x92527cbfb0eb6f5bL,
  97196. 0xbf7f74b77873907eL,0x32e0d8d0c55a06f2L,0x801bcde493e6f6bdL,
  97197. 0x8ea36c4790dac3f8L,0xa17b404d8d084a01L,0x0000000000000096L },
  97198. { 0xadab47b6278c74d3L,0xbd17de910fa2bbdeL,0xb85a0413ca875158L,
  97199. 0xade2a656639a7532L,0x5434ba0b0f86e65aL,0xa4b00d71423a16d1L,
  97200. 0x2025b8db4f9d19e8L,0x774d5ba564a9c56aL,0x00000000000000e2L } },
  97201. /* 26 << 357 */
  97202. { { 0x89e6bc861181af3fL,0x989fcb1039d582cdL,0xdbe760be95374939L,
  97203. 0xc2a3b1a495db6d56L,0x00ca290f0bef3e32L,0xa80d17d5fb7e42c6L,
  97204. 0x37f23682391433b0L,0xa1497300fd3ba245L,0x00000000000000faL },
  97205. { 0x6684500110b99e4dL,0x163a5154d25f774bL,0xc3cb0e0eedd0e224L,
  97206. 0xf3b428594639adfbL,0x29b757cb827a88cdL,0x3b93e712313a5d62L,
  97207. 0xe90427941f2b4ad6L,0xd96f3be6f339ce2fL,0x000000000000010eL } },
  97208. /* 27 << 357 */
  97209. { { 0x9d900733986982c4L,0x318552d9ac043e1bL,0xc31329e818f19cd9L,
  97210. 0xd4545cc6e6d8fedfL,0x584a8c309990ad83L,0x9822bf5cc7f5de2aL,
  97211. 0x88a4ab27a1a0595dL,0xf33dbec11849603fL,0x0000000000000044L },
  97212. { 0xee18a6fa902af180L,0xbd6749d62d8a0745L,0x90f819e378988322L,
  97213. 0x77cbf6c1a8a89881L,0x2b25b032afc38279L,0x039111b11f85e6f7L,
  97214. 0x2d5c9c44f53149aaL,0x612b1f34576a5889L,0x000000000000017aL } },
  97215. /* 28 << 357 */
  97216. { { 0x57e0945b3f162106L,0xbf09909356b68350L,0x0dc60a427081a881L,
  97217. 0x83130a725c91ff51L,0xdfc2900ab5421031L,0x7adcbe4cda92cb5bL,
  97218. 0xe3b1b4e350fe781eL,0x825e00dc27e2e2f5L,0x0000000000000023L },
  97219. { 0x69dd98e974ae5f26L,0x65920f1833082671L,0x9667d392dfeeace1L,
  97220. 0x080e764c3d330572L,0x2e4af049cbec5f4eL,0xc33a0fcd50d4523eL,
  97221. 0xea84623a4fd8106cL,0x030d9f36f111aca4L,0x00000000000001deL } },
  97222. /* 29 << 357 */
  97223. { { 0xd59b137dd906f557L,0x13e53d54b000c6f4L,0x97b11ef277220004L,
  97224. 0xefa864eaba1ad04bL,0x01bbe0c53b9940a5L,0x093438c59461c4f5L,
  97225. 0xb8bd4858f02e4c47L,0xab236955aacdcf32L,0x0000000000000177L },
  97226. { 0x300f6e4fdc6fa477L,0x636c5e24479bc943L,0x162fb16b0a3037b9L,
  97227. 0xc9b34c7d8d1c8090L,0x7575aeaa39f26c09L,0xea576004e4a9b03fL,
  97228. 0xaa6ffb966b070d8bL,0x5f363e8ee19d31f3L,0x0000000000000156L } },
  97229. /* 30 << 357 */
  97230. { { 0xaec64b223ceb9d8fL,0x01c0e019c11322e0L,0x7fa117ffa28fed94L,
  97231. 0xb4fd42817951378eL,0x9272e9c11a7e709cL,0x778d28e9d6c3adabL,
  97232. 0x5dff9492913d9fb1L,0x5295e39d2db50e08L,0x0000000000000022L },
  97233. { 0x0793b7a2b251c930L,0x38b7ac80b20ea902L,0x63832322ecd86c5dL,
  97234. 0x7c7085f103041135L,0xc6a97824da3beea4L,0x243049099bbf9d98L,
  97235. 0x1dbbd3e6c5aa02c5L,0x777406cf81715102L,0x0000000000000101L } },
  97236. /* 31 << 357 */
  97237. { { 0x9ac223c2833f5b6eL,0xa41661e2c8ce1d45L,0x8e5c81882f76714bL,
  97238. 0xee29488c14400154L,0xf64aff1c7f02d81fL,0x2b93109a6b843a48L,
  97239. 0x88156fe61c2562efL,0xd4636076ee474fb2L,0x00000000000001c3L },
  97240. { 0x42c4cdd8a6b2aabcL,0x0cefb9353c0ab8d5L,0x950ee61226769ee7L,
  97241. 0x516831ada2977cacL,0x1174ac00ed854041L,0x261d3bcee16cfcdeL,
  97242. 0x8706465a2f4e7899L,0x18f2aaaff290e5cdL,0x0000000000000037L } },
  97243. /* 32 << 357 */
  97244. { { 0x46f9436c06c9837eL,0xa4feb9d508fea5bbL,0xc733ef31aa2ff650L,
  97245. 0xa58f3ffe205e0f43L,0x54d1150fbf567988L,0x78c0ac9216052b8bL,
  97246. 0xed2e587ba2f59a1bL,0xf80d6e5c2d6b5969L,0x0000000000000105L },
  97247. { 0x5029c675207ff447L,0xd8842988dedc6a4cL,0x5c3b90e4cf78d639L,
  97248. 0xa008ae416e8e9794L,0x098d2fe729023bd6L,0xf4bc574a003e7a86L,
  97249. 0xa7a024993d4ffa1eL,0xd55641098d521bd5L,0x00000000000001e8L } },
  97250. /* 33 << 357 */
  97251. { { 0x747b5923d475cebdL,0xe868d30ae7454df7L,0xc60fcf2ae8560236L,
  97252. 0xddcff0f2967f3f67L,0x84fbe85f458c2bbaL,0x3daf2c80fbff1388L,
  97253. 0x4799d4f27e86e7f0L,0x84482f9e8a74569dL,0x0000000000000018L },
  97254. { 0x521f01352b57d1d3L,0x7b4a58b49c2977e1L,0xd4b814010c9765b2L,
  97255. 0x50c0eb1af6d91eefL,0x2ad82cb773e68f47L,0xd4768ebb16252241L,
  97256. 0x92b37e3e308599d7L,0xea44f24f999beabeL,0x00000000000001d4L } },
  97257. /* 34 << 357 */
  97258. { { 0x7ec4adf92400c234L,0x956e6df24207eac9L,0xd2676feac9e07ecaL,
  97259. 0xb1d7900cd44e5bc2L,0x7371f0078421b464L,0x9dd2c07c552ddfb8L,
  97260. 0x55b32fb91ab48f64L,0x4c7aa6352d161efcL,0x0000000000000016L },
  97261. { 0x62af0f34d40817d4L,0x2bc7f399354cef0fL,0xf614ed51aef88f33L,
  97262. 0x2a8aaaf6562eb7b7L,0x3f69e05f9374c7f9L,0x4e8580ac24a5d254L,
  97263. 0x9fb8ded394aaed09L,0x47ee6861b44f65f8L,0x000000000000009fL } },
  97264. /* 35 << 357 */
  97265. { { 0xb88da0dd0cb7d987L,0x5803bf709d01e454L,0xcaa7cc1831cc5a05L,
  97266. 0xfd0c0e2094704898L,0xd20841e583df7331L,0x0dadf18abf70720aL,
  97267. 0x0eee9aa2e95a1826L,0x47c43dbaf7356e8dL,0x00000000000001b6L },
  97268. { 0x46f3881f01992a30L,0xf99d10419928c31aL,0x8cd5efdffba1c52fL,
  97269. 0x527ddf05123c3357L,0x46943c89233150b9L,0xf41e12734bbd1ea8L,
  97270. 0xa0cd7fce8c62e10cL,0xfd21a999192e00f3L,0x0000000000000183L } },
  97271. /* 36 << 357 */
  97272. { { 0xe6e75221cfe610aeL,0x1c98a33934eb829cL,0x1c8d8d909a4ac715L,
  97273. 0xace287a451bd9ccfL,0x24fd7cfcbd6b8384L,0xce03abe6093b52baL,
  97274. 0x42ac7a7ae38467d1L,0x97663c10c0df6af2L,0x0000000000000173L },
  97275. { 0xeab753a507e4f493L,0xe36b7afafecb8668L,0x02694012da27628cL,
  97276. 0x8cf6fdf942bc520aL,0xe8549a7e7f995666L,0x5f0a927973d4a08aL,
  97277. 0x1a87664ab708a5f3L,0x68333933435d6adcL,0x00000000000000ceL } },
  97278. /* 37 << 357 */
  97279. { { 0xb577c1533f989761L,0xae35d211bfa3d8fcL,0xd47c40c9b1f4a399L,
  97280. 0xd5b0975b2364454dL,0xed4d9984b3237eedL,0x97c31b497df401f9L,
  97281. 0xb7b427e22bc4659aL,0xd9bf226f45a55ae6L,0x0000000000000075L },
  97282. { 0xa5990f28073531a6L,0xe76bc93d8f8b9a4dL,0x588489cb74e5ed46L,
  97283. 0xd13ed6ab72ee0648L,0xc2577aeefed5353cL,0xdab9de078dc20accL,
  97284. 0xcac8e1f9d57b513aL,0x5e76607aad484dc4L,0x000000000000002cL } },
  97285. /* 38 << 357 */
  97286. { { 0xbcb19c11883359b4L,0x3ad2e194c4e7949aL,0xb773fca20ffa7882L,
  97287. 0xbd1a7603e60cfad7L,0xbea03ebea5b4d66bL,0x875da4b871223c53L,
  97288. 0x2e33d74ab5abef29L,0xa3ce7d910fd9b58bL,0x00000000000000d2L },
  97289. { 0x54784134feeafab8L,0x0af5113379e28a21L,0x02245680f0f5e643L,
  97290. 0xf467cdb0027bfdd9L,0x9446e78a520929e4L,0xc0190cecb05f7059L,
  97291. 0x31cbdade20e99cd1L,0x970d57f4c9001716L,0x00000000000001d6L } },
  97292. /* 39 << 357 */
  97293. { { 0x19dfeadf318077a4L,0x646f8bdab99ea8cbL,0x9c32bf839bce9a97L,
  97294. 0xf054bf9ba74ef02bL,0xb51e016b44a4ca3aL,0xc6e07a7bcd3dc334L,
  97295. 0xab3b52ad878eb40dL,0x12aa8a92ed323d42L,0x00000000000000acL },
  97296. { 0xa3436773633c177eL,0xa9c7bee1e2b5ef90L,0x175955d8acc698a1L,
  97297. 0x473dd3eb2725fc60L,0xa7b4bc94c65fecfcL,0x8767e77f84427009L,
  97298. 0xb719a53fe6c0bfa1L,0x66025e6e3b082160L,0x00000000000000a6L } },
  97299. /* 40 << 357 */
  97300. { { 0x8b335fa8eb78796fL,0x632a1e3598c921feL,0x8a81e3dc13ebb873L,
  97301. 0x6ea0a1ca392ac9a2L,0x12ac8f7d7a111fe3L,0xe8019e481b74982fL,
  97302. 0x970840ab372bd012L,0xf08f46778030b6baL,0x0000000000000191L },
  97303. { 0xf1daff85ff6ca70bL,0x83a30831c4c98b48L,0xb3d1402f4b44f090L,
  97304. 0xea42a852ffc5fc43L,0x64fb5a0e5adb2237L,0xa3f97d5cef91d510L,
  97305. 0xaa8a0026f0d6d405L,0xa9db41befedcd04aL,0x0000000000000061L } },
  97306. /* 41 << 357 */
  97307. { { 0xec4e0725f2d955e6L,0xf65913b6ba0ad53aL,0xb5436673f9c3c2edL,
  97308. 0xdbb1e9214c59fa00L,0x480014831381e59eL,0x688f1d33ba2b09c1L,
  97309. 0xcf5af8117a4e2a57L,0x11e023ee52198011L,0x0000000000000162L },
  97310. { 0x62cf35fa3dfe2dc7L,0xbced5f18d977b622L,0x240d0df41edd8ab6L,
  97311. 0x7e047352991127e7L,0xdc9572f31df7bc5bL,0x97b0d175afbc0867L,
  97312. 0x6a42f136de3d2346L,0x1fc3c25f5158affeL,0x0000000000000138L } },
  97313. /* 42 << 357 */
  97314. { { 0xeab39f78787edb77L,0x56a60472ff2e9f55L,0xce7b46bff785cb54L,
  97315. 0x278a0c9ec7d39690L,0x0cf992f68c3e887dL,0x9e148e8051d0d1c6L,
  97316. 0x5b33c695f3755acfL,0xb0451f2f658905c1L,0x000000000000018aL },
  97317. { 0xa6e028307fbc9643L,0x9338cbb303b27b50L,0x5c64eda85026ee72L,
  97318. 0x7f1647d2fcefe41dL,0x85619fccf3dbb4bdL,0x393e6efa01d6451aL,
  97319. 0x935171004e8d8ef0L,0x32c37325ffea99afL,0x00000000000000c8L } },
  97320. /* 43 << 357 */
  97321. { { 0x2b555d0e6fe03ba1L,0x773f545a8b03d806L,0xa31ffe71bcc6d9deL,
  97322. 0x446edf311990a436L,0xd8c4fc206592df48L,0x3317ee33c15ac3beL,
  97323. 0x41696fb6f63b4e1bL,0x83a4cba346027c25L,0x0000000000000084L },
  97324. { 0xde69ed4512dd9c85L,0xd667dcced6c26d22L,0x4ded2f5b385619c4L,
  97325. 0xd2655d51821e0244L,0x1311765ebf2c49a6L,0x9415d8cc38383d4bL,
  97326. 0xe71bcaf8bf9db4b7L,0xb3e5627ccc381e0eL,0x0000000000000025L } },
  97327. /* 44 << 357 */
  97328. { { 0xa4933fbea92fddffL,0x7c32d97032b86443L,0x2e9a7398b183d623L,
  97329. 0x486972894721f8c5L,0xbee88c0cc969e75fL,0x842542613c4d5de1L,
  97330. 0x909eae9e787a1700L,0xe31ff428974bad84L,0x00000000000001dbL },
  97331. { 0x984cb4ee752c8899L,0xa92f6ac567310f87L,0x47f0e7caa6a1de3dL,
  97332. 0x5c3dcb5fcfeb910eL,0x7dca121b1205acf2L,0x6399f030cb5ebb96L,
  97333. 0xe1c316b2e398cc1aL,0xfa8d37e0852051fcL,0x000000000000004dL } },
  97334. /* 45 << 357 */
  97335. { { 0xa2b6eb345f87572aL,0x0732cec41782a0d3L,0xd9435216d41ea9d8L,
  97336. 0x543571ed5cc97716L,0xe3521d10956feeadL,0x750eb198f41fe528L,
  97337. 0x4af6cf943d29c833L,0x78e073e6436a223fL,0x000000000000018fL },
  97338. { 0x49c4e5bc26897e4dL,0xb80996a2959ec43bL,0x13ae0906c00242e5L,
  97339. 0x9aee89d706f4670bL,0xd06613d5c8d05987L,0x201b5d15c8675f76L,
  97340. 0xd19defe0d4c74f5cL,0x043e361e6cb41c71L,0x0000000000000180L } },
  97341. /* 46 << 357 */
  97342. { { 0x3c015437c95ad2b2L,0xca901614d09999a6L,0xf8549f51d5fa15c3L,
  97343. 0x7fdb2f64c5630ea8L,0x1e4ee6802b7b842bL,0xf475e8cf313eb14cL,
  97344. 0xfcafbdb3d6c70e1cL,0x77bca78f4bdd4355L,0x0000000000000032L },
  97345. { 0x1512a85e9b20aef6L,0x2728e6820c9decf2L,0x8b3cf87bbefd8a4dL,
  97346. 0x3a42b96e601b9833L,0x6f27e84d058180d8L,0x0cfbc003489fd730L,
  97347. 0x208b7f66f8db094aL,0xf5987e8fc3f1fc46L,0x00000000000001a3L } },
  97348. /* 47 << 357 */
  97349. { { 0xf79e90d3ba0cfa35L,0x3d442ee9cd0223cfL,0x21b64ccc2dc0768cL,
  97350. 0xcbe9a804db61bf73L,0x5871a42fa4d78ca6L,0x67e5f390e0b6be3bL,
  97351. 0x9f4b155bff116508L,0x73f1924ac84bc47fL,0x00000000000000afL },
  97352. { 0xfb1d1caa6f41f665L,0x4e2717a196ad7cffL,0x1772f0581d490e34L,
  97353. 0xd52e78b067c82478L,0x53e323f99b612421L,0xb23240ab51b055c3L,
  97354. 0xb479a9cd2902f229L,0x1a63508d40c0e2b3L,0x0000000000000005L } },
  97355. /* 48 << 357 */
  97356. { { 0x56f46aeea79fec2fL,0xae7420e6caa8072eL,0xa8d82818e0909a51L,
  97357. 0xb6fde2a2d53b908dL,0x2c291216aa4b288aL,0x522c8be8315bc370L,
  97358. 0x27d342ed48cbe4c9L,0xcc7e7d2282bda6edL,0x0000000000000179L },
  97359. { 0x28c243b826b789cbL,0x0ee9307a736b8f95L,0x6bb0026317c8d0abL,
  97360. 0xfb2563cb96c50f3fL,0xda495d9aff006875L,0x4fb2a94706b90869L,
  97361. 0xf00cd1a64aec98d5L,0x0eff72f28bd40482L,0x0000000000000197L } },
  97362. /* 49 << 357 */
  97363. { { 0x98b780b5760dcbf1L,0xf260047b515a1d29L,0xfac95ac3814e0ee9L,
  97364. 0x816e57a0fba262ecL,0xfc5cd59e48334247L,0xa341052546e7e886L,
  97365. 0xd1db72bdddb0dcadL,0x5624b146ffd69bd4L,0x0000000000000178L },
  97366. { 0x35e3ace300b92a71L,0xc32822663c82793bL,0x53c3e94494ffd3b8L,
  97367. 0x9f71ff3e58dbdfd0L,0xa7a41d4df73e87c2L,0x78c91fa31039d1c0L,
  97368. 0xb58daa057807f696L,0xa450af015c2cd7b7L,0x0000000000000035L } },
  97369. /* 50 << 357 */
  97370. { { 0x7619732f42b7fc50L,0x765e9ae03259ee5aL,0xc6e36b88f486fc6eL,
  97371. 0x7161e3133e057364L,0xb06faa190eb94e6dL,0x5018350dd7092a7aL,
  97372. 0x2cd31d11fb6c1de8L,0x9561568bbc8ec647L,0x0000000000000126L },
  97373. { 0x839b1c55ed5d4d74L,0xf167bec107576342L,0x8afd2ae346e1cc51L,
  97374. 0x2546e4ffa5126110L,0x403b72bef10cc605L,0xe611d43086ab00f7L,
  97375. 0x6c828ae6ced04aefL,0xdac7bcf83ad5c8e8L,0x0000000000000029L } },
  97376. /* 51 << 357 */
  97377. { { 0x921b03409c60750dL,0x1fa1dc07a742d533L,0x2001a510cfe647c0L,
  97378. 0xfdcec65d559bac54L,0xb006791b6c9979ceL,0xd8786269d197b3b3L,
  97379. 0x8ba2d90530372529L,0xf0552a77063e1943L,0x00000000000001c2L },
  97380. { 0xaee03501d5b06ec0L,0xefbc6b5a906d4e35L,0xcba825b51f8fe6e1L,
  97381. 0x098a5cf0e1db85e0L,0x0ca97bd479d75481L,0xe2090d3481d62082L,
  97382. 0x0ee36412b26ca32fL,0x349e9c106f66e6d8L,0x0000000000000110L } },
  97383. /* 52 << 357 */
  97384. { { 0xe4fd1cf233c62e14L,0xbd7961f581615b2fL,0x1b82c51effc3ea38L,
  97385. 0xa02c70e8e04b3a9aL,0xf8853863926b63d2L,0x57013d79e2733711L,
  97386. 0xb62f0fb7006a0326L,0x225a8b3b98a22842L,0x0000000000000175L },
  97387. { 0x6718ed9f53021cd8L,0xdea4cdec2a3bf941L,0x0323bb3a5211899fL,
  97388. 0xd83957736e557ae1L,0x657633b4a363900fL,0xda61a25732721ca0L,
  97389. 0x9e53c3dbd9eb3821L,0x28972548aaf7a7adL,0x000000000000001dL } },
  97390. /* 53 << 357 */
  97391. { { 0x0e6ab03f3358352dL,0xaf91d6e912a5cbdfL,0xfc0c814d8350e169L,
  97392. 0x6d76035e025bc3f5L,0xc48c841c91cc2fffL,0x988a58692d378112L,
  97393. 0xe6b22cf41f1c5d84L,0x4d6a80c966be7431L,0x000000000000017cL },
  97394. { 0x329989467452fe56L,0x7c949998851cde83L,0x62f685df83aae234L,
  97395. 0xebc255cf3273ce30L,0x5d9b1076cc1c544bL,0xdcb2cc0ba0afe211L,
  97396. 0xb4985ff2bf40b28aL,0xe6162860dd765e5cL,0x0000000000000059L } },
  97397. /* 54 << 357 */
  97398. { { 0xdd36dad51f7dbea4L,0x668dad4d6506ae83L,0xb38d22d45b93e93bL,
  97399. 0x8f01ab0073a449e9L,0x66d3db72d8e6e6e8L,0x19a9dd5d3d2427faL,
  97400. 0x0fd8d0da3d40a973L,0x479f47bc10ca67abL,0x00000000000001f0L },
  97401. { 0xdf05de0bff3a276eL,0xc54847b14ffdc307L,0x56caf53a6fca2200L,
  97402. 0x9fb352117ecda564L,0x9a0a56923369ffa9L,0xdcfbf647f8af9180L,
  97403. 0x5b6d4451678c3fb5L,0x5a60678c6ff73ed9L,0x00000000000001bbL } },
  97404. /* 55 << 357 */
  97405. { { 0xd478174e1742c389L,0x5a2383c346b36bc3L,0xfbaca1a26581793aL,
  97406. 0x2a1d1fa6f855f601L,0x14a376f0308d3c27L,0xee58276c0cc714f5L,
  97407. 0xcc4030a2344e36b0L,0xce095846f956b0c2L,0x0000000000000093L },
  97408. { 0x89a622e8aeecd9c9L,0x206e4d6f27cd372fL,0x317476b49441b11dL,
  97409. 0x399a84cf983641d8L,0xe9f70bdcf169555eL,0xfe01d5c38ad9b9b0L,
  97410. 0xba6a96fc72ed19a9L,0x30239e4187057a78L,0x000000000000013fL } },
  97411. /* 56 << 357 */
  97412. { { 0x4ade586f26762e69L,0xa4d590d75c5452e9L,0x866d96d7a3d17b63L,
  97413. 0x4820299b54373909L,0x9c4970f071889f59L,0xbe409ea4a47395c5L,
  97414. 0xa1c14b17960a0ea2L,0x4a33c8a0307327b7L,0x0000000000000102L },
  97415. { 0xe590fe7c2b54a6c6L,0xb4a1ab5bc8f7ed0cL,0x91f19a290051c927L,
  97416. 0xd9f5d6078eac2400L,0x9bc268f6f0cf556bL,0x823c77404112a75fL,
  97417. 0x1a8168497d3647c4L,0x46f70e49b3b45d09L,0x0000000000000050L } },
  97418. /* 57 << 357 */
  97419. { { 0x66bea937a3a32754L,0x780ed9ca96a00b32L,0x65e5ad8e2b5cc630L,
  97420. 0x7283fbc3dc7657b5L,0x15dc690b934d9824L,0xd6f130dba98a847dL,
  97421. 0x0096e9cf3f226e42L,0xe2a54507e1e7d57fL,0x000000000000014aL },
  97422. { 0xee2fd2150bbc21edL,0xe095c08d4301f751L,0x32b119d43e5cb50aL,
  97423. 0xe435e70435ec749fL,0x83369dd530a40178L,0x594a72fe98292f0eL,
  97424. 0x118880ad3d2ea843L,0x9eb5cc991890318cL,0x000000000000011cL } },
  97425. /* 58 << 357 */
  97426. { { 0x361c1f3b4d6df598L,0x6956400f491b9e2eL,0x84efa820336843b6L,
  97427. 0x88c0cdee43925859L,0x29193ebb69c6047fL,0x13607b35f0aad25fL,
  97428. 0x20206ebd61dddd4aL,0x0e644f1eb9fc054dL,0x0000000000000108L },
  97429. { 0xca58a7ac1436fe82L,0xa817cc24e935e783L,0x2345a558c8ad7900L,
  97430. 0x64c0aff682da4250L,0x3070a842a7e6b289L,0xab848eb00aecec1eL,
  97431. 0xa26ce7e0900a03f0L,0x3fcafea7f76a6eeeL,0x000000000000018dL } },
  97432. /* 59 << 357 */
  97433. { { 0xc93375d857c613e4L,0xd6e163aa792ef674L,0x5b8da9694c9f17d0L,
  97434. 0x51f0cb78ce67b932L,0x3c1667b022f10ad6L,0xb370de10b6a741d3L,
  97435. 0x5b359e3527254ceeL,0xa4699c4001436030L,0x000000000000017bL },
  97436. { 0x444d66615ab27a0fL,0x7a63495561218274L,0x7accc97c8b6bc0b3L,
  97437. 0x31e90f52e9feb480L,0x0ae5f490d73c2467L,0xb42bb6330947f2efL,
  97438. 0x12130e62ca8bdc7cL,0x87538842afc7773dL,0x000000000000014aL } },
  97439. /* 60 << 357 */
  97440. { { 0xa0e61ef29c860a3dL,0x82efb508a7a35111L,0x95110f183fdf7c57L,
  97441. 0xd08244f748f762fdL,0xe2584f839119ce6aL,0x0818a297f38db17cL,
  97442. 0x0e604711bc3bc9e2L,0x46d5fe361b183756L,0x00000000000001b3L },
  97443. { 0x3c6c64217662e9b9L,0x1e057724d4a00cfbL,0x285c8771102bcc5cL,
  97444. 0xa606d16e09724e97L,0xab2089a86dd635dbL,0x6fdd9e810b59f6e3L,
  97445. 0x43d64d58ff787a8eL,0x7fd128ddd9699167L,0x00000000000000eeL } },
  97446. /* 61 << 357 */
  97447. { { 0x6e1e35308e1abfdcL,0x108178640e58238bL,0x91902f99aab590acL,
  97448. 0x5132a07808a83158L,0x530791584fdf05d6L,0x629edbe68ad80625L,
  97449. 0x32e9651d3f107300L,0x3e162ac228a30c6aL,0x0000000000000155L },
  97450. { 0x32d00fc0bb96dfefL,0x14d6778057d671d4L,0xd644f22da23a3842L,
  97451. 0x68c9d17f7564276eL,0x4081b0b960b55ea5L,0xfb317cd3bd1dd449L,
  97452. 0x3ae6ef5a8a1905a7L,0x2daed738a3b1e642L,0x0000000000000003L } },
  97453. /* 62 << 357 */
  97454. { { 0xab014c8728aa98f7L,0xf140362355cf61a1L,0x193f4267b5240bf3L,
  97455. 0x07d29ec4df79676fL,0x7e5d124afef053f3L,0x577b7ef54d8a7c4fL,
  97456. 0x05e53aa25f9e45cdL,0x0306e26cc0709ec7L,0x0000000000000145L },
  97457. { 0xd4609e0b47d36131L,0x0a27167e024b55c9L,0xc913e714bec0a1b7L,
  97458. 0x391fbba1aea3e853L,0x5541c7015910da47L,0x40e545fd1c083ebfL,
  97459. 0x73a6b44870eea6e2L,0x9578a3a138a320b2L,0x0000000000000133L } },
  97460. /* 63 << 357 */
  97461. { { 0x4d63d8568a4afc5eL,0x8dba9bbb93fe42a9L,0x2786def64388b3ffL,
  97462. 0xb178c71c588ff35aL,0x9acff904dc6b8ddeL,0x96fc5adfe39951bbL,
  97463. 0x36c16b128622694cL,0x8d3c04a120bbc11eL,0x0000000000000088L },
  97464. { 0xe910f16ab73d75a5L,0xce8c56594d0c3e49L,0xf9682dfd11ec38c4L,
  97465. 0x1c98872dec673776L,0x65e891ea498fb63dL,0x9c743402270806bdL,
  97466. 0x773660181eafb44eL,0xb52ff43420582f10L,0x00000000000000fbL } },
  97467. /* 64 << 357 */
  97468. { { 0x768ed0f6f74fb22cL,0xc967f6567e169c57L,0xf6c74d22e59559c1L,
  97469. 0x0a419045556961cdL,0x97e83ef261c6f540L,0x434d28d7f523b49bL,
  97470. 0x0f83e17117ac09eaL,0xfb02352b4a281f4eL,0x0000000000000160L },
  97471. { 0x78577044666031b0L,0x2aa75f54d401794dL,0xabf814bbde68d202L,
  97472. 0xc1d18b79fd8f841dL,0xb68edc5e8c8449bdL,0x837b65b088a85d15L,
  97473. 0x31a2c34e13249fa7L,0x2e20348e54be5f59L,0x0000000000000148L } },
  97474. /* 0 << 364 */
  97475. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  97476. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  97477. /* 1 << 364 */
  97478. { { 0x1d40359e91609a61L,0x9adf4e086890616dL,0x89dd66358b14a62eL,
  97479. 0xfaa34c0a49adeb20L,0x174689f7105a9bf0L,0xbf727a3da83a1154L,
  97480. 0x4afe90c10d6d5d50L,0x9954d9d01f2fe4ffL,0x0000000000000126L },
  97481. { 0x027df2555d2ac4b2L,0xa61a555783078809L,0x6f5d2cd40237c9bdL,
  97482. 0x7cd9f911cef7c441L,0x0d5256efabc19578L,0xd86047aff338db58L,
  97483. 0xaa2a1b5014d7c98eL,0xbe9edffaf5e65a3aL,0x00000000000001bdL } },
  97484. /* 2 << 364 */
  97485. { { 0xfd4ac9a343d7f5d4L,0xefaf0979c99e0960L,0x49f0cee8309e568cL,
  97486. 0x72b9d2770e83b629L,0xc9462e6b6b2c1601L,0x20fd87a59014edf5L,
  97487. 0xf153ae0a4589a246L,0xdfc0c033d0ad9b0cL,0x0000000000000034L },
  97488. { 0xea4cfb1187abe460L,0xde9d0bf08e491e8bL,0x8b4f7381e7b44c51L,
  97489. 0x5b470fd4582fc6f2L,0x351d31d09bd31114L,0xae86870521911e42L,
  97490. 0x8c25ead699c6cceaL,0x6372bb04f6408194L,0x000000000000012dL } },
  97491. /* 3 << 364 */
  97492. { { 0xf76d94ea2648a187L,0x65cd1ed8841945b5L,0xa8b8b52c6d3b41ccL,
  97493. 0x729f4f50c03e31c3L,0x2b315b9d4d930a40L,0x32c503647c78db5bL,
  97494. 0x53b03b69e0cab657L,0x1cb16125d343324aL,0x000000000000007aL },
  97495. { 0x0d0cc220cbba148cL,0x21e13a15066281e5L,0x304904e6ae6bb049L,
  97496. 0x9ed34cf1580464daL,0xb1c66d4684a6cdaeL,0x6ad36012751e42a6L,
  97497. 0xfeeed4dcc89edbbeL,0xd9897853a31a337dL,0x0000000000000002L } },
  97498. /* 4 << 364 */
  97499. { { 0x9f89743c7de96ad8L,0xb36af506b0e3c020L,0x92ba9b369da8c48eL,
  97500. 0x3b06a6c914e3dda7L,0x4ad7dbd9d035a505L,0xfd87c28a5825e565L,
  97501. 0x1f117e6b5633716cL,0xcef5e5d6dcd99a7fL,0x00000000000001e9L },
  97502. { 0x839ba6957fed2cecL,0xba25c337132c54ccL,0xf032353e857c3815L,
  97503. 0x9119f2e5b3b42940L,0xcf21d2c0fecbf8f8L,0x66b09ab9b5bafb4fL,
  97504. 0xdbe05a703946ff07L,0xb83571fc2d9ba878L,0x0000000000000018L } },
  97505. /* 5 << 364 */
  97506. { { 0xf62c03a397de0e00L,0xf48d1de82611619dL,0x15d1a317721bc870L,
  97507. 0x6ac60d814ed06bf2L,0xb8bc2ce0890cdbd6L,0x7810822846f4b48fL,
  97508. 0x04ef830c287c7697L,0x32961e64a49838daL,0x00000000000000feL },
  97509. { 0x97cd5e96d8551d19L,0x68053374b2b1fd05L,0xe3013cfcccf9a8f2L,
  97510. 0xcefdd29f981fa6c1L,0xef3a4ba402683ffbL,0x2e945f5855edc412L,
  97511. 0xa4a58e25bfd433f1L,0x621ef049513f74f4L,0x0000000000000120L } },
  97512. /* 6 << 364 */
  97513. { { 0x9e1fadfb16822e74L,0x601a0218e2fde79bL,0xfaf91c0fcc11fb66L,
  97514. 0x39b3d9cd38141aa4L,0xaecee4237b5e91a7L,0xe78c36baa418ff4aL,
  97515. 0x97ffc63f7f084d25L,0x8d9f7b524160ab02L,0x0000000000000079L },
  97516. { 0x4460a50327772a7bL,0xca164baf7bb4b563L,0x576f7498cf894432L,
  97517. 0x62af7b73b7c21ef1L,0x6559cd67a1ff287dL,0x366d49030189b834L,
  97518. 0xce4f2dd602496d3dL,0x140a8383d27b4ffdL,0x0000000000000125L } },
  97519. /* 7 << 364 */
  97520. { { 0x16a826340847c82eL,0xb70042545f9a9912L,0x798f9e628d0b4dffL,
  97521. 0x65342a6503c638d1L,0x4f20eebe5c54e53fL,0xc14bbfc9f840e2ccL,
  97522. 0xb7bdaec4bf5122a8L,0x36f7770447b6ee89L,0x000000000000014cL },
  97523. { 0x1a055b39452878a4L,0xec912e63a4357006L,0xfa8318c8ffc61cedL,
  97524. 0x2b0d1441f05c5661L,0x0b31a6b7f197ab70L,0x69d91f5999bc8257L,
  97525. 0x62ce77826b1fe057L,0xcc37b64e8fbf4a9fL,0x0000000000000160L } },
  97526. /* 8 << 364 */
  97527. { { 0x73c9ca8c32bf47dbL,0x9914d5863827df79L,0x594400907e5d5d65L,
  97528. 0x1fe4f4bdcc1f4322L,0x8e14f73d38ad9ffeL,0x4b47c892eea079b5L,
  97529. 0x753f974ac9bd577bL,0x4231ef4ec3271dfcL,0x00000000000000bbL },
  97530. { 0x871424ac14bcaefdL,0xb1b24d5c97355e9dL,0xd38496396b934706L,
  97531. 0xe90a821ca8c892f6L,0x884df6cc145aa180L,0x0dc1730e4c7dcb49L,
  97532. 0xdad8a1ef67744185L,0x444de13badd5ca97L,0x0000000000000008L } },
  97533. /* 9 << 364 */
  97534. { { 0xfa51638c3342c8cfL,0x0f68b9af3860e485L,0xea4d914d06cd5f80L,
  97535. 0xd5a9b6123d548a1aL,0x19cf167328c71d7aL,0xf88496f3e3ea941bL,
  97536. 0xf7458d464cd8d096L,0x40a7eccdc3a72c66L,0x000000000000009eL },
  97537. { 0x017e43b0f067b7ebL,0x0e89bb59ae8610feL,0x0c2437f2b2bc6765L,
  97538. 0x58c0a84449bf2eedL,0x723b0a50c13a6053L,0x3c2f581a1d1b46a0L,
  97539. 0x2a930c3a68e9e875L,0xf6144dd459874673L,0x000000000000013cL } },
  97540. /* 10 << 364 */
  97541. { { 0x501c908869c2c724L,0x114cd1394d26e7e7L,0x2c8e71896128092cL,
  97542. 0xd379c77c98d95167L,0xf4dc94f8c54fd3c2L,0xcb5d6568d61f0a9dL,
  97543. 0x57e935c0222d29c5L,0x19707d68e5ebead7L,0x000000000000018eL },
  97544. { 0x0ca3d650df704c4bL,0x3a11092f9e7fbd89L,0x94accaf17b93a0dfL,
  97545. 0x5e2ee6fc7a3cfa2dL,0xfe64b185e29c1ab4L,0x450622cc0dd624bcL,
  97546. 0x19b6dace885fe0efL,0xbca6ee1159121790L,0x0000000000000026L } },
  97547. /* 11 << 364 */
  97548. { { 0xc3561d8aba77ae3dL,0x9668544884e9a9faL,0xd02a219cfabb2bc7L,
  97549. 0xf05419ff19500a0dL,0xddec1e04fd9db302L,0xe8163eed27bb75e8L,
  97550. 0x167a448cf55bedacL,0x0674936fcf331bb5L,0x0000000000000112L },
  97551. { 0x6fdd6a8f05915d9eL,0xd10aba566bc230bcL,0x3d08b2be6495b1deL,
  97552. 0x1a677d3e25d490f3L,0x5435cabfabbb4e9aL,0xb1b88fe09dd066faL,
  97553. 0x4143d97f96ad240cL,0x84d22c1a8105c161L,0x00000000000000bbL } },
  97554. /* 12 << 364 */
  97555. { { 0x50c7c1f5570b56deL,0xc4ec2d0e45e64231L,0x30d743c79fc8812cL,
  97556. 0xc156a390336a6837L,0xed05f8e2ab56ec07L,0x9f31cb93c6ea8f39L,
  97557. 0xb4e6d426fe637c9eL,0xa2940274a1068079L,0x0000000000000131L },
  97558. { 0xe90e065d0de0a523L,0x6a732029e7aa66e1L,0x54d8e21335eff2d8L,
  97559. 0x316c567a8c25f616L,0x4926a680d4d8b337L,0x5af43676371babccL,
  97560. 0x3de2803eea35e392L,0x1a31dc8d2569c1f0L,0x000000000000015aL } },
  97561. /* 13 << 364 */
  97562. { { 0xe37816de9b725c0bL,0xcc2a89c9166bb8fdL,0x49ca0257d89fe85bL,
  97563. 0x48fd498a9b83fce1L,0x6ba525640cf52c0eL,0x1123fbde28ef21ffL,
  97564. 0x85f8991d4d0cdebaL,0xfe5797d8772b53b3L,0x000000000000007bL },
  97565. { 0x3fdf5c44dd6b4d3fL,0x5321b885e2dcd484L,0x69ce5c11dfb203b2L,
  97566. 0xe9a482386f8935bbL,0x9fcd2c9c75cc99b6L,0x251ac714e76daec2L,
  97567. 0x772611564802f1c5L,0xaf4e8d575d6e5d84L,0x0000000000000170L } },
  97568. /* 14 << 364 */
  97569. { { 0x7fc39bb869546059L,0x17a87451dc30034fL,0x66bd74dadc7c93a3L,
  97570. 0xf511104bf8e0b2a5L,0xffc0b9cecf5112f7L,0x32da477959194a90L,
  97571. 0x37f686a5fc465013L,0x4418ddc33c921bd0L,0x0000000000000074L },
  97572. { 0x60e891417cca9624L,0x924e88461d0c45a8L,0x63575d9e03f81752L,
  97573. 0x39ffb99931b565cfL,0xd2f96beca087029bL,0xbf5c66a0dd1e6fd2L,
  97574. 0x3a3bb584a7da0587L,0xeeac3f724fc63a28L,0x000000000000007cL } },
  97575. /* 15 << 364 */
  97576. { { 0xc06eb52d95408d0aL,0x617f37aae6cd02bdL,0x605c3d6c1493be3cL,
  97577. 0x74f50aedf516ed28L,0xe57889af120f76faL,0xcad1cd04a4bbda56L,
  97578. 0xfd346ecbfc158650L,0xaee419b5ae3c475aL,0x00000000000001faL },
  97579. { 0x53ab6494eba5c579L,0x89baeaa366501244L,0x76714c0a0e1dfcd7L,
  97580. 0xc31b6ae005ce3982L,0x38742418192bfb7eL,0xb303fdc69fa107f8L,
  97581. 0x50f6e46723401680L,0xed7828e6032db727L,0x00000000000001eaL } },
  97582. /* 16 << 364 */
  97583. { { 0x2a7e8ac175804da9L,0x0b41f6118d50bdc6L,0xcfa0a757d8fafb1cL,
  97584. 0x75540d94d231a6b0L,0x524440fb0c4fe03dL,0xb8665fbfce9738ddL,
  97585. 0xbb74f6a88f1bd64fL,0x063afa3cbb8d6c67L,0x0000000000000189L },
  97586. { 0x259b9da4a864385fL,0xdbafc55c17c2597bL,0xde890acb56bf5d23L,
  97587. 0xe51182c0f8455b59L,0x75d51a03c456e1c7L,0x9c7929c6b318e747L,
  97588. 0xaf23a7f139b3ed84L,0xee136a2b910f4ab2L,0x00000000000001acL } },
  97589. /* 17 << 364 */
  97590. { { 0x0d6618c6b5262bd0L,0xd008879e083e8d42L,0x46be04761e2a0f05L,
  97591. 0x29355fcba5a5a5d0L,0xf2990303abcc3151L,0x2ce9c4275a2b71a9L,
  97592. 0x1c9bd913b773a173L,0x64748c121fbefea8L,0x00000000000001f9L },
  97593. { 0x386d740f94f39cedL,0xa22fe8b4b4202079L,0x23754fe4118f988bL,
  97594. 0x3678c0d6fc32136dL,0x5fc81b01feb30812L,0x948119e46b9c9859L,
  97595. 0x5636de19370dac51L,0xf614eea049b1fab7L,0x00000000000000c5L } },
  97596. /* 18 << 364 */
  97597. { { 0xd019c1759fc99b40L,0xf967bba57f015d82L,0x3cb81a604805189dL,
  97598. 0x964ad8c7a00da205L,0xc888c43a64539ab5L,0x431eeadc9e553bdcL,
  97599. 0xfc5527a9fb748695L,0x208a7a8bd0016886L,0x0000000000000123L },
  97600. { 0x5094299ba7c932fbL,0xaad7933f74be1be9L,0xfbc80552444ba30fL,
  97601. 0x4ab16553f035fcc6L,0x364f1240c3e85c28L,0xa682343c2bb08da1L,
  97602. 0x87f463e18186f10eL,0xa693ff1c33925907L,0x000000000000019cL } },
  97603. /* 19 << 364 */
  97604. { { 0x09f6995a1c48a442L,0x247f21612a842352L,0x31ab8596522e8ba6L,
  97605. 0x5a378b5cda550880L,0x3cd7546920a22f99L,0xcc2308ad2a1b6f3fL,
  97606. 0x102b70a618c84da4L,0xd4fb60db44ee1f04L,0x0000000000000019L },
  97607. { 0x26f00eb8c1395620L,0xb74ce39019a12c39L,0xe4942801abec4e92L,
  97608. 0x975d591b94361e1cL,0x2996b121f3a13003L,0xcf1d269e23c37980L,
  97609. 0xe140df82c6996c73L,0x10e9b26e40c5047fL,0x0000000000000054L } },
  97610. /* 20 << 364 */
  97611. { { 0x7dde1d1d5efb05b4L,0x6b37ab24499b96d8L,0x9a11b06965ca03b0L,
  97612. 0x26cab3b3efe4f8e6L,0x438ff1523fa08ec0L,0xefcf8f96378206fbL,
  97613. 0xab9c72cb8483c3e7L,0x0870abe23c21f2eaL,0x0000000000000045L },
  97614. { 0x04b9b4a909d596d7L,0x45d7b711168e1715L,0x86f4b7024059f9e1L,
  97615. 0x1e23920b80207075L,0x247d24b7e32dcffdL,0x7fd7ee339b29daecL,
  97616. 0xae0501392e5b646aL,0xf15cc9311f0b3acbL,0x0000000000000047L } },
  97617. /* 21 << 364 */
  97618. { { 0xa7585ddfcda0c2adL,0x5cec5557fbb2fddaL,0x1548595a1e228a3fL,
  97619. 0x002f9003085c420aL,0xb68b0ae22c655b80L,0x9a41ed4526ea4931L,
  97620. 0xbbea439a2b93a6f8L,0x37e82cde83f487a5L,0x0000000000000036L },
  97621. { 0x44fb9f9aa4688d59L,0xf43ccad09af2f558L,0xcb0bd99c421900acL,
  97622. 0x6b14194f74d5dd67L,0xa515fb0e19820676L,0xbe5d2afffd020877L,
  97623. 0x7861af502826917dL,0xee0fe35be172b2d6L,0x000000000000011fL } },
  97624. /* 22 << 364 */
  97625. { { 0xaed4feadb6cf4a42L,0x6a1bf5325717bfe7L,0x276babf2e055049fL,
  97626. 0xe01a9b211147d4abL,0x92e2937e4d68fe1dL,0x4c40460f2682f5d6L,
  97627. 0x7921148cbeebb6b0L,0x0f17c058d8a93c95L,0x00000000000001f4L },
  97628. { 0x97b9609deaf84a2cL,0xc723aedd1812bc14L,0xa884415778c0b6d2L,
  97629. 0x5b68fd87c8fedc3bL,0x8109a51e6bec8a71L,0x476483e4a764bda7L,
  97630. 0x7a997c16a7945df5L,0xccbfe8d8ad8f125cL,0x000000000000019eL } },
  97631. /* 23 << 364 */
  97632. { { 0x3d7957be4e45dc3fL,0xb06a358bc65dd97cL,0x63040ec31388da6aL,
  97633. 0xe9adbf2a28e9515bL,0xfc0edda0f7900882L,0x4e1b100bb6465e9dL,
  97634. 0x331d94772276c413L,0x95d57b9c2e8f8278L,0x00000000000001a9L },
  97635. { 0x163d561ce4c6e97bL,0x911f98435b29a4caL,0x1577698cc6de446cL,
  97636. 0x48e6b4f38767f7e4L,0x126e23c51ea0038cL,0x8d52323e03c2a5f7L,
  97637. 0x56e33850a0a2f55eL,0x5eb93209ba225457L,0x0000000000000124L } },
  97638. /* 24 << 364 */
  97639. { { 0xd797e61ad1ac73e4L,0x8b484aed7b9eb978L,0xc447ce99d1eb07a8L,
  97640. 0xd899e82580667c06L,0xda95128239aa8ed6L,0x822cd6da7f6791f4L,
  97641. 0x50600320ded12afcL,0x8934ec503214d5abL,0x00000000000001aeL },
  97642. { 0xf517b1b73737e867L,0x0ceae5828cf888ddL,0x450dce832afa92f0L,
  97643. 0xc5fd288ac704f4d1L,0x5743e5b0f2c5c86aL,0x81bf9379d3c76ab6L,
  97644. 0xbab459db9789efd6L,0x1d34125a28e098dbL,0x00000000000001eaL } },
  97645. /* 25 << 364 */
  97646. { { 0xe068ffa804c78d4bL,0x9d83b38317fe7e23L,0xa43422d05ffbd663L,
  97647. 0x784837bf1788e709L,0x6a19ae5ea3723448L,0xbe6915ec36bb4307L,
  97648. 0xe34cdcaaa29d7e4bL,0x7f3a28c031be1af7L,0x0000000000000062L },
  97649. { 0x3c476ec90af51a99L,0x8cd5d84f4b33e5d1L,0x4a257f60e9cd7f91L,
  97650. 0xf6ce609ca61dd30dL,0x972ada9af1fc10e3L,0xf3e400881bbab939L,
  97651. 0x886722f3585887a6L,0x0cb7cdecebaf6fa6L,0x0000000000000104L } },
  97652. /* 26 << 364 */
  97653. { { 0xd7d4d4e717431ee1L,0x8625a46a4dd90921L,0xf9c316c0dcecbca8L,
  97654. 0xdbce57c02b95909eL,0xe97ae5d403ab6816L,0xab298218fd75225fL,
  97655. 0x3434b7146592f521L,0xe5971064d7eb9710L,0x00000000000000eaL },
  97656. { 0xe1455ae54bfe5904L,0x15c778976d8f481fL,0xb400810f008ce4c8L,
  97657. 0x779d772955e45c01L,0x8db56fb1e7d37e5dL,0x16686881921b330cL,
  97658. 0xe1bce71f3b2e17a1L,0x07149446c5c3c7a3L,0x00000000000001cbL } },
  97659. /* 27 << 364 */
  97660. { { 0x3257b5c4f07663a5L,0x929494c319ff6597L,0x15af82a9765f4edbL,
  97661. 0x483993cb5143381fL,0x6943fcf0b09287fdL,0x2fbb3117c67415b8L,
  97662. 0xd7034c07b7c892f1L,0xf10b0db718d9a7a5L,0x0000000000000120L },
  97663. { 0x76c9338468458d05L,0xdf2208aca2a5d536L,0xb5a419630a99477bL,
  97664. 0x51567562348c976eL,0xc695998909c4dcd4L,0xbbb28a3706af3fa4L,
  97665. 0x15191540091300dfL,0xad333a273f1804fcL,0x0000000000000065L } },
  97666. /* 28 << 364 */
  97667. { { 0x5de5079168e68512L,0x6eaf85bc7be5bbdbL,0x308bfd92de4b2460L,
  97668. 0x616a1141a7e52011L,0x9112ea97ef642831L,0x43149479aceeb127L,
  97669. 0xf1b98d034c36c7daL,0x8eb9ffb8b493cbf4L,0x00000000000000c4L },
  97670. { 0x146df8d848853921L,0xf179eb875b1d03c8L,0x1a59f02db362eec2L,
  97671. 0xe83b9f80c763c091L,0x17683a39794f86afL,0x6cd845d8f501ac40L,
  97672. 0x873e5f099dff69acL,0x3442ded6af6124ccL,0x000000000000013aL } },
  97673. /* 29 << 364 */
  97674. { { 0xc5590498d555d898L,0xc3d1e58af00e8206L,0x499ebd23f5f2de8eL,
  97675. 0x396cf1ae7ee84857L,0x14f61adf09b5553cL,0x8e6b51ddbf0b1843L,
  97676. 0xc49674c2948f473bL,0x95aebd3a86d2ba2aL,0x0000000000000036L },
  97677. { 0xb804d00b393f0237L,0x0bb1751cabab5c21L,0x1413fa32a74a192bL,
  97678. 0xbbb543ce65016834L,0x2d8a08b90125f257L,0x3663a514bf052c53L,
  97679. 0xc69d8e20946815fbL,0xbfb6a7656272ee32L,0x000000000000003bL } },
  97680. /* 30 << 364 */
  97681. { { 0xaea6f72ff310550dL,0xf9e9ffc76380fb54L,0x074b3feda3542522L,
  97682. 0x7af0bce77943f24dL,0xdbd33292ce11b0c2L,0x2e4f83e8bffe48cdL,
  97683. 0x32a133ee388ae49dL,0x1b3521eab2f1f673L,0x000000000000007cL },
  97684. { 0xc4ae5fe493f8a0c0L,0xfaf94f2b69efd7b6L,0xc5838b693296409dL,
  97685. 0x98330b32525a280eL,0x174ff22814c11c9aL,0xc8e5b0912047f8feL,
  97686. 0x15d70d58072b06efL,0x8dcfcc607c7eed95L,0x0000000000000088L } },
  97687. /* 31 << 364 */
  97688. { { 0x00d6f3b0bc8bc4c1L,0x369b84bf4048d8deL,0x0faa2409e1ade43bL,
  97689. 0x0fdb76c28c01adbeL,0xdccfe4b7706c272cL,0x4407382cb8f26255L,
  97690. 0x07a11518539912a8L,0x1dca7e6519fca10aL,0x0000000000000091L },
  97691. { 0xd012c49634100b1fL,0xbbf05b6d90c5a9c3L,0x574bec951ae000d1L,
  97692. 0x0006bcb031af3f21L,0x4efcfd1c01b77496L,0x0d7de152d781ba22L,
  97693. 0x404117375fc20376L,0x4b1ef6553da0d8d5L,0x0000000000000146L } },
  97694. /* 32 << 364 */
  97695. { { 0x6e1b7d0b35e16743L,0xcad975b354d72c65L,0x78f7434a453b8906L,
  97696. 0x8d140cae9690fa05L,0x6c8e152a31fe6bffL,0x1721155e418e415aL,
  97697. 0x73b115dc77693d9fL,0x1274ea409bbecdf1L,0x0000000000000134L },
  97698. { 0x5953c5fef3354b80L,0x1e60a291bcda146aL,0x1e20c5c571ebe5d6L,
  97699. 0x0bd949bfce4dfd53L,0xe489a64483280185L,0x819082883743f2a4L,
  97700. 0x6126ed3581ec227dL,0xa4aab2907ff6cfefL,0x000000000000012bL } },
  97701. /* 33 << 364 */
  97702. { { 0xfb1b1a6cf4b320c7L,0x8cdac3fdb49695b3L,0x7c408a7acaba7e3dL,
  97703. 0xdebef05ebf18e5f5L,0x806100c4ea74f06dL,0x3a0632a981be0875L,
  97704. 0x16729db36099042fL,0xda8ade1d095c77f4L,0x0000000000000115L },
  97705. { 0x44e85000f9515d7dL,0x5ebfe250cb748746L,0x09543f257df28b44L,
  97706. 0xc39738d79bb0b64eL,0x75a2ff624e839850L,0x690b6ea356b25b71L,
  97707. 0x6e23e1ff783dca86L,0xcb504c26dfe0ea77L,0x00000000000001a9L } },
  97708. /* 34 << 364 */
  97709. { { 0x08c2ce64b4d5547bL,0xeb6567bb7570811bL,0xd2d7337a3e351a31L,
  97710. 0xef2e55f1e1dcb4d2L,0x87a1f20bbd45eadbL,0xb378609624c1cffeL,
  97711. 0x4aee03b50bf03514L,0x56417387fd881168L,0x00000000000000bfL },
  97712. { 0x8d047d51fca2895cL,0x82ae96e1da4c8e44L,0x95a9a423cfd2216bL,
  97713. 0x448c829927592c95L,0xf825d63f8fc79200L,0x074291671bf6baabL,
  97714. 0x0ff441a2842248bbL,0x20f55cb3f2c6bed7L,0x00000000000000a4L } },
  97715. /* 35 << 364 */
  97716. { { 0xd0dcc4d999045a60L,0xb160c98a07cee1b6L,0xbe8cff874c5b2888L,
  97717. 0x70d351c7798a555dL,0xad3b4ed6fe119e8dL,0x9757616c9c6c31f4L,
  97718. 0xc52176c7462106d7L,0x77fddc8df2ad67afL,0x0000000000000131L },
  97719. { 0xcf84d1f92610cdb3L,0xbb418eb03591c4f0L,0x0b494ecbde10bf20L,
  97720. 0x70bf152917d05487L,0x566b9d733ea9d353L,0x93597d749bccb340L,
  97721. 0x803844ce3462181cL,0x1786dd011a14d060L,0x00000000000000fdL } },
  97722. /* 36 << 364 */
  97723. { { 0x9c89e7cd382cccb9L,0xe53e72d7ad6eeff4L,0xa3f5e6442aa88cbaL,
  97724. 0xb469c241d0a71546L,0x42273290f1c278adL,0x28a6cc29c0ea960bL,
  97725. 0xe580ae1c9ff3b57bL,0x1bc9463b7b46d573L,0x00000000000000a9L },
  97726. { 0x810616e386692079L,0x486d7875765a87f7L,0x85a742aae0ea3788L,
  97727. 0xd2c1955ea491b157L,0x1258547a517fc3a4L,0x69856b22b73f61a8L,
  97728. 0x5dc2140349f00472L,0xafd5b26dde8c4751L,0x00000000000000ffL } },
  97729. /* 37 << 364 */
  97730. { { 0xaebc5a8a3c902e8aL,0x0039907bb2ff532eL,0x6bdf54a1854fbcc5L,
  97731. 0x47e47af3bee412e3L,0x2366a7967b1e5aaeL,0xb2727457a8752568L,
  97732. 0x2a5bb5b73e2d49c4L,0x43fd4aba846e36b9L,0x00000000000000dfL },
  97733. { 0x07fd53c858bf3f4aL,0xf5d34130b3725916L,0x75ffa232665c44d7L,
  97734. 0xb016eb7dbc13d752L,0xfafa7dfaf6e37ef0L,0xdaa24625b805e1adL,
  97735. 0xb197266153688d53L,0x1641661f16cb34abL,0x0000000000000027L } },
  97736. /* 38 << 364 */
  97737. { { 0x298160581c03281aL,0x75d01a189bd0684dL,0xb81bb844686e7da9L,
  97738. 0xd71a3c0bc40baf8aL,0xa4b3a9cedf1cf9aeL,0xf3bea4bbb31c2e29L,
  97739. 0xbf969b09628d5818L,0xbb1228938a88b8b0L,0x00000000000001a4L },
  97740. { 0x1a053aeaf0bdd2abL,0x3f1e00a781b5cb4fL,0xbf606681ee3eed67L,
  97741. 0x30882b9db7a8958cL,0x4c4ba93ff0f63b80L,0xc55305cfe4dd1958L,
  97742. 0xc7980ec98839886dL,0xd0baf2020b84f8c9L,0x00000000000000c6L } },
  97743. /* 39 << 364 */
  97744. { { 0xc169b72d1a9696d0L,0x79d5eab70f71a373L,0x78392dc783d9401bL,
  97745. 0x27d3106e64b017d5L,0x2ce058abee26b0c0L,0xf22292a464858df3L,
  97746. 0x77df2276a825f6edL,0xf5c2e794c745605cL,0x00000000000001d8L },
  97747. { 0x5842cad01e3262dfL,0x46c2d6695f54d3ddL,0x62f0553f0317e888L,
  97748. 0xbbd1443d6a562002L,0xadb380e016279319L,0x1748e13513a945d9L,
  97749. 0xd2681a0e43efa572L,0x38243ccf1668bf58L,0x00000000000001dfL } },
  97750. /* 40 << 364 */
  97751. { { 0x58b0739464e7b370L,0x20ef7659a93df058L,0x7ac8f45caa81fd2fL,
  97752. 0x90c96baf8a23f6faL,0xe9598d129d6246a6L,0x75d74776229c6106L,
  97753. 0xc6d98ba922f9ac4eL,0xf8792c97aab500aaL,0x000000000000012fL },
  97754. { 0x3264168025617adaL,0xd86e42c0a6be76d4L,0xd5b8928f0df9cdabL,
  97755. 0xedf03a9f72787fbeL,0x257c8c9ab5556315L,0x97848014e655dc92L,
  97756. 0x06634000b2992b0cL,0xe138f022e211ecceL,0x00000000000000d5L } },
  97757. /* 41 << 364 */
  97758. { { 0x1cf9d9c562b826efL,0xde0751a348e1c189L,0x733c861c6c5c6359L,
  97759. 0xa75beab65162e6f7L,0xd84ce05b9aa1c7e5L,0xb69b230c41121218L,
  97760. 0xc120a79fc1206f23L,0xcdf5ec7b4bb91988L,0x00000000000000ceL },
  97761. { 0xaf493f97a913ee89L,0x19e21de5ac7f1f20L,0x7f0754187bdd0e2dL,
  97762. 0x439565b4bbab0c3dL,0x84fabbfddaab4827L,0xd5a718839b957b40L,
  97763. 0x65dd01abff3ed391L,0xe83562f3a0eb441aL,0x000000000000002aL } },
  97764. /* 42 << 364 */
  97765. { { 0xf532d6f892fc2c85L,0x1a97475f9caf0c74L,0x44916ac4803e9c82L,
  97766. 0x80f014aac9945b50L,0x9ebcba5a4b8a8324L,0x9637f84bbfc2d0abL,
  97767. 0x1d7908a96150d329L,0x389543cd86b92024L,0x0000000000000035L },
  97768. { 0xfa7fca4ff8d0e456L,0x248bb158f3de61a4L,0x1df7b5ebd5327ee7L,
  97769. 0x374c2f0c2af8ad25L,0x51f3a8052aa22e38L,0x373e647638aa0576L,
  97770. 0x2dd8f6d1b9f97a4cL,0x6ee1f4bee073724bL,0x00000000000001bfL } },
  97771. /* 43 << 364 */
  97772. { { 0xab26101395d029a2L,0x9f45cf6c13c9832cL,0x1e2e6b3ac91c3af1L,
  97773. 0x91dabc8d3d494d57L,0x038545e9d43ae977L,0x5ead75a54db2d953L,
  97774. 0x5efdfcc5311df140L,0xee39830768154467L,0x000000000000013bL },
  97775. { 0xb485d389e6691cbfL,0x1c58b2e497046a1dL,0xb29aaf67b741e05eL,
  97776. 0x6874c8a5612c46d4L,0x52630bffc1e99d9cL,0xe43b1e7b0eab9a81L,
  97777. 0x9478a8cba64b601cL,0xa70734a2196fee1bL,0x0000000000000002L } },
  97778. /* 44 << 364 */
  97779. { { 0x3587f767bfa255dfL,0xfc983ef16af83cb0L,0x5659537ddb44c3f9L,
  97780. 0x12c8477b4f59440cL,0x3e19703bd25c5fb5L,0x4cb6e3973476d63cL,
  97781. 0xe96e9d7e04a21d13L,0x02e48301348ff11dL,0x000000000000015bL },
  97782. { 0x2940b770d2f12b6fL,0xcd619390a18a0f70L,0xcdd831ab0615603bL,
  97783. 0x0e20657a0b4b54a5L,0x8a8ff290eb63b419L,0x6e48d4c674903abdL,
  97784. 0x8478c94ff92d7568L,0x626c5a4784711d96L,0x00000000000001ccL } },
  97785. /* 45 << 364 */
  97786. { { 0xaa734cc4102a3487L,0x3ebd19d83a09e6d1L,0x7a5e991c510cc7d8L,
  97787. 0xce45833c76adfd7dL,0x77c3dcda166b0b39L,0x5ba724c159d056b3L,
  97788. 0x6b925b8a841ece2eL,0x568a6bf7a7f90edfL,0x0000000000000139L },
  97789. { 0xd0b1c8c1322539a4L,0x1e34c638530b052aL,0x6905b2added5b43cL,
  97790. 0xe7b28e65808ea0b7L,0xaa066ef38d84deddL,0xdbd9101db7d82120L,
  97791. 0x9ab79b41f1b84018L,0xf4772c849e4ca179L,0x00000000000000cdL } },
  97792. /* 46 << 364 */
  97793. { { 0x38bc3f9dadeda939L,0xa31d9bba85bb4ee6L,0xced24b2e359d0796L,
  97794. 0x50df5f0d6683d656L,0x976d878c99e37319L,0x6c283c459b607d4dL,
  97795. 0x8ed89d1d9ce07db7L,0xbe380a9c0bb04d85L,0x0000000000000198L },
  97796. { 0x32a3bf77e788dc40L,0x7efa9172473ae393L,0x405f0a92035ff1faL,
  97797. 0x92e3f9ce4bc2d463L,0x925514e40a2021f6L,0xcd3b486a24f17a36L,
  97798. 0xb3d53d04f3613476L,0x71c3f97fe77820f5L,0x00000000000001fcL } },
  97799. /* 47 << 364 */
  97800. { { 0x852f1fbcfb7f52b7L,0xb0cc00e8a5216d54L,0x8672df32b5963f15L,
  97801. 0x762e9282a02e8cb0L,0x4d7014de28e19483L,0x00d4fe7499924b2eL,
  97802. 0x3774ec31f8b18141L,0x0420a9c17157790dL,0x000000000000007cL },
  97803. { 0x911b65954e573db3L,0x32acdb9fa20c4d41L,0x711a9ec71305a54eL,
  97804. 0x9c3d65a366d148ffL,0x625f52948fe247d7L,0xfab2043c4670bf1aL,
  97805. 0x12582823a07de38eL,0xafb1eded5b959f06L,0x0000000000000129L } },
  97806. /* 48 << 364 */
  97807. { { 0x5d8c23c4ef873f3eL,0x2a29d680ce7bae33L,0x5109e098bc00fc8eL,
  97808. 0x9bf92efc3cfad961L,0x272dfa3362036bcfL,0x5abb516cc2b13688L,
  97809. 0xbfad4cccddcb08abL,0x05945b934f260709L,0x0000000000000043L },
  97810. { 0x67fe093b08a5f87fL,0x5f8e248a6c6fe1b1L,0xf54f710ba3b887a2L,
  97811. 0x12e1b68790f7e972L,0x7002bd70429cd6c6L,0x0f010d4ae896b58bL,
  97812. 0x44fb054b1a7f5713L,0xb9f3026865508714L,0x0000000000000173L } },
  97813. /* 49 << 364 */
  97814. { { 0x65483a1ab5c1fbc2L,0xa155ccbd53bb27d9L,0x9094f0ed3d5359f1L,
  97815. 0x362abba1d9f40d89L,0x8d7bc1e7fa134421L,0x636633a976bdfe89L,
  97816. 0xc6ef5d639c5869b1L,0x8e7ba642480bb0a0L,0x000000000000000fL },
  97817. { 0x88d645e1d0feed4dL,0xeb4adfa1c20d0d63L,0xe2209996fb1b2e2fL,
  97818. 0x87d28ed192f8ce53L,0xed470981ceaa7a0dL,0x85aa8a0d90cf06b6L,
  97819. 0xc60e34c958714ef8L,0xc8981d2c3809d2b1L,0x000000000000012bL } },
  97820. /* 50 << 364 */
  97821. { { 0x72fc8211bef81f27L,0x537a557025bf42deL,0xcf4897acb921c86dL,
  97822. 0x5c8699ef53e61dbeL,0x8035b6a21224893dL,0x2898a3da7493e0eaL,
  97823. 0x513c67d938bb7c30L,0x061bd9489096e40aL,0x0000000000000045L },
  97824. { 0x6dfd6e4f28d8262cL,0xa5e899779626f8faL,0x96ad23672ccf3544L,
  97825. 0x942edf03854002f4L,0xbb5cc34da9661773L,0xb80cf020b8d08e21L,
  97826. 0xaf4b59e6c43a0450L,0x808e168e090b9341L,0x00000000000001ffL } },
  97827. /* 51 << 364 */
  97828. { { 0xa21298f924d00a8fL,0x72bfd3d362d44b6cL,0xca5b5295b39fb777L,
  97829. 0x5825f273d6c47ffdL,0xff94e450245eb6afL,0x6bc3a25b526f6540L,
  97830. 0x7e2ab869326c3a3aL,0xfe19c44598793894L,0x0000000000000048L },
  97831. { 0x458eaf5d312c9130L,0x799818f21bc835f0L,0x9a0379fca84cf15fL,
  97832. 0xe1e881b333eb47eaL,0xe8f388c96c148464L,0xdfd0331bf918dd3cL,
  97833. 0x0fe9948d37c326bdL,0xa2e594354fdeacd5L,0x00000000000000b3L } },
  97834. /* 52 << 364 */
  97835. { { 0x167a44a4f48d1a6fL,0x17bd533c0674b096L,0x608ef0ff851af68aL,
  97836. 0x853711b006c5a744L,0xe673db4b76e6aafeL,0xa818d41e84bb4967L,
  97837. 0xce0648d4874cd99bL,0xe54897de3fd7bffcL,0x0000000000000121L },
  97838. { 0x4459a34f07254e0dL,0x134eba30898bf5e9L,0x7ee5ba719c1abf50L,
  97839. 0x66a612de34bf7003L,0x78acbb6315d9f945L,0xb6d28e14bdb7f451L,
  97840. 0x689d24f8b95c7028L,0x6483c9b4ebadf135L,0x000000000000004fL } },
  97841. /* 53 << 364 */
  97842. { { 0x822f612e68d5a09eL,0xacb6e113a31bd8cfL,0x2c3ad4eae8d17d74L,
  97843. 0xab51cf8edfaf7e2eL,0x449183963772dca1L,0x62a617efa96de321L,
  97844. 0xf09187352e20c698L,0x6e7a487e6bb591eeL,0x00000000000000deL },
  97845. { 0x1d33a89b7db906a1L,0x4091e01471dc64dfL,0x0540b534a58cc14dL,
  97846. 0x849222c707396a5bL,0x58aef7eb775ea99bL,0xce7c63f65f302c6cL,
  97847. 0x7a1e02cd1b867273L,0xebc4857b3743b723L,0x000000000000017dL } },
  97848. /* 54 << 364 */
  97849. { { 0x0671c7e112ca894dL,0x6b0a2c88c57f111aL,0xca88bfaf1721a2c3L,
  97850. 0x61cb31da9a514c04L,0x4514bd8599b99880L,0xa9f46871a2059f8bL,
  97851. 0xec4e6edad93af5b5L,0x1cec9d601d560d16L,0x000000000000017dL },
  97852. { 0x6257f235a79d25f3L,0xb1979a667f90a7a1L,0xb38545ac0679b79dL,
  97853. 0x0703d6507dbe20d3L,0x5b88e91e64a68386L,0x7a5629c6c91e584aL,
  97854. 0x0915e551ff339016L,0xf8a9e56d23a0500cL,0x00000000000001a8L } },
  97855. /* 55 << 364 */
  97856. { { 0xee27859c0521098aL,0x970c4051d872b16eL,0xad0ecde9c3c5bbf1L,
  97857. 0x019f0c2c4b149f15L,0x9a5a4e5503a6d0d6L,0xa52621d2895c64f2L,
  97858. 0x707aa7e689956400L,0xbd0e5a053795410bL,0x0000000000000181L },
  97859. { 0xdc51bda6b2a3e2a5L,0xde72d588cfe02f6fL,0xb18b4bec1be05194L,
  97860. 0x68f8b786d6037923L,0xa494a1c4415279c0L,0x0e51e168a5aebb47L,
  97861. 0xe79a88f04a96a716L,0x1feb112e1d788449L,0x0000000000000186L } },
  97862. /* 56 << 364 */
  97863. { { 0x281825f0af90c0edL,0x508b8ef58b11c46cL,0x3cb0e5a0ff67b87cL,
  97864. 0xee6365c9a50bdce9L,0x3f933c55f589fb98L,0xf7950a283567064cL,
  97865. 0x21e677926924a0ffL,0x6d5be0aa7eaceff1L,0x000000000000005aL },
  97866. { 0xa914263d816da5c1L,0xf5a6429d6a464081L,0xea57f436d831fafeL,
  97867. 0x23641c3901b9ece7L,0x661d8811e2403f65L,0x023481f7816a7a7bL,
  97868. 0xe93d5b84dc13eaf9L,0xacb875252dee995fL,0x0000000000000011L } },
  97869. /* 57 << 364 */
  97870. { { 0x7bac8a1f71752fe1L,0xb6ee08d1ef8dbcc6L,0x3fdf644ebb0a75a5L,
  97871. 0x51e3c1eea521e7afL,0x920792c578e167dfL,0xbab8522244800674L,
  97872. 0x02e31bbf3cb5b8f9L,0xf0bc9665b24b43c1L,0x00000000000001b8L },
  97873. { 0xc3b8ebc338cf85bfL,0xb1c104d25af1dd95L,0x2bdfd6dcda6cbd8bL,
  97874. 0xe6ac454268e06800L,0x468c05305cbf5287L,0x65a8a23cdc2a274cL,
  97875. 0xe44faf739e3692d8L,0x88b9600a9770e1f0L,0x00000000000000b9L } },
  97876. /* 58 << 364 */
  97877. { { 0x78186f42d20e93e5L,0xf882de3b52cb40b5L,0xe02c79387365549cL,
  97878. 0xbc1fff4ede0f24f6L,0x4716829f33e8fb70L,0x487999c200e2d58cL,
  97879. 0xd32e04f967046452L,0x5c6c7d0f139cd04fL,0x00000000000001a0L },
  97880. { 0xf5210c69ac33a880L,0xd32472219054b79bL,0x399bf1bfb9b9b279L,
  97881. 0xb145a7345fa2a328L,0x70cb655f6a7cb853L,0xbb5c9d5edb9862fbL,
  97882. 0x239fe8d6762ffc06L,0x912d2a518fed6745L,0x0000000000000084L } },
  97883. /* 59 << 364 */
  97884. { { 0xcb67ef37ff6c372bL,0xe9425af5c428b56fL,0x7854e7f36ff3a356L,
  97885. 0x5965c0105029b282L,0x493d32f7fc87cae6L,0xc7ad7ff9dfc472e3L,
  97886. 0xcd9ab378d8bf71a9L,0xc49c4707acec3621L,0x000000000000005dL },
  97887. { 0xe4c80149cf6db5aaL,0x52602b84909b1173L,0x36ce666e6714c0c4L,
  97888. 0xc72ae2b5f3bdddb5L,0xbb0d0ceb584464efL,0x78bd6e2e92cdc8abL,
  97889. 0x77107721019f02edL,0x7dbc999bec0397b9L,0x00000000000001d5L } },
  97890. /* 60 << 364 */
  97891. { { 0xf252109992d52590L,0x30ed7b6d4f408844L,0x4955bd8bbba75995L,
  97892. 0xd37937658cb5aec0L,0x1261cf5df69bde61L,0xce174a491155e67cL,
  97893. 0x7a1dcb85672e120eL,0x01af5025a31f4618L,0x0000000000000194L },
  97894. { 0x5d88154d535c4264L,0xcf3544f8262baf6cL,0xcb20720cd283226eL,
  97895. 0xbaac302321f39572L,0xfe4b16de5314be46L,0xfd21b184e3413cb6L,
  97896. 0xd03c87359ac85ca5L,0x0ca26710bafa0f60L,0x0000000000000084L } },
  97897. /* 61 << 364 */
  97898. { { 0x502241e716f77078L,0x6bfa20aab341ccc0L,0xf1778314d15149d2L,
  97899. 0x7bcaa76057a09879L,0xdf92e0fc69388438L,0x203a14ae7744871dL,
  97900. 0xe7327d6a7937eee8L,0xa319cc7ba9d12fdcL,0x0000000000000126L },
  97901. { 0x909ce004523922bcL,0xd1da8fd14423b041L,0x7166e840ec1fd1fdL,
  97902. 0x7c04a7938d916182L,0xafa25c31611e6ef9L,0xaecab8083296fcdcL,
  97903. 0x5483703b06078065L,0xd008cd2df0c882a0L,0x00000000000000f1L } },
  97904. /* 62 << 364 */
  97905. { { 0x0e7d946f1dfa75e8L,0xb1e329eb0eb8e7cbL,0xe1df4442ba80dccfL,
  97906. 0xb3a29cdfc142cb7aL,0x3712a3cb0e5e7f49L,0x7037fc67a1f9236aL,
  97907. 0xf049ac787833129eL,0x638fe65adac94ad0L,0x00000000000001a9L },
  97908. { 0xec8ac9e743be67eaL,0x84d8f6db517473c1L,0xad9de5dbc4ec6612L,
  97909. 0x2f7ebb78e15058b4L,0x129353c9adf4076bL,0x7dab2a69d2683ad0L,
  97910. 0xff049895a4228a12L,0xd0348267bb32f462L,0x0000000000000067L } },
  97911. /* 63 << 364 */
  97912. { { 0x2e0d4e523c99d98bL,0x2ef5e71343e2da00L,0xc0c2309974663959L,
  97913. 0xc9df3fc467c2cd19L,0x5da2f192ba2721c8L,0x8702415febb5f418L,
  97914. 0x4db2fd402eec0530L,0x2295bd8643c2146aL,0x0000000000000174L },
  97915. { 0xe7a701ddd762e18eL,0xca06d33a84fe83ebL,0x168dafbfc46cc2ebL,
  97916. 0x398e74542544fc12L,0x4bce2b7d0e00ca94L,0x2488fa21756ef9e6L,
  97917. 0x8e5b79ce4e3f6937L,0xbf90406a0a5d699aL,0x00000000000000a0L } },
  97918. /* 64 << 364 */
  97919. { { 0xd414309fa567339cL,0x4ee5c7a8dff5fbcaL,0x33d8e6c3064cc887L,
  97920. 0x15992eb4ca553cbdL,0x3d733bb4459da20dL,0x98c2de2ea682b305L,
  97921. 0x68c13bed5602ed92L,0x639b79f1c3bf7b46L,0x00000000000000b5L },
  97922. { 0x93de5e06289407e1L,0xa8f2b4e1b05a27beL,0x9d07927a9f5a6be0L,
  97923. 0x9a5d02e2f1b97f94L,0x320db20df2dabbb9L,0x991313330c14980bL,
  97924. 0x44845e16f888e761L,0x1baeb18063a5538fL,0x0000000000000196L } },
  97925. /* 0 << 371 */
  97926. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  97927. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  97928. /* 1 << 371 */
  97929. { { 0x55417ffa525abf32L,0x1ff40e1678067dfcL,0x431a0ae12795ea6aL,
  97930. 0xc3de691cef54c597L,0x60a0c51b95f9d2bbL,0x30840ca982772f1aL,
  97931. 0xddaf460496eb0344L,0x03a9f6f48615d783L,0x0000000000000035L },
  97932. { 0x74598cb233edcfa4L,0xbb866bc9de9dccdeL,0x0c4831162a673bb2L,
  97933. 0x3eddd388fee306a7L,0x8785a002c80eb5b9L,0xe2bd81f71937371fL,
  97934. 0x501648595684a105L,0xf0f3fdde1f26e0dbL,0x0000000000000119L } },
  97935. /* 2 << 371 */
  97936. { { 0xa8c68b9d76bcd267L,0x95f78ca896362c64L,0xbb8302f303603f09L,
  97937. 0xf15b0d54272622b9L,0x4cebfcd197692826L,0x4d29d2b119c758fcL,
  97938. 0x4703bb56e11ac4feL,0x7152abd536b53bdbL,0x0000000000000060L },
  97939. { 0x68ac983427bede63L,0xd5c6c405e54a999bL,0x3d763e32231e8eb0L,
  97940. 0xe36ca2ff47c7edb7L,0xd9f185058d2b6016L,0x4e576eb060d55105L,
  97941. 0xe3e9f24976e3f591L,0xd5bf8f0083ea6a2cL,0x0000000000000157L } },
  97942. /* 3 << 371 */
  97943. { { 0x19167b042f78b31dL,0x0bc39ff3ee7cf690L,0x1ba8b94e84229ddbL,
  97944. 0x3246debb20f057feL,0x48ca85514add6cc9L,0x8b7f118143ae3103L,
  97945. 0xb668a2b5a6c8bb6cL,0xb64cc5c6b9096bb4L,0x00000000000000dbL },
  97946. { 0x9c55192350f09302L,0x9d4b2f64b0cd8facL,0x5082aef750c652ffL,
  97947. 0x8bcd4095cf098fe1L,0xa0548bd149d1d0daL,0x88bb345714f1bd75L,
  97948. 0xc0d5ee3412d51f96L,0xbf0bc99b3428d838L,0x00000000000001dfL } },
  97949. /* 4 << 371 */
  97950. { { 0x43164d3a02079397L,0x2a3fd379490d948fL,0x79ad8714635e0c5aL,
  97951. 0x5ba9289871b5cf85L,0x1babc5a1956bead4L,0x5408a355ff6d701dL,
  97952. 0xd924d7a369570fe3L,0x60d41a46831755afL,0x000000000000000cL },
  97953. { 0x7ccfe1a4ec2f26c2L,0x549a32be85ebc29bL,0xe183ff35d46e8b7bL,
  97954. 0x0e8dfc66d421604eL,0x1ab4332cb30ddee6L,0xad4b6b316c35cea0L,
  97955. 0x1d9c4df7856f9258L,0x65882c90850f81e4L,0x0000000000000052L } },
  97956. /* 5 << 371 */
  97957. { { 0x55a5a6ccdddca192L,0xb38bb7287b3e7f50L,0x7b9a20026c38d9d2L,
  97958. 0x1d2b51021b932082L,0x999e6e2237f9c375L,0x4479906f28599828L,
  97959. 0xf2f530c4a190dd77L,0xedf7a92bd90a48c8L,0x00000000000000a7L },
  97960. { 0x1f671a64995e4d4cL,0x600bfd00452d4641L,0xba5ff839569ac924L,
  97961. 0x0b7be6fdbe11e6a8L,0xd6254f776167c3fbL,0x9ca2fb561db1833fL,
  97962. 0xeaf23c8a2f38a1d6L,0x5ae79637580328b8L,0x000000000000007fL } },
  97963. /* 6 << 371 */
  97964. { { 0x14b97da09278f093L,0x77b62eb2aaf50774L,0xc94c47e5595788ebL,
  97965. 0x3f6fbf17e78a7acbL,0x8beaed91d648cdaeL,0x1402478db0281eeaL,
  97966. 0x06f48d3e057a9cc4L,0x9a75cb7b56f972cfL,0x000000000000001fL },
  97967. { 0x74749b84a7049117L,0xee6187df275efa96L,0xc8a4dd7fa7daefb7L,
  97968. 0xc2a5680ff26b4deeL,0xe64ae23802c8ed96L,0x55d8e7bdc75ab457L,
  97969. 0xc29f93f613daad11L,0x7e485b3f10ef96b4L,0x000000000000001cL } },
  97970. /* 7 << 371 */
  97971. { { 0x1c9e957789aec483L,0xba5e770a1bf4467fL,0xd7526f872451b462L,
  97972. 0x75016fd27032ba28L,0x2dabd34d28d9400bL,0x061fcf0b059924b3L,
  97973. 0x7b10c93f7ffabc41L,0x0036de6be31e7493L,0x0000000000000138L },
  97974. { 0xbc1e36684cf1f0a5L,0x7ee63407d00afe1fL,0x6cbde6d008365960L,
  97975. 0x547354bc69072183L,0x6034bec0b1ac8702L,0x87fd85e523bfc10aL,
  97976. 0x4324629f3e70e47eL,0x297e13f8b293881dL,0x00000000000000a7L } },
  97977. /* 8 << 371 */
  97978. { { 0x27cdf0121f91a935L,0xa3a2d0ab9b1da866L,0x62bc6ad520c6250cL,
  97979. 0xe637b6b235233aaaL,0x3921e6a2e5109b06L,0xa24b99c558d73641L,
  97980. 0x33073b25d3bd99f7L,0x60fad5fec0498cfaL,0x000000000000014aL },
  97981. { 0xb187185263080bdaL,0x8270739112d3fcf0L,0x770b113c7b3cd673L,
  97982. 0x2cf6e741ca843432L,0x77c74d8dd75af1c0L,0x979e1fd4a0c24279L,
  97983. 0xbf05a641f335ef51L,0xd7ec205d26b269b7L,0x00000000000001e0L } },
  97984. /* 9 << 371 */
  97985. { { 0x4a39cd1170a3f57bL,0xf7fad21a6293478bL,0x764c268bcdefc0feL,
  97986. 0xa00708591e0f3357L,0xede58f82eb1922d0L,0x892fff77f01c6ff9L,
  97987. 0x7560da0994b99265L,0xfa2a8b7655cd790dL,0x00000000000001a0L },
  97988. { 0x654458aebe04cab0L,0x54ae24c556d74126L,0x57a824ee98adf4c2L,
  97989. 0x40bad2871153f8faL,0x6ccafa8041c1dcfbL,0x04ca0dec0f0d346fL,
  97990. 0x823065b4b8909c28L,0xa2e9d0ed691fc92bL,0x0000000000000108L } },
  97991. /* 10 << 371 */
  97992. { { 0x12df8924cdf52775L,0xd89749666e3bc06fL,0x7f3310ce3e68cf93L,
  97993. 0x0a012c7f97117fe2L,0x65288f5ba16adbb8L,0xb1e26bb892bc7054L,
  97994. 0xa6833ac98a63d1c7L,0x5f3b945a5de7f156L,0x0000000000000176L },
  97995. { 0xeb8958990dd3a366L,0xef27b635958aa6f3L,0x8ef1df5f1dabec19L,
  97996. 0x871fec8b0f53bdd9L,0xfbb413be9efe0c6aL,0x06e372b6aa16add4L,
  97997. 0xdd08c66fa945e423L,0x66c1b806f3b12febL,0x0000000000000166L } },
  97998. /* 11 << 371 */
  97999. { { 0x933b1a154bc2cb58L,0xac8e7a848ef1d6b4L,0x70260e4618701778L,
  98000. 0x57de74846479f950L,0x978936a560f27f7aL,0x4e7bb94ff6be0506L,
  98001. 0x1457516e3fb3ea20L,0x0441479c4f869273L,0x000000000000017fL },
  98002. { 0x685fe4c987220437L,0xfa0bfbb2e943a125L,0x6fa0b3ed370ece4aL,
  98003. 0x93c118d6dfd5cc92L,0x6030a716ddc2f6a4L,0x0a8ac606b43868e2L,
  98004. 0x297b0af0c5884f2bL,0xd1a4017575bdb5b1L,0x000000000000007eL } },
  98005. /* 12 << 371 */
  98006. { { 0xa200e9eefc3de00dL,0xe02a24d1d3a22751L,0xc793c92ead1898f2L,
  98007. 0x46ab743bb70f915eL,0x274fed3cd9a716c3L,0x292a43535c0d17a2L,
  98008. 0xe7619f937874c664L,0xf21dbab53e3c8169L,0x000000000000019cL },
  98009. { 0x6d19c5de10f6e0d1L,0xc8d263ffddffa70cL,0xac7886e640a77aefL,
  98010. 0x22bd9cf6d4a9191fL,0xc53a3301624532d3L,0x8edfa100fa74a13eL,
  98011. 0x15f04d3357701dd1L,0xd5cfd2ed793d4da4L,0x0000000000000170L } },
  98012. /* 13 << 371 */
  98013. { { 0x398ee0581ecd73b7L,0x2f0d408133d6ed24L,0x1fdcc54b5fdbdcf0L,
  98014. 0x0395f23a4c72a862L,0x367f52079a32bf9dL,0x5b0e3a0c52b644bbL,
  98015. 0x1a611bc7d98749d5L,0xf33a5068dbd98abbL,0x0000000000000171L },
  98016. { 0x2e997900353531a4L,0x61b43baf887ff703L,0xc7f77d0a186f6196L,
  98017. 0x1848d88b69925319L,0x5714b501bc49f4fcL,0x8fea9fe19f096741L,
  98018. 0x967d954bbe08a7bdL,0x3924cd2b8379598dL,0x0000000000000187L } },
  98019. /* 14 << 371 */
  98020. { { 0x627f65fd51ed20ecL,0x1c31d4a36dec3a4eL,0x8f222ec0ea76b32cL,
  98021. 0x890e15c3bd5a76a5L,0x236174697a3e2d67L,0xbed29d6dd8178f45L,
  98022. 0xd61f7707c90e2df7L,0x31c286dd91be7739L,0x000000000000008fL },
  98023. { 0x7ea9ae7ce3d9f5a5L,0xcc26143e9dda23c5L,0xc231022efd1ef741L,
  98024. 0x66e91f63dc1fa1dcL,0xe831781e364d03e9L,0xf2247b2b629af703L,
  98025. 0x08f7eb82ae2b773bL,0x7c543051a0a208b0L,0x00000000000001d3L } },
  98026. /* 15 << 371 */
  98027. { { 0xb761f9dacad555a5L,0x1158077a4c08bebfL,0x20eb5340d9178836L,
  98028. 0xa017580fc9cb0f56L,0x6398ac5dd6a9dd78L,0x8c61b607b81a037dL,
  98029. 0xaeff0fa89e9b6cb8L,0x87114bb165251d54L,0x0000000000000047L },
  98030. { 0x54fe66cde6d7bffdL,0x691934c952cbec15L,0xeec20a71b2822a05L,
  98031. 0xca8eb263df0d5327L,0xe64d4637b7c3f818L,0xeafa8d4f41fffc65L,
  98032. 0xbeca4d821438206fL,0x5b1e7299b08e6da8L,0x00000000000000d4L } },
  98033. /* 16 << 371 */
  98034. { { 0x55a64b0a30239552L,0x447c6e084bfab408L,0x43cb43277063035cL,
  98035. 0x68afe121d293b9eeL,0xa975707bed50a41cL,0x15a6a8be4488f96cL,
  98036. 0xdbb6a3d81bf798e4L,0x0de2f103b5e600c9L,0x00000000000001f0L },
  98037. { 0xc070dab445bb5352L,0xd590d895afdac74cL,0x679fd21d37bfade9L,
  98038. 0xe8dc87e7a0aedd41L,0x9e48f870b31dbd72L,0x21afacd8c7ea78b4L,
  98039. 0x8ac51f26fbcf9d22L,0xb52293afde2b01dbL,0x00000000000001f8L } },
  98040. /* 17 << 371 */
  98041. { { 0x3758f2af7936635aL,0x74b798c72b40548dL,0x8f746cb7bc08951cL,
  98042. 0xe7c48c0db90c67e5L,0xb3aecd64547b6065L,0xa7abe0f2357ebb83L,
  98043. 0xf7870c3f514cd9bbL,0xd4d390c38af455d5L,0x0000000000000026L },
  98044. { 0xe3adfa666f5d6b82L,0x8aaf5a4741ab8606L,0x9f3a4e2e5c7cb83bL,
  98045. 0xbfb5e5f97f817e03L,0xa1774513f962e421L,0xd8530e824f95199fL,
  98046. 0xc634291ffd835e8cL,0xfccc2dcaabd346f0L,0x0000000000000086L } },
  98047. /* 18 << 371 */
  98048. { { 0x7f428dac77331596L,0xbf977f5fc255949fL,0x3da177d5c4d98be0L,
  98049. 0x7cb4b3b7a8527c4bL,0x040683908032ca6bL,0xfab16224bb04c171L,
  98050. 0x6660197a9c5610cbL,0x8fe2ad3091c7c2fcL,0x000000000000018fL },
  98051. { 0xc8df54981bc9c007L,0x9901a26b6aeeb5ecL,0x0c6cd18f85b8d02bL,
  98052. 0xcddd3b72972a7ea2L,0x603843318c6fec2cL,0xd4200454211f8358L,
  98053. 0xc7f5670ee44ccacbL,0x9fcb7d2d97a7417dL,0x00000000000000bdL } },
  98054. /* 19 << 371 */
  98055. { { 0xd144b65c368e0f94L,0x2aa6fd1861635627L,0x3f31fb42fe180a54L,
  98056. 0x8883d6b30264febcL,0xe08156372a275187L,0x1b41b0ab2efeb608L,
  98057. 0x7d4d5c8cd9209a9eL,0x059b7e52fb5e4ae8L,0x00000000000000f1L },
  98058. { 0x99f230bf1ae6d4a8L,0xd4305aa703d12070L,0x500e9eb3bfe7d196L,
  98059. 0xed0419172cc4d4c1L,0x86b8ce8a7c13ad0cL,0xb98fbc926325540fL,
  98060. 0x40a2b38df38b9857L,0xd9db5066e09d37d7L,0x0000000000000079L } },
  98061. /* 20 << 371 */
  98062. { { 0x00c31d64181f278bL,0x582351a85e31f839L,0x825b8006a74edfabL,
  98063. 0x3d9bcb438e3019c0L,0xa05cc896415f4421L,0xfa32c6f82e7c6507L,
  98064. 0xbbabcd82d133935fL,0xae65b063ca469a57L,0x00000000000001b7L },
  98065. { 0x6c872de99ba01391L,0x2905a70571855ccfL,0x9cd262192d4210d1L,
  98066. 0x9de7f89b7aa6af53L,0x8b4cf2b2be39c3f0L,0xc563fc954e4d215bL,
  98067. 0x957fa0bce34c2924L,0xfa619e7a4af69b61L,0x000000000000013dL } },
  98068. /* 21 << 371 */
  98069. { { 0xe46ef9e2f940c3e6L,0x54d48ea1dfd4f480L,0x35065f580b11f229L,
  98070. 0x18835d382a2631f1L,0x986d96526284ec7fL,0xd7edda2e522a1c50L,
  98071. 0x351d9e0abcef1fb2L,0x42a4da050d3f2923L,0x0000000000000048L },
  98072. { 0x65621778920b9d2cL,0xa4e48292ca599b9bL,0x705f6b5f09a51b05L,
  98073. 0x17e2e9be14fb9f4cL,0x626f13c1fdbae0a7L,0xe0fff527a6c97623L,
  98074. 0x0a492326e3b401a9L,0x14005f55d4c7923bL,0x000000000000014eL } },
  98075. /* 22 << 371 */
  98076. { { 0xe86339bafd804ef7L,0x0167369276bbf53fL,0x41236f2e3918ec65L,
  98077. 0x1043b6b3c14159d2L,0x732bcb46ab04bb98L,0x88d1cb4c30d86216L,
  98078. 0x3dca271b85ddd190L,0x927fba7b58e758caL,0x0000000000000182L },
  98079. { 0xca047c60f46e0e28L,0x915c93fc92b64674L,0x8fd233c6794d425dL,
  98080. 0x028132b544a3ec1fL,0x975c8aa816509efcL,0x041ef627622584e8L,
  98081. 0x1989a692938c99dfL,0x7704d7c7bfbbc611L,0x0000000000000192L } },
  98082. /* 23 << 371 */
  98083. { { 0xa7eaf4c895142d4cL,0x61e607a03cd97db9L,0x4763744a14981a6eL,
  98084. 0xf54972914ede7722L,0x149141767b2054a3L,0x214aa26ecbf81d43L,
  98085. 0x0f6799c64e524018L,0x0973267933808997L,0x00000000000001dfL },
  98086. { 0xd8603475f3af64a2L,0xf5e79fd58ab0f9e4L,0x691d0e631fe48f7bL,
  98087. 0x58500c202bae9eceL,0x8867f3767fa96563L,0x5ec76c8c31bb14b5L,
  98088. 0x4a24a4cf719e74c1L,0xa55ab3dc3018ac71L,0x000000000000008fL } },
  98089. /* 24 << 371 */
  98090. { { 0x8013eb783899c832L,0x463a9c46e6ba78baL,0x6d3a471ac9682ac6L,
  98091. 0x599a9fb58dbd293eL,0xfabfd28a1897913bL,0x1de9fe55b9a23b31L,
  98092. 0xdd90ed9ad55d93c7L,0x07581309290a5eabL,0x000000000000000eL },
  98093. { 0x54443bb9978f36b2L,0xc2c254c99f6c65c6L,0xaf9b5009f7b984bbL,
  98094. 0xc5416eec0b97ffd9L,0x1107f9bb5ebb7853L,0x0ff4c94c9d487ffcL,
  98095. 0x7b4f0985507ba23bL,0x0accf6dd5eb91f71L,0x0000000000000044L } },
  98096. /* 25 << 371 */
  98097. { { 0x192da2cd26f4c420L,0x572cee9631d8df5dL,0xdab3e7f5bdcf0a04L,
  98098. 0x6a1d4dfbce93d59dL,0x61e82d140038c2cfL,0x8dcf11e453b76f40L,
  98099. 0x0a4a89fff6fd7ad9L,0x1e290ca5ef8283c0L,0x0000000000000115L },
  98100. { 0xa9681e1b041ae86cL,0x8ed63e5f3f833d4dL,0x3610987bb4d3ddb4L,
  98101. 0xd2ccde6e391b2249L,0xca83117b8d72067eL,0xe1ddd26fa6bdb2afL,
  98102. 0x15ae36b72c70e306L,0xf98cd43ea7758469L,0x00000000000000beL } },
  98103. /* 26 << 371 */
  98104. { { 0x1a07bb1c0ac926c8L,0xdbdad1e77cde114dL,0xd677815bc1f3a574L,
  98105. 0x5758e60628dff5e7L,0x95c76291a7501407L,0x5cd2407fdcb4d1f6L,
  98106. 0xeb6d28c4b9472593L,0x0092a86b0b6fd187L,0x00000000000000fbL },
  98107. { 0x961f53cb791dec5cL,0x77e3a3129a8cd9d7L,0xcfc28c0775f8fc57L,
  98108. 0x748ab16f531e8336L,0x100e37fe05192627L,0x9477fb71d0292d0cL,
  98109. 0x924c1e0546a38ba8L,0x2018a9da4543f219L,0x00000000000000c8L } },
  98110. /* 27 << 371 */
  98111. { { 0xfc15c19894d6a58cL,0x6f96632933f600a9L,0x739ca01ad3897cceL,
  98112. 0x4d55aa32f9951c45L,0xba939be9855859c4L,0x6036fd9015e2f163L,
  98113. 0x5d186f9beeb5f81bL,0xa4fcf9103c005c91L,0x00000000000000d6L },
  98114. { 0xfbc5c0d24972f122L,0x98ba7c8a5c76ac91L,0x2ee0549a178b8a08L,
  98115. 0xa4b87f877d08e3a6L,0xb79bb97e78826c20L,0xf4d47cc987e0716eL,
  98116. 0xaf149859ce5232fcL,0xf06f3b636558ee4fL,0x0000000000000078L } },
  98117. /* 28 << 371 */
  98118. { { 0xdca43ef744ad140dL,0x18c95116f62a3beeL,0x766d5e214e144f65L,
  98119. 0x1087ab025d99574cL,0x3bae4ddc4954da34L,0x673d2cac0ddb3e23L,
  98120. 0xfc2f18ff40cd4d2bL,0xb67bbdbf2e578cdcL,0x0000000000000142L },
  98121. { 0xa3352aac08191be9L,0x24523f454fcf86eaL,0xca79a37a6eb6b7ebL,
  98122. 0x24b8db952ce7f66aL,0xb8ba67584e8f293eL,0xf38b987a8bde44aaL,
  98123. 0x0f3f142659cbcb5dL,0x647440675a6bc1fdL,0x000000000000001aL } },
  98124. /* 29 << 371 */
  98125. { { 0x4f553f1e50084eafL,0x17d18de4080f9a12L,0xc601052c365b8689L,
  98126. 0xbcbc88ed44666175L,0x520b172e6e738779L,0x17cf5474d9331305L,
  98127. 0xe5ca54f6af37d665L,0x729f3bb20505c180L,0x00000000000000acL },
  98128. { 0xb10c1bff0f04c79dL,0x521302ad827da287L,0x2beca71081205674L,
  98129. 0xe817a9cc8bfc4bc6L,0x22bec5a6eb2b7888L,0x57bc24e031e4912aL,
  98130. 0x1a575f46f1fc81a1L,0x52726c48a7f20ee2L,0x000000000000006dL } },
  98131. /* 30 << 371 */
  98132. { { 0xd9d203c4598d6047L,0xe1356b6104351a31L,0x8657a9c458b1e12fL,
  98133. 0xcc26f6378ed5aaf3L,0x7272b2e03b6c0450L,0x2ac17670212aaa79L,
  98134. 0x354b375423e6acbdL,0x22b9deae2a4f7adfL,0x000000000000005eL },
  98135. { 0x20421426b405d02bL,0x62f72a9f20ed4116L,0xb93c24e0308d525dL,
  98136. 0x5489564edbc245ecL,0xa904ab8f3b6d7c99L,0xe4c11c4d99f5d096L,
  98137. 0x1685220588930daeL,0xc2569fe5faef9b94L,0x0000000000000079L } },
  98138. /* 31 << 371 */
  98139. { { 0x54b7d472b9625eedL,0x96bf80ab1a3fb182L,0x29904fff4ee84a0fL,
  98140. 0xdd03b6edb1a2ee86L,0x940f809aa2dc4daeL,0x2afc6d8d553e27baL,
  98141. 0xc40f2a4177ffdc58L,0x8af0695509881ffdL,0x0000000000000052L },
  98142. { 0xbfd40b6420913ccfL,0x4fc3e9d8f708e344L,0xe401cede8f9c65a3L,
  98143. 0x524d923b6757c00dL,0x34ae158b58ac6a2aL,0xcca4076ede97ca62L,
  98144. 0x2504275746574675L,0x5b8c8366883cbd67L,0x00000000000001faL } },
  98145. /* 32 << 371 */
  98146. { { 0x0079a845a2fda60fL,0x6dfdf102da8db63aL,0x7d2759600148a559L,
  98147. 0xe089c346684b9737L,0x09f865b2820bdb1cL,0x000daef6891ae57eL,
  98148. 0x384f5eeea4f64f15L,0xdd68e4903da7e79cL,0x000000000000013aL },
  98149. { 0x20b7457d514ac5dbL,0xa03028fb954721fdL,0x6f20d5185c77cb17L,
  98150. 0x28f92697ad74495aL,0x630e01566b327dc8L,0x6c5067d665832ca9L,
  98151. 0x9c9305fbd3f6db89L,0x681013fa905fffdfL,0x0000000000000188L } },
  98152. /* 33 << 371 */
  98153. { { 0x052a6504fcde276cL,0x9ff83d3e03dca446L,0x6c456483086044c5L,
  98154. 0x400568d5025b2693L,0xeb70c97d3644f851L,0x1c742ab829e4ac6fL,
  98155. 0x6af46714baae2f04L,0xd4479f7478f947c6L,0x00000000000001cdL },
  98156. { 0x1e1fbf4082e4fc01L,0xeaa68ae275f50a5dL,0x499c4cf8e48656c0L,
  98157. 0x3f40e8ea21124f0aL,0xc566ab479726ab46L,0xfd51c6e3f33cf47cL,
  98158. 0xf8534cc9851da00dL,0x2d986dc979325a3eL,0x000000000000009fL } },
  98159. /* 34 << 371 */
  98160. { { 0x2d1cc7a62d628095L,0xbcbecaccf7084f83L,0x78bad38b2160880dL,
  98161. 0x1df37a887240ee90L,0x0b59cee4ffc4d943L,0xd4bf72533ff81538L,
  98162. 0x13ddd2ed2d735a8bL,0x70db19b11ebbaf08L,0x000000000000009dL },
  98163. { 0x7aab738e2d9699b2L,0xf14683cb590a2690L,0x70724263822d9936L,
  98164. 0x814b413b358857e9L,0x9b284542f4d1fbe3L,0xba341ce4894486c9L,
  98165. 0xecfa29df24e844b1L,0x8c25f4197db398e4L,0x00000000000001bfL } },
  98166. /* 35 << 371 */
  98167. { { 0x0989fd6fa3f8bfbaL,0x02117ba75cf7c0eaL,0x4c5844374540f23dL,
  98168. 0x1710744e9e8e6c43L,0xdc1372b3f6438f10L,0xa0a2cb729c4e8561L,
  98169. 0xd1bab93a68368006L,0x08b2d51c5111f2d7L,0x00000000000001e7L },
  98170. { 0x705118155d2f0743L,0x7d1b044ea896f737L,0x0f91e692474ba5bdL,
  98171. 0xb3f073c2df57596dL,0xac9fdc864f784ce3L,0x935a5e29481b5c27L,
  98172. 0xa971f3adde7a4bd6L,0xa1cffafcecf9a22dL,0x00000000000001e7L } },
  98173. /* 36 << 371 */
  98174. { { 0x1b626aed7e856756L,0x4c02b4f05910510fL,0xa2a90de9ad139464L,
  98175. 0x83ea60047ae191d0L,0x1928f46a9ab9cb7aL,0x5534f73888c91d27L,
  98176. 0xe0031a2f2b97814cL,0x85b9dbf6280ac4a1L,0x00000000000000b1L },
  98177. { 0xc4c2339403d60f12L,0x946f2de54e7af304L,0xf6586026d0fd54c4L,
  98178. 0x19818309ac2c7138L,0xd9892eb25758d774L,0x451fc66b1c44714fL,
  98179. 0x3f25ab9540fc9e5cL,0xe56efc7a8aac7a22L,0x000000000000016eL } },
  98180. /* 37 << 371 */
  98181. { { 0x84f0e7a3cea4d0ceL,0xa7728bf113707f9aL,0x1d933350247981ebL,
  98182. 0x34f0f2bb7bb094eaL,0x2f1819ad7e307990L,0xc52e823c730a56b0L,
  98183. 0x29203f56f2cc5b6bL,0x065fc11932c1430aL,0x0000000000000079L },
  98184. { 0xc38deb590a0c113dL,0xa8e60a9b5c85b7fbL,0x1b4a907f44e567caL,
  98185. 0xa57c9bff9092f1d5L,0xfa8d7fa56e0d6c5bL,0x559ae140d6c660a4L,
  98186. 0xfabdb4288cfb6e11L,0x54cb7688b87dda9dL,0x0000000000000065L } },
  98187. /* 38 << 371 */
  98188. { { 0x4cdf8a5640802856L,0xb093e241a4a7480fL,0x576c0cf150b6457aL,
  98189. 0x14ff4a8b058e9d35L,0xb21d8c190109ed61L,0x7e5665920c1db4afL,
  98190. 0x36ba4ef915791634L,0xcaf371a71d77afa0L,0x00000000000000f5L },
  98191. { 0xad4eb0fd4602316aL,0x4c1a0bfbe55635f8L,0xce0ed653ee1f570cL,
  98192. 0x8073dd5e35096165L,0x98a7d8c3635ca5ddL,0xc5c250773c9e3650L,
  98193. 0xe1fcd377487c2433L,0x3319733e097d8560L,0x000000000000013dL } },
  98194. /* 39 << 371 */
  98195. { { 0x304c6914e1dea7e4L,0x41d73698a178321eL,0x8282c3544499c318L,
  98196. 0xc89303ea889a1aa1L,0xf22db4e07f57871cL,0x4674f5c53ce03a4eL,
  98197. 0x6691881b63513ca4L,0x94a96d0fe012c78fL,0x00000000000000c9L },
  98198. { 0xc3ecade9ef232dcaL,0xddd2a751d4c84690L,0x2f25657a9d3d585aL,
  98199. 0x87c2944a846e84c1L,0x1d698bf57907e091L,0x65c42161a2f220f5L,
  98200. 0xcff188228c247a7cL,0x3391b401c1c4a35aL,0x00000000000000ceL } },
  98201. /* 40 << 371 */
  98202. { { 0xab14f586b69e066eL,0x3d8308fe198d67f6L,0x9bc53a0cbb4ecfc3L,
  98203. 0xa2057c4059a3b558L,0xd21e271d18789187L,0xd6d29ba1562cf2b2L,
  98204. 0xa247ac0da5521075L,0x419bb80c0b39367fL,0x00000000000001b3L },
  98205. { 0x0950c5ca7fce595fL,0xd07ff0ef4ee87d4eL,0xa2ed463145b980f1L,
  98206. 0x6bc63c99587079e1L,0x285d306134f889c3L,0x93c029ade97b8a76L,
  98207. 0x048f151b1dc86800L,0x69c5d19225bbc4ecL,0x000000000000007dL } },
  98208. /* 41 << 371 */
  98209. { { 0xd3f0afc8bdf94481L,0xc2e80a6c7e877adfL,0x640e4c028b332b2cL,
  98210. 0x48e6df1ddadae6eeL,0x2d21985cbe6727cdL,0x508bcca2a0c64c31L,
  98211. 0x2357969462e25c17L,0x2d968e90833629fbL,0x0000000000000074L },
  98212. { 0x0b400771bf0004d1L,0x0dd2ba8f732ac6c7L,0xd2763f3ee9c8ebcaL,
  98213. 0x5a8ce5f4b4da65e4L,0x1e35a7e4fe30cce6L,0xa06e97884b791927L,
  98214. 0x73f83c9a9857643aL,0x67fa51e3abdb7475L,0x0000000000000180L } },
  98215. /* 42 << 371 */
  98216. { { 0x4b13370446e00296L,0x58469825ecf84fdcL,0xe74203b87facef7bL,
  98217. 0x54e0d777083cae38L,0xa4793f4b884beec4L,0x9a8ad2accc02badfL,
  98218. 0x290844ff9959c92eL,0xf20beeebf615c267L,0x0000000000000004L },
  98219. { 0xe05d9d8869641a28L,0x612febd9d4942cb6L,0xc4beed25bc912c67L,
  98220. 0x2823c041b15d0758L,0xb4a3b23607b1ef19L,0x6d93041ca6fcb0e9L,
  98221. 0x291d2e3a5fd96b41L,0xc8d023c0ad731fecL,0x0000000000000177L } },
  98222. /* 43 << 371 */
  98223. { { 0x69db450ecf05454aL,0x525c58ba75dcc6b7L,0xabeeb3bd0f61f7ccL,
  98224. 0xa7f6efe0d44b4aeaL,0x18229e9f49553eb7L,0xb2a463ea04fec5cfL,
  98225. 0x79b8b43a90bd5c0bL,0x4d51d7f82413ad3aL,0x0000000000000077L },
  98226. { 0x0a5e7644b24c675bL,0xb2bc3292baddaff6L,0x7e9b435708757e9fL,
  98227. 0xa9fca74e7dcf5d67L,0xe472ad966fb18401L,0x0bf3fccaf63d812aL,
  98228. 0xfb195c5c96de8f40L,0x2301c12a4d363556L,0x0000000000000164L } },
  98229. /* 44 << 371 */
  98230. { { 0x853466f88199c13bL,0xdd186f3bb0442634L,0x6d825347e8a180a5L,
  98231. 0xf311344bf05ea1c4L,0x543f9e173f1923f1L,0xafe9831ddb31fbf5L,
  98232. 0xaac76e2e3fe85ce1L,0xcb2c4b1739f665e6L,0x0000000000000026L },
  98233. { 0x3f57a6d775b32737L,0xbab11b99a81e2c0aL,0x8b08cbcc651dac3bL,
  98234. 0x889d9229f60dda2dL,0x01f560868c1dda9bL,0xfd2f6e052a872c52L,
  98235. 0xd3107bf129a751afL,0x1817e8dd467418d0L,0x0000000000000142L } },
  98236. /* 45 << 371 */
  98237. { { 0x7c9274e1d1cb0137L,0x01a8534b7cbb09a6L,0xc6c9af57e5131af1L,
  98238. 0x8fab2771d276194fL,0x28137f5170cb22baL,0x5da5963a1723f388L,
  98239. 0x7e695abb9271a05bL,0x5b529cb96f26897cL,0x00000000000000f5L },
  98240. { 0x6740acd14d086e85L,0xee755ca560ddae0fL,0xc088e52bb4ff1a7aL,
  98241. 0x297fabb504dc5ab7L,0xff60a2d3d794648aL,0x6c6db4ae62e808e5L,
  98242. 0x0d8e99f3839f623bL,0x7578d594663b07d6L,0x00000000000000e2L } },
  98243. /* 46 << 371 */
  98244. { { 0x5dd4c07bf5fdc2eeL,0xbcec9e0dd1d27deeL,0xaffa6445e7512c4aL,
  98245. 0xd6b231ba13b92689L,0x0bd338d613334d2dL,0x9bd0284664cf3419L,
  98246. 0x0d52aaf854f6723bL,0x976e912d4b5a9b89L,0x00000000000000cbL },
  98247. { 0x0948483cf4895aebL,0xa34bdf41f41c95caL,0x85e0ef7f3df7ae66L,
  98248. 0x2815167549268058L,0x78edc00d1b0440b3L,0xff99353b86ea5b8dL,
  98249. 0x6b678541865c84ebL,0xc40ec092b9391588L,0x00000000000000a9L } },
  98250. /* 47 << 371 */
  98251. { { 0xa7b60f40bc65e597L,0x37cd630e90841defL,0x58baffce898b2bc7L,
  98252. 0xe885f4a0581ac6c7L,0xf964d08319b9fb1aL,0xf4a5ad855b3ac282L,
  98253. 0x90717aa56443f6a9L,0xac47726ca0dd88c9L,0x0000000000000182L },
  98254. { 0x3cdce286373ca424L,0xa7aafe97d673367fL,0x0c49b41131deeda9L,
  98255. 0x847dd95df6d479a9L,0xaa72287549401096L,0xb2a054cf08697d21L,
  98256. 0x1b72fdcf99963174L,0xb2cca97313acd04dL,0x000000000000007cL } },
  98257. /* 48 << 371 */
  98258. { { 0xa0d6c9190fdc0e64L,0xd937bde3d6679591L,0x9fe10f20a7296b3eL,
  98259. 0xbdf41b3b5deae5cfL,0x6e5b59b969a28c2bL,0x17c81d3b37854490L,
  98260. 0x61256f231f7560abL,0x2696b1a3d3960a12L,0x000000000000018eL },
  98261. { 0x5ec3263c732ac301L,0x6a9d57cc6da756ffL,0xb613de1323d4d5c1L,
  98262. 0x90e38bc60196d425L,0x68ed94b6587d8458L,0x332f6403561f02e9L,
  98263. 0x0b27d3cec8e40caeL,0xe9390832106640feL,0x000000000000019dL } },
  98264. /* 49 << 371 */
  98265. { { 0xe79632c57658c9c8L,0xb1f037013bb06475L,0x5bb0edce86ba01b4L,
  98266. 0x06572eac16fbe169L,0x2c8e64c3a5924068L,0x7ede0ffe23732feeL,
  98267. 0xa4591159b92acbf1L,0x1b4f74c83a486e3bL,0x000000000000011aL },
  98268. { 0x0d82a706815e1bc0L,0x06a4c7551a01cb3cL,0xeac6109da5a2752fL,
  98269. 0x9c365f91d94f2e37L,0x20cdddbd3616120fL,0x92b19f0c53afa50aL,
  98270. 0x7f2c06d314dc5f36L,0x5a35a24d05dfe73eL,0x00000000000000ebL } },
  98271. /* 50 << 371 */
  98272. { { 0x2940829b80478312L,0x6d88f23799ba7c9aL,0xed75717d55f305fcL,
  98273. 0xf6234707f1c984b6L,0xfe0a83681e1eadd5L,0x793a987e7a7b7a56L,
  98274. 0x13e0532a73a9a0d3L,0xd848c44c039e4c62L,0x000000000000004dL },
  98275. { 0x31b935621a681f5dL,0x0d47a8022edb93fdL,0xa221a02ed1f56820L,
  98276. 0xf9944066e96bcabaL,0x6c3e8d317fc20290L,0x2e17289b025a2ff7L,
  98277. 0x868dcd9301d72466L,0xf3c79dec7f37ad64L,0x0000000000000080L } },
  98278. /* 51 << 371 */
  98279. { { 0x80badd631af7163aL,0xe2608a8f629cc578L,0x1892410d5406ae87L,
  98280. 0xbc09e8683d5d72e5L,0x14574558087607f5L,0x00948800d06fba2eL,
  98281. 0x060ad156ab277f3fL,0xc764bee6823c305fL,0x000000000000014dL },
  98282. { 0x917cc72654d505f2L,0xe7795a1811309b88L,0x081915da5c4cc728L,
  98283. 0xe3effbf55402b2c3L,0x508c65bd11febf13L,0x816b40557ac06302L,
  98284. 0x4c50c5415428384bL,0xbaca344ca425f49dL,0x0000000000000111L } },
  98285. /* 52 << 371 */
  98286. { { 0xefebc3458f3735c1L,0xefe2d438ca5765afL,0xfd5881b2e7d0155dL,
  98287. 0x307995a912eee27eL,0x7b9d4f553b608fb7L,0x708a3f06ff1c1eafL,
  98288. 0x211f548861ef1913L,0x7bca0d46345312e5L,0x00000000000000eeL },
  98289. { 0x4015390c5a59bc8eL,0x669a2ef16c9ea8beL,0x37929e3112ae532fL,
  98290. 0x6de9c6360a87cc7fL,0x676cd09d6c8c1ed2L,0x35aa3cabb7391859L,
  98291. 0x4a95c14768a7d508L,0xda6e0209342e55abL,0x00000000000000c1L } },
  98292. /* 53 << 371 */
  98293. { { 0x85cf89c2f55b9236L,0x96d932f8623e2b82L,0xbbbaf4ed76def064L,
  98294. 0x15ba1b2b59036e92L,0x1a2bc54b01f493c0L,0xb1dd70b1dbf80e4cL,
  98295. 0x165dfa44fcd048d4L,0xc5f38ed45a7a26fcL,0x00000000000000efL },
  98296. { 0xffdb58f7756de9cbL,0x562fdec0964e7b0eL,0x40aff120746111edL,
  98297. 0xcfc66bfe369b2314L,0xd4bd6928d1966fc1L,0x0e4f2a7e7aa9bcd0L,
  98298. 0x7e4b8b6bd7888e90L,0x0bc4574aa4d094b7L,0x0000000000000192L } },
  98299. /* 54 << 371 */
  98300. { { 0xd94caad6bf3e4eb9L,0x940077c745546cf9L,0x23828c7cccb72d42L,
  98301. 0xa06e1dd3e7fd28f3L,0x736bbc49c6a02e4dL,0x0aca0d8e8dd80a94L,
  98302. 0x1e7355bdceb1aba9L,0x33cf05a96f071875L,0x00000000000000f6L },
  98303. { 0x87b3066dd067d6e7L,0x05db3ffab697139aL,0x681dcd62d8d90d65L,
  98304. 0x9710f9de2cc68eddL,0xc7d09e4f9b997b9aL,0x496208d612c858e7L,
  98305. 0x78dfdea3f1692d2bL,0x8ac90137e2dc87f9L,0x0000000000000114L } },
  98306. /* 55 << 371 */
  98307. { { 0x28dc28c979900f5dL,0xa2e881e24e099d79L,0x0d7885bbc60cf219L,
  98308. 0x72bc84f5273c738dL,0x9321cc7f255f875fL,0x8e9b118bbc4969afL,
  98309. 0x6886bf6250d698a4L,0xa31bc597d162494dL,0x00000000000001f8L },
  98310. { 0xdbea4f4c2ca3c41dL,0x7058c9c296f26b6dL,0x6ffbc7e3d72b2797L,
  98311. 0xf15734a58075e016L,0x8ae59627d4df5cc5L,0x942ceaa51c4364bbL,
  98312. 0x63d829e0d5a8b20aL,0x214a81864f8e049eL,0x00000000000000c2L } },
  98313. /* 56 << 371 */
  98314. { { 0xc0df77af85724c67L,0xcc83a425dd94fbe7L,0x6923e6ffe4c0e0ccL,
  98315. 0x3dad274320f8571aL,0x7ba73c28b62ef81bL,0xd60f9232838d2f78L,
  98316. 0x49a10395a7a6f55aL,0xc655ff3e8f133f51L,0x0000000000000075L },
  98317. { 0x5789909e2d6ab713L,0x5410badca52cb233L,0xbd3f37fe63454a5bL,
  98318. 0xc71998f0977b8cc6L,0xc70977414b81b017L,0x1d37afe2393bbc02L,
  98319. 0xc1f809b6d7cc8c20L,0x18920c3706ca3cd2L,0x0000000000000154L } },
  98320. /* 57 << 371 */
  98321. { { 0xdba5d98ececb3b2fL,0xfb97226090e743f2L,0xbd6ce397fe42c950L,
  98322. 0x28b067328d584404L,0x980fb92181815117L,0x02054320454978d5L,
  98323. 0x0563def626ab7bf0L,0xf531752a8c7146eeL,0x0000000000000140L },
  98324. { 0xd5cb7c6a87f97b5aL,0xbc242e6e9e1a8cd7L,0xfdfb12e765cee902L,
  98325. 0xd2e3803a56a42f2aL,0xe8ac69ade9206ed8L,0xfb57c402668b14a8L,
  98326. 0xef8f858c226e171cL,0x5021b98bec8fb4fdL,0x00000000000000d5L } },
  98327. /* 58 << 371 */
  98328. { { 0x2449088deebada79L,0xa23a4de43ccdafb2L,0x78b6631a789d4228L,
  98329. 0x419af03cb6ffabffL,0xfa3699ee13133cb5L,0x737ec4d896c22a36L,
  98330. 0x32edef00af55b6baL,0xe6f1c72e96e0d6a2L,0x000000000000011eL },
  98331. { 0xc0d0be8fc4de6c1aL,0xb7eede852cb83932L,0x65c116ca5f89a922L,
  98332. 0x77b8e6aff6c6c162L,0x7127e0625a82e691L,0xb9ae11c241062230L,
  98333. 0x64716a12cad22949L,0xd6cb5ed80e142596L,0x000000000000000aL } },
  98334. /* 59 << 371 */
  98335. { { 0x5563c8044eaaf6d0L,0x83785e884d61282aL,0x2d19641075b9e703L,
  98336. 0x738abe2a67031bddL,0x7351a702392114fdL,0xd74621a2b438377aL,
  98337. 0x224da5806c76f049L,0xa7ce99ec732477c6L,0x00000000000000aaL },
  98338. { 0x6e0e5a3a38bca0cfL,0x576efbc8ce259960L,0xfef2bf2e07a2c533L,
  98339. 0x0c374e7b37f23263L,0xd8436d82f9603370L,0x5afdbcd6f047d841L,
  98340. 0xa40d0067db50a26fL,0xfbc47928c1287fd3L,0x0000000000000133L } },
  98341. /* 60 << 371 */
  98342. { { 0x10c10e89a4f78e1bL,0x0bf7c82eae25d4f8L,0x198522759bb8dd0bL,
  98343. 0xdeccab587ef26c90L,0x51d20addcf49361eL,0x997a0f9909827779L,
  98344. 0x102a745d200dafdbL,0x98e1484b723114d0L,0x0000000000000034L },
  98345. { 0x3df6bedb00b69cd3L,0x7bd05f836f56e429L,0x9d31ea08762b3f9aL,
  98346. 0xef84ee087204e805L,0x20d6c20de5a264e8L,0x85b6881ad7fc3279L,
  98347. 0x8cff29870dd12086L,0x43898d6cbcca4f36L,0x000000000000007cL } },
  98348. /* 61 << 371 */
  98349. { { 0x8fdc9befa560413bL,0xe9ea9e2031f2730eL,0x8f3b05243a61d0e5L,
  98350. 0x2932274c6f9d4628L,0x36d58f3218df923fL,0xf66083b38611bc64L,
  98351. 0x6348e55c2d53743fL,0x69059a3b79693090L,0x00000000000001abL },
  98352. { 0xd72bb101f0d34585L,0x22d4ada32f8309f1L,0x19c6543bdb11c225L,
  98353. 0xab0ba09d5349e6fbL,0xfa38b0c8fd6bef5fL,0x40e20ab68c5ddf83L,
  98354. 0x28351a4d2e87ae87L,0xf51f0b52b8ff6cf6L,0x0000000000000024L } },
  98355. /* 62 << 371 */
  98356. { { 0xf768cfa5b3ce1936L,0x82c193e7cb0845b2L,0x0c2bbb74fc4dec8cL,
  98357. 0x6f0684557438b1bcL,0x7d7535bb62d4a96fL,0x40c7498bcced8820L,
  98358. 0x1ac733eed2c44657L,0xbc9de98f03f077d2L,0x000000000000004dL },
  98359. { 0x0db45688d55b796cL,0xa2f1857c7be53b69L,0x4df73c3c4671711bL,
  98360. 0xfe01dc6cd27fc313L,0x2f770bdcc11c8592L,0xcc8eb844ac8593b7L,
  98361. 0x8163d65855437a70L,0xe6072e3b4b436e88L,0x000000000000014aL } },
  98362. /* 63 << 371 */
  98363. { { 0x6a90b471803837e5L,0x18d7ef7345c32e26L,0xe5f4a8575ee5bdd5L,
  98364. 0x5d0201d0e7e31757L,0xd856baa14b111dacL,0x6e346ca66b462db1L,
  98365. 0x45ea4fb338b88b95L,0xde8cf5a046477f38L,0x00000000000000f1L },
  98366. { 0xce05bfba7c2ff5b3L,0x27291f1f1f7a8bd0L,0xc7620f3025a57de6L,
  98367. 0x1847ea5c759e1d2cL,0x02ab7ec1e3774792L,0x3807be6e22b81177L,
  98368. 0x389ec8496c206771L,0xf5c4fd984a375d6fL,0x00000000000000cdL } },
  98369. /* 64 << 371 */
  98370. { { 0x9d590ca72a708597L,0x5ea564a217c45d92L,0xa7098ca409f8d031L,
  98371. 0x231c716117a9a6d9L,0x5919a777951ecc81L,0x9fb5df367ab0cd85L,
  98372. 0x7f4d2d7a2b6b445cL,0x73a2764668251f9dL,0x0000000000000037L },
  98373. { 0x7bc56153e9e14113L,0x4747084f030af56bL,0x865abbe91efa69ecL,
  98374. 0xaf6534b5da5d565fL,0x40549f0bb0001866L,0xc451348f812351afL,
  98375. 0xe7323ae9190eb107L,0xfb3fd76fbfc098f1L,0x000000000000001aL } },
  98376. /* 0 << 378 */
  98377. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  98378. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  98379. /* 1 << 378 */
  98380. { { 0x7ef1f62ccf0f33caL,0x225317b7184de5d6L,0xba7645c1260fc821L,
  98381. 0x522c34f2d057844cL,0x53282114c4a6dff0L,0x6d3d84005f6dbdbdL,
  98382. 0x165e4194f3fb787aL,0x210a607ac8c575ebL,0x00000000000000fbL },
  98383. { 0x68c834c2832c8deeL,0xcc4ff8611602f932L,0xdcfa537d456ed4bbL,
  98384. 0x68f201750c079647L,0x972d770b8f28ecd5L,0xaa8fdbe82d099800L,
  98385. 0x06285716ecaddb29L,0x67fa9a61d5dc6040L,0x000000000000015bL } },
  98386. /* 2 << 378 */
  98387. { { 0xe12b714e622ed5c2L,0xb1e036a7cb699185L,0x3920a7371ab44645L,
  98388. 0x9844c8d9f5a325e1L,0xa91bea02c02de758L,0xaae624a018ade985L,
  98389. 0x3a700e40cc31937dL,0x47c0b398bfdea449L,0x00000000000000caL },
  98390. { 0x04213750a9e1b74eL,0xa1d25057b3f7ff5bL,0xf8c7fdcc259dc673L,
  98391. 0xa837e675953ca2b9L,0xe23e1e1fabf04630L,0xafe1f1b99889ea3bL,
  98392. 0x40988791c4db25cbL,0xec8592e4f18669b8L,0x000000000000014aL } },
  98393. /* 3 << 378 */
  98394. { { 0x1fcf2222c7504de2L,0x7a048586b37c96d2L,0x75a974ff2600255fL,
  98395. 0xfd8effbeea7922b7L,0x871c04531c3aeb4aL,0xe9445f23f167a3eaL,
  98396. 0xe8b8f95431d66e47L,0x3ba0fb51b46bc080L,0x00000000000001dbL },
  98397. { 0xfa565b995ec9920dL,0xfeee4e89a25ec3e5L,0x8428e8ea5fe155d8L,
  98398. 0x31b55db4caadb703L,0x1c66ace9fab8f8f9L,0x9190e7bf0f688545L,
  98399. 0x36695f2f7ad75316L,0x6674f106c6d6a5c6L,0x000000000000016bL } },
  98400. /* 4 << 378 */
  98401. { { 0x18caff50efbf6b21L,0x0eeb65ec51f2ba1dL,0x2cd8a43f296c458bL,
  98402. 0x04d795b29747ceabL,0x52b0bca6dc306c57L,0x39fe8ad517ec9c28L,
  98403. 0xa4a9e3fb81a0cb57L,0xdd6933a9a638d6f5L,0x000000000000017dL },
  98404. { 0x9893eb50d39ac021L,0x3bf7087339bd296bL,0xa10440a7792dec05L,
  98405. 0x96be97e7a67ad18fL,0xcf2175ae17ae5f6dL,0x70fbb8bf0b6f0503L,
  98406. 0xbb565fadf7a755adL,0x8904f9a093ccfd37L,0x00000000000000f8L } },
  98407. /* 5 << 378 */
  98408. { { 0x971b01fc2042af7cL,0x11b2c0307449ebbcL,0xe151578f6c456ea3L,
  98409. 0xc31adfedd9445535L,0x5dc3e787b13a3d98L,0x980db984e1bc2ac0L,
  98410. 0x97f837868ed9752dL,0x0eccc88119cc9947L,0x000000000000010cL },
  98411. { 0xe7a55af26e4202cfL,0xb38c0786032e736bL,0xe315cca3db912a92L,
  98412. 0xe02fb77c5d424e69L,0xfc196d63cee674b6L,0xd19ffd2edb4f40e4L,
  98413. 0xb9f89932b6e2749cL,0xfa1b8b625345d087L,0x00000000000001d7L } },
  98414. /* 6 << 378 */
  98415. { { 0xbbd6b9b6fcb957a9L,0xb8cd2aac28e9a858L,0x16959f6e00533aa4L,
  98416. 0xa81de300f05c87eeL,0xd64c0234e01f1fc6L,0xa35e2db9035bb306L,
  98417. 0xbf57719d17545c33L,0x67cf28a2fe2c9778L,0x00000000000000baL },
  98418. { 0x747839247b2ee141L,0xb20fd87638107770L,0x38f43f8a115e285dL,
  98419. 0xe4dc2337be44c1aaL,0xc0a9fdabebdb2590L,0x83b1017260412a11L,
  98420. 0xbc0797cb6c8e3144L,0xde47a666ebc61f01L,0x0000000000000060L } },
  98421. /* 7 << 378 */
  98422. { { 0x68c60c44993f8222L,0x3242a8afcabf4bf6L,0x6151a88033d5edecL,
  98423. 0xce5e0d4b5b66eb95L,0xd5a8ddd2df34b84fL,0x0a57559677e14d2bL,
  98424. 0x6b8e78f78bdbc216L,0x1f6b94ac13b5a167L,0x00000000000001b6L },
  98425. { 0x5a252b95aaa7bcc7L,0xb0366a61ee28e333L,0x721a9b24e1fbdb73L,
  98426. 0x4e73cf1cdc60cbf5L,0x7744e830ddbf9b87L,0x0bc943e99d8e60c4L,
  98427. 0x48c37b3ef7aeaeb2L,0xea23eb3ac6610f28L,0x00000000000000dfL } },
  98428. /* 8 << 378 */
  98429. { { 0xc7c5d4242b72359fL,0x9aedfa4ed89718f9L,0x74773e4f858b335cL,
  98430. 0xcccf6730b5020d9eL,0x7f2b567baaa8bee0L,0x929b3d35d1d4c7cbL,
  98431. 0xbf1c55591d6602b4L,0x58fd96154782966dL,0x00000000000001c2L },
  98432. { 0xf87aa9d87095c048L,0x145af97f67c5dc33L,0x1541a34b5808379cL,
  98433. 0xd5be204572f16afcL,0x008a4aa0a10e4d9eL,0xf75936efadb03c27L,
  98434. 0xcda58468a6d93005L,0x1817e5bad0cfa2ccL,0x0000000000000078L } },
  98435. /* 9 << 378 */
  98436. { { 0x7fd99a18a2f628e5L,0xeec261701304cb4fL,0xf99f01680146e6aeL,
  98437. 0xf3e3762978f53f23L,0x5fcabd21f138d376L,0x7872711aa084d16eL,
  98438. 0x96911ccd5f3b555aL,0xf959c94ce8c39ed8L,0x00000000000001d6L },
  98439. { 0x2470f0a5f551f7aaL,0x7eef9b723dd57d82L,0x04110c484b42ac7fL,
  98440. 0x6c1a12a04eb664c8L,0x47f1715711e0fd68L,0x4e51416c90d00893L,
  98441. 0x38843dcf77b01086L,0xab132a0fbda87debL,0x00000000000000aeL } },
  98442. /* 10 << 378 */
  98443. { { 0x6258b29f813fbb71L,0x9f43e2a3d4201179L,0x04bce1fd4ae85168L,
  98444. 0xb6919e51b37d3de9L,0x147eea3e85fe635bL,0x56f4e6e7898401b9L,
  98445. 0x711ff12cb0b8a1deL,0xa6fa12cd8720cbd8L,0x00000000000000c1L },
  98446. { 0x4b5a3c99e8a60e98L,0xd8e57a658a00f03fL,0x91a8dcbbcaebcec6L,
  98447. 0x44b04cf5355e112eL,0xacc706ab9cd62b2dL,0xd24a1f6ff56e7060L,
  98448. 0xd5d6a2b9b0814270L,0x1f19697e0659fb13L,0x00000000000000e8L } },
  98449. /* 11 << 378 */
  98450. { { 0x6cd1913f5c97d8d8L,0xab72e99fbb94b154L,0xc288647a9049a264L,
  98451. 0x6e9d0a5ea9bad9afL,0xc2c7f9c684af75dbL,0x171064782b1355e2L,
  98452. 0x8b29dbe3352a6b20L,0x179974899e7c0e22L,0x000000000000011fL },
  98453. { 0xef8d33f97c34be01L,0x1469347f10b46c03L,0xfd1e25cbdfc7f736L,
  98454. 0xdc1715fd11482a6fL,0x041c0ca1f7afc700L,0x513277296b2e7b33L,
  98455. 0x820b886909015f92L,0x7fd2bd94ba584623L,0x00000000000001a8L } },
  98456. /* 12 << 378 */
  98457. { { 0xf669c4582cff741fL,0x558296d0cb12d0f3L,0x4ca064d770be227aL,
  98458. 0x02b8d5cacf89f9f2L,0xb4e066608f1e5a13L,0xa030d85a9c08b765L,
  98459. 0xdfeb77d6922e04e8L,0x65930c729603967aL,0x000000000000015dL },
  98460. { 0x70cdeaff4ff2e952L,0xbaa81ba88b6332a9L,0xe573d5b4798836fdL,
  98461. 0x5b68b878605c5eccL,0x3f0a6abd47bc37ebL,0x823a54e1dfa7f440L,
  98462. 0x2fc0aa7a5c500937L,0xb97b588c35953c9bL,0x00000000000001abL } },
  98463. /* 13 << 378 */
  98464. { { 0x7d789b9087b7dd4fL,0x4976f243c24b301aL,0x0f6198c9640d22cdL,
  98465. 0x7a23eecf5f188165L,0x822ff8c203fe646fL,0xeac1adb321eb3279L,
  98466. 0xd9d1b22e196e1874L,0xd06dc84c8fe3f31bL,0x00000000000001f1L },
  98467. { 0xcff3200080218f0bL,0xf427e062189bbfe1L,0x11f7040839650e1aL,
  98468. 0x78cf93c09bd7d3abL,0x297ab5cc4bb1dc5cL,0x3cafe6cabdeb897eL,
  98469. 0x38ba64a35508aeceL,0xdfc60e77a99847bbL,0x000000000000013aL } },
  98470. /* 14 << 378 */
  98471. { { 0x727469356d9aeddcL,0x0063b3643e937a7eL,0x4451a20aa161dff0L,
  98472. 0xbcb491a8a3e9efb9L,0x878d694f5134d997L,0xed8ee2f3215771a0L,
  98473. 0xe231e6705410f9ccL,0x72716750ec1fea93L,0x000000000000010aL },
  98474. { 0x254ea4bca45d8095L,0xb3d903725398d742L,0xe51298cff66aedfdL,
  98475. 0xa530fd64c377e046L,0x68b31f366c7f5f39L,0x7e157769c86662bcL,
  98476. 0x8ff3a79cde21fb57L,0xdd498d1d7c37978fL,0x00000000000001dcL } },
  98477. /* 15 << 378 */
  98478. { { 0xf72ba696bad7f9f1L,0xef0bbbbfd7bf9dd5L,0x8b8bb6f20e7a7b7aL,
  98479. 0x86de41c7cebdc20aL,0x3be5c2c2b0e47167L,0x2cf82c5efce45a8bL,
  98480. 0xb309beb60f8be277L,0x485f837752133ceeL,0x000000000000019bL },
  98481. { 0x3f0fdc6f16b88e7aL,0x6e4ead572b6edd43L,0xe1e73101ebf2ff39L,
  98482. 0xbd513613ff830b18L,0x5803953eae63df26L,0xbc4b8e2d0f2a108eL,
  98483. 0x624c2bdb7feb9952L,0x91ce40cc4a8ed81fL,0x000000000000010dL } },
  98484. /* 16 << 378 */
  98485. { { 0xd89de8041ba719b6L,0x9a84d6145b7139e2L,0xc2f91c87d16e4f4bL,
  98486. 0x7adcb047bb8175eaL,0x4c301c4b3c2fe568L,0xec7dea0ce6e82790L,
  98487. 0xcc2c78869ce824abL,0xaa0f82dc64e12c47L,0x000000000000016aL },
  98488. { 0x3c6dca8ea0b4332dL,0xb161c4e9d82dc4dcL,0xfda8729063029487L,
  98489. 0xace5d0b634209806L,0xb8c940b78968ac6eL,0xb61329e9d0c0973fL,
  98490. 0xbcb0a143b1aa99b6L,0x96b831932211ae06L,0x0000000000000057L } },
  98491. /* 17 << 378 */
  98492. { { 0xcc654c3af4fab0d0L,0x3a7193d45e93c2bcL,0xdc03184c037e85acL,
  98493. 0x994431edc77bfee2L,0x7f840982a1d69ea6L,0x64144b55732776e9L,
  98494. 0x6dfdd076f3767206L,0x10851baf67f36980L,0x00000000000000a4L },
  98495. { 0xbc53bbcd0a6119d6L,0x56f7202f83f4b808L,0x9bb6c525fc7d8415L,
  98496. 0x4e2c95178310de3cL,0x571b5e0936d1c854L,0x624cc7f6fabd72e2L,
  98497. 0x71eb58cdd9dc56bfL,0x9d76432a443b8059L,0x00000000000001c5L } },
  98498. /* 18 << 378 */
  98499. { { 0xb9118d534b29393bL,0x8bf825e2e9376465L,0xecc73fc2f6b988f1L,
  98500. 0xb0431205a33b16deL,0x91cc2704f5e72a40L,0x072fa1aca15f1e6dL,
  98501. 0x414dfb0e57824766L,0x86360addb12159a2L,0x00000000000000afL },
  98502. { 0x9dd10faff209743aL,0xcf7178eb7cdd7a84L,0x8e5d30ddc7e5e621L,
  98503. 0x1a6ce1502049e4b0L,0xa18d488715cee376L,0x0db2ce2deb316c23L,
  98504. 0x0941fda5c1b42ea1L,0x895b347c8213b66dL,0x00000000000000feL } },
  98505. /* 19 << 378 */
  98506. { { 0x13fca9016d4b4f9cL,0xd76d3bc50fdeff6fL,0xf389e515b1be5101L,
  98507. 0xda9a159ba6ff67a0L,0xabe611a18258a9b7L,0x300fd58ae44d3117L,
  98508. 0xf942ed560729163cL,0x6a9c601afd9b49ceL,0x00000000000001dcL },
  98509. { 0x01dd23e56a998f6eL,0x1e8e8da62ed942caL,0x141780e73437bc31L,
  98510. 0x5f81d0587b25adacL,0xd166b90f7126e231L,0x9c4af4b145aaf0d3L,
  98511. 0xb3fd98f0f33f7481L,0x98f6cb285307b8d2L,0x0000000000000037L } },
  98512. /* 20 << 378 */
  98513. { { 0x39a64d5d2fd93ad6L,0x667ff12d2637e7f1L,0xed31162e5151441bL,
  98514. 0x9abdf9168277e2bbL,0x1b7630f0ec0a5f93L,0x89a828cc5b002930L,
  98515. 0x912428adb246befaL,0x632b0787765dbfe1L,0x000000000000018dL },
  98516. { 0xebf44ba86693bafaL,0x3ad447318a12bb84L,0xc0e12abb5d02d2fdL,
  98517. 0xccdcbc009ac44290L,0xfcc3f910ea70a61bL,0xcaed56197dbbd680L,
  98518. 0xeca08d0b2d159763L,0x4f51a9af6d9dc6dbL,0x0000000000000095L } },
  98519. /* 21 << 378 */
  98520. { { 0x3730726c925f6af8L,0x524421fae7224ab4L,0x1aec24f0a5f4383eL,
  98521. 0x629f850c80fe5b2dL,0x8aaca9471188c165L,0xccff714298ede9e4L,
  98522. 0x43c517b119ab2bb4L,0xcaf6524f70094fd5L,0x00000000000001f6L },
  98523. { 0xdc1ec8c7ccff9006L,0x2b848d94bd3c886bL,0xf0450380462da9cbL,
  98524. 0x5fc95f0aa7246725L,0xd8c6a8f472969208L,0x47615458614cff26L,
  98525. 0xceb01f21dab37dd7L,0x2d5fc9084a992e5bL,0x0000000000000095L } },
  98526. /* 22 << 378 */
  98527. { { 0x0a5c77dddfc1712dL,0x94a283f3cdb8fe3cL,0x9180c2149c7ddf13L,
  98528. 0xc61e53c7fc061c25L,0x3f2d5898ed6b66b0L,0xf956d429f2775780L,
  98529. 0x009936172599b777L,0x275022d3315c4538L,0x000000000000006cL },
  98530. { 0x09ffdfe9389149f1L,0xdf706504130dcff6L,0xd5e9e831a43853f6L,
  98531. 0xcb16e7db2c76d906L,0xfa644e731a6023bbL,0x93ccda7c56319253L,
  98532. 0x0f36a540e75c969aL,0xe5824f21d1c63fc4L,0x00000000000001f1L } },
  98533. /* 23 << 378 */
  98534. { { 0x12a31002e3beda68L,0xae12c484bc59084cL,0x21f82d81a6320c77L,
  98535. 0x82a9e0e6c37dd1e5L,0x672d57b4396dc114L,0xde55fbfb692cad7fL,
  98536. 0x58613e19cea6fcb1L,0x6c1ac62e9322e880L,0x00000000000000c6L },
  98537. { 0x92578cedb2d1f22dL,0xdff3a47d86773c2fL,0x6bd302c02edaad87L,
  98538. 0xa320a18615e3ca42L,0x2f12c817bac6dcf9L,0x59fab6f0e98fb56aL,
  98539. 0x378b36fb6afdac5aL,0xb71742e57cba0062L,0x0000000000000141L } },
  98540. /* 24 << 378 */
  98541. { { 0x6372245924ff803aL,0x4c6743967c6401e9L,0x322820a88efb71adL,
  98542. 0x49a9bb7e18386499L,0x809f13b4011be153L,0x21ea3bed1caa0e61L,
  98543. 0x062a8eb9cb8a3c34L,0xdad37ca0d371b482L,0x000000000000004dL },
  98544. { 0x517e7e99425737bdL,0xf0d5129c74652ea7L,0x46e5f98b493390ddL,
  98545. 0x889c952faccd9071L,0xc01d4483732246ddL,0x6e3982ca191b7f2aL,
  98546. 0xef390898ec4ffa9dL,0xac0c56044dcf0ca9L,0x000000000000011dL } },
  98547. /* 25 << 378 */
  98548. { { 0xa89e9095f20520f0L,0xb661e4bf9109833aL,0x59a9216a15746d4bL,
  98549. 0x66734a014b9b7b1aL,0x92958d4d87b01cacL,0x1fd10ccd73679175L,
  98550. 0x12a3f35acc92c829L,0x60943f7e876f0493L,0x00000000000001cbL },
  98551. { 0x8920cfd084536908L,0x27c0cc691195d0b0L,0x8203d7edf0d640ebL,
  98552. 0xc2aa233aa5db5d5cL,0x13dca3e4097a5f7dL,0x95698b5cddbee822L,
  98553. 0x68aa3cfad37f3c60L,0xe481f4454b5db726L,0x00000000000001ccL } },
  98554. /* 26 << 378 */
  98555. { { 0x4faf81a13da0fcd3L,0xc4f41b64bf5eedc6L,0x83413747016dba9cL,
  98556. 0x3e386d921053b061L,0xbc1f8c328779267fL,0xfae5180521378daeL,
  98557. 0x4c355e52cf8aed54L,0xbf4cc913379b3965L,0x00000000000001fbL },
  98558. { 0x9681bfb7b9829287L,0x1f8e11d1d0a0cab4L,0x5eabefb67b24dd7aL,
  98559. 0x49d30515db2856bfL,0xb7fdc303403cf7b4L,0x319eb33d9de58853L,
  98560. 0x7c0a5c445949bdfdL,0xa4de3e0f2cc2f57eL,0x00000000000000d5L } },
  98561. /* 27 << 378 */
  98562. { { 0xcc57d8f66ee81af4L,0x0853a12ac61b41b4L,0x1c2547e7fe3ce741L,
  98563. 0x5c804f085be4d27fL,0x470ef59f6b35897cL,0xa0ac230bf6f2a082L,
  98564. 0xdae8427f0e65b7a4L,0xc72903cbe4637dc2L,0x0000000000000170L },
  98565. { 0xcaf13ad329899253L,0x4ac375937ff415acL,0xeca18182a3e41fefL,
  98566. 0xce65d25d560f469bL,0xea0fd26a373b6eb3L,0x0261286e9b094b32L,
  98567. 0x93f9f0b4d6c2e004L,0x6cca5edad8c82ceeL,0x000000000000010fL } },
  98568. /* 28 << 378 */
  98569. { { 0xf0b9ede34dd2d2d3L,0xb06079398c4d1ceeL,0x1ca4ec570611df8fL,
  98570. 0x7f32d19753b914d6L,0x99b6f882dfa4df49L,0xfbe161cfb265f518L,
  98571. 0xc6db288e40c76bbcL,0xc8970e3f281437b1L,0x0000000000000139L },
  98572. { 0x9d76d4a51a18db0aL,0x59e76809238445c6L,0xa0f52e646a48deaeL,
  98573. 0x3692a8a8338904d4L,0x3fe48d48ba28d02aL,0x9f2130aab958b23dL,
  98574. 0x210a547ecf8cd8e9L,0x46e7623e5179029aL,0x00000000000000bcL } },
  98575. /* 29 << 378 */
  98576. { { 0x53f5f5178569de0bL,0x4e6537efa3b8228bL,0x08bfd7df2c494a3eL,
  98577. 0xa3bcb0835d18c56aL,0xe4af9a2015abd36aL,0x09e5e04722ae49d3L,
  98578. 0xc8e36b51c397412eL,0x29196125dfd6ffdcL,0x0000000000000037L },
  98579. { 0x6693d42066e82af2L,0x4fb5ac25fadfecf4L,0xb164f341bc2eda30L,
  98580. 0x04f0da03df7e18e9L,0x53e083ed285c2522L,0x2f841c4607496d5fL,
  98581. 0x747ed61b427e3224L,0x42d48a2449331c47L,0x0000000000000090L } },
  98582. /* 30 << 378 */
  98583. { { 0x85e622f707cff9c0L,0xb8f17575de26c2c4L,0xaa599c8cbd1f2537L,
  98584. 0xa43898660f10a87dL,0xd884accdd54bd70dL,0x4cb6081af85b6a22L,
  98585. 0x795d0348af6068caL,0x2fa1f312111fb967L,0x00000000000001c6L },
  98586. { 0x80ed98b42ce0216aL,0x11debd5b76a91579L,0xe6e2957b8b468ee6L,
  98587. 0x4342a477d5b0f947L,0xea4dce18e48f5922L,0x52271ff6d5e930f7L,
  98588. 0x957be36854819139L,0xd46357cc2613a69cL,0x0000000000000055L } },
  98589. /* 31 << 378 */
  98590. { { 0x2110cec0704bb446L,0x5227cdf087881081L,0x471af5acf3bba746L,
  98591. 0xc4c1c63bddaa6a2eL,0x411d5b30c65b5847L,0x428e1d0e0b7a1558L,
  98592. 0x2b3ee41fa104910eL,0x6dfe7d92a5cb24d1L,0x0000000000000071L },
  98593. { 0x2d6421d20c322db5L,0x3da59b47ec01fd37L,0x0297ffe5359e020fL,
  98594. 0x772575eb9679d700L,0x22d11608e029b068L,0x6f2151099c5d9d69L,
  98595. 0x23ee93a156e9b96aL,0x3dd497407cf5309dL,0x000000000000011fL } },
  98596. /* 32 << 378 */
  98597. { { 0xbe58970d503cfe9aL,0x72000a862dd620a9L,0x5825b2836d0ef833L,
  98598. 0xb88d53b7c706f2c7L,0x5f7df7cd0501f0f7L,0xf1fd2e3b2fa3b809L,
  98599. 0xf3afd9fb557798c9L,0x9254426ab970a87dL,0x0000000000000135L },
  98600. { 0x577560bee8947e84L,0xc60b998cb0f49a8cL,0x81d18bef9829431bL,
  98601. 0xeaa5fa385f48ada5L,0xba2cb72612db61afL,0xfa9de7ddf3d26bbeL,
  98602. 0x97876d0626881c14L,0xaec866638c84185dL,0x000000000000015bL } },
  98603. /* 33 << 378 */
  98604. { { 0x8e48e4e19306d591L,0x4b6d69bfe9712645L,0x7247afac5d8aee55L,
  98605. 0xddf6c68c41f8fc2bL,0x084113863c7c87c0L,0x120957078b0f0c59L,
  98606. 0x46947fbebefc7642L,0x863bdf60f346ed41L,0x00000000000000cbL },
  98607. { 0x75b2e77916cf6d59L,0x4e9533e6bbea42ffL,0xdce016328f701e08L,
  98608. 0xba39be402e0bc080L,0xa2f9af3ae20f673fL,0x40267291822b60a5L,
  98609. 0xbc77e4c4dbc55825L,0xd05a9f0c76e1abf0L,0x00000000000000a5L } },
  98610. /* 34 << 378 */
  98611. { { 0x63fa956e2881ab6bL,0x5f97abe5a6d783f0L,0x344bdf96bcb29243L,
  98612. 0x0472af080c53dc0fL,0x548e9be3e496461eL,0xe42405b45c491e0eL,
  98613. 0x511c368dad995038L,0x8598ee29b972eb7eL,0x000000000000019dL },
  98614. { 0x0fdaeeaaa63dbc35L,0xe5afbb55acd56541L,0xeb3f3ef7dcfa1178L,
  98615. 0x8ef2f4777f100925L,0xbd0f868ae3e055ebL,0x375cec42990b7aa7L,
  98616. 0xd9208d18c2d32362L,0xdfa689dd976f791aL,0x00000000000000c7L } },
  98617. /* 35 << 378 */
  98618. { { 0x6f5a60e4fb6e4091L,0xe2350a12bb9d8f61L,0xc03c9d59633d52daL,
  98619. 0xcf0b5d046e9e386eL,0x3ec86484059f0bfdL,0x26f396363c158dedL,
  98620. 0x608edd54a4550c89L,0x6cb66b6cb7317194L,0x00000000000000c1L },
  98621. { 0x1cc8c7fdab732b3eL,0xf1855941bc3597f7L,0xcadcddc4802f2f45L,
  98622. 0x95a6da93f7af2141L,0xe555f720ed61d1aaL,0x2a080de97297d73aL,
  98623. 0x8e9cd2c7d3e8e814L,0xfb38e2637857c2b6L,0x000000000000015bL } },
  98624. /* 36 << 378 */
  98625. { { 0xc988f588852cd09dL,0x67d21418af218601L,0xda5f50ec0c10a857L,
  98626. 0x504418a30e2b2960L,0x9f44ea6bf4038971L,0x6b5d406a2e458d2dL,
  98627. 0xfc240795801e5fa5L,0x0356185cf7584734L,0x0000000000000102L },
  98628. { 0x7a948fd177a57d4fL,0x5de3afba2fbb8782L,0x1ae44706bcffc674L,
  98629. 0xb97083b5563f5c74L,0xa91850575466ebd5L,0xf9c3a26cea623a4bL,
  98630. 0xc917551994105039L,0xa570c1c1819c3cdaL,0x0000000000000075L } },
  98631. /* 37 << 378 */
  98632. { { 0x46dc6fa89638c421L,0x4cf437b157d0f402L,0x6c0b0445701342c8L,
  98633. 0xf0b14b15d6de77a9L,0x0330a9ea2c12d1f0L,0x7ac4e03e350b8b49L,
  98634. 0x332483357702f7f0L,0x24c3fa9da7f3df83L,0x0000000000000134L },
  98635. { 0x40137a2bf88c7b4bL,0x00fa0f35cc5d6687L,0x873e236070c137a3L,
  98636. 0xbe8cf5ee9f32b2e5L,0x818f219f5482134bL,0x6c068d2515968a1dL,
  98637. 0x7426988417e92272L,0x8754eee4604a22f4L,0x000000000000004fL } },
  98638. /* 38 << 378 */
  98639. { { 0xee6b7f37fad88237L,0x2d162f469c14454aL,0xd67666908adaa0c2L,
  98640. 0x7aad29a762504b81L,0x550d67ce1623cf44L,0x7d50d506ae816ec1L,
  98641. 0x56d5a4f9ffac6535L,0x0bde908295e83917L,0x0000000000000177L },
  98642. { 0x56a58061dd9c907aL,0xd9d7c49ecd4c54bcL,0x4a9907a4bc6a0d7aL,
  98643. 0xeb86db82f6346080L,0xab70905fd6cc22b6L,0xe14a687600342763L,
  98644. 0xc033b0ad1dfee808L,0x2396008039a9c5dfL,0x0000000000000089L } },
  98645. /* 39 << 378 */
  98646. { { 0xf1f290a881e90f0aL,0x458336c79f36c486L,0xa956a20dce22f976L,
  98647. 0x027fc962a8516eeaL,0x7e14bad2c9b08021L,0x698bfa124cc598ddL,
  98648. 0x4bcf3d871d01279eL,0x1b94b7b30114d592L,0x00000000000001bdL },
  98649. { 0x02fc0a2093157584L,0x92faf06480300f42L,0xb05d7c3f5318f4dfL,
  98650. 0x1fa3eb6f3723e3edL,0x94aac7051da5cedbL,0x50d945d9cc65e3d4L,
  98651. 0x651a7b0c7daa7bf6L,0x4e497b4681a86469L,0x0000000000000052L } },
  98652. /* 40 << 378 */
  98653. { { 0x297e708e61fbdc72L,0xf59c64fb4dcb9e90L,0x4a61f848814f38e2L,
  98654. 0x081dabdced48623fL,0x7ca592c953b0cfe1L,0x1462ce03c049d136L,
  98655. 0xb5642b78b47bd071L,0x99e3adbb87d24f68L,0x00000000000001dcL },
  98656. { 0x643879618e44f3b7L,0xc1910e8c3aa42510L,0x45de7844b07adfc5L,
  98657. 0xdb7910a633804208L,0x77d0ec7574be91e4L,0x3e015cfce842cac5L,
  98658. 0x11c32fa6554fec82L,0x7c43fc38829dc4ccL,0x0000000000000062L } },
  98659. /* 41 << 378 */
  98660. { { 0x02ee8b2122993f93L,0x4223000d4723ef89L,0x1c6bdfbfc16af026L,
  98661. 0x116239f3ddb9aadfL,0x14eeb9730c4acc54L,0xf50134a6ffea830cL,
  98662. 0x9ac616a5f1f1d7feL,0x33ffb2cf33eadfeeL,0x00000000000001f7L },
  98663. { 0x68c32c5dc98eb88eL,0x258448994073d0f5L,0x885f35f066b25598L,
  98664. 0x8410c3f9269b7cdfL,0xee851ec9fb4d1244L,0xd94cf16a0f45f2d9L,
  98665. 0x18846fd1320d195bL,0x31093265cbb27bf2L,0x0000000000000158L } },
  98666. /* 42 << 378 */
  98667. { { 0x36f55d29067f0144L,0x31518706a7088a9bL,0x58c145700c4992a7L,
  98668. 0x38d22933424edaf8L,0x75e07014c6ebc015L,0x153a99adc1b7c05bL,
  98669. 0x94ab96cb56b197f9L,0x86645eeeb5eea03dL,0x000000000000001fL },
  98670. { 0x5f97f0b5125f3db1L,0x981e52e815dc479dL,0x7ba639b09f915ec4L,
  98671. 0x5c27dc763e5a1a0aL,0x350c904109dcfd90L,0xf571c49b5507f709L,
  98672. 0xfa19d576fda7d982L,0x2b60baf9b4533fd6L,0x0000000000000182L } },
  98673. /* 43 << 378 */
  98674. { { 0x3fa53846346c78afL,0x3ad12e905ed12162L,0xcecabd5a086ef430L,
  98675. 0xdcc55887eaeef2deL,0x47ef2f7bcd688b2aL,0xd4c09587a1d916a7L,
  98676. 0x0959a988121ec022L,0xf419bde5980a39d9L,0x00000000000001faL },
  98677. { 0xfed8228e2d3ca021L,0xdb264c8a05dd7141L,0x637f4aa24e4d3e80L,
  98678. 0x49ce73f1be791a76L,0xa9a2d7b25eeabfc5L,0x4961a76bd9e26135L,
  98679. 0xa9af174a2caa9899L,0x8cfe47a6f2b4ec6fL,0x000000000000016fL } },
  98680. /* 44 << 378 */
  98681. { { 0x3c3814b8a3acdb65L,0x42cea8683ac121c9L,0x95ccdca1554edbd9L,
  98682. 0xc8127847badd4e7aL,0x8249a372c95fe784L,0x1e5998d520661224L,
  98683. 0xf88a1a0815019264L,0x501ba0a9619de345L,0x00000000000000bbL },
  98684. { 0x27bce70edabd6eccL,0xbdbf47ad41144962L,0x949d92fd302c2f1fL,
  98685. 0x7ee6077edac7d399L,0x4b1ca3ab70cbd239L,0xbe03cf169c08640cL,
  98686. 0x67d91ddae90bb15cL,0x989110bf3584fe3fL,0x0000000000000033L } },
  98687. /* 45 << 378 */
  98688. { { 0x1ca61c2dd76f0dc8L,0xa128cf5611e0f9f6L,0xfe51323b25502465L,
  98689. 0x13ab91d00bc94de6L,0x28079c8f3b1e6a02L,0x38d9d80583cc5869L,
  98690. 0xd6a83dc6dd952429L,0x37bb912864101dadL,0x0000000000000028L },
  98691. { 0x86036ada8abaa4f2L,0x8f29ab0d2138c5c1L,0x50ae84e55a3f84bdL,
  98692. 0xc1cbb22a565e767bL,0x9b9f37f45a6bd205L,0xad2a69778bb3fbb5L,
  98693. 0x53dbbc715b169cc1L,0x8695b45396820288L,0x0000000000000166L } },
  98694. /* 46 << 378 */
  98695. { { 0x957c58ab585f2470L,0x78c7130743ec2283L,0x3c996caae6b95670L,
  98696. 0x6361761891d24b79L,0xe08b5b76a4281338L,0x77269a7a2091999aL,
  98697. 0x83e93389d6fac12bL,0x4599815c57805e7eL,0x00000000000000efL },
  98698. { 0xddcafd581b749d60L,0xea0911b95dd775ceL,0xb375a06039909bbbL,
  98699. 0x9e821684d7a4a2a4L,0xc1f34df74d520003L,0x427a57eafda0d68cL,
  98700. 0x92e8fd75768380feL,0xc70e584b69988733L,0x0000000000000083L } },
  98701. /* 47 << 378 */
  98702. { { 0xbcdc8a861fc73886L,0xbce7b5b885f4eabfL,0xd536699712d0b54fL,
  98703. 0x76ab760e8ac35fafL,0x5da79c8b25cb3d53L,0x435013bd284b22b0L,
  98704. 0x7a9059fffb9c2d44L,0xc8c98a74c8283091L,0x00000000000000faL },
  98705. { 0xd68585686a560d41L,0x21648ff9f86d0cadL,0x79bae93500f23e11L,
  98706. 0x92b6a5633f41bfe6L,0x1ca24a5ea6ff9d19L,0x12138d86b3a31dbdL,
  98707. 0x7a593f3c4180e5f6L,0x7a93e4a3f75d9718L,0x00000000000001aeL } },
  98708. /* 48 << 378 */
  98709. { { 0x77d57155881b7b9aL,0x41639a4746101b26L,0x06edc878203c9899L,
  98710. 0xe4ac1d9648d8ec5aL,0x7cec08752db1051dL,0xaf9facf257c860a9L,
  98711. 0x94ad13ccfa3dd49dL,0x853273184e345924L,0x00000000000000e9L },
  98712. { 0x9956ad2c84311ec6L,0x3d494579bfb208a2L,0xaa60bb0ed8ccd0a5L,
  98713. 0x6d3d4df518418197L,0x56386035884b2cb1L,0x7a104900464eebecL,
  98714. 0x0785d58b72ebaddcL,0xf5ad930908356589L,0x0000000000000191L } },
  98715. /* 49 << 378 */
  98716. { { 0x9cd32d496a0eb239L,0xffc5d2115f947b28L,0xd8fc9f9147a7c456L,
  98717. 0x0aa962f8dabfa006L,0xde49f418f9dc0c43L,0x019ab5542bf89f6eL,
  98718. 0x1feafd6ce086e756L,0x640de15457b70d2fL,0x00000000000001eaL },
  98719. { 0xa5b450dfb341f2e8L,0x2b3b8dc21fa4d7ecL,0xfe158c5b65700970L,
  98720. 0xc76f0c6c14a4d28cL,0x22b2faa32a1c0cfbL,0x63df95e94f73de9bL,
  98721. 0x649ebafd52ce6fceL,0x1e1e64ad89f379c8L,0x0000000000000128L } },
  98722. /* 50 << 378 */
  98723. { { 0xcd7ec65fe314b91dL,0x794c5c9db6d1882eL,0x3be845c193805243L,
  98724. 0x442f9269a76572cbL,0x6a284b3606390457L,0x5017a685566b2b8dL,
  98725. 0x3c429a7e068147d7L,0xe6e676dc3d7d6573L,0x000000000000000dL },
  98726. { 0xb0e3e213d011d3d7L,0x000fc6342254ec45L,0xe1ae05778f4dba98L,
  98727. 0x051781505eb4cfe7L,0xf48317f98c099058L,0x4aad616562e46888L,
  98728. 0x8b24c7fae08df65cL,0xc6fdaf0725f0f3bfL,0x00000000000001aeL } },
  98729. /* 51 << 378 */
  98730. { { 0x54b4c7c446b8ad3bL,0xa20b60629f0c5ef3L,0x6bfd32c40430b0bcL,
  98731. 0x6a9e2a3514c0b78eL,0x0de18d29d1bc6260L,0x9e69f8b6dcacf599L,
  98732. 0xf46879ae0342f0d4L,0x3a97c39069b78c8cL,0x00000000000000e3L },
  98733. { 0x0d979410c49c5e32L,0xc8ea1cec45e6c311L,0x535c6afae971af26L,
  98734. 0x2d1dfd6cecf4a950L,0x542ddbffbb1970d2L,0x8e8a91100eb842aaL,
  98735. 0x5b8b960b6529ed29L,0x6783066072a2a6ceL,0x00000000000000cbL } },
  98736. /* 52 << 378 */
  98737. { { 0xa58e52d8f7a4d317L,0xaf23bf92dc6f7aecL,0x70121c821c520880L,
  98738. 0xf68499f37bc182b5L,0x0edc4e6fb02b3e34L,0x4378badce425564dL,
  98739. 0x3b74b05fe75eb0bcL,0x5a234bae599d4d45L,0x000000000000011bL },
  98740. { 0x3094e3c091572efbL,0xc370662f6f509233L,0xc741ef37beb6af1eL,
  98741. 0x5e1d62655bf3bbd6L,0x39044bc61029591dL,0x05ff006b7c1724f3L,
  98742. 0xde62a8fca492bb41L,0x9682c9ebd3f4a832L,0x0000000000000159L } },
  98743. /* 53 << 378 */
  98744. { { 0x06101e47154beb06L,0x8a47bae12dd56ba5L,0x976db80f6a6e6cbbL,
  98745. 0x301b4afc4cb3e0c5L,0xdd64084a266c37a9L,0xa07718a2cb920e87L,
  98746. 0x9ddf6bc5d55d3754L,0xaaedcf9b5f737e92L,0x00000000000000dbL },
  98747. { 0x635303c5597c9f7dL,0x1808eca68f6f1955L,0x4ab48d642f11e00dL,
  98748. 0xa458c021206d04abL,0xa008af7312ba62a0L,0x5eeaf4ca985ad01dL,
  98749. 0x1bcc70a06bfde38bL,0x2e6677736abc5c8cL,0x000000000000009bL } },
  98750. /* 54 << 378 */
  98751. { { 0x989800d0d51106fcL,0x414919311337369cL,0x1789e03117476c07L,
  98752. 0xc38797d77a766687L,0x1eca11cde24df708L,0xe7932afec333cebfL,
  98753. 0x521256dc587ca6d4L,0x175eeb6278afc48bL,0x000000000000019dL },
  98754. { 0x9bcc1e605a409618L,0xb09ed90848452cb0L,0xc5b18a20839bb71fL,
  98755. 0x1137bdbf58d1f0ebL,0x4a020da2d9349073L,0x86cb98f90426e19aL,
  98756. 0x734d928504ee89f2L,0x2f82c2c9578df861L,0x00000000000001ffL } },
  98757. /* 55 << 378 */
  98758. { { 0xe119b7ec4dc900efL,0x35ef1e2ee7f6b120L,0x6c02b0384a8f5961L,
  98759. 0x8b99d41eea69e482L,0xe43de7767de16897L,0x48c7f64aef564cc0L,
  98760. 0xfa0d48d3b3691c55L,0x27688e1d0cebe168L,0x000000000000012dL },
  98761. { 0x192bab59f1e8aa56L,0xd9bce84222664c4bL,0x73dee69a5fbb90dfL,
  98762. 0x973907e9678eec7cL,0xa1568020dcefce7cL,0xf0a37f14c72b6736L,
  98763. 0x3c5ce56d115d70abL,0x4c444963700cde74L,0x0000000000000027L } },
  98764. /* 56 << 378 */
  98765. { { 0xb32047f1686b8e76L,0xc292c8960fead8feL,0xf552fe3f3d1bab8cL,
  98766. 0xdaa248af483f96f7L,0x2ada20d3b898320aL,0xc0e0325ce0ee1e67L,
  98767. 0x4769dc2e72f55358L,0x33cb916bbf19057bL,0x00000000000000ffL },
  98768. { 0xc1673b3e8a2a8023L,0x39484339b3d830bbL,0x91f2b0f7fee1a7e1L,
  98769. 0x0e2da8d5eeac1c7fL,0xaa77624c0292b469L,0x0a57d873d551849dL,
  98770. 0x6c78f50f595c052eL,0x33be2fc03744d368L,0x0000000000000000L } },
  98771. /* 57 << 378 */
  98772. { { 0x2a44d59cb95bfbc7L,0x02721445757b2e4cL,0x9a35c0d0c4ba0fd1L,
  98773. 0x588679287bbf16cdL,0xb250c3b6cd5c4373L,0x1334f593a72dc1ecL,
  98774. 0xc729aec7e9dd1186L,0x7d783ee76442117fL,0x000000000000006bL },
  98775. { 0x94d753e01d0c3d58L,0x3c96b6b638fff1d0L,0x0165d4cf9f22aedcL,
  98776. 0x565ce447eb09ecb2L,0x916ab8c27d1b5fc8L,0x759049861fe28f47L,
  98777. 0xdc0172730766822fL,0x295b6799ba9ddf82L,0x00000000000000c2L } },
  98778. /* 58 << 378 */
  98779. { { 0xeb2dc700fd394524L,0xfeac25e1d144a193L,0x9b9e20d4d700de34L,
  98780. 0xb7de3dcdcae6c578L,0xd2b130fc64b8c44eL,0x2f38b9c6c0a24c78L,
  98781. 0xbc0c4d2339c51692L,0x09fc3bb7f0a87c29L,0x00000000000001eaL },
  98782. { 0xc0146d59288a18cbL,0x0390fff82057898aL,0xf50646cc1a248697L,
  98783. 0x2866b5786190c9bbL,0x2179a3e5f18b0d82L,0xa1467d4b6d1550d5L,
  98784. 0x3f764ac4a485f508L,0x713e87e7b16d9964L,0x0000000000000038L } },
  98785. /* 59 << 378 */
  98786. { { 0xb78b208d153147d8L,0xbb8fda83f5aba599L,0xa17bebf0692f8e10L,
  98787. 0xea3ce68fe2f61fd7L,0xce34d743f27289ebL,0xf8dc8834a6ed4d37L,
  98788. 0x7823bdc45a72a376L,0x84253be985ccab89L,0x000000000000001bL },
  98789. { 0xc52b1b18edd17c50L,0x855aa457278702eeL,0xa4df8b06f0d89cc4L,
  98790. 0x9711592b7d65576fL,0x75ddf111029ef7e8L,0x66e25d8b3d858f44L,
  98791. 0x61753b0680ca5a3cL,0x40b270c67025f431L,0x0000000000000026L } },
  98792. /* 60 << 378 */
  98793. { { 0xbc3f4c479d702e02L,0x6a06f96d86c216d1L,0x9469cef28c2dc6f3L,
  98794. 0x753d64d2c98d9271L,0x7c7ec13b051508c9L,0x7b94098d95fd48e2L,
  98795. 0x724358006bb4f8d3L,0x01d3f3d188eee18aL,0x0000000000000039L },
  98796. { 0x764baacf1a6a057dL,0x7d880282f7326213L,0x37c2394043d2615bL,
  98797. 0x7e09836a6eef57deL,0x3f7e265cd790bbf6L,0x10025e4549a4f757L,
  98798. 0x515d51bbdcb5b373L,0x05699be5f534f5fbL,0x000000000000005eL } },
  98799. /* 61 << 378 */
  98800. { { 0x7edb67b24d9df16eL,0xbeb1fd5b9697647eL,0x47a1a16ea9c068ccL,
  98801. 0x2c834cb2b36fc492L,0x120019eb5e7d068fL,0x34074d5a2e4afc37L,
  98802. 0xc2e75a089febffadL,0xf789c01d12a0b113L,0x00000000000000ecL },
  98803. { 0x7cc8481c4f63e95dL,0xb6f5e67341ec8492L,0x4feee2f212d6bbaeL,
  98804. 0xc60be12a62737198L,0xce48ba8d9388c8aaL,0x7e6b28eed47186dcL,
  98805. 0xd62fb8a0145ae15dL,0xb08e7f37a6edd2adL,0x00000000000000b3L } },
  98806. /* 62 << 378 */
  98807. { { 0xc9101947f1a2cfc7L,0xe3b88442fe8ff8b9L,0x61ba92f3ab98fcceL,
  98808. 0x58bb6747b2128502L,0x91ea81ead23a937eL,0x8d0846ad6a138d6cL,
  98809. 0x9d4b901e5ec186c5L,0xe2cf1d36f0cf52fdL,0x00000000000000a8L },
  98810. { 0x3cd95aa50fe009e3L,0x933f220bc246d7faL,0x325b953ec0d3f179L,
  98811. 0x366196e9d25f08d1L,0x1b47a8966b247f04L,0x7e304fe85044a3b6L,
  98812. 0xce4199cc201f4438L,0xd816ed7de850cf8aL,0x00000000000001e2L } },
  98813. /* 63 << 378 */
  98814. { { 0x8052bcc2eafde3c6L,0xd80dca3e9b9351c6L,0x957a0b78e510ec55L,
  98815. 0x6cf7a4d7d0f3d49cL,0xb55b5ed2e3708855L,0x94ce53a450515ef5L,
  98816. 0x752e68fdcccde771L,0x95b49c5d4b31604eL,0x000000000000009bL },
  98817. { 0xed84542a33b84ba0L,0x41656dafcf833a49L,0x60eb8d9113262619L,
  98818. 0xd351476cda206701L,0x67d4bb1c5e340587L,0x9a8ae0da903f6673L,
  98819. 0x5801b4bb90cff4e4L,0x6a4aa36bf8cf6d47L,0x000000000000002dL } },
  98820. /* 64 << 378 */
  98821. { { 0x442ebf300bcf3b88L,0x4b863857dc5bfd2bL,0x632a1056c50960c2L,
  98822. 0xdbf49444c9d74020L,0x335f464b78287d19L,0x0cf8d5c75c490a63L,
  98823. 0x4f9d9bd7d7d2d2c6L,0x1490fb61ad52d8a9L,0x00000000000000ebL },
  98824. { 0x42aabe7434a088dbL,0x871248c89e5b69eeL,0x7d624d6e55a87edbL,
  98825. 0x81bc0bcfbaee4473L,0xf450c5ad9559a1b0L,0xa604379cdf4c738cL,
  98826. 0x36b304e210ec0574L,0x948a50d38d8cf3d9L,0x000000000000018eL } },
  98827. /* 0 << 385 */
  98828. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  98829. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  98830. /* 1 << 385 */
  98831. { { 0xc6ecf2f55565eb6eL,0x05e894602b260a3dL,0x459e260432c54616L,
  98832. 0xfbf40aab47dd43acL,0x54d5949f9ad0b934L,0x992295a5cea0eef4L,
  98833. 0x8a5af63cd5520b7aL,0x536ae69fa7f1ffddL,0x000000000000017bL },
  98834. { 0xddd868a73f0bc9f5L,0xb33a39d1bb82dc6dL,0x878d8aa048953ce8L,
  98835. 0xf2a35ce29802f566L,0xa2b9188a07f25b60L,0xd01fed060933ca89L,
  98836. 0x89013fce3114f728L,0x8128fdbe87828fadL,0x0000000000000054L } },
  98837. /* 2 << 385 */
  98838. { { 0xf20e17f13f9fa837L,0x0f66494807db1380L,0x5bcdc63187f0c342L,
  98839. 0x56c64eccbd3f369bL,0x5e2dd96811c76666L,0x77a37823dc4303ecL,
  98840. 0xa88173a174b208cfL,0x1c6268951af41e96L,0x00000000000001c5L },
  98841. { 0x72da351465467b39L,0xa97a3735ce45abdbL,0xa1cb4a2cc98eee0cL,
  98842. 0x03dd02d494c63a07L,0xd22b087a3b2689f6L,0x5a50b83c3043678eL,
  98843. 0x069adf5f844a417cL,0xa9eb7a19983fcfc1L,0x00000000000000c6L } },
  98844. /* 3 << 385 */
  98845. { { 0x4abf6de480e0c811L,0xfb0db238cf33e5aeL,0x3f65131865638f5aL,
  98846. 0x93e5d62e41078c4bL,0x53ec3d90b4b44d9bL,0x9fe564607ddcf3b9L,
  98847. 0x4714385079848b05L,0xbd3495a99e60315dL,0x0000000000000144L },
  98848. { 0x90409b61670bedefL,0xf0b1baf0b61f1014L,0xed3ccb5ccc4ad55fL,
  98849. 0x391b2125ebc6a449L,0x9f49ab65c399ddd3L,0xf7706ca403eddc81L,
  98850. 0xe42d1379579211fdL,0x9452b0d11ede88c3L,0x00000000000001fbL } },
  98851. /* 4 << 385 */
  98852. { { 0x984da95de0ea0baeL,0x7769cffa3ab813baL,0x02fd64a784cc8b68L,
  98853. 0x138655f25ea90ed5L,0x71074c7c40b410c4L,0xf3971b004a05f173L,
  98854. 0x113d8242d36b4f4dL,0x63bd460f4cdd1b0eL,0x000000000000015bL },
  98855. { 0x26bfaf816db9fe99L,0x001943c40a3c3a72L,0x258eccec8adf321fL,
  98856. 0x8bf97f30f50d775cL,0xa7b60597e6899fbfL,0x622bf2cb49eabd50L,
  98857. 0x9ff457e9b19e9649L,0x607570fde2dbb651L,0x000000000000010aL } },
  98858. /* 5 << 385 */
  98859. { { 0xf878768dc39ebd2dL,0xb1b035621b3a6b46L,0xe72832d029c2b56dL,
  98860. 0x218d6d25056bd4caL,0x612ca701aec98ff1L,0xe163cfb4087e18faL,
  98861. 0x87de2193c2bec7a0L,0xd4021463b488ad62L,0x0000000000000063L },
  98862. { 0x0edd28a4b8a8a68fL,0xf1ffbbca57379793L,0x35148b571e59f460L,
  98863. 0x05e012671c86cefcL,0x8a9be0b60125bc67L,0xe7e5a7b6ba39760cL,
  98864. 0x6f2c362f681eeb77L,0x6da71b8a21896363L,0x00000000000001f6L } },
  98865. /* 6 << 385 */
  98866. { { 0xeef26ae3c25300f5L,0x8bbffbbfb5cd52d2L,0xc6883fe52008ae5eL,
  98867. 0xd9c9a0c8e2b01d57L,0x9acae3b306c31ab5L,0x7b2f19eb43b0c30bL,
  98868. 0x95d3152ab1298985L,0x4794f0ec5f12ff03L,0x00000000000000a7L },
  98869. { 0x3bdefa96ef21ba62L,0x3b32556422a57592L,0x573f6bb2555fba4fL,
  98870. 0x732ad6b3bae1a0fbL,0xfc41bc29a2761ee0L,0x621784f7aba990f9L,
  98871. 0xd4ba1ab2e48a868bL,0x66312db4d1399b20L,0x00000000000001d9L } },
  98872. /* 7 << 385 */
  98873. { { 0x8049507015ff7901L,0x1478179a05613016L,0x59efd46ca8be1593L,
  98874. 0xbd1f8e76113933ccL,0x09e6abf36992abb5L,0xc95822eca1d045e8L,
  98875. 0x7436d5981f6c515cL,0x8d7c824f1bbfbeb2L,0x00000000000000e4L },
  98876. { 0x7d026a123aa9274aL,0x830bfca50bd883d5L,0xea9b5934fbf1bcd7L,
  98877. 0xbf8c71836b06d84bL,0x4c0885bc205fea9cL,0x5fed94ad4cff3b03L,
  98878. 0xd9f7b8f98be81d5dL,0x64d908c6893fa1b5L,0x000000000000007cL } },
  98879. /* 8 << 385 */
  98880. { { 0x51318ac974ba879aL,0x23723b6da68b584cL,0xa7872bf002ac441eL,
  98881. 0x1e0c8fd665c7b9f4L,0xe8e3bc24b893449dL,0x2e83c6b8f06e02a6L,
  98882. 0xba754c0178d50ef5L,0x7c6c06ef2c547c38L,0x0000000000000132L },
  98883. { 0xabbfe4266dee6431L,0x2d51aac612fd88eaL,0xc6f215251c83591eL,
  98884. 0x85c550e59ee42180L,0xe1a4297da8cd1c50L,0x28f07cf6b55723cfL,
  98885. 0xbede788e4113977bL,0x8c7572fcbedaeeabL,0x00000000000001abL } },
  98886. /* 9 << 385 */
  98887. { { 0x60221dac8c4046d7L,0xb29cba0533e800a3L,0xadcc3238ade5ecb5L,
  98888. 0x7c31f4169d44fbb1L,0x404d9db9fb584dceL,0x7fb5b64fb56640c3L,
  98889. 0xac38556d5e0e529dL,0xafa97e58214dd3d2L,0x000000000000008dL },
  98890. { 0xa24be8f4a0417228L,0x0b7b8efb5859d256L,0x70a6c4f46d40f4d3L,
  98891. 0x02c765814b0aa0daL,0x353a45a5197e7128L,0xf9bd691dbb79a5f7L,
  98892. 0xb428835a81ff0839L,0x89031e1bf8d35083L,0x0000000000000062L } },
  98893. /* 10 << 385 */
  98894. { { 0x92ad8865b1b131e3L,0xa2d8e77b3103a569L,0xd081c2a22d46d978L,
  98895. 0x7f1757fe957e5123L,0x258ebe578c2f4a29L,0x67dff774bb023960L,
  98896. 0x348ace6f79bb89e6L,0xaa23d41e5297feeeL,0x00000000000000adL },
  98897. { 0xbe8697e4a856e349L,0x2d3107c7e737bc92L,0x19b99e2f3e58c73fL,
  98898. 0x11837e89c5062b4dL,0xc2a68bd6f73092e8L,0x80babf047dbc2becL,
  98899. 0xfac9c42fe03d29beL,0xb7e929a3aca6ac1dL,0x0000000000000035L } },
  98900. /* 11 << 385 */
  98901. { { 0x8c4765f47229f2cfL,0xc8572c7d29c7e408L,0xf7bcff0b98553b8fL,
  98902. 0xbd8e805c1c3e85c1L,0xb2d8dc14369c9dbcL,0x63b17347afd0ed33L,
  98903. 0xb3f90b99d2d47136L,0xf1fadf5488ebb89fL,0x0000000000000052L },
  98904. { 0xe04cd6862e48f6b6L,0xf76ec1fa7a543a03L,0x20b50eebf9327d53L,
  98905. 0xd9309aa39cce80c1L,0x3997de2cb01adc78L,0xf4a8fcb0aa455bcfL,
  98906. 0xae359685f0199eafL,0xc8bc160985a31115L,0x00000000000001e8L } },
  98907. /* 12 << 385 */
  98908. { { 0xcbfda2506cdfcf62L,0x53113f8f15d70806L,0x4cf4b5dce80c79e6L,
  98909. 0x14c33f38b5232e2cL,0xce68bf8a96819808L,0xff81633abec13a2dL,
  98910. 0x969a055f1f77912aL,0x82aedb5c17822f63L,0x00000000000001bbL },
  98911. { 0x69352a3bdb5017a0L,0xc3ece4982392bd59L,0xdca599bd1b712201L,
  98912. 0xed41a64f4b6bb033L,0x99b107acea5c5ac2L,0x504405d0322c3dbfL,
  98913. 0x5fbbedce26ed81c2L,0xccbc266dcce08f72L,0x000000000000008fL } },
  98914. /* 13 << 385 */
  98915. { { 0x4dc83ee2d1ae29fdL,0xbaa31bd4bafce02eL,0xfa74ddcf5d8f2ed3L,
  98916. 0x14b7d53567047459L,0x66b98c8706389572L,0x8215c3ab0a7617b7L,
  98917. 0xd14796ab06956b2bL,0xc80fd323b54dabacL,0x0000000000000130L },
  98918. { 0x7400113068d54d81L,0x11823157d23ea02eL,0xaba5c32f9bb04c0aL,
  98919. 0x0f99a803a3c680e4L,0x05264fe5ef58a7d6L,0x67e9f52cd303758dL,
  98920. 0x4242203dcd5c1e1fL,0x98bea8cf604d23d4L,0x00000000000001ddL } },
  98921. /* 14 << 385 */
  98922. { { 0xc261b128c9294e78L,0x7e683d7ab56d383cL,0xa2af179eaec454d9L,
  98923. 0xb6fa2f8e64f12f29L,0xc0f33050e8ab3d63L,0x333793a2bd5691eaL,
  98924. 0x5db823fc3b368830L,0xf546d32a6a84ada1L,0x00000000000001c4L },
  98925. { 0x43664d6eac1380a1L,0x2c04be94f4f0f52eL,0xb9371f7f106b47daL,
  98926. 0x110a17dc191734f1L,0x9dc73cb428b143e7L,0xfa1c936f7fd60d8bL,
  98927. 0x7bf9010f2b6073d9L,0x1bb64c7ebece22e1L,0x0000000000000119L } },
  98928. /* 15 << 385 */
  98929. { { 0x25fbd37a93744747L,0x33a9d3b70c1a7fcaL,0x989f96796ae94f7fL,
  98930. 0xe2106d35e67bf578L,0x07fc53faf949bd10L,0xa8157d4460c12a97L,
  98931. 0x075634bf35cebe07L,0x71e2a9cdb340fcbdL,0x0000000000000121L },
  98932. { 0x1ffb67f0c2e6d92fL,0xbb9c28bc18900dbcL,0x3fe4feedc24b9a66L,
  98933. 0x28e9362d04596798L,0x10ba62895c8dc108L,0xe68c61d13a1458d0L,
  98934. 0x13d1e0ad364d8338L,0x123d93809d04965bL,0x0000000000000140L } },
  98935. /* 16 << 385 */
  98936. { { 0x72916be74e6df03bL,0xb14241ed090a7b6fL,0xec0532fbcf5e6f43L,
  98937. 0x750cd95b680383c6L,0x2892d449c7cd9543L,0xf0550587d5d3ad9bL,
  98938. 0x3b330694e9c29c0dL,0x6fa03173bfe6860dL,0x0000000000000111L },
  98939. { 0x6d55b870ab75c854L,0x156f9a4002f049f7L,0x72e2093bfa48732aL,
  98940. 0x4ba2d6cb9a3c272dL,0x58102be5d89ba292L,0x4074f320b3c5c3b0L,
  98941. 0xb478c05ee462c677L,0xebd4978f97182fe6L,0x0000000000000182L } },
  98942. /* 17 << 385 */
  98943. { { 0xae41de76e2896c2aL,0x1b2602cc3c601237L,0x9ae2e0c9af035deeL,
  98944. 0x209a883c726c6673L,0x9a58dd920a725ff4L,0x4f8eceb3832a10e3L,
  98945. 0x6c4d809c573317f8L,0x9121d8eac82c2a4cL,0x00000000000000cbL },
  98946. { 0xadff98fb9601c342L,0x2d42a3a3bae085d2L,0x5cf981d50ac42277L,
  98947. 0xcc545cb079b74c44L,0x1adec8675675aa3bL,0x78603cb5b8e8ddb4L,
  98948. 0xe48875e3002ae8bfL,0x6839bf245e1cb314L,0x00000000000000bbL } },
  98949. /* 18 << 385 */
  98950. { { 0xf8fae13deca4dddaL,0x671c8c158c52a92dL,0x5cb3ecc642bbc3c4L,
  98951. 0x2ce7feeb00cf0233L,0xd7c0cb28aa604a63L,0x4a16938b01f87be7L,
  98952. 0x17016645164102ecL,0xb8909311c9d1539bL,0x00000000000000b0L },
  98953. { 0x9567501142c22cc8L,0xc848925de932f6a0L,0xe4e700a4cd544b40L,
  98954. 0x026bbe7378d519e3L,0x90b7fb394152421aL,0x4e53739aec641e36L,
  98955. 0x481b7945122113b7L,0x49f3857d6b608fabL,0x00000000000001f5L } },
  98956. /* 19 << 385 */
  98957. { { 0xacef52d7c680deb3L,0x5387587420059de0L,0x1644e4b1f12a16d1L,
  98958. 0xc1fbfe45c593cdcfL,0x4408421f5d780052L,0xbc641892768b8368L,
  98959. 0x026a2b172ca3e625L,0x25d8c18e8294dd5eL,0x000000000000004aL },
  98960. { 0xf32800d6f856d7a9L,0x9c00ffb281a1f59fL,0xd4140fa9178c667aL,
  98961. 0x7f1e6c729c9e0df2L,0x5f77c3089371c816L,0x38e375d72850e31cL,
  98962. 0xfbf767e334b9cb0cL,0x69d86303ea279d88L,0x00000000000000b8L } },
  98963. /* 20 << 385 */
  98964. { { 0x6d3407e582d09cebL,0xc82381149c2bbfb3L,0x2305405592b91258L,
  98965. 0x8c29220ab1b79073L,0x6e2cb5dd0dc5de61L,0xc93055237d359d6fL,
  98966. 0x73cd337ac477e64fL,0x86a3f9fd7e8a066bL,0x00000000000001bcL },
  98967. { 0x0da1223f1b1fc70dL,0xc3d2d816b3c73ba0L,0x3a52c249c299cb6cL,
  98968. 0xdd532fb9d7dfefa6L,0x2709093b148749ddL,0x920933d71472abd4L,
  98969. 0x5cbbb77a1e9c9913L,0x582303e159854987L,0x00000000000001feL } },
  98970. /* 21 << 385 */
  98971. { { 0xd952ed9293f30e54L,0xf2283ddb40dfd445L,0x081f0864238b3390L,
  98972. 0xf19b4cdf2a2746daL,0xa3328cb41ad23d9bL,0xdadef9c990130bc0L,
  98973. 0xc12002c460008b07L,0xde3d9eb4c595f30eL,0x0000000000000022L },
  98974. { 0xfe6ef607efd5a387L,0x4cf4797c5e1e8932L,0x8f86442f05605d18L,
  98975. 0xff1f353769eb95f0L,0x79fb4e69e1868299L,0xb39a34470ce7a27aL,
  98976. 0x4c9b1dc040717364L,0xd6b2243f73ee2b9cL,0x0000000000000115L } },
  98977. /* 22 << 385 */
  98978. { { 0x1df547c1006a1b02L,0x75d489d5d0ae81b3L,0xd41b67c625b28229L,
  98979. 0x4032ac036d8b9daaL,0x274a3d504296baaaL,0xbbc28a28b538dd5fL,
  98980. 0xcf1f5a62d4df39dfL,0x56a0cad5d4f636b0L,0x0000000000000142L },
  98981. { 0x09732bfacd4a1f6fL,0x00b7aeb0011da78cL,0x2c967709103ab2f8L,
  98982. 0x47d6805e9f83ec41L,0x67ded88e17c4818bL,0x81d03ea39249a058L,
  98983. 0x5fd3a0fa51bce6abL,0xeb113e83c0a0c60eL,0x00000000000000f2L } },
  98984. /* 23 << 385 */
  98985. { { 0xcacc5334dbf7ffafL,0x481e6074e8597feeL,0x22aaa02633a987d6L,
  98986. 0x77e8e0fe6243bb61L,0x786b31ce6f7f8afcL,0x438f8b23c3bfd839L,
  98987. 0x86b7cfbfb8cfe3c6L,0xf996706fa357ffdbL,0x0000000000000184L },
  98988. { 0x0c3da18e104c5c98L,0x34545c356f3e682eL,0x4f1af92d2894962bL,
  98989. 0x009941c8e16a8ea8L,0x6af6deca88a739f4L,0x846dccbc81b41d5dL,
  98990. 0x867b168b1c5ffc95L,0x58edec94a80e7d65L,0x0000000000000111L } },
  98991. /* 24 << 385 */
  98992. { { 0x32c0cf8f2b1148ccL,0x881d8c7cc2086aa9L,0x6b25daf57c9fd47bL,
  98993. 0xbfbb7226cd5ec48bL,0xf2b79deb9f2307baL,0x03d30de55fcfb278L,
  98994. 0x4b2d3a4671ef137bL,0x4e4a24b1cad4495cL,0x0000000000000173L },
  98995. { 0x363160471ecfc10cL,0x8a4ac3bd75c27aadL,0x6fd1abefca6f6103L,
  98996. 0x6ab15369b741c7ccL,0xdb25d3cd86719621L,0xe0d34a98ee85249bL,
  98997. 0x25beecea370efc6aL,0x7d8a2ffca2cefbf6L,0x0000000000000057L } },
  98998. /* 25 << 385 */
  98999. { { 0x2b88e77fedb6e29dL,0x900de27858445e1dL,0x522be722d81ee6b2L,
  99000. 0xb9847465d06e0e28L,0x395dc5cc82b6650eL,0x3fd0468d0c60d859L,
  99001. 0x6aa7a4fff3820f0fL,0xb90a772a88d99f9cL,0x00000000000001dfL },
  99002. { 0xe2befebb447ef8b9L,0x24f508533c891b0eL,0xa8aa0aaa3230c6eeL,
  99003. 0xa73632633dd77107L,0x46e85896920f93c1L,0xf72d7453b2104594L,
  99004. 0xe5a8f1c909ceb433L,0xd2b8190067e39bb2L,0x0000000000000168L } },
  99005. /* 26 << 385 */
  99006. { { 0x1493570cf66b1750L,0x50fa5ae6f33cd4bfL,0xfbe2a3ecf561f917L,
  99007. 0x4b258b77bf898f7fL,0x02d1ec70beac2642L,0x564b6272573b8580L,
  99008. 0x8feedbf9ac5126d0L,0xd28fef1ae3a6f0e2L,0x00000000000000c2L },
  99009. { 0x75b483070a7958fbL,0x38a08c5c739a7ebcL,0x2fbd9f56e113feddL,
  99010. 0x99aeade0627d745bL,0x333b1f30c79028d5L,0x4d2b246a3ac98d41L,
  99011. 0x27bbeec3a17ca8a6L,0xd112ea7715c67437L,0x000000000000006fL } },
  99012. /* 27 << 385 */
  99013. { { 0x0605b9c712740e86L,0xdb6fb159ee416603L,0x1f40031e378c94c8L,
  99014. 0x9e927ae7e0c09055L,0xfb48258a00745eeeL,0x17a704069ead3088L,
  99015. 0x5e2bde8a82fa07ebL,0xcf976c7ddc554a08L,0x00000000000000e2L },
  99016. { 0x999adaffe0db5952L,0xab1e9977d27441b2L,0x866e1f16e9f1eeb0L,
  99017. 0x72c71bd9ddbd25bfL,0xedd79e2a7b597c62L,0xc6f23d50844b5124L,
  99018. 0x0709f4d02bd5cd8fL,0x5073c53ac01ec73dL,0x0000000000000196L } },
  99019. /* 28 << 385 */
  99020. { { 0x225e32b66f12962fL,0x65011534fcab5e88L,0x862db9d870ef87d3L,
  99021. 0x4d97fd3e79bbd513L,0x142eccbffb7fb6dbL,0x9e775e1506e8b3acL,
  99022. 0x6f6d15237bb36a4aL,0xd9b2a0b0c852c087L,0x0000000000000001L },
  99023. { 0x9fbaa9b411ee4180L,0xc87d89aabe044a8eL,0x60d2115a9d92fa69L,
  99024. 0xf8e31c6d7ba7b5ebL,0x9932329bb6df0134L,0x6c01970a3bc69b2aL,
  99025. 0x6737c958226ddb54L,0x3093ac432e11e8a2L,0x00000000000000acL } },
  99026. /* 29 << 385 */
  99027. { { 0xd55aab0baff63fb4L,0x157c404a98f804d9L,0x9093d56a62ac263cL,
  99028. 0x8b2a1a6b7a1d63deL,0xdbb15dd256b07744L,0x53d216cc32950c7dL,
  99029. 0xbd3ba7f922f29864L,0xaee5533c0b98ed47L,0x00000000000000aaL },
  99030. { 0x09e3a1ebc42105f9L,0x1bf3123ae34db19bL,0xed30f15386624ffaL,
  99031. 0x591b7778c2514f17L,0xdd3df3dcc880f93eL,0x97d5affb755e1411L,
  99032. 0x9465d5cd7316c386L,0xafe559200ce1ed81L,0x0000000000000161L } },
  99033. /* 30 << 385 */
  99034. { { 0xc5fdf2cd62f1c1fcL,0xb0646997d3c5ca15L,0xf1c45742869d0aaaL,
  99035. 0x1a9c6f309fad74f5L,0x093dcb0c3c18f5cdL,0x00d14f2fc8ca593dL,
  99036. 0x3f70f7e63c4f17a2L,0x39881e1d95d3df06L,0x0000000000000035L },
  99037. { 0x7afff24c258658e9L,0x5a4cacfcbade261fL,0xfe7767120735bba4L,
  99038. 0x85ba530a9c82c1f3L,0x5769e18fe973b899L,0x18db2bc75e4fcfcdL,
  99039. 0x9333ceae8e06e55aL,0x458767f2aac217feL,0x000000000000018aL } },
  99040. /* 31 << 385 */
  99041. { { 0x7dfd1fd9ca2c4cc8L,0x5f1a04ed9f267faeL,0x444c8449586d471bL,
  99042. 0x02f37da060b87610L,0x6eaadf6d90b1267cL,0x6424f0e60c425c19L,
  99043. 0xead76c1e5979d19dL,0x97135c570b5654ccL,0x00000000000001cfL },
  99044. { 0xfec92d05477c6636L,0xb5480096c82d5536L,0xe44d98c2c2f86198L,
  99045. 0x86c2ec24cc6a078dL,0x7b95096318833141L,0x7dc32105e34fc08bL,
  99046. 0xc28892a13971cbb6L,0x463463058d0debb6L,0x000000000000007bL } },
  99047. /* 32 << 385 */
  99048. { { 0x70148a3a1b27f40bL,0x4ce48c61b7c6cc7fL,0xf6ee8026e7beaad3L,
  99049. 0x37eaec76d11ab074L,0x060f2ede99c1a334L,0xe9ce92e469150184L,
  99050. 0xf90e484852d73bb0L,0x0436a9bf01b5ae4dL,0x00000000000001abL },
  99051. { 0x3f83381640d46948L,0x318236b2fc39fcccL,0x8835b602122bcc3fL,
  99052. 0xa430b37b965ac801L,0xf448ea0fbd0585fdL,0x49e52f74252bb5dfL,
  99053. 0x810768ae1085ace7L,0xa8ceb3299242e43fL,0x0000000000000189L } },
  99054. /* 33 << 385 */
  99055. { { 0xbb72e5ce86bb6ae3L,0x749128972db25cfeL,0xb7c395b6f4e593d4L,
  99056. 0x372cf85ccdd2d6eaL,0x445a6b38d1b19db9L,0xe2f1c5aff02db1e5L,
  99057. 0xf40284f827342884L,0xd719e46f7ff61a12L,0x0000000000000193L },
  99058. { 0x85eef4cd0c3e37e9L,0xdaab82657d012a8cL,0x53fd0cdf23c548daL,
  99059. 0xc34d267335e40658L,0x2632c0ec6bead888L,0x56b52a6c28040011L,
  99060. 0xa61cba5662cd9b3aL,0xd6c1e7a395ba9887L,0x00000000000000caL } },
  99061. /* 34 << 385 */
  99062. { { 0x0f3c881065ae1e9fL,0x799b5a9cf0ffafdaL,0xb34a3084f57f8537L,
  99063. 0x457b247d9712dd17L,0xfd397b692a860504L,0xbb9d2244c382e2faL,
  99064. 0x183b9ddbc05020bfL,0x6f191b5ad4db7efbL,0x00000000000000ffL },
  99065. { 0x4939abecf2576b34L,0x6e5798a1eeec4778L,0xc3df13c2b3b7580aL,
  99066. 0xdff5b312ac675c29L,0x778a0194555b2cb1L,0xf9cae67a3f92285dL,
  99067. 0x97ce17b1d7de701fL,0x8a9fd15db49e90c7L,0x000000000000010dL } },
  99068. /* 35 << 385 */
  99069. { { 0x3a7f3f9d32ef9964L,0xe88455e705b4501eL,0x068b8e3e93d07babL,
  99070. 0xdc8519791ecf38a9L,0xa62a62579f9d6f8cL,0x7ac87da256aa5868L,
  99071. 0xa40029a323a119deL,0x2e49e7d41bc4b0b8L,0x00000000000001e1L },
  99072. { 0x927eadf7c6307f61L,0x2dfa993d9c5dee17L,0xa5797580174f907eL,
  99073. 0xc72b1db10a1a1a63L,0x138d2381a926cd5fL,0xdbe05d6d4c571edaL,
  99074. 0x2d7239fa034e513dL,0xf768ed948d94b578L,0x000000000000003cL } },
  99075. /* 36 << 385 */
  99076. { { 0x222bc61f3aa3ae2bL,0x0b4319f85d0a7022L,0x57b1ba9af02709c2L,
  99077. 0xc67d4a2175d1c7a2L,0x57f3c2dd4dbde7afL,0xe0540e677f154d4dL,
  99078. 0xd326611a854758c8L,0x76d36182953b2828L,0x00000000000001b8L },
  99079. { 0xcaac624b594e7756L,0x29d87d7566978fb3L,0x7db2834f1a86fec9L,
  99080. 0xc3fdaa53e1e61a46L,0x3247175b496c598cL,0x2a3665e118def4f0L,
  99081. 0x7f16bd2286744f3fL,0x1d857a5588d6bb31L,0x00000000000001cdL } },
  99082. /* 37 << 385 */
  99083. { { 0x18e8c833b3916e3bL,0x50322ed8a25a77a8L,0x24a82c230f33743dL,
  99084. 0xd72d2a918dc8941fL,0x97ec76addc5e62c5L,0x37f2aeaee2b1f956L,
  99085. 0x0404f85aa5a4cdf7L,0x2731e35189098b68L,0x00000000000001eeL },
  99086. { 0xdcd6fb17be2d5536L,0xb6e4ddfd2a940f5bL,0x8f9be7ace6efc7aaL,
  99087. 0x0c3dc0406bc2863fL,0x9e250a533e9db65bL,0x565400b82775b5f2L,
  99088. 0xfbc78c75fbf0a926L,0xfd96db6c14630b19L,0x000000000000012dL } },
  99089. /* 38 << 385 */
  99090. { { 0xd1d64c7e70cb0e6fL,0x997708567217b5b6L,0x037f050cb96d710fL,
  99091. 0x5c378b693989e449L,0x45f5ae2c0daa4766L,0xf536e14e7cdc17e5L,
  99092. 0xc2e3f81a4a1e7c0eL,0x5e72b0196a5b8147L,0x000000000000005dL },
  99093. { 0xe084cdca97933356L,0xf687802de0f5495fL,0x04ef1478fb3f21ddL,
  99094. 0x896ba7f3fcd00810L,0x066c5f0935f6ca88L,0x537e6a61c9437172L,
  99095. 0x335f7cd8ad6a9893L,0xd94e13ac3666f7abL,0x0000000000000192L } },
  99096. /* 39 << 385 */
  99097. { { 0x9e5d42e974d23a2dL,0x65600770d82bc0e1L,0x398a0086f26aa51eL,
  99098. 0xf9af5ca91cb33414L,0xafade7f67627615bL,0x9b292aa17f2615cfL,
  99099. 0x5807fead310e94a6L,0x1e448d4bdd2d85c3L,0x000000000000003cL },
  99100. { 0x4f7f2205a8ed0e39L,0x314a4f3372c1bf70L,0x75555231cf595b09L,
  99101. 0x3e7a57821100fbcfL,0x8f5e0ca34ab8ef49L,0x26e8382b2cb0db78L,
  99102. 0x0712983ead48e8d2L,0x0b8c06c41c943b28L,0x0000000000000022L } },
  99103. /* 40 << 385 */
  99104. { { 0xe929b729504f8b28L,0xe706657cb887ef71L,0xb4bd5cda0b83db33L,
  99105. 0x465187f0e761913cL,0xbd632bd6040b98afL,0xd82bf2af91c37379L,
  99106. 0xcc1058b15380aec9L,0x243967a1c506f0bdL,0x00000000000000d1L },
  99107. { 0xb298442687d73c34L,0x5ffa94ea46cbe44aL,0x5814a34f20ddb255L,
  99108. 0x8ea5436889b68f69L,0xe21603b0d26b66c6L,0x4695dff2320b6862L,
  99109. 0xa5d5332742d53e67L,0xf17df48aa5931fd7L,0x00000000000001bbL } },
  99110. /* 41 << 385 */
  99111. { { 0x04c70f3885087978L,0xcd12cce53c8b44acL,0xfd4f376998f7c502L,
  99112. 0x5aff3f2f98e9d246L,0xb3f2d8a82e0cb01eL,0x3f858b53fe4d8812L,
  99113. 0x0b389f33abaf289cL,0xc9bcac4d85e783d8L,0x0000000000000158L },
  99114. { 0x93e51ba7c3bdb05fL,0x9043397744508070L,0x52617f035d615383L,
  99115. 0xc2c4e23fad138cfaL,0xb701a0c9d06ba79aL,0x48a3165417ef47fcL,
  99116. 0x495700fb2da06186L,0x15cef318fdd26d70L,0x00000000000001afL } },
  99117. /* 42 << 385 */
  99118. { { 0x9d3e388e0cd836e5L,0xc974d434ae7e8fa6L,0xceff33a84b7dfae6L,
  99119. 0x27a8202db4d988c2L,0xf74ea8b2ce5a2905L,0x28b4c3d397a229e5L,
  99120. 0x00c1ef677089a383L,0xf9a5cea3f47e577aL,0x0000000000000186L },
  99121. { 0x44edeb76bec9adcaL,0xbf02c338c5ffafb3L,0xa48a7dad4e0fcb0fL,
  99122. 0x73665bd816a050a0L,0x102f101b93a18024L,0x9fbc6810f7ce9939L,
  99123. 0x18723d426cef653eL,0x54d4b68723015f50L,0x000000000000007dL } },
  99124. /* 43 << 385 */
  99125. { { 0x645853a6e2304ce7L,0x6d6f5d6885f9b592L,0x3eca27a281bb3a8cL,
  99126. 0x6cc8c8de108b3b50L,0x586b66bb96537c56L,0xfa80528910974d25L,
  99127. 0xc040c8cf9654df6dL,0xc97f68c367879489L,0x0000000000000080L },
  99128. { 0xd38c57c16d2eec2fL,0x306846d4f6ea3d15L,0x2ff350501539a565L,
  99129. 0xb45d32a19a8932e4L,0x23bf0d184fcbdd72L,0x12fd080596cd132aL,
  99130. 0x7ff6b0e56bf400f6L,0x9c7d3dad7052b488L,0x000000000000006cL } },
  99131. /* 44 << 385 */
  99132. { { 0x5ab5af9029ea9024L,0x62586bb3faa25d87L,0xd43ef6de49148521L,
  99133. 0xffaab71343df6049L,0xc0aed310f00e3fdbL,0xe028fc70c33b556eL,
  99134. 0xf32399e91b8997a2L,0x1194cdd91f8f2427L,0x00000000000001e4L },
  99135. { 0x8d750b3d3951d0bfL,0x85ecbe512ba1a463L,0x46486edb52e64beaL,
  99136. 0xb66ae34e7ba482abL,0x6d57cca5622a95faL,0xbec47b1e8417d830L,
  99137. 0x740b9a5887cf80ddL,0xa6618207870a8a2eL,0x000000000000015dL } },
  99138. /* 45 << 385 */
  99139. { { 0x8a5916f00aa91c51L,0xa976e99375eff325L,0xa8408bc54ae87723L,
  99140. 0x489d2e43f775bf8bL,0xdde2904c56c8ba33L,0x37550da29db2b339L,
  99141. 0x1dc50f82a347dce2L,0x9499d24128c84734L,0x0000000000000051L },
  99142. { 0x3167754dddbca30dL,0x8a8577969acb20aeL,0x79980c5bd6bb103aL,
  99143. 0x12849fa2f6ad7a1dL,0x84d5a7c0e6a33774L,0xa909f1a10580739bL,
  99144. 0x97a40113e7b102dbL,0x070a98179145c800L,0x00000000000000caL } },
  99145. /* 46 << 385 */
  99146. { { 0xbe7c607599d8558bL,0x0822198ba470d7bcL,0x8134516f9b7f5084L,
  99147. 0x5ca862b58ca39d9eL,0xfff8c52dc7bd24f6L,0xdcb06ff955cc6708L,
  99148. 0x7ed3263cbd8b69ffL,0xa789da086cb08d57L,0x0000000000000017L },
  99149. { 0x7370cbd65877a86dL,0xbef9b4d34365e6e2L,0x73af11d1ff8243faL,
  99150. 0x041c0263639a4178L,0x1907fd7305d03c9aL,0xaf28c8a796ecf611L,
  99151. 0x073e51bc9586b05aL,0xb601e442e8c2096bL,0x00000000000000f8L } },
  99152. /* 47 << 385 */
  99153. { { 0x1194c0915f1b4c5eL,0x1d9f3b7afb88b9e2L,0x3bbc16c0a0f8b8ffL,
  99154. 0x2c750d1b3c524bb5L,0xa463b2158ed71219L,0x3732bfcb948322daL,
  99155. 0xe8cd027a3d667adeL,0x13d77bd8189f2eeeL,0x00000000000001e5L },
  99156. { 0x6adeab389ea63cbfL,0x4cc00ec1873d9cfdL,0x91206bd9dde3e73fL,
  99157. 0x673213982af25a9bL,0xdd29fbc0c7c128faL,0x07e8deda5044c8fbL,
  99158. 0x555612ea3dd8c690L,0xe56de5e753bf04e0L,0x0000000000000199L } },
  99159. /* 48 << 385 */
  99160. { { 0xa63bbec0976e030dL,0x7a81ce08e65327efL,0x0ac6397fa7c90248L,
  99161. 0x14ef2887488f9ba1L,0xb2b47a2f497add24L,0xa86a385740274de2L,
  99162. 0x25acdb8c12374808L,0x96f4ef892c57a8b1L,0x0000000000000050L },
  99163. { 0x3a8d6bfb85199966L,0x78bf5c36fbf35493L,0x8f1db78b5bd8876bL,
  99164. 0xb8ea47b6b2becda0L,0x5decd86d13992438L,0xc0abe6d250dc68c1L,
  99165. 0x85b05da73eaca155L,0xf8095622b1bd9e0bL,0x0000000000000104L } },
  99166. /* 49 << 385 */
  99167. { { 0xf17044b942b59f11L,0x716b5bccf9bc1552L,0xcdb5e87eaa109cdaL,
  99168. 0xb4b8bb4a0a21bde7L,0x56914afb00ddf7a2L,0xd9ad9a5b7a0a7463L,
  99169. 0x8cee2a803b0b3482L,0x2bed5feebf03e4feL,0x00000000000001c6L },
  99170. { 0x410ab42537a1cb27L,0x9811d04052ac89caL,0x04597789c9d044f3L,
  99171. 0x85209250bb67711bL,0xfd886ffc3c39b579L,0xdf3e4df20a8bfdf4L,
  99172. 0x6d2e6d431ca33a7bL,0x8e3aa535624713f5L,0x0000000000000140L } },
  99173. /* 50 << 385 */
  99174. { { 0x77f51e0c0442a7c7L,0x500c2b2ca9e3b607L,0x0ee098290847e5deL,
  99175. 0x20349adb09354cdbL,0x6b55b08cc2d79e4dL,0xdcb3401e13d8863aL,
  99176. 0x7baaec44aaf4e45dL,0xe52e2d8030e3684dL,0x000000000000015dL },
  99177. { 0x400371c05c87ddbfL,0xb6e45175f64b1914L,0x47b78ec27d6647d7L,
  99178. 0xd1b8a05f3eff6489L,0xbf7d56859a637fb3L,0x0928b2419e67d5ddL,
  99179. 0xdcd099e5146112d0L,0x5835194e38fa6f30L,0x000000000000004aL } },
  99180. /* 51 << 385 */
  99181. { { 0x994334489930200eL,0x57d680aeca0c5cb5L,0x500b59d823868cf4L,
  99182. 0x8a0c2ca2b5702fd9L,0x365864638d68cb48L,0x99d533d4fe2bd373L,
  99183. 0x76e5f84a8fdccef4L,0xf7a3adeac157857dL,0x00000000000001e1L },
  99184. { 0x9f89da8738e35a2dL,0xad503f99a5791c04L,0xeb04432cd0b1f650L,
  99185. 0xbb49f73c9de86969L,0x8029aec67728cdc2L,0x668e0a8ea7b3de2aL,
  99186. 0x316e9e0d920d8b5fL,0xd212034d5aafe07bL,0x00000000000000e8L } },
  99187. /* 52 << 385 */
  99188. { { 0x97ad23c88762dc4cL,0x20968d0f2d1c69afL,0xe2632e0a129c000cL,
  99189. 0x29f88599dc732336L,0xa44c59d4bac2d80cL,0x0cf8411a987353b2L,
  99190. 0xdcc28c77f498d31eL,0x78b5352a88cd769cL,0x00000000000000edL },
  99191. { 0xb0e90a4ebfdb4f02L,0xfe9de895a3128446L,0x5e56391e08215646L,
  99192. 0xca6dd28866fa22d0L,0x72eeff81542c7c9bL,0xd6c39a86d59415d4L,
  99193. 0x7b25916353a292afL,0x202fe2b6e8975c78L,0x00000000000001c2L } },
  99194. /* 53 << 385 */
  99195. { { 0x9806bd85cbec6480L,0xba6a35c617677c63L,0xfbb6db2a810128dfL,
  99196. 0x88738bb1e9051fcbL,0x9e84681e40f5e477L,0xb8c311c61481f032L,
  99197. 0x9e9a7bef01715e80L,0x281e49e5f705aa5aL,0x0000000000000004L },
  99198. { 0x9b309b2de678ef56L,0x3debc468f3faf55bL,0x46746951f0341856L,
  99199. 0x001ba8e5718dd586L,0x05ea65aa9144640cL,0x7e7a5e4f9362e2e0L,
  99200. 0xc16935252a9bfa2dL,0x8a8a985a2220ef82L,0x0000000000000022L } },
  99201. /* 54 << 385 */
  99202. { { 0x9f3090354dbc1eb3L,0x7c6d6a66748a3ab1L,0x76e43bf83c4a32cdL,
  99203. 0x0556dab29283b2c5L,0xbb92ce2099abd7c0L,0x32c8445805611ce6L,
  99204. 0x351c209534d866adL,0xb812b2e4c8c7f664L,0x0000000000000080L },
  99205. { 0xdfe378b30e2a92feL,0xe32b3be4077bd06bL,0xa07a0268acec79efL,
  99206. 0xbf50bf0d53a8e15fL,0x2d5cc452ad111c55L,0x9c9138f202874227L,
  99207. 0x2a5c81a2332546beL,0x3dce449a895ef21aL,0x00000000000001d5L } },
  99208. /* 55 << 385 */
  99209. { { 0xa63fb2af30833554L,0x54e207774ceef45aL,0x28daaccf9a93de1aL,
  99210. 0x8b71ff06448451c5L,0xfd21f9ee3deb0b23L,0xcfe45600d9f7168cL,
  99211. 0x60de95282235c182L,0xe30cebba4656a139L,0x0000000000000101L },
  99212. { 0xfc656b2211b55f1bL,0xa13bba09c477a553L,0x66fd4c2893274502L,
  99213. 0x9b86a1fd1a24b861L,0xb6afd1ffe2a47053L,0x6c0769ff48df1e95L,
  99214. 0x2b3b730d1b63f97aL,0xbec1276691aac5a4L,0x0000000000000144L } },
  99215. /* 56 << 385 */
  99216. { { 0x1b50fa628d00da24L,0x98c7ac500a0590bcL,0xc33c9f7f6c101946L,
  99217. 0x653848c30c4eaf7dL,0x7ab38c79dc892656L,0x2ce0ae53420316ceL,
  99218. 0x9df9a0087012d563L,0x130cd5656d51bd57L,0x00000000000000b7L },
  99219. { 0x21a2c95078ffe5efL,0xbc330a097b991b38L,0xc5151e1b2d4a375bL,
  99220. 0x70a29d1080c0f67aL,0x2e75a55f2247b284L,0xc95a638058f332f1L,
  99221. 0x0d7a5242a8fe1cc9L,0xc0b1176ca712a8ceL,0x0000000000000035L } },
  99222. /* 57 << 385 */
  99223. { { 0xe534d7e5b1b6b3a6L,0x442cc9a460e15a20L,0xb5b505780fc877d3L,
  99224. 0xef21ffca4c062301L,0xd29e142d0a3457fcL,0xdd64c344ceadc8c1L,
  99225. 0xb590679cb14c251dL,0x3fe76f10ab9b3856L,0x00000000000001e3L },
  99226. { 0xf136f66e27ca4c20L,0x7146348c84d4b0e8L,0x5d75318419adb36bL,
  99227. 0xa7218c7b88ceb93cL,0x2df7eeaa837ee73cL,0x026cdcf3914bf563L,
  99228. 0xf3f3d1a4997d9514L,0x16dbbf9d40ba713eL,0x000000000000019bL } },
  99229. /* 58 << 385 */
  99230. { { 0x0e9c00daa1923d11L,0xa4a935ba9e9a0e88L,0x235a9253ca54fc63L,
  99231. 0x392920afdbd25679L,0x856d174652a57c44L,0xc3504988fb239f6bL,
  99232. 0xa907f9f71cd72a71L,0x2925f0ced9f5d416L,0x000000000000011cL },
  99233. { 0x208bb07c7c23fe95L,0xb042893810ca84d3L,0xd0b3bf252f00bfa4L,
  99234. 0x34cb8007cd3bbac7L,0xc08e0a6ab206c13eL,0x1462ec66991968dfL,
  99235. 0x409af523c0694b39L,0x8ee92b86a076f928L,0x0000000000000078L } },
  99236. /* 59 << 385 */
  99237. { { 0xc9d7fc5dbd1a3ebdL,0x231bb307a5f1851fL,0xc749aba7d0d7e150L,
  99238. 0xebe287d36a97cf7cL,0xa7bbcbfaa5236547L,0xb20cff6656a38e46L,
  99239. 0x9483da01fe570880L,0xc9445f539dade10eL,0x000000000000018bL },
  99240. { 0xabb59e65fbfc603cL,0xe47b710ffaf6b799L,0xfe3b4ef8bb3471eaL,
  99241. 0x6b525a9fa2deb2bbL,0x66e384c3b6f775e6L,0x0edcc15e3ae04586L,
  99242. 0xb1ece91a0177a763L,0xdf3e41341824cecdL,0x000000000000008dL } },
  99243. /* 60 << 385 */
  99244. { { 0xc0f0454dd75aecf9L,0xdc6c13e10d80a3a1L,0xfcf9387eaa843e19L,
  99245. 0x062744c75f9e673fL,0x4930360b8a9a5169L,0xfca298466dfc67caL,
  99246. 0x4b177efcff3e9788L,0x40f92ea72d8232d1L,0x000000000000003eL },
  99247. { 0xc9ebe2461dab3098L,0xaee9d337a007be6eL,0x9e3a204cf11e73a6L,
  99248. 0x7827ccd7f46edd7cL,0x5c602ab2c4a2c4fbL,0xef03efa28ab96392L,
  99249. 0x22ebf4f017be24eeL,0x0b1dd25cd235301dL,0x00000000000001b5L } },
  99250. /* 61 << 385 */
  99251. { { 0x92b6122d364ef40aL,0x0f469c7408803dfcL,0xbb3f660c5008d200L,
  99252. 0x2e4d68e12a330a19L,0x276981d7235df9d4L,0x420bc1c3a23c3b5eL,
  99253. 0x2a0d705524eb5212L,0x576d86d23001513dL,0x00000000000001deL },
  99254. { 0x6afb220edab35c28L,0x405c936730584725L,0x5a57996203793bc2L,
  99255. 0x7d3538be9fd9bfafL,0x416ce5282511c844L,0x846db71687796d79L,
  99256. 0xf682f8faa73a6974L,0x0b2913aafdd19bbcL,0x00000000000000d0L } },
  99257. /* 62 << 385 */
  99258. { { 0x70db7f0c58ddd6edL,0x773c028cdbf9b863L,0xa04ef8b00cfdcb7cL,
  99259. 0x513684b8a4a65e38L,0xb60cf9c1508347a2L,0x54635f38bde9bcbeL,
  99260. 0x0b41f76ee79fc803L,0x6334d72bf373f10dL,0x0000000000000009L },
  99261. { 0x4cb3f53a0d2bc647L,0xa89a0ae94301232aL,0xacc6701961d28592L,
  99262. 0x82718dd4fa93ad0dL,0x845908b550eed143L,0x7f66caf46403a023L,
  99263. 0x003fdaae32636684L,0x776946a19c27c09fL,0x00000000000000d1L } },
  99264. /* 63 << 385 */
  99265. { { 0x1da47097240362a1L,0x30e9b0ff5b43cb0bL,0x5dd728da4f3db2c0L,
  99266. 0x0027f719ffe4271dL,0xf1adecee13577480L,0xf6bf7133b47c7e12L,
  99267. 0x1af855ba8221a9f7L,0x88896c19d53e3940L,0x000000000000004fL },
  99268. { 0xd07fee83edddb456L,0x362604d7f71a3cb9L,0x040220eda3c197fcL,
  99269. 0x7abad6759101be2cL,0x618e46cbeaab7424L,0x05c1a27e57e4b841L,
  99270. 0x197916805b141498L,0x37ed04403de4c4cdL,0x00000000000000feL } },
  99271. /* 64 << 385 */
  99272. { { 0x7b0373e4fd998a0aL,0x0bddac80c37e7937L,0xb979fdca8eeccc27L,
  99273. 0x150c3141e82b945aL,0xcf88a830cebf1156L,0x649c7c1abbef5c8fL,
  99274. 0x3199e1c5f10104eaL,0x31e4fd39898b7fd0L,0x000000000000011dL },
  99275. { 0xc24063de449bcd85L,0xb0cc16e1b96fef39L,0xfa391388b2f631b2L,
  99276. 0xd39c21b41f4a449bL,0xd036cb3135f5045aL,0x58a0729c367f428dL,
  99277. 0x7dde830655c42fb9L,0xd14ab2fef68c64faL,0x0000000000000163L } },
  99278. /* 0 << 392 */
  99279. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  99280. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  99281. /* 1 << 392 */
  99282. { { 0x5663f565a308e123L,0x91a48983157c2290L,0x222f7f93c054408aL,
  99283. 0xd8694963b839a520L,0x864b491dd314da50L,0xa315d96ed675cc09L,
  99284. 0x32964930390531b6L,0x9387671921e11f6eL,0x00000000000001d0L },
  99285. { 0x20f4598e0c3477faL,0x14c758b4ccf7f114L,0x0c83f642051b875eL,
  99286. 0x14ab1b501b290e7dL,0x99f812c7f1b18fa8L,0xaa60f39988ca8e75L,
  99287. 0x00de2bd0b9c6c5f7L,0x765da97328703a2aL,0x0000000000000015L } },
  99288. /* 2 << 392 */
  99289. { { 0x05a704cc2934ed82L,0x647089fb989edd8cL,0xe0b239d40ce7c62dL,
  99290. 0x4c892ea6105a5effL,0xa519395fd5ed6b04L,0x806c7003509ed794L,
  99291. 0x882e9886e70ce5c4L,0x50730ca1ff01f6a9L,0x0000000000000088L },
  99292. { 0x90a78a16dbcc5484L,0xc1ab078cfd454b50L,0x6f488252cb09e525L,
  99293. 0xdd663f53e19b2ed7L,0x16b10da1a67bf59cL,0xb47f6b9536bb770aL,
  99294. 0x6bdc8428777b2bceL,0xcd02ae3d561553f8L,0x0000000000000017L } },
  99295. /* 3 << 392 */
  99296. { { 0x06ba35c1ee2f1290L,0xec34093fd403d1e7L,0xc1b8ed8fa659075eL,
  99297. 0xea322ad8bfe99020L,0x3b7a95d8d5148b86L,0x979d99bec2cd9adeL,
  99298. 0x89a6a55285dba94cL,0xa5b7e51be090e6a7L,0x0000000000000120L },
  99299. { 0x033b73ceaf82552aL,0x8c98e0b55ca604c1L,0x177a92e5533addf7L,
  99300. 0x6eab8277ed1ad360L,0x05937e24bfb8e3e1L,0x4193e5cfd061128aL,
  99301. 0x4f781b5dfc1326fcL,0x74403eb19d0056bfL,0x00000000000001f1L } },
  99302. /* 4 << 392 */
  99303. { { 0x36da34d11edc1498L,0x7ba9673c18d4c455L,0x9acd94ff724eb3fdL,
  99304. 0x5db71c7ad31cfbc2L,0x64357011d49a2214L,0x80b6101f0aae0c21L,
  99305. 0xeffec6209853d1f0L,0xf928ed94eda4fb5bL,0x00000000000001bcL },
  99306. { 0x0031c5cce3db108eL,0x2663b3aa5110eb67L,0xc0432c4f3b2d50c5L,
  99307. 0xe5b812ab3d94b4fcL,0x031fcbe4e9828d03L,0x048dec907a08492dL,
  99308. 0x7420a4edea50d639L,0x0bd4bdd076eef289L,0x000000000000015fL } },
  99309. /* 5 << 392 */
  99310. { { 0xe7718e9bdf3566ecL,0x2acd4c45d1d77e5eL,0xc78694add9787985L,
  99311. 0xc7c600c5f645c923L,0xcd1e697ac393f54bL,0x7928ed5b20054d6eL,
  99312. 0xd3c839e03cafeabfL,0xbfaafdcec46a4425L,0x0000000000000196L },
  99313. { 0x6baeeca1e1804d34L,0x6996db6c70aa5e48L,0x24e11983b9577c2eL,
  99314. 0x3966f9a104335832L,0x5654cbdd50889c2aL,0xee86177f32df0deaL,
  99315. 0x7e9c591df8d76ecfL,0x57de93bfddbac362L,0x0000000000000022L } },
  99316. /* 6 << 392 */
  99317. { { 0x78709a5ca92d6561L,0x36b5d1f10880bc8eL,0xf980cebc0af2078aL,
  99318. 0x4b5e964a14edaab5L,0xd526f78563afd322L,0xf5a9d4c668e17240L,
  99319. 0x0c420e2819fc5026L,0x3327540903459b12L,0x0000000000000157L },
  99320. { 0xae433226c4d6bb5dL,0x5e39057b13ea6565L,0xeb7729af7aaf08e1L,
  99321. 0xa74c0ed7012567f2L,0x65b64576b6e89abeL,0x6b025e87f2498699L,
  99322. 0xbc92a03cc229c0f1L,0xc54da03b0f1f67c7L,0x000000000000001dL } },
  99323. /* 7 << 392 */
  99324. { { 0xeb525fbb07d2778eL,0x4cd96634c965143eL,0xb2ea802d742e1fcbL,
  99325. 0xa2f1ec4c75bc3cd4L,0xe778f1e1125ebaf8L,0xc700e4e4650b81ebL,
  99326. 0x66d593a59c841f1bL,0x4da417578d2984c9L,0x00000000000000a1L },
  99327. { 0x6e9ed77d57d4a16eL,0xefb8f94c1c1696aeL,0xf2961d2c8acbc2a6L,
  99328. 0x8fc9352de1d5de1fL,0x786158d1a7b8579cL,0x3ab33268fdcbac8aL,
  99329. 0xf237b433d583ed20L,0x3edcc184e4c10d57L,0x00000000000000cdL } },
  99330. /* 8 << 392 */
  99331. { { 0x8ec9a4151e96a885L,0xc95ec1ef7e63cb24L,0x8a77bef7c506a04dL,
  99332. 0x4e4dd4100ad06b3fL,0xc2eb62e4dc28fd42L,0x7cb2239454040fabL,
  99333. 0x74a3429a64595d06L,0x05983dfa26fd26d9L,0x0000000000000151L },
  99334. { 0x56acb9c1291ba5b5L,0x9967485f11c55994L,0xfc8eeb0bb23cd929L,
  99335. 0x0fe8db6b39d78fb1L,0x3d7281e846f04210L,0xe7f29c805d9fe1f9L,
  99336. 0x2ea28b7ef78b31a2L,0x594d39ee4dfe2d5fL,0x0000000000000087L } },
  99337. /* 9 << 392 */
  99338. { { 0x67f5679c7c9beac4L,0x985a78336230b567L,0xa250d8de064e4738L,
  99339. 0xb8bfbdd3b564700eL,0x087bf9e82e14ad7dL,0x4cf9220aa0317fafL,
  99340. 0x6614ae6eb05bc341L,0x1deff5d59e41105fL,0x00000000000000feL },
  99341. { 0x8b47d53a03966619L,0x72d5b26cbff94109L,0xdfc37d1510b76762L,
  99342. 0x669e715664b09f94L,0x16e999e2d3fb006bL,0x3e5aa52b6aa4487fL,
  99343. 0x8bfd7f5533c1350aL,0x68ff6cd44e72ea36L,0x0000000000000161L } },
  99344. /* 10 << 392 */
  99345. { { 0x450eccbf95b7cf7aL,0xdf3b7da8b44af149L,0x373e6b4f40c25b44L,
  99346. 0xf9db1d32e6c86b87L,0x02466d20439af230L,0x17bd88275830bba4L,
  99347. 0xf8f5e1805aef36c3L,0x6986ab02b7ed8e89L,0x0000000000000173L },
  99348. { 0x5c05151d51fe4224L,0x824fbd0f5576ccb6L,0xbe14d2f8e1751932L,
  99349. 0xc608e4c367fa6561L,0x4fa94021a856141fL,0x752b95bdda4ab1a8L,
  99350. 0xf4d032c295439524L,0x408521c03a8e1267L,0x00000000000000faL } },
  99351. /* 11 << 392 */
  99352. { { 0x9b7d1f3bfc0f4a8bL,0x7a8f0b0f5ccb978bL,0x00d61c73d3415ae8L,
  99353. 0xf46d7b22c6aede9dL,0x1fc2937114822df1L,0xe3e1d4675f740f97L,
  99354. 0x3a7e3ba3b9159596L,0xf99ca1a803b5ec47L,0x0000000000000029L },
  99355. { 0x04243bdfbb5ccd4eL,0x055a49f78802bd75L,0x51f2d40a306ea61eL,
  99356. 0xa70666ecda558bdcL,0x92ae69d13e523a23L,0x98055b32c4ef7644L,
  99357. 0x3748d45e0e228566L,0x9c4991a170bae7d8L,0x0000000000000106L } },
  99358. /* 12 << 392 */
  99359. { { 0x6502b92cbb5c5c05L,0x85d920e3bfbe8363L,0x7a2aba0d6e2b1eb1L,
  99360. 0xc02768187c1e4e5fL,0x8eed0e03e426684eL,0x164e869178e5d42eL,
  99361. 0x606a3a5498aa47a7L,0x2350730d0b830942L,0x0000000000000148L },
  99362. { 0x5e1965a01d104b08L,0x7e28dadd373e0f14L,0x77b7c36fac533cceL,
  99363. 0x8c2d1096e00217beL,0x016538a1ae057a93L,0x2fb0bf1e5a58f3dfL,
  99364. 0x0e6a5e9d9785d24cL,0xb945866bd5a89bfaL,0x00000000000000a7L } },
  99365. /* 13 << 392 */
  99366. { { 0x143510e9fe207454L,0xb0fd9824bbf845f0L,0x39c13279e8bf1a9eL,
  99367. 0x75fa89a10feca613L,0x2c66a7eb825a3dd7L,0x9c2b32c8b26368aeL,
  99368. 0xf92e1aaaf619a005L,0x4de668fdaaccfca3L,0x000000000000012bL },
  99369. { 0xa92801b445cfcf06L,0xfbd77f9cf74d70ddL,0x1e47198c6340644dL,
  99370. 0xffba0b1f6b4dae22L,0xe48cb9bbc7b899dfL,0xa2f0ece2c71b8b4aL,
  99371. 0x5d9815e62a173ebeL,0xb9b11bc50e9906daL,0x000000000000011aL } },
  99372. /* 14 << 392 */
  99373. { { 0x55ac3726fe2a7478L,0xe94f2031e30ff599L,0x469519bd10936c6dL,
  99374. 0x878d1fc50515a43dL,0x187f4315806e0b6fL,0xe03dc8bb2772ffa8L,
  99375. 0x32b48a444a6b058bL,0xea5822f35164ec93L,0x00000000000000a0L },
  99376. { 0x5c617856737160e6L,0xc9c64cd423c701eaL,0xfbaeb50175437eb9L,
  99377. 0x99422e75de99481aL,0x0f222393795537c5L,0xf7a2094923a1c0c7L,
  99378. 0x5e14e523f71edde9L,0xe03bfb13c7ec1652L,0x0000000000000099L } },
  99379. /* 15 << 392 */
  99380. { { 0x592528bcb0d0888aL,0x32b7ca4dcabde573L,0xa25e1b62404f7268L,
  99381. 0xa3da442d16381bf7L,0x62caeaaf5d6acdc7L,0xc9f64cd37e764a4fL,
  99382. 0x297687a84e48f5cdL,0xb315f2345e2d02a9L,0x0000000000000012L },
  99383. { 0x4f91c00520acaebcL,0x61ce683cdb8cbfe4L,0x22a4efd555ee34ceL,
  99384. 0xf8d7d3ca64516080L,0x38d087a027af0007L,0xdda0dfb2e0de0ef0L,
  99385. 0x7e0601f0f4c91376L,0x23d16e102ebd6270L,0x0000000000000141L } },
  99386. /* 16 << 392 */
  99387. { { 0x1bd8ce7b5a53c22bL,0x78733fcd7cab446aL,0xc44ca4e248acb394L,
  99388. 0xa9888b1ea38c790fL,0x36afb6eb15c34237L,0xb913b8a8fb702063L,
  99389. 0x34b77cc5917508faL,0xa931d7a7f9e4732bL,0x0000000000000050L },
  99390. { 0xa90a429056d21d18L,0x8266630755b410a1L,0xb4684a8b894a6b05L,
  99391. 0x8a1ade63828cf75cL,0x4fb2f85a127702a3L,0x83ff7d05adf7b709L,
  99392. 0x1d3f5a92a68d1db6L,0x243ce1dbc093cd5cL,0x00000000000000f5L } },
  99393. /* 17 << 392 */
  99394. { { 0x747050b4dc1f408bL,0xf1aa5f1cf0e53056L,0xfcd32b5db55215c2L,
  99395. 0x83e780e2a643d3d0L,0x10c32cd4a683aa1aL,0xb566a42ef274f385L,
  99396. 0xa94cdfc13c628a9fL,0x3a4dd494f28cf4d5L,0x00000000000000b4L },
  99397. { 0xd12f1ca48707dd0dL,0xc250d375379846d5L,0xb3d1f3e6cf8f7906L,
  99398. 0x828c0769504ef581L,0xd8ddb5fb91ed0a99L,0xb53dad6bfe27e621L,
  99399. 0xec6e3cd22a31b15eL,0x402c5dee5cd9ba0cL,0x0000000000000160L } },
  99400. /* 18 << 392 */
  99401. { { 0x39b44df663e47f96L,0x2c7206891f130336L,0x5543679012acc921L,
  99402. 0x2944066a5d875d70L,0xb6ba5ecab637f3dfL,0x69c8cadc79abbfd9L,
  99403. 0x359753d5bcef620eL,0x1caf0d9bbd2e9239L,0x0000000000000116L },
  99404. { 0x2412742cd051ae6fL,0xc8cb1cac54d13ad9L,0x19bdf52082ff17ddL,
  99405. 0x7310001c46f5ae00L,0x9f6dae8cefcb214cL,0xe3afc3481ac29d5dL,
  99406. 0x6162b535843d1a4aL,0xb25ff812e5174c3dL,0x0000000000000015L } },
  99407. /* 19 << 392 */
  99408. { { 0x2f2a4ecf475c5d3fL,0x012f076856a9da6aL,0x2d35ab720eb73946L,
  99409. 0x50aefcb5af90f132L,0x8ad439af4c3ab322L,0x70d8e68b3cca3e59L,
  99410. 0xff7ca8f5f7498297L,0xbb166b54aa99e5ccL,0x000000000000011cL },
  99411. { 0x08dd12eae174eb28L,0xca75bd49a8a34a97L,0x262fc207883d05e7L,
  99412. 0x6372076829e98b07L,0x6434261d442c2457L,0x6cf09b54ec47cd5eL,
  99413. 0x6e4d2a8b5ed4b6d3L,0x6950403c677585bfL,0x00000000000000d4L } },
  99414. /* 20 << 392 */
  99415. { { 0xe8bf0d2b9a86c296L,0x56b947a575d4fd5aL,0x7364354793941d37L,
  99416. 0x493899e4728c0b10L,0xa0d636a76ca7e1ebL,0x083f811e16ce84a2L,
  99417. 0x9602ad8b90bb012eL,0xb1c8808cfd7d4057L,0x00000000000000feL },
  99418. { 0xae262388f65f859aL,0x220164e04c8e2cf4L,0x7e1f59f2639a7befL,
  99419. 0x7777613522bd2b24L,0x191b18530b92201dL,0x9ebf0a3d99fdf0d4L,
  99420. 0xc250ea2f792cdf64L,0x9da499827937b250L,0x00000000000001dbL } },
  99421. /* 21 << 392 */
  99422. { { 0xe95372547eec5ab8L,0x20854600dc649495L,0xb2c454502060a38fL,
  99423. 0x074640c83b17ef7dL,0xc2ba81afeafd02b0L,0x76b5593495c308ccL,
  99424. 0x1be30f525d9c01c7L,0x00fb296b0c089ee6L,0x000000000000011eL },
  99425. { 0xcab278f10884bcb4L,0x81ed4c3515bdd541L,0x69cc0e14f5766a2eL,
  99426. 0xee19b33ffa305dc2L,0x0e66612c3941336aL,0x2d70aea0df5046faL,
  99427. 0x70ede44f5562d06cL,0x92a66c0bebd8019aL,0x000000000000014dL } },
  99428. /* 22 << 392 */
  99429. { { 0x7aef7245579e8701L,0xdddc870d737fd8ceL,0x4e4ad894eadbb996L,
  99430. 0x135b46160dfab3d7L,0x0433d57dcd7250b0L,0x4d3f5f9db0292ed0L,
  99431. 0x639e7722eceba527L,0xcd5b2c428487b3c5L,0x00000000000000e9L },
  99432. { 0xb1bdb67698d0936aL,0xaefe0fffc847c8efL,0x9f1c085f612bd61dL,
  99433. 0x148a96673d232e56L,0x5374bb9deeed1322L,0xb79378900e4302d0L,
  99434. 0x0c269a4be256e409L,0xf0c659b70315057cL,0x0000000000000129L } },
  99435. /* 23 << 392 */
  99436. { { 0x71ee59406a722275L,0x523a7e2bfa97bb09L,0x8cea508a21648596L,
  99437. 0x655546cf43160a2eL,0x715fd019b704209fL,0xc906616600197d39L,
  99438. 0xe176a99d7419b773L,0x8a8170e25ce68d76L,0x00000000000000a5L },
  99439. { 0xfb511b500b8abc3cL,0x6e8474d977a2cb0aL,0x849c55ee2037f989L,
  99440. 0x92e102d9d072d371L,0x90c88a1edd72df80L,0xaffc59588c3725d7L,
  99441. 0x92c20b445eb10063L,0x871b18dac2eb294bL,0x0000000000000129L } },
  99442. /* 24 << 392 */
  99443. { { 0xfaf6bd70ac57cb84L,0x32c242073eb61ae3L,0x5986ce0e7c9b61c6L,
  99444. 0x9b36f045f1733320L,0xe4dd9d839f8948c0L,0xebe72911a8a90ea5L,
  99445. 0xd34cb93e2d84d142L,0x787753d11c55d53fL,0x00000000000001beL },
  99446. { 0x48c0229aa2df0ca9L,0xbc42db5394660967L,0x4b209e4061935318L,
  99447. 0xcf7e4981898ae70dL,0xa42c59694dfb5d28L,0x2ccb13a68e4a6d4cL,
  99448. 0x77bb58626c36976cL,0x7b44f5ab71676ff4L,0x00000000000001b4L } },
  99449. /* 25 << 392 */
  99450. { { 0x2a3b21f19fd42b97L,0x388249b469e250e6L,0x7226d729f01c879eL,
  99451. 0xe588203b9e652254L,0xc6fb3b1a846a5090L,0x2dca87ce9a2a242dL,
  99452. 0xaca5c8fa7dc5f4adL,0x65334ff212ea5d25L,0x00000000000000bdL },
  99453. { 0xc1039e12cc6df18bL,0xb13ab3c2d6a89d34L,0x8573f608686ab623L,
  99454. 0xb34720f8b0a4c351L,0xb42c5a677841be0aL,0xcd53d55f37b5ce15L,
  99455. 0x99d97165e3cc80d3L,0x3c2a9a9ddb06c07eL,0x0000000000000091L } },
  99456. /* 26 << 392 */
  99457. { { 0x67dc211ce9a3ea9cL,0x292af224222b2a93L,0x818fb79cfe0f90b4L,
  99458. 0x379d01c415628e38L,0x48a83503ad420127L,0x9ee9b705ea2b1a5eL,
  99459. 0x0430fcdeff6e68d2L,0x3045e6fb6b148eafL,0x00000000000001acL },
  99460. { 0x9bba4b09d469ed6eL,0x95ac0bbe3cf66944L,0x109546371c2ed0d1L,
  99461. 0x21ece32632403941L,0xc4a8ba03051a64beL,0xb00e5c8aa214703aL,
  99462. 0xce818fb8ef7fa7a8L,0xc9b56befadb9488eL,0x0000000000000178L } },
  99463. /* 27 << 392 */
  99464. { { 0x7ad60105c31e7fc6L,0xf361576465d266f6L,0x5608c43e884a8482L,
  99465. 0xdfdf8db35cb2ba2aL,0xee76eb6488c0d22bL,0xf9ee20f3c433d719L,
  99466. 0x09ab2833bef67b85L,0x632230924b54aee4L,0x000000000000009cL },
  99467. { 0x5d63b8e97bbae00fL,0xb6348d60cfba1a43L,0xe080feba8eace1dbL,
  99468. 0xfc3847f6d9166854L,0x0cf910826edf4f5eL,0xb8cd7739571167c9L,
  99469. 0xcbc05dbd10dd80a2L,0x2a0ee01733e69b2aL,0x0000000000000129L } },
  99470. /* 28 << 392 */
  99471. { { 0x64c9253b379d2951L,0xe87333890586cd59L,0xce8eb9b4f6c64aa0L,
  99472. 0xd7a88646774ad3b7L,0x36b395a03dabf772L,0xd7d57f5b8f6f0f7cL,
  99473. 0x58773e9a09a83d1eL,0xb3abd1a2ee22a9a8L,0x00000000000000bfL },
  99474. { 0xd93010a338b8f550L,0xb2690375f35c0da4L,0x53a4d7c4f484121eL,
  99475. 0x11cb900504509d4dL,0x03f191749f6fa703L,0xb0fe84994edbc279L,
  99476. 0xd5d6975d38260010L,0xd7dd640ee6be46cdL,0x00000000000000e6L } },
  99477. /* 29 << 392 */
  99478. { { 0x7cc7d5e9bd89d3a9L,0x60d8204cc9dd7b17L,0x50ade1349d0542c6L,
  99479. 0xbc5be5f2b686ea56L,0xc092f3447f75b822L,0x352363f1339b6094L,
  99480. 0x7e59acc4f04ee90fL,0x4dacc4a31f72da27L,0x000000000000008aL },
  99481. { 0xe176a7be926af1d7L,0x2c9765fdceddaca9L,0x66708097b7d745caL,
  99482. 0x58469ef977ac7fdaL,0xff4993d33433d277L,0x6b648ba00477ce72L,
  99483. 0xa49cc8d961ca75eaL,0x052cd69af501a8acL,0x0000000000000166L } },
  99484. /* 30 << 392 */
  99485. { { 0x2f13fe842dd5e903L,0x339f67a10e555b76L,0x0d2f153c003c2ee6L,
  99486. 0xba0a0aae38f0fb43L,0x11b61a8eef9b72eaL,0xc7f6eca2a5c4597dL,
  99487. 0x0e72636cc732b509L,0x939553ecb7247071L,0x0000000000000075L },
  99488. { 0x759b4d18978c6c82L,0x232c43fac9b34e44L,0xacdc159177608f47L,
  99489. 0xae6056b93087fbb7L,0x000ca7db5c3883eeL,0x58de6f66140170e2L,
  99490. 0x95a29345ae255893L,0x6913fa78e7508854L,0x0000000000000068L } },
  99491. /* 31 << 392 */
  99492. { { 0x2c05d35ab3259931L,0x180318ee63243888L,0xe370c069e4a6d4acL,
  99493. 0x9a0e73d8115a7552L,0xb136040f3024b20dL,0x9ec6cce3c9b71921L,
  99494. 0x8240506569597e99L,0xad8cb3569f38ae91L,0x000000000000006fL },
  99495. { 0x056452385fc41873L,0xc5444c3e434b2df6L,0xcdaf76b3280c0eafL,
  99496. 0xf5e96a0627548836L,0x7642c921768eb175L,0x309ecc1fc140592fL,
  99497. 0xb46b3c8a55537f8fL,0x215fd24153c7570cL,0x000000000000015aL } },
  99498. /* 32 << 392 */
  99499. { { 0x8b3dc3d04aae7354L,0x9ccbf6ce4a8f62b0L,0xb3713c0060c73a7eL,
  99500. 0xf6f73585349ec6a0L,0xa995a64cfc30467fL,0x877334fefad776d0L,
  99501. 0x84588e41b236dcf3L,0xdcfdb088e9ccbd7dL,0x0000000000000181L },
  99502. { 0x188db860fb36e7aeL,0xe7a0df8df45ea4ffL,0x110245ac5ca6f9f7L,
  99503. 0xd4c3509d7a7031afL,0xf4aa648f34df0623L,0x462aa9497e664bd5L,
  99504. 0x415012b4e2f0138fL,0xec3dafa01c60732aL,0x00000000000000beL } },
  99505. /* 33 << 392 */
  99506. { { 0x892947c065b8343dL,0x04d4c1f54cc89339L,0xec0a8dadc9f713feL,
  99507. 0x49a1bdcd7e8cb36fL,0x8416e0725de9db7cL,0xe9d7856a814f2889L,
  99508. 0x00bcd25858d9931fL,0x77622d851e6d5f7aL,0x00000000000001d4L },
  99509. { 0x8d1d7219651ec975L,0x5d20520ede8d13a2L,0x62d8bd2acb73a5e7L,
  99510. 0x56596d73d791eeb1L,0xfe714aa9c07a2a30L,0x2829967735f34560L,
  99511. 0xc1f5477576599af2L,0x599f6db4c2e97737L,0x00000000000000daL } },
  99512. /* 34 << 392 */
  99513. { { 0xe27b3464824eaeeaL,0x2358f6ad5393879bL,0xa7df34d4710fb8f7L,
  99514. 0x833df1e070a35060L,0x0713f8dc37a6da75L,0x5c1f9b86d569678eL,
  99515. 0x5388bf51316a4a10L,0x3533b4196499c876L,0x000000000000005aL },
  99516. { 0x072045e7f7b0bb1eL,0xfea6dad18806fff0L,0x145700a9967aeedaL,
  99517. 0x7d1daf361c1fd04aL,0xa59fd9c4ba6c47f0L,0x9869b04f2051bc10L,
  99518. 0x922a2c62ed765e5cL,0xc45f00694fe8bc2fL,0x00000000000000d5L } },
  99519. /* 35 << 392 */
  99520. { { 0x7d73bb35ae7cd284L,0x95a93265f13cfebeL,0x35311175966ae16bL,
  99521. 0xdc7930b274e48e72L,0x81501ccbf7575898L,0x7999582f6a37a35dL,
  99522. 0x88d4ab111c496f5dL,0xd25f44e7a36d1b34L,0x0000000000000147L },
  99523. { 0x64ab3239231cfc02L,0x75e653046357d94bL,0xd0f90974d95dd829L,
  99524. 0xabf69128f4dfded3L,0x3cca87402a85856eL,0x1c555726610324c7L,
  99525. 0x46bba522508ec0bdL,0xbf2610b1479a9c93L,0x000000000000014fL } },
  99526. /* 36 << 392 */
  99527. { { 0xe1299139f1586f70L,0xd5cb2c10053083dfL,0x9e0ce9829ea052f5L,
  99528. 0x87de595b0efc851fL,0x4cccf7ae98742defL,0x87cfa3788548d910L,
  99529. 0x8ef7bc8e1a6128b7L,0xa605315051d38f20L,0x0000000000000047L },
  99530. { 0xd0797eddc7635909L,0x1eb856cb63113d00L,0xa2a965c95725aedaL,
  99531. 0x5eaa6eef217ab755L,0x4ada3e4af55bfed5L,0xe4d945933792f0d8L,
  99532. 0x19ea0a3b27ea0947L,0xe90121ad54aa8a99L,0x000000000000007eL } },
  99533. /* 37 << 392 */
  99534. { { 0xf2a647cdb728d429L,0x45a1d210eb7133bcL,0x4c8f934b6b83916fL,
  99535. 0x3b98f81e522dd12eL,0x454884a7d6e86fbfL,0x160c65f88689d7e7L,
  99536. 0x9069c27d763c2796L,0xf1405b86fc31e096L,0x0000000000000137L },
  99537. { 0xb0be8cff6fb3901eL,0xa7a916b0da1ac91aL,0x7c097b23b344f479L,
  99538. 0x6b3aa54eb469472fL,0x8f10c2209edf3457L,0xe485ee25d6189cf5L,
  99539. 0x01c0af56cb45ae2aL,0x16c2ecb7d3a5d9f5L,0x0000000000000004L } },
  99540. /* 38 << 392 */
  99541. { { 0x6caa8e9aab24a11fL,0x918618de7f998abdL,0x51ab05a0fa2efd0cL,
  99542. 0xc5db63b47afd5f5fL,0x40ddd9d21671f863L,0xdf21f123e8979929L,
  99543. 0xf964fdaa753f5f9aL,0xa6bc6ee1ac869b60L,0x0000000000000036L },
  99544. { 0x9ec7b5223fb9e363L,0x9cc1db429d4a17e5L,0xf6abb7fa2490da7aL,
  99545. 0x284023565a5d5231L,0x31c197bad7698b7bL,0x78e3957ee443b4a6L,
  99546. 0x6f747898b809dcacL,0x2cb14df9bc50dc28L,0x00000000000000e1L } },
  99547. /* 39 << 392 */
  99548. { { 0x087ae31a39de4487L,0x83eea765449ccd69L,0x4646830a781c8c19L,
  99549. 0x9cdece343b0c1627L,0x82837fda35c2820fL,0x942160f96db9709dL,
  99550. 0xd5d5c0d1874cbdebL,0xf6985f955a058b33L,0x00000000000001a0L },
  99551. { 0xce8987ae2e31c2f3L,0xf46bc0faeb414481L,0xd6d762899fa9260bL,
  99552. 0xbc302bed030e8a9bL,0xa520f637eba41851L,0x51304e88eecb96ffL,
  99553. 0x41e7a0102072ad97L,0xf7bd7e56c4794837L,0x000000000000019bL } },
  99554. /* 40 << 392 */
  99555. { { 0xc2587d72e962529eL,0xd3dac5d00c872ab9L,0x44187663c75c725cL,
  99556. 0x2e65d5ab3d496338L,0x01ca52de8b23156fL,0xa7ebba10d035e4ccL,
  99557. 0xb99dfaa0e871449dL,0x6248c81952b0dd58L,0x00000000000001ddL },
  99558. { 0x304d544909a0b2b6L,0x193afec00bb26682L,0x00425a2bba188995L,
  99559. 0xd4fc292d04bee432L,0xa56de92439190f47L,0x184b59fbac7e0841L,
  99560. 0xb2462d3ed4c24d7dL,0x6df3cff0827e5144L,0x0000000000000053L } },
  99561. /* 41 << 392 */
  99562. { { 0x750a3237cd83b337L,0xfa69ee5897a42787L,0xf38484d92bcd0f21L,
  99563. 0x727e6ceb1ed6eac1L,0x29cd75e4647cca9aL,0xcab25ca99b2e130dL,
  99564. 0xd347c8ae544b56afL,0x236188fa97bbcf15L,0x000000000000016aL },
  99565. { 0xd353f1b2c35b0afdL,0x5f81b2112df1ee19L,0x3a17334ebfef60b2L,
  99566. 0xf9c53718327923a6L,0xf7fb02d5bba0cddcL,0xaecae9e4533d5c93L,
  99567. 0x3e46f95af2acd6b6L,0xd5e4a5b1aff88b82L,0x00000000000000dcL } },
  99568. /* 42 << 392 */
  99569. { { 0x836c879be603487cL,0xc176b372be67aeefL,0xb16c1c093916ed2cL,
  99570. 0xa19f57d1b738de42L,0x19fcdaa9b53fd0d0L,0x4503028c6c65898fL,
  99571. 0x068d459d2a6eba9dL,0x230f913208ae7045L,0x000000000000016aL },
  99572. { 0x3e3021c260587627L,0xb845066f0a548829L,0xeb7646754d68e59cL,
  99573. 0x7c83af0ba57fd160L,0x41cbc6dd06cfd9b3L,0xa7c211a7c2ac70a7L,
  99574. 0xa97550d867a3cebbL,0x805d0a4b3463d8b3L,0x0000000000000146L } },
  99575. /* 43 << 392 */
  99576. { { 0x255df4920aef0552L,0x94df45d226aa07b0L,0xaf376f26633252a5L,
  99577. 0x8264ded59ce08ed0L,0x21195ce9e61e9dbdL,0x012afc4b431f8103L,
  99578. 0xce45e41bb0d6a41bL,0x16dc53f7e44539f8L,0x0000000000000189L },
  99579. { 0xfe21cebd1fa28378L,0xb1e3d1f305fb6ff7L,0x39b11a3701779f3dL,
  99580. 0x6cdeb0844103ef71L,0x63c18cbb4421b84fL,0x1b2b98a84c2217bdL,
  99581. 0xa219ed87720f56deL,0xde0857ad049a4d99L,0x0000000000000082L } },
  99582. /* 44 << 392 */
  99583. { { 0x1d09b95369c3d17dL,0xa867a21dd4d01ba2L,0x9871762c3828b992L,
  99584. 0xe3cda568f6da70c2L,0x68c327a254227c8bL,0xddd426509c5e4075L,
  99585. 0xee64acb06241b455L,0x63ab87f677bf9d01L,0x00000000000001c3L },
  99586. { 0x94f1514cde039bafL,0x0eee405d1d6d7285L,0x221b6b65199243d9L,
  99587. 0xe1ef5cd2e3b17599L,0xd2e0a39b3856f606L,0x920a00121b433750L,
  99588. 0xd7daeaa074d9b72dL,0xcb1206d333ef5d80L,0x00000000000000e4L } },
  99589. /* 45 << 392 */
  99590. { { 0xd79bfda671b41f80L,0x4e2adbae09635317L,0xdd1e0c89d5137b55L,
  99591. 0xac6035369d901bb6L,0xf7d994e2875b6bd0L,0x4493e365ac6726b5L,
  99592. 0xcb1b9b1a021fd3bdL,0xa22ba13d4673338aL,0x000000000000018bL },
  99593. { 0x6d613468f89eb756L,0x8c13c6accaca507cL,0xb066bbb54f35674bL,
  99594. 0x44f03d0c34fd9ee7L,0x44158ea1798b5c9eL,0x5c340cd7e85265edL,
  99595. 0x69ffabc8a643874eL,0x4b84dc1fe1f23e59L,0x0000000000000145L } },
  99596. /* 46 << 392 */
  99597. { { 0xce3e4f6f3537a3b6L,0x2a548acae4be3890L,0x7d257a739c6f309fL,
  99598. 0x517b74e62188a544L,0x92dc6544c008b28fL,0xcb56ac9408dd8b68L,
  99599. 0xd9f11fe9935a4ae9L,0xad4d23a2a1dcf178L,0x000000000000006eL },
  99600. { 0x1498f1e4e17213f0L,0xd0519b28c758cd28L,0x22057e5f11edd1c3L,
  99601. 0x533378fe26560bb4L,0x15a266a251beeb5fL,0x49d6d63b32a25673L,
  99602. 0xdd62ccbdf0100cdbL,0x872a3d87c5eadae3L,0x0000000000000007L } },
  99603. /* 47 << 392 */
  99604. { { 0xb529a755894cd820L,0x7ac841f79aef3e4aL,0x2639532a82c12ceaL,
  99605. 0xa107d5768457ba7dL,0x08cc2140624c6ce4L,0xc75a2afd83169cafL,
  99606. 0x692f8acb9178032bL,0x8835d7e399fdab3eL,0x00000000000000f2L },
  99607. { 0xcf248e4d21fefeb0L,0x7a5d84be645aab81L,0xa1692e0b81b8aa2cL,
  99608. 0x06c5eb427bb653f7L,0xda8e28a27c4d70c9L,0xf13e2010d45a9397L,
  99609. 0xab9054ad78f1ab45L,0x80453fc864bc5f43L,0x00000000000001acL } },
  99610. /* 48 << 392 */
  99611. { { 0xf77afc9ec1f9124fL,0x010af17a5d958392L,0xa9aa7d55eeb66cb6L,
  99612. 0xb41570ca816dea76L,0xb2138d58a983b39cL,0x0fd404cfcd6cbaa5L,
  99613. 0x29c1f2fd40c224ccL,0x1e263cab99c23815L,0x00000000000000e0L },
  99614. { 0x371cd0937649d2ffL,0x7c79d3cc02038ff9L,0xef3261855ca5e1b9L,
  99615. 0x1beb030be02c0478L,0x134d0c94f859fd4aL,0xa767faa5ee41b919L,
  99616. 0x8d957aacd5d9e3c5L,0x4b1c1deb191fca35L,0x0000000000000175L } },
  99617. /* 49 << 392 */
  99618. { { 0xf5232405e8e50647L,0xb61e0f313bba4ef0L,0x0a5328116f05e31bL,
  99619. 0xe3b1d72b683d197fL,0xbd55f76bb72d36f2L,0x2645e034ab6bfa34L,
  99620. 0xd94ce3b970f52ddcL,0x83e891a2470c7338L,0x00000000000000ddL },
  99621. { 0xe53e6361797af474L,0x9d94b01e8e09f9f9L,0x8e23416db8099125L,
  99622. 0x8f3abc4c8ef378a1L,0x0da6e3fef861c054L,0xe9d3638b203190feL,
  99623. 0x5dce7db98c12ac92L,0x8dd8a61cb8335d65L,0x00000000000001aeL } },
  99624. /* 50 << 392 */
  99625. { { 0x0df313e10d732decL,0x0667dd1e5229a7a4L,0x78efd49555c31c0cL,
  99626. 0x554c55303735e643L,0x3b29c30758c97feeL,0x7da349bf85e2c6f5L,
  99627. 0x982f2be25cb9ce70L,0x39274c84c0441b24L,0x0000000000000100L },
  99628. { 0x77e9356c2307d25bL,0x2e81d63615ed7120L,0xa39ba7a3e3143227L,
  99629. 0x153addc96bcece22L,0xdeebf6c01983ffb1L,0xb5f2d60e43d43f1dL,
  99630. 0x8340038620d8e424L,0xd127aeddf6f0e03cL,0x0000000000000164L } },
  99631. /* 51 << 392 */
  99632. { { 0xdcf0cd6a73ccae26L,0x4e52859e04a8a411L,0x085570403909f6beL,
  99633. 0x1aeb429cdd5f5f1fL,0x83c8410392fd6de9L,0x45a05c6efd051de2L,
  99634. 0x334d659ab6a36a9eL,0x9775761ac86254bfL,0x00000000000001d0L },
  99635. { 0xbb498a7e7ef71b31L,0x54320c2a87a1a905L,0x308a31e5b01357e7L,
  99636. 0x115312b91ec5af64L,0xe3add38ecaff60f0L,0xdd257d552ac78ec5L,
  99637. 0x0e0b29616ac51787L,0xf7537bdd2f9e42fbL,0x0000000000000050L } },
  99638. /* 52 << 392 */
  99639. { { 0xb6018ff0078f7ff8L,0xc9a3c8112ae4ec18L,0x974c8b824dbc5b54L,
  99640. 0x323120b429c8b8b7L,0x04c883d798439a31L,0x1ddaaccbbcd28a10L,
  99641. 0xb22b548cb61251c6L,0x2cda48d6c6154ca5L,0x000000000000013aL },
  99642. { 0xe783d50d03857e72L,0x0cb1de54fe7e9d44L,0x608cd3398526e99fL,
  99643. 0xb9d4ef4ec00cf265L,0x37c326a39eaef59cL,0x435851a4046d5b54L,
  99644. 0xf4813c30147da907L,0xdb37c0b9ecfdd94dL,0x00000000000000f9L } },
  99645. /* 53 << 392 */
  99646. { { 0x9f97d529526acd82L,0xbea14de9698d81a8L,0x1da65dfe087fdd78L,
  99647. 0x162991819e331cb6L,0x1770cd3351ed1f90L,0x2241947f48d1fff3L,
  99648. 0x8048c4b872e59f7cL,0xd4c7c70884441c30L,0x00000000000000ffL },
  99649. { 0xcc713a4b9a697e4eL,0xa066a6de4c19b3dbL,0xab7c9dad5ca3148bL,
  99650. 0x8806b0223699de2aL,0x8d2c17b13c648f2dL,0xc39af0f9a3d21b8cL,
  99651. 0x91f94812fa66eebeL,0x74178170791cae62L,0x00000000000001dfL } },
  99652. /* 54 << 392 */
  99653. { { 0x60e7c5987a182f35L,0x60a81db4abc6a786L,0xa067c36017995827L,
  99654. 0x4d1b77557880874dL,0x79a8c6235b3e98d0L,0x0301653a9ae9e287L,
  99655. 0x32be063279f6a138L,0xf8d8c8ed410d08d5L,0x00000000000001b5L },
  99656. { 0x2b071af2a699c790L,0xa8d0fde78eae615cL,0x76c4cd7340ce53bfL,
  99657. 0x7c36a3f742866824L,0x870e41145d8103bfL,0x1804432af7b9f5c6L,
  99658. 0x755a6755da7a89f1L,0xed97487081c30af9L,0x00000000000000a1L } },
  99659. /* 55 << 392 */
  99660. { { 0xc713ff085d801301L,0xf291ca368d9b4f05L,0xb3705a12e497df3bL,
  99661. 0x375e1513870fa5afL,0x1bedb38c4d5d9664L,0x418429ed114386c5L,
  99662. 0x7e3be1187561f279L,0xc7253d1a4481b482L,0x00000000000001b8L },
  99663. { 0xf5ab88cab54466aeL,0x2dae1aa5a2485564L,0x1c5fb396c500fd73L,
  99664. 0x056e87292af65306L,0xb7b4568100a94c1cL,0xd6401f60194f2a01L,
  99665. 0x526b81492fad156bL,0xa59af828a8705811L,0x0000000000000115L } },
  99666. /* 56 << 392 */
  99667. { { 0x7ff87b1828b89234L,0x575b28532190da3bL,0x6cb04cf22920f908L,
  99668. 0xe32b0d0ea76a9361L,0x027f1c53b013a013L,0x77e8e27c2aaf2e7fL,
  99669. 0x3893cb0fa11e5652L,0xb166780751a15388L,0x0000000000000185L },
  99670. { 0x25c5deff91ed25b2L,0x08e728a029e55ce0L,0x7b1d2010d66015ceL,
  99671. 0x73f667cefeb85d6cL,0x9f9d44e01d9437eeL,0x67a6af17f0ca5a45L,
  99672. 0x187111cc3ef07297L,0xfb461da6e1bf1374L,0x000000000000011cL } },
  99673. /* 57 << 392 */
  99674. { { 0x8bca57126c0c1111L,0x3c2a9c8f3987bdfcL,0x195b1886f65f43a6L,
  99675. 0x5edb9cbca9a638d2L,0x1431220ace7b35feL,0x67d81dc8b9c9e116L,
  99676. 0xa7ac26bb4fd8d442L,0x36ed9544c1404219L,0x00000000000000cfL },
  99677. { 0xe7d51488f0454b54L,0x116abfb6322e62ddL,0xb1f5e4f6001cdbf0L,
  99678. 0x9bd7a0abcd63aeaeL,0x47c74ae592cdc9cbL,0x227b9e3eca320f47L,
  99679. 0xfa2f9090db249cf3L,0x5b61134f5b7d7aeeL,0x0000000000000185L } },
  99680. /* 58 << 392 */
  99681. { { 0x43f9e01159567749L,0xa8d74c0c892a23d2L,0xa2a6b93c4bf3e620L,
  99682. 0xd89ed75630144479L,0xe5959b544c80c6bcL,0xa347e101c7491d8fL,
  99683. 0x4c15de92a7b7e26fL,0x6abeeb069eb0ff29L,0x000000000000012eL },
  99684. { 0x5140f873047e9fd5L,0x95b33ace83629d83L,0xbf2e419db7778fc5L,
  99685. 0x6312ed5f27390d18L,0x786b21f5b52a1899L,0x440713779eba3860L,
  99686. 0x4a5c36d9bf4ba461L,0xe456c1a900bda888L,0x0000000000000157L } },
  99687. /* 59 << 392 */
  99688. { { 0x1447b2045e0c66c3L,0x29de6f26ef30a205L,0xde1a4c88ce42e500L,
  99689. 0x5e3b0fd1142dc812L,0xa09c32a50c08edb8L,0xff98ab9bee677bebL,
  99690. 0xfe7f349438e3e89aL,0xc8cdfca112d9eb21L,0x00000000000000a3L },
  99691. { 0x08002f8e769eaac4L,0x4e6619127e091da0L,0x4f251942d82a7ee4L,
  99692. 0x04224eebaddda269L,0x52263b35de1b38faL,0xa5bf36c7afeb716eL,
  99693. 0x37a49608b7bed189L,0x6adfba3c0e29dfa1L,0x00000000000001bfL } },
  99694. /* 60 << 392 */
  99695. { { 0x40081916318060c8L,0xa156d0f0ba050c4bL,0x8dc9db0e2b261fa1L,
  99696. 0x68193be8df24d4d3L,0xbbe73d7801ab2aefL,0x0b5476e951f96cf0L,
  99697. 0x596e6ffcb23a6db3L,0x19c3aa46328c3923L,0x0000000000000125L },
  99698. { 0x4dd42ff66a2f1ee0L,0xf18649df63cbc446L,0xcc5e8e48ad36c42dL,
  99699. 0xb5d4fa7bbea9ed49L,0xe416534f32b06489L,0x94451bdceeb06919L,
  99700. 0x7ce63f1bda8c40e5L,0x7c5eb653de02e8bcL,0x0000000000000166L } },
  99701. /* 61 << 392 */
  99702. { { 0x2b1881b9ddf7ab7fL,0x273489fcd43adb7cL,0x4f3bced12fe87555L,
  99703. 0x67ce19731b543d67L,0x7eb827d4fb21a673L,0x2c874f363c90ce65L,
  99704. 0x63771809ae3661f0L,0x25e81e55185e86efL,0x00000000000000d4L },
  99705. { 0x75cb5647a9b46abaL,0xe2d43a0498398ae2L,0x082e5804f8448dd1L,
  99706. 0xb6b5fbf01effa351L,0x8b4e95a375ee0d01L,0x06330f8cd78e5cfcL,
  99707. 0xbcc0fb586ad576ecL,0xc22b7b8e85b758baL,0x000000000000010bL } },
  99708. /* 62 << 392 */
  99709. { { 0xdc394f862b10c060L,0x7f3635c2f1d68dd6L,0x3b34936258a2aefcL,
  99710. 0x588c1a8631e77678L,0x6b1049c678fc729dL,0x45a9ba71868947e0L,
  99711. 0xe9942ba2cca46979L,0x3d7cb195075f93c6L,0x0000000000000038L },
  99712. { 0x33d8da16edb3b71fL,0x42573533d151ca7dL,0xb104ef742e4faffdL,
  99713. 0x3f9371862391eaa9L,0xa30cd9a391847e30L,0x9f51fc0894616135L,
  99714. 0x62f836fed3dfb130L,0x8ded8ab1d7469a7bL,0x00000000000001f1L } },
  99715. /* 63 << 392 */
  99716. { { 0x1d872ee0919b82d0L,0xbb4d27900009b3eeL,0x3b7329e978baf440L,
  99717. 0x8263e55cb963f90aL,0xdbc7ce8a45acfd70L,0xbab362ce2b929345L,
  99718. 0x9c781d6df934b89dL,0x15e751c458e6ccb7L,0x0000000000000075L },
  99719. { 0x96c9fc5853add358L,0xf7cecd0bdb680749L,0x65ebb93796cf3096L,
  99720. 0x87a7f1a067509825L,0x5425deef814d4898L,0x654213dbde0f2f8fL,
  99721. 0x958c4db48148c6f8L,0xa910a27703d86f8bL,0x0000000000000141L } },
  99722. /* 64 << 392 */
  99723. { { 0x1379b176e80649c8L,0xaa0c2dc8b7fdb132L,0x3f3050ef1134ffd2L,
  99724. 0x28d4e288d4a76f0cL,0x22ca05f7cd9b7f91L,0x9174bee06e7b9ee5L,
  99725. 0xc0ddc6356b341cb3L,0x1cd07d05eea9da0eL,0x00000000000000bdL },
  99726. { 0x423ec36bbbaa1df4L,0x33ccc8ade74c741eL,0x598d466249b5cd06L,
  99727. 0xd8bfc7e58fa121cbL,0x2cbe86b991bec4baL,0xbf1fe841e8453f40L,
  99728. 0xa35ff85d392592b5L,0x8de9f3df9c5807b2L,0x00000000000000fcL } },
  99729. /* 0 << 399 */
  99730. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  99731. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  99732. /* 1 << 399 */
  99733. { { 0x40f66d1915b26e6aL,0xfd654e8a64400d78L,0xe408365366ad9de7L,
  99734. 0xa64ca69b686c1b2eL,0x698749ffa80066e2L,0x197528a4b76196c5L,
  99735. 0x2bcfcf647bf835dfL,0x1a83fe8460e478bfL,0x0000000000000020L },
  99736. { 0x948f3e0ac46d1075L,0x3ccd3dc1e5c05fcfL,0x11b825b26414eb04L,
  99737. 0x2b7a9a5521e3f864L,0x2a24f5706daba159L,0x51900d4ade3eb61eL,
  99738. 0xaddc9096a6a6766bL,0x357eabf9e9dc3b6bL,0x000000000000007cL } },
  99739. /* 2 << 399 */
  99740. { { 0xf5c1a4c690185363L,0x15f58fd920c04ed5L,0xa7b46e0ce913a1b2L,
  99741. 0x1e7167c636f1d8c5L,0xf4fe6bfebf5fcfb1L,0xc46faf10a6c2027bL,
  99742. 0x45d593004e1f12f4L,0x46bcc87312185485L,0x00000000000000caL },
  99743. { 0x7c5180716432c12bL,0xb7e004ad90ae7556L,0xdf847160d8532693L,
  99744. 0x4d8c7b8aa18b3802L,0x90e2504596872af8L,0xe69d4894aecb6fadL,
  99745. 0x6ddaa06c17d0fe85L,0x49f1a466340c3528L,0x00000000000000d9L } },
  99746. /* 3 << 399 */
  99747. { { 0xc6994861edb77a32L,0xc0f2710e201b6740L,0x11783a64ccf36bb4L,
  99748. 0x1630e8ffe0b5e3f2L,0xd2491b8b26aad4b6L,0x3256836112f7b4b7L,
  99749. 0x99a8959b60726313L,0x3cec4f7d4a40d4b4L,0x000000000000011fL },
  99750. { 0x47cbbf961233c171L,0x1ea33d4222a94a13L,0xb5d248d864606917L,
  99751. 0x6a7bb04e94261f36L,0x701e50e4b981ece8L,0x8d98d5f9f1f36171L,
  99752. 0x13e58d4a2fb6d9e1L,0x9c02d71bdbf4e167L,0x00000000000000a6L } },
  99753. /* 4 << 399 */
  99754. { { 0x64782a476da18f9eL,0xb89e0b654a496e02L,0x437a49f6501c3a88L,
  99755. 0xae9ea08748a19f6eL,0xa787948b346d2069L,0xa6b9a3f1532eed3dL,
  99756. 0x728ab35e8ad26937L,0x3cf24801041f4f43L,0x00000000000001b0L },
  99757. { 0x5e272327cbbab58eL,0xe4a3c5f9f8705ffbL,0x2edc1c8eedd26ee4L,
  99758. 0x1bd46ff5f26d033fL,0xcc566431d87192fcL,0x03c7e40611764c8aL,
  99759. 0xebb80e34882a69abL,0x7a7f694361a08d84L,0x000000000000011eL } },
  99760. /* 5 << 399 */
  99761. { { 0xd0861f01b67232e5L,0x3205675cbdf5cb99L,0x2a44e3cf1cfea92bL,
  99762. 0x1eb229f3cd5c6e38L,0x81f6ebd18862b582L,0x352be0bf4d434531L,
  99763. 0xc8516209d530e407L,0x4f591cd009b02235L,0x00000000000001a0L },
  99764. { 0x8b5483211f7e7b7cL,0x566ba99cc0ef1651L,0x3c01398da82de656L,
  99765. 0x91efd970cc222c87L,0x5dbe62201a5c5157L,0x777a9fa3a2c60991L,
  99766. 0xe77e3a4db85f488bL,0xdfb3c629f1b3b74dL,0x0000000000000057L } },
  99767. /* 6 << 399 */
  99768. { { 0x68f4a4e058b77137L,0xd8a34e67f12f5bbfL,0x1781240f1e0619c2L,
  99769. 0x44495373498328bdL,0x98e9f61a545b7d41L,0x767db401602a0c48L,
  99770. 0xe138e5e8806301deL,0x65a3883b4b21aa89L,0x000000000000012dL },
  99771. { 0x647b00780423fe94L,0x424f483ffd276310L,0xaca222fbd6a06303L,
  99772. 0x47162acbffa52c17L,0x7ae0c5019de267feL,0x998dc9bb667a30c8L,
  99773. 0x988cf192af48c727L,0x0a270986dfa23a3fL,0x00000000000001fcL } },
  99774. /* 7 << 399 */
  99775. { { 0xc0de0a4647a483d7L,0x0946aa731afeca92L,0x2c67c9fb91e66640L,
  99776. 0xf3b518e6ebd0a936L,0x8eb8587c263a1c1dL,0x900d28a75c6581b5L,
  99777. 0x50591d7a71723e84L,0x47f2689834a99ff8L,0x000000000000016eL },
  99778. { 0x52fa5964e25d2f04L,0x0e347f610f4fb57eL,0x4bef23dcbdeed9f3L,
  99779. 0x212f5df4432fedd3L,0xde891c950211bb33L,0x13ed4284567558bdL,
  99780. 0xa113c3552c283e9fL,0xa06260f73e48dd8bL,0x000000000000003cL } },
  99781. /* 8 << 399 */
  99782. { { 0x5c9209c1c4646439L,0xceb6698586c5d6bdL,0xa5f5225829e415b4L,
  99783. 0x18fff2c1e95d2a27L,0x21d464f1be40c8d9L,0x11b4696e059828cfL,
  99784. 0x5c1f73c570f76aecL,0x6019fadb273e3f5bL,0x000000000000012cL },
  99785. { 0x6d1ff5913eefab44L,0xf913524cba2986b4L,0x96fc0b7a290dcf2aL,
  99786. 0xf9e7ab52061df2a2L,0x66401173d47330a6L,0xff2aca188b9f749fL,
  99787. 0x8d4ac80f1ab42ac3L,0x10ec329ea1378039L,0x00000000000001aaL } },
  99788. /* 9 << 399 */
  99789. { { 0xc06dc058c4f1cb73L,0x739370439ab6fb16L,0xb663bdf55f7fa374L,
  99790. 0x8f5e3b3839fa047cL,0xf517fb9ad860a576L,0xcb414b9bd755537fL,
  99791. 0xe86864ea508a12c8L,0x49a663b4cdaab9daL,0x0000000000000029L },
  99792. { 0x9e4da7f330251bfaL,0xb084b69fac60f268L,0x15b981fb93903a9cL,
  99793. 0xa6905f206dcadc57L,0x81e961cf5050b9b0L,0xc583b4e4f6646d47L,
  99794. 0xe30e25dcfbc96082L,0x8c92e5d8f0b0ffc1L,0x000000000000000dL } },
  99795. /* 10 << 399 */
  99796. { { 0xa5fc51ef9c1d86ccL,0x66a9b8980b3faad3L,0x96c73c2521d124edL,
  99797. 0x392440db050626ceL,0x02bfb1ac50a4a12aL,0xc70a30741742ddddL,
  99798. 0xf1f9daa647fe811dL,0xd4baa6b1fb3ce6ccL,0x000000000000016eL },
  99799. { 0x09042d7509d96ce7L,0x4c92ce693315f77aL,0x4992b1f9a9c0d9f6L,
  99800. 0x7c0ffbacd18ec980L,0x53d205dca008ab38L,0xf0a098f7c908481dL,
  99801. 0x2bffd3630ba397beL,0xca36e99f49003f86L,0x00000000000000a2L } },
  99802. /* 11 << 399 */
  99803. { { 0xd239593542d95daaL,0xdcda6a94ea334140L,0x9c27790794a62966L,
  99804. 0xc61b5734f86dfd3eL,0xd943aea70796fd19L,0xaca22cf206f55e66L,
  99805. 0x55372159c0b75487L,0xc7b6b1d2d1244fdcL,0x00000000000001e3L },
  99806. { 0x13f187feb3b5b131L,0x8620e1362bcd4cccL,0xe68718297f061f4fL,
  99807. 0xcb04eeb2f4a85e13L,0x4a93fccba0f352beL,0xe2ecabd9b9d84a8dL,
  99808. 0x7183cdc20b9058d5L,0xbf25cd935d8dda50L,0x0000000000000168L } },
  99809. /* 12 << 399 */
  99810. { { 0xa074fdb7be4badb6L,0x97b054950df5f046L,0x5a3f64e4eac3a8b1L,
  99811. 0xafc5e0132971faa1L,0xe6d4ae36568e4a3aL,0xeb0324bb97479a2aL,
  99812. 0x2dcaf3d866a2c69bL,0x9f9b5551813f21eeL,0x00000000000000fdL },
  99813. { 0xea8f05c8a13d686cL,0xf27edb763bdbd1deL,0xb2e5fd405c65b0f4L,
  99814. 0x5e959c016cbd964fL,0x02ccb301dbc193a1L,0x34ca7ed9013b972dL,
  99815. 0x7191cd287ede3f2fL,0x1d07f45798bf4e0cL,0x0000000000000057L } },
  99816. /* 13 << 399 */
  99817. { { 0xe0b1685c5ebfc951L,0xa517e7a232c59513L,0x9a6282865780ed11L,
  99818. 0x499d70c775533b55L,0x593ee20b020f6027L,0x63a5ee05f683a38dL,
  99819. 0xf672f073150476ecL,0x621c8f9616caa574L,0x0000000000000094L },
  99820. { 0xf0da17c319bf3540L,0x77043ebd6e05c870L,0xf32446b727a4416aL,
  99821. 0x2ef699c612d04df5L,0xdd3cfd1f324cbf7eL,0x0171a41f631b06ceL,
  99822. 0xd12b01852e95d511L,0x043cb48ffd0c0078L,0x0000000000000174L } },
  99823. /* 14 << 399 */
  99824. { { 0x284e98f320f12986L,0x3112bf24749ea8d5L,0x5fc7a2c42782914dL,
  99825. 0xb2f7c229d94786afL,0x4b17bcaec7158280L,0xa139d563e6189a46L,
  99826. 0x9c72e9c583cc9173L,0x5cd5a6a0be56b6a8L,0x00000000000001a5L },
  99827. { 0x51f0e802235a8051L,0x153dc987c4c5fb7cL,0xb549e9c79868a706L,
  99828. 0x717390089bdf5c1fL,0x0d04f60cccbec99bL,0xde66c9617f4bd294L,
  99829. 0xa787d95e51156724L,0x7ce4b4a5ae12b9b3L,0x0000000000000091L } },
  99830. /* 15 << 399 */
  99831. { { 0xbcb9c82f32d7d93bL,0x1bfdfba7dce386e9L,0xc05d039a3f8b5ca9L,
  99832. 0x58c78e8e299b0f53L,0x1baa1781e60cbd19L,0x8fb6ae0db0eeb838L,
  99833. 0xf26dfec46483aeedL,0x01b7456091303d67L,0x00000000000000ccL },
  99834. { 0x39567f445ceae83dL,0x9a407eacf43d8eabL,0x361a32025ab1a391L,
  99835. 0x1c532e29d43e2092L,0x558d4fb789f04a1eL,0x0fe9497d2017914aL,
  99836. 0xe96b05380171fd50L,0xc9b0b3ffeff1c1d7L,0x0000000000000044L } },
  99837. /* 16 << 399 */
  99838. { { 0xe7f35808fb6618bdL,0x6abb67e1732ef576L,0xaccabb44cd0bfd8aL,
  99839. 0x176ffa9183459746L,0xcc12958585b88b2aL,0x28d94486fff151ceL,
  99840. 0xf55fca164c84bb00L,0x07cbc8419c3a42b6L,0x00000000000000c6L },
  99841. { 0x488400d078788c39L,0x15ebb100d8eb1fdcL,0x58decae3bdc05f72L,
  99842. 0x3bfda4a75d56a2cfL,0x7ea3f8ec5ae6701eL,0x652e7e0b3aaacab3L,
  99843. 0x267d275228609228L,0x52ddc983912efd7eL,0x0000000000000029L } },
  99844. /* 17 << 399 */
  99845. { { 0x4a33ff03ff5fa227L,0x12b266a45dfb4bb5L,0x18ad0812a77d3789L,
  99846. 0x316275f3135e8b73L,0xb8aeba2e1aaaa211L,0x30578d2fb9d962a9L,
  99847. 0xf8b00f02cb534bc9L,0xb935149cdf535572L,0x00000000000000a4L },
  99848. { 0xf8d93fe1793528c0L,0xea0a5bcdaa631367L,0x7a221948dfb0e4e5L,
  99849. 0xeab2e52a857da8f2L,0x80f72c632657a647L,0x24118aa3a1509961L,
  99850. 0x1131400950388917L,0x9ff6d9f6a085a80aL,0x000000000000006cL } },
  99851. /* 18 << 399 */
  99852. { { 0x0ce0f89f0356ef50L,0xd8cdf51e37f24a9aL,0xd0720e9bd237fd55L,
  99853. 0x20b75973aeb71292L,0x0d6efb23e42b2758L,0x0fcbdd568721aecaL,
  99854. 0x11658ce90fda8ae5L,0x23a4d576700782d9L,0x00000000000001acL },
  99855. { 0x77fc6f2f903bb623L,0x36710ba75b2a0237L,0x4ea518d1d55a12f4L,
  99856. 0x0c0509e14c95dee0L,0x67e240784bf6c59fL,0xa9bd12b5c925e26fL,
  99857. 0x5865b6c38fabdba8L,0xc6e3433b33b34605L,0x0000000000000101L } },
  99858. /* 19 << 399 */
  99859. { { 0x273d761d557caec5L,0xd8de3470242043c4L,0xfc9eec9d6293eef2L,
  99860. 0xa671ef1786203aafL,0xf38b26fe7f44eb34L,0x40c0286ed1ecc573L,
  99861. 0x3ebb5cf5dc14b363L,0x5b2c33762e1dfe45L,0x00000000000001b1L },
  99862. { 0x836149c9bd11c412L,0x49c3837653342417L,0x4c93a91757fa625dL,
  99863. 0x529ab0965445be81L,0xd172a7c5803a04c3L,0x0c47e6b365873d1bL,
  99864. 0xdcb189bda095bddeL,0x9bc935372caf25cfL,0x0000000000000071L } },
  99865. /* 20 << 399 */
  99866. { { 0x8287592e80c0e648L,0x79cfe5b529ce1a05L,0xbc2ed6c732859038L,
  99867. 0x076334f7af367139L,0xe13e55593a592211L,0x94d5548847f87368L,
  99868. 0x15d99113a2f1b6f2L,0x2bc0ebe9ff79885cL,0x0000000000000171L },
  99869. { 0x68eedbb2ae127d70L,0xadf3485597ae5d0bL,0x02e40ba8d1f6dc0cL,
  99870. 0x46cf4b8f3e7a23c4L,0x111958025626c5cdL,0xde32666e1c728ee6L,
  99871. 0x2c594c77bf2d8b70L,0x3dcf58bb1469bbd0L,0x00000000000001cbL } },
  99872. /* 21 << 399 */
  99873. { { 0x7b9d09c5567ced39L,0xf2c277bc10de6fecL,0xd48b924b423b4942L,
  99874. 0x21f49c8bb147ebacL,0x45ce05f0003eef62L,0x291f77ada2b01ea3L,
  99875. 0x754bbb867bf14c9dL,0x2abeb1fedb8f0b77L,0x0000000000000115L },
  99876. { 0x8de7419c48073c55L,0x540008c26fbb1768L,0x579ae6d9610d5a83L,
  99877. 0x7c2f90d43ca9c514L,0xf5bb5df4e078dcfdL,0x02cec780eae4e114L,
  99878. 0x5c4d230feb0c66f8L,0xce73ffc6c28bf3d5L,0x000000000000005fL } },
  99879. /* 22 << 399 */
  99880. { { 0x548235d6da309336L,0xdc058555d0ce4b03L,0x8103a260117d9fb1L,
  99881. 0x7aac6ea7962fbeaeL,0xdf219bc75f9f7c6fL,0xdb529bd239755a22L,
  99882. 0x7b68e00472676f34L,0x99590caac5011f75L,0x0000000000000027L },
  99883. { 0x8b591dde80e9bfe7L,0x510daa29259b4046L,0xa6f4c61f41cfdbd2L,
  99884. 0x6934a20ef175b862L,0x2a73244068cd3951L,0xcf3ca559d119730aL,
  99885. 0xb8aa2298df77ebfaL,0x8b85cd46f78ece91L,0x000000000000015cL } },
  99886. /* 23 << 399 */
  99887. { { 0x6f71753a499b06afL,0xe9d09e3f7221545bL,0x366a725173e4aa15L,
  99888. 0x1cf56688a241d729L,0x45f261b6b7beb74bL,0xb17277cd0d48498fL,
  99889. 0x7009afd203d67414L,0x26ebcdc5e9405ce7L,0x000000000000004aL },
  99890. { 0xc72b4a31cf1b5cadL,0x047ec0b68676686cL,0x3485799fc8b8098bL,
  99891. 0x62a31effc762e262L,0xf1402ccb07ea3b86L,0x6138f07fd91931f0L,
  99892. 0xa1b2834870baec3eL,0xe8735d8406e9de6bL,0x00000000000000d5L } },
  99893. /* 24 << 399 */
  99894. { { 0x5419ed9ae06fb3cfL,0xb454c6fb8e703ea5L,0x9670af86ac4c2649L,
  99895. 0x365e43f40db43887L,0x1ada3d8f00c320b4L,0x1d00cbe5aaffe3d9L,
  99896. 0x1e99987d211142b4L,0xb98381f79cb8bb86L,0x00000000000001bcL },
  99897. { 0xdd2388378b1718b2L,0xa8cb957e532daa33L,0x20a55f673b041a83L,
  99898. 0x973207121b075250L,0x5a70aa65b7ef4b51L,0xa33056613865f77fL,
  99899. 0x96bd1a89bd8a4303L,0x507d7779fdc197c0L,0x0000000000000048L } },
  99900. /* 25 << 399 */
  99901. { { 0x1fa5ad1177a5fbecL,0x8c566037b8b5655bL,0x52848f491321baecL,
  99902. 0x8305e20227f02ff4L,0xedada23bc276f11dL,0xba94317f8acd1abdL,
  99903. 0x8b125970e3edbcfaL,0x75e021d50f5643c8L,0x0000000000000042L },
  99904. { 0x9ed9e1e313be597eL,0xe271c2a6b74be691L,0xe249fdff2e52b57dL,
  99905. 0xae84ab19d18031b9L,0x7135760af49f27f3L,0x3c4775cc1cc28c5fL,
  99906. 0x49165948fdf0f394L,0xee56522b240d7f13L,0x00000000000000e3L } },
  99907. /* 26 << 399 */
  99908. { { 0x16aad8d873f397e2L,0x8cda09d440bb988bL,0xe351cd2da881cd6dL,
  99909. 0xb92fdda9c9a6fd41L,0x2298efad3932267aL,0x76546625a099bb25L,
  99910. 0xdc48a34858230b71L,0xd98ecaccc6ed085bL,0x0000000000000107L },
  99911. { 0xe3bd2de5dc95f5d1L,0xb890da1f2e2c2366L,0x7c6226a1c4f26cc0L,
  99912. 0xfc1f77bf00356c62L,0x0c8e11f7d87ee6f9L,0x84cc68aa0af9a4a1L,
  99913. 0x70eb714ace01ea76L,0xdc9e3c696ecdbdc4L,0x00000000000001faL } },
  99914. /* 27 << 399 */
  99915. { { 0xd3eba8f103dc76a9L,0x92dcb80109d7c9f2L,0x09a3edfb224325ddL,
  99916. 0x78d9b818c87e4b16L,0xbe607e9788d33a3cL,0xdf01263e152e6cf7L,
  99917. 0x49fd31ccb308c83cL,0xed94b658d68d6a82L,0x0000000000000161L },
  99918. { 0xbaad071e181669a3L,0x5f2e0a1dd54676d3L,0x96ea8e3e4a9ae061L,
  99919. 0x0d2e0ee8ba5bf8faL,0xc1892fe007bb010fL,0xa538bead73632f75L,
  99920. 0x6d794924378c2631L,0xa7c065460205723aL,0x0000000000000185L } },
  99921. /* 28 << 399 */
  99922. { { 0xc7f26a2fd5434124L,0x7629d62516380451L,0x8513932307858144L,
  99923. 0xfa1d44bd4627a0a0L,0xebd1be26b90a996bL,0x57baf49237f94e07L,
  99924. 0xabe9cf16d5ee67b3L,0x5ab3cb065fce9c53L,0x00000000000000c0L },
  99925. { 0x38a153713faee0a0L,0xfc98c0dfa1142d0cL,0x9320556353001436L,
  99926. 0x73acbb7da63e615bL,0x8204c993414da94bL,0x2fd26bc2e8622aebL,
  99927. 0x86a1eb1826467b86L,0xca554d782bd1a581L,0x0000000000000044L } },
  99928. /* 29 << 399 */
  99929. { { 0xe33762396cdd9921L,0x4398b198c6386361L,0x05002343551040a8L,
  99930. 0x0a82fca0be2ad7bbL,0x727e2d5f3c1acb10L,0xfcb0c12d4af46347L,
  99931. 0x01782a40ea661ccbL,0x6f1f3e45a49bea1cL,0x0000000000000123L },
  99932. { 0x3ee55592961c0cf4L,0x15cb90c37c19abf7L,0xad4e930d2ee5a6a0L,
  99933. 0x75b054aa3fa249ecL,0xcea656d85d005c47L,0xcab95ea1be507dbcL,
  99934. 0xda131e43dddfa969L,0xd508e708dfc6e136L,0x0000000000000149L } },
  99935. /* 30 << 399 */
  99936. { { 0x01fd929d48d5f1fbL,0x5fb11462724ad844L,0x29442573707ace9eL,
  99937. 0x38b790bcdef7dbd1L,0xb33eef7dd77c1c89L,0x952246e9f8b1403cL,
  99938. 0x11ab7ec0e78d9efeL,0x538af4c702c22634L,0x00000000000000aaL },
  99939. { 0x3827660d04c6eb59L,0x62a02de83cd9597bL,0x57fa76f246ece58bL,
  99940. 0x03b9fb533c21145eL,0x9e04ec45fa60662dL,0xc28cc184944a4a44L,
  99941. 0xf26c1df341ff380bL,0x6d48b57c13c7f613L,0x00000000000000d1L } },
  99942. /* 31 << 399 */
  99943. { { 0x971d5a7b786009e9L,0x846c3469783fdd9aL,0xd9a307cfb335a7b2L,
  99944. 0xd583b59ef86adb9eL,0x17dbcbe05b432839L,0xc67e7b0a35c6d202L,
  99945. 0xc617810a0d50e1daL,0x9c291e5b64bfda1aL,0x0000000000000129L },
  99946. { 0xcf6a1382ee444a83L,0x073decbf249c2c46L,0x974ad0d3b59b9474L,
  99947. 0xbfc44aa8440132b1L,0x9f959f7d692ea2ceL,0x6653be0fc93ef496L,
  99948. 0x8ed05d4c0b087a60L,0xdcc0c8ba573f0e2eL,0x0000000000000080L } },
  99949. /* 32 << 399 */
  99950. { { 0xfed9b067e2eca03cL,0x34ff6f2aeb3230b2L,0xda83b96a31bc82beL,
  99951. 0x3b138d2ccc89c862L,0xf4a27aeeebd59505L,0x29df153a8bb49ddaL,
  99952. 0x2dffec4650a555baL,0xc899108d0fec5d80L,0x00000000000000bfL },
  99953. { 0xc834e65988da1a0fL,0xb9bfba08eebe47a8L,0xf59d33937b3a2b73L,
  99954. 0xffc7cb5d8decf4e4L,0x72477dd583dc5f4eL,0x0a59e11e43ac64ebL,
  99955. 0xda8aa16ccb10a6abL,0xe571ec8c3759c37cL,0x0000000000000047L } },
  99956. /* 33 << 399 */
  99957. { { 0x2890f4b93d32bc1cL,0xf4e8332ac455d6e5L,0x7b1523c8c4d7c367L,
  99958. 0xd5006acba60d5778L,0xf958872021f34b5dL,0x8c36c23628d1d74fL,
  99959. 0xdd2ad5092d0b0f17L,0x1a895017b66a2e02L,0x000000000000014cL },
  99960. { 0xfe2eb1a11d8ec07eL,0x7d755399215e9267L,0x3cf9b914891f82b5L,
  99961. 0x0a77198f79aeb59dL,0xd71d06ce0acc8e55L,0x911f149d3b3c4c20L,
  99962. 0x86f130115d124fe4L,0x6972ef3ede4f5d98L,0x0000000000000084L } },
  99963. /* 34 << 399 */
  99964. { { 0x57459abcecbf10acL,0x2d399838f2c3c306L,0x6467c2753f9b1181L,
  99965. 0x58edac9c040e0722L,0x80cb5d10f23a50c7L,0x6db0315b304aab12L,
  99966. 0x7b662c951cbc56faL,0x421b1f244eaa55d6L,0x000000000000019aL },
  99967. { 0x0bd62b3f5c87fd33L,0xf309039dd7b12051L,0x155dee7fff9da505L,
  99968. 0x66ed5fe9e35d68fbL,0x5b9829227cd99f55L,0x1de7e5f1cebe48cfL,
  99969. 0x44308df3b0e2e114L,0xb2e026d92735bc27L,0x00000000000000d8L } },
  99970. /* 35 << 399 */
  99971. { { 0xa0f27eff25c2b290L,0x5496d39c3c7b110fL,0x96d99f277f278d2fL,
  99972. 0xc73da2d2f5de1a83L,0x77ad34919fe0a789L,0xa2a7bdc8f2e23c14L,
  99973. 0xbc162cebd10ff276L,0xdea043e2ce028697L,0x0000000000000121L },
  99974. { 0x909a4e1aa11a8d73L,0x985baa0e46b89908L,0x2054d790ac720559L,
  99975. 0xb6b4e53a1f8067faL,0x39b49b6b1e143560L,0xe96e6562581d42e0L,
  99976. 0x7a540841b920ef30L,0x34edae19ff2eccb2L,0x0000000000000196L } },
  99977. /* 36 << 399 */
  99978. { { 0xf4c48d376d17d9b5L,0x714b38acd9b7c9e8L,0xb332763c8e59bd23L,
  99979. 0x704ec12ed64f9bc6L,0xef738ab2c472c08eL,0x39d182692313abb9L,
  99980. 0x64b05426cd80c265L,0x0dc6c228345afb94L,0x00000000000001d2L },
  99981. { 0x7d51410b7a9c096aL,0x3acb41805f7d6f9aL,0x10559f44ecd13fc8L,
  99982. 0xfa6f5288446a07cbL,0x2799b503ded0e010L,0xdc865f094fad1e65L,
  99983. 0xf1de127e0e77baffL,0x25f090228bad6efcL,0x0000000000000198L } },
  99984. /* 37 << 399 */
  99985. { { 0x6e9dad7a10b10723L,0x4528b97a9561e0a4L,0xf6ce779cef7aa977L,
  99986. 0xd0a07355c09f82f6L,0xa519f70c6f5a96aaL,0x09917e5a0aa6d4ceL,
  99987. 0x261a96d028994835L,0x28e78eb2ec9a5868L,0x00000000000001e3L },
  99988. { 0x60efc88871882100L,0x795ce82f5fe4b377L,0x8e805c686f587d64L,
  99989. 0x3cd8bb97cae577abL,0xdfa751c31d8417c8L,0x940341deec17e1b7L,
  99990. 0x3e87a1fc1135e1a0L,0x94f8a8931cbee12dL,0x00000000000001c3L } },
  99991. /* 38 << 399 */
  99992. { { 0xf257b5cd9cec713fL,0x928b215a0356f001L,0xb2c44dd22b0a2d42L,
  99993. 0x62055ba191c318deL,0x0e298611dfc58d1eL,0x8840d79c383da28cL,
  99994. 0x324e3dcfb18554bfL,0xea84bee97fabced0L,0x0000000000000041L },
  99995. { 0xafef969437baed5eL,0xc04bdf2c2f5a6cfaL,0xf75197c07eb37653L,
  99996. 0xe5b011b029cdd976L,0x1f41be962c254ae4L,0xcc771ab718829595L,
  99997. 0xd1215bef12f64b06L,0x5e970494117f72fdL,0x000000000000016bL } },
  99998. /* 39 << 399 */
  99999. { { 0x83bb6de40bcda6cbL,0x90f2fbdc1e5fb277L,0x0f6f3261119a1e8dL,
  100000. 0x7f6434f8dc73b93aL,0x8a1b958a9158b9c6L,0x43fb60a45ce9133bL,
  100001. 0x9bd5bb0284d86dc4L,0x1e3a7ca06872b101L,0x00000000000000bcL },
  100002. { 0x8d2d115f230c41bfL,0x1e7df5d4916b43b7L,0x3815b3c724d94d99L,
  100003. 0xb463eb11ef11894dL,0xccf7ca983c63af75L,0x0bffd871dbaac87eL,
  100004. 0x267db8678dbe5699L,0xfe97d927bf6cff8bL,0x000000000000000eL } },
  100005. /* 40 << 399 */
  100006. { { 0xe32ddade157a2ae6L,0xcfc8bf7c0e6e08e9L,0x35f750f3bc2e3f23L,
  100007. 0xbfa297a200d897acL,0xf3283590b52421c5L,0x1f2b851222bf59afL,
  100008. 0x7f63809d62e5d037L,0xc33dc13581ee5e5eL,0x0000000000000022L },
  100009. { 0x04b006db4bff94b5L,0x373fdb9ab2cee9beL,0x39e63eb4cb8d9886L,
  100010. 0x4b371662202592c1L,0x1f5f94a4f6935600L,0x6f7103c47eefd53cL,
  100011. 0x0db5f837a02bf79fL,0x29cb566178a72ceaL,0x000000000000004cL } },
  100012. /* 41 << 399 */
  100013. { { 0x34338894e3f3888fL,0xcd26ba945a0ca66bL,0xef170a1c666f902bL,
  100014. 0x34f0dd0554012d0fL,0x4c8744603ff21e0dL,0xfdfa53e5f2384339L,
  100015. 0xdd11e707557da25aL,0x9cdc67f0075996ebL,0x000000000000009dL },
  100016. { 0xbe8e6f5910ed53a7L,0xcee1132182822051L,0x3bc4f5f9b57cdbe0L,
  100017. 0xa83b5947d318ec78L,0xc841ef967a0a6d8bL,0x689ee84e011639c6L,
  100018. 0xf07f99d813ee15cfL,0xc49549ad5a0ea35bL,0x00000000000001b8L } },
  100019. /* 42 << 399 */
  100020. { { 0x4f2333e5efc1df8cL,0xbd1683fbcf67e9a5L,0x8c867003532ed940L,
  100021. 0x8178b176f39d6717L,0x789e5a65e8865f2fL,0xa288918433099d45L,
  100022. 0x136d38ce4d8936faL,0x3920c375950ac39bL,0x000000000000005fL },
  100023. { 0x33bcf75a182da275L,0x3b42095667577d3aL,0xe6dd20f8f6767c3aL,
  100024. 0x8dab007359b27062L,0x5186bec68f34af3cL,0xf084043d42d72626L,
  100025. 0x50fbd81a90cd4665L,0xb932207e385b29f3L,0x00000000000000ccL } },
  100026. /* 43 << 399 */
  100027. { { 0x3e2481ddcca46795L,0x2ad212182d2f1511L,0xe81633a7aea3821bL,
  100028. 0x60ed6123ca636678L,0x2af841042b8c035eL,0xe4c0875e9f7cd940L,
  100029. 0xeeb262546d649c9aL,0x9c1dba6f70179ed5L,0x00000000000001c5L },
  100030. { 0x1acf2025e719d7e0L,0x27ac0cb7bca64a98L,0x1a4f58f5f9a54bc0L,
  100031. 0x3c2fc7016a743761L,0xa916ab7a0767dd6aL,0x8953314117fdfe8fL,
  100032. 0x5eef51dc4a7d6265L,0x1a1890e548920a64L,0x0000000000000177L } },
  100033. /* 44 << 399 */
  100034. { { 0x7772aad1a323089bL,0x1c3eba0a917ff79cL,0x8b9da0870fc8b113L,
  100035. 0xbe669dc94e5c0c10L,0x3ad27c13cac54859L,0xdb835b140cfda5f2L,
  100036. 0xfca9e3fef20ee2dfL,0x80870761674b7ebeL,0x0000000000000167L },
  100037. { 0x788ed1db4356cc9dL,0xaa557f015b5c9608L,0x62c22482cd869134L,
  100038. 0xd0ec45740dff5303L,0x3df51b9f5389ca31L,0x59a6e53145b54873L,
  100039. 0xe6052b072df10bc5L,0xcb7107d41f4cd861L,0x000000000000018fL } },
  100040. /* 45 << 399 */
  100041. { { 0x24d270b0a2c5f6cfL,0x97246482f54bdbe0L,0x2b71247a8ae3277bL,
  100042. 0x3273c1c9a45552f9L,0x6187912dda706e75L,0xc43665644e2903a3L,
  100043. 0x9243d5b29348f72eL,0xfb5aac5ba7b876e9L,0x0000000000000070L },
  100044. { 0xe9b247659aab621cL,0x378e7c849cff96f7L,0x794aea34d6ebe2d4L,
  100045. 0x4eadc9d51661a8d9L,0x48c7c8058a105436L,0xcd852b6dd8d196c5L,
  100046. 0x40a4c838d2c05f91L,0x60b4425eab562273L,0x000000000000008fL } },
  100047. /* 46 << 399 */
  100048. { { 0x68143217fc5598cbL,0x55f45fe3ecb8be5bL,0xdc707a143627496fL,
  100049. 0x5a60f85e9665cf29L,0xbfa30147a13782ccL,0xcecb4dc9e6496833L,
  100050. 0xa712fe79bd9761a5L,0xcbfbb56a078c3e11L,0x0000000000000030L },
  100051. { 0xb0a421291e0066d8L,0x23f10112fdd822f2L,0xb83cbe5147e7d2afL,
  100052. 0xf5d65634852e2252L,0x6223702b277cc79bL,0x1bb298814b2433f5L,
  100053. 0xf8ba03fcca6ccb00L,0x0859156462e0a22fL,0x000000000000000dL } },
  100054. /* 47 << 399 */
  100055. { { 0x2b6f7947ec51092cL,0xacd21ef95149fc12L,0x5f45cff7fb65ce50L,
  100056. 0x1f51d19eed597402L,0x8b5ddce12b9e93a9L,0xd47f7ace6c0ec08bL,
  100057. 0x7e2e638e2f64a0d8L,0x734b83b65e71988aL,0x000000000000014bL },
  100058. { 0x4f6e691930b08bf1L,0x7dce78e400390037L,0x22ff88f758d11de7L,
  100059. 0x758620d621202d1fL,0xb94a535664939469L,0x17da7341acee471cL,
  100060. 0x2d37a341fd2310eeL,0xa8601bc372a3c4eeL,0x0000000000000078L } },
  100061. /* 48 << 399 */
  100062. { { 0xc0c5b4a6fd219d25L,0x52c7f6ed058ff8a7L,0x1fe69b86b6e0acfdL,
  100063. 0xd1e3e73b52a447c1L,0x31537c0968054dfbL,0xc312a9a53edbbcf9L,
  100064. 0x893237de8b0f13bfL,0x1784bade6ea4ce95L,0x0000000000000191L },
  100065. { 0x112af36812489269L,0x49acfb797f0d7098L,0x94f9883080743844L,
  100066. 0x46a890ed1c9b2deeL,0x7874e2973b42178dL,0x026f247f131ffe31L,
  100067. 0x9f9e06e01658f803L,0x8beebca7b4c25ec0L,0x00000000000000ddL } },
  100068. /* 49 << 399 */
  100069. { { 0xff25d39a56fcbb0fL,0xf3167cd6767aff46L,0x0d149e1fe37f1498L,
  100070. 0x5cc5476e4ef8353dL,0xf483af728a100b6aL,0xdff90a5a5e61a9ccL,
  100071. 0xef06ad071b8683c9L,0x1a51a840f21160b5L,0x00000000000000c5L },
  100072. { 0x0cf4a4f250535795L,0x6465217feb140724L,0x39b30eb481336b95L,
  100073. 0x4d6808ed2ff959b5L,0xd2cbd262102f0eb9L,0x81a05ea2401e2b5cL,
  100074. 0x1c88cf3f90e33b3eL,0x0e5da177bf342b81L,0x00000000000001f0L } },
  100075. /* 50 << 399 */
  100076. { { 0x692d5ad031e4d9f9L,0x404aeda94c975f59L,0x774d5f574567894cL,
  100077. 0x9384a6d394c384b5L,0x5640862431f1ade9L,0xc7fec784ec664a1cL,
  100078. 0x1855d29dd8daa744L,0x215688b92cb5ac77L,0x00000000000001baL },
  100079. { 0x941ccf2069ed9766L,0xbe0bc408bb264b33L,0xaf690b685fc53f91L,
  100080. 0x2d3d6a0d402b1ca7L,0x15f7858d0d0bbad4L,0xd4107f9a09001d66L,
  100081. 0x5d39101058f42888L,0x6dbab76e1957a5e3L,0x00000000000001aeL } },
  100082. /* 51 << 399 */
  100083. { { 0x45213613b7e2c6ecL,0x40eba404231a4131L,0xb6fefe73a732bae9L,
  100084. 0xa1e9bbf5dad5d26aL,0xd4292e9b3754d63cL,0xfa2f7d163b4afd0aL,
  100085. 0x101c23ab45993a58L,0xef2e6c2e76be32b6L,0x00000000000000a7L },
  100086. { 0x39ab0b2e91c2102dL,0x08c2853a38a0dc87L,0x0bf44cb5fc98a8c2L,
  100087. 0x3944bcc04053d1dcL,0xc58245c95a4c6921L,0x727b1481097fd198L,
  100088. 0x65aeacda0fd2d648L,0x39f714eab57be657L,0x000000000000010aL } },
  100089. /* 52 << 399 */
  100090. { { 0x63b6bb80bd8a172bL,0xa4fcf17c5dbcddfaL,0x20d9c687abd07afaL,
  100091. 0xd2c3d30414609e55L,0x54f385032006d72eL,0x26b914c24df39b12L,
  100092. 0x27f45ab386f0c497L,0x3dcc1ec688f50651L,0x0000000000000073L },
  100093. { 0xdeb2636533f06be4L,0xfcf1a35db48f3d92L,0x7fe1fd3af7cc2a73L,
  100094. 0x41ca3e11e6aa5884L,0x164881a8cdc21e13L,0x8cad911a03484874L,
  100095. 0x767521e9e9c3025dL,0xde97f814218da4baL,0x00000000000000d6L } },
  100096. /* 53 << 399 */
  100097. { { 0xd3ecaad9f421e457L,0xa1343944abcd6bdaL,0x5e3976b4ef498da9L,
  100098. 0xb3b59e1df3f12ba3L,0x07bfc03c8e4490c0L,0xd5fa985d5b53f101L,
  100099. 0x715822a34bbf7797L,0xbd2d7345fe9453b0L,0x0000000000000147L },
  100100. { 0xee1ec3a72f095506L,0x1fcc2581a4577097L,0x8c650b965b1bb6c7L,
  100101. 0xc19686238a67baedL,0x6105e80775b944f9L,0x45b830e0d8ad554cL,
  100102. 0x4bebdb941e52e028L,0x5fb560dfd302d75dL,0x00000000000001e1L } },
  100103. /* 54 << 399 */
  100104. { { 0x41cdf0a8090e62c4L,0xc203cf661a389c50L,0x08873cd92fb0e7b4L,
  100105. 0xfb7d8fd2849e2c3cL,0xbf0ecf0abf15a0daL,0xcff06a5ba3288614L,
  100106. 0x3ea4f678a5a1bd6bL,0xd07f4fea5a0b447eL,0x00000000000001e9L },
  100107. { 0x7bde418b0072eb53L,0xc497b7d7c895370cL,0x360c81eebfb58e0cL,
  100108. 0x4db855d7ca0d8993L,0x21da05101cffe5c2L,0x4e6c55e431da01b2L,
  100109. 0xab33e450a177a1caL,0x4e024158c8d9d072L,0x00000000000000c7L } },
  100110. /* 55 << 399 */
  100111. { { 0xf01997349c89c37fL,0x422e2013e23346feL,0x872234bc0fa240cfL,
  100112. 0x073c9ec935c98044L,0xc5f576844da45c45L,0xd9f227f2e036eaffL,
  100113. 0xd624bcb8753152bdL,0x63adde436cdfed8eL,0x000000000000004fL },
  100114. { 0x6ed39da2e48f14f6L,0x7e044ac48399ed5fL,0x3d32aa1ccadb8a57L,
  100115. 0xb17680e165432f64L,0xd1ac87201062afbaL,0x2977e3c2ea64a181L,
  100116. 0x3c50ec594f5ebbd5L,0x06d71e4b8c0f88e2L,0x0000000000000116L } },
  100117. /* 56 << 399 */
  100118. { { 0xb3329e3168581a3aL,0x432c15f5e718d540L,0x50fb0773b5405fb7L,
  100119. 0xd422287361b9c0e3L,0x3a53d3dbae54be89L,0xb7f9d1e582601b93L,
  100120. 0x33d9cabdaefe244dL,0x90c3764d347640a4L,0x00000000000001d1L },
  100121. { 0x8e0fbf2c912d5804L,0x3b9f0ab36fd05d70L,0xdd8c3192b7d09ac8L,
  100122. 0xf44cab3e47c16785L,0x7de9fd5b35549cfeL,0x38dfdf50eb615262L,
  100123. 0x57e912f224dc69caL,0x69f6970490ea604aL,0x0000000000000199L } },
  100124. /* 57 << 399 */
  100125. { { 0x4687247eabad6418L,0x4f83495ac51d51ffL,0xfce781bec0aef136L,
  100126. 0x8abed322580cb513L,0xb85782d6a24589daL,0xb8f7c3ad9c8640c8L,
  100127. 0xa669aef661539d62L,0x9379601cb4477f5aL,0x00000000000001b7L },
  100128. { 0x332b9e9b0f7d41a3L,0xe7bcdba572f306caL,0xed16c9e3263c7286L,
  100129. 0x5e47df68f8fe3510L,0xf0d18d39e3726bd2L,0xacb28a51274ae3f8L,
  100130. 0xd0de1a497de215c6L,0x4b050057a1b3fd99L,0x000000000000014fL } },
  100131. /* 58 << 399 */
  100132. { { 0xc060c814721192ccL,0x1f3185a112876e37L,0x114f15d65821223eL,
  100133. 0x391814b09bd49029L,0x21cb9042f69f5c98L,0x9788e3395a9b2f4aL,
  100134. 0x7b0dfabe54926a1aL,0xbcfa4d6051cd489cL,0x000000000000014bL },
  100135. { 0x19829a11c90ff321L,0xf6ca593932b21fe7L,0x6d858a7cf4f5aae5L,
  100136. 0x0dca676f9e7b2f50L,0x000990c44b9f09d5L,0x5b89da9c85dfbfe2L,
  100137. 0x3d5e0e8eabe8b3c1L,0x1346693456230753L,0x0000000000000006L } },
  100138. /* 59 << 399 */
  100139. { { 0x850d86e94937892bL,0x07fee7bb2443a2b3L,0x33ba4ac4e1cb6357L,
  100140. 0x9d14b81d36923302L,0xe15ac9c895ada402L,0x567bfcd1ac08b951L,
  100141. 0xded4973cab9f0cc8L,0x3b9d665fbe68ffd1L,0x000000000000019aL },
  100142. { 0x58fbfb85882a8c22L,0x1d20051a57a91ae7L,0xa817c3921ffb42d0L,
  100143. 0xa547264cbd43f75dL,0x5c2c5689eaf301f5L,0x9a6180df6567fe83L,
  100144. 0x3f0b7e47edbc4659L,0x3a74b5825cca8bd2L,0x00000000000000d1L } },
  100145. /* 60 << 399 */
  100146. { { 0x8a8d4ca6d8dd2438L,0xd4f4c7bae21c7f82L,0x2146e9df4456d737L,
  100147. 0x99e44513b7846ee4L,0xa1c33ee7dbe655f3L,0x3f9e32737648952eL,
  100148. 0xb2ab63292d2542faL,0xbbd56f29ab7433d8L,0x00000000000000d8L },
  100149. { 0x9324ab77baf53306L,0x41c9e3370caf808eL,0x29ba5468377d0a1eL,
  100150. 0x20d49c30208ae032L,0x9ed653f68abe7fa3L,0xf31a73b7496e497bL,
  100151. 0x88f1357835532c73L,0x7ae79b0e55591f20L,0x00000000000001f8L } },
  100152. /* 61 << 399 */
  100153. { { 0x830254cde199ec6fL,0x0faa16580c6aad81L,0x37a327a5fcd2e4e5L,
  100154. 0xb414910976c46adfL,0x944b4fb9218ba402L,0x4abcc3e5c5df6891L,
  100155. 0x578b24b904111a63L,0xf2d5e4003e278bbaL,0x0000000000000032L },
  100156. { 0x857d53702414469bL,0x94d6f875d8b14839L,0x83561fe4c13ba3e5L,
  100157. 0x87995be649f39edaL,0x0438cd3e7a4cdaefL,0x56fc49eaa9282dc2L,
  100158. 0x1e7e40c6786edabbL,0x6d7f686a469d086cL,0x000000000000006cL } },
  100159. /* 62 << 399 */
  100160. { { 0x73a04d03a28b455fL,0xc84e719cbf57585cL,0xd6d9911fd35e53e1L,
  100161. 0x331034c059f94f9cL,0xadb8fdd3875393a0L,0x3be757f899a478c0L,
  100162. 0x4a62214fe02466a7L,0x18913f0488f2c28bL,0x00000000000001a2L },
  100163. { 0x952c4e67ff257bf8L,0xf85960a2b4000ba2L,0xb767ebc447e9be29L,
  100164. 0xb4cb73f318047110L,0x2f53d6f5cecc7f40L,0x6d4f9956feaae016L,
  100165. 0x1e8432279badee98L,0x568ef329a23ddf3aL,0x0000000000000141L } },
  100166. /* 63 << 399 */
  100167. { { 0x3a99f756c26395e6L,0x4bfbc2e0527eb51eL,0x2e37039c79f00878L,
  100168. 0x78e08d275e6b1e6dL,0x6f6f335145d74f43L,0xbcc475bfc6a9906cL,
  100169. 0x5c60a9a9b8a7301bL,0x0204a0a3d640cb3aL,0x000000000000002aL },
  100170. { 0xd378e362c2ba81fbL,0x110becf374d1d5d9L,0x14fb5720abb529c2L,
  100171. 0x923d0d28d9b58c66L,0x59d4651aeab145c9L,0x5a9178553c90bf08L,
  100172. 0x5b33d118c24717b3L,0x5142b895dc818c38L,0x0000000000000164L } },
  100173. /* 64 << 399 */
  100174. { { 0xb4c4ac143ffe4858L,0x3d9c1b48baab1296L,0xb28b5f0a5791e378L,
  100175. 0x3aa34de82a5d32caL,0x8e90308ae76fb3f0L,0xb74a7ed3c85d002bL,
  100176. 0x48a246ab65840cd3L,0xc8494718771d3f2cL,0x00000000000001b8L },
  100177. { 0xb3f57d14a28da023L,0xdbc8b8d91d078f91L,0xfa5f5a7aba67f27fL,
  100178. 0x4908adc3fc60df70L,0x4fcdd3e0618486cfL,0x2e725571eb3c5855L,
  100179. 0xdafd1ef5c5d9dd01L,0x806554ee19b9cfb7L,0x0000000000000125L } },
  100180. /* 0 << 406 */
  100181. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  100182. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  100183. /* 1 << 406 */
  100184. { { 0xc5f56d18fdb2dd1dL,0xcb31387972b373e7L,0x2fbfa499d85c69fcL,
  100185. 0x49ef4e5504211367L,0x307a9a329f9f852bL,0x00be68013d586d9aL,
  100186. 0x6ab9c6709bea9584L,0xbcb478e24b06f588L,0x00000000000001faL },
  100187. { 0xb6d095562b1e18c4L,0x2af8b9233a783993L,0xafcf8ae678ca9e44L,
  100188. 0x9139a8376cfec34bL,0xce8cd219583ef0dbL,0x8bf49e56abe307edL,
  100189. 0x89ba853be83c9968L,0xc5694a20008b52d3L,0x0000000000000063L } },
  100190. /* 2 << 406 */
  100191. { { 0xc3974b7675276d10L,0xb6e1836c07bb3d19L,0x2b1ba75db1619e9eL,
  100192. 0x1e89c2bd5c4a2ebfL,0x4c2ef54b7285eb6eL,0xba22a605df72938aL,
  100193. 0x51152a2657474591L,0x70c745ff997713f2L,0x000000000000006bL },
  100194. { 0xa7ab63790835db88L,0x2a6d5526753370f0L,0x157e790a4b2e4edcL,
  100195. 0x0b56220a911f4047L,0xdedaa43bd7c0fb09L,0xc6ff25e35a31e2daL,
  100196. 0x6b0ee7bfa78ab4a8L,0xcbafb78836d00945L,0x0000000000000165L } },
  100197. /* 3 << 406 */
  100198. { { 0x537b5f578e6ee46fL,0xf204223120f5b371L,0xaa0921a6b9156758L,
  100199. 0x8e7aa4907ae36aacL,0xdbbfc95da650c738L,0x652cc382eb9c38f2L,
  100200. 0x224f35e15f0d2472L,0x7768c4358367e668L,0x00000000000000a6L },
  100201. { 0xe0d7b3cfdaef3c5fL,0x4dad6270a0c5684aL,0x24b2fca0e9360710L,
  100202. 0xfd91b89a3e763d1fL,0x822b00bff598fd98L,0xdab869207bca6f89L,
  100203. 0x34db8325c7996505L,0x6e88215523f32f05L,0x0000000000000060L } },
  100204. /* 4 << 406 */
  100205. { { 0xbca656eb512e743fL,0xcd94fc24ba4f85ecL,0xf4383ad0048bdf6fL,
  100206. 0xdb10e381587f47a6L,0x47f244e7da3ec391L,0x5f337e380c33624bL,
  100207. 0x9259425f82a3c375L,0x509e56c3f276bf73L,0x0000000000000014L },
  100208. { 0x2d65148dd94cb899L,0xcac386303b28185eL,0xa36bb7bde102adb5L,
  100209. 0xa1e7e0b5ff3fffb6L,0xc842ceace628e1afL,0x8e6dfa7c8647613eL,
  100210. 0xeafd758584ade38bL,0x7c4c0b0a00188d5eL,0x0000000000000151L } },
  100211. /* 5 << 406 */
  100212. { { 0xecb8fc22d872682eL,0xcee69ae9a340ad2eL,0x8aab065f725233efL,
  100213. 0x3314af1015860444L,0xafea039307d4218cL,0x83860c75b56d7265L,
  100214. 0x045d08732f402749L,0xc14d6ebb50676c29L,0x000000000000011cL },
  100215. { 0x7018485cecc303f1L,0x2c88f82b189755b4L,0xa7d21cd59574649bL,
  100216. 0xff5ce29da5c77fd2L,0xf06a468a58da370dL,0x50d800934a5fd275L,
  100217. 0xcba539d8b69ee483L,0x170868f7f2ee3b38L,0x00000000000001bfL } },
  100218. /* 6 << 406 */
  100219. { { 0x21f9e41cf53fcab5L,0x7bf9f35165adec42L,0x6b26bbd558bb94cfL,
  100220. 0x3f786272c6324c08L,0xc4a2eac0f2b7a273L,0xa13f661eac22a668L,
  100221. 0x68b9afc47fe9399dL,0x1b92202959664de3L,0x000000000000009cL },
  100222. { 0x17c1b9a418a2fe9dL,0x2ba8744435cbdc79L,0xf4a4e0ce0b5f43b1L,
  100223. 0xcf17bf66e7569a01L,0xca184ac9c510d6eaL,0xb90fa4fc1c25e88eL,
  100224. 0xde8a6e1935d88156L,0x1546d7b58d8dc62bL,0x0000000000000122L } },
  100225. /* 7 << 406 */
  100226. { { 0xba45c8f36c94382bL,0xc1be84a34e796905L,0xa70a60a281b19d43L,
  100227. 0x5a333dd0a47323edL,0x7b28b6af0b27ff7eL,0x35c03b9fdea38355L,
  100228. 0xb95af1386ae6bcf1L,0xc9ef2a5a2b8ab4d0L,0x00000000000001adL },
  100229. { 0x324116b7e42a4135L,0xe6f37e6ce3fd98a2L,0x9fd3f19f7c76568eL,
  100230. 0x22b20731515dc1b8L,0x9723434fdb8e80ddL,0x60e6c8e242232789L,
  100231. 0x9716ad2c04d7423cL,0x66529fe435216302L,0x000000000000010bL } },
  100232. /* 8 << 406 */
  100233. { { 0xe5d4defb5b3e313bL,0xa821692c272ac52dL,0x63e8db0d853d75ebL,
  100234. 0xe135b25b774da98dL,0x5019813bc0ea0962L,0xa03d6d8f93d92bddL,
  100235. 0x63ad9b320ec90c8fL,0x674e973c21967233L,0x000000000000002eL },
  100236. { 0x6cfdfea798494014L,0xb9f9c0ce4f03d4bcL,0xb30273db8a4cde4eL,
  100237. 0x81dfaa1b3c413325L,0xf7bc31e7b3964d85L,0xf73996c8fa47fcd0L,
  100238. 0x1d5fe418a94e35b2L,0x7cd3986e9fa4f44bL,0x000000000000017eL } },
  100239. /* 9 << 406 */
  100240. { { 0x1b7980a57834d697L,0x9a3aa459c73206aeL,0xe10df0f1912aafe1L,
  100241. 0x3c252699cd81194fL,0x11c78b3f5fa93a50L,0x88c38a165c535f44L,
  100242. 0x33b2a6c905dc99e8L,0xf9a8a90d1ea49641L,0x00000000000001a2L },
  100243. { 0x96a8c21569486979L,0x97f6097999b6ccb9L,0xfe3df60d18d3f89eL,
  100244. 0x83dfff4ef064bd18L,0x49b4057d54fcb9f0L,0xeab1e88c3f088687L,
  100245. 0xa1765be041072587L,0xf99b2779acf46728L,0x000000000000012eL } },
  100246. /* 10 << 406 */
  100247. { { 0x8128204a9a214c96L,0x0e0a82b44882a079L,0x33e5d6b9b27a35b4L,
  100248. 0xab4c56c097462902L,0xe54b628e5b19e791L,0xdf29b1f5d64e8065L,
  100249. 0x6a2862e6ade36f00L,0xcba66d7ddf61110eL,0x0000000000000107L },
  100250. { 0x76cc421fda5c2464L,0x0c4f2a6322f3528dL,0x2eeb70f2c54214f3L,
  100251. 0x58be1b09eb798dedL,0x2415a2c156bb8dc1L,0xf9c7fd5ca298c0b0L,
  100252. 0xdc7d1ae628082c59L,0xc4ec983d05a44844L,0x0000000000000192L } },
  100253. /* 11 << 406 */
  100254. { { 0xa04e47c0c9ed9d3aL,0xed1a5bfaec3716ccL,0xe70c47c1a2e4d7f0L,
  100255. 0x05931685553e5305L,0xa90e6d16c73eb2d4L,0x17058be63459f194L,
  100256. 0xcf1b93fa0e76af5aL,0xbe38213c93f26b0dL,0x0000000000000009L },
  100257. { 0xa56996c75a0f2a52L,0x9fe2e1846badad6fL,0x64a6ae0d70ff96cbL,
  100258. 0x835954857b77aa01L,0x9910099ceeda6f38L,0x64b3d7f42c333e54L,
  100259. 0x6b13aeb23721114fL,0x791d073c90ca8602L,0x000000000000018bL } },
  100260. /* 12 << 406 */
  100261. { { 0x72b023245e3f9a6fL,0xc889374508defdb5L,0xab7235362acd0af4L,
  100262. 0x7ce916a85d02baceL,0xb2abe9dd96314ae6L,0x6b664d88cc74749eL,
  100263. 0x59f417bea5595e97L,0xe77f2e3b52ef341aL,0x000000000000003cL },
  100264. { 0x1f57cebbe3aa5b6dL,0x870522a68901cd97L,0x926ce7d957cf5e3aL,
  100265. 0x2d8fc69331e15a34L,0xc3a756ad009b6274L,0x498748f3f82857a8L,
  100266. 0x7b27d095b5531159L,0xe2783284c7e359a7L,0x0000000000000082L } },
  100267. /* 13 << 406 */
  100268. { { 0xc09185da7e0f6976L,0xd8a1091ec4a3a6c3L,0x7f7a1bdf331817e9L,
  100269. 0x95893105a21b71e6L,0x529b76e0031bc2c0L,0x899c9c15f486e501L,
  100270. 0xa1c9b18f67318b39L,0x2c05bb6aadc3ac81L,0x0000000000000087L },
  100271. { 0xf051133eb2a8d83bL,0x8b7c0690cecad4bfL,0xcdc32d5c3836511cL,
  100272. 0xf17df7ec1fde03acL,0x65dae2a3603ce6cdL,0x7711a540f1ccc60aL,
  100273. 0x391a3d1b3d8a3950L,0x640a6d5ab3cf9141L,0x0000000000000148L } },
  100274. /* 14 << 406 */
  100275. { { 0xcfe4526c7deb11f7L,0x67b27a2787647f71L,0x07eca87da3dfbbb1L,
  100276. 0x6173cd9ab9440d12L,0x0ca8bb2b40f2e74dL,0x3d83a719d740cbe1L,
  100277. 0x0fc562e81d080dcdL,0x16cb8f6f65d8140bL,0x0000000000000117L },
  100278. { 0x505508d0e8ddf98aL,0xe0d08e494e83c1ccL,0x24215a4d2db487d7L,
  100279. 0x5b91a9b5a9d15e5eL,0xb4d85a71e56eb130L,0x0e03cbc65d7390a2L,
  100280. 0xb43f2613963f58cfL,0x1cb92acaf93a024eL,0x00000000000001d8L } },
  100281. /* 15 << 406 */
  100282. { { 0x0b93b131dbe1d1eeL,0xef971fbcfe0effe4L,0xaf4b85c708d49697L,
  100283. 0x497ffb799eb46f2aL,0xb35cd96addc0ccebL,0xd5a55094303e4c0cL,
  100284. 0x3af23c7d86e7b58eL,0xaaed08ec9efb4691L,0x0000000000000099L },
  100285. { 0xe9dd554da84a6620L,0x87891bcd36fa1b27L,0x8f0d90c7e8344fa9L,
  100286. 0x8342943413b112a7L,0xbc8d11749c77efcfL,0x8a33437af15a8f25L,
  100287. 0x664c7908683b532eL,0x374dc6569c90903fL,0x0000000000000129L } },
  100288. /* 16 << 406 */
  100289. { { 0x78d9e7f446045461L,0x841c793e7430d61eL,0xf77b63b8dd245666L,
  100290. 0x4b39bdd5844f837fL,0xce7bb287ab70f0f5L,0xef4b6aa274b7cbc6L,
  100291. 0x9821f978981fdf5cL,0xb63e67a8e506a31cL,0x000000000000012eL },
  100292. { 0x1d2296041fc1da54L,0xa5b7e873d0c4b6bdL,0xeb72b87bf59127b7L,
  100293. 0x8db0f3859fbc54b7L,0x534ebf9461462a53L,0x97099e7580b9d20bL,
  100294. 0x0ed2d96a88aaa712L,0x415ca08a6a1b85d7L,0x0000000000000091L } },
  100295. /* 17 << 406 */
  100296. { { 0xb379144aeb469a20L,0xc5437f8f1cbea72aL,0x7728e8b42b9ec8acL,
  100297. 0x606e8adf8a15a0e9L,0x8d8e962ac004f3a3L,0xd5df086da85ebf2cL,
  100298. 0xd33bcdaafb6dcbb0L,0x0fdb0c9f07f2cc3eL,0x00000000000001e6L },
  100299. { 0xce44c6c293c2da62L,0x378521fae38bba04L,0x82a8e500db763d85L,
  100300. 0xe78e38955ed8824fL,0x8fbaa40d1538bad9L,0x868f1eba0248ad8aL,
  100301. 0xa6c1a139cd968348L,0xd2778c4b0a2b9761L,0x000000000000002eL } },
  100302. /* 18 << 406 */
  100303. { { 0x48e4c0f3361ae7cdL,0x6b7984948046cd5cL,0x12f157df00f16183L,
  100304. 0x3597a186c382bdb3L,0xcd0b5a6b021194ebL,0xc207ed009af8a87aL,
  100305. 0xe4393bc184dc124aL,0x11f71411e91afc32L,0x000000000000015fL },
  100306. { 0x579a5046c1866867L,0xd866aa1655c785e3L,0x2f76a8d43cf758adL,
  100307. 0x32ac9a89b0d31de5L,0x4962fdef2a973d93L,0xd7187c2b4ac6ff65L,
  100308. 0x7b1c92bfee83ecebL,0xa56863b534638002L,0x0000000000000053L } },
  100309. /* 19 << 406 */
  100310. { { 0x25efb568dfc25ec5L,0xd1189d0e1b0e7079L,0x5072903088a9eb91L,
  100311. 0xd590fca710d3bcabL,0xf9c0a5d7df6bea0bL,0x0bf708746efeb1beL,
  100312. 0x42747b384fb6a9a7L,0x2f14f557f56a702eL,0x0000000000000156L },
  100313. { 0xb9090e1e348c7f6bL,0x922e69d7d7496d2dL,0x6349d2ca92bf15e0L,
  100314. 0x94de29b2129013e6L,0x6e89ee99ec7bb7b1L,0x68ee23481ac1ffb8L,
  100315. 0x60be6017a20aa6baL,0x91a224fc79b16d91L,0x00000000000001b3L } },
  100316. /* 20 << 406 */
  100317. { { 0x039c81f5b6501dc3L,0xbeaed737d507075bL,0x080ba34a5c367a46L,
  100318. 0x06a583c5ecd54633L,0x2085119b20eff4cbL,0x26f27b7aa193a015L,
  100319. 0xa2dd99c937b34fb1L,0x99227938fff66c7fL,0x0000000000000107L },
  100320. { 0xee87c18e1cec40f8L,0x760e880d65532da1L,0x78d00f69be9ed489L,
  100321. 0xf61114948cc9be51L,0x79d826abaafd71e2L,0x831bc3059f39cd9fL,
  100322. 0xfffebc7ec214629cL,0xab14a5cdc0a202e7L,0x0000000000000083L } },
  100323. /* 21 << 406 */
  100324. { { 0x85252463481afc74L,0x7b71451828c701eaL,0xc439fd69861bf548L,
  100325. 0x071f8693e3d11f33L,0x6225ebd572e2305dL,0x4ef519ad0d1f6093L,
  100326. 0x1b0453e06ca1c580L,0xb7319f2fb740aabeL,0x00000000000001c8L },
  100327. { 0xf21d026d84604fd4L,0x1b1b306011b08033L,0x649ad1d36fd4ad38L,
  100328. 0x33f1d68714abb62aL,0x0e7f376997abee33L,0x530e818370a2952bL,
  100329. 0x98a0a545fc905c8aL,0xe6ec2b5559af7273L,0x000000000000007aL } },
  100330. /* 22 << 406 */
  100331. { { 0x6cf8f7069c217921L,0xc42e41d7b075c03bL,0x6375246a68982f40L,
  100332. 0x8669580151954ce8L,0xf5310da9a3a60bedL,0x0abca274b68cc2a2L,
  100333. 0xc0ec033b6851665eL,0xb783a62aa463f268L,0x000000000000008aL },
  100334. { 0x262a839eacc800edL,0x23a464a8b7a47436L,0x48a5d2ba302d2f36L,
  100335. 0xdcc0964d853ccb63L,0x326373ba856a8728L,0x135e2dfce81f2a09L,
  100336. 0x75387e9ce2d61167L,0x2d4026dd77466495L,0x000000000000018bL } },
  100337. /* 23 << 406 */
  100338. { { 0x15f1ae548997be68L,0x90aa75ea279fae38L,0x8e6704c0bf52607eL,
  100339. 0xdbdd9e471515aebbL,0x3f13153cfb9d9d6dL,0x6783f0c749f2b830L,
  100340. 0x933ddbd70938f0f2L,0x8c4b834cd7669424L,0x00000000000000a9L },
  100341. { 0x195637299d946809L,0x9946ba9bbc29db9cL,0x6f9e27fb6cb8b988L,
  100342. 0x3294b03efccfc99eL,0x33374610f7141a54L,0x28f868ffc7673c30L,
  100343. 0x43dc3427bb2c289bL,0x029e076fb96395c0L,0x00000000000001e5L } },
  100344. /* 24 << 406 */
  100345. { { 0xc1b7a8f704de7536L,0x4b9e69438570da46L,0x7724c0c2337106bdL,
  100346. 0x6f1367d3054b2f07L,0xd7d30e2004200225L,0xd722d2ff8573567cL,
  100347. 0x3b1a8a31741d03aeL,0x41474e1b878ff79aL,0x0000000000000059L },
  100348. { 0x3ce983c9fcf8a2fbL,0xe3c71ed67940d19eL,0x7347af8b434df786L,
  100349. 0xa187aa1d08d0762aL,0x618fc81d48cc16f9L,0xfecc62573b0e7f5dL,
  100350. 0xcb1f9e26fe7d47e5L,0x9ddb1566ce3918a5L,0x0000000000000047L } },
  100351. /* 25 << 406 */
  100352. { { 0xa7bf65565cdd5de1L,0xd91a3b5ad0299c7dL,0x34ad344fb621c69bL,
  100353. 0x0eaa0119ff537f66L,0xd06eaa83437158b3L,0xc8ef03821b5a588bL,
  100354. 0xc42cdd179a13f8c3L,0xb8bc70a25e7488b7L,0x0000000000000152L },
  100355. { 0xb571425067a283dfL,0x71221b8349a9b640L,0x84b743d5e5009d45L,
  100356. 0xc7150aa8fc207d0cL,0x5146ec3777f5ee74L,0x64856c0e9cd38d8eL,
  100357. 0x3c6544b4ada269a4L,0x3321ddf10a505d47L,0x0000000000000083L } },
  100358. /* 26 << 406 */
  100359. { { 0x679fec081ac21f3aL,0x8e69d49664fd0330L,0x4d520cf622381900L,
  100360. 0xfe8843f23cdada22L,0x9ae1a7245fc715c4L,0x2551beb61c16d5d7L,
  100361. 0x6feb8481d00fcf9cL,0xcaa2b375c91e52b7L,0x0000000000000184L },
  100362. { 0x24be593ab64e1524L,0x4e1cee9d7332b856L,0x131c5e6a797daf76L,
  100363. 0xc663eb2e75ce3e6cL,0x03ef6a7909834ac9L,0x7d7aa414c52b3350L,
  100364. 0xd66cb98f1430ff4dL,0x8aa042bdd5ceed07L,0x0000000000000084L } },
  100365. /* 27 << 406 */
  100366. { { 0x5c157e7b6deb0864L,0xf9d82ac58bbf2f15L,0x8078defe946d3ad0L,
  100367. 0x0202531b76b4ef19L,0x91b204164639bde2L,0x266d4ddbabeb6f8aL,
  100368. 0x099e2d193c697956L,0x622d9fc056634b3cL,0x00000000000000fdL },
  100369. { 0xb40778e6a1d7b58eL,0xe7e73d837e8f2b8aL,0x1079ead85b307ff5L,
  100370. 0x6edaef3415ec5733L,0xf0af7d8875239c59L,0x2c12598569c78449L,
  100371. 0x0ddb52fddbdb0499L,0x3659ab877726d11bL,0x00000000000000a9L } },
  100372. /* 28 << 406 */
  100373. { { 0x810305ab4f244783L,0x99471c5a0e2c1a83L,0xbb3beeb39bd2ba8dL,
  100374. 0xe7fe7b929c189a01L,0x0f5a31c9667f8683L,0x28ee1a59fb7bfbb0L,
  100375. 0x4cb86e098e14240eL,0x47039ec29bab970cL,0x0000000000000183L },
  100376. { 0x09b761f8f4ea7190L,0x5b109e93637f19c3L,0xe40aa435edd588d7L,
  100377. 0x6b25737881a3b4aeL,0xf5b5cc60591f5caeL,0x2e787d34811b80feL,
  100378. 0x28be1db7b0d84075L,0x2579d623a4db6982L,0x00000000000000b8L } },
  100379. /* 29 << 406 */
  100380. { { 0xebfd47a0f3c9663cL,0x5bd6c124fcc1ebacL,0x7a72f2629e4fbc0cL,
  100381. 0x8e12014b04da3327L,0x1644293ff16aee24L,0x51c99ce93d9cbff4L,
  100382. 0x3e202a2905ac2f77L,0xdc053a471a547c46L,0x00000000000000b5L },
  100383. { 0x33432716d62c57c5L,0xb6a806d7fd1c2525L,0x8fad574efa0879bdL,
  100384. 0xb155c4592f8f0fb0L,0x1164655e58d81213L,0xe11727e694a07b4fL,
  100385. 0xff4b7575c7036122L,0xcb353944c198f11aL,0x00000000000000a8L } },
  100386. /* 30 << 406 */
  100387. { { 0x0aba20f753d66edaL,0xa3aeae3b7e525dfeL,0x7b988a6199e675dbL,
  100388. 0x944ca69614798f05L,0x42277a4775fddd0fL,0x281cc5692e466789L,
  100389. 0x3292cdab72d85db1L,0xdfff0593e12591ecL,0x0000000000000079L },
  100390. { 0x1c2f7a8c0b87e726L,0xc9c4e2867c08d0f1L,0x7244fb70add49ccfL,
  100391. 0x2f9a917876dce245L,0x60d895eb97836a0fL,0x97fdb433fbcd00e2L,
  100392. 0x83017090f2aacd14L,0x292faa800e939a1dL,0x00000000000001dbL } },
  100393. /* 31 << 406 */
  100394. { { 0x5a7a6424e3f6f82cL,0xbd371425726aed2fL,0x2f56a6db5da92b20L,
  100395. 0x40dea40847e9f8e5L,0xd214c17ba447c6d6L,0xfc2fc25418e56c61L,
  100396. 0xf21df2b42ba5ffabL,0x38ed181e0c4b74d7L,0x0000000000000116L },
  100397. { 0xcc7b32aa60988f29L,0x86934d213fb6f043L,0x2f3259e3a7e17064L,
  100398. 0xdd355633aae0132bL,0x6b351d3f58a51724L,0x174aa7de5d3513b9L,
  100399. 0x5ffb74678e5b7018L,0xcfc563cd0b563426L,0x000000000000012dL } },
  100400. /* 32 << 406 */
  100401. { { 0x48a6060b5244adf3L,0x196c42f99f9c1646L,0x1dea9fac3946d4dbL,
  100402. 0x30563642183c46daL,0xe5c58915c9e4a634L,0x3e71b542cce36f63L,
  100403. 0x4d91d55c39eaada5L,0xd3f5af0f1c43907fL,0x00000000000000c4L },
  100404. { 0x1152f1413080db73L,0x3d5031a2b4bda7abL,0x0df9c2bcd0f0daf0L,
  100405. 0xaf4aa1f30d01895aL,0xfe8281302b137acdL,0xfcdbfefff072eda7L,
  100406. 0x8f3e313911d578dfL,0x37d9ce5b92662c8eL,0x0000000000000086L } },
  100407. /* 33 << 406 */
  100408. { { 0x87e7f88cc5bed943L,0xfd2e6b03aad8bc5eL,0xf24d94389e249c9aL,
  100409. 0xe47161cb7c008e8cL,0x19d22f2831d8c40cL,0x0671ba709fffd96aL,
  100410. 0x31a6f3ad74d609e7L,0xf90ddf84b6905c30L,0x000000000000009eL },
  100411. { 0x404c5574e9f17126L,0xafd37819604fb843L,0x4d1d2b92b00db9eaL,
  100412. 0x4a242643a7ecb8e1L,0x23c70b6e8b66b49dL,0xcbd1e9f75995098dL,
  100413. 0x62ee997d643f5b38L,0x2c7285da63549975L,0x000000000000007bL } },
  100414. /* 34 << 406 */
  100415. { { 0x70bd76a983f34ba3L,0x372227ca7eca3199L,0x4cc896ce4e57aed0L,
  100416. 0x142d290f0ddd2f05L,0x867a1f6fd6612f3eL,0xcf2e8ca14ebc7530L,
  100417. 0x1d15b0252bdf257dL,0x1b6ea850fcb53380L,0x0000000000000110L },
  100418. { 0x38c505c3e561bf5eL,0xb5c5b048ae44566cL,0x902051d06c45aaa1L,
  100419. 0x619fec981ea9caacL,0xec4ca3f013e5e007L,0x899d203208bc5341L,
  100420. 0x5869d8e09361ca4bL,0x1850a711fe357cd8L,0x000000000000014cL } },
  100421. /* 35 << 406 */
  100422. { { 0xe9d78d73c5fe4cb1L,0x65d4973e63669b5bL,0xf8f26e6758db5d06L,
  100423. 0x1fe46740a5bea178L,0x22e30d273d9d53efL,0xf9c3e1132d740fdeL,
  100424. 0x0eaf2c3782ad4253L,0x1c0a8f57afffe82fL,0x0000000000000083L },
  100425. { 0xe04ad02fea374c3bL,0xbfebd3637e1ae7deL,0x2f496f966970176fL,
  100426. 0x10eb48976106472bL,0x9ab8cc2922481fc5L,0x806a32fb795e47dfL,
  100427. 0x3920421e8a79c1aeL,0x17c4253868d45930L,0x000000000000009aL } },
  100428. /* 36 << 406 */
  100429. { { 0x164a9e29d07b0d60L,0x7d9325bc4a4ced37L,0x389846410a22ea31L,
  100430. 0xc33e1fc1659c12aeL,0x7609475678cc3ad9L,0x3c30033a4cf14874L,
  100431. 0x6c7ed92d23f58493L,0x0040c6d99a41b806L,0x00000000000000c8L },
  100432. { 0xe9652d66a4f89d26L,0x97aca7ae1e56daa6L,0xa1650f15b8b76045L,
  100433. 0x2f2338b3fc159585L,0x9af48930f243cf7fL,0xdd333c3d923de549L,
  100434. 0x415a035f3083991dL,0x0257bcf5b8f179d8L,0x00000000000001b8L } },
  100435. /* 37 << 406 */
  100436. { { 0x785ceb0e60a23046L,0x06693923da26f777L,0x4cfd41e2f6347cc4L,
  100437. 0x375228c909f95926L,0x5f3dff336d32813bL,0x3becb638dd9b1ce3L,
  100438. 0x7e9b3e1160c02110L,0xc46e496d72e500fdL,0x0000000000000003L },
  100439. { 0x15d186e9c39eede8L,0x00d45c82e2cbe492L,0xcb0430b0e656d2edL,
  100440. 0x52592855cbf91059L,0xed3f498d7ebbb6c0L,0xf537912d8c448093L,
  100441. 0xd02e28094a50080aL,0xde023ed27507fb99L,0x00000000000001c9L } },
  100442. /* 38 << 406 */
  100443. { { 0x9189e6492b66dcb3L,0xbd9d89446e0a16c1L,0x7183787c8fbf21b9L,
  100444. 0x48b9a986c84a07e0L,0xc7951767bd3f75ceL,0xfd74f40c709029ebL,
  100445. 0x8e0d48faee163d0fL,0x583247acea13c411L,0x0000000000000029L },
  100446. { 0x544713627200e61fL,0x43a5caa69151f221L,0x88e1d04480dfe2d7L,
  100447. 0xe166419a814a432fL,0x47d7a7324998873eL,0x06abfc47d649229aL,
  100448. 0x38759e7b790a1bb9L,0x2aade3423d87e983L,0x0000000000000083L } },
  100449. /* 39 << 406 */
  100450. { { 0x814f5c1eed4cb90eL,0xc27974eb37f64e46L,0x1ab1171566cd615eL,
  100451. 0x27e7e0d98a254731L,0x1756745a1520a956L,0x4a8d601258af427dL,
  100452. 0x430761eb1c0eee1bL,0x6bbfb93438874a9fL,0x00000000000000d7L },
  100453. { 0x9f48d4ca3a8603b8L,0xdedd50492e5be7c0L,0xe088e3bdf54289d5L,
  100454. 0x0a3ee65da44290e6L,0x8ab9a318bb9114a0L,0xbbb8fc213ba90e93L,
  100455. 0xbd87016b28aa8d97L,0xf467d852c050a231L,0x00000000000000d7L } },
  100456. /* 40 << 406 */
  100457. { { 0xfe306ca855a073ebL,0x35543d282dcab16bL,0xd66bc457a45d0b9cL,
  100458. 0x3fdc1cc24be414daL,0x781093ded7d9bb1aL,0x6b5f2c375d2031a6L,
  100459. 0x9b6b4ba38a23513fL,0x6fe788858f5a91f0L,0x0000000000000188L },
  100460. { 0x0f952fdeaa340993L,0x860ad393381382b9L,0xf0f1878aa611333cL,
  100461. 0x9d53e1f9fe29f16fL,0xc371ba5fa0d105e9L,0xedf4adf826128fd8L,
  100462. 0x4f4e22ffdaeb10c8L,0x0d27b149d9544e7aL,0x000000000000009aL } },
  100463. /* 41 << 406 */
  100464. { { 0x384e080421facdb7L,0x6c8b7244e2b7b131L,0x05f1dd47ad8a4fe3L,
  100465. 0xeb2e048dd4649216L,0x9f1bc2b7ec853458L,0x386f3d5798115589L,
  100466. 0x8c02c32e6fd93252L,0xd1a9526bbd686fe7L,0x00000000000000cdL },
  100467. { 0x0a4bc5e2a6384682L,0x8281608a042b55caL,0xa41505532a528bb0L,
  100468. 0x96b9f2e72217abd8L,0x9f019996e3251a18L,0x7aa51a6a79a88c6fL,
  100469. 0x90d8c8ad98fa880fL,0x2dd166cf45076ac6L,0x00000000000000e6L } },
  100470. /* 42 << 406 */
  100471. { { 0x7ba7b06a5826d6caL,0x42257d9c430621c6L,0xe5dc2c8f02dcf96cL,
  100472. 0x1b63d8ce16550605L,0x9e6341345cde8df3L,0xf9781f21809d18a4L,
  100473. 0x2de5477650c12248L,0x915e036c94f60a0aL,0x0000000000000149L },
  100474. { 0xe8a91619a2d29974L,0x67a70872b420db3aL,0xb24abe92e50beb4aL,
  100475. 0x760b7119dc0a98c1L,0x1519d8aea70e0dc1L,0x33f102a2679c49e2L,
  100476. 0x5123d8c2c1c358a8L,0xc928fda8bb7899a4L,0x00000000000001b9L } },
  100477. /* 43 << 406 */
  100478. { { 0xd2601167ad233a91L,0xc8d9884dcdc5862fL,0x01a22fe0a648ba05L,
  100479. 0xbb3b9e3c515c1511L,0x18c06c97ea8c7464L,0xf20adb09be2c8395L,
  100480. 0xb2f3dd6d371f7631L,0x2e4fe2c91fa77646L,0x0000000000000128L },
  100481. { 0x9732c4edfed3264cL,0x81acaedb4d287a1cL,0x736e2ee565d0497dL,
  100482. 0xe8b4f6fa9ca05e5fL,0x76f8565567f63d25L,0x3622850f9569a822L,
  100483. 0x4213d66b43a8a078L,0xc601ed61e323d282L,0x0000000000000185L } },
  100484. /* 44 << 406 */
  100485. { { 0xc0135e27beb6745bL,0x1fa3e9d57ac01e8bL,0xa713ccd34efaa6adL,
  100486. 0x6b82414232492fa1L,0x1e3dc6b3c5a1550aL,0xe3c7ea75429f42c3L,
  100487. 0x93f0cadbd1d97acaL,0x7b23ee53f7091927L,0x00000000000001afL },
  100488. { 0x708dc83aecb37a50L,0x802e69b38f9edcaaL,0x02abcd3cc66d3a68L,
  100489. 0x814ec38b1101afaaL,0x20e5d950a1b52623L,0x0ac6ea5fd4dd624eL,
  100490. 0xab26008227a0c3b4L,0x577f5ca09368736bL,0x000000000000001fL } },
  100491. /* 45 << 406 */
  100492. { { 0x6d42774c21bf0842L,0x2a4da71bd4d1ea75L,0xc2cedd0cf4d653b0L,
  100493. 0x7d94db7211d82f3dL,0xfaf1ca20a8c32913L,0x9b0c6b3563841938L,
  100494. 0x1ddacce9cf9b706cL,0xb204884772b2c899L,0x00000000000000b9L },
  100495. { 0x4e7adf267aedf83bL,0x8ded9b05be0cdec7L,0xe5f546d3b5c0649dL,
  100496. 0x270504c8e19891ddL,0xa92e7b14a7261c10L,0xd14be6d3b8f9ebccL,
  100497. 0x7a89d993eccfecebL,0x4ce0afa5ae754f25L,0x0000000000000074L } },
  100498. /* 46 << 406 */
  100499. { { 0xcb677986904f5312L,0xe7d62adb29dfabc6L,0x93e4e87b3e4e42beL,
  100500. 0x19bca6264069b407L,0x328eab93ad8142e1L,0x2e7c1a5d52672bedL,
  100501. 0xa5fd1db730aef66bL,0x12ac39b7fb19bf54L,0x00000000000001beL },
  100502. { 0x01c76a76b5b5ec2cL,0x64de1b6a0861dab1L,0x3258296d637140a4L,
  100503. 0xbda2cb733b3679c1L,0x0041da437024d813L,0x4303794de9a0ce74L,
  100504. 0xf8ee8193c0529c15L,0x53feedc587074b7fL,0x0000000000000115L } },
  100505. /* 47 << 406 */
  100506. { { 0xa6ba5b160c617119L,0x204e68fb438beefeL,0x7a20a3972ada8708L,
  100507. 0xdedf232d508368bbL,0xe096d0bc104f521bL,0x7a6b16d711269c40L,
  100508. 0x55d4ed46914143d9L,0xba5c71c427d395ecL,0x00000000000000caL },
  100509. { 0xa821bc5010cb008aL,0x48052c133adc6d77L,0xd0408c0f53ba3178L,
  100510. 0xd60edcdef9fbd6c5L,0x3cfa4536eeebb802L,0xcababb7b03709682L,
  100511. 0x13ee6a48bce9c097L,0xbd0ef6510d1b0bebL,0x00000000000001d8L } },
  100512. /* 48 << 406 */
  100513. { { 0x57b087c3722f09b6L,0x1702ccf501659998L,0xf3e88554769ff3b4L,
  100514. 0x0ceaa311b9b58b5fL,0x3200928faf05be70L,0xd7254305405c2f75L,
  100515. 0xd48bc6c28cff9a05L,0xc951c65d71aaf653L,0x00000000000001e0L },
  100516. { 0xb1c60c62e06a762bL,0x95d42294d121d094L,0x16b88a5dd0a2ec1bL,
  100517. 0xe5baf8f2f27ab833L,0x81982eb5a7742d30L,0x0244c5595e8d4a52L,
  100518. 0xae2e0d639ff0933bL,0xcac9c143c0641fdcL,0x00000000000000dfL } },
  100519. /* 49 << 406 */
  100520. { { 0x0729d23aaf7d4710L,0xcc26cbbed18d4ee5L,0xbbad9a780031ac64L,
  100521. 0x4cf6f0857d9c26d5L,0x4f7a82d40d1a7532L,0xbe268e66d13e2a2dL,
  100522. 0x14bae8a771bdd2ceL,0x3c3d7fae6b5df00bL,0x000000000000008bL },
  100523. { 0xee205513e5ea848eL,0x3b6a3e27dd421986L,0x21485c6e461b7f1bL,
  100524. 0xa62bc7b5b14b5037L,0xd6372abf560b7bafL,0xaa6228c9c962a69cL,
  100525. 0xdf2b172bb089d815L,0x7d1775058d97fc0fL,0x0000000000000167L } },
  100526. /* 50 << 406 */
  100527. { { 0x1b2752ec9c586918L,0xb3fb67c153a201efL,0x105199bdd73f0eb0L,
  100528. 0xae01712810aeafdfL,0x1426b2b52a519a78L,0x68e86c5a1ea4f48cL,
  100529. 0x98699970a6f22d9cL,0xc80564d51a9de939L,0x0000000000000000L },
  100530. { 0x41f8c7fc85bb70b5L,0x4bdf510c78874a6cL,0x836e36477192332fL,
  100531. 0xe71580260d3877cbL,0x76eab30d9db5fe34L,0x5cf92e6aacafab64L,
  100532. 0x9dfe39041fedad0eL,0xa9be6419c83bcb00L,0x00000000000001d2L } },
  100533. /* 51 << 406 */
  100534. { { 0xef6dd59eb9490407L,0x40b3ffc7cce5657cL,0x303b86892997c881L,
  100535. 0x10ba288bac9e88b3L,0x0598dc047e06cbddL,0x6b6070f9b8f3fdc5L,
  100536. 0x1b6e0bf0bf167eb0L,0x832f256f61823b3aL,0x0000000000000066L },
  100537. { 0xcaa38eb16ba2d1a7L,0x0e9eb2b5e34c102fL,0x45d0a0412f3f191fL,
  100538. 0x1883b65b78e42f37L,0x106790f4b3d340d5L,0x5bbca96e950faf87L,
  100539. 0xa5b7401125d0e75bL,0xbf6a2e4aa9a5b37eL,0x000000000000004aL } },
  100540. /* 52 << 406 */
  100541. { { 0x66cb0db47c4f8f4eL,0x81ae6d75fc21f5f6L,0x19e8fb8714951a87L,
  100542. 0x52ecee54602c5224L,0x50a823a8e408b25eL,0x32aad7d9e372c922L,
  100543. 0x80a117c8e03a5ce6L,0x9b62059c2ca7f6b5L,0x00000000000001b2L },
  100544. { 0xc50397739d676975L,0x6959c6b5becfc0f0L,0x7b73318a43d30b32L,
  100545. 0x0c0aac5b6048cafdL,0x77f3201dba7d3c59L,0xa5a05d3e09004fddL,
  100546. 0x711b1b17ada3810bL,0x0b9f7679a6eb6d1eL,0x000000000000017bL } },
  100547. /* 53 << 406 */
  100548. { { 0xb111d5049113f1d0L,0xaca7880f301363d8L,0xd1a3a3a0715d0296L,
  100549. 0x7c7131450ef65ed6L,0x66eaa22b454a687dL,0x3818b9757349a9fbL,
  100550. 0x5062a36e0d2022d4L,0x528e46da2ff88497L,0x000000000000010fL },
  100551. { 0x32a84b8a5de50ae0L,0x76263a196884f659L,0xfd8bb04c315d19aaL,
  100552. 0x949d5c4b8c484043L,0xa6b46b769af8ac6dL,0x30ceb799b23ae2b3L,
  100553. 0x0ea36685daf44f51L,0xebf5489e57d1f2cbL,0x0000000000000179L } },
  100554. /* 54 << 406 */
  100555. { { 0x72ba03aae5c32db9L,0x674c55738d0d3eecL,0x80208af9ccce2df7L,
  100556. 0xa35d4b811c853818L,0x9c9e525e4027990fL,0x1d4307391f2d304fL,
  100557. 0x557a34c0e56780b1L,0xd88631e7384f416dL,0x00000000000001dcL },
  100558. { 0xe13dbdcc305ed92cL,0x7344f3ebfb1445b9L,0xe84a2541d10d4b7bL,
  100559. 0xc0063b826bc03673L,0xa46a733bf4f6b339L,0xa6c0138431320032L,
  100560. 0x3b6f5b9634212c42L,0x445752ddb9601168L,0x00000000000000b5L } },
  100561. /* 55 << 406 */
  100562. { { 0xebcab29ffe8e565bL,0x7b04357f43480e76L,0x153ea7357ce43f36L,
  100563. 0x04ce126da3cf5166L,0x3eb43a6e0f412fffL,0x4ede4ce058733496L,
  100564. 0xe90b4291aec2250bL,0x35811220bc4b63d6L,0x000000000000005fL },
  100565. { 0x2a1d458659ff9b9aL,0x61d60d77a684082cL,0x3bcdaeb53ca06170L,
  100566. 0xe5793487801582c8L,0x73754dacbdc327b7L,0x4e9f7a1aa91091d6L,
  100567. 0xb1dcf63b688c3076L,0xf781dda2a455387dL,0x00000000000001a7L } },
  100568. /* 56 << 406 */
  100569. { { 0x3f28171bd3179895L,0x91ec9bdd6470fbe0L,0xd6713024aa1ab0a3L,
  100570. 0xbdb9e60388393838L,0x29c6d976170ffe51L,0xb415ce2c20c85e4eL,
  100571. 0xc816b042aa9a7f5aL,0x0f7257df41dcb044L,0x0000000000000139L },
  100572. { 0x16044c1463dbe97cL,0xc36a41e8dca02de3L,0x7c9403766849e580L,
  100573. 0x77b372d1d1bf053bL,0x539e249d175c2a6aL,0xebd056bbf0e17332L,
  100574. 0xf7b71bf6e62c02a3L,0x8e8636d754ee354cL,0x000000000000014aL } },
  100575. /* 57 << 406 */
  100576. { { 0x23975ca006ea445dL,0xc8c0af23792afff3L,0x648b22a1089f7960L,
  100577. 0x38be1485789e86a1L,0x09c7f82c8e403792L,0x00e6a9750da77f58L,
  100578. 0x89ff11bfbbabdde6L,0xdd065345ccf6e66aL,0x0000000000000017L },
  100579. { 0x8c47de427496b1c2L,0x4c7e85508ad8e562L,0x27bf92564ec11ed0L,
  100580. 0x0764d014f7290f77L,0x02a78a70c49b97deL,0xa88a1ccf1ddbbd5bL,
  100581. 0xe42270462e9e274aL,0xba580882466c1d4fL,0x0000000000000159L } },
  100582. /* 58 << 406 */
  100583. { { 0xcc1838a04d0dec13L,0x2d4bdfbc97bd2484L,0x3f6defdb8e61f25eL,
  100584. 0x7f6f45104ea8dedaL,0x013f14a40425fa58L,0x956254689d7d619bL,
  100585. 0x5115c63b5bda4f78L,0xea1900e7fa6e1bf0L,0x00000000000001d0L },
  100586. { 0xa17989e0363fe2daL,0x2cfd22dfca53cb24L,0x45f91d59881a474eL,
  100587. 0x0e4ab11250329824L,0x8ac28370b72739d1L,0x1b310d913b6d9b75L,
  100588. 0x6ec4da965c56e9e9L,0x0671aae0ffc656cbL,0x0000000000000042L } },
  100589. /* 59 << 406 */
  100590. { { 0xb3ab40eb790b8e7eL,0x8eb63013d4788dceL,0xbccc0ef6934a5525L,
  100591. 0x680e70c725f88ec4L,0xd485afdbdb65760bL,0x5d426a75efc322d2L,
  100592. 0x0f83571f2e4bf148L,0x91ccb5dabbec6361L,0x0000000000000169L },
  100593. { 0xd8887e8d1c57d73cL,0x236b0f805f5fd2d4L,0xb63c2775875a5803L,
  100594. 0x414fc01a4a8803ecL,0x52d5e443d98a3657L,0x18a2f004211e0a47L,
  100595. 0x692f1862d077952dL,0xebb3821e3543f3b3L,0x000000000000002dL } },
  100596. /* 60 << 406 */
  100597. { { 0xc543163d23d30fa4L,0x45cc53a2b32b27c9L,0x894b9ca07953c4b4L,
  100598. 0xaabba057bba613a7L,0xc50371ae6ccbb39dL,0x610cdcf53fd4f3c3L,
  100599. 0xad08443a19a9d357L,0xabf74787d519c9cdL,0x0000000000000076L },
  100600. { 0x4ee3a817e5502ae4L,0x7ab2462d8b39a71dL,0xd6736eabfcfe642bL,
  100601. 0x77479bae25c914e3L,0x95fb92af2a14e2c0L,0xcd33464758bd112cL,
  100602. 0x3165b9a35bc0ed8bL,0x980f3176d89bf952L,0x000000000000006fL } },
  100603. /* 61 << 406 */
  100604. { { 0xcce789470c205347L,0x2cdc9548317b0bb3L,0x91761877eb18287eL,
  100605. 0x5da4b78d6fe20d46L,0xaa5a0e4c56abc91cL,0x20d5e538f880504fL,
  100606. 0xc8b49ff54cf760dcL,0x84ce19efc16bc484L,0x0000000000000055L },
  100607. { 0x26ddf4fc8277a9a9L,0x1084e9e795284106L,0x4ae96058d6f31a98L,
  100608. 0x8768d94c4ca76957L,0xabe0c7dc4291c752L,0x742e8a5c902ed035L,
  100609. 0xb19d63427e0da040L,0x8340b9aae19b885eL,0x0000000000000089L } },
  100610. /* 62 << 406 */
  100611. { { 0x1db573165a1c76bfL,0xff18d5ec4afc3851L,0x2c1949939579a536L,
  100612. 0x18b565e4bbffa98dL,0x446f6b2146c634e5L,0x7c8e557e54f8c188L,
  100613. 0x0bd678caf2a2547fL,0x3898e9617c679a91L,0x0000000000000195L },
  100614. { 0xc9629fbf5b94cca3L,0x4f2c7c0bc3a4b9fbL,0xb497be19d7c9194fL,
  100615. 0x7342f77aef265586L,0xaacd585fdb0e0ce7L,0xa4cc7b4bf17cef46L,
  100616. 0x72e0c651d630df1bL,0x39514c9d4e7fd042L,0x0000000000000163L } },
  100617. /* 63 << 406 */
  100618. { { 0xf81da77e080bdb19L,0x42e0d16218eff3daL,0xaecdeb9ed5246df2L,
  100619. 0x4bb5a16667f90950L,0x9eea36f3914df6afL,0x92f0cc9b6bd50255L,
  100620. 0xe1756a88acf4b34aL,0xa30cabc40a3069a1L,0x00000000000000ddL },
  100621. { 0xc407225c59098bcbL,0x957308996d9a4295L,0xb4e208abe995c4f4L,
  100622. 0x42560e5040f907e8L,0x0e6c38dbc174276cL,0x2360c05488cff7dfL,
  100623. 0x31e7aa6539f892a2L,0x4ffde5e9b9592227L,0x000000000000009bL } },
  100624. /* 64 << 406 */
  100625. { { 0xf7593760e63885d6L,0xce5054bb86e546caL,0x5910ad526e9567b2L,
  100626. 0xe812cf7be420aff3L,0x266049fd904e9676L,0x42d0e2ab2c8b34adL,
  100627. 0xf79f8f91a4382f29L,0xf8cde3ed41d531deL,0x0000000000000035L },
  100628. { 0xe514497fb16cc1f3L,0xbc044f39627db2f6L,0x76fa5148a1fa2bdcL,
  100629. 0xcf7eb72e5fe3fd7aL,0x83236c11ee3d45e6L,0xa02d7e92c4eddb54L,
  100630. 0xcfb5bb894d4982a5L,0xee6ac2a27c217ea5L,0x00000000000000bdL } },
  100631. /* 0 << 413 */
  100632. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  100633. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  100634. /* 1 << 413 */
  100635. { { 0x1e5e42932f3cdb19L,0x9920316787214e3bL,0xba80fbfe93d885a3L,
  100636. 0x58f3ecacb25a2700L,0x2c4a14d369f5d172L,0x478313d4816ebaf0L,
  100637. 0x41018d31c93f7738L,0x5db7131e06ac6002L,0x00000000000001b4L },
  100638. { 0xa5d3687295b8edbcL,0x47931810945b9473L,0xea5b3ffea82c5f49L,
  100639. 0x5ed84f08f491bc9bL,0x1492e5349b3b994dL,0x4788372dda6c1225L,
  100640. 0xfda4521440022d06L,0xfb0bcf49fbca3d03L,0x00000000000000a5L } },
  100641. /* 2 << 413 */
  100642. { { 0x8a4af8ae25144121L,0xd89467b7ec215026L,0x3ab6cb7fe013fba2L,
  100643. 0xc15a056935f18f1eL,0x8bd48a1d70933beaL,0x6a40474a5b8c61f6L,
  100644. 0xad967b15b5158afcL,0x119a0ee96d7f6e5fL,0x000000000000010bL },
  100645. { 0x895e3e94a548551eL,0xfcfe2882eb65fa7eL,0xafa1800f3582920bL,
  100646. 0x5cda388ebf58e02eL,0xe7aad6f7fb270f11L,0x95a2636fb7e27667L,
  100647. 0xdec591d7a3be4195L,0xde0e7440808c1315L,0x00000000000001b5L } },
  100648. /* 3 << 413 */
  100649. { { 0x57b9da073a771403L,0xde6ee702ab21fe58L,0x60d32de6843aacabL,
  100650. 0xe522b9569064dfbbL,0xb4b429207ea0dcadL,0x4222697aa3f46a45L,
  100651. 0x1557d30b3be7a95bL,0x712ca7479fa83859L,0x0000000000000153L },
  100652. { 0x162516d415fb1ac0L,0x44b19cb0ee7be87aL,0xce8815eb3d9d86b1L,
  100653. 0xce8f13f957331615L,0x78e8539ef71faac1L,0x29154b098e5ca8bcL,
  100654. 0x45b36262312e4c96L,0x2e03ee8680940f73L,0x00000000000001c2L } },
  100655. /* 4 << 413 */
  100656. { { 0xe95ab9e7ef05ef2dL,0x29ec067ffd5cc417L,0x67c10bc739402b0aL,
  100657. 0x109f7d511e9ca8acL,0x0b10550bf8efe529L,0x0bf3624cf18c8decL,
  100658. 0x42f686f33746474aL,0x0f8a831140052446L,0x00000000000001f4L },
  100659. { 0x56303452329ed806L,0x1d80c752654f22d9L,0xf41fe1729f61f3ecL,
  100660. 0x7d4ad71e0cd5fe42L,0xffda94addd164da0L,0x260a2bdf7f19c583L,
  100661. 0x8e8673245d6229daL,0x1d13d05c2fc87ae8L,0x00000000000000baL } },
  100662. /* 5 << 413 */
  100663. { { 0x5750d281b1734753L,0x0146bc94d4a13019L,0x44c6f69714e0f6a7L,
  100664. 0xbe893e5aed528e03L,0x1e980b908750b50aL,0x7edaf7fca9de6cc1L,
  100665. 0x093cd32faee636cfL,0x293d801a61a0b0deL,0x00000000000000d6L },
  100666. { 0x154f8d1810a54f0eL,0x8a0e70ea4a976afaL,0xb2fe0d041d2e4d9aL,
  100667. 0xc6c5afbc6229b256L,0x8d0ca0e734bc3bc8L,0x93d5a4cf47a7a58fL,
  100668. 0x5413ec8faa6e0b8fL,0x1df389c48d831011L,0x0000000000000099L } },
  100669. /* 6 << 413 */
  100670. { { 0xe4f52ec5ba7dcf59L,0x345c1385d5dba9c9L,0x67084813d49a6201L,
  100671. 0x0c8c4fc84ee78000L,0xbe78c6a4e17b9868L,0x6698156608377738L,
  100672. 0x1afdbf526012a726L,0xa884b8f7d2127133L,0x00000000000001a0L },
  100673. { 0xa4aa47b66590bde1L,0x32398ff9823ee7cdL,0x3f1f7e49967c860fL,
  100674. 0x0ac197d796a0e601L,0xfc6a28c6e61a3207L,0xbe5cb223fbe09f61L,
  100675. 0xe83db350d54bd1b9L,0x44334c2baca898f2L,0x0000000000000024L } },
  100676. /* 7 << 413 */
  100677. { { 0xdc7ed009b224af29L,0xc73de9d40e9acb64L,0x81fba2d377629ec2L,
  100678. 0x2f41756aa44ae9b4L,0x7c839101311c713aL,0x608ec3d486c4c015L,
  100679. 0x6a8379c0ee544e59L,0xecd19a437a67b442L,0x0000000000000062L },
  100680. { 0x05112f63cad5be69L,0x9b97a7f150c4e5d0L,0x8744e98ae7e2d407L,
  100681. 0x9359564016ab7f96L,0x87dcf03cdb24a32bL,0x2f9216bbabf80ae0L,
  100682. 0x38dc2b86701a21e2L,0x60a15b35e64ec8ddL,0x000000000000005cL } },
  100683. /* 8 << 413 */
  100684. { { 0x141838bf8fe6f511L,0x8e9ff343ee745e2eL,0x71da9fd502325306L,
  100685. 0xa527b9baf0d0d68eL,0xce19b22c31144649L,0xca9b778b0bfaa46cL,
  100686. 0x66e689a76ce31145L,0xed43460dd8d1da21L,0x00000000000000bfL },
  100687. { 0x241323f7c1669168L,0x9934b3de79b94b5aL,0xd332c1a2d9f9a406L,
  100688. 0xbe3ebe21e4a49eacL,0x4a00648e678be3edL,0xc9f534eaff09db31L,
  100689. 0x2de774065efdd859L,0x2c218cd800f5c7a5L,0x0000000000000152L } },
  100690. /* 9 << 413 */
  100691. { { 0xb1f44e10e8216c49L,0x8242ce59391c90c6L,0xbd3ec80b1e6415dfL,
  100692. 0x8055d00e364ed350L,0xc0499dd8eecef27cL,0x6fd2d8c71658459dL,
  100693. 0xaff8a01800a6c15aL,0xa2f028d8406e8a9aL,0x00000000000001a0L },
  100694. { 0xc752503f42bd3f43L,0x87e708599710bbddL,0xcda119c090e6eed2L,
  100695. 0xf1a7a1b2596ec879L,0x479f3fec24fd1933L,0x717a613abb82f79dL,
  100696. 0xaae73616faf9c1b5L,0x865e91b7cf129fbfL,0x00000000000001c2L } },
  100697. /* 10 << 413 */
  100698. { { 0x9a111bb32120bf4eL,0x18c2fc772458882eL,0x0c3480d8e24ebc99L,
  100699. 0x1832974652cc401eL,0xb424bd884fd6a487L,0x5838dc6a822adf42L,
  100700. 0xf5a46a3cdb196a29L,0xce7baaade6640b4dL,0x00000000000000e0L },
  100701. { 0x231ac4cdc62a4ac7L,0xa25cea601851842aL,0x5ad82748d7a79770L,
  100702. 0x8fbffa6ebb164240L,0xb64ecaea85db52c0L,0x4ed71ef3b05a83a0L,
  100703. 0xb1a5c366f87d6991L,0x52f4a0043ccb2067L,0x00000000000001b1L } },
  100704. /* 11 << 413 */
  100705. { { 0x4d6fd5b3a11c9d5bL,0x423db5f508656d72L,0xb0f9e57833051a59L,
  100706. 0xa6e49ec8797e73aaL,0xd2c1bf6eccc0d215L,0x4b3dd3e2d320576eL,
  100707. 0x317f7ca5d773e88dL,0xc37a7f0f5f88be68L,0x0000000000000114L },
  100708. { 0x033fd47e1b2e6090L,0x297dbc0e211a3ba1L,0x8808924481671ba6L,
  100709. 0xd2f3670ba568cc06L,0xf41dff3d58ff526cL,0xd9ce52f41a33b324L,
  100710. 0x2e0d362c12adc150L,0x8da85adff5f36b5fL,0x000000000000000cL } },
  100711. /* 12 << 413 */
  100712. { { 0x876382e3b6899299L,0x0b4845d3c420faf5L,0x6e09254c04b364c6L,
  100713. 0xdbf5ee2fc3ee3781L,0x518c5aaff1a2f07bL,0x48e496f4e09ca02bL,
  100714. 0x325878764d599f03L,0xedf96e075a7941bfL,0x000000000000005bL },
  100715. { 0x38dd2793981bdbc6L,0x9b21020129395b8aL,0x924ded1bd1678774L,
  100716. 0x7a77150735ded04eL,0x2275228145c78fe2L,0x8e500fde9ce86720L,
  100717. 0x5998350640caf83eL,0x38ff8869b773ada9L,0x0000000000000173L } },
  100718. /* 13 << 413 */
  100719. { { 0xe8ff5ac6ed7cf572L,0x7f686a590f1e28a2L,0x62427eac20faa4deL,
  100720. 0xb6209fe31ad4d13dL,0xd2e05eb22ffba92bL,0x2c9345eae68093a7L,
  100721. 0x281b99996eec4207L,0x7ea83de8e452091aL,0x0000000000000123L },
  100722. { 0x923bd3311639d5d4L,0x68c713339a8bf71eL,0x4d9d8d20c6a51254L,
  100723. 0x81954588c3eeaf0cL,0x5cab2bcdb7fc166cL,0x0375c8b7c95eddfbL,
  100724. 0xaa864a1f451c9fc1L,0x0c658f1f7b744928L,0x0000000000000058L } },
  100725. /* 14 << 413 */
  100726. { { 0xef5c1e91a73432dbL,0xdf98b1e4b4f36c7eL,0x68b70bc8d61583a3L,
  100727. 0x0c8264e2ed0b2c62L,0x2b2c0770ea80cdbaL,0xf057643161bb4804L,
  100728. 0x66e3ebbbc240ceceL,0xf34eada0354bd699L,0x00000000000001c0L },
  100729. { 0x6134da4fd4514eabL,0xff414ddaca338f1fL,0x588506f10fc1b9aaL,
  100730. 0x5bb66b45bb21daf2L,0x093354525824998dL,0x2c9c4959a8e47c78L,
  100731. 0xf7e6339c6269c6c0L,0x5551260b237e9835L,0x00000000000000c5L } },
  100732. /* 15 << 413 */
  100733. { { 0xf4f12f1396123090L,0x471d20baf841a4f6L,0x2086017985371d0fL,
  100734. 0xe655cf99bb77de97L,0x246595b0761430d0L,0x4361b05f54503716L,
  100735. 0xebdb356a33210d4fL,0xc429076db67e1961L,0x0000000000000072L },
  100736. { 0x3a611d84c57d8e8fL,0xc0bc94ea1b749a8dL,0xd8ce81683a51b900L,
  100737. 0xd595034f38d06f25L,0xc649def4bfc48667L,0x755726c0ee42d04eL,
  100738. 0x100a8ceff26eff8aL,0x6d43ef9ff86d056bL,0x0000000000000112L } },
  100739. /* 16 << 413 */
  100740. { { 0xfe1b039aefd5cf86L,0xc7fbca26c0945b5aL,0x6b30e2e0887a27a1L,
  100741. 0x0883a38be7cc98d9L,0xa646c35bfb2138f5L,0x735769df74f0c200L,
  100742. 0x9fcdf60a2ab20e1dL,0x4e0acc801f2e11dcL,0x000000000000013aL },
  100743. { 0x00caf22515abd8eaL,0xe5f47384cb2e6e92L,0xa9186f93be14ff19L,
  100744. 0x4620d2c916ca5bb6L,0x22d4fc0ebddde27bL,0xd6f04a09a1c81269L,
  100745. 0x25d65811fac277d4L,0x803293db322ab775L,0x00000000000001e4L } },
  100746. /* 17 << 413 */
  100747. { { 0xb3ebf1380ba381bcL,0x7289d26e159f83acL,0xd45884b4642425deL,
  100748. 0x644daeecebfd5e89L,0x22c6df37f5f65270L,0x376b8127b6bcf3aaL,
  100749. 0xbda049d4f4ec524fL,0xfd412add737fba08L,0x00000000000001ecL },
  100750. { 0x060c42cd0ffa17fcL,0xf6e37fbf8b4e9a97L,0x7681530396b17356L,
  100751. 0x92c4519627ef9df3L,0xd048c276a0fb6660L,0xb69785e8b4f971c5L,
  100752. 0x6f2a394cfc90d573L,0x2ff151e18d0558cbL,0x000000000000011cL } },
  100753. /* 18 << 413 */
  100754. { { 0x7a118320596008e4L,0x7f469890b45b8849L,0xd05018829fd8988dL,
  100755. 0xdba0b02ec8fc3c87L,0xc10a7d57333e0ac7L,0x63c960014e554169L,
  100756. 0xbbde212e773150ebL,0xb654d3d86d7967aaL,0x000000000000017bL },
  100757. { 0x8e3087977a2e5d76L,0x8e58379ea352086cL,0x8f9c8c8c4797c0a5L,
  100758. 0x329c35097c491506L,0xe43fc3699312118fL,0x0d96ba0101989af1L,
  100759. 0x60b3e701d8dd5e74L,0xe2954b8011364c68L,0x000000000000018bL } },
  100760. /* 19 << 413 */
  100761. { { 0x89318598abb6095eL,0xf838078254f1abd2L,0xbcc578dd4150e804L,
  100762. 0x751c7bdf9c394104L,0x563688d2b10220b8L,0x8f371472362c10faL,
  100763. 0x28e0a341ff5248b0L,0xe79232df6b59cfb1L,0x0000000000000025L },
  100764. { 0xc7fae1d695e6f9bfL,0xfd2bc6d21b4cb12dL,0x1a67033c7a9fcb6cL,
  100765. 0xe2741449e7f5f237L,0x7bf33fb4c5e0cd46L,0x2bb0a260011b6c96L,
  100766. 0x55b14f8b11c51582L,0x861b24259938fe56L,0x000000000000000eL } },
  100767. /* 20 << 413 */
  100768. { { 0xbb34d7849d0d6a8eL,0x181372ae5249d4aaL,0x70542a6f2a73950fL,
  100769. 0x74b04f0ccdf2e96dL,0xfd9cae5b3fecace5L,0x22fb4d8d19fb6b62L,
  100770. 0x3252d045e69c55fdL,0x7290f7fac2bc4211L,0x0000000000000148L },
  100771. { 0x10d8e574ec7e23eeL,0x8d6c5a23c7a555e7L,0xd583c8aa140a4f49L,
  100772. 0x0de3c0d4f10191c9L,0x985e0201d4d1e937L,0xb5dee6abc3a7e70fL,
  100773. 0xc212b74b44de1f4dL,0x1f745d35ef35b040L,0x00000000000001fcL } },
  100774. /* 21 << 413 */
  100775. { { 0x622c60244c78f076L,0x6aeae9383019aef8L,0xdbb4d128ff3e8a56L,
  100776. 0xeedc83ec8eff26c1L,0x3cfe10dfe4beda18L,0xeb555398b2972b48L,
  100777. 0xb79caa949ebce9fcL,0xb0425e6716bc49b2L,0x000000000000007dL },
  100778. { 0xe7d34bbe0e8a5400L,0x5f50f6422d2e374cL,0xaaa6e26d82100013L,
  100779. 0xa79dfb31cb6bd0d0L,0x81573d70aca0982bL,0xeedac6643d0964ceL,
  100780. 0xf1b12fb1a8f4ea97L,0xf9885103b636c8e3L,0x00000000000001e6L } },
  100781. /* 22 << 413 */
  100782. { { 0x6a3f3b0cf066b354L,0x58cc7cfecdf5d33fL,0x299206fb3b7bbe62L,
  100783. 0x590ee606197b5384L,0x09ca781aa8bf219fL,0xd2bb936cc54c6d12L,
  100784. 0x3053151291abf037L,0x5d04db05244e2825L,0x00000000000001faL },
  100785. { 0x31e28fef6017bd41L,0x44fc27841c446006L,0x6265b3097dfb20a1L,
  100786. 0xb460776dd6aebeb7L,0x3c2abf087b9a1601L,0xac3464126c7f692fL,
  100787. 0x8fef9006b988eb33L,0xad7ea2997832d27dL,0x0000000000000053L } },
  100788. /* 23 << 413 */
  100789. { { 0xd5d2fa1109089d81L,0xb4399d888abd7968L,0xc1716638eb869300L,
  100790. 0xd993cdb9e1cd6275L,0x241d4c2ab8310dd0L,0x031e500abe369875L,
  100791. 0x5a6ed301297c9a3bL,0xf2435b9230b41f99L,0x00000000000000c2L },
  100792. { 0x08100d2cdf2c3657L,0xa6ac7c13b29b6405L,0xc3a7b5461f343164L,
  100793. 0x8fd10a6b9665ca07L,0xfbfeed84171e0f50L,0xa7d5c01d4f409d69L,
  100794. 0xdb8be8f366209239L,0x68e69ee888fa3ee3L,0x00000000000001f4L } },
  100795. /* 24 << 413 */
  100796. { { 0x323e1b7f0a823516L,0x8f4e9152673254f7L,0x5e5d719041599b9cL,
  100797. 0x96bfba24a1198accL,0xb1b6e75bbbfcd72cL,0xfd5955f2f4894626L,
  100798. 0x109edfea898bbbfdL,0xd36929041f468074L,0x000000000000016aL },
  100799. { 0x089d12a99bb7d749L,0x893ebf254ffc33d9L,0x6ed72c609097ff49L,
  100800. 0x9291e1eeb4e1d91dL,0x0dbfe58272a07882L,0xac41065fbe0636ecL,
  100801. 0x43d74f8bf4234bd5L,0x01bfb0850a28fdefL,0x00000000000000b5L } },
  100802. /* 25 << 413 */
  100803. { { 0x01eebda491b42f54L,0x891ca7438f8e24d8L,0x98ff0a26d2362d60L,
  100804. 0x82147d21085b187bL,0x469ab10225f97fb1L,0xc404bd2bd0280e20L,
  100805. 0x292592698ecdb68eL,0x570b7a92d5f50c44L,0x000000000000010fL },
  100806. { 0x381f68256c856631L,0x4c3d2172fb2c1f40L,0xc1beda5173da2dfdL,
  100807. 0x442095377d9d1ad6L,0xe94807503a33e01dL,0x697d86895fcfeaa8L,
  100808. 0x5d933887a8b9155aL,0x2582c294d2a8f48bL,0x0000000000000064L } },
  100809. /* 26 << 413 */
  100810. { { 0x03ba5094920b66a3L,0x65239fc4ebe42bebL,0x68c63f3dc4ce1efeL,
  100811. 0x33084ea54ad8b52aL,0x28873c93b9e33e89L,0x00d6e65e1410a1ecL,
  100812. 0x21cc87d07e79c97fL,0x32bb9986b1277db9L,0x00000000000000daL },
  100813. { 0x659619b4c1ae88c5L,0xef1b0ea112d24497L,0xc0646672983fec9aL,
  100814. 0xb105138fb42b7079L,0xe0a6eccec2900a1eL,0x5e2eac870b094635L,
  100815. 0x8750a30ab8659fc0L,0xc3aa9a0f9b73a020L,0x0000000000000024L } },
  100816. /* 27 << 413 */
  100817. { { 0xf6cd90c7b7e01593L,0x3c0e6245c0096352L,0xb55ed8331cf5a335L,
  100818. 0x480e68de18962d59L,0x83d09d6992f059beL,0xcbd11b027f28d3deL,
  100819. 0xdc5b2e864e26e34cL,0x66e2f6e9eac14dddL,0x00000000000000bfL },
  100820. { 0x1c0928fba612de24L,0x407a55a5d1db9f9bL,0xa64ea668b6f50f0aL,
  100821. 0x7d1c14e9ede7c9d9L,0xef7fb4b775353ab5L,0x7cc7e66146f1bc70L,
  100822. 0x73dc29babf7e44d5L,0x26b2e00643e6f0beL,0x0000000000000146L } },
  100823. /* 28 << 413 */
  100824. { { 0x3463165d755e8efdL,0x96650fb2ac359a78L,0x1059dde3f00748afL,
  100825. 0x0e20212f58e38d2fL,0xda345fe4debdfa10L,0xdf920bc8667e54c1L,
  100826. 0x03953f8ba4dfa4edL,0xc7638154ebb27882L,0x0000000000000110L },
  100827. { 0x950085ee132434eaL,0x8a2bdab57120a652L,0x28ded0be42ab161bL,
  100828. 0x9b55dc39bf1c6faaL,0x71e94dc9261ea91bL,0xe52990b0c6996959L,
  100829. 0x62bd7c41582570a0L,0x61d8fc99be597471L,0x00000000000001deL } },
  100830. /* 29 << 413 */
  100831. { { 0x6dab19378a42408dL,0xc005cc1ff3a80b5aL,0x0a1030f0b8a2cb36L,
  100832. 0x171576f06fc3169aL,0x0b7dc150952294e9L,0xf506b4c3053cf79cL,
  100833. 0x417ca443c70ed2aeL,0x80bbc72684c09424L,0x0000000000000113L },
  100834. { 0x6ecc2c85cfe818a1L,0x9610f7d24e78801bL,0x8c33fe9336b49aa4L,
  100835. 0x10eda040e5b58e18L,0xd58d1b7b2a8213fcL,0x4db6dc12d932602dL,
  100836. 0xb3a161343b1df67eL,0x734f2ef4b1746724L,0x00000000000000a0L } },
  100837. /* 30 << 413 */
  100838. { { 0x37ab4d79ce269559L,0x80ffc5068ba6574dL,0xbcddc7871b2a6d07L,
  100839. 0x8d2f43928c76de3aL,0xfd6347a2f6c3616fL,0x2c47372d5d8a2a7dL,
  100840. 0x246d8873d86e2015L,0x265dc733e339dc8cL,0x0000000000000172L },
  100841. { 0xa0c9d81159538718L,0x0f7fb3fc26e1da06L,0xa5aaacf82c28577cL,
  100842. 0xfd956a4de59804bfL,0x2046deb77de0e903L,0x7388e7374774c173L,
  100843. 0xcce82ee06107d1aaL,0x2c3d2f51b2eca2deL,0x000000000000012cL } },
  100844. /* 31 << 413 */
  100845. { { 0x4294d5f39a9fc27fL,0xfca710b946c678aaL,0x34fbc512549d8927L,
  100846. 0x918de41068015dd0L,0x7c2cf8de5260a6f3L,0x4b248ddb0523096aL,
  100847. 0x7b8493dcb1a42b11L,0x5fe79c0650631110L,0x000000000000016cL },
  100848. { 0x3dd89707a7ed1ec3L,0xfcc8bb190042f593L,0xedfd3f0813a4e462L,
  100849. 0x33ea61fa56ec2b76L,0x56cd7669dd665c93L,0x62ea3ebdcd19b6eeL,
  100850. 0xa312ca02426ceb4fL,0x7b3645d0137b2440L,0x00000000000001a6L } },
  100851. /* 32 << 413 */
  100852. { { 0x9d0dbabb1ec238d2L,0x3f6c4af337e67e7eL,0xf7a6b09464dec6e9L,
  100853. 0x1f53fd502c2724ccL,0x5f333d4751bcaa0cL,0x63cc89baebae3589L,
  100854. 0x2b90af90f0632831L,0x8f6af6cd4d18cfd3L,0x00000000000001ceL },
  100855. { 0x8b34e44576940e65L,0x264a0d8fc1c34c11L,0xd433303f4120afc2L,
  100856. 0x240a12d6f7e738b8L,0x574fa7156e921883L,0x6b2bb33c02d74e8cL,
  100857. 0x7b193e240fe8e9b8L,0xbe954bad506cc6d4L,0x000000000000011eL } },
  100858. /* 33 << 413 */
  100859. { { 0x63299f8ad1979cd4L,0x76ce11cd53a8f2ceL,0x8f5247314756f0e4L,
  100860. 0xb360ef86d6312ae0L,0x26b6aa23146945f7L,0xfc5e0b3453c2b57eL,
  100861. 0x41cf74a99e4fa20eL,0xbc94194f872c03ecL,0x0000000000000179L },
  100862. { 0x30c171bd96d3ac18L,0x6a93906b7a26ef90L,0x60f1820bf5a6d675L,
  100863. 0x2abec262860a7536L,0x82a44ef7a356d631L,0xa00527c8dd13a5b5L,
  100864. 0x009955617328996bL,0x8e004ab9a0e8f5ddL,0x00000000000000faL } },
  100865. /* 34 << 413 */
  100866. { { 0x591f47c9c2db5c7bL,0x83799ff638afcd10L,0x02aca0a07a4fbfe6L,
  100867. 0xe2cf1215d818414dL,0x46330ef3f9419a89L,0xe57b3b7dfcacb608L,
  100868. 0xe2af0b7111de170cL,0xb3dae14ca9f7cb22L,0x0000000000000001L },
  100869. { 0xf518e5500ae03740L,0xaf9575680d43e335L,0xf341260f5fda61ddL,
  100870. 0xf7fabc68d815ff6bL,0x446f516f11bba091L,0x7b6a7a028c2cbe3aL,
  100871. 0x3ef55ec98ead682fL,0xfa11057b08472496L,0x0000000000000105L } },
  100872. /* 35 << 413 */
  100873. { { 0x2ef8dcb991d78c71L,0xea57b096b79b7989L,0xd9cf5cb49b8be524L,
  100874. 0x692d270c0fa151a8L,0xfdd28e1b32b69968L,0xcd3323ae8d8d1e47L,
  100875. 0xfa44d78f4c086337L,0x756f8b1c42359ab6L,0x00000000000000a9L },
  100876. { 0x5d2941884498e4d3L,0x486cc3fb4a2e8a97L,0xb3629ceb4420f08bL,
  100877. 0x23cb3922a710733cL,0x17ad6e1a321478b0L,0xfe521732df1ff995L,
  100878. 0xdc11dffc4dffeff1L,0x5ae4b2e2957afd54L,0x00000000000001f1L } },
  100879. /* 36 << 413 */
  100880. { { 0x4b597ec0dba12c57L,0xb3b2dc7de1fc4b5dL,0x4752e40f15050e90L,
  100881. 0x1fd86c1acda9bff2L,0x5a398964f73d82ccL,0x1f59263b323ec620L,
  100882. 0x350c881919bf5ae6L,0x6736c9f029ecb6c0L,0x000000000000003fL },
  100883. { 0x4c7f061a627720abL,0xc5011823b7be99bcL,0x5ad5f70496a77f9bL,
  100884. 0x9843b728a8f8d2d5L,0x82d03acee3a8b30cL,0xd03952fe2b786acbL,
  100885. 0xe01b07d58d17f32aL,0x21a6c2baa479b6f1L,0x0000000000000156L } },
  100886. /* 37 << 413 */
  100887. { { 0xbd4996a6408964b4L,0xd39f56b289c25effL,0x4b58c175a1935189L,
  100888. 0xeeeb51b457351b32L,0xbad2424c58c15022L,0x88532ce5e3ac5df4L,
  100889. 0x297db1951a613b42L,0xa9826d4bc9b4b0f6L,0x00000000000001faL },
  100890. { 0xf487960c57881c0fL,0x1b67319734f10432L,0x484f2a40f6a2141fL,
  100891. 0xfb9e8fd2449bdb38L,0x088d6e6184f4e1adL,0x93b7cb1a2e4ac094L,
  100892. 0x855999084b9fb3bbL,0x6f601e992f3be966L,0x00000000000000e6L } },
  100893. /* 38 << 413 */
  100894. { { 0x24993c953bb81c62L,0x93e513dfff3eb22eL,0xf23a18b7b756ddd6L,
  100895. 0xa6cfc668247dea49L,0xc2aa1665cd3a8b9dL,0xb5a556189fa99e24L,
  100896. 0x615682b309f23beaL,0x1d669c5bc44b4017L,0x00000000000000a8L },
  100897. { 0x605339e218b6f759L,0x624202ff67b89ad5L,0x679698559145a96dL,
  100898. 0x6ddb181c7e1ba76aL,0x437631e06eb22bbfL,0x41c8c70078e93567L,
  100899. 0xee67a9ae5e3003f0L,0xeadb9626981a58dfL,0x00000000000001a2L } },
  100900. /* 39 << 413 */
  100901. { { 0x47340a8dff6e5e58L,0x597caab368c8ad6dL,0xde8c32ae6b628a7cL,
  100902. 0x694f8cf92168a60bL,0xe41264649434c688L,0x4849f57ba8be6f19L,
  100903. 0x5ed6e3517879dbf8L,0xeaabde98d33e7390L,0x00000000000000b5L },
  100904. { 0xde51fff7393a3029L,0x40930f72b285d593L,0x6cd65dc0ee41a1bfL,
  100905. 0x77c5681d80dfeed0L,0x8f33ecee8afd229dL,0x137a4d675cf8d15cL,
  100906. 0xa7855f8aa67e504aL,0xb9a6700bb52b6c48L,0x000000000000012fL } },
  100907. /* 40 << 413 */
  100908. { { 0x4054b365d1a4a65eL,0xfa395e2aa04b2f59L,0x1c6c3b41bf63d17aL,
  100909. 0xa639fb26abe2aad0L,0x008f81600c9a565dL,0xf5efa9e691061e61L,
  100910. 0x7731c2f76e881f7fL,0x3623cd7c9074b4aaL,0x0000000000000016L },
  100911. { 0x20ba924b1037873eL,0x7b7107acabcfd34eL,0xb492ebb905e13406L,
  100912. 0x6dcc3342f08fd2faL,0x08f3a1d364126080L,0x8fb54869fb5bf009L,
  100913. 0x5e66163282442dcdL,0xbab2d8dd5c21d62aL,0x000000000000003dL } },
  100914. /* 41 << 413 */
  100915. { { 0x526bab49e03531dbL,0x6c2eb8722e649aacL,0x96751e97a364a699L,
  100916. 0xcfffdf6e00d01fc2L,0x40861a4b3d572fa7L,0xfccb951f606b2b3fL,
  100917. 0xf8659daa1950c2bbL,0xb436a4638af98008L,0x00000000000000e9L },
  100918. { 0x35d0267b9b0b76eaL,0xc4c6961226bd292cL,0x098afee2f060dd93L,
  100919. 0xc7cbd9c79843bd5eL,0x137f8b62152e8229L,0x81825a8462142fffL,
  100920. 0x5b25f6e808d3a5a4L,0xdaab67c3384476afL,0x0000000000000058L } },
  100921. /* 42 << 413 */
  100922. { { 0x989bda89821ccd3eL,0xeddc91644cdc3d8dL,0x6a06cd546cf20b6fL,
  100923. 0xf53d75fcb49b3f50L,0x18e2b09f8e214907L,0xff1c4a578857d58fL,
  100924. 0xd2ea3b54af88ce82L,0xc40ea7f424289152L,0x000000000000010cL },
  100925. { 0x6e9760861ae764a2L,0x79aa8d11fad90855L,0x4e04c7c51ac4067dL,
  100926. 0x4e48d0714b54abd3L,0xc15e12f487c57ef4L,0xcf0dc49e73dea84aL,
  100927. 0x87d2022055e54611L,0x20aa68d70b68bb26L,0x000000000000017dL } },
  100928. /* 43 << 413 */
  100929. { { 0x90ddc3205b3c6e1cL,0xaa2d087cbff4a8c1L,0xbdb8dcf2062349a6L,
  100930. 0x06b762825d602038L,0x9f0411cf6739dce2L,0x603ecc513feeaa4fL,
  100931. 0x8b86e3803aba1b86L,0xfdbeff61e0da26dbL,0x0000000000000050L },
  100932. { 0xd403b2587366a1ebL,0xfdd4afc3fe7e6844L,0xc55a20ed2e8391dfL,
  100933. 0x31d85dd7c875e460L,0x50afaf2183d6c41fL,0x0ddb52a859e9a2b0L,
  100934. 0x5481ec9d971ed465L,0xdd22f0619de7c8d1L,0x000000000000011dL } },
  100935. /* 44 << 413 */
  100936. { { 0xa62823964d464d88L,0x4723b946caeab8f1L,0xe68a25c31a3f1da7L,
  100937. 0xb8c1bae54696044bL,0x7cdc5fa6c27e2468L,0xd54c65dc55d7b1c5L,
  100938. 0x9fe5872486b67022L,0xe4e5bf99be39934fL,0x0000000000000069L },
  100939. { 0x1e79773b464a3c68L,0xbbdccc3899fcf4caL,0xa3023f20e69d9927L,
  100940. 0x39de0edb203fce2aL,0xebfd0e18fab9a998L,0x14b7b1e1bc60d079L,
  100941. 0xfa9a20add10760c5L,0x5050fd3e820f2a0eL,0x00000000000000a8L } },
  100942. /* 45 << 413 */
  100943. { { 0x4d4028e3962d3e22L,0x221795bb8df85019L,0x3e93eba3b7f3dda7L,
  100944. 0x18d2aa25ba5f7d48L,0x5811dbcf5b36ec49L,0x74878d24bec9449bL,
  100945. 0xb331d19575d88654L,0x68d14252ee93f20fL,0x00000000000001f6L },
  100946. { 0x4c3947ef517f4d8fL,0xac81ff08fd781b82L,0xa8183a60afd02499L,
  100947. 0xf11fcac98cbf1552L,0x639c9edd2464822eL,0xa6a0974551617891L,
  100948. 0xf475d74536c25dc9L,0x0e2df3059e3de853L,0x0000000000000133L } },
  100949. /* 46 << 413 */
  100950. { { 0xc412881ffe8e6e27L,0xad72506e12423bbaL,0x557e822a887695eeL,
  100951. 0x42741b0e91b1f6c8L,0xcd108283790a1959L,0x526c066463986f8eL,
  100952. 0x7b3c480388675baaL,0x7c7a94618d2b8f28L,0x000000000000012bL },
  100953. { 0xf3b31c681f34e4e2L,0xe27f6de0d22cec8eL,0x3cb7d2770a843a7dL,
  100954. 0xab143cbe02ae4431L,0x9b786935cce27ca6L,0x63c73cde9c515282L,
  100955. 0x0b6854a1f1ef32f1L,0x843fc37eb5d08cddL,0x00000000000001e8L } },
  100956. /* 47 << 413 */
  100957. { { 0x81d165c841a1e954L,0xba30ab7ad97a9a90L,0xebe7c890998f67d2L,
  100958. 0x972185aa63216872L,0xf9859ed7eb4ff20dL,0x13dcc62399e6f6a8L,
  100959. 0x5d2cf8ce47a6b661L,0x2260e1445fa93eaeL,0x000000000000004dL },
  100960. { 0x062cb12721186595L,0x15bb3dad9cdbfe1aL,0xad2bae7b944c54b3L,
  100961. 0x0dfa4da0ba724aacL,0x6b342cc6bfe51025L,0x4d8bf909d9c2630bL,
  100962. 0xb374c6c6131de964L,0x475e6872835f73c1L,0x00000000000000e1L } },
  100963. /* 48 << 413 */
  100964. { { 0xc296b1f684c1985aL,0x971547c5aa4f7132L,0xe3705e1183e168cfL,
  100965. 0x8d00e588c935a3deL,0x853154235262789bL,0x46f2c2ca005f7c35L,
  100966. 0xfbfbadd217ea733eL,0xb32a38b6c9e496a6L,0x00000000000000d8L },
  100967. { 0xa82e95e5cec8d3f9L,0x8a1efca3e378be9dL,0x6e114d078080d874L,
  100968. 0x514dc754fb9c056aL,0x5781be8966ef6c48L,0x0586bd3834b1ebe3L,
  100969. 0x0e31b44f8a8b161eL,0x20c2b78ad4d62dd5L,0x00000000000001dbL } },
  100970. /* 49 << 413 */
  100971. { { 0x97a8c5a9870c8cf3L,0xe01acc6f904f3673L,0x42ee78a16905580cL,
  100972. 0x237eb3fb4e2f3c90L,0xab1806eabe2deba1L,0xf2b6643f66c68eb3L,
  100973. 0x75e0a1d4a509adf3L,0x7a7dfcb64779af07L,0x000000000000000eL },
  100974. { 0x951ef5e34263b572L,0xe203f49b636a5067L,0x8d229b333377c5f1L,
  100975. 0xd3427aa4c030994eL,0xdc7861d91a84d51cL,0x6454562f195e282cL,
  100976. 0x74a7c351f6882e78L,0x4eaefb0f0798f8c2L,0x000000000000018eL } },
  100977. /* 50 << 413 */
  100978. { { 0x2b2188b680f1f0b3L,0xefed65ae394debd7L,0xbeda0fe75d7c51b5L,
  100979. 0x3989a2b6cd0db074L,0x0f5406253d9437f6L,0xf58203c70c0169a0L,
  100980. 0x400e35e9bbc38332L,0x3ea9b7a961baeca4L,0x00000000000001b1L },
  100981. { 0x58cc97c45059b23bL,0x8f5e67fccf7bd0e2L,0x6baec2aedfc1882fL,
  100982. 0xa0f796283aa69ec4L,0xed7986f2a6d520cfL,0x5fa28f4ac454e929L,
  100983. 0x5835f87541151c50L,0xa3d1fdce3143de1eL,0x000000000000002fL } },
  100984. /* 51 << 413 */
  100985. { { 0xea6629b82b899daeL,0xb372b86257edbb50L,0x053f9c62cd45f9f8L,
  100986. 0x395c0f8529604bb2L,0x24100041a1e9e16aL,0xd89d20d72b979b9cL,
  100987. 0x4ff39f96845213e8L,0x077d286e70ca9f63L,0x00000000000001d5L },
  100988. { 0xa250b87c56f1bcacL,0x9d71c979886fd8b6L,0x079a52682c052432L,
  100989. 0x80d965ccbce043bdL,0xb7590694806ee3e3L,0xa829475e77f75c78L,
  100990. 0x6311b404667c2bffL,0x88343a1c8aa15256L,0x000000000000012fL } },
  100991. /* 52 << 413 */
  100992. { { 0x10e4b5a2ad1c282eL,0x6f768a2376e6a2a4L,0xd92b73cdcb93da72L,
  100993. 0x477c839eecc382a3L,0x761d18d5a70b8e5cL,0xd09779d2270ba0e8L,
  100994. 0xc2c8eedfb2ea6bbfL,0xeadbb724599593b9L,0x0000000000000026L },
  100995. { 0x6eb0aa1c8ec01fdfL,0x3dc88cd0b3ded71eL,0x8c4bcd807bc58ea5L,
  100996. 0xea9404def976a709L,0x97e33a53d73a2a75L,0x8c20e2ea165b3e6fL,
  100997. 0x4193a051ef0c6a5bL,0x1edf6f8c3fb398d6L,0x0000000000000016L } },
  100998. /* 53 << 413 */
  100999. { { 0xa1718bfdb4a3de01L,0xe962902ea830bb59L,0xf25d70441a38302dL,
  101000. 0x285917cd4c16cb5aL,0x0b86ce611be8e2e7L,0xb1f2900c6e96d268L,
  101001. 0x18d5185e834190f9L,0x96c4db4bdacbe228L,0x00000000000000afL },
  101002. { 0x7b57f2eeec9822c2L,0x36ceebfd9b46f49dL,0xb11fa678043a7394L,
  101003. 0x75a9f067e86cb17dL,0xd13a22746e1185b4L,0xa7137a6a24b92829L,
  101004. 0x30f74cfc2edb7707L,0xaa14984f56fca5beL,0x00000000000001eeL } },
  101005. /* 54 << 413 */
  101006. { { 0x85d2856b0231dafaL,0xd7fabb5108028fbbL,0xca0066e8602a5eb9L,
  101007. 0xc6d7512e885466e4L,0xe5d1fea841615e58L,0xa2de9d5f996b2a88L,
  101008. 0x0cbd9831554a3c32L,0xabb8d9cbd675917eL,0x000000000000003dL },
  101009. { 0x10fd5eb68255009fL,0x47fd9bb733d24399L,0x4a4d9629ac5cd8b4L,
  101010. 0xae5aa75cbb1b9747L,0xa6f7516e98397c51L,0x38d011e92ed7e028L,
  101011. 0x3e2e3a3357c86547L,0x13f713fa701e9db9L,0x0000000000000122L } },
  101012. /* 55 << 413 */
  101013. { { 0x2662f1810115f051L,0x7e2fe420aa76e71aL,0xe198883adf6a9851L,
  101014. 0x9e4698fb250b8ce0L,0xa9c27caec73858a0L,0xba746550df3344aeL,
  101015. 0xc7c7a7a7a6e81567L,0x942c6f66e35727b5L,0x0000000000000187L },
  101016. { 0x08a018d6e8a4fbddL,0xfc08d2fd6798242aL,0x093b8894b21316baL,
  101017. 0x4320f88aea4ef1adL,0x28fe97c8e6141abbL,0x50ad5c65d21bc6d8L,
  101018. 0x0840a2a4473c5901L,0x20297e1baf604adcL,0x00000000000000a7L } },
  101019. /* 56 << 413 */
  101020. { { 0xea6e467aaeb0d0f0L,0x9fa030d9eb5ee813L,0x9be99873515cdbf8L,
  101021. 0xe608db63a805d16aL,0x5e6255dd9ce2f64bL,0x2d88fb427418bb31L,
  101022. 0x147c74fee7ac60bfL,0x34df0171672b0f90L,0x000000000000004dL },
  101023. { 0x6c1f267177f1f4feL,0xf64d4242138fa188L,0x55ab5ddd4c0097caL,
  101024. 0x354bb5f3bdbdb465L,0xad6142d579060e68L,0xd9adc1101017b5fbL,
  101025. 0x656ffc3a9f510299L,0x568945bd741ebe49L,0x000000000000009fL } },
  101026. /* 57 << 413 */
  101027. { { 0x3b3b40ee0d593a59L,0xd8655c25b704b4d9L,0x58d47bae4ce690aeL,
  101028. 0xe99ebb1f44bfd996L,0x5039cb719e993a47L,0x0e30fe78f47ed3a0L,
  101029. 0xf73f450b5bd344f2L,0x35a41fc7ca7179a1L,0x0000000000000053L },
  101030. { 0xc9b89a7d4b94e4a7L,0xf84e3eae978f1d58L,0x18ac261b1ea29601L,
  101031. 0x004424d32d91713eL,0x61bfe2f4e594f2ecL,0x444d234da62b8403L,
  101032. 0x77c35ae6dc6b4b34L,0x75fbae457da07a2aL,0x00000000000000deL } },
  101033. /* 58 << 413 */
  101034. { { 0x42c072b856afffc1L,0xecf5aac3405b1205L,0xe64a6af0f8f4c098L,
  101035. 0xb29e488cc9cdf82fL,0xa859c42dabc487e7L,0xfe6bd7e9464bdd74L,
  101036. 0xdee72074eafd8d10L,0xa9da876d40f4074fL,0x0000000000000020L },
  101037. { 0x733dfb9a970d4e05L,0x1560161d4e08df26L,0xadf0d94e3675567fL,
  101038. 0x0e063d520703fd74L,0x91f7dfdb32500e7dL,0x4d20c3881456db62L,
  101039. 0x49311bdb8b5ddfe7L,0x6e844794f76e2067L,0x0000000000000071L } },
  101040. /* 59 << 413 */
  101041. { { 0x31c81bd38d139215L,0xb2e03ba0aa31ea08L,0xe8e0824db68f165aL,
  101042. 0xfea377926694a8d8L,0x3f967e438274eb91L,0xe4bd0c82cca1557aL,
  101043. 0x1daa85547bcd3067L,0xd3334fc48baaaa35L,0x0000000000000141L },
  101044. { 0x9281ae374fe8c1f5L,0x91fe949cdc284160L,0xb50a91b15fc70688L,
  101045. 0xbffd0e40b7ec7809L,0x2ec95feacf809d19L,0xbfa250a6f70c5c78L,
  101046. 0x3c3111505dccc3e7L,0xd2d9107cbddae7f0L,0x0000000000000136L } },
  101047. /* 60 << 413 */
  101048. { { 0x30a7aebd85a53d34L,0xf42e79a34ffe774dL,0x60e6bbffd567b09cL,
  101049. 0x30c427bee46a553eL,0x3083088d3ef4ab24L,0xa2959e2b8411405aL,
  101050. 0x72732346f6ec7452L,0x260a48eb44d2b722L,0x00000000000001c9L },
  101051. { 0xb5f775e0b1160f42L,0xd7b0ebb4266a2d91L,0xf66d1fec455c9e75L,
  101052. 0xbb3adc9e66d89a69L,0x0c49158dd66a3216L,0x5eab18da51e0df4bL,
  101053. 0xc008165e7ca542dbL,0x6007ee56065967f6L,0x00000000000001afL } },
  101054. /* 61 << 413 */
  101055. { { 0x3e43fea8d59d042dL,0x826f5eccd135dcddL,0x937fac11e783cd85L,
  101056. 0xe514de033495a28fL,0x16da07dc0217f127L,0xdd4edb0f9f1049e6L,
  101057. 0xf4bab49015317cc4L,0x8a4d5834510edce9L,0x0000000000000048L },
  101058. { 0x3daca528a6ab3760L,0x4a210108aa22cdb0L,0x8f7d2289cd53851dL,
  101059. 0x494ff277eaf66a0dL,0x406301d01b33a9d5L,0x1993932f8d87f67eL,
  101060. 0x20ae660e73829af3L,0x3bb045bf23729097L,0x00000000000000eeL } },
  101061. /* 62 << 413 */
  101062. { { 0x3131547bdda780aaL,0xec4bbfd7618a818bL,0x06a9305b376c9580L,
  101063. 0x7af0133e4068efa0L,0x089725c5c0dd9815L,0x41620e90380fc678L,
  101064. 0x3e93df46704179fdL,0x350b0a9f498b064aL,0x00000000000001c4L },
  101065. { 0x46d40dfd908a6651L,0xe872529e45405cb1L,0x71f9883ba68ee627L,
  101066. 0x77732ecd56e0c803L,0xcab27f558c00c613L,0xd74f55bc6d431b96L,
  101067. 0x84426040a332bb37L,0x9f1aca8ac247e7adL,0x00000000000001f4L } },
  101068. /* 63 << 413 */
  101069. { { 0xd491491efd080c64L,0xfb48d7df52544552L,0x2dc3bca98e495dc7L,
  101070. 0x4a82f1464dd3d735L,0xcd7034f325427421L,0xf25d1072fc1e5323L,
  101071. 0x1d90639574c48551L,0xd3383ab8d11bc0e8L,0x00000000000001eaL },
  101072. { 0x9b2bcccbe3d16f54L,0xa1f4b6eb85354b8cL,0x4c6a0456950886a1L,
  101073. 0xa36a9009f5394ac9L,0xcfd0a2a221950a10L,0xf4ca275ede4cff54L,
  101074. 0xe755c08c693839a3L,0x4f04cd6185190443L,0x0000000000000190L } },
  101075. /* 64 << 413 */
  101076. { { 0x61d252da63d7540bL,0x5977687dba87605eL,0x53be7d04f8f3558eL,
  101077. 0x76c4c49c99f1aaf0L,0x129e0bffce8bf731L,0xcdde32a166a1555bL,
  101078. 0xedb9e9e5d4bc5b6aL,0x675b5d1252bc3c6fL,0x0000000000000130L },
  101079. { 0xfb3dabae91b491f4L,0xef1967c39ea0b6d1L,0xb68a0e75e6370d8eL,
  101080. 0x6dd017fce2ffb7b5L,0x7e3dc82606d66169L,0x802b269056271658L,
  101081. 0x117a4ee3c3da3c9fL,0x80bb9fcf167d09afL,0x00000000000000d0L } },
  101082. /* 0 << 420 */
  101083. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  101084. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  101085. /* 1 << 420 */
  101086. { { 0x73a6ba3810a8c4fbL,0x5153d959ecc93e5dL,0x7ca58012b59e9871L,
  101087. 0xedc0dbefafd442f1L,0xb9050a22b9cf7691L,0x3d1e96fe464d017dL,
  101088. 0x541781a482074dcaL,0xedce0db38b355413L,0x000000000000006bL },
  101089. { 0x1a13e3eeae2b39c2L,0xc431081d3c218179L,0x5cbc14c1ae68b7c6L,
  101090. 0xcf2559bb9005a304L,0x14d7c1e92ec7aed5L,0x5c379bfe1e2e2f0dL,
  101091. 0xfc33e4d2886f0cf9L,0x2f14e7d0ac4e1d17L,0x0000000000000071L } },
  101092. /* 2 << 420 */
  101093. { { 0x27e639c92c82d5c0L,0x035527b8104b9d44L,0xd0a7f3c88a17be05L,
  101094. 0x3c529b91813cb246L,0x296074b2b8e54b08L,0x660118578dca703cL,
  101095. 0xfa30e9de41606a8dL,0x2652c08c9ad1d94aL,0x000000000000006eL },
  101096. { 0x09724ba6d42d26b2L,0xc0a02c2e25eecab7L,0xb004174845e7fb83L,
  101097. 0x24e80b604503354eL,0x4f3045f9da55516dL,0x97d76335cc7b2627L,
  101098. 0xc8bfd79bb380f10fL,0x987396522becbc27L,0x0000000000000146L } },
  101099. /* 3 << 420 */
  101100. { { 0x9394910f0093fd88L,0xff7760d2547fc3e1L,0x7b81fcf5a904c24eL,
  101101. 0x120a558dfd80644cL,0xfad07009a715d6fcL,0x24bd3ad8abf6246fL,
  101102. 0x7c5b04c779c968a7L,0xc7df9266108ad586L,0x00000000000000d3L },
  101103. { 0xe37db2e0b655b6e1L,0x0a029277568c6373L,0x0bd0526f428a6b69L,
  101104. 0x54bd7b9b3d4f3847L,0x42caca2fcb6bd60fL,0x657b0f1f6d10bfa6L,
  101105. 0x97f9f99d0fef238dL,0x93171b4dcc3795a8L,0x000000000000009dL } },
  101106. /* 4 << 420 */
  101107. { { 0x83fa275b0ddd2ba9L,0x71f5b43dbaddbdeeL,0xb67814112244290bL,
  101108. 0x075580601244c56cL,0xfdd85cce2ce4fc6bL,0x7fc52dace53b1502L,
  101109. 0x3243b95255a68467L,0x06ef6a6540900cefL,0x000000000000009fL },
  101110. { 0x562d06ac65457f82L,0x9dbd63519a9e8e58L,0x0d218265496d9349L,
  101111. 0x940bf3f4a218ec30L,0x1e9c0aa3d605883dL,0x2cb9bcc6427f8a5cL,
  101112. 0xba3119b23685376cL,0xfc2c2f0df0c5783fL,0x00000000000000dcL } },
  101113. /* 5 << 420 */
  101114. { { 0xb7b63d0fa73a1aa4L,0xfadba5955532ec0fL,0x19a61405ff9e47d6L,
  101115. 0xd9a44ef1aa210afcL,0xcab8bd2c3c3e2b07L,0xdd8f8d154e1428a8L,
  101116. 0xa5eabcc591f63ff2L,0x7dd9635666f368c9L,0x000000000000018aL },
  101117. { 0xb35c9e17d84c056dL,0x0f27cd01eddff5deL,0x855c10a92c0d1066L,
  101118. 0xc7aee7feb4bfb648L,0x9f9d978d5803338bL,0xfca5a25f4f4f2b95L,
  101119. 0x9d5d5fbfadf37f8aL,0x13482b1e5059c65cL,0x00000000000001a4L } },
  101120. /* 6 << 420 */
  101121. { { 0x6e95a3aefda1ffdfL,0xc4014ebcea5aed3bL,0x915719f862b64816L,
  101122. 0x2ea08a71de90b2f6L,0xd2b45d301b4836dfL,0x5647580021840212L,
  101123. 0x169110f6ffca7e1aL,0xb32ee8a9f5f43dfdL,0x00000000000001bbL },
  101124. { 0x7ba4dcd71962c792L,0x539fabac5fddda2dL,0x48913d37cfc7b6c2L,
  101125. 0xaa2e0fb009d93b9fL,0xa625455b63f79f1eL,0x0f26f80b7c45060aL,
  101126. 0xdba77c6793ee96fbL,0x54ba37408711afcbL,0x00000000000001eeL } },
  101127. /* 7 << 420 */
  101128. { { 0x95da54447500f10aL,0x6935ca2aa6b14d2aL,0x58f4555c30dc9660L,
  101129. 0x949ec82aac954b30L,0x94027576e7fa5c4dL,0x035d525a21960c7fL,
  101130. 0xe3ed1e66c2092c76L,0xbd151aa3df9779a1L,0x000000000000012cL },
  101131. { 0xda7d7c3de59368feL,0xb4c240648ddce4fcL,0x05360bf847eb7a34L,
  101132. 0xe0889804700d30fdL,0x99e1add207f447f6L,0x30e5b7574a4e8762L,
  101133. 0xee9f06953329b2fdL,0xbb6fd0fc6894a597L,0x00000000000001a6L } },
  101134. /* 8 << 420 */
  101135. { { 0xb70f255cee12880eL,0x0fcff02402831c27L,0xd92706fe87241978L,
  101136. 0x75c7a550fb475daaL,0x128971bb889e3be2L,0x032c8d2651f95444L,
  101137. 0xabe4d7dd7251b1c7L,0x8c903fae332e627cL,0x00000000000001faL },
  101138. { 0xd00f7bfc32b6fc85L,0x33ebf5c256e1cd16L,0x0cb224fd42b24457L,
  101139. 0xfd0d2136a0ec189cL,0x4718b1736cce225dL,0x403528f6e04d9e2dL,
  101140. 0xc7312b00e6e6e81dL,0x3d146f6002202a72L,0x00000000000001b1L } },
  101141. /* 9 << 420 */
  101142. { { 0x1a20556e1034bea2L,0xd717d9172be51df5L,0xe95f091286ac317dL,
  101143. 0xf3923fbec1304ee3L,0x3f763629e240f768L,0xcbf933bcc8c2af96L,
  101144. 0x0e7cbef612c667f3L,0x6f01599295d25e69L,0x000000000000012fL },
  101145. { 0xf941627f4b56bdafL,0x06ee3b59eec4ed47L,0xb2c0882e4d951b00L,
  101146. 0xf5304c7c8652dbcdL,0xf59e2884a6245127L,0x2f9752c14e4444a4L,
  101147. 0x91d5fa7af8ded8f5L,0xe5bde5985c3a5632L,0x000000000000003dL } },
  101148. /* 10 << 420 */
  101149. { { 0xd9e55a11a0d1be9cL,0x4c3bfaf24c1c1b10L,0xb0d8ba7d2e8bdca5L,
  101150. 0xd67631c3e2b2f07eL,0xa7bc810f085dc2acL,0x0df53d51ea54ed35L,
  101151. 0x09cf707235ba17f4L,0xd6bd518ebe70853dL,0x000000000000004aL },
  101152. { 0xa7cd3940b78c4776L,0x9ba0f564e9be7ca5L,0xc40944c61c45432eL,
  101153. 0x44fff573472b1abcL,0x80ebafa1c1ec6836L,0xff7eb86e0c55f71fL,
  101154. 0x20c8e2695b805b7cL,0xdf0e571b16aa5eefL,0x0000000000000199L } },
  101155. /* 11 << 420 */
  101156. { { 0xb765a24b2af340d9L,0x958178050b487cdeL,0xf2b88c2cf47f322aL,
  101157. 0x7fa33ce51ee6fa6cL,0x98002c9a11a0096eL,0x5507eb0bbb6e514dL,
  101158. 0x7b3dd65c1a52bdceL,0x80a29cc867bdeb7fL,0x0000000000000069L },
  101159. { 0x0cdc241d6d7c8921L,0xb1506bfc039a455fL,0x14ecf2f7ee18c2bfL,
  101160. 0x3317ba71027f00feL,0x2c12d6706662fd91L,0xe9cedbfd87d5376fL,
  101161. 0x3e0f51b5b3bc972bL,0x2450c347b2c1a068L,0x00000000000001e7L } },
  101162. /* 12 << 420 */
  101163. { { 0x484732401f8815a7L,0x46168826199e1b61L,0xbb9a52bc07807f97L,
  101164. 0x7b3824d9ba31351cL,0x67cd58b460a2da3cL,0x0d99d6d621957903L,
  101165. 0x7c3380d37b459b99L,0xdd0a602353b07588L,0x000000000000010cL },
  101166. { 0xebc49bc0ab2213b8L,0x540f6fc558615ccaL,0xe873ee56d8bc64cfL,
  101167. 0xaed30c80ffe085b5L,0x03d39214d0de645dL,0xc6ec44b959f64e2bL,
  101168. 0xffafef87c7f37e31L,0xef7985a21ea39c70L,0x0000000000000159L } },
  101169. /* 13 << 420 */
  101170. { { 0xcddb65c37f55b79aL,0x6e26c45f5d85b33eL,0x111919ceb1470acaL,
  101171. 0x7aa294e0e6c06007L,0x35207de63c009509L,0xcf119448ddd0c472L,
  101172. 0xc01bf29c3c05546dL,0xadf8465854126fe9L,0x0000000000000054L },
  101173. { 0x2c13d69dfef83427L,0xe539c2da0960af28L,0xbe374a8297ccc699L,
  101174. 0x8020d224523d7f91L,0xdab7f7d6531b6154L,0x37ae51127cfaaf1bL,
  101175. 0xb5e3e2036f69e8a9L,0x4291b0454b708b58L,0x00000000000000e9L } },
  101176. /* 14 << 420 */
  101177. { { 0x4c085162a78092beL,0xcf80206180d90634L,0x95c122b69f81ff39L,
  101178. 0x5c936cacaf784312L,0x9f4796ae350bde15L,0x0fd2eacad138a2f3L,
  101179. 0x5764f1cec825ae43L,0xc9b9d5ec9b4f1332L,0x00000000000001adL },
  101180. { 0x3049e55456c15c19L,0x61c0dd81e3fcab36L,0x2132d9b2376e573bL,
  101181. 0x875184b1c05ee74cL,0xc37f8e51a427b9e5L,0x6a2fb427e6c5b9d5L,
  101182. 0xcf13c1ef7b754328L,0x146447f8d1749292L,0x00000000000001e3L } },
  101183. /* 15 << 420 */
  101184. { { 0xeb3388479418ced8L,0x68f55b32506ed21cL,0xccdb0bd335ec2dfdL,
  101185. 0x63b075e8b65f515eL,0xd3d07af8f6905524L,0xad5a170ad1589131L,
  101186. 0x97ffc56d61582a3cL,0xf15add9a34c2d2e4L,0x00000000000000e0L },
  101187. { 0x79d0330ef5d91b62L,0xf3e8f69ce46eb580L,0x1b5ea4a8067e7599L,
  101188. 0x425084336b335559L,0x85863c2eb4ad41bdL,0x9572cd16aa1db8fdL,
  101189. 0x55756be84f205835L,0x82ed485f53de8f6aL,0x0000000000000049L } },
  101190. /* 16 << 420 */
  101191. { { 0x7d6e42404e1080a4L,0x5cf6c427e1adb078L,0xe74ec6033d594e28L,
  101192. 0xc0185404bdf853f2L,0x287d94dec3335717L,0xf735656ac3179807L,
  101193. 0xd356f2bf604e93f7L,0xb1fdc2f2cbe27815L,0x0000000000000151L },
  101194. { 0x7b17e356da1d3ea1L,0x0ed57d7ea7af9610L,0x4a6ac3e53ae89c0eL,
  101195. 0xc8f722b85f82b4a3L,0x453d5a4a7f0850faL,0xd6f79d237b3ac4a3L,
  101196. 0xe1c9dfc20dbae800L,0x56e4f0f5c4b9258eL,0x00000000000001caL } },
  101197. /* 17 << 420 */
  101198. { { 0xe80852c1ddc395faL,0xe58da639cf6e9427L,0x2d80ef4ccf9f6f4fL,
  101199. 0xfc2bc3b9469f9ec9L,0x90dd2047b5059098L,0xbc7dc5b8a38a135dL,
  101200. 0xba7a504e14d5187dL,0x1e5cea620bf39092L,0x000000000000016dL },
  101201. { 0x71afc93587e487e0L,0x5ecc86b7ef01d44fL,0x0987add313d2d4e4L,
  101202. 0xf64716e189b1c583L,0x2ef8a366b9927a7fL,0x83bf2fb6a43e9f9cL,
  101203. 0x16f2b1856dfd62d8L,0x0720e52aeae049a7L,0x0000000000000027L } },
  101204. /* 18 << 420 */
  101205. { { 0xb372ca6459f57bf1L,0xd71dd5777941180cL,0x71685edf4e9ff4caL,
  101206. 0xe587c1c10ea50561L,0xa8807733b4de6fa7L,0x37fd0baaf54d261bL,
  101207. 0xbd41723b63d60c25L,0x1db8a7d40ee723b6L,0x00000000000001d2L },
  101208. { 0x4ed434f57731688eL,0xcd0b204990872443L,0xf1cf19d6f08bcd59L,
  101209. 0x0a2421868d0e3d48L,0x05071d83631b9d75L,0xe6c824d71f5ea438L,
  101210. 0xee72e77f733eab36L,0xa2edb32480653b67L,0x00000000000000efL } },
  101211. /* 19 << 420 */
  101212. { { 0x3c66f086179844eaL,0xa6a8ea1bd3130343L,0x392cdad799fc9f0bL,
  101213. 0x3394632e63b0b646L,0x29bf4836f7748943L,0xff18e250c24214deL,
  101214. 0x6758a91d0c636fd6L,0xd2cc47e168fee4d3L,0x000000000000013bL },
  101215. { 0xd6d1f413ef6d4af9L,0x0092046fc87c16e4L,0x93d8aa9f3ce6f5d9L,
  101216. 0x8f7642089eeb6b0dL,0xb40ff54c3cf6b39eL,0xafa404ed994e9d85L,
  101217. 0xe0aaa8228a7a8b6fL,0x74e6a937fd01cbb6L,0x00000000000000c6L } },
  101218. /* 20 << 420 */
  101219. { { 0xf52e68cc04a4640fL,0x469ce7167a073c4bL,0x3ef46bb0bba28a24L,
  101220. 0xb963bc66d966a270L,0x5195fa9dcac49906L,0x3265912718c2f3bbL,
  101221. 0x5bb5b809a43a8d57L,0x654653503806ba70L,0x0000000000000163L },
  101222. { 0xb3ddf2d683ef27eaL,0xc490dbad6a698a1fL,0xa13676175dbef692L,
  101223. 0x2a41f99f4a8d7af3L,0x3a6ed906f7cd77e5L,0xc842b863533e5cfcL,
  101224. 0xc098708ee1bec806L,0x9c21e280e32088cfL,0x0000000000000000L } },
  101225. /* 21 << 420 */
  101226. { { 0x8404d82c0f06d9bcL,0x547289a5294acf16L,0xb468ae64c502621dL,
  101227. 0x985c267fb3b353a2L,0x4e11dd3e5721f0b2L,0x2f5cd568ce1a24f1L,
  101228. 0x1dedf5ebb5fb7148L,0x42a82389c1626fbcL,0x0000000000000110L },
  101229. { 0x8543730601bfc317L,0x7f7784a2e5cae3adL,0xf3dacc6469be54d6L,
  101230. 0x038528a3c9d9e32fL,0xf98309683a6f6357L,0xf325307d3f837cfeL,
  101231. 0xe805afa33af3d0c6L,0x275272065252e357L,0x0000000000000078L } },
  101232. /* 22 << 420 */
  101233. { { 0x0aaa344b99371256L,0x0a066fe2d37c69aaL,0xdf78a35d25e09230L,
  101234. 0x53c1bd11d8dc7960L,0x02a2444bc9fce3efL,0xad94f6321b02c0f9L,
  101235. 0x827e0e363ab86bb1L,0x378fd466c7c1a0a4L,0x00000000000000ffL },
  101236. { 0x94780574032e1eeaL,0xc220064001cb9b20L,0xa27c53bbaa195a72L,
  101237. 0x41cfa39c1fd255aeL,0x0727c31a99f3b693L,0xea608501ae941816L,
  101238. 0xf6f564d91ffecb1bL,0x78a17e5e5f980bddL,0x0000000000000188L } },
  101239. /* 23 << 420 */
  101240. { { 0x8bb946e2dfa393a4L,0x08fb2f81f615c758L,0x1db09d68b2e74865L,
  101241. 0x470d784d3fb6b0f4L,0xd7e9135501b6735bL,0x8b7d570a051cba9dL,
  101242. 0xfc3e0b2c70b205c5L,0x06869d5e1e7cbb3aL,0x00000000000001adL },
  101243. { 0x55ca4fd936ef4edbL,0x69d852beecc47c2cL,0x1bb04f285c5b235aL,
  101244. 0xbc4ab04d098a7ba8L,0xcc8ac9027b5f540eL,0xf538468155d8047bL,
  101245. 0xe494d2587ade6e54L,0x7f6619105cd2e315L,0x0000000000000134L } },
  101246. /* 24 << 420 */
  101247. { { 0x9f89d5bb56aa4115L,0x63fbfdcac2d35218L,0x595276045879b205L,
  101248. 0x546e9805863191fdL,0x01d6bb2b492bbed9L,0x837d7e9c73daa6dcL,
  101249. 0x3d3a90f2363a7a49L,0xb50a603d703ec617L,0x0000000000000160L },
  101250. { 0xc7d60aa51d767edeL,0x78b275545178ee0eL,0x45d33bfbc598f46aL,
  101251. 0xdb05f976bf59b320L,0x4d4d3206f704d3a5L,0x883fada582590e40L,
  101252. 0xe9369fe09ef9a17eL,0xc1d11e068661cad5L,0x000000000000009dL } },
  101253. /* 25 << 420 */
  101254. { { 0x76b3e52bd80b2b0eL,0x1ddeab08d57b3e26L,0xadeee95e05d4095cL,
  101255. 0x8a441ed876b470c5L,0xb40ea63b598bb942L,0x7a69955764e9311fL,
  101256. 0xf41e2dbda3b34c65L,0x36041d213038b04cL,0x00000000000001a0L },
  101257. { 0xa8630639aff87e50L,0xcf330929a9050224L,0xe1343f8f9555f24fL,
  101258. 0x7b2b57fd4486e5beL,0x901a1fa3892f8985L,0x48ecf1c0ba0578f9L,
  101259. 0x062036a458c5803bL,0x64db8ad3d495e812L,0x00000000000000b5L } },
  101260. /* 26 << 420 */
  101261. { { 0xd828a1eea7cd3d7cL,0xa39918741c46e505L,0x2907f22b977a89dfL,
  101262. 0x1a97284ea8bda785L,0x3be00be53e2c7eb8L,0xa09b9df661392237L,
  101263. 0xad6d2e582734a180L,0x9c8fad43f305fea8L,0x00000000000001b1L },
  101264. { 0xdf8354b4d3157befL,0x1bbbb2ea3fff9736L,0xd875650ab541b7d2L,
  101265. 0xa219b4ff11f808dfL,0x8fddc92292b811e6L,0x8ae8e5e556e34e2fL,
  101266. 0x9c90ed9d431f2ef4L,0xb83c8e8d6e5aeb06L,0x0000000000000033L } },
  101267. /* 27 << 420 */
  101268. { { 0xab542a3bec6d5a30L,0xf3a89c0cbcedbe21L,0x06d93f10f42b171fL,
  101269. 0xc05c30b19b2f005bL,0x4402de5b488c69b1L,0xc4fb5dac03bff7ceL,
  101270. 0x8cd55dad7ab06022L,0x52af902df9b2cfafL,0x0000000000000193L },
  101271. { 0x16f1519f32e721a4L,0x868f20628f21c68dL,0xd0af3d8f1d1b6568L,
  101272. 0x476cabdc0655b4e2L,0x180bc7c910912bd7L,0xccbe77e248758e83L,
  101273. 0x5248fe84c984174fL,0xe69a6bcc64f9eeb5L,0x0000000000000073L } },
  101274. /* 28 << 420 */
  101275. { { 0xf736440000feca1dL,0x037b3d49852c31b8L,0xea78fd256c6687b5L,
  101276. 0x2ebe2e7bf447b783L,0x654f16b156d7f1a6L,0x8f71c03583b9bec7L,
  101277. 0x26211de5f46e3a73L,0x64c26d1d9d823907L,0x00000000000000d4L },
  101278. { 0xf055c6a0dd7faf2eL,0x0f98d13a2ca825c0L,0x539a62a67bc8d8dbL,
  101279. 0xadc25a49b69842dcL,0x8a5f304557914947L,0x9c8541cfdc1ddb47L,
  101280. 0x9e133348f4ec01faL,0xd0fe103be3eba2fdL,0x00000000000000c1L } },
  101281. /* 29 << 420 */
  101282. { { 0x5b1d13ec418a83dfL,0xe9288a19dd578685L,0x8c90adfff1199fd2L,
  101283. 0x535f7ff5c9dfea76L,0x2bc4a3dbf0846631L,0x36a1bd74a6b94ae2L,
  101284. 0x5c61d3a32c51a655L,0xf03d31519da1a40bL,0x0000000000000118L },
  101285. { 0x4deee9fda7c44cecL,0x4d3cba4911e4cca1L,0xeb066f59b33266dfL,
  101286. 0x45b3856fb3d19c6eL,0x3ac917f0cc142930L,0x8d067ea4a5cc182aL,
  101287. 0x1dbbb1c652ee009cL,0xd5769d6027ff54c7L,0x0000000000000110L } },
  101288. /* 30 << 420 */
  101289. { { 0xa15a7bbf8eefad48L,0xe6e89e742651197fL,0xa61a3e84bd94ed51L,
  101290. 0x0d244f552b588bf5L,0x65a05bcd083d4e00L,0x439c2e1c135d813fL,
  101291. 0x48e05e558b3ffcb7L,0x215bb215254e73dfL,0x000000000000010cL },
  101292. { 0x240758f78096e07dL,0xd60bf24f18137989L,0x0b8be39738a3a7f1L,
  101293. 0xad8e978490bed9d6L,0x292131c39b75ec5aL,0x1159fdc879cc4fdeL,
  101294. 0x42fa8c1f64454a70L,0xc8c4d18461a34ddbL,0x0000000000000053L } },
  101295. /* 31 << 420 */
  101296. { { 0xf64f3d95dfb33552L,0x4f52fde0ae6e4644L,0x43ae88ccd887707cL,
  101297. 0x0873f0578ffac488L,0x39fae3481d00f41eL,0x9f0f2187f47c974aL,
  101298. 0x5e63a28114aa2ad1L,0xe12e811cc6985285L,0x0000000000000196L },
  101299. { 0xab5ae9ccac35731eL,0x8967bfb5bed4d30cL,0x92ae61f5c2ed4d32L,
  101300. 0xde3ec6960ad912a8L,0xc931c7b5cf649a14L,0x5588d02492043e7bL,
  101301. 0x19c4fe955cc40a0fL,0x9709c5ab8e76d659L,0x000000000000018aL } },
  101302. /* 32 << 420 */
  101303. { { 0xc3c84fd2b5f54682L,0x3488244e32c3a3d6L,0x08c89d9ec1f6e2a1L,
  101304. 0x9a8aadac957ef7deL,0x0a54f7fa07cca3e8L,0x42ad7295ba97bb36L,
  101305. 0xd82cae54871ae976L,0x0eb9357204bf46d8L,0x000000000000009cL },
  101306. { 0x2a3aa55f45ae741dL,0x9b2168b79034b489L,0x66c66f0921f91264L,
  101307. 0x6823b0fb70703195L,0x5e43efad96e215b9L,0xe1940d5a4ca42901L,
  101308. 0x792cdc63294ccde6L,0x5be5af8a4446ebb1L,0x00000000000000b8L } },
  101309. /* 33 << 420 */
  101310. { { 0x34fc69cbeb2f5277L,0xc7e5637326425593L,0xb0a2de928f05fc88L,
  101311. 0x143963814468bb18L,0x926b5160a3b0a9d2L,0x8af3d2af44487fc9L,
  101312. 0xf93e45cc3bea6d12L,0x6a8eaa6a97905e78L,0x0000000000000184L },
  101313. { 0xe3d982841f13bdd8L,0x8a93c07ad628c0c2L,0x12ff398667d10ab3L,
  101314. 0x9de71f1a25b30544L,0x4193e07914788cedL,0xa297bf3b8979e06fL,
  101315. 0xaaf8e7c8a5c33e4fL,0x996bad366c986dbbL,0x0000000000000192L } },
  101316. /* 34 << 420 */
  101317. { { 0x3cc8f593e5967354L,0x6526ed4871aed083L,0x6ed8306e8209df3fL,
  101318. 0x3b6811db26d0cc40L,0xfecb44243ef4bfc4L,0x7b1d0c977c380292L,
  101319. 0x5f8d1053f3155334L,0xd5a6671d57606f5fL,0x000000000000018aL },
  101320. { 0x91a333f78ca15d85L,0xe401daa9ccaff56bL,0xecfc424a3642272bL,
  101321. 0x293bac7dc265dabaL,0x3728937d35176032L,0x32095630b8dc5e90L,
  101322. 0xa7e40a33fa3238b2L,0x800e51aed54ae7b0L,0x0000000000000112L } },
  101323. /* 35 << 420 */
  101324. { { 0x5e9ddc946cfe150dL,0xe80cdf7de931ae6dL,0xd653e42269e75084L,
  101325. 0x5f2457112d80bb7eL,0xdf34a45bbaa1ff31L,0x4aa1544db4555a76L,
  101326. 0xbe131a26420ba11cL,0xeef42ea9df8e840cL,0x0000000000000075L },
  101327. { 0x0954b8900447d3b2L,0xb56748258273dd87L,0x4e475be49554e8abL,
  101328. 0x9565d985123d94dbL,0x5c2d1bcec2abae12L,0xe74826e441d39436L,
  101329. 0x0a61e8d6e5c430daL,0xa6db3e630f131767L,0x000000000000012bL } },
  101330. /* 36 << 420 */
  101331. { { 0x48ac5636f221fa1aL,0x8b75f29afa87732aL,0xa56becb1ba0db0ceL,
  101332. 0x372230897daf8fc9L,0xe2569a163d2f2365L,0x52509c3fe5a4b5a5L,
  101333. 0x78158611cfa993eaL,0x9935db074f0642b2L,0x0000000000000099L },
  101334. { 0xbef1547fa883def9L,0x5ea9d1b0c3ffcd28L,0x4aa992f9e8cd0500L,
  101335. 0xc259eb625a46f7beL,0x242f5516e7d4212bL,0x7abf19ecd6fbd446L,
  101336. 0xc95987380d54d6a5L,0x5622a0476a7b5e9bL,0x0000000000000190L } },
  101337. /* 37 << 420 */
  101338. { { 0x0f55ed468bf89a5eL,0x1cfc2ac48952261fL,0x9c3c347ee4cba9c5L,
  101339. 0xc308a0f46c3adde6L,0x01054a9145571f72L,0x1cd4829193982030L,
  101340. 0x74fc84ff51306753L,0xdab8cd4e8cfdaa2fL,0x00000000000001a3L },
  101341. { 0xa224dad5cded7237L,0x49d51a129bdf65aaL,0x09a36334a4f5586cL,
  101342. 0xba0faddf2ae77a6bL,0x07b748b72f29e747L,0x9623f46e3478ff8eL,
  101343. 0x518b3bbe8b3af3d8L,0xc4fee8ad78840f15L,0x000000000000017aL } },
  101344. /* 38 << 420 */
  101345. { { 0x5650b564bd61ce2bL,0x7eaef69224f299e2L,0x2a0df96fe6d4489cL,
  101346. 0x812d43518ce9d28dL,0x0815a72b59e9646fL,0xd7c2973b017708e9L,
  101347. 0xbb2ff9abd4d799b6L,0x2801293e04228a85L,0x0000000000000120L },
  101348. { 0x509c20ae3c5f9553L,0x0b59b77c393ba611L,0x2635f780da2c8feeL,
  101349. 0x8f2a267b41f93f7aL,0xff6659a7537ae88bL,0x9a224d7a7fa76913L,
  101350. 0x191113ed42cad3dcL,0x0fc807e43f06db46L,0x000000000000015eL } },
  101351. /* 39 << 420 */
  101352. { { 0xc1ce03c9b0f7ddc4L,0xe9c3a1f6b5545247L,0x45e0feb9c1c782f7L,
  101353. 0xe2c1170d5fa69f36L,0x155bf55e15407d53L,0x54d33d0902d578d2L,
  101354. 0xf566ec081442a6ddL,0x4a144739f67fe9abL,0x00000000000001edL },
  101355. { 0xfb449e2032d83f99L,0x3efebd58fbbaf71fL,0xbeae9abcf8b67d53L,
  101356. 0x64c6c39a442e271aL,0xed0b3ffbd8510f0aL,0x778a250b882c28cbL,
  101357. 0x8924bca243ed493eL,0xffbe451e7e1b7b11L,0x00000000000001bdL } },
  101358. /* 40 << 420 */
  101359. { { 0x75b27730fe4c5bdbL,0x00613beabd678c1eL,0xb12a8fe817d6e608L,
  101360. 0x5c6ce1ae0158785fL,0x72f9e5dc1ed9f069L,0xde5caa848a05f3d6L,
  101361. 0xccfb76716536f0b2L,0xe7378e81b634be60L,0x0000000000000045L },
  101362. { 0x61d85c77f724dd8aL,0x91b6e75dcbe10dadL,0x382bab75adeb3740L,
  101363. 0xafa638046b3b344cL,0x136d755fe8d2f35cL,0x45416ba496ee3d72L,
  101364. 0x92533b2be175a63dL,0x51facb6560cbc9c8L,0x000000000000001fL } },
  101365. /* 41 << 420 */
  101366. { { 0xa9020bb2bf0ca667L,0x2433b9c5d9660317L,0xde04b705f3de0b9aL,
  101367. 0x46fd25b653ec2cd6L,0x0448e5dd4960b51aL,0x4c06d6a16721a33fL,
  101368. 0x19f91ed6655171b5L,0xe5974b3f78df179aL,0x000000000000002eL },
  101369. { 0x77b2230d27199e71L,0x3a655385f30abd35L,0xf5e630e34fcdf51dL,
  101370. 0xd65f90c494535658L,0x01b3c3083f9ebddcL,0x209f2e378f886a9fL,
  101371. 0xc6145c12d24b1178L,0x1431a5087dc07344L,0x0000000000000119L } },
  101372. /* 42 << 420 */
  101373. { { 0xee3406d1e638a4aaL,0xd688467a2fffd8d4L,0xe56cbf66141afb81L,
  101374. 0xa3b39278d2093407L,0x4e0e475b63f0a6a5L,0x0cde9be59e82370bL,
  101375. 0xb20476e7f6a08824L,0xc9193506ccbbb74cL,0x00000000000000caL },
  101376. { 0xe4d9074c6fa10c37L,0x4519eecae5095ad7L,0xfc5f4e21a6b9417dL,
  101377. 0x14bafee71076f557L,0xf6999f8b3b0d7e6cL,0x0fff28293d147610L,
  101378. 0x9db346f7c1dde148L,0xc3648d0cbb06be0cL,0x00000000000000adL } },
  101379. /* 43 << 420 */
  101380. { { 0xd9b2900c41e98124L,0x535389b81e5e8d0eL,0x1eafd301052df92aL,
  101381. 0x6fb1af8781c04ce8L,0xbf53896454faf2a5L,0xa6d771c9c33d4cd5L,
  101382. 0x3cbc0b99b7985721L,0xa8fc80fb4bffec76L,0x000000000000001bL },
  101383. { 0x669d9031eb22ffc9L,0xff1d9af297694f7eL,0xa9583293f7b30304L,
  101384. 0x8c0ec270de3e2e04L,0x6e6490c9ac3051afL,0xe554e8fdb77d165cL,
  101385. 0x2fe899dbd7547c9fL,0xbcd900fc5d034decL,0x00000000000001ccL } },
  101386. /* 44 << 420 */
  101387. { { 0xcd1ed5190f67298eL,0xbd6ec57814d77ae9L,0x6d8b2ab4f38a5da3L,
  101388. 0x55d9555be9a51909L,0xc4988f443f290779L,0x403297f645c00586L,
  101389. 0x1df14102017a5468L,0x81aba58618d98daeL,0x00000000000000e8L },
  101390. { 0x8fccd75d3d78fc68L,0x727adeed26fb1966L,0x1e7cd41598a17cb8L,
  101391. 0xba026b83de88062cL,0xc11e4bfe933e04c7L,0xece90a097abd303aL,
  101392. 0xf09a827b0b73aa6bL,0x31e7471f9fe9d6deL,0x000000000000005eL } },
  101393. /* 45 << 420 */
  101394. { { 0x65d2e86156ac524bL,0xa0f398c44dbd7a05L,0xb51e471f247e0ebaL,
  101395. 0x6fb7515e1cd2b3c5L,0x8d4129cc4019d508L,0x1523c52fe21dad33L,
  101396. 0xe929492f2319f582L,0x76c5862899d946d3L,0x0000000000000160L },
  101397. { 0x4cc4e9553641774aL,0x469e1d4c39518dd0L,0x679e1cf2dbb4dd35L,
  101398. 0x5a34378a7e756f2cL,0x09fe4915534df7d3L,0xbf6a2c47eb2dd58eL,
  101399. 0x073d3889e26761b2L,0xa6edc4da1ba2ad04L,0x0000000000000133L } },
  101400. /* 46 << 420 */
  101401. { { 0xa43aa7fb067722b4L,0xc7bd872e2d19638eL,0x04d8838d6683f1acL,
  101402. 0x6df5e4441167542eL,0x7aa48da719d4b02fL,0x81f9fd58f6237d71L,
  101403. 0x91f5815c17ba998eL,0xb9613d178d8d72faL,0x00000000000000a7L },
  101404. { 0xf529d3986a6a407fL,0x6d22899caccae345L,0xd126146a563863dfL,
  101405. 0xec3241f617f1f2efL,0xe09a57205e69f591L,0x8ef992d3c00ffad8L,
  101406. 0x872822af82dd79dcL,0xa8cc65a6adf02b46L,0x00000000000001e3L } },
  101407. /* 47 << 420 */
  101408. { { 0x67777d056c680d36L,0xcee0e9eb765a8da6L,0x8e18422e2410bd23L,
  101409. 0x087b9b2bd73057baL,0xf6ed0c4373a435b8L,0xbae2117c0aa2620fL,
  101410. 0xb97d1cb5d9ba7028L,0x417aa6bec3f20528L,0x00000000000001d8L },
  101411. { 0xa6daa33f114871ffL,0x889c853e69e3c506L,0xfb5cef1de42b8ed3L,
  101412. 0x249b0fe7e2ec351fL,0xbb94de883fcae45dL,0xfbfa5c9f3a94cc20L,
  101413. 0xb80b5bba253c1736L,0xb23924460770b8ccL,0x0000000000000171L } },
  101414. /* 48 << 420 */
  101415. { { 0xc7d454186a52747dL,0x034cb6d1523d74d6L,0x073a404e0e2b859bL,
  101416. 0x9a38e6d89345da73L,0x4c4771d5c7fdcce3L,0xaee8c00c025c1423L,
  101417. 0x10c94e72d7203e0cL,0xea9f58bb4547289cL,0x000000000000000aL },
  101418. { 0x030c1df531b952a7L,0x8177a6e11d47e37eL,0x9e2222b0de6f3c0eL,
  101419. 0x1ed75c871399560fL,0x9b818c5d829af1e8L,0x75c7751945db80a1L,
  101420. 0xfac13445d73c446aL,0x91a2741362844292L,0x0000000000000027L } },
  101421. /* 49 << 420 */
  101422. { { 0xcb7db4ccc19e2d86L,0x829ccd00df87335cL,0x8d2d73e940ed4392L,
  101423. 0x926cdff5b78c8289L,0x1c76f094e7cc750eL,0xadeb089fa3a6923dL,
  101424. 0x1d1946c3167dc508L,0xca796f6852a57472L,0x00000000000000baL },
  101425. { 0x94ba42d7a1526724L,0xee549d5ca5fd1158L,0x9e5da9d47645a4d0L,
  101426. 0x05d4d6efcdd6a638L,0x5619dcf729ddb41fL,0x34ae766d98d04e6bL,
  101427. 0x125b901956b51686L,0x5127a0b08ce76994L,0x00000000000000fcL } },
  101428. /* 50 << 420 */
  101429. { { 0x8040cbe83e0a2ad9L,0x8be1ff91e6cf93d6L,0x03b887834d371ee5L,
  101430. 0xd70eb00752a3f93aL,0xc3cdb6cfd333a1a4L,0x5edbb599b8f27078L,
  101431. 0x339236a4e1faa8f0L,0x70c8fb9a461463d7L,0x000000000000014fL },
  101432. { 0xd55dbd41033fc6e4L,0xb53ee32b3a7e3f55L,0x2274a2d905b7e980L,
  101433. 0x9b037c48b27fa57bL,0xb0584718ce3683cbL,0xfe230ee62cfae448L,
  101434. 0xe3f0c7eb7fdef3bfL,0x5c3af24ba17e64d1L,0x000000000000016fL } },
  101435. /* 51 << 420 */
  101436. { { 0xe08921a1d2295f2dL,0x7b16da7bc2d62e51L,0xab35c918b7fa9ea8L,
  101437. 0x809eb392dc39f49cL,0xf094f0be00be5695L,0x1a7d60ef782f29ebL,
  101438. 0xf0a9dd07968759d0L,0xdff0d6565ada0b06L,0x000000000000014fL },
  101439. { 0x0875da554d4c798fL,0xbe726982435ee34eL,0x1e880746a069c9e9L,
  101440. 0x0ea957f7eb120213L,0x5f88c63e19f064ebL,0xe07a2047c8a7d994L,
  101441. 0xafd33fef4aeb2130L,0x4b7ad49154e880eaL,0x00000000000000ceL } },
  101442. /* 52 << 420 */
  101443. { { 0xf090e674c02453a8L,0x95c5135eb672a218L,0x5cfa269b7ad4f0b4L,
  101444. 0x35da68b2c36c7952L,0xa8fbb5981f48b8f3L,0xbe2cf8255897269aL,
  101445. 0x503c997f3d216a5dL,0x365f223401fba58dL,0x000000000000008aL },
  101446. { 0xac2cc265454cbfadL,0x36c3406228c1232aL,0x55d6f9f6d9c91dc5L,
  101447. 0x7ee8f96e911d7488L,0x7f9b42d548f93862L,0xd6e242b2add639dcL,
  101448. 0x03131280d2d1eba6L,0xaa3096d2db5b01c7L,0x000000000000009dL } },
  101449. /* 53 << 420 */
  101450. { { 0xce23ccbc11c799f0L,0xb09e370e6d8105a7L,0x05002372a187616aL,
  101451. 0xc34d46e4f41c6585L,0x365fdffff1641b50L,0xd78b6bd5d5283ee4L,
  101452. 0xd5855eced0d84ea5L,0xf3490e30a484c1d3L,0x0000000000000093L },
  101453. { 0x03d85dfff30302e3L,0x800f89f9fbcd54feL,0x75a431e4a8a7bb3aL,
  101454. 0x46a785f87b30b1ecL,0xe90e2b361de5152cL,0xb5b65fcde4ed0df0L,
  101455. 0xd8682ed77fd1e92cL,0x805419c72392b876L,0x0000000000000177L } },
  101456. /* 54 << 420 */
  101457. { { 0x036072e3602365d6L,0x0eb6814b499d5b3aL,0x02dabe21585e81b9L,
  101458. 0xe58f4a6353272f40L,0x442c5511aed0d19aL,0x8c880c028d85cbd2L,
  101459. 0x187265ff24a978b1L,0xcdd62d82452fcf0bL,0x000000000000014eL },
  101460. { 0x8142a2909cd1eeedL,0xeb03b362317c3443L,0x7814dac5d2cf66e1L,
  101461. 0x3d24c15dcdd1a642L,0x1579027d89e46eb8L,0x25bc682cc0c6830fL,
  101462. 0x952370e314712b5dL,0x579a2c0fa50221c1L,0x0000000000000071L } },
  101463. /* 55 << 420 */
  101464. { { 0x3a88a023b129f90aL,0xaf0c62ef2525b31aL,0x89e75e13756fc51dL,
  101465. 0xb3ae0d9d7e69c4ffL,0xf8cd4b08756c7379L,0xbfb1d6468d905b47L,
  101466. 0x35b759f3abfd39c6L,0x67ec7a6a8607a1fcL,0x0000000000000053L },
  101467. { 0x524ec8171b34aa5eL,0xcf1f37cbcce1b38dL,0xdab23e703413c644L,
  101468. 0x4463a1e986c8f8fcL,0xfbb14a202b600686L,0x98b964a57c7bbd38L,
  101469. 0x1fe6c9397c1dce81L,0x5ae65ee42a9950afL,0x00000000000000bdL } },
  101470. /* 56 << 420 */
  101471. { { 0xcf77ab4e7c68e159L,0x941498eb23a412baL,0xddd4b9272ac19495L,
  101472. 0x516bfa1b32e1f686L,0xcd8eb8a8702d0649L,0xf0563debe4f963a0L,
  101473. 0x1bf5e540fcd5127bL,0x0d588b6454eaa78fL,0x00000000000001f0L },
  101474. { 0xfa0dcab27de22d97L,0xc5760a0f5f48ea48L,0x0f8b46db3d33e0e8L,
  101475. 0xa7a1f86fac66a28bL,0xbf23e7cb64923dfaL,0x8a7bdc180ee51801L,
  101476. 0xd4d0d78ef5ffe76dL,0x54edfe409408a217L,0x00000000000000aeL } },
  101477. /* 57 << 420 */
  101478. { { 0x55f79f5cb58dd212L,0xf4801c93dc1260adL,0x658b2bf530175013L,
  101479. 0x5d2a2e5fb90c6463L,0x8adcc6414c2f1448L,0xf4fc68fc1898dc30L,
  101480. 0x04b471f888c1b9f0L,0xe70fe4ba798487fdL,0x00000000000000fdL },
  101481. { 0x24ccae8d0d4d95d4L,0x3be4976338fc4b49L,0x9586e6997912aedcL,
  101482. 0xb3aa52bfb74cc6b2L,0xd96d0f460cc9b267L,0xf02f4f5a27bfd74aL,
  101483. 0xb23ab22c46682e37L,0x9fefdfba01157990L,0x00000000000001fbL } },
  101484. /* 58 << 420 */
  101485. { { 0xc90121b8f156217bL,0xaaf825757939b674L,0xf60bf6a8dda00f0aL,
  101486. 0x5d5e16d8eafba2edL,0xe920fa52f2b9d2b9L,0x4128025e7b9fd078L,
  101487. 0x9abb0d5d331b9fdbL,0xaecee7f1b6dad1b1L,0x000000000000003fL },
  101488. { 0x4441c32ff77c8fe4L,0x3896a2fa0b254727L,0x2fa20f175bf54dabL,
  101489. 0xaef65731d543e3feL,0x2fd6c568ba9dd36bL,0xcf4d161a1fa960f2L,
  101490. 0xdb09ef161aa90dd4L,0xcec37c14a86b9292L,0x00000000000000f1L } },
  101491. /* 59 << 420 */
  101492. { { 0xd9f6ad7dad254f14L,0xf94afff19d0754d7L,0xc7fcf1aa7390a63fL,
  101493. 0x3e1401b4dafaca98L,0x23119a5fb1b00455L,0x2748906273ba24dfL,
  101494. 0x1786deafa8263814L,0x147175799fc6cbbbL,0x000000000000017fL },
  101495. { 0x79696e9e66467ce5L,0xbf7b7b6a3df74e9aL,0x9f13032837bfea44L,
  101496. 0x63fac8d5afcbe8dfL,0x0b3aea515eca7aa6L,0x77a62c62deeb47b2L,
  101497. 0x0afe2fa8ed28a210L,0x1a7e4b557e34cfc2L,0x0000000000000146L } },
  101498. /* 60 << 420 */
  101499. { { 0x2d1c3c48a6c00b46L,0x8e2190ddd2e6f87aL,0x3a98a1d1a272ae2eL,
  101500. 0x38ee3366d3fe5d39L,0x57fc9b50c56eaf4aL,0x8593e95fc6fe6f1cL,
  101501. 0xae51c967e1d59d7eL,0x2a5dbf23f599aa76L,0x00000000000001deL },
  101502. { 0xaedd9ccf7307c238L,0xb26cc95d943b18afL,0x58338caf644bef84L,
  101503. 0xdae311b916f04018L,0x6ba2c14073b20692L,0x7d1e2f7269fcd5dfL,
  101504. 0xf9a0763ce750776cL,0x17496ac5f959c158L,0x00000000000001b5L } },
  101505. /* 61 << 420 */
  101506. { { 0x6cd44056369b1126L,0x76163c1b5053300bL,0x9ea62d1ee93928b5L,
  101507. 0xb19ad078adeb0c1eL,0x0df14acad93446b9L,0xbeb6ed1725011b4eL,
  101508. 0xb1cb0790181ae9ebL,0x39777187d2012ffdL,0x0000000000000084L },
  101509. { 0x7017109513039577L,0xf2401d4a070d136dL,0xe313554aa0841a4eL,
  101510. 0x0fa389e5e8d0c631L,0x2ddd35cd89da61a3L,0x0baa99b9c6d8d4b8L,
  101511. 0xc10864df82dbd5cfL,0x45d1a07927e73c87L,0x000000000000014fL } },
  101512. /* 62 << 420 */
  101513. { { 0x2b23cfa513f0114fL,0x150fd33dbc4f0b34L,0x12c3170a9ad79bb6L,
  101514. 0x46d0cb95b1beb85bL,0xfb7ffa77416e67a0L,0x342c023411484398L,
  101515. 0x7a141e512f2b0cbfL,0xb78b3cfa27ab4f9bL,0x000000000000010bL },
  101516. { 0xb5e185cacd2372daL,0x6c10c435389aafc8L,0xf00d3d16deebb0a3L,
  101517. 0x15de86422e5f7c40L,0xe3855c8935e337bbL,0x400e20877cfc7e5aL,
  101518. 0x8ee2550c2e37e8b1L,0xd0621db2323e0fb9L,0x0000000000000083L } },
  101519. /* 63 << 420 */
  101520. { { 0xa8116eb9db8f861cL,0xf130b16a474aad84L,0xaa22dbec029b6996L,
  101521. 0xd71690ff74108051L,0xc18b20fbc8203260L,0x4768ee8e652d96b6L,
  101522. 0x6533a2229ca212b8L,0x282f0d5a448c7ce1L,0x0000000000000155L },
  101523. { 0x8dcbf8c7a62c88b9L,0x899d99fa49028cc9L,0x6b585197d1d43367L,
  101524. 0xf977bac51bc4e9beL,0x9a829b1ce9a20a04L,0x2ae79e6892febd86L,
  101525. 0x688bf2ee19feb821L,0x3e7f2232c81dfa25L,0x00000000000001f1L } },
  101526. /* 64 << 420 */
  101527. { { 0x3d239c6b6a81c377L,0xbf4d092e7bcf552fL,0x3d2af909abd2cae8L,
  101528. 0x3d5ae04cebef1533L,0x9c57ddd8c7d656ceL,0xa345ac44c552693eL,
  101529. 0xc66e8710b604ff42L,0x5743b43318cb68b4L,0x0000000000000170L },
  101530. { 0x2ae332c9427e80c7L,0xc3c529d4dcaed647L,0x1d1a183473f44043L,
  101531. 0x4f5155d63b71f27dL,0x4239074473ee7e4cL,0xb23433b84e09e697L,
  101532. 0x9a4264daa60c57c2L,0xa7f72ff8486992ebL,0x00000000000000b7L } },
  101533. /* 0 << 427 */
  101534. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  101535. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  101536. /* 1 << 427 */
  101537. { { 0x1352b764a2839e80L,0x61a50d9716058b22L,0xbd02c6879d6ae08dL,
  101538. 0x1349ee8b6679516fL,0x3d7e69c9bc4c2fa2L,0x4c2e12a10d24e1fcL,
  101539. 0xc69535a147436039L,0xa477f86b0ca25c70L,0x000000000000011dL },
  101540. { 0x756e379c2a4c1871L,0x4d0b08b35943df83L,0xd8a9b302cd8f5abbL,
  101541. 0x53865d1e8c240617L,0xd422a9b114a2e093L,0xbdbc3d7d03014fdfL,
  101542. 0xa4c8b35a11578dd8L,0xe4427ef87a3afbc1L,0x00000000000001c1L } },
  101543. /* 2 << 427 */
  101544. { { 0x8af346c57d874400L,0xd9e98cb571098f45L,0xdb40081079565740L,
  101545. 0x0f7625ebed9a7dcfL,0x5d1415d0c93d2542L,0xf87f74b4688d0692L,
  101546. 0x9fa2e31b9f648523L,0x4e505024cb387129L,0x0000000000000006L },
  101547. { 0xe2087f9c446e7206L,0x60f69447b48bb585L,0xda3658622020bbf2L,
  101548. 0xc8a263673cd51256L,0x8cc663b1c62f7c5eL,0xc86d4165e72bbd20L,
  101549. 0xffce9039aac68be3L,0x6c6c747cc3c360a8L,0x00000000000001d4L } },
  101550. /* 3 << 427 */
  101551. { { 0xa74637fe39b2b1cbL,0xe81e51e9f280efdeL,0x450ba9ae6356c12aL,
  101552. 0x0d23bf43d9768f5cL,0x686e344b1c4fa118L,0x3b6f0edf9ecf4874L,
  101553. 0xf51830635a22fdd0L,0x6ef7d57de9ae039aL,0x0000000000000046L },
  101554. { 0xa6a7f6f54fa66238L,0xd61028909787026dL,0x12e10e29801cc4bfL,
  101555. 0x660a4c82e98a16b5L,0xc22e4d53415ec2e6L,0x4c0ac2c10e64c2faL,
  101556. 0x2d2d2bc87c576994L,0x843f23adfaafdf3cL,0x000000000000009fL } },
  101557. /* 4 << 427 */
  101558. { { 0x290e4ff1781f48a0L,0x020d9e3d66d6f7ebL,0x1c0da98e084d19d4L,
  101559. 0x42c64660030dd190L,0x996602dd29aa0eb8L,0x7719fb105d0d86e5L,
  101560. 0xe20032629145140aL,0xd2dc210c97e687a2L,0x00000000000001e3L },
  101561. { 0xe704ecdb18c76449L,0x30a4377044131380L,0xaec3cf4b372cf9a8L,
  101562. 0x4033c8c03df882a5L,0xa5e23683969af81fL,0xf42c5b9580263b3aL,
  101563. 0xbff4ed559323c9c4L,0xa1d992b800ef132eL,0x0000000000000100L } },
  101564. /* 5 << 427 */
  101565. { { 0xc9701a1591849a47L,0x05a00e8ceb572ad1L,0x0d5062393cf6f9dcL,
  101566. 0x6434131bb421b5ceL,0x1142248aa0c289e7L,0x9b5a89d75735da7fL,
  101567. 0xbf8377d6e3ff625eL,0x076cc0af36a7fa2eL,0x0000000000000173L },
  101568. { 0x8e8aab15aa837baeL,0x96c61e2b389fb0b3L,0xe4f00866954a8633L,
  101569. 0x9db8fd3f8311855fL,0x317810367e76eae0L,0x4633933d1aeb3b62L,
  101570. 0xc47a2dc1cec925d4L,0xae1c392369aa084bL,0x0000000000000002L } },
  101571. /* 6 << 427 */
  101572. { { 0xad854bde1842eb75L,0x52d44a39fd913403L,0xde2d5fdd964bf528L,
  101573. 0x00fc48b0be2d138fL,0x497778287968e858L,0x326f8a6379b5f778L,
  101574. 0xb093b6d8026ee753L,0x36bd9300067c336fL,0x00000000000000b7L },
  101575. { 0xf63d269d3d3b0373L,0x7fd4555e8901ce7aL,0xfeb8a5abf0c00754L,
  101576. 0x2b855524d1e4f38aL,0xeb245c9a10593ea9L,0x8d0428915303ae29L,
  101577. 0xcc86c4617be4ec45L,0xd05d843bb1a35c03L,0x00000000000001a0L } },
  101578. /* 7 << 427 */
  101579. { { 0x2c5034d201ceebebL,0xe55562ee8a5f5149L,0x72de18472b04dec6L,
  101580. 0x59f580cc12742363L,0xefc95b49fe90504cL,0x1f7355ee93d13fb9L,
  101581. 0x2ea3bb73ec8811e6L,0x8f5c272a92208e52L,0x0000000000000068L },
  101582. { 0xeba0c66dc7f8b064L,0xda096db86441a58eL,0x345dce44b56dd9d4L,
  101583. 0x4adfaf2326fd92a4L,0x35c0f9a74a8d2df2L,0xa2a0f0cf8a6afa89L,
  101584. 0x05a14a6862097318L,0xb10a3b7dd8a0bf21L,0x00000000000000dcL } },
  101585. /* 8 << 427 */
  101586. { { 0x4a3ba7d35a80eea6L,0xafabc45f138ed8a4L,0x8500a36b08955eb2L,
  101587. 0x3d6b2ec617a6c2afL,0x23470f5958d5e66dL,0x5db86555a1df0eacL,
  101588. 0x3a2e16179974c9bcL,0x08480d1eb4dfe2e6L,0x00000000000001d8L },
  101589. { 0x89ec8a91c3dca584L,0x6c06d419f2aac2beL,0x427cea3ca57e58c9L,
  101590. 0x54ae1a697b0b1b12L,0x40b5c77e3965ce2bL,0x3223c7e53ce07598L,
  101591. 0xc2df893146948ff6L,0xfd997c8655d12af0L,0x0000000000000155L } },
  101592. /* 9 << 427 */
  101593. { { 0xcdba58e2ed6d1a95L,0x345e6a00b4ca1bdaL,0x1c65f4f8b08907d1L,
  101594. 0x99506f0ad15a285cL,0x602479cf8c31df19L,0x935e607397b6aa05L,
  101595. 0x57d3627e1d814bf3L,0x4161619e26d070f0L,0x0000000000000085L },
  101596. { 0x5ef502f18fefd13fL,0xc0a551ba2241012fL,0x655978a86c235318L,
  101597. 0xf708895cca82f195L,0xdf32de1a7c5dc00aL,0x53014f9711d92fa8L,
  101598. 0xcae56947517ce815L,0x58e0469551904244L,0x0000000000000014L } },
  101599. /* 10 << 427 */
  101600. { { 0x615a13d91bf64aabL,0xad0c56a0ee125e48L,0x5622df0d2f1ab618L,
  101601. 0x7331c9b97e465f36L,0xe9f79f235e69238fL,0xe71d8ade22200715L,
  101602. 0x0f2c7539c1111751L,0x0a3e1894b9287b5eL,0x0000000000000172L },
  101603. { 0x20e9e6d2311c0623L,0x2d2ea9d91cc824f0L,0x4f188539344e1b73L,
  101604. 0x468983b4a32ce555L,0x5a610f7ab185efc3L,0xa65ed115dff9f69bL,
  101605. 0x61f20b69f79d8be4L,0xa496802121d50124L,0x0000000000000036L } },
  101606. /* 11 << 427 */
  101607. { { 0x6e2e5357dec7c016L,0x4331a55e19d6b3bdL,0x03e618cbb8047f97L,
  101608. 0xcacb5933d8cd8c09L,0x0121db5bae62c20dL,0x7347fc4d471bd47bL,
  101609. 0x1dbed250b2369abcL,0x1385da8b0b503a86L,0x0000000000000184L },
  101610. { 0x05b1de38c3dbed55L,0xb9e877fc80818aecL,0x28143964ac119fb7L,
  101611. 0xce773a4ccc648a43L,0x1f71b5d4d0138213L,0x0029fab77e42530eL,
  101612. 0x789aefc3fa18d353L,0xd6a441614d6b5903L,0x000000000000007aL } },
  101613. /* 12 << 427 */
  101614. { { 0xf393bdb41c4e903aL,0x7c7be529356e8b65L,0x17cb86bb5b85085bL,
  101615. 0xda6493819224b373L,0x53b88eb810832b05L,0xfc02cb4798c0250aL,
  101616. 0xf46c49940f0221ecL,0x28376e37eac2ffc9L,0x000000000000002dL },
  101617. { 0x2f6c2ff9afc8827cL,0x12ff0f5917ef8723L,0xac1aa2d22455917dL,
  101618. 0xad3764b0f8910f17L,0x5d4a355c3bdf893dL,0x7387c7a3eeee0b8fL,
  101619. 0x9b3e2f884356038eL,0xf4affafdc75003b5L,0x00000000000001aaL } },
  101620. /* 13 << 427 */
  101621. { { 0xc1e3b4605aaf5b29L,0x81e82a8aae180dafL,0xf37efa0d445e87c0L,
  101622. 0x599a537e16e6330cL,0x85bc6d9706c410f0L,0x28d5a15fb362500aL,
  101623. 0x2ff92fb621b87c85L,0xebba633facf33979L,0x0000000000000105L },
  101624. { 0x7fc199a9dec8dbeeL,0xef2e49ebc489b71aL,0xd7f6fce89a528946L,
  101625. 0x169d0a2ef358dc52L,0x6a61d2c891922c6cL,0xd2aef478e59327faL,
  101626. 0x6def24948ef04d83L,0x253711d72f66173aL,0x0000000000000092L } },
  101627. /* 14 << 427 */
  101628. { { 0xd7de8cd0fc9be442L,0x0a52e40fc9dde6a1L,0x05a4ff641c7149bcL,
  101629. 0xcc966d0d5f2f3aa5L,0x5ece6a196e2d25cdL,0xcd0a1086f6441a77L,
  101630. 0x1c27360085904d79L,0x44a59f2ecf8c85acL,0x00000000000000aaL },
  101631. { 0x266fa397db6bfcdeL,0xf68d7a368bf6394fL,0x0d19162214a079d4L,
  101632. 0x3fc59bd33f93fde7L,0x9edbb13e691c417fL,0x50a5045a4b6d9aa9L,
  101633. 0xf5f738d8a35b9642L,0xd0fab4f3471d4f3cL,0x000000000000013aL } },
  101634. /* 15 << 427 */
  101635. { { 0xdf87750b40973d15L,0xbaf02e703fa8caecL,0x7020957bc8144da8L,
  101636. 0xaf4275cbd2578871L,0xe669df8d0500056dL,0xa432b1d84391f122L,
  101637. 0x576be73ea4c4e08dL,0x63de36a3db2e9164L,0x0000000000000025L },
  101638. { 0x5e3a636c0af7f448L,0x7abe9a07bd788577L,0x6a39bb248b212db0L,
  101639. 0x1d99e0a5aa72098cL,0x75df398dc0ed5bccL,0x730e175316ac1e36L,
  101640. 0x5029aa6376079634L,0x30538a42216528faL,0x000000000000004fL } },
  101641. /* 16 << 427 */
  101642. { { 0x85c4bd23ad5b7e60L,0x9a21b0b0f41a63b8L,0x368399f11991539dL,
  101643. 0x67f2c9217b2b3b1aL,0x7dc0513338b4a267L,0x3ebee98741104a8fL,
  101644. 0xe73da9a9f8687167L,0x04b9f294155f4eb5L,0x000000000000007fL },
  101645. { 0x1adb7a1453dcbf7eL,0xfbc526ae08b7789eL,0x004fbf8fa1f9c5cdL,
  101646. 0x7ca3ff9b48b46608L,0x08a90d3083829a47L,0x90a442adfe3c66daL,
  101647. 0x36d2d6bd4c69b3fbL,0xd5307e6b67675cc3L,0x000000000000000aL } },
  101648. /* 17 << 427 */
  101649. { { 0x8523cc86f38cc458L,0x6f95b125c82eb162L,0xde7e9372e4770eb9L,
  101650. 0x20f67d244ffcff31L,0x88c19b6d857e009eL,0xa6e94060846c385bL,
  101651. 0x9b4a3fcbf5f6e292L,0xfd730d62d494452dL,0x0000000000000053L },
  101652. { 0xf1d11d02d9c01d92L,0xbee1f672d81f0bacL,0x43333ad7d8fa5d6cL,
  101653. 0x3ea8f6fe8014dbc4L,0xe69afa5323c7799fL,0x1a60df1e437b3c02L,
  101654. 0x3449cba2fdfeb094L,0x79636fbbe1d7af5aL,0x00000000000001bdL } },
  101655. /* 18 << 427 */
  101656. { { 0x38d50ae2b1340c26L,0x98d9a11bbd6c48bdL,0x71342c9d2a770fb2L,
  101657. 0x641b25aad42c16b6L,0x9b9caa6900a7b958L,0xb2e0f3d21c6f21faL,
  101658. 0xcaa3c0854ebdff9eL,0x907443377ff33500L,0x00000000000000a5L },
  101659. { 0x680bfb3c9295497eL,0xcd4c1cc25be8f97dL,0xfe7dee3bcb911f56L,
  101660. 0xabbdfd216980d877L,0xc134efd566109f84L,0x83200bc03adbce88L,
  101661. 0x1ae3359ddecbf40aL,0x4f63adbe2135d328L,0x00000000000000aaL } },
  101662. /* 19 << 427 */
  101663. { { 0x0afeb995ee429693L,0x1a1793aed33c2875L,0x3011c348aff376dcL,
  101664. 0xe14d4d40fa291a4dL,0x2bc85ccc328ce212L,0x51afc390ca16ac0dL,
  101665. 0x7f1f2524cea3c7a8L,0xfad2721775fcaef7L,0x00000000000001f3L },
  101666. { 0x23419bb74f5163b4L,0xe4520607ab546931L,0xb6f171a4246b5851L,
  101667. 0xf6f00f0a4c8e6602L,0x4a84dc07f25bba45L,0x9f1eff155959d040L,
  101668. 0x686a15867d49ceadL,0xec9e5a8da8990689L,0x0000000000000173L } },
  101669. /* 20 << 427 */
  101670. { { 0xd35b9e3138ccdc36L,0x193d19235b283364L,0x3f11086716ac2730L,
  101671. 0xc858771ef63f67b4L,0xfa465ba5426ad999L,0x2f23aeb634208c28L,
  101672. 0x1804c3f488e3b573L,0xd40adabed5865046L,0x000000000000018fL },
  101673. { 0x43f3fab933b8a100L,0x854d92b7b1bdaae0L,0x71b54f79564bdc47L,
  101674. 0x45a21a1a1a5ba2b9L,0x34e2636ab2f40276L,0x30a97302e43c1e12L,
  101675. 0x1c8b46c36422eed8L,0x788d649283623652L,0x0000000000000055L } },
  101676. /* 21 << 427 */
  101677. { { 0x9fe3e597bad87407L,0xbcc2af4e9450ec40L,0x45a510949f71d8dfL,
  101678. 0x5209eee4afaf3e95L,0x029c59ab77b5c348L,0x16f2acc25e10ee90L,
  101679. 0x640a7d135b710171L,0x51eff75a282ebe98L,0x00000000000001f0L },
  101680. { 0x38626ea764fe09f8L,0x8503a9d745408d36L,0xeff27b96d1a3ecf8L,
  101681. 0x549fbb5cd78b52d2L,0x95215d10884f4653L,0x2d1fdb98b1ae33ebL,
  101682. 0x0e0cd5f91008a6a2L,0x43c9181326d87e9cL,0x0000000000000031L } },
  101683. /* 22 << 427 */
  101684. { { 0x13cc8a3798a740faL,0xc99aa3ed2632ece5L,0xeaaeecd6b9e1c72bL,
  101685. 0x3aec5c4956487374L,0x89a403cc14674797L,0xca0ea19a6e0c69ecL,
  101686. 0x86b528a68ed9f435L,0x06be957dbce563b4L,0x000000000000005dL },
  101687. { 0x35d9c838ca34abfbL,0x0dd8cb6d4f813c5eL,0xaac57a0356dfecfdL,
  101688. 0x0f11909337223e93L,0x5f8781c95b447b8eL,0xab2f96c0ed13b66bL,
  101689. 0xd38636ebe3af9074L,0x296c578268da2b8aL,0x00000000000000e1L } },
  101690. /* 23 << 427 */
  101691. { { 0x4a1ed69265e97671L,0xcda466e2890bce4fL,0x3dd5210c31b4d676L,
  101692. 0x7061885e97026fe6L,0x5f50b6f7541cdf81L,0x1c1c3fd8fcdec849L,
  101693. 0x77e19a9781cedc49L,0x35c05a1359b27262L,0x000000000000016cL },
  101694. { 0xe74e401b05aba6e3L,0x1da6d83aaca696c5L,0x6e9d07b3549455e5L,
  101695. 0x5a121ee1c7dcb5d0L,0x34346781d46f00c7L,0x534b1136ecacb619L,
  101696. 0xf196cbf3b24e6e3eL,0x7a31c822aecc0b23L,0x000000000000011eL } },
  101697. /* 24 << 427 */
  101698. { { 0xdfd43ebda9f23142L,0x707183f61ace42feL,0x2db54733954f2170L,
  101699. 0x1a10e785e3a33da2L,0xef315020b848d1cdL,0x179454ce5ecdc048L,
  101700. 0x845369cf13e1aee8L,0xb924faa0b536990dL,0x0000000000000012L },
  101701. { 0xecf9a0ef7d22a7b1L,0xc8dc42e20e95f354L,0x2db31a2ff194a767L,
  101702. 0x31063e42b67924efL,0xebc3ca6c48537ba1L,0xc59746eba8363616L,
  101703. 0x6c45f60203d2c783L,0xefc327471e59fd7eL,0x00000000000001a0L } },
  101704. /* 25 << 427 */
  101705. { { 0x38709b4b8eb4707eL,0xa07de12525ca12f8L,0x0cd83aa26c2d4220L,
  101706. 0xb916ea38f1853536L,0x8d2d7f602bcb2378L,0xc7f353c265863a3bL,
  101707. 0xef8293aab05aa95dL,0xc99ce91fdb80d1c3L,0x0000000000000077L },
  101708. { 0x66feb65f5751344eL,0x89587ddf80016cccL,0x9732106be14e338fL,
  101709. 0xa0cd0f26164039f5L,0x3a4ac3f1c656cfdbL,0xe91d606cef332647L,
  101710. 0x7c8dfb2328e19b43L,0x6d94937494d26529L,0x000000000000006eL } },
  101711. /* 26 << 427 */
  101712. { { 0x393a7dcbd3c3aa79L,0x8a3a2240a23c9656L,0xdbc3a5f8cf3eefeeL,
  101713. 0x128e5df243801f53L,0x2915bd679f3b1e81L,0x9c317104741c8852L,
  101714. 0xdad2c02867107eb1L,0x17c5c24994300eacL,0x00000000000000ddL },
  101715. { 0x8e33383090087c9cL,0x3b477580533f2a2cL,0xb6395d04a0b8fc27L,
  101716. 0xe16f86d626ac5091L,0x376968721370dd63L,0x17277a7f0dbda08bL,
  101717. 0x7cc056e800825ec2L,0xa37c952239724e7bL,0x000000000000002dL } },
  101718. /* 27 << 427 */
  101719. { { 0x16df84f88cdcb3d8L,0x08e2203eaa095d0eL,0x60356444b912565dL,
  101720. 0xdb9fa32bdf68d347L,0x37a7a24fddb99999L,0xbec968d30327527dL,
  101721. 0x9ced58e7e0d299c0L,0x3ec26b36eb40f891L,0x00000000000001a4L },
  101722. { 0x51fe548e3cbcb1dbL,0x9c7b645212019828L,0xafece3855d8853f8L,
  101723. 0xa5b7e31c373f3ce3L,0xfe574de1a56827e6L,0x6b717d575b124f35L,
  101724. 0x3478142156048b07L,0x2d0f9a599d2a86c8L,0x0000000000000131L } },
  101725. /* 28 << 427 */
  101726. { { 0xa8d55ba1f6f83320L,0xe7493496c4ee60d0L,0x55a0e10fe16bb4e8L,
  101727. 0x7da768acaf161711L,0xeea132c0be96a3b5L,0x4a09ffff7fb41dcaL,
  101728. 0xbd69c04713f6bf90L,0x4aeb854a82509b35L,0x0000000000000156L },
  101729. { 0xcb9c060d70f0c260L,0x91fab0dbf52f971dL,0xd2fac4c89dbcd806L,
  101730. 0x92f23fa3266b3438L,0x01bb7d4b56ad0784L,0x0216d0acc864ea06L,
  101731. 0x8c126be50b55df14L,0x9541a18baa2a1f85L,0x00000000000000fbL } },
  101732. /* 29 << 427 */
  101733. { { 0x10ed68cf51480510L,0xfa750fc26cccef7eL,0xc0a95e54120622e6L,
  101734. 0xa7b8a3eb98cb5878L,0x67b9482d47b7a85aL,0x7ccc6eaafec17f20L,
  101735. 0x0556723dce3e75baL,0x3e047342181e55baL,0x000000000000006fL },
  101736. { 0x58094d0329e6c93fL,0x3fc1c1fa454c358aL,0x303c9624fe9d019bL,
  101737. 0xfec90ff16d018035L,0xf15f05418266f9bdL,0xf3fdb456cacd7be8L,
  101738. 0xdf7d1fc03dd66192L,0x2b9617b8c3f9acddL,0x0000000000000027L } },
  101739. /* 30 << 427 */
  101740. { { 0x3f8344d51426b278L,0x8f7ddf8a9a9b479bL,0x1a964eb3c669901cL,
  101741. 0x6fa4cd8fcaccb2c3L,0x65facc3706e7ad1fL,0xf29ffbb490a7f25aL,
  101742. 0x3d1ad490e68a505eL,0x5a5cd3fa88d6e4e6L,0x00000000000000baL },
  101743. { 0x9ca4b1fbb503a9c8L,0x94938bf8ad8685f3L,0xe9c8fb4af178c339L,
  101744. 0xbfc000d25ed5928fL,0x7b8b0f6ee7298bf4L,0x46c7096a7fba0571L,
  101745. 0xde65dc553dd656a8L,0xee6b622341a31a9dL,0x0000000000000196L } },
  101746. /* 31 << 427 */
  101747. { { 0x17deaa271ffd501eL,0x2376a41b0d4ff4daL,0x35928095d8cf506bL,
  101748. 0x1b4ccb2aa9312ac8L,0xd971fc980fc0131bL,0xff85e073c4e30e91L,
  101749. 0x82420dfdf59f79d9L,0x81961c5f5d12f268L,0x00000000000000bfL },
  101750. { 0xa3167cadbc31557aL,0x5e3000588089f9cbL,0xf3b49fcaf6ada736L,
  101751. 0xcf3a28d0502a7f0fL,0x547068bd5e020aa5L,0x9a8d88ed5537e4fbL,
  101752. 0xfe8a3d5693f0d6adL,0xf8e02f75d71aa5a6L,0x00000000000000c6L } },
  101753. /* 32 << 427 */
  101754. { { 0xa66cccc8d6e1bd72L,0x1ea4e9214ae2fa5cL,0x66775af22d021fa7L,
  101755. 0x6d711dfb2a4c4677L,0xddaae8bb5ae380b3L,0x53158994600f11fcL,
  101756. 0xfeb122dbda94d443L,0x7cbf1afadffc21ddL,0x0000000000000006L },
  101757. { 0x03cfa731834bf891L,0x4e016085630b8032L,0x90cf9b5949db4d96L,
  101758. 0x96fd2614335c9dddL,0xc02145108e3b98fbL,0x6ded06331da2ea2fL,
  101759. 0x2bda6d769d0ead76L,0x4ba00e99f3e4fbf2L,0x0000000000000169L } },
  101760. /* 33 << 427 */
  101761. { { 0x92de07fbfbf8e53fL,0x73ac4f82b63807fcL,0xcc4f442b27affccbL,
  101762. 0x2d62daf18bb57cefL,0xa7d49c8d70519e9aL,0x0c4b3d051b5b5b71L,
  101763. 0xa157cc8f70d64bd3L,0xd127d42ce74f2b2aL,0x00000000000001cfL },
  101764. { 0x79eb99c7cb079cc9L,0xbdc25d7fb011154dL,0x872b357c399ce92cL,
  101765. 0x3e6cddea714f21cdL,0x9f6164964b06671bL,0xb1830b11fb8072d4L,
  101766. 0xf2fa236813044f12L,0x1ac80049e95ad608L,0x000000000000010dL } },
  101767. /* 34 << 427 */
  101768. { { 0x9269dc702740d740L,0xff34da75c999e65bL,0xff47227b44d3a050L,
  101769. 0xa32b5a8c6930d914L,0x06a3fa67b194ccf2L,0x21f0ff632045ff06L,
  101770. 0x76f08dc2f25f41baL,0x0effecd5071e60bfL,0x00000000000001ccL },
  101771. { 0x509f29ba52771829L,0x9c992d40f2b740d5L,0xd62799bdfa7f8244L,
  101772. 0xb403785ce16a20e6L,0xe1a98c8c9e156027L,0x0d397dcdc18b859fL,
  101773. 0xbac3cb83c9d70388L,0xc5316eadfb7d5568L,0x00000000000000f3L } },
  101774. /* 35 << 427 */
  101775. { { 0xc856f24cf4a0af77L,0x43161834b585a74aL,0xaa1b75e173f7cb2dL,
  101776. 0x8349aa98061aefbcL,0x2e5847d2c610cfd9L,0xf1e0b1d393bd106bL,
  101777. 0x6d239a5e14efc60fL,0xe7a6418f1e30dbfbL,0x00000000000001cbL },
  101778. { 0x8258a5df6955a0b2L,0x832126776e90817eL,0x63a78ff5110e989eL,
  101779. 0x84dbefcc96ab15e3L,0x7d0a08c003ac922dL,0xbba5ae39a50d0bbcL,
  101780. 0xe480626e9c7466f2L,0x278bc8daaa73d0feL,0x000000000000005fL } },
  101781. /* 36 << 427 */
  101782. { { 0x2df7a47e6a625873L,0x30bf6394d0cc5aedL,0x44f942da51af3189L,
  101783. 0x2b700239ea2b12f4L,0xb5aea5e8e9af1742L,0x948b6b30dd4d5386L,
  101784. 0x5eca1a7bab06b047L,0x19ab42c24f3f2baeL,0x000000000000013bL },
  101785. { 0x903986b0f22488a3L,0x9ccce9ec066ff5deL,0x8149450d08e6babbL,
  101786. 0x176b2286cd8884f1L,0xa328bdd3c05b78d6L,0xdbaf8ea4d0b14a6cL,
  101787. 0x139734eca2e92cecL,0x453c8e96dfbee5b5L,0x0000000000000049L } },
  101788. /* 37 << 427 */
  101789. { { 0x3e36dae1b3de3ea9L,0x4d67dc22b1048176L,0x9c3f39b27ca60a49L,
  101790. 0xd4a75e25f7600352L,0x03dc181cd298be2fL,0x18ae60f43016d93dL,
  101791. 0x871f677ca3a7aeaaL,0x1977f85af92c5d38L,0x0000000000000055L },
  101792. { 0xa51c1634692bb41eL,0xca455e9dc37c90ddL,0xf48be721c7a8731dL,
  101793. 0xaa030d88b9da10cdL,0x35029fd9ed039c9eL,0xb3d2e1e89423f362L,
  101794. 0x555246ed4ee59557L,0x292a8be6905a0decL,0x0000000000000088L } },
  101795. /* 38 << 427 */
  101796. { { 0xbfe67c557a8d10f9L,0x1e8167b2f54e78dbL,0x01cdca1f4234bfe6L,
  101797. 0xbbd9a3acd655fafdL,0x02bf164c7854f6f2L,0x8241f9ff52ce9fc5L,
  101798. 0x2fc147122689e156L,0x527855adbd0e10cbL,0x0000000000000143L },
  101799. { 0x8adcba30f57d2022L,0x95093ae15fc652deL,0x4d830641ad841830L,
  101800. 0x702148f87da2878eL,0xf47d81009531f234L,0xd6391216ee253ee4L,
  101801. 0x99e201a00732fabbL,0x693327a7a11d3ef4L,0x0000000000000037L } },
  101802. /* 39 << 427 */
  101803. { { 0x257b2c08a87a1545L,0xe1e118548a4a4ccbL,0x099d563158109e59L,
  101804. 0xe395c06560d8cf6dL,0x2da7e6dbdac91c22L,0x113bd02ee0632099L,
  101805. 0xcc7111b98d953366L,0xb76e6af3a5983204L,0x0000000000000047L },
  101806. { 0x0c44689c7bbce3a7L,0x26bc71a8fcb6c961L,0xf34027d8f31cdad5L,
  101807. 0x1fddc33cd929cc3cL,0xeb5682a0eb37a1ccL,0x4755ba0df7ec039dL,
  101808. 0x0a94d4aaf33d0836L,0x19e00d7947a72a04L,0x000000000000016dL } },
  101809. /* 40 << 427 */
  101810. { { 0x2cf3b1fa322864adL,0xe2206b9b9e3f46a3L,0x76348b0f41d0ce6aL,
  101811. 0xd41b3ed8a4325cccL,0x9d9ccbb21d3405a8L,0x65abee1b7f11ee03L,
  101812. 0xd977c7ab0aa890a0L,0x220e26661a890787L,0x0000000000000052L },
  101813. { 0x136e9c9769519db4L,0x2e563a4757f5ccccL,0xad3a43887feb68ecL,
  101814. 0x5e71644ebca01b85L,0x45a4cd156a97b3f3L,0x3c8779307e5e79cdL,
  101815. 0xf104f21a4ff32d62L,0x656dca67ee2e827dL,0x00000000000001c5L } },
  101816. /* 41 << 427 */
  101817. { { 0x538e141005d2dce4L,0xc517290ecb65b292L,0x171cde90f26b5fcaL,
  101818. 0x0f58cb2f09e7a385L,0xe0c681b758c62021L,0x0f7f0891acc7ceeaL,
  101819. 0xe8edc977a5872183L,0x073a1069d7756934L,0x00000000000000a5L },
  101820. { 0xbc2a3fc512d27ad9L,0x0207f142076be131L,0xa72fea2658f61ae5L,
  101821. 0xb74a4667c5878639L,0x08b02b75d3027808L,0x06cc19d64340d00fL,
  101822. 0x957bc371e56573d7L,0x97f805cca8bb03c9L,0x00000000000001f6L } },
  101823. /* 42 << 427 */
  101824. { { 0x942815d76ea3d821L,0x8881dd1046468a84L,0x30aeb26b67e28444L,
  101825. 0xcc1f79d53d0d7f04L,0xe66ba1e36db5fadbL,0x307dc24b821415f6L,
  101826. 0x3ca98ae0f143a003L,0x461e517a9e4c0596L,0x000000000000010cL },
  101827. { 0xf6873034c32523baL,0xacf66d608fc9f270L,0xa7bbe4df9e29d4b8L,
  101828. 0x06382f3fe4866269L,0xd02b5fe55bd0878cL,0x313d61815536ac79L,
  101829. 0x4ef5bc9b92c66a64L,0xdf2cb0b4c6507408L,0x0000000000000108L } },
  101830. /* 43 << 427 */
  101831. { { 0xe64eab7050f2ad0aL,0xb0836a25989d3480L,0x646266df62a0e974L,
  101832. 0xe31a0fcd0786a00bL,0xeb3ce16c8d094173L,0xe027c0361b383372L,
  101833. 0x4b98279927e50720L,0xe1be59ddd0db5c1cL,0x0000000000000191L },
  101834. { 0x251b4415aa8b2696L,0x7c76e719cd241ccfL,0xa927921cd20b8c2cL,
  101835. 0x3bab44460e5395caL,0x085f53b8b4f6fd5eL,0xfdc7d362585747a4L,
  101836. 0xe01aa6f8b49df12eL,0x98b64a06cd96102eL,0x000000000000013cL } },
  101837. /* 44 << 427 */
  101838. { { 0x97cb33b1a4555f7dL,0x43df1ab01b9e2de5L,0x786a7bb7783d728dL,
  101839. 0xcecfdcdc0ed18d15L,0x1d7d0ef878175e9fL,0x688a6a93ae2d03e3L,
  101840. 0x86370b065f8b6e9eL,0x430bbf48dbd9c4faL,0x00000000000000f7L },
  101841. { 0x2edf29360f7eb5a7L,0xf5420a13cf6ad480L,0xda6ab6be65d089f6L,
  101842. 0x596de3a24a8d9ab7L,0xae767579b2c581aaL,0xaab09d434572bb0bL,
  101843. 0x112a1f2b4928b1f5L,0x38e069e2f93ad7a1L,0x0000000000000021L } },
  101844. /* 45 << 427 */
  101845. { { 0x941ca2415ca5585bL,0xd923343df644f5f8L,0x71a7d718b18c3e17L,
  101846. 0xed8dd0de99436ddbL,0xe1fac7baba2f9c39L,0x34358aaef116190eL,
  101847. 0x403bac20e41c6b1dL,0xabc6637b3b26b4f4L,0x000000000000007eL },
  101848. { 0xd117748197fb706fL,0xe41b34db815019bfL,0xb5228a6772199b3aL,
  101849. 0xf022c6474d89f217L,0x00696885d7150cf3L,0x1f655091377a6789L,
  101850. 0x6cf689158649e629L,0x3219372d4b28e7efL,0x0000000000000171L } },
  101851. /* 46 << 427 */
  101852. { { 0x2fb27dbb68b4cf14L,0x83cf08a47542d4c2L,0xedea4b048059f2e3L,
  101853. 0x1222f64a6f67d4a5L,0x1d790b02e6c04450L,0xcfe52ec5cf4dc563L,
  101854. 0xb42d56e9a5fa0b1aL,0x2ef31effc3d864f0L,0x00000000000001c4L },
  101855. { 0xd62492da6114eaf0L,0x04f4c8d4d40afeddL,0xfaca6c0a08af05adL,
  101856. 0x7171982cce26c849L,0xa7bc880548e683a7L,0xc150763774d06896L,
  101857. 0x0f49ea72c3fcef58L,0x8c32076913cf0f49L,0x00000000000001f5L } },
  101858. /* 47 << 427 */
  101859. { { 0xaf181e82985582d4L,0xcdcd966e4e992b86L,0xfb5402b6a35ca1b2L,
  101860. 0xf74d80512add6ba5L,0xb7895c4f41091b8cL,0xde51f53e3a6355afL,
  101861. 0x050164b1ed0a60ebL,0xcd62660cbd2047c7L,0x000000000000015fL },
  101862. { 0x38f3d8571cbd7da3L,0x24586de2b9f659bdL,0xd8110d99860eb4a7L,
  101863. 0x44464b4562cf6fbbL,0x7eed4e2a0144bba3L,0x3e54c13af303cbfbL,
  101864. 0x30ac8c5f15d1fa60L,0x64450110a92fa2aeL,0x0000000000000035L } },
  101865. /* 48 << 427 */
  101866. { { 0xb24539ba81c69120L,0x04505ebccfb6ad04L,0xc834374bfb3dab0bL,
  101867. 0x1387d634c6993dd4L,0xc2e664886b2f12dbL,0x96ddf76e8b1f1c7aL,
  101868. 0x0af8836d0c73112eL,0x60fc8d5c87471da5L,0x0000000000000160L },
  101869. { 0xbb469810eaf8f9a1L,0x578f6ab463f8ee9dL,0xc94a65ed62b399f4L,
  101870. 0x7dbe97209ed6026dL,0x33fb692d4dd7fec0L,0x1809935aec02996dL,
  101871. 0xeb564aa5b4362311L,0x7721c318a6eaa32cL,0x00000000000000f4L } },
  101872. /* 49 << 427 */
  101873. { { 0x6fe34646132b6d6cL,0xe8ad45578b5df74bL,0x5edbe10544181a9cL,
  101874. 0x876ad5acade27e8eL,0x709d9c087a2bc939L,0x8e3fc5dcaf2cc6faL,
  101875. 0x69f278e6f034d895L,0x76f09ec5c27e1c76L,0x00000000000001bfL },
  101876. { 0x4cc16808db60bb50L,0x8783bcabc0049677L,0x26987cfac55833d9L,
  101877. 0x68a244380dcdb1c2L,0x7c83c14a42bb8497L,0x6b582da63e47412aL,
  101878. 0x3b7e4b7eceb07167L,0x6b8a30351c1bb2e8L,0x00000000000000a9L } },
  101879. /* 50 << 427 */
  101880. { { 0x7fc67685987b0150L,0xa8abf2f762b4cd90L,0x115c21725726f489L,
  101881. 0x861ab367948a78f9L,0xbfb4d3a1804286c7L,0xa4512b172771cb85L,
  101882. 0x48d255811beb89b0L,0xbe78f826daa51a26L,0x000000000000014cL },
  101883. { 0xe2829f61644031e8L,0x80de3e3475877fdeL,0xbcb6bf9527c7a40cL,
  101884. 0xc823751734abfa0cL,0xc476ed04d4a33668L,0x715393764f9017b7L,
  101885. 0x085bb25f90ecddf7L,0xe63273c0a6f3dbd0L,0x00000000000000feL } },
  101886. /* 51 << 427 */
  101887. { { 0x06a48d0bbf507ffeL,0x59caa8e90b047e91L,0xa10f715478b708dfL,
  101888. 0xee72692a5cb625c7L,0x1fec6d20c83e6aaaL,0xcfba2c7a3532329eL,
  101889. 0x83970bffa919b5eeL,0xbe15513c6a2a46c1L,0x00000000000001d6L },
  101890. { 0xfa14892670cb9e0dL,0xa56e8b43ad374337L,0x7d18381ec20e39c8L,
  101891. 0xc7022ca35b739c55L,0xe8d0c9d08ec3667cL,0xf7ee5edaf4244d4aL,
  101892. 0x501af624a2c20c8aL,0x55699815ee5cccc3L,0x000000000000011dL } },
  101893. /* 52 << 427 */
  101894. { { 0xa2d0161263e5d445L,0x318c60fb81a2b810L,0x4564edf6ab744edfL,
  101895. 0x21cbb72b7129260aL,0x7ab39feca9d01ee0L,0x9b4d0991aad2d43aL,
  101896. 0x5bf41341e8c8f5dbL,0x61002ceb83ee50daL,0x000000000000017dL },
  101897. { 0x94b575db1c891b7aL,0x348538dcb7f8b85dL,0x91503a10c1877296L,
  101898. 0x9ff573b2503b002bL,0x4886698ecbd46aa7L,0x6564266de31a6020L,
  101899. 0xfa1da81ee61a1eb7L,0x2df2b1604e03554dL,0x00000000000001e0L } },
  101900. /* 53 << 427 */
  101901. { { 0xf8a6c112818062f9L,0x8d08a4ddb301afb9L,0x6d7305c20b074bc5L,
  101902. 0x279f7e4c3470f4bdL,0x59f3f94b6e8c4a0dL,0x680a11913e917609L,
  101903. 0xdd6758459621dd8aL,0x1ab73dc00bc5e395L,0x00000000000000d8L },
  101904. { 0x2dd9e1385f223a32L,0x4d87bf99ccdf9a1fL,0x8a67b8908a2f1b38L,
  101905. 0x329c08b5969b592fL,0x9f15de53e70135edL,0x537ad5329408ce34L,
  101906. 0x00f468c6d91dd253L,0x07514043d47da37eL,0x0000000000000138L } },
  101907. /* 54 << 427 */
  101908. { { 0x26144feeeb6e7d44L,0xa3d0e47b419d7a27L,0xc97f088e22e55c60L,
  101909. 0x611ff17696306002L,0x5be12ad9e06949d3L,0xa044ae3d199da892L,
  101910. 0x3e45377b9337f515L,0x6c3d1a82b9c008f3L,0x00000000000000ceL },
  101911. { 0x7576e2901950a782L,0x0f137065091e8675L,0x32b05e3c59703452L,
  101912. 0x0ea85fa33e8a80aaL,0xad2e35276f9bff8dL,0x50cbed34efae1927L,
  101913. 0xb7dc26ee13ac433eL,0x42b282472925f0ddL,0x000000000000011cL } },
  101914. /* 55 << 427 */
  101915. { { 0x2e49ba37ff3d2c8eL,0x8b7eb6db17f31cdaL,0x81fe046de11d97c9L,
  101916. 0xed15756eda082707L,0x685e44031195a75aL,0x56e7aab54492062eL,
  101917. 0x5ca5797e3a978f5fL,0x4591a8bdeca382e2L,0x0000000000000097L },
  101918. { 0x4fb2fb61ee14d996L,0x4723a61f5803e9a0L,0xed2c32c01740f872L,
  101919. 0x9cfb2e942c46e342L,0xf664be63842b362aL,0x4ab1e9d06d396a61L,
  101920. 0xb0930e94a2fe10a7L,0xdc17d952a8fe6f70L,0x0000000000000110L } },
  101921. /* 56 << 427 */
  101922. { { 0x586c6846413b14edL,0x936bb2927edcbc73L,0x893e795583cf2054L,
  101923. 0x386a770bab5def06L,0xe753fc8a28830523L,0x3e651f83a9e5952cL,
  101924. 0x42c2d31ebddb4b3eL,0xb9ebb8c23d9485e4L,0x0000000000000130L },
  101925. { 0xd0f7512dfdd9c07eL,0xdb9b61d37c17370bL,0x1d5542e40e023630L,
  101926. 0xd7367ec1e751a8b2L,0x3ee2c75913e4ec75L,0x331c85fa9cb027a4L,
  101927. 0x9b1d0f016fc9c60bL,0x7e6a19cf34080c71L,0x0000000000000142L } },
  101928. /* 57 << 427 */
  101929. { { 0xe6bb0584e75480b4L,0xb3a154d2cc7fb34aL,0xb297a7260d5ac90bL,
  101930. 0x46cd0c4f19075d40L,0xc3375c6733a6825cL,0x64904deac9512c02L,
  101931. 0x4f17c760ce09f4e9L,0xde401d3cf301d829L,0x00000000000000adL },
  101932. { 0x89155ce8d39f2376L,0x39a8df112371e03fL,0x65d702536fee325bL,
  101933. 0x54ff235708ed7dfbL,0xc19258ca932476b6L,0x13cc49b26dfeddf1L,
  101934. 0xa2b26c3c850f96daL,0xde83c98d86e4d2fcL,0x000000000000002dL } },
  101935. /* 58 << 427 */
  101936. { { 0xc4f1693f0af0d7d1L,0x04df4ffe075feb82L,0x4f818a9543f8745bL,
  101937. 0x3f8bdedd8c94b232L,0xa4af5aa35314fd6eL,0xf4911b6bc3ca1b45L,
  101938. 0x9924adf319e2f569L,0xa7794358dd09e72dL,0x000000000000006dL },
  101939. { 0x4f87908e973ff83fL,0xcac68ed2bbcb94e6L,0x99c8c1d8689acda0L,
  101940. 0xb0d9d2a9e581b37dL,0x413d1edfe1ec4002L,0x1585f1cce9fabb62L,
  101941. 0xbbeff8aca026d8f9L,0xfee19657d13ced0fL,0x00000000000001faL } },
  101942. /* 59 << 427 */
  101943. { { 0x2b24b3c019ce885aL,0xb53de0cbb854a17fL,0x9a0df03ecf26c32dL,
  101944. 0xe6e276ff18141773L,0x29033b53711c8b3cL,0x367c7c6827b85921L,
  101945. 0x8a0f8999c6f4439eL,0x7dabbad4a3d38307L,0x00000000000001a1L },
  101946. { 0x88b4790caaaabfb9L,0x39726e9aee90a6c2L,0xbc324a8c2a08e052L,
  101947. 0x5044c686f2835310L,0xb4b2ee401a62e2a6L,0xb5bb8ea4715a09faL,
  101948. 0x4ba0b1caa2406da1L,0xee2a9ea4066a2a26L,0x00000000000000b7L } },
  101949. /* 60 << 427 */
  101950. { { 0x244f7e0c14c92774L,0x0e07d01007243141L,0xc07fc4185d862fe2L,
  101951. 0x052eb9b39eff52e1L,0xa39dcf3e79cb7730L,0xd4bc1e0ada1a0cd7L,
  101952. 0xcbcbed4ed398b073L,0x466686ba732f9530L,0x0000000000000110L },
  101953. { 0x67d348f78f15b8cdL,0xa681bab6d8cca9bfL,0x5dea910aba84678aL,
  101954. 0xb89d861524525de1L,0x7536a8e711faeef7L,0xcb049dfaaeeb1f92L,
  101955. 0x647de8ded21f0b55L,0xc2e8852ffb9fd11aL,0x00000000000000b8L } },
  101956. /* 61 << 427 */
  101957. { { 0x53e4c63ab7849f04L,0x065e74bdc84a5960L,0x4c437df833b4638aL,
  101958. 0x3e8046b785eb9a9aL,0xbf96115d5136388aL,0x7682edd57d6ea4beL,
  101959. 0x4939f243b3c638fcL,0x71d0774fb46c9fadL,0x000000000000012eL },
  101960. { 0xe57fa566f6f9843fL,0xfc6102e7f9b4659eL,0x51279da3ee351e88L,
  101961. 0x1913f351622fb01dL,0x5a1ada08ec899057L,0xca36809acf2110feL,
  101962. 0x58afbe7f68df1b01L,0x025adf57f30e4d6eL,0x00000000000000b7L } },
  101963. /* 62 << 427 */
  101964. { { 0x66de14604a32d769L,0x7085c561b00b7baaL,0xf3781f27ca887f70L,
  101965. 0x067b88390f609588L,0x4dde43f9de1aa960L,0xdf0d5c73246e1756L,
  101966. 0xfb7e6cf0e32b6b74L,0x832383085785f432L,0x000000000000017eL },
  101967. { 0x85244d7e30556b4fL,0x7d7ae5c25f2b01dfL,0x6d217088afca87aaL,
  101968. 0xcce2eb33c6746f35L,0xa214db754c48ee16L,0x7075d0059af9c236L,
  101969. 0x05acfa551dcb066cL,0x51808254399e0cadL,0x000000000000002bL } },
  101970. /* 63 << 427 */
  101971. { { 0x37140db02c17ece8L,0x67c86862a2f14a31L,0x8661ca8b7f2ebba1L,
  101972. 0x44ea992a1592fbe6L,0x23c0aa41dbb650d2L,0x7e3b31be84e08d74L,
  101973. 0xdc2437d958374fe6L,0x7080a4802a00d6dfL,0x0000000000000084L },
  101974. { 0xcf036b4f784a660cL,0x368783d64202a5eaL,0x70f9ea976ab86497L,
  101975. 0x10e443598d9be8d3L,0x804e0b878e0a9738L,0x7251be8c013faba3L,
  101976. 0xbf2df4fc39e0f147L,0x0b31ef1115f25948L,0x000000000000000cL } },
  101977. /* 64 << 427 */
  101978. { { 0x5fbf73adee70e781L,0x29a81e4f67793cf9L,0xd7e9ccdf80bf503eL,
  101979. 0x6c06d49cd6edda9dL,0xc33c7ee6d96e70f7L,0x30d7d644ef6114b1L,
  101980. 0x0615b576ab81af49L,0x56b8af445a09a31fL,0x0000000000000076L },
  101981. { 0x32e0b33475cac764L,0x0b123da0dc2d7e31L,0x67d72e7ad11b58eaL,
  101982. 0x93165a21961098edL,0x4ae95e5add1d2b8cL,0xc26794a07ee3715fL,
  101983. 0x6887f532cd333782L,0x67e608d5af37aedeL,0x0000000000000179L } },
  101984. /* 0 << 434 */
  101985. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  101986. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  101987. /* 1 << 434 */
  101988. { { 0xac333e4aecfa8831L,0x9d08f6ef8a6d6e93L,0xf2eed835ea97fb6aL,
  101989. 0xddf44417070c46f2L,0x1e3159bf37694ea3L,0xb0c4319c8b7d6a05L,
  101990. 0x0abc757261f314fbL,0x0057f6c701a6047eL,0x00000000000001e7L },
  101991. { 0x204cb3dd6af8283bL,0x4eedfa1644ab9ea7L,0x79f1569993b7d9e5L,
  101992. 0xaac8f0c7d29dcc8aL,0xe293fd274800f5e5L,0x6ec0a739e22da004L,
  101993. 0x8cbee62fb903094cL,0x86dcb1fda88c3bceL,0x00000000000001ccL } },
  101994. /* 2 << 434 */
  101995. { { 0x3a44dde085f45eddL,0xc543bb6498309156L,0x82d1ce827597d0d0L,
  101996. 0xb2dc0f228106ca3eL,0x66f394472c3a313aL,0xd8f6fcdaa6cf2e03L,
  101997. 0xed6e0e279e6bf40bL,0x7dcd3a305b9a41afL,0x0000000000000095L },
  101998. { 0x0a870cec12be5b78L,0x912c21c51406e140L,0x977417fdd5e13ca1L,
  101999. 0x9edbae8ab9e21e28L,0x9fce45ea13b2f069L,0x25bd760b84f3cbf2L,
  102000. 0x29e0c3ce2489fd01L,0xe16d31c1ec62a766L,0x0000000000000061L } },
  102001. /* 3 << 434 */
  102002. { { 0x9badc953ab98f2bfL,0x867b5f5e6f45ec55L,0x36c30111539ab291L,
  102003. 0xc663fbe74feeef3cL,0xb2da1de355213dd8L,0x2c3e4a54a8f58884L,
  102004. 0x2c2794c713f166adL,0x1b31c3a69bb7b65bL,0x000000000000018eL },
  102005. { 0x1a866f47b06e4f37L,0xbbe067a17a609c0dL,0x83073920151f64fbL,
  102006. 0x899421eebba549b1L,0xa2145adf91f21d16L,0xbd5f420952c37c74L,
  102007. 0xbf18214c7c7afc51L,0x917e6547b69ba831L,0x000000000000013eL } },
  102008. /* 4 << 434 */
  102009. { { 0x6985bbd6ee32e2ffL,0xe69f0f223c35a00bL,0xb1abb4ae0ede3c1bL,
  102010. 0xa3d7ecde93d96532L,0x69eae2594f693cabL,0x52e38b65fe3665f9L,
  102011. 0x17664e93f2fa7a85L,0xe1a2febfa5300907L,0x0000000000000000L },
  102012. { 0xbb35ef0ca538774aL,0xac9aa3ce2b28e6fbL,0x57e02d060a801edbL,
  102013. 0x6977544394847324L,0xb526bb1929dd0a3bL,0xaed93900c468815fL,
  102014. 0x3eb1b9b2221df814L,0xe421e27ad9472dafL,0x00000000000000b9L } },
  102015. /* 5 << 434 */
  102016. { { 0x86c72d693a4d1314L,0x8a0b4b5a5c7db07eL,0xb77d353706fde68fL,
  102017. 0xcb5446077f5e412aL,0xb399cf67eebefcd0L,0x8b1f0e0a274fa0ddL,
  102018. 0xbf0e6dc875a8fa65L,0x1c405959c78432ebL,0x00000000000000cdL },
  102019. { 0x50aef83472b78101L,0xf4477ba98ad40428L,0xffafa24a11d9b90aL,
  102020. 0x41b8927e81c56505L,0x0f9920639e742b07L,0x1e7d380631dbf256L,
  102021. 0xd4c41bf666ba635aL,0x895bd3de14246d32L,0x0000000000000179L } },
  102022. /* 6 << 434 */
  102023. { { 0x4ca733dff28aebc3L,0x408d980ed8f0c8feL,0x64cff1fd113fe1beL,
  102024. 0x3ecc3e9706c2bdc4L,0xfa7cd864c6e6802eL,0x728c7528d9975387L,
  102025. 0x96ae9f3bd6abcb5fL,0x24a5251a89ee857bL,0x000000000000009fL },
  102026. { 0xe49c9cc6c5a6f9b0L,0xdd026901c60fb1c2L,0xc0c58dacc212b65bL,
  102027. 0xf2ea35783677c2b2L,0x7d2c7e6de6ca86aeL,0x8ca90cffdc0561a1L,
  102028. 0xa4e849704061a2ebL,0x852086dafe948ce5L,0x0000000000000135L } },
  102029. /* 7 << 434 */
  102030. { { 0x64d982d29e4a102cL,0x4526200619d68225L,0xce9edcab495a7a30L,
  102031. 0x49255fd1405baf0eL,0xd9e98392b5055fa9L,0x5deb038d3910964fL,
  102032. 0x3c53120d8c7d1e1aL,0x4690a6be39ee8dbcL,0x000000000000003dL },
  102033. { 0xcbd6c1035f941144L,0x0cc8a7b3d72dba80L,0x09d89abc286785b6L,
  102034. 0x7f545c4c4d52dde7L,0x1f0b173d3212b0c7L,0xc82280472dacdc27L,
  102035. 0xd9a295be16301255L,0x75cf7419ed5f40ecL,0x000000000000005dL } },
  102036. /* 8 << 434 */
  102037. { { 0x823a3093dcc0c55dL,0x48e4f42c8667bd82L,0x6483b8acdd036949L,
  102038. 0x0d3f6e52154b38e9L,0x713a6450cb96db0aL,0x791efd97ac907250L,
  102039. 0xe491a5192130c99cL,0x333277e57df593fdL,0x00000000000000ceL },
  102040. { 0x4deb4d72d7d90a84L,0x7f39203ea13778c5L,0x2308cd8a7bb79168L,
  102041. 0x470cef35a710bd28L,0x6db6b1a213ba5c45L,0xe35b95dde9e55ec1L,
  102042. 0x68f023ab7819af5bL,0x50d449896770441fL,0x0000000000000187L } },
  102043. /* 9 << 434 */
  102044. { { 0x4710bb318de4fd4eL,0x169135edf00d87afL,0x36bd504900a94292L,
  102045. 0x90c1c9c2ee73e959L,0x604cdf4c627461f3L,0xf123980795d64fa6L,
  102046. 0xa60a3fb61f64ccc9L,0xdff7fc6e358d52d3L,0x00000000000001d6L },
  102047. { 0xa97592eec296e9a0L,0xcfda4984fbc367ffL,0xa22077102957a911L,
  102048. 0x596f1f66ca8ec572L,0x7bb35c4f4723310bL,0xb8f39027336b3010L,
  102049. 0x4c2ad1f39d1bfbccL,0x99f721ababd1e48aL,0x0000000000000103L } },
  102050. /* 10 << 434 */
  102051. { { 0x761d77943135f08aL,0xc8ea69f3c9ff4b0bL,0x3a427a226d6f567cL,
  102052. 0x4f8fbd235866181cL,0x4ab492868b5a14d5L,0x2cf7fb42ad46afe0L,
  102053. 0xfe411657b6759dc7L,0x9610138134a7b11bL,0x00000000000001b4L },
  102054. { 0x1c306fff2d0bc15bL,0x23830bab33793532L,0x959e8e6406ebcd49L,
  102055. 0x8ed9b284f60bceb3L,0x7d9c5d2acba1b607L,0x8aa698e5ea1a280eL,
  102056. 0x75025662502aa440L,0xe1b6a557d8462948L,0x000000000000004eL } },
  102057. /* 11 << 434 */
  102058. { { 0x1bcd8a7db6ef3dafL,0x12c9d413f4253275L,0xba8941d2eff8e698L,
  102059. 0x3c29be9700772aabL,0x4d3932bc466ddc96L,0x9d8f7ea612b8dbceL,
  102060. 0x54b26ab2e90a0e8bL,0x28ecc5262ab562e3L,0x00000000000001d0L },
  102061. { 0xef47706ebc52c73fL,0x88ac550f31ca0b88L,0xefc0b9993f371074L,
  102062. 0xf757ea265a09d4dbL,0x4f614d7d4eca4514L,0x3b597b46bc70e805L,
  102063. 0x5f65ff72861a04c5L,0xa2fa0cd6a07d93a0L,0x00000000000000cdL } },
  102064. /* 12 << 434 */
  102065. { { 0xfd2c6ba8c03c8a93L,0x6287baae255a51a6L,0x6cde095efc336858L,
  102066. 0x668c6f54acb5fb8cL,0x26b65582568a5789L,0xd51684effcfeb7baL,
  102067. 0xb5d91d3d8dfe63fdL,0xd366cae7560188b9L,0x00000000000001c6L },
  102068. { 0x587d06cc9844367eL,0x527a075f589d9acaL,0xd581ad9f4f88ccdbL,
  102069. 0x3499e8073a56ca59L,0x50b8b14dd6328d96L,0x9b06ce845936a744L,
  102070. 0xab46f398e693da36L,0x4c5e0d9abc55f498L,0x00000000000001e0L } },
  102071. /* 13 << 434 */
  102072. { { 0x35e6f3aeedd8cdd5L,0xe7d1f84e3c70eda1L,0x2fa8a57c99601b6bL,
  102073. 0xf4cd235a499f2353L,0x9200190c848ec0f4L,0xd8e57c44524a27b7L,
  102074. 0x5a32ea3b935a4f48L,0xd31839aa14181ffaL,0x00000000000001ffL },
  102075. { 0xe60c02142be2e8d7L,0x4149c75ebc31b48bL,0x87917bef8716d826L,
  102076. 0x70259495ce66f29bL,0x457f892b3868150dL,0x8f604f018c143012L,
  102077. 0x802b15781b1338e7L,0xb8e25cdbe0d1d962L,0x0000000000000116L } },
  102078. /* 14 << 434 */
  102079. { { 0x8f89563d4f5a170bL,0x9b4bedca2a08933eL,0x270d697123bf430bL,
  102080. 0x589177b13db77dcdL,0x2c7fe43654015de9L,0xa190fe6f76847478L,
  102081. 0x161fb872744696e7L,0xa272a78c692f59d0L,0x00000000000000deL },
  102082. { 0xdd80e1522a95538aL,0x2d9da36b70fe17caL,0xfe5bfe5823144f73L,
  102083. 0xd3239a7c02c3a576L,0x01efa88bd359a33dL,0xe6af55f7269d3166L,
  102084. 0x15e3f06e0b135041L,0x20be0cf9492369fdL,0x00000000000000bfL } },
  102085. /* 15 << 434 */
  102086. { { 0x76c2738f4e339d8bL,0x2f6527a787c02e91L,0xc39a95b131e5a030L,
  102087. 0x8a733cc6c748a0f8L,0xd9ddf3065851fca7L,0x0cc640146e2fa015L,
  102088. 0x39d03d51fd0aa84fL,0xaaaa83861c8f6581L,0x0000000000000138L },
  102089. { 0x750194db2640d9c0L,0x3415c97add9e522bL,0x002ae6be920d5398L,
  102090. 0xf544445d80534cabL,0x3c62a5dc6f30a7c8L,0x26b9e329a45929c2L,
  102091. 0x7675e5d566978e76L,0x905599fbb8d851c6L,0x0000000000000198L } },
  102092. /* 16 << 434 */
  102093. { { 0x6cdf7285e8cf496bL,0xa27becaee1460283L,0x0291e5e3a8331004L,
  102094. 0x436d8dea957e58fcL,0x52ade5768f6a37b3L,0x4c31e9eb08ca0bf7L,
  102095. 0xd918c8a0547bb960L,0x85ceb1004394f6d3L,0x000000000000007bL },
  102096. { 0xf796100862db1e32L,0x875fa000c20f8b1eL,0xbd4bb865e621e53eL,
  102097. 0x9346c7c57235cf42L,0x8ae88a5692cd8c70L,0x06b82e3ac68ab6d4L,
  102098. 0xd0dea99a736a6b71L,0xa54ceaa48c6a1235L,0x000000000000012dL } },
  102099. /* 17 << 434 */
  102100. { { 0x0fa6807fc5da532bL,0x55d9934a4ff8c1faL,0x2eb4a07eebdcf033L,
  102101. 0x4b02434624189b33L,0x2ac6561b755eb9fbL,0xaea6cd0ad3eb3456L,
  102102. 0xa36e3823c15ba5acL,0x94b73998c83d3098L,0x00000000000001e0L },
  102103. { 0x7fc341f11f8b078cL,0x713203356df305b0L,0x37a2030430ec9e60L,
  102104. 0x7999cd74c660bafaL,0x7521e720ec45a6f7L,0x6fa8a84d4fb05d84L,
  102105. 0x16e0315c1f4f5dfcL,0xdd5cfcc90cd47592L,0x000000000000008fL } },
  102106. /* 18 << 434 */
  102107. { { 0x7ca1ffa7541e8082L,0x00f359827383faaaL,0x04a27995ddbea281L,
  102108. 0x11cb61e87b84e2aeL,0xb22cabebc2411c38L,0x684f6d0266eb6691L,
  102109. 0x712d6e1f4d7d1723L,0x5717734104bda106L,0x00000000000000e4L },
  102110. { 0x72616b593feb0af8L,0x6e76d929924cd70aL,0xf6d917784239138dL,
  102111. 0xfa7bd85f84918a4eL,0xb90ba79df7073d27L,0x4edf2a217e42f694L,
  102112. 0xb4840c74e1064c54L,0xdbcefd0b133a8f82L,0x00000000000000d9L } },
  102113. /* 19 << 434 */
  102114. { { 0x74207ef458e13084L,0x64cd272b775520dcL,0xfd6c279b16d75480L,
  102115. 0x0de0dfa321b58672L,0xd156b0bdaa4fe111L,0xa006bb34bdc41a5bL,
  102116. 0x586bb1e3f7423cb5L,0x39ffa18d5c61fd49L,0x000000000000011eL },
  102117. { 0xe3f73412ec60c0b7L,0x7a6bc1434ab8bd9aL,0x935d3e7ac11d433eL,
  102118. 0x1559ebf9dc6e4b07L,0x6a4fbf74d1ff2ce8L,0x58526dc6fa40bacbL,
  102119. 0x36abb094c5a9d599L,0x4ce17b30e5b1452bL,0x00000000000000cfL } },
  102120. /* 20 << 434 */
  102121. { { 0x14de106989b694f7L,0xfa202a91453ed74eL,0x19344093b7c462b0L,
  102122. 0xddb9f1159d5f7733L,0x6110f1cd6e71efcbL,0xe9dbc336d27d9f95L,
  102123. 0xd9b29e011ba3bb66L,0x7b218536a9677cf4L,0x0000000000000178L },
  102124. { 0x7fe687840eafdb07L,0xde335a451c0d642fL,0x11b4b98a208d5237L,
  102125. 0x53f2c20236b0801dL,0xf07f20935cde08e1L,0x5e0e5d3a0f34078dL,
  102126. 0xf1fc7f3480286b22L,0x4c305a8bc48e9216L,0x00000000000000f4L } },
  102127. /* 21 << 434 */
  102128. { { 0xd6df42236705ed72L,0x370df16b66596b1dL,0xcfd44ffd24fd4817L,
  102129. 0x3d6143cddc924183L,0x26b486833c93f868L,0x54926c39c19a83d5L,
  102130. 0x3d07a6ae95119375L,0xb882bdf8d83bcc99L,0x0000000000000034L },
  102131. { 0x3cffe30d64e14848L,0x0dec1cdaa7c2b18aL,0x22757d5836be59cdL,
  102132. 0x7ddacf11d39f6627L,0x83237713e4a0e59fL,0x755523683e890a59L,
  102133. 0x6473baf3ff8e3c4aL,0xf8a58f623318c5f3L,0x000000000000013aL } },
  102134. /* 22 << 434 */
  102135. { { 0x3fb7ab81dd8b0441L,0x9b12b4f4080198a6L,0x765ab538611543c5L,
  102136. 0xd1b6ca116043b1e1L,0xe8e0c15a1e579bbcL,0xc9005a7fb00fd558L,
  102137. 0xb0ee75168c91ddfcL,0x85c607eb8506ec71L,0x00000000000000daL },
  102138. { 0xf9016a2cc0ae0796L,0x1cc194908bddc9bfL,0xb49f46aff31a5da5L,
  102139. 0x172441592beef5bfL,0xd8596e0bb4e4021aL,0x272d8334936dbec1L,
  102140. 0x6b819cc236552640L,0xf6bf179cdf801f6aL,0x000000000000018dL } },
  102141. /* 23 << 434 */
  102142. { { 0x2ae917945ba71ac1L,0x8812d26b5fb18507L,0x50d7c5af4e8f8ab4L,
  102143. 0xcbab980b252f505bL,0x53ef95460538a252L,0xbaa38f3b2c7e3061L,
  102144. 0x6227e7032ced0186L,0x3eff1b0b81e073ccL,0x0000000000000184L },
  102145. { 0xcb8042e53e110191L,0x8b718b8d844874b5L,0xec43894e2c55ef49L,
  102146. 0x089d49b33c1b5249L,0x431cfb0951502463L,0xbd443d7152d52366L,
  102147. 0x6d21c0b3b0e9dce1L,0xca17c72c4b785911L,0x00000000000000ceL } },
  102148. /* 24 << 434 */
  102149. { { 0xdb8a02d18294cc29L,0x6aca02ec9a9a5709L,0xee2b10e6d554c17cL,
  102150. 0x29aa181881c661ccL,0xbe522af71fd10eaeL,0x3c4bb5242b5589f7L,
  102151. 0x5a5600b1681236a9L,0xf7ffd0917f235a88L,0x0000000000000007L },
  102152. { 0xfdfb09268ad17511L,0xc8964821ba2b0a60L,0xa6edc26433608d96L,
  102153. 0xd98937de18d1b857L,0x0feecaad85a5a3b9L,0x567bbb021f102192L,
  102154. 0x89147837441b4a0aL,0xaa4716104e0f3d86L,0x00000000000001b9L } },
  102155. /* 25 << 434 */
  102156. { { 0x93f9cccf7863976aL,0xfdbab5361c91781eL,0x6774ae57904d212eL,
  102157. 0x6cbfac24eb9ead07L,0xbd90380ba53968deL,0x0fde4f3a0a3b43b9L,
  102158. 0x4c738cf2096efa0cL,0x1a3a02b223c171f1L,0x00000000000001d6L },
  102159. { 0xecd4893c71151a16L,0xb6a710f6c733301aL,0x28758b01587eec91L,
  102160. 0xb131f8b73bcdc933L,0xd5f86b40871cd739L,0x2ee24f351b13cde0L,
  102161. 0x743cf511dc7a4ae4L,0x88f47ad7177a75e7L,0x00000000000000c1L } },
  102162. /* 26 << 434 */
  102163. { { 0xfd8ed032796edb60L,0x24d59d721ecab1efL,0x34dfd046f4ff8f0cL,
  102164. 0x8606b5075706fce9L,0xc97ed07d35c5b36bL,0x7f4f2338c412e11bL,
  102165. 0xd071191ded311016L,0x2df826748840bf8bL,0x0000000000000192L },
  102166. { 0x9225258095905d12L,0xae0da381a714a1f6L,0x59c89c85914bcea5L,
  102167. 0x625501930a6928b0L,0xdeaa1009b4cc872cL,0x1c66457791b860e9L,
  102168. 0xe52c89f4cd323335L,0x1b163d294211ab43L,0x0000000000000082L } },
  102169. /* 27 << 434 */
  102170. { { 0xc9e03c6c0eb94372L,0x8a373721b3f7a044L,0xb81c3b953e48abc0L,
  102171. 0xb4a8a4b733c5a6f5L,0x5e4f35752c6ffb15L,0x369c3d68d3cd8567L,
  102172. 0xad684b69cd922456L,0xfc195cb8ca0961abL,0x0000000000000083L },
  102173. { 0xb54609c5e604a834L,0x028b402f975cb6a1L,0xd61cec8482493224L,
  102174. 0xc0d930d5d339794aL,0xb86c38891b9a3b61L,0x7d2eff3793827f00L,
  102175. 0x7ff8c2bf9ab658a2L,0xe7f3aea8cfdd8fc3L,0x0000000000000156L } },
  102176. /* 28 << 434 */
  102177. { { 0xe030feb9814abc1cL,0xaa7ef7427387fcfdL,0x134e4ea847e5ce93L,
  102178. 0xce9f3cb52949ffb0L,0xa83252a83e11a1c5L,0x2b308229ba0f2644L,
  102179. 0x1eb76fb7ea75a292L,0x0d9bd36b73cf1481L,0x0000000000000021L },
  102180. { 0x45bdd68dc50e223bL,0xc6a83635a6c0be76L,0xaa61ea3fc0e1f910L,
  102181. 0x7ad38095e8fd27fbL,0x2deaa3b2796c8efeL,0x9ad0a578d099bcdaL,
  102182. 0x5819856a2a953ea1L,0x2b7b7793593d3e2dL,0x00000000000000ddL } },
  102183. /* 29 << 434 */
  102184. { { 0x5d863e60fd21235eL,0x1737c3f3325a1732L,0x6d933847ccc5bf11L,
  102185. 0x00a192d493e00d81L,0x89a45bfac2c643ceL,0x02a13ad00765649dL,
  102186. 0x26458f12fa509f47L,0x74c8aa2d16f09353L,0x000000000000013dL },
  102187. { 0x3fb91bb9f034a301L,0xc374e95b48dd0af7L,0xe1b0cc306d83c081L,
  102188. 0xbbd70743e19f9a52L,0xd036958d37f45c9aL,0x02e6c68263326db0L,
  102189. 0x65b7b79941872949L,0xa2e9e2dc4a5cd039L,0x000000000000016bL } },
  102190. /* 30 << 434 */
  102191. { { 0x68dc9f921bdf35d8L,0x037282cfa1a62dc9L,0xdca2ce576cb7d912L,
  102192. 0xd565f7f06dd74592L,0x33e5cd32c2cf6a12L,0x86e50fbbd1ce584eL,
  102193. 0xdec9cac5a91b3424L,0xb0c5e080b9b711e9L,0x0000000000000170L },
  102194. { 0x76d0834ade8dc323L,0xc7c54d2e20e86b82L,0x262b43488d8a41f7L,
  102195. 0x35d84018b7751aebL,0xbf41d90a5e4cb30cL,0x3561f5f7c0cd08eeL,
  102196. 0x0da722077b161b52L,0x6dae1a62cd604660L,0x0000000000000169L } },
  102197. /* 31 << 434 */
  102198. { { 0x8a4f3392d8eac947L,0x6c5c77fb762e311fL,0x29873696050f18eeL,
  102199. 0x1736f47d8bf20331L,0x6a7e4e5256b5a106L,0xabdc39f8b502e6deL,
  102200. 0x92d66f5e192b6aaeL,0x81266111e45b2f7bL,0x0000000000000038L },
  102201. { 0x12c3d68218222288L,0x2619aee789444667L,0x15c4af7dde3e55b6L,
  102202. 0x3ea45634f3cf8dd1L,0xa4ec538f4dea2c6aL,0x8a5698ec39ce9315L,
  102203. 0x3748d917aeb0b056L,0x1698cc83705362a5L,0x0000000000000007L } },
  102204. /* 32 << 434 */
  102205. { { 0x88fbc549470d7e36L,0xf091232ae079762fL,0x8e84ce7e027a4477L,
  102206. 0x21e570dfb704f424L,0x51e89ca1d36fc205L,0x52451d98cb04c0f3L,
  102207. 0x4233a3569a256b13L,0x42f33c2422636d07L,0x0000000000000186L },
  102208. { 0x88d6f4d60445345aL,0x8b03b9f60c2faa71L,0xa45ab219c3baf6d7L,
  102209. 0x67c7eba1b9beb6d6L,0x3eb7beb99c8fcf22L,0xb35dfc4371d9a1aeL,
  102210. 0xc1204af558436e2fL,0x543e4f318dd710f6L,0x0000000000000096L } },
  102211. /* 33 << 434 */
  102212. { { 0x4e2ab19ccecc8f96L,0x4b5b98ba2dc2c44cL,0x0b69cf0a14cf2ddcL,
  102213. 0x109772e225a59fbdL,0x14e18ca6dc1ce60cL,0x8d542628d9b88c07L,
  102214. 0x088494bb355c86c7L,0x6ead45471c0ca228L,0x00000000000001bdL },
  102215. { 0xcac21f389be7431dL,0xd238795012a91cbdL,0xa719bcba717b6555L,
  102216. 0x5df1906c4b27ec0aL,0x489f2341704016b9L,0x7a6b8295439665b3L,
  102217. 0xd48a672f6bd0e2d9L,0x7c109dfc85d4da53L,0x0000000000000062L } },
  102218. /* 34 << 434 */
  102219. { { 0x95923905c4e86d59L,0x03d679ea822fe184L,0xd620a19613200a7eL,
  102220. 0x9e83b378747e1eb6L,0x39596aa1709c1988L,0xcc66a5db1570d652L,
  102221. 0x3e97c888759f7faaL,0x7a97227391133073L,0x000000000000009fL },
  102222. { 0x044c93fdf39e6260L,0x152909941bb2cfa6L,0xcb1274af09a76fc4L,
  102223. 0x430e3da16de5dad0L,0xc91bf14c1fb5f32fL,0xc2b6692c0587e533L,
  102224. 0xd318416f41343775L,0x55ab5e96b0acf93dL,0x0000000000000098L } },
  102225. /* 35 << 434 */
  102226. { { 0xb847386fa177d3dcL,0x06d3c04864062f50L,0xe818655887c6c7f0L,
  102227. 0xc72485a20bbe2d45L,0x36e906749ebc1de9L,0x02ea3f0a95c940b8L,
  102228. 0x32502e0f9de384a7L,0x412d534093bc0c9dL,0x00000000000000a3L },
  102229. { 0x234b35877cbee5d8L,0xc8b3c8b7715bd276L,0x64efc64eede0417aL,
  102230. 0x76fd0880130a4b05L,0x7629e3ac5d8dc2f6L,0x3d1bb123377d965cL,
  102231. 0x672bac542c2bd073L,0xd6de18f0763028d5L,0x00000000000000deL } },
  102232. /* 36 << 434 */
  102233. { { 0x8c0fbbd4799716a6L,0xcc051818aa53a2afL,0xbca333e86044b4d4L,
  102234. 0x119f4ff585c795f0L,0x4b480cb57ea3cadeL,0xced7fb1dc4c1c28fL,
  102235. 0xcb53655dccc703ceL,0x1fe0b7538c5540d0L,0x00000000000001ccL },
  102236. { 0xd937f3957c5bc459L,0xb6756328ad67f0a0L,0x3a5bc8d0fe7c0533L,
  102237. 0x796ac0b0e4565f1eL,0x8377d5884913c2c0L,0x2faa11ac7d65704aL,
  102238. 0xe207ffd25e625bdeL,0xbf3d689068bd440aL,0x0000000000000147L } },
  102239. /* 37 << 434 */
  102240. { { 0x36917a0fc5d50ee8L,0xf67584a91182034cL,0x6e3f6816ddab541fL,
  102241. 0x252c3846fb4383f3L,0xd486c56a79135f2bL,0x5cf7ae823a7b6256L,
  102242. 0xc903396746135cd4L,0xfa78d00cc9fdfe0dL,0x0000000000000007L },
  102243. { 0xaa198a27acef8834L,0xbc5b9d6f97b2f05fL,0x9f0aba712c3f6799L,
  102244. 0x11990d450c5baaabL,0xee42d800d468664cL,0x5d20517f8cd348edL,
  102245. 0x4e5cd17de02cc9e5L,0x2cc4892c040e5585L,0x00000000000000b4L } },
  102246. /* 38 << 434 */
  102247. { { 0xd9bda3f36d9412caL,0x759172bde7d5a033L,0x9162350fe29748cdL,
  102248. 0xea7e260f7ce78177L,0x6630e96465a27eb5L,0x2745ab185575a078L,
  102249. 0x197118fac60ec2b2L,0xcfdc1b2b7b511ae9L,0x00000000000001e4L },
  102250. { 0x3f09c640ee1c385eL,0x64473a006dbb4205L,0x6bed5856526fa99bL,
  102251. 0xfd8ca51fdce3dcc1L,0x5f5bf3dfc76817deL,0xc19d1b50e480b4b7L,
  102252. 0x1028a8009198a639L,0xd505d500a57b69ecL,0x000000000000009bL } },
  102253. /* 39 << 434 */
  102254. { { 0xf9a3263685b14170L,0xfaaea08426db6ffbL,0x84a477d90e115823L,
  102255. 0x922ce22b3f333890L,0xc0386be7cd7d2d74L,0x10ea11cc30d0eb44L,
  102256. 0x85207d417dbb318dL,0x7194658ad2411ca4L,0x0000000000000039L },
  102257. { 0xdb898a4506da169eL,0x0aa090c2467b64c3L,0x2cd2e8360970b9fdL,
  102258. 0xaa6c8478f176f199L,0x176a0fc397e78d6fL,0x70e4e4b0f93e0f7dL,
  102259. 0x184642658f26159aL,0xc7cbb454e455ffd3L,0x0000000000000058L } },
  102260. /* 40 << 434 */
  102261. { { 0x2f7b339b2b037a05L,0xe42f3e95c499d10aL,0x0160d72e07be03b4L,
  102262. 0x153548a37a4601d1L,0xb0fc5c52ea960842L,0x275739870fe92d67L,
  102263. 0x4c0862b5dea7eac0L,0xcd613cde55b71eb2L,0x0000000000000023L },
  102264. { 0x28530abf98a98d28L,0x85a1af53cb349226L,0xdf816addeea21f09L,
  102265. 0xa9b60f768c0d127eL,0x508a88e61a151e50L,0x25ac746c3d750f33L,
  102266. 0x5011a102a225271aL,0x3b5029b548113215L,0x0000000000000037L } },
  102267. /* 41 << 434 */
  102268. { { 0x38c9b635309d5353L,0xcb77df72ff53eabfL,0xe116962d62804686L,
  102269. 0x6949fbe02faf8d17L,0x7899699b97f3100aL,0xcf94c761b8ef13fbL,
  102270. 0xbca74d760416373dL,0x4ca1c8e9b9562432L,0x0000000000000068L },
  102271. { 0xed281e63efb5a925L,0x67e0fa020dd70085L,0x01ca8b2cc32e60e8L,
  102272. 0xa78c502dcacbb1a5L,0x8cf30c5145222199L,0x306de139ace8b1b5L,
  102273. 0x3614b36b961f8addL,0xe3ee448a204661cfL,0x00000000000000f4L } },
  102274. /* 42 << 434 */
  102275. { { 0xed6f4f24b9102544L,0xf209b09d85d70bd4L,0xd7e7b9b1c727863bL,
  102276. 0xa52ecaaf946895adL,0x4128d7380b92132aL,0x02b9b836f0afd5ebL,
  102277. 0xbff72d5e25e0c7ddL,0x67eabf0bae65295cL,0x00000000000001aaL },
  102278. { 0x210820f484bb95b5L,0xd5e78b484e691cc3L,0x6ac799475179f470L,
  102279. 0xf1bafa8f493c2266L,0xd772f2b402acc5caL,0x25c600fff28c1f86L,
  102280. 0xe57413f85ba4a90bL,0x1040f65dc9237b57L,0x000000000000008bL } },
  102281. /* 43 << 434 */
  102282. { { 0x721a88c5f4a96867L,0x1a6f08e0c7e3964aL,0x0c702afe5874917cL,
  102283. 0x3660b192488af1a6L,0x4cb5255f1d7d5ca9L,0x1f31efeb4121bb44L,
  102284. 0x6853d58c5cc7c475L,0xe222fcb5a50c5a86L,0x0000000000000104L },
  102285. { 0xa10d5a0167ca5d9eL,0xa5000c01b40801afL,0x7621eed07bad8270L,
  102286. 0x36a455c869afadccL,0xe7659c2588f3d64aL,0x2e81486da9d2e3f5L,
  102287. 0x4a64f4cf9dd9834aL,0x32a3821eeb0c3985L,0x0000000000000176L } },
  102288. /* 44 << 434 */
  102289. { { 0x32269c1bdc9fc49bL,0xad26e06e9fc27f50L,0x40d2a97d6b4e84a9L,
  102290. 0x736b98d4910ef791L,0xc48559b078702918L,0xb38b860861be6975L,
  102291. 0xcc86b5ac35b00e9cL,0xf06c1fb5335d2dcfL,0x0000000000000177L },
  102292. { 0x24bfe015658a4588L,0xbcf3af27ab32678aL,0x55e6b2e160abc5b8L,
  102293. 0x55fb213b917c8360L,0x9e981ed52f427c30L,0x43665885c4fab94cL,
  102294. 0xbf8864fac0afabe4L,0xcabd2939cee3a355L,0x00000000000000fcL } },
  102295. /* 45 << 434 */
  102296. { { 0x3501e6801439c78bL,0x45a176bc14dee0d4L,0x5d33c48ecdc93ed4L,
  102297. 0xca8d913e0f11febeL,0xf9553c9ae595b009L,0xc546040165fd9c88L,
  102298. 0x1d88fd1c067148d3L,0x05d5e73168c32d38L,0x00000000000000ebL },
  102299. { 0x57df5f2ac01721c8L,0x46eea36794fc35b6L,0x1a80221d3532fe8dL,
  102300. 0x58a569de2fe6110bL,0xd58d99cb9d006486L,0x01a70beac7d58257L,
  102301. 0x0f7676b2d56eb44eL,0xb503c4212bb311c9L,0x00000000000001dbL } },
  102302. /* 46 << 434 */
  102303. { { 0x48b2eb5bb8f016ccL,0xe1f7acad2889fcbfL,0xe2fbd9c195de450fL,
  102304. 0xa2ae397601759f50L,0x03e182f9966abb7bL,0x6b87622f15f8b8a8L,
  102305. 0x8234b5a6559f8478L,0xc3eac3da12e79b2aL,0x000000000000014eL },
  102306. { 0x98d557a4bf09ce09L,0xfe2e1a6e9b890fd4L,0x773b8fee056880b1L,
  102307. 0xb7df5bfa733d34d7L,0x9ae1466b7dc667edL,0x1f3c57ef1db24478L,
  102308. 0xcf7a87b31c706e65L,0x52bf0e2a08204e04L,0x0000000000000108L } },
  102309. /* 47 << 434 */
  102310. { { 0x12dcc5ed7de6a415L,0xc2d54417adf91247L,0xa5b6b79c9cd65815L,
  102311. 0xc89a400c59c0db1bL,0xb11b7522837951e2L,0xf50d64cba967c6d2L,
  102312. 0xed1de5b667ad5dbdL,0xb0188dfbdfdf950fL,0x000000000000006cL },
  102313. { 0xe590422636ce4973L,0x62d15372ee9e7e8eL,0xe03a02160bc5bf10L,
  102314. 0x594b360ec424638cL,0x9631644a46e4980eL,0xb4c6d0935ce887f0L,
  102315. 0x34e073072af0a673L,0xd1c705e7cd22b648L,0x0000000000000076L } },
  102316. /* 48 << 434 */
  102317. { { 0x83fe2ac97051ea31L,0xa76b3ac1b39476f3L,0xee45d2e03e2433edL,
  102318. 0x606db8a30d999a0bL,0x12be94ba99c5c5b2L,0xe2231745695b061fL,
  102319. 0x0aff87140392ef4cL,0xbdc82de6e03641b7L,0x0000000000000172L },
  102320. { 0xc9a067a61e4ddb23L,0x924466e6c5fe49e1L,0x56c25e66498a09a8L,
  102321. 0x2ff93349603dd109L,0x6173e4ef0cfe1653L,0x486c08b8861e5694L,
  102322. 0x675b2d4e4460ca71L,0x9ac71cb2dd05403bL,0x00000000000001f0L } },
  102323. /* 49 << 434 */
  102324. { { 0x594bee43add1ffa3L,0x81b3f78384ba86a8L,0x4d4d314504753e0cL,
  102325. 0x86918b199618ea5dL,0x4342ac93de51e92cL,0xedc80f689d28bd5eL,
  102326. 0x4d3cffa667558269L,0x8d61908adbd3cef6L,0x000000000000011bL },
  102327. { 0x4b24dc12ddfdca3dL,0x27f4baafe5dcba84L,0xf6a5bb67d4f24194L,
  102328. 0x704e87a577187a98L,0xd69baff3c81d6027L,0xf0695b948d86bf10L,
  102329. 0xb60137a1a2c69accL,0x0854af7a4dd76e60L,0x000000000000007dL } },
  102330. /* 50 << 434 */
  102331. { { 0x28c546ab91960c2fL,0x6c1382d2d67d35b5L,0xf1fd4ece5c68d954L,
  102332. 0x2dadd781a99cf73fL,0xa97a79671519360eL,0x87392a02f36e5f39L,
  102333. 0xd3ba240d4d75be7dL,0x1ec49cacecaf25eaL,0x0000000000000087L },
  102334. { 0x8aa2388cf7daf8baL,0xf19bb702c9b04b01L,0xacc01044bc682431L,
  102335. 0x3d7bfffca43a6b52L,0x73468005d108c945L,0x6ca56166f402b740L,
  102336. 0xbda45ddecd486b57L,0x9f26b50036456623L,0x000000000000005aL } },
  102337. /* 51 << 434 */
  102338. { { 0x5248a930a805fa39L,0xafa9a623ee9049b6L,0x32d8272bf57b62caL,
  102339. 0xc57c6742ac33b6adL,0xe67e374781628ffbL,0x12efe0414055d283L,
  102340. 0x85c2388a6afc546bL,0x3e7454dd2325904fL,0x00000000000000dfL },
  102341. { 0x27113ea3bad0b4a3L,0x23c3a6b6c7bb4233L,0xeaebb97bacb43960L,
  102342. 0x751bf53c12765e44L,0x5a5843830c3d1a27L,0xc6e8bc1baa75a625L,
  102343. 0x1cc8684bb84e4b2fL,0xcca40425c687f410L,0x000000000000017aL } },
  102344. /* 52 << 434 */
  102345. { { 0xeefc28baa0c707cbL,0x610a0bf5b5e8a4b1L,0xd74559f39b53d25eL,
  102346. 0xb987896d504c5e8bL,0xae65dd137b25a6b9L,0x967698fecf659983L,
  102347. 0xa10cf8fc302cb07bL,0xc116f1c94447f110L,0x000000000000019aL },
  102348. { 0xca833c3f74b590eeL,0x6099ad10a90703dbL,0x1b05eb478dc0a094L,
  102349. 0x8e611a9ffd61f58bL,0x220f8e3cb6376b63L,0xd3ef40d06276c206L,
  102350. 0xb496ed2c80be240cL,0xcc1e4fee4c62d68fL,0x00000000000001e9L } },
  102351. /* 53 << 434 */
  102352. { { 0x0aa9cafcfb53fdb6L,0x9bc4068864ad41f1L,0x89f2ed95361e5281L,
  102353. 0x93721ee2d3ebc5c5L,0x099676e1059cbaf0L,0x32034ec33ba1925fL,
  102354. 0xa372ccabe58c5408L,0x4198c3ba3a1925acL,0x00000000000000eaL },
  102355. { 0xd573dd0472e39b81L,0xbd53680227fb43eeL,0xb4a9b13773ac68b2L,
  102356. 0xecc58184afc54cd5L,0x0f4ef62140216af3L,0x37a4d9e63ab7f116L,
  102357. 0x7c3b8e87fc8e3ff0L,0x7860d91b2112304fL,0x00000000000000f9L } },
  102358. /* 54 << 434 */
  102359. { { 0x8b8684e1d9f5da59L,0xc52ddfcb3bbccec8L,0xf37f477d0614edf9L,
  102360. 0xa6f89b1dfbf73c9bL,0x65e2b9fdbd39f9f3L,0x9b027ba9bd91c4ceL,
  102361. 0x4178ae818da1ecd5L,0xe926bc1bf8108614L,0x000000000000003dL },
  102362. { 0x9b622c1d398d43a0L,0x56774237f050f68aL,0x599aa2b9c376824aL,
  102363. 0x8e56adb3e4f31fbeL,0x62af9ad61d87cfb6L,0x2340d1df8baee620L,
  102364. 0x378bbe281fd803a0L,0xfb8fee939543c614L,0x000000000000005aL } },
  102365. /* 55 << 434 */
  102366. { { 0x771a68f7d2aa178aL,0xb95ab9c4b8c86d0dL,0xc305c165d1780b7dL,
  102367. 0x495d129eebede15fL,0xf84a588398216869L,0xf5bf03808faecf27L,
  102368. 0x3a6f8a73c8709373L,0x49cc5d0f53b3905dL,0x0000000000000046L },
  102369. { 0x170add44ffbb3294L,0x723db04c457403f2L,0x0f6c3750bc22011dL,
  102370. 0x56e0e96571df11c9L,0x9a9d1508fa898187L,0x35699de6bde2d196L,
  102371. 0x5c63eef632409db2L,0x4041e690bdd73fd7L,0x00000000000000ddL } },
  102372. /* 56 << 434 */
  102373. { { 0xbae333cec37cc3eeL,0xf3c270f736721328L,0x42ca9e1c3e762919L,
  102374. 0xe58208bda33ea0c4L,0x659c9e0588a736a2L,0xe4aafabff2ce2fd5L,
  102375. 0x6c42985d2fc82799L,0xa83e18ea7bcaca5dL,0x0000000000000074L },
  102376. { 0xa94f77548e8fd835L,0x2d730134babc4dd1L,0xdf79c84dd9fd0a30L,
  102377. 0x642756577b1061cdL,0xa8a2a2dcdfb545c5L,0xbd5248e2b32e562cL,
  102378. 0x09c33229db76e132L,0x70f63a074ff616ffL,0x000000000000005fL } },
  102379. /* 57 << 434 */
  102380. { { 0xea1693d10689fb01L,0xeef647104d87521dL,0x382fc26cd4fe6b97L,
  102381. 0xc179b949f19e86b8L,0xe3084066a88d4985L,0x9e590678bf8727baL,
  102382. 0x23cf020a5de7c97aL,0xca99cdefd686a87bL,0x0000000000000183L },
  102383. { 0xd268f2d96478339bL,0x54a2403255ea7d66L,0x85f864bdc95560c2L,
  102384. 0x86abfd934597c282L,0x1279888901f25eebL,0x1a9d8482c2eb4653L,
  102385. 0xb1312836217a63faL,0xc33f92ee8f733178L,0x0000000000000196L } },
  102386. /* 58 << 434 */
  102387. { { 0xa0d7c4edaded1585L,0x8d4ea04dbf7fb3faL,0xb25ba60333e42c20L,
  102388. 0x660a0b5a73d754b5L,0xb84c5639c6a35d0fL,0x7efc0030cf59e3c0L,
  102389. 0x32417038868c3823L,0xd0e71cc934586091L,0x00000000000001bcL },
  102390. { 0x9b28a972202e4521L,0x5846906ce6d90c80L,0xd3d25ef2b38d46cfL,
  102391. 0xcebe3581c209c445L,0xb36008a1d1a0e99fL,0x21f0df426da9da35L,
  102392. 0x5f5f088dcf6b4935L,0xc6eeb3a8447a39cbL,0x0000000000000187L } },
  102393. /* 59 << 434 */
  102394. { { 0x85ef589cda7fff0cL,0xbb7d2d187aaac2c9L,0x62da1c79861a01c1L,
  102395. 0x20c960dfa6a290c3L,0xe3e5fa87b841bb53L,0x56f776ed030b234cL,
  102396. 0xe3ea771922aee8c3L,0x562e9d08df60618eL,0x0000000000000003L },
  102397. { 0xaa56fbb1be6ba82cL,0x052d23638f908eb6L,0xd0f896afd5cfa9deL,
  102398. 0x1c90749369f1787eL,0x634393c8e73e153eL,0x6d1a88b10383a7f4L,
  102399. 0x9e56e70c59aeb927L,0x43f825ccce34cb9fL,0x0000000000000096L } },
  102400. /* 60 << 434 */
  102401. { { 0x6a2d32b0f3338f86L,0x4a5c3db2c9710433L,0xd298f3b0a5f68f1aL,
  102402. 0xae78b804732d40d5L,0x860d74d8dc109412L,0x0f3d42ce2c898732L,
  102403. 0x63e5cb193d321599L,0x796c17cf1462a77eL,0x000000000000003cL },
  102404. { 0xbb71e1b917837e4bL,0x9711dff889cf36deL,0xdf6c0a2ab1fd56b7L,
  102405. 0x6f07fdd1d7e8e866L,0xecfc1ba5b4f1bd81L,0x4ac6b88a29db023bL,
  102406. 0x2bb7f22a6de37b7cL,0x86e37d902c35fa00L,0x0000000000000113L } },
  102407. /* 61 << 434 */
  102408. { { 0x5126634734a859fcL,0xf9f2b2e478f47a8aL,0xd8391cff0044a94bL,
  102409. 0x6f2eb81f2357b297L,0x1c4f2bbbc7ef458bL,0x3a1d92225e46dc98L,
  102410. 0xf97b3e71727a61f8L,0x8edeab095546e3caL,0x000000000000014dL },
  102411. { 0x8cc6143e4b4de1e6L,0x78fcfad7fc1524c6L,0xc805ef2343fca983L,
  102412. 0x37753cf32b7fb591L,0x8269ad972df94bfdL,0x2768ac2617382c88L,
  102413. 0x28767bc5589bd8f7L,0x7d96d75f12aecb9aL,0x00000000000000f6L } },
  102414. /* 62 << 434 */
  102415. { { 0x8460354fb970b064L,0x4da9baa59ad28208L,0x81f9b7fb546876e0L,
  102416. 0xee7368f787933e9fL,0x95f61bae3d91b713L,0x29ecf884ab29d102L,
  102417. 0x61a68fc2ba02eeb7L,0x2a62ecc38eecd5a5L,0x000000000000017cL },
  102418. { 0xcca8a64d65fc05daL,0x04e1b84433befb34L,0xc799d13c1aaaa85dL,
  102419. 0x431d1495bb40bffdL,0xfb991dce7dd23e02L,0x9944de58a4ce9e1dL,
  102420. 0xf5ca8246b3b4700eL,0xa2307905364d87f4L,0x000000000000015cL } },
  102421. /* 63 << 434 */
  102422. { { 0xfad3776ab2c1d16aL,0xd0885428474617b3L,0x09f73d4268c33a2dL,
  102423. 0x0a00131a4f77e376L,0x92cb3f114947663fL,0xbae96a84fed01f57L,
  102424. 0xb5b55e2bba697677L,0x6f1a684cc671ff81L,0x0000000000000088L },
  102425. { 0x1f41fe2e1931053bL,0x9745971032a2249eL,0x180bcd1c3c403728L,
  102426. 0x422195462474f7fbL,0x7917cd1812f67c1cL,0xfab12214316ab5b2L,
  102427. 0x6415634ac6d0c5bdL,0x0ecd28b49e499fc3L,0x000000000000011eL } },
  102428. /* 64 << 434 */
  102429. { { 0xa0f946b34c7f31f1L,0x122b97ec004b810dL,0x98f876d1831a9cb2L,
  102430. 0x6690030aaebd922bL,0x12a235d1a21b0412L,0x5ced8104e097208fL,
  102431. 0x049b33ed49d32fb6L,0x2e88d76287b187ebL,0x000000000000007fL },
  102432. { 0x08801d4eaeaaa0d2L,0x3b052b0a6fc2830aL,0x4e02318f6fef40c1L,
  102433. 0x5a24478a06f38abbL,0xc90c53926dedd4f3L,0x402e4a9eff07397bL,
  102434. 0xde13d7bff1bdec37L,0x8a363ccb727eb837L,0x000000000000014dL } },
  102435. /* 0 << 441 */
  102436. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  102437. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  102438. /* 1 << 441 */
  102439. { { 0xa749f2661accb5d0L,0x8ee12c7ebcc9460eL,0xf3a52fdf3d25e73cL,
  102440. 0x187bbe7100c5540fL,0xcdcc3cc1561beb89L,0xe54df2b48eacfcabL,
  102441. 0xbe6d1874cda02530L,0xbb717f8fd072a684L,0x00000000000000bbL },
  102442. { 0x79de2d6504bd7407L,0xd8ae0921ccea6b74L,0x358cf798695de295L,
  102443. 0x004e73b2b81c02a2L,0xd252441e9e6caea2L,0x557f228caaaf568bL,
  102444. 0x6f92ec1d357d9e37L,0x31efd9bfe91fd306L,0x00000000000000dfL } },
  102445. /* 2 << 441 */
  102446. { { 0x650e3a2694a7efd8L,0x0e18083dc739b54fL,0x4ef3232e9367e306L,
  102447. 0x2de3d70cf0838edbL,0x1364e843ca8715d2L,0x854dca361c25b1c8L,
  102448. 0x73c011bcbc117070L,0xe83bd36f051286e9L,0x000000000000019bL },
  102449. { 0xf1226611c0f59bfdL,0xb910f5b64287520cL,0xa408790bffcdbb02L,
  102450. 0x9d56f34d1a0bc553L,0x1530c726ce9a67a7L,0x96f5fa25dce794f5L,
  102451. 0xd5a224c8077377aaL,0x2e9d8e98d016e05dL,0x0000000000000093L } },
  102452. /* 3 << 441 */
  102453. { { 0x3e884116e71bedebL,0xc43114f0d8e683d2L,0xc65277b4709db235L,
  102454. 0x135e623363401611L,0x5e6cc4ca4ceccd3cL,0x9d481fa0f73e6e64L,
  102455. 0xd52236235c253aecL,0xd60d849991f70b82L,0x00000000000001c4L },
  102456. { 0x5db01dd6632f8eb2L,0xc4695bbfa948669bL,0x143ae7567fef1ac0L,
  102457. 0x3958cd3f21487ff3L,0x00c79f337da2ec59L,0xce54451e07f9a8bdL,
  102458. 0xfc1017fb62f7eea0L,0x6bb256b462f0f204L,0x0000000000000008L } },
  102459. /* 4 << 441 */
  102460. { { 0x3e9a969a777a2dd1L,0xa928fca6f0b88aa3L,0x7282de355f56eec8L,
  102461. 0x6fc69cd1076833b3L,0xb082ae0411751566L,0x09a31956ceee94fcL,
  102462. 0x6d3a6221158a2cb5L,0xb29c6ae7788752efL,0x0000000000000105L },
  102463. { 0x44ee879abd125523L,0x8297eaa04e8990b5L,0x9deee7c4d7723740L,
  102464. 0x3c6037179a8bf178L,0xa851306b1207191fL,0x13eee334bebcb461L,
  102465. 0xc13d695eb8cce34cL,0xf3f594a50ff4755bL,0x0000000000000196L } },
  102466. /* 5 << 441 */
  102467. { { 0xd370ca154611d4ddL,0xdca296e58f40e4ecL,0xc2c0a54fbb7413e0L,
  102468. 0x99064624c90f6194L,0xfa357ce2798e03acL,0xf782d7099c6ba76fL,
  102469. 0xc3718575129fbaf7L,0x9275ddcf09ad3f74L,0x000000000000016aL },
  102470. { 0x6ee77b4cc4919031L,0xb09eec783947c6c5L,0xbd8f2eb86a83f5bcL,
  102471. 0x2584dfcffbfd128eL,0x11f97bd08c68c3adL,0x157420d05f2133d1L,
  102472. 0x8f3c1815d1dd4835L,0x11e09e8f326d9859L,0x000000000000015dL } },
  102473. /* 6 << 441 */
  102474. { { 0xbe0ae36cd038af41L,0xc3e663659074c082L,0xf3a754972111b39fL,
  102475. 0x853840556be5e224L,0xe6a841a8fdc29253L,0x6f242df76886082cL,
  102476. 0x4de2664606880770L,0xa8d7ab3e57695441L,0x0000000000000105L },
  102477. { 0x452fa47042fb45c1L,0xcd54e43102d65857L,0xf6439594c6aa1fcaL,
  102478. 0x910ff5bfca2c8838L,0x5db4b1df093db021L,0xc6c529725d06ce9fL,
  102479. 0xed40a0482981de06L,0x394308e642e75708L,0x00000000000000a5L } },
  102480. /* 7 << 441 */
  102481. { { 0x1140d1b13f7e1b85L,0xe5d9542e558f5a89L,0xf01590081347e2eeL,
  102482. 0xf4140adaa83cd3eeL,0x1388e29d1f9958dfL,0x177f13dff1d926eaL,
  102483. 0x5aac4c2037209003L,0x46bed0a6cb9e0456L,0x0000000000000165L },
  102484. { 0x635535b494312d7aL,0x662149bfa396a95dL,0xb23c59dd4348ab81L,
  102485. 0xa059d555cf24fb7dL,0x3dc39dbfbe9011a6L,0x7e11b9d98d1ed5a6L,
  102486. 0xde503b26a1fb4b12L,0x04d12ec729aa2854L,0x00000000000000ceL } },
  102487. /* 8 << 441 */
  102488. { { 0xbf07e90d8114885dL,0x76d513b29f39a562L,0xd98ae4f77e5446a1L,
  102489. 0x7e3314e96264b6c0L,0xe634dee76f3a7560L,0x1dfa2392a08d539eL,
  102490. 0x45764812bdae3c53L,0x858b836fd824e9acL,0x000000000000003eL },
  102491. { 0x9bdd0365e324ea11L,0x9625d01b1117cdc2L,0x491ea6427f6c259cL,
  102492. 0x61b79486125826f0L,0x573debc818a56486L,0xe224dd3b0d31132aL,
  102493. 0x075c3bf780be8263L,0x0eced67ab84a07faL,0x000000000000010eL } },
  102494. /* 9 << 441 */
  102495. { { 0xe937531c77ee5e92L,0x2a248ed6cde38019L,0x9d56715bf16bcb1bL,
  102496. 0xb232a0b13682fee6L,0x50adcfb76062ba66L,0x853ecaafc15a8617L,
  102497. 0xe2ae82eafbf86cb2L,0x2387b9e996e5d5d9L,0x0000000000000126L },
  102498. { 0x2c949e78d1ad4cedL,0x2dbb570f7e1df51aL,0xb3b00e4a1f09cb9dL,
  102499. 0xd50d45499ddc5774L,0x22bc724199ed1407L,0x0c6b49fea2462565L,
  102500. 0xb7ea7261ad2bb7a2L,0x14edf03146fa95baL,0x00000000000000aaL } },
  102501. /* 10 << 441 */
  102502. { { 0x0c0d310cf9039efdL,0x954127e0be623269L,0x2c8de379ad37d5f1L,
  102503. 0xc88058c24ae1e101L,0x953cced393612558L,0x6f795799562ff195L,
  102504. 0x04b43800f75dc91fL,0xc388110878a305a3L,0x0000000000000023L },
  102505. { 0x3a910a199d0e636bL,0x8fd231dea9233a03L,0x61c5a3511799791bL,
  102506. 0x0f6e33cf24e1aa4aL,0x99fcbe6d24c1749fL,0x6d6dc4ff29e84e10L,
  102507. 0xdfd3919445a30b2cL,0x551811cf3d438976L,0x0000000000000042L } },
  102508. /* 11 << 441 */
  102509. { { 0x19fa754692c76a06L,0x09b44b739cdf4192L,0xdd474e2429a471ffL,
  102510. 0xb33d4b633c1f2efbL,0x352bb3c87b6ba5bbL,0x33be999f7a25c837L,
  102511. 0x455849c9708753a5L,0x4bebf7228c356712L,0x0000000000000082L },
  102512. { 0x491c083d1c932272L,0x53e741ac7902ce78L,0x3e913b13cc553480L,
  102513. 0x28d36b5162b46cafL,0xdaa8df3ec5c92702L,0x1b8ce0face5b521eL,
  102514. 0xc3a12ef4346a9c86L,0xa88531c1af543e95L,0x00000000000001b4L } },
  102515. /* 12 << 441 */
  102516. { { 0x225c4d89218083c9L,0xc8ca7c0bd951e863L,0xc48c23d1ae8d2aedL,
  102517. 0x2e5a185d12f3fdbfL,0xd459188cb12bf51fL,0x42707a3376a84f56L,
  102518. 0xe647d5ba0c5646f1L,0xa18986803140e000L,0x0000000000000132L },
  102519. { 0xdf3b68773acdacf7L,0x2e2ce1ead81dab2fL,0xd3a3397dffa2aa06L,
  102520. 0xcc9192cb2a580c69L,0xc171c2ba6291b080L,0xa886917af908ea1eL,
  102521. 0xd49b41cab0ee690eL,0x53d75ee28a4699a0L,0x0000000000000055L } },
  102522. /* 13 << 441 */
  102523. { { 0xad0120df46dc9f05L,0x9dece9ccd80e1f06L,0xb55d9ea96661d61aL,
  102524. 0x3bcc804d06e86dc4L,0x711a39a0a1fd8a7fL,0x5dc5752e514bb596L,
  102525. 0xbd07dc9cdc01996bL,0x745d1b95166bb5c5L,0x000000000000009cL },
  102526. { 0x896d26ee45568558L,0x995524f1c875e781L,0xdd27fb7f85ae1606L,
  102527. 0x6d2a995ab6ce93a4L,0xfdde5c2a6bfab47aL,0x6cf168956a8f8625L,
  102528. 0xf36f40b9c9697605L,0xd85528d7a2ac13adL,0x0000000000000123L } },
  102529. /* 14 << 441 */
  102530. { { 0x245c6974e996e859L,0x18140823357fffc4L,0xbbeaf2d9268c0e61L,
  102531. 0x84c491bf1ec3a60aL,0x92519cd3932c2143L,0x2f8026a50e9c23bbL,
  102532. 0xb3ea1321fad88c26L,0x253e9873ca612741L,0x00000000000001afL },
  102533. { 0x96ac89af04eb167cL,0x1d51ede280839911L,0x0ea85b4126be1ea8L,
  102534. 0x2d788d0d3e5c6fd0L,0xc0565fec84fef7ffL,0x605449368a5337f4L,
  102535. 0x8eebabc69bfcd3e4L,0x0e0fb4da4a66bbf1L,0x0000000000000059L } },
  102536. /* 15 << 441 */
  102537. { { 0xd3bf69da0970051dL,0x93f43d8c436c6222L,0xe07658e68ef8f7aaL,
  102538. 0x0644fc85e0da692dL,0x5b21003afa44ed0cL,0x7a63520b55fd30cdL,
  102539. 0x2e494a11c200c9f1L,0xa3c6951d20e8ddaaL,0x000000000000007bL },
  102540. { 0x4af75dab2fc74e40L,0x1413b04a35e18492L,0x3a5ca7ae646c012aL,
  102541. 0xdf45e095444c9da3L,0x28ad4ce37723586cL,0xe7d27e128baf9d42L,
  102542. 0x41f7f06f8ec93610L,0x0636c501c7c2f47bL,0x000000000000000aL } },
  102543. /* 16 << 441 */
  102544. { { 0x486d3c489c4cd8ddL,0x2ceed6f8f7e8160bL,0xfb38315da76fc3c5L,
  102545. 0x521ac7bb7863c459L,0x17252331576f783dL,0xf0fcaaf23e6d4bcaL,
  102546. 0x8db1cffce6f8e385L,0x2e2ef7f478c49eebL,0x000000000000001aL },
  102547. { 0xa3c3c341f690d5aaL,0xc14cffb041e05923L,0x2c7e4bcba2c02f22L,
  102548. 0x79352516c38aafe2L,0x67bf3709daf3e5f9L,0xfd7c30a974d2aad4L,
  102549. 0xb46886878b971591L,0x7adf565ab5f34fd8L,0x0000000000000132L } },
  102550. /* 17 << 441 */
  102551. { { 0xc6f3ddbf3ee1b1b6L,0x3ae199de367775f7L,0x869e3f277b5c2062L,
  102552. 0x01adf55de699e103L,0x6fa9b9ca3efcf30eL,0x60babac333616bd0L,
  102553. 0x619cb20628f783fbL,0x0d5cc6775ed241ffL,0x0000000000000124L },
  102554. { 0x7906ac2d14876366L,0x5182e7f2bc304f89L,0x2252436f2139416bL,
  102555. 0x80955cfe62bb6596L,0xa097c5da2ccc76c8L,0xbe48d244b6a4de18L,
  102556. 0x4a6ab624ffe47914L,0xca10c376f974a0a3L,0x00000000000001f9L } },
  102557. /* 18 << 441 */
  102558. { { 0x8fbb3cd7496cb13eL,0x107cdb9a258b584bL,0x5d0e6918a848ca32L,
  102559. 0x73891c7cbcd21ce5L,0x3ea57b2c791d65dcL,0x6c5e0cd6d9b5669dL,
  102560. 0xd81229f8f1321da6L,0x8b9972dfb0b17706L,0x00000000000001e3L },
  102561. { 0x8939d7a7d6e10f59L,0xe160bd16cbbe5271L,0x3348b4f04fbb8a8eL,
  102562. 0x147e36393fd01b59L,0xbcc1210d7ee93c4fL,0x949ce71dfc4dd8e6L,
  102563. 0x1436c0f549890833L,0x4cdcee717273ac5fL,0x000000000000019bL } },
  102564. /* 19 << 441 */
  102565. { { 0x512a10934e9a039aL,0xb6470fb2e0c95392L,0x7dba72fa82400a70L,
  102566. 0xd3dd821930685212L,0xcbfb1de9ac7a38d6L,0x4146c087c670cf2cL,
  102567. 0xee1e0ca179e513c0L,0x1b5015d74d53c35eL,0x00000000000001fdL },
  102568. { 0x601cc1e63cf7333cL,0xf1f4c134f785b4caL,0xbd1aa34463f3fdacL,
  102569. 0x221f0a2573056a6aL,0x197d6ab8e6aba28aL,0xbc0019e0a3d17004L,
  102570. 0xd18a3b87825d6d76L,0x5178300e5f4e4796L,0x0000000000000072L } },
  102571. /* 20 << 441 */
  102572. { { 0xd01fff9dcc045310L,0x937dcc6f352c1840L,0xb17d2b6f355c78afL,
  102573. 0x42e3d467a1b4c507L,0x9007d976d1ec1c6cL,0x04e44bd51c604ac7L,
  102574. 0xac5f6d35f3c28e52L,0x6f9382f57c78a5e7L,0x0000000000000197L },
  102575. { 0x8f6894774e717f2cL,0xc59589f0279c36e0L,0xe4b11ec19dac55aaL,
  102576. 0x37ecce34b2301ce6L,0x396745a27ab894dcL,0xbae3de55fcf34e70L,
  102577. 0x3f670dd62158968bL,0x9b8ef31efc1f9ab2L,0x00000000000001b0L } },
  102578. /* 21 << 441 */
  102579. { { 0x89402e7a36636861L,0x0e121ba28da879c7L,0x824ec11d9caa72c4L,
  102580. 0xb03d625b90ee0713L,0x16b477525af76e3dL,0x314d2daffc116c0dL,
  102581. 0x00e42bbcca591142L,0xebd124bc2a28d332L,0x00000000000000c7L },
  102582. { 0xfbb0938305f3a77bL,0x5478a7d2fa1f96c8L,0x2f04b86dcbab30deL,
  102583. 0xaf1c81f41d38bcaeL,0x873794acb0e3391eL,0xe5234d10d1ba629aL,
  102584. 0x7854ab94fdb4901fL,0x447d05a5f48ba9e2L,0x00000000000001bdL } },
  102585. /* 22 << 441 */
  102586. { { 0xb3dfccf01d967d35L,0xa68315ea3f71108fL,0x928e15c2837a8c3dL,
  102587. 0x6f2114c3085d00efL,0x77d86e5e1a86a583L,0x3d97e64935f597cbL,
  102588. 0x9c729cbcfb5a4d92L,0x7c99562d7d946695L,0x000000000000011eL },
  102589. { 0x41632d38aabbfae3L,0x48793078c835493cL,0x8e90be311d5f8e61L,
  102590. 0xa09b5add33bda788L,0x3dd23a2e80c7b31fL,0x9a46ee40f7657031L,
  102591. 0x7b4d15e30b070becL,0xf2071f44878a2010L,0x00000000000001eaL } },
  102592. /* 23 << 441 */
  102593. { { 0x06cfb330d10147efL,0xe756da6b749d4ad2L,0xf6fcb9200f956530L,
  102594. 0x7c3bdafe04cdc530L,0xc89aae334e3f46f9L,0x0dce363962eaae49L,
  102595. 0x267909518d9133a2L,0x0f27bbe5e46de833L,0x0000000000000087L },
  102596. { 0x8cf40e37bfe09ceaL,0x09cc65b1e1f4df2dL,0xf964911777cb793aL,
  102597. 0x78e249ee3fbc5ea1L,0x305049579084b235L,0xc008de498a39b17fL,
  102598. 0x6e0117bc4ac4f445L,0x34fa696658aac50fL,0x000000000000001bL } },
  102599. /* 24 << 441 */
  102600. { { 0x82e9010daffbd971L,0xab6fea0bc7ac3199L,0x8d38894050383d27L,
  102601. 0xc37ab3b3be775398L,0x8ef10af154bf74aaL,0xa1c39ed452aeaf9bL,
  102602. 0xcd2b6ee670f42d7aL,0xcb57643738a53a34L,0x0000000000000087L },
  102603. { 0x5a1416996f80e03fL,0x0d7a7ab1408678e3L,0x33db44d87d279aa8L,
  102604. 0x25e82c9032a33193L,0xc68f43737fa96201L,0x4e2fbe8a1c15c8c4L,
  102605. 0x5b5ce8055429a403L,0x1dc2f304f6543e19L,0x00000000000000d0L } },
  102606. /* 25 << 441 */
  102607. { { 0xfd27036f6249d4a0L,0x80732c4c05aaaf64L,0x13a02ccb3aa41caeL,
  102608. 0xd2d117204bac8ecfL,0x33b4f7e4e0b47969L,0xe9719c3634ffcd7eL,
  102609. 0x0b5584bef041a2bcL,0xad35638388240cd1L,0x000000000000008cL },
  102610. { 0x4597cab65d253821L,0x136b4eea8621290eL,0x1a053fee74cfbd39L,
  102611. 0x38390a30e8ce29f9L,0x85008d8de17589d6L,0xc9a9b0bf3a55618cL,
  102612. 0x21247a63adcf68f9L,0x6353a40ac8eaa840L,0x0000000000000072L } },
  102613. /* 26 << 441 */
  102614. { { 0x2a84edeb611dbd82L,0x928512d7250d7b4cL,0x26101f84bfe2aa8bL,
  102615. 0x2e79ff22920044b1L,0x2e23d451e99667cbL,0xfef41352f63db866L,
  102616. 0x17db59799385090bL,0xee24e159c43db739L,0x00000000000000feL },
  102617. { 0x3a23eb35c2fc1ff6L,0x2ecd2057897f8b11L,0x0b94433b2cfc90d8L,
  102618. 0x625b69a8345d638fL,0x04830925115fbab8L,0xc73ec42631db6ec8L,
  102619. 0x7bff020d32aa0c57L,0xf097aa60d3ae8c0cL,0x0000000000000001L } },
  102620. /* 27 << 441 */
  102621. { { 0x8261b41492e7787cL,0x46a920b300919d6eL,0x0a5ac766ca0174d7L,
  102622. 0x2dd5584380d01c6dL,0x27104845253c74dbL,0x2e86fc89511c661cL,
  102623. 0xc24fe84d2d4623ccL,0xfed49394f8d720f0L,0x0000000000000084L },
  102624. { 0xe3246ec04a711e6dL,0x5aaec97fcb25754fL,0x33571e67eb2598fcL,
  102625. 0x90f4667029ad653eL,0x3885ac625aacd507L,0x9c7106c4000bf4aeL,
  102626. 0xdfd9bec142352fbeL,0x0cd94630dcd3b524L,0x000000000000003eL } },
  102627. /* 28 << 441 */
  102628. { { 0x265e7e144a61c8cfL,0x7108ac8e9c01168dL,0x8c00c591c1db0c2fL,
  102629. 0x4fd76164c7eb2880L,0xee207ae8072c9afeL,0xf291ac662af4f872L,
  102630. 0xd556354e38e6ceb5L,0xd1ff944a901b9c88L,0x00000000000001a2L },
  102631. { 0xf058a1e5ea374b44L,0xcdd1f0b7d282af39L,0x5095378c3ba681b3L,
  102632. 0x2da2db904e8befbfL,0xd73223a361edb289L,0x305ec380221d18bcL,
  102633. 0x5b191c1ca45ed6b2L,0xf28be70a0e63d2a1L,0x000000000000005eL } },
  102634. /* 29 << 441 */
  102635. { { 0x293d2e8a6dd376faL,0x400a186e9918b3c5L,0x693265b7a7483fc8L,
  102636. 0x0f38d5e1dba14394L,0xfcad07b3d554e653L,0x9536e6a909d37398L,
  102637. 0x0c20469422b5fb0cL,0x4d22c2e77593be0cL,0x000000000000016cL },
  102638. { 0x320a27ff4e8770f9L,0x341f5628e9b27b2dL,0x13c713b8d7797f73L,
  102639. 0xac4636d2bd4289a6L,0xc6cd28cf096621efL,0xe866b2e9f1dddce5L,
  102640. 0x36872e001add8506L,0x7a82493c1835b90fL,0x00000000000001a0L } },
  102641. /* 30 << 441 */
  102642. { { 0x0efb34abc520c268L,0x2ef017b00b3ae7a8L,0xd8ba2baef1f916ceL,
  102643. 0x495b8a2801a2e8bbL,0x76c86a31e37fe26bL,0xbdddbdcd2787c00eL,
  102644. 0xc2d98c35f431de88L,0x7642a3382953f309L,0x0000000000000112L },
  102645. { 0x10436513df59f330L,0x2a63f6ca21d133ffL,0x01f2b7e8d8e16c98L,
  102646. 0xacab87a5b3b1c312L,0xff9c344c37aec499L,0xabe46f7b4afed453L,
  102647. 0x826c9894c1feed8cL,0xb89d0a04aa543610L,0x00000000000000fdL } },
  102648. /* 31 << 441 */
  102649. { { 0x85d18171c9e4a7cbL,0x54d525b7d2a22758L,0x1abc342ccd696c36L,
  102650. 0x812a42651c781fa1L,0xbcbc450635f8c1b1L,0x97c302369fb7c9d6L,
  102651. 0x705db3f328bb1e6fL,0x24bdcfb4a6df36e9L,0x0000000000000107L },
  102652. { 0x09eaef27e74ec8e7L,0x367427963e1028f1L,0x6e525404023c3e4cL,
  102653. 0x0c8eca526ede11eeL,0x502e86b6184a8d28L,0xcf8ba9d9125dce7fL,
  102654. 0xd4e534c610b11eccL,0xc9a33890effe448bL,0x0000000000000116L } },
  102655. /* 32 << 441 */
  102656. { { 0x074092b0518c2b4eL,0x4efd0358226849ecL,0x384ec468c8582d0fL,
  102657. 0x6348e93a1b6530ecL,0x752f051586723e53L,0xc0124a0a18b6d228L,
  102658. 0x8e61db8af16144b5L,0xa3b3bcdbc57ad828L,0x0000000000000096L },
  102659. { 0x7b5eaac0d5d72677L,0xc6a4fd2fc826acdcL,0x06f1269583835c84L,
  102660. 0x287eb11866c70474L,0x824e4c576fb32f64L,0x6aab90483326b6d2L,
  102661. 0xefef96e49dddf339L,0x8e113990df13705dL,0x00000000000000feL } },
  102662. /* 33 << 441 */
  102663. { { 0xe2accf1d679c7a0bL,0xd91d0623370058d5L,0x838dfaf51c44effbL,
  102664. 0x478d6317c891c192L,0x9a1d69833bcdbdf2L,0xa2adcb29206a78daL,
  102665. 0xf032d6439ecf90b5L,0x998eeb68b6f4b66aL,0x00000000000000ffL },
  102666. { 0x3ce5d445246d19c5L,0xafeef35bf2be8053L,0x1cd93d149c3354f6L,
  102667. 0xab8d758584c1d532L,0x67887e7fd06af98bL,0xdae0dd587ecc066eL,
  102668. 0x37f0c7cd24990908L,0x2a9a78c654a855f5L,0x000000000000017aL } },
  102669. /* 34 << 441 */
  102670. { { 0x14518e8d2e7f1be7L,0xddf58460b39604b7L,0xb9b7abcc97a83cffL,
  102671. 0xc23ed4b77e595bfcL,0xb83200b68301e5caL,0x593a1e9dc5460472L,
  102672. 0x344bb417a4aa1ee2L,0x7e005a7b53932656L,0x00000000000000c0L },
  102673. { 0x0d7d26803f56e1f2L,0x22f567b107fff8aeL,0x99b49f32be054a82L,
  102674. 0xa94832d6275528d9L,0x997fdac4842ed9cdL,0x476353ac85fd9ec5L,
  102675. 0x515f0503ca503c68L,0x9571eec431a59bf2L,0x000000000000001cL } },
  102676. /* 35 << 441 */
  102677. { { 0xf5b648deca4167daL,0x3f3046dd2c8f0e2eL,0xc4e0c6b4038d24c8L,
  102678. 0x3c16985789b7da6bL,0x4d3649863cfe2320L,0x2fe23040c895aad8L,
  102679. 0x786f1a119f4272abL,0xf91aa91a9fb42f8bL,0x00000000000001e9L },
  102680. { 0x93e6c70ea114a55bL,0xa6a07aaaf46f5649L,0x3ac845724b626a02L,
  102681. 0x63d936001650bd78L,0x80ef98cb58064535L,0x3994f55051c8d7b8L,
  102682. 0xdac64abc01b4971bL,0x1165fb7be97d3193L,0x0000000000000051L } },
  102683. /* 36 << 441 */
  102684. { { 0x79f135f005771675L,0x398910e27008ba42L,0x72f9a899e2cfb304L,
  102685. 0x0e7448ed51bf359cL,0x814a9f6453d82f6dL,0x02cc1df8cc0bd057L,
  102686. 0x03a77c0a754becd3L,0xde0385b37427d79eL,0x000000000000013fL },
  102687. { 0xc3aedfb3b5cf64bcL,0xba344d912f11967eL,0xd269443db9dfc1a2L,
  102688. 0x1ab57001a5a70140L,0x414cf58ef408fe92L,0x7b9adfb6d890280eL,
  102689. 0x705bb16539242a3bL,0x66db67486bad4596L,0x0000000000000150L } },
  102690. /* 37 << 441 */
  102691. { { 0x2c3cd5a0108c9893L,0x8a240794bac6cc23L,0xaeeb36df823fe6fbL,
  102692. 0x9c2476d068aab363L,0x8b9d9703c0cc02fdL,0xa8e483fdb8d2a4ccL,
  102693. 0x0e3cb987fb774e3bL,0xedd76b875f1f80c4L,0x0000000000000036L },
  102694. { 0xd7ee3e4719615126L,0x2afa7e8df5547692L,0xe7d92c2f2133f245L,
  102695. 0x3005e6e925c73cdbL,0x3efc8169ab362edcL,0xdb546c5d06b3dc8fL,
  102696. 0xcb75f0d88067855aL,0x03189f39698a4373L,0x000000000000010aL } },
  102697. /* 38 << 441 */
  102698. { { 0x77f6a34facbfb019L,0x0bd1100e4518a2ccL,0x96b927d7ca8c27e2L,
  102699. 0x5ada2880718c432bL,0x09765ed620641c90L,0x6e516e8b3f7090c3L,
  102700. 0xb27c6c5f5bbe4811L,0x0268577d3b1eab5aL,0x0000000000000187L },
  102701. { 0x8da5cea7c1571bf7L,0x6c28d100cb30dfe8L,0x94f462ac40839b28L,
  102702. 0x84e174469893e5e6L,0x632d3f321f4e932cL,0xa791cf199cb57b35L,
  102703. 0x17cfc8606d58252aL,0x8b93b8cf95d09a97L,0x00000000000001b4L } },
  102704. /* 39 << 441 */
  102705. { { 0x3406f11d524f9da8L,0x162475082c9d9f83L,0xcd6306049ad35aecL,
  102706. 0x4a06fd2a9377e247L,0xaedf8263836a2ea5L,0x2e23b143be771b59L,
  102707. 0x53a8aebc67330056L,0x6a01eb9620b8fbd7L,0x0000000000000164L },
  102708. { 0xac3ffdedaea4e0b8L,0x15c59c69ad153673L,0xcee2f459856f7af1L,
  102709. 0x654725f8f84e2d29L,0x36ce53ad68875b2fL,0x5fecc9d05e8dd247L,
  102710. 0x9fd2d8b73100f3caL,0xcd28d36c030be688L,0x000000000000001fL } },
  102711. /* 40 << 441 */
  102712. { { 0x75605b034319c263L,0x887fdfbb9e4740e2L,0xde488a31d43f9b89L,
  102713. 0xb0e691668e84f79cL,0x8ad2cf6570a03015L,0x20c0c8a49151cb55L,
  102714. 0x9c4d58100538315fL,0x18b7eb2712204fa8L,0x00000000000001c0L },
  102715. { 0x2701f40ccd3d6255L,0xb6302374684db0fbL,0x1934bd385986c5a4L,
  102716. 0x277ca623ac3eb927L,0x1f8e83f33c9260caL,0x1d42b0b1cdd488c6L,
  102717. 0x03dd506202069bedL,0x1edf5be80713fb4cL,0x000000000000012dL } },
  102718. /* 41 << 441 */
  102719. { { 0xbd340554f68cd488L,0x5ba629fe4c4e9de7L,0xbf0904b5598a592aL,
  102720. 0x090d3b7797f22215L,0x35271f6f32f10ce9L,0x5ba1143f4ee5ff39L,
  102721. 0xeca98e4948f5e741L,0x312c71324d4fc387L,0x000000000000005dL },
  102722. { 0x9a42c0a19f83c1ceL,0x070c9ff00c8a3828L,0x8c0ec42d1a0dfae4L,
  102723. 0xeb0739df69b7ea10L,0x19e3841e3fda056eL,0x967531161e991eabL,
  102724. 0xf304dfd98ce9c7bcL,0x3ef71431a70d2876L,0x0000000000000002L } },
  102725. /* 42 << 441 */
  102726. { { 0x1b85459bf86e2a23L,0xd7b46e148126f294L,0x547e1e6613227f84L,
  102727. 0xe520b291a8600d75L,0x8836425dca9aefb9L,0xfb12993c3089b09eL,
  102728. 0x38e644f9963654d8L,0x115bfcb733b309adL,0x00000000000000e1L },
  102729. { 0xed33a090771004f4L,0xc97174545f405e28L,0x055b8e0e983ff84eL,
  102730. 0x43b21455945a54afL,0xf5ece9981da15a4cL,0x0135baaddbb0512bL,
  102731. 0x09832d2c97dbecc2L,0x142102fad396c4e1L,0x0000000000000022L } },
  102732. /* 43 << 441 */
  102733. { { 0x56c6e12ff218d75eL,0x82ae876717040ba5L,0xde953898ec9ae18dL,
  102734. 0x74801498c973dc1aL,0xb8fe18b74ddfbe5eL,0xcc2fabfc221a12f0L,
  102735. 0xdf3d3ce3095717b2L,0x063315b301674069L,0x0000000000000166L },
  102736. { 0xbb0b8502a5d6015fL,0x0319da6b3267e7eeL,0x8a3f055b330a7d42L,
  102737. 0x24633fbb578d3e0fL,0x42b3d57732d001e9L,0x6b4bd31841c3de6fL,
  102738. 0xf67e14de7674f280L,0x872c31500945d653L,0x0000000000000113L } },
  102739. /* 44 << 441 */
  102740. { { 0x79dc032fd1ddcb83L,0x9502a00f09f7b95bL,0xcea6cdc8719ad453L,
  102741. 0xe631629a13c95a17L,0x6e0bd6783e242b36L,0xd5a4ce6070adda24L,
  102742. 0xeb16526ecf9c3e3bL,0x6b56885de376134dL,0x0000000000000046L },
  102743. { 0xcefbb6e0ee1a7e20L,0x55931c877bbba16fL,0xbef858780527496bL,
  102744. 0xefe470f2fc66b0ebL,0x10170d9f357e9f6aL,0xdc427c1534bcabf8L,
  102745. 0xa2fafe51543ad6c4L,0x9a3ca5f80bac368fL,0x000000000000003aL } },
  102746. /* 45 << 441 */
  102747. { { 0x6f7e38cb4a64ba29L,0x0274530761def10bL,0x4a7875c1777d5a43L,
  102748. 0xe8288a8a30046b61L,0xcd56398ef4e306c4L,0x13546b98f0619a51L,
  102749. 0x7d5b477d91c8e36eL,0xad040ea782ee4243L,0x00000000000001b4L },
  102750. { 0x3bd14037cebf5073L,0xc9278b5deb3e67f6L,0x0a6920c3c29f3e6eL,
  102751. 0x98866c9e93420540L,0xfd3ad7f76b32119dL,0x1a6a91e1261778f9L,
  102752. 0xa97267d7a571a92dL,0x8b2ba189dc9a6d11L,0x00000000000000a7L } },
  102753. /* 46 << 441 */
  102754. { { 0x8d51e510e5ca5d70L,0x2d5791140c52c1b5L,0x82eb4358c0cb0f63L,
  102755. 0x8f2f681264a008a8L,0x58a8e17648b6cb17L,0xa9471be2b8a072d7L,
  102756. 0xbacadbb5268eb661L,0xd461695702720623L,0x000000000000006aL },
  102757. { 0x1087e596bf609130L,0xcfdadd188556e863L,0x5352546b03f39394L,
  102758. 0xb427f549781817f6L,0x67901c47b7016c1eL,0xfa4bdbad16c8cb78L,
  102759. 0x17210e07e949f687L,0xfa9d5907476f0c79L,0x0000000000000035L } },
  102760. /* 47 << 441 */
  102761. { { 0x328e727f9b8c2326L,0x7012c2200d0a3acbL,0x282ccb9b33f31c09L,
  102762. 0x90c088dfe8610f6aL,0xda4af662c6723acaL,0x60a4df7eb50061c2L,
  102763. 0xc523af09bf77cd76L,0x58c1d1d6440105b3L,0x0000000000000048L },
  102764. { 0x608a3ccb2ebf4a7cL,0xdc6f70652e90faefL,0x5af50c8330229489L,
  102765. 0x2ae1f05a455c5d97L,0x04e6c953ef78a185L,0x64bfebe30e773105L,
  102766. 0xb4e9e049b897d690L,0x324bccaf6141dd22L,0x00000000000001edL } },
  102767. /* 48 << 441 */
  102768. { { 0x3fe0adaca4c2a3f0L,0xe8679478929e1f33L,0x4779b883705b8214L,
  102769. 0x00776735e23c0cffL,0xf663f8158f766bd9L,0xaab22b6bc30b548aL,
  102770. 0x089032b0d56597daL,0xd72918f251d92e66L,0x000000000000004cL },
  102771. { 0x152af75d026ccd7fL,0x9e12b11ddc3e849eL,0x5d6f7b8664244b05L,
  102772. 0xbc9c468b1d80629bL,0xa14ed1a1f2f109c9L,0x49e6d42cab8403f8L,
  102773. 0xbfe90229e34a6f68L,0xecec84484234d819L,0x0000000000000101L } },
  102774. /* 49 << 441 */
  102775. { { 0x35fe58b55f58fe63L,0xd274d4931f30f4f7L,0xc54580b42d20dcbbL,
  102776. 0x8a45c948af35249fL,0x7b282280b07c25e0L,0xae3d9c8104da51d4L,
  102777. 0xf0c972129f58356aL,0xaf7b07f069e61c0fL,0x00000000000001b3L },
  102778. { 0x194629861f68b78cL,0x6f8829503105a795L,0xfbd30e3501f044eaL,
  102779. 0x6df976b2f89de7f1L,0x83d9fcee5548ff7aL,0x45975517820607e9L,
  102780. 0xd30cfc72254a1342L,0x9886898289c44b4fL,0x00000000000000a5L } },
  102781. /* 50 << 441 */
  102782. { { 0x500057ba7e564993L,0xd7526cfb59e53d40L,0xb633fe53c5af2433L,
  102783. 0x18e8adb2dc8a9738L,0x6f81b8dc6b666052L,0x1d2f08b8451c8fa7L,
  102784. 0x7bfdc1f3d8f33d9fL,0xd07b2ed6d86f41b4L,0x0000000000000005L },
  102785. { 0xc652298baaf2a31cL,0x9bae8c281463ddaeL,0x54a4159ae1af0d62L,
  102786. 0x61b847dae074c303L,0xde70d48e4f1a52bbL,0x0b208a372feb1c68L,
  102787. 0xc2b2b3a4963d5fd7L,0x05ca95d478706fffL,0x000000000000003fL } },
  102788. /* 51 << 441 */
  102789. { { 0x7a722f7f0095970cL,0xc5f0befac60f55dbL,0xc5afa461df29f5ecL,
  102790. 0xf01bbf1161ac1f57L,0xdc6ec1e80bc3b86dL,0x321a34a437f04963L,
  102791. 0xdb0512a25c6ed011L,0xa104cdabac1a345bL,0x000000000000003aL },
  102792. { 0xe9a1eca87437f0aeL,0x54ef25424d949bf6L,0xca3300f0039a9770L,
  102793. 0x648c20a304bdae20L,0x3655df9fbeb0d46eL,0xfcf7a10c95f888e5L,
  102794. 0x1e19fef16e669132L,0xced02e38218c93bdL,0x00000000000001d8L } },
  102795. /* 52 << 441 */
  102796. { { 0x366152e3aa65ddbfL,0xfc53f8af6a5fe671L,0xc7cad59195c7f6abL,
  102797. 0xe9c3b6d552052ed7L,0x31c94766e4b302ccL,0x2bcb7ddf7477506eL,
  102798. 0x0cfae42e86ee3dd5L,0x1de11cf355923fa9L,0x00000000000001f3L },
  102799. { 0x43018d98df6d337aL,0x1f679cebc484673bL,0x341c38cc6acce244L,
  102800. 0xa732e5782edf01b3L,0x8d0b29601551ae1bL,0x0dbaec30509d1fcfL,
  102801. 0x5655b3dc5c9679abL,0x45b3c31b63161444L,0x00000000000000f3L } },
  102802. /* 53 << 441 */
  102803. { { 0xc4ec1f1acc4d57ecL,0x7c006c3aa3f8581eL,0x94f683110ccebe4fL,
  102804. 0xfece2dbd68be3d0aL,0x51affa5406d27f4bL,0x3bb8b836fbec32aaL,
  102805. 0x908bbbeab2a0e297L,0xcb7ebbf201196d89L,0x0000000000000078L },
  102806. { 0x0e3185e9ce461e7dL,0xd6931227013e20abL,0x64313c538c85e000L,
  102807. 0x00fea6dbff7cbb26L,0xb8bed8fa5b26b6e2L,0x91bf6292dba94d45L,
  102808. 0x6816ab5998d8c01aL,0x01a52687eab4002bL,0x0000000000000033L } },
  102809. /* 54 << 441 */
  102810. { { 0xf6a61a467f854608L,0x5e7417c80bcf85b0L,0x9000efbc1cde2bf0L,
  102811. 0x2ef0c39edf86fd2eL,0xf494697a18a12510L,0x425c1fd09ed7398cL,
  102812. 0x0bdcf04f27afee20L,0xbc353a89282a8863L,0x0000000000000161L },
  102813. { 0x7f643929a58a4e6bL,0xe899530b7ce61fa8L,0x8d07cf175ffa47f4L,
  102814. 0x572269977e217444L,0x789a6625526bf412L,0x656ad4358df93bc2L,
  102815. 0xc6d0fb0b46868e2cL,0xccfaf97090b50ea3L,0x00000000000000dfL } },
  102816. /* 55 << 441 */
  102817. { { 0x1dad0dade6860303L,0xd9126836c7e91c97L,0x9855fb600feec65fL,
  102818. 0x5ad336976c9564e7L,0x81a2f362d8548916L,0x642b4014ee4a88fdL,
  102819. 0x9c23de5ee3e3e988L,0x19c510415a0e4881L,0x000000000000015aL },
  102820. { 0x27f5a80c00aaf668L,0x296827e796728192L,0x165a649e4e124c4eL,
  102821. 0x3268bb940f8e937dL,0x69f171678b9d4987L,0x3ce36b905e06f20eL,
  102822. 0x97287b68cbbd791bL,0xc1a6fd4c18564d91L,0x0000000000000181L } },
  102823. /* 56 << 441 */
  102824. { { 0x8c466ec6afa6274eL,0x935ac8e6e57d9338L,0x3ffe008e7b5ca188L,
  102825. 0xffd8ba41dfbb530aL,0x9504dbc067d0b3e8L,0x95ebde8c622f0b00L,
  102826. 0x984bc63c209c6309L,0xb2bdaf4a6b23d9dbL,0x00000000000001f8L },
  102827. { 0x248363240e2bb6e9L,0xcef90f5c65cc3116L,0x4c71c80816bbf8ddL,
  102828. 0x0d6ccbc38de8d626L,0x6e51fc2960c000d7L,0x1e3116e3dfff70d3L,
  102829. 0xf3d91182dd570c6eL,0xf02fbb1b6827d006L,0x0000000000000191L } },
  102830. /* 57 << 441 */
  102831. { { 0xc81bd2b8decb7c02L,0x956e27a4b894def6L,0x0311fa9403356805L,
  102832. 0x0e13ccd322aae58cL,0x0196f20f3ac70b3eL,0x7d4bb4e1a7b2c93cL,
  102833. 0x10fb01386510c50dL,0xd031b898e8f926c1L,0x000000000000003fL },
  102834. { 0xf46543b5f8f5dc8aL,0x4233ee03e330d2b5L,0x1c13f707c81f39f7L,
  102835. 0xb5894eec28d508e9L,0x0ce78fe7eaaa453cL,0x4ee0ea5a0b2c7d8cL,
  102836. 0xc96edb248034a086L,0xd935778349cd9be2L,0x00000000000000a0L } },
  102837. /* 58 << 441 */
  102838. { { 0x871955d28b93f569L,0xf05605295a48b689L,0x0820a8aa467e5891L,
  102839. 0x7a4f5cb3f58b25d1L,0xc94ed47f8587a84eL,0xa99cd056fe982ec2L,
  102840. 0x371cbf3fd1d06d5fL,0x491d9acaf90440a1L,0x0000000000000179L },
  102841. { 0x9df7fa8740a5fe24L,0x942fe6b1d96d3e57L,0x0f21d3127c7497f8L,
  102842. 0x7a28f02bb1685a0bL,0x45264d84fdb0e456L,0x08b20dbf95f14f94L,
  102843. 0xf36dbdd57b299fa9L,0x644f73a96dd0a74aL,0x0000000000000136L } },
  102844. /* 59 << 441 */
  102845. { { 0x4e0aa1cac34f2a7dL,0xd00ee2d1c4678255L,0xc74603ad187fc9f6L,
  102846. 0x6aab1d2ece9d3267L,0xb74dd371f511fcb5L,0x8b822e5c8836ab61L,
  102847. 0xc504820cb338d04fL,0x247e13889d12238fL,0x000000000000012fL },
  102848. { 0x421d4c327f6e0a6bL,0x82a8854ba04228dfL,0x6003515d12b7fe81L,
  102849. 0xabe47e71d0a397feL,0x59feb1eb6aaca148L,0x45bd603375a8831dL,
  102850. 0xd4612d5917d1ccb3L,0x1b89ba9c74ee1027L,0x0000000000000042L } },
  102851. /* 60 << 441 */
  102852. { { 0x03e7026b3fc38c51L,0x43eb0760581918a8L,0x2229030dfb2b26dbL,
  102853. 0x178bb4bca8973dfeL,0x79204ab49902d625L,0x9dfd5966e57d8747L,
  102854. 0xcae096fd8b664963L,0xc3b1fc25fb1dc64cL,0x00000000000001d6L },
  102855. { 0x7f136d66e577916bL,0x11834be442bf8511L,0xbdc623e83428bb9bL,
  102856. 0x14f10cad49c2d303L,0xd2e47e509dd1bcbbL,0x79bb7eb356290215L,
  102857. 0x7a2500b36d356e99L,0x6d01df1e1f30e17dL,0x0000000000000158L } },
  102858. /* 61 << 441 */
  102859. { { 0xf99cd5725ba74517L,0x93baaf6e166dcce8L,0xac938b88601599d6L,
  102860. 0x30f247f47404a032L,0xeb3d46c03b10dbb2L,0x414e0218371dd7faL,
  102861. 0xf1164440ef4849faL,0x86420604faf4e6d6L,0x000000000000005aL },
  102862. { 0x3376a08ebc96ecfeL,0xec288c773697c3ddL,0x6f6c6e24447a27a4L,
  102863. 0x31711e8947104345L,0x21a2e7cb8188d79cL,0x4e0ea8809c2385b1L,
  102864. 0x59d2c5af1e7a9f39L,0x644fe4e08e884dcfL,0x00000000000000a7L } },
  102865. /* 62 << 441 */
  102866. { { 0x7c8c7f684dd64f0cL,0xc7820e341855ce9dL,0x1544117d323f6ce5L,
  102867. 0xcb768820e373e48aL,0x464428b73c3c4c90L,0x4cd0e1ceaae35437L,
  102868. 0xd25046831ceb2a4cL,0x0e3338ccdf439915L,0x000000000000017bL },
  102869. { 0x865ba7db6618c759L,0xca0a323710e77d05L,0x9d13842b2b28085fL,
  102870. 0xf941b5fa9fea876fL,0x041d0845e6d70255L,0x4c1a7d64428b57ccL,
  102871. 0x33f6bd2429ebd1a4L,0xe80522479a17c0d0L,0x00000000000000e4L } },
  102872. /* 63 << 441 */
  102873. { { 0x267820c97c2cf8a4L,0xaf23c49e7d43b5b6L,0xe83af4497452297dL,
  102874. 0x406618b2ddbb37c2L,0xfa481044f0cfb99bL,0x237d923c37e98319L,
  102875. 0xdbdc034a9ab1956fL,0x30ec502ebd6f3826L,0x0000000000000176L },
  102876. { 0xe63ad325815972a5L,0x1f1cd2b8cfd1b1e1L,0xcc91e37e0c0b11acL,
  102877. 0xbc62347cbcc8f659L,0xb6a838e80fc52227L,0x1975db004cfa70bdL,
  102878. 0x7c4bd8bca73d6fe5L,0xef91ced9ad2e5c83L,0x0000000000000029L } },
  102879. /* 64 << 441 */
  102880. { { 0x560ed5e263840645L,0xac6c9d02b99ffe18L,0x0510a7b7bf7b7fe0L,
  102881. 0xe1dc108356aec190L,0x29b4ad9527581115L,0xa8021a6026a12461L,
  102882. 0xfbbccee845144aa0L,0x2c93ced8ded40b1cL,0x00000000000001e3L },
  102883. { 0x2c841a6ef3fb0d14L,0xe8b8b8ecb1f67b7cL,0xbd4c9a2219e26083L,
  102884. 0xece8dc33c1c6a093L,0xfb47210f948aeae7L,0x98a8b0211569c5fcL,
  102885. 0xc92cb9c7399c9d0eL,0xdaa97144b0f6f23aL,0x0000000000000145L } },
  102886. /* 0 << 448 */
  102887. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  102888. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  102889. /* 1 << 448 */
  102890. { { 0x6d7eedc48f69079eL,0xf02e8e404f03b92fL,0xdf751116cb76b181L,
  102891. 0xc255eb2c234c1925L,0xaf997d5ea94af9b2L,0x797f3df0d1374a41L,
  102892. 0x357fd20b23986cdaL,0xf1caccda1540adb8L,0x000000000000007dL },
  102893. { 0x2a04363cc01605a9L,0x0d7cc0d87d7d1e54L,0x0515eb70a0f9fd2bL,
  102894. 0x725d12a9bb4ec5e8L,0xd1b5b8a33a6eb09aL,0xb6c836b187027d7bL,
  102895. 0xf4773322aaf9cd03L,0x2fb3354e2500c647L,0x0000000000000081L } },
  102896. /* 2 << 448 */
  102897. { { 0x83da529b41750b74L,0x9e431a5c76e28bf5L,0x225e2eb97fde2491L,
  102898. 0x951e2cede7c469bcL,0x35f384caf0e10c32L,0xb8ed4a312b1aadbcL,
  102899. 0xd39393ba7b797492L,0xc82685f847597f4bL,0x00000000000000c9L },
  102900. { 0xb04e1261436e2563L,0xdc3e83052de3e4e7L,0xa32102bdee3dbbf4L,
  102901. 0xdfb5378945f15efbL,0x34904b0b6246965eL,0xcd645c46aac06ca8L,
  102902. 0xd4e3f322358398f3L,0xaebfe7c7a54f3311L,0x00000000000001f3L } },
  102903. /* 3 << 448 */
  102904. { { 0xff2fa49cf2afae47L,0xa2c86068f9f2b257L,0x73dd56a446cb76eeL,
  102905. 0xbffb9f017dc0a64cL,0x0ee2b60d44b4a4eeL,0x49939f0837c5959fL,
  102906. 0xb302fcd178603de3L,0x03c2a2204017c122L,0x00000000000000a7L },
  102907. { 0x48acda9757413107L,0xbd8f584d4c01caf8L,0x38f448a71ac29755L,
  102908. 0xcc3884836d29bf3eL,0x15c4baf974401fedL,0x7826e5cd9023bc05L,
  102909. 0xc7a70d094f459413L,0x1de803c631896429L,0x00000000000000b8L } },
  102910. /* 4 << 448 */
  102911. { { 0xabb0d91dcef34144L,0xbc5903fa42b2a8bbL,0xe279ef5638e4c5faL,
  102912. 0xb3416e9e6d5b04ebL,0x447819187bb923ceL,0x58fefa212914a3a4L,
  102913. 0xb0456b2ee2c19f36L,0x176361bbe92c1e50L,0x00000000000000b3L },
  102914. { 0xbc56a1af824fde34L,0x33bfbfb3098a50fcL,0x6e720f55ab9cfa73L,
  102915. 0xf1e104b908e4dfa2L,0xb96b8abd77865b2fL,0x69eb257aa36740d1L,
  102916. 0xd73b946d26a50f43L,0x588e4a1470cd91e7L,0x000000000000007aL } },
  102917. /* 5 << 448 */
  102918. { { 0xd1da41a113dc8b45L,0xf4886d248a639b8dL,0xf3431ccedef9c5c3L,
  102919. 0xae07317d8c204a2fL,0xcbbd49a1f3d6383aL,0x43d3593229bbe61eL,
  102920. 0x6bfa06099643a1a8L,0x391499b22005a71fL,0x0000000000000188L },
  102921. { 0x40774a7e79d0771bL,0x31987151595038a1L,0xff6df557c48b5063L,
  102922. 0x26c03269c3751769L,0x660c36ced2d0ce99L,0x71378e21d3d79ea0L,
  102923. 0x7b2ec7ea30be88eaL,0x1b342d41eaed0f73L,0x000000000000016dL } },
  102924. /* 6 << 448 */
  102925. { { 0x0f1b2a0ee2c08642L,0xc110227519fbfff6L,0x3e49142104574825L,
  102926. 0x058232d599552fdfL,0xa83f1a2f0e083797L,0x7c387d90860acbcdL,
  102927. 0x7d8440d7d59d4ffeL,0x45111fc778f12d73L,0x00000000000000a5L },
  102928. { 0x77acf98e28e9b450L,0x0823b735a8129a6eL,0x1abaa0f98d1f0ef3L,
  102929. 0xc2fb1108dec36172L,0x4d486fd4855585e0L,0x27d002549d440b52L,
  102930. 0xc2b556135b964bacL,0x251ad413a29f6fdeL,0x0000000000000142L } },
  102931. /* 7 << 448 */
  102932. { { 0x47de9d47e138d37eL,0x7387f3693e7e1c87L,0x9c00813e0a48af71L,
  102933. 0x9df47c63e8829fcdL,0x7dc7c04819e24a68L,0x3d1823e16942e130L,
  102934. 0x2f4440ffa2cd6199L,0xebf60be098168aa8L,0x0000000000000049L },
  102935. { 0x989690073b5f346cL,0x00a0ecf9b79ae683L,0x1b6f0ddbf8fb676fL,
  102936. 0xd536d3717998c836L,0xe1dbda549c4bc7cdL,0x2b752ca371e12239L,
  102937. 0xd633d0eec296c03dL,0x548b37c59f6a0015L,0x000000000000003fL } },
  102938. /* 8 << 448 */
  102939. { { 0x6ed1bbb76ed0892bL,0x4921306bb788bef7L,0x7200d473bf3cdbdbL,
  102940. 0xf1cb448feefdce6cL,0x199b07a2836591b0L,0x804ff00948fc6659L,
  102941. 0x697600593b8f405aL,0x14755be59ef63732L,0x0000000000000103L },
  102942. { 0xd0a6d1b323383b1aL,0x50c7e33bae42ca1eL,0x564b46552563bd12L,
  102943. 0x48640d21fe7baf1eL,0x6a0b495ef7717825L,0x9e4ad9aec7df9fc0L,
  102944. 0x4ceea6a6e038e19eL,0xea0e3bf8010887deL,0x00000000000001ddL } },
  102945. /* 9 << 448 */
  102946. { { 0x4da845a0a4851434L,0x75176aa6ec7c655cL,0xcb64f9e9f093c7daL,
  102947. 0xf80504e644bf8c6eL,0x13958864001ac4a3L,0x067e1167de28fbb9L,
  102948. 0x0ee319d6708782ddL,0x90e661f3f0a8a799L,0x00000000000001c5L },
  102949. { 0xa161caa15db20757L,0x2adaf4e05350825aL,0x5e2bd35abcc582c0L,
  102950. 0x9989c8fe71a3bc28L,0x454827e228898a24L,0xa7108d022fd729feL,
  102951. 0xeb2b76ad8c310f5cL,0xeafd847e634c3d7eL,0x00000000000001aeL } },
  102952. /* 10 << 448 */
  102953. { { 0x46e47ecff0136b5cL,0xf17ab7f6344965a0L,0xf3faf3b354e24a42L,
  102954. 0xee7c7b5b6e7035e7L,0x78529226908afe39L,0x440aefb22e64eef4L,
  102955. 0x08ac260a1849e45bL,0x7203a8f76fc7bc4fL,0x00000000000000a9L },
  102956. { 0xf36d34eb171f3c98L,0x4a2e2716e65bea70L,0xa7387fbbf8f31760L,
  102957. 0x9e33161eb9cc24f3L,0x808d8d2957715f35L,0x5bca0410150ba9fbL,
  102958. 0xe8823a72d019f4a9L,0x5e14abe756165147L,0x00000000000001d7L } },
  102959. /* 11 << 448 */
  102960. { { 0xd7f60f17d77089e3L,0xb68b3c61a10cb23fL,0x72a83575094e8bd2L,
  102961. 0xd9a28d29915a575dL,0xb30e811f211c2f4bL,0x3a62fcf658119ebfL,
  102962. 0xb692e3bb679eaa2aL,0x2375e13c3fe29c8aL,0x0000000000000069L },
  102963. { 0xd613b9ea2b8b53c8L,0x6ad8d6eeaefe8d7cL,0x25163969b1d6fb5bL,
  102964. 0x6b37519e76a6f0d4L,0x8fc9208359eaa8eaL,0xd2a15a1d560539cfL,
  102965. 0x35d7a7b70f7e555cL,0x590426c042a30fbbL,0x000000000000015aL } },
  102966. /* 12 << 448 */
  102967. { { 0xdc6fd0b27ff5fdd9L,0x663c5481fab729baL,0xf70938531fde9e82L,
  102968. 0x293d27fa71f684c1L,0xc05cb3d07fcf66fcL,0x709d86ba11cd0445L,
  102969. 0x1cd6d595497fa0b1L,0x5eabd8a0d47408ffL,0x00000000000000c6L },
  102970. { 0x001ea477b6b64713L,0x148f2b5049fa00dcL,0x00106f97efce2ec6L,
  102971. 0xaca11586e205cc9cL,0x60d70881a6d874acL,0x37dd5c14d29f29c1L,
  102972. 0x586ac6c8e11191b1L,0x96470f229677b2d0L,0x00000000000001eaL } },
  102973. /* 13 << 448 */
  102974. { { 0x179058303a7f3608L,0x172de35e26f0fc61L,0x323d2d7334d7c1a1L,
  102975. 0x464cd498aec45adfL,0xc4f38d5062ae054fL,0x3f016202a66711e2L,
  102976. 0xd105f907e8d33e40L,0x3a102b6a75225100L,0x00000000000000fdL },
  102977. { 0xc754a811dd02719aL,0xe4a5ea1f4bcc6cefL,0x3d64cba45fcc954dL,
  102978. 0xefe41b2c12cf1ec0L,0xa8e5b613969c79ceL,0x42e6fb9b288a3a37L,
  102979. 0x1c9e65a6aac4dca8L,0x160703b36bd7bc54L,0x000000000000013fL } },
  102980. /* 14 << 448 */
  102981. { { 0x4888c71de2f66bcaL,0x548a0a8f8ade3531L,0x0162233c6638686fL,
  102982. 0x4d2c6af83c30e52cL,0x62124a0fc19a0df8L,0xfce8188dcc7c56f3L,
  102983. 0x6da68920b8b77752L,0x370dc630b622bf61L,0x0000000000000044L },
  102984. { 0xe3072dc65b51fb0dL,0xa06bd9c232cc673bL,0xe374dd3e991c7eb1L,
  102985. 0x1052bbee887d8d76L,0x9b43d6dd897746d0L,0xfb7797ed6cc50b4fL,
  102986. 0x83d30a082bf11803L,0x24d36df97d78f93fL,0x00000000000000efL } },
  102987. /* 15 << 448 */
  102988. { { 0x0158728662e9c602L,0xe3f31aa9c7803839L,0xecd16d810cea9177L,
  102989. 0xe203943e82b139b5L,0xcdae675da59ea3aeL,0xacafc1fd79b0b7afL,
  102990. 0x1f3ff6b96d0e87efL,0x3c52993bd84b4b55L,0x0000000000000172L },
  102991. { 0xc8fcf451415e906cL,0xf25cc44fcc223afcL,0xa0fb3f66f80c4a7dL,
  102992. 0x6c936445ebeec08eL,0x35215495a50739c8L,0x9c197b15d8322e65L,
  102993. 0xe263f119ecc81fb0L,0xeeea2e6f37bd4d5aL,0x0000000000000148L } },
  102994. /* 16 << 448 */
  102995. { { 0xd7c0efa36ea09a93L,0x95f69e09fb01c2b3L,0x021b1721d43150e2L,
  102996. 0x39ff07e05879bc51L,0x0dd73c326cf50ce3L,0x9d69d32a5758870fL,
  102997. 0x5df4cc8c1c0e91d9L,0x0033508815df54abL,0x0000000000000182L },
  102998. { 0xbb656a89f2dc12f5L,0x6c4a32bb5c46fcf4L,0xf324462c70e7a152L,
  102999. 0x4b1d509a1f7eaad2L,0x3da87fa776e51583L,0x9a435e2019fc86ccL,
  103000. 0xb97d3f449eab8de3L,0xc56c7c988f92304bL,0x00000000000000a8L } },
  103001. /* 17 << 448 */
  103002. { { 0x46beca92c9464906L,0x620775e18f2f81e0L,0x767f4266c5771682L,
  103003. 0x6c6dde810bbc65ecL,0xfd8fabfbc405cc39L,0x5d9b8d18643e0d72L,
  103004. 0x30303e19109ea8dfL,0xefea4ab30929cd4bL,0x00000000000000a6L },
  103005. { 0x993ca142b25badb6L,0xb647dc6d2880eb4eL,0x2d6e2faa551f13fcL,
  103006. 0x444f2ea3ba3e00d7L,0x3c89c8af62c6bf24L,0x1e2b1b9993ff5675L,
  103007. 0x9f2809305dbdf81cL,0xa0c0b2c11618ab5eL,0x0000000000000076L } },
  103008. /* 18 << 448 */
  103009. { { 0x8814ee08f2ff8ee7L,0xed9db8fd0c8aca2bL,0x36967aed6b8d81d3L,
  103010. 0x1a937d3f5cf2ff0aL,0xbedf97c9461382b2L,0x29bf2b30aa5a5388L,
  103011. 0xa5b6918fa8796dfbL,0x76662a2b2df5c39bL,0x0000000000000050L },
  103012. { 0xb8157fbbb44fc79fL,0x17c3ad0b40212b26L,0x06bfa618e49dee6eL,
  103013. 0x81a338f1422b2017L,0x200f6dcd203fb523L,0xa904931782a544bcL,
  103014. 0x9d12fa1489795453L,0x92997d54910f9258L,0x00000000000000d4L } },
  103015. /* 19 << 448 */
  103016. { { 0x958450c54ec281fcL,0x5cf3bd6193c614acL,0x99919178a2759a65L,
  103017. 0x256015282dc88c30L,0xf3a2766a8f15f90eL,0x12362084c8a6e56cL,
  103018. 0x4359fa34ee82faf9L,0x492b73c91c03100fL,0x0000000000000000L },
  103019. { 0x1467c71469f444baL,0xe10379562d904cd4L,0xabc81c9a648ab04eL,
  103020. 0x4c0ad4f7910123e9L,0x7bfb6a0943b8ac8eL,0xb51f3de73934362dL,
  103021. 0x70d304aba030cab7L,0x577cebb04e8b0148L,0x000000000000009dL } },
  103022. /* 20 << 448 */
  103023. { { 0xe16f41aa44be78bdL,0xb5436f21e014c4aeL,0x9711718156ea17d7L,
  103024. 0x77eb089b37c05237L,0xde53fd3bf974ea0dL,0x27c4c2e9c84daec0L,
  103025. 0xa7c70452639b53a2L,0xab34cef9122cac08L,0x00000000000001cdL },
  103026. { 0x45942b2b520fed74L,0xe339e2ec18185e32L,0xef29fc70799a5848L,
  103027. 0x81cd214092bc0623L,0x56f9ba7d7502fd5eL,0x8c0c55507d06b23fL,
  103028. 0x4835f4e6f6780730L,0xe0c0adc9f3b8b6a4L,0x0000000000000078L } },
  103029. /* 21 << 448 */
  103030. { { 0x93c6329431a43160L,0x19f6aa9bf70fdafaL,0x74922f2451c93c44L,
  103031. 0x2771a1d8a482a3bcL,0xdab23427ffc50d8fL,0xb06ca094a3138e86L,
  103032. 0xdef003634bc843a1L,0xd6bf9e1228d99dc8L,0x000000000000014cL },
  103033. { 0xc618a4c3d49e9c02L,0x202558298a891299L,0x8acb42a297e53ed0L,
  103034. 0x012a299092167efcL,0xfde4d81cc425cb45L,0xa7a4f2b788705295L,
  103035. 0x958260fb365f6d39L,0x24d12f9c7281e7d2L,0x0000000000000039L } },
  103036. /* 22 << 448 */
  103037. { { 0x51fbbf5fdb40af14L,0x0e795ad376869107L,0x353827bd99d8accbL,
  103038. 0x41b9b0f3f0a03c54L,0xdf2e0c6ea3a0f1bcL,0x80c2b91e83d84847L,
  103039. 0x28240a87333924fcL,0x0cc6dc8139166ac9L,0x000000000000019bL },
  103040. { 0x150e42b72c3c6ba1L,0x165bafd96b10b2d6L,0x990f141114a18123L,
  103041. 0xe89b21600746c897L,0xfbc4fc51f7efda9fL,0xf2e2285526fc48e5L,
  103042. 0x95ea0ba212346b4bL,0xfc5b414977e223ceL,0x0000000000000186L } },
  103043. /* 23 << 448 */
  103044. { { 0x0be0a5de07a16d69L,0x9ef32d03e11ca186L,0xccda2049a9ffe33eL,
  103045. 0x3470ac5a4b670afeL,0x8770a1ef74a0d67bL,0xe7011ca9df62093eL,
  103046. 0xe08c557ac48bddc9L,0xd458493937876750L,0x00000000000001f9L },
  103047. { 0x8a93b565a84fca82L,0x4db14cc9c6be1ba6L,0x06cf1b331830b8d7L,
  103048. 0x048707b3eb991fd7L,0x005ef51378b92e81L,0x444b5dbbbf444785L,
  103049. 0x158fec89923f5885L,0x2a681a4a1900dfb9L,0x00000000000000abL } },
  103050. /* 24 << 448 */
  103051. { { 0x22a96092b0fef65aL,0x75400e255b4b6264L,0x2d6bf21fcf25cbb8L,
  103052. 0x2fd07e1c9289dbf3L,0xe56e840c6814e503L,0x15063366005f14d4L,
  103053. 0xf156222e66516b79L,0x56d9d1fbf5167303L,0x000000000000002bL },
  103054. { 0x9c095b7cbe93ea4eL,0xbc26271f7eff54ceL,0xfdca10ae48cb19cdL,
  103055. 0x7c582ed41967cc71L,0xd5de0048870d2bd6L,0x92973e875914e7cfL,
  103056. 0x56e0b7a321edd49bL,0x1bea592023d39a84L,0x00000000000001d3L } },
  103057. /* 25 << 448 */
  103058. { { 0x830fb6b0b22e2bddL,0xeecc9175ec46dddeL,0xbc5653dc92ba4ea2L,
  103059. 0xda57d028df0f6920L,0x0b6373b613d599b4L,0xe3408fbe5a64be7aL,
  103060. 0x835d777666ee7d46L,0x2410f0dcd60a8af2L,0x0000000000000116L },
  103061. { 0x74a4658a92a29714L,0xf8a8f1fe844af49bL,0x15d77ccca2b02157L,
  103062. 0xa33511645b5c9343L,0x2bd68a266e54c8c5L,0x88d773dd041c6279L,
  103063. 0x4aee4590d6a3c00fL,0xa1697b605166b43bL,0x00000000000000fdL } },
  103064. /* 26 << 448 */
  103065. { { 0x08757c74ec97eeeaL,0x27e8eb74fd3c52b8L,0x2809524d010a4f7eL,
  103066. 0xc9e0dd4a1377b31aL,0x9cb226d1e082c564L,0x901073ed5af132e3L,
  103067. 0x8ce944c8188dfe5fL,0x347892858c5260a5L,0x00000000000000c1L },
  103068. { 0xe363f14e1cc9ba1aL,0xd4d8c73f194037afL,0xc9b307c79c2f34d7L,
  103069. 0xf02b5ddb947966b6L,0xbaa7d2e0b7ff7f37L,0x78c228d0f6991d25L,
  103070. 0x9bd96a4c0aa5bae4L,0x93155e7c16f862c3L,0x000000000000019dL } },
  103071. /* 27 << 448 */
  103072. { { 0x3a730ac01ccc9a22L,0xe876db8a07b71c34L,0x5a4aa392fe69aae3L,
  103073. 0x502aa22d9db171d2L,0x7c5fb005ad0f33ebL,0x5a2169a88c3bec21L,
  103074. 0x76efaee9781c7629L,0xfb933efd72fb60dfL,0x00000000000000b8L },
  103075. { 0x1d4fca2eb1e91e17L,0x7187a86f864fd2a9L,0x896e3acbd37c6e14L,
  103076. 0xb10aef2d42cb0645L,0x5c0c4b235e72c54aL,0xec0ae29ed1e2f299L,
  103077. 0xb72c7f4c77e91c26L,0x41c241c4f37a54f7L,0x00000000000000a8L } },
  103078. /* 28 << 448 */
  103079. { { 0xca49e4056736b7a8L,0xbae02b57f438c9a8L,0x871ecf1d8dd5bd49L,
  103080. 0x46b05ef1974903f5L,0x549128c348aa1a22L,0xe8f8d085ef5b4439L,
  103081. 0x62fbea2fefee9906L,0xecd06f55c49261ffL,0x00000000000000f8L },
  103082. { 0x603a56fe1def19d6L,0x48d65f1d3e4cf99eL,0x6b92c5694559a51cL,
  103083. 0xd133cca108c45240L,0x9656a7c46c134b2fL,0x7e407c2907d6c7f7L,
  103084. 0xc346409adbb7cdf8L,0x4ebc0b91eec47250L,0x00000000000000aeL } },
  103085. /* 29 << 448 */
  103086. { { 0x04b789f81da8a341L,0x81827ac482bac9afL,0x85a2510cc0a342a4L,
  103087. 0xe3d17837200d2557L,0xf951b01ff55cceb7L,0xa00d66f41472e87aL,
  103088. 0xfe101e3e0a0b1ff6L,0xfc4b05f60f9e8587L,0x0000000000000173L },
  103089. { 0xd64fdd33fbea0ce4L,0x8aa0680aedb5fcdfL,0x78876c00e08cda89L,
  103090. 0x9c3424f9034f2cbcL,0xea7170d1a86845c8L,0xd36a89c084650b43L,
  103091. 0xfa5ef9e6ab2a83ccL,0x0458b4b756c03914L,0x000000000000000cL } },
  103092. /* 30 << 448 */
  103093. { { 0xef816b5cbca24a14L,0xe56ef49d80999021L,0x5724b7fc5984a0c4L,
  103094. 0xdf9250fc23c4f692L,0x05b5d16a4a329eceL,0x389dd3268f017928L,
  103095. 0x49cce29d7376ef1fL,0xd005fcf9adbb3387L,0x00000000000000ddL },
  103096. { 0xf7d7a2da1919ee1bL,0x99312ba17108fc88L,0x6e0fd013819b2ab5L,
  103097. 0xac6dde9ca0415b09L,0x76aa7ad61116cb56L,0xa4164cb64d7e2873L,
  103098. 0x25a4982b00d5204bL,0x3d528fb42ca1bc08L,0x000000000000011eL } },
  103099. /* 31 << 448 */
  103100. { { 0x7eaa6f4f202177aaL,0x407c3797edda27a9L,0xd1cc20254d51d733L,
  103101. 0xc7950454c1c04a95L,0xb657108ffbb858fdL,0x6068f5a94b7af32dL,
  103102. 0xbe741bb72701b289L,0xe786ab377dca6c64L,0x00000000000001f8L },
  103103. { 0x9f04d1950f884ecaL,0x036589956f965937L,0x62e3afa42c33ebc6L,
  103104. 0xa2b8ba656f0e5fbbL,0x798f812abbc0c7c6L,0x7cc29ea1537a5d81L,
  103105. 0xccd03bf8f1509aafL,0x3cf256c590799937L,0x000000000000013fL } },
  103106. /* 32 << 448 */
  103107. { { 0x30b495ff9b09ac83L,0x7767e8a105d9c9ebL,0xb15ecb0a1690a79eL,
  103108. 0xa7b87cce1b301763L,0xc6849deaf28b14d2L,0x16d0b1585e5c94f2L,
  103109. 0xbfda45241aee3ca8L,0xe52961635d737c3eL,0x00000000000001f1L },
  103110. { 0x339f76cc589b8ae6L,0xa133954ae02ea428L,0xf11e77f7980481acL,
  103111. 0x890c3c2c87596275L,0xe0cfdace80b79bf7L,0x0031db26a3e3906bL,
  103112. 0xedf2e3dda1c31197L,0x888f12192bc3f1a4L,0x000000000000006fL } },
  103113. /* 33 << 448 */
  103114. { { 0xfa11efb73c598a06L,0x1a9de85eaf29fc12L,0x9e436a4a3a85a95eL,
  103115. 0x169c615c9e3c41d4L,0x2b29db6bf79e4c98L,0x22a26e1e1a467ad5L,
  103116. 0x14e86abf782ac769L,0xfeed751a0e260ce6L,0x00000000000001e9L },
  103117. { 0xd4355ffdfe99690eL,0x186ec88dcf7d461dL,0x8422a8fed2d736f2L,
  103118. 0x18f55e53ad868624L,0x1020ec9fbc659311L,0x86ddcc05affee0adL,
  103119. 0x06931cb237608917L,0x850013ff1ef526c7L,0x000000000000002cL } },
  103120. /* 34 << 448 */
  103121. { { 0x125c5fab85fdc7f1L,0x78c6271112df7083L,0x2fd974779a17dfc1L,
  103122. 0xafce9bff8de8fb96L,0x7a45cc8723fd724fL,0xfd1522f2de2fe1f5L,
  103123. 0xbc1eceafbe939d20L,0xe8f9b64c5d35cbe2L,0x00000000000001a1L },
  103124. { 0xcebe167b4e9edaf5L,0xc40095abd68c6c3eL,0x5cbd305e44500fa1L,
  103125. 0x52d56df841fc36ecL,0xc6dcaf21a267407eL,0xbef96b050a0d5c0eL,
  103126. 0xd6cca309cf13700cL,0xe1efd83734b2d474L,0x00000000000000eaL } },
  103127. /* 35 << 448 */
  103128. { { 0x47d2bcbb3a59d179L,0x84c060960c814989L,0x25021261b2543f3cL,
  103129. 0x5a894a77824a6674L,0xa80055cff8a90d72L,0xb67da52c3bbd3840L,
  103130. 0x41b6cf441d172937L,0xaecb4a0fd0c7f2f9L,0x0000000000000184L },
  103131. { 0x4112abfdadec6f45L,0xec2292fd5af997b9L,0xec81483ea66da6b0L,
  103132. 0x2d788ca6bf6e9369L,0xee6d66d64c9df525L,0x652248dfc233275eL,
  103133. 0x26ab55ff60d792dbL,0xed6c78699d30d510L,0x00000000000000e3L } },
  103134. /* 36 << 448 */
  103135. { { 0x2827f5a2cfacc519L,0xfa201f6328fe5462L,0xd12ba386e76d1ed1L,
  103136. 0x4eecc04b3f1857b2L,0xab2d2292bac8e16cL,0x94ff8f3ddc3f22dbL,
  103137. 0x63248a3603b56f1cL,0x391de5d28c4539e2L,0x0000000000000100L },
  103138. { 0x58dda167baea3e6eL,0xc9c93a6d88e1646aL,0x16c540b124b20d76L,
  103139. 0x9cfbc92113a036b6L,0x2c3b07ec6322b9ccL,0x88c8cdf43f0fcf9aL,
  103140. 0xfd62cb99da598c89L,0xd6a4bbf8fa164bd8L,0x0000000000000146L } },
  103141. /* 37 << 448 */
  103142. { { 0xc393c42ce88d83acL,0x5c8b69266733c944L,0xda086abbca3012b9L,
  103143. 0xff283a9b5acae577L,0x61bd875c3059cf58L,0x994aa16617621d60L,
  103144. 0x519f8cd8be49f68bL,0x3a0a9a9e98e2cb2dL,0x0000000000000154L },
  103145. { 0xf9b9bd45dc4fa221L,0x0ace7ab384d38b83L,0x88d9fc2be55c1c3cL,
  103146. 0x84905b18c6565620L,0x55c76c803bf25fe7L,0x96c9375fcd06b977L,
  103147. 0xf890bfe99ce18390L,0xa6d94dbb19361d60L,0x0000000000000001L } },
  103148. /* 38 << 448 */
  103149. { { 0x708f272f49cf39c0L,0x10a48d4cc2ee3fa0L,0xab1e16f901c642baL,
  103150. 0xb5eedde41983ee46L,0xe3c55cd6899e461dL,0x23000eba18d744d0L,
  103151. 0x2276e90d9eca5818L,0x28ba08fea79959bdL,0x0000000000000174L },
  103152. { 0x19c844006e8985cfL,0x8c47325f19c95cd8L,0x8ce8f9be8cc20f75L,
  103153. 0x5c1f05f4ccbe5f74L,0xc7611000293f57a9L,0xdf4273f284dad825L,
  103154. 0xd90562d63ba6f844L,0x70362280592e0687L,0x00000000000000d3L } },
  103155. /* 39 << 448 */
  103156. { { 0xff33e72ebc72e5fbL,0xbf62bd87e7d6882aL,0xda5147fdb89aef99L,
  103157. 0xb6f32dbd17a2f509L,0x9bd0eddfb286a468L,0xdd4d1b28b31307b0L,
  103158. 0x4866ded9c76ded47L,0x22513a3a1ab2e1a8L,0x00000000000000ebL },
  103159. { 0x89e2f77acc1225a9L,0x6557eb9ce8a4d6a7L,0xd06696e55d2b30d3L,
  103160. 0xffdbd1fa38241fb1L,0xece18f786da9b3a1L,0xc7be81d7f3778b45L,
  103161. 0x551942079c94ba90L,0x4a4151d863583b90L,0x0000000000000165L } },
  103162. /* 40 << 448 */
  103163. { { 0x482c4b824cb11206L,0x2201973cda6ac67fL,0x90df76215995d743L,
  103164. 0xee362af67e7b155dL,0x7f3893b65997d300L,0x9cb6280f48c1f500L,
  103165. 0x334dcc96c04921e6L,0xd657696028bcbad5L,0x0000000000000182L },
  103166. { 0x9dd406cb615b1c61L,0x7de33627d9cd2e7bL,0x7bb1260c8775b9c3L,
  103167. 0x8660e68e17b15699L,0x679fda73ed79d75fL,0x10d1c3e755a10c2fL,
  103168. 0xc4a3f01c652e4c33L,0x34c91d58b7c42d3eL,0x000000000000002bL } },
  103169. /* 41 << 448 */
  103170. { { 0x9747a5bd85fa2a0dL,0xe15ad21ed11886aeL,0x2eef7ba93a2651f0L,
  103171. 0x9e77aa5962686644L,0x9e7b79d4fb694bafL,0x3a430ea7a6b0849aL,
  103172. 0xfb6f511c8c34f2b0L,0xd5c58ed10140425dL,0x0000000000000166L },
  103173. { 0x98c16d41e9539297L,0x287e5e5f403d122aL,0x52ded89abda5f4e9L,
  103174. 0xa541ea800d429eb4L,0x763796a0dd2eb689L,0x5e35cb2d2001730fL,
  103175. 0xfe0f4cade305badfL,0xd110a0cf2ee75cc5L,0x0000000000000029L } },
  103176. /* 42 << 448 */
  103177. { { 0x516e69a0c5a71125L,0x998a22f25c95ad7aL,0x8a14544f648f80ccL,
  103178. 0xa59f36584ed65117L,0x4b5a92a85dd7e675L,0xd262307ac9fa87afL,
  103179. 0x936957f30fdc3362L,0x994f83054b783d0bL,0x000000000000006bL },
  103180. { 0x56d8d538ab411cbbL,0x6c3be61485d78e8dL,0x4234020c833fc8e1L,
  103181. 0xe4fdbf97b41ed949L,0x8c36618c0f3a1f2fL,0xe7dae0ee58f49465L,
  103182. 0xe5b2b939b6a95411L,0x822fe9e126a6e121L,0x0000000000000094L } },
  103183. /* 43 << 448 */
  103184. { { 0x9cebe2a9d059f7d5L,0xb4c8f6deabc86eafL,0x7dacabf6c6e5ffdcL,
  103185. 0xd8b22f229922c453L,0x676154f2174ea57dL,0x4d7ce6fdf9819e39L,
  103186. 0xb19bc1bbd47ebfc5L,0x24383cd04709da01L,0x00000000000000abL },
  103187. { 0x8d5e8f8a3cb2e7eaL,0x2899be2733d8d462L,0x5e6e982153eb2879L,
  103188. 0x04637531a17178c2L,0x8ce508f1f4495e86L,0xbbcc3223935c7f1eL,
  103189. 0x72c33d4fd2e53b1cL,0x3f02c919bab47cdbL,0x0000000000000056L } },
  103190. /* 44 << 448 */
  103191. { { 0xf25929a379c36058L,0x6d0eaa35a743c8a3L,0x24943137c5850310L,
  103192. 0xb78fcdc74d01efb0L,0xdf7a2cbd2a5e9f3cL,0x6d8c2cb9df226a5fL,
  103193. 0x32f82caaedfffa33L,0xb520a44381c3f37fL,0x000000000000018dL },
  103194. { 0x477f91b7e71efa02L,0x9bdb34a93e3ca801L,0x29bdb247fbaa8273L,
  103195. 0x1094b513dd94b717L,0x97c93aa247d54bfaL,0x8899075c84807d06L,
  103196. 0x6cb0824b57f6ae04L,0x5d1def90e6c92379L,0x00000000000001a0L } },
  103197. /* 45 << 448 */
  103198. { { 0xa9abb86dc72edfbfL,0x976e9021ac090215L,0x045277f4e22e6e61L,
  103199. 0xc7659062b8e5caa4L,0xfb951c4a8313d948L,0x5cf7b980aab03d43L,
  103200. 0x638ad72853011671L,0x8982856158bf9edcL,0x00000000000000b6L },
  103201. { 0xa9f8e9d5670893a0L,0x950c5bd4695bfd4dL,0x9385ed198b1c6915L,
  103202. 0xe65fea3ce8a000c3L,0xf115e65f45299c03L,0x5ea19e3260785ed1L,
  103203. 0x68335fb1829d2dc5L,0x486ac0a949a1c2d0L,0x00000000000001baL } },
  103204. /* 46 << 448 */
  103205. { { 0xd1b72ef8e18d7e88L,0xe97656fb4c48d545L,0x72f28d05eb70cd01L,
  103206. 0xace95a386825c358L,0xfa20240fed25cc72L,0x4bcd0bba8fc571c9L,
  103207. 0xa8a77a6940165a4fL,0xaa0d24d5f1a5e08aL,0x0000000000000046L },
  103208. { 0xb2704a1a257cb8cbL,0x0606229140b7acd7L,0x3fced7fc0418bc8fL,
  103209. 0x1d063bf612b0ffd4L,0x7f35d6845b8c2990L,0x11d5f9a3e8035f81L,
  103210. 0xa8eb0824708300e7L,0x8bbae009cdff1bddL,0x00000000000001d8L } },
  103211. /* 47 << 448 */
  103212. { { 0xc98465cf1e099827L,0x231b39ff67a1f512L,0xb71a173966598bdaL,
  103213. 0xaec36ef7b70b4422L,0x6115ba31fc2de257L,0x2caff11ae2fe1837L,
  103214. 0xd1e8fe55a0aab548L,0xdbc7863b19ef5f6eL,0x0000000000000011L },
  103215. { 0xde6a08d39bd49a13L,0xa9b22ee15b3da1eaL,0x69f16ae2b6f6a425L,
  103216. 0x81647bfef93b2684L,0xb20f7c385a5214b6L,0x9f3e7078d7dee661L,
  103217. 0xd03efad577719f99L,0x58a09d6e42df766dL,0x0000000000000020L } },
  103218. /* 48 << 448 */
  103219. { { 0xba0a5d23dc831ac0L,0xcf0fe6fcbd41cfa5L,0x11d490d3adee7925L,
  103220. 0xa8c359fc491d988aL,0xb97a48a53ff98345L,0x6c8ac5f21b8bb845L,
  103221. 0xa9c9f2a85f157746L,0x79125887cf6ad9a4L,0x00000000000001aaL },
  103222. { 0x3dc5db89e8469532L,0xa9610220639df36bL,0x5806f730828bababL,
  103223. 0x5ad5e58f60ef0fbeL,0xbcdfe863aad0a654L,0x818cdc6134f936daL,
  103224. 0x3b6839b4d47dd376L,0x80db0098be99035fL,0x000000000000002aL } },
  103225. /* 49 << 448 */
  103226. { { 0x57e66d8002ac31a1L,0x7cfa3c5249aa4fa7L,0xfa49bed0cbe9b21eL,
  103227. 0x52cb15789db98c26L,0x1d47d195301a3fe4L,0xdeb6e083d69b7093L,
  103228. 0x1f5ff8447d4af7a7L,0x1d5de0701e12a92dL,0x0000000000000035L },
  103229. { 0xd78224473e451fa1L,0x604c458c535301ecL,0x25c9c867dd8c2390L,
  103230. 0x1810f8d0aa93f0a7L,0xc2210ddb316fefb5L,0x25a94d5b68af35f8L,
  103231. 0x53300a3e4a46f220L,0x53cd0eff6567eb3cL,0x0000000000000107L } },
  103232. /* 50 << 448 */
  103233. { { 0x463a0c31858ac43fL,0xf4549a21501dc385L,0x349e94abe9aa4f09L,
  103234. 0x3e0650cb6df0e53eL,0x266d445b8a31d2d6L,0xe9bcccfe8740fae4L,
  103235. 0x2497641bf4678f4cL,0x1399e0a702904c35L,0x00000000000001f4L },
  103236. { 0x2b3fa40fe14ed6faL,0x6cfd3a80a2d6adfaL,0x69b4e928f0fd74f4L,
  103237. 0xc1392f2469c56022L,0xfa22fb98a24b1facL,0x5f69d1a2a25757a0L,
  103238. 0xabd01cd5c5482128L,0x8c45115297d5a39eL,0x00000000000000adL } },
  103239. /* 51 << 448 */
  103240. { { 0xb0dcdad079443d3dL,0x2d9a42fe3a52d58fL,0x7955958903b2d65dL,
  103241. 0xf1b0c12f8a0b9cd0L,0xbd734262222bdb0fL,0xb035bc18d2f0707cL,
  103242. 0xaa3516119c456cf1L,0x46f91b9228a7d3fcL,0x000000000000018cL },
  103243. { 0x32b8a62934c1eda1L,0x0ecc02bd130644a8L,0x23d8ce282bfee465L,
  103244. 0xbb8a3ed82e8997bbL,0xc46d3480432ff8c3L,0xfc2ebc497233d495L,
  103245. 0xe55621e587b0b6f9L,0x928ca258af75145bL,0x0000000000000129L } },
  103246. /* 52 << 448 */
  103247. { { 0xf49c63f00ddef055L,0x48aa7a19d452b85eL,0x2e25071477b7fa65L,
  103248. 0x214846773c8ecc33L,0x0bb90b9b9f3eaf10L,0x37b1620414c4c51dL,
  103249. 0xc872bb78a1a5a425L,0x9346566a2f80d134L,0x00000000000000c4L },
  103250. { 0x68ac1057a1a2f1bdL,0x12c6c5bcfd33db61L,0x99298470a35fa26dL,
  103251. 0x54af5dbf7dfb15c5L,0xca576278357de229L,0x003d3219872e6db0L,
  103252. 0xbf3420e5722a6d5eL,0xe3256c9ec29eaf3fL,0x0000000000000024L } },
  103253. /* 53 << 448 */
  103254. { { 0x1bf4838b2a29f47fL,0xfbdc24b3518d9454L,0x75a3de3cf8240b38L,
  103255. 0x6da0b6f7893631d1L,0xdfa309cac90586f7L,0xaf89f6d1801d0c3fL,
  103256. 0x37544bb8ccddc955L,0x8b20db078bbcf759L,0x000000000000014aL },
  103257. { 0x3ad9424106b6601bL,0xf26564e2d069e9c7L,0x9370b0d5417b0b98L,
  103258. 0x572bdd32e88921edL,0x2468cb1b6b12f081L,0xabedc7f96d585c3dL,
  103259. 0xdd6625e6956519e4L,0x39d98d7bd3896f1cL,0x0000000000000012L } },
  103260. /* 54 << 448 */
  103261. { { 0xb8bdf12a5e0dafd5L,0xc84b1a43242f9295L,0x7b2ce3ced23a98f3L,
  103262. 0xddc3cd517ac86f66L,0x53c1528aa5228de5L,0x8d1ff4e4ba69123fL,
  103263. 0x32f4bc01b5ce90d4L,0xad5158cc8cb1409eL,0x00000000000001f6L },
  103264. { 0xb5ffd15aab839bdaL,0xd4652cb2f6c03850L,0x5ed9ea35ba6cdf1aL,
  103265. 0x6963ebc45529204aL,0x7f5c0d7f3cbe2e09L,0xf7aa9f58878afde6L,
  103266. 0x078e5e24e9c780a6L,0x78da0aee78a975adL,0x00000000000001c5L } },
  103267. /* 55 << 448 */
  103268. { { 0x071cf98df7134d20L,0x707f5869578e1b0aL,0x07a11e13a0c74aedL,
  103269. 0x1c32de4466086da0L,0x0ce4c3dc156e6365L,0x3ca495174ca4ea96L,
  103270. 0x929409321b049f10L,0xcdc6c5e45549420bL,0x00000000000001d5L },
  103271. { 0x11092c8b111881e5L,0xfd4467c943845ac7L,0x43a474e99b0dccc1L,
  103272. 0xb3eb7612ed69f0cbL,0xc5ea3915e920a3faL,0xa80778f17580cc78L,
  103273. 0x58bf893d588d51bcL,0x3ea95a47c036844fL,0x000000000000018cL } },
  103274. /* 56 << 448 */
  103275. { { 0x5f8fb091c8a11088L,0xc528c08244a8e84dL,0x2a38b398f419ab48L,
  103276. 0x3e6a4d574f9e3fffL,0x84dbeb5e0f91941aL,0xa5d2364e8df0b630L,
  103277. 0xbd79a9f578edc885L,0x20cca408771efab1L,0x000000000000000fL },
  103278. { 0x92c00dd612581153L,0x76a00a16d160483aL,0xc5f2f97ef8b8c8cfL,
  103279. 0x9c51e9949039fc0aL,0x9ae8239115a1e161L,0x611f60f3f04c80b7L,
  103280. 0x7ddee53b5930f39fL,0x139e22293734c045L,0x0000000000000169L } },
  103281. /* 57 << 448 */
  103282. { { 0x492a0d612b8f7df4L,0x9e5938bfdaddc812L,0x270ed13acd3591a1L,
  103283. 0x96c535ad5b526ef5L,0x3fe87cb1c08417a5L,0x535abbcbcafeb810L,
  103284. 0x682cfa1029bb9f46L,0x5cb429b34e142fe8L,0x00000000000000ffL },
  103285. { 0x3daac71ed0634825L,0xcf6e237fe85711fdL,0x804f34c977556d5bL,
  103286. 0xe34f12c3f521b81eL,0x9f4c137f292e32a0L,0x3a8a1ccac9694a76L,
  103287. 0x6e2378c78c3b70deL,0xbe0f52a6c07fe2ccL,0x00000000000000d8L } },
  103288. /* 58 << 448 */
  103289. { { 0x118fab8d79a79a9cL,0xbc2c9888bd218b46L,0x4ea3bd8c096a5354L,
  103290. 0x75a99a2783850578L,0x2498a867b61ed37dL,0xd99eca87a1b4d8cbL,
  103291. 0x78069810e502e8c5L,0xe124a2b0c1ee2bc0L,0x00000000000000f7L },
  103292. { 0x0fb991f57ea8324fL,0x5d03f2fc1b2fa900L,0xd7aecc39a2afaf48L,
  103293. 0x6f5834408f8eae4eL,0xcbaf72380821726bL,0x5bac3a5826891763L,
  103294. 0xb032fffce3476ef7L,0x5cbb984b60c21791L,0x0000000000000037L } },
  103295. /* 59 << 448 */
  103296. { { 0xa2cdcf6fc7a6656cL,0x3890d3dd2a668d45L,0x234f2e594925e5c5L,
  103297. 0xee308962c91f5611L,0xa5c2244dafd2a34cL,0xe1f87b4883b55aa4L,
  103298. 0x073efb988e8d2151L,0xf5a2060add8c1fd4L,0x000000000000010fL },
  103299. { 0xb36704d4f67f4c92L,0x5187b6fa3cf744ebL,0xe9e542fd24e4a727L,
  103300. 0x80e7047c49cfad5fL,0x289d555413901f7fL,0xb3aa2b678638b4c1L,
  103301. 0xf849ebf97ec3d745L,0xbf3ae59d9d645f83L,0x00000000000000ddL } },
  103302. /* 60 << 448 */
  103303. { { 0x62e3e3726899a80aL,0x84d09be49df44b97L,0x6e05ba9f147b7cc7L,
  103304. 0xdbc7ebb4786f89e1L,0x59bd342f5fd35148L,0x74ff10abf21cd7bdL,
  103305. 0xe9adec9a4963a567L,0xdf49024bbcf19942L,0x000000000000016aL },
  103306. { 0x583ad342e4e67976L,0x384f24864b4036acL,0x2d1de0460fded50aL,
  103307. 0x5979c2d3231e9f33L,0x4357f19a6f1f6362L,0x03dc0490c7206d38L,
  103308. 0x0a809b04d1f6a3d0L,0xb86a36390dad4ae4L,0x00000000000001f7L } },
  103309. /* 61 << 448 */
  103310. { { 0x4a43f2f8ab33fe25L,0x9b5f5c47cd37c48bL,0x9638182e53cd35b8L,
  103311. 0x15080c5a2a01d11eL,0xa2ad1d1681cbdad0L,0x4d368c121388f3d9L,
  103312. 0xa52874d32b5fca12L,0x3144ef491c9937e7L,0x00000000000001e4L },
  103313. { 0xaf4c873c1bef2db1L,0x854dbb8b41802396L,0x04ed772d8a107858L,
  103314. 0xc302309c9922bb22L,0x8934bf22f903f12fL,0x1895a13453ac5388L,
  103315. 0x4e3a136f9795b063L,0x132201f7ed77451cL,0x00000000000000cfL } },
  103316. /* 62 << 448 */
  103317. { { 0x3af5f35a9f1ead38L,0x2251fb919de293edL,0x35e60ce0549a3799L,
  103318. 0x2daca779449e2012L,0xfbe464d153de4a11L,0xfc18cb66fec4b981L,
  103319. 0xcdcc49d118082f41L,0xe06054d362025456L,0x0000000000000008L },
  103320. { 0x5402f1bd9bd9602bL,0x2f1c926627c3b232L,0x06b4503e2de448d5L,
  103321. 0xbbeede93092ef103L,0x266cb7d16ba9f227L,0xaca181901b3802f8L,
  103322. 0x358cf8b0902424a3L,0x03288ff4cfc7b845L,0x00000000000001e4L } },
  103323. /* 63 << 448 */
  103324. { { 0xd647fd5243cd6708L,0x3f6caa7ce80ca7a4L,0x446fbd00d53a4555L,
  103325. 0x50e707aaf87efc06L,0x6194ffea631474abL,0xe59478e2846b6fd2L,
  103326. 0x589039414b8854f7L,0x3b3c679daccf580bL,0x0000000000000034L },
  103327. { 0x3388ccd6d6d55e6dL,0x4f1e9f0c878cd970L,0xc2f128f4c7501b77L,
  103328. 0x69d023525f9082d3L,0x350954abbe02b4baL,0x1d5f5bc828f937dbL,
  103329. 0x9b01373dc36b85acL,0x0f3810828be8c7d0L,0x000000000000001fL } },
  103330. /* 64 << 448 */
  103331. { { 0x394cdaf5af579e74L,0x892cb4839f0656a6L,0x0ecd401f3e8e1495L,
  103332. 0x655f01524caf97c0L,0x9712d15881912568L,0xd16e997a89dbdb52L,
  103333. 0xeec17a551a8c4097L,0xbc19e865322bbb31L,0x000000000000003dL },
  103334. { 0x6b181fb67cfb9654L,0x3afdca352d651201L,0x19d26af461453278L,
  103335. 0xeba73d693ebeaf7eL,0x39f7171e1832e1e3L,0x84b46c0e31a9f559L,
  103336. 0xaea096cdd89db3c3L,0x193c91e76c409761L,0x00000000000001fdL } },
  103337. /* 0 << 455 */
  103338. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  103339. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  103340. /* 1 << 455 */
  103341. { { 0xfb24c5b4c56caae5L,0x3855473b71a1a7f6L,0x225a79370cf6ff1dL,
  103342. 0x3cdb0634b5ace9e5L,0x46de798d26b6384fL,0xf1ede134ebc11704L,
  103343. 0xe80e4e37554519f9L,0x812e76db6349eebfL,0x0000000000000179L },
  103344. { 0xb0b69f323b354956L,0x27c782ecfc0d2a5dL,0x2bb2ebefa0dff80fL,
  103345. 0xae8e58262c887ac2L,0x2e4886170ca3bf38L,0x77b1b7b434c9e517L,
  103346. 0x5d42ca18db708de3L,0xc1b0482a4305eac5L,0x0000000000000091L } },
  103347. /* 2 << 455 */
  103348. { { 0x4331cdcdd6a37babL,0x67b8913785c741c8L,0xaeffcbdb4fc72389L,
  103349. 0xcc12e59a1c7ae6ddL,0x4a35540bee1e838bL,0x6148fb60ecd3e84dL,
  103350. 0x7319e868b2290730L,0x4321baae4de5208bL,0x0000000000000160L },
  103351. { 0x10c813e987717bb9L,0xd9e1f5a8cfb9252aL,0x0983c1f7d7bde47cL,
  103352. 0x7446023b5474e52dL,0x1f189de81941b518L,0x1997c69bb425810aL,
  103353. 0xe15b5f1e58bca332L,0x715da4c949092985L,0x0000000000000076L } },
  103354. /* 3 << 455 */
  103355. { { 0x384e3f6f58451e49L,0xaeb80f831e31dd0dL,0x4533e3674b9d5a8dL,
  103356. 0x531d29f192c91343L,0x3ad61300badb78f7L,0x9430ca90b88c7e34L,
  103357. 0xb29faff5d04c4cb7L,0xd1d5172032b962a8L,0x0000000000000037L },
  103358. { 0x15e09965dec37027L,0xd2cb9e7ef367e0baL,0x64c02f1bee17c9d0L,
  103359. 0x64a78127eb7a74d4L,0x94bd3d97e2733ab3L,0xefbac0a22548d742L,
  103360. 0x1834dd09691ced31L,0x5cd623906f6cbf38L,0x0000000000000193L } },
  103361. /* 4 << 455 */
  103362. { { 0x3e5927537600c9f1L,0x115da68ae4653acaL,0xa83d3cdea21c03b3L,
  103363. 0x5821515780477c90L,0x876e0150c43df921L,0x176767d6410801f2L,
  103364. 0x95e1b6c9b0b638edL,0xcda8e401979e84c6L,0x000000000000001eL },
  103365. { 0x5500c69c85cb274fL,0x5f2d975bde004d59L,0xcd545d2aa005b4deL,
  103366. 0x4d3d02ae4e3b1b94L,0x53e64ccdb8ec522bL,0xacc3386f12efbb9eL,
  103367. 0xc8f529c21cbd540fL,0x8428942d2f854a91L,0x0000000000000182L } },
  103368. /* 5 << 455 */
  103369. { { 0x52ac93ab9d106cc0L,0x6ade3bb2a1a00a39L,0xa6de45cbfe378be1L,
  103370. 0x77ad40dcd0670c0dL,0xf86878493a2759c5L,0x483cea2b331d66d3L,
  103371. 0xbf7da5e30c0a8a8fL,0xb6ae584ae13ed38bL,0x000000000000011dL },
  103372. { 0x80e9d0a253710983L,0xf52a813a2499bdeeL,0x3abc9538b0a63f6fL,
  103373. 0x1abbdb5e88454852L,0x42562c99b16c6366L,0xb320389a1fe20061L,
  103374. 0x3dc5368a0aafe965L,0x22165cb8786c4c36L,0x00000000000001a0L } },
  103375. /* 6 << 455 */
  103376. { { 0x2cda398733430edbL,0x7f0593f8ee487eb9L,0xe458e275d8765895L,
  103377. 0x45c2e09311be3df5L,0x32545b1e51450f54L,0xf35bc1ee49d52cfaL,
  103378. 0x59b8b719da91cec2L,0x4426171bab7fe631L,0x0000000000000135L },
  103379. { 0x17c4e11ce00a5618L,0x7a6ff5b1fe8be941L,0x72e91c8c2c90c5d3L,
  103380. 0x9f45087980cfdf98L,0xb0d5d0d106ce62fbL,0xd9deb71557fa7188L,
  103381. 0xf1d09702ac85d50bL,0x65ab22b5a170e75eL,0x000000000000018cL } },
  103382. /* 7 << 455 */
  103383. { { 0x8dad33f0dc5d94abL,0xf4db966bfac13747L,0x8a77811c06e37e4eL,
  103384. 0xf9363ed30c3604e7L,0x90756e243ba7fce8L,0x3696963496b80bedL,
  103385. 0xee684c2077d60148L,0xa5c2fb34655054d6L,0x000000000000015bL },
  103386. { 0xc3add12d16926ab2L,0x05ec8eafff3a3fb8L,0x0d04206ee9427d91L,
  103387. 0xbeb4f190129e73b0L,0x17261339c4d688a5L,0x24dad00d6ed53db0L,
  103388. 0x2528c44d45319ea2L,0x934c89cf849c5440L,0x0000000000000018L } },
  103389. /* 8 << 455 */
  103390. { { 0x92c099d20bec2201L,0x364fa15ab67ff463L,0xfb32ffd0b02f7e0bL,
  103391. 0x5b57f9939d4c9f2aL,0xba5f437e4996b151L,0x961bd5fc431462e9L,
  103392. 0x1fda019fdcd39411L,0x8ff5288eccdfbe62L,0x00000000000000ddL },
  103393. { 0x43f49a318ef349acL,0xe4f5a626301bae8fL,0x945e6a62d2681847L,
  103394. 0x8ef66b51857c09beL,0xdaff64743f15435dL,0x215793cd3db84e5dL,
  103395. 0xb2044d4bab1bb6c2L,0x4c7ac000580855ceL,0x00000000000001b8L } },
  103396. /* 9 << 455 */
  103397. { { 0xa136b9c582159046L,0x140057f04c4ead62L,0x8ca6289ebc981d19L,
  103398. 0x4d649954c7decb99L,0xe5a5dd22865132baL,0x997c4359c0ac595dL,
  103399. 0x0de89fbab741c450L,0x88ff00d621eaec9cL,0x00000000000000c4L },
  103400. { 0x588c3562c9825937L,0x36715b023cee8780L,0x2a36c31fbc044ec4L,
  103401. 0x3122c43ddc1830c2L,0x502d3747d0ad0521L,0x0154ba8f1f2a32daL,
  103402. 0x81ba266bb3b79bb3L,0x20f1812f498a41f2L,0x00000000000001b3L } },
  103403. /* 10 << 455 */
  103404. { { 0x52bea9dbc2a1b7edL,0x7844cd85e0d786e2L,0x17168d7a4d565a2eL,
  103405. 0x1213c72b155affb4L,0x26a4857d606a308eL,0x6f0560d6b55b0018L,
  103406. 0x7c8549e874e1b9cdL,0x322ba0629deeec3dL,0x00000000000001cfL },
  103407. { 0x0a7016b8f59fd1d3L,0xa81ce2f8aeebdf96L,0x3ac89a8a0f7e145aL,
  103408. 0x3fe8a38d70351907L,0xa636fd48bf10697aL,0x4c0f860d7f93878cL,
  103409. 0x546e63f5957d25e3L,0x1fd01e4a1df8262aL,0x00000000000001baL } },
  103410. /* 11 << 455 */
  103411. { { 0x247a1ac087e07d2eL,0xb3ba31de267cec57L,0x70c28376dfdff923L,
  103412. 0xa5b0933e98010a4aL,0xe8a5384f36233cf8L,0x629f4df7bb8d7c34L,
  103413. 0x08d3ce1f86e72077L,0x42d10ace698660b6L,0x00000000000000bbL },
  103414. { 0xcb6f4d27db329183L,0x702ddbde1d7d2f87L,0x3b33b2b0efbfd731L,
  103415. 0xecbd887c8623c86dL,0x33cb70623a026857L,0x37e317913b7ed919L,
  103416. 0x51936c18079f2a15L,0x7118bad7bc8668cfL,0x000000000000002cL } },
  103417. /* 12 << 455 */
  103418. { { 0x37e766a6c64f9c9bL,0x6cf5e0b616c4ce5aL,0x31a2b1e27bbe708eL,
  103419. 0xf784a55291e24f0fL,0x1cdf807a1fd25709L,0x2669d80270ced72fL,
  103420. 0x79e4492dd49751dfL,0x7fe014d87e7f3162L,0x00000000000000b4L },
  103421. { 0xe0a2be33ada43f51L,0xbc88356945f6e16cL,0xb3d2248ec5873251L,
  103422. 0xd1118266e3f9b61fL,0xc427e30bf6d1dd12L,0x43f0925b0d8313a1L,
  103423. 0x729dfe2a39edf59dL,0x7189f5a4ff4b7293L,0x00000000000000b1L } },
  103424. /* 13 << 455 */
  103425. { { 0x39502a01368c3556L,0xb35130c9e9123869L,0xe3134618586c2e0fL,
  103426. 0xdd3442cf24f259d3L,0xf57c35ec40687844L,0xe90532e576f52793L,
  103427. 0x55fc2464359633b4L,0xcae06ebd1dbc4636L,0x00000000000000b1L },
  103428. { 0x5489517f5b600d27L,0xc219eb240984d56eL,0x7b016f7ed9384e65L,
  103429. 0xfb57337cb879d9a8L,0xb449a322baf2c015L,0x023817267f138634L,
  103430. 0x1368bf27c9b321fcL,0x6385cb06247247faL,0x0000000000000004L } },
  103431. /* 14 << 455 */
  103432. { { 0xe4ea02cf8f3110b8L,0xfed60231de50a1e9L,0x62bda5e80a8fe01aL,
  103433. 0x882f5313ade31339L,0x30102cb926f12837L,0xbbfcd761c1851e44L,
  103434. 0x6e1c5d2b073b2ae5L,0x1542324c357ad561L,0x00000000000000faL },
  103435. { 0xa8eac464c37d1a01L,0x8e5b465daeedd902L,0x7f7b68f5fdaf7257L,
  103436. 0xd88a2cf6b4badb28L,0xe0dfde89e4102b12L,0x9ed8dab7ab851c47L,
  103437. 0xbb44bd5db4865d1eL,0x0c6d69d57f2f666aL,0x000000000000004bL } },
  103438. /* 15 << 455 */
  103439. { { 0xf1db7612f8af29f4L,0x0da52d90eec6ab10L,0xd16bfb69b851b5f3L,
  103440. 0x8c660efa6c961596L,0x3f6f6951bea2c3ebL,0xfdf53cb06ee47dd0L,
  103441. 0x305e36d03805cb39L,0xb02da6181c1bebf2L,0x00000000000001b0L },
  103442. { 0xfefb61ddd5edce86L,0x2f7081225cd97a1eL,0x120d97f785787836L,
  103443. 0x10ba1b5da5c3f3feL,0xbf2320827474dcf2L,0x94f2cfe21431647cL,
  103444. 0xcf6e137c7d9e88bcL,0x77f6796bcb8d5d69L,0x00000000000001d0L } },
  103445. /* 16 << 455 */
  103446. { { 0x9fb0a0d27a2ae93eL,0x89c9dfa314d3224aL,0xe70f39ef1ec1ea92L,
  103447. 0x8c7c0024ad2dfd78L,0xc285ed1c3c5b7c09L,0xce6436d11fb27511L,
  103448. 0x65f427ade3d07577L,0x22ae30d26827554fL,0x00000000000001dbL },
  103449. { 0x35ab2a33fe772f97L,0xb26d3f9db6b12767L,0x0a55e68e6c9da0fcL,
  103450. 0xb481a8f865d2662bL,0xa670cb04ed1fc69aL,0x77e568a7f1c98c0cL,
  103451. 0x85c30516952db9e8L,0x8a4ea765f15c664aL,0x000000000000012aL } },
  103452. /* 17 << 455 */
  103453. { { 0x24b51a35aef7687cL,0x77bcd6cd1d943eabL,0xf969c9d01f866f56L,
  103454. 0xf7027c8e59f4f482L,0x1261f7e83e164d3cL,0x41ca85ec8188b6c7L,
  103455. 0x6958934e4e646b45L,0x26a31442b45b4318L,0x00000000000001a5L },
  103456. { 0xffa95fba76172fe7L,0x8f3bf348c7dfc41fL,0x7b47ee9d9a3249b5L,
  103457. 0x91b2331ee3041b11L,0xa8e47621c81d85ffL,0x69c6e66a7d34d69dL,
  103458. 0x746f8fa00228f5a7L,0x49b1ab297ad79030L,0x0000000000000117L } },
  103459. /* 18 << 455 */
  103460. { { 0x3346c5da3b8d5865L,0xf9e603778f785ca1L,0xcd7267d26d5dc885L,
  103461. 0x96ddf769d69ccfafL,0x2d6dbb25d9594959L,0xa04cb2836b6f3992L,
  103462. 0x1a525509f70ba665L,0xd92bb7dc62535572L,0x0000000000000089L },
  103463. { 0x11ced4d3d325263cL,0x7722335f67a97800L,0xc5a85f2dffdb96cbL,
  103464. 0x1f96d41972f44be4L,0xc1d49b3ab9261115L,0x0e5855b52419b535L,
  103465. 0xd30bc50e4ba83be2L,0xc32fc472bf33f0dcL,0x00000000000001eaL } },
  103466. /* 19 << 455 */
  103467. { { 0xd22d064fd55dd06cL,0x8c131707554e5c06L,0xd0834b1c5ab31d71L,
  103468. 0x068e97c08a8ec55dL,0xb354b9fbf2c24393L,0x68526695f43824caL,
  103469. 0xeca17949714f7eb9L,0x3bac155a28673581L,0x000000000000016bL },
  103470. { 0xd623a454e1405449L,0x6f6344968257e0a5L,0x48a6f559686924d4L,
  103471. 0x183eafd0b335dae6L,0xb0016fca611ff16dL,0x415cb8b78b736901L,
  103472. 0x5613c8cb24ce9cd5L,0x923c4567f82c8007L,0x00000000000001b3L } },
  103473. /* 20 << 455 */
  103474. { { 0x5c720be258ab3605L,0x2820c97e11919f9aL,0xa4bc44dbebae5562L,
  103475. 0x8d6d08d350fb9167L,0xde7d84ec8006e434L,0xb6e321bd9a42fff2L,
  103476. 0x70071b01de4127fdL,0xbb67a667f73c64a0L,0x000000000000013fL },
  103477. { 0xfb25e553f31d98b8L,0x70c787fbe10132d0L,0xf28de5cf258b7508L,
  103478. 0x709924fbf8b95916L,0x78ee0fef73060a42L,0x94eba1441ca70596L,
  103479. 0x1d9405604113ad0eL,0x6ebaeb9d5eb59b5eL,0x00000000000001deL } },
  103480. /* 21 << 455 */
  103481. { { 0x8f3c34038513ad8eL,0x23d1068ce02335e8L,0x4df15aa26c8c07faL,
  103482. 0xc8c79d63208b6e5cL,0x3baba1b5694025f4L,0x7537c5fcfc644cfdL,
  103483. 0x67a988643eddd726L,0x5e802190290837ccL,0x00000000000000faL },
  103484. { 0xc972581abbdecc67L,0x1d388e42d42df1edL,0xa36e26d73014b6bfL,
  103485. 0x68e7d409c17eb104L,0x1fba2f37c9bd416cL,0xa70c61d86280285eL,
  103486. 0x1cca0fba92a82faeL,0x6b7f1886957ab120L,0x0000000000000156L } },
  103487. /* 22 << 455 */
  103488. { { 0xd55a28a7dc10eb96L,0xad0d50f0b772c881L,0xe1574305f391a2ccL,
  103489. 0x0406799baf3c73f6L,0xadb82a35b80d865dL,0xc4aa10c63e74ddb2L,
  103490. 0x0f9fa673a31c89b4L,0x134b2949ab05eb58L,0x0000000000000101L },
  103491. { 0xd3718bcacd00f753L,0xa01c7f4c5581cdc6L,0x25e7432b8ae54a23L,
  103492. 0x9f1f4be4a8864359L,0x2578e281ba8918f6L,0x3df9ca3b8527e2adL,
  103493. 0xcf13344198b23373L,0x32ad0ce945d70a62L,0x000000000000010bL } },
  103494. /* 23 << 455 */
  103495. { { 0xebf15c12cd6df125L,0xf8742bede0c3bb09L,0x7400e7b42949e0acL,
  103496. 0x25ebe2a5b908bebcL,0x06c181ac9088df95L,0x17250bead541a8aaL,
  103497. 0x3b57a812cae85f6eL,0x675f0f006d47478dL,0x00000000000000dbL },
  103498. { 0xff41c2f7a425450dL,0x7e448c6ef6b5814aL,0xc18ac9561125f917L,
  103499. 0xc9b09818cf6dc728L,0x0ffb8f8ba74b6314L,0xbd600655ccdd3a35L,
  103500. 0x5abf65d02dc8b7d4L,0x3ab6cecdb06470ceL,0x00000000000001e7L } },
  103501. /* 24 << 455 */
  103502. { { 0x4fb8b429f594dbfeL,0xc57ec74f3702a306L,0xa88664eb38a5e224L,
  103503. 0x03bd2d507529c812L,0xb4890478fee034deL,0x77840108a3b354aeL,
  103504. 0xffb76cdc93f4eb36L,0x0c211ef043c4667aL,0x00000000000000eaL },
  103505. { 0xc3e39ee2336294afL,0xc13f4a278b47f0bdL,0x90c93312fe8d9430L,
  103506. 0x23e4f98c8899a8b5L,0x4e623a41007c34a9L,0x22f9e5d9bad91217L,
  103507. 0xdace8fffcc6f1916L,0x49cdd45f2be203b1L,0x0000000000000166L } },
  103508. /* 25 << 455 */
  103509. { { 0xd62f4e0bf838c030L,0x5ee8619eff5e4c04L,0x573f6322f2ae5f65L,
  103510. 0xf521755a815f196aL,0x52ddf3b992e013edL,0x9b1832f75789e543L,
  103511. 0xb79c173b1aa8ee89L,0x6387e6de7a2a6291L,0x0000000000000141L },
  103512. { 0x2851d4792e19982dL,0xb824811991e95866L,0x986123011f6a3323L,
  103513. 0xc3acf6105e17b5efL,0x3fc21269157bf97bL,0xacb8c9fe75aaf98aL,
  103514. 0x6b4d228c3c3bdfa3L,0x4baf44ceabe5622bL,0x0000000000000189L } },
  103515. /* 26 << 455 */
  103516. { { 0xa8228eb3494ec6d4L,0xf4c3f2df66e6036dL,0x4a0bcbe1987742cfL,
  103517. 0xc95b99a8e26fc56aL,0xc97d73eabc55ac05L,0x4ed64770e346b78aL,
  103518. 0x3be208dfff5ba2d8L,0xdd2b3048d9de7d1cL,0x0000000000000134L },
  103519. { 0xba1c047088c3bbb7L,0xec2a0e1b7a3f7f2dL,0x6714b1767a37c017L,
  103520. 0xf37978ebfca5dcd1L,0xe12941486fe75a3dL,0x563cb5467b5a6d85L,
  103521. 0x730a871ae6255730L,0x0526e4aa06b13c50L,0x00000000000000b0L } },
  103522. /* 27 << 455 */
  103523. { { 0xe6e5671391d9ff3dL,0xde573dad43ff0f2bL,0xff2b0f78ead1ef3aL,
  103524. 0x65d277c1a953c752L,0x86b27d0729c92783L,0x115d71bbaac092adL,
  103525. 0x49abda98f48e8e98L,0x4a8dd8b689b41f8eL,0x00000000000000e9L },
  103526. { 0x3cb6410a0ba5dbe6L,0x59714ff58f9c260aL,0x76c17272988b3f5fL,
  103527. 0x82cb77d8e171e7d7L,0x736ad952e19f1172L,0x4440cf6ffc6650a3L,
  103528. 0x1dedd658fd78e3b5L,0x44cf2b3b8e33297eL,0x00000000000001a4L } },
  103529. /* 28 << 455 */
  103530. { { 0x71eb9485fb8547b3L,0xaf1da3442e086ab2L,0x6dbd491639614d0cL,
  103531. 0x612a6ca365e06d5dL,0x2707f1b2e07c53ffL,0x790f26d549783b98L,
  103532. 0xa940f16e94bad8e8L,0x2e1a7bcadb6ca03aL,0x00000000000000b6L },
  103533. { 0x3546c7ffccafca6bL,0x63272d70e14ce7d3L,0x27bf1e92de8a95b7L,
  103534. 0xa8f658b4e40923ffL,0xe7e7d90319aaa4c2L,0x31419704616938f0L,
  103535. 0x60badb4c73607bafL,0xf5a8c9f71a7f8968L,0x000000000000009eL } },
  103536. /* 29 << 455 */
  103537. { { 0xe8a1be53f7cf8076L,0x835d75075ed17febL,0xdd4e7d82a137d007L,
  103538. 0x034b4a4ebec4128cL,0x97a6e77869848477L,0xf5f497447b7cd22eL,
  103539. 0x7ebcd6f2e4ae90c3L,0x639a23d313d1fe20L,0x000000000000009cL },
  103540. { 0x63a94a750b5a12eaL,0x5ed1316535a18dbeL,0x108f40b1250766a5L,
  103541. 0x0699fd0f3be758a6L,0xef0651edf555cef4L,0xc7cddb0991e0d002L,
  103542. 0xd812e01ecc15cb77L,0x45a3ead3ae02880cL,0x000000000000016eL } },
  103543. /* 30 << 455 */
  103544. { { 0xd958953f38053cfeL,0xd0dca4087982a66eL,0xd1e7e8ffedf296d7L,
  103545. 0x89403f2546c71095L,0xf9dd442a2197e27eL,0x04c09109a1856828L,
  103546. 0xe0f10851c30471fcL,0x9845881cc5fbddfdL,0x0000000000000024L },
  103547. { 0x296b2075de6d1a79L,0x31700b8125baf333L,0x7eacd4191e723113L,
  103548. 0xe296b9124dd7b2f2L,0xec4a609c3284a3d7L,0x20d5b58c0edcd7dfL,
  103549. 0x4ae17e8562a0a946L,0x05db3034acd03e7bL,0x0000000000000037L } },
  103550. /* 31 << 455 */
  103551. { { 0xe117f7c6c77ec006L,0x52aa819720d4293eL,0xa513494e12cb1789L,
  103552. 0x6bc91133c8458cfaL,0xef421ded0667ad04L,0x383dbeb1edea9c8cL,
  103553. 0xd47d49b59db7b079L,0xa39d6cb4a990d3b3L,0x000000000000013fL },
  103554. { 0xc7d38b61e69c3f9aL,0x851ecd8f6b0830b7L,0x8a4086e71e5c2abeL,
  103555. 0x3a717b444f21af8cL,0x15b162ef29f03bd4L,0x046ebf9d8bff7773L,
  103556. 0xdaf386f8c226205fL,0x3b6c08c60f50c5c5L,0x0000000000000098L } },
  103557. /* 32 << 455 */
  103558. { { 0x6ad03106c4dd900cL,0x8227fb5d7ca08923L,0x2e3c1e7f863ba5d9L,
  103559. 0x5f76d6bfb5be20d0L,0x841dc1d29492569aL,0xfda5b20e47e0dc0dL,
  103560. 0x65aba1062d720dc5L,0x9eab8ffb03e6765eL,0x0000000000000046L },
  103561. { 0x32d92252497da0c6L,0xa2d4c8b1beb7b1f1L,0xede29968f01c7409L,
  103562. 0xad902eb5da06607fL,0x2c60236c5c1e7d9eL,0x51f51ddd17a3b1f0L,
  103563. 0xb71b393f40ab7cb8L,0x710fc9f9a16ac6bdL,0x00000000000001ccL } },
  103564. /* 33 << 455 */
  103565. { { 0x17a9f511c817a522L,0x43a3b550007aece4L,0x96a038d0c081e0b5L,
  103566. 0xbe555f9fabc7c9fbL,0x3d97da9bd3f2d813L,0x924e5ed26daa6206L,
  103567. 0x6060389e149fdfb2L,0x63405c57e663161fL,0x000000000000012cL },
  103568. { 0x1d535749a4996c62L,0x154d702fb7d9b367L,0x0683f9a7958437ecL,
  103569. 0xed90375c67c11730L,0x25ec469479487577L,0x63d81f9ff945815dL,
  103570. 0x62fa26f1ad0df408L,0x443de5eb41432e39L,0x00000000000000a0L } },
  103571. /* 34 << 455 */
  103572. { { 0x9a7ae6cf1937fbdfL,0xe520bc25b3b127d6L,0xbecbb9ad3f934c09L,
  103573. 0x4eea4a4bad3dfdb0L,0x44a3e5454d6092d7L,0x79f2a6084b131c63L,
  103574. 0xacdc5157338e48b2L,0x5895180b31633996L,0x0000000000000034L },
  103575. { 0x53d6e9a967add219L,0xdbda58e57a0acb39L,0x2beb62a9a501e4fcL,
  103576. 0x09ae642eb8bcd189L,0xd99bd74cd3070382L,0x818602ea5fa033d6L,
  103577. 0x2c7a8b66bd6174efL,0xc528911ad73d7039L,0x0000000000000107L } },
  103578. /* 35 << 455 */
  103579. { { 0xb097a9c2f6574536L,0x01dfb1ead319bb2eL,0x919b41fd10b8126cL,
  103580. 0xd387f3fadafc4fccL,0xf07fe9237b4b8b0dL,0xaca2f681bfdbb170L,
  103581. 0x2e229073a14a8bbcL,0x1e583333a004c3e1L,0x0000000000000121L },
  103582. { 0xe9c44b5713153005L,0x74f67017e0319549L,0x893b54f0aaafa8d1L,
  103583. 0x61f414ef72b64577L,0xebe1f4aa89e38aecL,0xeebee7400152e2c0L,
  103584. 0x63822c46e22b96e1L,0x8145b880f9e04ea4L,0x00000000000001f6L } },
  103585. /* 36 << 455 */
  103586. { { 0x70f229cbb6f71f93L,0x527c300f096b2a6dL,0x7eb15fc35d2b2a1eL,
  103587. 0x073037886bf3f2b3L,0x09f662c4d861d407L,0xd56f054e95f869cbL,
  103588. 0x2bff96ccdb9ac292L,0xee2d64d25e9b133dL,0x000000000000014fL },
  103589. { 0x5369672b2305675fL,0xeeee27df7c52d654L,0x3e3f0183901109b6L,
  103590. 0xf71689afd656a411L,0x7c3d84abc38b5e62L,0xcea0ef8521a746b3L,
  103591. 0xc5bcfd6af0d2c28aL,0x90cb94f6898a7fa9L,0x00000000000001c9L } },
  103592. /* 37 << 455 */
  103593. { { 0xaba2f77640133b1aL,0x9114351127a6fef9L,0x31687b81884480c7L,
  103594. 0x6c7052c84c380de0L,0x7dfebacf0c44050dL,0x29a6e20b301d0518L,
  103595. 0x83f7b2ef05e760cfL,0xa7761fa0e4c7bda3L,0x00000000000001f3L },
  103596. { 0x5e81cf8f5f22a316L,0x0eb5cd7a5b6e2718L,0x311f1e41a7c3b19fL,
  103597. 0xfc878ca8e0c1b8adL,0x9ba4b865dce88c89L,0x42170861e7a6c11dL,
  103598. 0xc302bd176a3c551eL,0x981f282f0b95bda8L,0x00000000000001c5L } },
  103599. /* 38 << 455 */
  103600. { { 0x45e81509e8e44c3bL,0xb45241a79f5ecaa8L,0x07e66b9bb2dcacc3L,
  103601. 0x40043c9c19768addL,0xbc8029652dd99cf9L,0xfab3cdfb005a5e9eL,
  103602. 0x36e1d42bed774e95L,0x76967c78d3e4bd9aL,0x000000000000002bL },
  103603. { 0xfbae6c36ce44de1aL,0x0fc8f7010721ad16L,0xde6105a31dd0cfc6L,
  103604. 0xb7a3f2c209ad74b6L,0x516e7cf8fcf82cecL,0xd836e0e6b5552158L,
  103605. 0x3eb895880579b9dfL,0x2fc2edd075f65cb0L,0x000000000000005fL } },
  103606. /* 39 << 455 */
  103607. { { 0x209fd86fc4137737L,0x34bf527b978a68f4L,0x567eb20b0524f6b9L,
  103608. 0x86c410e79eea1c80L,0x97dee397954cc697L,0xc18b5bd59a84dd36L,
  103609. 0x2a2da3a7ee023a11L,0x86a285102dbc351bL,0x0000000000000093L },
  103610. { 0xfbcf67f59f2e22b7L,0xfd1c4381e2309b87L,0x70afab784b2ef658L,
  103611. 0x97e54cad9d17cb2fL,0xb0c6b4df35aa6422L,0x83fa36a31237f048L,
  103612. 0x9ad8104a331e9c53L,0x8bb00b123d97ab25L,0x00000000000001b4L } },
  103613. /* 40 << 455 */
  103614. { { 0x918afde6dd0f65e6L,0x667ac91da60ee85fL,0x0b1a2ad0f5ff339dL,
  103615. 0x3a6125964b0cfab3L,0xaa581d090d017c03L,0xbeddacc0fb5e501cL,
  103616. 0x55b8408587c6b6c1L,0x00f407609e6153d0L,0x000000000000010fL },
  103617. { 0x205043e2c8e8cb57L,0x3d3727c5823a3034L,0x23370101d9e5df15L,
  103618. 0xf731c40fc5114c53L,0x8e75d60430a82cc0L,0xd37ccfb8121c66f7L,
  103619. 0xedf7a2a6c8593bd5L,0xbbf51d6535e1fb10L,0x00000000000001deL } },
  103620. /* 41 << 455 */
  103621. { { 0xa17bb177dc0e1ef8L,0xf584de3446ed722bL,0x4b0603607255afe5L,
  103622. 0x6d3f576ca596d508L,0x48631ef184744e19L,0xd46c50ad0ef56fe3L,
  103623. 0x6ddb4398ea9feb8dL,0x5657e597d644bcb2L,0x000000000000005eL },
  103624. { 0x70c62c4674ceb129L,0xaa4fb4f7f7dc52e2L,0x0d4c8ffe05ec9b3cL,
  103625. 0x99df5287e6ec0a63L,0x3113604225242ecdL,0xcd6a183fe5a9f9d5L,
  103626. 0xd637a75ce46032a7L,0x3d1a48b60ab918b9L,0x000000000000003bL } },
  103627. /* 42 << 455 */
  103628. { { 0xc171893ab62f6307L,0x79d5af9085ab06e0L,0x9c3679f3599351c4L,
  103629. 0x736031906d60ff6eL,0x2c98c205c5148a73L,0xe81ca4cb9f935ffbL,
  103630. 0x5101448879df55ceL,0x10d3424ab4c0e674L,0x000000000000014dL },
  103631. { 0x00aeb5cbe469eef0L,0x07c01cfc0f37d3e4L,0x4e267bc688ced992L,
  103632. 0x237d6f19027453a6L,0x6ce9a46ca02dff38L,0xb48c2de3e9b59a51L,
  103633. 0xf35d0e66ddf74ad1L,0x86f7437185cd3698L,0x000000000000000aL } },
  103634. /* 43 << 455 */
  103635. { { 0x263bf75377aee0e3L,0x5b295858c1eedb82L,0x5331a56b952329a5L,
  103636. 0x48a0796cf6a59c36L,0xe85f29551b055becL,0xf93e92e2d0dbccc0L,
  103637. 0x3ef186a50aa5763aL,0xb29991763e1eaa92L,0x0000000000000038L },
  103638. { 0xf79fdc4de38ccabaL,0xe7b0c6558caf6844L,0x296cce34714fcdd3L,
  103639. 0x1a48345621cfec87L,0x2a8312d2358e9594L,0x610e6381a0afd4dfL,
  103640. 0x89e6492a8e1029e6L,0x21374b02a785d5a7L,0x000000000000015dL } },
  103641. /* 44 << 455 */
  103642. { { 0x2861a30eb68c0635L,0xc2129da0128d086cL,0x71851e3d95fb00d8L,
  103643. 0x6be824592c8800ceL,0x5521a722ce3a6551L,0x695af21cf0572143L,
  103644. 0x1b01ba0f9a2b9d06L,0xc7a637ebc61d4109L,0x0000000000000176L },
  103645. { 0xde540faa89107147L,0xa69764f80cc6d6dcL,0x81569f23de0c90d9L,
  103646. 0x517113424a2222f3L,0x0c490876bbbe9e08L,0xb218ae1da3475159L,
  103647. 0x0eadae96c8e51833L,0x7993eb897570ca6fL,0x0000000000000003L } },
  103648. /* 45 << 455 */
  103649. { { 0xe9d8cf2d8785a41cL,0x36959f1c8d4f1dcaL,0xb0f16556f44c8f0cL,
  103650. 0xf788aaac699f6e69L,0x8abb277294c578f9L,0x8c38c394dfc06c9eL,
  103651. 0xdfafe95575442f3cL,0x2d9e16378435de99L,0x000000000000007dL },
  103652. { 0x774db458e4ef85edL,0x198e3637ea0e6694L,0xa5e77830e40e988aL,
  103653. 0x180c3b5b74b081e6L,0xa39ebb6fe5bc23f9L,0x5c98492369c1387bL,
  103654. 0x0d9d7416587975baL,0x424b5201488c1367L,0x00000000000001ecL } },
  103655. /* 46 << 455 */
  103656. { { 0xff5a55c214efd7e6L,0x1adca75e365a094dL,0xafa2b130605e96adL,
  103657. 0x4aaf11849898ced8L,0x5599ad68f50c7414L,0x94be391326bd2eabL,
  103658. 0x54ec8fa2f0cb23abL,0xf5920c89b6d8b96dL,0x000000000000012fL },
  103659. { 0x017d7945611261a3L,0x542c34269a3b84e9L,0xe2f9e3b19aa43757L,
  103660. 0x75f2e88847f67da4L,0x64eb39e58eeee318L,0xdd8fb1eab23b0d46L,
  103661. 0x0971767d60e07045L,0xf8c25ba53967eedfL,0x0000000000000036L } },
  103662. /* 47 << 455 */
  103663. { { 0x7ac23ed5462ca57aL,0x859f1e17b839657cL,0xfd9e2e325a5e48a8L,
  103664. 0x45bbd738aeeb1b7aL,0x1786362c8e2b75c2L,0xcb5a7415854623e0L,
  103665. 0x1b71ca28e753b2d4L,0x92dfa281fb021727L,0x0000000000000070L },
  103666. { 0x0af516c1c9ffa091L,0x42980007ddbf8d4fL,0x3a9df51f9a67fae2L,
  103667. 0xa984f61c8383e456L,0x6eba62bcde9db2f5L,0x612efdba5b905e6cL,
  103668. 0xfe1e383995aae128L,0x75a64613ed632571L,0x0000000000000015L } },
  103669. /* 48 << 455 */
  103670. { { 0x2ada7940334d380eL,0x02f067bd7076d98fL,0xbe6af9ceb6975322L,
  103671. 0x1d145ee3dc8fec6aL,0xa222be87758076e9L,0x1a8e5d43b84e9fedL,
  103672. 0x137692d4ddf34cbbL,0x6dfdb9297eae4ae1L,0x00000000000001d2L },
  103673. { 0x7e231c00d1551943L,0xcc44391628a2f7e0L,0xeecf6cb476040912L,
  103674. 0x6d4c14e8be5a22d9L,0xf90d649d3282241dL,0xb5419dc2e561a554L,
  103675. 0x4b69138e82ab84efL,0x5224b9b561afd072L,0x00000000000000adL } },
  103676. /* 49 << 455 */
  103677. { { 0xce08fcf6d04171b8L,0x4470ba5dab720d25L,0x2e7666ad5071f025L,
  103678. 0x15f9107c0490cfbfL,0x03786dfbf7edec5aL,0xa3ab26f2371f6194L,
  103679. 0x665c2e17943af89cL,0x181c21f31c3493cfL,0x00000000000000a3L },
  103680. { 0x9a689ec87ca04084L,0xbc10f3e5a1b7ad4fL,0x3848a05d0e4629c1L,
  103681. 0x5d1524e1594465a3L,0xe73e3208939b6dfeL,0x394cab75dcea7042L,
  103682. 0x4e6325fcf6c3716fL,0x68a3e3ed7796be72L,0x0000000000000176L } },
  103683. /* 50 << 455 */
  103684. { { 0x599cd0ec19878894L,0xe7143cbef201ce5eL,0x10da3714a5fb9cf7L,
  103685. 0x1c9122b2773764c3L,0x4635467e2027dfaaL,0x891a7d9dcd55ed99L,
  103686. 0xf343aec526f12cdaL,0x12c08f3a438e2784L,0x0000000000000179L },
  103687. { 0x8e2ef2fe5bae4783L,0x9d7cef170232cbbaL,0x083db67c52253a59L,
  103688. 0x37e59d4263da345dL,0xa8e574ea3d0d079cL,0x86ef4870a66d7cc2L,
  103689. 0xe52c34274734a3c0L,0xbb6fbdb41bcd144dL,0x00000000000001d3L } },
  103690. /* 51 << 455 */
  103691. { { 0xa00168b412379ad3L,0xa2868b5b4a48c0e5L,0x3e403c86504a9c17L,
  103692. 0x75b6907209543de1L,0xb75b42c499043a93L,0xa2e009d45e566fb8L,
  103693. 0x11d754e0a583b69dL,0xbe0fa1b4de63df49L,0x000000000000015aL },
  103694. { 0x612814a12c6aae03L,0x408b7372915e29d1L,0x61f61e12e73428dcL,
  103695. 0x2085d678f7e77717L,0xb1029211f963b36cL,0x25bd69c89327c6e2L,
  103696. 0x7dd7d1a1c981dcbaL,0x2d539c7ce37c6a61L,0x0000000000000022L } },
  103697. /* 52 << 455 */
  103698. { { 0x8d21680e0728f4ffL,0xf7fcafebd3f8ff89L,0xd2d0f396fc6b6546L,
  103699. 0x8cf7d514e633a609L,0xeec1ab0faa3e51acL,0x0a48bf23f0f80226L,
  103700. 0x4cac2e1fc760431cL,0xcfdea2348ed7cb1aL,0x00000000000000d1L },
  103701. { 0xe9f93bca5750470cL,0x152b0ce438fc7e24L,0x1ef36c9ed4a355beL,
  103702. 0x749ecc7dc9cca53dL,0x4ef6355437f7c108L,0xd52c4ba48aedf964L,
  103703. 0x8b7ea74c64626574L,0x932ea2a11b2b87f5L,0x0000000000000164L } },
  103704. /* 53 << 455 */
  103705. { { 0x9ff3327685f612fdL,0xdf4f0b6dc3c52e70L,0xa1a1e4a964bb28a6L,
  103706. 0x36d03f2ef1d7d1c3L,0x713fb6f44ae93407L,0x0c2663100ec30593L,
  103707. 0x66aca9e329b5d9c3L,0x7d37a8fc0a1def97L,0x000000000000000cL },
  103708. { 0x98796288fb425696L,0xff1a6d29cfefe3a4L,0xcfa5943801fd64baL,
  103709. 0x6a4024ce28438b13L,0x7f2c7ef6301c73c1L,0x5157f61082d44729L,
  103710. 0x9cba0eb974e95fbaL,0x2af6f3c9da31cc7eL,0x0000000000000164L } },
  103711. /* 54 << 455 */
  103712. { { 0xff6f5774e9c6175cL,0xb2021f132c173fc7L,0xc83a71f46216e5f5L,
  103713. 0x92cdfd754c193206L,0xde732cde4d22b91bL,0x4cc370e5d7a01b58L,
  103714. 0xbfa177b448ea185eL,0xbf12228870f5f0acL,0x000000000000017bL },
  103715. { 0xd724f42f8316c8efL,0x6905c0c0ac459200L,0xab0cbe91dbc7be67L,
  103716. 0xf06b9cbae5fef79aL,0xd7a0f1a2cb237962L,0xf69b237bb47d05aeL,
  103717. 0x8a81d536c2c53527L,0x51225080b0f26302L,0x00000000000001d5L } },
  103718. /* 55 << 455 */
  103719. { { 0xfea9cc0820d402a1L,0x509a70ebc76080f2L,0x7580e94558aa7d0fL,
  103720. 0x6471e00c8d610043L,0xf7c55c9f0fb867ecL,0x7d6d03dd6b89866dL,
  103721. 0x3fc18d3420c4eff8L,0xe3dbea145d1d2313L,0x0000000000000179L },
  103722. { 0xb2c10b3c736797f4L,0x9c095e9dd5fb62feL,0x743ddb07edfd0c2eL,
  103723. 0xa8800366fa8d5851L,0x29347e8eb6cfa213L,0x42ad89046c7c633dL,
  103724. 0xed00235329db442aL,0xad54d66623a2dc5bL,0x000000000000003aL } },
  103725. /* 56 << 455 */
  103726. { { 0x2ebae39103bd7a6fL,0x13ff72a0140373b3L,0xa5b141a530872b9cL,
  103727. 0x61ac67b5d9c814ceL,0x6e6ab6920438b9b0L,0x6f4aa29364f88c78L,
  103728. 0x72d11944e9552beeL,0x7d9f109277e33318L,0x0000000000000054L },
  103729. { 0x1c5268b29acfdd22L,0x228c8fc024fac5bbL,0x016752ec0ec7ed62L,
  103730. 0xd8ef13a7b5a87ec9L,0x9bc2ae729b4b08cbL,0xd893fd89557487eeL,
  103731. 0xafa93167c5392bc1L,0xd9c4fb99ab6145d8L,0x000000000000005eL } },
  103732. /* 57 << 455 */
  103733. { { 0x1149336e72ac95d1L,0x4c91f13b36a6036bL,0x225902f97996e931L,
  103734. 0xc909dad12d1a49cbL,0xa04dd8823e602465L,0xaa74cf8f81ad983bL,
  103735. 0x763f241dc0602498L,0x01e44d072ee437faL,0x00000000000000a4L },
  103736. { 0xb3db828d8f95d8d9L,0xe9b27a3e4450b812L,0x52d0967e11b19723L,
  103737. 0xbd50c86ce35c5c80L,0xdb536850b0b1f3efL,0xf5ac19c371efd402L,
  103738. 0x54bef49e59cd819bL,0x290ad09a7465ee11L,0x0000000000000082L } },
  103739. /* 58 << 455 */
  103740. { { 0x8c81d20117796415L,0x96df8961a41a5c87L,0x2f683ed593038a8eL,
  103741. 0x716a79c9ed5e731fL,0xe68ef96066ac1e81L,0xc9bebccec524da56L,
  103742. 0xf4b5d4a9177bbe84L,0x6ce36c9ce6186b68L,0x000000000000014eL },
  103743. { 0x161dc2e2883dff67L,0x51307f27eb431a89L,0xde5d4eb546e62c45L,
  103744. 0x8fe6dd46e534d7ccL,0x36425cca2c53c201L,0x415b963968c204e7L,
  103745. 0x89e7bdcd9f23732dL,0xfe64f5cfe68f1042L,0x0000000000000173L } },
  103746. /* 59 << 455 */
  103747. { { 0x5435603769b30790L,0x51ed00912f5b77d6L,0x6b54b15b131a7282L,
  103748. 0x211ad378cbd36a8cL,0x34c16f4bed3eecbbL,0xc24f076bd9171627L,
  103749. 0xd886847908657939L,0x244ec1baafebdba7L,0x0000000000000192L },
  103750. { 0x1b800e47fd724355L,0xcaa24c65dcc4bcf3L,0xeaa8571a7e3df4ecL,
  103751. 0x2dcdbb0c5958fc6eL,0x2b1576b4cdd587e0L,0xf4e38c6cf3704941L,
  103752. 0xe8e9bc2cc74de3a0L,0xd8594532fa4c5a2dL,0x00000000000000c7L } },
  103753. /* 60 << 455 */
  103754. { { 0x1a2de621d3f97283L,0x6490069191ca7921L,0x8ccc97d8fc69ccc1L,
  103755. 0xae42e47f82a38371L,0x6903459a7e1d913eL,0x195ce6e4a78938d8L,
  103756. 0x166416eb2712a0d2L,0xfc643243186b4b06L,0x000000000000019bL },
  103757. { 0xd54ca42aeee3a04dL,0x2d541413d5efca8eL,0x49115fe689fbe015L,
  103758. 0xbf27d2678dd0851dL,0xbe50e034bc0281a7L,0x3f4e7ff1ca2d692dL,
  103759. 0xd14dce191ca3c7b1L,0x27f9941a395f0b98L,0x00000000000001b4L } },
  103760. /* 61 << 455 */
  103761. { { 0xeef667b0e59502baL,0x7004ebb230c2dc42L,0x7dde5dc19816002fL,
  103762. 0xcabedadd130cdbe2L,0xd3e313886b61a332L,0x9361770331e77c39L,
  103763. 0xe152f854d2e9a54cL,0xf692b0e0409b7761L,0x000000000000006bL },
  103764. { 0xcdf2a769675db132L,0x9cf60fb4c021c4b5L,0x85ae29ccc6f8ab53L,
  103765. 0x3f2604555d8ba929L,0xf12440613a526ab4L,0x07f6786582d7e4a0L,
  103766. 0x1ee6dc4a196b3b01L,0x63d990fbfe1ddb4fL,0x00000000000000a2L } },
  103767. /* 62 << 455 */
  103768. { { 0x1582b86eb4498ac2L,0xf11f80e2ee605f5fL,0xb7c8dc4e60dcd7f9L,
  103769. 0x2a06825b4b80356fL,0x41bb0da77e959943L,0xc0d5e398b4590db2L,
  103770. 0xcb3232f28756eab9L,0x9d4ceef76e88c536L,0x00000000000001e5L },
  103771. { 0x73935b8f4dcbc4afL,0x5695ec670d9f27f0L,0x53a03172d530386bL,
  103772. 0x51b1e293a6e98f81L,0x1ad5c0e0dc3e5b39L,0xa5414a2128acb62bL,
  103773. 0x96a450f791d1f852L,0x398f2a08aa5db342L,0x000000000000014bL } },
  103774. /* 63 << 455 */
  103775. { { 0x25e1f974e7957ba7L,0x2926ba4a36f165afL,0x92eada47e14be343L,
  103776. 0xc7acd9f7d2eb5160L,0xf2f1c7004a2f58e3L,0x991e3726c2d83bf9L,
  103777. 0x3526d6bb8b367f2aL,0xad87a25e2365148fL,0x000000000000010aL },
  103778. { 0x04bb40a8f2902a8cL,0x69316b4a004e47eeL,0xaf8f683e1259c9dbL,
  103779. 0x36f36eff9ce6b2c9L,0x061325ecb4327f6fL,0x4d8a6a22ba5f20a6L,
  103780. 0x7ac29df33e3eab51L,0x0cb65295d4063ef3L,0x000000000000009dL } },
  103781. /* 64 << 455 */
  103782. { { 0x8a3e381ccdcd741bL,0x2c5acc0b14e8f964L,0x209d040429621441L,
  103783. 0xd27a65cb2995c3b4L,0x3a776ff06ec13968L,0xa2d95ca7db4f8a0bL,
  103784. 0xfdbc547d6c04ea3bL,0x30ba75a8db40f58cL,0x00000000000001adL },
  103785. { 0xf6406a6b84115d90L,0x7d2e26ac0f228b65L,0x1e17672b9029a8abL,
  103786. 0xeaa84d813ecf05fbL,0x9e16e91db5f5b798L,0x7287dbd5e978749dL,
  103787. 0x85880f457fe092aaL,0x80b3126c514afdcaL,0x00000000000000e0L } },
  103788. /* 0 << 462 */
  103789. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  103790. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  103791. /* 1 << 462 */
  103792. { { 0xadbf4f9faf2ed12fL,0xce1d19e4f380fd8aL,0x0957bdb5a39e81aeL,
  103793. 0xf9833321626ef6bcL,0x110ae5ea0cf5b28dL,0xab15945020392cd4L,
  103794. 0x67c498876bc67855L,0xce7e5938a3fd61c6L,0x000000000000004aL },
  103795. { 0x59c5b9ef28c7dea9L,0xd02f95ba0a6a7184L,0x034dc2578202769cL,
  103796. 0x213b0b0894dd6896L,0x03730b7fb5dea95aL,0xfe243ed0617ca889L,
  103797. 0x16cf4d17fb1ba052L,0xd8691d6b226f96daL,0x00000000000001c0L } },
  103798. /* 2 << 462 */
  103799. { { 0x15a257c527a668abL,0xa437f499c920d8dfL,0x297b6764d4cd271aL,
  103800. 0xcbedd33b87ce8d52L,0x4ab3b76110385c75L,0xca68612323436b58L,
  103801. 0x44d5a94d8d52f4e5L,0xd125e021605bba0eL,0x000000000000001eL },
  103802. { 0x578cd28335e40c74L,0x898f4684244ea58eL,0x158ae785154fc334L,
  103803. 0x466c1c29d8d62231L,0xef781790c48b1013L,0x7a902e83c3253275L,
  103804. 0xd0aab751b1aeae85L,0x89248d120ecd9b0eL,0x00000000000000e7L } },
  103805. /* 3 << 462 */
  103806. { { 0x92e5bc5c8c7671dcL,0x0eda1a20215e6b5fL,0x158462923104e97dL,
  103807. 0xd0513d5868bfd00cL,0x3439d9cdbd88796aL,0xb3d0c7919ec37b3dL,
  103808. 0x8e0ac88900c49d4fL,0x3ee90cb4441e1f08L,0x0000000000000079L },
  103809. { 0x24c36d60fe7e66eeL,0xff0aae245f990abbL,0x78308e0d041b19c4L,
  103810. 0xecaa1b05c7ed7c0eL,0xd1d45e1cd86c1272L,0xff74e3e91b7ddd34L,
  103811. 0x17b6d9984948d333L,0x1d2c2bae12ead07aL,0x00000000000000c2L } },
  103812. /* 4 << 462 */
  103813. { { 0xe12d8922cd5f918fL,0xec7c176349f73f1bL,0xcc5a3a14c744eb3dL,
  103814. 0x2b96f342782dbda1L,0x87284905ab68dde4L,0x647354b9e720668aL,
  103815. 0xe07da694739c4393L,0xbae499bf2cc145f9L,0x00000000000001aeL },
  103816. { 0x74eeeaa477c16db0L,0x297624e8eb22ce92L,0x9d3944bc45098c91L,
  103817. 0x6ff31fa0fa4dc50cL,0x3c7fb6dacc40c211L,0x74d95dec96b4cd1cL,
  103818. 0x829423dba6388941L,0xaa2b7d45fc3123b5L,0x0000000000000119L } },
  103819. /* 5 << 462 */
  103820. { { 0x90a1a0ec3f49a005L,0xacb7506b94508ef3L,0x3e44866b8af044beL,
  103821. 0x00240490deda67cdL,0x88a83372b773399aL,0x84c5c9ab2969b007L,
  103822. 0x9fab80da8cc3eb59L,0x55b3ceef0472347bL,0x00000000000001b7L },
  103823. { 0x886acce0c83ffd24L,0xcba2aa08a61f2f61L,0xf4ff7cecbc7ab151L,
  103824. 0xc825c0ae23a23bb1L,0x4bbe707cd3b316b7L,0xcab4a987ca9bbd00L,
  103825. 0x4cb9d017a4741041L,0x3e5014b4718db768L,0x00000000000000b1L } },
  103826. /* 6 << 462 */
  103827. { { 0x3f614850400ed29aL,0x6ff097c0d252cdb3L,0xafbeb6cb589c3201L,
  103828. 0x0f900ae78d3782d5L,0x69902554ce4bfee8L,0x91d1ce3e51965228L,
  103829. 0x61c93b4ae8630088L,0x066dbdd793d1c0beL,0x00000000000001adL },
  103830. { 0xf65ac289fc255d76L,0x1ad9d35d122e0cd0L,0x3b29d3fe4f08dde9L,
  103831. 0xa1a3a083d1829c0eL,0xc7500da1469b3ce2L,0x8cba6c9931ea259dL,
  103832. 0x6724d90dc78af820L,0x0be3b075170d6e15L,0x00000000000000dfL } },
  103833. /* 7 << 462 */
  103834. { { 0x108c69d8ffdb2cdfL,0x95008e039022f9dcL,0x9206904662c29258L,
  103835. 0xc388264486233b0bL,0x79862fb5f196c059L,0xe47b071f515c7d8bL,
  103836. 0x019d7c9a96ef0fb7L,0xef99e754d21aa1a0L,0x0000000000000068L },
  103837. { 0xfb114e4348013bcfL,0xd510664864739742L,0x4a4f811b623625f2L,
  103838. 0x7f36f16b9c64ea5fL,0xe829e645bd173948L,0xfde730475af3200aL,
  103839. 0x8bbe62cffc337d06L,0x98549a55c985b1aeL,0x00000000000001b7L } },
  103840. /* 8 << 462 */
  103841. { { 0x404216db33849ba6L,0x7979ab027b42813fL,0xb0cabf29117e27aaL,
  103842. 0x3e449cb65a0ab76dL,0x34efba77460b6964L,0x7553e0a66fead00bL,
  103843. 0x8ac8857116963cf0L,0x01716cbe017ad9d1L,0x00000000000001f8L },
  103844. { 0x30cfe5c1d21fbd36L,0xc7a0e466df1fe3b4L,0xca38fd1cc8ea2c29L,
  103845. 0xde2e20394e54630fL,0x3b152ec3885b124fL,0x704a1d76d39818c8L,
  103846. 0x0e74a9825207d2c2L,0x2b2dc7c8ec4d71a5L,0x00000000000001f8L } },
  103847. /* 9 << 462 */
  103848. { { 0x4e5c2656a20ee12dL,0xc4beb2bbf38239bdL,0x8911466401e32b71L,
  103849. 0x9282668c52808f4bL,0x99825c89586715f7L,0x73e4d0b0f6760accL,
  103850. 0xf24743d27956e8dbL,0x219289ab9074bb3bL,0x0000000000000147L },
  103851. { 0x0ce42484e18d70c0L,0x865b0a12ed9a8b42L,0xe9e2c3a206e2060dL,
  103852. 0x11ad93e462d02433L,0xf9faceca382d0deaL,0x13fdae7bc2f70442L,
  103853. 0xd5ecf82693862d21L,0x3286fd7361440676L,0x00000000000000d1L } },
  103854. /* 10 << 462 */
  103855. { { 0x9059c13b115d7186L,0x42c5cbffaee2253fL,0xb326c80627914590L,
  103856. 0xd78cd2604c197c2eL,0x076b4d3c84d14e78L,0xc75fba4cbe666d35L,
  103857. 0xe564935922126692L,0x62773e9a1d415c9aL,0x0000000000000144L },
  103858. { 0x39518f5ffba49366L,0x15a2865a6a82670eL,0xe6e08537e05bc13fL,
  103859. 0xd69de2c00bf3f3a0L,0x75096c76d362830eL,0xf3744a2e0177a66aL,
  103860. 0x3de2a9ddc9baf0e6L,0x3c0f980fb6d810d5L,0x00000000000001b4L } },
  103861. /* 11 << 462 */
  103862. { { 0xcc94284db189ddb8L,0xb485dd3e810cb5b3L,0x7962589cac622d13L,
  103863. 0x66d67d6807da5abfL,0x159b0de064fac523L,0xfb87c9e036ee4172L,
  103864. 0x8efdd2605f67a45cL,0x967626223addee84L,0x0000000000000185L },
  103865. { 0x612588e0207d2d04L,0xfcea78b33a859390L,0x73e90526997cba0eL,
  103866. 0x805d7844afdcc542L,0xc3f76999e81e478bL,0x9cdebd300a4966e3L,
  103867. 0xbf267a7251a2070aL,0x36c52bf4cd0f0a22L,0x000000000000006dL } },
  103868. /* 12 << 462 */
  103869. { { 0x01ef33cf16e0f612L,0xbccc51c3eeb7a33dL,0xcc35c1e346a12c50L,
  103870. 0xd2151223b915b370L,0xb03030143aff625fL,0xb7e34e67b76ed5c4L,
  103871. 0xd5b48e2210b988f7L,0x5edada0557f1882fL,0x00000000000001eeL },
  103872. { 0x70919a6126a93c88L,0x2729baf111491a74L,0x895470b5541b2e39L,
  103873. 0x88e52a03c85fef39L,0x605d48085b35ad5aL,0x3203783c87561036L,
  103874. 0xac1c8568546e9de2L,0x61c5703c62d3bc75L,0x0000000000000192L } },
  103875. /* 13 << 462 */
  103876. { { 0x0f55f94ed641f8ddL,0xb2dec9ebc1daf64eL,0x5bcf6cb3f70c3974L,
  103877. 0xc0e4304c24e93de0L,0xf3d5cea7b59b116dL,0x34a1d943e9dfdb47L,
  103878. 0x908d0e134f9d468aL,0x52b536cb61c837e5L,0x00000000000000d2L },
  103879. { 0xff2678be174d1c4dL,0x952da2e880b4eb5cL,0x474b27b13e739143L,
  103880. 0xfc9871cd70a02e7eL,0xcfd72308c6d5fbdaL,0x0a9812e6ecee2813L,
  103881. 0x1461ce73b4f29fc9L,0x2f643e82c08cc647L,0x0000000000000131L } },
  103882. /* 14 << 462 */
  103883. { { 0xc1ab1a2af439f3f8L,0xc1aaac5405a1ec00L,0x5df5d950abab5451L,
  103884. 0x13114abf23f29c1fL,0x0cdd9aade17cf9b0L,0xd16efb64b78fcf8cL,
  103885. 0x9fd47a7ac0d274b0L,0x9bab71c2fa1da55cL,0x0000000000000095L },
  103886. { 0xdccdab46293e406aL,0x40e3b0cc310ece4dL,0xd18c09e52463ace2L,
  103887. 0x65122363364dc7ffL,0x77fc1848657b65f0L,0x422392cfc4011670L,
  103888. 0x382cd9ee2bb61fa4L,0xdcb156d14558bb3eL,0x000000000000003bL } },
  103889. /* 15 << 462 */
  103890. { { 0x8e96bef0dccad82aL,0x0ff19a8e4919f552L,0x9dd5e116498d3dc5L,
  103891. 0x5d25b8a36173057dL,0xdbef9c9586f15c1aL,0x445d807d6f12eaa2L,
  103892. 0xe494386943108eceL,0x5736908d88b2f68eL,0x00000000000001eaL },
  103893. { 0x9757f44fbc6b53c9L,0x61faaf06c2072e4eL,0x9fba7b4bd5ac4681L,
  103894. 0x130e8e184ecba083L,0x9c12e614b297edbfL,0x746c82a360efb65eL,
  103895. 0xb42ca8c31cfe64c2L,0xaabb762ffac5abb1L,0x00000000000001b7L } },
  103896. /* 16 << 462 */
  103897. { { 0x493d8a3fce43380aL,0x27d1657b1511e823L,0xf09125a7e6112eceL,
  103898. 0xafd3f48218c2ddc1L,0xc1207ac1602ab092L,0x22fdfe83f80fe3f9L,
  103899. 0x736ad27ff479c304L,0xd1fc1905784ca960L,0x000000000000008fL },
  103900. { 0xe87798d27fb35409L,0x86b0257161cffd40L,0x12d991f963058303L,
  103901. 0xef9e933e033f10c9L,0x8221774cb298a118L,0x95dcfd1080dc2858L,
  103902. 0x83747d7168bfaa1fL,0x03567035a213129bL,0x00000000000001dcL } },
  103903. /* 17 << 462 */
  103904. { { 0xeeaaf96644dfbf9bL,0x86df2b8af44c56c0L,0x2bf28ec1976c6682L,
  103905. 0x50c5528dcb7a8ff3L,0xcf2be4a643420ec8L,0x4c214e8984341eedL,
  103906. 0x7b65e1aa232ab304L,0x02622feebbffdf3aL,0x0000000000000077L },
  103907. { 0x907131fff1637afdL,0x51693f9b107885e0L,0x7035ec8c41aee9aeL,
  103908. 0xa45531d5f94a191fL,0xf3556642188aa104L,0x58aee7a7d7992ed8L,
  103909. 0xc1bde242750e9e10L,0xa2bee7d8b6ac4e78L,0x00000000000000edL } },
  103910. /* 18 << 462 */
  103911. { { 0x7ff30e30b92acd78L,0xf64e2e1e397f204eL,0x85ceca93595a69aeL,
  103912. 0x82d987dd4dfec414L,0x41e53688f2448e97L,0x9024642e5a064c46L,
  103913. 0x706066f5e60807e3L,0xa8743118e8cea80aL,0x0000000000000167L },
  103914. { 0x3a88f81b112ee142L,0x1d43947513e86304L,0x73ce796df75c9d7fL,
  103915. 0xfa5edc926cc4a9ddL,0x2b1bbc20981ed026L,0xb632ae87c6a7a48cL,
  103916. 0x27425c2d622960f3L,0x4501465610fc0860L,0x0000000000000072L } },
  103917. /* 19 << 462 */
  103918. { { 0xd10883102f412cedL,0xeafe72656e718a1cL,0xb632786f6f5a00a5L,
  103919. 0xfb0909685048cf77L,0xf80eaeceeb8fc82fL,0x3a6ecdf3610279c9L,
  103920. 0xefa7c7b42855c157L,0x46a8af036abf4d8eL,0x000000000000011fL },
  103921. { 0x492ffe9726805929L,0x1619613e41e559e7L,0x97e9a4f38e33bd9aL,
  103922. 0x9ad49693091798d5L,0x356bebd74653b12cL,0xfcc7f27e9fcfd552L,
  103923. 0x5ed9331c742cd38dL,0x1645ed1198af87e3L,0x0000000000000088L } },
  103924. /* 20 << 462 */
  103925. { { 0x15aea420d5ac5d48L,0x6e11bf30178c5a77L,0x01f1180d2651dee6L,
  103926. 0xd7602ed459e7a8f6L,0x5d3ec901de3746deL,0x314d1580e2400304L,
  103927. 0x08f8259265f15588L,0x22e8ff88d9ffe64cL,0x00000000000001d2L },
  103928. { 0xf3f23abc99e0f136L,0xef5d94840f1ae78cL,0x616e957ff6e34ca1L,
  103929. 0xe2e237b080b7054aL,0x7987761592baa214L,0xcd321299dd291296L,
  103930. 0xf9b74adb20d8bcf6L,0xefcf323631661404L,0x00000000000000e6L } },
  103931. /* 21 << 462 */
  103932. { { 0x91e0a5c0c94fba83L,0x367b5806dc42c01fL,0xe88e6ae4b4373ef2L,
  103933. 0x3f51875cd7874231L,0xcfcb6890f984b4a4L,0x8da4e461d4276ba2L,
  103934. 0xe47110934f261c73L,0xf8e578b314cbc501L,0x000000000000005bL },
  103935. { 0xea568d5507f17331L,0x4a2e61fe70a5e9ceL,0x1df72d8e970cba01L,
  103936. 0xd03d5d92c8f4777aL,0xde53ef7f2e2d88f7L,0x32e0862d4fab2632L,
  103937. 0xbd0feb3e82194583L,0x2f2def128b4b82d7L,0x000000000000004eL } },
  103938. /* 22 << 462 */
  103939. { { 0xba8ee1394fa0962aL,0x0f568c5be733014eL,0x5a16b363ffb66b9fL,
  103940. 0xcf83600ddb746ec8L,0xaa67a3d2e6bc9390L,0x801fa15f8930fcddL,
  103941. 0xfb374cf0005c0eafL,0x66552348ffad00ebL,0x000000000000006eL },
  103942. { 0xb8529088874d7ed9L,0x64a7e8e0843ddc7aL,0x26a9496205980ec7L,
  103943. 0x6e219d44341b4fa3L,0xe07b2068161ef467L,0xe6d89d6d3e504a9aL,
  103944. 0xf473ae9c290f40dbL,0x250a539ef51dcc67L,0x0000000000000018L } },
  103945. /* 23 << 462 */
  103946. { { 0x8f3d851cbc598deaL,0x95c3f4fb968d82cdL,0xb406ff2f644e4030L,
  103947. 0x8b084b6cfb0c34c7L,0x978c1241d9b9337cL,0xdd156dc3d2d630b2L,
  103948. 0x976b5a2df1795879L,0x5a188835753b7f8eL,0x000000000000013aL },
  103949. { 0xeb5df8ff0100cfd2L,0xbf96012da14b7ddeL,0x9228c2c593a9a2f4L,
  103950. 0x66ea58ffc695a320L,0x5c370488bebf78ceL,0x14c0ab834750ca0bL,
  103951. 0x0beb6f8e8fc91786L,0x714eb7802291fce2L,0x00000000000001eeL } },
  103952. /* 24 << 462 */
  103953. { { 0xeaa89410f084380fL,0x9491f70e458ab9e4L,0x6b6772051d8ec684L,
  103954. 0x1a9fc7951ef7e9edL,0xc47e84efb05c41efL,0xee377f78c6014e09L,
  103955. 0x91d14a75521171ebL,0x1b11fbbc32361217L,0x0000000000000111L },
  103956. { 0xf789cc6ba63bc7a1L,0xbbd74f359393b5cbL,0xb43ff6170bb024a4L,
  103957. 0x73800410a844508cL,0x93a28632c5468780L,0xc96c62e52aefa8c1L,
  103958. 0xa500ce0b7df9b61fL,0xb59527f2369f304aL,0x0000000000000172L } },
  103959. /* 25 << 462 */
  103960. { { 0x8674334a8ccadedfL,0x2d016c2b11f6012aL,0x4ec4ee5ac3a12902L,
  103961. 0x26217299b221e73bL,0xdf28bb47a5f9357aL,0x3676902cba35c37bL,
  103962. 0x90e2f3cd24232740L,0xa30b34e8d62d95beL,0x00000000000000bdL },
  103963. { 0x1671d5affeef8af1L,0xbcd9d2aa4c3a31f3L,0xa38ec0bab0adaed1L,
  103964. 0xa2cf817f0bd7172dL,0xa30940a00f887402L,0xba1b3af828713fe4L,
  103965. 0xb837467dd1b89a24L,0x13361a345c6d8b94L,0x0000000000000103L } },
  103966. /* 26 << 462 */
  103967. { { 0x3f3f51f3dc8fbec3L,0xe7b0c2ea83a6a2b8L,0xcbf7b399a2b70075L,
  103968. 0x74e2302823ca18faL,0x0c1600f1e46c6cddL,0x5434852363af7990L,
  103969. 0x10506b67950245b6L,0x9d277adb7ecb14fdL,0x00000000000000dfL },
  103970. { 0x9f8cd4536be91611L,0x362a07d783e99454L,0x9e89aa5e1065da40L,
  103971. 0xf7f67219c5087c27L,0x1a0dd1c0a36553f4L,0xcb8da38dfbbc5aaaL,
  103972. 0xd43603bfe8784073L,0x9354aa7e0acbeb25L,0x00000000000000fcL } },
  103973. /* 27 << 462 */
  103974. { { 0xa7f369b6a543148bL,0x08eb19b28b24443fL,0xca61b0501b1d7de5L,
  103975. 0xa17e2e434d630122L,0x77ece0be0b065578L,0x85337244b4997376L,
  103976. 0xac8d2abab970ee48L,0x724afcfed85c9efdL,0x00000000000000a2L },
  103977. { 0xaba323225c2cb2b7L,0x63f1f3f64757f00fL,0xf1be3eff90e18446L,
  103978. 0x3e5a2a9a9a238a61L,0xfbb3e075a135b254L,0x7187eb847361e1e6L,
  103979. 0x340db506c881addfL,0xcb356eac5468e658L,0x00000000000000b0L } },
  103980. /* 28 << 462 */
  103981. { { 0x68b81be9052d2ea5L,0xeadfb53105294d6eL,0xcd41f773a3258647L,
  103982. 0xf6b1c867d70fd9d0L,0x9a89cc017be523e7L,0x2499d793487ebf56L,
  103983. 0xc82cefe8c0d072a2L,0x91c2bfbbe82cb4f8L,0x0000000000000105L },
  103984. { 0xd705cf5a6705dce5L,0xfcbe204e4462a67cL,0x5e198bc3430d627fL,
  103985. 0xe13da562e765991fL,0xb6cfca287032c5f8L,0x0868d9ab1783308aL,
  103986. 0xc5b628c6c8050c8cL,0x243e2ec13a93a8deL,0x0000000000000139L } },
  103987. /* 29 << 462 */
  103988. { { 0x98d6256c20245960L,0x457d105137b7415aL,0x0cb5d0dc767184c0L,
  103989. 0x8652a67b5bde6afaL,0x42679642e838bb0dL,0x0b577bc7178558efL,
  103990. 0x1e03da5c14212285L,0xa591ff706f6c2a33L,0x0000000000000031L },
  103991. { 0x49a0d6f9f68489d7L,0x87763a7005cbcc01L,0x7843af2c848170ceL,
  103992. 0x9f7c25bea45226c2L,0xfe56752466707eecL,0xea029f2f0db1412aL,
  103993. 0x4f2c2e5d93a8d4f9L,0x405015ba0b3b9910L,0x000000000000013bL } },
  103994. /* 30 << 462 */
  103995. { { 0xa4dcc51572a88c35L,0x132016d41a8ac7d6L,0x65acb09f7a272350L,
  103996. 0xc77cc6401ff191caL,0x3fa4c8e460673588L,0x4770229b646a14f3L,
  103997. 0x8dbfb85fd19872edL,0x0fade56dd7f01b99L,0x000000000000019aL },
  103998. { 0xbd59629410a943ffL,0x74b893733857ba32L,0xd22c2856fc1ff38aL,
  103999. 0xa8f2aa31b1c6c561L,0x033a7f8b5d322178L,0x3efb1ee6a075bde1L,
  104000. 0xd9ff5d90aff85287L,0x1c909307f8075ebfL,0x00000000000001e8L } },
  104001. /* 31 << 462 */
  104002. { { 0xd8e925414f766448L,0x06618fed856b424eL,0x25293a2cc4774117L,
  104003. 0x0fe866dedcd89015L,0xd06fe1e1625164bdL,0xa5be1bcaca21865fL,
  104004. 0xa15048438449a87dL,0x1342fd55911a905dL,0x0000000000000069L },
  104005. { 0xf90da038d98d58c1L,0x69444f7f114e147cL,0x42211c1da866632cL,
  104006. 0x78828291b657d2c1L,0x014c0cb987bb87f0L,0xed3d697194d14553L,
  104007. 0x5b9df642dbbedc15L,0xcb94c1f3ff65dc9bL,0x00000000000001dbL } },
  104008. /* 32 << 462 */
  104009. { { 0x461c1512910f4978L,0x8ca7f0dd63d2ec28L,0xda9297d2607ce3c5L,
  104010. 0x592ba13f81bb2dbbL,0x157d4ac7f740c331L,0x1d5311e782c49ae7L,
  104011. 0x5c3046713bec9a94L,0xd81fa25b0a23ab8dL,0x00000000000001eeL },
  104012. { 0x6d8c6efaf51614ffL,0x20cfd353868b4fbcL,0x9b9dba152201aac2L,
  104013. 0x6bbd8ded8d1900d7L,0x6ca3e71afa946925L,0x7381e45aa0c3735aL,
  104014. 0xcd9db7a2b93d4feeL,0xae40115145bdce69L,0x00000000000001bbL } },
  104015. /* 33 << 462 */
  104016. { { 0xa6dbe971dda4b355L,0x8f07b76adbb73b5aL,0x1aa44431454114d1L,
  104017. 0xbc540435c1036c8cL,0x79b688ef916b6533L,0x47a020d49bf029e2L,
  104018. 0xa669d577c093a75cL,0x734c102c6a6c09b3L,0x0000000000000184L },
  104019. { 0xc90106c15b9211b4L,0xf076663eef5e999bL,0x50143616d8aaa415L,
  104020. 0x62e33d915dfa07afL,0xd0bbb32724d176b2L,0x091bb80a291db76fL,
  104021. 0xddfe277c8c809e75L,0x4c890027e3160b27L,0x0000000000000063L } },
  104022. /* 34 << 462 */
  104023. { { 0x30f1ef52ad35c0c9L,0x612892843c67bce8L,0x139970fcd128fe01L,
  104024. 0xf5b1d3cf33cc222fL,0x972e134b9547e5eeL,0x5d32f64d19aecc5aL,
  104025. 0x5172742be7c61b95L,0xd64abb911323f811L,0x000000000000005cL },
  104026. { 0x16463fb98f92a5bbL,0xd32f5194b1fc0a53L,0xf36b396b4bfefde2L,
  104027. 0x83eec78ac9f4aa74L,0x1e4f3f25af333f1bL,0xc5f9a8710407544eL,
  104028. 0xe2268d05367d93f1L,0x6634b2c450c02febL,0x00000000000000a6L } },
  104029. /* 35 << 462 */
  104030. { { 0x4dab3300137a409aL,0x045e43dd13a206c0L,0xea9f0e00a76a7c9cL,
  104031. 0xcdddc2b562c647a7L,0xaf673bf31d6f043dL,0x7d16a2d372adb549L,
  104032. 0xe25427e8edd38a7fL,0x090e5b177a9e105aL,0x000000000000010fL },
  104033. { 0x2f64bf1100d25195L,0x6439c231eed4846dL,0xad6c59f7318ab661L,
  104034. 0xb9883d0585cb9b6cL,0x646d32e70d3f1dfaL,0x8165416abd4a686eL,
  104035. 0x4b7f45101d638a74L,0x4d3d143be8dae5c7L,0x0000000000000094L } },
  104036. /* 36 << 462 */
  104037. { { 0xb20d7fef01dd7411L,0x9f9a104047aa41c0L,0x37677f41aaedbfb3L,
  104038. 0xe3e23e4722350c64L,0x93964e8a30ff0ceaL,0x956a88124b5b4758L,
  104039. 0x6bad595e7552aff2L,0x0de81b3d2b93308bL,0x0000000000000199L },
  104040. { 0x64899c662f0bd592L,0x41616275f3969762L,0x8cfc9ddac434793aL,
  104041. 0xeeeba2d4cdf048f3L,0x6f2d05b12b87e0c5L,0x1abf46121bf8117bL,
  104042. 0x674deca6b630a10aL,0x061cca5779acde0dL,0x000000000000006eL } },
  104043. /* 37 << 462 */
  104044. { { 0xbf73223a615df738L,0xb0f9d8e26e8ee169L,0x7f7aaed7a4f7f685L,
  104045. 0x7e16553a207bca3dL,0x29893c7c9342b6dfL,0x6a4b16aa6e7f48e4L,
  104046. 0x4ea7fa828eb3893eL,0x53e4146d6dc5de8aL,0x000000000000004bL },
  104047. { 0x51549c3a9eceaebcL,0xf7484acb280d64edL,0xa5a7b9319947daccL,
  104048. 0x949b17ca4b59849aL,0x52689f53bd033b58L,0x23696fa3f648f6d2L,
  104049. 0x1081e1fb55ab3259L,0xb240a833ece6561aL,0x00000000000001f2L } },
  104050. /* 38 << 462 */
  104051. { { 0x000b7bdfb3e1b3beL,0x612d3ff2b5bc3fb2L,0xa3d0960b093edcadL,
  104052. 0x3b256f3bb671e1faL,0x97c8e0f576a1f2faL,0x7ed1db11a5c9641aL,
  104053. 0xb46ccc7d006051bcL,0x932c2d1a403a21c8L,0x0000000000000063L },
  104054. { 0x81a9d8e2ad21fcacL,0x1a1ad119061dc386L,0x1cfdb59dd2c66b25L,
  104055. 0x80a2f73d5b1d3223L,0xd214b239a132a94aL,0xfd263d6816369c47L,
  104056. 0x511bfed818c54c13L,0xdb57736c68a9b65cL,0x0000000000000044L } },
  104057. /* 39 << 462 */
  104058. { { 0x254c45f5fc8a16bfL,0x0998c4a73e0e13feL,0x3678d827444e685fL,
  104059. 0x7e81038b391118bbL,0x1b49935aa752e752L,0x3c3d9ce4e799cad9L,
  104060. 0xed9bc30f2b1b2569L,0x8e4faddb0dd293c2L,0x00000000000001f0L },
  104061. { 0xf6d16e3934933756L,0x5949198eab748e09L,0x5e5accbad4b3d3fcL,
  104062. 0xa96f70b6f0177d5fL,0x226abfa1a0e50e79L,0x8ea06e063323f2adL,
  104063. 0xb05b8c59c31da2faL,0x7cd44db8c6e09ee3L,0x0000000000000135L } },
  104064. /* 40 << 462 */
  104065. { { 0x19f565b51420debdL,0x9a19ab6e5291fe77L,0xd729fff2b428ae74L,
  104066. 0xe237994c6d8256beL,0xb74f543cd93d3e98L,0xc460e7cfd599c9ffL,
  104067. 0x6bd6d31f7924ebf9L,0xad07316cceacb2b2L,0x00000000000001e6L },
  104068. { 0x1436f3231735fe0bL,0x2e13910896a8983fL,0xb18c48fc100cdb54L,
  104069. 0xd777496c81e38ca4L,0x9dbc2d4457bba02eL,0x0b5949a121c1d384L,
  104070. 0xd1cdb9b170e6d68dL,0xc6b803539621e4c9L,0x0000000000000164L } },
  104071. /* 41 << 462 */
  104072. { { 0x6da3a967d08f917eL,0x090db6a01bdb8109L,0xd087e8ad559a4ee1L,
  104073. 0x5e3104faf6af44a6L,0x15104cf52a8bbfbcL,0x5af76555ef32bd3aL,
  104074. 0x165a9153f38429cbL,0x03ff29aa3eaa52d2L,0x00000000000000a9L },
  104075. { 0xb841ae420ca5f75aL,0xd119e95ff2f4063dL,0xbe45f4d88e1dcd37L,
  104076. 0x56ca9d99446b1fe3L,0x1c796119161e7c84L,0x91b1ea75a6098a52L,
  104077. 0xa2248d4a4c94a9c7L,0x4b86cac0e9cb5d3cL,0x00000000000001e5L } },
  104078. /* 42 << 462 */
  104079. { { 0x8970aacb2a4748e7L,0x6887665163ba1e04L,0x08e1037e56a8f850L,
  104080. 0x88edd5d94a14780cL,0xf85dc5e2d01fb425L,0x41ea90dd96ebecf4L,
  104081. 0x052996e99442c9f3L,0x3ca7dddba5fcdb15L,0x0000000000000034L },
  104082. { 0xd541059044b9fc63L,0x9f546de20a523dfbL,0xe1d18513d39a6bcbL,
  104083. 0x830c4a77e61b66c3L,0xdf0da6545a4d1d7cL,0x620c1d84287aba62L,
  104084. 0xa0941743ba971acdL,0x28b96fff367a1d57L,0x0000000000000075L } },
  104085. /* 43 << 462 */
  104086. { { 0x0125e7cb3d67d593L,0x948900e272eb89e6L,0x4cf465978810287dL,
  104087. 0x086d2b5bc21c7406L,0x996874adcf082ce7L,0xb72176f2b8523d29L,
  104088. 0x6be04d3184c4a83dL,0xe407ada12517a615L,0x00000000000001deL },
  104089. { 0x35ef6a5d0d931f5fL,0x55f15fdd69c1db16L,0x43d2e66069c6bfc8L,
  104090. 0xb67513ea8993e68eL,0xd0591d864892844fL,0xc530cb5925b1216dL,
  104091. 0xbc971e9a92a1390bL,0x5ad3d777b5efa5d7L,0x00000000000000beL } },
  104092. /* 44 << 462 */
  104093. { { 0x8aa2fd3a0324bbaaL,0xfb02da2e28cb3ea1L,0x938876146493b3fdL,
  104094. 0x68c6a8a4da6d66b5L,0x31477d83222398fcL,0x9498701a98da59d1L,
  104095. 0x73eafd532bdd61a1L,0x6dea3d8cd8b1b1bcL,0x000000000000005eL },
  104096. { 0x30d3c83a929e403eL,0xffd69ca5c2c1881eL,0x36e2dd8f21383e3aL,
  104097. 0xc0702450c42cd33bL,0xdc2ba2ae01146955L,0x74ae932a3060efd3L,
  104098. 0x1f01d81b1f96136cL,0xed2a00caa434d7d4L,0x0000000000000121L } },
  104099. /* 45 << 462 */
  104100. { { 0x1aa3adde98e3be01L,0x11b63a1782d4a9a6L,0x48452f3d8f8d8fd7L,
  104101. 0xa83c3daffd794b08L,0x9cc7138f1149204eL,0xbac5f41644e190a0L,
  104102. 0x1b835e8d2533b4b8L,0x1486716a654cf4e9L,0x000000000000013fL },
  104103. { 0xbb1300a807389decL,0xf4d28849eab42f87L,0x0cbde28ea8e39949L,
  104104. 0x3837fddab7a80ec2L,0xee970327aa8141f1L,0xc204fa0442caaee8L,
  104105. 0xe516c2275a08d44fL,0x7b706f80ff20b54fL,0x000000000000017dL } },
  104106. /* 46 << 462 */
  104107. { { 0x96c595d04345853aL,0xe761a852cdbb2404L,0x2a83d0fab05cd025L,
  104108. 0x067908543d1728d6L,0x0cc868e988564b8dL,0x72a369ffe715f13bL,
  104109. 0x4a09518266b3aea0L,0xe4498f3188a89d31L,0x0000000000000186L },
  104110. { 0x669bd0b549234ea0L,0xee783a18c484a4f8L,0x1219541596adeaf0L,
  104111. 0xb1b395886a1084e2L,0x9c553221983d47a4L,0x97bd48e4e145793aL,
  104112. 0xee9bc1d4d465ffb1L,0x81a0e9d512deb77dL,0x0000000000000189L } },
  104113. /* 47 << 462 */
  104114. { { 0xff7a3b81c38382d0L,0x0e47569c54b9c17eL,0x9d9bb42f06eed152L,
  104115. 0x0f584d32ba6d6964L,0x1a73edeef6aafa41L,0x1a9ae3e5b4442b3aL,
  104116. 0xa70e0e98592269a5L,0xa91be178c77cb2f9L,0x00000000000001c1L },
  104117. { 0xcc0528718ca1e18dL,0xa2f8ec2d89bc1ec0L,0xa4f2de28a1dd1f74L,
  104118. 0x93f7e481a49289f5L,0xcedad21b51007754L,0x5b2cfc40f9df77aeL,
  104119. 0x77d5bd687e39e15eL,0xe3d5331f241cc064L,0x0000000000000195L } },
  104120. /* 48 << 462 */
  104121. { { 0x90d2dcf1251fe06aL,0x4a9e61312213edb2L,0xa86cc889db34c6beL,
  104122. 0xc7c9ef492fc20da6L,0x62831aa947aad9d8L,0xb8ef1f7f79aa0e99L,
  104123. 0x4d8254a91e016254L,0xaaeb6757c5cea077L,0x000000000000011dL },
  104124. { 0xa8f5e18502f4709bL,0x3cc2096d28f8fd0cL,0x6d384ee1bbabbcdbL,
  104125. 0xaa16805edc2fdc58L,0xd5a61658a4d13408L,0xae9c4071255c1b61L,
  104126. 0x1588a828a6436d33L,0x0e07bad24e74d1a7L,0x00000000000000c5L } },
  104127. /* 49 << 462 */
  104128. { { 0x6940796af899523eL,0x94846b1d315ec56fL,0x025781d6859d96c5L,
  104129. 0xe016820639653920L,0xf4ec2f4e51ad51d9L,0x225ee1b72ec9bcffL,
  104130. 0xdeb2e6d76317aad0L,0xcee9b056541569b7L,0x00000000000001b9L },
  104131. { 0x2c60d275d2a7a25fL,0x09200147306bb343L,0x8b3bdbf0178a2c60L,
  104132. 0x1abb7417cc0cb699L,0x50f8f8200976f08cL,0xbf142ef66273fba0L,
  104133. 0x1eea00f53268f7abL,0x141ecaa300cfd5dcL,0x000000000000003cL } },
  104134. /* 50 << 462 */
  104135. { { 0x6f522b1b2190c116L,0x77a85bf90072e3f0L,0x7bbb62f976b08b4eL,
  104136. 0xab4878bd0c4970b8L,0x758b6e91dd7752ecL,0x3979894756baec80L,
  104137. 0xc8860bb4aea97d48L,0xfc446d97154895f4L,0x00000000000001b3L },
  104138. { 0x8d8f9950072c678dL,0x3b46c8529ace0a49L,0x356b87c69f2f64c6L,
  104139. 0x2f0e47accf59cf99L,0x73c0fea460efde36L,0x64ea7c7f00aa8852L,
  104140. 0xb6f020820d9b7b8aL,0x1edc53d62f92a2a8L,0x0000000000000057L } },
  104141. /* 51 << 462 */
  104142. { { 0x8d66caaa357071a4L,0x635b07527ee00192L,0x517a6792c818c034L,
  104143. 0xf93830a391d08486L,0x1368f7b673d5b938L,0x077f9d50cb4ebfa5L,
  104144. 0x8a7855ecce5a34dfL,0xffa4063f122de424L,0x0000000000000171L },
  104145. { 0x1410dc66ab6a99feL,0xfa2c782485c80476L,0x4fa85fa6b00bd91bL,
  104146. 0x9fa465c2e83c2beaL,0x866e4cd18c657a22L,0x0c49aaa1995f77e7L,
  104147. 0xf7e5521b2b0e30c9L,0xdac4d4b507f7b749L,0x0000000000000128L } },
  104148. /* 52 << 462 */
  104149. { { 0x3ac08717b8501555L,0x884c3347812fbee3L,0xa934580777363609L,
  104150. 0xdb4de6841aede158L,0x6d3850ea6312d55aL,0xd4247574a47c5a6eL,
  104151. 0xb5cd31b2047c8ebfL,0xcca5ed851d8cefe6L,0x0000000000000124L },
  104152. { 0x4afe51372a51a7cdL,0xd28b0d5de510ba3bL,0x1ac5ade85d1c1d2bL,
  104153. 0xddecd8024d330dddL,0x7f03c6419259bc0fL,0x9901f74bb3cc0e2aL,
  104154. 0x997b76d0adee582fL,0x4562419478dff0f3L,0x00000000000000adL } },
  104155. /* 53 << 462 */
  104156. { { 0x0a05118e4f11ecf4L,0x0f0df5d498d05869L,0x0703359921333009L,
  104157. 0xcfcd5c427de5b677L,0xdcec94971bb48849L,0xab4f855137e51f02L,
  104158. 0x0ff5e9dc686f1e15L,0xce51572a73711fd2L,0x0000000000000053L },
  104159. { 0xedc9c0318dc19110L,0xf701cf6e9516787bL,0xef8846d98b359d47L,
  104160. 0x59c48207309176deL,0x2b820298bda74af1L,0xbfdaf25de022e2ddL,
  104161. 0x906a64e0a21e66dcL,0x35b661b622569e50L,0x000000000000002fL } },
  104162. /* 54 << 462 */
  104163. { { 0x3d2a23547d37e036L,0x15fa6258b069c547L,0x971084595a585197L,
  104164. 0xa1ffc74e71f550fbL,0x1fd862279a2a1355L,0xeebca426540f8363L,
  104165. 0x9511a7b70357d4f4L,0xf55a55a2786a3114L,0x000000000000005dL },
  104166. { 0x4d95d924d2dfc1dcL,0x02bea96358f88b67L,0xb29bb82aa213c829L,
  104167. 0x5c334c6c4fb103c7L,0x1788c6f3237b3fdfL,0xe04ca128ff38a49bL,
  104168. 0x657435fcec49e78aL,0x86cb93b2b77ff94fL,0x00000000000000d1L } },
  104169. /* 55 << 462 */
  104170. { { 0x09336b9eb22a4bc2L,0xe5b69e8454d2cd44L,0x21f75483f29260f4L,
  104171. 0x95aeabdb24e2ab76L,0xb2d234334ee7e921L,0xb989e4477eb10e8bL,
  104172. 0x11f2aca492c511a1L,0x2fa2108fb4411745L,0x00000000000001c5L },
  104173. { 0x9ba0fa7de8e834d5L,0xcde5ab91e5fb25ccL,0x064eba31b24855ccL,
  104174. 0xe6c909ff648d6e5aL,0x937bb03c03acf9a0L,0x2e8988a3193b5fc2L,
  104175. 0x670a1f72fc822accL,0xdbf52ce2aee811a1L,0x00000000000000b5L } },
  104176. /* 56 << 462 */
  104177. { { 0x0261a6571304c934L,0x86e5b425f4254d3dL,0xd6b8c7293330a402L,
  104178. 0x67ee96544281090dL,0x3056a9113a1d5fbfL,0x7dfc3e9e98494b38L,
  104179. 0x12c53a18777cea04L,0x2cc4ffec23165e61L,0x0000000000000005L },
  104180. { 0xf16c1e271d3c8db7L,0xc4954310ab46ca93L,0x1a5a066b158cfe00L,
  104181. 0x62b499a9f192e1feL,0x0c9a5e489a9bb573L,0x2907b4fb630008c1L,
  104182. 0x9c832da019ae083aL,0x6159daa1c26961f7L,0x00000000000001f5L } },
  104183. /* 57 << 462 */
  104184. { { 0x73cf6f1f0a7cff9dL,0x5990e7855d970d95L,0xb0a27227d43818a1L,
  104185. 0x8416719cc806298dL,0x9b9c4684a499cd3dL,0x80e188e59dae634fL,
  104186. 0x96d56fd6999b8803L,0x25747b11714423c0L,0x000000000000000fL },
  104187. { 0x109847c5145aa843L,0xb4610155b5c2d75cL,0x9193c45dd9014b50L,
  104188. 0x8102f8118a050159L,0x46c50351e1d9e3b2L,0xb7992a3b0535b00fL,
  104189. 0x416cc678dafb0a88L,0xda1554890526c87eL,0x00000000000000cfL } },
  104190. /* 58 << 462 */
  104191. { { 0x3b96330d5a106b1eL,0x4261e39e301af093L,0x96b81a66369534d3L,
  104192. 0xea444b4a97b9861dL,0x19a98ade47fae332L,0xb540c85ebf30cbf7L,
  104193. 0xbd205dd1bd6a3c2aL,0x53606fc7d30e5984L,0x0000000000000193L },
  104194. { 0x43f3560d4cc4d643L,0xd02e6d1ed892f3afL,0x410d637e8680b671L,
  104195. 0x91cc5b1bb60494edL,0x6a19cc7f1044ee62L,0x378962fc56a89c1aL,
  104196. 0x4c9eb689adadce81L,0x4f9ffad100d88194L,0x0000000000000147L } },
  104197. /* 59 << 462 */
  104198. { { 0xef4f9fa755ae6dccL,0xec7bf270f1f5304cL,0x2bc4d7a9401b4a40L,
  104199. 0xd0cd7b680044f20fL,0x0e0e7f8dd324e238L,0x2c13feb72fcdc80eL,
  104200. 0xf1a695f47f4d3dbfL,0x931c17b7233a8395L,0x0000000000000048L },
  104201. { 0x3e5b9691f598ebb0L,0xf343309a57eacadaL,0x5ff3a06acce81fccL,
  104202. 0x2bbd1f7dfad4a66cL,0xa3185537e78d466fL,0x69121af74d50571bL,
  104203. 0xce3f6351d8d90fbaL,0x2e89c90e992614dcL,0x00000000000001e1L } },
  104204. /* 60 << 462 */
  104205. { { 0xbf9c09d3e9b072d5L,0x627e64871aceaf57L,0x21938240829175eeL,
  104206. 0x781ea3f25bc4d226L,0x996532aca6726027L,0x567da8151177e922L,
  104207. 0x9b3fec8aee0ea637L,0x793f1038091eeef4L,0x00000000000000deL },
  104208. { 0x30a23a7581d2a890L,0x41f22a0c973e9ba3L,0xda3e78685c1a136bL,
  104209. 0xbe524c93084420d6L,0x53518e4026661908L,0x7bd7c768fa169b4bL,
  104210. 0x0477e8834709e45cL,0x41b66d3827ed78a7L,0x00000000000001a0L } },
  104211. /* 61 << 462 */
  104212. { { 0xf684635ac1aff7f3L,0x815ad1a840c52364L,0x1aa44c22ee68d865L,
  104213. 0xd4ccb5a9d42e7c4cL,0x280ee2b19a67bd2eL,0x8eb3e67583e89a28L,
  104214. 0x7adfd31240147486L,0x5297a92c030f6dbdL,0x0000000000000074L },
  104215. { 0x93f574b97ddac781L,0xb60f1f78431eb598L,0x76ce97fd505b1c12L,
  104216. 0xf129e08ef9584629L,0x99d5c2eb189756f2L,0x077576da3f376986L,
  104217. 0xebac685cf932a27dL,0x22bf40db85bfc6b6L,0x00000000000000c4L } },
  104218. /* 62 << 462 */
  104219. { { 0x1d9044cd1279e866L,0x124f41d1376eb5c4L,0x5ea4fb8d97030140L,
  104220. 0x38339643a1412be1L,0x5dc984b181b0ca10L,0x3caca47205353734L,
  104221. 0x6cc45d1cc111cd9cL,0x27abce536b44e337L,0x00000000000001a8L },
  104222. { 0xde5d6867c8beb49dL,0x1fe2ba1f6e6747d7L,0x0c6ea670fec38d24L,
  104223. 0x28b701a08091cf52L,0xca72ca34ef2c8462L,0xd6e8d3fd9fb18624L,
  104224. 0xbb1c102467c9700bL,0xb78362320eeea37dL,0x0000000000000118L } },
  104225. /* 63 << 462 */
  104226. { { 0xd32c1d2cc13c0d24L,0x03a69200a8085693L,0xf18102e90989d81aL,
  104227. 0x0d57994b8af284d3L,0x54a3c55b2ac803f0L,0xc43f6f5ae4601c43L,
  104228. 0xb3184a8f59c5c667L,0xd8052c20a179b319L,0x00000000000000fbL },
  104229. { 0x78b9d9197a9af989L,0x5df6c709c925390cL,0xb442eaf5e4846e5bL,
  104230. 0x680158b4316ff4e8L,0x528f587fa99e1dc6L,0x3788609a6fb34357L,
  104231. 0xbb9ea9c9d901d43dL,0x09cb2dae346643c0L,0x00000000000001ceL } },
  104232. /* 64 << 462 */
  104233. { { 0x2bf35f94ab7a841fL,0xdcbda33878e3fb0dL,0xb913947aa0195f98L,
  104234. 0xc8e30a9c4370e51dL,0x8a403e1ff0e558eeL,0x7dd167c4606db1dcL,
  104235. 0xaa343cbe5827ef91L,0x1404f2d6aace0f43L,0x00000000000001acL },
  104236. { 0xdfe19ea53db1c500L,0xdd04717148ef4a56L,0x38ab939eb9a5ec76L,
  104237. 0x8f2d56855648f852L,0x7f81313f2726f67eL,0x41cf3794f68f54bbL,
  104238. 0x9d400e52de14d6ecL,0xc046fda14c9eb1baL,0x000000000000008aL } },
  104239. /* 0 << 469 */
  104240. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  104241. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  104242. /* 1 << 469 */
  104243. { { 0x563f57ff87744684L,0xd8f2f1476562ce2cL,0xbf323b07ce7b4b70L,
  104244. 0x67b2111a9098ed36L,0x0c8a85c10b687259L,0x23a569d745d51e50L,
  104245. 0x6643f19b88d97057L,0x1eab273a875181d0L,0x000000000000013eL },
  104246. { 0xbd33de9418a1bffbL,0x3edd0df89700ac60L,0x3757dbeb61839145L,
  104247. 0xd31a9aab1a59a97cL,0xcaffafa2faf790ebL,0x9f36c13414676e8bL,
  104248. 0xef6eda5b18545787L,0x806a74c509ac46a4L,0x000000000000005dL } },
  104249. /* 2 << 469 */
  104250. { { 0xe6b236300de2a07cL,0x64d219926e52ba0eL,0xe5786eda68d1e768L,
  104251. 0xad163f8ecb6a04f5L,0x5a09908a101039e2L,0x8708327611a5f49eL,
  104252. 0x231d61fb5446a61aL,0x39e98ad1e7ddbba8L,0x0000000000000185L },
  104253. { 0x54ca5f0f3861f6e7L,0x0e0f1667d20d86e6L,0xcf229fd613d9adaeL,
  104254. 0xc8852aedc488ec9fL,0xfee0c03dee1061e2L,0x7167271a35298521L,
  104255. 0xf4fcf268fc0cfd1cL,0x645a9d2fdf809af6L,0x0000000000000057L } },
  104256. /* 3 << 469 */
  104257. { { 0x38c2b6bca021ca92L,0x715f2bf72d1c900fL,0x79d4428f5dce0826L,
  104258. 0x7466180355b0f95aL,0x59d9ba60059f6b0cL,0xa3a157eb1cad0687L,
  104259. 0xcb4e3f7aeacfd2e4L,0xdea5cbcb1e36ad17L,0x0000000000000090L },
  104260. { 0x49b0c5be4040f60eL,0xd354d658cadc11bbL,0xb17f1aa48b5ab35fL,
  104261. 0x09956859856bdc09L,0x4bdd06fff18da95bL,0xbf66d16d235e890aL,
  104262. 0x57d83d0076201868L,0x0bb0291f91e1a0c3L,0x00000000000000e6L } },
  104263. /* 4 << 469 */
  104264. { { 0x7a6b3fcb3b407efcL,0x05f6d0a3063ced31L,0x4a79c880f3f03bf3L,
  104265. 0x94181fff7a1438c8L,0x47fa4e4956106ed0L,0xaa97355dfaf7201fL,
  104266. 0x1264069e02f7c119L,0xf702c7f04d06b273L,0x0000000000000187L },
  104267. { 0x368dcb7ae7e258bfL,0x5f8a64eae8e4597bL,0x98bbcf2b6f13bcceL,
  104268. 0xc00c8e627d099f3aL,0x4803c4005e326891L,0x229deec9342badbbL,
  104269. 0x3b810a6f49e0992cL,0xfb55c6cd63758695L,0x000000000000002fL } },
  104270. /* 5 << 469 */
  104271. { { 0x07da16efbb07562bL,0xb7f9c5dbde14c8a6L,0xe687783fb79d420bL,
  104272. 0x14fec271567ceec8L,0xd765d3336d608c4bL,0x70e67e3a92960599L,
  104273. 0x24060de6d9a5a16bL,0xadc2fcf91c6f83b5L,0x000000000000014aL },
  104274. { 0xb78d9ad205aaecb1L,0x8e984114bcdeedc1L,0x0bd480509394336bL,
  104275. 0xfb533f263a0aea2cL,0x6308aa76b8c58b3cL,0x80124d89f64d3a4fL,
  104276. 0x58064b407bc9e04dL,0x64e21d55adbeb1b6L,0x00000000000001bfL } },
  104277. /* 6 << 469 */
  104278. { { 0xe0096d0f5c98771eL,0x05c2327096228ce9L,0xb38f45accbc9c99cL,
  104279. 0xf44d39cbb7abd830L,0x583a57461600275bL,0xe7911b696bd758e9L,
  104280. 0x54545d59b691c578L,0x0b03c85c8394c30eL,0x000000000000002aL },
  104281. { 0x988ac22042c8fe20L,0xde56a00b7832fc78L,0x8ea363bae0cd6d15L,
  104282. 0xfdcaee21cf51cea7L,0x104bd64ccfee6e76L,0xd9a935a575e0cdddL,
  104283. 0x775cbdf5da1bdc5cL,0x019215c361758097L,0x0000000000000113L } },
  104284. /* 7 << 469 */
  104285. { { 0x26ad960425b64fa7L,0x65d59abea783eacdL,0xa2c81fe86f55f993L,
  104286. 0xdb6068b8fed6d301L,0x52f76e9add95612bL,0xce2060f002858a68L,
  104287. 0x369c2092ff3912cdL,0xdc2d072aeac4c085L,0x0000000000000117L },
  104288. { 0xf6142267de8e4075L,0x74ffa58005e07abeL,0x13331f5dbec8999fL,
  104289. 0x08c7046124188d1dL,0x63a12765a9375cd0L,0x5afe946f3b9f95caL,
  104290. 0x2ced26b921e69960L,0x614458d7512f10cfL,0x00000000000000f4L } },
  104291. /* 8 << 469 */
  104292. { { 0x02fb84fd5f7abaeaL,0xa238ad04e991e445L,0x0d9b2d417c972addL,
  104293. 0xac2439f9478c558aL,0xc3c78a2c1ec86ed8L,0x3735839b2d3b2f29L,
  104294. 0x259728d450317454L,0x7b53a9cbe2377abaL,0x0000000000000179L },
  104295. { 0x95f44add5e4846ceL,0x85d2a8e87211225eL,0xcbf0abd8091a6646L,
  104296. 0x9d8b3475102deeaaL,0xe2a0a4ab602ba91cL,0xa6276d7f131de0d4L,
  104297. 0xbb90d1175f215c70L,0x49a60e3e07e3aa82L,0x0000000000000019L } },
  104298. /* 9 << 469 */
  104299. { { 0xeb40bcc4be860ee5L,0x47622caebabd1dbbL,0x5b4881286df7411eL,
  104300. 0xbb0a57dc8e4ae017L,0xdecd1b251a27c9ebL,0x9c33044ebd3d1b20L,
  104301. 0xd9e1d80e3205ffddL,0xa5f51d61a07581caL,0x0000000000000096L },
  104302. { 0x51a3a0a4441ea9b2L,0x0034263f805898deL,0x20ffe434628e71e1L,
  104303. 0x51b50e3897075cf1L,0x556732f72ae952c2L,0xcae37d27433977e5L,
  104304. 0xa79160c2bde9cfafL,0x2dd6cce9b25d68e5L,0x000000000000014fL } },
  104305. /* 10 << 469 */
  104306. { { 0xc5edbc6f85e4dc22L,0xc5933f26efc6be8eL,0xfd818a793f5edbf6L,
  104307. 0x09af29cde4c05b4bL,0x386ed43c5cb088d5L,0xa50a8e572fbfa65dL,
  104308. 0xfc3e90492effb79bL,0x8aced5f19883127dL,0x00000000000001e0L },
  104309. { 0x8aa6a432b05205a4L,0x7d5100c71ab38cdcL,0xed0d59ae9f026787L,
  104310. 0xf9812b5d04497c3bL,0x66ed8c8cfbcc0dbdL,0x9597f83779f6138cL,
  104311. 0x076883cd899808c8L,0x9884a305f4024d9dL,0x0000000000000118L } },
  104312. /* 11 << 469 */
  104313. { { 0x87d449701c005da6L,0x109fc435e49f09ceL,0x3070e9b5df09fb82L,
  104314. 0x6627c2c8fb79e375L,0x23c488d5aacf7040L,0xf7d96b62c4f9bd5bL,
  104315. 0x54e5c4d917734569L,0x02d5cee9240dce26L,0x0000000000000152L },
  104316. { 0xb4f24ee03d62aa32L,0x41ebe4e11051470dL,0xfc3a01594ef1cf93L,
  104317. 0x80efd898e64e8687L,0xd9b3993e8daa3365L,0xc0de82692618ee26L,
  104318. 0x461447cb4c5e1d3eL,0xa28313e53e23eb2eL,0x000000000000016dL } },
  104319. /* 12 << 469 */
  104320. { { 0xd898aad7aa89f44eL,0xa62a2d93c518f791L,0x6acbea45ad2d934eL,
  104321. 0x4dedeab78d3bd1f7L,0x072894788c0ff7e9L,0x11a995f7e6828443L,
  104322. 0xf0c92ed4d44b4181L,0xb7440b69416d7dd7L,0x0000000000000121L },
  104323. { 0xe800b3c21e920c11L,0x5c7dc454e9d3af72L,0xb2211645283116e5L,
  104324. 0x71675dff4ad35006L,0x2a8783eb5231dea8L,0xf79c777c659a3cb6L,
  104325. 0x1e8eadecee43df0aL,0x7ba45eb224be6f96L,0x0000000000000001L } },
  104326. /* 13 << 469 */
  104327. { { 0x4044fb9aa0e53379L,0xd71b9050787f853cL,0xd87e57ee44779c58L,
  104328. 0x5f3009e4470fb0ebL,0x378b1a209941a1c6L,0xa677ef62504924faL,
  104329. 0x7be3f1274b7545a1L,0x3ff5508eb5960cd7L,0x00000000000000f2L },
  104330. { 0x4cef6ffac4fc4869L,0x6898cb2900c32214L,0xdd8345ec9f931b5fL,
  104331. 0xd0a51e6c1777d16dL,0x4e3f7a028833256bL,0xf2eec60d0be037ddL,
  104332. 0x8ebf92143a28cb07L,0xfe94e5812e9a7bd7L,0x00000000000000f0L } },
  104333. /* 14 << 469 */
  104334. { { 0x9cfd0d70379920ffL,0x5b138849a7d11592L,0xfa3e1debda21ceb3L,
  104335. 0x65a7da37afbce19cL,0xad36c1e2ac24e4d2L,0xe82248727b2f4c24L,
  104336. 0x6b62f348d52a2de0L,0xf6e56f5762566193L,0x0000000000000018L },
  104337. { 0x5231f0dff354e7b4L,0x677e082ce7a8c0c9L,0x8d3b59ca91e10de4L,
  104338. 0xc8b5d573099d1495L,0x33ace8529f6dc625L,0x78bba7b132668cb4L,
  104339. 0x20f626184a9b0c01L,0x641ba19c9de82920L,0x0000000000000078L } },
  104340. /* 15 << 469 */
  104341. { { 0x701b527393cf6217L,0x1cb48f663555e29bL,0x22181c63c8f9bf06L,
  104342. 0x12da892bdc0c2b3cL,0x57522bc3cf766a0dL,0x521ffabc04f79b89L,
  104343. 0x1d10e64ec217b9a3L,0xf613de04359f3d30L,0x000000000000006fL },
  104344. { 0xeb657ed419c0bf3dL,0xa9ccee58bb8fd14dL,0x27bc141e9e50598dL,
  104345. 0x6b5e14c593fc9ab0L,0xd050fbb65ae50f0eL,0xf9f8760fa0521b92L,
  104346. 0x1ff8bff96c853693L,0xbe061e788df6d469L,0x000000000000010bL } },
  104347. /* 16 << 469 */
  104348. { { 0xcb30076118e71dd8L,0x01d2684604886b27L,0x22871d7b7cc1d69eL,
  104349. 0x1d138a47d0b3caf9L,0x53aeb97400a7c0b0L,0x712aa1a2262f9366L,
  104350. 0x58c84da46bcae07aL,0x521b7dbcae8708b5L,0x0000000000000045L },
  104351. { 0x03bd36438d3cd884L,0x20a737ee1d62a335L,0x37e1775f904f5c53L,
  104352. 0xb76783dd3baa91fdL,0x7c5521189a84e971L,0xd085796e4488ede7L,
  104353. 0xb418e7085068d6dcL,0x4417e81ae5275a73L,0x00000000000000d2L } },
  104354. /* 17 << 469 */
  104355. { { 0x81c12b63e30e72b8L,0x354fe20db4ad0c2cL,0x3bd33ee584fb3da9L,
  104356. 0x80c265beab0605a9L,0x4652ec39d3ab432bL,0x85b6357af4ac355aL,
  104357. 0x824d9e895096834cL,0x5b6886fce0e0bd26L,0x00000000000000a7L },
  104358. { 0x9747dd8b530ba303L,0xca95b8cff5a8cf9eL,0xcf0766268c2ca53fL,
  104359. 0xd62aa41a2f2b99fcL,0x21b4c001ead7300dL,0x536b0a59e026d010L,
  104360. 0xcb625f1b66ca8331L,0xcb613a3a56b6f938L,0x00000000000000ceL } },
  104361. /* 18 << 469 */
  104362. { { 0x1e26efcad3dad3b5L,0xc3f580c0ec404efeL,0x63e4f54bba07fc5fL,
  104363. 0x2c208d6c1655cb23L,0xb10a1a18e482f788L,0x7f6fd02dcd7f89f3L,
  104364. 0x5411e0380743db4cL,0x0e22bd76ce4efb17L,0x00000000000000a2L },
  104365. { 0x873c0af60d01af74L,0x2f4a0ec9ba060e1aL,0xded0dfbdaf48d8baL,
  104366. 0x5d2b528d780ec754L,0x42a02e2dbadf7060L,0x90d1c9a037ba2665L,
  104367. 0xb002f7c4a1007a96L,0xfff6be26355ad02aL,0x000000000000008dL } },
  104368. /* 19 << 469 */
  104369. { { 0x0bd4a3f0f9bb7cfbL,0x8d61b1c4087487ccL,0x9fc2ea4af9c93934L,
  104370. 0x77ae38d82326e828L,0x0c0ae32cd531fc73L,0x46b6a9c04b35fa57L,
  104371. 0x36798f1570f76923L,0x3941fd5cf13b2b6bL,0x0000000000000047L },
  104372. { 0xfa79c31c97ad3427L,0xae83362f4b6a8c6aL,0x19da33c36893337fL,
  104373. 0x15d666fcd8edfad6L,0x378ad97ba6648fe5L,0xba2d4463ff23dd7cL,
  104374. 0x687e42e6868e99d5L,0xf6c5d9dd88f69974L,0x000000000000000fL } },
  104375. /* 20 << 469 */
  104376. { { 0x14d14f636b330a4eL,0xf943c489289430d8L,0xc220f9b3dacb5aa6L,
  104377. 0x5f64ce3dbbdbc661L,0x32bdc1d5ebf6d100L,0x6d2cefa026f8304eL,
  104378. 0x55bc066635196423L,0x099f19e813c68f56L,0x000000000000017aL },
  104379. { 0xf8898c0067fd6808L,0xc9fcdd64aedb5d38L,0x141911bc93ecf107L,
  104380. 0x7e2034093432891cL,0xdd9f385e1b9f5f0eL,0x61b231e96f97e818L,
  104381. 0xec1dd4b9e8cc8371L,0x4e0a1cb9f44505a4L,0x0000000000000127L } },
  104382. /* 21 << 469 */
  104383. { { 0x929bafeded53c5e0L,0x14ddb02139df049fL,0x06226f149b246597L,
  104384. 0xf60eb64085bee3faL,0x37606f309b15a907L,0xf5b90ecde7fbb734L,
  104385. 0x038410daf9e730afL,0x4e2ee195f5d72e08L,0x0000000000000134L },
  104386. { 0x461c2d552cebcef1L,0xa43f38b5a32863ddL,0xfc3a8ded6b8d3365L,
  104387. 0x03b48889360f80bdL,0xd22be91598cbea9dL,0xc32a9ab72557b88aL,
  104388. 0x2ce4a476ae78f249L,0xae5831e640f9bf03L,0x0000000000000095L } },
  104389. /* 22 << 469 */
  104390. { { 0x41b796bf4796af15L,0x177d42f351a325a2L,0x487f3715601c15d9L,
  104391. 0x15ca3b1b40649c1fL,0xb06abca7f36a5e64L,0x14bad851e4b57bafL,
  104392. 0x2d42059d1862f500L,0xd2bf6d28db084902L,0x0000000000000186L },
  104393. { 0x128345b83e7774bcL,0x4598fe8563520a7aL,0x444316e72587d345L,
  104394. 0xc44643f03c926f91L,0x1ee021d93f3cfca1L,0xf5c84920bda26ccaL,
  104395. 0x673620287af1bb9cL,0xe05d4e740075bde9L,0x0000000000000061L } },
  104396. /* 23 << 469 */
  104397. { { 0xedd410e397f8467fL,0xf16210b41a5ccaa8L,0x2f078b037f73dd71L,
  104398. 0x2c2a5f448e99ae3cL,0xb2bf1970b7dfc8fbL,0xf37185b250883783L,
  104399. 0x7d5412a36a24e693L,0x18ee647497be701aL,0x00000000000001b1L },
  104400. { 0xdf6b6594435265b4L,0x876e6a7a9004e6a7L,0xe3ac6f6873cf7ae0L,
  104401. 0x965460544bda6cceL,0x84e762aca94218f7L,0x06425f2496b3336bL,
  104402. 0x569da13247d63056L,0xb4cb63d0b2d5a789L,0x0000000000000135L } },
  104403. /* 24 << 469 */
  104404. { { 0xee2ca82b76f521d5L,0x404c95b98d54184cL,0x7ef78330d43e178eL,
  104405. 0xed67f94305f36bd2L,0xd734f6b845f09837L,0x8760f0f7bd8f5a29L,
  104406. 0x2e7cf02112059285L,0x8d0be801ec54d3afL,0x00000000000000a6L },
  104407. { 0x51ba60c971042440L,0xea9c35ae614a4512L,0x006bbca51d410f81L,
  104408. 0x3d31ac431170157dL,0x69b0be25fc7e723bL,0x6da152ba38276789L,
  104409. 0xbe486c0593492808L,0x3fd119d980afa598L,0x000000000000008cL } },
  104410. /* 25 << 469 */
  104411. { { 0x8c94532ffb7677d0L,0x397f7f18f8a5be84L,0x94356c7499cce279L,
  104412. 0xb334201593980d55L,0xbf6ef9d18cb8520aL,0xfb28b68edd535916L,
  104413. 0x9cb149ed4dd8cc9bL,0xb97ea42aa9e2c064L,0x0000000000000035L },
  104414. { 0x9171a89ad37f9c82L,0xddc272092d5c7bf1L,0xadc3af681b9e94b7L,
  104415. 0x613f81ca5682caf4L,0xaedd0d66e3453e90L,0x651161a92971b9f3L,
  104416. 0x0399d25284688cecL,0x40d177e41be785fcL,0x00000000000000a7L } },
  104417. /* 26 << 469 */
  104418. { { 0x6871be7478d0c1f5L,0xf6c364f7456a1d88L,0xee53602c1666ff19L,
  104419. 0x8b0a05995621622eL,0x8937537341feb4d2L,0xf34622cf94a0e8f0L,
  104420. 0xeb9e1ee76efcc350L,0x1312f3a350063323L,0x0000000000000055L },
  104421. { 0x2fc73efe356883d3L,0x62a03b106d884fb7L,0x901bc04d7cabf01cL,
  104422. 0x2511c5e129ebb711L,0xf94d884739bf842cL,0xe50486da63edc964L,
  104423. 0x8cb348db60b10d7fL,0xe29a998c08ede95bL,0x0000000000000174L } },
  104424. /* 27 << 469 */
  104425. { { 0x3f8ddcd46347473cL,0xc61ed0f9a7e239f6L,0x45dbea9289ccadc2L,
  104426. 0x2c5683f3cef07a9bL,0x51df4da3df13c487L,0xd78c61c30a089e81L,
  104427. 0x47302b22831fa26aL,0xe3a79e8940504a7bL,0x0000000000000088L },
  104428. { 0x16d3f12ba4b11470L,0xa70377ad6ea07a36L,0x959342d5cc15cad5L,
  104429. 0x1fd7d8cd8e4d42b7L,0x70696e3cb694988aL,0x7c73847433e52d9fL,
  104430. 0xe96d5471c41dc241L,0x49cb9b9ca6f8eb8cL,0x00000000000001a7L } },
  104431. /* 28 << 469 */
  104432. { { 0x29dac47503b83778L,0x13fdb36b56f8223fL,0x15108cf7b189bf97L,
  104433. 0x04cb678c3d959be9L,0xbfb72511cddec7cdL,0xd255fb17b2a649f7L,
  104434. 0xe7b7616ff0210128L,0x49891af158674716L,0x00000000000001dbL },
  104435. { 0x5fa647c585e511daL,0xe6d774239b517adfL,0x131596649e9e0ed5L,
  104436. 0x6a090a1234cbf60cL,0xc213cfe51b5cd8e9L,0x152c5434d7236d27L,
  104437. 0xfc7df774944f90c9L,0xb1890bc9c119589bL,0x0000000000000167L } },
  104438. /* 29 << 469 */
  104439. { { 0x9b16f2144a14d787L,0x1036d9fa52079b2aL,0xa83ff9ecce07e344L,
  104440. 0xddfeb66c46311e85L,0xbf554a70cfb9513fL,0x467bab678b31b889L,
  104441. 0xdfae7a0fe9372329L,0xe4f2f5917e51c8f8L,0x00000000000001f2L },
  104442. { 0xc486a286d75feb83L,0x69c676f3087f2443L,0xbfb329c2ad4f54e1L,
  104443. 0x301e122a09a7f840L,0xdc1ed7aab169543eL,0x3ae1310799c64627L,
  104444. 0xdfbfa25ca5c949fbL,0x6eb39e641b020190L,0x00000000000000e5L } },
  104445. /* 30 << 469 */
  104446. { { 0x4d98b2ac32d8dbe8L,0xace115d91cc99ad7L,0xb8f9b3315543aef7L,
  104447. 0x7d65d76b79819d68L,0xe70fa04ca7b35f9cL,0xf0679fe75fbe62b6L,
  104448. 0x8e878e2f00de3fc4L,0x1a90ed223a42887dL,0x00000000000000caL },
  104449. { 0xd80cbfe401063d2dL,0x6cdc0a2c27cf1c3aL,0x447c49dcc0141542L,
  104450. 0x98f2ec0c0cb0cf80L,0x07549703ff297bd2L,0x833c79f2a23585e4L,
  104451. 0x4224adb3ddf0936fL,0xecb57a5a699ea6eaL,0x0000000000000018L } },
  104452. /* 31 << 469 */
  104453. { { 0x56e17019ff059f29L,0x002581359d92fa55L,0xfc9b7a6925777d70L,
  104454. 0x9870806ae3f5ce87L,0x99e086f26d73ecc3L,0x3b2e4d9fa35841dcL,
  104455. 0x485817f1b62ce114L,0x0bac63bdb5c1be62L,0x000000000000018eL },
  104456. { 0xcffa5dc1b9ac6c2bL,0xc3a26fdd56f9eb8aL,0xcaef1a4f3898781fL,
  104457. 0x426a86c5a8cd88d0L,0x1716fd7cab614e6eL,0xe12c9101c06bbbb7L,
  104458. 0x63e9171f62757ef1L,0x4cec09acd1f320f6L,0x00000000000001a4L } },
  104459. /* 32 << 469 */
  104460. { { 0x099c2888d6c5b0b9L,0xe35ce1381ffe8a3bL,0x133c35ca74939411L,
  104461. 0x13521b322ff27ae3L,0xbde73625f760a06eL,0x199340715ee54408L,
  104462. 0x69db07e102f9b217L,0x1389c23586a5e6a5L,0x0000000000000112L },
  104463. { 0xcf5b0e89ca1aa74fL,0x0cfa76325d844ccfL,0x04be199c65c3286fL,
  104464. 0x483e0ff9d204e249L,0x9df8ce9704c424b5L,0xe35cda3ec05c0793L,
  104465. 0x8a595df3f2798180L,0x7522b808fbe7f5c9L,0x000000000000009cL } },
  104466. /* 33 << 469 */
  104467. { { 0xcadd02a27d7784aeL,0xcce86dfea7fcf493L,0x87cd6f95bdc14ad8L,
  104468. 0x27d2fe24611512f7L,0x9bc408a777dfbb5eL,0x9cb1f6603e961625L,
  104469. 0x08542ccc1c253a6aL,0x1ec8713fa541f855L,0x00000000000000edL },
  104470. { 0xc358a687448cd884L,0xb75d140050d6ba88L,0x137a7569196b52c7L,
  104471. 0x0cc62c0712f61a5aL,0xaa3653cf8d2497abL,0x9c79351e5d45d412L,
  104472. 0xecababc65af55894L,0xc409198b52097ed1L,0x00000000000001c6L } },
  104473. /* 34 << 469 */
  104474. { { 0x0e472757f7011a71L,0xcebb0eba09da90e8L,0x933ee6b4aef7b7d2L,
  104475. 0x0d2e742cb68ae8c6L,0xf373fc3f32de83bfL,0x0b51f343d249eaa0L,
  104476. 0xef0bd45abab03af6L,0x965b8fefa1c07e8cL,0x00000000000000cbL },
  104477. { 0x571817f5ed0017b4L,0x6aee829608047226L,0xf4334820a389806fL,
  104478. 0x2e0c2dab167c885fL,0x2c1894f48d6c34fbL,0xcba4358013ce3154L,
  104479. 0x816b7e7132649e05L,0x3b02046e20aebd59L,0x000000000000019dL } },
  104480. /* 35 << 469 */
  104481. { { 0xa949bdcc0216439dL,0x72e5adadad102c3fL,0xaa9183ba0af396b9L,
  104482. 0x41a83eacadac5678L,0xda7577495ea96f88L,0xac27f511f7e5d25fL,
  104483. 0xbc92e35389a6c9eeL,0x472b947c1dd5234dL,0x00000000000001c9L },
  104484. { 0x1c9d64a4fcb14344L,0xa6d842b3c98a85e8L,0x1b4fb2636cd3f69cL,
  104485. 0xc484dcfa2189d8c3L,0xe4e45792e280a9eeL,0x65da8ef6202443b7L,
  104486. 0x2ee30251e71dd154L,0xf650203adea3ba9dL,0x000000000000016eL } },
  104487. /* 36 << 469 */
  104488. { { 0x0fd34803710bfda8L,0x697671fd37d08a77L,0x61590350952da84aL,
  104489. 0x6355b6ef4eaffb94L,0xa654647f3712f7deL,0xf7d3db844bf5551dL,
  104490. 0x803b4b6f92e47512L,0x2dac8ff69e3838c8L,0x0000000000000109L },
  104491. { 0x55e242b9515c2e04L,0x6802de1d9eead096L,0x3e2098970399ca1cL,
  104492. 0x62dd1077a4ef1ac0L,0xb89f5b0c24e1d439L,0x8ff7dc3093678ea4L,
  104493. 0x9858576394713929L,0xc14b25abdc8d0a7fL,0x0000000000000042L } },
  104494. /* 37 << 469 */
  104495. { { 0x7e70f8794d7f6f2bL,0x419829cc4a31a41aL,0xb4eeaa99324fd76dL,
  104496. 0x95c37844d200095dL,0x95873b642c3e8cf4L,0x9fc8600ff3733834L,
  104497. 0x13ea6eba7403564cL,0x2d4f9ec2f93389fbL,0x00000000000000d6L },
  104498. { 0x4e0f87b3220667ecL,0xbe666aacc0f871aaL,0xe22ba2305c46c0a9L,
  104499. 0x3f7f397cc2fb5d1bL,0x701ca7f8a310ab98L,0xf561043c97da4402L,
  104500. 0x9d7d99c7dc5e2e08L,0x854db674bbd1ff7eL,0x0000000000000065L } },
  104501. /* 38 << 469 */
  104502. { { 0x48b0c44b10fbb232L,0x23efcb9474bb12cfL,0x2283fd4289254aaaL,
  104503. 0xf824e6cfafc254f8L,0xcaac3118aebd820eL,0x9a69ec62a1e6b686L,
  104504. 0x50ccc5245df7b70eL,0x2bf74a2119c0ef11L,0x0000000000000097L },
  104505. { 0x1cb448466450f3d1L,0x316968226ff2a91cL,0xa32c75e1e3e83f42L,
  104506. 0x45cdb5ddc766d607L,0x44e4f4644405a2eaL,0x1ce0895a2af43ed5L,
  104507. 0x546bcf8f5d4fabddL,0x2ae184db680ad728L,0x00000000000001eaL } },
  104508. /* 39 << 469 */
  104509. { { 0xf873545aadd1bb8aL,0x6df75855b3381916L,0x85a46959282f5600L,
  104510. 0x7f63ee00cab1b8d7L,0x61d5dc47e3960f89L,0x2ec0164befcfb0d7L,
  104511. 0x05fe38cf325dbeaaL,0x786e7fa34b0292e5L,0x000000000000008bL },
  104512. { 0x29c1395fce8b30e7L,0x0aaff0c90c3ea317L,0x3b0ef202a4dfab3eL,
  104513. 0x675cd59aac01dacfL,0x8a22b232aebb8ca6L,0x552271b7f28586ddL,
  104514. 0x2a23a56dfd03890bL,0xbdc3ca28de16b4e5L,0x00000000000000eeL } },
  104515. /* 40 << 469 */
  104516. { { 0x14596043e92e85b5L,0xe3caa4f1309bcc86L,0x0946eecd6a004131L,
  104517. 0xa8f39a0a5d559370L,0x2907f0fb9dd39852L,0xd26639c2b3624b6cL,
  104518. 0xb45f0d32034709b8L,0x0ae962d48065c9d8L,0x0000000000000144L },
  104519. { 0x3de036a5d521ed0eL,0x5ce0990022e88bedL,0x2170357d527f6be6L,
  104520. 0x7cc9e9ff5b47a6c2L,0x801ff33b9748eb94L,0xcb3961d6372d1840L,
  104521. 0xc3db0b3bbda53a97L,0xfff1a0789bd74f00L,0x0000000000000127L } },
  104522. /* 41 << 469 */
  104523. { { 0xe2beef9875c4e3d5L,0x6e2985be41385dfcL,0x3dc139491d5be62cL,
  104524. 0x421ad84a59db88a2L,0xe290f65ef1cd9c62L,0x8cad81dd031fdf5aL,
  104525. 0x2ffff38b7a70772bL,0xdbcae403aed61b17L,0x000000000000003aL },
  104526. { 0x685cff22a6961366L,0x46543384b061a17aL,0x1d93260699b2b99dL,
  104527. 0x115b73e62486c41dL,0x6cbea3427fea8a8cL,0x21e238b85fb70622L,
  104528. 0x13df7dc40dadf79dL,0x89b2c737bb4fed33L,0x0000000000000008L } },
  104529. /* 42 << 469 */
  104530. { { 0xe470a3f68811f377L,0x8389beb00236aa7dL,0xf0f6c917982f42daL,
  104531. 0xa8d017fca5e6a3dfL,0x00a281a86f6c2422L,0x5a713942a6cdb487L,
  104532. 0x4a1b57083f4d0029L,0x64d0114ab2000863L,0x0000000000000145L },
  104533. { 0x842dd8a0569a9ca2L,0xb55b007b3b347c48L,0xba12f822b3667837L,
  104534. 0x67579db2bbe1a4b3L,0xee34c780b2ee7cd0L,0x08c9f20244fcd799L,
  104535. 0x592790de609495baL,0x6c279b065fb8bc01L,0x000000000000009bL } },
  104536. /* 43 << 469 */
  104537. { { 0xd9ec089d45a61664L,0x6adda151ef4d7edfL,0x788c96573e74cdaaL,
  104538. 0x2b73df110162a42eL,0x70fa479627178991L,0xc028dde06b7360eeL,
  104539. 0x683cb8de527692e6L,0xb06c972e4039737bL,0x00000000000000aaL },
  104540. { 0x6ecd795e03cf1545L,0x4cb6ef7ca49d14f6L,0xe7d26ea24c9f0793L,
  104541. 0x74f86a00c5bb3a0cL,0x2f029188b022a7c1L,0x1f5a67a5d11a7ac5L,
  104542. 0xac81b2fe6a5724bbL,0x8c149f3d175d86e0L,0x000000000000019fL } },
  104543. /* 44 << 469 */
  104544. { { 0xec1c52dfbcd98d89L,0x311fa61f10eefe3bL,0xc46f60f85e624ea6L,
  104545. 0x30c2171be17a2b62L,0xb12102e30b8729aeL,0x8be6c0ceb4723895L,
  104546. 0xde06c2aaee640520L,0xa71ec10da86e11baL,0x0000000000000051L },
  104547. { 0x73019b3097a7bd73L,0xa01007744052d44aL,0x52cd660f34686dd3L,
  104548. 0xd02b71fee0879244L,0x8efc04c0f2266eeeL,0x1ee192c7b71ba925L,
  104549. 0xa6d63f084408ef54L,0x23adc3915c77390fL,0x000000000000003cL } },
  104550. /* 45 << 469 */
  104551. { { 0x84ba05e3bd62d818L,0xfa9746922dfb9f05L,0x6b15453937718201L,
  104552. 0xa6624bf9106687d4L,0xe09a44c3d9f29e00L,0x87d2e4bc137d2f83L,
  104553. 0xff90b283b9b00e40L,0xcfb6978b87df7a57L,0x0000000000000129L },
  104554. { 0x4aa5e02c503bd70cL,0xc985efc743315974L,0x61e2ef6999fd881dL,
  104555. 0x8ddec42d5c84dcd1L,0x4eb1d068f6d37ccfL,0x39e186198b84a79fL,
  104556. 0xf3924d7f4a78ec0eL,0xbb702e055c90b885L,0x00000000000001e1L } },
  104557. /* 46 << 469 */
  104558. { { 0x2885ea42d044abd7L,0x13f7e9191c8843b4L,0xae0401519f420498L,
  104559. 0x8829dba445329e31L,0xd1a19fcf17754079L,0x367b6764c564ea64L,
  104560. 0x5f27569de885a386L,0x660bc6bb97b48147L,0x000000000000000bL },
  104561. { 0x5936d68d04ab459dL,0xe45234d817c2a65bL,0xd76cb1fef46a84eeL,
  104562. 0xc310f74af3bcd4a2L,0x605f3f125c2dacf8L,0x3e533d128bef904dL,
  104563. 0xd389dd9b76ea5518L,0x7fb8d72eebce15a8L,0x00000000000001bcL } },
  104564. /* 47 << 469 */
  104565. { { 0x1b39356dadbcad10L,0x611d06efd2c02a3eL,0xce5b763a4c497670L,
  104566. 0x48fc1378ab055283L,0x46b39cb9678c2c83L,0x03a783b393eb7d11L,
  104567. 0x72b6d5f8f5a13b37L,0xe69316dfa85fe503L,0x00000000000001b7L },
  104568. { 0xabf89b61520f51b5L,0x93e7cdc45db81dc7L,0xc4be33eef9ee3d28L,
  104569. 0xe1e43f98d5983740L,0x8f37e5a35ad31353L,0x97083b97a896a61eL,
  104570. 0xd117eb5e292c0624L,0xba08108c874f328dL,0x0000000000000081L } },
  104571. /* 48 << 469 */
  104572. { { 0xb758f2cd23509208L,0xd4f7af5088ba1557L,0x8ff26bbde472d9feL,
  104573. 0x071723868960ac4aL,0xf63e404e9025de52L,0x05053c3fcacbca10L,
  104574. 0x55ad71f0e90cdfb2L,0x25d5716580e65089L,0x0000000000000125L },
  104575. { 0x5de6508419a94651L,0x9aa2dbc01bf9c999L,0xc97a237737d94752L,
  104576. 0x9963d33ca4d21f9cL,0x679f837fd92c494aL,0x1876a9cc69fc4047L,
  104577. 0x028e4edfca690225L,0xa49474168359a44bL,0x000000000000004bL } },
  104578. /* 49 << 469 */
  104579. { { 0xade71ac8fea31c97L,0xcc8f381103919f2eL,0x066d7a1c0fd575abL,
  104580. 0x5c1bb1f252a3e9d5L,0x830ae9819689a600L,0xac9bb5b66763b7c2L,
  104581. 0x40db293aab2e1ad9L,0x8f0de39f530fa624L,0x00000000000000cfL },
  104582. { 0xc963031f35628945L,0x9a2e7f3e99ea6df7L,0x8b759a2fd3491ee5L,
  104583. 0x88136e3f009653aaL,0x48198194c5239084L,0x9fef1f19e4af6853L,
  104584. 0x42cd9f4adaab6571L,0xd834784943ac38daL,0x000000000000010bL } },
  104585. /* 50 << 469 */
  104586. { { 0x77b95920abd07a42L,0x66ae951e1b05f9d9L,0xa0b29e1f1b845797L,
  104587. 0x460087bdea66fa1eL,0xfca234ff973965e8L,0x4ef0d58742218113L,
  104588. 0xbb90f9c0e58e2ba6L,0x2106ece57a1ded9eL,0x0000000000000004L },
  104589. { 0xa9d190182787b7aeL,0xb127a7d318cc1c8dL,0x46455feadf775a3fL,
  104590. 0x4bc1973ab91f6f24L,0x2941ac6d1a3e4cbdL,0xedc8328bf1740029L,
  104591. 0xe4068b2e54ed0273L,0xa7228a7e8c23a1d4L,0x000000000000019aL } },
  104592. /* 51 << 469 */
  104593. { { 0x957939dae7894375L,0x1b2775f257816ca9L,0xf67d7c380004bfe9L,
  104594. 0x4582ae0821eb8de4L,0x55df582abcbb4aa4L,0x30e5b50b16723f24L,
  104595. 0x91f672daa350f89dL,0xb77fe0544be6380fL,0x0000000000000117L },
  104596. { 0x1710653ceeb1c98cL,0xf82be08c6ae35cc8L,0xdbcdf1421680e596L,
  104597. 0x2032b7410227e6c9L,0xe478bd37f07adb40L,0xc8b549c8aecc5475L,
  104598. 0xff5f364c7ba0a27fL,0x654355061768ee6bL,0x0000000000000042L } },
  104599. /* 52 << 469 */
  104600. { { 0x22fe2e191a3ccdfdL,0x55f8139c13a8c7cfL,0xedc73b1c01e0f56eL,
  104601. 0x5a9c1968a3fec725L,0x782182d6f8ae2cd5L,0x5f66b8c17f9f64b4L,
  104602. 0x17a2bb332c101e97L,0x187ef5a232a96850L,0x0000000000000197L },
  104603. { 0x5d5fb38747d1be1bL,0x3713edbf1de57442L,0xb04956d328a92374L,
  104604. 0x9c92546515debd61L,0x0e0f52fec13defccL,0x891c71261307bbbdL,
  104605. 0xa772556bc296d5aaL,0xd7eb1d8ea8f6b37fL,0x000000000000018dL } },
  104606. /* 53 << 469 */
  104607. { { 0xf241efe3e318cb2aL,0x03033711ac571aa6L,0xe3efeeae1b42ad11L,
  104608. 0x49bed2b2dcf40cd9L,0x3c9fd4976f2832c9L,0x598a96e609c7dc68L,
  104609. 0xfbf270ecf5686223L,0x3c0871ee7cbf72a3L,0x00000000000001e3L },
  104610. { 0x477eda86b7fefe1aL,0xd36256c26d037d5eL,0xb0df707391f39886L,
  104611. 0xbf2c97fbaa590f83L,0x7b8e2aa452150aefL,0x1d0fcc93482aeb90L,
  104612. 0x5086665c90256ba7L,0x90a4de3f64e6ee28L,0x00000000000000e3L } },
  104613. /* 54 << 469 */
  104614. { { 0x9880edbb634779f8L,0xa78c28e60c979f1dL,0xe94854d81204dd29L,
  104615. 0xf4a09ef365453269L,0x8015c054bc074682L,0x3648356358d5013eL,
  104616. 0x0d2b20adf0cf4a28L,0xb96421ac0a192c94L,0x000000000000017dL },
  104617. { 0x923b881f9418af47L,0x5f86d74cd0744d6dL,0x9bbc2f0317c2ede0L,
  104618. 0x2ff3016d4d7f81f2L,0xf7e99bdc588dd88bL,0x60988dfd36e09430L,
  104619. 0x7fcd2c1911cc41eeL,0x7dbb6444436063b6L,0x00000000000001bbL } },
  104620. /* 55 << 469 */
  104621. { { 0x13a7925b4f357fe8L,0x54250aaab46ba080L,0x6b75101f52792018L,
  104622. 0xc1f2737f27e87303L,0x8496a09b7abc0687L,0x36a23d44f65d79fcL,
  104623. 0x1079339f87d831eeL,0x529ae62aa07364ecL,0x00000000000001caL },
  104624. { 0x2742ce4c81b0623aL,0x513a65fa584a9f69L,0xe5b6b1ece25bd3f5L,
  104625. 0x1a6a7359d5883ef7L,0xd5a90c6dec6efe65L,0x5db42aea38802659L,
  104626. 0x31671373bff583dfL,0x9fccd94f6920e040L,0x00000000000000dfL } },
  104627. /* 56 << 469 */
  104628. { { 0xcc51cb4b1aa88055L,0x55c2dfc46dac9c77L,0x4e0019affb5e8de9L,
  104629. 0xd686f86dd0d60937L,0xfe4bcb522f3ac7dbL,0x102adf661cbd8b5bL,
  104630. 0xfe830c11f89ad228L,0xb635e0e1969b169bL,0x00000000000001a6L },
  104631. { 0x6b51c9abd5b1c229L,0x1d2912be9ee262caL,0x6208f3dd838c6d6eL,
  104632. 0xc3b9a9e5d6e11544L,0xb88e99336a2696e9L,0x81b5b9c8ea9d3206L,
  104633. 0xa7f2f30243123369L,0xbb51e48673bc3a3bL,0x0000000000000113L } },
  104634. /* 57 << 469 */
  104635. { { 0xdd0f189b4c77e727L,0xfe4cd2f6d9bd0fe2L,0x6454e3cd94c2a526L,
  104636. 0xdff102f317ad2166L,0x461734c46191e95cL,0x04cc3f496c830f05L,
  104637. 0xa8740c863dd2ed7bL,0x5dca654622703431L,0x0000000000000019L },
  104638. { 0xa80ffaa51518d57eL,0x9e1fcde11f48dd75L,0xb0498a4b829f4b88L,
  104639. 0x4823bb28b7f05dd1L,0xd9c6f5d262938b03L,0x4d1660c414d15f13L,
  104640. 0x444a74a0a0fd9a40L,0xd764f15e3770cf5fL,0x000000000000014eL } },
  104641. /* 58 << 469 */
  104642. { { 0x7c62a8d4146c122cL,0xe575b2ca1799b0a5L,0xe5195dae1b06ffeeL,
  104643. 0x5f0dc83a847f27fcL,0xcc10735305898b9dL,0x7f2ef8ec4713c3b5L,
  104644. 0x653844ca4760afe0L,0xc6d972950f6152b1L,0x0000000000000065L },
  104645. { 0x996a0d1a59bd137bL,0x6511d7685abb04b7L,0xb916dc2f78ef48c9L,
  104646. 0xf46d1bf3de129423L,0x3f7f3de897ac10d1L,0xa37c5c11676afc7dL,
  104647. 0x39dbdf85d2671f5fL,0x2b5607945657c0f2L,0x0000000000000088L } },
  104648. /* 59 << 469 */
  104649. { { 0xb24089fa6d540d96L,0x77c1e4b018a57d1fL,0x1c62eb46e056b93cL,
  104650. 0xb98bc55624e9658fL,0xf225c49850aaadb8L,0x9843ca5ece753e67L,
  104651. 0x27f231f12c66df92L,0x9825c25b34934cb3L,0x000000000000001dL },
  104652. { 0xf92f334c84795c3dL,0xc1f54e7b36b19eb7L,0xe891a3cc496b86deL,
  104653. 0x405cac982f43e3a1L,0x319c8569e8d9c821L,0x8ce93789ca7db1bdL,
  104654. 0xa4a4227155c7920dL,0xf63a98e73fb59f04L,0x0000000000000088L } },
  104655. /* 60 << 469 */
  104656. { { 0x3d9e327a3dffaccdL,0x23e7de91b57be47cL,0x34af6490996a4df3L,
  104657. 0x9024fdcd23d46ef7L,0x9b55c37bef6749e8L,0xcc0e2ea4750217ccL,
  104658. 0x9c0aa3a54f07fee1L,0x678db2f28154dfc2L,0x0000000000000007L },
  104659. { 0x3ca56f0f1355da47L,0x7ab6eb7d4cc64fbcL,0xd68b2467a367d8dcL,
  104660. 0x908dadb995cbc15fL,0x0694c136c5ca5ea6L,0xc444772432837dbeL,
  104661. 0xb29f989c23df02d4L,0x43a6d58a7d60fe91L,0x0000000000000103L } },
  104662. /* 61 << 469 */
  104663. { { 0xaf60ddd4fd331e77L,0xdb2b23b6e4bda275L,0x50de018692fabaf2L,
  104664. 0x18f4ee1e439f1467L,0x1d6ad1c55f41e1d8L,0x1870539a6185d956L,
  104665. 0xa469cd954b7c195bL,0x0512eee3a8f71640L,0x00000000000000c0L },
  104666. { 0x649527de55b56f56L,0xb6c666f14fa873e2L,0x8c12fcc042440b9bL,
  104667. 0xe44ce0c97ddb3192L,0x5c9d67f0c5e1f50fL,0x4d2e9d041c957109L,
  104668. 0xece745bf334a3f13L,0x4c0fdc639473d8cfL,0x00000000000001b9L } },
  104669. /* 62 << 469 */
  104670. { { 0x214dd24ea5dda3ffL,0x4423c61b58d48ab1L,0xed596e642546d55cL,
  104671. 0x3e0c6b0726ca41edL,0x47b13e973bd71b9cL,0xdca94741169e56c3L,
  104672. 0x6c380c7598078a65L,0x364caeb1ab093024L,0x00000000000001ecL },
  104673. { 0xf5dd2e474ea3d662L,0xaadb18becc01369cL,0xbedca5296be99116L,
  104674. 0x4dca80e0934f07a8L,0x99adb72766b0b50cL,0xb478a6f79766ca8eL,
  104675. 0x771ac1e2d3573d18L,0x0c64c745619fd002L,0x000000000000014bL } },
  104676. /* 63 << 469 */
  104677. { { 0x1ff694760c4e06f6L,0x00e69af1532a26ceL,0xf86f1f52c6b2dd00L,
  104678. 0xfdf77e8a92114d6dL,0xf5d2ac406197eb57L,0x66465d59ca274247L,
  104679. 0x708608a82c41da24L,0x3f3d3a4afc46e7dcL,0x000000000000000bL },
  104680. { 0xbf456142b8e1680aL,0xe98df23e3d5d3376L,0x4e0c78faea79d6a5L,
  104681. 0x1e7cfeb16436e15fL,0xf7ba6fef589b8115L,0x1cee877d7b5d2271L,
  104682. 0x1a9a5e2faa96639aL,0x1b756ea93bd35dc4L,0x0000000000000171L } },
  104683. /* 64 << 469 */
  104684. { { 0x5ea6d7ec70be25d7L,0x7123951418497519L,0x86ec4211661279b0L,
  104685. 0x3c673364d41deb71L,0xc7f5bf951884db68L,0x17eb082e77ecec04L,
  104686. 0xec159bb14ccef5a8L,0x630d61dcee69d948L,0x0000000000000130L },
  104687. { 0x0d0db8b4c1a69df7L,0x28590b46cfc11acfL,0x5137b85bb19d5a7dL,
  104688. 0x6069874da376813aL,0x871126092ab28149L,0xddc1900069e6d09cL,
  104689. 0x7b3544c70114f9bbL,0xae2d081fe842291eL,0x0000000000000110L } },
  104690. /* 0 << 476 */
  104691. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  104692. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  104693. /* 1 << 476 */
  104694. { { 0xc7cc50fb09b5947bL,0xe166a9afd5eae02fL,0x47c7953fda349c90L,
  104695. 0xc3d4bcae21c0984dL,0xcee13c2f45ff2419L,0x334cc1f147780ddcL,
  104696. 0x21381fb6f1157180L,0x28ff4f86eaede87bL,0x000000000000017dL },
  104697. { 0x10c72b8260e096a3L,0xc73306ec5ff796baL,0xb3f60666fecc17ecL,
  104698. 0xb9e0d51f46f82c8dL,0x6cbe5c7e296da50cL,0x87cb11044fa6c1ceL,
  104699. 0x5d5e0f6d491f9b8bL,0x187baf6970eb3d18L,0x0000000000000103L } },
  104700. /* 2 << 476 */
  104701. { { 0x2fafc73f189a0360L,0xe08428f1a68509e8L,0x4700e3eb3a2af597L,
  104702. 0x143c0bf14b298188L,0x9fb03775f0b9b8f6L,0x7c9e5a3a2653d193L,
  104703. 0x41109c62d1f8ab93L,0x8ad7cb71434536b8L,0x0000000000000073L },
  104704. { 0x82c43b2daa844eddL,0xad5be7ac3cafb62dL,0x8dd99c5b4a5b4b0cL,
  104705. 0x2a11dc4131c113aaL,0xe62332e93390e968L,0xa912cdea4b073b39L,
  104706. 0xbb0b8141bc11cb2cL,0x504272d1c9dca239L,0x000000000000007fL } },
  104707. /* 3 << 476 */
  104708. { { 0xde0324030689ca3fL,0x4584fd9714fd0202L,0xbea63186c84bfe39L,
  104709. 0x0e579aadaba48f51L,0xcda28545c1a4c309L,0x33629507fd645c90L,
  104710. 0x0c77cd5627b58e13L,0x4d84313664dda00fL,0x000000000000016cL },
  104711. { 0x281cddf1e91a439cL,0xaedc15d538bf386bL,0xf2f22343f35ea657L,
  104712. 0xf9fe82ea18a01f1fL,0x04f9f4730b5a27bdL,0xd296626d025df338L,
  104713. 0x45b950ba633dca68L,0xeeef58ad19f73b2eL,0x0000000000000008L } },
  104714. /* 4 << 476 */
  104715. { { 0xd92a04c26573f504L,0xb69c2dbb85de7ce9L,0xb2b82853a2a36153L,
  104716. 0x2899bd376af7feb5L,0x301805e5433c9010L,0x5bed8acab616d5dfL,
  104717. 0xc8afda4270e4b63eL,0x496eb13248cce468L,0x0000000000000103L },
  104718. { 0x6ebcd0500973771cL,0x6377d971474e651bL,0x7d0a936b0f6dea19L,
  104719. 0xf7cf4fce0aeaf504L,0xcee2076c170c2fbaL,0x158448263af78646L,
  104720. 0x67737e06e27f2225L,0xdfff84af4601bd5bL,0x00000000000000c1L } },
  104721. /* 5 << 476 */
  104722. { { 0x035d0a019df3894bL,0xfcfb77c6c2f36a07L,0x04957358c9319662L,
  104723. 0x52fb2c650e0fbe5bL,0x26d1fb01cf3ebed5L,0x3a417dc06f338b83L,
  104724. 0xfb234b48d11a9621L,0xbba96393db3f5cbbL,0x00000000000000d1L },
  104725. { 0x78b95f1495129ff9L,0x10504de14d5f0abeL,0xe8c7250d3f4dde14L,
  104726. 0x20c04ab4ea00ac99L,0xfaed11686eb2143bL,0x23e32bf4544284b5L,
  104727. 0x0512a28dbad3acb7L,0xaa1926aa86d008a6L,0x0000000000000192L } },
  104728. /* 6 << 476 */
  104729. { { 0x81f919bc75e0a1f7L,0x89de5dd7cd6a017dL,0x14d88451c9a96fcfL,
  104730. 0xf3f61d046c5b2967L,0xd21b7e9c453a4189L,0x18e9c74dc8b7bf46L,
  104731. 0xf8903f4f63921ee6L,0x1cabb3f025060de5L,0x000000000000006aL },
  104732. { 0xf15cd5c8c291f1cbL,0x26c8a484d0311e2dL,0x1e5d93b9d9e366c1L,
  104733. 0xb037cbdd812fd505L,0x8614127c0c567514L,0x4125bc9b4256930aL,
  104734. 0x84f62f976a0a82acL,0x5b12e21e8dbd5c67L,0x0000000000000192L } },
  104735. /* 7 << 476 */
  104736. { { 0xbe5764c9caf7fff7L,0x16cc873d6d606b04L,0x6a6f20784268cdfbL,
  104737. 0x06cd7ce627bd5738L,0x532d5c4242e47936L,0x704f0b2a7d0f8758L,
  104738. 0x6046d9f36d2e977aL,0x53feb41a1327c874L,0x00000000000000fbL },
  104739. { 0x9425b4d1013ef2beL,0x98b50c6e98a45194L,0xbf181a2b9df34265L,
  104740. 0x39c40ce4c2de575cL,0x6757daeb883b4dccL,0xcb224d4bf8b5efbcL,
  104741. 0x2dcf10aeed49a2a0L,0x9c1fff7a9ffda898L,0x00000000000000ecL } },
  104742. /* 8 << 476 */
  104743. { { 0x7d2636053e0c991eL,0xee3ed571275db80fL,0xf20cf648561dd429L,
  104744. 0xed7ea515f12bddc2L,0xb84130bd0a544f33L,0xd56fb7297832d23aL,
  104745. 0x728ebeec0bbd7452L,0x6006394d28216463L,0x00000000000000d2L },
  104746. { 0x43b5561b228b41f1L,0x90eba77819b17767L,0xca1ac49ea2533ac2L,
  104747. 0x23b080f75ee9175aL,0x98a9470773a70bb7L,0x4ca74d0815cecbebL,
  104748. 0x5141db56b4a97b7cL,0x758fe34ef1450caeL,0x0000000000000111L } },
  104749. /* 9 << 476 */
  104750. { { 0xd2b17efdc9bf0c9bL,0x79352df94a3175e0L,0xde19af86841b5f46L,
  104751. 0xd2bdefc98317fe9fL,0x4349c726a5ae3bc1L,0x9991211e43cad229L,
  104752. 0x3245ce6ef16a1f19L,0xb7a43c99f6b0a022L,0x0000000000000027L },
  104753. { 0xa0d43e88bfdd7fa5L,0xb9fdb126a56aef59L,0xe36fedb3eb1646b9L,
  104754. 0xc2a5b17fb2d25b2aL,0xd1db0f0f7526ee70L,0x526e46c6739fe3b6L,
  104755. 0x5cfa3185a6320001L,0x908282721717cee8L,0x0000000000000054L } },
  104756. /* 10 << 476 */
  104757. { { 0x61ed6a7f6e9e6e88L,0x0456d4c464e89e5aL,0xea5fc9d8f9e17ed0L,
  104758. 0x2dc7dfafcb542d12L,0xca40f95c8c90f19dL,0x347f0c9f375c2872L,
  104759. 0x3a5e1ff600f96cd2L,0xe3442888a9fb6359L,0x00000000000000f9L },
  104760. { 0x16e56ae6a6743465L,0xc9e24ada478dfe6fL,0x298ff6dfe42d5813L,
  104761. 0xfacb1cf51531c516L,0x9b778fde097be036L,0xaa17ea655155b221L,
  104762. 0x8fad7e57c8266064L,0xcbb079a05536759fL,0x000000000000013aL } },
  104763. /* 11 << 476 */
  104764. { { 0xbc23aeb2d1fc50f7L,0x5a63b2379b184c0cL,0xbc43ff0ee6794086L,
  104765. 0x64713b62031f0138L,0x3db4b0bd81da7dacL,0x4d6a996b36d6fb58L,
  104766. 0x6b064df122b4e62aL,0x0612931c7f6b9cbeL,0x00000000000001c8L },
  104767. { 0x55503228462bbc5cL,0x5651ec3a244999ccL,0x93b5b3d709872c80L,
  104768. 0x8cf163af070882c7L,0x7a2923223b30afe3L,0x8d92b4aaee45a4faL,
  104769. 0x94646bd3697a47b4L,0x99bde8f96423023bL,0x00000000000001feL } },
  104770. /* 12 << 476 */
  104771. { { 0xb627fdfbc0062d02L,0xa527c2db7c3ecc6eL,0xbd959f5d49faa954L,
  104772. 0x5e110744f6c6a3c9L,0x40f10e096d3907ebL,0xa94e585ee27341f6L,
  104773. 0x8f0e11851cb56481L,0x0f687b831cec3022L,0x00000000000001b3L },
  104774. { 0x5f8c166d962a12d0L,0x00b41edad2445d5fL,0x2b259ccee9690a54L,
  104775. 0xe4bdac1d6bfe61bdL,0x30cf14bcf51dc15bL,0x43e72573c600759bL,
  104776. 0x0bea781ff86f10c8L,0x3259d6086a363f83L,0x00000000000000c1L } },
  104777. /* 13 << 476 */
  104778. { { 0xc288ee74cdf30f6cL,0xa8fa52b3d8b19859L,0x1ff94a3023f725acL,
  104779. 0xf02bef5b58b44ec1L,0x0af81bdfb862bec6L,0xcb19979d38d65bb7L,
  104780. 0x4469bcf7c662adf9L,0x6f29e33195e8305fL,0x00000000000000bcL },
  104781. { 0x72244e292093d379L,0x590c16a0ec9d9897L,0xc635439ee45d50c3L,
  104782. 0x5b5562779b40b375L,0x9c9c449643d0381eL,0xd61c59c2378d8002L,
  104783. 0xf0811d15ac014d42L,0x37da2de58afa297cL,0x00000000000000f3L } },
  104784. /* 14 << 476 */
  104785. { { 0xdd15b8890006da10L,0x415306bf6643193fL,0x79036f1f242d9d57L,
  104786. 0x6c9d5588b36f9ecdL,0x58305c8bf19d2f9eL,0x383d6245f5c17b58L,
  104787. 0x9c6af8d8640cabedL,0xe8d10e728adb59ddL,0x00000000000001d5L },
  104788. { 0x5490f2f98e99708cL,0x5373965efdd3f754L,0xade0363389e6bff2L,
  104789. 0x59d82f758ea6e9dcL,0x3ddb97148ca95fb3L,0x25bc3b9a85713ed3L,
  104790. 0x0b118e05090cf1b8L,0xd95ea9cfc707cd92L,0x0000000000000028L } },
  104791. /* 15 << 476 */
  104792. { { 0x73bbc51cec9886f0L,0x6d91832d76c9105aL,0x3a4938ff7734de0dL,
  104793. 0x68613d279f71510fL,0xecc8b09f9c201233L,0x2b426b0d02f20792L,
  104794. 0x917bab5133f87aebL,0x21014269b921e7e8L,0x0000000000000139L },
  104795. { 0x366b3a8b91a3cef2L,0xbf63ed9910bba815L,0x98143ae944329e33L,
  104796. 0x7bf47db912c92e6fL,0x3e298e35de7bf2e6L,0x517d6a51770daa8dL,
  104797. 0x80a04c0e85e292c7L,0x252aac413a6ce0a0L,0x000000000000009dL } },
  104798. /* 16 << 476 */
  104799. { { 0x62a1f73e3fbadc57L,0xeabf4b68b1ba2d35L,0x711d7f6376f3bde7L,
  104800. 0x162f5183b31c3fb3L,0x0dcd66fed7d716f7L,0x6e1dbb78e46816d9L,
  104801. 0x532831b8f833a6f7L,0x64191ccb4cfed0cfL,0x0000000000000190L },
  104802. { 0xdb3763396d7824adL,0x6b948aefb16a391bL,0x2d174fd64ae9013eL,
  104803. 0x9b5c22ee16a57de2L,0x3bfed1da9e857a25L,0x635187a64d644bbdL,
  104804. 0x94786e3a6fe288acL,0x827c8b03ece25962L,0x0000000000000092L } },
  104805. /* 17 << 476 */
  104806. { { 0xdb67687a67d36ad4L,0x3d1af6ac40f1e687L,0x2c71a3ddae798682L,
  104807. 0x645140cad7a2071fL,0xc3517c50eb0d963fL,0x355c6438ab08414eL,
  104808. 0x4cc8ac9e0180c6cbL,0x561c7ca326fbc369L,0x000000000000006fL },
  104809. { 0x0342d1496e7e396dL,0x5a5cd24a1ba4fac5L,0xdaee6359a50d62beL,
  104810. 0x05d3140c9f8ec814L,0x1468a0a3faaf4476L,0x57b01227507375b4L,
  104811. 0x4577d26211476222L,0x6b9ff34821fcaf64L,0x0000000000000169L } },
  104812. /* 18 << 476 */
  104813. { { 0x053b265090739d6cL,0x81b004bd712093bfL,0x7f50af875afe50a8L,
  104814. 0x9b5ffb5e616741b8L,0x681137aceb3c3a6dL,0x69b12c2245ec1c2eL,
  104815. 0x43bf3b334d35bbdeL,0xd78593fe2a340a3cL,0x00000000000000d1L },
  104816. { 0x995af65a2422397bL,0x832b654bd1e5f2efL,0xdbde76cee8f57027L,
  104817. 0xbf107d39ac9d310aL,0x028a3faf7ef5943cL,0x2a51126a9db46e73L,
  104818. 0xaaf481c0b65d02dfL,0x6c0678a8cdd9a840L,0x00000000000001abL } },
  104819. /* 19 << 476 */
  104820. { { 0x7509b5b0a968ac0fL,0xd55260f8c75e5f25L,0xb517c59a16a4515fL,
  104821. 0x85e826661c3270d8L,0xf42ef8d3b92dcd94L,0x0cf375adc36f162dL,
  104822. 0x4335872c0da09278L,0xe1256b6a06d898e1L,0x000000000000011cL },
  104823. { 0xbed033f087f764ceL,0x55e48707aed0398eL,0x721335dc155cc588L,
  104824. 0x97b2e056d98215c1L,0x6348051fb6149163L,0x005844d2ea832fe4L,
  104825. 0xec5b0eb5c8d9470fL,0xd89a66da78fa2054L,0x000000000000019fL } },
  104826. /* 20 << 476 */
  104827. { { 0x4fe79ab617384010L,0x0113f08cf667c198L,0xacb83a5dc1b7d603L,
  104828. 0x3894655a113e8492L,0x4198a4dda53d7e23L,0x4154cb63a659d9b2L,
  104829. 0x87dc05902048cc45L,0x75bd93c9c871f14aL,0x000000000000017cL },
  104830. { 0xc5d2c8571c27cd43L,0x63c9590620c15abaL,0xb7338ea047b68435L,
  104831. 0xa328b780f45c64d9L,0x5830791649070f2eL,0x00fcabc4434c1e1bL,
  104832. 0x49af9ad69c28099eL,0xf45e8e264cb91946L,0x000000000000012aL } },
  104833. /* 21 << 476 */
  104834. { { 0xa566513cd10f4d45L,0x96be203262cf6caeL,0x3c901109bed653c4L,
  104835. 0xc9ddc6f5c9e6aac3L,0xd71c7f5cdf7736dfL,0x8e668bacc14d30f1L,
  104836. 0x8472c592082aa9f9L,0xa956d0c59e379045L,0x000000000000009dL },
  104837. { 0x2a30d8f689f409f5L,0x959721c74f2040f2L,0x4f2e28eccab44c6eL,
  104838. 0xd03ad278fa69fdbdL,0xf23605b67d5434e3L,0x5b23a0fb99dfd293L,
  104839. 0xbc9005f5cd1aa7b2L,0x9b380071de406705L,0x000000000000003eL } },
  104840. /* 22 << 476 */
  104841. { { 0x9cd76d418f852e50L,0xe53ef54d74e73fedL,0x719560097ff71362L,
  104842. 0x7063bd9fb11e07eaL,0x612e763de01438fbL,0xec67b225fea1f881L,
  104843. 0x689a7e7f935b985bL,0x32110c564098c919L,0x0000000000000052L },
  104844. { 0xa6f57214c1811d27L,0x72f18b108b658477L,0x24c30d8cf4eeab7bL,
  104845. 0xaa6d60131c6f8ab5L,0xea6b996378dba5ceL,0xdb404acebca2295eL,
  104846. 0xfe583aab514c8334L,0x6497bb4d15394b37L,0x00000000000000acL } },
  104847. /* 23 << 476 */
  104848. { { 0x199de705d09dce53L,0x3677a5add36a0a45L,0x1f052544a09d949cL,
  104849. 0x79cd422fda21efadL,0x01669ab6f92c9479L,0xec05bcd94b070ffdL,
  104850. 0x78cd06d3915dd773L,0x657eac7820febb9eL,0x0000000000000078L },
  104851. { 0xdbc2430b4f4fde91L,0xd68c37e8d9330002L,0xe37f66a0a1ca0636L,
  104852. 0x42420f8b219f789dL,0xddaae3cfc9391916L,0x964b9ea1de5040b8L,
  104853. 0xba0d5701f5637d90L,0x2433cff430254a91L,0x0000000000000136L } },
  104854. /* 24 << 476 */
  104855. { { 0x19427f7c3a0dd44fL,0x2422033f899cb9bbL,0xca5616531c414cdaL,
  104856. 0x2a6dd24ff611151cL,0x785ac036cb1ae063L,0x523c8d8947ed9de5L,
  104857. 0xa73e893cd2a988cbL,0x2c3013cce4b8ed7dL,0x00000000000001a6L },
  104858. { 0x4eecf37e9d92a8f3L,0x5e624fc1a23ca927L,0x4093ed7b54675ceaL,
  104859. 0x0ab770fc3071943fL,0x2d70962e31069eeaL,0xb1f1c5acae0038d5L,
  104860. 0x1b3164d04aa60fcfL,0x941eb6e60de4061fL,0x00000000000000daL } },
  104861. /* 25 << 476 */
  104862. { { 0x3dd4ee8e19a73314L,0xfe0237c31ee71340L,0x304ef3c4dabd8295L,
  104863. 0xa470f16e2b0e401fL,0x9b9b18bda90af043L,0x16879d527d4b1066L,
  104864. 0xa64163238a3d7f8dL,0xaa9ccc7e65ace4acL,0x0000000000000026L },
  104865. { 0x57dfdb26efd2582aL,0x31a4cbd5816472adL,0x3696706110bc7c16L,
  104866. 0x5a4b9b40653ced98L,0xdb6ebf15a0a04521L,0x7837ec24873b5291L,
  104867. 0xa7e51a29a5790ea5L,0x4fe225932c1f90a3L,0x00000000000000a7L } },
  104868. /* 26 << 476 */
  104869. { { 0xe04751fd84b60e15L,0x907bdd54dfdb9fc8L,0xde29491fccea9731L,
  104870. 0x08b53084558b3469L,0x932829537bf3fe60L,0x9542d0cc571d9a75L,
  104871. 0x3e280110dcd0424dL,0x1c653fd7f1fffe62L,0x00000000000000ecL },
  104872. { 0x0fe3420222f47f20L,0xc55aa305727b5ca5L,0xda700ec9cb053631L,
  104873. 0x5b540840d29a3db8L,0xa3215fb991f76098L,0xfd43d98f587dce0cL,
  104874. 0xaf9356d4b0186f34L,0x42fae7d342631c7cL,0x00000000000001d5L } },
  104875. /* 27 << 476 */
  104876. { { 0x809a4ee19e29d9bcL,0xca98f3eb866d85ddL,0x8b012a73c6076d52L,
  104877. 0x2d3c172d25f44794L,0x9c51f8b7aaba69c6L,0x0d8418773aaf1dfdL,
  104878. 0x9f8d5aea3aca08b2L,0x2d259c4d82594f4bL,0x000000000000016bL },
  104879. { 0xbb8f9a9ec0d718f2L,0x6731472692f7dd58L,0x30d7fb584429c13bL,
  104880. 0xbbb606d88a6127bcL,0x40e9739fe02e8f49L,0xc14feea8cd2d0037L,
  104881. 0xd08e46c31c288befL,0xad94174d58456ddbL,0x000000000000004fL } },
  104882. /* 28 << 476 */
  104883. { { 0x918ddc53c03584e2L,0x63792fc32a8e3474L,0x8f62970f8d6bf25aL,
  104884. 0xa865f2e231898fe8L,0x39dc06d1ded08fd0L,0xee1d4e6f603536e0L,
  104885. 0xcd4951727a60552fL,0x427b8e9eb63f05a9L,0x0000000000000045L },
  104886. { 0x2229440303fced47L,0xec0db4da27fc6286L,0x0ec8947b4f7f7b5fL,
  104887. 0xea2cae19d7dbce85L,0x9bcf3f58900d2b20L,0xc8688ae67529f727L,
  104888. 0xd45e9ee17169208dL,0x1b6c3acc1513e205L,0x0000000000000080L } },
  104889. /* 29 << 476 */
  104890. { { 0xc9ea814896361293L,0x7e8dc3b2cbe8593fL,0x133f210f3a9b8cb6L,
  104891. 0x90a01852e96e46b4L,0x5075484c849ce67fL,0xb452de9c8e5b2fc1L,
  104892. 0x0a3a41c03efc8f60L,0x2466d6310970d1beL,0x0000000000000056L },
  104893. { 0x3ef2e84ffc6a068bL,0xe878a857b90a37d2L,0x983320953070a043L,
  104894. 0x3a884fcd9a96f4a2L,0x023ece985cfe8c13L,0x5d397f8566a6e2bcL,
  104895. 0x566cb17a6e325e8cL,0x8583e930d325b396L,0x00000000000001b7L } },
  104896. /* 30 << 476 */
  104897. { { 0xe4e1585378ad5c40L,0x88bb989adac2b22aL,0x0640a72813d25937L,
  104898. 0x453c268adc17fe6cL,0x1405015ffff90425L,0x6df4af98c282227aL,
  104899. 0xe903cd7dcd424986L,0x3a642d65ddbe81a6L,0x000000000000009fL },
  104900. { 0xf69256ff0b072bbeL,0x025e83d594792f5dL,0xfae73b56e1a0d4c8L,
  104901. 0x41b4794fd773135cL,0xbf533baefa6a7c6eL,0x8d10d72c9370e86cL,
  104902. 0xaf4005bb45c5b34fL,0xc929d758bc34a7d8L,0x0000000000000149L } },
  104903. /* 31 << 476 */
  104904. { { 0x4595f8cce9d67ceaL,0x6943ca4166942ca4L,0x53b1cac7945ab052L,
  104905. 0xc6c82175cf0ab86cL,0xabf93f532f16a36eL,0x29a01d58ccc0db55L,
  104906. 0x71cc7e2b2e389be1L,0xef5bd8ce5f396997L,0x00000000000001e9L },
  104907. { 0x2344a22bfd5a46d3L,0x0e4804a34e184097L,0xb24186d5ae5021caL,
  104908. 0x7688f016081e9625L,0xb42d53683dbc5299L,0xeb8db964fc0f984dL,
  104909. 0xb4ef82a2421e1f8cL,0x1af0710a07050a74L,0x00000000000001caL } },
  104910. /* 32 << 476 */
  104911. { { 0x027f4ff2d35b5acdL,0x0e0fec359eee8cafL,0xa99aa6e2544c2a44L,
  104912. 0x0548945fa9de5ee3L,0x02ee7fb3c4c5263fL,0x3fae05eec75a400dL,
  104913. 0x50ecff533640dfc6L,0xe57c180fc0cecb87L,0x00000000000000c2L },
  104914. { 0x22b3504387ba8e83L,0x6c47f5d21c652199L,0x2ec15d3d19f3260dL,
  104915. 0xcf9e5050e95faea6L,0x7adc35cca4f5d193L,0xa7b0f1f33ddee652L,
  104916. 0xdfb751246e213c07L,0xe33a115a7946ddc3L,0x000000000000009fL } },
  104917. /* 33 << 476 */
  104918. { { 0xbad8626ba00b3223L,0x28f525c1276bf50eL,0x5473d3efd0d599f9L,
  104919. 0x8327c435483a8f1cL,0x0d6bd8e891b88a89L,0x3ed2f18bb691fa7aL,
  104920. 0x4bb37c999089f2dcL,0x7872a7d971139d0fL,0x0000000000000073L },
  104921. { 0x5075c85dce1794aeL,0xc677297b24378c22L,0x9f7ff8617d981d06L,
  104922. 0xdff027c8defa63c3L,0xebe3157882b6ae41L,0xad2afc54c16e74baL,
  104923. 0x29f51ea9c2b7ede2L,0x8af4f36efdc2ad9dL,0x00000000000000eaL } },
  104924. /* 34 << 476 */
  104925. { { 0xaeedb8fff0380ebdL,0xb4c5f02397de16e4L,0x6d48399034558657L,
  104926. 0x7c35f8d58dde237cL,0xf6476a21ade8cc2fL,0x610f9504bf380f9cL,
  104927. 0x66d63301ba054ee0L,0x2f1bcb891340be68L,0x000000000000019bL },
  104928. { 0x4a514ab9bfab6e8bL,0x6602369b2eb7baf6L,0x6642e1f1c7c4bd05L,
  104929. 0xaf22b1bfc31de5beL,0xac45bff337ba8dfeL,0xd3d3be278a0f3484L,
  104930. 0x39ad805e35d3e9cbL,0x5cad4328fc61a017L,0x00000000000000a1L } },
  104931. /* 35 << 476 */
  104932. { { 0xb485946aa3d8dfadL,0x1e0ef60f4d09e4edL,0x2465fb251f947cd4L,
  104933. 0x86ac22024f26eb6bL,0x1ef5a7e60ade65acL,0x7e9e1e9ad1343201L,
  104934. 0xaac3955c7be0aaf2L,0x59c532f852752348L,0x0000000000000136L },
  104935. { 0x502f0d9b95d6df86L,0x695153fdc8819108L,0x46488395b504460bL,
  104936. 0x0dd02f9d7f9bedf1L,0xd03f5b64be406a37L,0x81ca920f0d3f5fa5L,
  104937. 0xabc154fa56564543L,0xf7e482f6ad9dd5cbL,0x00000000000001c5L } },
  104938. /* 36 << 476 */
  104939. { { 0xed7c87484052967dL,0x539e1bc034ec54e2L,0x45a999801315ccc6L,
  104940. 0x6ebab37dfd3c16fdL,0x35c88fd9776a636aL,0x1d5074b9545a61bbL,
  104941. 0xe13c2ef55e5fa705L,0x161fe458b33824eeL,0x00000000000000f3L },
  104942. { 0x6e403b0577aa5135L,0xf830daa6bc413029L,0x778b4c30533435acL,
  104943. 0xd8436f9421a4dbf3L,0xfb75c9677ef5d437L,0xbf31e122f1c93e89L,
  104944. 0xeba1e3bc524a71d9L,0x68458dac4b75e86cL,0x000000000000006fL } },
  104945. /* 37 << 476 */
  104946. { { 0x6f4f3dd0662499e4L,0x52fc1991d3366014L,0xf3e18982832a72b8L,
  104947. 0x139e6a0aa61c4ed6L,0x30f28391fc271a46L,0x0567b845d969103fL,
  104948. 0xa37f178406ccbc6bL,0xef56b5fda5093031L,0x00000000000001deL },
  104949. { 0x1254563e29bdc854L,0x51dffa0a17e7bfeeL,0xeb23b7b813055a8eL,
  104950. 0x6a0c00672f115b69L,0xfde42254f5451cf4L,0xfad70d3250091f5cL,
  104951. 0x8e3344f7169ff7dfL,0x509c843aa437d427L,0x0000000000000195L } },
  104952. /* 38 << 476 */
  104953. { { 0x34a512a52212da86L,0x35e49c33dc085fa5L,0x67559f2c3268fb8fL,
  104954. 0x5a0e4c28fa04bd3eL,0xcc71661f406b00b9L,0x10b53ac137f6f369L,
  104955. 0x322427439de56f17L,0x50992ef21074232dL,0x0000000000000086L },
  104956. { 0x2710c0242e9778bbL,0x6a445e195e6730f9L,0xe9db7c6b182bcf75L,
  104957. 0xcc2c0c169cff3237L,0x38495c929e91016bL,0x14a3999b65c4b494L,
  104958. 0xb94667e0ab92f8ddL,0xc52df245a2e4dddcL,0x00000000000000a7L } },
  104959. /* 39 << 476 */
  104960. { { 0x24b43f0449465931L,0xe9846e833c923c39L,0x640cf800272924aaL,
  104961. 0xc9b6037cebb88275L,0x3e920427a1656018L,0x7cb62370b8f85c77L,
  104962. 0xa9df472ad4347c6bL,0xe438aa66e042c30aL,0x0000000000000031L },
  104963. { 0x853f201d6011ebd8L,0x065d9edd4ce480a2L,0xc2eabdfcee6a18d9L,
  104964. 0x9a03831d83905426L,0x09d2b3fc3a039862L,0x75040f7227c291b3L,
  104965. 0x77dcba094598435dL,0x1391704ac9b9e54dL,0x000000000000018fL } },
  104966. /* 40 << 476 */
  104967. { { 0x0cfe94974ad63b91L,0x39411a2cadcc08d6L,0x198aa66d98605b89L,
  104968. 0x0c1153da708841cbL,0x7edd21f29e46a446L,0xa45f38dce62221fbL,
  104969. 0x9cf28ee83580482bL,0x06aeba1fa674e7a4L,0x000000000000015aL },
  104970. { 0x38e7fd4db449387fL,0x6179190109421a33L,0x65c1a5844fe13330L,
  104971. 0x6fbf269567144a82L,0xa06241c4d40afbe0L,0x9af35b88eff6a461L,
  104972. 0x001b6b24e2be2435L,0xf1ec4414905dddc1L,0x000000000000000fL } },
  104973. /* 41 << 476 */
  104974. { { 0x00de445f7006f9feL,0x0786824e311bf00dL,0x8206644605c0fce0L,
  104975. 0x25cc4fd9905278f0L,0x1882ee6eaa7c33ffL,0xcd1577bc651cdc8dL,
  104976. 0xd31936e360161788L,0x9ab9852fc5fa4f46L,0x0000000000000170L },
  104977. { 0xc3979e72c25c1871L,0xe6ab079252c82442L,0xa1da5c25e8949acbL,
  104978. 0xd91b3d9bf02b7d0eL,0x54fa0575516699a2L,0x8efb5dfc11397f0aL,
  104979. 0xa694a0446f27a9ddL,0xd776b8b7635f3527L,0x000000000000009eL } },
  104980. /* 42 << 476 */
  104981. { { 0x18ceeb27896f7815L,0x2e6a7298196a8bdeL,0x3a104d3eacbe43a9L,
  104982. 0xcc207227823bbaa8L,0x6d905c49f492f53aL,0xe6ff675f6839c256L,
  104983. 0x0458eb94c0dd385bL,0x0fdda10a3f558bdaL,0x00000000000000c3L },
  104984. { 0xaf516cffa8da33b6L,0x1ed91b01df22270bL,0xb11f0c5561393addL,
  104985. 0x44c5ae29d31390f1L,0x5b2b530a894ae78fL,0x4dbdca81df45dc47L,
  104986. 0x5f0834c94e3827d0L,0x302a6a06ea2a27c6L,0x00000000000001d3L } },
  104987. /* 43 << 476 */
  104988. { { 0xbd2cdcafcbac1d22L,0x8b67a628bbf18095L,0x8360fbd4b99755deL,
  104989. 0xaa3c1abd36b6a3d7L,0x90258eccaa6f0471L,0x75df5700a954109eL,
  104990. 0x6ed4ac78486b2593L,0xb456ccbf8b51a370L,0x00000000000000d0L },
  104991. { 0xa6aa0ad865cf6c0aL,0x3b1965ac95863b68L,0x129262647c831811L,
  104992. 0xb02283d73e9eed94L,0x7314ae01b2126091L,0x39219a7287aa13ddL,
  104993. 0x2ee49375c32a59baL,0xcb689e7335851c67L,0x0000000000000109L } },
  104994. /* 44 << 476 */
  104995. { { 0x75c28be714a5265aL,0x8dd13c72b4c7802dL,0x26d2cee7c8d89192L,
  104996. 0x83c5d55d24272316L,0x882f4e1c4c5b6041L,0x477bbf51d3237af9L,
  104997. 0x929ad1da89e4635aL,0x462e54e4440dcf82L,0x0000000000000115L },
  104998. { 0x92e86b7bd6710cc8L,0x9ae2cb4c210a3bdbL,0x5e366b0765cc970fL,
  104999. 0xe0c9c82b7713075fL,0x4fe46ed1410513e1L,0x655944acf5b5edc8L,
  105000. 0x328afb24e3986180L,0x2c86c170ec210c87L,0x00000000000001afL } },
  105001. /* 45 << 476 */
  105002. { { 0xdf078ff3615fae7bL,0xbd1e1ff130dfd4aaL,0xb5acc56700ef9988L,
  105003. 0xc8deb6c5e593e61dL,0x9705431612ce76fdL,0x466d5faedc8235fdL,
  105004. 0xa7887816e3802e8bL,0x8c477b7168cee998L,0x00000000000000caL },
  105005. { 0xf7f7097b7146d6d2L,0xbf5012c5ede058c0L,0xf093ce34a1cd690aL,
  105006. 0x6412920239deeba9L,0xfad016ef45d0ec64L,0xb8006ac513ce1bc2L,
  105007. 0x519ff55a527f8971L,0x8203739fdf660805L,0x00000000000000d2L } },
  105008. /* 46 << 476 */
  105009. { { 0x589116a0f1e8c56fL,0x6ea85ed6cd20d5b0L,0x5f1f5d6832ad1f37L,
  105010. 0xf98c761eba7ec611L,0xf5295fcd103f1f7aL,0x26b7bb746cd41f07L,
  105011. 0xd8ab44aaa0d20471L,0xbf4002f4cac0098dL,0x0000000000000182L },
  105012. { 0xc6e82ac8c6c269e5L,0x5140dd2468160d85L,0x98e7440ceaed9d4fL,
  105013. 0x72eb1107ba61a8c7L,0xced4753f28c51ea0L,0xfbae3303b6a8c96dL,
  105014. 0x2b03bdff7c3e52e5L,0xefe149227825d3dbL,0x000000000000002bL } },
  105015. /* 47 << 476 */
  105016. { { 0x42359d455c79dd95L,0xc58e19f927540084L,0x430f0e5278fe7d63L,
  105017. 0x16a8589a0faf615dL,0x3839b8a7503a9f7fL,0x0310ebe623e6b6b5L,
  105018. 0x2c585bbb62de235eL,0x91cdb04da2d3388eL,0x0000000000000035L },
  105019. { 0x31b09c074ccae626L,0xbad7e2a38eb5fd2bL,0x609f75e05bed3b8cL,
  105020. 0x61ae6c2b8b23d6a9L,0x7f9c74bb2b493455L,0xa7ca5bb0beb78ac5L,
  105021. 0xb2413a13d4af6a09L,0x23169f3e554697ddL,0x00000000000000baL } },
  105022. /* 48 << 476 */
  105023. { { 0x6e965255ef4b1b98L,0x3f63b6bd8ba97bf6L,0xc6cacadb19bb0ba0L,
  105024. 0x9f88f0c83c8edcc4L,0x3a2d4bc51a489aceL,0xaa3075b75529bb67L,
  105025. 0xcdb0c4d6ffbbd2bfL,0x4a3b41d33a568fd4L,0x0000000000000146L },
  105026. { 0x46442711effa56aeL,0x941858d847acc062L,0x9480d79c7434d565L,
  105027. 0xa92e885943322eccL,0x650cd6de5f82931eL,0x4ef5d48397876156L,
  105028. 0x04ca704aaaf946f4L,0x75258aac0a95e02cL,0x0000000000000132L } },
  105029. /* 49 << 476 */
  105030. { { 0x2544f5d10856d9fcL,0x29678dabe80f610dL,0x0987e134066ea695L,
  105031. 0xa208023070fe1ac3L,0xc65df557fb51ba2bL,0x60a2d5693320b29dL,
  105032. 0xd097f83de67d902dL,0x7f92f3d3d76522f8L,0x000000000000005fL },
  105033. { 0x7ecc057cbd6ff176L,0x5abcb1d0d907062dL,0xc49f4bed9fd1bcf9L,
  105034. 0x4042dd6399c27c6eL,0x1b1a7480a867644fL,0x8d65632c49d3134dL,
  105035. 0x6f31a12a548695a9L,0xa0abbea7be0ed228L,0x0000000000000170L } },
  105036. /* 50 << 476 */
  105037. { { 0x16e0e933c494da37L,0x3018f05aa75b90ceL,0xa382c38aa8dffc72L,
  105038. 0x66775c45f105047bL,0xd4f234b08929555fL,0xfc5c829646525c45L,
  105039. 0xf65136353442a793L,0xcf862712fbdc67ebL,0x00000000000001adL },
  105040. { 0xa1afce91c8e7f888L,0x23a79d7eefd25a7bL,0x36d5b89881e2f333L,
  105041. 0x4e9f1db4e12880deL,0x4ae2df6b6ea83f9eL,0x3dacb4b7f81caaf5L,
  105042. 0x03d46680fb01b238L,0x3b6ef2c1077e2c41L,0x0000000000000104L } },
  105043. /* 51 << 476 */
  105044. { { 0xb5549eaaade2d6e8L,0xecee8b8177078851L,0x75f43854e0913393L,
  105045. 0x5752bf7208c25924L,0xcf0f36aa1873d036L,0x6fb99df52d814f28L,
  105046. 0x12fcade24f4460c7L,0x1f39dfc0d1ff8940L,0x0000000000000073L },
  105047. { 0xc4821f9e1f3474cdL,0x52eae506d410f535L,0xe5fdda1f337122f1L,
  105048. 0x7436c966551d7704L,0xb1315a9b7e5d83ebL,0xb47b7fa163dbe687L,
  105049. 0x9de3f163e1ad5528L,0x4eab78571865d6caL,0x00000000000001e9L } },
  105050. /* 52 << 476 */
  105051. { { 0x4e989dfe03410c9dL,0x33cba247a0b9dc26L,0x00a287260ec09c0fL,
  105052. 0x5ef32ea9166a3d1bL,0x11acc0b22efa02c9L,0x78780ccbc37bb3a9L,
  105053. 0x80695d7957cd294dL,0x2d2fcf8d22a843baL,0x00000000000001e3L },
  105054. { 0x01b2f4a035455b91L,0x0501fad5292c8300L,0x1d2c358027a13460L,
  105055. 0xc58b09314cdbe18cL,0xa00615bb09c40371L,0xc07dc42a31e3bb1eL,
  105056. 0xb85f8730f5bd0e84L,0x9f6fbbfff41772afL,0x0000000000000030L } },
  105057. /* 53 << 476 */
  105058. { { 0xd09c91bc77553a15L,0x361e49601bd5da39L,0xd3980e9f72042f3aL,
  105059. 0xfcd4543d671a9b4bL,0xe0f776a8a6acfc0bL,0xca99229a69a5624aL,
  105060. 0x831862aaa1f64885L,0x5883a7af179436caL,0x000000000000019dL },
  105061. { 0xc40411817d06a8c9L,0x8a0941ef8965fae2L,0x6150d992eb25d71bL,
  105062. 0xfbaf356ee2350cd8L,0x5cffc7c6a439b155L,0xc3566052a70c21ecL,
  105063. 0x9d4432847f016d22L,0x30295f053f58948bL,0x00000000000000ecL } },
  105064. /* 54 << 476 */
  105065. { { 0x6f279f62ede689e7L,0x9b66e05622e958e0L,0xbf0df539b143ca4cL,
  105066. 0x945ffe3c094f5f2bL,0x425a9a9008dcd6e5L,0xef36de89a6fbae42L,
  105067. 0x9e5291e573bb2760L,0x93b5925a57d1173aL,0x0000000000000183L },
  105068. { 0x4dda1a9760968355L,0x7c45e7440760b638L,0xa80c805f102af8e2L,
  105069. 0x3b784e7d0d1802b6L,0xae9196a070c07c40L,0xdec2da01ef7d0af9L,
  105070. 0x0159c65e60349221L,0xea3091d6801d78d6L,0x0000000000000080L } },
  105071. /* 55 << 476 */
  105072. { { 0xa09d33ba8c2aa8bbL,0xa73e2da2a4db5575L,0x62caaad1556990feL,
  105073. 0xdaffaed72d31b382L,0x8504f2e08be1f79cL,0x15f8630b9a60fca3L,
  105074. 0xa2ac9180540630ccL,0x1190d92dd7720e42L,0x00000000000000d9L },
  105075. { 0x208070c9c36d06deL,0x1b195581806e6fc5L,0xe358e901b6f52524L,
  105076. 0xdc2bebf342ab3a2eL,0x4825f836a7a28526L,0x64ea6668c0a29d15L,
  105077. 0x8c66792927af62bbL,0x3b9b031889fd3214L,0x000000000000005eL } },
  105078. /* 56 << 476 */
  105079. { { 0xa901a71312538fe5L,0xce0c9871f2f66dccL,0x05e90fbadbfa8c57L,
  105080. 0x82626b4d4a84065aL,0x95101f3bcec2fdc0L,0x00fedbd1c2389459L,
  105081. 0xc38e00945c1ce6acL,0x07d68900b4ef5efcL,0x00000000000001c7L },
  105082. { 0xbee9a6aacab8c27bL,0x5a8c52d998486109L,0x68351a08da2cf44fL,
  105083. 0x83e72bad29e7f1a4L,0xf6397648b1220a5cL,0x791fb8c6230e46b3L,
  105084. 0xab83c6386b1dfa43L,0x8b7d1b711d99ac55L,0x00000000000000f8L } },
  105085. /* 57 << 476 */
  105086. { { 0x765aa8e7876c772bL,0xe6843325b5b97f6eL,0xfe9fd6c58ab54c16L,
  105087. 0xd6a1e62441d8de82L,0x42a5842800260cb5L,0x407b0e42520aab9fL,
  105088. 0x039d551ec8ce6af2L,0xa884cf26f0a5f4d6L,0x0000000000000155L },
  105089. { 0xc32e89bf69c53346L,0xeaabbd18c5e05a39L,0x88520159b89c3d28L,
  105090. 0x9d7431d255e2270eL,0x6a27c977c289dff5L,0xfcd3b6da33729f3dL,
  105091. 0x30a1e20283c7398bL,0x19f5f537da4e5125L,0x00000000000001dfL } },
  105092. /* 58 << 476 */
  105093. { { 0xd6b1be19b2227e11L,0x089708a5103e4640L,0x234103f813d0eaa9L,
  105094. 0xcad17afd3fe18f65L,0x86b69be58933c95fL,0x3cb944820cbde5b2L,
  105095. 0x63ef96ce553e46ecL,0xfcc54f027ee7ab01L,0x00000000000001edL },
  105096. { 0x6c85f7c1b24788e5L,0x3b7135a7ed618715L,0x7cbeed1899453d4fL,
  105097. 0x2494a201ee56ea6fL,0x718327b3cff78c9cL,0x0b51a87c87f006c6L,
  105098. 0x0da34203f2a2a6e4L,0xdef43eb70f3d8ddbL,0x0000000000000118L } },
  105099. /* 59 << 476 */
  105100. { { 0x5660ef89fca5e4dbL,0x147cb2c562b1adafL,0x656e8f4565f6200dL,
  105101. 0xed790c437415cb36L,0xe9edf21257aa09adL,0xbc19c5fc95d36d02L,
  105102. 0x43f17f8678de47e7L,0x2850fe7691b3b0c6L,0x00000000000001f9L },
  105103. { 0x5d9cf8962551c84dL,0x66bba935edaea8e2L,0xa8ad879ddd2adb96L,
  105104. 0x332b3b65a8ecffc5L,0x598adbd76449ab1bL,0x92d14bb3e3ab3305L,
  105105. 0x5288b2dff02d0b51L,0x63556a666aa36025L,0x000000000000008aL } },
  105106. /* 60 << 476 */
  105107. { { 0x26693bfd33fd2555L,0xc6ffca6e0d7d3eebL,0x3df570919647dcb9L,
  105108. 0x05ee7744cd5235acL,0x4f33bcbd0acccf3fL,0x10ff4e69e5176e6aL,
  105109. 0x059a1dbefd230eecL,0x1589dce81c63e145L,0x00000000000001d0L },
  105110. { 0x283ef53ad892bae1L,0x25787ebb1e7b35adL,0xe4d612fe84ddaa2bL,
  105111. 0x1350f60986da9a4aL,0x0daf1a86d28940d9L,0xb58efecedc742269L,
  105112. 0xb316aea1c05daa85L,0xfc0c48a1c8adb92fL,0x00000000000000caL } },
  105113. /* 61 << 476 */
  105114. { { 0xc8e460eb5db3df35L,0x4a3b8c99fc914e7fL,0xf8352c30e961adfeL,
  105115. 0x2c2fe81b2f9c30f6L,0x3f8d9d32676a3d21L,0x663e1dea77a990a5L,
  105116. 0x54974a741998b5f5L,0x78968bd0304b02c2L,0x00000000000001afL },
  105117. { 0xf07c9eb52479b8baL,0x90a4eb34b2f78c13L,0x8d4c1421d769cdf8L,
  105118. 0xc2ff257feac177e7L,0x5a7f84c740363d1bL,0x845c7d87cf3e6f23L,
  105119. 0x0801827661f1cc24L,0xa6f875b23bf25783L,0x000000000000019cL } },
  105120. /* 62 << 476 */
  105121. { { 0xf9fefec9d7a4cf66L,0x38ce98608bfc8387L,0xd72acfec1c10d914L,
  105122. 0xc98c23e6f2daea2fL,0x9395abfe41cec6a9L,0xedde92f2ecab3380L,
  105123. 0x403c12cfece67cd5L,0xdc77f38e72ef3b83L,0x000000000000015cL },
  105124. { 0x05d31e27bdbfeae2L,0xeed3521c3cbc6102L,0xdae5b97d85b16c89L,
  105125. 0x2211c4770d03349eL,0x8de8a13fd5f6ba3cL,0x769676f194a76b70L,
  105126. 0xd7487982a0097db3L,0x39c43746da241827L,0x00000000000000cdL } },
  105127. /* 63 << 476 */
  105128. { { 0x5c311656b5797336L,0xe90cb3caa840d076L,0x20bbd61e2cf37453L,
  105129. 0xa0d0e7e30487e7aaL,0x56ab5c950c73dd7cL,0xd239c650a42de3c7L,
  105130. 0xf6bcaab92e59b709L,0xfcd8f1277623641cL,0x0000000000000162L },
  105131. { 0x6025552300cd2ba8L,0x95be73bfe5ad4751L,0xac7188bc800a9c4bL,
  105132. 0x7f30bcb9e920f752L,0xc9b970f03e122bbdL,0xb95efc15eb82e5bfL,
  105133. 0xed09e0d7aecce9f3L,0xa75e92cdb123af88L,0x000000000000002cL } },
  105134. /* 64 << 476 */
  105135. { { 0x7aaa8f37d3cb8e9fL,0x8f3b48a91a73d853L,0x783ebbe7ef285a53L,
  105136. 0x4f9d97291c3ef389L,0x130f276c6453da69L,0x76683273834facedL,
  105137. 0x026a3722af5af17cL,0xd588aa37f08a5e50L,0x000000000000016dL },
  105138. { 0x81b6610bbbdc76b3L,0x406785dd563a6902L,0xe0755f6ced775283L,
  105139. 0x08d6c84753b16d0aL,0x48ebb570654f906aL,0x3f0c62b7184b373cL,
  105140. 0xd6bb91b6314d776aL,0xab9bfb3a224744a7L,0x000000000000012fL } },
  105141. /* 0 << 483 */
  105142. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  105143. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  105144. /* 1 << 483 */
  105145. { { 0x5abd70212d7e7be5L,0x5ae72dd6b01cca76L,0xba2a179499fa6345L,
  105146. 0xbd22d699b5d0cb9bL,0xde336adffce9c6b9L,0x602dc43cfb816436L,
  105147. 0x9d86318f33b17e66L,0x43f8ee75dcdd628dL,0x00000000000000e6L },
  105148. { 0x1bf13bba3d223930L,0xd77bbb123b6b0034L,0xa4ea21c4be34bac8L,
  105149. 0x95e5f221aab61589L,0xb4494eb79d411c28L,0xa423c6f5cbe6faa1L,
  105150. 0xab882ee7a6e4e735L,0xb36eacdb546545b3L,0x00000000000000c2L } },
  105151. /* 2 << 483 */
  105152. { { 0x651b47c813b42e63L,0xe705441316bee2b6L,0xdcf60ca386a71ac0L,
  105153. 0xabddb357e3baf787L,0x99d631d181a2db2dL,0x3f1e3c7fc8c9b834L,
  105154. 0x3b30fa1861adf4d7L,0xd1d8d98014b9f46bL,0x0000000000000139L },
  105155. { 0xae6f6b72f6af1252L,0x0fc583984ff8a00bL,0x1b2c0cc5a81fd641L,
  105156. 0xbdcaabe6e68b6fbaL,0xd1af82fe70b14e44L,0xe9c35419e55ce735L,
  105157. 0x3c83d9dc01dcefb9L,0x42604200fb5824c9L,0x000000000000011fL } },
  105158. /* 3 << 483 */
  105159. { { 0x83b863c448455ab7L,0x76d7a946b45ec4d2L,0x3a26946f1a9dbb92L,
  105160. 0x3912023daae7ac94L,0xa55fdf4ab43e7baaL,0x0b84464b5164d35bL,
  105161. 0xdafbaecd58ac3925L,0xcf5aa8cb1f7b30bdL,0x0000000000000089L },
  105162. { 0xb3fa2268858cb669L,0xd325b4a6074aafacL,0xe364297587e39973L,
  105163. 0x1d9aac78d8125423L,0x205ae65940a7d2d6L,0x102e8f88220f449bL,
  105164. 0x5b98b50f429d6d97L,0xef341ac978674bafL,0x000000000000002dL } },
  105165. /* 4 << 483 */
  105166. { { 0xc4c1d5064d245501L,0xc7c62e341083602aL,0xd5d6895961f152c7L,
  105167. 0x3b142866906e6f00L,0xfa4d7aec3468335bL,0x6c36da5cf4687f7fL,
  105168. 0x6643389b0dc658daL,0x99cb5866d8447de8L,0x0000000000000037L },
  105169. { 0x0fecfbab807a703eL,0xeca0bd01ee68c875L,0x375589c920d8bdd0L,
  105170. 0xc0fbd62f14025692L,0xbf5a0c1ee6b70d27L,0xf9630aed9cbbb1aeL,
  105171. 0x9776abebba99b392L,0x883c8b53c97978c6L,0x0000000000000095L } },
  105172. /* 5 << 483 */
  105173. { { 0xe79aa3fb79b1fd27L,0xf4613c54cb46f207L,0x9a56f2c3b0a5bcd7L,
  105174. 0xf6ce188a5ecd38d4L,0xfd52c36f90250becL,0x182bd1b97d054438L,
  105175. 0xb1401bdf2586edc0L,0xe147512afa989224L,0x0000000000000044L },
  105176. { 0x68fea57855a2d55cL,0x547f9129b57a7470L,0x4627c2ca8df3b0d9L,
  105177. 0x4ef699bee8aad7cfL,0x62677d53f996c4f1L,0x7f79982e924cf349L,
  105178. 0xbd5db9da4d785216L,0x2554390fe96df8acL,0x00000000000000baL } },
  105179. /* 6 << 483 */
  105180. { { 0x753ce74ae22f1171L,0xae29377f15f959eeL,0x90d8c9c5dace4bdcL,
  105181. 0x45f210f7ab4dcffcL,0x32135e10e1283166L,0x23a0610932072197L,
  105182. 0x4d3cccb74d767572L,0xccdc43a3807a50d1L,0x00000000000000e5L },
  105183. { 0x6a5534206880d712L,0x92b60f04dd80c4cbL,0xf3538ba2dcc9d35dL,
  105184. 0xd3166fafd0787305L,0xd2a1b177b7d68560L,0x847aaf905e9f7915L,
  105185. 0x210046e55b83cc7aL,0xd26ce0bdb4964926L,0x0000000000000179L } },
  105186. /* 7 << 483 */
  105187. { { 0x2a569603208e6bcfL,0x8d08f4df9f8f8597L,0xc13bef95f9d62574L,
  105188. 0xc17f7fae4fdec97bL,0x7810ce14a511c162L,0x10fa0d23941c7cd4L,
  105189. 0x2f41e9f76aff6e68L,0x70665ea2ffb8f648L,0x000000000000000aL },
  105190. { 0x0b5f267fff4baad5L,0xf1f79c10cb85a780L,0xd2003dee61e33305L,
  105191. 0xda556c2fbc3b90cdL,0xbb799f45e116a936L,0xc6183fd80ce85ebeL,
  105192. 0x57b3224fa035eef6L,0xf6840485e96bc901L,0x00000000000001baL } },
  105193. /* 8 << 483 */
  105194. { { 0xdcbfbb8be5f5826eL,0x31fbd1c02954969bL,0x452c254d09536e44L,
  105195. 0x6b733e3b36cd821cL,0x8fdfe02f2d8260f9L,0x26163d810e2a44e3L,
  105196. 0x23e435a33e2e3a4fL,0xcd8529b5777baa61L,0x00000000000001c0L },
  105197. { 0x634dd97aa246d14eL,0xdfed13a7d443a978L,0x4668e97a8752bec5L,
  105198. 0x1f52f42826a0f8e7L,0x0d69a760308ddff1L,0x54602bf7591ed51eL,
  105199. 0x223e342b3bbab1b8L,0x1cf905cbd5003ef7L,0x0000000000000132L } },
  105200. /* 9 << 483 */
  105201. { { 0x070339e46d0ba610L,0x57de05dccb0e3fccL,0xb4f1cd37d61a1266L,
  105202. 0x92ca341caa4f2316L,0x4ae641fc258976faL,0xdb7cb7cb079c8bcfL,
  105203. 0x88c11cb58ec68df1L,0x42cb801909df9b8bL,0x0000000000000198L },
  105204. { 0x3cd7238e57aded5eL,0x0773bd3cf50528f0L,0x4c2b4f24c93b6753L,
  105205. 0xcbd40a940481c43dL,0xf37fc077262905a7L,0xf079fd24bcc8664cL,
  105206. 0x6e7453fd34a874d0L,0x41d6bcfaae635cd9L,0x00000000000000f7L } },
  105207. /* 10 << 483 */
  105208. { { 0xdebd96ecded7931aL,0x409a230cdfdb9955L,0x0eae02d5b65c48e6L,
  105209. 0x3ab3dff83515edc3L,0x0440a0c53d119f82L,0x7601d278f7b8048fL,
  105210. 0x3e0da58153655d73L,0xa04162f342c66d32L,0x00000000000000b9L },
  105211. { 0xdc305022e0d030b2L,0xb812c6a1af7d339eL,0xf845455f91973a30L,
  105212. 0x3a40c4d454ade939L,0x7d5b0f691e0972bfL,0x7eadf7a28839861aL,
  105213. 0x87a2e7067d36e5a8L,0xa25554c5d13c7670L,0x0000000000000055L } },
  105214. /* 11 << 483 */
  105215. { { 0x2f313869d8f59e86L,0xab16466f00c93e40L,0x534952a8f5901890L,
  105216. 0x597b8bbfd3e7e334L,0x2a1d5909bf2e93e8L,0x74910268a78e52c2L,
  105217. 0x3c2077e0e09c8fbcL,0x36e2b7500dd6ec37L,0x0000000000000168L },
  105218. { 0x21c2d362c58660b7L,0xcf97b440205ece90L,0x81e5da200af6629aL,
  105219. 0x285fd88ad30ea06dL,0x9da2d653cf67478fL,0x6cb24c21fc1128d3L,
  105220. 0xc32d0dc119cc5d3aL,0xffc4fcd6ca1c7866L,0x0000000000000113L } },
  105221. /* 12 << 483 */
  105222. { { 0xfc6e3abd7e791a5fL,0x8b60a8b7394f9865L,0xf07f164cb0f31984L,
  105223. 0x3b0f7be135fbcdd5L,0xfa914a53c372e0ecL,0x6142002a0392f749L,
  105224. 0x8f7ddc3b952ccab5L,0xcec17ddfa5e85e1dL,0x00000000000001a1L },
  105225. { 0x376e182e3bfb6450L,0x34275e3b5874742eL,0xc6c3bbc436fd4d5bL,
  105226. 0xd5359a5f17024a3fL,0x690901d1be783d99L,0xd98f0714be92b949L,
  105227. 0xd7ff8e0ffa44b971L,0xae0b1ea4a248a978L,0x00000000000000a5L } },
  105228. /* 13 << 483 */
  105229. { { 0xf6f8b353b1fa4f9dL,0xbc0ae01304d67400L,0x95e7d657984c5864L,
  105230. 0x6e6799c1923cd2bfL,0xa98f35f7c07c86a9L,0x5149ab912c79f53eL,
  105231. 0xb8219f4e278fa756L,0xfc6562d707de4775L,0x000000000000007eL },
  105232. { 0x92731c6de48adba4L,0x479c5d6bec0f7335L,0x8cf900f0a1d5e919L,
  105233. 0x4bf6c08bfc45f29dL,0xee14bfe8c59cdc1dL,0x134bf2088cb8a93bL,
  105234. 0x8d9f4d2221f26bfeL,0x602528a79bebee86L,0x00000000000000f4L } },
  105235. /* 14 << 483 */
  105236. { { 0x8ec2bc822c79e1e7L,0xec5c692cffb8b4d4L,0xa0d4d5090846b9f3L,
  105237. 0x41eaccac33456629L,0x43e23429d484f510L,0x0bf959d35018896dL,
  105238. 0xa817bfedf257daf3L,0xcd04bc49a1fb8e26L,0x00000000000000bcL },
  105239. { 0xda060441d92bced4L,0x278c04c95d4ef4f0L,0x8b6f0231396b753dL,
  105240. 0xf68caa504533e041L,0x49d2f5f1d52bc9bcL,0x83ac55150141e329L,
  105241. 0x453951c6c866b038L,0x09b032d479acdc69L,0x0000000000000196L } },
  105242. /* 15 << 483 */
  105243. { { 0x067e44283cbbdce6L,0xb8ebf52529eab785L,0xc28bb79079474bdcL,
  105244. 0xc29cfe635c83856dL,0xd95ac7b911322ac1L,0x8e3d2b8879c119f1L,
  105245. 0x9870c2c572896608L,0x2adcb4c763374d0cL,0x000000000000005bL },
  105246. { 0x2dd8023e63551e79L,0x5ae537db0a8e6116L,0x4fd274598917909cL,
  105247. 0x5e805e1cb79a58c9L,0x12d0b7a853b21d48L,0xf80dca62cba9f1baL,
  105248. 0xf90fe39681b2231fL,0x552083b960bab640L,0x0000000000000170L } },
  105249. /* 16 << 483 */
  105250. { { 0x1ae0819be9933309L,0xdf8bdb84232a74bfL,0xe0cd42ac756981f5L,
  105251. 0x658128186734b942L,0x6b63d0a2f4accf5fL,0x4dc5d87a55294162L,
  105252. 0x0ba927b230bc9a8aL,0xcdaae01ed8e36a78L,0x000000000000013bL },
  105253. { 0xbb632bfe8e1f565fL,0x29ebfdda53e94443L,0x1f98a0d3e10d165bL,
  105254. 0x9f82830c637c795fL,0x3b33128740e0c47bL,0x8940d375f4bee639L,
  105255. 0x05cc4dc38b8ad839L,0x3b4d9dbe10d505eaL,0x0000000000000117L } },
  105256. /* 17 << 483 */
  105257. { { 0x7549c45aa2216b1aL,0x221596f16518866eL,0x4f8ca3c1fe5fd8e9L,
  105258. 0xb78df22a96363b34L,0xd189cef05ae37982L,0xc157b84591a02318L,
  105259. 0xe1b74e4197511a4aL,0x5877f96c53320c2fL,0x0000000000000025L },
  105260. { 0x12689dc6861c57bfL,0x598b361ad283a108L,0x939b82fb7fa13a89L,
  105261. 0x311cca2a36cfe81dL,0xec335b17bab0c07eL,0x440b8c5c65642a12L,
  105262. 0x813884de04a2ed28L,0x7d19429e87290a2bL,0x0000000000000069L } },
  105263. /* 18 << 483 */
  105264. { { 0x5753bbb8a848cf13L,0x82b32a43d90c938dL,0x7f5770d7e6faa6e2L,
  105265. 0xc7cbcaf37d684cbcL,0xcf943b1b2e7b48a1L,0xd1a7ee6f8d5c5321L,
  105266. 0x1ab34e2d15cc06dcL,0x27d2cfbb74b5a5cdL,0x000000000000006eL },
  105267. { 0x022c5255ad3c3bf9L,0x3026a8b4f744d697L,0x5cfb32d674b6a2ceL,
  105268. 0x8df70a0b5e50e51fL,0x8c9156a9ace784b5L,0x2efad6cd487c3a9bL,
  105269. 0xf5e804c0aa2cec88L,0x5780cc59f9bd480cL,0x0000000000000035L } },
  105270. /* 19 << 483 */
  105271. { { 0x89c3d30477369722L,0xae2ecb09201a68c2L,0x8d5769fecab6da8cL,
  105272. 0x6782778b33aa7ec0L,0xc74ec1254fc65e80L,0x72cc87bf6bdfc390L,
  105273. 0xc8689471ddc0391fL,0x6f58f3f3482baac6L,0x00000000000001e2L },
  105274. { 0x27ccce608b129566L,0x41008f6064f9fa40L,0x2aa9067f4fa0a001L,
  105275. 0xa1f2ba9a46716791L,0x2d4d15cf3a5e32e4L,0xdc75218aa4f0884bL,
  105276. 0x349e45bfcf86c131L,0x1e11015c3228a631L,0x00000000000001aeL } },
  105277. /* 20 << 483 */
  105278. { { 0xf240d36be4ab3d55L,0x7acb5bf0593c4a6fL,0xb7456194130fdfbcL,
  105279. 0x3d3af6220ec1bca5L,0x14a5cbd878b4f4deL,0xde12e1cd6c32e96dL,
  105280. 0x5063ff425b7bce8fL,0x37efaca1003dc72aL,0x00000000000001b0L },
  105281. { 0x4274de57ccda7e54L,0xff66c962086c6d20L,0xca33121d4c9071d9L,
  105282. 0x97b4200b3e732b5eL,0xec371b1543208ba0L,0xf6aaeaece25d09ffL,
  105283. 0x226e14d2e18bab6eL,0xda5464f9459a3df6L,0x0000000000000130L } },
  105284. /* 21 << 483 */
  105285. { { 0x017af4517f7b8b0fL,0x0dfc68bca4a49a70L,0x789e4ac8e231f9d6L,
  105286. 0x20db8ef6065ede81L,0xb739cb55d638a77dL,0x79d863e1184c2b26L,
  105287. 0xca7312bbc0240acbL,0xf300fb15d3645326L,0x00000000000001beL },
  105288. { 0x1d991e4e459dc169L,0x7000c7d42cd45ebeL,0x96e9b26038f97f29L,
  105289. 0x0c3f5c5fddb39121L,0xabdfe949839ccf8fL,0xa5c2a20559df3d2eL,
  105290. 0x39295c3c114de48aL,0xbf438537678d7b4eL,0x0000000000000158L } },
  105291. /* 22 << 483 */
  105292. { { 0x9e96ebde76178c94L,0xb30646eb53081e92L,0xb2541cf8f47b37ceL,
  105293. 0xf5899b4a72cdfe16L,0xe86f9bebbc9855dfL,0xcd97de762a3c7176L,
  105294. 0xe792c9ccad4af521L,0xf4efad3de059fcecL,0x0000000000000153L },
  105295. { 0xad541c6a53a88fbbL,0x817ceac1fb7c79b5L,0xa4a04dac7daa33c6L,
  105296. 0xfa09f56ff3d2d674L,0x9f53ef31eec7d069L,0xad1e5af49211cd93L,
  105297. 0x0ff0a6dc959d77d0L,0xcb232def76ed9affL,0x000000000000002eL } },
  105298. /* 23 << 483 */
  105299. { { 0x9d7f958a886f6543L,0x0cfd178d4b11f4f2L,0xbccf93cb83966213L,
  105300. 0xa733d7f47868f2bbL,0x35b2cefc80a83472L,0x791fd530e3108c17L,
  105301. 0xd8b2fc0e8366c15eL,0x4aa1a7a237d4c1f1L,0x000000000000014dL },
  105302. { 0x965850c704d1e2acL,0x0cb5a3c0a6d83cc9L,0x1e354634a97bdc9eL,
  105303. 0xc40e3a6cc4361defL,0xf5383a2d1945be19L,0xe2b5c363e4245615L,
  105304. 0x685cd8c1716af301L,0xb0817184a59dc09cL,0x000000000000005cL } },
  105305. /* 24 << 483 */
  105306. { { 0x9134dac8966dd7c6L,0xb53909cb72bfde57L,0xa06f7191d2a4fae0L,
  105307. 0xb22a5d860d8aded5L,0x9b0869337ba88547L,0x6a027da5ca1b3e75L,
  105308. 0x55e8542182831df6L,0x52811cacca4fd543L,0x00000000000001d1L },
  105309. { 0x9184b34252d1a260L,0x046f70f2d4ae87f3L,0x75f0132452052638L,
  105310. 0x9476a1609a4e8cadL,0x1485632621396b03L,0x381f263ff5af85aeL,
  105311. 0x8e77b921f7010305L,0x7fab4d8838f30a00L,0x0000000000000072L } },
  105312. /* 25 << 483 */
  105313. { { 0x1ba8c7879deee4caL,0x0de11c34b39ac162L,0xe3c13cf606577091L,
  105314. 0x4afa40f1069ce9c3L,0x8c4c9362c9588cb5L,0x70cefa89fd8388d2L,
  105315. 0x5b93bd0bae70801dL,0xbf19651b29e3f773L,0x0000000000000173L },
  105316. { 0xcc716100d6635a0bL,0x785ab9e497770cd3L,0x97ad8f05f2d3d0f4L,
  105317. 0x9153f661210b85efL,0x6ea72d9be05e09b7L,0x674d169512a35919L,
  105318. 0x734afc5174d1756fL,0x685d097d4e4a7d3bL,0x000000000000011aL } },
  105319. /* 26 << 483 */
  105320. { { 0x586a5a4f92f845ffL,0x4181e8bf433b9969L,0x8ca665031bb30e35L,
  105321. 0xddb8880029ef7c76L,0x91ec943993a91394L,0xa102438734acf11fL,
  105322. 0xb31bab71e3a99420L,0x46671df0823803acL,0x0000000000000182L },
  105323. { 0x4311612323967817L,0x10bcc7e1d83add78L,0x5cb65ce01b4d7ea3L,
  105324. 0xc204e7395fc7aacfL,0x138fd0eb0df86632L,0x5a7f3bf92920e7aeL,
  105325. 0x323b55da74fb04a2L,0x87a1cd2dcf6b4579L,0x0000000000000105L } },
  105326. /* 27 << 483 */
  105327. { { 0x99426408c2095c41L,0x77924d94d2203699L,0x63282e3b8ad5282cL,
  105328. 0x0e342f0a9c3dddd2L,0x0ab9c156579aa49dL,0xfd67a28d49baf18eL,
  105329. 0x9dec1fc0f0ff38bcL,0x2120dfdf91e8bd79L,0x0000000000000038L },
  105330. { 0xc33a4e7791297f43L,0x90d0ca4fd1d21410L,0xf5e6111862b0ce45L,
  105331. 0xc99e5063601631abL,0x3d22412ec894eb2cL,0x78ce86202ddc8d51L,
  105332. 0x38961c0bdfc1a41aL,0x2b435857e1b449f2L,0x0000000000000190L } },
  105333. /* 28 << 483 */
  105334. { { 0x7df95a3c1b3f5cf1L,0x3b30e0f2ea0077fcL,0x733880b50aabcc34L,
  105335. 0x2050bc2701193010L,0x2dd36def5c80fe3eL,0xf2e14b2be8e228d6L,
  105336. 0xf13a348574802ebdL,0xf08bb1ef17f57cb1L,0x0000000000000087L },
  105337. { 0x4f81dad0a662456aL,0x8c645bb185f5b388L,0xa39acf0e19503f7aL,
  105338. 0x214d1956d7530999L,0x2dfb62dec339d2aaL,0x9c54f1a27a04264aL,
  105339. 0xde5e1fa9bb74e313L,0x3fb024216dcdac67L,0x00000000000000b0L } },
  105340. /* 29 << 483 */
  105341. { { 0x23b886a9393c3fe7L,0x7408b94f4b1b33b0L,0x01c0254af542525eL,
  105342. 0x4ce60b318ddf1982L,0x97a6fee7ddee6485L,0xa2f7d7b2a99f2778L,
  105343. 0xe685a50bbaa0ffe9L,0xbb82afef930aaf29L,0x00000000000000d2L },
  105344. { 0x32e878790644ee4eL,0xf736c70517d83725L,0x44c56e15b3b2e87aL,
  105345. 0xd3eec9133baeb44dL,0xbc10fa0741ad6c2dL,0x26c8d0c696115e03L,
  105346. 0x8d826950a411254cL,0xdde6af743abd2faaL,0x00000000000001bbL } },
  105347. /* 30 << 483 */
  105348. { { 0x28702dc496ab1d1bL,0x2dbd79460dc11ba4L,0x0956696b883faf9fL,
  105349. 0xcdb23f5f227932d1L,0x34957d5e0de851edL,0x40065b9ed930f741L,
  105350. 0x1be825122138d1e5L,0xb9f0d75934c7c9b7L,0x00000000000001e3L },
  105351. { 0xbaf4143b567ead92L,0x5eef3357fb9cc866L,0x4095892ccb122a8bL,
  105352. 0xa3e50ae814b8aa9fL,0x72024c42376f6b0bL,0x6c63ee2ddae219e2L,
  105353. 0xbba101782069c115L,0x3ba8834d7f96def1L,0x000000000000015dL } },
  105354. /* 31 << 483 */
  105355. { { 0x2f7beb7f56438c0cL,0x42a16fa2ab4f67d3L,0xbc8d85f6e40ce460L,
  105356. 0x3428e0fb2f34378dL,0xea54de6ddc41a2f3L,0x5ccf4b0d17ba5e5aL,
  105357. 0xe27843c9abf87924L,0xcf117ea6101dab80L,0x0000000000000082L },
  105358. { 0xc340c90e1e82611fL,0xb894452a8e4173a1L,0x9a4b787ab9afa27cL,
  105359. 0x417736a5d0f14693L,0x5f1a49924ae95026L,0x1206bbd394734633L,
  105360. 0x5dede89ad6f4a4c9L,0xb766440df1f24b1dL,0x00000000000001a6L } },
  105361. /* 32 << 483 */
  105362. { { 0x8dd33d1c66bc31a5L,0x80a074959d19c1c0L,0xda13c485e03a1ee5L,
  105363. 0x316d85f968acfd38L,0x8617c80d0d9d6273L,0x6ddebb71f94d5f22L,
  105364. 0x1c3452038efd0a44L,0x7ca0b4067b3746e3L,0x000000000000007bL },
  105365. { 0xbec7b15087436d56L,0x07cf1192a01f6c04L,0x047b37f6f73971b0L,
  105366. 0x7e7d8b9b5ae1f9d4L,0x0e311b4fca1a9900L,0x5dc55f3d6a81fb38L,
  105367. 0xe257401a2956af04L,0x90c2ad09f66ae95fL,0x000000000000016bL } },
  105368. /* 33 << 483 */
  105369. { { 0x6f3e5a621a735a98L,0xf17c344e4c0f9811L,0x0985657887068d99L,
  105370. 0x3c9e47d0fdd2aac0L,0x9ef34869797f8a14L,0xbb27f6da4ee23bbfL,
  105371. 0x51b7f59c213596cfL,0x60aed74c54a4b339L,0x000000000000012fL },
  105372. { 0xbc361782384a09baL,0x6fb5c273ea0b54d1L,0x41d2c9755423bc32L,
  105373. 0x5938aef020a6d38dL,0x07e0841a132dc550L,0x0b8fe98196944602L,
  105374. 0x77ce11d1eff12314L,0x13b30d3f01450ca9L,0x0000000000000127L } },
  105375. /* 34 << 483 */
  105376. { { 0x6167ce3b4c38b2f0L,0x78bfe46ccf1a74b9L,0x40519177b17eb1c4L,
  105377. 0x5379831fa2ea88f5L,0xc7aa54520f90d032L,0x1b77f1a1b1ad4c9bL,
  105378. 0x1456a598aa55a518L,0x638b62720114002aL,0x00000000000000afL },
  105379. { 0x2c04235caac99882L,0xbf34e8dd41d65ef0L,0x49e51a8c79af103bL,
  105380. 0xce352f3a901a1a57L,0x00e123f6a49e5646L,0x351a25801d22efc8L,
  105381. 0x883f53b385bbb439L,0x7ad4f5539780ce59L,0x00000000000000afL } },
  105382. /* 35 << 483 */
  105383. { { 0x317db0ef6b43f86dL,0x187e452ec376cdd6L,0x1ee31d29b1c17bc5L,
  105384. 0xf0c4ae43e8a19f7bL,0x71525f553e9bc311L,0xe948de7a66d91aafL,
  105385. 0x947a0c70638f5b34L,0x8affa837e7c40657L,0x00000000000000e6L },
  105386. { 0xc76f3535c3acf132L,0x6066128710d80c77L,0x55db52e39cfad0bfL,
  105387. 0x9d65e598c72d88a7L,0xffe8b7d5a016cceaL,0x73cd6e7bfcc198bbL,
  105388. 0x90142e63f7277c8aL,0x73d673ffedace584L,0x000000000000009eL } },
  105389. /* 36 << 483 */
  105390. { { 0xfa1c0bda6a639f04L,0x0d34fc8850a3c441L,0x0e2d322ad15965adL,
  105391. 0x700433af853b1f5dL,0xce7454a25cafcb5aL,0x2201bc0473b16a2fL,
  105392. 0xc178af49986e01feL,0x00383c44f4196a72L,0x00000000000000c1L },
  105393. { 0x26951af44027cbd8L,0x0a64b5bd58133d67L,0x55c70f8bf9edd0ebL,
  105394. 0x43762ee7c4ebeb49L,0x5d5b9d8b33a6b1c1L,0x1446f8bcbdc002f1L,
  105395. 0xab85db78ce19c7e4L,0x4daf43d163f0ad8eL,0x00000000000001b8L } },
  105396. /* 37 << 483 */
  105397. { { 0x3afd28b85d94ef9fL,0x81257a58c3177e20L,0x38dfaf6c65eb35a5L,
  105398. 0xe6f3ef64288e980aL,0xb97158885cedaa77L,0xe99de3f8a7eb0cdbL,
  105399. 0x81059e958eac3ddeL,0xf37c0a32c9c83c67L,0x00000000000001faL },
  105400. { 0x1823b2fcd4f70ceeL,0x57762228e9c5bd49L,0xa17f38348a42a86bL,
  105401. 0x1cb50d437b41063aL,0x12a24600639b5b82L,0x70cead17dc2a9befL,
  105402. 0x8604e4aa0bcaa435L,0x8425f4b68890b5c5L,0x0000000000000059L } },
  105403. /* 38 << 483 */
  105404. { { 0x9b9bed42938f1c9eL,0x3d20941e97fd1135L,0x441f7e6ef64abe42L,
  105405. 0x1def7b3f0e07fdd7L,0xcc052cc7ba19fac0L,0xad9a823b94b5a3e5L,
  105406. 0x76a1332af3b3bf6bL,0xe7f4dea925d8294bL,0x000000000000008bL },
  105407. { 0x1327bf2381bf2ae5L,0xda8af8f9c5ae36bcL,0x5a03be7b253aa57eL,
  105408. 0x16c4d1e0d8673996L,0xdf37a5c5ade6c913L,0x326cea3193cd3c79L,
  105409. 0xd5bfca3f8b2ce002L,0xde1ef94ad2966ee8L,0x000000000000016eL } },
  105410. /* 39 << 483 */
  105411. { { 0xe848a22c8a20f973L,0x7d4838938707d89dL,0x743e47af3a602f42L,
  105412. 0xa793999ee80346e6L,0x70c2abb4072cf57dL,0x10de7dd0f254926cL,
  105413. 0xac0465d0b3f05ba4L,0x37222ff549ebdf47L,0x00000000000000adL },
  105414. { 0x84a14bc688843ac5L,0x251de0ffa7cc807bL,0x81df07af0e43fdfdL,
  105415. 0x6b799a7269b2f867L,0xa4a0f81fe9f40220L,0xa4d91dc17e0d6fbdL,
  105416. 0xec9940f238cb4a33L,0xb802f2e17771ac3dL,0x00000000000000c4L } },
  105417. /* 40 << 483 */
  105418. { { 0x82fb9f71437c9b3cL,0x8f892941aa7bbbd8L,0x8c0f30acb4aef227L,
  105419. 0xbcddb282afb0ffd0L,0xd6ac26bf9835b70cL,0x2a2483ff28422e87L,
  105420. 0x3839a2cbbffd1ff1L,0xa3c660355b9cd379L,0x000000000000006bL },
  105421. { 0xe6dc8fb8e50a7d38L,0xdca90512836bfcc1L,0x7688a1b3e4e9ce06L,
  105422. 0x1740f1a5f17e5457L,0x697380917ded4120L,0x33d97aa918814d34L,
  105423. 0x530cfc7af7927f48L,0xe6d6c9ec929172b2L,0x00000000000001b0L } },
  105424. /* 41 << 483 */
  105425. { { 0x428216a6c2b89eaaL,0x80af7400c889421bL,0xdbf3e6d5ab483733L,
  105426. 0xa174a26fc80b04a0L,0xf43d9f300a0a9600L,0xf6bc9b055a36c398L,
  105427. 0xeec10bbaaecb2d9bL,0x4b6343a90db85b00L,0x000000000000019bL },
  105428. { 0x8f3b5dc05b69a5fbL,0xfe36ce3f962d1949L,0xb1ed23e1b901c965L,
  105429. 0xa27d8354310d5c7aL,0x8d8cd709cf1c8261L,0xde318e922ec59425L,
  105430. 0xcd74892887cdd65cL,0xd5000ab0cc3df271L,0x0000000000000145L } },
  105431. /* 42 << 483 */
  105432. { { 0x70d80c68accc8cddL,0xf18270444d36dae4L,0x1de1d63c5c1b23dcL,
  105433. 0x3f692f0db6af112dL,0x90be5f8cd1627389L,0x269bcd96e3cb096eL,
  105434. 0xdb3da141e52f7191L,0x020fd372236f6719L,0x0000000000000026L },
  105435. { 0x32d2aa912e6b5359L,0xc69d58b61355b897L,0x019f986593f03d9dL,
  105436. 0xcd3ab51998cc76f4L,0x0a8d4dabe1f31d9bL,0x13fb607b605b601aL,
  105437. 0x3412ab49d1b0a857L,0x9d4f6cc56a59c8e9L,0x0000000000000024L } },
  105438. /* 43 << 483 */
  105439. { { 0xa4ff17fb90aa8d12L,0x4b11676ffe3b60e5L,0x4b6736d5520b491eL,
  105440. 0x111ed0242549df91L,0xcd9a9f14e120c6a2L,0xe9a1ab1a16e281bcL,
  105441. 0xa8c787c8464e5043L,0x7b8ba81beb71f3faL,0x000000000000008aL },
  105442. { 0x9b0a74f9ee5f33f4L,0x1387695a7e5e34afL,0x378e761f008494b0L,
  105443. 0xa9497876b556e962L,0xaa58debd121a018fL,0x97f52405a924e778L,
  105444. 0x432f362dcd07aedfL,0xab22f4c6f814c3caL,0x00000000000001cfL } },
  105445. /* 44 << 483 */
  105446. { { 0x75a95d201ba19e5aL,0xc4ac280da7814129L,0x39d17e5a0053757dL,
  105447. 0x8b5fe8f5c29a489eL,0x2616039717aace25L,0x561c8f439652ddaaL,
  105448. 0x61822a50f5c95227L,0x072f8e5dc007cc38L,0x0000000000000152L },
  105449. { 0x9ff7313cc50fad23L,0x8092be14bb03aff1L,0x922d11fc480cb8dcL,
  105450. 0x9c2524ddf22d2e95L,0x5b2ab1f4f8672817L,0xb77fe4669b52a810L,
  105451. 0x09ad0883f510b41aL,0x302b7c261b4138d2L,0x000000000000013fL } },
  105452. /* 45 << 483 */
  105453. { { 0x18e8c1d2b312d646L,0x00e3253bceda36afL,0x45d2d5d0752540a0L,
  105454. 0x87a38fc7a3d85d35L,0x2c3862aefd90f76cL,0x5af9307c79fe8ba8L,
  105455. 0x35214c7c8d686649L,0xa7fba7f225ef82e4L,0x00000000000001faL },
  105456. { 0x66014ff18124515aL,0xde9da3353fced30cL,0xac96a6ac7f50e6ddL,
  105457. 0x0f96e01a39abdad2L,0x67a39cb6b46bae57L,0x596edccd2fc272dfL,
  105458. 0x4ebdfecfb15ca893L,0x3e5f5903e0b3c942L,0x000000000000006aL } },
  105459. /* 46 << 483 */
  105460. { { 0xb17ba42760f48d19L,0xa4ef46ab969dcc37L,0xee09b13a004629c2L,
  105461. 0x7936d9b1947f6795L,0x7b0167f8ed153962L,0xb3dd551c1b18a245L,
  105462. 0xb15372159f7517f8L,0x3f6cdd5d9f9aa1ebL,0x000000000000018eL },
  105463. { 0xf72f53d22ff0201cL,0xf072228ac9d861c2L,0xe35876de8febce56L,
  105464. 0x5fc283033c8f7bffL,0xa12b0a81d2893b8bL,0x57ded7bde89263f6L,
  105465. 0x81494bfcabb2822bL,0xdb399fa9f2c8ec57L,0x00000000000000dfL } },
  105466. /* 47 << 483 */
  105467. { { 0xaefa7fb0808cd5d5L,0xe80f21e484884ca0L,0x9d0486cfae65b5faL,
  105468. 0x4b54c759e8168cc8L,0xfd1c1a068ddd9c6aL,0x8c04efb02a8d8bebL,
  105469. 0x33d61fb78b5ab913L,0x4fafce55715f0cedL,0x00000000000000e6L },
  105470. { 0xb9c352f46c0d348fL,0xc60a94bb45bc984dL,0x9f743556605c71a8L,
  105471. 0x176de676067997e0L,0x7ddd2aec7d72394cL,0x3de5a535411ef5c2L,
  105472. 0x818a2fb45e052585L,0xadf2f7ea83ce38d1L,0x000000000000018bL } },
  105473. /* 48 << 483 */
  105474. { { 0x15f956694d4a5461L,0x56f1b9232775dac2L,0xa4f77a80b3028c01L,
  105475. 0x4c7c09f84a216681L,0x1469e858444401beL,0x9bbe83c5f4fd909fL,
  105476. 0x3f52c7eb914d3efdL,0x769e218db97ccb6dL,0x00000000000001b4L },
  105477. { 0xca757e3b80dd9fbcL,0x741fee50f5fe9f79L,0x8a7bb30cbab00224L,
  105478. 0xa33bcefe4ec16137L,0x62d0604c2fdaf3e9L,0xad66f9f66d7376b3L,
  105479. 0xca856f8d02c9ab0dL,0xaad774a6df87aa79L,0x00000000000000e3L } },
  105480. /* 49 << 483 */
  105481. { { 0xf446887e5b80ef17L,0xeef1494d936989d3L,0x6058c0405f82a6f1L,
  105482. 0x6f97d2f5624c5294L,0x4772ad1a59e08502L,0x41ca4882993ec149L,
  105483. 0x4890ef7309e3ec9eL,0xe1843ede041133feL,0x000000000000012bL },
  105484. { 0x42d78ebb7b2f37e1L,0xd130e9a18b4ea8c7L,0x002cc021fa9d9adbL,
  105485. 0xf26e382454996fd5L,0x206eda2db4ee2ad9L,0x95e069ea3a1147e9L,
  105486. 0x8f1ce0085798b869L,0x96f99e7fc24b7809L,0x0000000000000131L } },
  105487. /* 50 << 483 */
  105488. { { 0x74bc731aa521a2dfL,0x2a7dad589ca35915L,0x24ba1b555ce46968L,
  105489. 0x1c00375723481711L,0xd1b381c6e1986244L,0xb2c4710846b9c4c0L,
  105490. 0x11ef4e90a2ed3152L,0x4c1c7086f0863dafL,0x000000000000003eL },
  105491. { 0x795131fe66eb30a2L,0x0ea3589b94b68f85L,0xdc7e3fd070ef34d4L,
  105492. 0x14a5499a44df4e9fL,0x9b340e60a69e2691L,0x91c5e50752f35777L,
  105493. 0x7582716785c69903L,0x547f96ecd8536e21L,0x00000000000001a3L } },
  105494. /* 51 << 483 */
  105495. { { 0x96fe0761a501282dL,0x79bd2cbe04a97c94L,0xb2445622206c0bf9L,
  105496. 0xfa2bd5260a8c8b82L,0xc22acd0c7aa2cd47L,0xd541785b67bd2672L,
  105497. 0x5644081f97b909d2L,0x97ba1dd70779b879L,0x000000000000003dL },
  105498. { 0x3586ceff5a15e6adL,0x347005ce76b70d67L,0xafe431e24ae4b2b5L,
  105499. 0x6de0cdb6183abbf0L,0xca058f19fb220de0L,0xb6284b1d1e1dbd82L,
  105500. 0x81c3068ccde36a43L,0xf45a2d76aebf2615L,0x0000000000000197L } },
  105501. /* 52 << 483 */
  105502. { { 0x2fed71ab13191ef0L,0x4d093b4bcbc0201fL,0x04d6d7b64e54b64bL,
  105503. 0x335641e3afaeeab7L,0x36a8bf03f565f906L,0xe0a1162706db040aL,
  105504. 0xfa9564f345ce75e7L,0x62220cd0d1651390L,0x0000000000000172L },
  105505. { 0xb86f0816fe6efb3aL,0xbe06aa2752ca0a50L,0xfe5aff01ca6a34bcL,
  105506. 0xf1d3f54920f73725L,0x16db75d8f822f3e8L,0x3aac55a586dea1b2L,
  105507. 0xb4e6e8f2e6a3437cL,0xa8239de5f86343ecL,0x00000000000001bfL } },
  105508. /* 53 << 483 */
  105509. { { 0x8d18bf08a3bf7997L,0x391cf08b6fade171L,0x7991a05de5ca321cL,
  105510. 0x23ece7ee451ce87eL,0xa6362e03a977f619L,0xade9302513907e13L,
  105511. 0xd91cc1f52e2e9088L,0x44e5824df58e5620L,0x00000000000000baL },
  105512. { 0xf8e7816527b063b9L,0xbe43d2c36eb79697L,0xcf36bc31c97e543bL,
  105513. 0xb2051af018cd43abL,0x9ed9341dcdd344e4L,0x30701b2957da9489L,
  105514. 0xdad39c53f3b5d5ddL,0xa2116edac4c47541L,0x0000000000000047L } },
  105515. /* 54 << 483 */
  105516. { { 0xdeb91f90da9ab6daL,0xcb56bf2e406a3cd9L,0x58b62e487e8b0b3eL,
  105517. 0x48b2605634436be3L,0xd6cbd675edbbccf2L,0x84ca877854f9a5d2L,
  105518. 0xb63f26c8f06dc3e5L,0x9d447a727c79478bL,0x00000000000000c8L },
  105519. { 0xbe4c5f568720253cL,0xd4079cf2a66930ecL,0x262b2dd86742b311L,
  105520. 0xf72c0a9437c98222L,0xb375cb9908db8f62L,0x034efaa36502ab48L,
  105521. 0x2f679b5720420bffL,0x0834c67ae890bc7cL,0x00000000000000acL } },
  105522. /* 55 << 483 */
  105523. { { 0x2f056bb90280425eL,0xc045a362804b751fL,0x8267e19fb9b62232L,
  105524. 0xd25162b3f6b83e5aL,0x4bd3f73c52872a79L,0xbea0f70e2c4d8454L,
  105525. 0x93630251bdc7bb71L,0x62421c79d6eb5964L,0x0000000000000152L },
  105526. { 0xc6ef31326a4c9b1fL,0x10407eace4383f40L,0x40efa08cf6ba160aL,
  105527. 0x61931947438f0e09L,0x083519fa2b79a0ccL,0x1323a71d85b17aafL,
  105528. 0x3c745547b5841d46L,0xd3b26e8bb60d1f8fL,0x000000000000013cL } },
  105529. /* 56 << 483 */
  105530. { { 0xbc02d7b5a958b119L,0xa924be8546b327caL,0x5964c5e9b0a46409L,
  105531. 0xac8450ca97d92118L,0x693b41b24e926688L,0x03099cabb8d094b0L,
  105532. 0x02b779c117d76963L,0x92e5b73f8eb4ddc8L,0x00000000000000a8L },
  105533. { 0x36c561713f20d59dL,0x12f7a1815115b8b4L,0xf6e1be6845535c8dL,
  105534. 0x7706701a41ec92d7L,0x7569d232e849b822L,0xf6adae238fe67de8L,
  105535. 0xe43d347c6d2f8982L,0x734a8be36cc683e1L,0x00000000000000a0L } },
  105536. /* 57 << 483 */
  105537. { { 0x715334a7e1a910e1L,0xa92a800408ac113eL,0x8bb38d39d14c4a79L,
  105538. 0xfbc37ee2a2f2932bL,0x3e57033229575dceL,0xeafb135a22021b9bL,
  105539. 0x72efc8661066b3ebL,0x03b2dbf7b7719907L,0x000000000000014dL },
  105540. { 0x7e7331c7f6d4e630L,0x1e13582ade86bf74L,0x18907e4bc3b9eed0L,
  105541. 0x79374dc6003080b7L,0xcbf4f614c62cd738L,0xccd41e459f20a97bL,
  105542. 0x96f32f37ffcf7fc3L,0xd1e204949781c875L,0x0000000000000035L } },
  105543. /* 58 << 483 */
  105544. { { 0x9643c5266c6ea0b3L,0x4702ff43bd69bee2L,0x2670cb7e6cc182faL,
  105545. 0xe98e50f972705286L,0xbec3b5a84fdd27e1L,0x72f1a20be3ef8bfcL,
  105546. 0x918033ccd2ba4245L,0x0e41de68e1b00b7eL,0x0000000000000127L },
  105547. { 0xc0ed8187396b5808L,0xca20ef18132aab1aL,0xfbb1f99a81240c77L,
  105548. 0x2e7e99c89dc5003dL,0xe0bf0f3d599c63d9L,0x5caf5b2cf267734aL,
  105549. 0xa22e005dcd02332aL,0x4e905dc503980512L,0x0000000000000096L } },
  105550. /* 59 << 483 */
  105551. { { 0xd2169049caab35deL,0x6c5528742823e046L,0x9a79cc29108047a6L,
  105552. 0x97bbf70d9d8ede4eL,0x977167668212110cL,0x33e99c39371101edL,
  105553. 0x09d4af70ecaba866L,0x3d862acf46064375L,0x00000000000001acL },
  105554. { 0xac064f7c335c3c36L,0x6407ec11432968baL,0x440593247aaaddd5L,
  105555. 0x3d2a9b26f25718f9L,0x03aa5c73ce3da559L,0x40154af74b8098cfL,
  105556. 0x14ef244fc84d6eb4L,0xce11d75ca4fb0dffL,0x00000000000001a8L } },
  105557. /* 60 << 483 */
  105558. { { 0xdf396a64435e6567L,0x515561def1b4f6f0L,0xa2f3488c17f354c4L,
  105559. 0xa93b55f2015e8c9fL,0xba4caa85f6e40c57L,0x540a0df42dc22395L,
  105560. 0x09d3208e4d93e932L,0x53902eee0a578b7aL,0x0000000000000123L },
  105561. { 0x431a21ddaa811b87L,0xf7dfaa57e535f1f4L,0x76ec86761a516854L,
  105562. 0x914cdc51a55047d5L,0x8ca17868e13643f4L,0x2e0d6bbe3507d525L,
  105563. 0x614677534be4b04cL,0x66fa0a07d060337dL,0x00000000000000b0L } },
  105564. /* 61 << 483 */
  105565. { { 0x6d505ed813aee1c7L,0xadb253ecb510cac1L,0x799dc47e52df92e0L,
  105566. 0xe4a6f8667e721b9cL,0xcc769496928e3833L,0x77f90f407b701ed8L,
  105567. 0xad4605cb6c36f3d9L,0x396b31b5fd3dcf33L,0x0000000000000129L },
  105568. { 0x01a28e7ce5e1e93bL,0x72105a72947e6131L,0x1ced05353a4700e4L,
  105569. 0x3a2868be782e5b4cL,0x4b8a224e7e1f4bf0L,0xc984bd6aeb002e28L,
  105570. 0x75ff62558ae5757aL,0x573907a8f4b0f10eL,0x00000000000000a0L } },
  105571. /* 62 << 483 */
  105572. { { 0x7435bf81b0aba4d2L,0x2f9cf230a9304dc5L,0x8d2a2f7efef7bca2L,
  105573. 0x6a7bc8be83196a5eL,0xf1307d2a3fc22eadL,0x40ec9e45e1063531L,
  105574. 0x663d9867fefecd17L,0x0b271efb3c0bbb6bL,0x00000000000001c7L },
  105575. { 0x7c694979933db66bL,0x962d1c3acae9cbc9L,0xbbaa0d5b73298f99L,
  105576. 0x950dde19bf0c7515L,0x3689529e6f23e672L,0xe9ba0a528e7c9720L,
  105577. 0x98841855b3d3fb27L,0x9fb4812a1b62a7e0L,0x0000000000000026L } },
  105578. /* 63 << 483 */
  105579. { { 0xffc68ca0becea497L,0x67aad6d19361196bL,0xf73b3170f64ff2eeL,
  105580. 0xd6cd04b308cf964eL,0x6f025d2f2af74054L,0x6a75708d110f5de6L,
  105581. 0x459a54092f314ddbL,0x8b546498a68bdd6bL,0x0000000000000053L },
  105582. { 0x2ecc3c54d94ad9c3L,0xb4aa6c1674d8ee26L,0xab443dd9a6e38149L,
  105583. 0x1fa9aa6983111140L,0x416ce37bb0d97e03L,0xb4058478f2437c90L,
  105584. 0x8fca985139e81813L,0x0a0454b3c956b700L,0x00000000000000a4L } },
  105585. /* 64 << 483 */
  105586. { { 0xa949016c027effaaL,0xd4fb4288e691a213L,0xd18a53b17fcdfd96L,
  105587. 0x6808bf4c0ce4cac9L,0x7e7dc551bed1f520L,0xb84f242f2db78ffeL,
  105588. 0x7e6d15d34261fdbdL,0x836f8254a8ffc498L,0x00000000000000f0L },
  105589. { 0x029233daabe4e4f2L,0x9617f000d0327536L,0x444fdc65de62e889L,
  105590. 0xf9170a9969512dc4L,0xa37edb8d4e765028L,0x7c003ad00852dc5dL,
  105591. 0x628756447cdf14efL,0x87ae7bb59b509913L,0x00000000000000a5L } },
  105592. /* 0 << 490 */
  105593. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  105594. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  105595. /* 1 << 490 */
  105596. { { 0x51199e42088a01d8L,0xa9c970190e6c6197L,0xcc8bba8aec9f00dfL,
  105597. 0xdb0e728aa3534e0aL,0x4f130e04b74d62e5L,0x3e26abba0368bf53L,
  105598. 0xf97571a599d4743fL,0x64863a87c7eb2500L,0x000000000000003aL },
  105599. { 0x0cbb2434a3d02698L,0x3c37545572eb32aeL,0xf8555f578806b951L,
  105600. 0x11215434ce2dbe0aL,0xf0d7a7f00470fb38L,0xc4e0ad472707cb8eL,
  105601. 0x4caef200c03c9c3eL,0x5ba3893846612de4L,0x00000000000001b2L } },
  105602. /* 2 << 490 */
  105603. { { 0x4f3c3bc3a1e703a9L,0x134edac80f4d9e8bL,0x55da5480fe4727cdL,
  105604. 0xa8f98d584c37a7b2L,0x06bc173cc5f9592aL,0xd1f2103c5220ee93L,
  105605. 0x956efef67acf01bbL,0x55746c426c878b89L,0x00000000000001a2L },
  105606. { 0x1927395435dd9b7bL,0xb81ef6482a61252bL,0x508f2cb818236f94L,
  105607. 0x655ec86d31b04f92L,0xdc06ce6a381743aeL,0x46059e3637e92347L,
  105608. 0x6dac815fbe6a29d8L,0x4b4fcf720b369888L,0x0000000000000181L } },
  105609. /* 3 << 490 */
  105610. { { 0xf8106d6fdb1a83c1L,0xc55816668a3b992fL,0x30be609761e65036L,
  105611. 0xb7e260eded1ad38fL,0xe51ec351f98254fcL,0xfd1e301827f9210fL,
  105612. 0xc209ab2533522612L,0xf68c7a487baaa1d8L,0x000000000000007cL },
  105613. { 0x6677dc5814fc9ff1L,0xe57b02bb6a95a729L,0xf520b6157618c694L,
  105614. 0x61b4174f60b020afL,0xa0f2cb83185d0531L,0x647a5daa640f434cL,
  105615. 0x1b1ea4352d853d74L,0x222ea56cd31bcdceL,0x00000000000001bdL } },
  105616. /* 4 << 490 */
  105617. { { 0x6106402972e2518aL,0xfacd33fa7b5fbfc1L,0xd50f77717632ad67L,
  105618. 0xba8688071f0d2282L,0xacacd91104d90803L,0xf94b3e0f51496ee8L,
  105619. 0xfb8a5406ece3c365L,0x96f5c5e7620400f2L,0x0000000000000109L },
  105620. { 0x7389f3dd36988cbaL,0x4ab5c460762ca5f4L,0x9b96cf82b5cf8989L,
  105621. 0x2ffa0db5158a4c79L,0xb5821b1a3a3d24f4L,0x17771cb7f8c464d0L,
  105622. 0x9ffd764662c59a09L,0x0eefa35fdc162385L,0x00000000000001e1L } },
  105623. /* 5 << 490 */
  105624. { { 0x020e0b3723563c41L,0x51cb4e065011a829L,0xd4ce6fbaac22f4c8L,
  105625. 0x953bdb3db2415370L,0x316a668da8bbc065L,0x6b97ad5dee418011L,
  105626. 0xc595b7d16c4bab89L,0xd5a5e27163504ba4L,0x0000000000000104L },
  105627. { 0x9325755d1808ab7cL,0x89bae8ad5bc9c781L,0x690f475bbe6cfdb1L,
  105628. 0x12c3ce21a07a4c3fL,0xf71a959da04a872fL,0xcf877db397297763L,
  105629. 0xc7549bfa18e0c680L,0x98e9a6092fc07c3cL,0x000000000000001eL } },
  105630. /* 6 << 490 */
  105631. { { 0x9a672f1d10413087L,0x411e1e5bf1f3ff42L,0xe82c5986273d35f7L,
  105632. 0x92e879a6b685dbadL,0xdecbf5453ddb51bbL,0x9ff90e3a39eec3d5L,
  105633. 0x08a257ea40810789L,0x62bf063097c15f38L,0x00000000000000a0L },
  105634. { 0xadbc2699525f4599L,0x431b2afdef56cc0eL,0xbbf0c5497df748d6L,
  105635. 0xf68f2e050031a3d8L,0x30e5621f74d09f61L,0xfac58606bf9b7376L,
  105636. 0x83216950be2ea8e4L,0xf039db24af8340a5L,0x0000000000000187L } },
  105637. /* 7 << 490 */
  105638. { { 0x741ab54678b66b18L,0x1c5f59b4e9fa653aL,0x9e0085be4e2c1d9eL,
  105639. 0x69c5ed9c89b83f53L,0xee80d5102b74ebf3L,0xf1ac08ba53fdaee3L,
  105640. 0x89551a3689f58574L,0x55298a412d97b54aL,0x000000000000000bL },
  105641. { 0xc12b2160a54c169eL,0x557ac5fad1ba765dL,0x8fc94a99af6d1ff0L,
  105642. 0x01ffeb4f50587c6eL,0x030b43f838ef4acbL,0x0f9f1e53091d7b0fL,
  105643. 0x2a6e11c6edd00a6aL,0x6a611260fa85f47aL,0x00000000000000a8L } },
  105644. /* 8 << 490 */
  105645. { { 0xfa050bbd035b25a2L,0x2a14076e36ee92fbL,0x3e95a7eb2f514218L,
  105646. 0x8a67615dea3b77d3L,0xe2764f071da9263eL,0x47bbf1ff92b51d79L,
  105647. 0x82cd065659df9eacL,0xc80bb0f05e020e6fL,0x00000000000000b2L },
  105648. { 0x7dac49e7a7560919L,0x7238fa6ec82b9da0L,0x3ffcf645ff7cacecL,
  105649. 0x72087198be9302ceL,0x13094b5c513ba920L,0x8cca51f343eb77deL,
  105650. 0xeffe0e7d60b89283L,0x036368bfdf9075deL,0x000000000000019dL } },
  105651. /* 9 << 490 */
  105652. { { 0xae445f227b4593b8L,0xef35356ad4842ce6L,0x2db43c86bf3bac89L,
  105653. 0x414690ed7dc182c6L,0x84a514a50ae14289L,0x5ecc2b3c805b103fL,
  105654. 0x0bd5f847fad21f5bL,0xee1dd686b358a036L,0x0000000000000000L },
  105655. { 0x22052b302fee1645L,0x84910ab0d993b563L,0x58431b24c62691faL,
  105656. 0x0d573a5ad696d720L,0xdf3b69ed9c571a76L,0xef2bdca8814c3185L,
  105657. 0x35e2a1ce22a6530dL,0xc3d59a8c72873a48L,0x000000000000013aL } },
  105658. /* 10 << 490 */
  105659. { { 0xea12baba36c07770L,0x7149b07d7aa338dcL,0x7dd392b45d156c18L,
  105660. 0x84a12f7cc4365ee0L,0xb44e45db4084be8cL,0x5d54b2fd5fe57a77L,
  105661. 0x302ac5bb71c43590L,0xe66a79c59fde373eL,0x0000000000000134L },
  105662. { 0x2bfd7beab5bca463L,0x928522e5980a8823L,0x00a2c869b924694aL,
  105663. 0xdd8a185649d07554L,0x16b0b4c34cec885cL,0x37f1fc54599c8460L,
  105664. 0x7d27418a7d607e4aL,0x8fb68d5ebd28f94aL,0x000000000000004cL } },
  105665. /* 11 << 490 */
  105666. { { 0x9f19c16c46720d7aL,0xf378e65e2c7603f1L,0x4767d22438b49a6fL,
  105667. 0x54745d098b03e0e9L,0x4b04b342d735cda5L,0x4f2b0ea305c600f4L,
  105668. 0xa951a8762c6442daL,0x306df593775e0120L,0x0000000000000114L },
  105669. { 0x626a917bf58d9acaL,0xcb451ec176b10f78L,0x93da7a771559c731L,
  105670. 0x7fbec23ebbdac761L,0x5fdd3a75a36dfd28L,0xbf715077d53ec252L,
  105671. 0x0b7d2f675fe204ecL,0xe2d696507278bc38L,0x0000000000000008L } },
  105672. /* 12 << 490 */
  105673. { { 0x2ff0f1cbea39d3beL,0xa756a96ec7f3195bL,0x1dfbdedfdeb42713L,
  105674. 0x7cb9e1be4a87567aL,0x64541aa30d2cec73L,0x8eec22690a0327b0L,
  105675. 0x967b1bc10c157f20L,0x2a6f1a402d8969e0L,0x0000000000000181L },
  105676. { 0x42547f4cc471c0cbL,0xb990b1a2815ef0f1L,0x672398cbfbc29aabL,
  105677. 0xfb7e649b104ac38fL,0xf0ba1354e9cf1e5aL,0xb0c191da2cd48a07L,
  105678. 0x1fc70fcdb41854f5L,0xf11295462504091bL,0x0000000000000195L } },
  105679. /* 13 << 490 */
  105680. { { 0xac46f9b5cb50100dL,0x515da1b65497f79aL,0x5e5cd6053fdc142cL,
  105681. 0x40b22f9fd29696b7L,0x6f54de30d431a575L,0xf031047cc22eccdfL,
  105682. 0xb93ab0eb3686ff2fL,0x2916ce36d93d864bL,0x0000000000000060L },
  105683. { 0x09309e3b78bcbe2dL,0xedaa63647012435cL,0xadca8f2837274001L,
  105684. 0xaf2ddf5fb46f8b32L,0x1cee73d6478e7979L,0x76de95d86428aba3L,
  105685. 0x13e5f39308dd313eL,0xcff92fc04cf616f8L,0x00000000000001b5L } },
  105686. /* 14 << 490 */
  105687. { { 0x3546089d84333088L,0x60abe80c5c2a72d2L,0x1c1c8e6a1698cfadL,
  105688. 0xcd2fcdddc6364862L,0x858e2049539275c2L,0xf238daa1d1452d8eL,
  105689. 0x6c50daa23fe94cbeL,0xebaf801da026f28aL,0x00000000000001f5L },
  105690. { 0x28bdb6603bf45e6dL,0x44465513fedab00eL,0x0a86e5a08f0bf163L,
  105691. 0x6d14d86fc43eca4fL,0x0c6eaaad4aebdd05L,0xb974e68bd4a58166L,
  105692. 0x7208623eb468b01cL,0x56cf14ab87826367L,0x000000000000009aL } },
  105693. /* 15 << 490 */
  105694. { { 0x51531ee8e746180bL,0x43121900720c9cb4L,0x2e2dd6ab3e0d0ed3L,
  105695. 0xd8c964b4d1bb19beL,0x693688ccbf410642L,0x5cc38a4f81ef0113L,
  105696. 0xe4564abcafc1e72aL,0xdf8f203c9c2ebf93L,0x0000000000000099L },
  105697. { 0xea13eb46763e5b3bL,0x945069aa4cc61cddL,0x3758dc5ce40e7f01L,
  105698. 0x7ec20717b8a812aaL,0xbc5492e988dd7752L,0x993eb9cc2d7336f1L,
  105699. 0xe10cbab49e4ff77aL,0xd4ca5b63e32f8934L,0x0000000000000197L } },
  105700. /* 16 << 490 */
  105701. { { 0xb8a3f6bda1bd56ccL,0x3b8f16bd2e598d13L,0x304cd218dc92bf6dL,
  105702. 0xec30d12dac0b947eL,0xf7fa65eccf12510bL,0x9c45d10c7f2df1dbL,
  105703. 0xaf49aac9cc89cbbdL,0x7771c58aa3936ff0L,0x0000000000000141L },
  105704. { 0x486b202acd4e00aaL,0xd4ce59c3e9cc0cffL,0xdc299e6110dcc4f2L,
  105705. 0x64f83481559569cbL,0x005fda65297ad136L,0x929eb2207cad3258L,
  105706. 0xfd85773d62647bf0L,0x776fbaff177af6a3L,0x00000000000001a4L } },
  105707. /* 17 << 490 */
  105708. { { 0xe79e46cd5fc30347L,0x674285a267e94f51L,0xd31d7d420c5dd942L,
  105709. 0x7172dd7f3a511c36L,0x765b80b7db09bf5cL,0x5c13a3197e80a403L,
  105710. 0xbc4af3e874c08746L,0xe103ca58fd80a7f5L,0x0000000000000025L },
  105711. { 0x8ca87d3999ca3f40L,0x9db2fd4e540cb22dL,0x757103a3d792fc7eL,
  105712. 0xffe2bc304dd1afbcL,0x9d12a8273ed96ed3L,0x2e3ce176b658113cL,
  105713. 0x95938a67fc9f6e7fL,0x9794212ca41fb2ddL,0x00000000000001d4L } },
  105714. /* 18 << 490 */
  105715. { { 0xd361033049be3163L,0xa62047a34d55201bL,0x6a4e87786f886ff0L,
  105716. 0x604ce4c96b10def2L,0x786a6da1db90c42dL,0xb8d75e55c29e737cL,
  105717. 0x1c19c2d0b9a6bf51L,0xe444d64f8fc3a7a8L,0x00000000000000d4L },
  105718. { 0x7853870ac196ee6eL,0x1be278b5c127bc47L,0xdcb5a00c50ac1962L,
  105719. 0x37bd8ee5ff0e97bcL,0x88847dbd1907b331L,0x66c67e868ec11029L,
  105720. 0x0e664bb33a23b51dL,0x3b9552ac67489da6L,0x0000000000000185L } },
  105721. /* 19 << 490 */
  105722. { { 0xb21548262e25f5c0L,0xd2ec6bc2992d921eL,0x2dc4a7a869093ae0L,
  105723. 0xfa7d331b63a7e7daL,0x625d366c96e835f2L,0x796cd894f83cce59L,
  105724. 0x296bd295152b78f7L,0xaa68fb2b0807b951L,0x0000000000000150L },
  105725. { 0x7f6be3866d0cd79dL,0x04e17e832b100dc2L,0x34edaf1a36c37de2L,
  105726. 0xaee7d6ac66758307L,0x0cd64d977e13f95dL,0x94ec5730a07f1e19L,
  105727. 0x5bd6888ac4aa4311L,0xc81682ecfd0c4555L,0x00000000000000b1L } },
  105728. /* 20 << 490 */
  105729. { { 0x49082b82f794bfedL,0x090ad58da7508ba4L,0x016c6c61abf36de8L,
  105730. 0x69744e76c17d97e8L,0x64ba471f5087cce7L,0x45bac2bbf3fd22daL,
  105731. 0x1bbc08f0e8f6671eL,0x6e45905d268427beL,0x000000000000007cL },
  105732. { 0xfdc632d4d810ab70L,0x2d68f73cf9546668L,0xf506ef8b178148abL,
  105733. 0x95db78df162c23c7L,0x4df86cb933dbae55L,0xe47825b77d81edc1L,
  105734. 0xbe78419056e1496eL,0xd707fa3a48f497ecL,0x0000000000000008L } },
  105735. /* 21 << 490 */
  105736. { { 0x02255e039c52c74fL,0x9d3fcbd7f200eb00L,0x16aa73a9acbf4abbL,
  105737. 0x70e1ca461687653aL,0x2756e86c3bab9f5aL,0x4443f19c6e3180d7L,
  105738. 0xf6da43fedebf5b52L,0x8c4901ec7788d048L,0x0000000000000172L },
  105739. { 0xb9d9e5d51277636aL,0x0277a4d11a31a1f7L,0x5f4b0a7c948ccda6L,
  105740. 0x1548a1eb9a6c4ddeL,0x8ccec5bceb7e26b2L,0x955a00b8ae69a2f1L,
  105741. 0x4cf07abc10fc1875L,0xebcffdabf4395ff8L,0x000000000000013fL } },
  105742. /* 22 << 490 */
  105743. { { 0xac56388e6483d8a4L,0xfdfe4569e227c038L,0x450294e22eb72fabL,
  105744. 0x88409dce0fe1329bL,0x29fcce43fe7f2e69L,0xde4876f54b1a398eL,
  105745. 0x3801bc1a201ae634L,0x0fb643e1c7b52ec9L,0x0000000000000126L },
  105746. { 0xa11b43e67ca49857L,0x23d4c95c7a771e14L,0xbe8fcfac9bae2b51L,
  105747. 0x777f2e78be5a50fcL,0xb8cb4c6fcb75d302L,0x270687f1d494af8dL,
  105748. 0xb2c986981e494043L,0x2b6e60e78a8179f4L,0x00000000000000b0L } },
  105749. /* 23 << 490 */
  105750. { { 0xe6bdf3b488959264L,0x5542a7fd644ce746L,0x63ab33f2dce11936L,
  105751. 0x3553de8e474efdefL,0x8af61691c83e85a7L,0xc884742bd56fe2c5L,
  105752. 0x3f040aca37f03427L,0xb60c9b41263319d9L,0x00000000000001daL },
  105753. { 0x2c57b645883caaf9L,0xcf22170bd9ae6a66L,0xd9df329915b5c403L,
  105754. 0x9a8e8a4aa5c81461L,0x48a6ea41145a6d0dL,0x82539f6ad425ace1L,
  105755. 0x79d9a233ad3a89f9L,0xc7f8856bdc08a1e9L,0x00000000000000b4L } },
  105756. /* 24 << 490 */
  105757. { { 0xc2ec5aee77528da4L,0x3c8c6f50b12e7da5L,0xe36d0b4775e8fd04L,
  105758. 0x49affce87e0189c5L,0x2c23922de166e234L,0x44f5033a7e52c62fL,
  105759. 0x1d3b1a480e1dd67dL,0xc530693580ff9f3aL,0x000000000000012fL },
  105760. { 0xfacfb18bf94695a9L,0xda2ea3903a8c9298L,0xf8a29d06b18c310aL,
  105761. 0x10bee839046bd445L,0xa78643a0094093bcL,0x77cd1796a2c10fcaL,
  105762. 0x5fcfed6a5ac6c799L,0x8331b5b782907caeL,0x00000000000000a7L } },
  105763. /* 25 << 490 */
  105764. { { 0x782b00c9ff08cd68L,0x3bebf3ecb5c82844L,0x0db519c634fbe0edL,
  105765. 0xc6d0b96b80968dd2L,0xca8a16449fd14732L,0xdbc7ba82770939aaL,
  105766. 0x57b96f47947233f8L,0x94cc0ccd686cb7d3L,0x0000000000000092L },
  105767. { 0xa1ec820aaecee40fL,0x81fee315a9e2e645L,0x4794883f242620acL,
  105768. 0x68adbdd9890be143L,0x1dceec7b76458c1dL,0x90737afab7c270a6L,
  105769. 0x640520d1c504fec9L,0x7db9a04721283767L,0x000000000000014dL } },
  105770. /* 26 << 490 */
  105771. { { 0xdc7ea260fb335eecL,0xf4fb771645e4162fL,0x83083490caf2fe89L,
  105772. 0x236f08720175995cL,0x36111ad435504affL,0x0071b03ff342248aL,
  105773. 0xafa645143c794f89L,0x81caa96447a160d2L,0x00000000000000e1L },
  105774. { 0x3dbacd20ac902e52L,0xf65e2a91a533f9c5L,0x6cb5952b31b56177L,
  105775. 0xb9d864204aed174bL,0xdad31e286f481fd0L,0x47018a784b45b876L,
  105776. 0x2de43a62934e6063L,0x8893fc2e48f73becL,0x000000000000018bL } },
  105777. /* 27 << 490 */
  105778. { { 0xf3a63c14bdae5604L,0xe11ed2086d3e10efL,0x10639e5e6021fbffL,
  105779. 0x6b6f4e5d76c3b6f2L,0x153e9ad8ae20d93dL,0xa0d205d3a3c51052L,
  105780. 0x84802526d77f38d5L,0xd14890d7bf780614L,0x00000000000001c3L },
  105781. { 0x9aa8671588be4774L,0xa877900f0edbc5e3L,0x1106cd8a0231c6c9L,
  105782. 0x2a08b3dc26146217L,0xa98a1202f7041571L,0x2352cf2fec9e24dfL,
  105783. 0x990d2feb89c59932L,0xaca88d14d00fbc45L,0x00000000000001b9L } },
  105784. /* 28 << 490 */
  105785. { { 0x9a9d1b1914198957L,0x09272b36b8b27468L,0xa8adb29478d8695eL,
  105786. 0xb2a77ef928e6b551L,0xb92c59a171983bbdL,0xae27218037661116L,
  105787. 0x8aedb3dd9058858fL,0x2ea5bebd716b7a4dL,0x0000000000000188L },
  105788. { 0x43bcd03eb534ac3fL,0x0a3a64298d025a80L,0x3e6a0674dcaa5ea0L,
  105789. 0xa0b446922a7bed53L,0x962c45437d1d2fdcL,0x4651ccf2e3ec4a2cL,
  105790. 0xaa08f169a883b3f8L,0xbcd939e4513a5d60L,0x00000000000001b8L } },
  105791. /* 29 << 490 */
  105792. { { 0x3ebb07d66165d930L,0x8e91d5450ae51c2eL,0x3583819e644fcafcL,
  105793. 0xa50fc18d091544e9L,0xc0d83ac6d906526bL,0x8dda11369adafa5eL,
  105794. 0x641ec76d47b69511L,0x4a8c8b3c9b78be9bL,0x00000000000001d4L },
  105795. { 0x9bf7a595b578fba5L,0xd19f5d5b35363b48L,0x59ffc205b60d4397L,
  105796. 0x566d5dc8405a1ad8L,0x6fefa0d077eb44b3L,0xe541d6ce224d90b8L,
  105797. 0x2ed4482e17f7feb9L,0x7f19a002fa2bcbbcL,0x0000000000000027L } },
  105798. /* 30 << 490 */
  105799. { { 0x547c70b4548ca6d2L,0xd6a7a51ebce5664dL,0x92e8ccd00472cd19L,
  105800. 0xbb32b3050441f3e0L,0x9ba8b75a17a40be2L,0x544c456d08adeea8L,
  105801. 0x37972d606ad0417aL,0x812b7c83d87711afL,0x00000000000000f2L },
  105802. { 0xdc0584d5f57681f0L,0x4a450ce001727532L,0xbeeb07d401eb264eL,
  105803. 0x0d6b72c444f15915L,0xebf41a6f2ce8922fL,0xf342d770f71b84a9L,
  105804. 0x45e38af44fa730c9L,0xc65be7b2ae916caeL,0x0000000000000168L } },
  105805. /* 31 << 490 */
  105806. { { 0x346422ccd8be3ef4L,0x78e55bbd6b6397c3L,0x1122c7c23eb94d9fL,
  105807. 0xe335c88d6ebd1011L,0x5d69022902d6a508L,0x32404617bae4b52eL,
  105808. 0x4105738dbe1bbbf4L,0x4633d69992bb6653L,0x000000000000007fL },
  105809. { 0xecdb3d91f642459dL,0xda072b00b406bec3L,0x15c08fda4b06ff3bL,
  105810. 0x8a66e8cdafcfb908L,0x4f142a2cb4892aabL,0xf6c64b9220d47b2bL,
  105811. 0xfdf4c62737194064L,0xd8ab8881d881142aL,0x00000000000000bcL } },
  105812. /* 32 << 490 */
  105813. { { 0xaf9bf352b2648196L,0x00a9569d042fe760L,0x43854e69b9d94444L,
  105814. 0xa01a26456e3392b7L,0x43d8ae3686c0702cL,0xb658edeedd0f9617L,
  105815. 0x0676b0ef8b270ab3L,0x71ceba8f02072f7cL,0x00000000000001daL },
  105816. { 0xaf1b398d4d9bc7bbL,0xe6f033c930e4a71eL,0x38919b421c8d3fd5L,
  105817. 0x4dca8a1f31065bb9L,0xba5a637e0bd4bea3L,0x30f886eb9a42d432L,
  105818. 0x1e7c0fa3000fcd13L,0x9dffac1d7299786bL,0x00000000000000daL } },
  105819. /* 33 << 490 */
  105820. { { 0x9c6981caa81142f7L,0xfda7dbd4fd156b03L,0xb55db395f9ad1b37L,
  105821. 0xd7614d623bc530f7L,0x0cdae9d22c905663L,0xbf9d97cec181cc24L,
  105822. 0x84e1995a0462b7d2L,0x02eb429532ed0544L,0x000000000000016dL },
  105823. { 0x37f3da4c8f85488bL,0xdd74c11700010fdfL,0xd73da972faa1b459L,
  105824. 0xcfa6099fc4fee2aaL,0x831e38705c0b914aL,0x0c7e3a8fd4a13005L,
  105825. 0x4b0c86e03a3d633cL,0x9c104f0720231bfaL,0x00000000000001d1L } },
  105826. /* 34 << 490 */
  105827. { { 0x2c6420ccdc38445bL,0xf8636ca67fa9a5cdL,0x4222168ede7cafe0L,
  105828. 0xbf9f6254f0e34b77L,0xdfcc8d0688f9e0ecL,0x06d3252d988e02aeL,
  105829. 0x56557b2ce3609068L,0xc4d157a4b96068e1L,0x0000000000000032L },
  105830. { 0xf1135648cf72d12fL,0x37e911e5811b868cL,0x2cb5772f4b7bcabbL,
  105831. 0xddf409b0c02c026aL,0xdfcb7373a6c344d6L,0x2b71c0dedf718cfeL,
  105832. 0x8107675ff9043a2bL,0xc4cdb35c04f0f193L,0x00000000000000d0L } },
  105833. /* 35 << 490 */
  105834. { { 0x677701ccd5a7e191L,0xab23235dd26500eeL,0x0802b5f4f83e8885L,
  105835. 0x0113e7f2072026edL,0x343f785ff5757027L,0xcf49e2e57b6406ecL,
  105836. 0x5fe76f7dd846655aL,0x13a05fec06dd0b73L,0x00000000000001c9L },
  105837. { 0x3ced3cbe8b640e13L,0x945068dbd6b72e95L,0x2181cee07981bb0aL,
  105838. 0xdf3fb0d3fe9aca7fL,0x4b29a06f1a49a253L,0x4f29456252436f51L,
  105839. 0x50798afd75f5ae8eL,0xeb4fb55d4b0e21c9L,0x00000000000001cfL } },
  105840. /* 36 << 490 */
  105841. { { 0x35900c17f31f03e4L,0xd46ab57ecacb20d0L,0x346e2e7d1f2ec957L,
  105842. 0xcc002ceded3e9556L,0x34af851dd2729afcL,0x38f4c7007ef8ad10L,
  105843. 0x9383b41e2514f43aL,0x41f5a0c43156a417L,0x00000000000000c9L },
  105844. { 0x0430eb170573cf6eL,0x75cc52b227b7f3d0L,0xa0306601a0c813bdL,
  105845. 0x202894d4bf1a5bc9L,0xaa87196d9ce7d613L,0x23a3fb14644485acL,
  105846. 0x5d9b9f3ae9854099L,0x76d3383791c4b3daL,0x000000000000007bL } },
  105847. /* 37 << 490 */
  105848. { { 0x7be352469c44d309L,0x864ae27e8f4e2484L,0x9f457a4f3af5a594L,
  105849. 0xf215103c858aec93L,0x792d6a3f138244e1L,0x6bb16e51920ab210L,
  105850. 0x2560020ece573467L,0x2d6e20b5bc565058L,0x000000000000011dL },
  105851. { 0x429c2f1cb8826bb4L,0xfb092daa14d953aeL,0x70d6a39a9ea3076bL,
  105852. 0x8bbad6153bc68687L,0x1f429219a3f6d0b1L,0xe335739bd50a3ca8L,
  105853. 0xfb76e216b8f25500L,0x55e606b970172ee4L,0x000000000000009eL } },
  105854. /* 38 << 490 */
  105855. { { 0xfbdc60f37bf5b26cL,0xe42fed785e165d3dL,0x8eae9ace8103041eL,
  105856. 0x68c8d798e97cbf71L,0x4d7dc5156fbd8c5aL,0xa047cf13f473bce5L,
  105857. 0xc7e18565a71c679cL,0x12c321ccfaae7237L,0x00000000000000daL },
  105858. { 0x896bf0d3e357c359L,0xb05051dcd83f4e44L,0x2cacb7bf71a73589L,
  105859. 0x7418b85011c1aa4eL,0xf5780ebd98f16d37L,0x01ea234502b2e8acL,
  105860. 0xc4210ee8ca205ac8L,0x4e166dcb055d8862L,0x0000000000000077L } },
  105861. /* 39 << 490 */
  105862. { { 0x4926e24e5b63b15eL,0xfb0ad1e7ccca4dc5L,0x13c006d3529ecf40L,
  105863. 0x03ef68cb6fd4c202L,0x56267eb15fce340aL,0x116fb062ca544956L,
  105864. 0xc318e26a69799c4fL,0xe700e63ac7b0e582L,0x00000000000001cdL },
  105865. { 0x492f4fc30a8acdc6L,0x58dbc159ca8e09a4L,0x837eff9405a42e25L,
  105866. 0x2ab5849271b0ae77L,0xbbc2c2541b9eae08L,0xf7ce5295b6fd5969L,
  105867. 0x7358028beaee4711L,0xb2b7233552b004d5L,0x0000000000000046L } },
  105868. /* 40 << 490 */
  105869. { { 0x295b183393dc69c5L,0x8eb4b6ab3c37e07aL,0xa6e07d0f04408713L,
  105870. 0x2cc845f2c69254d1L,0x93f7aee14396112eL,0x44c963cc55c306dbL,
  105871. 0x7e18cecdd5eab009L,0x4397a27ff9a2c2d3L,0x00000000000001e2L },
  105872. { 0xadb5af020031c31dL,0xe273ade87aa7656bL,0x3c97406a8cf07d6cL,
  105873. 0x348d729e460e4aafL,0xae24daeeb2373a39L,0xef275cb1b3b2264aL,
  105874. 0x947252cfed43148eL,0x4237243e33c44033L,0x0000000000000105L } },
  105875. /* 41 << 490 */
  105876. { { 0x6a9270fdb51c81c3L,0xd9e2b1e12e4b9a01L,0x303aa12d63918a66L,
  105877. 0xf5128af5ef62e4c4L,0x91518d003bdbfe66L,0xe877b72a2e705e37L,
  105878. 0x5825aef41e608e82L,0xdb47715ea274cdfbL,0x00000000000000bcL },
  105879. { 0x8e760b7fbc4f794aL,0xfed90cdb13aa043bL,0x2e34fab55f258013L,
  105880. 0xba455f09e6282952L,0xb2a41de10be69b3fL,0x6a1d3f45312ba3f5L,
  105881. 0xd92e0895e78874c2L,0x77439f3ab99cb460L,0x00000000000001c5L } },
  105882. /* 42 << 490 */
  105883. { { 0xad16ea1a15f7f16eL,0x7536eaeaf0d41825L,0xc8db9cb5e341f9caL,
  105884. 0x4f565eb5627278b9L,0x2016945238adfec5L,0x754261a91855a678L,
  105885. 0x8b8e9eb9b6341562L,0x55119faaecb6f837L,0x00000000000000aeL },
  105886. { 0x06bd4c7f758c138bL,0x859730874ae4e99dL,0xfeb70bbc6eba9b30L,
  105887. 0xb5e394a4d593b54eL,0xc54ceab4e18068aeL,0xd9d13043702dad7eL,
  105888. 0xa822afc22d6a1621L,0xebce87fe99b2c7edL,0x0000000000000057L } },
  105889. /* 43 << 490 */
  105890. { { 0x210636ee6e2f194eL,0x653d19cccd3aa630L,0x1211c87bc72f054cL,
  105891. 0xaadb7dd07de52f23L,0x3ac4892a014a9826L,0xfc871d728c3dfe32L,
  105892. 0x453434ea1acc75ebL,0x15668e025611b7a1L,0x0000000000000060L },
  105893. { 0x1e4c1d7254f88188L,0x06891c05992e686cL,0xb8b93008914cae00L,
  105894. 0x2e1a4ca56e494b72L,0x63a4fdaa50f56be5L,0x9059e7c4b2d616c6L,
  105895. 0x586aee6d4bda7608L,0x90428414735778caL,0x00000000000001f1L } },
  105896. /* 44 << 490 */
  105897. { { 0x3aedec9f37932307L,0xc90ba7cc3c278c5cL,0x2172d22004be1c8aL,
  105898. 0x9d9943b37ce8e3f3L,0xbfec2077211548bcL,0x938e1d2f1d011ee4L,
  105899. 0xac9bb9d5f14f2246L,0x44152b2dad89a636L,0x0000000000000182L },
  105900. { 0xee7da6c1c7e6c8a8L,0x3c6d8dbf61fd9a43L,0xbf8daaec74a9c52fL,
  105901. 0xf71e888e9bfad08dL,0xb16028e58aad6006L,0x203343ca89a9ef88L,
  105902. 0xb218490db9b624adL,0x8b7ba480d01f5fa5L,0x00000000000000e0L } },
  105903. /* 45 << 490 */
  105904. { { 0x36196133272975fbL,0x01384c75cb6a974aL,0x7fa975c36340a057L,
  105905. 0xc24df57784a3583dL,0x2da75192bb84c62cL,0xf1f3a70b14579cf1L,
  105906. 0xd50474daa2e588a4L,0x4aabd6d26f1e9de5L,0x000000000000018cL },
  105907. { 0x76e60ea6fab24b05L,0xf42bbbd2df7d817eL,0x3520cef607b34b07L,
  105908. 0x2def153d9996c9c2L,0x179dce6195252be7L,0x34a49977959fb4f2L,
  105909. 0xbb05b0c6414e4630L,0x582b85ee8e51ba0bL,0x000000000000010aL } },
  105910. /* 46 << 490 */
  105911. { { 0xb3f85e6bdcb0257fL,0x9f7c94610db3ae5aL,0xd1309e33f7db50ceL,
  105912. 0xe6be4681d69ff6cdL,0xabcfb97f45b3e25cL,0x611bde5acf2cbfa2L,
  105913. 0xcbebd63d8a0ee819L,0x84f589922a881952L,0x00000000000001daL },
  105914. { 0x375d99a15eafd5b1L,0x1624edfd343c8399L,0xcb922ca0486cb49eL,
  105915. 0xda5bf79afb059ddbL,0xfbd112db909e0533L,0xe45142308e9322c1L,
  105916. 0x4e4484879fe403eaL,0x90fa5474a20f933bL,0x0000000000000148L } },
  105917. /* 47 << 490 */
  105918. { { 0x2f0d4c3b48d8f2cfL,0xe7c0c77e31ac3990L,0x8ecc391aaa04fe9cL,
  105919. 0x6de447a596d400f8L,0x1e4e295ef1a240d8L,0x68850f917621d6d9L,
  105920. 0x56018d58316c4b1fL,0x814b364b00c15d95L,0x00000000000001acL },
  105921. { 0x5bef4d63f3de314fL,0x396301ec89c3021cL,0x248f51e95efc1e80L,
  105922. 0x1e9acc4af7b3209fL,0x17094679973357c4L,0x7ce6f1b39506621eL,
  105923. 0x564fd1c1b2bdc480L,0x574423eb3a4c1975L,0x0000000000000177L } },
  105924. /* 48 << 490 */
  105925. { { 0x7078a5f8c793fc62L,0x5ed9d1d57dfa971bL,0xe1f701b4a25cdee9L,
  105926. 0x362b88524b57f87eL,0x2448012320869233L,0x025ff4771481f116L,
  105927. 0x3ca9f2f68a6275deL,0x562666c7da246190L,0x0000000000000086L },
  105928. { 0xb5cb110004d25dafL,0xc869f7b3748d3d45L,0xa68f07320c847ab3L,
  105929. 0xe03e1ae202c1d0a9L,0xb4f46c5ec2a80ef6L,0x79b46f90606e1371L,
  105930. 0x0bc1f2a0a728979aL,0x9e8f17833037fe72L,0x00000000000001a1L } },
  105931. /* 49 << 490 */
  105932. { { 0x92c876eaba57a5ecL,0x91b9ccc35f0a0aaaL,0x6a208e24040313faL,
  105933. 0xbac2e28d87983b26L,0x5956ba23851ee137L,0x6efec8e850c067c9L,
  105934. 0x7bd5118ae2dc92d8L,0xc88977760dd4481fL,0x000000000000002eL },
  105935. { 0x170d9e4bebf66902L,0x7dc58ca4351c94c8L,0xf0338c8a9f4bf58bL,
  105936. 0x54dab2aea52e0c73L,0x0f4a6a5177eda7a7L,0x5356635827e03485L,
  105937. 0xa43fa520a87f96d9L,0x8b82a2dc026c86a0L,0x00000000000001e5L } },
  105938. /* 50 << 490 */
  105939. { { 0x9a17a22e28c209c3L,0x4c3776f5275c7b6dL,0x2b78c520e4b62488L,
  105940. 0xef7cf9ba8b99989dL,0x540c3a11a7883805L,0x314401635fcc1197L,
  105941. 0x27a51e77406245d2L,0xfeb5c66a87da3cc5L,0x00000000000000adL },
  105942. { 0x2406a28ff97dc5c0L,0xc44de6717cc0304bL,0xd8b8c3a7a893730eL,
  105943. 0x1755fec500c14fcfL,0x34e16a56e61a6b56L,0x936f471d8469199dL,
  105944. 0xeee12092ddfd51c6L,0x912b3141617a3645L,0x0000000000000112L } },
  105945. /* 51 << 490 */
  105946. { { 0xe68216c4acabfc0bL,0x575047098206f7b7L,0xeeacfd72278d0fd6L,
  105947. 0x26009914125b3bffL,0xf2c4d59974430c62L,0xa883c18c6576fecdL,
  105948. 0xe8c29e2b58f5c1abL,0x19715f47d63f80ebL,0x0000000000000136L },
  105949. { 0xf1fbd8413907f8e8L,0x3b6d0ee100b6840bL,0x582779a8e7ea2006L,
  105950. 0x24d05b01c79c4ba1L,0xc11c23d1e48ed567L,0x31ca1d96ca92fcd6L,
  105951. 0xfbae1fdfdc9f7647L,0x47d7d61d94549301L,0x0000000000000035L } },
  105952. /* 52 << 490 */
  105953. { { 0x31da39dbb68cf907L,0xb02e9060d1e99729L,0xadd55a9689bb1507L,
  105954. 0xecc7856a4b5470a1L,0x40a83460eab8cb1fL,0x1c1f3c112b2c9159L,
  105955. 0x7b97b58f7883ff7aL,0xe7e97a4abde1caa7L,0x0000000000000139L },
  105956. { 0xfa1da9d4b8ecc0d1L,0xe6212df16e7641b3L,0x828c55c6ebb36f6aL,
  105957. 0x5b7ead1609d6a861L,0xdb35a05fc2844248L,0x3c5089b2776dd2cbL,
  105958. 0x2b6595bfed9eb5b0L,0xbddfaf004d176cc9L,0x000000000000008fL } },
  105959. /* 53 << 490 */
  105960. { { 0xbcd382ebea56a75aL,0x53e072c1532eddfbL,0xf9e876e05394a791L,
  105961. 0x8d1b21bc90cd2760L,0xf1dfbd70d35c0c7fL,0x5f974acd25822227L,
  105962. 0xb7f59ce3ad8a5cbbL,0xdf4c1e5a5266c9abL,0x00000000000000d7L },
  105963. { 0x49c8ff4e5896a558L,0x38da671d1b3eec29L,0xe8ad9b620128778aL,
  105964. 0x99478bf41d53b8daL,0xe0196e99b521a1c4L,0x9075689f5ed4551dL,
  105965. 0xa89983aed3b8db57L,0xbf2e18e0920ed9beL,0x00000000000000b8L } },
  105966. /* 54 << 490 */
  105967. { { 0x0f498b6bab33f9d8L,0x4ad288a62ccfc0fbL,0x7115968d312aaf15L,
  105968. 0x3c01241a2ecffcc8L,0x80f841855f6704e8L,0xbfec176e279033b9L,
  105969. 0xa72fec76e9634860L,0xb3b673afafa844ccL,0x000000000000009eL },
  105970. { 0x0c0409d7f67aa5c3L,0x06d70f351f87efb6L,0xb203904279578f67L,
  105971. 0xd72c5ae7d4a73775L,0x15146ae382883850L,0x368d7af83f25050aL,
  105972. 0x1fbedcfc4025b2b7L,0xb75fc92f5ab52601L,0x00000000000001f8L } },
  105973. /* 55 << 490 */
  105974. { { 0xbcea48fce7f90fefL,0x2948f00104a5cad2L,0x741f5fd7381f63c2L,
  105975. 0x2480d66320c40d0cL,0xcc71dd56fa3933c6L,0x32537996b42aaccfL,
  105976. 0x2058a90ec1de949fL,0x8cddb8a4337c3d9cL,0x0000000000000118L },
  105977. { 0xbec707c69f6d7d34L,0x3961a86455e2adacL,0x6ef452a7e74039a5L,
  105978. 0xc7dc50b0ad925d03L,0x9abece09b0c3266bL,0x7099d99a9bed8b60L,
  105979. 0xcf86e9b4dddc307fL,0x4b55f07acff68c17L,0x00000000000001d5L } },
  105980. /* 56 << 490 */
  105981. { { 0x3e39683dcd351b10L,0xe16197210a895f34L,0x252e80da411d3459L,
  105982. 0x1cf1f5433456c4a8L,0x7d561558fbe9379bL,0xb851ccfa95445524L,
  105983. 0x63047f7cd73af554L,0x9414829ccd036021L,0x0000000000000138L },
  105984. { 0x1a267c2a72c27112L,0xa663014f7031c061L,0x6c342632bdb60991L,
  105985. 0xeabab7ce0d230b20L,0x0bb0e281c3bae5dbL,0xc46b86b7d63a462bL,
  105986. 0x1964d38cb34aeafdL,0xc165169bb2548043L,0x00000000000001e1L } },
  105987. /* 57 << 490 */
  105988. { { 0x0069f78595054d41L,0x1915d067ffb41edfL,0xd2a26117106803ecL,
  105989. 0x01aee38f45acc15fL,0xc17f9a13e5e0ca69L,0x9650dd183b3c005eL,
  105990. 0x80dcb7b979ea11a4L,0x8016e13f161b05b1L,0x0000000000000005L },
  105991. { 0xc34447de63240c80L,0x7055b0885924cfd7L,0x0827c7ddbd76a15aL,
  105992. 0x2c0986b73aa18316L,0xa6c6a88f2ac32019L,0x0738b1b3cf9a7941L,
  105993. 0x7b55ebfc25337538L,0x533fcc0a015f8678L,0x000000000000014eL } },
  105994. /* 58 << 490 */
  105995. { { 0x1a96801aadb8bfe3L,0xe75278daf390769aL,0xcb8de5149bc85577L,
  105996. 0x26d506ca59959b5eL,0x134f13278a3ecd50L,0x990cb7b3bf13e3c4L,
  105997. 0xd2c83b2625b4cab7L,0x762f5e88306fda07L,0x00000000000001f4L },
  105998. { 0x4c07d7fbada306d4L,0x4bec248d3e507275L,0xd2e58fd9b23246baL,
  105999. 0x9cd7d608419a7944L,0x85b076b56ff066e8L,0x75815995ad21887fL,
  106000. 0x898f9f2d778e8eb2L,0xda74a1c47d16b4e7L,0x000000000000010bL } },
  106001. /* 59 << 490 */
  106002. { { 0x5a99a36a89e67b6eL,0x6a9fadb934faa0e1L,0xbff8efff81886662L,
  106003. 0x6d30dbba5e4281dbL,0x793e30fec50c8b7bL,0xcd8b5ca3d31f298bL,
  106004. 0xc3618e2f8b3ab7b9L,0x6d9afdddb566cbf6L,0x0000000000000192L },
  106005. { 0x588a45bf8c86b790L,0xe384791ccbcc0262L,0x94dcfb139220da30L,
  106006. 0x0a11742af8a98f9dL,0x8b32affa180b4e5eL,0x009e3017900f981bL,
  106007. 0xdc0cdb67077045ebL,0x6370593425e84b0bL,0x00000000000000deL } },
  106008. /* 60 << 490 */
  106009. { { 0xd8a907f1495af650L,0xbcb3f6e27a3ac35dL,0x1aced00f606706adL,
  106010. 0x8ce32c00a2e1cf9dL,0x1e0e979705f91cacL,0xab21e96b9e98af3aL,
  106011. 0x92f4e6dbbbe3c415L,0xfd9b407646c929afL,0x0000000000000097L },
  106012. { 0x5da0209deee8423fL,0xa22af5cf098eeb14L,0x5e379be216e722beL,
  106013. 0xe06cda5b9680b5acL,0x832c5aeb311d0269L,0x7471c5d7e4943d03L,
  106014. 0x148e2ef20776d3ecL,0x658a17b50c51efc3L,0x00000000000001f2L } },
  106015. /* 61 << 490 */
  106016. { { 0x661c9b4356ddaea0L,0x293c59e2922d963eL,0xc4cde92daaebd3afL,
  106017. 0xab071b5f1d039ea1L,0x001a3455800846aaL,0xed60d946be47068eL,
  106018. 0xae57d28e81e38d14L,0xc1ebaf7aea1b4b13L,0x00000000000000d7L },
  106019. { 0x813636f2f6189471L,0x18081bb61053facfL,0x5df021c61a72f2bdL,
  106020. 0x95867c61e6221fb5L,0x98230da20f68c36aL,0xf8a71504bb930cb1L,
  106021. 0xc66f68c49206110aL,0x6d859d5b4a9704b4L,0x0000000000000107L } },
  106022. /* 62 << 490 */
  106023. { { 0x945527c00753ebb0L,0x58d67d3c66168307L,0x0ec55d7dcc6d285eL,
  106024. 0x53f3f9edfd180ff3L,0x862c163e841badf8L,0x3a283e8fe6405388L,
  106025. 0x1f21be3ca83e0e8aL,0xc8be2fba8d854e58L,0x000000000000015eL },
  106026. { 0x9f10d5bcb68293e1L,0x634a08d72787aaceL,0x29edab8649be3cd9L,
  106027. 0xbdaa11c791666966L,0x42a13787d7f98440L,0xbeca84bfcccbc458L,
  106028. 0x7c9e9a69a565c2eeL,0x1a0af783e8b2bb1cL,0x00000000000001d9L } },
  106029. /* 63 << 490 */
  106030. { { 0xab166e77803ef03eL,0x02c155561695a136L,0x0d569bf059f0a685L,
  106031. 0x71c9d373fe7d3aa6L,0xb0560c7ae92b0c1fL,0x0f31f03af89493abL,
  106032. 0x9a403a9f2e67af99L,0x39d67688b84fd6dfL,0x0000000000000079L },
  106033. { 0xa1544f774f550f0fL,0x4dde151021bdfcabL,0xb20ff20adc61a321L,
  106034. 0xd7762640a6b40f30L,0x1ceca244750f159fL,0xebdcad0d46ce6583L,
  106035. 0xae45629873f0b152L,0xa7d11d19be995716L,0x0000000000000141L } },
  106036. /* 64 << 490 */
  106037. { { 0x0ce1f2d1945039acL,0x1d1e6504fdf94d41L,0xf36eafd58752d630L,
  106038. 0x24477f7fefbf0132L,0xae8fba2cc02bf85bL,0x53a24ca8eb510e61L,
  106039. 0xeadbc7f79c2c453dL,0xcfdbc9dc310eda46L,0x00000000000001a9L },
  106040. { 0xfbf287c8d8f82b51L,0xb7ca60967f0ecadaL,0x1dc411b715242666L,
  106041. 0xebf82d6c3dc6ed96L,0x8f82229dd0a92b49L,0x75a6a4a79dac585aL,
  106042. 0x443ae75ec839248aL,0x4defb89f1ba7c9c3L,0x00000000000001b5L } },
  106043. /* 0 << 497 */
  106044. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  106045. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  106046. /* 1 << 497 */
  106047. { { 0x20e2fe1972925756L,0x4815ae3332ce7832L,0x183d90c3eb8f4eb7L,
  106048. 0x0e088af52a8045d9L,0xf8232956da04790fL,0xc24661b5ea0118c0L,
  106049. 0xe4152695a72924a6L,0xffcb277840ab56b7L,0x0000000000000120L },
  106050. { 0x1c766208aae9af57L,0x21769dda239689e7L,0x9dc2194a235ecf56L,
  106051. 0x930e993fcf83a067L,0xb6725ad332913e2aL,0x09bd9ff9fc942b50L,
  106052. 0xdfb47d67600d426dL,0x4cc06c589def7175L,0x000000000000003bL } },
  106053. /* 2 << 497 */
  106054. { { 0x9c3f082939926493L,0x6bf1089ee3d0f530L,0x3e91285d7d7d5b4cL,
  106055. 0xd8d70f1b02bb958aL,0xe4b0e8c1bdbd2b6eL,0xea70f1079239f187L,
  106056. 0xd30f4ada27d37ca6L,0x0358f6b3c88eda99L,0x000000000000010cL },
  106057. { 0x8957ea97e385ac45L,0x707e7445b4ff3d17L,0x4a6d4dc840a361cfL,
  106058. 0xd086353b13aae7dbL,0xd856f4c9a478b479L,0xf687400f4d7cf67dL,
  106059. 0xfa3000b6ce52336bL,0x805459d7d0b88a94L,0x00000000000001ecL } },
  106060. /* 3 << 497 */
  106061. { { 0x96632b75abe029fdL,0x38280dbd57aaa853L,0x2a49ff1956556bf7L,
  106062. 0x76af8029017ad9e7L,0xe231979265ea6edfL,0x71b0793c9cbb4069L,
  106063. 0x1f89d54df62d86ddL,0x48601cbd52809190L,0x0000000000000116L },
  106064. { 0x825a9ec295f5317cL,0x9af044995b568f34L,0x0a74e92670c96172L,
  106065. 0xa87fcc849cbe4ca2L,0x409e58c017b5587bL,0xae221d81686599f1L,
  106066. 0xdb87c25e9b04ae84L,0x2a847873f9a49cb1L,0x000000000000019aL } },
  106067. /* 4 << 497 */
  106068. { { 0xe862a17bbeb4f9f1L,0x5e701369310c4b65L,0x01ef66253377f678L,
  106069. 0x56157709da8beb61L,0x7ca21b049ef7da41L,0x9f776dac88e486a6L,
  106070. 0x53dd04cf8aed6f6cL,0x4a7df43e953c2d95L,0x0000000000000158L },
  106071. { 0xe5bc0ded1fcc4484L,0xb337eb4eef6d0e8aL,0x02208b42dabf0d9eL,
  106072. 0xe64c8529467bfc55L,0x0cf409592e141810L,0xa34af9d656fa0badL,
  106073. 0xf3471d5a5345141cL,0x89a7a82c1ff7597eL,0x000000000000014eL } },
  106074. /* 5 << 497 */
  106075. { { 0x3fe4077368245bb9L,0x89a284bba3626a8bL,0x73c190915a9d7ff6L,
  106076. 0x8e3baf6fcef0b5ebL,0xe3d8006921aa008aL,0xaa3f179932b686a5L,
  106077. 0xd20cfb52eb1ea953L,0xd62b692f360c2ac8L,0x0000000000000050L },
  106078. { 0xb1b8bf37f4c933e6L,0x090d3bdd5af935bcL,0x8e4854d2ad9d74e0L,
  106079. 0x5b38d8eba00bf5f8L,0x837582475f478824L,0x5c7e2413f71a8d3aL,
  106080. 0x955642770665c873L,0x37d95026d1f7a638L,0x000000000000013fL } },
  106081. /* 6 << 497 */
  106082. { { 0x10459adc9fae827dL,0xb9c6d71d622dae77L,0x8d379015bed58a7eL,
  106083. 0xe6b71390b90143c2L,0x08eb29c40a8985f3L,0x30c331ff08db169eL,
  106084. 0xbe336067077fcc98L,0xaf6477724e16c914L,0x00000000000000bcL },
  106085. { 0x1836d521e134601fL,0x8365f5c7a58ceda3L,0xc4c114f6a6fe142fL,
  106086. 0x4651388d461a4d3bL,0x1b4cf10a639f7948L,0x140f9efd361665e3L,
  106087. 0x436f20b0c743b8c7L,0x4e1d732d710cc0a6L,0x0000000000000186L } },
  106088. /* 7 << 497 */
  106089. { { 0xbd6db523c85a0848L,0x987c70fddacb2b06L,0x3dbaa519b16e9914L,
  106090. 0x14205aef40b2923dL,0x5d09323ec1d161dbL,0xa68b68850e462298L,
  106091. 0x0eecab4fdb91ceb8L,0x10ff0480339fb226L,0x0000000000000099L },
  106092. { 0x4bfe6f364def0c94L,0x21b3cd30ae7c0ceeL,0x2396ba6610b510caL,
  106093. 0x2c9b665184b52fbfL,0x25e93bef7a84e6afL,0x83846a6623f7a204L,
  106094. 0xf5eb2e3e5da84c02L,0x73e65cc62c870984L,0x00000000000000a3L } },
  106095. /* 8 << 497 */
  106096. { { 0x4270a7973c80f820L,0xe1455e1cd8e3db55L,0xfc7d04b5c31eea36L,
  106097. 0x86d4b43d8237619eL,0xca90fead5696ac8bL,0xd1df350dbe0a5d49L,
  106098. 0x844e818faea06270L,0xfa19b70bd89cc1dcL,0x00000000000000fbL },
  106099. { 0xbae72ff552fe816fL,0x7b5d9e529a5a3747L,0x7a7eadcca689a68aL,
  106100. 0x18dec239330ba649L,0xafc49e4ceb30bd8fL,0x2504271680c1a715L,
  106101. 0x4d5aafffbf6e92d9L,0x94af51fb7577cc4fL,0x00000000000001b9L } },
  106102. /* 9 << 497 */
  106103. { { 0xbb49e8054732030bL,0x0829d482bd03cd5fL,0xb9a6136c5f6950e0L,
  106104. 0xfc781907dd4f9182L,0x9b4141a166ec206aL,0x3577a8fe18a46639L,
  106105. 0xd1aadfcc28960c88L,0x0b13bc74f4dd4d20L,0x0000000000000142L },
  106106. { 0x99edf0c678898705L,0x9177bd2fb71bce68L,0xe0ce6c6305ba1470L,
  106107. 0xab99c6573f5fe41cL,0x437f2df7367dd373L,0x240fe1bf4d543d1fL,
  106108. 0xd4f2abbfc0ddf245L,0xf230491ad6da4440L,0x00000000000001e0L } },
  106109. /* 10 << 497 */
  106110. { { 0xeb2ac3780ca7c04aL,0x6503ef0d2c07f4ddL,0x25f353f3eab6a53dL,
  106111. 0x53d58f68879a37d4L,0xc63460daf7a73064L,0xf6d94b623ebc4da3L,
  106112. 0xd32258dbc810cff9L,0x3aaa05f66f1b0c2aL,0x00000000000000ddL },
  106113. { 0xb16bf6925cdb2275L,0x3de2596915cdac6bL,0x9e073ef027ab70e2L,
  106114. 0xe343955416e91fc5L,0xbf3afa34b457e4b9L,0x4f7538f76659f402L,
  106115. 0x0eee4ca52c76dd2aL,0x4d756cfb8c55212cL,0x000000000000014dL } },
  106116. /* 11 << 497 */
  106117. { { 0x909a8cb6915e964cL,0xba20835036b97440L,0xa316b2e155cffb24L,
  106118. 0x86b2afd21b6c690eL,0x8d3121b8ef32a58eL,0x243e5a3755faf21bL,
  106119. 0x86a70ccd48e1eb3fL,0x7fb7ab7b856482a1L,0x000000000000017dL },
  106120. { 0x9c565882ab37df1aL,0x2c2e3f640ceb193eL,0xde7462f66fa488a9L,
  106121. 0x9505158bc0a49496L,0xf8c7087263ed98fcL,0x90d169ed35962a1aL,
  106122. 0x9c5a71216e74e666L,0xd0276edf3a407e03L,0x0000000000000005L } },
  106123. /* 12 << 497 */
  106124. { { 0xd8e41426a9df462dL,0xb74954b0ed2c3482L,0xa89b9b49cd400ca3L,
  106125. 0x300d10c3ca71c044L,0x6a7d6d0c3f027519L,0xbff329d8daab84adL,
  106126. 0x9df171a25a1bd3caL,0x4d3ac287f908de36L,0x0000000000000155L },
  106127. { 0x3c39aaacf399d7fbL,0x155af8e309b50490L,0xf1c274c44e8b235bL,
  106128. 0x80dc35149732546aL,0x17bf13806555e151L,0xc41ea61064ee4231L,
  106129. 0x997707e1a29c4555L,0x7c29fdf3658270b8L,0x0000000000000039L } },
  106130. /* 13 << 497 */
  106131. { { 0x4470a10c15b5487fL,0x59e0034abf2901ebL,0xa004882f96f26b66L,
  106132. 0xf0747b1f55ac9ec0L,0x00b2726126587c55L,0x08a8217ef3a868f2L,
  106133. 0xc138619039ab6420L,0x75a2f37063ef87ffL,0x000000000000015dL },
  106134. { 0x31e93fe5ca9cf04aL,0x86cea3141ab48f4eL,0x61576808902a3aa7L,
  106135. 0xdb2d78c451cebc3aL,0xb20d8a8239946890L,0xff048d9292b61791L,
  106136. 0x87a1e8d88e48280cL,0x09921ba4db22a5e1L,0x00000000000001aeL } },
  106137. /* 14 << 497 */
  106138. { { 0xf4390ba3fa83b37cL,0xcb3a94f06e227864L,0xd13f93362d54afc0L,
  106139. 0x734b02866bf22e28L,0x027d32d36ecd5c60L,0xb7c8a2936ea8017fL,
  106140. 0x9001729bbbfee411L,0xedc83e030bc69acbL,0x0000000000000042L },
  106141. { 0xc848406df076c0ffL,0xa7a5157da1258854L,0xe68222a851655acbL,
  106142. 0xd63300044c79c785L,0x4bae7f1b974690d6L,0x934fac86bb32fc1fL,
  106143. 0x8ebf3a73e88a72d7L,0xadac779440b91c50L,0x00000000000001f1L } },
  106144. /* 15 << 497 */
  106145. { { 0x3b64a126b7335d8dL,0x2961ee1ba9248dddL,0x640c9146e01dbb47L,
  106146. 0x0b7a2164c2ff9613L,0x5056eb03fdbd4002L,0x0ccaec0a02c765a2L,
  106147. 0x20064fd4a46f0c72L,0x0f0710b082b4ef91L,0x0000000000000067L },
  106148. { 0xff5d6b7ce04b5b0bL,0xfba3d44ac1f15aecL,0x89765ae5ce66d753L,
  106149. 0x65b3330be6e0a598L,0xd5f357987e388524L,0x1fedce600b10eceaL,
  106150. 0xa49a65d453659065L,0x685a55643162e5ebL,0x00000000000001edL } },
  106151. /* 16 << 497 */
  106152. { { 0x513a0c6260637ab1L,0x4a25bee092c5b308L,0xcd3dde9265d8b6a4L,
  106153. 0xce8ece9b60ea70d4L,0x289b7557af5d779fL,0x1df029a4ff6459cfL,
  106154. 0xd00ac6d5ce09288bL,0x9a9f96859a9f5b92L,0x000000000000006fL },
  106155. { 0x18cb0922b5b63cd8L,0xd4753ff126fd1c21L,0xa4d1f3571080dac9L,
  106156. 0x7fe4f3ac24de88c3L,0x4ba767da3e60655cL,0xaf4a647436c75e45L,
  106157. 0x4854eb2195f2505fL,0x831446cffe3b33efL,0x000000000000016dL } },
  106158. /* 17 << 497 */
  106159. { { 0x4fc3ceb50d704c8bL,0x76277d00511f43f0L,0x81319fed1acdcf62L,
  106160. 0x9e45ed07c9e7557aL,0x57486b5372a27c01L,0x37dde1bf44718054L,
  106161. 0xf299012b5f67b6d2L,0xf611272d52b4570aL,0x0000000000000119L },
  106162. { 0x4e9f26295623b9e1L,0x5e63fd62e8c47729L,0x31c312230ecddef0L,
  106163. 0x5ab7172a2ddf7e5dL,0x916a08f99de4622dL,0xf70f248bc8f3a4bcL,
  106164. 0xe90e066fcce7573eL,0x4a8d09745854a217L,0x00000000000001a7L } },
  106165. /* 18 << 497 */
  106166. { { 0x35ce884eef326466L,0x12ea07254fd35784L,0xa8eda224b6c12e71L,
  106167. 0xcd4088a98fca4b4fL,0x2c65668458e0c8fdL,0xa1992c076c3e0026L,
  106168. 0x4585191b0de1ff73L,0x41e41c18b945e9d5L,0x000000000000015bL },
  106169. { 0x95d265696d686841L,0xc3b5ec5b7c82209eL,0x708412906b2f6dd1L,
  106170. 0x62711988377ec7f0L,0xc5a41362f8044572L,0x5c152ddc6c97a652L,
  106171. 0x315a403c78043e3fL,0x00f750863cae2d02L,0x0000000000000041L } },
  106172. /* 19 << 497 */
  106173. { { 0x69eaa031e84a32efL,0xf64318511f18bdb0L,0x45a72bae00ea0ec0L,
  106174. 0xa58114764f8cd7e5L,0xa2d4f720df207a7cL,0x10f9d9582e4b3929L,
  106175. 0x1919647cafd9a331L,0x932093227bb3b2d1L,0x000000000000002bL },
  106176. { 0x1a489aa9999524adL,0x461e5e8f47ccbca6L,0xb112fa557218dd85L,
  106177. 0x8d6a44e90f5f41bcL,0x8b5dc510de9a654cL,0xe03a3eb28069bb7aL,
  106178. 0xe4c8200320045ff5L,0x683271bdfa37db56L,0x0000000000000085L } },
  106179. /* 20 << 497 */
  106180. { { 0x3bf023ad4af30875L,0x618ff68809817545L,0x07d4ead2451da716L,
  106181. 0x794aa49829eb0835L,0xbd59562f42924bccL,0xafcf72eb72e399c9L,
  106182. 0x8bf1a1a963e80b19L,0xbf8bee820f4c4aa8L,0x0000000000000161L },
  106183. { 0x020961f55448c727L,0xa703507a4eb32427L,0xe1778e68d45d8b76L,
  106184. 0xe649604ffad79eb2L,0x61f41e6254ad0127L,0x0b54947fa01b89d7L,
  106185. 0x5642af5b120716e9L,0xd9aafd3ed0876d5cL,0x000000000000004fL } },
  106186. /* 21 << 497 */
  106187. { { 0x24b368c4c9fc49d8L,0x5901a2196ffababbL,0x2b27398ff8d51ee7L,
  106188. 0x7bbbafa1e07890acL,0x4e54902636dc7e93L,0xb9b7f2be5c0aa112L,
  106189. 0x4ef4a83c5f948620L,0x851400c7ba7ecc64L,0x00000000000001e1L },
  106190. { 0x8e5ca181b6067620L,0x5793d961496faf2cL,0x8ac484364996f453L,
  106191. 0x8df70948137517bfL,0x90cf159779458200L,0x949c38c4aca5b183L,
  106192. 0x319b3c666211c917L,0x57bf88e3500ca01aL,0x0000000000000098L } },
  106193. /* 22 << 497 */
  106194. { { 0x78811b6e05fddb66L,0x5658f3a212a3cc05L,0x5b35c76238f7cbe2L,
  106195. 0x57f36fb154f22cdeL,0x4a825341f83dca4cL,0x87e1c04e42965f1fL,
  106196. 0x2791df2518daad8dL,0x14132863a8944d8eL,0x0000000000000194L },
  106197. { 0x41bb6a0bc1925507L,0x045af8dcd773e57eL,0x19c14986fff5e4c3L,
  106198. 0xdc7c96ca0f7586c0L,0xf37a6e7b439c87c4L,0x1e4e93876e166cffL,
  106199. 0x2111c8ab6872cc08L,0xc078f60d86c301fcL,0x00000000000001d6L } },
  106200. /* 23 << 497 */
  106201. { { 0xd79e9b9fa38e1f16L,0xc8ee2fbd74b510ffL,0x9be3175ac09d14f6L,
  106202. 0x417030d3d350614bL,0xb90492c8d8dd55f7L,0x00bd5e70d09ee667L,
  106203. 0x144eab3f9c4f5197L,0xa066177fd1ad6d51L,0x0000000000000149L },
  106204. { 0x20db4c6c0879aa61L,0x5ff9dc7d1071725aL,0x1d80ccd2b39e07feL,
  106205. 0x3bd60188b3f048d7L,0x5f60142b994c914eL,0x5e858454058ef641L,
  106206. 0x02e1e4a5ff4ae974L,0xc5f4e021399f23b0L,0x00000000000000e1L } },
  106207. /* 24 << 497 */
  106208. { { 0x8e1a6c2f3e0bef3fL,0xb715403e14018b23L,0xefc99827613f0c37L,
  106209. 0x92437b5613170a30L,0xe84cbe8f9468e300L,0xe69b08f14bab3970L,
  106210. 0xfcb78f771558e9d6L,0xc0140529af25ed50L,0x000000000000017eL },
  106211. { 0xff3fa668168134c6L,0x46e8edc72bcc2e99L,0xbbebb21c86bfbf06L,
  106212. 0x6b7d6159f204dd32L,0x75bb85ec1fc7e40aL,0x0f3e1043ad14c187L,
  106213. 0x44187117000a86baL,0x556420bb13d09defL,0x0000000000000177L } },
  106214. /* 25 << 497 */
  106215. { { 0x554448c0fba3377fL,0xe136db9d3902cdbaL,0xd47511ebad6e52e8L,
  106216. 0x7339fa6cd9b3e28dL,0xb7642d4a6ca6868dL,0x943007ad8c8fde03L,
  106217. 0x9cc9807a123d09e7L,0x841e97739beae0eeL,0x00000000000001cfL },
  106218. { 0xe7a94fa8789a0156L,0x76bbe08089619245L,0x0a7314b211444aa3L,
  106219. 0x8984ef43d2639f78L,0xd5a4a5e517699a5aL,0x6c3988ba314c3535L,
  106220. 0x7c82b93ebfc25e87L,0x857f7c3cba2d2b98L,0x0000000000000039L } },
  106221. /* 26 << 497 */
  106222. { { 0x7426610eae8eb2f9L,0x2e63e518ed0157abL,0xf4cf1d37ec0141d1L,
  106223. 0x1fa5a97754c8a497L,0x90e2750c50f7cbc3L,0x2465f6e651392c9fL,
  106224. 0x9d19fff295ceed17L,0x13020fb3d3023087L,0x00000000000000faL },
  106225. { 0x56de6ae0065bf7eaL,0x793e1c385c37fa6bL,0xff3c043b4b74f191L,
  106226. 0x8d7ad72faf2ea8a7L,0xe606b3fde9a85535L,0x6167d112c411751cL,
  106227. 0xe594b53785ed0344L,0x5d10ae657197503dL,0x000000000000000dL } },
  106228. /* 27 << 497 */
  106229. { { 0xd75d6bcc525a4ba7L,0x75831970ff5192dbL,0x2881fed46ebf94b9L,
  106230. 0x9287616b74c60c34L,0xbca8e1929750259cL,0x5f06620d9cce8056L,
  106231. 0x88a1cdbdec42039bL,0xd2d7f35782851092L,0x0000000000000194L },
  106232. { 0x6f7297c9e99faef8L,0xce5aefa067ca905bL,0x8aea3927825cf9abL,
  106233. 0xc61c45a46c6b844bL,0x218b1a55c21688ebL,0x84f51d90b50e00c0L,
  106234. 0xab5528156920a836L,0x19900cfa6be8182eL,0x0000000000000125L } },
  106235. /* 28 << 497 */
  106236. { { 0xe27b7fffcdfd27a0L,0x081213e1de02dddfL,0x0506179a90c68515L,
  106237. 0x91f33ddac6979fdbL,0x7a7b766f6c075aeeL,0xf5e9f6bf4f16c84dL,
  106238. 0xa1502a0ec8fb6599L,0xba8682718ed8bdb3L,0x0000000000000182L },
  106239. { 0xcd8039b45e609153L,0x45112e760e819341L,0xc2dc373c023ea208L,
  106240. 0xe45a2f499dba881cL,0x50b2e55ad8dee4dfL,0xd15b89ba99ccc4e8L,
  106241. 0x943358a9fa42dc9dL,0x73659482f0193e0bL,0x00000000000000d9L } },
  106242. /* 29 << 497 */
  106243. { { 0x99aad65bbb3bb203L,0xe0310f2e07991fe0L,0x528a081533b4e15cL,
  106244. 0x342e836e408a61c5L,0x7cfb0b0fe062a87fL,0xee028eecbd81b770L,
  106245. 0xdb3ba8f9f978510fL,0xd5a19a2c8beac70fL,0x0000000000000052L },
  106246. { 0xc7cc2ec1a4e6baedL,0xf1f5e6088ede29c6L,0x9ab7a0251f2a4e0aL,
  106247. 0x0938e50c2216f6fcL,0xd3fbf3a2d36da4dcL,0x14eb4e27d87198d4L,
  106248. 0xef09f9566a7d394eL,0x82f28f877059da0aL,0x000000000000005fL } },
  106249. /* 30 << 497 */
  106250. { { 0x39e766d6fc267beeL,0x21eaa063a51bef4aL,0x04b31088d5b1da6cL,
  106251. 0xa9fb47bdb21fa3e9L,0x2f50eb96cbd14de7L,0x14de2d69f6109a85L,
  106252. 0x00dd17255716845aL,0xb8edfda66e70389aL,0x00000000000001bfL },
  106253. { 0x1032c9f212d25839L,0xee5027717e862a70L,0xabb31c0594b14062L,
  106254. 0xd9ab09d45d063501L,0x96ff13a5130e8e50L,0xa6c8803b27ba8876L,
  106255. 0xd2e3e7f07dfbbefeL,0x9d2e5ac4eb8ec9eaL,0x0000000000000026L } },
  106256. /* 31 << 497 */
  106257. { { 0xe9d412ef1bbceb78L,0xfcf978bd208b992aL,0x6a53da6f703e13e1L,
  106258. 0xaf8956f7a8424181L,0x81a70a68e97cb9e6L,0xed0fbc16341b2d69L,
  106259. 0x70cf66385192869eL,0xbf9dd960f5a0dd0bL,0x00000000000000b8L },
  106260. { 0xee6e26feea5c7ed1L,0x81c271315321b93bL,0xc66fa92b7608aba7L,
  106261. 0xb63345cbeeef7219L,0x4ae5e8c22895ec0dL,0xeeb3fb467f3b6e74L,
  106262. 0xeaff7601191adf9bL,0x44eab56470dc9ef1L,0x000000000000010dL } },
  106263. /* 32 << 497 */
  106264. { { 0xedbb59dca9aff80cL,0xb32f9f1d305107ccL,0x7a0de3d199d4d1f8L,
  106265. 0x701b04850637729eL,0x13d85cc4b86c08afL,0xfe4b62a8cd43b0e7L,
  106266. 0xba8ba3f38a012627L,0xa589240b2168bdf6L,0x0000000000000073L },
  106267. { 0x028c8c11d8f16b56L,0xff6f2aa753816648L,0x677b98ab29bbd5abL,
  106268. 0x492513b8221f17f2L,0x828fa4baa5eca5aaL,0x15b65b2b560d8196L,
  106269. 0x737cdf4377fe2f2dL,0xcb1bc918c044cc80L,0x0000000000000138L } },
  106270. /* 33 << 497 */
  106271. { { 0x0c11966e4353dc79L,0xf39bf5ae84b26b86L,0x9b07118314d565e4L,
  106272. 0xaa9f8c5664977731L,0x12340d1b899b8932L,0x81b43cd0222df038L,
  106273. 0xebacd57fa96f4f7dL,0xd38b93c8e704f11aL,0x000000000000019bL },
  106274. { 0x485e1ba6836402e1L,0x6f34201901bd178aL,0xf342b57ed7c7d3d6L,
  106275. 0xceb499c57de7c78bL,0xf3be5233a4ad7926L,0x217081dd11cc5b51L,
  106276. 0xc0f92f053c9437d8L,0x38b2b045c0e420bfL,0x0000000000000124L } },
  106277. /* 34 << 497 */
  106278. { { 0x82c834ecced14849L,0x35a0e1c96e2ad702L,0x9bce8fc925afa4afL,
  106279. 0x0c78ec0dff85e7caL,0x754f5c1a18db20caL,0xf112798679e6b204L,
  106280. 0xb5148832e6a42b51L,0x9db5ac23ecbdf889L,0x0000000000000180L },
  106281. { 0x4d07cefb65b7214cL,0x7ef0f7670a8db016L,0x2f7db6ecc9f8d9c4L,
  106282. 0x754299113c619d3bL,0xf8c6e1ea36619891L,0xc016f4c409d50a59L,
  106283. 0xe36545e182b52f78L,0xed17d9dbbacaf6d2L,0x0000000000000052L } },
  106284. /* 35 << 497 */
  106285. { { 0x5d1c2189b589ab22L,0xd05f29db8f8c11bbL,0x445edffb8eff8657L,
  106286. 0x3fdad8e54cbc6627L,0x1ee7e60dd2a3383cL,0x7e31b910991ad078L,
  106287. 0x65bd80d5b1a278fbL,0x352d10928e03512cL,0x000000000000000aL },
  106288. { 0xc726086490b1b600L,0x4d4152ece639a6ddL,0xbd35547f41c4017bL,
  106289. 0xa1d24f1cf1c023eaL,0x8a536e83e7d8082bL,0x8689dd3fbf567013L,
  106290. 0x3c3538ae5cea1147L,0x9ab19fa10c5438c3L,0x0000000000000136L } },
  106291. /* 36 << 497 */
  106292. { { 0xe364461feceb36f5L,0xa2c2b4407c5572d3L,0x30e788e4db92e5a2L,
  106293. 0xf3efe8fa6d4ad73cL,0x621f4fd368d3b7b1L,0x0bd9693c3fb46615L,
  106294. 0x52da482fd34f2a58L,0x888f46b79880fd28L,0x00000000000000d0L },
  106295. { 0x8a0ec5cf1a628d9aL,0x7205caf0c8e29f23L,0x274d619a16f112beL,
  106296. 0x79041e561bf69ac1L,0x5b17ee9cc5ef616cL,0xa66c9d83bf671d10L,
  106297. 0x7bf826d41abdf2ddL,0xfb3391f2135cc6d5L,0x00000000000000e5L } },
  106298. /* 37 << 497 */
  106299. { { 0xe7bddcc19fcd4762L,0xb029f4697c5390ddL,0x98ef31963fac7209L,
  106300. 0x4840f8f3513e4762L,0xb6e1f35152698b01L,0x699aba9e4bc640dcL,
  106301. 0x9ea16ea460648961L,0xe6a218fc9a46a0a2L,0x00000000000001c1L },
  106302. { 0x27371dd1727b38f8L,0x338bed65e0b7a0ecL,0x2e333657c0ba0c0fL,
  106303. 0xc6e7f81340196865L,0x87158160bb8bbb34L,0x179fbf852dce1880L,
  106304. 0xe3b4f4ef9f2c7923L,0x73795470316d5fa5L,0x0000000000000020L } },
  106305. /* 38 << 497 */
  106306. { { 0x19712908cce1861fL,0x0359fd743717f4efL,0x9a092879bd3a53e2L,
  106307. 0x97aa8533f6854d5cL,0xc4163cb6d12cf988L,0x80025aec03691f95L,
  106308. 0xb62cf9e5276fcea3L,0xf1ed5103e50af5b5L,0x0000000000000114L },
  106309. { 0xcc7c15357ba70e60L,0xdbc285f899e1824dL,0x2bb06046666906d3L,
  106310. 0xefdb9e5ecbd68ec3L,0xaccfb9c45061c150L,0xc0107ff714434399L,
  106311. 0x3ee3636f3e9f6b0aL,0x23b13a8fc2a10c8cL,0x0000000000000162L } },
  106312. /* 39 << 497 */
  106313. { { 0x995ac8a670b17352L,0x7cf059b2d9d4f826L,0xa82b0722bf98b787L,
  106314. 0x1532410d612d9a79L,0x75668bc2b44ae70fL,0x63cc756cbaf63a0fL,
  106315. 0x5499dfcf97a52695L,0x541e7a68c40906e7L,0x000000000000002bL },
  106316. { 0xc02c4aac17f7b128L,0x9c456b93a171c241L,0x931d09919b48b980L,
  106317. 0x52cccfad3e0c0ed6L,0xf23004085968a6e5L,0x93a8b420bd3d48a6L,
  106318. 0xb3ca08bda2bd79d3L,0xe02f0782d018ad6fL,0x000000000000014fL } },
  106319. /* 40 << 497 */
  106320. { { 0xf0fa90d83b50a230L,0xdd15885ffd95910fL,0x4105a4e148038a64L,
  106321. 0x2f69d817ae07fcd1L,0x0536353fd0484f76L,0xb3beb1eeb8d64baaL,
  106322. 0x2ff37ff558adc510L,0x5677b99149f78e1fL,0x00000000000001b0L },
  106323. { 0xe22bf1ce43b8275eL,0x5ec18f04b7bc2931L,0xcb53d3e0f01fa620L,
  106324. 0x49db793f9587e525L,0x7f1e4ca35c884f2dL,0x5ad4e4c459437624L,
  106325. 0xa1e3329f4994207aL,0xe4cb938f88594aefL,0x00000000000001ceL } },
  106326. /* 41 << 497 */
  106327. { { 0x68609efdc4fbbccbL,0x55975ca04dc6e8ccL,0x54f541b358d63323L,
  106328. 0x6564edb1bc8620afL,0xbe0e1fb6bc6a6d58L,0x78d76d4cc87ed075L,
  106329. 0xe4942b1c177dcb48L,0x382da425ff82d99bL,0x000000000000001eL },
  106330. { 0xe06e7855568fded1L,0x560b408d0a5c74deL,0x7b77bbb3945fc598L,
  106331. 0xa8c08370cfe47a88L,0xb0616cd18fb375ecL,0x2a0b5ad9ad76d748L,
  106332. 0xd30413703f493011L,0xa69e11003e55d3cbL,0x00000000000000a4L } },
  106333. /* 42 << 497 */
  106334. { { 0x7fecf0a771bdf609L,0x3c77f17427388d48L,0xd8a52ea544c38321L,
  106335. 0x5132ddff7ff0262eL,0xdd5b822ebe8e4bcdL,0x2e4ab4a7c6632ea0L,
  106336. 0x58056a95d5597f97L,0x99b300e1b6f7252fL,0x000000000000005bL },
  106337. { 0x2bb664009a2f2222L,0xe57e826211c55fc9L,0xd9b16efe6529c0aaL,
  106338. 0x2d86e6845811abd9L,0xcaf181305148e5ecL,0xc049a71a5bdfb7b4L,
  106339. 0xa11cd09454df8687L,0xd598e94d69b7f051L,0x00000000000000b7L } },
  106340. /* 43 << 497 */
  106341. { { 0x74d7cb89a20d45d0L,0x88bcd5d4b12515adL,0x1faeb941f345ea8dL,
  106342. 0x999006026ef7c319L,0xdeec886fb57ca7e1L,0x8db761df7067b2d9L,
  106343. 0xb2e6ae1ab260579cL,0x64e68265cb5a69eaL,0x00000000000001c7L },
  106344. { 0x6f3bb54959212b50L,0x821d528591a39e68L,0x1e218e8723df1378L,
  106345. 0xc9ea11eed526496cL,0xca9a1e7dcd9e2d41L,0x3204aad9b1d36251L,
  106346. 0x99e0255efb37b606L,0xd1284e4d5a48ed5dL,0x0000000000000191L } },
  106347. /* 44 << 497 */
  106348. { { 0xf1c9da6a27ad2ec5L,0xfd11d5bedb7fb650L,0xa0ed1c2d92df8304L,
  106349. 0x5b74a2fff7e7e732L,0x6cc6fae21e467b7dL,0x8f630f200311f271L,
  106350. 0xcfeaa597c30da635L,0xeef29453958354c7L,0x000000000000014fL },
  106351. { 0xb228c7be4e6c4c35L,0x4f8071a6ec861995L,0xec449886cad11591L,
  106352. 0x521916a7d12c188fL,0xfe72b9341387b0bcL,0x5c68a3203b91d2aeL,
  106353. 0xf5726b473e702af5L,0x07251e98f461f30bL,0x00000000000000a9L } },
  106354. /* 45 << 497 */
  106355. { { 0x535fb2d6ca7b48ceL,0x002b9584f7d6cc4fL,0x52f45ad33a95248cL,
  106356. 0x7501b7a02ea66d7eL,0x9feb38ab7345a8acL,0x4a90561945016598L,
  106357. 0x1e0b2082228eb380L,0xcfacf4979a84068fL,0x0000000000000148L },
  106358. { 0xe41b7cb46b84c609L,0x8acb9f4520274dcdL,0xa965f88974d7d8a1L,
  106359. 0x9143c0be2ea1e86dL,0x8efcc7e8ec08a1b0L,0xa10dceafa60bea94L,
  106360. 0x38a2118b077b69f8L,0x9f3b1129ec56b981L,0x000000000000009bL } },
  106361. /* 46 << 497 */
  106362. { { 0xcc62a4fd61016fa8L,0x34ba576fbcf14171L,0x4f276a77b50a1ac1L,
  106363. 0x55b7c1f3dbf3ec85L,0xddf585ff68176817L,0x09f83a7f463b7850L,
  106364. 0x23001f87d980c554L,0xd119b8c6d12ea1f6L,0x000000000000015bL },
  106365. { 0x3ca9eef95c1b985dL,0x11c46468ec7fa0d8L,0xc91bf9bb7b7e67e5L,
  106366. 0x2f745795894a4c24L,0xe927075a2d6f2a3cL,0x16334965df569634L,
  106367. 0x95e8b1156cf5f8d2L,0xb1498e3675502a1cL,0x0000000000000147L } },
  106368. /* 47 << 497 */
  106369. { { 0x8bbde2c84b59597aL,0x2cf819ee0ecf18f3L,0x98960e16463a1dd5L,
  106370. 0x69ac53598837c406L,0x375c963416a0917bL,0x5688d330d9b9a5b7L,
  106371. 0xc204410d1cbcef2cL,0xaa89d49bc57e3a50L,0x00000000000001c4L },
  106372. { 0x314671e4520b4cddL,0xae039a6c4844a7f3L,0x8504d47e7244c720L,
  106373. 0x23761b887653a33bL,0xa019334b492e2ce9L,0x238325d889d81fd3L,
  106374. 0xab0d048b2a6d5e42L,0xa279aee301f953d3L,0x0000000000000143L } },
  106375. /* 48 << 497 */
  106376. { { 0x00a2ad7eaafd5467L,0xa8290d94f9741f30L,0x6173f2e7a3d3adc7L,
  106377. 0x0ad6ab5468875a74L,0x48e49f0324328133L,0x2d2d704a19e27e19L,
  106378. 0x3bd63d36de1ed374L,0xdebc4384c0ac7774L,0x0000000000000195L },
  106379. { 0xeabafce86fd61140L,0xef8c38af22938df5L,0x407c6d243c98d287L,
  106380. 0x75bc698685564dd7L,0x240a470c4c9d6c14L,0x9cdc41ff8aeca79eL,
  106381. 0xcf08acaee1dd8f22L,0x2d99cbe50d69225aL,0x00000000000000dfL } },
  106382. /* 49 << 497 */
  106383. { { 0xa7c51b21072d7fdeL,0x527140744830f224L,0xf2bcee38e86c8630L,
  106384. 0x2ae48a3607a11ce1L,0x5d88a9a479f6305bL,0xe2cc312d9e125713L,
  106385. 0x90af98b3735bbaaeL,0xf5c2758b2a9a7a92L,0x000000000000008dL },
  106386. { 0xd0b7dcbbca0b4267L,0x462becdeb843a792L,0x5f0837cabbfd7278L,
  106387. 0x4033b03b9db29327L,0x19050f0d9a038b59L,0x920cf7fbbcad1171L,
  106388. 0x2b588f590ae5890fL,0xa0d6a15e8c69264dL,0x000000000000006eL } },
  106389. /* 50 << 497 */
  106390. { { 0x256d92b449692cd8L,0x16f7806ac8753022L,0xdfc975c9ad8910a9L,
  106391. 0x291e020a38d4c11eL,0xa2bf3aafcd6bc9dfL,0x93188d8b6859ced2L,
  106392. 0xf9a0f5634267273aL,0x1f02826bd0aca382L,0x0000000000000037L },
  106393. { 0x7d4e7d11495e0018L,0x69a51736af7093d8L,0x9cb0839c29b16fecL,
  106394. 0x2bd6421bed5e6623L,0x29fb37de288b50d3L,0x046755a28942d297L,
  106395. 0x7b68173a922a5964L,0x13ae2a14617887a4L,0x00000000000000ffL } },
  106396. /* 51 << 497 */
  106397. { { 0x37f2f1bd1008aa59L,0xebbe4ee8d7877405L,0x6534b8205e1dfa69L,
  106398. 0xffd83302ab461e03L,0x220833bf46370ac6L,0x0c809ad6ed94ac0fL,
  106399. 0xe9b985e776abecf9L,0xcb9f63a464052dd1L,0x000000000000008aL },
  106400. { 0x16a0502cc177e4f5L,0xb2021209c8a5268eL,0x89d764aeccb9dc38L,
  106401. 0xc0971fe940f39ed6L,0x1692bb66210ff610L,0x7c43540c6b860ad0L,
  106402. 0xc27a870f92c90811L,0x0af5c7b08874ba9aL,0x000000000000000bL } },
  106403. /* 52 << 497 */
  106404. { { 0x0c160909c0fddb5bL,0x20b497a4723ded94L,0x5798938ff2559f5fL,
  106405. 0x1f08e0b26fd8f7c6L,0x91734f0ea9ea8a83L,0x190d5cd5fd9ec96fL,
  106406. 0x0039942a156842a1L,0xf2dd3eeb57f5b843L,0x00000000000001ddL },
  106407. { 0x8fbf191fc432fde3L,0xccc105d79b2e7247L,0x13e19408d412c84dL,
  106408. 0xd109e1b8955eb313L,0x32248ed7d485a078L,0x6f869288f7d20534L,
  106409. 0x16335bb41aadb56dL,0x156ee1e9c93ea83bL,0x0000000000000079L } },
  106410. /* 53 << 497 */
  106411. { { 0x6b27600514d5cf52L,0x26d3dd2557bf242dL,0xfcb2ad25e77b65aeL,
  106412. 0xa2696c484496d9d8L,0x40fb884bbed1711aL,0x5ab56199af6676e3L,
  106413. 0x3489a42d1d50bc5dL,0x267f4b1a5dd94b04L,0x000000000000000dL },
  106414. { 0xd0cb67206cd4c268L,0x7a304e3241bd7e32L,0xe9e0393e3385b3b0L,
  106415. 0xc5af909585f2bf82L,0x5e6518cd54b9fa71L,0xb0a424955fea5182L,
  106416. 0x51454d1a5db5447cL,0x78d932d27470d4e9L,0x000000000000013bL } },
  106417. /* 54 << 497 */
  106418. { { 0x4fa2b894e601946aL,0x7fe34aecc58937c0L,0x0ece9764fb14315bL,
  106419. 0xe99a9966ad9c094cL,0x1b6c9df4c2636283L,0xab8675e311af1698L,
  106420. 0x5089ae244644775fL,0xf61c9b6ad97a729eL,0x0000000000000146L },
  106421. { 0x9708305696c187d2L,0xce73fe18ef43b92fL,0x9430722d10aa21e7L,
  106422. 0xe6678192d9d6566fL,0x20774c5d8c1b282dL,0x18d835b6a31caaa9L,
  106423. 0x5f0210647dc2591cL,0xe78685554b424eeaL,0x00000000000000c8L } },
  106424. /* 55 << 497 */
  106425. { { 0x5af375ed01d68e46L,0xaa1a3ae3693092efL,0x0fb33f563388045dL,
  106426. 0xe142b8de023fbb2fL,0x20abf7183d17e8a8L,0xbe65e5a0c20f91fbL,
  106427. 0x387c242d053bc18cL,0x7aeef64a0e658156L,0x000000000000014fL },
  106428. { 0x8f4db305913dcd07L,0xdb17ccfdc527b72cL,0x5cb063552d09ad07L,
  106429. 0x9af5f2abf21ac13fL,0x76960c0cb12dfa2dL,0x0091281b7edbfb4cL,
  106430. 0xe6bb97f288dbd682L,0xfb0ec5e6d6444d47L,0x000000000000012cL } },
  106431. /* 56 << 497 */
  106432. { { 0xcd2cdd2e734c5662L,0x086508dd52fcd5a2L,0xd1789e1f65545779L,
  106433. 0xa3e5a37a3ebf0e2eL,0xa648b51121f33614L,0xc1b816d4000154beL,
  106434. 0x7d9c4292a8f82a71L,0xf0f81cb86f43867bL,0x000000000000001bL },
  106435. { 0x1fe1f9962b51c7d5L,0x5c77e78006a54f1cL,0x79dc60e2dcfa901bL,
  106436. 0x2c548507bbd1244eL,0x59cce9c315ca7601L,0x2ec825718f106b96L,
  106437. 0xc1ebcf8df5dc4e24L,0xb785ee5f1448c529L,0x00000000000000d5L } },
  106438. /* 57 << 497 */
  106439. { { 0x3bf38b30bdd410d9L,0x1418a30dfbac23c4L,0x9bd796936f78ea59L,
  106440. 0xc439273c741242f5L,0xb82a4e2943963c86L,0x7da09c8b0c12438dL,
  106441. 0xc4f95cbc28340db6L,0xb5d5f1b32ee06cc3L,0x00000000000000c3L },
  106442. { 0x68715c7d4916e9f8L,0x762df94538b674f1L,0xd2cd99ba52df5f98L,
  106443. 0xbdc945e1a4ed2f3dL,0x2470084a3226802cL,0xf2198726336db006L,
  106444. 0x281c597cb7580370L,0x152de2640a85f991L,0x0000000000000076L } },
  106445. /* 58 << 497 */
  106446. { { 0x6a2a065186b12001L,0x85e1b44db31c50f1L,0xb529629443af7c4bL,
  106447. 0xb17bcd8ff5f5d300L,0x886b618135999ea7L,0x1e7b5f91221fab4dL,
  106448. 0x5e542fe3e0933741L,0x8480aafe1c2cf270L,0x000000000000014cL },
  106449. { 0xd0d34bb30eb3e31aL,0xdba2b2f352cefa30L,0xdccdf0c8be98f160L,
  106450. 0x06a9e3f7c6700364L,0x751a1bf37b35ae43L,0xef2b6388718b6c06L,
  106451. 0xcae98c2a20384ab3L,0x6d888903192eea76L,0x0000000000000017L } },
  106452. /* 59 << 497 */
  106453. { { 0xdaed4f22f9c98384L,0x54a1d279de9d7aa7L,0xdad853c369e40ef9L,
  106454. 0xed2d7bcc72c325b2L,0xd4917c6ccac877c1L,0x8b1ab23c20238c1eL,
  106455. 0x82238d3d304f3c1bL,0x0c40a679c838bc69L,0x00000000000000d9L },
  106456. { 0xd8c865944347dc9fL,0x7b5ec837488b47f6L,0x4e13c2451871b524L,
  106457. 0xfcc994a13ab456ebL,0x25d937b72a177a59L,0x149f53800e48d935L,
  106458. 0x27a91603d014aa99L,0x0da2ba0f7132ac64L,0x00000000000001b8L } },
  106459. /* 60 << 497 */
  106460. { { 0x0e040aa82121e195L,0xc5c6b8ebe60295fbL,0x6373b8e834e041adL,
  106461. 0xee6f882377096ac9L,0x9725bc9eb85d2c70L,0x72adf47e6c4bc9e7L,
  106462. 0xd4927a8002819598L,0x6888aba6a37d446bL,0x00000000000001dbL },
  106463. { 0x06bf993746fc5462L,0x301d1031e41eaeb5L,0xf7db3c5128914430L,
  106464. 0x0fcdd9a2b00293b3L,0xb2cbbcf0a1adf14fL,0xc5da67fe89c9b883L,
  106465. 0x2f06cac6303fb018L,0x3b56905f892a426eL,0x00000000000001e6L } },
  106466. /* 61 << 497 */
  106467. { { 0x7351dfd061af0e72L,0x8c0280a7c4ce075fL,0xdc7bcf53d2b4d750L,
  106468. 0x302914d4a13c3af3L,0xad93d8e6eb3856e3L,0xac0833fd710879ddL,
  106469. 0xa18ecda6b53eade5L,0x8857fc9d4a68e884L,0x00000000000001b7L },
  106470. { 0xcf85f1cdaa81a0ddL,0x115857a3492a9569L,0x44815c1fd4e35cd7L,
  106471. 0x00ea5f0f3910e239L,0x526bf994ab96b0ceL,0x73e9c0578a5314e2L,
  106472. 0xa77a5d00a17ebb49L,0xfaa340bba606f00cL,0x0000000000000032L } },
  106473. /* 62 << 497 */
  106474. { { 0xecd039c8b79b0b50L,0x3e979b0d7669260dL,0x9f4a0105a2946901L,
  106475. 0x9108708a15e67e45L,0x947bb04c64fd7c28L,0xa5575a2d0b583d41L,
  106476. 0x8e63253dd6b1f55fL,0xa61f3c5f117fc622L,0x000000000000013bL },
  106477. { 0x499d5c08dca3362cL,0x1e6712a4655bc057L,0xcee49de8531b83bcL,
  106478. 0x26be0a09a3cce725L,0xe3a9b79f0de01b60L,0xcd70dd0de7e3f04fL,
  106479. 0xd7d6cb72b1a3e8aaL,0x9eef0dc3addcaaf9L,0x00000000000001e9L } },
  106480. /* 63 << 497 */
  106481. { { 0xc272ae2e41f1a555L,0x60d289f28ec78c74L,0xec1ec46cc2733581L,
  106482. 0x9b5e503e1072df26L,0x20ef9df8dd04b6c1L,0x3f912a7e098645abL,
  106483. 0xaa73fe18f541328cL,0x15319a5c09b4185cL,0x0000000000000031L },
  106484. { 0x0ed3c388229ef248L,0x73fd903ccc1aac19L,0x4fd6dab3c863e1efL,
  106485. 0x9dd6b78894ceda3bL,0x8056b1eaf09fc3c1L,0x4c69a9ca6985a660L,
  106486. 0x7054de2ef0c22c86L,0x6ab6c43a9688cf95L,0x00000000000001a7L } },
  106487. /* 64 << 497 */
  106488. { { 0xbf2b204cdb0e34f0L,0x177ee402b55297cfL,0x1008722a0905589dL,
  106489. 0x92be4754965ef825L,0x4ce902bdeeef76a6L,0x55b910714f318009L,
  106490. 0x96beae611484b98fL,0x5d84b61535b88659L,0x000000000000015aL },
  106491. { 0x43c74ce31d78d96aL,0x131fbc58a17753baL,0x4e430af6dc789aacL,
  106492. 0x31f38805e9af4951L,0x834de4aaa61cbb24L,0x8437617ef678c74aL,
  106493. 0x411e5009e030372eL,0xbe15903ca2047bcfL,0x000000000000001aL } },
  106494. /* 0 << 504 */
  106495. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  106496. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  106497. /* 1 << 504 */
  106498. { { 0xfc5ba8d59da7bb54L,0x29f3e817a7c7fbcbL,0x31a34412a40ad3fcL,
  106499. 0xe17b93692d1711b0L,0x41c7bc1716ee6505L,0x5feecffd3d1db8caL,
  106500. 0xcbb9337802f9e04eL,0xaeb67b8b091db41eL,0x0000000000000187L },
  106501. { 0x611fe09d4c695615L,0x087334f6323b6dccL,0xf7bd51bbd53bcfdcL,
  106502. 0x98ab5c925a8bcdb4L,0xe7e9d273cccd6f6aL,0x2582b21924b4a3eaL,
  106503. 0xf8fea0e3f22c4405L,0x42c0f700d3e5a701L,0x000000000000006dL } },
  106504. /* 2 << 504 */
  106505. { { 0xe9f67439cf6368a6L,0xf570101a4c1c8628L,0xf3cce189c652a95dL,
  106506. 0x85a1af6b75cedbf5L,0x8b7f513d68d0ffbcL,0xc71778fb136394beL,
  106507. 0xd0e7f981d99c9f74L,0x6a4ae0f46471443bL,0x000000000000018eL },
  106508. { 0x702bf6631f3f2c6dL,0xc1233cdecedad859L,0xa8ea4a8398c674eaL,
  106509. 0x338b3334f3c423c5L,0xbea2bbf7dc103dc3L,0xd49c4a620fbd8a4cL,
  106510. 0xa73566de57b93da1L,0x0ad24597f56838b4L,0x0000000000000127L } },
  106511. /* 3 << 504 */
  106512. { { 0x38e5b06f76f468b8L,0xeab47690c79fa86dL,0x990e59de6ef8cd4aL,
  106513. 0x826c78e86884d059L,0x951732fe341b20f7L,0xf249fae4449ddae6L,
  106514. 0x32c4b1e5a30a08afL,0x79fb2cab15be777bL,0x0000000000000027L },
  106515. { 0x1c65411bc3f609d4L,0x4a8ec1376194fa7eL,0x025dd9caa41c5f89L,
  106516. 0x878f8d01e9d5aa4bL,0x34c9e12e0f364d3bL,0x5f4403d0344cf712L,
  106517. 0xe66bb7825bea60c3L,0x4dc50e44d40e673aL,0x0000000000000125L } },
  106518. /* 4 << 504 */
  106519. { { 0x104e0c37f8cb0cdfL,0xba344bc4b934f03fL,0xf963fc250a5aa9d6L,
  106520. 0x8bbf6e9e662e69cbL,0x5b9945c916fca9b1L,0x6805abd3682c739fL,
  106521. 0x3d1ee371c3f18432L,0x4708b55c05e69189L,0x00000000000001e8L },
  106522. { 0x9682d9d3143ec89cL,0x519a8b7ab2b5914fL,0x7fb197f1fa9d63c6L,
  106523. 0x6c4d61eed19fd1d8L,0x3a2a488ed637793dL,0x1dbb1b1a1ffc620dL,
  106524. 0x66eab0524b551244L,0x290e50fd434c6cc1L,0x00000000000000cfL } },
  106525. /* 5 << 504 */
  106526. { { 0x4515da106221c6f8L,0xbf5fd8e5bd34caf6L,0x9174ad19c7a869a1L,
  106527. 0x3e327c1357152ef1L,0x58656b31222cbbe4L,0x111892141c4191efL,
  106528. 0xa5e5ad3eb7143ec8L,0xe0646afa4536e2fdL,0x00000000000000e9L },
  106529. { 0xb13d24486d16bae5L,0x42431b34af57b380L,0xcafe41015e097fd6L,
  106530. 0x5f794cd6e5b0937fL,0x4de1813d55270a50L,0xca0a5c09b660bc2bL,
  106531. 0x08f20f6b76579886L,0x21268e682ada1c30L,0x00000000000000b1L } },
  106532. /* 6 << 504 */
  106533. { { 0x9793778b98c439d0L,0x79788f592af8ce86L,0xc1520a86146d0c4fL,
  106534. 0x541063da596b5b59L,0x47823a1e9eba6471L,0x7f66a3891d23923fL,
  106535. 0x4b23c930452ecbdbL,0x40c7d3dde30657beL,0x00000000000000f0L },
  106536. { 0xb63d974a77d535c7L,0x2e16ac32ca31932fL,0x68da3cd12b8664b1L,
  106537. 0xc895a61fcee5478dL,0x34bbac9042c0ac31L,0x5cdbd70da3267f5eL,
  106538. 0x8b4d75beb4a7ae31L,0x1555caf3f43c9c86L,0x0000000000000039L } },
  106539. /* 7 << 504 */
  106540. { { 0x50714fb3c0d037f7L,0x071bfa5b8c050618L,0x7f1798269d15e2f1L,
  106541. 0x2081039729e730faL,0x7948c181b45794d1L,0xc8fbdee3171227acL,
  106542. 0x1faa467045da4e9cL,0x565405c00d3fe74bL,0x000000000000007cL },
  106543. { 0x353fc94a3f42236aL,0x684a11c27bc40d6cL,0x182ca3af52826e75L,
  106544. 0x7b24ecccd4058f7fL,0x6cadb9ba82386f7bL,0xeebcdeb53567d0eaL,
  106545. 0x904fd55c1e8c8ce2L,0x43fd20db6b578b37L,0x00000000000000a5L } },
  106546. /* 8 << 504 */
  106547. { { 0x842e5742310be81bL,0x9cd6a5ac815531f2L,0x1c8179b837f9f02fL,
  106548. 0x009cfa294fac713bL,0x091f5101d2aa2c79L,0x70360695ef9256c6L,
  106549. 0xd8d52d11fad0a22aL,0xf395fef240ff5ee7L,0x00000000000001abL },
  106550. { 0xfbd0e2d746cccde9L,0x8e8a81f7f8d82fe8L,0x63bb8ce1c0766bf2L,
  106551. 0x917ba75ac70e96e5L,0x2baf9fa493d4d0feL,0xa203f382c28324d4L,
  106552. 0x36385f59b1b2c7d3L,0x746bce122c80ee37L,0x00000000000001e1L } },
  106553. /* 9 << 504 */
  106554. { { 0xec99f07e8b313476L,0x9856c5b352530de1L,0x08ca437cf2693956L,
  106555. 0x990f6a868f4122aaL,0xa36c9d84d76bb2abL,0x6004fbbf1e657ef9L,
  106556. 0x6c64f52f4108d873L,0xe3e589a670224f93L,0x00000000000001a4L },
  106557. { 0xae219487d6132691L,0xb26711505bb911e5L,0xcdd0bc5f15177196L,
  106558. 0xb093aae02605fd89L,0x26d1c416c319a26eL,0xe8916e3d6ef59cb6L,
  106559. 0xb05a13d56e79807dL,0x8a178214c039cd95L,0x00000000000000b6L } },
  106560. /* 10 << 504 */
  106561. { { 0x7282c91615fead87L,0xbc1aaf596565472fL,0x5a7bbfc458b387f5L,
  106562. 0x665eb3b16defa8e5L,0x1944cfc86da1ca94L,0x41aaff4d2a2de565L,
  106563. 0x4497cdbab7311f8cL,0x129ecc29f2264d67L,0x00000000000000e5L },
  106564. { 0xa0e20df230229efbL,0x7c4e6966bf174745L,0xe96f0ab07c0177fcL,
  106565. 0x221d8cb684fd2c4fL,0xccf21ec330689b70L,0xd7daa585f24cf84cL,
  106566. 0xccc2582b438b0f34L,0x6940385ed02cce0bL,0x000000000000011fL } },
  106567. /* 11 << 504 */
  106568. { { 0x6e985fdcf7286539L,0xbf44ae0526699adfL,0xbfe83f9d751da127L,
  106569. 0x7df2f5c0d22871d2L,0x61a184da09f210a7L,0x69b4001a9e56e9bcL,
  106570. 0x3f48dc50f5801782L,0x114fb0a2e0bc2f08L,0x000000000000002bL },
  106571. { 0x44eb8f92011d6de8L,0x3e0fe24320df8124L,0x494b83e071b8153aL,
  106572. 0x6b50c1e31cbc91e6L,0x260d1694b8f14373L,0xf12e1b9298782cd5L,
  106573. 0xb8bc2afe7211a9deL,0x3604c2396ebbad8bL,0x0000000000000123L } },
  106574. /* 12 << 504 */
  106575. { { 0x5f9a4772e44f4ddbL,0xff089398a0479feeL,0xc7984a9a309c362dL,
  106576. 0xc8858f6c2ecf134dL,0xfc9c56401a56d029L,0xd77e773207b47628L,
  106577. 0x36bb84d6d5d61144L,0x8d6e8e0df628bb09L,0x0000000000000171L },
  106578. { 0xfd69c84a1b585b76L,0x2fe3fc195bfe6558L,0x9365c43c978729f7L,
  106579. 0x3bea9b49b368b24aL,0xb6fef7db69a7b390L,0xc85c1d51848bd710L,
  106580. 0x7b3a49fa90bbc984L,0xd65e2e2d651df377L,0x00000000000001bbL } },
  106581. /* 13 << 504 */
  106582. { { 0xe8eaa2b093ee1688L,0xab51392f1bd7b754L,0x70faaf847f0113f0L,
  106583. 0x0b68566cccdfa903L,0xbd54a08c9114d07dL,0x4370af4a2eb3d473L,
  106584. 0x6f5596b430650b8eL,0x1d9d998ebdaeebbbL,0x000000000000009bL },
  106585. { 0x1e07aab3eb570ca0L,0x6cc5717883d78d65L,0x5c13b03927e07ba1L,
  106586. 0x4a8db7258593acf1L,0xf2fbba8b4560970bL,0xa7ee45fb79fe5510L,
  106587. 0x8defa4ec7df14edaL,0x664e0d14f6249cacL,0x000000000000005aL } },
  106588. /* 14 << 504 */
  106589. { { 0xfe6bc737ba913d04L,0x5356a7c0e8d667f3L,0x71d72789c6a981fdL,
  106590. 0x7b33cccc1d45cea8L,0xec69e42ad2f757c8L,0x3e228959a5590d96L,
  106591. 0xc04189aa63be779eL,0x2649054dc984b85aL,0x0000000000000188L },
  106592. { 0x332af6f228fb3abdL,0xe8de53e45031c4cfL,0x881f78f7363bb9f8L,
  106593. 0xffd28eaa31d76d0fL,0xf618633502723c25L,0xcc4d0074e497dd32L,
  106594. 0x7c24a1c114be4804L,0xfefeea3e5150ca3dL,0x00000000000000b7L } },
  106595. /* 15 << 504 */
  106596. { { 0x93d8a6cc1cba39aeL,0xc09391f078b306ebL,0xc50192796bbe7209L,
  106597. 0xae87581b69c4000fL,0xaaca7f02e29cde0cL,0xf495236787d2f7b9L,
  106598. 0x831f4d68d01d00d5L,0x17c135acbae32d64L,0x000000000000002aL },
  106599. { 0xe83e6bbefa7a973eL,0xaa3d68978ed040daL,0xb2915bb0b7726a22L,
  106600. 0x84c84815c39a8a47L,0x42fb407eb29908b3L,0x9a5be91841b90531L,
  106601. 0xd534b5ce6025ec50L,0x56f74c30bd08106dL,0x00000000000000acL } },
  106602. /* 16 << 504 */
  106603. { { 0x312dc896a3a2be76L,0x9e77c0c361da109bL,0xb1c5379dbf0993beL,
  106604. 0x9272b9e8b7bcc4ddL,0x5437f62509337d54L,0x5c897a61cf735302L,
  106605. 0x368e21ca002db288L,0x33197cc1184aee4aL,0x00000000000001afL },
  106606. { 0x76ec7312e5c35f69L,0x6832a65ac07874d4L,0x398dab5ac121e8c9L,
  106607. 0xf88aa2c897b47c38L,0xfc77e1c007678cf3L,0x7327a90f345a9b89L,
  106608. 0x267417a049240b3eL,0x3aa3ea97e3912921L,0x0000000000000116L } },
  106609. /* 17 << 504 */
  106610. { { 0x16517bb959607b44L,0x58608704772ed61bL,0x32fef9718443087dL,
  106611. 0x9f12aefdc264831eL,0x2c40d8ec3f264eaeL,0x958ef2e1822e53fdL,
  106612. 0xb4538e5fa48195deL,0x5af48f9e914ed410L,0x000000000000019dL },
  106613. { 0x6495c1c2ac7152deL,0xd4f608df5b546ddeL,0x91ae22e465f6c27dL,
  106614. 0xf35827bfd2b14d0fL,0xdd6bb7ba3ef928d6L,0xcdb8ffc3fe3f1e15L,
  106615. 0x7d86649006bf8de0L,0x23bccaed54c4f18bL,0x00000000000000faL } },
  106616. /* 18 << 504 */
  106617. { { 0x34a26ac92efd1575L,0xd3cdf9b63ddc81daL,0x54f503deb2b82effL,
  106618. 0x76470a9ae9dd4f78L,0x4cdda269f255e55fL,0x4a41053e48c647ffL,
  106619. 0x2034a1a932ab5322L,0xad82c6c2573c0345L,0x0000000000000083L },
  106620. { 0x9bb0cb5cc498d833L,0x7593917eee4055e6L,0xe3d6061ad2555ed9L,
  106621. 0x16a5ed5c5fedc448L,0x6ce815f86f54029dL,0x844b1cb950a4ef2dL,
  106622. 0x80f5a634cd8ee69fL,0x94429987738e45afL,0x000000000000009aL } },
  106623. /* 19 << 504 */
  106624. { { 0x6b26293c55373725L,0x44d86d44d9b7d4d2L,0x63bb25dd8c19dcdfL,
  106625. 0xed80dfdf15e7ee04L,0x0d41bb216778dd90L,0x2247af2ff3835136L,
  106626. 0x4661b4c1c2b2770dL,0x97c716acebf37b12L,0x00000000000000ffL },
  106627. { 0xbce5ea8d1257f979L,0xef5854b4cc612fabL,0x484669d15cf5f330L,
  106628. 0x036ff03ac916d5c7L,0x199255965a0316e8L,0x527fa32eef2b4e43L,
  106629. 0x35b5691a24cc4432L,0xbc3f392ba525aa00L,0x00000000000000e9L } },
  106630. /* 20 << 504 */
  106631. { { 0x6be6e36a4e67687dL,0x769be7472011695bL,0x7874176fbdc16d7dL,
  106632. 0xe1d4d7112ecfd4d9L,0xcf6d7df697d9c412L,0x55f8bd12161eeafeL,
  106633. 0x2771d1072a331bceL,0x8f5e36f2560bc2d8L,0x00000000000001edL },
  106634. { 0xda8a3b0ae614739aL,0x5a6beb773bbf6fa2L,0x9998ec8de200b58bL,
  106635. 0x35b43df935407009L,0xe1417a07ede69a33L,0x655b564015528691L,
  106636. 0xe358cd067124064aL,0xf9274d0801093150L,0x0000000000000165L } },
  106637. /* 21 << 504 */
  106638. { { 0x0833c14b828446b5L,0xb5eb590f3df9e196L,0x1ecd9d2eaa99ebc2L,
  106639. 0xf09914d0f3d5ee35L,0xed839373970b266fL,0x47cdf5303cbbe599L,
  106640. 0x53aae86c3c9d6be5L,0x48397114d01a4f2fL,0x00000000000000bbL },
  106641. { 0x49a7d8895bd1e0edL,0x7529cb4958c666c4L,0x93dd25d1d5ede656L,
  106642. 0x6e221d6536276585L,0xcd09546ffa0d3db0L,0x4d4eaa62fe48abeaL,
  106643. 0xf0ec27945bc60c2aL,0x2955763602052899L,0x00000000000000adL } },
  106644. /* 22 << 504 */
  106645. { { 0xea3bdb8c7886dba1L,0x59aa2a6c8d15be37L,0x17527731f8bc12e3L,
  106646. 0xd61af3db387439e9L,0xc21f6203738ae818L,0x13d3ed72d0333648L,
  106647. 0xcec655779c9e07c4L,0x58d6b0692a992bddL,0x000000000000006dL },
  106648. { 0x81abbd9c660424f8L,0x38d2ee2d29992dd6L,0x483a59bbe9f85330L,
  106649. 0x5efa6313f18f1b3dL,0x93a79facf698990dL,0xf9ed5f5b3c66a3e5L,
  106650. 0x99a61ee05582b82dL,0x5630acce3ba9602dL,0x00000000000000c8L } },
  106651. /* 23 << 504 */
  106652. { { 0x6711c3b83bc0738bL,0x1a48588a747bb955L,0x64cd7a5d64fa3ea8L,
  106653. 0xd63b165af7ac67e6L,0x019bad5ab2a7d054L,0x13d53c68a775a2bbL,
  106654. 0xac13f9da74aab4e2L,0xbe3d79dd84f166f0L,0x00000000000001a1L },
  106655. { 0x5d591f141d79ec2aL,0x310a04bcf86e3b5eL,0x3219ccae81f9ba7fL,
  106656. 0x3058a5646f69a5d8L,0xba6d658a17b969ebL,0x04d9596f48efab07L,
  106657. 0x47608a070cf8472aL,0x443c8a3f122ffa4aL,0x00000000000001b6L } },
  106658. /* 24 << 504 */
  106659. { { 0x372fa55f96c43863L,0x7395007ecbdc87d3L,0x77261a297e9a1418L,
  106660. 0x9009f7081fe5569dL,0x43644eecf3186f12L,0xab5348754d413313L,
  106661. 0x7d795ade94cdd269L,0xb9c7bcce390cb5baL,0x0000000000000061L },
  106662. { 0x70e879398b2a76c7L,0xcf9a990b4d0a94d8L,0xd8bf89e734eb7c11L,
  106663. 0xe2b79ff8f33be326L,0x62f7f2e73ccd3327L,0x6e64a25cb871bc98L,
  106664. 0x0fd70684f42448dbL,0x162769cc7f3e6d46L,0x0000000000000098L } },
  106665. /* 25 << 504 */
  106666. { { 0x929dec7dda33404cL,0x68dd0e8c9b6afedeL,0x610dbd629e32f8aaL,
  106667. 0xad0a251f30192ce9L,0x6b9aeb4328e01611L,0x9c984eecb9d4a292L,
  106668. 0xb53bec5485ebd1a3L,0x765ae5798458714eL,0x0000000000000116L },
  106669. { 0x622071df31ed5307L,0x38945da1f6fa8116L,0xe1e1d1f3ca229eaaL,
  106670. 0xf8959af5acf489e5L,0x0816a41eb2abe438L,0xb00f3a2e251aa88eL,
  106671. 0x6aae71efe018e553L,0x2cdc74d817357be4L,0x00000000000000aaL } },
  106672. /* 26 << 504 */
  106673. { { 0x9767c342cd3915b8L,0x52206babc8b72893L,0xbe65a1ce6c589a4dL,
  106674. 0x69e29cc876ef527bL,0x8d656d54b58e124fL,0x0e645dfdaa0b6624L,
  106675. 0x89808ac8e7f38d9dL,0xed9ea95e458a43ffL,0x000000000000001dL },
  106676. { 0xbff236387d49f886L,0x20d403d22a2ed0f3L,0x7755c59da90909d0L,
  106677. 0xecd97f616c5555a5L,0x815f269fa6ec5bd8L,0xe2cd2c32d3ec306eL,
  106678. 0xee1816903d1a8ddfL,0x94e7e62fecf72211L,0x0000000000000003L } },
  106679. /* 27 << 504 */
  106680. { { 0x5d3d66768d1f4d27L,0x12f0837d7b1cd52eL,0xebc608c48838c280L,
  106681. 0x66689d737564013dL,0xe48e496f630cae1bL,0x8693853fef551190L,
  106682. 0x9db620a86f7855d3L,0x51bc8e485658469dL,0x00000000000000f3L },
  106683. { 0x55fb173c5ae32677L,0x287c372d09d83dc1L,0x5faea3396768dc7aL,
  106684. 0x3f0b476886a95fa8L,0xfd22197742d617b6L,0xe12ab48537728980L,
  106685. 0x5f458000fecafdc6L,0x86f0eaa95ba83a8eL,0x0000000000000065L } },
  106686. /* 28 << 504 */
  106687. { { 0x71f1dfa99806b3cdL,0xed41b6d4f784cfbdL,0x1e803f9dd8f8bb61L,
  106688. 0x4106986517cb357dL,0x2f389dd4d4040c02L,0x27693585e59684b7L,
  106689. 0xfd400b8e04e1c8cdL,0xff53e1e1a9c47d96L,0x0000000000000193L },
  106690. { 0x358de8b359771fb2L,0x87ec3a6fa7e440eeL,0xde6391d307c30cbeL,
  106691. 0xcf9116cc866e2bc3L,0x293676994011f5caL,0x1303ce2c9f52929fL,
  106692. 0x85e2c0ab4dedfcfeL,0x612d08a650f8610bL,0x00000000000000f3L } },
  106693. /* 29 << 504 */
  106694. { { 0xa143f0e16750e3aeL,0xda58596363f7e043L,0xc393fb468a82e2dbL,
  106695. 0x152e78159c18b33aL,0x07690241c322bfd1L,0xb7d34430f9a7c039L,
  106696. 0x30a02eacd91a3b33L,0x0333b1c5fe1f5e15L,0x00000000000001f7L },
  106697. { 0x892ecd1b3a10dff1L,0xecac73e2d7792032L,0xda8792e443089985L,
  106698. 0xe921f6f77e8b9e6cL,0xad5ca8d078844200L,0xd08b2c0ec4902474L,
  106699. 0xfa5928ee76ecb1c4L,0xa6f32e2284703e74L,0x00000000000001faL } },
  106700. /* 30 << 504 */
  106701. { { 0x6b83ceef1e86021fL,0xc4500e85fe4f727aL,0x45a925374e43e89cL,
  106702. 0xf73d7392cc6c3522L,0x3f7d2f0484cbe016L,0x02584521b02203aeL,
  106703. 0x901c127550206becL,0x0c55c247de3580efL,0x0000000000000198L },
  106704. { 0x7fd8681dba78f98aL,0x5084bad583d1e7a9L,0xd6024a7bf5fed50cL,
  106705. 0x9605ea57ae4b56ddL,0xc2bb29d60451b3e5L,0x339a6c82b1280ec7L,
  106706. 0x5711b1280c3cf155L,0x20308f7a86c613f1L,0x0000000000000188L } },
  106707. /* 31 << 504 */
  106708. { { 0xbd43c00d79623d05L,0x8d6020e28c78137aL,0x38c6c2126fb0dd3bL,
  106709. 0x9cdf9293666d2d43L,0x0f0d17dd3331b5daL,0x9e3fc10de29bf866L,
  106710. 0xdc2b1a910c04d32aL,0x94f8f744755315e1L,0x000000000000009aL },
  106711. { 0x4dce110b54f9068cL,0x2584dfc82e106069L,0xebc73668a694f59eL,
  106712. 0x4610b4b2512ecff4L,0x6afdf6064cd507f0L,0xf7b208d6fda16ccbL,
  106713. 0xfa72234c123b45ceL,0x474e7152c4e7c78cL,0x000000000000016eL } },
  106714. /* 32 << 504 */
  106715. { { 0x11771bfc92e6cd70L,0xf5bd487f65c65a34L,0x1b3cb720081b98d1L,
  106716. 0x32485ec4026b378fL,0xe3c71a99529c1313L,0xc85bde7d3526ef07L,
  106717. 0xa85c138b84e3dbebL,0xe6e886afa239b5a7L,0x00000000000000f4L },
  106718. { 0xf65240a56e2040feL,0x1596f10816af1685L,0x20b38d3eb90b3a9cL,
  106719. 0x81a30feb9c3fdf7aL,0x04031bb33731c3bfL,0xadfe3fb3ad2b6d6eL,
  106720. 0x243b36230fee06e0L,0x2bc6df9225d016e6L,0x0000000000000053L } },
  106721. /* 33 << 504 */
  106722. { { 0x6aacd1b33a694c8eL,0xda4292439920facdL,0x8eeaf582b2d8d80bL,
  106723. 0xa03afa0b32a1c52eL,0xab7822fea3b16c64L,0x415e3dfd85cd40a4L,
  106724. 0xba75e4d576958759L,0xec9a95e88e58d2eaL,0x00000000000000a7L },
  106725. { 0xa096ee7bbebf8902L,0x799d6979afd1460dL,0xd1b8d605ebc51254L,
  106726. 0xb077aa8e1c2cb180L,0xc31759f4f8fd1e58L,0x704f588bdd1bcd8aL,
  106727. 0xc22ab0d67ddf1e1dL,0x8f5d78d3968074beL,0x00000000000001b2L } },
  106728. /* 34 << 504 */
  106729. { { 0xc5daabcd932ff166L,0x7f5eea67a8d77d4aL,0x3d6d04eeb62e5ee7L,
  106730. 0x4736983815707ed7L,0x05738964e8183517L,0x3537ccc50255f489L,
  106731. 0x156ef32d9b13c129L,0xc2a62d7eb3002c45L,0x00000000000001a2L },
  106732. { 0x37e128bda21b49cbL,0xd2bb496ef8dea102L,0xba43bd9cd8814cbfL,
  106733. 0xcc475dfa3707a908L,0xa86675a1ef5c5c74L,0x321544dd25ba90fbL,
  106734. 0x65ebc4bbe77d6fd6L,0xdd5e75955fcf3feaL,0x0000000000000070L } },
  106735. /* 35 << 504 */
  106736. { { 0x6c474c2718234b72L,0x3631873d1ba8afc2L,0x4fff947bfc6cd2d0L,
  106737. 0x91a95c6aa6187a12L,0xc18812d51a5161ceL,0xf8182c4728ba5591L,
  106738. 0xfa08a35ae05abb0bL,0x49a5f3a0f3fc003aL,0x000000000000003cL },
  106739. { 0x1f2fc52f0253b00bL,0xdce041369e3ebd22L,0x6b326cbb0b545102L,
  106740. 0xe06e27cfc2b15e4bL,0x96294d881cb480fdL,0x62add48fc24a99c3L,
  106741. 0x8b5f2549ebbc3afeL,0xf7108acacd6c9533L,0x000000000000011cL } },
  106742. /* 36 << 504 */
  106743. { { 0xe928f1ace4606931L,0x2fb928a4fc874afeL,0x87ed3480ac730690L,
  106744. 0x18c8bac63f3b5593L,0x870d817bba8f50c7L,0x37b17f1e1dc4f816L,
  106745. 0x14ac19394828b6d8L,0xb66131579f7594fbL,0x0000000000000055L },
  106746. { 0x59887289d3e0d261L,0x2e38efc348aee80aL,0x8362fe6d1c19065cL,
  106747. 0x714d078031d57631L,0xd38e42dd96f0ad85L,0x2ba3990c16bb603eL,
  106748. 0xc79e2fcf756396a7L,0x3897420f536c1994L,0x00000000000001ebL } },
  106749. /* 37 << 504 */
  106750. { { 0xa7d5782fa86ba30cL,0xfe671190e309d5a5L,0x2b8d391effa437d8L,
  106751. 0xccf1231d4ed20668L,0xcb2e725ba841c8ccL,0x8551c6a6d12c0043L,
  106752. 0x40b6efb484751314L,0x4cd15f5ec044b80eL,0x000000000000004bL },
  106753. { 0x3d0f897b73ea15ccL,0xa5d6c44dacae986dL,0x82b035b4e098f68bL,
  106754. 0x2e004b3153e48458L,0x4033ced959c997e8L,0x45fb094539c64c7dL,
  106755. 0x244ba9c3d1ac61b4L,0xe05fdc81367bdaafL,0x0000000000000083L } },
  106756. /* 38 << 504 */
  106757. { { 0xc7a406be012b5684L,0x1652b7ff5d60f261L,0xc2d4d16178843bc5L,
  106758. 0x3f50380e1a1955bfL,0xb2d8f5d2368f254bL,0x14b0b3f931c0c910L,
  106759. 0x7587bd7a099232e9L,0xf29fea7c7a379369L,0x0000000000000014L },
  106760. { 0x92c5844ae54bc692L,0x0798175cf2c3171fL,0x177ef51601a94811L,
  106761. 0xe5632d4aaad297a0L,0x7069e9fe58584a58L,0x6eb4de9187428d96L,
  106762. 0x8354ca18d1679a12L,0xd296dc08a7660684L,0x0000000000000025L } },
  106763. /* 39 << 504 */
  106764. { { 0x1a42f1615e99315eL,0x84762c55407122fbL,0xc46bc953c8d0f1a5L,
  106765. 0x2523a0261be38aa8L,0x274145a1b36d1ab8L,0xc0d9a5f585c407a8L,
  106766. 0xa8b0e1afd8dfec41L,0x8c5bb30851100703L,0x00000000000000dbL },
  106767. { 0x843a2657aae55c46L,0xc92b3449d905af3aL,0x6ac9ef1d9775d9ddL,
  106768. 0xf6c822000e3b1212L,0x85f51f8cdce6fe66L,0x5349a598c92594b4L,
  106769. 0x6f61700302270118L,0x70f2c99de38d8200L,0x000000000000006dL } },
  106770. /* 40 << 504 */
  106771. { { 0xd636d4c4da43d267L,0xa3b87528e75bbb4aL,0xa60189a1f2246ad7L,
  106772. 0xe8904e536635c4e7L,0xbf1af52d8a2dcd98L,0x7b93a05344fac70aL,
  106773. 0x8bb6fc09d73a81a4L,0x05536fb265f165fbL,0x00000000000000cfL },
  106774. { 0xe366e5dacb409af6L,0x755696bfff43ee63L,0x3a97d43e3709ed1cL,
  106775. 0x644438f85e58f866L,0xdebd5495e8fe5577L,0x6e84a3b5375bfa1bL,
  106776. 0x987b5dd1202c78b0L,0xfc3e4908b822d808L,0x0000000000000150L } },
  106777. /* 41 << 504 */
  106778. { { 0x73ecabcf3acbb512L,0x9533fc1e8997573cL,0x5d5c5e92f163c949L,
  106779. 0x525a58a51ee35ab5L,0xbbd9e4986db9fa29L,0xf3233214954015cdL,
  106780. 0x710635f82ae6ad57L,0xe2dc148513b93e37L,0x00000000000001b6L },
  106781. { 0x0b972426c062c228L,0xf68356f3c831fedaL,0xdbca88e0294d3418L,
  106782. 0xa0b2ccfb74891390L,0x15a50844452848bcL,0x3d40a30bf020c354L,
  106783. 0x78654b100f743e38L,0x5830b682071e5c54L,0x0000000000000024L } },
  106784. /* 42 << 504 */
  106785. { { 0xdc7e268751b64c15L,0xd64e9963851661d3L,0x6dd6e61155c36ceaL,
  106786. 0xc9dda78f95af04eaL,0x0e36204b717529d6L,0x18307d7b1a934b4dL,
  106787. 0x9a2d9ccab18f8a3eL,0xbef73bc2a39cfa59L,0x0000000000000014L },
  106788. { 0x0ea74fcba1a4ca75L,0xea6233eedca12c9aL,0xd189f92afec9fb84L,
  106789. 0x4b60da2d2d6bc935L,0xec09409fae1a492bL,0x2eaf3c6a96ecef1aL,
  106790. 0xbd5744de79cc9c96L,0x137f9e124b817ef3L,0x00000000000001b5L } },
  106791. /* 43 << 504 */
  106792. { { 0x501c4b77a206d5d0L,0xeb9e35026823bdb1L,0x9c630625e12d89b0L,
  106793. 0xe907a0599c9efd7cL,0x2fd286f722eacdd9L,0x6816d3af1bbf7f70L,
  106794. 0xf28d01cd148540fcL,0x494b69af35e1db97L,0x00000000000000b5L },
  106795. { 0x27a04d983ee774f8L,0x7429986edfe44dc9L,0xe9ced611c5d67f13L,
  106796. 0x3064c8278e8f1883L,0xe355a38fc6690faaL,0x8f46002a56ae4f60L,
  106797. 0x2a02daedda54740cL,0xb7c3b9dad082c12eL,0x0000000000000182L } },
  106798. /* 44 << 504 */
  106799. { { 0x0a6349315830d60dL,0xd8eb73b8bbe24eeaL,0x0e5c491d01d78f8fL,
  106800. 0x6a64025fc3741449L,0x3cd080c70e2ed20dL,0x2daabc21d2898b84L,
  106801. 0x66dc0235f4c36524L,0x9327c374780d6ea5L,0x0000000000000180L },
  106802. { 0x3d37d86133febf4dL,0xc14534786988a93cL,0x3f74774eec0ab171L,
  106803. 0xa3404c1e3cfac694L,0x045db8c32f3b022eL,0x8eabe9f35c01b893L,
  106804. 0x61d83f12a7ed9fa8L,0x99bcee45a35d2628L,0x0000000000000005L } },
  106805. /* 45 << 504 */
  106806. { { 0x762ef77032a8e116L,0xd143a6c5fdcb778bL,0xda97c9de66b5309aL,
  106807. 0x30a842f58e90a23eL,0x49c70a68e1a6b687L,0xc075044167230ac7L,
  106808. 0x95a702baf0cd790aL,0x40a23752b7e6f3f6L,0x00000000000000efL },
  106809. { 0x7ad3f0231b216453L,0x8848cf889478adf8L,0xb59a0b8a73ffc8a6L,
  106810. 0x3890a4b18886ef88L,0x01f563b7721c750aL,0x27200ccef586d6a6L,
  106811. 0x3a00ef84acb996e1L,0xaf308a0d87ae84faL,0x0000000000000082L } },
  106812. /* 46 << 504 */
  106813. { { 0xed73a960cecaf2c6L,0xe3e2fc9f72f3e432L,0xe342c3c4b43440a3L,
  106814. 0xcffcd0b38eb23a04L,0x97c0e69ae0230013L,0x8240dd50988f4aa3L,
  106815. 0x450801c0934df0e7L,0x2ae8732d8b5e1134L,0x0000000000000185L },
  106816. { 0x88e7c72895bdb2feL,0x8b89c3a481110a0aL,0xd5c325dc38403b6dL,
  106817. 0x8c9981cf462fb4caL,0x8d8ee77b4bc4127eL,0x66f0849209dd6dd8L,
  106818. 0xae3c2cf2156f42e3L,0x05a9a2f7624bcdd3L,0x0000000000000188L } },
  106819. /* 47 << 504 */
  106820. { { 0x4b2cede9736d1080L,0xf3493b40f7a20cedL,0xd2ae2b575506f48aL,
  106821. 0xbf15b5f1b26852fdL,0xbabf030c296d9bdeL,0xca059522434de93fL,
  106822. 0x05e285648bfbf1f2L,0x6f3025ec7358ef2aL,0x00000000000000f6L },
  106823. { 0xf58301b7edfb2019L,0x66fd8abe39bc999dL,0xde69e5c9fa32955fL,
  106824. 0xa238f72ae59bc937L,0x895f843786635c79L,0x26699c76bfaf8f08L,
  106825. 0xc17214b9136b91b5L,0x362d2e7465ecc70cL,0x0000000000000113L } },
  106826. /* 48 << 504 */
  106827. { { 0x29d30ccfdba3263aL,0x3ddec6f458f319d0L,0x6859be59aa8889deL,
  106828. 0xd21b5a3f37e57788L,0x0bc2f50b8e56e5f0L,0xb76d24e42b8c2b6dL,
  106829. 0xd7b4c5575731d66fL,0x59d33a6e8a0e50a1L,0x00000000000001e3L },
  106830. { 0x4decdb8e57dc5e0bL,0xe1fd10aed8e33978L,0xbc70d10b17f26c32L,
  106831. 0x15026720a9d2255dL,0x68a1e644fb625ffaL,0xdd3dca9f0b24bb44L,
  106832. 0x3a192d90f8932bc0L,0x0f7120b476268713L,0x00000000000000d5L } },
  106833. /* 49 << 504 */
  106834. { { 0x40b536383a312500L,0x3583ad2393dd5ce9L,0x9edc8f2c2a6c32bfL,
  106835. 0x331d9f888a7af41aL,0x8c2e24be679248b8L,0xfaaddcec55d3d6baL,
  106836. 0x5389eeb3d7f4b6f2L,0xcfba884a6dbc261eL,0x000000000000009bL },
  106837. { 0xd297f9d412c86f42L,0xb1efdde1bf731999L,0x83e2c8ec1c74c90dL,
  106838. 0x25172953e1a86c88L,0xe085e66d3ad7c757L,0x6a4205165f2264acL,
  106839. 0xfec41f5ae94c09d2L,0x7b04d8889fc2520eL,0x00000000000000d3L } },
  106840. /* 50 << 504 */
  106841. { { 0x780729c7cc378344L,0x57e5492132481eabL,0xed30489faeff7f7fL,
  106842. 0x915fbf7ce5f1c7e5L,0xa447efaf62b8497eL,0xfa764a3273aa8012L,
  106843. 0xb1a75f1ec5f79a73L,0x904bbface55412abL,0x00000000000000feL },
  106844. { 0xedf27e0035d70f3dL,0x7403d8160c686661L,0x780f88caf8226941L,
  106845. 0x0f3dba77374750dbL,0x22f036ec463ef54bL,0x05c98a11b4bcd349L,
  106846. 0x0b9c1e1066c6c48cL,0xf97542e3aa4d23d8L,0x00000000000001ddL } },
  106847. /* 51 << 504 */
  106848. { { 0x8eb6298bd1c2340fL,0xa69b2a078c93effbL,0xa0fff41717e5cac5L,
  106849. 0x4dbda6416788219cL,0x67ff5f5b77ee2712L,0x798d318757e8c5e9L,
  106850. 0xcac3a4211adcedfaL,0xb77a995db508dd1dL,0x00000000000000ecL },
  106851. { 0xf5fabda250f13f9eL,0x2d3248164ab98a01L,0xef848f30862ec877L,
  106852. 0xdccc661edb74997aL,0x6f1f9efcccc7a331L,0x03d6e862bc776e7aL,
  106853. 0xd178f910bdea3158L,0xb6608ef07b9f535eL,0x00000000000000c6L } },
  106854. /* 52 << 504 */
  106855. { { 0xea95917775247610L,0xc03f4326d5528775L,0x8d46289b5b48a156L,
  106856. 0x9447bc35cdcd8d8eL,0xc5688f26210bbfa1L,0x539bc76734f83af5L,
  106857. 0x371c1bf9804413d9L,0xd38c342187de862eL,0x000000000000001bL },
  106858. { 0xb2a00040b183085eL,0x43f284af2524738cL,0x361c7e8eb6834e75L,
  106859. 0xfe4ea9ff720b8af1L,0x87c7eac60299f9b7L,0x7f6f668ea0c54c54L,
  106860. 0xe4e14938275b843eL,0xbf786cd0274de49fL,0x000000000000009bL } },
  106861. /* 53 << 504 */
  106862. { { 0x7b47c51e6e8c29baL,0xe8b5828112556021L,0x7b9996154cccd41eL,
  106863. 0x80829cb5a6bd4f11L,0x8165e02b4261a0a9L,0x94c3b0b10516943aL,
  106864. 0xb81de83d0a6c224dL,0x91d8d20a87625a2bL,0x00000000000001b6L },
  106865. { 0x3f36fec901bee5b2L,0x9f393611070292c9L,0xd54c6d895f498ab5L,
  106866. 0x398e1f9042264500L,0xbbfaaf64ca95ca7cL,0x6cd5062414ab92a7L,
  106867. 0x44ac4b76fb688987L,0x7bd8192888a78c22L,0x0000000000000077L } },
  106868. /* 54 << 504 */
  106869. { { 0x90ff1fe8d54b0174L,0xb2ebfbb8684f403aL,0x30d99502f405689fL,
  106870. 0xd5ccc821baa34800L,0xdf3b996ca272984bL,0xe27f1378e9d1ef86L,
  106871. 0x0a411e3fadf082d3L,0x54a704968bbf2c2aL,0x00000000000001d7L },
  106872. { 0x08cd18eaba4c82e3L,0x5487015aafe09e1fL,0x4036ec0feb49e0edL,
  106873. 0xe5c93ba052d7820bL,0x6abbbbf084b8e6c0L,0x9303cf2644072ab0L,
  106874. 0xe680096617b73ea2L,0xd0910a6b92c47ac1L,0x000000000000001dL } },
  106875. /* 55 << 504 */
  106876. { { 0x07c321cd72888b9dL,0xffdbfd2032dfac5fL,0x18e938cb5e246911L,
  106877. 0x01e54403d22c20d9L,0x8a61ba0678040df9L,0x29b01d78b68c8c8fL,
  106878. 0x52a16c436254a93bL,0xfe54503959f8cef2L,0x0000000000000133L },
  106879. { 0x9af34c9a1c33772aL,0x0c558a079c3fbb98L,0x91c66b9709f6ec94L,
  106880. 0xdd67fd474a98dcddL,0xe6e210db396eacafL,0x14b35f752518c8d3L,
  106881. 0x5094c31a411c5a07L,0x80aa1b8a6623c16dL,0x00000000000001bfL } },
  106882. /* 56 << 504 */
  106883. { { 0x9aa63d02cdcf2ceaL,0x5723ddf40c02861fL,0xe2642a0fb5f899a2L,
  106884. 0x2066e595ff9a8295L,0x09a1e790cab91b8dL,0x01ce51d5dd4de2dfL,
  106885. 0x661e1d8ba91a7c90L,0xad71031cabcc182aL,0x0000000000000002L },
  106886. { 0x374339b7290a7058L,0x42e89d09a15f4303L,0x8ec108f35cf10478L,
  106887. 0xc13a2d048f10111eL,0x98a8386ba87259eaL,0x2039e70ef38794edL,
  106888. 0x5d142439e8b922faL,0xf9af7e06caa6f96fL,0x000000000000010aL } },
  106889. /* 57 << 504 */
  106890. { { 0x04879dfe6a2ed236L,0x77038ae59d6d8c40L,0x2bd91ed47b88661bL,
  106891. 0x7d66fdd1efec46eaL,0xc25adcbe1c315781L,0xc26b39782b2936f5L,
  106892. 0xe88f1265bd9c530bL,0xdf6dc2bfadd1306eL,0x00000000000000ddL },
  106893. { 0xb105f92eb6bf1010L,0xff5971d686b2fb4eL,0x57dcbd9c796d21d9L,
  106894. 0xca5e8768c6ca78a2L,0xd45c6f483a77d271L,0x87510561077977e3L,
  106895. 0x50a4d3b1f03a3df7L,0x6d6487051a921d24L,0x00000000000001d8L } },
  106896. /* 58 << 504 */
  106897. { { 0xeefdb850013f564dL,0x10005fb12555de7fL,0xa2974fb059b20bc5L,
  106898. 0x12544629137bfcb1L,0x8825f36f940b7f02L,0x628241621e47d20dL,
  106899. 0xcf8c26e06e353253L,0x9abafc166e5e0754L,0x00000000000000b1L },
  106900. { 0xbde39c9a360d199fL,0x51dbeeca981c811fL,0x221f8008941f52acL,
  106901. 0xf807c3dd0759984aL,0xa8fe7157b30a65e2L,0x4e3a799cd1894cacL,
  106902. 0xf4b935eb2164eb00L,0x6c3792c0bdce96feL,0x0000000000000014L } },
  106903. /* 59 << 504 */
  106904. { { 0x1fd42bbda9198a11L,0xacddf8f2753687f0L,0x43d36ae6608ff4a8L,
  106905. 0x216457684c59d30bL,0x93bcac7770397bbdL,0x8e90bc116c01a663L,
  106906. 0x95771938531cc0e4L,0x2075e6e5ba8ec166L,0x0000000000000115L },
  106907. { 0x06c9883d44df0f72L,0xcba38ada86240567L,0x8b1d6a7a6765cca4L,
  106908. 0xba76644c5013d624L,0x4e1261cb40b8f5fdL,0x0d0f9598c47fbe89L,
  106909. 0x6ab7a704f44977e6L,0xd07aa31acc08c06bL,0x000000000000006aL } },
  106910. /* 60 << 504 */
  106911. { { 0x7b8418f213402889L,0xc8b3b1fbffc1d05bL,0xc3746149da384c02L,
  106912. 0x3ea1be4b2491f86eL,0x694ebec1df96386bL,0x16e114752f4f39abL,
  106913. 0xa042cdd70b357d4cL,0xc769a1b67fa71919L,0x0000000000000077L },
  106914. { 0xa51c483cabd2c768L,0x1cf05c6c7b0db8d0L,0x8ae60ab9eb16bb67L,
  106915. 0xd2d75ed8531d5cd3L,0x5e9c20a46c476eceL,0x794a41fc8209e94fL,
  106916. 0x0da3bd97c01ab9f8L,0x83682c72b3a18c74L,0x000000000000013bL } },
  106917. /* 61 << 504 */
  106918. { { 0x6dfdecfaed5deee9L,0x09adb9fae0897b6aL,0x9291b38089b471d0L,
  106919. 0x2f2df6bfd95ba0b4L,0xbc44d08fb5564882L,0x2217b76cda298b3bL,
  106920. 0x3cd6025f972f3b35L,0x9f6daa7db04ed8c2L,0x000000000000005dL },
  106921. { 0xb08ea52022feb51aL,0x40dde4545059e8f9L,0x47d16db04a9e1b07L,
  106922. 0x47d4d1d19faa1affL,0xcc720686bd48f06dL,0xce3ffd573ce5f368L,
  106923. 0x03789475048a878cL,0x163c7421eb4ac6c4L,0x0000000000000088L } },
  106924. /* 62 << 504 */
  106925. { { 0x097575c0b0812157L,0xb6c24f4ccdf6b760L,0x8ae073f297c5e905L,
  106926. 0xfde1488d6ca3a648L,0xb758040f8987147cL,0x6f894fdd869e28f3L,
  106927. 0x123cc1be7110e0c8L,0x039fa2bee9e9a359L,0x000000000000010dL },
  106928. { 0x92986cb50a63a55cL,0xb7669237de5e1cfdL,0xd6a1c865196de727L,
  106929. 0x10345506215d79beL,0xa398a1557075f3ccL,0x82fdd1af7bfa5d76L,
  106930. 0xe8e47652a81532acL,0xe5a95521bff4cc65L,0x000000000000003eL } },
  106931. /* 63 << 504 */
  106932. { { 0x9b578eaff318749eL,0xf68770442b6052c7L,0xb3d507b51cb82483L,
  106933. 0x25504c1ca62c3df6L,0x57caf5be0a74d81eL,0x09fa69a1666c57ecL,
  106934. 0xdf66521cb8e4c36bL,0x02a68a2f0dd04c8eL,0x00000000000000b0L },
  106935. { 0x928aa60db5b35d53L,0x10e8be306c50bae7L,0x361aaed1f0adf725L,
  106936. 0x01168db479a6b055L,0xb9e4511c0bc87e60L,0xbae0e9bff45879e4L,
  106937. 0xe55823837ab6e8e5L,0x4bcb4072658c5b05L,0x00000000000001dcL } },
  106938. /* 64 << 504 */
  106939. { { 0xfa5944257d7d3912L,0x208af690f57dc595L,0xa277e9808287e9a5L,
  106940. 0xfe15c6e2d556fa0bL,0x4b4612ee81a8260cL,0x6e171bd7cda05ab2L,
  106941. 0xc417d3d1de584e28L,0xaff5e9b98eff9ff5L,0x0000000000000188L },
  106942. { 0xb0700568c6c3151aL,0xccd55dc01f049293L,0x7c6e61ab443d10a0L,
  106943. 0x9c2c964b0a4546a9L,0xf470d97e7fa4474dL,0x378d416f74b749fdL,
  106944. 0xc821766f1d9fea8fL,0x71c9fab02e3d8dd9L,0x0000000000000027L } },
  106945. /* 0 << 511 */
  106946. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  106947. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  106948. /* 1 << 511 */
  106949. { { 0xbba0d1f988468571L,0x4b15325d14edf415L,0xba40ad2e5b315437L,
  106950. 0x4cce24b45214deb0L,0x33ccc948f3217ca3L,0xc9a387c88d2d7d56L,
  106951. 0x19c908921569445eL,0x6b925ff0c50a9417L,0x00000000000001afL },
  106952. { 0x55fcfc767fa33215L,0x2b7b66383e2b25b5L,0xb765a15b602d0860L,
  106953. 0xefdebace1a252b65L,0x8117e367f315947eL,0xbdd3a76a501fa6a2L,
  106954. 0x0f224474f4b0cc16L,0x694e2254515f0dcbL,0x000000000000013eL } },
  106955. /* 2 << 511 */
  106956. { { 0x22b8eccb56b092a2L,0x0a47d70e736ea9aaL,0x3eefc772d64a7d08L,
  106957. 0x85408cecbb2e0f14L,0x73047afd285cb70eL,0x1732f01663297a2aL,
  106958. 0x4dfe656a4cf37eacL,0x147d6d66c0ec357bL,0x00000000000000c7L },
  106959. { 0x1f3e59103c115125L,0x0d2d18fcbfb07241L,0x5d6aa860ba4b009dL,
  106960. 0x8d0d9368806ff8edL,0xcc5ca3701a05c049L,0x7bf21caee9ab4c41L,
  106961. 0x6632c3e0001d5ccaL,0x3a4f99b6b60e5593L,0x0000000000000008L } },
  106962. /* 3 << 511 */
  106963. { { 0x67f918a4e83a74c7L,0xb5b93d318aeeb8daL,0x04f033bddf8b5ab2L,
  106964. 0x8625cb2864df3389L,0xeeec07936b2c8470L,0x7af4facc85a3edf6L,
  106965. 0x3c591c09ce38c9fdL,0x56714b52dc84e5aaL,0x000000000000000dL },
  106966. { 0xa6fa0f8d93455dfcL,0x9436150e130b8d9fL,0xf87d15ea9c4e016cL,
  106967. 0x9845852f510467aaL,0xe512bdcfb63d9a99L,0x820a8b737c6c01ffL,
  106968. 0x30dcf512698b9654L,0x3917e6a8bc52d8e3L,0x0000000000000062L } },
  106969. /* 4 << 511 */
  106970. { { 0xaed7666ae6b2853fL,0xa1fc0332be96140bL,0xb99a5dc81c1e38b1L,
  106971. 0x56194675f38c5243L,0x16c6f80e80d38681L,0x1117841314205f46L,
  106972. 0xd2dc67bc6ee03089L,0x5e18245ed3dad965L,0x00000000000001e3L },
  106973. { 0x389e59cafda7741eL,0xf341d649259e4dcbL,0xec15d27a260b32b0L,
  106974. 0xf3a1a08207640ceaL,0x15ac31456e811313L,0xb9027ce47cf68896L,
  106975. 0xb43e4fd77008a356L,0x541aa5b4640c2c60L,0x00000000000001c3L } },
  106976. /* 5 << 511 */
  106977. { { 0x9a29c770d75994f6L,0x324345412f6c1df7L,0x8339d6aef2b285a4L,
  106978. 0x8bb1ff0a6feaab2dL,0x8f9137cbcc3a0a42L,0x19e09b7c1e385985L,
  106979. 0x8ca610ef45e2f771L,0x8482833a4b37ae8fL,0x000000000000003eL },
  106980. { 0xa305da774a619736L,0x9f3bb1d47475f158L,0x5b30ac0741aa2ff4L,
  106981. 0x19963057a9bfc2f6L,0x89a3d94d1f12dadbL,0xb5da354359d81991L,
  106982. 0xcaa559b88668161fL,0x2cbb1a1af8ddae34L,0x000000000000006cL } },
  106983. /* 6 << 511 */
  106984. { { 0x3c32f4e34cb99695L,0x0db56646c1241e0cL,0xa4cea13b28515d66L,
  106985. 0x1c8f63975f3ab5dcL,0xd466a1b34defd3ebL,0xcdbb66b5e6d860d2L,
  106986. 0x26fc2fd5fe87183eL,0x02d81a03d18233a9L,0x00000000000000d2L },
  106987. { 0xdc570644caa08959L,0x7791cc35cf763c20L,0x3c0dc132272a1068L,
  106988. 0xd7ad702cc8a74578L,0x7689c46eada1d72cL,0xbfc2e06f2b8b4369L,
  106989. 0xde85e36ec0bbd6c4L,0xd879e086f9849084L,0x0000000000000077L } },
  106990. /* 7 << 511 */
  106991. { { 0x35702db34e0b5199L,0xbb02636c273c5fdeL,0xf73cabb563fc329fL,
  106992. 0x1a280b288c1addefL,0x4844dcd4422f07d6L,0xdd6851167518acd7L,
  106993. 0x9ff8c1efd2bd73e5L,0x9465a3b26afb5416L,0x0000000000000194L },
  106994. { 0x1d68a6e413b729ccL,0x10758206a54e8db6L,0x20f8fbba9708de79L,
  106995. 0x1c5eefd2c1abd968L,0x3c7742c2525f1fe4L,0x3175190b2c612f17L,
  106996. 0x4020af7742207e24L,0xde4bed37fa5fa6c2L,0x00000000000001a9L } },
  106997. /* 8 << 511 */
  106998. { { 0xef192aeddba16581L,0xff1342112e8db0fdL,0x32551c61bdca8d0dL,
  106999. 0x96e1ff06c55b9aa3L,0xa211b1107e4c635fL,0x2708e5427c4b6b4aL,
  107000. 0x70ff7c3fa6575526L,0xd26e2db636092ec8L,0x00000000000001aeL },
  107001. { 0x1fafd3c2533251d0L,0x1602462d8a9a439dL,0xc057595a1cc5af27L,
  107002. 0xa27197f3be839c9aL,0x03c1cc4bbfc1318aL,0xb78c7b7f34d0a378L,
  107003. 0x0f9d754e161b4257L,0x8dcf43cbf355d916L,0x0000000000000194L } },
  107004. /* 9 << 511 */
  107005. { { 0x9181244f3e0d4347L,0xb189acf795b45d19L,0x8877efde70a55c91L,
  107006. 0x924b0d70c1d9c777L,0x7c3a5a49b703ad70L,0x72c4fad3e44f1b1eL,
  107007. 0xc1efa48525544d96L,0x1f6ee5617af50683L,0x000000000000000eL },
  107008. { 0x518630dd1fa2e8dcL,0x3507130b38be0359L,0x989190f52993ccfcL,
  107009. 0x793361df738a29bbL,0x44700a46d43eebf6L,0x03622bdca60b214bL,
  107010. 0x956992cddd6703c9L,0xd85935a3d7ee66dcL,0x0000000000000148L } },
  107011. /* 10 << 511 */
  107012. { { 0x51df490ddc3577ecL,0x6d8a70e97e28be3eL,0xd87a7ed31de95e73L,
  107013. 0xf97c968da6c7086eL,0xc47b64dc6b4afe00L,0x489f1d988b432676L,
  107014. 0x9f2b7996f72c2153L,0x4acd5ae8f820af70L,0x00000000000001a9L },
  107015. { 0xa5cc854bd7263fcfL,0x7bd94b2f864febf7L,0xb3def0ff9460c5d4L,
  107016. 0x5f0766b5042d47b5L,0x9e8484f28ae51b32L,0x26ec4ea6f8c729e7L,
  107017. 0xf279d7336c2ad315L,0xb2d22e6edac3e8d0L,0x00000000000000f6L } },
  107018. /* 11 << 511 */
  107019. { { 0xc9b6366728cbdea1L,0x6920862b9e8756dcL,0xd522608028c90b04L,
  107020. 0x52f9c421f5bde803L,0xe075ad1141b5ce80L,0x2aeee7e51c04e56dL,
  107021. 0xcc6053a428eb7657L,0xb523d16d4cfcb113L,0x0000000000000041L },
  107022. { 0x33028ceb6e812f6eL,0x654b5ffcc2cc46ceL,0xc9d28de56f143379L,
  107023. 0x6ce0fd8343a626dbL,0xbcc0a10be9fdcf7eL,0x50b2f0747119a936L,
  107024. 0x91b1782d11f4af5cL,0x7472e053ed0b5481L,0x00000000000001edL } },
  107025. /* 12 << 511 */
  107026. { { 0xb2b4d4085967b43cL,0xc660c6c1f35923d2L,0x696d9140a27fde01L,
  107027. 0xfcd766eb259432a9L,0x6831fde1cad2a4e0L,0xa157be88928838eaL,
  107028. 0x4b31c1d6791d2740L,0xf1958bba850a1760L,0x0000000000000085L },
  107029. { 0x23a6800ed777e0d8L,0x84d2780d71cb04d2L,0x691076f7d7a8f688L,
  107030. 0xcff1a453e2237b7fL,0xb1d9dd8f0a9037d4L,0xface3a31d9199814L,
  107031. 0xff7bfc81da563993L,0xa0f655abc61dd36eL,0x0000000000000111L } },
  107032. /* 13 << 511 */
  107033. { { 0x9199785a30677670L,0xc74d3404c0ade42eL,0x8ce0d96b0613519fL,
  107034. 0x3c7c64533e40200cL,0x02cd19101dbe0935L,0x0c37218968cc3a24L,
  107035. 0x51887d02a1588133L,0x33757613c105adcfL,0x0000000000000032L },
  107036. { 0x74a955d103f1fa25L,0x518b2de6fb22b0d7L,0xfa48229fdfe08961L,
  107037. 0x47df7eebb4cb58d9L,0x5b9c683f4601e92aL,0x4a3a2c3f81d5dfd8L,
  107038. 0x15d6b44f4a5c99edL,0x6646f77e020eb968L,0x00000000000001c5L } },
  107039. /* 14 << 511 */
  107040. { { 0x43c5bdf15d73ed9aL,0xe3766738e71c6e7fL,0x625cb8c43947ea97L,
  107041. 0xadf7ccc082241ba7L,0x629f45b307329130L,0x9cfac1748d0c281aL,
  107042. 0x92069e577d14ca06L,0xca121495dc9f83a5L,0x00000000000000cfL },
  107043. { 0xf4e6da377de97fccL,0xd3a271b7025d39dfL,0xbf2ebfe8389e12eaL,
  107044. 0xf434f29932f184f2L,0xfbc3ccb9366ef539L,0x4e159cdacdef4a8fL,
  107045. 0xc311bd82b0f0bb8eL,0x380b2eb1779669adL,0x00000000000000b8L } },
  107046. /* 15 << 511 */
  107047. { { 0xfdaa86c09b3aac40L,0x7dad3911133885d4L,0x09897075e7c6b586L,
  107048. 0x79f816ab78daf275L,0x914786aab75eab7aL,0x7713bfd59584eaa4L,
  107049. 0xa7e01a7440496a4bL,0x165c6601831641c8L,0x000000000000010cL },
  107050. { 0x73be34b6f05c5a20L,0x7ef7738886b6d280L,0x872cfe9eaa2fc4c6L,
  107051. 0xa56cb3513c57c990L,0x7b533f43964fd18fL,0x036822e86d1c2d7eL,
  107052. 0xf59ffb19ddce594aL,0x823a71fd3d012d0dL,0x00000000000001f3L } },
  107053. /* 16 << 511 */
  107054. { { 0x9a0062d31c2df559L,0xc130a85d2d4e9996L,0xb226e6cf370a02f6L,
  107055. 0x3fa94ade7386b10fL,0xddec1e75d4576547L,0x0251109d1dba7f8fL,
  107056. 0x9a3f5313c3a003a9L,0x4742778bab26e65eL,0x0000000000000094L },
  107057. { 0x828ca5adfb997e14L,0x3826b0be65001ed7L,0x53fb9cd3cfec55a5L,
  107058. 0x53e96d2831a1b7e7L,0xb5cbfde924f2dfb5L,0x3a26a665e944f4a4L,
  107059. 0xd637639834e527b2L,0x709e156dedadf5b8L,0x000000000000018aL } },
  107060. /* 17 << 511 */
  107061. { { 0x35cf82a447dc8eecL,0x321037e6a09222b5L,0x27a2eded92b90121L,
  107062. 0x27f5b4de081ba487L,0xc7855daee753515dL,0x4454e808f3591d41L,
  107063. 0xb0b1bac6d009559eL,0x89b3ca825e2e4cd7L,0x00000000000001e9L },
  107064. { 0xb84d611afe9e0356L,0x1c90bc63e04ffc14L,0xf6a8250546133950L,
  107065. 0x95c570d8599722d8L,0x6bda993379908046L,0xde91eb54417a3742L,
  107066. 0xb87c0e1adedebb29L,0xe1a3b0370fc4207fL,0x0000000000000166L } },
  107067. /* 18 << 511 */
  107068. { { 0x412eb9d00d3825aeL,0xed91e11c20b658ebL,0x0da403aee6918918L,
  107069. 0x8ec67ea3b084b920L,0xa213aa3a1f3d3ff2L,0x21dfb5519efc3cadL,
  107070. 0x30ee2a8a19845c68L,0x07b47d281835550aL,0x00000000000000b6L },
  107071. { 0xb3ef46192657bec2L,0x607d10122cc2c528L,0xa86d31edc07db93eL,
  107072. 0xc07b3da980c25cf2L,0x5c56cd075c83c1f7L,0xf32a98b3a0d7ea59L,
  107073. 0x5f1e6fe10cef77c1L,0xfad8a85ec5b5a9b7L,0x00000000000001d5L } },
  107074. /* 19 << 511 */
  107075. { { 0x31a101bb4067b430L,0x5c825d7d1311d821L,0xcd7b3b4589274960L,
  107076. 0x3d1a68f1f9774bd2L,0xb0807f2674397634L,0xa36f44f5f95f9f93L,
  107077. 0x55f6d9fbd1943507L,0x2f86208dec85260fL,0x00000000000001c9L },
  107078. { 0x3dc94ef8f634d6fdL,0xb924b8297d89b934L,0x2479d0aa6b8f4da3L,
  107079. 0xd6c651f63d5f8200L,0x43215c18aa04ae4aL,0x76dcb5b5408f7727L,
  107080. 0xae66f252907a0f8eL,0xf528e4222387bab1L,0x0000000000000046L } },
  107081. /* 20 << 511 */
  107082. { { 0xab146802bc0d4745L,0xf767df8ffe603917L,0x2bbae80c1988e88dL,
  107083. 0x69e9c7e1cfde1857L,0x25a609f58a7c8c60L,0x46bcbd1b57cf84d4L,
  107084. 0x89ae0be245c52763L,0x13482d1d98558305L,0x000000000000003aL },
  107085. { 0x66ac9ee936a3d944L,0x6822ce1171ec895fL,0x8c5f2551938d1792L,
  107086. 0x7d5157bcdc481d3bL,0x0aab532d63fa5debL,0xad1fb55b99adbfe7L,
  107087. 0x5338d6ca9fcc46deL,0x84b2a63bae3aa998L,0x000000000000018eL } },
  107088. /* 21 << 511 */
  107089. { { 0xb2dcb83ac5a10aa8L,0x93a449f901878026L,0x91f2d986f475e7a7L,
  107090. 0xc6a6be5fdd461273L,0x8dcbd0524f0e65daL,0x48d908800b3a8247L,
  107091. 0xd0306f8630fc4481L,0xa4ed5cbd7f05a36aL,0x00000000000001edL },
  107092. { 0xe6a4688114185d74L,0xd20cfe6e0d17aaa9L,0x48b5ebf4b67cbf53L,
  107093. 0x00ed88d0eca0b0e5L,0xa184ea8a01795a9eL,0x2a26f41a8b1e4ab4L,
  107094. 0x1640fbfcf7e86bf4L,0x49379fd35b08a012L,0x0000000000000160L } },
  107095. /* 22 << 511 */
  107096. { { 0x220024890128270fL,0x60df1294574584f3L,0x80da07d1339afaa1L,
  107097. 0x49cb3fb54873bbe5L,0x5e274ce99e32907eL,0x2ab695c69c2bd23bL,
  107098. 0x63a53145084084b6L,0x881ea559b7c43b59L,0x00000000000000faL },
  107099. { 0x3d9de6ffec7f7938L,0x1b40e323c53223bdL,0x2b6f33785d3fce2bL,
  107100. 0x5a16083f94bf2ff0L,0x4da0ae8fc30458b5L,0x743dfc12f0d0b1c2L,
  107101. 0xffe8b8591863d312L,0x1fcba995114da460L,0x0000000000000065L } },
  107102. /* 23 << 511 */
  107103. { { 0x0ef498c2fda0bc58L,0x84f03c51e18d1f4eL,0xada00b832b89b834L,
  107104. 0x2ac43953cbf7d8fdL,0x8a7a37ddec0eba45L,0x24ed7dcfadafee4dL,
  107105. 0x2e900677c0a554d5L,0xc961ce69f179b0c6L,0x00000000000000c5L },
  107106. { 0x21769ee979d32556L,0x14c417fb317b715dL,0xa2848ec69b034410L,
  107107. 0x651c9465f29126dcL,0x08446de16d88dbd4L,0x3b03622149b26d96L,
  107108. 0x2d9102293b1512a3L,0xc909f04560ab613aL,0x0000000000000032L } },
  107109. /* 24 << 511 */
  107110. { { 0x119638ae44d87d78L,0x8980cddeff77f891L,0xb001aa0f2e3c9f32L,
  107111. 0x8cc959d96c93b9a3L,0x3889ddd42516f042L,0x390fb5c1b2d34007L,
  107112. 0xa39b106f093e4a57L,0xcb1856652168bca7L,0x0000000000000015L },
  107113. { 0x85adb26d33e39fbfL,0x68b6c5946ed3932cL,0x320813886ff4fb12L,
  107114. 0x24b50dda14c7e9f7L,0x3e84edee6eb8db2cL,0x0d0879a304222282L,
  107115. 0xd091b141db79827fL,0x41c1ea1c63d30563L,0x00000000000000c5L } },
  107116. /* 25 << 511 */
  107117. { { 0x33b7058ab3cb6db3L,0xe247bc85c826ca4dL,0x430cecac23018f67L,
  107118. 0x2d633897b9e1fe93L,0x93de63d283b8bac6L,0x84deea4de2294567L,
  107119. 0x9116e7bfd9d60cf1L,0x32715396bb9627e7L,0x0000000000000020L },
  107120. { 0x49452782bbea6240L,0xa0247a9b29a23527L,0x7576093c9e6ad610L,
  107121. 0x3d7cce9ba983807cL,0x3cae59f6e5b737c7L,0xec383fbf5090c8caL,
  107122. 0x3c09262f7fb72ae4L,0x3cd1a9d116ad7cceL,0x00000000000000a7L } },
  107123. /* 26 << 511 */
  107124. { { 0x394547b643684ad6L,0x27c93a87a4efc0b7L,0x97914b633832c7ecL,
  107125. 0x89291edd995801b4L,0x1b7e633b9ed8dfb4L,0xa2a21e650cf5637cL,
  107126. 0x4afebef08428be9aL,0x527fc65f42269b08L,0x000000000000011bL },
  107127. { 0x30099375278302baL,0x0b15cc9a6b1ade38L,0x6b6ad14ea4bb5288L,
  107128. 0xc0dbbe3f6425657eL,0xa611247f7bc91657L,0x0ff0aa026ba54b82L,
  107129. 0xa695a6941a44fa38L,0x7ff5f88e2e491f15L,0x000000000000005fL } },
  107130. /* 27 << 511 */
  107131. { { 0x98fbc213d8430bb6L,0x785226503a768732L,0xc44c1313c77b0847L,
  107132. 0x61de63d2a21a8f5cL,0xc57d7ad64ee27d3cL,0x0d70a8414f19405fL,
  107133. 0x696647aa7f6721ecL,0x067d6891c409e1e9L,0x0000000000000025L },
  107134. { 0x4188632f2b8f5085L,0x8e9b1a3789693e29L,0xd12668d218a2eb06L,
  107135. 0xf3aed630596b2ef8L,0x1f8368bbc0589c86L,0x4722d8261eb0b305L,
  107136. 0x797cf073488c1be0L,0x835aba08032ba315L,0x0000000000000154L } },
  107137. /* 28 << 511 */
  107138. { { 0x6994d68d7acdb128L,0xea6c1bcaf3e42194L,0x45b4e1e5c14a3782L,
  107139. 0xc1d3ff5ca5089907L,0xc7d8b8bab2ecc0c8L,0x5756897b8af09517L,
  107140. 0x54248bc42d37631bL,0x4ec2b153748dc34dL,0x0000000000000018L },
  107141. { 0x0be76102bcd4b8f5L,0xf59b6d2fae1fbc73L,0x3a82d42614de6312L,
  107142. 0x603fd1ba99d221deL,0x31371c44349ada8dL,0xecb2cfab22e3eea0L,
  107143. 0x5134413e744a9e46L,0x1d91fe459e0de97eL,0x0000000000000042L } },
  107144. /* 29 << 511 */
  107145. { { 0xbe0d267fabe7ca12L,0x00aa0e5de45c1440L,0x3f943a133936bcebL,
  107146. 0xbe7e6ee2c10a5afaL,0x9a05de6433854a57L,0xd2635265bd538c38L,
  107147. 0x2d8b1ee1bc23b270L,0x1b817b956662d16dL,0x000000000000005bL },
  107148. { 0x0b34b0d6993f32abL,0xd29e841ca594d824L,0x659f13d59ae853cdL,
  107149. 0x50bd99b1f134a1ebL,0x96185d6777657f3bL,0x9866e7a14b16d264L,
  107150. 0xd6f7f2ac20d2efc8L,0x27030aa51ea5a842L,0x00000000000000c1L } },
  107151. /* 30 << 511 */
  107152. { { 0xca2a69328e4c1bb9L,0x5406d95b89a810adL,0x181690a007059605L,
  107153. 0xf6b80571db36c201L,0xcdb7ceefc0da0fb1L,0x0e0f2c08382dd238L,
  107154. 0x530c9a2e943fd3d9L,0xc14d7c55a5f3e1f4L,0x000000000000005fL },
  107155. { 0x38c5afdfccf6ebc7L,0x9f2e2d25f0d0c1b8L,0xcb96d5873af9bf69L,
  107156. 0x150f940c89391daaL,0x5d80c9765901c338L,0xca2c7c5f7134a0b6L,
  107157. 0x615abd199a37b224L,0x03504959e2b8790aL,0x0000000000000067L } },
  107158. /* 31 << 511 */
  107159. { { 0x99d98ce9c151c763L,0x45d75a156c9f8403L,0x398ca5858ad4d96cL,
  107160. 0x5aea77ac7ab5a6e2L,0x31daacac60ca3cd8L,0x0be70a0c33089a45L,
  107161. 0x37d11b417ae57ec8L,0x0daa79b92b36c7a1L,0x00000000000000fcL },
  107162. { 0x86fe4b66e6bfbeedL,0x471e1284dbc755aeL,0x93f985d974ad1658L,
  107163. 0xfc9301d7c5cfe717L,0xcdfec01a08b28faeL,0x38a8a97d15684b4cL,
  107164. 0xef3c8e4da413cd92L,0xa3a9ea581f848825L,0x0000000000000038L } },
  107165. /* 32 << 511 */
  107166. { { 0x1d45c5c8dd04afceL,0xce141a50bbd9c392L,0x44ca5fa5c9e0fc05L,
  107167. 0x4b9496ff60ccfb3cL,0xbe260bc6db5552a6L,0xa0eabfdd7d3a7a09L,
  107168. 0xe9cc06ae1c77c1f9L,0xfa792d042aabee9eL,0x00000000000001dbL },
  107169. { 0xf2224e6f72765171L,0x3f9ea54811b89e04L,0x1e07c6eb138f1a43L,
  107170. 0xd9b61817621f1f7eL,0x08e851aa2f69af1aL,0x3e75da6fc0d63f32L,
  107171. 0x49a72d31f0f0d74dL,0xfccfc561c516a10cL,0x000000000000009fL } },
  107172. /* 33 << 511 */
  107173. { { 0x50f7e4f10a927e25L,0x21a09f957b043982L,0xe57eb5d0a7f4ae19L,
  107174. 0xaa5f21c688c23fa0L,0x345eb906b671a416L,0x3f75a771e1cd246eL,
  107175. 0xdcb1400211d9833bL,0xcf9f9effd4757fadL,0x0000000000000027L },
  107176. { 0x8cc47957a51fbfd0L,0xf2f7514db21b49dcL,0x342c1525b167a27fL,
  107177. 0xd9189df73bfe544bL,0xf1e992d72ef945cfL,0xbdb74deff88ba1f9L,
  107178. 0xfd978291b82afc9fL,0x64c2d06b8072b2ccL,0x000000000000004eL } },
  107179. /* 34 << 511 */
  107180. { { 0x02b8ce6504071b42L,0x846c0eca3f395d37L,0x5f02aa27aa3c2f7dL,
  107181. 0x6812ff735c5b86fdL,0x617425a2fed24a25L,0x8c4aa371a388dc78L,
  107182. 0x866aabc850041de7L,0x8634b3cbd1ff9bdeL,0x0000000000000193L },
  107183. { 0x0b64b43ea717f98aL,0xfc2f70a8c9b0fe04L,0x00811a41e3545cc7L,
  107184. 0xe073c45bc396da28L,0x56fe07f4905ade48L,0xb123dab359ca3c9bL,
  107185. 0x155282356f0803e0L,0xd66e80e281b40eb2L,0x0000000000000141L } },
  107186. /* 35 << 511 */
  107187. { { 0xe6df057a87307af0L,0x57673587e4a49774L,0xb4626535243828f5L,
  107188. 0x74f829480d6b51b3L,0xcb1c59f43de3f59dL,0x34e8ac234df85c57L,
  107189. 0x363c7f11a6d0c631L,0x050904e0163f8845L,0x00000000000000ecL },
  107190. { 0xa2d31e7ae522c580L,0x2192828a1418a8e4L,0x8bf7419f81f5c03bL,
  107191. 0x610522a6cf674c6eL,0xd038897d6b1d1b0cL,0x3ecb81e6b9a1192aL,
  107192. 0x0e88a8d53e80564bL,0x395f9bf85d76c33cL,0x0000000000000032L } },
  107193. /* 36 << 511 */
  107194. { { 0x5390df114314f744L,0x545733637f8ff5eeL,0x22442fa33849bbf4L,
  107195. 0x1c462aadb46045f4L,0x2b0758050817d8a3L,0xffd73fc3f5669e27L,
  107196. 0x546917fa1aa20f00L,0xb7143ce6713fb9a7L,0x00000000000000b5L },
  107197. { 0xa4c372206dd0bf11L,0x52731f73af632b4bL,0x7c309663118ea369L,
  107198. 0x076a35880a8a687bL,0x07e93992e0a835c4L,0x7e5f1bbd4bea801cL,
  107199. 0x3b3f6fdc83bc661aL,0xdb55c7e2364cf3a1L,0x0000000000000039L } },
  107200. /* 37 << 511 */
  107201. { { 0x4f6b908de90be946L,0xe1f9650ffb405564L,0x1db8139fdd3a7d6bL,
  107202. 0x71d6a50705d77cd1L,0x3b858f748f73a748L,0x217b6c7d9298eb99L,
  107203. 0xbb713b613fca2518L,0x676e6f89d0dea256L,0x000000000000016cL },
  107204. { 0x05c293ef29c8372aL,0xd3f26db950326885L,0x66177b402cea076cL,
  107205. 0x5e590103c94a3e60L,0x12f5268c5f24c0e7L,0x79cb7296cd30051dL,
  107206. 0xc7c9b49b4b77f8fdL,0x8a19a8c92fa04a11L,0x0000000000000002L } },
  107207. /* 38 << 511 */
  107208. { { 0x22401bc6535dfb08L,0x893c44e95b4abfddL,0x3ea62c91a4e38edbL,
  107209. 0x5b2bc290ca12f3ffL,0xec707dd69051cbf2L,0xb07a24f8e229c022L,
  107210. 0x30ef2af96883d74eL,0x2ff30fbdcb8b1f4aL,0x0000000000000108L },
  107211. { 0xdeda6c35fb49ddd0L,0xcbd14fcfe75c49cfL,0x1e4bc372ab2fbcccL,
  107212. 0x9b3a3efac145242fL,0x6ce05f8162c39e2bL,0xa5bc8d92adbfae6aL,
  107213. 0x171424988855b100L,0x29892ee2b0f012b1L,0x0000000000000056L } },
  107214. /* 39 << 511 */
  107215. { { 0xeeb9875d19d809c6L,0x8dd24196e2064977L,0xabf1f5c25807f8cdL,
  107216. 0x317fcb9d75d9af79L,0x0bd27847641a0dd7L,0x52fdf8fddfc25539L,
  107217. 0x0bb20880b72d79b4L,0x7403cab9b050f06dL,0x000000000000008cL },
  107218. { 0x39ac8805f83224eeL,0xe74625294c06d65cL,0x9dd00df370d5aae3L,
  107219. 0x8ddaf294a460289eL,0xaad00c0b8c2b12c8L,0x897fb3d5c570bcabL,
  107220. 0x7f069c7b7d06c691L,0x40f5a2d2f44b375fL,0x0000000000000147L } },
  107221. /* 40 << 511 */
  107222. { { 0x66fba7b2e7441cb4L,0x9703fa4d0edf3396L,0xff524baf4f3a5b75L,
  107223. 0x9a8f25db1d173b34L,0x29d81a1a1cdb278aL,0x4cffa124a410cdeeL,
  107224. 0x5388c4036feec1d2L,0xcd9411a470cc643fL,0x00000000000000cfL },
  107225. { 0x7b229e6550e05667L,0x3175d10dbbdddf46L,0x9dfefe2390b31338L,
  107226. 0xf97db78253a89eeaL,0xcb8acd29da67068cL,0x61c34b5725f19838L,
  107227. 0x856cf76a6c605d31L,0xf4ae77b201effc73L,0x00000000000000d0L } },
  107228. /* 41 << 511 */
  107229. { { 0xaf3cf777a26b8056L,0x5c43dd61241360a6L,0x58b083c67fdb2f60L,
  107230. 0xd2e7c4c8d351c4e3L,0x3dd61d56f94892e7L,0x195876a7e8995a49L,
  107231. 0x01a0a17dabe083d9L,0x52beb3136552590eL,0x0000000000000066L },
  107232. { 0x1a3347effc405688L,0x26bd6de805ecb62cL,0x857d636da52f40baL,
  107233. 0x58a784783188a7a7L,0xe0ea2b9cfce84abfL,0x2fdf6d3e5a673decL,
  107234. 0xa18d4112bde7405cL,0x4271c5f9c015e112L,0x000000000000010bL } },
  107235. /* 42 << 511 */
  107236. { { 0xf370ed52a459ca74L,0x7cf21ea4025cd3f2L,0xf925a200a1bbac0aL,
  107237. 0x3abcad9afbc36076L,0x10ff56a08e382f60L,0x2f72b3e29adb35bfL,
  107238. 0x57e668316c2a7131L,0x6201c63b1cfb3b53L,0x00000000000001e6L },
  107239. { 0x6fc57e654e3919cdL,0x5d34bc0e789ab429L,0x0f1401b897c4f56bL,
  107240. 0x1ab6888a8678c37cL,0x90c07e9d168f4c19L,0x9c4fbaadf2f7efa0L,
  107241. 0xd917c926142b5340L,0xd92f2667a5ca3f5dL,0x0000000000000173L } },
  107242. /* 43 << 511 */
  107243. { { 0xc8625d648fa89b66L,0xd7a2e7ef484c0085L,0x296d5cec57a26972L,
  107244. 0x624e03edc087e675L,0x3eaedbd4bcc8ccf4L,0x24267aa04f5cab98L,
  107245. 0x494f2a3554d6a0c3L,0x4782932db4554a33L,0x00000000000001deL },
  107246. { 0xf2ea212c17c4784aL,0xdbfc5551c152619cL,0x2643df61118f875dL,
  107247. 0x6577ff540fb8865dL,0x2653fc8fabd035f6L,0xc1ae1c669ed7ef7bL,
  107248. 0x4d602fb24a25ccd2L,0x6391a7332afe8120L,0x00000000000001e8L } },
  107249. /* 44 << 511 */
  107250. { { 0x04b2f9f2ccbe7de0L,0x8870c0dae6c58facL,0x69fceb5b23174377L,
  107251. 0x8f1ad157f12131c8L,0x3e925501ee3048cdL,0x96a0b31e386d5003L,
  107252. 0x586a530340e9c76eL,0x517d83e314857a31L,0x0000000000000115L },
  107253. { 0x4d02d42902d8ecbbL,0x68b811f62e9c8238L,0xe213c3949310f7b5L,
  107254. 0x200ec52ba8d8187eL,0xd80c192da0fb4110L,0x35c985ff7c450678L,
  107255. 0x43577470db1e8f13L,0x6810ef036900807cL,0x000000000000012eL } },
  107256. /* 45 << 511 */
  107257. { { 0x379ee09f103bd6f9L,0xc6455764cd4b3d01L,0x785ac6571d53dda2L,
  107258. 0xb6c194c93eba3017L,0x6aec6839ee84180fL,0xc94dff5ad09c51bdL,
  107259. 0x933c64be4038c3caL,0xfb3e230565c87b9fL,0x0000000000000077L },
  107260. { 0x04b71ef8ac8ab240L,0x6a16d0e5193fd7e0L,0x86fcef220c40a10dL,
  107261. 0x28228cc910f211c4L,0x5ede88e706ae9d8fL,0x67067909a5f0e8feL,
  107262. 0xad79f0c8df338ba8L,0xe39836048ee0c62eL,0x00000000000001f7L } },
  107263. /* 46 << 511 */
  107264. { { 0x7d703295f5e4f7f8L,0xc3fdc161143af599L,0x25ae8c6d10a6b4ecL,
  107265. 0x8f3ffce44eda9576L,0xa2383338f649674fL,0x38642f550eb3892eL,
  107266. 0xeabb7046f0cb8779L,0x57dabaa2dee84d91L,0x0000000000000154L },
  107267. { 0xbb850ab36173a285L,0xbca5655928b6fb38L,0x8e3428380df79eeeL,
  107268. 0xe52853dffecc7940L,0x792e753ad9dd12adL,0x7e2cb3406420ebd6L,
  107269. 0xb585ab566d827017L,0x2dc2202c5a41aa40L,0x000000000000008eL } },
  107270. /* 47 << 511 */
  107271. { { 0x23845c7c715a4da2L,0xb337c0ba6e0aff7aL,0x41b68812f9a9f520L,
  107272. 0x4a10ab9bad1a5c83L,0xd8fcea40ccc1a37cL,0x51d69fdfb25a1b3eL,
  107273. 0x83ce07a3022b27b1L,0x762e56c9f29621f0L,0x0000000000000017L },
  107274. { 0xc193077f19482f39L,0xcd5eeec001d3bf64L,0xb2d5f8a51d7e8890L,
  107275. 0xf63d9476672f223eL,0x6cee15df7c3f98abL,0x17e3a150da97838eL,
  107276. 0xcedd10e73c50762eL,0x22d5f479795cd480L,0x000000000000018cL } },
  107277. /* 48 << 511 */
  107278. { { 0xf854e6e695c41349L,0xe7d4dcb0476ad721L,0xcaf79afb764dcaecL,
  107279. 0x99a065a2e85595acL,0xcb613dd111beed86L,0x1ec36351b5a4d300L,
  107280. 0xa1acae740f8b5580L,0x6d6bd5a7708071a2L,0x00000000000001a9L },
  107281. { 0xfcac06c11f4f15a1L,0x75a9003c1050adf6L,0x61b71ef7ea874ec8L,
  107282. 0x0de589f5ba499bebL,0xc1470e300d93fee4L,0xc981a814d175ce74L,
  107283. 0x2549b4a3bc96e422L,0x14d44f006728ed6aL,0x0000000000000085L } },
  107284. /* 49 << 511 */
  107285. { { 0x798a73bec4e4028bL,0x6388051a3353c08cL,0x028b0677e9ede279L,
  107286. 0xcc3d488cf6339bcdL,0x87c818187e5ccd8cL,0x4e7186598c7b25c7L,
  107287. 0x4196e50586f7ef16L,0x9b107e634d57b458L,0x0000000000000061L },
  107288. { 0x4d6c0c1fef82fb6eL,0x8c244a96888b56dcL,0x8b464d425577066bL,
  107289. 0xf7ecc8ca8261ddb0L,0x3570d8a77002aa15L,0x8e694bd46197aea4L,
  107290. 0xff32a72d301d8b31L,0x8e7f4f8ce64abfd9L,0x000000000000008cL } },
  107291. /* 50 << 511 */
  107292. { { 0x4192297482a6c06dL,0x5d74d871af00d803L,0x8d08becbbb060085L,
  107293. 0x73c0f98f88c68d5fL,0x57ab930e1eee2808L,0x58bce0b0994c1dedL,
  107294. 0x84b44834720f64a7L,0x026e1e6cb2fbd380L,0x0000000000000001L },
  107295. { 0x80b288943d2bd6f1L,0xdecf8fc035fca89dL,0xae9673adc3dbebccL,
  107296. 0x52b2a6114c7205c0L,0xbf9efb9567a057eeL,0x55e70e9e8da648dcL,
  107297. 0x4497e043e39ba91dL,0x12b586111fccb6d0L,0x0000000000000143L } },
  107298. /* 51 << 511 */
  107299. { { 0x1375591eb29c6942L,0x558b9028695298ffL,0xd72d549d7f26580fL,
  107300. 0x499eb5853b5c56a0L,0x2f077d8fb9ce1359L,0x1262a69d0d7ba25cL,
  107301. 0xbf740566f77d49ddL,0xb61e1de4089024f2L,0x0000000000000031L },
  107302. { 0x9600de6a5cea3678L,0x369af7f9e5016941L,0x4ed8550d502f6ecbL,
  107303. 0x6dc1c264ad1f1bbbL,0x9f0c69ee1f11dae6L,0xb5f7f9e25a6587b8L,
  107304. 0x4213ef97bc54eabeL,0xbe9a1fda336d54a4L,0x0000000000000079L } },
  107305. /* 52 << 511 */
  107306. { { 0xbc149ee5e49ef413L,0x39b60fa4d360cf79L,0x2e8d787ba5ac8562L,
  107307. 0x49c84eb7f42102ebL,0x648e9db745aaaa29L,0xc425b3d214ab53acL,
  107308. 0x76ae3baa7dc413f2L,0xd2d1545197d30a00L,0x00000000000001fbL },
  107309. { 0xdc8dee9ab8b66612L,0xa4158d3140baa079L,0xad72d22df0cba4fcL,
  107310. 0x8086cf0dbf8743a7L,0xd3f991da2520bd39L,0x97506e140f96e56cL,
  107311. 0x552b394be00ac04fL,0x51565a258066c1ffL,0x0000000000000046L } },
  107312. /* 53 << 511 */
  107313. { { 0x6c3d617801a96295L,0x43814219fd3c708aL,0x5c897caed13c8708L,
  107314. 0x9f5aeb293f89dd2eL,0x9b939a34a97dfc4eL,0x6ab7bf493c11ac17L,
  107315. 0xe4361a842a64d18aL,0x4e403a2ce2e79fe2L,0x000000000000018eL },
  107316. { 0x799b8d70aa46cf1cL,0x6c2ea52272cbe39fL,0xbe454c9d7f37d359L,
  107317. 0x4d467bcf8dc10196L,0xb2ff7e3b3592d9c8L,0xeea5653d9533501fL,
  107318. 0xd5ffd9b567a4b6f9L,0xfde6e9228a137ffeL,0x000000000000001aL } },
  107319. /* 54 << 511 */
  107320. { { 0x1e3ce488a047b061L,0xbc63c1934dd0b80bL,0x215eb936521502deL,
  107321. 0x9783e9936f19aa62L,0x619021eb9f16efd8L,0xec8ec3c5369a3bf0L,
  107322. 0x1676e68515ae4400L,0xe53e62515b175359L,0x00000000000001a7L },
  107323. { 0xdfa54a3b97edcc3aL,0x09008a0bf05833c1L,0x977fd92b8a8da5aaL,
  107324. 0xf7fad1857cfe5d6dL,0xe2fa47a6dc11ca11L,0x24bd7530d9ebf4bfL,
  107325. 0x7cebf5a35680963fL,0x4fb7ab14c8665ef7L,0x0000000000000005L } },
  107326. /* 55 << 511 */
  107327. { { 0x7e11d9fb45a8dc00L,0x3d5367616a5d6065L,0xe6e07b82e29c3187L,
  107328. 0x4bec2dd98770e1b7L,0x68475bdfcd079a33L,0x16b08e0e6e3f02d2L,
  107329. 0xed11161910a457f2L,0xb0e36f686f05051aL,0x000000000000005fL },
  107330. { 0xc0029dee068f8671L,0xc4040ef2ff0a6398L,0x87250bb6bc66c114L,
  107331. 0x76a6bb7afcc07b67L,0x8bc7c85758b6b874L,0x83aac6467921d89cL,
  107332. 0x134f5777e7990ddbL,0xb1b5da6baf81c59fL,0x0000000000000024L } },
  107333. /* 56 << 511 */
  107334. { { 0x49e0ca1c42892d9aL,0x5b0338a5f1dd866dL,0x9f891dc9ebce0673L,
  107335. 0x9956c1820b302606L,0x2957d2bb088fc616L,0x1ac5570417b75077L,
  107336. 0x5f5910069b67b533L,0x1bf9b4bd69acf0dbL,0x00000000000001dcL },
  107337. { 0x46de5fe669353a7cL,0xc4ad8307318c6934L,0x155bb477e235ca27L,
  107338. 0xea4bdc8302c92a8dL,0x71120f8c44755470L,0x84db9f10d607e3f1L,
  107339. 0xaa26e77d2f3256c9L,0x33a5a253d015112dL,0x000000000000007aL } },
  107340. /* 57 << 511 */
  107341. { { 0x20aec1362116051eL,0xffe2bc551b94c19dL,0xd91e5b74fb20a2f4L,
  107342. 0x08e0eb8f1f337f79L,0x74358d40020a9b71L,0x6c116399a54a0ff8L,
  107343. 0xe6090ccb58499d38L,0x52b4fbfff1be7a36L,0x00000000000001f2L },
  107344. { 0xe6139d12f1cb27f3L,0x5320639cc84a439eL,0xb9d97a6f588c93dcL,
  107345. 0x47fe72529320567cL,0x978d888735525e0eL,0x9c71616fab85c178L,
  107346. 0x97b0f1a987dd691fL,0x8000752a1ea5c4d1L,0x000000000000017aL } },
  107347. /* 58 << 511 */
  107348. { { 0x018d394f82f47082L,0x5c3822d7194a5bcbL,0xcbaa36177f696c2eL,
  107349. 0xa479f542c7ee38baL,0x02ffb8f005e0bee0L,0x96e989ab54c7af79L,
  107350. 0xdc095377118fec7eL,0x1889c6bf473a5d75L,0x00000000000001bbL },
  107351. { 0xc23dff30186f12dfL,0x2c1e5b533938ea78L,0xf84dec6083271f8bL,
  107352. 0x400b2677699a9bf1L,0x71e646bf1763cb95L,0x049bd5253dc8bd13L,
  107353. 0xca6987502cebc746L,0xe5faa8e720df2537L,0x000000000000011bL } },
  107354. /* 59 << 511 */
  107355. { { 0x5795aaa1d72a699eL,0x6ff9310c36c48097L,0xef3f26293739ff45L,
  107356. 0x6963009f1b69c613L,0xe589566bf41adbc2L,0x8519ded7ad44ff6aL,
  107357. 0x962ea751d15b222bL,0xe6fa540cfcca0dddL,0x0000000000000070L },
  107358. { 0xedab4d678df09693L,0x764b38f4a3f32f76L,0x2acd5a3b31b914ceL,
  107359. 0x1233395075acb244L,0xced00b66c3e58eb8L,0xe3689850bc11b028L,
  107360. 0x94f3e782819636a8L,0x8c95e7bb036dd494L,0x00000000000000c7L } },
  107361. /* 60 << 511 */
  107362. { { 0x37439521cea7af22L,0x74ab19d02610baf9L,0xef7e24aa2c3ac33dL,
  107363. 0x3b42932bc1eae083L,0x91478ba263b52bceL,0x125d1d70532e30b3L,
  107364. 0x67ceccc80ae01dddL,0x74c6bb6376afb79fL,0x00000000000001edL },
  107365. { 0xfc4cc8c83a4adb6bL,0x2e4071bef2fc358aL,0xd81bdde4d9c36d33L,
  107366. 0xd2a33e71c35dc1ccL,0x24eba4f21c1a3d49L,0x04f116a9177f3f5eL,
  107367. 0xd63a542d1eab2502L,0x2fc261c6ba83beb5L,0x00000000000000c5L } },
  107368. /* 61 << 511 */
  107369. { { 0xdb557ff48802382fL,0xeae38177f1567c96L,0xa9dbea24f20baedcL,
  107370. 0xce9397baee7504ccL,0xa4442b0a42df93b4L,0x3d7fc49deee5363eL,
  107371. 0x9ee9c35c98da97b1L,0x5d01da6517432d14L,0x0000000000000036L },
  107372. { 0xf420abf84f2df80eL,0x99f61a31dd55807fL,0x3fc70210891bdc0cL,
  107373. 0x6c61798be047b64dL,0xc154a33bf7ac51e8L,0x5f3b12819fdfc99aL,
  107374. 0x43046ba63397a668L,0xe140dbe79e0355fcL,0x0000000000000156L } },
  107375. /* 62 << 511 */
  107376. { { 0xa0c1806642c1f473L,0xbcf0d250eda4e7d2L,0x1cd8ef91b57c4d80L,
  107377. 0x16d95785698e4de7L,0x9239a410825f5b62L,0xba5862c29c45add9L,
  107378. 0xf7f39ffcc844573dL,0xbc4bb8be6d3c4492L,0x00000000000001d2L },
  107379. { 0x918841a7413d3afaL,0xd46614bf35d3c789L,0xd31164d43ae4637fL,
  107380. 0x62ec57268c2d1641L,0x54745b91bd87cd4fL,0xe3a32720b8ed340eL,
  107381. 0xfffbaeaff90a1288L,0xc61ae40a5c850d7fL,0x00000000000000a9L } },
  107382. /* 63 << 511 */
  107383. { { 0x77ecdd788ded8d98L,0x5c4f7da4f3a901caL,0x3f93175b91c2a241L,
  107384. 0x4c0b8664749141d4L,0x6961df53fc600db2L,0x6aee2d3b899f23e4L,
  107385. 0x4396c817fc67b9a2L,0x71043f9a1c33877aL,0x000000000000017dL },
  107386. { 0x67d33824044cb54dL,0x8623a36b7b85049cL,0x88bfdcb338c9d75bL,
  107387. 0xb861f7b06c3dbb25L,0xd539f69f52a24d72L,0x60428e5b5dc11fa1L,
  107388. 0x3ee93ffb4f13f4ffL,0x04018a96e18516d9L,0x0000000000000101L } },
  107389. /* 64 << 511 */
  107390. { { 0x41b3eb86bc1bd2eeL,0x71e8430c50368484L,0xb214e9cbf2b93ad3L,
  107391. 0x13f89335138e0ebfL,0xec96c9c25e690118L,0xde786d182c22cd4cL,
  107392. 0x5b1554abe819e310L,0x399bfab4d01892d1L,0x00000000000000c5L },
  107393. { 0x2efaee912005a9f2L,0x9cb43e2eb39471d0L,0x0b0d1b565ceb35c2L,
  107394. 0x3bff194056825120L,0xad49b05739a0dd54L,0x35dec8af0e83d425L,
  107395. 0x50b91634687d1ac8L,0x2fb0d9e42f25a98dL,0x000000000000007dL } },
  107396. /* 0 << 518 */
  107397. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
  107398. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
  107399. /* 1 << 518 */
  107400. { { 0x58333c8c9c13146eL,0x213c8896d5d37a5dL,0x18e2132d8fd07282L,
  107401. 0x606e8133cd7d66c7L,0x21c19a128743874bL,0xe375d1f56dd96309L,
  107402. 0xe0c48d6d3e1d629cL,0xed6ada6cdee22453L,0x000000000000015cL },
  107403. { 0xea1c974547b194a6L,0xdd549898850241e9L,0x0e225368407cb796L,
  107404. 0x17b59edb427ad8d3L,0x08d4629ec43f0a43L,0x27f4063d5201d0a4L,
  107405. 0xf6e1518fa5003274L,0xb6196e3ea3286e2cL,0x00000000000001b8L } },
  107406. /* 2 << 518 */
  107407. { { 0x593cf4108e41277fL,0x3ae7db6e925c9d91L,0x68519ca7a37a388eL,
  107408. 0xa93a2e815bd94e48L,0x2b8cdbac00ef816fL,0x6fc3cae6eb2796f5L,
  107409. 0x253fe0d4f8dedde4L,0x38405b3095ecc14fL,0x0000000000000092L },
  107410. { 0x27a7d0f67882df12L,0x14b3264246332549L,0xb8d8c3e6eda10498L,
  107411. 0x6861e53c2aa1cc1aL,0xf2bd03e3a37d7254L,0x175c04f6d78b5623L,
  107412. 0xb3d5202f0b18c14fL,0x30b9b0f6967f2b7bL,0x000000000000012fL } },
  107413. /* 3 << 518 */
  107414. { { 0x3b770280731e2b92L,0xd8c7870c7ee974f8L,0xd6fe928343da91b3L,
  107415. 0x563cad012b7968b3L,0x48333ac2d845b648L,0xf1753bdbc02af5d4L,
  107416. 0x48cf506f04a647afL,0xac9f1d5bddcd3a9aL,0x00000000000000fcL },
  107417. { 0xf9b4124bcb40d52dL,0xc39a85654cb0ab5bL,0xeee9291114c56558L,
  107418. 0xd5182186ff5602fbL,0x32d3441623f351ffL,0xde81de053e387e04L,
  107419. 0x19b6666948aa0ac1L,0x4cd3b987782c2ca2L,0x000000000000018cL } },
  107420. /* 4 << 518 */
  107421. { { 0x61829972ce8f9a17L,0x2d21913ce0fda47eL,0x84cb9da252466c05L,
  107422. 0xfcc4eaab9fd85710L,0xab1ec5412f56fb90L,0xbb435bec6a231d4aL,
  107423. 0xe1fffeaee16d3c47L,0xa7db02840f023a36L,0x000000000000002dL },
  107424. { 0x7259e71938d77a9eL,0xcd2278b1a3661199L,0xcf7fdf77bf6dfc59L,
  107425. 0x6265f9cb96a2b632L,0x1365e44a4eb09c8aL,0xc1ac30542b23bf87L,
  107426. 0x3161a2c05aaec208L,0x1af3a61455db8ae9L,0x0000000000000098L } },
  107427. /* 5 << 518 */
  107428. { { 0x60e8e4d3ea396a57L,0xa56c78e0378519fdL,0x783fd1661fd3ee35L,
  107429. 0xf465f7d7174f5564L,0x6e3d2bd397a58ecaL,0x9ddc5d888ed910a7L,
  107430. 0x46b9f89cc0b9158cL,0x1d6995655fae4fa7L,0x0000000000000033L },
  107431. { 0x8475d7fc10440e6dL,0x048d912b8c257698L,0x536c9062e7c97954L,
  107432. 0x067523a8d0f61df0L,0xfd233e353e97f9fbL,0x38b8db0ed3613d1aL,
  107433. 0xd071e57d61810f87L,0x1f4d1b2e97415a56L,0x000000000000018bL } },
  107434. /* 6 << 518 */
  107435. { { 0x129f3f88a1e73627L,0x4d4f1e3abc64f2ebL,0x365c51c94a97ebd4L,
  107436. 0xa681acfc1c60b2b8L,0x98bda6049c22ac9fL,0xc337336f7a3c06d8L,
  107437. 0xb706c685153282dfL,0x4217adc8eb1ce0feL,0x00000000000001f7L },
  107438. { 0x1d147cd08ca52a15L,0x2fb7fa8e6c45139bL,0x36db6e625c7ec355L,
  107439. 0x603450e0f1b9c840L,0x46181b26f6f43cf9L,0xbe2fa18c68c6844bL,
  107440. 0xc6eb676678305319L,0x47ccf36ff7f05252L,0x00000000000000f4L } },
  107441. /* 7 << 518 */
  107442. { { 0x765a6a6afc884a2eL,0xb079d52bbabdf029L,0x9441e6f06f3b9515L,
  107443. 0x524cc31db56d96ddL,0xd9129ecef245efaaL,0x48c3b03bc906f1d2L,
  107444. 0xb2f379fff6334489L,0xea50ce556c3d05beL,0x00000000000001daL },
  107445. { 0xa23e9095a8b173f3L,0x1163236c0cae0acaL,0xbad7a4ced2fe7ed3L,
  107446. 0xc96b59a64397acc1L,0xa330281002b1f51fL,0xabe9c10cf3c0800fL,
  107447. 0xc0480be858f37470L,0xbc4b63ae0678686fL,0x000000000000000dL } },
  107448. /* 8 << 518 */
  107449. { { 0x82e051426b4c3f67L,0x830492593fc34315L,0x2b17027d972d1c60L,
  107450. 0x650bd0df06941699L,0xc960bca9bf06dea4L,0xc9b131eef6bf6453L,
  107451. 0xc7865c906e2a0bd0L,0xffb964e05d5f6799L,0x0000000000000033L },
  107452. { 0x32db85f6e9fa9189L,0x3f0deb0eb5544031L,0x848456bd704e30bdL,
  107453. 0xade1bb0e862032ccL,0x8deae33afcf305adL,0x918cea68c089cd96L,
  107454. 0xea115fb805a4a146L,0x978f3a2f3633d8a2L,0x0000000000000083L } },
  107455. /* 9 << 518 */
  107456. { { 0x62982ababf590757L,0x112fefd670d2e25eL,0xd6f63c34ed861469L,
  107457. 0x626af4f7f78223d9L,0xd26df9887581ae71L,0x884869f820b93f27L,
  107458. 0x5308341576b8e53bL,0x42c0e46f9225dabdL,0x000000000000005dL },
  107459. { 0xe6610850fd4f594dL,0xe4be8fa1fd6f9d30L,0x5f5f5c2d554a978dL,
  107460. 0x91ba562503eff7b1L,0x278af3e2c0b61678L,0xdcec232f4bc1b63aL,
  107461. 0x05d3b83ce67e86e2L,0x2e7cfb29b15ea746L,0x0000000000000120L } },
  107462. /* 10 << 518 */
  107463. { { 0x868efb5c1517a09bL,0x20bfbd8722919dbcL,0x11bf475b6e776274L,
  107464. 0xef04a4135ade4e48L,0xe5b721d41702befaL,0x6613ef46c010811aL,
  107465. 0x8a70cf720286df5bL,0x31a364139961089fL,0x00000000000000cdL },
  107466. { 0x0ff8f787313062e8L,0x6a9c58a1c7c7876bL,0x3767da6e73cfd9bfL,
  107467. 0x59569e705f92c89fL,0xd2b5ae8f16d2a77eL,0xe287323d9756a091L,
  107468. 0x4f40fefcb0114e2eL,0x5a51851d8f4adeb4L,0x00000000000000f0L } },
  107469. /* 11 << 518 */
  107470. { { 0x5037561bac8ebe24L,0xe7ee25348366bd2aL,0x772837d6841bae82L,
  107471. 0x08eb7b46e0ff68c5L,0x8c92b3f60c31b9dcL,0xf87d90b768dc21e4L,
  107472. 0xa6c7c9d70770b025L,0x53c3c5f384510727L,0x0000000000000047L },
  107473. { 0xde80f1b74569f57bL,0xf3d6318e62b8842dL,0xfa2eb7e2c819f5f8L,
  107474. 0x0faa86691d96d0daL,0xf45e324d3751f6f7L,0xb12f32807a8f2951L,
  107475. 0xc455c3d540edba34L,0xc4624175f5c78269L,0x00000000000000fcL } },
  107476. /* 12 << 518 */
  107477. { { 0x93012bbdb3f18230L,0x69b59c81be563374L,0x0fccc9418fbd8070L,
  107478. 0xb2e3e5fddd353c6dL,0x290f2d4065dce413L,0xb79d87416598620eL,
  107479. 0x855eca8c0cfa916cL,0x45029ea197efebb1L,0x0000000000000051L },
  107480. { 0x7c09eef390438baeL,0x898440c59ec6217dL,0x89f1331330d90670L,
  107481. 0x1588728726ae644cL,0x353e5bfae83d85f0L,0xe8f21860456b1253L,
  107482. 0xeb0fedeacc75e379L,0x215ac25219348cecL,0x0000000000000057L } },
  107483. /* 13 << 518 */
  107484. { { 0xc4fc152cdf7adcf8L,0xf1731d853aac8ef5L,0x755b049dd1463ed9L,
  107485. 0xb2584ead794d041dL,0xc6cbad77a4598004L,0x1baf02531eb28df8L,
  107486. 0x972ea8693d442d21L,0xcf1de4ab9d17f0c7L,0x000000000000002fL },
  107487. { 0x175ee1ac772076f6L,0x8afe0a0b98a219bfL,0x23350b21cf7072b6L,
  107488. 0x255372ec66d6bfcdL,0xc0e878e4ca347854L,0x45943a9fc266b8c5L,
  107489. 0x8e0b70f802304611L,0x7c1914054c1a0ad8L,0x0000000000000129L } },
  107490. /* 14 << 518 */
  107491. { { 0xb009865603ff1b77L,0x0c3e56c816d480dfL,0x03cb7430b25b7ef4L,
  107492. 0xc1a1d84f29530ba1L,0x91ea3813a687e8a3L,0x36d765625e955cf5L,
  107493. 0x9791cbeb9871c033L,0x25ed155b29271a7eL,0x0000000000000046L },
  107494. { 0x0201ae83b863fe15L,0x577c28d5533caf59L,0xa000a53862886d5eL,
  107495. 0xe400a338683c5322L,0x4dbecfe561107162L,0xaa3a88bcbb5603f4L,
  107496. 0x48714504ec53c8aaL,0xc5c8b13a63f8c036L,0x00000000000001beL } },
  107497. /* 15 << 518 */
  107498. { { 0xa1ba19f667cf8ca1L,0x71b5032e6aefd0b4L,0xeee3be6cc1649bc2L,
  107499. 0x630e7b8664949a27L,0x5c9b815b9f8d970aL,0x582c63862439a25aL,
  107500. 0xe2acb5564443a504L,0x8ce90b34e50d00ffL,0x0000000000000004L },
  107501. { 0xd96814912a56ca70L,0x39d0c795ed552ae7L,0xf666288a8d6c3cefL,
  107502. 0x71fb44903f030a8dL,0x20a8dbdf22b5414dL,0xcfc31a6ac244c07aL,
  107503. 0xf6cba0448ef206e9L,0xe2987b8b8f2d974aL,0x000000000000004eL } },
  107504. /* 16 << 518 */
  107505. { { 0xfd4abdb4f6f04de3L,0x2d3399bb2708b32fL,0xe3f7a82fae7ea987L,
  107506. 0x63f0093e11c3b0b2L,0x4e771ccb50e1dc6cL,0xed3655479b91c6a3L,
  107507. 0x97c1fd0b332028a9L,0xe8199fe24a65acb3L,0x0000000000000137L },
  107508. { 0xff2f102fed4f5410L,0xe2ec543cbed8c3c0L,0x7c79a798d4bbff64L,
  107509. 0x5baa5d12bd61bebaL,0xa4766859accb68ddL,0x79fe67260f18b724L,
  107510. 0xfbaa1890c404245dL,0xebae71de1e4be8eeL,0x000000000000016fL } },
  107511. /* 17 << 518 */
  107512. { { 0x7a581bdc7e2afe12L,0x8cff83cf14fb3fd1L,0xcba840cc429779e8L,
  107513. 0xf7bd183f9e5201e8L,0xc2c4a1a9fd6d9790L,0x9da08423ef26b1bfL,
  107514. 0x5291a5eee224c1f9L,0xd2fef1565468dfdfL,0x00000000000000ceL },
  107515. { 0xccae68d1f8e2c083L,0x2b020fcdb6a2be21L,0x0369059c53f70413L,
  107516. 0x1e7d130d80ff6c07L,0x3a0bcee3ae669b29L,0x2f8501f7a3d96b7aL,
  107517. 0x37a337a485e110a0L,0x5496623a30441bd0L,0x0000000000000022L } },
  107518. /* 18 << 518 */
  107519. { { 0x66a32a2ff9805932L,0x2ec549c5bef0740bL,0x4e144029127ed87fL,
  107520. 0x34f547eab1728cafL,0x89a0c9026066be92L,0x2acf5a05f15277a9L,
  107521. 0x78de46f40120d365L,0xe9b87d4a61f5eed1L,0x0000000000000163L },
  107522. { 0x2f0c42289ff30d07L,0xc2f06ed849a8b586L,0x08d431a31b47a0e0L,
  107523. 0x9b88a9bb1e3ef583L,0xc9ca97883a415e81L,0x321cd03e6b091374L,
  107524. 0xb176a99a65091a1bL,0x1be3de61e7dc0e5aL,0x0000000000000120L } },
  107525. /* 19 << 518 */
  107526. { { 0xedda4f501a0ce34eL,0x92df6948bf73ec51L,0xc28a8e4c1a72e03cL,
  107527. 0x2af289b610e4eb04L,0x07c600e6b91a74a4L,0x4bb54ad4f0b6a952L,
  107528. 0x13c1236dd1de5b10L,0xb8e9c19bf544bbbbL,0x00000000000001c7L },
  107529. { 0xe7b10240b7f3dff6L,0xb54fa2387ef42552L,0x928e15bbde030c69L,
  107530. 0x86839d49beeb87f9L,0xc72c04e8fe6a4e35L,0x0bd28b2333a42b3dL,
  107531. 0x78c05d19cf75a3b7L,0x57db32cb05bedd16L,0x00000000000001b1L } },
  107532. /* 20 << 518 */
  107533. { { 0x895a36231bdd31fcL,0x3ff4b814a499d99fL,0x3b0b3bc1ae8418daL,
  107534. 0x3f6e8a895eaaa723L,0xf4f87e1303adbdf0L,0x989fcecd01852f42L,
  107535. 0x6dcaf5eda4426bc1L,0x36f55efea43a2bbcL,0x00000000000000ffL },
  107536. { 0xc7180d5818832a17L,0x47d76d9329c58f84L,0xe54eca936eb5288aL,
  107537. 0x4e7a0ae6621c57b6L,0x475c9919cdad70afL,0x5e0d5c8613d73c3cL,
  107538. 0xee24c9f315db8108L,0x80ff5e2c286ddbdbL,0x000000000000002bL } },
  107539. /* 21 << 518 */
  107540. { { 0xe6bb9caf41166535L,0xee910574729bbb65L,0x196bc7188a30dbcbL,
  107541. 0xf5c06afb6b669532L,0x95a6445352798e9dL,0x54310e3293028bb3L,
  107542. 0x2c980460a192c5e2L,0x3e71aa09f1d44ba5L,0x000000000000004fL },
  107543. { 0x0189f4680f956b70L,0x5d67b04a8f6b209bL,0xf82daa27b3529f92L,
  107544. 0xc4e8d5d18d611d16L,0xc0824d25adcbbbc4L,0xa3151a908a4b37a5L,
  107545. 0x570c39a5eb1b3b77L,0x4e04c57294a2bcddL,0x00000000000000c4L } },
  107546. /* 22 << 518 */
  107547. { { 0x817eebab56b577a7L,0x0a56039bdf679d07L,0x66bf1a96f0d319e5L,
  107548. 0xfe007b76ba26cee6L,0x55836ee4d1a82640L,0x2b123a6f568d16a7L,
  107549. 0xc55d3c2bd51ce671L,0x1e0eece0277b1fd7L,0x0000000000000074L },
  107550. { 0x32629cda26a51b9eL,0xff08209c84140e1eL,0x6b6333578da237ebL,
  107551. 0x33c6765e901d98e4L,0xa3e1409a633fa3b5L,0xa44024d2365a82c2L,
  107552. 0x1f90df3aed9a4771L,0x22a587e4ab00783fL,0x00000000000001d3L } },
  107553. /* 23 << 518 */
  107554. { { 0x013713ea9be05096L,0x3843a8fdf3f844efL,0x1e5b0c16555986bdL,
  107555. 0x873570a4fe2ddef4L,0xdbd38a931534c642L,0x2cfb55c0dd37641bL,
  107556. 0xa022f3cf4c9cc92cL,0x8e68f725fec4ae5dL,0x000000000000011aL },
  107557. { 0x174fd4dfda88abadL,0x471a712bbd3638c8L,0x78120e3fc36f3380L,
  107558. 0x0d306f6e4f257b7cL,0x3b5d78fcc2c7e110L,0xce9f9636a954a62cL,
  107559. 0xaa64c8d8bbf8bb14L,0x11f083636854bbd1L,0x00000000000001f8L } },
  107560. /* 24 << 518 */
  107561. { { 0x2e6ad1a9871f197cL,0x0af63210b4a58092L,0xcb9252c242a3b0faL,
  107562. 0x06dbc3149d528c5bL,0xdc5216150601bb88L,0x9db07c32aa3178b4L,
  107563. 0xbb13186bc4212f12L,0x18bdfe06eef4e9b1L,0x000000000000011fL },
  107564. { 0xf7e64b81713bbfa1L,0x26344818b932b514L,0x3316dd2ae7ca294aL,
  107565. 0x4b266d272f30f1cbL,0xa2642af20de790f7L,0xcb11421279d5abfeL,
  107566. 0x780790487785c36eL,0x8b8a691d9db40ab5L,0x00000000000001bbL } },
  107567. /* 25 << 518 */
  107568. { { 0xa6f7435bfa4bffebL,0xd6e291f42bfa469aL,0x58f691c576f06844L,
  107569. 0x46c100d0ebbb4c34L,0x9c11ffde0a546878L,0x0236adb05accddeeL,
  107570. 0x2b5adb70a872847cL,0x75592f462320b5c4L,0x0000000000000173L },
  107571. { 0xc0a19f24fddf6f87L,0x6abf006e83e9fbd2L,0x0af2d4414bf49193L,
  107572. 0xe97288f52a6dcd30L,0xb13a5e18156a6b6eL,0x250d944ec97de15fL,
  107573. 0x542ce0281d12789dL,0x7f18a27398252875L,0x0000000000000084L } },
  107574. /* 26 << 518 */
  107575. { { 0xe082423c26ee9683L,0x26a715041594a61fL,0x137bbd6e6ef85629L,
  107576. 0x2e75b833bf8e7d4aL,0x8912d175a0bf520fL,0x197a7b40d35ab75dL,
  107577. 0x55a51a2208213620L,0x9319af9f0a9a003eL,0x00000000000000a3L },
  107578. { 0x82740b1ad685067bL,0xd727f51e66fec58eL,0x7f230a384522eac5L,
  107579. 0x9b2472ae2422eea7L,0xacb24446168e9049L,0x995eaf82f8b24133L,
  107580. 0xd4d63051f8b37f7bL,0xb36021bc4d003ccaL,0x00000000000000e5L } },
  107581. /* 27 << 518 */
  107582. { { 0x0ea8d0af43da1485L,0x229bd2eee356a58eL,0x766352201eae3818L,
  107583. 0xb1cc532299644ed3L,0x2b29d1889fe0cc0eL,0xbce5b5e6303000ffL,
  107584. 0xb035f61989e0f826L,0x510c51d80e591febL,0x0000000000000187L },
  107585. { 0x7b2b6f57c1e35d21L,0xbe7100b1b78bcf87L,0x7a4dcd2b1764611eL,
  107586. 0xc3abd1efe0659593L,0xdee37f042bd73310L,0x83d81872a65875a4L,
  107587. 0x324574a77b7a1222L,0xcb0d36670b9b276aL,0x0000000000000108L } },
  107588. /* 28 << 518 */
  107589. { { 0x971696469a44620fL,0x3523058dfcfa2ea4L,0x8c3e30d1167c4c8dL,
  107590. 0xf3de3d61e93a3a6aL,0x56e42c97642614f1L,0x3c9c8d2480cc3dceL,
  107591. 0x68d62a528ce9a9d8L,0x482041d2df7be32aL,0x0000000000000127L },
  107592. { 0xeb4439ea67c7fd4bL,0x350117320a384db6L,0x19f9a3382046f5d4L,
  107593. 0x5dbf9fcc72cacc46L,0x732caa319bb26921L,0xcd7c2088ca05b118L,
  107594. 0x6c815494dbc0ca1bL,0x5334afab825890f6L,0x0000000000000053L } },
  107595. /* 29 << 518 */
  107596. { { 0xb38b3455cf0b627cL,0x9e5ecaf020af8835L,0x5e15ceeeea2dd64eL,
  107597. 0xb99b86fad1f8ee12L,0x87af57750227a645L,0x0ee3dab2f604b581L,
  107598. 0x473b2504e5187026L,0x00b2e9d3e92eae4dL,0x000000000000013eL },
  107599. { 0x609dd618331d29eeL,0x38cd2b0b4b99e2fbL,0xde71fb3f9242cff0L,
  107600. 0x67ac8f5862f6689eL,0x0a99984caefeabbeL,0x6f5dfca538b281acL,
  107601. 0x4a2a46d24dcbc8a0L,0xd595b07e6fed4a26L,0x000000000000016dL } },
  107602. /* 30 << 518 */
  107603. { { 0xff258a5138d1847dL,0x713ef4bd7f5e74f6L,0xe56ce9e3e0a0f09aL,
  107604. 0x88f07760772a9159L,0xbc42bf932fb37fc9L,0xb8d9041cf0f2cba3L,
  107605. 0x59dae6249a50cf7cL,0xb7546cb5920f1729L,0x0000000000000145L },
  107606. { 0xe310812c92011458L,0x9ef42383f158e9beL,0xb3b060fe5311f175L,
  107607. 0x29af47ec20c5da5aL,0xd75668ccc0381df5L,0x6cdb1a0cf1bf133eL,
  107608. 0x6abfb17042c02d7cL,0xf5984d2fd856c84bL,0x0000000000000169L } },
  107609. /* 31 << 518 */
  107610. { { 0xbaf9ebcc00544abaL,0x250f8366fe960dcfL,0xa0d3d15d76c4500aL,
  107611. 0x858ea0e985f1322eL,0x443d0aadeaffd468L,0xda9043a709256191L,
  107612. 0x4b83a0035aa2afa6L,0xed05f5bffe5f1395L,0x0000000000000004L },
  107613. { 0x50934ea9608abffcL,0x1299ef11a883495cL,0xb72333689792ef29L,
  107614. 0xc7074a39f05483b7L,0x06ef2784274fa92bL,0x64e7feb67c864a48L,
  107615. 0xf5fac1f878ca9ce3L,0x595b60d700b935dbL,0x0000000000000033L } },
  107616. /* 32 << 518 */
  107617. { { 0xdcd089e5c0f8abecL,0x2d11032081f91ec5L,0x244cef5d8d76055eL,
  107618. 0x7202652d1c9bdd43L,0x396ebf25643f3ca7L,0x811a3695c983ac57L,
  107619. 0x7d1f29a41e6e64caL,0x7cb13cec80827ae1L,0x00000000000000c5L },
  107620. { 0x16b59e9c2d5c560bL,0x18b069a09dd105e4L,0xb7fc826bb6bc0c3fL,
  107621. 0xf6ab6c7485ea8193L,0x9c768ea01c4cdc7eL,0xa7a149b4d223cca5L,
  107622. 0xa54dafdc8789b618L,0x2656cb46b17328c0L,0x0000000000000100L } },
  107623. /* 33 << 518 */
  107624. { { 0xe6ce0ca2ccc0b2a1L,0x3d569ba1cd0023f7L,0x41aecfdb81bb3a84L,
  107625. 0x51d0e514bc37ca47L,0xcd8ea6a433b95775L,0x4bc287d36a213c69L,
  107626. 0x25543e3133ecd721L,0x73b370fd37ccf58aL,0x00000000000001f8L },
  107627. { 0xc5f14160b6d87edcL,0xd2ad1fce324d39f3L,0x252c0755b8f7bbf5L,
  107628. 0x9a0f47dec97f5775L,0x1d026aebd617bfd4L,0x63ba7c6abc086d63L,
  107629. 0x6dc68bf907845053L,0x5a1ba87296198bb4L,0x00000000000000efL } },
  107630. /* 34 << 518 */
  107631. { { 0x71710160519269efL,0xf17dec367f1d6361L,0xf6dd6e7fcf9de894L,
  107632. 0x9f85f14c98a3c278L,0xbf7a86440e5e618bL,0xfbbea240f4f1a389L,
  107633. 0xc762aca8fedf3526L,0xec54e3323a3a1b77L,0x00000000000001daL },
  107634. { 0x1852de066a518668L,0xd05e9eef6cfab15dL,0xb13386cd6b10958bL,
  107635. 0x793f12b5144bb551L,0x3ec0f36514ff524cL,0xc642095686e2cb96L,
  107636. 0x926456f12381598bL,0xc5508ab0e8c1e2ddL,0x000000000000008dL } },
  107637. /* 35 << 518 */
  107638. { { 0x308b59c8e3990529L,0x58f149af2d350a55L,0x6b5f70129bf20ff0L,
  107639. 0x07c324620658a155L,0xcace2e408f753462L,0xf9616b76e31fc89bL,
  107640. 0xad31cff4b6013839L,0xdf2c921ab244102bL,0x000000000000015eL },
  107641. { 0xb8b3e02b30f6f32aL,0x072935e1835853fbL,0xd7d687c87364fa89L,
  107642. 0x5109c823998e7aceL,0x9e821b0ba8d3f444L,0x75d6211efe652482L,
  107643. 0x690314094b3f5025L,0xf8bf959ff42e9c5cL,0x000000000000002aL } },
  107644. /* 36 << 518 */
  107645. { { 0x7ea34b836dd01befL,0xc36e2120effab7a5L,0x1357672fb8845894L,
  107646. 0x7f462c580162aa61L,0xb00958815bae0512L,0x55e27b8ef30be373L,
  107647. 0x3b0b6882a1a367bfL,0x9177f7351f66d95fL,0x00000000000001c0L },
  107648. { 0xeef0eba1bfbe7524L,0x0cf73ed68025aa0dL,0xae531a884d9267fcL,
  107649. 0x29042ea6a78a045dL,0xecebf42adb2582cfL,0x041babdc566d1be1L,
  107650. 0x55c1d466cfe83774L,0x751c932b40e305abL,0x0000000000000162L } },
  107651. /* 37 << 518 */
  107652. { { 0x59d2d2af2193cc13L,0x0321329b5b8746b1L,0x5afef594d22686f7L,
  107653. 0xb66fa579bf1807c2L,0xe3233a19a636faa9L,0x7e39da2f7c82dc5cL,
  107654. 0x24967121715dbaddL,0x0010e24a686dd74cL,0x0000000000000055L },
  107655. { 0xaf5aa87ac1ab62b3L,0xdaec05ece1a7d955L,0x87e93b656fadda7cL,
  107656. 0x12393f01825da2a4L,0x08ee17429d2b4552L,0xd83408c0f9e092fdL,
  107657. 0x17e78cccf594ebb8L,0x26a3963bff074050L,0x000000000000012cL } },
  107658. /* 38 << 518 */
  107659. { { 0x43015ef7328a8d9aL,0xff26649d8c81d304L,0xfeba7112e6c1da31L,
  107660. 0x0303b542f80a8273L,0xaff964a4d5d19085L,0x4060a313fce30f5bL,
  107661. 0x85a6401a3f081f0eL,0x7aa4d2dacc3420a0L,0x000000000000008eL },
  107662. { 0x3d81528e43a2e0baL,0x749c5e9b3b58a1ceL,0x16e5014642f8c0e0L,
  107663. 0x82223528dacd54e0L,0xe40c5e2bac8d0aabL,0x2e9c3c61230895d8L,
  107664. 0x1644c4f2646b2a74L,0x2eafbc8ea5310192L,0x0000000000000159L } },
  107665. /* 39 << 518 */
  107666. { { 0xc16ec56246c1b5b8L,0x677befb255de0e93L,0x764c01d2d18a1543L,
  107667. 0x4b979f483926716aL,0x9be5e4238be326dfL,0x147f78a5b3a2af6eL,
  107668. 0x75629177f36fef7bL,0x3a96d62f01823e00L,0x00000000000000e8L },
  107669. { 0x286128a697b62907L,0x48c2f245fdb9850bL,0xe233637ed229d254L,
  107670. 0xfb4df7ec5ae54770L,0x387dc9882a0a3a7cL,0x604f12b1f105eb2eL,
  107671. 0x398f6905bef07679L,0x5083751a2d7f18b0L,0x0000000000000012L } },
  107672. /* 40 << 518 */
  107673. { { 0xad32e836a56a26ebL,0xad1e697d62485f0eL,0x4cd629607caa8694L,
  107674. 0xdbab5d8129e36b0dL,0x6588f4fb48b7bd27L,0x19c33f2c0923c25fL,
  107675. 0x0a630f121df8f0cfL,0xfeefce53333c63e9L,0x0000000000000045L },
  107676. { 0x241237a74ae15886L,0x5d11a892c355d430L,0x67ceab2fba945fa6L,
  107677. 0xdb2b516730eaa436L,0x6f9cb6cd2cc960f3L,0x3419806b09e68210L,
  107678. 0x52059822c4cd6e7fL,0xd0bdda660229c0c9L,0x000000000000018dL } },
  107679. /* 41 << 518 */
  107680. { { 0xec861da3ab5d5cf0L,0xc7af1e4ad923888dL,0xe0c32502daab79acL,
  107681. 0xf178cf648a4086bbL,0x9a99b8ffd5c7079fL,0x0a2df19d05819dc9L,
  107682. 0x12e792933db59087L,0xc125b64b6ce54c4bL,0x0000000000000102L },
  107683. { 0xf1961f714feacf50L,0xf969a84656d8ccd6L,0xa1efae3d911b043eL,
  107684. 0xf62c80e1692f7287L,0xc117caea48a190a4L,0x0777c46d14839864L,
  107685. 0x2899245a5a1d7208L,0x489b93c85e329852L,0x0000000000000105L } },
  107686. /* 42 << 518 */
  107687. { { 0x67d06d04789228a4L,0x51788e82bdc230afL,0xb7dcd90b32e890c4L,
  107688. 0x1e5d0a7db5d4c8f4L,0x0a9e15ce595e67fdL,0x90b3c15dcf4e9fd4L,
  107689. 0x49753038242e113dL,0xebadd5b8a2416549L,0x0000000000000118L },
  107690. { 0x45821571dfe7fc21L,0x1363988e803172ffL,0xc5a06b7ae06df609L,
  107691. 0x24aaabec5b40db00L,0x6871707a9340097cL,0x47b919267335f997L,
  107692. 0x785da39e65bde875L,0xf47f662e7fef2231L,0x0000000000000047L } },
  107693. /* 43 << 518 */
  107694. { { 0x84be109c1190402cL,0x66ecab5ef20a1cafL,0x1a4e611f0fa6f66cL,
  107695. 0x195629f2aaf23b97L,0xd813525d7ebe9a01L,0x8f628e487ee7212eL,
  107696. 0xb12fdfb811fce1e9L,0x94ed86ec2d2f395bL,0x00000000000001b6L },
  107697. { 0xaa6a3e5e3b167bccL,0xd70639961f5d7a11L,0xe4017cb2f17395a8L,
  107698. 0xeaff0282476d9f46L,0x1831263f6eb0ac26L,0x04ac0c75bd7aec11L,
  107699. 0x5e0d613a027c01fcL,0x2f4d1bd35bb6ae43L,0x00000000000001caL } },
  107700. /* 44 << 518 */
  107701. { { 0x08a92760d317c60cL,0x730d73839529b4b8L,0xfcf81c9d1a050f05L,
  107702. 0x6b2cb8059f9e8bf5L,0xd7d7c79e30ff7124L,0x572a3a7f7206c662L,
  107703. 0xe2052b8c4915d988L,0xa685a31e3d6cf04cL,0x0000000000000183L },
  107704. { 0x14408f423e71c584L,0x8f24d13415998073L,0x1ec3ad1995f62f3cL,
  107705. 0xf2d8ea1803f06c8dL,0x8ddc0fd6087730a5L,0x7755ed4b280b7d59L,
  107706. 0x26c885dbba67938cL,0x2559753627e81374L,0x000000000000013cL } },
  107707. /* 45 << 518 */
  107708. { { 0xfaff0f70b8eed132L,0x45e36c7d284499edL,0x0cb980c3774b8605L,
  107709. 0x217eb3dc7c70ffa7L,0xc0f46f96c3c4a55bL,0x88d3b5cf8c437e4fL,
  107710. 0x7cfcbf0e650eaf40L,0xad4698af733e59daL,0x000000000000017fL },
  107711. { 0x8b8c1f42717f2813L,0xaf5b8b163b4c78a2L,0x88db88f5c15667ffL,
  107712. 0xf9c0433c0e0eff6cL,0xb9aab9524af85387L,0xfdc7d7932bde3019L,
  107713. 0xdceb1293eb5d10baL,0xa7ee9901c53209e9L,0x00000000000001e2L } },
  107714. /* 46 << 518 */
  107715. { { 0x02c71a57c628f1c9L,0xd6b1756a6a8b91c6L,0xc5bec6323a95cbaeL,
  107716. 0x788e2eb0d9409c68L,0x086d6859d7c3fbabL,0x3be49bdb1b498ad5L,
  107717. 0x63f6e76e47bc20aaL,0x3b8aaea41745e23aL,0x0000000000000126L },
  107718. { 0xbdc9b39f76962e66L,0xad6828ee49abdb3dL,0x6fcb091222df1a3dL,
  107719. 0x1efa4c062f1370b5L,0xff596ee1630b67e7L,0x03e4620cc21c76ffL,
  107720. 0x2cb83ef480982394L,0x65937797baa10144L,0x000000000000002cL } },
  107721. /* 47 << 518 */
  107722. { { 0xd09c1c996956b64dL,0xa7fd39df54e71d6dL,0xb63b0c76d813eb3cL,
  107723. 0xe6da21e09a7ccfe9L,0x1d15005aa5502e51L,0xd5358b4110306e2fL,
  107724. 0x6abc6b4667ef79a8L,0x9b5b0ad67c7376efL,0x0000000000000055L },
  107725. { 0x31bf44b672e5d085L,0x561698e245ee9faeL,0x207d7fe17f532f76L,
  107726. 0xde53af5d389577bbL,0x931929f2a9530967L,0x428e13ee8099f9c1L,
  107727. 0xa20e4bfeabb6b4e6L,0x87d77ad792e6c4b7L,0x0000000000000165L } },
  107728. /* 48 << 518 */
  107729. { { 0xa779463d63ea6586L,0x055ac074f5dd2077L,0x5e63875b2be5d611L,
  107730. 0x8261be993b1c53bbL,0x86137b7ba28e14b3L,0xf706d3c77e729ef5L,
  107731. 0xb30413db74902555L,0xed91b88c4e15d0feL,0x00000000000000edL },
  107732. { 0x0cbbfb03cee5f36bL,0xb210122bb6bab7f4L,0xffa46c283d0cf2fcL,
  107733. 0xa42293e28c05ff89L,0x014f499fa5642b7eL,0x80db63809c6e0d8aL,
  107734. 0xa819787c51d901c9L,0x17662fa8a3201327L,0x0000000000000154L } },
  107735. /* 49 << 518 */
  107736. { { 0xdb65de61d1446dc2L,0xa3bdc9d05d8a4c19L,0x2701196f5c624bafL,
  107737. 0x9bda0a41ef24ce3dL,0x9fb34528041c3b08L,0x7b5dbbf4242a51caL,
  107738. 0x336ce5613766cfd8L,0x172c43d2641e0b85L,0x000000000000002eL },
  107739. { 0x996f146778312bf1L,0x3b4e1fd7426ce268L,0xcbb357014b673861L,
  107740. 0x30c2caa09146cb8eL,0x9b4a4587e6a8d053L,0x6b1a1c3f252a928cL,
  107741. 0xcce378f9f163f641L,0x82a416d80ce8fe1dL,0x00000000000000b2L } },
  107742. /* 50 << 518 */
  107743. { { 0x09dc0454add144caL,0x281f6fd9cd8ab4aeL,0xaf4cfdfcb0f1c86aL,
  107744. 0x439e1747e494b168L,0x3e49a5b3e4c400b5L,0x9757873935ded33aL,
  107745. 0xab59dd9ec2a6a22aL,0x4922cb7ceac1e123L,0x00000000000001b7L },
  107746. { 0xccd8982904d455c4L,0xffafdce83923bdd5L,0xd2a6a8fcbf1c6558L,
  107747. 0xd17a45eaf484c27bL,0x2c39c953d970815fL,0x8fb6670af00d8f91L,
  107748. 0x62182f42a31b339cL,0x5cc40112d38c0768L,0x000000000000012aL } },
  107749. /* 51 << 518 */
  107750. { { 0xb308f945331cb928L,0x602999521379ba9fL,0x20f27b4cd0fa31adL,
  107751. 0x88eb30063b553ecfL,0x5c19d8c07231e4bbL,0x9c5844dbc4b5961eL,
  107752. 0x9a5e28be582da2d3L,0x4d9a6de0e85fbb1bL,0x00000000000001dfL },
  107753. { 0xc22621adab9cc6e0L,0x4679d909c4d8e5e2L,0x917e8cff3e8c3c9eL,
  107754. 0xd9b13e821a1925d6L,0x0c173503c81d5d3bL,0x8cb10799e7e3931eL,
  107755. 0xa1e340b7315c7107L,0x0337254e99f39258L,0x000000000000013dL } },
  107756. /* 52 << 518 */
  107757. { { 0x525c70348e080aa6L,0xfb65650b703a31d0L,0xb3c9fc909708778bL,
  107758. 0x712babdd5c0de950L,0x2336b614cf922a9cL,0xc9c01fdb2d1541ccL,
  107759. 0x3b0b5acdda984124L,0xc16edb3e5ca5237eL,0x0000000000000031L },
  107760. { 0x16d195dcba96a3b1L,0xaeb795135b2d839eL,0xff7ca75c3f468379L,
  107761. 0x195ebf452f7a4eccL,0x368bf1ac2cba9fc8L,0x282778c5ad79da65L,
  107762. 0x1ae709a382204582L,0x60da306180e162fcL,0x00000000000000a7L } },
  107763. /* 53 << 518 */
  107764. { { 0xc5c076fd98c1993dL,0x7c963fe6af6e50a2L,0x39921d140591b832L,
  107765. 0xaf817e598e6e78b6L,0x7d20b47053141d98L,0x80209dde2675b748L,
  107766. 0x9784d850f911da2eL,0x10d14b67cc679952L,0x0000000000000024L },
  107767. { 0xf6f7b8551a80d7cdL,0x68fb06ce0d84480fL,0x9d0df3bf450048d6L,
  107768. 0x14848bbe6d416a5aL,0x3191edc563436e69L,0x53daff59f90fac77L,
  107769. 0x331714fb6c2043f8L,0xb67695bf641cb68fL,0x00000000000001bbL } },
  107770. /* 54 << 518 */
  107771. { { 0x2568730c4e5e6dbdL,0x81765faf80c64f5cL,0xbf19f28c6c1e36c7L,
  107772. 0x0530e9a6294bd1c2L,0x80e2e102e4043658L,0x0af1e3845ac951ddL,
  107773. 0x37d8ca04a7cc44b8L,0xf767884a3d138475L,0x0000000000000189L },
  107774. { 0x8ab296a48ae43c93L,0xc0bda5e841f22f63L,0xb61e12430abf701fL,
  107775. 0xa2d6b5360284b234L,0xb417271d9c8e1f29L,0x9377f53ad346e17bL,
  107776. 0xc9410ca7a8843d62L,0x1d304904fe0dd739L,0x0000000000000118L } },
  107777. /* 55 << 518 */
  107778. { { 0x42e9239b9ab2b245L,0x2d966c1a1f9e9cddL,0xa2798c7ef19af9a5L,
  107779. 0xde254ef83c79337eL,0x07c5da22f1db6f95L,0x50875be600a3c98cL,
  107780. 0x2bfa5c26b48438f3L,0xb0ad90e5ab0a8365L,0x00000000000000c1L },
  107781. { 0x83161fcd3bd1626eL,0xa7863bf855e209d5L,0x9d6ecef0d103b98bL,
  107782. 0x885bdf21f0c55498L,0xbe3cc09af953d02cL,0x7fe7985326d91204L,
  107783. 0x9016e8e4f2f0e08aL,0x051fa6822376d502L,0x0000000000000001L } },
  107784. /* 56 << 518 */
  107785. { { 0xcab77140311cc347L,0xab8125d2c64bb9ebL,0x834317210e447719L,
  107786. 0x1b072b94ad7f9bc5L,0xdb70c295ccff1aa9L,0x174b731e8969d354L,
  107787. 0x70c0a462f5761c43L,0x14790895dff9a408L,0x000000000000006eL },
  107788. { 0xefc566d58f909123L,0x2775b7a810896ca6L,0xfe6927ca0b71973bL,
  107789. 0x40babac2b4c9929aL,0x9610d5214bd6f041L,0x82b6d9da8f075949L,
  107790. 0xcb2129e21e7a406cL,0x85389f05106af2acL,0x00000000000000cbL } },
  107791. /* 57 << 518 */
  107792. { { 0x30525170711ceca4L,0x754f1f1fba0c3956L,0x5d7049a8c91b73f8L,
  107793. 0xda62d9a77e22f0b1L,0xcd64a052ed6bda8eL,0x174eca531b83dc5dL,
  107794. 0xb4d7576bd3a8c49bL,0x172d6c7526d15902L,0x00000000000000f7L },
  107795. { 0x88267b378585b54eL,0x8715a8b010b85121L,0xc944f85d6db0be9eL,
  107796. 0x6ca6dec0e92656b0L,0xa141e7cb217c6ed3L,0xd12f342527240ab2L,
  107797. 0x8529f959942ffa5dL,0x4a1a975915792f32L,0x00000000000001c4L } },
  107798. /* 58 << 518 */
  107799. { { 0xfb2ad1ae78825be2L,0xb9c0cfcb5f9f377eL,0xb4cd68b823ec81dfL,
  107800. 0xe48d71227620fa13L,0xf0292c9ccfeafd26L,0xd9e5e727625273a6L,
  107801. 0x7aaf3da42a9aafd3L,0x072f0f48a3df15deL,0x000000000000009eL },
  107802. { 0x623b2ce93036834dL,0x85e00d655518c1c9L,0xcdb55dcfda8ec9c0L,
  107803. 0xe4cfb058df8e18e1L,0xb10fe1db3f381211L,0x26a05c013c5387ddL,
  107804. 0x6860765d2cd4e482L,0xada5d4823d37a01fL,0x0000000000000018L } },
  107805. /* 59 << 518 */
  107806. { { 0xe08a1d582f54610aL,0x0aa2efe66ea27082L,0xf32250e8475f591aL,
  107807. 0x38be597af2bdfed6L,0xf13a28e9717532d1L,0xc01feb0de7c1df76L,
  107808. 0xdb9be38e8b96c944L,0xf0700bfe26ea3f6dL,0x000000000000016dL },
  107809. { 0x963cd0aa82274bcdL,0xc1ed66e6de2ab836L,0x81c6f2e2cc08c42dL,
  107810. 0xed9224a1e00d896eL,0x0ebe4ff069747a38L,0x2e70f9a40130a3a7L,
  107811. 0xeb9cc3eb55451096L,0xa84de8cfa12cec75L,0x0000000000000145L } },
  107812. /* 60 << 518 */
  107813. { { 0x28b801584810ce1dL,0xa18f01cf9cd2a530L,0x3f882662bbacc56bL,
  107814. 0x25a09082c8de9031L,0xee333f92c75a3487L,0xc3f231d78c93dc3cL,
  107815. 0x6d53379ad94c4907L,0x1176368211f2d227L,0x00000000000001acL },
  107816. { 0x137ae216ab84de42L,0xbc00a7c1e4ee4c73L,0x8a42aeb8fc12b03cL,
  107817. 0x9a717ff1cf6a0950L,0x18cbebe30158b96cL,0x0184646550953719L,
  107818. 0x2c73bd13194fdb1eL,0xbd52a1cf3b0d2c34L,0x0000000000000022L } },
  107819. /* 61 << 518 */
  107820. { { 0x5da94915f61f7493L,0x661d3e6efe554d0dL,0x1853f3fd93d6395eL,
  107821. 0x917faaca248a6a8fL,0x31e81318e038ae34L,0xd2cf0cefafe38491L,
  107822. 0x49a2e5083c999b79L,0xd5ba94f8a42b9ea7L,0x000000000000000cL },
  107823. { 0x0bf5a0fd34c430a3L,0x4cb5013ee01f0d5cL,0x7ea690e6337f036cL,
  107824. 0x128d92118d55e026L,0x1d2e25df6ab8ed2dL,0x95e530878237cd22L,
  107825. 0xba3649ec2875bcd7L,0x6b2be67f654dcff2L,0x00000000000001f2L } },
  107826. /* 62 << 518 */
  107827. { { 0x421f3e959e2146f0L,0x3a7b0161b2e052acL,0xefd12db1a6cb7e61L,
  107828. 0x887566316bd4bed8L,0x8bc563448c568736L,0xd0ae1019a26bac6bL,
  107829. 0x678f366193311795L,0x11bc3650f625f4a2L,0x00000000000001a8L },
  107830. { 0x50c943cc23ab8aa1L,0x6aaba8bf2d3b3339L,0x6727f7ffac79f93eL,
  107831. 0x130c2153cba525a4L,0x6759f8f842058fc0L,0x356b182901c30b3bL,
  107832. 0x0bd3aa809078f323L,0x70cd052134621f20L,0x0000000000000071L } },
  107833. /* 63 << 518 */
  107834. { { 0xf124aa8bfa466654L,0xf48e0a111882da37L,0x57ea7b2bd0aa1f09L,
  107835. 0x1936fe19589bd6a7L,0xe9f2fb054bd7d150L,0x390250f71df9add6L,
  107836. 0xd69670f24f8651e8L,0xbc7b1bf3e03566c0L,0x00000000000000c4L },
  107837. { 0xc3b757b4b30e6c6bL,0xdb2c75c2e95c319bL,0x2790396f3aab64b1L,
  107838. 0x9709df8df6768599L,0xc2a91d3204ced567L,0x561cef3c43ead6e4L,
  107839. 0xea56fb57983d1f3eL,0x2f15dfabc0b397f3L,0x0000000000000076L } },
  107840. /* 64 << 518 */
  107841. { { 0xcd6151c20e6a4eceL,0x884e5e75a2840752L,0xa6752672c41b64b7L,
  107842. 0x7585f7cbd5cd2b79L,0xac8f7a1c892fb84dL,0xfdb20c7432a80f6fL,
  107843. 0xaec2531339c7ecfeL,0xc84d7c5c93b1e75bL,0x000000000000011bL },
  107844. { 0x30ab00a3bc363066L,0xd9a0ab44d371d11cL,0x13697c6aab047490L,
  107845. 0x1adffb54a57574cdL,0x753eafa0e548b99bL,0x51abf774a7f0df39L,
  107846. 0xe8fab02c903eaee9L,0xdf2f5e8af7542020L,0x00000000000000faL } },
  107847. };
  107848. /* Multiply the point by the scalar and return the result.
  107849. * If map is true then convert result to affine coordinates.
  107850. *
  107851. * Pre-computed table containing multiples of g times powers of 2.
  107852. * Width between powers is 7 bits.
  107853. * Accumulate into the result.
  107854. *
  107855. * r Resulting point.
  107856. * g Point to scalar multiply.
  107857. * k Scalar to multiply by.
  107858. * table Pre-computed table of points.
  107859. * map Indicates whether to convert result to affine.
  107860. * ct Constant time required.
  107861. * heap Heap to use for allocation.
  107862. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  107863. */
  107864. static int sp_521_ecc_mulmod_add_only_9(sp_point_521* r, const sp_point_521* g,
  107865. const sp_table_entry_521* table, const sp_digit* k, int map,
  107866. int ct, void* heap)
  107867. {
  107868. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  107869. sp_point_521* rt = NULL;
  107870. sp_digit* tmp = NULL;
  107871. #else
  107872. sp_point_521 rt[2];
  107873. sp_digit tmp[2 * 9 * 6];
  107874. #endif
  107875. sp_point_521* p = NULL;
  107876. sp_digit* negy = NULL;
  107877. int i;
  107878. ecc_recode_521 v[75];
  107879. int err = MP_OKAY;
  107880. (void)g;
  107881. (void)ct;
  107882. (void)heap;
  107883. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  107884. rt = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  107885. DYNAMIC_TYPE_ECC);
  107886. if (rt == NULL)
  107887. err = MEMORY_E;
  107888. if (err == MP_OKAY) {
  107889. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 6, heap,
  107890. DYNAMIC_TYPE_ECC);
  107891. if (tmp == NULL)
  107892. err = MEMORY_E;
  107893. }
  107894. #endif
  107895. if (err == MP_OKAY) {
  107896. negy = tmp;
  107897. p = rt + 1;
  107898. }
  107899. if (err == MP_OKAY) {
  107900. sp_521_ecc_recode_7_9(k, v);
  107901. XMEMCPY(p->z, p521_norm_mod, sizeof(p521_norm_mod));
  107902. XMEMCPY(rt->z, p521_norm_mod, sizeof(p521_norm_mod));
  107903. i = 74;
  107904. #ifndef WC_NO_CACHE_RESISTANT
  107905. if (ct) {
  107906. sp_521_get_entry_65_9(rt, &table[i * 65], v[i].i);
  107907. }
  107908. else
  107909. #endif
  107910. {
  107911. XMEMCPY(rt->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  107912. XMEMCPY(rt->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  107913. }
  107914. rt->infinity = !v[i].i;
  107915. for (--i; i>=0; i--) {
  107916. #ifndef WC_NO_CACHE_RESISTANT
  107917. if (ct) {
  107918. sp_521_get_entry_65_9(p, &table[i * 65], v[i].i);
  107919. }
  107920. else
  107921. #endif
  107922. {
  107923. XMEMCPY(p->x, table[i * 65 + v[i].i].x, sizeof(table->x));
  107924. XMEMCPY(p->y, table[i * 65 + v[i].i].y, sizeof(table->y));
  107925. }
  107926. p->infinity = !v[i].i;
  107927. sp_521_sub_9(negy, p521_mod, p->y);
  107928. sp_521_norm_9(negy);
  107929. sp_521_cond_copy_9(p->y, negy, 0 - v[i].neg);
  107930. sp_521_proj_point_add_qz1_9(rt, rt, p, tmp);
  107931. }
  107932. if (map != 0) {
  107933. sp_521_map_9(r, rt, tmp);
  107934. }
  107935. else {
  107936. XMEMCPY(r, rt, sizeof(sp_point_521));
  107937. }
  107938. }
  107939. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  107940. if (tmp != NULL)
  107941. #endif
  107942. {
  107943. ForceZero(tmp, sizeof(sp_digit) * 2 * 9 * 6);
  107944. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  107945. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  107946. #endif
  107947. }
  107948. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  107949. if (rt != NULL)
  107950. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  107951. #endif
  107952. return err;
  107953. }
  107954. /* Multiply the base point of P521 by the scalar and return the result.
  107955. * If map is true then convert result to affine coordinates.
  107956. *
  107957. * r Resulting point.
  107958. * k Scalar to multiply by.
  107959. * map Indicates whether to convert result to affine.
  107960. * ct Constant time required.
  107961. * heap Heap to use for allocation.
  107962. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  107963. */
  107964. static int sp_521_ecc_mulmod_base_9(sp_point_521* r, const sp_digit* k,
  107965. int map, int ct, void* heap)
  107966. {
  107967. return sp_521_ecc_mulmod_add_only_9(r, NULL, p521_table,
  107968. k, map, ct, heap);
  107969. }
  107970. #endif /* WOLFSSL_SP_SMALL */
  107971. /* Multiply the base point of P521 by the scalar and return the result.
  107972. * If map is true then convert result to affine coordinates.
  107973. *
  107974. * km Scalar to multiply by.
  107975. * r Resulting point.
  107976. * map Indicates whether to convert result to affine.
  107977. * heap Heap to use for allocation.
  107978. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  107979. */
  107980. int sp_ecc_mulmod_base_521(const mp_int* km, ecc_point* r, int map, void* heap)
  107981. {
  107982. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  107983. sp_point_521* point = NULL;
  107984. sp_digit* k = NULL;
  107985. #else
  107986. sp_point_521 point[1];
  107987. sp_digit k[9];
  107988. #endif
  107989. int err = MP_OKAY;
  107990. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  107991. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521), heap,
  107992. DYNAMIC_TYPE_ECC);
  107993. if (point == NULL)
  107994. err = MEMORY_E;
  107995. if (err == MP_OKAY) {
  107996. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9, heap,
  107997. DYNAMIC_TYPE_ECC);
  107998. if (k == NULL)
  107999. err = MEMORY_E;
  108000. }
  108001. #endif
  108002. if (err == MP_OKAY) {
  108003. sp_521_from_mp(k, 9, km);
  108004. err = sp_521_ecc_mulmod_base_9(point, k, map, 1, heap);
  108005. }
  108006. if (err == MP_OKAY) {
  108007. err = sp_521_point_to_ecc_point_9(point, r);
  108008. }
  108009. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108010. if (k != NULL)
  108011. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  108012. if (point != NULL)
  108013. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  108014. #endif
  108015. return err;
  108016. }
  108017. /* Multiply the base point of P521 by the scalar, add point a and return
  108018. * the result. If map is true then convert result to affine coordinates.
  108019. *
  108020. * km Scalar to multiply by.
  108021. * am Point to add to scalar mulitply result.
  108022. * inMont Point to add is in montgomery form.
  108023. * r Resulting point.
  108024. * map Indicates whether to convert result to affine.
  108025. * heap Heap to use for allocation.
  108026. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  108027. */
  108028. int sp_ecc_mulmod_base_add_521(const mp_int* km, const ecc_point* am,
  108029. int inMont, ecc_point* r, int map, void* heap)
  108030. {
  108031. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108032. sp_point_521* point = NULL;
  108033. sp_digit* k = NULL;
  108034. #else
  108035. sp_point_521 point[2];
  108036. sp_digit k[9 + 9 * 2 * 6];
  108037. #endif
  108038. sp_point_521* addP = NULL;
  108039. sp_digit* tmp = NULL;
  108040. int err = MP_OKAY;
  108041. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108042. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  108043. DYNAMIC_TYPE_ECC);
  108044. if (point == NULL)
  108045. err = MEMORY_E;
  108046. if (err == MP_OKAY) {
  108047. k = (sp_digit*)XMALLOC(
  108048. sizeof(sp_digit) * (9 + 9 * 2 * 6),
  108049. heap, DYNAMIC_TYPE_ECC);
  108050. if (k == NULL)
  108051. err = MEMORY_E;
  108052. }
  108053. #endif
  108054. if (err == MP_OKAY) {
  108055. addP = point + 1;
  108056. tmp = k + 9;
  108057. sp_521_from_mp(k, 9, km);
  108058. sp_521_point_from_ecc_point_9(addP, am);
  108059. }
  108060. if ((err == MP_OKAY) && (!inMont)) {
  108061. err = sp_521_mod_mul_norm_9(addP->x, addP->x, p521_mod);
  108062. }
  108063. if ((err == MP_OKAY) && (!inMont)) {
  108064. err = sp_521_mod_mul_norm_9(addP->y, addP->y, p521_mod);
  108065. }
  108066. if ((err == MP_OKAY) && (!inMont)) {
  108067. err = sp_521_mod_mul_norm_9(addP->z, addP->z, p521_mod);
  108068. }
  108069. if (err == MP_OKAY) {
  108070. err = sp_521_ecc_mulmod_base_9(point, k, 0, 0, heap);
  108071. }
  108072. if (err == MP_OKAY) {
  108073. sp_521_proj_point_add_9(point, point, addP, tmp);
  108074. if (map) {
  108075. sp_521_map_9(point, point, tmp);
  108076. }
  108077. err = sp_521_point_to_ecc_point_9(point, r);
  108078. }
  108079. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108080. if (k != NULL)
  108081. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  108082. if (point)
  108083. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  108084. #endif
  108085. return err;
  108086. }
  108087. #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \
  108088. defined(HAVE_ECC_VERIFY)
  108089. #endif /* WOLFSSL_VALIDATE_ECC_KEYGEN | HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
  108090. /* Add 1 to a. (a = a + 1)
  108091. *
  108092. * a A single precision integer.
  108093. */
  108094. static void sp_521_add_one_9(sp_digit* a)
  108095. {
  108096. __asm__ __volatile__ (
  108097. "ldp x1, x2, [%[a], 0]\n\t"
  108098. "adds x1, x1, #1\n\t"
  108099. "ldr x3, [%[a], 16]\n\t"
  108100. "adcs x2, x2, xzr\n\t"
  108101. "ldr x4, [%[a], 24]\n\t"
  108102. "adcs x3, x3, xzr\n\t"
  108103. "stp x1, x2, [%[a], 0]\n\t"
  108104. "adcs x4, x4, xzr\n\t"
  108105. "stp x3, x4, [%[a], 16]\n\t"
  108106. "ldp x1, x2, [%[a], 32]\n\t"
  108107. "adcs x1, x1, xzr\n\t"
  108108. "ldr x3, [%[a], 48]\n\t"
  108109. "adcs x2, x2, xzr\n\t"
  108110. "ldr x4, [%[a], 56]\n\t"
  108111. "adcs x3, x3, xzr\n\t"
  108112. "stp x1, x2, [%[a], 32]\n\t"
  108113. "adcs x4, x4, xzr\n\t"
  108114. "stp x3, x4, [%[a], 48]\n\t"
  108115. "ldr x1, [%[a], 64]\n\t"
  108116. "adcs x1, x1, xzr\n\t"
  108117. "str x1, [%[a], 64]\n\t"
  108118. :
  108119. : [a] "r" (a)
  108120. : "memory", "x1", "x2", "x3", "x4"
  108121. );
  108122. }
  108123. /* Read big endian unsigned byte array into r.
  108124. *
  108125. * r A single precision integer.
  108126. * size Maximum number of bytes to convert
  108127. * a Byte array.
  108128. * n Number of bytes in array to read.
  108129. */
  108130. static void sp_521_from_bin(sp_digit* r, int size, const byte* a, int n)
  108131. {
  108132. sp_int64 nl = n;
  108133. sp_int64 size8 = size * 8;
  108134. __asm__ __volatile__ (
  108135. "add x4, %[a], %[n]\n\t"
  108136. "mov x5, %[r]\n\t"
  108137. "sub x4, x4, 8\n\t"
  108138. "subs x6, %[n], 8\n\t"
  108139. "mov x7, xzr\n\t"
  108140. "blt 2f\n\t"
  108141. /* Put in mulitples of 8 bytes. */
  108142. "1:\n\t"
  108143. "ldr x8, [x4], -8\n\t"
  108144. "subs x6, x6, 8\n\t"
  108145. "rev x8, x8\n\t"
  108146. "str x8, [x5], 8\n\t"
  108147. "add x7, x7, 8\n\t"
  108148. "b.ge 1b\n\t"
  108149. "2:\n\t"
  108150. "cmp x6, -7\n\t"
  108151. "b.lt 20f\n\t"
  108152. /* Put in less than 8 bytes. */
  108153. "str xzr, [x5]\n\t"
  108154. "add x7, x7, 8\n\t"
  108155. "add x4, x4, 7\n\t"
  108156. "b.eq 17f\n\t"
  108157. "cmp x6, -5\n\t"
  108158. "b.lt 16f\n\t"
  108159. "b.eq 15f\n\t"
  108160. "cmp x6, -3\n\t"
  108161. "b.lt 14f\n\t"
  108162. "b.eq 13f\n\t"
  108163. "cmp x6, -2\n\t"
  108164. "b.eq 12f\n\t"
  108165. "ldrb w8, [x4], -1\n\t"
  108166. "strb w8, [x5], 1\n\t"
  108167. "12:\n\t"
  108168. "ldrb w8, [x4], -1\n\t"
  108169. "strb w8, [x5], 1\n\t"
  108170. "13:\n\t"
  108171. "ldrb w8, [x4], -1\n\t"
  108172. "strb w8, [x5], 1\n\t"
  108173. "14:\n\t"
  108174. "ldrb w8, [x4], -1\n\t"
  108175. "strb w8, [x5], 1\n\t"
  108176. "15:\n\t"
  108177. "ldrb w8, [x4], -1\n\t"
  108178. "strb w8, [x5], 1\n\t"
  108179. "16:\n\t"
  108180. "ldrb w8, [x4], -1\n\t"
  108181. "strb w8, [x5], 1\n\t"
  108182. "17:\n\t"
  108183. "ldrb w8, [x4], -1\n\t"
  108184. "strb w8, [x5], 1\n\t"
  108185. "20:\n\t"
  108186. "add x5, %[r], x7\n\t"
  108187. "subs x7, %[size], x7\n\t"
  108188. "b.eq 30f\n\t"
  108189. /* Zero out remaining words. */
  108190. "21:\n\t"
  108191. "subs x7, x7, 8\n\t"
  108192. "str xzr, [x5], 8\n\t"
  108193. "b.gt 21b\n\t"
  108194. "30:\n\t"
  108195. :
  108196. : [r] "r" (r), [size] "r" (size8), [a] "r" (a), [n] "r" (nl)
  108197. : "memory", "x4", "x5", "x6", "x7", "x8"
  108198. );
  108199. }
  108200. /* Generates a scalar that is in the range 1..order-1.
  108201. *
  108202. * rng Random number generator.
  108203. * k Scalar value.
  108204. * returns RNG failures, MEMORY_E when memory allocation fails and
  108205. * MP_OKAY on success.
  108206. */
  108207. static int sp_521_ecc_gen_k_9(WC_RNG* rng, sp_digit* k)
  108208. {
  108209. int err;
  108210. byte buf[66];
  108211. do {
  108212. err = wc_RNG_GenerateBlock(rng, buf, sizeof(buf));
  108213. if (err == 0) {
  108214. buf[0] &= 0x1;
  108215. sp_521_from_bin(k, 9, buf, (int)sizeof(buf));
  108216. if (sp_521_cmp_9(k, p521_order2) <= 0) {
  108217. sp_521_add_one_9(k);
  108218. break;
  108219. }
  108220. }
  108221. }
  108222. while (err == 0);
  108223. return err;
  108224. }
  108225. /* Makes a random EC key pair.
  108226. *
  108227. * rng Random number generator.
  108228. * priv Generated private value.
  108229. * pub Generated public point.
  108230. * heap Heap to use for allocation.
  108231. * returns ECC_INF_E when the point does not have the correct order, RNG
  108232. * failures, MEMORY_E when memory allocation fails and MP_OKAY on success.
  108233. */
  108234. int sp_ecc_make_key_521(WC_RNG* rng, mp_int* priv, ecc_point* pub, void* heap)
  108235. {
  108236. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108237. sp_point_521* point = NULL;
  108238. sp_digit* k = NULL;
  108239. #else
  108240. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  108241. sp_point_521 point[2];
  108242. #else
  108243. sp_point_521 point[1];
  108244. #endif
  108245. sp_digit k[9];
  108246. #endif
  108247. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  108248. sp_point_521* infinity = NULL;
  108249. #endif
  108250. int err = MP_OKAY;
  108251. (void)heap;
  108252. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108253. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  108254. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap, DYNAMIC_TYPE_ECC);
  108255. #else
  108256. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521), heap, DYNAMIC_TYPE_ECC);
  108257. #endif
  108258. if (point == NULL)
  108259. err = MEMORY_E;
  108260. if (err == MP_OKAY) {
  108261. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9, heap,
  108262. DYNAMIC_TYPE_ECC);
  108263. if (k == NULL)
  108264. err = MEMORY_E;
  108265. }
  108266. #endif
  108267. if (err == MP_OKAY) {
  108268. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  108269. infinity = point + 1;
  108270. #endif
  108271. err = sp_521_ecc_gen_k_9(rng, k);
  108272. }
  108273. if (err == MP_OKAY) {
  108274. err = sp_521_ecc_mulmod_base_9(point, k, 1, 1, NULL);
  108275. }
  108276. #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN
  108277. if (err == MP_OKAY) {
  108278. err = sp_521_ecc_mulmod_9(infinity, point, p521_order, 1, 1, NULL);
  108279. }
  108280. if (err == MP_OKAY) {
  108281. if (sp_521_iszero_9(point->x) || sp_521_iszero_9(point->y)) {
  108282. err = ECC_INF_E;
  108283. }
  108284. }
  108285. #endif
  108286. if (err == MP_OKAY) {
  108287. err = sp_521_to_mp(k, priv);
  108288. }
  108289. if (err == MP_OKAY) {
  108290. err = sp_521_point_to_ecc_point_9(point, pub);
  108291. }
  108292. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108293. if (k != NULL)
  108294. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  108295. if (point != NULL) {
  108296. /* point is not sensitive, so no need to zeroize */
  108297. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  108298. }
  108299. #endif
  108300. return err;
  108301. }
  108302. #ifdef HAVE_ECC_DHE
  108303. /* Write r as big endian to byte array.
  108304. * Fixed length number of bytes written: 66
  108305. *
  108306. * r A single precision integer.
  108307. * a Byte array.
  108308. */
  108309. static void sp_521_to_bin_9(sp_digit* r, byte* a)
  108310. {
  108311. int i;
  108312. int j = 0;
  108313. a[j++] = r[8] >> 8;
  108314. a[j++] = r[8] >> 0;
  108315. for (i = 7; i >= 0; i--, j += 8) {
  108316. __asm__ __volatile__ (
  108317. "ldr x4, [%[r]]\n\t"
  108318. "rev x4, x4\n\t"
  108319. "str x4, [%[a]]\n\t"
  108320. :
  108321. : [r] "r" (r + i), [a] "r" (a + j)
  108322. : "memory", "x4"
  108323. );
  108324. }
  108325. }
  108326. /* Multiply the point by the scalar and serialize the X ordinate.
  108327. * The number is 0 padded to maximum size on output.
  108328. *
  108329. * priv Scalar to multiply the point by.
  108330. * pub Point to multiply.
  108331. * out Buffer to hold X ordinate.
  108332. * outLen On entry, size of the buffer in bytes.
  108333. * On exit, length of data in buffer in bytes.
  108334. * heap Heap to use for allocation.
  108335. * returns BUFFER_E if the buffer is to small for output size,
  108336. * MEMORY_E when memory allocation fails and MP_OKAY on success.
  108337. */
  108338. int sp_ecc_secret_gen_521(const mp_int* priv, const ecc_point* pub, byte* out,
  108339. word32* outLen, void* heap)
  108340. {
  108341. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108342. sp_point_521* point = NULL;
  108343. sp_digit* k = NULL;
  108344. #else
  108345. sp_point_521 point[1];
  108346. sp_digit k[9];
  108347. #endif
  108348. int err = MP_OKAY;
  108349. if (*outLen < 65U) {
  108350. err = BUFFER_E;
  108351. }
  108352. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108353. if (err == MP_OKAY) {
  108354. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521), heap,
  108355. DYNAMIC_TYPE_ECC);
  108356. if (point == NULL)
  108357. err = MEMORY_E;
  108358. }
  108359. if (err == MP_OKAY) {
  108360. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9, heap,
  108361. DYNAMIC_TYPE_ECC);
  108362. if (k == NULL)
  108363. err = MEMORY_E;
  108364. }
  108365. #endif
  108366. if (err == MP_OKAY) {
  108367. sp_521_from_mp(k, 9, priv);
  108368. sp_521_point_from_ecc_point_9(point, pub);
  108369. err = sp_521_ecc_mulmod_9(point, point, k, 1, 1, heap);
  108370. }
  108371. if (err == MP_OKAY) {
  108372. sp_521_to_bin_9(point->x, out);
  108373. *outLen = 66;
  108374. }
  108375. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108376. if (k != NULL)
  108377. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  108378. if (point != NULL)
  108379. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  108380. #endif
  108381. return err;
  108382. }
  108383. #endif /* HAVE_ECC_DHE */
  108384. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  108385. #endif
  108386. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  108387. #endif
  108388. #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
  108389. /* Multiply two number mod the order of P521 curve. (r = a * b mod order)
  108390. *
  108391. * r Result of the multiplication.
  108392. * a First operand of the multiplication.
  108393. * b Second operand of the multiplication.
  108394. */
  108395. static void sp_521_mont_mul_order_9(sp_digit* r, const sp_digit* a, const sp_digit* b)
  108396. {
  108397. sp_521_mul_9(r, a, b);
  108398. sp_521_mont_reduce_order_9(r, p521_order, p521_mp_order);
  108399. }
  108400. #if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
  108401. #ifdef WOLFSSL_SP_SMALL
  108402. /* Order-2 for the P521 curve. */
  108403. static const uint64_t p521_order_minus_2[9] = {
  108404. 0xbb6fb71e91386407U,0x3bb5c9b8899c47aeU,0x7fcc0148f709a5d0U,
  108405. 0x51868783bf2f966bU,0xfffffffffffffffaU,0xffffffffffffffffU,
  108406. 0xffffffffffffffffU,0xffffffffffffffffU,0x00000000000001ffU
  108407. };
  108408. #else
  108409. /* The low half of the order-2 of the P521 curve. */
  108410. static const uint64_t p521_order_low[5] = {
  108411. 0xbb6fb71e91386407U,0x3bb5c9b8899c47aeU,0x7fcc0148f709a5d0U,
  108412. 0x51868783bf2f966bU,0xfffffffffffffffaU
  108413. };
  108414. #endif /* WOLFSSL_SP_SMALL */
  108415. /* Square number mod the order of P521 curve. (r = a * a mod order)
  108416. *
  108417. * r Result of the squaring.
  108418. * a Number to square.
  108419. */
  108420. static void sp_521_mont_sqr_order_9(sp_digit* r, const sp_digit* a)
  108421. {
  108422. sp_521_sqr_9(r, a);
  108423. sp_521_mont_reduce_order_9(r, p521_order, p521_mp_order);
  108424. }
  108425. #ifndef WOLFSSL_SP_SMALL
  108426. /* Square number mod the order of P521 curve a number of times.
  108427. * (r = a ^ n mod order)
  108428. *
  108429. * r Result of the squaring.
  108430. * a Number to square.
  108431. */
  108432. static void sp_521_mont_sqr_n_order_9(sp_digit* r, const sp_digit* a, int n)
  108433. {
  108434. int i;
  108435. sp_521_mont_sqr_order_9(r, a);
  108436. for (i=1; i<n; i++) {
  108437. sp_521_mont_sqr_order_9(r, r);
  108438. }
  108439. }
  108440. #endif /* !WOLFSSL_SP_SMALL */
  108441. /* Invert the number, in Montgomery form, modulo the order of the P521 curve.
  108442. * (r = 1 / a mod order)
  108443. *
  108444. * r Inverse result.
  108445. * a Number to invert.
  108446. * td Temporary data.
  108447. */
  108448. #ifdef WOLFSSL_SP_NONBLOCK
  108449. typedef struct sp_521_mont_inv_order_9_ctx {
  108450. int state;
  108451. int i;
  108452. } sp_521_mont_inv_order_9_ctx;
  108453. static int sp_521_mont_inv_order_9_nb(sp_ecc_ctx_t* sp_ctx, sp_digit* r, const sp_digit* a,
  108454. sp_digit* t)
  108455. {
  108456. int err = FP_WOULDBLOCK;
  108457. sp_521_mont_inv_order_9_ctx* ctx = (sp_521_mont_inv_order_9_ctx*)sp_ctx;
  108458. typedef char ctx_size_test[sizeof(sp_521_mont_inv_order_9_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  108459. (void)sizeof(ctx_size_test);
  108460. switch (ctx->state) {
  108461. case 0:
  108462. XMEMCPY(t, a, sizeof(sp_digit) * 9);
  108463. ctx->i = 519;
  108464. ctx->state = 1;
  108465. break;
  108466. case 1:
  108467. sp_521_mont_sqr_order_9(t, t);
  108468. ctx->state = 2;
  108469. break;
  108470. case 2:
  108471. if ((p521_order_minus_2[ctx->i / 64] & ((sp_int_digit)1 << (ctx->i % 64))) != 0) {
  108472. sp_521_mont_mul_order_9(t, t, a);
  108473. }
  108474. ctx->i--;
  108475. ctx->state = (ctx->i == 0) ? 3 : 1;
  108476. break;
  108477. case 3:
  108478. XMEMCPY(r, t, sizeof(sp_digit) * 9U);
  108479. err = MP_OKAY;
  108480. break;
  108481. }
  108482. return err;
  108483. }
  108484. #endif /* WOLFSSL_SP_NONBLOCK */
  108485. static void sp_521_mont_inv_order_9(sp_digit* r, const sp_digit* a,
  108486. sp_digit* td)
  108487. {
  108488. #ifdef WOLFSSL_SP_SMALL
  108489. sp_digit* t = td;
  108490. int i;
  108491. XMEMCPY(t, a, sizeof(sp_digit) * 9);
  108492. for (i=519; i>=0; i--) {
  108493. sp_521_mont_sqr_order_9(t, t);
  108494. if ((p521_order_minus_2[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  108495. sp_521_mont_mul_order_9(t, t, a);
  108496. }
  108497. }
  108498. XMEMCPY(r, t, sizeof(sp_digit) * 9U);
  108499. #else
  108500. sp_digit* t = td;
  108501. sp_digit* t2 = td + 2 * 9;
  108502. sp_digit* t3 = td + 4 * 9;
  108503. int i;
  108504. /* t = a^2 */
  108505. sp_521_mont_sqr_order_9(t, a);
  108506. /* t = a^3 = t * a */
  108507. sp_521_mont_mul_order_9(t, t, a);
  108508. /* t= a^c = t ^ 2 ^ 2 */
  108509. sp_521_mont_sqr_n_order_9(t2, t, 2);
  108510. /* t = a^f = t2 * t */
  108511. sp_521_mont_mul_order_9(t, t2, t);
  108512. /* t3 = a^1e */
  108513. sp_521_mont_sqr_order_9(t3, t);
  108514. /* t3 = a^1f = t3 * a */
  108515. sp_521_mont_mul_order_9(t3, t3, a);
  108516. /* t2= a^f0 = t ^ 2 ^ 4 */
  108517. sp_521_mont_sqr_n_order_9(t2, t, 4);
  108518. /* t = a^ff = t2 * t */
  108519. sp_521_mont_mul_order_9(t, t2, t);
  108520. /* t2= a^ff00 = t ^ 2 ^ 8 */
  108521. sp_521_mont_sqr_n_order_9(t2, t, 8);
  108522. /* t3= a^ffff = t2 * t */
  108523. sp_521_mont_mul_order_9(t, t2, t);
  108524. /* t2= a^ffff0000 = t ^ 2 ^ 16 */
  108525. sp_521_mont_sqr_n_order_9(t2, t, 16);
  108526. /* t = a^ffffffff = t2 * t */
  108527. sp_521_mont_mul_order_9(t, t2, t);
  108528. /* t2= a^ffffffff00000000 = t ^ 2 ^ 32 */
  108529. sp_521_mont_sqr_n_order_9(t2, t, 32);
  108530. /* t = a^ffffffffffffffff = t2 * t */
  108531. sp_521_mont_mul_order_9(t, t2, t);
  108532. /* t2= a^ffffffffffffffff0000000000000000 = t ^ 2 ^ 64 */
  108533. sp_521_mont_sqr_n_order_9(t2, t, 64);
  108534. /* t = a^ffffffffffffffffffffffffffffffff = t2 * t */
  108535. sp_521_mont_mul_order_9(t, t2, t);
  108536. /* t2= a^ffffffffffffffffffffffffffffffff00000000000000000000000000000000 = t ^ 2 ^ 128 */
  108537. sp_521_mont_sqr_n_order_9(t2, t, 128);
  108538. /* t = a^ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = t2 * t */
  108539. sp_521_mont_mul_order_9(t, t2, t);
  108540. /* t2 = a^1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 */
  108541. sp_521_mont_sqr_n_order_9(t2, t, 5);
  108542. /* t2 = a^1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = t * t3 */
  108543. sp_521_mont_mul_order_9(t2, t2, t3);
  108544. for (i=259; i>=1; i--) {
  108545. sp_521_mont_sqr_order_9(t2, t2);
  108546. if ((p521_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) {
  108547. sp_521_mont_mul_order_9(t2, t2, a);
  108548. }
  108549. }
  108550. sp_521_mont_sqr_order_9(t2, t2);
  108551. sp_521_mont_mul_order_9(r, t2, a);
  108552. #endif /* WOLFSSL_SP_SMALL */
  108553. }
  108554. #endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
  108555. #endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
  108556. #ifdef HAVE_ECC_SIGN
  108557. #ifndef SP_ECC_MAX_SIG_GEN
  108558. #define SP_ECC_MAX_SIG_GEN 64
  108559. #endif
  108560. /* Calculate second signature value S from R, k and private value.
  108561. *
  108562. * s = (r * x + e) / k
  108563. *
  108564. * s Signature value.
  108565. * r First signature value.
  108566. * k Ephemeral private key.
  108567. * x Private key as a number.
  108568. * e Hash of message as a number.
  108569. * tmp Temporary storage for intermediate numbers.
  108570. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  108571. */
  108572. static int sp_521_calc_s_9(sp_digit* s, const sp_digit* r, sp_digit* k,
  108573. sp_digit* x, const sp_digit* e, sp_digit* tmp)
  108574. {
  108575. int err;
  108576. sp_digit carry;
  108577. sp_int64 c;
  108578. sp_digit* kInv = k;
  108579. /* Conv k to Montgomery form (mod order) */
  108580. sp_521_mul_9(k, k, p521_norm_order);
  108581. err = sp_521_mod_9(k, k, p521_order);
  108582. if (err == MP_OKAY) {
  108583. sp_521_norm_9(k);
  108584. /* kInv = 1/k mod order */
  108585. sp_521_mont_inv_order_9(kInv, k, tmp);
  108586. sp_521_norm_9(kInv);
  108587. /* s = r * x + e */
  108588. sp_521_mul_9(x, x, r);
  108589. err = sp_521_mod_9(x, x, p521_order);
  108590. }
  108591. if (err == MP_OKAY) {
  108592. sp_521_norm_9(x);
  108593. carry = sp_521_add_9(s, e, x);
  108594. sp_521_cond_sub_9(s, s, p521_order, 0 - carry);
  108595. sp_521_norm_9(s);
  108596. c = sp_521_cmp_9(s, p521_order);
  108597. sp_521_cond_sub_9(s, s, p521_order,
  108598. (sp_digit)0 - (sp_digit)(c >= 0));
  108599. sp_521_norm_9(s);
  108600. /* s = s * k^-1 mod order */
  108601. sp_521_mont_mul_order_9(s, s, kInv);
  108602. sp_521_norm_9(s);
  108603. }
  108604. return err;
  108605. }
  108606. /* Sign the hash using the private key.
  108607. * e = [hash, 521 bits] from binary
  108608. * r = (k.G)->x mod order
  108609. * s = (r * x + e) / k mod order
  108610. * The hash is truncated to the first 521 bits.
  108611. *
  108612. * hash Hash to sign.
  108613. * hashLen Length of the hash data.
  108614. * rng Random number generator.
  108615. * priv Private part of key - scalar.
  108616. * rm First part of result as an mp_int.
  108617. * sm Sirst part of result as an mp_int.
  108618. * heap Heap to use for allocation.
  108619. * returns RNG failures, MEMORY_E when memory allocation fails and
  108620. * MP_OKAY on success.
  108621. */
  108622. #ifdef WOLFSSL_SP_NONBLOCK
  108623. typedef struct sp_ecc_sign_521_ctx {
  108624. int state;
  108625. union {
  108626. sp_521_ecc_mulmod_9_ctx mulmod_ctx;
  108627. sp_521_mont_inv_order_9_ctx mont_inv_order_ctx;
  108628. };
  108629. sp_digit e[2*9];
  108630. sp_digit x[2*9];
  108631. sp_digit k[2*9];
  108632. sp_digit r[2*9];
  108633. sp_digit tmp[3 * 2*9];
  108634. sp_point_521 point;
  108635. sp_digit* s;
  108636. sp_digit* kInv;
  108637. int i;
  108638. } sp_ecc_sign_521_ctx;
  108639. int sp_ecc_sign_521_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash, word32 hashLen, WC_RNG* rng,
  108640. mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap)
  108641. {
  108642. int err = FP_WOULDBLOCK;
  108643. sp_ecc_sign_521_ctx* ctx = (sp_ecc_sign_521_ctx*)sp_ctx->data;
  108644. typedef char ctx_size_test[sizeof(sp_ecc_sign_521_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  108645. (void)sizeof(ctx_size_test);
  108646. (void)heap;
  108647. switch (ctx->state) {
  108648. case 0: /* INIT */
  108649. ctx->s = ctx->e;
  108650. ctx->kInv = ctx->k;
  108651. ctx->i = SP_ECC_MAX_SIG_GEN;
  108652. ctx->state = 1;
  108653. break;
  108654. case 1: /* GEN */
  108655. /* New random point. */
  108656. if (km == NULL || mp_iszero(km)) {
  108657. err = sp_521_ecc_gen_k_9(rng, ctx->k);
  108658. }
  108659. else {
  108660. sp_521_from_mp(ctx->k, 9, km);
  108661. mp_zero(km);
  108662. }
  108663. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  108664. ctx->state = 2;
  108665. break;
  108666. case 2: /* MULMOD */
  108667. err = sp_521_ecc_mulmod_9_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx,
  108668. &ctx->point, &p521_base, ctx->k, 1, 1, heap);
  108669. if (err == MP_OKAY) {
  108670. ctx->state = 3;
  108671. }
  108672. break;
  108673. case 3: /* MODORDER */
  108674. {
  108675. sp_int64 c;
  108676. /* r = point->x mod order */
  108677. XMEMCPY(ctx->r, ctx->point.x, sizeof(sp_digit) * 9U);
  108678. sp_521_norm_9(ctx->r);
  108679. c = sp_521_cmp_9(ctx->r, p521_order);
  108680. sp_521_cond_sub_9(ctx->r, ctx->r, p521_order,
  108681. (sp_digit)0 - (sp_digit)(c >= 0));
  108682. sp_521_norm_9(ctx->r);
  108683. if (hashLen > 66U) {
  108684. hashLen = 66U;
  108685. }
  108686. sp_521_from_mp(ctx->x, 9, priv);
  108687. sp_521_from_bin(ctx->e, 9, hash, (int)hashLen);
  108688. if (hashLen == 66U) {
  108689. sp_521_rshift_9(ctx->e, ctx->e, 7);
  108690. }
  108691. ctx->state = 4;
  108692. break;
  108693. }
  108694. case 4: /* KMODORDER */
  108695. /* Conv k to Montgomery form (mod order) */
  108696. sp_521_mul_9(ctx->k, ctx->k, p521_norm_order);
  108697. err = sp_521_mod_9(ctx->k, ctx->k, p521_order);
  108698. if (err == MP_OKAY) {
  108699. sp_521_norm_9(ctx->k);
  108700. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  108701. ctx->state = 5;
  108702. }
  108703. break;
  108704. case 5: /* KINV */
  108705. /* kInv = 1/k mod order */
  108706. err = sp_521_mont_inv_order_9_nb((sp_ecc_ctx_t*)&ctx->mont_inv_order_ctx, ctx->kInv, ctx->k, ctx->tmp);
  108707. if (err == MP_OKAY) {
  108708. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  108709. ctx->state = 6;
  108710. }
  108711. break;
  108712. case 6: /* KINVNORM */
  108713. sp_521_norm_9(ctx->kInv);
  108714. ctx->state = 7;
  108715. break;
  108716. case 7: /* R */
  108717. /* s = r * x + e */
  108718. sp_521_mul_9(ctx->x, ctx->x, ctx->r);
  108719. ctx->state = 8;
  108720. break;
  108721. case 8: /* S1 */
  108722. err = sp_521_mod_9(ctx->x, ctx->x, p521_order);
  108723. if (err == MP_OKAY)
  108724. ctx->state = 9;
  108725. break;
  108726. case 9: /* S2 */
  108727. {
  108728. sp_digit carry;
  108729. sp_int64 c;
  108730. sp_521_norm_9(ctx->x);
  108731. carry = sp_521_add_9(ctx->s, ctx->e, ctx->x);
  108732. sp_521_cond_sub_9(ctx->s, ctx->s,
  108733. p521_order, 0 - carry);
  108734. sp_521_norm_9(ctx->s);
  108735. c = sp_521_cmp_9(ctx->s, p521_order);
  108736. sp_521_cond_sub_9(ctx->s, ctx->s, p521_order,
  108737. (sp_digit)0 - (sp_digit)(c >= 0));
  108738. sp_521_norm_9(ctx->s);
  108739. /* s = s * k^-1 mod order */
  108740. sp_521_mont_mul_order_9(ctx->s, ctx->s, ctx->kInv);
  108741. sp_521_norm_9(ctx->s);
  108742. /* Check that signature is usable. */
  108743. if (sp_521_iszero_9(ctx->s) == 0) {
  108744. ctx->state = 10;
  108745. break;
  108746. }
  108747. #ifdef WOLFSSL_ECDSA_SET_K_ONE_LOOP
  108748. ctx->i = 1;
  108749. #endif
  108750. /* not usable gen, try again */
  108751. ctx->i--;
  108752. if (ctx->i == 0) {
  108753. err = RNG_FAILURE_E;
  108754. }
  108755. ctx->state = 1;
  108756. break;
  108757. }
  108758. case 10: /* RES */
  108759. err = sp_521_to_mp(ctx->r, rm);
  108760. if (err == MP_OKAY) {
  108761. err = sp_521_to_mp(ctx->s, sm);
  108762. }
  108763. break;
  108764. }
  108765. if (err == MP_OKAY && ctx->state != 10) {
  108766. err = FP_WOULDBLOCK;
  108767. }
  108768. if (err != FP_WOULDBLOCK) {
  108769. XMEMSET(ctx->e, 0, sizeof(sp_digit) * 2U * 9U);
  108770. XMEMSET(ctx->x, 0, sizeof(sp_digit) * 2U * 9U);
  108771. XMEMSET(ctx->k, 0, sizeof(sp_digit) * 2U * 9U);
  108772. XMEMSET(ctx->r, 0, sizeof(sp_digit) * 2U * 9U);
  108773. XMEMSET(ctx->tmp, 0, sizeof(sp_digit) * 3U * 2U * 9U);
  108774. }
  108775. return err;
  108776. }
  108777. #endif /* WOLFSSL_SP_NONBLOCK */
  108778. int sp_ecc_sign_521(const byte* hash, word32 hashLen, WC_RNG* rng,
  108779. const mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap)
  108780. {
  108781. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108782. sp_digit* e = NULL;
  108783. sp_point_521* point = NULL;
  108784. #else
  108785. sp_digit e[7 * 2 * 9];
  108786. sp_point_521 point[1];
  108787. #endif
  108788. sp_digit* x = NULL;
  108789. sp_digit* k = NULL;
  108790. sp_digit* r = NULL;
  108791. sp_digit* tmp = NULL;
  108792. sp_digit* s = NULL;
  108793. sp_int64 c;
  108794. int err = MP_OKAY;
  108795. int i;
  108796. (void)heap;
  108797. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108798. if (err == MP_OKAY) {
  108799. point = (sp_point_521*)XMALLOC(sizeof(sp_point_521), heap,
  108800. DYNAMIC_TYPE_ECC);
  108801. if (point == NULL)
  108802. err = MEMORY_E;
  108803. }
  108804. if (err == MP_OKAY) {
  108805. e = (sp_digit*)XMALLOC(sizeof(sp_digit) * 7 * 2 * 9, heap,
  108806. DYNAMIC_TYPE_ECC);
  108807. if (e == NULL)
  108808. err = MEMORY_E;
  108809. }
  108810. #endif
  108811. if (err == MP_OKAY) {
  108812. x = e + 2 * 9;
  108813. k = e + 4 * 9;
  108814. r = e + 6 * 9;
  108815. tmp = e + 8 * 9;
  108816. s = e;
  108817. if (hashLen > 66U) {
  108818. hashLen = 66U;
  108819. }
  108820. }
  108821. for (i = SP_ECC_MAX_SIG_GEN; err == MP_OKAY && i > 0; i--) {
  108822. /* New random point. */
  108823. if (km == NULL || mp_iszero(km)) {
  108824. err = sp_521_ecc_gen_k_9(rng, k);
  108825. }
  108826. else {
  108827. sp_521_from_mp(k, 9, km);
  108828. mp_zero(km);
  108829. }
  108830. if (err == MP_OKAY) {
  108831. err = sp_521_ecc_mulmod_base_9(point, k, 1, 1, heap);
  108832. }
  108833. if (err == MP_OKAY) {
  108834. /* r = point->x mod order */
  108835. XMEMCPY(r, point->x, sizeof(sp_digit) * 9U);
  108836. sp_521_norm_9(r);
  108837. c = sp_521_cmp_9(r, p521_order);
  108838. sp_521_cond_sub_9(r, r, p521_order,
  108839. (sp_digit)0 - (sp_digit)(c >= 0));
  108840. sp_521_norm_9(r);
  108841. sp_521_from_mp(x, 9, priv);
  108842. sp_521_from_bin(e, 9, hash, (int)hashLen);
  108843. if (hashLen == 66U) {
  108844. sp_521_rshift_9(e, e, 7);
  108845. }
  108846. err = sp_521_calc_s_9(s, r, k, x, e, tmp);
  108847. }
  108848. /* Check that signature is usable. */
  108849. if ((err == MP_OKAY) && (sp_521_iszero_9(s) == 0)) {
  108850. break;
  108851. }
  108852. #ifdef WOLFSSL_ECDSA_SET_K_ONE_LOOP
  108853. i = 1;
  108854. #endif
  108855. }
  108856. if (i == 0) {
  108857. err = RNG_FAILURE_E;
  108858. }
  108859. if (err == MP_OKAY) {
  108860. err = sp_521_to_mp(r, rm);
  108861. }
  108862. if (err == MP_OKAY) {
  108863. err = sp_521_to_mp(s, sm);
  108864. }
  108865. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108866. if (e != NULL)
  108867. #endif
  108868. {
  108869. ForceZero(e, sizeof(sp_digit) * 7 * 2 * 9);
  108870. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108871. XFREE(e, heap, DYNAMIC_TYPE_ECC);
  108872. #endif
  108873. }
  108874. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108875. if (point != NULL)
  108876. #endif
  108877. {
  108878. ForceZero(point, sizeof(sp_point_521));
  108879. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  108880. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  108881. #endif
  108882. }
  108883. return err;
  108884. }
  108885. #endif /* HAVE_ECC_SIGN */
  108886. #ifndef WOLFSSL_SP_SMALL
  108887. /* Divide the number by 2 mod the modulus. (r = a / 2 % m)
  108888. *
  108889. * r Result of division by 2.
  108890. * a Number to divide.
  108891. * m Modulus.
  108892. */
  108893. static void sp_521_div2_mod_9(sp_digit* r, const sp_digit* a,
  108894. const sp_digit* m)
  108895. {
  108896. __asm__ __volatile__ (
  108897. "ldr x3, [%[a], 0]\n\t"
  108898. "ldr x4, [%[a], 8]\n\t"
  108899. "ldr x5, [%[a], 16]\n\t"
  108900. "ldr x6, [%[a], 24]\n\t"
  108901. "ldr x7, [%[a], 32]\n\t"
  108902. "ldr x8, [%[a], 40]\n\t"
  108903. "ldr x9, [%[a], 48]\n\t"
  108904. "ldr x10, [%[a], 56]\n\t"
  108905. "ldr x11, [%[a], 64]\n\t"
  108906. "ldr x12, [%[m], 0]\n\t"
  108907. "ldr x13, [%[m], 8]\n\t"
  108908. "ldr x14, [%[m], 16]\n\t"
  108909. "ldr x15, [%[m], 24]\n\t"
  108910. "ldr x16, [%[m], 32]\n\t"
  108911. "ldr x17, [%[m], 40]\n\t"
  108912. "ldr x19, [%[m], 48]\n\t"
  108913. "ldr x20, [%[m], 56]\n\t"
  108914. "ldr x21, [%[m], 64]\n\t"
  108915. "ands x22, x3, 1\n\t"
  108916. "b.eq 1f\n\t"
  108917. "adds x3, x3, x12\n\t"
  108918. "adcs x4, x4, x13\n\t"
  108919. "adcs x5, x5, x14\n\t"
  108920. "adcs x6, x6, x15\n\t"
  108921. "adcs x7, x7, x16\n\t"
  108922. "adcs x8, x8, x17\n\t"
  108923. "adcs x9, x9, x19\n\t"
  108924. "adcs x10, x10, x20\n\t"
  108925. "adcs x11, x11, x21\n\t"
  108926. "cset x22, cs\n\t"
  108927. "\n1:\n\t"
  108928. "extr x3, x4, x3, 1\n\t"
  108929. "extr x4, x5, x4, 1\n\t"
  108930. "extr x5, x6, x5, 1\n\t"
  108931. "extr x6, x7, x6, 1\n\t"
  108932. "extr x7, x8, x7, 1\n\t"
  108933. "extr x8, x9, x8, 1\n\t"
  108934. "extr x9, x10, x9, 1\n\t"
  108935. "extr x10, x11, x10, 1\n\t"
  108936. "extr x11, x22, x11, 1\n\t"
  108937. "str x3, [%[r], 0]\n\t"
  108938. "str x4, [%[r], 8]\n\t"
  108939. "str x5, [%[r], 16]\n\t"
  108940. "str x6, [%[r], 24]\n\t"
  108941. "str x7, [%[r], 32]\n\t"
  108942. "str x8, [%[r], 40]\n\t"
  108943. "str x9, [%[r], 48]\n\t"
  108944. "str x10, [%[r], 56]\n\t"
  108945. "str x11, [%[r], 64]\n\t"
  108946. :
  108947. : [r] "r" (r), [a] "r" (a), [m] "r" (m)
  108948. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22"
  108949. );
  108950. }
  108951. static int sp_521_num_bits_64_9(sp_digit n)
  108952. {
  108953. int64_t r = -1;
  108954. __asm__ __volatile__ (
  108955. "mov x1, 64\n\t"
  108956. "clz %[r], %[n]\n\t"
  108957. "sub %[r], x1, %[r]"
  108958. : [r] "+r" (r)
  108959. : [n] "r" (n)
  108960. : "x1"
  108961. );
  108962. return (int)(r + 1);
  108963. }
  108964. static int sp_521_num_bits_9(const sp_digit* a)
  108965. {
  108966. int i;
  108967. int r = 0;
  108968. for (i=8; i>=0; i--) {
  108969. if (a[i] != 0) {
  108970. r = sp_521_num_bits_64_9(a[i]);
  108971. r += i * 64;
  108972. break;
  108973. }
  108974. }
  108975. return r;
  108976. }
  108977. /* Non-constant time modular inversion.
  108978. *
  108979. * @param [out] r Resulting number.
  108980. * @param [in] a Number to invert.
  108981. * @param [in] m Modulus.
  108982. * @return MP_OKAY on success.
  108983. */
  108984. static int sp_521_mod_inv_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
  108985. {
  108986. sp_digit u[9];
  108987. sp_digit v[9];
  108988. sp_digit b[9];
  108989. sp_digit d[9];
  108990. int ut, vt;
  108991. sp_digit o;
  108992. XMEMCPY(u, m, sizeof(u));
  108993. XMEMCPY(v, a, sizeof(v));
  108994. ut = sp_521_num_bits_9(u);
  108995. vt = sp_521_num_bits_9(v);
  108996. XMEMSET(b, 0, sizeof(b));
  108997. if ((v[0] & 1) == 0) {
  108998. sp_521_rshift1_9(v, v);
  108999. XMEMCPY(d, m, sizeof(u));
  109000. d[0] += 1;
  109001. sp_521_rshift1_9(d, d);
  109002. vt--;
  109003. while ((v[0] & 1) == 0) {
  109004. sp_521_rshift1_9(v, v);
  109005. sp_521_div2_mod_9(d, d, m);
  109006. vt--;
  109007. }
  109008. }
  109009. else {
  109010. XMEMSET(d+1, 0, sizeof(d)-sizeof(sp_digit));
  109011. d[0] = 1;
  109012. }
  109013. while (ut > 1 && vt > 1) {
  109014. if (ut > vt || (ut == vt && sp_521_cmp_9(u, v) >= 0)) {
  109015. sp_521_sub_9(u, u, v);
  109016. o = sp_521_sub_9(b, b, d);
  109017. if (o != 0)
  109018. sp_521_add_9(b, b, m);
  109019. ut = sp_521_num_bits_9(u);
  109020. do {
  109021. sp_521_rshift1_9(u, u);
  109022. sp_521_div2_mod_9(b, b, m);
  109023. ut--;
  109024. }
  109025. while (ut > 0 && (u[0] & 1) == 0);
  109026. }
  109027. else {
  109028. sp_521_sub_9(v, v, u);
  109029. o = sp_521_sub_9(d, d, b);
  109030. if (o != 0)
  109031. sp_521_add_9(d, d, m);
  109032. vt = sp_521_num_bits_9(v);
  109033. do {
  109034. sp_521_rshift1_9(v, v);
  109035. sp_521_div2_mod_9(d, d, m);
  109036. vt--;
  109037. }
  109038. while (vt > 0 && (v[0] & 1) == 0);
  109039. }
  109040. }
  109041. if (ut == 1)
  109042. XMEMCPY(r, b, sizeof(b));
  109043. else
  109044. XMEMCPY(r, d, sizeof(d));
  109045. return MP_OKAY;
  109046. }
  109047. #endif /* WOLFSSL_SP_SMALL */
  109048. /* Add point p1 into point p2. Handles p1 == p2 and result at infinity.
  109049. *
  109050. * p1 First point to add and holds result.
  109051. * p2 Second point to add.
  109052. * tmp Temporary storage for intermediate numbers.
  109053. */
  109054. static void sp_521_add_points_9(sp_point_521* p1, const sp_point_521* p2,
  109055. sp_digit* tmp)
  109056. {
  109057. sp_521_proj_point_add_9(p1, p1, p2, tmp);
  109058. if (sp_521_iszero_9(p1->z)) {
  109059. if (sp_521_iszero_9(p1->x) && sp_521_iszero_9(p1->y)) {
  109060. sp_521_proj_point_dbl_9(p1, p2, tmp);
  109061. }
  109062. else {
  109063. /* Y ordinate is not used from here - don't set. */
  109064. p1->x[0] = 0;
  109065. p1->x[1] = 0;
  109066. p1->x[2] = 0;
  109067. p1->x[3] = 0;
  109068. p1->x[4] = 0;
  109069. p1->x[5] = 0;
  109070. p1->x[6] = 0;
  109071. p1->x[7] = 0;
  109072. p1->x[8] = 0;
  109073. XMEMCPY(p1->z, p521_norm_mod, sizeof(p521_norm_mod));
  109074. }
  109075. }
  109076. }
  109077. /* Calculate the verification point: [e/s]G + [r/s]Q
  109078. *
  109079. * p1 Calculated point.
  109080. * p2 Public point and temporary.
  109081. * s Second part of signature as a number.
  109082. * u1 Temporary number.
  109083. * u2 Temproray number.
  109084. * heap Heap to use for allocation.
  109085. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  109086. */
  109087. static int sp_521_calc_vfy_point_9(sp_point_521* p1, sp_point_521* p2,
  109088. sp_digit* s, sp_digit* u1, sp_digit* u2, sp_digit* tmp, void* heap)
  109089. {
  109090. int err;
  109091. #ifndef WOLFSSL_SP_SMALL
  109092. err = sp_521_mod_inv_9(s, s, p521_order);
  109093. if (err == MP_OKAY)
  109094. #endif /* !WOLFSSL_SP_SMALL */
  109095. {
  109096. sp_521_mul_9(s, s, p521_norm_order);
  109097. err = sp_521_mod_9(s, s, p521_order);
  109098. }
  109099. if (err == MP_OKAY) {
  109100. sp_521_norm_9(s);
  109101. #ifdef WOLFSSL_SP_SMALL
  109102. {
  109103. sp_521_mont_inv_order_9(s, s, tmp);
  109104. sp_521_mont_mul_order_9(u1, u1, s);
  109105. sp_521_mont_mul_order_9(u2, u2, s);
  109106. }
  109107. #else
  109108. {
  109109. sp_521_mont_mul_order_9(u1, u1, s);
  109110. sp_521_mont_mul_order_9(u2, u2, s);
  109111. }
  109112. #endif /* WOLFSSL_SP_SMALL */
  109113. {
  109114. err = sp_521_ecc_mulmod_base_9(p1, u1, 0, 0, heap);
  109115. }
  109116. }
  109117. if ((err == MP_OKAY) && sp_521_iszero_9(p1->z)) {
  109118. p1->infinity = 1;
  109119. }
  109120. if (err == MP_OKAY) {
  109121. err = sp_521_ecc_mulmod_9(p2, p2, u2, 0, 0, heap);
  109122. }
  109123. if ((err == MP_OKAY) && sp_521_iszero_9(p2->z)) {
  109124. p2->infinity = 1;
  109125. }
  109126. if (err == MP_OKAY) {
  109127. sp_521_add_points_9(p1, p2, tmp);
  109128. }
  109129. return err;
  109130. }
  109131. #ifdef HAVE_ECC_VERIFY
  109132. /* Verify the signature values with the hash and public key.
  109133. * e = Truncate(hash, 521)
  109134. * u1 = e/s mod order
  109135. * u2 = r/s mod order
  109136. * r == (u1.G + u2.Q)->x mod order
  109137. * Optimization: Leave point in projective form.
  109138. * (x, y, 1) == (x' / z'*z', y' / z'*z'*z', z' / z')
  109139. * (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x'
  109140. * The hash is truncated to the first 521 bits.
  109141. *
  109142. * hash Hash to sign.
  109143. * hashLen Length of the hash data.
  109144. * rng Random number generator.
  109145. * priv Private part of key - scalar.
  109146. * rm First part of result as an mp_int.
  109147. * sm Sirst part of result as an mp_int.
  109148. * heap Heap to use for allocation.
  109149. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  109150. */
  109151. #ifdef WOLFSSL_SP_NONBLOCK
  109152. typedef struct sp_ecc_verify_521_ctx {
  109153. int state;
  109154. union {
  109155. sp_521_ecc_mulmod_9_ctx mulmod_ctx;
  109156. sp_521_mont_inv_order_9_ctx mont_inv_order_ctx;
  109157. sp_521_proj_point_dbl_9_ctx dbl_ctx;
  109158. sp_521_proj_point_add_9_ctx add_ctx;
  109159. };
  109160. sp_digit u1[2*9];
  109161. sp_digit u2[2*9];
  109162. sp_digit s[2*9];
  109163. sp_digit tmp[2*9 * 6];
  109164. sp_point_521 p1;
  109165. sp_point_521 p2;
  109166. } sp_ecc_verify_521_ctx;
  109167. int sp_ecc_verify_521_nb(sp_ecc_ctx_t* sp_ctx, const byte* hash,
  109168. word32 hashLen, const mp_int* pX, const mp_int* pY, const mp_int* pZ,
  109169. const mp_int* rm, const mp_int* sm, int* res, void* heap)
  109170. {
  109171. int err = FP_WOULDBLOCK;
  109172. sp_ecc_verify_521_ctx* ctx = (sp_ecc_verify_521_ctx*)sp_ctx->data;
  109173. typedef char ctx_size_test[sizeof(sp_ecc_verify_521_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  109174. (void)sizeof(ctx_size_test);
  109175. switch (ctx->state) {
  109176. case 0: /* INIT */
  109177. if (hashLen > 66U) {
  109178. hashLen = 66U;
  109179. }
  109180. sp_521_from_bin(ctx->u1, 9, hash, (int)hashLen);
  109181. sp_521_from_mp(ctx->u2, 9, rm);
  109182. sp_521_from_mp(ctx->s, 9, sm);
  109183. sp_521_from_mp(ctx->p2.x, 9, pX);
  109184. sp_521_from_mp(ctx->p2.y, 9, pY);
  109185. sp_521_from_mp(ctx->p2.z, 9, pZ);
  109186. if (hashLen == 66U) {
  109187. sp_521_rshift_9(ctx->u1, ctx->u1, 7);
  109188. }
  109189. ctx->state = 1;
  109190. break;
  109191. case 1: /* NORMS0 */
  109192. sp_521_mul_9(ctx->s, ctx->s, p521_norm_order);
  109193. err = sp_521_mod_9(ctx->s, ctx->s, p521_order);
  109194. if (err == MP_OKAY)
  109195. ctx->state = 2;
  109196. break;
  109197. case 2: /* NORMS1 */
  109198. sp_521_norm_9(ctx->s);
  109199. XMEMSET(&ctx->mont_inv_order_ctx, 0, sizeof(ctx->mont_inv_order_ctx));
  109200. ctx->state = 3;
  109201. break;
  109202. case 3: /* NORMS2 */
  109203. err = sp_521_mont_inv_order_9_nb((sp_ecc_ctx_t*)&ctx->mont_inv_order_ctx, ctx->s, ctx->s, ctx->tmp);
  109204. if (err == MP_OKAY) {
  109205. ctx->state = 4;
  109206. }
  109207. break;
  109208. case 4: /* NORMS3 */
  109209. sp_521_mont_mul_order_9(ctx->u1, ctx->u1, ctx->s);
  109210. ctx->state = 5;
  109211. break;
  109212. case 5: /* NORMS4 */
  109213. sp_521_mont_mul_order_9(ctx->u2, ctx->u2, ctx->s);
  109214. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  109215. ctx->state = 6;
  109216. break;
  109217. case 6: /* MULBASE */
  109218. err = sp_521_ecc_mulmod_9_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, &ctx->p1, &p521_base, ctx->u1, 0, 0, heap);
  109219. if (err == MP_OKAY) {
  109220. if (sp_521_iszero_9(ctx->p1.z)) {
  109221. ctx->p1.infinity = 1;
  109222. }
  109223. XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx));
  109224. ctx->state = 7;
  109225. }
  109226. break;
  109227. case 7: /* MULMOD */
  109228. err = sp_521_ecc_mulmod_9_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, &ctx->p2, &ctx->p2, ctx->u2, 0, 0, heap);
  109229. if (err == MP_OKAY) {
  109230. if (sp_521_iszero_9(ctx->p2.z)) {
  109231. ctx->p2.infinity = 1;
  109232. }
  109233. XMEMSET(&ctx->add_ctx, 0, sizeof(ctx->add_ctx));
  109234. ctx->state = 8;
  109235. }
  109236. break;
  109237. case 8: /* ADD */
  109238. err = sp_521_proj_point_add_9_nb((sp_ecc_ctx_t*)&ctx->add_ctx, &ctx->p1, &ctx->p1, &ctx->p2, ctx->tmp);
  109239. if (err == MP_OKAY)
  109240. ctx->state = 9;
  109241. break;
  109242. case 9: /* MONT */
  109243. /* (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x' */
  109244. /* Reload r and convert to Montgomery form. */
  109245. sp_521_from_mp(ctx->u2, 9, rm);
  109246. err = sp_521_mod_mul_norm_9(ctx->u2, ctx->u2, p521_mod);
  109247. if (err == MP_OKAY)
  109248. ctx->state = 10;
  109249. break;
  109250. case 10: /* SQR */
  109251. /* u1 = r.z'.z' mod prime */
  109252. sp_521_mont_sqr_9(ctx->p1.z, ctx->p1.z, p521_mod, p521_mp_mod);
  109253. ctx->state = 11;
  109254. break;
  109255. case 11: /* MUL */
  109256. sp_521_mont_mul_9(ctx->u1, ctx->u2, ctx->p1.z, p521_mod, p521_mp_mod);
  109257. ctx->state = 12;
  109258. break;
  109259. case 12: /* RES */
  109260. {
  109261. sp_int64 c = 0;
  109262. err = MP_OKAY; /* math okay, now check result */
  109263. *res = (int)(sp_521_cmp_9(ctx->p1.x, ctx->u1) == 0);
  109264. if (*res == 0) {
  109265. sp_digit carry;
  109266. /* Reload r and add order. */
  109267. sp_521_from_mp(ctx->u2, 9, rm);
  109268. carry = sp_521_add_9(ctx->u2, ctx->u2, p521_order);
  109269. /* Carry means result is greater than mod and is not valid. */
  109270. if (carry == 0) {
  109271. sp_521_norm_9(ctx->u2);
  109272. /* Compare with mod and if greater or equal then not valid. */
  109273. c = sp_521_cmp_9(ctx->u2, p521_mod);
  109274. }
  109275. }
  109276. if ((*res == 0) && (c < 0)) {
  109277. /* Convert to Montogomery form */
  109278. err = sp_521_mod_mul_norm_9(ctx->u2, ctx->u2, p521_mod);
  109279. if (err == MP_OKAY) {
  109280. /* u1 = (r + 1*order).z'.z' mod prime */
  109281. sp_521_mont_mul_9(ctx->u1, ctx->u2, ctx->p1.z, p521_mod,
  109282. p521_mp_mod);
  109283. *res = (int)(sp_521_cmp_9(ctx->p1.x, ctx->u1) == 0);
  109284. }
  109285. }
  109286. break;
  109287. }
  109288. } /* switch */
  109289. if (err == MP_OKAY && ctx->state != 12) {
  109290. err = FP_WOULDBLOCK;
  109291. }
  109292. return err;
  109293. }
  109294. #endif /* WOLFSSL_SP_NONBLOCK */
  109295. int sp_ecc_verify_521(const byte* hash, word32 hashLen, const mp_int* pX,
  109296. const mp_int* pY, const mp_int* pZ, const mp_int* rm, const mp_int* sm,
  109297. int* res, void* heap)
  109298. {
  109299. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109300. sp_digit* u1 = NULL;
  109301. sp_point_521* p1 = NULL;
  109302. #else
  109303. sp_digit u1[18 * 9];
  109304. sp_point_521 p1[2];
  109305. #endif
  109306. sp_digit* u2 = NULL;
  109307. sp_digit* s = NULL;
  109308. sp_digit* tmp = NULL;
  109309. sp_point_521* p2 = NULL;
  109310. sp_digit carry;
  109311. sp_int64 c = 0;
  109312. int err = MP_OKAY;
  109313. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109314. if (err == MP_OKAY) {
  109315. p1 = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  109316. DYNAMIC_TYPE_ECC);
  109317. if (p1 == NULL)
  109318. err = MEMORY_E;
  109319. }
  109320. if (err == MP_OKAY) {
  109321. u1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 18 * 9, heap,
  109322. DYNAMIC_TYPE_ECC);
  109323. if (u1 == NULL)
  109324. err = MEMORY_E;
  109325. }
  109326. #endif
  109327. if (err == MP_OKAY) {
  109328. u2 = u1 + 2 * 9;
  109329. s = u1 + 4 * 9;
  109330. tmp = u1 + 6 * 9;
  109331. p2 = p1 + 1;
  109332. if (hashLen > 66U) {
  109333. hashLen = 66U;
  109334. }
  109335. sp_521_from_bin(u1, 9, hash, (int)hashLen);
  109336. sp_521_from_mp(u2, 9, rm);
  109337. sp_521_from_mp(s, 9, sm);
  109338. sp_521_from_mp(p2->x, 9, pX);
  109339. sp_521_from_mp(p2->y, 9, pY);
  109340. sp_521_from_mp(p2->z, 9, pZ);
  109341. if (hashLen == 66U) {
  109342. sp_521_rshift_9(u1, u1, 7);
  109343. }
  109344. err = sp_521_calc_vfy_point_9(p1, p2, s, u1, u2, tmp, heap);
  109345. }
  109346. if (err == MP_OKAY) {
  109347. /* (r + n*order).z'.z' mod prime == (u1.G + u2.Q)->x' */
  109348. /* Reload r and convert to Montgomery form. */
  109349. sp_521_from_mp(u2, 9, rm);
  109350. err = sp_521_mod_mul_norm_9(u2, u2, p521_mod);
  109351. }
  109352. if (err == MP_OKAY) {
  109353. /* u1 = r.z'.z' mod prime */
  109354. sp_521_mont_sqr_9(p1->z, p1->z, p521_mod, p521_mp_mod);
  109355. sp_521_mont_mul_9(u1, u2, p1->z, p521_mod, p521_mp_mod);
  109356. *res = (int)(sp_521_cmp_9(p1->x, u1) == 0);
  109357. if (*res == 0) {
  109358. /* Reload r and add order. */
  109359. sp_521_from_mp(u2, 9, rm);
  109360. carry = sp_521_add_9(u2, u2, p521_order);
  109361. /* Carry means result is greater than mod and is not valid. */
  109362. if (carry == 0) {
  109363. sp_521_norm_9(u2);
  109364. /* Compare with mod and if greater or equal then not valid. */
  109365. c = sp_521_cmp_9(u2, p521_mod);
  109366. }
  109367. }
  109368. if ((*res == 0) && (c < 0)) {
  109369. /* Convert to Montogomery form */
  109370. err = sp_521_mod_mul_norm_9(u2, u2, p521_mod);
  109371. if (err == MP_OKAY) {
  109372. /* u1 = (r + 1*order).z'.z' mod prime */
  109373. {
  109374. sp_521_mont_mul_9(u1, u2, p1->z, p521_mod, p521_mp_mod);
  109375. }
  109376. *res = (sp_521_cmp_9(p1->x, u1) == 0);
  109377. }
  109378. }
  109379. }
  109380. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109381. if (u1 != NULL)
  109382. XFREE(u1, heap, DYNAMIC_TYPE_ECC);
  109383. if (p1 != NULL)
  109384. XFREE(p1, heap, DYNAMIC_TYPE_ECC);
  109385. #endif
  109386. return err;
  109387. }
  109388. #endif /* HAVE_ECC_VERIFY */
  109389. #ifdef HAVE_ECC_CHECK_KEY
  109390. /* Check that the x and y oridinates are a valid point on the curve.
  109391. *
  109392. * point EC point.
  109393. * heap Heap to use if dynamically allocating.
  109394. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  109395. * not on the curve and MP_OKAY otherwise.
  109396. */
  109397. static int sp_521_ecc_is_point_9(const sp_point_521* point,
  109398. void* heap)
  109399. {
  109400. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109401. sp_digit* t1 = NULL;
  109402. #else
  109403. sp_digit t1[9 * 4];
  109404. #endif
  109405. sp_digit* t2 = NULL;
  109406. int err = MP_OKAY;
  109407. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109408. t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9 * 4, heap, DYNAMIC_TYPE_ECC);
  109409. if (t1 == NULL)
  109410. err = MEMORY_E;
  109411. #endif
  109412. (void)heap;
  109413. if (err == MP_OKAY) {
  109414. t2 = t1 + 2 * 9;
  109415. sp_521_sqr_9(t1, point->y);
  109416. (void)sp_521_mod_9(t1, t1, p521_mod);
  109417. sp_521_sqr_9(t2, point->x);
  109418. (void)sp_521_mod_9(t2, t2, p521_mod);
  109419. sp_521_mul_9(t2, t2, point->x);
  109420. (void)sp_521_mod_9(t2, t2, p521_mod);
  109421. (void)sp_521_sub_9(t2, p521_mod, t2);
  109422. sp_521_mont_add_9(t1, t1, t2, p521_mod);
  109423. sp_521_mont_add_9(t1, t1, point->x, p521_mod);
  109424. sp_521_mont_add_9(t1, t1, point->x, p521_mod);
  109425. sp_521_mont_add_9(t1, t1, point->x, p521_mod);
  109426. if (sp_521_cmp_9(t1, p521_b) != 0) {
  109427. err = MP_VAL;
  109428. }
  109429. }
  109430. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109431. if (t1 != NULL)
  109432. XFREE(t1, heap, DYNAMIC_TYPE_ECC);
  109433. #endif
  109434. return err;
  109435. }
  109436. /* Check that the x and y oridinates are a valid point on the curve.
  109437. *
  109438. * pX X ordinate of EC point.
  109439. * pY Y ordinate of EC point.
  109440. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  109441. * not on the curve and MP_OKAY otherwise.
  109442. */
  109443. int sp_ecc_is_point_521(const mp_int* pX, const mp_int* pY)
  109444. {
  109445. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109446. sp_point_521* pub = NULL;
  109447. #else
  109448. sp_point_521 pub[1];
  109449. #endif
  109450. const byte one[1] = { 1 };
  109451. int err = MP_OKAY;
  109452. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109453. pub = (sp_point_521*)XMALLOC(sizeof(sp_point_521), NULL,
  109454. DYNAMIC_TYPE_ECC);
  109455. if (pub == NULL)
  109456. err = MEMORY_E;
  109457. #endif
  109458. if (err == MP_OKAY) {
  109459. sp_521_from_mp(pub->x, 9, pX);
  109460. sp_521_from_mp(pub->y, 9, pY);
  109461. sp_521_from_bin(pub->z, 9, one, (int)sizeof(one));
  109462. err = sp_521_ecc_is_point_9(pub, NULL);
  109463. }
  109464. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109465. if (pub != NULL)
  109466. XFREE(pub, NULL, DYNAMIC_TYPE_ECC);
  109467. #endif
  109468. return err;
  109469. }
  109470. /* Check that the private scalar generates the EC point (px, py), the point is
  109471. * on the curve and the point has the correct order.
  109472. *
  109473. * pX X ordinate of EC point.
  109474. * pY Y ordinate of EC point.
  109475. * privm Private scalar that generates EC point.
  109476. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  109477. * not on the curve, ECC_INF_E if the point does not have the correct order,
  109478. * ECC_PRIV_KEY_E when the private scalar doesn't generate the EC point and
  109479. * MP_OKAY otherwise.
  109480. */
  109481. int sp_ecc_check_key_521(const mp_int* pX, const mp_int* pY,
  109482. const mp_int* privm, void* heap)
  109483. {
  109484. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109485. sp_digit* priv = NULL;
  109486. sp_point_521* pub = NULL;
  109487. #else
  109488. sp_digit priv[9];
  109489. sp_point_521 pub[2];
  109490. #endif
  109491. sp_point_521* p = NULL;
  109492. const byte one[1] = { 1 };
  109493. int err = MP_OKAY;
  109494. /* Quick check the lengs of public key ordinates and private key are in
  109495. * range. Proper check later.
  109496. */
  109497. if (((mp_count_bits(pX) > 521) ||
  109498. (mp_count_bits(pY) > 521) ||
  109499. ((privm != NULL) && (mp_count_bits(privm) > 521)))) {
  109500. err = ECC_OUT_OF_RANGE_E;
  109501. }
  109502. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109503. if (err == MP_OKAY) {
  109504. pub = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, heap,
  109505. DYNAMIC_TYPE_ECC);
  109506. if (pub == NULL)
  109507. err = MEMORY_E;
  109508. }
  109509. if (err == MP_OKAY && privm) {
  109510. priv = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9, heap,
  109511. DYNAMIC_TYPE_ECC);
  109512. if (priv == NULL)
  109513. err = MEMORY_E;
  109514. }
  109515. #endif
  109516. if (err == MP_OKAY) {
  109517. p = pub + 1;
  109518. sp_521_from_mp(pub->x, 9, pX);
  109519. sp_521_from_mp(pub->y, 9, pY);
  109520. sp_521_from_bin(pub->z, 9, one, (int)sizeof(one));
  109521. if (privm)
  109522. sp_521_from_mp(priv, 9, privm);
  109523. /* Check point at infinitiy. */
  109524. if ((sp_521_iszero_9(pub->x) != 0) &&
  109525. (sp_521_iszero_9(pub->y) != 0)) {
  109526. err = ECC_INF_E;
  109527. }
  109528. }
  109529. /* Check range of X and Y */
  109530. if ((err == MP_OKAY) &&
  109531. ((sp_521_cmp_9(pub->x, p521_mod) >= 0) ||
  109532. (sp_521_cmp_9(pub->y, p521_mod) >= 0))) {
  109533. err = ECC_OUT_OF_RANGE_E;
  109534. }
  109535. if (err == MP_OKAY) {
  109536. /* Check point is on curve */
  109537. err = sp_521_ecc_is_point_9(pub, heap);
  109538. }
  109539. if (err == MP_OKAY) {
  109540. /* Point * order = infinity */
  109541. err = sp_521_ecc_mulmod_9(p, pub, p521_order, 1, 1, heap);
  109542. }
  109543. /* Check result is infinity */
  109544. if ((err == MP_OKAY) && ((sp_521_iszero_9(p->x) == 0) ||
  109545. (sp_521_iszero_9(p->y) == 0))) {
  109546. err = ECC_INF_E;
  109547. }
  109548. if (privm) {
  109549. if (err == MP_OKAY) {
  109550. /* Base * private = point */
  109551. err = sp_521_ecc_mulmod_base_9(p, priv, 1, 1, heap);
  109552. }
  109553. /* Check result is public key */
  109554. if ((err == MP_OKAY) &&
  109555. ((sp_521_cmp_9(p->x, pub->x) != 0) ||
  109556. (sp_521_cmp_9(p->y, pub->y) != 0))) {
  109557. err = ECC_PRIV_KEY_E;
  109558. }
  109559. }
  109560. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109561. if (pub != NULL)
  109562. XFREE(pub, heap, DYNAMIC_TYPE_ECC);
  109563. if (priv != NULL)
  109564. XFREE(priv, heap, DYNAMIC_TYPE_ECC);
  109565. #endif
  109566. return err;
  109567. }
  109568. #endif
  109569. #ifdef WOLFSSL_PUBLIC_ECC_ADD_DBL
  109570. /* Add two projective EC points together.
  109571. * (pX, pY, pZ) + (qX, qY, qZ) = (rX, rY, rZ)
  109572. *
  109573. * pX First EC point's X ordinate.
  109574. * pY First EC point's Y ordinate.
  109575. * pZ First EC point's Z ordinate.
  109576. * qX Second EC point's X ordinate.
  109577. * qY Second EC point's Y ordinate.
  109578. * qZ Second EC point's Z ordinate.
  109579. * rX Resultant EC point's X ordinate.
  109580. * rY Resultant EC point's Y ordinate.
  109581. * rZ Resultant EC point's Z ordinate.
  109582. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  109583. */
  109584. int sp_ecc_proj_add_point_521(mp_int* pX, mp_int* pY, mp_int* pZ,
  109585. mp_int* qX, mp_int* qY, mp_int* qZ,
  109586. mp_int* rX, mp_int* rY, mp_int* rZ)
  109587. {
  109588. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109589. sp_digit* tmp = NULL;
  109590. sp_point_521* p = NULL;
  109591. #else
  109592. sp_digit tmp[2 * 9 * 6];
  109593. sp_point_521 p[2];
  109594. #endif
  109595. sp_point_521* q = NULL;
  109596. int err = MP_OKAY;
  109597. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109598. if (err == MP_OKAY) {
  109599. p = (sp_point_521*)XMALLOC(sizeof(sp_point_521) * 2, NULL,
  109600. DYNAMIC_TYPE_ECC);
  109601. if (p == NULL)
  109602. err = MEMORY_E;
  109603. }
  109604. if (err == MP_OKAY) {
  109605. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 6, NULL,
  109606. DYNAMIC_TYPE_ECC);
  109607. if (tmp == NULL) {
  109608. err = MEMORY_E;
  109609. }
  109610. }
  109611. #endif
  109612. if (err == MP_OKAY) {
  109613. q = p + 1;
  109614. sp_521_from_mp(p->x, 9, pX);
  109615. sp_521_from_mp(p->y, 9, pY);
  109616. sp_521_from_mp(p->z, 9, pZ);
  109617. sp_521_from_mp(q->x, 9, qX);
  109618. sp_521_from_mp(q->y, 9, qY);
  109619. sp_521_from_mp(q->z, 9, qZ);
  109620. p->infinity = sp_521_iszero_9(p->x) &
  109621. sp_521_iszero_9(p->y);
  109622. q->infinity = sp_521_iszero_9(q->x) &
  109623. sp_521_iszero_9(q->y);
  109624. sp_521_proj_point_add_9(p, p, q, tmp);
  109625. }
  109626. if (err == MP_OKAY) {
  109627. err = sp_521_to_mp(p->x, rX);
  109628. }
  109629. if (err == MP_OKAY) {
  109630. err = sp_521_to_mp(p->y, rY);
  109631. }
  109632. if (err == MP_OKAY) {
  109633. err = sp_521_to_mp(p->z, rZ);
  109634. }
  109635. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109636. if (tmp != NULL)
  109637. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  109638. if (p != NULL)
  109639. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  109640. #endif
  109641. return err;
  109642. }
  109643. /* Double a projective EC point.
  109644. * (pX, pY, pZ) + (pX, pY, pZ) = (rX, rY, rZ)
  109645. *
  109646. * pX EC point's X ordinate.
  109647. * pY EC point's Y ordinate.
  109648. * pZ EC point's Z ordinate.
  109649. * rX Resultant EC point's X ordinate.
  109650. * rY Resultant EC point's Y ordinate.
  109651. * rZ Resultant EC point's Z ordinate.
  109652. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  109653. */
  109654. int sp_ecc_proj_dbl_point_521(mp_int* pX, mp_int* pY, mp_int* pZ,
  109655. mp_int* rX, mp_int* rY, mp_int* rZ)
  109656. {
  109657. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109658. sp_digit* tmp = NULL;
  109659. sp_point_521* p = NULL;
  109660. #else
  109661. sp_digit tmp[2 * 9 * 2];
  109662. sp_point_521 p[1];
  109663. #endif
  109664. int err = MP_OKAY;
  109665. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109666. if (err == MP_OKAY) {
  109667. p = (sp_point_521*)XMALLOC(sizeof(sp_point_521), NULL,
  109668. DYNAMIC_TYPE_ECC);
  109669. if (p == NULL)
  109670. err = MEMORY_E;
  109671. }
  109672. if (err == MP_OKAY) {
  109673. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 2, NULL,
  109674. DYNAMIC_TYPE_ECC);
  109675. if (tmp == NULL)
  109676. err = MEMORY_E;
  109677. }
  109678. #endif
  109679. if (err == MP_OKAY) {
  109680. sp_521_from_mp(p->x, 9, pX);
  109681. sp_521_from_mp(p->y, 9, pY);
  109682. sp_521_from_mp(p->z, 9, pZ);
  109683. p->infinity = sp_521_iszero_9(p->x) &
  109684. sp_521_iszero_9(p->y);
  109685. sp_521_proj_point_dbl_9(p, p, tmp);
  109686. }
  109687. if (err == MP_OKAY) {
  109688. err = sp_521_to_mp(p->x, rX);
  109689. }
  109690. if (err == MP_OKAY) {
  109691. err = sp_521_to_mp(p->y, rY);
  109692. }
  109693. if (err == MP_OKAY) {
  109694. err = sp_521_to_mp(p->z, rZ);
  109695. }
  109696. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109697. if (tmp != NULL)
  109698. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  109699. if (p != NULL)
  109700. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  109701. #endif
  109702. return err;
  109703. }
  109704. /* Map a projective EC point to affine in place.
  109705. * pZ will be one.
  109706. *
  109707. * pX EC point's X ordinate.
  109708. * pY EC point's Y ordinate.
  109709. * pZ EC point's Z ordinate.
  109710. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  109711. */
  109712. int sp_ecc_map_521(mp_int* pX, mp_int* pY, mp_int* pZ)
  109713. {
  109714. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109715. sp_digit* tmp = NULL;
  109716. sp_point_521* p = NULL;
  109717. #else
  109718. sp_digit tmp[2 * 9 * 5];
  109719. sp_point_521 p[1];
  109720. #endif
  109721. int err = MP_OKAY;
  109722. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109723. if (err == MP_OKAY) {
  109724. p = (sp_point_521*)XMALLOC(sizeof(sp_point_521), NULL,
  109725. DYNAMIC_TYPE_ECC);
  109726. if (p == NULL)
  109727. err = MEMORY_E;
  109728. }
  109729. if (err == MP_OKAY) {
  109730. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9 * 5, NULL,
  109731. DYNAMIC_TYPE_ECC);
  109732. if (tmp == NULL)
  109733. err = MEMORY_E;
  109734. }
  109735. #endif
  109736. if (err == MP_OKAY) {
  109737. sp_521_from_mp(p->x, 9, pX);
  109738. sp_521_from_mp(p->y, 9, pY);
  109739. sp_521_from_mp(p->z, 9, pZ);
  109740. p->infinity = sp_521_iszero_9(p->x) &
  109741. sp_521_iszero_9(p->y);
  109742. sp_521_map_9(p, p, tmp);
  109743. }
  109744. if (err == MP_OKAY) {
  109745. err = sp_521_to_mp(p->x, pX);
  109746. }
  109747. if (err == MP_OKAY) {
  109748. err = sp_521_to_mp(p->y, pY);
  109749. }
  109750. if (err == MP_OKAY) {
  109751. err = sp_521_to_mp(p->z, pZ);
  109752. }
  109753. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109754. if (tmp != NULL)
  109755. XFREE(tmp, NULL, DYNAMIC_TYPE_ECC);
  109756. if (p != NULL)
  109757. XFREE(p, NULL, DYNAMIC_TYPE_ECC);
  109758. #endif
  109759. return err;
  109760. }
  109761. #endif /* WOLFSSL_PUBLIC_ECC_ADD_DBL */
  109762. #ifdef HAVE_COMP_KEY
  109763. /* Square root power for the P521 curve. */
  109764. static const uint64_t p521_sqrt_power[9] = {
  109765. 0x0000000000000000,0x0000000000000000,0x0000000000000000,
  109766. 0x0000000000000000,0x0000000000000000,0x0000000000000000,0x0000000000000000,0x0000000000000000,
  109767. 0x0000000000000080
  109768. };
  109769. /* Find the square root of a number mod the prime of the curve.
  109770. *
  109771. * y The number to operate on and the result.
  109772. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  109773. */
  109774. static int sp_521_mont_sqrt_9(sp_digit* y)
  109775. {
  109776. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109777. sp_digit* t = NULL;
  109778. #else
  109779. sp_digit t[2 * 9];
  109780. #endif
  109781. int err = MP_OKAY;
  109782. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109783. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 9, NULL, DYNAMIC_TYPE_ECC);
  109784. if (t == NULL)
  109785. err = MEMORY_E;
  109786. #endif
  109787. if (err == MP_OKAY) {
  109788. {
  109789. int i;
  109790. XMEMCPY(t, y, sizeof(sp_digit) * 9);
  109791. for (i=518; i>=0; i--) {
  109792. sp_521_mont_sqr_9(t, t, p521_mod, p521_mp_mod);
  109793. if (p521_sqrt_power[i / 64] & ((sp_digit)1 << (i % 64)))
  109794. sp_521_mont_mul_9(t, t, y, p521_mod, p521_mp_mod);
  109795. }
  109796. XMEMCPY(y, t, sizeof(sp_digit) * 9);
  109797. }
  109798. }
  109799. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109800. if (t != NULL)
  109801. XFREE(t, NULL, DYNAMIC_TYPE_ECC);
  109802. #endif
  109803. return err;
  109804. }
  109805. /* Uncompress the point given the X ordinate.
  109806. *
  109807. * xm X ordinate.
  109808. * odd Whether the Y ordinate is odd.
  109809. * ym Calculated Y ordinate.
  109810. * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise.
  109811. */
  109812. int sp_ecc_uncompress_521(mp_int* xm, int odd, mp_int* ym)
  109813. {
  109814. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109815. sp_digit* x = NULL;
  109816. #else
  109817. sp_digit x[4 * 9];
  109818. #endif
  109819. sp_digit* y = NULL;
  109820. int err = MP_OKAY;
  109821. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109822. x = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 9, NULL, DYNAMIC_TYPE_ECC);
  109823. if (x == NULL)
  109824. err = MEMORY_E;
  109825. #endif
  109826. if (err == MP_OKAY) {
  109827. y = x + 2 * 9;
  109828. sp_521_from_mp(x, 9, xm);
  109829. err = sp_521_mod_mul_norm_9(x, x, p521_mod);
  109830. }
  109831. if (err == MP_OKAY) {
  109832. /* y = x^3 */
  109833. {
  109834. sp_521_mont_sqr_9(y, x, p521_mod, p521_mp_mod);
  109835. sp_521_mont_mul_9(y, y, x, p521_mod, p521_mp_mod);
  109836. }
  109837. /* y = x^3 - 3x */
  109838. sp_521_mont_sub_9(y, y, x, p521_mod);
  109839. sp_521_mont_sub_9(y, y, x, p521_mod);
  109840. sp_521_mont_sub_9(y, y, x, p521_mod);
  109841. /* y = x^3 - 3x + b */
  109842. err = sp_521_mod_mul_norm_9(x, p521_b, p521_mod);
  109843. }
  109844. if (err == MP_OKAY) {
  109845. sp_521_mont_add_9(y, y, x, p521_mod);
  109846. /* y = sqrt(x^3 - 3x + b) */
  109847. err = sp_521_mont_sqrt_9(y);
  109848. }
  109849. if (err == MP_OKAY) {
  109850. XMEMSET(y + 9, 0, 9U * sizeof(sp_digit));
  109851. sp_521_mont_reduce_9(y, p521_mod, p521_mp_mod);
  109852. if ((((word32)y[0] ^ (word32)odd) & 1U) != 0U) {
  109853. sp_521_mont_sub_9(y, p521_mod, y, p521_mod);
  109854. }
  109855. err = sp_521_to_mp(y, ym);
  109856. }
  109857. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  109858. if (x != NULL)
  109859. XFREE(x, NULL, DYNAMIC_TYPE_ECC);
  109860. #endif
  109861. return err;
  109862. }
  109863. #endif
  109864. #endif /* WOLFSSL_SP_521 */
  109865. #ifdef WOLFSSL_SP_1024
  109866. /* Point structure to use. */
  109867. typedef struct sp_point_1024 {
  109868. /* X ordinate of point. */
  109869. sp_digit x[2 * 16];
  109870. /* Y ordinate of point. */
  109871. sp_digit y[2 * 16];
  109872. /* Z ordinate of point. */
  109873. sp_digit z[2 * 16];
  109874. /* Indicates point is at infinity. */
  109875. int infinity;
  109876. } sp_point_1024;
  109877. #ifndef WOLFSSL_SP_SMALL
  109878. /* Multiply a and b into r. (r = a * b)
  109879. *
  109880. * r A single precision integer.
  109881. * a A single precision integer.
  109882. * b A single precision integer.
  109883. */
  109884. static void sp_1024_mul_8(sp_digit* r, const sp_digit* a, const sp_digit* b)
  109885. {
  109886. __asm__ __volatile__ (
  109887. "ldp x8, x9, [%[a], 0]\n\t"
  109888. "ldp x10, x11, [%[a], 16]\n\t"
  109889. "ldp x12, x13, [%[a], 32]\n\t"
  109890. "ldp x14, x15, [%[a], 48]\n\t"
  109891. "ldp x16, x17, [%[b], 0]\n\t"
  109892. "ldp x19, x20, [%[b], 16]\n\t"
  109893. "ldp x21, x22, [%[b], 32]\n\t"
  109894. "ldp x23, x24, [%[b], 48]\n\t"
  109895. "# A[0] * B[0]\n\t"
  109896. "mul x3, x8, x16\n\t"
  109897. "umulh x4, x8, x16\n\t"
  109898. "str x3, [%[r]]\n\t"
  109899. "# A[0] * B[1]\n\t"
  109900. "mul x6, x8, x17\n\t"
  109901. "umulh x7, x8, x17\n\t"
  109902. "adds x4, x4, x6\n\t"
  109903. "# A[1] * B[0]\n\t"
  109904. "mul x6, x9, x16\n\t"
  109905. "adc x5, xzr, x7\n\t"
  109906. "umulh x7, x9, x16\n\t"
  109907. "adds x4, x4, x6\n\t"
  109908. "adcs x5, x5, x7\n\t"
  109909. "str x4, [%[r], 8]\n\t"
  109910. "adc x3, xzr, xzr\n\t"
  109911. "# A[0] * B[2]\n\t"
  109912. "mul x6, x8, x19\n\t"
  109913. "umulh x7, x8, x19\n\t"
  109914. "adds x5, x5, x6\n\t"
  109915. "# A[1] * B[1]\n\t"
  109916. "mul x6, x9, x17\n\t"
  109917. "adcs x3, x3, x7\n\t"
  109918. "umulh x7, x9, x17\n\t"
  109919. "adc x4, xzr, xzr\n\t"
  109920. "adds x5, x5, x6\n\t"
  109921. "# A[2] * B[0]\n\t"
  109922. "mul x6, x10, x16\n\t"
  109923. "adcs x3, x3, x7\n\t"
  109924. "umulh x7, x10, x16\n\t"
  109925. "adc x4, x4, xzr\n\t"
  109926. "adds x5, x5, x6\n\t"
  109927. "adcs x3, x3, x7\n\t"
  109928. "str x5, [%[r], 16]\n\t"
  109929. "adc x4, x4, xzr\n\t"
  109930. "# A[0] * B[3]\n\t"
  109931. "mul x6, x8, x20\n\t"
  109932. "umulh x7, x8, x20\n\t"
  109933. "adds x3, x3, x6\n\t"
  109934. "# A[1] * B[2]\n\t"
  109935. "mul x6, x9, x19\n\t"
  109936. "adcs x4, x4, x7\n\t"
  109937. "umulh x7, x9, x19\n\t"
  109938. "adc x5, xzr, xzr\n\t"
  109939. "adds x3, x3, x6\n\t"
  109940. "# A[2] * B[1]\n\t"
  109941. "mul x6, x10, x17\n\t"
  109942. "adcs x4, x4, x7\n\t"
  109943. "umulh x7, x10, x17\n\t"
  109944. "adc x5, x5, xzr\n\t"
  109945. "adds x3, x3, x6\n\t"
  109946. "# A[3] * B[0]\n\t"
  109947. "mul x6, x11, x16\n\t"
  109948. "adcs x4, x4, x7\n\t"
  109949. "umulh x7, x11, x16\n\t"
  109950. "adc x5, x5, xzr\n\t"
  109951. "adds x3, x3, x6\n\t"
  109952. "adcs x4, x4, x7\n\t"
  109953. "str x3, [%[r], 24]\n\t"
  109954. "adc x5, x5, xzr\n\t"
  109955. "# A[0] * B[4]\n\t"
  109956. "mul x6, x8, x21\n\t"
  109957. "umulh x7, x8, x21\n\t"
  109958. "adds x4, x4, x6\n\t"
  109959. "# A[1] * B[3]\n\t"
  109960. "mul x6, x9, x20\n\t"
  109961. "adcs x5, x5, x7\n\t"
  109962. "umulh x7, x9, x20\n\t"
  109963. "adc x3, xzr, xzr\n\t"
  109964. "adds x4, x4, x6\n\t"
  109965. "# A[2] * B[2]\n\t"
  109966. "mul x6, x10, x19\n\t"
  109967. "adcs x5, x5, x7\n\t"
  109968. "umulh x7, x10, x19\n\t"
  109969. "adc x3, x3, xzr\n\t"
  109970. "adds x4, x4, x6\n\t"
  109971. "# A[3] * B[1]\n\t"
  109972. "mul x6, x11, x17\n\t"
  109973. "adcs x5, x5, x7\n\t"
  109974. "umulh x7, x11, x17\n\t"
  109975. "adc x3, x3, xzr\n\t"
  109976. "adds x4, x4, x6\n\t"
  109977. "# A[4] * B[0]\n\t"
  109978. "mul x6, x12, x16\n\t"
  109979. "adcs x5, x5, x7\n\t"
  109980. "umulh x7, x12, x16\n\t"
  109981. "adc x3, x3, xzr\n\t"
  109982. "adds x4, x4, x6\n\t"
  109983. "adcs x5, x5, x7\n\t"
  109984. "str x4, [%[r], 32]\n\t"
  109985. "adc x3, x3, xzr\n\t"
  109986. "# A[0] * B[5]\n\t"
  109987. "mul x6, x8, x22\n\t"
  109988. "umulh x7, x8, x22\n\t"
  109989. "adds x5, x5, x6\n\t"
  109990. "# A[1] * B[4]\n\t"
  109991. "mul x6, x9, x21\n\t"
  109992. "adcs x3, x3, x7\n\t"
  109993. "umulh x7, x9, x21\n\t"
  109994. "adc x4, xzr, xzr\n\t"
  109995. "adds x5, x5, x6\n\t"
  109996. "# A[2] * B[3]\n\t"
  109997. "mul x6, x10, x20\n\t"
  109998. "adcs x3, x3, x7\n\t"
  109999. "umulh x7, x10, x20\n\t"
  110000. "adc x4, x4, xzr\n\t"
  110001. "adds x5, x5, x6\n\t"
  110002. "# A[3] * B[2]\n\t"
  110003. "mul x6, x11, x19\n\t"
  110004. "adcs x3, x3, x7\n\t"
  110005. "umulh x7, x11, x19\n\t"
  110006. "adc x4, x4, xzr\n\t"
  110007. "adds x5, x5, x6\n\t"
  110008. "# A[4] * B[1]\n\t"
  110009. "mul x6, x12, x17\n\t"
  110010. "adcs x3, x3, x7\n\t"
  110011. "umulh x7, x12, x17\n\t"
  110012. "adc x4, x4, xzr\n\t"
  110013. "adds x5, x5, x6\n\t"
  110014. "# A[5] * B[0]\n\t"
  110015. "mul x6, x13, x16\n\t"
  110016. "adcs x3, x3, x7\n\t"
  110017. "umulh x7, x13, x16\n\t"
  110018. "adc x4, x4, xzr\n\t"
  110019. "adds x5, x5, x6\n\t"
  110020. "adcs x3, x3, x7\n\t"
  110021. "str x5, [%[r], 40]\n\t"
  110022. "adc x4, x4, xzr\n\t"
  110023. "# A[0] * B[6]\n\t"
  110024. "mul x6, x8, x23\n\t"
  110025. "umulh x7, x8, x23\n\t"
  110026. "adds x3, x3, x6\n\t"
  110027. "# A[1] * B[5]\n\t"
  110028. "mul x6, x9, x22\n\t"
  110029. "adcs x4, x4, x7\n\t"
  110030. "umulh x7, x9, x22\n\t"
  110031. "adc x5, xzr, xzr\n\t"
  110032. "adds x3, x3, x6\n\t"
  110033. "# A[2] * B[4]\n\t"
  110034. "mul x6, x10, x21\n\t"
  110035. "adcs x4, x4, x7\n\t"
  110036. "umulh x7, x10, x21\n\t"
  110037. "adc x5, x5, xzr\n\t"
  110038. "adds x3, x3, x6\n\t"
  110039. "# A[3] * B[3]\n\t"
  110040. "mul x6, x11, x20\n\t"
  110041. "adcs x4, x4, x7\n\t"
  110042. "umulh x7, x11, x20\n\t"
  110043. "adc x5, x5, xzr\n\t"
  110044. "adds x3, x3, x6\n\t"
  110045. "# A[4] * B[2]\n\t"
  110046. "mul x6, x12, x19\n\t"
  110047. "adcs x4, x4, x7\n\t"
  110048. "umulh x7, x12, x19\n\t"
  110049. "adc x5, x5, xzr\n\t"
  110050. "adds x3, x3, x6\n\t"
  110051. "# A[5] * B[1]\n\t"
  110052. "mul x6, x13, x17\n\t"
  110053. "adcs x4, x4, x7\n\t"
  110054. "umulh x7, x13, x17\n\t"
  110055. "adc x5, x5, xzr\n\t"
  110056. "adds x3, x3, x6\n\t"
  110057. "# A[6] * B[0]\n\t"
  110058. "mul x6, x14, x16\n\t"
  110059. "adcs x4, x4, x7\n\t"
  110060. "umulh x7, x14, x16\n\t"
  110061. "adc x5, x5, xzr\n\t"
  110062. "adds x3, x3, x6\n\t"
  110063. "adcs x4, x4, x7\n\t"
  110064. "str x3, [%[r], 48]\n\t"
  110065. "adc x5, x5, xzr\n\t"
  110066. "# A[0] * B[7]\n\t"
  110067. "mul x6, x8, x24\n\t"
  110068. "umulh x7, x8, x24\n\t"
  110069. "adds x4, x4, x6\n\t"
  110070. "# A[1] * B[6]\n\t"
  110071. "mul x6, x9, x23\n\t"
  110072. "adcs x5, x5, x7\n\t"
  110073. "umulh x7, x9, x23\n\t"
  110074. "adc x3, xzr, xzr\n\t"
  110075. "adds x4, x4, x6\n\t"
  110076. "# A[2] * B[5]\n\t"
  110077. "mul x6, x10, x22\n\t"
  110078. "adcs x5, x5, x7\n\t"
  110079. "umulh x7, x10, x22\n\t"
  110080. "adc x3, x3, xzr\n\t"
  110081. "adds x4, x4, x6\n\t"
  110082. "# A[3] * B[4]\n\t"
  110083. "mul x6, x11, x21\n\t"
  110084. "adcs x5, x5, x7\n\t"
  110085. "umulh x7, x11, x21\n\t"
  110086. "adc x3, x3, xzr\n\t"
  110087. "adds x4, x4, x6\n\t"
  110088. "# A[4] * B[3]\n\t"
  110089. "mul x6, x12, x20\n\t"
  110090. "adcs x5, x5, x7\n\t"
  110091. "umulh x7, x12, x20\n\t"
  110092. "adc x3, x3, xzr\n\t"
  110093. "adds x4, x4, x6\n\t"
  110094. "# A[5] * B[2]\n\t"
  110095. "mul x6, x13, x19\n\t"
  110096. "adcs x5, x5, x7\n\t"
  110097. "umulh x7, x13, x19\n\t"
  110098. "adc x3, x3, xzr\n\t"
  110099. "adds x4, x4, x6\n\t"
  110100. "# A[6] * B[1]\n\t"
  110101. "mul x6, x14, x17\n\t"
  110102. "adcs x5, x5, x7\n\t"
  110103. "umulh x7, x14, x17\n\t"
  110104. "adc x3, x3, xzr\n\t"
  110105. "adds x4, x4, x6\n\t"
  110106. "# A[7] * B[0]\n\t"
  110107. "mul x6, x15, x16\n\t"
  110108. "adcs x5, x5, x7\n\t"
  110109. "umulh x7, x15, x16\n\t"
  110110. "adc x3, x3, xzr\n\t"
  110111. "adds x4, x4, x6\n\t"
  110112. "adcs x5, x5, x7\n\t"
  110113. "str x4, [%[r], 56]\n\t"
  110114. "adc x3, x3, xzr\n\t"
  110115. "# A[1] * B[7]\n\t"
  110116. "mul x6, x9, x24\n\t"
  110117. "umulh x7, x9, x24\n\t"
  110118. "adds x5, x5, x6\n\t"
  110119. "# A[2] * B[6]\n\t"
  110120. "mul x6, x10, x23\n\t"
  110121. "adcs x3, x3, x7\n\t"
  110122. "umulh x7, x10, x23\n\t"
  110123. "adc x4, xzr, xzr\n\t"
  110124. "adds x5, x5, x6\n\t"
  110125. "# A[3] * B[5]\n\t"
  110126. "mul x6, x11, x22\n\t"
  110127. "adcs x3, x3, x7\n\t"
  110128. "umulh x7, x11, x22\n\t"
  110129. "adc x4, x4, xzr\n\t"
  110130. "adds x5, x5, x6\n\t"
  110131. "# A[4] * B[4]\n\t"
  110132. "mul x6, x12, x21\n\t"
  110133. "adcs x3, x3, x7\n\t"
  110134. "umulh x7, x12, x21\n\t"
  110135. "adc x4, x4, xzr\n\t"
  110136. "adds x5, x5, x6\n\t"
  110137. "# A[5] * B[3]\n\t"
  110138. "mul x6, x13, x20\n\t"
  110139. "adcs x3, x3, x7\n\t"
  110140. "umulh x7, x13, x20\n\t"
  110141. "adc x4, x4, xzr\n\t"
  110142. "adds x5, x5, x6\n\t"
  110143. "# A[6] * B[2]\n\t"
  110144. "mul x6, x14, x19\n\t"
  110145. "adcs x3, x3, x7\n\t"
  110146. "umulh x7, x14, x19\n\t"
  110147. "adc x4, x4, xzr\n\t"
  110148. "adds x5, x5, x6\n\t"
  110149. "# A[7] * B[1]\n\t"
  110150. "mul x6, x15, x17\n\t"
  110151. "adcs x3, x3, x7\n\t"
  110152. "umulh x7, x15, x17\n\t"
  110153. "adc x4, x4, xzr\n\t"
  110154. "adds x5, x5, x6\n\t"
  110155. "adcs x3, x3, x7\n\t"
  110156. "str x5, [%[r], 64]\n\t"
  110157. "adc x4, x4, xzr\n\t"
  110158. "# A[2] * B[7]\n\t"
  110159. "mul x6, x10, x24\n\t"
  110160. "umulh x7, x10, x24\n\t"
  110161. "adds x3, x3, x6\n\t"
  110162. "# A[3] * B[6]\n\t"
  110163. "mul x6, x11, x23\n\t"
  110164. "adcs x4, x4, x7\n\t"
  110165. "umulh x7, x11, x23\n\t"
  110166. "adc x5, xzr, xzr\n\t"
  110167. "adds x3, x3, x6\n\t"
  110168. "# A[4] * B[5]\n\t"
  110169. "mul x6, x12, x22\n\t"
  110170. "adcs x4, x4, x7\n\t"
  110171. "umulh x7, x12, x22\n\t"
  110172. "adc x5, x5, xzr\n\t"
  110173. "adds x3, x3, x6\n\t"
  110174. "# A[5] * B[4]\n\t"
  110175. "mul x6, x13, x21\n\t"
  110176. "adcs x4, x4, x7\n\t"
  110177. "umulh x7, x13, x21\n\t"
  110178. "adc x5, x5, xzr\n\t"
  110179. "adds x3, x3, x6\n\t"
  110180. "# A[6] * B[3]\n\t"
  110181. "mul x6, x14, x20\n\t"
  110182. "adcs x4, x4, x7\n\t"
  110183. "umulh x7, x14, x20\n\t"
  110184. "adc x5, x5, xzr\n\t"
  110185. "adds x3, x3, x6\n\t"
  110186. "# A[7] * B[2]\n\t"
  110187. "mul x6, x15, x19\n\t"
  110188. "adcs x4, x4, x7\n\t"
  110189. "umulh x7, x15, x19\n\t"
  110190. "adc x5, x5, xzr\n\t"
  110191. "adds x3, x3, x6\n\t"
  110192. "adcs x4, x4, x7\n\t"
  110193. "str x3, [%[r], 72]\n\t"
  110194. "adc x5, x5, xzr\n\t"
  110195. "# A[3] * B[7]\n\t"
  110196. "mul x6, x11, x24\n\t"
  110197. "umulh x7, x11, x24\n\t"
  110198. "adds x4, x4, x6\n\t"
  110199. "# A[4] * B[6]\n\t"
  110200. "mul x6, x12, x23\n\t"
  110201. "adcs x5, x5, x7\n\t"
  110202. "umulh x7, x12, x23\n\t"
  110203. "adc x3, xzr, xzr\n\t"
  110204. "adds x4, x4, x6\n\t"
  110205. "# A[5] * B[5]\n\t"
  110206. "mul x6, x13, x22\n\t"
  110207. "adcs x5, x5, x7\n\t"
  110208. "umulh x7, x13, x22\n\t"
  110209. "adc x3, x3, xzr\n\t"
  110210. "adds x4, x4, x6\n\t"
  110211. "# A[6] * B[4]\n\t"
  110212. "mul x6, x14, x21\n\t"
  110213. "adcs x5, x5, x7\n\t"
  110214. "umulh x7, x14, x21\n\t"
  110215. "adc x3, x3, xzr\n\t"
  110216. "adds x4, x4, x6\n\t"
  110217. "# A[7] * B[3]\n\t"
  110218. "mul x6, x15, x20\n\t"
  110219. "adcs x5, x5, x7\n\t"
  110220. "umulh x7, x15, x20\n\t"
  110221. "adc x3, x3, xzr\n\t"
  110222. "adds x4, x4, x6\n\t"
  110223. "adcs x5, x5, x7\n\t"
  110224. "str x4, [%[r], 80]\n\t"
  110225. "adc x3, x3, xzr\n\t"
  110226. "# A[4] * B[7]\n\t"
  110227. "mul x6, x12, x24\n\t"
  110228. "umulh x7, x12, x24\n\t"
  110229. "adds x5, x5, x6\n\t"
  110230. "# A[5] * B[6]\n\t"
  110231. "mul x6, x13, x23\n\t"
  110232. "adcs x3, x3, x7\n\t"
  110233. "umulh x7, x13, x23\n\t"
  110234. "adc x4, xzr, xzr\n\t"
  110235. "adds x5, x5, x6\n\t"
  110236. "# A[6] * B[5]\n\t"
  110237. "mul x6, x14, x22\n\t"
  110238. "adcs x3, x3, x7\n\t"
  110239. "umulh x7, x14, x22\n\t"
  110240. "adc x4, x4, xzr\n\t"
  110241. "adds x5, x5, x6\n\t"
  110242. "# A[7] * B[4]\n\t"
  110243. "mul x6, x15, x21\n\t"
  110244. "adcs x3, x3, x7\n\t"
  110245. "umulh x7, x15, x21\n\t"
  110246. "adc x4, x4, xzr\n\t"
  110247. "adds x5, x5, x6\n\t"
  110248. "adcs x3, x3, x7\n\t"
  110249. "str x5, [%[r], 88]\n\t"
  110250. "adc x4, x4, xzr\n\t"
  110251. "# A[5] * B[7]\n\t"
  110252. "mul x6, x13, x24\n\t"
  110253. "umulh x7, x13, x24\n\t"
  110254. "adds x3, x3, x6\n\t"
  110255. "# A[6] * B[6]\n\t"
  110256. "mul x6, x14, x23\n\t"
  110257. "adcs x4, x4, x7\n\t"
  110258. "umulh x7, x14, x23\n\t"
  110259. "adc x5, xzr, xzr\n\t"
  110260. "adds x3, x3, x6\n\t"
  110261. "# A[7] * B[5]\n\t"
  110262. "mul x6, x15, x22\n\t"
  110263. "adcs x4, x4, x7\n\t"
  110264. "umulh x7, x15, x22\n\t"
  110265. "adc x5, x5, xzr\n\t"
  110266. "adds x3, x3, x6\n\t"
  110267. "adcs x4, x4, x7\n\t"
  110268. "str x3, [%[r], 96]\n\t"
  110269. "adc x5, x5, xzr\n\t"
  110270. "# A[6] * B[7]\n\t"
  110271. "mul x6, x14, x24\n\t"
  110272. "umulh x7, x14, x24\n\t"
  110273. "adds x4, x4, x6\n\t"
  110274. "# A[7] * B[6]\n\t"
  110275. "mul x6, x15, x23\n\t"
  110276. "adcs x5, x5, x7\n\t"
  110277. "umulh x7, x15, x23\n\t"
  110278. "adc x3, xzr, xzr\n\t"
  110279. "adds x4, x4, x6\n\t"
  110280. "adcs x5, x5, x7\n\t"
  110281. "str x4, [%[r], 104]\n\t"
  110282. "adc x3, x3, xzr\n\t"
  110283. "# A[7] * B[7]\n\t"
  110284. "mul x6, x15, x24\n\t"
  110285. "umulh x7, x15, x24\n\t"
  110286. "adds x5, x5, x6\n\t"
  110287. "adc x3, x3, x7\n\t"
  110288. "stp x5, x3, [%[r], 112]\n\t"
  110289. :
  110290. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  110291. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24"
  110292. );
  110293. }
  110294. /* Square a and put result in r. (r = a * a)
  110295. *
  110296. * All registers version.
  110297. *
  110298. * r A single precision integer.
  110299. * a A single precision integer.
  110300. */
  110301. static void sp_1024_sqr_8(sp_digit* r, const sp_digit* a)
  110302. {
  110303. __asm__ __volatile__ (
  110304. "ldp x21, x22, [%[a], 0]\n\t"
  110305. "ldp x23, x24, [%[a], 16]\n\t"
  110306. "ldp x25, x26, [%[a], 32]\n\t"
  110307. "ldp x27, x28, [%[a], 48]\n\t"
  110308. "# A[0] * A[1]\n\t"
  110309. "mul x6, x21, x22\n\t"
  110310. "umulh x7, x21, x22\n\t"
  110311. "# A[0] * A[2]\n\t"
  110312. "mul x4, x21, x23\n\t"
  110313. "umulh x5, x21, x23\n\t"
  110314. "adds x7, x7, x4\n\t"
  110315. "# A[0] * A[3]\n\t"
  110316. "mul x4, x21, x24\n\t"
  110317. "adc x8, xzr, x5\n\t"
  110318. "umulh x5, x21, x24\n\t"
  110319. "adds x8, x8, x4\n\t"
  110320. "# A[1] * A[2]\n\t"
  110321. "mul x4, x22, x23\n\t"
  110322. "adc x9, xzr, x5\n\t"
  110323. "umulh x5, x22, x23\n\t"
  110324. "adds x8, x8, x4\n\t"
  110325. "# A[0] * A[4]\n\t"
  110326. "mul x4, x21, x25\n\t"
  110327. "adcs x9, x9, x5\n\t"
  110328. "umulh x5, x21, x25\n\t"
  110329. "adc x10, xzr, xzr\n\t"
  110330. "adds x9, x9, x4\n\t"
  110331. "# A[1] * A[3]\n\t"
  110332. "mul x4, x22, x24\n\t"
  110333. "adc x10, x10, x5\n\t"
  110334. "umulh x5, x22, x24\n\t"
  110335. "adds x9, x9, x4\n\t"
  110336. "# A[0] * A[5]\n\t"
  110337. "mul x4, x21, x26\n\t"
  110338. "adcs x10, x10, x5\n\t"
  110339. "umulh x5, x21, x26\n\t"
  110340. "adc x11, xzr, xzr\n\t"
  110341. "adds x10, x10, x4\n\t"
  110342. "# A[1] * A[4]\n\t"
  110343. "mul x4, x22, x25\n\t"
  110344. "adc x11, x11, x5\n\t"
  110345. "umulh x5, x22, x25\n\t"
  110346. "adds x10, x10, x4\n\t"
  110347. "# A[2] * A[3]\n\t"
  110348. "mul x4, x23, x24\n\t"
  110349. "adcs x11, x11, x5\n\t"
  110350. "umulh x5, x23, x24\n\t"
  110351. "adc x12, xzr, xzr\n\t"
  110352. "adds x10, x10, x4\n\t"
  110353. "# A[0] * A[6]\n\t"
  110354. "mul x4, x21, x27\n\t"
  110355. "adcs x11, x11, x5\n\t"
  110356. "umulh x5, x21, x27\n\t"
  110357. "adc x12, x12, xzr\n\t"
  110358. "adds x11, x11, x4\n\t"
  110359. "# A[1] * A[5]\n\t"
  110360. "mul x4, x22, x26\n\t"
  110361. "adcs x12, x12, x5\n\t"
  110362. "umulh x5, x22, x26\n\t"
  110363. "adc x13, xzr, xzr\n\t"
  110364. "adds x11, x11, x4\n\t"
  110365. "# A[2] * A[4]\n\t"
  110366. "mul x4, x23, x25\n\t"
  110367. "adcs x12, x12, x5\n\t"
  110368. "umulh x5, x23, x25\n\t"
  110369. "adc x13, x13, xzr\n\t"
  110370. "adds x11, x11, x4\n\t"
  110371. "# A[0] * A[7]\n\t"
  110372. "mul x4, x21, x28\n\t"
  110373. "adcs x12, x12, x5\n\t"
  110374. "umulh x5, x21, x28\n\t"
  110375. "adc x13, x13, xzr\n\t"
  110376. "adds x12, x12, x4\n\t"
  110377. "# A[1] * A[6]\n\t"
  110378. "mul x4, x22, x27\n\t"
  110379. "adcs x13, x13, x5\n\t"
  110380. "umulh x5, x22, x27\n\t"
  110381. "adc x14, xzr, xzr\n\t"
  110382. "adds x12, x12, x4\n\t"
  110383. "# A[2] * A[5]\n\t"
  110384. "mul x4, x23, x26\n\t"
  110385. "adcs x13, x13, x5\n\t"
  110386. "umulh x5, x23, x26\n\t"
  110387. "adc x14, x14, xzr\n\t"
  110388. "adds x12, x12, x4\n\t"
  110389. "# A[3] * A[4]\n\t"
  110390. "mul x4, x24, x25\n\t"
  110391. "adcs x13, x13, x5\n\t"
  110392. "umulh x5, x24, x25\n\t"
  110393. "adc x14, x14, xzr\n\t"
  110394. "adds x12, x12, x4\n\t"
  110395. "# A[1] * A[7]\n\t"
  110396. "mul x4, x22, x28\n\t"
  110397. "adcs x13, x13, x5\n\t"
  110398. "umulh x5, x22, x28\n\t"
  110399. "adc x14, x14, xzr\n\t"
  110400. "adds x13, x13, x4\n\t"
  110401. "# A[2] * A[6]\n\t"
  110402. "mul x4, x23, x27\n\t"
  110403. "adcs x14, x14, x5\n\t"
  110404. "umulh x5, x23, x27\n\t"
  110405. "adc x15, xzr, xzr\n\t"
  110406. "adds x13, x13, x4\n\t"
  110407. "# A[3] * A[5]\n\t"
  110408. "mul x4, x24, x26\n\t"
  110409. "adcs x14, x14, x5\n\t"
  110410. "umulh x5, x24, x26\n\t"
  110411. "adc x15, x15, xzr\n\t"
  110412. "adds x13, x13, x4\n\t"
  110413. "# A[2] * A[7]\n\t"
  110414. "mul x4, x23, x28\n\t"
  110415. "adcs x14, x14, x5\n\t"
  110416. "umulh x5, x23, x28\n\t"
  110417. "adc x15, x15, xzr\n\t"
  110418. "adds x14, x14, x4\n\t"
  110419. "# A[3] * A[6]\n\t"
  110420. "mul x4, x24, x27\n\t"
  110421. "adcs x15, x15, x5\n\t"
  110422. "umulh x5, x24, x27\n\t"
  110423. "adc x16, xzr, xzr\n\t"
  110424. "adds x14, x14, x4\n\t"
  110425. "# A[4] * A[5]\n\t"
  110426. "mul x4, x25, x26\n\t"
  110427. "adcs x15, x15, x5\n\t"
  110428. "umulh x5, x25, x26\n\t"
  110429. "adc x16, x16, xzr\n\t"
  110430. "adds x14, x14, x4\n\t"
  110431. "# A[3] * A[7]\n\t"
  110432. "mul x4, x24, x28\n\t"
  110433. "adcs x15, x15, x5\n\t"
  110434. "umulh x5, x24, x28\n\t"
  110435. "adc x16, x16, xzr\n\t"
  110436. "adds x15, x15, x4\n\t"
  110437. "# A[4] * A[6]\n\t"
  110438. "mul x4, x25, x27\n\t"
  110439. "adcs x16, x16, x5\n\t"
  110440. "umulh x5, x25, x27\n\t"
  110441. "adc x17, xzr, xzr\n\t"
  110442. "adds x15, x15, x4\n\t"
  110443. "# A[4] * A[7]\n\t"
  110444. "mul x4, x25, x28\n\t"
  110445. "adcs x16, x16, x5\n\t"
  110446. "umulh x5, x25, x28\n\t"
  110447. "adc x17, x17, xzr\n\t"
  110448. "adds x16, x16, x4\n\t"
  110449. "# A[5] * A[6]\n\t"
  110450. "mul x4, x26, x27\n\t"
  110451. "adcs x17, x17, x5\n\t"
  110452. "umulh x5, x26, x27\n\t"
  110453. "adc x19, xzr, xzr\n\t"
  110454. "adds x16, x16, x4\n\t"
  110455. "# A[5] * A[7]\n\t"
  110456. "mul x4, x26, x28\n\t"
  110457. "adcs x17, x17, x5\n\t"
  110458. "umulh x5, x26, x28\n\t"
  110459. "adc x19, x19, xzr\n\t"
  110460. "adds x17, x17, x4\n\t"
  110461. "# A[6] * A[7]\n\t"
  110462. "mul x4, x27, x28\n\t"
  110463. "adcs x19, x19, x5\n\t"
  110464. "umulh x5, x27, x28\n\t"
  110465. "adc x20, xzr, xzr\n\t"
  110466. "adds x19, x19, x4\n\t"
  110467. "adc x20, x20, x5\n\t"
  110468. "# Double\n\t"
  110469. "adds x6, x6, x6\n\t"
  110470. "adcs x7, x7, x7\n\t"
  110471. "adcs x8, x8, x8\n\t"
  110472. "adcs x9, x9, x9\n\t"
  110473. "adcs x10, x10, x10\n\t"
  110474. "adcs x11, x11, x11\n\t"
  110475. "adcs x12, x12, x12\n\t"
  110476. "adcs x13, x13, x13\n\t"
  110477. "adcs x14, x14, x14\n\t"
  110478. "adcs x15, x15, x15\n\t"
  110479. "adcs x16, x16, x16\n\t"
  110480. "adcs x17, x17, x17\n\t"
  110481. "adcs x19, x19, x19\n\t"
  110482. "# A[0] * A[0]\n\t"
  110483. "mul x5, x21, x21\n\t"
  110484. "adcs x20, x20, x20\n\t"
  110485. "umulh x2, x21, x21\n\t"
  110486. "cset x21, cs\n\t"
  110487. "# A[1] * A[1]\n\t"
  110488. "mul x3, x22, x22\n\t"
  110489. "adds x6, x6, x2\n\t"
  110490. "umulh x4, x22, x22\n\t"
  110491. "adcs x7, x7, x3\n\t"
  110492. "# A[2] * A[2]\n\t"
  110493. "mul x2, x23, x23\n\t"
  110494. "adcs x8, x8, x4\n\t"
  110495. "umulh x3, x23, x23\n\t"
  110496. "adcs x9, x9, x2\n\t"
  110497. "# A[3] * A[3]\n\t"
  110498. "mul x4, x24, x24\n\t"
  110499. "adcs x10, x10, x3\n\t"
  110500. "umulh x2, x24, x24\n\t"
  110501. "adcs x11, x11, x4\n\t"
  110502. "# A[4] * A[4]\n\t"
  110503. "mul x3, x25, x25\n\t"
  110504. "adcs x12, x12, x2\n\t"
  110505. "umulh x4, x25, x25\n\t"
  110506. "adcs x13, x13, x3\n\t"
  110507. "# A[5] * A[5]\n\t"
  110508. "mul x2, x26, x26\n\t"
  110509. "adcs x14, x14, x4\n\t"
  110510. "umulh x3, x26, x26\n\t"
  110511. "adcs x15, x15, x2\n\t"
  110512. "# A[6] * A[6]\n\t"
  110513. "mul x4, x27, x27\n\t"
  110514. "adcs x16, x16, x3\n\t"
  110515. "umulh x2, x27, x27\n\t"
  110516. "adcs x17, x17, x4\n\t"
  110517. "# A[7] * A[7]\n\t"
  110518. "mul x3, x28, x28\n\t"
  110519. "adcs x19, x19, x2\n\t"
  110520. "umulh x4, x28, x28\n\t"
  110521. "adcs x20, x20, x3\n\t"
  110522. "stp x5, x6, [%[r], 0]\n\t"
  110523. "adc x21, x21, x4\n\t"
  110524. "stp x7, x8, [%[r], 16]\n\t"
  110525. "stp x9, x10, [%[r], 32]\n\t"
  110526. "stp x11, x12, [%[r], 48]\n\t"
  110527. "stp x13, x14, [%[r], 64]\n\t"
  110528. "stp x15, x16, [%[r], 80]\n\t"
  110529. "stp x17, x19, [%[r], 96]\n\t"
  110530. "stp x20, x21, [%[r], 112]\n\t"
  110531. :
  110532. : [r] "r" (r), [a] "r" (a)
  110533. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28"
  110534. );
  110535. }
  110536. /* Add b to a into r. (r = a + b)
  110537. *
  110538. * r A single precision integer.
  110539. * a A single precision integer.
  110540. * b A single precision integer.
  110541. */
  110542. static sp_digit sp_1024_add_8(sp_digit* r, const sp_digit* a,
  110543. const sp_digit* b)
  110544. {
  110545. __asm__ __volatile__ (
  110546. "ldp x3, x4, [%[a], 0]\n\t"
  110547. "ldp x7, x8, [%[b], 0]\n\t"
  110548. "adds x3, x3, x7\n\t"
  110549. "ldp x5, x6, [%[a], 16]\n\t"
  110550. "adcs x4, x4, x8\n\t"
  110551. "ldp x9, x10, [%[b], 16]\n\t"
  110552. "adcs x5, x5, x9\n\t"
  110553. "stp x3, x4, [%[r], 0]\n\t"
  110554. "adcs x6, x6, x10\n\t"
  110555. "stp x5, x6, [%[r], 16]\n\t"
  110556. "ldp x3, x4, [%[a], 32]\n\t"
  110557. "ldp x7, x8, [%[b], 32]\n\t"
  110558. "adcs x3, x3, x7\n\t"
  110559. "ldp x5, x6, [%[a], 48]\n\t"
  110560. "adcs x4, x4, x8\n\t"
  110561. "ldp x9, x10, [%[b], 48]\n\t"
  110562. "adcs x5, x5, x9\n\t"
  110563. "stp x3, x4, [%[r], 32]\n\t"
  110564. "adcs x6, x6, x10\n\t"
  110565. "stp x5, x6, [%[r], 48]\n\t"
  110566. "cset %[r], cs\n\t"
  110567. : [r] "+r" (r)
  110568. : [a] "r" (a), [b] "r" (b)
  110569. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  110570. );
  110571. return (sp_digit)r;
  110572. }
  110573. /* Add digit to a into r. (r = a + b)
  110574. *
  110575. * r A single precision integer.
  110576. * a A single precision integer.
  110577. * b A single precision integer.
  110578. */
  110579. static void sp_1024_add_word_8(sp_digit* r, const sp_digit* a,
  110580. sp_digit b)
  110581. {
  110582. __asm__ __volatile__ (
  110583. "ldp x3, x4, [%[a], 0]\n\t"
  110584. "ldp x5, x6, [%[a], 16]\n\t"
  110585. "adds x3, x3, %[b]\n\t"
  110586. "adcs x4, x4, xzr\n\t"
  110587. "adcs x5, x5, xzr\n\t"
  110588. "stp x3, x4, [%[r], 0]\n\t"
  110589. "adcs x6, x6, xzr\n\t"
  110590. "stp x5, x6, [%[r], 16]\n\t"
  110591. "ldp x3, x4, [%[a], 32]\n\t"
  110592. "ldp x5, x6, [%[a], 48]\n\t"
  110593. "adcs x3, x3, xzr\n\t"
  110594. "adcs x4, x4, xzr\n\t"
  110595. "adcs x5, x5, xzr\n\t"
  110596. "stp x3, x4, [%[r], 32]\n\t"
  110597. "adcs x6, x6, xzr\n\t"
  110598. "stp x5, x6, [%[r], 48]\n\t"
  110599. :
  110600. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  110601. : "memory", "x3", "x4", "x5", "x6"
  110602. );
  110603. }
  110604. /* Sub b from a into a. (a -= b)
  110605. *
  110606. * a A single precision integer and result.
  110607. * b A single precision integer.
  110608. */
  110609. static sp_digit sp_1024_sub_in_place_16(sp_digit* a, const sp_digit* b)
  110610. {
  110611. __asm__ __volatile__ (
  110612. "ldp x2, x3, [%[a], 0]\n\t"
  110613. "ldp x6, x7, [%[b], 0]\n\t"
  110614. "subs x2, x2, x6\n\t"
  110615. "ldp x4, x5, [%[a], 16]\n\t"
  110616. "sbcs x3, x3, x7\n\t"
  110617. "ldp x8, x9, [%[b], 16]\n\t"
  110618. "sbcs x4, x4, x8\n\t"
  110619. "stp x2, x3, [%[a], 0]\n\t"
  110620. "sbcs x5, x5, x9\n\t"
  110621. "stp x4, x5, [%[a], 16]\n\t"
  110622. "ldp x2, x3, [%[a], 32]\n\t"
  110623. "ldp x6, x7, [%[b], 32]\n\t"
  110624. "sbcs x2, x2, x6\n\t"
  110625. "ldp x4, x5, [%[a], 48]\n\t"
  110626. "sbcs x3, x3, x7\n\t"
  110627. "ldp x8, x9, [%[b], 48]\n\t"
  110628. "sbcs x4, x4, x8\n\t"
  110629. "stp x2, x3, [%[a], 32]\n\t"
  110630. "sbcs x5, x5, x9\n\t"
  110631. "stp x4, x5, [%[a], 48]\n\t"
  110632. "ldp x2, x3, [%[a], 64]\n\t"
  110633. "ldp x6, x7, [%[b], 64]\n\t"
  110634. "sbcs x2, x2, x6\n\t"
  110635. "ldp x4, x5, [%[a], 80]\n\t"
  110636. "sbcs x3, x3, x7\n\t"
  110637. "ldp x8, x9, [%[b], 80]\n\t"
  110638. "sbcs x4, x4, x8\n\t"
  110639. "stp x2, x3, [%[a], 64]\n\t"
  110640. "sbcs x5, x5, x9\n\t"
  110641. "stp x4, x5, [%[a], 80]\n\t"
  110642. "ldp x2, x3, [%[a], 96]\n\t"
  110643. "ldp x6, x7, [%[b], 96]\n\t"
  110644. "sbcs x2, x2, x6\n\t"
  110645. "ldp x4, x5, [%[a], 112]\n\t"
  110646. "sbcs x3, x3, x7\n\t"
  110647. "ldp x8, x9, [%[b], 112]\n\t"
  110648. "sbcs x4, x4, x8\n\t"
  110649. "stp x2, x3, [%[a], 96]\n\t"
  110650. "sbcs x5, x5, x9\n\t"
  110651. "stp x4, x5, [%[a], 112]\n\t"
  110652. "csetm %[a], cc\n\t"
  110653. : [a] "+r" (a)
  110654. : [b] "r" (b)
  110655. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  110656. );
  110657. return (sp_digit)a;
  110658. }
  110659. /* Add b to a into r. (r = a + b)
  110660. *
  110661. * r A single precision integer.
  110662. * a A single precision integer.
  110663. * b A single precision integer.
  110664. */
  110665. static sp_digit sp_1024_add_16(sp_digit* r, const sp_digit* a,
  110666. const sp_digit* b)
  110667. {
  110668. __asm__ __volatile__ (
  110669. "ldp x3, x4, [%[a], 0]\n\t"
  110670. "ldp x7, x8, [%[b], 0]\n\t"
  110671. "adds x3, x3, x7\n\t"
  110672. "ldp x5, x6, [%[a], 16]\n\t"
  110673. "adcs x4, x4, x8\n\t"
  110674. "ldp x9, x10, [%[b], 16]\n\t"
  110675. "adcs x5, x5, x9\n\t"
  110676. "stp x3, x4, [%[r], 0]\n\t"
  110677. "adcs x6, x6, x10\n\t"
  110678. "stp x5, x6, [%[r], 16]\n\t"
  110679. "ldp x3, x4, [%[a], 32]\n\t"
  110680. "ldp x7, x8, [%[b], 32]\n\t"
  110681. "adcs x3, x3, x7\n\t"
  110682. "ldp x5, x6, [%[a], 48]\n\t"
  110683. "adcs x4, x4, x8\n\t"
  110684. "ldp x9, x10, [%[b], 48]\n\t"
  110685. "adcs x5, x5, x9\n\t"
  110686. "stp x3, x4, [%[r], 32]\n\t"
  110687. "adcs x6, x6, x10\n\t"
  110688. "stp x5, x6, [%[r], 48]\n\t"
  110689. "ldp x3, x4, [%[a], 64]\n\t"
  110690. "ldp x7, x8, [%[b], 64]\n\t"
  110691. "adcs x3, x3, x7\n\t"
  110692. "ldp x5, x6, [%[a], 80]\n\t"
  110693. "adcs x4, x4, x8\n\t"
  110694. "ldp x9, x10, [%[b], 80]\n\t"
  110695. "adcs x5, x5, x9\n\t"
  110696. "stp x3, x4, [%[r], 64]\n\t"
  110697. "adcs x6, x6, x10\n\t"
  110698. "stp x5, x6, [%[r], 80]\n\t"
  110699. "ldp x3, x4, [%[a], 96]\n\t"
  110700. "ldp x7, x8, [%[b], 96]\n\t"
  110701. "adcs x3, x3, x7\n\t"
  110702. "ldp x5, x6, [%[a], 112]\n\t"
  110703. "adcs x4, x4, x8\n\t"
  110704. "ldp x9, x10, [%[b], 112]\n\t"
  110705. "adcs x5, x5, x9\n\t"
  110706. "stp x3, x4, [%[r], 96]\n\t"
  110707. "adcs x6, x6, x10\n\t"
  110708. "stp x5, x6, [%[r], 112]\n\t"
  110709. "cset %[r], cs\n\t"
  110710. : [r] "+r" (r)
  110711. : [a] "r" (a), [b] "r" (b)
  110712. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  110713. );
  110714. return (sp_digit)r;
  110715. }
  110716. #ifndef WOLFSSL_SP_SMALL
  110717. /* Conditionally add a and b using the mask m.
  110718. * m is -1 to add and 0 when not.
  110719. *
  110720. * r A single precision number representing conditional add result.
  110721. * a A single precision number to add with.
  110722. * b A single precision number to add.
  110723. * m Mask value to apply.
  110724. */
  110725. static sp_digit sp_1024_cond_add_8(sp_digit* r, const sp_digit* a, const sp_digit* b,
  110726. sp_digit m)
  110727. {
  110728. __asm__ __volatile__ (
  110729. "ldp x8, x9, [%[b], 0]\n\t"
  110730. "ldp x10, x11, [%[b], 16]\n\t"
  110731. "ldp x4, x5, [%[a], 0]\n\t"
  110732. "and x8, x8, %[m]\n\t"
  110733. "ldp x6, x7, [%[a], 16]\n\t"
  110734. "and x9, x9, %[m]\n\t"
  110735. "adds x4, x4, x8\n\t"
  110736. "and x10, x10, %[m]\n\t"
  110737. "adcs x5, x5, x9\n\t"
  110738. "and x11, x11, %[m]\n\t"
  110739. "adcs x6, x6, x10\n\t"
  110740. "stp x4, x5, [%[r], 0]\n\t"
  110741. "adcs x7, x7, x11\n\t"
  110742. "stp x6, x7, [%[r], 16]\n\t"
  110743. "ldp x8, x9, [%[b], 32]\n\t"
  110744. "ldp x10, x11, [%[b], 48]\n\t"
  110745. "ldp x4, x5, [%[a], 32]\n\t"
  110746. "and x8, x8, %[m]\n\t"
  110747. "ldp x6, x7, [%[a], 48]\n\t"
  110748. "and x9, x9, %[m]\n\t"
  110749. "adcs x4, x4, x8\n\t"
  110750. "and x10, x10, %[m]\n\t"
  110751. "adcs x5, x5, x9\n\t"
  110752. "and x11, x11, %[m]\n\t"
  110753. "adcs x6, x6, x10\n\t"
  110754. "stp x4, x5, [%[r], 32]\n\t"
  110755. "adcs x7, x7, x11\n\t"
  110756. "stp x6, x7, [%[r], 48]\n\t"
  110757. "cset %[r], cs\n\t"
  110758. : [r] "+r" (r)
  110759. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  110760. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  110761. );
  110762. return (sp_digit)r;
  110763. }
  110764. #endif /* !WOLFSSL_SP_SMALL */
  110765. /* Multiply a and b into r. (r = a * b)
  110766. *
  110767. * r A single precision integer.
  110768. * a A single precision integer.
  110769. * b A single precision integer.
  110770. */
  110771. SP_NOINLINE static void sp_1024_mul_16(sp_digit* r, const sp_digit* a,
  110772. const sp_digit* b)
  110773. {
  110774. sp_digit* z0 = r;
  110775. sp_digit z1[16];
  110776. sp_digit a1[8];
  110777. sp_digit b1[8];
  110778. sp_digit* z2 = r + 16;
  110779. sp_digit u;
  110780. sp_digit ca;
  110781. sp_digit cb;
  110782. ca = sp_1024_add_8(a1, a, &a[8]);
  110783. cb = sp_1024_add_8(b1, b, &b[8]);
  110784. u = ca & cb;
  110785. sp_1024_mul_8(z2, &a[8], &b[8]);
  110786. sp_1024_mul_8(z0, a, b);
  110787. sp_1024_mul_8(z1, a1, b1);
  110788. u += sp_1024_sub_in_place_16(z1, z0);
  110789. u += sp_1024_sub_in_place_16(z1, z2);
  110790. u += sp_1024_cond_add_8(z1 + 8, z1 + 8, a1, 0 - cb);
  110791. u += sp_1024_cond_add_8(z1 + 8, z1 + 8, b1, 0 - ca);
  110792. u += sp_1024_add_16(r + 8, r + 8, z1);
  110793. (void)sp_1024_add_word_8(r + 24, r + 24, u);
  110794. }
  110795. /* Sub b from a into r. (r = a - b)
  110796. *
  110797. * r A single precision integer.
  110798. * a A single precision integer.
  110799. * b A single precision integer.
  110800. */
  110801. static sp_digit sp_1024_sub_8(sp_digit* r, const sp_digit* a,
  110802. const sp_digit* b)
  110803. {
  110804. __asm__ __volatile__ (
  110805. "ldp x3, x4, [%[a], 0]\n\t"
  110806. "ldp x7, x8, [%[b], 0]\n\t"
  110807. "subs x3, x3, x7\n\t"
  110808. "ldp x5, x6, [%[a], 16]\n\t"
  110809. "sbcs x4, x4, x8\n\t"
  110810. "ldp x9, x10, [%[b], 16]\n\t"
  110811. "sbcs x5, x5, x9\n\t"
  110812. "stp x3, x4, [%[r], 0]\n\t"
  110813. "sbcs x6, x6, x10\n\t"
  110814. "stp x5, x6, [%[r], 16]\n\t"
  110815. "ldp x3, x4, [%[a], 32]\n\t"
  110816. "ldp x7, x8, [%[b], 32]\n\t"
  110817. "sbcs x3, x3, x7\n\t"
  110818. "ldp x5, x6, [%[a], 48]\n\t"
  110819. "sbcs x4, x4, x8\n\t"
  110820. "ldp x9, x10, [%[b], 48]\n\t"
  110821. "sbcs x5, x5, x9\n\t"
  110822. "stp x3, x4, [%[r], 32]\n\t"
  110823. "sbcs x6, x6, x10\n\t"
  110824. "stp x5, x6, [%[r], 48]\n\t"
  110825. "csetm %[r], cc\n\t"
  110826. : [r] "+r" (r)
  110827. : [a] "r" (a), [b] "r" (b)
  110828. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  110829. );
  110830. return (sp_digit)r;
  110831. }
  110832. /* Square a and put result in r. (r = a * a)
  110833. *
  110834. * r A single precision integer.
  110835. * a A single precision integer.
  110836. */
  110837. SP_NOINLINE static void sp_1024_sqr_16(sp_digit* r, const sp_digit* a)
  110838. {
  110839. sp_digit* z0 = r;
  110840. sp_digit* z2 = r + 16;
  110841. sp_digit z1[16];
  110842. sp_digit* a1 = z1;
  110843. sp_digit* zero = z1 + 8;
  110844. sp_digit u;
  110845. sp_digit mask;
  110846. sp_digit* p1;
  110847. sp_digit* p2;
  110848. XMEMSET(zero, 0, sizeof(sp_digit) * 8);
  110849. mask = sp_1024_sub_8(a1, a, &a[8]);
  110850. p1 = (sp_digit*)(((sp_digit)zero & mask ) | ((sp_digit)a1 & (~mask)));
  110851. p2 = (sp_digit*)(((sp_digit)zero & (~mask)) | ((sp_digit)a1 & mask ));
  110852. (void)sp_1024_sub_8(a1, p1, p2);
  110853. sp_1024_sqr_8(z2, &a[8]);
  110854. sp_1024_sqr_8(z0, a);
  110855. sp_1024_sqr_8(z1, a1);
  110856. u = 0;
  110857. u -= sp_1024_sub_in_place_16(z1, z2);
  110858. u -= sp_1024_sub_in_place_16(z1, z0);
  110859. u += sp_1024_sub_in_place_16(r + 8, z1);
  110860. sp_1024_add_word_8(r + 24, r + 24, u);
  110861. }
  110862. #else
  110863. /* Multiply a and b into r. (r = a * b)
  110864. *
  110865. * r A single precision integer.
  110866. * a A single precision integer.
  110867. * b A single precision integer.
  110868. */
  110869. static void sp_1024_mul_16(sp_digit* r, const sp_digit* a, const sp_digit* b)
  110870. {
  110871. sp_digit tmp[32];
  110872. __asm__ __volatile__ (
  110873. "mov x5, xzr\n\t"
  110874. "mov x6, xzr\n\t"
  110875. "mov x7, xzr\n\t"
  110876. "mov x8, xzr\n\t"
  110877. "\n1:\n\t"
  110878. "subs x3, x5, 120\n\t"
  110879. "csel x3, xzr, x3, cc\n\t"
  110880. "sub x4, x5, x3\n\t"
  110881. "\n2:\n\t"
  110882. "ldr x10, [%[a], x3]\n\t"
  110883. "ldr x11, [%[b], x4]\n\t"
  110884. "mul x9, x10, x11\n\t"
  110885. "umulh x10, x10, x11\n\t"
  110886. "adds x6, x6, x9\n\t"
  110887. "adcs x7, x7, x10\n\t"
  110888. "adc x8, x8, xzr\n\t"
  110889. "add x3, x3, #8\n\t"
  110890. "sub x4, x4, #8\n\t"
  110891. "cmp x3, 128\n\t"
  110892. "b.eq 3f\n\t"
  110893. "cmp x3, x5\n\t"
  110894. "b.le 2b\n\t"
  110895. "\n3:\n\t"
  110896. "str x6, [%[r], x5]\n\t"
  110897. "mov x6, x7\n\t"
  110898. "mov x7, x8\n\t"
  110899. "mov x8, #0\n\t"
  110900. "add x5, x5, #8\n\t"
  110901. "cmp x5, 240\n\t"
  110902. "b.le 1b\n\t"
  110903. "str x6, [%[r], x5]\n\t"
  110904. :
  110905. : [r] "r" (tmp), [a] "r" (a), [b] "r" (b)
  110906. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  110907. );
  110908. XMEMCPY(r, tmp, sizeof(tmp));
  110909. }
  110910. /* Square a and put result in r. (r = a * a)
  110911. *
  110912. * r A single precision integer.
  110913. * a A single precision integer.
  110914. */
  110915. static void sp_1024_sqr_16(sp_digit* r, const sp_digit* a)
  110916. {
  110917. sp_digit tmp[32];
  110918. __asm__ __volatile__ (
  110919. "mov x6, xzr\n\t"
  110920. "mov x7, xzr\n\t"
  110921. "mov x8, xzr\n\t"
  110922. "mov x5, xzr\n\t"
  110923. "\n1:\n\t"
  110924. "subs x3, x5, 120\n\t"
  110925. "csel x3, xzr, x3, cc\n\t"
  110926. "sub x4, x5, x3\n\t"
  110927. "\n2:\n\t"
  110928. "cmp x4, x3\n\t"
  110929. "b.eq 4f\n\t"
  110930. "ldr x10, [%[a], x3]\n\t"
  110931. "ldr x11, [%[a], x4]\n\t"
  110932. "mul x9, x10, x11\n\t"
  110933. "umulh x10, x10, x11\n\t"
  110934. "adds x6, x6, x9\n\t"
  110935. "adcs x7, x7, x10\n\t"
  110936. "adc x8, x8, xzr\n\t"
  110937. "adds x6, x6, x9\n\t"
  110938. "adcs x7, x7, x10\n\t"
  110939. "adc x8, x8, xzr\n\t"
  110940. "b.al 5f\n\t"
  110941. "\n4:\n\t"
  110942. "ldr x10, [%[a], x3]\n\t"
  110943. "mul x9, x10, x10\n\t"
  110944. "umulh x10, x10, x10\n\t"
  110945. "adds x6, x6, x9\n\t"
  110946. "adcs x7, x7, x10\n\t"
  110947. "adc x8, x8, xzr\n\t"
  110948. "\n5:\n\t"
  110949. "add x3, x3, #8\n\t"
  110950. "sub x4, x4, #8\n\t"
  110951. "cmp x3, 128\n\t"
  110952. "b.eq 3f\n\t"
  110953. "cmp x3, x4\n\t"
  110954. "b.gt 3f\n\t"
  110955. "cmp x3, x5\n\t"
  110956. "b.le 2b\n\t"
  110957. "\n3:\n\t"
  110958. "str x6, [%[r], x5]\n\t"
  110959. "mov x6, x7\n\t"
  110960. "mov x7, x8\n\t"
  110961. "mov x8, #0\n\t"
  110962. "add x5, x5, #8\n\t"
  110963. "cmp x5, 240\n\t"
  110964. "b.le 1b\n\t"
  110965. "str x6, [%[r], x5]\n\t"
  110966. :
  110967. : [r] "r" (tmp), [a] "r" (a)
  110968. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  110969. );
  110970. XMEMCPY(r, tmp, sizeof(tmp));
  110971. }
  110972. #endif /* !WOLFSSL_SP_SMALL */
  110973. /* The modulus (prime) of the curve P1024. */
  110974. static const sp_digit p1024_mod[16] = {
  110975. 0x666d807afea85febL,0x80c5df10ac7ace87L,0xfce3e82389857db0L,
  110976. 0x9f94d6af56971f1fL,0xa7cf3c521c3c09aaL,0xb6aff4a831852a82L,
  110977. 0x512ac5cd65681ce1L,0xe26c6487326b4cd4L,0x356d27f4a666a6d0L,
  110978. 0xe791b39ff7c88a19L,0x228730d531a59cb0L,0xf40aab27e2fc0f1bL,
  110979. 0xbe9ae358b3e01a2eL,0x416c0ce19cb48261L,0x65c61198dad0657aL,
  110980. 0x997abb1f0a563fdaL
  110981. };
  110982. /* The Montgomery normalizer for modulus of the curve P1024. */
  110983. static const sp_digit p1024_norm_mod[16] = {
  110984. 0x99927f850157a015L,0x7f3a20ef53853178L,0x031c17dc767a824fL,
  110985. 0x606b2950a968e0e0L,0x5830c3ade3c3f655L,0x49500b57ce7ad57dL,
  110986. 0xaed53a329a97e31eL,0x1d939b78cd94b32bL,0xca92d80b5999592fL,
  110987. 0x186e4c60083775e6L,0xdd78cf2ace5a634fL,0x0bf554d81d03f0e4L,
  110988. 0x41651ca74c1fe5d1L,0xbe93f31e634b7d9eL,0x9a39ee67252f9a85L,
  110989. 0x668544e0f5a9c025L
  110990. };
  110991. /* The Montgomery multiplier for modulus of the curve P1024. */
  110992. static sp_digit p1024_mp_mod = 0x290420077c8f2f3d;
  110993. #if defined(WOLFSSL_SP_SMALL) || defined(HAVE_ECC_CHECK_KEY)
  110994. /* The order of the curve P1024. */
  110995. static const sp_digit p1024_order[16] = {
  110996. 0xd99b601ebfaa17fbL,0x203177c42b1eb3a1L,0xff38fa08e2615f6cL,
  110997. 0xa7e535abd5a5c7c7L,0xa9f3cf14870f026aL,0x6dabfd2a0c614aa0L,
  110998. 0x144ab173595a0738L,0x389b1921cc9ad335L,0x4d5b49fd2999a9b4L,
  110999. 0x39e46ce7fdf22286L,0xc8a1cc354c69672cL,0xbd02aac9f8bf03c6L,
  111000. 0x6fa6b8d62cf8068bL,0x905b0338672d2098L,0x9971846636b4195eL,
  111001. 0x265eaec7c2958ff6L
  111002. };
  111003. #endif
  111004. /* The base point of curve P1024. */
  111005. static const sp_point_1024 p1024_base = {
  111006. /* X ordinate */
  111007. {
  111008. 0x880dc8abeae63895L,0x80ec46c4967e0979L,0xee9163a5b63f73ecL,
  111009. 0xd5cfb4cc80728d87L,0xa7c1514dba66910dL,0xa702c3397a60de74L,
  111010. 0x337c86548b72f2e1L,0x9760af765dd5bccbL,0x718bd9e7406ce890L,
  111011. 0x43d5f22cdb9dfa55L,0xab10db9030b09e10L,0xb5edb6c0f6ce2308L,
  111012. 0x98b2f204b6ff7cbfL,0x2b1a2fd60aec69c6L,0x0a7990053ed9b52aL,
  111013. 0x53fc09ee332c29adL,
  111014. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  111015. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  111016. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  111017. (sp_digit)0
  111018. },
  111019. /* Y ordinate */
  111020. {
  111021. 0x75573fd71bef16d7L,0xadb9b5706a67dcdeL,0x80bdad5ad5bb4636L,
  111022. 0x13515ad7e9cb99a9L,0x492d979fc5a4d5f2L,0xac6f1e80164aa989L,
  111023. 0xcad696b5b7652fe0L,0x70dae117ad547c6cL,0x416cff0ca9e032b9L,
  111024. 0x6b598ccf9a140b2eL,0xe7f7f5e5f0de55f6L,0xf5ea69f4654ec2b9L,
  111025. 0x3d778d821e141178L,0xd3e8201602990696L,0xf9f1f0533634a135L,
  111026. 0x0a8249063f6009f1L,
  111027. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  111028. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  111029. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  111030. (sp_digit)0
  111031. },
  111032. /* Z ordinate */
  111033. {
  111034. 0x0000000000000001L,0x0000000000000000L,0x0000000000000000L,
  111035. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  111036. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  111037. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  111038. 0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,
  111039. 0x0000000000000000L,
  111040. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  111041. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  111042. (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0,
  111043. (sp_digit)0
  111044. },
  111045. /* infinity */
  111046. 0
  111047. };
  111048. #ifdef WOLFSSL_SP_SMALL
  111049. /* Sub b from a into a. (a -= b)
  111050. *
  111051. * a A single precision integer.
  111052. * b A single precision integer.
  111053. */
  111054. static sp_digit sp_1024_sub_in_place_16(sp_digit* a, const sp_digit* b)
  111055. {
  111056. sp_digit c = 0;
  111057. __asm__ __volatile__ (
  111058. "add x10, %[a], 128\n\t"
  111059. "\n1:\n\t"
  111060. "subs %[c], xzr, %[c]\n\t"
  111061. "ldp x2, x3, [%[a]]\n\t"
  111062. "ldp x4, x5, [%[a], #16]\n\t"
  111063. "ldp x6, x7, [%[b]], #16\n\t"
  111064. "sbcs x2, x2, x6\n\t"
  111065. "ldp x8, x9, [%[b]], #16\n\t"
  111066. "sbcs x3, x3, x7\n\t"
  111067. "sbcs x4, x4, x8\n\t"
  111068. "stp x2, x3, [%[a]], #16\n\t"
  111069. "sbcs x5, x5, x9\n\t"
  111070. "stp x4, x5, [%[a]], #16\n\t"
  111071. "csetm %[c], cc\n\t"
  111072. "cmp %[a], x10\n\t"
  111073. "b.ne 1b\n\t"
  111074. : [c] "+r" (c), [a] "+r" (a), [b] "+r" (b)
  111075. :
  111076. : "memory", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  111077. );
  111078. return c;
  111079. }
  111080. #endif /* WOLFSSL_SP_SMALL */
  111081. /* Conditionally subtract b from a using the mask m.
  111082. * m is -1 to subtract and 0 when not copying.
  111083. *
  111084. * r A single precision number representing condition subtract result.
  111085. * a A single precision number to subtract from.
  111086. * b A single precision number to subtract.
  111087. * m Mask value to apply.
  111088. */
  111089. static sp_digit sp_1024_cond_sub_16(sp_digit* r, const sp_digit* a, const sp_digit* b,
  111090. sp_digit m)
  111091. {
  111092. #ifdef WOLFSSL_SP_SMALL
  111093. sp_digit c = 0;
  111094. __asm__ __volatile__ (
  111095. "mov x8, #0\n\t"
  111096. "1:\n\t"
  111097. "subs %[c], xzr, %[c]\n\t"
  111098. "ldr x4, [%[a], x8]\n\t"
  111099. "ldr x5, [%[b], x8]\n\t"
  111100. "and x5, x5, %[m]\n\t"
  111101. "sbcs x4, x4, x5\n\t"
  111102. "csetm %[c], cc\n\t"
  111103. "str x4, [%[r], x8]\n\t"
  111104. "add x8, x8, #8\n\t"
  111105. "cmp x8, 128\n\t"
  111106. "b.lt 1b\n\t"
  111107. : [c] "+r" (c)
  111108. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  111109. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  111110. );
  111111. return c;
  111112. #else
  111113. __asm__ __volatile__ (
  111114. "ldp x5, x7, [%[b], 0]\n\t"
  111115. "ldp x11, x12, [%[b], 16]\n\t"
  111116. "ldp x4, x6, [%[a], 0]\n\t"
  111117. "and x5, x5, %[m]\n\t"
  111118. "ldp x9, x10, [%[a], 16]\n\t"
  111119. "and x7, x7, %[m]\n\t"
  111120. "subs x4, x4, x5\n\t"
  111121. "and x11, x11, %[m]\n\t"
  111122. "sbcs x6, x6, x7\n\t"
  111123. "and x12, x12, %[m]\n\t"
  111124. "sbcs x9, x9, x11\n\t"
  111125. "stp x4, x6, [%[r], 0]\n\t"
  111126. "sbcs x10, x10, x12\n\t"
  111127. "stp x9, x10, [%[r], 16]\n\t"
  111128. "ldp x5, x7, [%[b], 32]\n\t"
  111129. "ldp x11, x12, [%[b], 48]\n\t"
  111130. "ldp x4, x6, [%[a], 32]\n\t"
  111131. "and x5, x5, %[m]\n\t"
  111132. "ldp x9, x10, [%[a], 48]\n\t"
  111133. "and x7, x7, %[m]\n\t"
  111134. "sbcs x4, x4, x5\n\t"
  111135. "and x11, x11, %[m]\n\t"
  111136. "sbcs x6, x6, x7\n\t"
  111137. "and x12, x12, %[m]\n\t"
  111138. "sbcs x9, x9, x11\n\t"
  111139. "stp x4, x6, [%[r], 32]\n\t"
  111140. "sbcs x10, x10, x12\n\t"
  111141. "stp x9, x10, [%[r], 48]\n\t"
  111142. "ldp x5, x7, [%[b], 64]\n\t"
  111143. "ldp x11, x12, [%[b], 80]\n\t"
  111144. "ldp x4, x6, [%[a], 64]\n\t"
  111145. "and x5, x5, %[m]\n\t"
  111146. "ldp x9, x10, [%[a], 80]\n\t"
  111147. "and x7, x7, %[m]\n\t"
  111148. "sbcs x4, x4, x5\n\t"
  111149. "and x11, x11, %[m]\n\t"
  111150. "sbcs x6, x6, x7\n\t"
  111151. "and x12, x12, %[m]\n\t"
  111152. "sbcs x9, x9, x11\n\t"
  111153. "stp x4, x6, [%[r], 64]\n\t"
  111154. "sbcs x10, x10, x12\n\t"
  111155. "stp x9, x10, [%[r], 80]\n\t"
  111156. "ldp x5, x7, [%[b], 96]\n\t"
  111157. "ldp x11, x12, [%[b], 112]\n\t"
  111158. "ldp x4, x6, [%[a], 96]\n\t"
  111159. "and x5, x5, %[m]\n\t"
  111160. "ldp x9, x10, [%[a], 112]\n\t"
  111161. "and x7, x7, %[m]\n\t"
  111162. "sbcs x4, x4, x5\n\t"
  111163. "and x11, x11, %[m]\n\t"
  111164. "sbcs x6, x6, x7\n\t"
  111165. "and x12, x12, %[m]\n\t"
  111166. "sbcs x9, x9, x11\n\t"
  111167. "stp x4, x6, [%[r], 96]\n\t"
  111168. "sbcs x10, x10, x12\n\t"
  111169. "stp x9, x10, [%[r], 112]\n\t"
  111170. "csetm %[r], cc\n\t"
  111171. : [r] "+r" (r)
  111172. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  111173. : "memory", "x4", "x6", "x5", "x7", "x8", "x9", "x10", "x11", "x12"
  111174. );
  111175. return (sp_digit)r;
  111176. #endif /* WOLFSSL_SP_SMALL */
  111177. }
  111178. #ifdef WOLFSSL_SP_SMALL
  111179. /* Add b to a into r. (r = a + b)
  111180. *
  111181. * r A single precision integer.
  111182. * a A single precision integer.
  111183. * b A single precision integer.
  111184. */
  111185. static sp_digit sp_1024_add_16(sp_digit* r, const sp_digit* a,
  111186. const sp_digit* b)
  111187. {
  111188. sp_digit c = 0;
  111189. __asm__ __volatile__ (
  111190. "add x11, %[a], 128\n\t"
  111191. "\n1:\n\t"
  111192. "adds %[c], %[c], #-1\n\t"
  111193. "ldp x3, x4, [%[a]], #16\n\t"
  111194. "ldp x5, x6, [%[a]], #16\n\t"
  111195. "ldp x7, x8, [%[b]], #16\n\t"
  111196. "adcs x3, x3, x7\n\t"
  111197. "ldp x9, x10, [%[b]], #16\n\t"
  111198. "adcs x4, x4, x8\n\t"
  111199. "adcs x5, x5, x9\n\t"
  111200. "stp x3, x4, [%[r]], #16\n\t"
  111201. "adcs x6, x6, x10\n\t"
  111202. "stp x5, x6, [%[r]], #16\n\t"
  111203. "cset %[c], cs\n\t"
  111204. "cmp %[a], x11\n\t"
  111205. "b.ne 1b\n\t"
  111206. : [c] "+r" (c), [r] "+r" (r), [a] "+r" (a), [b] "+r" (b)
  111207. :
  111208. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  111209. );
  111210. return c;
  111211. }
  111212. #endif /* WOLFSSL_SP_SMALL */
  111213. /* Mul a by digit b into r. (r = a * b)
  111214. *
  111215. * r A single precision integer.
  111216. * a A single precision integer.
  111217. * b A single precision digit.
  111218. */
  111219. static void sp_1024_mul_d_16(sp_digit* r, const sp_digit* a,
  111220. sp_digit b)
  111221. {
  111222. #ifdef WOLFSSL_SP_SMALL
  111223. __asm__ __volatile__ (
  111224. "# A[0] * B\n\t"
  111225. "ldr x8, [%[a]]\n\t"
  111226. "mul x5, %[b], x8\n\t"
  111227. "umulh x3, %[b], x8\n\t"
  111228. "mov x4, xzr\n\t"
  111229. "str x5, [%[r]]\n\t"
  111230. "mov x5, xzr\n\t"
  111231. "mov x9, #8\n\t"
  111232. "1:\n\t"
  111233. "ldr x8, [%[a], x9]\n\t"
  111234. "mul x6, %[b], x8\n\t"
  111235. "umulh x7, %[b], x8\n\t"
  111236. "adds x3, x3, x6\n\t"
  111237. "adcs x4, x4, x7\n\t"
  111238. "adc x5, xzr, xzr\n\t"
  111239. "str x3, [%[r], x9]\n\t"
  111240. "mov x3, x4\n\t"
  111241. "mov x4, x5\n\t"
  111242. "mov x5, #0\n\t"
  111243. "add x9, x9, #8\n\t"
  111244. "cmp x9, 128\n\t"
  111245. "b.lt 1b\n\t"
  111246. "str x3, [%[r], 128]\n\t"
  111247. :
  111248. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  111249. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  111250. );
  111251. #else
  111252. __asm__ __volatile__ (
  111253. "# A[0] * B\n\t"
  111254. "ldp x9, x10, [%[a]]\n\t"
  111255. "mul x3, %[b], x9\n\t"
  111256. "umulh x4, %[b], x9\n\t"
  111257. "mov x5, xzr\n\t"
  111258. "# A[1] * B\n\t"
  111259. "str x3, [%[r]]\n\t"
  111260. "mul x6, %[b], x10\n\t"
  111261. "mov x3, xzr\n\t"
  111262. "umulh x7, %[b], x10\n\t"
  111263. "adds x4, x4, x6\n\t"
  111264. "# A[2] * B\n\t"
  111265. "ldp x9, x10, [%[a], 16]\n\t"
  111266. "str x4, [%[r], 8]\n\t"
  111267. "adcs x5, x5, x7\n\t"
  111268. "mul x6, %[b], x9\n\t"
  111269. "mov x4, xzr\n\t"
  111270. "umulh x7, %[b], x9\n\t"
  111271. "adc x3, xzr, xzr\n\t"
  111272. "adds x5, x5, x6\n\t"
  111273. "# A[3] * B\n\t"
  111274. "str x5, [%[r], 16]\n\t"
  111275. "adcs x3, x3, x7\n\t"
  111276. "mul x6, %[b], x10\n\t"
  111277. "mov x5, xzr\n\t"
  111278. "umulh x7, %[b], x10\n\t"
  111279. "adc x4, xzr, xzr\n\t"
  111280. "adds x3, x3, x6\n\t"
  111281. "# A[4] * B\n\t"
  111282. "ldp x9, x10, [%[a], 32]\n\t"
  111283. "str x3, [%[r], 24]\n\t"
  111284. "adcs x4, x4, x7\n\t"
  111285. "mul x6, %[b], x9\n\t"
  111286. "mov x3, xzr\n\t"
  111287. "umulh x7, %[b], x9\n\t"
  111288. "adc x5, xzr, xzr\n\t"
  111289. "adds x4, x4, x6\n\t"
  111290. "# A[5] * B\n\t"
  111291. "str x4, [%[r], 32]\n\t"
  111292. "adcs x5, x5, x7\n\t"
  111293. "mul x6, %[b], x10\n\t"
  111294. "mov x4, xzr\n\t"
  111295. "umulh x7, %[b], x10\n\t"
  111296. "adc x3, xzr, xzr\n\t"
  111297. "adds x5, x5, x6\n\t"
  111298. "# A[6] * B\n\t"
  111299. "ldp x9, x10, [%[a], 48]\n\t"
  111300. "str x5, [%[r], 40]\n\t"
  111301. "adcs x3, x3, x7\n\t"
  111302. "mul x6, %[b], x9\n\t"
  111303. "mov x5, xzr\n\t"
  111304. "umulh x7, %[b], x9\n\t"
  111305. "adc x4, xzr, xzr\n\t"
  111306. "adds x3, x3, x6\n\t"
  111307. "# A[7] * B\n\t"
  111308. "str x3, [%[r], 48]\n\t"
  111309. "adcs x4, x4, x7\n\t"
  111310. "mul x6, %[b], x10\n\t"
  111311. "mov x3, xzr\n\t"
  111312. "umulh x7, %[b], x10\n\t"
  111313. "adc x5, xzr, xzr\n\t"
  111314. "adds x4, x4, x6\n\t"
  111315. "# A[8] * B\n\t"
  111316. "ldp x9, x10, [%[a], 64]\n\t"
  111317. "str x4, [%[r], 56]\n\t"
  111318. "adcs x5, x5, x7\n\t"
  111319. "mul x6, %[b], x9\n\t"
  111320. "mov x4, xzr\n\t"
  111321. "umulh x7, %[b], x9\n\t"
  111322. "adc x3, xzr, xzr\n\t"
  111323. "adds x5, x5, x6\n\t"
  111324. "# A[9] * B\n\t"
  111325. "str x5, [%[r], 64]\n\t"
  111326. "adcs x3, x3, x7\n\t"
  111327. "mul x6, %[b], x10\n\t"
  111328. "mov x5, xzr\n\t"
  111329. "umulh x7, %[b], x10\n\t"
  111330. "adc x4, xzr, xzr\n\t"
  111331. "adds x3, x3, x6\n\t"
  111332. "# A[10] * B\n\t"
  111333. "ldp x9, x10, [%[a], 80]\n\t"
  111334. "str x3, [%[r], 72]\n\t"
  111335. "adcs x4, x4, x7\n\t"
  111336. "mul x6, %[b], x9\n\t"
  111337. "mov x3, xzr\n\t"
  111338. "umulh x7, %[b], x9\n\t"
  111339. "adc x5, xzr, xzr\n\t"
  111340. "adds x4, x4, x6\n\t"
  111341. "# A[11] * B\n\t"
  111342. "str x4, [%[r], 80]\n\t"
  111343. "adcs x5, x5, x7\n\t"
  111344. "mul x6, %[b], x10\n\t"
  111345. "mov x4, xzr\n\t"
  111346. "umulh x7, %[b], x10\n\t"
  111347. "adc x3, xzr, xzr\n\t"
  111348. "adds x5, x5, x6\n\t"
  111349. "# A[12] * B\n\t"
  111350. "ldp x9, x10, [%[a], 96]\n\t"
  111351. "str x5, [%[r], 88]\n\t"
  111352. "adcs x3, x3, x7\n\t"
  111353. "mul x6, %[b], x9\n\t"
  111354. "mov x5, xzr\n\t"
  111355. "umulh x7, %[b], x9\n\t"
  111356. "adc x4, xzr, xzr\n\t"
  111357. "adds x3, x3, x6\n\t"
  111358. "# A[13] * B\n\t"
  111359. "str x3, [%[r], 96]\n\t"
  111360. "adcs x4, x4, x7\n\t"
  111361. "mul x6, %[b], x10\n\t"
  111362. "mov x3, xzr\n\t"
  111363. "umulh x7, %[b], x10\n\t"
  111364. "adc x5, xzr, xzr\n\t"
  111365. "adds x4, x4, x6\n\t"
  111366. "# A[14] * B\n\t"
  111367. "ldp x9, x10, [%[a], 112]\n\t"
  111368. "str x4, [%[r], 104]\n\t"
  111369. "adcs x5, x5, x7\n\t"
  111370. "mul x6, %[b], x9\n\t"
  111371. "mov x4, xzr\n\t"
  111372. "umulh x7, %[b], x9\n\t"
  111373. "adc x3, xzr, xzr\n\t"
  111374. "adds x5, x5, x6\n\t"
  111375. "# A[15] * B\n\t"
  111376. "str x5, [%[r], 112]\n\t"
  111377. "mul x6, %[b], x10\n\t"
  111378. "adcs x3, x3, x7\n\t"
  111379. "umulh x7, %[b], x10\n\t"
  111380. "adc x4, xzr, xzr\n\t"
  111381. "adds x3, x3, x6\n\t"
  111382. "adc x4, x4, x7\n\t"
  111383. "stp x3, x4, [%[r], 120]\n\t"
  111384. :
  111385. : [r] "r" (r), [a] "r" (a), [b] "r" (b)
  111386. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  111387. );
  111388. #endif
  111389. }
  111390. /* Divide the double width number (d1|d0) by the divisor. (d1|d0 / div)
  111391. *
  111392. * Assumes divisor has higest bit set.
  111393. *
  111394. * d1 The high order half of the number to divide.
  111395. * d0 The low order half of the number to divide.
  111396. * div The divisor.
  111397. * returns the result of the division.
  111398. */
  111399. static sp_digit div_1024_word_16(sp_digit d1, sp_digit d0, sp_digit div)
  111400. {
  111401. __asm__ __volatile__ (
  111402. "lsr x8, %[div], 32\n\t"
  111403. "add x5, x8, 1\n\t"
  111404. "udiv x3, %[d1], x5\n\t"
  111405. "lsl x7, %[div], 32\n\t"
  111406. "movz x9, #1, lsl 32\n\t"
  111407. "lsl x6, x3, 32\n\t"
  111408. "mul x4, %[div], x6\n\t"
  111409. "umulh x3, %[div], x6\n\t"
  111410. "subs %[d0], %[d0], x4\n\t"
  111411. "sbc %[d1], %[d1], x3\n\t"
  111412. "cmp %[d1], x5\n\t"
  111413. "cset x9, ge\n\t"
  111414. "csetm x10, ge\n\t"
  111415. "lsl x9, x9, #32\n\t"
  111416. "and x7, x7, x10\n\t"
  111417. "and x8, x8, x10\n\t"
  111418. "subs %[d0], %[d0], x7\n\t"
  111419. "add x6, x6, x9\n\t"
  111420. "sbc %[d1], %[d1], x8\n\t"
  111421. "extr x3, %[d1], %[d0], 32\n\t"
  111422. "udiv x3, x3, x5\n\t"
  111423. "add x6, x6, x3\n\t"
  111424. "mul x4, %[div], x3\n\t"
  111425. "umulh x3, %[div], x3\n\t"
  111426. "subs %[d0], %[d0], x4\n\t"
  111427. "sbc %[d1], %[d1], x3\n\t"
  111428. "extr x3, %[d1], %[d0], 32\n\t"
  111429. "udiv x3, x3, x5\n\t"
  111430. "add x6, x6, x3\n\t"
  111431. "mul x4, %[div], x3\n\t"
  111432. "sub %[d0], %[d0], x4\n\t"
  111433. "udiv x3, %[d0], %[div]\n\t"
  111434. "add %[d1], x6, x3\n\t"
  111435. : [d1] "+r" (d1), [d0] "+r" (d0)
  111436. : [div] "r" (div)
  111437. : "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  111438. );
  111439. return d1;
  111440. }
  111441. /* AND m into each word of a and store in r.
  111442. *
  111443. * r A single precision integer.
  111444. * a A single precision integer.
  111445. * m Mask to AND against each digit.
  111446. */
  111447. static void sp_1024_mask_16(sp_digit* r, const sp_digit* a, sp_digit m)
  111448. {
  111449. #ifdef WOLFSSL_SP_SMALL
  111450. int i;
  111451. for (i=0; i<16; i++) {
  111452. r[i] = a[i] & m;
  111453. }
  111454. #else
  111455. int i;
  111456. for (i = 0; i < 16; i += 8) {
  111457. r[i+0] = a[i+0] & m;
  111458. r[i+1] = a[i+1] & m;
  111459. r[i+2] = a[i+2] & m;
  111460. r[i+3] = a[i+3] & m;
  111461. r[i+4] = a[i+4] & m;
  111462. r[i+5] = a[i+5] & m;
  111463. r[i+6] = a[i+6] & m;
  111464. r[i+7] = a[i+7] & m;
  111465. }
  111466. #endif
  111467. }
  111468. /* Compare a with b in constant time.
  111469. *
  111470. * a A single precision integer.
  111471. * b A single precision integer.
  111472. * return -ve, 0 or +ve if a is less than, equal to or greater than b
  111473. * respectively.
  111474. */
  111475. static sp_int64 sp_1024_cmp_16(const sp_digit* a, const sp_digit* b)
  111476. {
  111477. #ifdef WOLFSSL_SP_SMALL
  111478. __asm__ __volatile__ (
  111479. "mov x3, #0\n\t"
  111480. "mov x2, #-1\n\t"
  111481. "mov x10, #16\n\t"
  111482. "add %[a], %[a], #112\n\t"
  111483. "add %[b], %[b], #112\n\t"
  111484. "1:\n\t"
  111485. "ldp x6, x7, [%[a]], -16\n\t"
  111486. "ldp x8, x9, [%[b]], -16\n\t"
  111487. "subs x7, x7, x9\n\t"
  111488. "csel x4, x2, xzr, lo\n\t"
  111489. "csetm x5, eq\n\t"
  111490. "orr x3, x3, x4\n\t"
  111491. "and x2, x2, x5\n\t"
  111492. "subs x6, x6, x8\n\t"
  111493. "csel x4, x2, xzr, lo\n\t"
  111494. "csetm x5, eq\n\t"
  111495. "orr x3, x3, x4\n\t"
  111496. "and x2, x2, x5\n\t"
  111497. "subs x10, x10, #2\n\t"
  111498. "b.ne 1b\n\t"
  111499. "cmp x2, #0\n\t"
  111500. "cset %[a], eq\n\t"
  111501. "orr %[a], %[a], x3\n\t"
  111502. : [a] "+r" (a), [b] "+r" (b)
  111503. :
  111504. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  111505. );
  111506. #else
  111507. __asm__ __volatile__ (
  111508. "mov x3, #0\n\t"
  111509. "mov x2, #-1\n\t"
  111510. "ldp x6, x7, [%[a], 112]\n\t"
  111511. "ldp x8, x9, [%[b], 112]\n\t"
  111512. "subs x7, x7, x9\n\t"
  111513. "csel x4, x2, xzr, lo\n\t"
  111514. "csetm x5, eq\n\t"
  111515. "orr x3, x3, x4\n\t"
  111516. "and x2, x2, x5\n\t"
  111517. "subs x6, x6, x8\n\t"
  111518. "csel x4, x2, xzr, lo\n\t"
  111519. "csetm x5, eq\n\t"
  111520. "orr x3, x3, x4\n\t"
  111521. "and x2, x2, x5\n\t"
  111522. "ldp x6, x7, [%[a], 96]\n\t"
  111523. "ldp x8, x9, [%[b], 96]\n\t"
  111524. "subs x7, x7, x9\n\t"
  111525. "csel x4, x2, xzr, lo\n\t"
  111526. "csetm x5, eq\n\t"
  111527. "orr x3, x3, x4\n\t"
  111528. "and x2, x2, x5\n\t"
  111529. "subs x6, x6, x8\n\t"
  111530. "csel x4, x2, xzr, lo\n\t"
  111531. "csetm x5, eq\n\t"
  111532. "orr x3, x3, x4\n\t"
  111533. "and x2, x2, x5\n\t"
  111534. "ldp x6, x7, [%[a], 80]\n\t"
  111535. "ldp x8, x9, [%[b], 80]\n\t"
  111536. "subs x7, x7, x9\n\t"
  111537. "csel x4, x2, xzr, lo\n\t"
  111538. "csetm x5, eq\n\t"
  111539. "orr x3, x3, x4\n\t"
  111540. "and x2, x2, x5\n\t"
  111541. "subs x6, x6, x8\n\t"
  111542. "csel x4, x2, xzr, lo\n\t"
  111543. "csetm x5, eq\n\t"
  111544. "orr x3, x3, x4\n\t"
  111545. "and x2, x2, x5\n\t"
  111546. "ldp x6, x7, [%[a], 64]\n\t"
  111547. "ldp x8, x9, [%[b], 64]\n\t"
  111548. "subs x7, x7, x9\n\t"
  111549. "csel x4, x2, xzr, lo\n\t"
  111550. "csetm x5, eq\n\t"
  111551. "orr x3, x3, x4\n\t"
  111552. "and x2, x2, x5\n\t"
  111553. "subs x6, x6, x8\n\t"
  111554. "csel x4, x2, xzr, lo\n\t"
  111555. "csetm x5, eq\n\t"
  111556. "orr x3, x3, x4\n\t"
  111557. "and x2, x2, x5\n\t"
  111558. "ldp x6, x7, [%[a], 48]\n\t"
  111559. "ldp x8, x9, [%[b], 48]\n\t"
  111560. "subs x7, x7, x9\n\t"
  111561. "csel x4, x2, xzr, lo\n\t"
  111562. "csetm x5, eq\n\t"
  111563. "orr x3, x3, x4\n\t"
  111564. "and x2, x2, x5\n\t"
  111565. "subs x6, x6, x8\n\t"
  111566. "csel x4, x2, xzr, lo\n\t"
  111567. "csetm x5, eq\n\t"
  111568. "orr x3, x3, x4\n\t"
  111569. "and x2, x2, x5\n\t"
  111570. "ldp x6, x7, [%[a], 32]\n\t"
  111571. "ldp x8, x9, [%[b], 32]\n\t"
  111572. "subs x7, x7, x9\n\t"
  111573. "csel x4, x2, xzr, lo\n\t"
  111574. "csetm x5, eq\n\t"
  111575. "orr x3, x3, x4\n\t"
  111576. "and x2, x2, x5\n\t"
  111577. "subs x6, x6, x8\n\t"
  111578. "csel x4, x2, xzr, lo\n\t"
  111579. "csetm x5, eq\n\t"
  111580. "orr x3, x3, x4\n\t"
  111581. "and x2, x2, x5\n\t"
  111582. "ldp x6, x7, [%[a], 16]\n\t"
  111583. "ldp x8, x9, [%[b], 16]\n\t"
  111584. "subs x7, x7, x9\n\t"
  111585. "csel x4, x2, xzr, lo\n\t"
  111586. "csetm x5, eq\n\t"
  111587. "orr x3, x3, x4\n\t"
  111588. "and x2, x2, x5\n\t"
  111589. "subs x6, x6, x8\n\t"
  111590. "csel x4, x2, xzr, lo\n\t"
  111591. "csetm x5, eq\n\t"
  111592. "orr x3, x3, x4\n\t"
  111593. "and x2, x2, x5\n\t"
  111594. "ldp x6, x7, [%[a], 0]\n\t"
  111595. "ldp x8, x9, [%[b], 0]\n\t"
  111596. "subs x7, x7, x9\n\t"
  111597. "csel x4, x2, xzr, lo\n\t"
  111598. "csetm x5, eq\n\t"
  111599. "orr x3, x3, x4\n\t"
  111600. "and x2, x2, x5\n\t"
  111601. "subs x6, x6, x8\n\t"
  111602. "csel x4, x2, xzr, lo\n\t"
  111603. "csetm x5, eq\n\t"
  111604. "orr x3, x3, x4\n\t"
  111605. "and x2, x2, x5\n\t"
  111606. "cmp x2, #0\n\t"
  111607. "cset %[a], eq\n\t"
  111608. "orr %[a], %[a], x3\n\t"
  111609. : [a] "+r" (a)
  111610. : [b] "r" (b)
  111611. : "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9"
  111612. );
  111613. #endif
  111614. return (sp_int64)a;
  111615. }
  111616. /* Divide d in a and put remainder into r (m*d + r = a)
  111617. * m is not calculated as it is not needed at this time.
  111618. *
  111619. * a Number to be divided.
  111620. * d Number to divide with.
  111621. * m Multiplier result.
  111622. * r Remainder from the division.
  111623. * returns MP_OKAY indicating success.
  111624. */
  111625. static WC_INLINE int sp_1024_div_16(const sp_digit* a, const sp_digit* d, sp_digit* m,
  111626. sp_digit* r)
  111627. {
  111628. sp_digit t1[32], t2[17];
  111629. sp_digit div, r1;
  111630. int i;
  111631. (void)m;
  111632. div = d[15];
  111633. XMEMCPY(t1, a, sizeof(*t1) * 2 * 16);
  111634. r1 = sp_1024_cmp_16(&t1[16], d) >= 0;
  111635. sp_1024_cond_sub_16(&t1[16], &t1[16], d, (sp_digit)0 - r1);
  111636. for (i = 15; i >= 0; i--) {
  111637. sp_digit mask = 0 - (t1[16 + i] == div);
  111638. sp_digit hi = t1[16 + i] + mask;
  111639. r1 = div_1024_word_16(hi, t1[16 + i - 1], div);
  111640. r1 |= mask;
  111641. sp_1024_mul_d_16(t2, d, r1);
  111642. t1[16 + i] += sp_1024_sub_in_place_16(&t1[i], t2);
  111643. t1[16 + i] -= t2[16];
  111644. sp_1024_mask_16(t2, d, t1[16 + i]);
  111645. t1[16 + i] += sp_1024_add_16(&t1[i], &t1[i], t2);
  111646. sp_1024_mask_16(t2, d, t1[16 + i]);
  111647. t1[16 + i] += sp_1024_add_16(&t1[i], &t1[i], t2);
  111648. }
  111649. r1 = sp_1024_cmp_16(t1, d) >= 0;
  111650. sp_1024_cond_sub_16(r, t1, d, (sp_digit)0 - r1);
  111651. return MP_OKAY;
  111652. }
  111653. /* Reduce a modulo m into r. (r = a mod m)
  111654. *
  111655. * r A single precision number that is the reduced result.
  111656. * a A single precision number that is to be reduced.
  111657. * m A single precision number that is the modulus to reduce with.
  111658. * returns MP_OKAY indicating success.
  111659. */
  111660. static WC_INLINE int sp_1024_mod_16(sp_digit* r, const sp_digit* a, const sp_digit* m)
  111661. {
  111662. return sp_1024_div_16(a, m, NULL, r);
  111663. }
  111664. /* Multiply a number by Montgomery normalizer mod modulus (prime).
  111665. *
  111666. * r The resulting Montgomery form number.
  111667. * a The number to convert.
  111668. * m The modulus (prime).
  111669. * returns MEMORY_E when memory allocation fails and MP_OKAY otherwise.
  111670. */
  111671. static int sp_1024_mod_mul_norm_16(sp_digit* r, const sp_digit* a,
  111672. const sp_digit* m)
  111673. {
  111674. sp_1024_mul_16(r, a, p1024_norm_mod);
  111675. return sp_1024_mod_16(r, r, m);
  111676. }
  111677. #ifdef WOLFCRYPT_HAVE_SAKKE
  111678. /* Create a new point.
  111679. *
  111680. * heap [in] Buffer to allocate dynamic memory from.
  111681. * sp [in] Data for point - only if not allocating.
  111682. * p [out] New point.
  111683. * returns MEMORY_E when dynamic memory allocation fails and 0 otherwise.
  111684. */
  111685. static int sp_1024_point_new_ex_16(void* heap, sp_point_1024* sp,
  111686. sp_point_1024** p)
  111687. {
  111688. int ret = MP_OKAY;
  111689. (void)heap;
  111690. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && !defined(WOLFSSL_SP_NO_MALLOC)
  111691. (void)sp;
  111692. *p = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024), heap, DYNAMIC_TYPE_ECC);
  111693. #else
  111694. *p = sp;
  111695. #endif
  111696. if (*p == NULL) {
  111697. ret = MEMORY_E;
  111698. }
  111699. return ret;
  111700. }
  111701. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && !defined(WOLFSSL_SP_NO_MALLOC)
  111702. /* Allocate memory for point and return error. */
  111703. #define sp_1024_point_new_16(heap, sp, p) sp_1024_point_new_ex_16((heap), NULL, &(p))
  111704. #else
  111705. /* Set pointer to data and return no error. */
  111706. #define sp_1024_point_new_16(heap, sp, p) sp_1024_point_new_ex_16((heap), &(sp), &(p))
  111707. #endif
  111708. #endif /* WOLFCRYPT_HAVE_SAKKE */
  111709. #ifdef WOLFCRYPT_HAVE_SAKKE
  111710. /* Free the point.
  111711. *
  111712. * p [in,out] Point to free.
  111713. * clear [in] Indicates whether to zeroize point.
  111714. * heap [in] Buffer from which dynamic memory was allocate from.
  111715. */
  111716. static void sp_1024_point_free_16(sp_point_1024* p, int clear, void* heap)
  111717. {
  111718. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && !defined(WOLFSSL_SP_NO_MALLOC)
  111719. /* If valid pointer then clear point data if requested and free data. */
  111720. if (p != NULL) {
  111721. if (clear != 0) {
  111722. XMEMSET(p, 0, sizeof(*p));
  111723. }
  111724. XFREE(p, heap, DYNAMIC_TYPE_ECC);
  111725. }
  111726. #else
  111727. /* Clear point data if requested. */
  111728. if ((p != NULL) && (clear != 0)) {
  111729. XMEMSET(p, 0, sizeof(*p));
  111730. }
  111731. #endif
  111732. (void)heap;
  111733. }
  111734. #endif /* WOLFCRYPT_HAVE_SAKKE */
  111735. /* Convert an mp_int to an array of sp_digit.
  111736. *
  111737. * r A single precision integer.
  111738. * size Maximum number of bytes to convert
  111739. * a A multi-precision integer.
  111740. */
  111741. static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
  111742. {
  111743. #if DIGIT_BIT == 64
  111744. int j;
  111745. XMEMCPY(r, a->dp, sizeof(sp_digit) * a->used);
  111746. for (j = a->used; j < size; j++) {
  111747. r[j] = 0;
  111748. }
  111749. #elif DIGIT_BIT > 64
  111750. int i;
  111751. int j = 0;
  111752. word32 s = 0;
  111753. r[0] = 0;
  111754. for (i = 0; i < a->used && j < size; i++) {
  111755. r[j] |= ((sp_digit)a->dp[i] << s);
  111756. r[j] &= 0xffffffffffffffffl;
  111757. s = 64U - s;
  111758. if (j + 1 >= size) {
  111759. break;
  111760. }
  111761. /* lint allow cast of mismatch word32 and mp_digit */
  111762. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  111763. while ((s + 64U) <= (word32)DIGIT_BIT) {
  111764. s += 64U;
  111765. r[j] &= 0xffffffffffffffffl;
  111766. if (j + 1 >= size) {
  111767. break;
  111768. }
  111769. if (s < (word32)DIGIT_BIT) {
  111770. /* lint allow cast of mismatch word32 and mp_digit */
  111771. r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/
  111772. }
  111773. else {
  111774. r[++j] = (sp_digit)0;
  111775. }
  111776. }
  111777. s = (word32)DIGIT_BIT - s;
  111778. }
  111779. for (j++; j < size; j++) {
  111780. r[j] = 0;
  111781. }
  111782. #else
  111783. int i;
  111784. int j = 0;
  111785. int s = 0;
  111786. r[0] = 0;
  111787. for (i = 0; i < a->used && j < size; i++) {
  111788. r[j] |= ((sp_digit)a->dp[i]) << s;
  111789. if (s + DIGIT_BIT >= 64) {
  111790. r[j] &= 0xffffffffffffffffl;
  111791. if (j + 1 >= size) {
  111792. break;
  111793. }
  111794. s = 64 - s;
  111795. if (s == DIGIT_BIT) {
  111796. r[++j] = 0;
  111797. s = 0;
  111798. }
  111799. else {
  111800. r[++j] = a->dp[i] >> s;
  111801. s = DIGIT_BIT - s;
  111802. }
  111803. }
  111804. else {
  111805. s += DIGIT_BIT;
  111806. }
  111807. }
  111808. for (j++; j < size; j++) {
  111809. r[j] = 0;
  111810. }
  111811. #endif
  111812. }
  111813. /* Convert a point of type ecc_point to type sp_point_1024.
  111814. *
  111815. * p Point of type sp_point_1024 (result).
  111816. * pm Point of type ecc_point.
  111817. */
  111818. static void sp_1024_point_from_ecc_point_16(sp_point_1024* p,
  111819. const ecc_point* pm)
  111820. {
  111821. XMEMSET(p->x, 0, sizeof(p->x));
  111822. XMEMSET(p->y, 0, sizeof(p->y));
  111823. XMEMSET(p->z, 0, sizeof(p->z));
  111824. sp_1024_from_mp(p->x, 16, pm->x);
  111825. sp_1024_from_mp(p->y, 16, pm->y);
  111826. sp_1024_from_mp(p->z, 16, pm->z);
  111827. p->infinity = 0;
  111828. }
  111829. /* Convert an array of sp_digit to an mp_int.
  111830. *
  111831. * a A single precision integer.
  111832. * r A multi-precision integer.
  111833. */
  111834. static int sp_1024_to_mp(const sp_digit* a, mp_int* r)
  111835. {
  111836. int err;
  111837. err = mp_grow(r, (1024 + DIGIT_BIT - 1) / DIGIT_BIT);
  111838. if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/
  111839. #if DIGIT_BIT == 64
  111840. XMEMCPY(r->dp, a, sizeof(sp_digit) * 16);
  111841. r->used = 16;
  111842. mp_clamp(r);
  111843. #elif DIGIT_BIT < 64
  111844. int i;
  111845. int j = 0;
  111846. int s = 0;
  111847. r->dp[0] = 0;
  111848. for (i = 0; i < 16; i++) {
  111849. r->dp[j] |= (mp_digit)(a[i] << s);
  111850. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  111851. s = DIGIT_BIT - s;
  111852. r->dp[++j] = (mp_digit)(a[i] >> s);
  111853. while (s + DIGIT_BIT <= 64) {
  111854. s += DIGIT_BIT;
  111855. r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  111856. if (s == SP_WORD_SIZE) {
  111857. r->dp[j] = 0;
  111858. }
  111859. else {
  111860. r->dp[j] = (mp_digit)(a[i] >> s);
  111861. }
  111862. }
  111863. s = 64 - s;
  111864. }
  111865. r->used = (1024 + DIGIT_BIT - 1) / DIGIT_BIT;
  111866. mp_clamp(r);
  111867. #else
  111868. int i;
  111869. int j = 0;
  111870. int s = 0;
  111871. r->dp[0] = 0;
  111872. for (i = 0; i < 16; i++) {
  111873. r->dp[j] |= ((mp_digit)a[i]) << s;
  111874. if (s + 64 >= DIGIT_BIT) {
  111875. #if DIGIT_BIT != 32 && DIGIT_BIT != 64
  111876. r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1;
  111877. #endif
  111878. s = DIGIT_BIT - s;
  111879. r->dp[++j] = a[i] >> s;
  111880. s = 64 - s;
  111881. }
  111882. else {
  111883. s += 64;
  111884. }
  111885. }
  111886. r->used = (1024 + DIGIT_BIT - 1) / DIGIT_BIT;
  111887. mp_clamp(r);
  111888. #endif
  111889. }
  111890. return err;
  111891. }
  111892. /* Convert a point of type sp_point_1024 to type ecc_point.
  111893. *
  111894. * p Point of type sp_point_1024.
  111895. * pm Point of type ecc_point (result).
  111896. * returns MEMORY_E when allocation of memory in ecc_point fails otherwise
  111897. * MP_OKAY.
  111898. */
  111899. static int sp_1024_point_to_ecc_point_16(const sp_point_1024* p, ecc_point* pm)
  111900. {
  111901. int err;
  111902. err = sp_1024_to_mp(p->x, pm->x);
  111903. if (err == MP_OKAY) {
  111904. err = sp_1024_to_mp(p->y, pm->y);
  111905. }
  111906. if (err == MP_OKAY) {
  111907. err = sp_1024_to_mp(p->z, pm->z);
  111908. }
  111909. return err;
  111910. }
  111911. /* Conditionally copy a into r using the mask m.
  111912. * m is -1 to copy and 0 when not.
  111913. *
  111914. * r A single precision number to copy over.
  111915. * a A single precision number to copy.
  111916. * m Mask value to apply.
  111917. */
  111918. static void sp_1024_cond_copy_16(sp_digit* r, const sp_digit* a, sp_digit m)
  111919. {
  111920. __asm__ __volatile__ (
  111921. "ldp x3, x4, [%[r], 0]\n\t"
  111922. "ldp x5, x6, [%[a], 0]\n\t"
  111923. "eor x5, x5, x3\n\t"
  111924. "eor x6, x6, x4\n\t"
  111925. "and x5, x5, %[m]\n\t"
  111926. "and x6, x6, %[m]\n\t"
  111927. "eor x3, x3, x5\n\t"
  111928. "eor x4, x4, x6\n\t"
  111929. "stp x3, x4, [%[r], 0]\n\t"
  111930. "ldp x3, x4, [%[r], 16]\n\t"
  111931. "ldp x5, x6, [%[a], 16]\n\t"
  111932. "eor x5, x5, x3\n\t"
  111933. "eor x6, x6, x4\n\t"
  111934. "and x5, x5, %[m]\n\t"
  111935. "and x6, x6, %[m]\n\t"
  111936. "eor x3, x3, x5\n\t"
  111937. "eor x4, x4, x6\n\t"
  111938. "stp x3, x4, [%[r], 16]\n\t"
  111939. "ldp x3, x4, [%[r], 32]\n\t"
  111940. "ldp x5, x6, [%[a], 32]\n\t"
  111941. "eor x5, x5, x3\n\t"
  111942. "eor x6, x6, x4\n\t"
  111943. "and x5, x5, %[m]\n\t"
  111944. "and x6, x6, %[m]\n\t"
  111945. "eor x3, x3, x5\n\t"
  111946. "eor x4, x4, x6\n\t"
  111947. "stp x3, x4, [%[r], 32]\n\t"
  111948. "ldp x3, x4, [%[r], 48]\n\t"
  111949. "ldp x5, x6, [%[a], 48]\n\t"
  111950. "eor x5, x5, x3\n\t"
  111951. "eor x6, x6, x4\n\t"
  111952. "and x5, x5, %[m]\n\t"
  111953. "and x6, x6, %[m]\n\t"
  111954. "eor x3, x3, x5\n\t"
  111955. "eor x4, x4, x6\n\t"
  111956. "stp x3, x4, [%[r], 48]\n\t"
  111957. "ldp x3, x4, [%[r], 64]\n\t"
  111958. "ldp x5, x6, [%[a], 64]\n\t"
  111959. "eor x5, x5, x3\n\t"
  111960. "eor x6, x6, x4\n\t"
  111961. "and x5, x5, %[m]\n\t"
  111962. "and x6, x6, %[m]\n\t"
  111963. "eor x3, x3, x5\n\t"
  111964. "eor x4, x4, x6\n\t"
  111965. "stp x3, x4, [%[r], 64]\n\t"
  111966. "ldp x3, x4, [%[r], 80]\n\t"
  111967. "ldp x5, x6, [%[a], 80]\n\t"
  111968. "eor x5, x5, x3\n\t"
  111969. "eor x6, x6, x4\n\t"
  111970. "and x5, x5, %[m]\n\t"
  111971. "and x6, x6, %[m]\n\t"
  111972. "eor x3, x3, x5\n\t"
  111973. "eor x4, x4, x6\n\t"
  111974. "stp x3, x4, [%[r], 80]\n\t"
  111975. "ldp x3, x4, [%[r], 96]\n\t"
  111976. "ldp x5, x6, [%[a], 96]\n\t"
  111977. "eor x5, x5, x3\n\t"
  111978. "eor x6, x6, x4\n\t"
  111979. "and x5, x5, %[m]\n\t"
  111980. "and x6, x6, %[m]\n\t"
  111981. "eor x3, x3, x5\n\t"
  111982. "eor x4, x4, x6\n\t"
  111983. "stp x3, x4, [%[r], 96]\n\t"
  111984. "ldp x3, x4, [%[r], 112]\n\t"
  111985. "ldp x5, x6, [%[a], 112]\n\t"
  111986. "eor x5, x5, x3\n\t"
  111987. "eor x6, x6, x4\n\t"
  111988. "and x5, x5, %[m]\n\t"
  111989. "and x6, x6, %[m]\n\t"
  111990. "eor x3, x3, x5\n\t"
  111991. "eor x4, x4, x6\n\t"
  111992. "stp x3, x4, [%[r], 112]\n\t"
  111993. :
  111994. : [r] "r" (r), [a] "r" (a), [m] "r" (m)
  111995. : "memory", "x3", "x4", "x5", "x6"
  111996. );
  111997. }
  111998. /* Reduce the number back to 1024 bits using Montgomery reduction.
  111999. *
  112000. * a A single precision number to reduce in place.
  112001. * m The single precision number representing the modulus.
  112002. * mp The digit representing the negative inverse of m mod 2^n.
  112003. */
  112004. SP_NOINLINE static void sp_1024_mont_reduce_16(sp_digit* a, const sp_digit* m,
  112005. sp_digit mp)
  112006. {
  112007. __asm__ __volatile__ (
  112008. "ldp x12, x13, [%[a], 0]\n\t"
  112009. "ldp x14, x15, [%[a], 16]\n\t"
  112010. "ldp x16, x17, [%[a], 32]\n\t"
  112011. "ldp x19, x20, [%[a], 48]\n\t"
  112012. "ldp x21, x22, [%[a], 64]\n\t"
  112013. "ldp x23, x24, [%[a], 80]\n\t"
  112014. "ldp x25, x26, [%[a], 96]\n\t"
  112015. "ldp x27, x28, [%[a], 112]\n\t"
  112016. "mov x3, xzr\n\t"
  112017. "# i = 0..15\n\t"
  112018. "mov x4, 16\n\t"
  112019. "\n1:\n\t"
  112020. "# mu = a[i] * mp\n\t"
  112021. "mul x9, %[mp], x12\n\t"
  112022. "# a[i+0] += m[0] * mu\n\t"
  112023. "ldp x10, x11, [%[m], 0]\n\t"
  112024. "mul x7, x10, x9\n\t"
  112025. "umulh x8, x10, x9\n\t"
  112026. "adds x12, x12, x7\n\t"
  112027. "# a[i+1] += m[1] * mu\n\t"
  112028. "adc x6, x8, xzr\n\t"
  112029. "mul x7, x11, x9\n\t"
  112030. "umulh x8, x11, x9\n\t"
  112031. "adds x12, x13, x7\n\t"
  112032. "# a[i+2] += m[2] * mu\n\t"
  112033. "ldp x11, x10, [%[m], 16]\n\t"
  112034. "adc x5, x8, xzr\n\t"
  112035. "adds x12, x12, x6\n\t"
  112036. "mul x7, x11, x9\n\t"
  112037. "adc x5, x5, xzr\n\t"
  112038. "umulh x8, x11, x9\n\t"
  112039. "adds x13, x14, x7\n\t"
  112040. "# a[i+3] += m[3] * mu\n\t"
  112041. "adc x6, x8, xzr\n\t"
  112042. "adds x13, x13, x5\n\t"
  112043. "mul x7, x10, x9\n\t"
  112044. "adc x6, x6, xzr\n\t"
  112045. "umulh x8, x10, x9\n\t"
  112046. "adds x14, x15, x7\n\t"
  112047. "# a[i+4] += m[4] * mu\n\t"
  112048. "ldp x11, x10, [%[m], 32]\n\t"
  112049. "adc x5, x8, xzr\n\t"
  112050. "adds x14, x14, x6\n\t"
  112051. "mul x7, x11, x9\n\t"
  112052. "adc x5, x5, xzr\n\t"
  112053. "umulh x8, x11, x9\n\t"
  112054. "adds x15, x16, x7\n\t"
  112055. "# a[i+5] += m[5] * mu\n\t"
  112056. "adc x6, x8, xzr\n\t"
  112057. "adds x15, x15, x5\n\t"
  112058. "mul x7, x10, x9\n\t"
  112059. "adc x6, x6, xzr\n\t"
  112060. "umulh x8, x10, x9\n\t"
  112061. "adds x16, x17, x7\n\t"
  112062. "# a[i+6] += m[6] * mu\n\t"
  112063. "ldp x11, x10, [%[m], 48]\n\t"
  112064. "adc x5, x8, xzr\n\t"
  112065. "adds x16, x16, x6\n\t"
  112066. "mul x7, x11, x9\n\t"
  112067. "adc x5, x5, xzr\n\t"
  112068. "umulh x8, x11, x9\n\t"
  112069. "adds x17, x19, x7\n\t"
  112070. "# a[i+7] += m[7] * mu\n\t"
  112071. "adc x6, x8, xzr\n\t"
  112072. "adds x17, x17, x5\n\t"
  112073. "mul x7, x10, x9\n\t"
  112074. "adc x6, x6, xzr\n\t"
  112075. "umulh x8, x10, x9\n\t"
  112076. "adds x19, x20, x7\n\t"
  112077. "# a[i+8] += m[8] * mu\n\t"
  112078. "ldp x11, x10, [%[m], 64]\n\t"
  112079. "adc x5, x8, xzr\n\t"
  112080. "adds x19, x19, x6\n\t"
  112081. "mul x7, x11, x9\n\t"
  112082. "adc x5, x5, xzr\n\t"
  112083. "umulh x8, x11, x9\n\t"
  112084. "adds x20, x21, x7\n\t"
  112085. "# a[i+9] += m[9] * mu\n\t"
  112086. "adc x6, x8, xzr\n\t"
  112087. "adds x20, x20, x5\n\t"
  112088. "mul x7, x10, x9\n\t"
  112089. "adc x6, x6, xzr\n\t"
  112090. "umulh x8, x10, x9\n\t"
  112091. "adds x21, x22, x7\n\t"
  112092. "# a[i+10] += m[10] * mu\n\t"
  112093. "ldp x11, x10, [%[m], 80]\n\t"
  112094. "adc x5, x8, xzr\n\t"
  112095. "adds x21, x21, x6\n\t"
  112096. "mul x7, x11, x9\n\t"
  112097. "adc x5, x5, xzr\n\t"
  112098. "umulh x8, x11, x9\n\t"
  112099. "adds x22, x23, x7\n\t"
  112100. "# a[i+11] += m[11] * mu\n\t"
  112101. "adc x6, x8, xzr\n\t"
  112102. "adds x22, x22, x5\n\t"
  112103. "mul x7, x10, x9\n\t"
  112104. "adc x6, x6, xzr\n\t"
  112105. "umulh x8, x10, x9\n\t"
  112106. "adds x23, x24, x7\n\t"
  112107. "# a[i+12] += m[12] * mu\n\t"
  112108. "ldp x11, x10, [%[m], 96]\n\t"
  112109. "adc x5, x8, xzr\n\t"
  112110. "adds x23, x23, x6\n\t"
  112111. "mul x7, x11, x9\n\t"
  112112. "adc x5, x5, xzr\n\t"
  112113. "umulh x8, x11, x9\n\t"
  112114. "adds x24, x25, x7\n\t"
  112115. "# a[i+13] += m[13] * mu\n\t"
  112116. "adc x6, x8, xzr\n\t"
  112117. "adds x24, x24, x5\n\t"
  112118. "mul x7, x10, x9\n\t"
  112119. "adc x6, x6, xzr\n\t"
  112120. "umulh x8, x10, x9\n\t"
  112121. "adds x25, x26, x7\n\t"
  112122. "# a[i+14] += m[14] * mu\n\t"
  112123. "ldp x11, x10, [%[m], 112]\n\t"
  112124. "adc x5, x8, xzr\n\t"
  112125. "adds x25, x25, x6\n\t"
  112126. "mul x7, x11, x9\n\t"
  112127. "adc x5, x5, xzr\n\t"
  112128. "umulh x8, x11, x9\n\t"
  112129. "adds x26, x27, x7\n\t"
  112130. "# a[i+15] += m[15] * mu\n\t"
  112131. "ldr x10, [%[m], 120]\n\t"
  112132. "adc x6, x8, xzr\n\t"
  112133. "adds x26, x26, x5\n\t"
  112134. "mul x7, x10, x9\n\t"
  112135. "adc x6, x6, xzr\n\t"
  112136. "umulh x8, x10, x9\n\t"
  112137. "adds x6, x6, x7\n\t"
  112138. "adcs x8, x8, x3\n\t"
  112139. "cset x3, cs\n\t"
  112140. "adds x27, x28, x6\n\t"
  112141. "ldr x28, [%[a], 128]\n\t"
  112142. "adcs x28, x28, x8\n\t"
  112143. "adc x3, x3, xzr\n\t"
  112144. "subs x4, x4, 1\n\t"
  112145. "add %[a], %[a], 8\n\t"
  112146. "bne 1b\n\t"
  112147. "# Create mask\n\t"
  112148. "subs x11, x10, x28\n\t"
  112149. "neg x3, x3\n\t"
  112150. "sbc x11, x11, x11\n\t"
  112151. "orr x3, x3, x11\n\t"
  112152. "mov x9, %[a]\n\t"
  112153. "sub %[a], %[a], 128\n\t"
  112154. "# Subtract masked modulus\n\t"
  112155. "ldp x4, x5, [%[m], 0]\n\t"
  112156. "ldp x6, x7, [%[m], 16]\n\t"
  112157. "and x4, x4, x3\n\t"
  112158. "and x5, x5, x3\n\t"
  112159. "subs x12, x12, x4\n\t"
  112160. "and x6, x6, x3\n\t"
  112161. "sbcs x13, x13, x5\n\t"
  112162. "and x7, x7, x3\n\t"
  112163. "sbcs x14, x14, x6\n\t"
  112164. "stp x12, x13, [%[a], 0]\n\t"
  112165. "sbcs x15, x15, x7\n\t"
  112166. "stp x14, x15, [%[a], 16]\n\t"
  112167. "ldp x4, x5, [%[m], 32]\n\t"
  112168. "ldp x6, x7, [%[m], 48]\n\t"
  112169. "and x4, x4, x3\n\t"
  112170. "and x5, x5, x3\n\t"
  112171. "sbcs x16, x16, x4\n\t"
  112172. "and x6, x6, x3\n\t"
  112173. "sbcs x17, x17, x5\n\t"
  112174. "and x7, x7, x3\n\t"
  112175. "sbcs x19, x19, x6\n\t"
  112176. "stp x16, x17, [%[a], 32]\n\t"
  112177. "sbcs x20, x20, x7\n\t"
  112178. "stp x19, x20, [%[a], 48]\n\t"
  112179. "ldp x4, x5, [%[m], 64]\n\t"
  112180. "ldp x6, x7, [%[m], 80]\n\t"
  112181. "and x4, x4, x3\n\t"
  112182. "and x5, x5, x3\n\t"
  112183. "sbcs x21, x21, x4\n\t"
  112184. "and x6, x6, x3\n\t"
  112185. "sbcs x22, x22, x5\n\t"
  112186. "and x7, x7, x3\n\t"
  112187. "sbcs x23, x23, x6\n\t"
  112188. "stp x21, x22, [%[a], 64]\n\t"
  112189. "sbcs x24, x24, x7\n\t"
  112190. "stp x23, x24, [%[a], 80]\n\t"
  112191. "ldp x4, x5, [%[m], 96]\n\t"
  112192. "ldp x6, x7, [%[m], 112]\n\t"
  112193. "and x4, x4, x3\n\t"
  112194. "and x5, x5, x3\n\t"
  112195. "sbcs x25, x25, x4\n\t"
  112196. "and x6, x6, x3\n\t"
  112197. "sbcs x26, x26, x5\n\t"
  112198. "and x7, x7, x3\n\t"
  112199. "sbcs x27, x27, x6\n\t"
  112200. "stp x25, x26, [%[a], 96]\n\t"
  112201. "sbcs x28, x28, x7\n\t"
  112202. "stp x27, x28, [%[a], 112]\n\t"
  112203. : [a] "+r" (a), [mp] "+r" (mp)
  112204. : [m] "r" (m)
  112205. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28"
  112206. );
  112207. }
  112208. /* Multiply two Montgomery form numbers mod the modulus (prime).
  112209. * (r = a * b mod m)
  112210. *
  112211. * r Result of multiplication.
  112212. * a First number to multiply in Montgomery form.
  112213. * b Second number to multiply in Montgomery form.
  112214. * m Modulus (prime).
  112215. * mp Montgomery mulitplier.
  112216. */
  112217. SP_NOINLINE static void sp_1024_mont_mul_16(sp_digit* r, const sp_digit* a,
  112218. const sp_digit* b, const sp_digit* m, sp_digit mp)
  112219. {
  112220. sp_1024_mul_16(r, a, b);
  112221. sp_1024_mont_reduce_16(r, m, mp);
  112222. }
  112223. /* Square the Montgomery form number. (r = a * a mod m)
  112224. *
  112225. * r Result of squaring.
  112226. * a Number to square in Montgomery form.
  112227. * m Modulus (prime).
  112228. * mp Montgomery mulitplier.
  112229. */
  112230. SP_NOINLINE static void sp_1024_mont_sqr_16(sp_digit* r, const sp_digit* a,
  112231. const sp_digit* m, sp_digit mp)
  112232. {
  112233. sp_1024_sqr_16(r, a);
  112234. sp_1024_mont_reduce_16(r, m, mp);
  112235. }
  112236. /* Mod-2 for the P1024 curve. */
  112237. static const uint8_t p1024_mod_minus_2[] = {
  112238. 6,0x06, 7,0x0f, 7,0x0b, 6,0x0c, 7,0x1e, 9,0x09, 7,0x0c, 7,0x1f,
  112239. 6,0x16, 6,0x06, 7,0x0e, 8,0x10, 6,0x03, 8,0x11, 6,0x0d, 7,0x14,
  112240. 9,0x12, 6,0x0f, 7,0x04, 9,0x0d, 6,0x00, 7,0x13, 6,0x01, 6,0x07,
  112241. 8,0x0d, 8,0x00, 6,0x06, 9,0x17, 6,0x14, 6,0x15, 6,0x11, 6,0x0b,
  112242. 9,0x0c, 6,0x1e, 13,0x14, 7,0x0e, 6,0x1d, 12,0x0a, 6,0x0b, 8,0x07,
  112243. 6,0x18, 6,0x0f, 6,0x10, 8,0x1c, 7,0x16, 7,0x02, 6,0x01, 6,0x13,
  112244. 10,0x15, 7,0x06, 8,0x14, 6,0x0c, 6,0x19, 7,0x10, 6,0x19, 6,0x19,
  112245. 9,0x16, 7,0x19, 6,0x1f, 6,0x17, 6,0x12, 8,0x02, 6,0x01, 6,0x04,
  112246. 6,0x15, 7,0x16, 6,0x04, 6,0x1f, 6,0x09, 7,0x06, 7,0x13, 7,0x09,
  112247. 6,0x0d, 10,0x18, 6,0x06, 6,0x11, 6,0x04, 6,0x01, 6,0x13, 8,0x06,
  112248. 6,0x0d, 8,0x13, 7,0x08, 6,0x08, 6,0x05, 7,0x0c, 7,0x0e, 7,0x15,
  112249. 6,0x05, 7,0x14, 10,0x19, 6,0x10, 6,0x16, 6,0x15, 7,0x1f, 6,0x14,
  112250. 6,0x0a, 10,0x11, 6,0x01, 7,0x05, 7,0x08, 8,0x0a, 7,0x1e, 7,0x1c,
  112251. 6,0x1c, 7,0x09, 10,0x18, 7,0x1c, 10,0x06, 6,0x0a, 6,0x07, 6,0x19,
  112252. 7,0x06, 6,0x0d, 7,0x0f, 7,0x0b, 7,0x05, 6,0x11, 6,0x1c, 7,0x1f,
  112253. 6,0x1e, 7,0x18, 6,0x1e, 6,0x00, 6,0x03, 6,0x02, 7,0x10, 6,0x0b,
  112254. 6,0x1b, 7,0x10, 6,0x00, 8,0x11, 7,0x1b, 6,0x18, 6,0x01, 7,0x0c,
  112255. 7,0x1d, 7,0x13, 6,0x08, 7,0x1b, 8,0x13, 7,0x16, 13,0x1d, 7,0x1f,
  112256. 6,0x0a, 6,0x01, 7,0x1f, 6,0x14, 1,0x01
  112257. };
  112258. /* Invert the number, in Montgomery form, modulo the modulus (prime) of the
  112259. * P1024 curve. (r = 1 / a mod m)
  112260. *
  112261. * r Inverse result.
  112262. * a Number to invert.
  112263. * td Temporary data.
  112264. */
  112265. static void sp_1024_mont_inv_16(sp_digit* r, const sp_digit* a,
  112266. sp_digit* td)
  112267. {
  112268. sp_digit* t = td;
  112269. int i;
  112270. int j;
  112271. sp_digit table[32][2 * 16];
  112272. XMEMCPY(table[0], a, sizeof(sp_digit) * 16);
  112273. for (i = 1; i < 6; i++) {
  112274. sp_1024_mont_sqr_16(table[0], table[0], p1024_mod, p1024_mp_mod);
  112275. }
  112276. for (i = 1; i < 32; i++) {
  112277. sp_1024_mont_mul_16(table[i], table[i-1], a, p1024_mod, p1024_mp_mod);
  112278. }
  112279. XMEMCPY(t, table[p1024_mod_minus_2[1]], sizeof(sp_digit) * 16);
  112280. for (i = 2; i < (int)sizeof(p1024_mod_minus_2) - 2; i += 2) {
  112281. for (j = 0; j < p1024_mod_minus_2[i]; j++) {
  112282. sp_1024_mont_sqr_16(t, t, p1024_mod, p1024_mp_mod);
  112283. }
  112284. sp_1024_mont_mul_16(t, t, table[p1024_mod_minus_2[i+1]], p1024_mod,
  112285. p1024_mp_mod);
  112286. }
  112287. sp_1024_mont_sqr_16(t, t, p1024_mod, p1024_mp_mod);
  112288. sp_1024_mont_mul_16(r, t, a, p1024_mod, p1024_mp_mod);
  112289. }
  112290. /* Normalize the values in each word to 64.
  112291. *
  112292. * a Array of sp_digit to normalize.
  112293. */
  112294. #define sp_1024_norm_16(a)
  112295. /* Map the Montgomery form projective coordinate point to an affine point.
  112296. *
  112297. * r Resulting affine coordinate point.
  112298. * p Montgomery form projective coordinate point.
  112299. * t Temporary ordinate data.
  112300. */
  112301. static void sp_1024_map_16(sp_point_1024* r, const sp_point_1024* p,
  112302. sp_digit* t)
  112303. {
  112304. sp_digit* t1 = t;
  112305. sp_digit* t2 = t + 2*16;
  112306. sp_int64 n;
  112307. sp_1024_mont_inv_16(t1, p->z, t + 2*16);
  112308. sp_1024_mont_sqr_16(t2, t1, p1024_mod, p1024_mp_mod);
  112309. sp_1024_mont_mul_16(t1, t2, t1, p1024_mod, p1024_mp_mod);
  112310. /* x /= z^2 */
  112311. sp_1024_mont_mul_16(r->x, p->x, t2, p1024_mod, p1024_mp_mod);
  112312. XMEMSET(r->x + 16, 0, sizeof(r->x) / 2U);
  112313. sp_1024_mont_reduce_16(r->x, p1024_mod, p1024_mp_mod);
  112314. /* Reduce x to less than modulus */
  112315. n = sp_1024_cmp_16(r->x, p1024_mod);
  112316. sp_1024_cond_sub_16(r->x, r->x, p1024_mod, ~(n >> 63));
  112317. sp_1024_norm_16(r->x);
  112318. /* y /= z^3 */
  112319. sp_1024_mont_mul_16(r->y, p->y, t1, p1024_mod, p1024_mp_mod);
  112320. XMEMSET(r->y + 16, 0, sizeof(r->y) / 2U);
  112321. sp_1024_mont_reduce_16(r->y, p1024_mod, p1024_mp_mod);
  112322. /* Reduce y to less than modulus */
  112323. n = sp_1024_cmp_16(r->y, p1024_mod);
  112324. sp_1024_cond_sub_16(r->y, r->y, p1024_mod, ~(n >> 63));
  112325. sp_1024_norm_16(r->y);
  112326. XMEMSET(r->z, 0, sizeof(r->z) / 2);
  112327. r->z[0] = 1;
  112328. }
  112329. /* Add two Montgomery form numbers (r = a + b % m).
  112330. *
  112331. * r Result of addition.
  112332. * a First number to add in Montgomery form.
  112333. * b Second number to add in Montgomery form.
  112334. * m Modulus (prime).
  112335. */
  112336. static void sp_1024_mont_add_16(sp_digit* r, const sp_digit* a, const sp_digit* b,
  112337. const sp_digit* m)
  112338. {
  112339. __asm__ __volatile__ (
  112340. "ldp x4, x5, [%[a], 0]\n\t"
  112341. "ldp x6, x7, [%[a], 16]\n\t"
  112342. "ldp x8, x9, [%[a], 32]\n\t"
  112343. "ldp x10, x11, [%[a], 48]\n\t"
  112344. "ldp x12, x13, [%[a], 64]\n\t"
  112345. "ldp x14, x15, [%[a], 80]\n\t"
  112346. "ldp x16, x17, [%[a], 96]\n\t"
  112347. "ldp x19, x20, [%[a], 112]\n\t"
  112348. "ldp x21, x22, [%[b], 0]\n\t"
  112349. "ldp x23, x24, [%[b], 16]\n\t"
  112350. "adds x4, x4, x21\n\t"
  112351. "adcs x5, x5, x22\n\t"
  112352. "adcs x6, x6, x23\n\t"
  112353. "adcs x7, x7, x24\n\t"
  112354. "ldp x21, x22, [%[b], 32]\n\t"
  112355. "ldp x23, x24, [%[b], 48]\n\t"
  112356. "adcs x8, x8, x21\n\t"
  112357. "adcs x9, x9, x22\n\t"
  112358. "adcs x10, x10, x23\n\t"
  112359. "adcs x11, x11, x24\n\t"
  112360. "ldp x21, x22, [%[b], 64]\n\t"
  112361. "ldp x23, x24, [%[b], 80]\n\t"
  112362. "adcs x12, x12, x21\n\t"
  112363. "adcs x13, x13, x22\n\t"
  112364. "adcs x14, x14, x23\n\t"
  112365. "adcs x15, x15, x24\n\t"
  112366. "ldp x21, x22, [%[b], 96]\n\t"
  112367. "ldp x23, x24, [%[b], 112]\n\t"
  112368. "adcs x16, x16, x21\n\t"
  112369. "adcs x17, x17, x22\n\t"
  112370. "adcs x19, x19, x23\n\t"
  112371. "adcs x20, x20, x24\n\t"
  112372. "csetm x25, cs\n\t"
  112373. "ldr x21, [%[m], 120]\n\t"
  112374. "subs x21, x21, x20\n\t"
  112375. "csetm x21, cc\n\t"
  112376. "orr x25, x25, x21\n\t"
  112377. "ldp x21, x22, [%[m], 0]\n\t"
  112378. "ldp x23, x24, [%[m], 16]\n\t"
  112379. "and x21, x21, x25\n\t"
  112380. "and x22, x22, x25\n\t"
  112381. "and x23, x23, x25\n\t"
  112382. "and x24, x24, x25\n\t"
  112383. "subs x4, x4, x21\n\t"
  112384. "sbcs x5, x5, x22\n\t"
  112385. "sbcs x6, x6, x23\n\t"
  112386. "sbcs x7, x7, x24\n\t"
  112387. "ldp x21, x22, [%[m], 32]\n\t"
  112388. "ldp x23, x24, [%[m], 48]\n\t"
  112389. "and x21, x21, x25\n\t"
  112390. "and x22, x22, x25\n\t"
  112391. "and x23, x23, x25\n\t"
  112392. "and x24, x24, x25\n\t"
  112393. "sbcs x8, x8, x21\n\t"
  112394. "sbcs x9, x9, x22\n\t"
  112395. "sbcs x10, x10, x23\n\t"
  112396. "sbcs x11, x11, x24\n\t"
  112397. "ldp x21, x22, [%[m], 64]\n\t"
  112398. "ldp x23, x24, [%[m], 80]\n\t"
  112399. "and x21, x21, x25\n\t"
  112400. "and x22, x22, x25\n\t"
  112401. "and x23, x23, x25\n\t"
  112402. "and x24, x24, x25\n\t"
  112403. "sbcs x12, x12, x21\n\t"
  112404. "sbcs x13, x13, x22\n\t"
  112405. "sbcs x14, x14, x23\n\t"
  112406. "sbcs x15, x15, x24\n\t"
  112407. "ldp x21, x22, [%[m], 96]\n\t"
  112408. "ldp x23, x24, [%[m], 112]\n\t"
  112409. "and x21, x21, x25\n\t"
  112410. "and x22, x22, x25\n\t"
  112411. "and x23, x23, x25\n\t"
  112412. "and x24, x24, x25\n\t"
  112413. "sbcs x16, x16, x21\n\t"
  112414. "sbcs x17, x17, x22\n\t"
  112415. "sbcs x19, x19, x23\n\t"
  112416. "sbc x20, x20, x24\n\t"
  112417. "stp x4, x5, [%[r], 0]\n\t"
  112418. "stp x6, x7, [%[r], 16]\n\t"
  112419. "stp x8, x9, [%[r], 32]\n\t"
  112420. "stp x10, x11, [%[r], 48]\n\t"
  112421. "stp x12, x13, [%[r], 64]\n\t"
  112422. "stp x14, x15, [%[r], 80]\n\t"
  112423. "stp x16, x17, [%[r], 96]\n\t"
  112424. "stp x19, x20, [%[r], 112]\n\t"
  112425. :
  112426. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  112427. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25"
  112428. );
  112429. }
  112430. /* Double a Montgomery form number (r = a + a % m).
  112431. *
  112432. * r Result of doubling.
  112433. * a Number to double in Montgomery form.
  112434. * m Modulus (prime).
  112435. */
  112436. static void sp_1024_mont_dbl_16(sp_digit* r, const sp_digit* a, const sp_digit* m)
  112437. {
  112438. __asm__ __volatile__ (
  112439. "ldp x4, x5, [%[a], 0]\n\t"
  112440. "ldp x6, x7, [%[a], 16]\n\t"
  112441. "ldp x8, x9, [%[a], 32]\n\t"
  112442. "ldp x10, x11, [%[a], 48]\n\t"
  112443. "ldp x12, x13, [%[a], 64]\n\t"
  112444. "ldp x14, x15, [%[a], 80]\n\t"
  112445. "ldp x16, x17, [%[a], 96]\n\t"
  112446. "ldp x19, x20, [%[a], 112]\n\t"
  112447. "adds x4, x4, x4\n\t"
  112448. "adcs x5, x5, x5\n\t"
  112449. "adcs x6, x6, x6\n\t"
  112450. "adcs x7, x7, x7\n\t"
  112451. "adcs x8, x8, x8\n\t"
  112452. "adcs x9, x9, x9\n\t"
  112453. "adcs x10, x10, x10\n\t"
  112454. "adcs x11, x11, x11\n\t"
  112455. "adcs x12, x12, x12\n\t"
  112456. "adcs x13, x13, x13\n\t"
  112457. "adcs x14, x14, x14\n\t"
  112458. "adcs x15, x15, x15\n\t"
  112459. "adcs x16, x16, x16\n\t"
  112460. "adcs x17, x17, x17\n\t"
  112461. "adcs x19, x19, x19\n\t"
  112462. "adcs x20, x20, x20\n\t"
  112463. "csetm x25, cs\n\t"
  112464. "ldr x21, [%[m], 120]\n\t"
  112465. "subs x21, x21, x20\n\t"
  112466. "csetm x21, cc\n\t"
  112467. "orr x25, x25, x21\n\t"
  112468. "ldp x21, x22, [%[m], 0]\n\t"
  112469. "ldp x23, x24, [%[m], 16]\n\t"
  112470. "and x21, x21, x25\n\t"
  112471. "and x22, x22, x25\n\t"
  112472. "and x23, x23, x25\n\t"
  112473. "and x24, x24, x25\n\t"
  112474. "subs x4, x4, x21\n\t"
  112475. "sbcs x5, x5, x22\n\t"
  112476. "sbcs x6, x6, x23\n\t"
  112477. "sbcs x7, x7, x24\n\t"
  112478. "ldp x21, x22, [%[m], 32]\n\t"
  112479. "ldp x23, x24, [%[m], 48]\n\t"
  112480. "and x21, x21, x25\n\t"
  112481. "and x22, x22, x25\n\t"
  112482. "and x23, x23, x25\n\t"
  112483. "and x24, x24, x25\n\t"
  112484. "sbcs x8, x8, x21\n\t"
  112485. "sbcs x9, x9, x22\n\t"
  112486. "sbcs x10, x10, x23\n\t"
  112487. "sbcs x11, x11, x24\n\t"
  112488. "ldp x21, x22, [%[m], 64]\n\t"
  112489. "ldp x23, x24, [%[m], 80]\n\t"
  112490. "and x21, x21, x25\n\t"
  112491. "and x22, x22, x25\n\t"
  112492. "and x23, x23, x25\n\t"
  112493. "and x24, x24, x25\n\t"
  112494. "sbcs x12, x12, x21\n\t"
  112495. "sbcs x13, x13, x22\n\t"
  112496. "sbcs x14, x14, x23\n\t"
  112497. "sbcs x15, x15, x24\n\t"
  112498. "ldp x21, x22, [%[m], 96]\n\t"
  112499. "ldp x23, x24, [%[m], 112]\n\t"
  112500. "and x21, x21, x25\n\t"
  112501. "and x22, x22, x25\n\t"
  112502. "and x23, x23, x25\n\t"
  112503. "and x24, x24, x25\n\t"
  112504. "sbcs x16, x16, x21\n\t"
  112505. "sbcs x17, x17, x22\n\t"
  112506. "sbcs x19, x19, x23\n\t"
  112507. "sbc x20, x20, x24\n\t"
  112508. "stp x4, x5, [%[r], 0]\n\t"
  112509. "stp x6, x7, [%[r], 16]\n\t"
  112510. "stp x8, x9, [%[r], 32]\n\t"
  112511. "stp x10, x11, [%[r], 48]\n\t"
  112512. "stp x12, x13, [%[r], 64]\n\t"
  112513. "stp x14, x15, [%[r], 80]\n\t"
  112514. "stp x16, x17, [%[r], 96]\n\t"
  112515. "stp x19, x20, [%[r], 112]\n\t"
  112516. :
  112517. : [r] "r" (r), [a] "r" (a), [m] "r" (m)
  112518. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25"
  112519. );
  112520. }
  112521. /* Triple a Montgomery form number (r = a + a + a % m).
  112522. *
  112523. * r Result of Tripling.
  112524. * a Number to triple in Montgomery form.
  112525. * m Modulus (prime).
  112526. */
  112527. static void sp_1024_mont_tpl_16(sp_digit* r, const sp_digit* a, const sp_digit* m)
  112528. {
  112529. __asm__ __volatile__ (
  112530. "ldp x4, x5, [%[a], 0]\n\t"
  112531. "ldp x6, x7, [%[a], 16]\n\t"
  112532. "ldp x8, x9, [%[a], 32]\n\t"
  112533. "ldp x10, x11, [%[a], 48]\n\t"
  112534. "ldp x12, x13, [%[a], 64]\n\t"
  112535. "ldp x14, x15, [%[a], 80]\n\t"
  112536. "ldp x16, x17, [%[a], 96]\n\t"
  112537. "ldp x19, x20, [%[a], 112]\n\t"
  112538. "adds x4, x4, x4\n\t"
  112539. "adcs x5, x5, x5\n\t"
  112540. "adcs x6, x6, x6\n\t"
  112541. "adcs x7, x7, x7\n\t"
  112542. "adcs x8, x8, x8\n\t"
  112543. "adcs x9, x9, x9\n\t"
  112544. "adcs x10, x10, x10\n\t"
  112545. "adcs x11, x11, x11\n\t"
  112546. "adcs x12, x12, x12\n\t"
  112547. "adcs x13, x13, x13\n\t"
  112548. "adcs x14, x14, x14\n\t"
  112549. "adcs x15, x15, x15\n\t"
  112550. "adcs x16, x16, x16\n\t"
  112551. "adcs x17, x17, x17\n\t"
  112552. "adcs x19, x19, x19\n\t"
  112553. "adcs x20, x20, x20\n\t"
  112554. "csetm x25, cs\n\t"
  112555. "ldr x21, [%[m], 120]\n\t"
  112556. "subs x21, x21, x20\n\t"
  112557. "csetm x21, cc\n\t"
  112558. "orr x25, x25, x21\n\t"
  112559. "ldp x21, x22, [%[m], 0]\n\t"
  112560. "ldp x23, x24, [%[m], 16]\n\t"
  112561. "and x21, x21, x25\n\t"
  112562. "and x22, x22, x25\n\t"
  112563. "and x23, x23, x25\n\t"
  112564. "and x24, x24, x25\n\t"
  112565. "subs x4, x4, x21\n\t"
  112566. "sbcs x5, x5, x22\n\t"
  112567. "sbcs x6, x6, x23\n\t"
  112568. "sbcs x7, x7, x24\n\t"
  112569. "ldp x21, x22, [%[m], 32]\n\t"
  112570. "ldp x23, x24, [%[m], 48]\n\t"
  112571. "and x21, x21, x25\n\t"
  112572. "and x22, x22, x25\n\t"
  112573. "and x23, x23, x25\n\t"
  112574. "and x24, x24, x25\n\t"
  112575. "sbcs x8, x8, x21\n\t"
  112576. "sbcs x9, x9, x22\n\t"
  112577. "sbcs x10, x10, x23\n\t"
  112578. "sbcs x11, x11, x24\n\t"
  112579. "ldp x21, x22, [%[m], 64]\n\t"
  112580. "ldp x23, x24, [%[m], 80]\n\t"
  112581. "and x21, x21, x25\n\t"
  112582. "and x22, x22, x25\n\t"
  112583. "and x23, x23, x25\n\t"
  112584. "and x24, x24, x25\n\t"
  112585. "sbcs x12, x12, x21\n\t"
  112586. "sbcs x13, x13, x22\n\t"
  112587. "sbcs x14, x14, x23\n\t"
  112588. "sbcs x15, x15, x24\n\t"
  112589. "ldp x21, x22, [%[m], 96]\n\t"
  112590. "ldp x23, x24, [%[m], 112]\n\t"
  112591. "and x21, x21, x25\n\t"
  112592. "and x22, x22, x25\n\t"
  112593. "and x23, x23, x25\n\t"
  112594. "and x24, x24, x25\n\t"
  112595. "sbcs x16, x16, x21\n\t"
  112596. "sbcs x17, x17, x22\n\t"
  112597. "sbcs x19, x19, x23\n\t"
  112598. "sbc x20, x20, x24\n\t"
  112599. "ldp x21, x22, [%[a], 0]\n\t"
  112600. "ldp x23, x24, [%[a], 16]\n\t"
  112601. "adds x4, x4, x21\n\t"
  112602. "adcs x5, x5, x22\n\t"
  112603. "adcs x6, x6, x23\n\t"
  112604. "adcs x7, x7, x24\n\t"
  112605. "ldp x21, x22, [%[a], 32]\n\t"
  112606. "ldp x23, x24, [%[a], 48]\n\t"
  112607. "adcs x8, x8, x21\n\t"
  112608. "adcs x9, x9, x22\n\t"
  112609. "adcs x10, x10, x23\n\t"
  112610. "adcs x11, x11, x24\n\t"
  112611. "ldp x21, x22, [%[a], 64]\n\t"
  112612. "ldp x23, x24, [%[a], 80]\n\t"
  112613. "adcs x12, x12, x21\n\t"
  112614. "adcs x13, x13, x22\n\t"
  112615. "adcs x14, x14, x23\n\t"
  112616. "adcs x15, x15, x24\n\t"
  112617. "ldp x21, x22, [%[a], 96]\n\t"
  112618. "ldp x23, x24, [%[a], 112]\n\t"
  112619. "adcs x16, x16, x21\n\t"
  112620. "adcs x17, x17, x22\n\t"
  112621. "adcs x19, x19, x23\n\t"
  112622. "adcs x20, x20, x24\n\t"
  112623. "csetm x25, cs\n\t"
  112624. "ldr x21, [%[m], 120]\n\t"
  112625. "subs x21, x21, x20\n\t"
  112626. "csetm x21, cc\n\t"
  112627. "orr x25, x25, x21\n\t"
  112628. "ldp x21, x22, [%[m], 0]\n\t"
  112629. "ldp x23, x24, [%[m], 16]\n\t"
  112630. "and x21, x21, x25\n\t"
  112631. "and x22, x22, x25\n\t"
  112632. "and x23, x23, x25\n\t"
  112633. "and x24, x24, x25\n\t"
  112634. "subs x4, x4, x21\n\t"
  112635. "sbcs x5, x5, x22\n\t"
  112636. "sbcs x6, x6, x23\n\t"
  112637. "sbcs x7, x7, x24\n\t"
  112638. "ldp x21, x22, [%[m], 32]\n\t"
  112639. "ldp x23, x24, [%[m], 48]\n\t"
  112640. "and x21, x21, x25\n\t"
  112641. "and x22, x22, x25\n\t"
  112642. "and x23, x23, x25\n\t"
  112643. "and x24, x24, x25\n\t"
  112644. "sbcs x8, x8, x21\n\t"
  112645. "sbcs x9, x9, x22\n\t"
  112646. "sbcs x10, x10, x23\n\t"
  112647. "sbcs x11, x11, x24\n\t"
  112648. "ldp x21, x22, [%[m], 64]\n\t"
  112649. "ldp x23, x24, [%[m], 80]\n\t"
  112650. "and x21, x21, x25\n\t"
  112651. "and x22, x22, x25\n\t"
  112652. "and x23, x23, x25\n\t"
  112653. "and x24, x24, x25\n\t"
  112654. "sbcs x12, x12, x21\n\t"
  112655. "sbcs x13, x13, x22\n\t"
  112656. "sbcs x14, x14, x23\n\t"
  112657. "sbcs x15, x15, x24\n\t"
  112658. "ldp x21, x22, [%[m], 96]\n\t"
  112659. "ldp x23, x24, [%[m], 112]\n\t"
  112660. "and x21, x21, x25\n\t"
  112661. "and x22, x22, x25\n\t"
  112662. "and x23, x23, x25\n\t"
  112663. "and x24, x24, x25\n\t"
  112664. "sbcs x16, x16, x21\n\t"
  112665. "sbcs x17, x17, x22\n\t"
  112666. "sbcs x19, x19, x23\n\t"
  112667. "sbc x20, x20, x24\n\t"
  112668. "stp x4, x5, [%[r], 0]\n\t"
  112669. "stp x6, x7, [%[r], 16]\n\t"
  112670. "stp x8, x9, [%[r], 32]\n\t"
  112671. "stp x10, x11, [%[r], 48]\n\t"
  112672. "stp x12, x13, [%[r], 64]\n\t"
  112673. "stp x14, x15, [%[r], 80]\n\t"
  112674. "stp x16, x17, [%[r], 96]\n\t"
  112675. "stp x19, x20, [%[r], 112]\n\t"
  112676. :
  112677. : [r] "r" (r), [a] "r" (a), [m] "r" (m)
  112678. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25"
  112679. );
  112680. }
  112681. /* Subtract two Montgomery form numbers (r = a - b % m).
  112682. *
  112683. * r Result of subtration.
  112684. * a Number to subtract from in Montgomery form.
  112685. * b Number to subtract with in Montgomery form.
  112686. * m Modulus (prime).
  112687. */
  112688. static void sp_1024_mont_sub_16(sp_digit* r, const sp_digit* a, const sp_digit* b,
  112689. const sp_digit* m)
  112690. {
  112691. __asm__ __volatile__ (
  112692. "ldp x4, x5, [%[a], 0]\n\t"
  112693. "ldp x6, x7, [%[a], 16]\n\t"
  112694. "ldp x8, x9, [%[a], 32]\n\t"
  112695. "ldp x10, x11, [%[a], 48]\n\t"
  112696. "ldp x12, x13, [%[a], 64]\n\t"
  112697. "ldp x14, x15, [%[a], 80]\n\t"
  112698. "ldp x16, x17, [%[a], 96]\n\t"
  112699. "ldp x19, x20, [%[a], 112]\n\t"
  112700. "ldp x21, x22, [%[b], 0]\n\t"
  112701. "ldp x23, x24, [%[b], 16]\n\t"
  112702. "subs x4, x4, x21\n\t"
  112703. "sbcs x5, x5, x22\n\t"
  112704. "sbcs x6, x6, x23\n\t"
  112705. "sbcs x7, x7, x24\n\t"
  112706. "ldp x21, x22, [%[b], 32]\n\t"
  112707. "ldp x23, x24, [%[b], 48]\n\t"
  112708. "sbcs x8, x8, x21\n\t"
  112709. "sbcs x9, x9, x22\n\t"
  112710. "sbcs x10, x10, x23\n\t"
  112711. "sbcs x11, x11, x24\n\t"
  112712. "ldp x21, x22, [%[b], 64]\n\t"
  112713. "ldp x23, x24, [%[b], 80]\n\t"
  112714. "sbcs x12, x12, x21\n\t"
  112715. "sbcs x13, x13, x22\n\t"
  112716. "sbcs x14, x14, x23\n\t"
  112717. "sbcs x15, x15, x24\n\t"
  112718. "ldp x21, x22, [%[b], 96]\n\t"
  112719. "ldp x23, x24, [%[b], 112]\n\t"
  112720. "sbcs x16, x16, x21\n\t"
  112721. "sbcs x17, x17, x22\n\t"
  112722. "sbcs x19, x19, x23\n\t"
  112723. "sbcs x20, x20, x24\n\t"
  112724. "csetm x25, cc\n\t"
  112725. "ldp x21, x22, [%[m], 0]\n\t"
  112726. "ldp x23, x24, [%[m], 16]\n\t"
  112727. "and x21, x21, x25\n\t"
  112728. "and x22, x22, x25\n\t"
  112729. "and x23, x23, x25\n\t"
  112730. "and x24, x24, x25\n\t"
  112731. "adds x4, x4, x21\n\t"
  112732. "adcs x5, x5, x22\n\t"
  112733. "adcs x6, x6, x23\n\t"
  112734. "adcs x7, x7, x24\n\t"
  112735. "ldp x21, x22, [%[m], 32]\n\t"
  112736. "ldp x23, x24, [%[m], 48]\n\t"
  112737. "and x21, x21, x25\n\t"
  112738. "and x22, x22, x25\n\t"
  112739. "and x23, x23, x25\n\t"
  112740. "and x24, x24, x25\n\t"
  112741. "adcs x8, x8, x21\n\t"
  112742. "adcs x9, x9, x22\n\t"
  112743. "adcs x10, x10, x23\n\t"
  112744. "adcs x11, x11, x24\n\t"
  112745. "ldp x21, x22, [%[m], 64]\n\t"
  112746. "ldp x23, x24, [%[m], 80]\n\t"
  112747. "and x21, x21, x25\n\t"
  112748. "and x22, x22, x25\n\t"
  112749. "and x23, x23, x25\n\t"
  112750. "and x24, x24, x25\n\t"
  112751. "adcs x12, x12, x21\n\t"
  112752. "adcs x13, x13, x22\n\t"
  112753. "adcs x14, x14, x23\n\t"
  112754. "adcs x15, x15, x24\n\t"
  112755. "ldp x21, x22, [%[m], 96]\n\t"
  112756. "ldp x23, x24, [%[m], 112]\n\t"
  112757. "and x21, x21, x25\n\t"
  112758. "and x22, x22, x25\n\t"
  112759. "and x23, x23, x25\n\t"
  112760. "and x24, x24, x25\n\t"
  112761. "adcs x16, x16, x21\n\t"
  112762. "adcs x17, x17, x22\n\t"
  112763. "adcs x19, x19, x23\n\t"
  112764. "adc x20, x20, x24\n\t"
  112765. "stp x4, x5, [%[r], 0]\n\t"
  112766. "stp x6, x7, [%[r], 16]\n\t"
  112767. "stp x8, x9, [%[r], 32]\n\t"
  112768. "stp x10, x11, [%[r], 48]\n\t"
  112769. "stp x12, x13, [%[r], 64]\n\t"
  112770. "stp x14, x15, [%[r], 80]\n\t"
  112771. "stp x16, x17, [%[r], 96]\n\t"
  112772. "stp x19, x20, [%[r], 112]\n\t"
  112773. :
  112774. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  112775. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x19", "x20", "x21", "x22", "x23", "x24", "x25"
  112776. );
  112777. }
  112778. #define sp_1024_mont_sub_lower_16 sp_1024_mont_sub_16
  112779. #ifdef WOLFSSL_SP_SMALL
  112780. /* Conditionally add a and b using the mask m.
  112781. * m is -1 to add and 0 when not.
  112782. *
  112783. * r A single precision number representing conditional add result.
  112784. * a A single precision number to add with.
  112785. * b A single precision number to add.
  112786. * m Mask value to apply.
  112787. */
  112788. static sp_digit sp_1024_cond_add_16(sp_digit* r, const sp_digit* a, const sp_digit* b,
  112789. sp_digit m)
  112790. {
  112791. sp_digit c = 0;
  112792. __asm__ __volatile__ (
  112793. "mov x8, #0\n\t"
  112794. "1:\n\t"
  112795. "adds %[c], %[c], #-1\n\t"
  112796. "ldr x4, [%[a], x8]\n\t"
  112797. "ldr x5, [%[b], x8]\n\t"
  112798. "and x5, x5, %[m]\n\t"
  112799. "adcs x4, x4, x5\n\t"
  112800. "cset %[c], cs\n\t"
  112801. "str x4, [%[r], x8]\n\t"
  112802. "add x8, x8, #8\n\t"
  112803. "cmp x8, 128\n\t"
  112804. "b.lt 1b\n\t"
  112805. : [c] "+r" (c)
  112806. : [r] "r" (r), [a] "r" (a), [b] "r" (b), [m] "r" (m)
  112807. : "memory", "x4", "x5", "x8", "x9", "x10", "x11", "x12"
  112808. );
  112809. return c;
  112810. }
  112811. #endif /* WOLFSSL_SP_SMALL */
  112812. #ifndef WOLFSSL_SP_SMALL
  112813. /* Conditionally add a and b using the mask m.
  112814. * m is -1 to add and 0 when not.
  112815. *
  112816. * r A single precision number representing conditional add result.
  112817. * a A single precision number to add with.
  112818. * b A single precision number to add.
  112819. * m Mask value to apply.
  112820. */
  112821. static sp_digit sp_1024_cond_add_16(sp_digit* r, const sp_digit* a, const sp_digit* b,
  112822. sp_digit m)
  112823. {
  112824. __asm__ __volatile__ (
  112825. "ldp x8, x9, [%[b], 0]\n\t"
  112826. "ldp x10, x11, [%[b], 16]\n\t"
  112827. "ldp x4, x5, [%[a], 0]\n\t"
  112828. "and x8, x8, %[m]\n\t"
  112829. "ldp x6, x7, [%[a], 16]\n\t"
  112830. "and x9, x9, %[m]\n\t"
  112831. "adds x4, x4, x8\n\t"
  112832. "and x10, x10, %[m]\n\t"
  112833. "adcs x5, x5, x9\n\t"
  112834. "and x11, x11, %[m]\n\t"
  112835. "adcs x6, x6, x10\n\t"
  112836. "stp x4, x5, [%[r], 0]\n\t"
  112837. "adcs x7, x7, x11\n\t"
  112838. "stp x6, x7, [%[r], 16]\n\t"
  112839. "ldp x8, x9, [%[b], 32]\n\t"
  112840. "ldp x10, x11, [%[b], 48]\n\t"
  112841. "ldp x4, x5, [%[a], 32]\n\t"
  112842. "and x8, x8, %[m]\n\t"
  112843. "ldp x6, x7, [%[a], 48]\n\t"
  112844. "and x9, x9, %[m]\n\t"
  112845. "adcs x4, x4, x8\n\t"
  112846. "and x10, x10, %[m]\n\t"
  112847. "adcs x5, x5, x9\n\t"
  112848. "and x11, x11, %[m]\n\t"
  112849. "adcs x6, x6, x10\n\t"
  112850. "stp x4, x5, [%[r], 32]\n\t"
  112851. "adcs x7, x7, x11\n\t"
  112852. "stp x6, x7, [%[r], 48]\n\t"
  112853. "ldp x8, x9, [%[b], 64]\n\t"
  112854. "ldp x10, x11, [%[b], 80]\n\t"
  112855. "ldp x4, x5, [%[a], 64]\n\t"
  112856. "and x8, x8, %[m]\n\t"
  112857. "ldp x6, x7, [%[a], 80]\n\t"
  112858. "and x9, x9, %[m]\n\t"
  112859. "adcs x4, x4, x8\n\t"
  112860. "and x10, x10, %[m]\n\t"
  112861. "adcs x5, x5, x9\n\t"
  112862. "and x11, x11, %[m]\n\t"
  112863. "adcs x6, x6, x10\n\t"
  112864. "stp x4, x5, [%[r], 64]\n\t"
  112865. "adcs x7, x7, x11\n\t"
  112866. "stp x6, x7, [%[r], 80]\n\t"
  112867. "ldp x8, x9, [%[b], 96]\n\t"
  112868. "ldp x10, x11, [%[b], 112]\n\t"
  112869. "ldp x4, x5, [%[a], 96]\n\t"
  112870. "and x8, x8, %[m]\n\t"
  112871. "ldp x6, x7, [%[a], 112]\n\t"
  112872. "and x9, x9, %[m]\n\t"
  112873. "adcs x4, x4, x8\n\t"
  112874. "and x10, x10, %[m]\n\t"
  112875. "adcs x5, x5, x9\n\t"
  112876. "and x11, x11, %[m]\n\t"
  112877. "adcs x6, x6, x10\n\t"
  112878. "stp x4, x5, [%[r], 96]\n\t"
  112879. "adcs x7, x7, x11\n\t"
  112880. "stp x6, x7, [%[r], 112]\n\t"
  112881. "cset %[r], cs\n\t"
  112882. : [r] "+r" (r)
  112883. : [a] "r" (a), [b] "r" (b), [m] "r" (m)
  112884. : "memory", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  112885. );
  112886. return (sp_digit)r;
  112887. }
  112888. #endif /* !WOLFSSL_SP_SMALL */
  112889. static void sp_1024_rshift1_16(sp_digit* r, const sp_digit* a)
  112890. {
  112891. __asm__ __volatile__ (
  112892. "ldp x2, x3, [%[a]]\n\t"
  112893. "ldr x3, [%[a], 8]\n\t"
  112894. "extr x2, x3, x2, #1\n\t"
  112895. "ldr x4, [%[a], 16]\n\t"
  112896. "str x2, [%[r], 0]\n\t"
  112897. "extr x3, x4, x3, #1\n\t"
  112898. "ldr x2, [%[a], 24]\n\t"
  112899. "str x3, [%[r], 8]\n\t"
  112900. "extr x4, x2, x4, #1\n\t"
  112901. "ldr x3, [%[a], 32]\n\t"
  112902. "str x4, [%[r], 16]\n\t"
  112903. "extr x2, x3, x2, #1\n\t"
  112904. "ldr x4, [%[a], 40]\n\t"
  112905. "str x2, [%[r], 24]\n\t"
  112906. "extr x3, x4, x3, #1\n\t"
  112907. "ldr x2, [%[a], 48]\n\t"
  112908. "str x3, [%[r], 32]\n\t"
  112909. "extr x4, x2, x4, #1\n\t"
  112910. "ldr x3, [%[a], 56]\n\t"
  112911. "str x4, [%[r], 40]\n\t"
  112912. "extr x2, x3, x2, #1\n\t"
  112913. "ldr x4, [%[a], 64]\n\t"
  112914. "str x2, [%[r], 48]\n\t"
  112915. "extr x3, x4, x3, #1\n\t"
  112916. "ldr x2, [%[a], 72]\n\t"
  112917. "str x3, [%[r], 56]\n\t"
  112918. "extr x4, x2, x4, #1\n\t"
  112919. "ldr x3, [%[a], 80]\n\t"
  112920. "str x4, [%[r], 64]\n\t"
  112921. "extr x2, x3, x2, #1\n\t"
  112922. "ldr x4, [%[a], 88]\n\t"
  112923. "str x2, [%[r], 72]\n\t"
  112924. "extr x3, x4, x3, #1\n\t"
  112925. "ldr x2, [%[a], 96]\n\t"
  112926. "str x3, [%[r], 80]\n\t"
  112927. "extr x4, x2, x4, #1\n\t"
  112928. "ldr x3, [%[a], 104]\n\t"
  112929. "str x4, [%[r], 88]\n\t"
  112930. "extr x2, x3, x2, #1\n\t"
  112931. "ldr x4, [%[a], 112]\n\t"
  112932. "str x2, [%[r], 96]\n\t"
  112933. "extr x3, x4, x3, #1\n\t"
  112934. "ldr x2, [%[a], 120]\n\t"
  112935. "str x3, [%[r], 104]\n\t"
  112936. "extr x4, x2, x4, #1\n\t"
  112937. "lsr x2, x2, #1\n\t"
  112938. "stp x4, x2, [%[r], 112]\n\t"
  112939. :
  112940. : [r] "r" (r), [a] "r" (a)
  112941. : "memory", "x2", "x3", "x4"
  112942. );
  112943. }
  112944. /* Divide the number by 2 mod the modulus (prime). (r = a / 2 % m)
  112945. *
  112946. * r Result of division by 2.
  112947. * a Number to divide.
  112948. * m Modulus (prime).
  112949. */
  112950. static void sp_1024_div2_16(sp_digit* r, const sp_digit* a, const sp_digit* m)
  112951. {
  112952. sp_digit o;
  112953. o = sp_1024_cond_add_16(r, a, m, 0 - (a[0] & 1));
  112954. sp_1024_rshift1_16(r, r);
  112955. r[15] |= o << 63;
  112956. }
  112957. /* Double the Montgomery form projective point p.
  112958. *
  112959. * r Result of doubling point.
  112960. * p Point to double.
  112961. * t Temporary ordinate data.
  112962. */
  112963. #ifdef WOLFSSL_SP_NONBLOCK
  112964. typedef struct sp_1024_proj_point_dbl_16_ctx {
  112965. int state;
  112966. sp_digit* t1;
  112967. sp_digit* t2;
  112968. sp_digit* x;
  112969. sp_digit* y;
  112970. sp_digit* z;
  112971. } sp_1024_proj_point_dbl_16_ctx;
  112972. static int sp_1024_proj_point_dbl_16_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, const sp_point_1024* p, sp_digit* t)
  112973. {
  112974. int err = FP_WOULDBLOCK;
  112975. sp_1024_proj_point_dbl_16_ctx* ctx = (sp_1024_proj_point_dbl_16_ctx*)sp_ctx->data;
  112976. typedef char ctx_size_test[sizeof(sp_1024_proj_point_dbl_16_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  112977. (void)sizeof(ctx_size_test);
  112978. switch (ctx->state) {
  112979. case 0:
  112980. ctx->t1 = t;
  112981. ctx->t2 = t + 2*16;
  112982. ctx->x = r->x;
  112983. ctx->y = r->y;
  112984. ctx->z = r->z;
  112985. /* Put infinity into result. */
  112986. if (r != p) {
  112987. r->infinity = p->infinity;
  112988. }
  112989. ctx->state = 1;
  112990. break;
  112991. case 1:
  112992. /* T1 = Z * Z */
  112993. sp_1024_mont_sqr_16(ctx->t1, p->z, p1024_mod, p1024_mp_mod);
  112994. ctx->state = 2;
  112995. break;
  112996. case 2:
  112997. /* Z = Y * Z */
  112998. sp_1024_mont_mul_16(ctx->z, p->y, p->z, p1024_mod, p1024_mp_mod);
  112999. ctx->state = 3;
  113000. break;
  113001. case 3:
  113002. /* Z = 2Z */
  113003. sp_1024_mont_dbl_16(ctx->z, ctx->z, p1024_mod);
  113004. ctx->state = 4;
  113005. break;
  113006. case 4:
  113007. /* T2 = X - T1 */
  113008. sp_1024_mont_sub_16(ctx->t2, p->x, ctx->t1, p1024_mod);
  113009. ctx->state = 5;
  113010. break;
  113011. case 5:
  113012. /* T1 = X + T1 */
  113013. sp_1024_mont_add_16(ctx->t1, p->x, ctx->t1, p1024_mod);
  113014. ctx->state = 6;
  113015. break;
  113016. case 6:
  113017. /* T2 = T1 * T2 */
  113018. sp_1024_mont_mul_16(ctx->t2, ctx->t1, ctx->t2, p1024_mod, p1024_mp_mod);
  113019. ctx->state = 7;
  113020. break;
  113021. case 7:
  113022. /* T1 = 3T2 */
  113023. sp_1024_mont_tpl_16(ctx->t1, ctx->t2, p1024_mod);
  113024. ctx->state = 8;
  113025. break;
  113026. case 8:
  113027. /* Y = 2Y */
  113028. sp_1024_mont_dbl_16(ctx->y, p->y, p1024_mod);
  113029. ctx->state = 9;
  113030. break;
  113031. case 9:
  113032. /* Y = Y * Y */
  113033. sp_1024_mont_sqr_16(ctx->y, ctx->y, p1024_mod, p1024_mp_mod);
  113034. ctx->state = 10;
  113035. break;
  113036. case 10:
  113037. /* T2 = Y * Y */
  113038. sp_1024_mont_sqr_16(ctx->t2, ctx->y, p1024_mod, p1024_mp_mod);
  113039. ctx->state = 11;
  113040. break;
  113041. case 11:
  113042. /* T2 = T2/2 */
  113043. sp_1024_div2_16(ctx->t2, ctx->t2, p1024_mod);
  113044. ctx->state = 12;
  113045. break;
  113046. case 12:
  113047. /* Y = Y * X */
  113048. sp_1024_mont_mul_16(ctx->y, ctx->y, p->x, p1024_mod, p1024_mp_mod);
  113049. ctx->state = 13;
  113050. break;
  113051. case 13:
  113052. /* X = T1 * T1 */
  113053. sp_1024_mont_sqr_16(ctx->x, ctx->t1, p1024_mod, p1024_mp_mod);
  113054. ctx->state = 14;
  113055. break;
  113056. case 14:
  113057. /* X = X - Y */
  113058. sp_1024_mont_sub_16(ctx->x, ctx->x, ctx->y, p1024_mod);
  113059. ctx->state = 15;
  113060. break;
  113061. case 15:
  113062. /* X = X - Y */
  113063. sp_1024_mont_sub_16(ctx->x, ctx->x, ctx->y, p1024_mod);
  113064. ctx->state = 16;
  113065. break;
  113066. case 16:
  113067. /* Y = Y - X */
  113068. sp_1024_mont_sub_lower_16(ctx->y, ctx->y, ctx->x, p1024_mod);
  113069. ctx->state = 17;
  113070. break;
  113071. case 17:
  113072. /* Y = Y * T1 */
  113073. sp_1024_mont_mul_16(ctx->y, ctx->y, ctx->t1, p1024_mod, p1024_mp_mod);
  113074. ctx->state = 18;
  113075. break;
  113076. case 18:
  113077. /* Y = Y - T2 */
  113078. sp_1024_mont_sub_16(ctx->y, ctx->y, ctx->t2, p1024_mod);
  113079. ctx->state = 19;
  113080. /* fall-through */
  113081. case 19:
  113082. err = MP_OKAY;
  113083. break;
  113084. }
  113085. if (err == MP_OKAY && ctx->state != 19) {
  113086. err = FP_WOULDBLOCK;
  113087. }
  113088. return err;
  113089. }
  113090. #endif /* WOLFSSL_SP_NONBLOCK */
  113091. static void sp_1024_proj_point_dbl_16(sp_point_1024* r, const sp_point_1024* p,
  113092. sp_digit* t)
  113093. {
  113094. sp_digit* t1 = t;
  113095. sp_digit* t2 = t + 2*16;
  113096. sp_digit* x;
  113097. sp_digit* y;
  113098. sp_digit* z;
  113099. x = r->x;
  113100. y = r->y;
  113101. z = r->z;
  113102. /* Put infinity into result. */
  113103. if (r != p) {
  113104. r->infinity = p->infinity;
  113105. }
  113106. /* T1 = Z * Z */
  113107. sp_1024_mont_sqr_16(t1, p->z, p1024_mod, p1024_mp_mod);
  113108. /* Z = Y * Z */
  113109. sp_1024_mont_mul_16(z, p->y, p->z, p1024_mod, p1024_mp_mod);
  113110. /* Z = 2Z */
  113111. sp_1024_mont_dbl_16(z, z, p1024_mod);
  113112. /* T2 = X - T1 */
  113113. sp_1024_mont_sub_16(t2, p->x, t1, p1024_mod);
  113114. /* T1 = X + T1 */
  113115. sp_1024_mont_add_16(t1, p->x, t1, p1024_mod);
  113116. /* T2 = T1 * T2 */
  113117. sp_1024_mont_mul_16(t2, t1, t2, p1024_mod, p1024_mp_mod);
  113118. /* T1 = 3T2 */
  113119. sp_1024_mont_tpl_16(t1, t2, p1024_mod);
  113120. /* Y = 2Y */
  113121. sp_1024_mont_dbl_16(y, p->y, p1024_mod);
  113122. /* Y = Y * Y */
  113123. sp_1024_mont_sqr_16(y, y, p1024_mod, p1024_mp_mod);
  113124. /* T2 = Y * Y */
  113125. sp_1024_mont_sqr_16(t2, y, p1024_mod, p1024_mp_mod);
  113126. /* T2 = T2/2 */
  113127. sp_1024_div2_16(t2, t2, p1024_mod);
  113128. /* Y = Y * X */
  113129. sp_1024_mont_mul_16(y, y, p->x, p1024_mod, p1024_mp_mod);
  113130. /* X = T1 * T1 */
  113131. sp_1024_mont_sqr_16(x, t1, p1024_mod, p1024_mp_mod);
  113132. /* X = X - Y */
  113133. sp_1024_mont_sub_16(x, x, y, p1024_mod);
  113134. /* X = X - Y */
  113135. sp_1024_mont_sub_16(x, x, y, p1024_mod);
  113136. /* Y = Y - X */
  113137. sp_1024_mont_sub_lower_16(y, y, x, p1024_mod);
  113138. /* Y = Y * T1 */
  113139. sp_1024_mont_mul_16(y, y, t1, p1024_mod, p1024_mp_mod);
  113140. /* Y = Y - T2 */
  113141. sp_1024_mont_sub_16(y, y, t2, p1024_mod);
  113142. }
  113143. #define sp_1024_mont_dbl_lower_16 sp_1024_mont_dbl_16
  113144. #define sp_1024_mont_tpl_lower_16 sp_1024_mont_tpl_16
  113145. /* Double the Montgomery form projective point p a number of times.
  113146. *
  113147. * r Result of repeated doubling of point.
  113148. * p Point to double.
  113149. * n Number of times to double
  113150. * t Temporary ordinate data.
  113151. */
  113152. static void sp_1024_proj_point_dbl_n_16(sp_point_1024* p, int i,
  113153. sp_digit* t)
  113154. {
  113155. sp_digit* w = t;
  113156. sp_digit* a = t + 2*16;
  113157. sp_digit* b = t + 4*16;
  113158. sp_digit* t1 = t + 6*16;
  113159. sp_digit* t2 = t + 8*16;
  113160. sp_digit* x;
  113161. sp_digit* y;
  113162. sp_digit* z;
  113163. volatile int n = i;
  113164. x = p->x;
  113165. y = p->y;
  113166. z = p->z;
  113167. /* Y = 2*Y */
  113168. sp_1024_mont_dbl_16(y, y, p1024_mod);
  113169. /* W = Z^4 */
  113170. sp_1024_mont_sqr_16(w, z, p1024_mod, p1024_mp_mod);
  113171. sp_1024_mont_sqr_16(w, w, p1024_mod, p1024_mp_mod);
  113172. #ifndef WOLFSSL_SP_SMALL
  113173. while (--n > 0)
  113174. #else
  113175. while (--n >= 0)
  113176. #endif
  113177. {
  113178. /* A = 3*(X^2 - W) */
  113179. sp_1024_mont_sqr_16(t1, x, p1024_mod, p1024_mp_mod);
  113180. sp_1024_mont_sub_16(t1, t1, w, p1024_mod);
  113181. sp_1024_mont_tpl_lower_16(a, t1, p1024_mod);
  113182. /* B = X*Y^2 */
  113183. sp_1024_mont_sqr_16(t1, y, p1024_mod, p1024_mp_mod);
  113184. sp_1024_mont_mul_16(b, t1, x, p1024_mod, p1024_mp_mod);
  113185. /* X = A^2 - 2B */
  113186. sp_1024_mont_sqr_16(x, a, p1024_mod, p1024_mp_mod);
  113187. sp_1024_mont_dbl_16(t2, b, p1024_mod);
  113188. sp_1024_mont_sub_16(x, x, t2, p1024_mod);
  113189. /* b = 2.(B - X) */
  113190. sp_1024_mont_sub_lower_16(t2, b, x, p1024_mod);
  113191. sp_1024_mont_dbl_lower_16(b, t2, p1024_mod);
  113192. /* Z = Z*Y */
  113193. sp_1024_mont_mul_16(z, z, y, p1024_mod, p1024_mp_mod);
  113194. /* t1 = Y^4 */
  113195. sp_1024_mont_sqr_16(t1, t1, p1024_mod, p1024_mp_mod);
  113196. #ifdef WOLFSSL_SP_SMALL
  113197. if (n != 0)
  113198. #endif
  113199. {
  113200. /* W = W*Y^4 */
  113201. sp_1024_mont_mul_16(w, w, t1, p1024_mod, p1024_mp_mod);
  113202. }
  113203. /* y = 2*A*(B - X) - Y^4 */
  113204. sp_1024_mont_mul_16(y, b, a, p1024_mod, p1024_mp_mod);
  113205. sp_1024_mont_sub_16(y, y, t1, p1024_mod);
  113206. }
  113207. #ifndef WOLFSSL_SP_SMALL
  113208. /* A = 3*(X^2 - W) */
  113209. sp_1024_mont_sqr_16(t1, x, p1024_mod, p1024_mp_mod);
  113210. sp_1024_mont_sub_16(t1, t1, w, p1024_mod);
  113211. sp_1024_mont_tpl_lower_16(a, t1, p1024_mod);
  113212. /* B = X*Y^2 */
  113213. sp_1024_mont_sqr_16(t1, y, p1024_mod, p1024_mp_mod);
  113214. sp_1024_mont_mul_16(b, t1, x, p1024_mod, p1024_mp_mod);
  113215. /* X = A^2 - 2B */
  113216. sp_1024_mont_sqr_16(x, a, p1024_mod, p1024_mp_mod);
  113217. sp_1024_mont_dbl_16(t2, b, p1024_mod);
  113218. sp_1024_mont_sub_16(x, x, t2, p1024_mod);
  113219. /* b = 2.(B - X) */
  113220. sp_1024_mont_sub_lower_16(t2, b, x, p1024_mod);
  113221. sp_1024_mont_dbl_lower_16(b, t2, p1024_mod);
  113222. /* Z = Z*Y */
  113223. sp_1024_mont_mul_16(z, z, y, p1024_mod, p1024_mp_mod);
  113224. /* t1 = Y^4 */
  113225. sp_1024_mont_sqr_16(t1, t1, p1024_mod, p1024_mp_mod);
  113226. /* y = 2*A*(B - X) - Y^4 */
  113227. sp_1024_mont_mul_16(y, b, a, p1024_mod, p1024_mp_mod);
  113228. sp_1024_mont_sub_16(y, y, t1, p1024_mod);
  113229. #endif
  113230. /* Y = Y/2 */
  113231. sp_1024_div2_16(y, y, p1024_mod);
  113232. }
  113233. #ifdef WOLFSSL_SP_SMALL
  113234. /* Sub b from a into r. (r = a - b)
  113235. *
  113236. * r A single precision integer.
  113237. * a A single precision integer.
  113238. * b A single precision integer.
  113239. */
  113240. static sp_digit sp_1024_sub_16(sp_digit* r, const sp_digit* a,
  113241. const sp_digit* b)
  113242. {
  113243. sp_digit c = 0;
  113244. __asm__ __volatile__ (
  113245. "add x11, %[a], 128\n\t"
  113246. "\n1:\n\t"
  113247. "subs %[c], xzr, %[c]\n\t"
  113248. "ldp x3, x4, [%[a]], #16\n\t"
  113249. "ldp x5, x6, [%[a]], #16\n\t"
  113250. "ldp x7, x8, [%[b]], #16\n\t"
  113251. "sbcs x3, x3, x7\n\t"
  113252. "ldp x9, x10, [%[b]], #16\n\t"
  113253. "sbcs x4, x4, x8\n\t"
  113254. "sbcs x5, x5, x9\n\t"
  113255. "stp x3, x4, [%[r]], #16\n\t"
  113256. "sbcs x6, x6, x10\n\t"
  113257. "stp x5, x6, [%[r]], #16\n\t"
  113258. "csetm %[c], cc\n\t"
  113259. "cmp %[a], x11\n\t"
  113260. "b.ne 1b\n\t"
  113261. : [c] "+r" (c), [r] "+r" (r), [a] "+r" (a), [b] "+r" (b)
  113262. :
  113263. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11"
  113264. );
  113265. return c;
  113266. }
  113267. #else
  113268. /* Sub b from a into r. (r = a - b)
  113269. *
  113270. * r A single precision integer.
  113271. * a A single precision integer.
  113272. * b A single precision integer.
  113273. */
  113274. static sp_digit sp_1024_sub_16(sp_digit* r, const sp_digit* a,
  113275. const sp_digit* b)
  113276. {
  113277. __asm__ __volatile__ (
  113278. "ldp x3, x4, [%[a], 0]\n\t"
  113279. "ldp x7, x8, [%[b], 0]\n\t"
  113280. "subs x3, x3, x7\n\t"
  113281. "ldp x5, x6, [%[a], 16]\n\t"
  113282. "sbcs x4, x4, x8\n\t"
  113283. "ldp x9, x10, [%[b], 16]\n\t"
  113284. "sbcs x5, x5, x9\n\t"
  113285. "stp x3, x4, [%[r], 0]\n\t"
  113286. "sbcs x6, x6, x10\n\t"
  113287. "stp x5, x6, [%[r], 16]\n\t"
  113288. "ldp x3, x4, [%[a], 32]\n\t"
  113289. "ldp x7, x8, [%[b], 32]\n\t"
  113290. "sbcs x3, x3, x7\n\t"
  113291. "ldp x5, x6, [%[a], 48]\n\t"
  113292. "sbcs x4, x4, x8\n\t"
  113293. "ldp x9, x10, [%[b], 48]\n\t"
  113294. "sbcs x5, x5, x9\n\t"
  113295. "stp x3, x4, [%[r], 32]\n\t"
  113296. "sbcs x6, x6, x10\n\t"
  113297. "stp x5, x6, [%[r], 48]\n\t"
  113298. "ldp x3, x4, [%[a], 64]\n\t"
  113299. "ldp x7, x8, [%[b], 64]\n\t"
  113300. "sbcs x3, x3, x7\n\t"
  113301. "ldp x5, x6, [%[a], 80]\n\t"
  113302. "sbcs x4, x4, x8\n\t"
  113303. "ldp x9, x10, [%[b], 80]\n\t"
  113304. "sbcs x5, x5, x9\n\t"
  113305. "stp x3, x4, [%[r], 64]\n\t"
  113306. "sbcs x6, x6, x10\n\t"
  113307. "stp x5, x6, [%[r], 80]\n\t"
  113308. "ldp x3, x4, [%[a], 96]\n\t"
  113309. "ldp x7, x8, [%[b], 96]\n\t"
  113310. "sbcs x3, x3, x7\n\t"
  113311. "ldp x5, x6, [%[a], 112]\n\t"
  113312. "sbcs x4, x4, x8\n\t"
  113313. "ldp x9, x10, [%[b], 112]\n\t"
  113314. "sbcs x5, x5, x9\n\t"
  113315. "stp x3, x4, [%[r], 96]\n\t"
  113316. "sbcs x6, x6, x10\n\t"
  113317. "stp x5, x6, [%[r], 112]\n\t"
  113318. "csetm %[r], cc\n\t"
  113319. : [r] "+r" (r)
  113320. : [a] "r" (a), [b] "r" (b)
  113321. : "memory", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"
  113322. );
  113323. return (sp_digit)r;
  113324. }
  113325. #endif /* WOLFSSL_SP_SMALL */
  113326. /* Compare two numbers to determine if they are equal.
  113327. * Constant time implementation.
  113328. *
  113329. * a First number to compare.
  113330. * b Second number to compare.
  113331. * returns 1 when equal and 0 otherwise.
  113332. */
  113333. static int sp_1024_cmp_equal_16(const sp_digit* a, const sp_digit* b)
  113334. {
  113335. return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) |
  113336. (a[3] ^ b[3]) | (a[4] ^ b[4]) | (a[5] ^ b[5]) |
  113337. (a[6] ^ b[6]) | (a[7] ^ b[7]) | (a[8] ^ b[8]) |
  113338. (a[9] ^ b[9]) | (a[10] ^ b[10]) | (a[11] ^ b[11]) |
  113339. (a[12] ^ b[12]) | (a[13] ^ b[13]) | (a[14] ^ b[14]) |
  113340. (a[15] ^ b[15])) == 0;
  113341. }
  113342. /* Returns 1 if the number of zero.
  113343. * Implementation is constant time.
  113344. *
  113345. * a Number to check.
  113346. * returns 1 if the number is zero and 0 otherwise.
  113347. */
  113348. static int sp_1024_iszero_16(const sp_digit* a)
  113349. {
  113350. return (a[0] | a[1] | a[2] | a[3] | a[4] | a[5] | a[6] | a[7] |
  113351. a[8] | a[9] | a[10] | a[11] | a[12] | a[13] | a[14] | a[15]) == 0;
  113352. }
  113353. /* Add two Montgomery form projective points.
  113354. *
  113355. * r Result of addition.
  113356. * p First point to add.
  113357. * q Second point to add.
  113358. * t Temporary ordinate data.
  113359. */
  113360. #ifdef WOLFSSL_SP_NONBLOCK
  113361. typedef struct sp_1024_proj_point_add_16_ctx {
  113362. int state;
  113363. sp_1024_proj_point_dbl_16_ctx dbl_ctx;
  113364. const sp_point_1024* ap[2];
  113365. sp_point_1024* rp[2];
  113366. sp_digit* t1;
  113367. sp_digit* t2;
  113368. sp_digit* t3;
  113369. sp_digit* t4;
  113370. sp_digit* t5;
  113371. sp_digit* t6;
  113372. sp_digit* x;
  113373. sp_digit* y;
  113374. sp_digit* z;
  113375. } sp_1024_proj_point_add_16_ctx;
  113376. static int sp_1024_proj_point_add_16_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r,
  113377. const sp_point_1024* p, const sp_point_1024* q, sp_digit* t)
  113378. {
  113379. int err = FP_WOULDBLOCK;
  113380. sp_1024_proj_point_add_16_ctx* ctx = (sp_1024_proj_point_add_16_ctx*)sp_ctx->data;
  113381. /* Ensure only the first point is the same as the result. */
  113382. if (q == r) {
  113383. const sp_point_1024* a = p;
  113384. p = q;
  113385. q = a;
  113386. }
  113387. typedef char ctx_size_test[sizeof(sp_1024_proj_point_add_16_ctx) >= sizeof(*sp_ctx) ? -1 : 1];
  113388. (void)sizeof(ctx_size_test);
  113389. switch (ctx->state) {
  113390. case 0: /* INIT */
  113391. ctx->t1 = t;
  113392. ctx->t2 = t + 2*16;
  113393. ctx->t3 = t + 4*16;
  113394. ctx->t4 = t + 6*16;
  113395. ctx->t5 = t + 8*16;
  113396. ctx->t6 = t + 10*16;
  113397. ctx->x = ctx->t6;
  113398. ctx->y = ctx->t1;
  113399. ctx->z = ctx->t2;
  113400. ctx->state = 1;
  113401. break;
  113402. case 1:
  113403. /* Check double */
  113404. (void)sp_1024_sub_16(ctx->t1, p1024_mod, q->y);
  113405. sp_1024_norm_16(ctx->t1);
  113406. if ((~p->infinity & ~q->infinity &
  113407. sp_1024_cmp_equal_16(p->x, q->x) & sp_1024_cmp_equal_16(p->z, q->z) &
  113408. (sp_1024_cmp_equal_16(p->y, q->y) | sp_1024_cmp_equal_16(p->y, ctx->t1))) != 0)
  113409. {
  113410. XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx));
  113411. ctx->state = 2;
  113412. }
  113413. else {
  113414. ctx->state = 3;
  113415. }
  113416. break;
  113417. case 2:
  113418. err = sp_1024_proj_point_dbl_16_nb((sp_ecc_ctx_t*)&ctx->dbl_ctx, r, p, t);
  113419. if (err == MP_OKAY)
  113420. ctx->state = 27; /* done */
  113421. break;
  113422. case 3:
  113423. {
  113424. ctx->state = 4;
  113425. break;
  113426. }
  113427. case 4:
  113428. /* U1 = X1*Z2^2 */
  113429. sp_1024_mont_sqr_16(ctx->t1, q->z, p1024_mod, p1024_mp_mod);
  113430. ctx->state = 5;
  113431. break;
  113432. case 5:
  113433. sp_1024_mont_mul_16(ctx->t3, ctx->t1, q->z, p1024_mod, p1024_mp_mod);
  113434. ctx->state = 6;
  113435. break;
  113436. case 6:
  113437. sp_1024_mont_mul_16(ctx->t1, ctx->t1, p->x, p1024_mod, p1024_mp_mod);
  113438. ctx->state = 7;
  113439. break;
  113440. case 7:
  113441. /* U2 = X2*Z1^2 */
  113442. sp_1024_mont_sqr_16(ctx->t2, p->z, p1024_mod, p1024_mp_mod);
  113443. ctx->state = 8;
  113444. break;
  113445. case 8:
  113446. sp_1024_mont_mul_16(ctx->t4, ctx->t2, p->z, p1024_mod, p1024_mp_mod);
  113447. ctx->state = 9;
  113448. break;
  113449. case 9:
  113450. sp_1024_mont_mul_16(ctx->t2, ctx->t2, q->x, p1024_mod, p1024_mp_mod);
  113451. ctx->state = 10;
  113452. break;
  113453. case 10:
  113454. /* S1 = Y1*Z2^3 */
  113455. sp_1024_mont_mul_16(ctx->t3, ctx->t3, p->y, p1024_mod, p1024_mp_mod);
  113456. ctx->state = 11;
  113457. break;
  113458. case 11:
  113459. /* S2 = Y2*Z1^3 */
  113460. sp_1024_mont_mul_16(ctx->t4, ctx->t4, q->y, p1024_mod, p1024_mp_mod);
  113461. ctx->state = 12;
  113462. break;
  113463. case 12:
  113464. /* H = U2 - U1 */
  113465. sp_1024_mont_sub_16(ctx->t2, ctx->t2, ctx->t1, p1024_mod);
  113466. ctx->state = 13;
  113467. break;
  113468. case 13:
  113469. /* R = S2 - S1 */
  113470. sp_1024_mont_sub_16(ctx->t4, ctx->t4, ctx->t3, p1024_mod);
  113471. ctx->state = 14;
  113472. break;
  113473. case 14:
  113474. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  113475. sp_1024_mont_sqr_16(ctx->t5, ctx->t2, p1024_mod, p1024_mp_mod);
  113476. ctx->state = 15;
  113477. break;
  113478. case 15:
  113479. sp_1024_mont_mul_16(ctx->y, ctx->t1, ctx->t5, p1024_mod, p1024_mp_mod);
  113480. ctx->state = 16;
  113481. break;
  113482. case 16:
  113483. sp_1024_mont_mul_16(ctx->t5, ctx->t5, ctx->t2, p1024_mod, p1024_mp_mod);
  113484. ctx->state = 17;
  113485. break;
  113486. case 17:
  113487. /* Z3 = H*Z1*Z2 */
  113488. sp_1024_mont_mul_16(ctx->z, p->z, ctx->t2, p1024_mod, p1024_mp_mod);
  113489. ctx->state = 18;
  113490. break;
  113491. case 18:
  113492. sp_1024_mont_mul_16(ctx->z, ctx->z, q->z, p1024_mod, p1024_mp_mod);
  113493. ctx->state = 19;
  113494. break;
  113495. case 19:
  113496. sp_1024_mont_sqr_16(ctx->x, ctx->t4, p1024_mod, p1024_mp_mod);
  113497. ctx->state = 20;
  113498. break;
  113499. case 20:
  113500. sp_1024_mont_sub_16(ctx->x, ctx->x, ctx->t5, p1024_mod);
  113501. ctx->state = 21;
  113502. break;
  113503. case 21:
  113504. sp_1024_mont_mul_16(ctx->t5, ctx->t5, ctx->t3, p1024_mod, p1024_mp_mod);
  113505. ctx->state = 22;
  113506. break;
  113507. case 22:
  113508. sp_1024_mont_dbl_16(ctx->t3, ctx->y, p1024_mod);
  113509. ctx->state = 23;
  113510. break;
  113511. case 23:
  113512. sp_1024_mont_sub_16(ctx->x, ctx->x, ctx->t3, p1024_mod);
  113513. ctx->state = 24;
  113514. break;
  113515. case 24:
  113516. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  113517. sp_1024_mont_sub_lower_16(ctx->y, ctx->y, ctx->x, p1024_mod);
  113518. ctx->state = 25;
  113519. break;
  113520. case 25:
  113521. sp_1024_mont_mul_16(ctx->y, ctx->y, ctx->t4, p1024_mod, p1024_mp_mod);
  113522. ctx->state = 26;
  113523. break;
  113524. case 26:
  113525. sp_1024_mont_sub_16(ctx->y, ctx->y, ctx->t5, p1024_mod);
  113526. ctx->state = 27;
  113527. /* fall-through */
  113528. case 27:
  113529. {
  113530. int i;
  113531. sp_digit maskp = 0 - (q->infinity & (!p->infinity));
  113532. sp_digit maskq = 0 - (p->infinity & (!q->infinity));
  113533. sp_digit maskt = ~(maskp | maskq);
  113534. for (i = 0; i < 16; i++) {
  113535. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  113536. (ctx->x[i] & maskt);
  113537. }
  113538. for (i = 0; i < 16; i++) {
  113539. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  113540. (ctx->y[i] & maskt);
  113541. }
  113542. for (i = 0; i < 16; i++) {
  113543. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  113544. (ctx->z[i] & maskt);
  113545. }
  113546. r->z[0] |= p->infinity & q->infinity;
  113547. r->infinity = p->infinity & q->infinity;
  113548. err = MP_OKAY;
  113549. break;
  113550. }
  113551. }
  113552. if (err == MP_OKAY && ctx->state != 27) {
  113553. err = FP_WOULDBLOCK;
  113554. }
  113555. return err;
  113556. }
  113557. #endif /* WOLFSSL_SP_NONBLOCK */
  113558. static void sp_1024_proj_point_add_16(sp_point_1024* r,
  113559. const sp_point_1024* p, const sp_point_1024* q, sp_digit* t)
  113560. {
  113561. sp_digit* t1 = t;
  113562. sp_digit* t2 = t + 2*16;
  113563. sp_digit* t3 = t + 4*16;
  113564. sp_digit* t4 = t + 6*16;
  113565. sp_digit* t5 = t + 8*16;
  113566. sp_digit* t6 = t + 10*16;
  113567. /* Check double */
  113568. (void)sp_1024_mont_sub_16(t1, p1024_mod, q->y, p1024_mod);
  113569. sp_1024_norm_16(t1);
  113570. if ((~p->infinity & ~q->infinity &
  113571. sp_1024_cmp_equal_16(p->x, q->x) & sp_1024_cmp_equal_16(p->z, q->z) &
  113572. (sp_1024_cmp_equal_16(p->y, q->y) | sp_1024_cmp_equal_16(p->y, t1))) != 0) {
  113573. sp_1024_proj_point_dbl_16(r, p, t);
  113574. }
  113575. else {
  113576. sp_digit maskp;
  113577. sp_digit maskq;
  113578. sp_digit maskt;
  113579. sp_digit* x = t6;
  113580. sp_digit* y = t1;
  113581. sp_digit* z = t2;
  113582. int i;
  113583. maskp = 0 - (q->infinity & (!p->infinity));
  113584. maskq = 0 - (p->infinity & (!q->infinity));
  113585. maskt = ~(maskp | maskq);
  113586. /* U1 = X1*Z2^2 */
  113587. sp_1024_mont_sqr_16(t1, q->z, p1024_mod, p1024_mp_mod);
  113588. sp_1024_mont_mul_16(t3, t1, q->z, p1024_mod, p1024_mp_mod);
  113589. sp_1024_mont_mul_16(t1, t1, p->x, p1024_mod, p1024_mp_mod);
  113590. /* U2 = X2*Z1^2 */
  113591. sp_1024_mont_sqr_16(t2, p->z, p1024_mod, p1024_mp_mod);
  113592. sp_1024_mont_mul_16(t4, t2, p->z, p1024_mod, p1024_mp_mod);
  113593. sp_1024_mont_mul_16(t2, t2, q->x, p1024_mod, p1024_mp_mod);
  113594. /* S1 = Y1*Z2^3 */
  113595. sp_1024_mont_mul_16(t3, t3, p->y, p1024_mod, p1024_mp_mod);
  113596. /* S2 = Y2*Z1^3 */
  113597. sp_1024_mont_mul_16(t4, t4, q->y, p1024_mod, p1024_mp_mod);
  113598. /* H = U2 - U1 */
  113599. sp_1024_mont_sub_16(t2, t2, t1, p1024_mod);
  113600. /* R = S2 - S1 */
  113601. sp_1024_mont_sub_16(t4, t4, t3, p1024_mod);
  113602. if (~p->infinity & ~q->infinity &
  113603. sp_1024_iszero_16(t2) & sp_1024_iszero_16(t4) & maskt) {
  113604. sp_1024_proj_point_dbl_16(r, p, t);
  113605. }
  113606. else {
  113607. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  113608. sp_1024_mont_sqr_16(t5, t2, p1024_mod, p1024_mp_mod);
  113609. sp_1024_mont_mul_16(y, t1, t5, p1024_mod, p1024_mp_mod);
  113610. sp_1024_mont_mul_16(t5, t5, t2, p1024_mod, p1024_mp_mod);
  113611. /* Z3 = H*Z1*Z2 */
  113612. sp_1024_mont_mul_16(z, p->z, t2, p1024_mod, p1024_mp_mod);
  113613. sp_1024_mont_mul_16(z, z, q->z, p1024_mod, p1024_mp_mod);
  113614. sp_1024_mont_sqr_16(x, t4, p1024_mod, p1024_mp_mod);
  113615. sp_1024_mont_sub_16(x, x, t5, p1024_mod);
  113616. sp_1024_mont_mul_16(t5, t5, t3, p1024_mod, p1024_mp_mod);
  113617. sp_1024_mont_dbl_16(t3, y, p1024_mod);
  113618. sp_1024_mont_sub_16(x, x, t3, p1024_mod);
  113619. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  113620. sp_1024_mont_sub_lower_16(y, y, x, p1024_mod);
  113621. sp_1024_mont_mul_16(y, y, t4, p1024_mod, p1024_mp_mod);
  113622. sp_1024_mont_sub_16(y, y, t5, p1024_mod);
  113623. for (i = 0; i < 16; i++) {
  113624. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) |
  113625. (x[i] & maskt);
  113626. }
  113627. for (i = 0; i < 16; i++) {
  113628. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) |
  113629. (y[i] & maskt);
  113630. }
  113631. for (i = 0; i < 16; i++) {
  113632. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) |
  113633. (z[i] & maskt);
  113634. }
  113635. r->z[0] |= p->infinity & q->infinity;
  113636. r->infinity = p->infinity & q->infinity;
  113637. }
  113638. }
  113639. }
  113640. /* Double the Montgomery form projective point p a number of times.
  113641. *
  113642. * r Result of repeated doubling of point.
  113643. * p Point to double.
  113644. * n Number of times to double
  113645. * t Temporary ordinate data.
  113646. */
  113647. static void sp_1024_proj_point_dbl_n_store_16(sp_point_1024* r,
  113648. const sp_point_1024* p, int n, int m, sp_digit* t)
  113649. {
  113650. sp_digit* w = t;
  113651. sp_digit* a = t + 2*16;
  113652. sp_digit* b = t + 4*16;
  113653. sp_digit* t1 = t + 6*16;
  113654. sp_digit* t2 = t + 8*16;
  113655. sp_digit* x = r[2*m].x;
  113656. sp_digit* y = r[(1<<n)*m].y;
  113657. sp_digit* z = r[2*m].z;
  113658. int i;
  113659. int j;
  113660. for (i=0; i<16; i++) {
  113661. x[i] = p->x[i];
  113662. }
  113663. for (i=0; i<16; i++) {
  113664. y[i] = p->y[i];
  113665. }
  113666. for (i=0; i<16; i++) {
  113667. z[i] = p->z[i];
  113668. }
  113669. /* Y = 2*Y */
  113670. sp_1024_mont_dbl_16(y, y, p1024_mod);
  113671. /* W = Z^4 */
  113672. sp_1024_mont_sqr_16(w, z, p1024_mod, p1024_mp_mod);
  113673. sp_1024_mont_sqr_16(w, w, p1024_mod, p1024_mp_mod);
  113674. j = m;
  113675. for (i=1; i<=n; i++) {
  113676. j *= 2;
  113677. /* A = 3*(X^2 - W) */
  113678. sp_1024_mont_sqr_16(t1, x, p1024_mod, p1024_mp_mod);
  113679. sp_1024_mont_sub_16(t1, t1, w, p1024_mod);
  113680. sp_1024_mont_tpl_lower_16(a, t1, p1024_mod);
  113681. /* B = X*Y^2 */
  113682. sp_1024_mont_sqr_16(t1, y, p1024_mod, p1024_mp_mod);
  113683. sp_1024_mont_mul_16(b, t1, x, p1024_mod, p1024_mp_mod);
  113684. x = r[j].x;
  113685. /* X = A^2 - 2B */
  113686. sp_1024_mont_sqr_16(x, a, p1024_mod, p1024_mp_mod);
  113687. sp_1024_mont_dbl_16(t2, b, p1024_mod);
  113688. sp_1024_mont_sub_16(x, x, t2, p1024_mod);
  113689. /* b = 2.(B - X) */
  113690. sp_1024_mont_sub_lower_16(t2, b, x, p1024_mod);
  113691. sp_1024_mont_dbl_lower_16(b, t2, p1024_mod);
  113692. /* Z = Z*Y */
  113693. sp_1024_mont_mul_16(r[j].z, z, y, p1024_mod, p1024_mp_mod);
  113694. z = r[j].z;
  113695. /* t1 = Y^4 */
  113696. sp_1024_mont_sqr_16(t1, t1, p1024_mod, p1024_mp_mod);
  113697. if (i != n) {
  113698. /* W = W*Y^4 */
  113699. sp_1024_mont_mul_16(w, w, t1, p1024_mod, p1024_mp_mod);
  113700. }
  113701. /* y = 2*A*(B - X) - Y^4 */
  113702. sp_1024_mont_mul_16(y, b, a, p1024_mod, p1024_mp_mod);
  113703. sp_1024_mont_sub_16(y, y, t1, p1024_mod);
  113704. /* Y = Y/2 */
  113705. sp_1024_div2_16(r[j].y, y, p1024_mod);
  113706. r[j].infinity = 0;
  113707. }
  113708. }
  113709. /* Add two Montgomery form projective points.
  113710. *
  113711. * ra Result of addition.
  113712. * rs Result of subtraction.
  113713. * p First point to add.
  113714. * q Second point to add.
  113715. * t Temporary ordinate data.
  113716. */
  113717. static void sp_1024_proj_point_add_sub_16(sp_point_1024* ra,
  113718. sp_point_1024* rs, const sp_point_1024* p, const sp_point_1024* q,
  113719. sp_digit* t)
  113720. {
  113721. sp_digit* t1 = t;
  113722. sp_digit* t2 = t + 2*16;
  113723. sp_digit* t3 = t + 4*16;
  113724. sp_digit* t4 = t + 6*16;
  113725. sp_digit* t5 = t + 8*16;
  113726. sp_digit* t6 = t + 10*16;
  113727. sp_digit* xa = ra->x;
  113728. sp_digit* ya = ra->y;
  113729. sp_digit* za = ra->z;
  113730. sp_digit* xs = rs->x;
  113731. sp_digit* ys = rs->y;
  113732. sp_digit* zs = rs->z;
  113733. XMEMCPY(xa, p->x, sizeof(p->x) / 2);
  113734. XMEMCPY(ya, p->y, sizeof(p->y) / 2);
  113735. XMEMCPY(za, p->z, sizeof(p->z) / 2);
  113736. ra->infinity = 0;
  113737. rs->infinity = 0;
  113738. /* U1 = X1*Z2^2 */
  113739. sp_1024_mont_sqr_16(t1, q->z, p1024_mod, p1024_mp_mod);
  113740. sp_1024_mont_mul_16(t3, t1, q->z, p1024_mod, p1024_mp_mod);
  113741. sp_1024_mont_mul_16(t1, t1, xa, p1024_mod, p1024_mp_mod);
  113742. /* U2 = X2*Z1^2 */
  113743. sp_1024_mont_sqr_16(t2, za, p1024_mod, p1024_mp_mod);
  113744. sp_1024_mont_mul_16(t4, t2, za, p1024_mod, p1024_mp_mod);
  113745. sp_1024_mont_mul_16(t2, t2, q->x, p1024_mod, p1024_mp_mod);
  113746. /* S1 = Y1*Z2^3 */
  113747. sp_1024_mont_mul_16(t3, t3, ya, p1024_mod, p1024_mp_mod);
  113748. /* S2 = Y2*Z1^3 */
  113749. sp_1024_mont_mul_16(t4, t4, q->y, p1024_mod, p1024_mp_mod);
  113750. /* H = U2 - U1 */
  113751. sp_1024_mont_sub_16(t2, t2, t1, p1024_mod);
  113752. /* RS = S2 + S1 */
  113753. sp_1024_mont_add_16(t6, t4, t3, p1024_mod);
  113754. /* R = S2 - S1 */
  113755. sp_1024_mont_sub_16(t4, t4, t3, p1024_mod);
  113756. /* Z3 = H*Z1*Z2 */
  113757. /* ZS = H*Z1*Z2 */
  113758. sp_1024_mont_mul_16(za, za, q->z, p1024_mod, p1024_mp_mod);
  113759. sp_1024_mont_mul_16(za, za, t2, p1024_mod, p1024_mp_mod);
  113760. XMEMCPY(zs, za, sizeof(p->z)/2);
  113761. /* X3 = R^2 - H^3 - 2*U1*H^2 */
  113762. /* XS = RS^2 - H^3 - 2*U1*H^2 */
  113763. sp_1024_mont_sqr_16(xa, t4, p1024_mod, p1024_mp_mod);
  113764. sp_1024_mont_sqr_16(xs, t6, p1024_mod, p1024_mp_mod);
  113765. sp_1024_mont_sqr_16(t5, t2, p1024_mod, p1024_mp_mod);
  113766. sp_1024_mont_mul_16(ya, t1, t5, p1024_mod, p1024_mp_mod);
  113767. sp_1024_mont_mul_16(t5, t5, t2, p1024_mod, p1024_mp_mod);
  113768. sp_1024_mont_sub_16(xa, xa, t5, p1024_mod);
  113769. sp_1024_mont_sub_16(xs, xs, t5, p1024_mod);
  113770. sp_1024_mont_dbl_16(t1, ya, p1024_mod);
  113771. sp_1024_mont_sub_16(xa, xa, t1, p1024_mod);
  113772. sp_1024_mont_sub_16(xs, xs, t1, p1024_mod);
  113773. /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */
  113774. /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */
  113775. sp_1024_mont_sub_lower_16(ys, ya, xs, p1024_mod);
  113776. sp_1024_mont_sub_lower_16(ya, ya, xa, p1024_mod);
  113777. sp_1024_mont_mul_16(ya, ya, t4, p1024_mod, p1024_mp_mod);
  113778. sp_1024_mont_sub_16(t6, p1024_mod, t6, p1024_mod);
  113779. sp_1024_mont_mul_16(ys, ys, t6, p1024_mod, p1024_mp_mod);
  113780. sp_1024_mont_mul_16(t5, t5, t3, p1024_mod, p1024_mp_mod);
  113781. sp_1024_mont_sub_16(ya, ya, t5, p1024_mod);
  113782. sp_1024_mont_sub_16(ys, ys, t5, p1024_mod);
  113783. }
  113784. /* Structure used to describe recoding of scalar multiplication. */
  113785. typedef struct ecc_recode_1024 {
  113786. /* Index into pre-computation table. */
  113787. uint8_t i;
  113788. /* Use the negative of the point. */
  113789. uint8_t neg;
  113790. } ecc_recode_1024;
  113791. /* The index into pre-computation table to use. */
  113792. static const uint8_t recode_index_16_7[130] = {
  113793. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  113794. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  113795. 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  113796. 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
  113797. 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49,
  113798. 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33,
  113799. 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17,
  113800. 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
  113801. 0, 1,
  113802. };
  113803. /* Whether to negate y-ordinate. */
  113804. static const uint8_t recode_neg_16_7[130] = {
  113805. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  113806. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  113807. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  113808. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  113809. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  113810. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  113811. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  113812. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  113813. 0, 0,
  113814. };
  113815. /* Recode the scalar for multiplication using pre-computed values and
  113816. * subtraction.
  113817. *
  113818. * k Scalar to multiply by.
  113819. * v Vector of operations to perform.
  113820. */
  113821. static void sp_1024_ecc_recode_7_16(const sp_digit* k, ecc_recode_1024* v)
  113822. {
  113823. int i;
  113824. int j;
  113825. uint8_t y;
  113826. int carry = 0;
  113827. int o;
  113828. sp_digit n;
  113829. j = 0;
  113830. n = k[j];
  113831. o = 0;
  113832. for (i=0; i<147; i++) {
  113833. y = (int8_t)n;
  113834. if (o + 7 < 64) {
  113835. y &= 0x7f;
  113836. n >>= 7;
  113837. o += 7;
  113838. }
  113839. else if (o + 7 == 64) {
  113840. n >>= 7;
  113841. if (++j < 16)
  113842. n = k[j];
  113843. o = 0;
  113844. }
  113845. else if (++j < 16) {
  113846. n = k[j];
  113847. y |= (uint8_t)((n << (64 - o)) & 0x7f);
  113848. o -= 57;
  113849. n >>= o;
  113850. }
  113851. y += (uint8_t)carry;
  113852. v[i].i = recode_index_16_7[y];
  113853. v[i].neg = recode_neg_16_7[y];
  113854. carry = (y >> 7) + v[i].neg;
  113855. }
  113856. }
  113857. /* Multiply the point by the scalar and return the result.
  113858. * If map is true then convert result to affine coordinates.
  113859. *
  113860. * Window technique of 7 bits. (Add-Sub variation.)
  113861. * Calculate 0..64 times the point. Use function that adds and
  113862. * subtracts the same two points.
  113863. * Recode to add or subtract one of the computed points.
  113864. * Double to push up.
  113865. * NOT a sliding window.
  113866. *
  113867. * r Resulting point.
  113868. * g Point to multiply.
  113869. * k Scalar to multiply by.
  113870. * map Indicates whether to convert result to affine.
  113871. * ct Constant time required.
  113872. * heap Heap to use for allocation.
  113873. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  113874. */
  113875. static int sp_1024_ecc_mulmod_win_add_sub_16(sp_point_1024* r, const sp_point_1024* g,
  113876. const sp_digit* k, int map, int ct, void* heap)
  113877. {
  113878. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  113879. sp_point_1024* t = NULL;
  113880. sp_digit* tmp = NULL;
  113881. #else
  113882. sp_point_1024 t[65+2];
  113883. sp_digit tmp[2 * 16 * 6];
  113884. #endif
  113885. sp_point_1024* rt = NULL;
  113886. sp_point_1024* p = NULL;
  113887. sp_digit* negy;
  113888. int i;
  113889. ecc_recode_1024 v[147];
  113890. int err = MP_OKAY;
  113891. /* Constant time used for cache attack resistance implementation. */
  113892. (void)ct;
  113893. (void)heap;
  113894. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  113895. t = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) *
  113896. (65+2), heap, DYNAMIC_TYPE_ECC);
  113897. if (t == NULL)
  113898. err = MEMORY_E;
  113899. if (err == MP_OKAY) {
  113900. tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 16 * 6,
  113901. heap, DYNAMIC_TYPE_ECC);
  113902. if (tmp == NULL)
  113903. err = MEMORY_E;
  113904. }
  113905. #endif
  113906. if (err == MP_OKAY) {
  113907. rt = t + 65;
  113908. p = t + 65+1;
  113909. /* t[0] = {0, 0, 1} * norm */
  113910. XMEMSET(&t[0], 0, sizeof(t[0]));
  113911. t[0].infinity = 1;
  113912. /* t[1] = {g->x, g->y, g->z} * norm */
  113913. err = sp_1024_mod_mul_norm_16(t[1].x, g->x, p1024_mod);
  113914. }
  113915. if (err == MP_OKAY) {
  113916. err = sp_1024_mod_mul_norm_16(t[1].y, g->y, p1024_mod);
  113917. }
  113918. if (err == MP_OKAY) {
  113919. err = sp_1024_mod_mul_norm_16(t[1].z, g->z, p1024_mod);
  113920. }
  113921. if (err == MP_OKAY) {
  113922. t[1].infinity = 0;
  113923. /* t[2] ... t[64] */
  113924. sp_1024_proj_point_dbl_n_store_16(t, &t[ 1], 6, 1, tmp);
  113925. sp_1024_proj_point_add_16(&t[ 3], &t[ 2], &t[ 1], tmp);
  113926. sp_1024_proj_point_dbl_16(&t[ 6], &t[ 3], tmp);
  113927. sp_1024_proj_point_add_sub_16(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp);
  113928. sp_1024_proj_point_dbl_16(&t[10], &t[ 5], tmp);
  113929. sp_1024_proj_point_add_sub_16(&t[11], &t[ 9], &t[10], &t[ 1], tmp);
  113930. sp_1024_proj_point_dbl_16(&t[12], &t[ 6], tmp);
  113931. sp_1024_proj_point_dbl_16(&t[14], &t[ 7], tmp);
  113932. sp_1024_proj_point_add_sub_16(&t[15], &t[13], &t[14], &t[ 1], tmp);
  113933. sp_1024_proj_point_dbl_16(&t[18], &t[ 9], tmp);
  113934. sp_1024_proj_point_add_sub_16(&t[19], &t[17], &t[18], &t[ 1], tmp);
  113935. sp_1024_proj_point_dbl_16(&t[20], &t[10], tmp);
  113936. sp_1024_proj_point_dbl_16(&t[22], &t[11], tmp);
  113937. sp_1024_proj_point_add_sub_16(&t[23], &t[21], &t[22], &t[ 1], tmp);
  113938. sp_1024_proj_point_dbl_16(&t[24], &t[12], tmp);
  113939. sp_1024_proj_point_dbl_16(&t[26], &t[13], tmp);
  113940. sp_1024_proj_point_add_sub_16(&t[27], &t[25], &t[26], &t[ 1], tmp);
  113941. sp_1024_proj_point_dbl_16(&t[28], &t[14], tmp);
  113942. sp_1024_proj_point_dbl_16(&t[30], &t[15], tmp);
  113943. sp_1024_proj_point_add_sub_16(&t[31], &t[29], &t[30], &t[ 1], tmp);
  113944. sp_1024_proj_point_dbl_16(&t[34], &t[17], tmp);
  113945. sp_1024_proj_point_add_sub_16(&t[35], &t[33], &t[34], &t[ 1], tmp);
  113946. sp_1024_proj_point_dbl_16(&t[36], &t[18], tmp);
  113947. sp_1024_proj_point_dbl_16(&t[38], &t[19], tmp);
  113948. sp_1024_proj_point_add_sub_16(&t[39], &t[37], &t[38], &t[ 1], tmp);
  113949. sp_1024_proj_point_dbl_16(&t[40], &t[20], tmp);
  113950. sp_1024_proj_point_dbl_16(&t[42], &t[21], tmp);
  113951. sp_1024_proj_point_add_sub_16(&t[43], &t[41], &t[42], &t[ 1], tmp);
  113952. sp_1024_proj_point_dbl_16(&t[44], &t[22], tmp);
  113953. sp_1024_proj_point_dbl_16(&t[46], &t[23], tmp);
  113954. sp_1024_proj_point_add_sub_16(&t[47], &t[45], &t[46], &t[ 1], tmp);
  113955. sp_1024_proj_point_dbl_16(&t[48], &t[24], tmp);
  113956. sp_1024_proj_point_dbl_16(&t[50], &t[25], tmp);
  113957. sp_1024_proj_point_add_sub_16(&t[51], &t[49], &t[50], &t[ 1], tmp);
  113958. sp_1024_proj_point_dbl_16(&t[52], &t[26], tmp);
  113959. sp_1024_proj_point_dbl_16(&t[54], &t[27], tmp);
  113960. sp_1024_proj_point_add_sub_16(&t[55], &t[53], &t[54], &t[ 1], tmp);
  113961. sp_1024_proj_point_dbl_16(&t[56], &t[28], tmp);
  113962. sp_1024_proj_point_dbl_16(&t[58], &t[29], tmp);
  113963. sp_1024_proj_point_add_sub_16(&t[59], &t[57], &t[58], &t[ 1], tmp);
  113964. sp_1024_proj_point_dbl_16(&t[60], &t[30], tmp);
  113965. sp_1024_proj_point_dbl_16(&t[62], &t[31], tmp);
  113966. sp_1024_proj_point_add_sub_16(&t[63], &t[61], &t[62], &t[ 1], tmp);
  113967. negy = t[0].y;
  113968. sp_1024_ecc_recode_7_16(k, v);
  113969. i = 146;
  113970. XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_1024));
  113971. for (--i; i>=0; i--) {
  113972. sp_1024_proj_point_dbl_n_16(rt, 7, tmp);
  113973. XMEMCPY(p, &t[v[i].i], sizeof(sp_point_1024));
  113974. sp_1024_mont_sub_16(negy, p1024_mod, p->y, p1024_mod);
  113975. sp_1024_norm_16(negy);
  113976. sp_1024_cond_copy_16(p->y, negy, (sp_digit)0 - v[i].neg);
  113977. sp_1024_proj_point_add_16(rt, rt, p, tmp);
  113978. }
  113979. if (map != 0) {
  113980. sp_1024_map_16(r, rt, tmp);
  113981. }
  113982. else {
  113983. XMEMCPY(r, rt, sizeof(sp_point_1024));
  113984. }
  113985. }
  113986. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  113987. if (t != NULL)
  113988. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  113989. if (tmp != NULL)
  113990. XFREE(tmp, heap, DYNAMIC_TYPE_ECC);
  113991. #endif
  113992. return err;
  113993. }
  113994. /* A table entry for pre-computed points. */
  113995. typedef struct sp_table_entry_1024 {
  113996. sp_digit x[16];
  113997. sp_digit y[16];
  113998. } sp_table_entry_1024;
  113999. #ifdef FP_ECC
  114000. #endif /* FP_ECC */
  114001. /* Add two Montgomery form projective points. The second point has a q value of
  114002. * one.
  114003. * Only the first point can be the same pointer as the result point.
  114004. *
  114005. * r Result of addition.
  114006. * p First point to add.
  114007. * q Second point to add.
  114008. * t Temporary ordinate data.
  114009. */
  114010. static void sp_1024_proj_point_add_qz1_16(sp_point_1024* r, const sp_point_1024* p,
  114011. const sp_point_1024* q, sp_digit* t)
  114012. {
  114013. sp_digit* t1 = t;
  114014. sp_digit* t2 = t + 2*16;
  114015. sp_digit* t3 = t + 4*16;
  114016. sp_digit* t4 = t + 6*16;
  114017. sp_digit* t5 = t + 8*16;
  114018. sp_digit* t6 = t + 10*16;
  114019. /* Check double */
  114020. (void)sp_1024_mont_sub_16(t1, p1024_mod, q->y, p1024_mod);
  114021. sp_1024_norm_16(t1);
  114022. if ((~p->infinity & ~q->infinity &
  114023. sp_1024_cmp_equal_16(p->x, q->x) & sp_1024_cmp_equal_16(p->z, q->z) &
  114024. (sp_1024_cmp_equal_16(p->y, q->y) | sp_1024_cmp_equal_16(p->y, t1))) != 0) {
  114025. sp_1024_proj_point_dbl_16(r, p, t);
  114026. }
  114027. else {
  114028. sp_digit maskp;
  114029. sp_digit maskq;
  114030. sp_digit maskt;
  114031. sp_digit* x = t2;
  114032. sp_digit* y = t5;
  114033. sp_digit* z = t6;
  114034. int i;
  114035. /* U2 = X2*Z1^2 */
  114036. sp_1024_mont_sqr_16(t2, p->z, p1024_mod, p1024_mp_mod);
  114037. sp_1024_mont_mul_16(t4, t2, p->z, p1024_mod, p1024_mp_mod);
  114038. sp_1024_mont_mul_16(t2, t2, q->x, p1024_mod, p1024_mp_mod);
  114039. /* S2 = Y2*Z1^3 */
  114040. sp_1024_mont_mul_16(t4, t4, q->y, p1024_mod, p1024_mp_mod);
  114041. /* H = U2 - X1 */
  114042. sp_1024_mont_sub_16(t2, t2, p->x, p1024_mod);
  114043. /* R = S2 - Y1 */
  114044. sp_1024_mont_sub_16(t4, t4, p->y, p1024_mod);
  114045. /* Z3 = H*Z1 */
  114046. sp_1024_mont_mul_16(z, p->z, t2, p1024_mod, p1024_mp_mod);
  114047. /* X3 = R^2 - H^3 - 2*X1*H^2 */
  114048. sp_1024_mont_sqr_16(t1, t4, p1024_mod, p1024_mp_mod);
  114049. sp_1024_mont_sqr_16(t5, t2, p1024_mod, p1024_mp_mod);
  114050. sp_1024_mont_mul_16(t3, p->x, t5, p1024_mod, p1024_mp_mod);
  114051. sp_1024_mont_mul_16(t5, t5, t2, p1024_mod, p1024_mp_mod);
  114052. sp_1024_mont_sub_16(x, t1, t5, p1024_mod);
  114053. sp_1024_mont_dbl_16(t1, t3, p1024_mod);
  114054. sp_1024_mont_sub_16(x, x, t1, p1024_mod);
  114055. /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */
  114056. sp_1024_mont_sub_lower_16(t3, t3, x, p1024_mod);
  114057. sp_1024_mont_mul_16(t3, t3, t4, p1024_mod, p1024_mp_mod);
  114058. sp_1024_mont_mul_16(t5, t5, p->y, p1024_mod, p1024_mp_mod);
  114059. sp_1024_mont_sub_16(y, t3, t5, p1024_mod);
  114060. maskp = 0 - (q->infinity & (!p->infinity));
  114061. maskq = 0 - (p->infinity & (!q->infinity));
  114062. maskt = ~(maskp | maskq);
  114063. for (i = 0; i < 16; i++) {
  114064. r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | (x[i] & maskt);
  114065. }
  114066. for (i = 0; i < 16; i++) {
  114067. r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | (y[i] & maskt);
  114068. }
  114069. for (i = 0; i < 16; i++) {
  114070. r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | (z[i] & maskt);
  114071. }
  114072. r->z[0] |= p->infinity & q->infinity;
  114073. r->infinity = p->infinity & q->infinity;
  114074. }
  114075. }
  114076. #if defined(FP_ECC) || !defined(WOLFSSL_SP_SMALL)
  114077. /* Convert the projective point to affine.
  114078. * Ordinates are in Montgomery form.
  114079. *
  114080. * a Point to convert.
  114081. * t Temporary data.
  114082. */
  114083. static void sp_1024_proj_to_affine_16(sp_point_1024* a, sp_digit* t)
  114084. {
  114085. sp_digit* t1 = t;
  114086. sp_digit* t2 = t + 2 * 16;
  114087. sp_digit* tmp = t + 4 * 16;
  114088. sp_1024_mont_inv_16(t1, a->z, tmp);
  114089. sp_1024_mont_sqr_16(t2, t1, p1024_mod, p1024_mp_mod);
  114090. sp_1024_mont_mul_16(t1, t2, t1, p1024_mod, p1024_mp_mod);
  114091. sp_1024_mont_mul_16(a->x, a->x, t2, p1024_mod, p1024_mp_mod);
  114092. sp_1024_mont_mul_16(a->y, a->y, t1, p1024_mod, p1024_mp_mod);
  114093. XMEMCPY(a->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  114094. }
  114095. /* Generate the pre-computed table of points for the base point.
  114096. *
  114097. * width = 8
  114098. * 256 entries
  114099. * 128 bits between
  114100. *
  114101. * a The base point.
  114102. * table Place to store generated point data.
  114103. * tmp Temporary data.
  114104. * heap Heap to use for allocation.
  114105. */
  114106. static int sp_1024_gen_stripe_table_16(const sp_point_1024* a,
  114107. sp_table_entry_1024* table, sp_digit* tmp, void* heap)
  114108. {
  114109. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  114110. sp_point_1024* t = NULL;
  114111. #else
  114112. sp_point_1024 t[3];
  114113. #endif
  114114. sp_point_1024* s1 = NULL;
  114115. sp_point_1024* s2 = NULL;
  114116. int i;
  114117. int j;
  114118. int err = MP_OKAY;
  114119. (void)heap;
  114120. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  114121. t = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) * 3, heap,
  114122. DYNAMIC_TYPE_ECC);
  114123. if (t == NULL)
  114124. err = MEMORY_E;
  114125. #endif
  114126. if (err == MP_OKAY) {
  114127. s1 = t + 1;
  114128. s2 = t + 2;
  114129. err = sp_1024_mod_mul_norm_16(t->x, a->x, p1024_mod);
  114130. }
  114131. if (err == MP_OKAY) {
  114132. err = sp_1024_mod_mul_norm_16(t->y, a->y, p1024_mod);
  114133. }
  114134. if (err == MP_OKAY) {
  114135. err = sp_1024_mod_mul_norm_16(t->z, a->z, p1024_mod);
  114136. }
  114137. if (err == MP_OKAY) {
  114138. t->infinity = 0;
  114139. sp_1024_proj_to_affine_16(t, tmp);
  114140. XMEMCPY(s1->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  114141. s1->infinity = 0;
  114142. XMEMCPY(s2->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  114143. s2->infinity = 0;
  114144. /* table[0] = {0, 0, infinity} */
  114145. XMEMSET(&table[0], 0, sizeof(sp_table_entry_1024));
  114146. /* table[1] = Affine version of 'a' in Montgomery form */
  114147. XMEMCPY(table[1].x, t->x, sizeof(table->x));
  114148. XMEMCPY(table[1].y, t->y, sizeof(table->y));
  114149. for (i=1; i<8; i++) {
  114150. sp_1024_proj_point_dbl_n_16(t, 128, tmp);
  114151. sp_1024_proj_to_affine_16(t, tmp);
  114152. XMEMCPY(table[1<<i].x, t->x, sizeof(table->x));
  114153. XMEMCPY(table[1<<i].y, t->y, sizeof(table->y));
  114154. }
  114155. for (i=1; i<8; i++) {
  114156. XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x));
  114157. XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y));
  114158. for (j=(1<<i)+1; j<(1<<(i+1)); j++) {
  114159. XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x));
  114160. XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y));
  114161. sp_1024_proj_point_add_qz1_16(t, s1, s2, tmp);
  114162. sp_1024_proj_to_affine_16(t, tmp);
  114163. XMEMCPY(table[j].x, t->x, sizeof(table->x));
  114164. XMEMCPY(table[j].y, t->y, sizeof(table->y));
  114165. }
  114166. }
  114167. }
  114168. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  114169. if (t != NULL)
  114170. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  114171. #endif
  114172. return err;
  114173. }
  114174. #endif /* FP_ECC | !WOLFSSL_SP_SMALL */
  114175. /* Multiply the point by the scalar and return the result.
  114176. * If map is true then convert result to affine coordinates.
  114177. *
  114178. * Stripe implementation.
  114179. * Pre-generated: 2^0, 2^128, ...
  114180. * Pre-generated: products of all combinations of above.
  114181. * 8 doubles and adds (with qz=1)
  114182. *
  114183. * r Resulting point.
  114184. * k Scalar to multiply by.
  114185. * table Pre-computed table.
  114186. * map Indicates whether to convert result to affine.
  114187. * ct Constant time required.
  114188. * heap Heap to use for allocation.
  114189. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  114190. */
  114191. static int sp_1024_ecc_mulmod_stripe_16(sp_point_1024* r, const sp_point_1024* g,
  114192. const sp_table_entry_1024* table, const sp_digit* k, int map,
  114193. int ct, void* heap)
  114194. {
  114195. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  114196. sp_point_1024* rt = NULL;
  114197. sp_digit* t = NULL;
  114198. #else
  114199. sp_point_1024 rt[2];
  114200. sp_digit t[2 * 16 * 6];
  114201. #endif
  114202. sp_point_1024* p = NULL;
  114203. int i;
  114204. int j;
  114205. int y;
  114206. int x;
  114207. int err = MP_OKAY;
  114208. (void)g;
  114209. /* Constant time used for cache attack resistance implementation. */
  114210. (void)ct;
  114211. (void)heap;
  114212. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  114213. rt = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) * 2, heap,
  114214. DYNAMIC_TYPE_ECC);
  114215. if (rt == NULL)
  114216. err = MEMORY_E;
  114217. if (err == MP_OKAY) {
  114218. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 16 * 6, heap,
  114219. DYNAMIC_TYPE_ECC);
  114220. if (t == NULL)
  114221. err = MEMORY_E;
  114222. }
  114223. #endif
  114224. if (err == MP_OKAY) {
  114225. p = rt + 1;
  114226. XMEMCPY(p->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  114227. XMEMCPY(rt->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  114228. y = 0;
  114229. x = 127;
  114230. for (j=0; j<8; j++) {
  114231. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  114232. x += 128;
  114233. }
  114234. XMEMCPY(rt->x, table[y].x, sizeof(table[y].x));
  114235. XMEMCPY(rt->y, table[y].y, sizeof(table[y].y));
  114236. rt->infinity = !y;
  114237. for (i=126; i>=0; i--) {
  114238. y = 0;
  114239. x = i;
  114240. for (j=0; j<8; j++) {
  114241. y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j);
  114242. x += 128;
  114243. }
  114244. sp_1024_proj_point_dbl_16(rt, rt, t);
  114245. XMEMCPY(p->x, table[y].x, sizeof(table[y].x));
  114246. XMEMCPY(p->y, table[y].y, sizeof(table[y].y));
  114247. p->infinity = !y;
  114248. sp_1024_proj_point_add_qz1_16(rt, rt, p, t);
  114249. }
  114250. if (map != 0) {
  114251. sp_1024_map_16(r, rt, t);
  114252. }
  114253. else {
  114254. XMEMCPY(r, rt, sizeof(sp_point_1024));
  114255. }
  114256. }
  114257. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  114258. if (t != NULL)
  114259. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  114260. if (rt != NULL)
  114261. XFREE(rt, heap, DYNAMIC_TYPE_ECC);
  114262. #endif
  114263. return err;
  114264. }
  114265. #ifdef FP_ECC
  114266. #ifndef FP_ENTRIES
  114267. #define FP_ENTRIES 16
  114268. #endif
  114269. /* Cache entry - holds precomputation tables for a point. */
  114270. typedef struct sp_cache_1024_t {
  114271. /* X ordinate of point that table was generated from. */
  114272. sp_digit x[16];
  114273. /* Y ordinate of point that table was generated from. */
  114274. sp_digit y[16];
  114275. /* Precomputation table for point. */
  114276. sp_table_entry_1024 table[256];
  114277. /* Count of entries in table. */
  114278. uint32_t cnt;
  114279. /* Point and table set in entry. */
  114280. int set;
  114281. } sp_cache_1024_t;
  114282. /* Cache of tables. */
  114283. static THREAD_LS_T sp_cache_1024_t sp_cache_1024[FP_ENTRIES];
  114284. /* Index of last entry in cache. */
  114285. static THREAD_LS_T int sp_cache_1024_last = -1;
  114286. /* Cache has been initialized. */
  114287. static THREAD_LS_T int sp_cache_1024_inited = 0;
  114288. #ifndef HAVE_THREAD_LS
  114289. static volatile int initCacheMutex_1024 = 0;
  114290. static wolfSSL_Mutex sp_cache_1024_lock;
  114291. #endif
  114292. /* Get the cache entry for the point.
  114293. *
  114294. * g [in] Point scalar multipling.
  114295. * cache [out] Cache table to use.
  114296. */
  114297. static void sp_ecc_get_cache_1024(const sp_point_1024* g, sp_cache_1024_t** cache)
  114298. {
  114299. int i;
  114300. int j;
  114301. uint32_t least;
  114302. if (sp_cache_1024_inited == 0) {
  114303. for (i=0; i<FP_ENTRIES; i++) {
  114304. sp_cache_1024[i].set = 0;
  114305. }
  114306. sp_cache_1024_inited = 1;
  114307. }
  114308. /* Compare point with those in cache. */
  114309. for (i=0; i<FP_ENTRIES; i++) {
  114310. if (!sp_cache_1024[i].set)
  114311. continue;
  114312. if (sp_1024_cmp_equal_16(g->x, sp_cache_1024[i].x) &
  114313. sp_1024_cmp_equal_16(g->y, sp_cache_1024[i].y)) {
  114314. sp_cache_1024[i].cnt++;
  114315. break;
  114316. }
  114317. }
  114318. /* No match. */
  114319. if (i == FP_ENTRIES) {
  114320. /* Find empty entry. */
  114321. i = (sp_cache_1024_last + 1) % FP_ENTRIES;
  114322. for (; i != sp_cache_1024_last; i=(i+1)%FP_ENTRIES) {
  114323. if (!sp_cache_1024[i].set) {
  114324. break;
  114325. }
  114326. }
  114327. /* Evict least used. */
  114328. if (i == sp_cache_1024_last) {
  114329. least = sp_cache_1024[0].cnt;
  114330. for (j=1; j<FP_ENTRIES; j++) {
  114331. if (sp_cache_1024[j].cnt < least) {
  114332. i = j;
  114333. least = sp_cache_1024[i].cnt;
  114334. }
  114335. }
  114336. }
  114337. XMEMCPY(sp_cache_1024[i].x, g->x, sizeof(sp_cache_1024[i].x));
  114338. XMEMCPY(sp_cache_1024[i].y, g->y, sizeof(sp_cache_1024[i].y));
  114339. sp_cache_1024[i].set = 1;
  114340. sp_cache_1024[i].cnt = 1;
  114341. }
  114342. *cache = &sp_cache_1024[i];
  114343. sp_cache_1024_last = i;
  114344. }
  114345. #endif /* FP_ECC */
  114346. /* Multiply the base point of P1024 by the scalar and return the result.
  114347. * If map is true then convert result to affine coordinates.
  114348. *
  114349. * r Resulting point.
  114350. * g Point to multiply.
  114351. * k Scalar to multiply by.
  114352. * map Indicates whether to convert result to affine.
  114353. * ct Constant time required.
  114354. * heap Heap to use for allocation.
  114355. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  114356. */
  114357. static int sp_1024_ecc_mulmod_16(sp_point_1024* r, const sp_point_1024* g, const sp_digit* k,
  114358. int map, int ct, void* heap)
  114359. {
  114360. #ifndef FP_ECC
  114361. return sp_1024_ecc_mulmod_win_add_sub_16(r, g, k, map, ct, heap);
  114362. #else
  114363. sp_digit tmp[2 * 16 * 6];
  114364. sp_cache_1024_t* cache;
  114365. int err = MP_OKAY;
  114366. #ifndef HAVE_THREAD_LS
  114367. if (initCacheMutex_1024 == 0) {
  114368. wc_InitMutex(&sp_cache_1024_lock);
  114369. initCacheMutex_1024 = 1;
  114370. }
  114371. if (wc_LockMutex(&sp_cache_1024_lock) != 0)
  114372. err = BAD_MUTEX_E;
  114373. #endif /* HAVE_THREAD_LS */
  114374. if (err == MP_OKAY) {
  114375. sp_ecc_get_cache_1024(g, &cache);
  114376. if (cache->cnt == 2)
  114377. sp_1024_gen_stripe_table_16(g, cache->table, tmp, heap);
  114378. #ifndef HAVE_THREAD_LS
  114379. wc_UnLockMutex(&sp_cache_1024_lock);
  114380. #endif /* HAVE_THREAD_LS */
  114381. if (cache->cnt < 2) {
  114382. err = sp_1024_ecc_mulmod_win_add_sub_16(r, g, k, map, ct, heap);
  114383. }
  114384. else {
  114385. err = sp_1024_ecc_mulmod_stripe_16(r, g, cache->table, k,
  114386. map, ct, heap);
  114387. }
  114388. }
  114389. return err;
  114390. #endif
  114391. }
  114392. /* Multiply the point by the scalar and return the result.
  114393. * If map is true then convert result to affine coordinates.
  114394. *
  114395. * km Scalar to multiply by.
  114396. * p Point to multiply.
  114397. * r Resulting point.
  114398. * map Indicates whether to convert result to affine.
  114399. * heap Heap to use for allocation.
  114400. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  114401. */
  114402. int sp_ecc_mulmod_1024(const mp_int* km, const ecc_point* gm, ecc_point* r,
  114403. int map, void* heap)
  114404. {
  114405. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  114406. sp_point_1024* point = NULL;
  114407. sp_digit* k = NULL;
  114408. #else
  114409. sp_point_1024 point[1];
  114410. sp_digit k[16];
  114411. #endif
  114412. int err = MP_OKAY;
  114413. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  114414. point = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024), heap,
  114415. DYNAMIC_TYPE_ECC);
  114416. if (point == NULL)
  114417. err = MEMORY_E;
  114418. if (err == MP_OKAY) {
  114419. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 16, heap,
  114420. DYNAMIC_TYPE_ECC);
  114421. if (k == NULL)
  114422. err = MEMORY_E;
  114423. }
  114424. #endif
  114425. if (err == MP_OKAY) {
  114426. sp_1024_from_mp(k, 16, km);
  114427. sp_1024_point_from_ecc_point_16(point, gm);
  114428. err = sp_1024_ecc_mulmod_16(point, point, k, map, 1, heap);
  114429. }
  114430. if (err == MP_OKAY) {
  114431. err = sp_1024_point_to_ecc_point_16(point, r);
  114432. }
  114433. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  114434. if (k != NULL)
  114435. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  114436. if (point != NULL)
  114437. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  114438. #endif
  114439. return err;
  114440. }
  114441. /* Striping precomputation table.
  114442. * 8 points combined into a table of 256 points.
  114443. * Distance of 128 between points.
  114444. */
  114445. static const sp_table_entry_1024 p1024_table[256] = {
  114446. /* 0 */
  114447. { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  114448. 0x00, 0x00, 0x00, 0x00 },
  114449. { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  114450. 0x00, 0x00, 0x00, 0x00 } },
  114451. /* 1 */
  114452. { { 0xbf9c7ec6e0162bc2L,0xddecc6e310a89289L,0x5d599df09e499d81L,
  114453. 0x9a96ea286d358218L,0x01aec7d370c5f8dbL,0xe72e49958cf5d066L,
  114454. 0xc2e7297d3e91d7f8L,0x8621db92da9f2f5aL,0x4b26c8675a5679edL,
  114455. 0x233385df2c56aac1L,0xb88e74d4c6a13f99L,0x1214b173ffa8ec11L,
  114456. 0xa0386a271f3f9fefL,0xbd9b1b4ec0e7b44eL,0xafe528dceecd3496L,
  114457. 0x8dfff96a1c49f80bL },
  114458. { 0xb4a4753ac03c0c83L,0x68e69d18abcdcd75L,0xe3839b88f775b649L,
  114459. 0x803f949abf58f352L,0x5f702679bd0bc15cL,0x85bf5d168ff298c2L,
  114460. 0x3f6ebd98c6c7976eL,0x20618af445e3e1b4L,0x67d5598e54e64093L,
  114461. 0xb047283b504fed9eL,0x450cabfd70d87517L,0x47d628bf3f5addbeL,
  114462. 0x0037ef3078cb4ccaL,0x4e148d3c6b1c4908L,0xe256d3294fcfd837L,
  114463. 0x2aa1207bde3c01f3L } },
  114464. /* 2 */
  114465. { { 0xa95b6dae01900955L,0xa5dc9cc1ceb4656dL,0x50c78907e72fe95bL,
  114466. 0xa1ae5447a040c334L,0x911913707952ea6eL,0x54ff73436d097305L,
  114467. 0xa4db0074bda4d10fL,0xfd5306f191644070L,0x14b9fe738b24522cL,
  114468. 0x1468dad67849f762L,0x87b29a18b0dcd2e4L,0xadd7f1a15e1ad492L,
  114469. 0x9ac63a81dbba2a1aL,0x01379c5b81223379L,0xf402b2f0b0e53bc8L,
  114470. 0x8c3eb27f0bf13b61L },
  114471. { 0x9a4ad3e1e513696fL,0x0350ba5c18c81ffaL,0x1e2fc1363c033d13L,
  114472. 0x53da6e7117a531bcL,0x42ec64901aed610dL,0xd33e8df7e99ff567L,
  114473. 0xe4aad73e3deed12aL,0xd983b465180f4debL,0x99365269502f30b4L,
  114474. 0x7e2799aba8918d7fL,0x0ffe84b6700fc79aL,0x7b4400d640bfd8c2L,
  114475. 0xc3a21d215d2641bdL,0x79839442c32621cbL,0xace6500bb1401e83L,
  114476. 0x7bf4163e251c4310L } },
  114477. /* 3 */
  114478. { { 0x1c174f88e3fd589eL,0xdb501790df974a03L,0xd09623e33e70549fL,
  114479. 0x8d091eff15924f34L,0xeef79cadf9b65ac5L,0xd2cc42623f69c2cfL,
  114480. 0x817d903252cd82bcL,0xacf4f4d9a5f1ddddL,0xd06126355011b6bdL,
  114481. 0x9f74490d2ed140c9L,0x64092e8c4db686d2L,0x225eef16776b0fccL,
  114482. 0x0e8c01e9df16aeb6L,0x6283674184bbd82aL,0x757574e28956e337L,
  114483. 0x9871edc6705a7f07L },
  114484. { 0xbd0b76d5776535f7L,0x5214d6022635b3b8L,0xc0c25ad99d216f64L,
  114485. 0xfd4df3a75515bf75L,0x24a625bc5e9f1675L,0x3c35efb7406873e7L,
  114486. 0xef5c9a33bb2e5c4aL,0xa971b35e806b198aL,0x9f5c0ca5a3c690edL,
  114487. 0xa8d5dd898e1e2341L,0x4cecbcce955ad9e4L,0x2ecf4407248d3416L,
  114488. 0x1abb381145c0af6eL,0x3f4bee821c780fffL,0xd14df768c272ed57L,
  114489. 0x397ed10a371637adL } },
  114490. /* 4 */
  114491. { { 0xcf3e0bb2755c2a27L,0xd38e42f959585c44L,0x46b13e0f19285e60L,
  114492. 0xc3ecd0c076273d0fL,0x7800f085193c569aL,0xf04e74ab4351818aL,
  114493. 0x9258aa388496363bL,0x8456617cb8c894feL,0x8bc62aaa2af969a0L,
  114494. 0x66c2280b5a4668d9L,0xbc9df58ea992f4faL,0x5db0b7d93f401e99L,
  114495. 0xe0614fe1c4c38c0eL,0xd531151c2ccdf6b3L,0x1c7575ece143b618L,
  114496. 0x40247985df9398a4L },
  114497. { 0xfba251788f055746L,0xc5ba00400ab1e6e0L,0xe1b194fbac292697L,
  114498. 0x771521195b4f4740L,0x250091d09bb7ba54L,0x7a674861b9a139a4L,
  114499. 0xba8413b3f353aa7eL,0xafe771922443ceeeL,0x14468d363847bbd0L,
  114500. 0x61f79ff63da4942dL,0x1563a1c1d425b456L,0x3c270fcd75ff4630L,
  114501. 0x42072090eb2802c9L,0x68f0cdcbc85c7004L,0xca4372fbfa032e74L,
  114502. 0x1a6fd1e6c8b79d80L } },
  114503. /* 5 */
  114504. { { 0x967a901a8d5116a3L,0x0b844394b2f5f47fL,0xe39ad45260ebaf3bL,
  114505. 0x1e1be61760ccfc0cL,0xac07e3d2cc3f53f2L,0xdd838e0e1ed11bb6L,
  114506. 0x454753071c15b0c2L,0x70dd4748920fe5b8L,0x1a20be2de471896dL,
  114507. 0x3c3fad8a59276c7cL,0x026a1cc3c886ee07L,0x9fdb6f376e831ac4L,
  114508. 0x26a35d1aac501d65L,0x0ae9890540da8574L,0x65dde0a4abd734e5L,
  114509. 0x29b7d4dc15614750L },
  114510. { 0x44b3c2cbcbf4e20bL,0x1c3f548f58cc44c5L,0x39809b545b0cac1fL,
  114511. 0x0c0f02b500f80621L,0xe612b890066905e0L,0x8f158ed78350188cL,
  114512. 0xc01dc4583f5576b2L,0x29803272a45492e0L,0x77a5623a0ff92443L,
  114513. 0xd12a2b0029d0dc41L,0xb41254592780e87aL,0x1ebcf9030d53f272L,
  114514. 0xbae6ea4024301e8dL,0x1e5f3f2fa37d0798L,0x9342c31022b4126cL,
  114515. 0x5d0928025382497eL } },
  114516. /* 6 */
  114517. { { 0x583a2b7eff2f780dL,0x34d26820d7d76b1dL,0xe3c3284786f74aecL,
  114518. 0x0fd4221210823febL,0x227e417efb5e7bf4L,0x510d49b6a568f8cdL,
  114519. 0x53bce7d61781bbecL,0x9cfe3f222f3718b7L,0x7f44e89fd9de6c1fL,
  114520. 0xf1cc553f3fac9b55L,0x9d2d0846e6f300bcL,0x976c82a29f0ae6b1L,
  114521. 0xe63dbf5e24b8bbe0L,0x4cac7f45973a5aa7L,0xc6eb623784dd33c7L,
  114522. 0x0a26e434142fee5dL },
  114523. { 0x8081339facaa9a08L,0x40f311055246ece1L,0x892c817061393747L,
  114524. 0x8d8d4103242f02e1L,0x482bfd203b5de98aL,0x89ef946b5abbe952L,
  114525. 0xb8d218b937698249L,0xd5268e8966617c7aL,0x962e75518b7d2b91L,
  114526. 0x2c5c7973fe8d67c3L,0x42e3150a2b017c51L,0x6f4e5ebcc1a29469L,
  114527. 0xa39910ce531c7083L,0xaf4f6eb4b77b9e50L,0x68cbb175da120ad0L,
  114528. 0x19497c61b92636ecL } },
  114529. /* 7 */
  114530. { { 0x6920b0c6417659a8L,0xc77ab9c792cb28ffL,0x55b67180b687797fL,
  114531. 0x4caf58c1e7759363L,0x5155bdb65561b186L,0x2e64e355780f4946L,
  114532. 0xeb0ac9b7229a8b20L,0x88594d782571bd60L,0x5dcc0939e3fa78f9L,
  114533. 0x7b8b48302ac2d379L,0x505fbf60b90f1444L,0xac610e813ce4b3c1L,
  114534. 0x39a4f27ad59b5c18L,0x5fa339737cea0222L,0xe578730b8dff1c7bL,
  114535. 0x96b91b8b517bf7a6L },
  114536. { 0xc1a991f49aac087cL,0xce62f74e6cfdb28dL,0x08d6ff9a5f7600d6L,
  114537. 0xd781cd04f917f9c9L,0x7796f5f63de52dbfL,0xe7db64e02ed72180L,
  114538. 0x0f0876f66fa4137dL,0x3271ee643ca1f716L,0xcb9b20587c4ab8a3L,
  114539. 0xcba1710739481047L,0xdf9a190d598c5c37L,0x0cb6e72a6f20e125L,
  114540. 0xa3142204f4f2902dL,0x42d28cb97ce2dcfbL,0xdf261b8aa3d3c351L,
  114541. 0x73f3d315cffc249dL } },
  114542. /* 8 */
  114543. { { 0x5d86855be6fd3673L,0x309b70af9d214b7bL,0x8d332f90dcc46cd3L,
  114544. 0xe553c015595510deL,0x5746a09638c1251cL,0xcd7cea5b85cc1bc9L,
  114545. 0x4ffa1468002eba8fL,0x10a3cb7022fcd77cL,0xb6999dfbc4ea05e3L,
  114546. 0x3375a0d04efa756eL,0x4d90279edced5fd8L,0x48192403251fd56eL,
  114547. 0xe87633a482a4c5f1L,0x3170d1301b34105bL,0x93998b0f7247e578L,
  114548. 0x88934f64436ba1faL },
  114549. { 0xf09f43b04713eabcL,0x4ca7dd91accdc517L,0x27daa63bef13ca7cL,
  114550. 0x8b2e5a7a2588184bL,0x0a8cb612d95dc269L,0x346975a2e1f2f14cL,
  114551. 0x1f29b8ede172935cL,0xc3cbfd6ed40bc1e3L,0xd3f46b3f132623daL,
  114552. 0xc115be6dfb0b7681L,0x5e31c34556da4344L,0xa7c63f18a8e43d98L,
  114553. 0x55cb20834bddb4eaL,0xb16a0c384a54f58cL,0x74eacca246fd69d9L,
  114554. 0x0d1898bb153548e1L } },
  114555. /* 9 */
  114556. { { 0x4ea73461e35ef043L,0x107b67d93496b564L,0xd62c173bd0f83a3cL,
  114557. 0xfad4b03851d29c35L,0x3f42882a71b1c1a4L,0x5d2bcf6654b43b9eL,
  114558. 0xc77b15aa2abdf543L,0x5cb38a80dabe3dc1L,0x15fda0aea481673bL,
  114559. 0x86996b4de7b90ebeL,0x84f87e252bc8f3d8L,0xaded03d637c4e424L,
  114560. 0xe5ede666d7a7afd8L,0x80dd95a2a1ccb93aL,0xa55cfd2546fba391L,
  114561. 0x2bdab1dc46f82e60L },
  114562. { 0x7a4de22bfa6fed61L,0xca458aa5cc8dd94eL,0x3e372df1071222f5L,
  114563. 0x06a4b44fe5aff377L,0xbc2d0ba74a738e6dL,0x1a470e1d5f31f136L,
  114564. 0x77ff933ae102a911L,0x8b380a50310c7885L,0x9f3c0228783fc5acL,
  114565. 0xec66892544725d06L,0x878f0e165ac84221L,0x9a3af1afcfda6e8aL,
  114566. 0x0183ed3778cd2abaL,0x32cdbd60826d0eaeL,0xb3234661cbee6415L,
  114567. 0x353eb892b9c10120L } },
  114568. /* 10 */
  114569. { { 0xc8fdcad610b5521eL,0x1a11b44052e702f0L,0x6302680d8ffda49cL,
  114570. 0xcdb9654acbf36badL,0x7b58ce114c10a2d7L,0x1e5d1f7de630e7e0L,
  114571. 0x8cbe3d7d6760a813L,0xeb35866b6480d77fL,0x58728cf37f036219L,
  114572. 0xdd5865ed42a8a757L,0x283f1f1d906a2870L,0x79e23fa4a51f906bL,
  114573. 0xf2ac6e83543b20a8L,0x4f0b6379b81e7754L,0x57fbc0d4840016eeL,
  114574. 0x8da20771e621b67dL },
  114575. { 0x3c855004ecce65ecL,0x76d10d1fb748185eL,0x64be7bca78797ad2L,
  114576. 0x43444db077e54aadL,0x17b6b0c9be0df0ffL,0x8fc4256c055086a4L,
  114577. 0xf952c43bfd74d5a3L,0x501e005a01c4edb8L,0xd5172dfc4a57e328L,
  114578. 0xdb40ce4e535d6ee3L,0xbaef1e5c0c650918L,0xe85145e7857561fcL,
  114579. 0xe468536a34a224c6L,0x69a8e2270ec0e0a2L,0xb3f52247242b03fcL,
  114580. 0x862f55e2c3bebd5fL } },
  114581. /* 11 */
  114582. { { 0x2d6a390f226049feL,0xcc92a578dcbbc9fbL,0xa52feca497634fb7L,
  114583. 0x2b340cb63dea5893L,0xa39f338a2a49e916L,0x26b2df3d949e41f3L,
  114584. 0xc71c7cdb065a7e40L,0x4a9b84a0468281a2L,0x63eeb503731eeecaL,
  114585. 0xe6d0913476cbb725L,0x0cf979a9b94a678cL,0xb44d8c3b808fd9f1L,
  114586. 0xe60da613e0afc5b9L,0x52dce7de3ea5be69L,0x3a5d6864dc1ee74fL,
  114587. 0x71ab28913bc80790L },
  114588. { 0xcf618fc43b5b60adL,0x0afb5e304a0c3184L,0xd22381ccbc403302L,
  114589. 0x33cf8953db1c0c66L,0x9c994e4da6112a8dL,0xd7aae2c3d1967a86L,
  114590. 0xc28d54935b7acd29L,0x8075bd136c9a57fbL,0xc9c0373e9c8427f9L,
  114591. 0x2cbca18d193225f5L,0x73777d13442c018cL,0xebe5ed47fbb3a727L,
  114592. 0x70437d491962dc18L,0xf39c1e092dc08806L,0x03e9c6f715fff35cL,
  114593. 0x8d087bb65e360a65L } },
  114594. /* 12 */
  114595. { { 0xbe2123023fdc1844L,0x6eca27ef105eac56L,0x2183a606f168a348L,
  114596. 0x295f807de1d7a4cbL,0x7246a6327ef5d43eL,0xae143205c77025c7L,
  114597. 0x4bdfc7caf3484e3eL,0xec939895df52c075L,0x82e655f6d7a9cac0L,
  114598. 0x985dfe208baeddb0L,0x79c817e4527de731L,0x30ce0fbc313de1eaL,
  114599. 0x9df95b89cc4f6cbbL,0xf2aedf1ef5bb20cdL,0xfc1e0a891a8cfb01L,
  114600. 0x225ed34a63edb7ecL },
  114601. { 0x3e13154dbabb1a85L,0xd3d8dae71e6a565aL,0xd3217d56ab4b100fL,
  114602. 0xd44d934eebc78e1aL,0x0215321b48e73d37L,0xbbc90bfa201e43cbL,
  114603. 0x3c23f1d027500905L,0x2a2e5000c86691a1L,0x08b2bad26065841cL,
  114604. 0x15d41caf30026b60L,0x1712c2f45276ce61L,0x01c4c3e715932ffbL,
  114605. 0x7894e13d6a74caf2L,0x02d6f5df0c0537a4L,0xa8fb7602c2b1c97eL,
  114606. 0x612b60e5d0887c7bL } },
  114607. /* 13 */
  114608. { { 0xefd495cfba245d6bL,0x5cf0cbb7a2ce3ff6L,0x24da2ac0dff5feeeL,
  114609. 0x90c914f8cf28c6a3L,0x72fdb50d4308a56bL,0x03dbf77913d72034L,
  114610. 0xcfa5ec91822ac9e9L,0x0dde73c83aea3e81L,0x545ba96266289139L,
  114611. 0xa52f648bca6acbd3L,0xff6f276e98a0683aL,0x2536d3aca378ed52L,
  114612. 0x353c2c54885ac1d9L,0xcaff52da00bc84a7L,0x3971f81c37684167L,
  114613. 0x0f7334e1d2d7986eL },
  114614. { 0xafbb5c836596067eL,0x33e54e1938c19806L,0x8285d96739cb0dccL,
  114615. 0x2b53f43d424035f9L,0x38c531f8dfef9095L,0x90fbe8e4db0f571aL,
  114616. 0x9a0c1ed2a39ca787L,0x2fecc1d6606f2620L,0x9dc890b172b7cb4aL,
  114617. 0xc33ca6fbccbb7868L,0xd1b11082fe73ee49L,0x590b7d17fcb66c48L,
  114618. 0x9356b0a686e14573L,0x75d682c4053ead85L,0xb2ae55fac54d30fbL,
  114619. 0x67636a72f8aee949L } },
  114620. /* 14 */
  114621. { { 0x638063bcb91d6beaL,0xae263a2e923ecb96L,0x9d7b0992c627aca6L,
  114622. 0xc6ed001a77af9e7eL,0x9214accf24aafebbL,0xa3564b9678055a90L,
  114623. 0x00999b1ce027499dL,0xe413a4e1e46a06a5L,0xa05d13f62e51efe7L,
  114624. 0x35e87d349ba843beL,0x0a6338253183159eL,0x6023e8ba54601923L,
  114625. 0x9b107721b7fd1cf2L,0x46b5542bfdf2fd53L,0xb314f4f81c18af38L,
  114626. 0x086f987660ac8965L },
  114627. { 0x767019548cbb9850L,0x6210b730a20d2c8cL,0x4084d0575335670cL,
  114628. 0x3ecdc5950324baeaL,0x607fc5f2c76ee9b4L,0xf393d00f440ffa64L,
  114629. 0xe01117962dc1463cL,0xf00b82519c7725e7L,0x35e607365bd1d186L,
  114630. 0xf3d8554c2cf72aacL,0xb4dd0fdeefa3497dL,0xd712268cf646ad11L,
  114631. 0x07c20afb9f7b8eadL,0x630969d4fc06dfe5L,0x76b7df1c7245549aL,
  114632. 0x681f9403e61ae810L } },
  114633. /* 15 */
  114634. { { 0x7cad5163c9a0623bL,0xdbf8295767fab8d4L,0x2ccab0ec81af7c7cL,
  114635. 0x469e38c8e966d5c2L,0x34430d52f0d4e41cL,0x426075a2a52b359cL,
  114636. 0x242dd3e333bd0127L,0xcda3f6359fed2341L,0x4df33730d7d52ffaL,
  114637. 0x5fff56f07640c3efL,0x4783c21c1bbde57cL,0xd8784a2aeb8bb336L,
  114638. 0x1ec7c533ead08405L,0x4b7f1423f9b62bd4L,0x5543145c7075d4afL,
  114639. 0x0c9de94aba60590aL },
  114640. { 0x8ed7273595d5682bL,0x711c42832ec276edL,0xd1f4aed58b36a0d2L,
  114641. 0x62ab40c48498a88fL,0x58c8fc624480f451L,0x8bc8ca4bb79cffe2L,
  114642. 0x90ab583c701a359dL,0xaee31a733fd5d15dL,0x02a5597bc912333cL,
  114643. 0x1019cae4b6c3e3c2L,0xe513042c29938088L,0x0e00283df47c8199L,
  114644. 0x90d68e58f2a00e92L,0x69e2df41a775ae3bL,0xb8d2eca5871c30b2L,
  114645. 0x733dca0ebb1de396L } },
  114646. /* 16 */
  114647. { { 0xf5b495d04b59213aL,0xca6720398d70200eL,0x4bcb09a62b6771c1L,
  114648. 0x26adeed42b9eb0cbL,0xeb5447548cdba212L,0x0e1abfcdf08890d1L,
  114649. 0x52509963698e46b4L,0xe1bff0b082e9c138L,0xa189e4cd51099a71L,
  114650. 0x2360c9bcc9b91cc7L,0x9bd4d7dc137ec4beL,0xd0356521d1519f6eL,
  114651. 0xbf5f6d78cf832503L,0xe43010318deea2b4L,0xc3132494ef4c319cL,
  114652. 0x2ab3bd470f1fa7d7L },
  114653. { 0x5753b680922c9fbbL,0x869e7dc80f16c6d1L,0x83445135bac16efcL,
  114654. 0x4326a3b4846d1d9bL,0xb517fee3b2d62c21L,0x6905afa20b292ad5L,
  114655. 0x2a57131a2cadac13L,0xcd904d8febdbca8dL,0xdfeda86f3f365fb2L,
  114656. 0x7097b208dc7eaa1cL,0x89a35a84a45e77c0L,0x417a062ccf5d118eL,
  114657. 0x3c0c04a81f6e99e8L,0xc44704b0ba7a087dL,0x6f8a27d13ea22ad2L,
  114658. 0x93a4b4164c27d229L } },
  114659. /* 17 */
  114660. { { 0xd4271bc11f1efb7aL,0xae4e68e633fccc0dL,0x9d9bc8f1b11f50a8L,
  114661. 0x5430398faf076089L,0x45e242fb443d0e03L,0x73ec2519f6e3d4c1L,
  114662. 0xab70f790ba9bad09L,0xde612ad5f9add10fL,0xb837e54e14e942b4L,
  114663. 0x175a56d3ddb8b68aL,0xe85b233c1ac2a408L,0xf8ff6c30f0c80f94L,
  114664. 0x4b7f3fb7898db4f9L,0xa2c6044f45a7dcddL,0xf3abb2f6fe3d3895L,
  114665. 0x342ce0d732ee7763L },
  114666. { 0xeb261394cf491b1fL,0xdcaaeed71909e395L,0xdcc4055a9fe4dbeaL,
  114667. 0x17a6611d493d604dL,0xba445a3a1ce5ebefL,0xe82e2858e3989cb5L,
  114668. 0xb96f428283f58406L,0x99877b99a156cf55L,0xaf906a664e166a0eL,
  114669. 0xcea1d353b2976d13L,0xefc16f2736c61a01L,0xdb04c433b0f55d86L,
  114670. 0x3cb4b2698eb34c01L,0x38d07f782ae60280L,0x43ac3bcb43be3ec5L,
  114671. 0x455f4af3e156fd20L } },
  114672. /* 18 */
  114673. { { 0xc057f262754ec21cL,0x3eacd4c9e3a1ba38L,0x3a0210d1116c1fe9L,
  114674. 0xe4ea4e94eacc8ab6L,0x31c00c9aea6f32caL,0x5cb6239d86b975ceL,
  114675. 0x654d5d8ca14ea1e9L,0x230d31f45067fc8bL,0x48bb90cb6355fecbL,
  114676. 0x78f81ecedc172e8eL,0x288380a8cb006737L,0x19b02e01e162d012L,
  114677. 0x0e087a06c5af145cL,0xf04dc8b7b72dc354L,0xf70ef2148de3c066L,
  114678. 0x4f14824313009fb7L },
  114679. { 0x5e004fce6e2055e2L,0x89e247ea86c32067L,0x4ebcbd955f9daaa2L,
  114680. 0xd15f212fceb7f63bL,0x5ecc5c1f863784a0L,0x53b3800b75760251L,
  114681. 0xeb9301c38a6a2954L,0x0f16ba18a13cdd19L,0x8313d251887c2d24L,
  114682. 0xf99235859a9413f6L,0x423405e6fe3fd7c5L,0x678aeb3416e0ee05L,
  114683. 0x1f3be7bb3fadaab0L,0x7901fa2c82884471L,0xc950db304d662ff6L,
  114684. 0x74d5d2d43c01170bL } },
  114685. /* 19 */
  114686. { { 0xa3002dc02b5bfe11L,0x0733410d52d321e7L,0x15920f659679ba89L,
  114687. 0x0e248c14685b236eL,0x8cfab594346f6040L,0x9f57afb740c717f0L,
  114688. 0x0dbab28c66044576L,0x0fa099689cdc3247L,0x41e02ae2c230ed05L,
  114689. 0x0d961554e45bef74L,0x9688a982ce4d7b6fL,0xfadefac75e62d22eL,
  114690. 0xaf1512a6bd2cba28L,0x78868e62be7c749fL,0x88048d81ae9f5a6bL,
  114691. 0x6b1a5442c5857a29L },
  114692. { 0x9f5ab9ad43242066L,0x0afef1b52ccca2aeL,0xb1b43ec7988edc4eL,
  114693. 0x0d0c00f10341b0d5L,0x4d68b8f7b50aab37L,0x9a8e4e6ff3a64a99L,
  114694. 0x198338fb7f1a684eL,0x8bc0e748351a0f5cL,0x2cacf2cddac44515L,
  114695. 0xc14d39995e9ff76bL,0x54a01b3f16393055L,0x6ac3eea5888d8376L,
  114696. 0xb84d9a9a723277b1L,0x99132691e11dbbbfL,0x597717aeabb67178L,
  114697. 0x4c2135268bb14ac8L } },
  114698. /* 20 */
  114699. { { 0x2e6fe0a695532833L,0xabca228ed626d067L,0x22aef3d9649e73bdL,
  114700. 0x2083a87af03c4c0cL,0xe954e75d35169b45L,0x577509ee74506a89L,
  114701. 0x49cb276e2aeacf90L,0x08275d77fa409f91L,0x61eb6f3df0bbd6b9L,
  114702. 0x948202cbe4132704L,0x35f3fc21b1c498b1L,0x76c68ba8361fee59L,
  114703. 0xa18cbbd950e051f3L,0x2384a879318e7042L,0x292abead80dd1e8bL,
  114704. 0x65713c295c37c334L },
  114705. { 0xdccca8e9ceb77b9aL,0x2f97e72723b69469L,0xc76abee6a01d6b28L,
  114706. 0x3925203d5abecdfeL,0x8944808229290d70L,0xf9931424b0314438L,
  114707. 0x04209df17cd447c3L,0x7c6f2059c855c827L,0xd97d786256c0e069L,
  114708. 0x5a9db6fe412d94c4L,0x19a64591994c41ddL,0x12348aa1c89e21a3L,
  114709. 0xd6904b50c6a03f0eL,0x55c15156a616feacL,0x4e36d1b57cc7693bL,
  114710. 0x6b0e996c3bae3c38L } },
  114711. /* 21 */
  114712. { { 0x32789fabcceced00L,0x3237e71ae5b7aa66L,0x87b2e2692ddebcdfL,
  114713. 0xb7245120b61dad8fL,0xe11e5e48d35f803cL,0xfb4df5d798e50f0dL,
  114714. 0x60ee68b4bcd2ab92L,0x98ab2f5c1ce3363dL,0x15ba39da7cd42647L,
  114715. 0x1a6572eb83f4fb3fL,0x0f77de88e56f08dbL,0x1743761e172562c2L,
  114716. 0xbe349ff88a58f0f4L,0xe04da71b84d1d6e2L,0x368f03429e9ff3b4L,
  114717. 0x4022a205678223f8L },
  114718. { 0x527bbd0583847375L,0x3ae56b623f451af0L,0x6198f24d4b2c7f18L,
  114719. 0xee323f5b4525b98dL,0xa9d8d39a0e0884b5L,0xd005d7f6fb12c776L,
  114720. 0xd71c483e708bc154L,0x8ca6fd28742541bcL,0x0af3dccdf8397ddbL,
  114721. 0xb80d31253eccf243L,0xc743a10858d81b8dL,0x3f48eb2171391f68L,
  114722. 0x493aff8833bb657fL,0x1d15ed6607e47e31L,0x10159b11e08279f6L,
  114723. 0x312179cb24a6a956L } },
  114724. /* 22 */
  114725. { { 0xa94cc3ca07615ac2L,0x85865e64121ad581L,0xae47616fa7986b79L,
  114726. 0x395a40eb9d5e0f1dL,0xa91432643d9457eaL,0x8de6d6a3fa2865d9L,
  114727. 0x0771db961014ae8cL,0x77a7cce6976a87cbL,0xa7de42e1143a0f60L,
  114728. 0xe203cc09d993d934L,0x9201869398ec4c3dL,0xd77546d83a25df4bL,
  114729. 0x0ad9eb4762b02d6bL,0xfaaaf208d05a7189L,0x5238181f431221bbL,
  114730. 0x417d6c78733511eaL },
  114731. { 0x3cbd81b70e91e9a8L,0x73340418c370d6b3L,0x825db10a8eaa2373L,
  114732. 0x8f2b09e46c7d6756L,0xe288ee9b94c33dedL,0xcd8426bb1695e3fbL,
  114733. 0xa6176c86dce9e888L,0x3f4c89226165e362L,0x514e411f6063fb09L,
  114734. 0x6907ac20c8f9e04cL,0xcef7469cdfd2ad61L,0xba30bae48452199aL,
  114735. 0x3068129312ac3462L,0x011be873c92d482dL,0xff4cbf89e8330995L,
  114736. 0x02189d52d1470a0aL } },
  114737. /* 23 */
  114738. { { 0x73e419dd92599c69L,0x5b94221b7fec32caL,0xb2bf9bd209bbfbfdL,
  114739. 0x61ea97a463ed895bL,0x6609146b3f486f79L,0xbd1c7a05fd141a39L,
  114740. 0xc79ec8cf83d64135L,0x7f8fd42f9883507bL,0xafcb53b717b3d027L,
  114741. 0x86658dcd67ca5a21L,0xa6a6c0accd149786L,0x16f3d70e34b95067L,
  114742. 0x371208e3df44958cL,0xd2dd64e6ec280212L,0x33b2c4ab30782c71L,
  114743. 0x7bbf8abd521176faL },
  114744. { 0xbe9e4aafa78b981aL,0x788b4e36304ec828L,0x0c45cf393959dea3L,
  114745. 0x70a9bdd3240b39c7L,0x499cd7dd28383b7dL,0x30690b2e307a1026L,
  114746. 0x2262d598ee92f1b3L,0xc62d77deb4725a48L,0xa16f25bc7bc3aa0eL,
  114747. 0x62dd8b65d15ef7faL,0xd979221d0b96d68fL,0xb92885c3a00f1906L,
  114748. 0xfa476b9beb74c740L,0x217ddbb5c7576222L,0xc2782c305788504fL,
  114749. 0x860d096cf812716bL } },
  114750. /* 24 */
  114751. { { 0xfebc337d4d79bbf9L,0x5d53eab869f74f80L,0xff36a09533104d53L,
  114752. 0x2ab820da196f8b97L,0x961d3d1f75ce6909L,0xb197ec0404683754L,
  114753. 0xa68ce1bf93a6cb9bL,0x503456ffc5f021a3L,0xb50a2db18940ffdbL,
  114754. 0x77c50f8fef004209L,0xd635d17704965875L,0x725766d98bb8770aL,
  114755. 0x8e19b028a078e53eL,0x364d4ccaf9fc8378L,0x1a3df411f0dd39a0L,
  114756. 0x7e80e44203adf920L },
  114757. { 0x4b5f8a57539a1ddfL,0xd248e7aeee486562L,0x1c7b491d816021e1L,
  114758. 0x2e7b871bfd36d2c4L,0xda38b5040aec00d9L,0xf28276126193f1b3L,
  114759. 0x69c3fe86fb1f78d6L,0x56c8b786e827ac33L,0x1687f6c73487c8f7L,
  114760. 0xab8f221719dee5bcL,0x04e8473fff399418L,0xf384c014a9027c80L,
  114761. 0x9967be9aaa1d2e28L,0x869686d3e065eef1L,0x737c6b08c7bd837cL,
  114762. 0x5dcab5d19e8bd863L } },
  114763. /* 25 */
  114764. { { 0x0784283a9a7d772bL,0x6b49e525e540959bL,0x546bb00886414ab5L,
  114765. 0xd44481629d74b2a9L,0x267890ad203b0b1bL,0x1e7a82bcc8d3f86bL,
  114766. 0x1352bfb5d85a83c7L,0xf29f16e3fad07ccfL,0xc02a63b841e0c43fL,
  114767. 0x904f22c56b379fefL,0x19d8a653b1244f26L,0x6635b6df3a28bdeaL,
  114768. 0x18b68851f6d455ceL,0x74ac28189cff3735L,0xad40f9df8b2cbdabL,
  114769. 0x08cc2d9eadc9d498L },
  114770. { 0x2e6a6866c170c84bL,0xbb989e8b5a49a484L,0x7b0e00e0d04c8992L,
  114771. 0x55ad347861b3a423L,0x3c952450b0d01899L,0xe3922155e3100cb3L,
  114772. 0x19265b6ef03276d0L,0x0fe8595a76d42b53L,0x0a96dee0fc6353b6L,
  114773. 0x761e0dc8246f893eL,0x4ec902bef0a74cbaL,0x610086843fdfad9bL,
  114774. 0x5d6a60e44fdb6975L,0x3f53aac87ef7590aL,0xd29e6be012870a37L,
  114775. 0x991fadc155aa55b0L } },
  114776. /* 26 */
  114777. { { 0x82bc4b0fb4844ffeL,0x7392271460f8b871L,0x8ac000e24ce3f1f3L,
  114778. 0xf0d548b4163519ecL,0x7aaf842b88288b5fL,0x9e8b0c4c2bdc9a70L,
  114779. 0xa06d51524ba5fd67L,0xd0b1afa0f93cdec3L,0x280955badf89f8f0L,
  114780. 0x86cbe92deea32c92L,0x0cae3f993fe05be4L,0xf2607095fa6919aaL,
  114781. 0x0f54741e6e0f1b8bL,0x2aed1f7430ecf988L,0x9296f76b734991d7L,
  114782. 0x66cf8d28259f0fe9L },
  114783. { 0x9b01905b226f5868L,0xc102e88c16909e9eL,0x2bd089164a37eb54L,
  114784. 0xf72253e8c9816323L,0x37f84e9d86bac53cL,0x2e352454afeaaaf7L,
  114785. 0x67c86f772ca0046eL,0x86bce50e6663372eL,0xf6a3a960b6950a04L,
  114786. 0x61f994d7fc1aba93L,0x1957c12bc1326e6eL,0x9b658fe42e56b005L,
  114787. 0x9cd297fc8592740cL,0x7654ce9b177f26a5L,0xaaa699dba79d2ebbL,
  114788. 0x5fca0c5a0ecb6448L } },
  114789. /* 27 */
  114790. { { 0xe26e25f3569a6663L,0x09597ee7e6aa4ca7L,0x25a4cda68d18b80cL,
  114791. 0x450602b522926730L,0x9af5f65007387209L,0xfeeedb3426733a53L,
  114792. 0x0f5ce76886572951L,0x872a360b8398ae9aL,0x60347a802b30f6c3L,
  114793. 0xd2113b231a162158L,0x6fd9cf92ee6c6decL,0x85f0a5a85cbcf9e6L,
  114794. 0xd7a5a6e42ba3fe84L,0xaafe672051ecd727L,0xe09c6bb2a2081a10L,
  114795. 0x657acbf0b973b0b4L },
  114796. { 0x3130466fc274c8d4L,0x4276517630a994d1L,0x217258ca7079435fL,
  114797. 0x44850406eb897a06L,0xf38dfeee561ee130L,0x11f4facfaa1778bbL,
  114798. 0x765c6617b9abb9e9L,0xb135499bd8f10932L,0xc0eb6337a73b9159L,
  114799. 0xf2c1ccf16f7e8b6aL,0x5b32c03a187def53L,0x89ad1d49830b9c62L,
  114800. 0x1735eae32f10e538L,0xb1cbd9c29d5f55bcL,0x42428c47e539db0dL,
  114801. 0x3d2da412c852b3bbL } },
  114802. /* 28 */
  114803. { { 0x97702b6e871f2865L,0x56cb639f142920d6L,0x328522a045b58611L,
  114804. 0xf3943ad1f3b13812L,0xe6c2200a712206e8L,0xc2890e5aa34d59eaL,
  114805. 0xab52fd40f6b7f759L,0xf522c8de180bf567L,0x181e97b2accee396L,
  114806. 0xe0375819c4ea5cbbL,0x0d9985e8ab51d3efL,0xe26c96cabcb50fd8L,
  114807. 0xfb9d6b1397e1c80dL,0x582b1814f796357dL,0x89a7822107f4c7fbL,
  114808. 0x02aeef2dc0357e61L },
  114809. { 0x2ba7926f2c7ec9beL,0x292f307e7258b201L,0x74e62a10c6fa6b4aL,
  114810. 0x80c08549e2bcc5abL,0xb4160db87bb8c073L,0xd5ef0529329f194dL,
  114811. 0x0eb8da146dda4a9cL,0x0b5d43d215ea23d1L,0x6cebef02fc34bfaeL,
  114812. 0xacd364d0848757a7L,0xc14013682d34cca3L,0x09ca67421d2d95e2L,
  114813. 0xc3fd1d6e786eaa28L,0x9eb1136da2965fecL,0x48871baac0779203L,
  114814. 0x6b446c014b15aeb0L } },
  114815. /* 29 */
  114816. { { 0xc819eb2e25e8fe80L,0x2b5f790698238a17L,0xd6f1e99681e41849L,
  114817. 0x58ad8ad698ea6d45L,0x5bae5ad4bfd02e40L,0x016dc327a812416dL,
  114818. 0x8b31a985a3347ca1L,0x0b4da61082a65391L,0x1cb91b2db48c35fbL,
  114819. 0x9e96817cd2aaf8c4L,0x1a630483cdfdcdc0L,0x7055936112b69254L,
  114820. 0x5fdcd712f8a2a097L,0x59ab623a35cc5281L,0x30c8ebe0932b6095L,
  114821. 0x8613424bb08e052fL },
  114822. { 0x28902063b2231d8aL,0xb0f62329d9a61667L,0xaafa0fe7071a9f27L,
  114823. 0x6bcd8960603f047eL,0x118cca76fd92a1c3L,0x3414e62b71d483b6L,
  114824. 0xa123ccddba705262L,0x1a576437fd9b5c5aL,0xa5301bc24c8d0fa3L,
  114825. 0x96f0ad44102427cdL,0x0e6fb5e0d3aa6c02L,0xcd8c4880072a3996L,
  114826. 0x4dafca12840d3fadL,0x29f4ca3dde91d541L,0x0037c5988441734dL,
  114827. 0x86333a999ccfe57cL } },
  114828. /* 30 */
  114829. { { 0xd213a751ecf53b40L,0xcff2c6f22f78a542L,0x0f59f0e2f13ae56dL,
  114830. 0x91f8ccbf0e61748eL,0x0aadecb9d72c4145L,0x6b2ed8524c9cdcb7L,
  114831. 0x8e00b72c1eaffc70L,0x89b24285aa728102L,0xaa7ea7e0b679cafaL,
  114832. 0x5d2b8c264f0a6f6fL,0x7ed7b1730e804397L,0x5a93eb45c8573049L,
  114833. 0xc92bf5d40986e93eL,0x526b5a9c6a20c0afL,0x0adf47c9b99dc3afL,
  114834. 0x12b25fe2ba202cc9L },
  114835. { 0x09b8d78a33eea395L,0xc7a93618f633fc5cL,0x7e821629270eceefL,
  114836. 0x524779b8c628ed0cL,0x91db5ca1a1d68939L,0x8626e18e586edc90L,
  114837. 0xfe023e8bfeb3f3bfL,0x6279fde10250171cL,0xe52ec7dc55e172deL,
  114838. 0x445e8695c6d4ca45L,0x42de3878bdbc10f1L,0x2b114de86fc3835eL,
  114839. 0x9faba4567e10b652L,0x4111d82a390e78feL,0x576b61c2aedf0acaL,
  114840. 0x216279a974accb74L } },
  114841. /* 31 */
  114842. { { 0xc14cdabf4047f747L,0x03ca233dc1315a1eL,0x59e7cbd340e5d0a7L,
  114843. 0x1fd0c4e9bb413869L,0x189d08b10f01fbd8L,0x50449c42a76b823dL,
  114844. 0x81c224a1398b00a1L,0x08084e4f8e8179e4L,0xfd8af994698e41e9L,
  114845. 0x1e30e37c5610bf2eL,0x4e6a043fa7d2790fL,0x9d96e60cb3195388L,
  114846. 0xe75f986d03799dfdL,0x3b4a8f11f8ff902fL,0xfa9453787588416eL,
  114847. 0x20683e3f9827535eL },
  114848. { 0xcb582e26d0378878L,0x9e214c23a7945787L,0x13d000bf8f6688b3L,
  114849. 0x7548d4f540515270L,0x7113c15d40111f5dL,0x3bf5a526a8bff902L,
  114850. 0xbda6b0109b4945ccL,0x83dcc74ebc2f3a05L,0x2aef628443efdfa1L,
  114851. 0xd2e60ee9565c5bf4L,0x4f0fa10d592f243aL,0x6ae58b321bc3bf51L,
  114852. 0x813b086860576a74L,0x0bc023f84d73081aL,0x9fd03aa032dcee59L,
  114853. 0x5e416bf527d6c795L } },
  114854. /* 32 */
  114855. { { 0x24313760026cc23cL,0xf819aaeeb5b29058L,0xa92272f8c5d2ee17L,
  114856. 0x8048e7cbee5cc402L,0xdbc7d6ee77def07dL,0x61d69244f6af821eL,
  114857. 0x5f7966ed996cbb89L,0xf81b17ea96a155a4L,0xb2d9ef7003f3ed56L,
  114858. 0x5e6e5906e882a5b2L,0x86fa1072ae947180L,0x34d9fc51658c76f4L,
  114859. 0x9f603dc0cb035aa0L,0xb7b39feb75be6481L,0xca87554acf04a9efL,
  114860. 0x4ff682ec87b4fde3L },
  114861. { 0x3125627fd0a10ad5L,0x7fd45c72968e6f45L,0x2981bd6b806a1163L,
  114862. 0xb92de1cdde5033e3L,0x3b44b45ebf4f8988L,0xca1b9896dae7e1dcL,
  114863. 0x52166e5a0778d878L,0x82d472bea5116847L,0xfbdd382af2895445L,
  114864. 0x22ed16025d6ec4c9L,0x3614eb1cb6552b02L,0x63c5df73a1e6210fL,
  114865. 0xe9160285021a74a7L,0xa44ca400c65cbd4dL,0x48cb187e0f15e299L,
  114866. 0x51eb818e3402507cL } },
  114867. /* 33 */
  114868. { { 0x1fc1d178b92100abL,0xdf2e3d609605b839L,0x12a7c255b71e59d0L,
  114869. 0x3f8b667514fcbe04L,0x0e8a393559fd06afL,0x5632650212020d07L,
  114870. 0x6696fcd1528e7be5L,0x6588514b0c7b7654L,0x0cd80f8c5912a5b5L,
  114871. 0x8bafef04f324cb7fL,0x6b53eecfc6da3d75L,0xedef48d831d1df2fL,
  114872. 0xf336b96573812b6dL,0xc82eae4aee626031L,0x300abd32d244f09bL,
  114873. 0x8b0af95531d9647fL },
  114874. { 0xb770180a2e603544L,0x2b573ac3221acd9eL,0x3a17f66562407032L,
  114875. 0xad3e74adb89abc3dL,0x8a3d2e3ad793225aL,0x457bba04ef02564bL,
  114876. 0x8875652ffc2dd2b5L,0xd2905d15e67143e8L,0x6d884b4202e48d70L,
  114877. 0x06f99219c7636a57L,0xa8dc342135e378dfL,0x95c1d73d10c64a02L,
  114878. 0xcd6a4ececc157a66L,0xbadcc1c88e24a354L,0x8024f1b29839329dL,
  114879. 0x5363e5494da48ad0L } },
  114880. /* 34 */
  114881. { { 0x1f5523b7e23fc641L,0xfe54e72f86667063L,0x294a15f58e009d2fL,
  114882. 0xf203997f8c57f5e1L,0xa229724cb16d64dcL,0x697be4fd4baa2ffbL,
  114883. 0x3f507e460a6e8ed6L,0x0afe3a5d78508536L,0xeeef6cdd95408208L,
  114884. 0x701fd889f2c4237cL,0x496d883a5c385253L,0xe25c67ed72a212f1L,
  114885. 0x4b4167831ff78fcdL,0xe9967004c16f4146L,0xfa45c3a1c45b0697L,
  114886. 0x633340183fbd30c3L },
  114887. { 0x39c9a0cca2fbbbceL,0x876f6e5caa0cb744L,0x9ce6010e3438ece3L,
  114888. 0x0aad148e13802d82L,0x9c3e5c609cd45a1bL,0x875cb8597bcfc1e0L,
  114889. 0xb19ff790d8584dd0L,0x2598b81ed81c2a2bL,0x118bdf2f02be07e3L,
  114890. 0x074fc8eeb9765ce9L,0x125e9d88b24f95aeL,0x3bb12cdc0c98f09dL,
  114891. 0x4a6aee07a0b74b27L,0x4723d2f9c08077ceL,0x959447d6bea8026fL,
  114892. 0x93a7075c16280b73L } },
  114893. /* 35 */
  114894. { { 0x26bbefe2715b27f9L,0xa935a5e22a280923L,0x5ddf23affd58a26aL,
  114895. 0x54c83e167c138694L,0x44799bc9892a2153L,0x4e6e47109b8d09f5L,
  114896. 0xc63af616d588ea68L,0x5e896706883ab1b6L,0x3c1393a03d209336L,
  114897. 0xd02f292192c23ddaL,0xab70cb7adcf6ea43L,0x12434ea8791559e1L,
  114898. 0x040680db6d70ff0bL,0x1a10fe522832ba45L,0xd69f9c08e5f0cb8fL,
  114899. 0x1a7422ac44b141fdL },
  114900. { 0xc3a9dd2e9f40b675L,0x2a7c6603fcc71f39L,0x18939a611948e342L,
  114901. 0x8f3b6158ed0ab484L,0xa3aa7d97ee31ca6bL,0xbc1e865ef7a8db63L,
  114902. 0x315f8c092c7c62e4L,0xa260788f9f5c6d0fL,0xb18331294b6f3ec5L,
  114903. 0x73adbcd636b4d849L,0x66e14890bc699a9bL,0xbf3790d82a1175e7L,
  114904. 0x7f43605afc53ca4fL,0x577f6c4787ff6091L,0x827c7552600c82b6L,
  114905. 0x0944d6309d25599cL } },
  114906. /* 36 */
  114907. { { 0xcfdeb63ee6ab9620L,0xdff4fa6d786cd808L,0x145edd82456320b3L,
  114908. 0x2ae5f862c4943915L,0x9508e813b73b3f87L,0x3bd805f3e52f97a9L,
  114909. 0xf71b5c28c9829b62L,0xb394c70e86e0cefcL,0x534fb1a923bdb36eL,
  114910. 0xd64f5862dbe27e5aL,0xbae23df383ab6169L,0xdd6df1b127c828cbL,
  114911. 0x1901899f3a307a8aL,0x36cc8659811ddf66L,0xa3cb777479943b77L,
  114912. 0x7d89f3836fd86576L },
  114913. { 0xf8564242c9f92b2bL,0x700c6a75c46e32bdL,0x93e768b77f99a5c5L,
  114914. 0xb6efe85803149568L,0xbbfe8a19c2ce6709L,0x721a3b1bee6ec493L,
  114915. 0x26eeeea9c371c28dL,0xd798115e15177e1dL,0xd7bf3bceb068a5a5L,
  114916. 0xdf8da22046d2b4b2L,0x3df0995b59be9dfcL,0xc96897bc77640b79L,
  114917. 0xce0cf4c25a2bd3c5L,0x16f45d6e89afe744L,0xb53f3acb3a8509bbL,
  114918. 0x449af81f63f2a6e6L } },
  114919. /* 37 */
  114920. { { 0xc2fcf132a16d9377L,0x9ab377b37e1a2f9eL,0x72e1a12e86d19ae5L,
  114921. 0xd2b12e66d013bbb1L,0x0972e055cb5f66baL,0xd11de1c0399eab50L,
  114922. 0xc1f314fdc65f5ec2L,0xfc3118418a9ff593L,0xdf73c1ece05246e6L,
  114923. 0xc28d13631625056dL,0x30a9dbd76fb25e19L,0x049ed244845cd2d7L,
  114924. 0xc779b83fd36e852dL,0x85a35fc7f68c8a83L,0x299bf1e1c95e8033L,
  114925. 0x0e8617c320891af5L },
  114926. { 0x5372060267c81b5cL,0x2fa89dcde737873cL,0x2a7430b0a8144fd0L,
  114927. 0x3006c5a726208c83L,0x4e066660d8ea40f5L,0x9dd025f9896413a4L,
  114928. 0xbdf380cc46b9149fL,0x801566190a125cc2L,0x04d6a3b752793c37L,
  114929. 0xb60013746b7a62f2L,0xa9cfe268585d5978L,0xdcad0cb88395fe66L,
  114930. 0xbab468fc46b261f6L,0xca0ef5ef9d9d9218L,0xc507d4a85e452402L,
  114931. 0x6f4404f1326cf687L } },
  114932. /* 38 */
  114933. { { 0xa3e1920b4febd3ffL,0xca6234d8fdfd2bbaL,0xb7d1af2ae19a9829L,
  114934. 0x23de1610c6f5bc20L,0xe204dbf3daa39ca9L,0x2a2de9b86d8c70abL,
  114935. 0x272e0c377c9d370bL,0x80914c06e565510eL,0xb611e7a857cbb6b0L,
  114936. 0x076fc6efd8266a6eL,0xdfac34ee3095801cL,0x69ff40a2b9e24063L,
  114937. 0xa7ba31a9787aa5c5L,0x0e4d1fdf33c70cd2L,0x903e31326895f074L,
  114938. 0x905771f87fb671e2L },
  114939. { 0x5199ba0da4062beeL,0x18e7238c94d7d9f9L,0xf53f29bc1e0922c0L,
  114940. 0xde9b2a81b12d855fL,0x649f3eed6d68ca29L,0x64adfc34c50c097fL,
  114941. 0x81964ab99db398a0L,0x00d59c477a587224L,0x09fea39674c5903aL,
  114942. 0x6aafd8ee15043dd0L,0xc5721a6e5f1ecc20L,0xb6d6a4830db9b7b4L,
  114943. 0x06ffc61766c8d52aL,0x3de241d6acc82a27L,0x0605f05227f2f7a8L,
  114944. 0x6a22953b6404deccL } },
  114945. /* 39 */
  114946. { { 0x92452d8f74fce389L,0x059634c02afa5564L,0x9377ccbbf0ed7825L,
  114947. 0x89f4045b37718e0dL,0x11074e7d9fa69a4dL,0x5d70bb077295b0baL,
  114948. 0xb22d54adf107ede6L,0x5c39a3d8a1a29c7bL,0x37236c02d795e3abL,
  114949. 0xf7282d002b589951L,0x5e2265be5790bee2L,0x91e0ea11a8e65ea2L,
  114950. 0x0e71a7086001cebdL,0x16900f5a2c1c5402L,0xc3b2d5c0357f6981L,
  114951. 0x528c9ea0619e3427L },
  114952. { 0x1edc86b45f26c577L,0xf80747089438bd45L,0x2dfe1013792582a7L,
  114953. 0xe08eaca0de1e569fL,0x5f952efa9a55a356L,0xa4d80b53e4976216L,
  114954. 0xd2b65855cd5d71f2L,0x246704bf66cea3f0L,0x193f641f492323caL,
  114955. 0xa681855c9adb1325L,0x86d522ce2d19d652L,0x53609f105b82ed7bL,
  114956. 0x3b0f00948e150d29L,0x23ad8bfb0b13e891L,0xcbb1556cf794b449L,
  114957. 0x200f9093738bcf57L } },
  114958. /* 40 */
  114959. { { 0xf9b22fc58388387fL,0xcf26f17028e883c5L,0x447cab90d1b7973cL,
  114960. 0x8d5d4ea2f6ec9171L,0x2e16f498c30cdbc0L,0xdc92910c48623c2bL,
  114961. 0xeb1491b030dbc545L,0x631deb2e14de21b0L,0x04a210662fe830f4L,
  114962. 0xa4c6979c379c1f3fL,0x8a732b68fb06a795L,0x3a44327a1619dfa9L,
  114963. 0x91a307d38dbe2c9bL,0x939bc8d203989feaL,0x3daabaf20f4a331fL,
  114964. 0x5c307e98dd0f55dcL },
  114965. { 0xbbc4e0c435b233daL,0xe3d2908522f6f985L,0x99dd2d21a8b02468L,
  114966. 0x978f40e9a96916e7L,0x0327d86c614bccedL,0x95e95502b290762cL,
  114967. 0x0ffd2197a879f2edL,0xc436513750e0bd33L,0x26c3148a0827c4c4L,
  114968. 0xc79812a83fcfc0b2L,0xc3d8d17e31928589L,0x8b572cfe8830f42dL,
  114969. 0x7cd9ff924b07f83fL,0x331ca9500a51148fL,0xd0c539684c59f9acL,
  114970. 0x1df16dfac1434785L } },
  114971. /* 41 */
  114972. { { 0xcc7bb4ac68bcacc3L,0x06ded34f430f58cfL,0xc59f9f4fd461855aL,
  114973. 0xf549199445c9f0bcL,0xdc5f7ec64375c892L,0x1b8708f13c85983aL,
  114974. 0xb32a5cc482fcd087L,0xefdcdc352d6b4c0fL,0x4bb24f048ac6fb2dL,
  114975. 0x5982d4f533906471L,0x162eb52fb83a3ac4L,0x7130df282337a223L,
  114976. 0xdce7b802cbc3dbd3L,0x8b3959592467ac0eL,0x21d3d2e81b56717eL,
  114977. 0x729a7f5046512617L },
  114978. { 0x874ed1aa8420f90aL,0x6368e19e0fe4c855L,0xb62d4aaab0be74afL,
  114979. 0x76fcc4808ca60ca9L,0xf310b5a57645a867L,0x131bac9bddb1b24cL,
  114980. 0xef77d71d2dea5b44L,0x4706d21072fcc64eL,0x29b92691673d77f0L,
  114981. 0x22e00bf3e89e0663L,0x472d0cd374077d40L,0x3e21040d829232e2L,
  114982. 0x2f916dfb38dc8533L,0x48bbb59b14b8f667L,0x19de9f4ad44be19dL,
  114983. 0x7f6d3649232d9d5cL } },
  114984. /* 42 */
  114985. { { 0x3bd064de6e794819L,0x5a6b694ef82ebda1L,0x1f017fe0b91e2804L,
  114986. 0x190d31f307a43cd2L,0x6c26f226630433e9L,0xba488aa70abfdcb4L,
  114987. 0x418d9085a46411c0L,0x1b934fe6bffb5880L,0x75d1e237e200f849L,
  114988. 0xdf04d63fa55413dbL,0xe216ed75e23b3f77L,0xa05866cb0f91bd30L,
  114989. 0x84c395d97729c509L,0xec97e188452ab2d7L,0x8cb7c1f90093d686L,
  114990. 0x2d032395628f086cL },
  114991. { 0xa81c94074a44b4c5L,0xb9846879cc702c98L,0xcb502287ceb0dc97L,
  114992. 0x303011266e3aa321L,0xc0ac8763e4c256c2L,0x65034d20e55b4845L,
  114993. 0xaa96a040f240f35bL,0x046d26d37cf7eedcL,0x62a5a8e13b810656L,
  114994. 0x86044b9783d70c2bL,0x2fbaff8859e4da8fL,0x929d901a5457f5d1L,
  114995. 0xd29e1eb2b531b757L,0x214dabdc9e4e9739L,0x5bd724fc4eaa9bd9L,
  114996. 0x734c12b31ef9bb9bL } },
  114997. /* 43 */
  114998. { { 0x98fe3c2e92f9b086L,0x4641b93eb3fd4544L,0x47ce208b5c02c65cL,
  114999. 0x8a52dca1c4f03242L,0xb5ec17d9679d29f6L,0x11d2fed09406f5f4L,
  115000. 0x260f63dc0d9ba811L,0xde2b056f15472a3fL,0x1b170d9f007290e6L,
  115001. 0xa2e23e8db6b5c8f9L,0x345a2839cf34c3eeL,0x9bdc54611b973ee2L,
  115002. 0x65bda6c2bb24d1c5L,0x97d52ba33c6141a1L,0x47bb16129d2eb201L,
  115003. 0x7c558a8721fbe49fL },
  115004. { 0xb9485a523f350fecL,0x016678c56a38d4c0L,0x8ef346a20d5aa64dL,
  115005. 0xb85daa02d96da2e4L,0x845ec4ea4f647b3cL,0xc0d1a6ca0d5e946cL,
  115006. 0x41d8d1c14fa9f4abL,0x43972cc59c8b1303L,0x67e1f48d434ffbfbL,
  115007. 0x350ce93a819d2318L,0x49f530906ddef23fL,0x3c2e6cf9200cf12cL,
  115008. 0x42691cc1640432fcL,0xbfff74b472496b52L,0x44527c9f020a97beL,
  115009. 0x34cd7dca7b3c4348L } },
  115010. /* 44 */
  115011. { { 0xf031761a59e7fe87L,0xb1eae31a0047cd72L,0x27902e68fae30f62L,
  115012. 0xa666f48db71db143L,0x75ee66780e0038f4L,0x3b45ac6702bdd76dL,
  115013. 0x0d2fb828a0d6cd5cL,0x27ce7f1d9d8c5b11L,0x141fe0e4120b5e96L,
  115014. 0x95a1b984b9267c37L,0x5206e589d60312cdL,0x1867342eda549356L,
  115015. 0x374520b9070c74acL,0x2703cbb59557b0b3L,0xf621f59ca6ed8c14L,
  115016. 0x7ceb1cc2abf7b887L },
  115017. { 0x0647a5bbdb7fd65bL,0xd8d45cc036c9457cL,0xc6da99db9e12718aL,
  115018. 0xed1dbbf4e93a7fb1L,0x4512c95cbd1566a1L,0x4861ba00dbc0c919L,
  115019. 0x3c6cc2989e7f5269L,0x671961500941aaaeL,0xbfcf5d0fc8c538e3L,
  115020. 0xad6e9929a25a551fL,0x9071098517ca0f26L,0x743b78eafa89ef7eL,
  115021. 0x39d5ea3171ab4549L,0x7442f3f3e6d1c36dL,0x25a683e0059d568dL,
  115022. 0x1f629a99227ced5cL } },
  115023. /* 45 */
  115024. { { 0x8925ddace45a1c3eL,0x72d2936541f7545fL,0x45622fcb37e7f828L,
  115025. 0x882345133e4c79d2L,0x5dffaf849c2645d6L,0x3078f4dd994802b9L,
  115026. 0x566927f09d339fa0L,0x9a500a1e9fd91dccL,0xce0081800ab0abd7L,
  115027. 0xd97135a38194e5dfL,0x9e87630798adf088L,0x3baf01b89a45a2a7L,
  115028. 0x6fed6154788b4399L,0x980e5722e77a997dL,0xaac90ffa2a378eedL,
  115029. 0x4a75fda28bd805a2L },
  115030. { 0xd09a8fbb55e74cbcL,0x737738cefab18f25L,0x0fc23ad69764ec3aL,
  115031. 0xc5a7d35be7e0ad31L,0xe75e068ee481cc9bL,0xf0c2ea993d4aec34L,
  115032. 0xf1324fe80d4a63c4L,0x5dbb7c1699b0592cL,0x442d674da7e0f46bL,
  115033. 0x5a5d66c7a300faeaL,0xe83dc8213333ac83L,0x70ef812e8c408496L,
  115034. 0x96e1dcb699ef5fc1L,0x6e2b771b1734e862L,0x04629cdc583507d8L,
  115035. 0x5819f9ae23d8179aL } },
  115036. /* 46 */
  115037. { { 0xd99691216aa78811L,0xf64ee8f42103e7c3L,0xddf0107022b9e698L,
  115038. 0xe6001f9e4f582cdeL,0x24a608af2ecfac1aL,0x6ef4c78406393009L,
  115039. 0x5262eae6ebf72911L,0xddbd0af58c4ee5a0L,0x875aff90ecd87bc7L,
  115040. 0x2fddb34c6f24f114L,0x48104281e865f172L,0x95692426886c1b9aL,
  115041. 0x6f5f32089ef4231fL,0xaf587acfd0a7e82eL,0xd65719179ac395c8L,
  115042. 0x7459603c1364a750L },
  115043. { 0x1c2475bff41ae519L,0x34401fb14af8f251L,0x70ddfcd2aefb2c3dL,
  115044. 0x9b2d385b51cdaf08L,0x8531c2568208bb19L,0x16c89df64c33f3f6L,
  115045. 0xc23cfa9924571769L,0x2339b51e86d010baL,0x08db0e8d22638313L,
  115046. 0xf769e17900fedeb7L,0x3fd96dcba3687ef1L,0xcd046b2391476475L,
  115047. 0xf3ff20640c45c8ddL,0xefd167bdb8343d78L,0x493ccb6d4b77ee90L,
  115048. 0x33025513b3cf7b45L } },
  115049. /* 47 */
  115050. { { 0x36f0046935eaaca1L,0x0c384b7589119102L,0xcb375665e6d2954cL,
  115051. 0xcb9199b9b1e9d6d7L,0x75852349c29c2757L,0x89cbd1bab8e738d0L,
  115052. 0x9b8dbe905923a427L,0xa237793e18fe1889L,0xa4271757a742e083L,
  115053. 0x8c4979d24eebd613L,0x40325054d4f2cf77L,0xa3b8a091958705deL,
  115054. 0x1b191bd933d999baL,0xbafefba43b0fee1eL,0xb3bad1843facdf14L,
  115055. 0x9328adb04387561cL },
  115056. { 0xabe84e80f906b872L,0x705523a078262665L,0xd89c6a7e3398ccf7L,
  115057. 0x2fab551df55b5323L,0xa0578eca0554dea8L,0xef26523d375589cdL,
  115058. 0xd8fd6242864ad750L,0x93f27fc5178fe1feL,0x7b3e6f309df87422L,
  115059. 0x2862e49e3750d054L,0x7d90c6b25dc038a1L,0xc1a1ae2284db682bL,
  115060. 0x47f3dab79881930aL,0x30e6bd52baf3e0a4L,0x0680025bf62d25c5L,
  115061. 0x0aa1f3cfadd0d5e7L } },
  115062. /* 48 */
  115063. { { 0xa982219022a10453L,0xdd1eb91c2a03a10bL,0xafbb5d9596646f3bL,
  115064. 0xa58de344f38b6fc6L,0xce47c3e5b8cfca1dL,0xfcd8e16d0f70da04L,
  115065. 0xac44349bda262ed6L,0x9320d87bc56e2f8eL,0x9ce3ea0819138e58L,
  115066. 0xa5862dffa2b236c0L,0x6b0f9a5c8e7efb0dL,0x4b53432b16ac78ebL,
  115067. 0x6ff43105709b51afL,0x08e236f88f519628L,0x1f93f176eed403adL,
  115068. 0x559337e09636545eL },
  115069. { 0x30ddf738d8fd807aL,0xf4e0ec9dab131222L,0x14a2f4db625afbc3L,
  115070. 0xd5b706049f12f895L,0xb46f3c23ac3044fdL,0x1b232d1ff540148fL,
  115071. 0x61b458f539b4e554L,0xf694b24a0dd70b75L,0x0fc64299289581d9L,
  115072. 0xc05d49beee5fe22dL,0x7af3447f6a18bf63L,0xe96a1dc27f1929d6L,
  115073. 0x6afe6028c1551e8cL,0x27dacaf32b5d4fa2L,0x4a1631bc545c2cb4L,
  115074. 0x930070f9b0c914d3L } },
  115075. /* 49 */
  115076. { { 0xd2f32c5e69a9bc05L,0x0a5c19c6589c4b73L,0x095c9e5e94665f9cL,
  115077. 0x8ab0f293bcfb4c39L,0xb90708771ddb7c31L,0x894e965866b38048L,
  115078. 0xf19a90cf606bd9bdL,0xcc1d58dfb6fd2d69L,0x886dcc4e461d8a69L,
  115079. 0xc455c277f9ce4831L,0x749a5996765f8a82L,0x2ffc668cc3badc8dL,
  115080. 0x380183969112cdabL,0xa98795c3b243c7cbL,0x8775f310010a2224L,
  115081. 0x043a2141587b5e14L },
  115082. { 0x7bbe9dbc3a873752L,0xee1493f42f442feeL,0x981ca2c8c18c2181L,
  115083. 0x00ce3090e29769e7L,0xb4626ac8de768c5fL,0x33e9ce4634d7677eL,
  115084. 0xf89c2cade0fa94e6L,0x04f5cc1141f5b5bfL,0x2565f7362228c12cL,
  115085. 0xf1bf706a0c05cce5L,0x5d07ffffbe487c4fL,0x3ec43c09a499f1a4L,
  115086. 0x4f4e79bb98d94800L,0x8a335a16073f12f8L,0x4bb5eaf70f970d6dL,
  115087. 0x18d0747bf24d0ae8L } },
  115088. /* 50 */
  115089. { { 0x58d3c77c84601fafL,0xc9465be2af1c1f72L,0xff626798d116d806L,
  115090. 0x3996c0c6d5b0d93cL,0x2fa1ad755ec6723aL,0x966a814403ba5349L,
  115091. 0xdc4c94222ac34d8aL,0xddf471deed675865L,0xd8aca597953d528fL,
  115092. 0xb2e463b524ebf67dL,0x258248717e25b4d3L,0x23c5adba43159daaL,
  115093. 0x5458f9c683357540L,0xcf685da7f938b1a6L,0x981a4fdacefed231L,
  115094. 0x711093ed08bb5e59L },
  115095. { 0x12aa3fc6401f161aL,0xf7358560974c5e87L,0x4aa252fb17b5df82L,
  115096. 0xb0b82b07a48e6299L,0x0023415729dd847dL,0xf1e54d004529c5a6L,
  115097. 0xcc1c539e6d98f538L,0x36162b5328d3abcbL,0x75a379382a84f0cdL,
  115098. 0xf717a81b4dee7484L,0x16cf35fb4c23bf1bL,0x7fd1c29f787e8b3eL,
  115099. 0xb7da7e6859b79ab0L,0x072100a085f6c60bL,0x31840159e7ed48b5L,
  115100. 0x17898bda4d9c97d4L } },
  115101. /* 51 */
  115102. { { 0xcd8483d8ae1b8cf8L,0x323d4b42e9a28856L,0x7633584f204a4bc2L,
  115103. 0x4e0b2228ca7a69faL,0x8afbda8bf757bab2L,0x85b240886cc5f9caL,
  115104. 0x47fb4813d41a95c3L,0x3f1bc53cc2aabe6bL,0xf22cda3f1ad1599dL,
  115105. 0x1b2ec081c31ea9b1L,0x048f304b01614ac1L,0xce31cee9c6afa7abL,
  115106. 0x55af76334140dc3dL,0x84b7ab37dce8abbaL,0x50de7648c7cf3efeL,
  115107. 0x73a88dcf15356ab2L },
  115108. { 0x3f86828806e83b39L,0x477a44139f44037dL,0xf9058b0f17dbc841L,
  115109. 0x2db64f4f54d17549L,0xa23cea6af2307ffeL,0x393efd554f126261L,
  115110. 0x2f4e658a10f37f26L,0xa4437ce3f4ee1e35L,0x64ef42a7a93cde8bL,
  115111. 0x1debc9f4939aa901L,0x44223d6a3d7b5cd4L,0x789a6a11f88a3accL,
  115112. 0x56fb9df82c608a2dL,0xe79db8e3bbf56c06L,0x73c56af2668fa300L,
  115113. 0x52f32b17ae396a1eL } },
  115114. /* 52 */
  115115. { { 0x56f524c1e714f71aL,0xc1be12629add8519L,0xad9189d865cadbe3L,
  115116. 0xd88bf5c85a0fb649L,0x9efa6a9221d192d9L,0xe3fe83896f724b6fL,
  115117. 0xec3fae24b250119cL,0x4b6af9f62ae0d3c0L,0x8fceba0bd619624dL,
  115118. 0x7dc3092b2fdb6e3aL,0xc91da3763263cd29L,0x30c0761ef95c43bdL,
  115119. 0x89136400cdeb44d9L,0xfd7dce8443c0d31dL,0x78fec3b19871899fL,
  115120. 0x79e14d28efdf58c1L },
  115121. { 0xe38222359bb40c55L,0x0a27202d0ed07a42L,0x48e6c1a94838c1f4L,
  115122. 0x2b5f24a7d864a78eL,0x7e7f140a0c6c55c9L,0xe62c104ace12d508L,
  115123. 0x9b0a1a7ec11b1e10L,0xfd8a275fafbb3dd5L,0xdff354fe9a3b6b30L,
  115124. 0x5a105d9e46602a01L,0x3d371b4d93bb65f7L,0xda5cbf0b0f82fdebL,
  115125. 0x4601229bde468545L,0x505e10b9c73d517eL,0x77cfa541672ff492L,
  115126. 0x0d8ec28a99566ce2L } },
  115127. /* 53 */
  115128. { { 0x014cf73ecbeee995L,0xb2eb88bcd491e80cL,0x615a6cadd9aba5d4L,
  115129. 0x2f7d46339304c84dL,0xba0501d28ab03c9aL,0xc8f723de91babb94L,
  115130. 0xc885f97750405772L,0xb5e1d2b3c7fcb094L,0x61ee7995df96c71aL,
  115131. 0xb8c8daab3464499eL,0xdb425ddd5f607932L,0x70251ca1b1243587L,
  115132. 0x26d7d3be9fc74340L,0x8c179310c902ac89L,0x72522c154559a74fL,
  115133. 0x86001e27c3734afcL },
  115134. { 0x13b00ba5e7693947L,0x6478641e012c062bL,0xe1a438e0e85490a8L,
  115135. 0x5173dbbfd9574d5eL,0x9532eb8c9bd3ba61L,0x1f41bcb85f3ea075L,
  115136. 0xac1cc2478cbb92b9L,0x0f34648e1ef901b4L,0xdd929d1ed2b3b2eeL,
  115137. 0x470f1eabc3d75bfcL,0x5cdbc6f7139cf4d2L,0xcd86454df0424953L,
  115138. 0x1e07981247fcb383L,0xb9f209b417df930cL,0x4225fc31114ebc00L,
  115139. 0x020591cb347946c1L } },
  115140. /* 54 */
  115141. { { 0xe3003721275e0af4L,0x721141efe78a4a4bL,0x666cfcf6d1757485L,
  115142. 0x5fa1d737168e659eL,0x263e3e540e2842eeL,0xadecc3d4948bd5f6L,
  115143. 0x019de03d246b104aL,0xf8a9e903f343d818L,0xcb57ba4a5b0c0d31L,
  115144. 0x8246c50651e2765fL,0x80c5751f6519bf67L,0x5f05c200f2119a01L,
  115145. 0x7e6487b87821d4f4L,0x262f94aa261c3a06L,0x56cfe48972146052L,
  115146. 0x5119985fa1df05efL },
  115147. { 0x5819497db18586c0L,0x004415d6c6eeaa62L,0x7c6a46b697cda28bL,
  115148. 0x9a149b287c194594L,0xb56369fa4ed3a506L,0x7092aa6643c94cb4L,
  115149. 0x55bce73aa9e9eee2L,0x34bb287077893509L,0x8af95fb006eb5326L,
  115150. 0x87cd03239638f485L,0x293762685ba75bf8L,0xf32d6f3d9d42d581L,
  115151. 0xa4cad57465c6d64dL,0x985f50fbb2cded41L,0xcf34ce0e9006a067L,
  115152. 0x59eaf26558a57f9aL } },
  115153. /* 55 */
  115154. { { 0x7b407efb6ec3876fL,0x780c6123f0f48648L,0x2abb56ffbf893039L,
  115155. 0x9592eaa045a91ab0L,0xce5b84d778811b82L,0x86a71a341f9f3fc9L,
  115156. 0xc17fdd86f0e7e13bL,0x88ed8297655a0880L,0x75d6dc7481d5e666L,
  115157. 0xeffc9df61d171797L,0x36ad4c8de3f79e1fL,0xdb15317d2046192eL,
  115158. 0x78c9fa7a274fda62L,0x04ec924f82dd9914L,0x059d1e383a64971cL,
  115159. 0x3b4450ea2620bbfbL },
  115160. { 0x3db7a955c776dcdbL,0x35c4a57c81c8ba47L,0xae285003505760fbL,
  115161. 0xe3e80691b3aec353L,0x380335be47117be5L,0xe1c47e3a056ccf61L,
  115162. 0x253cfdeb33977916L,0x3decdfbaf5cb7ee1L,0xf3c9794f7cf4b704L,
  115163. 0x2401680c9ff81462L,0x4e440e11be3daa9fL,0xc5d0437769f91d8aL,
  115164. 0x4106c7a8cb5e9c5dL,0x191909a133b7d24dL,0xe893c8383764b4a2L,
  115165. 0x4a7fe30cc429b614L } },
  115166. /* 56 */
  115167. { { 0xe78f3a702455c7c5L,0x5b7636e870157754L,0xf32c45247623262cL,
  115168. 0x2c98b11e1bc780c7L,0xd48eaeac915ed877L,0xbb04d3c0199265f4L,
  115169. 0x6b52b19bcfa5200fL,0xc46a098193ea3fe8L,0xd82c733dba758059L,
  115170. 0xd324bbd61896aaccL,0xac09a2fcce8ecd51L,0x529918fd02fc44b3L,
  115171. 0xf0c45e4aaaa1784bL,0x35626340fe22085cL,0x53cbb676c50c7d61L,
  115172. 0x83fa1ea365126b23L },
  115173. { 0x60ac86da10ccc646L,0x2ce0637f7b0451e9L,0xbbbcf6308a088610L,
  115174. 0x23c1901920349982L,0x707fc39cfc0bcda0L,0x7f4d1f151bd4fd7dL,
  115175. 0xd6a64e7444713bbbL,0x57bdc676c5ac9e60L,0x456c530337b61169L,
  115176. 0xd3451396dcf40a1dL,0xf3edec254997d2c7L,0x534ae9a4c2c4a739L,
  115177. 0x1401397e6a6ad2e2L,0x20769d4d23e95f81L,0xcee007c6de98fabfL,
  115178. 0x61409779931c51e0L } },
  115179. /* 57 */
  115180. { { 0x3ddb32db15156623L,0x68137fbcab7a67c2L,0x26011f506f19e3c2L,
  115181. 0x34218b0289924c61L,0x492a0b0fc6804c1cL,0xd65be706afaae6a7L,
  115182. 0x3b13d23e0d01be61L,0x44545b47f87f4c69L,0xd42236e204dc1aa3L,
  115183. 0x6135261d3c5161ecL,0x1eb46a63bd88bc07L,0x78c6d8361599d720L,
  115184. 0xf6955fe169baf0f3L,0x467eebd617072820L,0x2f1b8a2a3e3a340aL,
  115185. 0x636dac762d0b5f88L },
  115186. { 0x94280db9b4c80af3L,0x9a189cd14e3892abL,0x26e702e0d1477ddcL,
  115187. 0xe91aee3868f9f14fL,0x2864f63a80baa0b2L,0xacd81f738b714a29L,
  115188. 0x30e1b870c5fe7cb6L,0x883ea1c3b10837fdL,0x2da279536b20489fL,
  115189. 0x3aeb2a6858a2da5fL,0xe2330bf203a8fa14L,0xb5c488b5dc70b1c4L,
  115190. 0x0a78c4d9299678f4L,0x233bd09825df675cL,0x37b5c0767b67d368L,
  115191. 0x2f6dbdfe4d0bef3fL } },
  115192. /* 58 */
  115193. { { 0x2f8472fd2e4da7c7L,0x708cfc91ae677932L,0x364af08a3dc268e2L,
  115194. 0x0f10dfe0799a2424L,0xef912d5871d58bffL,0x6bf35dfc988962e6L,
  115195. 0x28b96fa95f47ea0aL,0x734a79eaaad308c1L,0x957303379f437bbaL,
  115196. 0x002cbd8e6cf54f75L,0x47606dcfe7632eecL,0x404b5ecb53193104L,
  115197. 0x0ae0897c0acf729dL,0x89628b863bddf1deL,0xeced154ef87d7448L,
  115198. 0x5cb6e197458d5d4eL },
  115199. { 0x98cef197008c75edL,0x7cf49d3ef6eeaaf8L,0x1d6f9e021875e96dL,
  115200. 0xfcec2cfedd9b0d8aL,0x38a61cfeb9576daaL,0x10003f3936a7dbb8L,
  115201. 0xb37c386823b814f4L,0x9fb66dcbb80e3153L,0x9e7e2eba059847a8L,
  115202. 0xa4ec63fd35a72770L,0x311f3d91fc9e0ed0L,0x3c1dc094d515baa4L,
  115203. 0x75a06ebca08cd4e3L,0xab6172382ed5eeaaL,0x2e82bbb0e1f52c1fL,
  115204. 0x2149d6305175d6e5L } },
  115205. /* 59 */
  115206. { { 0xee1a8e6f5f9311f6L,0xc97e3c9fbabc1f85L,0x4fa7c52eb494209aL,
  115207. 0x04c2f51c19774fe1L,0x5cefd1228555844fL,0xb53862a3b5873ab3L,
  115208. 0x768efdd6cbed19fcL,0xcdc12479ee58469aL,0x11237e313d80c09cL,
  115209. 0xdd74a290c044c28cL,0x9ee6517abd47e287L,0xc2421228ad0ffeefL,
  115210. 0x4273088f818d281fL,0xebc744bc43ec0de1L,0x5b26eccfb415bd73L,
  115211. 0x14e2f350cb07c26cL },
  115212. { 0x548d2a104216946bL,0x6e801f077a4bd92dL,0x5996d0a343695160L,
  115213. 0x0f1b5c2f63a197c9L,0x79da3c4f061f77c9L,0x1c1cd63493ff7b22L,
  115214. 0x5e61b650a234123fL,0x826b34c5f284033cL,0x718b90e8c2f34214L,
  115215. 0xa5f35620ae806ec5L,0xa2fae345e324a9b4L,0x8c0bb95e8b53cb51L,
  115216. 0xc94f6ac2f9965778L,0x07ec607d6b9def32L,0x63bf1dbad0ed8f27L,
  115217. 0x58537e02dcb61e4fL } },
  115218. /* 60 */
  115219. { { 0x1f64b06464f80ba2L,0xe8e055e70559a45bL,0xc3262b34f1f4b634L,
  115220. 0xef4f7d5fde8c8482L,0x9d55dea0c30c780aL,0x1740afb9cfa1e693L,
  115221. 0x2cfe6a667460c34bL,0xf66959411187c1eeL,0x1382f2775f974d94L,
  115222. 0x1ca0ace4004549ebL,0xf8244b3fbabded02L,0xc36f4d064e3653eaL,
  115223. 0xeab9f0dcc55c5f83L,0xd93b9cefacebce90L,0x16658e7219061425L,
  115224. 0x4857835f82d7970dL },
  115225. { 0xdcd525bcd2576210L,0x9f378aa7d51b5443L,0xfe97bf171bd83994L,
  115226. 0x930d0f63f38ac621L,0xaf8f2c17818408ccL,0x2692c87e260f53f6L,
  115227. 0x0ee45407db0a75e4L,0x0ec47ae5ffdb1b37L,0x769129dc7aa6a44bL,
  115228. 0xb6f932b22e40b75dL,0xe06764d095ef3b77L,0x28fd47f568bc63e8L,
  115229. 0xd18104949c0014c0L,0x90e2d3fdd7995d8eL,0xeb39a05d6c2a85afL,
  115230. 0x6c0277bda21f3128L } },
  115231. /* 61 */
  115232. { { 0xe41b7086b509e7efL,0x8842ec7b3d7f9f91L,0xcd285f945526b88bL,
  115233. 0x6e44e064051dd0abL,0x90198c10774f1cebL,0x6ecabe98123e661bL,
  115234. 0x4481113632f647d9L,0x1dd82b4526c52aeeL,0xd650907f939dc9d5L,
  115235. 0xbd5eeef2fcd455bfL,0x7815a4dd8d2e5d7cL,0x5ad4ec9288bc9f2aL,
  115236. 0xc6f10d0b57a3b322L,0xe8d0c1e720b9cbdbL,0x5a0b071a9b774ee8L,
  115237. 0x3067bc9af22fcf8fL },
  115238. { 0xe0e589f2b7ca9326L,0x17a106fdb1224f63L,0xb2354521747a57bdL,
  115239. 0x2614982d62b0882eL,0x7f3af5444391ffcfL,0x1aaa337ba84e440dL,
  115240. 0x28ea37b0941bb071L,0xa957dcb42e4a7f54L,0xe7ab662c1a6ad5fbL,
  115241. 0xd135e381f7c36a20L,0x42e7980c9baa0b6bL,0x4237030c94e4671fL,
  115242. 0x24cc63ff8b0922e3L,0xd10d5279445a589fL,0xbb99d316a870ff6cL,
  115243. 0x390c83caa996c195L } },
  115244. /* 62 */
  115245. { { 0x50d3fa82ffc4a73fL,0x2665d6353bd53303L,0x80a06f8a264bb77dL,
  115246. 0x81c04a6e22d73d84L,0x2409cff50323b8aaL,0x31dce2178c4c4d5aL,
  115247. 0x374aa80e0c0f9c19L,0x0b25a38700186bb8L,0xd0b77a10aaf1487fL,
  115248. 0x15f39ad5ab498de1L,0x92e32da61aa0c116L,0x228e3dbd96e25ce8L,
  115249. 0xb57c88dc5e8646d1L,0x672b1164267b1c68L,0x5d0d807f600bdec5L,
  115250. 0x3ea4007d223e573aL },
  115251. { 0xd76debd0a595d0a3L,0xa6bd76cbaff0b3b4L,0xbf2c154f9b1bdb97L,
  115252. 0x62b19ab44c714c71L,0xc9bf33b9221af663L,0x23d87c498c941ef6L,
  115253. 0x255804c3d79f0f6dL,0x6f1a10052a7acbc1L,0x5dab79d9550528afL,
  115254. 0xfd77a6f0c8d16213L,0x40508b6dde5e1029L,0xd95ac0f2f95da12bL,
  115255. 0x8860af71758a8ba1L,0x0b194c837160c8fbL,0xa40e6c80ce004d34L,
  115256. 0x09f82a176b14aaa0L } },
  115257. /* 63 */
  115258. { { 0x60abe588c21366dcL,0x729c0a4faf75daf9L,0x70501fd9acb93ed4L,
  115259. 0xb97e744e87a16d70L,0xa42e0a7a98e7361bL,0x1acdaff228b54cf3L,
  115260. 0xf087ccbbb7bd9078L,0xda6f3983663250e7L,0x66d693eebaf07c09L,
  115261. 0x79baf4c38cbaf157L,0x5a984e07dfca99d0L,0xab4d3247f26d8dabL,
  115262. 0x4d0be7017eba36f9L,0x37bb9e650e8dd216L,0x72aa4e24531c4f03L,
  115263. 0x77d1e984b753d85aL },
  115264. { 0xd9373239d8e62367L,0x3361848bb9820cf1L,0x00c7e3445a9c97c4L,
  115265. 0x9a0ec9ae14f960fcL,0xcf41f0cf740474b5L,0xa5eede8fece065d5L,
  115266. 0xb1de5a4e9e808610L,0x17c44ae4ae0cf75dL,0x2fa563236b148d0bL,
  115267. 0x64fa740fd29ff2dcL,0xc605eb8a88cb212eL,0xf2c771ad6a863016L,
  115268. 0x6d6112e7607b4c17L,0xfe90ec0740d49785L,0x599be18be256e0e5L,
  115269. 0x4e6eabecca54adb0L } },
  115270. /* 64 */
  115271. { { 0x950323d3fb99cfe6L,0x7b09bc26c9334178L,0x64111e417cbdfb6fL,
  115272. 0x9114174489a75760L,0x4c633df910919cb0L,0x715fc7c7396bfd2fL,
  115273. 0x8ca195128cab62dbL,0x306724734db81aacL,0xe67a246bb4c4c54aL,
  115274. 0xd77ea0fabf229646L,0x5bed15f1fa5b5d70L,0xa5686da5c2f192f3L,
  115275. 0xdecac72a7f6690adL,0x0c4af2a2caa50b7dL,0xf44631c16049ad2fL,
  115276. 0x325d279604ecf056L },
  115277. { 0xee11fb554848c144L,0x4e062925b6a7af32L,0x125b68e1369e0f9aL,
  115278. 0xad9bdae6ca53b21eL,0xf50d605c2e98ea1bL,0xbdb9e1539f2fa395L,
  115279. 0x4570e32de91532f5L,0x810698ae46a250d7L,0x7fd9546cad9d9145L,
  115280. 0xabf6772111e97a5eL,0xca29f7d5249f82e9L,0xa9c539a99851df63L,
  115281. 0xfd84d54b71d0e3e5L,0xd1e0459c041d2b56L,0xceb3eb6efd80096aL,
  115282. 0x19d48546e32a79d3L } },
  115283. /* 65 */
  115284. { { 0xfe19ee8fb540f5e5L,0x86d2a52f04e68d17L,0xd2320db0adbdc871L,
  115285. 0xa83ad5a8d03a7fc8L,0x54bf83c708bcb916L,0x092133ea2e51e840L,
  115286. 0xbce38424cb52dddfL,0xd5c7be4031063583L,0xc1ebb9df458e3176L,
  115287. 0xafb19639bc4dabbfL,0x36350fe4c05725a8L,0xac4a063484e1cd24L,
  115288. 0xadf73154c145b8deL,0x0aa6dd9eb3483237L,0xa3345c3dcbff2720L,
  115289. 0x1b3ace6cb4e453b0L },
  115290. { 0x0343e5e990a8bdc5L,0xa203bf9d6306a089L,0x98489a358e48520eL,
  115291. 0xbd17debede7d1d06L,0x8fafa6d75f795d3fL,0xa4ceb630387b0a3fL,
  115292. 0xe0166b32ffddeafaL,0xa2fe20547e764e02L,0x55ab9824e871f304L,
  115293. 0xa2bd36bb952ec45eL,0x7b4c1484a90d20caL,0x5319f38775bcfb53L,
  115294. 0x34238a4a6982c4e5L,0xa2bb61c7a102921dL,0x1e061b64db3ab17eL,
  115295. 0x538ec33e192f0a14L } },
  115296. /* 66 */
  115297. { { 0x193496fea19b56cfL,0x663d77f47bb99acdL,0x8f04afa857d0a881L,
  115298. 0xcced3da2082835fdL,0x7e21faed5d82cec7L,0x6e175b99f8009c85L,
  115299. 0xd9c6e31b2d05a307L,0x96948d4a81487d82L,0x86ebd3f2d46f6655L,
  115300. 0x86851aa8773ccc49L,0x3e220f228b1640a6L,0x9f06e3a841a20b75L,
  115301. 0x2cfffe5e90ac0a6fL,0xf5a9b1da8ebeb3fbL,0x2587d9976e08e2c9L,
  115302. 0x6fd6029803e9f401L },
  115303. { 0x54709f8d8eb7516aL,0x83058a74bdc598abL,0xd234dd9887e801ceL,
  115304. 0xfd0f9d90d17b8a96L,0xaa1e549f6e90f6abL,0x2496ff805a7ed55bL,
  115305. 0x0d9f657a6c254c19L,0x3cdea49cb8962575L,0xb685a3f02dff27deL,
  115306. 0x3c50e7fddb8bc04bL,0x904ff0ff987236b0L,0x494298fdbb0d5055L,
  115307. 0x34b3386de14be8d0L,0x7ad34e9c7c3d30d6L,0x1f2b32bde159fdd9L,
  115308. 0x84cfa23cc761e5c0L } },
  115309. /* 67 */
  115310. { { 0x13bc11eb8b99b964L,0x8e280c0a58e2fc47L,0x870fbc49d4c9a54bL,
  115311. 0x37a334a2bf6e20faL,0xee583d0dd7c88cfaL,0x05e029a8ef4af1daL,
  115312. 0x6d55e2340c2ef8a6L,0x61b6fdfe209e9b62L,0x3b1dad26bb8e080fL,
  115313. 0x5adbc1629392fc1aL,0x02ac0fe60aae3f4eL,0x8d99801ac2bf4d5bL,
  115314. 0x2333f93fc282fed2L,0x16dcb10cb52db33fL,0x09f90f84c55752e7L,
  115315. 0x287d4c51c84a0d8eL },
  115316. { 0x5fa582010e9867daL,0x614589b31a874cdaL,0x005e27c5fbdee22eL,
  115317. 0xe357fef5e612bda8L,0x4e0dbedf2d3635f9L,0x62be70e46f125a86L,
  115318. 0xa09b98840d94a2e5L,0x7eb99a1528b5e5d1L,0x21b9416e751028b5L,
  115319. 0x1b137fd7e06d2cc4L,0x6fa1f517fea09845L,0x3ba1e966ffcecbd7L,
  115320. 0xd4c89a4a832f453eL,0x07b1e2afeca68fa1L,0xd0fb44534bd395a3L,
  115321. 0x0132a3dcd8ef9e13L } },
  115322. /* 68 */
  115323. { { 0xe53c7785576374c2L,0xe60526d184727040L,0x8a066dc8228ca044L,
  115324. 0x1fe1c1b2f1ce1313L,0x2aeec832cdeb0c5dL,0xa75966999cbf826fL,
  115325. 0xcd188e81de77a589L,0xe5ce0fe0118d1254L,0xa142a9840790b86aL,
  115326. 0xe28f043f39ac28ceL,0x4eef829087de5804L,0x83c31b32f639a8c5L,
  115327. 0xd70454a75887794fL,0xca635d5018b1b391L,0xcefea07631d9c795L,
  115328. 0x13cbee76b6f8aa25L },
  115329. { 0x79cabe0f8d3f34f3L,0xbda9c31ca3617fe3L,0xb26dee23dd9426a1L,
  115330. 0xe9dd9627f29c9104L,0x033eb169e2c6cd3bL,0x8a73f492fcba2196L,
  115331. 0x92e37e0bb858c83cL,0xe4f2aca623b3fbb7L,0x8101fb1e64be00a2L,
  115332. 0x91a7826a948f6448L,0x414067b4907260e7L,0xf774aa50e30bb835L,
  115333. 0xf922ca80c999c06eL,0x6b8635b90ba08511L,0xbf936b5c25fa04f0L,
  115334. 0x4e0a1adae02e8967L } },
  115335. /* 69 */
  115336. { { 0x00ca66708ba29c4dL,0xc08240ce22988094L,0x21c5ca6716dda752L,
  115337. 0x689c0e45abbbfa34L,0x1d7545fd3ed28b72L,0x5f221198d7c56ab4L,
  115338. 0x4b3d8f7438759d65L,0x93490dfb8fe50b89L,0xb641f5d7e80eba16L,
  115339. 0x7b0da5eb79acb537L,0xab6b14970c1d5e5eL,0x2338e68da5da429aL,
  115340. 0xe010c4372f6d2f25L,0x226f16d26530f3a7L,0xefb0f7b6cbef08bcL,
  115341. 0x733e30d99f99c999L },
  115342. { 0xecfe1582a42a38f9L,0xaec2d58e4730b500L,0x2ee2f2a7de976b2cL,
  115343. 0xf0539db5a969c1bbL,0x31954168fcecdb4aL,0xf2f7348ae7a8e902L,
  115344. 0x1d58d7cc3121541fL,0x5d25b75c2202ae52L,0xdea9965af40835a7L,
  115345. 0x3feb6a41529b4e46L,0x5c97fb6fbd27ad9bL,0xd87554c0261f900bL,
  115346. 0xb43031d904d5b19eL,0x33d5e9b8cb219b9cL,0x7a43d4923ee00bcfL,
  115347. 0x56facb39b79a5c0cL } },
  115348. /* 70 */
  115349. { { 0x019165a2a3018bfaL,0x100c6b249ffad984L,0xbbf1b1f655341a9bL,
  115350. 0xe6bd1d9725dc4cc9L,0x52850ed52bfffe60L,0x24e992cc7e5509abL,
  115351. 0xff6c502e4ceb59f1L,0x2f0b35731aa7d148L,0xe90c1ddde7e3aa46L,
  115352. 0xbaec9f45d1142880L,0x475cfd2665be5dd5L,0x83abb14e1febce13L,
  115353. 0x6aba482980942d30L,0x1e1b235d297e82c8L,0xb771cdbe50d8218dL,
  115354. 0x88599266d94d6cbbL },
  115355. { 0x08847290155ccaf2L,0x8679ebc77c5b773eL,0xa88b2dd1b2dd08edL,
  115356. 0x960a180e87d475dbL,0x80fdb6b76694d02aL,0x3e8758c93f3f9e96L,
  115357. 0xbda3f6fa4ad836c4L,0x9400c58132fb387dL,0x25a785422550200fL,
  115358. 0x2a97c351776ecf18L,0x03ebf46e566db59aL,0x4743a28026545edaL,
  115359. 0xed169d84cf74ab44L,0xbaab931d88cb3f69L,0x70ae932cd8257196L,
  115360. 0x797224a6a0c09719L } },
  115361. /* 71 */
  115362. { { 0x632923f8441f3567L,0xc11c31682e24bf1dL,0x4b97726bb7671fffL,
  115363. 0x601746a77a5e1a22L,0x53dddea03addb417L,0x57867a3c7f59b846L,
  115364. 0xb012a98756cd7ff7L,0x1bd5fec9f19ba9a8L,0x750379a2f8306748L,
  115365. 0x7763445dab8c05d1L,0x5d7f441b7903f42aL,0xc011674da903e46dL,
  115366. 0x1b1d3c4dadd126c1L,0xa2752aac61455b40L,0x4da42a68555c356eL,
  115367. 0x3ff09c15d820852cL },
  115368. { 0x4c0a1bcef9cb7784L,0xaec539bc2422f305L,0x5f40f9fd0c414aa7L,
  115369. 0xd3aa316cffd42bc4L,0x42f5a4c32f358e15L,0x00bdcd9ed6e27682L,
  115370. 0x069f789ff8a5eceeL,0x8078018e05e14f5dL,0x2bb3e4938b40c741L,
  115371. 0x5dbc8c1d7917f72dL,0xe0eea664cc57150cL,0xa25ecc5ac3fa8920L,
  115372. 0x3c21b0f51c797164L,0x8f09a2f2634ad16bL,0x8e730fc558391d9aL,
  115373. 0x47ef18054fdfae4cL } },
  115374. /* 72 */
  115375. { { 0x9965f3d13da285e4L,0xba7d4dba3a01e3f4L,0x4738413a61214ad0L,
  115376. 0xd3b7d53522397549L,0xa53dbdcf5a730b92L,0x3130d92b332d165dL,
  115377. 0x44a2854182f97ef4L,0xbf62221c44dce1b6L,0xbba138587e2a0ec9L,
  115378. 0x33f32c8dcbfad998L,0x409e5f3fb5fed44bL,0x5c328c65c66217bbL,
  115379. 0xb00db69ffcdf71a9L,0xa23c2a21b8920788L,0xf8ab28e63ae6464bL,
  115380. 0x1a6b6e9cb8de0861L },
  115381. { 0xaf6ec2b606af77aaL,0x2e60f5cda887f065L,0x87d214009f498c56L,
  115382. 0xdb595b59fcbaaf4bL,0x0fb592a1271ab855L,0xa0ce10e5d4349b0cL,
  115383. 0x9d6187d8887d8c9cL,0x03ee95f9154bd6dbL,0x8fe532135d06c999L,
  115384. 0xf4a7bc30fb6a64d0L,0x3d22af0d66a4cb60L,0x16952cef5d37367cL,
  115385. 0x6f0ea734997d8e55L,0xb447c70f731732d0L,0x00ab3034a9cb3942L,
  115386. 0x79dd018028510fd0L } },
  115387. /* 73 */
  115388. { { 0x04e0033a3ac7424eL,0xdb06b68860fda4d0L,0x236a9766bcb772fbL,
  115389. 0x294a8e2bf297cda4L,0x4b0aab85db013c6eL,0x3d2aec988723a3adL,
  115390. 0x0cae32cd13c84a6bL,0x21888f5e70ec169eL,0x739633bd42a88262L,
  115391. 0x68ac792e7b60d9b8L,0x89f2b72210769fe1L,0x8f3fcfe6d24bed34L,
  115392. 0xd35efb88a3eb24aaL,0xddecfa3f484c706bL,0x7cc119a9929ece0dL,
  115393. 0x87e5ad458d405436L },
  115394. { 0xba99aa9d7d1000a7L,0x8b94affcae823833L,0xc8229628dfb83dc5L,
  115395. 0x2f59fe11845a418dL,0xa8b970f85d417054L,0x8918c26572b71581L,
  115396. 0xe4ef477dc0d1dd17L,0xb50b4cf33afad7c0L,0x21baea7901870a5bL,
  115397. 0xc77087f9bb3a2868L,0x7857531e124a59cdL,0xed74c26f57f43239L,
  115398. 0xd5f5ae250164c94aL,0x6608b7e2f094bf74L,0xf4cdb5bafdceea32L,
  115399. 0x0b712519990cc045L } },
  115400. /* 74 */
  115401. { { 0x5a290ca188d5c64dL,0x0596d749a7492534L,0xa04b0d3d2a00e925L,
  115402. 0x082cd02ccaf7b66bL,0x912b50c2ecdded83L,0x813ce9deff31646eL,
  115403. 0x62ae70c7c75fff95L,0x6f6852e07e2a4615L,0x320fd7d003804fd1L,
  115404. 0xb1a2a4dd8218e8d9L,0x4918a6fbafc645d7L,0xfb080fa1e8d9fdbeL,
  115405. 0x33d4d08a4470b6eeL,0xd2ba20776d974ef7L,0x8ecb95a769dae5d2L,
  115406. 0x7a3f423a7d69596dL },
  115407. { 0x362d2ca69a929387L,0xabdb7581cb1c1fffL,0xd892ec9f7e51b6cbL,
  115408. 0xee8d86323a4e131fL,0x4680e3f15bd87561L,0xe3a597e1d4e7e732L,
  115409. 0x3cc72b7c5581fefeL,0xf3e77f8aca8cae0bL,0xfcc7d7dc5e2fd4afL,
  115410. 0xdd3a455221355b79L,0x546b24f2a2c07177L,0x415b532d0689621fL,
  115411. 0x2be9af513f78163eL,0x27d63b9b33d7ed21L,0xab019ef296802943L,
  115412. 0x2da5fc551623faf4L } },
  115413. /* 75 */
  115414. { { 0x62429cf3c8a5c600L,0xa7a80c223fe33e7cL,0x9ffda7400a57ddcbL,
  115415. 0xd1ae156d925b0c74L,0x097a43f96b100eb0L,0x169e945cef943c81L,
  115416. 0xa1f734e51128cf24L,0x04387c4a419f0133L,0xc007868b01044024L,
  115417. 0xe5416abf90359cf2L,0xf9c76fee478d54e3L,0x66219da642a2173eL,
  115418. 0x61e031569fe30141L,0xa0ff5ce393ef247eL,0x811792ba072b6592L,
  115419. 0x855f021970c854d3L },
  115420. { 0x61fbfb6c847314c4L,0x97906155eb45b96aL,0x7102e1466ba2afacL,
  115421. 0xed51f975ab949781L,0x9d2f5b17c110c4feL,0x7ac8ce70aff57667L,
  115422. 0xe7366a216eb244e7L,0xdd1bbcec551c65c7L,0xb525060ae1a859deL,
  115423. 0x7a0481748ba7d2e7L,0xe1a2c541ab8ea8c4L,0x6e7824c36fdff078L,
  115424. 0x79b49fc714874b04L,0x22ae337f06b1f733L,0x1c3521926f8fe6cfL,
  115425. 0x292236cf525d0797L } },
  115426. /* 76 */
  115427. { { 0xcdb8d80a7d8b29dcL,0xd17a202408ea648aL,0x7db12c5eae92be91L,
  115428. 0x1f347d18fda72fbcL,0x11374b409e760c6fL,0x7361e8f1d8e38d91L,
  115429. 0x7714be9d739ac1f4L,0xc1f9701cb4df5c4eL,0xd9138ed86f72cae1L,
  115430. 0x1c7fe1f76ad180c4L,0xf8c185be9e2dbf9cL,0x835db2697c70c44dL,
  115431. 0xf997cfeab0d15b5fL,0x5101445a61e6545eL,0x16b0688425184e5eL,
  115432. 0x7cfac3597521e7aaL },
  115433. { 0x811821673c0bc53aL,0x84b5ede37e751367L,0x3ca255fda3657a18L,
  115434. 0x096abbf4ba1fdd98L,0x9ce8369fc5da77d8L,0xf27b9ae7aab342c5L,
  115435. 0x06c91bd6972059f1L,0xee0dab30914ecfe9L,0xbb647fbb93f53f12L,
  115436. 0x30c38a7affa57e0eL,0x517d06ef9f2ad607L,0x49728d87bb99dcc9L,
  115437. 0xb0034af1446080a1L,0xcc810c3f12b9c17dL,0x7225f14f772a22a0L,
  115438. 0x6ce3dc7f1ddf82bdL } },
  115439. /* 77 */
  115440. { { 0xc07cd835a4397830L,0x4dd9290cf4733306L,0xdd35d3a829989e8cL,
  115441. 0x79902559563d8152L,0xf278d911e87de61bL,0x9c7340c71024e35cL,
  115442. 0x2d4444614a0d0e59L,0x63e7608ff32626a1L,0x627a37e9c4c9baa9L,
  115443. 0x0c56dc5176fffd25L,0xcb6defc8cef2a1cdL,0xcbcc0d56efc559d9L,
  115444. 0xe45f3fc5041cb692L,0xcd05c239e5161e09L,0x2a731ee95c3b559cL,
  115445. 0x85151122a3d0a16dL },
  115446. { 0x782d033586ff19e2L,0xc2c60daa1da28603L,0xb2e78cfe557c7eedL,
  115447. 0xa8f6f9841bc4e8b0L,0xcc1f9b4b3df35c67L,0x96e136034764462aL,
  115448. 0xbf910b977c7ae0b0L,0x27c7f30551435956L,0xc14db15cf631eae5L,
  115449. 0xa51d61427e69b34cL,0xdec828515fc12ff2L,0xfcceae13fb887162L,
  115450. 0xda332ac1de1488bdL,0xa20374e22ee3e74cL,0x597ea1a1f0ae069cL,
  115451. 0x8b1159f277bdec04L } },
  115452. /* 78 */
  115453. { { 0x4af71a442f961d30L,0xbdf968a87ac7248fL,0xd32df87cb1a906cdL,
  115454. 0x00c10e2604abf925L,0xb8711759b9f04d4cL,0x00d54e60939705daL,
  115455. 0xf7587433c9f80849L,0x2e9abade6a7a2375L,0x5676d47894ac17acL,
  115456. 0x4ca0525bc202d99cL,0x95b8bcadabfae73dL,0x2371ed383405991bL,
  115457. 0x2b69e47a458a99c3L,0x7cac0b182b78c866L,0x6ceaa79be0232c7cL,
  115458. 0x0bd86433588f7459L },
  115459. { 0xdea1a8b47e734189L,0x52c5ac88cfe5fa17L,0x444a4d4e11437664L,
  115460. 0xc2522308af9e9750L,0x78b1d0c3d30c6b3bL,0x2edae5f04c6df477L,
  115461. 0x53131d9a2ee88dd7L,0xc4e380eeacc93e34L,0xd499b1aca8db0e8eL,
  115462. 0x77348c167f5d49d7L,0xc96632571556ccd7L,0x65ce0e8c2611d13dL,
  115463. 0x2c95fe66b5a2fdccL,0x266988328658faa1L,0xda87d1f431c32c98L,
  115464. 0x46650598fcd91907L } },
  115465. /* 79 */
  115466. { { 0x4c6c13cc6b4a5efaL,0xc481989b1d07b265L,0x10b966ce8bdc69c0L,
  115467. 0xf54cfaa22c2531d4L,0xcb5f1808cad0a100L,0xbeb52538ee5da449L,
  115468. 0xa6240085bedd83ccL,0xe792dacfd6255c78L,0x883719062062058fL,
  115469. 0x96615e83ed1658c1L,0x4b549b277d28d542L,0xeaf127db83b75df3L,
  115470. 0x4f60df6d17fbb942L,0xd08631dbf6f7c930L,0x17c38f986018789fL,
  115471. 0x0c43574ab9a9280cL },
  115472. { 0x76eb324c1d20cad0L,0x90decb098c61108aL,0xa6e9d39c6f06d36dL,
  115473. 0x6cd978babc0da197L,0x5948b1c0507ac5ceL,0x2bd47164c5497eb5L,
  115474. 0x2a9c4c0f4d5914e3L,0x772c5046a759f03cL,0xe7d7328a69ac847eL,
  115475. 0xa8d57d0c3048b330L,0xe60034e040f7baceL,0x823d9193a85f1790L,
  115476. 0xa6e9b66c5c859736L,0x22ca2c7a679e1022L,0x00e7a19c09023fa4L,
  115477. 0x324999f12726d5b9L } },
  115478. /* 80 */
  115479. { { 0x667eaed67c834915L,0x9f77aa6abc5eb64dL,0x729ebcb625d62011L,
  115480. 0x0aee24f2699fd9c2L,0xe1eb58742b8d4f6cL,0x7f12710c14c976d6L,
  115481. 0x91390335f6d9ea65L,0x668b704906b50064L,0x65969a0e0876ee4fL,
  115482. 0xf901bf3f2f9d9360L,0xfb1a8651b499e3ceL,0x80b953fbf2dbcaaaL,
  115483. 0x312cc566973b06b6L,0x3534d9c33af36c64L,0xe4463a5210ffd815L,
  115484. 0x57ea2b4bf18c2b91L },
  115485. { 0x00f5e1628aa0f2f2L,0x8c7e75c50e46bcaaL,0x97ab479aa4a2c42dL,
  115486. 0xb4f308ea14baa202L,0xa901bd146943cc2eL,0xbb125feeeed58804L,
  115487. 0x6502c8f99d180f7cL,0xe53539191580c61cL,0x7e27806927101ee3L,
  115488. 0x7a0a40a1faa72717L,0x32edce024c75b153L,0xda23660b538f1c22L,
  115489. 0x4d511e98be307d2eL,0x24276e409baee0b4L,0xa78c39277ff1f307L,
  115490. 0x60480b46ea7935c9L } },
  115491. /* 81 */
  115492. { { 0x31087d663872ece3L,0x5f29be7d955b70f8L,0xb50b4fc79cf95bb8L,
  115493. 0xbae3b58ddbffa621L,0x0e61d280e022ba5dL,0x78ae51174181449cL,
  115494. 0x0b132840cf555485L,0x800ed1b6b8ce0b0eL,0x35dffdd578d5de3dL,
  115495. 0xf7e4237469a56b47L,0xd5e323698d910ae7L,0xb6ff52a06313c7c7L,
  115496. 0x5a2fe20da92de9e5L,0x41b347d3d12110bbL,0xc5905edb40c16f23L,
  115497. 0x0774a0d39a8f88ccL },
  115498. { 0x3ae181abe3b6c106L,0x4ebe163f8de150b7L,0xcf75b82f6f354836L,
  115499. 0xaa0d20633ac7ac16L,0x5c680668291722afL,0x73941e6111545553L,
  115500. 0x17127e38bf5de3f7L,0x32cfdf031afb41daL,0xc6893c9187bc8663L,
  115501. 0x75046744a62c9c99L,0x96866e2d962c1947L,0x489ec8df378cdf4cL,
  115502. 0x3a60709b3407fa32L,0xd37d2159551290d1L,0x9623d303bab92273L,
  115503. 0x081519542432014bL } },
  115504. /* 82 */
  115505. { { 0xf9236d89fb7b2108L,0x3ecc83ccad75f9aaL,0xf7c72b15b4e1da11L,
  115506. 0x552aeaef0315c362L,0x11e140edf272fe3fL,0x99d79bf687843ee8L,
  115507. 0xce6b54fd1d9bb25bL,0xb20b0e215b1bad74L,0x54a0214f5b84c90dL,
  115508. 0x459bbf52fca6cec9L,0xe363c48d9e4df76fL,0x3045f84ed64cf17eL,
  115509. 0x8402a167f62ada48L,0x2c9e1bf36a74ca01L,0xe8cf9d41f691c42dL,
  115510. 0x5abf2178c2c4b874L },
  115511. { 0x4777966bf3b3bccdL,0x0047e0f0be3e0caaL,0xcb8383b38c7d5043L,
  115512. 0xe77e3baf946fd5fcL,0x79baa785e9ec0e87L,0xd83c557cc8a18d25L,
  115513. 0x9b96e5af25befcfeL,0x4f05d15e98c71b61L,0x081f991a77e62da1L,
  115514. 0x1c6ec781cbaa3821L,0x7522f65de54d9bfbL,0xf5d0557344ed1430L,
  115515. 0x3035b31f95cafddaL,0x47e67f436378f5bfL,0x029f7cad5270b9d9L,
  115516. 0x15ad15874d916a48L } },
  115517. /* 83 */
  115518. { { 0x00de2eceaa588ae4L,0x552ebc58a371a232L,0xd00ea93471230444L,
  115519. 0xafbfa67de4b1832dL,0x29216341b689e843L,0x1f96bbbd61f4e2e8L,
  115520. 0x9542068404c29dc5L,0xc7fe382742317fd1L,0xe0a0aec663483162L,
  115521. 0xfc2b94d10700184fL,0x07219973fe1fbd85L,0x648b6ab1fb074352L,
  115522. 0x23bbdaadc46e5392L,0x0db8dd1f00fa56ffL,0x104815eb866725f6L,
  115523. 0x3f9c4cca52e81963L },
  115524. { 0xff36b29732ce637eL,0x81a15f2df5d25cddL,0x1a1d052d8b02ad97L,
  115525. 0x2e5f3bbccfbab3e9L,0x60d2cbd7614eeb75L,0xd4491843cd5a793aL,
  115526. 0x2242cf75cdba2144L,0xa20705e788b99766L,0x64e12cc0ec77e132L,
  115527. 0xb1c14df6b61a9b05L,0x8fd97f0474825b5aL,0x956048213da31223L,
  115528. 0xde4867274d30c70dL,0xbcab8f151c12ee69L,0x5dc638b4668d893dL,
  115529. 0x6479dad6223f574bL } },
  115530. /* 84 */
  115531. { { 0x569044f3b05f2b26L,0xb35a294a80b9f76cL,0x8839fe284290f6aeL,
  115532. 0x761cfb23026a5877L,0x768926b62e5ff9c3L,0xbae6cd200b11c576L,
  115533. 0xdc85775672a03efeL,0x0cae074ae1bad63aL,0x3fe491a1d709d99cL,
  115534. 0x76c5ded66501d9c1L,0x1da6eca1c32aeff7L,0x50849d55c57683e8L,
  115535. 0x9e392e9cdf98d847L,0xfad7982f64d9a564L,0xf7c3bdb7a37b98b2L,
  115536. 0x1fe09f94f0860497L },
  115537. { 0x49a7eaae7648cc63L,0x13ea251167cfa714L,0xfc8b923c653f4559L,
  115538. 0xd957619b81a16e86L,0x0c7e804b3c864674L,0xfc88134a1616599aL,
  115539. 0x366ea9690a652328L,0x415329604bc9029eL,0xef9e1994ae2aad2bL,
  115540. 0x9e2a8c527f10bef5L,0x73dcb586c67bf860L,0xf61a43fa844cc25dL,
  115541. 0xd74e7eea74eb3653L,0xf3356706dd240f02L,0xeec7694cfd83bcb4L,
  115542. 0x4de95786db62526aL } },
  115543. /* 85 */
  115544. { { 0x4867d3153deac2f7L,0xa084778ab61d9a8eL,0xf3b76f960ab7b2d5L,
  115545. 0x00b30056cfdf4f79L,0xd0701e1531ab8f4bL,0x07f948d59c779d01L,
  115546. 0x7c994ebc82675371L,0x1104d4ee48bad4c0L,0x798ce0b5bfc9d058L,
  115547. 0xc7ca898d309fa80bL,0x0244f225acb33eafL,0xd51e8dfc5b2f3175L,
  115548. 0x3e49ba6ba4d7be34L,0x1760f4c7bda02b43L,0x37e36a7e4435275aL,
  115549. 0x1c94418be636980cL },
  115550. { 0x43a2131309dc1414L,0x060765fc43c93537L,0x6ff3207adf5f79ceL,
  115551. 0x6f18b1fa85d4cfcaL,0xf5c4272e63e995abL,0x121a09e4a82b3002L,
  115552. 0x82b65d1b97147f16L,0x4993c20c20a7fe26L,0x99c9cb98e6716726L,
  115553. 0x5a02d673feb440a0L,0x3f3fa9e1251b4bc5L,0x75dbc474a05338eaL,
  115554. 0x3cb4044b7b09f6cbL,0x6767da1880434609L,0x97851422098ceac2L,
  115555. 0x611bfbb2b55235baL } },
  115556. /* 86 */
  115557. { { 0xbdbaa55ef00ad2a1L,0x29efa85e14a290d7L,0x3b4a4768e92b1694L,
  115558. 0x67111bcd11ec8130L,0x0e42570288bd27b2L,0xf28cf2a3d9a03c06L,
  115559. 0xbb7c8d2df318884aL,0xe2ea1462e3aaeb20L,0x3353580443b85d77L,
  115560. 0x81ee4482554ee9bdL,0xeb2eee9ee6aa198fL,0x7a5aa804c26c5944L,
  115561. 0xa0ef2da582ab167cL,0x5a2ab47602fe21a5L,0x169cb3b83370298eL,
  115562. 0x86e6c5440eb3aa8dL },
  115563. { 0xede033210b793d9bL,0xf79fade11ddb5eceL,0xf73fda9268930b64L,
  115564. 0x06aad97dfe4fd1b2L,0x073a5b1d92a4dc88L,0x8af8cbd8bc976d75L,
  115565. 0x60b4abb163ce26c0L,0x9c8300a9dcb1fb06L,0x335a594cda95b3d3L,
  115566. 0x1f97d7d4b37eac87L,0xa3d2eba220eefaabL,0x3258c906f3e828c8L,
  115567. 0xc832616f85ab7781L,0x725971928c28b617L,0xcd7196bc3233b82dL,
  115568. 0x83867eb919fa126dL } },
  115569. /* 87 */
  115570. { { 0x774fe73e22474edbL,0x2a7663941a84e1aeL,0x270329ad9c6dd6e3L,
  115571. 0x00c4a41514f8bf5dL,0x3ce2ea37d2267b90L,0x1275301511d24faeL,
  115572. 0x7c14d854263a1b78L,0x20c8401b1ae0b206L,0xf32a011b081f49fcL,
  115573. 0x1e8123fb959c6df8L,0xa328dc7c800e1d06L,0x5876a37824259a9aL,
  115574. 0x23ada8b5b7ef6c37L,0x023f6b6ea93d4c9fL,0x89f5414dffb6389fL,
  115575. 0x4b26bba2e628b39eL },
  115576. { 0xd30b1cb45d318454L,0x123b749fd7436cb6L,0x3110c726568a7461L,
  115577. 0xc85de1231c84fd1eL,0xa5f8d6e608403d55L,0x395b6e139b1fabf8L,
  115578. 0xfe6d68c33cfedce0L,0x1d90381f94b91110L,0xf0a8ea812dcc6eb7L,
  115579. 0x59e804137e90ca2bL,0xbeb5fc07c8a25c5aL,0x009c253a5d84663cL,
  115580. 0x00b15073910b6a7cL,0x8607da4c4108f8d5L,0x02c3d9c3cb901e65L,
  115581. 0x4d697bc52c9615c6L } },
  115582. /* 88 */
  115583. { { 0xe0db1ef0efa8fb40L,0x29021c5b5ba3989cL,0xa8d6fb15809d19dfL,
  115584. 0x6b787b734c1219e1L,0x6417e16814ef05e2L,0x449342db8f9796e2L,
  115585. 0x2f878a5ebf84421bL,0xe71916d7e94a4536L,0x9818bba3ae119693L,
  115586. 0xec674be95768804eL,0x0a26074cf8424f8aL,0xdbc93b9d466ce6abL,
  115587. 0xb3f15a98c920078bL,0x9d10fd0d3870f1a3L,0xa61241d9e4e785a7L,
  115588. 0x76ca87a1e6c8cd80L },
  115589. { 0x4357fb56e02e48b7L,0xfbd14b13cc09e9c6L,0xdb5f243524069cf0L,
  115590. 0xf878165c2c3b01a9L,0xe549e7c4e6956dadL,0xf2fe9538bbd60b68L,
  115591. 0x952f856b059dc653L,0xd3f60225b377fe9bL,0x6a0c7328bfe908c4L,
  115592. 0xce6aa2d3bc8f5f2dL,0xf721344324425050L,0x17e1266a3d3b3ce5L,
  115593. 0x75b5e43fc1677512L,0x1592706237fb894aL,0x152607532be3e375L,
  115594. 0x27e7f2c66da3b7beL } },
  115595. /* 89 */
  115596. { { 0x638f65ade6a15883L,0xd4a7e68c66afdb33L,0x6207b6abd3f12de5L,
  115597. 0x1c6ff95037b87810L,0xc0d44cb264acf6d3L,0x163ac601f2be78c2L,
  115598. 0x1c63cc5a1636980eL,0x3e92cfe895c9349bL,0x7738e0d841ec7220L,
  115599. 0x6169d7642d5fa961L,0x2aa776c1c3e028e9L,0x93dc5646b16d5409L,
  115600. 0xa0b27fb5706df4d9L,0x9e991170ce9c6b97L,0xea8e42be53c85f40L,
  115601. 0x02e9643783246528L },
  115602. { 0x91540addae78ea1fL,0x51a1b74d7b670e96L,0xf9936441f7006826L,
  115603. 0x8f97d6ea7d7520c7L,0x0faa6a0269ce12e1L,0x2590aca879208342L,
  115604. 0x7a48386375614436L,0x07c6149ef381408fL,0x733bf584d7853406L,
  115605. 0x8761b0109abbb6f7L,0xe4eb249ff528a09aL,0x08781ed82e00ae3cL,
  115606. 0x864c1b252178effaL,0xcc1e62a29d513a7eL,0xedb8b94e1919062fL,
  115607. 0x739f53da4f16527dL } },
  115608. /* 90 */
  115609. { { 0x7a5f4a88924adc5fL,0x95646c16a818f56dL,0x0ec491297795f954L,
  115610. 0x2b48753dd19c5400L,0x16fa236b205912b4L,0x6b3d65f3e87a4946L,
  115611. 0xa7174a01045fd066L,0xb635031312a5e140L,0xa79c4b44a96b8623L,
  115612. 0x7a339d659ab003d5L,0xc72f30c63826f31aL,0xb4e7390c6f7090cdL,
  115613. 0x59ac6c36906ebe24L,0x39a7f06dbba4505aL,0x839991e1c58c413aL,
  115614. 0x020c23ffa20e0e84L },
  115615. { 0x120e4adaafc74661L,0x37bbcf63277fc065L,0x41049cf6b6dce799L,
  115616. 0x5b8d6b537b161ba1L,0x22218431a9610fb2L,0xde9ec9d1dfdde769L,
  115617. 0xd32bfa4d42d80630L,0x3885702a6244df4bL,0xcdedd1ed45592dfbL,
  115618. 0x0e1df45bfb4e01b8L,0x8f4bded286e215b0L,0x809354876a937e6aL,
  115619. 0x415278ba8130f723L,0xc6dc469238a821f8L,0x2207b119fd8b4f8aL,
  115620. 0x76e7bf53f9269cefL } },
  115621. /* 91 */
  115622. { { 0x5f12842827ebd187L,0x8d3320abb65aadbbL,0xb042765a72258695L,
  115623. 0xda3f33f98f0986abL,0x411807a7aebff503L,0x25c776ca825f71a5L,
  115624. 0xc0de7bedff7df24bL,0xda8b0f42165f1fb4L,0x5f3ff737731f3ae3L,
  115625. 0x4cd1d7e7193e0a52L,0x8df84aa3b6b3ba46L,0xba84b897aa1f3782L,
  115626. 0x6e7960cce7733ac7L,0x4d46d6ab50981a21L,0x1ec12c257cbb80edL,
  115627. 0x79e7ad272b96ef09L },
  115628. { 0x3cd970dc8f30caaeL,0x85cabcf10a6ebef4L,0x63c1863ec714616dL,
  115629. 0x1c50db0b519e3a98L,0xf39b896364cb13d6L,0xdf67d81f22547b69L,
  115630. 0x7157abb9d67db0ccL,0xccca25ba889491b7L,0xf689207c7a27e0dcL,
  115631. 0x34ae8fbe0fd43281L,0xa5d91f735720ec09L,0xb2f61909cdfd7bedL,
  115632. 0x1ec102324a039e32L,0xd3c3d65edb0d8fdcL,0x32c916c84fe5005dL,
  115633. 0x7f8c37ac4c0bea94L } },
  115634. /* 92 */
  115635. { { 0x33ec1e5443ac05e5L,0xda4a4da4cd8d3825L,0x86d88c0b88bf9e2bL,
  115636. 0x34d71dd0b53811dcL,0x655040d2a3c3aba4L,0x2bc40949b61611beL,
  115637. 0x1c2d426e279a4fa0L,0x535a5aa23b065ac3L,0xdaa8a32fc52ea890L,
  115638. 0x5a5deca79fddad22L,0x911f05fd2ab3b26fL,0x5dace7dbf37cd81eL,
  115639. 0x0e0e44e790d16b8cL,0x15e68aede4f5894eL,0xafe04999fc92a74fL,
  115640. 0x1d7703aa970e7c2fL },
  115641. { 0xa8a4c81d3f0062a9L,0xe31eb2b8d96a20baL,0x66dd98df864bd101L,
  115642. 0xba05f5924413b614L,0x51a67a0de9a555f8L,0xacc2f0972e4b52d1L,
  115643. 0xab5daaec7184ab23L,0xce08b43e7c7f691bL,0x520e530b76c427f4L,
  115644. 0x7d352069e423ebdcL,0x6b5e39e834df14ceL,0x3dcbf295446305acL,
  115645. 0x682cb2e1fe34cdc1L,0xd4ac45d1111f5afbL,0xc5ef63cd47f296f9L,
  115646. 0x0a2c40ec93c20871L } },
  115647. /* 93 */
  115648. { { 0x09bc384faf5747dbL,0x3bad6086c06ab86bL,0xa406882e9e7c1547L,
  115649. 0x2d5326d155977abfL,0x063a9a05da81deb0L,0x9a86e4a7524b6111L,
  115650. 0x1402f87a4ab2eb90L,0x7d0721d4d5c600baL,0x1a2fd9a9f289fdbfL,
  115651. 0xf5dce66decde6f07L,0x62171277dab9fa73L,0x6d2dc49f6c474babL,
  115652. 0xdc017e1f76eed033L,0xb97175c04da825d3L,0x6c297e3d54b05e43L,
  115653. 0x2efb454656c9c87eL },
  115654. { 0xa4712b008b21c064L,0xd186fe424a70629eL,0x6435b3409b74f0afL,
  115655. 0x6965aa437ec9e629L,0xdda14673c4c60d08L,0x0b656670bf3057aaL,
  115656. 0x7f05e8403ce86f60L,0xc05073a904401a16L,0x16b1e638294e607eL,
  115657. 0x2078325269cf7046L,0x2941141be8ce7d3aL,0xd38ad8d37577053dL,
  115658. 0xdba68fb3caa6630dL,0xecbeaff1e9504350L,0x9f5166d51d2d760bL,
  115659. 0x337532ce462891e4L } },
  115660. /* 94 */
  115661. { { 0x3f1118533a00bb9bL,0x2d2ffbae45f66685L,0x9ae11a85d4aee24dL,
  115662. 0x18ba1e1b0341856eL,0xa9ac81782731349fL,0xc13dfd4a545715b5L,
  115663. 0xa5f7423c5daad2eaL,0x30a483b9535b76a7L,0x92e9ada4ff873e9bL,
  115664. 0x15662d84723a1055L,0xb935497b8edac4e0L,0x61b6441a39d8fa70L,
  115665. 0x1541d75640d1589fL,0x62994237f0a05f0aL,0xfd8b00346bb28908L,
  115666. 0x192a2b5dd4cd32bfL },
  115667. { 0x63576628365ced07L,0x029f32fb05de1d1fL,0x6d17b9bcbf40a7aaL,
  115668. 0x1b1b2a089bb50a47L,0x9389abbb795a6278L,0x52cff60fb34fc19bL,
  115669. 0xf3ab9492387d8739L,0xa8f053e66920ccd6L,0x3ef2dd4b63a9b4f0L,
  115670. 0x9ab0ede151e82129L,0xafba0c0b0838bfa1L,0x2bd5a7ac9ffc11beL,
  115671. 0x058bfd9595cc0878L,0x686d48a3f8c2f0c6L,0xc33abaaf1d9b31baL,
  115672. 0x632e22893bc0c268L } },
  115673. /* 95 */
  115674. { { 0x1c851d2015a1cccaL,0x4efe290c7e522bc3L,0x0b741d5518eab053L,
  115675. 0xae656197bc85e217L,0xae13141e01cf8b29L,0x2e2cb59366948478L,
  115676. 0xeb57bb0fc31bd8aeL,0xdecef5d6c264e788L,0x6fa856cc9cb96d86L,
  115677. 0x2db16813279183daL,0xf03f3820383d796aL,0x58a456ff1d0c6fedL,
  115678. 0x255898058a6abd9bL,0x339f52c583f96f19L,0xcf6ded8fda7e9ea7L,
  115679. 0x68c3d9c15d1ccd45L },
  115680. { 0x67e26265e6b392b7L,0xcec1d9bf775d9509L,0xe16abcd4d76514f7L,
  115681. 0xd86f59b20de72e1cL,0xa66e43cd1adfb033L,0xdb34434005e457ccL,
  115682. 0xb67a79165681daa2L,0xc32e7babf0114731L,0x066fe16ed3b1e961L,
  115683. 0x924e298ef63d26e6L,0x9bea0dd8541add6dL,0xef9500df9982f971L,
  115684. 0x5c876e63c5f076acL,0x55e12ae5b23d396bL,0x09efbb362ec6747aL,
  115685. 0x8f2055ee233286a5L } },
  115686. /* 96 */
  115687. { { 0x4a4ab9e3b82c1af0L,0xfc65e9e7f2cae264L,0x4feaac0a60187d46L,
  115688. 0x27d3f335e393b363L,0x9c9f7c00819bacceL,0x3f7418b5b8aa6611L,
  115689. 0xffa94557372aae95L,0x937d78048db38589L,0xd10c86df6f1fbc1cL,
  115690. 0x48aebd89a2f0a0ceL,0xae5d5fa2367439ebL,0x103a6a0b3f17d2d8L,
  115691. 0xf233f68a411d9894L,0x7fece8b3218b67a2L,0x0422540f2319bf06L,
  115692. 0x1292c8c9340d322eL },
  115693. { 0xf5eb55870386463dL,0xd4bbc2b20371d97fL,0x1b3645710b819c5aL,
  115694. 0x0cbb42d6cf04ad41L,0x5d819c7666939ec1L,0x8745ac13a01847e7L,
  115695. 0x4f704b021c7232e4L,0x2c9e58a0acb05780L,0x9523b8b3b561e295L,
  115696. 0x3384df0079f9ba35L,0x78231fc21eaa9628L,0xa2eac54f8aea2b90L,
  115697. 0x8075ed7730d1c263L,0xacb44ed5fb339000L,0x92546ac2f011293aL,
  115698. 0x7c78762beb821764L } },
  115699. /* 97 */
  115700. { { 0xb8f7d6fb067902b6L,0xb2823a43d1735980L,0x062cfb1259741dddL,
  115701. 0x6e391b074033f95cL,0x3831d0a368589b8cL,0xe3474d49522290f2L,
  115702. 0x4dab14d6222e1f3aL,0x8f00fcde53f08d39L,0x559917ae707f28f5L,
  115703. 0x166aa0ba068e607cL,0x602713e7d7e1f824L,0x7c2555404d6a328fL,
  115704. 0x0d2e32649890cd2aL,0xf2207944eca0b20aL,0x5c98dc0752f4e09cL,
  115705. 0x69403504d84de81dL },
  115706. { 0xf8b7b366e5407206L,0x1ecf54cf0d88fa8cL,0x6fefe548f7272e6fL,
  115707. 0xd653137281ab4468L,0x52cb5f0e4e474408L,0x9e426b3a6490737fL,
  115708. 0x2576c19b4980d071L,0x91f346280f272cafL,0x78e60a4f468f31c9L,
  115709. 0x8776a32990844d89L,0x8a55700cb951582bL,0xab1af36514b1adbfL,
  115710. 0x22ebff92fbd343efL,0x32f9fb01b7d81f34L,0xad850e06ba6b30e1L,
  115711. 0x6da9e027bc5f9546L } },
  115712. /* 98 */
  115713. { { 0x21eee4c25c9490ceL,0xa96ec4a30df68381L,0xe6c607e0a4a9368eL,
  115714. 0xd8b0492a4bc262f3L,0x0846a210460c34ffL,0xf7ff7a6428df33cdL,
  115715. 0x10c5504421827612L,0x9d25fce9149bcd01L,0x725611cdcfc613dcL,
  115716. 0x159f7e8897f51ce5L,0x3fa3bf314e8c08b5L,0xea15611575e7538fL,
  115717. 0xd1e0a95191c84020L,0x0d2268bacf02ad0aL,0xa04c6ac4058b8e5fL,
  115718. 0x773b40b9b3515912L },
  115719. { 0x00ff2cdc3631cfd2L,0x14c4c2d3807737bcL,0xd600616a338a5270L,
  115720. 0xd0e3306db32cabdeL,0x336738eaa70b17caL,0xf2f4aa8d79f353eeL,
  115721. 0x712f6ad9576f3ad3L,0xe427985289b2bce0L,0x05d8f94dda92ca30L,
  115722. 0x9891d475d8492dd9L,0x3e06a5ca4d15e4bdL,0x4725d4eb254eabbdL,
  115723. 0x31394acec0ed513cL,0x7e0f9859bbfaae6cL,0xdc125546833fd137L,
  115724. 0x12b46385c56c4f75L } },
  115725. /* 99 */
  115726. { { 0x810dbebd932951deL,0x96959d425aa69c94L,0x5fc49c04ecb2f08dL,
  115727. 0xac74f0cc2250b82cL,0x96a439a53aec4e1dL,0xc33cab9a90499acdL,
  115728. 0x2fccde6654d9b3afL,0xf4af285c3863ae8bL,0x2373373e46febf88L,
  115729. 0x751d672c3c9ab7edL,0xc1c51130fe12020cL,0xad82402f52f3e56eL,
  115730. 0x3489ab7aa4a64a81L,0x0a1fb661d9f163f2L,0x17c69be10e553317L,
  115731. 0x61c1935e7d88d417L },
  115732. { 0x2e722d9b3492ae43L,0x1ef89d950538f05aL,0xae77e588200aab63L,
  115733. 0x2872c120eba4b117L,0x5c2432c83a461cb8L,0x315b3434cb938f26L,
  115734. 0x05bf2ac58c4c7dc0L,0xd2e501dd596b378dL,0xa8506c9fcb890c30L,
  115735. 0x3d0af4617c361f0cL,0x21f7b7185a35cbaeL,0xbd1035f1f3fc0138L,
  115736. 0x74628af58b248edfL,0x8d6421d048c9cae0L,0x75e3da392ca18773L,
  115737. 0x27ad0df271d3db94L } },
  115738. /* 100 */
  115739. { { 0x9e3bda79305b5aedL,0x2c67d4a45998d6a7L,0xc855e1d30f7eb700L,
  115740. 0xc18a7e9e147d1c44L,0x3ea99618c89540edL,0xa53be20a7e6bfd20L,
  115741. 0xc9487e64ecc14437L,0x7297920734ef85c6L,0xfa0d4e71d5e1ebd5L,
  115742. 0xfda2b1e64d48d6b6L,0x782a1e0566e200d4L,0x2a3c70da5a5366a1L,
  115743. 0xfe3fbd2b1a473738L,0xd7ef8c067fe020e8L,0xec686fdeeacfb665L,
  115744. 0x5d9b5e276dd1542fL },
  115745. { 0x3637c5a5cb3e472eL,0x2153d92730a1405eL,0x009992e5b4498558L,
  115746. 0x18f00ccdf39a0851L,0x26237c11b5c6c560L,0x418ed4081343540eL,
  115747. 0xfef7cbf07e7f3184L,0xecd92366bf48576bL,0x1b75be1abc94c91aL,
  115748. 0x8e1778de4a162276L,0xc52e57d3c5c6bcb8L,0x5cc382c75ab71858L,
  115749. 0xe12c2c283f6e39f9L,0x4c7e0ef2d62735fcL,0xe071deb1835a5996L,
  115750. 0x24f891cdcbb8c766L } },
  115751. /* 101 */
  115752. { { 0x24ef60bf6778c1e2L,0xff49c03d00d5be5cL,0xec11986e2f01a09fL,
  115753. 0x59a728a4ae096e58L,0xaabbcedb7077984cL,0xfb473bd2870ca5a5L,
  115754. 0x8c928c614de30e3dL,0x3fae7f9a4f67abcaL,0x83c2b2ebec21a9cfL,
  115755. 0xafa70d629cd9b5deL,0xadeaea59c60b18dfL,0xd5fef7be4049b54cL,
  115756. 0xfceebc766dd310e3L,0x7748efe38f6321ccL,0xfe9c32b118ee8af5L,
  115757. 0x863ac3cfd42df612L },
  115758. { 0x0a36fca7b85a2fe2L,0xf3e70d08ee429dc6L,0x8c9ba209141c3944L,
  115759. 0x306a810667272a0aL,0xe69a1555f968bd06L,0xb86f7e47153c603dL,
  115760. 0x9706614aef56e4faL,0xc0dc36b898780b4cL,0x43657fe23a1d3263L,
  115761. 0x01f97a86435522c9L,0xd91897f6edfef679L,0xebbe31d46daa17a0L,
  115762. 0x6f17910085accfbdL,0xe0da6e328f9fc1deL,0x1c9d53dbe1e7142cL,
  115763. 0x3e3f1b1e8b86725aL } },
  115764. /* 102 */
  115765. { { 0xb7ea15c07b7fbf05L,0x992f11b61f1a3882L,0xc9ddd95ad1dcd1bcL,
  115766. 0x31f5b7faad0f7e8bL,0x2936e5ebfca7ab79L,0x30f417dc19a55be6L,
  115767. 0x1f6f4e4343cde554L,0x971f5e6582f044bfL,0x73c3b8e44288c408L,
  115768. 0x61aac59fb807f575L,0xa64ee2dd818b58f0L,0x6f7a0a6097a3b0d3L,
  115769. 0x8b85ecc80394b058L,0x9a059474bfb3517dL,0x89ad5977a79c3f06L,
  115770. 0x81208ed8700a8025L },
  115771. { 0x1093509914c4ce37L,0xf34bb843a1aa48a6L,0x86007024580d58e8L,
  115772. 0x6db42c49b375b8baL,0xac365524ed3bde83L,0x5521e1b4649233b6L,
  115773. 0xbc7cc5d564dd946fL,0x9c14b035bfb5b6aeL,0x7f22ba180146c1a3L,
  115774. 0x0b62fbbc872214f5L,0x3acfd7f7b4921764L,0x5ff10da1cb4d6df1L,
  115775. 0x660e262062600a91L,0x7ac7da9d81d9167fL,0x6e8e260cb6e7a199L,
  115776. 0x44383fb880deb3c2L } },
  115777. /* 103 */
  115778. { { 0xe107f01de44f9af6L,0x36381a4d8cb1fa1cL,0xe65be3ecfb7dd493L,
  115779. 0xd0b8435a26a8839fL,0xee60f9153ec789d8L,0xe25fea502bcc5e1fL,
  115780. 0x0477c0c57e44a81cL,0x349e9f83230ba5b8L,0xdd42f32fde180dd9L,
  115781. 0x8b039eaf64a3d11cL,0x80ef884ebeb7083aL,0x288e60c4f12742cbL,
  115782. 0x44156cc5720a0262L,0xcd547de67253b77fL,0x9829a6eca6013a59L,
  115783. 0x8aee708f0d548445L },
  115784. { 0x18f22d9c32c54409L,0xa9ebfa4675ebaac4L,0x90e2e92886284981L,
  115785. 0xd0201f6f6b3a8e0cL,0xc973016cbd77641eL,0xf926f2f070170575L,
  115786. 0x4984048ffec0ce01L,0xbf696211f319d304L,0x74b5c844c91a88c4L,
  115787. 0x4c40fbcee0030a82L,0xbed67525e4f6d521L,0xaf7e47cc29d67d1eL,
  115788. 0xfa307db8c21d3536L,0x56b6c46abbb29405L,0xf059a7e3033e805fL,
  115789. 0x970f61fe6096a5a0L } },
  115790. /* 104 */
  115791. { { 0x1bc53d231bec8e4aL,0x8809ac1435a6034cL,0x4ee081da509e464dL,
  115792. 0x496ae1fd8a488235L,0xa1ae9863325864b6L,0xbaca13e974cd069fL,
  115793. 0x3738cc58b1d8a6b4L,0x5fa71f58e76b9da4L,0xc919be88c7eb16fbL,
  115794. 0xf5c8f13fad4e429dL,0x4583b6712499f9edL,0xbce20115a10d8bd7L,
  115795. 0xf66d76055790bb7eL,0x9316aede482b78ddL,0xe0d8fb2d75f855faL,
  115796. 0x404b5b945a7dcca7L },
  115797. { 0xf9ee682a517a15c7L,0xaae4cfbcef880202L,0xcee2c1395106a354L,
  115798. 0x5de60192170febe7L,0x589e39fd73d0c54bL,0x195c71358c9092b7L,
  115799. 0xcb7ed53f0a7bfe5fL,0x2bd9242af61cc979L,0x8d2ef16c5395f7d9L,
  115800. 0x0d4ac1ca70b32f09L,0xa587526d52d185c1L,0x2932b04a942d6195L,
  115801. 0xfe25a979a500b0acL,0x5fa1f4ae562fd230L,0x60f55af220da253cL,
  115802. 0x7faa11b583146002L } },
  115803. /* 105 */
  115804. { { 0xb0ba4f0c6e402149L,0x3584cc1d963cc119L,0x7740dc1aa6527476L,
  115805. 0x3f77ff75c95715f2L,0xb2f234ad3f89fb0eL,0x55159032ef9be3ffL,
  115806. 0xfc9fb21d04237e82L,0xeb2eff38a153ed93L,0x89d53ae010041d13L,
  115807. 0xcf2e545b7f1bd828L,0xdd4a27ce43953ea5L,0x00d2e5d4d85e75c8L,
  115808. 0xeb93ed62241be1c3L,0x1e53f25f0242032dL,0xb9957636c3a4e701L,
  115809. 0x14b63a52ed98febfL },
  115810. { 0x7610b55371c43336L,0x19dfd4a623a4824bL,0x7b97a2e00286051bL,
  115811. 0x86abbb9c8f5f1edbL,0x67a57d779b67daadL,0x8ace506dcd5ffafbL,
  115812. 0x85da9f9589ac3c63L,0x081cbaa875a3d150L,0x03353d8fe9346ed2L,
  115813. 0xb2ab61f1a1f9a02dL,0xb0cb09373a659c71L,0xb7e0e30b4f5df8a1L,
  115814. 0x77c4c741eb7d5a1dL,0x8f046c9c728e5cf0L,0x32dd0bc7f7c171acL,
  115815. 0x02485873836d2655L } },
  115816. /* 106 */
  115817. { { 0xcd40dd2375a4cd8dL,0x132ca43397bcba78L,0x30c5cd84258d61f5L,
  115818. 0x0a7ec059da1e8e68L,0x07a8f1711d65d40aL,0x869e655ef4350d76L,
  115819. 0xb98ce6f05983ae42L,0x7b61391d9d8bebd0L,0x3a529e25b1ba5d49L,
  115820. 0x46f732e91f6b2cf6L,0xbd66ec6a3fa3b629L,0x397950ecc3ef0ed2L,
  115821. 0xee9008cb5f08b476L,0xfd6be425965a0e2eL,0x78ed513c1177bc87L,
  115822. 0x6798cedffe512daeL },
  115823. { 0x49e3f8fd1b97c5c6L,0x39fbab3e78c3b33fL,0x4427441240f595baL,
  115824. 0x174225b95d7d4376L,0x880b3fcc79c44777L,0xdc3aca833296b245L,
  115825. 0x55913df71734e184L,0xa4db23d39c934472L,0xcebb3733d1420a11L,
  115826. 0xb9d20cf9f3608bdcL,0xa618acf630cfe13fL,0x75f06b315f30874cL,
  115827. 0x506efe7f9f0005a5L,0x8aaea78c01bfc9dbL,0xf9179255f78e7c41L,
  115828. 0x3ea7aed252e96395L } },
  115829. /* 107 */
  115830. { { 0x98617e045b06ae25L,0xbcac148dcb5750efL,0x91ea2f0e604c2ba2L,
  115831. 0x00c19f6b76b78975L,0x79b9b6d0651da181L,0xf3225bebc945705bL,
  115832. 0x30b435f35c005bf1L,0x440b4482bc24d86dL,0x2b8f0996d6373777L,
  115833. 0x65fd6c561c44b4dcL,0xe9405ee630906999L,0x19ff092408aa1ec1L,
  115834. 0xeef3246a3d2f2895L,0x016c3765bc746797L,0x62d2569fd0705f7eL,
  115835. 0x6a8ad39c05250044L },
  115836. { 0xe45f020d46be7282L,0x9405afed21380f12L,0x4cdca5bdd5da6ad0L,
  115837. 0xc2d6f1847f8be61eL,0x20132953596b8178L,0x8d3b1e7b7a8df954L,
  115838. 0x757c61bb39572b4dL,0xd749b57b80cc3b56L,0x9590ff9337b3ffecL,
  115839. 0x39bbb653145dc94dL,0x70c1c6062335e573L,0x9c2e72d7f763febaL,
  115840. 0x4768e424cc61b732L,0x777d2fa6aa73f2caL,0xdee4dbaac5cb58cdL,
  115841. 0x1a1811799cfae1aaL } },
  115842. /* 108 */
  115843. { { 0x6f6ff62f77575ed0L,0x18f14fa97d1da99bL,0x2e72aefb69efd7f6L,
  115844. 0xc45ab4cbddc28633L,0xb0e20d48586c5834L,0xd397011a39775dd8L,
  115845. 0x0130c808f4134498L,0x2d408ebaf5115ed8L,0xc506a05c0260ded9L,
  115846. 0x9e5b736219cab911L,0x4cf508c6e8693a86L,0x4e71245fcc773617L,
  115847. 0x2f71aa1f95d89ca3L,0x4bba7c6a607bbc98L,0xf3a515e7212b7fd2L,
  115848. 0x7d2ddc759230f5a8L },
  115849. { 0x3d05816d4ed2cae8L,0x4cf6bc7db9c00377L,0xc23e98e6646b08d4L,
  115850. 0xf9ee6c614b9c0180L,0xe11c9a13ef9179c1L,0xa5b6147e8ed9688aL,
  115851. 0x7afeb648d06670a7L,0xd670333c17685275L,0xa89dd96975f9e8f2L,
  115852. 0xbb57228d37a68adeL,0x21a05d5e454cb186L,0x4810158f063dd550L,
  115853. 0x92dd4f084cb6caf3L,0x70c4d8527854abe7L,0x845969dc6e729d76L,
  115854. 0x5a52f87ab1bf40baL } },
  115855. /* 109 */
  115856. { { 0xed019e9109ecacbdL,0x6544023d7b89bdeaL,0x7cc51f0b5707371eL,
  115857. 0x14832b0416c8e217L,0xb1aa668281259ab5L,0x6e100f9223e361d4L,
  115858. 0xe593eee9e3a95c2aL,0x699b6bbd16c10e26L,0xad4878739473a13fL,
  115859. 0xf1c14dc5b274987cL,0x57dc00752559e2e9L,0x8449849dc3d47ad2L,
  115860. 0x83df278add527793L,0x770e3ec8eefd5b99L,0x2ae5844676bd02a0L,
  115861. 0x17f027643e705ffeL },
  115862. { 0xdda4010d29abea1fL,0x636b96952407ac4cL,0x96a601290433218bL,
  115863. 0xf221fc3b163d534aL,0x05ba15beccc20565L,0x1238e54d96285577L,
  115864. 0x1b144257878804d3L,0x96fbf304a89a9fe4L,0xc8a7f06c4be642b1L,
  115865. 0xdd1a20e86e2b085eL,0x8f7f27c2ff4a591dL,0xc17b0753a4a343b8L,
  115866. 0x684b1e88bb173d4dL,0x3accea443dc07bbeL,0xdb15c88d4c441d77L,
  115867. 0x0ef0309a53e5957eL } },
  115868. /* 110 */
  115869. { { 0x4fc25721fa8e5b60L,0x646938ad691c0bb2L,0xe46d4b760b0a2248L,
  115870. 0x863f9ac27de16877L,0x503bb6ef2721c630L,0xf8c199df0b67fb02L,
  115871. 0x78c1ed72e07abd39L,0xcf9deb7bb32f0ddaL,0xaff726f06c3c89f3L,
  115872. 0xb7008b2d1972225aL,0x8f5a61174f145f5cL,0x4e0e6f8c457c4f37L,
  115873. 0x8bbdaa441c453c64L,0x57be326da6e92c80L,0xa9bc3fd95d773561L,
  115874. 0x3d3b6cc6bb37b72aL },
  115875. { 0x6e6f12cc9722c880L,0x3a1b6ae7286b6889L,0xba1cc09bad2fafecL,
  115876. 0xad64ad7a43bb8befL,0xa5af6a0097c3f4c3L,0x2afcb0d9c353a91bL,
  115877. 0xca13fcab69ccbf6bL,0x699a1391f2abc190L,0x2dbd554223a247e5L,
  115878. 0xe206180f95488d9aL,0xba9e7bff1244cc3cL,0x29297abe87d3a365L,
  115879. 0x4054fa38fa4ca5e2L,0xb390623d67be1b6cL,0x1fa67c5778f41a44L,
  115880. 0x2e946e43c7b544e7L } },
  115881. /* 111 */
  115882. { { 0x2980fddfc60934aeL,0x2c3e7eff164206d1L,0xf75e7f96416ed75aL,
  115883. 0xfac60cf35cd0b2dcL,0xddc4bece1faad87bL,0x753fa87c9849e5ddL,
  115884. 0xc5d516a32c1bf1aeL,0x565dbea814732b4bL,0x007ebe3ace48696bL,
  115885. 0x40ca74d6cdb97694L,0x3f5cd27065e4e7beL,0x74847c013aac4ebcL,
  115886. 0x6762e03443d6c3a1L,0x690d8c95467a076aL,0x768d78d61eda677dL,
  115887. 0x0997ce550181d8c2L },
  115888. { 0x9297746c965a0b81L,0x48b58be6e5e12dfaL,0x5573b3c4715f437fL,
  115889. 0xe425e907b565c459L,0x4f43f5121582797cL,0xe5dafa6f8ea5474fL,
  115890. 0x2aeb8fbe13de04acL,0xed7f95f0e8a07c83L,0x3e012a6e662c09feL,
  115891. 0xbf96e9b8c742cf17L,0x8ea5759ae28a1c45L,0x475941b45cf4e2f3L,
  115892. 0x7dd3c02df901a019L,0xe7a4deea70916b2eL,0x50b272b52fa9b988L,
  115893. 0x96f9f09fd0917fe6L } },
  115894. /* 112 */
  115895. { { 0x78e8aac42c310a96L,0x32a98303f7a2a734L,0xc46ca83d23962207L,
  115896. 0xad131e6ed9541280L,0x5791fc5e2cabe911L,0x50cb77eb841b6c68L,
  115897. 0xaff93dea3d3c8878L,0x06541f1df1007bceL,0x4ee729c255cdf1fdL,
  115898. 0xe0f71317323e3972L,0xa2de7a41ad4d08c1L,0xa9912abfa35e22bfL,
  115899. 0xa050122b89b03325L,0x8b9e51f406514d4eL,0x423c7aad79d3e0abL,
  115900. 0x71998e2640b8fea5L },
  115901. { 0x40140fcdceb6ed78L,0x653cf37718534516L,0x0450b65ae8d60dccL,
  115902. 0xce6c1a769dac55f8L,0x8a96a92dae05686cL,0x2fe4476212712562L,
  115903. 0x747bcb50a4f39425L,0xf0ec6ff2fc531fc2L,0xc97c344710fe9ff0L,
  115904. 0xfb4887839c792cffL,0x552c5248026fb019L,0x4001a29cd804c290L,
  115905. 0x742b5ad835c8ca73L,0xc3781f176ee5dfa0L,0xca6b85f03dfa4ab1L,
  115906. 0x8389941a0b0d32acL } },
  115907. /* 113 */
  115908. { { 0xc0f062a2de067dffL,0xd4f32690bcb80162L,0x98cd990d0707a2bdL,
  115909. 0x5afc63b8fae4a391L,0x684f1b7bb32ad814L,0xb0a2dce2f199dfb1L,
  115910. 0x2260e17f48f25848L,0x7393db00c2d5e862L,0x9e88f854338cf171L,
  115911. 0x0067942902acf522L,0x19157cb86835af3dL,0x2faa6f92b8a2614cL,
  115912. 0x04ff95f5134ec46cL,0xcf00626efb7a8135L,0x454b3d05b37a4704L,
  115913. 0x1fbfda312694ec25L },
  115914. { 0xfdebb657c8f69c77L,0x92a8278ba3df88faL,0x463b5571c1fb78b4L,
  115915. 0xd2066a1a11c71a33L,0x10c88143089958b0L,0xb975c7e0cf9d67a6L,
  115916. 0xdaa5d20873037b8fL,0x5ee5005d40bf5861L,0x300e6ce77dba69a9L,
  115917. 0x893c3cb3c962cc74L,0x0ac986294cf84055L,0x0a7ef63a225c9d70L,
  115918. 0xfe184869b91e47e8L,0x1b9d7deb8c2f84beL,0x67788915c0e278bfL,
  115919. 0x4f9488cac426f19eL } },
  115920. /* 114 */
  115921. { { 0x610dfcd4dd51b8ceL,0x0857927836230e80L,0xedc7ff1c36599562L,
  115922. 0x905ead4be2cae877L,0xa1c325d9e7967608L,0x3e39edddbd38926cL,
  115923. 0xda92c8685f6f0a4eL,0xe16f800af47a0fa4L,0x50b4db5be5f60aabL,
  115924. 0x3665412f983853d3L,0x64b622509b79789cL,0xea5600584e0e72b2L,
  115925. 0xabbd4901e555c2bbL,0x378419a717292e11L,0x6e0b5aaae174218fL,
  115926. 0x688e06848f796b92L },
  115927. { 0xcdfef641313b8f64L,0xaef11b7b942c7462L,0x067cfb775c0d8abdL,
  115928. 0x608ea5f0af4041a9L,0x23d5bd826935210fL,0x5ab904fc27917a08L,
  115929. 0x85dbb1fe45d22d21L,0xc3d5e5094d36159fL,0xaebb528e1d39b8f2L,
  115930. 0xdd5ca828f44acef0L,0x24209adf20c57a54L,0x5742b43378f95f44L,
  115931. 0xd11fa7d9a9337d37L,0xd66a0c09c64cfdb7L,0x56e55b8f9bb817ecL,
  115932. 0x1723c7e3e4c41265L } },
  115933. /* 115 */
  115934. { { 0x9a6486d8dc8b43f3L,0xfc3e0e6126409e68L,0x1889c437d9b46003L,
  115935. 0x3a8503356284ec7bL,0x5a3665c46a9dbaeaL,0x7bf6941de978933cL,
  115936. 0x1ed5a51069341490L,0x664a7b7a8cb8002dL,0x603f76e460ed0a59L,
  115937. 0xc3e06ba31f4ebf27L,0x296ced41f2c38a7fL,0x2ac18f79cf1db08aL,
  115938. 0xc919e882cde7a3b6L,0x15e77d29dbf68b06L,0x21978baa4e947cb5L,
  115939. 0x84bf542b7630993aL },
  115940. { 0xc1decda9e364f21eL,0x0d6cf345012e557eL,0xba246848588f90e1L,
  115941. 0x9f6dda4be3b104b8L,0x6bf7a346e3aef57aL,0x210299fee8327ea9L,
  115942. 0xaa99f487da95e6c7L,0x24ff813ed2cdf645L,0xd1dbb2d28bd414b8L,
  115943. 0x065101afcafa1a61L,0x7d9f4b9a9cdebda4L,0xaf41b395e41039e4L,
  115944. 0xe3e9e6bac50adf42L,0x4f2133ae341e9e49L,0x4968c0f3cb157f23L,
  115945. 0x383f827bda068153L } },
  115946. /* 116 */
  115947. { { 0x2ec46a216583ff4cL,0x4e645a294ad709e7L,0xdc66e9cfc04ca12aL,
  115948. 0x82f128f49160a7e5L,0xbfb227b1569c762eL,0xf80c7963c2edb8e7L,
  115949. 0xa7dafe0649a0f688L,0xb7e417542d14b8ccL,0x3a0c5c5386de40beL,
  115950. 0xf0d052861db79331L,0xb902ce69fbfe071bL,0x61e46956210e9903L,
  115951. 0xfaef874ef703ebb8L,0xf668947edd5f78b6L,0x6fe865475af5ea3aL,
  115952. 0x3b121f1543f94625L },
  115953. { 0x5b26e847659275e9L,0x47581cfd6d0fce50L,0x55f5cbfd8aa3f1efL,
  115954. 0x1e7be315e484e60eL,0xd8f1a20ffe9698e4L,0x25d46da97ab04784L,
  115955. 0xa526db75834cdb3eL,0x1fd408d98d08a009L,0xfc004b205b5ca816L,
  115956. 0x5b3e3bb365e4bbe8L,0xf50cc125759bb6efL,0xf05fa817c2fac737L,
  115957. 0x9ee102d2d273951aL,0x2a8e540bfecb3367L,0x673446fb2a6a515fL,
  115958. 0x5505e1d137290c83L } },
  115959. /* 117 */
  115960. { { 0x0c3014a1d15e68a6L,0x6f9f0b2664dd35e5L,0x18c3742d03ad67f9L,
  115961. 0x74818c0ed2c14484L,0xc51811690d41a3cbL,0x65c8c83fc49f3e9eL,
  115962. 0x9b260c612c279386L,0xf6086faeced04e9cL,0xa7b2ccebfd7c4758L,
  115963. 0x4b3c313390297fd8L,0xca8264e809701ac8L,0x9f976a87508b3762L,
  115964. 0x5d582714983a8dfeL,0x350d2669d9d598e9L,0x85cb89cb0f6fd348L,
  115965. 0x617d80d4a574317cL },
  115966. { 0x4cef267e70022b67L,0x80536bb53768b94aL,0x3153a566d2784462L,
  115967. 0x49054d4438243919L,0x8d11e1725df78c4aL,0x9b252a71d5a1e35aL,
  115968. 0x07866c808171e31dL,0x0a8501db1b38a00eL,0x2ed932b8ce770236L,
  115969. 0xa2d776098edaf7d0L,0x3aee5dabb93006e9L,0xfaffc8c4bbfeb036L,
  115970. 0x077b96784e21b38bL,0x491fc59fdca8e069L,0x3f624f550e938471L,
  115971. 0x5156f5087cd1780bL } },
  115972. /* 118 */
  115973. { { 0x58234e220206e8d0L,0xf5f6f5d47f15af32L,0xafab7289d638950fL,
  115974. 0x66ec4d097d4495f4L,0xad890c5d68da80a9L,0xe4aa092064f8a36bL,
  115975. 0x799e257e0f4d5c5fL,0x44c677ae24495e31L,0x720387b3a5b8e352L,
  115976. 0x703790f475a287b9L,0x54895cc5c3c1f2f7L,0xb8680f9b41a7fa41L,
  115977. 0xfcd47458b00b008bL,0x149cc838ba6473cbL,0x78ed5f7aac9be19aL,
  115978. 0x5254599cb33765baL },
  115979. { 0x08739679a21b54c4L,0x029ece2ab6497d9dL,0xf14f1a92c8488640L,
  115980. 0xae48dcffe9fa79d9L,0x14b911c246c208dbL,0x5ab0fbf2dae3f69eL,
  115981. 0x180ac87ed1edb838L,0x146fd718188586bbL,0x210eb6545467cbd0L,
  115982. 0xaa2394081667cfeeL,0xdb125c1ab73d1a60L,0xde685300881c1cbeL,
  115983. 0xfe34c71337c30232L,0xc6c6070e6f3c8d18L,0x07e365bab4af4e83L,
  115984. 0x22f0a7eddcf82b45L } },
  115985. /* 119 */
  115986. { { 0xe262791fea7f1b7fL,0x9c3d8c5ddcff09d4L,0x86c2a9c339c7dc58L,
  115987. 0x4dad40174276e8c0L,0x0a918f59e9fe1d56L,0xb8d796702aa810c9L,
  115988. 0xeb7a88364aa5cdc4L,0xfc4c23bbe7afa72eL,0x4dbb5c9e4ac86908L,
  115989. 0x37e390136a0c7e6fL,0x855d700149c218d2L,0xe475bc6794b324a2L,
  115990. 0xc98a8dc66287a071L,0x395a299b5fb4323cL,0xe186c3ee0c0389e9L,
  115991. 0x79f81e6f16734c46L },
  115992. { 0x83f2c1f3364f3c4eL,0x536b2ac51367e14bL,0x44a6dcfc5933e43dL,
  115993. 0x34e5947510d961feL,0x08234ece7e3f2aaeL,0xcb92e00abdea7f25L,
  115994. 0x1efba4f0a791a124L,0xc2086fd21192d53aL,0xfec0d0fcb51c8af6L,
  115995. 0x48d1b2cadc0f1b5fL,0xb07a388f812dbe19L,0x40873a6adedbdd45L,
  115996. 0xbc2a1268d702589aL,0xbbf6e3a817e27b64L,0x73ee56636d386e85L,
  115997. 0x442ecd379de7c000L } },
  115998. /* 120 */
  115999. { { 0xb4cd1ae68a2f90a6L,0xf277d41d6f5ad0ccL,0x6a3828c4401d4b8eL,
  116000. 0xe817a134d8376631L,0x142b758df5e1124bL,0x25fbc69dfd6b95e4L,
  116001. 0xa30c9f5fd74a9e3eL,0x5ac0f163d89663ceL,0x32a9eef70ce6386dL,
  116002. 0x7a690ea5d8ed5544L,0x5de23ff09889427aL,0x75ad36a5eaaced58L,
  116003. 0x3514a6c1d3e18465L,0x3d9162c37f093910L,0x5c10add9e33d56e8L,
  116004. 0x85176b7306aa691eL },
  116005. { 0xa32110fa28a21e38L,0x97b6379d5773d538L,0xd3697bbf2d020dc4L,
  116006. 0x59177593961833cdL,0x6d7045fae5fa8516L,0x3390f29a786ab5d2L,
  116007. 0xac0bda30dc4f5b70L,0xcca0240adcc615c6L,0x8e1f1702c5146d91L,
  116008. 0xceb472d0a72cef87L,0x848407080b669ba1L,0x79b08f9d7e61aa0aL,
  116009. 0x388160be4669560bL,0x23935c2d948eb71eL,0xd7fd83c09431590cL,
  116010. 0x8ab154bb6e5768b3L } },
  116011. /* 121 */
  116012. { { 0x28686003353c4a96L,0x4e5c60e8905cd835L,0xbd5913648f66f8ccL,
  116013. 0xb6b80b989faccf9eL,0xbc1c1faee32639e5L,0x2f6396d2278aadebL,
  116014. 0x00a796d01898202dL,0x18ab548f3a474835L,0xacd056c3b31b0e3eL,
  116015. 0x15ba68dd0164512dL,0x203836d94b03f3bcL,0xd64eca6bd8f206c5L,
  116016. 0x931a361e9f1779b6L,0xd82690fc52ab34a8L,0x342bb8e092922e22L,
  116017. 0x1bfcdd84e00b02a9L },
  116018. { 0x310b9a4375a365d9L,0xd4ade15e08d8fb03L,0x9c9753d7d742df83L,
  116019. 0xcf7309d4de318742L,0x1228e2123360ace0L,0x1043d238f7669643L,
  116020. 0xfc2adbedf90f5a53L,0x41d64cb77b5f9397L,0x5200b30ac446d010L,
  116021. 0xc3c8642d231720feL,0xfcc0122db9aa2075L,0x856e3b12041eae47L,
  116022. 0x4586445568c876a4L,0x1a1c7842233606b1L,0x9b766d1f227757bfL,
  116023. 0x25b78a3bf7b9d4f1L } },
  116024. /* 122 */
  116025. { { 0x90835718156707ceL,0x9bdc23984314f90aL,0x017c885a8be57dbdL,
  116026. 0xd4bba225ad63a4b8L,0x5ce71b8615aacffdL,0x5f26647572954722L,
  116027. 0x0a80f1f74f0ad3ddL,0x010538a3fc352ed7L,0xf8a640454203c6caL,
  116028. 0x2b2c7a88330c73b4L,0xb3433ee602dcac1bL,0x2e0499cfed2b17c7L,
  116029. 0x9f8681a4bd6329c7L,0x3897994636fadc37L,0xdc5650c892b7895bL,
  116030. 0x70ab957065a51cf0L },
  116031. { 0x46778ec47b585d93L,0xca6d3610a633fe4eL,0x21da154e4ea0311aL,
  116032. 0xaf22190bbd64002fL,0x9e633ac7d91cb7a9L,0xed13c31fee6837d7L,
  116033. 0xda4a07d71616ee8aL,0xd78a27323afcd616L,0xc06696e5ba14d694L,
  116034. 0x733754d74df58420L,0xe85e504e2778e3c9L,0x3055aa0c55b5a5c2L,
  116035. 0x313df5388a3acb5cL,0x5896acb52a088edaL,0xfc8842a084c85ddeL,
  116036. 0x5fec9f7951dde6beL } },
  116037. /* 123 */
  116038. { { 0x5ebc2c7cfe519f99L,0xe396bd80e5410353L,0xaded94028a3988f3L,
  116039. 0x1c03b735d601bda1L,0xfd30203614ce64acL,0x5837ebe901240290L,
  116040. 0xcaaea1a3a554097dL,0xdce73d25b0b88139L,0x35ed412becb090b9L,
  116041. 0x99029ff7d63dab3cL,0x555437d9062db071L,0x277d2f5642a4c11dL,
  116042. 0x477fa64524fc9109L,0x7b12e9b72799254dL,0x7ad2ae22d84c618cL,
  116043. 0x0a8d5663ce8ed195L },
  116044. { 0x43ac51630a21fde1L,0xcfcf5dd66903d849L,0x6d2499ee5fdd6281L,
  116045. 0x4dedc6f077a49a34L,0x46bda2c02875c06fL,0xd0e0e0f6347b8046L,
  116046. 0x1058169b5e67836fL,0xc961912ade8a8042L,0xdf3fea0aa93b3d32L,
  116047. 0x9f138edb0c576bc5L,0x7971ad6ed8d37e47L,0xeab85739cce5e7cbL,
  116048. 0x88a4b4341d202b40L,0x5d842557e3a1fd26L,0x872fabd5b3a86f91L,
  116049. 0x95b934936aa4629fL } },
  116050. /* 124 */
  116051. { { 0x9998a70199f951deL,0x8fade596f058db45L,0x4d479c1ef3d03dd3L,
  116052. 0x6e928d5d33b141d3L,0x9a465800acfe8a40L,0xd108ad2fc1cefa3dL,
  116053. 0x64b96921e013726eL,0xb9b6a6b68e83bb9fL,0x29f1e6dc1242e544L,
  116054. 0xd3f8f6762f65966bL,0xa34dd0965e105b41L,0xd4e9139a16011e1cL,
  116055. 0xeea4dc682515541bL,0x6f8030acc822166dL,0xbdc7ae1d31d16124L,
  116056. 0x2e25ef51621afa7dL },
  116057. { 0x2533cf8fdd8e7357L,0x333ba218eaceddb8L,0x68e3e31d0784d2acL,
  116058. 0x1c927f36f2804ae2L,0x01433d2277e7ad7eL,0x0b401cf0587f78a0L,
  116059. 0x9dfcf036aa0027aeL,0xc9e46c8b1d9a46b5L,0xaa6de4861f288d32L,
  116060. 0xdd56da2f1b8a043dL,0x346230e5f2d0bb56L,0x19f0b6e419defb56L,
  116061. 0x55ec37cd21d2c874L,0x3dbf0397b70e45b3L,0xf0862a8dac7ce852L,
  116062. 0x87979ea7e141f3d6L } },
  116063. /* 125 */
  116064. { { 0x9b7e7b3f7f1c747fL,0x151a4c1dc6e63369L,0x4273ff70b372dba0L,
  116065. 0xca6d2234d3ee54feL,0x12fc8e0cd33cae0fL,0x273285385dd6f10cL,
  116066. 0xc86f3fbdf01a9cf9L,0x5322677fe36cae91L,0x39a700332fefea44L,
  116067. 0x2c9ca328ce8af217L,0xc0256776f6a731f4L,0xc687b3df66a96813L,
  116068. 0x194aab128db2eda8L,0xde30dc5aeec4febdL,0xc052236a979241b2L,
  116069. 0x3ec98802c23d4c16L },
  116070. { 0x0f9e760c4072f74dL,0xe78eb0deab594059L,0xdb3dea40c9b009c2L,
  116071. 0x47e875f038b59ae5L,0xf40eb4362b4daa06L,0x9a6a4f92090f3788L,
  116072. 0xefebe9afedbfaf8bL,0xf87f96a59867e256L,0x1e6fed2375ab6aebL,
  116073. 0x17f2782a3fdb13cbL,0x5102c71e70fa2621L,0x5d2b06ecfd4c0dbeL,
  116074. 0x537cc26830347297L,0x8dbf5e2b2b67e780L,0x2f633f3aba25da32L,
  116075. 0x3e9315e8efaec914L } },
  116076. /* 126 */
  116077. { { 0x9255cfa5239a9ea9L,0x20f3c6900be33a62L,0x759eeb4b9cb642bdL,
  116078. 0x3316c54600bae718L,0x874a76d5f3410f84L,0x123b502e90f129b6L,
  116079. 0xadc8f9a812851f1cL,0xf57b764a1b62408cL,0x116ec01f1a80777bL,
  116080. 0x746ecef21f0ddc5cL,0x3c49d47ce5a6a5a7L,0x1e15dbe706e955baL,
  116081. 0x629c0c79b45d79b0L,0x11278308778d1087L,0x22585dc78c6a22d7L,
  116082. 0x2ed02a0d0a682791L },
  116083. { 0x530434164daa2682L,0x0e26d32b01359625L,0x449c834abd867097L,
  116084. 0x11a19d2bee77ae2eL,0x39bd529a3af6c169L,0x36cca5c05cd61054L,
  116085. 0x6370a59bdc6c0fe1L,0xca420d27b93d5135L,0xd8730d45554c451aL,
  116086. 0xebd258c996cdebf2L,0x0cb1b990a50f9a05L,0x69a8c97a7b0f0151L,
  116087. 0x2cc36d3411d217e1L,0xf117688a752f75e8L,0x1db01394a09b2a61L,
  116088. 0x14627844a9efd7ddL } },
  116089. /* 127 */
  116090. { { 0x6bca3aed232803cfL,0xc1e4398b9a96ff34L,0xcaf6757f74ab788bL,
  116091. 0xc3a53e007e68c04dL,0x5f969c195cb7cd20L,0xf28b65a6dc068bcaL,
  116092. 0xe3ca01d31d863032L,0x9b733b8187808e14L,0xb5d704d9efe618beL,
  116093. 0x276f3542b01b946dL,0xe057e19efbedddbfL,0x7d182f2b903275ceL,
  116094. 0x3cdc5f77880f7bc6L,0xd6f03d3f78476c14L,0x035f5557a9ba5072L,
  116095. 0x7acb57b6b4029628L },
  116096. { 0xd241356944e6b07cL,0x451c4cc9e1c7345dL,0x407444d8e273b9fbL,
  116097. 0xfe496079b88e34fcL,0x77d184cff152776dL,0x6d1033b9c742299cL,
  116098. 0x29a0a68477bf2897L,0x59ffdf10ee8f0420L,0x4e17146c44bb56d6L,
  116099. 0x831d06c2fb9ae855L,0xb2cb82dbd93e7cd5L,0x83381c463c96b607L,
  116100. 0x06aed2517549e2a8L,0xef97891c774a21d4L,0xae9807c78675fbddL,
  116101. 0x6a5a05b96363516cL } },
  116102. /* 128 */
  116103. { { 0x92e71ea66a8f4f33L,0xf2fc6fc64dea8f4aL,0xd356252cfee88461L,
  116104. 0x59b0a83e08954d08L,0x5bd68c23468ab766L,0x40281357900f8d04L,
  116105. 0x181c19c052b867aeL,0x986a516918764c41L,0xcb01dfae13575d24L,
  116106. 0x17269ae5593677b7L,0xf6d1702546dc9b19L,0x8de68499c40097c8L,
  116107. 0x76df0032259c407bL,0x4091aad917d29d8bL,0xa7f46d214a7ab5f6L,
  116108. 0x688054b470ece48cL },
  116109. { 0xf0d168aa51a5b86cL,0x2437e4d895777247L,0xae844076f1720329L,
  116110. 0x0a7ac87d9647a54eL,0x1e597a4b0405622cL,0xedefe5c6f0a79f2fL,
  116111. 0xaf3ef0c24d55156dL,0x917fb04eef047cf6L,0x3792799f54b62137L,
  116112. 0x875ea32f314be0b8L,0xe157c65b0c466b0cL,0xd28c90ce7e218978L,
  116113. 0xb90fc3bacde587afL,0xdd32d71c8b877bedL,0x3b432200ca8e10cdL,
  116114. 0x0021f419d94f6e53L } },
  116115. /* 129 */
  116116. { { 0x2191122c43519d26L,0xbdafac1d40a51845L,0xcc6f71e9548bb89fL,
  116117. 0x9ef3375c16844bf9L,0xe7789f79178e8d55L,0x04f599b61f8be1c5L,
  116118. 0x8088c99a2cbbde40L,0x8939a260893206c9L,0xa1ae4bfffcd30851L,
  116119. 0x664cb3fee08feafeL,0x61f38099ff14aabcL,0x0d8394cc2a841ef9L,
  116120. 0x75fad8ad17f01db6L,0x6fc345766debb773L,0x1e716b05a4252512L,
  116121. 0x7985588029e1ed9fL },
  116122. { 0xa2cb3aaa95106473L,0x95fafa415a61da04L,0xfd3c9362539563c0L,
  116123. 0xbaa4809195312b87L,0x6c7e7582bf885c76L,0x70f6dab6230c78d5L,
  116124. 0x8ce3051c7747440dL,0x6dbebd14ffdb6186L,0xb0e041fa190e4096L,
  116125. 0xba10c4666ee62e2aL,0x93d57e2a74f333d6L,0x006aadc4fe7b9b66L,
  116126. 0xfaf72f6c06d2837dL,0x318cc5e6910741eaL,0x9c50260965692477L,
  116127. 0x95d823c31d0fb08dL } },
  116128. /* 130 */
  116129. { { 0x6aeebd86140528a5L,0xf268c2ba53979bc8L,0xb1bc9b8a4ec144abL,
  116130. 0x1efabb0d82a7d7edL,0xf12c70d14e0118d8L,0x31607168a1c1558eL,
  116131. 0x33e428b7e4b7e73eL,0x6317663783aec9ddL,0x5172ffbee12ac35cL,
  116132. 0x37df0bfbbc17b2a4L,0x4212f870741f812aL,0x3dcecbdbe2888f9cL,
  116133. 0xa9dc15aa756ca55dL,0xf31918ecb9028e41L,0x7ede02856aeadb03L,
  116134. 0x0e2708d578654f54L },
  116135. { 0x2270cc53cde20f88L,0x9338272c5f5b1039L,0x5042e19e5dcb1dbfL,
  116136. 0x4b3de219b72d74c1L,0x16c49a8b2aaaaa55L,0x008443e5bba86ba6L,
  116137. 0xee6bcd7220cf1695L,0x59ffac6ba89abd11L,0x2831217bf115639dL,
  116138. 0xe4d28af2f34cba52L,0xf27f03e70727a906L,0x6842c79f69017766L,
  116139. 0xcb3469bd7a81123eL,0x48c0f346a42973b8L,0xfc5784a623990dbdL,
  116140. 0x0d3dab3bfb299678L } },
  116141. /* 131 */
  116142. { { 0x8f8376e6ce29c3ccL,0xcb0507ecf016cbc6L,0xdebff9965e394ce1L,
  116143. 0x24fc526f73c50d41L,0x4edd5a542d16ce3dL,0xbb37bdd991c13141L,
  116144. 0xe3442ef2e33a8606L,0x2ae90337c0629da8L,0x57faec64592ab331L,
  116145. 0x1a938997d82b857bL,0xad6c8cb9a3373176L,0x82595de29086751fL,
  116146. 0xa81e97fb18c17196L,0xe4f48a13bf697357L,0xa1387c2e5cb89f69L,
  116147. 0x530b4eeb5874b426L },
  116148. { 0xe9f275a1bab7b5aeL,0xbb69dc4d03a57bf4L,0xc974dc4aa45c505bL,
  116149. 0x726369f3416ac402L,0x735e4e78aed985dcL,0x0548d879cdd446a1L,
  116150. 0x84ceb0699e16b02aL,0xf73f6fa4789b11a6L,0x6aa0c41fb2a4e784L,
  116151. 0xb1f7690293a9b697L,0x814cce00f03a8ab2L,0x64cb255b844d66c1L,
  116152. 0xb794e7d630952201L,0xe052d4e43da32271L,0x5278b2e708b6a4d9L,
  116153. 0x9094255280c6577fL } },
  116154. /* 132 */
  116155. { { 0xd269a14d0d5b4c2fL,0x2b8fc59b5c8a649cL,0x95becb3ab0e37d4aL,
  116156. 0xfda1a7689111037eL,0x5810e05a94e35322L,0xa24dcc12a178fafcL,
  116157. 0x5c2c63b28e3dce62L,0x995c3f179452c444L,0x35330ec342d45161L,
  116158. 0xa025a60ab4ef8129L,0x854932528bae9c13L,0x25d1a606e2e3caf8L,
  116159. 0xd44091ab3649bf47L,0xc7d0afbf704ec5f1L,0x27bd1d62bd8b3333L,
  116160. 0x50570111cfe616f5L },
  116161. { 0xd0084acef534356bL,0x9df1de054b4b0fbcL,0x021afe05cee04dc1L,
  116162. 0x64bde688361b78e1L,0xa324fcc7ef78d38bL,0xfeb372ceeb0a5e4eL,
  116163. 0xef04fcb365811996L,0x7dce5d505eb0ab4eL,0x1e29b588238c586eL,
  116164. 0xde5e3197bcd80037L,0x8bf5e4514806b9cfL,0x4330968bd18e67abL,
  116165. 0x26a7d04ef9f63fadL,0xa1c7f123b5c18bb4L,0x485b848225dce22cL,
  116166. 0x8ff0b36fd540e79fL } },
  116167. /* 133 */
  116168. { { 0x99f2e2f43ff42cffL,0xa3c19f9d1c35317cL,0xdb749392aba1b545L,
  116169. 0x84232b054afa9a32L,0x0b855d46d7dcd436L,0x8ac35e2045cf9915L,
  116170. 0xd7cf22c7f001a218L,0x057d35aeed408305L,0x25a4a519553ccfcdL,
  116171. 0x5e56579393e2b939L,0xa20332b03422ec27L,0x9b09005e3ac53958L,
  116172. 0x628051a379e9b163L,0xb4a0dc09fc6618d6L,0x9e0e857f6748e7afL,
  116173. 0x71b28eeec577d63eL },
  116174. { 0x4942b0cd99726bf8L,0x1290a3b91c208f3cL,0xfd7290e7b0598eaaL,
  116175. 0xc6a7791fa25a9128L,0x2d33db24c037d7daL,0xc21efeb070e2837bL,
  116176. 0xbf70d96ee3dae2a0L,0x43ed819185076027L,0x4aeb0aa84d4ad7e3L,
  116177. 0xbc75101fe8c5b74cL,0xdbfb2a6ead26ebddL,0xba8120686b78aa4eL,
  116178. 0xc94aa8f2e1159848L,0x0d10d9db3eba5c4eL,0xce7fec476318295aL,
  116179. 0x7294711a330d925aL } },
  116180. /* 134 */
  116181. { { 0xfce4590432bbd495L,0x330f4dd1be54973fL,0x006bee1d5d9c3f4eL,
  116182. 0x40ee607859ba7204L,0xc194fd3f42c2c768L,0xa0e76b12e9fe88beL,
  116183. 0x17cddddbec2b0210L,0x689d436b00811ec7L,0xa6a6ba37284be9e4L,
  116184. 0xabc395b2007d4114L,0xf8cdf9f30f11e744L,0xc5febec8e9396402L,
  116185. 0x8a751743eeb46285L,0x99bf8782c6e0d137L,0x3965e170beb292e3L,
  116186. 0x001c39d85801fd5fL },
  116187. { 0xf4805cb9da4a0912L,0xd27cb76a4410bca4L,0xef3dcb8eec71d65bL,
  116188. 0x780fbb2b4816849aL,0xef6a7026a8b24635L,0x15625c8812c44e68L,
  116189. 0x624c232c4d7a74a8L,0x81a770374b1631e4L,0x04e4f7f1db917c2eL,
  116190. 0x1d0465fd1f61ed95L,0xb1048049cbde6e3dL,0x637ce0c1d7131fcfL,
  116191. 0x22e4dbc28ada4715L,0xf7530c5cace99726L,0xa0160dccee287450L,
  116192. 0x9132e670bb91af13L } },
  116193. /* 135 */
  116194. { { 0x8057efe27996099dL,0xb72344dba06e608cL,0xeb4a8740d0958588L,
  116195. 0xe53daf0679e5aee9L,0xc9560a9a908a2fadL,0x7f4be131107e706aL,
  116196. 0x6d5f3d9b2830246aL,0xa5f8e8da27cca3e6L,0xeb51dca64c28f292L,
  116197. 0x4cfa310ef31dfd78L,0x92e0c7c22ca073e5L,0x102f1694a40da683L,
  116198. 0x16bb07cc750d38fcL,0x703e83e2badae035L,0xea93c066b4d3c9ddL,
  116199. 0x7d0b03e579940ed1L },
  116200. { 0x5fe7ea304dd94c63L,0x57ef01c5738b0b3aL,0x9534a78ca14e6b4bL,
  116201. 0x07622cdea5353276L,0xaf696a077c22d006L,0x733c18867d46b209L,
  116202. 0x9654ccbb626c2b4aL,0xa098d3a1a84f3c4cL,0x3596f9ed2d734b74L,
  116203. 0xdfd3021a5d551c90L,0xe2ba7d2f1ec5123fL,0xf9726925b2c1aa39L,
  116204. 0xd2e75d0ef8eb2927L,0xfaba712e19192a6fL,0xa606b43a9b83e50eL,
  116205. 0x31b1782fdab5de60L } },
  116206. /* 136 */
  116207. { { 0x878dba454034db92L,0xa39779018f34dc4dL,0x8d004f2edf754c33L,
  116208. 0xeaa5954acd563a88L,0xa29d6c89bb5ffad1L,0xa8adf655b0d8bdb8L,
  116209. 0xf7fb842d8cdbdb47L,0xb72e3a0380d3205bL,0xc335b0b27cac7ca9L,
  116210. 0xffc60bcbd8a5475dL,0x736f7719eba4d25fL,0x3d901c380c50fca6L,
  116211. 0x1fdacf7b80c01900L,0x75cf658f5681f84dL,0x57a7e6345cefbbc1L,
  116212. 0x6fc0fbe53e07ed1fL },
  116213. { 0x496d116bb81b0e5fL,0xd82dd2a52ac853b8L,0x357e22d4327387f0L,
  116214. 0x3e332a84ba912c59L,0x8b71c64349d5dcc1L,0x0c982ee9438d85d3L,
  116215. 0x90b9553cbf7fcd4eL,0x2cb39bbc38fed5e3L,0xa2c67c9c5ac42903L,
  116216. 0xebf21217bf07da55L,0x55ac05ada0b9e4eeL,0x10bb12c28ee9e0c6L,
  116217. 0x5cf3aee548bb6e3fL,0x4ae7269c8b046e91L,0xcb266012aa0e553fL,
  116218. 0x701935a1a94c8fc8L } },
  116219. /* 137 */
  116220. { { 0xde58d41da4626deaL,0x25ef66ca15b9039fL,0x99a810a43164e65bL,
  116221. 0x9fe6daad748cfccfL,0x7ab9a6bd2f142fa9L,0xa4cba1685d471796L,
  116222. 0x12d30b366bc3a39bL,0x1f46a5dc8bf45076L,0xb868e5291421ac0eL,
  116223. 0x7a68620659bba1c4L,0x2b4b552eda698b90L,0x5039dcd4e5453707L,
  116224. 0x42a07a9e9e90165fL,0xa838fff3d7d45dfcL,0x41991e5a3b5ceb30L,
  116225. 0x6c961ec8969ca600L },
  116226. { 0x703bdc1bc4e7eb46L,0xd6bac557596c7b48L,0x4f9917cd66afd74dL,
  116227. 0x56355105656ce6f3L,0x3d1fb50c32497175L,0xfda6783e63effb2dL,
  116228. 0xbd79f1f3eefaa2bdL,0xa4efbe5417af9ef7L,0x6cef64625a55b7a4L,
  116229. 0x116f32381a713304L,0xdb2a2a7fb95625a3L,0x6a0aa43a0b027e96L,
  116230. 0x458fe5d24832b3bcL,0x523418df5adfaac0L,0xc05a89cbc49e7f9aL,
  116231. 0x830883d869e24b53L } },
  116232. /* 138 */
  116233. { { 0x959b1c6202557389L,0x5fe5ce97adefc0bcL,0x893bbe7f8330f383L,
  116234. 0x27e0c6af16cfb81eL,0x6f64e65bd04428fdL,0x53de9245b79e6182L,
  116235. 0x08a313c1487e11caL,0x65cec3b9445bce93L,0x33bc0314d67ed49eL,
  116236. 0x69f36b2430782352L,0xd78e5daf93ad31d2L,0xf2682b70c780890cL,
  116237. 0x7015c34f9e45efe9L,0x135d4ba4e6cbafeaL,0x43a378a47e3fcc6cL,
  116238. 0x2376f97f96638f8cL },
  116239. { 0x0a6e1ec0ae575b99L,0x7e14cb4f81b970dcL,0xf00a3824d3a73947L,
  116240. 0x0b4b9c81fb235a9dL,0x8d15115f5bf62944L,0xcfd35b431e165d7aL,
  116241. 0x5d12fea2b2ee3e3bL,0x629984a6f5182e7bL,0x4e43e2f3c365d08eL,
  116242. 0x9932709130f36e72L,0x698b4a00fd345401L,0x23c4fd0ebaf96dceL,
  116243. 0xa60ba0ae23675554L,0x51bdac2db0325784L,0x8ab4190a215464a1L,
  116244. 0x8c4616616bf10296L } },
  116245. /* 139 */
  116246. { { 0xeffca2582d1f36a5L,0x0eded2b2894c5f2dL,0x35a5cdb843ced84fL,
  116247. 0x290f8982db0e3b9bL,0xcce0eaf00719a112L,0xd0e657e439a362d6L,
  116248. 0x5516a55d62697e47L,0x269e1f778e636514L,0x5e3dedcbd50269bcL,
  116249. 0xecec2300441c57c5L,0xdb83f31cc705578dL,0x1bdefb731e489eabL,
  116250. 0x20b678cf395fcdb4L,0x908cf91cff9db001L,0xcbebc6f455f52cc8L,
  116251. 0x155ea622b4c61162L },
  116252. { 0x94be2f1f876fa42eL,0xab5e87497fadeee7L,0x692e70f538c865afL,
  116253. 0x16e99b84df8059b0L,0x0ceb606e8b5a7ac9L,0xced233572d463d2bL,
  116254. 0x2d0f26232a9a09a0L,0x2529998c3861fbdfL,0x711888a7c1be310bL,
  116255. 0x9b1229c50d8aade3L,0xdbcf9b783b13533dL,0x3ca746f8ff029708L,
  116256. 0xa5a013a1da83ef88L,0x8e904d184ab28444L,0x2fe84b3dbcbd4abaL,
  116257. 0x8f570f24259058c3L } },
  116258. /* 140 */
  116259. { { 0xdeb66c8a2ca9c508L,0x2dc5bec269d6b780L,0x16d6126688ead600L,
  116260. 0x61841b9749d72614L,0x41e40e6cce472e6fL,0xada242641fa7a876L,
  116261. 0x45b9fd33cc3997a0L,0xb25e8fa97c15dcf4L,0x0124ceb212e9629dL,
  116262. 0x3a8c72c67db3d956L,0x8e2ded2b7c1a7844L,0x94ab09c66dd027ffL,
  116263. 0xf89a057d7e7a2bc6L,0xad8bf226cf70c763L,0x4cb268e7c8a26212L,
  116264. 0x3d171e87b2c44c1dL },
  116265. { 0x382ac16e8ce49820L,0x24ee45e2c0c44dc9L,0x0ec6791273e858c4L,
  116266. 0x918cb25c46327cf9L,0x43e3876bc6159c1fL,0xb6b6e0e037545cb3L,
  116267. 0x64b839ab5d12347eL,0x72e09274a300d541L,0x26ab28e6881c1169L,
  116268. 0x4a580fffeb75a843L,0x0a5802ca359120dfL,0x7fee82d03209f4a3L,
  116269. 0xb518016b8e6a9380L,0xb99c6c70c2ee11caL,0x16105af1ab9d4ec7L,
  116270. 0x234e98f834cd9004L } },
  116271. /* 141 */
  116272. { { 0xff43520814db9cdaL,0x99cfdc4796adec90L,0x843aaa6faf458b6dL,
  116273. 0x3f1f7415743eaa31L,0x915e192e61735d81L,0x3441a22d0ac595d5L,
  116274. 0x704bbf67c044bc8dL,0x2f960471be23a236L,0xcc32638815d1d557L,
  116275. 0x9410230b76b1dd94L,0xf2e5439f0c1c8a67L,0x56b141ac833c910dL,
  116276. 0x467c999f865b84dfL,0x1b0251fa21f02b7bL,0xde5b526096216950L,
  116277. 0x6a2130e3ce3a1e93L },
  116278. { 0xd21b67a04b3ca1a7L,0xaf42ed5300c0ce80L,0x22ccd368932cf07aL,
  116279. 0x36523a815c25c35aL,0xecdd39588dd04d06L,0x73da3502b2f93a3bL,
  116280. 0x4c5e0c3cd5e5b530L,0xef9f548613268777L,0xed87fefc1e742292L,
  116281. 0x6d9ac29ea24e5edeL,0x08abc9f033849f1aL,0xb09b229240f23905L,
  116282. 0x6791072c7f934353L,0x102a6381e6aeb550L,0x3ee0740996feb870L,
  116283. 0x34f06faa9c4d2830L } },
  116284. /* 142 */
  116285. { { 0x869dc79f2348f005L,0x9b5c5d71df4920b1L,0xfd1b57ca6dee64a4L,
  116286. 0x21b7f734e82a4fb4L,0x637cb834b9578366L,0xc934101b7d287d96L,
  116287. 0x1590f8ac0392ecabL,0x280dc3737f75f4e3L,0x8b36f50f6a61ac62L,
  116288. 0x74f58304a65568daL,0x80d792a9d930870aL,0x6d17b192fc8895ccL,
  116289. 0x498392fa4914939fL,0xaf36027dd41d5b9eL,0x452d79e25caa82b5L,
  116290. 0x764d47b1f4115d1aL },
  116291. { 0x5df22303a2ee8b9cL,0x1b9f72d385dfcd48L,0x6b42b98310813a37L,
  116292. 0xe28c523b3de741f5L,0x0857625af303bb5bL,0x926f299aac9bf9afL,
  116293. 0x21beac080d445b34L,0x6a523a02d6ba2c0eL,0xe302a1b17fce2864L,
  116294. 0x4516a235e300c1eaL,0x4543736a7b4a9311L,0xd3c0b9e8c0cc89f7L,
  116295. 0x0481904f40ed88deL,0x4f269b563cb7fc70L,0x09a1d53a321b9738L,
  116296. 0x1c0dd9c3230a3810L } },
  116297. /* 143 */
  116298. { { 0xffaa1f67c46a7d9aL,0x64743334bedf91ccL,0x45833a7447a42f2eL,
  116299. 0x67980051241ffaa9L,0x70979a84335efe6bL,0x5f0613f5f08b2403L,
  116300. 0x6bb22fcd64f211dcL,0xe1b8b2a3a0572cfcL,0x19e0eb417950a14aL,
  116301. 0xe634bb293eb6cd4cL,0x31a04b25470a25ffL,0xa41f7ac9a3d15a0aL,
  116302. 0xefed85ecbf2fede9L,0x1f581f5f81b94a00L,0xaa3996b09ef4a15cL,
  116303. 0x52d8be39b06041bcL },
  116304. { 0xbd1536f6fd631a2fL,0x91fae7f0b351a8dcL,0xd1a590c79b126212L,
  116305. 0x52d4875f2bd0f435L,0x9aedb6d392b0ea70L,0x0bd0abdcb83ab89eL,
  116306. 0x827a106289fe192cL,0x6566a960102a0bdaL,0xda083037ce036814L,
  116307. 0x30bed79f58639405L,0x972019b6dbca8df9L,0x89201286efdaa3f5L,
  116308. 0xb337b9965236b892L,0x11d3e38e28fc2e73L,0x70787f41880e8da3L,
  116309. 0x6cff6367dae4a45dL } },
  116310. /* 144 */
  116311. { { 0xbd3d0433f89a8bb4L,0x42144c3393b98f71L,0x82b616c803470a2dL,
  116312. 0x98fcc757e5da089eL,0x542354ef7bf5fda6L,0x1885c2539ebd34ccL,
  116313. 0x2e20b285bec5dd0dL,0xe71bbbe1782a1bcaL,0x959ded309b854ef0L,
  116314. 0x172499798997fa6aL,0x50cf8fa8d81f3c45L,0xa9a3b51760c11152L,
  116315. 0xc9b0ef7decf845eaL,0xc9339e23b9fed11bL,0xc93e9c5c28256080L,
  116316. 0x1d2c8217613ec1e7L },
  116317. { 0x7381347d987cfc93L,0x047603bbf187f810L,0x3fa6bc9d1250ca31L,
  116318. 0x480091e0bb055bf3L,0xbdf95f1a3a3af87cL,0xe2687770140540abL,
  116319. 0x998df730d7fe045bL,0xb398135fb723bc2dL,0xac230f8c15ebec46L,
  116320. 0xe08e18305f5561c0L,0x7c0fbf4cda60a47fL,0x06e95c24e16d4bfcL,
  116321. 0x7416349574617e92L,0x397198694ae0c20eL,0xfe2693122131e2b6L,
  116322. 0x25486e360a537722L } },
  116323. /* 145 */
  116324. { { 0x618795ca53572806L,0xb2c89449656968e1L,0x149c2c973fb323aeL,
  116325. 0xfb15de26409bc7d6L,0xa90cda72c79121b3L,0x6d2fa14e204cabbbL,
  116326. 0xcbcda6f791604125L,0x25086261b435f947L,0xdb686c38c282eb10L,
  116327. 0x51016d62f1a791cbL,0x6b1c7ed161a2266cL,0x26780666271d74a6L,
  116328. 0xb5ffeda1824287a4L,0xcbe503ffbbe4f0f3L,0xd7f7f0beb9482a74L,
  116329. 0x751b2358088493f1L },
  116330. { 0xd597b9d6e9c9be68L,0x1794b5c467d10c6cL,0xa88cdc3d7762b2f4L,
  116331. 0x6d94a63aa1b44e11L,0xfb0bbbb9aaa8eca8L,0xf4b0f2d0c963d87fL,
  116332. 0xb753062c5dc7075dL,0xfed726ac49933989L,0x5da6063857f9ccdeL,
  116333. 0x221c392a75f8c766L,0xcd264d955dc672caL,0x7004ff22b66ecc8dL,
  116334. 0xfb1aa9ae18a458baL,0xea9644df8babd653L,0xa9378e802ba0de7cL,
  116335. 0x144cc12dca2c6c75L } },
  116336. /* 146 */
  116337. { { 0x593a0a1d2989aa3aL,0xd83f228359e6e64dL,0xe938b0cbd32e732eL,
  116338. 0xf4c464c53c3cb249L,0x9750a5f8f89ea6acL,0x467e5bbf346cfc32L,
  116339. 0xc9bfab9d37b2b809L,0xf8eb74533b339c6dL,0x3fe01fbe3b766deeL,
  116340. 0xb3154254ef6aea27L,0x555c3df27be61b10L,0x70fb6d81dd818488L,
  116341. 0xda1af3a4bbe714f9L,0x575f20179d18f693L,0xdc08fc6b2465b839L,
  116342. 0x874ecf336b84a951L },
  116343. { 0x624af83ebbb3f6beL,0xf578fbb908bb423dL,0x5623b0bad7873527L,
  116344. 0xc3659bd8a62e0442L,0x2903b167fe236f79L,0x55a430c6e53f26a6L,
  116345. 0x222547ae3ad712cfL,0xb73890d776eb272bL,0x95b4f70b3d628df9L,
  116346. 0x9f0e13b053eae4acL,0x5b4f5138e7f2174eL,0x75482cf998dbae17L,
  116347. 0x2b69bbde44518480L,0x4f279652cafef15cL,0xa0a3ef2bb6bcaf19L,
  116348. 0x31fb8581ce4c634fL } },
  116349. /* 147 */
  116350. { { 0x398306d1615cd607L,0x680c9faaaa32c3a6L,0xe87a705b7779131dL,
  116351. 0x1031013a36708b00L,0x814fa0e19445297fL,0x70c5583aa6a79b56L,
  116352. 0x03039cbf4b16bed4L,0x18a7ca8daaaaf8d3L,0xf33159e75cdb68a5L,
  116353. 0xdea0e738d23814faL,0xeb3527188d0f4f9fL,0xb0b76609dcdff032L,
  116354. 0x65ba8ea93d48338bL,0x18044d8255dd507aL,0x844a223e4a4a50b4L,
  116355. 0x9832300018e19e54L },
  116356. { 0x28a2102757f3d5a6L,0xffce56486e8cadcdL,0x9590381b02551f3bL,
  116357. 0xb26cc64f935ebdf1L,0x60611291c083aa6eL,0xcd988a6688e4cf41L,
  116358. 0x581c3f73dd53b1b5L,0x78c804a977fc621dL,0x31874330fadca2faL,
  116359. 0xf7008da4c83ccf02L,0xc4122a1da79a4707L,0x9a8e0d3f4a915eb5L,
  116360. 0xa2de157dd0123660L,0x45ef43b265ead2a0L,0xd0a22ade188db285L,
  116361. 0x8abbe39e922e0caaL } },
  116362. /* 148 */
  116363. { { 0xb44469053a2d2f01L,0xd27c31935dc6685cL,0x6a908bbf1d74a027L,
  116364. 0x01da350f5b50ec1dL,0x1d3dd45e3f3c2e26L,0xf66e11d0b836ee92L,
  116365. 0x7e03908f474b979cL,0x19e7c5b998b87834L,0xa741d3febd3d1de9L,
  116366. 0x63c68e8d1ef6059bL,0x9b9ff9393674e247L,0x1d7d53e73e7e67f6L,
  116367. 0x698dc326aee9e248L,0x52f23edab3bd984cL,0xf95e31b06f8fe8a7L,
  116368. 0x0f15b4d0c3d0ba95L },
  116369. { 0x8f2f6635790a8d85L,0x51bffbaee2595af1L,0xd15b7ec624b51287L,
  116370. 0x7639b6ab3234715dL,0x0cdd52992bc5441dL,0x54800ea4f6d05833L,
  116371. 0x21efd752f6d6e360L,0xc0b7ffe519290613L,0xb68a5825eea898cdL,
  116372. 0xecedba9222982266L,0x678a91b0bbd06bb2L,0xb2436dc04bb6b0cbL,
  116373. 0xcf7a99e7caf8ea98L,0xb92d0e6e71aa05bbL,0xbf8d0471f5993eb1L,
  116374. 0x515db37820385ddbL } },
  116375. /* 149 */
  116376. { { 0xee43eaaa6f5bef22L,0x952d269820348712L,0x1e4c484e7a3af6c6L,
  116377. 0x18d434c69a8c9403L,0x63e5d7415001899aL,0x5238dbbcfe8ea40cL,
  116378. 0xca6cc8d296798721L,0x73db6aee04acbde8L,0xbf69328db7f993ceL,
  116379. 0xa3f79bbfad45e334L,0x8c51ec937c1f1630L,0x4907325f9b00a6deL,
  116380. 0x49e6acb412d82bc3L,0x5901b36d0ec59fc9L,0xcb09b7109cf34e3bL,
  116381. 0x2de0487e1abf4c02L },
  116382. { 0x18b722f38dd9d484L,0x833493937c77baccL,0x58dbb8f193d92b8aL,
  116383. 0x80d78d508e3fac25L,0xf0500981745f4a7dL,0xd072bfed877cc29dL,
  116384. 0x67abf8f2c30a89f8L,0x92c567ea9a0820d7L,0x425ab12e8a3a5738L,
  116385. 0xc162faebf055521bL,0xee1c4f26b94ea5e9L,0x1e4149943d71e546L,
  116386. 0x258183b843e8be1dL,0x44917c82ef9eae0bL,0x6813a45773874a30L,
  116387. 0x6f6ac071cc42f86eL } },
  116388. /* 150 */
  116389. { { 0xd38822ad4dd6e3b1L,0xfc78e1ccad620869L,0xe78438452cacde80L,
  116390. 0x121cc14aa8469fe3L,0x8e8f3da7e67e8ef2L,0xdb83d16e4d347448L,
  116391. 0x3ba1dd98798631f4L,0xdfab59770a4c4c17L,0x1f0a13063edc701fL,
  116392. 0x4649d6016cd8ff28L,0x2267230bbcc55bc9L,0x02a19c605760412aL,
  116393. 0xc719d5f1328faef6L,0x27cb969ef67eaad9L,0xf342530e719bafb5L,
  116394. 0x6e2c24ccff5a82cbL },
  116395. { 0x6313024badaf8793L,0x944bccf1035c948eL,0xe9a066b7953500bfL,
  116396. 0x7991a9461d116765L,0x95addb2e9fd93c78L,0x05d2c037e92e5495L,
  116397. 0xcb145b189f03e5cfL,0x81ae48ca95aa1f72L,0x203f2702135a6e4fL,
  116398. 0x2bcef5a249b2a7d5L,0x0687a90002d7f2a3L,0x2f7d32286c6745b0L,
  116399. 0x3da8a87586507305L,0xbe38b8842e8dc58fL,0x6b48bf34dbf11185L,
  116400. 0x5af7fd0d97c08f91L } },
  116401. /* 151 */
  116402. { { 0x55f9b950f4a224a5L,0x41904574cc50273aL,0x34f81330643f1fd5L,
  116403. 0x996801bb0e50f783L,0x866d740389581712L,0xdb9a405da4091d36L,
  116404. 0xf1e379df16a46fe7L,0x8d04a93f83bf9168L,0xae4c833532b20bcaL,
  116405. 0x99d334b1f72a1c10L,0x8fbc9977d8195db4L,0xcaeb3dfffba14b5dL,
  116406. 0x60fef02276daf476L,0x4b948dfedb5b72f4L,0x5185c925b6dfb062L,
  116407. 0x27a9c3819609d4aeL },
  116408. { 0x73c37346f12a93afL,0x028b707c5536634dL,0x8efa58d5498193d1L,
  116409. 0x4f83a5ccef21b69dL,0x05cbb0a3a788a0e2L,0x0103178165b13c98L,
  116410. 0xfea20e582b73784cL,0xdf9713a0e50361f2L,0x31449a0fd0cc22d9L,
  116411. 0x183752e77c5e2e1bL,0x6e44d6bdb67044cfL,0x012dde95733e177aL,
  116412. 0x68b4966908ee2c23L,0xd9bb05411f5f1949L,0x95182c716acd886fL,
  116413. 0x1c690694fbde9244L } },
  116414. /* 152 */
  116415. { { 0x5db67d173a880026L,0x89c4f0a0125d95f2L,0x290505513f6cb7a4L,
  116416. 0x3eb231d15cbbdca5L,0xf8cffc99972bcbd3L,0xcb4ef4d4ad55a03aL,
  116417. 0x944d47ca22867c2fL,0x96d885480ead1aa5L,0x76a57cf8cbc8b045L,
  116418. 0xdfe5844b005e55a0L,0x5e9e7e191d18a097L,0x957a26e852923c74L,
  116419. 0xd0867b797f5db339L,0x2553408e63bed0c8L,0x1596e5d5689ad23cL,
  116420. 0x7b8c13d6a504c339L },
  116421. { 0x2fc43aad52fb6901L,0x1c0313f916ca253bL,0x1475830a515aadc6L,
  116422. 0xc93d19267f577dc2L,0x26e52e8ef723c0ddL,0x2f1e0eb83eb9f6daL,
  116423. 0x9979de82f180376dL,0x43e28ecbb0834939L,0x9a2d51dca39c38e7L,
  116424. 0x6e6063a9a8e3f6b5L,0x4cf1da3a4b9b3270L,0x6e5348a2d2f8915dL,
  116425. 0x5e75e3e050507912L,0xaeffce5720d383faL,0x1d6d53cc8fd2fb29L,
  116426. 0x0e3c3ef6696f4cd0L } },
  116427. /* 153 */
  116428. { { 0x3bc337c121ee1d83L,0x97e08f6d787b7788L,0xbf709fcc138fa4ceL,
  116429. 0xbaf77647a0348e58L,0x04f8babca55e672dL,0x0ed2919d7d5ec5ddL,
  116430. 0x8ce64bff33e99218L,0xac09fc5724b059afL,0x506831f9dc5e32baL,
  116431. 0x26a22677465af6a9L,0x3c5efe66c97f1ff8L,0x1515e0d6bc6087fdL,
  116432. 0xb1a39c5eaa8edc6bL,0x3dd816bb0e79ed29L,0x6cc13769bc3788b8L,
  116433. 0x463098e3c092a51cL },
  116434. { 0x3a6408c7c8bd0fa7L,0xd1764311ce6bde49L,0xe315e108283ef7beL,
  116435. 0x8213cc7799b5d938L,0xaf7f158145a49a6bL,0xd00fdb0fe529e4d1L,
  116436. 0x55d38f77ce66c9d6L,0xb4f7ccc01bd4b952L,0x8d975b49af71f986L,
  116437. 0x12b59fcbcd64d00aL,0x1860e504a5a3bad7L,0x6d9760442b5c89f1L,
  116438. 0xfed0c6597a3e231fL,0x58114c33178cba92L,0xe2e74c066698e11eL,
  116439. 0x7f8fd093a348b85aL } },
  116440. /* 154 */
  116441. { { 0xf24592cac19428afL,0x192a1c813a308665L,0x42589812e30bbd7fL,
  116442. 0x10db0723836c6bb9L,0x9c7a41e9598e4987L,0x8aff179e6ead6f4bL,
  116443. 0x70f8f9b975862c44L,0x6b3b02376f21983eL,0x25d83e9b98e65152L,
  116444. 0x3b2d26a8d751218aL,0x9508281a9d6f1da6L,0x8df78d05a5a81f74L,
  116445. 0xd79ee559e4687471L,0x2060ca576787d8ccL,0x427a84ffa8476c95L,
  116446. 0x87b64c51e6435131L },
  116447. { 0x87f46f654b30d3c4L,0xcdec4c5c23b4ef14L,0xb3b7476663ca4d68L,
  116448. 0x1df34269cf3fb56dL,0xd4f139c40fd7d46aL,0xa3b7c7c76a69a8bdL,
  116449. 0xee56b4c9cbadd7d2L,0xb28ff342ac942334L,0x0046fdfa786f1da3L,
  116450. 0xce5d149cb700c82eL,0xca30ef8150966597L,0x44a20609fcff4bddL,
  116451. 0x0f2f65e744925268L,0xe5b6552cd4021f38L,0x77ea9c2a042dbbd0L,
  116452. 0x8c95267cd9c062f5L } },
  116453. /* 155 */
  116454. { { 0x6655032e5fc1abb1L,0x2215af5412fe4743L,0xfd65756029f05ef5L,
  116455. 0xb0e73325dc191be9L,0x7ab3c65ec08639b0L,0x67507f511c3e6673L,
  116456. 0x638befc3c8615555L,0x5d0188cf42f0c4adL,0x843a301cd896186dL,
  116457. 0x045603f7b2c6741eL,0xf7545c0cfa3cd1d0L,0xf612affd4a40672eL,
  116458. 0x56197c9f45b9e8ddL,0xb453237d87922d74L,0xbf132e3a4b2d59bfL,
  116459. 0x8afa1b73b84a6a16L },
  116460. { 0x6b3596eae793ac70L,0x4c94ef8eeef6dd10L,0x926b4fa270422e40L,
  116461. 0xc8c71dcee9e5d763L,0x352fcb70f512aadfL,0x1b7ba138a883975fL,
  116462. 0x57991390058c3b13L,0x9692092a97740fd1L,0x19ad945b160b0697L,
  116463. 0xbc63438810837ab2L,0x76ee11c4f174bb71L,0x6111bfc1ab1b80ebL,
  116464. 0xbc82bac870ec458aL,0xeee60127312d3325L,0xb4118b1ab240adc8L,
  116465. 0x672111912b5a093cL } },
  116466. /* 156 */
  116467. { { 0x91e99306f55cf9bfL,0x9b045308a46b96d9L,0xae3c1e1d9e7a65dfL,
  116468. 0x453cb151c731bcbbL,0x14be5227a4d58a61L,0x39dac92297c74cc2L,
  116469. 0x4d0f7a45822e00d6L,0xafeb1d51c62b03dfL,0xbb1dc3a4baa18b2dL,
  116470. 0x7f3c7178df2b74f0L,0xfcd328a6896b6a33L,0xe95ed4541dce055fL,
  116471. 0x97fbc76b6a4e2b87L,0xe5ec67f1fa59dce9L,0x052368accc0367c1L,
  116472. 0x7c86391654e4a3feL },
  116473. { 0x55e94b5eca7388cfL,0x17cc0a60c0335d38L,0x9b69b78b616f85baL,
  116474. 0x705d02ef10122980L,0x565a6e801cfd0a79L,0xeb74a96d7d1ee352L,
  116475. 0x5c8832ed427b9dadL,0x96ea8528e6d5330fL,0x30d8862b18d24ee8L,
  116476. 0x9cd38ed59ff939f7L,0x690fc9a201060252L,0xc62d88b82303b3ffL,
  116477. 0xfc42d7a4dd52b469L,0x06f8dfa28cad2d93L,0x5023609060920438L,
  116478. 0x32582758fce855adL } },
  116479. /* 157 */
  116480. { { 0xeb20e45f359e8c60L,0xc71bb8a5364ca186L,0x02b15071dff8e110L,
  116481. 0x074e91d34c93e578L,0xc0326e00b829d0d8L,0x3c192258626a83faL,
  116482. 0x387a64d5fb29a09eL,0xcaaa3d34e5ac5c82L,0x8ed685e5ada2da29L,
  116483. 0x92720267eb29650eL,0xf7184b19763802f3L,0x23f5dd0edf6b1aeaL,
  116484. 0xbe1fa34725e6125dL,0xd6287f9d0c872a1aL,0x49aa93d2ac57c3afL,
  116485. 0x1a4e6a715bda7656L },
  116486. { 0x1a126ede554d1267L,0x37f945331cd02b48L,0xd70af04cce31fb1dL,
  116487. 0xcf410b0b097dc012L,0x930e1d1736c7b6c5L,0x902fee41c6891085L,
  116488. 0x349ba4a779fb638fL,0xa16c5821acd6f8dfL,0xfb3b83c12e076aceL,
  116489. 0x6b8d033be501d14dL,0x0593d45220f2d2daL,0x3752526d99df1880L,
  116490. 0xca32351c9feb33a6L,0xd91343bc1f6ef456L,0xc74857db35b9dc8aL,
  116491. 0x856a7c9385b4e832L } },
  116492. /* 158 */
  116493. { { 0xa007d0020d0a5583L,0x2f1301ddeda4658aL,0x91c0796434d939beL,
  116494. 0xa0cb6780a70c0836L,0xc0b4df95be81e540L,0x6cbbcd345d4ac8b8L,
  116495. 0x57c52ed054756239L,0xcac2dca41805ceb6L,0x915ee6ab79344255L,
  116496. 0x366def3124c9a2a6L,0xbd3b962f8c12c674L,0xaab64f1b7dbb7c3bL,
  116497. 0x3c0e4553e22bb95bL,0x2408febac4c63b74L,0x3ca773122a4da631L,
  116498. 0x62889084c636da40L },
  116499. { 0xa457fd538cb8d208L,0x7a8f8009543f06d4L,0xb66de154f2eff2abL,
  116500. 0xfddb28ebf72517e7L,0x0149fe66f9389d2cL,0x79e8773fd85b88ceL,
  116501. 0x452e090b0ba543f7L,0xdeb9b5cfb0b03fc0L,0x3113448a6c5ed77bL,
  116502. 0x3609f3cf8ffc0372L,0x2bc9c46d5c1b4c4aL,0xe66f3bf38fa59be9L,
  116503. 0x1396bf5fcdb02691L,0xf1ec59d4009f88f9L,0xc29034562ad9dfe3L,
  116504. 0x79d8122c5ada4d58L } },
  116505. /* 159 */
  116506. { { 0x14d4e4ceaa529507L,0x056a081474655d00L,0xc0d30a384f0fc474L,
  116507. 0x8a8203ea3443cb8eL,0x33c62fb097f1728dL,0x8a38dcfdb520ef52L,
  116508. 0xa0f90d5d7cac9d3eL,0x28a7b0bf873cea50L,0xd115ae3a6c6c41cbL,
  116509. 0xa35171daa13812c1L,0x25d4bba5624d507eL,0x91dad2897e98f42fL,
  116510. 0xffd6b1e996a41371L,0xd46c2125b69e5b77L,0xc7d2b42420c4f707L,
  116511. 0x2ab3af958142557aL },
  116512. { 0x86ca074c6a5372a6L,0x728fb83e56292ba7L,0x745596dc77741cf5L,
  116513. 0x70b4cea1520ef49dL,0x1472fe3461e46472L,0xf4d6bd663fb8ac5dL,
  116514. 0x46e52cc9c10bc071L,0x28794efe371a3461L,0xa4850718276fe877L,
  116515. 0xedad57739bef5ab4L,0x24c2d9ff3f15c815L,0x188950e58f8395c3L,
  116516. 0xbae4099680b6a855L,0x4f53e22c8a8803e1L,0xaf233f61039d25eeL,
  116517. 0x07db2c35250409caL } },
  116518. /* 160 */
  116519. { { 0xc7f3b8db037d4703L,0xe83708dfc5f488b9L,0x1fba830f8471d402L,
  116520. 0xa55ee8d25a2faae9L,0xc2e5bf105404fc1eL,0x647d5027aa2d5651L,
  116521. 0x37a53c0c7ebaf5f9L,0x7adf0bb295b30abfL,0x5a62e1fed64c93baL,
  116522. 0x7ffc18c0e2ef4a78L,0x139dd9d94d2cd04fL,0x253fbab75ea0af02L,
  116523. 0x7c8100ea0fef9acfL,0x74c5384dc8615aa7L,0xcb28682d9fe52069L,
  116524. 0x08b6ca8fcf7dd759L },
  116525. { 0xe04e5bea036c3b5aL,0x387261027f9f2b4bL,0xa9fca57029797c0fL,
  116526. 0x1656180b82879ea3L,0x153389bb607f0ddfL,0x99a1223c67b0e087L,
  116527. 0x0d1808ec9d897fc7L,0x9470711a916edf19L,0xf8f52f2b07217118L,
  116528. 0x5d8b29ffd18888b6L,0xef1e22c54cc6f900L,0xc4036165eb24877fL,
  116529. 0xfda9523335479525L,0xd622a4216861468aL,0x5d043b0774faba08L,
  116530. 0x2c337b020d31a7d2L } },
  116531. /* 161 */
  116532. { { 0x7b2305bcea22fa65L,0xbe183ef4d159f63aL,0x3473d87d3f35923fL,
  116533. 0xb27fb306c11d7753L,0x702e7e6b2a054cffL,0x3ce9f97caf185619L,
  116534. 0x835502434e7d51c5L,0xa63e3d82f356ac5bL,0x867b7caad7645131L,
  116535. 0xee85e6afa671fc9dL,0x3b985ede2b07cd77L,0x07d598b0ffda5193L,
  116536. 0xb10eca39a942dc36L,0x17f3dcee506218a9L,0x3d94e8d106b7d5caL,
  116537. 0x509b2634ed8831c9L },
  116538. { 0xb1b9414e48caed54L,0x77a78c6ccbf51e97L,0xa4688c8d4de9b258L,
  116539. 0x0024137c91ee3d78L,0xa68f9234e30ee64cL,0x573255bc88190d78L,
  116540. 0x41e8e05fba80690bL,0x50038d84ec354f4cL,0xb18f02d6dfa52816L,
  116541. 0xc47f9007ccb63fdaL,0x29d480fbe98ae455L,0x4ac45d225d0e319dL,
  116542. 0xd06f3575026db719L,0x733b9e202c3587b9L,0x224839922c317727L,
  116543. 0x1592d5a754bb8752L } },
  116544. /* 162 */
  116545. { { 0x5778d9a2cf7453f0L,0xaffb899aed83c1f0L,0xae6506d3e0a82ba7L,
  116546. 0x32c84e1aea3d5081L,0x9ad528c0810aa38bL,0xb1fdb020bd37d041L,
  116547. 0x78d6cbe1d06ce41fL,0xd287f0f02e74b7f6L,0xf5cd2575c43bb022L,
  116548. 0x6d28f2f3f81a71b3L,0xe65bb1f5c633e7f4L,0x32e5fc1cc4fc580eL,
  116549. 0xcd55539fbb7b07a5L,0xb5a94471c3caaf3aL,0xb958bdf44cc22d2dL,
  116550. 0x1614bdbd77a2777cL },
  116551. { 0x4c1f0230ed0ab04dL,0xae347b006e2082eaL,0x9f10bc63c42c5b5fL,
  116552. 0xb0539e6fde019935L,0xd89bd4e765dd0825L,0x92260fefbbceda16L,
  116553. 0x8aaa755ce62aca32L,0xed762fa95ec82c5fL,0x99e64c0118650768L,
  116554. 0x57dd6245c92e348cL,0x0db88a7731ea6d68L,0xef0012ab07b44736L,
  116555. 0xb9356b94171d70feL,0xe68b062803f891b0L,0x3a54a53ab79c20a2L,
  116556. 0x489656c7b00b0728L } },
  116557. /* 163 */
  116558. { { 0xe43649ba71353c25L,0x517f27a113f67e24L,0x10bd333a1c1eb9e3L,
  116559. 0x94e1c05c78e29bf9L,0x84fe7d974743f15dL,0x9c87490890da2df0L,
  116560. 0x82403fa753673be1L,0x7ebf5db41baea1b1L,0xcfe0ae3524180eadL,
  116561. 0x1d15873fc2f50c3fL,0x16851ad670661cd9L,0x802968d9a51e8c2cL,
  116562. 0xe7d1a9cde0161099L,0x2b153c89a8a7ea56L,0x6d41b78906e3c498L,
  116563. 0x082bb2e9d6769dcbL },
  116564. { 0x6180ef46c4d6615fL,0xfc629dc101b9829cL,0xde222ec00fb264caL,
  116565. 0xc5457e0610ecc2c4L,0x95ce599f1eea2c4dL,0x0433fa728f9c5b2cL,
  116566. 0xee035462cd6310f9L,0x84c57c3bce2e2253L,0x6c8ec31a96d87e44L,
  116567. 0x30bfe393a452c5a7L,0xc592b140a047b235L,0x7bd8be18c018545eL,
  116568. 0x794e01075c178c46L,0x484719462e23005bL,0x2665e237622a54f3L,
  116569. 0x36451a46901c9042L } },
  116570. /* 164 */
  116571. { { 0x17802d1819893e71L,0xa1765d8b539a2082L,0xfc6aea012302ecfcL,
  116572. 0x8d4cf51b365bf59dL,0x87741d720d232a80L,0xac343eb318e80427L,
  116573. 0x553ecb2fe74739ecL,0xaeca79a81a8b07caL,0x089ff32256f4ab3aL,
  116574. 0x5e95d7293fa1d1f7L,0x260569aef62a9a16L,0x5e776232aa08ddc2L,
  116575. 0x93fabec31b7bb54aL,0x48a20956743d56e7L,0x749cdb12eb0ebeffL,
  116576. 0x705307a469b8fcf1L },
  116577. { 0x7a8e4c04e488310bL,0x12726e325325cd7bL,0x5d0fd8b04983efacL,
  116578. 0x796e552c02ddb913L,0x0eeca3f777b9685cL,0x9b766e89b15f24a3L,
  116579. 0x7c2736d648efc979L,0x3d619685a8021c6cL,0xfe33e278a0b2f1eaL,
  116580. 0x95c69879b676d6b0L,0xa07473191af4e0beL,0xa2fab5f136c4ee55L,
  116581. 0x6938b8ff59e5f3b9L,0x1e114da439cafe6eL,0xc9595ec36a6ad120L,
  116582. 0x80f79bd057e62aecL } },
  116583. /* 165 */
  116584. { { 0x3cef42a760af09b3L,0x3c016ebd933dfe14L,0x720cf1e0ed85eaa8L,
  116585. 0xd4f5e99fceaa3bc9L,0x7216b9d2b7106f97L,0x65f34c36c9668ad2L,
  116586. 0xa8fb82bc5b0c651fL,0x20f42f1cf2fda4deL,0xeb31ab2cd21f659eL,
  116587. 0xb7a776c7a13d1618L,0xec44102238662be5L,0xc825da70cad08e0bL,
  116588. 0x99299079022c0180L,0x7623bda02aef9ffdL,0xde84f4f3f5c58b50L,
  116589. 0x5f5a5da4d824ff19L },
  116590. { 0x5737257e7e8311dcL,0xdef94f51466cf136L,0xa73e1645b05ca21aL,
  116591. 0x38ea9b3c02e4ab37L,0x7760eac98579165bL,0xdffdd047c24b01a4L,
  116592. 0x188d4fd13fb95584L,0xfaac38b825548bdaL,0x1a79a6f059e9dcacL,
  116593. 0x983f720f09a2700fL,0x8cbba554fb8a7e48L,0x38a1996847a1fad5L,
  116594. 0x118565475abd6b5eL,0x75113d31f3716ec2L,0x1391e7814212907bL,
  116595. 0x5319c8010dc15889L } },
  116596. /* 166 */
  116597. { { 0x2320136e6b61c3afL,0x1d40f2de07b4bb68L,0x651dee7f380c97f0L,
  116598. 0xa978ba706a8c313aL,0x22c587d62011ca10L,0x48bba218ab1f445bL,
  116599. 0x8c5eaf07e50444e6L,0x5549f02a442fccf9L,0x2564746f3d80493dL,
  116600. 0x42d24f6179c04591L,0x1600fa18abdc8887L,0x5cb8600aded38f8fL,
  116601. 0xa4bf9b90923aeb46L,0xd63fee351e1c578aL,0xf3c9c5acebb9ea14L,
  116602. 0x3d13314df11a4ff0L },
  116603. { 0xe5cc662db4513d1eL,0xde78a8c5d55952bdL,0xe8a37a3fe7f86d0aL,
  116604. 0xca2d12a47a04f0c5L,0x4c6696e42e25d06cL,0x52614698b2136071L,
  116605. 0xf4d2701b89f6e1cbL,0xaafd617780efd95eL,0xe6d73ac4c5bb6907L,
  116606. 0x49e874ac420db35aL,0x11631de4f2751fa0L,0xb29f7336a1fa2eddL,
  116607. 0x4c406864b7fd794dL,0x73cb21d3e22f92a6L,0xeae904e62043cc76L,
  116608. 0x67f28a9fb322c6adL } },
  116609. /* 167 */
  116610. { { 0x7c17b258ca148ab5L,0xb9a1976fb3c60051L,0xea260698c8f28df9L,
  116611. 0x87b2cc74e8d45017L,0x372573290578a422L,0x81d5ee2517bec732L,
  116612. 0xd7411fcf1d48bbc4L,0x46217e6b487f5cfeL,0xcb007ac541eb8e1bL,
  116613. 0xc41c57a6e05a00c8L,0x1f954d2bd2f9fa99L,0x370bd5db40941cadL,
  116614. 0xe487879c3829509dL,0x4c1375525ceca5eeL,0xe8ef7fa4fd3efb9eL,
  116615. 0x5ff091741bd1bdb2L },
  116616. { 0x791912a4579c6632L,0xbb19a44fb8a20815L,0xf4f97b84535639d3L,
  116617. 0xe57e2bcbbc3c9bceL,0x122b3f2bf19e6410L,0x1f0189da1357d9adL,
  116618. 0x675573bb79e5ff66L,0x444e5c98ef2f3c4cL,0xd6f61e2004d10731L,
  116619. 0x0dfa366fac75d635L,0x9fc47c862c854f23L,0xc04ae43e0ad0850bL,
  116620. 0x5ce94f642f720c32L,0x67efae65a753bc9dL,0xc27d30d3b0373a63L,
  116621. 0x6681013a29721646L } },
  116622. /* 168 */
  116623. { { 0x1385d913e84509dfL,0xe978beddcf339376L,0x2df425d33423a148L,
  116624. 0x43fa0ae3ee8cb579L,0xf015369d31c4553cL,0x05cf08bbdfbf1d48L,
  116625. 0xadff4be69444244aL,0x01635f81a35dda33L,0x085c8949e76fab7cL,
  116626. 0x4bd7fcde16737783L,0xfd8cb52ca254f8d2L,0x62168a66413ec985L,
  116627. 0xf2db97417a9026ccL,0x3962ee5650e1e1b7L,0xbee0a346d3beffdeL,
  116628. 0x3b35b72f0bdfab1fL },
  116629. { 0xbff8de9f535c3749L,0x23c1f20f8add9c48L,0xa975b37bc8f8f663L,
  116630. 0x2529e475e8f3ae49L,0xc32f10d51d5e2628L,0x5ac0d29767862f1dL,
  116631. 0x13c79338854cbe36L,0x48f004ef4b67e462L,0xfa37a150e5d10ee1L,
  116632. 0x4974778dd28288a0L,0x96830a66cfb73f4dL,0x9f44401307804952L,
  116633. 0x8233c7099760b694L,0x8340cca525b75c99L,0x3f62e40bc771f99cL,
  116634. 0x47d0a1ebcd95c685L } },
  116635. /* 169 */
  116636. { { 0x266f4fff652811f1L,0xeaacaa9362ef3002L,0x6c387a5550cba0caL,
  116637. 0xa350142a007f5467L,0xc7fd102a202f2673L,0x5daee57033dc6e65L,
  116638. 0x60682ec3064a63d9L,0x46cf0bb0462b251eL,0x0e030ca55da936e7L,
  116639. 0xc87a60f2434265b5L,0x9637b2bb69b4e8f5L,0x601fb58c7ad7770aL,
  116640. 0x1f2147f6ed3a15a6L,0x05b47d5e2995e961L,0xcb0ca9b383213a16L,
  116641. 0x8f4b614a4995a85cL },
  116642. { 0x5aa8ec194b4eb3c1L,0x8c549ac420323a70L,0x00d493224f6cc6aaL,
  116643. 0x0e53b9bb45f9a5a3L,0xe46ef1100897abbbL,0xfe873e57d7acd7d0L,
  116644. 0x7cfccfe50f7cb588L,0x0ea53d65c85557d1L,0xfdd9eb447288f2e2L,
  116645. 0xab2dedfac0eb68a8L,0x5822147008603a0cL,0x6946468900feb06cL,
  116646. 0x804cf5bf25e5caacL,0xd85598589fc91ae9L,0xed9378b173c45eaeL,
  116647. 0x8f942d02524c9801L } },
  116648. /* 170 */
  116649. { { 0x1f1ec3028e845808L,0xc302bffab77abfc5L,0x26afd4b9f8d97dc7L,
  116650. 0x3d3a83c43aac594bL,0xe3b74bd1674d94dcL,0x4464b737caa5911cL,
  116651. 0x62925773871c2cd2L,0x419f24853b4440feL,0xdda6a0f3e052ad7dL,
  116652. 0x645280d6846c86c0L,0xa25689faf8324f42L,0xc74ad1e807cf117aL,
  116653. 0x5626dea08ddc9db7L,0x52620373966fc85dL,0xe0ad57c3f3b1eb53L,
  116654. 0x38300252949c1acbL },
  116655. { 0xa0ef5a405e744723L,0xdb5bcf751ae08481L,0xabfad8ccfec1f76fL,
  116656. 0xfba5d831fab37fc6L,0xbe39e248c8fedb78L,0xa5cfad5fad93f310L,
  116657. 0x747fdb1e913d5c24L,0x052a47c94518b7f5L,0x9e208d6c7cfb4327L,
  116658. 0xb135cb9c70e538beL,0x363527595bb17916L,0xa2c078805b3106c7L,
  116659. 0xd2d42a06c209bb06L,0xb525b471d3c504adL,0xc9f4b368822ce034L,
  116660. 0x15f18796eb4185a5L } },
  116661. /* 171 */
  116662. { { 0x094dea060aee4684L,0x42b21f067cdbdbc8L,0xa439e149b1931319L,
  116663. 0xea4bdd4181a7dba6L,0xc62137063c2ae80fL,0xb58b096712823dc2L,
  116664. 0x7443d515832611b1L,0x2e16f83113c20384L,0x0ce204d62bd992d2L,
  116665. 0x499dbcd6f419388bL,0x492ded1d1d3778c7L,0x9d5bd74fc5ddae73L,
  116666. 0xd4813d52994b6259L,0x191d9cf60e86ca68L,0x562179eaf3e9c2acL,
  116667. 0x6146f1f39fee1238L },
  116668. { 0xbd06d33e078e2aa6L,0x693af7f79dee9265L,0xd56e0f81daa40e84L,
  116669. 0x05fbbb889b9a407eL,0xdcf44adcede99519L,0x7f71f8d3092dba39L,
  116670. 0x675b5da54231774bL,0x7456a251a5f605ebL,0x9031d4af87a39a9eL,
  116671. 0xdb43000605b474bdL,0xbda5dbf2b665aa91L,0x5d1a3df56631eeb4L,
  116672. 0x028149ef62377c58L,0x2e1af4e9685d0bffL,0xe0ea087582a465deL,
  116673. 0x95543f9e06bd0050L } },
  116674. /* 172 */
  116675. { { 0xf7cbc6f485d7c6efL,0xcad8084d63b1bc24L,0xdf90ce88bf8cba62L,
  116676. 0x98e4b686b455c192L,0x6146b8d5774fc6edL,0x70e2389e7ae20077L,
  116677. 0x5241c47961c22529L,0x7d2215103884e5f5L,0xd6d20ce217e28273L,
  116678. 0xe3119f514f2674f8L,0x8545905570c011dbL,0xdfab75d9fcfb760eL,
  116679. 0x9546362a9e8c2a19L,0x4b6d3f8a4a7d4b27L,0xa5c87104ee5d698cL,
  116680. 0x6db434782ba296ffL },
  116681. { 0x064864935c3f0d95L,0x8917db824e748895L,0xf73fdf626b2f3e44L,
  116682. 0xc60edc542b7f574bL,0xbe1c09a2af732723L,0x7d34669d7cad114cL,
  116683. 0x9646600a321aaff9L,0xb94e2bbaed0cd61cL,0x866e1a41dec4750eL,
  116684. 0xa1be990db1a89f58L,0xc39e4d6cf2759693L,0x11cfb780c0e0dddfL,
  116685. 0xf0afcd7fd99c8a41L,0xcebffadb6e1c3050L,0x4f3981b096d2c6e4L,
  116686. 0x07a791e72ae27a94L } },
  116687. /* 173 */
  116688. { { 0xe70e90471e9f0300L,0xe0253ad9bccdf904L,0x51c0289dff053078L,
  116689. 0xf1ef092eae893462L,0x2c90a91aa4846845L,0x1946eda0f1dad4b4L,
  116690. 0xf07650f333df67b2L,0xc6e988db0b15a014L,0x72e0c66eb542f0f9L,
  116691. 0x5d4b6311e0c0378fL,0x548badaaae86950dL,0x6801638db35f1c8fL,
  116692. 0x129e3216944d1ad4L,0x9951bac840471d32L,0x03cc29f385e94ddeL,
  116693. 0x6d6acc2e4543ecacL },
  116694. { 0xeb999e9557b2d299L,0x3a2bcd9be3d721cdL,0x2e60384fbb4cb444L,
  116695. 0xae177709dc060faaL,0x74f0e6d38c987cdeL,0x9a237cf81076fbedL,
  116696. 0x69af15137983fbffL,0x6c3f7a1d323f9584L,0x3e21cacf6db64398L,
  116697. 0x7cd8134f96703d92L,0x0755898fb8393f76L,0x1b5b28bc2e825222L,
  116698. 0xb78799c17924aa7cL,0x1db378f281427a8aL,0xd5a451b1ff289492L,
  116699. 0x79d182123d3c46eeL } },
  116700. /* 174 */
  116701. { { 0x1a3edff9109d5589L,0xded52eb4029b4499L,0x13eb9d30b4b54adfL,
  116702. 0x4f9214c1a27bff67L,0x4c817ee767f0f460L,0xbadf8d83c3a50e28L,
  116703. 0xc5dc03c994026237L,0x5f29581b966647c1L,0x10b6a0898a0687f3L,
  116704. 0xae787cec31634517L,0x2001dba562e75188L,0x55d4e1a745e2c3fbL,
  116705. 0xbfcacdebb67d3395L,0xa1a0af9cbc6842eeL,0x50590a2b3e88580bL,
  116706. 0x73104491a784cdc8L },
  116707. { 0x44ca2cdf2648d676L,0x9a85eca54f1b12b1L,0x1b9dac942980e1ebL,
  116708. 0xf30d37091ac8aa89L,0x73072ab7c719e195L,0xba518c822f703797L,
  116709. 0xac090e14ac0067f6L,0x0e6cfc708dcd2927L,0x4f5889e221e7da63L,
  116710. 0xb4aaa40b8371c7c6L,0x1f9dabe28f7878c9L,0xf78aed6bd84caf3fL,
  116711. 0x3c39dd079e0e1d92L,0x680be5fb122424dcL,0xf41b214d0bdc0099L,
  116712. 0x6a8f8fc95180c54fL } },
  116713. /* 175 */
  116714. { { 0x62a1ed6353235132L,0x1db233f159dba88bL,0x85625452291efdd8L,
  116715. 0xc7505297b25111aeL,0xb5921af91d701bd8L,0xb4d05d729774f45dL,
  116716. 0x6e3d4c5ef18e73ffL,0x897d985f899b3038L,0x8a9c30fbc89b1558L,
  116717. 0x3c92d1a34d13181cL,0x292e86ba2223320eL,0xcf2454c201ceed02L,
  116718. 0x27a45f74583f309fL,0x75a6102cad0fd1a3L,0xdb4f45d2cb9c7538L,
  116719. 0x4752d8c1db283fd7L },
  116720. { 0x514d6cead5dff4d5L,0x74cd5fdb45a827f4L,0x1070a60c4fc7135eL,
  116721. 0xdec0bb781be5778eL,0x271e12cd58dc6b08L,0xb765089b54bc2496L,
  116722. 0x6ddf2c63619098acL,0xfd6ebac667528832L,0xeaa2d025c2508af1L,
  116723. 0x13c2cda84dcfc1f0L,0x1c7836a845510be0L,0x3904688d1a886801L,
  116724. 0x643132aaafaf2545L,0x496855772830a88dL,0x569491ca8744b470L,
  116725. 0x3a6518f375fb8552L } },
  116726. /* 176 */
  116727. { { 0xaaa8ed50224042a0L,0x6cb4e3b02452f1e6L,0xedca5f4c768211d8L,
  116728. 0x4e0fe3f9ef4d5d3fL,0x33a8e2a4522d46e5L,0x5998e21ff1446775L,
  116729. 0x1496c50ef592d01bL,0x69104c2f83a67739L,0x28670bcb472bbf00L,
  116730. 0x8ea883b2503177bdL,0xc5d8bc057d2712a2L,0x41ef9317b439c994L,
  116731. 0x9801d3a8dcda1affL,0xd686eeb57038f6fbL,0xe80c5cd0fbfbf820L,
  116732. 0x540ac363edc25817L },
  116733. { 0xa71969a9fe7f43dfL,0xe66538082c1b9e4cL,0xad9677d8859c2917L,
  116734. 0xbaca954596aa4404L,0x0e9d855fff1297daL,0x1f61897b22aea7deL,
  116735. 0x96edccfd36f13f8eL,0x627d307016e200dfL,0x729f0736c98988a4L,
  116736. 0x95e25e6097f231d2L,0xaf7f221bf6048752L,0xd66826094019b299L,
  116737. 0x1d99de0926b4b1d9L,0xec47cf661acdd7a3L,0x4de9f2b36ebe15e9L,
  116738. 0x17db32ecfa16974fL } },
  116739. /* 177 */
  116740. { { 0x75ef69196cf40599L,0x7ea10dfb00c020eaL,0x3da5ae7bfcaaf679L,
  116741. 0x0d663ca388ddd678L,0x5a21f8fe255bcfcdL,0xe9c3f538e344bc7eL,
  116742. 0x35f62b1d548e0632L,0x654f242543c6e64dL,0xc755a7a626993627L,
  116743. 0xa3b7c5f7b0f41324L,0x05697f793a2180f3L,0x6cf85fb11e81675bL,
  116744. 0x6d3cdb35e53428f5L,0xe3aa159152d28b02L,0xa8470255f7a3fb78L,
  116745. 0x460bd01ba194445dL },
  116746. { 0xbc34dc23c24d8077L,0x82f4b5804c720d2cL,0xa29da9116f5d1ffeL,
  116747. 0x578af52092783ce2L,0xe29f51abb5904af3L,0x46c570d7f7aa1190L,
  116748. 0x4a522fba571bddf0L,0xbf4e2a06ae89bb51L,0x799b35cc59f3444dL,
  116749. 0xc302836726cc2557L,0x94a4e985afcec177L,0xadaf7dcb7c36cbd0L,
  116750. 0xed31b78775d39077L,0x52d6904f2d3e24bcL,0xc5ca26691f95421bL,
  116751. 0x7d342c3c1734878dL } },
  116752. /* 178 */
  116753. { { 0xe5cf2c0a11fd127fL,0x66d36bb8119e4c5eL,0x621ab2526ef56ac3L,
  116754. 0x30cfeaeee5430675L,0x2ede27d2ac3e9619L,0x6413513af8fce671L,
  116755. 0x6159c61b075f4c3dL,0xd447efe959069d98L,0xaf8d6f68ea76aea9L,
  116756. 0xac5dc61b0f5bd164L,0xdbab446e1e88bb98L,0x618b8b161ba92320L,
  116757. 0xa0eafb3c78989865L,0x0c7abcc2c08b7e82L,0x10f09b6e20d160bbL,
  116758. 0x5be0afa68e4c63a7L },
  116759. { 0x82ab6d381bbbf49cL,0x3e09ce498c0703feL,0xeca58b5de10f4263L,
  116760. 0xd9cc6581da5a4532L,0x07e18876f618f7b7L,0x0419a5e3250f7fe7L,
  116761. 0xbb1a9e90de6b86beL,0x584a7deb37359169L,0x38eb34895149db2cL,
  116762. 0x14546a33b0ebabb8L,0x0067f0b0c2f88a92L,0xbde0dfe70a2db019L,
  116763. 0xba51b06cc63e6f3eL,0xa19127b9e9206fadL,0xe4eb5e87fe80dc0aL,
  116764. 0x1e6fccf5d4de30aeL } },
  116765. /* 179 */
  116766. { { 0xb57dff66aa8ac924L,0x06e9ad31c298b3e8L,0xd140e32965fb080cL,
  116767. 0x7dab211d1d95c93fL,0x6d68d8428a180caaL,0x1a929408a20ded69L,
  116768. 0xa815175338df461fL,0xff5604ae60eae932L,0x901b9e497dae4c0bL,
  116769. 0x4573a97fde262e89L,0xed69d9a4f1084983L,0x8ffa022f64724f1dL,
  116770. 0xd5f1c2e4ea85a15fL,0x4c626ce901453794L,0x80440cd6bf0907ddL,
  116771. 0x4522d4615ddaa837L },
  116772. { 0x8895f079ebfbe7c5L,0x30ea1ded84ef3446L,0x716a9eb6d4a1ab96L,
  116773. 0x1a4a5d2250a30c68L,0x5a16631c0043bbaaL,0xbd1075025010e5f5L,
  116774. 0xbffe3e9d3d8c0556L,0x31b30b1807772419L,0x90ff7ef084b82297L,
  116775. 0x00c37d75f21a18c3L,0x18d0a635565bb8f8L,0xbac1da2a45e3bcebL,
  116776. 0x1c38e90c23f0b08dL,0xf1ba1aa25fbc5ac5L,0x09d5256bdda71fc6L,
  116777. 0x346501a96d7e40baL } },
  116778. /* 180 */
  116779. { { 0x86be448ccc2b0f1dL,0xe3eb45c9ac4c3703L,0x5387f65d9fc96bbfL,
  116780. 0xcef3c4e95ae27fdaL,0xa008f7761bc18089L,0xf374a08422ca18a1L,
  116781. 0xee88284253b73371L,0xcb6fc6d87cc09354L,0x8489ec1b61496d6bL,
  116782. 0xa92c29b949e325c4L,0x15c6ca527bdec166L,0x95444eeedcea2813L,
  116783. 0x34683eb33a21154fL,0x8fb26f98d39061cfL,0xc3b08aa806c940bbL,
  116784. 0x7c1d42cfe554c96dL },
  116785. { 0x766e703fdc110aa7L,0xab7b79d7f362e378L,0xd259c75d5aadca3cL,
  116786. 0x2a6eca7960be3373L,0xf4744a4b06c4e8ffL,0xb2842ccef3b705bfL,
  116787. 0x1a3af5aaae304b53L,0x7bbfa2011b2d31b8L,0xc4ba6eba4bee88d9L,
  116788. 0x2d3565ce565cb839L,0x24808696daf7ece8L,0x2c7ccce7e6959745L,
  116789. 0xefd6eb3ce94f9837L,0x0a33b4cf3811a326L,0x14203f43fffa93a6L,
  116790. 0x031e982873c31d90L } },
  116791. /* 181 */
  116792. { { 0x4fefecfc765a17ffL,0xa09f3888d1290a65L,0xbf265c46938da038L,
  116793. 0x4bb6145da169ad46L,0x33cf821423a62fe8L,0x562df571abc860a5L,
  116794. 0xbf2a90fa815c38c4L,0x45ba1d6e17eda875L,0x799d881a946fa5e1L,
  116795. 0x6c1be784b90f5a3bL,0x0910a37cb10ff52aL,0xc38c1fe4a4f4fd36L,
  116796. 0xc3180fc58e2d3ba0L,0x3e2ff050b17a6187L,0x3a00059b943a35c2L,
  116797. 0x494d3645a28cc51cL },
  116798. { 0x398426b64ba021f8L,0xd14c9083796deb6cL,0x6d2e53957e36c762L,
  116799. 0x8f556eca751cf216L,0xdaca1e0019b24a19L,0x47887da44b20c2aeL,
  116800. 0x93ed4ccdff41a733L,0x8d717c445c7c0cd7L,0xcc48634a91bf7009L,
  116801. 0xa1f146f93b59bbafL,0xdd38bb39e5624f15L,0x96d41aad303f8443L,
  116802. 0x6b670f034bf104fcL,0x0503f9ed29706582L,0x768e1f47b34200f5L,
  116803. 0x3cfdcc5ebbd4c6f3L } },
  116804. /* 182 */
  116805. { { 0x536c2a86b523e13dL,0x1014a4582920d0a0L,0x3d52b478e7571296L,
  116806. 0x057460667eb51beaL,0x709f786187b0e919L,0x028aed88686888e8L,
  116807. 0x79a809d7d94afcd4L,0x50c6032fe2129af3L,0x75e4be72983c4082L,
  116808. 0x98331bbb7ab3be8eL,0xd31a032cb618c728L,0x36dd85a13f59c4a4L,
  116809. 0xdbece345ed4f61e2L,0xba7aaccd1e571715L,0x138c58da64a1ebd7L,
  116810. 0x89296d0f3d1aeea1L },
  116811. { 0xb165288fcca82c97L,0x26c6c12d1427e8dcL,0x66a94f074c3edda9L,
  116812. 0x94600e1eeaa01ebeL,0x14abce7c30f5e86dL,0x741d7020cb456a31L,
  116813. 0xab05aa13279f42c2L,0x70b60fafd4238468L,0xa18efec1318d39e6L,
  116814. 0xeb07f1ac8920b318L,0x01e3cba8d8399e03L,0x65f8932e3c81a301L,
  116815. 0xae8bca7dccc667d8L,0xcee1ae79a268607cL,0x3182e64ccac0a12cL,
  116816. 0x9233a2f72b1a4c54L } },
  116817. /* 183 */
  116818. { { 0x717e8df60acbee17L,0x0f0959c25c24fcdcL,0x46f09887e54ffcb0L,
  116819. 0xb993decad285116bL,0x0bfaa4f8bba1fa51L,0x9c9249efd0f2183eL,
  116820. 0xf93cb35896847779L,0x284bfb7f2322d421L,0x40cc709ad42af009L,
  116821. 0xc69f22749bb1d615L,0x76f50b3a717c3c6aL,0x8b21e985bb9c5eebL,
  116822. 0x58fb19aea4783b5fL,0x04c86b9b52e1c3e7L,0xaca59092f2971ac8L,
  116823. 0x2bb26a6921ed8291L },
  116824. { 0x98a3443515f81416L,0x086e72e7aaff5bb4L,0x3d1f64de0317261cL,
  116825. 0x31c0786c5c0a1cfeL,0x542ea4d8b3683401L,0x2f77273a1a39b4cdL,
  116826. 0x14fe7ee1cbef27f1L,0xee7fc09e16bb27dcL,0xc0dccc17410e5dc7L,
  116827. 0xa34667421943b3ddL,0x92934b603f31c1b7L,0x0186ded9c22c1070L,
  116828. 0xa37ee8ba799f966bL,0x0f3bfcb4249b0893L,0xbae614472e92d4deL,
  116829. 0x937cb3f8e196eb08L } },
  116830. /* 184 */
  116831. { { 0x57c0e77c16fbfdceL,0xea034cc9c98d4cc0L,0xe7606d7242572d20L,
  116832. 0x9861b55c0019a83cL,0x80ba2803f1597162L,0x0f4141dd05a0fd7bL,
  116833. 0x8865913b4b0daaa2L,0xe6685746aa3848ecL,0x16d15a5a3e0485d2L,
  116834. 0x81c0c7743b6905ddL,0xcec31b7d818af2baL,0x80d8f194d2b74b78L,
  116835. 0xca659db2543e2f28L,0x31b83a7d9fb07c1cL,0x86537fdc1f1048c0L,
  116836. 0x4d57bb0778586a11L },
  116837. { 0xbc4b768a53b396b6L,0xbc8b24c493b51dacL,0x33e511eba30ae1b3L,
  116838. 0x893bbd95945147c5L,0x6cc86031179fe3ceL,0x34b0a1673f920bd4L,
  116839. 0xb32912eb6b256160L,0xbc69a2a49d168d83L,0xb4949e7aef0dd128L,
  116840. 0x2613419a872699e1L,0x06c58477bf21376bL,0xe55b1909a4f97147L,
  116841. 0x63d6eb757b9b745fL,0xb5365b2908df3c85L,0x0e257e4355fcfae3L,
  116842. 0x1067c118979f2aa8L } },
  116843. /* 185 */
  116844. { { 0xc845508432bf8883L,0x4755286a6fd06667L,0xd70b0f8f77c2335dL,
  116845. 0x678e60da2f4a2c94L,0xa468d8acd118acf5L,0xce93830bbf5b90d9L,
  116846. 0xea4b1c74ed4e9104L,0xac67316d27776ea4L,0xb98ad75c361bab12L,
  116847. 0xc323d48299122451L,0x26440220530a43aeL,0x3a44532e3292d5a5L,
  116848. 0xdb48694b5fecf1bcL,0xe4e0516ec667b8b8L,0xb3aa595fa4306adeL,
  116849. 0x7e4f7091f34e9725L },
  116850. { 0x3f3816e9b7f70919L,0x765216ed16b003f5L,0x46c6cff4778c99e5L,
  116851. 0xe6a5abe830a51810L,0xef6f49e645e728dbL,0x6fdd73eacaccefd6L,
  116852. 0xec394e6f8c37f3f7L,0x73320802b6407fc3L,0x988e8f7a96625cbdL,
  116853. 0x832923637cabfb00L,0x258ba9df407f359aL,0xff01aee5ccbfae50L,
  116854. 0xfbeaeacefe251813L,0x9c69f16183f1cba1L,0x512c58ad9eadcdb5L,
  116855. 0x2ae49cd46ccce8bdL } },
  116856. /* 186 */
  116857. { { 0x1239b0e3c40849f2L,0x5136a4cda441098cL,0x61535a99e547f649L,
  116858. 0x92e4bdc47a9bbac6L,0x195a164653547af6L,0x85ecb3198b47a74aL,
  116859. 0x278553fc9de6a2b2L,0x471c038a0e2ba52dL,0x12ba1b8835bcba93L,
  116860. 0xd4bf50da6f31eca2L,0xd146e3f6802b32c6L,0x0c9c01313c64c8c4L,
  116861. 0xad30f12deed21297L,0x9b75bffb9c68530fL,0x23c0ad3e8918de51L,
  116862. 0x180e9d52a73771b7L },
  116863. { 0xc316542f29ab77b0L,0xdd411d9cf7aee628L,0x044c0685353c2f40L,
  116864. 0x638dc7e44b0ae4cfL,0xa092418595fc266fL,0x639da671fd2feb7dL,
  116865. 0x56858ed55ea39798L,0x7a694f3158f3832aL,0xa94233c6d316d831L,
  116866. 0x2fcacb2630a35a7bL,0xfef8f7ddf1ff713bL,0x8b9b452559eee2f3L,
  116867. 0xd1b4f91b156d064aL,0x177866c22f5cfcfcL,0x12bc25663777eb41L,
  116868. 0x21ca6f3cd8ab85b4L } },
  116869. /* 187 */
  116870. { { 0x0e162b13a3e66635L,0x1ef20a2b2a9f76afL,0xab473a3046db3356L,
  116871. 0x0840bd777802bb8dL,0x5b6baf5ea699b44cL,0xc6e119001b2207f1L,
  116872. 0xe5de16a9790b0105L,0x22b12f15db67f004L,0x185fad458a025d25L,
  116873. 0xbccf6953df0a1142L,0x4c42129bf45034c0L,0x0f7404001c277bffL,
  116874. 0x6e440b4c280a9e18L,0x767de8f5842aa2b4L,0x3de20ab805e8d94fL,
  116875. 0x5aff585920227635L },
  116876. { 0x805acd20a8458e40L,0x5a5557d8149732bdL,0xc70741315f1ca72dL,
  116877. 0x7f2e269c952b5323L,0x5c5925566494fadfL,0x153b7acd1a7d2666L,
  116878. 0xa6df063d86fe2865L,0x1e91db1357d53b6bL,0x9195bb89e93ead01L,
  116879. 0x3d71e1af2963bfe6L,0xfab2b9c288278886L,0x778366923b859b6fL,
  116880. 0x6e695174f7029dd1L,0xc79878767b984561L,0x64fb4f1d5907d849L,
  116881. 0x3eab7e1c88d8a977L } },
  116882. /* 188 */
  116883. { { 0xc73a94b652e5718bL,0xe3aefa54f4cee1e9L,0x654e9e63553eedeaL,
  116884. 0xf2541e1b5f3aca1aL,0xd71294890d083316L,0x7965af63fb7f950eL,
  116885. 0xd8fc9e0dc74e3e4aL,0xb4ee48d2eaf79ebcL,0xa458a86a8b7787e6L,
  116886. 0xd8c7621ff7cceaf0L,0x8228eeffdf67980dL,0x210d4742f9106727L,
  116887. 0x91f63501b07e3629L,0x441761c67971e29dL,0xc0ccc65f03a3b8a5L,
  116888. 0x3491da4f38e09544L },
  116889. { 0x6706d046cb062eaeL,0xee7db7355d08776dL,0x80de8052292315d2L,
  116890. 0x40785662c402bbdbL,0x5f93525c26ed3337L,0x6cea14d67d568ed3L,
  116891. 0x916a118966888b1eL,0x0fbd52055dc71675L,0x833d1077e4575df2L,
  116892. 0x4e93100aec092335L,0x2f9e1d016cd85389L,0xeebd372543226368L,
  116893. 0x401d172b1ba4cfd7L,0x377dab9d574c5838L,0xaeaa695880d517deL,
  116894. 0x0c843dfd6ad15a18L } },
  116895. /* 189 */
  116896. { { 0x455811ffc9373300L,0x1c39332a99fdc300L,0xe19bb81c353cb655L,
  116897. 0x774b924a96a83d27L,0xcbfc8fcbb2ee3f1aL,0xaf278ec4010d56c7L,
  116898. 0x6fde682fe0abaf79L,0x7566d0727339aebfL,0xbd35ad5d71205db6L,
  116899. 0xb5bbe6947051c9d0L,0x577db480d3a3067cL,0x2c70ff54572d7530L,
  116900. 0xe8615aece06d853dL,0x71999ccb05abfb5dL,0xeeefc96bea0a8ed7L,
  116901. 0x2dcc469d35f6df69L },
  116902. { 0xcca6cd06c65f0e77L,0xddcc7980bd71b14aL,0xb6221f8b3c93cc00L,
  116903. 0xddfcd5b3ae8cbf57L,0xbc92973f76f8e63fL,0xe9848a3406e132b7L,
  116904. 0x4cc59a03d51ec9e2L,0x9c9d32bb3a33081aL,0x0012105280e8466bL,
  116905. 0xc2b0032a1bbe7295L,0xdbfc657224938448L,0xe972a0ceb6bba0ffL,
  116906. 0xf60c0a4fc0a94802L,0xf62c41cc599d8bc7L,0x820c96ee312da0b8L,
  116907. 0x5a1a65dbcdbdf9fcL } },
  116908. /* 190 */
  116909. { { 0xbfba691a42485684L,0x613116b929c470c9L,0xb4b01971e62a0519L,
  116910. 0xf3245aa65ff499daL,0xc2ef87f4a5238effL,0xc16dc6bacc9d5515L,
  116911. 0x5a7f227e2dbdacacL,0x8dedaac4a9bbaecbL,0xff308a6d2e7c9885L,
  116912. 0x4c6f2fc2e6895593L,0x3655f285177e0611L,0xa63e8d06300b1beeL,
  116913. 0xbed0ce7913c17b54L,0xca4abe35c4974262L,0xf4b44a17bc4e4037L,
  116914. 0x5ae95099efe5fbd9L },
  116915. { 0x122e5ee7804f7455L,0x341a499722066682L,0x97d24c317795e333L,
  116916. 0x12f4123ce48efcedL,0xe8738d9219fbc21cL,0xbb3bdc610663a3aeL,
  116917. 0x3603d8c28593a6dbL,0x926227f2e3c1ac75L,0xfea92ac05eaae519L,
  116918. 0x5b596f0bfd6812acL,0x3ce7e844fc2a82dcL,0x3840481a63522b27L,
  116919. 0x836088b152867895L,0x21ffb7cc26588688L,0x0ca331612f4a7cacL,
  116920. 0x4110667ea3edd298L } },
  116921. /* 191 */
  116922. { { 0x81830357c2d04b63L,0x3fc5a34df4929a18L,0xc73bf6da22d195dfL,
  116923. 0x14df2f89cb432473L,0x345afe5ce997f138L,0xd8e3f5f98b9604f4L,
  116924. 0xad7942e950c10ae5L,0xcefd5447eed25ff3L,0xbf68e51e0e73c0ccL,
  116925. 0x5b1ad591ab54fa4cL,0x8bbc110512b61c8cL,0xbb932913b5abf760L,
  116926. 0xdb1231be01e79649L,0xd0a83e91040ccbe7L,0x3dde426f90a96db9L,
  116927. 0x1cceb64534df11eaL },
  116928. { 0x2d210c4f0c6d0f55L,0x6cadf61b9c673c9dL,0xdd7f9919a9ce3fbbL,
  116929. 0x135f494c93b063e4L,0x580bdb3c145a93beL,0x4d8723320f52ef7cL,
  116930. 0x74d876e88814bb6aL,0x4f6f723ac7a97deeL,0x7de2b8f03e3cd833L,
  116931. 0x6162f082ae720270L,0xe88ec2d4ddfa486eL,0xd965c8598d3a17c6L,
  116932. 0x62e59e543980171aL,0x0ab6285dbbef6b22L,0x3cf451954d48b203L,
  116933. 0x1f1752334ea25ea3L } },
  116934. /* 192 */
  116935. { { 0x808a765b3467ea91L,0x3f4632eefd2d9c45L,0x7b75dc6d9cf2bc6fL,
  116936. 0xefc8d240359813aeL,0x23ecb209e44cbd8dL,0x59ba10e321525622L,
  116937. 0xfa14d9343f1ee19aL,0xdf97c21bfb0c48f7L,0xc4e62890ea30d437L,
  116938. 0xb286e2a4651475c2L,0x291f01e4126672a5L,0x9c6fda5c31aab3b8L,
  116939. 0xb7277a5ae17d22ecL,0xbd88ed83914f0badL,0xd0b05d1b6a2392e1L,
  116940. 0x4cb8af9065893c2bL },
  116941. { 0xa2b02057bb4b1953L,0x4ce08b44f597f6eeL,0x854f5d9b5e6412c8L,
  116942. 0x1913262db3cd4919L,0x902762e46e42bb5dL,0x8355c8e6d78e7f60L,
  116943. 0x8efaa82438b6c16cL,0xd0173790e550f618L,0x118af462e57d778eL,
  116944. 0xa16ad5e8715b4714L,0x900596c341dea4f9L,0x2a957c32280ca610L,
  116945. 0x2faee800374c65a1L,0xdb10512750080414L,0x8c1db931ff080fa1L,
  116946. 0x486a5c25d79878fcL } },
  116947. /* 193 */
  116948. { { 0x0521e213941b4f36L,0xbaacfb14f803b4f9L,0xfdf1e22e52a54ba8L,
  116949. 0xacfabbba8fe4796cL,0xae0788db58dbacb6L,0xdf98d736c19dfa51L,
  116950. 0x155c286a35a716eeL,0xbe7d46769c86461bL,0x50b6380f63a64a5eL,
  116951. 0x14b419149f609262L,0x0919a7d0a2dfc5b3L,0xc454da55cef466acL,
  116952. 0x93fa4a246986aaecL,0x5090b17171a49cedL,0x602f1d6cc1fa75adL,
  116953. 0x5d269f8978e4c054L },
  116954. { 0x3a74030c14920419L,0x0845d86890968739L,0x81b994c4eeb70fa6L,
  116955. 0xabcaa06dd9fc5bcbL,0x06539427f58f8f2dL,0x35c85f67b1dc52aaL,
  116956. 0x5a7d8d722c911baaL,0x4041005caec2d834L,0xb5868a447a8e5347L,
  116957. 0x04ee180b8de512c3L,0x4daa66e5211168ebL,0xc0bd5dab2317cd8aL,
  116958. 0xa1d4185d61164df6L,0xacedca261dbad7c9L,0x0fe4b5ac09b02683L,
  116959. 0x8ac9995a26d9550fL } },
  116960. /* 194 */
  116961. { { 0xb2c8dc9b2640a39dL,0x21ff0b38ede0c9f9L,0x74f469bda1ecba0aL,
  116962. 0x8a902ccd080d0417L,0xe956fa32f4994604L,0x348f85cf9776ab15L,
  116963. 0xc21fc6ee0066f492L,0x35b1ebfefeeef367L,0x7804581c4613e5edL,
  116964. 0xcbdfe8e6ea6ba071L,0xddfcaa32950d73edL,0xc97479361da48889L,
  116965. 0xce867c8cdbaffbd1L,0xd267431f1cbaeae7L,0x68255045897912c8L,
  116966. 0x0c7c1ddcd7ea1e4dL },
  116967. { 0x53aa30cc1ce963a7L,0x7352f64cc4c5fadeL,0x2b9aa2f82828afbfL,
  116968. 0x64273c56ca212107L,0xaadd765485a576dcL,0x6196ac3e90b5c77cL,
  116969. 0x20d43e9fd1aaf39bL,0xfc392062cd05cbc4L,0x141638724c0ff2fdL,
  116970. 0xcf32b8d82ae821e6L,0x5f58f9433fa7a3f0L,0xaebf1d2df644ca92L,
  116971. 0x0c0615631918a75fL,0x7989b5ed6b876118L,0xbf342445ad412441L,
  116972. 0x24ffc9ae1df633abL } },
  116973. /* 195 */
  116974. { { 0x89fcdc0593c7cb2bL,0xc1243b95590053fbL,0x601debcf6182343cL,
  116975. 0x364546ef66c18a63L,0xa5290701ec913287L,0xc35b8026f9788c31L,
  116976. 0x852b862a92d1f7d7L,0x1809cb050aa79728L,0x897d467ca3cb2005L,
  116977. 0xf20c77c09ef5b946L,0xc3372c42f2241984L,0xda053e0df35bb206L,
  116978. 0xbc26c6d0a9c140b5L,0x61cfcc0ccb56fb33L,0x1c3cf9ef299b3968L,
  116979. 0x89e4d3d140621ba4L },
  116980. { 0xd35e80e7a45a9be3L,0xc4daa57807356fbdL,0x0186d62eb967bc2fL,
  116981. 0xa702679e47cd16e3L,0xca2f1c025f30ce9bL,0xf1205b461f864f50L,
  116982. 0x7fd6d79785061d66L,0x47edc4f68a08809eL,0x5dac04499a4d3ae2L,
  116983. 0xf844664a6d1f9da8L,0x9f30ce84d7a83a71L,0xe9382baceaac33f1L,
  116984. 0x1f033831948622abL,0xb037a4baf7681eb2L,0xd156a90899a1b5c7L,
  116985. 0x675d3e6fe6f1d0fbL } },
  116986. /* 196 */
  116987. { { 0xd9767ffd707193e5L,0xe478aa91810358e5L,0x5634f9ff328d8ef7L,
  116988. 0x913a0ee86dbbd9a7L,0x379b29687e215686L,0x903f410a89d9da38L,
  116989. 0xd9f8d7b91b1334d2L,0x9fe74229bd82efb5L,0xdb568b623803c778L,
  116990. 0x93e9a350d3d25344L,0x559c35b0724497e8L,0xc472d436a169e23bL,
  116991. 0x09864632cc5b4c69L,0x9f6d759d83c7f531L,0xa91cf1db1e497888L,
  116992. 0x5f7f92fe60af1a4bL },
  116993. { 0xf18a1cc60545167eL,0x55ee2e02affa88e0L,0x24cdff51432a7bcfL,
  116994. 0x7382da42a7510866L,0xe894c11f40511af7L,0xaa4e4e312aaf1423L,
  116995. 0x8c3d36f0f63dd2aeL,0xfc5c9550d7660635L,0x0125373137ea7eabL,
  116996. 0x2a5cd59839b950f6L,0x95a0f60140e63442L,0x905e238ef2ac7045L,
  116997. 0x44bacc0e446b0f73L,0x4cd4206ec448578aL,0x367b1aaaa5bd7803L,
  116998. 0x25beced90a2b458dL } },
  116999. /* 197 */
  117000. { { 0x079a73820c33a8fbL,0xcfbf6cd10f25dc1dL,0x4ffc73f8c6d482b6L,
  117001. 0x3e51f18c07bf844aL,0xa7651236599162f0L,0xac59a74e14013811L,
  117002. 0x957a6865e55018a0L,0xe1ec51bde3ca09b1L,0xbc0c7eb3a960253fL,
  117003. 0xe83bfd147de03f84L,0xc0540ed152fbdb09L,0x6ba52eddcea15ec1L,
  117004. 0xf3d30ed54b261307L,0x9bd7bae8e8397206L,0xf20d8692096373aaL,
  117005. 0x0a616a4bc3b0bf63L },
  117006. { 0x2075f3ed6e1339c9L,0x7afaa072bf8b00a6L,0xdfafec82bccd9b47L,
  117007. 0x4713158f00ca54c7L,0x449102f138bc31aeL,0xaf98f158310dfc8aL,
  117008. 0xc9ef207559e954d4L,0xe8021af9c527a0c4L,0x6e8012777a192023L,
  117009. 0x635f538c7fb02377L,0x5df1974fe8c9e951L,0x0287faed15cc9097L,
  117010. 0xfa0728f0f7a5115cL,0x90dbfbe60fac623dL,0xa8d40fd40311ba09L,
  117011. 0x876d154e07c6464cL } },
  117012. /* 198 */
  117013. { { 0xd3a4d6d2c2d3ea8aL,0x36be681ba842600eL,0xc53f100de4070672L,
  117014. 0xe3e5b6fe6a7d7a7bL,0x6e6994f95d5e1a83L,0x07cacd2276097c2aL,
  117015. 0x12d98dbaa6791011L,0xddfc4461102e0e24L,0x4815dbc2d493272aL,
  117016. 0x7e38e64ba9436696L,0x4960eb1a32b2bf90L,0xda457525d928e28bL,
  117017. 0x72f75b392a077c9eL,0x27760cbb7fd61d00L,0xaf235d1b0f4b1456L,
  117018. 0x3040c23be76d1700L },
  117019. { 0xb10dc55b4efa9a70L,0xd4de414f53e86610L,0x3d95c11309f8a27fL,
  117020. 0x505109a506661d3cL,0xcaa2994a60eb513eL,0x3ee415371e7d338bL,
  117021. 0x4fd145fc4651e71fL,0x51bbf838cbc313b4L,0xb039e0781eb92150L,
  117022. 0xe8696b4414bf5ac7L,0x2d6671888be0d48cL,0xbe93b2f5dd8f2b6fL,
  117023. 0xc1dfd1e7eb8a7f8aL,0x862b3dd990f751c5L,0x1eb1ad58a32a74beL,
  117024. 0x5486d79a1ebbc9a2L } },
  117025. /* 199 */
  117026. { { 0xcb2e34ffa1359e13L,0x202d8dbf28196051L,0xe95e023d23564b5eL,
  117027. 0xfb1340b642f6ac12L,0x543ba852b653725dL,0x81aedcd68d2466adL,
  117028. 0xbf780224547c728bL,0x559f8a119569fb65L,0x505b7a62dfb22ec9L,
  117029. 0x071075409eed5e52L,0x9c899288299f6f11L,0xa7d692613db6f8c7L,
  117030. 0x30eb7fb3b3ca79a9L,0xcab99bb8fb2160b0L,0xd2012568d28b409aL,
  117031. 0x380f1b0f5ac45f8bL },
  117032. { 0xc0b99e6be6a0068fL,0x4b67cf2ac8a73753L,0xa6c9a548b2faeb7cL,
  117033. 0x7f417f99340260c3L,0x8ee56855cc0f739eL,0xf08b510f780949daL,
  117034. 0xb1770fc28d5c6effL,0xb4f5abeefd96a7bbL,0xa07b1136f2665a2aL,
  117035. 0x2fb380a4b601dcf9L,0xcc803614162becc6L,0x3498fb96ee6b83b3L,
  117036. 0xea9b0fd6a8c17eebL,0x5834b5baa177efc2L,0x929044f55b110b3eL,
  117037. 0x4abeddedebd7285eL } },
  117038. /* 200 */
  117039. { { 0x3355e1b9700ef376L,0xd56e5d9a66cdabffL,0xb3dc257547e87646L,
  117040. 0x28f44b8a00f79369L,0x08c32b1ea0c52e29L,0x5a78de123729b392L,
  117041. 0x4184519ab26d239dL,0x23f6b4b7e0ce4a6bL,0x235f6f8aacb2a9f9L,
  117042. 0xbb8bc454e2064a59L,0x37efd0341bf3062eL,0x6bac683b94dff6f9L,
  117043. 0xc3364b1e8aa7fa06L,0x0616772ace0b3745L,0x46f08d08d1e3fb0fL,
  117044. 0x6a20abb318e132d3L },
  117045. { 0xea8310166a85cbc7L,0xd0990946934f9aa7L,0xc2211088e778f1b3L,
  117046. 0x7ea4ff8f2247b799L,0xb3171d71454484ceL,0x294039494f98c364L,
  117047. 0x5da911f397df1458L,0xa6b5809309439116L,0x75f9509a174238bcL,
  117048. 0xfeb518218209758dL,0xae0c6021a47925d0L,0x0e946694af8a315eL,
  117049. 0xae7af8a36bad04b7L,0x44c15e7ff072447dL,0x5184668aa5456ffeL,
  117050. 0x45e353a7bf36b977L } },
  117051. /* 201 */
  117052. { { 0x7605676493092f71L,0xeb66b6c2f5b92d71L,0x9db3149be2c8b6c5L,
  117053. 0xf62f583a20c0363eL,0x688acd3303cd7097L,0x85d0c0f8ebb916acL,
  117054. 0x1bf7462c84c19b0eL,0xc76ed5f97c4a6ad1L,0xec8b88bad119f369L,
  117055. 0x59b8371bebe50b83L,0x0cc69508866706a6L,0x531c75a3f8373d2cL,
  117056. 0x4e1cd3a32a5a02fbL,0xe8274778da39a1d0L,0xedfc5bbb75da333eL,
  117057. 0x15941f24ca79bd36L },
  117058. { 0x42e8c0f8a77dd512L,0xa91b59a71dc365f6L,0xe80d14cd08753862L,
  117059. 0x1624230dd272facaL,0xeea3ec164027cb5aL,0xc1700b59c1ef9f03L,
  117060. 0xd411c1270da3148dL,0x801ee448c4181af1L,0xedf285599e3a900bL,
  117061. 0x5d67b0bd0d09affdL,0xd839df968b370024L,0x3b6307e0e6f836b8L,
  117062. 0x5382e588bd3201c9L,0x636d8a6b7a1d02bbL,0x70b7db76968641e9L,
  117063. 0x6d17c34a118fad03L } },
  117064. /* 202 */
  117065. { { 0xcf608841c181c99bL,0xb65dc901c87bdcafL,0xb460b4473720dabeL,
  117066. 0x4c79c3965377515bL,0xd447f22e0a96c277L,0x0d9521302ac0f440L,
  117067. 0x8330b26bc90583adL,0xe25e977a928904a0L,0x1deaffd985c50b18L,
  117068. 0xcf4dbcb7a5ad5f6aL,0xcbcd0019c8a37ed5L,0x7846dd901e9850b6L,
  117069. 0x1ac8194ab0b8e605L,0xb972857134132f90L,0x4ce9f149f56ee28bL,
  117070. 0x1ab9b5a43e9e1d4eL },
  117071. { 0x206dab92314fa7a3L,0xcc4af0f0478ff963L,0x4cce1713904d9fdbL,
  117072. 0xac20a2eb12c045feL,0x44fc5478fd8f6d7dL,0x886e72c5ca7b6ffaL,
  117073. 0x7fa4529b6fd6f758L,0x4df1d1b192a820d5L,0x3d812f9f2789f149L,
  117074. 0x9842f083aabb53d2L,0x2648539b2a03ab32L,0x631ce090b1512502L,
  117075. 0xe1294d15731f6bd5L,0xb229361d9436e634L,0x8c4281c43ca966afL,
  117076. 0x24b34956c21ab3edL } },
  117077. /* 203 */
  117078. { { 0x49bdcb86659824e2L,0x6dc4ce484e13e74cL,0xa4c01a266bbe1eeaL,
  117079. 0x47b2b8e71e3ec457L,0x7e8b15e02f5a8e4bL,0xe81eb6e6e333530dL,
  117080. 0xacba369e17a45202L,0x81241431d70e4c9fL,0xc190af4b3e12beb8L,
  117081. 0x5327052311f486fdL,0x9f6c41e129fb2bceL,0xbe6287ebb70f6c08L,
  117082. 0x1479850a3feb4477L,0xfcfdfb119bcf18bbL,0x925c292fda80d040L,
  117083. 0x212d65e57e3c5bf9L },
  117084. { 0x23adb386ca15cf08L,0x4dfa4ac481e172ebL,0x9d1dbf934d42d0c0L,
  117085. 0xd9cf607374404dc7L,0x60508441e932bfcdL,0x9ae910ca1c682a98L,
  117086. 0x9528fc1841ac1cc0L,0xe6a120aedbbed630L,0x94e0e1ec30ccf250L,
  117087. 0xfe84ba54e58bbf2fL,0xc66d0b4f9faa4415L,0x0c58f1e7ecee7ce5L,
  117088. 0x7a1d43eb6fa6873aL,0x96c6c5a0399f1348L,0xe6ef9aaae6727ab7L,
  117089. 0x66afa5549a5c2447L } },
  117090. /* 204 */
  117091. { { 0xda5aaba8c980e91dL,0xa93cf5096ac98efaL,0xb0990e0a8da32662L,
  117092. 0x01d215300081453eL,0x2bb0d33e3d71de84L,0x465f6d803e19a012L,
  117093. 0x5902ff4c78a838e7L,0x74e2afb71931348cL,0xa49327579cfb057bL,
  117094. 0x761ea6423ad03f8fL,0xb7d4c24558ffa40aL,0xb5e9c0d977a87e30L,
  117095. 0xd1c5edbac9c84d26L,0xeca8839a3d1963a0L,0xbc6f2f35ebf6bf0dL,
  117096. 0x01ef06310d58abdfL },
  117097. { 0x2bf903163ecdcbb0L,0x19e2d72827c1c955L,0x9e5270309575c930L,
  117098. 0x0dc1c5a996983930L,0xef9f80ff7cd082dfL,0xcd915075df97e051L,
  117099. 0xf286fffe9cc61b55L,0x352db38f80f24cc4L,0xed9b99ec36523ae3L,
  117100. 0x109a8ca810b104a9L,0xc2700fe7305203adL,0x2a2ee24e769400f5L,
  117101. 0xd595d399ee0c452cL,0x0ab75d6af7f02a41L,0x341080990db730b7L,
  117102. 0x0e4f5ffd5e8d1202L } },
  117103. /* 205 */
  117104. { { 0xbd1c64440ff14c38L,0x9a5b59faaece11f2L,0xaa4605a722af6330L,
  117105. 0xddc9f65a82af24eeL,0xf4ee4bfeeb9a1159L,0x2463d07674e84eafL,
  117106. 0x88cbe1e00e0baaceL,0x7ca568ead5fabdcbL,0xbd80d524c57eb99dL,
  117107. 0x9c46572ce9be9873L,0x918a1dcd7300b85eL,0x4922131240f54176L,
  117108. 0xf7e324ffb5b14236L,0x40dda5012434f16aL,0x08833421a133d97cL,
  117109. 0x33d411610876f020L },
  117110. { 0x7531a36b9878e5ecL,0x5de3e32146918232L,0xd15f9a33d0a30464L,
  117111. 0x734c1b87aa173659L,0xac2094a2f925d4feL,0x43c965a1c262b0f4L,
  117112. 0x759c903e447d5cbcL,0x92af215e05239300L,0xfffb6d5f1f593f34L,
  117113. 0x65943b4bc3cddb5fL,0x9d03a29cbfdd5408L,0x8f7cda6b198d76c0L,
  117114. 0xc0790a22c0f27b59L,0xba557a848cb58ccfL,0x5922052d76c54fdcL,
  117115. 0x2d3de7aa47b6b466L } },
  117116. /* 206 */
  117117. { { 0xaade746265add3b7L,0xe5888f35abf24c2aL,0xd41549cae1a57d93L,
  117118. 0x0e22e18e2c76f7bfL,0x67f288eabe3202b3L,0xb79a66ba1d1d0f0aL,
  117119. 0x0e0ab7492881ad18L,0x7d424086c7adb0e9L,0x870c32c52842132fL,
  117120. 0x858477f158f9a09eL,0x422a9372ec025589L,0xbe428c5ca5098777L,
  117121. 0x45b7956457660058L,0x6c7fc631957f37cfL,0x8b7023ddd6316289L,
  117122. 0x47003bb65b1c12a6L },
  117123. { 0xd99401c1c91c1c96L,0xaa5dcdf927a12970L,0x3ab92e17c3c29107L,
  117124. 0x26fce8f7a3fe4710L,0xb0d09d5e4ee998eeL,0xafa622048e3a41f8L,
  117125. 0xb1c012a5a26ca506L,0x2c6f734c99b57252L,0x1093d79f512f7fe1L,
  117126. 0x2f30906eacee19a6L,0x6bff8381056d1ea6L,0x61c75856eff35f21L,
  117127. 0x6e07e978c1ad2224L,0x2cca6ca16b20fde8L,0xab4d6d2d633fe81bL,
  117128. 0x73dff504b06a2ce6L } },
  117129. /* 207 */
  117130. { { 0x8b615805d8e20fb8L,0x7c6873e482b533f0L,0x5205f00156a854caL,
  117131. 0x87fec6accb369211L,0x1fa3c0ecc7f092b7L,0x5b36647ee845fe4cL,
  117132. 0xd4781e85f8b1f112L,0xc65268398b0f1a6fL,0xceeb8c6cdcb8eb92L,
  117133. 0x133f0ead8e5f6d52L,0x31883e23c8d934dcL,0x214ed5bd428ac45aL,
  117134. 0xf77ca492dbbfca85L,0xdf4113fe07e5ae13L,0x63e4a0d272ab05fbL,
  117135. 0x7544d0b77148f535L },
  117136. { 0x4fe8d13480797aceL,0x216d6aa0af86d97eL,0xdbf0a688ef5a68fcL,
  117137. 0x18b26f459f9b2684L,0x52fefcfa8999d2fcL,0xd5af8d8262423955L,
  117138. 0x8f123469f63a3780L,0x2933454fdcd4feafL,0xba8018b7a73b5d09L,
  117139. 0x9af1f276e5552c18L,0xc5d4773dff26bb1cL,0x9ef4941006dd4f44L,
  117140. 0xad8f12f95f39ba49L,0x5767f6dcf66ca4f2L,0xba8773f17922f59aL,
  117141. 0x220081eac1e42d49L } },
  117142. /* 208 */
  117143. { { 0x3043d573ba37a0baL,0x05a431bcdd176df6L,0x03322cfcc42070f7L,
  117144. 0x5cabd30e67c2d109L,0x362c95decbf8bcfaL,0xd767d2777787b10bL,
  117145. 0x612c915e6ec05e64L,0x9e669631ce69c30eL,0x27c9dd8f682e2635L,
  117146. 0x79021f1295ffcc38L,0x06a8ee798a2adca2L,0x8e00e7844b5d500aL,
  117147. 0x87746fc78d80d6c5L,0x246053be915f10ccL,0x844e328b219f6fd8L,
  117148. 0x620541ac11bd3733L },
  117149. { 0x0f7fd382509e5a29L,0x8748d7d0b432531eL,0x8f749354cd3883b9L,
  117150. 0xc6b8ac748bfbb17aL,0xa4616a6605f2d2c5L,0xb3d966251bcb1b83L,
  117151. 0xcf7531042fee265aL,0xc70d73fbdb225058L,0x1211d434f0c2d556L,
  117152. 0x862061d854b259b3L,0xffe4606dc42b3f7dL,0x4c5c8585e86a4949L,
  117153. 0x04ddcc8b160eedacL,0x1804ce67568e2420L,0x91f3855a42141656L,
  117154. 0x7f378198f932be97L } },
  117155. /* 209 */
  117156. { { 0x9a374bdadfa6639aL,0x0cbd48d402ab7391L,0x5c5ef23647031e2dL,
  117157. 0xb49ee2bcd0599d1fL,0xd285eb60e0d38443L,0xdbbea92f269392e8L,
  117158. 0x91455fbfb8bc538fL,0xae259ff1e469b768L,0xc1cecb1f41de5682L,
  117159. 0xc876f0719952d1aeL,0x1ce25181e7bf7446L,0xcb93ad86282ad2f1L,
  117160. 0x8fa3cd316ba4ef67L,0xfce68a04e507aa3eL,0xced74170a61bb608L,
  117161. 0x6de716b3f6ac10d0L },
  117162. { 0xd4e58d04172d6dc5L,0xbed2cde66397c65cL,0x7ae77e180c9eb4e8L,
  117163. 0x5627546875fa2edbL,0x4b30324ea91e6738L,0x6023a856235c8b2eL,
  117164. 0x9df6d6c2a8f92887L,0xec2c185ff6f5e8b5L,0x7892e12b3ad5748aL,
  117165. 0x7aebb4f2d54aefbcL,0x14915448ee868821L,0xa26c5f71b1d9bd5bL,
  117166. 0xe5ccd1662ff00df7L,0xebc99f17b95b1deeL,0x909836163fe1f774L,
  117167. 0x51f90830bb3d25b0L } },
  117168. /* 210 */
  117169. { { 0x49376fa1f2922461L,0xdbb1b1c31650d0d1L,0x92b91c330dd8608dL,
  117170. 0x3e612c4b36b89906L,0xe1977b0bdf560052L,0xf8afff70636a2545L,
  117171. 0xcda7d27811723d8eL,0x0b0bc4bb81bde7baL,0x3cb080b2ed2a578eL,
  117172. 0x5bda0d0d171b2e02L,0xf6df38cf941bb9aeL,0x85dd81dbc14a65c5L,
  117173. 0x7f98c82dc19dd98eL,0xc613747f52206f93L,0x9e13a2c25f5bbe78L,
  117174. 0x5eed218e0aa34be7L },
  117175. { 0xe156575401d4dc0bL,0xa1ae5f27f566bb07L,0xe985ebebb82225d5L,
  117176. 0x5f3ad21c1189ec6bL,0x17da518cecce4d9dL,0xc84a2d3ed6b65b59L,
  117177. 0x7f9881758ffa771cL,0x50d6ae122ac69a7aL,0xcb7f30b1c6e6846dL,
  117178. 0x8c023a605bd0bb13L,0x9a10fecdd73f2407L,0x8c5158cce5f0a996L,
  117179. 0xd26bf615bd8f5806L,0xaf32ea87915a46e1L,0xeaf74e810287d308L,
  117180. 0x8c14ba06a6264254L } },
  117181. /* 211 */
  117182. { { 0x0c877895b17ee201L,0xc05aa47188e57a77L,0x19c3e76397822456L,
  117183. 0x0be6f8c0c9c3ba1dL,0xfe85f4ffb4389ebeL,0x538bccce0ce7fbb6L,
  117184. 0x876eab2a65266c64L,0x5c9ac690cf9a3842L,0x9f5cf3b1ccc8f981L,
  117185. 0xfa17be6a9cf687deL,0xfcfc10fc83835c15L,0x086b0fdb150ef2ebL,
  117186. 0x9f97ecd9884a52e6L,0x416e6fa2b0cd1eb8L,0xe2bd15993ecc03baL,
  117187. 0x645c0a5deabb165eL },
  117188. { 0xd94c420550aa7e31L,0xaec8df0c2f851da5L,0x996469093c726e6aL,
  117189. 0x72dbdc362619bf9aL,0x1b4260e0e253fbd5L,0x97c259fb8c709e06L,
  117190. 0xfabf7cbbcddaec5bL,0xb4d5e8b1e4b703e9L,0x1b06e56e0734efddL,
  117191. 0x02d4a4f91f55f8a5L,0x7f8608ba3f565c8dL,0x822f47d2816d1d94L,
  117192. 0x0cc361565ce7b136L,0xe46ee5ef31d04242L,0xb2a65f70683567f6L,
  117193. 0x27e9ff40d2fa6c91L } },
  117194. /* 212 */
  117195. { { 0x75251893d7e952e7L,0x15b30583c735bf18L,0x732b599296fe0491L,
  117196. 0x27451858806d2fcaL,0x71ab76a01b885ed9L,0xbdce9d976d9f55ecL,
  117197. 0x3da60b2048f2ba9cL,0x6977c086592b132bL,0xb6dca9cb099051d7L,
  117198. 0xd9c2ab23d188ae25L,0x9f469f3fe20aaf3dL,0xdbd1f7cf5aad74d0L,
  117199. 0x3d5efe5c22a9eb3bL,0x8c5edfa2137010c4L,0xada2217b57870260L,
  117200. 0x4feee5673dac9776L },
  117201. { 0x30e18d52b5d3d780L,0x4dadb5d307166744L,0x320d386e5a742156L,
  117202. 0x5d8c290e8d6bbb86L,0x981a43232d263dd1L,0x33d0e7ca98984636L,
  117203. 0x5138784da519acb1L,0x832e3fabdddc81ffL,0xfc2785943199a43aL,
  117204. 0x5b4cabcf32743163L,0x9fa010bd74f94fa7L,0xc28a743d5694a627L,
  117205. 0xc1d2a888cb657a24L,0x7eef2503e86a25eaL,0xed11a5d304c561ffL,
  117206. 0x4fe818e79c9ede0eL } },
  117207. /* 213 */
  117208. { { 0x00252c9d7fc1c7ffL,0xa9bd419d9fa89ad1L,0xc93a124a4064e9ccL,
  117209. 0x384cbcb843942eccL,0x004c21fd8749695bL,0x69c81d9f421165bfL,
  117210. 0xe2325628dde01102L,0xec9374575a9b004dL,0xfb3346bff6dcfc21L,
  117211. 0xac4da64b4d372c7dL,0xcecb7ad3f20494e2L,0x562c41b5e867c150L,
  117212. 0x299395cec2b723d8L,0xc91adfc57ee53231L,0xe06f1161f10b6597L,
  117213. 0x81915529b74d3ffcL },
  117214. { 0x8ec124316ed9d4eeL,0x3dffa154689aff01L,0x4aba349f2a89a3f4L,
  117215. 0x2db1e8e2d467efb2L,0x18dea354039102e2L,0x422ab853e52f082bL,
  117216. 0x7130a2c1ed36dd47L,0xca60e86d0295d1eeL,0xe6ac68087c7f5ad3L,
  117217. 0x0f83cecfde864658L,0x72e66c21461d1265L,0xfeef4150bd385099L,
  117218. 0x0f183f3aa6632289L,0x275454be792dc795L,0x2744c11b11367702L,
  117219. 0x7d06bcc7e8ea6ef3L } },
  117220. /* 214 */
  117221. { { 0x892859427090212fL,0x691b7d4c5521e844L,0x4c038422be2dbb92L,
  117222. 0x317721edbd81f880L,0xc136cbeeac89bc36L,0x4f71b60b7b8f004dL,
  117223. 0x269132d04e218ab8L,0xb0e2496ee6cc814dL,0x0b2ce31775fadc15L,
  117224. 0x82e3c08466d223c5L,0x9721caa64c612f8bL,0x59a751eba4b65355L,
  117225. 0x3433aad5c7d3d9d1L,0x1e61b9d2e80d4246L,0x149f655ffc673caaL,
  117226. 0x48b52b99d0f9cb92L },
  117227. { 0xa3915399efdc05beL,0xde70db1813e095e9L,0x447862e9cddb3fdaL,
  117228. 0xa2b031621a009451L,0x4b27980c23920ea3L,0xac5394f1a23b8febL,
  117229. 0x163f72563e5616d4L,0xaa0ff93fb714219aL,0xd26f96d293d62474L,
  117230. 0xdd212ea87dcfe276L,0xab27bf2f47038d15L,0xe58c8325f418168eL,
  117231. 0xe3704222b32a989aL,0xa3694390bfc9f13bL,0xf16e26060d0684adL,
  117232. 0x17c0de879d8c76ecL } },
  117233. /* 215 */
  117234. { { 0xbca5f453dcc01958L,0x7d9459541ce88393L,0x5e6350a1561f5b6dL,
  117235. 0x291c3c867e2d36bcL,0xf6c7ed84a5ac3a6cL,0x7913c40bd98006cdL,
  117236. 0xf78bb0875671ec3bL,0x1c928f6eb43e89a9L,0xfdf28df3ae1ea1edL,
  117237. 0x62bba5b1b924b2b5L,0x491d27051a116e05L,0x08ec02b7167ed3e3L,
  117238. 0xe291cf7b5bc0b046L,0x30e501698c5d7f59L,0x0c7c350df5c799b7L,
  117239. 0x6862b9e20ac6e1d7L },
  117240. { 0x56c6f4e79ffa1f64L,0xfed6a91aa1e24349L,0xe9a0ee0ccdb75232L,
  117241. 0xbfc90b370322d607L,0x29480ad2462fef87L,0xfc214969c2bfcf34L,
  117242. 0x6e5211e0a539e38fL,0x2a59ec2612a5149cL,0x195fe212d706b532L,
  117243. 0xf77fb108e99c8429L,0x74ceaea35dc80482L,0xa5a6030bbd92d298L,
  117244. 0xad42dca5aaea15eeL,0xd6ac3bc74987109cL,0xc64e1c40290af649L,
  117245. 0x5093fa2d51f8de6cL } },
  117246. /* 216 */
  117247. { { 0xc4cf32804c2d553bL,0xdc1abe223b966c29L,0x556a549c2296914aL,
  117248. 0xd8c9f8b5999976c9L,0xc22c57bd776e83f3L,0x4f2942ab7c85ec57L,
  117249. 0xef3407e56e2c61f5L,0xf005e8caf213db48L,0x470c853df32698c7L,
  117250. 0xe6f488d7cac0a54bL,0xb6bd6bed60b7501eL,0xf0103106714a4bd9L,
  117251. 0x5285bc3b6e098894L,0xec06741af5f92a00L,0x32f16426ef7ef24aL,
  117252. 0x12f9c44d6c77a438L },
  117253. { 0x1951e96483313a1cL,0x98edd3da33c58b37L,0x4edbbf52c7ac4044L,
  117254. 0x866ca6f70dcb5ee8L,0xec0ae8f56dd422f8L,0x1077bc540661ec2eL,
  117255. 0x6d39913ad422523cL,0xd105e1e858e7cb3eL,0x47c9397fc979bb45L,
  117256. 0x3221d4a90997b592L,0x0ef628a3e8952fe7L,0xd08d58274e946241L,
  117257. 0x64cbed0f59780f40L,0x13d7c22708e110ecL,0xd186d8667679b1a3L,
  117258. 0x02f75e4e26ae1d18L } },
  117259. /* 217 */
  117260. { { 0x1b637ebf47f307d7L,0x6b644a6ad0141477L,0x82a33d652e05a80cL,
  117261. 0xc8f1a0f3fed07b31L,0xc09ee7f93696e597L,0xcdaa7ec3c7ffc01eL,
  117262. 0x549f88fef8f373b9L,0xc88d1961c3bb8989L,0xd92a4fe9dfcaa7b7L,
  117263. 0x12ff9ee23ae4ab20L,0xf5aea641f5ecb1a5L,0xe769237fe32fb47dL,
  117264. 0x96a5c42025d085c0L,0xdc91255826c755a2L,0x580b985f9bce9723L,
  117265. 0x72b1b56663961941L },
  117266. { 0x9d708a08790e5558L,0x985360410689af80L,0xe85e7b8a42313b5fL,
  117267. 0xe6ba129255a49d1aL,0x5e76c4b0ac371b0bL,0x58504f39938e6e19L,
  117268. 0x8dd4142260ae9a21L,0xd8b04e9b968485ceL,0xf94c4ba5887efe43L,
  117269. 0x11268e67f11c5e73L,0x92623e28cf6b99c4L,0xf2d0aaa87a0a9662L,
  117270. 0xb266772a4ca02ed3L,0x68ee8e4e2d63b551L,0xcdebb2992e78b5b5L,
  117271. 0x5df19216e17225adL } },
  117272. /* 218 */
  117273. { { 0x20027e1e8df2e7e3L,0xb183cc68d8da07deL,0xce35ba694b4ae694L,
  117274. 0x896d97df3ca62e88L,0x3de4713b52efed2cL,0xd006c40e26bd084fL,
  117275. 0x1e9b71bbfc81923bL,0x9991c7b61aacc6b0L,0x650c93648f656840L,
  117276. 0x138561d187f47524L,0x610f2b11bffd3ca2L,0x96915faffa191418L,
  117277. 0x8f1236de955e5309L,0x613cbeeaa1872d79L,0x7f7b44ea66a2a48bL,
  117278. 0x452265c2e0a89c32L },
  117279. { 0x4ad5ec7925430010L,0xcac786ffebd090c0L,0xa5f9f4ff20a9d3f5L,
  117280. 0xfcbf4112a3edc65fL,0x8824839c0cf3eb11L,0xb8dd6d4e8aa5b700L,
  117281. 0xe2271dfdb7568ab8L,0xe43ec373b744560eL,0x78eaf9261cf75296L,
  117282. 0x1809ae0e3fa96d9bL,0x0b312d2ddc25dfd5L,0x6b8f78b46bab7711L,
  117283. 0x069efc8db5ecf1e4L,0xc1952bae609fecaaL,0x43e302ed5f4dbde1L,
  117284. 0x14b02bf91e078555L } },
  117285. /* 219 */
  117286. { { 0x2c71c768b87e5b57L,0x0bcc78f7f531a557L,0x4ff93f8bf7597dc8L,
  117287. 0xb28e026d139e175fL,0x6b83b727cb94ca6cL,0x2eafe3b20079f7fcL,
  117288. 0x2aca54decf3bd170L,0x17c4133c6af0dc6cL,0xbea1e665ccf5e35eL,
  117289. 0xa6691a48345505c6L,0x2633abd0e6100b89L,0x966c6706c17d0388L,
  117290. 0x7aefffbe1a0cf90cL,0x4d847be7d0add64cL,0xd49bcdfbaea2aa46L,
  117291. 0x85e07e742cc7d0a5L },
  117292. { 0x23aae0a60bc25bcaL,0x6e8e55f1e44f64ecL,0xe1e696d8b607b773L,
  117293. 0xaa90a746d3005909L,0x072b1ccd2cbc4990L,0x0d0fe6c6c68e2f5dL,
  117294. 0x920ec5f053e28ec9L,0x79b21fb4f0040cc1L,0xa7375bd3fcc4a2c7L,
  117295. 0xf5f5def9e1bac7ddL,0xdc315d7935c0f8d3L,0x7117c1702cacd318L,
  117296. 0x6f2823c4e926f71cL,0x38db58bbed02f39aL,0xe5b492317db69323L,
  117297. 0x0964039f8d49f430L } },
  117298. /* 220 */
  117299. { { 0x21774f1656999ebaL,0x3d8ee287b1de6305L,0xd81af726de0b2669L,
  117300. 0x374469393f8942a1L,0xbcf6b615ea03e13cL,0xd30c0c3594e273cfL,
  117301. 0x4fd33a56c6725c56L,0xa57534ada8be97a2L,0x799242a67c22a251L,
  117302. 0x4e51bdb59d0c5c49L,0xd7cd76ccc6a42768L,0x914097acd426bf59L,
  117303. 0x59404a2c66e9beb2L,0x4738fe985c96e3e9L,0xbcbb3e0eaad666d0L,
  117304. 0x626b0fd263bc5e56L },
  117305. { 0x47217dbae1a1ec42L,0xaa6ae7dbab5acc50L,0xb7e1ab1e865331d1L,
  117306. 0xb84530703d30126fL,0x280649e0dee61851L,0x8806f4a3ea689544L,
  117307. 0x4bbe43adcb56f632L,0x036b9bdabcaff94fL,0x0d941e65bd0637beL,
  117308. 0x82179d44686f3abbL,0x1486912caad6afd6L,0x9a3b891eff7e1534L,
  117309. 0x88c426ceeb86fd96L,0xb56e6a81117928c3L,0x933e713596399e00L,
  117310. 0x09bbddd9a17b6ac1L } },
  117311. /* 221 */
  117312. { { 0x75e39c1de4fd3673L,0xf880d9d1a65c8e07L,0x4725c1dc7289c7feL,
  117313. 0x5b6735ee3529d200L,0xc1f8f2ed3c747af3L,0x5cf3998f912efdf5L,
  117314. 0xed72261849859c39L,0x23793a2f0e69795dL,0x8a6ab8d686b1d2a7L,
  117315. 0x00c815de22a882e4L,0xbe77d6fcf9db8d7eL,0x0886fb3202267547L,
  117316. 0xb62687d449c10edcL,0x9f1c3e177c83ed4cL,0xe6d5d7f05af366eaL,
  117317. 0x2eaa01b8d1efad24L },
  117318. { 0x5e47fb701f357c74L,0x93085c4aa9e3b794L,0x4f0987336e85a905L,
  117319. 0xf53808ffbe0244c9L,0x91dddf93a3b5660dL,0x8b76377bf3b95ed6L,
  117320. 0x91b911b7bb3920d4L,0x7ccf08bf86a13cf3L,0x53ed8f97ea018e58L,
  117321. 0xb1ea434378c55194L,0x8e6adde9e0d2d5a6L,0xfc2b248f9b96259aL,
  117322. 0x96ebceaeeef17dddL,0xf694b443557f9c85L,0x48cd150f07d5bba8L,
  117323. 0x02d31de9b4c1986bL } },
  117324. /* 222 */
  117325. { { 0xa6bb9e1ede79499dL,0xf6ca8ff8fd0fc2adL,0xbec0f8e81a7d9356L,
  117326. 0xbc3d1c9fe8f06327L,0x805c72173b300bebL,0x00420a08413c181bL,
  117327. 0x9e9a167ef0ca9d01L,0x076c909d1aeeddd6L,0x64a1997f8e3a8a72L,
  117328. 0x3ce7f7a7a77b429eL,0xaac0fbf45c94d3e9L,0xf37694a7e6d48407L,
  117329. 0xf56679e2a91921e7L,0xf23fe0f3ee1dbbd6L,0xc7917566cbf9fa99L,
  117330. 0x965860f2e0f4d765L },
  117331. { 0xe734702b7fa5f79cL,0x930bd4265af2d26dL,0x45bd8b986c73e0ceL,
  117332. 0x7dbe7bed4ee44a2dL,0xc129e024956c8a1aL,0x6fdc05ac77cdf80eL,
  117333. 0x70a6ba2b589ca59bL,0xfc484021999825afL,0x1d284b547a23f0b6L,
  117334. 0xb1da10a428a0a8afL,0xb1eb1b312b2af6d8L,0xf051443a33935ee3L,
  117335. 0x7a07eb268effa6ecL,0x16ee4086d662654cL,0x7a7bc5014549ee4cL,
  117336. 0x650810321fa98a52L } },
  117337. /* 223 */
  117338. { { 0x49f0e460b67ed9b2L,0x0cda0fd0c36d93d2L,0xbb5963e988c75e1cL,
  117339. 0x757bbe93614bc0c9L,0x9a9b88019a768605L,0xa8b7e2af48edc544L,
  117340. 0x9e77ed9eb51a5985L,0xdd025274ebbf024cL,0x598b62881545c636L,
  117341. 0x39bdaed04800dba0L,0x7fc2013981e2a23aL,0xdc66fd5c550cb4f2L,
  117342. 0xad27032fb52068c7L,0xc9a0bcae8169fa15L,0x60606f213a7ca8a2L,
  117343. 0x982950469862652fL },
  117344. { 0x3e3746002e11c128L,0x80dfae5d0e6dca7eL,0xe44016e2d9552264L,
  117345. 0xf65f88f2880b7143L,0xca3d28d4526b881cL,0xf9c59dd1dfb86afeL,
  117346. 0x548860c24c74f958L,0xd06ea43c9cb69f4fL,0x5343c9ae7334ececL,
  117347. 0x5cc2ccd635329713L,0xa95ff4035f3a6c0cL,0x2e01a1ccb372653bL,
  117348. 0x31510fdfa250523dL,0xeee538e2a6227eb2L,0xeadfc8a0ca23cd10L,
  117349. 0x4b7e6e1b3e78f54bL } },
  117350. /* 224 */
  117351. { { 0x79c9076fdb5f928bL,0xe6250bb6b7347cecL,0x54b67798ac00ec41L,
  117352. 0x900d20ba9d9619c7L,0xed42c0d059e4343fL,0x3df39e85451935d7L,
  117353. 0x2639118264f701ceL,0xce8f2554e1f87aacL,0xfddd678965f91aaaL,
  117354. 0x96cd163fa324539fL,0x5c815f2c4bace995L,0xd78c8c2aa94f9ea5L,
  117355. 0x7ab2aff4ef24e455L,0xf0ed64091cddc26aL,0x954a420b00ca2822L,
  117356. 0x0611c4c5d3297658L },
  117357. { 0xf192001ca9e81829L,0xded3332008a282ccL,0x0bfd7de18f9ded9bL,
  117358. 0x6793ac0db7889003L,0xbb00d91d3577a5ddL,0xe17a23a7802d3c2bL,
  117359. 0xff95f88cfb549014L,0x7cd1bf4bc71b6e07L,0x2e3b24a023588c8bL,
  117360. 0x9b5335b8a4112076L,0x2481c05ec4056d30L,0x55c7410ce916a1b5L,
  117361. 0xbbe03271850179f4L,0x15e6c177b3cd1208L,0x509a24c090cbfe50L,
  117362. 0x820795291c108566L } },
  117363. /* 225 */
  117364. { { 0x5d2d3cff1c7d353eL,0xd5e7eccd7de0ce3bL,0xb4b1075f6ca87635L,
  117365. 0xda8404e025f9ad3eL,0x6b963e89205cb5aeL,0x9e5ee0d809f221a1L,
  117366. 0xd64c85d9ea41aca4L,0x6a46c4e934442a34L,0xac6ff97e3cf655a4L,
  117367. 0x76565c1ee5417d7cL,0x681009a9eebf9c4cL,0x95b61d3988da6388L,
  117368. 0x6402b46af6b472c6L,0x1fde51650b7f1171L,0x94f8f273be0c05e3L,
  117369. 0x7487b036a88344a7L },
  117370. { 0xa860e5759c3e2370L,0x19d58193f8048719L,0x3a0dbf3ca6e2f9aaL,
  117371. 0xb6c7e9596144719bL,0xa9049c74deffec21L,0x8ba064b23f50cebfL,
  117372. 0xb12822c049a1de15L,0xb654b7d9b1d527f2L,0xc470859d0ffd0430L,
  117373. 0x37c74a674f05446bL,0xe553251ba3add995L,0x4a3ed6cbe33533b5L,
  117374. 0x2f2f44d027e419ceL,0x2d84ee82a5d1b979L,0xcc76b123db6fa69fL,
  117375. 0x834f85c521fa3bddL } },
  117376. /* 226 */
  117377. { { 0x329347c12ce9b31aL,0x1d88522afe3fb3b7L,0x4bcefb4d52ff90fdL,
  117378. 0x53b173862b1a081dL,0x538c11ba2a411f08L,0x7895b93c141b603aL,
  117379. 0x2993b9aab10bd741L,0xccbbd04609912986L,0x669fafb0eea0aba5L,
  117380. 0xd484462235661897L,0x4a63b89c367ffa54L,0xcbad5d1d1c3478daL,
  117381. 0xc5339227aa6034f7L,0x0e6d705fe61b1391L,0xdd14b660f74ff515L,
  117382. 0x639d8b0a5332b54cL },
  117383. { 0xfa423162162217cdL,0x2e0e4a2a811c28e6L,0x68d9ce1821766dc0L,
  117384. 0x51263739046a06efL,0x44eea231dde92101L,0x0607c8f2114298d3L,
  117385. 0x27f272ba63d957e9L,0xe7ce80cca5e8cae1L,0x5816ebe224f7a63fL,
  117386. 0x4dece5a789673e34L,0x13756a22536babd4L,0x644d61aee3bf77afL,
  117387. 0x60b2bf6e2bcf98bcL,0x3b0b59f329fa962cL,0xb0769a1aabb50023L,
  117388. 0x409031360c75402cL } },
  117389. /* 227 */
  117390. { { 0x84d2873a1670433fL,0xc9394df625493dfcL,0xeb05a19a80fcf89eL,
  117391. 0xe39e4310db297616L,0x50742dc9d9e63046L,0xf31ad8c81de9ca9eL,
  117392. 0x86aabf94fb7b1d0dL,0x36cda27a1b3c82d1L,0xfb1a2ef439702d84L,
  117393. 0x280bfddc46081299L,0xe4b2b48dd2396238L,0x2db2c2f37b3c9353L,
  117394. 0xd5b5b31712fb8a69L,0xf9b87a3b08180474L,0xd85909861e952578L,
  117395. 0x80668eedf37a2bc8L },
  117396. { 0xe2edcd35b39a0249L,0xaf230cd4b2f8aeaeL,0x295b15e47223df05L,
  117397. 0xbb66982ae0e937f4L,0x019d2b728cbc9162L,0x5c512ae9cf49dca1L,
  117398. 0x11b491a7630f07b4L,0x48d4f34ca03874e9L,0xc1fd0ea644cb7433L,
  117399. 0x13f79ae1f95b30c3L,0x40362d4ded8b60acL,0x9e8314ff61ead81cL,
  117400. 0xed600dd4498c3d28L,0x5fcb1c19c2521702L,0x592329fc3a9c1f33L,
  117401. 0x046775481bde6ce9L } },
  117402. /* 228 */
  117403. { { 0xee3de56e39233c96L,0x868c409c80737eafL,0xacae11bd201abc68L,
  117404. 0x0f2cea9b2b486205L,0xe32387e16f19056cL,0xea75365aa5dc2a41L,
  117405. 0x76c29acc12b4be86L,0xa01fcab78d63294dL,0x81dbe88b0cab9f24L,
  117406. 0x76646e5bf414c054L,0xfe111893cb96b7aaL,0xb649f5b17664e097L,
  117407. 0xa196422e53fcf5a9L,0x5978c9bd0b7ff634L,0xb5feb38e3c229895L,
  117408. 0x038a49fb0833c456L },
  117409. { 0x35e3818c13e93257L,0x14cebc9da612741bL,0x4f6e92497caac06bL,
  117410. 0x82278e333daa1116L,0xe7cc565e4de2034aL,0xbb7dc95f0a1ba630L,
  117411. 0x81dd9f2366956fbdL,0xc63e6319bb132dd6L,0x6e22b022fc241337L,
  117412. 0x238481937e8beb1cL,0x83b1994dd8c938acL,0xb54cfacaa6bb5644L,
  117413. 0x1a7cd44e06f91807L,0x1dd439bba8f8d9f3L,0x660c2a787f74a8e6L,
  117414. 0x4bb76e22121b5660L } },
  117415. /* 229 */
  117416. { { 0x7a151e8ae6354817L,0x33d494eaf038b438L,0x4c86c68885958986L,
  117417. 0x721538271dcbac12L,0xf487af8cc0edad06L,0xad33051fe500e5d6L,
  117418. 0x0a711b1bd6e47f55L,0xa68709a78c746ad5L,0x27f172626402f35eL,
  117419. 0xc6d08efafb30c130L,0x9ef1c041c06c7497L,0xd0c74ecedcc3e2daL,
  117420. 0x30c5f96e092e1073L,0x0f1393cf2aa12b74L,0x245840162107eb02L,
  117421. 0x8843d25f7b76f98bL },
  117422. { 0x4e1501dcedb2a83eL,0xbcfe8fb02bb8d724L,0x09020659d925df62L,
  117423. 0x3c715dcf42ab6fc3L,0x73c05055a0f09dfdL,0x126745d8e3590aeaL,
  117424. 0x5382f4d876ff749eL,0xfc69feefa920c663L,0xde1602119fd711caL,
  117425. 0x4219c3bd9075c4d5L,0x3800cbd13ded6bf2L,0x8c7ea0eb6263a116L,
  117426. 0x35bd79587d264c37L,0x56e22e457159c98cL,0x71bf2a2dfa7373b5L,
  117427. 0x0503f9398935c949L } },
  117428. /* 230 */
  117429. { { 0x65addc6671dad4f6L,0x238e4889024bea1bL,0xfb76c8e2f605d3ddL,
  117430. 0x13d5f5deb0d96b89L,0xe0b5ba356601b2cbL,0xe37d491d83e3d254L,
  117431. 0xe8860423240c8ea7L,0x374182f3e91c99baL,0x26c2caf9a87ad919L,
  117432. 0x4b13040af574f295L,0x5b9bced1944000a3L,0x4ccc57be06df42e7L,
  117433. 0x22e8ec504bd1089dL,0x0c53177adddbb500L,0x690d31d29ecfeadbL,
  117434. 0x735778fe176668f9L },
  117435. { 0x0f86ee3e843c1137L,0x3c1c42fa3f0b73cdL,0x0e75679d8ab20e3aL,
  117436. 0x6f95f1f416242faeL,0x7b88e11c39b092e4L,0x1629403e4c236ac0L,
  117437. 0x66105f412dac02e6L,0x74dc28a7862e0632L,0x2118ffb2f3b23c8dL,
  117438. 0x1182417c0745ffbfL,0x49b55a044c05711eL,0x2c665b74cefbe4deL,
  117439. 0x1cc4c01d97bf7107L,0xb2ca06dac54f0676L,0xfc599daa7450d0f8L,
  117440. 0x52e637a61a3182a1L } },
  117441. /* 231 */
  117442. { { 0x481700f16bebc6dbL,0x4a6b45dbf9503d92L,0xc715cd3c5d153919L,
  117443. 0x942a1c05e5ad2abcL,0x36a82433ab7b466fL,0xba413bedba13918bL,
  117444. 0x698a562490f4e6ceL,0xbb720da6f3f1f3caL,0x2116d41d63471ab3L,
  117445. 0xe00d2227303d3609L,0x7fd4cc00463ba69eL,0xac609e4d62845fd1L,
  117446. 0x63603b2c80adc9c7L,0xbf16fc9a45fafbcaL,0x41007f7fc4bc94abL,
  117447. 0x7c916b4fa74b1698L },
  117448. { 0xc1026f9178bac2d4L,0x8a2e80982601a875L,0xad2f276e0073d640L,
  117449. 0x443610c4fcc1fb88L,0x5727b822ca6b291fL,0x0645532c88ec60fcL,
  117450. 0x51e48899ed9ad48bL,0x841b48b5f543f103L,0xa6ccb1bed591ceebL,
  117451. 0xfc4adf0f9dcf5a8bL,0x3a7ca020b347ddb4L,0xaa1accc2cb44c521L,
  117452. 0x773b68280527c0c4L,0xaa374c107023cf50L,0x733d10006b74c926L,
  117453. 0x1ff3916f77a8d07cL } },
  117454. /* 232 */
  117455. { { 0xaa218fe4f997939dL,0x3d4dfbbb791583b3L,0xb3a7b5da87f7560bL,
  117456. 0xa9c028015da92c98L,0xe1eb4aad46666f4aL,0x2eb17a5114ce9dd7L,
  117457. 0xf46a66a4ef8f3076L,0x900b45c6810e546eL,0xf7af22584baf04ddL,
  117458. 0x3cc1c8725c84d42fL,0x3093f2258e4c83deL,0x62fade41170d88b2L,
  117459. 0xe19612e4ac076e44L,0xf48d734632dd141bL,0xc1b1f759925e34daL,
  117460. 0x19ed1a56072b90c9L },
  117461. { 0x9cf7fcde6c735473L,0xaab88e676003bc3eL,0x12187cbcfb199bb8L,
  117462. 0xbb7304419accccbdL,0x214aff3cb0f65459L,0x6aec81a36f926282L,
  117463. 0xaa82cb329f9d20b8L,0x82f3f90f5773cc90L,0x4af60e6bf62257e1L,
  117464. 0xf18b44bfbd4762dfL,0x3948b129db970753L,0xc6e920e97c22c18eL,
  117465. 0x393d620857be97adL,0xe8d7382c46b637f9L,0xf6625ccbf1fed1d5L,
  117466. 0x6f31e0f968681599L } },
  117467. /* 233 */
  117468. { { 0xc45afe5582b8f204L,0xac0441b6d358b54aL,0x7213e7bfacd5f5edL,
  117469. 0x1914c70b139bcd93L,0x714b458196dbcbb0L,0xe9297d351ed35d21L,
  117470. 0x8f6408376a3e1f20L,0x150a8a9d2f3cd705L,0xfb36e801dcdd9f6dL,
  117471. 0x5a54eb655cf56d82L,0x7610500c92aa5a21L,0xd10d0ae23b089f03L,
  117472. 0x491b2079c42b66e8L,0x4af1ae3d0eee8d48L,0x137e4c2841556f45L,
  117473. 0x875e330863d8a7e6L },
  117474. { 0xdc80fddcaf6c0accL,0xd5ad1e66bb1e7c08L,0xdc717ae1828585adL,
  117475. 0xbdc54340275c7da6L,0xf4b4c852d26b9e15L,0x5f0a1fbf6a05fa50L,
  117476. 0xc6f81e47817bcb32L,0x2cbd432870ff2e1dL,0x8a24901667c7f7fcL,
  117477. 0xd045acb7b585a6c4L,0x2e972ad44666c057L,0xc74d87cfe6d7d63dL,
  117478. 0xf7067d870e274144L,0xb2ca157a8b2584aeL,0x495c5bfb75f0fdebL,
  117479. 0x5abb0581f386e009L } },
  117480. /* 234 */
  117481. { { 0x8be62d2bf0c97f57L,0x0fe04871962f28c7L,0xc548a46747b50abbL,
  117482. 0xf6b26e0344fa09edL,0xfd44c6e3ab05a96eL,0xedb0032c70e6ae82L,
  117483. 0x28bd402bd7e4899dL,0x43f2e9639b7c11c2L,0x0ec3fc0ece913716L,
  117484. 0x769b8bc902fd0f8cL,0x9d9cb3aa7cabc3acL,0xe88a889206924cc9L,
  117485. 0xa51461aa42609014L,0xc7f4aa8b962e79e0L,0x4ef0210a8b1b3e80L,
  117486. 0x705446801bfee4bcL },
  117487. { 0xfab3d713121901c1L,0xe90a2627fead54aaL,0x64f6d285bc08ba23L,
  117488. 0x8d99301536ec227eL,0x99a16ab906c191abL,0x86b1cf5bf649ce2cL,
  117489. 0x5920675966be3a80L,0x18836279ccba2cf0L,0x2c157b87eff53486L,
  117490. 0xbfac98964b223af2L,0xcd0fd4f00aae7a57L,0xdaddb94063218a80L,
  117491. 0x3844bb79df88f14eL,0xc1b3e3d4b71ed9fdL,0x6c634a13d6205036L,
  117492. 0x6f56aecfb8680a6bL } },
  117493. /* 235 */
  117494. { { 0xb01dc803d9205c5dL,0x68955f7d67123929L,0x3debbffd9d9b6565L,
  117495. 0xb844395ed3b1acfeL,0x04328b216094eeffL,0x6631ffa822991febL,
  117496. 0x0dde66e6190dd075L,0x75b03c55e8577c05L,0x6c91ce5f91722407L,
  117497. 0x9a288a408ebb3a3fL,0x1d376f8a058a1396L,0xf3a594579a6e0676L,
  117498. 0x103029c57b71d288L,0x0843f428b44c30c0L,0xd8e6aff8730e0b9cL,
  117499. 0x7b6be8114ed644adL },
  117500. { 0x3ec38e4a3d3aa54eL,0x10233943d83d509aL,0xf84aa621243955e2L,
  117501. 0x29104717f51d3d44L,0x62d2442c7eca4e37L,0x8c5a523d85fa55deL,
  117502. 0xc6f5ccda851da1b5L,0x044bcaa820001468L,0xf7501e68e01702e0L,
  117503. 0xf0819359e6a0acecL,0x33dda6adac0ef0b2L,0x97aeedc8fd964f01L,
  117504. 0x48dacd0e530b90d8L,0x4c5fad6fb84122ebL,0x2284ec1ed700a1deL,
  117505. 0x86f9a835dbca5474L } },
  117506. /* 236 */
  117507. { { 0x0e1d9055450cc69fL,0x50eb14bcc9edf98fL,0x1bb94e77ee7eba01L,
  117508. 0x5f7a6737998f8e53L,0x588384e31b16eef0L,0xbb928723d85c5e15L,
  117509. 0xfe51e345cbd952aaL,0xc5d0ee287e241674L,0xfdc146ef100182f0L,
  117510. 0x0f739e92e7f5be2cL,0x501ab3afb656bd3eL,0xb1552dde5168e289L,
  117511. 0x940dfe31b8ee104aL,0x42923603c4304475L,0x9306f114c460a913L,
  117512. 0x5bfa9faf03b51f86L },
  117513. { 0x2a23f52c107b258eL,0x989e82bbd66341dcL,0x54a3ced8823cff1aL,
  117514. 0xf45b7794719b491fL,0x898c22182433dfb8L,0x0f9dd91cc49250eeL,
  117515. 0x50c2a2ae4fa17655L,0xf7aa1ce42c327f45L,0x13a15ad6583b1e41L,
  117516. 0x9aa0d5a5a1bfad9eL,0x9b1caa288e1fbdcdL,0xaf9283b6915f7f87L,
  117517. 0xc10e4e0c87e81a1eL,0x04fdca561080d296L,0x6acc961612755bd8L,
  117518. 0x1b1266aa828feedaL } },
  117519. /* 237 */
  117520. { { 0x4ebc0a00774ee49cL,0x776f6852cb6237d7L,0xfc0544ac5df938a3L,
  117521. 0xc3388ec8b6fbfbbdL,0x84ac8bcd745f2eaeL,0xa9c56609b1ece937L,
  117522. 0x656fb6ac7de8fa13L,0x5f8ded74a532b871L,0xab0d428baa889f09L,
  117523. 0x43b27f2810b7aec2L,0x26426e1efeecb34cL,0x44431b6b9e89c2dbL,
  117524. 0xaac4bc5d39211090L,0x926f73684fd81058L,0x452fa691471ef60eL,
  117525. 0x33517fdb218d7a23L },
  117526. { 0xa9c33f46593c4a36L,0xac69d71836b1a9eeL,0x55a20c1d4277beecL,
  117527. 0x3e8ca24e7e4f179cL,0x57373369d46d88a2L,0x71ceb1cc730702f8L,
  117528. 0x8b184d9735eed574L,0x7f4517a20704cec2L,0x7f129d18d7062a53L,
  117529. 0x07a4571bb1d77e1cL,0x774ac3098350d8b2L,0x27b2919f61fab8efL,
  117530. 0xa7c4cc13b5dd801bL,0xe7e6255b1434591fL,0x349937b85a3592b3L,
  117531. 0x31fac63d30c77549L } },
  117532. /* 238 */
  117533. { { 0x2ee8cf1b04913fb6L,0x7e4013501769a6b3L,0x790ebb71783e61f0L,
  117534. 0x1e5107f9e27f2ffeL,0x124ba67fedaf89bfL,0x189200e1e58de68dL,
  117535. 0x962732a36df5abeeL,0x72cc37cfacbeb4aaL,0xb0c5fa96e93c5a76L,
  117536. 0x4c2a317cde63393bL,0x97f65e67830b2d6cL,0x4afc35041be5b96aL,
  117537. 0x0bf40a60730ce66dL,0x96a1ba799340d84fL,0x3ee1825407626b08L,
  117538. 0x01db35db7ab0cbf5L },
  117539. { 0x6e0fbc2dac0efee2L,0x8406ebcdd71dbb45L,0xe72bde3e19b69abeL,
  117540. 0x49cb7e6137e01822L,0xcbb8c01c11458b4cL,0x420b4847687c5d63L,
  117541. 0x1847dfa1454c6776L,0xbede911dd1839d18L,0x1b9dc9c9278df046L,
  117542. 0x294bd62b881a336cL,0x7f09687993e77adcL,0x7ac9066543ce3ba7L,
  117543. 0x148695fd7764eefcL,0xe0c20f0b9ac465cfL,0x636e8d28a6e2cdb1L,
  117544. 0x7b6ba98cd755341dL } },
  117545. /* 239 */
  117546. { { 0xcb1d9e03c1881ab4L,0x19c25d55b3168c88L,0xa82d3d47282364ceL,
  117547. 0x95994390f161aa24L,0x7838bc00e1ebb2c9L,0x8fd5dfccbdec7a75L,
  117548. 0x4dd203c24ff7220aL,0x5ec173b30efeff48L,0x99f1d2b316428b35L,
  117549. 0xc06bd9e5056e813fL,0x929172bac0b319f1L,0x6ae0e384fd223b15L,
  117550. 0xbd01059e98d091edL,0x6b3168e4a654648eL,0x2211447f3375e798L,
  117551. 0x47e8101971eb4508L },
  117552. { 0x7045d45abc8c290dL,0xa33d1355810fb33aL,0x2baf009246fbbf2fL,
  117553. 0xacff3f1b385c7cd9L,0xc5b150ece161985cL,0xc6ee0a7f2a888748L,
  117554. 0x9d888c8e5e88dcc8L,0x4dd735f2ccb86443L,0xcc1e13b73c40f6f2L,
  117555. 0xfc3a25fff3fed691L,0x4cb43b17257ee5c7L,0xaa654f93f32db135L,
  117556. 0x44f58d0a02dff2d3L,0x78e3f188a8ca6394L,0x39646ccef3e86697L,
  117557. 0x785b1902e0dce87bL } },
  117558. /* 240 */
  117559. { { 0xfcce2361a92f9a20L,0xb7bdca879d64540eL,0xd4739a851d00d7c5L,
  117560. 0x067ac8dc2e97c926L,0x2aea3ffe78da6a8bL,0x6828bf5463c51b69L,
  117561. 0x76f1c4797155141aL,0xf4bcbef63977d810L,0x75bc4949541bce7aL,
  117562. 0xe01f4066d17041a5L,0xd282d5bd87755eafL,0x6e2107dd59e7ae80L,
  117563. 0xaa56e166382ab36fL,0x65ee8ef6b9d1d634L,0x99a2160ace4ed844L,
  117564. 0x6557c367b7712c27L },
  117565. { 0x561b0268d75b6e52L,0xb0813640118d0e89L,0xcff533306a2eb1aeL,
  117566. 0x4e4622266d090894L,0xbb351227b5fc1d48L,0x9365ea0757a3062dL,
  117567. 0x4caca37bd66e2dc5L,0x220d7d23b9095887L,0x9c0fd3938c4473bfL,
  117568. 0xadff370a6787da4fL,0xef0aebccd057f4b8L,0x205e744c1173f33aL,
  117569. 0xb8d1f0a5925a26b4L,0xa9364f49722fbbfdL,0xc891ae778227d284L,
  117570. 0x15c40d04a0e08ab4L } },
  117571. /* 241 */
  117572. { { 0x9baf169a2a0e18d1L,0x9971c0174c0327c2L,0xd81a323f7bc262ceL,
  117573. 0x2099db8d818ff379L,0x663f663d4cd3c330L,0xef5325c3011a0553L,
  117574. 0x9cd70bdcf980a470L,0xe64452d11c9ed070L,0xafbf43f4ac676e13L,
  117575. 0x97bec0a6ae85c2a5L,0x2faae550470490c4L,0x0ab97a87491e6ba9L,
  117576. 0x4055f537aafa9914L,0xfc95adbb36726557L,0x646343b9d119d6bfL,
  117577. 0x788e94a09d341e37L },
  117578. { 0x053a6fe59c53461aL,0x75ec897e08e3b6edL,0xa8f5d2f30768d939L,
  117579. 0x9bd6bff6cc213d4fL,0x590c7b4105b0147cL,0x20a3628b7c7b8169L,
  117580. 0xc66a086e5bce78e9L,0x3dd4d2824dec1d8fL,0x890acf44c19dcce9L,
  117581. 0x6632d875d8435a7eL,0x590167c1ea6381b2L,0xb2259797f0dcc128L,
  117582. 0x91a612b446f8d463L,0x42185d78c15efa39L,0xdf55ec37119f6788L,
  117583. 0x91b19cc6780dea93L } },
  117584. /* 242 */
  117585. { { 0xebf2709dcb5d8b80L,0x03b96182fc35660eL,0xb873d991055ef969L,
  117586. 0xd1ea4b4de47c4342L,0xcc4b9244d54f8867L,0x93b1a2cafd8d77efL,
  117587. 0x068d24e7e8c1f563L,0x5f5fabb649973056L,0x83248c500542374fL,
  117588. 0xc36de2b53f38e913L,0xed07e8eb7bb680beL,0x964813d7d8f313b5L,
  117589. 0x7bb6a069afd2d392L,0xc06d848e0848a31aL,0x6867fb2fe4f0c325L,
  117590. 0x3c2ba834067343afL },
  117591. { 0xab62d7759d3ad63bL,0x3f9cab9759e0eb1fL,0x70332a633885e117L,
  117592. 0xf22cafcee20b2f9eL,0xb529ba7e49eca947L,0x249542166228d88dL,
  117593. 0x80ea23ec39239561L,0x1b8907e7d4370644L,0x4b7fa455563e4e44L,
  117594. 0xcca9829eb2a4b0faL,0xd0a720a448060792L,0x8ccdda0c246991ceL,
  117595. 0x37a2325b348d086bL,0x566ed509f60aee13L,0x3d30e091147f253fL,
  117596. 0x1fa627a5c1073bd8L } },
  117597. /* 243 */
  117598. { { 0xa11222a242478fd4L,0xacf4c6f1670b2000L,0xf71bb04f8359c6deL,
  117599. 0x618e28297b93cdbcL,0x96e1bae3230db60bL,0xf17fd3b4965b3b29L,
  117600. 0xa58639c6bc7055ddL,0xc3ea92ed4b817d7fL,0x9082b2a6d23b08a4L,
  117601. 0x8471228adc17010eL,0x753b9e4620e89d97L,0xcf7e4f9703ff77c9L,
  117602. 0x6c3f82452bbe60e5L,0x9e432cbcb80e017dL,0x150a5acdc0a45edbL,
  117603. 0x67b8bd054798743eL },
  117604. { 0xe66079b4f4797cf7L,0xe31c998ad03fde02L,0x5aa3763a54caaef1L,
  117605. 0x64d9a1fef7649711L,0x7ce0dc73af29b1a7L,0x6661b083fb66ca93L,
  117606. 0xbf4d74fe32fb6a78L,0x25f6ef09df00a561L,0x2bc4383f831d1159L,
  117607. 0x6d5cc10c536bde37L,0xd4945f9f882cc65bL,0x81f48f13451a99b8L,
  117608. 0x140161cd6bac11a4L,0x9d94d4edf18a4a0aL,0x65363165a467a824L,
  117609. 0x74297aa9a4c9aedfL } },
  117610. /* 244 */
  117611. { { 0xc49758a4e21124baL,0x99bd8198a87ffbd2L,0x45fbcdd13d6638a8L,
  117612. 0x94645ff815f7bf76L,0x5fa6736fc4e6d57eL,0x1eae647592e61db9L,
  117613. 0x79575c0ccbdf944aL,0xa3d1304725b31d74L,0x7881df224cab5ae6L,
  117614. 0x8dbfd2991a2887f2L,0x23d07590a26ac459L,0x2e589852d8661d4aL,
  117615. 0x37b5c13b8a0140f7L,0x0f94199e3fb3782aL,0x722aa0591bc14e90L,
  117616. 0x89aab7bad55bbb12L },
  117617. { 0x8b345a96d656bdc7L,0x43bdc8afe176cd3bL,0xd69518b632d64c43L,
  117618. 0xfcf364a779b82b41L,0x907b344effb0cf82L,0xf3d0c83c5101287bL,
  117619. 0xe9f26a5934cd90efL,0xe5f5aaf207082b5cL,0x4eb72c75ece7c165L,
  117620. 0xe9590a81be986cd6L,0xfeef498fff1536aaL,0x04560243a8263d5eL,
  117621. 0x940be14f54ae872bL,0xbee7bcc9e3207686L,0xd496a27dc1bc4d7aL,
  117622. 0x002dc2975940ab46L } },
  117623. /* 245 */
  117624. { { 0xee533937b69d60c3L,0x260be552fe972755L,0xb11fb78dc0c725a6L,
  117625. 0x6982c27ecab2e7c2L,0x4bceedd9ee2322cbL,0x952b19ed122704f7L,
  117626. 0x2df4c285854a6165L,0xba40b5bf7b192485L,0xfcbca9500119f52aL,
  117627. 0x7467d1cbe5add86fL,0x9bf536fbd9d0f2c1L,0x3c296e34b8d4ebc9L,
  117628. 0x0495f8f405a81317L,0x8c59e8d673335f76L,0x0b53d324e0542122L,
  117629. 0x4d5645353c3bda73L },
  117630. { 0x7322f8007e5c0877L,0x481b43e60ca9a764L,0x231f4f4ba2c12716L,
  117631. 0x09596857ed3136c2L,0xae82632238db30deL,0x652fad4099908ebcL,
  117632. 0x0b8d1814af0d231eL,0x2680c54b09cbc349L,0xfd4562f34bf3bf8eL,
  117633. 0x2985090b092b595fL,0xe6f39ca45e15fc34L,0x70175191bc378168L,
  117634. 0x906944b3845a4a87L,0xacc6d74a82a1541aL,0xadc9bab3b155c8b4L,
  117635. 0x1f2f89ce77306c62L } },
  117636. /* 246 */
  117637. { { 0x8253ef419affefdfL,0x05d7ece54cf9256bL,0x377002f2b444e483L,
  117638. 0xb189755fcba5471fL,0xc88483cbd5cbe015L,0x254f7c696a0b8429L,
  117639. 0x18850bd461f3f61dL,0x7ba210890a247157L,0x35abbc2ed92eeb0dL,
  117640. 0xfb56cabe965dec89L,0x9da23724bc55684aL,0xd8ba396f6a7a7492L,
  117641. 0xfcb90db72ef4ba46L,0xdd234fe09909b27aL,0xbdf3c16476f4366eL,
  117642. 0x09c8097f17e50d47L },
  117643. { 0x6a04b14060050c07L,0xc29e831843a8e37eL,0xcb9429b2bb55e41fL,
  117644. 0xed2fea5a2ce60e3aL,0xdc7b1ff3db9d82f4L,0x48ebecc3687d37faL,
  117645. 0x79153e32ecb07539L,0x6a60054f57075692L,0x3871cd0c800759baL,
  117646. 0x17a7386f30922df1L,0x4e9fc59e83357b7cL,0x1d26b3a939415186L,
  117647. 0x912a0222d34db889L,0x6672fcf459fcdb71L,0x5a3f268d44ff3036L,
  117648. 0x6f113ed36911e16cL } },
  117649. /* 247 */
  117650. { { 0x52a9df591836f1c9L,0xfa6519f54232307dL,0x8406c7015ded285aL,
  117651. 0x0a1545caaf627f75L,0xae1111eeace0417dL,0xfb28bdf6a6113443L,
  117652. 0xde9ef0ab52dbcbcbL,0xe9dc181b7813e658L,0x0b1dabdb99127225L,
  117653. 0x5f0598e322814c59L,0x5c3b966ed934ee7eL,0x4eb84edab99ba4bfL,
  117654. 0xb2919a343c1b55e7L,0xa9addb4994aa860fL,0x1b7220dff6811ff6L,
  117655. 0x6636a23bd1a183e2L },
  117656. { 0xdf5d5a2d20587283L,0x0b3822c9ef07fc5dL,0x1786bd550ef6de38L,
  117657. 0x163cf90725d1671dL,0x74bf971f1cdb1defL,0x5749e8300842fc4aL,
  117658. 0x0e2edbc727f854f7L,0xbb27bbdabce24acbL,0xc1b19cec05bed08dL,
  117659. 0xaada123ef7c904bcL,0x02429f1bd89982dbL,0x49d3616e65f6e632L,
  117660. 0xa3789fa8ee59fd32L,0x160ba3bafe9f29f5L,0x0f2d3b61af5378a0L,
  117661. 0x7aeecc7673c2a6f8L } },
  117662. /* 248 */
  117663. { { 0xf3a4757cdc43b0dbL,0x3d8a4e8598119cadL,0xf8095bf64616c156L,
  117664. 0x3e2a07bc4f533e97L,0xa982436739cfc5adL,0x18a6ba3acd68052cL,
  117665. 0xbd60e5908a1cec66L,0xae3841a502b1b695L,0x986dff12190a195bL,
  117666. 0x2df2beacad31fd9bL,0x7d893224cc728f7bL,0xc38ea7380cf0a992L,
  117667. 0xa8439a80586a44eaL,0xede7f7f01615f03cL,0x4824990827a1f885L,
  117668. 0x28ec4006b78a7645L },
  117669. { 0xe1820c2ea2fe0009L,0xe11ba5d2f13874e9L,0x97522454c524db52L,
  117670. 0x4d4774267fede529L,0x01d3419a9b2500d4L,0xce08a4921869244bL,
  117671. 0xba169023dd1be1b9L,0x242c3e5432a301e0L,0x9b56f7ba70906788L,
  117672. 0xf0ad2a09c74a8cc4L,0x99cd1841d76f9439L,0xeddafe0b621fb60eL,
  117673. 0x056bee54bc397634L,0x4653f860ff7f0a84L,0x6bd4876f2011c0afL,
  117674. 0x134f4cc70c9525c3L } },
  117675. /* 249 */
  117676. { { 0x9621a3ece938dff4L,0x7d101a7b486a79a3L,0xf2c4ef97de950537L,
  117677. 0xf3184099e65d87dbL,0xb89c7ffb373b8cfaL,0x68baa505e842916eL,
  117678. 0xa790fd094ebea764L,0x679df6d4e592892bL,0x2023331cfcfed741L,
  117679. 0x0bf4efd29880ff21L,0x7ca78dddd0344501L,0x2cb09ecb342858c8L,
  117680. 0x9e5eb6dc2575487aL,0x50675a15ebcb0491L,0x09d2e74f7381d471L,
  117681. 0x6ea3782983d3d6f4L },
  117682. { 0xc65c094b4e5cc40aL,0x7a2e3f6a1af37dfbL,0xef677e9df9026e44L,
  117683. 0xb7878c9593880f53L,0x4aa30b077f644aa9L,0xa0c516832f208c3cL,
  117684. 0x7c0277ae658d663bL,0xef0b3c38ae1d9130L,0x302f37a7695c3ea4L,
  117685. 0xe004c1c56a0c5e0dL,0x9fd495c420cbcf9fL,0x706d5b9d568a0e7cL,
  117686. 0x8b225dff59286454L,0x527d44658d9a709cL,0x47c558da87c08d68L,
  117687. 0x606ee6e6bb4ef07dL } },
  117688. /* 250 */
  117689. { { 0x02d99fc757c621f6L,0x292e40c17fe83d48L,0x1bdfc7a19ef199b0L,
  117690. 0x78a04102e62c7666L,0x16cda370e6738753L,0xbc81974d1e3a65afL,
  117691. 0x19742048f78fe209L,0xc83a058abf5981c6L,0xf26b24349c89702dL,
  117692. 0x988b2f1e9d1a678aL,0x472bf9b0ff29ae29L,0xa143e3981d7cf5ecL,
  117693. 0x9c9d7e45b268ddd8L,0x166cda555fc4ff76L,0x6044cdf0a4aa7673L,
  117694. 0x49dba6f7e9148707L },
  117695. { 0x20e47fb2a758e37aL,0xaf6b31d72d8eaf66L,0x352ad5f96f9c2210L,
  117696. 0x0093f72790efc32bL,0x435c99dc41e4b264L,0xbfa878e005b15795L,
  117697. 0x99c520a40e673575L,0xca68259487eea759L,0x029f7b81f12a348bL,
  117698. 0xa547cc182aa2ce35L,0xa11d874bead5e2c5L,0x9af0349b55682cdfL,
  117699. 0xf86ebfea8bbe8e66L,0x3dab8782f55394abL,0x458bf797ebc8eb8fL,
  117700. 0x4890a7a49b7de78cL } },
  117701. /* 251 */
  117702. { { 0xd72996898da995f6L,0xd39eaae7ec6156efL,0x6959040c356a82d5L,
  117703. 0xb2046b21c135bcfeL,0xea720b640f595c78L,0x02824efae7c5fb40L,
  117704. 0x97d8fd4c0edb3bfcL,0x12f0290579f24ebeL,0x16fc47cf187ea6b9L,
  117705. 0xc219fd27789d5c23L,0x233a6b6c89263eccL,0x823634b28b6d30a6L,
  117706. 0xca352e25c9b33680L,0x9388d6ca40c77456L,0xf8e55b0b3c92065bL,
  117707. 0x5c17474b02439a76L },
  117708. { 0xd888e7c28aaccab5L,0x18027836aaced05bL,0x185b877dccec0f65L,
  117709. 0x93cadc1c125c2882L,0x45df540a67fdc54cL,0x4f3c86e2c2788a33L,
  117710. 0x3e874469e3a0fa2cL,0xc59daa47273983cfL,0x3063c48b4a96d8a5L,
  117711. 0xc38d2bcfc2e58915L,0x90e78b8784e428c3L,0x900a292cf0c4fd53L,
  117712. 0xb7f92db7941e6005L,0x956792416ca53a1cL,0x35f6f31db1ab0fa7L,
  117713. 0x5d675eb47b58408cL } },
  117714. /* 252 */
  117715. { { 0xaeee1a77870c6025L,0xfc4a23b791a2dfcaL,0x7b0e60c4386b64c4L,
  117716. 0xd5d5b17de5ae72b1L,0x6dfc88ac9eefa212L,0x4feaefbed4038b96L,
  117717. 0x099ac3568e2d2eccL,0x548ea612012af207L,0x4ffed9db89c31218L,
  117718. 0x1c1e91c4e0e67331L,0x009bb64faf8300e0L,0x8780501c6773c3beL,
  117719. 0xe0cd6edec08219faL,0x7c055e07f81b06ffL,0x82b63f9ce080b36fL,
  117720. 0x02fccbaf0a9feca3L },
  117721. { 0x9991d4d1b47cac61L,0x2e9d1687ab86e12cL,0x8c6855ec2b94f042L,
  117722. 0xca40051948e648e5L,0x9ba91fb2ef89ac57L,0x4f4192061be792cdL,
  117723. 0x82d221cbbd0f1e15L,0x062eb13bfc444019L,0xf3a97c3299790fdcL,
  117724. 0x4e796d946067a64bL,0xc46dd3006d23775aL,0x8672c4d5ed7f0f23L,
  117725. 0x821851dc3b4f63d7L,0x50a3ae0cd26273f2L,0x800e58fceac60f6fL,
  117726. 0x56f1e45613845545L } },
  117727. /* 253 */
  117728. { { 0x01ccb3f632c24f3bL,0x99eb1c7f06d817e6L,0x8dc640bb6aa26776L,
  117729. 0x7838affe0845d5e0L,0xf34fecb1f81a79a8L,0x6a2e282d3e6819b0L,
  117730. 0xc4b977ce8237a4b8L,0x0f46b3db87636439L,0xa465f54097970497L,
  117731. 0xd7e087628791be43L,0x00220b6c34198ec6L,0x57b38637093d94bbL,
  117732. 0x84012e1629d690b2L,0x02ec9db520aad1a4L,0xafee2fc685dc34e3L,
  117733. 0x911d193625500cf8L },
  117734. { 0x13b1bd58f5e5af5bL,0xa7ca263b7b6a22a7L,0xab6bec4df3af2adcL,
  117735. 0x16651e59a04420bdL,0x3b448b3b4ba36c11L,0x3c62bfcdff424310L,
  117736. 0xde15c4a5f1a96cbbL,0xbe0ad8a1e4d1f980L,0x812bd14e36673a3aL,
  117737. 0x40303af69212acddL,0x8f6dab9c576095ceL,0x7df1882a107f5ca5L,
  117738. 0xb903e63c8896a3b0L,0xf5048544d863b3f0L,0x5e5019b9c09887deL,
  117739. 0x2be744fea0f53865L } },
  117740. /* 254 */
  117741. { { 0x054cd05f5b50f324L,0xb9b1eb241ea3c7a2L,0x4a858a5c7ff8e6b7L,
  117742. 0xd83902feec040882L,0x72b26494d0cba9bdL,0xd0176f90b29c9e1eL,
  117743. 0x05d4eb02cebadb81L,0x874405b1372b8bfcL,0x5c41288179ead190L,
  117744. 0xd44a3dd3ec2b48cdL,0x84499a773f4d5033L,0xb37b38cd564c3a09L,
  117745. 0x80e99497f42e803bL,0xc07b47a0b8f518b2L,0xc710e3c53568fde4L,
  117746. 0x735f542fcead0e7aL },
  117747. { 0xcaa9a17138380039L,0xadfafe17f74d19c8L,0x92d4393eccbc1a8bL,
  117748. 0x3c5dbf39fe029705L,0x4552b5ab930e9b36L,0x7ee630322afd494aL,
  117749. 0x826a9ad73f02ac43L,0x98c5356299356298L,0x0c869f877342bb39L,
  117750. 0xd7510020e4f9b79aL,0x6361d1a4d34789a9L,0xf0ded5bacfa85637L,
  117751. 0x407ee73f88ac07e4L,0xfac7d03f09ef1cbdL,0x25d697cb4d475badL,
  117752. 0x1e984c9d14bd399eL } },
  117753. /* 255 */
  117754. { { 0xc76d05614850c817L,0xb08a5b193489812dL,0x7273d1545e58cbbeL,
  117755. 0x8900b5fa4be61e5aL,0xaa088691d7aeb8e1L,0xe66666afd35a3d4bL,
  117756. 0x38a2c19957ec7d3dL,0xa0648e8f668d6f5cL,0x1f9fc92c7adc1746L,
  117757. 0x23a116c0843065c3L,0x36370a2061e6ae69L,0x626c37362aa47e73L,
  117758. 0x540c25f2deff6d84L,0x9804824ccdbed2d4L,0x4b5bfce0039a9492L,
  117759. 0x6c474a5676942e01L },
  117760. { 0x3aeb9a417d88e3a1L,0x105d3c88c484742aL,0xe59de8d13fe61131L,
  117761. 0x148f5b6b1a869e8bL,0x7a8abc59aa75d90aL,0x2f0c9bc762146013L,
  117762. 0x43faa747c3824cd9L,0x81763a186a5d0b92L,0xbbc341bc9bcbaebcL,
  117763. 0xe1813160f745d1ddL,0xa53ce52db75ce5f4L,0x15eae66cd50de4c2L,
  117764. 0x5ed8996c75d7656dL,0xe4ff5711c4ca552aL,0x215e985a3c5305b4L,
  117765. 0x6b258954fa1ba2ceL } },
  117766. };
  117767. /* Multiply the base point of P1024 by the scalar and return the result.
  117768. * If map is true then convert result to affine coordinates.
  117769. *
  117770. * Stripe implementation.
  117771. * Pre-generated: 2^0, 2^128, ...
  117772. * Pre-generated: products of all combinations of above.
  117773. * 8 doubles and adds (with qz=1)
  117774. *
  117775. * r Resulting point.
  117776. * k Scalar to multiply by.
  117777. * map Indicates whether to convert result to affine.
  117778. * ct Constant time required.
  117779. * heap Heap to use for allocation.
  117780. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  117781. */
  117782. static int sp_1024_ecc_mulmod_base_16(sp_point_1024* r, const sp_digit* k,
  117783. int map, int ct, void* heap)
  117784. {
  117785. return sp_1024_ecc_mulmod_stripe_16(r, &p1024_base, p1024_table,
  117786. k, map, ct, heap);
  117787. }
  117788. /* Multiply the base point of P1024 by the scalar and return the result.
  117789. * If map is true then convert result to affine coordinates.
  117790. *
  117791. * km Scalar to multiply by.
  117792. * r Resulting point.
  117793. * map Indicates whether to convert result to affine.
  117794. * heap Heap to use for allocation.
  117795. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  117796. */
  117797. int sp_ecc_mulmod_base_1024(const mp_int* km, ecc_point* r, int map, void* heap)
  117798. {
  117799. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  117800. sp_point_1024* point = NULL;
  117801. sp_digit* k = NULL;
  117802. #else
  117803. sp_point_1024 point[1];
  117804. sp_digit k[16];
  117805. #endif
  117806. int err = MP_OKAY;
  117807. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  117808. point = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024), heap,
  117809. DYNAMIC_TYPE_ECC);
  117810. if (point == NULL)
  117811. err = MEMORY_E;
  117812. if (err == MP_OKAY) {
  117813. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 16, heap,
  117814. DYNAMIC_TYPE_ECC);
  117815. if (k == NULL)
  117816. err = MEMORY_E;
  117817. }
  117818. #endif
  117819. if (err == MP_OKAY) {
  117820. sp_1024_from_mp(k, 16, km);
  117821. err = sp_1024_ecc_mulmod_base_16(point, k, map, 1, heap);
  117822. }
  117823. if (err == MP_OKAY) {
  117824. err = sp_1024_point_to_ecc_point_16(point, r);
  117825. }
  117826. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  117827. if (k != NULL)
  117828. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  117829. if (point != NULL)
  117830. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  117831. #endif
  117832. return err;
  117833. }
  117834. /* Multiply the base point of P1024 by the scalar, add point a and return
  117835. * the result. If map is true then convert result to affine coordinates.
  117836. *
  117837. * km Scalar to multiply by.
  117838. * am Point to add to scalar mulitply result.
  117839. * inMont Point to add is in montgomery form.
  117840. * r Resulting point.
  117841. * map Indicates whether to convert result to affine.
  117842. * heap Heap to use for allocation.
  117843. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  117844. */
  117845. int sp_ecc_mulmod_base_add_1024(const mp_int* km, const ecc_point* am,
  117846. int inMont, ecc_point* r, int map, void* heap)
  117847. {
  117848. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  117849. sp_point_1024* point = NULL;
  117850. sp_digit* k = NULL;
  117851. #else
  117852. sp_point_1024 point[2];
  117853. sp_digit k[16 + 16 * 2 * 6];
  117854. #endif
  117855. sp_point_1024* addP = NULL;
  117856. sp_digit* tmp = NULL;
  117857. int err = MP_OKAY;
  117858. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  117859. point = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) * 2, heap,
  117860. DYNAMIC_TYPE_ECC);
  117861. if (point == NULL)
  117862. err = MEMORY_E;
  117863. if (err == MP_OKAY) {
  117864. k = (sp_digit*)XMALLOC(
  117865. sizeof(sp_digit) * (16 + 16 * 2 * 6),
  117866. heap, DYNAMIC_TYPE_ECC);
  117867. if (k == NULL)
  117868. err = MEMORY_E;
  117869. }
  117870. #endif
  117871. if (err == MP_OKAY) {
  117872. addP = point + 1;
  117873. tmp = k + 16;
  117874. sp_1024_from_mp(k, 16, km);
  117875. sp_1024_point_from_ecc_point_16(addP, am);
  117876. }
  117877. if ((err == MP_OKAY) && (!inMont)) {
  117878. err = sp_1024_mod_mul_norm_16(addP->x, addP->x, p1024_mod);
  117879. }
  117880. if ((err == MP_OKAY) && (!inMont)) {
  117881. err = sp_1024_mod_mul_norm_16(addP->y, addP->y, p1024_mod);
  117882. }
  117883. if ((err == MP_OKAY) && (!inMont)) {
  117884. err = sp_1024_mod_mul_norm_16(addP->z, addP->z, p1024_mod);
  117885. }
  117886. if (err == MP_OKAY) {
  117887. err = sp_1024_ecc_mulmod_base_16(point, k, 0, 0, heap);
  117888. }
  117889. if (err == MP_OKAY) {
  117890. sp_1024_proj_point_add_16(point, point, addP, tmp);
  117891. if (map) {
  117892. sp_1024_map_16(point, point, tmp);
  117893. }
  117894. err = sp_1024_point_to_ecc_point_16(point, r);
  117895. }
  117896. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  117897. if (k != NULL)
  117898. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  117899. if (point)
  117900. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  117901. #endif
  117902. return err;
  117903. }
  117904. #ifndef WOLFSSL_SP_SMALL
  117905. /* Generate a pre-computation table for the point.
  117906. *
  117907. * gm Point to generate table for.
  117908. * table Buffer to hold pre-computed points table.
  117909. * len Length of table.
  117910. * heap Heap to use for allocation.
  117911. * returns BAD_FUNC_ARG when gm or len is NULL, LENGTH_ONLY_E when table is
  117912. * NULL and length is returned, BUFFER_E if length is too small and 0 otherwise.
  117913. */
  117914. int sp_ecc_gen_table_1024(const ecc_point* gm, byte* table, word32* len,
  117915. void* heap)
  117916. {
  117917. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  117918. sp_point_1024* point = NULL;
  117919. sp_digit* t = NULL;
  117920. #else
  117921. sp_point_1024 point[1];
  117922. sp_digit t[6 * 2 * 16];
  117923. #endif
  117924. int err = MP_OKAY;
  117925. if ((gm == NULL) || (len == NULL)) {
  117926. err = BAD_FUNC_ARG;
  117927. }
  117928. if ((err == MP_OKAY) && (table == NULL)) {
  117929. *len = sizeof(sp_table_entry_1024) * 256;
  117930. err = LENGTH_ONLY_E;
  117931. }
  117932. if ((err == MP_OKAY) && (*len < (int)(sizeof(sp_table_entry_1024) * 256))) {
  117933. err = BUFFER_E;
  117934. }
  117935. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  117936. if (err == MP_OKAY) {
  117937. point = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024), heap,
  117938. DYNAMIC_TYPE_ECC);
  117939. if (point == NULL)
  117940. err = MEMORY_E;
  117941. }
  117942. if (err == MP_OKAY) {
  117943. t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6 * 2 * 16, heap,
  117944. DYNAMIC_TYPE_ECC);
  117945. if (t == NULL)
  117946. err = MEMORY_E;
  117947. }
  117948. #endif
  117949. if (err == MP_OKAY) {
  117950. sp_1024_point_from_ecc_point_16(point, gm);
  117951. err = sp_1024_gen_stripe_table_16(point,
  117952. (sp_table_entry_1024*)table, t, heap);
  117953. }
  117954. if (err == 0) {
  117955. *len = sizeof(sp_table_entry_1024) * 256;
  117956. }
  117957. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  117958. if (t != NULL)
  117959. XFREE(t, heap, DYNAMIC_TYPE_ECC);
  117960. if (point != NULL)
  117961. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  117962. #endif
  117963. return err;
  117964. }
  117965. #else
  117966. /* Generate a pre-computation table for the point.
  117967. *
  117968. * gm Point to generate table for.
  117969. * table Buffer to hold pre-computed points table.
  117970. * len Length of table.
  117971. * heap Heap to use for allocation.
  117972. * returns BAD_FUNC_ARG when gm or len is NULL, LENGTH_ONLY_E when table is
  117973. * NULL and length is returned, BUFFER_E if length is too small and 0 otherwise.
  117974. */
  117975. int sp_ecc_gen_table_1024(const ecc_point* gm, byte* table, word32* len,
  117976. void* heap)
  117977. {
  117978. int err = 0;
  117979. if ((gm == NULL) || (len == NULL)) {
  117980. err = BAD_FUNC_ARG;
  117981. }
  117982. if ((err == 0) && (table == NULL)) {
  117983. *len = 0;
  117984. err = LENGTH_ONLY_E;
  117985. }
  117986. if ((err == 0) && (*len != 0)) {
  117987. err = BUFFER_E;
  117988. }
  117989. if (err == 0) {
  117990. *len = 0;
  117991. }
  117992. (void)heap;
  117993. return err;
  117994. }
  117995. #endif
  117996. /* Multiply the point by the scalar and return the result.
  117997. * If map is true then convert result to affine coordinates.
  117998. *
  117999. * km Scalar to multiply by.
  118000. * gm Point to multiply.
  118001. * table Pre-computed points.
  118002. * r Resulting point.
  118003. * map Indicates whether to convert result to affine.
  118004. * heap Heap to use for allocation.
  118005. * returns MEMORY_E when memory allocation fails and MP_OKAY on success.
  118006. */
  118007. int sp_ecc_mulmod_table_1024(const mp_int* km, const ecc_point* gm, byte* table,
  118008. ecc_point* r, int map, void* heap)
  118009. {
  118010. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  118011. sp_point_1024* point = NULL;
  118012. sp_digit* k = NULL;
  118013. #else
  118014. sp_point_1024 point[1];
  118015. sp_digit k[16];
  118016. #endif
  118017. int err = MP_OKAY;
  118018. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  118019. point = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024), heap,
  118020. DYNAMIC_TYPE_ECC);
  118021. if (point == NULL) {
  118022. err = MEMORY_E;
  118023. }
  118024. if (err == MP_OKAY) {
  118025. k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 16, heap, DYNAMIC_TYPE_ECC);
  118026. if (k == NULL)
  118027. err = MEMORY_E;
  118028. }
  118029. #endif
  118030. if (err == MP_OKAY) {
  118031. sp_1024_from_mp(k, 16, km);
  118032. sp_1024_point_from_ecc_point_16(point, gm);
  118033. #ifndef WOLFSSL_SP_SMALL
  118034. err = sp_1024_ecc_mulmod_stripe_16(point, point,
  118035. (const sp_table_entry_1024*)table, k, map, 0, heap);
  118036. #else
  118037. (void)table;
  118038. err = sp_1024_ecc_mulmod_16(point, point, k, map, 0, heap);
  118039. #endif
  118040. }
  118041. if (err == MP_OKAY) {
  118042. err = sp_1024_point_to_ecc_point_16(point, r);
  118043. }
  118044. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  118045. if (k != NULL)
  118046. XFREE(k, heap, DYNAMIC_TYPE_ECC);
  118047. if (point != NULL)
  118048. XFREE(point, heap, DYNAMIC_TYPE_ECC);
  118049. #endif
  118050. return err;
  118051. }
  118052. /* Multiply p* in projective co-ordinates by q*.
  118053. *
  118054. * r.x = p.x - (p.y * q.y)
  118055. * r.y = (p.x * q.y) + p.y
  118056. *
  118057. * px [in,out] A single precision integer - X ordinate of number to multiply.
  118058. * py [in,out] A single precision integer - Y ordinate of number to multiply.
  118059. * q [in] A single precision integer - multiplier.
  118060. * t [in] Two single precision integers - temps.
  118061. */
  118062. static void sp_1024_proj_mul_qx1_16(sp_digit* px, sp_digit* py,
  118063. const sp_digit* q, sp_digit* t)
  118064. {
  118065. sp_digit* t1 = t;
  118066. sp_digit* t2 = t + 2 * 16;
  118067. /* t1 = p.x * q.y */
  118068. sp_1024_mont_mul_16(t1, px, q, p1024_mod, p1024_mp_mod);
  118069. /* t2 = p.y * q.y */
  118070. sp_1024_mont_mul_16(t2, py, q, p1024_mod, p1024_mp_mod);
  118071. /* r.x = p.x - (p.y * q.y) */
  118072. sp_1024_mont_sub_16(px, px, t2, p1024_mod);
  118073. /* r.y = (p.x * q.y) + p.y */
  118074. sp_1024_mont_add_16(py, t1, py, p1024_mod);
  118075. }
  118076. /* Square p* in projective co-ordinates.
  118077. *
  118078. * px' = (p.x + p.y) * (p.x - p.y) = p.x^2 - p.y^2
  118079. * py' = 2 * p.x * p.y
  118080. *
  118081. * px [in,out] A single precision integer - X ordinate of number to square.
  118082. * py [in,out] A single precision integer - Y ordinate of number to square.
  118083. * t [in] Two single precision integers - temps.
  118084. */
  118085. static void sp_1024_proj_sqr_16(sp_digit* px, sp_digit* py, sp_digit* t)
  118086. {
  118087. sp_digit* t1 = t;
  118088. sp_digit* t2 = t + 2 * 16;
  118089. /* t1 = p.x + p.y */
  118090. sp_1024_mont_add_16(t1, px, py, p1024_mod);
  118091. /* t2 = p.x - p.y */
  118092. sp_1024_mont_sub_16(t2, px, py, p1024_mod);
  118093. /* r.y = p.x * p.y */
  118094. sp_1024_mont_mul_16(py, px, py, p1024_mod, p1024_mp_mod);
  118095. /* r.x = (p.x + p.y) * (p.x - p.y) */
  118096. sp_1024_mont_mul_16(px, t1, t2, p1024_mod, p1024_mp_mod);
  118097. /* r.y = (p.x * p.y) * 2 */
  118098. sp_1024_mont_dbl_16(py, py, p1024_mod);
  118099. }
  118100. #ifdef WOLFSSL_SP_SMALL
  118101. /* Perform the modular exponentiation in Fp* for SAKKE.
  118102. *
  118103. * Simple square and multiply when expontent bit is one algorithm.
  118104. * Square and multiply performed in Fp*.
  118105. *
  118106. * base [in] Base. MP integer.
  118107. * exp [in] Exponent. MP integer.
  118108. * res [out] Result. MP integer.
  118109. * returns 0 on success and MEMORY_E if memory allocation fails.
  118110. */
  118111. int sp_ModExp_Fp_star_1024(const mp_int* base, mp_int* exp, mp_int* res)
  118112. {
  118113. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  118114. !defined(WOLFSSL_SP_NO_MALLOC)
  118115. sp_digit* td;
  118116. sp_digit* t;
  118117. sp_digit* tx;
  118118. sp_digit* ty;
  118119. sp_digit* b;
  118120. sp_digit* e;
  118121. #else
  118122. sp_digit t[4 * 2 * 16];
  118123. sp_digit tx[2 * 16];
  118124. sp_digit ty[2 * 16];
  118125. sp_digit b[2 * 16];
  118126. sp_digit e[2 * 16];
  118127. #endif
  118128. sp_digit* r;
  118129. int err = MP_OKAY;
  118130. int bits;
  118131. int i;
  118132. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  118133. !defined(WOLFSSL_SP_NO_MALLOC)
  118134. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 8 * 16 * 2, NULL,
  118135. DYNAMIC_TYPE_TMP_BUFFER);
  118136. if (td == NULL) {
  118137. err = MEMORY_E;
  118138. }
  118139. #endif
  118140. if (err == MP_OKAY) {
  118141. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  118142. !defined(WOLFSSL_SP_NO_MALLOC)
  118143. t = td;
  118144. tx = td + 4 * 16 * 2;
  118145. ty = td + 5 * 16 * 2;
  118146. b = td + 6 * 16 * 2;
  118147. e = td + 7 * 16 * 2;
  118148. #endif
  118149. r = ty;
  118150. bits = mp_count_bits(exp);
  118151. sp_1024_from_mp(b, 16, base);
  118152. sp_1024_from_mp(e, 16, exp);
  118153. XMEMCPY(tx, p1024_norm_mod, sizeof(sp_digit) * 16);
  118154. sp_1024_mul_16(b, b, p1024_norm_mod);
  118155. err = sp_1024_mod_16(b, b, p1024_mod);
  118156. }
  118157. if (err == MP_OKAY) {
  118158. XMEMCPY(ty, b, sizeof(sp_digit) * 16);
  118159. for (i = bits - 2; i >= 0; i--) {
  118160. sp_1024_proj_sqr_16(tx, ty, t);
  118161. if ((e[i / 64] >> (i % 64)) & 1) {
  118162. sp_1024_proj_mul_qx1_16(tx, ty, b, t);
  118163. }
  118164. }
  118165. }
  118166. if (err == MP_OKAY) {
  118167. sp_1024_mont_inv_16(tx, tx, t);
  118168. XMEMSET(tx + 16, 0, sizeof(sp_digit) * 16);
  118169. sp_1024_mont_reduce_16(tx, p1024_mod, p1024_mp_mod);
  118170. XMEMSET(ty + 16, 0, sizeof(sp_digit) * 16);
  118171. sp_1024_mont_reduce_16(ty, p1024_mod, p1024_mp_mod);
  118172. sp_1024_mul_16(r, tx, ty);
  118173. err = sp_1024_mod_16(r, r, p1024_mod);
  118174. }
  118175. if (err == MP_OKAY) {
  118176. err = sp_1024_to_mp(r, res);
  118177. }
  118178. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  118179. !defined(WOLFSSL_SP_NO_MALLOC)
  118180. if (td != NULL) {
  118181. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  118182. }
  118183. #endif
  118184. return err;
  118185. }
  118186. #else
  118187. /* Pre-computed table for exponentiating g.
  118188. * Striping: 8 points at a distance of (128 combined for
  118189. * a total of 256 points.
  118190. */
  118191. static const sp_digit sp_1024_g_table[256][16] = {
  118192. { 0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L,
  118193. 0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L,
  118194. 0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L,
  118195. 0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L,
  118196. 0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L,
  118197. 0x0000000000000000L },
  118198. { 0x170a46d2335c1685L, 0xeac9e971e1007a58L, 0x40e8f3df43ca4a73L,
  118199. 0x2646f81582642475L, 0x3af49bb4b36576d1L, 0xd89e2d1472bf1afbL,
  118200. 0x27be882c2fd151e6L, 0xaddedc858f88717cL, 0xd6d859bf16ac6c6fL,
  118201. 0x0e741a1b2d8eae58L, 0x6faf7a0061c1f30dL, 0x66dbd09a9b67e096L,
  118202. 0x21f11c067d3b4f7dL, 0x6152ba02c727c98eL, 0xafd58891e86cb221L,
  118203. 0x59e93c6a6bd3baf4L },
  118204. { 0xe54dd36f71dd4594L, 0xbbc9cc9f00aef1e6L, 0x9ea5a44ea19f6530L,
  118205. 0x8588aa993f520928L, 0x9753794c8f5c1418L, 0x118bd792c11399faL,
  118206. 0xb9bd3afdf5cb6ab5L, 0x813d1cb22ecb9652L, 0xfd45626740389813L,
  118207. 0x51f7119b4ac8431cL, 0xdd9f6a910a180eb6L, 0x13946d179f7bfa2eL,
  118208. 0x16f1863150a9d0d9L, 0x5f19c20d6f8373d3L, 0xbe85ac6a9b6a52b9L,
  118209. 0x63ef187b74f62e03L },
  118210. { 0x7c376b7f016f45e7L, 0x1c1bdb572bec82f8L, 0x7392f741ce429b60L,
  118211. 0x6fdbf0a2c7afd81dL, 0xbda41b1f7241098bL, 0x5b407474bb60f8cfL,
  118212. 0x933e0d41b330bc4dL, 0xae182830733fa3beL, 0xa0ed299b0f5c6cd1L,
  118213. 0x7ff3354e3f9860c8L, 0xb136098615559c41L, 0xab0cb63c129f85cbL,
  118214. 0x682ecc4947685fbeL, 0x505e8ec2eb199633L, 0x90dcc794ddac2cdaL,
  118215. 0x4fe6791cf192da23L },
  118216. { 0x94a423d505e8733cL, 0xcc845e651d5717c1L, 0x237c7e88e961b322L,
  118217. 0x0c4471c6db4181ccL, 0x00c875e2713bd721L, 0x9dfde9edb2c17b09L,
  118218. 0x430a6de5e88ceaf6L, 0xaaa7a61a7b81cea6L, 0xea52d026233f98d5L,
  118219. 0xb55efdd060689a9aL, 0x30cfa7ce5cac4aabL, 0xfa4db1148e950761L,
  118220. 0x309570c44e9a1e52L, 0x18c21f611a040170L, 0x555d1ffebe78d9d2L,
  118221. 0x04482a18561db297L },
  118222. { 0xe7758ac273d486d8L, 0x8169f94661cdc1e7L, 0x723c99fc2188ab4fL,
  118223. 0xa0e54f02f3373630L, 0x560bee25bd8c2260L, 0x28fc307c4531bc60L,
  118224. 0xd6f21f1a7e44feb5L, 0xc8e4499c57128d37L, 0x963b053ed7b2ea45L,
  118225. 0x40c27a0432a3d222L, 0x5b51854d35459668L, 0x66e1a49fd73557e9L,
  118226. 0x0d267fd98692077aL, 0xfa1350d3e7342702L, 0x1a9c3f2568ccdb44L,
  118227. 0x833a0ff8dedbf89fL },
  118228. { 0xa8c419c7ab376b76L, 0x3b7294f327d0f0ccL, 0xe56bb9e2a90c514dL,
  118229. 0x931ba51ea62575a6L, 0x56fee07b098c0a88L, 0x04be5aeeb4c16a2aL,
  118230. 0xe513350be6eb260bL, 0x339edad6a1d5c270L, 0xf366ed59e9dbadd1L,
  118231. 0x4213be882dd06ec0L, 0x22d639c8cb1187dbL, 0x1fec95e1d8a1058aL,
  118232. 0x03f73ea6a2b744f1L, 0x741fd51af4f05c0cL, 0x2e2df95a85f811a0L,
  118233. 0x692b3ce3eb24965fL },
  118234. { 0x0ce6cb72d2a127b4L, 0x66a46ea58f92816fL, 0x43ecf46347a37616L,
  118235. 0x163d9a01e0ab96eeL, 0xc8145c6db2edbe8cL, 0x2f426cae4de4e665L,
  118236. 0x174d0b4074e252f9L, 0x54c240d77d2af831L, 0x581fa3973d652936L,
  118237. 0x05b9491ca09d4695L, 0x8c4e85335452643cL, 0x32d64331d4128327L,
  118238. 0x6447903870361f25L, 0x774191b189ef09f2L, 0xc0cf0aaf81de5fe0L,
  118239. 0x333e430af40042d6L },
  118240. { 0x5df04de4cf26d3b7L, 0x57a77306b53f79beL, 0xa4013c5f1808b664L,
  118241. 0xef291ea485037360L, 0x1ffc9d7d0b061037L, 0xd9d04dd965c913bbL,
  118242. 0x948a37aff13b8587L, 0xb5443483fe3ee755L, 0x3fc21e7404631386L,
  118243. 0xb3a104e5cddeb58cL, 0x94fe18626572cd52L, 0xeb9a71a115aaa408L,
  118244. 0x8adc6fe5459ea462L, 0xbb18d1754aeb02a3L, 0xae1276362f7791d1L,
  118245. 0x10e8b31dd6bbd708L },
  118246. { 0xb87f03e53ed9f1afL, 0x03ad247756676166L, 0x38dcd63074ce15b8L,
  118247. 0x1877e2b026b1e85bL, 0xb1654d171af99c15L, 0x9782e9e49382547aL,
  118248. 0x6dc7fc7c26d55ef5L, 0x9038f95d2fbeb54cL, 0xfe590dfe036c0357L,
  118249. 0xcfcb6eae4fdc3f7fL, 0xcb1fbc54f35e1a88L, 0x3c8e1db2da0a5568L,
  118250. 0x9a87393f5b6f5557L, 0x38646b32e7ac0a06L, 0xfd261c832a8495abL,
  118251. 0x6485524c0cdcc4bcL },
  118252. { 0x1abfb3e2c4a6ff2aL, 0x2aa03fba35a6428aL, 0x884227f089aff742L,
  118253. 0x2337883aba5dbd93L, 0x38186ae9d2a182cbL, 0xb9f0764d49a01f05L,
  118254. 0x92411feb917b1e7aL, 0x700b1903570cbb5bL, 0x5d5181d5b914be7cL,
  118255. 0x135c44371981182dL, 0x32758d24574b9997L, 0xa650a8f5632d28b2L,
  118256. 0x24078bacfa383f09L, 0x6546a60c00a33d80L, 0xa4061c7a2df8b449L,
  118257. 0x1f76f3f2f234563cL },
  118258. { 0x9aa2c14344c436b0L, 0x790705561f69c87aL, 0x35f3117b5f6db2dfL,
  118259. 0x85761f41ed56ba82L, 0xf831464f7d0afa48L, 0xa99f29153adce71eL,
  118260. 0xb27bf693116b7488L, 0xa98a5a8c9bb9443aL, 0x7f8780262ee5fde8L,
  118261. 0x3a6f93dd1812acb7L, 0xaf92a4ccdc84bc92L, 0x3c2562aff1d4995aL,
  118262. 0xfd9fc33c04ed899dL, 0xc028ca944ed2a538L, 0xd0f367bb049ea726L,
  118263. 0x04924ffb3d108e05L },
  118264. { 0x06548e3dc673562fL, 0xd3b33025e2eae48cL, 0xe61fd32b5e1c6977L,
  118265. 0x424e20646ebe557bL, 0x767391c041d6e18eL, 0x4b8ebb8e14d7e95bL,
  118266. 0x4ae8b7d420991b8cL, 0xf8a0df66e01290d3L, 0xc97e24a3925e5f4eL,
  118267. 0x79a7b2cb1508272aL, 0xb40b072e25072661L, 0xdad9e1829062fa49L,
  118268. 0x8780a784f3c53bceL, 0x58a82b769f142799L, 0x08cd849cc1468426L,
  118269. 0x4dfce809c380ae35L },
  118270. { 0x45069cb2d527b780L, 0xd52da015977930ddL, 0x10cc600be27d0263L,
  118271. 0x34102c26bb2d1b2bL, 0x4c652623554adf3cL, 0xd689138245f0ff47L,
  118272. 0x83fa8cc5ca916e7cL, 0x1e10f139d15c8d8aL, 0xf173dc2e81dc56b3L,
  118273. 0x7fcecb045c4ed9baL, 0x307fd7d847d01228L, 0x24a571539f3a532fL,
  118274. 0x59e9e81de2153c22L, 0xc562595de428a408L, 0xdc7daff89339bd23L,
  118275. 0x0d075908b8a06802L },
  118276. { 0x870af2a7de085f2aL, 0x88fcd24fbe99b2e5L, 0x88c0d26159ca413bL,
  118277. 0x1f02a2e48559f851L, 0x83b96021f622da0dL, 0x5c05c2f56dca3615L,
  118278. 0x0148cf1c7910c682L, 0x392f2896272695beL, 0x883d0bb5a8d64ef6L,
  118279. 0xef0d22441cfcbc52L, 0xf5dafcec526117e5L, 0xb68612b9f04928e9L,
  118280. 0x283f744d393f2e2aL, 0xfbeed7ed700c1151L, 0xf2cde215a4360dfeL,
  118281. 0x24fa961c2f08535aL },
  118282. { 0x0767db3f616df7f6L, 0x643057d8fbd90326L, 0x174daa906e82d544L,
  118283. 0x2284f345689643dbL, 0x18b191dfcc89a060L, 0xbab46af4d6c27d12L,
  118284. 0x5a57f486c9895145L, 0xc03214e9cc942f9eL, 0x273e1c8f41950158L,
  118285. 0x8ceb759f39ad43abL, 0x5e1b8b7fe50ee173L, 0xf635b1fc8f4d7d4eL,
  118286. 0x8eff77e3755603f3L, 0x201f61d17752fa60L, 0x94d7a03d4a6fb6e1L,
  118287. 0x371cc23dfc4f0114L },
  118288. { 0x289b115dda90c351L, 0x6d196ebf364d9c06L, 0x77a89202f650b31bL,
  118289. 0xcc28c1646f57642fL, 0xdc4f7e3608100127L, 0x8836cd08dc4c807bL,
  118290. 0x1280f156e00240f2L, 0x3f9a6d7899cb3953L, 0x40a494d33a802038L,
  118291. 0x45697e91e87d3474L, 0x70d97d0726dde24aL, 0x06f6a58d7640c30eL,
  118292. 0x03c2c0e85ba6e6c6L, 0x330f6a7af1bc13e8L, 0x3e602e4fc9f4d78fL,
  118293. 0x92b6bca00c80fb7fL },
  118294. { 0x2e3d5c835f00822eL, 0x0e825712b8b16f12L, 0x81c329c492b0a330L,
  118295. 0x6b4e32ada7cc1954L, 0x0bee9cee1bb1413fL, 0xedfb7baa4a92ca27L,
  118296. 0xcd472afaea3b9153L, 0xe8f09e7e00f0c0f9L, 0xa4e1d8725cdebb70L,
  118297. 0xfe2bae084a9b63b6L, 0xf40141b83fd58f65L, 0xd7ec5edaa3b62759L,
  118298. 0x9aaf6e67790e3088L, 0x215ad8301f277e31L, 0xe7db4b98cf33871cL,
  118299. 0x71ff62c94f02f89dL },
  118300. { 0xaa4c71022a4a84d9L, 0xe2ee4acd5ebc71e6L, 0x3b11a8a5f1cd6578L,
  118301. 0x83f5ef9ffff120a5L, 0xa4c598e109e65033L, 0xe1e9f990ca044180L,
  118302. 0x8b832d46f59828c1L, 0x753f28a033af536bL, 0x92edc4b1b6d4f68aL,
  118303. 0xedde692a72ccd1f0L, 0xd3aa0f7dd2226432L, 0x38dbb63ea3d2661cL,
  118304. 0xf1e19fc6fdc37ddaL, 0x6c18b35084ef6b4cL, 0xe6a83fe9df1bba69L,
  118305. 0x40fd47e75f958273L },
  118306. { 0x5b88b746267140a4L, 0x6dbbfc1eeab6f2fbL, 0xdd9ec88e69862548L,
  118307. 0x69beeba12eb6efc2L, 0xcfc2214a8ac8ff88L, 0x95d5c96eb5a21950L,
  118308. 0x93389c054171fb69L, 0x2d85d4521b468337L, 0x14d68a084113425cL,
  118309. 0xe52c0139ec6c2174L, 0x20cf0b97f730084dL, 0x1ac16a261f578aa3L,
  118310. 0x18b9fab3f9b6ae43L, 0x68d82111d854a695L, 0x0b334d98dffbe286L,
  118311. 0x5b1c1157e639338cL },
  118312. { 0x90edaab172b6bb8fL, 0x8dc64ed202fc92c2L, 0xf42ba3c5fe694c73L,
  118313. 0x316dc65fcb54dce4L, 0xcb2d66a3632420dcL, 0x16e706e7056dcf94L,
  118314. 0x2809c764a4f32c9dL, 0xab18d830ea6edca8L, 0x4fd1ace681c65f57L,
  118315. 0x1f91651c7da12c10L, 0x0ac3bd66c7791a48L, 0xb6ad1cf4785e67a3L,
  118316. 0xe4d3fc44da0fd591L, 0xce1648016e1c6344L, 0x84de9cb833e50ab3L,
  118317. 0x963ab83aa756eef4L },
  118318. { 0x944b47d8df4ea5a3L, 0x965688155cfe45feL, 0xd16e7d588a3c3564L,
  118319. 0x84e55b3ee7c99e15L, 0x3fee204df55071bcL, 0x71006f2904057dceL,
  118320. 0xfe8c390dbba75570L, 0x3645bcb63319adacL, 0x8189e8b07c20bfd8L,
  118321. 0x8e5509697d7d9578L, 0x037d1321b99f4e3bL, 0x011b2521a60cfb6aL,
  118322. 0x66594aaa837382daL, 0xc89b91fd83c1dc07L, 0x6b82b899076b9884L,
  118323. 0x443480fcbe45c558L },
  118324. { 0xf8ffffb49114221aL, 0x4aec4f2e3e857a7aL, 0x42e2d0e40fa54787L,
  118325. 0xef3e6b31d6f96152L, 0xb2296537fbfe9b77L, 0xc2a9d0f2fb43a86aL,
  118326. 0x241284ed24572ac6L, 0xa3868917e721ba7bL, 0xdbef7c00c117a78dL,
  118327. 0x38149071d31605acL, 0xc2dada9e065a8ee9L, 0xd5b138d8c442be82L,
  118328. 0x9b6c224bf6d72b58L, 0xb9d355cf8eb03e6dL, 0xab6d1eb0a1700371L,
  118329. 0x97118a88cffaa7ebL },
  118330. { 0xbf9c59a2cdecb5d8L, 0x8083c81ba93a6866L, 0x24e0dd8104774fbfL,
  118331. 0xe779a3caa02070b4L, 0x9d352fbb0fbfb781L, 0xa8b0d8203ef2a1c4L,
  118332. 0xb858637b14b3e501L, 0x5ba70a498a882ff2L, 0xa27300833b06efa5L,
  118333. 0xa42c02f4102fee2aL, 0xe4e762998a0223a5L, 0xdba2ba2685c3fc72L,
  118334. 0x554fe763fe52eae7L, 0x30b5405a270f45f6L, 0xd56a177aa573387cL,
  118335. 0x17c0778d4b71fa82L },
  118336. { 0x0e6dff1d2735e37bL, 0xc9884e56656ec572L, 0xa2f5ac9d9ebba978L,
  118337. 0x40fa4518ba09f3c4L, 0x8c3fa177f5b04377L, 0xa1a1decd967a2ecaL,
  118338. 0x768bca700528bd40L, 0xf224952b18691c4aL, 0x16e12c45e86d5fd5L,
  118339. 0x7a0d915737859a6aL, 0x723f4309a0ffce0eL, 0x5a8db79ba96cc9a3L,
  118340. 0x6dd12ae01ad23a38L, 0x9ffec3a1e2bf5d84L, 0xd6ce84e1a452ed66L,
  118341. 0x1219d5c8571fe4c6L },
  118342. { 0x43eaa67f262969ebL, 0x3a3ab39d2f03e773L, 0xe6127e5157bb0909L,
  118343. 0x0f82b0ed8d150274L, 0xffffcad8e580bdbdL, 0x51d3d075a9743e6bL,
  118344. 0x1484bdb18bac11d6L, 0x95cd9990eb24c388L, 0x216a61d07fac67c6L,
  118345. 0x4308f762a04e6b87L, 0x2865dd61cba57cc8L, 0x3c296b0dd234a07aL,
  118346. 0x76f928393a0793f9L, 0x70b57e1f0be29eceL, 0x1314a82f7e626f42L,
  118347. 0x2c8d7ab2d657f230L },
  118348. { 0x67cf58920825e4d6L, 0xdf51eaa56ef83b44L, 0x63e665d81310108dL,
  118349. 0x229f89f58dd0963fL, 0x8c4b14dd9df6436aL, 0x99dae469d45ebba7L,
  118350. 0x118aab775a4df381L, 0xda8978bd29e37febL, 0x69ced5aaaca2d7efL,
  118351. 0x6c98d05dc67d6a8aL, 0x7474bf0d77f84a34L, 0xd4428b2eed8cd59aL,
  118352. 0xb0fd1cd5d1d398fbL, 0x596013db94a20b11L, 0x96eb705a1b404c44L,
  118353. 0x2299d2774b09d958L },
  118354. { 0x5b9cd58dc64397e6L, 0xac198f1ebf6dd31eL, 0x5866d8e13e9f1db2L,
  118355. 0x405ae2878fcdc68cL, 0xa4b280cde53c01fdL, 0xdc963f2d411db5f6L,
  118356. 0xed5d5189bec4f8a0L, 0x336fd13d916ee98bL, 0x6925b1b3042df48eL,
  118357. 0x0cf56291ace0074eL, 0xe8d38b4825317e95L, 0xc7ad1d2b821c446bL,
  118358. 0x71c44135f0b65934L, 0x971b736f52ca0d50L, 0xaf9ffa5727b46c26L,
  118359. 0x21ac67791936618eL },
  118360. { 0xab420e3f2d7fbcd2L, 0x1272247397bdfc18L, 0x492033f84df5d4b4L,
  118361. 0x6fcd42363807b7d3L, 0xdfc19b09b33c3625L, 0x13d6f375a0f22814L,
  118362. 0x70978a59037c19b8L, 0x4f3989970ff27b9cL, 0xfc0e1a45615a4389L,
  118363. 0xffa3496a3e602f74L, 0xc3f1c431b261ca1cL, 0x612211dbee0164cdL,
  118364. 0x30463ee4e7f7be9fL, 0x015f7e7892c2e1bbL, 0x663d88d624483a56L,
  118365. 0x0e8ec1e70e62d9d8L },
  118366. { 0xa88ccc298a0878ddL, 0x99ac175d6640071aL, 0x90344820a5173617L,
  118367. 0x316d023edd58a315L, 0x30785bd488d221a1L, 0xb74b3de7959c48e3L,
  118368. 0x42ee03824c67a771L, 0x59ef6cdde0b91453L, 0x7830ae289b237e91L,
  118369. 0xe1847a4c495d8325L, 0x67b1217ed0773666L, 0x58192c86a294a325L,
  118370. 0x76aa0f56864d8326L, 0xe2a2bd12f4b13e5bL, 0xd850c1c01b6b73fdL,
  118371. 0x653a795f5d103635L },
  118372. { 0xcfe2898550dcb199L, 0xb35b8e5e7fa02b60L, 0xbca7d7c3c97603d0L,
  118373. 0xb0e5288d27f131b5L, 0x3aa704dee2b12d52L, 0xe206b1d81db725c7L,
  118374. 0x0b12839ac5d1b113L, 0x14f970cbdb45d763L, 0xc997f93eb2125e8eL,
  118375. 0xbd75739cee7daa26L, 0x46ecbd3f1fef20e9L, 0xf994a1147c6a42b1L,
  118376. 0xd289eb4f27fb0fd1L, 0x11186d319a40da4bL, 0x083f65a5fb9d7976L,
  118377. 0x30dfc47bd444675eL },
  118378. { 0xbcfc5ae29eaadfe8L, 0x25027e54b4d4e812L, 0xab0702df8b533561L,
  118379. 0xa2b9c20456a6a214L, 0xb1a3df7a3059068eL, 0xa3514b219883110fL,
  118380. 0xb7be2336c4b78e1cL, 0x17073ce63e2f6984L, 0x86e114a62ddf7ac6L,
  118381. 0x276192bf07d7c3c8L, 0x5da69e0beb1ae289L, 0x983af17525184939L,
  118382. 0x9ac52a4d407a3aa0L, 0x1535c7daae0fe218L, 0xe16fe872397f2501L,
  118383. 0x572a591f54c212cfL },
  118384. { 0x4966841909a5553aL, 0x3f054318327733bcL, 0xf9ceb4b23eefd690L,
  118385. 0xbd3cbf9bf22126d4L, 0x6d9671c02fed9578L, 0xbba597ceca0306d8L,
  118386. 0xb705ed613d674fe5L, 0xf1d3622b67f33f76L, 0x15bcf3c611cb8c31L,
  118387. 0xa38467dce53d1aa9L, 0x902fe929f908ab43L, 0x6e3e499d8d15767aL,
  118388. 0x8142db5c90afd07bL, 0x120c6fbc6c8b190eL, 0x80c8655324919a4eL,
  118389. 0x65c2cbe1d8c82c3cL },
  118390. { 0x684cda20a660bb63L, 0x27dc3b0a86e86245L, 0x76472cf66ba0eed7L,
  118391. 0x79c162e5679dd158L, 0xb688427708452d44L, 0x829bc6b3413f579eL,
  118392. 0x92ea15ec95011770L, 0x5e34e30047738183L, 0x8c3ca34973e1d2f1L,
  118393. 0xa5c4f1dc229bd3deL, 0x783eff1b94ef7ed3L, 0x46db738ddfae7a1aL,
  118394. 0x4353d72e1a099852L, 0x2533ad58a0dcf4abL, 0xd80550160e7888b9L,
  118395. 0x831440d53ba77f66L },
  118396. { 0xf43e2e32f611b2daL, 0x5d066e29d0fa46acL, 0xe897f3e8820b3c0dL,
  118397. 0xc45c28e61d3e44f0L, 0x929d7f66dfd27a66L, 0x735b860a101e8517L,
  118398. 0xea3fce983de078ddL, 0xc9977db5638ce11aL, 0x0488382f48536b3bL,
  118399. 0x7e0c7a3c64cadfc6L, 0x3cd17f7f82147b71L, 0xe95663cc1b411e3eL,
  118400. 0x5739ac8f985fb46dL, 0x385399cdbcf119caL, 0x4a985a70e15a2815L,
  118401. 0x504c3a8a6d5f4566L },
  118402. { 0x00b55283b8fa53c7L, 0x985cff38509474e3L, 0x234d241c437ce25fL,
  118403. 0x29832430e5a129edL, 0x6ad38956aabcc674L, 0xa2dc001d7ee81ee1L,
  118404. 0x4c23c6b6670b2702L, 0xb35e567ea6e8a3bbL, 0xbc70b3cea69673eaL,
  118405. 0x85a7a9c3e6e28eacL, 0x2ae684de5537b7daL, 0x5ecac3e56de937dcL,
  118406. 0xbf2ea6c9f8430422L, 0x38caf7d077fdc520L, 0xc27af0b169f56addL,
  118407. 0x496e4699c71d21d2L },
  118408. { 0xba14fc829fa93467L, 0xc2e376840eb2a614L, 0x659bcfaf4833e09bL,
  118409. 0xbc8597523686bdccL, 0x40bfd08081f3216aL, 0xc463bda617c081b8L,
  118410. 0xbd01fa86bb04793bL, 0x5a21ece62cd640c5L, 0x97bf6a542203d5c4L,
  118411. 0xceb40edc951167b7L, 0xd67aacaf765ba268L, 0x8ba0d9e9aeab51f9L,
  118412. 0xc14b215eb0d6863aL, 0x354cdcdbe5f06952L, 0x4f2b5ccfcb3744b5L,
  118413. 0x1338917313037fe8L },
  118414. { 0xee68064045003cd1L, 0xfdac17bc44ae2ac6L, 0x4bcd419fde8e5314L,
  118415. 0x81e34eb9c7cea95cL, 0xbb57762d38f37e01L, 0xecc4cfb0260990c8L,
  118416. 0x0bc493f950a34a7bL, 0x68074172543304efL, 0xaec0fcb26bc8aa2aL,
  118417. 0x9e7a9b463b45fea5L, 0x4bb2952e55fbdbacL, 0x50f0c0a60485dff4L,
  118418. 0x02c5104d4dea4796L, 0xd2cefa09695e3a02L, 0x4c8102b46da1f345L,
  118419. 0x422eb573f3833fbdL },
  118420. { 0xac592eb6a6ad3f47L, 0xb0861f6d9714ba0eL, 0x57c1e91907281459L,
  118421. 0xcf7c94e264ea5803L, 0x725376ac54b12723L, 0xf2a6ba41dafb736aL,
  118422. 0xc89e8920cba03cdcL, 0xf2e20cb45b0fd3adL, 0x26ea5a54d66059feL,
  118423. 0xee63fa8b889df8bcL, 0x40f1c7e166a3f2bfL, 0x09febc9c747312e1L,
  118424. 0x7d19b9c2727999ffL, 0xa9fbbb4cb7fd2b05L, 0xcfba27d7a0da2dc6L,
  118425. 0x368541cf2c252582L },
  118426. { 0x510d3c9e22799d37L, 0x1b677de5acfa333aL, 0x4e6ae18f080f795bL,
  118427. 0x69b53c2aafc8dfc2L, 0x797541b60e842dc2L, 0xd5a6f2afac067fe8L,
  118428. 0xd0208a03bd07d877L, 0x34b473f0654be2f2L, 0xe67c102af515e23eL,
  118429. 0xb00dbf9d2ac1af48L, 0xe264fa41b6a13d00L, 0x1669786a97e94c11L,
  118430. 0x09d8cf2d86a586f4L, 0x073bf869c7f927e9L, 0xb89778802241a566L,
  118431. 0x59a5bf5922261334L },
  118432. { 0xe9d1c91e81347191L, 0x186c1abceb969972L, 0x07888767a9d46a7fL,
  118433. 0xda93cfccdaa7d397L, 0x08bee9f1d91b9aa0L, 0x8267fd78f8dd3c6cL,
  118434. 0xf93860d094228100L, 0x6a6a71aadadb47fbL, 0x9caa06b7a6156f8aL,
  118435. 0xaa1b05e039848bc9L, 0x36ddc2372aaa9135L, 0x77e7e079b13f3bd1L,
  118436. 0x8d0b5cbe4acc5f4dL, 0x04da45f8984cfd36L, 0xf14ef618d3d3e0f8L,
  118437. 0x467564c143eb799cL },
  118438. { 0x8d725904b6fff5d7L, 0x037f33af92dc4752L, 0x9095d5756d20b8aaL,
  118439. 0x32235fc143baec39L, 0xa2feb4af68a2b9b0L, 0x61c5031894d35c61L,
  118440. 0xac92b6a2ea877486L, 0x8eb48b15011bc6f3L, 0xa28fe128c79edcb2L,
  118441. 0x9f71bc0ca5d2a006L, 0xf31677322f15b850L, 0xfe8d728c7a036218L,
  118442. 0x068f39cb4f81e09eL, 0x1773f0167b7c50d9L, 0x0d0f7adbed6a1e03L,
  118443. 0x8a0dee164ee984d5L },
  118444. { 0x504991bf47366e6fL, 0xb8084d9fe86c3005L, 0x14c4c751a40cce36L,
  118445. 0xbbb46aa63f1961e2L, 0x56a785f940445e43L, 0xdb8d1b57c91e215fL,
  118446. 0x6a8e453ec7ee808dL, 0xc0367ef8bbaa1e8cL, 0x310d91f1e3e18109L,
  118447. 0xf97cfd0e7e20a2c3L, 0xf1e80c84554cc277L, 0xe89bbc1d7b628403L,
  118448. 0x7778a9663fe0a17cL, 0x9e9db19fc1f00073L, 0x2ce7fe7db6f6bed2L,
  118449. 0x7b04b5d2ee97ce23L },
  118450. { 0x5b546bc782c5faf8L, 0x1a734c5e8eb81097L, 0x3d566861e77851e0L,
  118451. 0x833a1013e956d51fL, 0xc7351731c3c3c37cL, 0x607738fbe0c148ecL,
  118452. 0x2ec6f0bbe1bbef41L, 0x0aa2ac6ecfa51857L, 0x072902d766e3adf0L,
  118453. 0xcd4d5089c622d6e3L, 0x3ae21b23a6dd802fL, 0xe5465a5533886372L,
  118454. 0xd85119a0a8d81822L, 0x4f14d0323786977aL, 0x515b081c9c7b272cL,
  118455. 0x1c6a95a4c99be31cL },
  118456. { 0xa6b14ad5c2821363L, 0x829c18234d17de1cL, 0xaef5d2c4ccade848L,
  118457. 0xf412ab3982489e27L, 0x92c9c098f081d927L, 0x6f87bdf475cbad1fL,
  118458. 0xf4aadab81a1d9fb1L, 0x475a7923b75f3b76L, 0x99dd0ad6dbbba8feL,
  118459. 0x836f61644b70ab45L, 0x2a46488134bd9af1L, 0x5c91226eba9abda3L,
  118460. 0x4cec8709e65625fbL, 0xd4b3919e0818e4beL, 0xa5c09c8414f6879cL,
  118461. 0x72708a0230a864c9L },
  118462. { 0x4f33c0b1f34a466cL, 0xa1bae09c7f9d45baL, 0xd70f0fee0e28785cL,
  118463. 0x824c714690880881L, 0xe2416c2abb043da3L, 0x733da713cec6f432L,
  118464. 0x2b590649c9793e1cL, 0xdb62d5b0b35c9365L, 0x355eb6e23e5c1b2aL,
  118465. 0xcfe8b5cebb16b515L, 0x9e081869f709691cL, 0xc865f9fb61a85bd5L,
  118466. 0xf169d3ccfae103f7L, 0x9525c47373467e9dL, 0x7db55c0b43695113L,
  118467. 0x7491c74c73265d21L },
  118468. { 0x312ed5bf80d2b94dL, 0x1b8ac633ba4b260bL, 0xac86c58cd62219a1L,
  118469. 0x317ccf6baeb82c8eL, 0x2dfb29ee59ef9cedL, 0xdaa7d898e42bcd5aL,
  118470. 0x93e295c85974b201L, 0x69e75784d9fc5adcL, 0xd6c4709f012aa3baL,
  118471. 0x1fda9f37c85d3cb9L, 0xe5487e25d3dd4abdL, 0x00fd4b010b3ba22eL,
  118472. 0xcb591493c6e8dcbbL, 0xb7329fabbce68664L, 0x6829d1c268906b76L,
  118473. 0x8bcfd3e574176841L },
  118474. { 0x06882734d3c8c314L, 0x95f0b2f111870833L, 0xb937f7c3c068ba16L,
  118475. 0x5365e0d877924787L, 0x15527e5e1f992227L, 0x0a06964827dffd4fL,
  118476. 0xd58b3df22f586389L, 0x83446b896af20eadL, 0x09d7970b50746257L,
  118477. 0xd9e8d2064022a691L, 0xd1e5f8af671ec379L, 0x6f542509057fe91eL,
  118478. 0xf14dda8152890418L, 0xbd78010e1db932adL, 0x3e18d1e4905a9378L,
  118479. 0x53cadcf7bd37ab49L },
  118480. { 0x1bb5edf75e53d0ffL, 0xd886606c888abf67L, 0x6491b0f812206d15L,
  118481. 0xb3018345e22b6a33L, 0xaba6794bb173b317L, 0x8c1e58677dc9e595L,
  118482. 0x4e106482239624d1L, 0x61752e59da55dd53L, 0x018b4eab9e42879cL,
  118483. 0xcaf6784b491f2bedL, 0x3dcdb9d21e79429eL, 0x3694148510f26224L,
  118484. 0x106f190aa650ec5cL, 0x7542a5aeb69a9760L, 0x69bd75e9c32d1046L,
  118485. 0x90849964bf8c62b1L },
  118486. { 0xb1390cf65a93c661L, 0x184862649db5f056L, 0x92a93a9da51a1788L,
  118487. 0x1b0cbb8f6772de9aL, 0x6e67febd7c71487cL, 0xf9b4382d4e62423eL,
  118488. 0x96fda50ebb5a42f8L, 0xc921b3376089a4f2L, 0x49d32d7b875ec516L,
  118489. 0xbd86d2cac410124bL, 0xf6862209c421fb7aL, 0x3e1949abf6b7de33L,
  118490. 0xcdee18f0e93c9268L, 0xd4edbd5e08dc4cc0L, 0xc2b75be473580d22L,
  118491. 0x3d7f6ffa468cd7e8L },
  118492. { 0xea7b290cdffbd5d1L, 0x9d759da6970338dfL, 0x56680b0890feedc9L,
  118493. 0xbc690af542dce68eL, 0x8519df2bb2ae4d82L, 0x5612467f7f195b60L,
  118494. 0x659a342cd83c21f4L, 0x55771bf555651633L, 0x5fc68935548ba562L,
  118495. 0xb54192039492f23aL, 0x567528e39c9c6017L, 0x3f064ed4511e6019L,
  118496. 0x303f9eb91d16a555L, 0x3e18c4fd2254abeeL, 0x40994d6ffd434e7cL,
  118497. 0x8fb12d3f6dde74e6L },
  118498. { 0x6c6381a2293cb7a4L, 0x453e09f0b87b7e4dL, 0x4f212823078ac3efL,
  118499. 0xe89ffad0578cae91L, 0x4a2b696a716ba4ddL, 0x14681a14f6f580a0L,
  118500. 0x1358f97b4c2f1307L, 0x878969962932fb89L, 0x29dd850a268a5af7L,
  118501. 0xaf771f6dfe239f83L, 0x5f20fd2e4f47499dL, 0x9b643e77867ca0e9L,
  118502. 0xe7858ecd375981ecL, 0xbe946a5919ab1c97L, 0x4f9303a206ff3453L,
  118503. 0x3fcc673175d237b1L },
  118504. { 0x509debd5df21f920L, 0xfaf70e1fc1401b90L, 0x2429cbfd95a64aafL,
  118505. 0xf21208552c37a122L, 0x1d4c93f47deb926bL, 0x12f3e4c09fb3f1dcL,
  118506. 0x56085a595b51bc46L, 0x2a2f5d62f10fdbd2L, 0x60dd62cfdf0cb3c2L,
  118507. 0x154424a36b0f254bL, 0xc3a5a05d564612b7L, 0xbebe30cfa1f5249cL,
  118508. 0x24ec69037e62a188L, 0x75f0fbacaf429939L, 0xd41345dcb3fa8685L,
  118509. 0x645146fdc7151c34L },
  118510. { 0xecec633aba1924f9L, 0xbba6f136006326e1L, 0x203757ac7e50fc17L,
  118511. 0xca531919ef3d8e00L, 0x9545a6aa51dc5a74L, 0x6e21d58fd31412b8L,
  118512. 0x01bc30057bb1d000L, 0xf1789c696ed1a9c3L, 0x7af2d35f9858fa48L,
  118513. 0x434d09b98197be85L, 0x1dc0775529aa265dL, 0xcad03be7c058fa80L,
  118514. 0x92d70a9f54ba14ceL, 0x6dc785056c050a74L, 0x2a7ca4a94d005ddaL,
  118515. 0x448d3d72abfb9f2eL },
  118516. { 0xdc56f14529b33989L, 0x868351bca9ae815aL, 0xb3f456134b074414L,
  118517. 0x955ce42a3cd9f33bL, 0x13ade4ec5ff6e4a3L, 0xd3aac715a50eaa91L,
  118518. 0x0c61ec995666efdfL, 0x108a28b8f6a4470aL, 0x402ef584e54844c9L,
  118519. 0xb825b162d0e2f337L, 0x3dcd131fb46f7cbcL, 0x208178ec96f2fd89L,
  118520. 0x4d8c5d6725928c78L, 0x285a33df9963c459L, 0x72497175d92a309fL,
  118521. 0x76881479cb7019a5L },
  118522. { 0xba43a11491767eedL, 0x5e11b9ad92bf65dbL, 0xe8a22ce003a5e21aL,
  118523. 0x636044212a335415L, 0xc2c563b44a9ead62L, 0x4bc06264a0b2aee5L,
  118524. 0x75b8d5758bf2e1d7L, 0x1cff0ee7d08a265dL, 0x17914e1db0b712a7L,
  118525. 0xc35925d04b18692dL, 0xde253f4c56cce815L, 0xa479241c9fff0e3aL,
  118526. 0x50b9d06eddabed19L, 0x6713526059fae506L, 0xf37600fb532ce180L,
  118527. 0x670eb01c5e5a8626L },
  118528. { 0xdf73c0af73cdbb43L, 0xcf08ecc57f2431adL, 0x917805412a1a3845L,
  118529. 0x69a104f29224ddf1L, 0x4352f38dbeac7effL, 0xfc3b3b4e7c2d1322L,
  118530. 0xa69e9430b5e4b476L, 0x7d932340975a46f0L, 0x8093899e5d64eeceL,
  118531. 0x7b821250db2345e9L, 0x235529327f4b796bL, 0x2ee9cc154bb90b1fL,
  118532. 0x1fa9c8f59112f7d6L, 0x2d0f2f981cbaae32L, 0xb77f03660075166aL,
  118533. 0x504852e7635dff27L },
  118534. { 0x2f0f3ce5a2f392faL, 0x326c076aec6c9078L, 0xad01de9284baaaf6L,
  118535. 0xb01b16d3cbe8e993L, 0x71305c242d950908L, 0xc66fd6173853af38L,
  118536. 0x7735140ed3c429a0L, 0x8a31b12a1fabf027L, 0xa0530002058b3177L,
  118537. 0xabffd9fca9c7deb9L, 0xd05ef69be8667d30L, 0x2f3a7308e9a9e13fL,
  118538. 0x3f4c9a19b91eae9cL, 0x50d0cee7618ce6c4L, 0xfb24dc405240f8b0L,
  118539. 0x992fe151f7e90cc4L },
  118540. { 0x4454db3138f197aaL, 0xa4ded69d87872f98L, 0x97b427b044f0a828L,
  118541. 0x9821e1aea31e48c6L, 0xe38cb09fdd98efecL, 0x20b84fa8480cb3aeL,
  118542. 0xba5bb4a847475573L, 0xa9be080acd50e96bL, 0xc4451e9cef103550L,
  118543. 0x626ee75fc441325cL, 0x6eea5e9838a5e33dL, 0x7321beb9a2b0abd2L,
  118544. 0xca92e4849b6082a9L, 0x1dc8168a992bcc2aL, 0x134ecf4b9c8eb9fbL,
  118545. 0x5a68bfa84c5b71e0L },
  118546. { 0xb4ff3b45ff0a2bfbL, 0xd105fff95502f8b0L, 0x14de58855b1c0c26L,
  118547. 0xed16865b0d3b9d04L, 0x2f5a2453026d3917L, 0x6a22f493f4db3c0eL,
  118548. 0x4871548ae2418f2eL, 0x6ab363a8509bef61L, 0x91ca1e3ab8cbbbecL,
  118549. 0x71e0dc984011a396L, 0xff982e0a0d5ca577L, 0xeb40b04581897bc1L,
  118550. 0x4bc24a46085ad5e7L, 0xd15c8fa0a6337b7cL, 0x56ce6ef7bef1628fL,
  118551. 0x78acfdf99f5ef439L },
  118552. { 0x45bf7f15f8520189L, 0x954202a0c77f61c4L, 0x39edc6b9dfa22e1bL,
  118553. 0xd2d602671f4a3487L, 0xcd9339294814cc52L, 0xde76a12405e9f123L,
  118554. 0xe2306ea0ae36b6f7L, 0x53815218b83a58e0L, 0x9862bb76a041231aL,
  118555. 0xe8da253cbf31be71L, 0x2dfc533237de861fL, 0xf25c93f690ae4890L,
  118556. 0x66bcb8f08baa6ed2L, 0x6f10ae0f908b4a29L, 0x8cb4b48cb061c949L,
  118557. 0x0ad92d73d075a366L },
  118558. { 0xbfb95fedc2ca548aL, 0x4778c62080cd89abL, 0xbe99154b3466c280L,
  118559. 0xea3be093d4be8902L, 0x847b799513e681edL, 0xf22a8f4b02f40161L,
  118560. 0x3ef2cb4d4aeb7fe8L, 0x9adc5151b3aed5f6L, 0xec1ccfd198c31163L,
  118561. 0xdc2ac17ba3d7d88fL, 0x08fa64d346421097L, 0x5ebf80b794b90bcfL,
  118562. 0x1b78b4ba0b50a9ebL, 0x1a4fe934279aa66bL, 0x8ef4dcaf075b3cedL,
  118563. 0x95bbd8a070a6e9aeL },
  118564. { 0x59f92495e614bbd0L, 0x7567a887b823e363L, 0xe247c9ecfc1bd6a7L,
  118565. 0x2bfaaf478e835c42L, 0x314ef4e0aade066aL, 0x072baa635c16d336L,
  118566. 0xfa429c71e2f0e389L, 0xcac1e5d0bd07d90fL, 0x69ff35ea514f5c04L,
  118567. 0x893053fcc0554ec1L, 0xab1d86b72a35947fL, 0xe29fb0602aebe487L,
  118568. 0xa0a10d6ddfb9cf21L, 0xad147059f20dfcf5L, 0x480dc66fb8867a2aL,
  118569. 0x375a884fc125a919L },
  118570. { 0x178cbe2e1217f7eaL, 0x1a161e2a875c6dabL, 0xf7707ec01bdb1a54L,
  118571. 0x678864a0e4fd73caL, 0xbaebc664d13a0d86L, 0x40325f99c8d30668L,
  118572. 0xb93ed9c92f1c5950L, 0xfdf36763541e0667L, 0xfd97fbb0b91a6763L,
  118573. 0x26aa69ea6079c9a0L, 0xc7303c801eaa8c47L, 0xdec75c81afa63c55L,
  118574. 0x01cdcde24fd12adbL, 0x9fe0dda71968838aL, 0x66bb093b38415379L,
  118575. 0x268d818b08cb84ecL },
  118576. { 0x73dae35841580555L, 0x4fc32e67473d103bL, 0x240c1013beccc1abL,
  118577. 0xda4099f2b24ee9deL, 0x37b0cb5b9fa8e066L, 0xb5ae04e46438d7eeL,
  118578. 0x7f7d31642b720140L, 0x86ef4edb339e4a78L, 0xa5e77eed3a7d8375L,
  118579. 0x883fad37bd707c2eL, 0x816b633a0f979189L, 0xe24c028a2e7a208eL,
  118580. 0x1171fe3c4435516aL, 0x3eb93b334f5f2bf5L, 0x8419ed4b01b53a56L,
  118581. 0x8b02735c056ca44bL },
  118582. { 0xb89bb464e1019195L, 0x1de4c026f3fc28c1L, 0xac120e6e2bfc3b21L,
  118583. 0xec71bc5a91bdf92fL, 0x485d7ab40d995bc9L, 0x97c6768ee6491ffeL,
  118584. 0xd9552d19afbce265L, 0xbae6c7fe8e1b76c2L, 0x167d8281d7e3ad1bL,
  118585. 0x3e149af95e989734L, 0xd1f0024c8a0c8182L, 0xf571ffdbc3006c0dL,
  118586. 0xb32ecf7e58773d4cL, 0x5822a782fd3540d8L, 0x5ab45c3f04365042L,
  118587. 0x400e3aa04b4d85feL },
  118588. { 0x473216495e46e4a2L, 0x37a2ed6424136074L, 0x659223b1c60ec77dL,
  118589. 0x5e13aac3e5e0ac2eL, 0xda17c41bc5107ab7L, 0x65b22ec973c253dbL,
  118590. 0xff3867b8a5012296L, 0xfed660d50621a99bL, 0xa3c28506c89fc3f5L,
  118591. 0x3ed350b9f16451a7L, 0x27c3e03267cb586fL, 0xc807c779967185b1L,
  118592. 0x09c157d44a13009bL, 0x362f7647adaf1f4dL, 0x4a42b9acf3a6a198L,
  118593. 0x131c3da28da6e039L },
  118594. { 0x4a785ff1a7da83baL, 0xf415b425d04f4436L, 0x7c0899bdec03f812L,
  118595. 0xc58d411a80f5f4a2L, 0x3d32d610fda251b9L, 0x99bb4504cd3b2f32L,
  118596. 0x198c444bf4c2083cL, 0x60c261af730e83fdL, 0x060ca4dfcb02db90L,
  118597. 0x0ff7838b9df1e7c8L, 0x6b79cf97c4c690c9L, 0x131514d75d75f154L,
  118598. 0xa7c074f11cb0e8ffL, 0xb920aac1b2c17615L, 0xde8098ad44aa0ff0L,
  118599. 0x71d1a46a34545ce9L },
  118600. { 0x76178f76fa1b382eL, 0xa0d8ecc3772dda0dL, 0xaa5aab2ac5d4d130L,
  118601. 0x27d38ba48d72622cL, 0xc5410db6ca3bed06L, 0xf637a588793ceccfL,
  118602. 0x1f65dafd6e65e3d7L, 0xc3b44a8560a45641L, 0x0f47b3a84f78540bL,
  118603. 0x824fdadd5e4d60f6L, 0xd8ccf90c17d3b6d5L, 0x008eabdf325fc13aL,
  118604. 0x3e90d7163648fab9L, 0x3964ff3a24c52d4bL, 0xb95cc416533d0acbL,
  118605. 0x6cd2699f1167f521L },
  118606. { 0x2d8c0b3b12f4f3acL, 0xb03dcfe299d1bdfbL, 0x540034f830f37326L,
  118607. 0x22dd68937c5a8c82L, 0xeb7093d0cd8f1442L, 0x892795a7585742f2L,
  118608. 0xe15f282c087adaddL, 0x7bbdc74916ab7b5eL, 0xd30fe40ba58acbb4L,
  118609. 0x0de417ebe2bac39bL, 0x4b4b19a6c61a04bcL, 0x9338c34df2735569L,
  118610. 0xe8f0374230ab196fL, 0xfa2efcb86c88c965L, 0x19eee274c7eeb826L,
  118611. 0x327c063fda345dc2L },
  118612. { 0xab399eff5b47cd53L, 0xbbe9869d1943aefeL, 0xe64ecc7b1402a866L,
  118613. 0xc3e7c2aab1c25a16L, 0xc4216b79022de271L, 0xe58dfcc8366d6a5fL,
  118614. 0xd159509eda813336L, 0x370400f2130bfb7cL, 0x1be4e05993b48780L,
  118615. 0x0623a1fe39f3cd22L, 0x72aa22b2eecb4f87L, 0x1af4c4966c27b83bL,
  118616. 0x7a42a94bda5fa5bfL, 0x9afba82248b01af2L, 0xeb6b9d2a3670112cL,
  118617. 0x020f19d1c0df6856L },
  118618. { 0x37051a86a4dbba20L, 0xb618ebc6db1de5c5L, 0x9a780a19e6525840L,
  118619. 0x9440302dd2bccc4dL, 0xe9ff023d10285a24L, 0x3b937ee33a486268L,
  118620. 0xe37ee2f24cd61147L, 0x79fbbfd3a3d057cfL, 0x5fba16d3ccddefceL,
  118621. 0x916058ec5b231727L, 0x47699ebe720c3adbL, 0x262743868b4f6bbaL,
  118622. 0x54b0092af18a0770L, 0x99d090ebacca1160L, 0xf757e1ff0c888f60L,
  118623. 0x79e72720b0050544L },
  118624. { 0x632acf252820a239L, 0xb1a3974eaae6b310L, 0xd61fd6ba48c0a1dfL,
  118625. 0xd2453c395a3ee7aaL, 0x548455a0b980446dL, 0x9f29d97bde16676fL,
  118626. 0xf252ca0c789375a1L, 0xe961af3e7743a985L, 0x70c79c5666cdbd8dL,
  118627. 0x14a3854ecbc538f9L, 0x58daa73aa126851cL, 0xe9b5bb452a9f558cL,
  118628. 0x37af7f83fbd15e05L, 0xa448792738a1939dL, 0xe428b2b59511a056L,
  118629. 0x001d3ce37015846dL },
  118630. { 0xd6be36b9e145b1d7L, 0xf3e3938a009c5664L, 0x2e562e7de7c0f6dbL,
  118631. 0x951044e6c343f539L, 0xa5ab62b8d90897b1L, 0xb1a1f70b512f797cL,
  118632. 0x91cdd754750f28e4L, 0xb4c80e2fffb8165dL, 0x65ed39c7594d02b3L,
  118633. 0xcc12a49d56833edcL, 0xe73694bcf3693a18L, 0x34cc134afcd2c404L,
  118634. 0x071bd5fc11d40194L, 0x05759047fc585e46L, 0xb3280360790b7a04L,
  118635. 0x4bb8c6fc40afc684L },
  118636. { 0x3120e2ddfd0f8796L, 0x6968a40db133c9deL, 0xfea366c0a9369c6eL,
  118637. 0x37e5b6d66007273bL, 0x39e4ecf08cb81439L, 0x487fe9cd9febc005L,
  118638. 0xeb8af4440199b53cL, 0x2f124e3b293519ebL, 0x860c218ac82c9c16L,
  118639. 0xacd1d6f2709dc590L, 0x5696d54536d50529L, 0xc03f5df959120bfcL,
  118640. 0x99a3e88d10ffa690L, 0xd4f9cfa56c432827L, 0x2e8fea9e9a135d89L,
  118641. 0x3699a881b6a77e78L },
  118642. { 0x5bca33721eb1c64dL, 0xe9cf3a2df1d28154L, 0xb7e2e9b36537106fL,
  118643. 0x06c171514f7cbf4dL, 0xcbde416e2058b37fL, 0x82c53a7e8834e9c5L,
  118644. 0x94dbdfe2e9ac3a75L, 0x795ec6cbc5e67c02L, 0x8c23c25f1426a80dL,
  118645. 0xee2cd20d6a8d4f9fL, 0x838daa54d3b7c235L, 0xb9e08ec03d7a4d52L,
  118646. 0xca9475e9781cb473L, 0x7271f39e5ec31caaL, 0x1df08e9f82535187L,
  118647. 0x4f3a4b03208aff8bL },
  118648. { 0x0f7b81071ed095f8L, 0x23e37fa6da226d4eL, 0x8b0f9852afb36d1dL,
  118649. 0xb114634e07d8e311L, 0xb9634a97e3e0f16eL, 0x2454bb9c421eec37L,
  118650. 0xb4ecd5dbd72b21c1L, 0xf96038686df20d7cL, 0x9f5359fddf86e0a2L,
  118651. 0xc43d54fa5ac488aaL, 0x56d714abd1049df4L, 0x13152b3eb020607aL,
  118652. 0x49be1c187a02325eL, 0x44f24f4a52ae84dbL, 0x9e525c030b5a7b80L,
  118653. 0x6d874446a6d179fdL },
  118654. { 0xd29d07aabe9a42f5L, 0x1fd5316c3781ccc8L, 0x71a75a6d9dc69ea1L,
  118655. 0x4e19e0df88fee91aL, 0x99c2b4dcf8d44f12L, 0x05f6df9231ae94e4L,
  118656. 0x27fba876cf28ccc2L, 0x6e1a0f01f57f7cebL, 0xe03f1f34f3fd3b74L,
  118657. 0xa0edc4a742c1d213L, 0x5caac2707deb8580L, 0x0f5d791faf0848bcL,
  118658. 0x17f514ad07ac759dL, 0x95a39734904fc531L, 0x95a4aca97bb70f3dL,
  118659. 0x3cf384c9ff9c5609L },
  118660. { 0x700506bace1fc9e3L, 0x49721742676b0399L, 0x2b4a1b8de72bf7b3L,
  118661. 0xca8602a879b209f7L, 0x90580b90ce26a8e1L, 0x1ef339b7fe24f39aL,
  118662. 0xb6c5d991629362e1L, 0x51174e1a577b24f4L, 0xf380fcb505e451e9L,
  118663. 0xf4d97afb148321bdL, 0x099806bb747e5d2aL, 0x85525d65be99a608L,
  118664. 0x264828d9d455e820L, 0x8c8c5405d8560a65L, 0x3c67e73c71030770L,
  118665. 0x2b248850ee73df26L },
  118666. { 0x2173cde68541159fL, 0x78224c184fb410b2L, 0x07a286191f2ca1c7L,
  118667. 0x52c207d6a8b23e40L, 0x071a0210a6b2344aL, 0xdb0e587cb5ed2945L,
  118668. 0x6c56b8ef810fcc6cL, 0x1248c58f62d843b9L, 0x4b90363d74c66975L,
  118669. 0x6348f7f2e66c66f6L, 0xb2f9d441c126bcbeL, 0xac07f2a373ce49e8L,
  118670. 0x52486758e81b0df0L, 0xa108b54d1d4621d1L, 0x17261ece74414a1cL,
  118671. 0x938b3bcc6a3ac215L },
  118672. { 0xa9e4a16be4ded340L, 0x8e65fb2a80e88036L, 0x97089606dcd73acbL,
  118673. 0x1c3a0434aaa657a9L, 0xf304fc5849101b06L, 0xe60fb61ada0bb64cL,
  118674. 0x818c2aecf5542df5L, 0x7402057656f76d5fL, 0xb566b79092533d97L,
  118675. 0xae4655e574d6eb5fL, 0x60f7a1b5a55b44b7L, 0x7970179b93747ea5L,
  118676. 0x8ae7e0e8f2dace56L, 0x9847460784e83c06L, 0x24e8c9ed15307341L,
  118677. 0x6cff58a5d9e89d6bL },
  118678. { 0x508c01b003e51f68L, 0xe1d1f2251d2fe7d6L, 0xf7998d0b09bd8805L,
  118679. 0x255e907a03e415b7L, 0xd148467d607d9798L, 0x055c3b1e9b453896L,
  118680. 0x35001013809f50f4L, 0xfbbb2fa6d0233fdcL, 0x0b680b0aff1820b8L,
  118681. 0xb1d404dc38d317e0L, 0x133d5444ccc8c7dfL, 0x7fa847e66ec13f84L,
  118682. 0xc33f83d8046e2e48L, 0x3c627fc54863b3acL, 0x5f67f8aaeb936af7L,
  118683. 0x5fe4ac8f31b79327L },
  118684. { 0x581aa4bf8b6f401eL, 0x05db12a3ad5c7ed4L, 0x7b0187266fb07b4aL,
  118685. 0xfdd11f049c22bcd4L, 0x5454a7d469371c95L, 0x066c55fb99a46eafL,
  118686. 0x18637c7c7fef96d0L, 0xbafc1d346b83e95cL, 0x55c3859300bb42dcL,
  118687. 0xdd8dec2b34e7e712L, 0x69c9cfb0b184cee8L, 0x8dcc0c4249a27864L,
  118688. 0x290d95f22010f2e7L, 0x86e254c96977a420L, 0x20931c89eb2abdadL,
  118689. 0x81377164121c0548L },
  118690. { 0x6266b25e9c5a8edfL, 0x6e1388c21078a7adL, 0x5f02737d4876eedfL,
  118691. 0x242fa7f962744617L, 0x3e2cfbd9b385382aL, 0xbadad7b102f71befL,
  118692. 0x562abcfa677d0a92L, 0x573ebd1751fdff34L, 0xd7f658527c250c78L,
  118693. 0xe0cf16eec47ca896L, 0x8ccd79b067622c9eL, 0x31fc5882f8f2c075L,
  118694. 0x9232b37ea6008515L, 0x4d7bb36182e8c5baL, 0xbf24735cd2f146feL,
  118695. 0x79c280ee9cd2db98L },
  118696. { 0xbdcc8203f2b48122L, 0xa8c04916b04ac48eL, 0xacf064dc9fc4885eL,
  118697. 0xab83899782c1001cL, 0x7339e721676de250L, 0x17aa5aea8e1ab820L,
  118698. 0x24d28ca06bc14b2eL, 0x570c5bb7816b6230L, 0x6c51235ccee6b606L,
  118699. 0x1b2bf89f183eae42L, 0x3e3af3c69c66274bL, 0xe0b04426b51e38bcL,
  118700. 0x26dbc58e73e40e3bL, 0x3f9dd578b5be5be4L, 0x9fd9f79152c8f408L,
  118701. 0x758073a4a9e3ff4fL },
  118702. { 0x7d27b0578691ca22L, 0xf206bfd613a2a1b6L, 0xe84bd385ac795413L,
  118703. 0xc5d18a2a75536607L, 0x2e166de7c8a0e24cL, 0x56d5750c3c474dbdL,
  118704. 0xdef444c11366843aL, 0x14646e53cf4b8432L, 0x4bc0d030a9fd9783L,
  118705. 0xbda4c824297ee203L, 0x3d0b10bffd7be6c7L, 0x2d21647608c7f3ffL,
  118706. 0x06e52599b4fd4c45L, 0xfbab9fa149e9e104L, 0x9342a7fa8661d32dL,
  118707. 0x3f3e3458faf66aa8L },
  118708. { 0x51ec35af951597aaL, 0xb677d4ac49df64ebL, 0x0276cd9c9bf4eff5L,
  118709. 0x423eca49515a2935L, 0x8a696553fd9bb9c3L, 0xf99ee9dfede1f09cL,
  118710. 0xb8fa2956199e5f98L, 0xb763875835292c32L, 0x8734eddcfc40e81bL,
  118711. 0xd82d5e9f65457d95L, 0xc8ee323e30c78d2bL, 0xe77b2e4cc1433d67L,
  118712. 0x56d9f8073c8314aeL, 0x441eede22a0e2f63L, 0x1e9e17ed6c48295eL,
  118713. 0x640d20c434c294efL },
  118714. { 0x4e9a0b8e3284d513L, 0x074c3545f315053aL, 0xb36e740745acd52aL,
  118715. 0xd80bdcfc1de50db7L, 0x8d9d47dc2549fc46L, 0x29b6ef13303f07a8L,
  118716. 0x4e461aca6d4ad4c2L, 0xca8e351dfc9f1b73L, 0x8bc4094d57460e65L,
  118717. 0xb6302b330f32d367L, 0x69a074b6285742e8L, 0xdfe52b11876c29c3L,
  118718. 0xf39e4609912bd17aL, 0x8ee40d66349aa639L, 0xb968902ac72e05c1L,
  118719. 0x0f9c1ca8c0d92816L },
  118720. { 0x1ebbaab367433df3L, 0xb6aa534715d3628cL, 0x13a320d897f0c5ccL,
  118721. 0x72c918cb65e408f9L, 0x4b638854d5373451L, 0x731399a30b4dca09L,
  118722. 0xcf2567300a3b1326L, 0x5ea60dfa6608b388L, 0x58ad74b07b290dfdL,
  118723. 0x83202789d7694f9bL, 0x48593db8b6630fb1L, 0x3db47f70c65e3eafL,
  118724. 0x63949c913e7263f8L, 0x9b9acec6e6e6ff33L, 0x34bd9ba7098a8240L,
  118725. 0x7e31c12f45d36ec5L },
  118726. { 0xbe281d680dfd2dd7L, 0x1efacb0024ab61d8L, 0xb9c3005f94431f97L,
  118727. 0x660c8dfa959cb3bcL, 0xfdd5fc30cffbb406L, 0x7a4631be7969a10dL,
  118728. 0x336e309ede13fd1bL, 0x76b3bfadfc947076L, 0xfa91925ddcc72223L,
  118729. 0x741f0d73156c4ee1L, 0x4f64ee410e2b3747L, 0x86be92d3efc4d93cL,
  118730. 0xc53b7e03fc4fbb2eL, 0xac196cf5337ca1bbL, 0x4de41a307e23ba60L,
  118731. 0x1a219c45326d5357L },
  118732. { 0xfdcf7ef8aa4db0bcL, 0x2e2318067b6c9963L, 0xc26390673d8a192fL,
  118733. 0xc0cec2e2ffdc7771L, 0x997c8e35a2fc0edbL, 0x78e10ec182cc6043L,
  118734. 0xfd0de2cb2b0c8120L, 0x4d6c457f69e57f8eL, 0x953e69b25b53f1c3L,
  118735. 0x422a330ac4f89cb8L, 0x92ff232995566be6L, 0x73cd502d437442d1L,
  118736. 0xf04ce590bea69403L, 0x6ac1537ef8030662L, 0xe02bcf77b6d0bf93L,
  118737. 0x17aaa999bc90192fL },
  118738. { 0x0d3d56438e55db2eL, 0x835dee433b946851L, 0x1a1440e55b88462fL,
  118739. 0xa6ff3b35ea17e27cL, 0x23f99c36dd95f7a9L, 0x7217fdd9bdd672cfL,
  118740. 0xf400ac1edd2045c0L, 0x94b55c874ff06b25L, 0x0a44a0e50e4a49beL,
  118741. 0xe8925e91b43b6813L, 0x78bedde1214f96c5L, 0x0f456a4c0f97fa97L,
  118742. 0xa28fd86ba5bfd267L, 0x3b4b2d8fbe7608efL, 0xfbd5ff8c226474bcL,
  118743. 0x6b282af0a5f3b24aL },
  118744. { 0x78fc025f6341a595L, 0x591c38d6a445e28cL, 0x72bd6e3deb446842L,
  118745. 0x3f9466d375547833L, 0x911414d3083e16c4L, 0x145d946695a7acb4L,
  118746. 0x102ddf098fd2fb64L, 0x2a2b2d2d0bfd87b1L, 0x69e9be5c59455088L,
  118747. 0xee378bf4a80245deL, 0x80b0bd68b2306b0eL, 0x76a545c6c2be9f3dL,
  118748. 0x429d167b4802c245L, 0x13e644272b412dfbL, 0xb664f529ee8d9762L,
  118749. 0x6d4f5d2354706ebfL },
  118750. { 0x35c8f2b600ba9f88L, 0xfdc807e07bb6d0bfL, 0x0a126d42b3b81e5bL,
  118751. 0x335ce6cea7ac781eL, 0x3e308e6ff37dcba6L, 0x028dca6263c96487L,
  118752. 0x72eba57e8818434dL, 0xa9e3d59f79b78a26L, 0xd2f0a7dd2f07aea3L,
  118753. 0xe0fe467824d05f74L, 0xb20851700116deb6L, 0x9c2a5e9258f37580L,
  118754. 0xe78bd7a574070bb3L, 0x551fc872b9977d90L, 0x6eda93c440db81b4L,
  118755. 0x4aaf0b4fd65d34adL },
  118756. { 0x9bef25063514c7afL, 0xb09e7dadbc181eadL, 0xef3cae878fa3ec58L,
  118757. 0xd8dbfab5173b8685L, 0xb2490fc0921d32ddL, 0x4eef386b8bd9c466L,
  118758. 0xc1cdd52fa061dbdbL, 0x64de989a25bc04dbL, 0x06f9836b85728636L,
  118759. 0x11a5a8048be44aa0L, 0x16dede4e097018c7L, 0x72aec577b2c11fb1L,
  118760. 0x144dade1a721ecd9L, 0xf99c526bd6ebf3a9L, 0xa1d4165b1c2e14d7L,
  118761. 0x8b2cbd3982bc6337L },
  118762. { 0x28ec1bf28a52e991L, 0x0ba202f6cf9d42ecL, 0x8307d130c634ea45L,
  118763. 0x3fc257b3c5762b9cL, 0xbd3298d1487c2a2dL, 0xca14f1a7a319488aL,
  118764. 0xc70ca93b06ba06d2L, 0x9aa3f4b3ee405e89L, 0xcc64eeb335deeae7L,
  118765. 0xd155f57803bf1d4cL, 0x041ec0b545616bfdL, 0x23df80e6086e33f6L,
  118766. 0x399a79c8f0243cf5L, 0x86c2824e874ccd58L, 0x220eeaec8fc5c831L,
  118767. 0x57e283047dbe3670L },
  118768. { 0x6e60b698fbcdf666L, 0xbdd06a998bebb1d2L, 0x4044adba80498436L,
  118769. 0xd76bf75e522bc88dL, 0x655c4b9b28423b20L, 0x65c0f49253398a72L,
  118770. 0x76d4f2b70ca37601L, 0x469899252030fa5aL, 0x96b37e87b6054705L,
  118771. 0xef96f73153de1b2fL, 0x5ecbbc8cad54ef05L, 0xeb289d0aa93617b0L,
  118772. 0x3ac0fbd57cba217dL, 0xd0d3cb5619d4a2d7L, 0xe8bee9d4c91d6063L,
  118773. 0x4f12e037696ffda6L },
  118774. { 0x4ccfa42215f1a610L, 0x804a5c553786519aL, 0x1246a45473838134L,
  118775. 0xfa15b4844b284e2aL, 0x36464c65146d1320L, 0xfb6ba88c70a8a0faL,
  118776. 0x74e7cee793c4804eL, 0x8c34d22cb95ae16aL, 0x9d9ed89ff9c1d4ddL,
  118777. 0x61a0866d32025371L, 0x45b232b29bd6444aL, 0xf888e92cf277bab1L,
  118778. 0x73e69c6ea9448b02L, 0x1a496ea95b521ecbL, 0xa8f78ea75858afb2L,
  118779. 0x83d2333eb1266f91L },
  118780. { 0x1c63328867b478d7L, 0xa1ee1ae150a2fc9cL, 0x05b6ab3018d2241bL,
  118781. 0x69f1f288893cd696L, 0x159d6660a8117a87L, 0xe812011970e73d77L,
  118782. 0x528fef0093f55f0aL, 0xb3978db8d854dfb2L, 0xd6b43ef6f45d9fbbL,
  118783. 0x17de4bfed5bee397L, 0xa01e0f596bf76dadL, 0x28b2280e3d40754cL,
  118784. 0x8edb6122f8e86ef3L, 0x8226b6afb7d1e586L, 0x463532152f40a55bL,
  118785. 0x7362f13ec5a31621L },
  118786. { 0x792eb27c73c0c430L, 0x8cc0a65fa51c3657L, 0x50a5ceced2194f1bL,
  118787. 0x18945688814b4947L, 0xbbf0a81a4b6fbbf4L, 0x376f4f58f0aa8608L,
  118788. 0xd9361d683987795eL, 0xb6510cd8e3a8d0d5L, 0x63e2fdbfb6c1a455L,
  118789. 0x2c91154eaec891f9L, 0x0eb1e715ff568f64L, 0xe7af9cd72f2b399eL,
  118790. 0x1fc39bac89f0bf0bL, 0xf0861d9290983695L, 0xd9b16f02da0a20a8L,
  118791. 0x2f10693fa38c0eadL },
  118792. { 0x07a6ce910c06ded2L, 0xf974842f2fd9087bL, 0xe468bfd6a9f635a6L,
  118793. 0x04b618911ed60626L, 0x1fb2f89f369ee548L, 0x9cbd1113dc96a201L,
  118794. 0x6759acfe10d633acL, 0x64ba66fc8faa629eL, 0xa686ae4947f38283L,
  118795. 0x828c3a05d59cda99L, 0x7c7afb1408ea2f6eL, 0x2551c8e4af3953c8L,
  118796. 0x5b53d2799daa9e4fL, 0x1eff68d4ad6f1940L, 0x2775dbdd96437cdbL,
  118797. 0x985f83e44fe7a043L },
  118798. { 0x89603c16eaf45294L, 0x70131160c24b5751L, 0x4c11201839d6b52dL,
  118799. 0x7079cf02ed943340L, 0x0c5b028b74f41b68L, 0x3dc3f0769c8ac1e1L,
  118800. 0x5ac5eea3f8b24f0eL, 0xee6684bae34c5c22L, 0xa5259e639abc452aL,
  118801. 0xb07d2cd1e9df45ccL, 0x07019c931a443cfaL, 0x68fddaa992c003b3L,
  118802. 0x2d9f179c0d8cbc2eL, 0xbbf15a6f1e781ca7L, 0x54d779d550dcc799L,
  118803. 0x0c88e5400fe962f1L },
  118804. { 0x84f71a6ae8f44357L, 0xf75b4bf63a3cab6aL, 0x334c9d9e5aebc680L,
  118805. 0xcecaf0848a753ef2L, 0xe28014c1075e3c8eL, 0xbb9d5a38f74f8d3aL,
  118806. 0x75988464b80e32aeL, 0x7b328e6ff2bc3792L, 0xebbb1fafeed0e197L,
  118807. 0x674eac955a33065aL, 0x8c19fd8f922dbce8L, 0x8c17ae85987b907aL,
  118808. 0x89f336273b3a2cd7L, 0xebaea019fa87772fL, 0x4e5de4993a25ced6L,
  118809. 0x8e2560b8af110715L },
  118810. { 0x56d3746c3141aba6L, 0x45a1079fbab2cf9eL, 0xb63828319cdd27c7L,
  118811. 0x222376329dfd950eL, 0x1e0b15cd3a9408ffL, 0x49a80200b1160118L,
  118812. 0x2719db5da383bba7L, 0x6078340a651046d5L, 0x8929d4de97523b1fL,
  118813. 0x4040345c8e0a28abL, 0x61275ac20adf09c7L, 0xb41ab2652331d611L,
  118814. 0x230cc77c5391ca50L, 0x88be0c928f922315L, 0xfef3d92b92fd9a29L,
  118815. 0x59005f228324f2e5L },
  118816. { 0x6bb1750c3c4c1c74L, 0xbe73aac0e966fb79L, 0x85a75d9266c5973fL,
  118817. 0x8c97f9323a8656b6L, 0x2b7043b150446cdeL, 0x548916f73ff3897fL,
  118818. 0x913dd01cb18b72b2L, 0xd0a751f1488c0de6L, 0x191757148558ca58L,
  118819. 0x9771430144a663daL, 0x2df190acb0e08618L, 0x0080fc0cf39ead9cL,
  118820. 0x0085ac6e17382da1L, 0xe97918513262a338L, 0xe4495936b43bae8dL,
  118821. 0x57a78e26d783df6eL },
  118822. { 0x161b346f40dbddd8L, 0x2b49a9279410c3acL, 0x8c5427831886cf3bL,
  118823. 0x72df323233b93debL, 0x9c8d59f540df579dL, 0xe5d7a67dc20ef500L,
  118824. 0xc46b391867f08643L, 0xecfa2445ad96adc3L, 0x658f589b0c4544d0L,
  118825. 0xe6ec9301e08417d7L, 0x6ca5ef6ac454e288L, 0x4191048fac0f462dL,
  118826. 0x852407d808d8a036L, 0xb4c533a7f6d35b7eL, 0x3251e4128f6ada87L,
  118827. 0x1ca370c581c472e8L },
  118828. { 0x94bd5171a801b68aL, 0x7312879cfd1998b3L, 0x4905aabf41163202L,
  118829. 0xb5fe87f4f5b01fdbL, 0x78de523a9cda128bL, 0x0bf161a1c7bd31f7L,
  118830. 0xb5decfd023904c35L, 0x224b2882e188f12dL, 0x0dd2801df99dae74L,
  118831. 0xcad467b508cd1cd2L, 0x6c311c3dc0867e39L, 0x71a117202b425072L,
  118832. 0x83bf464e2efd9003L, 0x53d0448a1dbd3b03L, 0x32db52f4e6265baaL,
  118833. 0x2584b34c4c33ac79L },
  118834. { 0x3cb863892aeec688L, 0xa5e740ba45fbe523L, 0x422e71f7fd60b5f8L,
  118835. 0x455d185c4874913dL, 0x04c2bb36fa17d80dL, 0x3f271854ac054524L,
  118836. 0x76dd3045a8b9a657L, 0x2e42c3e162ee7cc8L, 0x002667064df6c7d0L,
  118837. 0x5927dd51dc7cb488L, 0x6b3faabe187897e0L, 0xfe6ad22ef2d5737cL,
  118838. 0xafb60269ff51a9ffL, 0xe1c8354569807baaL, 0xacddb6ff951ca49aL,
  118839. 0x7e8113743f9ab085L },
  118840. { 0xad722a8b830a88b1L, 0x91918ea8ce1117e1L, 0x3e02d0b80409b47dL,
  118841. 0xb53812d36c46d1d3L, 0x2fd09db0e589669cL, 0x9845cd0615b0cd5eL,
  118842. 0x0c1c155a2386c453L, 0xda774de5f5ff43cbL, 0xbb076b98e391c0cdL,
  118843. 0x97d71eff5004f286L, 0x23e0b46caeec0bfeL, 0xe453866732a1ad94L,
  118844. 0xfe0c9f81396da422L, 0x6376c1a263db2bfeL, 0x001c7918ba56fa91L,
  118845. 0x436b8c64df8485a6L },
  118846. { 0x88117e9d8ab764bcL, 0xdfa61e94a077df84L, 0x5a7765d30c18eebdL,
  118847. 0x548916affc9451dcL, 0x01a52e33071a347aL, 0x633b95deb23b41dfL,
  118848. 0xdd7d68c943c8c286L, 0xe4f9d41e18d97068L, 0x79908b908c92799dL,
  118849. 0xe614148ed47394a3L, 0xe5018517cd51e53fL, 0x5060075e0243dcb6L,
  118850. 0xe5dcde6217954405L, 0x6f7c90e1537da5ffL, 0x1df7aae40768cb66L,
  118851. 0x5266ca9e6dbe95e1L },
  118852. { 0x84ddee6d1386b3dbL, 0xf9e4af5a7c38e540L, 0xb3418440eb04f49dL,
  118853. 0x2138a1e8fde5a4fdL, 0x3e6e692430257cfcL, 0x3519c6e319fd70c1L,
  118854. 0x8f34e17486c31ff0L, 0xf1e298fd940ce1e8L, 0x6fb8cb1d14960d7cL,
  118855. 0x207c13472b2f3bffL, 0x899a20b4146ef8ffL, 0x7dec362b7bd3e220L,
  118856. 0xa975044e626bea27L, 0x0f32b4494fb4cb67L, 0xc17a09201fc6703aL,
  118857. 0x41f325b99cd84a2bL },
  118858. { 0x312ed513ce2843a4L, 0xe748498e00728afcL, 0xa8ef28224d864ce5L,
  118859. 0x34064704a620083bL, 0x5905e1d94bed338dL, 0x2a578cb5063e7b38L,
  118860. 0x98276d96289e7bb9L, 0xdfe2dc47f17b7341L, 0x5923521f1dac8944L,
  118861. 0x3db6d28d23400aa7L, 0xc647705ea761ba43L, 0x8947ba6d9bfd07ddL,
  118862. 0x00f2e3ac242ca8fdL, 0x49ef4670eb8c3468L, 0x7db3d37bd9aa18fdL,
  118863. 0x56b30fb6e58cea9eL },
  118864. { 0x07ecdcaacd80a428L, 0x7af922dc8732c891L, 0x20d887983ada441fL,
  118865. 0x3bed9a44924b008aL, 0x2123533cb2e81c3aL, 0xc34e407565f807d3L,
  118866. 0x0bfaefa51f2faecbL, 0x78b634a5ade8a88dL, 0xc4e0b7f894392a91L,
  118867. 0x3092237790bb1cd8L, 0xdea9b4faf87204aeL, 0x3edf81f585d3cd83L,
  118868. 0x58f88c51c6523a79L, 0xe472fb8b17c0d969L, 0x899081e5dccf7f07L,
  118869. 0x1353cc5758bdd146L },
  118870. { 0x28a5649739bf6e18L, 0x59e8b5a2649b89c7L, 0x8d9434a0dce8b8e7L,
  118871. 0xd935bf512047040cL, 0x2ab3a1646a7b8e82L, 0xf1583ed627f81294L,
  118872. 0x8416a7e072d67297L, 0x49685d86cd39e42bL, 0x8a797fc7958ddbadL,
  118873. 0xa558f928155ce6deL, 0x75f4e570f8a36235L, 0xbc69cfc052877ae5L,
  118874. 0x8f4193a9a6b16ebdL, 0x8d1df43cbb1cc1f1L, 0x723a830e5a21e789L,
  118875. 0x3ec2185df451df58L },
  118876. { 0xb9d4c7d71f0bc2d7L, 0x6982c6cc6e51d412L, 0x92e02d93a09f80f6L,
  118877. 0xb7dd2d25047ae09cL, 0x3503149f37f351f9L, 0x69d49ce1c77850beL,
  118878. 0x60242acb12f0d2c8L, 0xba188c567bc28b9dL, 0x8e40612106bc0550L,
  118879. 0xb0d84b1f8d7d4329L, 0xb4a67ae7d38951e0L, 0xb527c57b8bc97607L,
  118880. 0xbc93c5f35497aa72L, 0x5f1de8cc39bdd666L, 0x3087dc5ce9d447a3L,
  118881. 0x89b356b6a211abe5L },
  118882. { 0xed6db0afdfdcc837L, 0x0fb80baaa871b7a9L, 0x413abfc91c1d4b72L,
  118883. 0xf5b56bf7adac9e5cL, 0x5664a2da8b8657a3L, 0x11b04f720e41d94eL,
  118884. 0x63e11d2637433658L, 0xee628ecef426daeaL, 0x011619c9cb162dc2L,
  118885. 0x9cf5817f87648643L, 0xe1bb97025584bc86L, 0x2cc27cef00bf7928L,
  118886. 0x4ef3a80edc60eee5L, 0x7e1202be87adc2f9L, 0x656f18e08a0d4f52L,
  118887. 0x39c4f10d57c5d126L },
  118888. { 0xb3a9b68ce88aecd3L, 0x555b0918a518aa9dL, 0xedc1cdad4bd4ee54L,
  118889. 0x79b68b6702068d84L, 0x7dac80d0811ac72dL, 0x6d1e6d35a81a0a78L,
  118890. 0xc841e9ea3bd16283L, 0xa7bc1775894c4444L, 0xf2b63725f1aa1202L,
  118891. 0xbec7767ec7d4c556L, 0x2817ebb3d46ff51bL, 0xfde5be8d73f7e339L,
  118892. 0x44c6c9775aed24c4L, 0x0b9a1707b6e579cfL, 0xcff164789069fbccL,
  118893. 0x414b542d49152b00L },
  118894. { 0x33c31e58606e173bL, 0x5b7f4e1b90e6713aL, 0x425fb512debb20afL,
  118895. 0xc788c61705120e70L, 0x3ef056029013e4ecL, 0x9f9d35ac81c6e6d7L,
  118896. 0xe131e88f9450690aL, 0x708f9b3244af082eL, 0xb2e4d66c1ba2aea9L,
  118897. 0xaf1f4a6e740db29cL, 0x74ab9248d1843007L, 0x13338ef8ed556a6cL,
  118898. 0xf48e623e270d17a6L, 0x3c7362fa9608f5bfL, 0x43977874444e8515L,
  118899. 0x52678d6ae00b8b2aL },
  118900. { 0x5dff1c59df36aeb4L, 0x52d6653ca92bc0abL, 0x0e03f496927a5f81L,
  118901. 0x8509d4142dfd491fL, 0x258c2c52a571f89bL, 0x2bd6180493334485L,
  118902. 0x1a33e94f3f7d9e09L, 0xfab418d32c1bf906L, 0xf39c490e5aa5695cL,
  118903. 0x0e41196ef6d2d7ffL, 0x3ecd40750f7948a9L, 0x4b58f9b2d3053b4fL,
  118904. 0xb8ee842a5d9974c9L, 0x23a59c1dbf22f682L, 0x045ac614c8efcea6L,
  118905. 0x7040ba5bc10ceeddL },
  118906. { 0x2c364f81515a1a96L, 0x31a63503184327e0L, 0x0a0966501ad93d4fL,
  118907. 0x9d7694f1273b6173L, 0x8886d876d2cda9d2L, 0x1e01a7422814c177L,
  118908. 0x3492276b8667696bL, 0x2fd4f0c65b25f006L, 0x6527349ffb294c4aL,
  118909. 0xc1fe0d8ade1d336fL, 0xaf9a23e8e7e3860eL, 0x97d2b721b774c31eL,
  118910. 0xfac3e5824365784aL, 0xff2dff4e70f4eaa3L, 0x3d281e1afe873248L,
  118911. 0x9043a6d60bd1c9c1L },
  118912. { 0x1511a0fe766c7937L, 0x1b2ded5cabbc3be3L, 0x2ac160cce00888acL,
  118913. 0x928754bd616200f3L, 0xb801c83d34a2ea06L, 0x8ad7a03a9cbe106fL,
  118914. 0x996b0822cedfcd94L, 0xc3c3463ae4069880L, 0xfb12ea4df597f663L,
  118915. 0x2c8d383440c92af9L, 0x79bc85c64e8da154L, 0x95771fa2db4e801aL,
  118916. 0x7bd2c1381e3579b2L, 0xe45c75dfffaad078L, 0xb0760a3cb73eac46L,
  118917. 0x26362b483a125f35L },
  118918. { 0x25c68d28eefc3e89L, 0x2d0ee87769e9ee71L, 0x8b07bb86af5e4b75L,
  118919. 0xdb709072cb86b333L, 0xfd3d20eaff552bacL, 0xa5eeb2b14c0da1e9L,
  118920. 0x391f688a44f97145L, 0x21fbd3101e06d485L, 0x45e4f2a5bea9cd49L,
  118921. 0x7b60d464a7bf21daL, 0x193f88c8054d5471L, 0x5ace53d1bee0f2e9L,
  118922. 0x92c26563c1439273L, 0x9c86e0b296c6b5eeL, 0x452fe23109ff59baL,
  118923. 0x2e952b20555c935eL },
  118924. { 0x2a846bcad75f886eL, 0xe68a5dbed43dfc58L, 0x103e45b6007b1b86L,
  118925. 0x580e2ec9355ff2b5L, 0xbc702f26a263ecc9L, 0x2835b386181e5e33L,
  118926. 0x025113ec6c122076L, 0xa5c26e3a7fbd856dL, 0x8ef83fb39d6ebcb1L,
  118927. 0x7aaa53f2a44d2fa8L, 0x7c14ef3353b1fa97L, 0xff604a1117559a30L,
  118928. 0x2bcd96b0b09377e0L, 0xa5c14896db2f0273L, 0x1c0a84c9eb53ef06L,
  118929. 0x1236d01730378e4bL },
  118930. { 0xd7481c8fc084373bL, 0x29ae4768646097aeL, 0x1300dfa0613bc34bL,
  118931. 0x3712714c934bc2b0L, 0x865246290e2be7e2L, 0x554fbb9fed010800L,
  118932. 0xf0ec0b3842314576L, 0x65baf594330a3282L, 0x3bdde1a8706ef817L,
  118933. 0x7d2c727dba7530e9L, 0xbb0c5d6674cc95cbL, 0xb3fcd3652438906dL,
  118934. 0x19881941d14658f3L, 0xe616f5556c97f0e9L, 0x353c2d854b9ec7eaL,
  118935. 0x02a48014620cb56eL },
  118936. { 0x11d6d23d506ccd38L, 0x229a1c549059baa6L, 0x717c9c2769d011c5L,
  118937. 0xe87e1b46d828937dL, 0xf5d63bbb83835083L, 0xf0a7b427aadac258L,
  118938. 0x99ab26bd9f154d1fL, 0xdec0ffbf8ec955fdL, 0xee957c6749fcb880L,
  118939. 0x32395dee1e0114deL, 0x192a64b7369f46c7L, 0x4304466091eb2599L,
  118940. 0xbe2da887a2e8c3daL, 0xa44e2c25c3556d18L, 0x31390414b55f75f3L,
  118941. 0x1d8bde6f8f217fe0L },
  118942. { 0x03cd39f8a2028924L, 0x6e54f19cb06ecb9fL, 0x862bbcb7d6f05846L,
  118943. 0xdbe067165a060776L, 0x9397c97ab10fec10L, 0xf42138266f1bb65cL,
  118944. 0x414deccba672ba38L, 0x594d4d43f88b05e6L, 0x7993f57aac94d4d1L,
  118945. 0x74fc2a6abfb17638L, 0xd8196b5bb6fc655aL, 0xdc375c84ee8d2139L,
  118946. 0xb9b00a02360d3a26L, 0xb36ed35cdeb93b87L, 0xf565b28bcc83209eL,
  118947. 0x349c6943c61013c1L },
  118948. { 0xd1b394444de6c88aL, 0xd5c2c4714700207eL, 0xb6f458a221c2b780L,
  118949. 0x749f75640850993eL, 0x400ba579baef0c18L, 0x2d742938737c70f0L,
  118950. 0xc5a8e2ec21467ebfL, 0x243a666e5337f453L, 0xc991f1c7ed0bd50aL,
  118951. 0x3a7f3e90f4bd1f91L, 0x96089e8a5f0e129bL, 0xd0d3a17707389635L,
  118952. 0x9cf842d527182ac9L, 0x211952990817c5c2L, 0xa32f327e87255769L,
  118953. 0x056587ab89c2d8faL },
  118954. { 0x008562ed1ce4733dL, 0x5faff7cb98e51444L, 0x5f03021fa9ab46b9L,
  118955. 0x89494c5eb61a8c13L, 0x57c9503636b35976L, 0x6be84c8f2ac2d2f6L,
  118956. 0x0e5b34d89bd2703eL, 0xc4ad918f7e872abbL, 0xc2a89e9fc4052ee1L,
  118957. 0xc2caee3f3190b51eL, 0x58fd14376fff254fL, 0x6f3c0d68883e0972L,
  118958. 0x63d0a0e90fb15438L, 0xc438764bf6caae00L, 0x815f15653f1d0f6cL,
  118959. 0x1b87f2edb86cdbdeL },
  118960. { 0x35792bbb2b0b15b1L, 0xa3e4b5a7ce6ba779L, 0xfbacffd9dd8f3779L,
  118961. 0x005450bdc298d1efL, 0x0e3f5556c47031c6L, 0x0770f07a95d68066L,
  118962. 0xce3e84e02d1052c2L, 0xb050791e7aa8cc54L, 0x4d621e73ba3223a3L,
  118963. 0x87b9b94d39632990L, 0x8df9cb477eb8056dL, 0xe2430de8edfca0ccL,
  118964. 0x374bf4169712a0caL, 0xbe3f3c7788848a99L, 0xb22b87b1c4a3e59eL,
  118965. 0x8e0227c43e95bc23L },
  118966. { 0x000e22a83210964dL, 0xdccd5df5ff056eebL, 0x02173a1fdaf1ead7L,
  118967. 0xd02833e067cdcae3L, 0x1cc574cb8bdcc90cL, 0x86eca7143224b4f5L,
  118968. 0xd00e603abb3f8298L, 0xb98ece1b0c1a8debL, 0x228a46e4378c261dL,
  118969. 0xc6f9dd0da6165e5dL, 0xb3ae38994b7ef0e2L, 0x3a3c16b3bda9f306L,
  118970. 0x5e9a26d338a084dbL, 0x528e59935394e950L, 0x848ecb114ea206bcL,
  118971. 0x14b15ab540545d6eL },
  118972. { 0x0f6d86c9664c59a2L, 0x3dfe2be160fd7aa5L, 0x33f9b5699072cb8eL,
  118973. 0x5f2325d98176a7e0L, 0x79a0d4e74587080bL, 0xa4ee0def0d5d4e05L,
  118974. 0xc0ad9ffac87b28e1L, 0xd6f18d2f3f09b4eeL, 0xcc896ae7292e9d87L,
  118975. 0xca88953d6094763cL, 0xdbee97a818fbf9faL, 0xdf20e0e94b63d701L,
  118976. 0xcbba6e3047ea722fL, 0xce57e1ca612b571fL, 0x1e16ac76009a55f5L,
  118977. 0x742bbed8c4389e2eL },
  118978. { 0x23ea86dcc1dc2c73L, 0x4bbbfd5bc1643abfL, 0x07f8fa1f24d8ca1fL,
  118979. 0xde68a6e08cb5cac7L, 0x7d54c64b54e66a7dL, 0x789dba22a9b7ad78L,
  118980. 0x4d88d540e364ab94L, 0xc8c2e02d1f72e011L, 0x4c82605746e2a278L,
  118981. 0xe6c35bb34b187c7dL, 0xed8b3dfeeb8fe0c9L, 0xb6bc34e87d11e415L,
  118982. 0xb3908bbfb865c7f9L, 0x717d1ce6e1ecc17cL, 0x151e3308f7cdd69bL,
  118983. 0x97bd5a14b5c94124L },
  118984. { 0xe01c62fe81e82861L, 0x703d4b6ddd42c40eL, 0x7e52e55be65e91e5L,
  118985. 0xb8b493745abbbfddL, 0xb4f15f52c72a45f4L, 0xce8435a8550f29d8L,
  118986. 0x9df76b9b582de75fL, 0x52e84c5fa20c8b96L, 0xaf77d2d10a8a0af4L,
  118987. 0x0389bbd8ca6013c3L, 0xb0d9b9ba26f8305fL, 0xf053e8480cec8b9aL,
  118988. 0x4d63367affabda18L, 0x50f53be4a6424c2aL, 0xf892c58c864fba2eL,
  118989. 0x317c6d3148cc5469L },
  118990. { 0x0c3525b02cb7d42bL, 0x55240bc9310facaeL, 0x8d5d2022ff20408fL,
  118991. 0x6b01402fe0c10ea0L, 0x7fbef68a718eb23dL, 0xa0146b5a41252a19L,
  118992. 0x59afce48110e0d6eL, 0xe9a1d27f022de181L, 0x6db96d16dc3f49daL,
  118993. 0xfc1ae3f5efbe4008L, 0xf9d70641eccbc11cL, 0x49022279525f8636L,
  118994. 0x3769796ac2763c30L, 0x9cc3483c1d90630bL, 0x451651f0ee3d3f17L,
  118995. 0x6ae597399da0b8fdL },
  118996. { 0x57b13bc7bff4d2eeL, 0x2075422930b173d8L, 0xb6254bd50794936cL,
  118997. 0x1d5f232a5efd55beL, 0xc06f4a854e0c3389L, 0xcf2c5b598e61f944L,
  118998. 0xc564861ffd5f87b7L, 0xee261fb15a2afa4cL, 0xb0ff72262d97a774L,
  118999. 0x1a89ae22d6cf007aL, 0x28880534d346f214L, 0x8fe73bff97b6497eL,
  119000. 0x8a8595b2fa2afffcL, 0x9ef9cf3ef151a726L, 0xa84ee5f1e744b82bL,
  119001. 0x6649048dbc63fe72L },
  119002. { 0x91b7bb781e8b760dL, 0xd47b0bd825aadaa0L, 0x81493d9ffab5226fL,
  119003. 0x4a6dd226bffc148eL, 0x5a032f8aa29be3dbL, 0x318dbc7034b0ab0bL,
  119004. 0xdcccbfb57d654868L, 0x8506ab379c581e46L, 0x09136a6e2830ece2L,
  119005. 0x48b79356cf6c80c7L, 0xfa176377ef6b1e86L, 0x2c9c1cc183f0f1c9L,
  119006. 0x96f0526d16abedddL, 0x3e0e98e2a93b0de4L, 0x6f2d7ada0f13873aL,
  119007. 0x4eb93b5cf3fa49ecL },
  119008. { 0xbd89f7e5e11fae32L, 0xd13d74f5c4023f51L, 0x1b0014df491c3f6fL,
  119009. 0x1d849a57555279b7L, 0xbb9e889705ba0068L, 0x82222419c13ca2caL,
  119010. 0xafbbb685fd33676fL, 0x931c3f5275878a2aL, 0x12aeefefef3d5173L,
  119011. 0x189a5cc8bd8a6878L, 0x82cffdb3d99f0c16L, 0xbf565406a19d48b6L,
  119012. 0x5605e223e9c6c4e0L, 0x53e781de86804172L, 0xcdf5c90bc7001cc8L,
  119013. 0x2b582d937c043f68L },
  119014. { 0xa1165c8281abc2aeL, 0xa73380f5e2b69ecaL, 0xc097b3d207fff66fL,
  119015. 0x5d60382654776506L, 0xdcbac9f3b57fa21cL, 0x78750db4c98dbdd5L,
  119016. 0x85e21103d9eff32aL, 0xceed172c2f11c41cL, 0xa8e392649e348c09L,
  119017. 0x71cb936b831eddfbL, 0x915c3d06f50864a3L, 0xfe8e33cde93acfcdL,
  119018. 0x4bee10d7b3f2f7aaL, 0xc1d8eb48eb7cee9aL, 0x4fa49ce3fa574afdL,
  119019. 0x78615109862db4c0L },
  119020. { 0x3fe3f4807ae72c21L, 0x631aa144fd0f0da5L, 0xc76ee1e8f8c3a454L,
  119021. 0x379ae09451b4f1abL, 0x2a3a4397d7cdbb24L, 0x7a14cffe82bd5fcdL,
  119022. 0xbbe4ed12f427ef5aL, 0x9b0a43ee284d3ccfL, 0x57b78b938eec6e1eL,
  119023. 0x18d404e467b8e87bL, 0x0c8adc0534374c20L, 0x643736055428deb5L,
  119024. 0xb4d80ec0c3afa2cfL, 0x6d51f93c3aa956f9L, 0x9f9a28ab84161c68L,
  119025. 0x540b6bb76bc9c025L },
  119026. { 0x04e1734c321d315dL, 0x4ef56612d86e05d0L, 0xeafae145bba8cd81L,
  119027. 0x1fb07a49acdc789aL, 0x6a21e9ad5877570fL, 0x2e4a837eb9bc53deL,
  119028. 0x436db2931d6298ebL, 0x43afbc78ea362f45L, 0x2a973d97aabf6585L,
  119029. 0xdce7dabe0c924d60L, 0xf69d98f07cadf0e9L, 0xe0b505a175020538L,
  119030. 0x3db7d1a34461cd29L, 0xe1c287765e20e818L, 0x2ca2586752dd50f6L,
  119031. 0x897cab1492e0388cL },
  119032. { 0x59ed38130d8bab8aL, 0xc11d364ca438200aL, 0x0687bf2c40581415L,
  119033. 0x86ad0d3a7ac89674L, 0x44928105b97411a0L, 0x74984b11f383371cL,
  119034. 0x70d2ed840d1a831eL, 0xd883628b6c912fe0L, 0x44f8f7fb14fa88d2L,
  119035. 0x564f2a4dcf0ac93eL, 0x82f629aaa6c24fa6L, 0xab906ba3bf6cd949L,
  119036. 0x2c822e6720a5182dL, 0x2ff47dac30eb93a5L, 0xdc62c4a4fff673aaL,
  119037. 0x64b00763476b0ec5L },
  119038. { 0x1e3f533eb3c9a404L, 0xb1db7f73b7ef9952L, 0xc7f13e296c253693L,
  119039. 0x7ce7f4c40738eed4L, 0xccfd3b33ce26cad0L, 0xd878493501ec5cf1L,
  119040. 0x3f8fc09ddc084e01L, 0x217cab32c39b5acfL, 0x42daf0bb9ef5551cL,
  119041. 0xfbc76f56e1217a95L, 0x80178b12c237002aL, 0x0b52c39fb070a293L,
  119042. 0xe3925153576ca964L, 0x2555942419d68e36L, 0x291fb82c09e50e84L,
  119043. 0x7dd22ea66618ed8cL },
  119044. { 0x7ffe844b49cbb3bfL, 0xde0cc7045562fb25L, 0x1e6ee5379f5a845aL,
  119045. 0x956d7f26e51277fcL, 0x2c75d4b930635718L, 0x39a1489296957f34L,
  119046. 0x8cf4eb3282e5742bL, 0x6b0d3ddd83247b72L, 0x67a9f633201a4237L,
  119047. 0x416403c11414a485L, 0x60afd447b6f6a916L, 0x95f94930dac6f790L,
  119048. 0x685ff94bbd3b9d82L, 0x5c8f98fc51cadf0fL, 0x9559c88ab13b7489L,
  119049. 0x31377c665f18fcc8L },
  119050. { 0x35c5de097dcfb35fL, 0x2dccca9f01cc36f8L, 0x7e93e85d7576cb63L,
  119051. 0x0c2dd48af7b4b375L, 0x9d95cd4fb09a19b5L, 0x752ed15971bfe607L,
  119052. 0x439880cf2596dad2L, 0xe52efb5369e90a6fL, 0x4409766303d3e60aL,
  119053. 0xfcf364faa95070e0L, 0xd8f993b605624dd2L, 0xb35a982400d5e467L,
  119054. 0xe289d0240c8f4524L, 0xef45423c648a0179L, 0x3a5fd695587edabdL,
  119055. 0x3dacc50ca11e5271L },
  119056. { 0xcb3e4f946499ae4cL, 0xa46dcbe17053c527L, 0x807f5ce9be782e8aL,
  119057. 0xb6c64d28d8481e45L, 0xf35e4518aa286fd0L, 0xf7b7b9badf1cdb49L,
  119058. 0xf3fb6210aec23eafL, 0x0a9ba385b9bfd2fbL, 0xe51a0d538807f3a0L,
  119059. 0x7ab24404b17b2842L, 0x6fd57687f9dd9f0aL, 0xcd1efdb4f3e9df64L,
  119060. 0x5dd2df7a60df194dL, 0xbed3f2c3e069df05L, 0x469b756123248a31L,
  119061. 0x866949e1694744f7L },
  119062. { 0x3a9a0da53f4ab07aL, 0x2cd6f333f54a6fbfL, 0x0c92e921b23cf290L,
  119063. 0xc9581c3e848e3d58L, 0x93af1fbdd3b218abL, 0x38598ea1066cb4d7L,
  119064. 0x5001394e990c03a0L, 0x3b664b1e7d0877b5L, 0xd79db1bbd74c7091L,
  119065. 0x852d44354e2d5dd0L, 0x0d2b841b3329db82L, 0xfa844eb07b96d480L,
  119066. 0x37a50569c295dc46L, 0xc2d3837394f7ec4eL, 0xdc3884ff5b083177L,
  119067. 0x574352b88b1fa598L },
  119068. { 0xed2193f70d5d7ce9L, 0x3c19fd260b487eafL, 0x7c44ab597be65fd0L,
  119069. 0xdd9da86078270d56L, 0x8a84ec00baa70198L, 0x2ec27e49285985dfL,
  119070. 0x996ccaf0de2028d8L, 0x4e7648c761c2201dL, 0xa96335bc091c19ebL,
  119071. 0x253a3a69f0d6782bL, 0x3f204340d2946493L, 0x444521a1099f6873L,
  119072. 0x5fcbcc096996011aL, 0x3884d5d8f853a94eL, 0x2418c624d3b6a3a1L,
  119073. 0x3e431af206ae3c4fL },
  119074. { 0xf967d93983d381f1L, 0x36501aaed0c033c3L, 0xbf3af4d054410768L,
  119075. 0xa86d15985093a6d3L, 0x43ae0741d92f2900L, 0xfeb2afa636f0b755L,
  119076. 0xd090a6a3aa456d6fL, 0x336a4fdaaefdb646L, 0xfd1bfe441a942f7dL,
  119077. 0x7fc2a3ed851ee41eL, 0x4f1c968611e935c5L, 0xcd57766653bbb343L,
  119078. 0xf26931baad896c2aL, 0x8a0fbbd186bbfa41L, 0x1c3d7d82a203cef1L,
  119079. 0x6dad3f15e2664d35L },
  119080. { 0xd1940b7d12ec35a1L, 0x6219c5b6e7dfb128L, 0x2cc278c6f13321d5L,
  119081. 0x5e76904a33c58eb6L, 0x15090f55d9903c43L, 0x061bc926c3d96a19L,
  119082. 0x974a9f038c0acba7L, 0x7a4140217198b21bL, 0xb069599df8958c6fL,
  119083. 0x517f2f1dbebd0129L, 0x1109a613df3a8dc3L, 0x08e58448672375c5L,
  119084. 0x56590ba49383d2d3L, 0xfc3ee7c60bff837cL, 0xc87a539027d2d55fL,
  119085. 0x2438e9d45f517a3fL },
  119086. { 0xc4a453088815af3cL, 0xe55f1a32f3c9bed5L, 0xaef1cdc997b65ddfL,
  119087. 0x61c61d9412e51eb5L, 0xbd0dac54e63f2490L, 0x6f14429cd0b3e231L,
  119088. 0xf737c3c2f1da6010L, 0x7150e04b6bbc4fb1L, 0x205b4c891be281cbL,
  119089. 0xf1b4633cd7701f5bL, 0x8b33ef462a513490L, 0xddb47c7368f1f7f2L,
  119090. 0xf4ada511bd416b67L, 0x9d2a97cdff795bb3L, 0x00a8b7b296200e67L,
  119091. 0x13f39011afe30e01L },
  119092. { 0x3dd296ef7bd0c827L, 0x506110f34a29ff46L, 0xf87930681c9a515aL,
  119093. 0xde8d8045268bca77L, 0xcbb83024998045dfL, 0x3f90d71068c0e584L,
  119094. 0x2a838ca8263b6062L, 0x293bb5e7535c5d0bL, 0xceea99d556415110L,
  119095. 0xfe311ad01bbda005L, 0x2497e0bfa4d8d018L, 0x33dd77a01cf2b866L,
  119096. 0xbc075b73d8c4ba8bL, 0x298466d4722b7bc9L, 0x17a7ce24cbda1b0bL,
  119097. 0x458d4b6b680703b6L },
  119098. { 0x8a26a20e4d54d8b2L, 0x05a5696e4d320a0dL, 0x698b5858f994f700L,
  119099. 0x7a4adc3c2f6549a8L, 0x1812e8193694d00dL, 0x46b9b000730402bdL,
  119100. 0xe10a1449a1b36410L, 0xeae95ea599230220L, 0x3efc2e9b1b4820c3L,
  119101. 0xfe5b5cb585c9eb8aL, 0x21ae031997847064L, 0x68ef0b708f27d49fL,
  119102. 0x3259ef182f72556bL, 0x00ae0457624db01aL, 0x628e3b065668f95cL,
  119103. 0x5f13f5fab6fbbf91L },
  119104. { 0x7c6ed9ae3a9b0dc6L, 0xaea1bde96f883ec8L, 0xea66bf88ea8b3677L,
  119105. 0xdefa6abc9a66e3abL, 0xc4d3317b68217ffdL, 0xf741c8f2290df05cL,
  119106. 0x1f0fdf177d11674eL, 0xfdf0ece7c35989caL, 0x0eed92df6b9c482dL,
  119107. 0x73713e6655bf1ca7L, 0x90acb29025cec99cL, 0x37c9e3a2e803e69cL,
  119108. 0x7c0a3c5317713a1aL, 0x350dc5656f5a174dL, 0x11625a4405f802f6L,
  119109. 0x2196495da37ba4a2L },
  119110. { 0x00cb2fd313142680L, 0xab9e91d765d14cf4L, 0xc6a0ceabdfe2669eL,
  119111. 0xbeefce580ae22bc5L, 0x3c2b7986cb6ec250L, 0x84adb1a2d738f1ffL,
  119112. 0x9709bc28516ec8ecL, 0xf36931298e8f7db5L, 0xc48efc6b95b197f9L,
  119113. 0x9ff109529aaaa404L, 0x2c3c8cbd144154b0L, 0x33ef7bc3427f3435L,
  119114. 0x04a17940d21897c1L, 0x5aa0c47d6ce548a0L, 0x2971cea73d56fa62L,
  119115. 0x93ad0eb004475f08L },
  119116. { 0x7a0b6967988a9963L, 0x61e477f76515e8ddL, 0x6274e3863b6b50f2L,
  119117. 0x63a9b8d5d33922deL, 0x3c38d3fb687a5b3dL, 0x18f6f09c1302e323L,
  119118. 0x254c05c3e02fcccfL, 0xc04ed0b726e662f7L, 0x1d5646b8143fe079L,
  119119. 0xef8a9448c9016c8cL, 0xe5674c4bf823d797L, 0x0586f72fbccde451L,
  119120. 0xc5fc88d54417eadeL, 0x2b952209576e588dL, 0x4408dd425844d1f9L,
  119121. 0x73f8c3f0ea41c034L },
  119122. { 0x89534fc85df763ddL, 0x3b1427f33ac71836L, 0x0db5be176e8f15a0L,
  119123. 0x1d390944cb20888eL, 0x7804c9ad857caea6L, 0xaa584428519f7bf3L,
  119124. 0x626eecf1293aa8cfL, 0x749e0d98ea36a015L, 0xefff6dae3321edcdL,
  119125. 0x963deea628b791ccL, 0xa14e05522d16e361L, 0xa2e058fcb15ae206L,
  119126. 0x0f268745fca325e4L, 0x7cf9d40721341a8aL, 0xdfed25d97caa51b8L,
  119127. 0x0108ae39adbedd75L },
  119128. { 0x54d178f3a9e88f63L, 0xaa05b11eab0c7325L, 0x773a53e6e261d8a6L,
  119129. 0x24db7dae8d0b91c8L, 0xde10b073e9bb004dL, 0xfc8befe754e3090bL,
  119130. 0x16af05990cc69c89L, 0xddc838039d59511aL, 0xc3f65b9946c5dafcL,
  119131. 0xfbbe4be81ee0a599L, 0x88891e36fb3a9b17L, 0x0c9aad75445dad00L,
  119132. 0xdffc46abd5097e1fL, 0x8848089bac85a4e1L, 0x348bb42fa0c45233L,
  119133. 0x807c06d8eb13c1dfL },
  119134. { 0x00a969ec98ee0ef6L, 0xba9d54838bb7b7afL, 0x24484c92a02f8fdbL,
  119135. 0x7bdb201a8b70557cL, 0xe59343e460ad1af2L, 0x53a9a942998c95fbL,
  119136. 0x974db3deda861d3bL, 0xce1525c9ed399c0eL, 0x89b56881f72109bdL,
  119137. 0x08ff7d15998211a4L, 0x5df76b3aef0f275aL, 0x93f180f7fa2f358bL,
  119138. 0xaac4ffcfc39b0634L, 0x2692c62617583b53L, 0xb2fdfa36b55399fcL,
  119139. 0x16424c6c99607a61L },
  119140. { 0x5dd65c55dd2744a9L, 0x2544c1c2fe3af418L, 0x32c82e99efe8b089L,
  119141. 0x30b7ab25a9df691aL, 0x983845509be99674L, 0xbcecd258caf2d122L,
  119142. 0x88ae4098bcc77272L, 0xd43961414b8efa0cL, 0x44ff67b9ed64d12cL,
  119143. 0xa9e655e42e7f3404L, 0x3d16fc4545b0e9ebL, 0x474a3e14f03ded28L,
  119144. 0xa3c9adffacccb85cL, 0x3dfe6bc17253a51bL, 0xdddaf4b9fb5831b1L,
  119145. 0x5544e602a4f4478aL },
  119146. { 0x897c5313baa80b4fL, 0x0122716f63bdc8efL, 0xae2742db7b42c5a8L,
  119147. 0xe9d9e1e90883308cL, 0x352c8c3f2d341ab1L, 0x163d0500ed945870L,
  119148. 0x8349dd73c290d9d8L, 0x2053c5e01f6c7d29L, 0x83107446cb42033cL,
  119149. 0x76c88bd209d09af1L, 0xd0f70e6eb2794681L, 0x720b59de19b1b540L,
  119150. 0x80b7ecdc22994b43L, 0xc1a4cdce2dec53cfL, 0xdd7d3edd1ed60f42L,
  119151. 0x5735995ce241d261L },
  119152. { 0xdc4ba3fba0237056L, 0x6856c16433ab3388L, 0xc01eebbd271ec612L,
  119153. 0xabdeb033e3031becL, 0x4eee44196118a1f5L, 0xec4974215b600f33L,
  119154. 0x1b7185cf08868773L, 0x7b0c46cd7c1b7dfdL, 0xd143b2da4a4c5e89L,
  119155. 0xdb9a5984bb1ff94dL, 0xac3904e4c9cf3465L, 0xf8729bc0eace64c9L,
  119156. 0x5cc22821768ad99aL, 0xbbd3b0818a9540c2L, 0xe468ed5f049a6917L,
  119157. 0x885486df3ec45ef0L },
  119158. { 0x6a942c934bdff464L, 0x3db2719f25a7b451L, 0xccb0070b325be324L,
  119159. 0x2055a31b19fe3339L, 0xaca69ae8241ee8ffL, 0x7607dd0855ef8defL,
  119160. 0x9e24960f1a1b73c6L, 0xbcb0e8a271d36810L, 0x29e11aa26885e6b9L,
  119161. 0x98b5d0ab185eae19L, 0x1a0b96e40f81f91cL, 0x4d0e8bcf994fc503L,
  119162. 0x33d81697f119d6e0L, 0x29083287aaa4ce0cL, 0xc5dd4d3ec91ff9d7L,
  119163. 0x31cecfe8d4ab962dL },
  119164. { 0x437bfd9afc8b21e8L, 0xe5dd32b3b19436dfL, 0xfe5902d4921c36a0L,
  119165. 0x8e9de84da3d0fa90L, 0x9663e6ad5bb523bdL, 0x9800a23faecd6975L,
  119166. 0x1009c0d9b4fbb59cL, 0x839aa7bdc9d20ff1L, 0xf502f66decd6fa3dL,
  119167. 0x480ed4fbc5516ca9L, 0x65ffa5f66c742ac4L, 0x2b7c7945ff3252f8L,
  119168. 0x72fefc0575d9cb3dL, 0x11b0863bd6d6f1d2L, 0x5d8f3cf09a6a4ec3L,
  119169. 0x6961b46ada2547b3L },
  119170. { 0xd07b587ecb35e2acL, 0x1ed5546b57af14d9L, 0xeca17a5bdb28a04cL,
  119171. 0xa1f91d44709d54f0L, 0xa6e719fd9c6f400eL, 0x4e4b88edfb8ce190L,
  119172. 0xf9781edd246e3fd2L, 0xd67120e6b655af5dL, 0xda782d1d93413ca7L,
  119173. 0x697e20a29707fa21L, 0x1eb51f3254e84123L, 0x2e254d9e36051f9fL,
  119174. 0xddaec42b73ce5be9L, 0x89a9a32ecd3f794fL, 0x1964e22f0781aad9L,
  119175. 0x6a63a90c53755212L },
  119176. { 0x76554e003d7acbbbL, 0x2c01668ab74f6108L, 0xe4a29672388c519bL,
  119177. 0x016677143eb94d4fL, 0x086a3cdf0cd6d2f6L, 0xf86580217b370f7fL,
  119178. 0x658880c15a4d3e7cL, 0xd6ed58165ba3f4a1L, 0xabcc78135ca471ddL,
  119179. 0x809bf074e844a576L, 0xa53a81b36ea502eaL, 0xc20b93070e021ed3L,
  119180. 0x8c27f8928617f165L, 0xa54764468235cd0bL, 0xffc89ffd82552961L,
  119181. 0x51ed4a22d151d90eL },
  119182. { 0x37d6963a449701b4L, 0xea8d91a3bb27caf2L, 0x3ef9be15b572965fL,
  119183. 0x75a7a055db50bf7dL, 0xfd67480ece643b9bL, 0xf2a60d2d6ceb5d5eL,
  119184. 0x68fc320c5ed7c897L, 0x41c53cf628ce685fL, 0x0e29711f7106615eL,
  119185. 0x7a87213823500eccL, 0xaf0a92606c29fe48L, 0x93df3f2ae1ef9712L,
  119186. 0x0d5f6fb1d2d169bfL, 0xeb7afe2674a9793cL, 0x4173d94ae9f49256L,
  119187. 0x2d6951bc2b8b5ce5L },
  119188. { 0xdd007d9f904e222eL, 0x333f248f86f4e109L, 0xd4994e8b8f429eeeL,
  119189. 0x29573415cfc77518L, 0x6e7fea3a0b0f42f1L, 0xc795cb7dc2743519L,
  119190. 0x820a8f66711e71a0L, 0x83d95d9c2b874f55L, 0xd4b64d78e70e1627L,
  119191. 0x924353f58b92a742L, 0x322048b1447b5e6dL, 0x0bad730cbcf931a0L,
  119192. 0x75c4d089a7af2268L, 0x464904c1b83b93f9L, 0xa24eba02165b3aeeL,
  119193. 0x65c48e78e08cc5f0L },
  119194. { 0x1a1c73cede222c22L, 0x5683d8cdfcea23b4L, 0x0301cb14b2143b06L,
  119195. 0x284adf8f59fcec77L, 0xfb1c581c31204cefL, 0xf54d3eee94735107L,
  119196. 0xdbf67f0b4d3188c0L, 0x76a3f2d110f18d12L, 0x3809fa2807d3e013L,
  119197. 0xf06f0a4625e7ece0L, 0xd82867edb2895d2eL, 0xe106f48908b0553aL,
  119198. 0xe2280fa6ef245445L, 0x402d5785a8d9a3cbL, 0xf63dd9ffd438ba2dL,
  119199. 0x36b5cd2c7a6b226fL },
  119200. { 0x87ff4e20545679a7L, 0x64d80b414520c750L, 0x90a357fa9b459cd8L,
  119201. 0xa19eaf39c85af1a3L, 0x0d475d798d935a5eL, 0x74501983781a678aL,
  119202. 0x748397790cc2e810L, 0xc6a21d112f412244L, 0x8d0e85f936a51a37L,
  119203. 0xff50151eeaa74df8L, 0x14e182a793cf99c4L, 0x45593df1376a9ab6L,
  119204. 0x18f73caf522389ffL, 0xd27cc960f7445e8aL, 0x0692f4c539a51dc8L,
  119205. 0x08d7c144db39bfd8L },
  119206. { 0x809c0d963ecca773L, 0x87ea9192d48c2156L, 0xf0eccd74db6bd641L,
  119207. 0x773123742a678cdfL, 0x7a966d8bd1587b7eL, 0xf3c1a1016130a4c6L,
  119208. 0x7cc6e8385fce17bdL, 0x95e95bb8a8de7aa4L, 0x3fe1e8b5898308e3L,
  119209. 0x0197243ee347694aL, 0xf3fe9c42bb0cd2bfL, 0xb59052640f9b2b49L,
  119210. 0x4c385e8bc7367d1fL, 0x1d3050aeb5ee147bL, 0x8e2c387904004ad9L,
  119211. 0x5f2aa8eebab70202L },
  119212. { 0xe208d4641266524bL, 0xb7bf3880d0a19f66L, 0xa5aa685eda106ebfL,
  119213. 0x0a69e8d3e642dd46L, 0xef349c61c682e4d6L, 0x26f6ee3b0fcb534cL,
  119214. 0x7daba12705eb67b8L, 0x2babb27e18be05f6L, 0x959afcba8e2d85d1L,
  119215. 0xedcf2d1ae2d9d386L, 0x59dc52e61ea6f06eL, 0xc28278b4866e5ae8L,
  119216. 0xd9ff034002bcd3c7L, 0xe884ac76784be82fL, 0xa316498083c9f224L,
  119217. 0x62501a98b46ff949L },
  119218. { 0x563f7d9aad264086L, 0xca6a33dba5e0e4bdL, 0xe82530028c8d3d67L,
  119219. 0xa288dac846e64b19L, 0xfa3c919720aa4536L, 0x8130c9b0ed553eacL,
  119220. 0x622806e02ea8abd3L, 0x52fbf54dceccfe77L, 0xbd9a8e314f0d1b70L,
  119221. 0x519d2133d59b1741L, 0xfd74101c9a6fea8aL, 0xd1acf7a0b5c4eb10L,
  119222. 0x78499b7391f9da5eL, 0xabaa4c49c0dea586L, 0xcc9c5f73a1f3531aL,
  119223. 0x497b15fefd3fc665L },
  119224. { 0x8a56cbaaf45568e9L, 0xf491a0fec7192a6fL, 0xdbb03dd39ab2539aL,
  119225. 0xc86522f84ac37da9L, 0x8c8cdba202a0f5b4L, 0x8109fc75a29c539fL,
  119226. 0x9cd06d31ca90f02eL, 0x8f31f0443e216dbfL, 0x99aa68acba3ebd91L,
  119227. 0x2a80d0d242c007f4L, 0xdd8dffbf86a9b7ceL, 0x405d3e84d6308edcL,
  119228. 0xdafa33fe068012caL, 0xc2eebd13edea1071L, 0xb7ae7e5c2ff637e6L,
  119229. 0x18d46a6c9e514cb7L },
  119230. { 0x868cbb22a78b7802L, 0x0745ddb2497cbaf4L, 0xc4eb2f3e42ae8addL,
  119231. 0xac0abcdab4ceb4e4L, 0x2e0d8325a325fd40L, 0x6cfe057113ac7345L,
  119232. 0x7407a788b14171b9L, 0x70eb06036da7a52bL, 0xab0b36f9d85176acL,
  119233. 0x14109d297c2954f3L, 0x370de9c8dcd705adL, 0x3f0db5cd7bb5e751L,
  119234. 0x45f93d41a06e708cL, 0x10d54f8a7e93050dL, 0x69e6f8e45a38fef9L,
  119235. 0x55044601d3f62e40L },
  119236. { 0xd1c5c91006cb9cc9L, 0x542074d741d00014L, 0x7cd8663e11236fb8L,
  119237. 0x39721ffe29ad5f82L, 0x1d21fbfa2951fc83L, 0x1cde06e7400d144fL,
  119238. 0x9042596b91792e6bL, 0x3365c8e529ad5166L, 0xe2220e859aeefe98L,
  119239. 0xbcb5318970c2aee3L, 0x477ca3db9ff100bcL, 0x27074176f532973fL,
  119240. 0xa12118ac9a2bd01bL, 0xf34252093dd79f93L, 0x563a8ff7c6f5d7dbL,
  119241. 0x0da313fcd7b0ec4fL },
  119242. { 0x37125a8c15aa2557L, 0xca21d70c00893e9cL, 0x4871399467b8a823L,
  119243. 0x0d3e9a747cb0042aL, 0x2d2bf4ffc9e2ce18L, 0xd5531a0d049aeac2L,
  119244. 0x4d29a616f03d0660L, 0x473d50d61f1b7f00L, 0x3af0ecbbca3de50cL,
  119245. 0xe2959bea09c28f27L, 0x6d7c2ea0f8704664L, 0xadfae4e1731083efL,
  119246. 0x50940c26941c2554L, 0x44167410a1162d03L, 0x620230d81e82290eL,
  119247. 0x63630be8db414accL },
  119248. { 0xbf8d52228a7d2e41L, 0x49e75823eb62f879L, 0x1b4d33dd6c402d89L,
  119249. 0x883e04d6de2c59adL, 0xbf3f38f449b9dc38L, 0x9d997d18b4b70c4cL,
  119250. 0x1f69b20c13cea045L, 0xca3d702558e2606dL, 0x3d4fd977261d1b79L,
  119251. 0x56aeafa85a1436faL, 0x369b3e98bb443c07L, 0xfce5186ce558f6beL,
  119252. 0xeb0cd478f8ac8f89L, 0x68074f37d5e5aa72L, 0x295845c068544eb0L,
  119253. 0x306a9871f16688edL },
  119254. { 0xbc451e9d634ec136L, 0x1edf27ca0e6f658fL, 0xa9be0152c0db4120L,
  119255. 0x87b6ef20c5bfee67L, 0x352832389a2d6023L, 0x60e564d8c7afb899L,
  119256. 0x4af22bc00ac9c2deL, 0x28e6f63182a9d22bL, 0xc075c701f532701bL,
  119257. 0xf6d418f882075f91L, 0xf9fa628d1beaa511L, 0x551e7a176e72a13dL,
  119258. 0x9306215b77f4c01cL, 0x71aba73193c9d588L, 0x6443ebe058e57cd4L,
  119259. 0x2833ac41e8103e37L },
  119260. { 0x7e564b868da5ec5cL, 0xac3d9da81c08db24L, 0x9d7c1f0b8c57a728L,
  119261. 0x3512afe79d343dc2L, 0xb438e4cffdc60339L, 0x7d5a2700dcfa1941L,
  119262. 0xd5f323f827320449L, 0x1b87a58e1393c6e6L, 0xecb68bd104baa431L,
  119263. 0xc09c1c5a4722b4d7L, 0xf42faa97206b5faaL, 0xe1dcbcd69976327eL,
  119264. 0x655ba9e4087787d9L, 0xbd59c757de5c0191L, 0x673020ed0bcf3538L,
  119265. 0x120cd454a49d6303L },
  119266. { 0xebfdb8f4cab0f9eeL, 0xbc003ef02cce58eeL, 0x9b6a68415a8d0665L,
  119267. 0x642ed3a69b957774L, 0x3de487f04721ab5cL, 0xef2ff38021a4f0d3L,
  119268. 0xbd16f55829dbddcdL, 0x2ef05b4b0e93dff2L, 0xde1faa120bc9aec1L,
  119269. 0x66dae2c2d467fa92L, 0x758daf645eb33e34L, 0xa67ad9f68f0103cbL,
  119270. 0x151f693a9be02430L, 0xd5698496eb4054bcL, 0x8ef1677e7019336eL,
  119271. 0x021cfd167fdeea3eL },
  119272. { 0x5c73715fdf5c36f3L, 0x703bde37d64ad254L, 0x55368d10f2cf7713L,
  119273. 0x1e5ec7b70f3993c8L, 0xfdb16776304ae4caL, 0x0d8f717e3d3bb18bL,
  119274. 0x5267073f66343d5aL, 0xfaeb52ef156008b5L, 0xb97ad5f9224a470fL,
  119275. 0xaf86e391ed2ab51aL, 0xdc0c7e579974302cL, 0xc88fa817fd0ae28aL,
  119276. 0x807c22dfbf8ed59cL, 0x5dedc231eb128bb6L, 0x71edcd9ca20595a3L,
  119277. 0x07265b46c73cf78eL },
  119278. { 0x73dd99f0bd66232fL, 0xc59aaf89c4027716L, 0xaf826dfa5b860fc4L,
  119279. 0x239ea8aa7a943f3bL, 0x0e0e1b1a523c428dL, 0x55ea0e3a6973b95aL,
  119280. 0xea399caa2557753bL, 0xf8adf72f06957b1fL, 0x0389f3413bd34302L,
  119281. 0x333f27d0f8a43a97L, 0xcd9c0c08adaf796fL, 0x6dcca49b49c12aa2L,
  119282. 0xdd88deee7a0ac6e9L, 0x8f47575d0644080eL, 0x6e9d667d0cc2f4bdL,
  119283. 0x36c5754b31d1496cL },
  119284. { 0x9120046ef323d84bL, 0xa69911227e789c4fL, 0x4b0eaf4e921b8055L,
  119285. 0x6339844a8079974eL, 0xc905466a740f8c79L, 0x1c18d0f7cd6def49L,
  119286. 0x5297da6b4b23e4baL, 0x1c09dff3c41800c5L, 0x6c49075b37ef6777L,
  119287. 0xa94c3a4050513dedL, 0x3d6742e96b0b1705L, 0xc0784494c48af5aeL,
  119288. 0x40c01532c95822deL, 0xa2ddade5c164d94fL, 0xfc8a8ac9a2975eb5L,
  119289. 0x06fbf8611946944eL },
  119290. { 0x2d65338e3f45aa97L, 0xd83b58c81d040febL, 0x05fef59b0fdef8b9L,
  119291. 0x7beb071ae4d7417cL, 0x982b61f5b30a1a23L, 0x4c5f2a2afb65bd03L,
  119292. 0xe40abc9d5cbf6bf3L, 0x422c326df06612a5L, 0xc921e69d9571ae28L,
  119293. 0x7c88b10b23d3434eL, 0x96d2e9579da07933L, 0x833d46a13619cf4dL,
  119294. 0xd9d19653d95eefa1L, 0x2a7d8411a03e8f0eL, 0x5e64295304bb5ab1L,
  119295. 0x5e9ca0fd1f0fa9eaL },
  119296. { 0x5bd54571197c5dc4L, 0xe2da40bfe78a95a2L, 0x65fb9efcffdb0eb2L,
  119297. 0xe952dc2c0d17467cL, 0xc1fc9c7bc758c6a3L, 0xfc79562cd4034a9aL,
  119298. 0x26e36fbe61f64b56L, 0x6adc4b9e1e84728bL, 0x7f165fd3a8f9ac8aL,
  119299. 0x7bc93a4503e3e013L, 0xeacc5513656478e3L, 0xd3391717064ddc77L,
  119300. 0x75b318dc76936914L, 0x69b1f1c7362424a6L, 0x8cc2045b49955f34L,
  119301. 0x940622b3c6836af8L },
  119302. { 0x4710ccb70d997973L, 0x3b29625dd3f8f115L, 0x8cf0c4d55b97abd5L,
  119303. 0xc6321e0a673e14a5L, 0x0541af9d3d262246L, 0xde6d87546fc83b11L,
  119304. 0x47e97da8f01652a4L, 0x0f82b3a6ad9802b6L, 0x69aa4075ae9c44b2L,
  119305. 0xaf3f5de2ced2bf77L, 0x1ef1ea8a497a40daL, 0x2e0f86083c23ba9cL,
  119306. 0xd8a998a4f190a2c8L, 0xe2b49c8ccfde3368L, 0xb9f49824bde6bd71L,
  119307. 0x80bb1664785bedb6L },
  119308. { 0x05e575fefd145cb5L, 0x155ee561ac5e6883L, 0x461e70cf8793b273L,
  119309. 0x9f1553de133b2338L, 0x2fb9e0c3a2a7ba07L, 0xc3bfd6a83e7086faL,
  119310. 0xb6ba85008bb4cb93L, 0x0b66d78976f82dbdL, 0x7d5a6ff654eb49ffL,
  119311. 0xcd65d2371f20b322L, 0x79ea49c254e29cdcL, 0x64975963cb118ff9L,
  119312. 0x969598ddcc58000bL, 0x95107918110c779cL, 0xedfc154863b85a35L,
  119313. 0x077ba5ea41212350L },
  119314. { 0x0b3a38d3cdd86f61L, 0x431214450502a0abL, 0x1912edc5806d0272L,
  119315. 0x01dc1f988a32f10fL, 0xbb1d31d10e80c760L, 0xd46ec7e5f464e8b3L,
  119316. 0xd569af369abf49eeL, 0x9d286ea72cdade77L, 0x2be7020d45ad5920L,
  119317. 0xabe5236e6299ae7fL, 0xc93179bdd3f55c07L, 0x8138995a52350e80L,
  119318. 0x0901265caff07586L, 0x5b3c81b2f4739653L, 0xbaf7581d9bc77d21L,
  119319. 0x6b2006df4591a2e2L },
  119320. { 0xb2fe50a8965b1bc1L, 0x931f536a962bb4fdL, 0xd5718d33000e7f99L,
  119321. 0x84728f2553d5125eL, 0x4f8a6184d2125cafL, 0x54f1a701357f679eL,
  119322. 0x70a9f40c1531c05aL, 0x10d0cb976fa8b775L, 0xb476f41e9dc12ce9L,
  119323. 0x5c8d7a752755f894L, 0xd6c12e10625741a4L, 0x262a6fb8c917b16cL,
  119324. 0x24d116e638d6b0a0L, 0x849540c032c38e83L, 0x855b911c66868afcL,
  119325. 0x53217ea6bd26b550L },
  119326. { 0xfc840473259f52b4L, 0x968da9cbe621146cL, 0x964eb85ecacbd26eL,
  119327. 0xab7daa2de4a54344L, 0x6dc3b848381a4ff7L, 0xa07a96b341c815efL,
  119328. 0xc4fae9e8c3d4b1e1L, 0x0f938d1e42ce9ea8L, 0xa727dacc35cc052fL,
  119329. 0xc81e01c9e9a06f07L, 0xa9e08dcb4a6d65a1L, 0xf8e2d1736044a9a6L,
  119330. 0x99893dd0f2bd295bL, 0xa08d3379f9781b12L, 0x64bd600161830ac2L,
  119331. 0x0386931ed9adbeefL },
  119332. { 0xd0d7abb3d09885a5L, 0xed9d2b67e355bb07L, 0x3bc238cf536ebaedL,
  119333. 0x61ca2e78699ce4d6L, 0x354ff447111594cdL, 0x55cbe70903316ad2L,
  119334. 0x418679fd49fff5c4L, 0x75bacd750f9c6c40L, 0x677edc882972721aL,
  119335. 0x82596887e5ef502fL, 0x459e9367bf320e0eL, 0x81ce36ef8bbdccb2L,
  119336. 0x1ba097fcb766863dL, 0xcd3a21d6d58c6db8L, 0x0e4967cdb4a8748bL,
  119337. 0x2caaf74915041c20L },
  119338. { 0x44f980066ed20424L, 0xb3e4ea2322471545L, 0x268ed1a5781a8c86L,
  119339. 0x48d0ab757ae5b70bL, 0x6ca8b320356d3982L, 0x9ce8e6812df31fa4L,
  119340. 0xb909d232d925dcf2L, 0x302c8f78f56723deL, 0x11725d69abac96f9L,
  119341. 0x656a47ca57d1a170L, 0x6bb5d511c18a2be7L, 0xb56e45f1ad50d9d9L,
  119342. 0x36e886e270b05518L, 0xc7c71f3d09d8ff91L, 0x65a1bbe29350361eL,
  119343. 0x86d7f53245fe3bd8L },
  119344. { 0x99f16eb6b0bf719aL, 0xb69750988bc3d913L, 0xfae50e5226cd01b4L,
  119345. 0xd3e3ac5490898d1cL, 0x4da3b9db887ec666L, 0x58300644fbea45b8L,
  119346. 0x369f3bd98355b058L, 0x0fb239a8579bcc13L, 0x4f5b45396e2bd811L,
  119347. 0x007f3baf24198fd2L, 0x68a676db8837d51dL, 0x68eeea62eae75b16L,
  119348. 0x5ffe5f943db6083cL, 0x52c94d0f7d836c5aL, 0x5a4c3c6fcbc1ff85L,
  119349. 0x682a55e386c0b4ddL },
  119350. { 0xc8f235a4587495aaL, 0x2276026c34c7245dL, 0xd6ae0cc5b75a46e3L,
  119351. 0x890d3965ecc3e5e7L, 0x1b13342f14296629L, 0xc89927e68a877227L,
  119352. 0x1543f27e2324a68bL, 0x6c44768449cdc21aL, 0x9bc7fd4f1452d0acL,
  119353. 0x2cc30a31ff4b045cL, 0x415d46a0852f7611L, 0xad737052c6fdd7a6L,
  119354. 0xdcecc3ab7b4c7c91L, 0xd2cdf01b7688d70cL, 0x054f2542e40d3905L,
  119355. 0x02227fa6fefe4dcdL },
  119356. { 0x1805efd9b751948bL, 0x8efeed46fdfd225dL, 0xcb128e094f2c8b22L,
  119357. 0x9d1090bf96f7c5e5L, 0x0959d044b4cbeca0L, 0x21c955f98e08cb04L,
  119358. 0xbc1f279d68fa4fceL, 0xb021e14e0710ae9aL, 0x64d16e9f881167f4L,
  119359. 0xf5a5c22ebbc9f1a5L, 0x5f3716dfe3420eeaL, 0x971eb915d5c4e843L,
  119360. 0x64fc55fc28ffba81L, 0x3427e54d7dd37578L, 0x446e6a6215ebc7d0L,
  119361. 0x547e249a29269778L },
  119362. { 0x4706868aa1ffda27L, 0xb4e6cdcc7955cf50L, 0xf65151e10a63f3d8L,
  119363. 0x5b4127ea9de5e70aL, 0x3d2c09baf9342823L, 0x18c99d83aa2f7d51L,
  119364. 0xa0c5bb1dddeec025L, 0x7ffddf8403dcf1ceL, 0xe57e4d29616fdedaL,
  119365. 0xd24565697932a1f0L, 0x7475e0e83191d4e3L, 0x3479bea1c220218bL,
  119366. 0xfceb5c908bcb2505L, 0x1c685cea3c6132e6L, 0xc42dc745bfe6c1ebL,
  119367. 0x45a41cc0d2b08eeaL },
  119368. { 0x3ea9b2c74dbbf0e1L, 0x41ff962fa17cf70eL, 0xdc1ea7585eeb4c66L,
  119369. 0x4f5412d2a9beb17eL, 0x2c9e4f52a285741aL, 0x93df7da4984fd11fL,
  119370. 0xb2afbddc0df3184eL, 0x96323d252421e375L, 0xc87be1e449df781eL,
  119371. 0x145601ed3d589beaL, 0x0f0bd9bd28fff6ddL, 0x2d3259d48a0f298cL,
  119372. 0x362d7a77d88e6944L, 0xa84c06b6b6ac2af6L, 0xba850ac9d087da02L,
  119373. 0x128763c942ee40c8L },
  119374. { 0x29a80f07acbac178L, 0x7cc2004434b08f6eL, 0xe9631d1470feded2L,
  119375. 0xb2115da386615767L, 0x7c75f5c4cb088548L, 0x5b29d2139a2e8e03L,
  119376. 0xfe9fda668b881752L, 0x3f1d8d88c1de7ebcL, 0xb476565e03218123L,
  119377. 0x07365561b1c995f3L, 0x2160cb18b13eb71bL, 0x7e8da51399b3a0ebL,
  119378. 0x5e8ca1f9b20fcd74L, 0x6a7e0067b4126d72L, 0x1e8204b768bb637fL,
  119379. 0x75e96bccfc4f74d2L },
  119380. { 0x189d1fdc0d19716eL, 0xdf5850587c384525L, 0x64a846d1ea987d2aL,
  119381. 0x12b6bf836c07150fL, 0x91d85d464d6fd5b7L, 0xa97888364f53f55fL,
  119382. 0x60083bd881509129L, 0xa7672683ea876f48L, 0xe80b2e7ac15b2489L,
  119383. 0x985ef8d242d1d992L, 0x9c57b029cf3de492L, 0xfe02f83cb1487627L,
  119384. 0xaeba4fe48ae5b687L, 0x8a86f09b5d6b8196L, 0xd88f566ba16e523dL,
  119385. 0x309a6e9aba268949L },
  119386. { 0xef27ee50bdfbe97aL, 0x1a5fe70fb8c50c4dL, 0xcc7beb017fe09f5cL,
  119387. 0x8fa15a85bed36cc5L, 0xc0c3acdb7550ed3aL, 0xc581ef87eb908681L,
  119388. 0xa15b3362c49d5ccbL, 0x0fbb17141fa264e8L, 0x267f8d8f8e1eee88L,
  119389. 0xd31ccfd621c2b63dL, 0x924dbe7d53be7efdL, 0xd42e877fdb2a358aL,
  119390. 0xcf9673c775d68ac1L, 0xe35978fd714fea55L, 0xeeb366535769b202L,
  119391. 0x0458258ad7593789L },
  119392. { 0x5df71a74a042dbdfL, 0x2d4058575779dfa2L, 0x0e66cba70d2e6657L,
  119393. 0x285d6745ca2e892eL, 0xf56a8def0f0e6b5fL, 0xe0ee851da30767c3L,
  119394. 0x98c0565843346b9cL, 0xb35fce26d6b3c742L, 0xc0895bff39777e00L,
  119395. 0x83c8f6a6e7b6d886L, 0xbee148434f02904bL, 0x7f74915b2e84ec34L,
  119396. 0xbaaf663c96d10991L, 0x004b8757e41facc0L, 0xa2b880e56f86c029L,
  119397. 0x53f4a3e095b77358L },
  119398. { 0x11bb08ce89fc48e7L, 0xba60c577afab5aebL, 0xf06bcbf8a0c1cb5aL,
  119399. 0x7d2efaea79757cb6L, 0xe26d90b176319160L, 0x42aa1ab62b77b7a9L,
  119400. 0x38eec0cd285df2bfL, 0xd35947f5f3a8f7f0L, 0x97c8dc0efc1cb5b5L,
  119401. 0xfeb8cca0c45845cfL, 0x16e8d989249e26f2L, 0x7c264e6d483ed89aL,
  119402. 0x13a3f14551d91073L, 0x8501562e305e99f0L, 0xaaf98d746908d563L,
  119403. 0x0a99e653d723d236L },
  119404. { 0x23536f46abbc0559L, 0xc163067b9aa1a160L, 0x229fd2290c1681b5L,
  119405. 0x61254be11378e907L, 0xc60ff57aab793a2dL, 0xa6f2df8b466552dbL,
  119406. 0x9ad318938c170a36L, 0xc5cd9abe29b74d9aL, 0xcf747273f7848523L,
  119407. 0xc126a93a0d0e3063L, 0xfe2021e34248e3d8L, 0xd97343ee8323ddfaL,
  119408. 0x9f768775332639e7L, 0x9650fc3175325548L, 0xb595dbd13eebf7eaL,
  119409. 0x3a95cb45010fcbc0L },
  119410. { 0x954e68cb39d7ff2eL, 0x8dd1cb4bc1d5c48fL, 0x02a92c777169438aL,
  119411. 0x7965c0b091cad8ceL, 0x0c5798ab32cd08d2L, 0x1a5bc3c3a6902bdaL,
  119412. 0x545d09255186d218L, 0xf0077cdbd27e64dbL, 0x0157caa48cd092daL,
  119413. 0x2a2fa3a024532ab3L, 0xa5fb639b41ccaba3L, 0x01702dc14744aee6L,
  119414. 0x485bb436cdba93daL, 0x93597f66329784f1L, 0x5d713c1ddad672c3L,
  119415. 0x366d222e030b7245L },
  119416. { 0xd50b4875573ea5b2L, 0x0fce401ba90da44dL, 0x7b53fa657a1a0310L,
  119417. 0x722a80a5cf114460L, 0x0b8ebf05a538bf49L, 0xae141147d32acd21L,
  119418. 0x6692712c7b5ad07dL, 0x6dc5fee73f48ca07L, 0x98ed14992b8a78d8L,
  119419. 0x4e8b3145dd2f1759L, 0x43408de15f971b8eL, 0x055ea6ddadf1b368L,
  119420. 0x4bb76e73e5932b7eL, 0x44287153d30893fdL, 0x173dccd20661bfdaL,
  119421. 0x9072ba9979defd25L },
  119422. { 0x474de4dd9620ea39L, 0xfbf1649fc831cee8L, 0x0b0e8bb1cd3a9c43L,
  119423. 0x6a38286f3f3df1d5L, 0x4ed072b38f0ec9b3L, 0xa6e4c987729c09e3L,
  119424. 0xea3e8ac68ad12242L, 0x6ae0e22bfbdfa5baL, 0x56171ecfb0a0f592L,
  119425. 0x33b2886d6b871f8dL, 0x6b19bea935e11bdaL, 0x4d815a407f0f153fL,
  119426. 0x7e608d977d6c02eeL, 0x7e8f23d9b6a88f46L, 0x26ac9652439d1654L,
  119427. 0x8d92c6bd35546c29L },
  119428. { 0xb3e0d7ceabeb0ff7L, 0xfbe352543e0e42f8L, 0x57d1b226de808499L,
  119429. 0x9ece2e1f1cd44bc3L, 0x1245adbc435cfee1L, 0x874ee840f93f581cL,
  119430. 0x916a779cbda0b947L, 0xabcc815afa57ae0aL, 0x97adec2df0a621b0L,
  119431. 0xbe6a502b81f90bdcL, 0x54bf9de153bde63dL, 0xa88fdabf78884c25L,
  119432. 0x30aa52b1cbbb5470L, 0xf805396c29053ef5L, 0x8d43d8988dd827eaL,
  119433. 0x4e4bec175c1ae5c0L },
  119434. { 0xbf8483a2fcc09676L, 0x457c4a3f19ea9a94L, 0xa6852ef3d702a5ddL,
  119435. 0xe7915fd2843fe7d8L, 0x644bba9816e35158L, 0x8d1b95d09ed746f0L,
  119436. 0x47704581b90af0b5L, 0x0bd4bc6bd4fd135eL, 0xa6dce067b4e833a5L,
  119437. 0x2c0e8f30ff56a9a1L, 0xa9c80800ec2c63feL, 0x449c20a598f508a8L,
  119438. 0x02b94cb33292813aL, 0x647e3d28ec7e81a2L, 0x72e67d1ab4877677L,
  119439. 0x7a4aa3f56f9ded24L },
  119440. { 0x559ef1bae27a0045L, 0xdc812d4fb242cb50L, 0x23a478e439cf8d24L,
  119441. 0x97544fc59b3f9c54L, 0x5ac68132affa1fcfL, 0x74f8fee034a2c83bL,
  119442. 0x96cc640fcd3f4bb7L, 0x775dce9db0512ea6L, 0x67dca19dcdce381eL,
  119443. 0xc1eeb3f3a9d3fe55L, 0x38e0bf421a19274fL, 0x15992fb428d69b12L,
  119444. 0x48fcebde9fd09df8L, 0xdc9dfa4fb41ab5dfL, 0x0cbd7dc8c0a269c5L,
  119445. 0x60282a7bf7f0ade1L },
  119446. { 0x7c07e538dceea2e7L, 0x38a322c83c42061dL, 0x676828f94f1f6516L,
  119447. 0xf21b69fbc7776a10L, 0xc63a3417b5e6b405L, 0x4c99f25891a7b642L,
  119448. 0x38692ca82cad1440L, 0xf1e82ffe00869bcdL, 0xc30b714e16fe466aL,
  119449. 0x5fb742f919019138L, 0xe90166d00fa516aeL, 0x5550f7acd8c73a43L,
  119450. 0x2d6a407dfbc5c372L, 0xe47a753968cc39edL, 0x3fd286d94a5fbe70L,
  119451. 0x5f4ae9c723c6b942L },
  119452. { 0xd96a2dda53f4d561L, 0x286d45d016da1992L, 0x449a01fbfdd4b051L,
  119453. 0x25488a0d9f2195eaL, 0xc4151b0aa37661b3L, 0xb98c471ef9e5ee02L,
  119454. 0xa4bca86ea8658817L, 0xbbcadb877a68fc0aL, 0x88b346496b7366a9L,
  119455. 0x32ee98d415661c2dL, 0xf5b3b4c6c901420cL, 0xa23527352f2752afL,
  119456. 0x2f64ce73510e4d9cL, 0x939a7f26aca4aa80L, 0x9cd3e291401aa503L,
  119457. 0x92a01423dc46afd2L },
  119458. { 0xe9f24be11c2f7dbdL, 0xda8c900fb7d527faL, 0x963e25bb8648f128L,
  119459. 0x9ab713e248141941L, 0xe87f7d017a6756fbL, 0x274dd85e058d90bdL,
  119460. 0x823fee7a82566abdL, 0x9f6230d774240195L, 0x04579f2cacb5e46eL,
  119461. 0x2a22626316a4c87eL, 0x9ca19a43d99b0857L, 0x86dc2ba3e488789eL,
  119462. 0xf960b5b99406c3bdL, 0x6f2c428b8960957eL, 0x90748706161c515bL,
  119463. 0x0fc8fe1eaa88cb9bL },
  119464. { 0x68ae1bedfeb90f2dL, 0xf393bb3ca48b1559L, 0x2be62f9cf64e9635L,
  119465. 0x354c2410f8be75c2L, 0xbd7ea7035e6f7529L, 0xc264868e162cab31L,
  119466. 0xb1391e70c860f3ffL, 0xdf367c751d89837eL, 0xe150b6b42bf32941L,
  119467. 0x95e8f46e78c1318fL, 0x2b3f1daba2c4b160L, 0xc6ccf5ce701afbf3L,
  119468. 0x3ad275305e8874c5L, 0x39285e515dc6dcbeL, 0x3c954d86d99892ddL,
  119469. 0x2d0ba862dfd3789fL },
  119470. { 0xeacd8ee8b472e1afL, 0xeb354eaeb76abbccL, 0x9b520bf8d0d93fbdL,
  119471. 0xfccd60d7fe6fc706L, 0xa9353ddea4ee2f39L, 0x5eb0925e9a81e51eL,
  119472. 0xee334da1d1366777L, 0xc1d28c9fd5354d69L, 0xb977175592a5ed54L,
  119473. 0x5d3e367fb7f70d81L, 0x7be7eecaa933ae7aL, 0x264cf1f9e23cfbb7L,
  119474. 0x0d129f4a89497681L, 0x705375a409b6235bL, 0xccf64c7548a376daL,
  119475. 0x963c87124d41dbfcL },
  119476. { 0xbae290cbde36a814L, 0x9bdb0195733b12b5L, 0x0ebad867f77fe0e1L,
  119477. 0x0a7d19fd29720ceaL, 0x434d76519029ec72L, 0x856aff17bb51911eL,
  119478. 0xd0a25d9ad80a7f60L, 0xffca86aff848c106L, 0x53e8bdf943ad749cL,
  119479. 0xfb9e0284e3e696bbL, 0x3eb6630aeeee4215L, 0x9d8fbb9e2ecf3c63L,
  119480. 0x71da4ffa4e00c0c0L, 0xb296be595d57beacL, 0x1751fbada8cec7efL,
  119481. 0x2d03eb3cff55d7bdL },
  119482. { 0xeb16925f04f2ec1dL, 0xa878f2760d147ee2L, 0x442df604aad9d9e0L,
  119483. 0x891df44b3f71035bL, 0xc28272b38cb95d5bL, 0x6f14efb55ee8ed23L,
  119484. 0xf3c4460f13b0f3e3L, 0x889f9bd76bd7335eL, 0x889ee771f755ba6eL,
  119485. 0x626984feed219b6cL, 0x2d44c737ec2ee411L, 0xb94385a263efcd37L,
  119486. 0xd909321b6637826bL, 0xc24f8a793ee6b7a7L, 0xa3ca8d24a7cf61b7L,
  119487. 0x842e40c1c54bacd9L },
  119488. { 0x5a268ed6a661d843L, 0x02328cca4f5b30cdL, 0x16e6fed11311e177L,
  119489. 0x690decb4c6695967L, 0xbdac5bf657b2e280L, 0x827f82ca1efe42d0L,
  119490. 0xc554ec0aca5fca2fL, 0xac5276c1dde45506L, 0xb7f4cb08e3077513L,
  119491. 0x8caf6d9acc8797ccL, 0xd59648140d9332d2L, 0xcc6ae297285a409fL,
  119492. 0x7773c2a56223d093L, 0x2d5266ac5128fc09L, 0xa596b7cbbc31fe6cL,
  119493. 0x0e63319acac91328L },
  119494. { 0xb5cd2fadf0360ac2L, 0x86b660de285e605aL, 0x82c6cf10e25b9b14L,
  119495. 0x9d5fa38daa9ac554L, 0x3dfcf1b8526c070eL, 0x0379a96b3fccc52dL,
  119496. 0xe3659c290bfcc7f5L, 0x5b1a3db569d3e6a1L, 0xb41528b59b7b42d5L,
  119497. 0x934defa49c22a006L, 0x90f380189b4ce3b6L, 0xb073bc04b3abaf32L,
  119498. 0x27a5a222ff8389e2L, 0x0b7a9d51ffa5a35bL, 0x4939ecef28e1a7c2L,
  119499. 0x88839da21872705aL },
  119500. { 0x56b66c30701ce29aL, 0x3acaf12658981d50L, 0xd4dafc0c105f9f21L,
  119501. 0xfee571e6373e3d13L, 0xe7269c86fa2ee3caL, 0xf5cca64add20385aL,
  119502. 0x217f27573000e9acL, 0xc934db470e7273efL, 0x4294f4f7355b6776L,
  119503. 0x1faa36b96fc05180L, 0x8f88b1dbb052190bL, 0x35791b90e9eaef52L,
  119504. 0xf37fb2ebdb681b90L, 0x39d0a51d4415c369L, 0xfc59cca71d2e21c9L,
  119505. 0x64128cfea1f50c26L },
  119506. { 0xf03678a2e8f5b0b5L, 0x5c7e249cd340f059L, 0x4144044193ca7cecL,
  119507. 0x075ca346bc83af98L, 0xf39f0033faa8bbb0L, 0x3d18f0edf38230f7L,
  119508. 0x78dff00cd448f345L, 0x849228c0d51aa475L, 0xdd4e270830c928d1L,
  119509. 0xc66ba6868f12cfd3L, 0x091049db88b3a206L, 0xd865d059016dae01L,
  119510. 0x4599e905e253e37dL, 0x322cf0c27ce9871bL, 0x014f54da174a132eL,
  119511. 0x93634a09bdabcbdaL },
  119512. { 0x62826b27a9a2e304L, 0xc57e1866c1a4c124L, 0x913ab83222381710L,
  119513. 0x7e9b6b85a9847cfeL, 0x29655cf12b5f46fdL, 0x7295572b8038e66dL,
  119514. 0xe4cba6016fa95eabL, 0xbbc11071b9deda81L, 0x97f0009a3f1cf61eL,
  119515. 0x5372777b373e0cfbL, 0x302f909cd139d63bL, 0x1ed672da4f87d78eL,
  119516. 0x362077a3b4048763L, 0xc408c32d9dcc22b2L, 0x4b4c5bf226deeee7L,
  119517. 0x266cb467bc06357eL },
  119518. { 0x6faa4154b56363e8L, 0x4b4fd0783c1aa4dbL, 0x14358dde2b9e6597L,
  119519. 0x5b34ae3efa004b84L, 0xcf44b2ecf19911a6L, 0x55caa833a536bf78L,
  119520. 0x606e1eb98870dc95L, 0xe3c3287d09f3511dL, 0x68b2f4eb9d5cf364L,
  119521. 0xc154e89263ab8c9eL, 0x1548828ec36ab611L, 0x0932bfcba1b7d120L,
  119522. 0x7ee7b5bc5315b8d7L, 0x782fd0d1f7473ac1L, 0xbcb029a83c8f2af3L,
  119523. 0x4b1d5a1b52454ee1L },
  119524. { 0x12fe517463d52c0cL, 0x3735525e188c099dL, 0x5c621563360e3956L,
  119525. 0x88b3f1caacfa5a43L, 0x90123a0a797e8107L, 0xba31f6b5b15e080aL,
  119526. 0xd7de5e12fca3dadaL, 0x3287361b0df511c8L, 0x7cc800d465757d4eL,
  119527. 0x10810f3d5207ec91L, 0x0d4e56f130eea0e3L, 0xbbf7ee133ea5a2ecL,
  119528. 0x6fc07762be6abbd0L, 0xc831fdce120bf619L, 0xe07439fab622d42aL,
  119529. 0x8186b93f508e4b27L },
  119530. { 0xc619d15409312867L, 0x7e042c05bfaf7db4L, 0xc1cf16681f5f5ddaL,
  119531. 0x50aa5057a4fc3d82L, 0xed30ed65ce68b8feL, 0xecb01c0bbeb4d644L,
  119532. 0x7b5dc444831c0497L, 0x351e6a009b7d9b1cL, 0x4bb863b9d9477c91L,
  119533. 0xaba6589105d4110aL, 0x30086cf443580b7aL, 0xb139c07690be357eL,
  119534. 0x12bfff1a27b5214eL, 0x79cfc6d722c3ab57L, 0x4743de57f34a9bfaL,
  119535. 0x0bf97e97c9ee2b2aL },
  119536. { 0x96ec4ec8dda19e96L, 0x54ce18ea6c306e8bL, 0x7e83612b65f6918aL,
  119537. 0x1ac6f68b0d9a0d99L, 0x98a697a462fdcc09L, 0x65ce25f195bc3e13L,
  119538. 0x1896ecdab3939730L, 0x9eb81a0f32f12806L, 0xd3d7416e1d2dc7dfL,
  119539. 0xe22c7976ad473599L, 0x3de37a9a9f5ef439L, 0x6b7ac0ab9e69d94eL,
  119540. 0xe6bfa9e00a9d0bc8L, 0x576a870d5676f120L, 0x3bd91bb4feaac23fL,
  119541. 0x8fe5482c3e40aabbL },
  119542. { 0x85ae67c2ce9a4d1eL, 0x4c3eb8034f1d2038L, 0x5c6c8f3a25d06192L,
  119543. 0x803de0ad308fb41cL, 0x9961f5bce71c294eL, 0xdc62078df02eb0daL,
  119544. 0xc87ef515b64ae8b6L, 0x69679f1e50b4d18fL, 0xc5c009a152199f43L,
  119545. 0xa7d484be0f640a5fL, 0x4c918bb123dab566L, 0xa67c114c64275d2cL,
  119546. 0x95a913b9cad2ded6L, 0x189ed18b6b4b5c8dL, 0x4aeb6206b42d3bf6L,
  119547. 0x3928c669bbc8bc3fL },
  119548. { 0xde4bea4adacb4b64L, 0x03f62a44f26179a1L, 0xf3aac94e7a9112a4L,
  119549. 0x90448fbdd36f331eL, 0x426042bc407b85c4L, 0x5ad8a5962121b77bL,
  119550. 0x31674a4f67cee984L, 0x7fae8bbe4e3b2f0dL, 0x681df6dda7c930ebL,
  119551. 0xadeefa98c259d0d4L, 0x1b14d9e6bea1c1fdL, 0x3baadc8b21d405d1L,
  119552. 0xf01dff9373892754L, 0x81c35b3ef071cde4L, 0x1704d2e19150d0d9L,
  119553. 0x6ccc888f355134f6L },
  119554. { 0xf8d36f0e7ad7504cL, 0xbca3265ff7959dddL, 0x0dcd1edefede67aaL,
  119555. 0x1276f4cebaebf32fL, 0x6825a6e6014edcfcL, 0x0b8c1a8299ad8eb7L,
  119556. 0x312024a909b8ce1eL, 0xcb8fd98b9cbd351aL, 0xa4841378fab1e8beL,
  119557. 0x17ed0f5d3973cacfL, 0xa17e1484259d5254L, 0x53d5b84374b91393L,
  119558. 0x8f792b211aca3ce9L, 0x035ff110c8c0f815L, 0x6afa6357ad4ed7bdL,
  119559. 0x2f151980b26faef9L },
  119560. { 0x0c8631da29d2d439L, 0x121fbbc2bc039955L, 0x3e5a97926c05b75bL,
  119561. 0x6d6cf4c0b6ce47ecL, 0xbaaa17679d88c658L, 0x031db9e7f3355a17L,
  119562. 0x8381e3d80aef5a85L, 0xc71db29015a31bdfL, 0x638f6b749498fd7dL,
  119563. 0x44edf3f913beeef6L, 0xe6173271f4ab67b3L, 0x3a202c70fd22df11L,
  119564. 0xf7be0389205c4e92L, 0x1c219085a8eb9920L, 0x6c805ce8beb54aaaL,
  119565. 0x354b05b70ac58d65L },
  119566. { 0x7171e2367a9170e9L, 0x01eec42d4cad50cdL, 0xffbe824f3cddccfbL,
  119567. 0xa73e8ce3a66cae1aL, 0xb7138a7f965c7d01L, 0x00058e3f5c3d971eL,
  119568. 0x52591ac32ff0a72bL, 0xa32fb5bcbbbce76fL, 0xf3241ab8a9f81a18L,
  119569. 0xf31d3332eca68630L, 0x847af9fc4482f13bL, 0x6196e217a4681be2L,
  119570. 0x9938f932e55efcf9L, 0x3e7dacb870acc705L, 0xd41be893cf09fac2L,
  119571. 0x48dc55c4ae3523a1L },
  119572. { 0x8e623826a5092193L, 0xe46ec3626898970cL, 0x2f1356af25c9eb41L,
  119573. 0x4178064083c7d245L, 0x982def6797d00e38L, 0x382eb6e7a512151cL,
  119574. 0x154e10778af58869L, 0x187070758a51cf02L, 0xcdeba9f771313c58L,
  119575. 0x5d67b973ba155904L, 0x851c9f4b1d0d7b3aL, 0x19f29d718b8af2cdL,
  119576. 0xcb94ccff986b8d62L, 0x8725e24bb93b9c33L, 0x405ce4c566e38c68L,
  119577. 0x5f6a8edd0b6dc021L },
  119578. { 0x83704ca58f9a8690L, 0x3f3697662f76a407L, 0xfbc12d8c69201028L,
  119579. 0x4cd58f16bce3a4cfL, 0x7804664a04aab26dL, 0x005cfbba4ea457a8L,
  119580. 0x537951b3b8a59794L, 0x4ca2b9e44fe1f739L, 0xe4428acddf325797L,
  119581. 0x648da3420ea243dbL, 0xcce6562bf43ce01eL, 0x840f0421f27db490L,
  119582. 0x156ccb708bfb7cf0L, 0x9b33480d5a8797d3L, 0x2e12e07a9eb814bbL,
  119583. 0x1ca65072ca7f87acL },
  119584. { 0xfbb321cf2b9d25a0L, 0x66affdca40a746dbL, 0xc1c1530e59e368b5L,
  119585. 0x56ed1ea47d80068fL, 0x9b74d8fe5647dd68L, 0x1d96b50789b78da8L,
  119586. 0x39b752438bbe3391L, 0xef8d443e0d858c5fL, 0x4dd2db499646aa34L,
  119587. 0x7fad3bd1e667543cL, 0xd0d710c068980985L, 0x9f7aff3249facabaL,
  119588. 0x055dec1c14f9a192L, 0xaca663991fb307a1L, 0xac44fd9135ffff64L,
  119589. 0x462cafb6cbad3ceeL },
  119590. { 0x1660a647de3237ddL, 0x95f735cc82b87404L, 0xf7879f59ddfa55f8L,
  119591. 0x15ef043e726b914aL, 0x1875393d1c93e298L, 0xa1a2be746ef18331L,
  119592. 0x4e7e8dfc25a9a12bL, 0xdfefc97da9c3917fL, 0xbc875d030a2ebe41L,
  119593. 0x0f75d235a732d1ccL, 0x06fee7fed9baa6d3L, 0xaa784fab65f48576L,
  119594. 0x23155e22513f83c0L, 0xd2fb77183e8f9d13L, 0x2a291503b546eafdL,
  119595. 0x1293c98c6cd93608L },
  119596. { 0x7278125149d53b77L, 0xa6ab403d96eafac7L, 0xb7d7c7db4a36b711L,
  119597. 0x8238c70887e771c1L, 0x495f6abf33b37522L, 0xb0b0289c8c87530dL,
  119598. 0xca83cb86e77b111aL, 0xbe1c0fb8a1bd189eL, 0x58cfb2fb1ae9d7c7L,
  119599. 0xd05c23c54940c3e8L, 0x16e79e4174ad9107L, 0xa0a47f05064e7142L,
  119600. 0xc6929cd4fdfd614fL, 0xedb2584c3946988bL, 0x73e4b5f3e46f8fb1L,
  119601. 0x53b79aa168ea94baL },
  119602. { 0x216fafce44bbb6a1L, 0xd3a5bba067821728L, 0xef1e4b30a9dd939aL,
  119603. 0x022eaf3df19efafeL, 0xfed5abce7b4ec014L, 0x64968ee6512c6738L,
  119604. 0x2311986929fe89a2L, 0x0d539d8d47397c05L, 0x6400bc54234596c4L,
  119605. 0xb9287f585346611dL, 0x04099903c9d5da0fL, 0xe5ef4997c83af2a8L,
  119606. 0xc89dc01b328151e1L, 0x150fb4a958401104L, 0x40a6f7d5f3872c9dL,
  119607. 0x8290d6d156c2e833L },
  119608. { 0xf84637c6d8546946L, 0xda134a3969ec57faL, 0xd42359a4d789007eL,
  119609. 0xb42557fe0dc7b809L, 0xe62ae52d2d6784a9L, 0xa2714ca60bcadb5fL,
  119610. 0xcc208de633aafca5L, 0x2380ed5ced967811L, 0x6e6b55e9db321660L,
  119611. 0x1bead02ca675235aL, 0x51cc6ef9b33fa0e1L, 0xfd223e26f06a2a08L,
  119612. 0x00f332e1ec47b3cfL, 0x459f297ba0aa984eL, 0x6fa1d969ee952e14L,
  119613. 0x506ef1ab304fabb0L },
  119614. { 0x11b4eb2735bff163L, 0x7130b96fea9fa984L, 0x66aceb3f9deb27ceL,
  119615. 0xa2daf1a59dd1c3d5L, 0xf5090a7ea73075aaL, 0x36a6af39e3071b58L,
  119616. 0xa28d633ddf73ad9cL, 0xdd354cacbdc89a16L, 0xdfea3423d4dcbc3cL,
  119617. 0x6eec74d2379d92d1L, 0xe14a456f8eed6765L, 0xfabe7743fa8feb1fL,
  119618. 0x1404ccf8b98fcbc7L, 0x6ccd2fbff71a706eL, 0xdaaf3fdb4d85c678L,
  119619. 0x415b7dbf15200344L },
  119620. { 0x970105867d8377a7L, 0x068a3d68cb803272L, 0xfd67d289f03a4c32L,
  119621. 0x4bc7095d93c8f290L, 0x712fa13ce9e5a2b8L, 0xfc6ac6c60feb9f3bL,
  119622. 0x0cda36d96e0e54c2L, 0x4549975186320a01L, 0xf9318c9197f00f11L,
  119623. 0x01dc4c3fe6936508L, 0x769a2ef985f068aaL, 0x3522cef0a2b5511cL,
  119624. 0x006965edb4122e05L, 0xfce0fafcc175d43fL, 0x525dc9bdec831d59L,
  119625. 0x1ec314f1af58879dL },
  119626. { 0x0663feef2c8310c2L, 0xaa7e14da457e3f74L, 0x392b10fce5346887L,
  119627. 0xcde4a38f637ec2c5L, 0x50773320b542f8dfL, 0x341302f9f7de1711L,
  119628. 0x018b1c63ae4b9bc6L, 0xf001c46edd2f9e6fL, 0xd3bb0a9726eccfa0L,
  119629. 0xa931b99d7746e0c7L, 0xe0c8b6f7f5875aecL, 0xbb32f17c96939c82L,
  119630. 0x765135d23de5a664L, 0x71936cb452abfa6bL, 0xad5cc08f2dc105deL,
  119631. 0x17e91d127fff5788L },
  119632. { 0xbe92ced3b7e051caL, 0xc644d4fd19c776d4L, 0xc8ab4b520086784bL,
  119633. 0x3ea66227ce9d6b31L, 0x395249a3d289e9c7L, 0x54509e65d12a19eeL,
  119634. 0xa7bd46928c365aecL, 0x354997e477963e0eL, 0x0d765957b599732dL,
  119635. 0x99584aeb91d4a3b6L, 0x6e653ea41deb3e28L, 0xca7c98ed572571dfL,
  119636. 0xf301a38fb18ae1f9L, 0x1629f7c263f7b97eL, 0xdf242282afc4a0d5L,
  119637. 0x118f3b4b3ddd0c01L },
  119638. { 0x74a0a0a87ad4762bL, 0x1aef84da8c58d175L, 0x16ff49604cf76d86L,
  119639. 0xc0be87867e60d98bL, 0x83637ffb3ecc1dbaL, 0xc244a6095dd6147aL,
  119640. 0xa3e178345b0846e5L, 0x735eb686e77a4c05L, 0x5bc18b4fdf758695L,
  119641. 0x15618d0b1bdfe52fL, 0x878ecc0d00715ba1L, 0x1dbdbd1ac2dd617fL,
  119642. 0x21d2b63121b61710L, 0x22ce8a7944f593c2L, 0x3b9b536a44f17024L,
  119643. 0x01d0a67c8d03e727L },
  119644. { 0x7b9642361e46533cL, 0xe9477990fb88c2aeL, 0x019b5d16a42c4a18L,
  119645. 0x7135e81dd83c7a45L, 0x74a69bdd4cb663e3L, 0x7b67ecdbe76c0d63L,
  119646. 0x03d5452111e68da6L, 0x596cceb5d2e8650aL, 0xcd572dfd2af03b37L,
  119647. 0x52364ba1fabd5952L, 0x7f47d456b4ed8569L, 0x5ad8b572c950d5d4L,
  119648. 0xcadd2dfa486e2f84L, 0xdd527b43c56bb044L, 0xc9adba24997c08e6L,
  119649. 0x1b625b067da6320fL },
  119650. { 0x44dfaa7b4fd8446dL, 0xc01b2f01af6febebL, 0xbf444388fe8838b5L,
  119651. 0xf33c434fbba9758bL, 0x2b971cba87156bc9L, 0x6b245e5c1f49098bL,
  119652. 0x87dcb5342b41c5ddL, 0xdb1f80c634d852d7L, 0x6d6e32582433da34L,
  119653. 0xf66820653f7df0c2L, 0xc4ca567c360cb365L, 0x321faac29826656aL,
  119654. 0x13f5ca6fbf069768L, 0x15397921a7076639L, 0xbdf143288400736eL,
  119655. 0x333eca9619fc948dL },
  119656. { 0x23337948ac775d81L, 0x38c2518fd41dbbcaL, 0x623c7a4fbcfce948L,
  119657. 0xaad3623654703fe7L, 0x2b3a13a413fb3b5bL, 0x5db3565a7f5c01f0L,
  119658. 0xd72408dc52359661L, 0x5a17f8e51d616e91L, 0x90c16eebcb25b999L,
  119659. 0xf35e8cf13393743eL, 0x987da74ae54b64a7L, 0x557b322a65cd449dL,
  119660. 0x765082a537e7b15dL, 0x4d25c742f2cd134fL, 0xae9d9c074ccf0746L,
  119661. 0x72fc21108728d135L },
  119662. { 0xa906b203f96004c8L, 0xd83f95cf458055ffL, 0xd77d586755f35909L,
  119663. 0x4a9ea6fbe550c8eeL, 0x91c8cca955a06081L, 0x4a1fee78bce82062L,
  119664. 0xeb9ade069a3df85eL, 0xfbbdcf0c7d3de666L, 0x228a391b5d336d51L,
  119665. 0x760f8d285c2ffc3cL, 0x1ee48de32f7b165bL, 0x03803d8456177040L,
  119666. 0xe573f6489deff9a0L, 0xe1a2738ea17e35a4L, 0x238ef17c8840a6c6L,
  119667. 0x480946f8b11ed92dL },
  119668. { 0x84c747a8fd71f119L, 0x19e65c5e53eb3695L, 0x0e2f67866298587aL,
  119669. 0x48a48899ab18d6f4L, 0xa1a99024c630b8c0L, 0x849750962caaf892L,
  119670. 0xc8869abae20fd624L, 0x3b72b04d6c2b7dd4L, 0xe2775eb60992f7d0L,
  119671. 0x0089c06e7d06e684L, 0xcb3b4361e4bbd007L, 0xa1ae666b4ba846e4L,
  119672. 0xc01c2eb246464d9eL, 0xf86f2be6c1f8539fL, 0x16e8e8aecf68afc7L,
  119673. 0x8dab61fdc7386902L },
  119674. { 0x42a5c903d54d1d45L, 0xacd4297eff4f9ba2L, 0x2d88b52034d478b4L,
  119675. 0x35b2ba2b08c4621aL, 0xd3d239bb34865402L, 0x1de76aed911f32e6L,
  119676. 0x877f8bcf3f06fdc2L, 0x802714c19ec51502L, 0xa10444eba590700dL,
  119677. 0x8694229f31dcc957L, 0x5ece77abb8169fedL, 0x55be8a152caf080eL,
  119678. 0x3eb21b14cbd7cef1L, 0x9def7ad167b97ee1L, 0xe03ca879118f690cL,
  119679. 0x6f77e62df99b29e7L },
  119680. { 0xa271bdede40bbf59L, 0x177ba4536401aad6L, 0x1755e03573541cd1L,
  119681. 0x3465b4664b71b02fL, 0x22eb7113a813359fL, 0x9792a8fd6f38eac7L,
  119682. 0x11aa012fff3bf3b5L, 0x99aafabff85c3fbfL, 0x91e0a2ef06c0cc42L,
  119683. 0x314d5d57773b7b3aL, 0xae5e2e76d669840aL, 0x861360732e5a8be6L,
  119684. 0xee6d7578c1cf5580L, 0x2344e00f68bed102L, 0x799d78868184f0ebL,
  119685. 0x63819c91c3d2cf80L },
  119686. { 0xca5392e17884b073L, 0x9ec3a1fceb1267eaL, 0x3d07f5f0907038a7L,
  119687. 0xcb2ac07ce4c47b70L, 0xf96664ee1bf96b91L, 0xebf575892aea4fbfL,
  119688. 0x5aabf391fade6500L, 0xc5b3376f171d1204L, 0x1ff60c51a0d3d81aL,
  119689. 0x10b2cfe7976a844bL, 0xe131cc9abda6125aL, 0xe0fc16d34ebd453eL,
  119690. 0xc0d0319a504b6bc1L, 0xe43a0be70a2f8cabL, 0xc80afeec55e49b47L,
  119691. 0x67d48d128265d7eeL },
  119692. { 0x068d59a7ea2d56d6L, 0xd71abd0e27480a63L, 0x6bd11db0ae7366cdL,
  119693. 0xfbb639ca07204ebcL, 0x89a242e7f77e6293L, 0xdee7ca2b75ba8c3dL,
  119694. 0x472ddc3d64a2f9a8L, 0x84229df47561a010L, 0x95f62c85c5b649d4L,
  119695. 0xfdd56b1b4dc927cdL, 0xfe8bb1205ee60596L, 0x3efcaa50abf29401L,
  119696. 0xd4900d0f10d1c184L, 0x2cf113a928b01df5L, 0xa3d7ebc31f0e43f5L,
  119697. 0x27950e38e8384dc7L },
  119698. { 0xeab21ff0e1d0fa79L, 0x4b9fd033048b5de9L, 0x4c9346892fe374cbL,
  119699. 0xbb4827fa4eb21f6bL, 0x46716f79a925e7e7L, 0x1442bf367dd4c531L,
  119700. 0x2073954cd2e96ddfL, 0x4e0141ae8502aa89L, 0x8ee00e1a8eef6cc9L,
  119701. 0x55ce84915880cdafL, 0xff3aba5c69628046L, 0x335cc4f85d15dfbfL,
  119702. 0xa7f0440c9f684f25L, 0xae80453fbb1e5bd8L, 0xa1c99813ff2225abL,
  119703. 0x54ff788479b25d71L },
  119704. { 0x27c6ee30de40b068L, 0x9226465be6f3a51eL, 0xe24a4604fa3b21f6L,
  119705. 0x50a5a5adc0418115L, 0xe32854418df90d2bL, 0xbb74e58fdcb0c00fL,
  119706. 0xc68f1b3b4a2c08e3L, 0x339df0810ccd9ec9L, 0x915362dcb786ea9fL,
  119707. 0x28945e31c955aeadL, 0xd6a2c01d8b6a6c6bL, 0x069e82dc3678a427L,
  119708. 0x1787550028c9302cL, 0x8acda9659fa101e6L, 0x4e4e4573ee30b286L,
  119709. 0x8adbad853f1830feL },
  119710. { 0x060ae11f0969d524L, 0xf42fdaf7f39bcc79L, 0x3cec67667cc1fcc2L,
  119711. 0x456b9cf2e2336d4fL, 0x6aa1f5de8e1c0f7fL, 0xcdbc2ad20984fb0eL,
  119712. 0x4090cfa61b464b28L, 0x40d86f301243f3efL, 0x95b16ccccd5e87e7L,
  119713. 0x403f168c3026cd41L, 0xdbe386cb816c0730L, 0x14eb86f358407a1dL,
  119714. 0xf588b4f81717e1afL, 0xb75c41a666cbc96cL, 0xf342c1aa027e71c1L,
  119715. 0x73930036c0945e5fL },
  119716. { 0x954f757d22cdaf42L, 0x788b591df4181aabL, 0x8b986819f5514f25L,
  119717. 0x69642e08f18fd5bcL, 0x92b305d1022ceb91L, 0x1715903e6a4f6985L,
  119718. 0x4bd7d69d61179caeL, 0xdacdfd5dd29c01aaL, 0x705ddd5ad91108ccL,
  119719. 0x434ac7b164ac8f15L, 0x61a514e1b524632fL, 0x45b9e61b731fc447L,
  119720. 0xcf561348e0961b31L, 0x9c28a96773eaf223L, 0x5bd10182aa7c99d3L,
  119721. 0x8bc6ec4ae42965e2L },
  119722. { 0xd096e5c0e7f2a32bL, 0xff54800c09388a30L, 0x06fe437c401e360cL,
  119723. 0x6655fc9cbb6054a6L, 0x510e18608457aa6eL, 0xa0acfca22b29b2b7L,
  119724. 0x732483e351b7da61L, 0xe31471ee6be6c8caL, 0xe565431c8b65c9a1L,
  119725. 0xfc9ac3b948d65cbbL, 0xd308fc21ae9b2aa8L, 0xd6a7df0daa60aa6aL,
  119726. 0x2844d96a982fc0d4L, 0xab012c2c5847a4d7L, 0x2b3c8f71dceb8955L,
  119727. 0x8e85437dbe9c7e15L },
  119728. };
  119729. /* Perform the modular exponentiation in Fp* for SAKKE.
  119730. *
  119731. * Base is fixed to be the g parameter - a precomputed table is used.
  119732. *
  119733. * Striping: 128 points at a distance of 8 combined.
  119734. * Total of 256 points in table.
  119735. * Square and multiply performed in Fp*.
  119736. *
  119737. * base [in] Base. MP integer.
  119738. * exp [in] Exponent. MP integer.
  119739. * res [out] Result. MP integer.
  119740. * returns 0 on success, MP_READ_E if there are too many bytes in an array
  119741. * and MEMORY_E if memory allocation fails.
  119742. */
  119743. int sp_ModExp_Fp_star_1024(const mp_int* base, mp_int* exp, mp_int* res)
  119744. {
  119745. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  119746. !defined(WOLFSSL_SP_NO_MALLOC)
  119747. sp_digit* td;
  119748. sp_digit* t;
  119749. sp_digit* tx;
  119750. sp_digit* ty;
  119751. #else
  119752. sp_digit t[4 * 2 * 16];
  119753. sp_digit tx[2 * 16];
  119754. sp_digit ty[2 * 16];
  119755. #endif
  119756. sp_digit* r = NULL;
  119757. unsigned char e[128];
  119758. int err = MP_OKAY;
  119759. int i;
  119760. int y;
  119761. (void)base;
  119762. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  119763. !defined(WOLFSSL_SP_NO_MALLOC)
  119764. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6 * 16 * 2, NULL,
  119765. DYNAMIC_TYPE_TMP_BUFFER);
  119766. if (td == NULL) {
  119767. err = MEMORY_E;
  119768. }
  119769. #endif
  119770. if (err == MP_OKAY) {
  119771. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  119772. !defined(WOLFSSL_SP_NO_MALLOC)
  119773. t = td;
  119774. tx = td + 4 * 16 * 2;
  119775. ty = td + 5 * 16 * 2;
  119776. #endif
  119777. r = ty;
  119778. (void)mp_to_unsigned_bin_len(exp, e, 128);
  119779. XMEMCPY(tx, p1024_norm_mod, sizeof(sp_digit) * 16);
  119780. y = e[112] >> 7;
  119781. y |= (e[96] >> 7) << 1;
  119782. y |= (e[80] >> 7) << 2;
  119783. y |= (e[64] >> 7) << 3;
  119784. y |= (e[48] >> 7) << 4;
  119785. y |= (e[32] >> 7) << 5;
  119786. y |= (e[16] >> 7) << 6;
  119787. y |= (e[0] >> 7) << 7;
  119788. XMEMCPY(ty, sp_1024_g_table[y], sizeof(sp_digit) * 16);
  119789. for (i = 126; i >= 0; i--) {
  119790. y = (e[127 - (i / 8)] >> (i & 0x7)) & 1;
  119791. y |= ((e[111 - (i / 8)] >> (i & 0x7)) & 1) << 1;
  119792. y |= ((e[95 - (i / 8)] >> (i & 0x7)) & 1) << 2;
  119793. y |= ((e[79 - (i / 8)] >> (i & 0x7)) & 1) << 3;
  119794. y |= ((e[63 - (i / 8)] >> (i & 0x7)) & 1) << 4;
  119795. y |= ((e[47 - (i / 8)] >> (i & 0x7)) & 1) << 5;
  119796. y |= ((e[31 - (i / 8)] >> (i & 0x7)) & 1) << 6;
  119797. y |= ((e[15 - (i / 8)] >> (i & 0x7)) & 1) << 7;
  119798. sp_1024_proj_sqr_16(tx, ty, t);
  119799. sp_1024_proj_mul_qx1_16(tx, ty, sp_1024_g_table[y], t);
  119800. }
  119801. }
  119802. if (err == MP_OKAY) {
  119803. sp_1024_mont_inv_16(tx, tx, t);
  119804. sp_1024_mont_mul_16(r, tx, ty, p1024_mod, p1024_mp_mod);
  119805. XMEMSET(r + 16, 0, sizeof(sp_digit) * 16);
  119806. sp_1024_mont_reduce_16(r, p1024_mod, p1024_mp_mod);
  119807. err = sp_1024_to_mp(r, res);
  119808. }
  119809. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  119810. !defined(WOLFSSL_SP_NO_MALLOC)
  119811. if (td != NULL) {
  119812. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  119813. }
  119814. #endif
  119815. return err;
  119816. }
  119817. #endif /* WOLFSSL_SP_SMALL */
  119818. /* Multiply p* by q* in projective co-ordinates.
  119819. *
  119820. * p.x' = (p.x * q.x) - (p.y * q.y)
  119821. * p.y' = (p.x * q.y) + (p.y * q.x)
  119822. * But applying Karatsuba:
  119823. * v0 = p.x * q.x
  119824. * v1 = p.y * q.y
  119825. * p.x' = v0 - v1
  119826. * p.y' = (px + py) * (qx + qy) - v0 - v1
  119827. *
  119828. * px [in,out] A single precision integer - X ordinate of number to multiply.
  119829. * py [in,out] A single precision integer - Y ordinate of number to multiply.
  119830. * qx [in] A single precision integer - X ordinate of number of
  119831. * multiplier.
  119832. * qy [in] A single precision integer - Y ordinate of number of
  119833. * multiplier.
  119834. * t [in] Two single precision integers - temps.
  119835. */
  119836. static void sp_1024_proj_mul_16(sp_digit* px, sp_digit* py,
  119837. const sp_digit* qx, const sp_digit* qy, sp_digit* t)
  119838. {
  119839. sp_digit* t1 = t;
  119840. sp_digit* t2 = t + 2 * 16;
  119841. /* t1 = px + py */
  119842. sp_1024_mont_add_16(t1, px, py, p1024_mod);
  119843. /* t2 = qx + qy */
  119844. sp_1024_mont_add_16(t2, qx, qy, p1024_mod);
  119845. /* t2 = (px + py) * (qx + qy) */
  119846. sp_1024_mont_mul_16(t2, t1, t2, p1024_mod, p1024_mp_mod);
  119847. /* t1 = py * qy */
  119848. sp_1024_mont_mul_16(t1, py, qy, p1024_mod, p1024_mp_mod);
  119849. /* t2 = (px + py) * (qx + qy) - (py * qy) */
  119850. sp_1024_mont_sub_16(t2, t2, t1, p1024_mod);
  119851. /* px = px * qx */
  119852. sp_1024_mont_mul_16(px, px, qx, p1024_mod, p1024_mp_mod);
  119853. /* py = (px + py) * (qx + qy) - (py * qy) - (px * qx) */
  119854. sp_1024_mont_sub_16(py, t2, px, p1024_mod);
  119855. /* px = (px * qx) - (py * qy)*/
  119856. sp_1024_mont_sub_16(px, px, t1, p1024_mod);
  119857. }
  119858. #ifndef WOLFSSL_SP_SMALL
  119859. /*
  119860. * Convert point from projective to affine but keep in Montgomery form.
  119861. *
  119862. * p [in,out] Point to convert.
  119863. * t [in] Temporary numbers: 2.
  119864. */
  119865. static void sp_1024_mont_map_16(sp_point_1024* p, sp_digit* t)
  119866. {
  119867. sp_digit* t1 = t;
  119868. sp_digit* t2 = t + 2 * 16;
  119869. sp_1024_mont_inv_16(t1, p->z, t2);
  119870. sp_1024_mont_sqr_16(t2, t1, p1024_mod, p1024_mp_mod);
  119871. sp_1024_mont_mul_16(t1, t2, t1, p1024_mod, p1024_mp_mod);
  119872. sp_1024_mont_mul_16(p->x, p->x, t2, p1024_mod, p1024_mp_mod);
  119873. sp_1024_mont_mul_16(p->y, p->y, t1, p1024_mod, p1024_mp_mod);
  119874. XMEMCPY(p->z, p1024_norm_mod, sizeof(sp_digit) * 16);
  119875. }
  119876. #endif /* WOLFSSL_SP_SMALL */
  119877. /*
  119878. * Calculate gradient of line through P, P and [-2]P, accumulate line and
  119879. * double P.
  119880. *
  119881. * Calculations:
  119882. * l = 3 * (p.x^2 - p.z^4) = 3 * (p.x - p.z^2) * (p.x + p.z^2)
  119883. * r.x = l * (p.x + q.x * p.z^2) - 2 * p.y^2
  119884. * r.y = 2 * p.y * p.z^3 * q.y (= p'.z * p.z^2 * q.y)
  119885. * v* = v*^2 * r*
  119886. * p'.x = l^2 - 8 * p.y^2 * p.x
  119887. * p'.y = (4 * p.y^2 * p.x - p'.x) * l - 8 * p.y^4
  119888. * p'.z = 2 * p.y * p.z
  119889. *
  119890. * @param [in,out] vx X-ordinate of projective value in F*.
  119891. * @param [in,out] vy Y-ordinate of projective value in F*.
  119892. * @param [in,out] p ECC point - point on E(F_p^2) to double.
  119893. * @param [in] q ECC point - second point on E(F_P^2).
  119894. * @param [in] t SP temporaries (6 used).
  119895. */
  119896. static void sp_1024_accumulate_line_dbl_16(sp_digit* vx, sp_digit* vy,
  119897. sp_point_1024* p, const sp_point_1024* q, sp_digit* t)
  119898. {
  119899. sp_digit* t1 = t + 0 * 16;
  119900. sp_digit* pz2 = t + 2 * 16;
  119901. sp_digit* rx = t + 4 * 16;
  119902. sp_digit* ry = t + 6 * 16;
  119903. sp_digit* l = t + 8 * 16;
  119904. sp_digit* ty = t + 10 * 16;
  119905. /* v = v^2 */
  119906. sp_1024_proj_sqr_16(vx, vy, t);
  119907. /* pz2 = p.z^2 */
  119908. sp_1024_mont_sqr_16(pz2, p->z, p1024_mod, p1024_mp_mod);
  119909. /* t1 = p.x + p.z^2 */
  119910. sp_1024_mont_add_16(ty, p->x, pz2, p1024_mod);
  119911. /* l = p.x - p.z^2 */
  119912. sp_1024_mont_sub_16(l, p->x, pz2, p1024_mod);
  119913. /* t1 = (p.x + p.z^2) * (p.x - p.z^2) = p.x^2 - p.z^4 */
  119914. sp_1024_mont_mul_16(t1, l, ty, p1024_mod, p1024_mp_mod);
  119915. /* l = 3 * (p.x^2 - p.z^4) */
  119916. sp_1024_mont_tpl_16(l, t1, p1024_mod);
  119917. /* t1 = q.x * p.z^2 */
  119918. sp_1024_mont_mul_16(t1, q->x, pz2, p1024_mod, p1024_mp_mod);
  119919. /* t1 = p.x + q.x * p.z^2 */
  119920. sp_1024_mont_add_16(t1, p->x, t1, p1024_mod);
  119921. /* r.x = l * (p.x + q.x * p.z^2) */
  119922. sp_1024_mont_mul_16(rx, l, t1, p1024_mod, p1024_mp_mod);
  119923. /* r.y = 2 * p.y */
  119924. sp_1024_mont_dbl_16(ry, p->y, p1024_mod);
  119925. /* ty = 4 * p.y ^ 2 */
  119926. sp_1024_mont_sqr_16(ty, ry, p1024_mod, p1024_mp_mod);
  119927. /* t1 = 2 * p.y ^ 2 */
  119928. sp_1024_div2_16(t1, ty, p1024_mod);
  119929. /* r.x -= 2 * (p.y ^ 2) */
  119930. sp_1024_mont_sub_16(rx, rx, t1, p1024_mod);
  119931. /* p'.z = p.y * 2 * p.z */
  119932. sp_1024_mont_mul_16(p->z, p->z, ry, p1024_mod, p1024_mp_mod);
  119933. /* r.y = p'.z * p.z^2 */
  119934. sp_1024_mont_mul_16(t1, p->z, pz2, p1024_mod, p1024_mp_mod);
  119935. /* r.y = p'.z * p.z^2 * q.y */
  119936. sp_1024_mont_mul_16(ry, t1, q->y, p1024_mod, p1024_mp_mod);
  119937. /* v = v^2 * r */
  119938. sp_1024_proj_mul_16(vx, vy, rx, ry, t);
  119939. /* Double point using previously calculated values
  119940. * l = 3 * (p.x - p.z^2).(p.x + p.z^2)
  119941. * ty = 4 * p.y^2
  119942. * p'.z = 2 * p.y * p.z
  119943. */
  119944. /* t1 = (4 * p.y^2) ^ 2 = 16 * p.y^4 */
  119945. sp_1024_mont_sqr_16(t1, ty, p1024_mod, p1024_mp_mod);
  119946. /* t1 = 16 * p.y^4 / 2 = 8 * p.y^4 */
  119947. sp_1024_div2_16(t1, t1, p1024_mod);
  119948. /* p'.y = 4 * p.y^2 * p.x */
  119949. sp_1024_mont_mul_16(p->y, ty, p->x, p1024_mod, p1024_mp_mod);
  119950. /* p'.x = l^2 */
  119951. sp_1024_mont_sqr_16(p->x, l, p1024_mod, p1024_mp_mod);
  119952. /* p'.x = l^2 - 4 * p.y^2 * p.x */
  119953. sp_1024_mont_sub_16(p->x, p->x, p->y, p1024_mod);
  119954. /* p'.x = l^2 - 8 * p.y^2 * p.x */
  119955. sp_1024_mont_sub_16(p->x, p->x, p->y, p1024_mod);
  119956. /* p'.y = 4 * p.y^2 * p.x - p.x' */
  119957. sp_1024_mont_sub_16(ty, p->y, p->x, p1024_mod);
  119958. /* p'.y = (4 * p.y^2 * p.x - p'.x) * l */
  119959. sp_1024_mont_mul_16(p->y, ty, l, p1024_mod, p1024_mp_mod);
  119960. /* p'.y = (4 * p.y^2 * p.x - p'.x) * l - 8 * p.y^4 */
  119961. sp_1024_mont_sub_16(p->y, p->y, t1, p1024_mod);
  119962. }
  119963. #ifdef WOLFSSL_SP_SMALL
  119964. /*
  119965. * Calculate gradient of line through C, P and -C-P, accumulate line and
  119966. * add P to C.
  119967. *
  119968. * Calculations:
  119969. * r.x = (q.x + p.x) * c.y - (q.x * c.z^2 + c.x) * p.y * c.z
  119970. * r.y = (c.x - p.x * c.z^2) * q.y * c.z
  119971. * v* = v* * r*
  119972. * r = p.y * c.z^3 - c.y
  119973. * c'.x = r^2 + h^3 - 2 * c.x * h^2
  119974. * c'.y = r * (c'.x - c.x * h^2) - c.y * h^3
  119975. * c'.z = (c.x - p.x * c.z^2) * c.z
  119976. *
  119977. * @param [in,out] vx X-ordinate of projective value in F*.
  119978. * @param [in,out] vy Y-ordinate of projective value in F*.
  119979. * @param [in,out] c ECC point - current point on E(F_p^2) to be added
  119980. * to.
  119981. * @param [in] p ECC point - point on E(F_p^2) to add.
  119982. * @param [in] q ECC point - second point on E(F_P^2).
  119983. * @param [in] qx_px SP that is a constant value across adds.
  119984. * @param [in] t SP temporaries (6 used).
  119985. */
  119986. static void sp_1024_accumulate_line_add_one_16(sp_digit* vx, sp_digit* vy,
  119987. sp_point_1024* c, sp_point_1024* p, sp_point_1024* q, sp_digit* qx_px,
  119988. sp_digit* t)
  119989. {
  119990. sp_digit* t1 = t;
  119991. sp_digit* t2 = t + 2 * 16;
  119992. sp_digit* rx = t + 4 * 16;
  119993. sp_digit* ry = t + 6 * 16;
  119994. sp_digit* h = t + 8 * 16;
  119995. sp_digit* r = t + 10 * 16;
  119996. /* r.x = (q.x + p.x) * c.y */
  119997. sp_1024_mont_mul_16(rx, qx_px, c->y, p1024_mod, p1024_mp_mod);
  119998. /* t2 = c.z^2 */
  119999. sp_1024_mont_sqr_16(t2, c->z, p1024_mod, p1024_mp_mod);
  120000. /* t1 = q.x * c.z^2 */
  120001. sp_1024_mont_mul_16(t1, q->x, t2, p1024_mod, p1024_mp_mod);
  120002. /* t1 = q.x * c.z^2 + c.x */
  120003. sp_1024_mont_add_16(h, t1, c->x, p1024_mod);
  120004. /* r = p.y * c.z */
  120005. sp_1024_mont_mul_16(ry, p->y, c->z, p1024_mod, p1024_mp_mod);
  120006. /* t1 = (q.x * c.z^2 + c.x) * p.y * c.z */
  120007. sp_1024_mont_mul_16(t1, h, ry, p1024_mod, p1024_mp_mod);
  120008. /* r = p.y * c.z * c.z^2 = p.y * c.z^3 */
  120009. sp_1024_mont_mul_16(r, ry, t2, p1024_mod, p1024_mp_mod);
  120010. /* r.x -= (q.x * c.z^2 + c.x) * p.y * c.z */
  120011. sp_1024_mont_sub_16(rx, rx, t1, p1024_mod);
  120012. /* t1 = p.x * c.z^2 */
  120013. sp_1024_mont_mul_16(t1, p->x, t2, p1024_mod, p1024_mp_mod);
  120014. /* h = c.x - p.x * c.z^2 */
  120015. sp_1024_mont_sub_16(h, c->x, t1, p1024_mod);
  120016. /* c'.z = (c.x - p.x * c.z^2) * c.z */
  120017. sp_1024_mont_mul_16(c->z, h, c->z, p1024_mod, p1024_mp_mod);
  120018. /* r.y = (c.x - p.x * c.z^2) * c.z * q.y */
  120019. sp_1024_mont_mul_16(ry, c->z, q->y, p1024_mod, p1024_mp_mod);
  120020. /* v = v * r */
  120021. sp_1024_proj_mul_16(vx, vy, rx, ry, t);
  120022. /* Add p to c using previously calculated values.
  120023. * h = c.x - p.x * c.z^2
  120024. * r = p.y * c.z^3
  120025. * c'.z = (c.x - p.x * c.z^2) * c.z
  120026. */
  120027. /* r = p.y * c.z^3 - c.y */
  120028. sp_1024_mont_sub_16(r, r, c->y, p1024_mod);
  120029. /* t1 = r^2 */
  120030. sp_1024_mont_sqr_16(t1, r, p1024_mod, p1024_mp_mod);
  120031. /* t2 = h^2 */
  120032. sp_1024_mont_sqr_16(rx, h, p1024_mod, p1024_mp_mod);
  120033. /* ry = c.x * h^2 */
  120034. sp_1024_mont_mul_16(ry, c->x, rx, p1024_mod, p1024_mp_mod);
  120035. /* t2 = h^3 */
  120036. sp_1024_mont_mul_16(t2, rx, h, p1024_mod, p1024_mp_mod);
  120037. /* c->x = r^2 + h^3 */
  120038. sp_1024_mont_add_16(c->x, t1, t2, p1024_mod);
  120039. /* t1 = 2 * c.x * h^2 */
  120040. sp_1024_mont_dbl_16(t1, ry, p1024_mod);
  120041. /* c'.x = r^2 + h^3 - 2 * c.x * h^2 */
  120042. sp_1024_mont_sub_16(c->x, c->x, t1, p1024_mod);
  120043. /* ry = c'.x - c.x * h^2 */
  120044. sp_1024_mont_sub_16(t1, c->x, ry, p1024_mod);
  120045. /* ry = r * (c'.x - c.x * h^2) */
  120046. sp_1024_mont_mul_16(ry, t1, r, p1024_mod, p1024_mp_mod);
  120047. /* t2 = c.y * h^3 */
  120048. sp_1024_mont_mul_16(t1, t2, c->y, p1024_mod, p1024_mp_mod);
  120049. /* c'.y = r * (c'.x - c.x * h^2) - c.y * h^3 */
  120050. sp_1024_mont_sub_16(c->y, ry, t1, p1024_mod);
  120051. }
  120052. /*
  120053. * Calculate r = pairing <P, Q>.
  120054. *
  120055. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  120056. *
  120057. * @param [in] key SAKKE key.
  120058. * @param [in] p First point on E(F_p)[q].
  120059. * @param [in] q Second point on E(F_p)[q].
  120060. * @param [in] r Result of calculation.
  120061. * @return 0 on success.
  120062. * @return MEMORY_E when dynamic memory allocation fails.
  120063. * @return Other -ve value on internal failure.
  120064. */
  120065. int sp_Pairing_1024(const ecc_point* pm, const ecc_point* qm, mp_int* res)
  120066. {
  120067. int err = MP_OKAY;
  120068. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120069. !defined(WOLFSSL_SP_NO_MALLOC)
  120070. sp_digit* td = NULL;
  120071. sp_digit* t;
  120072. sp_digit* vx;
  120073. sp_digit* vy;
  120074. sp_digit* qx_px;
  120075. #else
  120076. sp_digit t[6 * 2 * 16];
  120077. sp_digit vx[2 * 16];
  120078. sp_digit vy[2 * 16];
  120079. sp_digit qx_px[2 * 16];
  120080. sp_point_1024 pd;
  120081. sp_point_1024 qd;
  120082. sp_point_1024 cd;
  120083. #endif
  120084. sp_point_1024* p = NULL;
  120085. sp_point_1024* q = NULL;
  120086. sp_point_1024* c = NULL;
  120087. sp_digit* r = NULL;
  120088. int i;
  120089. err = sp_1024_point_new_16(NULL, pd, p);
  120090. if (err == MP_OKAY) {
  120091. err = sp_1024_point_new_16(NULL, qd, q);
  120092. }
  120093. if (err == MP_OKAY) {
  120094. err = sp_1024_point_new_16(NULL, cd, c);
  120095. }
  120096. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120097. !defined(WOLFSSL_SP_NO_MALLOC)
  120098. if (err == MP_OKAY) {
  120099. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 9 * 16 * 2, NULL,
  120100. DYNAMIC_TYPE_TMP_BUFFER);
  120101. if (td == NULL) {
  120102. err = MEMORY_E;
  120103. }
  120104. }
  120105. #endif
  120106. if (err == MP_OKAY) {
  120107. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120108. !defined(WOLFSSL_SP_NO_MALLOC)
  120109. t = td;
  120110. vx = td + 6 * 16 * 2;
  120111. vy = td + 7 * 16 * 2;
  120112. qx_px = td + 8 * 16 * 2;
  120113. #endif
  120114. r = vy;
  120115. sp_1024_point_from_ecc_point_16(p, pm);
  120116. sp_1024_point_from_ecc_point_16(q, qm);
  120117. err = sp_1024_mod_mul_norm_16(p->x, p->x, p1024_mod);
  120118. }
  120119. if (err == MP_OKAY) {
  120120. err = sp_1024_mod_mul_norm_16(p->y, p->y, p1024_mod);
  120121. }
  120122. if (err == MP_OKAY) {
  120123. err = sp_1024_mod_mul_norm_16(p->z, p->z, p1024_mod);
  120124. }
  120125. if (err == MP_OKAY) {
  120126. err = sp_1024_mod_mul_norm_16(q->x, q->x, p1024_mod);
  120127. }
  120128. if (err == MP_OKAY) {
  120129. err = sp_1024_mod_mul_norm_16(q->y, q->y, p1024_mod);
  120130. }
  120131. if (err == MP_OKAY) {
  120132. XMEMCPY(c, p, sizeof(sp_point_1024));
  120133. XMEMSET(vx, 0, sizeof(sp_digit) * 2 * 16);
  120134. vx[0] = 1;
  120135. XMEMSET(vy, 0, sizeof(sp_digit) * 2 * 16);
  120136. sp_1024_mont_add_16(qx_px, q->x, p->x, p1024_mod);
  120137. for (i = 1020; i >= 0; i--) {
  120138. /* Accumulate line into v and double point. */
  120139. sp_1024_accumulate_line_dbl_16(vx, vy, c, q, t);
  120140. if ((i > 0) && ((p1024_order[i / 64] >> (i % 64)) & 1)) {
  120141. /* Accumulate line into v and add P into C. */
  120142. sp_1024_accumulate_line_add_one_16(vx, vy, c, p, q, qx_px, t);
  120143. }
  120144. }
  120145. /* Final exponentiation */
  120146. sp_1024_proj_sqr_16(vx, vy, t);
  120147. sp_1024_proj_sqr_16(vx, vy, t);
  120148. /* Convert from PF_p[q] to F_p */
  120149. sp_1024_mont_inv_16(vx, vx, t);
  120150. sp_1024_mont_mul_16(r, vx, vy, p1024_mod, p1024_mp_mod);
  120151. XMEMSET(r + 16, 0, sizeof(sp_digit) * 16);
  120152. sp_1024_mont_reduce_16(r, p1024_mod, p1024_mp_mod);
  120153. err = sp_1024_to_mp(r, res);
  120154. }
  120155. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120156. !defined(WOLFSSL_SP_NO_MALLOC)
  120157. if (td != NULL) {
  120158. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  120159. }
  120160. #endif
  120161. sp_1024_point_free_16(c, 1, NULL);
  120162. sp_1024_point_free_16(q, 1, NULL);
  120163. sp_1024_point_free_16(p, 1, NULL);
  120164. return err;
  120165. }
  120166. #else
  120167. /*
  120168. * Calculate gradient of line through C, P and -C-P, accumulate line and
  120169. * add P to C.
  120170. *
  120171. * Both C and P have z ordinates to use in the calculation.
  120172. *
  120173. * Calculations:
  120174. * r.x = (q.x * c.z^2 + c.x) * p.y * c.z - (q.x * p.z^2 + p.x) * c.y * p.z
  120175. * r.y = (p.x * c.z^2 - c.x * p.z^2) * q.y * p.z * c.z
  120176. * v* = v* * r*
  120177. * h = p.x * c.z^2 - c.x * p.z^2
  120178. * r = p.y * c.z^3 - c.y * p.z^3
  120179. * c'.x = r^2 - h^3 - 2 * c.x * p.z^2 * h^2
  120180. * c'.y = r * (c.x * p.z^2 * h^2 - c'.x) - c.y * p.z^3 * h^3
  120181. * c'.z = (p.x * c.z^2 - c.x * p.z^2) * c.z
  120182. *
  120183. * @param [in,out] vx X-ordinate of projective value in F*.
  120184. * @param [in,out] vy Y-ordinate of projective value in F*.
  120185. * @param [in,out] c ECC point - current point on E(F_p^2) to be added
  120186. * to.
  120187. * @param [in,out] p ECC point - point on E(F_p^2) to add.
  120188. * @param [in,out] q ECC point - second point on E(F_P^2).
  120189. * @param [in,out] t SP temporaries (6 used).
  120190. * @param [in,out] neg Indicates to use negative P.
  120191. * @return 0 on success.
  120192. * @return MEMORY_E when dynamic memory allocation fails.
  120193. * @return Other -ve value on internal failure.
  120194. */
  120195. static void sp_1024_accumulate_line_add_n_16(sp_digit* vx, sp_digit* vy,
  120196. const sp_point_1024* p, const sp_point_1024* q,
  120197. sp_point_1024* c, sp_digit* t, int neg)
  120198. {
  120199. sp_digit* t1 = t;
  120200. sp_digit* t2 = t + 2 * 16;
  120201. sp_digit* rx = t + 4 * 16;
  120202. sp_digit* ry = t + 6 * 16;
  120203. sp_digit* h = t + 8 * 16;
  120204. sp_digit* r = t + 10 * 16;
  120205. /* h = p.z^2 */
  120206. sp_1024_mont_sqr_16(h, p->z, p1024_mod, p1024_mp_mod);
  120207. /* rx = q.x * p.z^2 */
  120208. sp_1024_mont_mul_16(rx, q->x, h, p1024_mod, p1024_mp_mod);
  120209. /* rx = q.x * p.z^2 + p.x */
  120210. sp_1024_mont_add_16(t2, rx, p->x, p1024_mod);
  120211. /* c.y = c.y * p.z */
  120212. sp_1024_mont_mul_16(t1, c->y, p->z, p1024_mod, p1024_mp_mod);
  120213. /* r.x = (q.x * p.z^2 + p.x) * c.y * p.z */
  120214. sp_1024_mont_mul_16(rx, t2, t1, p1024_mod, p1024_mp_mod);
  120215. /* c.y = c.y * p.z^3 */
  120216. sp_1024_mont_mul_16(c->y, t1, h, p1024_mod, p1024_mp_mod);
  120217. /* t2 = c.z^2 */
  120218. sp_1024_mont_sqr_16(t2, c->z, p1024_mod, p1024_mp_mod);
  120219. /* t1 = q.x * c.z^2 */
  120220. sp_1024_mont_mul_16(t1, q->x, t2, p1024_mod, p1024_mp_mod);
  120221. /* t1 = q.x * c.z^2 + c.x */
  120222. sp_1024_mont_add_16(t1, t1, c->x, p1024_mod);
  120223. /* c.x = c.x * p.z^2 */
  120224. sp_1024_mont_mul_16(c->x, c->x, h, p1024_mod, p1024_mp_mod);
  120225. /* r = p.y * c.z */
  120226. sp_1024_mont_mul_16(r, p->y, c->z, p1024_mod, p1024_mp_mod);
  120227. if (neg) {
  120228. /* r = -p.y * c.z */
  120229. sp_1024_mont_sub_16(r, p1024_mod, r, p1024_mod);
  120230. }
  120231. /* t1 = (q.x * c.z^2 + c.x) * p.y * c.z */
  120232. sp_1024_mont_mul_16(ry, t1, r, p1024_mod, p1024_mp_mod);
  120233. /* r.x -= (q.x * c.z^2 + c.x) * p.y * c.z */
  120234. sp_1024_mont_sub_16(rx, ry, rx, p1024_mod);
  120235. /* t1 = p.x * c.z^2 */
  120236. sp_1024_mont_mul_16(t1, p->x, t2, p1024_mod, p1024_mp_mod);
  120237. /* h = p.x * c.z^2 - c.x * p.z^2 */
  120238. sp_1024_mont_sub_16(h, t1, c->x, p1024_mod);
  120239. /* c'.z = (p.x * c.z^2 - c.x * p.z^2) * c.z */
  120240. sp_1024_mont_mul_16(t1, h, c->z, p1024_mod, p1024_mp_mod);
  120241. /* c'.z = (p.x * c.z^2 - c.x * p.z^2) * c.z * p.z */
  120242. sp_1024_mont_mul_16(c->z, t1, p->z, p1024_mod, p1024_mp_mod);
  120243. /* r.y = (p.x * c.z^2 - c.x * p.z^2) * c.z * p.z * q.y */
  120244. sp_1024_mont_mul_16(ry, c->z, q->y, p1024_mod, p1024_mp_mod);
  120245. /* r = p.y * c.z^3 */
  120246. sp_1024_mont_mul_16(t1, r, t2, p1024_mod, p1024_mp_mod);
  120247. /* r = p.y * c.z^3 - c.y * p.z^3 */
  120248. sp_1024_mont_sub_16(r, t1, c->y, p1024_mod);
  120249. /* v = v * r */
  120250. sp_1024_proj_mul_16(vx, vy, rx, ry, t);
  120251. /* Add p to c using previously calculated values.
  120252. * h = p.x * c.z^2 - c.x * p.z^2
  120253. * r = p.y * c.z^3 - c.y * p.z^3
  120254. * c'.z = (p.x * c.z^2 - c.x * p.z^2) * c.z
  120255. */
  120256. /* t1 = r^2 */
  120257. sp_1024_mont_sqr_16(t1, r, p1024_mod, p1024_mp_mod);
  120258. /* t2 = h^2 */
  120259. sp_1024_mont_sqr_16(rx, h, p1024_mod, p1024_mp_mod);
  120260. /* ry = c.x * p.z^2 * h^2 */
  120261. sp_1024_mont_mul_16(ry, rx, c->x, p1024_mod, p1024_mp_mod);
  120262. /* t2 = h^3 */
  120263. sp_1024_mont_mul_16(t2, rx, h, p1024_mod, p1024_mp_mod);
  120264. /* c'.x = r^2 - h^3 */
  120265. sp_1024_mont_sub_16(c->x, t1, t2, p1024_mod);
  120266. /* t1 = 2 * c.x * p.z^2 * h^2 */
  120267. sp_1024_mont_dbl_16(t1, ry, p1024_mod);
  120268. /* c'.x = r^2 - h^3 - 2 * c.x * p.z^2 * h^2 */
  120269. sp_1024_mont_sub_16(c->x, c->x, t1, p1024_mod);
  120270. /* ry = c.x * p.z^2 * h^2 - c'.x */
  120271. sp_1024_mont_sub_16(t1, ry, c->x, p1024_mod);
  120272. /* ry = r * (c.x * p.z^2 * h^2 - c'.x) */
  120273. sp_1024_mont_mul_16(ry, t1, r, p1024_mod, p1024_mp_mod);
  120274. /* t2 = c.y * p.z^3 * h^3 */
  120275. sp_1024_mont_mul_16(t1, t2, c->y, p1024_mod, p1024_mp_mod);
  120276. /* c'.y = r * (c.x * p.z^2 * h^2 - c'.x) - c.y * p.z^3 * h^3 */
  120277. sp_1024_mont_sub_16(c->y, ry, t1, p1024_mod);
  120278. }
  120279. /*
  120280. * Perform n accumulate doubles and doubles of P.
  120281. *
  120282. * py = 2 * p.y
  120283. *
  120284. * For each double:
  120285. * Calculate gradient of line through P, P and [-2]P, accumulate line and
  120286. * double P.
  120287. *
  120288. * Calculations:
  120289. * l = 3 * (p.x^2 - p.z^4) = 3 * (p.x - p.z^2) * (p.x + p.z^2)
  120290. * r.x = l * (p.x + q.x * p.z^2) - py^2 / 2
  120291. * r.y = py * p.z^3 * q.y (= p'.z * p.z^2 * q.y)
  120292. * v* = v*^2 * r*
  120293. * p'.x = l^2 - 2 * py^2 * p.x
  120294. * py' = (py^2 * p.x - p'.x) * l - py^4 (= 2 * p'.y)
  120295. * p'.z = py * p.z
  120296. *
  120297. * Finally:
  120298. * p'.y = py' / 2
  120299. *
  120300. * @param [in,out] vx X-ordinate of projective value in F*.
  120301. * @param [in,out] vy Y-ordinate of projective value in F*.
  120302. * @param [in,out] p ECC point - point on E(F_p^2) to double.
  120303. * @param [in] q ECC point - second point on E(F_P^2).
  120304. * @param [in] n Number of times to double.
  120305. * @param [in] t SP temporaries (6 used).
  120306. */
  120307. static void sp_1024_accumulate_line_dbl_n_16(sp_digit* vx, sp_digit* vy,
  120308. sp_point_1024* p, const sp_point_1024* q, int n, sp_digit* t)
  120309. {
  120310. sp_digit* t1 = t + 0 * 16;
  120311. sp_digit* pz2 = t + 2 * 16;
  120312. sp_digit* rx = t + 4 * 16;
  120313. sp_digit* ry = t + 6 * 16;
  120314. sp_digit* l = t + 8 * 16;
  120315. sp_digit* ty = t + 10 * 16;
  120316. int i;
  120317. /* py = 2 * p.y */
  120318. sp_1024_mont_dbl_16(p->y, p->y, p1024_mod);
  120319. for (i = 0; i < n; i++) {
  120320. /* v = v^2 */
  120321. sp_1024_proj_sqr_16(vx, vy, t);
  120322. /* pz2 = p.z^2 */
  120323. sp_1024_mont_sqr_16(pz2, p->z, p1024_mod, p1024_mp_mod);
  120324. /* t1 = p.x + p.z^2 */
  120325. sp_1024_mont_add_16(t1, p->x, pz2, p1024_mod);
  120326. /* l = p.x - p.z^2 */
  120327. sp_1024_mont_sub_16(l, p->x, pz2, p1024_mod);
  120328. /* t1 = (p.x + p.z^2) * (p.x - p.z^2) = p.x^2 - p.z^4 */
  120329. sp_1024_mont_mul_16(ty, l, t1, p1024_mod, p1024_mp_mod);
  120330. /* l = 3 * (p.x^2 - p.z^4) */
  120331. sp_1024_mont_tpl_16(l, ty, p1024_mod);
  120332. /* t1 = q.x * p.z^2 */
  120333. sp_1024_mont_mul_16(t1, q->x, pz2, p1024_mod, p1024_mp_mod);
  120334. /* t1 = p.x + q.x * p.z^2 */
  120335. sp_1024_mont_add_16(t1, p->x, t1, p1024_mod);
  120336. /* r.x = l * (p.x + q.x * p.z^2) */
  120337. sp_1024_mont_mul_16(rx, l, t1, p1024_mod, p1024_mp_mod);
  120338. /* ty = py ^ 2 */
  120339. sp_1024_mont_sqr_16(ty, p->y, p1024_mod, p1024_mp_mod);
  120340. /* t1 = py ^ 2 / 2 */
  120341. sp_1024_div2_16(t1, ty, p1024_mod);
  120342. /* r.x -= py ^ 2 / 2 */
  120343. sp_1024_mont_sub_16(rx, rx, t1, p1024_mod);
  120344. /* p'.z = py * pz */
  120345. sp_1024_mont_mul_16(p->z, p->z, p->y, p1024_mod, p1024_mp_mod);
  120346. /* r.y = p'.z * p.z^2 */
  120347. sp_1024_mont_mul_16(t1, p->z, pz2, p1024_mod, p1024_mp_mod);
  120348. /* r.y = p'.z * p.z^2 * q.y */
  120349. sp_1024_mont_mul_16(ry, t1, q->y, p1024_mod, p1024_mp_mod);
  120350. /* v = v^2 * r */
  120351. sp_1024_proj_mul_16(vx, vy, rx, ry, t);
  120352. /* Double point using previously calculated values
  120353. * l = 3 * (p.x - p.z^2).(p.x + p.z^2)
  120354. * ty = py^2
  120355. * p'.z = py * p.z
  120356. */
  120357. /* t1 = py^2 ^ 2 = py^4 */
  120358. sp_1024_mont_sqr_16(t1, ty, p1024_mod, p1024_mp_mod);
  120359. /* py' = py^2 * p. x */
  120360. sp_1024_mont_mul_16(p->y, ty, p->x, p1024_mod, p1024_mp_mod);
  120361. /* p'.x = l^2 */
  120362. sp_1024_mont_sqr_16(p->x, l, p1024_mod, p1024_mp_mod);
  120363. /* p'.x = l^2 - py^2 * p.x */
  120364. sp_1024_mont_sub_16(p->x, p->x, p->y, p1024_mod);
  120365. /* p'.x = l^2 - 2 * p.y^2 * p.x */
  120366. sp_1024_mont_sub_16(p->x, p->x, p->y, p1024_mod);
  120367. /* py' = py^2 * p.x - p.x' */
  120368. sp_1024_mont_sub_16(ty, p->y, p->x, p1024_mod);
  120369. /* py' = (p.y^2 * p.x - p'.x) * l */
  120370. sp_1024_mont_mul_16(p->y, ty, l, p1024_mod, p1024_mp_mod);
  120371. /* py' = (p.y^2 * p.x - p'.x) * l * 2 */
  120372. sp_1024_mont_dbl_16(p->y, p->y, p1024_mod);
  120373. /* py' = (p.y^2 * p.x - p'.x) * l * 2 - p.y^4 */
  120374. sp_1024_mont_sub_16(p->y, p->y, t1, p1024_mod);
  120375. }
  120376. /* p'.y = py' / 2 */
  120377. sp_1024_div2_16(p->y, p->y, p1024_mod);
  120378. }
  120379. /* Operations to perform based on order - 1.
  120380. * Sliding window. Start at bottom and stop when bottom bit is one.
  120381. * Subtract if top bit in window is one.
  120382. * Width of 6 bits.
  120383. * Pairs: #dbls, add/subtract window value
  120384. */
  120385. static const signed char sp_1024_order_op[] = {
  120386. 5, 6, -13, 9, -21, 6, -5, 8, 31, 6, 3, 6, -27, 6, 25, 9,
  120387. -1, 6, -11, 6, -13, 6, -7, 6, -15, 6, -29, 7, 25, 6, -9, 6,
  120388. -19, 7, 3, 6, 11, 9, -23, 6, 1, 6, 27, 6, 1, 7, -25, 8,
  120389. 13, 7, -13, 7, -23, 10, 19, 7, 7, 7, -3, 7, 27, 6, -7, 7,
  120390. -21, 7, 11, 7, 31, 8, 1, 7, -23, 6, -17, 6, -3, 10, 11, 6,
  120391. -21, 7, -27, 11, -29, 6, -1, 10, 15, 8, 27, 7, 17, 6, 17, 7,
  120392. -13, 8, 13, 6, 21, 7, -29, 6, 19, 7, -25, 6, 11, 9, 29, 7,
  120393. -7, 8, 27, 7, 29, 10, -1, 8, -7, 8, 17, 6, 17, 7, -27, 7,
  120394. -21, 6, -9, 6, -27, 12, -23, 6, 19, 6, 13, 6, -11, 7, 27, 6,
  120395. 17, 6, -7, 6, -25, 7, -29, 6, 9, 7, 7, 6, 13, 6, -25, 6,
  120396. -19, 6, 13, 6, -11, 6, 5, 8, 19, 6, -21, 8, 23, 7, 27, 6,
  120397. -13, 6, -19, 11, 29, 7, -15, 6, -9, 7, -21, 10, -3, 7, 21, 10,
  120398. 25, 6, -15, 6, -23, 6, 21, 6, 1, 6, 21, 7, -3, 6, -3, 7,
  120399. -7, 6, -23, 7, 7, 8, 15, 9, 5, 6, -11, 6, 21, 11, -27, 7,
  120400. 27, 6, -11, 6, 31, 6, -21, 6, 19, 6, -7, 8, -7, 13, -3, 6,
  120401. -7, 7, -3, 6, 1, 6, 7, 8, 19, 8, 11, 9, -9, 7, -31, 12,
  120402. 25, 6, -17, 9, -15, 7, 5, 6, 25, 7, -5, 7, -25, 6, 17, 8,
  120403. -19, 6, -13, 6, 27, 8, 1, 7, -5, 7, -1, 6, 21, 6, 3, 10,
  120404. -3, 1,
  120405. };
  120406. /*
  120407. * Calculate r = pairing <P, Q>.
  120408. *
  120409. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  120410. *
  120411. * Sliding window. Start at bottom and stop when bottom bit is one.
  120412. * Subtract if top bit in window is one.
  120413. * Width of 6 bits.
  120414. *
  120415. * @param [in] pm First point on E(F_p)[q].
  120416. * @param [in] qm Second point on E(F_p)[q].
  120417. * @param [in] res Result of calculation.
  120418. * @return 0 on success.
  120419. * @return MEMORY_E when dynamic memory allocation fails.
  120420. */
  120421. int sp_Pairing_1024(const ecc_point* pm, const ecc_point* qm, mp_int* res)
  120422. {
  120423. int err;
  120424. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120425. !defined(WOLFSSL_SP_NO_MALLOC)
  120426. sp_digit* td = NULL;
  120427. sp_digit* t;
  120428. sp_digit* vx;
  120429. sp_digit* vy;
  120430. sp_digit (*pre_vx)[32];
  120431. sp_digit (*pre_vy)[32];
  120432. sp_digit (*pre_nvy)[32];
  120433. sp_point_1024* pre_p;
  120434. #else
  120435. sp_digit t[6 * 2 * 16];
  120436. sp_digit vx[2 * 16];
  120437. sp_digit vy[2 * 16];
  120438. sp_digit pre_vx[16][32];
  120439. sp_digit pre_vy[16][32];
  120440. sp_digit pre_nvy[16][32];
  120441. sp_point_1024 pre_p[16];
  120442. sp_point_1024 pd;
  120443. sp_point_1024 qd;
  120444. sp_point_1024 cd;
  120445. #endif
  120446. sp_point_1024* p = NULL;
  120447. sp_point_1024* q = NULL;
  120448. sp_point_1024* c = NULL;
  120449. sp_digit* r = NULL;
  120450. int i;
  120451. int j;
  120452. err = sp_1024_point_new_16(NULL, pd, p);
  120453. if (err == MP_OKAY) {
  120454. err = sp_1024_point_new_16(NULL, qd, q);
  120455. }
  120456. if (err == MP_OKAY) {
  120457. err = sp_1024_point_new_16(NULL, cd, c);
  120458. }
  120459. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120460. !defined(WOLFSSL_SP_NO_MALLOC)
  120461. if (err == MP_OKAY) {
  120462. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 56 * 16 * 2 + 16 * sizeof(sp_point_1024), NULL,
  120463. DYNAMIC_TYPE_TMP_BUFFER);
  120464. if (td == NULL) {
  120465. err = MEMORY_E;
  120466. }
  120467. }
  120468. #endif
  120469. if (err == MP_OKAY) {
  120470. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120471. !defined(WOLFSSL_SP_NO_MALLOC)
  120472. t = td;
  120473. vx = td + 6 * 16 * 2;
  120474. vy = td + 7 * 16 * 2;
  120475. pre_vx = (sp_digit(*)[32])(td + 8 * 16 * 2);
  120476. pre_vy = (sp_digit(*)[32])(td + 24 * 16 * 2);
  120477. pre_nvy = (sp_digit(*)[32])(td + 40 * 16 * 2);
  120478. pre_p = (sp_point_1024*)(td + 56 * 16 * 2);
  120479. #endif
  120480. r = vy;
  120481. sp_1024_point_from_ecc_point_16(p, pm);
  120482. sp_1024_point_from_ecc_point_16(q, qm);
  120483. err = sp_1024_mod_mul_norm_16(p->x, p->x, p1024_mod);
  120484. }
  120485. if (err == MP_OKAY) {
  120486. err = sp_1024_mod_mul_norm_16(p->y, p->y, p1024_mod);
  120487. }
  120488. if (err == MP_OKAY) {
  120489. err = sp_1024_mod_mul_norm_16(p->z, p->z, p1024_mod);
  120490. }
  120491. if (err == MP_OKAY) {
  120492. err = sp_1024_mod_mul_norm_16(q->x, q->x, p1024_mod);
  120493. }
  120494. if (err == MP_OKAY) {
  120495. err = sp_1024_mod_mul_norm_16(q->y, q->y, p1024_mod);
  120496. }
  120497. if (err == MP_OKAY) {
  120498. /* Generate pre-computation table: 1, 3, ... , 31 */
  120499. XMEMCPY(&pre_p[0], p, sizeof(sp_point_1024));
  120500. XMEMSET(pre_vx[0], 0, sizeof(sp_digit) * 2 * 16);
  120501. pre_vx[0][0] = 1;
  120502. XMEMSET(pre_vy[0], 0, sizeof(sp_digit) * 2 * 16);
  120503. sp_1024_mont_sub_16(pre_nvy[0], p1024_mod, pre_vy[0], p1024_mod);
  120504. /* [2]P for adding */
  120505. XMEMCPY(c, p, sizeof(sp_point_1024));
  120506. XMEMSET(vx, 0, sizeof(sp_digit) * 2 * 16);
  120507. vx[0] = 1;
  120508. XMEMSET(vy, 0, sizeof(sp_digit) * 2 * 16);
  120509. sp_1024_accumulate_line_dbl_16(vx, vy, c, q, t);
  120510. /* 3, 5, ... */
  120511. for (i = 1; i < 16; i++) {
  120512. XMEMCPY(&pre_p[i], &pre_p[i-1], sizeof(sp_point_1024));
  120513. XMEMCPY(pre_vx[i], pre_vx[i-1], sizeof(sp_digit) * 2 * 16);
  120514. XMEMCPY(pre_vy[i], pre_vy[i-1], sizeof(sp_digit) * 2 * 16);
  120515. sp_1024_proj_mul_16(pre_vx[i], pre_vy[i], vx, vy, t);
  120516. sp_1024_accumulate_line_add_n_16(pre_vx[i], pre_vy[i], c,
  120517. q, &pre_p[i], t, 0);
  120518. sp_1024_mont_sub_16(pre_nvy[i], p1024_mod, pre_vy[i], p1024_mod);
  120519. }
  120520. j = sp_1024_order_op[0] / 2;
  120521. XMEMCPY(c, &pre_p[j], sizeof(sp_point_1024));
  120522. XMEMCPY(vx, pre_vx[j], sizeof(sp_digit) * 2 * 16);
  120523. XMEMCPY(vy, pre_vy[j], sizeof(sp_digit) * 2 * 16);
  120524. /* Accumulate line into v and double point n times. */
  120525. sp_1024_accumulate_line_dbl_n_16(vx, vy, c, q,
  120526. sp_1024_order_op[1], t);
  120527. for (i = 2; i < 290; i += 2) {
  120528. j = sp_1024_order_op[i];
  120529. if (j > 0) {
  120530. j /= 2;
  120531. /* Accumulate line into v and add P into C. */
  120532. sp_1024_proj_mul_16(vx, vy, pre_vx[j], pre_vy[j], t);
  120533. sp_1024_accumulate_line_add_n_16(vx, vy, &pre_p[j], q, c,
  120534. t, 0);
  120535. }
  120536. else {
  120537. j = -j / 2;
  120538. /* Accumulate line into v and add P into C. */
  120539. sp_1024_proj_mul_16(vx, vy, pre_vx[j], pre_nvy[j], t);
  120540. sp_1024_accumulate_line_add_n_16(vx, vy, &pre_p[j], q, c,
  120541. t, 1);
  120542. }
  120543. /* Accumulate line into v and double point n times. */
  120544. sp_1024_accumulate_line_dbl_n_16(vx, vy, c, q,
  120545. sp_1024_order_op[i + 1], t);
  120546. }
  120547. /* Final exponentiation */
  120548. sp_1024_proj_sqr_16(vx, vy, t);
  120549. sp_1024_proj_sqr_16(vx, vy, t);
  120550. /* Convert from PF_p[q] to F_p */
  120551. sp_1024_mont_inv_16(vx, vx, t);
  120552. sp_1024_mont_mul_16(r, vx, vy, p1024_mod, p1024_mp_mod);
  120553. XMEMSET(r + 16, 0, sizeof(sp_digit) * 16);
  120554. sp_1024_mont_reduce_16(r, p1024_mod, p1024_mp_mod);
  120555. err = sp_1024_to_mp(r, res);
  120556. }
  120557. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120558. !defined(WOLFSSL_SP_NO_MALLOC)
  120559. if (td != NULL) {
  120560. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  120561. }
  120562. #endif
  120563. sp_1024_point_free_16(c, 1, NULL);
  120564. sp_1024_point_free_16(q, 1, NULL);
  120565. sp_1024_point_free_16(p, 1, NULL);
  120566. return err;
  120567. }
  120568. #endif /* WOLFSSL_SP_SMALL */
  120569. #ifdef WOLFSSL_SP_SMALL
  120570. /*
  120571. * Generate table for pairing.
  120572. *
  120573. * Small implementation does not use a table - returns 0 length.
  120574. *
  120575. * pm [in] Point to generate table for.
  120576. * table [in] Generated table.
  120577. * len [in,out] On in, the size of the buffer.
  120578. * On out, length of table generated.
  120579. * @return 0 on success.
  120580. * LENGTH_ONLY_E when table is NULL and only length returned.
  120581. * BUFFER_E when len is too small.
  120582. */
  120583. int sp_Pairing_gen_precomp_1024(const ecc_point* pm, byte* table,
  120584. word32* len)
  120585. {
  120586. int err = 0;
  120587. if (table == NULL) {
  120588. *len = 0;
  120589. err = LENGTH_ONLY_E;
  120590. }
  120591. else if (*len != 0) {
  120592. err = BUFFER_E;
  120593. }
  120594. (void)*pm;
  120595. return err;
  120596. }
  120597. /*
  120598. * Calculate r = pairing <P, Q>.
  120599. *
  120600. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  120601. *
  120602. * Small implementation does not use a table - use the normal implementation.
  120603. *
  120604. * @param [in] pm First point on E(F_p)[q].
  120605. * @param [in] qm Second point on E(F_p)[q].
  120606. * @param [in] res Result of calculation.
  120607. * @param [in] table Precomputed table of values.
  120608. * @param [in] len Length of precomputed table of values in bytes.
  120609. * @return 0 on success.
  120610. * @return MEMORY_E when dynamic memory allocation fails.
  120611. */
  120612. int sp_Pairing_precomp_1024(const ecc_point* pm, const ecc_point* qm,
  120613. mp_int* res, const byte* table, word32 len)
  120614. {
  120615. (void)table;
  120616. (void)len;
  120617. return sp_Pairing_1024(pm, qm, res);
  120618. }
  120619. #else
  120620. /*
  120621. * Calc l and c for the point when doubling p.
  120622. *
  120623. * l = 3 * (p.x^2 - 1) / (2 * p.y)
  120624. * c = l * p.x - p.y
  120625. *
  120626. * @param [out] lr Gradient result - table entry.
  120627. * @param [out] cr Constant result - table entry.
  120628. * @param [in] px X-ordinate of point to double.
  120629. * @param [in] py Y-ordinate of point to double.
  120630. * @param [in] t SP temporaries (3 used).
  120631. */
  120632. static void sp_1024_accum_dbl_calc_lc_16(sp_digit* lr, sp_digit* cr,
  120633. const sp_digit* px, const sp_digit* py, sp_digit* t)
  120634. {
  120635. sp_digit* t1 = t + 0 * 2 * 16;
  120636. sp_digit* t2 = t + 2 * 2 * 16;
  120637. sp_digit* l = t + 4 * 2 * 16;
  120638. /* l = 1 / 2 * p.y */
  120639. sp_1024_mont_dbl_16(l, py, p1024_mod);
  120640. sp_1024_mont_inv_16(l, l, t);
  120641. /* t1 = p.x^2 */
  120642. sp_1024_mont_sqr_16(t1, px, p1024_mod, p1024_mp_mod);
  120643. /* t1 = p.x - 1 */
  120644. sp_1024_mont_sub_16(t1, t1, p1024_norm_mod, p1024_mod);
  120645. /* t1 = 3 * (p.x^2 - 1) */
  120646. sp_1024_mont_dbl_16(t2, t1, p1024_mod);
  120647. sp_1024_mont_add_16(t1, t1, t2, p1024_mod);
  120648. /* t1 = 3 * (p.x^2 - 1) / (2 * p.y) */
  120649. sp_1024_mont_mul_16(l, l, t1, p1024_mod, p1024_mp_mod);
  120650. /* t2 = l * p.x */
  120651. sp_1024_mont_mul_16(t2, l, px, p1024_mod, p1024_mp_mod);
  120652. /* c = t2 = l * p.x - p.y */
  120653. sp_1024_mont_sub_16(t2, t2, py, p1024_mod);
  120654. XMEMCPY(lr, l, sizeof(sp_digit) * 16);
  120655. XMEMCPY(cr, t2, sizeof(sp_digit) * 16);
  120656. }
  120657. /*
  120658. * Calc l and c when adding p and c.
  120659. *
  120660. * l = (c.y - p.y) / (c.x - p.x)
  120661. * c = (p.x * c.y - cx * p.y) / (cx - p.x)
  120662. *
  120663. * @param [out] lr Gradient result - table entry.
  120664. * @param [out] cr Constant result - table entry.
  120665. * @param [in] px X-ordinate of point to add.
  120666. * @param [in] py Y-ordinate of point to add.
  120667. * @param [in] cx X-ordinate of current point.
  120668. * @param [in] cy Y-ordinate of current point.
  120669. * @param [in] t SP temporaries (3 used).
  120670. */
  120671. static void sp_1024_accum_add_calc_lc_16(sp_digit* lr, sp_digit* cr,
  120672. const sp_digit* px, const sp_digit* py, const sp_digit* cx,
  120673. const sp_digit* cy, sp_digit* t)
  120674. {
  120675. sp_digit* t1 = t + 0 * 2 * 16;
  120676. sp_digit* c = t + 2 * 2 * 16;
  120677. sp_digit* l = t + 4 * 2 * 16;
  120678. /* l = 1 / (c.x - p.x) */
  120679. sp_1024_mont_sub_16(l, cx, px, p1024_mod);
  120680. sp_1024_mont_inv_16(l, l, t);
  120681. /* c = p.x * c.y */
  120682. sp_1024_mont_mul_16(c, px, cy, p1024_mod, p1024_mp_mod);
  120683. /* t1 = c.x * p.y */
  120684. sp_1024_mont_mul_16(t1, cx, py, p1024_mod, p1024_mp_mod);
  120685. /* c = (p.x * c.y) - (c.x * p.y) */
  120686. sp_1024_mont_sub_16(c, c, t1, p1024_mod);
  120687. /* c = ((p.x * c.y) - (c.x * p.y)) / (c.x - p.x) */
  120688. sp_1024_mont_mul_16(c, c, l, p1024_mod, p1024_mp_mod);
  120689. /* t1 = c.y - p.y */
  120690. sp_1024_mont_sub_16(t1, cy, py, p1024_mod);
  120691. /* l = (c.y - p.y) / (c.x - p.x) */
  120692. sp_1024_mont_mul_16(l, t1, l, p1024_mod, p1024_mp_mod);
  120693. XMEMCPY(lr, l, sizeof(sp_digit) * 16);
  120694. XMEMCPY(cr, c, sizeof(sp_digit) * 16);
  120695. }
  120696. /*
  120697. * Calculate vx and vy given gradient l and constant c and point q.
  120698. *
  120699. * l is a the gradient and is multiplied by q->x.
  120700. * c is a the constant that is added to the multiplicative result.
  120701. * q->y is the y-ordinate in result to multiply.
  120702. *
  120703. * if dbl
  120704. * v* = v*^2
  120705. * r.x = l * q.x + c
  120706. * r.y = q->y
  120707. * v* = v* * r*
  120708. *
  120709. * @param [in,out] vx X-ordinate of projective value in F*.
  120710. * @param [in,out] vy Y-ordinate of projective value in F*.
  120711. * @param [in] l Gradient to multiply with.
  120712. * @param [in] c Constant to add with.
  120713. * @param [in] q ECC point - second point on E(F_P^2).
  120714. * @param [in] t SP temporaries (3 used).
  120715. * @param [in] dbl Indicates whether this is for doubling. Otherwise
  120716. * adding.
  120717. */
  120718. static void sp_1024_accumulate_line_lc_16(sp_digit* vx, sp_digit* vy,
  120719. const sp_digit* l, const sp_digit* c, const sp_point_1024* q,
  120720. sp_digit* t, int dbl)
  120721. {
  120722. sp_digit* rx = t + 4 * 2 * 16;
  120723. /* v = v^2 */
  120724. if (dbl) {
  120725. sp_1024_proj_sqr_16(vx, vy, t);
  120726. }
  120727. /* rx = l * q.x + c */
  120728. sp_1024_mont_mul_16(rx, l, q->x, p1024_mod, p1024_mp_mod);
  120729. sp_1024_mont_add_16(rx, rx, c, p1024_mod);
  120730. /* v = v^2 * r */
  120731. sp_1024_proj_mul_16(vx, vy, rx, q->y, t);
  120732. }
  120733. /* Operations to perform based on order - 1.
  120734. * Sliding window. Start at bottom and stop when bottom bit is one.
  120735. * Subtract if top bit in window is one.
  120736. * Width of 6 bits.
  120737. * Pairs: #dbls, add/subtract window value
  120738. */
  120739. static const signed char sp_1024_order_op_pre[] = {
  120740. 5, 6, -13, 9, -21, 6, -5, 8, 31, 6, 3, 6, -27, 6, 25, 9,
  120741. -1, 6, -11, 6, -13, 6, -7, 6, -15, 6, -29, 7, 25, 6, -9, 6,
  120742. -19, 7, 3, 6, 11, 9, -23, 6, 1, 6, 27, 6, 1, 7, -25, 8,
  120743. 13, 7, -13, 7, -23, 10, 19, 7, 7, 7, -3, 7, 27, 6, -7, 7,
  120744. -21, 7, 11, 7, 31, 8, 1, 7, -23, 6, -17, 6, -3, 10, 11, 6,
  120745. -21, 7, -27, 11, -29, 6, -1, 10, 15, 8, 27, 7, 17, 6, 17, 7,
  120746. -13, 8, 13, 6, 21, 7, -29, 6, 19, 7, -25, 6, 11, 9, 29, 7,
  120747. -7, 8, 27, 7, 29, 10, -1, 8, -7, 8, 17, 6, 17, 7, -27, 7,
  120748. -21, 6, -9, 6, -27, 12, -23, 6, 19, 6, 13, 6, -11, 7, 27, 6,
  120749. 17, 6, -7, 6, -25, 7, -29, 6, 9, 7, 7, 6, 13, 6, -25, 6,
  120750. -19, 6, 13, 6, -11, 6, 5, 8, 19, 6, -21, 8, 23, 7, 27, 6,
  120751. -13, 6, -19, 11, 29, 7, -15, 6, -9, 7, -21, 10, -3, 7, 21, 10,
  120752. 25, 6, -15, 6, -23, 6, 21, 6, 1, 6, 21, 7, -3, 6, -3, 7,
  120753. -7, 6, -23, 7, 7, 8, 15, 9, 5, 6, -11, 6, 21, 11, -27, 7,
  120754. 27, 6, -11, 6, 31, 6, -21, 6, 19, 6, -7, 8, -7, 13, -3, 6,
  120755. -7, 7, -3, 6, 1, 6, 7, 8, 19, 8, 11, 9, -9, 7, -31, 12,
  120756. 25, 6, -17, 9, -15, 7, 5, 6, 25, 7, -5, 7, -25, 6, 17, 8,
  120757. -19, 6, -13, 6, 27, 8, 1, 7, -5, 7, -1, 6, 21, 6, 3, 10,
  120758. -3, 1,
  120759. };
  120760. /*
  120761. * Generate table for pairing.
  120762. *
  120763. * Calculate the graident (l) and constant (c) at each step of the way.
  120764. * Sliding window. Start at bottom and stop when bottom bit is one.
  120765. * Subtract if top bit in window is one.
  120766. * Width of 6 bits.
  120767. *
  120768. * pm [in] Point to generate table for.
  120769. * table [in] Generated table.
  120770. * len [in,out] On in, the size of the buffer.
  120771. * On out, length of table generated.
  120772. * @return 0 on success.
  120773. * LENGTH_ONLY_E when table is NULL and only length returned.
  120774. * BUFFER_E when len is too small.
  120775. * MEMORY_E when dynamic memory allocation fauls.
  120776. */
  120777. int sp_Pairing_gen_precomp_1024(const ecc_point* pm, byte* table,
  120778. word32* len)
  120779. {
  120780. int err = 0;
  120781. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120782. !defined(WOLFSSL_SP_NO_MALLOC)
  120783. sp_digit* td = NULL;
  120784. sp_digit* t;
  120785. sp_point_1024* pre_p;
  120786. #else
  120787. sp_digit t[6 * 2 * 16];
  120788. sp_point_1024 pre_p[16];
  120789. sp_point_1024 pd;
  120790. sp_point_1024 cd;
  120791. sp_point_1024 negd;
  120792. #endif
  120793. sp_point_1024* p = NULL;
  120794. sp_point_1024* c = NULL;
  120795. sp_point_1024* neg = NULL;
  120796. int i;
  120797. int j;
  120798. int k;
  120799. sp_table_entry_1024* precomp = (sp_table_entry_1024*)table;
  120800. if (table == NULL) {
  120801. *len = sizeof(sp_table_entry_1024) * 1167;
  120802. err = LENGTH_ONLY_E;
  120803. }
  120804. if ((err == MP_OKAY) &&
  120805. (*len < (int)(sizeof(sp_table_entry_1024) * 1167))) {
  120806. err = BUFFER_E;
  120807. }
  120808. if (err == MP_OKAY) {
  120809. err = sp_1024_point_new_16(NULL, pd, p);
  120810. }
  120811. if (err == MP_OKAY) {
  120812. err = sp_1024_point_new_16(NULL, cd, c);
  120813. }
  120814. if (err == MP_OKAY) {
  120815. err = sp_1024_point_new_16(NULL, negd, neg);
  120816. }
  120817. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120818. !defined(WOLFSSL_SP_NO_MALLOC)
  120819. if (err == MP_OKAY) {
  120820. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 6 * 16 * 2 + 16 * sizeof(sp_point_1024), NULL,
  120821. DYNAMIC_TYPE_TMP_BUFFER);
  120822. if (td == NULL) {
  120823. err = MEMORY_E;
  120824. }
  120825. }
  120826. #endif
  120827. if (err == MP_OKAY) {
  120828. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120829. !defined(WOLFSSL_SP_NO_MALLOC)
  120830. t = td;
  120831. pre_p = (sp_point_1024*)(td + 6 * 16 * 2);
  120832. #endif
  120833. sp_1024_point_from_ecc_point_16(p, pm);
  120834. err = sp_1024_mod_mul_norm_16(p->x, p->x, p1024_mod);
  120835. }
  120836. if (err == MP_OKAY) {
  120837. err = sp_1024_mod_mul_norm_16(p->y, p->y, p1024_mod);
  120838. }
  120839. if (err == MP_OKAY) {
  120840. XMEMCPY(p->z, p1024_norm_mod, sizeof(p1024_norm_mod));
  120841. neg->infinity = 0;
  120842. c->infinity = 0;
  120843. /* Generate pre-computation table: 1, 3, ... , 31 */
  120844. XMEMCPY(&pre_p[0], p, sizeof(sp_point_1024));
  120845. /* [2]P for adding */
  120846. sp_1024_proj_point_dbl_16(c, p, t);
  120847. /* 1, 3, ... */
  120848. for (i = 1; i < 16; i++) {
  120849. sp_1024_proj_point_add_16(&pre_p[i], &pre_p[i-1], c, t);
  120850. sp_1024_mont_map_16(&pre_p[i], t);
  120851. }
  120852. k = 0;
  120853. j = sp_1024_order_op_pre[0] / 2;
  120854. XMEMCPY(c, &pre_p[j], sizeof(sp_point_1024));
  120855. for (j = 0; j < sp_1024_order_op_pre[1]; j++) {
  120856. sp_1024_accum_dbl_calc_lc_16(precomp[k].x, precomp[k].y, c->x, c->y, t);
  120857. k++;
  120858. sp_1024_proj_point_dbl_16(c, c, t);
  120859. sp_1024_mont_map_16(c, t);
  120860. }
  120861. for (i = 2; i < 290; i += 2) {
  120862. j = sp_1024_order_op_pre[i];
  120863. if (j > 0) {
  120864. sp_1024_accum_add_calc_lc_16(precomp[k].x, precomp[k].y,
  120865. pre_p[j/2].x, pre_p[j/2].y, c->x, c->y, t);
  120866. k++;
  120867. sp_1024_proj_point_add_16(c, c, &pre_p[j/2], t);
  120868. sp_1024_mont_map_16(c, t);
  120869. }
  120870. else {
  120871. XMEMCPY(neg->x, pre_p[-j / 2].x, sizeof(pre_p->x));
  120872. sp_1024_mont_sub_16(neg->y, p1024_mod, pre_p[-j / 2].y,
  120873. p1024_mod);
  120874. XMEMCPY(neg->z, pre_p[-j / 2].z, sizeof(pre_p->z));
  120875. sp_1024_accum_add_calc_lc_16(precomp[k].x, precomp[k].y,
  120876. neg->x, neg->y, c->x, c->y, t);
  120877. k++;
  120878. sp_1024_proj_point_add_16(c, c, neg, t);
  120879. sp_1024_mont_map_16(c, t);
  120880. }
  120881. for (j = 0; j < sp_1024_order_op_pre[i + 1]; j++) {
  120882. sp_1024_accum_dbl_calc_lc_16(precomp[k].x, precomp[k].y, c->x, c->y, t);
  120883. k++;
  120884. sp_1024_proj_point_dbl_16(c, c, t);
  120885. sp_1024_mont_map_16(c, t);
  120886. }
  120887. }
  120888. *len = sizeof(sp_table_entry_1024) * 1167;
  120889. }
  120890. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120891. !defined(WOLFSSL_SP_NO_MALLOC)
  120892. if (td != NULL) {
  120893. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  120894. }
  120895. #endif
  120896. sp_1024_point_free_16(neg, 1, NULL);
  120897. sp_1024_point_free_16(c, 1, NULL);
  120898. sp_1024_point_free_16(p, 1, NULL);
  120899. return err;
  120900. }
  120901. /*
  120902. * Calculate r = pairing <P, Q>.
  120903. *
  120904. * That is, multiply base in PF_p[q] by the scalar s, such that s.P = Q.
  120905. *
  120906. * Sliding window. Start at bottom and stop when bottom bit is one.
  120907. * Subtract if top bit in window is one.
  120908. * Width of 6 bits.
  120909. * Pre-generate values in window (1, 3, ...) - only V.
  120910. * Table contains all gradient l and a constant for each point on the path.
  120911. *
  120912. * @param [in] pm First point on E(F_p)[q].
  120913. * @param [in] qm Second point on E(F_p)[q].
  120914. * @param [in] res Result of calculation.
  120915. * @param [in] table Precomputed table of values.
  120916. * @param [in] len Length of precomputed table of values in bytes.
  120917. * @return 0 on success.
  120918. * @return MEMORY_E when dynamic memory allocation fails.
  120919. */
  120920. int sp_Pairing_precomp_1024(const ecc_point* pm, const ecc_point* qm,
  120921. mp_int* res, const byte* table, word32 len)
  120922. {
  120923. int err = 0;
  120924. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120925. !defined(WOLFSSL_SP_NO_MALLOC)
  120926. sp_digit* td = NULL;
  120927. sp_digit* t;
  120928. sp_digit* vx;
  120929. sp_digit* vy;
  120930. sp_digit (*pre_vx)[32];
  120931. sp_digit (*pre_vy)[32];
  120932. sp_digit (*pre_nvy)[32];
  120933. #else
  120934. sp_digit t[6 * 2 * 16];
  120935. sp_digit vx[2 * 16];
  120936. sp_digit vy[2 * 16];
  120937. sp_digit pre_vx[16][32];
  120938. sp_digit pre_vy[16][32];
  120939. sp_digit pre_nvy[16][32];
  120940. sp_point_1024 pd;
  120941. sp_point_1024 qd;
  120942. sp_point_1024 cd;
  120943. #endif
  120944. sp_point_1024* p = NULL;
  120945. sp_point_1024* q = NULL;
  120946. sp_point_1024* c = NULL;
  120947. sp_digit* r = NULL;
  120948. int i;
  120949. int j;
  120950. int k;
  120951. const sp_table_entry_1024* precomp = (const sp_table_entry_1024*)table;
  120952. if (len < (int)(sizeof(sp_table_entry_1024) * 1167)) {
  120953. err = BUFFER_E;
  120954. }
  120955. if (err == MP_OKAY) {
  120956. err = sp_1024_point_new_16(NULL, pd, p);
  120957. }
  120958. if (err == MP_OKAY) {
  120959. err = sp_1024_point_new_16(NULL, qd, q);
  120960. }
  120961. if (err == MP_OKAY) {
  120962. err = sp_1024_point_new_16(NULL, cd, c);
  120963. }
  120964. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120965. !defined(WOLFSSL_SP_NO_MALLOC)
  120966. if (err == MP_OKAY) {
  120967. td = (sp_digit*)XMALLOC(sizeof(sp_digit) * 56 * 16 * 2, NULL,
  120968. DYNAMIC_TYPE_TMP_BUFFER);
  120969. if (td == NULL) {
  120970. err = MEMORY_E;
  120971. }
  120972. }
  120973. #endif
  120974. if (err == MP_OKAY) {
  120975. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  120976. !defined(WOLFSSL_SP_NO_MALLOC)
  120977. t = td;
  120978. vx = td + 6 * 16 * 2;
  120979. vy = td + 7 * 16 * 2;
  120980. pre_vx = (sp_digit(*)[32])(td + 8 * 16 * 2);
  120981. pre_vy = (sp_digit(*)[32])(td + 24 * 16 * 2);
  120982. pre_nvy = (sp_digit(*)[32])(td + 40 * 16 * 2);
  120983. #endif
  120984. r = vy;
  120985. sp_1024_point_from_ecc_point_16(p, pm);
  120986. sp_1024_point_from_ecc_point_16(q, qm);
  120987. err = sp_1024_mod_mul_norm_16(p->x, p->x, p1024_mod);
  120988. }
  120989. if (err == MP_OKAY) {
  120990. err = sp_1024_mod_mul_norm_16(p->y, p->y, p1024_mod);
  120991. }
  120992. if (err == MP_OKAY) {
  120993. err = sp_1024_mod_mul_norm_16(p->z, p->z, p1024_mod);
  120994. }
  120995. if (err == MP_OKAY) {
  120996. err = sp_1024_mod_mul_norm_16(q->x, q->x, p1024_mod);
  120997. }
  120998. if (err == MP_OKAY) {
  120999. err = sp_1024_mod_mul_norm_16(q->y, q->y, p1024_mod);
  121000. }
  121001. if (err == MP_OKAY) {
  121002. /* Generate pre-computation table: 1, 3, ... , 31 */
  121003. XMEMSET(pre_vx[0], 0, sizeof(sp_digit) * 2 * 16);
  121004. pre_vx[0][0] = 1;
  121005. XMEMSET(pre_vy[0], 0, sizeof(sp_digit) * 2 * 16);
  121006. sp_1024_mont_sub_16(pre_nvy[0], p1024_mod, pre_vy[0], p1024_mod);
  121007. /* [2]P for adding */
  121008. XMEMCPY(c, p, sizeof(sp_point_1024));
  121009. XMEMSET(vx, 0, sizeof(sp_digit) * 2 * 16);
  121010. vx[0] = 1;
  121011. XMEMSET(vy, 0, sizeof(sp_digit) * 2 * 16);
  121012. sp_1024_accumulate_line_dbl_16(vx, vy, c, q, t);
  121013. /* 3, 5, ... */
  121014. for (i = 1; i < 16; i++) {
  121015. XMEMCPY(pre_vx[i], pre_vx[i-1], sizeof(sp_digit) * 2 * 16);
  121016. XMEMCPY(pre_vy[i], pre_vy[i-1], sizeof(sp_digit) * 2 * 16);
  121017. sp_1024_proj_mul_16(pre_vx[i], pre_vy[i], vx, vy, t);
  121018. sp_1024_accumulate_line_add_n_16(pre_vx[i], pre_vy[i], c,
  121019. q, p, t, 0);
  121020. sp_1024_mont_sub_16(pre_nvy[i], p1024_mod, pre_vy[i],
  121021. p1024_mod);
  121022. }
  121023. XMEMCPY(c->z, p1024_norm_mod, sizeof(sp_digit) * 16);
  121024. c->infinity = 0;
  121025. j = sp_1024_order_op_pre[0] / 2;
  121026. XMEMCPY(vx, pre_vx[j], sizeof(sp_digit) * 2 * 16);
  121027. XMEMCPY(vy, pre_vy[j], sizeof(sp_digit) * 2 * 16);
  121028. k = 0;
  121029. for (j = 0; j < sp_1024_order_op_pre[1]; j++) {
  121030. /* Accumulate line into v and double point. */
  121031. sp_1024_accumulate_line_lc_16(vx, vy, precomp[k].x,
  121032. precomp[k].y, q, t, 1);
  121033. k++;
  121034. }
  121035. for (i = 2; i < 290; i += 2) {
  121036. sp_1024_accumulate_line_lc_16(vx, vy, precomp[k].x,
  121037. precomp[k].y, q, t, 0);
  121038. k++;
  121039. j = sp_1024_order_op_pre[i];
  121040. if (j > 0) {
  121041. j /= 2;
  121042. /* Accumulate line into v. */
  121043. sp_1024_proj_mul_16(vx, vy, pre_vx[j], pre_vy[j], t);
  121044. }
  121045. else {
  121046. j = -j / 2;
  121047. /* Accumulate line into v. */
  121048. sp_1024_proj_mul_16(vx, vy, pre_vx[j], pre_nvy[j], t);
  121049. }
  121050. for (j = 0; j < sp_1024_order_op_pre[i + 1]; j++) {
  121051. /* Accumulate line into v and double point. */
  121052. sp_1024_accumulate_line_lc_16(vx, vy, precomp[k].x,
  121053. precomp[k].y, q, t, 1);
  121054. k++;
  121055. }
  121056. }
  121057. /* Final exponentiation */
  121058. sp_1024_proj_sqr_16(vx, vy, t);
  121059. sp_1024_proj_sqr_16(vx, vy, t);
  121060. /* Convert from PF_p[q] to F_p */
  121061. sp_1024_mont_inv_16(vx, vx, t);
  121062. sp_1024_mont_mul_16(r, vx, vy, p1024_mod, p1024_mp_mod);
  121063. XMEMSET(r + 16, 0, sizeof(sp_digit) * 16);
  121064. sp_1024_mont_reduce_16(r, p1024_mod, p1024_mp_mod);
  121065. err = sp_1024_to_mp(r, res);
  121066. }
  121067. #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && \
  121068. !defined(WOLFSSL_SP_NO_MALLOC)
  121069. if (td != NULL) {
  121070. XFREE(td, NULL, DYNAMIC_TYPE_TMP_BUFFER);
  121071. }
  121072. #endif
  121073. sp_1024_point_free_16(c, 1, NULL);
  121074. sp_1024_point_free_16(q, 1, NULL);
  121075. sp_1024_point_free_16(p, 1, NULL);
  121076. return err;
  121077. }
  121078. #endif /* WOLFSSL_SP_SMALL */
  121079. #ifdef HAVE_ECC_CHECK_KEY
  121080. /* Read big endian unsigned byte array into r.
  121081. *
  121082. * r A single precision integer.
  121083. * size Maximum number of bytes to convert
  121084. * a Byte array.
  121085. * n Number of bytes in array to read.
  121086. */
  121087. static void sp_1024_from_bin(sp_digit* r, int size, const byte* a, int n)
  121088. {
  121089. sp_int64 nl = n;
  121090. sp_int64 size8 = size * 8;
  121091. __asm__ __volatile__ (
  121092. "add x4, %[a], %[n]\n\t"
  121093. "mov x5, %[r]\n\t"
  121094. "sub x4, x4, 8\n\t"
  121095. "subs x6, %[n], 8\n\t"
  121096. "mov x7, xzr\n\t"
  121097. "blt 2f\n\t"
  121098. /* Put in mulitples of 8 bytes. */
  121099. "1:\n\t"
  121100. "ldr x8, [x4], -8\n\t"
  121101. "subs x6, x6, 8\n\t"
  121102. "rev x8, x8\n\t"
  121103. "str x8, [x5], 8\n\t"
  121104. "add x7, x7, 8\n\t"
  121105. "b.ge 1b\n\t"
  121106. "2:\n\t"
  121107. "cmp x6, -7\n\t"
  121108. "b.lt 20f\n\t"
  121109. /* Put in less than 8 bytes. */
  121110. "str xzr, [x5]\n\t"
  121111. "add x7, x7, 8\n\t"
  121112. "add x4, x4, 7\n\t"
  121113. "b.eq 17f\n\t"
  121114. "cmp x6, -5\n\t"
  121115. "b.lt 16f\n\t"
  121116. "b.eq 15f\n\t"
  121117. "cmp x6, -3\n\t"
  121118. "b.lt 14f\n\t"
  121119. "b.eq 13f\n\t"
  121120. "cmp x6, -2\n\t"
  121121. "b.eq 12f\n\t"
  121122. "ldrb w8, [x4], -1\n\t"
  121123. "strb w8, [x5], 1\n\t"
  121124. "12:\n\t"
  121125. "ldrb w8, [x4], -1\n\t"
  121126. "strb w8, [x5], 1\n\t"
  121127. "13:\n\t"
  121128. "ldrb w8, [x4], -1\n\t"
  121129. "strb w8, [x5], 1\n\t"
  121130. "14:\n\t"
  121131. "ldrb w8, [x4], -1\n\t"
  121132. "strb w8, [x5], 1\n\t"
  121133. "15:\n\t"
  121134. "ldrb w8, [x4], -1\n\t"
  121135. "strb w8, [x5], 1\n\t"
  121136. "16:\n\t"
  121137. "ldrb w8, [x4], -1\n\t"
  121138. "strb w8, [x5], 1\n\t"
  121139. "17:\n\t"
  121140. "ldrb w8, [x4], -1\n\t"
  121141. "strb w8, [x5], 1\n\t"
  121142. "20:\n\t"
  121143. "add x5, %[r], x7\n\t"
  121144. "subs x7, %[size], x7\n\t"
  121145. "b.eq 30f\n\t"
  121146. /* Zero out remaining words. */
  121147. "21:\n\t"
  121148. "subs x7, x7, 8\n\t"
  121149. "str xzr, [x5], 8\n\t"
  121150. "b.gt 21b\n\t"
  121151. "30:\n\t"
  121152. :
  121153. : [r] "r" (r), [size] "r" (size8), [a] "r" (a), [n] "r" (nl)
  121154. : "memory", "x4", "x5", "x6", "x7", "x8"
  121155. );
  121156. }
  121157. /* Check that the x and y oridinates are a valid point on the curve.
  121158. *
  121159. * point EC point.
  121160. * heap Heap to use if dynamically allocating.
  121161. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  121162. * not on the curve and MP_OKAY otherwise.
  121163. */
  121164. static int sp_1024_ecc_is_point_16(const sp_point_1024* point,
  121165. void* heap)
  121166. {
  121167. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  121168. sp_digit* t1 = NULL;
  121169. #else
  121170. sp_digit t1[16 * 4];
  121171. #endif
  121172. sp_digit* t2 = NULL;
  121173. sp_int64 n;
  121174. int err = MP_OKAY;
  121175. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  121176. t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 16 * 4, heap, DYNAMIC_TYPE_ECC);
  121177. if (t1 == NULL)
  121178. err = MEMORY_E;
  121179. #endif
  121180. (void)heap;
  121181. if (err == MP_OKAY) {
  121182. t2 = t1 + 2 * 16;
  121183. sp_1024_sqr_16(t1, point->y);
  121184. (void)sp_1024_mod_16(t1, t1, p1024_mod);
  121185. sp_1024_sqr_16(t2, point->x);
  121186. (void)sp_1024_mod_16(t2, t2, p1024_mod);
  121187. sp_1024_mul_16(t2, t2, point->x);
  121188. (void)sp_1024_mod_16(t2, t2, p1024_mod);
  121189. (void)sp_1024_sub_16(t2, p1024_mod, t2);
  121190. sp_1024_mont_add_16(t1, t1, t2, p1024_mod);
  121191. sp_1024_mont_add_16(t1, t1, point->x, p1024_mod);
  121192. sp_1024_mont_add_16(t1, t1, point->x, p1024_mod);
  121193. sp_1024_mont_add_16(t1, t1, point->x, p1024_mod);
  121194. n = sp_1024_cmp_16(t1, p1024_mod);
  121195. sp_1024_cond_sub_16(t1, t1, p1024_mod, ~(n >> 63));
  121196. sp_1024_norm_16(t1);
  121197. if (!sp_1024_iszero_16(t1)) {
  121198. err = MP_VAL;
  121199. }
  121200. }
  121201. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  121202. if (t1 != NULL)
  121203. XFREE(t1, heap, DYNAMIC_TYPE_ECC);
  121204. #endif
  121205. return err;
  121206. }
  121207. /* Check that the x and y oridinates are a valid point on the curve.
  121208. *
  121209. * pX X ordinate of EC point.
  121210. * pY Y ordinate of EC point.
  121211. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  121212. * not on the curve and MP_OKAY otherwise.
  121213. */
  121214. int sp_ecc_is_point_1024(const mp_int* pX, const mp_int* pY)
  121215. {
  121216. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  121217. sp_point_1024* pub = NULL;
  121218. #else
  121219. sp_point_1024 pub[1];
  121220. #endif
  121221. const byte one[1] = { 1 };
  121222. int err = MP_OKAY;
  121223. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  121224. pub = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024), NULL,
  121225. DYNAMIC_TYPE_ECC);
  121226. if (pub == NULL)
  121227. err = MEMORY_E;
  121228. #endif
  121229. if (err == MP_OKAY) {
  121230. sp_1024_from_mp(pub->x, 16, pX);
  121231. sp_1024_from_mp(pub->y, 16, pY);
  121232. sp_1024_from_bin(pub->z, 16, one, (int)sizeof(one));
  121233. err = sp_1024_ecc_is_point_16(pub, NULL);
  121234. }
  121235. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  121236. if (pub != NULL)
  121237. XFREE(pub, NULL, DYNAMIC_TYPE_ECC);
  121238. #endif
  121239. return err;
  121240. }
  121241. /* Check that the private scalar generates the EC point (px, py), the point is
  121242. * on the curve and the point has the correct order.
  121243. *
  121244. * pX X ordinate of EC point.
  121245. * pY Y ordinate of EC point.
  121246. * privm Private scalar that generates EC point.
  121247. * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is
  121248. * not on the curve, ECC_INF_E if the point does not have the correct order,
  121249. * ECC_PRIV_KEY_E when the private scalar doesn't generate the EC point and
  121250. * MP_OKAY otherwise.
  121251. */
  121252. int sp_ecc_check_key_1024(const mp_int* pX, const mp_int* pY,
  121253. const mp_int* privm, void* heap)
  121254. {
  121255. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  121256. sp_digit* priv = NULL;
  121257. sp_point_1024* pub = NULL;
  121258. #else
  121259. sp_digit priv[16];
  121260. sp_point_1024 pub[2];
  121261. #endif
  121262. sp_point_1024* p = NULL;
  121263. const byte one[1] = { 1 };
  121264. int err = MP_OKAY;
  121265. /* Quick check the lengs of public key ordinates and private key are in
  121266. * range. Proper check later.
  121267. */
  121268. if (((mp_count_bits(pX) > 1024) ||
  121269. (mp_count_bits(pY) > 1024) ||
  121270. ((privm != NULL) && (mp_count_bits(privm) > 1024)))) {
  121271. err = ECC_OUT_OF_RANGE_E;
  121272. }
  121273. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  121274. if (err == MP_OKAY) {
  121275. pub = (sp_point_1024*)XMALLOC(sizeof(sp_point_1024) * 2, heap,
  121276. DYNAMIC_TYPE_ECC);
  121277. if (pub == NULL)
  121278. err = MEMORY_E;
  121279. }
  121280. if (err == MP_OKAY && privm) {
  121281. priv = (sp_digit*)XMALLOC(sizeof(sp_digit) * 16, heap,
  121282. DYNAMIC_TYPE_ECC);
  121283. if (priv == NULL)
  121284. err = MEMORY_E;
  121285. }
  121286. #endif
  121287. if (err == MP_OKAY) {
  121288. p = pub + 1;
  121289. sp_1024_from_mp(pub->x, 16, pX);
  121290. sp_1024_from_mp(pub->y, 16, pY);
  121291. sp_1024_from_bin(pub->z, 16, one, (int)sizeof(one));
  121292. if (privm)
  121293. sp_1024_from_mp(priv, 16, privm);
  121294. /* Check point at infinitiy. */
  121295. if ((sp_1024_iszero_16(pub->x) != 0) &&
  121296. (sp_1024_iszero_16(pub->y) != 0)) {
  121297. err = ECC_INF_E;
  121298. }
  121299. }
  121300. /* Check range of X and Y */
  121301. if ((err == MP_OKAY) &&
  121302. ((sp_1024_cmp_16(pub->x, p1024_mod) >= 0) ||
  121303. (sp_1024_cmp_16(pub->y, p1024_mod) >= 0))) {
  121304. err = ECC_OUT_OF_RANGE_E;
  121305. }
  121306. if (err == MP_OKAY) {
  121307. /* Check point is on curve */
  121308. err = sp_1024_ecc_is_point_16(pub, heap);
  121309. }
  121310. if (err == MP_OKAY) {
  121311. /* Point * order = infinity */
  121312. err = sp_1024_ecc_mulmod_16(p, pub, p1024_order, 1, 1, heap);
  121313. }
  121314. /* Check result is infinity */
  121315. if ((err == MP_OKAY) && ((sp_1024_iszero_16(p->x) == 0) ||
  121316. (sp_1024_iszero_16(p->y) == 0))) {
  121317. err = ECC_INF_E;
  121318. }
  121319. if (privm) {
  121320. if (err == MP_OKAY) {
  121321. /* Base * private = point */
  121322. err = sp_1024_ecc_mulmod_base_16(p, priv, 1, 1, heap);
  121323. }
  121324. /* Check result is public key */
  121325. if ((err == MP_OKAY) &&
  121326. ((sp_1024_cmp_16(p->x, pub->x) != 0) ||
  121327. (sp_1024_cmp_16(p->y, pub->y) != 0))) {
  121328. err = ECC_PRIV_KEY_E;
  121329. }
  121330. }
  121331. #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC)
  121332. if (pub != NULL)
  121333. XFREE(pub, heap, DYNAMIC_TYPE_ECC);
  121334. if (priv != NULL)
  121335. XFREE(priv, heap, DYNAMIC_TYPE_ECC);
  121336. #endif
  121337. return err;
  121338. }
  121339. #endif
  121340. #endif /* WOLFSSL_SP_1024 */
  121341. #endif /* WOLFSSL_HAVE_SP_ECC */
  121342. #endif /* WOLFSSL_SP_ARM64_ASM */
  121343. #endif /* WOLFSSL_HAVE_SP_RSA | WOLFSSL_HAVE_SP_DH | WOLFSSL_HAVE_SP_ECC */