ccgo_darwin_arm64.go 359 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201
  1. // Code generated for darwin/arm64 by 'generator --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-macro=m_ --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -extended-errors -ignore-unsupported-alignment -ignore-link-errors -o libmd.go --package-name libmd src/.libs/libmd.a', DO NOT EDIT.
  2. //go:build darwin && arm64
  3. package libmd
  4. import (
  5. "reflect"
  6. "unsafe"
  7. "modernc.org/libc"
  8. )
  9. var _ reflect.Type
  10. var _ unsafe.Pointer
  11. const m_BIG_ENDIAN = "__DARWIN_BIG_ENDIAN"
  12. const m_BYTE_ORDER = "__DARWIN_BYTE_ORDER"
  13. const m_FD_SETSIZE = "__DARWIN_FD_SETSIZE"
  14. const m_HAVE_CONFIG_H = 1
  15. const m_HAVE_DLFCN_H = 1
  16. const m_HAVE_INTTYPES_H = 1
  17. const m_HAVE_STDINT_H = 1
  18. const m_HAVE_STDIO_H = 1
  19. const m_HAVE_STDLIB_H = 1
  20. const m_HAVE_STRINGS_H = 1
  21. const m_HAVE_STRING_H = 1
  22. const m_HAVE_SYS_STAT_H = 1
  23. const m_HAVE_SYS_TYPES_H = 1
  24. const m_HAVE_UNISTD_H = 1
  25. const m_HAVE_WCHAR_H = 1
  26. const m_INTMAX_MAX = "__INTMAX_MAX__"
  27. const m_INTPTR_MAX = "__INTPTR_MAX__"
  28. const m_INT_FAST16_MAX = "__INT_LEAST16_MAX"
  29. const m_INT_FAST16_MIN = "__INT_LEAST16_MIN"
  30. const m_INT_FAST32_MAX = "__INT_LEAST32_MAX"
  31. const m_INT_FAST32_MIN = "__INT_LEAST32_MIN"
  32. const m_INT_FAST64_MAX = "__INT_LEAST64_MAX"
  33. const m_INT_FAST64_MIN = "__INT_LEAST64_MIN"
  34. const m_INT_FAST8_MAX = "__INT_LEAST8_MAX"
  35. const m_INT_FAST8_MIN = "__INT_LEAST8_MIN"
  36. const m_INT_LEAST16_MAX = "__INT_LEAST16_MAX"
  37. const m_INT_LEAST16_MIN = "__INT_LEAST16_MIN"
  38. const m_INT_LEAST32_MAX = "__INT_LEAST32_MAX"
  39. const m_INT_LEAST32_MIN = "__INT_LEAST32_MIN"
  40. const m_INT_LEAST64_MAX = "__INT_LEAST64_MAX"
  41. const m_INT_LEAST64_MIN = "__INT_LEAST64_MIN"
  42. const m_INT_LEAST8_MAX = "__INT_LEAST8_MAX"
  43. const m_INT_LEAST8_MIN = "__INT_LEAST8_MIN"
  44. const m_LITTLE_ENDIAN = "__DARWIN_LITTLE_ENDIAN"
  45. const m_LT_OBJDIR = ".libs/"
  46. const m_MAC_OS_VERSION_11_0 = "__MAC_11_0"
  47. const m_MAC_OS_VERSION_11_1 = "__MAC_11_1"
  48. const m_MAC_OS_VERSION_11_3 = "__MAC_11_3"
  49. const m_MAC_OS_VERSION_11_4 = "__MAC_11_4"
  50. const m_MAC_OS_VERSION_11_5 = "__MAC_11_5"
  51. const m_MAC_OS_VERSION_11_6 = "__MAC_11_6"
  52. const m_MAC_OS_VERSION_12_0 = "__MAC_12_0"
  53. const m_MAC_OS_VERSION_12_1 = "__MAC_12_1"
  54. const m_MAC_OS_VERSION_12_2 = "__MAC_12_2"
  55. const m_MAC_OS_VERSION_12_3 = "__MAC_12_3"
  56. const m_MAC_OS_VERSION_12_4 = "__MAC_12_4"
  57. const m_MAC_OS_VERSION_12_5 = "__MAC_12_5"
  58. const m_MAC_OS_VERSION_12_6 = "__MAC_12_6"
  59. const m_MAC_OS_VERSION_12_7 = "__MAC_12_7"
  60. const m_MAC_OS_VERSION_13_0 = "__MAC_13_0"
  61. const m_MAC_OS_VERSION_13_1 = "__MAC_13_1"
  62. const m_MAC_OS_VERSION_13_2 = "__MAC_13_2"
  63. const m_MAC_OS_VERSION_13_3 = "__MAC_13_3"
  64. const m_MAC_OS_VERSION_13_4 = "__MAC_13_4"
  65. const m_MAC_OS_VERSION_13_5 = "__MAC_13_5"
  66. const m_MAC_OS_VERSION_13_6 = "__MAC_13_6"
  67. const m_MAC_OS_VERSION_13_7 = "__MAC_13_7"
  68. const m_MAC_OS_VERSION_14_0 = "__MAC_14_0"
  69. const m_MAC_OS_VERSION_14_1 = "__MAC_14_1"
  70. const m_MAC_OS_VERSION_14_2 = "__MAC_14_2"
  71. const m_MAC_OS_VERSION_14_3 = "__MAC_14_3"
  72. const m_MAC_OS_VERSION_14_4 = "__MAC_14_4"
  73. const m_MAC_OS_VERSION_14_5 = "__MAC_14_5"
  74. const m_MAC_OS_VERSION_14_6 = "__MAC_14_6"
  75. const m_MAC_OS_VERSION_14_7 = "__MAC_14_7"
  76. const m_MAC_OS_VERSION_15_0 = "__MAC_15_0"
  77. const m_MAC_OS_VERSION_15_1 = "__MAC_15_1"
  78. const m_MAC_OS_VERSION_15_2 = "__MAC_15_2"
  79. const m_MAC_OS_VERSION_15_3 = "__MAC_15_3"
  80. const m_MAC_OS_VERSION_15_4 = "__MAC_15_4"
  81. const m_MAC_OS_X_VERSION_10_0 = "__MAC_10_0"
  82. const m_MAC_OS_X_VERSION_10_1 = "__MAC_10_1"
  83. const m_MAC_OS_X_VERSION_10_10 = "__MAC_10_10"
  84. const m_MAC_OS_X_VERSION_10_10_2 = "__MAC_10_10_2"
  85. const m_MAC_OS_X_VERSION_10_10_3 = "__MAC_10_10_3"
  86. const m_MAC_OS_X_VERSION_10_11 = "__MAC_10_11"
  87. const m_MAC_OS_X_VERSION_10_11_2 = "__MAC_10_11_2"
  88. const m_MAC_OS_X_VERSION_10_11_3 = "__MAC_10_11_3"
  89. const m_MAC_OS_X_VERSION_10_11_4 = "__MAC_10_11_4"
  90. const m_MAC_OS_X_VERSION_10_12 = "__MAC_10_12"
  91. const m_MAC_OS_X_VERSION_10_12_1 = "__MAC_10_12_1"
  92. const m_MAC_OS_X_VERSION_10_12_2 = "__MAC_10_12_2"
  93. const m_MAC_OS_X_VERSION_10_12_4 = "__MAC_10_12_4"
  94. const m_MAC_OS_X_VERSION_10_13 = "__MAC_10_13"
  95. const m_MAC_OS_X_VERSION_10_13_1 = "__MAC_10_13_1"
  96. const m_MAC_OS_X_VERSION_10_13_2 = "__MAC_10_13_2"
  97. const m_MAC_OS_X_VERSION_10_13_4 = "__MAC_10_13_4"
  98. const m_MAC_OS_X_VERSION_10_14 = "__MAC_10_14"
  99. const m_MAC_OS_X_VERSION_10_14_1 = "__MAC_10_14_1"
  100. const m_MAC_OS_X_VERSION_10_14_4 = "__MAC_10_14_4"
  101. const m_MAC_OS_X_VERSION_10_14_5 = "__MAC_10_14_5"
  102. const m_MAC_OS_X_VERSION_10_14_6 = "__MAC_10_14_6"
  103. const m_MAC_OS_X_VERSION_10_15 = "__MAC_10_15"
  104. const m_MAC_OS_X_VERSION_10_15_1 = "__MAC_10_15_1"
  105. const m_MAC_OS_X_VERSION_10_15_4 = "__MAC_10_15_4"
  106. const m_MAC_OS_X_VERSION_10_16 = "__MAC_10_16"
  107. const m_MAC_OS_X_VERSION_10_2 = "__MAC_10_2"
  108. const m_MAC_OS_X_VERSION_10_3 = "__MAC_10_3"
  109. const m_MAC_OS_X_VERSION_10_4 = "__MAC_10_4"
  110. const m_MAC_OS_X_VERSION_10_5 = "__MAC_10_5"
  111. const m_MAC_OS_X_VERSION_10_6 = "__MAC_10_6"
  112. const m_MAC_OS_X_VERSION_10_7 = "__MAC_10_7"
  113. const m_MAC_OS_X_VERSION_10_8 = "__MAC_10_8"
  114. const m_MAC_OS_X_VERSION_10_9 = "__MAC_10_9"
  115. const m_MD2_BLOCK_LENGTH = 16
  116. const m_MD2_DIGEST_LENGTH = 16
  117. const m_MD2_DIGEST_STRING_LENGTH = 33
  118. const m_NBBY = "__DARWIN_NBBY"
  119. const m_NDEBUG = 1
  120. const m_NFDBITS = "__DARWIN_NFDBITS"
  121. const m_NULL = "__DARWIN_NULL"
  122. const m_PACKAGE = "libmd"
  123. const m_PACKAGE_BUGREPORT = "libbsd@lists.freedesktop.org"
  124. const m_PACKAGE_NAME = "libmd"
  125. const m_PACKAGE_STRING = "libmd 1.1.0"
  126. const m_PACKAGE_TARNAME = "libmd"
  127. const m_PACKAGE_URL = ""
  128. const m_PACKAGE_VERSION = "1.1.0"
  129. const m_PDP_ENDIAN = "__DARWIN_PDP_ENDIAN"
  130. const m_PTRDIFF_MAX = "__PTRDIFF_MAX__"
  131. const m_SIZE_MAX = "__SIZE_MAX__"
  132. const m_STDC_HEADERS = 1
  133. const m_TARGET_IPHONE_SIMULATOR = 0
  134. const m_TARGET_OS_ARROW = 1
  135. const m_TARGET_OS_BRIDGE = 0
  136. const m_TARGET_OS_DRIVERKIT = 0
  137. const m_TARGET_OS_EMBEDDED = 0
  138. const m_TARGET_OS_IOS = 0
  139. const m_TARGET_OS_IOSMAC = 0
  140. const m_TARGET_OS_IPHONE = 0
  141. const m_TARGET_OS_LINUX = 0
  142. const m_TARGET_OS_MAC = 1
  143. const m_TARGET_OS_MACCATALYST = 0
  144. const m_TARGET_OS_NANO = 0
  145. const m_TARGET_OS_OSX = 1
  146. const m_TARGET_OS_SIMULATOR = 0
  147. const m_TARGET_OS_TV = 0
  148. const m_TARGET_OS_UIKITFORMAC = 0
  149. const m_TARGET_OS_UNIX = 0
  150. const m_TARGET_OS_VISION = 0
  151. const m_TARGET_OS_WATCH = 0
  152. const m_TARGET_OS_WIN32 = 0
  153. const m_TARGET_OS_WINDOWS = 0
  154. const m_TARGET_OS_XR = 0
  155. const m_UINTMAX_MAX = "__UINTMAX_MAX__"
  156. const m_UINTPTR_MAX = "__UINTPTR_MAX__"
  157. const m_UINT_FAST16_MAX = "__UINT_LEAST16_MAX"
  158. const m_UINT_FAST32_MAX = "__UINT_LEAST32_MAX"
  159. const m_UINT_FAST64_MAX = "__UINT_LEAST64_MAX"
  160. const m_UINT_FAST8_MAX = "__UINT_LEAST8_MAX"
  161. const m_UINT_LEAST16_MAX = "__UINT_LEAST16_MAX"
  162. const m_UINT_LEAST32_MAX = "__UINT_LEAST32_MAX"
  163. const m_UINT_LEAST64_MAX = "__UINT_LEAST64_MAX"
  164. const m_UINT_LEAST8_MAX = "__UINT_LEAST8_MAX"
  165. const m_VERSION = "1.1.0"
  166. const m_WCHAR_MAX = "__WCHAR_MAX__"
  167. const m__ALL_SOURCE = 1
  168. const m__DARWIN_C_SOURCE = 1
  169. const m__DARWIN_FEATURE_64_BIT_INODE = 1
  170. const m__DARWIN_FEATURE_ONLY_64_BIT_INODE = 1
  171. const m__DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1
  172. const m__DARWIN_FEATURE_ONLY_VERS_1050 = 1
  173. const m__DARWIN_FEATURE_UNIX_CONFORMANCE = 3
  174. const m__FORTIFY_SOURCE = 2
  175. const m__GNU_SOURCE = 1
  176. const m__HPUX_ALT_XOPEN_SOCKET_API = 1
  177. const m__LP64 = 1
  178. const m__NETBSD_SOURCE = 1
  179. const m__OPENBSD_SOURCE = 1
  180. const m__POSIX_PTHREAD_SEMANTICS = 1
  181. const m__QUAD_HIGHWORD = 1
  182. const m__QUAD_LOWWORD = 0
  183. const m__TANDEM_SOURCE = 1
  184. const m___AARCH64EL__ = 1
  185. const m___AARCH64_CMODEL_SMALL__ = 1
  186. const m___AARCH64_SIMD__ = 1
  187. const m___API_TO_BE_DEPRECATED = 100000
  188. const m___API_TO_BE_DEPRECATED_DRIVERKIT = 100000
  189. const m___API_TO_BE_DEPRECATED_IOS = 100000
  190. const m___API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION = 100000
  191. const m___API_TO_BE_DEPRECATED_KERNELKIT = 100000
  192. const m___API_TO_BE_DEPRECATED_MACCATALYST = 100000
  193. const m___API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION = 100000
  194. const m___API_TO_BE_DEPRECATED_MACOS = 100000
  195. const m___API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION = 100000
  196. const m___API_TO_BE_DEPRECATED_TVOS = 100000
  197. const m___API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION = 100000
  198. const m___API_TO_BE_DEPRECATED_VISIONOS = 100000
  199. const m___API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION = 100000
  200. const m___API_TO_BE_DEPRECATED_WATCHOS = 100000
  201. const m___API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION = 100000
  202. const m___APPLE_CC__ = 6000
  203. const m___APPLE__ = 1
  204. const m___ARM64_ARCH_8__ = 1
  205. const m___ARM_64BIT_STATE = 1
  206. const m___ARM_ACLE = 200
  207. const m___ARM_ALIGN_MAX_STACK_PWR = 4
  208. const m___ARM_ARCH = 8
  209. const m___ARM_ARCH_8_3__ = 1
  210. const m___ARM_ARCH_8_4__ = 1
  211. const m___ARM_ARCH_8_5__ = 1
  212. const m___ARM_ARCH_ISA_A64 = 1
  213. const m___ARM_ARCH_PROFILE = 'A'
  214. const m___ARM_FEATURE_AES = 1
  215. const m___ARM_FEATURE_ATOMICS = 1
  216. const m___ARM_FEATURE_BTI = 1
  217. const m___ARM_FEATURE_CLZ = 1
  218. const m___ARM_FEATURE_COMPLEX = 1
  219. const m___ARM_FEATURE_CRC32 = 1
  220. const m___ARM_FEATURE_CRYPTO = 1
  221. const m___ARM_FEATURE_DIRECTED_ROUNDING = 1
  222. const m___ARM_FEATURE_DIV = 1
  223. const m___ARM_FEATURE_DOTPROD = 1
  224. const m___ARM_FEATURE_FMA = 1
  225. const m___ARM_FEATURE_FP16_FML = 1
  226. const m___ARM_FEATURE_FP16_SCALAR_ARITHMETIC = 1
  227. const m___ARM_FEATURE_FP16_VECTOR_ARITHMETIC = 1
  228. const m___ARM_FEATURE_FRINT = 1
  229. const m___ARM_FEATURE_IDIV = 1
  230. const m___ARM_FEATURE_JCVT = 1
  231. const m___ARM_FEATURE_LDREX = 0xF
  232. const m___ARM_FEATURE_NUMERIC_MAXMIN = 1
  233. const m___ARM_FEATURE_PAUTH = 1
  234. const m___ARM_FEATURE_QRDMX = 1
  235. const m___ARM_FEATURE_RCPC = 1
  236. const m___ARM_FEATURE_SHA2 = 1
  237. const m___ARM_FEATURE_SHA3 = 1
  238. const m___ARM_FEATURE_SHA512 = 1
  239. const m___ARM_FEATURE_UNALIGNED = 1
  240. const m___ARM_FP = 0xE
  241. const m___ARM_FP16_ARGS = 1
  242. const m___ARM_FP16_FORMAT_IEEE = 1
  243. const m___ARM_NEON = 1
  244. const m___ARM_NEON_FP = 0xE
  245. const m___ARM_NEON__ = 1
  246. const m___ARM_PCS_AAPCS64 = 1
  247. const m___ARM_SIZEOF_MINIMAL_ENUM = 4
  248. const m___ARM_SIZEOF_WCHAR_T = 4
  249. const m___ARM_STATE_ZA = 1
  250. const m___ARM_STATE_ZT0 = 1
  251. const m___ATOMIC_ACQUIRE = 2
  252. const m___ATOMIC_ACQ_REL = 4
  253. const m___ATOMIC_CONSUME = 1
  254. const m___ATOMIC_RELAXED = 0
  255. const m___ATOMIC_RELEASE = 3
  256. const m___ATOMIC_SEQ_CST = 5
  257. const m___AVAILABILITY_FILE = "AvailabilityVersions.h"
  258. const m___AVAILABILITY_VERSIONS_VERSION_HASH = 93585900
  259. const m___AVAILABILITY_VERSIONS_VERSION_STRING = "Local"
  260. const m___BIGGEST_ALIGNMENT__ = 8
  261. const m___BITINT_MAXWIDTH__ = 128
  262. const m___BLOCKS__ = 1
  263. const m___BOOL_WIDTH__ = 8
  264. const m___BRIDGEOS_2_0 = 20000
  265. const m___BRIDGEOS_3_0 = 30000
  266. const m___BRIDGEOS_3_1 = 30100
  267. const m___BRIDGEOS_3_4 = 30400
  268. const m___BRIDGEOS_4_0 = 40000
  269. const m___BRIDGEOS_4_1 = 40100
  270. const m___BRIDGEOS_5_0 = 50000
  271. const m___BRIDGEOS_5_1 = 50100
  272. const m___BRIDGEOS_5_3 = 50300
  273. const m___BRIDGEOS_6_0 = 60000
  274. const m___BRIDGEOS_6_2 = 60200
  275. const m___BRIDGEOS_6_4 = 60400
  276. const m___BRIDGEOS_6_5 = 60500
  277. const m___BRIDGEOS_6_6 = 60600
  278. const m___BRIDGEOS_7_0 = 70000
  279. const m___BRIDGEOS_7_1 = 70100
  280. const m___BRIDGEOS_7_2 = 70200
  281. const m___BRIDGEOS_7_3 = 70300
  282. const m___BRIDGEOS_7_4 = 70400
  283. const m___BRIDGEOS_7_6 = 70600
  284. const m___BRIDGEOS_8_0 = 80000
  285. const m___BRIDGEOS_8_1 = 80100
  286. const m___BRIDGEOS_8_2 = 80200
  287. const m___BRIDGEOS_8_3 = 80300
  288. const m___BRIDGEOS_8_4 = 80400
  289. const m___BRIDGEOS_8_5 = 80500
  290. const m___BRIDGEOS_8_6 = 80600
  291. const m___BRIDGEOS_9_0 = 90000
  292. const m___BRIDGEOS_9_1 = 90100
  293. const m___BRIDGEOS_9_2 = 90200
  294. const m___BRIDGEOS_9_3 = 90300
  295. const m___BRIDGEOS_9_4 = 90400
  296. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  297. const m___CCGO__ = 1
  298. const m___CHAR_BIT__ = 8
  299. const m___CLANG_ATOMIC_BOOL_LOCK_FREE = 2
  300. const m___CLANG_ATOMIC_CHAR16_T_LOCK_FREE = 2
  301. const m___CLANG_ATOMIC_CHAR32_T_LOCK_FREE = 2
  302. const m___CLANG_ATOMIC_CHAR_LOCK_FREE = 2
  303. const m___CLANG_ATOMIC_INT_LOCK_FREE = 2
  304. const m___CLANG_ATOMIC_LLONG_LOCK_FREE = 2
  305. const m___CLANG_ATOMIC_LONG_LOCK_FREE = 2
  306. const m___CLANG_ATOMIC_POINTER_LOCK_FREE = 2
  307. const m___CLANG_ATOMIC_SHORT_LOCK_FREE = 2
  308. const m___CLANG_ATOMIC_WCHAR_T_LOCK_FREE = 2
  309. const m___CONSTANT_CFSTRINGS__ = 1
  310. const m___DARWIN_64_BIT_INO_T = 1
  311. const m___DARWIN_BIG_ENDIAN = 4321
  312. const m___DARWIN_BYTE_ORDER = "__DARWIN_LITTLE_ENDIAN"
  313. const m___DARWIN_C_ANSI = 010000
  314. const m___DARWIN_C_FULL = 900000
  315. const m___DARWIN_C_LEVEL = "__DARWIN_C_FULL"
  316. const m___DARWIN_FD_SETSIZE = 1024
  317. const m___DARWIN_LITTLE_ENDIAN = 1234
  318. const m___DARWIN_NBBY = 8
  319. const m___DARWIN_NON_CANCELABLE = 0
  320. const m___DARWIN_NO_LONG_LONG = 0
  321. const m___DARWIN_ONLY_64_BIT_INO_T = 1
  322. const m___DARWIN_ONLY_UNIX_CONFORMANCE = 1
  323. const m___DARWIN_ONLY_VERS_1050 = 1
  324. const m___DARWIN_PDP_ENDIAN = 3412
  325. const m___DARWIN_SUF_EXTSN = "$DARWIN_EXTSN"
  326. const m___DARWIN_UNIX03 = 1
  327. const m___DARWIN_VERS_1050 = 1
  328. const m___DARWIN_WCHAR_MAX = "__WCHAR_MAX__"
  329. const m___DBL_DECIMAL_DIG__ = 17
  330. const m___DBL_DENORM_MIN__ = 4.9406564584124654e-324
  331. const m___DBL_DIG__ = 15
  332. const m___DBL_EPSILON__ = 2.2204460492503131e-16
  333. const m___DBL_HAS_DENORM__ = 1
  334. const m___DBL_HAS_INFINITY__ = 1
  335. const m___DBL_HAS_QUIET_NAN__ = 1
  336. const m___DBL_MANT_DIG__ = 53
  337. const m___DBL_MAX_10_EXP__ = 308
  338. const m___DBL_MAX_EXP__ = 1024
  339. const m___DBL_MAX__ = 1.7976931348623157e+308
  340. const m___DBL_MIN__ = 2.2250738585072014e-308
  341. const m___DBL_NORM_MAX__ = 1.7976931348623157e+308
  342. const m___DECIMAL_DIG__ = "__LDBL_DECIMAL_DIG__"
  343. const m___DRIVERKIT_19_0 = 190000
  344. const m___DRIVERKIT_20_0 = 200000
  345. const m___DRIVERKIT_21_0 = 210000
  346. const m___DRIVERKIT_22_0 = 220000
  347. const m___DRIVERKIT_22_4 = 220400
  348. const m___DRIVERKIT_22_5 = 220500
  349. const m___DRIVERKIT_22_6 = 220600
  350. const m___DRIVERKIT_23_0 = 230000
  351. const m___DRIVERKIT_23_1 = 230100
  352. const m___DRIVERKIT_23_2 = 230200
  353. const m___DRIVERKIT_23_3 = 230300
  354. const m___DRIVERKIT_23_4 = 230400
  355. const m___DRIVERKIT_23_5 = 230500
  356. const m___DRIVERKIT_23_6 = 230600
  357. const m___DRIVERKIT_24_0 = 240000
  358. const m___DRIVERKIT_24_1 = 240100
  359. const m___DRIVERKIT_24_2 = 240200
  360. const m___DRIVERKIT_24_3 = 240300
  361. const m___DRIVERKIT_24_4 = 240400
  362. const m___DYNAMIC__ = 1
  363. const m___ENABLE_LEGACY_MAC_AVAILABILITY = 1
  364. const m___ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ = 150000
  365. const m___ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ = 150000
  366. const m___EXTENSIONS__ = 1
  367. const m___FINITE_MATH_ONLY__ = 0
  368. const m___FLT16_DECIMAL_DIG__ = 5
  369. const m___FLT16_DENORM_MIN__ = 5.9604644775390625e-8
  370. const m___FLT16_DIG__ = 3
  371. const m___FLT16_EPSILON__ = 9.765625e-4
  372. const m___FLT16_HAS_DENORM__ = 1
  373. const m___FLT16_HAS_INFINITY__ = 1
  374. const m___FLT16_HAS_QUIET_NAN__ = 1
  375. const m___FLT16_MANT_DIG__ = 11
  376. const m___FLT16_MAX_10_EXP__ = 4
  377. const m___FLT16_MAX_EXP__ = 16
  378. const m___FLT16_MAX__ = 6.5504e+4
  379. const m___FLT16_MIN__ = 6.103515625e-5
  380. const m___FLT16_NORM_MAX__ = 6.5504e+4
  381. const m___FLT_DECIMAL_DIG__ = 9
  382. const m___FLT_DENORM_MIN__ = 1.40129846e-45
  383. const m___FLT_DIG__ = 6
  384. const m___FLT_EPSILON__ = 1.19209290e-7
  385. const m___FLT_HAS_DENORM__ = 1
  386. const m___FLT_HAS_INFINITY__ = 1
  387. const m___FLT_HAS_QUIET_NAN__ = 1
  388. const m___FLT_MANT_DIG__ = 24
  389. const m___FLT_MAX_10_EXP__ = 38
  390. const m___FLT_MAX_EXP__ = 128
  391. const m___FLT_MAX__ = 3.40282347e+38
  392. const m___FLT_MIN__ = 1.17549435e-38
  393. const m___FLT_NORM_MAX__ = 3.40282347e+38
  394. const m___FLT_RADIX__ = 2
  395. const m___FPCLASS_NEGINF = 0x0004
  396. const m___FPCLASS_NEGNORMAL = 0x0008
  397. const m___FPCLASS_NEGSUBNORMAL = 0x0010
  398. const m___FPCLASS_NEGZERO = 0x0020
  399. const m___FPCLASS_POSINF = 0x0200
  400. const m___FPCLASS_POSNORMAL = 0x0100
  401. const m___FPCLASS_POSSUBNORMAL = 0x0080
  402. const m___FPCLASS_POSZERO = 0x0040
  403. const m___FPCLASS_QNAN = 0x0002
  404. const m___FPCLASS_SNAN = 0x0001
  405. const m___FP_FAST_FMA = 1
  406. const m___FP_FAST_FMAF = 1
  407. const m___FUNCTION__ = "__func__"
  408. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  409. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  410. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  411. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  412. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  413. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  414. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  415. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  416. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  417. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  418. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  419. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  420. const m___GCC_CONSTRUCTIVE_SIZE = 64
  421. const m___GCC_DESTRUCTIVE_SIZE = 64
  422. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  423. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  424. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 = 1
  425. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  426. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  427. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  428. const m___GNUC_MINOR__ = 2
  429. const m___GNUC_PATCHLEVEL__ = 1
  430. const m___GNUC_STDC_INLINE__ = 1
  431. const m___GNUC__ = 4
  432. const m___GXX_ABI_VERSION = 1002
  433. const m___HAVE_FUNCTION_MULTI_VERSIONING = 1
  434. const m___INT16_FMTd__ = "hd"
  435. const m___INT16_FMTi__ = "hi"
  436. const m___INT16_MAX__ = 32767
  437. const m___INT16_TYPE__ = "short"
  438. const m___INT32_FMTd__ = "d"
  439. const m___INT32_FMTi__ = "i"
  440. const m___INT32_MAX__ = 2147483647
  441. const m___INT32_TYPE__ = "int"
  442. const m___INT64_C_SUFFIX__ = "LL"
  443. const m___INT64_FMTd__ = "lld"
  444. const m___INT64_FMTi__ = "lli"
  445. const m___INT64_MAX__ = 9223372036854775807
  446. const m___INT8_FMTd__ = "hhd"
  447. const m___INT8_FMTi__ = "hhi"
  448. const m___INT8_MAX__ = 127
  449. const m___INTMAX_C_SUFFIX__ = "L"
  450. const m___INTMAX_FMTd__ = "ld"
  451. const m___INTMAX_FMTi__ = "li"
  452. const m___INTMAX_MAX__ = 9223372036854775807
  453. const m___INTMAX_WIDTH__ = 64
  454. const m___INTPTR_FMTd__ = "ld"
  455. const m___INTPTR_FMTi__ = "li"
  456. const m___INTPTR_MAX__ = 9223372036854775807
  457. const m___INTPTR_WIDTH__ = 64
  458. const m___INT_FAST16_FMTd__ = "hd"
  459. const m___INT_FAST16_FMTi__ = "hi"
  460. const m___INT_FAST16_MAX__ = 32767
  461. const m___INT_FAST16_TYPE__ = "short"
  462. const m___INT_FAST16_WIDTH__ = 16
  463. const m___INT_FAST32_FMTd__ = "d"
  464. const m___INT_FAST32_FMTi__ = "i"
  465. const m___INT_FAST32_MAX__ = 2147483647
  466. const m___INT_FAST32_TYPE__ = "int"
  467. const m___INT_FAST32_WIDTH__ = 32
  468. const m___INT_FAST64_FMTd__ = "lld"
  469. const m___INT_FAST64_FMTi__ = "lli"
  470. const m___INT_FAST64_MAX__ = 9223372036854775807
  471. const m___INT_FAST64_WIDTH__ = 64
  472. const m___INT_FAST8_FMTd__ = "hhd"
  473. const m___INT_FAST8_FMTi__ = "hhi"
  474. const m___INT_FAST8_MAX__ = 127
  475. const m___INT_FAST8_WIDTH__ = 8
  476. const m___INT_LEAST16_FMTd__ = "hd"
  477. const m___INT_LEAST16_FMTi__ = "hi"
  478. const m___INT_LEAST16_MAX__ = 32767
  479. const m___INT_LEAST16_TYPE__ = "short"
  480. const m___INT_LEAST16_WIDTH__ = 16
  481. const m___INT_LEAST32_FMTd__ = "d"
  482. const m___INT_LEAST32_FMTi__ = "i"
  483. const m___INT_LEAST32_MAX__ = 2147483647
  484. const m___INT_LEAST32_TYPE__ = "int"
  485. const m___INT_LEAST32_WIDTH__ = 32
  486. const m___INT_LEAST64_FMTd__ = "lld"
  487. const m___INT_LEAST64_FMTi__ = "lli"
  488. const m___INT_LEAST64_MAX = "INT64_MAX"
  489. const m___INT_LEAST64_MAX__ = 9223372036854775807
  490. const m___INT_LEAST64_MIN = "INT64_MIN"
  491. const m___INT_LEAST64_WIDTH__ = 64
  492. const m___INT_LEAST8_FMTd__ = "hhd"
  493. const m___INT_LEAST8_FMTi__ = "hhi"
  494. const m___INT_LEAST8_MAX__ = 127
  495. const m___INT_LEAST8_WIDTH__ = 8
  496. const m___INT_MAX__ = 2147483647
  497. const m___INT_WIDTH__ = 32
  498. const m___IPHONE_10_0 = 100000
  499. const m___IPHONE_10_1 = 100100
  500. const m___IPHONE_10_2 = 100200
  501. const m___IPHONE_10_3 = 100300
  502. const m___IPHONE_11_0 = 110000
  503. const m___IPHONE_11_1 = 110100
  504. const m___IPHONE_11_2 = 110200
  505. const m___IPHONE_11_3 = 110300
  506. const m___IPHONE_11_4 = 110400
  507. const m___IPHONE_12_0 = 120000
  508. const m___IPHONE_12_1 = 120100
  509. const m___IPHONE_12_2 = 120200
  510. const m___IPHONE_12_3 = 120300
  511. const m___IPHONE_12_4 = 120400
  512. const m___IPHONE_13_0 = 130000
  513. const m___IPHONE_13_1 = 130100
  514. const m___IPHONE_13_2 = 130200
  515. const m___IPHONE_13_3 = 130300
  516. const m___IPHONE_13_4 = 130400
  517. const m___IPHONE_13_5 = 130500
  518. const m___IPHONE_13_6 = 130600
  519. const m___IPHONE_13_7 = 130700
  520. const m___IPHONE_14_0 = 140000
  521. const m___IPHONE_14_1 = 140100
  522. const m___IPHONE_14_2 = 140200
  523. const m___IPHONE_14_3 = 140300
  524. const m___IPHONE_14_4 = 140400
  525. const m___IPHONE_14_5 = 140500
  526. const m___IPHONE_14_6 = 140600
  527. const m___IPHONE_14_7 = 140700
  528. const m___IPHONE_14_8 = 140800
  529. const m___IPHONE_15_0 = 150000
  530. const m___IPHONE_15_1 = 150100
  531. const m___IPHONE_15_2 = 150200
  532. const m___IPHONE_15_3 = 150300
  533. const m___IPHONE_15_4 = 150400
  534. const m___IPHONE_15_5 = 150500
  535. const m___IPHONE_15_6 = 150600
  536. const m___IPHONE_15_7 = 150700
  537. const m___IPHONE_15_8 = 150800
  538. const m___IPHONE_16_0 = 160000
  539. const m___IPHONE_16_1 = 160100
  540. const m___IPHONE_16_2 = 160200
  541. const m___IPHONE_16_3 = 160300
  542. const m___IPHONE_16_4 = 160400
  543. const m___IPHONE_16_5 = 160500
  544. const m___IPHONE_16_6 = 160600
  545. const m___IPHONE_16_7 = 160700
  546. const m___IPHONE_17_0 = 170000
  547. const m___IPHONE_17_1 = 170100
  548. const m___IPHONE_17_2 = 170200
  549. const m___IPHONE_17_3 = 170300
  550. const m___IPHONE_17_4 = 170400
  551. const m___IPHONE_17_5 = 170500
  552. const m___IPHONE_17_6 = 170600
  553. const m___IPHONE_17_7 = 170700
  554. const m___IPHONE_18_0 = 180000
  555. const m___IPHONE_18_1 = 180100
  556. const m___IPHONE_18_2 = 180200
  557. const m___IPHONE_18_3 = 180300
  558. const m___IPHONE_18_4 = 180400
  559. const m___IPHONE_2_0 = 20000
  560. const m___IPHONE_2_1 = 20100
  561. const m___IPHONE_2_2 = 20200
  562. const m___IPHONE_3_0 = 30000
  563. const m___IPHONE_3_1 = 30100
  564. const m___IPHONE_3_2 = 30200
  565. const m___IPHONE_4_0 = 40000
  566. const m___IPHONE_4_1 = 40100
  567. const m___IPHONE_4_2 = 40200
  568. const m___IPHONE_4_3 = 40300
  569. const m___IPHONE_5_0 = 50000
  570. const m___IPHONE_5_1 = 50100
  571. const m___IPHONE_6_0 = 60000
  572. const m___IPHONE_6_1 = 60100
  573. const m___IPHONE_7_0 = 70000
  574. const m___IPHONE_7_1 = 70100
  575. const m___IPHONE_8_0 = 80000
  576. const m___IPHONE_8_1 = 80100
  577. const m___IPHONE_8_2 = 80200
  578. const m___IPHONE_8_3 = 80300
  579. const m___IPHONE_8_4 = 80400
  580. const m___IPHONE_9_0 = 90000
  581. const m___IPHONE_9_1 = 90100
  582. const m___IPHONE_9_2 = 90200
  583. const m___IPHONE_9_3 = 90300
  584. const m___LDBL_DECIMAL_DIG__ = 17
  585. const m___LDBL_DENORM_MIN__ = 4.9406564584124654e-324
  586. const m___LDBL_DIG__ = 15
  587. const m___LDBL_EPSILON__ = 2.2204460492503131e-16
  588. const m___LDBL_HAS_DENORM__ = 1
  589. const m___LDBL_HAS_INFINITY__ = 1
  590. const m___LDBL_HAS_QUIET_NAN__ = 1
  591. const m___LDBL_MANT_DIG__ = 53
  592. const m___LDBL_MAX_10_EXP__ = 308
  593. const m___LDBL_MAX_EXP__ = 1024
  594. const m___LDBL_MAX__ = 1.7976931348623157e+308
  595. const m___LDBL_MIN__ = 2.2250738585072014e-308
  596. const m___LDBL_NORM_MAX__ = 1.7976931348623157e+308
  597. const m___LITTLE_ENDIAN__ = 1
  598. const m___LLONG_WIDTH__ = 64
  599. const m___LONG_LONG_MAX__ = 9223372036854775807
  600. const m___LONG_MAX__ = 9223372036854775807
  601. const m___LONG_WIDTH__ = 64
  602. const m___LP64__ = 1
  603. const m___MACH__ = 1
  604. const m___MAC_10_0 = 1000
  605. const m___MAC_10_1 = 1010
  606. const m___MAC_10_10 = 101000
  607. const m___MAC_10_10_2 = 101002
  608. const m___MAC_10_10_3 = 101003
  609. const m___MAC_10_11 = 101100
  610. const m___MAC_10_11_2 = 101102
  611. const m___MAC_10_11_3 = 101103
  612. const m___MAC_10_11_4 = 101104
  613. const m___MAC_10_12 = 101200
  614. const m___MAC_10_12_1 = 101201
  615. const m___MAC_10_12_2 = 101202
  616. const m___MAC_10_12_4 = 101204
  617. const m___MAC_10_13 = 101300
  618. const m___MAC_10_13_1 = 101301
  619. const m___MAC_10_13_2 = 101302
  620. const m___MAC_10_13_4 = 101304
  621. const m___MAC_10_14 = 101400
  622. const m___MAC_10_14_1 = 101401
  623. const m___MAC_10_14_4 = 101404
  624. const m___MAC_10_14_5 = 101405
  625. const m___MAC_10_14_6 = 101406
  626. const m___MAC_10_15 = 101500
  627. const m___MAC_10_15_1 = 101501
  628. const m___MAC_10_15_4 = 101504
  629. const m___MAC_10_16 = 101600
  630. const m___MAC_10_2 = 1020
  631. const m___MAC_10_3 = 1030
  632. const m___MAC_10_4 = 1040
  633. const m___MAC_10_5 = 1050
  634. const m___MAC_10_6 = 1060
  635. const m___MAC_10_7 = 1070
  636. const m___MAC_10_8 = 1080
  637. const m___MAC_10_9 = 1090
  638. const m___MAC_11_0 = 110000
  639. const m___MAC_11_1 = 110100
  640. const m___MAC_11_3 = 110300
  641. const m___MAC_11_4 = 110400
  642. const m___MAC_11_5 = 110500
  643. const m___MAC_11_6 = 110600
  644. const m___MAC_12_0 = 120000
  645. const m___MAC_12_1 = 120100
  646. const m___MAC_12_2 = 120200
  647. const m___MAC_12_3 = 120300
  648. const m___MAC_12_4 = 120400
  649. const m___MAC_12_5 = 120500
  650. const m___MAC_12_6 = 120600
  651. const m___MAC_12_7 = 120700
  652. const m___MAC_13_0 = 130000
  653. const m___MAC_13_1 = 130100
  654. const m___MAC_13_2 = 130200
  655. const m___MAC_13_3 = 130300
  656. const m___MAC_13_4 = 130400
  657. const m___MAC_13_5 = 130500
  658. const m___MAC_13_6 = 130600
  659. const m___MAC_13_7 = 130700
  660. const m___MAC_14_0 = 140000
  661. const m___MAC_14_1 = 140100
  662. const m___MAC_14_2 = 140200
  663. const m___MAC_14_3 = 140300
  664. const m___MAC_14_4 = 140400
  665. const m___MAC_14_5 = 140500
  666. const m___MAC_14_6 = 140600
  667. const m___MAC_14_7 = 140700
  668. const m___MAC_15_0 = 150000
  669. const m___MAC_15_1 = 150100
  670. const m___MAC_15_2 = 150200
  671. const m___MAC_15_3 = 150300
  672. const m___MAC_15_4 = 150400
  673. const m___MAC_OS_X_VERSION_MAX_ALLOWED = "__MAC_15_4"
  674. const m___MAC_OS_X_VERSION_MIN_REQUIRED = "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__"
  675. const m___MEMORY_SCOPE_DEVICE = 1
  676. const m___MEMORY_SCOPE_SINGLE = 4
  677. const m___MEMORY_SCOPE_SYSTEM = 0
  678. const m___MEMORY_SCOPE_WRKGRP = 2
  679. const m___MEMORY_SCOPE_WVFRNT = 3
  680. const m___NO_INLINE__ = 1
  681. const m___NO_MATH_ERRNO__ = 1
  682. const m___OBJC_BOOL_IS_BOOL = 1
  683. const m___OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES = 3
  684. const m___OPENCL_MEMORY_SCOPE_DEVICE = 2
  685. const m___OPENCL_MEMORY_SCOPE_SUB_GROUP = 4
  686. const m___OPENCL_MEMORY_SCOPE_WORK_GROUP = 1
  687. const m___OPENCL_MEMORY_SCOPE_WORK_ITEM = 0
  688. const m___ORDER_BIG_ENDIAN__ = 4321
  689. const m___ORDER_LITTLE_ENDIAN__ = 1234
  690. const m___ORDER_PDP_ENDIAN__ = 3412
  691. const m___PIC__ = 2
  692. const m___POINTER_WIDTH__ = 64
  693. const m___PRAGMA_REDEFINE_EXTNAME = 1
  694. const m___PRETTY_FUNCTION__ = "__func__"
  695. const m___PTHREAD_ATTR_SIZE__ = 56
  696. const m___PTHREAD_CONDATTR_SIZE__ = 8
  697. const m___PTHREAD_COND_SIZE__ = 40
  698. const m___PTHREAD_MUTEXATTR_SIZE__ = 8
  699. const m___PTHREAD_MUTEX_SIZE__ = 56
  700. const m___PTHREAD_ONCE_SIZE__ = 8
  701. const m___PTHREAD_RWLOCKATTR_SIZE__ = 16
  702. const m___PTHREAD_RWLOCK_SIZE__ = 192
  703. const m___PTHREAD_SIZE__ = 8176
  704. const m___PTRDIFF_FMTd__ = "ld"
  705. const m___PTRDIFF_FMTi__ = "li"
  706. const m___PTRDIFF_MAX__ = 9223372036854775807
  707. const m___PTRDIFF_WIDTH__ = 64
  708. const m___SCHAR_MAX__ = 127
  709. const m___SHRT_MAX__ = 32767
  710. const m___SHRT_WIDTH__ = 16
  711. const m___SIG_ATOMIC_MAX__ = 2147483647
  712. const m___SIG_ATOMIC_WIDTH__ = 32
  713. const m___SIZEOF_DOUBLE__ = 8
  714. const m___SIZEOF_FLOAT__ = 4
  715. const m___SIZEOF_INT128__ = 16
  716. const m___SIZEOF_INT__ = 4
  717. const m___SIZEOF_LONG_DOUBLE__ = 8
  718. const m___SIZEOF_LONG_LONG__ = 8
  719. const m___SIZEOF_LONG__ = 8
  720. const m___SIZEOF_POINTER__ = 8
  721. const m___SIZEOF_PTRDIFF_T__ = 8
  722. const m___SIZEOF_SHORT__ = 2
  723. const m___SIZEOF_SIZE_T__ = 8
  724. const m___SIZEOF_WCHAR_T__ = 4
  725. const m___SIZEOF_WINT_T__ = 4
  726. const m___SIZE_FMTX__ = "lX"
  727. const m___SIZE_FMTo__ = "lo"
  728. const m___SIZE_FMTu__ = "lu"
  729. const m___SIZE_FMTx__ = "lx"
  730. const m___SIZE_MAX__ = 18446744073709551615
  731. const m___SIZE_WIDTH__ = 64
  732. const m___SSP__ = 1
  733. const m___STDC_EMBED_EMPTY__ = 2
  734. const m___STDC_EMBED_FOUND__ = 1
  735. const m___STDC_EMBED_NOT_FOUND__ = 0
  736. const m___STDC_HOSTED__ = 1
  737. const m___STDC_NO_THREADS__ = 1
  738. const m___STDC_UTF_16__ = 1
  739. const m___STDC_UTF_32__ = 1
  740. const m___STDC_VERSION__ = 201710
  741. const m___STDC_WANT_IEC_60559_ATTRIBS_EXT__ = 1
  742. const m___STDC_WANT_IEC_60559_BFP_EXT__ = 1
  743. const m___STDC_WANT_IEC_60559_DFP_EXT__ = 1
  744. const m___STDC_WANT_IEC_60559_FUNCS_EXT__ = 1
  745. const m___STDC_WANT_IEC_60559_TYPES_EXT__ = 1
  746. const m___STDC_WANT_LIB_EXT1__ = 1
  747. const m___STDC_WANT_LIB_EXT2__ = 1
  748. const m___STDC_WANT_MATH_SPEC_FUNCS__ = 1
  749. const m___STDC__ = 1
  750. const m___TVOS_10_0 = 100000
  751. const m___TVOS_10_0_1 = 100001
  752. const m___TVOS_10_1 = 100100
  753. const m___TVOS_10_2 = 100200
  754. const m___TVOS_11_0 = 110000
  755. const m___TVOS_11_1 = 110100
  756. const m___TVOS_11_2 = 110200
  757. const m___TVOS_11_3 = 110300
  758. const m___TVOS_11_4 = 110400
  759. const m___TVOS_12_0 = 120000
  760. const m___TVOS_12_1 = 120100
  761. const m___TVOS_12_2 = 120200
  762. const m___TVOS_12_3 = 120300
  763. const m___TVOS_12_4 = 120400
  764. const m___TVOS_13_0 = 130000
  765. const m___TVOS_13_2 = 130200
  766. const m___TVOS_13_3 = 130300
  767. const m___TVOS_13_4 = 130400
  768. const m___TVOS_14_0 = 140000
  769. const m___TVOS_14_1 = 140100
  770. const m___TVOS_14_2 = 140200
  771. const m___TVOS_14_3 = 140300
  772. const m___TVOS_14_5 = 140500
  773. const m___TVOS_14_6 = 140600
  774. const m___TVOS_14_7 = 140700
  775. const m___TVOS_15_0 = 150000
  776. const m___TVOS_15_1 = 150100
  777. const m___TVOS_15_2 = 150200
  778. const m___TVOS_15_3 = 150300
  779. const m___TVOS_15_4 = 150400
  780. const m___TVOS_15_5 = 150500
  781. const m___TVOS_15_6 = 150600
  782. const m___TVOS_16_0 = 160000
  783. const m___TVOS_16_1 = 160100
  784. const m___TVOS_16_2 = 160200
  785. const m___TVOS_16_3 = 160300
  786. const m___TVOS_16_4 = 160400
  787. const m___TVOS_16_5 = 160500
  788. const m___TVOS_16_6 = 160600
  789. const m___TVOS_17_0 = 170000
  790. const m___TVOS_17_1 = 170100
  791. const m___TVOS_17_2 = 170200
  792. const m___TVOS_17_3 = 170300
  793. const m___TVOS_17_4 = 170400
  794. const m___TVOS_17_5 = 170500
  795. const m___TVOS_17_6 = 170600
  796. const m___TVOS_18_0 = 180000
  797. const m___TVOS_18_1 = 180100
  798. const m___TVOS_18_2 = 180200
  799. const m___TVOS_18_3 = 180300
  800. const m___TVOS_18_4 = 180400
  801. const m___TVOS_9_0 = 90000
  802. const m___TVOS_9_1 = 90100
  803. const m___TVOS_9_2 = 90200
  804. const m___UINT16_FMTX__ = "hX"
  805. const m___UINT16_FMTo__ = "ho"
  806. const m___UINT16_FMTu__ = "hu"
  807. const m___UINT16_FMTx__ = "hx"
  808. const m___UINT16_MAX__ = 65535
  809. const m___UINT32_C_SUFFIX__ = "U"
  810. const m___UINT32_FMTX__ = "X"
  811. const m___UINT32_FMTo__ = "o"
  812. const m___UINT32_FMTu__ = "u"
  813. const m___UINT32_FMTx__ = "x"
  814. const m___UINT32_MAX__ = 4294967295
  815. const m___UINT64_C_SUFFIX__ = "ULL"
  816. const m___UINT64_FMTX__ = "llX"
  817. const m___UINT64_FMTo__ = "llo"
  818. const m___UINT64_FMTu__ = "llu"
  819. const m___UINT64_FMTx__ = "llx"
  820. const m___UINT64_MAX__ = "18446744073709551615U"
  821. const m___UINT8_FMTX__ = "hhX"
  822. const m___UINT8_FMTo__ = "hho"
  823. const m___UINT8_FMTu__ = "hhu"
  824. const m___UINT8_FMTx__ = "hhx"
  825. const m___UINT8_MAX__ = 255
  826. const m___UINTMAX_C_SUFFIX__ = "UL"
  827. const m___UINTMAX_FMTX__ = "lX"
  828. const m___UINTMAX_FMTo__ = "lo"
  829. const m___UINTMAX_FMTu__ = "lu"
  830. const m___UINTMAX_FMTx__ = "lx"
  831. const m___UINTMAX_MAX__ = 18446744073709551615
  832. const m___UINTMAX_WIDTH__ = 64
  833. const m___UINTPTR_FMTX__ = "lX"
  834. const m___UINTPTR_FMTo__ = "lo"
  835. const m___UINTPTR_FMTu__ = "lu"
  836. const m___UINTPTR_FMTx__ = "lx"
  837. const m___UINTPTR_MAX__ = 18446744073709551615
  838. const m___UINTPTR_WIDTH__ = 64
  839. const m___UINT_FAST16_FMTX__ = "hX"
  840. const m___UINT_FAST16_FMTo__ = "ho"
  841. const m___UINT_FAST16_FMTu__ = "hu"
  842. const m___UINT_FAST16_FMTx__ = "hx"
  843. const m___UINT_FAST16_MAX__ = 65535
  844. const m___UINT_FAST32_FMTX__ = "X"
  845. const m___UINT_FAST32_FMTo__ = "o"
  846. const m___UINT_FAST32_FMTu__ = "u"
  847. const m___UINT_FAST32_FMTx__ = "x"
  848. const m___UINT_FAST32_MAX__ = 4294967295
  849. const m___UINT_FAST64_FMTX__ = "llX"
  850. const m___UINT_FAST64_FMTo__ = "llo"
  851. const m___UINT_FAST64_FMTu__ = "llu"
  852. const m___UINT_FAST64_FMTx__ = "llx"
  853. const m___UINT_FAST64_MAX__ = "18446744073709551615U"
  854. const m___UINT_FAST8_FMTX__ = "hhX"
  855. const m___UINT_FAST8_FMTo__ = "hho"
  856. const m___UINT_FAST8_FMTu__ = "hhu"
  857. const m___UINT_FAST8_FMTx__ = "hhx"
  858. const m___UINT_FAST8_MAX__ = 255
  859. const m___UINT_LEAST16_FMTX__ = "hX"
  860. const m___UINT_LEAST16_FMTo__ = "ho"
  861. const m___UINT_LEAST16_FMTu__ = "hu"
  862. const m___UINT_LEAST16_FMTx__ = "hx"
  863. const m___UINT_LEAST16_MAX__ = 65535
  864. const m___UINT_LEAST32_FMTX__ = "X"
  865. const m___UINT_LEAST32_FMTo__ = "o"
  866. const m___UINT_LEAST32_FMTu__ = "u"
  867. const m___UINT_LEAST32_FMTx__ = "x"
  868. const m___UINT_LEAST32_MAX__ = 4294967295
  869. const m___UINT_LEAST64_FMTX__ = "llX"
  870. const m___UINT_LEAST64_FMTo__ = "llo"
  871. const m___UINT_LEAST64_FMTu__ = "llu"
  872. const m___UINT_LEAST64_FMTx__ = "llx"
  873. const m___UINT_LEAST64_MAX = "UINT64_MAX"
  874. const m___UINT_LEAST64_MAX__ = "18446744073709551615U"
  875. const m___UINT_LEAST8_FMTX__ = "hhX"
  876. const m___UINT_LEAST8_FMTo__ = "hho"
  877. const m___UINT_LEAST8_FMTu__ = "hhu"
  878. const m___UINT_LEAST8_FMTx__ = "hhx"
  879. const m___UINT_LEAST8_MAX__ = 255
  880. const m___USER_LABEL_PREFIX__ = "_"
  881. const m___VERSION__ = "Apple LLVM 17.0.0 (clang-1700.0.13.3)"
  882. const m___VISIONOS_1_0 = 10000
  883. const m___VISIONOS_1_1 = 10100
  884. const m___VISIONOS_1_2 = 10200
  885. const m___VISIONOS_1_3 = 10300
  886. const m___VISIONOS_2_0 = 20000
  887. const m___VISIONOS_2_1 = 20100
  888. const m___VISIONOS_2_2 = 20200
  889. const m___VISIONOS_2_3 = 20300
  890. const m___VISIONOS_2_4 = 20400
  891. const m___WATCHOS_10_0 = 100000
  892. const m___WATCHOS_10_1 = 100100
  893. const m___WATCHOS_10_2 = 100200
  894. const m___WATCHOS_10_3 = 100300
  895. const m___WATCHOS_10_4 = 100400
  896. const m___WATCHOS_10_5 = 100500
  897. const m___WATCHOS_10_6 = 100600
  898. const m___WATCHOS_10_7 = 100700
  899. const m___WATCHOS_11_0 = 110000
  900. const m___WATCHOS_11_1 = 110100
  901. const m___WATCHOS_11_2 = 110200
  902. const m___WATCHOS_11_3 = 110300
  903. const m___WATCHOS_11_4 = 110400
  904. const m___WATCHOS_1_0 = 10000
  905. const m___WATCHOS_2_0 = 20000
  906. const m___WATCHOS_2_1 = 20100
  907. const m___WATCHOS_2_2 = 20200
  908. const m___WATCHOS_3_0 = 30000
  909. const m___WATCHOS_3_1 = 30100
  910. const m___WATCHOS_3_1_1 = 30101
  911. const m___WATCHOS_3_2 = 30200
  912. const m___WATCHOS_4_0 = 40000
  913. const m___WATCHOS_4_1 = 40100
  914. const m___WATCHOS_4_2 = 40200
  915. const m___WATCHOS_4_3 = 40300
  916. const m___WATCHOS_5_0 = 50000
  917. const m___WATCHOS_5_1 = 50100
  918. const m___WATCHOS_5_2 = 50200
  919. const m___WATCHOS_5_3 = 50300
  920. const m___WATCHOS_6_0 = 60000
  921. const m___WATCHOS_6_1 = 60100
  922. const m___WATCHOS_6_2 = 60200
  923. const m___WATCHOS_7_0 = 70000
  924. const m___WATCHOS_7_1 = 70100
  925. const m___WATCHOS_7_2 = 70200
  926. const m___WATCHOS_7_3 = 70300
  927. const m___WATCHOS_7_4 = 70400
  928. const m___WATCHOS_7_5 = 70500
  929. const m___WATCHOS_7_6 = 70600
  930. const m___WATCHOS_8_0 = 80000
  931. const m___WATCHOS_8_1 = 80100
  932. const m___WATCHOS_8_3 = 80300
  933. const m___WATCHOS_8_4 = 80400
  934. const m___WATCHOS_8_5 = 80500
  935. const m___WATCHOS_8_6 = 80600
  936. const m___WATCHOS_8_7 = 80700
  937. const m___WATCHOS_8_8 = 80800
  938. const m___WATCHOS_9_0 = 90000
  939. const m___WATCHOS_9_1 = 90100
  940. const m___WATCHOS_9_2 = 90200
  941. const m___WATCHOS_9_3 = 90300
  942. const m___WATCHOS_9_4 = 90400
  943. const m___WATCHOS_9_5 = 90500
  944. const m___WATCHOS_9_6 = 90600
  945. const m___WCHAR_MAX__ = 2147483647
  946. const m___WCHAR_TYPE__ = "int"
  947. const m___WCHAR_WIDTH__ = 32
  948. const m___WINT_MAX__ = 2147483647
  949. const m___WINT_TYPE__ = "int"
  950. const m___WINT_WIDTH__ = 32
  951. const m___aarch64__ = 1
  952. const m___apple_build_version__ = 17000013
  953. const m___arm64 = 1
  954. const m___arm64__ = 1
  955. const m___clang__ = 1
  956. const m___clang_literal_encoding__ = "UTF-8"
  957. const m___clang_major__ = 17
  958. const m___clang_minor__ = 0
  959. const m___clang_patchlevel__ = 0
  960. const m___clang_version__ = "17.0.0 (clang-1700.0.13.3)"
  961. const m___clang_wide_literal_encoding__ = "UTF-32"
  962. const m___const = "const"
  963. const m___has_bounds_safety_attributes = 0
  964. const m___has_ptrcheck = 0
  965. const m___has_safe_buffers = 0
  966. const m___header_inline = "inline"
  967. const m___llvm__ = 1
  968. const m___nonnull = "_Nonnull"
  969. const m___null_unspecified = "_Null_unspecified"
  970. const m___nullable = "_Nullable"
  971. const m___pic__ = 2
  972. const m___restrict = "restrict"
  973. const m___restrict_arr = "restrict"
  974. const m___signed = "signed"
  975. const m___volatile = "volatile"
  976. type t__builtin_va_list = uintptr
  977. type t__predefined_size_t = uint64
  978. type t__predefined_wchar_t = int32
  979. type t__predefined_ptrdiff_t = int64
  980. type t__int8_t = int8
  981. type t__uint8_t = uint8
  982. type t__int16_t = int16
  983. type t__uint16_t = uint16
  984. type t__int32_t = int32
  985. type t__uint32_t = uint32
  986. type t__int64_t = int64
  987. type t__uint64_t = uint64
  988. type t__darwin_intptr_t = int64
  989. type t__darwin_natural_t = uint32
  990. type t__darwin_ct_rune_t = int32
  991. type t__mbstate_t = struct {
  992. F_mbstateL [0]int64
  993. F__mbstate8 [128]int8
  994. }
  995. type t__darwin_mbstate_t = struct {
  996. F_mbstateL [0]int64
  997. F__mbstate8 [128]int8
  998. }
  999. type t__darwin_ptrdiff_t = int64
  1000. type t__darwin_size_t = uint64
  1001. type t__darwin_va_list = uintptr
  1002. type t__darwin_wchar_t = int32
  1003. type t__darwin_rune_t = int32
  1004. type t__darwin_wint_t = int32
  1005. type t__darwin_clock_t = uint64
  1006. type t__darwin_socklen_t = uint32
  1007. type t__darwin_ssize_t = int64
  1008. type t__darwin_time_t = int64
  1009. type Tint8_t = int8
  1010. type Tint16_t = int16
  1011. type Tint32_t = int32
  1012. type Tint64_t = int64
  1013. type Tu_int8_t = uint8
  1014. type Tu_int16_t = uint16
  1015. type Tu_int32_t = uint32
  1016. type Tu_int64_t = uint64
  1017. type Tregister_t = int64
  1018. type Tintptr_t = int64
  1019. type Tuintptr_t = uint64
  1020. type Tuser_addr_t = uint64
  1021. type Tuser_size_t = uint64
  1022. type Tuser_ssize_t = int64
  1023. type Tuser_long_t = int64
  1024. type Tuser_ulong_t = uint64
  1025. type Tuser_time_t = int64
  1026. type Tuser_off_t = int64
  1027. type Tsyscall_arg_t = uint64
  1028. type t__darwin_blkcnt_t = int64
  1029. type t__darwin_blksize_t = int32
  1030. type t__darwin_dev_t = int32
  1031. type t__darwin_fsblkcnt_t = uint32
  1032. type t__darwin_fsfilcnt_t = uint32
  1033. type t__darwin_gid_t = uint32
  1034. type t__darwin_id_t = uint32
  1035. type t__darwin_ino64_t = uint64
  1036. type t__darwin_ino_t = uint64
  1037. type t__darwin_mach_port_name_t = uint32
  1038. type t__darwin_mach_port_t = uint32
  1039. type t__darwin_mode_t = uint16
  1040. type t__darwin_off_t = int64
  1041. type t__darwin_pid_t = int32
  1042. type t__darwin_sigset_t = uint32
  1043. type t__darwin_suseconds_t = int32
  1044. type t__darwin_uid_t = uint32
  1045. type t__darwin_useconds_t = uint32
  1046. type t__darwin_uuid_t = [16]uint8
  1047. type t__darwin_uuid_string_t = [37]int8
  1048. type t__darwin_pthread_handler_rec = struct {
  1049. F__routine uintptr
  1050. F__arg uintptr
  1051. F__next uintptr
  1052. }
  1053. type T_opaque_pthread_attr_t = struct {
  1054. F__sig int64
  1055. F__opaque [56]int8
  1056. }
  1057. type T_opaque_pthread_cond_t = struct {
  1058. F__sig int64
  1059. F__opaque [40]int8
  1060. }
  1061. type T_opaque_pthread_condattr_t = struct {
  1062. F__sig int64
  1063. F__opaque [8]int8
  1064. }
  1065. type T_opaque_pthread_mutex_t = struct {
  1066. F__sig int64
  1067. F__opaque [56]int8
  1068. }
  1069. type T_opaque_pthread_mutexattr_t = struct {
  1070. F__sig int64
  1071. F__opaque [8]int8
  1072. }
  1073. type T_opaque_pthread_once_t = struct {
  1074. F__sig int64
  1075. F__opaque [8]int8
  1076. }
  1077. type T_opaque_pthread_rwlock_t = struct {
  1078. F__sig int64
  1079. F__opaque [192]int8
  1080. }
  1081. type T_opaque_pthread_rwlockattr_t = struct {
  1082. F__sig int64
  1083. F__opaque [16]int8
  1084. }
  1085. type T_opaque_pthread_t = struct {
  1086. F__sig int64
  1087. F__cleanup_stack uintptr
  1088. F__opaque [8176]int8
  1089. }
  1090. type t__darwin_pthread_attr_t = struct {
  1091. F__sig int64
  1092. F__opaque [56]int8
  1093. }
  1094. type t__darwin_pthread_cond_t = struct {
  1095. F__sig int64
  1096. F__opaque [40]int8
  1097. }
  1098. type t__darwin_pthread_condattr_t = struct {
  1099. F__sig int64
  1100. F__opaque [8]int8
  1101. }
  1102. type t__darwin_pthread_key_t = uint64
  1103. type t__darwin_pthread_mutex_t = struct {
  1104. F__sig int64
  1105. F__opaque [56]int8
  1106. }
  1107. type t__darwin_pthread_mutexattr_t = struct {
  1108. F__sig int64
  1109. F__opaque [8]int8
  1110. }
  1111. type t__darwin_pthread_once_t = struct {
  1112. F__sig int64
  1113. F__opaque [8]int8
  1114. }
  1115. type t__darwin_pthread_rwlock_t = struct {
  1116. F__sig int64
  1117. F__opaque [192]int8
  1118. }
  1119. type t__darwin_pthread_rwlockattr_t = struct {
  1120. F__sig int64
  1121. F__opaque [16]int8
  1122. }
  1123. type t__darwin_pthread_t = uintptr
  1124. type Tu_char = uint8
  1125. type Tu_short = uint16
  1126. type Tu_int = uint32
  1127. type Tu_long = uint64
  1128. type Tushort = uint16
  1129. type Tuint = uint32
  1130. type Tu_quad_t = uint64
  1131. type Tquad_t = int64
  1132. type Tqaddr_t = uintptr
  1133. type Tcaddr_t = uintptr
  1134. type Tdaddr_t = int32
  1135. type Tdev_t = int32
  1136. type Tfixpt_t = uint32
  1137. type Tblkcnt_t = int64
  1138. type Tblksize_t = int32
  1139. type Tgid_t = uint32
  1140. type Tin_addr_t = uint32
  1141. type Tin_port_t = uint16
  1142. type Tino_t = uint64
  1143. type Tino64_t = uint64
  1144. type Tkey_t = int32
  1145. type Tmode_t = uint16
  1146. type Tnlink_t = uint16
  1147. type Tid_t = uint32
  1148. type Tpid_t = int32
  1149. type Toff_t = int64
  1150. type Tsegsz_t = int32
  1151. type Tswblk_t = int32
  1152. type Tuid_t = uint32
  1153. type Tclock_t = uint64
  1154. type Tsize_t = uint64
  1155. type Tssize_t = int64
  1156. type Ttime_t = int64
  1157. type Tuseconds_t = uint32
  1158. type Tsuseconds_t = int32
  1159. type Trsize_t = uint64
  1160. type Terrno_t = int32
  1161. type Tfd_set = struct {
  1162. Ffds_bits [32]t__int32_t
  1163. }
  1164. type Tfd_mask = int32
  1165. type Tpthread_attr_t = struct {
  1166. F__sig int64
  1167. F__opaque [56]int8
  1168. }
  1169. type Tpthread_cond_t = struct {
  1170. F__sig int64
  1171. F__opaque [40]int8
  1172. }
  1173. type Tpthread_condattr_t = struct {
  1174. F__sig int64
  1175. F__opaque [8]int8
  1176. }
  1177. type Tpthread_mutex_t = struct {
  1178. F__sig int64
  1179. F__opaque [56]int8
  1180. }
  1181. type Tpthread_mutexattr_t = struct {
  1182. F__sig int64
  1183. F__opaque [8]int8
  1184. }
  1185. type Tpthread_once_t = struct {
  1186. F__sig int64
  1187. F__opaque [8]int8
  1188. }
  1189. type Tpthread_rwlock_t = struct {
  1190. F__sig int64
  1191. F__opaque [192]int8
  1192. }
  1193. type Tpthread_rwlockattr_t = struct {
  1194. F__sig int64
  1195. F__opaque [16]int8
  1196. }
  1197. type Tpthread_t = uintptr
  1198. type Tpthread_key_t = uint64
  1199. type Tfsblkcnt_t = uint32
  1200. type Tfsfilcnt_t = uint32
  1201. type Tuint64_t = uint64
  1202. type Tint_least64_t = int64
  1203. type Tuint_least64_t = uint64
  1204. type Tint_fast64_t = int64
  1205. type Tuint_fast64_t = uint64
  1206. type Tuint32_t = uint32
  1207. type Tint_least32_t = int32
  1208. type Tuint_least32_t = uint32
  1209. type Tint_fast32_t = int32
  1210. type Tuint_fast32_t = uint32
  1211. type Tuint16_t = uint16
  1212. type Tint_least16_t = int16
  1213. type Tuint_least16_t = uint16
  1214. type Tint_fast16_t = int16
  1215. type Tuint_fast16_t = uint16
  1216. type Tuint8_t = uint8
  1217. type Tint_least8_t = int8
  1218. type Tuint_least8_t = uint8
  1219. type Tint_fast8_t = int8
  1220. type Tuint_fast8_t = uint8
  1221. type Tintmax_t = int64
  1222. type Tuintmax_t = uint64
  1223. type TMD2_CTX = struct {
  1224. Fi Tuint32_t
  1225. FC [16]uint8
  1226. FX [48]uint8
  1227. }
  1228. type TMD2Context = TMD2_CTX
  1229. type t__darwin_nl_item = int32
  1230. type t__darwin_wctrans_t = int32
  1231. type t__darwin_wctype_t = uint32
  1232. /* Security checking functions. */
  1233. /*
  1234. * Copyright (c) 2017, 2023 Apple Inc. All rights reserved.
  1235. *
  1236. * @APPLE_LICENSE_HEADER_START@
  1237. *
  1238. * This file contains Original Code and/or Modifications of Original Code
  1239. * as defined in and that are subject to the Apple Public Source License
  1240. * Version 2.0 (the 'License'). You may not use this file except in
  1241. * compliance with the License. Please obtain a copy of the License at
  1242. * http://www.opensource.apple.com/apsl/ and read it before using this
  1243. * file.
  1244. *
  1245. * The Original Code and all software distributed under the License are
  1246. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1247. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1248. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1249. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1250. * Please see the License for the specific language governing rights and
  1251. * limitations under the License.
  1252. *
  1253. * @APPLE_LICENSE_HEADER_END@
  1254. */
  1255. /*
  1256. * Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  1257. *
  1258. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1259. *
  1260. * This file contains Original Code and/or Modifications of Original Code
  1261. * as defined in and that are subject to the Apple Public Source License
  1262. * Version 2.0 (the 'License'). You may not use this file except in
  1263. * compliance with the License. The rights granted to you under the License
  1264. * may not be used to create, or enable the creation or redistribution of,
  1265. * unlawful or unlicensed copies of an Apple operating system, or to
  1266. * circumvent, violate, or enable the circumvention or violation of, any
  1267. * terms of an Apple operating system software license agreement.
  1268. *
  1269. * Please obtain a copy of the License at
  1270. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  1271. *
  1272. * The Original Code and all software distributed under the License are
  1273. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1274. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1275. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1276. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1277. * Please see the License for the specific language governing rights and
  1278. * limitations under the License.
  1279. *
  1280. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1281. */
  1282. /* Copyright 1995 NeXT Computer, Inc. All rights reserved. */
  1283. /*
  1284. * Copyright (c) 1991, 1993
  1285. * The Regents of the University of California. All rights reserved.
  1286. *
  1287. * This code is derived from software contributed to Berkeley by
  1288. * Berkeley Software Design, Inc.
  1289. *
  1290. * Redistribution and use in source and binary forms, with or without
  1291. * modification, are permitted provided that the following conditions
  1292. * are met:
  1293. * 1. Redistributions of source code must retain the above copyright
  1294. * notice, this list of conditions and the following disclaimer.
  1295. * 2. Redistributions in binary form must reproduce the above copyright
  1296. * notice, this list of conditions and the following disclaimer in the
  1297. * documentation and/or other materials provided with the distribution.
  1298. * 3. All advertising materials mentioning features or use of this software
  1299. * must display the following acknowledgement:
  1300. * This product includes software developed by the University of
  1301. * California, Berkeley and its contributors.
  1302. * 4. Neither the name of the University nor the names of its contributors
  1303. * may be used to endorse or promote products derived from this software
  1304. * without specific prior written permission.
  1305. *
  1306. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1307. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1308. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1309. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1310. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1311. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1312. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1313. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1314. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1315. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1316. * SUCH DAMAGE.
  1317. *
  1318. * @(#)cdefs.h 8.8 (Berkeley) 1/9/95
  1319. */
  1320. /*
  1321. * Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  1322. *
  1323. * @APPLE_LICENSE_HEADER_START@
  1324. *
  1325. * This file contains Original Code and/or Modifications of Original Code
  1326. * as defined in and that are subject to the Apple Public Source License
  1327. * Version 2.0 (the 'License'). You may not use this file except in
  1328. * compliance with the License. Please obtain a copy of the License at
  1329. * http://www.opensource.apple.com/apsl/ and read it before using this
  1330. * file.
  1331. *
  1332. * The Original Code and all software distributed under the License are
  1333. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1334. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1335. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1336. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1337. * Please see the License for the specific language governing rights and
  1338. * limitations under the License.
  1339. *
  1340. * @APPLE_LICENSE_HEADER_END@
  1341. */
  1342. // This is explicitly outside the header guard
  1343. /*
  1344. * Copyright (c) 2007, 2008 Apple Inc. All rights reserved.
  1345. *
  1346. * @APPLE_LICENSE_HEADER_START@
  1347. *
  1348. * This file contains Original Code and/or Modifications of Original Code
  1349. * as defined in and that are subject to the Apple Public Source License
  1350. * Version 2.0 (the 'License'). You may not use this file except in
  1351. * compliance with the License. Please obtain a copy of the License at
  1352. * http://www.opensource.apple.com/apsl/ and read it before using this
  1353. * file.
  1354. *
  1355. * The Original Code and all software distributed under the License are
  1356. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1357. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1358. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1359. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1360. * Please see the License for the specific language governing rights and
  1361. * limitations under the License.
  1362. *
  1363. * @APPLE_LICENSE_HEADER_END@
  1364. */
  1365. /*
  1366. * Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
  1367. *
  1368. * @APPLE_LICENSE_HEADER_START@
  1369. *
  1370. * This file contains Original Code and/or Modifications of Original Code
  1371. * as defined in and that are subject to the Apple Public Source License
  1372. * Version 2.0 (the 'License'). You may not use this file except in
  1373. * compliance with the License. Please obtain a copy of the License at
  1374. * http://www.opensource.apple.com/apsl/ and read it before using this
  1375. * file.
  1376. *
  1377. * The Original Code and all software distributed under the License are
  1378. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1379. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1380. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1381. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1382. * Please see the License for the specific language governing rights and
  1383. * limitations under the License.
  1384. *
  1385. * @APPLE_LICENSE_HEADER_END@
  1386. */
  1387. /* bcopy and bzero */
  1388. /* Removed in Issue 7 */
  1389. /* void bcopy(const void *src, void *dst, size_t len) */
  1390. /* void bzero(void *s, size_t n) */
  1391. /* Security checking functions. */
  1392. /*
  1393. * Copyright (c) 2007,2017,2023 Apple Inc. All rights reserved.
  1394. *
  1395. * @APPLE_LICENSE_HEADER_START@
  1396. *
  1397. * This file contains Original Code and/or Modifications of Original Code
  1398. * as defined in and that are subject to the Apple Public Source License
  1399. * Version 2.0 (the 'License'). You may not use this file except in
  1400. * compliance with the License. Please obtain a copy of the License at
  1401. * http://www.opensource.apple.com/apsl/ and read it before using this
  1402. * file.
  1403. *
  1404. * The Original Code and all software distributed under the License are
  1405. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1406. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1407. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1408. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1409. * Please see the License for the specific language governing rights and
  1410. * limitations under the License.
  1411. *
  1412. * @APPLE_LICENSE_HEADER_END@
  1413. */
  1414. /*
  1415. * Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  1416. *
  1417. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1418. *
  1419. * This file contains Original Code and/or Modifications of Original Code
  1420. * as defined in and that are subject to the Apple Public Source License
  1421. * Version 2.0 (the 'License'). You may not use this file except in
  1422. * compliance with the License. The rights granted to you under the License
  1423. * may not be used to create, or enable the creation or redistribution of,
  1424. * unlawful or unlicensed copies of an Apple operating system, or to
  1425. * circumvent, violate, or enable the circumvention or violation of, any
  1426. * terms of an Apple operating system software license agreement.
  1427. *
  1428. * Please obtain a copy of the License at
  1429. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  1430. *
  1431. * The Original Code and all software distributed under the License are
  1432. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1433. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1434. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1435. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1436. * Please see the License for the specific language governing rights and
  1437. * limitations under the License.
  1438. *
  1439. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1440. */
  1441. /* Copyright 1995 NeXT Computer, Inc. All rights reserved. */
  1442. /*
  1443. * Copyright (c) 1991, 1993
  1444. * The Regents of the University of California. All rights reserved.
  1445. *
  1446. * This code is derived from software contributed to Berkeley by
  1447. * Berkeley Software Design, Inc.
  1448. *
  1449. * Redistribution and use in source and binary forms, with or without
  1450. * modification, are permitted provided that the following conditions
  1451. * are met:
  1452. * 1. Redistributions of source code must retain the above copyright
  1453. * notice, this list of conditions and the following disclaimer.
  1454. * 2. Redistributions in binary form must reproduce the above copyright
  1455. * notice, this list of conditions and the following disclaimer in the
  1456. * documentation and/or other materials provided with the distribution.
  1457. * 3. All advertising materials mentioning features or use of this software
  1458. * must display the following acknowledgement:
  1459. * This product includes software developed by the University of
  1460. * California, Berkeley and its contributors.
  1461. * 4. Neither the name of the University nor the names of its contributors
  1462. * may be used to endorse or promote products derived from this software
  1463. * without specific prior written permission.
  1464. *
  1465. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1466. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1467. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1468. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1469. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1470. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1471. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1472. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1473. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1474. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1475. * SUCH DAMAGE.
  1476. *
  1477. * @(#)cdefs.h 8.8 (Berkeley) 1/9/95
  1478. */
  1479. /*
  1480. * Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  1481. *
  1482. * @APPLE_LICENSE_HEADER_START@
  1483. *
  1484. * This file contains Original Code and/or Modifications of Original Code
  1485. * as defined in and that are subject to the Apple Public Source License
  1486. * Version 2.0 (the 'License'). You may not use this file except in
  1487. * compliance with the License. Please obtain a copy of the License at
  1488. * http://www.opensource.apple.com/apsl/ and read it before using this
  1489. * file.
  1490. *
  1491. * The Original Code and all software distributed under the License are
  1492. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1493. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1494. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1495. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1496. * Please see the License for the specific language governing rights and
  1497. * limitations under the License.
  1498. *
  1499. * @APPLE_LICENSE_HEADER_END@
  1500. */
  1501. // This is explicitly outside the header guard
  1502. /*
  1503. * Copyright (c) 2007, 2008 Apple Inc. All rights reserved.
  1504. *
  1505. * @APPLE_LICENSE_HEADER_START@
  1506. *
  1507. * This file contains Original Code and/or Modifications of Original Code
  1508. * as defined in and that are subject to the Apple Public Source License
  1509. * Version 2.0 (the 'License'). You may not use this file except in
  1510. * compliance with the License. Please obtain a copy of the License at
  1511. * http://www.opensource.apple.com/apsl/ and read it before using this
  1512. * file.
  1513. *
  1514. * The Original Code and all software distributed under the License are
  1515. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1516. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1517. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1518. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1519. * Please see the License for the specific language governing rights and
  1520. * limitations under the License.
  1521. *
  1522. * @APPLE_LICENSE_HEADER_END@
  1523. */
  1524. /* <rdar://problem/12622659> */
  1525. /* memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy,
  1526. strncpy, stpncpy, strcat, strlcat, and strncat */
  1527. /* void *memcpy(void *dst, const void *src, size_t n) */
  1528. /* void *memmove(void *dst, const void *src, size_t len) */
  1529. /* void *memset(void *b, int c, size_t len) */
  1530. /* char *strcpy(char *dst, const char *src) */
  1531. /* char *stpcpy(char *dst, const char *src) */
  1532. /* char *stpncpy(char *dst, const char *src, size_t n) */
  1533. /* char *strncpy(char *dst, const char *src, size_t n) */
  1534. /* char *strcat(char *s1, const char *s2) */
  1535. /* char *strncat(char *s1, const char *s2, size_t n) */
  1536. // C documentation
  1537. //
  1538. // /* cut-n-pasted from rfc1319 */
  1539. var _S = [256]uint8{
  1540. 0: uint8(41),
  1541. 1: uint8(46),
  1542. 2: uint8(67),
  1543. 3: uint8(201),
  1544. 4: uint8(162),
  1545. 5: uint8(216),
  1546. 6: uint8(124),
  1547. 7: uint8(1),
  1548. 8: uint8(61),
  1549. 9: uint8(54),
  1550. 10: uint8(84),
  1551. 11: uint8(161),
  1552. 12: uint8(236),
  1553. 13: uint8(240),
  1554. 14: uint8(6),
  1555. 15: uint8(19),
  1556. 16: uint8(98),
  1557. 17: uint8(167),
  1558. 18: uint8(5),
  1559. 19: uint8(243),
  1560. 20: uint8(192),
  1561. 21: uint8(199),
  1562. 22: uint8(115),
  1563. 23: uint8(140),
  1564. 24: uint8(152),
  1565. 25: uint8(147),
  1566. 26: uint8(43),
  1567. 27: uint8(217),
  1568. 28: uint8(188),
  1569. 29: uint8(76),
  1570. 30: uint8(130),
  1571. 31: uint8(202),
  1572. 32: uint8(30),
  1573. 33: uint8(155),
  1574. 34: uint8(87),
  1575. 35: uint8(60),
  1576. 36: uint8(253),
  1577. 37: uint8(212),
  1578. 38: uint8(224),
  1579. 39: uint8(22),
  1580. 40: uint8(103),
  1581. 41: uint8(66),
  1582. 42: uint8(111),
  1583. 43: uint8(24),
  1584. 44: uint8(138),
  1585. 45: uint8(23),
  1586. 46: uint8(229),
  1587. 47: uint8(18),
  1588. 48: uint8(190),
  1589. 49: uint8(78),
  1590. 50: uint8(196),
  1591. 51: uint8(214),
  1592. 52: uint8(218),
  1593. 53: uint8(158),
  1594. 54: uint8(222),
  1595. 55: uint8(73),
  1596. 56: uint8(160),
  1597. 57: uint8(251),
  1598. 58: uint8(245),
  1599. 59: uint8(142),
  1600. 60: uint8(187),
  1601. 61: uint8(47),
  1602. 62: uint8(238),
  1603. 63: uint8(122),
  1604. 64: uint8(169),
  1605. 65: uint8(104),
  1606. 66: uint8(121),
  1607. 67: uint8(145),
  1608. 68: uint8(21),
  1609. 69: uint8(178),
  1610. 70: uint8(7),
  1611. 71: uint8(63),
  1612. 72: uint8(148),
  1613. 73: uint8(194),
  1614. 74: uint8(16),
  1615. 75: uint8(137),
  1616. 76: uint8(11),
  1617. 77: uint8(34),
  1618. 78: uint8(95),
  1619. 79: uint8(33),
  1620. 80: uint8(128),
  1621. 81: uint8(127),
  1622. 82: uint8(93),
  1623. 83: uint8(154),
  1624. 84: uint8(90),
  1625. 85: uint8(144),
  1626. 86: uint8(50),
  1627. 87: uint8(39),
  1628. 88: uint8(53),
  1629. 89: uint8(62),
  1630. 90: uint8(204),
  1631. 91: uint8(231),
  1632. 92: uint8(191),
  1633. 93: uint8(247),
  1634. 94: uint8(151),
  1635. 95: uint8(3),
  1636. 96: uint8(255),
  1637. 97: uint8(25),
  1638. 98: uint8(48),
  1639. 99: uint8(179),
  1640. 100: uint8(72),
  1641. 101: uint8(165),
  1642. 102: uint8(181),
  1643. 103: uint8(209),
  1644. 104: uint8(215),
  1645. 105: uint8(94),
  1646. 106: uint8(146),
  1647. 107: uint8(42),
  1648. 108: uint8(172),
  1649. 109: uint8(86),
  1650. 110: uint8(170),
  1651. 111: uint8(198),
  1652. 112: uint8(79),
  1653. 113: uint8(184),
  1654. 114: uint8(56),
  1655. 115: uint8(210),
  1656. 116: uint8(150),
  1657. 117: uint8(164),
  1658. 118: uint8(125),
  1659. 119: uint8(182),
  1660. 120: uint8(118),
  1661. 121: uint8(252),
  1662. 122: uint8(107),
  1663. 123: uint8(226),
  1664. 124: uint8(156),
  1665. 125: uint8(116),
  1666. 126: uint8(4),
  1667. 127: uint8(241),
  1668. 128: uint8(69),
  1669. 129: uint8(157),
  1670. 130: uint8(112),
  1671. 131: uint8(89),
  1672. 132: uint8(100),
  1673. 133: uint8(113),
  1674. 134: uint8(135),
  1675. 135: uint8(32),
  1676. 136: uint8(134),
  1677. 137: uint8(91),
  1678. 138: uint8(207),
  1679. 139: uint8(101),
  1680. 140: uint8(230),
  1681. 141: uint8(45),
  1682. 142: uint8(168),
  1683. 143: uint8(2),
  1684. 144: uint8(27),
  1685. 145: uint8(96),
  1686. 146: uint8(37),
  1687. 147: uint8(173),
  1688. 148: uint8(174),
  1689. 149: uint8(176),
  1690. 150: uint8(185),
  1691. 151: uint8(246),
  1692. 152: uint8(28),
  1693. 153: uint8(70),
  1694. 154: uint8(97),
  1695. 155: uint8(105),
  1696. 156: uint8(52),
  1697. 157: uint8(64),
  1698. 158: uint8(126),
  1699. 159: uint8(15),
  1700. 160: uint8(85),
  1701. 161: uint8(71),
  1702. 162: uint8(163),
  1703. 163: uint8(35),
  1704. 164: uint8(221),
  1705. 165: uint8(81),
  1706. 166: uint8(175),
  1707. 167: uint8(58),
  1708. 168: uint8(195),
  1709. 169: uint8(92),
  1710. 170: uint8(249),
  1711. 171: uint8(206),
  1712. 172: uint8(186),
  1713. 173: uint8(197),
  1714. 174: uint8(234),
  1715. 175: uint8(38),
  1716. 176: uint8(44),
  1717. 177: uint8(83),
  1718. 178: uint8(13),
  1719. 179: uint8(110),
  1720. 180: uint8(133),
  1721. 181: uint8(40),
  1722. 182: uint8(132),
  1723. 183: uint8(9),
  1724. 184: uint8(211),
  1725. 185: uint8(223),
  1726. 186: uint8(205),
  1727. 187: uint8(244),
  1728. 188: uint8(65),
  1729. 189: uint8(129),
  1730. 190: uint8(77),
  1731. 191: uint8(82),
  1732. 192: uint8(106),
  1733. 193: uint8(220),
  1734. 194: uint8(55),
  1735. 195: uint8(200),
  1736. 196: uint8(108),
  1737. 197: uint8(193),
  1738. 198: uint8(171),
  1739. 199: uint8(250),
  1740. 200: uint8(36),
  1741. 201: uint8(225),
  1742. 202: uint8(123),
  1743. 203: uint8(8),
  1744. 204: uint8(12),
  1745. 205: uint8(189),
  1746. 206: uint8(177),
  1747. 207: uint8(74),
  1748. 208: uint8(120),
  1749. 209: uint8(136),
  1750. 210: uint8(149),
  1751. 211: uint8(139),
  1752. 212: uint8(227),
  1753. 213: uint8(99),
  1754. 214: uint8(232),
  1755. 215: uint8(109),
  1756. 216: uint8(233),
  1757. 217: uint8(203),
  1758. 218: uint8(213),
  1759. 219: uint8(254),
  1760. 220: uint8(59),
  1761. 222: uint8(29),
  1762. 223: uint8(57),
  1763. 224: uint8(242),
  1764. 225: uint8(239),
  1765. 226: uint8(183),
  1766. 227: uint8(14),
  1767. 228: uint8(102),
  1768. 229: uint8(88),
  1769. 230: uint8(208),
  1770. 231: uint8(228),
  1771. 232: uint8(166),
  1772. 233: uint8(119),
  1773. 234: uint8(114),
  1774. 235: uint8(248),
  1775. 236: uint8(235),
  1776. 237: uint8(117),
  1777. 238: uint8(75),
  1778. 239: uint8(10),
  1779. 240: uint8(49),
  1780. 241: uint8(68),
  1781. 242: uint8(80),
  1782. 243: uint8(180),
  1783. 244: uint8(143),
  1784. 245: uint8(237),
  1785. 246: uint8(31),
  1786. 247: uint8(26),
  1787. 248: uint8(219),
  1788. 249: uint8(153),
  1789. 250: uint8(141),
  1790. 251: uint8(51),
  1791. 252: uint8(159),
  1792. 253: uint8(17),
  1793. 254: uint8(131),
  1794. 255: uint8(20),
  1795. }
  1796. // C documentation
  1797. //
  1798. // /* cut-n-pasted from rfc1319 */
  1799. var _pad = [17]uintptr{
  1800. 0: __ccgo_ts,
  1801. 1: __ccgo_ts + 1,
  1802. 2: __ccgo_ts + 3,
  1803. 3: __ccgo_ts + 6,
  1804. 4: __ccgo_ts + 10,
  1805. 5: __ccgo_ts + 15,
  1806. 6: __ccgo_ts + 21,
  1807. 7: __ccgo_ts + 28,
  1808. 8: __ccgo_ts + 36,
  1809. 9: __ccgo_ts + 45,
  1810. 10: __ccgo_ts + 55,
  1811. 11: __ccgo_ts + 66,
  1812. 12: __ccgo_ts + 78,
  1813. 13: __ccgo_ts + 91,
  1814. 14: __ccgo_ts + 105,
  1815. 15: __ccgo_ts + 120,
  1816. 16: __ccgo_ts + 136,
  1817. }
  1818. func XMD2Init(tls *libc.TLS, context uintptr) {
  1819. (*TMD2_CTX)(unsafe.Pointer(context)).Fi = uint32(16)
  1820. libc.X__builtin___memset_chk(tls, context+4, 0, uint64(16), ^t__predefined_size_t(0))
  1821. libc.X__builtin___memset_chk(tls, context+20, 0, uint64(48), ^t__predefined_size_t(0))
  1822. }
  1823. func XMD2Update(tls *libc.TLS, context uintptr, input uintptr, inputLen uint32) {
  1824. var idx, piece uint32
  1825. var p2 uintptr
  1826. _, _, _ = idx, piece, p2
  1827. idx = uint32(0)
  1828. for {
  1829. if !(idx < inputLen) {
  1830. break
  1831. }
  1832. piece = uint32(32) - (*TMD2_CTX)(unsafe.Pointer(context)).Fi
  1833. if inputLen-idx < piece {
  1834. piece = inputLen - idx
  1835. }
  1836. libc.X__builtin___memcpy_chk(tls, context+20+uintptr((*TMD2_CTX)(unsafe.Pointer(context)).Fi), input+uintptr(idx), uint64(piece), ^t__predefined_size_t(0))
  1837. p2 = context
  1838. *(*Tuint32_t)(unsafe.Pointer(p2)) += piece
  1839. if *(*Tuint32_t)(unsafe.Pointer(p2)) == uint32(32) {
  1840. XMD2Transform(tls, context)
  1841. } /* resets i */
  1842. goto _1
  1843. _1:
  1844. ;
  1845. idx += piece
  1846. }
  1847. }
  1848. func XMD2Final(tls *libc.TLS, digest uintptr, context uintptr) {
  1849. var padlen uint32
  1850. _ = padlen
  1851. /* padlen should be 1..16 */
  1852. padlen = uint32(32) - (*TMD2_CTX)(unsafe.Pointer(context)).Fi
  1853. /* add padding */
  1854. XMD2Update(tls, context, _pad[padlen], padlen)
  1855. /* add checksum */
  1856. XMD2Update(tls, context, context+4, libc.Uint32FromInt64(16))
  1857. /* copy out final digest */
  1858. libc.X__builtin___memcpy_chk(tls, digest, context+20, libc.Uint64FromInt32(16), ^t__predefined_size_t(0))
  1859. /* reset the context */
  1860. XMD2Init(tls, context)
  1861. }
  1862. // C documentation
  1863. //
  1864. // /*static*/
  1865. func XMD2Transform(tls *libc.TLS, context uintptr) {
  1866. var j, k, l, t, v4 Tuint32_t
  1867. var v6 uint8
  1868. var p2 uintptr
  1869. _, _, _, _, _, _, _ = j, k, l, t, v4, v6, p2
  1870. /* set block "3" and update "checksum" */
  1871. l = uint32(*(*uint8)(unsafe.Pointer(context + 4 + 15)))
  1872. j = libc.Uint32FromInt32(0)
  1873. for {
  1874. if !(j < uint32(16)) {
  1875. break
  1876. }
  1877. *(*uint8)(unsafe.Pointer(context + 20 + uintptr(uint32(32)+j))) = libc.Uint8FromInt32(libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(context + 20 + uintptr(j)))) ^ libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(context + 20 + uintptr(uint32(16)+j)))))
  1878. p2 = context + 4 + uintptr(j)
  1879. *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) ^ libc.Int32FromUint8(_S[uint32(*(*uint8)(unsafe.Pointer(context + 20 + uintptr(uint32(16)+j))))^l]))
  1880. l = uint32(*(*uint8)(unsafe.Pointer(p2)))
  1881. goto _1
  1882. _1:
  1883. ;
  1884. j++
  1885. }
  1886. /* mangle input block */
  1887. v4 = libc.Uint32FromInt32(0)
  1888. j = v4
  1889. t = v4
  1890. for {
  1891. if !(j < uint32(18)) {
  1892. break
  1893. }
  1894. k = uint32(0)
  1895. for {
  1896. if !(k < uint32(48)) {
  1897. break
  1898. }
  1899. v6 = libc.Uint8FromInt32(libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(context + 20 + uintptr(k)))) ^ libc.Int32FromUint8(_S[t]))
  1900. *(*uint8)(unsafe.Pointer(context + 20 + uintptr(k))) = v6
  1901. t = uint32(v6)
  1902. goto _5
  1903. _5:
  1904. ;
  1905. k++
  1906. }
  1907. goto _3
  1908. _3:
  1909. ;
  1910. t = (t + j) % uint32(256)
  1911. j++
  1912. }
  1913. /* reset input pointer */
  1914. (*TMD2_CTX)(unsafe.Pointer(context)).Fi = uint32(16)
  1915. }
  1916. const m_MD4_BLOCK_LENGTH = 64
  1917. const m_MD4_DIGEST_LENGTH = 16
  1918. type TMD4_CTX = struct {
  1919. Fstate [4]Tuint32_t
  1920. Fcount Tuint64_t
  1921. Fbuffer [64]Tuint8_t
  1922. }
  1923. type TMD4Context = TMD4_CTX
  1924. var _PADDING = [64]Tuint8_t{
  1925. 0: uint8(0x80),
  1926. }
  1927. // C documentation
  1928. //
  1929. // /*
  1930. // * Start MD4 accumulation.
  1931. // * Set bit count to 0 and buffer to mysterious initialization constants.
  1932. // */
  1933. func XMD4Init(tls *libc.TLS, ctx uintptr) {
  1934. (*TMD4_CTX)(unsafe.Pointer(ctx)).Fcount = uint64(0)
  1935. *(*Tuint32_t)(unsafe.Pointer(ctx)) = uint32(0x67452301)
  1936. *(*Tuint32_t)(unsafe.Pointer(ctx + 1*4)) = uint32(0xefcdab89)
  1937. *(*Tuint32_t)(unsafe.Pointer(ctx + 2*4)) = uint32(0x98badcfe)
  1938. *(*Tuint32_t)(unsafe.Pointer(ctx + 3*4)) = uint32(0x10325476)
  1939. }
  1940. // C documentation
  1941. //
  1942. // /*
  1943. // * Update context to reflect the concatenation of another buffer full
  1944. // * of bytes.
  1945. // */
  1946. func XMD4Update(tls *libc.TLS, ctx uintptr, input uintptr, len1 Tsize_t) {
  1947. var have, need Tsize_t
  1948. _, _ = have, need
  1949. /* Check how many bytes we already have and how many more we need. */
  1950. have = uint64((*TMD4_CTX)(unsafe.Pointer(ctx)).Fcount >> libc.Int32FromInt32(3) & libc.Uint64FromInt32(libc.Int32FromInt32(m_MD4_BLOCK_LENGTH)-libc.Int32FromInt32(1)))
  1951. need = uint64(m_MD4_BLOCK_LENGTH) - have
  1952. /* Update bitcount */
  1953. *(*Tuint64_t)(unsafe.Pointer(ctx + 16)) += len1 << int32(3)
  1954. if len1 >= need {
  1955. if have != uint64(0) {
  1956. libc.X__builtin___memcpy_chk(tls, ctx+24+uintptr(have), input, need, ^t__predefined_size_t(0))
  1957. XMD4Transform(tls, ctx, ctx+24)
  1958. input += uintptr(need)
  1959. len1 -= need
  1960. have = uint64(0)
  1961. }
  1962. /* Process data in MD4_BLOCK_LENGTH-byte chunks. */
  1963. for len1 >= uint64(m_MD4_BLOCK_LENGTH) {
  1964. XMD4Transform(tls, ctx, input)
  1965. input += uintptr(m_MD4_BLOCK_LENGTH)
  1966. len1 -= uint64(m_MD4_BLOCK_LENGTH)
  1967. }
  1968. }
  1969. /* Handle any remaining bytes of data. */
  1970. if len1 != uint64(0) {
  1971. libc.X__builtin___memcpy_chk(tls, ctx+24+uintptr(have), input, len1, ^t__predefined_size_t(0))
  1972. }
  1973. }
  1974. // C documentation
  1975. //
  1976. // /*
  1977. // * Pad pad to 64-byte boundary with the bit pattern
  1978. // * 1 0* (64-bit count of bits processed, MSB-first)
  1979. // */
  1980. func XMD4Pad(tls *libc.TLS, ctx uintptr) {
  1981. bp := tls.Alloc(16)
  1982. defer tls.Free(16)
  1983. var padlen Tsize_t
  1984. var _ /* count at bp+0 */ [8]Tuint8_t
  1985. _ = padlen
  1986. /* Convert count to 8 bytes in little endian order. */
  1987. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(7)] = uint8((*TMD4_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(56))
  1988. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(6)] = uint8((*TMD4_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(48))
  1989. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(5)] = uint8((*TMD4_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(40))
  1990. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(4)] = uint8((*TMD4_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(32))
  1991. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(3)] = uint8((*TMD4_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(24))
  1992. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(2)] = uint8((*TMD4_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(16))
  1993. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(1)] = uint8((*TMD4_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(8))
  1994. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[0] = uint8((*TMD4_CTX)(unsafe.Pointer(ctx)).Fcount)
  1995. /* Pad out to 56 mod 64. */
  1996. padlen = uint64(uint64(m_MD4_BLOCK_LENGTH) - (*TMD4_CTX)(unsafe.Pointer(ctx)).Fcount>>libc.Int32FromInt32(3)&libc.Uint64FromInt32(libc.Int32FromInt32(m_MD4_BLOCK_LENGTH)-libc.Int32FromInt32(1)))
  1997. if padlen < libc.Uint64FromInt32(libc.Int32FromInt32(1)+libc.Int32FromInt32(8)) {
  1998. padlen += uint64(m_MD4_BLOCK_LENGTH)
  1999. }
  2000. XMD4Update(tls, ctx, uintptr(unsafe.Pointer(&_PADDING)), padlen-uint64(8)) /* padlen - 8 <= 64 */
  2001. XMD4Update(tls, ctx, bp, uint64(8))
  2002. }
  2003. // C documentation
  2004. //
  2005. // /*
  2006. // * Final wrapup--call MD4Pad, fill in digest and zero out ctx.
  2007. // */
  2008. func XMD4Final(tls *libc.TLS, digest uintptr, ctx uintptr) {
  2009. var i int32
  2010. _ = i
  2011. XMD4Pad(tls, ctx)
  2012. i = 0
  2013. for {
  2014. if !(i < int32(4)) {
  2015. break
  2016. }
  2017. *(*uint8)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 3)) = uint8(*(*Tuint32_t)(unsafe.Pointer(ctx + uintptr(i)*4)) >> int32(24))
  2018. *(*uint8)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 2)) = uint8(*(*Tuint32_t)(unsafe.Pointer(ctx + uintptr(i)*4)) >> int32(16))
  2019. *(*uint8)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 1)) = uint8(*(*Tuint32_t)(unsafe.Pointer(ctx + uintptr(i)*4)) >> int32(8))
  2020. *(*uint8)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)))) = uint8(*(*Tuint32_t)(unsafe.Pointer(ctx + uintptr(i)*4)))
  2021. goto _1
  2022. _1:
  2023. ;
  2024. i++
  2025. }
  2026. libc.X__builtin___memset_chk(tls, ctx, 0, uint64(88), ^t__predefined_size_t(0))
  2027. }
  2028. /* The three core functions - F1 is optimized somewhat */
  2029. /* #define F1(x, y, z) (x & y | ~x & z) */
  2030. /* This is the central step in the MD4 algorithm. */
  2031. // C documentation
  2032. //
  2033. // /*
  2034. // * The core of the MD4 algorithm, this alters an existing MD4 hash to
  2035. // * reflect the addition of 16 longwords of new data. MD4Update blocks
  2036. // * the data and converts bytes into longwords for this routine.
  2037. // */
  2038. func XMD4Transform(tls *libc.TLS, state uintptr, block uintptr) {
  2039. bp := tls.Alloc(64)
  2040. defer tls.Free(64)
  2041. var a, b, c, d Tuint32_t
  2042. var _ /* in at bp+0 */ [16]Tuint32_t
  2043. _, _, _, _ = a, b, c, d
  2044. libc.X__builtin___memcpy_chk(tls, bp, block, uint64(64), ^t__predefined_size_t(0))
  2045. a = *(*Tuint32_t)(unsafe.Pointer(state))
  2046. b = *(*Tuint32_t)(unsafe.Pointer(state + 1*4))
  2047. c = *(*Tuint32_t)(unsafe.Pointer(state + 2*4))
  2048. d = *(*Tuint32_t)(unsafe.Pointer(state + 3*4))
  2049. a += d ^ b&(c^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]
  2050. a = a<<libc.Int32FromInt32(3) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(3))
  2051. d += c ^ a&(b^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]
  2052. d = d<<libc.Int32FromInt32(7) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2053. c += b ^ d&(a^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]
  2054. c = c<<libc.Int32FromInt32(11) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2055. b += a ^ c&(d^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]
  2056. b = b<<libc.Int32FromInt32(19) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(19))
  2057. a += d ^ b&(c^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]
  2058. a = a<<libc.Int32FromInt32(3) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(3))
  2059. d += c ^ a&(b^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]
  2060. d = d<<libc.Int32FromInt32(7) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2061. c += b ^ d&(a^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]
  2062. c = c<<libc.Int32FromInt32(11) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2063. b += a ^ c&(d^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]
  2064. b = b<<libc.Int32FromInt32(19) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(19))
  2065. a += d ^ b&(c^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]
  2066. a = a<<libc.Int32FromInt32(3) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(3))
  2067. d += c ^ a&(b^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]
  2068. d = d<<libc.Int32FromInt32(7) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2069. c += b ^ d&(a^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]
  2070. c = c<<libc.Int32FromInt32(11) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2071. b += a ^ c&(d^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]
  2072. b = b<<libc.Int32FromInt32(19) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(19))
  2073. a += d ^ b&(c^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]
  2074. a = a<<libc.Int32FromInt32(3) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(3))
  2075. d += c ^ a&(b^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]
  2076. d = d<<libc.Int32FromInt32(7) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2077. c += b ^ d&(a^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]
  2078. c = c<<libc.Int32FromInt32(11) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2079. b += a ^ c&(d^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]
  2080. b = b<<libc.Int32FromInt32(19) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(19))
  2081. a += b&c | b&d | c&d + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0] + uint32(0x5a827999)
  2082. a = a<<libc.Int32FromInt32(3) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(3))
  2083. d += a&b | a&c | b&c + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)] + uint32(0x5a827999)
  2084. d = d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2085. c += d&a | d&b | a&b + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)] + uint32(0x5a827999)
  2086. c = c<<libc.Int32FromInt32(9) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2087. b += c&d | c&a | d&a + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)] + uint32(0x5a827999)
  2088. b = b<<libc.Int32FromInt32(13) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13))
  2089. a += b&c | b&d | c&d + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)] + uint32(0x5a827999)
  2090. a = a<<libc.Int32FromInt32(3) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(3))
  2091. d += a&b | a&c | b&c + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)] + uint32(0x5a827999)
  2092. d = d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2093. c += d&a | d&b | a&b + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)] + uint32(0x5a827999)
  2094. c = c<<libc.Int32FromInt32(9) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2095. b += c&d | c&a | d&a + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)] + uint32(0x5a827999)
  2096. b = b<<libc.Int32FromInt32(13) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13))
  2097. a += b&c | b&d | c&d + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)] + uint32(0x5a827999)
  2098. a = a<<libc.Int32FromInt32(3) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(3))
  2099. d += a&b | a&c | b&c + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)] + uint32(0x5a827999)
  2100. d = d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2101. c += d&a | d&b | a&b + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)] + uint32(0x5a827999)
  2102. c = c<<libc.Int32FromInt32(9) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2103. b += c&d | c&a | d&a + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)] + uint32(0x5a827999)
  2104. b = b<<libc.Int32FromInt32(13) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13))
  2105. a += b&c | b&d | c&d + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)] + uint32(0x5a827999)
  2106. a = a<<libc.Int32FromInt32(3) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(3))
  2107. d += a&b | a&c | b&c + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)] + uint32(0x5a827999)
  2108. d = d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2109. c += d&a | d&b | a&b + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)] + uint32(0x5a827999)
  2110. c = c<<libc.Int32FromInt32(9) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2111. b += c&d | c&a | d&a + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)] + uint32(0x5a827999)
  2112. b = b<<libc.Int32FromInt32(13) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13))
  2113. a += b ^ c ^ d + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0] + uint32(0x6ed9eba1)
  2114. a = a<<libc.Int32FromInt32(3) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(3))
  2115. d += a ^ b ^ c + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)] + uint32(0x6ed9eba1)
  2116. d = d<<libc.Int32FromInt32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2117. c += d ^ a ^ b + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)] + uint32(0x6ed9eba1)
  2118. c = c<<libc.Int32FromInt32(11) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2119. b += c ^ d ^ a + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)] + uint32(0x6ed9eba1)
  2120. b = b<<libc.Int32FromInt32(15) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2121. a += b ^ c ^ d + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)] + uint32(0x6ed9eba1)
  2122. a = a<<libc.Int32FromInt32(3) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(3))
  2123. d += a ^ b ^ c + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)] + uint32(0x6ed9eba1)
  2124. d = d<<libc.Int32FromInt32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2125. c += d ^ a ^ b + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)] + uint32(0x6ed9eba1)
  2126. c = c<<libc.Int32FromInt32(11) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2127. b += c ^ d ^ a + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)] + uint32(0x6ed9eba1)
  2128. b = b<<libc.Int32FromInt32(15) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2129. a += b ^ c ^ d + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)] + uint32(0x6ed9eba1)
  2130. a = a<<libc.Int32FromInt32(3) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(3))
  2131. d += a ^ b ^ c + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)] + uint32(0x6ed9eba1)
  2132. d = d<<libc.Int32FromInt32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2133. c += d ^ a ^ b + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)] + uint32(0x6ed9eba1)
  2134. c = c<<libc.Int32FromInt32(11) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2135. b += c ^ d ^ a + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)] + uint32(0x6ed9eba1)
  2136. b = b<<libc.Int32FromInt32(15) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2137. a += b ^ c ^ d + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)] + uint32(0x6ed9eba1)
  2138. a = a<<libc.Int32FromInt32(3) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(3))
  2139. d += a ^ b ^ c + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)] + uint32(0x6ed9eba1)
  2140. d = d<<libc.Int32FromInt32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2141. c += d ^ a ^ b + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)] + uint32(0x6ed9eba1)
  2142. c = c<<libc.Int32FromInt32(11) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2143. b += c ^ d ^ a + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)] + uint32(0x6ed9eba1)
  2144. b = b<<libc.Int32FromInt32(15) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2145. *(*Tuint32_t)(unsafe.Pointer(state)) += a
  2146. *(*Tuint32_t)(unsafe.Pointer(state + 1*4)) += b
  2147. *(*Tuint32_t)(unsafe.Pointer(state + 2*4)) += c
  2148. *(*Tuint32_t)(unsafe.Pointer(state + 3*4)) += d
  2149. }
  2150. const m_MD5_BLOCK_LENGTH = 64
  2151. const m_MD5_DIGEST_LENGTH = 16
  2152. type TMD5_CTX = struct {
  2153. Fstate [4]Tuint32_t
  2154. Fcount Tuint64_t
  2155. Fbuffer [64]Tuint8_t
  2156. }
  2157. type TMD5Context = TMD5_CTX
  2158. /* Avoid polluting the namespace. Even though this makes this usage
  2159. * implementation-specific, defining it unconditionally should not be
  2160. * a problem, and better than possibly breaking unexpecting code. */
  2161. var _PADDING1 = [64]Tuint8_t{
  2162. 0: uint8(0x80),
  2163. }
  2164. // C documentation
  2165. //
  2166. // /*
  2167. // * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
  2168. // * initialization constants.
  2169. // */
  2170. func XMD5Init(tls *libc.TLS, ctx uintptr) {
  2171. (*TMD5_CTX)(unsafe.Pointer(ctx)).Fcount = uint64(0)
  2172. *(*Tuint32_t)(unsafe.Pointer(ctx)) = uint32(0x67452301)
  2173. *(*Tuint32_t)(unsafe.Pointer(ctx + 1*4)) = uint32(0xefcdab89)
  2174. *(*Tuint32_t)(unsafe.Pointer(ctx + 2*4)) = uint32(0x98badcfe)
  2175. *(*Tuint32_t)(unsafe.Pointer(ctx + 3*4)) = uint32(0x10325476)
  2176. }
  2177. // C documentation
  2178. //
  2179. // /*
  2180. // * Update context to reflect the concatenation of another buffer full
  2181. // * of bytes.
  2182. // */
  2183. func XMD5Update(tls *libc.TLS, ctx uintptr, input uintptr, len1 Tsize_t) {
  2184. var have, need Tsize_t
  2185. _, _ = have, need
  2186. /* Check how many bytes we already have and how many more we need. */
  2187. have = uint64((*TMD5_CTX)(unsafe.Pointer(ctx)).Fcount >> libc.Int32FromInt32(3) & libc.Uint64FromInt32(libc.Int32FromInt32(m_MD5_BLOCK_LENGTH)-libc.Int32FromInt32(1)))
  2188. need = uint64(m_MD5_BLOCK_LENGTH) - have
  2189. /* Update bitcount */
  2190. *(*Tuint64_t)(unsafe.Pointer(ctx + 16)) += len1 << int32(3)
  2191. if len1 >= need {
  2192. if have != uint64(0) {
  2193. libc.X__builtin___memcpy_chk(tls, ctx+24+uintptr(have), input, need, ^t__predefined_size_t(0))
  2194. XMD5Transform(tls, ctx, ctx+24)
  2195. input += uintptr(need)
  2196. len1 -= need
  2197. have = uint64(0)
  2198. }
  2199. /* Process data in MD5_BLOCK_LENGTH-byte chunks. */
  2200. for len1 >= uint64(m_MD5_BLOCK_LENGTH) {
  2201. XMD5Transform(tls, ctx, input)
  2202. input += uintptr(m_MD5_BLOCK_LENGTH)
  2203. len1 -= uint64(m_MD5_BLOCK_LENGTH)
  2204. }
  2205. }
  2206. /* Handle any remaining bytes of data. */
  2207. if len1 != uint64(0) {
  2208. libc.X__builtin___memcpy_chk(tls, ctx+24+uintptr(have), input, len1, ^t__predefined_size_t(0))
  2209. }
  2210. }
  2211. // C documentation
  2212. //
  2213. // /*
  2214. // * Pad pad to 64-byte boundary with the bit pattern
  2215. // * 1 0* (64-bit count of bits processed, MSB-first)
  2216. // */
  2217. func XMD5Pad(tls *libc.TLS, ctx uintptr) {
  2218. bp := tls.Alloc(16)
  2219. defer tls.Free(16)
  2220. var padlen Tsize_t
  2221. var _ /* count at bp+0 */ [8]Tuint8_t
  2222. _ = padlen
  2223. /* Convert count to 8 bytes in little endian order. */
  2224. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(7)] = uint8((*TMD5_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(56))
  2225. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(6)] = uint8((*TMD5_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(48))
  2226. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(5)] = uint8((*TMD5_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(40))
  2227. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(4)] = uint8((*TMD5_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(32))
  2228. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(3)] = uint8((*TMD5_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(24))
  2229. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(2)] = uint8((*TMD5_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(16))
  2230. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(1)] = uint8((*TMD5_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(8))
  2231. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[0] = uint8((*TMD5_CTX)(unsafe.Pointer(ctx)).Fcount)
  2232. /* Pad out to 56 mod 64. */
  2233. padlen = uint64(uint64(m_MD5_BLOCK_LENGTH) - (*TMD5_CTX)(unsafe.Pointer(ctx)).Fcount>>libc.Int32FromInt32(3)&libc.Uint64FromInt32(libc.Int32FromInt32(m_MD5_BLOCK_LENGTH)-libc.Int32FromInt32(1)))
  2234. if padlen < libc.Uint64FromInt32(libc.Int32FromInt32(1)+libc.Int32FromInt32(8)) {
  2235. padlen += uint64(m_MD5_BLOCK_LENGTH)
  2236. }
  2237. XMD5Update(tls, ctx, uintptr(unsafe.Pointer(&_PADDING1)), padlen-uint64(8)) /* padlen - 8 <= 64 */
  2238. XMD5Update(tls, ctx, bp, uint64(8))
  2239. }
  2240. // C documentation
  2241. //
  2242. // /*
  2243. // * Final wrapup--call MD5Pad, fill in digest and zero out ctx.
  2244. // */
  2245. func XMD5Final(tls *libc.TLS, digest uintptr, ctx uintptr) {
  2246. var i int32
  2247. _ = i
  2248. XMD5Pad(tls, ctx)
  2249. i = 0
  2250. for {
  2251. if !(i < int32(4)) {
  2252. break
  2253. }
  2254. *(*uint8)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 3)) = uint8(*(*Tuint32_t)(unsafe.Pointer(ctx + uintptr(i)*4)) >> int32(24))
  2255. *(*uint8)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 2)) = uint8(*(*Tuint32_t)(unsafe.Pointer(ctx + uintptr(i)*4)) >> int32(16))
  2256. *(*uint8)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 1)) = uint8(*(*Tuint32_t)(unsafe.Pointer(ctx + uintptr(i)*4)) >> int32(8))
  2257. *(*uint8)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)))) = uint8(*(*Tuint32_t)(unsafe.Pointer(ctx + uintptr(i)*4)))
  2258. goto _1
  2259. _1:
  2260. ;
  2261. i++
  2262. }
  2263. libc.X__builtin___memset_chk(tls, ctx, 0, uint64(88), ^t__predefined_size_t(0))
  2264. }
  2265. /* The four core functions - F1 is optimized somewhat */
  2266. /* #define F1(x, y, z) (x & y | ~x & z) */
  2267. /* This is the central step in the MD5 algorithm. */
  2268. // C documentation
  2269. //
  2270. // /*
  2271. // * The core of the MD5 algorithm, this alters an existing MD5 hash to
  2272. // * reflect the addition of 16 longwords of new data. MD5Update blocks
  2273. // * the data and converts bytes into longwords for this routine.
  2274. // */
  2275. func XMD5Transform(tls *libc.TLS, state uintptr, block uintptr) {
  2276. bp := tls.Alloc(64)
  2277. defer tls.Free(64)
  2278. var a, b, c, d Tuint32_t
  2279. var _ /* in at bp+0 */ [16]Tuint32_t
  2280. _, _, _, _ = a, b, c, d
  2281. libc.X__builtin___memcpy_chk(tls, bp, block, uint64(64), ^t__predefined_size_t(0))
  2282. a = *(*Tuint32_t)(unsafe.Pointer(state))
  2283. b = *(*Tuint32_t)(unsafe.Pointer(state + 1*4))
  2284. c = *(*Tuint32_t)(unsafe.Pointer(state + 2*4))
  2285. d = *(*Tuint32_t)(unsafe.Pointer(state + 3*4))
  2286. a += d ^ b&(c^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0] + uint32(0xd76aa478)
  2287. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2288. a += b
  2289. d += c ^ a&(b^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)] + uint32(0xe8c7b756)
  2290. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2291. d += a
  2292. c += b ^ d&(a^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)] + uint32(0x242070db)
  2293. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2294. c += d
  2295. b += a ^ c&(d^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)] + uint32(0xc1bdceee)
  2296. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2297. b += c
  2298. a += d ^ b&(c^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)] + uint32(0xf57c0faf)
  2299. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2300. a += b
  2301. d += c ^ a&(b^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)] + uint32(0x4787c62a)
  2302. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2303. d += a
  2304. c += b ^ d&(a^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)] + uint32(0xa8304613)
  2305. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2306. c += d
  2307. b += a ^ c&(d^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)] + uint32(0xfd469501)
  2308. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2309. b += c
  2310. a += d ^ b&(c^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)] + uint32(0x698098d8)
  2311. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2312. a += b
  2313. d += c ^ a&(b^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)] + uint32(0x8b44f7af)
  2314. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2315. d += a
  2316. c += b ^ d&(a^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)] + uint32(0xffff5bb1)
  2317. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2318. c += d
  2319. b += a ^ c&(d^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)] + uint32(0x895cd7be)
  2320. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2321. b += c
  2322. a += d ^ b&(c^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)] + uint32(0x6b901122)
  2323. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2324. a += b
  2325. d += c ^ a&(b^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)] + uint32(0xfd987193)
  2326. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2327. d += a
  2328. c += b ^ d&(a^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)] + uint32(0xa679438e)
  2329. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2330. c += d
  2331. b += a ^ c&(d^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)] + uint32(0x49b40821)
  2332. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2333. b += c
  2334. a += c ^ d&(b^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)] + uint32(0xf61e2562)
  2335. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2336. a += b
  2337. d += b ^ c&(a^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)] + uint32(0xc040b340)
  2338. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2339. d += a
  2340. c += a ^ b&(d^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)] + uint32(0x265e5a51)
  2341. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2342. c += d
  2343. b += d ^ a&(c^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0] + uint32(0xe9b6c7aa)
  2344. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2345. b += c
  2346. a += c ^ d&(b^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)] + uint32(0xd62f105d)
  2347. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2348. a += b
  2349. d += b ^ c&(a^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)] + uint32(0x02441453)
  2350. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2351. d += a
  2352. c += a ^ b&(d^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)] + uint32(0xd8a1e681)
  2353. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2354. c += d
  2355. b += d ^ a&(c^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)] + uint32(0xe7d3fbc8)
  2356. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2357. b += c
  2358. a += c ^ d&(b^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)] + uint32(0x21e1cde6)
  2359. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2360. a += b
  2361. d += b ^ c&(a^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)] + uint32(0xc33707d6)
  2362. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2363. d += a
  2364. c += a ^ b&(d^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)] + uint32(0xf4d50d87)
  2365. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2366. c += d
  2367. b += d ^ a&(c^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)] + uint32(0x455a14ed)
  2368. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2369. b += c
  2370. a += c ^ d&(b^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)] + uint32(0xa9e3e905)
  2371. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2372. a += b
  2373. d += b ^ c&(a^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)] + uint32(0xfcefa3f8)
  2374. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2375. d += a
  2376. c += a ^ b&(d^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)] + uint32(0x676f02d9)
  2377. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2378. c += d
  2379. b += d ^ a&(c^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)] + uint32(0x8d2a4c8a)
  2380. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2381. b += c
  2382. a += b ^ c ^ d + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)] + uint32(0xfffa3942)
  2383. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2384. a += b
  2385. d += a ^ b ^ c + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)] + uint32(0x8771f681)
  2386. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2387. d += a
  2388. c += d ^ a ^ b + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)] + uint32(0x6d9d6122)
  2389. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2390. c += d
  2391. b += c ^ d ^ a + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)] + uint32(0xfde5380c)
  2392. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2393. b += c
  2394. a += b ^ c ^ d + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)] + uint32(0xa4beea44)
  2395. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2396. a += b
  2397. d += a ^ b ^ c + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)] + uint32(0x4bdecfa9)
  2398. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2399. d += a
  2400. c += d ^ a ^ b + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)] + uint32(0xf6bb4b60)
  2401. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2402. c += d
  2403. b += c ^ d ^ a + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)] + uint32(0xbebfbc70)
  2404. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2405. b += c
  2406. a += b ^ c ^ d + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)] + uint32(0x289b7ec6)
  2407. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2408. a += b
  2409. d += a ^ b ^ c + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0] + uint32(0xeaa127fa)
  2410. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2411. d += a
  2412. c += d ^ a ^ b + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)] + uint32(0xd4ef3085)
  2413. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2414. c += d
  2415. b += c ^ d ^ a + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)] + uint32(0x04881d05)
  2416. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2417. b += c
  2418. a += b ^ c ^ d + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)] + uint32(0xd9d4d039)
  2419. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2420. a += b
  2421. d += a ^ b ^ c + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)] + uint32(0xe6db99e5)
  2422. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2423. d += a
  2424. c += d ^ a ^ b + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)] + uint32(0x1fa27cf8)
  2425. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2426. c += d
  2427. b += c ^ d ^ a + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)] + uint32(0xc4ac5665)
  2428. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2429. b += c
  2430. a += c ^ (b | ^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0] + uint32(0xf4292244)
  2431. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2432. a += b
  2433. d += b ^ (a | ^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)] + uint32(0x432aff97)
  2434. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2435. d += a
  2436. c += a ^ (d | ^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)] + uint32(0xab9423a7)
  2437. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2438. c += d
  2439. b += d ^ (c | ^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)] + uint32(0xfc93a039)
  2440. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2441. b += c
  2442. a += c ^ (b | ^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)] + uint32(0x655b59c3)
  2443. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2444. a += b
  2445. d += b ^ (a | ^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)] + uint32(0x8f0ccc92)
  2446. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2447. d += a
  2448. c += a ^ (d | ^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)] + uint32(0xffeff47d)
  2449. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2450. c += d
  2451. b += d ^ (c | ^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)] + uint32(0x85845dd1)
  2452. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2453. b += c
  2454. a += c ^ (b | ^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)] + uint32(0x6fa87e4f)
  2455. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2456. a += b
  2457. d += b ^ (a | ^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)] + uint32(0xfe2ce6e0)
  2458. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2459. d += a
  2460. c += a ^ (d | ^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)] + uint32(0xa3014314)
  2461. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2462. c += d
  2463. b += d ^ (c | ^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)] + uint32(0x4e0811a1)
  2464. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2465. b += c
  2466. a += c ^ (b | ^d) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)] + uint32(0xf7537e82)
  2467. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2468. a += b
  2469. d += b ^ (a | ^c) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)] + uint32(0xbd3af235)
  2470. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2471. d += a
  2472. c += a ^ (d | ^b) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)] + uint32(0x2ad7d2bb)
  2473. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2474. c += d
  2475. b += d ^ (c | ^a) + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)] + uint32(0xeb86d391)
  2476. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2477. b += c
  2478. *(*Tuint32_t)(unsafe.Pointer(state)) += a
  2479. *(*Tuint32_t)(unsafe.Pointer(state + 1*4)) += b
  2480. *(*Tuint32_t)(unsafe.Pointer(state + 2*4)) += c
  2481. *(*Tuint32_t)(unsafe.Pointer(state + 3*4)) += d
  2482. }
  2483. const m_H0 = 1732584193
  2484. const m_H1 = 4023233417
  2485. const m_H2 = 2562383102
  2486. const m_H3 = 271733878
  2487. const m_H4 = 3285377520
  2488. const m_K0 = 0
  2489. const m_K1 = 1518500249
  2490. const m_K2 = 1859775393
  2491. const m_K3 = 2400959708
  2492. const m_K4 = 2840853838
  2493. const m_KK0 = 1352829926
  2494. const m_KK1 = 1548603684
  2495. const m_KK2 = 1836072691
  2496. const m_KK3 = 2053994217
  2497. const m_KK4 = 0
  2498. const m_RMD160_BLOCK_LENGTH = 64
  2499. const m_RMD160_DIGEST_LENGTH = 20
  2500. type TRMD160_CTX = struct {
  2501. Fstate [5]Tuint32_t
  2502. Fcount Tuint64_t
  2503. Fbuffer [64]Tuint8_t
  2504. }
  2505. type TRMD160Context = TRMD160_CTX
  2506. /* rotate x left n bits. */
  2507. var _PADDING2 = [64]Tuint8_t{
  2508. 0: uint8(0x80),
  2509. }
  2510. func XRMD160Init(tls *libc.TLS, ctx uintptr) {
  2511. (*TRMD160_CTX)(unsafe.Pointer(ctx)).Fcount = uint64(0)
  2512. *(*Tuint32_t)(unsafe.Pointer(ctx)) = uint32(0x67452301)
  2513. *(*Tuint32_t)(unsafe.Pointer(ctx + 1*4)) = uint32(0xEFCDAB89)
  2514. *(*Tuint32_t)(unsafe.Pointer(ctx + 2*4)) = uint32(0x98BADCFE)
  2515. *(*Tuint32_t)(unsafe.Pointer(ctx + 3*4)) = uint32(0x10325476)
  2516. *(*Tuint32_t)(unsafe.Pointer(ctx + 4*4)) = uint32(0xC3D2E1F0)
  2517. }
  2518. func XRMD160Update(tls *libc.TLS, ctx uintptr, input uintptr, len1 Tsize_t) {
  2519. var have, need, off Tsize_t
  2520. _, _, _ = have, need, off
  2521. have = (*TRMD160_CTX)(unsafe.Pointer(ctx)).Fcount / uint64(8) % uint64(m_RMD160_BLOCK_LENGTH)
  2522. need = uint64(m_RMD160_BLOCK_LENGTH) - have
  2523. *(*Tuint64_t)(unsafe.Pointer(ctx + 24)) += uint64(8) * len1
  2524. off = uint64(0)
  2525. if len1 >= need {
  2526. if have != 0 {
  2527. libc.X__builtin___memcpy_chk(tls, ctx+32+uintptr(have), input, need, ^t__predefined_size_t(0))
  2528. XRMD160Transform(tls, ctx, ctx+32)
  2529. off = need
  2530. have = uint64(0)
  2531. }
  2532. /* now the buffer is empty */
  2533. for off+uint64(m_RMD160_BLOCK_LENGTH) <= len1 {
  2534. XRMD160Transform(tls, ctx, input+uintptr(off))
  2535. off += uint64(m_RMD160_BLOCK_LENGTH)
  2536. }
  2537. }
  2538. if off < len1 {
  2539. libc.X__builtin___memcpy_chk(tls, ctx+32+uintptr(have), input+uintptr(off), len1-off, ^t__predefined_size_t(0))
  2540. }
  2541. }
  2542. func XRMD160Pad(tls *libc.TLS, ctx uintptr) {
  2543. bp := tls.Alloc(16)
  2544. defer tls.Free(16)
  2545. var padlen Tsize_t
  2546. var _ /* size at bp+0 */ [8]Tuint8_t
  2547. _ = padlen
  2548. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(7)] = uint8((*TRMD160_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(56))
  2549. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(6)] = uint8((*TRMD160_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(48))
  2550. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(5)] = uint8((*TRMD160_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(40))
  2551. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(4)] = uint8((*TRMD160_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(32))
  2552. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(3)] = uint8((*TRMD160_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(24))
  2553. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(2)] = uint8((*TRMD160_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(16))
  2554. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[int32(1)] = uint8((*TRMD160_CTX)(unsafe.Pointer(ctx)).Fcount >> int32(8))
  2555. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[0] = uint8((*TRMD160_CTX)(unsafe.Pointer(ctx)).Fcount)
  2556. /*
  2557. * pad to RMD160_BLOCK_LENGTH byte blocks, at least one byte from
  2558. * PADDING plus 8 bytes for the size
  2559. */
  2560. padlen = uint64(m_RMD160_BLOCK_LENGTH) - (*TRMD160_CTX)(unsafe.Pointer(ctx)).Fcount/uint64(8)%uint64(m_RMD160_BLOCK_LENGTH)
  2561. if padlen < libc.Uint64FromInt32(libc.Int32FromInt32(1)+libc.Int32FromInt32(8)) {
  2562. padlen += uint64(m_RMD160_BLOCK_LENGTH)
  2563. }
  2564. XRMD160Update(tls, ctx, uintptr(unsafe.Pointer(&_PADDING2)), padlen-uint64(8)) /* padlen - 8 <= 64 */
  2565. XRMD160Update(tls, ctx, bp, uint64(8))
  2566. }
  2567. func XRMD160Final(tls *libc.TLS, digest uintptr, ctx uintptr) {
  2568. var i int32
  2569. _ = i
  2570. XRMD160Pad(tls, ctx)
  2571. i = 0
  2572. for {
  2573. if !(i < int32(5)) {
  2574. break
  2575. }
  2576. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 3)) = uint8(*(*Tuint32_t)(unsafe.Pointer(ctx + uintptr(i)*4)) >> int32(24))
  2577. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 2)) = uint8(*(*Tuint32_t)(unsafe.Pointer(ctx + uintptr(i)*4)) >> int32(16))
  2578. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 1)) = uint8(*(*Tuint32_t)(unsafe.Pointer(ctx + uintptr(i)*4)) >> int32(8))
  2579. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)))) = uint8(*(*Tuint32_t)(unsafe.Pointer(ctx + uintptr(i)*4)))
  2580. goto _1
  2581. _1:
  2582. ;
  2583. i++
  2584. }
  2585. libc.X__builtin___memset_chk(tls, ctx, 0, uint64(96), ^t__predefined_size_t(0))
  2586. }
  2587. func XRMD160Transform(tls *libc.TLS, state uintptr, block uintptr) {
  2588. bp := tls.Alloc(64)
  2589. defer tls.Free(64)
  2590. var a, aa, b, bb, c, cc, d, dd, e, ee, t Tuint32_t
  2591. var _ /* x at bp+0 */ [16]Tuint32_t
  2592. _, _, _, _, _, _, _, _, _, _, _ = a, aa, b, bb, c, cc, d, dd, e, ee, t
  2593. libc.X__builtin___memcpy_chk(tls, bp, block, uint64(m_RMD160_BLOCK_LENGTH), ^t__predefined_size_t(0))
  2594. a = *(*Tuint32_t)(unsafe.Pointer(state))
  2595. b = *(*Tuint32_t)(unsafe.Pointer(state + 1*4))
  2596. c = *(*Tuint32_t)(unsafe.Pointer(state + 2*4))
  2597. d = *(*Tuint32_t)(unsafe.Pointer(state + 3*4))
  2598. e = *(*Tuint32_t)(unsafe.Pointer(state + 4*4))
  2599. /* Round 1 */
  2600. a = (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+0x00000000)<<int32(11) | (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + e
  2601. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2602. e = (e+(a^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+0x00000000)<<int32(14) | (e+(a^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + d
  2603. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2604. d = (d+(e^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+0x00000000)<<int32(15) | (d+(e^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + c
  2605. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2606. c = (c+(d^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+0x00000000)<<int32(12) | (c+(d^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + b
  2607. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2608. b = (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+0x00000000)<<int32(5) | (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + a
  2609. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2610. a = (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+0x00000000)<<int32(8) | (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + e
  2611. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2612. e = (e+(a^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+0x00000000)<<int32(7) | (e+(a^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + d
  2613. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2614. d = (d+(e^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+0x00000000)<<int32(9) | (d+(e^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + c
  2615. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2616. c = (c+(d^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+0x00000000)<<int32(11) | (c+(d^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + b
  2617. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2618. b = (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+0x00000000)<<int32(13) | (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + a
  2619. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2620. a = (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+0x00000000)<<int32(14) | (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + e
  2621. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2622. e = (e+(a^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+0x00000000)<<int32(15) | (e+(a^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + d
  2623. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2624. d = (d+(e^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+0x00000000)<<int32(6) | (d+(e^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + c
  2625. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2626. c = (c+(d^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+0x00000000)<<int32(7) | (c+(d^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + b
  2627. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2628. b = (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+0x00000000)<<int32(9) | (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + a
  2629. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2630. a = (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+0x00000000)<<int32(8) | (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + e
  2631. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10)) /* #15 */
  2632. /* Round 2 */
  2633. e = (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x5A827999))<<int32(7) | (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + d
  2634. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2635. d = (d+(e&a|^e&b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x5A827999))<<int32(6) | (d+(e&a|^e&b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + c
  2636. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2637. c = (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x5A827999))<<int32(8) | (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + b
  2638. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2639. b = (b+(c&d|^c&e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x5A827999))<<int32(13) | (b+(c&d|^c&e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + a
  2640. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2641. a = (a+(b&c|^b&d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x5A827999))<<int32(11) | (a+(b&c|^b&d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + e
  2642. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2643. e = (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x5A827999))<<int32(9) | (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + d
  2644. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2645. d = (d+(e&a|^e&b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x5A827999))<<int32(7) | (d+(e&a|^e&b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + c
  2646. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2647. c = (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x5A827999))<<int32(15) | (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + b
  2648. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2649. b = (b+(c&d|^c&e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x5A827999))<<int32(7) | (b+(c&d|^c&e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + a
  2650. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2651. a = (a+(b&c|^b&d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x5A827999))<<int32(12) | (a+(b&c|^b&d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + e
  2652. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2653. e = (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x5A827999))<<int32(15) | (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + d
  2654. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2655. d = (d+(e&a|^e&b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x5A827999))<<int32(9) | (d+(e&a|^e&b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + c
  2656. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2657. c = (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x5A827999))<<int32(11) | (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + b
  2658. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2659. b = (b+(c&d|^c&e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x5A827999))<<int32(7) | (b+(c&d|^c&e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + a
  2660. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2661. a = (a+(b&c|^b&d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x5A827999))<<int32(13) | (a+(b&c|^b&d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + e
  2662. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2663. e = (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x5A827999))<<int32(12) | (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x5A827999))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + d
  2664. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10)) /* #31 */
  2665. /* Round 3 */
  2666. d = (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x6ED9EBA1))<<int32(11) | (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + c
  2667. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2668. c = (c+(d|^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x6ED9EBA1))<<int32(13) | (c+(d|^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + b
  2669. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2670. b = (b+(c|^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x6ED9EBA1))<<int32(6) | (b+(c|^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + a
  2671. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2672. a = (a+(b|^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x6ED9EBA1))<<int32(7) | (a+(b|^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + e
  2673. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2674. e = (e+(a|^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x6ED9EBA1))<<int32(14) | (e+(a|^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + d
  2675. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2676. d = (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x6ED9EBA1))<<int32(9) | (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + c
  2677. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2678. c = (c+(d|^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x6ED9EBA1))<<int32(13) | (c+(d|^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + b
  2679. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2680. b = (b+(c|^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x6ED9EBA1))<<int32(15) | (b+(c|^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + a
  2681. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2682. a = (a+(b|^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x6ED9EBA1))<<int32(14) | (a+(b|^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + e
  2683. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2684. e = (e+(a|^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x6ED9EBA1))<<int32(8) | (e+(a|^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + d
  2685. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2686. d = (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x6ED9EBA1))<<int32(13) | (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + c
  2687. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2688. c = (c+(d|^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x6ED9EBA1))<<int32(6) | (c+(d|^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + b
  2689. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2690. b = (b+(c|^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x6ED9EBA1))<<int32(5) | (b+(c|^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + a
  2691. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2692. a = (a+(b|^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x6ED9EBA1))<<int32(12) | (a+(b|^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + e
  2693. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2694. e = (e+(a|^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x6ED9EBA1))<<int32(7) | (e+(a|^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + d
  2695. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2696. d = (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x6ED9EBA1))<<int32(5) | (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x6ED9EBA1))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + c
  2697. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10)) /* #47 */
  2698. /* Round 4 */
  2699. c = (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x8F1BBCDC))<<int32(11) | (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + b
  2700. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2701. b = (b+(c&e | d & ^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x8F1BBCDC))<<int32(12) | (b+(c&e | d & ^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + a
  2702. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2703. a = (a+(b&d | c & ^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x8F1BBCDC))<<int32(14) | (a+(b&d | c & ^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + e
  2704. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2705. e = (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x8F1BBCDC))<<int32(15) | (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + d
  2706. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2707. d = (d+(e&b | a & ^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x8F1BBCDC))<<int32(14) | (d+(e&b | a & ^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + c
  2708. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2709. c = (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x8F1BBCDC))<<int32(15) | (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + b
  2710. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2711. b = (b+(c&e | d & ^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x8F1BBCDC))<<int32(9) | (b+(c&e | d & ^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + a
  2712. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2713. a = (a+(b&d | c & ^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x8F1BBCDC))<<int32(8) | (a+(b&d | c & ^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + e
  2714. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2715. e = (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x8F1BBCDC))<<int32(9) | (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + d
  2716. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2717. d = (d+(e&b | a & ^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x8F1BBCDC))<<int32(14) | (d+(e&b | a & ^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + c
  2718. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2719. c = (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x8F1BBCDC))<<int32(5) | (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + b
  2720. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2721. b = (b+(c&e | d & ^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x8F1BBCDC))<<int32(6) | (b+(c&e | d & ^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + a
  2722. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2723. a = (a+(b&d | c & ^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x8F1BBCDC))<<int32(8) | (a+(b&d | c & ^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + e
  2724. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2725. e = (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x8F1BBCDC))<<int32(6) | (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + d
  2726. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2727. d = (d+(e&b | a & ^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x8F1BBCDC))<<int32(5) | (d+(e&b | a & ^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + c
  2728. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2729. c = (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x8F1BBCDC))<<int32(12) | (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x8F1BBCDC))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + b
  2730. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10)) /* #63 */
  2731. /* Round 5 */
  2732. b = (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0xA953FD4E))<<int32(9) | (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + a
  2733. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2734. a = (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0xA953FD4E))<<int32(15) | (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + e
  2735. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2736. e = (e+(a^(b|^c))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0xA953FD4E))<<int32(5) | (e+(a^(b|^c))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + d
  2737. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2738. d = (d+(e^(a|^b))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0xA953FD4E))<<int32(11) | (d+(e^(a|^b))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + c
  2739. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2740. c = (c+(d^(e|^a))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0xA953FD4E))<<int32(6) | (c+(d^(e|^a))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + b
  2741. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2742. b = (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0xA953FD4E))<<int32(8) | (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + a
  2743. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2744. a = (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0xA953FD4E))<<int32(13) | (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + e
  2745. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2746. e = (e+(a^(b|^c))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0xA953FD4E))<<int32(12) | (e+(a^(b|^c))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + d
  2747. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2748. d = (d+(e^(a|^b))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0xA953FD4E))<<int32(5) | (d+(e^(a|^b))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + c
  2749. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2750. c = (c+(d^(e|^a))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0xA953FD4E))<<int32(12) | (c+(d^(e|^a))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + b
  2751. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2752. b = (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0xA953FD4E))<<int32(13) | (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + a
  2753. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2754. a = (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0xA953FD4E))<<int32(14) | (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + e
  2755. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2756. e = (e+(a^(b|^c))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0xA953FD4E))<<int32(11) | (e+(a^(b|^c))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + d
  2757. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2758. d = (d+(e^(a|^b))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0xA953FD4E))<<int32(8) | (d+(e^(a|^b))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + c
  2759. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2760. c = (c+(d^(e|^a))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0xA953FD4E))<<int32(5) | (c+(d^(e|^a))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + b
  2761. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2762. b = (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0xA953FD4E))<<int32(6) | (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0xA953FD4E))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + a
  2763. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10)) /* #79 */
  2764. aa = a
  2765. bb = b
  2766. cc = c
  2767. dd = d
  2768. ee = e
  2769. a = *(*Tuint32_t)(unsafe.Pointer(state))
  2770. b = *(*Tuint32_t)(unsafe.Pointer(state + 1*4))
  2771. c = *(*Tuint32_t)(unsafe.Pointer(state + 2*4))
  2772. d = *(*Tuint32_t)(unsafe.Pointer(state + 3*4))
  2773. e = *(*Tuint32_t)(unsafe.Pointer(state + 4*4))
  2774. /* Parallel round 1 */
  2775. a = (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x50A28BE6))<<int32(8) | (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + e
  2776. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2777. e = (e+(a^(b|^c))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x50A28BE6))<<int32(9) | (e+(a^(b|^c))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + d
  2778. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2779. d = (d+(e^(a|^b))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x50A28BE6))<<int32(9) | (d+(e^(a|^b))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + c
  2780. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2781. c = (c+(d^(e|^a))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x50A28BE6))<<int32(11) | (c+(d^(e|^a))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + b
  2782. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2783. b = (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x50A28BE6))<<int32(13) | (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + a
  2784. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2785. a = (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x50A28BE6))<<int32(15) | (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + e
  2786. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2787. e = (e+(a^(b|^c))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x50A28BE6))<<int32(15) | (e+(a^(b|^c))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + d
  2788. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2789. d = (d+(e^(a|^b))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x50A28BE6))<<int32(5) | (d+(e^(a|^b))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + c
  2790. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2791. c = (c+(d^(e|^a))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x50A28BE6))<<int32(7) | (c+(d^(e|^a))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + b
  2792. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2793. b = (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x50A28BE6))<<int32(7) | (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + a
  2794. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2795. a = (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x50A28BE6))<<int32(8) | (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + e
  2796. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2797. e = (e+(a^(b|^c))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x50A28BE6))<<int32(11) | (e+(a^(b|^c))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + d
  2798. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2799. d = (d+(e^(a|^b))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x50A28BE6))<<int32(14) | (d+(e^(a|^b))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + c
  2800. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2801. c = (c+(d^(e|^a))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x50A28BE6))<<int32(14) | (c+(d^(e|^a))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + b
  2802. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2803. b = (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x50A28BE6))<<int32(12) | (b+(c^(d|^e))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + a
  2804. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2805. a = (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x50A28BE6))<<int32(6) | (a+(b^(c|^d))+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x50A28BE6))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + e
  2806. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10)) /* #15 */
  2807. /* Parallel round 2 */
  2808. e = (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x5C4DD124))<<int32(9) | (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + d
  2809. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2810. d = (d+(e&b | a & ^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x5C4DD124))<<int32(13) | (d+(e&b | a & ^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + c
  2811. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2812. c = (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x5C4DD124))<<int32(15) | (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + b
  2813. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2814. b = (b+(c&e | d & ^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x5C4DD124))<<int32(7) | (b+(c&e | d & ^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + a
  2815. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2816. a = (a+(b&d | c & ^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x5C4DD124))<<int32(12) | (a+(b&d | c & ^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + e
  2817. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2818. e = (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x5C4DD124))<<int32(8) | (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + d
  2819. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2820. d = (d+(e&b | a & ^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x5C4DD124))<<int32(9) | (d+(e&b | a & ^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + c
  2821. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2822. c = (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x5C4DD124))<<int32(11) | (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + b
  2823. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2824. b = (b+(c&e | d & ^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x5C4DD124))<<int32(7) | (b+(c&e | d & ^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + a
  2825. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2826. a = (a+(b&d | c & ^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x5C4DD124))<<int32(7) | (a+(b&d | c & ^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + e
  2827. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2828. e = (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x5C4DD124))<<int32(12) | (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + d
  2829. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2830. d = (d+(e&b | a & ^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x5C4DD124))<<int32(7) | (d+(e&b | a & ^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + c
  2831. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2832. c = (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x5C4DD124))<<int32(6) | (c+(d&a | e & ^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + b
  2833. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2834. b = (b+(c&e | d & ^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x5C4DD124))<<int32(15) | (b+(c&e | d & ^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + a
  2835. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2836. a = (a+(b&d | c & ^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x5C4DD124))<<int32(13) | (a+(b&d | c & ^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + e
  2837. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2838. e = (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x5C4DD124))<<int32(11) | (e+(a&c | b & ^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x5C4DD124))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + d
  2839. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10)) /* #31 */
  2840. /* Parallel round 3 */
  2841. d = (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x6D703EF3))<<int32(9) | (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + c
  2842. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2843. c = (c+(d|^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x6D703EF3))<<int32(7) | (c+(d|^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + b
  2844. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2845. b = (b+(c|^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x6D703EF3))<<int32(15) | (b+(c|^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + a
  2846. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2847. a = (a+(b|^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x6D703EF3))<<int32(11) | (a+(b|^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + e
  2848. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2849. e = (e+(a|^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x6D703EF3))<<int32(8) | (e+(a|^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + d
  2850. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2851. d = (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x6D703EF3))<<int32(6) | (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + c
  2852. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2853. c = (c+(d|^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x6D703EF3))<<int32(6) | (c+(d|^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + b
  2854. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2855. b = (b+(c|^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x6D703EF3))<<int32(14) | (b+(c|^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + a
  2856. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2857. a = (a+(b|^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x6D703EF3))<<int32(12) | (a+(b|^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + e
  2858. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2859. e = (e+(a|^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x6D703EF3))<<int32(13) | (e+(a|^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + d
  2860. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2861. d = (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x6D703EF3))<<int32(5) | (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + c
  2862. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2863. c = (c+(d|^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x6D703EF3))<<int32(14) | (c+(d|^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + b
  2864. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2865. b = (b+(c|^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x6D703EF3))<<int32(13) | (b+(c|^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + a
  2866. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2867. a = (a+(b|^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x6D703EF3))<<int32(13) | (a+(b|^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + e
  2868. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2869. e = (e+(a|^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x6D703EF3))<<int32(7) | (e+(a|^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) + d
  2870. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2871. d = (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x6D703EF3))<<int32(5) | (d+(e|^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x6D703EF3))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + c
  2872. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10)) /* #47 */
  2873. /* Parallel round 4 */
  2874. c = (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x7A6D76E9))<<int32(15) | (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + b
  2875. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2876. b = (b+(c&d|^c&e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x7A6D76E9))<<int32(5) | (b+(c&d|^c&e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + a
  2877. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2878. a = (a+(b&c|^b&d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x7A6D76E9))<<int32(8) | (a+(b&c|^b&d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + e
  2879. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2880. e = (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x7A6D76E9))<<int32(11) | (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + d
  2881. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2882. d = (d+(e&a|^e&b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x7A6D76E9))<<int32(14) | (d+(e&a|^e&b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + c
  2883. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2884. c = (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x7A6D76E9))<<int32(14) | (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + b
  2885. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2886. b = (b+(c&d|^c&e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x7A6D76E9))<<int32(6) | (b+(c&d|^c&e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + a
  2887. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2888. a = (a+(b&c|^b&d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x7A6D76E9))<<int32(14) | (a+(b&c|^b&d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + e
  2889. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2890. e = (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x7A6D76E9))<<int32(6) | (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + d
  2891. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2892. d = (d+(e&a|^e&b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x7A6D76E9))<<int32(9) | (d+(e&a|^e&b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + c
  2893. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2894. c = (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x7A6D76E9))<<int32(12) | (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + b
  2895. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2896. b = (b+(c&d|^c&e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x7A6D76E9))<<int32(9) | (b+(c&d|^c&e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + a
  2897. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2898. a = (a+(b&c|^b&d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x7A6D76E9))<<int32(12) | (a+(b&c|^b&d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + e
  2899. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2900. e = (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x7A6D76E9))<<int32(5) | (e+(a&b|^a&c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + d
  2901. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2902. d = (d+(e&a|^e&b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x7A6D76E9))<<int32(15) | (d+(e&a|^e&b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + c
  2903. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2904. c = (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x7A6D76E9))<<int32(8) | (c+(d&e|^d&a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+uint32(0x7A6D76E9))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + b
  2905. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10)) /* #63 */
  2906. /* Parallel round 5 */
  2907. b = (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+0x00000000)<<int32(8) | (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(12)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + a
  2908. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2909. a = (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+0x00000000)<<int32(5) | (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(15)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + e
  2910. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2911. e = (e+(a^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+0x00000000)<<int32(12) | (e+(a^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(10)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + d
  2912. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2913. d = (d+(e^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+0x00000000)<<int32(9) | (d+(e^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(4)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9)) + c
  2914. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2915. c = (c+(d^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+0x00000000)<<int32(12) | (c+(d^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(1)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12)) + b
  2916. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2917. b = (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+0x00000000)<<int32(5) | (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(5)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + a
  2918. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2919. a = (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+0x00000000)<<int32(14) | (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(8)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14)) + e
  2920. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2921. e = (e+(a^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+0x00000000)<<int32(6) | (e+(a^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(7)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + d
  2922. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2923. d = (d+(e^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+0x00000000)<<int32(8) | (d+(e^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(6)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)) + c
  2924. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2925. c = (c+(d^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+0x00000000)<<int32(13) | (c+(d^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(2)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + b
  2926. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2927. b = (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+0x00000000)<<int32(6) | (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(13)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) + a
  2928. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2929. a = (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+0x00000000)<<int32(5) | (a+(b^c^d)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(14)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)) + e
  2930. c = c<<libc.Int32FromInt32(10) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2931. e = (e+(a^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+0x00000000)<<int32(15) | (e+(a^b^c)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[0]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15)) + d
  2932. b = b<<libc.Int32FromInt32(10) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2933. d = (d+(e^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+0x00000000)<<int32(13) | (d+(e^a^b)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(3)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(13)) + c
  2934. a = a<<libc.Int32FromInt32(10) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2935. c = (c+(d^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+0x00000000)<<int32(11) | (c+(d^e^a)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(9)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + b
  2936. e = e<<libc.Int32FromInt32(10) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2937. b = (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+0x00000000)<<int32(11) | (b+(c^d^e)+(*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[int32(11)]+0x00000000)>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11)) + a
  2938. d = d<<libc.Int32FromInt32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10)) /* #79 */
  2939. t = *(*Tuint32_t)(unsafe.Pointer(state + 1*4)) + cc + d
  2940. *(*Tuint32_t)(unsafe.Pointer(state + 1*4)) = *(*Tuint32_t)(unsafe.Pointer(state + 2*4)) + dd + e
  2941. *(*Tuint32_t)(unsafe.Pointer(state + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(state + 3*4)) + ee + a
  2942. *(*Tuint32_t)(unsafe.Pointer(state + 3*4)) = *(*Tuint32_t)(unsafe.Pointer(state + 4*4)) + aa + b
  2943. *(*Tuint32_t)(unsafe.Pointer(state + 4*4)) = *(*Tuint32_t)(unsafe.Pointer(state)) + bb + c
  2944. *(*Tuint32_t)(unsafe.Pointer(state)) = t
  2945. }
  2946. const m_SHA1_BLOCK_LENGTH = 64
  2947. const m_SHA1_DIGEST_LENGTH = 20
  2948. type TSHA1_CTX = struct {
  2949. Fstate [5]Tuint32_t
  2950. Fcount Tuint64_t
  2951. Fbuffer [64]Tuint8_t
  2952. }
  2953. /*
  2954. * blk0() and blk() perform the initial expand.
  2955. * I got the idea of expanding during the round function from SSLeay
  2956. */
  2957. /*
  2958. * (R0+R1), R2, R3, R4 are the different operations (rounds) used in SHA1
  2959. */
  2960. type TCHAR64LONG16 = struct {
  2961. Fl [0][16]Tuint32_t
  2962. Fc [64]Tuint8_t
  2963. }
  2964. // C documentation
  2965. //
  2966. // /*
  2967. // * Hash a single 512-bit block. This is the core of the algorithm.
  2968. // */
  2969. func XSHA1Transform(tls *libc.TLS, state uintptr, buffer uintptr) {
  2970. bp := tls.Alloc(64)
  2971. defer tls.Free(64)
  2972. var a, b, c, d, e, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v5, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v6, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v7, v70, v71, v72, v73, v74, v75, v76, v77, v78, v79, v8, v80, v81, v82, v83, v84, v9 Tuint32_t
  2973. var block uintptr
  2974. var _ /* workspace at bp+0 */ [64]Tuint8_t
  2975. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, b, block, c, d, e, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v5, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v6, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v7, v70, v71, v72, v73, v74, v75, v76, v77, v78, v79, v8, v80, v81, v82, v83, v84, v9
  2976. block = bp
  2977. libc.X__builtin___memcpy_chk(tls, block, buffer, uint64(m_SHA1_BLOCK_LENGTH), ^t__predefined_size_t(0))
  2978. /* Copy context->state[] to working vars */
  2979. a = *(*Tuint32_t)(unsafe.Pointer(state))
  2980. b = *(*Tuint32_t)(unsafe.Pointer(state + 1*4))
  2981. c = *(*Tuint32_t)(unsafe.Pointer(state + 2*4))
  2982. d = *(*Tuint32_t)(unsafe.Pointer(state + 3*4))
  2983. e = *(*Tuint32_t)(unsafe.Pointer(state + 4*4))
  2984. /* 4 rounds of 20 operations each. Loop unrolled. */
  2985. v1 = (*(*Tuint32_t)(unsafe.Pointer(block))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  2986. *(*Tuint32_t)(unsafe.Pointer(block)) = v1
  2987. e += b&(c^d) ^ d + v1 + uint32(0x5A827999) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  2988. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  2989. v2 = (*(*Tuint32_t)(unsafe.Pointer(block + 1*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 1*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 1*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 1*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  2990. *(*Tuint32_t)(unsafe.Pointer(block + 1*4)) = v2
  2991. d += a&(b^c) ^ c + v2 + uint32(0x5A827999) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  2992. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  2993. v3 = (*(*Tuint32_t)(unsafe.Pointer(block + 2*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 2*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 2*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 2*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  2994. *(*Tuint32_t)(unsafe.Pointer(block + 2*4)) = v3
  2995. c += e&(a^b) ^ b + v3 + uint32(0x5A827999) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  2996. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  2997. v4 = (*(*Tuint32_t)(unsafe.Pointer(block + 3*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 3*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 3*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 3*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  2998. *(*Tuint32_t)(unsafe.Pointer(block + 3*4)) = v4
  2999. b += d&(e^a) ^ a + v4 + uint32(0x5A827999) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3000. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3001. v5 = (*(*Tuint32_t)(unsafe.Pointer(block + 4*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 4*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 4*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 4*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  3002. *(*Tuint32_t)(unsafe.Pointer(block + 4*4)) = v5
  3003. a += c&(d^e) ^ e + v5 + uint32(0x5A827999) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3004. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3005. v6 = (*(*Tuint32_t)(unsafe.Pointer(block + 5*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 5*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 5*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 5*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  3006. *(*Tuint32_t)(unsafe.Pointer(block + 5*4)) = v6
  3007. e += b&(c^d) ^ d + v6 + uint32(0x5A827999) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3008. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3009. v7 = (*(*Tuint32_t)(unsafe.Pointer(block + 6*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 6*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 6*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 6*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  3010. *(*Tuint32_t)(unsafe.Pointer(block + 6*4)) = v7
  3011. d += a&(b^c) ^ c + v7 + uint32(0x5A827999) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3012. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3013. v8 = (*(*Tuint32_t)(unsafe.Pointer(block + 7*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 7*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 7*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 7*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  3014. *(*Tuint32_t)(unsafe.Pointer(block + 7*4)) = v8
  3015. c += e&(a^b) ^ b + v8 + uint32(0x5A827999) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3016. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3017. v9 = (*(*Tuint32_t)(unsafe.Pointer(block + 8*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 8*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 8*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 8*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  3018. *(*Tuint32_t)(unsafe.Pointer(block + 8*4)) = v9
  3019. b += d&(e^a) ^ a + v9 + uint32(0x5A827999) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3020. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3021. v10 = (*(*Tuint32_t)(unsafe.Pointer(block + 9*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 9*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 9*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 9*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  3022. *(*Tuint32_t)(unsafe.Pointer(block + 9*4)) = v10
  3023. a += c&(d^e) ^ e + v10 + uint32(0x5A827999) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3024. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3025. v11 = (*(*Tuint32_t)(unsafe.Pointer(block + 10*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 10*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 10*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 10*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  3026. *(*Tuint32_t)(unsafe.Pointer(block + 10*4)) = v11
  3027. e += b&(c^d) ^ d + v11 + uint32(0x5A827999) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3028. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3029. v12 = (*(*Tuint32_t)(unsafe.Pointer(block + 11*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 11*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 11*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 11*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  3030. *(*Tuint32_t)(unsafe.Pointer(block + 11*4)) = v12
  3031. d += a&(b^c) ^ c + v12 + uint32(0x5A827999) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3032. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3033. v13 = (*(*Tuint32_t)(unsafe.Pointer(block + 12*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 12*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 12*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 12*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  3034. *(*Tuint32_t)(unsafe.Pointer(block + 12*4)) = v13
  3035. c += e&(a^b) ^ b + v13 + uint32(0x5A827999) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3036. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3037. v14 = (*(*Tuint32_t)(unsafe.Pointer(block + 13*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 13*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 13*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 13*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  3038. *(*Tuint32_t)(unsafe.Pointer(block + 13*4)) = v14
  3039. b += d&(e^a) ^ a + v14 + uint32(0x5A827999) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3040. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3041. v15 = (*(*Tuint32_t)(unsafe.Pointer(block + 14*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 14*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 14*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 14*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  3042. *(*Tuint32_t)(unsafe.Pointer(block + 14*4)) = v15
  3043. a += c&(d^e) ^ e + v15 + uint32(0x5A827999) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3044. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3045. v16 = (*(*Tuint32_t)(unsafe.Pointer(block + 15*4))<<libc.Int32FromInt32(24)|*(*Tuint32_t)(unsafe.Pointer(block + 15*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(24)))&libc.Uint32FromUint32(0xFF00FF00) | (*(*Tuint32_t)(unsafe.Pointer(block + 15*4))<<libc.Int32FromInt32(8)|*(*Tuint32_t)(unsafe.Pointer(block + 15*4))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(8)))&libc.Uint32FromInt32(0x00FF00FF)
  3046. *(*Tuint32_t)(unsafe.Pointer(block + 15*4)) = v16
  3047. e += b&(c^d) ^ d + v16 + uint32(0x5A827999) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3048. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3049. v17 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(16)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(16)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(16)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(16)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(16)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(16)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(16)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(16)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3050. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(16)&libc.Int32FromInt32(15))*4)) = v17
  3051. d += a&(b^c) ^ c + v17 + uint32(0x5A827999) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3052. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3053. v18 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(17)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(17)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(17)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(17)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(17)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(17)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(17)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(17)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3054. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(17)&libc.Int32FromInt32(15))*4)) = v18
  3055. c += e&(a^b) ^ b + v18 + uint32(0x5A827999) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3056. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3057. v19 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(18)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(18)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(18)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(18)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(18)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(18)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(18)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(18)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3058. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(18)&libc.Int32FromInt32(15))*4)) = v19
  3059. b += d&(e^a) ^ a + v19 + uint32(0x5A827999) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3060. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3061. v20 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(19)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(19)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(19)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(19)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(19)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(19)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(19)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(19)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3062. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(19)&libc.Int32FromInt32(15))*4)) = v20
  3063. a += c&(d^e) ^ e + v20 + uint32(0x5A827999) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3064. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3065. v21 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(20)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(20)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(20)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(20)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(20)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(20)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(20)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(20)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3066. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(20)&libc.Int32FromInt32(15))*4)) = v21
  3067. e += b ^ c ^ d + v21 + uint32(0x6ED9EBA1) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3068. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3069. v22 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(21)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(21)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(21)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(21)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(21)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(21)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(21)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(21)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3070. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(21)&libc.Int32FromInt32(15))*4)) = v22
  3071. d += a ^ b ^ c + v22 + uint32(0x6ED9EBA1) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3072. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3073. v23 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(22)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(22)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(22)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(22)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(22)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(22)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(22)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(22)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3074. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(22)&libc.Int32FromInt32(15))*4)) = v23
  3075. c += e ^ a ^ b + v23 + uint32(0x6ED9EBA1) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3076. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3077. v24 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(23)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(23)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(23)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(23)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(23)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(23)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(23)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(23)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3078. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(23)&libc.Int32FromInt32(15))*4)) = v24
  3079. b += d ^ e ^ a + v24 + uint32(0x6ED9EBA1) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3080. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3081. v25 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(24)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(24)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(24)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(24)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(24)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(24)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(24)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(24)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3082. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(24)&libc.Int32FromInt32(15))*4)) = v25
  3083. a += c ^ d ^ e + v25 + uint32(0x6ED9EBA1) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3084. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3085. v26 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(25)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(25)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(25)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(25)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(25)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(25)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(25)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(25)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3086. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(25)&libc.Int32FromInt32(15))*4)) = v26
  3087. e += b ^ c ^ d + v26 + uint32(0x6ED9EBA1) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3088. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3089. v27 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(26)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(26)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(26)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(26)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(26)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(26)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(26)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(26)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3090. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(26)&libc.Int32FromInt32(15))*4)) = v27
  3091. d += a ^ b ^ c + v27 + uint32(0x6ED9EBA1) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3092. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3093. v28 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(27)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(27)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(27)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(27)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(27)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(27)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(27)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(27)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3094. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(27)&libc.Int32FromInt32(15))*4)) = v28
  3095. c += e ^ a ^ b + v28 + uint32(0x6ED9EBA1) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3096. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3097. v29 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(28)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(28)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(28)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(28)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(28)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(28)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(28)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(28)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3098. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(28)&libc.Int32FromInt32(15))*4)) = v29
  3099. b += d ^ e ^ a + v29 + uint32(0x6ED9EBA1) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3100. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3101. v30 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(29)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(29)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(29)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(29)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(29)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(29)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(29)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(29)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3102. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(29)&libc.Int32FromInt32(15))*4)) = v30
  3103. a += c ^ d ^ e + v30 + uint32(0x6ED9EBA1) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3104. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3105. v31 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(30)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(30)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(30)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(30)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(30)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(30)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(30)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(30)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3106. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(30)&libc.Int32FromInt32(15))*4)) = v31
  3107. e += b ^ c ^ d + v31 + uint32(0x6ED9EBA1) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3108. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3109. v32 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(31)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(31)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(31)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(31)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(31)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(31)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(31)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(31)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3110. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(31)&libc.Int32FromInt32(15))*4)) = v32
  3111. d += a ^ b ^ c + v32 + uint32(0x6ED9EBA1) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3112. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3113. v33 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(32)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(32)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(32)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(32)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(32)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(32)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(32)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(32)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3114. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(32)&libc.Int32FromInt32(15))*4)) = v33
  3115. c += e ^ a ^ b + v33 + uint32(0x6ED9EBA1) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3116. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3117. v34 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(33)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(33)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(33)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(33)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(33)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(33)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(33)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(33)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3118. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(33)&libc.Int32FromInt32(15))*4)) = v34
  3119. b += d ^ e ^ a + v34 + uint32(0x6ED9EBA1) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3120. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3121. v35 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(34)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(34)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(34)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(34)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(34)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(34)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(34)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(34)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3122. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(34)&libc.Int32FromInt32(15))*4)) = v35
  3123. a += c ^ d ^ e + v35 + uint32(0x6ED9EBA1) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3124. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3125. v36 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(35)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(35)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(35)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(35)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(35)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(35)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(35)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(35)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3126. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(35)&libc.Int32FromInt32(15))*4)) = v36
  3127. e += b ^ c ^ d + v36 + uint32(0x6ED9EBA1) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3128. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3129. v37 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(36)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(36)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(36)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(36)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(36)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(36)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(36)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(36)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3130. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(36)&libc.Int32FromInt32(15))*4)) = v37
  3131. d += a ^ b ^ c + v37 + uint32(0x6ED9EBA1) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3132. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3133. v38 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(37)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(37)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(37)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(37)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(37)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(37)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(37)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(37)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3134. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(37)&libc.Int32FromInt32(15))*4)) = v38
  3135. c += e ^ a ^ b + v38 + uint32(0x6ED9EBA1) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3136. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3137. v39 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(38)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(38)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(38)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(38)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(38)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(38)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(38)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(38)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3138. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(38)&libc.Int32FromInt32(15))*4)) = v39
  3139. b += d ^ e ^ a + v39 + uint32(0x6ED9EBA1) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3140. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3141. v40 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(39)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(39)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(39)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(39)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(39)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(39)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(39)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(39)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3142. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(39)&libc.Int32FromInt32(15))*4)) = v40
  3143. a += c ^ d ^ e + v40 + uint32(0x6ED9EBA1) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3144. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3145. v41 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(40)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(40)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(40)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(40)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(40)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(40)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(40)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(40)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3146. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(40)&libc.Int32FromInt32(15))*4)) = v41
  3147. e += (b|c)&d | b&c + v41 + uint32(0x8F1BBCDC) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3148. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3149. v42 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(41)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(41)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(41)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(41)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(41)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(41)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(41)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(41)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3150. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(41)&libc.Int32FromInt32(15))*4)) = v42
  3151. d += (a|b)&c | a&b + v42 + uint32(0x8F1BBCDC) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3152. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3153. v43 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(42)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(42)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(42)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(42)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(42)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(42)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(42)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(42)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3154. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(42)&libc.Int32FromInt32(15))*4)) = v43
  3155. c += (e|a)&b | e&a + v43 + uint32(0x8F1BBCDC) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3156. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3157. v44 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(43)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(43)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(43)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(43)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(43)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(43)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(43)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(43)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3158. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(43)&libc.Int32FromInt32(15))*4)) = v44
  3159. b += (d|e)&a | d&e + v44 + uint32(0x8F1BBCDC) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3160. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3161. v45 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(44)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(44)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(44)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(44)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(44)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(44)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(44)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(44)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3162. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(44)&libc.Int32FromInt32(15))*4)) = v45
  3163. a += (c|d)&e | c&d + v45 + uint32(0x8F1BBCDC) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3164. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3165. v46 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(45)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(45)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(45)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(45)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(45)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(45)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(45)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(45)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3166. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(45)&libc.Int32FromInt32(15))*4)) = v46
  3167. e += (b|c)&d | b&c + v46 + uint32(0x8F1BBCDC) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3168. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3169. v47 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(46)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(46)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(46)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(46)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(46)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(46)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(46)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(46)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3170. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(46)&libc.Int32FromInt32(15))*4)) = v47
  3171. d += (a|b)&c | a&b + v47 + uint32(0x8F1BBCDC) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3172. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3173. v48 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(47)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(47)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(47)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(47)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(47)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(47)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(47)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(47)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3174. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(47)&libc.Int32FromInt32(15))*4)) = v48
  3175. c += (e|a)&b | e&a + v48 + uint32(0x8F1BBCDC) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3176. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3177. v49 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(48)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(48)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(48)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(48)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(48)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(48)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(48)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(48)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3178. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(48)&libc.Int32FromInt32(15))*4)) = v49
  3179. b += (d|e)&a | d&e + v49 + uint32(0x8F1BBCDC) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3180. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3181. v50 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(49)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(49)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(49)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(49)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(49)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(49)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(49)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(49)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3182. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(49)&libc.Int32FromInt32(15))*4)) = v50
  3183. a += (c|d)&e | c&d + v50 + uint32(0x8F1BBCDC) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3184. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3185. v51 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(50)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(50)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(50)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(50)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(50)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(50)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(50)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(50)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3186. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(50)&libc.Int32FromInt32(15))*4)) = v51
  3187. e += (b|c)&d | b&c + v51 + uint32(0x8F1BBCDC) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3188. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3189. v52 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(51)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(51)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(51)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(51)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(51)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(51)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(51)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(51)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3190. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(51)&libc.Int32FromInt32(15))*4)) = v52
  3191. d += (a|b)&c | a&b + v52 + uint32(0x8F1BBCDC) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3192. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3193. v53 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(52)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(52)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(52)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(52)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(52)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(52)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(52)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(52)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3194. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(52)&libc.Int32FromInt32(15))*4)) = v53
  3195. c += (e|a)&b | e&a + v53 + uint32(0x8F1BBCDC) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3196. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3197. v54 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(53)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(53)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(53)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(53)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(53)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(53)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(53)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(53)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3198. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(53)&libc.Int32FromInt32(15))*4)) = v54
  3199. b += (d|e)&a | d&e + v54 + uint32(0x8F1BBCDC) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3200. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3201. v55 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(54)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(54)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(54)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(54)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(54)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(54)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(54)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(54)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3202. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(54)&libc.Int32FromInt32(15))*4)) = v55
  3203. a += (c|d)&e | c&d + v55 + uint32(0x8F1BBCDC) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3204. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3205. v56 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(55)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(55)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(55)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(55)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(55)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(55)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(55)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(55)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3206. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(55)&libc.Int32FromInt32(15))*4)) = v56
  3207. e += (b|c)&d | b&c + v56 + uint32(0x8F1BBCDC) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3208. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3209. v57 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(56)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(56)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(56)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(56)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(56)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(56)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(56)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(56)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3210. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(56)&libc.Int32FromInt32(15))*4)) = v57
  3211. d += (a|b)&c | a&b + v57 + uint32(0x8F1BBCDC) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3212. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3213. v58 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(57)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(57)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(57)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(57)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(57)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(57)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(57)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(57)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3214. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(57)&libc.Int32FromInt32(15))*4)) = v58
  3215. c += (e|a)&b | e&a + v58 + uint32(0x8F1BBCDC) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3216. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3217. v59 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(58)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(58)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(58)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(58)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(58)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(58)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(58)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(58)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3218. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(58)&libc.Int32FromInt32(15))*4)) = v59
  3219. b += (d|e)&a | d&e + v59 + uint32(0x8F1BBCDC) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3220. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3221. v60 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(59)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(59)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(59)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(59)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(59)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(59)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(59)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(59)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3222. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(59)&libc.Int32FromInt32(15))*4)) = v60
  3223. a += (c|d)&e | c&d + v60 + uint32(0x8F1BBCDC) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3224. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3225. v61 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(60)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(60)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(60)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(60)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(60)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(60)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(60)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(60)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3226. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(60)&libc.Int32FromInt32(15))*4)) = v61
  3227. e += b ^ c ^ d + v61 + uint32(0xCA62C1D6) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3228. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3229. v62 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(61)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(61)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(61)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(61)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(61)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(61)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(61)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(61)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3230. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(61)&libc.Int32FromInt32(15))*4)) = v62
  3231. d += a ^ b ^ c + v62 + uint32(0xCA62C1D6) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3232. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3233. v63 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(62)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(62)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(62)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(62)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(62)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(62)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(62)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(62)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3234. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(62)&libc.Int32FromInt32(15))*4)) = v63
  3235. c += e ^ a ^ b + v63 + uint32(0xCA62C1D6) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3236. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3237. v64 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(63)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(63)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(63)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(63)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(63)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(63)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(63)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(63)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3238. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(63)&libc.Int32FromInt32(15))*4)) = v64
  3239. b += d ^ e ^ a + v64 + uint32(0xCA62C1D6) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3240. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3241. v65 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(64)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(64)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(64)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(64)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(64)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(64)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(64)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(64)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3242. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(64)&libc.Int32FromInt32(15))*4)) = v65
  3243. a += c ^ d ^ e + v65 + uint32(0xCA62C1D6) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3244. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3245. v66 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(65)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(65)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(65)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(65)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(65)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(65)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(65)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(65)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3246. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(65)&libc.Int32FromInt32(15))*4)) = v66
  3247. e += b ^ c ^ d + v66 + uint32(0xCA62C1D6) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3248. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3249. v67 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(66)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(66)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(66)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(66)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(66)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(66)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(66)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(66)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3250. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(66)&libc.Int32FromInt32(15))*4)) = v67
  3251. d += a ^ b ^ c + v67 + uint32(0xCA62C1D6) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3252. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3253. v68 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(67)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(67)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(67)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(67)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(67)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(67)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(67)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(67)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3254. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(67)&libc.Int32FromInt32(15))*4)) = v68
  3255. c += e ^ a ^ b + v68 + uint32(0xCA62C1D6) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3256. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3257. v69 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(68)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(68)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(68)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(68)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(68)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(68)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(68)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(68)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3258. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(68)&libc.Int32FromInt32(15))*4)) = v69
  3259. b += d ^ e ^ a + v69 + uint32(0xCA62C1D6) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3260. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3261. v70 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(69)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(69)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(69)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(69)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(69)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(69)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(69)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(69)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3262. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(69)&libc.Int32FromInt32(15))*4)) = v70
  3263. a += c ^ d ^ e + v70 + uint32(0xCA62C1D6) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3264. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3265. v71 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(70)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(70)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(70)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(70)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(70)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(70)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(70)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(70)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3266. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(70)&libc.Int32FromInt32(15))*4)) = v71
  3267. e += b ^ c ^ d + v71 + uint32(0xCA62C1D6) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3268. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3269. v72 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(71)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(71)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(71)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(71)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(71)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(71)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(71)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(71)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3270. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(71)&libc.Int32FromInt32(15))*4)) = v72
  3271. d += a ^ b ^ c + v72 + uint32(0xCA62C1D6) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3272. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3273. v73 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(72)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(72)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(72)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(72)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(72)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(72)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(72)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(72)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3274. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(72)&libc.Int32FromInt32(15))*4)) = v73
  3275. c += e ^ a ^ b + v73 + uint32(0xCA62C1D6) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3276. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3277. v74 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(73)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(73)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(73)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(73)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(73)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(73)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(73)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(73)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3278. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(73)&libc.Int32FromInt32(15))*4)) = v74
  3279. b += d ^ e ^ a + v74 + uint32(0xCA62C1D6) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3280. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3281. v75 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(74)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(74)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(74)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(74)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(74)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(74)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(74)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(74)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3282. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(74)&libc.Int32FromInt32(15))*4)) = v75
  3283. a += c ^ d ^ e + v75 + uint32(0xCA62C1D6) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3284. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3285. v76 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(75)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(75)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(75)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(75)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(75)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(75)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(75)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(75)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3286. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(75)&libc.Int32FromInt32(15))*4)) = v76
  3287. e += b ^ c ^ d + v76 + uint32(0xCA62C1D6) + (a<<libc.Int32FromInt32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3288. b = b<<libc.Int32FromInt32(30) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3289. v77 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(76)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(76)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(76)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(76)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(76)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(76)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(76)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(76)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3290. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(76)&libc.Int32FromInt32(15))*4)) = v77
  3291. d += a ^ b ^ c + v77 + uint32(0xCA62C1D6) + (e<<libc.Int32FromInt32(5) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3292. a = a<<libc.Int32FromInt32(30) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3293. v78 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(77)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(77)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(77)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(77)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(77)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(77)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(77)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(77)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3294. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(77)&libc.Int32FromInt32(15))*4)) = v78
  3295. c += e ^ a ^ b + v78 + uint32(0xCA62C1D6) + (d<<libc.Int32FromInt32(5) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3296. e = e<<libc.Int32FromInt32(30) | e>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3297. v79 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(78)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(78)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(78)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(78)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(78)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(78)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(78)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(78)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3298. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(78)&libc.Int32FromInt32(15))*4)) = v79
  3299. b += d ^ e ^ a + v79 + uint32(0xCA62C1D6) + (c<<libc.Int32FromInt32(5) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3300. d = d<<libc.Int32FromInt32(30) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3301. v80 = (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(79)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(79)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(79)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(79)&libc.Int32FromInt32(15))*4)))<<libc.Int32FromInt32(1) | (*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(79)+libc.Int32FromInt32(13))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(79)+libc.Int32FromInt32(8))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr((libc.Int32FromInt32(79)+libc.Int32FromInt32(2))&libc.Int32FromInt32(15))*4))^*(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(79)&libc.Int32FromInt32(15))*4)))>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(1))
  3302. *(*Tuint32_t)(unsafe.Pointer(block + uintptr(libc.Int32FromInt32(79)&libc.Int32FromInt32(15))*4)) = v80
  3303. a += c ^ d ^ e + v80 + uint32(0xCA62C1D6) + (b<<libc.Int32FromInt32(5) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5)))
  3304. c = c<<libc.Int32FromInt32(30) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(30))
  3305. /* Add the working vars back into context.state[] */
  3306. *(*Tuint32_t)(unsafe.Pointer(state)) += a
  3307. *(*Tuint32_t)(unsafe.Pointer(state + 1*4)) += b
  3308. *(*Tuint32_t)(unsafe.Pointer(state + 2*4)) += c
  3309. *(*Tuint32_t)(unsafe.Pointer(state + 3*4)) += d
  3310. *(*Tuint32_t)(unsafe.Pointer(state + 4*4)) += e
  3311. /* Wipe variables */
  3312. v84 = libc.Uint32FromInt32(0)
  3313. e = v84
  3314. v83 = v84
  3315. d = v83
  3316. v82 = v83
  3317. c = v82
  3318. v81 = v82
  3319. b = v81
  3320. a = v81
  3321. }
  3322. // C documentation
  3323. //
  3324. // /*
  3325. // * SHA1Init - Initialize new context
  3326. // */
  3327. func XSHA1Init(tls *libc.TLS, context uintptr) {
  3328. /* SHA1 initialization constants */
  3329. (*TSHA1_CTX)(unsafe.Pointer(context)).Fcount = uint64(0)
  3330. *(*Tuint32_t)(unsafe.Pointer(context)) = uint32(0x67452301)
  3331. *(*Tuint32_t)(unsafe.Pointer(context + 1*4)) = uint32(0xEFCDAB89)
  3332. *(*Tuint32_t)(unsafe.Pointer(context + 2*4)) = uint32(0x98BADCFE)
  3333. *(*Tuint32_t)(unsafe.Pointer(context + 3*4)) = uint32(0x10325476)
  3334. *(*Tuint32_t)(unsafe.Pointer(context + 4*4)) = uint32(0xC3D2E1F0)
  3335. }
  3336. // C documentation
  3337. //
  3338. // /*
  3339. // * Run your data through this.
  3340. // */
  3341. func XSHA1Update(tls *libc.TLS, context uintptr, data uintptr, len1 Tsize_t) {
  3342. var i, j, v1 Tsize_t
  3343. _, _, _ = i, j, v1
  3344. j = uint64((*TSHA1_CTX)(unsafe.Pointer(context)).Fcount >> libc.Int32FromInt32(3) & libc.Uint64FromInt32(63))
  3345. *(*Tuint64_t)(unsafe.Pointer(context + 24)) += uint64(len1 << libc.Int32FromInt32(3))
  3346. if j+len1 > uint64(63) {
  3347. v1 = libc.Uint64FromInt32(64) - j
  3348. i = v1
  3349. libc.X__builtin___memcpy_chk(tls, context+32+uintptr(j), data, v1, ^t__predefined_size_t(0))
  3350. XSHA1Transform(tls, context, context+32)
  3351. for {
  3352. if !(i+uint64(63) < len1) {
  3353. break
  3354. }
  3355. XSHA1Transform(tls, context, data+uintptr(i))
  3356. goto _2
  3357. _2:
  3358. ;
  3359. i += uint64(64)
  3360. }
  3361. j = uint64(0)
  3362. } else {
  3363. i = uint64(0)
  3364. }
  3365. libc.X__builtin___memcpy_chk(tls, context+32+uintptr(j), data+uintptr(i), len1-i, ^t__predefined_size_t(0))
  3366. }
  3367. // C documentation
  3368. //
  3369. // /*
  3370. // * Add padding and return the message digest.
  3371. // */
  3372. func XSHA1Pad(tls *libc.TLS, context uintptr) {
  3373. bp := tls.Alloc(16)
  3374. defer tls.Free(16)
  3375. var i uint32
  3376. var _ /* finalcount at bp+0 */ [8]Tuint8_t
  3377. _ = i
  3378. i = uint32(0)
  3379. for {
  3380. if !(i < uint32(8)) {
  3381. break
  3382. }
  3383. (*(*[8]Tuint8_t)(unsafe.Pointer(bp)))[i] = uint8((*TSHA1_CTX)(unsafe.Pointer(context)).Fcount >> ((libc.Uint32FromInt32(7) - i&libc.Uint32FromInt32(7)) * libc.Uint32FromInt32(8)) & libc.Uint64FromInt32(255)) /* Endian independent */
  3384. goto _1
  3385. _1:
  3386. ;
  3387. i++
  3388. }
  3389. XSHA1Update(tls, context, __ccgo_ts+153, uint64(1))
  3390. for (*TSHA1_CTX)(unsafe.Pointer(context)).Fcount&uint64(504) != uint64(448) {
  3391. XSHA1Update(tls, context, __ccgo_ts+155, uint64(1))
  3392. }
  3393. XSHA1Update(tls, context, bp, uint64(8)) /* Should cause a SHA1Transform() */
  3394. }
  3395. func XSHA1Final(tls *libc.TLS, digest uintptr, context uintptr) {
  3396. var i uint32
  3397. _ = i
  3398. XSHA1Pad(tls, context)
  3399. i = uint32(0)
  3400. for {
  3401. if !(i < uint32(m_SHA1_DIGEST_LENGTH)) {
  3402. break
  3403. }
  3404. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i))) = uint8(*(*Tuint32_t)(unsafe.Pointer(context + uintptr(i>>int32(2))*4)) >> ((libc.Uint32FromInt32(3) - i&libc.Uint32FromInt32(3)) * libc.Uint32FromInt32(8)) & libc.Uint32FromInt32(255))
  3405. goto _1
  3406. _1:
  3407. ;
  3408. i++
  3409. }
  3410. libc.X__builtin___memset_chk(tls, context, 0, uint64(96), ^t__predefined_size_t(0))
  3411. }
  3412. const m_SHA224_BLOCK_LENGTH = 64
  3413. const m_SHA224_DIGEST_LENGTH = 28
  3414. const m_SHA256_BLOCK_LENGTH = 64
  3415. const m_SHA256_DIGEST_LENGTH = 32
  3416. const m_SHA384_BLOCK_LENGTH = 128
  3417. const m_SHA384_DIGEST_LENGTH = 48
  3418. const m_SHA512_256_BLOCK_LENGTH = 128
  3419. const m_SHA512_256_DIGEST_LENGTH = 32
  3420. const m_SHA512_BLOCK_LENGTH = 128
  3421. const m_SHA512_DIGEST_LENGTH = 64
  3422. type TSHA2_CTX = struct {
  3423. Fstate struct {
  3424. Fst64 [0][8]Tuint64_t
  3425. Fst32 [8]Tuint32_t
  3426. F__ccgo_pad2 [32]byte
  3427. }
  3428. Fbitcount [2]Tuint64_t
  3429. Fbuffer [128]Tuint8_t
  3430. }
  3431. type T_SHA2_CTX = TSHA2_CTX
  3432. /*
  3433. * UNROLLED TRANSFORM LOOP NOTE:
  3434. * You can define SHA2_UNROLL_TRANSFORM to use the unrolled transform
  3435. * loop version for the hash transform rounds (defined using macros
  3436. * later in this file). Either define on the command line, for example:
  3437. *
  3438. * cc -DSHA2_UNROLL_TRANSFORM -o sha2 sha2.c sha2prog.c
  3439. *
  3440. * or define below:
  3441. *
  3442. * #define SHA2_UNROLL_TRANSFORM
  3443. *
  3444. */
  3445. /*** SHA-224/256/384/512 Various Length Definitions ***********************/
  3446. /* NOTE: Most of these are in sha2.h */
  3447. /*** ENDIAN SPECIFIC COPY MACROS **************************************/
  3448. /*
  3449. * Macro for incrementally adding the unsigned 64-bit integer n to the
  3450. * unsigned 128-bit integer (represented using a two-element array of
  3451. * 64-bit words):
  3452. */
  3453. /*** THE SIX LOGICAL FUNCTIONS ****************************************/
  3454. /*
  3455. * Bit shifting and rotation (used by the six SHA-XYZ logical functions:
  3456. *
  3457. * NOTE: The naming of R and S appears backwards here (R is a SHIFT and
  3458. * S is a ROTATION) because the SHA-224/256/384/512 description document
  3459. * (see http://csrc.nist.gov/cryptval/shs/sha256-384-512.pdf) uses this
  3460. * same "backwards" definition.
  3461. */
  3462. /* Shift-right (used in SHA-224, SHA-256, SHA-384, and SHA-512): */
  3463. /* 32-bit Rotate-right (used in SHA-224 and SHA-256): */
  3464. /* 64-bit Rotate-right (used in SHA-384 and SHA-512): */
  3465. /* Two of six logical functions used in SHA-224, SHA-256, SHA-384, and SHA-512: */
  3466. /* Four of six logical functions used in SHA-224 and SHA-256: */
  3467. /* Four of six logical functions used in SHA-384 and SHA-512: */
  3468. // C documentation
  3469. //
  3470. // /*** SHA-XYZ INITIAL HASH VALUES AND CONSTANTS ************************/
  3471. // /* Hash constant words K for SHA-224 and SHA-256: */
  3472. var _K256 = [64]Tuint32_t{
  3473. 0: uint32(0x428a2f98),
  3474. 1: uint32(0x71374491),
  3475. 2: uint32(0xb5c0fbcf),
  3476. 3: uint32(0xe9b5dba5),
  3477. 4: uint32(0x3956c25b),
  3478. 5: uint32(0x59f111f1),
  3479. 6: uint32(0x923f82a4),
  3480. 7: uint32(0xab1c5ed5),
  3481. 8: uint32(0xd807aa98),
  3482. 9: uint32(0x12835b01),
  3483. 10: uint32(0x243185be),
  3484. 11: uint32(0x550c7dc3),
  3485. 12: uint32(0x72be5d74),
  3486. 13: uint32(0x80deb1fe),
  3487. 14: uint32(0x9bdc06a7),
  3488. 15: uint32(0xc19bf174),
  3489. 16: uint32(0xe49b69c1),
  3490. 17: uint32(0xefbe4786),
  3491. 18: uint32(0x0fc19dc6),
  3492. 19: uint32(0x240ca1cc),
  3493. 20: uint32(0x2de92c6f),
  3494. 21: uint32(0x4a7484aa),
  3495. 22: uint32(0x5cb0a9dc),
  3496. 23: uint32(0x76f988da),
  3497. 24: uint32(0x983e5152),
  3498. 25: uint32(0xa831c66d),
  3499. 26: uint32(0xb00327c8),
  3500. 27: uint32(0xbf597fc7),
  3501. 28: uint32(0xc6e00bf3),
  3502. 29: uint32(0xd5a79147),
  3503. 30: uint32(0x06ca6351),
  3504. 31: uint32(0x14292967),
  3505. 32: uint32(0x27b70a85),
  3506. 33: uint32(0x2e1b2138),
  3507. 34: uint32(0x4d2c6dfc),
  3508. 35: uint32(0x53380d13),
  3509. 36: uint32(0x650a7354),
  3510. 37: uint32(0x766a0abb),
  3511. 38: uint32(0x81c2c92e),
  3512. 39: uint32(0x92722c85),
  3513. 40: uint32(0xa2bfe8a1),
  3514. 41: uint32(0xa81a664b),
  3515. 42: uint32(0xc24b8b70),
  3516. 43: uint32(0xc76c51a3),
  3517. 44: uint32(0xd192e819),
  3518. 45: uint32(0xd6990624),
  3519. 46: uint32(0xf40e3585),
  3520. 47: uint32(0x106aa070),
  3521. 48: uint32(0x19a4c116),
  3522. 49: uint32(0x1e376c08),
  3523. 50: uint32(0x2748774c),
  3524. 51: uint32(0x34b0bcb5),
  3525. 52: uint32(0x391c0cb3),
  3526. 53: uint32(0x4ed8aa4a),
  3527. 54: uint32(0x5b9cca4f),
  3528. 55: uint32(0x682e6ff3),
  3529. 56: uint32(0x748f82ee),
  3530. 57: uint32(0x78a5636f),
  3531. 58: uint32(0x84c87814),
  3532. 59: uint32(0x8cc70208),
  3533. 60: uint32(0x90befffa),
  3534. 61: uint32(0xa4506ceb),
  3535. 62: uint32(0xbef9a3f7),
  3536. 63: uint32(0xc67178f2),
  3537. }
  3538. // C documentation
  3539. //
  3540. // /* Initial hash value H for SHA-256: */
  3541. var _sha256_initial_hash_value = [8]Tuint32_t{
  3542. 0: uint32(0x6a09e667),
  3543. 1: uint32(0xbb67ae85),
  3544. 2: uint32(0x3c6ef372),
  3545. 3: uint32(0xa54ff53a),
  3546. 4: uint32(0x510e527f),
  3547. 5: uint32(0x9b05688c),
  3548. 6: uint32(0x1f83d9ab),
  3549. 7: uint32(0x5be0cd19),
  3550. }
  3551. // C documentation
  3552. //
  3553. // /* Hash constant words K for SHA-384 and SHA-512: */
  3554. var _K512 = [80]Tuint64_t{
  3555. 0: uint64(0x428a2f98d728ae22),
  3556. 1: uint64(0x7137449123ef65cd),
  3557. 2: uint64(0xb5c0fbcfec4d3b2f),
  3558. 3: uint64(0xe9b5dba58189dbbc),
  3559. 4: uint64(0x3956c25bf348b538),
  3560. 5: uint64(0x59f111f1b605d019),
  3561. 6: uint64(0x923f82a4af194f9b),
  3562. 7: uint64(0xab1c5ed5da6d8118),
  3563. 8: uint64(0xd807aa98a3030242),
  3564. 9: uint64(0x12835b0145706fbe),
  3565. 10: uint64(0x243185be4ee4b28c),
  3566. 11: uint64(0x550c7dc3d5ffb4e2),
  3567. 12: uint64(0x72be5d74f27b896f),
  3568. 13: uint64(0x80deb1fe3b1696b1),
  3569. 14: uint64(0x9bdc06a725c71235),
  3570. 15: uint64(0xc19bf174cf692694),
  3571. 16: uint64(0xe49b69c19ef14ad2),
  3572. 17: uint64(0xefbe4786384f25e3),
  3573. 18: uint64(0x0fc19dc68b8cd5b5),
  3574. 19: uint64(0x240ca1cc77ac9c65),
  3575. 20: uint64(0x2de92c6f592b0275),
  3576. 21: uint64(0x4a7484aa6ea6e483),
  3577. 22: uint64(0x5cb0a9dcbd41fbd4),
  3578. 23: uint64(0x76f988da831153b5),
  3579. 24: uint64(0x983e5152ee66dfab),
  3580. 25: uint64(0xa831c66d2db43210),
  3581. 26: uint64(0xb00327c898fb213f),
  3582. 27: uint64(0xbf597fc7beef0ee4),
  3583. 28: uint64(0xc6e00bf33da88fc2),
  3584. 29: uint64(0xd5a79147930aa725),
  3585. 30: uint64(0x06ca6351e003826f),
  3586. 31: uint64(0x142929670a0e6e70),
  3587. 32: uint64(0x27b70a8546d22ffc),
  3588. 33: uint64(0x2e1b21385c26c926),
  3589. 34: uint64(0x4d2c6dfc5ac42aed),
  3590. 35: uint64(0x53380d139d95b3df),
  3591. 36: uint64(0x650a73548baf63de),
  3592. 37: uint64(0x766a0abb3c77b2a8),
  3593. 38: uint64(0x81c2c92e47edaee6),
  3594. 39: uint64(0x92722c851482353b),
  3595. 40: uint64(0xa2bfe8a14cf10364),
  3596. 41: uint64(0xa81a664bbc423001),
  3597. 42: uint64(0xc24b8b70d0f89791),
  3598. 43: uint64(0xc76c51a30654be30),
  3599. 44: uint64(0xd192e819d6ef5218),
  3600. 45: uint64(0xd69906245565a910),
  3601. 46: uint64(0xf40e35855771202a),
  3602. 47: uint64(0x106aa07032bbd1b8),
  3603. 48: uint64(0x19a4c116b8d2d0c8),
  3604. 49: uint64(0x1e376c085141ab53),
  3605. 50: uint64(0x2748774cdf8eeb99),
  3606. 51: uint64(0x34b0bcb5e19b48a8),
  3607. 52: uint64(0x391c0cb3c5c95a63),
  3608. 53: uint64(0x4ed8aa4ae3418acb),
  3609. 54: uint64(0x5b9cca4f7763e373),
  3610. 55: uint64(0x682e6ff3d6b2b8a3),
  3611. 56: uint64(0x748f82ee5defb2fc),
  3612. 57: uint64(0x78a5636f43172f60),
  3613. 58: uint64(0x84c87814a1f0ab72),
  3614. 59: uint64(0x8cc702081a6439ec),
  3615. 60: uint64(0x90befffa23631e28),
  3616. 61: uint64(0xa4506cebde82bde9),
  3617. 62: uint64(0xbef9a3f7b2c67915),
  3618. 63: uint64(0xc67178f2e372532b),
  3619. 64: uint64(0xca273eceea26619c),
  3620. 65: uint64(0xd186b8c721c0c207),
  3621. 66: uint64(0xeada7dd6cde0eb1e),
  3622. 67: uint64(0xf57d4f7fee6ed178),
  3623. 68: uint64(0x06f067aa72176fba),
  3624. 69: uint64(0x0a637dc5a2c898a6),
  3625. 70: uint64(0x113f9804bef90dae),
  3626. 71: uint64(0x1b710b35131c471b),
  3627. 72: uint64(0x28db77f523047d84),
  3628. 73: uint64(0x32caab7b40c72493),
  3629. 74: uint64(0x3c9ebe0a15c9bebc),
  3630. 75: uint64(0x431d67c49c100d4c),
  3631. 76: uint64(0x4cc5d4becb3e42b6),
  3632. 77: uint64(0x597f299cfc657e2a),
  3633. 78: uint64(0x5fcb6fab3ad6faec),
  3634. 79: uint64(0x6c44198c4a475817),
  3635. }
  3636. // C documentation
  3637. //
  3638. // /* Initial hash value H for SHA-512 */
  3639. var _sha512_initial_hash_value = [8]Tuint64_t{
  3640. 0: uint64(0x6a09e667f3bcc908),
  3641. 1: uint64(0xbb67ae8584caa73b),
  3642. 2: uint64(0x3c6ef372fe94f82b),
  3643. 3: uint64(0xa54ff53a5f1d36f1),
  3644. 4: uint64(0x510e527fade682d1),
  3645. 5: uint64(0x9b05688c2b3e6c1f),
  3646. 6: uint64(0x1f83d9abfb41bd6b),
  3647. 7: uint64(0x5be0cd19137e2179),
  3648. }
  3649. // C documentation
  3650. //
  3651. // /* Initial hash value H for SHA-224: */
  3652. var _sha224_initial_hash_value = [8]Tuint32_t{
  3653. 0: uint32(0xc1059ed8),
  3654. 1: uint32(0x367cd507),
  3655. 2: uint32(0x3070dd17),
  3656. 3: uint32(0xf70e5939),
  3657. 4: uint32(0xffc00b31),
  3658. 5: uint32(0x68581511),
  3659. 6: uint32(0x64f98fa7),
  3660. 7: uint32(0xbefa4fa4),
  3661. }
  3662. // C documentation
  3663. //
  3664. // /* Initial hash value H for SHA-384 */
  3665. var _sha384_initial_hash_value = [8]Tuint64_t{
  3666. 0: uint64(0xcbbb9d5dc1059ed8),
  3667. 1: uint64(0x629a292a367cd507),
  3668. 2: uint64(0x9159015a3070dd17),
  3669. 3: uint64(0x152fecd8f70e5939),
  3670. 4: uint64(0x67332667ffc00b31),
  3671. 5: uint64(0x8eb44a8768581511),
  3672. 6: uint64(0xdb0c2e0d64f98fa7),
  3673. 7: uint64(0x47b5481dbefa4fa4),
  3674. }
  3675. // C documentation
  3676. //
  3677. // /* Initial hash value H for SHA-512-256 */
  3678. var _sha512_256_initial_hash_value = [8]Tuint64_t{
  3679. 0: uint64(0x22312194fc2bf72c),
  3680. 1: uint64(0x9f555fa3c84c64c2),
  3681. 2: uint64(0x2393b86b6f53b151),
  3682. 3: uint64(0x963877195940eabd),
  3683. 4: uint64(0x96283ee2a88effe3),
  3684. 5: uint64(0xbe5e1e2553863992),
  3685. 6: uint64(0x2b0199fc2c85b8aa),
  3686. 7: uint64(0x0eb72ddc81c52ca2),
  3687. }
  3688. // C documentation
  3689. //
  3690. // /*** SHA-224: *********************************************************/
  3691. func XSHA224Init(tls *libc.TLS, context uintptr) {
  3692. libc.X__builtin___memcpy_chk(tls, context, uintptr(unsafe.Pointer(&_sha224_initial_hash_value)), uint64(32), ^t__predefined_size_t(0))
  3693. libc.X__builtin___memset_chk(tls, context+80, 0, uint64(128), ^t__predefined_size_t(0))
  3694. *(*Tuint64_t)(unsafe.Pointer(context + 64)) = uint64(0)
  3695. }
  3696. func XSHA224Final(tls *libc.TLS, digest uintptr, context uintptr) {
  3697. var i int32
  3698. _ = i
  3699. XSHA256Pad(tls, context)
  3700. /* Convert TO host byte order */
  3701. i = 0
  3702. for {
  3703. if !(i < int32(7)) {
  3704. break
  3705. }
  3706. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)))) = uint8(*(*Tuint32_t)(unsafe.Pointer(context + uintptr(i)*4)) >> int32(24))
  3707. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 1)) = uint8(*(*Tuint32_t)(unsafe.Pointer(context + uintptr(i)*4)) >> int32(16))
  3708. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 2)) = uint8(*(*Tuint32_t)(unsafe.Pointer(context + uintptr(i)*4)) >> int32(8))
  3709. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 3)) = uint8(*(*Tuint32_t)(unsafe.Pointer(context + uintptr(i)*4)))
  3710. goto _1
  3711. _1:
  3712. ;
  3713. i++
  3714. }
  3715. libc.X__builtin___memset_chk(tls, context, 0, uint64(208), ^t__predefined_size_t(0))
  3716. }
  3717. // C documentation
  3718. //
  3719. // /*** SHA-256: *********************************************************/
  3720. func XSHA256Init(tls *libc.TLS, context uintptr) {
  3721. libc.X__builtin___memcpy_chk(tls, context, uintptr(unsafe.Pointer(&_sha256_initial_hash_value)), uint64(32), ^t__predefined_size_t(0))
  3722. libc.X__builtin___memset_chk(tls, context+80, 0, uint64(128), ^t__predefined_size_t(0))
  3723. *(*Tuint64_t)(unsafe.Pointer(context + 64)) = uint64(0)
  3724. }
  3725. func XSHA256Transform(tls *libc.TLS, state uintptr, data uintptr) {
  3726. bp := tls.Alloc(64)
  3727. defer tls.Free(64)
  3728. var T1, T2, a, b, c, d, e, f, g, h, s0, s1, v10, v2, v3, v4, v5, v6, v7, v8, v9 Tuint32_t
  3729. var j int32
  3730. var p1 uintptr
  3731. var _ /* W256 at bp+0 */ [16]Tuint32_t
  3732. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = T1, T2, a, b, c, d, e, f, g, h, j, s0, s1, v10, v2, v3, v4, v5, v6, v7, v8, v9, p1
  3733. /* Initialize registers with the prev. intermediate value */
  3734. a = *(*Tuint32_t)(unsafe.Pointer(state))
  3735. b = *(*Tuint32_t)(unsafe.Pointer(state + 1*4))
  3736. c = *(*Tuint32_t)(unsafe.Pointer(state + 2*4))
  3737. d = *(*Tuint32_t)(unsafe.Pointer(state + 3*4))
  3738. e = *(*Tuint32_t)(unsafe.Pointer(state + 4*4))
  3739. f = *(*Tuint32_t)(unsafe.Pointer(state + 5*4))
  3740. g = *(*Tuint32_t)(unsafe.Pointer(state + 6*4))
  3741. h = *(*Tuint32_t)(unsafe.Pointer(state + 7*4))
  3742. j = 0
  3743. for cond := true; cond; cond = j < int32(16) {
  3744. (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[j] = uint32(*(*Tuint8_t)(unsafe.Pointer(data + 3))) | uint32(*(*Tuint8_t)(unsafe.Pointer(data + 2)))<<libc.Int32FromInt32(8) | uint32(*(*Tuint8_t)(unsafe.Pointer(data + 1)))<<libc.Int32FromInt32(16) | uint32(*(*Tuint8_t)(unsafe.Pointer(data)))<<libc.Int32FromInt32(24)
  3745. data += uintptr(4)
  3746. /* Apply the SHA-256 compression function to update a..h */
  3747. T1 = h + (e>>libc.Int32FromInt32(6) | e<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) ^ (e>>libc.Int32FromInt32(11) | e<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))) ^ (e>>libc.Int32FromInt32(25) | e<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(25)))) + (e&f ^ ^e&g) + _K256[j] + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[j]
  3748. T2 = a>>libc.Int32FromInt32(2) | a<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(2)) ^ (a>>libc.Int32FromInt32(13) | a<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(13))) ^ (a>>libc.Int32FromInt32(22) | a<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))) + (a&b ^ a&c ^ b&c)
  3749. h = g
  3750. g = f
  3751. f = e
  3752. e = d + T1
  3753. d = c
  3754. c = b
  3755. b = a
  3756. a = T1 + T2
  3757. j++
  3758. }
  3759. for cond := true; cond; cond = j < int32(64) {
  3760. /* Part of the message block expansion: */
  3761. s0 = (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[(j+int32(1))&int32(0x0f)]
  3762. s0 = s0>>libc.Int32FromInt32(7) | s0<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(7)) ^ (s0>>libc.Int32FromInt32(18) | s0<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(18))) ^ s0>>libc.Int32FromInt32(3)
  3763. s1 = (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[(j+int32(14))&int32(0x0f)]
  3764. s1 = s1>>libc.Int32FromInt32(17) | s1<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(17)) ^ (s1>>libc.Int32FromInt32(19) | s1<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(19))) ^ s1>>libc.Int32FromInt32(10)
  3765. /* Apply the SHA-256 compression function to update a..h */
  3766. p1 = bp + uintptr(j&int32(0x0f))*4
  3767. *(*Tuint32_t)(unsafe.Pointer(p1)) += s1 + (*(*[16]Tuint32_t)(unsafe.Pointer(bp)))[(j+int32(9))&int32(0x0f)] + s0
  3768. T1 = h + (e>>libc.Int32FromInt32(6) | e<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(6)) ^ (e>>libc.Int32FromInt32(11) | e<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))) ^ (e>>libc.Int32FromInt32(25) | e<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(25)))) + (e&f ^ ^e&g) + _K256[j] + *(*Tuint32_t)(unsafe.Pointer(p1))
  3769. T2 = a>>libc.Int32FromInt32(2) | a<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(2)) ^ (a>>libc.Int32FromInt32(13) | a<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(13))) ^ (a>>libc.Int32FromInt32(22) | a<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))) + (a&b ^ a&c ^ b&c)
  3770. h = g
  3771. g = f
  3772. f = e
  3773. e = d + T1
  3774. d = c
  3775. c = b
  3776. b = a
  3777. a = T1 + T2
  3778. j++
  3779. }
  3780. /* Compute the current intermediate hash value */
  3781. *(*Tuint32_t)(unsafe.Pointer(state)) += a
  3782. *(*Tuint32_t)(unsafe.Pointer(state + 1*4)) += b
  3783. *(*Tuint32_t)(unsafe.Pointer(state + 2*4)) += c
  3784. *(*Tuint32_t)(unsafe.Pointer(state + 3*4)) += d
  3785. *(*Tuint32_t)(unsafe.Pointer(state + 4*4)) += e
  3786. *(*Tuint32_t)(unsafe.Pointer(state + 5*4)) += f
  3787. *(*Tuint32_t)(unsafe.Pointer(state + 6*4)) += g
  3788. *(*Tuint32_t)(unsafe.Pointer(state + 7*4)) += h
  3789. /* Clean up */
  3790. v10 = libc.Uint32FromInt32(0)
  3791. T2 = v10
  3792. v9 = v10
  3793. T1 = v9
  3794. v8 = v9
  3795. h = v8
  3796. v7 = v8
  3797. g = v7
  3798. v6 = v7
  3799. f = v6
  3800. v5 = v6
  3801. e = v5
  3802. v4 = v5
  3803. d = v4
  3804. v3 = v4
  3805. c = v3
  3806. v2 = v3
  3807. b = v2
  3808. a = v2
  3809. }
  3810. func XSHA256Update(tls *libc.TLS, context uintptr, data uintptr, len1 Tsize_t) {
  3811. var freespace, usedspace, v1, v2 Tsize_t
  3812. _, _, _, _ = freespace, usedspace, v1, v2
  3813. /* Calling with no data is valid (we do nothing) */
  3814. if len1 == uint64(0) {
  3815. return
  3816. }
  3817. usedspace = uint64(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> libc.Int32FromInt32(3) % uint64(m_SHA256_BLOCK_LENGTH))
  3818. if usedspace > uint64(0) {
  3819. /* Calculate how much free space is available in the buffer */
  3820. freespace = uint64(m_SHA256_BLOCK_LENGTH) - usedspace
  3821. if len1 >= freespace {
  3822. /* Fill the buffer completely and process it */
  3823. libc.X__builtin___memcpy_chk(tls, context+80+uintptr(usedspace), data, freespace, ^t__predefined_size_t(0))
  3824. *(*Tuint64_t)(unsafe.Pointer(context + 64)) += freespace << int32(3)
  3825. len1 -= freespace
  3826. data += uintptr(freespace)
  3827. XSHA256Transform(tls, context, context+80)
  3828. } else {
  3829. /* The buffer is not yet full */
  3830. libc.X__builtin___memcpy_chk(tls, context+80+uintptr(usedspace), data, len1, ^t__predefined_size_t(0))
  3831. *(*Tuint64_t)(unsafe.Pointer(context + 64)) += len1 << int32(3)
  3832. /* Clean up: */
  3833. v1 = libc.Uint64FromInt32(0)
  3834. freespace = v1
  3835. usedspace = v1
  3836. return
  3837. }
  3838. }
  3839. for len1 >= uint64(m_SHA256_BLOCK_LENGTH) {
  3840. /* Process as many complete blocks as we can */
  3841. XSHA256Transform(tls, context, data)
  3842. *(*Tuint64_t)(unsafe.Pointer(context + 64)) += libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH) << libc.Int32FromInt32(3))
  3843. len1 -= uint64(m_SHA256_BLOCK_LENGTH)
  3844. data += uintptr(m_SHA256_BLOCK_LENGTH)
  3845. }
  3846. if len1 > uint64(0) {
  3847. /* There's left-overs, so save 'em */
  3848. libc.X__builtin___memcpy_chk(tls, context+80, data, len1, ^t__predefined_size_t(0))
  3849. *(*Tuint64_t)(unsafe.Pointer(context + 64)) += len1 << int32(3)
  3850. }
  3851. /* Clean up: */
  3852. v2 = libc.Uint64FromInt32(0)
  3853. freespace = v2
  3854. usedspace = v2
  3855. }
  3856. func XSHA256Pad(tls *libc.TLS, context uintptr) {
  3857. var usedspace, v1 uint32
  3858. _, _ = usedspace, v1
  3859. usedspace = uint32(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> libc.Int32FromInt32(3) % uint64(m_SHA256_BLOCK_LENGTH))
  3860. if usedspace > uint32(0) {
  3861. /* Begin padding with a 1 bit: */
  3862. v1 = usedspace
  3863. usedspace++
  3864. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(v1))) = uint8(0x80)
  3865. if usedspace <= libc.Uint32FromInt32(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH)-libc.Int32FromInt32(8)) {
  3866. /* Set-up for the last transform: */
  3867. libc.X__builtin___memset_chk(tls, context+80+uintptr(usedspace), 0, uint64(libc.Uint32FromInt32(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH)-libc.Int32FromInt32(8))-usedspace), ^t__predefined_size_t(0))
  3868. } else {
  3869. if usedspace < uint32(m_SHA256_BLOCK_LENGTH) {
  3870. libc.X__builtin___memset_chk(tls, context+80+uintptr(usedspace), 0, uint64(uint32(m_SHA256_BLOCK_LENGTH)-usedspace), ^t__predefined_size_t(0))
  3871. }
  3872. /* Do second-to-last transform: */
  3873. XSHA256Transform(tls, context, context+80)
  3874. /* Prepare for last transform: */
  3875. libc.X__builtin___memset_chk(tls, context+80, 0, libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH)-libc.Int32FromInt32(8)), ^t__predefined_size_t(0))
  3876. }
  3877. } else {
  3878. /* Set-up for the last transform: */
  3879. libc.X__builtin___memset_chk(tls, context+80, 0, libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH)-libc.Int32FromInt32(8)), ^t__predefined_size_t(0))
  3880. /* Begin padding with a 1 bit: */
  3881. *(*Tuint8_t)(unsafe.Pointer(context + 80)) = uint8(0x80)
  3882. }
  3883. /* Store the length of input data (in bits) in big endian format: */
  3884. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH)-libc.Int32FromInt32(8)))) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(56))
  3885. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH)-libc.Int32FromInt32(8)) + 1)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(48))
  3886. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH)-libc.Int32FromInt32(8)) + 2)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(40))
  3887. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH)-libc.Int32FromInt32(8)) + 3)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(32))
  3888. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH)-libc.Int32FromInt32(8)) + 4)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(24))
  3889. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH)-libc.Int32FromInt32(8)) + 5)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(16))
  3890. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH)-libc.Int32FromInt32(8)) + 6)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(8))
  3891. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA256_BLOCK_LENGTH)-libc.Int32FromInt32(8)) + 7)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)))
  3892. /* Final transform: */
  3893. XSHA256Transform(tls, context, context+80)
  3894. /* Clean up: */
  3895. usedspace = uint32(0)
  3896. }
  3897. func XSHA256Final(tls *libc.TLS, digest uintptr, context uintptr) {
  3898. var i int32
  3899. _ = i
  3900. XSHA256Pad(tls, context)
  3901. /* Convert TO host byte order */
  3902. i = 0
  3903. for {
  3904. if !(i < int32(8)) {
  3905. break
  3906. }
  3907. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)))) = uint8(*(*Tuint32_t)(unsafe.Pointer(context + uintptr(i)*4)) >> int32(24))
  3908. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 1)) = uint8(*(*Tuint32_t)(unsafe.Pointer(context + uintptr(i)*4)) >> int32(16))
  3909. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 2)) = uint8(*(*Tuint32_t)(unsafe.Pointer(context + uintptr(i)*4)) >> int32(8))
  3910. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(4)) + 3)) = uint8(*(*Tuint32_t)(unsafe.Pointer(context + uintptr(i)*4)))
  3911. goto _1
  3912. _1:
  3913. ;
  3914. i++
  3915. }
  3916. libc.X__builtin___memset_chk(tls, context, 0, uint64(208), ^t__predefined_size_t(0))
  3917. }
  3918. // C documentation
  3919. //
  3920. // /*** SHA-512: *********************************************************/
  3921. func XSHA512Init(tls *libc.TLS, context uintptr) {
  3922. var v1 Tuint64_t
  3923. _ = v1
  3924. libc.X__builtin___memcpy_chk(tls, context, uintptr(unsafe.Pointer(&_sha512_initial_hash_value)), uint64(64), ^t__predefined_size_t(0))
  3925. libc.X__builtin___memset_chk(tls, context+80, 0, uint64(128), ^t__predefined_size_t(0))
  3926. v1 = libc.Uint64FromInt32(0)
  3927. *(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8)) = v1
  3928. *(*Tuint64_t)(unsafe.Pointer(context + 64)) = v1
  3929. }
  3930. func XSHA512Transform(tls *libc.TLS, state uintptr, data uintptr) {
  3931. bp := tls.Alloc(128)
  3932. defer tls.Free(128)
  3933. var T1, T2, a, b, c, d, e, f, g, h, s0, s1, v10, v2, v3, v4, v5, v6, v7, v8, v9 Tuint64_t
  3934. var j int32
  3935. var p1 uintptr
  3936. var _ /* W512 at bp+0 */ [16]Tuint64_t
  3937. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = T1, T2, a, b, c, d, e, f, g, h, j, s0, s1, v10, v2, v3, v4, v5, v6, v7, v8, v9, p1
  3938. /* Initialize registers with the prev. intermediate value */
  3939. a = *(*Tuint64_t)(unsafe.Pointer(state))
  3940. b = *(*Tuint64_t)(unsafe.Pointer(state + 1*8))
  3941. c = *(*Tuint64_t)(unsafe.Pointer(state + 2*8))
  3942. d = *(*Tuint64_t)(unsafe.Pointer(state + 3*8))
  3943. e = *(*Tuint64_t)(unsafe.Pointer(state + 4*8))
  3944. f = *(*Tuint64_t)(unsafe.Pointer(state + 5*8))
  3945. g = *(*Tuint64_t)(unsafe.Pointer(state + 6*8))
  3946. h = *(*Tuint64_t)(unsafe.Pointer(state + 7*8))
  3947. j = 0
  3948. for cond := true; cond; cond = j < int32(16) {
  3949. (*(*[16]Tuint64_t)(unsafe.Pointer(bp)))[j] = uint64(*(*Tuint8_t)(unsafe.Pointer(data + 7))) | uint64(*(*Tuint8_t)(unsafe.Pointer(data + 6)))<<libc.Int32FromInt32(8) | uint64(*(*Tuint8_t)(unsafe.Pointer(data + 5)))<<libc.Int32FromInt32(16) | uint64(*(*Tuint8_t)(unsafe.Pointer(data + 4)))<<libc.Int32FromInt32(24) | uint64(*(*Tuint8_t)(unsafe.Pointer(data + 3)))<<libc.Int32FromInt32(32) | uint64(*(*Tuint8_t)(unsafe.Pointer(data + 2)))<<libc.Int32FromInt32(40) | uint64(*(*Tuint8_t)(unsafe.Pointer(data + 1)))<<libc.Int32FromInt32(48) | uint64(*(*Tuint8_t)(unsafe.Pointer(data)))<<libc.Int32FromInt32(56)
  3950. data += uintptr(8)
  3951. /* Apply the SHA-512 compression function to update a..h */
  3952. T1 = h + (e>>libc.Int32FromInt32(14) | e<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(14)) ^ (e>>libc.Int32FromInt32(18) | e<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(18))) ^ (e>>libc.Int32FromInt32(41) | e<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(41)))) + (e&f ^ ^e&g) + _K512[j] + (*(*[16]Tuint64_t)(unsafe.Pointer(bp)))[j]
  3953. T2 = a>>libc.Int32FromInt32(28) | a<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(28)) ^ (a>>libc.Int32FromInt32(34) | a<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(34))) ^ (a>>libc.Int32FromInt32(39) | a<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(39))) + (a&b ^ a&c ^ b&c)
  3954. h = g
  3955. g = f
  3956. f = e
  3957. e = d + T1
  3958. d = c
  3959. c = b
  3960. b = a
  3961. a = T1 + T2
  3962. j++
  3963. }
  3964. for cond := true; cond; cond = j < int32(80) {
  3965. /* Part of the message block expansion: */
  3966. s0 = (*(*[16]Tuint64_t)(unsafe.Pointer(bp)))[(j+int32(1))&int32(0x0f)]
  3967. s0 = s0>>libc.Int32FromInt32(1) | s0<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(1)) ^ (s0>>libc.Int32FromInt32(8) | s0<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(8))) ^ s0>>libc.Int32FromInt32(7)
  3968. s1 = (*(*[16]Tuint64_t)(unsafe.Pointer(bp)))[(j+int32(14))&int32(0x0f)]
  3969. s1 = s1>>libc.Int32FromInt32(19) | s1<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(19)) ^ (s1>>libc.Int32FromInt32(61) | s1<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(61))) ^ s1>>libc.Int32FromInt32(6)
  3970. /* Apply the SHA-512 compression function to update a..h */
  3971. p1 = bp + uintptr(j&int32(0x0f))*8
  3972. *(*Tuint64_t)(unsafe.Pointer(p1)) += s1 + (*(*[16]Tuint64_t)(unsafe.Pointer(bp)))[(j+int32(9))&int32(0x0f)] + s0
  3973. T1 = h + (e>>libc.Int32FromInt32(14) | e<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(14)) ^ (e>>libc.Int32FromInt32(18) | e<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(18))) ^ (e>>libc.Int32FromInt32(41) | e<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(41)))) + (e&f ^ ^e&g) + _K512[j] + *(*Tuint64_t)(unsafe.Pointer(p1))
  3974. T2 = a>>libc.Int32FromInt32(28) | a<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(28)) ^ (a>>libc.Int32FromInt32(34) | a<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(34))) ^ (a>>libc.Int32FromInt32(39) | a<<(libc.Int32FromInt32(64)-libc.Int32FromInt32(39))) + (a&b ^ a&c ^ b&c)
  3975. h = g
  3976. g = f
  3977. f = e
  3978. e = d + T1
  3979. d = c
  3980. c = b
  3981. b = a
  3982. a = T1 + T2
  3983. j++
  3984. }
  3985. /* Compute the current intermediate hash value */
  3986. *(*Tuint64_t)(unsafe.Pointer(state)) += a
  3987. *(*Tuint64_t)(unsafe.Pointer(state + 1*8)) += b
  3988. *(*Tuint64_t)(unsafe.Pointer(state + 2*8)) += c
  3989. *(*Tuint64_t)(unsafe.Pointer(state + 3*8)) += d
  3990. *(*Tuint64_t)(unsafe.Pointer(state + 4*8)) += e
  3991. *(*Tuint64_t)(unsafe.Pointer(state + 5*8)) += f
  3992. *(*Tuint64_t)(unsafe.Pointer(state + 6*8)) += g
  3993. *(*Tuint64_t)(unsafe.Pointer(state + 7*8)) += h
  3994. /* Clean up */
  3995. v10 = libc.Uint64FromInt32(0)
  3996. T2 = v10
  3997. v9 = v10
  3998. T1 = v9
  3999. v8 = v9
  4000. h = v8
  4001. v7 = v8
  4002. g = v7
  4003. v6 = v7
  4004. f = v6
  4005. v5 = v6
  4006. e = v5
  4007. v4 = v5
  4008. d = v4
  4009. v3 = v4
  4010. c = v3
  4011. v2 = v3
  4012. b = v2
  4013. a = v2
  4014. }
  4015. func XSHA512Update(tls *libc.TLS, context uintptr, data uintptr, len1 Tsize_t) {
  4016. var freespace, usedspace, v1, v2 Tsize_t
  4017. _, _, _, _ = freespace, usedspace, v1, v2
  4018. /* Calling with no data is valid (we do nothing) */
  4019. if len1 == uint64(0) {
  4020. return
  4021. }
  4022. usedspace = uint64(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> libc.Int32FromInt32(3) % uint64(m_SHA512_BLOCK_LENGTH))
  4023. if usedspace > uint64(0) {
  4024. /* Calculate how much free space is available in the buffer */
  4025. freespace = uint64(m_SHA512_BLOCK_LENGTH) - usedspace
  4026. if len1 >= freespace {
  4027. /* Fill the buffer completely and process it */
  4028. libc.X__builtin___memcpy_chk(tls, context+80+uintptr(usedspace), data, freespace, ^t__predefined_size_t(0))
  4029. *(*Tuint64_t)(unsafe.Pointer(context + 64)) += uint64(freespace << libc.Int32FromInt32(3))
  4030. if *(*Tuint64_t)(unsafe.Pointer(context + 64)) < uint64(freespace<<libc.Int32FromInt32(3)) {
  4031. *(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8))++
  4032. }
  4033. len1 -= freespace
  4034. data += uintptr(freespace)
  4035. XSHA512Transform(tls, context, context+80)
  4036. } else {
  4037. /* The buffer is not yet full */
  4038. libc.X__builtin___memcpy_chk(tls, context+80+uintptr(usedspace), data, len1, ^t__predefined_size_t(0))
  4039. *(*Tuint64_t)(unsafe.Pointer(context + 64)) += uint64(len1 << libc.Int32FromInt32(3))
  4040. if *(*Tuint64_t)(unsafe.Pointer(context + 64)) < uint64(len1<<libc.Int32FromInt32(3)) {
  4041. *(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8))++
  4042. }
  4043. /* Clean up: */
  4044. v1 = libc.Uint64FromInt32(0)
  4045. freespace = v1
  4046. usedspace = v1
  4047. return
  4048. }
  4049. }
  4050. for len1 >= uint64(m_SHA512_BLOCK_LENGTH) {
  4051. /* Process as many complete blocks as we can */
  4052. XSHA512Transform(tls, context, data)
  4053. *(*Tuint64_t)(unsafe.Pointer(context + 64)) += libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH) << libc.Int32FromInt32(3))
  4054. if *(*Tuint64_t)(unsafe.Pointer(context + 64)) < libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)<<libc.Int32FromInt32(3)) {
  4055. *(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8))++
  4056. }
  4057. len1 -= uint64(m_SHA512_BLOCK_LENGTH)
  4058. data += uintptr(m_SHA512_BLOCK_LENGTH)
  4059. }
  4060. if len1 > uint64(0) {
  4061. /* There's left-overs, so save 'em */
  4062. libc.X__builtin___memcpy_chk(tls, context+80, data, len1, ^t__predefined_size_t(0))
  4063. *(*Tuint64_t)(unsafe.Pointer(context + 64)) += uint64(len1 << libc.Int32FromInt32(3))
  4064. if *(*Tuint64_t)(unsafe.Pointer(context + 64)) < uint64(len1<<libc.Int32FromInt32(3)) {
  4065. *(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8))++
  4066. }
  4067. }
  4068. /* Clean up: */
  4069. v2 = libc.Uint64FromInt32(0)
  4070. freespace = v2
  4071. usedspace = v2
  4072. }
  4073. func XSHA512Pad(tls *libc.TLS, context uintptr) {
  4074. var usedspace, v1 uint32
  4075. _, _ = usedspace, v1
  4076. usedspace = uint32(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> libc.Int32FromInt32(3) % uint64(m_SHA512_BLOCK_LENGTH))
  4077. if usedspace > uint32(0) {
  4078. /* Begin padding with a 1 bit: */
  4079. v1 = usedspace
  4080. usedspace++
  4081. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(v1))) = uint8(0x80)
  4082. if usedspace <= libc.Uint32FromInt32(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)) {
  4083. /* Set-up for the last transform: */
  4084. libc.X__builtin___memset_chk(tls, context+80+uintptr(usedspace), 0, uint64(libc.Uint32FromInt32(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16))-usedspace), ^t__predefined_size_t(0))
  4085. } else {
  4086. if usedspace < uint32(m_SHA512_BLOCK_LENGTH) {
  4087. libc.X__builtin___memset_chk(tls, context+80+uintptr(usedspace), 0, uint64(uint32(m_SHA512_BLOCK_LENGTH)-usedspace), ^t__predefined_size_t(0))
  4088. }
  4089. /* Do second-to-last transform: */
  4090. XSHA512Transform(tls, context, context+80)
  4091. /* And set-up for the last transform: */
  4092. libc.X__builtin___memset_chk(tls, context+80, 0, libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(2)), ^t__predefined_size_t(0))
  4093. }
  4094. } else {
  4095. /* Prepare for final transform: */
  4096. libc.X__builtin___memset_chk(tls, context+80, 0, libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)), ^t__predefined_size_t(0))
  4097. /* Begin padding with a 1 bit: */
  4098. *(*Tuint8_t)(unsafe.Pointer(context + 80)) = uint8(0x80)
  4099. }
  4100. /* Store the length of input data (in bits) in big endian format: */
  4101. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)))) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8)) >> int32(56))
  4102. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)) + 1)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8)) >> int32(48))
  4103. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)) + 2)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8)) >> int32(40))
  4104. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)) + 3)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8)) >> int32(32))
  4105. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)) + 4)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8)) >> int32(24))
  4106. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)) + 5)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8)) >> int32(16))
  4107. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)) + 6)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8)) >> int32(8))
  4108. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)) + 7)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8)))
  4109. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)+libc.Int32FromInt32(8)))) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(56))
  4110. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)+libc.Int32FromInt32(8)) + 1)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(48))
  4111. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)+libc.Int32FromInt32(8)) + 2)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(40))
  4112. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)+libc.Int32FromInt32(8)) + 3)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(32))
  4113. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)+libc.Int32FromInt32(8)) + 4)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(24))
  4114. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)+libc.Int32FromInt32(8)) + 5)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(16))
  4115. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)+libc.Int32FromInt32(8)) + 6)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)) >> int32(8))
  4116. *(*Tuint8_t)(unsafe.Pointer(context + 80 + uintptr(libc.Int32FromInt32(m_SHA512_BLOCK_LENGTH)-libc.Int32FromInt32(16)+libc.Int32FromInt32(8)) + 7)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + 64)))
  4117. /* Final transform: */
  4118. XSHA512Transform(tls, context, context+80)
  4119. /* Clean up: */
  4120. usedspace = uint32(0)
  4121. }
  4122. func XSHA512Final(tls *libc.TLS, digest uintptr, context uintptr) {
  4123. var i int32
  4124. _ = i
  4125. XSHA512Pad(tls, context)
  4126. /* Convert TO host byte order */
  4127. i = 0
  4128. for {
  4129. if !(i < int32(8)) {
  4130. break
  4131. }
  4132. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)))) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(56))
  4133. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 1)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(48))
  4134. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 2)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(40))
  4135. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 3)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(32))
  4136. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 4)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(24))
  4137. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 5)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(16))
  4138. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 6)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(8))
  4139. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 7)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)))
  4140. goto _1
  4141. _1:
  4142. ;
  4143. i++
  4144. }
  4145. libc.X__builtin___memset_chk(tls, context, 0, uint64(208), ^t__predefined_size_t(0))
  4146. }
  4147. // C documentation
  4148. //
  4149. // /*** SHA-384: *********************************************************/
  4150. func XSHA384Init(tls *libc.TLS, context uintptr) {
  4151. var v1 Tuint64_t
  4152. _ = v1
  4153. libc.X__builtin___memcpy_chk(tls, context, uintptr(unsafe.Pointer(&_sha384_initial_hash_value)), uint64(64), ^t__predefined_size_t(0))
  4154. libc.X__builtin___memset_chk(tls, context+80, 0, uint64(128), ^t__predefined_size_t(0))
  4155. v1 = libc.Uint64FromInt32(0)
  4156. *(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8)) = v1
  4157. *(*Tuint64_t)(unsafe.Pointer(context + 64)) = v1
  4158. }
  4159. func XSHA384Final(tls *libc.TLS, digest uintptr, context uintptr) {
  4160. var i int32
  4161. _ = i
  4162. XSHA512Pad(tls, context)
  4163. /* Convert TO host byte order */
  4164. i = 0
  4165. for {
  4166. if !(i < int32(6)) {
  4167. break
  4168. }
  4169. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)))) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(56))
  4170. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 1)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(48))
  4171. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 2)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(40))
  4172. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 3)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(32))
  4173. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 4)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(24))
  4174. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 5)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(16))
  4175. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 6)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(8))
  4176. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 7)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)))
  4177. goto _1
  4178. _1:
  4179. ;
  4180. i++
  4181. }
  4182. /* Zero out state data */
  4183. libc.X__builtin___memset_chk(tls, context, 0, uint64(208), ^t__predefined_size_t(0))
  4184. }
  4185. // C documentation
  4186. //
  4187. // /*** SHA-512/256: *********************************************************/
  4188. func XSHA512_256Init(tls *libc.TLS, context uintptr) {
  4189. var v1 Tuint64_t
  4190. _ = v1
  4191. libc.X__builtin___memcpy_chk(tls, context, uintptr(unsafe.Pointer(&_sha512_256_initial_hash_value)), uint64(64), ^t__predefined_size_t(0))
  4192. libc.X__builtin___memset_chk(tls, context+80, 0, uint64(128), ^t__predefined_size_t(0))
  4193. v1 = libc.Uint64FromInt32(0)
  4194. *(*Tuint64_t)(unsafe.Pointer(context + 64 + 1*8)) = v1
  4195. *(*Tuint64_t)(unsafe.Pointer(context + 64)) = v1
  4196. }
  4197. func XSHA512_256Final(tls *libc.TLS, digest uintptr, context uintptr) {
  4198. var i int32
  4199. _ = i
  4200. XSHA512Pad(tls, context)
  4201. /* Convert TO host byte order */
  4202. i = 0
  4203. for {
  4204. if !(i < int32(4)) {
  4205. break
  4206. }
  4207. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)))) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(56))
  4208. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 1)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(48))
  4209. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 2)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(40))
  4210. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 3)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(32))
  4211. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 4)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(24))
  4212. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 5)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(16))
  4213. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 6)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)) >> int32(8))
  4214. *(*Tuint8_t)(unsafe.Pointer(digest + uintptr(i*libc.Int32FromInt32(8)) + 7)) = uint8(*(*Tuint64_t)(unsafe.Pointer(context + uintptr(i)*8)))
  4215. goto _1
  4216. _1:
  4217. ;
  4218. i++
  4219. }
  4220. /* Zero out state data */
  4221. libc.X__builtin___memset_chk(tls, context, 0, uint64(208), ^t__predefined_size_t(0))
  4222. }
  4223. const m_ACCESSX_MAX_DESCRIPTORS = 100
  4224. const m_ATTRIBUTION_NAME_MAX = 255
  4225. const m_AT_EACCESS = 0x0010
  4226. const m_AT_FDONLY = 0x0400
  4227. const m_AT_REALDEV = 0x0200
  4228. const m_AT_REMOVEDIR = 0x0080
  4229. const m_AT_SYMLINK_FOLLOW = 0x0040
  4230. const m_AT_SYMLINK_NOFOLLOW = 0x0020
  4231. const m_AT_SYMLINK_NOFOLLOW_ANY = 0x0800
  4232. const m_BADSIG = "SIG_ERR"
  4233. const m_BC_BASE_MAX = 99
  4234. const m_BC_DIM_MAX = 2048
  4235. const m_BC_SCALE_MAX = 99
  4236. const m_BC_STRING_MAX = 1000
  4237. const m_BUFSIZ = 1024
  4238. const m_BUS_ADRALN = 1
  4239. const m_BUS_ADRERR = 2
  4240. const m_BUS_NOOP = 0
  4241. const m_BUS_OBJERR = 3
  4242. const m_CHARCLASS_NAME_MAX = 14
  4243. const m_CHILD_MAX = 266
  4244. const m_CLD_CONTINUED = 6
  4245. const m_CLD_DUMPED = 3
  4246. const m_CLD_EXITED = 1
  4247. const m_CLD_KILLED = 2
  4248. const m_CLD_NOOP = 0
  4249. const m_CLD_STOPPED = 5
  4250. const m_CLD_TRAPPED = 4
  4251. const m_COLL_WEIGHTS_MAX = 2
  4252. const m_CPF_IGNORE_MODE = 0x0002
  4253. const m_CPF_OVERWRITE = 0x0001
  4254. const m_CPUMON_MAKE_FATAL = 0x1000
  4255. const m_E2BIG = 7
  4256. const m_EACCES = 13
  4257. const m_EADDRINUSE = 48
  4258. const m_EADDRNOTAVAIL = 49
  4259. const m_EAFNOSUPPORT = 47
  4260. const m_EAGAIN = 35
  4261. const m_EALREADY = 37
  4262. const m_EAUTH = 80
  4263. const m_EBADARCH = 86
  4264. const m_EBADEXEC = 85
  4265. const m_EBADF = 9
  4266. const m_EBADMACHO = 88
  4267. const m_EBADMSG = 94
  4268. const m_EBADRPC = 72
  4269. const m_EBUSY = 16
  4270. const m_ECANCELED = 89
  4271. const m_ECHILD = 10
  4272. const m_ECONNABORTED = 53
  4273. const m_ECONNREFUSED = 61
  4274. const m_ECONNRESET = 54
  4275. const m_EDEADLK = 11
  4276. const m_EDESTADDRREQ = 39
  4277. const m_EDEVERR = 83
  4278. const m_EDOM = 33
  4279. const m_EDQUOT = 69
  4280. const m_EEXIST = 17
  4281. const m_EFAULT = 14
  4282. const m_EFBIG = 27
  4283. const m_EFTYPE = 79
  4284. const m_EF_IS_PURGEABLE = 0x00000008
  4285. const m_EF_IS_SPARSE = 0x00000010
  4286. const m_EF_IS_SYNC_ROOT = 0x00000004
  4287. const m_EF_IS_SYNTHETIC = 0x00000020
  4288. const m_EF_MAY_SHARE_BLOCKS = 0x00000001
  4289. const m_EF_NO_XATTRS = 0x00000002
  4290. const m_EF_SHARES_ALL_BLOCKS = 0x00000040
  4291. const m_EHOSTDOWN = 64
  4292. const m_EHOSTUNREACH = 65
  4293. const m_EIDRM = 90
  4294. const m_EILSEQ = 92
  4295. const m_EINPROGRESS = 36
  4296. const m_EINTR = 4
  4297. const m_EINVAL = 22
  4298. const m_EIO = 5
  4299. const m_EISCONN = 56
  4300. const m_EISDIR = 21
  4301. const m_ELAST = 106
  4302. const m_ELOOP = 62
  4303. const m_EMFILE = 24
  4304. const m_EMLINK = 31
  4305. const m_EMSGSIZE = 40
  4306. const m_EMULTIHOP = 95
  4307. const m_ENAMETOOLONG = 63
  4308. const m_ENEEDAUTH = 81
  4309. const m_ENETDOWN = 50
  4310. const m_ENETRESET = 52
  4311. const m_ENETUNREACH = 51
  4312. const m_ENFILE = 23
  4313. const m_ENOATTR = 93
  4314. const m_ENOBUFS = 55
  4315. const m_ENODATA = 96
  4316. const m_ENODEV = 19
  4317. const m_ENOENT = 2
  4318. const m_ENOEXEC = 8
  4319. const m_ENOLCK = 77
  4320. const m_ENOLINK = 97
  4321. const m_ENOMEM = 12
  4322. const m_ENOMSG = 91
  4323. const m_ENOPOLICY = 103
  4324. const m_ENOPROTOOPT = 42
  4325. const m_ENOSPC = 28
  4326. const m_ENOSR = 98
  4327. const m_ENOSTR = 99
  4328. const m_ENOSYS = 78
  4329. const m_ENOTBLK = 15
  4330. const m_ENOTCONN = 57
  4331. const m_ENOTDIR = 20
  4332. const m_ENOTEMPTY = 66
  4333. const m_ENOTRECOVERABLE = 104
  4334. const m_ENOTSOCK = 38
  4335. const m_ENOTSUP = 45
  4336. const m_ENOTTY = 25
  4337. const m_ENXIO = 6
  4338. const m_EOPNOTSUPP = 102
  4339. const m_EOVERFLOW = 84
  4340. const m_EOWNERDEAD = 105
  4341. const m_EPERM = 1
  4342. const m_EPFNOSUPPORT = 46
  4343. const m_EPIPE = 32
  4344. const m_EPROCLIM = 67
  4345. const m_EPROCUNAVAIL = 76
  4346. const m_EPROGMISMATCH = 75
  4347. const m_EPROGUNAVAIL = 74
  4348. const m_EPROTO = 100
  4349. const m_EPROTONOSUPPORT = 43
  4350. const m_EPROTOTYPE = 41
  4351. const m_EPWROFF = 82
  4352. const m_EQFULL = 106
  4353. const m_EQUIV_CLASS_MAX = 2
  4354. const m_ERANGE = 34
  4355. const m_EREMOTE = 71
  4356. const m_EROFS = 30
  4357. const m_ERPCMISMATCH = 73
  4358. const m_ESHLIBVERS = 87
  4359. const m_ESHUTDOWN = 58
  4360. const m_ESOCKTNOSUPPORT = 44
  4361. const m_ESPIPE = 29
  4362. const m_ESRCH = 3
  4363. const m_ESTALE = 70
  4364. const m_ETIME = 101
  4365. const m_ETIMEDOUT = 60
  4366. const m_ETOOMANYREFS = 59
  4367. const m_ETXTBSY = 26
  4368. const m_EUSERS = 68
  4369. const m_EWOULDBLOCK = "EAGAIN"
  4370. const m_EXDEV = 18
  4371. const m_EXIT_FAILURE = 1
  4372. const m_EXIT_SUCCESS = 0
  4373. const m_EXPR_NEST_MAX = 32
  4374. const m_FAPPEND = "O_APPEND"
  4375. const m_FASYNC = "O_ASYNC"
  4376. const m_FCNTL_FS_SPECIFIC_BASE = 0x00010000
  4377. const m_FD_CLOEXEC = 1
  4378. const m_FFDSYNC = "O_DSYNC"
  4379. const m_FFSYNC = "O_FSYNC"
  4380. const m_FILENAME_MAX = 1024
  4381. const m_FILESEC_GUID = "FILESEC_UUID"
  4382. const m_FNDELAY = "O_NONBLOCK"
  4383. const m_FNONBLOCK = "O_NONBLOCK"
  4384. const m_FOOTPRINT_INTERVAL_RESET = 0x1
  4385. const m_FOPEN_MAX = 20
  4386. const m_FPE_FLTDIV = 1
  4387. const m_FPE_FLTINV = 5
  4388. const m_FPE_FLTOVF = 2
  4389. const m_FPE_FLTRES = 4
  4390. const m_FPE_FLTSUB = 6
  4391. const m_FPE_FLTUND = 3
  4392. const m_FPE_INTDIV = 7
  4393. const m_FPE_INTOVF = 8
  4394. const m_FPE_NOOP = 0
  4395. const m_FREAD = 0x00000001
  4396. const m_FWRITE = 0x00000002
  4397. const m_F_ADDFILESIGS = 61
  4398. const m_F_ADDFILESIGS_FOR_DYLD_SIM = 83
  4399. const m_F_ADDFILESIGS_INFO = 103
  4400. const m_F_ADDFILESIGS_RETURN = 97
  4401. const m_F_ADDFILESUPPL = 104
  4402. const m_F_ADDSIGS = 59
  4403. const m_F_ADDSIGS_MAIN_BINARY = 113
  4404. const m_F_ALLOCATEALL = 0x00000004
  4405. const m_F_ALLOCATECONTIG = 0x00000002
  4406. const m_F_ALLOCATEPERSIST = 0x00000008
  4407. const m_F_ATTRIBUTION_TAG = 111
  4408. const m_F_BARRIERFSYNC = 85
  4409. const m_F_CHECK_LV = 98
  4410. const m_F_CHKCLEAN = 41
  4411. const m_F_CREATE_TAG = 0x00000001
  4412. const m_F_DELETE_TAG = 0x00000002
  4413. const m_F_DUPFD = 0
  4414. const m_F_DUPFD_CLOEXEC = 67
  4415. const m_F_FINDSIGS = 78
  4416. const m_F_FLUSH_DATA = 40
  4417. const m_F_FREEZE_FS = 53
  4418. const m_F_FULLFSYNC = 51
  4419. const m_F_GETCODEDIR = 72
  4420. const m_F_GETFD = 1
  4421. const m_F_GETFL = 3
  4422. const m_F_GETLEASE = 107
  4423. const m_F_GETLK = 7
  4424. const m_F_GETLKPID = 66
  4425. const m_F_GETNOSIGPIPE = 74
  4426. const m_F_GETOWN = 5
  4427. const m_F_GETPATH = 50
  4428. const m_F_GETPATH_MTMINFO = 71
  4429. const m_F_GETPATH_NOFIRMLINK = 102
  4430. const m_F_GETPROTECTIONCLASS = 63
  4431. const m_F_GETPROTECTIONLEVEL = 77
  4432. const m_F_GETSIGSINFO = 105
  4433. const m_F_GLOBAL_NOCACHE = 55
  4434. const m_F_LOCK = 1
  4435. const m_F_LOG2PHYS = 49
  4436. const m_F_LOG2PHYS_EXT = 65
  4437. const m_F_NOCACHE = 48
  4438. const m_F_NODIRECT = 62
  4439. const m_F_OFD_GETLK = 92
  4440. const m_F_OFD_SETLK = 90
  4441. const m_F_OFD_SETLKW = 91
  4442. const m_F_OFD_SETLKWTIMEOUT = 93
  4443. const m_F_OK = 0
  4444. const m_F_PATHPKG_CHECK = 52
  4445. const m_F_PEOFPOSMODE = 3
  4446. const m_F_PREALLOCATE = 42
  4447. const m_F_PUNCHHOLE = 99
  4448. const m_F_QUERY_TAG = 0x00000004
  4449. const m_F_RDADVISE = 44
  4450. const m_F_RDAHEAD = 45
  4451. const m_F_RDLCK = 1
  4452. const m_F_SETBACKINGSTORE = 70
  4453. const m_F_SETFD = 2
  4454. const m_F_SETFL = 4
  4455. const m_F_SETLEASE = 106
  4456. const m_F_SETLK = 8
  4457. const m_F_SETLKW = 9
  4458. const m_F_SETLKWTIMEOUT = 10
  4459. const m_F_SETNOSIGPIPE = 73
  4460. const m_F_SETOWN = 6
  4461. const m_F_SETPROTECTIONCLASS = 64
  4462. const m_F_SETSIZE = 43
  4463. const m_F_SINGLE_WRITER = 76
  4464. const m_F_SPECULATIVE_READ = 101
  4465. const m_F_TEST = 3
  4466. const m_F_THAW_FS = 54
  4467. const m_F_TLOCK = 2
  4468. const m_F_TRANSCODEKEY = 75
  4469. const m_F_TRANSFEREXTENTS = 110
  4470. const m_F_TRIM_ACTIVE_FILE = 100
  4471. const m_F_ULOCK = 0
  4472. const m_F_UNLCK = 2
  4473. const m_F_VOLPOSMODE = 4
  4474. const m_F_WRLCK = 3
  4475. const m_GETSIGSINFO_PLATFORM_BINARY = 1
  4476. const m_GID_MAX = 2147483647
  4477. const m_ILL_BADSTK = 8
  4478. const m_ILL_COPROC = 7
  4479. const m_ILL_ILLADR = 5
  4480. const m_ILL_ILLOPC = 1
  4481. const m_ILL_ILLOPN = 4
  4482. const m_ILL_ILLTRP = 2
  4483. const m_ILL_NOOP = 0
  4484. const m_ILL_PRVOPC = 3
  4485. const m_ILL_PRVREG = 6
  4486. const m_IOPOL_APPLICATION = "IOPOL_STANDARD"
  4487. const m_IOPOL_ATIME_UPDATES_DEFAULT = 0
  4488. const m_IOPOL_ATIME_UPDATES_OFF = 1
  4489. const m_IOPOL_DEFAULT = 0
  4490. const m_IOPOL_IMPORTANT = 1
  4491. const m_IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT = 0
  4492. const m_IOPOL_MATERIALIZE_DATALESS_FILES_OFF = 1
  4493. const m_IOPOL_MATERIALIZE_DATALESS_FILES_ON = 2
  4494. const m_IOPOL_NORMAL = "IOPOL_IMPORTANT"
  4495. const m_IOPOL_PASSIVE = 2
  4496. const m_IOPOL_SCOPE_DARWIN_BG = 2
  4497. const m_IOPOL_SCOPE_PROCESS = 0
  4498. const m_IOPOL_SCOPE_THREAD = 1
  4499. const m_IOPOL_STANDARD = 5
  4500. const m_IOPOL_THROTTLE = 3
  4501. const m_IOPOL_TYPE_DISK = 0
  4502. const m_IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES = 9
  4503. const m_IOPOL_TYPE_VFS_ATIME_UPDATES = 2
  4504. const m_IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY = 10
  4505. const m_IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION = 6
  4506. const m_IOPOL_TYPE_VFS_IGNORE_PERMISSIONS = 7
  4507. const m_IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 3
  4508. const m_IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE = 8
  4509. const m_IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME = 4
  4510. const m_IOPOL_TYPE_VFS_TRIGGER_RESOLVE = 5
  4511. const m_IOPOL_UTILITY = 4
  4512. const m_IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF = 0
  4513. const m_IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON = 1
  4514. const m_IOPOL_VFS_CONTENT_PROTECTION_DEFAULT = 0
  4515. const m_IOPOL_VFS_CONTENT_PROTECTION_IGNORE = 1
  4516. const m_IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT = 0
  4517. const m_IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON = 1
  4518. const m_IOPOL_VFS_IGNORE_PERMISSIONS_OFF = 0
  4519. const m_IOPOL_VFS_IGNORE_PERMISSIONS_ON = 1
  4520. const m_IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT = 0
  4521. const m_IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON = 1
  4522. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_IGNORE = 2
  4523. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_OFF = 0
  4524. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_ON = 1
  4525. const m_IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME = 1
  4526. const m_IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT = 0
  4527. const m_IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT = 0
  4528. const m_IOPOL_VFS_TRIGGER_RESOLVE_OFF = 1
  4529. const m_LINE_MAX = 2048
  4530. const m_LINK_MAX = 32767
  4531. const m_LOCK_EX = 0x02
  4532. const m_LOCK_NB = 0x04
  4533. const m_LOCK_SH = 0x01
  4534. const m_LOCK_UN = 0x08
  4535. const m_L_INCR = "SEEK_CUR"
  4536. const m_L_SET = "SEEK_SET"
  4537. const m_L_XTND = "SEEK_END"
  4538. const m_L_ctermid = 1024
  4539. const m_L_tmpnam = 1024
  4540. const m_MAX_CANON = 1024
  4541. const m_MAX_INPUT = 1024
  4542. const m_MB_CUR_MAX = "__mb_cur_max"
  4543. const m_MINSIGSTKSZ = 32768
  4544. const m_NAME_MAX = 255
  4545. const m_NGROUPS_MAX = 16
  4546. const m_NSIG = "__DARWIN_NSIG"
  4547. const m_NZERO = 20
  4548. const m_OPEN_MAX = 10240
  4549. const m_O_ACCMODE = 0x0003
  4550. const m_O_ALERT = 0x20000000
  4551. const m_O_APPEND = 0x00000008
  4552. const m_O_ASYNC = 0x00000040
  4553. const m_O_CLOEXEC = 0x01000000
  4554. const m_O_CREAT = 0x00000200
  4555. const m_O_DIRECTORY = 0x00100000
  4556. const m_O_DP_AUTHENTICATE = 0x0004
  4557. const m_O_DP_GETRAWENCRYPTED = 0x0001
  4558. const m_O_DP_GETRAWUNENCRYPTED = 0x0002
  4559. const m_O_DSYNC = 0x400000
  4560. const m_O_EVTONLY = 0x00008000
  4561. const m_O_EXCL = 0x00000800
  4562. const m_O_EXEC = 0x40000000
  4563. const m_O_EXLOCK = 0x00000020
  4564. const m_O_FSYNC = "O_SYNC"
  4565. const m_O_NDELAY = "O_NONBLOCK"
  4566. const m_O_NOCTTY = 0x00020000
  4567. const m_O_NOFOLLOW = 0x00000100
  4568. const m_O_NOFOLLOW_ANY = 0x20000000
  4569. const m_O_NONBLOCK = 0x00000004
  4570. const m_O_POPUP = 0x80000000
  4571. const m_O_RDONLY = 0
  4572. const m_O_RDWR = 0x0002
  4573. const m_O_RESOLVE_BENEATH = 0x00001000
  4574. const m_O_SHLOCK = 0x00000010
  4575. const m_O_SYMLINK = 0x00200000
  4576. const m_O_SYNC = 0x0080
  4577. const m_O_TRUNC = 0x00000400
  4578. const m_O_WRONLY = 0x0001
  4579. const m_PATH_MAX = 1024
  4580. const m_PIPE_BUF = 512
  4581. const m_POLL_ERR = 4
  4582. const m_POLL_HUP = 6
  4583. const m_POLL_IN = 1
  4584. const m_POLL_MSG = 3
  4585. const m_POLL_OUT = 2
  4586. const m_POLL_PRI = 5
  4587. const m_PRIO_DARWIN_BG = 0x1000
  4588. const m_PRIO_DARWIN_NONUI = 0x1001
  4589. const m_PRIO_DARWIN_PROCESS = 4
  4590. const m_PRIO_DARWIN_THREAD = 3
  4591. const m_PRIO_MAX = 20
  4592. const m_PRIO_PGRP = 1
  4593. const m_PRIO_PROCESS = 0
  4594. const m_PRIO_USER = 2
  4595. const m_P_tmpdir = "/var/tmp/"
  4596. const m_RAND_MAX = 0x7fffffff
  4597. const m_RENAME_EXCL = 0x00000004
  4598. const m_RENAME_NOFOLLOW_ANY = 0x00000010
  4599. const m_RENAME_RESERVED1 = 0x00000008
  4600. const m_RENAME_SECLUDE = 0x00000001
  4601. const m_RENAME_SWAP = 0x00000002
  4602. const m_RE_DUP_MAX = 255
  4603. const m_RLIMIT_AS = 5
  4604. const m_RLIMIT_CORE = 4
  4605. const m_RLIMIT_CPU = 0
  4606. const m_RLIMIT_CPU_USAGE_MONITOR = 0x2
  4607. const m_RLIMIT_DATA = 2
  4608. const m_RLIMIT_FOOTPRINT_INTERVAL = 0x4
  4609. const m_RLIMIT_FSIZE = 1
  4610. const m_RLIMIT_MEMLOCK = 6
  4611. const m_RLIMIT_NOFILE = 8
  4612. const m_RLIMIT_NPROC = 7
  4613. const m_RLIMIT_RSS = "RLIMIT_AS"
  4614. const m_RLIMIT_STACK = 3
  4615. const m_RLIMIT_THREAD_CPULIMITS = 0x3
  4616. const m_RLIMIT_WAKEUPS_MONITOR = 0x1
  4617. const m_RLIM_NLIMITS = 9
  4618. const m_RLIM_SAVED_CUR = "RLIM_INFINITY"
  4619. const m_RLIM_SAVED_MAX = "RLIM_INFINITY"
  4620. const m_RUSAGE_INFO_CURRENT = "RUSAGE_INFO_V6"
  4621. const m_RUSAGE_INFO_V0 = 0
  4622. const m_RUSAGE_INFO_V1 = 1
  4623. const m_RUSAGE_INFO_V2 = 2
  4624. const m_RUSAGE_INFO_V3 = 3
  4625. const m_RUSAGE_INFO_V4 = 4
  4626. const m_RUSAGE_INFO_V5 = 5
  4627. const m_RUSAGE_INFO_V6 = 6
  4628. const m_RUSAGE_SELF = 0
  4629. const m_RU_PROC_RUNS_RESLIDE = 0x00000001
  4630. const m_SA_64REGSET = 0x0200
  4631. const m_SA_NOCLDSTOP = 0x0008
  4632. const m_SA_NOCLDWAIT = 0x0020
  4633. const m_SA_NODEFER = 0x0010
  4634. const m_SA_ONSTACK = 0x0001
  4635. const m_SA_RESETHAND = 0x0004
  4636. const m_SA_RESTART = 0x0002
  4637. const m_SA_SIGINFO = 0x0040
  4638. const m_SA_USERTRAMP = 0x0100
  4639. const m_SEEK_CUR = 1
  4640. const m_SEEK_DATA = 4
  4641. const m_SEEK_END = 2
  4642. const m_SEEK_HOLE = 3
  4643. const m_SEEK_SET = 0
  4644. const m_SEGV_ACCERR = 2
  4645. const m_SEGV_MAPERR = 1
  4646. const m_SEGV_NOOP = 0
  4647. const m_SF_APPEND = 0x00040000
  4648. const m_SF_ARCHIVED = 0x00010000
  4649. const m_SF_DATALESS = 0x40000000
  4650. const m_SF_FIRMLINK = 0x00800000
  4651. const m_SF_IMMUTABLE = 0x00020000
  4652. const m_SF_NOUNLINK = 0x00100000
  4653. const m_SF_RESTRICTED = 0x00080000
  4654. const m_SF_SETTABLE = 0x3fff0000
  4655. const m_SF_SUPPORTED = 0x009f0000
  4656. const m_SF_SYNTHETIC = 0xc0000000
  4657. const m_SIGABRT = 6
  4658. const m_SIGALRM = 14
  4659. const m_SIGBUS = 10
  4660. const m_SIGCHLD = 20
  4661. const m_SIGCONT = 19
  4662. const m_SIGEMT = 7
  4663. const m_SIGEV_NONE = 0
  4664. const m_SIGEV_SIGNAL = 1
  4665. const m_SIGEV_THREAD = 3
  4666. const m_SIGFPE = 8
  4667. const m_SIGHUP = 1
  4668. const m_SIGILL = 4
  4669. const m_SIGINFO = 29
  4670. const m_SIGINT = 2
  4671. const m_SIGIO = 23
  4672. const m_SIGIOT = "SIGABRT"
  4673. const m_SIGKILL = 9
  4674. const m_SIGPIPE = 13
  4675. const m_SIGPROF = 27
  4676. const m_SIGQUIT = 3
  4677. const m_SIGSEGV = 11
  4678. const m_SIGSTKSZ = 131072
  4679. const m_SIGSTOP = 17
  4680. const m_SIGSYS = 12
  4681. const m_SIGTERM = 15
  4682. const m_SIGTRAP = 5
  4683. const m_SIGTSTP = 18
  4684. const m_SIGTTIN = 21
  4685. const m_SIGTTOU = 22
  4686. const m_SIGURG = 16
  4687. const m_SIGUSR1 = 30
  4688. const m_SIGUSR2 = 31
  4689. const m_SIGVTALRM = 26
  4690. const m_SIGWINCH = 28
  4691. const m_SIGXCPU = 24
  4692. const m_SIGXFSZ = 25
  4693. const m_SIG_BLOCK = 1
  4694. const m_SIG_SETMASK = 3
  4695. const m_SIG_UNBLOCK = 2
  4696. const m_SI_ASYNCIO = 0x10004
  4697. const m_SI_MESGQ = 0x10005
  4698. const m_SI_QUEUE = 0x10002
  4699. const m_SI_TIMER = 0x10003
  4700. const m_SI_USER = 0x10001
  4701. const m_SS_DISABLE = 0x0004
  4702. const m_SS_ONSTACK = 0x0001
  4703. const m_STDERR_FILENO = 2
  4704. const m_STDIN_FILENO = 0
  4705. const m_STDOUT_FILENO = 1
  4706. const m_SV_INTERRUPT = "SA_RESTART"
  4707. const m_SV_NOCLDSTOP = "SA_NOCLDSTOP"
  4708. const m_SV_NODEFER = "SA_NODEFER"
  4709. const m_SV_ONSTACK = "SA_ONSTACK"
  4710. const m_SV_RESETHAND = "SA_RESETHAND"
  4711. const m_SV_SIGINFO = "SA_SIGINFO"
  4712. const m_SYNC_VOLUME_FULLSYNC = 0x01
  4713. const m_SYNC_VOLUME_WAIT = 0x02
  4714. const m_S_BLKSIZE = 512
  4715. const m_S_IEXEC = "S_IXUSR"
  4716. const m_S_IFBLK = 0060000
  4717. const m_S_IFCHR = 0020000
  4718. const m_S_IFDIR = 0040000
  4719. const m_S_IFIFO = 0010000
  4720. const m_S_IFLNK = 0120000
  4721. const m_S_IFMT = 0170000
  4722. const m_S_IFREG = 0100000
  4723. const m_S_IFSOCK = 0140000
  4724. const m_S_IFWHT = 0160000
  4725. const m_S_IREAD = "S_IRUSR"
  4726. const m_S_IRGRP = 0000040
  4727. const m_S_IROTH = 0000004
  4728. const m_S_IRUSR = 0000400
  4729. const m_S_IRWXG = 0000070
  4730. const m_S_IRWXO = 0000007
  4731. const m_S_IRWXU = 0000700
  4732. const m_S_ISGID = 0002000
  4733. const m_S_ISTXT = "S_ISVTX"
  4734. const m_S_ISUID = 0004000
  4735. const m_S_ISVTX = 0001000
  4736. const m_S_IWGRP = 0000020
  4737. const m_S_IWOTH = 0000002
  4738. const m_S_IWRITE = "S_IWUSR"
  4739. const m_S_IWUSR = 0000200
  4740. const m_S_IXGRP = 0000010
  4741. const m_S_IXOTH = 0000001
  4742. const m_S_IXUSR = 0000100
  4743. const m_TMP_MAX = 308915776
  4744. const m_TRAP_BRKPT = 1
  4745. const m_TRAP_TRACE = 2
  4746. const m_UF_APPEND = 0x00000004
  4747. const m_UF_COMPRESSED = 0x00000020
  4748. const m_UF_DATAVAULT = 0x00000080
  4749. const m_UF_HIDDEN = 0x00008000
  4750. const m_UF_IMMUTABLE = 0x00000002
  4751. const m_UF_NODUMP = 0x00000001
  4752. const m_UF_OPAQUE = 0x00000008
  4753. const m_UF_SETTABLE = 0x0000ffff
  4754. const m_UF_TRACKED = 0x00000040
  4755. const m_UID_MAX = 2147483647
  4756. const m_USER_FSIGNATURES_CDHASH_LEN = 20
  4757. const m_WAIT_MYPGRP = 0
  4758. const m_WAKEMON_DISABLE = 0x02
  4759. const m_WAKEMON_ENABLE = 0x01
  4760. const m_WAKEMON_GET_PARAMS = 0x04
  4761. const m_WAKEMON_MAKE_FATAL = 0x10
  4762. const m_WAKEMON_SET_DEFAULTS = 0x08
  4763. const m_WCONTINUED = 0x00000010
  4764. const m_WCOREFLAG = 0200
  4765. const m_WEXITED = 0x00000004
  4766. const m_WNOHANG = 0x00000001
  4767. const m_WNOWAIT = 0x00000020
  4768. const m_WSTOPPED = 0x00000008
  4769. const m_WUNTRACED = 0x00000002
  4770. const m__ARM_SIGNAL_ = 1
  4771. const m__CS_DARWIN_USER_CACHE_DIR = 65538
  4772. const m__CS_DARWIN_USER_DIR = 65536
  4773. const m__CS_DARWIN_USER_TEMP_DIR = 65537
  4774. const m__CS_PATH = 1
  4775. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2
  4776. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3
  4777. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 4
  4778. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5
  4779. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6
  4780. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7
  4781. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 8
  4782. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9
  4783. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 10
  4784. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11
  4785. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12
  4786. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13
  4787. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14
  4788. const m__CS_XBS5_ILP32_OFF32_CFLAGS = 20
  4789. const m__CS_XBS5_ILP32_OFF32_LDFLAGS = 21
  4790. const m__CS_XBS5_ILP32_OFF32_LIBS = 22
  4791. const m__CS_XBS5_ILP32_OFF32_LINTFLAGS = 23
  4792. const m__CS_XBS5_ILP32_OFFBIG_CFLAGS = 24
  4793. const m__CS_XBS5_ILP32_OFFBIG_LDFLAGS = 25
  4794. const m__CS_XBS5_ILP32_OFFBIG_LIBS = 26
  4795. const m__CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 27
  4796. const m__CS_XBS5_LP64_OFF64_CFLAGS = 28
  4797. const m__CS_XBS5_LP64_OFF64_LDFLAGS = 29
  4798. const m__CS_XBS5_LP64_OFF64_LIBS = 30
  4799. const m__CS_XBS5_LP64_OFF64_LINTFLAGS = 31
  4800. const m__CS_XBS5_LPBIG_OFFBIG_CFLAGS = 32
  4801. const m__CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 33
  4802. const m__CS_XBS5_LPBIG_OFFBIG_LIBS = 34
  4803. const m__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 35
  4804. const m__IOFBF = 0
  4805. const m__IOLBF = 1
  4806. const m__IONBF = 2
  4807. const m__LIBC_COUNT__MB_LEN_MAX = "_LIBC_UNSAFE_INDEXABLE"
  4808. const m__LIBC_COUNT__PATH_MAX = "_LIBC_UNSAFE_INDEXABLE"
  4809. const m__PC_2_SYMLINKS = 15
  4810. const m__PC_ALLOC_SIZE_MIN = 16
  4811. const m__PC_ASYNC_IO = 17
  4812. const m__PC_AUTH_OPAQUE_NP = 14
  4813. const m__PC_CASE_PRESERVING = 12
  4814. const m__PC_CASE_SENSITIVE = 11
  4815. const m__PC_CHOWN_RESTRICTED = 7
  4816. const m__PC_EXTENDED_SECURITY_NP = 13
  4817. const m__PC_FILESIZEBITS = 18
  4818. const m__PC_LINK_MAX = 1
  4819. const m__PC_MAX_CANON = 2
  4820. const m__PC_MAX_INPUT = 3
  4821. const m__PC_MIN_HOLE_SIZE = 27
  4822. const m__PC_NAME_CHARS_MAX = 10
  4823. const m__PC_NAME_MAX = 4
  4824. const m__PC_NO_TRUNC = 8
  4825. const m__PC_PATH_MAX = 5
  4826. const m__PC_PIPE_BUF = 6
  4827. const m__PC_PRIO_IO = 19
  4828. const m__PC_REC_INCR_XFER_SIZE = 20
  4829. const m__PC_REC_MAX_XFER_SIZE = 21
  4830. const m__PC_REC_MIN_XFER_SIZE = 22
  4831. const m__PC_REC_XFER_ALIGN = 23
  4832. const m__PC_SYMLINK_MAX = 24
  4833. const m__PC_SYNC_IO = 25
  4834. const m__PC_VDISABLE = 9
  4835. const m__PC_XATTR_SIZE_BITS = 26
  4836. const m__POSIX2_CHAR_TERM = 200112
  4837. const m__POSIX2_C_BIND = 200112
  4838. const m__POSIX2_C_DEV = 200112
  4839. const m__POSIX2_FORT_RUN = 200112
  4840. const m__POSIX2_LOCALEDEF = 200112
  4841. const m__POSIX2_SW_DEV = 200112
  4842. const m__POSIX2_UPE = 200112
  4843. const m__POSIX2_VERSION = 200112
  4844. const m__POSIX_CHOWN_RESTRICTED = 200112
  4845. const m__POSIX_FSYNC = 200112
  4846. const m__POSIX_IPV6 = 200112
  4847. const m__POSIX_JOB_CONTROL = 200112
  4848. const m__POSIX_MAPPED_FILES = 200112
  4849. const m__POSIX_MEMORY_PROTECTION = 200112
  4850. const m__POSIX_NO_TRUNC = 200112
  4851. const m__POSIX_READER_WRITER_LOCKS = 200112
  4852. const m__POSIX_REGEXP = 200112
  4853. const m__POSIX_SAVED_IDS = 200112
  4854. const m__POSIX_SHELL = 200112
  4855. const m__POSIX_SPAWN = 200112
  4856. const m__POSIX_THREADS = 200112
  4857. const m__POSIX_THREAD_ATTR_STACKADDR = 200112
  4858. const m__POSIX_THREAD_ATTR_STACKSIZE = 200112
  4859. const m__POSIX_THREAD_KEYS_MAX = 128
  4860. const m__POSIX_THREAD_PROCESS_SHARED = 200112
  4861. const m__POSIX_THREAD_SAFE_FUNCTIONS = 200112
  4862. const m__POSIX_V6_ILP32_OFF32 = "__ILP32_OFF32"
  4863. const m__POSIX_V6_ILP32_OFFBIG = "__ILP32_OFFBIG"
  4864. const m__POSIX_V6_LP64_OFF64 = "__LP64_OFF64"
  4865. const m__POSIX_V6_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  4866. const m__POSIX_V7_ILP32_OFF32 = "__ILP32_OFF32"
  4867. const m__POSIX_V7_ILP32_OFFBIG = "__ILP32_OFFBIG"
  4868. const m__POSIX_V7_LP64_OFF64 = "__LP64_OFF64"
  4869. const m__POSIX_V7_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  4870. const m__POSIX_VERSION = 200112
  4871. const m__RLIMIT_POSIX_FLAG = 0x1000
  4872. const m__SC_2_CHAR_TERM = 20
  4873. const m__SC_2_C_BIND = 18
  4874. const m__SC_2_C_DEV = 19
  4875. const m__SC_2_FORT_DEV = 21
  4876. const m__SC_2_FORT_RUN = 22
  4877. const m__SC_2_LOCALEDEF = 23
  4878. const m__SC_2_PBS = 59
  4879. const m__SC_2_PBS_ACCOUNTING = 60
  4880. const m__SC_2_PBS_CHECKPOINT = 61
  4881. const m__SC_2_PBS_LOCATE = 62
  4882. const m__SC_2_PBS_MESSAGE = 63
  4883. const m__SC_2_PBS_TRACK = 64
  4884. const m__SC_2_SW_DEV = 24
  4885. const m__SC_2_UPE = 25
  4886. const m__SC_2_VERSION = 17
  4887. const m__SC_ADVISORY_INFO = 65
  4888. const m__SC_AIO_LISTIO_MAX = 42
  4889. const m__SC_AIO_MAX = 43
  4890. const m__SC_AIO_PRIO_DELTA_MAX = 44
  4891. const m__SC_ARG_MAX = 1
  4892. const m__SC_ASYNCHRONOUS_IO = 28
  4893. const m__SC_ATEXIT_MAX = 107
  4894. const m__SC_BARRIERS = 66
  4895. const m__SC_BC_BASE_MAX = 9
  4896. const m__SC_BC_DIM_MAX = 10
  4897. const m__SC_BC_SCALE_MAX = 11
  4898. const m__SC_BC_STRING_MAX = 12
  4899. const m__SC_CHILD_MAX = 2
  4900. const m__SC_CLK_TCK = 3
  4901. const m__SC_CLOCK_SELECTION = 67
  4902. const m__SC_COLL_WEIGHTS_MAX = 13
  4903. const m__SC_CPUTIME = 68
  4904. const m__SC_DELAYTIMER_MAX = 45
  4905. const m__SC_EXPR_NEST_MAX = 14
  4906. const m__SC_FILE_LOCKING = 69
  4907. const m__SC_FSYNC = 38
  4908. const m__SC_GETGR_R_SIZE_MAX = 70
  4909. const m__SC_GETPW_R_SIZE_MAX = 71
  4910. const m__SC_HOST_NAME_MAX = 72
  4911. const m__SC_IOV_MAX = 56
  4912. const m__SC_IPV6 = 118
  4913. const m__SC_JOB_CONTROL = 6
  4914. const m__SC_LINE_MAX = 15
  4915. const m__SC_LOGIN_NAME_MAX = 73
  4916. const m__SC_MAPPED_FILES = 47
  4917. const m__SC_MEMLOCK = 30
  4918. const m__SC_MEMLOCK_RANGE = 31
  4919. const m__SC_MEMORY_PROTECTION = 32
  4920. const m__SC_MESSAGE_PASSING = 33
  4921. const m__SC_MONOTONIC_CLOCK = 74
  4922. const m__SC_MQ_OPEN_MAX = 46
  4923. const m__SC_MQ_PRIO_MAX = 75
  4924. const m__SC_NGROUPS_MAX = 4
  4925. const m__SC_NPROCESSORS_CONF = 57
  4926. const m__SC_NPROCESSORS_ONLN = 58
  4927. const m__SC_OPEN_MAX = 5
  4928. const m__SC_PAGESIZE = 29
  4929. const m__SC_PAGE_SIZE = "_SC_PAGESIZE"
  4930. const m__SC_PASS_MAX = 131
  4931. const m__SC_PHYS_PAGES = 200
  4932. const m__SC_PRIORITIZED_IO = 34
  4933. const m__SC_PRIORITY_SCHEDULING = 35
  4934. const m__SC_RAW_SOCKETS = 119
  4935. const m__SC_READER_WRITER_LOCKS = 76
  4936. const m__SC_REALTIME_SIGNALS = 36
  4937. const m__SC_REGEXP = 77
  4938. const m__SC_RE_DUP_MAX = 16
  4939. const m__SC_RTSIG_MAX = 48
  4940. const m__SC_SAVED_IDS = 7
  4941. const m__SC_SEMAPHORES = 37
  4942. const m__SC_SEM_NSEMS_MAX = 49
  4943. const m__SC_SEM_VALUE_MAX = 50
  4944. const m__SC_SHARED_MEMORY_OBJECTS = 39
  4945. const m__SC_SHELL = 78
  4946. const m__SC_SIGQUEUE_MAX = 51
  4947. const m__SC_SPAWN = 79
  4948. const m__SC_SPIN_LOCKS = 80
  4949. const m__SC_SPORADIC_SERVER = 81
  4950. const m__SC_SS_REPL_MAX = 126
  4951. const m__SC_STREAM_MAX = 26
  4952. const m__SC_SYMLOOP_MAX = 120
  4953. const m__SC_SYNCHRONIZED_IO = 40
  4954. const m__SC_THREADS = 96
  4955. const m__SC_THREAD_ATTR_STACKADDR = 82
  4956. const m__SC_THREAD_ATTR_STACKSIZE = 83
  4957. const m__SC_THREAD_CPUTIME = 84
  4958. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 85
  4959. const m__SC_THREAD_KEYS_MAX = 86
  4960. const m__SC_THREAD_PRIORITY_SCHEDULING = 89
  4961. const m__SC_THREAD_PRIO_INHERIT = 87
  4962. const m__SC_THREAD_PRIO_PROTECT = 88
  4963. const m__SC_THREAD_PROCESS_SHARED = 90
  4964. const m__SC_THREAD_SAFE_FUNCTIONS = 91
  4965. const m__SC_THREAD_SPORADIC_SERVER = 92
  4966. const m__SC_THREAD_STACK_MIN = 93
  4967. const m__SC_THREAD_THREADS_MAX = 94
  4968. const m__SC_TIMEOUTS = 95
  4969. const m__SC_TIMERS = 41
  4970. const m__SC_TIMER_MAX = 52
  4971. const m__SC_TRACE = 97
  4972. const m__SC_TRACE_EVENT_FILTER = 98
  4973. const m__SC_TRACE_EVENT_NAME_MAX = 127
  4974. const m__SC_TRACE_INHERIT = 99
  4975. const m__SC_TRACE_LOG = 100
  4976. const m__SC_TRACE_NAME_MAX = 128
  4977. const m__SC_TRACE_SYS_MAX = 129
  4978. const m__SC_TRACE_USER_EVENT_MAX = 130
  4979. const m__SC_TTY_NAME_MAX = 101
  4980. const m__SC_TYPED_MEMORY_OBJECTS = 102
  4981. const m__SC_TZNAME_MAX = 27
  4982. const m__SC_V6_ILP32_OFF32 = 103
  4983. const m__SC_V6_ILP32_OFFBIG = 104
  4984. const m__SC_V6_LP64_OFF64 = 105
  4985. const m__SC_V6_LPBIG_OFFBIG = 106
  4986. const m__SC_VERSION = 8
  4987. const m__SC_XBS5_ILP32_OFF32 = 122
  4988. const m__SC_XBS5_ILP32_OFFBIG = 123
  4989. const m__SC_XBS5_LP64_OFF64 = 124
  4990. const m__SC_XBS5_LPBIG_OFFBIG = 125
  4991. const m__SC_XOPEN_CRYPT = 108
  4992. const m__SC_XOPEN_ENH_I18N = 109
  4993. const m__SC_XOPEN_LEGACY = 110
  4994. const m__SC_XOPEN_REALTIME = 111
  4995. const m__SC_XOPEN_REALTIME_THREADS = 112
  4996. const m__SC_XOPEN_SHM = 113
  4997. const m__SC_XOPEN_STREAMS = 114
  4998. const m__SC_XOPEN_UNIX = 115
  4999. const m__SC_XOPEN_VERSION = 116
  5000. const m__SC_XOPEN_XCU_VERSION = 121
  5001. const m__STRUCT_MCONTEXT = "_STRUCT_MCONTEXT64"
  5002. const m__V6_ILP32_OFF32 = "__ILP32_OFF32"
  5003. const m__V6_ILP32_OFFBIG = "__ILP32_OFFBIG"
  5004. const m__V6_LP64_OFF64 = "__LP64_OFF64"
  5005. const m__V6_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  5006. const m__WSTOPPED = 0177
  5007. const m__XBS5_ILP32_OFF32 = "__ILP32_OFF32"
  5008. const m__XBS5_ILP32_OFFBIG = "__ILP32_OFFBIG"
  5009. const m__XBS5_LP64_OFF64 = "__LP64_OFF64"
  5010. const m__XBS5_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  5011. const m__XOPEN_CRYPT = 1
  5012. const m__XOPEN_ENH_I18N = 1
  5013. const m__XOPEN_SHM = 1
  5014. const m__XOPEN_UNIX = 1
  5015. const m__XOPEN_VERSION = 600
  5016. const m__XOPEN_XCU_VERSION = 4
  5017. const m___DARWIN_NSIG = 32
  5018. const m___DARWIN_OPAQUE_ARM_THREAD_STATE64 = 0
  5019. const m___LP64_OFF64 = 1
  5020. const m___LPBIG_OFFBIG = 1
  5021. const m___SALC = 0x4000
  5022. const m___SAPP = 0x0100
  5023. const m___SEOF = 0x0020
  5024. const m___SERR = 0x0040
  5025. const m___SIGN = 0x8000
  5026. const m___SLBF = 0x0001
  5027. const m___SMBF = 0x0080
  5028. const m___SMOD = 0x2000
  5029. const m___SNBF = 0x0002
  5030. const m___SNPT = 0x0800
  5031. const m___SOFF = 0x1000
  5032. const m___SOPT = 0x0400
  5033. const m___SRD = 0x0004
  5034. const m___SRW = 0x0010
  5035. const m___SSTR = 0x0200
  5036. const m___SWR = 0x0008
  5037. const m_ru_first = "ru_ixrss"
  5038. const m_ru_last = "ru_nivcsw"
  5039. const m_stderr = "__stderrp"
  5040. const m_stdin = "__stdinp"
  5041. const m_stdout = "__stdoutp"
  5042. const m_sv_onstack = "sv_flags"
  5043. type Ttimespec = struct {
  5044. Ftv_sec t__darwin_time_t
  5045. Ftv_nsec int64
  5046. }
  5047. type Tostat = struct {
  5048. Fst_dev t__uint16_t
  5049. Fst_ino Tino_t
  5050. Fst_mode Tmode_t
  5051. Fst_nlink Tnlink_t
  5052. Fst_uid t__uint16_t
  5053. Fst_gid t__uint16_t
  5054. Fst_rdev t__uint16_t
  5055. Fst_size t__int32_t
  5056. Fst_atimespec Ttimespec
  5057. Fst_mtimespec Ttimespec
  5058. Fst_ctimespec Ttimespec
  5059. Fst_blksize t__int32_t
  5060. Fst_blocks t__int32_t
  5061. Fst_flags t__uint32_t
  5062. Fst_gen t__uint32_t
  5063. }
  5064. type Tstat = struct {
  5065. Fst_dev Tdev_t
  5066. Fst_mode Tmode_t
  5067. Fst_nlink Tnlink_t
  5068. Fst_ino t__darwin_ino64_t
  5069. Fst_uid Tuid_t
  5070. Fst_gid Tgid_t
  5071. Fst_rdev Tdev_t
  5072. Fst_atimespec Ttimespec
  5073. Fst_mtimespec Ttimespec
  5074. Fst_ctimespec Ttimespec
  5075. Fst_birthtimespec Ttimespec
  5076. Fst_size Toff_t
  5077. Fst_blocks Tblkcnt_t
  5078. Fst_blksize Tblksize_t
  5079. Fst_flags t__uint32_t
  5080. Fst_gen t__uint32_t
  5081. Fst_lspare t__int32_t
  5082. Fst_qspare [2]t__int64_t
  5083. }
  5084. type Tfilesec_t = uintptr
  5085. type Tflock = struct {
  5086. Fl_start Toff_t
  5087. Fl_len Toff_t
  5088. Fl_pid Tpid_t
  5089. Fl_type int16
  5090. Fl_whence int16
  5091. }
  5092. type Tflocktimeout = struct {
  5093. Ffl Tflock
  5094. Ftimeout Ttimespec
  5095. }
  5096. type Tradvisory = struct {
  5097. Fra_offset Toff_t
  5098. Fra_count int32
  5099. }
  5100. type Tfsignatures_t = struct {
  5101. Ffs_file_start Toff_t
  5102. Ffs_blob_start uintptr
  5103. Ffs_blob_size Tsize_t
  5104. Ffs_fsignatures_size Tsize_t
  5105. Ffs_cdhash [20]int8
  5106. Ffs_hash_type int32
  5107. }
  5108. type Tfsignatures = Tfsignatures_t
  5109. type Tfsupplement_t = struct {
  5110. Ffs_file_start Toff_t
  5111. Ffs_blob_start Toff_t
  5112. Ffs_blob_size Tsize_t
  5113. Ffs_orig_fd int32
  5114. }
  5115. type Tfsupplement = Tfsupplement_t
  5116. type Tfchecklv_t = struct {
  5117. Flv_file_start Toff_t
  5118. Flv_error_message_size Tsize_t
  5119. Flv_error_message uintptr
  5120. }
  5121. type Tfchecklv = Tfchecklv_t
  5122. type Tfgetsigsinfo_t = struct {
  5123. Ffg_file_start Toff_t
  5124. Ffg_info_request int32
  5125. Ffg_sig_is_platform int32
  5126. }
  5127. type Tfgetsigsinfo = Tfgetsigsinfo_t
  5128. type Tfstore_t = struct {
  5129. Ffst_flags uint32
  5130. Ffst_posmode int32
  5131. Ffst_offset Toff_t
  5132. Ffst_length Toff_t
  5133. Ffst_bytesalloc Toff_t
  5134. }
  5135. type Tfstore = Tfstore_t
  5136. type Tfpunchhole_t = struct {
  5137. Ffp_flags uint32
  5138. Freserved uint32
  5139. Ffp_offset Toff_t
  5140. Ffp_length Toff_t
  5141. }
  5142. type Tfpunchhole = Tfpunchhole_t
  5143. type Tftrimactivefile_t = struct {
  5144. Ffta_offset Toff_t
  5145. Ffta_length Toff_t
  5146. }
  5147. type Tftrimactivefile = Tftrimactivefile_t
  5148. type Tfspecread_t = struct {
  5149. Ffsr_flags uint32
  5150. Freserved uint32
  5151. Ffsr_offset Toff_t
  5152. Ffsr_length Toff_t
  5153. }
  5154. type Tfspecread = Tfspecread_t
  5155. type Tfattributiontag_t = struct {
  5156. Fft_flags uint32
  5157. Fft_hash uint64
  5158. Fft_attribution_name [255]int8
  5159. }
  5160. type Tfattributiontag = Tfattributiontag_t
  5161. type Tlog2phys = struct {
  5162. Fl2p_flags uint32
  5163. Fl2p_contigbytes Toff_t
  5164. Fl2p_devoffset Toff_t
  5165. }
  5166. type Tfilesec_property_t = int32
  5167. const _FILESEC_OWNER = 1
  5168. const _FILESEC_GROUP = 2
  5169. const _FILESEC_UUID = 3
  5170. const _FILESEC_MODE = 4
  5171. const _FILESEC_ACL = 5
  5172. const _FILESEC_GRPUUID = 6
  5173. const _FILESEC_ACL_RAW = 100
  5174. const _FILESEC_ACL_ALLOCSIZE = 101
  5175. type Tidtype_t = int32
  5176. const _P_ALL = 0
  5177. const _P_PID = 1
  5178. const _P_PGID = 2
  5179. type Tsig_atomic_t = int32
  5180. type t__darwin_arm_exception_state = struct {
  5181. F__exception t__uint32_t
  5182. F__fsr t__uint32_t
  5183. F__far t__uint32_t
  5184. }
  5185. type t__darwin_arm_exception_state64 = struct {
  5186. F__far t__uint64_t
  5187. F__esr t__uint32_t
  5188. F__exception t__uint32_t
  5189. }
  5190. type t__darwin_arm_exception_state64_v2 = struct {
  5191. F__far t__uint64_t
  5192. F__esr t__uint64_t
  5193. }
  5194. type t__darwin_arm_thread_state = struct {
  5195. F__r [13]t__uint32_t
  5196. F__sp t__uint32_t
  5197. F__lr t__uint32_t
  5198. F__pc t__uint32_t
  5199. F__cpsr t__uint32_t
  5200. }
  5201. type t__darwin_arm_thread_state64 = struct {
  5202. F__x [29]t__uint64_t
  5203. F__fp t__uint64_t
  5204. F__lr t__uint64_t
  5205. F__sp t__uint64_t
  5206. F__pc t__uint64_t
  5207. F__cpsr t__uint32_t
  5208. F__pad t__uint32_t
  5209. }
  5210. type t__darwin_arm_vfp_state = struct {
  5211. F__r [64]t__uint32_t
  5212. F__fpscr t__uint32_t
  5213. }
  5214. type t__darwin_arm_neon_state64 = struct {
  5215. F__ccgo_align [0]uint64
  5216. F__v [32][2]uint64
  5217. F__fpsr t__uint32_t
  5218. F__fpcr t__uint32_t
  5219. F__ccgo_pad3 [8]byte
  5220. }
  5221. type t__darwin_arm_neon_state = struct {
  5222. F__ccgo_align [0]uint64
  5223. F__v [16][2]uint64
  5224. F__fpsr t__uint32_t
  5225. F__fpcr t__uint32_t
  5226. F__ccgo_pad3 [8]byte
  5227. }
  5228. type t__arm_pagein_state = struct {
  5229. F__pagein_error int32
  5230. }
  5231. type t__darwin_arm_sme_state = struct {
  5232. F__svcr t__uint64_t
  5233. F__tpidr2_el0 t__uint64_t
  5234. F__svl_b t__uint16_t
  5235. }
  5236. type t__darwin_arm_sve_z_state = struct {
  5237. F__ccgo_align [0]uint32
  5238. F__z [16][256]int8
  5239. }
  5240. type t__darwin_arm_sve_p_state = struct {
  5241. F__ccgo_align [0]uint32
  5242. F__p [16][32]int8
  5243. }
  5244. type t__darwin_arm_sme_za_state = struct {
  5245. F__ccgo_align [0]uint32
  5246. F__za [4096]int8
  5247. }
  5248. type t__darwin_arm_sme2_state = struct {
  5249. F__ccgo_align [0]uint32
  5250. F__zt0 [64]int8
  5251. }
  5252. type t__arm_legacy_debug_state = struct {
  5253. F__bvr [16]t__uint32_t
  5254. F__bcr [16]t__uint32_t
  5255. F__wvr [16]t__uint32_t
  5256. F__wcr [16]t__uint32_t
  5257. }
  5258. type t__darwin_arm_debug_state32 = struct {
  5259. F__bvr [16]t__uint32_t
  5260. F__bcr [16]t__uint32_t
  5261. F__wvr [16]t__uint32_t
  5262. F__wcr [16]t__uint32_t
  5263. F__mdscr_el1 t__uint64_t
  5264. }
  5265. type t__darwin_arm_debug_state64 = struct {
  5266. F__bvr [16]t__uint64_t
  5267. F__bcr [16]t__uint64_t
  5268. F__wvr [16]t__uint64_t
  5269. F__wcr [16]t__uint64_t
  5270. F__mdscr_el1 t__uint64_t
  5271. }
  5272. type t__darwin_arm_cpmu_state64 = struct {
  5273. F__ctrs [16]t__uint64_t
  5274. }
  5275. type t__darwin_mcontext32 = struct {
  5276. F__es t__darwin_arm_exception_state
  5277. F__ss t__darwin_arm_thread_state
  5278. F__fs t__darwin_arm_vfp_state
  5279. }
  5280. type t__darwin_mcontext64 = struct {
  5281. F__ccgo_align [0]uint64
  5282. F__es t__darwin_arm_exception_state64
  5283. F__ss t__darwin_arm_thread_state64
  5284. F__ns t__darwin_arm_neon_state64
  5285. }
  5286. type Tmcontext_t = uintptr
  5287. type t__darwin_sigaltstack = struct {
  5288. Fss_sp uintptr
  5289. Fss_size t__darwin_size_t
  5290. Fss_flags int32
  5291. }
  5292. type Tstack_t = struct {
  5293. Fss_sp uintptr
  5294. Fss_size t__darwin_size_t
  5295. Fss_flags int32
  5296. }
  5297. type t__darwin_ucontext = struct {
  5298. Fuc_onstack int32
  5299. Fuc_sigmask t__darwin_sigset_t
  5300. Fuc_stack t__darwin_sigaltstack
  5301. Fuc_link uintptr
  5302. Fuc_mcsize t__darwin_size_t
  5303. Fuc_mcontext uintptr
  5304. }
  5305. type Tucontext_t = struct {
  5306. Fuc_onstack int32
  5307. Fuc_sigmask t__darwin_sigset_t
  5308. Fuc_stack t__darwin_sigaltstack
  5309. Fuc_link uintptr
  5310. Fuc_mcsize t__darwin_size_t
  5311. Fuc_mcontext uintptr
  5312. }
  5313. type Tsigset_t = uint32
  5314. type Tsigval = struct {
  5315. Fsival_ptr [0]uintptr
  5316. Fsival_int int32
  5317. F__ccgo_pad2 [4]byte
  5318. }
  5319. type Tsigevent = struct {
  5320. Fsigev_notify int32
  5321. Fsigev_signo int32
  5322. Fsigev_value Tsigval
  5323. Fsigev_notify_function uintptr
  5324. Fsigev_notify_attributes uintptr
  5325. }
  5326. type Tsiginfo_t = struct {
  5327. Fsi_signo int32
  5328. Fsi_errno int32
  5329. Fsi_code int32
  5330. Fsi_pid Tpid_t
  5331. Fsi_uid Tuid_t
  5332. Fsi_status int32
  5333. Fsi_addr uintptr
  5334. Fsi_value Tsigval
  5335. Fsi_band int64
  5336. F__pad [7]uint64
  5337. }
  5338. type t__siginfo = Tsiginfo_t
  5339. type t__sigaction_u = struct {
  5340. F__sa_sigaction [0]uintptr
  5341. F__sa_handler uintptr
  5342. }
  5343. type t__sigaction = struct {
  5344. F__sigaction_u t__sigaction_u
  5345. Fsa_tramp uintptr
  5346. Fsa_mask Tsigset_t
  5347. Fsa_flags int32
  5348. }
  5349. type Tsigaction = struct {
  5350. F__sigaction_u t__sigaction_u
  5351. Fsa_mask Tsigset_t
  5352. Fsa_flags int32
  5353. }
  5354. type Tsig_t = uintptr
  5355. type Tsigvec = struct {
  5356. Fsv_handler uintptr
  5357. Fsv_mask int32
  5358. Fsv_flags int32
  5359. }
  5360. type Tsigstack = struct {
  5361. Fss_sp uintptr
  5362. Fss_onstack int32
  5363. }
  5364. type Ttimeval = struct {
  5365. Ftv_sec t__darwin_time_t
  5366. Ftv_usec t__darwin_suseconds_t
  5367. }
  5368. type Trlim_t = uint64
  5369. type Trusage = struct {
  5370. Fru_utime Ttimeval
  5371. Fru_stime Ttimeval
  5372. Fru_maxrss int64
  5373. Fru_ixrss int64
  5374. Fru_idrss int64
  5375. Fru_isrss int64
  5376. Fru_minflt int64
  5377. Fru_majflt int64
  5378. Fru_nswap int64
  5379. Fru_inblock int64
  5380. Fru_oublock int64
  5381. Fru_msgsnd int64
  5382. Fru_msgrcv int64
  5383. Fru_nsignals int64
  5384. Fru_nvcsw int64
  5385. Fru_nivcsw int64
  5386. }
  5387. type Trusage_info_t = uintptr
  5388. type Trusage_info_v0 = struct {
  5389. Fri_uuid [16]Tuint8_t
  5390. Fri_user_time Tuint64_t
  5391. Fri_system_time Tuint64_t
  5392. Fri_pkg_idle_wkups Tuint64_t
  5393. Fri_interrupt_wkups Tuint64_t
  5394. Fri_pageins Tuint64_t
  5395. Fri_wired_size Tuint64_t
  5396. Fri_resident_size Tuint64_t
  5397. Fri_phys_footprint Tuint64_t
  5398. Fri_proc_start_abstime Tuint64_t
  5399. Fri_proc_exit_abstime Tuint64_t
  5400. }
  5401. type Trusage_info_v1 = struct {
  5402. Fri_uuid [16]Tuint8_t
  5403. Fri_user_time Tuint64_t
  5404. Fri_system_time Tuint64_t
  5405. Fri_pkg_idle_wkups Tuint64_t
  5406. Fri_interrupt_wkups Tuint64_t
  5407. Fri_pageins Tuint64_t
  5408. Fri_wired_size Tuint64_t
  5409. Fri_resident_size Tuint64_t
  5410. Fri_phys_footprint Tuint64_t
  5411. Fri_proc_start_abstime Tuint64_t
  5412. Fri_proc_exit_abstime Tuint64_t
  5413. Fri_child_user_time Tuint64_t
  5414. Fri_child_system_time Tuint64_t
  5415. Fri_child_pkg_idle_wkups Tuint64_t
  5416. Fri_child_interrupt_wkups Tuint64_t
  5417. Fri_child_pageins Tuint64_t
  5418. Fri_child_elapsed_abstime Tuint64_t
  5419. }
  5420. type Trusage_info_v2 = struct {
  5421. Fri_uuid [16]Tuint8_t
  5422. Fri_user_time Tuint64_t
  5423. Fri_system_time Tuint64_t
  5424. Fri_pkg_idle_wkups Tuint64_t
  5425. Fri_interrupt_wkups Tuint64_t
  5426. Fri_pageins Tuint64_t
  5427. Fri_wired_size Tuint64_t
  5428. Fri_resident_size Tuint64_t
  5429. Fri_phys_footprint Tuint64_t
  5430. Fri_proc_start_abstime Tuint64_t
  5431. Fri_proc_exit_abstime Tuint64_t
  5432. Fri_child_user_time Tuint64_t
  5433. Fri_child_system_time Tuint64_t
  5434. Fri_child_pkg_idle_wkups Tuint64_t
  5435. Fri_child_interrupt_wkups Tuint64_t
  5436. Fri_child_pageins Tuint64_t
  5437. Fri_child_elapsed_abstime Tuint64_t
  5438. Fri_diskio_bytesread Tuint64_t
  5439. Fri_diskio_byteswritten Tuint64_t
  5440. }
  5441. type Trusage_info_v3 = struct {
  5442. Fri_uuid [16]Tuint8_t
  5443. Fri_user_time Tuint64_t
  5444. Fri_system_time Tuint64_t
  5445. Fri_pkg_idle_wkups Tuint64_t
  5446. Fri_interrupt_wkups Tuint64_t
  5447. Fri_pageins Tuint64_t
  5448. Fri_wired_size Tuint64_t
  5449. Fri_resident_size Tuint64_t
  5450. Fri_phys_footprint Tuint64_t
  5451. Fri_proc_start_abstime Tuint64_t
  5452. Fri_proc_exit_abstime Tuint64_t
  5453. Fri_child_user_time Tuint64_t
  5454. Fri_child_system_time Tuint64_t
  5455. Fri_child_pkg_idle_wkups Tuint64_t
  5456. Fri_child_interrupt_wkups Tuint64_t
  5457. Fri_child_pageins Tuint64_t
  5458. Fri_child_elapsed_abstime Tuint64_t
  5459. Fri_diskio_bytesread Tuint64_t
  5460. Fri_diskio_byteswritten Tuint64_t
  5461. Fri_cpu_time_qos_default Tuint64_t
  5462. Fri_cpu_time_qos_maintenance Tuint64_t
  5463. Fri_cpu_time_qos_background Tuint64_t
  5464. Fri_cpu_time_qos_utility Tuint64_t
  5465. Fri_cpu_time_qos_legacy Tuint64_t
  5466. Fri_cpu_time_qos_user_initiated Tuint64_t
  5467. Fri_cpu_time_qos_user_interactive Tuint64_t
  5468. Fri_billed_system_time Tuint64_t
  5469. Fri_serviced_system_time Tuint64_t
  5470. }
  5471. type Trusage_info_v4 = struct {
  5472. Fri_uuid [16]Tuint8_t
  5473. Fri_user_time Tuint64_t
  5474. Fri_system_time Tuint64_t
  5475. Fri_pkg_idle_wkups Tuint64_t
  5476. Fri_interrupt_wkups Tuint64_t
  5477. Fri_pageins Tuint64_t
  5478. Fri_wired_size Tuint64_t
  5479. Fri_resident_size Tuint64_t
  5480. Fri_phys_footprint Tuint64_t
  5481. Fri_proc_start_abstime Tuint64_t
  5482. Fri_proc_exit_abstime Tuint64_t
  5483. Fri_child_user_time Tuint64_t
  5484. Fri_child_system_time Tuint64_t
  5485. Fri_child_pkg_idle_wkups Tuint64_t
  5486. Fri_child_interrupt_wkups Tuint64_t
  5487. Fri_child_pageins Tuint64_t
  5488. Fri_child_elapsed_abstime Tuint64_t
  5489. Fri_diskio_bytesread Tuint64_t
  5490. Fri_diskio_byteswritten Tuint64_t
  5491. Fri_cpu_time_qos_default Tuint64_t
  5492. Fri_cpu_time_qos_maintenance Tuint64_t
  5493. Fri_cpu_time_qos_background Tuint64_t
  5494. Fri_cpu_time_qos_utility Tuint64_t
  5495. Fri_cpu_time_qos_legacy Tuint64_t
  5496. Fri_cpu_time_qos_user_initiated Tuint64_t
  5497. Fri_cpu_time_qos_user_interactive Tuint64_t
  5498. Fri_billed_system_time Tuint64_t
  5499. Fri_serviced_system_time Tuint64_t
  5500. Fri_logical_writes Tuint64_t
  5501. Fri_lifetime_max_phys_footprint Tuint64_t
  5502. Fri_instructions Tuint64_t
  5503. Fri_cycles Tuint64_t
  5504. Fri_billed_energy Tuint64_t
  5505. Fri_serviced_energy Tuint64_t
  5506. Fri_interval_max_phys_footprint Tuint64_t
  5507. Fri_runnable_time Tuint64_t
  5508. }
  5509. type Trusage_info_v5 = struct {
  5510. Fri_uuid [16]Tuint8_t
  5511. Fri_user_time Tuint64_t
  5512. Fri_system_time Tuint64_t
  5513. Fri_pkg_idle_wkups Tuint64_t
  5514. Fri_interrupt_wkups Tuint64_t
  5515. Fri_pageins Tuint64_t
  5516. Fri_wired_size Tuint64_t
  5517. Fri_resident_size Tuint64_t
  5518. Fri_phys_footprint Tuint64_t
  5519. Fri_proc_start_abstime Tuint64_t
  5520. Fri_proc_exit_abstime Tuint64_t
  5521. Fri_child_user_time Tuint64_t
  5522. Fri_child_system_time Tuint64_t
  5523. Fri_child_pkg_idle_wkups Tuint64_t
  5524. Fri_child_interrupt_wkups Tuint64_t
  5525. Fri_child_pageins Tuint64_t
  5526. Fri_child_elapsed_abstime Tuint64_t
  5527. Fri_diskio_bytesread Tuint64_t
  5528. Fri_diskio_byteswritten Tuint64_t
  5529. Fri_cpu_time_qos_default Tuint64_t
  5530. Fri_cpu_time_qos_maintenance Tuint64_t
  5531. Fri_cpu_time_qos_background Tuint64_t
  5532. Fri_cpu_time_qos_utility Tuint64_t
  5533. Fri_cpu_time_qos_legacy Tuint64_t
  5534. Fri_cpu_time_qos_user_initiated Tuint64_t
  5535. Fri_cpu_time_qos_user_interactive Tuint64_t
  5536. Fri_billed_system_time Tuint64_t
  5537. Fri_serviced_system_time Tuint64_t
  5538. Fri_logical_writes Tuint64_t
  5539. Fri_lifetime_max_phys_footprint Tuint64_t
  5540. Fri_instructions Tuint64_t
  5541. Fri_cycles Tuint64_t
  5542. Fri_billed_energy Tuint64_t
  5543. Fri_serviced_energy Tuint64_t
  5544. Fri_interval_max_phys_footprint Tuint64_t
  5545. Fri_runnable_time Tuint64_t
  5546. Fri_flags Tuint64_t
  5547. }
  5548. type Trusage_info_v6 = struct {
  5549. Fri_uuid [16]Tuint8_t
  5550. Fri_user_time Tuint64_t
  5551. Fri_system_time Tuint64_t
  5552. Fri_pkg_idle_wkups Tuint64_t
  5553. Fri_interrupt_wkups Tuint64_t
  5554. Fri_pageins Tuint64_t
  5555. Fri_wired_size Tuint64_t
  5556. Fri_resident_size Tuint64_t
  5557. Fri_phys_footprint Tuint64_t
  5558. Fri_proc_start_abstime Tuint64_t
  5559. Fri_proc_exit_abstime Tuint64_t
  5560. Fri_child_user_time Tuint64_t
  5561. Fri_child_system_time Tuint64_t
  5562. Fri_child_pkg_idle_wkups Tuint64_t
  5563. Fri_child_interrupt_wkups Tuint64_t
  5564. Fri_child_pageins Tuint64_t
  5565. Fri_child_elapsed_abstime Tuint64_t
  5566. Fri_diskio_bytesread Tuint64_t
  5567. Fri_diskio_byteswritten Tuint64_t
  5568. Fri_cpu_time_qos_default Tuint64_t
  5569. Fri_cpu_time_qos_maintenance Tuint64_t
  5570. Fri_cpu_time_qos_background Tuint64_t
  5571. Fri_cpu_time_qos_utility Tuint64_t
  5572. Fri_cpu_time_qos_legacy Tuint64_t
  5573. Fri_cpu_time_qos_user_initiated Tuint64_t
  5574. Fri_cpu_time_qos_user_interactive Tuint64_t
  5575. Fri_billed_system_time Tuint64_t
  5576. Fri_serviced_system_time Tuint64_t
  5577. Fri_logical_writes Tuint64_t
  5578. Fri_lifetime_max_phys_footprint Tuint64_t
  5579. Fri_instructions Tuint64_t
  5580. Fri_cycles Tuint64_t
  5581. Fri_billed_energy Tuint64_t
  5582. Fri_serviced_energy Tuint64_t
  5583. Fri_interval_max_phys_footprint Tuint64_t
  5584. Fri_runnable_time Tuint64_t
  5585. Fri_flags Tuint64_t
  5586. Fri_user_ptime Tuint64_t
  5587. Fri_system_ptime Tuint64_t
  5588. Fri_pinstructions Tuint64_t
  5589. Fri_pcycles Tuint64_t
  5590. Fri_energy_nj Tuint64_t
  5591. Fri_penergy_nj Tuint64_t
  5592. Fri_secure_time_in_system Tuint64_t
  5593. Fri_secure_ptime_in_system Tuint64_t
  5594. Fri_neural_footprint Tuint64_t
  5595. Fri_lifetime_max_neural_footprint Tuint64_t
  5596. Fri_interval_max_neural_footprint Tuint64_t
  5597. Fri_reserved [9]Tuint64_t
  5598. }
  5599. type Trusage_info_current = struct {
  5600. Fri_uuid [16]Tuint8_t
  5601. Fri_user_time Tuint64_t
  5602. Fri_system_time Tuint64_t
  5603. Fri_pkg_idle_wkups Tuint64_t
  5604. Fri_interrupt_wkups Tuint64_t
  5605. Fri_pageins Tuint64_t
  5606. Fri_wired_size Tuint64_t
  5607. Fri_resident_size Tuint64_t
  5608. Fri_phys_footprint Tuint64_t
  5609. Fri_proc_start_abstime Tuint64_t
  5610. Fri_proc_exit_abstime Tuint64_t
  5611. Fri_child_user_time Tuint64_t
  5612. Fri_child_system_time Tuint64_t
  5613. Fri_child_pkg_idle_wkups Tuint64_t
  5614. Fri_child_interrupt_wkups Tuint64_t
  5615. Fri_child_pageins Tuint64_t
  5616. Fri_child_elapsed_abstime Tuint64_t
  5617. Fri_diskio_bytesread Tuint64_t
  5618. Fri_diskio_byteswritten Tuint64_t
  5619. Fri_cpu_time_qos_default Tuint64_t
  5620. Fri_cpu_time_qos_maintenance Tuint64_t
  5621. Fri_cpu_time_qos_background Tuint64_t
  5622. Fri_cpu_time_qos_utility Tuint64_t
  5623. Fri_cpu_time_qos_legacy Tuint64_t
  5624. Fri_cpu_time_qos_user_initiated Tuint64_t
  5625. Fri_cpu_time_qos_user_interactive Tuint64_t
  5626. Fri_billed_system_time Tuint64_t
  5627. Fri_serviced_system_time Tuint64_t
  5628. Fri_logical_writes Tuint64_t
  5629. Fri_lifetime_max_phys_footprint Tuint64_t
  5630. Fri_instructions Tuint64_t
  5631. Fri_cycles Tuint64_t
  5632. Fri_billed_energy Tuint64_t
  5633. Fri_serviced_energy Tuint64_t
  5634. Fri_interval_max_phys_footprint Tuint64_t
  5635. Fri_runnable_time Tuint64_t
  5636. Fri_flags Tuint64_t
  5637. Fri_user_ptime Tuint64_t
  5638. Fri_system_ptime Tuint64_t
  5639. Fri_pinstructions Tuint64_t
  5640. Fri_pcycles Tuint64_t
  5641. Fri_energy_nj Tuint64_t
  5642. Fri_penergy_nj Tuint64_t
  5643. Fri_secure_time_in_system Tuint64_t
  5644. Fri_secure_ptime_in_system Tuint64_t
  5645. Fri_neural_footprint Tuint64_t
  5646. Fri_lifetime_max_neural_footprint Tuint64_t
  5647. Fri_interval_max_neural_footprint Tuint64_t
  5648. Fri_reserved [9]Tuint64_t
  5649. }
  5650. type Trlimit = struct {
  5651. Frlim_cur Trlim_t
  5652. Frlim_max Trlim_t
  5653. }
  5654. type Tproc_rlimit_control_wakeupmon = struct {
  5655. Fwm_flags Tuint32_t
  5656. Fwm_rate Tint32_t
  5657. }
  5658. type Twait = struct {
  5659. Fw_T [0]struct {
  5660. F__ccgo0 uint32
  5661. }
  5662. Fw_S [0]struct {
  5663. F__ccgo0 uint32
  5664. }
  5665. Fw_status int32
  5666. }
  5667. type Tct_rune_t = int32
  5668. type Trune_t = int32
  5669. type Twchar_t = int32
  5670. type Tdiv_t = struct {
  5671. Fquot int32
  5672. Frem int32
  5673. }
  5674. type Tldiv_t = struct {
  5675. Fquot int64
  5676. Frem int64
  5677. }
  5678. type Tlldiv_t = struct {
  5679. Fquot int64
  5680. Frem int64
  5681. }
  5682. type Tmalloc_type_id_t = uint64
  5683. type Tva_list = uintptr
  5684. type Tfpos_t = int64
  5685. type t__sbuf = struct {
  5686. F_base uintptr
  5687. F_size int32
  5688. }
  5689. type TFILE = struct {
  5690. F_p uintptr
  5691. F_r int32
  5692. F_w int32
  5693. F_flags int16
  5694. F_file int16
  5695. F_bf t__sbuf
  5696. F_lbfsize int32
  5697. F_cookie uintptr
  5698. F_close uintptr
  5699. F_read uintptr
  5700. F_seek uintptr
  5701. F_write uintptr
  5702. F_ub t__sbuf
  5703. F_extra uintptr
  5704. F_ur int32
  5705. F_ubuf [3]uint8
  5706. F_nbuf [1]uint8
  5707. F_lb t__sbuf
  5708. F_blksize int32
  5709. F_offset Tfpos_t
  5710. }
  5711. type t__sFILE = TFILE
  5712. type Taccessx_descriptor = struct {
  5713. Fad_name_offset uint32
  5714. Fad_flags int32
  5715. Fad_pad [2]int32
  5716. }
  5717. type Tuuid_t = [16]uint8
  5718. // C documentation
  5719. //
  5720. // /* ARGSUSED */
  5721. func XMD2End(tls *libc.TLS, ctx uintptr, buf uintptr) (r uintptr) {
  5722. bp := tls.Alloc(16)
  5723. defer tls.Free(16)
  5724. var i int32
  5725. var v1 uintptr
  5726. var v2 bool
  5727. var _ /* digest at bp+0 */ [16]Tuint8_t
  5728. _, _, _ = i, v1, v2
  5729. if v2 = buf == libc.UintptrFromInt32(0); v2 {
  5730. v1 = libc.Xmalloc(tls, uint64(m_MD2_DIGEST_STRING_LENGTH))
  5731. buf = v1
  5732. }
  5733. if v2 && v1 == libc.UintptrFromInt32(0) {
  5734. return libc.UintptrFromInt32(0)
  5735. }
  5736. XMD2Final(tls, bp, ctx)
  5737. i = 0
  5738. for {
  5739. if !(i < int32(m_MD2_DIGEST_LENGTH)) {
  5740. break
  5741. }
  5742. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = _hex[libc.Int32FromUint8((*(*[16]Tuint8_t)(unsafe.Pointer(bp)))[i])>>int32(4)]
  5743. *(*int8)(unsafe.Pointer(buf + uintptr(i+i+int32(1)))) = _hex[libc.Int32FromUint8((*(*[16]Tuint8_t)(unsafe.Pointer(bp)))[i])&int32(0x0f)]
  5744. goto _3
  5745. _3:
  5746. ;
  5747. i++
  5748. }
  5749. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = int8('\000')
  5750. libc.X__builtin___memset_chk(tls, bp, 0, uint64(16), ^t__predefined_size_t(0))
  5751. return buf
  5752. }
  5753. var _hex = [17]int8{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}
  5754. func XMD2FileChunk(tls *libc.TLS, filename uintptr, buf uintptr, off Toff_t, len1 Toff_t) (r uintptr) {
  5755. bp := tls.Alloc(1248)
  5756. defer tls.Free(1248)
  5757. var fd, save_errno, v1 int32
  5758. var nr, v2 Tssize_t
  5759. var v3 int64
  5760. var v4 bool
  5761. var v5 uintptr
  5762. var _ /* buffer at bp+144 */ [1024]Tuint8_t
  5763. var _ /* ctx at bp+1168 */ TMD2_CTX
  5764. var _ /* sb at bp+0 */ Tstat
  5765. _, _, _, _, _, _, _, _ = fd, nr, save_errno, v1, v2, v3, v4, v5
  5766. XMD2Init(tls, bp+1168)
  5767. v1 = libc.Xopen(tls, filename, m_O_RDONLY, 0)
  5768. fd = v1
  5769. if v1 < 0 {
  5770. return libc.UintptrFromInt32(0)
  5771. }
  5772. if len1 == 0 {
  5773. if libc.Xfstat(tls, fd, bp) == -int32(1) {
  5774. libc.Xclose(tls, fd)
  5775. return libc.UintptrFromInt32(0)
  5776. }
  5777. len1 = (*(*Tstat)(unsafe.Pointer(bp))).Fst_size
  5778. }
  5779. if off > 0 && libc.Xlseek(tls, fd, off, m_SEEK_SET) < 0 {
  5780. libc.Xclose(tls, fd)
  5781. return libc.UintptrFromInt32(0)
  5782. }
  5783. for {
  5784. if libc.Int64FromInt64(1024) < len1 {
  5785. v3 = libc.Int64FromInt64(1024)
  5786. } else {
  5787. v3 = len1
  5788. }
  5789. v2 = libc.Xread(tls, fd, bp+144, libc.Uint64FromInt64(v3))
  5790. nr = v2
  5791. if !(v2 > 0) {
  5792. break
  5793. }
  5794. XMD2Update(tls, bp+1168, bp+144, uint32(libc.Uint64FromInt64(nr)))
  5795. if v4 = len1 > 0; v4 {
  5796. len1 -= nr
  5797. }
  5798. if v4 && len1 == 0 {
  5799. break
  5800. }
  5801. }
  5802. save_errno = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  5803. libc.Xclose(tls, fd)
  5804. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = save_errno
  5805. if nr < 0 {
  5806. v5 = libc.UintptrFromInt32(0)
  5807. } else {
  5808. v5 = XMD2End(tls, bp+1168, buf)
  5809. }
  5810. return v5
  5811. }
  5812. func XMD2File(tls *libc.TLS, filename uintptr, buf uintptr) (r uintptr) {
  5813. return XMD2FileChunk(tls, filename, buf, libc.Int64FromInt32(0), libc.Int64FromInt32(0))
  5814. }
  5815. func XMD2Data(tls *libc.TLS, data uintptr, len1 Tsize_t, buf uintptr) (r uintptr) {
  5816. bp := tls.Alloc(80)
  5817. defer tls.Free(80)
  5818. var _ /* ctx at bp+0 */ TMD2_CTX
  5819. XMD2Init(tls, bp)
  5820. XMD2Update(tls, bp, data, uint32(len1))
  5821. return XMD2End(tls, bp, buf)
  5822. }
  5823. // C documentation
  5824. //
  5825. // /* ARGSUSED */
  5826. func XMD4End(tls *libc.TLS, ctx uintptr, buf uintptr) (r uintptr) {
  5827. bp := tls.Alloc(16)
  5828. defer tls.Free(16)
  5829. var i int32
  5830. var v1 uintptr
  5831. var v2 bool
  5832. var _ /* digest at bp+0 */ [16]Tuint8_t
  5833. _, _, _ = i, v1, v2
  5834. if v2 = buf == libc.UintptrFromInt32(0); v2 {
  5835. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(libc.Int32FromInt32(m_MD4_DIGEST_LENGTH)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))
  5836. buf = v1
  5837. }
  5838. if v2 && v1 == libc.UintptrFromInt32(0) {
  5839. return libc.UintptrFromInt32(0)
  5840. }
  5841. XMD4Final(tls, bp, ctx)
  5842. i = 0
  5843. for {
  5844. if !(i < int32(m_MD4_DIGEST_LENGTH)) {
  5845. break
  5846. }
  5847. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = _hex1[libc.Int32FromUint8((*(*[16]Tuint8_t)(unsafe.Pointer(bp)))[i])>>int32(4)]
  5848. *(*int8)(unsafe.Pointer(buf + uintptr(i+i+int32(1)))) = _hex1[libc.Int32FromUint8((*(*[16]Tuint8_t)(unsafe.Pointer(bp)))[i])&int32(0x0f)]
  5849. goto _3
  5850. _3:
  5851. ;
  5852. i++
  5853. }
  5854. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = int8('\000')
  5855. libc.X__builtin___memset_chk(tls, bp, 0, uint64(16), ^t__predefined_size_t(0))
  5856. return buf
  5857. }
  5858. var _hex1 = [17]int8{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}
  5859. func XMD4FileChunk(tls *libc.TLS, filename uintptr, buf uintptr, off Toff_t, len1 Toff_t) (r uintptr) {
  5860. bp := tls.Alloc(1264)
  5861. defer tls.Free(1264)
  5862. var fd, save_errno, v1 int32
  5863. var nr, v2 Tssize_t
  5864. var v3 int64
  5865. var v4 bool
  5866. var v5 uintptr
  5867. var _ /* buffer at bp+144 */ [1024]Tuint8_t
  5868. var _ /* ctx at bp+1168 */ TMD4_CTX
  5869. var _ /* sb at bp+0 */ Tstat
  5870. _, _, _, _, _, _, _, _ = fd, nr, save_errno, v1, v2, v3, v4, v5
  5871. XMD4Init(tls, bp+1168)
  5872. v1 = libc.Xopen(tls, filename, m_O_RDONLY, 0)
  5873. fd = v1
  5874. if v1 < 0 {
  5875. return libc.UintptrFromInt32(0)
  5876. }
  5877. if len1 == 0 {
  5878. if libc.Xfstat(tls, fd, bp) == -int32(1) {
  5879. libc.Xclose(tls, fd)
  5880. return libc.UintptrFromInt32(0)
  5881. }
  5882. len1 = (*(*Tstat)(unsafe.Pointer(bp))).Fst_size
  5883. }
  5884. if off > 0 && libc.Xlseek(tls, fd, off, m_SEEK_SET) < 0 {
  5885. libc.Xclose(tls, fd)
  5886. return libc.UintptrFromInt32(0)
  5887. }
  5888. for {
  5889. if libc.Int64FromInt64(1024) < len1 {
  5890. v3 = libc.Int64FromInt64(1024)
  5891. } else {
  5892. v3 = len1
  5893. }
  5894. v2 = libc.Xread(tls, fd, bp+144, libc.Uint64FromInt64(v3))
  5895. nr = v2
  5896. if !(v2 > 0) {
  5897. break
  5898. }
  5899. XMD4Update(tls, bp+1168, bp+144, libc.Uint64FromInt64(nr))
  5900. if v4 = len1 > 0; v4 {
  5901. len1 -= nr
  5902. }
  5903. if v4 && len1 == 0 {
  5904. break
  5905. }
  5906. }
  5907. save_errno = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  5908. libc.Xclose(tls, fd)
  5909. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = save_errno
  5910. if nr < 0 {
  5911. v5 = libc.UintptrFromInt32(0)
  5912. } else {
  5913. v5 = XMD4End(tls, bp+1168, buf)
  5914. }
  5915. return v5
  5916. }
  5917. func XMD4File(tls *libc.TLS, filename uintptr, buf uintptr) (r uintptr) {
  5918. return XMD4FileChunk(tls, filename, buf, libc.Int64FromInt32(0), libc.Int64FromInt32(0))
  5919. }
  5920. func XMD4Data(tls *libc.TLS, data uintptr, len1 Tsize_t, buf uintptr) (r uintptr) {
  5921. bp := tls.Alloc(96)
  5922. defer tls.Free(96)
  5923. var _ /* ctx at bp+0 */ TMD4_CTX
  5924. XMD4Init(tls, bp)
  5925. XMD4Update(tls, bp, data, len1)
  5926. return XMD4End(tls, bp, buf)
  5927. }
  5928. /* Avoid polluting the namespace. Even though this makes this usage
  5929. * implementation-specific, defining it unconditionally should not be
  5930. * a problem, and better than possibly breaking unexpecting code. */
  5931. // C documentation
  5932. //
  5933. // /* ARGSUSED */
  5934. func XMD5End(tls *libc.TLS, ctx uintptr, buf uintptr) (r uintptr) {
  5935. bp := tls.Alloc(16)
  5936. defer tls.Free(16)
  5937. var i int32
  5938. var v1 uintptr
  5939. var v2 bool
  5940. var _ /* digest at bp+0 */ [16]Tuint8_t
  5941. _, _, _ = i, v1, v2
  5942. if v2 = buf == libc.UintptrFromInt32(0); v2 {
  5943. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(libc.Int32FromInt32(m_MD5_DIGEST_LENGTH)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))
  5944. buf = v1
  5945. }
  5946. if v2 && v1 == libc.UintptrFromInt32(0) {
  5947. return libc.UintptrFromInt32(0)
  5948. }
  5949. XMD5Final(tls, bp, ctx)
  5950. i = 0
  5951. for {
  5952. if !(i < int32(m_MD5_DIGEST_LENGTH)) {
  5953. break
  5954. }
  5955. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = _hex2[libc.Int32FromUint8((*(*[16]Tuint8_t)(unsafe.Pointer(bp)))[i])>>int32(4)]
  5956. *(*int8)(unsafe.Pointer(buf + uintptr(i+i+int32(1)))) = _hex2[libc.Int32FromUint8((*(*[16]Tuint8_t)(unsafe.Pointer(bp)))[i])&int32(0x0f)]
  5957. goto _3
  5958. _3:
  5959. ;
  5960. i++
  5961. }
  5962. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = int8('\000')
  5963. libc.X__builtin___memset_chk(tls, bp, 0, uint64(16), ^t__predefined_size_t(0))
  5964. return buf
  5965. }
  5966. var _hex2 = [17]int8{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}
  5967. func XMD5FileChunk(tls *libc.TLS, filename uintptr, buf uintptr, off Toff_t, len1 Toff_t) (r uintptr) {
  5968. bp := tls.Alloc(1264)
  5969. defer tls.Free(1264)
  5970. var fd, save_errno, v1 int32
  5971. var nr, v2 Tssize_t
  5972. var v3 int64
  5973. var v4 bool
  5974. var v5 uintptr
  5975. var _ /* buffer at bp+144 */ [1024]Tuint8_t
  5976. var _ /* ctx at bp+1168 */ TMD5_CTX
  5977. var _ /* sb at bp+0 */ Tstat
  5978. _, _, _, _, _, _, _, _ = fd, nr, save_errno, v1, v2, v3, v4, v5
  5979. XMD5Init(tls, bp+1168)
  5980. v1 = libc.Xopen(tls, filename, m_O_RDONLY, 0)
  5981. fd = v1
  5982. if v1 < 0 {
  5983. return libc.UintptrFromInt32(0)
  5984. }
  5985. if len1 == 0 {
  5986. if libc.Xfstat(tls, fd, bp) == -int32(1) {
  5987. libc.Xclose(tls, fd)
  5988. return libc.UintptrFromInt32(0)
  5989. }
  5990. len1 = (*(*Tstat)(unsafe.Pointer(bp))).Fst_size
  5991. }
  5992. if off > 0 && libc.Xlseek(tls, fd, off, m_SEEK_SET) < 0 {
  5993. libc.Xclose(tls, fd)
  5994. return libc.UintptrFromInt32(0)
  5995. }
  5996. for {
  5997. if libc.Int64FromInt64(1024) < len1 {
  5998. v3 = libc.Int64FromInt64(1024)
  5999. } else {
  6000. v3 = len1
  6001. }
  6002. v2 = libc.Xread(tls, fd, bp+144, libc.Uint64FromInt64(v3))
  6003. nr = v2
  6004. if !(v2 > 0) {
  6005. break
  6006. }
  6007. XMD5Update(tls, bp+1168, bp+144, libc.Uint64FromInt64(nr))
  6008. if v4 = len1 > 0; v4 {
  6009. len1 -= nr
  6010. }
  6011. if v4 && len1 == 0 {
  6012. break
  6013. }
  6014. }
  6015. save_errno = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  6016. libc.Xclose(tls, fd)
  6017. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = save_errno
  6018. if nr < 0 {
  6019. v5 = libc.UintptrFromInt32(0)
  6020. } else {
  6021. v5 = XMD5End(tls, bp+1168, buf)
  6022. }
  6023. return v5
  6024. }
  6025. func XMD5File(tls *libc.TLS, filename uintptr, buf uintptr) (r uintptr) {
  6026. return XMD5FileChunk(tls, filename, buf, libc.Int64FromInt32(0), libc.Int64FromInt32(0))
  6027. }
  6028. func XMD5Data(tls *libc.TLS, data uintptr, len1 Tsize_t, buf uintptr) (r uintptr) {
  6029. bp := tls.Alloc(96)
  6030. defer tls.Free(96)
  6031. var _ /* ctx at bp+0 */ TMD5_CTX
  6032. XMD5Init(tls, bp)
  6033. XMD5Update(tls, bp, data, len1)
  6034. return XMD5End(tls, bp, buf)
  6035. }
  6036. // C documentation
  6037. //
  6038. // /* ARGSUSED */
  6039. func XRMD160End(tls *libc.TLS, ctx uintptr, buf uintptr) (r uintptr) {
  6040. bp := tls.Alloc(32)
  6041. defer tls.Free(32)
  6042. var i int32
  6043. var v1 uintptr
  6044. var v2 bool
  6045. var _ /* digest at bp+0 */ [20]Tuint8_t
  6046. _, _, _ = i, v1, v2
  6047. if v2 = buf == libc.UintptrFromInt32(0); v2 {
  6048. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(libc.Int32FromInt32(m_RMD160_DIGEST_LENGTH)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))
  6049. buf = v1
  6050. }
  6051. if v2 && v1 == libc.UintptrFromInt32(0) {
  6052. return libc.UintptrFromInt32(0)
  6053. }
  6054. XRMD160Final(tls, bp, ctx)
  6055. i = 0
  6056. for {
  6057. if !(i < int32(m_RMD160_DIGEST_LENGTH)) {
  6058. break
  6059. }
  6060. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = _hex3[libc.Int32FromUint8((*(*[20]Tuint8_t)(unsafe.Pointer(bp)))[i])>>int32(4)]
  6061. *(*int8)(unsafe.Pointer(buf + uintptr(i+i+int32(1)))) = _hex3[libc.Int32FromUint8((*(*[20]Tuint8_t)(unsafe.Pointer(bp)))[i])&int32(0x0f)]
  6062. goto _3
  6063. _3:
  6064. ;
  6065. i++
  6066. }
  6067. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = int8('\000')
  6068. libc.X__builtin___memset_chk(tls, bp, 0, uint64(20), ^t__predefined_size_t(0))
  6069. return buf
  6070. }
  6071. var _hex3 = [17]int8{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}
  6072. func XRMD160FileChunk(tls *libc.TLS, filename uintptr, buf uintptr, off Toff_t, len1 Toff_t) (r uintptr) {
  6073. bp := tls.Alloc(1264)
  6074. defer tls.Free(1264)
  6075. var fd, save_errno, v1 int32
  6076. var nr, v2 Tssize_t
  6077. var v3 int64
  6078. var v4 bool
  6079. var v5 uintptr
  6080. var _ /* buffer at bp+144 */ [1024]Tuint8_t
  6081. var _ /* ctx at bp+1168 */ TRMD160_CTX
  6082. var _ /* sb at bp+0 */ Tstat
  6083. _, _, _, _, _, _, _, _ = fd, nr, save_errno, v1, v2, v3, v4, v5
  6084. XRMD160Init(tls, bp+1168)
  6085. v1 = libc.Xopen(tls, filename, m_O_RDONLY, 0)
  6086. fd = v1
  6087. if v1 < 0 {
  6088. return libc.UintptrFromInt32(0)
  6089. }
  6090. if len1 == 0 {
  6091. if libc.Xfstat(tls, fd, bp) == -int32(1) {
  6092. libc.Xclose(tls, fd)
  6093. return libc.UintptrFromInt32(0)
  6094. }
  6095. len1 = (*(*Tstat)(unsafe.Pointer(bp))).Fst_size
  6096. }
  6097. if off > 0 && libc.Xlseek(tls, fd, off, m_SEEK_SET) < 0 {
  6098. libc.Xclose(tls, fd)
  6099. return libc.UintptrFromInt32(0)
  6100. }
  6101. for {
  6102. if libc.Int64FromInt64(1024) < len1 {
  6103. v3 = libc.Int64FromInt64(1024)
  6104. } else {
  6105. v3 = len1
  6106. }
  6107. v2 = libc.Xread(tls, fd, bp+144, libc.Uint64FromInt64(v3))
  6108. nr = v2
  6109. if !(v2 > 0) {
  6110. break
  6111. }
  6112. XRMD160Update(tls, bp+1168, bp+144, libc.Uint64FromInt64(nr))
  6113. if v4 = len1 > 0; v4 {
  6114. len1 -= nr
  6115. }
  6116. if v4 && len1 == 0 {
  6117. break
  6118. }
  6119. }
  6120. save_errno = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  6121. libc.Xclose(tls, fd)
  6122. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = save_errno
  6123. if nr < 0 {
  6124. v5 = libc.UintptrFromInt32(0)
  6125. } else {
  6126. v5 = XRMD160End(tls, bp+1168, buf)
  6127. }
  6128. return v5
  6129. }
  6130. func XRMD160File(tls *libc.TLS, filename uintptr, buf uintptr) (r uintptr) {
  6131. return XRMD160FileChunk(tls, filename, buf, libc.Int64FromInt32(0), libc.Int64FromInt32(0))
  6132. }
  6133. func XRMD160Data(tls *libc.TLS, data uintptr, len1 Tsize_t, buf uintptr) (r uintptr) {
  6134. bp := tls.Alloc(96)
  6135. defer tls.Free(96)
  6136. var _ /* ctx at bp+0 */ TRMD160_CTX
  6137. XRMD160Init(tls, bp)
  6138. XRMD160Update(tls, bp, data, len1)
  6139. return XRMD160End(tls, bp, buf)
  6140. }
  6141. // C documentation
  6142. //
  6143. // /* ARGSUSED */
  6144. func XSHA1End(tls *libc.TLS, ctx uintptr, buf uintptr) (r uintptr) {
  6145. bp := tls.Alloc(32)
  6146. defer tls.Free(32)
  6147. var i int32
  6148. var v1 uintptr
  6149. var v2 bool
  6150. var _ /* digest at bp+0 */ [20]Tuint8_t
  6151. _, _, _ = i, v1, v2
  6152. if v2 = buf == libc.UintptrFromInt32(0); v2 {
  6153. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA1_DIGEST_LENGTH)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))
  6154. buf = v1
  6155. }
  6156. if v2 && v1 == libc.UintptrFromInt32(0) {
  6157. return libc.UintptrFromInt32(0)
  6158. }
  6159. XSHA1Final(tls, bp, ctx)
  6160. i = 0
  6161. for {
  6162. if !(i < int32(m_SHA1_DIGEST_LENGTH)) {
  6163. break
  6164. }
  6165. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = _hex4[libc.Int32FromUint8((*(*[20]Tuint8_t)(unsafe.Pointer(bp)))[i])>>int32(4)]
  6166. *(*int8)(unsafe.Pointer(buf + uintptr(i+i+int32(1)))) = _hex4[libc.Int32FromUint8((*(*[20]Tuint8_t)(unsafe.Pointer(bp)))[i])&int32(0x0f)]
  6167. goto _3
  6168. _3:
  6169. ;
  6170. i++
  6171. }
  6172. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = int8('\000')
  6173. libc.X__builtin___memset_chk(tls, bp, 0, uint64(20), ^t__predefined_size_t(0))
  6174. return buf
  6175. }
  6176. var _hex4 = [17]int8{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}
  6177. func XSHA1FileChunk(tls *libc.TLS, filename uintptr, buf uintptr, off Toff_t, len1 Toff_t) (r uintptr) {
  6178. bp := tls.Alloc(1264)
  6179. defer tls.Free(1264)
  6180. var fd, save_errno, v1 int32
  6181. var nr, v2 Tssize_t
  6182. var v3 int64
  6183. var v4 bool
  6184. var v5 uintptr
  6185. var _ /* buffer at bp+144 */ [1024]Tuint8_t
  6186. var _ /* ctx at bp+1168 */ TSHA1_CTX
  6187. var _ /* sb at bp+0 */ Tstat
  6188. _, _, _, _, _, _, _, _ = fd, nr, save_errno, v1, v2, v3, v4, v5
  6189. XSHA1Init(tls, bp+1168)
  6190. v1 = libc.Xopen(tls, filename, m_O_RDONLY, 0)
  6191. fd = v1
  6192. if v1 < 0 {
  6193. return libc.UintptrFromInt32(0)
  6194. }
  6195. if len1 == 0 {
  6196. if libc.Xfstat(tls, fd, bp) == -int32(1) {
  6197. libc.Xclose(tls, fd)
  6198. return libc.UintptrFromInt32(0)
  6199. }
  6200. len1 = (*(*Tstat)(unsafe.Pointer(bp))).Fst_size
  6201. }
  6202. if off > 0 && libc.Xlseek(tls, fd, off, m_SEEK_SET) < 0 {
  6203. libc.Xclose(tls, fd)
  6204. return libc.UintptrFromInt32(0)
  6205. }
  6206. for {
  6207. if libc.Int64FromInt64(1024) < len1 {
  6208. v3 = libc.Int64FromInt64(1024)
  6209. } else {
  6210. v3 = len1
  6211. }
  6212. v2 = libc.Xread(tls, fd, bp+144, libc.Uint64FromInt64(v3))
  6213. nr = v2
  6214. if !(v2 > 0) {
  6215. break
  6216. }
  6217. XSHA1Update(tls, bp+1168, bp+144, libc.Uint64FromInt64(nr))
  6218. if v4 = len1 > 0; v4 {
  6219. len1 -= nr
  6220. }
  6221. if v4 && len1 == 0 {
  6222. break
  6223. }
  6224. }
  6225. save_errno = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  6226. libc.Xclose(tls, fd)
  6227. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = save_errno
  6228. if nr < 0 {
  6229. v5 = libc.UintptrFromInt32(0)
  6230. } else {
  6231. v5 = XSHA1End(tls, bp+1168, buf)
  6232. }
  6233. return v5
  6234. }
  6235. func XSHA1File(tls *libc.TLS, filename uintptr, buf uintptr) (r uintptr) {
  6236. return XSHA1FileChunk(tls, filename, buf, libc.Int64FromInt32(0), libc.Int64FromInt32(0))
  6237. }
  6238. func XSHA1Data(tls *libc.TLS, data uintptr, len1 Tsize_t, buf uintptr) (r uintptr) {
  6239. bp := tls.Alloc(96)
  6240. defer tls.Free(96)
  6241. var _ /* ctx at bp+0 */ TSHA1_CTX
  6242. XSHA1Init(tls, bp)
  6243. XSHA1Update(tls, bp, data, len1)
  6244. return XSHA1End(tls, bp, buf)
  6245. }
  6246. // C documentation
  6247. //
  6248. // /* ARGSUSED */
  6249. func XSHA224End(tls *libc.TLS, ctx uintptr, buf uintptr) (r uintptr) {
  6250. bp := tls.Alloc(32)
  6251. defer tls.Free(32)
  6252. var i int32
  6253. var v1 uintptr
  6254. var v2 bool
  6255. var _ /* digest at bp+0 */ [28]Tuint8_t
  6256. _, _, _ = i, v1, v2
  6257. if v2 = buf == libc.UintptrFromInt32(0); v2 {
  6258. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA224_DIGEST_LENGTH)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))
  6259. buf = v1
  6260. }
  6261. if v2 && v1 == libc.UintptrFromInt32(0) {
  6262. return libc.UintptrFromInt32(0)
  6263. }
  6264. XSHA224Final(tls, bp, ctx)
  6265. i = 0
  6266. for {
  6267. if !(i < int32(m_SHA224_DIGEST_LENGTH)) {
  6268. break
  6269. }
  6270. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = _hex5[libc.Int32FromUint8((*(*[28]Tuint8_t)(unsafe.Pointer(bp)))[i])>>int32(4)]
  6271. *(*int8)(unsafe.Pointer(buf + uintptr(i+i+int32(1)))) = _hex5[libc.Int32FromUint8((*(*[28]Tuint8_t)(unsafe.Pointer(bp)))[i])&int32(0x0f)]
  6272. goto _3
  6273. _3:
  6274. ;
  6275. i++
  6276. }
  6277. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = int8('\000')
  6278. libc.X__builtin___memset_chk(tls, bp, 0, uint64(28), ^t__predefined_size_t(0))
  6279. return buf
  6280. }
  6281. var _hex5 = [17]int8{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}
  6282. func XSHA224FileChunk(tls *libc.TLS, filename uintptr, buf uintptr, off Toff_t, len1 Toff_t) (r uintptr) {
  6283. bp := tls.Alloc(1376)
  6284. defer tls.Free(1376)
  6285. var fd, save_errno, v1 int32
  6286. var nr, v2 Tssize_t
  6287. var v3 int64
  6288. var v4 bool
  6289. var v5 uintptr
  6290. var _ /* buffer at bp+144 */ [1024]Tuint8_t
  6291. var _ /* ctx at bp+1168 */ TSHA2_CTX
  6292. var _ /* sb at bp+0 */ Tstat
  6293. _, _, _, _, _, _, _, _ = fd, nr, save_errno, v1, v2, v3, v4, v5
  6294. XSHA224Init(tls, bp+1168)
  6295. v1 = libc.Xopen(tls, filename, m_O_RDONLY, 0)
  6296. fd = v1
  6297. if v1 < 0 {
  6298. return libc.UintptrFromInt32(0)
  6299. }
  6300. if len1 == 0 {
  6301. if libc.Xfstat(tls, fd, bp) == -int32(1) {
  6302. libc.Xclose(tls, fd)
  6303. return libc.UintptrFromInt32(0)
  6304. }
  6305. len1 = (*(*Tstat)(unsafe.Pointer(bp))).Fst_size
  6306. }
  6307. if off > 0 && libc.Xlseek(tls, fd, off, m_SEEK_SET) < 0 {
  6308. libc.Xclose(tls, fd)
  6309. return libc.UintptrFromInt32(0)
  6310. }
  6311. for {
  6312. if libc.Int64FromInt64(1024) < len1 {
  6313. v3 = libc.Int64FromInt64(1024)
  6314. } else {
  6315. v3 = len1
  6316. }
  6317. v2 = libc.Xread(tls, fd, bp+144, libc.Uint64FromInt64(v3))
  6318. nr = v2
  6319. if !(v2 > 0) {
  6320. break
  6321. }
  6322. XSHA256Update(tls, bp+1168, bp+144, libc.Uint64FromInt64(nr))
  6323. if v4 = len1 > 0; v4 {
  6324. len1 -= nr
  6325. }
  6326. if v4 && len1 == 0 {
  6327. break
  6328. }
  6329. }
  6330. save_errno = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  6331. libc.Xclose(tls, fd)
  6332. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = save_errno
  6333. if nr < 0 {
  6334. v5 = libc.UintptrFromInt32(0)
  6335. } else {
  6336. v5 = XSHA224End(tls, bp+1168, buf)
  6337. }
  6338. return v5
  6339. }
  6340. func XSHA224File(tls *libc.TLS, filename uintptr, buf uintptr) (r uintptr) {
  6341. return XSHA224FileChunk(tls, filename, buf, libc.Int64FromInt32(0), libc.Int64FromInt32(0))
  6342. }
  6343. func XSHA224Data(tls *libc.TLS, data uintptr, len1 Tsize_t, buf uintptr) (r uintptr) {
  6344. bp := tls.Alloc(208)
  6345. defer tls.Free(208)
  6346. var _ /* ctx at bp+0 */ TSHA2_CTX
  6347. XSHA224Init(tls, bp)
  6348. XSHA256Update(tls, bp, data, len1)
  6349. return XSHA224End(tls, bp, buf)
  6350. }
  6351. // C documentation
  6352. //
  6353. // /* ARGSUSED */
  6354. func XSHA256End(tls *libc.TLS, ctx uintptr, buf uintptr) (r uintptr) {
  6355. bp := tls.Alloc(32)
  6356. defer tls.Free(32)
  6357. var i int32
  6358. var v1 uintptr
  6359. var v2 bool
  6360. var _ /* digest at bp+0 */ [32]Tuint8_t
  6361. _, _, _ = i, v1, v2
  6362. if v2 = buf == libc.UintptrFromInt32(0); v2 {
  6363. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA256_DIGEST_LENGTH)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))
  6364. buf = v1
  6365. }
  6366. if v2 && v1 == libc.UintptrFromInt32(0) {
  6367. return libc.UintptrFromInt32(0)
  6368. }
  6369. XSHA256Final(tls, bp, ctx)
  6370. i = 0
  6371. for {
  6372. if !(i < int32(m_SHA256_DIGEST_LENGTH)) {
  6373. break
  6374. }
  6375. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = _hex6[libc.Int32FromUint8((*(*[32]Tuint8_t)(unsafe.Pointer(bp)))[i])>>int32(4)]
  6376. *(*int8)(unsafe.Pointer(buf + uintptr(i+i+int32(1)))) = _hex6[libc.Int32FromUint8((*(*[32]Tuint8_t)(unsafe.Pointer(bp)))[i])&int32(0x0f)]
  6377. goto _3
  6378. _3:
  6379. ;
  6380. i++
  6381. }
  6382. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = int8('\000')
  6383. libc.X__builtin___memset_chk(tls, bp, 0, uint64(32), ^t__predefined_size_t(0))
  6384. return buf
  6385. }
  6386. var _hex6 = [17]int8{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}
  6387. func XSHA256FileChunk(tls *libc.TLS, filename uintptr, buf uintptr, off Toff_t, len1 Toff_t) (r uintptr) {
  6388. bp := tls.Alloc(1376)
  6389. defer tls.Free(1376)
  6390. var fd, save_errno, v1 int32
  6391. var nr, v2 Tssize_t
  6392. var v3 int64
  6393. var v4 bool
  6394. var v5 uintptr
  6395. var _ /* buffer at bp+144 */ [1024]Tuint8_t
  6396. var _ /* ctx at bp+1168 */ TSHA2_CTX
  6397. var _ /* sb at bp+0 */ Tstat
  6398. _, _, _, _, _, _, _, _ = fd, nr, save_errno, v1, v2, v3, v4, v5
  6399. XSHA256Init(tls, bp+1168)
  6400. v1 = libc.Xopen(tls, filename, m_O_RDONLY, 0)
  6401. fd = v1
  6402. if v1 < 0 {
  6403. return libc.UintptrFromInt32(0)
  6404. }
  6405. if len1 == 0 {
  6406. if libc.Xfstat(tls, fd, bp) == -int32(1) {
  6407. libc.Xclose(tls, fd)
  6408. return libc.UintptrFromInt32(0)
  6409. }
  6410. len1 = (*(*Tstat)(unsafe.Pointer(bp))).Fst_size
  6411. }
  6412. if off > 0 && libc.Xlseek(tls, fd, off, m_SEEK_SET) < 0 {
  6413. libc.Xclose(tls, fd)
  6414. return libc.UintptrFromInt32(0)
  6415. }
  6416. for {
  6417. if libc.Int64FromInt64(1024) < len1 {
  6418. v3 = libc.Int64FromInt64(1024)
  6419. } else {
  6420. v3 = len1
  6421. }
  6422. v2 = libc.Xread(tls, fd, bp+144, libc.Uint64FromInt64(v3))
  6423. nr = v2
  6424. if !(v2 > 0) {
  6425. break
  6426. }
  6427. XSHA256Update(tls, bp+1168, bp+144, libc.Uint64FromInt64(nr))
  6428. if v4 = len1 > 0; v4 {
  6429. len1 -= nr
  6430. }
  6431. if v4 && len1 == 0 {
  6432. break
  6433. }
  6434. }
  6435. save_errno = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  6436. libc.Xclose(tls, fd)
  6437. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = save_errno
  6438. if nr < 0 {
  6439. v5 = libc.UintptrFromInt32(0)
  6440. } else {
  6441. v5 = XSHA256End(tls, bp+1168, buf)
  6442. }
  6443. return v5
  6444. }
  6445. func XSHA256File(tls *libc.TLS, filename uintptr, buf uintptr) (r uintptr) {
  6446. return XSHA256FileChunk(tls, filename, buf, libc.Int64FromInt32(0), libc.Int64FromInt32(0))
  6447. }
  6448. func XSHA256Data(tls *libc.TLS, data uintptr, len1 Tsize_t, buf uintptr) (r uintptr) {
  6449. bp := tls.Alloc(208)
  6450. defer tls.Free(208)
  6451. var _ /* ctx at bp+0 */ TSHA2_CTX
  6452. XSHA256Init(tls, bp)
  6453. XSHA256Update(tls, bp, data, len1)
  6454. return XSHA256End(tls, bp, buf)
  6455. }
  6456. // C documentation
  6457. //
  6458. // /* ARGSUSED */
  6459. func XSHA384End(tls *libc.TLS, ctx uintptr, buf uintptr) (r uintptr) {
  6460. bp := tls.Alloc(48)
  6461. defer tls.Free(48)
  6462. var i int32
  6463. var v1 uintptr
  6464. var v2 bool
  6465. var _ /* digest at bp+0 */ [48]Tuint8_t
  6466. _, _, _ = i, v1, v2
  6467. if v2 = buf == libc.UintptrFromInt32(0); v2 {
  6468. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA384_DIGEST_LENGTH)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))
  6469. buf = v1
  6470. }
  6471. if v2 && v1 == libc.UintptrFromInt32(0) {
  6472. return libc.UintptrFromInt32(0)
  6473. }
  6474. XSHA384Final(tls, bp, ctx)
  6475. i = 0
  6476. for {
  6477. if !(i < int32(m_SHA384_DIGEST_LENGTH)) {
  6478. break
  6479. }
  6480. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = _hex7[libc.Int32FromUint8((*(*[48]Tuint8_t)(unsafe.Pointer(bp)))[i])>>int32(4)]
  6481. *(*int8)(unsafe.Pointer(buf + uintptr(i+i+int32(1)))) = _hex7[libc.Int32FromUint8((*(*[48]Tuint8_t)(unsafe.Pointer(bp)))[i])&int32(0x0f)]
  6482. goto _3
  6483. _3:
  6484. ;
  6485. i++
  6486. }
  6487. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = int8('\000')
  6488. libc.X__builtin___memset_chk(tls, bp, 0, uint64(48), ^t__predefined_size_t(0))
  6489. return buf
  6490. }
  6491. var _hex7 = [17]int8{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}
  6492. func XSHA384FileChunk(tls *libc.TLS, filename uintptr, buf uintptr, off Toff_t, len1 Toff_t) (r uintptr) {
  6493. bp := tls.Alloc(1376)
  6494. defer tls.Free(1376)
  6495. var fd, save_errno, v1 int32
  6496. var nr, v2 Tssize_t
  6497. var v3 int64
  6498. var v4 bool
  6499. var v5 uintptr
  6500. var _ /* buffer at bp+144 */ [1024]Tuint8_t
  6501. var _ /* ctx at bp+1168 */ TSHA2_CTX
  6502. var _ /* sb at bp+0 */ Tstat
  6503. _, _, _, _, _, _, _, _ = fd, nr, save_errno, v1, v2, v3, v4, v5
  6504. XSHA384Init(tls, bp+1168)
  6505. v1 = libc.Xopen(tls, filename, m_O_RDONLY, 0)
  6506. fd = v1
  6507. if v1 < 0 {
  6508. return libc.UintptrFromInt32(0)
  6509. }
  6510. if len1 == 0 {
  6511. if libc.Xfstat(tls, fd, bp) == -int32(1) {
  6512. libc.Xclose(tls, fd)
  6513. return libc.UintptrFromInt32(0)
  6514. }
  6515. len1 = (*(*Tstat)(unsafe.Pointer(bp))).Fst_size
  6516. }
  6517. if off > 0 && libc.Xlseek(tls, fd, off, m_SEEK_SET) < 0 {
  6518. libc.Xclose(tls, fd)
  6519. return libc.UintptrFromInt32(0)
  6520. }
  6521. for {
  6522. if libc.Int64FromInt64(1024) < len1 {
  6523. v3 = libc.Int64FromInt64(1024)
  6524. } else {
  6525. v3 = len1
  6526. }
  6527. v2 = libc.Xread(tls, fd, bp+144, libc.Uint64FromInt64(v3))
  6528. nr = v2
  6529. if !(v2 > 0) {
  6530. break
  6531. }
  6532. XSHA512Update(tls, bp+1168, bp+144, libc.Uint64FromInt64(nr))
  6533. if v4 = len1 > 0; v4 {
  6534. len1 -= nr
  6535. }
  6536. if v4 && len1 == 0 {
  6537. break
  6538. }
  6539. }
  6540. save_errno = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  6541. libc.Xclose(tls, fd)
  6542. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = save_errno
  6543. if nr < 0 {
  6544. v5 = libc.UintptrFromInt32(0)
  6545. } else {
  6546. v5 = XSHA384End(tls, bp+1168, buf)
  6547. }
  6548. return v5
  6549. }
  6550. func XSHA384File(tls *libc.TLS, filename uintptr, buf uintptr) (r uintptr) {
  6551. return XSHA384FileChunk(tls, filename, buf, libc.Int64FromInt32(0), libc.Int64FromInt32(0))
  6552. }
  6553. func XSHA384Data(tls *libc.TLS, data uintptr, len1 Tsize_t, buf uintptr) (r uintptr) {
  6554. bp := tls.Alloc(208)
  6555. defer tls.Free(208)
  6556. var _ /* ctx at bp+0 */ TSHA2_CTX
  6557. XSHA384Init(tls, bp)
  6558. XSHA512Update(tls, bp, data, len1)
  6559. return XSHA384End(tls, bp, buf)
  6560. }
  6561. // C documentation
  6562. //
  6563. // /* ARGSUSED */
  6564. func XSHA512End(tls *libc.TLS, ctx uintptr, buf uintptr) (r uintptr) {
  6565. bp := tls.Alloc(64)
  6566. defer tls.Free(64)
  6567. var i int32
  6568. var v1 uintptr
  6569. var v2 bool
  6570. var _ /* digest at bp+0 */ [64]Tuint8_t
  6571. _, _, _ = i, v1, v2
  6572. if v2 = buf == libc.UintptrFromInt32(0); v2 {
  6573. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA512_DIGEST_LENGTH)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))
  6574. buf = v1
  6575. }
  6576. if v2 && v1 == libc.UintptrFromInt32(0) {
  6577. return libc.UintptrFromInt32(0)
  6578. }
  6579. XSHA512Final(tls, bp, ctx)
  6580. i = 0
  6581. for {
  6582. if !(i < int32(m_SHA512_DIGEST_LENGTH)) {
  6583. break
  6584. }
  6585. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = _hex8[libc.Int32FromUint8((*(*[64]Tuint8_t)(unsafe.Pointer(bp)))[i])>>int32(4)]
  6586. *(*int8)(unsafe.Pointer(buf + uintptr(i+i+int32(1)))) = _hex8[libc.Int32FromUint8((*(*[64]Tuint8_t)(unsafe.Pointer(bp)))[i])&int32(0x0f)]
  6587. goto _3
  6588. _3:
  6589. ;
  6590. i++
  6591. }
  6592. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = int8('\000')
  6593. libc.X__builtin___memset_chk(tls, bp, 0, uint64(64), ^t__predefined_size_t(0))
  6594. return buf
  6595. }
  6596. var _hex8 = [17]int8{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}
  6597. func XSHA512FileChunk(tls *libc.TLS, filename uintptr, buf uintptr, off Toff_t, len1 Toff_t) (r uintptr) {
  6598. bp := tls.Alloc(1376)
  6599. defer tls.Free(1376)
  6600. var fd, save_errno, v1 int32
  6601. var nr, v2 Tssize_t
  6602. var v3 int64
  6603. var v4 bool
  6604. var v5 uintptr
  6605. var _ /* buffer at bp+144 */ [1024]Tuint8_t
  6606. var _ /* ctx at bp+1168 */ TSHA2_CTX
  6607. var _ /* sb at bp+0 */ Tstat
  6608. _, _, _, _, _, _, _, _ = fd, nr, save_errno, v1, v2, v3, v4, v5
  6609. XSHA512Init(tls, bp+1168)
  6610. v1 = libc.Xopen(tls, filename, m_O_RDONLY, 0)
  6611. fd = v1
  6612. if v1 < 0 {
  6613. return libc.UintptrFromInt32(0)
  6614. }
  6615. if len1 == 0 {
  6616. if libc.Xfstat(tls, fd, bp) == -int32(1) {
  6617. libc.Xclose(tls, fd)
  6618. return libc.UintptrFromInt32(0)
  6619. }
  6620. len1 = (*(*Tstat)(unsafe.Pointer(bp))).Fst_size
  6621. }
  6622. if off > 0 && libc.Xlseek(tls, fd, off, m_SEEK_SET) < 0 {
  6623. libc.Xclose(tls, fd)
  6624. return libc.UintptrFromInt32(0)
  6625. }
  6626. for {
  6627. if libc.Int64FromInt64(1024) < len1 {
  6628. v3 = libc.Int64FromInt64(1024)
  6629. } else {
  6630. v3 = len1
  6631. }
  6632. v2 = libc.Xread(tls, fd, bp+144, libc.Uint64FromInt64(v3))
  6633. nr = v2
  6634. if !(v2 > 0) {
  6635. break
  6636. }
  6637. XSHA512Update(tls, bp+1168, bp+144, libc.Uint64FromInt64(nr))
  6638. if v4 = len1 > 0; v4 {
  6639. len1 -= nr
  6640. }
  6641. if v4 && len1 == 0 {
  6642. break
  6643. }
  6644. }
  6645. save_errno = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  6646. libc.Xclose(tls, fd)
  6647. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = save_errno
  6648. if nr < 0 {
  6649. v5 = libc.UintptrFromInt32(0)
  6650. } else {
  6651. v5 = XSHA512End(tls, bp+1168, buf)
  6652. }
  6653. return v5
  6654. }
  6655. func XSHA512File(tls *libc.TLS, filename uintptr, buf uintptr) (r uintptr) {
  6656. return XSHA512FileChunk(tls, filename, buf, libc.Int64FromInt32(0), libc.Int64FromInt32(0))
  6657. }
  6658. func XSHA512Data(tls *libc.TLS, data uintptr, len1 Tsize_t, buf uintptr) (r uintptr) {
  6659. bp := tls.Alloc(208)
  6660. defer tls.Free(208)
  6661. var _ /* ctx at bp+0 */ TSHA2_CTX
  6662. XSHA512Init(tls, bp)
  6663. XSHA512Update(tls, bp, data, len1)
  6664. return XSHA512End(tls, bp, buf)
  6665. }
  6666. // C documentation
  6667. //
  6668. // /* ARGSUSED */
  6669. func XSHA512_256End(tls *libc.TLS, ctx uintptr, buf uintptr) (r uintptr) {
  6670. bp := tls.Alloc(32)
  6671. defer tls.Free(32)
  6672. var i int32
  6673. var v1 uintptr
  6674. var v2 bool
  6675. var _ /* digest at bp+0 */ [32]Tuint8_t
  6676. _, _, _ = i, v1, v2
  6677. if v2 = buf == libc.UintptrFromInt32(0); v2 {
  6678. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(libc.Int32FromInt32(m_SHA512_256_DIGEST_LENGTH)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))
  6679. buf = v1
  6680. }
  6681. if v2 && v1 == libc.UintptrFromInt32(0) {
  6682. return libc.UintptrFromInt32(0)
  6683. }
  6684. XSHA512_256Final(tls, bp, ctx)
  6685. i = 0
  6686. for {
  6687. if !(i < int32(m_SHA512_256_DIGEST_LENGTH)) {
  6688. break
  6689. }
  6690. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = _hex9[libc.Int32FromUint8((*(*[32]Tuint8_t)(unsafe.Pointer(bp)))[i])>>int32(4)]
  6691. *(*int8)(unsafe.Pointer(buf + uintptr(i+i+int32(1)))) = _hex9[libc.Int32FromUint8((*(*[32]Tuint8_t)(unsafe.Pointer(bp)))[i])&int32(0x0f)]
  6692. goto _3
  6693. _3:
  6694. ;
  6695. i++
  6696. }
  6697. *(*int8)(unsafe.Pointer(buf + uintptr(i+i))) = int8('\000')
  6698. libc.X__builtin___memset_chk(tls, bp, 0, uint64(32), ^t__predefined_size_t(0))
  6699. return buf
  6700. }
  6701. var _hex9 = [17]int8{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}
  6702. func XSHA512_256FileChunk(tls *libc.TLS, filename uintptr, buf uintptr, off Toff_t, len1 Toff_t) (r uintptr) {
  6703. bp := tls.Alloc(1376)
  6704. defer tls.Free(1376)
  6705. var fd, save_errno, v1 int32
  6706. var nr, v2 Tssize_t
  6707. var v3 int64
  6708. var v4 bool
  6709. var v5 uintptr
  6710. var _ /* buffer at bp+144 */ [1024]Tuint8_t
  6711. var _ /* ctx at bp+1168 */ TSHA2_CTX
  6712. var _ /* sb at bp+0 */ Tstat
  6713. _, _, _, _, _, _, _, _ = fd, nr, save_errno, v1, v2, v3, v4, v5
  6714. XSHA512_256Init(tls, bp+1168)
  6715. v1 = libc.Xopen(tls, filename, m_O_RDONLY, 0)
  6716. fd = v1
  6717. if v1 < 0 {
  6718. return libc.UintptrFromInt32(0)
  6719. }
  6720. if len1 == 0 {
  6721. if libc.Xfstat(tls, fd, bp) == -int32(1) {
  6722. libc.Xclose(tls, fd)
  6723. return libc.UintptrFromInt32(0)
  6724. }
  6725. len1 = (*(*Tstat)(unsafe.Pointer(bp))).Fst_size
  6726. }
  6727. if off > 0 && libc.Xlseek(tls, fd, off, m_SEEK_SET) < 0 {
  6728. libc.Xclose(tls, fd)
  6729. return libc.UintptrFromInt32(0)
  6730. }
  6731. for {
  6732. if libc.Int64FromInt64(1024) < len1 {
  6733. v3 = libc.Int64FromInt64(1024)
  6734. } else {
  6735. v3 = len1
  6736. }
  6737. v2 = libc.Xread(tls, fd, bp+144, libc.Uint64FromInt64(v3))
  6738. nr = v2
  6739. if !(v2 > 0) {
  6740. break
  6741. }
  6742. XSHA512Update(tls, bp+1168, bp+144, libc.Uint64FromInt64(nr))
  6743. if v4 = len1 > 0; v4 {
  6744. len1 -= nr
  6745. }
  6746. if v4 && len1 == 0 {
  6747. break
  6748. }
  6749. }
  6750. save_errno = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  6751. libc.Xclose(tls, fd)
  6752. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = save_errno
  6753. if nr < 0 {
  6754. v5 = libc.UintptrFromInt32(0)
  6755. } else {
  6756. v5 = XSHA512_256End(tls, bp+1168, buf)
  6757. }
  6758. return v5
  6759. }
  6760. func XSHA512_256File(tls *libc.TLS, filename uintptr, buf uintptr) (r uintptr) {
  6761. return XSHA512_256FileChunk(tls, filename, buf, libc.Int64FromInt32(0), libc.Int64FromInt32(0))
  6762. }
  6763. func XSHA512_256Data(tls *libc.TLS, data uintptr, len1 Tsize_t, buf uintptr) (r uintptr) {
  6764. bp := tls.Alloc(208)
  6765. defer tls.Free(208)
  6766. var _ /* ctx at bp+0 */ TSHA2_CTX
  6767. XSHA512_256Init(tls, bp)
  6768. XSHA512Update(tls, bp, data, len1)
  6769. return XSHA512_256End(tls, bp, buf)
  6770. }
  6771. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  6772. var __ccgo_ts1 = "\x00\x01\x00\x02\x02\x00\x03\x03\x03\x00\x04\x04\x04\x04\x00\x05\x05\x05\x05\x05\x00\x06\x06\x06\x06\x06\x06\x00\a\a\a\a\a\a\a\x00\b\b\b\b\b\b\b\b\x00\t\t\t\t\t\t\t\t\t\x00\n\n\n\n\n\n\n\n\n\n\x00\v\v\v\v\v\v\v\v\v\v\v\x00\f\f\f\f\f\f\f\f\f\f\f\f\x00\r\r\r\r\r\r\r\r\r\r\r\r\r\x00\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x00\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x00\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x00\x80\x00\x00\x00"