curve25519_tables.h 270 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872
  1. /* Copyright (c) 2020, Google Inc.
  2. *
  3. * Permission to use, copy, modify, and/or distribute this software for any
  4. * purpose with or without fee is hereby granted, provided that the above
  5. * copyright notice and this permission notice appear in all copies.
  6. *
  7. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  8. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  9. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
  10. * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  11. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  12. * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  13. * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
  14. // This file is generated from
  15. // ./make_curve25519_tables.py > curve25519_tables.h
  16. static const fe d = {{
  17. #if defined(BORINGSSL_CURVE25519_64BIT)
  18. 929955233495203, 466365720129213, 1662059464998953, 2033849074728123,
  19. 1442794654840575
  20. #else
  21. 56195235, 13857412, 51736253, 6949390, 114729, 24766616, 60832955, 30306712,
  22. 48412415, 21499315
  23. #endif
  24. }};
  25. static const fe sqrtm1 = {{
  26. #if defined(BORINGSSL_CURVE25519_64BIT)
  27. 1718705420411056, 234908883556509, 2233514472574048, 2117202627021982,
  28. 765476049583133
  29. #else
  30. 34513072, 25610706, 9377949, 3500415, 12389472, 33281959, 41962654,
  31. 31548777, 326685, 11406482
  32. #endif
  33. }};
  34. static const fe d2 = {{
  35. #if defined(BORINGSSL_CURVE25519_64BIT)
  36. 1859910466990425, 932731440258426, 1072319116312658, 1815898335770999,
  37. 633789495995903
  38. #else
  39. 45281625, 27714825, 36363642, 13898781, 229458, 15978800, 54557047,
  40. 27058993, 29715967, 9444199
  41. #endif
  42. }};
  43. #if defined(OPENSSL_SMALL)
  44. // This block of code replaces the standard base-point table with a much smaller
  45. // one. The standard table is 30,720 bytes while this one is just 960.
  46. //
  47. // This table contains 15 pairs of group elements, (x, y), where each field
  48. // element is serialised with |fe_tobytes|. If |i| is the index of the group
  49. // element then consider i+1 as a four-bit number: (i₀, i₁, i₂, i₃) (where i₀
  50. // is the most significant bit). The value of the group element is then:
  51. // (i₀×2^192 + i₁×2^128 + i₂×2^64 + i₃)G, where G is the generator.
  52. static const uint8_t k25519SmallPrecomp[15 * 2 * 32] = {
  53. 0x1a, 0xd5, 0x25, 0x8f, 0x60, 0x2d, 0x56, 0xc9, 0xb2, 0xa7, 0x25, 0x95,
  54. 0x60, 0xc7, 0x2c, 0x69, 0x5c, 0xdc, 0xd6, 0xfd, 0x31, 0xe2, 0xa4, 0xc0,
  55. 0xfe, 0x53, 0x6e, 0xcd, 0xd3, 0x36, 0x69, 0x21, 0x58, 0x66, 0x66, 0x66,
  56. 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
  57. 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
  58. 0x66, 0x66, 0x66, 0x66, 0x02, 0xa2, 0xed, 0xf4, 0x8f, 0x6b, 0x0b, 0x3e,
  59. 0xeb, 0x35, 0x1a, 0xd5, 0x7e, 0xdb, 0x78, 0x00, 0x96, 0x8a, 0xa0, 0xb4,
  60. 0xcf, 0x60, 0x4b, 0xd4, 0xd5, 0xf9, 0x2d, 0xbf, 0x88, 0xbd, 0x22, 0x62,
  61. 0x13, 0x53, 0xe4, 0x82, 0x57, 0xfa, 0x1e, 0x8f, 0x06, 0x2b, 0x90, 0xba,
  62. 0x08, 0xb6, 0x10, 0x54, 0x4f, 0x7c, 0x1b, 0x26, 0xed, 0xda, 0x6b, 0xdd,
  63. 0x25, 0xd0, 0x4e, 0xea, 0x42, 0xbb, 0x25, 0x03, 0xa2, 0xfb, 0xcc, 0x61,
  64. 0x67, 0x06, 0x70, 0x1a, 0xc4, 0x78, 0x3a, 0xff, 0x32, 0x62, 0xdd, 0x2c,
  65. 0xab, 0x50, 0x19, 0x3b, 0xf2, 0x9b, 0x7d, 0xb8, 0xfd, 0x4f, 0x29, 0x9c,
  66. 0xa7, 0x91, 0xba, 0x0e, 0x46, 0x5e, 0x51, 0xfe, 0x1d, 0xbf, 0xe5, 0xe5,
  67. 0x9b, 0x95, 0x0d, 0x67, 0xf8, 0xd1, 0xb5, 0x5a, 0xa1, 0x93, 0x2c, 0xc3,
  68. 0xde, 0x0e, 0x97, 0x85, 0x2d, 0x7f, 0xea, 0xab, 0x3e, 0x47, 0x30, 0x18,
  69. 0x24, 0xe8, 0xb7, 0x60, 0xae, 0x47, 0x80, 0xfc, 0xe5, 0x23, 0xe7, 0xc2,
  70. 0xc9, 0x85, 0xe6, 0x98, 0xa0, 0x29, 0x4e, 0xe1, 0x84, 0x39, 0x2d, 0x95,
  71. 0x2c, 0xf3, 0x45, 0x3c, 0xff, 0xaf, 0x27, 0x4c, 0x6b, 0xa6, 0xf5, 0x4b,
  72. 0x11, 0xbd, 0xba, 0x5b, 0x9e, 0xc4, 0xa4, 0x51, 0x1e, 0xbe, 0xd0, 0x90,
  73. 0x3a, 0x9c, 0xc2, 0x26, 0xb6, 0x1e, 0xf1, 0x95, 0x7d, 0xc8, 0x6d, 0x52,
  74. 0xe6, 0x99, 0x2c, 0x5f, 0x9a, 0x96, 0x0c, 0x68, 0x29, 0xfd, 0xe2, 0xfb,
  75. 0xe6, 0xbc, 0xec, 0x31, 0x08, 0xec, 0xe6, 0xb0, 0x53, 0x60, 0xc3, 0x8c,
  76. 0xbe, 0xc1, 0xb3, 0x8a, 0x8f, 0xe4, 0x88, 0x2b, 0x55, 0xe5, 0x64, 0x6e,
  77. 0x9b, 0xd0, 0xaf, 0x7b, 0x64, 0x2a, 0x35, 0x25, 0x10, 0x52, 0xc5, 0x9e,
  78. 0x58, 0x11, 0x39, 0x36, 0x45, 0x51, 0xb8, 0x39, 0x93, 0xfc, 0x9d, 0x6a,
  79. 0xbe, 0x58, 0xcb, 0xa4, 0x0f, 0x51, 0x3c, 0x38, 0x05, 0xca, 0xab, 0x43,
  80. 0x63, 0x0e, 0xf3, 0x8b, 0x41, 0xa6, 0xf8, 0x9b, 0x53, 0x70, 0x80, 0x53,
  81. 0x86, 0x5e, 0x8f, 0xe3, 0xc3, 0x0d, 0x18, 0xc8, 0x4b, 0x34, 0x1f, 0xd8,
  82. 0x1d, 0xbc, 0xf2, 0x6d, 0x34, 0x3a, 0xbe, 0xdf, 0xd9, 0xf6, 0xf3, 0x89,
  83. 0xa1, 0xe1, 0x94, 0x9f, 0x5d, 0x4c, 0x5d, 0xe9, 0xa1, 0x49, 0x92, 0xef,
  84. 0x0e, 0x53, 0x81, 0x89, 0x58, 0x87, 0xa6, 0x37, 0xf1, 0xdd, 0x62, 0x60,
  85. 0x63, 0x5a, 0x9d, 0x1b, 0x8c, 0xc6, 0x7d, 0x52, 0xea, 0x70, 0x09, 0x6a,
  86. 0xe1, 0x32, 0xf3, 0x73, 0x21, 0x1f, 0x07, 0x7b, 0x7c, 0x9b, 0x49, 0xd8,
  87. 0xc0, 0xf3, 0x25, 0x72, 0x6f, 0x9d, 0xed, 0x31, 0x67, 0x36, 0x36, 0x54,
  88. 0x40, 0x92, 0x71, 0xe6, 0x11, 0x28, 0x11, 0xad, 0x93, 0x32, 0x85, 0x7b,
  89. 0x3e, 0xb7, 0x3b, 0x49, 0x13, 0x1c, 0x07, 0xb0, 0x2e, 0x93, 0xaa, 0xfd,
  90. 0xfd, 0x28, 0x47, 0x3d, 0x8d, 0xd2, 0xda, 0xc7, 0x44, 0xd6, 0x7a, 0xdb,
  91. 0x26, 0x7d, 0x1d, 0xb8, 0xe1, 0xde, 0x9d, 0x7a, 0x7d, 0x17, 0x7e, 0x1c,
  92. 0x37, 0x04, 0x8d, 0x2d, 0x7c, 0x5e, 0x18, 0x38, 0x1e, 0xaf, 0xc7, 0x1b,
  93. 0x33, 0x48, 0x31, 0x00, 0x59, 0xf6, 0xf2, 0xca, 0x0f, 0x27, 0x1b, 0x63,
  94. 0x12, 0x7e, 0x02, 0x1d, 0x49, 0xc0, 0x5d, 0x79, 0x87, 0xef, 0x5e, 0x7a,
  95. 0x2f, 0x1f, 0x66, 0x55, 0xd8, 0x09, 0xd9, 0x61, 0x38, 0x68, 0xb0, 0x07,
  96. 0xa3, 0xfc, 0xcc, 0x85, 0x10, 0x7f, 0x4c, 0x65, 0x65, 0xb3, 0xfa, 0xfa,
  97. 0xa5, 0x53, 0x6f, 0xdb, 0x74, 0x4c, 0x56, 0x46, 0x03, 0xe2, 0xd5, 0x7a,
  98. 0x29, 0x1c, 0xc6, 0x02, 0xbc, 0x59, 0xf2, 0x04, 0x75, 0x63, 0xc0, 0x84,
  99. 0x2f, 0x60, 0x1c, 0x67, 0x76, 0xfd, 0x63, 0x86, 0xf3, 0xfa, 0xbf, 0xdc,
  100. 0xd2, 0x2d, 0x90, 0x91, 0xbd, 0x33, 0xa9, 0xe5, 0x66, 0x0c, 0xda, 0x42,
  101. 0x27, 0xca, 0xf4, 0x66, 0xc2, 0xec, 0x92, 0x14, 0x57, 0x06, 0x63, 0xd0,
  102. 0x4d, 0x15, 0x06, 0xeb, 0x69, 0x58, 0x4f, 0x77, 0xc5, 0x8b, 0xc7, 0xf0,
  103. 0x8e, 0xed, 0x64, 0xa0, 0xb3, 0x3c, 0x66, 0x71, 0xc6, 0x2d, 0xda, 0x0a,
  104. 0x0d, 0xfe, 0x70, 0x27, 0x64, 0xf8, 0x27, 0xfa, 0xf6, 0x5f, 0x30, 0xa5,
  105. 0x0d, 0x6c, 0xda, 0xf2, 0x62, 0x5e, 0x78, 0x47, 0xd3, 0x66, 0x00, 0x1c,
  106. 0xfd, 0x56, 0x1f, 0x5d, 0x3f, 0x6f, 0xf4, 0x4c, 0xd8, 0xfd, 0x0e, 0x27,
  107. 0xc9, 0x5c, 0x2b, 0xbc, 0xc0, 0xa4, 0xe7, 0x23, 0x29, 0x02, 0x9f, 0x31,
  108. 0xd6, 0xe9, 0xd7, 0x96, 0xf4, 0xe0, 0x5e, 0x0b, 0x0e, 0x13, 0xee, 0x3c,
  109. 0x09, 0xed, 0xf2, 0x3d, 0x76, 0x91, 0xc3, 0xa4, 0x97, 0xae, 0xd4, 0x87,
  110. 0xd0, 0x5d, 0xf6, 0x18, 0x47, 0x1f, 0x1d, 0x67, 0xf2, 0xcf, 0x63, 0xa0,
  111. 0x91, 0x27, 0xf8, 0x93, 0x45, 0x75, 0x23, 0x3f, 0xd1, 0xf1, 0xad, 0x23,
  112. 0xdd, 0x64, 0x93, 0x96, 0x41, 0x70, 0x7f, 0xf7, 0xf5, 0xa9, 0x89, 0xa2,
  113. 0x34, 0xb0, 0x8d, 0x1b, 0xae, 0x19, 0x15, 0x49, 0x58, 0x23, 0x6d, 0x87,
  114. 0x15, 0x4f, 0x81, 0x76, 0xfb, 0x23, 0xb5, 0xea, 0xcf, 0xac, 0x54, 0x8d,
  115. 0x4e, 0x42, 0x2f, 0xeb, 0x0f, 0x63, 0xdb, 0x68, 0x37, 0xa8, 0xcf, 0x8b,
  116. 0xab, 0xf5, 0xa4, 0x6e, 0x96, 0x2a, 0xb2, 0xd6, 0xbe, 0x9e, 0xbd, 0x0d,
  117. 0xb4, 0x42, 0xa9, 0xcf, 0x01, 0x83, 0x8a, 0x17, 0x47, 0x76, 0xc4, 0xc6,
  118. 0x83, 0x04, 0x95, 0x0b, 0xfc, 0x11, 0xc9, 0x62, 0xb8, 0x0c, 0x76, 0x84,
  119. 0xd9, 0xb9, 0x37, 0xfa, 0xfc, 0x7c, 0xc2, 0x6d, 0x58, 0x3e, 0xb3, 0x04,
  120. 0xbb, 0x8c, 0x8f, 0x48, 0xbc, 0x91, 0x27, 0xcc, 0xf9, 0xb7, 0x22, 0x19,
  121. 0x83, 0x2e, 0x09, 0xb5, 0x72, 0xd9, 0x54, 0x1c, 0x4d, 0xa1, 0xea, 0x0b,
  122. 0xf1, 0xc6, 0x08, 0x72, 0x46, 0x87, 0x7a, 0x6e, 0x80, 0x56, 0x0a, 0x8a,
  123. 0xc0, 0xdd, 0x11, 0x6b, 0xd6, 0xdd, 0x47, 0xdf, 0x10, 0xd9, 0xd8, 0xea,
  124. 0x7c, 0xb0, 0x8f, 0x03, 0x00, 0x2e, 0xc1, 0x8f, 0x44, 0xa8, 0xd3, 0x30,
  125. 0x06, 0x89, 0xa2, 0xf9, 0x34, 0xad, 0xdc, 0x03, 0x85, 0xed, 0x51, 0xa7,
  126. 0x82, 0x9c, 0xe7, 0x5d, 0x52, 0x93, 0x0c, 0x32, 0x9a, 0x5b, 0xe1, 0xaa,
  127. 0xca, 0xb8, 0x02, 0x6d, 0x3a, 0xd4, 0xb1, 0x3a, 0xf0, 0x5f, 0xbe, 0xb5,
  128. 0x0d, 0x10, 0x6b, 0x38, 0x32, 0xac, 0x76, 0x80, 0xbd, 0xca, 0x94, 0x71,
  129. 0x7a, 0xf2, 0xc9, 0x35, 0x2a, 0xde, 0x9f, 0x42, 0x49, 0x18, 0x01, 0xab,
  130. 0xbc, 0xef, 0x7c, 0x64, 0x3f, 0x58, 0x3d, 0x92, 0x59, 0xdb, 0x13, 0xdb,
  131. 0x58, 0x6e, 0x0a, 0xe0, 0xb7, 0x91, 0x4a, 0x08, 0x20, 0xd6, 0x2e, 0x3c,
  132. 0x45, 0xc9, 0x8b, 0x17, 0x79, 0xe7, 0xc7, 0x90, 0x99, 0x3a, 0x18, 0x25,
  133. };
  134. #else
  135. // k25519Precomp[i][j] = (j+1)*256^i*B
  136. static const ge_precomp k25519Precomp[32][8] = {
  137. {
  138. {
  139. {{
  140. #if defined(BORINGSSL_CURVE25519_64BIT)
  141. 1288382639258501, 245678601348599, 269427782077623,
  142. 1462984067271730, 137412439391563
  143. #else
  144. 25967493, 19198397, 29566455, 3660896, 54414519, 4014786,
  145. 27544626, 21800161, 61029707, 2047604
  146. #endif
  147. }},
  148. {{
  149. #if defined(BORINGSSL_CURVE25519_64BIT)
  150. 62697248952638, 204681361388450, 631292143396476,
  151. 338455783676468, 1213667448819585
  152. #else
  153. 54563134, 934261, 64385954, 3049989, 66381436, 9406985,
  154. 12720692, 5043384, 19500929, 18085054
  155. #endif
  156. }},
  157. {{
  158. #if defined(BORINGSSL_CURVE25519_64BIT)
  159. 301289933810280, 1259582250014073, 1422107436869536,
  160. 796239922652654, 1953934009299142
  161. #else
  162. 58370664, 4489569, 9688441, 18769238, 10184608, 21191052,
  163. 29287918, 11864899, 42594502, 29115885
  164. #endif
  165. }},
  166. },
  167. {
  168. {{
  169. #if defined(BORINGSSL_CURVE25519_64BIT)
  170. 1380971894829527, 790832306631236, 2067202295274102,
  171. 1995808275510000, 1566530869037010
  172. #else
  173. 54292951, 20578084, 45527620, 11784319, 41753206, 30803714,
  174. 55390960, 29739860, 66750418, 23343128
  175. #endif
  176. }},
  177. {{
  178. #if defined(BORINGSSL_CURVE25519_64BIT)
  179. 463307831301544, 432984605774163, 1610641361907204,
  180. 750899048855000, 1894842303421586
  181. #else
  182. 45405608, 6903824, 27185491, 6451973, 37531140, 24000426,
  183. 51492312, 11189267, 40279186, 28235350
  184. #endif
  185. }},
  186. {{
  187. #if defined(BORINGSSL_CURVE25519_64BIT)
  188. 748439484463711, 1033211726465151, 1396005112841647,
  189. 1611506220286469, 1972177495910992
  190. #else
  191. 26966623, 11152617, 32442495, 15396054, 14353839, 20802097,
  192. 63980037, 24013313, 51636816, 29387734
  193. #endif
  194. }},
  195. },
  196. {
  197. {{
  198. #if defined(BORINGSSL_CURVE25519_64BIT)
  199. 1601611775252272, 1720807796594148, 1132070835939856,
  200. 1260455018889551, 2147779492816911
  201. #else
  202. 15636272, 23865875, 24204772, 25642034, 616976, 16869170,
  203. 27787599, 18782243, 28944399, 32004408
  204. #endif
  205. }},
  206. {{
  207. #if defined(BORINGSSL_CURVE25519_64BIT)
  208. 316559037616741, 2177824224946892, 1459442586438991,
  209. 1461528397712656, 751590696113597
  210. #else
  211. 16568933, 4717097, 55552716, 32452109, 15682895, 21747389,
  212. 16354576, 21778470, 7689661, 11199574
  213. #endif
  214. }},
  215. {{
  216. #if defined(BORINGSSL_CURVE25519_64BIT)
  217. 1850748884277385, 1200145853858453, 1068094770532492,
  218. 672251375690438, 1586055907191707
  219. #else
  220. 30464137, 27578307, 55329429, 17883566, 23220364, 15915852,
  221. 7512774, 10017326, 49359771, 23634074
  222. #endif
  223. }},
  224. },
  225. {
  226. {{
  227. #if defined(BORINGSSL_CURVE25519_64BIT)
  228. 934282339813791, 1846903124198670, 1172395437954843,
  229. 1007037127761661, 1830588347719256
  230. #else
  231. 50071967, 13921891, 10945806, 27521001, 27105051, 17470053,
  232. 38182653, 15006022, 3284568, 27277892
  233. #endif
  234. }},
  235. {{
  236. #if defined(BORINGSSL_CURVE25519_64BIT)
  237. 1694390458783935, 1735906047636159, 705069562067493,
  238. 648033061693059, 696214010414170
  239. #else
  240. 23599295, 25248385, 55915199, 25867015, 13236773, 10506355,
  241. 7464579, 9656445, 13059162, 10374397
  242. #endif
  243. }},
  244. {{
  245. #if defined(BORINGSSL_CURVE25519_64BIT)
  246. 1121406372216585, 192876649532226, 190294192191717,
  247. 1994165897297032, 2245000007398739
  248. #else
  249. 7798537, 16710257, 3033922, 2874086, 28997861, 2835604,
  250. 32406664, 29715387, 66467155, 33453106
  251. #endif
  252. }},
  253. },
  254. {
  255. {{
  256. #if defined(BORINGSSL_CURVE25519_64BIT)
  257. 769950342298419, 132954430919746, 844085933195555,
  258. 974092374476333, 726076285546016
  259. #else
  260. 10861363, 11473154, 27284546, 1981175, 37044515, 12577860,
  261. 32867885, 14515107, 51670560, 10819379
  262. #endif
  263. }},
  264. {{
  265. #if defined(BORINGSSL_CURVE25519_64BIT)
  266. 425251763115706, 608463272472562, 442562545713235,
  267. 837766094556764, 374555092627893
  268. #else
  269. 4708026, 6336745, 20377586, 9066809, 55836755, 6594695,
  270. 41455196, 12483687, 54440373, 5581305
  271. #endif
  272. }},
  273. {{
  274. #if defined(BORINGSSL_CURVE25519_64BIT)
  275. 1086255230780037, 274979815921559, 1960002765731872,
  276. 929474102396301, 1190409889297339
  277. #else
  278. 19563141, 16186464, 37722007, 4097518, 10237984, 29206317,
  279. 28542349, 13850243, 43430843, 17738489
  280. #endif
  281. }},
  282. },
  283. {
  284. {{
  285. #if defined(BORINGSSL_CURVE25519_64BIT)
  286. 1388594989461809, 316767091099457, 394298842192982,
  287. 1230079486801005, 1440737038838979
  288. #else
  289. 51736881, 20691677, 32573249, 4720197, 40672342, 5875510,
  290. 47920237, 18329612, 57289923, 21468654
  291. #endif
  292. }},
  293. {{
  294. #if defined(BORINGSSL_CURVE25519_64BIT)
  295. 7380825640100, 146210432690483, 304903576448906,
  296. 1198869323871120, 997689833219095
  297. #else
  298. 58559652, 109982, 15149363, 2178705, 22900618, 4543417, 3044240,
  299. 17864545, 1762327, 14866737
  300. #endif
  301. }},
  302. {{
  303. #if defined(BORINGSSL_CURVE25519_64BIT)
  304. 1181317918772081, 114573476638901, 262805072233344,
  305. 265712217171332, 294181933805782
  306. #else
  307. 48909169, 17603008, 56635573, 1707277, 49922944, 3916100,
  308. 38872452, 3959420, 27914454, 4383652
  309. #endif
  310. }},
  311. },
  312. {
  313. {{
  314. #if defined(BORINGSSL_CURVE25519_64BIT)
  315. 665000864555967, 2065379846933859, 370231110385876,
  316. 350988370788628, 1233371373142985
  317. #else
  318. 5153727, 9909285, 1723747, 30776558, 30523604, 5516873,
  319. 19480852, 5230134, 43156425, 18378665
  320. #endif
  321. }},
  322. {{
  323. #if defined(BORINGSSL_CURVE25519_64BIT)
  324. 2019367628972465, 676711900706637, 110710997811333,
  325. 1108646842542025, 517791959672113
  326. #else
  327. 36839857, 30090922, 7665485, 10083793, 28475525, 1649722,
  328. 20654025, 16520125, 30598449, 7715701
  329. #endif
  330. }},
  331. {{
  332. #if defined(BORINGSSL_CURVE25519_64BIT)
  333. 965130719900578, 247011430587952, 526356006571389,
  334. 91986625355052, 2157223321444601
  335. #else
  336. 28881826, 14381568, 9657904, 3680757, 46927229, 7843315,
  337. 35708204, 1370707, 29794553, 32145132
  338. #endif
  339. }},
  340. },
  341. {
  342. {{
  343. #if defined(BORINGSSL_CURVE25519_64BIT)
  344. 2068619540119183, 1966274918058806, 957728544705549,
  345. 729906502578991, 159834893065166
  346. #else
  347. 14499471, 30824833, 33917750, 29299779, 28494861, 14271267,
  348. 30290735, 10876454, 33954766, 2381725
  349. #endif
  350. }},
  351. {{
  352. #if defined(BORINGSSL_CURVE25519_64BIT)
  353. 2073601412052185, 31021124762708, 264500969797082,
  354. 248034690651703, 1030252227928288
  355. #else
  356. 59913433, 30899068, 52378708, 462250, 39384538, 3941371,
  357. 60872247, 3696004, 34808032, 15351954
  358. #endif
  359. }},
  360. {{
  361. #if defined(BORINGSSL_CURVE25519_64BIT)
  362. 551790716293402, 1989538725166328, 801169423371717,
  363. 2052451893578887, 678432056995012
  364. #else
  365. 27431194, 8222322, 16448760, 29646437, 48401861, 11938354,
  366. 34147463, 30583916, 29551812, 10109425
  367. #endif
  368. }},
  369. },
  370. },
  371. {
  372. {
  373. {{
  374. #if defined(BORINGSSL_CURVE25519_64BIT)
  375. 1368953770187805, 790347636712921, 437508475667162,
  376. 2142576377050580, 1932081720066286
  377. #else
  378. 53451805, 20399000, 35825113, 11777097, 21447386, 6519384,
  379. 64730580, 31926875, 10092782, 28790261
  380. #endif
  381. }},
  382. {{
  383. #if defined(BORINGSSL_CURVE25519_64BIT)
  384. 953638594433374, 1092333936795051, 1419774766716690,
  385. 805677984380077, 859228993502513
  386. #else
  387. 27939166, 14210322, 4677035, 16277044, 44144402, 21156292,
  388. 34600109, 12005537, 49298737, 12803509
  389. #endif
  390. }},
  391. {{
  392. #if defined(BORINGSSL_CURVE25519_64BIT)
  393. 1200766035879111, 20142053207432, 1465634435977050,
  394. 1645256912097844, 295121984874596
  395. #else
  396. 17228999, 17892808, 65875336, 300139, 65883994, 21839654,
  397. 30364212, 24516238, 18016356, 4397660
  398. #endif
  399. }},
  400. },
  401. {
  402. {{
  403. #if defined(BORINGSSL_CURVE25519_64BIT)
  404. 1735718747031557, 1248237894295956, 1204753118328107,
  405. 976066523550493, 65943769534592
  406. #else
  407. 56150021, 25864224, 4776340, 18600194, 27850027, 17952220,
  408. 40489757, 14544524, 49631360, 982638
  409. #endif
  410. }},
  411. {{
  412. #if defined(BORINGSSL_CURVE25519_64BIT)
  413. 1060098822528990, 1586825862073490, 212301317240126,
  414. 1975302711403555, 666724059764335
  415. #else
  416. 29253598, 15796703, 64244882, 23645547, 10057022, 3163536,
  417. 7332899, 29434304, 46061167, 9934962
  418. #endif
  419. }},
  420. {{
  421. #if defined(BORINGSSL_CURVE25519_64BIT)
  422. 1091990273418756, 1572899409348578, 80968014455247,
  423. 306009358661350, 1520450739132526
  424. #else
  425. 5793284, 16271923, 42977250, 23438027, 29188559, 1206517,
  426. 52360934, 4559894, 36984942, 22656481
  427. #endif
  428. }},
  429. },
  430. {
  431. {{
  432. #if defined(BORINGSSL_CURVE25519_64BIT)
  433. 1480517209436112, 1511153322193952, 1244343858991172,
  434. 304788150493241, 369136856496443
  435. #else
  436. 39464912, 22061425, 16282656, 22517939, 28414020, 18542168,
  437. 24191033, 4541697, 53770555, 5500567
  438. #endif
  439. }},
  440. {{
  441. #if defined(BORINGSSL_CURVE25519_64BIT)
  442. 2151330273626164, 762045184746182, 1688074332551515,
  443. 823046109005759, 907602769079491
  444. #else
  445. 12650548, 32057319, 9052870, 11355358, 49428827, 25154267,
  446. 49678271, 12264342, 10874051, 13524335
  447. #endif
  448. }},
  449. {{
  450. #if defined(BORINGSSL_CURVE25519_64BIT)
  451. 2047386910586836, 168470092900250, 1552838872594810,
  452. 340951180073789, 360819374702533
  453. #else
  454. 25556948, 30508442, 714650, 2510400, 23394682, 23139102,
  455. 33119037, 5080568, 44580805, 5376627
  456. #endif
  457. }},
  458. },
  459. {
  460. {{
  461. #if defined(BORINGSSL_CURVE25519_64BIT)
  462. 1982622644432056, 2014393600336956, 128909208804214,
  463. 1617792623929191, 105294281913815
  464. #else
  465. 41020600, 29543379, 50095164, 30016803, 60382070, 1920896,
  466. 44787559, 24106988, 4535767, 1569007
  467. #endif
  468. }},
  469. {{
  470. #if defined(BORINGSSL_CURVE25519_64BIT)
  471. 980234343912898, 1712256739246056, 588935272190264,
  472. 204298813091998, 841798321043288
  473. #else
  474. 64853442, 14606629, 45416424, 25514613, 28430648, 8775819,
  475. 36614302, 3044289, 31848280, 12543772
  476. #endif
  477. }},
  478. {{
  479. #if defined(BORINGSSL_CURVE25519_64BIT)
  480. 197561292938973, 454817274782871, 1963754960082318,
  481. 2113372252160468, 971377527342673
  482. #else
  483. 45080285, 2943892, 35251351, 6777305, 13784462, 29262229,
  484. 39731668, 31491700, 7718481, 14474653
  485. #endif
  486. }},
  487. },
  488. {
  489. {{
  490. #if defined(BORINGSSL_CURVE25519_64BIT)
  491. 164699448829328, 3127451757672, 1199504971548753,
  492. 1766155447043652, 1899238924683527
  493. #else
  494. 2385296, 2454213, 44477544, 46602, 62670929, 17874016, 656964,
  495. 26317767, 24316167, 28300865
  496. #endif
  497. }},
  498. {{
  499. #if defined(BORINGSSL_CURVE25519_64BIT)
  500. 732262946680281, 1674412764227063, 2182456405662809,
  501. 1350894754474250, 558458873295247
  502. #else
  503. 13741529, 10911568, 33875447, 24950694, 46931033, 32521134,
  504. 33040650, 20129900, 46379407, 8321685
  505. #endif
  506. }},
  507. {{
  508. #if defined(BORINGSSL_CURVE25519_64BIT)
  509. 2103305098582922, 1960809151316468, 715134605001343,
  510. 1454892949167181, 40827143824949
  511. #else
  512. 21060490, 31341688, 15712756, 29218333, 1639039, 10656336,
  513. 23845965, 21679594, 57124405, 608371
  514. #endif
  515. }},
  516. },
  517. {
  518. {{
  519. #if defined(BORINGSSL_CURVE25519_64BIT)
  520. 1239289043050212, 1744654158124578, 758702410031698,
  521. 1796762995074688, 1603056663766
  522. #else
  523. 53436132, 18466845, 56219170, 25997372, 61071954, 11305546,
  524. 1123968, 26773855, 27229398, 23887
  525. #endif
  526. }},
  527. {{
  528. #if defined(BORINGSSL_CURVE25519_64BIT)
  529. 2232056027107988, 987343914584615, 2115594492994461,
  530. 1819598072792159, 1119305654014850
  531. #else
  532. 43864724, 33260226, 55364135, 14712570, 37643165, 31524814,
  533. 12797023, 27114124, 65475458, 16678953
  534. #endif
  535. }},
  536. {{
  537. #if defined(BORINGSSL_CURVE25519_64BIT)
  538. 320153677847348, 939613871605645, 641883205761567,
  539. 1930009789398224, 329165806634126
  540. #else
  541. 37608244, 4770661, 51054477, 14001337, 7830047, 9564805,
  542. 65600720, 28759386, 49939598, 4904952
  543. #endif
  544. }},
  545. },
  546. {
  547. {{
  548. #if defined(BORINGSSL_CURVE25519_64BIT)
  549. 980930490474130, 1242488692177893, 1251446316964684,
  550. 1086618677993530, 1961430968465772
  551. #else
  552. 24059538, 14617003, 19037157, 18514524, 19766092, 18648003,
  553. 5169210, 16191880, 2128236, 29227599
  554. #endif
  555. }},
  556. {{
  557. #if defined(BORINGSSL_CURVE25519_64BIT)
  558. 276821765317453, 1536835591188030, 1305212741412361,
  559. 61473904210175, 2051377036983058
  560. #else
  561. 50127693, 4124965, 58568254, 22900634, 30336521, 19449185,
  562. 37302527, 916032, 60226322, 30567899
  563. #endif
  564. }},
  565. {{
  566. #if defined(BORINGSSL_CURVE25519_64BIT)
  567. 833449923882501, 1750270368490475, 1123347002068295,
  568. 185477424765687, 278090826653186
  569. #else
  570. 44477957, 12419371, 59974635, 26081060, 50629959, 16739174,
  571. 285431, 2763829, 15736322, 4143876
  572. #endif
  573. }},
  574. },
  575. {
  576. {{
  577. #if defined(BORINGSSL_CURVE25519_64BIT)
  578. 794524995833413, 1849907304548286, 53348672473145,
  579. 1272368559505217, 1147304168324779
  580. #else
  581. 2379333, 11839345, 62998462, 27565766, 11274297, 794957, 212801,
  582. 18959769, 23527083, 17096164
  583. #endif
  584. }},
  585. {{
  586. #if defined(BORINGSSL_CURVE25519_64BIT)
  587. 1504846112759364, 1203096289004681, 562139421471418,
  588. 274333017451844, 1284344053775441
  589. #else
  590. 33431108, 22423954, 49269897, 17927531, 8909498, 8376530,
  591. 34483524, 4087880, 51919953, 19138217
  592. #endif
  593. }},
  594. {{
  595. #if defined(BORINGSSL_CURVE25519_64BIT)
  596. 483048732424432, 2116063063343382, 30120189902313,
  597. 292451576741007, 1156379271702225
  598. #else
  599. 1767664, 7197987, 53903638, 31531796, 54017513, 448825, 5799055,
  600. 4357868, 62334673, 17231393
  601. #endif
  602. }},
  603. },
  604. },
  605. {
  606. {
  607. {{
  608. #if defined(BORINGSSL_CURVE25519_64BIT)
  609. 928372153029038, 2147692869914564, 1455665844462196,
  610. 1986737809425946, 185207050258089
  611. #else
  612. 6721966, 13833823, 43585476, 32003117, 26354292, 21691111,
  613. 23365146, 29604700, 7390889, 2759800
  614. #endif
  615. }},
  616. {{
  617. #if defined(BORINGSSL_CURVE25519_64BIT)
  618. 137732961814206, 706670923917341, 1387038086865771,
  619. 1965643813686352, 1384777115696347
  620. #else
  621. 4409022, 2052381, 23373853, 10530217, 7676779, 20668478,
  622. 21302352, 29290375, 1244379, 20634787
  623. #endif
  624. }},
  625. {{
  626. #if defined(BORINGSSL_CURVE25519_64BIT)
  627. 481144981981577, 2053319313589856, 2065402289827512,
  628. 617954271490316, 1106602634668125
  629. #else
  630. 62687625, 7169618, 4982368, 30596842, 30256824, 30776892,
  631. 14086412, 9208236, 15886429, 16489664
  632. #endif
  633. }},
  634. },
  635. {
  636. {{
  637. #if defined(BORINGSSL_CURVE25519_64BIT)
  638. 696298019648792, 893299659040895, 1148636718636009,
  639. 26734077349617, 2203955659340681
  640. #else
  641. 1996056, 10375649, 14346367, 13311202, 60234729, 17116020,
  642. 53415665, 398368, 36502409, 32841498
  643. #endif
  644. }},
  645. {{
  646. #if defined(BORINGSSL_CURVE25519_64BIT)
  647. 657390353372855, 998499966885562, 991893336905797,
  648. 810470207106761, 343139804608786
  649. #else
  650. 41801399, 9795879, 64331450, 14878808, 33577029, 14780362,
  651. 13348553, 12076947, 36272402, 5113181
  652. #endif
  653. }},
  654. {{
  655. #if defined(BORINGSSL_CURVE25519_64BIT)
  656. 791736669492960, 934767652997115, 824656780392914,
  657. 1759463253018643, 361530362383518
  658. #else
  659. 49338080, 11797795, 31950843, 13929123, 41220562, 12288343,
  660. 36767763, 26218045, 13847710, 5387222
  661. #endif
  662. }},
  663. },
  664. {
  665. {{
  666. #if defined(BORINGSSL_CURVE25519_64BIT)
  667. 2022541353055597, 2094700262587466, 1551008075025686,
  668. 242785517418164, 695985404963562
  669. #else
  670. 48526701, 30138214, 17824842, 31213466, 22744342, 23111821,
  671. 8763060, 3617786, 47508202, 10370990
  672. #endif
  673. }},
  674. {{
  675. #if defined(BORINGSSL_CURVE25519_64BIT)
  676. 1287487199965223, 2215311941380308, 1552928390931986,
  677. 1664859529680196, 1125004975265243
  678. #else
  679. 20246567, 19185054, 22358228, 33010720, 18507282, 23140436,
  680. 14554436, 24808340, 32232923, 16763880
  681. #endif
  682. }},
  683. {{
  684. #if defined(BORINGSSL_CURVE25519_64BIT)
  685. 677434665154918, 989582503122485, 1817429540898386,
  686. 1052904935475344, 1143826298169798
  687. #else
  688. 9648486, 10094563, 26416693, 14745928, 36734546, 27081810,
  689. 11094160, 15689506, 3140038, 17044340
  690. #endif
  691. }},
  692. },
  693. {
  694. {{
  695. #if defined(BORINGSSL_CURVE25519_64BIT)
  696. 367266328308408, 318431188922404, 695629353755355,
  697. 634085657580832, 24581612564426
  698. #else
  699. 50948792, 5472694, 31895588, 4744994, 8823515, 10365685,
  700. 39884064, 9448612, 38334410, 366294
  701. #endif
  702. }},
  703. {{
  704. #if defined(BORINGSSL_CURVE25519_64BIT)
  705. 773360688841258, 1815381330538070, 363773437667376,
  706. 539629987070205, 783280434248437
  707. #else
  708. 19153450, 11523972, 56012374, 27051289, 42461232, 5420646,
  709. 28344573, 8041113, 719605, 11671788
  710. #endif
  711. }},
  712. {{
  713. #if defined(BORINGSSL_CURVE25519_64BIT)
  714. 180820816194166, 168937968377394, 748416242794470,
  715. 1227281252254508, 1567587861004268
  716. #else
  717. 8678006, 2694440, 60300850, 2517371, 4964326, 11152271,
  718. 51675948, 18287915, 27000812, 23358879
  719. #endif
  720. }},
  721. },
  722. {
  723. {{
  724. #if defined(BORINGSSL_CURVE25519_64BIT)
  725. 478775558583645, 2062896624554807, 699391259285399,
  726. 358099408427873, 1277310261461761
  727. #else
  728. 51950941, 7134311, 8639287, 30739555, 59873175, 10421741,
  729. 564065, 5336097, 6750977, 19033406
  730. #endif
  731. }},
  732. {{
  733. #if defined(BORINGSSL_CURVE25519_64BIT)
  734. 1984740906540026, 1079164179400229, 1056021349262661,
  735. 1659958556483663, 1088529069025527
  736. #else
  737. 11836410, 29574944, 26297893, 16080799, 23455045, 15735944,
  738. 1695823, 24735310, 8169719, 16220347
  739. #endif
  740. }},
  741. {{
  742. #if defined(BORINGSSL_CURVE25519_64BIT)
  743. 580736401511151, 1842931091388998, 1177201471228238,
  744. 2075460256527244, 1301133425678027
  745. #else
  746. 48993007, 8653646, 17578566, 27461813, 59083086, 17541668,
  747. 55964556, 30926767, 61118155, 19388398
  748. #endif
  749. }},
  750. },
  751. {
  752. {{
  753. #if defined(BORINGSSL_CURVE25519_64BIT)
  754. 1515728832059182, 1575261009617579, 1510246567196186,
  755. 191078022609704, 116661716289141
  756. #else
  757. 43800366, 22586119, 15213227, 23473218, 36255258, 22504427,
  758. 27884328, 2847284, 2655861, 1738395
  759. #endif
  760. }},
  761. {{
  762. #if defined(BORINGSSL_CURVE25519_64BIT)
  763. 1295295738269652, 1714742313707026, 545583042462581,
  764. 2034411676262552, 1513248090013606
  765. #else
  766. 39571412, 19301410, 41772562, 25551651, 57738101, 8129820,
  767. 21651608, 30315096, 48021414, 22549153
  768. #endif
  769. }},
  770. {{
  771. #if defined(BORINGSSL_CURVE25519_64BIT)
  772. 230710545179830, 30821514358353, 760704303452229,
  773. 390668103790604, 573437871383156
  774. #else
  775. 1533110, 3437855, 23735889, 459276, 29970501, 11335377,
  776. 26030092, 5821408, 10478196, 8544890
  777. #endif
  778. }},
  779. },
  780. {
  781. {{
  782. #if defined(BORINGSSL_CURVE25519_64BIT)
  783. 1169380107545646, 263167233745614, 2022901299054448,
  784. 819900753251120, 2023898464874585
  785. #else
  786. 32173102, 17425121, 24896206, 3921497, 22579056, 30143578,
  787. 19270448, 12217473, 17789017, 30158437
  788. #endif
  789. }},
  790. {{
  791. #if defined(BORINGSSL_CURVE25519_64BIT)
  792. 2102254323485823, 1570832666216754, 34696906544624,
  793. 1993213739807337, 70638552271463
  794. #else
  795. 36555903, 31326030, 51530034, 23407230, 13243888, 517024,
  796. 15479401, 29701199, 30460519, 1052596
  797. #endif
  798. }},
  799. {{
  800. #if defined(BORINGSSL_CURVE25519_64BIT)
  801. 894132856735058, 548675863558441, 845349339503395,
  802. 1942269668326667, 1615682209874691
  803. #else
  804. 55493970, 13323617, 32618793, 8175907, 51878691, 12596686,
  805. 27491595, 28942073, 3179267, 24075541
  806. #endif
  807. }},
  808. },
  809. {
  810. {{
  811. #if defined(BORINGSSL_CURVE25519_64BIT)
  812. 1287670217537834, 1222355136884920, 1846481788678694,
  813. 1150426571265110, 1613523400722047
  814. #else
  815. 31947050, 19187781, 62468280, 18214510, 51982886, 27514722,
  816. 52352086, 17142691, 19072639, 24043372
  817. #endif
  818. }},
  819. {{
  820. #if defined(BORINGSSL_CURVE25519_64BIT)
  821. 793388516527298, 1315457083650035, 1972286999342417,
  822. 1901825953052455, 338269477222410
  823. #else
  824. 11685058, 11822410, 3158003, 19601838, 33402193, 29389366,
  825. 5977895, 28339415, 473098, 5040608
  826. #endif
  827. }},
  828. {{
  829. #if defined(BORINGSSL_CURVE25519_64BIT)
  830. 550201530671806, 778605267108140, 2063911101902983,
  831. 115500557286349, 2041641272971022
  832. #else
  833. 46817982, 8198641, 39698732, 11602122, 1290375, 30754672,
  834. 28326861, 1721092, 47550222, 30422825
  835. #endif
  836. }},
  837. },
  838. },
  839. {
  840. {
  841. {{
  842. #if defined(BORINGSSL_CURVE25519_64BIT)
  843. 717255318455100, 519313764361315, 2080406977303708,
  844. 541981206705521, 774328150311600
  845. #else
  846. 7881532, 10687937, 7578723, 7738378, 48157852, 31000479,
  847. 21820785, 8076149, 39240368, 11538388
  848. #endif
  849. }},
  850. {{
  851. #if defined(BORINGSSL_CURVE25519_64BIT)
  852. 261715221532238, 1795354330069993, 1496878026850283,
  853. 499739720521052, 389031152673770
  854. #else
  855. 47173198, 3899860, 18283497, 26752864, 51380203, 22305220,
  856. 8754524, 7446702, 61432810, 5797015
  857. #endif
  858. }},
  859. {{
  860. #if defined(BORINGSSL_CURVE25519_64BIT)
  861. 1997217696294013, 1717306351628065, 1684313917746180,
  862. 1644426076011410, 1857378133465451
  863. #else
  864. 55813245, 29760862, 51326753, 25589858, 12708868, 25098233,
  865. 2014098, 24503858, 64739691, 27677090
  866. #endif
  867. }},
  868. },
  869. {
  870. {{
  871. #if defined(BORINGSSL_CURVE25519_64BIT)
  872. 1475434724792648, 76931896285979, 1116729029771667,
  873. 2002544139318042, 725547833803938
  874. #else
  875. 44636488, 21985690, 39426843, 1146374, 18956691, 16640559,
  876. 1192730, 29840233, 15123618, 10811505
  877. #endif
  878. }},
  879. {{
  880. #if defined(BORINGSSL_CURVE25519_64BIT)
  881. 2022306639183567, 726296063571875, 315345054448644,
  882. 1058733329149221, 1448201136060677
  883. #else
  884. 14352079, 30134717, 48166819, 10822654, 32750596, 4699007,
  885. 67038501, 15776355, 38222085, 21579878
  886. #endif
  887. }},
  888. {{
  889. #if defined(BORINGSSL_CURVE25519_64BIT)
  890. 1710065158525665, 1895094923036397, 123988286168546,
  891. 1145519900776355, 1607510767693874
  892. #else
  893. 38867681, 25481956, 62129901, 28239114, 29416930, 1847569,
  894. 46454691, 17069576, 4714546, 23953777
  895. #endif
  896. }},
  897. },
  898. {
  899. {{
  900. #if defined(BORINGSSL_CURVE25519_64BIT)
  901. 561605375422540, 1071733543815037, 131496498800990,
  902. 1946868434569999, 828138133964203
  903. #else
  904. 15200332, 8368572, 19679101, 15970074, 35236190, 1959450,
  905. 24611599, 29010600, 55362987, 12340219
  906. #endif
  907. }},
  908. {{
  909. #if defined(BORINGSSL_CURVE25519_64BIT)
  910. 1548495173745801, 442310529226540, 998072547000384,
  911. 553054358385281, 644824326376171
  912. #else
  913. 12876937, 23074376, 33134380, 6590940, 60801088, 14872439,
  914. 9613953, 8241152, 15370987, 9608631
  915. #endif
  916. }},
  917. {{
  918. #if defined(BORINGSSL_CURVE25519_64BIT)
  919. 1445526537029440, 2225519789662536, 914628859347385,
  920. 1064754194555068, 1660295614401091
  921. #else
  922. 62965568, 21540023, 8446280, 33162829, 4407737, 13629032,
  923. 59383996, 15866073, 38898243, 24740332
  924. #endif
  925. }},
  926. },
  927. {
  928. {{
  929. #if defined(BORINGSSL_CURVE25519_64BIT)
  930. 1199690223111956, 24028135822341, 66638289244341,
  931. 57626156285975, 565093967979607
  932. #else
  933. 26660628, 17876777, 8393733, 358047, 59707573, 992987, 43204631,
  934. 858696, 20571223, 8420556
  935. #endif
  936. }},
  937. {{
  938. #if defined(BORINGSSL_CURVE25519_64BIT)
  939. 876926774220824, 554618976488214, 1012056309841565,
  940. 839961821554611, 1414499340307677
  941. #else
  942. 14620696, 13067227, 51661590, 8264466, 14106269, 15080814,
  943. 33531827, 12516406, 45534429, 21077682
  944. #endif
  945. }},
  946. {{
  947. #if defined(BORINGSSL_CURVE25519_64BIT)
  948. 703047626104145, 1266841406201770, 165556500219173,
  949. 486991595001879, 1011325891650656
  950. #else
  951. 236881, 10476226, 57258, 18877408, 6472997, 2466984, 17258519,
  952. 7256740, 8791136, 15069930
  953. #endif
  954. }},
  955. },
  956. {
  957. {{
  958. #if defined(BORINGSSL_CURVE25519_64BIT)
  959. 1622861044480487, 1156394801573634, 1869132565415504,
  960. 327103985777730, 2095342781472284
  961. #else
  962. 1276391, 24182514, 22949634, 17231625, 43615824, 27852245,
  963. 14711874, 4874229, 36445724, 31223040
  964. #endif
  965. }},
  966. {{
  967. #if defined(BORINGSSL_CURVE25519_64BIT)
  968. 334886927423922, 489511099221528, 129160865966726,
  969. 1720809113143481, 619700195649254
  970. #else
  971. 5855666, 4990204, 53397016, 7294283, 59304582, 1924646,
  972. 65685689, 25642053, 34039526, 9234252
  973. #endif
  974. }},
  975. {{
  976. #if defined(BORINGSSL_CURVE25519_64BIT)
  977. 1646545795166119, 1758370782583567, 714746174550637,
  978. 1472693650165135, 898994790308209
  979. #else
  980. 20590503, 24535444, 31529743, 26201766, 64402029, 10650547,
  981. 31559055, 21944845, 18979185, 13396066
  982. #endif
  983. }},
  984. },
  985. {
  986. {{
  987. #if defined(BORINGSSL_CURVE25519_64BIT)
  988. 333403773039279, 295772542452938, 1693106465353610,
  989. 912330357530760, 471235657950362
  990. #else
  991. 24474287, 4968103, 22267082, 4407354, 24063882, 25229252,
  992. 48291976, 13594781, 33514650, 7021958
  993. #endif
  994. }},
  995. {{
  996. #if defined(BORINGSSL_CURVE25519_64BIT)
  997. 1811196219982022, 1068969825533602, 289602974833439,
  998. 1988956043611592, 863562343398367
  999. #else
  1000. 55541958, 26988926, 45743778, 15928891, 40950559, 4315420,
  1001. 41160136, 29637754, 45628383, 12868081
  1002. #endif
  1003. }},
  1004. {{
  1005. #if defined(BORINGSSL_CURVE25519_64BIT)
  1006. 906282429780072, 2108672665779781, 432396390473936,
  1007. 150625823801893, 1708930497638539
  1008. #else
  1009. 38473832, 13504660, 19988037, 31421671, 21078224, 6443208,
  1010. 45662757, 2244499, 54653067, 25465048
  1011. #endif
  1012. }},
  1013. },
  1014. {
  1015. {{
  1016. #if defined(BORINGSSL_CURVE25519_64BIT)
  1017. 925664675702328, 21416848568684, 1831436641861340,
  1018. 601157008940113, 371818055044496
  1019. #else
  1020. 36513336, 13793478, 61256044, 319135, 41385692, 27290532,
  1021. 33086545, 8957937, 51875216, 5540520
  1022. #endif
  1023. }},
  1024. {{
  1025. #if defined(BORINGSSL_CURVE25519_64BIT)
  1026. 1479786007267725, 1738881859066675, 68646196476567,
  1027. 2146507056100328, 1247662817535471
  1028. #else
  1029. 55478669, 22050529, 58989363, 25911358, 2620055, 1022908,
  1030. 43398120, 31985447, 50980335, 18591624
  1031. #endif
  1032. }},
  1033. {{
  1034. #if defined(BORINGSSL_CURVE25519_64BIT)
  1035. 52035296774456, 939969390708103, 312023458773250,
  1036. 59873523517659, 1231345905848899
  1037. #else
  1038. 23152952, 775386, 27395463, 14006635, 57407746, 4649511,
  1039. 1689819, 892185, 55595587, 18348483
  1040. #endif
  1041. }},
  1042. },
  1043. {
  1044. {{
  1045. #if defined(BORINGSSL_CURVE25519_64BIT)
  1046. 643355106415761, 290186807495774, 2013561737429023,
  1047. 319648069511546, 393736678496162
  1048. #else
  1049. 9770129, 9586738, 26496094, 4324120, 1556511, 30004408,
  1050. 27453818, 4763127, 47929250, 5867133
  1051. #endif
  1052. }},
  1053. {{
  1054. #if defined(BORINGSSL_CURVE25519_64BIT)
  1055. 129358342392716, 1932811617704777, 1176749390799681,
  1056. 398040349861790, 1170779668090425
  1057. #else
  1058. 34343820, 1927589, 31726409, 28801137, 23962433, 17534932,
  1059. 27846558, 5931263, 37359161, 17445976
  1060. #endif
  1061. }},
  1062. {{
  1063. #if defined(BORINGSSL_CURVE25519_64BIT)
  1064. 2051980782668029, 121859921510665, 2048329875753063,
  1065. 1235229850149665, 519062146124755
  1066. #else
  1067. 27461885, 30576896, 22380809, 1815854, 44075111, 30522493,
  1068. 7283489, 18406359, 47582163, 7734628
  1069. #endif
  1070. }},
  1071. },
  1072. },
  1073. {
  1074. {
  1075. {{
  1076. #if defined(BORINGSSL_CURVE25519_64BIT)
  1077. 1608170971973096, 415809060360428, 1350468408164766,
  1078. 2038620059057678, 1026904485989112
  1079. #else
  1080. 59098600, 23963614, 55988460, 6196037, 29344158, 20123547,
  1081. 7585294, 30377806, 18549496, 15302069
  1082. #endif
  1083. }},
  1084. {{
  1085. #if defined(BORINGSSL_CURVE25519_64BIT)
  1086. 1837656083115103, 1510134048812070, 906263674192061,
  1087. 1821064197805734, 565375124676301
  1088. #else
  1089. 34450527, 27383209, 59436070, 22502750, 6258877, 13504381,
  1090. 10458790, 27135971, 58236621, 8424745
  1091. #endif
  1092. }},
  1093. {{
  1094. #if defined(BORINGSSL_CURVE25519_64BIT)
  1095. 578027192365650, 2034800251375322, 2128954087207123,
  1096. 478816193810521, 2196171989962750
  1097. #else
  1098. 24687186, 8613276, 36441818, 30320886, 1863891, 31723888,
  1099. 19206233, 7134917, 55824382, 32725512
  1100. #endif
  1101. }},
  1102. },
  1103. {
  1104. {{
  1105. #if defined(BORINGSSL_CURVE25519_64BIT)
  1106. 1633188840273139, 852787172373708, 1548762607215796,
  1107. 1266275218902681, 1107218203325133
  1108. #else
  1109. 11334899, 24336410, 8025292, 12707519, 17523892, 23078361,
  1110. 10243737, 18868971, 62042829, 16498836
  1111. #endif
  1112. }},
  1113. {{
  1114. #if defined(BORINGSSL_CURVE25519_64BIT)
  1115. 462189358480054, 1784816734159228, 1611334301651368,
  1116. 1303938263943540, 707589560319424
  1117. #else
  1118. 8911542, 6887158, 57524604, 26595841, 11145640, 24010752,
  1119. 17303924, 19430194, 6536640, 10543906
  1120. #endif
  1121. }},
  1122. {{
  1123. #if defined(BORINGSSL_CURVE25519_64BIT)
  1124. 1038829280972848, 38176604650029, 753193246598573,
  1125. 1136076426528122, 595709990562434
  1126. #else
  1127. 38162480, 15479762, 49642029, 568875, 65611181, 11223453,
  1128. 64439674, 16928857, 39873154, 8876770
  1129. #endif
  1130. }},
  1131. },
  1132. {
  1133. {{
  1134. #if defined(BORINGSSL_CURVE25519_64BIT)
  1135. 1408451820859834, 2194984964010833, 2198361797561729,
  1136. 1061962440055713, 1645147963442934
  1137. #else
  1138. 41365946, 20987567, 51458897, 32707824, 34082177, 32758143,
  1139. 33627041, 15824473, 66504438, 24514614
  1140. #endif
  1141. }},
  1142. {{
  1143. #if defined(BORINGSSL_CURVE25519_64BIT)
  1144. 4701053362120, 1647641066302348, 1047553002242085,
  1145. 1923635013395977, 206970314902065
  1146. #else
  1147. 10330056, 70051, 7957388, 24551765, 9764901, 15609756, 27698697,
  1148. 28664395, 1657393, 3084098
  1149. #endif
  1150. }},
  1151. {{
  1152. #if defined(BORINGSSL_CURVE25519_64BIT)
  1153. 1750479161778571, 1362553355169293, 1891721260220598,
  1154. 966109370862782, 1024913988299801
  1155. #else
  1156. 10477963, 26084172, 12119565, 20303627, 29016246, 28188843,
  1157. 31280318, 14396151, 36875289, 15272408
  1158. #endif
  1159. }},
  1160. },
  1161. {
  1162. {{
  1163. #if defined(BORINGSSL_CURVE25519_64BIT)
  1164. 212699049131723, 1117950018299775, 1873945661751056,
  1165. 1403802921984058, 130896082652698
  1166. #else
  1167. 54820555, 3169462, 28813183, 16658753, 25116432, 27923966,
  1168. 41934906, 20918293, 42094106, 1950503
  1169. #endif
  1170. }},
  1171. {{
  1172. #if defined(BORINGSSL_CURVE25519_64BIT)
  1173. 636808533673210, 1262201711667560, 390951380330599,
  1174. 1663420692697294, 561951321757406
  1175. #else
  1176. 40928506, 9489186, 11053416, 18808271, 36055143, 5825629,
  1177. 58724558, 24786899, 15341278, 8373727
  1178. #endif
  1179. }},
  1180. {{
  1181. #if defined(BORINGSSL_CURVE25519_64BIT)
  1182. 520731594438141, 1446301499955692, 273753264629267,
  1183. 1565101517999256, 1019411827004672
  1184. #else
  1185. 28685821, 7759505, 52730348, 21551571, 35137043, 4079241,
  1186. 298136, 23321830, 64230656, 15190419
  1187. #endif
  1188. }},
  1189. },
  1190. {
  1191. {{
  1192. #if defined(BORINGSSL_CURVE25519_64BIT)
  1193. 926527492029409, 1191853477411379, 734233225181171,
  1194. 184038887541270, 1790426146325343
  1195. #else
  1196. 34175969, 13806335, 52771379, 17760000, 43104243, 10940927,
  1197. 8669718, 2742393, 41075551, 26679428
  1198. #endif
  1199. }},
  1200. {{
  1201. #if defined(BORINGSSL_CURVE25519_64BIT)
  1202. 1464651961852572, 1483737295721717, 1519450561335517,
  1203. 1161429831763785, 405914998179977
  1204. #else
  1205. 65528476, 21825014, 41129205, 22109408, 49696989, 22641577,
  1206. 9291593, 17306653, 54954121, 6048604
  1207. #endif
  1208. }},
  1209. {{
  1210. #if defined(BORINGSSL_CURVE25519_64BIT)
  1211. 996126634382301, 796204125879525, 127517800546509,
  1212. 344155944689303, 615279846169038
  1213. #else
  1214. 36803549, 14843443, 1539301, 11864366, 20201677, 1900163,
  1215. 13934231, 5128323, 11213262, 9168384
  1216. #endif
  1217. }},
  1218. },
  1219. {
  1220. {{
  1221. #if defined(BORINGSSL_CURVE25519_64BIT)
  1222. 738724080975276, 2188666632415296, 1961313708559162,
  1223. 1506545807547587, 1151301638969740
  1224. #else
  1225. 40828332, 11007846, 19408960, 32613674, 48515898, 29225851,
  1226. 62020803, 22449281, 20470156, 17155731
  1227. #endif
  1228. }},
  1229. {{
  1230. #if defined(BORINGSSL_CURVE25519_64BIT)
  1231. 622917337413835, 1218989177089035, 1284857712846592,
  1232. 970502061709359, 351025208117090
  1233. #else
  1234. 43972811, 9282191, 14855179, 18164354, 59746048, 19145871,
  1235. 44324911, 14461607, 14042978, 5230683
  1236. #endif
  1237. }},
  1238. {{
  1239. #if defined(BORINGSSL_CURVE25519_64BIT)
  1240. 2067814584765580, 1677855129927492, 2086109782475197,
  1241. 235286517313238, 1416314046739645
  1242. #else
  1243. 29969548, 30812838, 50396996, 25001989, 9175485, 31085458,
  1244. 21556950, 3506042, 61174973, 21104723
  1245. #endif
  1246. }},
  1247. },
  1248. {
  1249. {{
  1250. #if defined(BORINGSSL_CURVE25519_64BIT)
  1251. 586844262630358, 307444381952195, 458399356043426,
  1252. 602068024507062, 1028548203415243
  1253. #else
  1254. 63964118, 8744660, 19704003, 4581278, 46678178, 6830682,
  1255. 45824694, 8971512, 38569675, 15326562
  1256. #endif
  1257. }},
  1258. {{
  1259. #if defined(BORINGSSL_CURVE25519_64BIT)
  1260. 678489922928203, 2016657584724032, 90977383049628,
  1261. 1026831907234582, 615271492942522
  1262. #else
  1263. 47644235, 10110287, 49846336, 30050539, 43608476, 1355668,
  1264. 51585814, 15300987, 46594746, 9168259
  1265. #endif
  1266. }},
  1267. {{
  1268. #if defined(BORINGSSL_CURVE25519_64BIT)
  1269. 301225714012278, 1094837270268560, 1202288391010439,
  1270. 644352775178361, 1647055902137983
  1271. #else
  1272. 61755510, 4488612, 43305616, 16314346, 7780487, 17915493,
  1273. 38160505, 9601604, 33087103, 24543045
  1274. #endif
  1275. }},
  1276. },
  1277. {
  1278. {{
  1279. #if defined(BORINGSSL_CURVE25519_64BIT)
  1280. 1210746697896478, 1416608304244708, 686487477217856,
  1281. 1245131191434135, 1051238336855737
  1282. #else
  1283. 47665694, 18041531, 46311396, 21109108, 37284416, 10229460,
  1284. 39664535, 18553900, 61111993, 15664671
  1285. #endif
  1286. }},
  1287. {{
  1288. #if defined(BORINGSSL_CURVE25519_64BIT)
  1289. 1135604073198207, 1683322080485474, 769147804376683,
  1290. 2086688130589414, 900445683120379
  1291. #else
  1292. 23294591, 16921819, 44458082, 25083453, 27844203, 11461195,
  1293. 13099750, 31094076, 18151675, 13417686
  1294. #endif
  1295. }},
  1296. {{
  1297. #if defined(BORINGSSL_CURVE25519_64BIT)
  1298. 1971518477615628, 401909519527336, 448627091057375,
  1299. 1409486868273821, 1214789035034363
  1300. #else
  1301. 42385932, 29377914, 35958184, 5988918, 40250079, 6685064,
  1302. 1661597, 21002991, 15271675, 18101767
  1303. #endif
  1304. }},
  1305. },
  1306. },
  1307. {
  1308. {
  1309. {{
  1310. #if defined(BORINGSSL_CURVE25519_64BIT)
  1311. 1364039144731711, 1897497433586190, 2203097701135459,
  1312. 145461396811251, 1349844460790699
  1313. #else
  1314. 11433023, 20325767, 8239630, 28274915, 65123427, 32828713,
  1315. 48410099, 2167543, 60187563, 20114249
  1316. #endif
  1317. }},
  1318. {{
  1319. #if defined(BORINGSSL_CURVE25519_64BIT)
  1320. 1045230323257973, 818206601145807, 630513189076103,
  1321. 1672046528998132, 807204017562437
  1322. #else
  1323. 35672693, 15575145, 30436815, 12192228, 44645511, 9395378,
  1324. 57191156, 24915434, 12215109, 12028277
  1325. #endif
  1326. }},
  1327. {{
  1328. #if defined(BORINGSSL_CURVE25519_64BIT)
  1329. 439961968385997, 386362664488986, 1382706320807688,
  1330. 309894000125359, 2207801346498567
  1331. #else
  1332. 14098381, 6555944, 23007258, 5757252, 51681032, 20603929,
  1333. 30123439, 4617780, 50208775, 32898803
  1334. #endif
  1335. }},
  1336. },
  1337. {
  1338. {{
  1339. #if defined(BORINGSSL_CURVE25519_64BIT)
  1340. 1229004686397588, 920643968530863, 123975893911178,
  1341. 681423993215777, 1400559197080973
  1342. #else
  1343. 63082644, 18313596, 11893167, 13718664, 52299402, 1847384,
  1344. 51288865, 10154008, 23973261, 20869958
  1345. #endif
  1346. }},
  1347. {{
  1348. #if defined(BORINGSSL_CURVE25519_64BIT)
  1349. 2003766096898049, 170074059235165, 1141124258967971,
  1350. 1485419893480973, 1573762821028725
  1351. #else
  1352. 40577025, 29858441, 65199965, 2534300, 35238307, 17004076,
  1353. 18341389, 22134481, 32013173, 23450893
  1354. #endif
  1355. }},
  1356. {{
  1357. #if defined(BORINGSSL_CURVE25519_64BIT)
  1358. 729905708611432, 1270323270673202, 123353058984288,
  1359. 426460209632942, 2195574535456672
  1360. #else
  1361. 41629544, 10876442, 55337778, 18929291, 54739296, 1838103,
  1362. 21911214, 6354752, 4425632, 32716610
  1363. #endif
  1364. }},
  1365. },
  1366. {
  1367. {{
  1368. #if defined(BORINGSSL_CURVE25519_64BIT)
  1369. 1271140255321235, 2044363183174497, 52125387634689,
  1370. 1445120246694705, 942541986339084
  1371. #else
  1372. 56675475, 18941465, 22229857, 30463385, 53917697, 776728,
  1373. 49693489, 21533969, 4725004, 14044970
  1374. #endif
  1375. }},
  1376. {{
  1377. #if defined(BORINGSSL_CURVE25519_64BIT)
  1378. 1761608437466135, 583360847526804, 1586706389685493,
  1379. 2157056599579261, 1170692369685772
  1380. #else
  1381. 19268631, 26250011, 1555348, 8692754, 45634805, 23643767,
  1382. 6347389, 32142648, 47586572, 17444675
  1383. #endif
  1384. }},
  1385. {{
  1386. #if defined(BORINGSSL_CURVE25519_64BIT)
  1387. 871476219910823, 1878769545097794, 2241832391238412,
  1388. 548957640601001, 690047440233174
  1389. #else
  1390. 42244775, 12986007, 56209986, 27995847, 55796492, 33405905,
  1391. 19541417, 8180106, 9282262, 10282508
  1392. #endif
  1393. }},
  1394. },
  1395. {
  1396. {{
  1397. #if defined(BORINGSSL_CURVE25519_64BIT)
  1398. 297194732135507, 1366347803776820, 1301185512245601,
  1399. 561849853336294, 1533554921345731
  1400. #else
  1401. 40903763, 4428546, 58447668, 20360168, 4098401, 19389175,
  1402. 15522534, 8372215, 5542595, 22851749
  1403. #endif
  1404. }},
  1405. {{
  1406. #if defined(BORINGSSL_CURVE25519_64BIT)
  1407. 999628998628371, 1132836708493400, 2084741674517453,
  1408. 469343353015612, 678782988708035
  1409. #else
  1410. 56546323, 14895632, 26814552, 16880582, 49628109, 31065071,
  1411. 64326972, 6993760, 49014979, 10114654
  1412. #endif
  1413. }},
  1414. {{
  1415. #if defined(BORINGSSL_CURVE25519_64BIT)
  1416. 2189427607417022, 699801937082607, 412764402319267,
  1417. 1478091893643349, 2244675696854460
  1418. #else
  1419. 47001790, 32625013, 31422703, 10427861, 59998115, 6150668,
  1420. 38017109, 22025285, 25953724, 33448274
  1421. #endif
  1422. }},
  1423. },
  1424. {
  1425. {{
  1426. #if defined(BORINGSSL_CURVE25519_64BIT)
  1427. 1712292055966563, 204413590624874, 1405738637332841,
  1428. 408981300829763, 861082219276721
  1429. #else
  1430. 62874467, 25515139, 57989738, 3045999, 2101609, 20947138,
  1431. 19390019, 6094296, 63793585, 12831124
  1432. #endif
  1433. }},
  1434. {{
  1435. #if defined(BORINGSSL_CURVE25519_64BIT)
  1436. 508561155940631, 966928475686665, 2236717801150132,
  1437. 424543858577297, 2089272956986143
  1438. #else
  1439. 51110167, 7578151, 5310217, 14408357, 33560244, 33329692,
  1440. 31575953, 6326196, 7381791, 31132593
  1441. #endif
  1442. }},
  1443. {{
  1444. #if defined(BORINGSSL_CURVE25519_64BIT)
  1445. 221245220129925, 1156020201681217, 491145634799213,
  1446. 542422431960839, 828100817819207
  1447. #else
  1448. 46206085, 3296810, 24736065, 17226043, 18374253, 7318640,
  1449. 6295303, 8082724, 51746375, 12339663
  1450. #endif
  1451. }},
  1452. },
  1453. {
  1454. {{
  1455. #if defined(BORINGSSL_CURVE25519_64BIT)
  1456. 153756971240384, 1299874139923977, 393099165260502,
  1457. 1058234455773022, 996989038681183
  1458. #else
  1459. 27724736, 2291157, 6088201, 19369634, 1792726, 5857634,
  1460. 13848414, 15768922, 25091167, 14856294
  1461. #endif
  1462. }},
  1463. {{
  1464. #if defined(BORINGSSL_CURVE25519_64BIT)
  1465. 559086812798481, 573177704212711, 1629737083816402,
  1466. 1399819713462595, 1646954378266038
  1467. #else
  1468. 48242193, 8331042, 24373479, 8541013, 66406866, 24284974,
  1469. 12927299, 20858939, 44926390, 24541532
  1470. #endif
  1471. }},
  1472. {{
  1473. #if defined(BORINGSSL_CURVE25519_64BIT)
  1474. 1887963056288059, 228507035730124, 1468368348640282,
  1475. 930557653420194, 613513962454686
  1476. #else
  1477. 55685435, 28132841, 11632844, 3405020, 30536730, 21880393,
  1478. 39848098, 13866389, 30146206, 9142070
  1479. #endif
  1480. }},
  1481. },
  1482. {
  1483. {{
  1484. #if defined(BORINGSSL_CURVE25519_64BIT)
  1485. 1224529808187553, 1577022856702685, 2206946542980843,
  1486. 625883007765001, 279930793512158
  1487. #else
  1488. 3924129, 18246916, 53291741, 23499471, 12291819, 32886066,
  1489. 39406089, 9326383, 58871006, 4171293
  1490. #endif
  1491. }},
  1492. {{
  1493. #if defined(BORINGSSL_CURVE25519_64BIT)
  1494. 1076287717051609, 1114455570543035, 187297059715481,
  1495. 250446884292121, 1885187512550540
  1496. #else
  1497. 51186905, 16037936, 6713787, 16606682, 45496729, 2790943,
  1498. 26396185, 3731949, 345228, 28091483
  1499. #endif
  1500. }},
  1501. {{
  1502. #if defined(BORINGSSL_CURVE25519_64BIT)
  1503. 902497362940219, 76749815795675, 1657927525633846,
  1504. 1420238379745202, 1340321636548352
  1505. #else
  1506. 45781307, 13448258, 25284571, 1143661, 20614966, 24705045,
  1507. 2031538, 21163201, 50855680, 19972348
  1508. #endif
  1509. }},
  1510. },
  1511. {
  1512. {{
  1513. #if defined(BORINGSSL_CURVE25519_64BIT)
  1514. 1129576631190784, 1281994010027327, 996844254743018,
  1515. 257876363489249, 1150850742055018
  1516. #else
  1517. 31016192, 16832003, 26371391, 19103199, 62081514, 14854136,
  1518. 17477601, 3842657, 28012650, 17149012
  1519. #endif
  1520. }},
  1521. {{
  1522. #if defined(BORINGSSL_CURVE25519_64BIT)
  1523. 628740660038789, 1943038498527841, 467786347793886,
  1524. 1093341428303375, 235413859513003
  1525. #else
  1526. 62033029, 9368965, 58546785, 28953529, 51858910, 6970559,
  1527. 57918991, 16292056, 58241707, 3507939
  1528. #endif
  1529. }},
  1530. {{
  1531. #if defined(BORINGSSL_CURVE25519_64BIT)
  1532. 237425418909360, 469614029179605, 1512389769174935,
  1533. 1241726368345357, 441602891065214
  1534. #else
  1535. 29439664, 3537914, 23333589, 6997794, 49553303, 22536363,
  1536. 51899661, 18503164, 57943934, 6580395
  1537. #endif
  1538. }},
  1539. },
  1540. },
  1541. {
  1542. {
  1543. {{
  1544. #if defined(BORINGSSL_CURVE25519_64BIT)
  1545. 1736417953058555, 726531315520508, 1833335034432527,
  1546. 1629442561574747, 624418919286085
  1547. #else
  1548. 54923003, 25874643, 16438268, 10826160, 58412047, 27318820,
  1549. 17860443, 24280586, 65013061, 9304566
  1550. #endif
  1551. }},
  1552. {{
  1553. #if defined(BORINGSSL_CURVE25519_64BIT)
  1554. 1960754663920689, 497040957888962, 1909832851283095,
  1555. 1271432136996826, 2219780368020940
  1556. #else
  1557. 20714545, 29217521, 29088194, 7406487, 11426967, 28458727,
  1558. 14792666, 18945815, 5289420, 33077305
  1559. #endif
  1560. }},
  1561. {{
  1562. #if defined(BORINGSSL_CURVE25519_64BIT)
  1563. 1537037379417136, 1358865369268262, 2130838645654099,
  1564. 828733687040705, 1999987652890901
  1565. #else
  1566. 50443312, 22903641, 60948518, 20248671, 9192019, 31751970,
  1567. 17271489, 12349094, 26939669, 29802138
  1568. #endif
  1569. }},
  1570. },
  1571. {
  1572. {{
  1573. #if defined(BORINGSSL_CURVE25519_64BIT)
  1574. 629042105241814, 1098854999137608, 887281544569320,
  1575. 1423102019874777, 7911258951561
  1576. #else
  1577. 54218966, 9373457, 31595848, 16374215, 21471720, 13221525,
  1578. 39825369, 21205872, 63410057, 117886
  1579. #endif
  1580. }},
  1581. {{
  1582. #if defined(BORINGSSL_CURVE25519_64BIT)
  1583. 1811562332665373, 1501882019007673, 2213763501088999,
  1584. 359573079719636, 36370565049116
  1585. #else
  1586. 22263325, 26994382, 3984569, 22379786, 51994855, 32987646,
  1587. 28311252, 5358056, 43789084, 541963
  1588. #endif
  1589. }},
  1590. {{
  1591. #if defined(BORINGSSL_CURVE25519_64BIT)
  1592. 218907117361280, 1209298913016966, 1944312619096112,
  1593. 1130690631451061, 1342327389191701
  1594. #else
  1595. 16259200, 3261970, 2309254, 18019958, 50223152, 28972515,
  1596. 24134069, 16848603, 53771797, 20002236
  1597. #endif
  1598. }},
  1599. },
  1600. {
  1601. {{
  1602. #if defined(BORINGSSL_CURVE25519_64BIT)
  1603. 1369976867854704, 1396479602419169, 1765656654398856,
  1604. 2203659200586299, 998327836117241
  1605. #else
  1606. 9378160, 20414246, 44262881, 20809167, 28198280, 26310334,
  1607. 64709179, 32837080, 690425, 14876244
  1608. #endif
  1609. }},
  1610. {{
  1611. #if defined(BORINGSSL_CURVE25519_64BIT)
  1612. 2230701885562825, 1348173180338974, 2172856128624598,
  1613. 1426538746123771, 444193481326151
  1614. #else
  1615. 24977353, 33240048, 58884894, 20089345, 28432342, 32378079,
  1616. 54040059, 21257083, 44727879, 6618998
  1617. #endif
  1618. }},
  1619. {{
  1620. #if defined(BORINGSSL_CURVE25519_64BIT)
  1621. 784210426627951, 918204562375674, 1284546780452985,
  1622. 1324534636134684, 1872449409642708
  1623. #else
  1624. 65570671, 11685645, 12944378, 13682314, 42719353, 19141238,
  1625. 8044828, 19737104, 32239828, 27901670
  1626. #endif
  1627. }},
  1628. },
  1629. {
  1630. {{
  1631. #if defined(BORINGSSL_CURVE25519_64BIT)
  1632. 319638829540294, 596282656808406, 2037902696412608,
  1633. 1557219121643918, 341938082688094
  1634. #else
  1635. 48505798, 4762989, 66182614, 8885303, 38696384, 30367116,
  1636. 9781646, 23204373, 32779358, 5095274
  1637. #endif
  1638. }},
  1639. {{
  1640. #if defined(BORINGSSL_CURVE25519_64BIT)
  1641. 1901860206695915, 2004489122065736, 1625847061568236,
  1642. 973529743399879, 2075287685312905
  1643. #else
  1644. 34100715, 28339925, 34843976, 29869215, 9460460, 24227009,
  1645. 42507207, 14506723, 21639561, 30924196
  1646. #endif
  1647. }},
  1648. {{
  1649. #if defined(BORINGSSL_CURVE25519_64BIT)
  1650. 1371853944110545, 1042332820512553, 1949855697918254,
  1651. 1791195775521505, 37487364849293
  1652. #else
  1653. 50707921, 20442216, 25239337, 15531969, 3987758, 29055114,
  1654. 65819361, 26690896, 17874573, 558605
  1655. #endif
  1656. }},
  1657. },
  1658. {
  1659. {{
  1660. #if defined(BORINGSSL_CURVE25519_64BIT)
  1661. 687200189577855, 1082536651125675, 644224940871546,
  1662. 340923196057951, 343581346747396
  1663. #else
  1664. 53508735, 10240080, 9171883, 16131053, 46239610, 9599699,
  1665. 33499487, 5080151, 2085892, 5119761
  1666. #endif
  1667. }},
  1668. {{
  1669. #if defined(BORINGSSL_CURVE25519_64BIT)
  1670. 2082717129583892, 27829425539422, 145655066671970,
  1671. 1690527209845512, 1865260509673478
  1672. #else
  1673. 44903700, 31034903, 50727262, 414690, 42089314, 2170429,
  1674. 30634760, 25190818, 35108870, 27794547
  1675. #endif
  1676. }},
  1677. {{
  1678. #if defined(BORINGSSL_CURVE25519_64BIT)
  1679. 1059729620568824, 2163709103470266, 1440302280256872,
  1680. 1769143160546397, 869830310425069
  1681. #else
  1682. 60263160, 15791201, 8550074, 32241778, 29928808, 21462176,
  1683. 27534429, 26362287, 44757485, 12961481
  1684. #endif
  1685. }},
  1686. },
  1687. {
  1688. {{
  1689. #if defined(BORINGSSL_CURVE25519_64BIT)
  1690. 1609516219779025, 777277757338817, 2101121130363987,
  1691. 550762194946473, 1905542338659364
  1692. #else
  1693. 42616785, 23983660, 10368193, 11582341, 43711571, 31309144,
  1694. 16533929, 8206996, 36914212, 28394793
  1695. #endif
  1696. }},
  1697. {{
  1698. #if defined(BORINGSSL_CURVE25519_64BIT)
  1699. 2024821921041576, 426948675450149, 595133284085473,
  1700. 471860860885970, 600321679413000
  1701. #else
  1702. 55987368, 30172197, 2307365, 6362031, 66973409, 8868176,
  1703. 50273234, 7031274, 7589640, 8945490
  1704. #endif
  1705. }},
  1706. {{
  1707. #if defined(BORINGSSL_CURVE25519_64BIT)
  1708. 598474602406721, 1468128276358244, 1191923149557635,
  1709. 1501376424093216, 1281662691293476
  1710. #else
  1711. 34956097, 8917966, 6661220, 21876816, 65916803, 17761038,
  1712. 7251488, 22372252, 24099108, 19098262
  1713. #endif
  1714. }},
  1715. },
  1716. {
  1717. {{
  1718. #if defined(BORINGSSL_CURVE25519_64BIT)
  1719. 1721138489890707, 1264336102277790, 433064545421287,
  1720. 1359988423149466, 1561871293409447
  1721. #else
  1722. 5019539, 25646962, 4244126, 18840076, 40175591, 6453164,
  1723. 47990682, 20265406, 60876967, 23273695
  1724. #endif
  1725. }},
  1726. {{
  1727. #if defined(BORINGSSL_CURVE25519_64BIT)
  1728. 719520245587143, 393380711632345, 132350400863381,
  1729. 1543271270810729, 1819543295798660
  1730. #else
  1731. 10853575, 10721687, 26480089, 5861829, 44113045, 1972174,
  1732. 65242217, 22996533, 63745412, 27113307
  1733. #endif
  1734. }},
  1735. {{
  1736. #if defined(BORINGSSL_CURVE25519_64BIT)
  1737. 396397949784152, 1811354474471839, 1362679985304303,
  1738. 2117033964846756, 498041172552279
  1739. #else
  1740. 50106456, 5906789, 221599, 26991285, 7828207, 20305514,
  1741. 24362660, 31546264, 53242455, 7421391
  1742. #endif
  1743. }},
  1744. },
  1745. {
  1746. {{
  1747. #if defined(BORINGSSL_CURVE25519_64BIT)
  1748. 1812471844975748, 1856491995543149, 126579494584102,
  1749. 1036244859282620, 1975108050082550
  1750. #else
  1751. 8139908, 27007935, 32257645, 27663886, 30375718, 1886181,
  1752. 45933756, 15441251, 28826358, 29431403
  1753. #endif
  1754. }},
  1755. {{
  1756. #if defined(BORINGSSL_CURVE25519_64BIT)
  1757. 650623932407995, 1137551288410575, 2125223403615539,
  1758. 1725658013221271, 2134892965117796
  1759. #else
  1760. 6267067, 9695052, 7709135, 16950835, 34239795, 31668296,
  1761. 14795159, 25714308, 13746020, 31812384
  1762. #endif
  1763. }},
  1764. {{
  1765. #if defined(BORINGSSL_CURVE25519_64BIT)
  1766. 522584000310195, 1241762481390450, 1743702789495384,
  1767. 2227404127826575, 1686746002148897
  1768. #else
  1769. 28584883, 7787108, 60375922, 18503702, 22846040, 25983196,
  1770. 63926927, 33190907, 4771361, 25134474
  1771. #endif
  1772. }},
  1773. },
  1774. },
  1775. {
  1776. {
  1777. {{
  1778. #if defined(BORINGSSL_CURVE25519_64BIT)
  1779. 427904865186312, 1703211129693455, 1585368107547509,
  1780. 1436984488744336, 761188534613978
  1781. #else
  1782. 24949256, 6376279, 39642383, 25379823, 48462709, 23623825,
  1783. 33543568, 21412737, 3569626, 11342593
  1784. #endif
  1785. }},
  1786. {{
  1787. #if defined(BORINGSSL_CURVE25519_64BIT)
  1788. 318101947455002, 248138407995851, 1481904195303927,
  1789. 309278454311197, 1258516760217879
  1790. #else
  1791. 26514970, 4740088, 27912651, 3697550, 19331575, 22082093,
  1792. 6809885, 4608608, 7325975, 18753361
  1793. #endif
  1794. }},
  1795. {{
  1796. #if defined(BORINGSSL_CURVE25519_64BIT)
  1797. 1275068538599310, 513726919533379, 349926553492294,
  1798. 688428871968420, 1702400196000666
  1799. #else
  1800. 55490446, 19000001, 42787651, 7655127, 65739590, 5214311,
  1801. 39708324, 10258389, 49462170, 25367739
  1802. #endif
  1803. }},
  1804. },
  1805. {
  1806. {{
  1807. #if defined(BORINGSSL_CURVE25519_64BIT)
  1808. 1061864036265233, 961611260325381, 321859632700838,
  1809. 1045600629959517, 1985130202504038
  1810. #else
  1811. 11431185, 15823007, 26570245, 14329124, 18029990, 4796082,
  1812. 35662685, 15580663, 9280358, 29580745
  1813. #endif
  1814. }},
  1815. {{
  1816. #if defined(BORINGSSL_CURVE25519_64BIT)
  1817. 1558816436882417, 1962896332636523, 1337709822062152,
  1818. 1501413830776938, 294436165831932
  1819. #else
  1820. 66948081, 23228174, 44253547, 29249434, 46247496, 19933429,
  1821. 34297962, 22372809, 51563772, 4387440
  1822. #endif
  1823. }},
  1824. {{
  1825. #if defined(BORINGSSL_CURVE25519_64BIT)
  1826. 818359826554971, 1862173000996177, 626821592884859,
  1827. 573655738872376, 1749691246745455
  1828. #else
  1829. 46309467, 12194511, 3937617, 27748540, 39954043, 9340369,
  1830. 42594872, 8548136, 20617071, 26072431
  1831. #endif
  1832. }},
  1833. },
  1834. {
  1835. {{
  1836. #if defined(BORINGSSL_CURVE25519_64BIT)
  1837. 1988022651432119, 1082111498586040, 1834020786104821,
  1838. 1454826876423687, 692929915223122
  1839. #else
  1840. 66170039, 29623845, 58394552, 16124717, 24603125, 27329039,
  1841. 53333511, 21678609, 24345682, 10325460
  1842. #endif
  1843. }},
  1844. {{
  1845. #if defined(BORINGSSL_CURVE25519_64BIT)
  1846. 2146513703733331, 584788900394667, 464965657279958,
  1847. 2183973639356127, 238371159456790
  1848. #else
  1849. 47253587, 31985546, 44906155, 8714033, 14007766, 6928528,
  1850. 16318175, 32543743, 4766742, 3552007
  1851. #endif
  1852. }},
  1853. {{
  1854. #if defined(BORINGSSL_CURVE25519_64BIT)
  1855. 1129007025494441, 2197883144413266, 265142755578169,
  1856. 971864464758890, 1983715884903702
  1857. #else
  1858. 45357481, 16823515, 1351762, 32751011, 63099193, 3950934,
  1859. 3217514, 14481909, 10988822, 29559670
  1860. #endif
  1861. }},
  1862. },
  1863. {
  1864. {{
  1865. #if defined(BORINGSSL_CURVE25519_64BIT)
  1866. 1291366624493075, 381456718189114, 1711482489312444,
  1867. 1815233647702022, 892279782992467
  1868. #else
  1869. 15564307, 19242862, 3101242, 5684148, 30446780, 25503076,
  1870. 12677126, 27049089, 58813011, 13296004
  1871. #endif
  1872. }},
  1873. {{
  1874. #if defined(BORINGSSL_CURVE25519_64BIT)
  1875. 444548969917454, 1452286453853356, 2113731441506810,
  1876. 645188273895859, 810317625309512
  1877. #else
  1878. 57666574, 6624295, 36809900, 21640754, 62437882, 31497052,
  1879. 31521203, 9614054, 37108040, 12074673
  1880. #endif
  1881. }},
  1882. {{
  1883. #if defined(BORINGSSL_CURVE25519_64BIT)
  1884. 2242724082797924, 1373354730327868, 1006520110883049,
  1885. 2147330369940688, 1151816104883620
  1886. #else
  1887. 4771172, 33419193, 14290748, 20464580, 27992297, 14998318,
  1888. 65694928, 31997715, 29832612, 17163397
  1889. #endif
  1890. }},
  1891. },
  1892. {
  1893. {{
  1894. #if defined(BORINGSSL_CURVE25519_64BIT)
  1895. 1745720200383796, 1911723143175317, 2056329390702074,
  1896. 355227174309849, 879232794371100
  1897. #else
  1898. 7064884, 26013258, 47946901, 28486894, 48217594, 30641695,
  1899. 25825241, 5293297, 39986204, 13101589
  1900. #endif
  1901. }},
  1902. {{
  1903. #if defined(BORINGSSL_CURVE25519_64BIT)
  1904. 163723479936298, 115424889803150, 1156016391581227,
  1905. 1894942220753364, 1970549419986329
  1906. #else
  1907. 64810282, 2439669, 59642254, 1719964, 39841323, 17225986,
  1908. 32512468, 28236839, 36752793, 29363474
  1909. #endif
  1910. }},
  1911. {{
  1912. #if defined(BORINGSSL_CURVE25519_64BIT)
  1913. 681981452362484, 267208874112496, 1374683991933094,
  1914. 638600984916117, 646178654558546
  1915. #else
  1916. 37102324, 10162315, 33928688, 3981722, 50626726, 20484387,
  1917. 14413973, 9515896, 19568978, 9628812
  1918. #endif
  1919. }},
  1920. },
  1921. {
  1922. {{
  1923. #if defined(BORINGSSL_CURVE25519_64BIT)
  1924. 13378654854251, 106237307029567, 1944412051589651,
  1925. 1841976767925457, 230702819835573
  1926. #else
  1927. 33053803, 199357, 15894591, 1583059, 27380243, 28973997,
  1928. 49269969, 27447592, 60817077, 3437739
  1929. #endif
  1930. }},
  1931. {{
  1932. #if defined(BORINGSSL_CURVE25519_64BIT)
  1933. 260683893467075, 854060306077237, 913639551980112,
  1934. 4704576840123, 280254810808712
  1935. #else
  1936. 48129987, 3884492, 19469877, 12726490, 15913552, 13614290,
  1937. 44147131, 70103, 7463304, 4176122
  1938. #endif
  1939. }},
  1940. {{
  1941. #if defined(BORINGSSL_CURVE25519_64BIT)
  1942. 715374893080287, 1173334812210491, 1806524662079626,
  1943. 1894596008000979, 398905715033393
  1944. #else
  1945. 39984863, 10659916, 11482427, 17484051, 12771466, 26919315,
  1946. 34389459, 28231680, 24216881, 5944158
  1947. #endif
  1948. }},
  1949. },
  1950. {
  1951. {{
  1952. #if defined(BORINGSSL_CURVE25519_64BIT)
  1953. 500026409727661, 1596431288195371, 1420380351989370,
  1954. 985211561521489, 392444930785633
  1955. #else
  1956. 8894125, 7450974, 64444715, 23788679, 39028346, 21165316,
  1957. 19345745, 14680796, 11632993, 5847885
  1958. #endif
  1959. }},
  1960. {{
  1961. #if defined(BORINGSSL_CURVE25519_64BIT)
  1962. 2096421546958141, 1922523000950363, 789831022876840,
  1963. 427295144688779, 320923973161730
  1964. #else
  1965. 26942781, 31239115, 9129563, 28647825, 26024104, 11769399,
  1966. 55590027, 6367193, 57381634, 4782139
  1967. #endif
  1968. }},
  1969. {{
  1970. #if defined(BORINGSSL_CURVE25519_64BIT)
  1971. 1927770723575450, 1485792977512719, 1850996108474547,
  1972. 551696031508956, 2126047405475647
  1973. #else
  1974. 19916442, 28726022, 44198159, 22140040, 25606323, 27581991,
  1975. 33253852, 8220911, 6358847, 31680575
  1976. #endif
  1977. }},
  1978. },
  1979. {
  1980. {{
  1981. #if defined(BORINGSSL_CURVE25519_64BIT)
  1982. 2112099158080148, 742570803909715, 6484558077432,
  1983. 1951119898618916, 93090382703416
  1984. #else
  1985. 801428, 31472730, 16569427, 11065167, 29875704, 96627, 7908388,
  1986. 29073952, 53570360, 1387154
  1987. #endif
  1988. }},
  1989. {{
  1990. #if defined(BORINGSSL_CURVE25519_64BIT)
  1991. 383905201636970, 859946997631870, 855623867637644,
  1992. 1017125780577795, 794250831877809
  1993. #else
  1994. 19646058, 5720633, 55692158, 12814208, 11607948, 12749789,
  1995. 14147075, 15156355, 45242033, 11835259
  1996. #endif
  1997. }},
  1998. {{
  1999. #if defined(BORINGSSL_CURVE25519_64BIT)
  2000. 77571826285752, 999304298101753, 487841111777762,
  2001. 1038031143212339, 339066367948762
  2002. #else
  2003. 19299512, 1155910, 28703737, 14890794, 2925026, 7269399,
  2004. 26121523, 15467869, 40548314, 5052482
  2005. #endif
  2006. }},
  2007. },
  2008. },
  2009. {
  2010. {
  2011. {{
  2012. #if defined(BORINGSSL_CURVE25519_64BIT)
  2013. 674994775520533, 266035846330789, 826951213393478,
  2014. 1405007746162285, 1781791018620876
  2015. #else
  2016. 64091413, 10058205, 1980837, 3964243, 22160966, 12322533,
  2017. 60677741, 20936246, 12228556, 26550755
  2018. #endif
  2019. }},
  2020. {{
  2021. #if defined(BORINGSSL_CURVE25519_64BIT)
  2022. 1001412661522686, 348196197067298, 1666614366723946,
  2023. 888424995032760, 580747687801357
  2024. #else
  2025. 32944382, 14922211, 44263970, 5188527, 21913450, 24834489,
  2026. 4001464, 13238564, 60994061, 8653814
  2027. #endif
  2028. }},
  2029. {{
  2030. #if defined(BORINGSSL_CURVE25519_64BIT)
  2031. 1939560076207777, 1409892634407635, 552574736069277,
  2032. 383854338280405, 190706709864139
  2033. #else
  2034. 22865569, 28901697, 27603667, 21009037, 14348957, 8234005,
  2035. 24808405, 5719875, 28483275, 2841751
  2036. #endif
  2037. }},
  2038. },
  2039. {
  2040. {{
  2041. #if defined(BORINGSSL_CURVE25519_64BIT)
  2042. 2177087163428741, 1439255351721944, 1208070840382793,
  2043. 2230616362004769, 1396886392021913
  2044. #else
  2045. 50687877, 32441126, 66781144, 21446575, 21886281, 18001658,
  2046. 65220897, 33238773, 19932057, 20815229
  2047. #endif
  2048. }},
  2049. {{
  2050. #if defined(BORINGSSL_CURVE25519_64BIT)
  2051. 676962063230039, 1880275537148808, 2046721011602706,
  2052. 888463247083003, 1318301552024067
  2053. #else
  2054. 55452759, 10087520, 58243976, 28018288, 47830290, 30498519,
  2055. 3999227, 13239134, 62331395, 19644223
  2056. #endif
  2057. }},
  2058. {{
  2059. #if defined(BORINGSSL_CURVE25519_64BIT)
  2060. 1466980508178206, 617045217998949, 652303580573628,
  2061. 757303753529064, 207583137376902
  2062. #else
  2063. 1382174, 21859713, 17266789, 9194690, 53784508, 9720080,
  2064. 20403944, 11284705, 53095046, 3093229
  2065. #endif
  2066. }},
  2067. },
  2068. {
  2069. {{
  2070. #if defined(BORINGSSL_CURVE25519_64BIT)
  2071. 1511056752906902, 105403126891277, 493434892772846,
  2072. 1091943425335976, 1802717338077427
  2073. #else
  2074. 16650902, 22516500, 66044685, 1570628, 58779118, 7352752,
  2075. 66806440, 16271224, 43059443, 26862581
  2076. #endif
  2077. }},
  2078. {{
  2079. #if defined(BORINGSSL_CURVE25519_64BIT)
  2080. 1853982405405128, 1878664056251147, 1528011020803992,
  2081. 1019626468153565, 1128438412189035
  2082. #else
  2083. 45197768, 27626490, 62497547, 27994275, 35364760, 22769138,
  2084. 24123613, 15193618, 45456747, 16815042
  2085. #endif
  2086. }},
  2087. {{
  2088. #if defined(BORINGSSL_CURVE25519_64BIT)
  2089. 1963939888391106, 293456433791664, 697897559513649,
  2090. 985882796904380, 796244541237972
  2091. #else
  2092. 57172930, 29264984, 41829040, 4372841, 2087473, 10399484,
  2093. 31870908, 14690798, 17361620, 11864968
  2094. #endif
  2095. }},
  2096. },
  2097. {
  2098. {{
  2099. #if defined(BORINGSSL_CURVE25519_64BIT)
  2100. 416770998629779, 389655552427054, 1314476859406756,
  2101. 1749382513022778, 1161905598739491
  2102. #else
  2103. 55801235, 6210371, 13206574, 5806320, 38091172, 19587231,
  2104. 54777658, 26067830, 41530403, 17313742
  2105. #endif
  2106. }},
  2107. {{
  2108. #if defined(BORINGSSL_CURVE25519_64BIT)
  2109. 1428358296490651, 1027115282420478, 304840698058337,
  2110. 441410174026628, 1819358356278573
  2111. #else
  2112. 14668443, 21284197, 26039038, 15305210, 25515617, 4542480,
  2113. 10453892, 6577524, 9145645, 27110552
  2114. #endif
  2115. }},
  2116. {{
  2117. #if defined(BORINGSSL_CURVE25519_64BIT)
  2118. 204943430200135, 1554861433819175, 216426658514651,
  2119. 264149070665950, 2047097371738319
  2120. #else
  2121. 5974855, 3053895, 57675815, 23169240, 35243739, 3225008,
  2122. 59136222, 3936127, 61456591, 30504127
  2123. #endif
  2124. }},
  2125. },
  2126. {
  2127. {{
  2128. #if defined(BORINGSSL_CURVE25519_64BIT)
  2129. 1934415182909034, 1393285083565062, 516409331772960,
  2130. 1157690734993892, 121039666594268
  2131. #else
  2132. 30625386, 28825032, 41552902, 20761565, 46624288, 7695098,
  2133. 17097188, 17250936, 39109084, 1803631
  2134. #endif
  2135. }},
  2136. {{
  2137. #if defined(BORINGSSL_CURVE25519_64BIT)
  2138. 662035583584445, 286736105093098, 1131773000510616,
  2139. 818494214211439, 472943792054479
  2140. #else
  2141. 63555773, 9865098, 61880298, 4272700, 61435032, 16864731,
  2142. 14911343, 12196514, 45703375, 7047411
  2143. #endif
  2144. }},
  2145. {{
  2146. #if defined(BORINGSSL_CURVE25519_64BIT)
  2147. 665784778135882, 1893179629898606, 808313193813106,
  2148. 276797254706413, 1563426179676396
  2149. #else
  2150. 20093258, 9920966, 55970670, 28210574, 13161586, 12044805,
  2151. 34252013, 4124600, 34765036, 23296865
  2152. #endif
  2153. }},
  2154. },
  2155. {
  2156. {{
  2157. #if defined(BORINGSSL_CURVE25519_64BIT)
  2158. 945205108984232, 526277562959295, 1324180513733566,
  2159. 1666970227868664, 153547609289173
  2160. #else
  2161. 46320040, 14084653, 53577151, 7842146, 19119038, 19731827,
  2162. 4752376, 24839792, 45429205, 2288037
  2163. #endif
  2164. }},
  2165. {{
  2166. #if defined(BORINGSSL_CURVE25519_64BIT)
  2167. 2031433403516252, 203996615228162, 170487168837083,
  2168. 981513604791390, 843573964916831
  2169. #else
  2170. 40289628, 30270716, 29965058, 3039786, 52635099, 2540456,
  2171. 29457502, 14625692, 42289247, 12570231
  2172. #endif
  2173. }},
  2174. {{
  2175. #if defined(BORINGSSL_CURVE25519_64BIT)
  2176. 1476570093962618, 838514669399805, 1857930577281364,
  2177. 2017007352225784, 317085545220047
  2178. #else
  2179. 66045306, 22002608, 16920317, 12494842, 1278292, 27685323,
  2180. 45948920, 30055751, 55134159, 4724942
  2181. #endif
  2182. }},
  2183. },
  2184. {
  2185. {{
  2186. #if defined(BORINGSSL_CURVE25519_64BIT)
  2187. 1461557121912842, 1600674043318359, 2157134900399597,
  2188. 1670641601940616, 127765583803283
  2189. #else
  2190. 17960970, 21778898, 62967895, 23851901, 58232301, 32143814,
  2191. 54201480, 24894499, 37532563, 1903855
  2192. #endif
  2193. }},
  2194. {{
  2195. #if defined(BORINGSSL_CURVE25519_64BIT)
  2196. 1293543509393474, 2143624609202546, 1058361566797508,
  2197. 214097127393994, 946888515472729
  2198. #else
  2199. 23134274, 19275300, 56426866, 31942495, 20684484, 15770816,
  2200. 54119114, 3190295, 26955097, 14109738
  2201. #endif
  2202. }},
  2203. {{
  2204. #if defined(BORINGSSL_CURVE25519_64BIT)
  2205. 357067959932916, 1290876214345711, 521245575443703,
  2206. 1494975468601005, 800942377643885
  2207. #else
  2208. 15308788, 5320727, 36995055, 19235554, 22902007, 7767164,
  2209. 29425325, 22276870, 31960941, 11934971
  2210. #endif
  2211. }},
  2212. },
  2213. {
  2214. {{
  2215. #if defined(BORINGSSL_CURVE25519_64BIT)
  2216. 566116659100033, 820247422481740, 994464017954148,
  2217. 327157611686365, 92591318111744
  2218. #else
  2219. 39713153, 8435795, 4109644, 12222639, 42480996, 14818668,
  2220. 20638173, 4875028, 10491392, 1379718
  2221. #endif
  2222. }},
  2223. {{
  2224. #if defined(BORINGSSL_CURVE25519_64BIT)
  2225. 617256647603209, 1652107761099439, 1857213046645471,
  2226. 1085597175214970, 817432759830522
  2227. #else
  2228. 53949449, 9197840, 3875503, 24618324, 65725151, 27674630,
  2229. 33518458, 16176658, 21432314, 12180697
  2230. #endif
  2231. }},
  2232. {{
  2233. #if defined(BORINGSSL_CURVE25519_64BIT)
  2234. 771808161440705, 1323510426395069, 680497615846440,
  2235. 851580615547985, 1320806384849017
  2236. #else
  2237. 55321537, 11500837, 13787581, 19721842, 44678184, 10140204,
  2238. 1465425, 12689540, 56807545, 19681548
  2239. #endif
  2240. }},
  2241. },
  2242. },
  2243. {
  2244. {
  2245. {{
  2246. #if defined(BORINGSSL_CURVE25519_64BIT)
  2247. 1219260086131915, 647169006596815, 79601124759706,
  2248. 2161724213426748, 404861897060198
  2249. #else
  2250. 5414091, 18168391, 46101199, 9643569, 12834970, 1186149,
  2251. 64485948, 32212200, 26128230, 6032912
  2252. #endif
  2253. }},
  2254. {{
  2255. #if defined(BORINGSSL_CURVE25519_64BIT)
  2256. 1327968293887866, 1335500852943256, 1401587164534264,
  2257. 558137311952440, 1551360549268902
  2258. #else
  2259. 40771450, 19788269, 32496024, 19900513, 17847800, 20885276,
  2260. 3604024, 8316894, 41233830, 23117073
  2261. #endif
  2262. }},
  2263. {{
  2264. #if defined(BORINGSSL_CURVE25519_64BIT)
  2265. 417621685193956, 1429953819744454, 396157358457099,
  2266. 1940470778873255, 214000046234152
  2267. #else
  2268. 3296484, 6223048, 24680646, 21307972, 44056843, 5903204,
  2269. 58246567, 28915267, 12376616, 3188849
  2270. #endif
  2271. }},
  2272. },
  2273. {
  2274. {{
  2275. #if defined(BORINGSSL_CURVE25519_64BIT)
  2276. 1268047918491973, 2172375426948536, 1533916099229249,
  2277. 1761293575457130, 1590622667026765
  2278. #else
  2279. 29190469, 18895386, 27549112, 32370916, 3520065, 22857131,
  2280. 32049514, 26245319, 50999629, 23702124
  2281. #endif
  2282. }},
  2283. {{
  2284. #if defined(BORINGSSL_CURVE25519_64BIT)
  2285. 1627072914981959, 2211603081280073, 1912369601616504,
  2286. 1191770436221309, 2187309757525860
  2287. #else
  2288. 52364359, 24245275, 735817, 32955454, 46701176, 28496527,
  2289. 25246077, 17758763, 18640740, 32593455
  2290. #endif
  2291. }},
  2292. {{
  2293. #if defined(BORINGSSL_CURVE25519_64BIT)
  2294. 1149147819689533, 378692712667677, 828475842424202,
  2295. 2218619146419342, 70688125792186
  2296. #else
  2297. 60180029, 17123636, 10361373, 5642961, 4910474, 12345252,
  2298. 35470478, 33060001, 10530746, 1053335
  2299. #endif
  2300. }},
  2301. },
  2302. {
  2303. {{
  2304. #if defined(BORINGSSL_CURVE25519_64BIT)
  2305. 1299739417079761, 1438616663452759, 1536729078504412,
  2306. 2053896748919838, 1008421032591246
  2307. #else
  2308. 37842897, 19367626, 53570647, 21437058, 47651804, 22899047,
  2309. 35646494, 30605446, 24018830, 15026644
  2310. #endif
  2311. }},
  2312. {{
  2313. #if defined(BORINGSSL_CURVE25519_64BIT)
  2314. 2040723824657366, 399555637875075, 632543375452995,
  2315. 872649937008051, 1235394727030233
  2316. #else
  2317. 44516310, 30409154, 64819587, 5953842, 53668675, 9425630,
  2318. 25310643, 13003497, 64794073, 18408815
  2319. #endif
  2320. }},
  2321. {{
  2322. #if defined(BORINGSSL_CURVE25519_64BIT)
  2323. 2211311599327900, 2139787259888175, 938706616835350,
  2324. 12609661139114, 2081897930719789
  2325. #else
  2326. 39688860, 32951110, 59064879, 31885314, 41016598, 13987818,
  2327. 39811242, 187898, 43942445, 31022696
  2328. #endif
  2329. }},
  2330. },
  2331. {
  2332. {{
  2333. #if defined(BORINGSSL_CURVE25519_64BIT)
  2334. 1324994503390450, 336982330582631, 1183998925654177,
  2335. 1091654665913274, 48727673971319
  2336. #else
  2337. 45364466, 19743956, 1844839, 5021428, 56674465, 17642958,
  2338. 9716666, 16266922, 62038647, 726098
  2339. #endif
  2340. }},
  2341. {{
  2342. #if defined(BORINGSSL_CURVE25519_64BIT)
  2343. 1845522914617879, 1222198248335542, 150841072760134,
  2344. 1927029069940982, 1189913404498011
  2345. #else
  2346. 29370903, 27500434, 7334070, 18212173, 9385286, 2247707,
  2347. 53446902, 28714970, 30007387, 17731091
  2348. #endif
  2349. }},
  2350. {{
  2351. #if defined(BORINGSSL_CURVE25519_64BIT)
  2352. 1079559557592645, 2215338383666441, 1903569501302605,
  2353. 49033973033940, 305703433934152
  2354. #else
  2355. 66172485, 16086690, 23751945, 33011114, 65941325, 28365395,
  2356. 9137108, 730663, 9835848, 4555336
  2357. #endif
  2358. }},
  2359. },
  2360. {
  2361. {{
  2362. #if defined(BORINGSSL_CURVE25519_64BIT)
  2363. 94653405416909, 1386121349852999, 1062130477891762,
  2364. 36553947479274, 833669648948846
  2365. #else
  2366. 43732429, 1410445, 44855111, 20654817, 30867634, 15826977,
  2367. 17693930, 544696, 55123566, 12422645
  2368. #endif
  2369. }},
  2370. {{
  2371. #if defined(BORINGSSL_CURVE25519_64BIT)
  2372. 1432015813136298, 440364795295369, 1395647062821501,
  2373. 1976874522764578, 934452372723352
  2374. #else
  2375. 31117226, 21338698, 53606025, 6561946, 57231997, 20796761,
  2376. 61990178, 29457725, 29120152, 13924425
  2377. #endif
  2378. }},
  2379. {{
  2380. #if defined(BORINGSSL_CURVE25519_64BIT)
  2381. 1296625309219774, 2068273464883862, 1858621048097805,
  2382. 1492281814208508, 2235868981918946
  2383. #else
  2384. 49707966, 19321222, 19675798, 30819676, 56101901, 27695611,
  2385. 57724924, 22236731, 7240930, 33317044
  2386. #endif
  2387. }},
  2388. },
  2389. {
  2390. {{
  2391. #if defined(BORINGSSL_CURVE25519_64BIT)
  2392. 1490330266465570, 1858795661361448, 1436241134969763,
  2393. 294573218899647, 1208140011028933
  2394. #else
  2395. 35747106, 22207651, 52101416, 27698213, 44655523, 21401660,
  2396. 1222335, 4389483, 3293637, 18002689
  2397. #endif
  2398. }},
  2399. {{
  2400. #if defined(BORINGSSL_CURVE25519_64BIT)
  2401. 1282462923712748, 741885683986255, 2027754642827561,
  2402. 518989529541027, 1826610009555945
  2403. #else
  2404. 50424044, 19110186, 11038543, 11054958, 53307689, 30215898,
  2405. 42789283, 7733546, 12796905, 27218610
  2406. #endif
  2407. }},
  2408. {{
  2409. #if defined(BORINGSSL_CURVE25519_64BIT)
  2410. 1525827120027511, 723686461809551, 1597702369236987,
  2411. 244802101764964, 1502833890372311
  2412. #else
  2413. 58349431, 22736595, 41689999, 10783768, 36493307, 23807620,
  2414. 38855524, 3647835, 3222231, 22393970
  2415. #endif
  2416. }},
  2417. },
  2418. {
  2419. {{
  2420. #if defined(BORINGSSL_CURVE25519_64BIT)
  2421. 113622036244513, 1233740067745854, 674109952278496,
  2422. 2114345180342965, 166764512856263
  2423. #else
  2424. 18606113, 1693100, 41660478, 18384159, 4112352, 10045021,
  2425. 23603893, 31506198, 59558087, 2484984
  2426. #endif
  2427. }},
  2428. {{
  2429. #if defined(BORINGSSL_CURVE25519_64BIT)
  2430. 2041668749310338, 2184405322203901, 1633400637611036,
  2431. 2110682505536899, 2048144390084644
  2432. #else
  2433. 9255298, 30423235, 54952701, 32550175, 13098012, 24339566,
  2434. 16377219, 31451620, 47306788, 30519729
  2435. #endif
  2436. }},
  2437. {{
  2438. #if defined(BORINGSSL_CURVE25519_64BIT)
  2439. 503058759232932, 760293024620937, 2027152777219493,
  2440. 666858468148475, 1539184379870952
  2441. #else
  2442. 44379556, 7496159, 61366665, 11329248, 19991973, 30206930,
  2443. 35390715, 9936965, 37011176, 22935634
  2444. #endif
  2445. }},
  2446. },
  2447. {
  2448. {{
  2449. #if defined(BORINGSSL_CURVE25519_64BIT)
  2450. 1916168475367211, 915626432541343, 883217071712575,
  2451. 363427871374304, 1976029821251593
  2452. #else
  2453. 21878571, 28553135, 4338335, 13643897, 64071999, 13160959,
  2454. 19708896, 5415497, 59748361, 29445138
  2455. #endif
  2456. }},
  2457. {{
  2458. #if defined(BORINGSSL_CURVE25519_64BIT)
  2459. 678039535434506, 570587290189340, 1605302676614120,
  2460. 2147762562875701, 1706063797091704
  2461. #else
  2462. 27736842, 10103576, 12500508, 8502413, 63695848, 23920873,
  2463. 10436917, 32004156, 43449720, 25422331
  2464. #endif
  2465. }},
  2466. {{
  2467. #if defined(BORINGSSL_CURVE25519_64BIT)
  2468. 1439489648586438, 2194580753290951, 832380563557396,
  2469. 561521973970522, 584497280718389
  2470. #else
  2471. 19492550, 21450067, 37426887, 32701801, 63900692, 12403436,
  2472. 30066266, 8367329, 13243957, 8709688
  2473. #endif
  2474. }},
  2475. },
  2476. },
  2477. {
  2478. {
  2479. {{
  2480. #if defined(BORINGSSL_CURVE25519_64BIT)
  2481. 187989455492609, 681223515948275, 1933493571072456,
  2482. 1872921007304880, 488162364135671
  2483. #else
  2484. 12015105, 2801261, 28198131, 10151021, 24818120, 28811299,
  2485. 55914672, 27908697, 5150967, 7274186
  2486. #endif
  2487. }},
  2488. {{
  2489. #if defined(BORINGSSL_CURVE25519_64BIT)
  2490. 1413466089534451, 410844090765630, 1397263346404072,
  2491. 408227143123410, 1594561803147811
  2492. #else
  2493. 2831347, 21062286, 1478974, 6122054, 23825128, 20820846,
  2494. 31097298, 6083058, 31021603, 23760822
  2495. #endif
  2496. }},
  2497. {{
  2498. #if defined(BORINGSSL_CURVE25519_64BIT)
  2499. 2102170800973153, 719462588665004, 1479649438510153,
  2500. 1097529543970028, 1302363283777685
  2501. #else
  2502. 64578913, 31324785, 445612, 10720828, 53259337, 22048494,
  2503. 43601132, 16354464, 15067285, 19406725
  2504. #endif
  2505. }},
  2506. },
  2507. {
  2508. {{
  2509. #if defined(BORINGSSL_CURVE25519_64BIT)
  2510. 942065717847195, 1069313679352961, 2007341951411051,
  2511. 70973416446291, 1419433790163706
  2512. #else
  2513. 7840923, 14037873, 33744001, 15934015, 66380651, 29911725,
  2514. 21403987, 1057586, 47729402, 21151211
  2515. #endif
  2516. }},
  2517. {{
  2518. #if defined(BORINGSSL_CURVE25519_64BIT)
  2519. 1146565545556377, 1661971299445212, 406681704748893,
  2520. 564452436406089, 1109109865829139
  2521. #else
  2522. 915865, 17085158, 15608284, 24765302, 42751837, 6060029,
  2523. 49737545, 8410996, 59888403, 16527024
  2524. #endif
  2525. }},
  2526. {{
  2527. #if defined(BORINGSSL_CURVE25519_64BIT)
  2528. 2214421081775077, 1165671861210569, 1890453018796184,
  2529. 3556249878661, 442116172656317
  2530. #else
  2531. 32922597, 32997445, 20336073, 17369864, 10903704, 28169945,
  2532. 16957573, 52992, 23834301, 6588044
  2533. #endif
  2534. }},
  2535. },
  2536. {
  2537. {{
  2538. #if defined(BORINGSSL_CURVE25519_64BIT)
  2539. 753830546620811, 1666955059895019, 1530775289309243,
  2540. 1119987029104146, 2164156153857580
  2541. #else
  2542. 32752011, 11232950, 3381995, 24839566, 22652987, 22810329,
  2543. 17159698, 16689107, 46794284, 32248439
  2544. #endif
  2545. }},
  2546. {{
  2547. #if defined(BORINGSSL_CURVE25519_64BIT)
  2548. 615171919212796, 1523849404854568, 854560460547503,
  2549. 2067097370290715, 1765325848586042
  2550. #else
  2551. 62419196, 9166775, 41398568, 22707125, 11576751, 12733943,
  2552. 7924251, 30802151, 1976122, 26305405
  2553. #endif
  2554. }},
  2555. {{
  2556. #if defined(BORINGSSL_CURVE25519_64BIT)
  2557. 1094538949313667, 1796592198908825, 870221004284388,
  2558. 2025558921863561, 1699010892802384
  2559. #else
  2560. 21251203, 16309901, 64125849, 26771309, 30810596, 12967303,
  2561. 156041, 30183180, 12331344, 25317235
  2562. #endif
  2563. }},
  2564. },
  2565. {
  2566. {{
  2567. #if defined(BORINGSSL_CURVE25519_64BIT)
  2568. 1951351290725195, 1916457206844795, 198025184438026,
  2569. 1909076887557595, 1938542290318919
  2570. #else
  2571. 8651595, 29077400, 51023227, 28557437, 13002506, 2950805,
  2572. 29054427, 28447462, 10008135, 28886531
  2573. #endif
  2574. }},
  2575. {{
  2576. #if defined(BORINGSSL_CURVE25519_64BIT)
  2577. 1014323197538413, 869150639940606, 1756009942696599,
  2578. 1334952557375672, 1544945379082874
  2579. #else
  2580. 31486061, 15114593, 52847614, 12951353, 14369431, 26166587,
  2581. 16347320, 19892343, 8684154, 23021480
  2582. #endif
  2583. }},
  2584. {{
  2585. #if defined(BORINGSSL_CURVE25519_64BIT)
  2586. 764055910920305, 1603590757375439, 146805246592357,
  2587. 1843313433854297, 954279890114939
  2588. #else
  2589. 19443825, 11385320, 24468943, 23895364, 43189605, 2187568,
  2590. 40845657, 27467510, 31316347, 14219878
  2591. #endif
  2592. }},
  2593. },
  2594. {
  2595. {{
  2596. #if defined(BORINGSSL_CURVE25519_64BIT)
  2597. 80113526615750, 764536758732259, 1055139345100233,
  2598. 469252651759390, 617897512431515
  2599. #else
  2600. 38514374, 1193784, 32245219, 11392485, 31092169, 15722801,
  2601. 27146014, 6992409, 29126555, 9207390
  2602. #endif
  2603. }},
  2604. {{
  2605. #if defined(BORINGSSL_CURVE25519_64BIT)
  2606. 74497112547268, 740094153192149, 1745254631717581,
  2607. 727713886503130, 1283034364416928
  2608. #else
  2609. 32382916, 1110093, 18477781, 11028262, 39697101, 26006320,
  2610. 62128346, 10843781, 59151264, 19118701
  2611. #endif
  2612. }},
  2613. {{
  2614. #if defined(BORINGSSL_CURVE25519_64BIT)
  2615. 525892105991110, 1723776830270342, 1476444848991936,
  2616. 573789489857760, 133864092632978
  2617. #else
  2618. 2814918, 7836403, 27519878, 25686276, 46214848, 22000742,
  2619. 45614304, 8550129, 28346258, 1994730
  2620. #endif
  2621. }},
  2622. },
  2623. {
  2624. {{
  2625. #if defined(BORINGSSL_CURVE25519_64BIT)
  2626. 542611720192581, 1986812262899321, 1162535242465837,
  2627. 481498966143464, 544600533583622
  2628. #else
  2629. 47530565, 8085544, 53108345, 29605809, 2785837, 17323125,
  2630. 47591912, 7174893, 22628102, 8115180
  2631. #endif
  2632. }},
  2633. {{
  2634. #if defined(BORINGSSL_CURVE25519_64BIT)
  2635. 64123227344372, 1239927720647794, 1360722983445904,
  2636. 222610813654661, 62429487187991
  2637. #else
  2638. 36703732, 955510, 55975026, 18476362, 34661776, 20276352,
  2639. 41457285, 3317159, 57165847, 930271
  2640. #endif
  2641. }},
  2642. {{
  2643. #if defined(BORINGSSL_CURVE25519_64BIT)
  2644. 1793193323953132, 91096687857833, 70945970938921,
  2645. 2158587638946380, 1537042406482111
  2646. #else
  2647. 51805164, 26720662, 28856489, 1357446, 23421993, 1057177,
  2648. 24091212, 32165462, 44343487, 22903716
  2649. #endif
  2650. }},
  2651. },
  2652. {
  2653. {{
  2654. #if defined(BORINGSSL_CURVE25519_64BIT)
  2655. 1895854577604609, 1394895708949416, 1728548428495944,
  2656. 1140864900240149, 563645333603061
  2657. #else
  2658. 44357633, 28250434, 54201256, 20785565, 51297352, 25757378,
  2659. 52269845, 17000211, 65241845, 8398969
  2660. #endif
  2661. }},
  2662. {{
  2663. #if defined(BORINGSSL_CURVE25519_64BIT)
  2664. 141358280486863, 91435889572504, 1087208572552643,
  2665. 1829599652522921, 1193307020643647
  2666. #else
  2667. 35139535, 2106402, 62372504, 1362500, 12813763, 16200670,
  2668. 22981545, 27263159, 18009407, 17781660
  2669. #endif
  2670. }},
  2671. {{
  2672. #if defined(BORINGSSL_CURVE25519_64BIT)
  2673. 1611230858525381, 950720175540785, 499589887488610,
  2674. 2001656988495019, 88977313255908
  2675. #else
  2676. 49887941, 24009210, 39324209, 14166834, 29815394, 7444469,
  2677. 29551787, 29827013, 19288548, 1325865
  2678. #endif
  2679. }},
  2680. },
  2681. {
  2682. {{
  2683. #if defined(BORINGSSL_CURVE25519_64BIT)
  2684. 1189080501479658, 2184348804772597, 1040818725742319,
  2685. 2018318290311834, 1712060030915354
  2686. #else
  2687. 15100138, 17718680, 43184885, 32549333, 40658671, 15509407,
  2688. 12376730, 30075286, 33166106, 25511682
  2689. #endif
  2690. }},
  2691. {{
  2692. #if defined(BORINGSSL_CURVE25519_64BIT)
  2693. 873966876953756, 1090638350350440, 1708559325189137,
  2694. 672344594801910, 1320437969700239
  2695. #else
  2696. 20909212, 13023121, 57899112, 16251777, 61330449, 25459517,
  2697. 12412150, 10018715, 2213263, 19676059
  2698. #endif
  2699. }},
  2700. {{
  2701. #if defined(BORINGSSL_CURVE25519_64BIT)
  2702. 1508590048271766, 1131769479776094, 101550868699323,
  2703. 428297785557897, 561791648661744
  2704. #else
  2705. 32529814, 22479743, 30361438, 16864679, 57972923, 1513225,
  2706. 22922121, 6382134, 61341936, 8371347
  2707. #endif
  2708. }},
  2709. },
  2710. },
  2711. {
  2712. {
  2713. {{
  2714. #if defined(BORINGSSL_CURVE25519_64BIT)
  2715. 756417570499462, 237882279232602, 2136263418594016,
  2716. 1701968045454886, 703713185137472
  2717. #else
  2718. 9923462, 11271500, 12616794, 3544722, 37110496, 31832805,
  2719. 12891686, 25361300, 40665920, 10486143
  2720. #endif
  2721. }},
  2722. {{
  2723. #if defined(BORINGSSL_CURVE25519_64BIT)
  2724. 1781187809325462, 1697624151492346, 1381393690939988,
  2725. 175194132284669, 1483054666415238
  2726. #else
  2727. 44511638, 26541766, 8587002, 25296571, 4084308, 20584370,
  2728. 361725, 2610596, 43187334, 22099236
  2729. #endif
  2730. }},
  2731. {{
  2732. #if defined(BORINGSSL_CURVE25519_64BIT)
  2733. 2175517777364616, 708781536456029, 955668231122942,
  2734. 1967557500069555, 2021208005604118
  2735. #else
  2736. 5408392, 32417741, 62139741, 10561667, 24145918, 14240566,
  2737. 31319731, 29318891, 19985174, 30118346
  2738. #endif
  2739. }},
  2740. },
  2741. {
  2742. {{
  2743. #if defined(BORINGSSL_CURVE25519_64BIT)
  2744. 1115135966606887, 224217372950782, 915967306279222,
  2745. 593866251291540, 561747094208006
  2746. #else
  2747. 53114407, 16616820, 14549246, 3341099, 32155958, 13648976,
  2748. 49531796, 8849296, 65030, 8370684
  2749. #endif
  2750. }},
  2751. {{
  2752. #if defined(BORINGSSL_CURVE25519_64BIT)
  2753. 1443163092879439, 391875531646162, 2180847134654632,
  2754. 464538543018753, 1594098196837178
  2755. #else
  2756. 58787919, 21504805, 31204562, 5839400, 46481576, 32497154,
  2757. 47665921, 6922163, 12743482, 23753914
  2758. #endif
  2759. }},
  2760. {{
  2761. #if defined(BORINGSSL_CURVE25519_64BIT)
  2762. 850858855888869, 319436476624586, 327807784938441,
  2763. 740785849558761, 17128415486016
  2764. #else
  2765. 64747493, 12678784, 28815050, 4759974, 43215817, 4884716,
  2766. 23783145, 11038569, 18800704, 255233
  2767. #endif
  2768. }},
  2769. },
  2770. {
  2771. {{
  2772. #if defined(BORINGSSL_CURVE25519_64BIT)
  2773. 2132756334090067, 536247820155645, 48907151276867,
  2774. 608473197600695, 1261689545022784
  2775. #else
  2776. 61839187, 31780545, 13957885, 7990715, 23132995, 728773,
  2777. 13393847, 9066957, 19258688, 18800639
  2778. #endif
  2779. }},
  2780. {{
  2781. #if defined(BORINGSSL_CURVE25519_64BIT)
  2782. 1525176236978354, 974205476721062, 293436255662638,
  2783. 148269621098039, 137961998433963
  2784. #else
  2785. 64172210, 22726896, 56676774, 14516792, 63468078, 4372540,
  2786. 35173943, 2209389, 65584811, 2055793
  2787. #endif
  2788. }},
  2789. {{
  2790. #if defined(BORINGSSL_CURVE25519_64BIT)
  2791. 1121075518299410, 2071745529082111, 1265567917414828,
  2792. 1648196578317805, 496232102750820
  2793. #else
  2794. 580882, 16705327, 5468415, 30871414, 36182444, 18858431,
  2795. 59905517, 24560042, 37087844, 7394434
  2796. #endif
  2797. }},
  2798. },
  2799. {
  2800. {{
  2801. #if defined(BORINGSSL_CURVE25519_64BIT)
  2802. 122321229299801, 1022922077493685, 2001275453369484,
  2803. 2017441881607947, 993205880778002
  2804. #else
  2805. 23838809, 1822728, 51370421, 15242726, 8318092, 29821328,
  2806. 45436683, 30062226, 62287122, 14799920
  2807. #endif
  2808. }},
  2809. {{
  2810. #if defined(BORINGSSL_CURVE25519_64BIT)
  2811. 654925550560074, 1168810995576858, 575655959430926,
  2812. 905758704861388, 496774564663534
  2813. #else
  2814. 13345610, 9759151, 3371034, 17416641, 16353038, 8577942,
  2815. 31129804, 13496856, 58052846, 7402517
  2816. #endif
  2817. }},
  2818. {{
  2819. #if defined(BORINGSSL_CURVE25519_64BIT)
  2820. 1954109525779738, 2117022646152485, 338102630417180,
  2821. 1194140505732026, 107881734943492
  2822. #else
  2823. 2286874, 29118501, 47066405, 31546095, 53412636, 5038121,
  2824. 11006906, 17794080, 8205060, 1607563
  2825. #endif
  2826. }},
  2827. },
  2828. {
  2829. {{
  2830. #if defined(BORINGSSL_CURVE25519_64BIT)
  2831. 1714785840001267, 2036500018681589, 1876380234251966,
  2832. 2056717182974196, 1645855254384642
  2833. #else
  2834. 14414067, 25552300, 3331829, 30346215, 22249150, 27960244,
  2835. 18364660, 30647474, 30019586, 24525154
  2836. #endif
  2837. }},
  2838. {{
  2839. #if defined(BORINGSSL_CURVE25519_64BIT)
  2840. 106431476499341, 62482972120563, 1513446655109411,
  2841. 807258751769522, 538491469114
  2842. #else
  2843. 39420813, 1585952, 56333811, 931068, 37988643, 22552112,
  2844. 52698034, 12029092, 9944378, 8024
  2845. #endif
  2846. }},
  2847. {{
  2848. #if defined(BORINGSSL_CURVE25519_64BIT)
  2849. 2002850762893643, 1243624520538135, 1486040410574605,
  2850. 2184752338181213, 378495998083531
  2851. #else
  2852. 4368715, 29844802, 29874199, 18531449, 46878477, 22143727,
  2853. 50994269, 32555346, 58966475, 5640029
  2854. #endif
  2855. }},
  2856. },
  2857. {
  2858. {{
  2859. #if defined(BORINGSSL_CURVE25519_64BIT)
  2860. 922510868424903, 1089502620807680, 402544072617374,
  2861. 1131446598479839, 1290278588136533
  2862. #else
  2863. 10299591, 13746483, 11661824, 16234854, 7630238, 5998374,
  2864. 9809887, 16859868, 15219797, 19226649
  2865. #endif
  2866. }},
  2867. {{
  2868. #if defined(BORINGSSL_CURVE25519_64BIT)
  2869. 1867998812076769, 715425053580701, 39968586461416,
  2870. 2173068014586163, 653822651801304
  2871. #else
  2872. 27425505, 27835351, 3055005, 10660664, 23458024, 595578,
  2873. 51710259, 32381236, 48766680, 9742716
  2874. #endif
  2875. }},
  2876. {{
  2877. #if defined(BORINGSSL_CURVE25519_64BIT)
  2878. 162892278589453, 182585796682149, 75093073137630,
  2879. 497037941226502, 133871727117371
  2880. #else
  2881. 6744077, 2427284, 26042789, 2720740, 66260958, 1118973,
  2882. 32324614, 7406442, 12420155, 1994844
  2883. #endif
  2884. }},
  2885. },
  2886. {
  2887. {{
  2888. #if defined(BORINGSSL_CURVE25519_64BIT)
  2889. 1914596576579670, 1608999621851578, 1987629837704609,
  2890. 1519655314857977, 1819193753409464
  2891. #else
  2892. 14012502, 28529712, 48724410, 23975962, 40623521, 29617992,
  2893. 54075385, 22644628, 24319928, 27108099
  2894. #endif
  2895. }},
  2896. {{
  2897. #if defined(BORINGSSL_CURVE25519_64BIT)
  2898. 1949315551096831, 1069003344994464, 1939165033499916,
  2899. 1548227205730856, 1933767655861407
  2900. #else
  2901. 16412671, 29047065, 10772640, 15929391, 50040076, 28895810,
  2902. 10555944, 23070383, 37006495, 28815383
  2903. #endif
  2904. }},
  2905. {{
  2906. #if defined(BORINGSSL_CURVE25519_64BIT)
  2907. 1730519386931635, 1393284965610134, 1597143735726030,
  2908. 416032382447158, 1429665248828629
  2909. #else
  2910. 22397363, 25786748, 57815702, 20761563, 17166286, 23799296,
  2911. 39775798, 6199365, 21880021, 21303672
  2912. #endif
  2913. }},
  2914. },
  2915. {
  2916. {{
  2917. #if defined(BORINGSSL_CURVE25519_64BIT)
  2918. 360275475604565, 547835731063078, 215360904187529,
  2919. 596646739879007, 332709650425085
  2920. #else
  2921. 62825557, 5368522, 35991846, 8163388, 36785801, 3209127,
  2922. 16557151, 8890729, 8840445, 4957760
  2923. #endif
  2924. }},
  2925. {{
  2926. #if defined(BORINGSSL_CURVE25519_64BIT)
  2927. 47602113726801, 1522314509708010, 437706261372925,
  2928. 814035330438027, 335930650933545
  2929. #else
  2930. 51661137, 709326, 60189418, 22684253, 37330941, 6522331,
  2931. 45388683, 12130071, 52312361, 5005756
  2932. #endif
  2933. }},
  2934. {{
  2935. #if defined(BORINGSSL_CURVE25519_64BIT)
  2936. 1291597595523886, 1058020588994081, 402837842324045,
  2937. 1363323695882781, 2105763393033193
  2938. #else
  2939. 64994094, 19246303, 23019041, 15765735, 41839181, 6002751,
  2940. 10183197, 20315106, 50713577, 31378319
  2941. #endif
  2942. }},
  2943. },
  2944. },
  2945. {
  2946. {
  2947. {{
  2948. #if defined(BORINGSSL_CURVE25519_64BIT)
  2949. 109521982566564, 1715257748585139, 1112231216891516,
  2950. 2046641005101484, 134249157157013
  2951. #else
  2952. 48083108, 1632004, 13466291, 25559332, 43468412, 16573536,
  2953. 35094956, 30497327, 22208661, 2000468
  2954. #endif
  2955. }},
  2956. {{
  2957. #if defined(BORINGSSL_CURVE25519_64BIT)
  2958. 2156991030936798, 2227544497153325, 1869050094431622,
  2959. 754875860479115, 1754242344267058
  2960. #else
  2961. 3065054, 32141671, 41510189, 33192999, 49425798, 27851016,
  2962. 58944651, 11248526, 63417650, 26140247
  2963. #endif
  2964. }},
  2965. {{
  2966. #if defined(BORINGSSL_CURVE25519_64BIT)
  2967. 1846089562873800, 98894784984326, 1412430299204844,
  2968. 171351226625762, 1100604760929008
  2969. #else
  2970. 10379208, 27508878, 8877318, 1473647, 37817580, 21046851,
  2971. 16690914, 2553332, 63976176, 16400288
  2972. #endif
  2973. }},
  2974. },
  2975. {
  2976. {{
  2977. #if defined(BORINGSSL_CURVE25519_64BIT)
  2978. 84172382130492, 499710970700046, 425749630620778,
  2979. 1762872794206857, 612842602127960
  2980. #else
  2981. 15716668, 1254266, 48636174, 7446273, 58659946, 6344163,
  2982. 45011593, 26268851, 26894936, 9132066
  2983. #endif
  2984. }},
  2985. {{
  2986. #if defined(BORINGSSL_CURVE25519_64BIT)
  2987. 868309334532756, 1703010512741873, 1952690008738057,
  2988. 4325269926064, 2071083554962116
  2989. #else
  2990. 24158868, 12938817, 11085297, 25376834, 39045385, 29097348,
  2991. 36532400, 64451, 60291780, 30861549
  2992. #endif
  2993. }},
  2994. {{
  2995. #if defined(BORINGSSL_CURVE25519_64BIT)
  2996. 523094549451158, 401938899487815, 1407690589076010,
  2997. 2022387426254453, 158660516411257
  2998. #else
  2999. 13488534, 7794716, 22236231, 5989356, 25426474, 20976224,
  3000. 2350709, 30135921, 62420857, 2364225
  3001. #endif
  3002. }},
  3003. },
  3004. {
  3005. {{
  3006. #if defined(BORINGSSL_CURVE25519_64BIT)
  3007. 612867287630009, 448212612103814, 571629077419196,
  3008. 1466796750919376, 1728478129663858
  3009. #else
  3010. 16335033, 9132434, 25640582, 6678888, 1725628, 8517937,
  3011. 55301840, 21856974, 15445874, 25756331
  3012. #endif
  3013. }},
  3014. {{
  3015. #if defined(BORINGSSL_CURVE25519_64BIT)
  3016. 1723848973783452, 2208822520534681, 1718748322776940,
  3017. 1974268454121942, 1194212502258141
  3018. #else
  3019. 29004188, 25687351, 28661401, 32914020, 54314860, 25611345,
  3020. 31863254, 29418892, 66830813, 17795152
  3021. #endif
  3022. }},
  3023. {{
  3024. #if defined(BORINGSSL_CURVE25519_64BIT)
  3025. 1254114807944608, 977770684047110, 2010756238954993,
  3026. 1783628927194099, 1525962994408256
  3027. #else
  3028. 60986784, 18687766, 38493958, 14569918, 56250865, 29962602,
  3029. 10343411, 26578142, 37280576, 22738620
  3030. #endif
  3031. }},
  3032. },
  3033. {
  3034. {{
  3035. #if defined(BORINGSSL_CURVE25519_64BIT)
  3036. 232464058235826, 1948628555342434, 1835348780427694,
  3037. 1031609499437291, 64472106918373
  3038. #else
  3039. 27081650, 3463984, 14099042, 29036828, 1616302, 27348828,
  3040. 29542635, 15372179, 17293797, 960709
  3041. #endif
  3042. }},
  3043. {{
  3044. #if defined(BORINGSSL_CURVE25519_64BIT)
  3045. 767338676040683, 754089548318405, 1523192045639075,
  3046. 435746025122062, 512692508440385
  3047. #else
  3048. 20263915, 11434237, 61343429, 11236809, 13505955, 22697330,
  3049. 50997518, 6493121, 47724353, 7639713
  3050. #endif
  3051. }},
  3052. {{
  3053. #if defined(BORINGSSL_CURVE25519_64BIT)
  3054. 1255955808701983, 1700487367990941, 1166401238800299,
  3055. 1175121994891534, 1190934801395380
  3056. #else
  3057. 64278047, 18715199, 25403037, 25339236, 58791851, 17380732,
  3058. 18006286, 17510682, 29994676, 17746311
  3059. #endif
  3060. }},
  3061. },
  3062. {
  3063. {{
  3064. #if defined(BORINGSSL_CURVE25519_64BIT)
  3065. 349144008168292, 1337012557669162, 1475912332999108,
  3066. 1321618454900458, 47611291904320
  3067. #else
  3068. 9769828, 5202651, 42951466, 19923039, 39057860, 21992807,
  3069. 42495722, 19693649, 35924288, 709463
  3070. #endif
  3071. }},
  3072. {{
  3073. #if defined(BORINGSSL_CURVE25519_64BIT)
  3074. 877519947135419, 2172838026132651, 272304391224129,
  3075. 1655143327559984, 886229406429814
  3076. #else
  3077. 12286395, 13076066, 45333675, 32377809, 42105665, 4057651,
  3078. 35090736, 24663557, 16102006, 13205847
  3079. #endif
  3080. }},
  3081. {{
  3082. #if defined(BORINGSSL_CURVE25519_64BIT)
  3083. 375806028254706, 214463229793940, 572906353144089,
  3084. 572168269875638, 697556386112979
  3085. #else
  3086. 13733362, 5599946, 10557076, 3195751, 61550873, 8536969,
  3087. 41568694, 8525971, 10151379, 10394400
  3088. #endif
  3089. }},
  3090. },
  3091. {
  3092. {{
  3093. #if defined(BORINGSSL_CURVE25519_64BIT)
  3094. 1168827102357844, 823864273033637, 2071538752104697,
  3095. 788062026895924, 599578340743362
  3096. #else
  3097. 4024660, 17416881, 22436261, 12276534, 58009849, 30868332,
  3098. 19698228, 11743039, 33806530, 8934413
  3099. #endif
  3100. }},
  3101. {{
  3102. #if defined(BORINGSSL_CURVE25519_64BIT)
  3103. 1948116082078088, 2054898304487796, 2204939184983900,
  3104. 210526805152138, 786593586607626
  3105. #else
  3106. 51229064, 29029191, 58528116, 30620370, 14634844, 32856154,
  3107. 57659786, 3137093, 55571978, 11721157
  3108. #endif
  3109. }},
  3110. {{
  3111. #if defined(BORINGSSL_CURVE25519_64BIT)
  3112. 1915320147894736, 156481169009469, 655050471180417,
  3113. 592917090415421, 2165897438660879
  3114. #else
  3115. 17555920, 28540494, 8268605, 2331751, 44370049, 9761012,
  3116. 9319229, 8835153, 57903375, 32274386
  3117. #endif
  3118. }},
  3119. },
  3120. {
  3121. {{
  3122. #if defined(BORINGSSL_CURVE25519_64BIT)
  3123. 1726336468579724, 1119932070398949, 1929199510967666,
  3124. 33918788322959, 1836837863503150
  3125. #else
  3126. 66647436, 25724417, 20614117, 16688288, 59594098, 28747312,
  3127. 22300303, 505429, 6108462, 27371017
  3128. #endif
  3129. }},
  3130. {{
  3131. #if defined(BORINGSSL_CURVE25519_64BIT)
  3132. 829996854845988, 217061778005138, 1686565909803640,
  3133. 1346948817219846, 1723823550730181
  3134. #else
  3135. 62038564, 12367916, 36445330, 3234472, 32617080, 25131790,
  3136. 29880582, 20071101, 40210373, 25686972
  3137. #endif
  3138. }},
  3139. {{
  3140. #if defined(BORINGSSL_CURVE25519_64BIT)
  3141. 384301494966394, 687038900403062, 2211195391021739,
  3142. 254684538421383, 1245698430589680
  3143. #else
  3144. 35133562, 5726538, 26934134, 10237677, 63935147, 32949378,
  3145. 24199303, 3795095, 7592688, 18562353
  3146. #endif
  3147. }},
  3148. },
  3149. {
  3150. {{
  3151. #if defined(BORINGSSL_CURVE25519_64BIT)
  3152. 1247567493562688, 1978182094455847, 183871474792955,
  3153. 806570235643435, 288461518067916
  3154. #else
  3155. 21594432, 18590204, 17466407, 29477210, 32537083, 2739898,
  3156. 6407723, 12018833, 38852812, 4298411
  3157. #endif
  3158. }},
  3159. {{
  3160. #if defined(BORINGSSL_CURVE25519_64BIT)
  3161. 1449077384734201, 38285445457996, 2136537659177832,
  3162. 2146493000841573, 725161151123125
  3163. #else
  3164. 46458361, 21592935, 39872588, 570497, 3767144, 31836892,
  3165. 13891941, 31985238, 13717173, 10805743
  3166. #endif
  3167. }},
  3168. {{
  3169. #if defined(BORINGSSL_CURVE25519_64BIT)
  3170. 1201928866368855, 800415690605445, 1703146756828343,
  3171. 997278587541744, 1858284414104014
  3172. #else
  3173. 52432215, 17910135, 15287173, 11927123, 24177847, 25378864,
  3174. 66312432, 14860608, 40169934, 27690595
  3175. #endif
  3176. }},
  3177. },
  3178. },
  3179. {
  3180. {
  3181. {{
  3182. #if defined(BORINGSSL_CURVE25519_64BIT)
  3183. 356468809648877, 782373916933152, 1718002439402870,
  3184. 1392222252219254, 663171266061951
  3185. #else
  3186. 12962541, 5311799, 57048096, 11658279, 18855286, 25600231,
  3187. 13286262, 20745728, 62727807, 9882021
  3188. #endif
  3189. }},
  3190. {{
  3191. #if defined(BORINGSSL_CURVE25519_64BIT)
  3192. 759628738230460, 1012693474275852, 353780233086498,
  3193. 246080061387552, 2030378857679162
  3194. #else
  3195. 18512060, 11319350, 46985740, 15090308, 18818594, 5271736,
  3196. 44380960, 3666878, 43141434, 30255002
  3197. #endif
  3198. }},
  3199. {{
  3200. #if defined(BORINGSSL_CURVE25519_64BIT)
  3201. 2040672435071076, 888593182036908, 1298443657189359,
  3202. 1804780278521327, 354070726137060
  3203. #else
  3204. 60319844, 30408388, 16192428, 13241070, 15898607, 19348318,
  3205. 57023983, 26893321, 64705764, 5276064
  3206. #endif
  3207. }},
  3208. },
  3209. {
  3210. {{
  3211. #if defined(BORINGSSL_CURVE25519_64BIT)
  3212. 1894938527423184, 1463213041477277, 474410505497651,
  3213. 247294963033299, 877975941029128
  3214. #else
  3215. 30169808, 28236784, 26306205, 21803573, 27814963, 7069267,
  3216. 7152851, 3684982, 1449224, 13082861
  3217. #endif
  3218. }},
  3219. {{
  3220. #if defined(BORINGSSL_CURVE25519_64BIT)
  3221. 207937160991127, 12966911039119, 820997788283092,
  3222. 1010440472205286, 1701372890140810
  3223. #else
  3224. 10342807, 3098505, 2119311, 193222, 25702612, 12233820,
  3225. 23697382, 15056736, 46092426, 25352431
  3226. #endif
  3227. }},
  3228. {{
  3229. #if defined(BORINGSSL_CURVE25519_64BIT)
  3230. 218882774543183, 533427444716285, 1233243976733245,
  3231. 435054256891319, 1509568989549904
  3232. #else
  3233. 33958735, 3261607, 22745853, 7948688, 19370557, 18376767,
  3234. 40936887, 6482813, 56808784, 22494330
  3235. #endif
  3236. }},
  3237. },
  3238. {
  3239. {{
  3240. #if defined(BORINGSSL_CURVE25519_64BIT)
  3241. 1888838535711826, 1052177758340622, 1213553803324135,
  3242. 169182009127332, 463374268115872
  3243. #else
  3244. 32869458, 28145887, 25609742, 15678670, 56421095, 18083360,
  3245. 26112420, 2521008, 44444576, 6904814
  3246. #endif
  3247. }},
  3248. {{
  3249. #if defined(BORINGSSL_CURVE25519_64BIT)
  3250. 299137589460312, 1594371588983567, 868058494039073,
  3251. 257771590636681, 1805012993142921
  3252. #else
  3253. 29506904, 4457497, 3377935, 23757988, 36598817, 12935079,
  3254. 1561737, 3841096, 38105225, 26896789
  3255. #endif
  3256. }},
  3257. {{
  3258. #if defined(BORINGSSL_CURVE25519_64BIT)
  3259. 1806842755664364, 2098896946025095, 1356630998422878,
  3260. 1458279806348064, 347755825962072
  3261. #else
  3262. 10340844, 26924055, 48452231, 31276001, 12621150, 20215377,
  3263. 30878496, 21730062, 41524312, 5181965
  3264. #endif
  3265. }},
  3266. },
  3267. {
  3268. {{
  3269. #if defined(BORINGSSL_CURVE25519_64BIT)
  3270. 1402334161391744, 1560083671046299, 1008585416617747,
  3271. 1147797150908892, 1420416683642459
  3272. #else
  3273. 25940096, 20896407, 17324187, 23247058, 58437395, 15029093,
  3274. 24396252, 17103510, 64786011, 21165857
  3275. #endif
  3276. }},
  3277. {{
  3278. #if defined(BORINGSSL_CURVE25519_64BIT)
  3279. 665506704253369, 273770475169863, 799236974202630,
  3280. 848328990077558, 1811448782807931
  3281. #else
  3282. 45343161, 9916822, 65808455, 4079497, 66080518, 11909558,
  3283. 1782390, 12641087, 20603771, 26992690
  3284. #endif
  3285. }},
  3286. {{
  3287. #if defined(BORINGSSL_CURVE25519_64BIT)
  3288. 1468412523962641, 771866649897997, 1931766110147832,
  3289. 799561180078482, 524837559150077
  3290. #else
  3291. 48226577, 21881051, 24849421, 11501709, 13161720, 28785558,
  3292. 1925522, 11914390, 4662781, 7820689
  3293. #endif
  3294. }},
  3295. },
  3296. {
  3297. {{
  3298. #if defined(BORINGSSL_CURVE25519_64BIT)
  3299. 2223212657821850, 630416247363666, 2144451165500328,
  3300. 816911130947791, 1024351058410032
  3301. #else
  3302. 12241050, 33128450, 8132690, 9393934, 32846760, 31954812,
  3303. 29749455, 12172924, 16136752, 15264020
  3304. #endif
  3305. }},
  3306. {{
  3307. #if defined(BORINGSSL_CURVE25519_64BIT)
  3308. 1266603897524861, 156378408858100, 1275649024228779,
  3309. 447738405888420, 253186462063095
  3310. #else
  3311. 56758909, 18873868, 58896884, 2330219, 49446315, 19008651,
  3312. 10658212, 6671822, 19012087, 3772772
  3313. #endif
  3314. }},
  3315. {{
  3316. #if defined(BORINGSSL_CURVE25519_64BIT)
  3317. 2022215964509735, 136144366993649, 1800716593296582,
  3318. 1193970603800203, 871675847064218
  3319. #else
  3320. 3753511, 30133366, 10617073, 2028709, 14841030, 26832768,
  3321. 28718731, 17791548, 20527770, 12988982
  3322. #endif
  3323. }},
  3324. },
  3325. {
  3326. {{
  3327. #if defined(BORINGSSL_CURVE25519_64BIT)
  3328. 1862751661970328, 851596246739884, 1519315554814041,
  3329. 1542798466547449, 1417975335901520
  3330. #else
  3331. 52286360, 27757162, 63400876, 12689772, 66209881, 22639565,
  3332. 42925817, 22989488, 3299664, 21129479
  3333. #endif
  3334. }},
  3335. {{
  3336. #if defined(BORINGSSL_CURVE25519_64BIT)
  3337. 1228168094547481, 334133883362894, 587567568420081,
  3338. 433612590281181, 603390400373205
  3339. #else
  3340. 50331161, 18301130, 57466446, 4978982, 3308785, 8755439,
  3341. 6943197, 6461331, 41525717, 8991217
  3342. #endif
  3343. }},
  3344. {{
  3345. #if defined(BORINGSSL_CURVE25519_64BIT)
  3346. 121893973206505, 1843345804916664, 1703118377384911,
  3347. 497810164760654, 101150811654673
  3348. #else
  3349. 49882601, 1816361, 65435576, 27467992, 31783887, 25378441,
  3350. 34160718, 7417949, 36866577, 1507264
  3351. #endif
  3352. }},
  3353. },
  3354. {
  3355. {{
  3356. #if defined(BORINGSSL_CURVE25519_64BIT)
  3357. 458346255946468, 290909935619344, 1452768413850679,
  3358. 550922875254215, 1537286854336538
  3359. #else
  3360. 29692644, 6829891, 56610064, 4334895, 20945975, 21647936,
  3361. 38221255, 8209390, 14606362, 22907359
  3362. #endif
  3363. }},
  3364. {{
  3365. #if defined(BORINGSSL_CURVE25519_64BIT)
  3366. 584322311184395, 380661238802118, 114839394528060,
  3367. 655082270500073, 2111856026034852
  3368. #else
  3369. 63627275, 8707080, 32188102, 5672294, 22096700, 1711240,
  3370. 34088169, 9761486, 4170404, 31469107
  3371. #endif
  3372. }},
  3373. {{
  3374. #if defined(BORINGSSL_CURVE25519_64BIT)
  3375. 996965581008991, 2148998626477022, 1012273164934654,
  3376. 1073876063914522, 1688031788934939
  3377. #else
  3378. 55521375, 14855944, 62981086, 32022574, 40459774, 15084045,
  3379. 22186522, 16002000, 52832027, 25153633
  3380. #endif
  3381. }},
  3382. },
  3383. {
  3384. {{
  3385. #if defined(BORINGSSL_CURVE25519_64BIT)
  3386. 923487018849600, 2085106799623355, 528082801620136,
  3387. 1606206360876188, 735907091712524
  3388. #else
  3389. 62297408, 13761028, 35404987, 31070512, 63796392, 7869046,
  3390. 59995292, 23934339, 13240844, 10965870
  3391. #endif
  3392. }},
  3393. {{
  3394. #if defined(BORINGSSL_CURVE25519_64BIT)
  3395. 1697697887804317, 1335343703828273, 831288615207040,
  3396. 949416685250051, 288760277392022
  3397. #else
  3398. 59366301, 25297669, 52340529, 19898171, 43876480, 12387165,
  3399. 4498947, 14147411, 29514390, 4302863
  3400. #endif
  3401. }},
  3402. {{
  3403. #if defined(BORINGSSL_CURVE25519_64BIT)
  3404. 1419122478109648, 1325574567803701, 602393874111094,
  3405. 2107893372601700, 1314159682671307
  3406. #else
  3407. 53695440, 21146572, 20757301, 19752600, 14785142, 8976368,
  3408. 62047588, 31410058, 17846987, 19582505
  3409. #endif
  3410. }},
  3411. },
  3412. },
  3413. {
  3414. {
  3415. {{
  3416. #if defined(BORINGSSL_CURVE25519_64BIT)
  3417. 2201150872731804, 2180241023425241, 97663456423163,
  3418. 1633405770247824, 848945042443986
  3419. #else
  3420. 64864412, 32799703, 62511833, 32488122, 60861691, 1455298,
  3421. 45461136, 24339642, 61886162, 12650266
  3422. #endif
  3423. }},
  3424. {{
  3425. #if defined(BORINGSSL_CURVE25519_64BIT)
  3426. 1173339555550611, 818605084277583, 47521504364289,
  3427. 924108720564965, 735423405754506
  3428. #else
  3429. 57202067, 17484121, 21134159, 12198166, 40044289, 708125,
  3430. 387813, 13770293, 47974538, 10958662
  3431. #endif
  3432. }},
  3433. {{
  3434. #if defined(BORINGSSL_CURVE25519_64BIT)
  3435. 830104860549448, 1886653193241086, 1600929509383773,
  3436. 1475051275443631, 286679780900937
  3437. #else
  3438. 22470984, 12369526, 23446014, 28113323, 45588061, 23855708,
  3439. 55336367, 21979976, 42025033, 4271861
  3440. #endif
  3441. }},
  3442. },
  3443. {
  3444. {{
  3445. #if defined(BORINGSSL_CURVE25519_64BIT)
  3446. 1577111294832995, 1030899169768747, 144900916293530,
  3447. 1964672592979567, 568390100955250
  3448. #else
  3449. 41939299, 23500789, 47199531, 15361594, 61124506, 2159191,
  3450. 75375, 29275903, 34582642, 8469672
  3451. #endif
  3452. }},
  3453. {{
  3454. #if defined(BORINGSSL_CURVE25519_64BIT)
  3455. 278388655910247, 487143369099838, 927762205508727,
  3456. 181017540174210, 1616886700741287
  3457. #else
  3458. 15854951, 4148314, 58214974, 7259001, 11666551, 13824734,
  3459. 36577666, 2697371, 24154791, 24093489
  3460. #endif
  3461. }},
  3462. {{
  3463. #if defined(BORINGSSL_CURVE25519_64BIT)
  3464. 1191033906638969, 940823957346562, 1606870843663445,
  3465. 861684761499847, 658674867251089
  3466. #else
  3467. 15446137, 17747788, 29759746, 14019369, 30811221, 23944241,
  3468. 35526855, 12840103, 24913809, 9815020
  3469. #endif
  3470. }},
  3471. },
  3472. {
  3473. {{
  3474. #if defined(BORINGSSL_CURVE25519_64BIT)
  3475. 1875032594195546, 1427106132796197, 724736390962158,
  3476. 901860512044740, 635268497268760
  3477. #else
  3478. 62399578, 27940162, 35267365, 21265538, 52665326, 10799413,
  3479. 58005188, 13438768, 18735128, 9466238
  3480. #endif
  3481. }},
  3482. {{
  3483. #if defined(BORINGSSL_CURVE25519_64BIT)
  3484. 622869792298357, 1903919278950367, 1922588621661629,
  3485. 1520574711600434, 1087100760174640
  3486. #else
  3487. 11933045, 9281483, 5081055, 28370608, 64480701, 28648802,
  3488. 59381042, 22658328, 44380208, 16199063
  3489. #endif
  3490. }},
  3491. {{
  3492. #if defined(BORINGSSL_CURVE25519_64BIT)
  3493. 25465949416618, 1693639527318811, 1526153382657203,
  3494. 125943137857169, 145276964043999
  3495. #else
  3496. 14576810, 379472, 40322331, 25237195, 37682355, 22741457,
  3497. 67006097, 1876698, 30801119, 2164795
  3498. #endif
  3499. }},
  3500. },
  3501. {
  3502. {{
  3503. #if defined(BORINGSSL_CURVE25519_64BIT)
  3504. 214739857969358, 920212862967915, 1939901550972269,
  3505. 1211862791775221, 85097515720120
  3506. #else
  3507. 15995086, 3199873, 13672555, 13712240, 47730029, 28906785,
  3508. 54027253, 18058162, 53616056, 1268051
  3509. #endif
  3510. }},
  3511. {{
  3512. #if defined(BORINGSSL_CURVE25519_64BIT)
  3513. 2006245852772938, 734762734836159, 254642929763427,
  3514. 1406213292755966, 239303749517686
  3515. #else
  3516. 56818250, 29895392, 63822271, 10948817, 23037027, 3794475,
  3517. 63638526, 20954210, 50053494, 3565903
  3518. #endif
  3519. }},
  3520. {{
  3521. #if defined(BORINGSSL_CURVE25519_64BIT)
  3522. 1619678837192149, 1919424032779215, 1357391272956794,
  3523. 1525634040073113, 1310226789796241
  3524. #else
  3525. 29210069, 24135095, 61189071, 28601646, 10834810, 20226706,
  3526. 50596761, 22733718, 39946641, 19523900
  3527. #endif
  3528. }},
  3529. },
  3530. {
  3531. {{
  3532. #if defined(BORINGSSL_CURVE25519_64BIT)
  3533. 1040763709762123, 1704449869235352, 605263070456329,
  3534. 1998838089036355, 1312142911487502
  3535. #else
  3536. 53946955, 15508587, 16663704, 25398282, 38758921, 9019122,
  3537. 37925443, 29785008, 2244110, 19552453
  3538. #endif
  3539. }},
  3540. {{
  3541. #if defined(BORINGSSL_CURVE25519_64BIT)
  3542. 1996723311435669, 1844342766567060, 985455700466044,
  3543. 1165924681400960, 311508689870129
  3544. #else
  3545. 61955989, 29753495, 57802388, 27482848, 16243068, 14684434,
  3546. 41435776, 17373631, 13491505, 4641841
  3547. #endif
  3548. }},
  3549. {{
  3550. #if defined(BORINGSSL_CURVE25519_64BIT)
  3551. 43173156290518, 2202883069785309, 1137787467085917,
  3552. 1733636061944606, 1394992037553852
  3553. #else
  3554. 10813398, 643330, 47920349, 32825515, 30292061, 16954354,
  3555. 27548446, 25833190, 14476988, 20787001
  3556. #endif
  3557. }},
  3558. },
  3559. {
  3560. {{
  3561. #if defined(BORINGSSL_CURVE25519_64BIT)
  3562. 670078326344559, 555655025059356, 471959386282438,
  3563. 2141455487356409, 849015953823125
  3564. #else
  3565. 10292079, 9984945, 6481436, 8279905, 59857350, 7032742,
  3566. 27282937, 31910173, 39196053, 12651323
  3567. #endif
  3568. }},
  3569. {{
  3570. #if defined(BORINGSSL_CURVE25519_64BIT)
  3571. 2197214573372804, 794254097241315, 1030190060513737,
  3572. 267632515541902, 2040478049202624
  3573. #else
  3574. 35923332, 32741048, 22271203, 11835308, 10201545, 15351028,
  3575. 17099662, 3988035, 21721536, 30405492
  3576. #endif
  3577. }},
  3578. {{
  3579. #if defined(BORINGSSL_CURVE25519_64BIT)
  3580. 1812516004670529, 1609256702920783, 1706897079364493,
  3581. 258549904773295, 996051247540686
  3582. #else
  3583. 10202177, 27008593, 35735631, 23979793, 34958221, 25434748,
  3584. 54202543, 3852693, 13216206, 14842320
  3585. #endif
  3586. }},
  3587. },
  3588. {
  3589. {{
  3590. #if defined(BORINGSSL_CURVE25519_64BIT)
  3591. 1540374301420584, 1764656898914615, 1810104162020396,
  3592. 923808779163088, 664390074196579
  3593. #else
  3594. 51293224, 22953365, 60569911, 26295436, 60124204, 26972653,
  3595. 35608016, 13765823, 39674467, 9900183
  3596. #endif
  3597. }},
  3598. {{
  3599. #if defined(BORINGSSL_CURVE25519_64BIT)
  3600. 1323460699404750, 1262690757880991, 871777133477900,
  3601. 1060078894988977, 1712236889662886
  3602. #else
  3603. 14465486, 19721101, 34974879, 18815558, 39665676, 12990491,
  3604. 33046193, 15796406, 60056998, 25514317
  3605. #endif
  3606. }},
  3607. {{
  3608. #if defined(BORINGSSL_CURVE25519_64BIT)
  3609. 1696163952057966, 1391710137550823, 608793846867416,
  3610. 1034391509472039, 1780770894075012
  3611. #else
  3612. 30924398, 25274812, 6359015, 20738097, 16508376, 9071735,
  3613. 41620263, 15413634, 9524356, 26535554
  3614. #endif
  3615. }},
  3616. },
  3617. {
  3618. {{
  3619. #if defined(BORINGSSL_CURVE25519_64BIT)
  3620. 1367603834210841, 2131988646583224, 890353773628144,
  3621. 1908908219165595, 270836895252891
  3622. #else
  3623. 12274201, 20378885, 32627640, 31769106, 6736624, 13267305,
  3624. 5237659, 28444949, 15663515, 4035784
  3625. #endif
  3626. }},
  3627. {{
  3628. #if defined(BORINGSSL_CURVE25519_64BIT)
  3629. 597536315471731, 40375058742586, 1942256403956049,
  3630. 1185484645495932, 312666282024145
  3631. #else
  3632. 64157555, 8903984, 17349946, 601635, 50676049, 28941875,
  3633. 53376124, 17665097, 44850385, 4659090
  3634. #endif
  3635. }},
  3636. {{
  3637. #if defined(BORINGSSL_CURVE25519_64BIT)
  3638. 1919411405316294, 1234508526402192, 1066863051997083,
  3639. 1008444703737597, 1348810787701552
  3640. #else
  3641. 50192582, 28601458, 36715152, 18395610, 20774811, 15897498,
  3642. 5736189, 15026997, 64930608, 20098846
  3643. #endif
  3644. }},
  3645. },
  3646. },
  3647. {
  3648. {
  3649. {{
  3650. #if defined(BORINGSSL_CURVE25519_64BIT)
  3651. 2102881477513865, 1570274565945361, 1573617900503708,
  3652. 18662635732583, 2232324307922098
  3653. #else
  3654. 58249865, 31335375, 28571665, 23398914, 66634396, 23448733,
  3655. 63307367, 278094, 23440562, 33264224
  3656. #endif
  3657. }},
  3658. {{
  3659. #if defined(BORINGSSL_CURVE25519_64BIT)
  3660. 1853931367696942, 8107973870707, 350214504129299,
  3661. 775206934582587, 1752317649166792
  3662. #else
  3663. 10226222, 27625730, 15139955, 120818, 52241171, 5218602,
  3664. 32937275, 11551483, 50536904, 26111567
  3665. #endif
  3666. }},
  3667. {{
  3668. #if defined(BORINGSSL_CURVE25519_64BIT)
  3669. 1417148368003523, 721357181628282, 505725498207811,
  3670. 373232277872983, 261634707184480
  3671. #else
  3672. 17932739, 21117156, 43069306, 10749059, 11316803, 7535897,
  3673. 22503767, 5561594, 63462240, 3898660
  3674. #endif
  3675. }},
  3676. },
  3677. {
  3678. {{
  3679. #if defined(BORINGSSL_CURVE25519_64BIT)
  3680. 2186733281493267, 2250694917008620, 1014829812957440,
  3681. 479998161452389, 83566193876474
  3682. #else
  3683. 7749907, 32584865, 50769132, 33537967, 42090752, 15122142,
  3684. 65535333, 7152529, 21831162, 1245233
  3685. #endif
  3686. }},
  3687. {{
  3688. #if defined(BORINGSSL_CURVE25519_64BIT)
  3689. 1268116367301224, 560157088142809, 802626839600444,
  3690. 2210189936605713, 1129993785579988
  3691. #else
  3692. 26958440, 18896406, 4314585, 8346991, 61431100, 11960071,
  3693. 34519569, 32934396, 36706772, 16838219
  3694. #endif
  3695. }},
  3696. {{
  3697. #if defined(BORINGSSL_CURVE25519_64BIT)
  3698. 615183387352312, 917611676109240, 878893615973325,
  3699. 978940963313282, 938686890583575
  3700. #else
  3701. 54942968, 9166946, 33491384, 13673479, 29787085, 13096535,
  3702. 6280834, 14587357, 44770839, 13987524
  3703. #endif
  3704. }},
  3705. },
  3706. {
  3707. {{
  3708. #if defined(BORINGSSL_CURVE25519_64BIT)
  3709. 522024729211672, 1045059315315808, 1892245413707790,
  3710. 1907891107684253, 2059998109500714
  3711. #else
  3712. 42758936, 7778774, 21116000, 15572597, 62275598, 28196653,
  3713. 62807965, 28429792, 59639082, 30696363
  3714. #endif
  3715. }},
  3716. {{
  3717. #if defined(BORINGSSL_CURVE25519_64BIT)
  3718. 1799679152208884, 912132775900387, 25967768040979,
  3719. 432130448590461, 274568990261996
  3720. #else
  3721. 9681908, 26817309, 35157219, 13591837, 60225043, 386949,
  3722. 31622781, 6439245, 52527852, 4091396
  3723. #endif
  3724. }},
  3725. {{
  3726. #if defined(BORINGSSL_CURVE25519_64BIT)
  3727. 98698809797682, 2144627600856209, 1907959298569602,
  3728. 811491302610148, 1262481774981493
  3729. #else
  3730. 58682418, 1470726, 38999185, 31957441, 3978626, 28430809,
  3731. 47486180, 12092162, 29077877, 18812444
  3732. #endif
  3733. }},
  3734. },
  3735. {
  3736. {{
  3737. #if defined(BORINGSSL_CURVE25519_64BIT)
  3738. 1791451399743152, 1713538728337276, 118349997257490,
  3739. 1882306388849954, 158235232210248
  3740. #else
  3741. 5269168, 26694706, 53878652, 25533716, 25932562, 1763552,
  3742. 61502754, 28048550, 47091016, 2357888
  3743. #endif
  3744. }},
  3745. {{
  3746. #if defined(BORINGSSL_CURVE25519_64BIT)
  3747. 1217809823321928, 2173947284933160, 1986927836272325,
  3748. 1388114931125539, 12686131160169
  3749. #else
  3750. 32264008, 18146780, 61721128, 32394338, 65017541, 29607531,
  3751. 23104803, 20684524, 5727337, 189038
  3752. #endif
  3753. }},
  3754. {{
  3755. #if defined(BORINGSSL_CURVE25519_64BIT)
  3756. 1650875518872272, 1136263858253897, 1732115601395988,
  3757. 734312880662190, 1252904681142109
  3758. #else
  3759. 14609104, 24599962, 61108297, 16931650, 52531476, 25810533,
  3760. 40363694, 10942114, 41219933, 18669734
  3761. #endif
  3762. }},
  3763. },
  3764. {
  3765. {{
  3766. #if defined(BORINGSSL_CURVE25519_64BIT)
  3767. 372986456113865, 525430915458171, 2116279931702135,
  3768. 501422713587815, 1907002872974925
  3769. #else
  3770. 20513481, 5557931, 51504251, 7829530, 26413943, 31535028,
  3771. 45729895, 7471780, 13913677, 28416557
  3772. #endif
  3773. }},
  3774. {{
  3775. #if defined(BORINGSSL_CURVE25519_64BIT)
  3776. 803147181835288, 868941437997146, 316299302989663,
  3777. 943495589630550, 571224287904572
  3778. #else
  3779. 41534488, 11967825, 29233242, 12948236, 60354399, 4713226,
  3780. 58167894, 14059179, 12878652, 8511905
  3781. #endif
  3782. }},
  3783. {{
  3784. #if defined(BORINGSSL_CURVE25519_64BIT)
  3785. 227742695588364, 1776969298667369, 628602552821802,
  3786. 457210915378118, 2041906378111140
  3787. #else
  3788. 41452044, 3393630, 64153449, 26478905, 64858154, 9366907,
  3789. 36885446, 6812973, 5568676, 30426776
  3790. #endif
  3791. }},
  3792. },
  3793. {
  3794. {{
  3795. #if defined(BORINGSSL_CURVE25519_64BIT)
  3796. 815000523470260, 913085688728307, 1052060118271173,
  3797. 1345536665214223, 541623413135555
  3798. #else
  3799. 11630004, 12144454, 2116339, 13606037, 27378885, 15676917,
  3800. 49700111, 20050058, 52713667, 8070817
  3801. #endif
  3802. }},
  3803. {{
  3804. #if defined(BORINGSSL_CURVE25519_64BIT)
  3805. 1580216071604333, 1877997504342444, 857147161260913,
  3806. 703522726778478, 2182763974211603
  3807. #else
  3808. 27117677, 23547054, 35826092, 27984343, 1127281, 12772488,
  3809. 37262958, 10483305, 55556115, 32525717
  3810. #endif
  3811. }},
  3812. {{
  3813. #if defined(BORINGSSL_CURVE25519_64BIT)
  3814. 1870080310923419, 71988220958492, 1783225432016732,
  3815. 615915287105016, 1035570475990230
  3816. #else
  3817. 10637467, 27866368, 5674780, 1072708, 40765276, 26572129,
  3818. 65424888, 9177852, 39615702, 15431202
  3819. #endif
  3820. }},
  3821. },
  3822. {
  3823. {{
  3824. #if defined(BORINGSSL_CURVE25519_64BIT)
  3825. 730987750830150, 857613889540280, 1083813157271766,
  3826. 1002817255970169, 1719228484436074
  3827. #else
  3828. 20525126, 10892566, 54366392, 12779442, 37615830, 16150074,
  3829. 38868345, 14943141, 52052074, 25618500
  3830. #endif
  3831. }},
  3832. {{
  3833. #if defined(BORINGSSL_CURVE25519_64BIT)
  3834. 377616581647602, 1581980403078513, 804044118130621,
  3835. 2034382823044191, 643844048472185
  3836. #else
  3837. 37084402, 5626925, 66557297, 23573344, 753597, 11981191,
  3838. 25244767, 30314666, 63752313, 9594023
  3839. #endif
  3840. }},
  3841. {{
  3842. #if defined(BORINGSSL_CURVE25519_64BIT)
  3843. 176957326463017, 1573744060478586, 528642225008045,
  3844. 1816109618372371, 1515140189765006
  3845. #else
  3846. 43356201, 2636869, 61944954, 23450613, 585133, 7877383,
  3847. 11345683, 27062142, 13352334, 22577348
  3848. #endif
  3849. }},
  3850. },
  3851. {
  3852. {{
  3853. #if defined(BORINGSSL_CURVE25519_64BIT)
  3854. 1888911448245718, 1387110895611080, 1924503794066429,
  3855. 1731539523700949, 2230378382645454
  3856. #else
  3857. 65177046, 28146973, 3304648, 20669563, 17015805, 28677341,
  3858. 37325013, 25801949, 53893326, 33235227
  3859. #endif
  3860. }},
  3861. {{
  3862. #if defined(BORINGSSL_CURVE25519_64BIT)
  3863. 443392177002051, 233793396845137, 2199506622312416,
  3864. 1011858706515937, 974676837063129
  3865. #else
  3866. 20239939, 6607058, 6203985, 3483793, 48721888, 32775202,
  3867. 46385121, 15077869, 44358105, 14523816
  3868. #endif
  3869. }},
  3870. {{
  3871. #if defined(BORINGSSL_CURVE25519_64BIT)
  3872. 1846351103143623, 1949984838808427, 671247021915253,
  3873. 1946756846184401, 1929296930380217
  3874. #else
  3875. 27406023, 27512775, 27423595, 29057038, 4996213, 10002360,
  3876. 38266833, 29008937, 36936121, 28748764
  3877. #endif
  3878. }},
  3879. },
  3880. },
  3881. {
  3882. {
  3883. {{
  3884. #if defined(BORINGSSL_CURVE25519_64BIT)
  3885. 849646212452002, 1410198775302919, 73767886183695,
  3886. 1641663456615812, 762256272452411
  3887. #else
  3888. 11374242, 12660715, 17861383, 21013599, 10935567, 1099227,
  3889. 53222788, 24462691, 39381819, 11358503
  3890. #endif
  3891. }},
  3892. {{
  3893. #if defined(BORINGSSL_CURVE25519_64BIT)
  3894. 692017667358279, 723305578826727, 1638042139863265,
  3895. 748219305990306, 334589200523901
  3896. #else
  3897. 54378055, 10311866, 1510375, 10778093, 64989409, 24408729,
  3898. 32676002, 11149336, 40985213, 4985767
  3899. #endif
  3900. }},
  3901. {{
  3902. #if defined(BORINGSSL_CURVE25519_64BIT)
  3903. 22893968530686, 2235758574399251, 1661465835630252,
  3904. 925707319443452, 1203475116966621
  3905. #else
  3906. 48012542, 341146, 60911379, 33315398, 15756972, 24757770,
  3907. 66125820, 13794113, 47694557, 17933176
  3908. #endif
  3909. }},
  3910. },
  3911. {
  3912. {{
  3913. #if defined(BORINGSSL_CURVE25519_64BIT)
  3914. 801299035785166, 1733292596726131, 1664508947088596,
  3915. 467749120991922, 1647498584535623
  3916. #else
  3917. 6490062, 11940286, 25495923, 25828072, 8668372, 24803116,
  3918. 3367602, 6970005, 65417799, 24549641
  3919. #endif
  3920. }},
  3921. {{
  3922. #if defined(BORINGSSL_CURVE25519_64BIT)
  3923. 903105258014366, 427141894933047, 561187017169777,
  3924. 1884330244401954, 1914145708422219
  3925. #else
  3926. 1656478, 13457317, 15370807, 6364910, 13605745, 8362338,
  3927. 47934242, 28078708, 50312267, 28522993
  3928. #endif
  3929. }},
  3930. {{
  3931. #if defined(BORINGSSL_CURVE25519_64BIT)
  3932. 1344191060517578, 1960935031767890, 1518838929955259,
  3933. 1781502350597190, 1564784025565682
  3934. #else
  3935. 44835530, 20030007, 67044178, 29220208, 48503227, 22632463,
  3936. 46537798, 26546453, 67009010, 23317098
  3937. #endif
  3938. }},
  3939. },
  3940. {
  3941. {{
  3942. #if defined(BORINGSSL_CURVE25519_64BIT)
  3943. 673723351748086, 1979969272514923, 1175287312495508,
  3944. 1187589090978666, 1881897672213940
  3945. #else
  3946. 17747446, 10039260, 19368299, 29503841, 46478228, 17513145,
  3947. 31992682, 17696456, 37848500, 28042460
  3948. #endif
  3949. }},
  3950. {{
  3951. #if defined(BORINGSSL_CURVE25519_64BIT)
  3952. 1917185587363432, 1098342571752737, 5935801044414,
  3953. 2000527662351839, 1538640296181569
  3954. #else
  3955. 31932008, 28568291, 47496481, 16366579, 22023614, 88450,
  3956. 11371999, 29810185, 4882241, 22927527
  3957. #endif
  3958. }},
  3959. {{
  3960. #if defined(BORINGSSL_CURVE25519_64BIT)
  3961. 2495540013192, 678856913479236, 224998292422872,
  3962. 219635787698590, 1972465269000940
  3963. #else
  3964. 29796488, 37186, 19818052, 10115756, 55279832, 3352735,
  3965. 18551198, 3272828, 61917932, 29392022
  3966. #endif
  3967. }},
  3968. },
  3969. {
  3970. {{
  3971. #if defined(BORINGSSL_CURVE25519_64BIT)
  3972. 271413961212179, 1353052061471651, 344711291283483,
  3973. 2014925838520662, 2006221033113941
  3974. #else
  3975. 12501267, 4044383, 58495907, 20162046, 34678811, 5136598,
  3976. 47878486, 30024734, 330069, 29895023
  3977. #endif
  3978. }},
  3979. {{
  3980. #if defined(BORINGSSL_CURVE25519_64BIT)
  3981. 194583029968109, 514316781467765, 829677956235672,
  3982. 1676415686873082, 810104584395840
  3983. #else
  3984. 6384877, 2899513, 17807477, 7663917, 64749976, 12363164,
  3985. 25366522, 24980540, 66837568, 12071498
  3986. #endif
  3987. }},
  3988. {{
  3989. #if defined(BORINGSSL_CURVE25519_64BIT)
  3990. 1980510813313589, 1948645276483975, 152063780665900,
  3991. 129968026417582, 256984195613935
  3992. #else
  3993. 58743349, 29511910, 25133447, 29037077, 60897836, 2265926,
  3994. 34339246, 1936674, 61949167, 3829362
  3995. #endif
  3996. }},
  3997. },
  3998. {
  3999. {{
  4000. #if defined(BORINGSSL_CURVE25519_64BIT)
  4001. 1860190562533102, 1936576191345085, 461100292705964,
  4002. 1811043097042830, 957486749306835
  4003. #else
  4004. 28425966, 27718999, 66531773, 28857233, 52891308, 6870929,
  4005. 7921550, 26986645, 26333139, 14267664
  4006. #endif
  4007. }},
  4008. {{
  4009. #if defined(BORINGSSL_CURVE25519_64BIT)
  4010. 796664815624365, 1543160838872951, 1500897791837765,
  4011. 1667315977988401, 599303877030711
  4012. #else
  4013. 56041645, 11871230, 27385719, 22994888, 62522949, 22365119,
  4014. 10004785, 24844944, 45347639, 8930323
  4015. #endif
  4016. }},
  4017. {{
  4018. #if defined(BORINGSSL_CURVE25519_64BIT)
  4019. 1151480509533204, 2136010406720455, 738796060240027,
  4020. 319298003765044, 1150614464349587
  4021. #else
  4022. 45911060, 17158396, 25654215, 31829035, 12282011, 11008919,
  4023. 1541940, 4757911, 40617363, 17145491
  4024. #endif
  4025. }},
  4026. },
  4027. {
  4028. {{
  4029. #if defined(BORINGSSL_CURVE25519_64BIT)
  4030. 1731069268103150, 735642447616087, 1364750481334268,
  4031. 417232839982871, 927108269127661
  4032. #else
  4033. 13537262, 25794942, 46504023, 10961926, 61186044, 20336366,
  4034. 53952279, 6217253, 51165165, 13814989
  4035. #endif
  4036. }},
  4037. {{
  4038. #if defined(BORINGSSL_CURVE25519_64BIT)
  4039. 1017222050227968, 1987716148359, 2234319589635701,
  4040. 621282683093392, 2132553131763026
  4041. #else
  4042. 49686272, 15157789, 18705543, 29619, 24409717, 33293956,
  4043. 27361680, 9257833, 65152338, 31777517
  4044. #endif
  4045. }},
  4046. {{
  4047. #if defined(BORINGSSL_CURVE25519_64BIT)
  4048. 1567828528453324, 1017807205202360, 565295260895298,
  4049. 829541698429100, 307243822276582
  4050. #else
  4051. 42063564, 23362465, 15366584, 15166509, 54003778, 8423555,
  4052. 37937324, 12361134, 48422886, 4578289
  4053. #endif
  4054. }},
  4055. },
  4056. {
  4057. {{
  4058. #if defined(BORINGSSL_CURVE25519_64BIT)
  4059. 249079270936248, 1501514259790706, 947909724204848,
  4060. 944551802437487, 552658763982480
  4061. #else
  4062. 24579768, 3711570, 1342322, 22374306, 40103728, 14124955,
  4063. 44564335, 14074918, 21964432, 8235257
  4064. #endif
  4065. }},
  4066. {{
  4067. #if defined(BORINGSSL_CURVE25519_64BIT)
  4068. 2089966982947227, 1854140343916181, 2151980759220007,
  4069. 2139781292261749, 158070445864917
  4070. #else
  4071. 60580251, 31142934, 9442965, 27628844, 12025639, 32067012,
  4072. 64127349, 31885225, 13006805, 2355433
  4073. #endif
  4074. }},
  4075. {{
  4076. #if defined(BORINGSSL_CURVE25519_64BIT)
  4077. 1338766321464554, 1906702607371284, 1519569445519894,
  4078. 115384726262267, 1393058953390992
  4079. #else
  4080. 50803946, 19949172, 60476436, 28412082, 16974358, 22643349,
  4081. 27202043, 1719366, 1141648, 20758196
  4082. #endif
  4083. }},
  4084. },
  4085. {
  4086. {{
  4087. #if defined(BORINGSSL_CURVE25519_64BIT)
  4088. 1364621558265400, 1512388234908357, 1926731583198686,
  4089. 2041482526432505, 920401122333774
  4090. #else
  4091. 54244920, 20334445, 58790597, 22536340, 60298718, 28710537,
  4092. 13475065, 30420460, 32674894, 13715045
  4093. #endif
  4094. }},
  4095. {{
  4096. #if defined(BORINGSSL_CURVE25519_64BIT)
  4097. 1884844597333588, 601480070269079, 620203503079537,
  4098. 1079527400117915, 1202076693132015
  4099. #else
  4100. 11423316, 28086373, 32344215, 8962751, 24989809, 9241752,
  4101. 53843611, 16086211, 38367983, 17912338
  4102. #endif
  4103. }},
  4104. {{
  4105. #if defined(BORINGSSL_CURVE25519_64BIT)
  4106. 840922919763324, 727955812569642, 1303406629750194,
  4107. 522898432152867, 294161410441865
  4108. #else
  4109. 65699196, 12530727, 60740138, 10847386, 19531186, 19422272,
  4110. 55399715, 7791793, 39862921, 4383346
  4111. #endif
  4112. }},
  4113. },
  4114. },
  4115. {
  4116. {
  4117. {{
  4118. #if defined(BORINGSSL_CURVE25519_64BIT)
  4119. 353760790835310, 1598361541848743, 1122905698202299,
  4120. 1922533590158905, 419107700666580
  4121. #else
  4122. 38137966, 5271446, 65842855, 23817442, 54653627, 16732598,
  4123. 62246457, 28647982, 27193556, 6245191
  4124. #endif
  4125. }},
  4126. {{
  4127. #if defined(BORINGSSL_CURVE25519_64BIT)
  4128. 359856369838236, 180914355488683, 861726472646627,
  4129. 218807937262986, 575626773232501
  4130. #else
  4131. 51914908, 5362277, 65324971, 2695833, 4960227, 12840725,
  4132. 23061898, 3260492, 22510453, 8577507
  4133. #endif
  4134. }},
  4135. {{
  4136. #if defined(BORINGSSL_CURVE25519_64BIT)
  4137. 755467689082474, 909202735047934, 730078068932500,
  4138. 936309075711518, 2007798262842972
  4139. #else
  4140. 54476394, 11257345, 34415870, 13548176, 66387860, 10879010,
  4141. 31168030, 13952092, 37537372, 29918525
  4142. #endif
  4143. }},
  4144. },
  4145. {
  4146. {{
  4147. #if defined(BORINGSSL_CURVE25519_64BIT)
  4148. 1609384177904073, 362745185608627, 1335318541768201,
  4149. 800965770436248, 547877979267412
  4150. #else
  4151. 3877321, 23981693, 32416691, 5405324, 56104457, 19897796,
  4152. 3759768, 11935320, 5611860, 8164018
  4153. #endif
  4154. }},
  4155. {{
  4156. #if defined(BORINGSSL_CURVE25519_64BIT)
  4157. 984339177776787, 815727786505884, 1645154585713747,
  4158. 1659074964378553, 1686601651984156
  4159. #else
  4160. 50833043, 14667796, 15906460, 12155291, 44997715, 24514713,
  4161. 32003001, 24722143, 5773084, 25132323
  4162. #endif
  4163. }},
  4164. {{
  4165. #if defined(BORINGSSL_CURVE25519_64BIT)
  4166. 1697863093781930, 599794399429786, 1104556219769607,
  4167. 830560774794755, 12812858601017
  4168. #else
  4169. 43320746, 25300131, 1950874, 8937633, 18686727, 16459170,
  4170. 66203139, 12376319, 31632953, 190926
  4171. #endif
  4172. }},
  4173. },
  4174. {
  4175. {{
  4176. #if defined(BORINGSSL_CURVE25519_64BIT)
  4177. 1168737550514982, 897832437380552, 463140296333799,
  4178. 302564600022547, 2008360505135501
  4179. #else
  4180. 42515238, 17415546, 58684872, 13378745, 14162407, 6901328,
  4181. 58820115, 4508563, 41767309, 29926903
  4182. #endif
  4183. }},
  4184. {{
  4185. #if defined(BORINGSSL_CURVE25519_64BIT)
  4186. 1856930662813910, 678090852002597, 1920179140755167,
  4187. 1259527833759868, 55540971895511
  4188. #else
  4189. 8884438, 27670423, 6023973, 10104341, 60227295, 28612898,
  4190. 18722940, 18768427, 65436375, 827624
  4191. #endif
  4192. }},
  4193. {{
  4194. #if defined(BORINGSSL_CURVE25519_64BIT)
  4195. 1158643631044921, 476554103621892, 178447851439725,
  4196. 1305025542653569, 103433927680625
  4197. #else
  4198. 34388281, 17265135, 34605316, 7101209, 13354605, 2659080,
  4199. 65308289, 19446395, 42230385, 1541285
  4200. #endif
  4201. }},
  4202. },
  4203. {
  4204. {{
  4205. #if defined(BORINGSSL_CURVE25519_64BIT)
  4206. 2176793111709008, 1576725716350391, 2009350167273523,
  4207. 2012390194631546, 2125297410909580
  4208. #else
  4209. 2901328, 32436745, 3880375, 23495044, 49487923, 29941650,
  4210. 45306746, 29986950, 20456844, 31669399
  4211. #endif
  4212. }},
  4213. {{
  4214. #if defined(BORINGSSL_CURVE25519_64BIT)
  4215. 825403285195098, 2144208587560784, 1925552004644643,
  4216. 1915177840006985, 1015952128947864
  4217. #else
  4218. 27019610, 12299467, 53450576, 31951197, 54247203, 28692960,
  4219. 47568713, 28538373, 29439640, 15138866
  4220. #endif
  4221. }},
  4222. {{
  4223. #if defined(BORINGSSL_CURVE25519_64BIT)
  4224. 1807108316634472, 1534392066433717, 347342975407218,
  4225. 1153820745616376, 7375003497471
  4226. #else
  4227. 21536104, 26928012, 34661045, 22864223, 44700786, 5175813,
  4228. 61688824, 17193268, 7779327, 109896
  4229. #endif
  4230. }},
  4231. },
  4232. {
  4233. {{
  4234. #if defined(BORINGSSL_CURVE25519_64BIT)
  4235. 983061001799725, 431211889901241, 2201903782961093,
  4236. 817393911064341, 2214616493042167
  4237. #else
  4238. 30279725, 14648750, 59063993, 6425557, 13639621, 32810923,
  4239. 28698389, 12180118, 23177719, 33000357
  4240. #endif
  4241. }},
  4242. {{
  4243. #if defined(BORINGSSL_CURVE25519_64BIT)
  4244. 228567918409756, 865093958780220, 358083886450556,
  4245. 159617889659320, 1360637926292598
  4246. #else
  4247. 26572828, 3405927, 35407164, 12890904, 47843196, 5335865,
  4248. 60615096, 2378491, 4439158, 20275085
  4249. #endif
  4250. }},
  4251. {{
  4252. #if defined(BORINGSSL_CURVE25519_64BIT)
  4253. 234147501399755, 2229469128637390, 2175289352258889,
  4254. 1397401514549353, 1885288963089922
  4255. #else
  4256. 44392139, 3489069, 57883598, 33221678, 18875721, 32414337,
  4257. 14819433, 20822905, 49391106, 28092994
  4258. #endif
  4259. }},
  4260. },
  4261. {
  4262. {{
  4263. #if defined(BORINGSSL_CURVE25519_64BIT)
  4264. 1111762412951562, 252849572507389, 1048714233823341,
  4265. 146111095601446, 1237505378776770
  4266. #else
  4267. 62052362, 16566550, 15953661, 3767752, 56672365, 15627059,
  4268. 66287910, 2177224, 8550082, 18440267
  4269. #endif
  4270. }},
  4271. {{
  4272. #if defined(BORINGSSL_CURVE25519_64BIT)
  4273. 1113790697840279, 1051167139966244, 1045930658550944,
  4274. 2011366241542643, 1686166824620755
  4275. #else
  4276. 48635543, 16596774, 66727204, 15663610, 22860960, 15585581,
  4277. 39264755, 29971692, 43848403, 25125843
  4278. #endif
  4279. }},
  4280. {{
  4281. #if defined(BORINGSSL_CURVE25519_64BIT)
  4282. 1054097349305049, 1872495070333352, 182121071220717,
  4283. 1064378906787311, 100273572924182
  4284. #else
  4285. 34628313, 15707274, 58902952, 27902350, 29464557, 2713815,
  4286. 44383727, 15860481, 45206294, 1494192
  4287. #endif
  4288. }},
  4289. },
  4290. {
  4291. {{
  4292. #if defined(BORINGSSL_CURVE25519_64BIT)
  4293. 1306410853171605, 1627717417672447, 50983221088417,
  4294. 1109249951172250, 870201789081392
  4295. #else
  4296. 47546773, 19467038, 41524991, 24254879, 13127841, 759709,
  4297. 21923482, 16529112, 8742704, 12967017
  4298. #endif
  4299. }},
  4300. {{
  4301. #if defined(BORINGSSL_CURVE25519_64BIT)
  4302. 104233794644221, 1548919791188248, 2224541913267306,
  4303. 2054909377116478, 1043803389015153
  4304. #else
  4305. 38643965, 1553204, 32536856, 23080703, 42417258, 33148257,
  4306. 58194238, 30620535, 37205105, 15553882
  4307. #endif
  4308. }},
  4309. {{
  4310. #if defined(BORINGSSL_CURVE25519_64BIT)
  4311. 216762189468802, 707284285441622, 190678557969733,
  4312. 973969342604308, 1403009538434867
  4313. #else
  4314. 21877890, 3230008, 9881174, 10539357, 62311749, 2841331,
  4315. 11543572, 14513274, 19375923, 20906471
  4316. #endif
  4317. }},
  4318. },
  4319. {
  4320. {{
  4321. #if defined(BORINGSSL_CURVE25519_64BIT)
  4322. 1279024291038477, 344776835218310, 273722096017199,
  4323. 1834200436811442, 634517197663804
  4324. #else
  4325. 8832269, 19058947, 13253510, 5137575, 5037871, 4078777,
  4326. 24880818, 27331716, 2862652, 9455043
  4327. #endif
  4328. }},
  4329. {{
  4330. #if defined(BORINGSSL_CURVE25519_64BIT)
  4331. 343805853118335, 1302216857414201, 566872543223541,
  4332. 2051138939539004, 321428858384280
  4333. #else
  4334. 29306751, 5123106, 20245049, 19404543, 9592565, 8447059,
  4335. 65031740, 30564351, 15511448, 4789663
  4336. #endif
  4337. }},
  4338. {{
  4339. #if defined(BORINGSSL_CURVE25519_64BIT)
  4340. 470067171324852, 1618629234173951, 2000092177515639,
  4341. 7307679772789, 1117521120249968
  4342. #else
  4343. 46429108, 7004546, 8824831, 24119455, 63063159, 29803695,
  4344. 61354101, 108892, 23513200, 16652362
  4345. #endif
  4346. }},
  4347. },
  4348. },
  4349. {
  4350. {
  4351. {{
  4352. #if defined(BORINGSSL_CURVE25519_64BIT)
  4353. 278151578291475, 1810282338562947, 1771599529530998,
  4354. 1383659409671631, 685373414471841
  4355. #else
  4356. 33852691, 4144781, 62632835, 26975308, 10770038, 26398890,
  4357. 60458447, 20618131, 48789665, 10212859
  4358. #endif
  4359. }},
  4360. {{
  4361. #if defined(BORINGSSL_CURVE25519_64BIT)
  4362. 577009397403102, 1791440261786291, 2177643735971638,
  4363. 174546149911960, 1412505077782326
  4364. #else
  4365. 2756062, 8598110, 7383731, 26694540, 22312758, 32449420,
  4366. 21179800, 2600940, 57120566, 21047965
  4367. #endif
  4368. }},
  4369. {{
  4370. #if defined(BORINGSSL_CURVE25519_64BIT)
  4371. 893719721537457, 1201282458018197, 1522349501711173,
  4372. 58011597740583, 1130406465887139
  4373. #else
  4374. 42463153, 13317461, 36659605, 17900503, 21365573, 22684775,
  4375. 11344423, 864440, 64609187, 16844368
  4376. #endif
  4377. }},
  4378. },
  4379. {
  4380. {{
  4381. #if defined(BORINGSSL_CURVE25519_64BIT)
  4382. 412607348255453, 1280455764199780, 2233277987330768,
  4383. 14180080401665, 331584698417165
  4384. #else
  4385. 40676061, 6148328, 49924452, 19080277, 18782928, 33278435,
  4386. 44547329, 211299, 2719757, 4940997
  4387. #endif
  4388. }},
  4389. {{
  4390. #if defined(BORINGSSL_CURVE25519_64BIT)
  4391. 262483770854550, 990511055108216, 526885552771698,
  4392. 571664396646158, 354086190278723
  4393. #else
  4394. 65784982, 3911312, 60160120, 14759764, 37081714, 7851206,
  4395. 21690126, 8518463, 26699843, 5276295
  4396. #endif
  4397. }},
  4398. {{
  4399. #if defined(BORINGSSL_CURVE25519_64BIT)
  4400. 1820352417585487, 24495617171480, 1547899057533253,
  4401. 10041836186225, 480457105094042
  4402. #else
  4403. 53958991, 27125364, 9396248, 365013, 24703301, 23065493,
  4404. 1321585, 149635, 51656090, 7159368
  4405. #endif
  4406. }},
  4407. },
  4408. {
  4409. {{
  4410. #if defined(BORINGSSL_CURVE25519_64BIT)
  4411. 2023310314989233, 637905337525881, 2106474638900687,
  4412. 557820711084072, 1687858215057826
  4413. #else
  4414. 9987761, 30149673, 17507961, 9505530, 9731535, 31388918,
  4415. 22356008, 8312176, 22477218, 25151047
  4416. #endif
  4417. }},
  4418. {{
  4419. #if defined(BORINGSSL_CURVE25519_64BIT)
  4420. 1144168702609745, 604444390410187, 1544541121756138,
  4421. 1925315550126027, 626401428894002
  4422. #else
  4423. 18155857, 17049442, 19744715, 9006923, 15154154, 23015456,
  4424. 24256459, 28689437, 44560690, 9334108
  4425. #endif
  4426. }},
  4427. {{
  4428. #if defined(BORINGSSL_CURVE25519_64BIT)
  4429. 1922168257351784, 2018674099908659, 1776454117494445,
  4430. 956539191509034, 36031129147635
  4431. #else
  4432. 2986088, 28642539, 10776627, 30080588, 10620589, 26471229,
  4433. 45695018, 14253544, 44521715, 536905
  4434. #endif
  4435. }},
  4436. },
  4437. {
  4438. {{
  4439. #if defined(BORINGSSL_CURVE25519_64BIT)
  4440. 544644538748041, 1039872944430374, 876750409130610,
  4441. 710657711326551, 1216952687484972
  4442. #else
  4443. 4377737, 8115836, 24567078, 15495314, 11625074, 13064599,
  4444. 7390551, 10589625, 10838060, 18134008
  4445. #endif
  4446. }},
  4447. {{
  4448. #if defined(BORINGSSL_CURVE25519_64BIT)
  4449. 58242421545916, 2035812695641843, 2118491866122923,
  4450. 1191684463816273, 46921517454099
  4451. #else
  4452. 47766460, 867879, 9277171, 30335973, 52677291, 31567988,
  4453. 19295825, 17757482, 6378259, 699185
  4454. #endif
  4455. }},
  4456. {{
  4457. #if defined(BORINGSSL_CURVE25519_64BIT)
  4458. 272268252444639, 1374166457774292, 2230115177009552,
  4459. 1053149803909880, 1354288411641016
  4460. #else
  4461. 7895007, 4057113, 60027092, 20476675, 49222032, 33231305,
  4462. 66392824, 15693154, 62063800, 20180469
  4463. #endif
  4464. }},
  4465. },
  4466. {
  4467. {{
  4468. #if defined(BORINGSSL_CURVE25519_64BIT)
  4469. 1857910905368338, 1754729879288912, 885945464109877,
  4470. 1516096106802166, 1602902393369811
  4471. #else
  4472. 59371282, 27685029, 52542544, 26147512, 11385653, 13201616,
  4473. 31730678, 22591592, 63190227, 23885106
  4474. #endif
  4475. }},
  4476. {{
  4477. #if defined(BORINGSSL_CURVE25519_64BIT)
  4478. 1193437069800958, 901107149704790, 999672920611411,
  4479. 477584824802207, 364239578697845
  4480. #else
  4481. 10188286, 17783598, 59772502, 13427542, 22223443, 14896287,
  4482. 30743455, 7116568, 45322357, 5427592
  4483. #endif
  4484. }},
  4485. {{
  4486. #if defined(BORINGSSL_CURVE25519_64BIT)
  4487. 886299989548838, 1538292895758047, 1590564179491896,
  4488. 1944527126709657, 837344427345298
  4489. #else
  4490. 696102, 13206899, 27047647, 22922350, 15285304, 23701253,
  4491. 10798489, 28975712, 19236242, 12477404
  4492. #endif
  4493. }},
  4494. },
  4495. {
  4496. {{
  4497. #if defined(BORINGSSL_CURVE25519_64BIT)
  4498. 754558365378305, 1712186480903618, 1703656826337531,
  4499. 750310918489786, 518996040250900
  4500. #else
  4501. 55879425, 11243795, 50054594, 25513566, 66320635, 25386464,
  4502. 63211194, 11180503, 43939348, 7733643
  4503. #endif
  4504. }},
  4505. {{
  4506. #if defined(BORINGSSL_CURVE25519_64BIT)
  4507. 1309847803895382, 1462151862813074, 211370866671570,
  4508. 1544595152703681, 1027691798954090
  4509. #else
  4510. 17800790, 19518253, 40108434, 21787760, 23887826, 3149671,
  4511. 23466177, 23016261, 10322026, 15313801
  4512. #endif
  4513. }},
  4514. {{
  4515. #if defined(BORINGSSL_CURVE25519_64BIT)
  4516. 803217563745370, 1884799722343599, 1357706345069218,
  4517. 2244955901722095, 730869460037413
  4518. #else
  4519. 26246234, 11968874, 32263343, 28085704, 6830754, 20231401,
  4520. 51314159, 33452449, 42659621, 10890803
  4521. #endif
  4522. }},
  4523. },
  4524. {
  4525. {{
  4526. #if defined(BORINGSSL_CURVE25519_64BIT)
  4527. 689299471295966, 1831210565161071, 1375187341585438,
  4528. 1106284977546171, 1893781834054269
  4529. #else
  4530. 35743198, 10271362, 54448239, 27287163, 16690206, 20491888,
  4531. 52126651, 16484930, 25180797, 28219548
  4532. #endif
  4533. }},
  4534. {{
  4535. #if defined(BORINGSSL_CURVE25519_64BIT)
  4536. 696351368613042, 1494385251239250, 738037133616932,
  4537. 636385507851544, 927483222611406
  4538. #else
  4539. 66522290, 10376443, 34522450, 22268075, 19801892, 10997610,
  4540. 2276632, 9482883, 316878, 13820577
  4541. #endif
  4542. }},
  4543. {{
  4544. #if defined(BORINGSSL_CURVE25519_64BIT)
  4545. 1949114198209333, 1104419699537997, 783495707664463,
  4546. 1747473107602770, 2002634765788641
  4547. #else
  4548. 57226037, 29044064, 64993357, 16457135, 56008783, 11674995,
  4549. 30756178, 26039378, 30696929, 29841583
  4550. #endif
  4551. }},
  4552. },
  4553. {
  4554. {{
  4555. #if defined(BORINGSSL_CURVE25519_64BIT)
  4556. 1607325776830197, 530883941415333, 1451089452727895,
  4557. 1581691157083423, 496100432831154
  4558. #else
  4559. 32988917, 23951020, 12499365, 7910787, 56491607, 21622917,
  4560. 59766047, 23569034, 34759346, 7392472
  4561. #endif
  4562. }},
  4563. {{
  4564. #if defined(BORINGSSL_CURVE25519_64BIT)
  4565. 1068900648804224, 2006891997072550, 1134049269345549,
  4566. 1638760646180091, 2055396084625778
  4567. #else
  4568. 58253184, 15927860, 9866406, 29905021, 64711949, 16898650,
  4569. 36699387, 24419436, 25112946, 30627788
  4570. #endif
  4571. }},
  4572. {{
  4573. #if defined(BORINGSSL_CURVE25519_64BIT)
  4574. 2222475519314561, 1870703901472013, 1884051508440561,
  4575. 1344072275216753, 1318025677799069
  4576. #else
  4577. 64604801, 33117465, 25621773, 27875660, 15085041, 28074555,
  4578. 42223985, 20028237, 5537437, 19640113
  4579. #endif
  4580. }},
  4581. },
  4582. },
  4583. {
  4584. {
  4585. {{
  4586. #if defined(BORINGSSL_CURVE25519_64BIT)
  4587. 155711679280656, 681100400509288, 389811735211209,
  4588. 2135723811340709, 408733211204125
  4589. #else
  4590. 55883280, 2320284, 57524584, 10149186, 33664201, 5808647,
  4591. 52232613, 31824764, 31234589, 6090599
  4592. #endif
  4593. }},
  4594. {{
  4595. #if defined(BORINGSSL_CURVE25519_64BIT)
  4596. 7813206966729, 194444201427550, 2071405409526507,
  4597. 1065605076176312, 1645486789731291
  4598. #else
  4599. 57475529, 116425, 26083934, 2897444, 60744427, 30866345, 609720,
  4600. 15878753, 60138459, 24519663
  4601. #endif
  4602. }},
  4603. {{
  4604. #if defined(BORINGSSL_CURVE25519_64BIT)
  4605. 16625790644959, 1647648827778410, 1579910185572704,
  4606. 436452271048548, 121070048451050
  4607. #else
  4608. 39351007, 247743, 51914090, 24551880, 23288160, 23542496,
  4609. 43239268, 6503645, 20650474, 1804084
  4610. #endif
  4611. }},
  4612. },
  4613. {
  4614. {{
  4615. #if defined(BORINGSSL_CURVE25519_64BIT)
  4616. 1037263028552531, 568385780377829, 297953104144430,
  4617. 1558584511931211, 2238221839292471
  4618. #else
  4619. 39519059, 15456423, 8972517, 8469608, 15640622, 4439847,
  4620. 3121995, 23224719, 27842615, 33352104
  4621. #endif
  4622. }},
  4623. {{
  4624. #if defined(BORINGSSL_CURVE25519_64BIT)
  4625. 190565267697443, 672855706028058, 338796554369226,
  4626. 337687268493904, 853246848691734
  4627. #else
  4628. 51801891, 2839643, 22530074, 10026331, 4602058, 5048462,
  4629. 28248656, 5031932, 55733782, 12714368
  4630. #endif
  4631. }},
  4632. {{
  4633. #if defined(BORINGSSL_CURVE25519_64BIT)
  4634. 1763863028400139, 766498079432444, 1321118624818005,
  4635. 69494294452268, 858786744165651
  4636. #else
  4637. 20807691, 26283607, 29286140, 11421711, 39232341, 19686201,
  4638. 45881388, 1035545, 47375635, 12796919
  4639. #endif
  4640. }},
  4641. },
  4642. {
  4643. {{
  4644. #if defined(BORINGSSL_CURVE25519_64BIT)
  4645. 1292056768563024, 1456632109855638, 1100631247050184,
  4646. 1386133165675321, 1232898350193752
  4647. #else
  4648. 12076880, 19253146, 58323862, 21705509, 42096072, 16400683,
  4649. 49517369, 20654993, 3480664, 18371617
  4650. #endif
  4651. }},
  4652. {{
  4653. #if defined(BORINGSSL_CURVE25519_64BIT)
  4654. 366253102478259, 525676242508811, 1449610995265438,
  4655. 1183300845322183, 185960306491545
  4656. #else
  4657. 34747315, 5457596, 28548107, 7833186, 7303070, 21600887,
  4658. 42745799, 17632556, 33734809, 2771024
  4659. #endif
  4660. }},
  4661. {{
  4662. #if defined(BORINGSSL_CURVE25519_64BIT)
  4663. 28315355815982, 460422265558930, 1799675876678724,
  4664. 1969256312504498, 1051823843138725
  4665. #else
  4666. 45719598, 421931, 26597266, 6860826, 22486084, 26817260,
  4667. 49971378, 29344205, 42556581, 15673396
  4668. #endif
  4669. }},
  4670. },
  4671. {
  4672. {{
  4673. #if defined(BORINGSSL_CURVE25519_64BIT)
  4674. 156914999361983, 1606148405719949, 1665208410108430,
  4675. 317643278692271, 1383783705665320
  4676. #else
  4677. 46924223, 2338215, 19788685, 23933476, 63107598, 24813538,
  4678. 46837679, 4733253, 3727144, 20619984
  4679. #endif
  4680. }},
  4681. {{
  4682. #if defined(BORINGSSL_CURVE25519_64BIT)
  4683. 54684536365732, 2210010038536222, 1194984798155308,
  4684. 535239027773705, 1516355079301361
  4685. #else
  4686. 6120100, 814863, 55314462, 32931715, 6812204, 17806661, 2019593,
  4687. 7975683, 31123697, 22595451
  4688. #endif
  4689. }},
  4690. {{
  4691. #if defined(BORINGSSL_CURVE25519_64BIT)
  4692. 1484387703771650, 198537510937949, 2186282186359116,
  4693. 617687444857508, 647477376402122
  4694. #else
  4695. 30069250, 22119100, 30434653, 2958439, 18399564, 32578143,
  4696. 12296868, 9204260, 50676426, 9648164
  4697. #endif
  4698. }},
  4699. },
  4700. {
  4701. {{
  4702. #if defined(BORINGSSL_CURVE25519_64BIT)
  4703. 2147715541830533, 500032538445817, 646380016884826,
  4704. 352227855331122, 1488268620408052
  4705. #else
  4706. 32705413, 32003455, 30705657, 7451065, 55303258, 9631812,
  4707. 3305266, 5248604, 41100532, 22176930
  4708. #endif
  4709. }},
  4710. {{
  4711. #if defined(BORINGSSL_CURVE25519_64BIT)
  4712. 159386186465542, 1877626593362941, 618737197060512,
  4713. 1026674284330807, 1158121760792685
  4714. #else
  4715. 17219846, 2375039, 35537917, 27978816, 47649184, 9219902,
  4716. 294711, 15298639, 2662509, 17257359
  4717. #endif
  4718. }},
  4719. {{
  4720. #if defined(BORINGSSL_CURVE25519_64BIT)
  4721. 1744544377739822, 1964054180355661, 1685781755873170,
  4722. 2169740670377448, 1286112621104591
  4723. #else
  4724. 65935918, 25995736, 62742093, 29266687, 45762450, 25120105,
  4725. 32087528, 32331655, 32247247, 19164571
  4726. #endif
  4727. }},
  4728. },
  4729. {
  4730. {{
  4731. #if defined(BORINGSSL_CURVE25519_64BIT)
  4732. 81977249784993, 1667943117713086, 1668983819634866,
  4733. 1605016835177615, 1353960708075544
  4734. #else
  4735. 14312609, 1221556, 17395390, 24854289, 62163122, 24869796,
  4736. 38911119, 23916614, 51081240, 20175586
  4737. #endif
  4738. }},
  4739. {{
  4740. #if defined(BORINGSSL_CURVE25519_64BIT)
  4741. 1602253788689063, 439542044889886, 2220348297664483,
  4742. 657877410752869, 157451572512238
  4743. #else
  4744. 65680039, 23875441, 57873182, 6549686, 59725795, 33085767,
  4745. 23046501, 9803137, 17597934, 2346211
  4746. #endif
  4747. }},
  4748. {{
  4749. #if defined(BORINGSSL_CURVE25519_64BIT)
  4750. 1029287186166717, 65860128430192, 525298368814832,
  4751. 1491902500801986, 1461064796385400
  4752. #else
  4753. 18510781, 15337574, 26171504, 981392, 44867312, 7827555,
  4754. 43617730, 22231079, 3059832, 21771562
  4755. #endif
  4756. }},
  4757. },
  4758. {
  4759. {{
  4760. #if defined(BORINGSSL_CURVE25519_64BIT)
  4761. 408216988729246, 2121095722306989, 913562102267595,
  4762. 1879708920318308, 241061448436731
  4763. #else
  4764. 10141598, 6082907, 17829293, 31606789, 9830091, 13613136,
  4765. 41552228, 28009845, 33606651, 3592095
  4766. #endif
  4767. }},
  4768. {{
  4769. #if defined(BORINGSSL_CURVE25519_64BIT)
  4770. 1185483484383269, 1356339572588553, 584932367316448,
  4771. 102132779946470, 1792922621116791
  4772. #else
  4773. 33114149, 17665080, 40583177, 20211034, 33076704, 8716171,
  4774. 1151462, 1521897, 66126199, 26716628
  4775. #endif
  4776. }},
  4777. {{
  4778. #if defined(BORINGSSL_CURVE25519_64BIT)
  4779. 1966196870701923, 2230044620318636, 1425982460745905,
  4780. 261167817826569, 46517743394330
  4781. #else
  4782. 34169699, 29298616, 23947180, 33230254, 34035889, 21248794,
  4783. 50471177, 3891703, 26353178, 693168
  4784. #endif
  4785. }},
  4786. },
  4787. {
  4788. {{
  4789. #if defined(BORINGSSL_CURVE25519_64BIT)
  4790. 107077591595359, 884959942172345, 27306869797400,
  4791. 2224911448949390, 964352058245223
  4792. #else
  4793. 30374239, 1595580, 50224825, 13186930, 4600344, 406904, 9585294,
  4794. 33153764, 31375463, 14369965
  4795. #endif
  4796. }},
  4797. {{
  4798. #if defined(BORINGSSL_CURVE25519_64BIT)
  4799. 1730194207717538, 431790042319772, 1831515233279467,
  4800. 1372080552768581, 1074513929381760
  4801. #else
  4802. 52738210, 25781902, 1510300, 6434173, 48324075, 27291703,
  4803. 32732229, 20445593, 17901440, 16011505
  4804. #endif
  4805. }},
  4806. {{
  4807. #if defined(BORINGSSL_CURVE25519_64BIT)
  4808. 1450880638731607, 1019861580989005, 1229729455116861,
  4809. 1174945729836143, 826083146840706
  4810. #else
  4811. 18171223, 21619806, 54608461, 15197121, 56070717, 18324396,
  4812. 47936623, 17508055, 8764034, 12309598
  4813. #endif
  4814. }},
  4815. },
  4816. },
  4817. {
  4818. {
  4819. {{
  4820. #if defined(BORINGSSL_CURVE25519_64BIT)
  4821. 1899935429242705, 1602068751520477, 940583196550370,
  4822. 82431069053859, 1540863155745696
  4823. #else
  4824. 5975889, 28311244, 47649501, 23872684, 55567586, 14015781,
  4825. 43443107, 1228318, 17544096, 22960650
  4826. #endif
  4827. }},
  4828. {{
  4829. #if defined(BORINGSSL_CURVE25519_64BIT)
  4830. 2136688454840028, 2099509000964294, 1690800495246475,
  4831. 1217643678575476, 828720645084218
  4832. #else
  4833. 5811932, 31839139, 3442886, 31285122, 48741515, 25194890,
  4834. 49064820, 18144304, 61543482, 12348899
  4835. #endif
  4836. }},
  4837. {{
  4838. #if defined(BORINGSSL_CURVE25519_64BIT)
  4839. 765548025667841, 462473984016099, 998061409979798,
  4840. 546353034089527, 2212508972466858
  4841. #else
  4842. 35709185, 11407554, 25755363, 6891399, 63851926, 14872273,
  4843. 42259511, 8141294, 56476330, 32968952
  4844. #endif
  4845. }},
  4846. },
  4847. {
  4848. {{
  4849. #if defined(BORINGSSL_CURVE25519_64BIT)
  4850. 46575283771160, 892570971573071, 1281983193144090,
  4851. 1491520128287375, 75847005908304
  4852. #else
  4853. 54433560, 694025, 62032719, 13300343, 14015258, 19103038,
  4854. 57410191, 22225381, 30944592, 1130208
  4855. #endif
  4856. }},
  4857. {{
  4858. #if defined(BORINGSSL_CURVE25519_64BIT)
  4859. 1801436127943107, 1734436817907890, 1268728090345068,
  4860. 167003097070711, 2233597765834956
  4861. #else
  4862. 8247747, 26843490, 40546482, 25845122, 52706924, 18905521,
  4863. 4652151, 2488540, 23550156, 33283200
  4864. #endif
  4865. }},
  4866. {{
  4867. #if defined(BORINGSSL_CURVE25519_64BIT)
  4868. 1997562060465113, 1048700225534011, 7615603985628,
  4869. 1855310849546841, 2242557647635213
  4870. #else
  4871. 17294297, 29765994, 7026747, 15626851, 22990044, 113481,
  4872. 2267737, 27646286, 66700045, 33416712
  4873. #endif
  4874. }},
  4875. },
  4876. {
  4877. {{
  4878. #if defined(BORINGSSL_CURVE25519_64BIT)
  4879. 1161017320376250, 492624580169043, 2169815802355237,
  4880. 976496781732542, 1770879511019629
  4881. #else
  4882. 16091066, 17300506, 18599251, 7340678, 2137637, 32332775,
  4883. 63744702, 14550935, 3260525, 26388161
  4884. #endif
  4885. }},
  4886. {{
  4887. #if defined(BORINGSSL_CURVE25519_64BIT)
  4888. 1357044908364776, 729130645262438, 1762469072918979,
  4889. 1365633616878458, 181282906404941
  4890. #else
  4891. 62198760, 20221544, 18550886, 10864893, 50649539, 26262835,
  4892. 44079994, 20349526, 54360141, 2701325
  4893. #endif
  4894. }},
  4895. {{
  4896. #if defined(BORINGSSL_CURVE25519_64BIT)
  4897. 1080413443139865, 1155205815510486, 1848782073549786,
  4898. 622566975152580, 124965574467971
  4899. #else
  4900. 58534169, 16099414, 4629974, 17213908, 46322650, 27548999,
  4901. 57090500, 9276970, 11329923, 1862132
  4902. #endif
  4903. }},
  4904. },
  4905. {
  4906. {{
  4907. #if defined(BORINGSSL_CURVE25519_64BIT)
  4908. 1184526762066993, 247622751762817, 692129017206356,
  4909. 820018689412496, 2188697339828085
  4910. #else
  4911. 14763057, 17650824, 36190593, 3689866, 3511892, 10313526,
  4912. 45157776, 12219230, 58070901, 32614131
  4913. #endif
  4914. }},
  4915. {{
  4916. #if defined(BORINGSSL_CURVE25519_64BIT)
  4917. 2020536369003019, 202261491735136, 1053169669150884,
  4918. 2056531979272544, 778165514694311
  4919. #else
  4920. 8894987, 30108338, 6150752, 3013931, 301220, 15693451, 35127648,
  4921. 30644714, 51670695, 11595569
  4922. #endif
  4923. }},
  4924. {{
  4925. #if defined(BORINGSSL_CURVE25519_64BIT)
  4926. 237404399610207, 1308324858405118, 1229680749538400,
  4927. 720131409105291, 1958958863624906
  4928. #else
  4929. 15214943, 3537601, 40870142, 19495559, 4418656, 18323671,
  4930. 13947275, 10730794, 53619402, 29190761
  4931. #endif
  4932. }},
  4933. },
  4934. {
  4935. {{
  4936. #if defined(BORINGSSL_CURVE25519_64BIT)
  4937. 515583508038846, 17656978857189, 1717918437373989,
  4938. 1568052070792483, 46975803123923
  4939. #else
  4940. 64570558, 7682792, 32759013, 263109, 37124133, 25598979,
  4941. 44776739, 23365796, 977107, 699994
  4942. #endif
  4943. }},
  4944. {{
  4945. #if defined(BORINGSSL_CURVE25519_64BIT)
  4946. 281527309158085, 36970532401524, 866906920877543,
  4947. 2222282602952734, 1289598729589882
  4948. #else
  4949. 54642373, 4195083, 57897332, 550903, 51543527, 12917919,
  4950. 19118110, 33114591, 36574330, 19216518
  4951. #endif
  4952. }},
  4953. {{
  4954. #if defined(BORINGSSL_CURVE25519_64BIT)
  4955. 1278207464902042, 494742455008756, 1262082121427081,
  4956. 1577236621659884, 1888786707293291
  4957. #else
  4958. 31788442, 19046775, 4799988, 7372237, 8808585, 18806489,
  4959. 9408236, 23502657, 12493931, 28145115
  4960. #endif
  4961. }},
  4962. },
  4963. {
  4964. {{
  4965. #if defined(BORINGSSL_CURVE25519_64BIT)
  4966. 353042527954210, 1830056151907359, 1111731275799225,
  4967. 174960955838824, 404312815582675
  4968. #else
  4969. 41428258, 5260743, 47873055, 27269961, 63412921, 16566086,
  4970. 27218280, 2607121, 29375955, 6024730
  4971. #endif
  4972. }},
  4973. {{
  4974. #if defined(BORINGSSL_CURVE25519_64BIT)
  4975. 2064251142068628, 1666421603389706, 1419271365315441,
  4976. 468767774902855, 191535130366583
  4977. #else
  4978. 842132, 30759739, 62345482, 24831616, 26332017, 21148791,
  4979. 11831879, 6985184, 57168503, 2854095
  4980. #endif
  4981. }},
  4982. {{
  4983. #if defined(BORINGSSL_CURVE25519_64BIT)
  4984. 1716987058588002, 1859366439773457, 1767194234188234,
  4985. 64476199777924, 1117233614485261
  4986. #else
  4987. 62261602, 25585100, 2516241, 27706719, 9695690, 26333246,
  4988. 16512644, 960770, 12121869, 16648078
  4989. #endif
  4990. }},
  4991. },
  4992. {
  4993. {{
  4994. #if defined(BORINGSSL_CURVE25519_64BIT)
  4995. 984292135520292, 135138246951259, 2220652137473167,
  4996. 1722843421165029, 190482558012909
  4997. #else
  4998. 51890212, 14667095, 53772635, 2013716, 30598287, 33090295,
  4999. 35603941, 25672367, 20237805, 2838411
  5000. #endif
  5001. }},
  5002. {{
  5003. #if defined(BORINGSSL_CURVE25519_64BIT)
  5004. 298845952651262, 1166086588952562, 1179896526238434,
  5005. 1347812759398693, 1412945390096208
  5006. #else
  5007. 47820798, 4453151, 15298546, 17376044, 22115042, 17581828,
  5008. 12544293, 20083975, 1068880, 21054527
  5009. #endif
  5010. }},
  5011. {{
  5012. #if defined(BORINGSSL_CURVE25519_64BIT)
  5013. 1143239552672925, 906436640714209, 2177000572812152,
  5014. 2075299936108548, 325186347798433
  5015. #else
  5016. 57549981, 17035596, 33238497, 13506958, 30505848, 32439836,
  5017. 58621956, 30924378, 12521377, 4845654
  5018. #endif
  5019. }},
  5020. },
  5021. {
  5022. {{
  5023. #if defined(BORINGSSL_CURVE25519_64BIT)
  5024. 721024854374772, 684487861263316, 1373438744094159,
  5025. 2193186935276995, 1387043709851261
  5026. #else
  5027. 38910324, 10744107, 64150484, 10199663, 7759311, 20465832,
  5028. 3409347, 32681032, 60626557, 20668561
  5029. #endif
  5030. }},
  5031. {{
  5032. #if defined(BORINGSSL_CURVE25519_64BIT)
  5033. 418098668140962, 715065997721283, 1471916138376055,
  5034. 2168570337288357, 937812682637044
  5035. #else
  5036. 43547042, 6230155, 46726851, 10655313, 43068279, 21933259,
  5037. 10477733, 32314216, 63995636, 13974497
  5038. #endif
  5039. }},
  5040. {{
  5041. #if defined(BORINGSSL_CURVE25519_64BIT)
  5042. 1043584187226485, 2143395746619356, 2209558562919611,
  5043. 482427979307092, 847556718384018
  5044. #else
  5045. 12966261, 15550616, 35069916, 31939085, 21025979, 32924988,
  5046. 5642324, 7188737, 18895762, 12629579
  5047. #endif
  5048. }},
  5049. },
  5050. },
  5051. {
  5052. {
  5053. {{
  5054. #if defined(BORINGSSL_CURVE25519_64BIT)
  5055. 1248731221520759, 1465200936117687, 540803492710140,
  5056. 52978634680892, 261434490176109
  5057. #else
  5058. 14741879, 18607545, 22177207, 21833195, 1279740, 8058600,
  5059. 11758140, 789443, 32195181, 3895677
  5060. #endif
  5061. }},
  5062. {{
  5063. #if defined(BORINGSSL_CURVE25519_64BIT)
  5064. 1057329623869501, 620334067429122, 461700859268034,
  5065. 2012481616501857, 297268569108938
  5066. #else
  5067. 10758205, 15755439, 62598914, 9243697, 62229442, 6879878,
  5068. 64904289, 29988312, 58126794, 4429646
  5069. #endif
  5070. }},
  5071. {{
  5072. #if defined(BORINGSSL_CURVE25519_64BIT)
  5073. 1055352180870759, 1553151421852298, 1510903185371259,
  5074. 1470458349428097, 1226259419062731
  5075. #else
  5076. 64654951, 15725972, 46672522, 23143759, 61304955, 22514211,
  5077. 59972993, 21911536, 18047435, 18272689
  5078. #endif
  5079. }},
  5080. },
  5081. {
  5082. {{
  5083. #if defined(BORINGSSL_CURVE25519_64BIT)
  5084. 1492988790301668, 790326625573331, 1190107028409745,
  5085. 1389394752159193, 1620408196604194
  5086. #else
  5087. 41935844, 22247266, 29759955, 11776784, 44846481, 17733976,
  5088. 10993113, 20703595, 49488162, 24145963
  5089. #endif
  5090. }},
  5091. {{
  5092. #if defined(BORINGSSL_CURVE25519_64BIT)
  5093. 47000654413729, 1004754424173864, 1868044813557703,
  5094. 173236934059409, 588771199737015
  5095. #else
  5096. 21987233, 700364, 42603816, 14972007, 59334599, 27836036,
  5097. 32155025, 2581431, 37149879, 8773374
  5098. #endif
  5099. }},
  5100. {{
  5101. #if defined(BORINGSSL_CURVE25519_64BIT)
  5102. 30498470091663, 1082245510489825, 576771653181956,
  5103. 806509986132686, 1317634017056939
  5104. #else
  5105. 41540495, 454462, 53896929, 16126714, 25240068, 8594567,
  5106. 20656846, 12017935, 59234475, 19634276
  5107. #endif
  5108. }},
  5109. },
  5110. {
  5111. {{
  5112. #if defined(BORINGSSL_CURVE25519_64BIT)
  5113. 420308055751555, 1493354863316002, 165206721528088,
  5114. 1884845694919786, 2065456951573059
  5115. #else
  5116. 6028163, 6263078, 36097058, 22252721, 66289944, 2461771,
  5117. 35267690, 28086389, 65387075, 30777706
  5118. #endif
  5119. }},
  5120. {{
  5121. #if defined(BORINGSSL_CURVE25519_64BIT)
  5122. 1115636332012334, 1854340990964155, 83792697369514,
  5123. 1972177451994021, 457455116057587
  5124. #else
  5125. 54829870, 16624276, 987579, 27631834, 32908202, 1248608,
  5126. 7719845, 29387734, 28408819, 6816612
  5127. #endif
  5128. }},
  5129. {{
  5130. #if defined(BORINGSSL_CURVE25519_64BIT)
  5131. 1698968457310898, 1435137169051090, 1083661677032510,
  5132. 938363267483709, 340103887207182
  5133. #else
  5134. 56750770, 25316602, 19549650, 21385210, 22082622, 16147817,
  5135. 20613181, 13982702, 56769294, 5067942
  5136. #endif
  5137. }},
  5138. },
  5139. {
  5140. {{
  5141. #if defined(BORINGSSL_CURVE25519_64BIT)
  5142. 1995325341336574, 911500251774648, 164010755403692,
  5143. 855378419194762, 1573601397528842
  5144. #else
  5145. 36602878, 29732664, 12074680, 13582412, 47230892, 2443950,
  5146. 47389578, 12746131, 5331210, 23448488
  5147. #endif
  5148. }},
  5149. {{
  5150. #if defined(BORINGSSL_CURVE25519_64BIT)
  5151. 241719380661528, 310028521317150, 1215881323380194,
  5152. 1408214976493624, 2141142156467363
  5153. #else
  5154. 30528792, 3601899, 65151774, 4619784, 39747042, 18118043,
  5155. 24180792, 20984038, 27679907, 31905504
  5156. #endif
  5157. }},
  5158. {{
  5159. #if defined(BORINGSSL_CURVE25519_64BIT)
  5160. 1315157046163473, 727368447885818, 1363466668108618,
  5161. 1668921439990361, 1398483384337907
  5162. #else
  5163. 9402385, 19597367, 32834042, 10838634, 40528714, 20317236,
  5164. 26653273, 24868867, 22611443, 20839026
  5165. #endif
  5166. }},
  5167. },
  5168. {
  5169. {{
  5170. #if defined(BORINGSSL_CURVE25519_64BIT)
  5171. 75029678299646, 1015388206460473, 1849729037055212,
  5172. 1939814616452984, 444404230394954
  5173. #else
  5174. 22190590, 1118029, 22736441, 15130463, 36648172, 27563110,
  5175. 19189624, 28905490, 4854858, 6622139
  5176. #endif
  5177. }},
  5178. {{
  5179. #if defined(BORINGSSL_CURVE25519_64BIT)
  5180. 2053597130993710, 2024431685856332, 2233550957004860,
  5181. 2012407275509545, 872546993104440
  5182. #else
  5183. 58798126, 30600981, 58846284, 30166382, 56707132, 33282502,
  5184. 13424425, 29987205, 26404408, 13001963
  5185. #endif
  5186. }},
  5187. {{
  5188. #if defined(BORINGSSL_CURVE25519_64BIT)
  5189. 1217269667678610, 599909351968693, 1390077048548598,
  5190. 1471879360694802, 739586172317596
  5191. #else
  5192. 35867026, 18138731, 64114613, 8939345, 11562230, 20713762,
  5193. 41044498, 21932711, 51703708, 11020692
  5194. #endif
  5195. }},
  5196. },
  5197. {
  5198. {{
  5199. #if defined(BORINGSSL_CURVE25519_64BIT)
  5200. 1718318639380794, 1560510726633958, 904462881159922,
  5201. 1418028351780052, 94404349451937
  5202. #else
  5203. 1866042, 25604943, 59210214, 23253421, 12483314, 13477547,
  5204. 3175636, 21130269, 28761761, 1406734
  5205. #endif
  5206. }},
  5207. {{
  5208. #if defined(BORINGSSL_CURVE25519_64BIT)
  5209. 2132502667405250, 214379346175414, 1502748313768060,
  5210. 1960071701057800, 1353971822643138
  5211. #else
  5212. 66660290, 31776765, 13018550, 3194501, 57528444, 22392694,
  5213. 24760584, 29207344, 25577410, 20175752
  5214. #endif
  5215. }},
  5216. {{
  5217. #if defined(BORINGSSL_CURVE25519_64BIT)
  5218. 319394212043702, 2127459436033571, 717646691535162,
  5219. 663366796076914, 318459064945314
  5220. #else
  5221. 42818486, 4759344, 66418211, 31701615, 2066746, 10693769,
  5222. 37513074, 9884935, 57739938, 4745409
  5223. #endif
  5224. }},
  5225. },
  5226. {
  5227. {{
  5228. #if defined(BORINGSSL_CURVE25519_64BIT)
  5229. 405989424923593, 1960452633787083, 667349034401665,
  5230. 1492674260767112, 1451061489880787
  5231. #else
  5232. 57967561, 6049713, 47577803, 29213020, 35848065, 9944275,
  5233. 51646856, 22242579, 10931923, 21622501
  5234. #endif
  5235. }},
  5236. {{
  5237. #if defined(BORINGSSL_CURVE25519_64BIT)
  5238. 947085906234007, 323284730494107, 1485778563977200,
  5239. 728576821512394, 901584347702286
  5240. #else
  5241. 50547351, 14112679, 59096219, 4817317, 59068400, 22139825,
  5242. 44255434, 10856640, 46638094, 13434653
  5243. #endif
  5244. }},
  5245. {{
  5246. #if defined(BORINGSSL_CURVE25519_64BIT)
  5247. 1575783124125742, 2126210792434375, 1569430791264065,
  5248. 1402582372904727, 1891780248341114
  5249. #else
  5250. 22759470, 23480998, 50342599, 31683009, 13637441, 23386341,
  5251. 1765143, 20900106, 28445306, 28189722
  5252. #endif
  5253. }},
  5254. },
  5255. {
  5256. {{
  5257. #if defined(BORINGSSL_CURVE25519_64BIT)
  5258. 838432205560695, 1997703511451664, 1018791879907867,
  5259. 1662001808174331, 78328132957753
  5260. #else
  5261. 29875063, 12493613, 2795536, 29768102, 1710619, 15181182,
  5262. 56913147, 24765756, 9074233, 1167180
  5263. #endif
  5264. }},
  5265. {{
  5266. #if defined(BORINGSSL_CURVE25519_64BIT)
  5267. 739152638255629, 2074935399403557, 505483666745895,
  5268. 1611883356514088, 628654635394878
  5269. #else
  5270. 40903181, 11014232, 57266213, 30918946, 40200743, 7532293,
  5271. 48391976, 24018933, 3843902, 9367684
  5272. #endif
  5273. }},
  5274. {{
  5275. #if defined(BORINGSSL_CURVE25519_64BIT)
  5276. 1822054032121349, 643057948186973, 7306757352712,
  5277. 577249257962099, 284735863382083
  5278. #else
  5279. 56139269, 27150720, 9591133, 9582310, 11349256, 108879,
  5280. 16235123, 8601684, 66969667, 4242894
  5281. #endif
  5282. }},
  5283. },
  5284. },
  5285. {
  5286. {
  5287. {{
  5288. #if defined(BORINGSSL_CURVE25519_64BIT)
  5289. 1366558556363930, 1448606567552086, 1478881020944768,
  5290. 165803179355898, 1115718458123498
  5291. #else
  5292. 22092954, 20363309, 65066070, 21585919, 32186752, 22037044,
  5293. 60534522, 2470659, 39691498, 16625500
  5294. #endif
  5295. }},
  5296. {{
  5297. #if defined(BORINGSSL_CURVE25519_64BIT)
  5298. 204146226972102, 1630511199034723, 2215235214174763,
  5299. 174665910283542, 956127674017216
  5300. #else
  5301. 56051142, 3042015, 13770083, 24296510, 584235, 33009577,
  5302. 59338006, 2602724, 39757248, 14247412
  5303. #endif
  5304. }},
  5305. {{
  5306. #if defined(BORINGSSL_CURVE25519_64BIT)
  5307. 1562934578796716, 1070893489712745, 11324610642270,
  5308. 958989751581897, 2172552325473805
  5309. #else
  5310. 6314156, 23289540, 34336361, 15957556, 56951134, 168749,
  5311. 58490057, 14290060, 27108877, 32373552
  5312. #endif
  5313. }},
  5314. },
  5315. {
  5316. {{
  5317. #if defined(BORINGSSL_CURVE25519_64BIT)
  5318. 1770564423056027, 735523631664565, 1326060113795289,
  5319. 1509650369341127, 65892421582684
  5320. #else
  5321. 58522267, 26383465, 13241781, 10960156, 34117849, 19759835,
  5322. 33547975, 22495543, 39960412, 981873
  5323. #endif
  5324. }},
  5325. {{
  5326. #if defined(BORINGSSL_CURVE25519_64BIT)
  5327. 623682558650637, 1337866509471512, 990313350206649,
  5328. 1314236615762469, 1164772974270275
  5329. #else
  5330. 22833421, 9293594, 34459416, 19935764, 57971897, 14756818,
  5331. 44180005, 19583651, 56629059, 17356469
  5332. #endif
  5333. }},
  5334. {{
  5335. #if defined(BORINGSSL_CURVE25519_64BIT)
  5336. 223256821462517, 723690150104139, 1000261663630601,
  5337. 933280913953265, 254872671543046
  5338. #else
  5339. 59340277, 3326785, 38997067, 10783823, 19178761, 14905060,
  5340. 22680049, 13906969, 51175174, 3797898
  5341. #endif
  5342. }},
  5343. },
  5344. {
  5345. {{
  5346. #if defined(BORINGSSL_CURVE25519_64BIT)
  5347. 1969087237026041, 624795725447124, 1335555107635969,
  5348. 2069986355593023, 1712100149341902
  5349. #else
  5350. 21721337, 29341686, 54902740, 9310181, 63226625, 19901321,
  5351. 23740223, 30845200, 20491982, 25512280
  5352. #endif
  5353. }},
  5354. {{
  5355. #if defined(BORINGSSL_CURVE25519_64BIT)
  5356. 1236103475266979, 1837885883267218, 1026072585230455,
  5357. 1025865513954973, 1801964901432134
  5358. #else
  5359. 9209251, 18419377, 53852306, 27386633, 66377847, 15289672,
  5360. 25947805, 15286587, 30997318, 26851369
  5361. #endif
  5362. }},
  5363. {{
  5364. #if defined(BORINGSSL_CURVE25519_64BIT)
  5365. 1115241013365517, 1712251818829143, 2148864332502771,
  5366. 2096001471438138, 2235017246626125
  5367. #else
  5368. 7392013, 16618386, 23946583, 25514540, 53843699, 32020573,
  5369. 52911418, 31232855, 17649997, 33304352
  5370. #endif
  5371. }},
  5372. },
  5373. {
  5374. {{
  5375. #if defined(BORINGSSL_CURVE25519_64BIT)
  5376. 1299268198601632, 2047148477845621, 2165648650132450,
  5377. 1612539282026145, 514197911628890
  5378. #else
  5379. 57807776, 19360604, 30609525, 30504889, 41933794, 32270679,
  5380. 51867297, 24028707, 64875610, 7662145
  5381. #endif
  5382. }},
  5383. {{
  5384. #if defined(BORINGSSL_CURVE25519_64BIT)
  5385. 118352772338543, 1067608711804704, 1434796676193498,
  5386. 1683240170548391, 230866769907437
  5387. #else
  5388. 49550191, 1763593, 33994528, 15908609, 37067994, 21380136,
  5389. 7335079, 25082233, 63934189, 3440182
  5390. #endif
  5391. }},
  5392. {{
  5393. #if defined(BORINGSSL_CURVE25519_64BIT)
  5394. 1850689576796636, 1601590730430274, 1139674615958142,
  5395. 1954384401440257, 76039205311
  5396. #else
  5397. 47219164, 27577423, 42997570, 23865561, 10799742, 16982475,
  5398. 40449, 29122597, 4862399, 1133
  5399. #endif
  5400. }},
  5401. },
  5402. {
  5403. {{
  5404. #if defined(BORINGSSL_CURVE25519_64BIT)
  5405. 1723387471374172, 997301467038410, 533927635123657,
  5406. 20928644693965, 1756575222802513
  5407. #else
  5408. 34252636, 25680474, 61686474, 14860949, 50789833, 7956141,
  5409. 7258061, 311861, 36513873, 26175010
  5410. #endif
  5411. }},
  5412. {{
  5413. #if defined(BORINGSSL_CURVE25519_64BIT)
  5414. 2146711623855116, 503278928021499, 625853062251406,
  5415. 1109121378393107, 1033853809911861
  5416. #else
  5417. 63335436, 31988495, 28985339, 7499440, 24445838, 9325937,
  5418. 29727763, 16527196, 18278453, 15405622
  5419. #endif
  5420. }},
  5421. {{
  5422. #if defined(BORINGSSL_CURVE25519_64BIT)
  5423. 571005965509422, 2005213373292546, 1016697270349626,
  5424. 56607856974274, 914438579435146
  5425. #else
  5426. 62726958, 8508651, 47210498, 29880007, 61124410, 15149969,
  5427. 53795266, 843522, 45233802, 13626196
  5428. #endif
  5429. }},
  5430. },
  5431. {
  5432. {{
  5433. #if defined(BORINGSSL_CURVE25519_64BIT)
  5434. 1346698876211176, 2076651707527589, 1084761571110205,
  5435. 265334478828406, 1068954492309671
  5436. #else
  5437. 2281448, 20067377, 56193445, 30944521, 1879357, 16164207,
  5438. 56324982, 3953791, 13340839, 15928663
  5439. #endif
  5440. }},
  5441. {{
  5442. #if defined(BORINGSSL_CURVE25519_64BIT)
  5443. 1769967932677654, 1695893319756416, 1151863389675920,
  5444. 1781042784397689, 400287774418285
  5445. #else
  5446. 31727126, 26374577, 48671360, 25270779, 2875792, 17164102,
  5447. 41838969, 26539605, 43656557, 5964752
  5448. #endif
  5449. }},
  5450. {{
  5451. #if defined(BORINGSSL_CURVE25519_64BIT)
  5452. 1851867764003121, 403841933237558, 820549523771987,
  5453. 761292590207581, 1743735048551143
  5454. #else
  5455. 4100401, 27594980, 49929526, 6017713, 48403027, 12227140,
  5456. 40424029, 11344143, 2538215, 25983677
  5457. #endif
  5458. }},
  5459. },
  5460. {
  5461. {{
  5462. #if defined(BORINGSSL_CURVE25519_64BIT)
  5463. 410915148140008, 2107072311871739, 1004367461876503,
  5464. 99684895396761, 1180818713503224
  5465. #else
  5466. 57675240, 6123112, 11159803, 31397824, 30016279, 14966241,
  5467. 46633881, 1485420, 66479608, 17595569
  5468. #endif
  5469. }},
  5470. {{
  5471. #if defined(BORINGSSL_CURVE25519_64BIT)
  5472. 285945406881439, 648174397347453, 1098403762631981,
  5473. 1366547441102991, 1505876883139217
  5474. #else
  5475. 40304287, 4260918, 11851389, 9658551, 35091757, 16367491,
  5476. 46903439, 20363143, 11659921, 22439314
  5477. #endif
  5478. }},
  5479. {{
  5480. #if defined(BORINGSSL_CURVE25519_64BIT)
  5481. 672095903120153, 1675918957959872, 636236529315028,
  5482. 1569297300327696, 2164144194785875
  5483. #else
  5484. 26180377, 10015009, 36264640, 24973138, 5418196, 9480663,
  5485. 2231568, 23384352, 33100371, 32248261
  5486. #endif
  5487. }},
  5488. },
  5489. {
  5490. {{
  5491. #if defined(BORINGSSL_CURVE25519_64BIT)
  5492. 1902708175321798, 1035343530915438, 1178560808893263,
  5493. 301095684058146, 1280977479761118
  5494. #else
  5495. 15121094, 28352561, 56718958, 15427820, 39598927, 17561924,
  5496. 21670946, 4486675, 61177054, 19088051
  5497. #endif
  5498. }},
  5499. {{
  5500. #if defined(BORINGSSL_CURVE25519_64BIT)
  5501. 1615357281742403, 404257611616381, 2160201349780978,
  5502. 1160947379188955, 1578038619549541
  5503. #else
  5504. 16166467, 24070699, 56004733, 6023907, 35182066, 32189508,
  5505. 2340059, 17299464, 56373093, 23514607
  5506. #endif
  5507. }},
  5508. {{
  5509. #if defined(BORINGSSL_CURVE25519_64BIT)
  5510. 2013087639791217, 822734930507457, 1785668418619014,
  5511. 1668650702946164, 389450875221715
  5512. #else
  5513. 28042865, 29997343, 54982337, 12259705, 63391366, 26608532,
  5514. 6766452, 24864833, 18036435, 5803270
  5515. #endif
  5516. }},
  5517. },
  5518. },
  5519. {
  5520. {
  5521. {{
  5522. #if defined(BORINGSSL_CURVE25519_64BIT)
  5523. 453918449698368, 106406819929001, 2072540975937135,
  5524. 308588860670238, 1304394580755385
  5525. #else
  5526. 66291264, 6763911, 11803561, 1585585, 10958447, 30883267,
  5527. 23855390, 4598332, 60949433, 19436993
  5528. #endif
  5529. }},
  5530. {{
  5531. #if defined(BORINGSSL_CURVE25519_64BIT)
  5532. 1295082798350326, 2091844511495996, 1851348972587817,
  5533. 3375039684596, 789440738712837
  5534. #else
  5535. 36077558, 19298237, 17332028, 31170912, 31312681, 27587249,
  5536. 696308, 50292, 47013125, 11763583
  5537. #endif
  5538. }},
  5539. {{
  5540. #if defined(BORINGSSL_CURVE25519_64BIT)
  5541. 2083069137186154, 848523102004566, 993982213589257,
  5542. 1405313299916317, 1532824818698468
  5543. #else
  5544. 66514282, 31040148, 34874710, 12643979, 12650761, 14811489,
  5545. 665117, 20940800, 47335652, 22840869
  5546. #endif
  5547. }},
  5548. },
  5549. {
  5550. {{
  5551. #if defined(BORINGSSL_CURVE25519_64BIT)
  5552. 1495961298852430, 1397203457344779, 1774950217066942,
  5553. 139302743555696, 66603584342787
  5554. #else
  5555. 30464590, 22291560, 62981387, 20819953, 19835326, 26448819,
  5556. 42712688, 2075772, 50088707, 992470
  5557. #endif
  5558. }},
  5559. {{
  5560. #if defined(BORINGSSL_CURVE25519_64BIT)
  5561. 1782411379088302, 1096724939964781, 27593390721418,
  5562. 542241850291353, 1540337798439873
  5563. #else
  5564. 18357166, 26559999, 7766381, 16342475, 37783946, 411173,
  5565. 14578841, 8080033, 55534529, 22952821
  5566. #endif
  5567. }},
  5568. {{
  5569. #if defined(BORINGSSL_CURVE25519_64BIT)
  5570. 693543956581437, 171507720360750, 1557908942697227,
  5571. 1074697073443438, 1104093109037196
  5572. #else
  5573. 19598397, 10334610, 12555054, 2555664, 18821899, 23214652,
  5574. 21873262, 16014234, 26224780, 16452269
  5575. #endif
  5576. }},
  5577. },
  5578. {
  5579. {{
  5580. #if defined(BORINGSSL_CURVE25519_64BIT)
  5581. 345288228393419, 1099643569747172, 134881908403743,
  5582. 1740551994106740, 248212179299770
  5583. #else
  5584. 36884939, 5145195, 5944548, 16385966, 3976735, 2009897,
  5585. 55731060, 25936245, 46575034, 3698649
  5586. #endif
  5587. }},
  5588. {{
  5589. #if defined(BORINGSSL_CURVE25519_64BIT)
  5590. 231429562203065, 1526290236421172, 2021375064026423,
  5591. 1520954495658041, 806337791525116
  5592. #else
  5593. 14187449, 3448569, 56472628, 22743496, 44444983, 30120835,
  5594. 7268409, 22663988, 27394300, 12015369
  5595. #endif
  5596. }},
  5597. {{
  5598. #if defined(BORINGSSL_CURVE25519_64BIT)
  5599. 1079623667189886, 872403650198613, 766894200588288,
  5600. 2163700860774109, 2023464507911816
  5601. #else
  5602. 19695742, 16087646, 28032085, 12999827, 6817792, 11427614,
  5603. 20244189, 32241655, 53849736, 30151970
  5604. #endif
  5605. }},
  5606. },
  5607. {
  5608. {{
  5609. #if defined(BORINGSSL_CURVE25519_64BIT)
  5610. 854645372543796, 1936406001954827, 151460662541253,
  5611. 825325739271555, 1554306377287556
  5612. #else
  5613. 30860084, 12735208, 65220619, 28854697, 50133957, 2256939,
  5614. 58942851, 12298311, 58558340, 23160969
  5615. #endif
  5616. }},
  5617. {{
  5618. #if defined(BORINGSSL_CURVE25519_64BIT)
  5619. 1497138821904622, 1044820250515590, 1742593886423484,
  5620. 1237204112746837, 849047450816987
  5621. #else
  5622. 61389038, 22309106, 65198214, 15569034, 26642876, 25966672,
  5623. 61319509, 18435777, 62132699, 12651792
  5624. #endif
  5625. }},
  5626. {{
  5627. #if defined(BORINGSSL_CURVE25519_64BIT)
  5628. 667962773375330, 1897271816877105, 1399712621683474,
  5629. 1143302161683099, 2081798441209593
  5630. #else
  5631. 64260450, 9953420, 11531313, 28271553, 26895122, 20857343,
  5632. 53990043, 17036529, 9768697, 31021214
  5633. #endif
  5634. }},
  5635. },
  5636. {
  5637. {{
  5638. #if defined(BORINGSSL_CURVE25519_64BIT)
  5639. 127147851567005, 1936114012888110, 1704424366552046,
  5640. 856674880716312, 716603621335359
  5641. #else
  5642. 42389405, 1894650, 66821166, 28850346, 15348718, 25397902,
  5643. 32767512, 12765450, 4940095, 10678226
  5644. #endif
  5645. }},
  5646. {{
  5647. #if defined(BORINGSSL_CURVE25519_64BIT)
  5648. 1072409664800960, 2146937497077528, 1508780108920651,
  5649. 935767602384853, 1112800433544068
  5650. #else
  5651. 18860224, 15980149, 48121624, 31991861, 40875851, 22482575,
  5652. 59264981, 13944023, 42736516, 16582018
  5653. #endif
  5654. }},
  5655. {{
  5656. #if defined(BORINGSSL_CURVE25519_64BIT)
  5657. 333549023751292, 280219272863308, 2104176666454852,
  5658. 1036466864875785, 536135186520207
  5659. #else
  5660. 51604604, 4970267, 37215820, 4175592, 46115652, 31354675,
  5661. 55404809, 15444559, 56105103, 7989036
  5662. #endif
  5663. }},
  5664. },
  5665. {
  5666. {{
  5667. #if defined(BORINGSSL_CURVE25519_64BIT)
  5668. 373666279883137, 146457241530109, 304116267127857,
  5669. 416088749147715, 1258577131183391
  5670. #else
  5671. 31490433, 5568061, 64696061, 2182382, 34772017, 4531685,
  5672. 35030595, 6200205, 47422751, 18754260
  5673. #endif
  5674. }},
  5675. {{
  5676. #if defined(BORINGSSL_CURVE25519_64BIT)
  5677. 1186115062588401, 2251609796968486, 1098944457878953,
  5678. 1153112761201374, 1791625503417267
  5679. #else
  5680. 49800177, 17674491, 35586086, 33551600, 34221481, 16375548,
  5681. 8680158, 17182719, 28550067, 26697300
  5682. #endif
  5683. }},
  5684. {{
  5685. #if defined(BORINGSSL_CURVE25519_64BIT)
  5686. 1870078460219737, 2129630962183380, 852283639691142,
  5687. 292865602592851, 401904317342226
  5688. #else
  5689. 38981977, 27866340, 16837844, 31733974, 60258182, 12700015,
  5690. 37068883, 4364037, 1155602, 5988841
  5691. #endif
  5692. }},
  5693. },
  5694. {
  5695. {{
  5696. #if defined(BORINGSSL_CURVE25519_64BIT)
  5697. 1361070124828035, 815664541425524, 1026798897364671,
  5698. 1951790935390647, 555874891834790
  5699. #else
  5700. 21890435, 20281525, 54484852, 12154348, 59276991, 15300495,
  5701. 23148983, 29083951, 24618406, 8283181
  5702. #endif
  5703. }},
  5704. {{
  5705. #if defined(BORINGSSL_CURVE25519_64BIT)
  5706. 1546301003424277, 459094500062839, 1097668518375311,
  5707. 1780297770129643, 720763293687608
  5708. #else
  5709. 33972757, 23041680, 9975415, 6841041, 35549071, 16356535,
  5710. 3070187, 26528504, 1466168, 10740210
  5711. #endif
  5712. }},
  5713. {{
  5714. #if defined(BORINGSSL_CURVE25519_64BIT)
  5715. 1212405311403990, 1536693382542438, 61028431067459,
  5716. 1863929423417129, 1223219538638038
  5717. #else
  5718. 65599446, 18066246, 53605478, 22898515, 32799043, 909394,
  5719. 53169961, 27774712, 34944214, 18227391
  5720. #endif
  5721. }},
  5722. },
  5723. {
  5724. {{
  5725. #if defined(BORINGSSL_CURVE25519_64BIT)
  5726. 1294303766540260, 1183557465955093, 882271357233093,
  5727. 63854569425375, 2213283684565087
  5728. #else
  5729. 3960804, 19286629, 39082773, 17636380, 47704005, 13146867,
  5730. 15567327, 951507, 63848543, 32980496
  5731. #endif
  5732. }},
  5733. {{
  5734. #if defined(BORINGSSL_CURVE25519_64BIT)
  5735. 339050984211414, 601386726509773, 413735232134068,
  5736. 966191255137228, 1839475899458159
  5737. #else
  5738. 24740822, 5052253, 37014733, 8961360, 25877428, 6165135,
  5739. 42740684, 14397371, 59728495, 27410326
  5740. #endif
  5741. }},
  5742. {{
  5743. #if defined(BORINGSSL_CURVE25519_64BIT)
  5744. 235605972169408, 2174055643032978, 1538335001838863,
  5745. 1281866796917192, 1815940222628465
  5746. #else
  5747. 38220480, 3510802, 39005586, 32395953, 55870735, 22922977,
  5748. 51667400, 19101303, 65483377, 27059617
  5749. #endif
  5750. }},
  5751. },
  5752. },
  5753. {
  5754. {
  5755. {{
  5756. #if defined(BORINGSSL_CURVE25519_64BIT)
  5757. 1632352921721536, 1833328609514701, 2092779091951987,
  5758. 1923956201873226, 2210068022482919
  5759. #else
  5760. 793280, 24323954, 8836301, 27318725, 39747955, 31184838,
  5761. 33152842, 28669181, 57202663, 32932579
  5762. #endif
  5763. }},
  5764. {{
  5765. #if defined(BORINGSSL_CURVE25519_64BIT)
  5766. 35271216625062, 1712350667021807, 983664255668860,
  5767. 98571260373038, 1232645608559836
  5768. #else
  5769. 5666214, 525582, 20782575, 25516013, 42570364, 14657739,
  5770. 16099374, 1468826, 60937436, 18367850
  5771. #endif
  5772. }},
  5773. {{
  5774. #if defined(BORINGSSL_CURVE25519_64BIT)
  5775. 1998172393429622, 1798947921427073, 784387737563581,
  5776. 1589352214827263, 1589861734168180
  5777. #else
  5778. 62249590, 29775088, 64191105, 26806412, 7778749, 11688288,
  5779. 36704511, 23683193, 65549940, 23690785
  5780. #endif
  5781. }},
  5782. },
  5783. {
  5784. {{
  5785. #if defined(BORINGSSL_CURVE25519_64BIT)
  5786. 1733739258725305, 31715717059538, 201969945218860,
  5787. 992093044556990, 1194308773174556
  5788. #else
  5789. 10896313, 25834728, 824274, 472601, 47648556, 3009586, 25248958,
  5790. 14783338, 36527388, 17796587
  5791. #endif
  5792. }},
  5793. {{
  5794. #if defined(BORINGSSL_CURVE25519_64BIT)
  5795. 846415389605137, 746163495539180, 829658752826080,
  5796. 592067705956946, 957242537821393
  5797. #else
  5798. 10566929, 12612572, 35164652, 11118702, 54475488, 12362878,
  5799. 21752402, 8822496, 24003793, 14264025
  5800. #endif
  5801. }},
  5802. {{
  5803. #if defined(BORINGSSL_CURVE25519_64BIT)
  5804. 1758148849754419, 619249044817679, 168089007997045,
  5805. 1371497636330523, 1867101418880350
  5806. #else
  5807. 27713843, 26198459, 56100623, 9227529, 27050101, 2504721,
  5808. 23886875, 20436907, 13958494, 27821979
  5809. #endif
  5810. }},
  5811. },
  5812. {
  5813. {{
  5814. #if defined(BORINGSSL_CURVE25519_64BIT)
  5815. 326633984209635, 261759506071016, 1700682323676193,
  5816. 1577907266349064, 1217647663383016
  5817. #else
  5818. 43627235, 4867225, 39861736, 3900520, 29838369, 25342141,
  5819. 35219464, 23512650, 7340520, 18144364
  5820. #endif
  5821. }},
  5822. {{
  5823. #if defined(BORINGSSL_CURVE25519_64BIT)
  5824. 1714182387328607, 1477856482074168, 574895689942184,
  5825. 2159118410227270, 1555532449716575
  5826. #else
  5827. 4646495, 25543308, 44342840, 22021777, 23184552, 8566613,
  5828. 31366726, 32173371, 52042079, 23179239
  5829. #endif
  5830. }},
  5831. {{
  5832. #if defined(BORINGSSL_CURVE25519_64BIT)
  5833. 853828206885131, 998498946036955, 1835887550391235,
  5834. 207627336608048, 258363815956050
  5835. #else
  5836. 49838347, 12723031, 50115803, 14878793, 21619651, 27356856,
  5837. 27584816, 3093888, 58265170, 3849920
  5838. #endif
  5839. }},
  5840. },
  5841. {
  5842. {{
  5843. #if defined(BORINGSSL_CURVE25519_64BIT)
  5844. 141141474651677, 1236728744905256, 643101419899887,
  5845. 1646615130509173, 1208239602291765
  5846. #else
  5847. 58043933, 2103171, 25561640, 18428694, 61869039, 9582957,
  5848. 32477045, 24536477, 5002293, 18004173
  5849. #endif
  5850. }},
  5851. {{
  5852. #if defined(BORINGSSL_CURVE25519_64BIT)
  5853. 1501663228068911, 1354879465566912, 1444432675498247,
  5854. 897812463852601, 855062598754348
  5855. #else
  5856. 55051311, 22376525, 21115584, 20189277, 8808711, 21523724,
  5857. 16489529, 13378448, 41263148, 12741425
  5858. #endif
  5859. }},
  5860. {{
  5861. #if defined(BORINGSSL_CURVE25519_64BIT)
  5862. 714380763546606, 1032824444965790, 1774073483745338,
  5863. 1063840874947367, 1738680636537158
  5864. #else
  5865. 61162478, 10645102, 36197278, 15390283, 63821882, 26435754,
  5866. 24306471, 15852464, 28834118, 25908360
  5867. #endif
  5868. }},
  5869. },
  5870. {
  5871. {{
  5872. #if defined(BORINGSSL_CURVE25519_64BIT)
  5873. 1640635546696252, 633168953192112, 2212651044092396,
  5874. 30590958583852, 368515260889378
  5875. #else
  5876. 49773116, 24447374, 42577584, 9434952, 58636780, 32971069,
  5877. 54018092, 455840, 20461858, 5491305
  5878. #endif
  5879. }},
  5880. {{
  5881. #if defined(BORINGSSL_CURVE25519_64BIT)
  5882. 1171650314802029, 1567085444565577, 1453660792008405,
  5883. 757914533009261, 1619511342778196
  5884. #else
  5885. 13669229, 17458950, 54626889, 23351392, 52539093, 21661233,
  5886. 42112877, 11293806, 38520660, 24132599
  5887. #endif
  5888. }},
  5889. {{
  5890. #if defined(BORINGSSL_CURVE25519_64BIT)
  5891. 420958967093237, 971103481109486, 2169549185607107,
  5892. 1301191633558497, 1661514101014240
  5893. #else
  5894. 28497909, 6272777, 34085870, 14470569, 8906179, 32328802,
  5895. 18504673, 19389266, 29867744, 24758489
  5896. #endif
  5897. }},
  5898. },
  5899. {
  5900. {{
  5901. #if defined(BORINGSSL_CURVE25519_64BIT)
  5902. 907123651818302, 1332556122804146, 1824055253424487,
  5903. 1367614217442959, 1982558335973172
  5904. #else
  5905. 50901822, 13517195, 39309234, 19856633, 24009063, 27180541,
  5906. 60741263, 20379039, 22853428, 29542421
  5907. #endif
  5908. }},
  5909. {{
  5910. #if defined(BORINGSSL_CURVE25519_64BIT)
  5911. 1121533090144639, 1021251337022187, 110469995947421,
  5912. 1511059774758394, 2110035908131662
  5913. #else
  5914. 24191359, 16712145, 53177067, 15217830, 14542237, 1646131,
  5915. 18603514, 22516545, 12876622, 31441985
  5916. #endif
  5917. }},
  5918. {{
  5919. #if defined(BORINGSSL_CURVE25519_64BIT)
  5920. 303213233384524, 2061932261128138, 352862124777736,
  5921. 40828818670255, 249879468482660
  5922. #else
  5923. 17902668, 4518229, 66697162, 30725184, 26878216, 5258055,
  5924. 54248111, 608396, 16031844, 3723494
  5925. #endif
  5926. }},
  5927. },
  5928. {
  5929. {{
  5930. #if defined(BORINGSSL_CURVE25519_64BIT)
  5931. 856559257852200, 508517664949010, 1378193767894916,
  5932. 1723459126947129, 1962275756614521
  5933. #else
  5934. 38476072, 12763727, 46662418, 7577503, 33001348, 20536687,
  5935. 17558841, 25681542, 23896953, 29240187
  5936. #endif
  5937. }},
  5938. {{
  5939. #if defined(BORINGSSL_CURVE25519_64BIT)
  5940. 1445691340537320, 40614383122127, 402104303144865,
  5941. 485134269878232, 1659439323587426
  5942. #else
  5943. 47103464, 21542479, 31520463, 605201, 2543521, 5991821,
  5944. 64163800, 7229063, 57189218, 24727572
  5945. #endif
  5946. }},
  5947. {{
  5948. #if defined(BORINGSSL_CURVE25519_64BIT)
  5949. 20057458979482, 1183363722525800, 2140003847237215,
  5950. 2053873950687614, 2112017736174909
  5951. #else
  5952. 28816026, 298879, 38943848, 17633493, 19000927, 31888542,
  5953. 54428030, 30605106, 49057085, 31471516
  5954. #endif
  5955. }},
  5956. },
  5957. {
  5958. {{
  5959. #if defined(BORINGSSL_CURVE25519_64BIT)
  5960. 2228654250927986, 1483591363415267, 1368661293910956,
  5961. 1076511285177291, 526650682059608
  5962. #else
  5963. 16000882, 33209536, 3493091, 22107234, 37604268, 20394642,
  5964. 12577739, 16041268, 47393624, 7847706
  5965. #endif
  5966. }},
  5967. {{
  5968. #if defined(BORINGSSL_CURVE25519_64BIT)
  5969. 709481497028540, 531682216165724, 316963769431931,
  5970. 1814315888453765, 258560242424104
  5971. #else
  5972. 10151868, 10572098, 27312476, 7922682, 14825339, 4723128,
  5973. 34252933, 27035413, 57088296, 3852847
  5974. #endif
  5975. }},
  5976. {{
  5977. #if defined(BORINGSSL_CURVE25519_64BIT)
  5978. 1053447823660455, 1955135194248683, 1010900954918985,
  5979. 1182614026976701, 1240051576966610
  5980. #else
  5981. 55678375, 15697595, 45987307, 29133784, 5386313, 15063598,
  5982. 16514493, 17622322, 29330898, 18478208
  5983. #endif
  5984. }},
  5985. },
  5986. },
  5987. {
  5988. {
  5989. {{
  5990. #if defined(BORINGSSL_CURVE25519_64BIT)
  5991. 1957943897155497, 1788667368028035, 137692910029106,
  5992. 1039519607062, 826404763313028
  5993. #else
  5994. 41609129, 29175637, 51885955, 26653220, 16615730, 2051784,
  5995. 3303702, 15490, 39560068, 12314390
  5996. #endif
  5997. }},
  5998. {{
  5999. #if defined(BORINGSSL_CURVE25519_64BIT)
  6000. 1848942433095597, 1582009882530495, 1849292741020143,
  6001. 1068498323302788, 2001402229799484
  6002. #else
  6003. 15683501, 27551389, 18109119, 23573784, 15337967, 27556609,
  6004. 50391428, 15921865, 16103996, 29823217
  6005. #endif
  6006. }},
  6007. {{
  6008. #if defined(BORINGSSL_CURVE25519_64BIT)
  6009. 1528282417624269, 2142492439828191, 2179662545816034,
  6010. 362568973150328, 1591374675250271
  6011. #else
  6012. 43939021, 22773182, 13588191, 31925625, 63310306, 32479502,
  6013. 47835256, 5402698, 37293151, 23713330
  6014. #endif
  6015. }},
  6016. },
  6017. {
  6018. {{
  6019. #if defined(BORINGSSL_CURVE25519_64BIT)
  6020. 160026679434388, 232341189218716, 2149181472355545,
  6021. 598041771119831, 183859001910173
  6022. #else
  6023. 23190676, 2384583, 34394524, 3462153, 37205209, 32025299,
  6024. 55842007, 8911516, 41903005, 2739712
  6025. #endif
  6026. }},
  6027. {{
  6028. #if defined(BORINGSSL_CURVE25519_64BIT)
  6029. 2013278155187349, 662660471354454, 793981225706267,
  6030. 411706605985744, 804490933124791
  6031. #else
  6032. 21374101, 30000182, 33584214, 9874410, 15377179, 11831242,
  6033. 33578960, 6134906, 4931255, 11987849
  6034. #endif
  6035. }},
  6036. {{
  6037. #if defined(BORINGSSL_CURVE25519_64BIT)
  6038. 2051892037280204, 488391251096321, 2230187337030708,
  6039. 930221970662692, 679002758255210
  6040. #else
  6041. 67101132, 30575573, 50885377, 7277596, 105524, 33232381,
  6042. 35628324, 13861387, 37032554, 10117929
  6043. #endif
  6044. }},
  6045. },
  6046. {
  6047. {{
  6048. #if defined(BORINGSSL_CURVE25519_64BIT)
  6049. 1530723630438670, 875873929577927, 341560134269988,
  6050. 449903119530753, 1055551308214179
  6051. #else
  6052. 37607694, 22809559, 40945095, 13051538, 41483300, 5089642,
  6053. 60783361, 6704078, 12890019, 15728940
  6054. #endif
  6055. }},
  6056. {{
  6057. #if defined(BORINGSSL_CURVE25519_64BIT)
  6058. 1461835919309432, 1955256480136428, 180866187813063,
  6059. 1551979252664528, 557743861963950
  6060. #else
  6061. 45136504, 21783052, 66157804, 29135591, 14704839, 2695116,
  6062. 903376, 23126293, 12885166, 8311031
  6063. #endif
  6064. }},
  6065. {{
  6066. #if defined(BORINGSSL_CURVE25519_64BIT)
  6067. 359179641731115, 1324915145732949, 902828372691474,
  6068. 294254275669987, 1887036027752957
  6069. #else
  6070. 49592363, 5352193, 10384213, 19742774, 7506450, 13453191,
  6071. 26423267, 4384730, 1888765, 28119028
  6072. #endif
  6073. }},
  6074. },
  6075. {
  6076. {{
  6077. #if defined(BORINGSSL_CURVE25519_64BIT)
  6078. 2043271609454323, 2038225437857464, 1317528426475850,
  6079. 1398989128982787, 2027639881006861
  6080. #else
  6081. 41291507, 30447119, 53614264, 30371925, 30896458, 19632703,
  6082. 34857219, 20846562, 47644429, 30214188
  6083. #endif
  6084. }},
  6085. {{
  6086. #if defined(BORINGSSL_CURVE25519_64BIT)
  6087. 2072902725256516, 312132452743412, 309930885642209,
  6088. 996244312618453, 1590501300352303
  6089. #else
  6090. 43500868, 30888657, 66582772, 4651135, 5765089, 4618330,
  6091. 6092245, 14845197, 17151279, 23700316
  6092. #endif
  6093. }},
  6094. {{
  6095. #if defined(BORINGSSL_CURVE25519_64BIT)
  6096. 1397254305160710, 695734355138021, 2233992044438756,
  6097. 1776180593969996, 1085588199351115
  6098. #else
  6099. 42278406, 20820711, 51942885, 10367249, 37577956, 33289075,
  6100. 22825804, 26467153, 50242379, 16176524
  6101. #endif
  6102. }},
  6103. },
  6104. {
  6105. {{
  6106. #if defined(BORINGSSL_CURVE25519_64BIT)
  6107. 440567051331029, 254894786356681, 493869224930222,
  6108. 1556322069683366, 1567456540319218
  6109. #else
  6110. 43525589, 6564960, 20063689, 3798228, 62368686, 7359224,
  6111. 2006182, 23191006, 38362610, 23356922
  6112. #endif
  6113. }},
  6114. {{
  6115. #if defined(BORINGSSL_CURVE25519_64BIT)
  6116. 1950722461391320, 1907845598854797, 1822757481635527,
  6117. 2121567704750244, 73811931471221
  6118. #else
  6119. 56482264, 29068029, 53788301, 28429114, 3432135, 27161203,
  6120. 23632036, 31613822, 32808309, 1099883
  6121. #endif
  6122. }},
  6123. {{
  6124. #if defined(BORINGSSL_CURVE25519_64BIT)
  6125. 387139307395758, 2058036430315676, 1220915649965325,
  6126. 1794832055328951, 1230009312169328
  6127. #else
  6128. 15030958, 5768825, 39657628, 30667132, 60681485, 18193060,
  6129. 51830967, 26745081, 2051440, 18328567
  6130. #endif
  6131. }},
  6132. },
  6133. {
  6134. {{
  6135. #if defined(BORINGSSL_CURVE25519_64BIT)
  6136. 1765973779329517, 659344059446977, 19821901606666,
  6137. 1301928341311214, 1116266004075885
  6138. #else
  6139. 63746541, 26315059, 7517889, 9824992, 23555850, 295369, 5148398,
  6140. 19400244, 44422509, 16633659
  6141. #endif
  6142. }},
  6143. {{
  6144. #if defined(BORINGSSL_CURVE25519_64BIT)
  6145. 1127572801181483, 1224743760571696, 1276219889847274,
  6146. 1529738721702581, 1589819666871853
  6147. #else
  6148. 4577067, 16802144, 13249840, 18250104, 19958762, 19017158,
  6149. 18559669, 22794883, 8402477, 23690159
  6150. #endif
  6151. }},
  6152. {{
  6153. #if defined(BORINGSSL_CURVE25519_64BIT)
  6154. 2181229378964934, 2190885205260020, 1511536077659137,
  6155. 1246504208580490, 668883326494241
  6156. #else
  6157. 38702534, 32502850, 40318708, 32646733, 49896449, 22523642,
  6158. 9453450, 18574360, 17983009, 9967138
  6159. #endif
  6160. }},
  6161. },
  6162. {
  6163. {{
  6164. #if defined(BORINGSSL_CURVE25519_64BIT)
  6165. 437866655573314, 669026411194768, 81896997980338,
  6166. 523874406393178, 245052060935236
  6167. #else
  6168. 41346370, 6524721, 26585488, 9969270, 24709298, 1220360,
  6169. 65430874, 7806336, 17507396, 3651560
  6170. #endif
  6171. }},
  6172. {{
  6173. #if defined(BORINGSSL_CURVE25519_64BIT)
  6174. 1975438052228868, 1071801519999806, 594652299224319,
  6175. 1877697652668809, 1489635366987285
  6176. #else
  6177. 56688388, 29436320, 14584638, 15971087, 51340543, 8861009,
  6178. 26556809, 27979875, 48555541, 22197296
  6179. #endif
  6180. }},
  6181. {{
  6182. #if defined(BORINGSSL_CURVE25519_64BIT)
  6183. 958592545673770, 233048016518599, 851568750216589,
  6184. 567703851596087, 1740300006094761
  6185. #else
  6186. 2839082, 14284142, 4029895, 3472686, 14402957, 12689363,
  6187. 40466743, 8459446, 61503401, 25932490
  6188. #endif
  6189. }},
  6190. },
  6191. {
  6192. {{
  6193. #if defined(BORINGSSL_CURVE25519_64BIT)
  6194. 2014540178270324, 192672779514432, 213877182641530,
  6195. 2194819933853411, 1716422829364835
  6196. #else
  6197. 62269556, 30018987, 9744960, 2871048, 25113978, 3187018,
  6198. 41998051, 32705365, 17258083, 25576693
  6199. #endif
  6200. }},
  6201. {{
  6202. #if defined(BORINGSSL_CURVE25519_64BIT)
  6203. 1540769606609725, 2148289943846077, 1597804156127445,
  6204. 1230603716683868, 815423458809453
  6205. #else
  6206. 18164541, 22959256, 49953981, 32012014, 19237077, 23809137,
  6207. 23357532, 18337424, 26908269, 12150756
  6208. #endif
  6209. }},
  6210. {{
  6211. #if defined(BORINGSSL_CURVE25519_64BIT)
  6212. 1738560251245018, 1779576754536888, 1783765347671392,
  6213. 1880170990446751, 1088225159617541
  6214. #else
  6215. 36843994, 25906566, 5112248, 26517760, 65609056, 26580174,
  6216. 43167, 28016731, 34806789, 16215818
  6217. #endif
  6218. }},
  6219. },
  6220. },
  6221. {
  6222. {
  6223. {{
  6224. #if defined(BORINGSSL_CURVE25519_64BIT)
  6225. 659303913929492, 1956447718227573, 1830568515922666,
  6226. 841069049744408, 1669607124206368
  6227. #else
  6228. 60209940, 9824393, 54804085, 29153342, 35711722, 27277596,
  6229. 32574488, 12532905, 59605792, 24879084
  6230. #endif
  6231. }},
  6232. {{
  6233. #if defined(BORINGSSL_CURVE25519_64BIT)
  6234. 1143465490433355, 1532194726196059, 1093276745494697,
  6235. 481041706116088, 2121405433561163
  6236. #else
  6237. 39765323, 17038963, 39957339, 22831480, 946345, 16291093,
  6238. 254968, 7168080, 21676107, 31611404
  6239. #endif
  6240. }},
  6241. {{
  6242. #if defined(BORINGSSL_CURVE25519_64BIT)
  6243. 1686424298744462, 1451806974487153, 266296068846582,
  6244. 1834686947542675, 1720762336132256
  6245. #else
  6246. 21260942, 25129680, 50276977, 21633609, 43430902, 3968120,
  6247. 63456915, 27338965, 63552672, 25641356
  6248. #endif
  6249. }},
  6250. },
  6251. {
  6252. {{
  6253. #if defined(BORINGSSL_CURVE25519_64BIT)
  6254. 889217026388959, 1043290623284660, 856125087551909,
  6255. 1669272323124636, 1603340330827879
  6256. #else
  6257. 16544735, 13250366, 50304436, 15546241, 62525861, 12757257,
  6258. 64646556, 24874095, 48201831, 23891632
  6259. #endif
  6260. }},
  6261. {{
  6262. #if defined(BORINGSSL_CURVE25519_64BIT)
  6263. 1206396181488998, 333158148435054, 1402633492821422,
  6264. 1120091191722026, 1945474114550509
  6265. #else
  6266. 64693606, 17976703, 18312302, 4964443, 51836334, 20900867,
  6267. 26820650, 16690659, 25459437, 28989823
  6268. #endif
  6269. }},
  6270. {{
  6271. #if defined(BORINGSSL_CURVE25519_64BIT)
  6272. 766720088232571, 1512222781191002, 1189719893490790,
  6273. 2091302129467914, 2141418006894941
  6274. #else
  6275. 41964155, 11425019, 28423002, 22533875, 60963942, 17728207,
  6276. 9142794, 31162830, 60676445, 31909614
  6277. #endif
  6278. }},
  6279. },
  6280. {
  6281. {{
  6282. #if defined(BORINGSSL_CURVE25519_64BIT)
  6283. 419663647306612, 1998875112167987, 1426599870253707,
  6284. 1154928355379510, 486538532138187
  6285. #else
  6286. 44004212, 6253475, 16964147, 29785560, 41994891, 21257994,
  6287. 39651638, 17209773, 6335691, 7249989
  6288. #endif
  6289. }},
  6290. {{
  6291. #if defined(BORINGSSL_CURVE25519_64BIT)
  6292. 938160078005954, 1421776319053174, 1941643234741774,
  6293. 180002183320818, 1414380336750546
  6294. #else
  6295. 36775618, 13979674, 7503222, 21186118, 55152142, 28932738,
  6296. 36836594, 2682241, 25993170, 21075909
  6297. #endif
  6298. }},
  6299. {{
  6300. #if defined(BORINGSSL_CURVE25519_64BIT)
  6301. 398001940109652, 1577721237663248, 1012748649830402,
  6302. 1540516006905144, 1011684812884559
  6303. #else
  6304. 4364628, 5930691, 32304656, 23509878, 59054082, 15091130,
  6305. 22857016, 22955477, 31820367, 15075278
  6306. #endif
  6307. }},
  6308. },
  6309. {
  6310. {{
  6311. #if defined(BORINGSSL_CURVE25519_64BIT)
  6312. 1653276489969630, 6081825167624, 1921777941170836,
  6313. 1604139841794531, 861211053640641
  6314. #else
  6315. 31879134, 24635739, 17258760, 90626, 59067028, 28636722,
  6316. 24162787, 23903546, 49138625, 12833044
  6317. #endif
  6318. }},
  6319. {{
  6320. #if defined(BORINGSSL_CURVE25519_64BIT)
  6321. 996661541407379, 1455877387952927, 744312806857277,
  6322. 139213896196746, 1000282908547789
  6323. #else
  6324. 19073683, 14851414, 42705695, 21694263, 7625277, 11091125,
  6325. 47489674, 2074448, 57694925, 14905376
  6326. #endif
  6327. }},
  6328. {{
  6329. #if defined(BORINGSSL_CURVE25519_64BIT)
  6330. 1450817495603008, 1476865707053229, 1030490562252053,
  6331. 620966950353376, 1744760161539058
  6332. #else
  6333. 24483648, 21618865, 64589997, 22007013, 65555733, 15355505,
  6334. 41826784, 9253128, 27628530, 25998952
  6335. #endif
  6336. }},
  6337. },
  6338. {
  6339. {{
  6340. #if defined(BORINGSSL_CURVE25519_64BIT)
  6341. 559728410002599, 37056661641185, 2038622963352006,
  6342. 1637244893271723, 1026565352238948
  6343. #else
  6344. 17597607, 8340603, 19355617, 552187, 26198470, 30377849,
  6345. 4593323, 24396850, 52997988, 15297015
  6346. #endif
  6347. }},
  6348. {{
  6349. #if defined(BORINGSSL_CURVE25519_64BIT)
  6350. 962165956135846, 1116599660248791, 182090178006815,
  6351. 1455605467021751, 196053588803284
  6352. #else
  6353. 510886, 14337390, 35323607, 16638631, 6328095, 2713355,
  6354. 46891447, 21690211, 8683220, 2921426
  6355. #endif
  6356. }},
  6357. {{
  6358. #if defined(BORINGSSL_CURVE25519_64BIT)
  6359. 796863823080135, 1897365583584155, 420466939481601,
  6360. 2165972651724672, 932177357788289
  6361. #else
  6362. 18606791, 11874196, 27155355, 28272950, 43077121, 6265445,
  6363. 41930624, 32275507, 4674689, 13890525
  6364. #endif
  6365. }},
  6366. },
  6367. {
  6368. {{
  6369. #if defined(BORINGSSL_CURVE25519_64BIT)
  6370. 877047233620632, 1375632631944375, 643773611882121,
  6371. 660022738847877, 19353932331831
  6372. #else
  6373. 13609624, 13069022, 39736503, 20498523, 24360585, 9592974,
  6374. 14977157, 9835105, 4389687, 288396
  6375. #endif
  6376. }},
  6377. {{
  6378. #if defined(BORINGSSL_CURVE25519_64BIT)
  6379. 2216943882299338, 394841323190322, 2222656898319671,
  6380. 558186553950529, 1077236877025190
  6381. #else
  6382. 9922506, 33035038, 13613106, 5883594, 48350519, 33120168,
  6383. 54804801, 8317627, 23388070, 16052080
  6384. #endif
  6385. }},
  6386. {{
  6387. #if defined(BORINGSSL_CURVE25519_64BIT)
  6388. 801118384953213, 1914330175515892, 574541023311511,
  6389. 1471123787903705, 1526158900256288
  6390. #else
  6391. 12719997, 11937594, 35138804, 28525742, 26900119, 8561328,
  6392. 46953177, 21921452, 52354592, 22741539
  6393. #endif
  6394. }},
  6395. },
  6396. {
  6397. {{
  6398. #if defined(BORINGSSL_CURVE25519_64BIT)
  6399. 949617889087234, 2207116611267331, 912920039141287,
  6400. 501158539198789, 62362560771472
  6401. #else
  6402. 15961858, 14150409, 26716931, 32888600, 44314535, 13603568,
  6403. 11829573, 7467844, 38286736, 929274
  6404. #endif
  6405. }},
  6406. {{
  6407. #if defined(BORINGSSL_CURVE25519_64BIT)
  6408. 1474518386765335, 1760793622169197, 1157399790472736,
  6409. 1622864308058898, 165428294422792
  6410. #else
  6411. 11038231, 21972036, 39798381, 26237869, 56610336, 17246600,
  6412. 43629330, 24182562, 45715720, 2465073
  6413. #endif
  6414. }},
  6415. {{
  6416. #if defined(BORINGSSL_CURVE25519_64BIT)
  6417. 1961673048027128, 102619413083113, 1051982726768458,
  6418. 1603657989805485, 1941613251499678
  6419. #else
  6420. 20017144, 29231206, 27915241, 1529148, 12396362, 15675764,
  6421. 13817261, 23896366, 2463390, 28932292
  6422. #endif
  6423. }},
  6424. },
  6425. {
  6426. {{
  6427. #if defined(BORINGSSL_CURVE25519_64BIT)
  6428. 1401939116319266, 335306339903072, 72046196085786,
  6429. 862423201496006, 850518754531384
  6430. #else
  6431. 50749986, 20890520, 55043680, 4996453, 65852442, 1073571,
  6432. 9583558, 12851107, 4003896, 12673717
  6433. #endif
  6434. }},
  6435. {{
  6436. #if defined(BORINGSSL_CURVE25519_64BIT)
  6437. 1234706593321979, 1083343891215917, 898273974314935,
  6438. 1640859118399498, 157578398571149
  6439. #else
  6440. 65377275, 18398561, 63845933, 16143081, 19294135, 13385325,
  6441. 14741514, 24450706, 7903885, 2348101
  6442. #endif
  6443. }},
  6444. {{
  6445. #if defined(BORINGSSL_CURVE25519_64BIT)
  6446. 1143483057726416, 1992614991758919, 674268662140796,
  6447. 1773370048077526, 674318359920189
  6448. #else
  6449. 24536016, 17039225, 12715591, 29692277, 1511292, 10047386,
  6450. 63266518, 26425272, 38731325, 10048126
  6451. #endif
  6452. }},
  6453. },
  6454. },
  6455. {
  6456. {
  6457. {{
  6458. #if defined(BORINGSSL_CURVE25519_64BIT)
  6459. 1835401379538542, 173900035308392, 818247630716732,
  6460. 1762100412152786, 1021506399448291
  6461. #else
  6462. 54486638, 27349611, 30718824, 2591312, 56491836, 12192839,
  6463. 18873298, 26257342, 34811107, 15221631
  6464. #endif
  6465. }},
  6466. {{
  6467. #if defined(BORINGSSL_CURVE25519_64BIT)
  6468. 1506632088156630, 2127481795522179, 513812919490255,
  6469. 140643715928370, 442476620300318
  6470. #else
  6471. 40630742, 22450567, 11546243, 31701949, 9180879, 7656409,
  6472. 45764914, 2095754, 29769758, 6593415
  6473. #endif
  6474. }},
  6475. {{
  6476. #if defined(BORINGSSL_CURVE25519_64BIT)
  6477. 2056683376856736, 219094741662735, 2193541883188309,
  6478. 1841182310235800, 556477468664293
  6479. #else
  6480. 35114656, 30646970, 4176911, 3264766, 12538965, 32686321,
  6481. 26312344, 27435754, 30958053, 8292160
  6482. #endif
  6483. }},
  6484. },
  6485. {
  6486. {{
  6487. #if defined(BORINGSSL_CURVE25519_64BIT)
  6488. 1315019427910827, 1049075855992603, 2066573052986543,
  6489. 266904467185534, 2040482348591520
  6490. #else
  6491. 31429803, 19595316, 29173531, 15632448, 12174511, 30794338,
  6492. 32808830, 3977186, 26143136, 30405556
  6493. #endif
  6494. }},
  6495. {{
  6496. #if defined(BORINGSSL_CURVE25519_64BIT)
  6497. 94096246544434, 922482381166992, 24517828745563,
  6498. 2139430508542503, 2097139044231004
  6499. #else
  6500. 22648882, 1402143, 44308880, 13746058, 7936347, 365344,
  6501. 58440231, 31879998, 63350620, 31249806
  6502. #endif
  6503. }},
  6504. {{
  6505. #if defined(BORINGSSL_CURVE25519_64BIT)
  6506. 537697207950515, 1399352016347350, 1563663552106345,
  6507. 2148749520888918, 549922092988516
  6508. #else
  6509. 51616947, 8012312, 64594134, 20851969, 43143017, 23300402,
  6510. 65496150, 32018862, 50444388, 8194477
  6511. #endif
  6512. }},
  6513. },
  6514. {
  6515. {{
  6516. #if defined(BORINGSSL_CURVE25519_64BIT)
  6517. 1747985413252434, 680511052635695, 1809559829982725,
  6518. 594274250930054, 201673170745982
  6519. #else
  6520. 27338066, 26047012, 59694639, 10140404, 48082437, 26964542,
  6521. 27277190, 8855376, 28572286, 3005164
  6522. #endif
  6523. }},
  6524. {{
  6525. #if defined(BORINGSSL_CURVE25519_64BIT)
  6526. 323583936109569, 1973572998577657, 1192219029966558,
  6527. 79354804385273, 1374043025560347
  6528. #else
  6529. 26287105, 4821776, 25476601, 29408529, 63344350, 17765447,
  6530. 49100281, 1182478, 41014043, 20474836
  6531. #endif
  6532. }},
  6533. {{
  6534. #if defined(BORINGSSL_CURVE25519_64BIT)
  6535. 213277331329947, 416202017849623, 1950535221091783,
  6536. 1313441578103244, 2171386783823658
  6537. #else
  6538. 59937691, 3178079, 23970071, 6201893, 49913287, 29065239,
  6539. 45232588, 19571804, 32208682, 32356184
  6540. #endif
  6541. }},
  6542. },
  6543. {
  6544. {{
  6545. #if defined(BORINGSSL_CURVE25519_64BIT)
  6546. 189088804229831, 993969372859110, 895870121536987,
  6547. 1547301535298256, 1477373024911350
  6548. #else
  6549. 50451143, 2817642, 56822502, 14811297, 6024667, 13349505,
  6550. 39793360, 23056589, 39436278, 22014573
  6551. #endif
  6552. }},
  6553. {{
  6554. #if defined(BORINGSSL_CURVE25519_64BIT)
  6555. 1620578418245010, 541035331188469, 2235785724453865,
  6556. 2154865809088198, 1974627268751826
  6557. #else
  6558. 15941010, 24148500, 45741813, 8062054, 31876073, 33315803,
  6559. 51830470, 32110002, 15397330, 29424239
  6560. #endif
  6561. }},
  6562. {{
  6563. #if defined(BORINGSSL_CURVE25519_64BIT)
  6564. 1346805451740245, 1350981335690626, 942744349501813,
  6565. 2155094562545502, 1012483751693409
  6566. #else
  6567. 8934485, 20068965, 43822466, 20131190, 34662773, 14047985,
  6568. 31170398, 32113411, 39603297, 15087183
  6569. #endif
  6570. }},
  6571. },
  6572. {
  6573. {{
  6574. #if defined(BORINGSSL_CURVE25519_64BIT)
  6575. 2107080134091762, 1132567062788208, 1824935377687210,
  6576. 769194804343737, 1857941799971888
  6577. #else
  6578. 48751602, 31397940, 24524912, 16876564, 15520426, 27193656,
  6579. 51606457, 11461895, 16788528, 27685490
  6580. #endif
  6581. }},
  6582. {{
  6583. #if defined(BORINGSSL_CURVE25519_64BIT)
  6584. 1074666112436467, 249279386739593, 1174337926625354,
  6585. 1559013532006480, 1472287775519121
  6586. #else
  6587. 65161459, 16013772, 21750665, 3714552, 49707082, 17498998,
  6588. 63338576, 23231111, 31322513, 21938797
  6589. #endif
  6590. }},
  6591. {{
  6592. #if defined(BORINGSSL_CURVE25519_64BIT)
  6593. 1872620123779532, 1892932666768992, 1921559078394978,
  6594. 1270573311796160, 1438913646755037
  6595. #else
  6596. 21426636, 27904214, 53460576, 28206894, 38296674, 28633461,
  6597. 48833472, 18933017, 13040861, 21441484
  6598. #endif
  6599. }},
  6600. },
  6601. {
  6602. {{
  6603. #if defined(BORINGSSL_CURVE25519_64BIT)
  6604. 837390187648199, 1012253300223599, 989780015893987,
  6605. 1351393287739814, 328627746545550
  6606. #else
  6607. 11293895, 12478086, 39972463, 15083749, 37801443, 14748871,
  6608. 14555558, 20137329, 1613710, 4896935
  6609. #endif
  6610. }},
  6611. {{
  6612. #if defined(BORINGSSL_CURVE25519_64BIT)
  6613. 1028328827183114, 1711043289969857, 1350832470374933,
  6614. 1923164689604327, 1495656368846911
  6615. #else
  6616. 41213962, 15323293, 58619073, 25496531, 25967125, 20128972,
  6617. 2825959, 28657387, 43137087, 22287016
  6618. #endif
  6619. }},
  6620. {{
  6621. #if defined(BORINGSSL_CURVE25519_64BIT)
  6622. 1900828492104143, 430212361082163, 687437570852799,
  6623. 832514536673512, 1685641495940794
  6624. #else
  6625. 51184079, 28324551, 49665331, 6410663, 3622847, 10243618,
  6626. 20615400, 12405433, 43355834, 25118015
  6627. #endif
  6628. }},
  6629. },
  6630. {
  6631. {{
  6632. #if defined(BORINGSSL_CURVE25519_64BIT)
  6633. 842632847936398, 605670026766216, 290836444839585,
  6634. 163210774892356, 2213815011799645
  6635. #else
  6636. 60017550, 12556207, 46917512, 9025186, 50036385, 4333800,
  6637. 4378436, 2432030, 23097949, 32988414
  6638. #endif
  6639. }},
  6640. {{
  6641. #if defined(BORINGSSL_CURVE25519_64BIT)
  6642. 1176336383453996, 1725477294339771, 12700622672454,
  6643. 678015708818208, 162724078519879
  6644. #else
  6645. 4565804, 17528778, 20084411, 25711615, 1724998, 189254,
  6646. 24767264, 10103221, 48596551, 2424777
  6647. #endif
  6648. }},
  6649. {{
  6650. #if defined(BORINGSSL_CURVE25519_64BIT)
  6651. 1448049969043497, 1789411762943521, 385587766217753,
  6652. 90201620913498, 832999441066823
  6653. #else
  6654. 366633, 21577626, 8173089, 26664313, 30788633, 5745705,
  6655. 59940186, 1344108, 63466311, 12412658
  6656. #endif
  6657. }},
  6658. },
  6659. {
  6660. {{
  6661. #if defined(BORINGSSL_CURVE25519_64BIT)
  6662. 516086333293313, 2240508292484616, 1351669528166508,
  6663. 1223255565316488, 750235824427138
  6664. #else
  6665. 43107073, 7690285, 14929416, 33386175, 34898028, 20141445,
  6666. 24162696, 18227928, 63967362, 11179384
  6667. #endif
  6668. }},
  6669. {{
  6670. #if defined(BORINGSSL_CURVE25519_64BIT)
  6671. 1263624896582495, 1102602401673328, 526302183714372,
  6672. 2152015839128799, 1483839308490010
  6673. #else
  6674. 18289503, 18829478, 8056944, 16430056, 45379140, 7842513,
  6675. 61107423, 32067534, 48424218, 22110928
  6676. #endif
  6677. }},
  6678. {{
  6679. #if defined(BORINGSSL_CURVE25519_64BIT)
  6680. 442991718646863, 1599275157036458, 1925389027579192,
  6681. 899514691371390, 350263251085160
  6682. #else
  6683. 476239, 6601091, 60956074, 23831056, 17503544, 28690532,
  6684. 27672958, 13403813, 11052904, 5219329
  6685. #endif
  6686. }},
  6687. },
  6688. },
  6689. {
  6690. {
  6691. {{
  6692. #if defined(BORINGSSL_CURVE25519_64BIT)
  6693. 1689713572022143, 593854559254373, 978095044791970,
  6694. 1985127338729499, 1676069120347625
  6695. #else
  6696. 20678527, 25178694, 34436965, 8849122, 62099106, 14574751,
  6697. 31186971, 29580702, 9014761, 24975376
  6698. #endif
  6699. }},
  6700. {{
  6701. #if defined(BORINGSSL_CURVE25519_64BIT)
  6702. 1557207018622683, 340631692799603, 1477725909476187,
  6703. 614735951619419, 2033237123746766
  6704. #else
  6705. 53464795, 23204192, 51146355, 5075807, 65594203, 22019831,
  6706. 34006363, 9160279, 8473550, 30297594
  6707. #endif
  6708. }},
  6709. {{
  6710. #if defined(BORINGSSL_CURVE25519_64BIT)
  6711. 968764929340557, 1225534776710944, 662967304013036,
  6712. 1155521416178595, 791142883466590
  6713. #else
  6714. 24900749, 14435722, 17209120, 18261891, 44516588, 9878982,
  6715. 59419555, 17218610, 42540382, 11788947
  6716. #endif
  6717. }},
  6718. },
  6719. {
  6720. {{
  6721. #if defined(BORINGSSL_CURVE25519_64BIT)
  6722. 1487081286167458, 993039441814934, 1792378982844640,
  6723. 698652444999874, 2153908693179754
  6724. #else
  6725. 63990690, 22159237, 53306774, 14797440, 9652448, 26708528,
  6726. 47071426, 10410732, 42540394, 32095740
  6727. #endif
  6728. }},
  6729. {{
  6730. #if defined(BORINGSSL_CURVE25519_64BIT)
  6731. 1123181311102823, 685575944875442, 507605465509927,
  6732. 1412590462117473, 568017325228626
  6733. #else
  6734. 51449703, 16736705, 44641714, 10215877, 58011687, 7563910,
  6735. 11871841, 21049238, 48595538, 8464117
  6736. #endif
  6737. }},
  6738. {{
  6739. #if defined(BORINGSSL_CURVE25519_64BIT)
  6740. 560258797465417, 2193971151466401, 1824086900849026,
  6741. 579056363542056, 1690063960036441
  6742. #else
  6743. 43708233, 8348506, 52522913, 32692717, 63158658, 27181012,
  6744. 14325288, 8628612, 33313881, 25183915
  6745. #endif
  6746. }},
  6747. },
  6748. {
  6749. {{
  6750. #if defined(BORINGSSL_CURVE25519_64BIT)
  6751. 1918407319222416, 353767553059963, 1930426334528099,
  6752. 1564816146005724, 1861342381708096
  6753. #else
  6754. 46921872, 28586496, 22367355, 5271547, 66011747, 28765593,
  6755. 42303196, 23317577, 58168128, 27736162
  6756. #endif
  6757. }},
  6758. {{
  6759. #if defined(BORINGSSL_CURVE25519_64BIT)
  6760. 2131325168777276, 1176636658428908, 1756922641512981,
  6761. 1390243617176012, 1966325177038383
  6762. #else
  6763. 60160060, 31759219, 34483180, 17533252, 32635413, 26180187,
  6764. 15989196, 20716244, 28358191, 29300528
  6765. #endif
  6766. }},
  6767. {{
  6768. #if defined(BORINGSSL_CURVE25519_64BIT)
  6769. 2063958120364491, 2140267332393533, 699896251574968,
  6770. 273268351312140, 375580724713232
  6771. #else
  6772. 43547083, 30755372, 34757181, 31892468, 57961144, 10429266,
  6773. 50471180, 4072015, 61757200, 5596588
  6774. #endif
  6775. }},
  6776. },
  6777. {
  6778. {{
  6779. #if defined(BORINGSSL_CURVE25519_64BIT)
  6780. 2024297515263178, 416959329722687, 1079014235017302,
  6781. 171612225573183, 1031677520051053
  6782. #else
  6783. 38872266, 30164383, 12312895, 6213178, 3117142, 16078565,
  6784. 29266239, 2557221, 1768301, 15373193
  6785. #endif
  6786. }},
  6787. {{
  6788. #if defined(BORINGSSL_CURVE25519_64BIT)
  6789. 2033900009388450, 1744902869870788, 2190580087917640,
  6790. 1949474984254121, 231049754293748
  6791. #else
  6792. 59865506, 30307471, 62515396, 26001078, 66980936, 32642186,
  6793. 66017961, 29049440, 42448372, 3442909
  6794. #endif
  6795. }},
  6796. {{
  6797. #if defined(BORINGSSL_CURVE25519_64BIT)
  6798. 343868674606581, 550155864008088, 1450580864229630,
  6799. 481603765195050, 896972360018042
  6800. #else
  6801. 36898293, 5124042, 14181784, 8197961, 18964734, 21615339,
  6802. 22597930, 7176455, 48523386, 13365929
  6803. #endif
  6804. }},
  6805. },
  6806. {
  6807. {{
  6808. #if defined(BORINGSSL_CURVE25519_64BIT)
  6809. 2151139328380127, 314745882084928, 59756825775204,
  6810. 1676664391494651, 2048348075599360
  6811. #else
  6812. 59231455, 32054473, 8324672, 4690079, 6261860, 890446, 24538107,
  6813. 24984246, 57419264, 30522764
  6814. #endif
  6815. }},
  6816. {{
  6817. #if defined(BORINGSSL_CURVE25519_64BIT)
  6818. 1528930066340597, 1605003907059576, 1055061081337675,
  6819. 1458319101947665, 1234195845213142
  6820. #else
  6821. 25008885, 22782833, 62803832, 23916421, 16265035, 15721635,
  6822. 683793, 21730648, 15723478, 18390951
  6823. #endif
  6824. }},
  6825. {{
  6826. #if defined(BORINGSSL_CURVE25519_64BIT)
  6827. 830430507734812, 1780282976102377, 1425386760709037,
  6828. 362399353095425, 2168861579799910
  6829. #else
  6830. 57448220, 12374378, 40101865, 26528283, 59384749, 21239917,
  6831. 11879681, 5400171, 519526, 32318556
  6832. #endif
  6833. }},
  6834. },
  6835. {
  6836. {{
  6837. #if defined(BORINGSSL_CURVE25519_64BIT)
  6838. 1155762232730333, 980662895504006, 2053766700883521,
  6839. 490966214077606, 510405877041357
  6840. #else
  6841. 22258397, 17222199, 59239046, 14613015, 44588609, 30603508,
  6842. 46754982, 7315966, 16648397, 7605640
  6843. #endif
  6844. }},
  6845. {{
  6846. #if defined(BORINGSSL_CURVE25519_64BIT)
  6847. 1683750316716132, 652278688286128, 1221798761193539,
  6848. 1897360681476669, 319658166027343
  6849. #else
  6850. 59027556, 25089834, 58885552, 9719709, 19259459, 18206220,
  6851. 23994941, 28272877, 57640015, 4763277
  6852. #endif
  6853. }},
  6854. {{
  6855. #if defined(BORINGSSL_CURVE25519_64BIT)
  6856. 618808732869972, 72755186759744, 2060379135624181,
  6857. 1730731526741822, 48862757828238
  6858. #else
  6859. 45409620, 9220968, 51378240, 1084136, 41632757, 30702041,
  6860. 31088446, 25789909, 55752334, 728111
  6861. #endif
  6862. }},
  6863. },
  6864. {
  6865. {{
  6866. #if defined(BORINGSSL_CURVE25519_64BIT)
  6867. 1463171970593505, 1143040711767452, 614590986558883,
  6868. 1409210575145591, 1882816996436803
  6869. #else
  6870. 26047201, 21802961, 60208540, 17032633, 24092067, 9158119,
  6871. 62835319, 20998873, 37743427, 28056159
  6872. #endif
  6873. }},
  6874. {{
  6875. #if defined(BORINGSSL_CURVE25519_64BIT)
  6876. 2230133264691131, 563950955091024, 2042915975426398,
  6877. 827314356293472, 672028980152815
  6878. #else
  6879. 17510331, 33231575, 5854288, 8403524, 17133918, 30441820,
  6880. 38997856, 12327944, 10750447, 10014012
  6881. #endif
  6882. }},
  6883. {{
  6884. #if defined(BORINGSSL_CURVE25519_64BIT)
  6885. 264204366029760, 1654686424479449, 2185050199932931,
  6886. 2207056159091748, 506015669043634
  6887. #else
  6888. 56796096, 3936951, 9156313, 24656749, 16498691, 32559785,
  6889. 39627812, 32887699, 3424690, 7540221
  6890. #endif
  6891. }},
  6892. },
  6893. {
  6894. {{
  6895. #if defined(BORINGSSL_CURVE25519_64BIT)
  6896. 1784446333136569, 1973746527984364, 334856327359575,
  6897. 1156769775884610, 1023950124675478
  6898. #else
  6899. 30322361, 26590322, 11361004, 29411115, 7433303, 4989748,
  6900. 60037442, 17237212, 57864598, 15258045
  6901. #endif
  6902. }},
  6903. {{
  6904. #if defined(BORINGSSL_CURVE25519_64BIT)
  6905. 2065270940578383, 31477096270353, 306421879113491,
  6906. 181958643936686, 1907105536686083
  6907. #else
  6908. 13054543, 30774935, 19155473, 469045, 54626067, 4566041,
  6909. 5631406, 2711395, 1062915, 28418087
  6910. #endif
  6911. }},
  6912. {{
  6913. #if defined(BORINGSSL_CURVE25519_64BIT)
  6914. 1496516440779464, 1748485652986458, 872778352227340,
  6915. 818358834654919, 97932669284220
  6916. #else
  6917. 47868616, 22299832, 37599834, 26054466, 61273100, 13005410,
  6918. 61042375, 12194496, 32960380, 1459310
  6919. #endif
  6920. }},
  6921. },
  6922. },
  6923. {
  6924. {
  6925. {{
  6926. #if defined(BORINGSSL_CURVE25519_64BIT)
  6927. 471636015770351, 672455402793577, 1804995246884103,
  6928. 1842309243470804, 1501862504981682
  6929. #else
  6930. 19852015, 7027924, 23669353, 10020366, 8586503, 26896525,
  6931. 394196, 27452547, 18638002, 22379495
  6932. #endif
  6933. }},
  6934. {{
  6935. #if defined(BORINGSSL_CURVE25519_64BIT)
  6936. 1013216974933691, 538921919682598, 1915776722521558,
  6937. 1742822441583877, 1886550687916656
  6938. #else
  6939. 31395515, 15098109, 26581030, 8030562, 50580950, 28547297,
  6940. 9012485, 25970078, 60465776, 28111795
  6941. #endif
  6942. }},
  6943. {{
  6944. #if defined(BORINGSSL_CURVE25519_64BIT)
  6945. 2094270000643336, 303971879192276, 40801275554748,
  6946. 649448917027930, 1818544418535447
  6947. #else
  6948. 57916680, 31207054, 65111764, 4529533, 25766844, 607986,
  6949. 67095642, 9677542, 34813975, 27098423
  6950. #endif
  6951. }},
  6952. },
  6953. {
  6954. {{
  6955. #if defined(BORINGSSL_CURVE25519_64BIT)
  6956. 2241737709499165, 549397817447461, 838180519319392,
  6957. 1725686958520781, 1705639080897747
  6958. #else
  6959. 64664349, 33404494, 29348901, 8186665, 1873760, 12489863,
  6960. 36174285, 25714739, 59256019, 25416002
  6961. #endif
  6962. }},
  6963. {{
  6964. #if defined(BORINGSSL_CURVE25519_64BIT)
  6965. 1216074541925116, 50120933933509, 1565829004133810,
  6966. 721728156134580, 349206064666188
  6967. #else
  6968. 51872508, 18120922, 7766469, 746860, 26346930, 23332670,
  6969. 39775412, 10754587, 57677388, 5203575
  6970. #endif
  6971. }},
  6972. {{
  6973. #if defined(BORINGSSL_CURVE25519_64BIT)
  6974. 948617110470858, 346222547451945, 1126511960599975,
  6975. 1759386906004538, 493053284802266
  6976. #else
  6977. 31834314, 14135496, 66338857, 5159117, 20917671, 16786336,
  6978. 59640890, 26216907, 31809242, 7347066
  6979. #endif
  6980. }},
  6981. },
  6982. {
  6983. {{
  6984. #if defined(BORINGSSL_CURVE25519_64BIT)
  6985. 1454933046815146, 874696014266362, 1467170975468588,
  6986. 1432316382418897, 2111710746366763
  6987. #else
  6988. 57502122, 21680191, 20414458, 13033986, 13716524, 21862551,
  6989. 19797969, 21343177, 15192875, 31466942
  6990. #endif
  6991. }},
  6992. {{
  6993. #if defined(BORINGSSL_CURVE25519_64BIT)
  6994. 2105387117364450, 1996463405126433, 1303008614294500,
  6995. 851908115948209, 1353742049788635
  6996. #else
  6997. 54445282, 31372712, 1168161, 29749623, 26747876, 19416341,
  6998. 10609329, 12694420, 33473243, 20172328
  6999. #endif
  7000. }},
  7001. {{
  7002. #if defined(BORINGSSL_CURVE25519_64BIT)
  7003. 750300956351719, 1487736556065813, 15158817002104,
  7004. 1511998221598392, 971739901354129
  7005. #else
  7006. 33184999, 11180355, 15832085, 22169002, 65475192, 225883,
  7007. 15089336, 22530529, 60973201, 14480052
  7008. #endif
  7009. }},
  7010. },
  7011. {
  7012. {{
  7013. #if defined(BORINGSSL_CURVE25519_64BIT)
  7014. 1874648163531693, 2124487685930551, 1810030029384882,
  7015. 918400043048335, 586348627300650
  7016. #else
  7017. 31308717, 27934434, 31030839, 31657333, 15674546, 26971549,
  7018. 5496207, 13685227, 27595050, 8737275
  7019. #endif
  7020. }},
  7021. {{
  7022. #if defined(BORINGSSL_CURVE25519_64BIT)
  7023. 1235084464747900, 1166111146432082, 1745394857881591,
  7024. 1405516473883040, 4463504151617
  7025. #else
  7026. 46790012, 18404192, 10933842, 17376410, 8335351, 26008410,
  7027. 36100512, 20943827, 26498113, 66511
  7028. #endif
  7029. }},
  7030. {{
  7031. #if defined(BORINGSSL_CURVE25519_64BIT)
  7032. 1663810156463827, 327797390285791, 1341846161759410,
  7033. 1964121122800605, 1747470312055380
  7034. #else
  7035. 22644435, 24792703, 50437087, 4884561, 64003250, 19995065,
  7036. 30540765, 29267685, 53781076, 26039336
  7037. #endif
  7038. }},
  7039. },
  7040. {
  7041. {{
  7042. #if defined(BORINGSSL_CURVE25519_64BIT)
  7043. 660005247548233, 2071860029952887, 1358748199950107,
  7044. 911703252219107, 1014379923023831
  7045. #else
  7046. 39091017, 9834844, 18617207, 30873120, 63706907, 20246925,
  7047. 8205539, 13585437, 49981399, 15115438
  7048. #endif
  7049. }},
  7050. {{
  7051. #if defined(BORINGSSL_CURVE25519_64BIT)
  7052. 2206641276178231, 1690587809721504, 1600173622825126,
  7053. 2156096097634421, 1106822408548216
  7054. #else
  7055. 23711543, 32881517, 31206560, 25191721, 6164646, 23844445,
  7056. 33572981, 32128335, 8236920, 16492939
  7057. #endif
  7058. }},
  7059. {{
  7060. #if defined(BORINGSSL_CURVE25519_64BIT)
  7061. 1344788193552206, 1949552134239140, 1735915881729557,
  7062. 675891104100469, 1834220014427292
  7063. #else
  7064. 43198286, 20038905, 40809380, 29050590, 25005589, 25867162,
  7065. 19574901, 10071562, 6708380, 27332008
  7066. #endif
  7067. }},
  7068. },
  7069. {
  7070. {{
  7071. #if defined(BORINGSSL_CURVE25519_64BIT)
  7072. 1920949492387964, 158885288387530, 70308263664033,
  7073. 626038464897817, 1468081726101009
  7074. #else
  7075. 2101372, 28624378, 19702730, 2367575, 51681697, 1047674,
  7076. 5301017, 9328700, 29955601, 21876122
  7077. #endif
  7078. }},
  7079. {{
  7080. #if defined(BORINGSSL_CURVE25519_64BIT)
  7081. 622221042073383, 1210146474039168, 1742246422343683,
  7082. 1403839361379025, 417189490895736
  7083. #else
  7084. 3096359, 9271816, 45488000, 18032587, 52260867, 25961494,
  7085. 41216721, 20918836, 57191288, 6216607
  7086. #endif
  7087. }},
  7088. {{
  7089. #if defined(BORINGSSL_CURVE25519_64BIT)
  7090. 22727256592983, 168471543384997, 1324340989803650,
  7091. 1839310709638189, 504999476432775
  7092. #else
  7093. 34493015, 338662, 41913253, 2510421, 37895298, 19734218,
  7094. 24822829, 27407865, 40341383, 7525078
  7095. #endif
  7096. }},
  7097. },
  7098. {
  7099. {{
  7100. #if defined(BORINGSSL_CURVE25519_64BIT)
  7101. 1313240518756327, 1721896294296942, 52263574587266,
  7102. 2065069734239232, 804910473424630
  7103. #else
  7104. 44042215, 19568808, 16133486, 25658254, 63719298, 778787,
  7105. 66198528, 30771936, 47722230, 11994100
  7106. #endif
  7107. }},
  7108. {{
  7109. #if defined(BORINGSSL_CURVE25519_64BIT)
  7110. 1337466662091884, 1287645354669772, 2018019646776184,
  7111. 652181229374245, 898011753211715
  7112. #else
  7113. 21691500, 19929806, 66467532, 19187410, 3285880, 30070836,
  7114. 42044197, 9718257, 59631427, 13381417
  7115. #endif
  7116. }},
  7117. {{
  7118. #if defined(BORINGSSL_CURVE25519_64BIT)
  7119. 1969792547910734, 779969968247557, 2011350094423418,
  7120. 1823964252907487, 1058949448296945
  7121. #else
  7122. 18445390, 29352196, 14979845, 11622458, 65381754, 29971451,
  7123. 23111647, 27179185, 28535281, 15779576
  7124. #endif
  7125. }},
  7126. },
  7127. {
  7128. {{
  7129. #if defined(BORINGSSL_CURVE25519_64BIT)
  7130. 207343737062002, 1118176942430253, 758894594548164,
  7131. 806764629546266, 1157700123092949
  7132. #else
  7133. 30098034, 3089662, 57874477, 16662134, 45801924, 11308410,
  7134. 53040410, 12021729, 9955285, 17251076
  7135. #endif
  7136. }},
  7137. {{
  7138. #if defined(BORINGSSL_CURVE25519_64BIT)
  7139. 1273565321399022, 1638509681964574, 759235866488935,
  7140. 666015124346707, 897983460943405
  7141. #else
  7142. 9734894, 18977602, 59635230, 24415696, 2060391, 11313496,
  7143. 48682835, 9924398, 20194861, 13380996
  7144. #endif
  7145. }},
  7146. {{
  7147. #if defined(BORINGSSL_CURVE25519_64BIT)
  7148. 1717263794012298, 1059601762860786, 1837819172257618,
  7149. 1054130665797229, 680893204263559
  7150. #else
  7151. 40730762, 25589224, 44941042, 15789296, 49053522, 27385639,
  7152. 65123949, 15707770, 26342023, 10146099
  7153. #endif
  7154. }},
  7155. },
  7156. },
  7157. {
  7158. {
  7159. {{
  7160. #if defined(BORINGSSL_CURVE25519_64BIT)
  7161. 2237039662793603, 2249022333361206, 2058613546633703,
  7162. 149454094845279, 2215176649164582
  7163. #else
  7164. 41091971, 33334488, 21339190, 33513044, 19745255, 30675732,
  7165. 37471583, 2227039, 21612326, 33008704
  7166. #endif
  7167. }},
  7168. {{
  7169. #if defined(BORINGSSL_CURVE25519_64BIT)
  7170. 79472182719605, 1851130257050174, 1825744808933107,
  7171. 821667333481068, 781795293511946
  7172. #else
  7173. 54031477, 1184227, 23562814, 27583990, 46757619, 27205717,
  7174. 25764460, 12243797, 46252298, 11649657
  7175. #endif
  7176. }},
  7177. {{
  7178. #if defined(BORINGSSL_CURVE25519_64BIT)
  7179. 755822026485370, 152464789723500, 1178207602290608,
  7180. 410307889503239, 156581253571278
  7181. #else
  7182. 57077370, 11262625, 27384172, 2271902, 26947504, 17556661,
  7183. 39943, 6114064, 33514190, 2333242
  7184. #endif
  7185. }},
  7186. },
  7187. {
  7188. {{
  7189. #if defined(BORINGSSL_CURVE25519_64BIT)
  7190. 1418185496130297, 484520167728613, 1646737281442950,
  7191. 1401487684670265, 1349185550126961
  7192. #else
  7193. 45675257, 21132610, 8119781, 7219913, 45278342, 24538297,
  7194. 60429113, 20883793, 24350577, 20104431
  7195. #endif
  7196. }},
  7197. {{
  7198. #if defined(BORINGSSL_CURVE25519_64BIT)
  7199. 1495380034400429, 325049476417173, 46346894893933,
  7200. 1553408840354856, 828980101835683
  7201. #else
  7202. 62992557, 22282898, 43222677, 4843614, 37020525, 690622,
  7203. 35572776, 23147595, 8317859, 12352766
  7204. #endif
  7205. }},
  7206. {{
  7207. #if defined(BORINGSSL_CURVE25519_64BIT)
  7208. 1280337889310282, 2070832742866672, 1640940617225222,
  7209. 2098284908289951, 450929509534434
  7210. #else
  7211. 18200138, 19078521, 34021104, 30857812, 43406342, 24451920,
  7212. 43556767, 31266881, 20712162, 6719373
  7213. #endif
  7214. }},
  7215. },
  7216. {
  7217. {{
  7218. #if defined(BORINGSSL_CURVE25519_64BIT)
  7219. 407703353998781, 126572141483652, 286039827513621,
  7220. 1999255076709338, 2030511179441770
  7221. #else
  7222. 26656189, 6075253, 59250308, 1886071, 38764821, 4262325,
  7223. 11117530, 29791222, 26224234, 30256974
  7224. #endif
  7225. }},
  7226. {{
  7227. #if defined(BORINGSSL_CURVE25519_64BIT)
  7228. 1254958221100483, 1153235960999843, 942907704968834,
  7229. 637105404087392, 1149293270147267
  7230. #else
  7231. 49939907, 18700334, 63713187, 17184554, 47154818, 14050419,
  7232. 21728352, 9493610, 18620611, 17125804
  7233. #endif
  7234. }},
  7235. {{
  7236. #if defined(BORINGSSL_CURVE25519_64BIT)
  7237. 894249020470196, 400291701616810, 406878712230981,
  7238. 1599128793487393, 1145868722604026
  7239. #else
  7240. 53785524, 13325348, 11432106, 5964811, 18609221, 6062965,
  7241. 61839393, 23828875, 36407290, 17074774
  7242. #endif
  7243. }},
  7244. },
  7245. {
  7246. {{
  7247. #if defined(BORINGSSL_CURVE25519_64BIT)
  7248. 1497955250203334, 110116344653260, 1128535642171976,
  7249. 1900106496009660, 129792717460909
  7250. #else
  7251. 43248326, 22321272, 26961356, 1640861, 34695752, 16816491,
  7252. 12248508, 28313793, 13735341, 1934062
  7253. #endif
  7254. }},
  7255. {{
  7256. #if defined(BORINGSSL_CURVE25519_64BIT)
  7257. 452487513298665, 1352120549024569, 1173495883910956,
  7258. 1999111705922009, 367328130454226
  7259. #else
  7260. 25089769, 6742589, 17081145, 20148166, 21909292, 17486451,
  7261. 51972569, 29789085, 45830866, 5473615
  7262. #endif
  7263. }},
  7264. {{
  7265. #if defined(BORINGSSL_CURVE25519_64BIT)
  7266. 1717539401269642, 1475188995688487, 891921989653942,
  7267. 836824441505699, 1885988485608364
  7268. #else
  7269. 31883658, 25593331, 1083431, 21982029, 22828470, 13290673,
  7270. 59983779, 12469655, 29111212, 28103418
  7271. #endif
  7272. }},
  7273. },
  7274. {
  7275. {{
  7276. #if defined(BORINGSSL_CURVE25519_64BIT)
  7277. 1241784121422547, 187337051947583, 1118481812236193,
  7278. 428747751936362, 30358898927325
  7279. #else
  7280. 24244947, 18504025, 40845887, 2791539, 52111265, 16666677,
  7281. 24367466, 6388839, 56813277, 452382
  7282. #endif
  7283. }},
  7284. {{
  7285. #if defined(BORINGSSL_CURVE25519_64BIT)
  7286. 2022432361201842, 1088816090685051, 1977843398539868,
  7287. 1854834215890724, 564238862029357
  7288. #else
  7289. 41468082, 30136590, 5217915, 16224624, 19987036, 29472163,
  7290. 42872612, 27639183, 15766061, 8407814
  7291. #endif
  7292. }},
  7293. {{
  7294. #if defined(BORINGSSL_CURVE25519_64BIT)
  7295. 938868489100585, 1100285072929025, 1017806255688848,
  7296. 1957262154788833, 152787950560442
  7297. #else
  7298. 46701865, 13990230, 15495425, 16395525, 5377168, 15166495,
  7299. 58191841, 29165478, 59040954, 2276717
  7300. #endif
  7301. }},
  7302. },
  7303. {
  7304. {{
  7305. #if defined(BORINGSSL_CURVE25519_64BIT)
  7306. 867319417678923, 620471962942542, 226032203305716,
  7307. 342001443957629, 1761675818237336
  7308. #else
  7309. 30157899, 12924066, 49396814, 9245752, 19895028, 3368142,
  7310. 43281277, 5096218, 22740376, 26251015
  7311. #endif
  7312. }},
  7313. {{
  7314. #if defined(BORINGSSL_CURVE25519_64BIT)
  7315. 1295072362439987, 931227904689414, 1355731432641687,
  7316. 922235735834035, 892227229410209
  7317. #else
  7318. 2041139, 19298082, 7783686, 13876377, 41161879, 20201972,
  7319. 24051123, 13742383, 51471265, 13295221
  7320. #endif
  7321. }},
  7322. {{
  7323. #if defined(BORINGSSL_CURVE25519_64BIT)
  7324. 1680989767906154, 535362787031440, 2136691276706570,
  7325. 1942228485381244, 1267350086882274
  7326. #else
  7327. 33338218, 25048699, 12532112, 7977527, 9106186, 31839181,
  7328. 49388668, 28941459, 62657506, 18884987
  7329. #endif
  7330. }},
  7331. },
  7332. {
  7333. {{
  7334. #if defined(BORINGSSL_CURVE25519_64BIT)
  7335. 366018233770527, 432660629755596, 126409707644535,
  7336. 1973842949591662, 645627343442376
  7337. #else
  7338. 47063583, 5454096, 52762316, 6447145, 28862071, 1883651,
  7339. 64639598, 29412551, 7770568, 9620597
  7340. #endif
  7341. }},
  7342. {{
  7343. #if defined(BORINGSSL_CURVE25519_64BIT)
  7344. 535509430575217, 546885533737322, 1524675609547799,
  7345. 2138095752851703, 1260738089896827
  7346. #else
  7347. 23208049, 7979712, 33071466, 8149229, 1758231, 22719437,
  7348. 30945527, 31860109, 33606523, 18786461
  7349. #endif
  7350. }},
  7351. {{
  7352. #if defined(BORINGSSL_CURVE25519_64BIT)
  7353. 1159906385590467, 2198530004321610, 714559485023225,
  7354. 81880727882151, 1484020820037082
  7355. #else
  7356. 1439939, 17283952, 66028874, 32760649, 4625401, 10647766,
  7357. 62065063, 1220117, 30494170, 22113633
  7358. #endif
  7359. }},
  7360. },
  7361. {
  7362. {{
  7363. #if defined(BORINGSSL_CURVE25519_64BIT)
  7364. 1377485731340769, 2046328105512000, 1802058637158797,
  7365. 62146136768173, 1356993908853901
  7366. #else
  7367. 62071265, 20526136, 64138304, 30492664, 15640973, 26852766,
  7368. 40369837, 926049, 65424525, 20220784
  7369. #endif
  7370. }},
  7371. {{
  7372. #if defined(BORINGSSL_CURVE25519_64BIT)
  7373. 2013612215646735, 1830770575920375, 536135310219832,
  7374. 609272325580394, 270684344495013
  7375. #else
  7376. 13908495, 30005160, 30919927, 27280607, 45587000, 7989038,
  7377. 9021034, 9078865, 3353509, 4033511
  7378. #endif
  7379. }},
  7380. {{
  7381. #if defined(BORINGSSL_CURVE25519_64BIT)
  7382. 1237542585982777, 2228682050256790, 1385281931622824,
  7383. 593183794882890, 493654978552689
  7384. #else
  7385. 37445433, 18440821, 32259990, 33209950, 24295848, 20642309,
  7386. 23161162, 8839127, 27485041, 7356032
  7387. #endif
  7388. }},
  7389. },
  7390. },
  7391. {
  7392. {
  7393. {{
  7394. #if defined(BORINGSSL_CURVE25519_64BIT)
  7395. 47341488007760, 1891414891220257, 983894663308928,
  7396. 176161768286818, 1126261115179708
  7397. #else
  7398. 9661008, 705443, 11980065, 28184278, 65480320, 14661172,
  7399. 60762722, 2625014, 28431036, 16782598
  7400. #endif
  7401. }},
  7402. {{
  7403. #if defined(BORINGSSL_CURVE25519_64BIT)
  7404. 1694030170963455, 502038567066200, 1691160065225467,
  7405. 949628319562187, 275110186693066
  7406. #else
  7407. 43269631, 25243016, 41163352, 7480957, 49427195, 25200248,
  7408. 44562891, 14150564, 15970762, 4099461
  7409. #endif
  7410. }},
  7411. {{
  7412. #if defined(BORINGSSL_CURVE25519_64BIT)
  7413. 1124515748676336, 1661673816593408, 1499640319059718,
  7414. 1584929449166988, 558148594103306
  7415. #else
  7416. 29262576, 16756590, 26350592, 24760869, 8529670, 22346382,
  7417. 13617292, 23617289, 11465738, 8317062
  7418. #endif
  7419. }},
  7420. },
  7421. {
  7422. {{
  7423. #if defined(BORINGSSL_CURVE25519_64BIT)
  7424. 1784525599998356, 1619698033617383, 2097300287550715,
  7425. 258265458103756, 1905684794832758
  7426. #else
  7427. 41615764, 26591503, 32500199, 24135381, 44070139, 31252209,
  7428. 14898636, 3848455, 20969334, 28396916
  7429. #endif
  7430. }},
  7431. {{
  7432. #if defined(BORINGSSL_CURVE25519_64BIT)
  7433. 1288941072872766, 931787902039402, 190731008859042,
  7434. 2006859954667190, 1005931482221702
  7435. #else
  7436. 46724414, 19206718, 48772458, 13884721, 34069410, 2842113,
  7437. 45498038, 29904543, 11177094, 14989547
  7438. #endif
  7439. }},
  7440. {{
  7441. #if defined(BORINGSSL_CURVE25519_64BIT)
  7442. 1465551264822703, 152905080555927, 680334307368453,
  7443. 173227184634745, 666407097159852
  7444. #else
  7445. 42612143, 21838415, 16959895, 2278463, 12066309, 10137771,
  7446. 13515641, 2581286, 38621356, 9930239
  7447. #endif
  7448. }},
  7449. },
  7450. {
  7451. {{
  7452. #if defined(BORINGSSL_CURVE25519_64BIT)
  7453. 2111017076203943, 1378760485794347, 1248583954016456,
  7454. 1352289194864422, 1895180776543896
  7455. #else
  7456. 49357223, 31456605, 16544299, 20545132, 51194056, 18605350,
  7457. 18345766, 20150679, 16291480, 28240394
  7458. #endif
  7459. }},
  7460. {{
  7461. #if defined(BORINGSSL_CURVE25519_64BIT)
  7462. 171348223915638, 662766099800389, 462338943760497,
  7463. 466917763340314, 656911292869115
  7464. #else
  7465. 33879670, 2553287, 32678213, 9875984, 8534129, 6889387,
  7466. 57432090, 6957616, 4368891, 9788741
  7467. #endif
  7468. }},
  7469. {{
  7470. #if defined(BORINGSSL_CURVE25519_64BIT)
  7471. 488623681976577, 866497561541722, 1708105560937768,
  7472. 1673781214218839, 1506146329818807
  7473. #else
  7474. 16660737, 7281060, 56278106, 12911819, 20108584, 25452756,
  7475. 45386327, 24941283, 16250551, 22443329
  7476. #endif
  7477. }},
  7478. },
  7479. {
  7480. {{
  7481. #if defined(BORINGSSL_CURVE25519_64BIT)
  7482. 160425464456957, 950394373239689, 430497123340934,
  7483. 711676555398832, 320964687779005
  7484. #else
  7485. 47343357, 2390525, 50557833, 14161979, 1905286, 6414907,
  7486. 4689584, 10604807, 36918461, 4782746
  7487. #endif
  7488. }},
  7489. {{
  7490. #if defined(BORINGSSL_CURVE25519_64BIT)
  7491. 988979367990485, 1359729327576302, 1301834257246029,
  7492. 294141160829308, 29348272277475
  7493. #else
  7494. 65754325, 14736940, 59741422, 20261545, 7710541, 19398842,
  7495. 57127292, 4383044, 22546403, 437323
  7496. #endif
  7497. }},
  7498. {{
  7499. #if defined(BORINGSSL_CURVE25519_64BIT)
  7500. 1434382743317910, 100082049942065, 221102347892623,
  7501. 186982837860588, 1305765053501834
  7502. #else
  7503. 31665558, 21373968, 50922033, 1491338, 48740239, 3294681,
  7504. 27343084, 2786261, 36475274, 19457415
  7505. #endif
  7506. }},
  7507. },
  7508. {
  7509. {{
  7510. #if defined(BORINGSSL_CURVE25519_64BIT)
  7511. 2205916462268190, 499863829790820, 961960554686616,
  7512. 158062762756985, 1841471168298305
  7513. #else
  7514. 52641566, 32870716, 33734756, 7448551, 19294360, 14334329,
  7515. 47418233, 2355318, 47824193, 27440058
  7516. #endif
  7517. }},
  7518. {{
  7519. #if defined(BORINGSSL_CURVE25519_64BIT)
  7520. 1191737341426592, 1847042034978363, 1382213545049056,
  7521. 1039952395710448, 788812858896859
  7522. #else
  7523. 15121312, 17758270, 6377019, 27523071, 56310752, 20596586,
  7524. 18952176, 15496498, 37728731, 11754227
  7525. #endif
  7526. }},
  7527. {{
  7528. #if defined(BORINGSSL_CURVE25519_64BIT)
  7529. 1346965964571152, 1291881610839830, 2142916164336056,
  7530. 786821641205979, 1571709146321039
  7531. #else
  7532. 64471568, 20071356, 8488726, 19250536, 12728760, 31931939,
  7533. 7141595, 11724556, 22761615, 23420291
  7534. #endif
  7535. }},
  7536. },
  7537. {
  7538. {{
  7539. #if defined(BORINGSSL_CURVE25519_64BIT)
  7540. 787164375951248, 202869205373189, 1356590421032140,
  7541. 1431233331032510, 786341368775957
  7542. #else
  7543. 16918416, 11729663, 49025285, 3022986, 36093132, 20214772,
  7544. 38367678, 21327038, 32851221, 11717399
  7545. #endif
  7546. }},
  7547. {{
  7548. #if defined(BORINGSSL_CURVE25519_64BIT)
  7549. 492448143532951, 304105152670757, 1761767168301056,
  7550. 233782684697790, 1981295323106089
  7551. #else
  7552. 11166615, 7338049, 60386341, 4531519, 37640192, 26252376,
  7553. 31474878, 3483633, 65915689, 29523600
  7554. #endif
  7555. }},
  7556. {{
  7557. #if defined(BORINGSSL_CURVE25519_64BIT)
  7558. 665807507761866, 1343384868355425, 895831046139653,
  7559. 439338948736892, 1986828765695105
  7560. #else
  7561. 66923210, 9921304, 31456609, 20017994, 55095045, 13348922,
  7562. 33142652, 6546660, 47123585, 29606055
  7563. #endif
  7564. }},
  7565. },
  7566. {
  7567. {{
  7568. #if defined(BORINGSSL_CURVE25519_64BIT)
  7569. 756096210874553, 1721699973539149, 258765301727885,
  7570. 1390588532210645, 1212530909934781
  7571. #else
  7572. 34648249, 11266711, 55911757, 25655328, 31703693, 3855903,
  7573. 58571733, 20721383, 36336829, 18068118
  7574. #endif
  7575. }},
  7576. {{
  7577. #if defined(BORINGSSL_CURVE25519_64BIT)
  7578. 852891097972275, 1816988871354562, 1543772755726524,
  7579. 1174710635522444, 202129090724628
  7580. #else
  7581. 49102387, 12709067, 3991746, 27075244, 45617340, 23004006,
  7582. 35973516, 17504552, 10928916, 3011958
  7583. #endif
  7584. }},
  7585. {{
  7586. #if defined(BORINGSSL_CURVE25519_64BIT)
  7587. 1205281565824323, 22430498399418, 992947814485516,
  7588. 1392458699738672, 688441466734558
  7589. #else
  7590. 60151107, 17960094, 31696058, 334240, 29576716, 14796075,
  7591. 36277808, 20749251, 18008030, 10258577
  7592. #endif
  7593. }},
  7594. },
  7595. {
  7596. {{
  7597. #if defined(BORINGSSL_CURVE25519_64BIT)
  7598. 1050627428414972, 1955849529137135, 2171162376368357,
  7599. 91745868298214, 447733118757826
  7600. #else
  7601. 44660220, 15655568, 7018479, 29144429, 36794597, 32352840,
  7602. 65255398, 1367119, 25127874, 6671743
  7603. #endif
  7604. }},
  7605. {{
  7606. #if defined(BORINGSSL_CURVE25519_64BIT)
  7607. 1287181461435438, 622722465530711, 880952150571872,
  7608. 741035693459198, 311565274989772
  7609. #else
  7610. 29701166, 19180498, 56230743, 9279287, 67091296, 13127209,
  7611. 21382910, 11042292, 25838796, 4642684
  7612. #endif
  7613. }},
  7614. {{
  7615. #if defined(BORINGSSL_CURVE25519_64BIT)
  7616. 1003649078149734, 545233927396469, 1849786171789880,
  7617. 1318943684880434, 280345687170552
  7618. #else
  7619. 46678630, 14955536, 42982517, 8124618, 61739576, 27563961,
  7620. 30468146, 19653792, 18423288, 4177476
  7621. #endif
  7622. }},
  7623. },
  7624. },
  7625. };
  7626. #endif // OPENSSL_SMALL
  7627. // Bi[i] = (2*i+1)*B
  7628. static const ge_precomp Bi[8] = {
  7629. {
  7630. {{
  7631. #if defined(BORINGSSL_CURVE25519_64BIT)
  7632. 1288382639258501, 245678601348599, 269427782077623,
  7633. 1462984067271730, 137412439391563
  7634. #else
  7635. 25967493, 19198397, 29566455, 3660896, 54414519, 4014786, 27544626,
  7636. 21800161, 61029707, 2047604
  7637. #endif
  7638. }},
  7639. {{
  7640. #if defined(BORINGSSL_CURVE25519_64BIT)
  7641. 62697248952638, 204681361388450, 631292143396476, 338455783676468,
  7642. 1213667448819585
  7643. #else
  7644. 54563134, 934261, 64385954, 3049989, 66381436, 9406985, 12720692,
  7645. 5043384, 19500929, 18085054
  7646. #endif
  7647. }},
  7648. {{
  7649. #if defined(BORINGSSL_CURVE25519_64BIT)
  7650. 301289933810280, 1259582250014073, 1422107436869536,
  7651. 796239922652654, 1953934009299142
  7652. #else
  7653. 58370664, 4489569, 9688441, 18769238, 10184608, 21191052, 29287918,
  7654. 11864899, 42594502, 29115885
  7655. #endif
  7656. }},
  7657. },
  7658. {
  7659. {{
  7660. #if defined(BORINGSSL_CURVE25519_64BIT)
  7661. 1601611775252272, 1720807796594148, 1132070835939856,
  7662. 1260455018889551, 2147779492816911
  7663. #else
  7664. 15636272, 23865875, 24204772, 25642034, 616976, 16869170, 27787599,
  7665. 18782243, 28944399, 32004408
  7666. #endif
  7667. }},
  7668. {{
  7669. #if defined(BORINGSSL_CURVE25519_64BIT)
  7670. 316559037616741, 2177824224946892, 1459442586438991,
  7671. 1461528397712656, 751590696113597
  7672. #else
  7673. 16568933, 4717097, 55552716, 32452109, 15682895, 21747389, 16354576,
  7674. 21778470, 7689661, 11199574
  7675. #endif
  7676. }},
  7677. {{
  7678. #if defined(BORINGSSL_CURVE25519_64BIT)
  7679. 1850748884277385, 1200145853858453, 1068094770532492,
  7680. 672251375690438, 1586055907191707
  7681. #else
  7682. 30464137, 27578307, 55329429, 17883566, 23220364, 15915852, 7512774,
  7683. 10017326, 49359771, 23634074
  7684. #endif
  7685. }},
  7686. },
  7687. {
  7688. {{
  7689. #if defined(BORINGSSL_CURVE25519_64BIT)
  7690. 769950342298419, 132954430919746, 844085933195555, 974092374476333,
  7691. 726076285546016
  7692. #else
  7693. 10861363, 11473154, 27284546, 1981175, 37044515, 12577860, 32867885,
  7694. 14515107, 51670560, 10819379
  7695. #endif
  7696. }},
  7697. {{
  7698. #if defined(BORINGSSL_CURVE25519_64BIT)
  7699. 425251763115706, 608463272472562, 442562545713235, 837766094556764,
  7700. 374555092627893
  7701. #else
  7702. 4708026, 6336745, 20377586, 9066809, 55836755, 6594695, 41455196,
  7703. 12483687, 54440373, 5581305
  7704. #endif
  7705. }},
  7706. {{
  7707. #if defined(BORINGSSL_CURVE25519_64BIT)
  7708. 1086255230780037, 274979815921559, 1960002765731872,
  7709. 929474102396301, 1190409889297339
  7710. #else
  7711. 19563141, 16186464, 37722007, 4097518, 10237984, 29206317, 28542349,
  7712. 13850243, 43430843, 17738489
  7713. #endif
  7714. }},
  7715. },
  7716. {
  7717. {{
  7718. #if defined(BORINGSSL_CURVE25519_64BIT)
  7719. 665000864555967, 2065379846933859, 370231110385876, 350988370788628,
  7720. 1233371373142985
  7721. #else
  7722. 5153727, 9909285, 1723747, 30776558, 30523604, 5516873, 19480852,
  7723. 5230134, 43156425, 18378665
  7724. #endif
  7725. }},
  7726. {{
  7727. #if defined(BORINGSSL_CURVE25519_64BIT)
  7728. 2019367628972465, 676711900706637, 110710997811333,
  7729. 1108646842542025, 517791959672113
  7730. #else
  7731. 36839857, 30090922, 7665485, 10083793, 28475525, 1649722, 20654025,
  7732. 16520125, 30598449, 7715701
  7733. #endif
  7734. }},
  7735. {{
  7736. #if defined(BORINGSSL_CURVE25519_64BIT)
  7737. 965130719900578, 247011430587952, 526356006571389, 91986625355052,
  7738. 2157223321444601
  7739. #else
  7740. 28881826, 14381568, 9657904, 3680757, 46927229, 7843315, 35708204,
  7741. 1370707, 29794553, 32145132
  7742. #endif
  7743. }},
  7744. },
  7745. {
  7746. {{
  7747. #if defined(BORINGSSL_CURVE25519_64BIT)
  7748. 1802695059465007, 1664899123557221, 593559490740857,
  7749. 2160434469266659, 927570450755031
  7750. #else
  7751. 44589871, 26862249, 14201701, 24808930, 43598457, 8844725, 18474211,
  7752. 32192982, 54046167, 13821876
  7753. #endif
  7754. }},
  7755. {{
  7756. #if defined(BORINGSSL_CURVE25519_64BIT)
  7757. 1725674970513508, 1933645953859181, 1542344539275782,
  7758. 1767788773573747, 1297447965928905
  7759. #else
  7760. 60653668, 25714560, 3374701, 28813570, 40010246, 22982724, 31655027,
  7761. 26342105, 18853321, 19333481
  7762. #endif
  7763. }},
  7764. {{
  7765. #if defined(BORINGSSL_CURVE25519_64BIT)
  7766. 1381809363726107, 1430341051343062, 2061843536018959,
  7767. 1551778050872521, 2036394857967624
  7768. #else
  7769. 4566811, 20590564, 38133974, 21313742, 59506191, 30723862, 58594505,
  7770. 23123294, 2207752, 30344648
  7771. #endif
  7772. }},
  7773. },
  7774. {
  7775. {{
  7776. #if defined(BORINGSSL_CURVE25519_64BIT)
  7777. 1970894096313054, 528066325833207, 1619374932191227,
  7778. 2207306624415883, 1169170329061080
  7779. #else
  7780. 41954014, 29368610, 29681143, 7868801, 60254203, 24130566, 54671499,
  7781. 32891431, 35997400, 17421995
  7782. #endif
  7783. }},
  7784. {{
  7785. #if defined(BORINGSSL_CURVE25519_64BIT)
  7786. 2070390218572616, 1458919061857835, 624171843017421,
  7787. 1055332792707765, 433987520732508
  7788. #else
  7789. 25576264, 30851218, 7349803, 21739588, 16472781, 9300885, 3844789,
  7790. 15725684, 171356, 6466918
  7791. #endif
  7792. }},
  7793. {{
  7794. #if defined(BORINGSSL_CURVE25519_64BIT)
  7795. 893653801273833, 1168026499324677, 1242553501121234,
  7796. 1306366254304474, 1086752658510815
  7797. #else
  7798. 23103977, 13316479, 9739013, 17404951, 817874, 18515490, 8965338,
  7799. 19466374, 36393951, 16193876
  7800. #endif
  7801. }},
  7802. },
  7803. {
  7804. {{
  7805. #if defined(BORINGSSL_CURVE25519_64BIT)
  7806. 213454002618221, 939771523987438, 1159882208056014, 317388369627517,
  7807. 621213314200687
  7808. #else
  7809. 33587053, 3180712, 64714734, 14003686, 50205390, 17283591, 17238397,
  7810. 4729455, 49034351, 9256799
  7811. #endif
  7812. }},
  7813. {{
  7814. #if defined(BORINGSSL_CURVE25519_64BIT)
  7815. 1971678598905747, 338026507889165, 762398079972271, 655096486107477,
  7816. 42299032696322
  7817. #else
  7818. 41926547, 29380300, 32336397, 5036987, 45872047, 11360616, 22616405,
  7819. 9761698, 47281666, 630304
  7820. #endif
  7821. }},
  7822. {{
  7823. #if defined(BORINGSSL_CURVE25519_64BIT)
  7824. 177130678690680, 1754759263300204, 1864311296286618,
  7825. 1180675631479880, 1292726903152791
  7826. #else
  7827. 53388152, 2639452, 42871404, 26147950, 9494426, 27780403, 60554312,
  7828. 17593437, 64659607, 19263131
  7829. #endif
  7830. }},
  7831. },
  7832. {
  7833. {{
  7834. #if defined(BORINGSSL_CURVE25519_64BIT)
  7835. 1913163449625248, 460779200291993, 2193883288642314,
  7836. 1008900146920800, 1721983679009502
  7837. #else
  7838. 63957664, 28508356, 9282713, 6866145, 35201802, 32691408, 48168288,
  7839. 15033783, 25105118, 25659556
  7840. #endif
  7841. }},
  7842. {{
  7843. #if defined(BORINGSSL_CURVE25519_64BIT)
  7844. 1070401523076875, 1272492007800961, 1910153608563310,
  7845. 2075579521696771, 1191169788841221
  7846. #else
  7847. 42782475, 15950225, 35307649, 18961608, 55446126, 28463506, 1573891,
  7848. 30928545, 2198789, 17749813
  7849. #endif
  7850. }},
  7851. {{
  7852. #if defined(BORINGSSL_CURVE25519_64BIT)
  7853. 692896803108118, 500174642072499, 2068223309439677,
  7854. 1162190621851337, 1426986007309901
  7855. #else
  7856. 64009494, 10324966, 64867251, 7453182, 61661885, 30818928, 53296841,
  7857. 17317989, 34647629, 21263748
  7858. #endif
  7859. }},
  7860. },
  7861. };